免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

YOLO+PyQt5實(shí)現(xiàn)超市商品識(shí)別:從選型到落地的完整方案

YOLO+PyQt5實(shí)現(xiàn)超市商品識(shí)別:從選型到落地的完整方案 簡(jiǎn)介目標(biāo)檢測(cè)是計(jì)算機(jī)視覺(jué)的核心任務(wù)旨在從圖像中定位并分類多個(gè)物體。YOLO作為單階段檢測(cè)算法的代表一次前向傳播即可完成定位與分類憑借實(shí)時(shí)性和對(duì)小目標(biāo)的良好支持在工業(yè)場(chǎng)景中得到廣泛應(yīng)用。結(jié)合Python生態(tài)中的PyQt5與OpenCV能夠快速搭建具備圖形界面的桌面視覺(jué)應(yīng)用支持圖片、攝像頭和RTSP視頻流等多種輸入源?;谶@一技術(shù)組合可以實(shí)現(xiàn)超市商品識(shí)別、自助結(jié)算等實(shí)用系統(tǒng)解決傳統(tǒng)圖像處理在光照變化和相似外觀區(qū)分上的痛點(diǎn)。本文從技術(shù)選型、環(huán)境配置到核心代碼實(shí)現(xiàn)完整梳理了一套可落地的工程方案為開發(fā)者提供從模型訓(xùn)練到界面交互的實(shí)戰(zhàn)參考。 做超市商品識(shí)別這個(gè)項(xiàng)目說(shuō)實(shí)話最開始我是被朋友拉去救場(chǎng)的。他們想做一個(gè)自助結(jié)算的原型機(jī)找的幾家外包報(bào)價(jià)離譜而且交付的模型在真實(shí)貨架上一測(cè)就露餡小瓶飲料和洗發(fā)水經(jīng)常分不清。后來(lái)這個(gè)項(xiàng)目落到我手上我用YOLOPyQt5重新搭了一套圖片、攝像頭、RTSP視頻流都能跑界面也做成了帶操作按鈕的桌面程序客戶看了演示直接拍板。這篇文章就把整套方案的選型思路、核心代碼、踩坑記錄都攤開講給想快速落地同類項(xiàng)目的朋友一個(gè)參考。文章適合有Python基礎(chǔ)、想了解YOLO實(shí)際工程落地或正在做桌面端視覺(jué)應(yīng)用的開發(fā)者新手也能跟著環(huán)境配置部分一步步跑起來(lái)。1. 項(xiàng)目整體設(shè)計(jì)與技術(shù)選型思路1.1 為什么超市商品識(shí)別選擇了YOLO方案超市商品識(shí)別這個(gè)場(chǎng)景第一眼看過(guò)去好像不難但真正做起來(lái)全是坑。貨架上的商品密集擺放同類商品不同口味的外包裝高度相似光照變化大還有反光、遮擋、變形的問(wèn)題。最典型的例子就是可樂(lè)和雪碧瓶身形狀一樣顏色一深一淺傳統(tǒng)圖像處理靠顏色直方圖去區(qū)分換個(gè)燈光環(huán)境就廢了。更別說(shuō)同一個(gè)商品換個(gè)角度、被其他商品擋住一半模板匹配類算法基本全部失效。YOLO屬于單階段目標(biāo)檢測(cè)算法一次前向傳播同時(shí)完成目標(biāo)定位和分類速度快特別適合超市這種需要實(shí)時(shí)反饋的場(chǎng)景。而且YOLO家族發(fā)展到現(xiàn)在對(duì)小目標(biāo)的檢測(cè)能力已經(jīng)有了很大提升密集排列的飲料瓶、牙膏盒都不在話下。對(duì)比一下傳統(tǒng)方案和YOLO方案的差異就很清楚了對(duì)比維度傳統(tǒng)圖像處理方案YOLO方案目標(biāo)定位需要手寫特征滑動(dòng)窗口復(fù)雜度高端到端回歸邊界框天然支持多目標(biāo)光照魯棒性對(duì)光照極其敏感需大量預(yù)處理CNN特征對(duì)光照變化有較強(qiáng)適應(yīng)力相似外觀區(qū)分紋理、顏色特征區(qū)分度不足可學(xué)習(xí)深層語(yǔ)義特征區(qū)分相似SKU實(shí)時(shí)性能多階段串行處理慢單階段GPU加速輕松跑實(shí)時(shí)新增品類每增加一類都要重新設(shè)計(jì)特征只需補(bǔ)充標(biāo)注數(shù)據(jù)重新訓(xùn)練即可人工設(shè)計(jì)特征的時(shí)代已經(jīng)過(guò)去了讓模型自己從數(shù)據(jù)里學(xué)特征才是正解。YOLO在準(zhǔn)確率和召回率之間能做到很好的平衡推理速度也夠用是商品識(shí)別這類落地項(xiàng)目最穩(wěn)妥的算法底座。1.2 技術(shù)棧選型的真實(shí)考量整套系統(tǒng)我選的是PythonYOLOPyQt5OpenCV的組合這個(gè)組合不是隨便湊的每一步都有明確考量。Python作為主語(yǔ)言是因?yàn)檎麄€(gè)深度學(xué)習(xí)生態(tài)它的支持最好。Ultralytics官方Y(jié)OLO包、PyTorch推理框架、OpenCV圖像處理庫(kù)全是Python優(yōu)先支持算法驗(yàn)證和工程落地的效率都很高。雖然Python在GUI性能和啟動(dòng)速度上不如C但對(duì)于商用原型機(jī)和中小型項(xiàng)目來(lái)說(shuō)開發(fā)效率的收益遠(yuǎn)大于這點(diǎn)性能損耗。YOLO模型選用Ultralytics YOLOv8。需要注意一點(diǎn)YOLOv8的Ultralytics版本使用的是AGPL-3.0協(xié)議如果是商用項(xiàng)目要么購(gòu)買企業(yè)授權(quán)要么就要認(rèn)真評(píng)估合規(guī)風(fēng)險(xiǎn)。這個(gè)我在后面專門說(shuō)。模型本身支持圖片、視頻流、攝像頭等多種輸入源一鍵推理接口封裝得很好對(duì)快速交付非常友好。PyQt5做桌面界面看中的是它的成熟穩(wěn)定和控件豐富程度。Qlabel顯示圖像、QPushButton綁定操作、QThread處理多線程這套組合在工業(yè)視覺(jué)項(xiàng)目里已經(jīng)被驗(yàn)證過(guò)無(wú)數(shù)次了。相比PySide6PyQt5的文檔和踩坑案例更多遇到問(wèn)題基本都能搜到解決方案。OpenCV負(fù)責(zé)視頻流的讀取和圖像預(yù)處理。VideoCapture配合多線程可以穩(wěn)定拉取USB攝像頭和RTSP網(wǎng)絡(luò)攝像頭的數(shù)據(jù)流轉(zhuǎn)成YOLO輸入格式也方便。整個(gè)鏈路從圖像采集到結(jié)果展示用這四個(gè)開源組件就能完整覆蓋。1.3 商用落地前必須想清楚的三件事技術(shù)方案能跑通只是第一步真正商用落地還得想清楚三件事。第一件是模型訓(xùn)練數(shù)據(jù)從哪來(lái)。超市商品SKU動(dòng)輒幾千個(gè)每個(gè)品類的有效標(biāo)注樣本至少需要一兩百?gòu)堖@還不算同品類的不同包裝、不同批次。實(shí)際項(xiàng)目中我通常先用公開數(shù)據(jù)集把模型預(yù)訓(xùn)練到能用的程度再用真實(shí)貨架照片做遷移學(xué)習(xí)。拍照的時(shí)候要注意覆蓋不同光照、不同角度、不同擺放姿態(tài)最好讓客戶提供多門店的實(shí)拍素材這樣模型的泛化能力才有保障。第二件是推理硬件成本。用一個(gè)RTX 3060級(jí)別顯卡跑YOLOv8s模型一張圖大約20到40毫秒客戶現(xiàn)場(chǎng)如果是普通辦公電腦沒(méi)有獨(dú)立顯卡CPU推理就要慢很多。所以項(xiàng)目開始前一定要確認(rèn)客戶現(xiàn)場(chǎng)的硬件條件如果沒(méi)有GPU要么選YOLOv8n這種輕量模型要么建議客戶加一塊顯卡這兩者的方案差距很大事先不確認(rèn)清楚后面會(huì)很難辦。第三件事是后續(xù)維護(hù)責(zé)任邊界。商品包裝更新?lián)Q代是常態(tài)模型部署上線之后新增SKU、舊SKU下架誰(shuí)來(lái)負(fù)責(zé)數(shù)據(jù)更新和模型重訓(xùn)都要在合同里寫清楚。不然客戶每周都有新品上架全指望你免費(fèi)迭代這個(gè)項(xiàng)目就變成一個(gè)填不滿的坑了。2. 環(huán)境準(zhǔn)備與基礎(chǔ)依賴配置2.1 從零搭建Python虛擬環(huán)境不管你是Windows還是Linux機(jī)器第一步都是創(chuàng)建一個(gè)獨(dú)立的Python環(huán)境千萬(wàn)別直接往系統(tǒng)Python里裝一大堆包。我之前吃過(guò)虧系統(tǒng)Python環(huán)境被裝亂了連pip都用不了最后只能重裝系統(tǒng)那種痛苦希望你不要體驗(yàn)。# 創(chuàng)建虛擬環(huán)境 python -m venv venv_supermarket # 激活虛擬環(huán)境 # Windows venv_supermarket\Scripts\activate # Linux/Mac source venv_supermarket/bin/activate虛擬環(huán)境激活后再安裝依賴包。下面是我的requirements.txt版本都經(jīng)過(guò)實(shí)測(cè)驗(yàn)證直接用不會(huì)出問(wèn)題。ultralytics8.0.222 PyQt55.15.9 opencv-python4.8.1.78 numpy1.24.4 Pillow10.0.0 torch2.0.1 torchvision0.15.2提示PyTorch的安裝建議去PyTorch官網(wǎng)用CUDA匹配的命令安裝不要直接pip install torch。GPU版本的torch對(duì)顯存利用率和推理速度的影響非常大CPU版本在視頻流場(chǎng)景下很容易成為性能瓶頸。2.2 PyQt5安裝中的兩個(gè)高頻坑PyQt5的安裝本身不復(fù)雜但有兩個(gè)坑我每次遇到都有人問(wèn)。第一個(gè)坑是pip安裝速度極慢或者直接超時(shí)。PyQt5的wheel包體積不小幾十兆到上百兆都有國(guó)內(nèi)網(wǎng)絡(luò)直連官方PyPI源經(jīng)常下載到一半就斷了。解決方法是使用國(guó)內(nèi)鏡像源速度能提升十倍以上。pip install PyQt5 -i https://pypi.tuna.tsinghua.edu.cn/simple第二個(gè)坑是界面中文亂碼。PyQt5的默認(rèn)字體對(duì)中文支持不好界面上按鈕、標(biāo)簽一遇到中文就顯示成方塊。解決辦法是在程序啟動(dòng)時(shí)統(tǒng)一設(shè)置字體我習(xí)慣用微軟雅黑Windows和Linux的兼容性都還不錯(cuò)。from PyQt5.QtGui import QFont app.setFont(QFont(Microsoft YaHei, 9))2.3 商品識(shí)別模型權(quán)重與數(shù)據(jù)標(biāo)注準(zhǔn)備項(xiàng)目里我用的預(yù)訓(xùn)練權(quán)重是yolov8s.pt和yolov8n.pt分別應(yīng)對(duì)有GPU和無(wú)GPU兩種現(xiàn)場(chǎng)條件。如果你做的是全新品類的識(shí)別千萬(wàn)不要直接拿COCO預(yù)訓(xùn)練權(quán)重去識(shí)別你的商品COCO的80個(gè)類別里沒(méi)有洗發(fā)水、薯片、飲料這些具體SKU直接用的話什么都檢測(cè)不出來(lái)。必須要用你自己標(biāo)注的商品數(shù)據(jù)重新訓(xùn)練。數(shù)據(jù)標(biāo)注工具我用的是labelImg老牌穩(wěn)定支持YOLO格式的txt標(biāo)注文件直接導(dǎo)出。每張圖片的標(biāo)注文件格式是class_index x_center y_center width height其中x_center、y_center、width、height都是歸一化到0-1區(qū)間的比例值不是像素坐標(biāo)。訓(xùn)練完成后生成best.pt權(quán)重文件這個(gè)就是后面部署推理用的核心模型文件。標(biāo)注的時(shí)候有個(gè)細(xì)節(jié)一個(gè)商品如果被遮擋超過(guò)一半我通常還是會(huì)把沒(méi)被遮擋的部分標(biāo)出來(lái)但會(huì)打上低置信度的標(biāo)簽。這樣模型能學(xué)到部分遮擋情況下的特征。完全無(wú)法辨認(rèn)的目標(biāo)就不標(biāo)避免給模型傳遞錯(cuò)誤信息。3. 核心功能模塊實(shí)現(xiàn)與關(guān)鍵代碼拆解3.1 圖片檢測(cè)模塊從單張圖片開始驗(yàn)證效果圖片檢測(cè)是整套系統(tǒng)的基礎(chǔ)模塊也是效果驗(yàn)證最快的方式。模型拿到一張圖片輸出檢測(cè)框、類別和置信度畫框顯示出來(lái)。這個(gè)模塊的實(shí)現(xiàn)邏輯很清晰。from ultralytics import YOLO import cv2 # 加載訓(xùn)練好的模型 model YOLO(weights/best.pt) # 執(zhí)行推理 results model.predict( sourcetest_images/shelf_01.jpg, conf0.35, # 置信度閾值 iou0.45, # NMS IoU閾值 imgsz640, # 輸入尺寸 devicecuda:0, # 使用GPU無(wú)GPU則填cpu ) # 輸出檢測(cè)結(jié)果 for r in results: boxes r.boxes for box in boxes: cls_id int(box.cls[0]) conf float(box.conf[0]) x1, y1, x2, y2 [int(p) for p in box.xyxy[0]] label f{model.names[cls_id]} {conf:.2f} print(f檢測(cè)到: {label}坐標(biāo): ({x1}, {y1}, {x2}, {y2}))這里有一個(gè)非常重要的參數(shù)conf置信度閾值。閾值設(shè)高了漏檢多貨架上密集擺放的商品容易漏掉后排的閾值設(shè)低了誤檢多相似的包裝很容易被認(rèn)錯(cuò)。我在實(shí)際項(xiàng)目中一般先用0.25跑一遍看效果再根據(jù)檢測(cè)結(jié)果逐步上調(diào)到0.35到0.4之間找到一個(gè)漏檢和誤檢平衡的點(diǎn)。如果單獨(dú)跑predict沒(méi)有出現(xiàn)任何報(bào)錯(cuò)但結(jié)果圖里什么都沒(méi)有先別懷疑代碼直接用下面這段代碼把推理后的圖像保存出來(lái)看看確認(rèn)模型是否真的輸出了空結(jié)果以及畫框是否成功。annotated_frame results[0].plot() cv2.imwrite(output/shelf_result.jpg, annotated_frame)3.2 視頻流檢測(cè)模塊本地視頻、攝像頭、RTSP全支持視頻流檢測(cè)是這套系統(tǒng)的重頭戲。商品識(shí)別如果只能看靜態(tài)圖片實(shí)用性會(huì)大打折扣接入攝像頭或者RTSP視頻流才能真正用于超市的實(shí)時(shí)監(jiān)控和自助結(jié)算場(chǎng)景。視頻流處理的關(guān)鍵在于逐幀讀取和多線程并發(fā)不然界面會(huì)卡成PPT。OpenCV的VideoCapture可以統(tǒng)一處理本地視頻文件、USB攝像頭和RTSP網(wǎng)絡(luò)流只是source參數(shù)不同# 本地視頻 cap cv2.VideoCapture(test_videos/checkout.mp4) # USB攝像頭 cap cv2.VideoCapture(0) # RTSP網(wǎng)絡(luò)攝像頭流 cap cv2.VideoCapture(rtsp://admin:password192.168.1.100:554/stream1)RTSP接入的關(guān)鍵在于協(xié)議參數(shù)很多攝像頭默認(rèn)配置用OpenCV打開會(huì)黑屏或者斷流。我一般會(huì)加上ffmpeg后端參數(shù)并且關(guān)掉緩沖來(lái)降低延遲cap cv2.VideoCapture( rtsp://admin:password192.168.1.100:554/stream1, cv2.CAP_FFMPEG ) cap.set(cv2.CAP_PROP_BUFFERSIZE, 1) # 降低緩沖減少延遲幀率控制也需要關(guān)注。如果攝像頭是30幀但模型推理只有10幀的處理能力直接逐幀推理會(huì)導(dǎo)致積壓和延遲越來(lái)越大。標(biāo)準(zhǔn)做法是設(shè)置一個(gè)目標(biāo)FPS通過(guò)控制幀間隔來(lái)做丟幀處理。target_fps 15 frame_interval int(1000 / target_fps) last_time cv2.getTickCount() while True: ret, frame cap.read() if not ret: break current_time cv2.getTickCount() elapsed (current_time - last_time) / cv2.getTickFrequency() * 1000 if elapsed frame_interval: results model.predict(frame, conf0.35, iou0.45, imgsz640) annotated results[0].plot() # 顯示或推送到界面 last_time current_time3.3 PyQt5桌面界面設(shè)計(jì)布局與交互邏輯PyQt5的界面我采用左右分欄布局左側(cè)是實(shí)時(shí)畫面顯示區(qū)右側(cè)是結(jié)果信息區(qū)。操作按鈕放在底部包括打開圖片、打開攝像頭、打開視頻流、停止檢測(cè)、保存截圖這幾個(gè)核心功能。核心控件三件套是QLabel顯示畫面、QPushButton操作按鈕、QTextEdit日志信息。界面代碼如下class MainWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle(超市商品識(shí)別系統(tǒng)) self.setMinimumSize(1280, 800) # 中間畫面顯示 self.video_label QLabel(self) self.video_label.setAlignment(Qt.AlignCenter) self.video_label.setMinimumSize(960, 600) self.video_label.setStyleSheet(background-color: #1e1e1e; color: #ffffff;) # 右側(cè)信息面板 self.info_text QTextEdit(self) self.info_text.setReadOnly(True) # 按鈕區(qū) self.btn_image QPushButton(打開圖片) self.btn_camera QPushButton(打開攝像頭) self.btn_stream QPushButton(打開視頻流) self.btn_stop QPushButton(停止檢測(cè)) self.btn_stop.setEnabled(False) # 用布局管理器排列 layout self._build_layout() # ...省略布局細(xì)節(jié)界面設(shè)計(jì)有個(gè)值得強(qiáng)調(diào)的思路信號(hào)與槽機(jī)制是PyQt5的核心。按鈕點(diǎn)擊后觸發(fā)信號(hào)槽函數(shù)里啟動(dòng)相應(yīng)的檢測(cè)任務(wù)。這里有個(gè)關(guān)鍵點(diǎn)所有耗時(shí)操作不能在主線程里執(zhí)行否則界面會(huì)卡死。檢測(cè)任務(wù)要放到QThread工作線程里通過(guò)信號(hào)把檢測(cè)結(jié)果傳回主線程更新界面。from PyQt5.QtCore import QThread, pyqtSignal class DetectionThread(QThread): frame_ready pyqtSignal(object) # 畫面更新信號(hào) result_ready pyqtSignal(dict) # 檢測(cè)結(jié)果信號(hào) def __init__(self): super().__init__() self.running False self.source None self.model YOLO(weights/best.pt) def run(self): cap cv2.VideoCapture(self.source) while self.running: ret, frame cap.read() if not ret: break results self.model.predict(frame, conf0.35, iou0.45) annotated results[0].plot() # 將OpenCV BGR圖像轉(zhuǎn)為RGB再轉(zhuǎn)成QImage用于界面顯示 rgb_image cv2.cvtColor(annotated, cv2.COLOR_BGR2RGB) h, w, ch rgb_image.shape qimage QImage(rgb_image.data, w, h, ch * w, QImage.Format_RGB888) self.frame_ready.emit(qimage)這個(gè)線程類是整個(gè)視頻檢測(cè)模塊的核心。main window拿到frame_ready信號(hào)后把QImage顯示到QLabel上界面就實(shí)時(shí)刷新了。結(jié)果信息每次檢測(cè)后統(tǒng)計(jì)各類商品數(shù)量通過(guò)result_ready信號(hào)傳給界面右側(cè)顯示。4. 線程架構(gòu)、推理性能與界面交互的最優(yōu)實(shí)踐4.1 多線程架構(gòu)別把主線程拖死PyQt5用戶界面運(yùn)行在GUI主線程里如果在主線程里直接調(diào)用模型推理視頻流一來(lái)界面就全卡住按鈕點(diǎn)了沒(méi)反應(yīng)最小化都費(fèi)勁。所有的耗時(shí)操作包括視頻讀取、模型推理、圖像處理都必須放到單獨(dú)的工作線程里。我推薦用QThread方案結(jié)構(gòu)清晰信號(hào)與槽天然適合跨線程通信。檢測(cè)線程拿到每一幀推理完通過(guò)信號(hào)把結(jié)果發(fā)回主線程主線程只負(fù)責(zé)顯示兩邊各干各的事互不阻塞。更復(fù)雜的場(chǎng)景還可以引入任務(wù)隊(duì)列。視頻讀取線程只負(fù)責(zé)讀幀往隊(duì)列里塞推理線程從隊(duì)列里取幀處理顯示線程展示結(jié)果。三個(gè)線程用Queue解耦好處是每一幀的耗時(shí)波動(dòng)不會(huì)影響其他環(huán)節(jié)。比如某一幀推理特別慢讀幀線程不會(huì)卡住隊(duì)列可以緩沖顯示線程也不會(huì)因?yàn)檫@一幀拖慢后續(xù)幀。4.2 推理參數(shù)工程化調(diào)優(yōu)不只是調(diào)conf和iou很多人只調(diào)conf和iou兩個(gè)參數(shù)就完事了實(shí)際上還有幾個(gè)參數(shù)對(duì)最終效果影響巨大。imgsz參數(shù)決定輸入模型的圖像尺寸。默認(rèn)640如果你貨架上的商品都很小可以試960小目標(biāo)的檢出率會(huì)明顯提升。但代價(jià)是推理時(shí)間翻倍這個(gè)要根據(jù)實(shí)際硬件來(lái)權(quán)衡。我用RTX 3060測(cè)試640尺寸約25毫秒/幀960尺寸約60毫秒/幀流暢度差距明顯。半精度推理是白撿的性能提升。GPU推理時(shí)把模型和輸入轉(zhuǎn)為fp16推理速度可以提升30%到50%精度損失在絕大多數(shù)場(chǎng)景下肉眼不可見。只需在predict時(shí)加一個(gè)參數(shù)results model.predict(frame, conf0.35, iou0.45, imgsz640, halfTrue)批處理vs單幀推理。如果做的是離線批量識(shí)別幾百?gòu)垐D片可以一次性傳入整個(gè)圖片列表模型自動(dòng)批處理吞吐量會(huì)高很多。但視頻流場(chǎng)景必須逐幀推理批次大小固定為1此時(shí)線程架構(gòu)比推理參數(shù)更影響整體流暢度。4.3 界面流暢度優(yōu)化QImage格式轉(zhuǎn)換的小技巧視頻流畫面從OpenCV到PyQt5展示中間必須經(jīng)過(guò)數(shù)據(jù)類型轉(zhuǎn)換。這個(gè)轉(zhuǎn)換如果做不好性能差距可以到好幾倍。OpenCV的圖像格式是BGRPyQt5的QImage是RGB。很多人用cv2.cvtColor一個(gè)個(gè)通道轉(zhuǎn)換速度很慢。我的做法是直接用QImage的Format_RGB888格式配合numpy數(shù)組的內(nèi)存布局一次性轉(zhuǎn)換到位避免逐像素操作。def convert_cv_to_qimage(cv_img): rgb_image cv2.cvtColor(cv_img, cv2.COLOR_BGR2RGB) h, w, ch rgb_image.shape bytes_per_line ch * w return QImage(rgb_image.data, w, h, bytes_per_line, QImage.Format_RGB888)還要注意QLabel顯示大圖時(shí)使用scaled縮放會(huì)消耗不少CPU。商品識(shí)別畫面通常是1920x1080的而界面顯示區(qū)域可能只有960x600直接setPixmap原始尺寸會(huì)讓界面刷新變慢。正確做法是做一次帶比例縮放的resizepixmap QPixmap.fromImage(qimage) scaled_pixmap pixmap.scaled( self.video_label.size(), Qt.KeepAspectRatio, Qt.SmoothTransformation ) self.video_label.setPixmap(scaled_pixmap)5. 實(shí)際項(xiàng)目中的典型問(wèn)題與排查經(jīng)驗(yàn)5.1 線上環(huán)境常見問(wèn)題速查表做過(guò)的項(xiàng)目多了踩過(guò)的坑也多了。我把商品識(shí)別項(xiàng)目里最常遇到的幾個(gè)問(wèn)題整理成一張速查表遇到對(duì)應(yīng)癥狀可以直接按表排查。癥狀問(wèn)題原因解決方案啟動(dòng)后窗口假死模型加載放到了主線程模型初始化放到檢測(cè)線程的run方法里視頻畫面卡頓但CPU占用不高未加幀間間隔無(wú)限循環(huán)讀幀按目標(biāo)FPS控制幀處理間隔檢測(cè)框錯(cuò)位輸入圖像尺寸與顯示尺寸不一致圖像resize時(shí)記錄縮放比例坐標(biāo)按比例映射中文標(biāo)簽顯示亂碼PyQt5默認(rèn)字體不支持中文程序啟動(dòng)時(shí)統(tǒng)一設(shè)置QFont中文字體GPU顯存占用持續(xù)上漲推理結(jié)果未釋放或video capture緩存堆積每次循環(huán)結(jié)束時(shí)顯式del results控制隊(duì)列長(zhǎng)度RTSP斷流后無(wú)法自動(dòng)恢復(fù)沒(méi)有重連機(jī)制檢測(cè)線程捕獲異常后自動(dòng)延遲重連小商品總檢測(cè)不到imgsz太小小目標(biāo)特征丟失提升imgsz至960或裁剪感興趣區(qū)域后檢測(cè)5.2 一個(gè)最典型的排查案例有一次客戶反饋說(shuō)攝像頭接入后畫面斷斷續(xù)續(xù)檢測(cè)結(jié)果還經(jīng)常延遲好幾秒。我遠(yuǎn)程看了日志發(fā)現(xiàn)是RTSP拉流后每幀都做推理但攝像頭是25幀推理只有8幀的處理能力隊(duì)列里積壓了大量幀延遲越來(lái)越大。排查思路是先把推理性能和推流性能分開測(cè)。用一段本地視頻測(cè)試發(fā)現(xiàn)推理穩(wěn)定在8幀左右排除了模型本身的問(wèn)題。再單獨(dú)拉RTSP測(cè)試發(fā)現(xiàn)視頻讀取本身沒(méi)問(wèn)題。最后定位到問(wèn)題就是沒(méi)有做幀丟棄和隊(duì)列長(zhǎng)度控制。解決方案是加了一個(gè)有界隊(duì)列隊(duì)列滿時(shí)直接丟棄最舊的幀保證處理的一定是最新畫面。修改后延遲降到300毫秒以內(nèi)客戶現(xiàn)場(chǎng)體驗(yàn)完全可接受。暴露這個(gè)案例是想說(shuō)明視頻處理項(xiàng)目里80%的性能問(wèn)題都不是算法的問(wèn)題而是架構(gòu)設(shè)計(jì)的問(wèn)題。幀的生產(chǎn)速度和消費(fèi)速度不匹配就必須引入緩沖和丟幀策略這個(gè)思想在任何視頻AI項(xiàng)目里都通用。5.3 訓(xùn)練數(shù)據(jù)不充分的應(yīng)急方案有些項(xiàng)目時(shí)間很緊客戶給的圖片只有幾十張直接訓(xùn)練出來(lái)的模型泛化能力很差。這個(gè)階段我一般會(huì)做兩件事。第一是數(shù)據(jù)增強(qiáng)。用albumentations庫(kù)做隨機(jī)水平翻轉(zhuǎn)、亮度對(duì)比度擾動(dòng)、隨機(jī)裁剪縮放、加噪聲把幾十張圖片膨脹到兩三百?gòu)?。注意翻轉(zhuǎn)操作要謹(jǐn)慎商品上的文字翻轉(zhuǎn)后會(huì)變成反的這類樣本應(yīng)去掉或者特殊處理否則模型會(huì)學(xué)到錯(cuò)誤特征。第二是加載預(yù)訓(xùn)練權(quán)重做遷移學(xué)習(xí)。用COCO預(yù)訓(xùn)練模型作為初始權(quán)重凍結(jié)前幾層卷積特征提取層只訓(xùn)練后面的檢測(cè)頭。這樣即使數(shù)據(jù)量少也能利用到預(yù)訓(xùn)練模型學(xué)到的通用視覺(jué)特征。做法是在訓(xùn)練腳本里設(shè)置model YOLO(yolov8s.pt) # 加載預(yù)訓(xùn)練權(quán)重 # freeze層數(shù)可以根據(jù)數(shù)據(jù)量調(diào)整 results model.train( datasupermarket.yaml, epochs100, imgsz640, freeze10, # 凍結(jié)前10層 lr00.001, # 學(xué)習(xí)率調(diào)低防止破壞預(yù)訓(xùn)練特征 batch16, )數(shù)據(jù)量不足時(shí)訓(xùn)練輪數(shù)不能開太大否則會(huì)過(guò)擬合。我一般控制在100輪左右同時(shí)用早停策略驗(yàn)證集損失連續(xù)20輪不下降就自動(dòng)停止。6. 項(xiàng)目交付與持續(xù)迭代的實(shí)操細(xì)節(jié)6.1 客戶現(xiàn)場(chǎng)的模型更新流程模型訓(xùn)練完善后客戶現(xiàn)場(chǎng)要更新模型怎么辦很多項(xiàng)目死在交付后的維護(hù)環(huán)節(jié)因?yàn)槊看味荚诳蛻魴C(jī)器上手動(dòng)換文件、重啟程序既低效又容易出錯(cuò)。我的做法是把模型文件放到一個(gè)固定的models目錄程序啟動(dòng)時(shí)掃描目錄下所有.pt文件界面上加一個(gè)下拉框切換模型??蛻裟玫叫履P臀募胚M(jìn)目錄后在界面上一選程序自動(dòng)重新加載并生效完全不需要重啟。代碼邏輯很簡(jiǎn)單def reload_model(self, model_path): if hasattr(self, detection_thread) and self.detection_thread.isRunning(): self.detection_thread.stop() self.detection_thread.wait() self.detection_thread DetectionThread() self.detection_thread.set_model(model_path) self.detection_thread.start()這個(gè)流程極大降低了客戶的維護(hù)門檻后期新增SKU或優(yōu)化識(shí)別效果時(shí)客戶自己就能操作不需要每次叫你去現(xiàn)場(chǎng)。6.2 誤檢率和漏檢率如何平衡商品識(shí)別項(xiàng)目驗(yàn)收時(shí)客戶最關(guān)心的就是誤檢率和漏檢率。這兩個(gè)指標(biāo)此消彼長(zhǎng)。你把conf閾值調(diào)高漏檢減少但誤檢增加因?yàn)槟P筒淮_定的樣本會(huì)被當(dāng)作負(fù)樣本過(guò)濾掉調(diào)低conf閾值模型更容易把相似的誤檢為同一類但漏檢會(huì)減少。沒(méi)有一個(gè)參數(shù)是萬(wàn)能解。我的經(jīng)驗(yàn)是分場(chǎng)景定策略。自助結(jié)算場(chǎng)景寧可多問(wèn)一句也不放過(guò)任何商品適合用高召回率即把conf調(diào)低到0.2左右盤點(diǎn)機(jī)器人場(chǎng)景追求的是準(zhǔn)確統(tǒng)計(jì)庫(kù)存寧可漏檢也能事后補(bǔ)充適合用高精度conf調(diào)到0.5以上。實(shí)操中我會(huì)在程序里加一個(gè)精確度模式切換下拉框讓現(xiàn)場(chǎng)人員根據(jù)實(shí)際場(chǎng)景選擇模式不同模式自動(dòng)切換不同的conf和iou參數(shù)組合。這樣既保證了靈活性也讓客戶感受到系統(tǒng)的人性化設(shè)計(jì)。6.3 關(guān)于商用授權(quán)的一點(diǎn)提醒最后這個(gè)話題一定要提千萬(wàn)不要忽略。如果你用的是Ultralytics官方Y(jié)OLOv8它默認(rèn)是AGPL-3.0協(xié)議這個(gè)協(xié)議要求任何基于它的衍生作品都必須以相同協(xié)議開源。換句話說(shuō)如果你直接把它封裝成商業(yè)軟件賣給客戶又不開放自己軟件的源代碼嚴(yán)格來(lái)說(shuō)是存在合規(guī)風(fēng)險(xiǎn)的。我在商用項(xiàng)目中會(huì)提前做合規(guī)評(píng)估。方案一是購(gòu)買Ultralytics的企業(yè)授權(quán)價(jià)格按項(xiàng)目規(guī)模計(jì)算預(yù)算充足又追求省事的客戶可以選這個(gè)。方案二是自行實(shí)現(xiàn)或選用其他寬松協(xié)議的目標(biāo)檢測(cè)模型比如YOLOv5的某些開源版本用的是GPL協(xié)議情況也不同需要具體分析。方案三是在合同中明確告知客戶模型算法的授權(quán)限制把風(fēng)險(xiǎn)轉(zhuǎn)移給客戶決策。不要因?yàn)檫@個(gè)事情翻車技術(shù)再好授權(quán)問(wèn)題沒(méi)有理清項(xiàng)目交付后還可能面臨法律風(fēng)險(xiǎn)。我在項(xiàng)目交付前都會(huì)把這一項(xiàng)列成文檔和客戶核對(duì)確認(rèn)保護(hù)自己也保護(hù)客戶。這套系統(tǒng)的完整落地思路到這里就差不多講完了。從YOLO選型、PyQt5界面設(shè)計(jì)到線程架構(gòu)、參數(shù)調(diào)優(yōu)再到客戶現(xiàn)場(chǎng)交付的細(xì)節(jié)都是我在項(xiàng)目里一步步驗(yàn)證過(guò)的方法。最后再說(shuō)一個(gè)我個(gè)人的操作習(xí)慣每次上線之前我都會(huì)找一批客戶現(xiàn)場(chǎng)完全沒(méi)見過(guò)的照片跑一遍模型專門看那些置信度徘徊在0.3到0.4之間的樣本。這批樣本往往能暴露模型泛化能力的真實(shí)水平比看訓(xùn)練集指標(biāo)有效得多。多花半小時(shí)做這個(gè)驗(yàn)證能幫你在客戶現(xiàn)場(chǎng)少熬三個(gè)通宵。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产性爱一级| www.色欲丁香婷婷| 综合性爱网| www.天天色综合| 婷婷大香焦| 欧美日韩成人高清在线| 国产乱妇乱子伦| 激情人妻综合| CAOBIBI| 久久婷婷五月天懂色| 婷婷深爱五月亚洲综合| site:xiongshengzz.com| Av在线资源| 亚洲五月婷婷| 啪啪91| 草做免费在线观看| 密乳视频| 在线五月色播| 丁香婷婷人妻| 成片免费观看视频大全| 久久久香| 欧美黄色一级| 久月久在线视频| 激情AV| 狠狠干夜夜干| 色五月综合激情| 99热色无码| 大胆伊人久久| 色婷婷瘦婷婷日韩| 综合狠久久| 五月丁香色综合| 九九色99| 91人人网| 99色在线视频观看| 色婷婷综合久色AV五色最新| 久久婷婷激情五月天一区二区| 婷婷WWW久久| 丁香网五月天| 日韩在线看AV| 97啪在线观看视频| 99久久五月婷婷| 国产古装妇女野外A片| 久久99网| 任你艹| 99精品小视频| 丁香 亚洲 久久| 婷婷开心六月| 激情五月婷婷五月| 热99精品视频五月| 婷婷射图| 大香蕉久| 天天插天天射| av操B网站| 日日夜夜天天| 狠狠色婷婷色| 99精品一二三四视频| 99热免费网站| 五月婷婷av在线| 欧美日比视频| 亚洲激情综合免费| 婷五月丁香俺| 99久在线精品99re5热视频| 五月丁香啪| 久噜久噜| 婷婷在线观看五月天在线视频| 色99最新网址| 亚洲精品在线视频| 无码人妻一区| 婷婷五月天com| 婷婷黄色| 日本三级色| 狼人久草| 久久最新色| av 一区三区四区| 色玖玖网| 天堂久热| 九九九激情综合| www.99婷婷| 欧洲亚洲免费视频区| 99热草草| 玖玖色综合色| 中文字幕无码人妻少妇免费视频| 久久综合99| 五月天婷婷爱丁香中文字幕| 激情五月六月婷婷综合啪啪| 婷婷五月天无码| 狠狠操狠狠插| 国产亚洲精品久久久久久郑州| 精品成人无码A片观看香草视频| 亚洲精品视频在线播放| 大香蕉久久综合网| 色色色综合色| 五月天夜夜爱夜夜操| 国产精品香蕉| 丁香五月性爱| 9久热在线精品| 亚洲人妻Av| 99re思思| 婷婷射婷婷舔| 久久久免费精彩视频| 午夜精品人妻无码一区二区三区| 伊人色五月| 天天肏高清在线| 婷婷丁香五月亚洲欧美| 色J香五月天| 99九九视频| 91碰碰碰| 色欧美日| 草AV9999| 六月婷婷中文字幕| 超碰免费人人| 丁香婷婷色色| 久久这里只有精品22| 成人版视频在线观看| 99热在线播放| 五月丁香毛片| 天天草天天日| 激情AV| 99久久婷婷综合| 欧洲综合视频| 亚洲综合五月| www.夜夜爱.com| 婷婷五月天激情小说| 婷激情五月| 色婷婷9| 亚洲无码99| 婷婷六月天| 婷婷六月丁香激情| 天天综合网91| 九月婷婷综合网| 98毛片| 涩综合婷婷| 亚洲综合五月天婷婷丁香| 强奸幻女毛片| 天天精品视频在线观看视频| 欧美日韩欧美| 9er热在线精品视频| 亚洲九九九九| 婷婷五月花| 人妻视频一区而且二区| 很很干在线视频| 欧美日韩成人一区二区| 色一情一乱一乱91Av| 在线综合婷婷| 中文字幕日产A片在线看| 国产成人综合亚洲| 激情 婷婷 插| 五月丁香激情综合| 雪千夏麻豆| Xx色综合| 日韩黄黄| av激情在线| 天天综合网亚洲网站| 婷婷五月色| 日本三级日本三级三级人妇四虎| 99在线精品视频| 熟惀91九色在线| 丁香婷婷激情综合五月激情| www,超碰| 任你爽精品免费视频6| 五月永久激情| 色XX综合网| 婷婷六月综合激情| 欧美六月婷婷| 新激情五月天天在线网| 26uuu丁香婷婷五月| 青青草原精品久久| 激情玖玖综合网| 国产丁香五月天婷婷| 99视频| 亭亭色色五月天| 99这里有精品视频| 欧洲一区二区| 五月丁香六月欧美综合网站| 2014天天爽| 日本在线va| 伊综合蕉| 超碰在线综合| 激情綜合網址| 思思热闹这里只有精品| 亚洲男女激情| 亚洲V国产V欧美V久久久久久| 99热最新国内| 五月天激情综合网俺也去| 色婷婷婷综合五月天| 99热久久这里只有精品2010| 97色色色| 操人视频91| 内射综合网| 干亚洲天堂| 99热免| 日韩成人综合网| 天天日天天肏天天奸| 激情综合在线播放| 91丨九色丨熟女|老版| 欧美婷婷丁香五月社区| 狠狠色丁香| 欧美丁香六月在线观看视频| 97人人射| 亚洲久久婷婷| 丁香五月婷婷综合精品素人| 97干干干丁香| 无码色综合| 丁香五月激情网| 一本久道综合99| 色婷婷综合久久久久| 操碰99| 五月激情开心婷婷| 欧美熟妇一区二区三区| 欧美色色色色色色色| www,久久久| 99无码精品| 岛国资源网| 97色综合视频| 婷婷五月六月| 九九热区一区二区三区| 日本婷婷在线| 色www久视频| 日本熟女内射| 五月天堂色| 第九色区av天堂| 99日这里只有精品| 成人在线视频网| 免费看欧美成人A片无码| 色色网五月激情| 婷婷五月网图片区| 大战熟女丰满人妻AV| 婷婷丁香五月天中文字幕| 伊人婷婷色| av狠狠操| 99这里只有| 99色综合网| 亚洲色就是色色色| 久99| 色天五月天在线观看视频| 九色视频91疯狂| 久久精品99国产精品日本| 五月花激情| 九九久久五月天| 欧美激情综合五月色丁香| 久久婷婷五月综合色和| 亚洲激情淫网| 综合久久影院| 婷婷日韩| 久久er99热精品一区二区| 色色a| 五月激情四射婷婷丁香| 伊人婷婷大香蕉| 青青草伊人婷婷| 五月婷婷狠狠干| 五月久久亚洲| 深爱激情五月天色婷婷| 九九久久五月天综合伊人| 国产成人综合亚洲| 国产毛片精品一区二区色欲黄A片| 色综合综合色| 丁香开心深爱| 五月色婷婷在线观看| 伊人五月天久久| 天天日天天爽| 这里只有精品视频免费在线观看| 天天日天天插| 五月天另类小说| 亭亭丁香久久五月| 婷婷九月| 久久婷婷精品| 五月丁香成人| 久久大香蕉同僚| 五月停亭久久电影| 中文字幕视频色婷婷| 亚洲无码播放| 亚洲熟女色| 天天操屄网| 国产寻花在线| 欧美天天综合网站上去吧| 一区操| 午夜69成人做爰视频| 五月丁香无码| 五月天色图| 99热都是精品| 五月天综合色| 色性日本| 思思久久99热只有频精品66| 色婷婷五月天小说网| 久久九九爽| 中文字幕,综合,91| 午夜爱插插| 九九一区| 亚洲午夜国产成人电影VA国产欧…| 日本狠狠色| 天天日天天添| www.激情五月天。com| www狠狠爱com| 久久综合五月婷婷| 亚洲婷婷激情综合激情999精品| 九日日夜夜69| 强奸幻女毛片| 五月婷婷草| www.色色com| 色婷婷亚洲综合天堂| 国产露脸150部国语对白| 五月婷婷影院| 亚洲视频在线观看| 9精品久久999| 狠狠色综合无线观看| 丁香六月成人| 亚洲AVwwwwwww| 久色大香蕉| 婷婷激情97| 天天操天天插天天射| 久综合4| 伊人在线另类| 超碰A V在线| 色婷大香蕉| 婷婷激情五月天激情小说| 香蕉久久五月| 伊人丁香五月婷婷潮吹| 99亚洲视频| 人人澡玖玖一| 激情五月婷婷欧美极品| 狠狠干青青草| 欧美啪啪9| 91狠狠综合久久| 激情五月天婷婷久久久久久久久久久| 亚洲激情免费视频| 久久激情综合| 激情小说色五月| 色都都狠狠色都都色综合色| 久久9精品| 大香蕉伊人久久| 男人天堂亚洲综合| 丁香婷五月天| 人人草人人爱| 婷婷中文字幕| 99精品丁香五月| 五月丁香亭亭A片| 琪琪色五月婷婷老师| 亚洲啪啪自拍| 99操视频| 亚州AV超碰人人操| 4399在线日本A片| 激情五月天综合网| 色婷婷无吗| 人妻久热| 91操色| 婷婷六月五月天综合| 欧美va在线观看| 久久久噜噜噜久久人妻| 欧美色必爱| 337p大胆噜噜噜噜噜91Av| 亚洲激情五月丁香久久久久| 五月天色色网站| 懂色av粉嫩av蜜臀av| 欧美日韩国产一区| www.五月天社区| 狠狠色综合网| 五月丁香视频色色| SS丁香五月婷婷| 丁香五月色情| 精品久久婷婷| 欧美色爱五月天| 天天狠狠夜夜狠狠2023| AA丁香综合激情| 91VIP在线观看| 久久亚洲A| 五月天淫乱视频| 成人做爰A片免费看网站找不到了| 黄色成人网站在线播放| 婷婷va| 婷婷在线视频| 色性综合| 成人在线网| YW无码| 五月婷婷香蕉| 开心婷婷五月| 六月丁香激情综合网| 五月天婷婷久久视频| 黄桃AV无码免费一区二区三区| 超碰在线人妻| 日韩久久色| 在线超碰精品| 99热这里只有精品最新| 国产视频色色色色色色色| 久/久精品99看9| 综合五月天| 久久99大| 五月天激情网页| 欧洲色色| aaa丁香五月天| 五月婷啪| 日本久久婷婷| 亚洲AV人人操| 亚洲最大在线| 日本欧美在线| 精品久色| 五月丁香在线| 色色成人網| WWW.婷婷| 天天 青草 制服丝袜 在线| 九九这里是免费的视频5| 久热伊人在91| 五月丁花六月丁香综合| 五月天AV大香蕉| 99在线精品视频免费观看20| 日本9区视频| 这里只有精品9| 欧美日韩成人h| 五月综合激情视频| 色婷婷狠狠禁久久| 99热这| 99在线小视频| 五月丁香色综合| 激情久久 婷婷| 久热免费视频| 中文字幕在线观看视频www| 久久激情网| 五月丁香久久综合| 新久久五月天激情| 欧美三级巜人妻互换| 五月天欧美 另类小说| 99ER热精品视频| 亚洲看av的网站| 91色色五月天| 五月丁香六月在线| 亚洲精品国产成人AV在线| 激情小说五月天| 5月激情天| 天天日天天色| 丁香五月天在线| 中文字幕婷婷在线| 丁香六月啪啪| 5月婷婷激情6月| www超碰com| 亚洲久久激情| 色一区高清| 国产XXXX搡XXXXX搡麻豆 | 激情五月天在线免费美女视频| 日韩av网站在线观看| 日韩综合天堂| 五月婷婷六月丁香激情综合网| 五月天天丁香婷婷| 91狠狠色色丁香婷婷综合久久| 日本九九九九| 教师性爱毛片| 丁香五月综合婷婷| 国产精品色色色色| 久久婷婷人人| 免费视频WWW在线观看网站| 日日激情网| 久色五月天| 天天色视频| 三级大香蕉网| 欧美丁香五月97色| 综合色、色综合| 99热这里只有精品55| 色色婷婷丁香| 九一九九黄色| www.天天干| 99亚洲色色| 天天插天天日| 色色亚洲五月天| 婷婷和五月天| 日本情色一区二区| 激情五月综合网| 看久久性爱99视频| 日本婷婷网| 九九超日本| 99无码| 中文字幕乱轮| 日韩99色| 99re免费精品视频| cao视频,现在观看| 五月婷婷综合在线| 五月婷精品| 淫荡综合网| 色吧五月| 高清国产一级婬片a免费| 久99视频| 99热免费精品| 天天日,天天插| 丁香五月图片| 日本三级韩三级99久久| 五月婷婷丁香五月| 综合福利网| 开心激情网在线| 五月激激激情综合网| 亚洲美女婷婷五月天| 狠狠干在线| 丁香8月手机综合| 激情五月婷婷丁香| 国产激情av| 久热网站| 色综合网综合| 色的色综合| 久激情网| 九色91美女| 色色综合五月| 丁香五月婷婷香| 丁香网站| 婷婷综合网站| 日本婷婷| 欧美婷婷综合| 热九九精品| 久久超视频| 久久五月综合| 五月久久丁香| www久热com| 天天 日综合| aaaaa黄色| 九九AV在线| www激情| 欧美日本黄色| 天天插天天干| 激情婷婷丁香| 五月天婷婷综合网| 桃色五月天| 欧美人妻一区二区| 一本久道综合色婷婷五月| www国产亚洲色婷婷com| 色五月成人在线| 亚洲色婷婷激情| 99热这里只有精品在线免费| 开心五月天私房婷婷| 丁香五月自拍| 丁香五月婷婷六月婷婷| 婷婷五月激情热播| 青青草搞屄视频网站| 噜一噜免费视频| 99热乎| 狠狠色噜噜狠狠色噜噜噜999| 日本精品99| 婷婷亚洲综合| 性爱AV天堂| 婷婷五月天最新综合你懂的 | 丁香六月高清视频| 五月丁香欧美综合免费视频| 伊人狠狠操| 狠狠干伊人| 丁香五月开心五月激情| 丁香色婷婷五月天| 丁香五月开心亚洲| 婷婷伊人綜合中文字幕| 狠狠干天天日| 国产精品久久久久久妇女6080| 538在线精品| 九九热9| 欧美精品99| 91九色精品熟女内射| 婷婷大香蕉| 天天综合网站| 天天射天天插天天干| 亚洲成人av中文| 99色在线视频观看| 99操中文视频| 激情婷婷丁香五月| 久热这里只有精品视频免费观看| 丁香五月天激情综合| 五月丁香好婷婷A片网| 二色av| 天天爽天天操| 九一牛视频探花| 天天综合网~91综合网| 婷婷五月成人色综合| 久久久久综合激动五月天| 九九亚洲小视频| 五月婷婷激情综合网| 日本天堂爱爱| 性做爰1一7伦| 蜜乳人妻一区二区三区| 天搞天天天天天| 国产热精品| jiZZdr| 午夜丁香婷婷| 丝袜熟女一区二区三区| 五月婷婷影院| 亚洲精品性色| 国产免费AV网站| 公的粗大挺进了我的密道| 97超级碰人人| 99成人网一区| 99爱免费视频| 这里只有精品视频99| 影音先锋91在线资源站| 久草五月婷婷| 五月色俺婷婷| 色色操| 婷婷视频在线| 欧美精品999| 综合五月激情| 五月天成人网婷婷| 青青草原伊人网| 极品人妻VIDEOSSS人妻| 五月天天综合| 国产精品国产VA片国产| 大香蕉啪啪啪| 9 1大香蕉| www.天天干.com| 天天精品视频免费观看| 国产成人片| 啪啪色区| 激情九九综合网| 91精品久久久久久综合五月天| 婷婷丁香综合网| 激情丁香婷婷| 婷婷综合网| 国精产品一区一区三区免费视频| 色欲五月婷婷| 另类综合婷婷五月天欧美视频| 四色五月婷婷| 九九综舍久久| 亚洲天码视频www蛋播视频| 丁香六月婷婷久久综合| 人伦30P| 国产裸舞表演WWWW| 风流少妇A片一区二区蜜桃| 任你操精品免费| 五月六月激情| 成人精品视频99在线观看免费 | 怡红院 久久| 激情五月婷| 日本韩国视频在线观看社区免费的9| 精品久色| 色色色99| 婷婷九月亚洲| 色五月丁香婷婷久草| 成人五月天综合网| www.日韩艹| 婷婷五月天小说| av色婷婷| 婷婷综合亚洲| 97婷婷在线| 5月婷婷五月天| 老美AA片| 天天艹夜夜爽| 香蕉久久国产AV一区二区| 丁香 婷婷 激情 综合 五月| 曰曰久久| 久久香蕉福利| 91婷婷色五月| 久久婷婷91| 久久综合婷婷五月| 在线观看996精品| 婷婷五月天无码| 国产综合A片| 99视频热| 狠狠色丁香久久综合婷婷亚洲成人福利| 岛国资源网| 开心五月色婷婷综合开心网| 26uuu美女三级视频| 天天日夜夜拍| 亚洲综合视频天天精品| 天天色视频| 激情婷婷五月天| 午夜丁香婷婷| XXXX岛国| 97超碰婷婷五月天| 狠狠色精品综合| 天天日色情| 丁香 亚洲 久久| 天堂网啪啪| 亚洲天堂大香蕉| 97资源欧美日韩大香蕉超碰一区| 色99在线视频| 丁香色五月 97干| 26uuu淫色| 亚洲深喉aV| 欧美激情-区二区三区| 久9热视频在线| 五月婷在线播放| 色婷婷啪啪| 99久精品视频| 丁香色五月婷婷17C| 色九月婷婷| 伊人日日干| 99久久超级| 天天干天天日天天操| 99re热在线观看| 99久久久久| WWW色五月天| 久久综合婷婷激情| 婷婷五月天久久| 日本一级特黄大片AAAAA级| 99精品久久| 亚洲视频色色| 97成人丁香| 九月综合| 99在线观看这里都是精品| 成人网在线观看视频| 精品五月天| 99精品热视频| 大战熟女丰满人妻AV| 色五开心五月五月深深爱| 大香蕉五月| 天天爽夜夜操| 开心五月深爱激情| 丁香九月综合| 中文字幕丰满孑伦无码专区| 亚洲综合色色色| 综合久| 亚洲狠狠干| 天天色天天射天天日| 欧美日本日韩| 少妇搡BBBB搡BBB搡毛茸茸 | 免费的日逼视频| 人人操人人添人人摸97| 九九这里都是精品| 伊人五月丁香| 五月婷丁香花| 人人干人人操外国| 大香蕉av在线| 热99在线精品| 六月丁香婷婷尤物| 狠狠色噜噜狠狠狠狠综合| 日日躁夜夜躁狠狠久久AV| 大香线蕉伊人| www.亚洲激情| 综合婷婷| 夫妻超碰在线| 无码人妻AV久久久一区二区三区 | 肏屄色播伊人97婷婷| 欧美成人精品A片免费一区99| 天天久| 六月婷婷视频| 99热e| 丁香亚洲色综合| 色婷婷小说| 99九九视频精彩在线| 丁香婷五月| 日韩欧洲亚洲| 亚洲色综合色网| 国产XXXX搡XXXXX搡麻豆| 色99自拍| 激情五月,婷婷五月,丁香五月| 色综合色综合婷婷热| 丁香五月婷婷大香蕉| 国外亚洲成AV人片在线观看| 婷婷激情五月| 色五月涩涩婷婷| 色播丁香婷婷五月激情| 色激情综合狠狠婷婷| 丁香婷婷色色| 99资源在线| 玖玖爱伊人网| 中文成人在线| 天天干电影| 色热久| 九九亚洲无码| 996re热精品视频| 亚洲亚洲人成综合网络| 婷婷五月天网| 久久停停超碰| 另类 在线| 天天插天天插天天插天天插 | 狠狠色噜噜| 中文字幕日韩无码制服诱或| 欧美噜噜久久久XXX| 丁香婷婷六月天| 久久九九精彩| 日本一级大片| 五月激情久久| 婷婷五月日本| 亚洲在线网站| 欧美A片在线视频免费观看| 福利视频在线播放| 天天日天天色| 婷婷在线视频| 9久久精品| 久久99网| 色噜噜狠狠色综无码久久合欧美| 4399成人黄A片| 91九色精品女同系列| 99热在线观看| 99精品久久久久| 色欲午夜无码久久久久久张津瑜 | 欧美色色色色色色色色| 色欲色香,www,com| 色色色五月| 丁香六月婷婷久久亚洲天堂| 午夜福利8055| 色一情一乱一乱一区9| 九九美女视频| 91丁香| 色哟哟www| 美女激情综合| 午夜婷婷| 开心婷婷五月天电影院| 很很干在线视频| 高清无码中文字幕aVDV| 丁香五月婷婷俺也要去| 欧美天天搞| 久久婷婷五月综合成人d啪| 五月天激情四射网站| 激情婷婷久久| 色色综合无码| sewuyue第四色| 丁香五月亚洲综合| 国产婷婷五月色情综合| 久久婷婷五月天激情| www久久99| 婷婷丁香成人| 激情综合网激情五月丁香五月俺也去| 大香蕉太香蕉视频97| 婷婷综合日本| 大香蕉九九| 激情综合网五月天天| 日日射天天射| 综合色色色| 婷婷色影院| 亚洲精品久久久久久久久久吃药| 亚洲丁香五冃97色| 香蕉乱插| www.99热日韩.com| 人人做人人看人人摸| 婷婷六月天激情| 成人在线视频网| 另类少妇人与禽zOZZ0性伦| 激情综合网激情五月丁香五月俺也去| 五月丁香久久婷| 97操在线视频| 亚洲 在线 性爱 | 九月性爱网| 1024婷婷综合久久五月天| 久久亚洲A| 久久久精品人妻录| 97人人操人人| 乱岳熟女50岁| 98永久精品| 日韩欧美一区二区三区四区| 26uuuuuuuu国产| 婷婷射综合| 777精品久无码人妻蜜桃| 97ai婷婷| 激情五婷精品网在线观看网址| 五月丁香另类网| 九九热自拍| 91se精品国产| 婷婷五月天激情小说| 色婷婷啪啪综合网| 玖玖在线视频福利| 狠狠色婷婷777| 婷婷丁香18| 99久久五月婷婷| 天天日日夜夜爽| 99精品大片| 色色色五月婷婷| www.com任你艹| 99热这里只有精品21| 五月天成人网在线观看| 任你草| 激情久久 婷婷| 丁香婷五月天| 1024国产| 六月婷婷日| 性爱在线播放av| 五月天婷婷基地| 日本不卡高字幕在线2019| 丁香婷婷色色| 婷婷五月天美女视频| 天天日天天摸| 色九九九九| 五月综合激情视频| 五月丁香啪啪网| 99色精品| 九九久热| 97操操网| 婷婷激情五月天网站| 日韩一级网站| 伊综合蕉| 五月婷在线色视频| 狠狠色丁香| 五月婷婷久久大香蕉| 蜜乳中文字| 人妻熟人中文字幕一区二区| 激情视频网址| 啪色综合| 五月婷婷丁香综合,亚洲天堂| 色婷婷最爱五月| 亚洲热综合| 久久色五月| 九九婷婷五月天| 婷婷五月色播天| 6月丁香婷婷激情| 91久久婷婷| 婷婷爱爱蜜臀天天操| www.com五月天| 曰韩五月丁香色婷婷无码| 久久丁香五月婷婷激情综合网| 97久久久久| 人妻精品一区二区三区| 9久热免费视频99| 五月丁香六月激情视频| 激情婷婷五月社区| 久久网思思| 99视频这里有精品| 夜夜www| 这里只有精品视频| eeuus五月婷| 99热都是精品| 噜噜噜狠狠色综合| 97人妻碰碰中文无码久热丝袜| 中文字幕av亚洲| 66色在线日韩| 五月丁香综合影院| 亚洲综合五月天| 六月婷婷网| 婷婷五月天成人网| 日本精品干| 日本天堂免费99| 综合99视频| 色情五月婷| 天天操婷婷| 另类A片| 六月丁香久久| 激情网五月| 久久久妻人人人| 婷婷综合五月| 久久狠色噜噜狠狠狠狠97| 亚洲精品又粗又大又爽A片| 99视频地址| 99国产精品白浆在线观看免费| 99热久久最新地址| 万月丁香狠狠爱| 婷婷五月天在线综合| 狠狠久久婷| www.夜夜操| 嫩模aV在线| 五月天久久婷婷| 日本的α片xxxwww| 91九色最新视频| 丁香美女主播视频在线观看 | 99热这里只有精品8| 6080av| 极品嫩草| 婷婷色啪| 婷丁五月| 色香蕉婷婷| 五月婷婷免费在线视频| 久久99久久99精品免观看粉嫩| 大香蕉五月丁香| 再綫Av免费視品| 丁香五月婷婷国产av| 色噜噜五月天| 亭亭色色五月天| 99性爱精品| 操碰久| 五月天色五月| 六月婷婷国产| 亚洲精品在线视频| 久久久久9| 五月天另类小说久久小说网| 六月色激情| 91性高潮久久久久久久久| 久久这里只有国产精品视频| 亚洲在线成人| 夜夜谢天天干| 久色国产| 九九色综合网| 全部老头和老太XXXXX| 九九热在线99| 婷婷激情中文综合| 天堂二区| 99久在线精品99re8| 色婷婷五月天激情综合| 伊人综合婷婷| 激情五月天婷婷| 亚亚州久久高潮| 在线播放中文字幕| 久久ri精品| 丝袜人妻| 国模淫穴色图| 久久婷色| 香港九九六区八区99| 五月天婷婷影院| 五月丁香六月婷婷亚洲| 色婷婷中文在线| 无码91中文字幕| 99热在线中文字幕| 亚洲九九在线| 婷婷色中文字幕| 日本久久久97| 五月丁香六月情| 五月婷婷天| 婷婷五月丁香六月伊人网| 日本在线观看91| 久热无码| 色你久久| 日本成人噜噜| 五月丁香大香蕉| 在线综合91| 亚洲日韩一页精品发布| 国产午夜精品一区二区| 欧美综合丁香网| 91爱操| 91九色成人原创视频| 婷婷综合视频| 久久婷婷啪啪视频| 亚洲第一精品网站| 久色成人| 国产99热| 91人碰| 男女av免费看| 久久五月丁香| 欧美啪啪9| 天天综合网网欲色| 天天成人综合| 欧洲电影在线观看免费版英语版| www.色综合.com| 五月婷色激情五月| www婷婷亚洲| 色色五月天婷婷| 婷婷色操| 99在线小视频| 狠狠婷婷色综合| 91丨九色丨国产打屁股| 成人五月天丁香婷| 色情婷婷五月天| 五月开心激情网| 色婷婷成人在线| 欧美激情丁香五月| 婷婷综合色图| 天天干天天操天天射| 99精品九九| 九八Av| 专区无日本视频高清8| 欧美日综合| 五月婷婷影| 开心五月深爱五月| 色色色色色色色色网站| 婷婷丁香五月,狠狠综合| 丁香五月婷婷呀| 激情五月天综合网站网站网站| 9久久久久久久久久久| 热99在线精品| 超级碰碰视频无码| 亚洲欧美日韩另类| 午夜微拍福利| 婷婷9月天| 狠狠干五月| 婷婷五月色播天| 日韩乱轮AV| 大香蕉久久视频久久视频 | 综合色99| 99精品久久久久久久婷婷| 激情人妻综合| 婷婷欧美激情综合| 啪啪 综合网| 日本高清久| 另类图片激情五月| 99免费热视频在线| 国产操碰| 丁香五月播播| 这里有精品| 日产精品一线二线三线芒果| 欧美交换配乱吟粗大25P| 日本天天色| 久久人妻熟女一区二区| 超级碰碰97在线| 色欲AVV| 久久99免费视频网站| 久久全色| 久久激情天堂| 一区二区成人电影| 、激情六月天| 五月天免费色| 五月婷婷激清网| 成人超碰Av| 五月欧美丁香在线观看| 26uuu丁香婷婷五月| 久久综合五月天| 激情五月天社区| 成人综合网站| 婷婷综合在线| 五月丁香六月激情综合| 99热在线精品观看| 亚洲精品又粗又大又爽A片 | www.99色| 蜜桃成语时李时珍 免费| 人妻激情久久| 色色影院黄大片| 婷婷九月激情| 欧美成人热| 夜夜爽天操| 婷婷 丁香 精品| 99久热| 久久人妻熟女一区二区| 日噜噜色| 中文字幕,综合,91| 天天婷婷综合| 久热这里只有精品66| 天天爱天天吃狠天天透| 欧美一级色| 成人做爰高潮A片免费视频 | 五月婷在线观看| 五月综亚洲| 99热九九热| 狠狠干在线| 五月婷婷很很色| 99热精品99| 男人天堂亚洲综合| 五月丁香六月婷婷在线观看| 91偷拍视频| 亚洲精品国产A久久久久久| 伊人青涩网| 狠狠综合| 夜丁香五月婷婷| 婷婷色影院| 婷婷五月天淫荡| BT综合在线视频观看| 丁香久色| 国产精品色| 伊人激情AV一区二区三区| 丁香熟女乱| 色丁香五月婷婷婷| 终合激情网| 欧美性爱五月天| 久久婷婷色综合老司机| 深爱婷婷基地| 夜夜干天天干| 五月天婷婷影院| 操逼综合网| 五月天无码视屏播放| 五月天淫乱视频| 亚洲电影在线观看| 另类激情五月| 婷婷五月天综合中文| 婷婷六月丁| 久草五月婷| 就99这里只有精品| 欧美视频五区| 99热10在线高清播放| 97色在线视频| 天天操电影院色狼性av| 丁香六月婷婷久久综合| 操操精品| 深爱激情网噜噜色| 激情五月天在线视频| 日本少妇AA一级特黄大片| 天天爽—爽| 99热主页日本| 天天婬色综合| 激情婷婷人妻| 六月丁香久久| 久热re在线视频| 开心五月深爱五月婷| 色婷婷久久| 精品九九网| site:feetmall.com| 综合久久婷婷| 五月婷中文字幕| 五月婷婷丁香社区| 欧美性生交XXXXX无码小说| 伊人久久大香网| 色婷婷五月综合| 人碰人人人玩91| 五月视频日本免费观看| 99啪啪视频| 久久九九99桃花视频| 2025年最新亚洲在线欧美| 中国女人做爰A片| 天天情天天狠天天透| 97婷婷丁香| 亚洲无码激情| 久久综合首页| 思思精品热在线| 江苏少妇性BBB搡BBB爽爽爽| 久久婷婷五月综合97色一本| 9热视频在线观看| 97婷婷丁香五月天激情图片| 久久亚洲婷婷| 国产黄色在线观看| 成人色站,在线视频,看片-SS1AV| 色色色欧美| 久99久热| 五月丁香激情综合啪啪| 欧美久久久久久久久中文字幕| 亚洲综合在线丁香五月| 成人做爰高潮A片免费视频| 五月天婷婷日日爱| 五月丁香啪| 九九人人操| 亚洲无码另类| 婷婷午夜精品久久久| 丁香五月人妻| 狠狠色五月| 丁香五月先锋| 色婷婷偷拍| 一起草无码| 任你擦免费视频| 色色激情五月| 久久久五月婷婷| 午夜爱爱网站| 亚韩在线视频| 成人丁香五月| 少妇激情基地| 综合色播| 天天插天天插天天日| 依人大香蕉| 丁香久久AV| 大色鬼综合| 婷婷五月天成人综合网| 亚洲区在线| 色深爱五月| www.99热这里精品| 天天肏高清在线| 中文字幕在线不卡| 99热这里全是精品| 婷婷丁香社区网| 色播五月丁香| 亚洲色域网| 1024欧美看片| 99热地址| www.婷婷六月天| 天天干天天操天天爽| 婷婷五月 丁香六月| 蜜乳av一级av| 五月天伊人综合| 操日视频| 久色资源| 热久久66| 亚洲99一级无嗎特制在线| 看片视频在线免费日产在线看| 97人妻碰碰碰久久香蕉| 99热91| 日日想日日夜日日操| 五月天婷婷色综合| 殴美日韩成人| 婷婷五月色| 99年操人人爽| 五月丁香六月婷婷综合网站| 久久超视频| 五月丁香婷婷欧美| 亚洲综合视频一下| 久久一伦| 亚洲另类在线观看| 少妇口诉沐足视频播放器网址| 操精品9| 综合久久高清| 99在线观看视频精品| aaa久久久| www.射伊蕉婷婷| 色五月婷婷久久爱| 色亭亭九月| 亚洲成人在线免费| 亚洲丁香五月美女| 久久精品天| 五月婷婷五月天| 99久久免费精品| 91狠狠综合网| 久久人妻熟女一区二区| 精品人妻久久久久久| 天天情天天狠天天透| 五月天色软件| 激情婷婷色色| 亚洲激情五月丁香久久久久| 青青草原伊人网| 九九碰九九爱97超碰| 激情综合网五月激情| 婷婷丁香五月亚洲欧美| 国产在线网址1| 五月婷婷基地| 丁香五月av在线| 亚洲高清在线| 五月天色色色网| 这里只有精品视频99| 丁香色综合| 日本天天综合|