色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

從零手寫YOLO檢測頭:網(wǎng)格預(yù)測、標簽分配與損失收斂實戰(zhàn)

從零手寫YOLO檢測頭:網(wǎng)格預(yù)測、標簽分配與損失收斂實戰(zhàn) 1. 為什么我選擇從零手寫一遍YOLO檢測頭先說結(jié)論如果你已經(jīng)能熟練調(diào)用現(xiàn)成的檢測框架跑通推理卻說不清一張 640×640 的圖進去之后為什么輸出是 8400 個候選框、為什么正樣本只有寥寥幾個、為什么 loss 里有一項幾乎不下降——那這篇內(nèi)容就是寫給你的。我打算把一次完整的實驗過程攤開講用 PyTorch 把一個 YOLO 風(fēng)格的單階段目標檢測模型從數(shù)據(jù)管道、骨干網(wǎng)絡(luò)、檢測頭、標簽分配、損失函數(shù)一路搭到訓(xùn)練收斂和推理可視化。這里說的“YOLO”不是指某個具體版本的官方實現(xiàn)而是指單階段、Anchor-based、輸出為網(wǎng)格化預(yù)測張量這一整類檢測范式的核心骨架。選它做實驗的理由很實在相比兩階段方法它沒有區(qū)域建議網(wǎng)絡(luò)那一層整條鏈路是端到端可微的任何一個環(huán)節(jié)寫錯都會立刻體現(xiàn)在 loss 曲線上調(diào)試反饋非常直接相比純分類任務(wù)它又多出了坐標回歸、正負樣本分配、NMS 后處理這幾塊真正的“工程難點”正好是檢驗自己是否真的理解檢測模型的分水嶺。適合誰看有 PyTorch 基礎(chǔ)、寫過 Dataset 和訓(xùn)練循環(huán)、能看懂卷積和矩陣運算但對“檢測模型到底怎么訓(xùn)起來”還停留在調(diào)包階段的同學(xué)。全文的代碼都是可運行的片段級實現(xiàn)我刻意避開了過度封裝參數(shù)含義全部寫進注釋你可以直接抄進自己的實驗倉庫。至于我為什么堅持手寫而不是直接改開源倉庫——因為改別人的代碼時你永遠在猜作者為什么這么寫自己寫一遍錯一次就永遠記住了。2. 先想清楚輸入輸出約定再動手寫第一行代碼動手搭網(wǎng)絡(luò)之前我強制自己先在紙上寫清楚三件事輸入張量的形狀、輸出張量的形狀、以及兩者之間的語義映射。這一步偷懶后面 80% 的 bug 都源于此。很多人一上來就抄 backbone結(jié)果訓(xùn)了兩天發(fā)現(xiàn) loss 不降回頭一查是 anchor 順序和輸出通道的排布對不上。這種錯誤不會報異常只會安靜地浪費你的時間。2.1 網(wǎng)格化預(yù)測張量的形狀為什么是 S×S×(B×(5C))先定義清楚符號。把輸入圖像統(tǒng)一縮放到 640×640網(wǎng)絡(luò)以 32 倍下采樣輸出特征圖于是得到 20×20 的網(wǎng)格。每個網(wǎng)格單元負責(zé)預(yù)測 B 個邊界框每個框帶 5 個量中心點相對網(wǎng)格的偏移 x、y寬高 w、h以及一個 objectness 置信度。再加 C 個類別的條件概率通道數(shù)就是 B×(5C)。以單尺度、B3、C80 的配置為例輸出張量形狀是 1×20×20×3×85。但我更推薦把三個尺度拼起來看stride 8 得到 80×80stride 16 得到 40×40stride 32 得到 20×20把它們?nèi)空蛊讲淳W(wǎng)格順序拼接總數(shù)是 80×80×3 40×40×3 20×20×3 19200 4800 1200 25200 個預(yù)測。這個數(shù)字很重要它就是你后面標簽分配時要處理的候選總量也是你評估顯存占用的依據(jù)。補充說明一個容易混淆的點不同實現(xiàn)里“(5C)”和“(C5)”的排布順序不一樣有的是[x, y, w, h, obj, cls...]有的是[obj, cls..., x, y, w, h]。這純粹是工程約定但一旦定了就必須全鏈路統(tǒng)一從標簽編碼、損失計算到解碼推理任何一處反了都會導(dǎo)致模型學(xué)到一個完全錯位的映射。我的習(xí)慣是把它寫成常量并只在一處引用# 每個 anchor 的預(yù)測向量長度4 個坐標 1 個 objectness C 個類別 NUM_CLASSES 80 NOOBJ 4 1 NUM_CLASSES # 85 # 通道索引約定全局唯一定義禁止在別處硬編碼數(shù)字 IDX_XYWH slice(0, 4) IDX_OBJ 4 IDX_CLS slice(5, 5 NUM_CLASSES)這套 slice 常量看起來啰嗦但我在排查一次“類別分數(shù)全部趨同”的問題時就是靠全局替換 slice 才確認不是索引錯位導(dǎo)致的省了至少半天。2.2 坐標為什么要預(yù)測偏移量而不是絕對值這是我在第一次實驗里踩得最深的坑。如果直接讓網(wǎng)絡(luò)回歸框中心的絕對像素坐標訓(xùn)到中期 loss 會卡在一個較高的平臺反復(fù)震蕩。原因是絕對坐標的取值范圍是 0~640而卷積輸出的數(shù)值分布天然集中在較小的區(qū)間網(wǎng)絡(luò)為了輸出大數(shù)值必須把權(quán)重推到很大的量級梯度尺度失衡。正解是讓網(wǎng)絡(luò)只預(yù)測相對網(wǎng)格左上角的偏移量并用 sigmoid 壓到 0~1解碼時再加回網(wǎng)格坐標寬高則預(yù)測相對于 anchor 尺度的對數(shù)縮放比。這樣每個輸出單元的回歸目標都落在 0~1 或接近 0 的小范圍內(nèi)數(shù)值穩(wěn)定得多。解碼公式我固定成下面這樣寫在decode函數(shù)里訓(xùn)練和推理共用同一份def decode(pred, anchors, stride, grid_size): # pred: [B, A, H, W, 5C]A 為該尺度 anchor 數(shù) device pred.device gy, gx torch.meshgrid( torch.arange(grid_size, devicedevice), torch.arange(grid_size, devicedevice), indexingij) grid torch.stack((gx, gy), dim-1).float() # [H, W, 2] xy (torch.sigmoid(pred[..., 0:2]) grid) * stride # 解碼到輸入尺度 wh torch.exp(pred[..., 2:4]) * anchors.view(1, -1, 1, 1, 2) obj torch.sigmoid(pred[..., 4:5]) cls torch.sigmoid(pred[..., 5:]) return torch.cat([xy, wh, obj, cls], dim-1)注意meshgrid的indexing參數(shù)必須顯式寫成ij否則在較新版本的 PyTorch 里會產(chǎn)生警告而且在寬高不相等的特征圖上會靜默給出轉(zhuǎn)置后的網(wǎng)格坐標全錯卻不會報錯。我因為這個排查過一整晚。寬高用exp而不是 sigmoid是因為尺度縮放比理論上無上界用指數(shù)映射可以覆蓋任意大小目標同時讓梯度形式保持簡潔。3. 數(shù)據(jù)管道比模型更容易出錯的地方我現(xiàn)在的經(jīng)驗是檢測任務(wù)的調(diào)試時間大概七成花在數(shù)據(jù)和標簽上。模型結(jié)構(gòu)寫錯了頂多 shape 報錯數(shù)據(jù)寫錯了是“能跑、loss 也降、但 mAP 上不去”最難定位。所以這一節(jié)我把數(shù)據(jù)管道拆得細一些。3.1 圖像與框的同步增強最容易寫錯的是翻轉(zhuǎn)后的 x 坐標檢測的增強和分類最大的區(qū)別所有幾何變換必須同時作用于圖像和標注框而且框的表示形式在變換前后要來回轉(zhuǎn)換。我采用內(nèi)部統(tǒng)一的中間格式(cx, cy, w, h)歸一化到 0~1因為縮放、翻轉(zhuǎn)在這個格式下計算最簡潔只在最終編碼時才轉(zhuǎn)成像素單位。水平翻轉(zhuǎn)的坑在于框中心 x 變換后應(yīng)該是1 - cx但寬不變。而如果你順手把 x1、x2 也做了1 - x再重排結(jié)果雖然等價代碼里卻很容易忘記重排導(dǎo)致 x1 x2。我的做法是統(tǒng)一走中心點格式翻轉(zhuǎn)只改一個數(shù)def hflip(img, boxes): img img[:, ::-1, :].copy() boxes boxes.copy() boxes[:, 0] 1.0 - boxes[:, 0] # 只改中心 x寬高不變 return img, boxes另外隨機縮放和隨機裁剪之后那些面積被裁掉大半的框必須過濾。我用的閾值是保留可見面積占原面積 30% 以上、且裁剪后寬高都不小于 4 像素的框。閾值不是玄學(xué)是基于實測低于這個比例的目標在特征圖上已經(jīng)不足一個感受野的中心區(qū)域強行保留只會給回歸分支注入噪聲標簽。3.2 一個 batch 內(nèi)如何組織多尺度標簽多尺度輸出意味著標簽也要按尺度分別準備。我的Dataset.__getitem__返回的是原始圖像張量和未編碼的歸一化框 類別編碼放到collate_fn里批量做理由是編碼過程依賴 anchor 配置而這些配置是全局的放在 batch 級別做可以順便完成 padding 對齊。collate 階段的處理順序我固定為取 batch 內(nèi)最大寬高做 letterbox 填充保持長寬比灰色 114 填充記錄每張圖的縮放比和填充偏移然后按三個尺度分別計算每個 GT 落在哪個網(wǎng)格、與哪幾個 anchor 的 IoU 超過閾值。這里的 DOIIoU 閾值我設(shè)成 0.5 起步但對小目標尺度放寬到 0.4因為小目標匹配到的 anchor 天然 IoU 偏低卡太死會導(dǎo)致正樣本極度稀疏。下面這個表格是我實測的 anchor 配置針對自建數(shù)據(jù)集以行人和車輛為主調(diào)過兩輪供參考輸出尺度stride特征圖anchor 尺寸像素適用目標小880×80(12,16), (19,24), (28,36)小于 32px 的目標中1640×40(38,52), (56,76), (82,110)32~96px 的目標大3220×20(116,150), (160,210), (240,320)大于 96px 的目標anchor 不是隨便給的我的做法是先對自己的訓(xùn)練集跑一遍 K-means距離用 1-IoU把聚類中心按面積排序后三等分再微調(diào)讓相鄰尺度的比例接近 2 倍。直接用公開數(shù)據(jù)集的默認 anchor 到自己數(shù)據(jù)上召回率通常會掉幾個點。4. 骨干網(wǎng)絡(luò)與頸部結(jié)構(gòu)的選擇邏輯結(jié)構(gòu)選型這件事我的判斷標準只有一個在目標硬件的推理預(yù)算內(nèi)保證足夠的下采樣倍數(shù)和足夠的跨尺度融合能力。檢測需要大感受野來定位大目標也需要高分辨率特征圖來定位小目標這兩者靠單一尺度無法同時滿足所以多尺度輸出是必需項不是可選優(yōu)化。4.1 從 Darknet 風(fēng)格殘差塊講起的最小可用骨干我不建議一開始就上很復(fù)雜的結(jié)構(gòu)。實驗初期我的骨干只用了“卷積 殘差塊堆疊”的最小組合每個 stage 由一個 stride2 的下采樣卷積開頭后接 N 個殘差單元通道數(shù)按 32→64→128→256→512 遞增。這套結(jié)構(gòu)的好處是每一層的形狀都能手算出來出問題一眼能定位。殘差塊內(nèi)部我用 1×1 降維 3×3 提特征的瓶頸結(jié)構(gòu)并在 3×3 卷積后接 BatchNorm 和 LeakyReLU負斜率 0.1。選 LeakyReLU 而不是 ReLU 的原因很實際檢測任務(wù)里大量回歸目標的梯度在負半軸也有貢獻ReLU 在負區(qū)直接截斷會讓回歸收斂變慢。這個差異我在對比實驗中觀察到過換成 ReLU 后坐標 loss 的下降速度明顯滯后。class Bottleneck(nn.Module): def __init__(self, cin, cout): super().__init__() cmid cout // 2 self.conv1 nn.Conv2d(cin, cmid, 1, biasFalse) self.bn1 nn.BatchNorm2d(cmid) self.conv2 nn.Conv2d(cmid, cout, 3, padding1, biasFalse) self.bn2 nn.BatchNorm2d(cout) self.act nn.LeakyReLU(0.1, inplaceTrue) self.short (nn.Identity() if cin cout else nn.Conv2d(cin, cout, 1, biasFalse)) def forward(self, x): y self.act(self.bn1(self.conv1(x))) y self.bn2(self.conv2(y)) return self.act(y self.short(x))顯存方面提醒一句訓(xùn)練時把torch.backends.cudnn.benchmark打開輸入尺寸固定的話能白撿一成左右的速度但如果你的 dataloader 會輸出不同尺寸的圖比如沒做統(tǒng)一 letterbox這個開關(guān)反而會導(dǎo)致反復(fù)重選算法速度更慢。4.2 頸部融合上采樣加拼接而不是直接相加三個尺度的特征要互相“看見”彼此的信息否則小尺度分支缺語義、大尺度分支缺細節(jié)。我采用的路徑是自頂向下從 stride 32 的特征圖開始1×1 卷積把通道壓到統(tǒng)一值我設(shè) 256然后雙線性上采樣 2 倍與 stride 16 的同通道特征沿通道維拼接再過一組 3×3 卷積融合重復(fù)一次到 stride 8。用拼接而不是相加是因為拼接保留了不同來源特征的獨立性讓后續(xù) 1×1 卷積自己去學(xué)如何加權(quán)相加則強制假設(shè)兩路特征語義對齊這個假設(shè)在淺層往往不成立。代價是通道數(shù)翻倍帶來的顯存開銷所以我在拼接后緊跟一個 1×1 卷積把通道壓回去實測能省下約 15% 的顯存而不掉精度。提示上采樣我用F.interpolate(..., modenearest)而不是轉(zhuǎn)置卷積。轉(zhuǎn)置卷積容易在特征圖上產(chǎn)生棋盤格偽影對小目標的定位有肉眼可見的負面影響而且參數(shù)更多。最近鄰插值雖然“粗糙”但在檢測任務(wù)里配合后續(xù) 3×3 卷積完全夠用。5. 檢測頭、標簽分配與損失函數(shù)整個實驗的核心我把這一節(jié)放在最中間因為這里是 YOLO 類模型真正區(qū)別于普通回歸網(wǎng)絡(luò)的地方。頭部結(jié)構(gòu)本身很簡單幾個卷積難的是如何決定哪個預(yù)測該對哪個 GT 負責(zé)以及如何為不同質(zhì)量的預(yù)測賦不同權(quán)重。5.1 檢測頭的三種輸出分支與解耦設(shè)計每個尺度上我接一個檢測頭結(jié)構(gòu)是先 3×3 卷積把頸部輸出壓到中間通道我取 256然后分出三個并行的 1×1 卷積分支分別輸出坐標4 通道、objectness1 通道、類別C 通道。這就是所謂的解耦頭。為什么要解耦因為分類需要的是語義不變性同一個物體平移、縮放后類別不變回歸需要的是位置敏感性。讓同一組卷積核同時服務(wù)這兩個目標存在內(nèi)在沖突。我在實驗中做過對照耦合頭訓(xùn)到第 30 輪時類別 loss 和坐標 loss 會互相拉扯表現(xiàn)為其中一個下降另一個就抬頭換成解耦頭后兩條曲線都能單調(diào)下降。代價是參數(shù)量增加不多完全值得。單尺度檢測頭的實現(xiàn)如下注意輸出通道順序要和前面定義的常量嚴格一致class DetectHead(nn.Module): def __init__(self, cin, num_anchors, num_classes): super().__init__() self.stem nn.Sequential( nn.Conv2d(cin, 256, 3, padding1, biasFalse), nn.BatchNorm2d(256), nn.LeakyReLU(0.1, inplaceTrue)) self.reg nn.Conv2d(256, num_anchors * 4, 1) self.obj nn.Conv2d(256, num_anchors * 1, 1) self.cls nn.Conv2d(256, num_anchors * num_classes, 1) def forward(self, x): x self.stem(x) # 輸出統(tǒng)一調(diào)整為 [B, A, H, W, C] 便于后續(xù)按 anchor 維處理 b, _, h, w x.shape reg self.reg(x).view(b, -1, 4, h, w).permute(0, 1, 3, 4, 2) obj self.obj(x).view(b, -1, 1, h, w).permute(0, 1, 3, 4, 2) cls self.cls(x).view(b, -1, self.num_classes, h, w).permute(0, 1, 3, 4, 2) return reg, obj, cls坐標分支我不加任何激活原始輸出直接交給 loss配合前面說的 sigmoid/exp 在解碼時處理objectness 和類別分支同理sigmoid 在 loss 內(nèi)部配合 BCEWithLogits 使用避免數(shù)值不穩(wěn)定。這是一個非常容易出錯的細節(jié)如果在頭部就套了 sigmoid再用 BCEWithLogits 就相當于做了兩次變換loss 會一直偏高且梯度異常。5.2 正負樣本分配我用的簡化版動態(tài)分配策略早期的 YOLO 只按“GT 中心落在哪個網(wǎng)格”來分配正樣本一個 GT 一個正樣本監(jiān)督信號太稀疏。我現(xiàn)在的做法是對每個 GT找出中心點落在其內(nèi)部或附近的網(wǎng)格計算這些網(wǎng)格上所有 anchor 與該 GT 的 IoU凡是 IoU 超過正閾值的都作為正樣本IoU 低于負閾值的作為負樣本中間的忽略不計入 loss。關(guān)鍵在于引入中心先驗一個網(wǎng)格即使 IoU 夠高如果它的中心離 GT 中心太遠也不應(yīng)該算正樣本否則會讓模型學(xué)到“從遠處預(yù)測物體”的壞習(xí)慣。我的過濾條件是中心距離落在 GT 寬高的一半范圍內(nèi)。這個約束加上之后訓(xùn)練初期 loss 的抖動明顯減小。分配過程我用一個 mask 張量實現(xiàn)形狀與輸出對齊1 表示正樣本、0 表示負樣本、-1 表示忽略def assign_targets(gt_boxes, anchors, strides, grid_sizes, pos_thr0.5, neg_thr0.4): # 返回每個尺度上的 mask 與回歸目標此處展示單尺度核心邏輯 masks, targets {}, {} for s, (anc, st, gs) in enumerate(zip(anchors, strides, grid_sizes)): # 展開該尺度所有預(yù)測框中心為網(wǎng)格中心尺寸為 anchor cx (torch.arange(gs).float() 0.5) * st cy (torch.arange(gs).float() 0.5) * st # ... 構(gòu)造 [gs*gs*A, 4] 的候選框與每個 GT 算 IoU iou pairwise_iou(candidates, gt_boxes) # [N_cand, N_gt] best_iou, best_gt iou.max(dim1) mask torch.full_like(best_iou, -1.0) # 默認忽略 mask[best_iou neg_thr] 0.0 # 負樣本 mask[best_iou pos_thr] 1.0 # 正樣本候選 # 中心先驗過濾網(wǎng)格中心必須落在 GT 內(nèi)部 mask[~inside_center(candidates, gt_boxes[best_gt])] -1.0 masks[s], targets[s] mask, build_reg_target(candidates, gt_boxes[best_gt]) return masks, targets代碼里pairwise_iou和build_reg_target是輔助函數(shù)分別算兩兩 IoU 和把 GT 編碼成相對偏移量。我在實現(xiàn)pairwise_iou時犯過一個經(jīng)典錯誤直接用x1 cx - w/2這種形式計算但沒有對坐標做 clamp導(dǎo)致超出圖像邊界的框算出負寬度IoU 出現(xiàn)負值進而讓一批本該是負樣本的候選被誤判為忽略。修復(fù)方法是在算面積前統(tǒng)一clamp(min0)。5.3 三項損失的權(quán)重配比與不收斂的排查經(jīng)驗損失由三部分組成坐標回歸 loss、objectness 的二元交叉熵、類別的二元交叉熵。坐標我用 CIoU 形式因為它同時考慮重疊面積、中心距離和長寬比收斂更快后兩項用帶 logits 的 BCE。權(quán)重配比是這套實驗里我最不愿意給“標準答案”的部分因為強依賴數(shù)據(jù)分布。我踩坑后穩(wěn)定下來的一組起點是坐標 7.5、objectness 1.0、類別 0.5。給坐標更高的權(quán)重是因為定位精度直接決定 mAP 的上限objectness 保持 1.0 是因為正負樣本極度不均衡如果權(quán)重給太高負樣本的 loss 會淹沒正樣本類別權(quán)重壓到 0.5 是因為在正樣本已經(jīng)很少的情況下類別分支的梯度容易過大。另外必須處理正負樣本比例。實測下一個 batch 里正樣本可能只有幾十個而負樣本上萬。我用的策略是只對負樣本中 objectness 預(yù)測值最高的前 K 個計算 lossK 取正樣本數(shù)的 3 倍其余負樣本直接忽略。這一步聽起來粗暴但它比直接給負樣本乘個小權(quán)重更有效因為它聚焦在“模型最困惑的負樣本”上。判斷訓(xùn)練是否正常我只看三個信號一是坐標 loss 應(yīng)該在 10 輪內(nèi)降到初始值的三成以下二是 objectness loss 的下降曲線要平滑如果出現(xiàn)周期性尖峰多半是某個 batch 的標簽編碼有問題三是正樣本數(shù)量均值應(yīng)該穩(wěn)定在一個區(qū)間內(nèi)如果隨 epoch 劇烈波動說明標簽分配的中心先驗在邊界目標上失效了。我曾遇到 objectness loss 每 5 個 epoch 準時跳一次的問題最后定位到是 dataloader 的 shuffle 與采樣器組合導(dǎo)致某個類別的樣本被集中投放改回標準隨機采樣就平了。6. 訓(xùn)練循環(huán)、顯存控制與推理后處理網(wǎng)絡(luò)和數(shù)據(jù)都跑通之后剩下的工作是從“能訓(xùn)”到“訓(xùn)得動、訓(xùn)得好”。這一節(jié)的每一條都是我在有限顯存條件下被逼出來的直接照做能省很多試錯時間。6.1 學(xué)習(xí)率調(diào)度、混合精度與梯度累積的組合我用 AdamW 起步初始學(xué)習(xí)率 1e-3 配 weight decay 5e-4前 3 個 epoch 做線性 warmup之后余弦退火到 1e-5。warmup 不是可有可無的檢測頭是隨機初始化的前幾百步梯度尺度很大直接上高學(xué)習(xí)率會把坐標分支推到一個 bad local minimum表現(xiàn)為坐標 loss 長期卡在高位不下來?;旌暇任矣胻orch.cuda.amp但loss 計算部分強制在 float32 下進行。原因是 objectness 的 BCE 在 fp16 下容易溢出尤其是當某個 batch 里出現(xiàn)極端難負樣本時。寫法上我用 autocast 包裹前向loss 前用float()轉(zhuǎn)換scaler torch.cuda.amp.GradScaler() for imgs, gts in loader: imgs imgs.cuda(non_blockingTrue) with torch.cuda.amp.autocast(dtypetorch.float16): reg, obj, cls model(imgs) # 關(guān)鍵損失計算退回到 fp32保證數(shù)值穩(wěn)定 loss compute_loss(reg.float(), obj.float(), cls.float(), gts) scaler.scale(loss).backward() scaler.unscale_(optimizer) torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm10.0) scaler.step(optimizer) scaler.update() optimizer.zero_grad(set_to_noneTrue)梯度裁剪的閾值我設(shè) 10.0實測下來只有當標簽編碼出現(xiàn)異常時才會觸發(fā)所以它其實充當了一個免費的異常探針如果你發(fā)現(xiàn)裁剪頻繁觸發(fā)別急著調(diào)大閾值先去查標簽。顯存不夠時用梯度累積每 4 個 micro-batch 做一次step等效 batch 翻 4 倍。這里有一個細節(jié)必須配對處理——BN 的統(tǒng)計量在小 batch 下會失真我改用SyncBatchNorm或者在凍結(jié) BN 統(tǒng)計量的前提下累積否則等效 batch 放大了但 BN 看到的仍是小 batch精度對不上。6.2 NMS 的實現(xiàn)細節(jié)與置信度閾值的標定方法推理階段把三個尺度的解碼結(jié)果拼成一個[N, 5C]的大張量先按 objectness 過濾閾值 0.05 起步寧低勿高因為后續(xù) NMS 還會再篩再依次做按類別的 NMS。我的 NMS 實現(xiàn)里最容易寫錯的邊界是IoU 計算要用到裁剪后的坐標且不同類別的框不互相抑制。def nms(boxes, scores, iou_thr0.45): # boxes: [N, 4] 格式為 xywh坐標已還原到原圖尺度 x1, y1 boxes[:, 0] - boxes[:, 2] / 2, boxes[:, 1] - boxes[:, 3] / 2 x2, y2 boxes[:, 0] boxes[:, 2] / 2, boxes[:, 1] boxes[:, 3] / 2 areas (x2 - x1).clamp(min0) * (y2 - y1).clamp(min0) order scores.argsort(descendingTrue) keep [] while order.numel() 0: i order[0].item() keep.append(i) xx1 torch.clamp(x1[order[1:]], minx1[i]) yy1 torch.clamp(y1[order[1:]], miny1[i]) xx2 torch.clamp(x2[order[1:]], maxx2[i]) yy2 torch.clamp(y2[order[1:]], maxy2[i]) inter (xx2 - xx1).clamp(min0) * (yy2 - yy1).clamp(min0) iou inter / (areas[i] areas[order[1:]] - inter 1e-7) order order[1:][iou iou_thr] return keepIoU 閾值我最后定在 0.45。這個值不是拍腦袋密集場景比如人群設(shè) 0.5 以上會殘留大量重復(fù)框而設(shè) 0.3 又會把相鄰的兩個真實目標合并掉。我的標定方法是拿驗證集畫一張“置信度閾值-召回率”曲線找召回率曲線開始陡降前的拐點通常落在 0.25~0.35 之間而 NMS 的 IoU 閾值則固定 0.45兩者不要混在一起調(diào)否則你無法判斷性能變化歸因于哪一個。6.3 調(diào)試檢測模型時我常用的三個可視化手段第一是把標簽畫回原圖。訓(xùn)練前必須做這一步我見過太多因為歸一化坐標和像素坐標混用導(dǎo)致框全部擠在左上角的案例而 loss 依然在降因為模型確實在學(xué)習(xí)這個錯誤分布。第二是把預(yù)測框在訓(xùn)練中期畫出來哪怕框很亂只要它開始聚集在目標附近就說明坐標分支方向?qū)α?。第三是按尺度分別統(tǒng)計正樣本數(shù)如果某個尺度長期是 0說明 anchor 尺寸和你的數(shù)據(jù)分布完全錯配那個尺度的檢測頭永遠學(xué)不會。有一次我把這三個手段串起來排查了一個典型問題mAP 卡在 0.2 上不去可視化發(fā)現(xiàn)所有預(yù)測框都比真實框小一圈。原因是我在編碼時用了log(w_gt / w_anchor)解碼時卻用了exp(pred) * anchor的寬高順序搞反了把 w 對到了 h 的 anchor 上。這類錯誤不可能從 loss 數(shù)值看出來只能靠可視化。7. 幾個必須提前知道的邊界與經(jīng)驗最后分享幾條我認為比代碼本身更值錢的經(jīng)驗。第一不要在小數(shù)據(jù)集上追求多尺度。我最初在只有 1200 張圖的數(shù)據(jù)集上直接開三個尺度訓(xùn)練結(jié)果最小尺度分支一直是零正樣本白白多算了 40% 的前向開銷。數(shù)據(jù)量小的時候先用單尺度stride 16把整條鏈路驗證通再逐步加尺度效率高得多。第二objectness 的分支比類別分支更容易出問題優(yōu)先調(diào)它。很多“mAP 上不去”的表象根因是 objectness 的校準不好——模型給了目標很高的類別分數(shù)但 objectness 很低NMS 前就被閾值濾掉了。檢查方法是單獨統(tǒng)計正樣本上的 objectness 均值正常情況下它應(yīng)該隨訓(xùn)練穩(wěn)步上升到 0.8 以上。第三關(guān)于驗證集的選擇我堅持按場景而非隨機劃分。隨機劃分會讓同一段連續(xù)視頻或被同一組采集條件下的圖片同時出現(xiàn)在訓(xùn)練集和驗證集里驗證 mAP 虛高 5~10 個點是常有的事。按場景、按采集批次、甚至按時間劃分得到的數(shù)字才代表真實泛化能力。常見癥狀大概率根因快速驗證方式loss 完全不降標簽編碼與輸出通道順序不一致單 batch 過擬合測試看能否記住 4 張圖坐標 loss 平臺震蕩直接回歸絕對坐標未用相對偏移檢查解碼公式的縮放項某尺度無正樣本anchor 尺寸與數(shù)據(jù)分布錯配統(tǒng)計各尺度的正樣本數(shù)框普遍偏小或偏移anchor 寬高順序與編碼時不一致可視化預(yù)測框與 GT 疊加訓(xùn)練后期 mAP 回落學(xué)習(xí)率未退火或正樣本過擬合打印每輪正樣本數(shù)與 lr我還想強調(diào)一個調(diào)試習(xí)慣用 4 張圖做單 batch 過擬合測試。把這個小實驗跑通loss 降到接近 0預(yù)測框和 GT 幾乎重合就等于證明了數(shù)據(jù)管道、編碼、損失、解碼這整條鏈路自洽。凡是鏈路級別的 bug都會讓這個測試失敗而鏈路一旦自洽剩下的問題都只是超參和容量問題排查范圍小得多。這個習(xí)慣幫我省掉的調(diào)試時間比我讀過的所有文檔加起來都多。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
婷婷久月| 日韩av不卡在线看| 中文字幕视频免费| 嗯嗯啊操我| 五月天伊人网| 人人妻人人色一区二区三区| 亚洲精品819| 在线观看成人性爱免费小视频| 麻豆天天躁天天揉揉AV| 九九超碰综合网| 日本一区二区电影网站| 调教熟妇 久久久久久| 亚洲中文字幕熟女| BBBBB97COM| 日韩无码AB| 色色色天美视频| 加勒比中文av| 日韩在线观看三级电影| 日韩毛片9| 欧美一区二区三区成人性生活| 思思热在线| 国产极品一区二区三区三州| 欧美人与性动交a美精品| 国产精品3| 黄资源| 99热精品在线观看| 96久久科窝| 欧美色棕合| 99热精品在线| 国内毛片免费h片在线| 日本黄色大片一级视频免费麻豆| gogogo免费高清看中国国语| 国产一区二区免费福利片| 天天天操天天天爱| 国产宅男宅女在线观看| 色黄污美女啪啪啪免费网站| 亚洲伊人成综合成人网| 激情婷婷丁香网| 一级黄碟| 国产精品久久久久久夜夜夜夜| 97爱欧美| 欧美日韩成人在线| 国产玖玖| 精品国产自在在线99| 99精品在线| 岛国在线一区二区三区| 韩国成人精品久久久免费看| 久久久久久免费电影| 国产农村妇女一区二区| 天天欧美色| 日韩欧美女优电影| 91熟女熟妇视频网站| 亚洲一区二区久久久久| 亚洲黄色a级片| 人人玩人人添人人澡免费| 美女操逼A A| 日本性爰一道本| 岛国网址国产| 欧美国产精品| 在线国产探花| 91人妻视频| 色偷偷色偷偷欧美日韩| 福利五区| 亚洲色天| 1级午夜影院费免区| 大肥女高潮bbwbbwhd视频| 婷婷av在线中文字幕| 欧美性爱第一页久久| 91爱啪| www.色99| 国产欧美日韩臀| 97精品视频免费| 啊啊啊啊啊啊在线| 日韩性爱一级片| 欧美日韩啪啪电影| 极品极品色影院| 俺去久久| 中文字幕一品色图| 日日夜夜精品视频| 日韩欧美亚洲一区二区三区影院 | 日韩亚洲精品一区二区| 91狠狠综合久久久| 国产九九久久久精品| 亚洲综合九| 九九九国产精品| 91肉丝| 国产综合网站在线播放 | 久久久免费高清中文视频| 一区二区三区高清| 久操视频资源站公开| 久草综合京东| 91A欧美电影网站| 日本久久女同性恋视频| 亚洲欧美中文日韩视频中国语| 青青11操操操操操操操操| 精品无人区麻豆乱码1区2区图片| 大香蕉伊人75| 神马久久久久久| 欧美日韩国内不卡| 欧美日韩免费专区在线| 美女性91| 国产女人成人精品视频| 97超视频在线观看| 欧美人妻一区二区| 国产综合久| 在线综合 亚洲 欧美中文字幕| 婷婷色在线| 91欧美另类| 性夜影院爽黄A爽免费动漫| 国产自产自拍| 欧美成人亚洲精品| 欧美天天综合网版| 亚洲最大网站av| 四季AV一区二区凹凸精品小说| 91n欧美| 96久久精品一二三区色欲| 精品久久久久久久久久久久| 91av一区二区在线观看| 亚洲宗合电影| 懂色av一区二区三区天美传媒| 亚洲成熟国产精品美女| 97精品视频免费| 日韩熟女三十乱伦| 宗合情欲网| 美女91| 92福利社视频| 精品视频在线观看精品| 嗯嗯啊啊啊好舒服| 免费观看网黄| 99国产精品免费| 日韩精品字幕| 久久一留热品黄| 久久久新亚洲AV| 色色99| 91精品人妻一区二区三区蜜桃| 一块操欧美性爱| 中文在线视频| 五月天激情小说网| 久久久久久亚洲Av无码精| 国产一级137片内射麻豆| 亚洲国产精品无码AV久久| 久久99久久99久久99人受| 国产精品suv一区| 欧美日日操| 校园春色中文字幕AV| 欧美日韩大黄片| 亚洲97P| 亚洲天堂在线怕怕视频 | ,国产乱人伦精品一区二区三区| 亚洲天天精品| 五月天开心网| 国产人妖视频一区在线观看| 日韩欧美麻豆| 精爱久久| 秋霞蝌科网日本一区| 欧洲精品二区| 国产AV天美| 国产精品久久久久久久黄无码 | 神马久久久久久| 日日日啊啊啊| 天天做日日做天天欢。| 亚洲男人电影天堂| 熟女91网| 日本久久久久久久久| 国产一级舔足在线观看| 日本亚欧爱爱| 玖玖97综合 | 玖玖爱一区在线| 99国产在线 精品 视频| 91精品91久久久久77777| 久久久99久9| 亚洲综合中文字幕有码| 久久久久久九九九| 久久精品一区二区三区蜜桃臀| 久久日本熟女精品一区| 影音先锋乱| 天天综合网91| 欧美性第1页| 啊好大好舒服| 一区二区三区欧美激情| 日韩欧洲操屄视频| 麻豆成人AV| 超碰在线97国产| 黄片免费久久久久久久| 欧美精品宗合| 超碰精品97| 97视频900| 天天看天天综合成人网| 极品尤物在线观看| 人妻一区视频| 神马午夜久久久| 神马精品视频| 综合色久| 亚洲色图亚洲无码强奸乱伦| 亚洲国产第一页综合视频| 不卡视频一区蜜桃视频 | 午夜传煤十二区精品| 亚洲熟女国产综合另类| 欧美成人性爱视频大全| 婷婷在线视频在线观看| 中文乱码字幕观看| 天天色综合影视网| 欧美BT 亚洲色图| 亚洲天堂人人妻| 99精品在线观看| 欧美精品xxxwww| 久久国产免费激情视频| 999久久久免费精品国产牛牛| 超碰偷拍| 新怡红院| 欧美春色| 欧美另类丝袜熟女| 夜夜嗨一区| 伊人大香蕉在线| 五月天综合在线| 天天躁日日躁AAA片李宗瑞| 免费的黄片有限公司| 色哟哟精品1精品2| 色九九久九九| 香蕉精品二区二区| 欧美日本不卡在线| 天天欧美| 青青青在线高清视频在线一二三四区 | 欧美日韩青操| 国产精品69久久久久孕妇欧美| 亚洲综合性网址| 中文幕97| www.成人无码| AV中文字幕三四五| 久久宗合97| 日本精品加勒比海一区| 亚洲美女精品九九视频| 二男一女成人A片| 日韩精品黄片免费观看| 日本福利社| 日韩中文字幕视频在线观看| 人妻少妇色综合| 亚洲综合五月天| 99热精品在线观看| 一区在线观看中文字幕| 综合免费无码中文| 色综合网1| 亚洲激情网| 密臀在线免费观看| 伊人久久亚洲色欲综合网站| 亚洲精品不卡一二三区| 欧美色91| 亚洲色欲天天天堂色欲网女| 亚洲女毛多水多21P| 无码伊人久久大杳蕉中文无码| 操人91| 97人肏| 日韩9999| 91亚.色| 蜜臀在线网站| 亚洲超碰97| 亚洲欧美人妻| 亚洲欧美国产成人综合不卡| 九九99精品| 久久久久9久久久久| 国产极品久久久| 精品无码一区二区三区| 夜夜嗨视频| 欧美日韩性爱无码| 熟妇一区二区三区| 玖玖无码超碰| 精品人妻一区二区视频| 口爆综合网| 午夜超爽| 国产熟女乱论| 久久久久久久久久久人妻| 欧美最大综合网| 国产在线强奸视频| 大胆91| 91n免费处女| 久久中文字幕在线观看| 无码av永久免费专区网站| 国产亚洲99久久精品| 欧美一二在线| 精品无码秘 人妻一区二区| 99色热国产视频精品| 日日夜夜干| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 97精品一区二区视频| 一个人免费HD91视频| 操死我干死我| 欧美性第一页| 小泽玛利亚一二三| 国产一线二线三线av| 色操逼网| 香港日本韩国人妇99www.wccm20| 日本中文字幕不卡视频| 久久綜合很很很| 亚洲成成熟女人综合一区二区| 人妻中文在线| 日日夜夜精品视频| 天天色综合图片| 欧美后入式| 人人摸人人添人人操| 欧美性生活内射| 国产不良强奸视频免费看| 中文字幕啊啊啊在线观看视频| 91超碰丝袜制服| 午夜久久无码1000合集| 欧美在线|亚洲| 口爆吞精在线观看| 人人澡人人澡人人| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 欧美综合国产精品久久丁香| 激情图片亚洲色图| 国产乱伦性爱区| 加勒比五月天| 久久东京国产精品视频| 婷婷五月天色网| 天天色综亚洲91污| 人妻熟妇一区二区三区| 欧美日韩丝袜| 天天视频网站黄| 色情亚洲日本成人| 亚洲日韩美国人妻| 日韩射图| 亚洲一区二区三区久久 亚洲一区二区| 天美精品原创av片国产| 涩爱AV在线| 国产毛片在线| 久久久久久中文| 25国产精品免费观看| 欧美色院| 98福利在线视频| 久久人妻视频| 被操高清无码视频| 伊人久久亚洲色欲综合网站 | 91亚洲狠狠色| 婷婷天堂站| 精品视频久久| WWW.加勒比人妻一区不卡.com| 18禁精品网站在线看| 97情超碰色| 在线视频日韩欧美国产| 性色亚洲| 久久久天美| 99热亚洲天堂| 欧美99热| 久久精品国产AV一区二区三区| 欧美骚少妇| 色综合中文字幕不卡| 26uuu国产日韩综合在线观看| 国产美女91| 色女99一级片在线观看| 插欧洲美女欧美精品| 久久久97| 久 久无码人妻AV| 亚洲欧美日韩中文久久自慰| 欧美亚涩| 日本3级一区二区免费| 香蕉欧美| 2017,超碰| 精品97久久综合| 一本一道vs波多野结衣| 久久夜黄色无码A级大片| 亚洲色阁| 九九九九九九精品| 91草草草| 婷婷情色综合网| 色网亚洲人| 成年男人的天堂| 欧美v亚洲v日韩v最新在线二区 | 成年女人黄网站| 久久精品一区二区三区四区五区| 91国产丝袜白虎| 91高跟美女在线播放| 天天综合精品| 亚洲免费看片| 999岛国大片| 日本欧美一区二区三区免费| 内射小黄片| 少妇高潮九九九九| 60秒不遮不挡| 国产在线视视频有精品| 无码九九| 日本岛国黄色网址| 欧美se综合| 五月丁香六月激情| 人人看黄色视频| 91黑丝在线播放| 国产丝袜啪啪| 欧美成人综合| 欧洲亚洲综合| 国产成人综合网| 蜜桃久久久久久久久久久久| 啊啊啊 在线观看| 一区二区三区高清天码| 午夜乱轮操逼视频免费看| 91av熟女人妻| 伊人五月天婷婷| av三级电影在线播放| 亚洲女人91| 黄色工厂这里只有精品| 春色综合免费| 91丝袜视频在线观看| 欧美综合综合| 酒色综合网| 久久这里只有精品9| 人人妻人人爽一区二区三区| 欧美中文字幕精品人妻| 免费的黄片有限公司| 日本操逼视频免费| 成人av影院在线观看| 日韩激情啪啪啪| 欧美系列在线一区二区| 97精品综合久久| 丁香六月啪| 99精品无码| 啊好大好舒服| 亚洲男人的天堂网| 国产三级中文字幕粉嫩| 久九色| 强被迫伦姧在线观看无码网站| 1769一区| 婷婷五月综合在线| 人妻出轨一区二区三区| 精品视频久久区| 久9爱精品| 手机av亚洲丝袜美腿日韩第一页二页| 女人妻一区| 天天综合网入口~91| 好爽免费视频,| 色97欧美| 日韩免费中文字幕视频| 四虎影视永久在线免费| 久久精品人体AV| 午夜毛片高清免费不卡| 999精品久久久久久久| 亚洲巨爆乳一区二区三区四季网| 奇米四色影视777久久久| 啊视频在线| 亚洲狼狼干综合1| 亚洲欧美综合网站| 最新亚洲黄色免费电影 | yiqicaoav| 377p欧洲日本亚洲大胆| 91婷婷伊人狠人| 亚洲熟女乱综合一区二区三区| 日韩射图| 超碰在线观看av不卡| 麻豆精品久久久久久久| 青青操视频在线| 欧美成人免费在线观看| 婷婷丁香六月| 精品9999| 国产AV色黄看到爽| 久久伊人网视频一区二区三区 | 人人看人人爰人人操| 人人扣人人操| 最新av在线| 青青草国产欧美非洲黑人| 日韩性爱高清免费视频| 日韩精品操少妇| 麻豆天美91| 婷婷导航| 国产91专区| 伦激情人妻另类人妻| 六月丁丁香| 欧洲站一级二级三级h| 亚洲综合另类小说色区亚洲成av人片在www| 99色天堂| www.人人摸在线视频| 亚洲色图日韩精品| 久久国模av| 久久精品 六十路 熟女 欧美| 欧美黑人性猛交91| 日韩精品一区二区人人人| 国产操偷| 玖色av| 国产日韩在线播放| 校园春色综合香蕉| 人人操人人摸人 | 限制级中的三级片中的黑粗大屌屌日人妻熟女 | 三男一女不戴套的A片| 久久性爱视频| 欧美亚洲综合高清在线| 久久婷婷国产一区二区色| 久久东京热成人| 色五月综合| 97免费在线观看| 亚洲宅男天堂| 91在线视频国产网站| 丁香五月天啪啪| juliaann丝袜| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 色就色综合| 中文字幕55555| 熟妇高潮精品一区二区三区下载| 日1区2区3区2020| 丁香五月自拍| 97视频在线| 伊人五月天| 亚洲网站一区二区在线| 97久久精品国产| 国产精品露脸在线观看| 欧美在线中M| 成人丁香五月| 精品国产乱子伦一区二区三区,精品一 | 国产亚洲精品美女久久久m| 天堂网 主播 亚洲| 激情六月天| 97超碰公开| 夜夜高潮夜夜爽| 激情抓乳插进去啪啪啪日韩 | 在线日韩精品一区二区三区| 欧美综合在线91| 日本色色色色色视频| 日韩欧美麻豆 | 激情视频图片| 25国产精品免费观看| 欧美性爱精品七区| 欧美黑人168页欧美黑人167| 爽爽淫人网| 一级二级三级黑人无码| 97伦乱| 超碰色男人操熟女| 色爱亚洲| 无码久| 性爱av在线免费观看| 97超碰中文在线| 区二区亚洲婷| 特级大荫道BBwBBwBBW| 最新三级网址| 91东北熟女| 日韩一级二级三级免费看完整版国语版| 久久精品国产亚洲AV成人直播| 日韩啪啪视频| 色路综合| 91视频综合在线| 成人AV素股で擦久久| 欧美人妻一区| 欧美日韩国产三级黄色| 人妻色偷色噜| 亚洲Av诱惑| 免费成人在线熟妇网| av优播| 国产美女高潮叫床视频| 亚洲综合欧美| 国产精品一区二区三区四区五区| 中文字幕日韩人妻视频一区二区三区交换夫妻| 能看的AV| 九月丁香综合网| 蜜乳AV免费观看| 国产日本一区二区三区蜜臀在线观看| 天天在线91| 亚州日韩97| 久久久久久性爱视频| 超碰人妻在线| 伊人黄色视频免费观看| 一本一道vs波多野结衣| 上海一级黄片| 国产黄色影片在线观看| 国产免费黄色一级大片| 亚洲欧美首页| 东京热一区二区中文字幕| 天天cao在线| 国产9熟妇视频网站| 亚洲熟妇综合久久久久久| 亚洲精品国产精品乱码不卡| 九九拍拍精品视频在线播放| 91视频观看网站| 欧美不卡在线美女| 人人澡人人爽人人精品| 久久男人的天堂国产| 国产欧美一区二区| 性色中出| 动漫片子网站3黄| 亚洲精品国产AV天美传媒| 天天操天天射青青草| 婷婷久草一区二区三区| 后入美女国产| 四虎 精品 WWW| 欧美日韩m| 亚洲国产综合久久天堂| 农村妇女精品一区二区| 大香蕉免| 9999亚洲电影| 青青草久久| 91制服丝袜| 亚洲欧洲自拍| 先锋激情∨在线视频播放| h4610国产人妻| 久久精视频美日韩在线视频| 99色在线| 欧美曰韩国产精品| 日韩八十路老熟女| 99国产女人| 亚洲精品国产精品成人| 无码直播久久久| av天堂5| 免费夜夜爱黄色视频毛片| 黑人精品成人一区二区三区| 久久日韩毛| 色婷婷成人综合| 97se综合| 天天日天天干少妇日| 97aiaiai| 可以在线观看AV的网站| 加勒比无码一区二区三区| 内射中出日韩在线观看视频| 偷拍2020| 日日干天天干夜夜爽| 金莲网址| 男人的天堂亚洲| 久久久久久中文版| 久久精品国产亚洲粉嫩| 亚洲精品成人动漫在线| 国模吧 一区二区三区| 91在线美女| 亚洲se电影| 久久亚洲一区女同性恋中文字幕| 一区二区三区在线美女| 色播五月丁香| 亚洲欧美日产国产91毛片| 男人天堂导航| 在线观看成人性爱免费小视频| 熟女突然公开看18禁影片 | 天天干天天舔| 丁香婷婷久久| 欧美中文狠| 日韩成年人性爱视频| 色呦呦呦在线观看视频| 熟女一区二区| 干B网| 国产亚洲精品A在线观看下载| www.狠狠| 欧美人妻另类在线| 手机看片日韩人妻| 麻豆 欧美 日韩| 日韩有码专区| 日韩免费看黄片| 成人在线视频一区| 日B操| 色香蕉影院| 97爱爱官网| 国产亚洲精品玖玖玖在线观看| 日韩AV中文字幕电影| 久操视频这里只有精品| 婷婷久久网| 白嫩白嫩的午夜九久久久久久久久久久久成人剧场 | 亚洲精品天堂久久A∨51成人漫 | 一区二区三区无卡视频在线观看| 天天日天天干天天操| 国产又爽又黄| 中文字幕日韩情色| 一线黄色免费性爱片| 人人人人人人少妇| 好吊色综合| 任你草| 综合五月天| 精品国产片亚洲一区| 男人天堂最新手机版在线青青草| 亚洲精品一二区| 麻豆天美国美国产| av黄图片在线观看| 亚洲s在线观看| 亚洲伊人成综合成人网| 久久久久性熟视频| 在线综合 亚洲 欧美中文字幕 | 女生看匆91网站| 五月激情小说| 精品人妻一区二区三区日产乱码| 亚洲综合色男人网| 日本成人在线不卡一区二区三区| 91最新综合| 亚洲av国产av综合av卡| 久久久久ab| 91午夜无码| 久久久久久久六六| 岛国成人av在线播放网址| 亚洲激情深爱文学小说网站| 最新啪啪视频| 欧美亚洲清纯| 九九九九九九九九九九九免费国产| 亚洲综合九九| 91九色丨国产丨爆乳| 国产精品高清2021在线| 精品9999| 国产乱码久久| 欧美亚洲国产91在线| 久久久99999久网站| 人妻-91porn| 96精品久久久久久久久| www.91欧美| 手机看片1025| 亚洲不卡三级手机播放| 国产欧美后入| 综合五月天| 97超碰磁| 91久久婷婷| 天天看人人操屄犊摸阴| 日本色色色视频| 久久久一区二区三区四区五区| 乱老熟女一区二区三区| 亚洲精品久久久久久久蜜桃臀| 亚洲av青草久久一区二区| 老汉网| 99精品成人免费看| 亚洲一区在线观看欧洲 | 一区二区你上我| 国产日韩在线播放av| 大茄子熟女AV导航| 97超碰天天爱天天爱| 色综合久久久久| 亚洲欧洲综合成人av一区| 久久精品六区| 九九九久久久久| 97人肏| 自拍偷拍2025在线观看| 在线观看不卡一区二区三区| 国产超碰欧美| 麻豆婷婷成人一二三| 国产日本久久免费精品| 日本成人免费一区二区三区| 风间由美日韩欧美久久| 亚洲图片欧美制度| 天天干天天做| 国产又大又硬又长又粗| 91东京热男人的天堂| 人人操人人色网| 变态综合色| 四虎在线免费视频| 久久999久| av操操不卡| 久操综合在线| 色色色五月婷婷| 日韩丝袜二区| 首页中文字幕中文字幕免费| 被男人吃奶很爽的毛片| 高清孕妇孕交 交| 超碰 欧美| 久久久免费视频18| 肉丝无码中文高清| 加勒比日本在线| 综合干干干av久久久综合网| 韩日男人的天堂| 熟妇熟女视频一区二区三区| 久操不卡视频| 午夜电影在线观看无码专区| 可以在线观看AV的网站| 丰满人妻无码一区二区三区| 日韩精品资源专区二区| 日日AAvv| 欧美色另类| 色婷婷99| 日韩综合成人免费视频| 青娱乐999| 99久久久无码精品国产人| 99久久国产精品免费高潮| 夜夜欢天天干| 天天做天天爱| 欧美日韩插逼视频| 国内精品嫩模A∨私拍小视频| 五月丁香激情四射| 国产视频人人网| 精品日韩人妻精品一二三区| 久久成年片色大黄全免费网站| 亚洲一区二区三区春色| 天天狂操夜夜狂日| 97香蕉网| 一级成人性爱| 看一级特黄a大一片| gogogo免费高清看中国国语 | 亚洲 欧美都市激情| 蜜臀av一区二区三区免费观看| 久久a久久| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 色香综合天天影视综合| 蜜桃AV天堂| www国产无码| 精品国产无码中文| 伊人久操| 国产精品久久久久无码AV会牛| 亚洲综合另类| 日韩精品熟妇| 9ⅰ久久久天天| 国产老女人久久毛| 91丨九色丨国产丨人妻在线| 在线看片国产精品每日更新| 超碰在线人妻| 日本欧美色| 青青草影视蜜久久| 久久区| 凹凸视频在线一区二区| 亚洲暴力强奸AV| 久久午夜伦| 九区国产| 亚洲国产精品无码AV久久| 日韩黄片影院| 99热18| 另类亚洲图色| 98超碰欧美| www.99色| 丁香六月啪| 91日韩在线| 国产乱人妻精品入口| 96国产精品| 一级成人性爱| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 国产九区| 国产欧美另类久久久精品课程| 国产精品福利资源在线尤物| 精品国产乱码久久久久久口爆网站| baisiav| 色香网| 黄色操人| 密臀在线免费观看| 美女t无毒不卡不卡| 伊人久久综合影院精品久久久| 国产精品亚洲一区二区三区四区| 日日橹狠狠爱欧美超碰| 久久二| 91人妻尻屄视频| 日韩啪啪啪啪啪| 97在线欧| 欧美日韩国产黄色片| 九九九综合精品| 美女啊啊啊啊啊| 精品一二三区久久AAA片| 亚洲欧美天堂在线| 青草精品视频-日本久久久久网站| 大色综合网| 久久久久ab| yiqicaoav| 日日干日日| 国产美女91| 亚洲中文国际强奸字幕| 91网亚洲| 亚洲欧洲中文日韩女优乱码| 99re9在线| 老熟乱一区二区三区四区| 中文字幕在线观看二区三区| 国内97干免费看| 人人看人人插| 蜜桃精品视频一区| 亚洲国产91精品一区二区久久| 怡红院怡春院| 人人操人人摸人人骑| 九九RE视频在线精品| 97在线播放| 欧美日韩性爱操大逼| 久久人妻少妇| 色香色欲天天综合网天天来吧 | 精品九九九九九九九九九| 国产精品乱码久久久久久久| 久热香蕉精品在线视频| 加勒比人妻综合| 国产美女高潮叫床视频| 91色s| 中文字幕狠狠玩| 超碰色大香蕉| 99热网站| 91夜色| 国产男女无套97| 高清国产成人无码| 天天综合麻豆视频| 强奸a片网| 国产99999| 国内精品不卡无毒99999| 亚洲成人激情小说视频| 91在线色| 色色色天美视频| 情色大香蕉| 久久五月份| 日韩视频精品在线观看| 粉嫩AV一区夜夜嗨| 久久久久久久九九九九九九| 激情文学小说一区二区| 91久久久久久久久18| 青草成人免费视频一COm| 欧美一区二区传媒| 99re公开精品免费视频| 久久久免费高清中文视频| 久久综合18p| 久久这里是精品| 夜夜黄| 69人妻精品一区二区绯色| 免费精品无码一级毛片牛牛影视| 自拍视频大全亚洲专媒视频/一区二区三区 | 深喉吞精| 精品一区二区三区最新| 操逼逼福利视频| 欧亚韩国999| 久久综合18p| 亚洲精品影视老司机| 78m啪啪啪| 91国产美女丝袜足交精品视频| 中文字幕亚洲在线一区| 视频不卡中文字幕| 久久亚洲欧美一区二区三区-亚洲国产精品第一区二区 | 五月天色图| 加勒比在线视频一区二区三区 | 亚洲 欧美 中文 日韩超碰| 操逼大黄片| 97av在线观看| 97超碰精品成| 亚洲天堂东京热| 伊人网免费视频| 欧美熟爽综合| 春色综合网| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 欧美色66| 中文字幕老熟妇黄色视频| 亚洲1区2区三区高清中文字幕| 欧美色图片欧美色图| 欧美高潮在线| 丁香六月婷婷久久综合| 精品中文字幕第一页| 国产精品久久久 | 人人摸人人干人人拍97| 婷婷av在线中文字幕| 91久久婷婷| 久久久精品久久| 欧美夜夜骑视频| 青青草吊丝| 亚洲国产精品久久久久久久久久| 大香蕉乱伦视频网| 这里只有精品视频在线观看麻豆| 久久久久久久精| 日日摸日日碰夜夜爽视频| 欧洲亚洲综合| 91真人天天在线| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 一级免费啪啪片| 日本高清一区二区在线| 操逼天美3区| 黄色片A级一区二区三区| 国产精品日日摸夜夜添骚逼| 亚洲人精品久久久| 日本黄色天堂| 色天堂综合| 黄色十八禁| 色拍偷亚洲| 国产精品视频在线播放| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 国产精品原创巨作?v网站| 国产精品女aA片爽爽视频| 欧美亚洲今日在线| 无码动漫av中文字幕| 久久97| 青草综合| 亚洲日本激情| 欧美呦呦性爱| 中文字幕AV乱伦| 国产亚洲精品美女久久久久久2021| 久久黄片国产一区二区| 秋霞一集毛片观看| 国产一在线观看| 国产成人午夜视频网址| 青娱乐欧美激情一区二区| 奇米狠999| 欧美激情中文字幕另类小说| 操逼逼福利视频| 超碰av在线| 超碰av人人人| 九九热免费国产视频婷婷伊人| 久九九九九九九热| 69综合网| 91暧暧| 久久综合久色欧美综合狠狠 | 激情视频网址| 欧美毛片在线网| 69AV女优男人的天堂| 在线亚洲丝袜视频网站| 曰本特级特黄特色黄色A级网站高清在线免费看 | 亚洲麻豆18发?| 中日韩久久久免费看| 97在线视频免费看| 免费国产电影一区二区| 尤物黄色在线观看网站| 国产亚洲日本精品在线| 97舔舔| 97超碰巨乳| 久久r精品| 亚洲视频中文一区| 久久黄色视频一区二区三区| 最新无码国产| 黄aaaaaaaaaaaaaaaaaa色网站 | 日本顶级天天操狠狠操夜夜操中文字幕| 中文字幕色AV| 97超碰欧美中文字幕| 亚洲 无码 偷拍| 欧美一区二区三区日韩| 久久久久久亚洲精品不卡人乳| 骚货人妻偷情自拍在线视频| 国产熟女一区二区丰满| 欧美第二页午夜| 思思热在线视频免费| 亚洲字幕一区二区| 九九av| 美女网站黄页| 日产操逼| 色五月亚洲| 麻豆国产成人精品| 亚洲熟女av中文字幕| 亚洲AV无码黄色强奸| 国产黄a三级三级三级av在线看| 日韩99神马视频片| 亚洲色婷婷综合久久久久中文| www久久国产精品| 九九热免费视频| 午夜后入| 老司机福利青青草| 婷婷中文字幕| 97欧美日韩中文| 18禁看网站一区| 国产又色又爽又舒服的三级视频| www.操| 久久久亚洲熟妇熟女| 日操粉逼逼| 中美日韩毛片| 水多多映视AV| 五月天婷婷久久| 色哟哟av| 黄色片,com| 97玖玖人妻| 中文字幕一区二区无码成人| 国产免a费看黄片在线| 天天弄欧美| 97在线免费看视频| 人妻aa| 天天日熟妇| 波多野结衣被操50分钟免费视频 | 丁香五月性爱| 91高潮喷水美女| 成人免费毛片| 国产白嫩精品久久| 超清中文乱码字幕| 四虎影视永久在线免费| 亚洲色图欧美色图制服丝袜| 亚洲女人91| 亚洲情色中文字幕一区| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 欧美日韩系列| 亚洲欧美自拍偷拍| 五十路人妻在线| 四虎影视永久在线免费| 亚洲日韩青青草色月| 豆花视频操逼网址| 日本天堂网| 亚洲AV秘无码一区..| 九九九久千久久激情蜜桃在线看 | 欧亚第一综合网| 日韩免费一级性爱视频| 久久曰曰| 东京太热男人的天堂久久久| 热九九精品| 天天爽天天操啊啊啊| 920日本午夜免费| 69国产对白刺激| 狠肏骚人妻| 色综合V| 国产精品午夜福利视频| 日逼视频日本| 亚洲精品蜜桃久久久| 亚洲人妻在线一区| 亚洲在高跟鞋自慰久久在色线| 91高清无码下载| 亚洲少妇激情一区二区三区| 九九人人操| 亚洲91射| 天天射影院| 午夜视频黄| 99只有精品| 美国aaaaa一级黄片| 中文字幕免费看| 日韩乱伦视频| 天天操天天舔| 不卡人妻少妇精品毛片一区23区视频 | 91中出在线| 婷婷久草一区二区三区| 99久久精品无码一区二区毛片免费 | www.婷婷五月天| 精品无码久久久久久久久果冻糖心| 亚洲黄日韩无码专区| 亚洲AV无码乱码| 日韩少妇丰满亚洲| 精品一区二区成人| 国产91丝袜 在线播放| 婷婷五月天补不补| 美女黄网| 日韩av电影网站| 激情小说五月天| 2019天天干天天操| 老熟乱一区二区三区四区| 黄色网址久久精品欧美喷水| 国内精品久久人妻性色av| 欧美日本天堂| 黄色网址久久精品欧美喷水| 免费看黄片现成| 亚洲中文丝袜美腿诱惑字幕| 嗯嗯嗯不要不要免费视频| 欧美成人一区二区三区在线播放 | 免费a在线播放v| 无码人妻精品一区二区三区99不卡| 亚洲色图综合网| 台湾佬激情综合| av日韩在线观看电影| 麻豆成人影音在线| 亚洲精品蜜桃久久久久久久| 蜜乳AV一区| 国产又粗又长又大的视频| 欧美第38页| 久热九九| 波多野结衣先锋影音| 不卡日本一区二区| 日韩精品影视| 爆乳免费黄网站| 91麻豆va国产精品| 牛牛操视频逼| 欧美不卡五十路| 精品在线78| 成人精品水蜜桃久久久久久久| 狠狠躁AV| 激激五月| 九九热九九| 岛国片在线观看视频亚洲| 性无码专区2020| 狠狠操狠狠燥| 性交一区二区在线播放| 99热97| 综合婷婷| 日韩性爱再线视频| 看黄片视频免费| 不卡中文字幕aⅴ在线| 91美女小视频| 四虎精品亚洲| 美女黄色91| 91 综合 色| 7月婷婷综合| 一起草av| 日韩一性一交一A片俄罗斯| 欧美久久九九| 天天干天天燥| 无码不卡亚洲成?人片| 久久久中文| 日逼97| 国产精品白丝AV| 精品综合久久久久久97| 欧美青青草视频| 日韩精品人妻中文字有码在线| 国产乱伦性爱AV| 成人av免费观看| 亚洲午夜福利视频| 精品国产久热在线观看| 亚州免费啪啪视频| 91高潮| 国产一区二区二区按摩精品啪视频| 91少妇高潮| 九九热精品| 美女网站91| 91社区伊人| 亚洲自拍偷拍视频在线| 一个人免费视频观看在线WWW | 免费看欧美美女黄色大片|