久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

MobileNet-YOLO輕量化目標(biāo)檢測實(shí)戰(zhàn):結(jié)構(gòu)、訓(xùn)練與部署指南

MobileNet-YOLO輕量化目標(biāo)檢測實(shí)戰(zhàn):結(jié)構(gòu)、訓(xùn)練與部署指南 簡介面向目標(biāo)檢測算法研究與輕量化部署場景這份PyTorch實(shí)現(xiàn)的MobileNet-YOLO檢測網(wǎng)絡(luò)資源覆蓋MobilenetV1/V2/V3與YOLOv3/YOLOv4系列模型適合需要對比主干網(wǎng)絡(luò)與檢測頭組合效果的算法工程師和研究生。損失函數(shù)與原始實(shí)現(xiàn)保持一致模型在VOC20072012上訓(xùn)練并在VOC2007上測試權(quán)重采用ImageNet預(yù)訓(xùn)練使用方式貼近原始YOLO可直接沿用其數(shù)據(jù)準(zhǔn)備、訓(xùn)練與評估流程。資源包為zip格式共29個文件大小約240KB包含16個Python腳本模型結(jié)構(gòu)、訓(xùn)練、推理、mAP評估、圖像增強(qiáng)等、5個shell腳本數(shù)據(jù)集下載、lmdb創(chuàng)建、訓(xùn)練、推理、2個YAML配置數(shù)據(jù)路徑與參數(shù)、說明文檔與許可證以及若干示例圖片目錄劃分清楚便于按模塊復(fù)用。已有1944人學(xué)習(xí)/下載。通過該資源可完整復(fù)現(xiàn)輕量化檢測器的訓(xùn)練與推理流程掌握VOC數(shù)據(jù)集預(yù)處理和lmdb轉(zhuǎn)換的細(xì)節(jié)同時可參考eval_mAP、圖像增強(qiáng)等工具腳本快速遷移到自有目標(biāo)檢測任務(wù)中。1. 從跑不動到流暢檢測MobileNet-YOLO-Pytorch 的價值被很多人低估了MobileNet-YOLO-Pytorch 這個項(xiàng)目名看著很長但本質(zhì)很直接把 MobileNet 系列v1/v2/v3當(dāng)作骨干網(wǎng)絡(luò)后端接 YOLO 系列YOLOv3/YOLOv4的檢測頭形成一套可以在 CPU 和嵌入式設(shè)備上實(shí)際跑起來的檢測方案。很多人第一反應(yīng)是“這不就是個縫合怪嗎”但真正在邊緣設(shè)備上部署過的人會明白這一步縫合解決的是實(shí)打?qū)嵉目ú弊訂栴}。我之前在某個項(xiàng)目里要在一個低功耗盒子上跑實(shí)時檢測原版 YOLOv3 的 DarkNet 骨干一幀推理要 400 多毫秒整個業(yè)務(wù)沒法落地。后來把骨干換成 MobileNet同樣的檢測頭推理時間直接降到 50 毫秒檔位精度損失遠(yuǎn)沒有想象中大。這套組合的適用人群很明確手頭有檢測需求、設(shè)備算力受限、又不想從零設(shè)計(jì)網(wǎng)絡(luò)結(jié)構(gòu)的人。接下來我會按“結(jié)構(gòu)原理 → 環(huán)境與訓(xùn)練 → 自定義數(shù)據(jù)適配 → 避坑 → 部署優(yōu)化”這條線展開把我自己踩過的坑和驗(yàn)證過的參數(shù)習(xí)慣都放進(jìn)去。這篇文章適合兩類讀者第一次接觸輕量化目標(biāo)檢測的新手可以直接按步驟復(fù)現(xiàn)已經(jīng)跑過 YOLO 訓(xùn)練的老手可以重點(diǎn)看第五、六章那里有最容易被忽略的細(xì)節(jié)。2. 網(wǎng)絡(luò)結(jié)構(gòu)與代碼組織為什么 MobileNet 能和 YOLO 自由組合先說結(jié)論YOLO 的檢測頭并不綁定特定骨干它對骨干網(wǎng)絡(luò)的依賴主要體現(xiàn)為“尺度數(shù)量、下采樣倍數(shù)、輸出通道”這三件事。MobileNet 系列恰好在這三件事上滿足要求所以組合是順理成章的而不是靠硬改代碼堆出來的。2.1 MobileNet 三代的核心結(jié)構(gòu)差異深度可分離卷積、倒殘差與 NASMobileNet v1 的核心貢獻(xiàn)是深度可分離卷積。常規(guī)卷積同時做空間特征提取和通道融合計(jì)算量是k×k×C_in×C_out拆開之后先用一個k×k的深度卷積只處理每個通道內(nèi)的空間信息再用1×1卷積做跨通道融合計(jì)算量降到k×k×C_in C_in×C_out在 3×3 卷積下大約是原來的九分之一到八分之一。這個思路后來幾乎成了所有輕量骨干的標(biāo)配。MobileNet v2 在 v1 基礎(chǔ)上加了倒殘差結(jié)構(gòu)和線性瓶頸。倒殘差的順序是先1×1擴(kuò)張通道再做深度卷積最后1×1壓縮回來通道數(shù)從窄到寬再到窄。設(shè)計(jì)動機(jī)是 ReLU 對低維特征會產(chǎn)生信息截?cái)嗨栽谄款i層輸出處用線性激活代替 ReLU。如果骨干輸出特征圖的維度已經(jīng)很低你要注意這一點(diǎn)后續(xù)接入檢測頭時盡量不要再人為壓縮通道。MobileNet v3 引入了神經(jīng)架構(gòu)搜索不再完全靠手工設(shè)計(jì)結(jié)構(gòu)。它在 v2 的基礎(chǔ)上加了輕量級注意力模塊 SE同時把網(wǎng)絡(luò)尾部幾個冗余卷積層直接刪掉激活函數(shù)換成了 h-swish。這幾個改動疊加起來讓 v3 在相同精度下體積比 v2 更小、延遲更低。下面這張表格可以快速對比三代的核心差異版本核心結(jié)構(gòu)主要收益明顯代價v1深度可分離卷積計(jì)算量大幅降低通道間信息融合弱精度一般v2倒殘差 線性瓶頸低維特征保留更好精度提升先擴(kuò)張后壓縮內(nèi)存訪問略增v3NAS 搜索 SE h-swish體積更小速度更快結(jié)構(gòu)碎片化部分硬件不友好選 v1 還是 v3取決于你的底線在哪里。我的習(xí)慣是CPU 上跑選 v3-large追求極致體積選 v3-small想在老設(shè)備上穩(wěn)定兼容選 v2。2.2 YOLO 檢測頭對骨干網(wǎng)絡(luò)的三個硬性要求YOLOv3 和 YOLOv4 的檢測頭不接收單個特征圖而是接收三個不同尺度的特征圖。以 416×416 輸入為例三個特征圖尺寸分別是 13×13、26×26、52×52對應(yīng)下采樣 32 倍、16 倍、8 倍。因此骨干網(wǎng)絡(luò)必須能輸出三個尺度的特征這是第一個硬性要求。第二個要求是特征圖的通道數(shù)不能太低。YOLO 檢測頭會在每個尺度上執(zhí)行一系列卷積如果骨干輸出的通道數(shù)過少信息會過早坍縮小目標(biāo)直接檢測不到。MobileNet v2 最后幾個 bottleneck 的輸出通道通常在 96、192、320 這個量級接入檢測頭時通過1×1卷積做通道對齊語義信息不會丟失太多。第三個要求是感受野要覆蓋到足夠大的范圍。YOLO 在 13×13 這樣低分辨率的特征圖上檢測大目標(biāo)單個點(diǎn)對應(yīng)的感受野必須接近整個輸入圖像。MobileNet 雖然全程使用小卷積核但通過多次下采樣積累了足夠的感受野這一點(diǎn)實(shí)測下來是滿足的。如果骨干替換后大目標(biāo)漏檢嚴(yán)重問題往往出在疊加大卷積核或空洞卷積的位置沒配對。2.3 配置驅(qū)動替換骨干三個組合的代碼路徑是怎樣的這種整合項(xiàng)目的代碼組織方式通常不是“每種組合維護(hù)一套模型文件”而是由一個模型構(gòu)建函數(shù)統(tǒng)一加載配置按 key 去實(shí)例化骨干和檢測頭。我一般會在配置里區(qū)分model.backbone和model.detector兩個字段這樣切換組合時只改配置不動模型代碼。model: backbone: mobilenetv3-large # v1 / v2 / v3-small 均可 backbone_pretrained: weights/mbv3_large.pth detector: yolov3 # yolov3 或 yolov4 num_classes: 20 input_size: 416 anchors: - [10, 13, 16, 30, 33, 23] - [30, 61, 62, 45, 59, 119] - [116, 90, 156, 198, 373, 326]上面的 anchors 列表來自公共數(shù)據(jù)集上的默認(rèn)值換自定義數(shù)據(jù)集時必須要重算這一點(diǎn)在第四章展開。模型構(gòu)建的核心邏輯一般長這樣def build_model(cfg): backbone create_backbone( cfg[model][backbone], pretrainedcfg[model][backbone_pretrained], ) detector create_detector( cfg[model][detector], num_classescfg[model][num_classes], anchorscfg[model][anchors], ) return MobileYOLO(backbone, detector) class MobileYOLO(torch.nn.Module): def __init__(self, backbone, detector): super().__init__() self.backbone backbone self.detector detector def forward(self, x): c1, c2, c3 self.backbone(x) # stride 32 / 16 / 8 return self.detector([c1, c2, c3])邏輯說明create_backbone返回的是三個層的輸出不是單個最終特征圖。create_detector接收一個列表然后在內(nèi)部做特征融合和預(yù)測分支計(jì)算。參數(shù)說明里最需要注意的是 anchors 的層級順序列表第一組對應(yīng) 13×13 大尺度特征圖最后一組對應(yīng) 52×52 小尺度特征圖順序?qū)懛磿霈F(xiàn)小目標(biāo)檢測不到但大目標(biāo)正常這種詭異現(xiàn)象。3. 最小可復(fù)現(xiàn)訓(xùn)練流程環(huán)境配置、參數(shù)修改與首輪訓(xùn)練很多人拿到這類項(xiàng)目先急著改網(wǎng)絡(luò)結(jié)構(gòu)結(jié)果環(huán)境都沒跑通。我建議先按默認(rèn)配置完整跑一遍訓(xùn)練再動結(jié)構(gòu)不遲。3.1 環(huán)境版本選擇PyTorch、CUDA 與依賴的匹配關(guān)系這類輕量檢測項(xiàng)目對 PyTorch 版本不算挑剔但有幾個匹配關(guān)系要留意。我實(shí)測下來PyTorch 1.8 到 2.x 都能正常跑通區(qū)別主要體現(xiàn)在兩方面老版本對新顯卡的自適應(yīng)支持差一些新版本在舊顯卡上偶爾會提示算子不可用。# 建議先裝 PyTorch 主庫再裝其余依賴 pip install torch1.10.0 torchvision0.11.0 # 其余依賴一次裝齊 pip install numpy opencv-python pyyaml tqdm邏輯說明torchvision 只在加載 ImageNet 預(yù)訓(xùn)練骨干時用到如果你打算從零訓(xùn)練檢測頭torchvision 可以不裝少一個版本扯皮的地方。參數(shù)說明openvc-python 負(fù)責(zé)數(shù)據(jù)增強(qiáng)里的圖像讀取和縮放pyyaml 負(fù)責(zé)解析配置文件tqdm 只影響進(jìn)度條顯示裝不裝不影響訓(xùn)練結(jié)果。有一個環(huán)境相關(guān)的提醒如果你的顯卡驅(qū)動只支持 CUDA 10.2不要硬裝 PyTorch 2.x它默認(rèn)編譯的 CUDA 版本更高運(yùn)行時會報(bào)驅(qū)動不兼容。遇到這種情況先nvidia-smi看驅(qū)動版本再反推 PyTorch 版本不要倒過來。3.2 三組關(guān)鍵參數(shù)骨干系數(shù)、輸入分辨率與訓(xùn)練超參訓(xùn)練前首先要確定的是輸入分辨率。416 是這類項(xiàng)目的默認(rèn)平衡點(diǎn)608 能提升小目標(biāo) mAP但推理時間幾乎翻倍320 適合追求速度的場景mAP 比 416 低 2 到 5 個點(diǎn)。我的建議是訓(xùn)練用 416部署到邊緣設(shè)備時再用 320 做一次測試如果精度落在可接受范圍就用 320 推理。train: input_size: 416 # 320 / 416 / 608訓(xùn)練和驗(yàn)證保持一致 batch_size: 16 # 顯存不足時優(yōu)先降到 8而不是調(diào)低分辨率 epochs: 200 lr: 0.001 lr_scheduler: cosine warmup_epochs: 3 freeze_backbone: 20 # 前 20 個 epoch 凍結(jié)骨干只訓(xùn)練檢測頭參數(shù)說明freeze_backbone非常關(guān)鍵。MobileNet 骨干如果隨機(jī)初始化需要大量數(shù)據(jù)才能學(xué)到通用特征加載 ImageNet 預(yù)訓(xùn)練權(quán)重后前 20 個 epoch 凍結(jié)骨干讓檢測頭先適應(yīng)特征分布之后再解凍聯(lián)合調(diào)優(yōu)。warmup_epochs在前 3 輪把學(xué)習(xí)率從 0 線性升到目標(biāo)值能有效避免前幾個 batch 的 loss 劇烈波動。cosine調(diào)度器配合 200 個 epoch收斂曲線比 step 下降更平滑。3.3 一條命令跑通訓(xùn)練從預(yù)訓(xùn)練權(quán)重到 loss 輸出依賴裝好、配置改完訓(xùn)練命令本身很簡單。關(guān)鍵在于權(quán)重文件的位置和命名很多項(xiàng)目運(yùn)行的報(bào)錯都是因?yàn)闄?quán)重路徑配置成了相對路徑而當(dāng)前工作目錄不對。python train.py \ --cfg cfg/mobilenetv3_yolov3.yaml \ --data data/custom.data \ --weights weights/mbv3_large_imagenet.pth \ --epochs 200 \ --batch-size 16邏輯說明--cfg指向模型結(jié)構(gòu)配置--data指向數(shù)據(jù)列表文件--weights是骨干預(yù)訓(xùn)練權(quán)重。參數(shù)說明里的data/custom.data是一個文本文件內(nèi)容通常是classes3 traindata/train.txt valdata/val.txt namesdata/custom.names其中train.txt每行是一張訓(xùn)練圖片的絕對路徑。如果這個文件里混入了不存在的路徑訓(xùn)練時會跳過對應(yīng)圖片跑完才發(fā)現(xiàn)數(shù)據(jù)量少了一半這種錯誤很隱蔽。首輪訓(xùn)練建議只跑 30 個 epoch 做驗(yàn)證看 loss 是否在穩(wěn)步下降同時確認(rèn) loss 量級在正常范圍而不是追求一輪跑完。日志里出現(xiàn)loss: 4.2這種數(shù)值是正常的代表初始預(yù)測還不夠準(zhǔn)等檢測頭訓(xùn)練充分后會降到 1 以下。4. 自定義數(shù)據(jù)集訓(xùn)練格式轉(zhuǎn)換、anchors 重算與收斂驗(yàn)證用公共數(shù)據(jù)集訓(xùn)練只是驗(yàn)證環(huán)境真正要落地必須換成自己的數(shù)據(jù)。這一章講清楚從標(biāo)注文件到訓(xùn)練驗(yàn)證的完整鏈路。4.1 把標(biāo)注數(shù)據(jù)轉(zhuǎn)成訓(xùn)練格式最不容易丟坐標(biāo)的腳本標(biāo)注工具導(dǎo)出最多的格式是 Pascal VOC 的 XML適合做數(shù)據(jù)管理但訓(xùn)練通常要的是 YOLO 格式的 TXT。轉(zhuǎn)換腳本不復(fù)雜但有三個地方容易出錯歸一化坐標(biāo)算錯、小目標(biāo)坐標(biāo)被整除丟精度、類別索引和名稱對不上。import os import xml.etree.ElementTree as ET from PIL import Image def voc_to_yolo(xml_path, img_dir, out_dir, class_map): tree ET.parse(xml_path) root tree.getroot() img_name root.find(filename).text img_w, img_h Image.open(os.path.join(img_dir, img_name)).size lines [] for obj in root.iter(object): cls_name obj.find(name).text box obj.find(bndbox) x1 float(box.find(xmin).text) y1 float(box.find(ymin).text) x2 float(box.find(xmax).text) y2 float(box.find(ymax).text) cx (x1 x2) / 2 / img_w cy (y1 y2) / 2 / img_h bw (x2 - x1) / img_w bh (y2 - y1) / img_h lines.append(f{class_map[cls_name]} {cx:.6f} {cy:.6f} {bw:.6f} {bh:.6f}) out_name img_name.rsplit(., 1)[0] .txt with open(os.path.join(out_dir, out_name), w) as f: f.write(\n.join(lines))邏輯說明核心是先把左上角和右下角坐標(biāo)轉(zhuǎn)成中心點(diǎn)加寬高再除以圖片寬高做歸一化。參數(shù)說明里最容易踩的坑是坐標(biāo)字段在部分工具里會導(dǎo)出成整數(shù)或字符串必須顯式轉(zhuǎn)成 float否則除法的結(jié)果會變成 0小目標(biāo)直接從訓(xùn)練集里消失。4.2 用 K-means 為你的數(shù)據(jù)集重算 anchors而不是硬用默認(rèn)值YOLO 的默認(rèn) anchors 是在特定數(shù)據(jù)分布上聚類出來的直接用在自定義數(shù)據(jù)集上典型結(jié)果是訓(xùn)練正常、loss 正常但小目標(biāo) mAP 極低。原因在于預(yù)置 anchors 尺寸與真實(shí)目標(biāo)尺寸的交并比太小訓(xùn)練時無法選出正樣本。解決辦法是重新聚類。import numpy as np def iou_wh(wh, cluster): min_wh np.minimum(wh, cluster[:, None, :]) inter min_wh[..., 0] * min_wh[..., 1] union wh[..., 0] * wh[..., 1] cluster[:, None, :][..., 0] * cluster[:, None, :][..., 1] - inter return inter / np.maximum(union, 1e-6) def kmeans_anchors(wh_list, k9, iters300): wh_list np.asarray(wh_list, dtypenp.float64) clusters wh_list[np.random.choice(len(wh_list), k, replaceFalse)] for _ in range(iters): iou iou_wh(wh_list, clusters) assign np.argmax(iou, axis1) new_clusters np.zeros_like(clusters) for i in range(k): selected wh_list[assign i] if len(selected) 0: new_clusters[i] selected.mean(axis0) else: new_clusters[i] clusters[i] if np.allclose(clusters, new_clusters): break clusters new_clusters return clusters[np.argsort(clusters[:, 0] * clusters[:, 1])]邏輯說明K-means 聚類的距離度量使用 IoU 距離即d 1 - IoU(box, centroid)這樣聚類結(jié)果與檢測框的交并比直接相關(guān)。參數(shù)說明里k9對應(yīng) YOLOv3/v4 的九組 anchors太小會導(dǎo)致正樣本選擇不平衡太大反而在訓(xùn)練時增加回歸難度。聚類完成后把結(jié)果按面積從大到小排列前三個分給 13×13 特征圖中間三個分給 26×26最后三個分給 52×52然后寫回配置文件。4.3 訓(xùn)練中怎么判斷真的收斂了用 mAP 而不是 loss 曲線訓(xùn)練到后期會看到 loss 還在緩慢下降但 mAP 已經(jīng)不再提升。loss 下降代表回歸損失還在優(yōu)化但如果正負(fù)樣本比例失衡loss 里的分類損失被負(fù)樣本主導(dǎo)mAP 不漲就是典型的無效訓(xùn)練。所以收斂判斷必須依賴驗(yàn)證集指標(biāo)。python val.py \ --cfg cfg/mobilenetv3_yolov3.yaml \ --data data/custom.data \ --weights weights/best.pt \ --iou-thres 0.5 \ --conf-thres 0.25邏輯說明--iou-thres 0.5對應(yīng) mAP0.5這是檢測任務(wù)里最常用的主指標(biāo)--conf-thres 0.25是置信度閾值只在評估時影響預(yù)測輸出數(shù)量不影響 mAP 計(jì)算本身。參數(shù)說明里還有一類指標(biāo)是 mAP0.5:0.95它把 IoU 閾值從 0.5 到 0.95 按步長 0.05 取平均更嚴(yán)苛也更能反映邊框回歸精度。我建議自定義數(shù)據(jù)集上至少看 mAP0.5如果這個值上不去優(yōu)先檢查 anchors 和數(shù)據(jù)格式而不是調(diào)學(xué)習(xí)率。5. 訓(xùn)練避坑清單MobileNet-YOLO 常見的四個翻車現(xiàn)場組合型項(xiàng)目因?yàn)樯婕暗慕Y(jié)構(gòu)多出問題時很難一眼定位。下面四條是我在這些項(xiàng)目上遇到最多、也最容易被誤判的問題每條按現(xiàn)象、原因、解決三步展開。5.1 損失在降mAP 卻一直接近零現(xiàn)象訓(xùn)練 50 個 epoch 后 loss 已經(jīng)從 10 降到 2 左右看起來模型在收斂但驗(yàn)證集 mAP 始終是 0 或者不到 0.01。原因最常見的是 anchors 沒重算。自定義數(shù)據(jù)集中目標(biāo)尺寸和公共數(shù)據(jù)集相差太大默認(rèn) anchors 與真實(shí)框的平均 IoU 全部低于正樣本閾值導(dǎo)致訓(xùn)練過程中幾乎沒有正樣本參與回歸。第二個常見原因是輸入分辨率太低比如原圖 800×800輸入設(shè)為 320小目標(biāo)在特征圖上只占不到一個像素。解決先跑一次第四章的 K-means 聚類把結(jié)果寫進(jìn)配置并檢查順序然后把輸入分辨率提高到 416如果顯存壓力大就保持 416 但減小 batch size。這兩步做完后如果 mAP 還在零附近去檢查數(shù)據(jù)路徑是否指向了錯誤的 txt 文件我見過有人訓(xùn)練集里混入大量空標(biāo)注圖片導(dǎo)致正樣本數(shù)量被稀釋。5.2 訓(xùn)練到一半直接 CUDA out of memory現(xiàn)象訓(xùn)練前面幾個 epoch 正常到某個 epoch 突然報(bào)顯存不足或者 batch size 從 16 調(diào)到 32 后加載數(shù)據(jù)階段就崩。原因一個常見原因是訓(xùn)練策略里開啟了多尺度訓(xùn)練輸入尺寸在 320 到 640 之間隨機(jī)切換碰到大批次加高分辨率顯存峰值翻倍。另一個原因是驗(yàn)證階段把整張圖直接送進(jìn)模型沒有做尺度限制驗(yàn)證集里出現(xiàn)超長圖時顯存直接打滿。解決優(yōu)先開梯度累積把有效 batch size 保持住顯存峰值降下來。做法是在優(yōu)化器更新前累積多個 batch 的梯度accumulate 4 # 等價于 batch_size * 4 optimizer.zero_grad() loss.backward() if (step 1) % accumulate 0: optimizer.step() scheduler.step()邏輯說明梯度累積不是把 batch 拼大而是把梯度等權(quán)疊加后再更新一次權(quán)重效果上近似大 batch 訓(xùn)練。參數(shù)說明里accumulate一般設(shè) 2 到 8太大容易導(dǎo)致 BN 統(tǒng)計(jì)值滯后模型收斂變慢。如果顯存還是不夠再把輸入分辨率從 416 降到 384這一步對輕量骨干的 mAP 損失小于減小 batch size。另外檢查一下訓(xùn)練代碼是否開啟了混合精度torch.cuda.amp能把顯存占用再壓下一截。5.3 換 backbone 后權(quán)重加載報(bào)錯loss 直接變 NaN現(xiàn)象配置里把骨干從 mobilenetv2 改成 mobilenetv3加載之前保存的權(quán)重時報(bào) shape mismatch去掉預(yù)訓(xùn)練權(quán)重后從零訓(xùn)練loss 前幾步正常隨后漲到 NaN。原因不同版本的骨干結(jié)構(gòu)差異導(dǎo)致權(quán)重文件不兼容這不是 bug而是預(yù)期行為。另一個更隱蔽的原因是數(shù)據(jù)預(yù)處理的歸一化參數(shù)不一致v1/v2 統(tǒng)一用 ImageNet 的均值標(biāo)準(zhǔn)差v3 有些實(shí)現(xiàn)會按論文里的均值重新調(diào)整兩者混用會讓批量歸一化層的統(tǒng)計(jì)值瞬間混亂梯度爆炸。解決換骨干后不要嘗試加載舊骨干的權(quán)重重新準(zhǔn)備對應(yīng)版本的 ImageNet 預(yù)訓(xùn)練文件。從零訓(xùn)練時把學(xué)習(xí)率降到 0.0001同時強(qiáng)烈建議把freeze_backbone從 0 改為至少 10讓檢測頭在骨干參數(shù)不動的情況下先穩(wěn)定下來。最后對照配置文件檢查歸一化參數(shù)transforms.Normalize( mean[0.485, 0.456, 0.406], # ImageNet 標(biāo)準(zhǔn)參數(shù) std[0.229, 0.224, 0.225] )參數(shù)說明這三個值幾乎是所有視覺骨干通用的輸入歸一化參數(shù)如果你的配置里寫的是[0, 0, 0]和[1, 1, 1]說明跳過歸一化直接訓(xùn)練這種情況更容易觸發(fā) NaN尤其是在加載預(yù)訓(xùn)練骨干權(quán)重時。5.4 訓(xùn)練驗(yàn)證正常單獨(dú)推理時檢測結(jié)果亂飄現(xiàn)象訓(xùn)練集 mAP 和驗(yàn)證集 mAP 都正常但把模型放到視頻里做單幀推理時檢測框位置抖動明顯偶爾整幀漏檢CPU 上尤其嚴(yán)重。原因推理代碼沒有調(diào)用model.eval()。這個問題的本質(zhì)是批量歸一化層還在按訓(xùn)練模式工作單張圖片推理時 BN 用當(dāng)前 batch 的統(tǒng)計(jì)值而不是全局統(tǒng)計(jì)值而 batch1 的統(tǒng)計(jì)方差極大特征分布被嚴(yán)重扭曲。輕量骨干對 BN 擾動更敏感因?yàn)樗闹虚g特征通道數(shù)更少。解決推理前強(qiáng)制切換模型狀態(tài)并關(guān)閉梯度計(jì)算model.eval() # 關(guān)閉 BN 的 batch 統(tǒng)計(jì)更新 with torch.no_grad(): preds model(img)邏輯說明model.eval()讓所有 BatchNorm 層改用訓(xùn)練時保存的全局均值和方差這是一行代碼遺漏掉就是玄學(xué)。參數(shù)說明里還有一個細(xì)節(jié)如果推理服務(wù)是多線程的每個線程都必須拿到自己的模型副本不要多個線程共享同一個 model 實(shí)例否則 eval 狀態(tài)的切換會相互干擾出現(xiàn)偶發(fā)亂飄。6. 推理優(yōu)化與部署技巧ONNX 導(dǎo)出、int8 量化與一個基準(zhǔn)測試習(xí)慣模型訓(xùn)練好后如果你只在 PyTorch 環(huán)境里驗(yàn)證那還沒有真正落地。這一章是部署前最值得花時間的部分。6.1 用 ONNX 做跨設(shè)備推理輕量模型也要跑通用格式PyTorch 模型直接部署會遇到版本綁定問題換臺機(jī)器就可能因?yàn)榄h(huán)境版本不一致而無法加載。先導(dǎo)出 ONNX后面無論是轉(zhuǎn)其他推理框架還是做混合精度優(yōu)化都會方便很多。導(dǎo)出代如下import torch model build_model(cfg) model.load_state_dict(torch.load(weights/best.pt, map_locationcpu)) model.eval() dummy torch.randn(1, 3, 416, 416) torch.onnx.export( model, dummy, mobilenet_yolo.onnx, input_names[input], output_names[boxes, scores], dynamic_axes{input: {0: batch}, boxes: {0: batch}, scores: {0: batch}}, opset_version12, )邏輯說明導(dǎo)出前必須model.eval()否則 BN 層會被當(dāng)作訓(xùn)練模式導(dǎo)出推理結(jié)果和你驗(yàn)證時不一致。參數(shù)說明里dynamic_axes只把 batch 維度設(shè)成動態(tài)保持寬高為固定 416這樣在部分專用推理引擎上能得到更好的算子優(yōu)化。導(dǎo)出后用 ONNX Runtime 做一次推理和 PyTorch 的預(yù)測結(jié)果對比如果兩類結(jié)果的 box 坐標(biāo)差異超過 1%大概率是導(dǎo)出時把后處理邏輯重復(fù)計(jì)算了或者是 eval 狀態(tài)沒設(shè)置正確。6.2 int8 量化把模型體積和速度再壓一檔MobileNet 骨干在 CPU 上的全精度推理已經(jīng)不錯了但真正上邊緣設(shè)備int8 量化帶來的收益仍然明顯。速度提升通常在 1.5 到 3 倍之間模型體積直接縮小到四分之一。用 PyTorch 自帶的動態(tài)量化可以快速驗(yàn)證一下可行性import torch model_quantized torch.quantization.quantize_dynamic( model, {torch.nn.Linear, torch.nn.Conv2d}, dtypetorch.qint8, )邏輯說明動態(tài)量化只把權(quán)重轉(zhuǎn)成 int8激活值仍然按 float 計(jì)算實(shí)現(xiàn)成本最低。參數(shù)說明里有個關(guān)鍵點(diǎn)量化后必須重新跑一遍完整驗(yàn)證集不能只看幾條樣本。輕量骨干的精度余量本來就小量化掉 1 到 3 個 mAP 點(diǎn)是平均水平如果你的任務(wù)本身對精確框位要求高建議改用量化感知訓(xùn)練在訓(xùn)練階段就模擬量化誤差最后的精度損失會明顯小很多。6.3 一個基準(zhǔn)測試習(xí)慣固定視頻段測 200 幀平均時間很多人在 GPU 上測完幀率就覺得完成了但 MobileNet-YOLO 的價值恰恰體現(xiàn)在目標(biāo)設(shè)備上兩者幀率差距可能有十倍。我的習(xí)慣是準(zhǔn)備一段固定 10 秒左右的視頻包含不同目標(biāo)尺度和光照變化每次優(yōu)化后都跑同一段視頻統(tǒng)計(jì) 200 幀的平均耗時。import time import cv2 import torch cap cv2.VideoCapture(benchmark.mp4) times [] model.eval() with torch.no_grad(): for i in range(200): ret, frame cap.read() if not ret: break img preprocess(frame).unsqueeze(0) t0 time.time() preds model(img) times.append(time.time() - t0) avg_ms sum(times) / len(times) * 1000 print(favg latency: {avg_ms:.1f} ms, fps: {1000 / avg_ms:.1f})邏輯說明統(tǒng)計(jì)的是端到端推理耗時不包括視頻解碼和預(yù)處理因?yàn)檫@兩部分受硬件影響太大分開測才能定位瓶頸。參數(shù)說明里preprocess必須和訓(xùn)練時的預(yù)處理完全一致包括 resize 方式、歸一化參數(shù)、通道順序否則測出來的幀率沒有參考價值。我每次做完一個部署方案都會把這份基準(zhǔn)結(jié)果和當(dāng)時的模型配置、量化配置一起存檔。下次換方案時直接對比記錄而不是靠記憶。希望這個習(xí)慣能幫到你也歡迎你在自己的項(xiàng)目里試試這套組合輕量骨干加 YOLO 檢測頭真正跑起來之后你會對它有個全新的認(rèn)識。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
欧美日韩大黄片| 日本有码影片下载 | 欧美激情另类一区二区| 欧美91久久久久| 26UUU欧美激情一区二区| 一二三四区电影| 秋霞曰韩R级| 福利天堂| 噜噜噜久久亚洲精品色情| 亚洲精品欧洲色| 日韩国产品视频中文字| 国产精品999zyz| 欧美亚洲色的图| 久久久久国产无av| 日本高清免费一本视频在线观看| 国产精品久久久久久久AV大片 | 日本二区不卡| 97视频新免费| 狠狠爱夜夜干| 久久免费老司机精品| 国产真实子伦对白| 欧美日韩人妻婷婷一区| 在线国产探花| 午夜丁香| 在线色导航| 26uuu最新| 欧洲精品一二三在线| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 蜜桃午夜视频一区二区| 国产亚洲欧洲在线观看| 在线视频日韩欧美国产| 亚洲在线| 色图综合| 蜜桃色院一区久久| 国产乱子伦一区二区三区免看| 中文字幕天天天天天| 97欧美性爱| 少妇干B| 国产高清自拍视频| 国产精品永久免费10000| 欧美综合第一页| 亚州成人a∨| 亚洲阿v天堂无码z2018| 亚洲天堂人妻熟妇视频| 尤物网站91| 天天看天天日天天操| 亚洲偷拍欧美激情| 另类专区加勒比| 啊啊啊啊好大好硬啊啊啊啊啊| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 欧美午夜视频免费观看| 国产精品爽爽v| 97伊人网| 国产精品麻豆免费视频| 亚洲日韩精品一区二区| 97天天综合| 夜夜春夜夜操| 日本不卡一区| 性爱乱伦网址| 操逼逼无码| 久久伊人五月天| 奇米四色影视777久久久| 做爱A级亚欧| 日本乱人伦片中文三区| 凸凹视频在线观看| 精品妇女一区二区三区| 精品久久久久久中文字幕三区| 最新亚洲人成网站在线影院| 国产超碰| 日韩三级久久久| 免费人人搞97| 神马影院午夜福利久久久| 污电影在线观看| 亚洲高清综合网| 性爱综合一区二区| 伊人97色天使| 熟妇人妻丰满久久久久久久无码 | 桃花色综合影院| 亚洲一级特黄大片在线播放91| 亚洲精品精品一区二区| 亚洲淫乱骚妇AV| 日韩欧美麻豆 | 51一区二区三区| 欧美一区二区三区另类精品| 青青在线视频日韩欧美| 91社区拍啪人妻| 殴美牲| 中文字幕女同在线| 91久久久亚洲| 99热精品在线播放| 超碰1997| 夜夜騷av、一區二區| 综合久久99| 八戒午夜福利理论片| 秋霞视频一区二区| 91 丝袜在线观看| 中文字幕黑人大片| 国产400孕妇孕交群| 老司机福利青青草| 丁香五月天激情| 超碰538| 天天综合青苹果| 日韩探花精品在线视频| 97干天天| 欲色综合| 国产91啪| 2019午夜福利视频| 亚洲一区中文精品| 国产超碰| 91N综合网| 中文字幕乱亚洲美女精品一区| 精品无码一区二区三区| av片在线观看免费播放| 91色欧美| 91大香蕉伊人| 国产亚洲精品农村妇女| 日韩精品大香蕉伊人在线| 丰满美女一级毛片在线播放| 夜夜嗨绯色| 国产偷人伦激情在线观看| 国产黄片精品在线| 我中文字幕6区| 97资源视频| 打av高清| 97天天摸天天碰| 久久华人网| 国产精品高清2021在线| 男生女生啊啊啊啊| 三级特黄60分钟播放| 试看福利| 手机在线观看不卡无码av| 少妇精品久久久| 久久三| 欧美91色| 亚洲二区精品在线观看| 欧美伦乱爱| 99色热国产视频精品| 欧美黑人168页欧美黑人167| 1区2区3区在线视频| a片久久久久久久久久久久 | www成人啪啪18秘 免费| 欧美高清无码免费视频高清版| 超碰精品| 亚洲综合中文字幕有码 | 91少妇通奸网站| 国产精品午夜高潮呻吟久久av| 女人18精品一区二区三区| 自拍偷拍草一草| 精品久久久久9999| 国产精品白丝在线播放| 日本超碰色精品| 久操精品网| 国内一区二区三区| 久久久艹艹艹| 东亚亚洲无码高清| 天天插网| 好看的91视频| 久久婷五月天| 日韩黄片影院| 91天天综合网| 午夜久久久| 日本91白丝| 天天做日日做| 操逼免费视频无码国产| 人人摸人人入| 精品二区久久| 自拍第一页| 淫色网综合| 婷婷五月天激情网| 囯戸精品高潮呻吟旡码| 97亚洲在线| 精品久久九| 校园春色 亚洲| 女同女同恋久久级三级| 日少妇视频| 色婷视频| 9热9热综合网| 狠狠色色| 日韩Va亚洲va欧美Ⅴa久久| 啊啊啊啊免费视频| 国产成人综合网| 日本人妻伦在线中文字幕| 91欧美少妇| 国产精品久久久777| 日本色色色| 蜜乳AV一区| 日韩av在线精品观看| 偷拍盗拍亚洲色图图片| 3P丝袜熟女 色综合| 色 亚洲 91| 国产精品熟女AV中文字幕在线播放| 综合色99| 干婷婷综合网| 91成人久久| 一级片在线观看高清无码| 尤物网站91| 蜜桃av色偷偷av老熟女| 日韩啪啪视频| 亚洲色阁| 久久精品一区二区三区四区五区| 999精品女人| 9997se| 嗯嗯啊好大| 国产传媒日本欧美专区| 超碰免费人人| 九九碰九九爱97超碰| 69av一区二区三区| 日日干天天干夜夜爽| 亚洲成人贴图| 东北少妇高潮zzzz| 久久综合国产精品国产| 亚洲精品人妻在线| 国产 热久久久久国产精品| 草草影院最新网址| 久久丁香五月婷婷| 熟妇在线视频一区二区| 欧亚性爱啪啪| 综合色色网| 色婷婷导航| 玖玖色综合| 密桃99999| 国产精品久久久亚洲一区| 亚洲少妇色| 美女啊啊啊啊啊啊啊| 大香蕉手机在线视频| 久久综合日韩亚洲欧美| 校园春色宗合网| 色五月AV在线| 97色碰| 国产午夜福利专区综合| 无码视频黄色网战| 亚洲色人妻综合| 日韩精品人妻系列无码天堂| 日韩精品9区| 精品一区二区三区蜜桃| 黄色免费网| 国产 无码 一区二区| 99精品热| 欧美日韩国产一区二区小黄片大全| www.色五月| 少妇免费视频| 一区二区亚州激情久婷婷欧美| 97资源站国产精品| 99这里只有精品国产| 在线观看综合精品亚洲| 一区二区三区四区久久视1| 天天日美女的B| 夜夜嗨视频| 成人激情无码在线视频| 久久人妻丝袜一区二区三| 国产男女无套97| 超碰导航97| 日韩操啪| 日韩三级视频一区二区三区| 中文字幕综合人妻| 偷拍 亚洲 欧美| 久久成人午夜精品影院 | 欧美狠狠弄| 欧美线天码中字| 最新亚洲黄色免费电影| 日本三级久| 日韩久草| 日韩激情毛片一级久久久| 亚洲无码久久久久久久| 中文字幕88av在线| 啊啊啊啊啊啊在线观看| 日韩中文字幕在线视频观看| 99re在线视频国产| 青娱乐999| 91丝袜美女国产| 东京热大香焦| 久久精品国产97欧美精品亚洲 | 精品一二三区久久AAA片| 青青草密桃在线播放| 国产妇女精品视频青青草| 天天澡天天狠天天天做| 色久综合| 美中韩AV综合网| 欧美性Fer办公室秘书| 日本人妻中文字幕| 亚洲瓯美色图| AA级电影三区| 久久久久78| 香蕉黄色一级视频| 免费一级性爱久久| 极品出轨视频网站| 精品国产一区二区三区香蕉欧美| h色99999| 天天干天天操天天拍| 国产激情av女片自拍| 欧美日韩黄色片一区二区三区四区人与兽做爱| 男女啊啊啊| 日本污ww视频网站| 91天美免费| 自偷自拍的亚洲视频| 熟妇一区,二区,三区。| www.91久久| 欧美黑人与女人91| 天天综合网站| 综合 亚洲 欧美| 性爱动态120秒| 男人的天堂va| 高清不卡一二三区视频......| 国产成人在线观看网址| 91逼逼女人91| 涩涩这里只有精品视频| 熟妇一区,二区,三区。| 久久怡红院| 激情文学亚洲| www.狠狠| www.av家庭乱伦| 欧美大香蕉97| 玖玖爱免费观看视频| 熟妇一区,二区,三区。| 香蕉久久国产AV一区二区| 欧美性高潮| 97色伦欧美| 一区操逼| 人妻少妇精品无码专区二区密桃| 91亚洲黑人| 乱操乱伦AV| 99re在线视频| 99re这里只有精品3| 97超碰免费生活| 91路www| 色爱三区| 干超碰碰熟女| 日韩美女高潮喷水视频| 秋霞视频一区二区| 可以免费看黄片的视频| 午夜精品久久久久久久99| 91久操| 搡老熟女免费视频| 亚洲欧洲日韩中文字幕一区| 国产精品午夜成人福利| 成人资源中文字幕在线观看天天| 秋霞成人做爱| 不卡在线观看视频| 欧美天天综合站| 清柠毛片| 看一级黄色视频| 天天夜躁日日躁狠狠2002| 91亚洲欧美综合高清在线| 91视频国品一二三区| 丰满人妻一区二区三区性色| 丰满人妻-区二区三区免费看 | 97超碰大| 91精品国| 96久久久精品| 久久偷拍人| 大香蕉啪啪啪| 日韩一区二区三区四区五区| 亚欧色图在线激情| 久久久久久久久久久久色网| 亭亭在线资源| 国产人妻一区二区三区欧美毛片| 台欧久久精品视频| 亚洲 欧美 天天| 亚洲Av无码成人精品国产| 激情黄色片在线观看| yazhououmeizongya| 97精品国产精品免费观看| 久久久久久久久久久人妻| 成人av动漫在线观看| 1人人看人人摸人人操| 日本阿v天堂在线观看| 丰满高潮18xxxx| 久久产精品一区二区三区电影| 亚洲做性| 欧美色图 色综合图| 国产成人精品网站| 久久久久久久9999| 密臀在线一区尤物| AV色女综合| 国产丝袜一区二区三区| 97天天插| 亚洲少妇免费视频\| 国产美女激情| 亚州欧美总和| 久久精品一区一起草| 97精品国产精品免费观看| 做爱福利视频一区二区| 中文字幕-区二区三区四区视频中国| 好淫网一二三视区| 日韩美女久久一区二区三区| 啊啊啊好湿久久| 熟妇女人妻呻吟久久AV| 国产av热热色| 视频黄站| 青娱乐91| 亚洲?V无码专区在线电影| 日韩免费三级黄片电影| 久操com| 人妻 中文 日韩| 亚乱色| 入口操逼网站| 久久精品一区二区三区不卡| 蜜色网色哟哟| 污污污8888| 不卡一区视频| 5252色欧美在线男人的天堂| 99re视频在线播放青草| 91狠狠综| 尤物网址| 激情99| 丰满少妇一区二区三区专区| 97欧美日韩中文| 久久久91福利姬| 欧美人妻制服| 八戒无码国产午夜福利| 九九探花视频在线观看| 97视频在线免费看| 九九亚洲色在线观看| 欧美亚洲中文字幕| 91看黄片| 一区二区三区在线日韩影院观看| 992大香蕉| www久久国产精品| 中日韩熟女| 99热这里| 69丨亚洲丨精品丨入口免费播放| 色臀AV| 日韩国产不卡在线视频| 亚洲日产专区| 欧美在线|亚洲| 男人的天堂2019| 91人妻精华帖| 东京太热久久久| 亚洲色图 图片| 亚州综合色| 韩国成人精品久久久免费看| 强上我不卡卡| 国产又粗又长又大的视频| 国产精品不卡av免费在线观看| 色色福利| 亚洲一区二区 麻豆传媒| 一区二区三区一亚洲中文字幕、综合区灬 | 亚洲精品99999| 亚洲成a人片在线观看中文!!! | 超碰97护士| 91 亚洲 欧美 日韩 国产 综合| 蜜臀久久一区二区| 99少妇内射| 亚洲色 国产 欧美 日韩| 亚洲国产一区二区三区在线| 天天色综合影视网| 日韩精品黄片免费观看| 97伪v| 亚洲男人综合| 黄色成品网站| A级在线视频| 激情婷婷五月天| 超碰久草| 综合欧美日韩在线观看| 亚洲网污污污污| 日本操逼aaaaa| 蜜臀久久99精品久久综合| 国人欧美精品一区二区| 91男人天堂网| 美女黄频a美女大全免费皮| 天天干天天日天天射黄色片| a亚洲欧美色欲| 97人妻色| 天天综合91| 色999人与兽| 91综合中文字幕| 欧美精品第3页| 色图综合| 91青视频| 日本操逼视频不卡直接放| 91色噜噜狠狠| 操B视频日韩无码| 欧美 综合| 强奸乱伦免费网站| 很很很很操| 亚洲精品啪视频| 欧美性Fer办公室秘书| 一区二区视频在线播放| 久久大香蕉97| 一道本久久棕合爱| 男人女人18禁片免费看网站| 伊人精品视频| 成年人一级黄色毛片大全在线观看| 午夜综合在线| 激情五月天视频| 高清视频一区| 99只有精品| 一级啊性爱在线视频| 少妇色欲综合网2| 一本久道久久综合狠狠爱| 超碰97网站| 躁躁日曰躁2020| 久久久久九九九| 91久| 精品人妻视频一区二区三区蜜桃视频| 久久亚洲AV成人精品无码| 91亚洲黄色网| 美腿丝袜高跟网免费视频免费视频| 正在播放国产精品一区| 大香蕉99re| 高清不卡一二三区视频......| 粉嫩av久久一区二区三区| 在线五区| 9久久9综合| 午夜爽爽爽在线观看永久入口姬片| 亚洲在线综合| 婷婷情色五月天| 欧美黄色片AAAAA| 亚洲午夜未满十八勿入网站日本又色又爽又黄 | 久久精品视频在线观看| www.色婷婷| 国产精品亚洲天堂网址| 精产品久久| 蘋果手機免費看成人Av| 91原创在线观看| 久久精品店| 日语五十路和六十路亚洲国产精品| 中文字幕第23区| 精品久久97| 人人超碰在线观看黄| 亚洲操逼网| 亚洲一级性爱视频免费看| 欧美熟妇精品黑人巨大91| 色天堂综合| 五月黑AⅤ| 日本在线视频导航| 国产亚洲日韩在线三区黑人| 超碰午夜| 欧美天天干| 韩国毛片一区二区三区| 日韩精品人妻中文字幕久久久| 97久久超碰| 日韩丰满熟妇| 欧美αv.com| 精品视频一区二区| 欧美色图20P| 97视频在线免费| 久噜噜| 青青草原综合久久大伊人精品| 激情综合五月| 久久香蕉影院| 不卡免费av在线播放| 在线a v| 黄色片一区二区三区四区五区| 凹凸精品熟女在线观看| 国产精选视频| 十八禁黄色| 色噜噜日韩精品| 蜜臀久久99'精品久久久| 婷婷激情一区二区三区俺也去| 一区二区 韩日AV| 妺妺跟我一起洗澡没忍住| 久久成人午夜精品影院| 人人操人人搞人人草| 你懂的在线观看区国产| 91久久久亚洲| 天天日天天干天天色| 超碰精品日韩欧美国产| 日韩免费三级黄片电影| 日本人妻中文字幕精品| 啪啪啪精品| 最新av中文字幕高清| 家庭乱伦国产精品| 极品综合| 美國A片| 亚洲色 国产 欧美 日韩| 熟女色综合久久| 91久久久久久久| 色悠久久久av| 久久久久久久9999| 精品人妻一区二区三区四区不卡在| 热99re69精品8在线播放| 四虎精品一区二区| 国产精品露脸在线观看| 天天看天天在线精品| 加勒比久久综合网高清| 牛黄色久午久| 色性综合| 色欲人妻一区二区在线| 成人熟女区| 亚洲美腿丝袜香蕉影视欧美成人| 九九九一二三| 岛国黄片网站| 亚洲操人| 天天操天天射青青草| 九草在线大香蕉| 色天使AV天堂| 探花精品 一区二区| 一级毛片久久久久久久女人18| 美國A片| 久久久草成人网站久久久草成人久久久草久久久 | 熟妇人妻一区二区| 久久人妻少妇| 草草草草视频| 一级特黄aaa大片在线观看成人一级片在线观看 | 激情图片伦理国产一区二区日韩| 新视频sss国产| 男人的天堂99| 青青伊人这里只有精品| 欧美九九爱| 中文字幕文字幕无码一区二区三区电影99| 欧美日韩人妻精品系列一区二区三区| 国产精品内射婷婷一级二| 亚洲综合中文字幕有码| 欧美亚洲丝袜美女电影| 麻豆色约约| 人人艹亚洲| 熟女人妻久久中文字幕一二区| 亚州综合色图| 成人精品无码| 国产精品老师| 天天摸天天舔天天操| 91亚洲色图| www网站黄| 久久精品国产99国产精品亚洲| 人人考人人摸人人干| 熟女在线视频| 国产精品96久久久久久| 在线可观看的黄色网址| 偷拍超碰| 国产无码精品久久久久久| 欧美一区二区亚洲天堂| 色娱乐色呦呦夜夜夜夜av| 性猛交| 99热91| 涩亚洲欧洲| 久久久久人妻二区精品叶可怜| 超碰亚洲97| 国产欧美另类久久久精品课程| 青青操狠狠撩| 久久精品电影| 欧美经典一区二区三区| 夜草欧美| 久久久久久亚洲中文| 欧美色图私拍91| jazzjazz国产精品麻豆| 91蜜臀熟女| 欧美综合另类| 综合色图,成人综合网| 91精品人妻一品二品三品| 国产亚洲精品第一最新| 中文在线视频| 囯产操逼片| 97超级色碰碰| 日韩中文字幕在线视频观看| 亚洲情色 无码专区| 曰韩成人免费视频| 老司机香蕉| 人妻久久久久久| 亚洲精品97久久| 91久久久久久久久久久| 少妇一级无码精品| 插老姨肥穴| 福利操逼| 久久禁| 激情网五月天| 亚洲91在线| 亚洲狼狼干综合1| 国产精品毛片?v一区二区三区| 少妇精品久久久| 亚洲日韩美女中文字幕乱| 97少妇人妻中文字幕久久 | 欧美日韩人妻精品一区二区三区| 人人透人人操| 日韩有码专区| 91成人国产综合久久精品蜜月| 精品中文字幕第一页| 人人爽夜夜玩视频| 另类图片五月天| 欧美Ⅴ性爱| 加勒比伊人综合| 久久久久9| 人妻少妇久久中文字幕一区二区 麻豆 | 国产激情综合五月久久| 男人亚洲天堂| 自怕偷自怕亚洲精品| 老司机午夜精品福利视频一区二区| 性色av婷婷久久一区二区点复制| 酒色综合网| 精品然女一区二区| 丁香五月久久| 亚洲天天做日日做天天谢日日| julia ann久久| 女同亚洲欧美一二三区久久电影| 亚洲色图尤物视频| 精品少妇高潮久久| 97 超碰 人人做 人人爱| 亚洲午夜福利视频| 91精品无码久久久久久久| 日本三级韩国三级美三级91| 欧美图片偷拍| 欧美系列在线一区二区| 欧美综合天天| 热热色AV| 日本大香蕉| 玖玖视频在线资源一区二区三区| 日韩性爱人人爱人人操| 欧美翘臀视频网站一区二区三区| 亚洲欧洲久久天堂| 欧美性爱97超碰| 欧美网站免费| 日韩欧美成人综合在线| 国内外内射高清视频| 久久精品电影| 97日视频| 日本天天人人狠狠在线日美女 | 天天躁狠狠躁av| 国产suv精品一区二区四区999| 欧美网站免费| 乱伦1色页| 无码不卡八戒| …亚洲黄色厕厕女女在线播…| 精品中文一区二区| 97超碰热线| 大香蕉碰碰| 久久久国产三级黄色片| 国产精品无码av嫩草| 国产综合色精品在线观看| 亚州黄站| 熟妇一区,二区,三区。| 色综合久久夜色精品国产天堂| 混色激情av| 九九精品热| 91|九色|国产熟女| 自拍大香蕉乱插| 福利视频一区二区微拍| 精品九九国产无码| 91人妻最真实刺激绿帽| 国产在线能看的你懂的| 91九九| 好属操| 婷婷五月天激情四射| 欧美一区二区| 色97干| 天天爽天天操啊啊啊| 亚洲欧美清纯| 夜夜欢天天干| 老熟女网站| 欧美影院一区二区三区| 97视频在线| 日本视频在线中文字幕| 一起草高清无码| 成人五月天丁香激情综合| 亚洲另类天堂| 亚洲码在线中文在线观看| 亚洲国产美女久久久久| 亚洲欧美国产中文视频| 欧美精品久久久久久久丰满| 久久国产熟女影院| 国产曰批免费观看久久久| 人人操人人操人人操人人操人人操人人人11.CM | 久久露脸国产老熟女| 超碰人人草| 少妇超碰在线| 超碰国产情侣自拍网| 亚洲精品欧美专业| 日韩精品9区| 人妻少妇久久| 啊啊啊爽爽| 中日韩一区二区三区欧美| 欧美的性爱网站免费| 欧美黑人精品在线播放| 婷婷丁香五月激情啪啪| 青青草密桃在线播放| 久久精品72| 热热色国产一二区AV| 校园春色 亚洲| 99色网| 日本日逼高清| 五月婷视频| 操学生天天| 亚洲素人综合| 天天草天天日| 熟女人妇一区二区三区| 乱精品一区字幕二区| 国产精品网站免费| 18精品一二区| AA级电影三区| 激情五月天丁香| 麻豆天美传媒在线视频天堂| 蜜桃臀久久| 国产一区二区二区按摩精品啪视频| 开心五月深爱五月| 91精品国| 强奸a片网| 歐美性天天| 综合网天天| 自偷自拍的亚洲视频| 色综合久久88色综合久久天天| 大鸡巴久久| 91伊人久| 中文字幕在线播放2中文字幕在线观看2 | 熟女人妻av在线资源,黄色的资源| 色天使大香蕉| 91色亚洲| 亚洲欧美在线观看2021| 99自拍B亚洲| 国产丁香精品露脸视频| 吖在线不卡一区二区国产剧情 | 亚洲熟女综合网| 久久九九国产精品| 韩国女主播青草在线| 91熟女丨91老女人| 日本成人电影资源网| 蜜桃在线观看一区二区三区| 婷婷丁香人妻| 日本一区二区做爱的视频| 中文字幕片| 少妇久久久久久| av大香蕉| 亚春色色| 黄片在线免费在线观看| 97超碰亚洲| 亚洲最新Av| AV天天在线观看| 综合色区偷拍| 一区二区三区机械有限公司| 97超碰人操| 天天草夜夜草高潮片| 第二页中文字幕| 欧美色图20p| 久久精品人体AV| julia国产在线 | 欧美天堂日韩三级国产传媒| 爱逼综合| 69精品少妇一区二区三区蜜桃| 欲综合网| 97人人射| 东北熟女91| 屌逼麻豆| 无码人妻一区二区三区免费九色| 久久xx| 久久香蕉国产线看观看亚洲女人 | 久久中日麻豆| 蜜乳Av成人片网站| 亚洲Av噜噜一区二区三区妖精| 亚洲精品乱码线路中文字幕| 九热大香蕉| 在线观看高清AV| 欧美天堂第二区| 中文字幕aⅴ在线视频| 大香蕉伊然在亚洲91| 5278欧美一区二区三区| 国产视频97| 人妻久久久| 尤物av网站免费在线播放| 在线天堂999| 国产精品毛片?v一区二区三区| 亚洲欧洲第二视频在线观看色图| 男人a天堂手机在线版| 白嫩白嫩的午夜九久久久久久久久久久久成人剧场 | 欧美色图自拍| 五月综合激情| 午夜男女爽爽大片免费观看| 老汉网| 中文字幕精品区先锋资源| 蜜臀久久99精品久久久久久成人小说 | 自拍大香蕉乱插| 亚洲色图欧美色18直播在线| 九九九九九九九精品视频| 亚洲本色精品一区二区久久| av一区二区三区四区五区久草臀| 福利伊人玖玖国产| 久久久青青草| 91殴美大片| 国岛片视频| 亚洲情色视频| 婷婷五月天无码| 91丨九色丨东北熟女| 九九九九热| 一二三四视频在线社区中文字幕| 色婷网| 无码久久亚洲高清,| 精国久久一区二区三区98| 大香蕉乱伦视频网| 偷拍偷窥与盗摄视频专区| 超碰久久精品| 久操99| 国产女人91精品嗷嗷嗷嗷| 欧美999| 天堂精品一区| 中文字幕日韩精品一区二区三区| 精品伊人久久久大香线蕉小说| 国产精品操| 亚洲国产亚洲天堂| 少妇毛片久久| 91狠狠综合久久久| 熟女五十路一区二区三| 亚洲丝袜综合| 人人九九精| 亚洲综合99999| 啊啊啊啊嗯嗯嗯用力好爽| 人妻一区视频| 日韩强奸av| 色色九区| 久久精品无码不卡| 91挑色欧美| 国产视频三区四区| 久久婷色| 91精品人妻电影| 亚洲成人性爱网站在线播放| 天美传媒婬乱在| 97欧美久久久久久久| 97青娱乐超碰久久| 久久国产精品一级二级三级| 国产又操| 色乱二区| 婷婷丁香九月| 久久黄片国产一区二区| 少妇综合网| 欧美97在线欧| 人妻丝袜一区二区三区在线| 俺去啦自拍| AV久日| 99热日| 欧美激情色婷婷花野真衣一区二区| 欧美精品在线观看| 免费观看有码高清视频| 91丨九色丨43老版熟女| 黄色视频特级毛片| 欧美极品性爱天天射| 国产乱伦亚洲色图高清无码| 84YTCOM性无码| 色香欲影| 夜夜嗨视频| 男人的天堂网页| 欧美日韩中文字幕人妻| 亚洲狠| 国产97视频| 亚洲激情综合另类| 九九九免费视频| 翔田千里AV无码秘 三区| 精品国产乱码久久久久久蜜臀| 欧美激情在线观看视频| 奶水 人妻 哺乳 在线| 欧美碰碰综合色| 一起草视频在线| 国产日韩久久| 亚洲午夜未满十八勿入网站日本又色又爽又黄 | 国产家庭乱伦表演| 丝袜人妻av一区二区| 成人小说另类在线| 日韩欧美大力操| 免费αⅴ在线观看| 人人爱人人操人人性| 人人看人人摸人人色| 婷婷五月av| 亚 欧 美 综合| 色五月69夫妻| 亚洲污污网站| 黑丝制服中文字幕| 丰满人妻一区二区三区免费| 欧美黑人熟妇精品91| 日产操逼| 一线黄色免费性爱片| 欧亚性爱视频免费看| 99热精品在线| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 久久久久久久9| 国产精品点击进入在线影院高清| 1769国内精品视频| 亚洲超碰AV| 亚洲日韩一区电影| 欧美婷婷久久| 久久精品无码不卡| 97综合久久| 久久精品中文字幕观看| 日韩无码成人电影| 欧美美女在线高潮999| 一级黄碟| 日本一二区不卡| 日韩在线性爱免费视频| 久9热| 久久仑合| 97亚洲色图| 两女互慰AV高潮喷水在线观看| 国产亚洲色婷婷久久99精品91葵花宝典| 婷婷中文字幕| 91爱做| 免费试看60秒| 无码乱人伦中文视频| 久久久久精| 伊人久久亚洲色欲综合网站 | 国产激情在线| 精品中文字幕第一页| 天天干天天做| 麻豆传媒一区二区在线观看| 熟女人妻精品一区二区视频| 亚洲AV无码AV吞精久久久久| 亚洲高潮少妇| 天天日熟妇| 熟妇xxxxx性春色| 婷婷色在线| 操少妞在线视频| 国产兽交视频在线播放| 色狠狠色| 综合一区二区影视| 极品欧美一区二区三区| 日本一级一级一级一级| 久久综合av| 无码久久亚洲高清,| 五月婷婷色色| 蜜桃臀一区二区三区久久| 国产二区三区免费视频| 亚洲第一综合| 久久风骚城市| 成人激情无码在线视频| 爽爽爽免费视频| 色姑娘综合网| 天天插天天干| 亚洲色欧| 91 亚洲 欧美 日韩 国产 综合| 六月丁操逼| 思思久热在线精品66| 日韩人妻少妇 一区二区三区| 欧美精品,四区。五区| 91搞逼视频| 亚洲综合在线高清| 麻豆精品一区二区三区四区免费观看| 日本3级一区二区免费| 日韩精品国模| av网页一区二区三区| 嗯嗯啊好大| 日本一区视频在线观看| 超碰 另类 欧美| 91大神精品长腿在线观看网站| 爱爱动态120秒| 亚州综合色| 特污免视频| 中文字幕熟女人妻丝袜| 青青草日韩无码| 外国免费性情大片| 欧洲色色| 国产乱子伦一区二区三区在线观看| 日韩av乱伦| 少妇精品| 啊啊啊好爽快点啊啊啊嗯嗯| 丰满人妻一区二区三区免费| 屌色在线97视频| 啊啊啊啊啊啊好多水| 玖玖97综合| 久久精品国产精品一区| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 亚洲不卡一| 婷婷色导航| 91精品91久久久久77777俄罗斯老妇姓x| 一区二区三区精品黑丝白丝酒店对鸡 | 亚洲欧美性生活| 国产一区二区三区免费视频在性观看| 97 超碰 人人做 人人爱| 嫩草在线视频| 色香伊人| 亚洲中文字幕av| 97超碰中文在线| 日韩少妇丰满亚洲| 91精品国产日韩欧美综合| ...日韩成人一区二区三区字幕| 在线啊v一区| 国产精品第一页国产大屁股视频免费区| 欧美色棕合| 999精品国产高清一区二区| 超碰天天操| 国产久久久久久久久一区二区| 好爽视频在线观看| 97硬碰| 国产九九九九九九九九| 久9精品| 久久久久久久久久久久黄色 | wwwss在线观看| 人人操人人色网| 欧美91网站| www.yw尤物| 久久亚洲中文字幕视频| 91九九九吃| 性色一线| 在线视频免费播放一区| 精品人妻av区天天看片| 国产精品。| 99热91| 亚洲色系另类精品国产| 97久操| 日韩人妻网站| 日韩999| 乱伦色图网址是多少| 深夜激情 | 亚洲91在线| 超碰视97中文| 四虎影库国产精品免费| 青娱乐国产精品| 欧亚日韩中文在线| 99热日| 91 国产丝袜在线放观看| 欧亚性爱视频免费看| 国产强奸乱伦无码视频| 欧美后入式| 97超碰在线资源网站| 无码免费一区二区三区啪啪| 激情网色| 日韩精品资源专区二区| 国产日本顶级一区二区三区| 夜精品久无码| 毛片17S| 丁香五月天视频| 国产亚州高清国产拍精| 国产家庭乱伦表演| 91亚洲综合在线| 我想要啊 啊 啊| 日日夜夜青青草母狗| 日韩精品国产精品五码一区二区| 国产亚洲美日韩Aⅴ中文字幕无码成人| 亚洲久9| 国产日韩美女小穴视频网站不卡| 天天插夜夜爽| 欧美狠狠弄| 91neishe| 99精品在线| 国产情侣自拍在线播放| 亚洲AV噜噜狠狠网址蜜桃动漫| 老司机福利青青草| 亚洲精品99999| 欧美激情 亚洲色图| 国产后入清纯| 极品久久久久久久久久久久久久| 亚洲成人一二三区| 亚洲欧美一区二区三区在钱蜜桃| 人人透人人操| 伊欧美综合视频| www成人啪啪18秘 免费| 亚洲成a人片在线观看中文!!!| 影音先锋每日最新资源在线观看| 思思热一热婷婷热一热| 内射老妇BBWX0C0CK| 亚洲情色综合| 青草综合| 亚洲无码com| 搡老熟女免费视频| 日韩视频精品在线观看| 午夜福利国产欧美日韩夜夜| 天天影视色香欲综合网小说| 青青青国产| 99少妇| 日日干日日摸| 91欧美www| 奶水 人妻 哺乳 在线| 天天操天天舔| 色九久| 免费国产视频| 亚洲不卡三级手机播放| 试看日韩黄片| 国产精品无码成人精品| 自拍偷拍国产欧美日韩韩| 国内精品久久人妻性色av| 亚洲av综合色区图片亚洲| 最新三级网址| 亚洲精品aa久久伊人| 国产精品亚洲美女久久久久| 91丨九色丨熟女高潮| 婷婷色一区| 亚州色图狠狠干| 日韩久草|