日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

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

YOLOv10實(shí)時(shí)目標(biāo)檢測(cè):CUDA/PyTorch環(huán)境配置與攝像頭部署避坑

YOLOv10實(shí)時(shí)目標(biāo)檢測(cè):CUDA/PyTorch環(huán)境配置與攝像頭部署避坑 簡(jiǎn)介這份教程面向計(jì)算機(jī)視覺(jué)初學(xué)者與Python開(kāi)發(fā)者圍繞YOLOv10實(shí)時(shí)目標(biāo)檢測(cè)系統(tǒng)的搭建串聯(lián)環(huán)境準(zhǔn)備、模型訓(xùn)練、評(píng)估與視頻流檢測(cè)等環(huán)節(jié)幫助讀者理解從數(shù)據(jù)標(biāo)注到應(yīng)用驗(yàn)證的完整流程。壓縮包內(nèi)共1個(gè)doc文件約28KB以目錄化文檔承載核心內(nèi)容便于按章節(jié)查閱和對(duì)照實(shí)踐。已有207人學(xué)習(xí)適合希望快速熟悉YOLOv10目標(biāo)檢測(cè)開(kāi)發(fā)路徑的讀者。文檔涵蓋硬件與軟件要求、PyTorch和OpenCV等庫(kù)的安裝配置、COCO或自定義數(shù)據(jù)集的準(zhǔn)備與標(biāo)注、訓(xùn)練參數(shù)設(shè)置、mAP等評(píng)估指標(biāo)及可視化方法并給出攝像頭視頻流讀取與檢測(cè)框繪制的示例思路可幫助讀者建立可復(fù)現(xiàn)的實(shí)驗(yàn)框架并在此基礎(chǔ)上擴(kuò)展更多檢測(cè)場(chǎng)景與優(yōu)化方向。1. 攝像頭能亮框卻畫(huà)不出來(lái)某開(kāi)發(fā)者把 yolov10 倉(cāng)庫(kù)克隆下來(lái)pip 一路裝完python train.py一敲屏幕上跳出 CUDA out of memory退回 CPU 推理一張 640×640 的圖要等三秒多攝像頭畫(huà)面卡成 PPT。這類現(xiàn)場(chǎng)我見(jiàn)過(guò)太多次。yolov10 實(shí)時(shí)目標(biāo)檢測(cè)這套環(huán)境難點(diǎn)從來(lái)不在裝沒(méi)裝上而在版本對(duì)沒(méi)對(duì)上——驅(qū)動(dòng)支持的 CUDA 檔位、PyTorch 輪子的 cu 標(biāo)簽、Python 小版本錯(cuò)一個(gè)就 GPU 認(rèn)不出來(lái)或者訓(xùn)練十個(gè) epoch 后崩在顯存上。這份開(kāi)發(fā)案例把環(huán)境準(zhǔn)備、訓(xùn)練、評(píng)估、實(shí)時(shí)檢測(cè)串成了一條線適合手里有一張 NVIDIA 顯卡、想從零跑通攝像頭畫(huà)面的開(kāi)發(fā)者。下面按我自己的裝機(jī)順序把命令、參數(shù)和翻車點(diǎn)攤開(kāi)寫(xiě)。2. 裝前先對(duì)表CUDA、Python 與 PyTorch 的三方版本鎖定裝深度學(xué)習(xí)環(huán)境最忌諱先裝再說(shuō)。我一般的順序是先看卡再看驅(qū)動(dòng)然后定 CUDA 檔位最后反推 Python 和 PyTorch中間任何一步跳過(guò)后面都要花兩三倍時(shí)間回滾。這一章不裝東西只把表對(duì)清楚。2.1 硬件門檻4 核 CPU 只是底線顯存才是分水嶺案例里列的四條硬件要求是CPU 至少 4 核、NVIDIA GPU推薦 RTX 系列、內(nèi)存至少 8GB、存儲(chǔ)至少 10GB。照著這份清單配機(jī)器不算錯(cuò)但它只回答了能不能啟動(dòng)沒(méi)回答能不能訓(xùn)練。真正卡人的是顯存和顯卡算力這兩件事。項(xiàng)目案例給出的要求我實(shí)際會(huì)留的余量卡點(diǎn)在哪CPU至少 4 核8 核以上數(shù)據(jù)加載的 dataloader 進(jìn)程吃 CPUGPUNVIDIARTX 系列推薦顯存 8GB 起640 輸入、batch 16 大約吃 6~7GB 顯存內(nèi)存至少 8GB16GB數(shù)據(jù)集緩存、多進(jìn)程讀圖、Matplotlib 畫(huà)圖存儲(chǔ)至少 10GB50GB數(shù)據(jù)集解壓 多份權(quán)重 訓(xùn)練日志顯卡算力這一條得單獨(dú)說(shuō)。PyTorch 新版輪子對(duì)老架構(gòu)的支持是在收緊的算力過(guò)低的卡裝上之后torch.cuda.is_available()能返回 True但一跑卷積就報(bào) no kernel image is available for execution on the device。筆記本上的低功耗獨(dú)顯跑推理勉強(qiáng)能用訓(xùn)練基本別指望。另外只有 CPU 的機(jī)器并不是完全不能跑只是實(shí)時(shí)檢測(cè)會(huì)退化成準(zhǔn)實(shí)時(shí)——640 輸入下單幀推理幾百毫秒到一秒都有可能攝像頭預(yù)覽會(huì)明顯滯后。跑之前先確認(rèn)卡被系統(tǒng)認(rèn)出來(lái)了# 查看顯卡型號(hào)、顯存、驅(qū)動(dòng)版本右上角那行 CUDA Version 后面會(huì)用到 nvidia-smi這條命令輸出的右上角有一個(gè)CUDA Version: xx.x很多人誤以為那是本機(jī)裝的 CUDA 版本其實(shí)它是當(dāng)前驅(qū)動(dòng)最高能支持的 runtime 版本。這個(gè)數(shù)字決定了你后面能選哪一檔 PyTorch 輪子記住它。2.2 Python 3.7 到 3.10為什么我一般不裝最新版案例寫(xiě)的是 Python 3.7 及以上。3.7 這個(gè)版本現(xiàn)在已經(jīng)停止維護(hù)很多科學(xué)計(jì)算包早就不發(fā) cp37 的輪子了pip 會(huì)退回到源碼編譯在 Windows 上十有八九編譯不過(guò)。3.11、3.12 這類較新的版本也會(huì)撞上同一個(gè)問(wèn)題——包的最新版未必提供了對(duì)應(yīng) ABI 的預(yù)編譯輪子。我一般鎖 3.9 或 3.10這兩個(gè)版本在 PyTorch、OpenCV、NumPy 這一圈里輪子最全出了問(wèn)題也最好搜到現(xiàn)成的解決方案。先看本機(jī)裝了什么# Windows 上用 python --versionLinux/macOS 上區(qū)分 python 和 python3 python --version python3 -V # 機(jī)器上同時(shí)裝了多個(gè)解釋器時(shí)確認(rèn)當(dāng)前 shell 指向哪一個(gè) which python # Windows: where python如果輸出是 3.11 以上別急著卸用 conda 單獨(dú)建一個(gè) 3.10 的環(huán)境就行系統(tǒng) Python 不要?jiǎng)印芏嘞到y(tǒng)工具依賴它刪了會(huì)連帶把包管理器搞壞這是我早年踩過(guò)的血淚教訓(xùn)。2.3 驅(qū)動(dòng)、CUDA Toolkit 與 PyTorch 自帶 cu 庫(kù)別混為一談新手最容易在這里繞圈看到教程說(shuō)要裝 CUDA就去官網(wǎng)下了幾個(gè) G 的 CUDA Toolkit裝完發(fā)現(xiàn) PyTorch 還是認(rèn)不到 GPU。原因在于這是三個(gè)不同的東西顯卡驅(qū)動(dòng)操作系統(tǒng)層面的nvidia-smi能出結(jié)果就說(shuō)明驅(qū)動(dòng)正常。CUDA Toolkit包含 nvcc 編譯器只有你要自己編譯 CUDA 算子、或者跑某些需要現(xiàn)場(chǎng)編譯的擴(kuò)展時(shí)才需要。PyTorch 輪子自帶的 CUDA runtime 和 cuDNNpip 裝cu118、cu121這類標(biāo)簽的包時(shí)運(yùn)行庫(kù)是打包在輪子里的跟系統(tǒng)有沒(méi)有裝 Toolkit 無(wú)關(guān)。所以常規(guī)路線是只裝驅(qū)動(dòng)不裝 Toolkit直接裝對(duì)應(yīng) cu 標(biāo)簽的 PyTorch。案例給的cu113屬于比較早的檔位現(xiàn)在這個(gè)檔位對(duì)應(yīng)的輪子版本已經(jīng)很老硬裝要么找不到包要么被降級(jí)到一個(gè)跟新版代碼不兼容的 torch。驅(qū)動(dòng)版本和可選輪子標(biāo)簽大致這樣對(duì)應(yīng)具體以 PyTorch 官方安裝矩陣為準(zhǔn)nvidia-smi右上角顯示我一般選的輪子標(biāo)簽11.8cu11812.1cu118 或 cu12112.4 及以上cu121 或更高檔位高版本驅(qū)動(dòng)向下兼容低檔位輪子反過(guò)來(lái)不行。所以驅(qū)動(dòng)新、輪子選低一檔是最省事的組合。還有一條容易忽略的Windows 上原生環(huán)境和 WSL2 是兩套驅(qū)動(dòng)棧WSL2 里能跑不代表原生 Windows 能跑反之亦然。團(tuán)隊(duì)協(xié)作時(shí)把這一條寫(xiě)進(jìn)環(huán)境說(shuō)明能省掉一半我這兒明明能跑的爭(zhēng)論。3. 按順序裝conda 環(huán)境、PyTorch 輪子與推理依賴對(duì)完表就可以動(dòng)手了。這一章的四步是有嚴(yán)格順序的尤其是第二步和第三步順序反了會(huì)出現(xiàn) pip 把已經(jīng)裝好的 torch 覆蓋成 CPU 版這種玄學(xué)問(wèn)題。3.1 建一個(gè)不污染系統(tǒng)的 conda 環(huán)境# 創(chuàng)建名為 yolov10 的環(huán)境顯式指定 Python 小版本 conda create -n yolov10 python3.10 -y # 激活環(huán)境 conda activate yolov10 # 確認(rèn) pip 和 python 指向同一個(gè)解釋器 python -c import sys; print(sys.executable) pip -V三條命令里最關(guān)鍵是最后那條sys.executable。它會(huì)打印當(dāng)前 python 的絕對(duì)路徑正常應(yīng)該落在.../envs/yolov10/python.exe或.../envs/yolov10/bin/python下面。如果打印出來(lái)的是系統(tǒng)路徑說(shuō)明 conda 沒(méi)激活成功后面 pip 裝的東西全都會(huì)進(jìn)系統(tǒng)環(huán)境等你發(fā)現(xiàn)問(wèn)題時(shí)已經(jīng)污染了一片。pip -V的輸出里也會(huì)帶一個(gè)路徑它必須和sys.executable的目錄一致。這兩個(gè)對(duì)不上就是pip 裝完 import 還是找不到的根源。激活環(huán)境后建議每次新開(kāi)終端都先跑一遍conda activate yolov10別嫌煩省下的排錯(cuò)時(shí)間遠(yuǎn)超這幾秒。3.2 選對(duì) PyTorch 安裝源--index-url和--extra-index-url差一個(gè)字結(jié)果差很多案例給的命令是pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113 pip install opencv-python matplotlib這條命令本身能跑通但有兩個(gè)問(wèn)題。第一cu113檔位現(xiàn)在對(duì)應(yīng)的 torch 版本很老第二--extra-index-url是額外源pip 會(huì)同時(shí)去 PyPI 找同名包而 PyPI 上的torch默認(rèn)是 CPU 版。兩個(gè)源里版本號(hào)相同時(shí)pip 不一定選哪個(gè)結(jié)果就是你以為裝了 GPU 版實(shí)際裝的是 CPU 版。按第 2 章確認(rèn)的檔位改成--index-url讓它只認(rèn)這一個(gè)源# 有 NVIDIA 顯卡按 nvidia-smi 顯示的檔位選這里以 cu121 為例 pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 # 沒(méi)有獨(dú)顯、或者只想先跑通 CPU 推理 pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu參數(shù)說(shuō)明--index-url是替換默認(rèn)源--extra-index-url是追加源。裝 PyTorch 這類有 CPU/GPU 同名包的情況我一律用前者。裝完立刻驗(yàn)證別等到跑訓(xùn)練時(shí)才發(fā)現(xiàn)# 期望輸出 True 和顯卡數(shù)量False 就回第 2 章查驅(qū)動(dòng) python -c import torch; print(torch.__version__, torch.cuda.is_available(), torch.cuda.device_count()) # 打印當(dāng)前顯卡名確認(rèn)是獨(dú)顯不是核顯 python -c import torch; print(torch.cuda.get_device_name(0))如果版本號(hào)里帶cpu后綴說(shuō)明裝錯(cuò)了先pip uninstall torch torchvision torchaudio -y再按上面重裝。這個(gè)后綴是最直觀的判斷依據(jù)。3.3 補(bǔ)齊 OpenCV、Matplotlib 與標(biāo)注工具# 圖像讀寫(xiě)、畫(huà)框、攝像頭取流 pip install opencv-python # 訓(xùn)練曲線和評(píng)估結(jié)果可視化 pip install matplotlib # 數(shù)據(jù)加載與配置解析訓(xùn)練腳本會(huì)直接依賴 pip install numpy pyyaml tqdm pillow # 數(shù)據(jù)集標(biāo)注工具只在本地標(biāo)注時(shí)用得到 pip install labelImgopencv-python和opencv-contrib-python不要同時(shí)裝兩者提供同名模塊后裝的會(huì)覆蓋先裝的import 時(shí)表現(xiàn)得很隨機(jī)。需要 SIFT 這類擴(kuò)展算法才裝 contrib 版普通的讀幀畫(huà)框用基礎(chǔ)版足夠。另外如果這套環(huán)境裝在沒(méi)有圖形界面的服務(wù)器上把opencv-python換成opencv-python-headless。帶 GUI 的版本依賴一堆 X11 庫(kù)在容器里 import 會(huì)直接報(bào)libGL.so.1: cannot open shared object file換成 headless 版就沒(méi)事。代價(jià)是不能用cv2.imshow得改成寫(xiě)視頻文件或者推流。labelImg在部分系統(tǒng)上還需要額外的 Qt 依賴裝不上不影響主流程標(biāo)注可以換到有桌面的機(jī)器上做標(biāo)注結(jié)果是一堆 txt拷過(guò)來(lái)就能用。3.4 三條自檢命令把環(huán)境黑匣子打開(kāi)裝完先別急著拉代碼跑這三條# 1. torch 能不能看見(jiàn) GPUcuDNN 版本是否正常 python -c import torch; print(torch, torch.__version__); print(cuda, torch.cuda.is_available()); print(cudnn, torch.backends.cudnn.version()) # 2. OpenCV 能不能正常 import版本是多少 python -c import cv2; print(cv2, cv2.__version__) # 3. 做一次真實(shí)的小矩陣運(yùn)算確認(rèn) kernel 能跑起來(lái) python -c import torch; atorch.randn(1000,1000,devicecuda); print((aa).sum().item())第一條期望看到cuda True和一個(gè) cuDNN 版本號(hào)。第二條只要打印出版本就行報(bào) DLL 或 so 找不到就回 3.3 節(jié)看是不是裝成了帶 GUI 的版本。第三條最關(guān)鍵——它不只是檢查is_available()而是真的在 GPU 上跑了一次矩陣乘法前面提到的 no kernel image 那種情況只有到這一步才會(huì)暴露。三條都過(guò)了環(huán)境這關(guān)就算過(guò)了。后面再出問(wèn)題基本都能定位在代碼、數(shù)據(jù)或權(quán)限上范圍一下縮小很多。4. 拉代碼、放權(quán)重、改配置從倉(cāng)庫(kù)到攝像頭畫(huà)面的完整鏈路環(huán)境通了接下來(lái)是把倉(cāng)庫(kù)、權(quán)重、配置、腳本這條鏈路接上。這一章按先能推理再能訓(xùn)練的順序排反過(guò)來(lái)的話你會(huì)在還沒(méi)驗(yàn)證模型能不能加載的情況下花幾小時(shí)排查訓(xùn)練不收斂。4.1 克隆倉(cāng)庫(kù)后的目錄結(jié)構(gòu)與權(quán)重落位# 倉(cāng)庫(kù)地址用項(xiàng)目方給出的實(shí)際地址替換這里用占位符 git clone repo-url yolo-v10 cd yolo-v10 # 看目錄結(jié)構(gòu)確認(rèn)入口腳本和配置文件都在 ls -la一個(gè)典型的目錄長(zhǎng)這樣不同分支會(huì)有出入但核心幾項(xiàng)跑不掉yolo-v10/ ├── train.py # 訓(xùn)練入口 ├── evaluate.py # 評(píng)估入口 ├── configs/ # 模型與訓(xùn)練配置 │ └── yolov10.yaml ├── weights/ # 權(quán)重文件存放位置 │ └── yolov10.pt └── data/ # 數(shù)據(jù)集配置 └── data.yaml權(quán)重文件yolov10.pt從項(xiàng)目方發(fā)布的地址下載后放在倉(cāng)庫(kù)根目錄或weights/下都行關(guān)鍵是訓(xùn)練和推理命令里的--weights路徑要跟實(shí)際位置對(duì)上。相對(duì)路徑是相對(duì)當(dāng)前工作目錄算的不是相對(duì)腳本位置所以在yolo-v10/外面執(zhí)行python yolo-v10/train.py --weights yolov10.pt會(huì)找不到文件。這類報(bào)錯(cuò)信息往往是FileNotFoundError看著像權(quán)重沒(méi)下下來(lái)實(shí)際是路徑錯(cuò)了。下載完建議校驗(yàn)一下文件完整性權(quán)重文件不完整時(shí)加載會(huì)報(bào) unpickling 相關(guān)的錯(cuò)# 看文件大小是否合理幾百 MB 量級(jí) ls -lh weights/yolov10.pt # 有官方校驗(yàn)值時(shí)對(duì)一下 sha256sum weights/yolov10.pt4.2 訓(xùn)練參數(shù)與數(shù)據(jù)集 YAML每一項(xiàng)改動(dòng)都會(huì)在顯存和收斂上體現(xiàn)案例給的配置是這樣的# config.yaml batch_size: 16 learning_rate: 0.001 epochs: 50 img_size: 640四個(gè)參數(shù)逐項(xiàng)過(guò)一遍這些是我實(shí)際會(huì)調(diào)整的地方batch_size直接決定顯存占用幾乎線性相關(guān)。640 輸入、8GB 顯存下16 是能跑但不寬裕的值顯存緊張的機(jī)器降到 8 甚至 4配合梯度累積補(bǔ)回等效批量。這個(gè)值設(shè)大了第一個(gè) epoch 就 OOM設(shè)太小BN 層統(tǒng)計(jì)不準(zhǔn)mAP 會(huì)掉得莫名其妙。learning_rate取 0.001 偏保守。YOLO 系列在 SGD 優(yōu)化器下常用 0.01 起步配合 warmup0.001 更適合 Adam 系。案例沒(méi)指定優(yōu)化器我一般先按默認(rèn)跑看前幾個(gè) epoch 的 loss 曲線——loss 劇烈震蕩就往下調(diào)一個(gè)數(shù)量級(jí)loss 幾乎不動(dòng)就往上調(diào)。epochs設(shè) 50 在自建小數(shù)據(jù)集上很容易過(guò)擬合。我一般把值設(shè)大一點(diǎn)比如 200靠驗(yàn)證集 mAP 連續(xù)若干輪不漲就早停比拍腦袋定 50 靠譜。img_size必須是 32 的整數(shù)倍因?yàn)橹鞲删W(wǎng)絡(luò)的下采樣倍率決定了這個(gè)約束。填 600 會(huì)直接報(bào)錯(cuò)或者被靜默取整訓(xùn)練出來(lái)的模型輸入尺寸和你以為的不一致。640 是通用值小目標(biāo)多的話可以提到 1280但顯存占用漲得很快。數(shù)據(jù)集的data.yaml是另一個(gè)必改文件# data.yaml path: ../datasets/mydata # 數(shù)據(jù)集根目錄相對(duì)本文件或絕對(duì)路徑 train: images/train # 訓(xùn)練圖目錄相對(duì) path val: images/val # 驗(yàn)證圖目錄 nc: 3 # 類別數(shù) names: [person, car, bike] # 類別名順序即 class idnc和names必須和標(biāo)注文件里的 class id 嚴(yán)格對(duì)應(yīng)。標(biāo)注時(shí) person 是 0、car 是 1這里寫(xiě)成[car, person, bike]模型能訓(xùn)練、loss 也能降但預(yù)測(cè)出來(lái)的框全貼著錯(cuò)誤的標(biāo)簽——這種錯(cuò)誤在指標(biāo)上幾乎看不出來(lái)只有肉眼看檢測(cè)結(jié)果才會(huì)發(fā)現(xiàn)屬于最陰的一類。數(shù)據(jù)集目錄結(jié)構(gòu)也要對(duì)齊 YOLO 格式mydata/ ├── images/ │ ├── train/ xxx.jpg │ └── val/ yyy.jpg └── labels/ ├── train/ xxx.txt # 與圖片同名每行 類別 中心x 中心y 寬 高全部歸一化到 0~1 └── val/ yyy.txt標(biāo)完先抽查幾個(gè) txt確認(rèn)坐標(biāo)都在 0 到 1 之間。有工具導(dǎo)出的格式是絕對(duì)像素坐標(biāo)混進(jìn)去訓(xùn)練時(shí)不會(huì)報(bào)錯(cuò)只是 loss 收斂得特別慢、框到處都是。4.3 訓(xùn)練命令與日志從 loss 曲線判斷是不是白跑# 單卡訓(xùn)練--device 0 指定第一張卡 python train.py \ --data data.yaml \ --cfg yolov10.yaml \ --weights yolov10.pt \ --img-size 640 \ --batch 16 \ --epochs 50 \ --device 0參數(shù)含義--data指向數(shù)據(jù)集配置--cfg是模型結(jié)構(gòu)配置--weights是預(yù)訓(xùn)練權(quán)重從它開(kāi)始微調(diào)比從零訓(xùn)練收斂快得多--img-size與配置文件里的值保持一致--device填0表示第一張卡填cpu強(qiáng)制走 CPU排錯(cuò)時(shí)用得上。啟動(dòng)后頭幾十行輸出要重點(diǎn)看三件事模型參數(shù)量和 GFLOPs、數(shù)據(jù)集里訓(xùn)練集和驗(yàn)證集的圖片數(shù)量、顯存占用。圖片數(shù)量對(duì)不上多半是data.yaml里的相對(duì)路徑?jīng)]解析對(duì)訓(xùn)練會(huì)拿空數(shù)據(jù)集跑loss 一直是常數(shù)。顯存占用接近上限的話趁早把 batch 降下來(lái)不然跑到一半 OOM 更難受。訓(xùn)練日志和權(quán)重一般落在runs/目錄下每輪一個(gè)子目錄里面有權(quán)重、results.csv、混淆矩陣和 PR 曲線。results.csv是后面畫(huà)曲線的數(shù)據(jù)源別急著刪。4.4 實(shí)時(shí)檢測(cè)腳本從 VideoCapture 到畫(huà)框的每一行案例給的推理腳本是這樣的我加了注釋import cv2 import torch # 加載模型。torch.hub.load 要求倉(cāng)庫(kù)里有 hubconf.py # 沒(méi)有的話會(huì)報(bào)找不到 entrypoint改用倉(cāng)庫(kù)自己的推理入口或直接加載本地權(quán)重 model torch.hub.load(yourusername/yolo-v10, yolov10, pretrainedTrue) model.eval() # 切推理模式關(guān)掉 dropout、固定 BN 統(tǒng)計(jì)量 cap cv2.VideoCapture(0) # 0 是默認(rèn)攝像頭外接 USB 相機(jī)通常從 1、2 開(kāi)始 while True: ret, frame cap.read() if not ret: break # 讀幀失敗可能是設(shè)備被占用或已斷開(kāi) # 預(yù)處理縮放、歸一化、HWC 轉(zhuǎn) CHW、補(bǔ) batch 維 img cv2.resize(frame, (640, 640)) img img / 255.0 img img.transpose((2, 0, 1)) img torch.tensor(img).float().unsqueeze(0) # 推理 results model(img) # 逐框繪制坐標(biāo)、置信度、類別 for *box, conf, cls in results.xyxy[0]: label f{model.names[int(cls)]} {conf:.2f} cv2.rectangle(frame, (int(box[0]), int(box[1])), (int(box[2]), int(box[3])), (255, 0, 0), 2) cv2.putText(frame, label, (int(box[0]), int(box[1]) - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (255, 0, 0), 2) cv2.imshow(YOLOv10 Detection, frame) if cv2.waitKey(1) 0xFF ord(q): break cap.release() cv2.destroyAllWindows()幾個(gè)需要說(shuō)明的點(diǎn)。cap.read()返回的ret必須判斷攝像頭被其他程序占用、或者設(shè)備號(hào)填錯(cuò)時(shí)它返回 False不判斷就會(huì)在cv2.resize那里報(bào) NoneType 錯(cuò)誤看著像 resize 的問(wèn)題實(shí)際是取流失敗。img / 255.0之后再transpose和unsqueeze這個(gè)順序不能亂轉(zhuǎn)成 tensor 之后再除也能跑但會(huì)多一次顯存拷貝。推理前記得把張量搬到 GPU 上img img.cuda()否則模型在 GPU、輸入在 CPU會(huì)直接報(bào)設(shè)備不一致。results.xyxy[0]這種取法依賴具體返回結(jié)構(gòu)。不同版本的推理入口返回的可能是 tensor、可能是帶.boxes屬性的對(duì)象硬套一種寫(xiě)法換個(gè)權(quán)重就崩。我一般的做法是先在單張圖上跑一次print(type(results))和print(results)看清楚結(jié)構(gòu)再寫(xiě)解析代碼比照著教程猜快得多。5. 避坑排查五個(gè)裝完跑不起來(lái)的現(xiàn)場(chǎng)這一章全是真實(shí)現(xiàn)場(chǎng)。每條按現(xiàn)象、原因、解決寫(xiě)遇到對(duì)應(yīng)的直接對(duì)號(hào)入座。5.1 現(xiàn)象torch.cuda.is_available()返回 False原因按概率從高到低排——裝成了 CPU 版輪子版本號(hào)帶cpu顯卡驅(qū)動(dòng)太老支持的 CUDA 檔位低于輪子要求--extra-index-url導(dǎo)致 pip 從 PyPI 拿了 CPU 版在 WSL2 里裝的原生 Windows 版 Python兩套驅(qū)動(dòng)棧對(duì)不上。解決先看版本號(hào)后綴帶cpu就卸了按 3.2 節(jié)用--index-url重裝再看nvidia-smi是否正常輸出報(bào)NVIDIA-SMI has failed說(shuō)明驅(qū)動(dòng)本身有問(wèn)題先修驅(qū)動(dòng)驅(qū)動(dòng)正常但檔位太低就換低一檔的輪子標(biāo)簽。三步走完還是 False跑python -c import torch; print(torch.version.cuda)輸出為 None 就是 CPU 版無(wú)疑。5.2 現(xiàn)象訓(xùn)練第一個(gè) epoch 就CUDA out of memory原因batch_size 相對(duì)顯存設(shè)大了img_size提到了 1280 但沒(méi)同步降 batch同一張卡上還跑著別的進(jìn)程沒(méi)退干凈數(shù)據(jù)加載的 worker 數(shù)太多每個(gè)進(jìn)程都占一份顯存上下文。解決先把 batch 減半試能跑就把--batch 8寫(xiě)進(jìn)命令確認(rèn)沒(méi)有僵尸進(jìn)程nvidia-smi看顯存占用有殘留就kill -9掉對(duì)應(yīng) PID還是不夠就把img_size降到 512 或 416。另外有個(gè)容易忽略的點(diǎn)PyTorch 的緩存分配器不會(huì)立刻把顯存還給系統(tǒng)報(bào) OOM 時(shí)實(shí)際空閑顯存可能比nvidia-smi顯示的更多遇到明明還有顯存卻 OOM的情況在訓(xùn)練腳本開(kāi)頭加torch.cuda.empty_cache()試一次。5.3 現(xiàn)象cap.read()一直返回 False或者畫(huà)面卡住不動(dòng)原因設(shè)備號(hào)不對(duì)筆記本內(nèi)置攝像頭是 0外接 USB 相機(jī)往往是 1 或 2攝像頭被瀏覽器、會(huì)議軟件占用Linux 下當(dāng)前用戶沒(méi)有/dev/video*的讀權(quán)限imshow后沒(méi)有waitKey導(dǎo)致窗口不刷新。解決寫(xiě)個(gè)小循環(huán)遍歷設(shè)備號(hào)看哪個(gè)能讀出幀# 逐個(gè)試設(shè)備號(hào)能讀到幀就打印分辨率并退出 python -c import cv2 for i in range(5): cap cv2.VideoCapture(i) ok, frame cap.read() print(i, ok, frame.shape if ok else None) cap.release() 有輸出 True 的那個(gè)編號(hào)就是該用的。全是 False 就檢查是不是被其他程序占用Linux 下把用戶加進(jìn)video組再重新登錄。5.4 現(xiàn)象檢測(cè)框位置整體偏移或者標(biāo)簽全是錯(cuò)的類別原因預(yù)處理里做了 resize 但畫(huà)框時(shí)用的是原圖坐標(biāo)兩套坐標(biāo)系沒(méi)對(duì)齊data.yaml里的names順序和標(biāo)注時(shí)的 class id 不一致標(biāo)注文件里混進(jìn)了絕對(duì)像素坐標(biāo)沒(méi)歸一化。解決畫(huà)框前把檢測(cè)結(jié)果按原圖寬/640、原圖高/640縮放回原圖坐標(biāo)系names列表順序逐項(xiàng)核對(duì)標(biāo)注工具的類別配置抽查幾個(gè) label txt確認(rèn)所有數(shù)值都落在 0~1 之間超了就是沒(méi)歸一化用腳本批量除以圖片寬高修正。5.5 現(xiàn)象import cv2或import torch報(bào) DLL load failed原因Windows 上缺 Visual C 運(yùn)行庫(kù)裝的是帶 GUI 的 OpenCV 但系統(tǒng)沒(méi)有圖形環(huán)境conda 環(huán)境里混進(jìn)了系統(tǒng) site-packages 的同名包多個(gè) Python 版本共存pip 和 python 指向不同解釋器。解決先跑 3.1 節(jié)的sys.executable和pip -V對(duì)比路徑服務(wù)器或容器環(huán)境換成opencv-python-headlessWindows 裝一遍微軟的 VC 運(yùn)行庫(kù)還不行就pip list | grep -i opencvWindows 用findstr看是不是裝了多個(gè) OpenCV 包卸到只剩一個(gè)。6. 裝完怎么驗(yàn)證三條命令加一張對(duì)照表把系統(tǒng)跑通環(huán)境裝完不等于系統(tǒng)跑通。我習(xí)慣按能加載、能推理、能實(shí)時(shí)、指標(biāo)對(duì)得上四層往下驗(yàn)每層都有明確的通過(guò)標(biāo)準(zhǔn)任何一層不過(guò)就停在那兒查不往下走。第一層環(huán)境自檢就是 3.4 節(jié)那三條命令重點(diǎn)看 GPU 上真實(shí)跑一次矩陣乘法的結(jié)果。第二層單圖推理。拿一張確認(rèn)有目標(biāo)的圖跑一次前向看輸出的框數(shù)量和置信度是否合理# 單圖推理--conf 過(guò)濾低置信度框先看 0.25 以上的 python detect.py --weights weights/yolov10.pt --source test.jpg --img-size 640 --conf 0.25如果一張明顯有人的圖輸出零個(gè)框先別懷疑模型把--conf降到 0.05 再看——有框但置信度低說(shuō)明預(yù)處理或類別映射有問(wèn)題依然零框說(shuō)明權(quán)重沒(méi)加載成功。第三層實(shí)時(shí)鏈路。跑攝像頭并統(tǒng)計(jì)幀率只統(tǒng)計(jì)推理加繪制的耗時(shí)不含imshow的等待# 跑 100 幀輸出平均單幀耗時(shí)和等效 FPS import time, cv2, torch cap cv2.VideoCapture(0) times [] for i in range(100): ok, frame cap.read() if not ok: break t0 time.time() # 這里放你的預(yù)處理 model(frame) 畫(huà)框 times.append(time.time() - t0) cap.release() avg sum(times) / len(times) print(favg {avg*1000:.1f} ms, fps {1/avg:.1f})第四層指標(biāo)復(fù)核。用驗(yàn)證集跑一遍評(píng)估把 mAP 和訓(xùn)練日志最后一輪的數(shù)值對(duì)一下python evaluate.py --weights best.pt --data data.yaml驗(yàn)證項(xiàng)命令或動(dòng)作通過(guò)標(biāo)準(zhǔn)不通過(guò)先查GPU 可用torch.cuda.is_available()返回 True 且版本號(hào)無(wú)cpu3.2 節(jié)輪子源單圖推理detect.py --source test.jpg框數(shù)量與肉眼一致--conf閾值、權(quán)重路徑實(shí)時(shí)幀率100 幀計(jì)時(shí)腳本單幀耗時(shí)穩(wěn)定無(wú)逐幀遞增是否每幀都在建 tensor、有沒(méi)有torch.no_grad()評(píng)估指標(biāo)evaluate.py --weights best.ptmAP 與訓(xùn)練日志末輪接近data.yaml的 val 路徑幀率那一項(xiàng)有個(gè)隱蔽的坑推理時(shí)忘了套torch.no_grad()每幀都會(huì)建計(jì)算圖顯存一路漲前幾十幀看著正常后面越來(lái)越慢直到 OOM??吹胶臅r(shí)逐幀遞增先補(bǔ)這一句。從那以后我每次裝完這套環(huán)境不管多急都會(huì)把單圖推理和 100 幀計(jì)時(shí)這兩步強(qiáng)制走一遍——玄學(xué)問(wèn)題大多在這兩步就現(xiàn)原形了等接上業(yè)務(wù)代碼再發(fā)現(xiàn)排查成本要翻好幾倍。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产高清26uuu| 99国产精品免费| 综合色一区三区二区| 超碰在线一区| 国产乱伦性爱AV| 亚洲成人色情五月天丁香花| 欧美资源| 欧美性生活综合| 2020视频1区2区3区| 69久久久久久久久久久久久| 亚洲另类小说卡通动漫| 亚洲色欲一区二区三区| 亚洲爽图| 东北夫妻性偷拍| 欧美同性恋 的搜索结果 - 91n| 精品人妻中文字幕高清| 一区二区三区在线资源| 18禁看网站一区| 91激情国产| 国产一区96在线| 中文字幕国产| 天堂亚洲精品久久老牛| 亚洲av无线观看| 韩国国产欧美情侣视频在线| 天天操天天射天天日| 亚洲一区二区麻豆影院| 不卡av免费在线网址| 亚洲AV永久无码一区仙野| 国产乱伦性爱区| 精品久久99| 福利视频网站| 一二三区在线| 天天噜| 五月丁香影院| 色妇综合网| 99天堂网| 色与欲影视| 成人麻豆av电影网站| 欧美日韩色| 国产成人精品一区| 人妻夜夜爽天天爽麻豆三区网站 | 五月激情小说| 天天做天天爱夜夜爽毛片试看| 亚洲天堂区| 97久久久久| 五月婷丁香| 久热这里只有精品9| 五月丁香色综合| 国精精品无码一二三区水多多| 婷婷丁香激情| 青青青青草av在线观看| 中文字幕熟女人妻丝袜丝| 天天做天天爱天天爽AV| 超碰在线国产| 秋霞蝌科网日本一区| 精品人妻一区二区视频| 欧美日韩中文字幕人妻| 91狠婷| 日本不卡五区| 无码视频一区二区| 久操av在线| 欧美在线播放aaaa| 人人操人人干xxx| 亚洲 日本 一 二 三| 日韩肏逼视频| 亚州黄站| 91视频成人福利网站在线一区| 国产不良强奸视频免费看| 91丝袜激情在线| 1769精品一区二区三区| 国产成人在线观看网址| 啊灬啊灬啊灬啊灬高潮奶出了免费视| 小泽玛利亚一二三| 久久偷拍人| 一区二区 韩日AV| 1956日韩精品| 午夜一区| 国产精品久久久午夜夜伦鲁鲁| 精品一区二区人妖| 国产精品人妻一区二区| 亚洲天堂情色| 偷拍 精品 另类 四区| 欧美成熟性爱精品| 精品传媒在线一区| 国产av热热色| 综合影院亚洲| 多乙久久久久久| 国产精品一区二区三| 美国久久一二三四| 97人妻色| 精品少妇一区二区三区在线视频| 日韩日本欧美在线观看| 97网色| 香蕉久久精品| 欧洲熟妇xxXx欧美老妇裸体| 亚洲日本激情| 九九九九免费| 一区二区乱码福利| 亚洲四虎熟女精品| 亚洲最大的黄色电影网站。| 十八禁视频网站| 激情综合网亚洲| 欧美日韩中国x| 韩国轻伦国内自拍一区| 国产视频一区二区在线| 亚洲黄色影视| 亚洲一区二区精品福利| 18禁美女裸体无遮挡啪啪| 91精品在线播放| 绑缚麻绳人妻寝取完整版| 婷婷中文字幕| 久久综合激情| 99在线精品观看99| 久久精品美女一区| 天天综合网站| 大香蕉五月天婷婷| 97超碰这里只有精品| 欧洲在线性爱视频| 黄色大香焦1级‘′‘| 性交一区二区在线播放| 精品国产99| 麻豆AV一区二区| 欧美性色欧美| 久久97超碰| 日韩乱伦影音先锋| 干干干天天| 蜜乳av一区二区| 天天看天天日天天操| 天天在线91| 1024午夜激情男人的天堂| 亚洲另类色图片| ′ !γ}丶。。久久精品欧美一区二区三区| 中文字幕亚洲热播人妻| 色狠狠 - 百度| 亚洲综合九九| 超碰精品日韩欧美国产| 色五月婷婷色| 亚州综合AⅤ| PMv在线观看| 欧美中文字幕一区 | 亚洲日韩乱码中文无码蜜桃臀网站| 天天干天天日天天射黄色大片 | 亚欧毛片基地国产毛片基地| 乱伦AVxx| 99丝袜福利在线播放| 色综合中文字幕不卡| 一区二区三区 丝袜 高跟 美腿| 欧美1727免费观看视频| 日韩天堂av电影在线观看| 九九久久一区二区三区| 蜜臀AV一区二区三区激情综合| 98色网| 日韩国产中文字幕| 亚洲精品819| 超碰 另类 欧美| 操人妻逼91| 强被迫伦姧在线观看无码网站| 无码操逼网| 中文字幕人乱码中文字的预防方法 | 久久亚洲一区女同性恋中文字幕| 中文字幕乱妇免费视频| dy888午夜老子影视达达兔 | 毛片麻豆91糖心精品毛情片| 综合色好色| 国产97在线 | 亚洲| 草草电影院| 你懂的在线观看区国产| av日韩手机在线影视| 99综合网| 国产五码丝袜屁眼| 狠狠爱夜夜| 另类图片欧美激情综合| 99久久精品国产高潮| 九九热男人天堂| 欧美性天天影院| 少妇厨房愉情理伦片bd在线观看| 精品人妻一二三四区视频| 翔田千里av一区二区三区| 777超碰| 首页亚洲国产高跟丝袜诱惑视频| 老熟女熟妇| 欧美人妻熟女在线| 亚洲成人无码影院| 伊人青青一区成人视频在线观看区| 亚洲熟女一区| 精品久久久久久AV无码| 亚洲人成网www| 麻豆天美在线喷水AV| 激情欧美97| 神马久久久久久伦理片| 一本一首道人妻少妇免费久久| 加勒比性爱成人在线| 日本操逼视频免费| 丁香五月AV| 东北操逼| 国产精品日韩在线一区| 日韩AV中文字幕电影| 干超碰碰熟女| 亚洲日韩东京热一区| 熟女人妻久久中文字幕一二区| 人人干黄色| 桑老女人九区| 精品无码久久久久久国产浪潮| 97久久精品亚洲| 97久久国产亚洲精品超碰热| 伦伦成年午夜免费视频| 中文字幕88av在线| 国产午夜福利专区综合| 91天天日| 超碰97人妻免费在线| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 五月激情综合网| 在线观看日韩av不卡| 啊嗯好大视频在线观看| 麻豆精品一区二区三区四区免费观看| 色综和网| 老汉网| 操比国产| a网站免费观看| 国产乱伦亚洲色图高清无码| 啊啊啊啊啊操我视频| 久久久久白虎| 国产精品久久久鸭无码的功能| 人人综合| 黄片视频,下载| 69精品人人人人| 亚洲无码电影久久久| 六六久久日韩不卡| 91人妻在线视频| 操人人| 91大神精品长腿在线观看网站| 日韩av熟女一区二区三区成人| 欧美色图偷拍另类| 蜜臀中文字幕| 亚洲综合大片| 久九九九| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 国产一二三福利视频网| 少妇蜜汁| 精品毛片av一区二区| 97精品久久久久中文字幕| 亚洲,日韩,欧美,成人播放| 婷婷丁香一区二区三区| 日韩人成网站在线播放| 欧美日韩操逼嗦吊| 久久啊啊| nuu12国产麻豆精品| 久久精品国产亚洲AV成人直播| 黄片免费日韩| 国产强奸乱伦欧美| 小视频国产| 青草青草久热| 大奶啊啊好爽| 久久久久久久久久久久黄色| 激情视频一二三| 日日日日做夜夜夜夜做无码97| 96国产精品| 国产日本顶级一区二区三区| 中文字幕,人妻,日韩| 日韩欧美中文| 亚洲情色电影网| 五月天伊人| 超碰 国产熟女精品一区| 天天射天天色成人| 国产精品麻豆免费视频| 免费的黄片wwwwww| 日韩在线人妻网站| 久久春色| 欧美人妻一区| 亚熟hd视频在线| 欧美日韩狠狠爱| 欧美成人A√在线一区二区| 亚洲欧美在线观看免费| 91操人| 日韩精彩免费| 国产午夜福利合集| 国产路线专区| 中国大陆国产高清AⅤ毛片| 成人片在线播放| 色女99一级片在线观看| 九九久久久| 333kkkk·亚洲com久久| 嫩草 人人网精品| 清纯唯美亚洲另类| 一区不卡在线观看av| 国产日比| 久久超碰天天| 欧美亚洲色图另类国产| 第四色色综合91| chaopen97久久| 免费观看性欧美一级| 婷婷亚洲综合| 久久久精品久久| 亚洲高清视频在线免费观看| 天天干天天干天天干| 日本高清熟女久久一区| 国产家庭乱伦性爱视频| 裸体女人草逼视频播放一区,二区,三区,四区,五区| 亚洲丝袜二区在线| 国产情侣自拍在线播放| 熟妇高潮二区三区| 久久精品国产亚洲AV高级北京| 天天综合网久久ww| 性一级黄色录像片网站导航| 99久在线精品99re8热| 超碰97首页| 波多野结衣一级视频| baisiav| 亚洲一区二区中文字幕| 大香蕉av在线| 欧美九九九九九| 人妻内射一区二区在线视频| 久热网| 日本999精品| 亚洲精品国产无码高清| 乱性AV| 亚州综合网| 天堂亚洲欧美| 一区二区视频在看| 黄页av| 插插综合网天天影视网| 男人天堂毛片| 欧美性性性| 偷拍盗拍亚洲色图图片| 青娱乐91| 久久无码一区二区二三区性色| 精品人妻一区二区三区四区石在线 | 久久久一区二区三区四区五区| 日韩在线观看AV| 久久青娱乐| 一卡二卡三卡| 亚洲欧美视| 亚洲色婷婷综合久久一区二区三区| 91成人精品| 91丝袜| 综合97| AV天堂国产| 久久精品国产96精品亚洲拳交| 新婚人妻扶着粗大强行坐下| 五月天开心网| 99青草| 欧美成人色| Julia Annxxxxx| 黑丝制服中文字幕 | 国产一区二区三区中文字幕| 99亚洲人人| 亚洲欲| 国产精品乱码久久久、久久| 好涩综合| 内射小黄片| 国产网站在线播放| 91neishe| 精品十八在线观看| 久久国色天香香蕉| 韩国三级一线观看久| 天天插夜夜操| 91成人精品| 97干在线看| 日本熟女免费視颖| 热热色91| 国产妇女精品视频青青草| 久久草大香蕉| 强奸乱伦AV网站| 深喉吞精| 91强在线播放| 青青草在线视频欧美| AV免费在线播放一区| 夜夜欢天天干| 亚洲自拍青操视频| 久久9久9久99久9久9| 免费中文在线| 欧美人黑A片无码免视费| 足交视频老司机| 国产11页| 91精品丝袜久久久久久| 欧美午夜视频免费观看| 91强在线播放| 97伊人超碰| 色综合V| 无遮挡猛进视频免费无限观看| 国产欧美一区二区| 综合五月天| 日本熟妇人妻中出视频| 中文字幕片| 午夜无遮挡男女啪啪视频| 97 国产精品| 蜜臀99999| 一区二区三区在线资源| 激情小说五月天| 3d成人精品一区二区| 韩国三级一线观看久| henhen91| 91亚洲影视| 韩国毛片一区二区三区| 成人精品一区二区三区| 中文字幕片| 亚洲城人男人的天堂| www.夜夜| 91肏屄网| 欧美色66| 人妻人人澡人人爽人人| 日本精品国产视频| 东北女人操逼| 国产色图乱伦| 日本孕妇一区二区视频操逼免费看 | 岛国黄色大片网站| 日本午夜操逼| 一区二区三区精品视频| 高清在线偷拍自拍视频| 人妻中文在线| 嗯啊啊啊轻点视频 | 久久老子无码午夜伦不卡| 国产精品免费日韩| 国产成人自拍视频视频| 高清国产性猛交xxxx乱大交| 小视频玖玖| 亚洲 中文字幕 精品| 乱伦一二三区| 女同性恋久久| www.久久久久| 大香蕉碰| 久久少妇人妻| 色97欧美| 久久久久久9| 青青久久艹| 影音先锋日本乱伦| 91综合熟女| 九九综合九九综合| av绯色| 乱伦av麻豆| 精品一二三区久久AAA片| 五月丁香啪| 啊啊啊啊啊操我视频| AV丝袜东京热| 婷婷丁香人妻 | 欧美大片91| 香蕉黄色一级视频| 精品少妇人妻av久久免费| 日本高清一区二区在线| 美女露胸露尿口| 99色骚| 麻豆色99999| 骚逼高潮久久精品| 五月天综合网| 九九九偷拍| 激情综合五月婷婷| 免费A片三p视频| 亚爽爽爽爽爽爽爽爽| 欧美极品性爱天天射| 91中文字幕在线观看| 啊啊啊啊一区| 日韩啊V| 精品999日本| 日韩人妻播放| 91中文字幕制服丝袜免费视频| 嫩草 人人网精品| 久久9视频| 色激情综合网站| 人妻人妻天天碰| 99色色网| 日韩欧美中文日韩欧美色| 四虎免费视频| 91天美免费| 精品一区二区国产日韩| 婷婷精品久久av影视| a片在线播放| 青春草A| 午夜福利视频在线一区| 黑人娇小av在线播放| wuyechaopeng| 第四色色综合91| aaa一级黄片| 久操操AV电影| 亚州综合色| 人妻激情在线视频| 午夜天堂精品久久| 超碰98综合网| 性色av大全| 日韩精品一区二区人人人| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 性色一线| 色综合久| 日韩欧美综合激情| 自拍偷拍国产欧美日韩韩| 熟人人妻少妇精品久久| 久久精品91| 亚洲视频小说| 少妇同性| 97天天做| 日本三级小说中文字幕| 欧美天天插| 日本久久精品| 香蕉久久国产AV一区二区| 囯产精品久久久久久久久久梁医生| 传媒在线观看一区二区三区| 欧亚 另类 久| 99精品无码| 久久久久久久久国产| 日韩在线97| 久久色一区| 日韩pv中文| 99色综合| 性爱视频久久| 日韩精品区二区三区不卡| 青青操在线视频| 新版天堂中文资源8在线| 手机av亚洲丝袜美腿日韩第一页二页| 插日本熟女视频| 美日韩一二三区| 亚洲国产精品V?在线播放| 欧美性夜| 一区二区影视| 超碰免费97| 欧美性爱一区二区三区| 少妇蹲下露出大唇5| 91中出视频| 97天天操| 天天看夜夜看日日干| 超碰超碰超碰超碰的大鸡吧操黑丝袜| 国语精品对白| 97天天| 国产乱子伦一区二区三区在线观看| 亚洲精品欧洲色| 97超碰久久| J?P?NESEHD熟女熟妇伦| 欧美探花网| 日本一级真人黄色性爱视频| 97国产精品一区| 亚洲熟妇熟在线电影视频| 一区二区三区精品视频| 桃花色涩综合影院| 97干97色| 少妇99成人麻豆| AV和黑人在线播放| 日韩本不卡视频在线观看 | 狠狠图片青青草| 777AV电影| 综合网亚洲1| 久久黄黄| 久久精品人人做人人看| 中日992视频| 精品免费一区二区三区在线亚洲人成| 日va操| 国产成人久久精品蜜臀| 自拍亚洲综合| 日本丝袜美腿人妻九九| 狠狠狠狠狠干| 无码人妻丰满热妇又大又粗| 国产肏逼网站| 久久精品熟妇丰满人妻99| AV色天香在线| 日本天天操| 极品综合| 亚洲人妻在线精品| 国产AV线| 制服中出中文人人精品| 伊人操| 国产精品午夜福利视频| 日逼五月天| 国内精品不卡无毒99999| 大地资源在线观看中文第二页| 国产欧美日本亚洲精品| 大色综合| 人人妻人人澡人人爽久久av| 日本不卡中文| 亚洲精品久久久久久久久豆丁网| 蜜臀无码一区二区| 你懂的在线观看区国产| 亚洲 日韩 欧美 国产综合体| 大香蕉宅男伊人| 亚洲天堂加勒比| 91在线精品| 久久综合精品一区二区三区| 久久久久久久9| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 欧美性xxxxx狂欢| 欧美偷拍| 国产精品网址| 啊啊啊好想要| 国产免费一区2区3区| 熟女精品日韩一区二区三区| 老鸭窝黄色视频网站| 欲射影视| 色噜噜狠狠色综无码久久合欧美| 国产精品无码久久久久2025| 国产精品久久发布| 欧美综合综合| 久久久国产三级黄色片| 视频黄站| 亚洲美女自拍偷拍视频| 久久久禁| 爽极品影院| 大香蕉国产中文自拍| 综合网天天| 欧美夜夜狠| 91亚洲图片| 色色五月婷婷| 东北女人高潮视频| 久久草大香蕉| 91久久婷婷| 超碰国产在线| 99re综合伊人| 91丨熟女丨丰满熟女| 亚洲无无码αⅴ每日更新| 狠狠躁AV| 欧美18老人禁| 国产精品高潮久久AV| 婷婷伊人五月| 97免费在线视频| 亚洲男人的天堂va亚洲男人社| 亚洲色图一区二区三区| 欧亚性爱在线视频| 97人人模人人爽人人| 欧美日韩情色一区二区| 97精品国产手机| 亚洲极品| 成人精品在线免费视频| av天堂手机版追回| 天天看片天天爽| 秋霞福利网| 久久啊啊| 日本国产高清色www视频在线| 福利视频一区二区微拍| 熟妇在线视频一区二区| 99RE在线视频精品,这里只有精品| 青草伊人久久| 激情小说日韩无码| 日韩成人精品中文字幕| 精品97久久综合| 少妇的嫩逼图片| 久久精品人妻一区| 手机看片1025| 欧美久久婷婷| 亚洲资源站| 97欧美性爱| 大香蕉手机在线视频| 欧美在线干| 少妇熟女1区2区3区| 一区二区三区在线美女| 亚洲有码 欧美精品| 久久久少妇诱惑精品视频| 肏逼视频日本| 九色97| 狠色婷婷久久一区二区三区_| 熟女人妻一区二区三区| aⅴ日韩成人电影av在线免费看av大全 | 日本中文字幕在线电影| 丁香六月激情综合| av绯色| 蜜桃臀一区二区aV| 9118禁| 日韩精彩视频| 在线人成亚洲视频免费观看| 龙兴卡官方查询| 久草精品一区| 中文字幕高清精品一区| 中文字暮97| 日韩美女高潮喷水视频| 午夜小电影在线插入淫高潮| 五月丁香啪啪啪| 97国产精选| 亚洲αv一区二区三区| 久久久久久久久久久久黄色| 日本久久女同性恋视频| 91黑丝在线播放| 97超级久久| 99色色网| 婷婷10月天青娱乐| 99久久综合网| 欧美日韩欧美| 色优久久| 在线不欧美| 国产 v乱码一区二| 青青草原成人| 91精品大奶人妻| 91精品久久久久久| 久久一区二区三区入口| 日韩欧美三级| 狠狠狠狠狠狠| 亚洲国产97| 黄色二级片网站| 国产精品久久久吖| 久都青青视频| 日B操| 精品国产99| 青娱乐欧美激情一区二区| 97超碰总站| 日人妻视频91| 偷拍导航视频网站| 欧美少妇熟女| 国产精品一区av在线| 日韩精品人妻中文字有码在线 | 久久大香蕉97| 国产又粗又又黄又猛| 久久人妻| 啊啊啊不要啊啊受不了了视频在线 | 日本久久久久久久久久| 国产超碰在线| 免费a v| 亚热日本熟女| 色色色欧美| 国产精品制服丝袜清纯唯美| 91日韩在线| 欧美熟妇操操视频| 日韩欧洲操屄视频| 99操视频| 84YTCOM性无码| 99久久e免费热视| 99热在线播放| 国产精品久久久久久亚洲色欲| 大香蕉欧美国产日韩高潮| 亚卅熟女乱色| 日韩欧美大力操| 一区二区影视| 熟女熟妇伦久久影院毛片一区二区 | 一本大道青青| 偷拍在线观看视频| 精品少妇后入一区二区三区四区人妻巨乳 | 一区二区三区一亚洲中文字幕、综合区灬| 亚洲中文制服诱惑| 操逼视频免费日韩无码| 蜜臀无码视频在线观看| 亚洲 欧美 日本 国内 首页| 欧美天天谢综合网| 99久视频| 大色综合| 激情人妻另类| 国产夜夜艹| 不卡啪啪视频| 欧美亚洲色图另类国产| 色欧美在线| 免费的av网| 亚洲人妻av| 三级特黄60分钟播放| 亚洲天堂2020| 秘书高跟黑色丝袜国产91在线| 麻豆天美传媒在线视频天堂| 日本欧美国内在线| 人妻少妇精品一区二区三区| 二男一女成人A片| 亚洲精品日韩国产欧美| 亚洲伊人a线观看视频| 日本成人在线不卡一区二区三区| 伊香蕉综合久久久久久久噜噜噜| 久久九九精品一区二区| 免费国产| 亚洲中字慕不卡| 在线电影亚洲色图| 黄久在线| 亚洲图片偷拍欧美| 曰本道人妻久久久在线不卡色视频| 青青欧美| 久久9精品网站| 狠狠操狠狠燥| 99这里只有精品| 91超碰在线观看| 日本免费二区三区| 91天天综合日韩欧美| 激情小说亚洲| 精品国产91内射久久| 亚洲一级性爱视频免费看| 九色在线熟女国产黑人| 国产乱弄免费在线视频。| 91骚妇| 性开放中文AV高清无码免费看| 北约熟女超碰| 国产午夜无码片在线观看影视| 99精品成人免费看| 久热久| www鬼畜国产男人的天堂| 成人综合网 欧美| 啊啊啊啊啊好舒服视频| 欧美日韩一二三| 九九AV| 日韩综合无码色欲vv| 国产成人无码高清| 亚洲情色第一页| 天天看特黄的免费网站 | 欧美性五月| 成人怡红院| 国产亚洲性生活视频播放| 欧美性爱一级操| 夜色五月天| 少妇内射www在线观看视频| 夜夜黄| 黑人免费福利视频| av天堂手机版追回 | 日逼97| 精品国产91内射久久| 亚洲日韩精品在线播放| 4141514逼喷水三级片| ...日韩成人一区二区三区字幕| 欧美性暴力猛交| 日韩欧美成人综合在线| 无码色| 国产精品不卡一区二区三区| 久久欧美激情| 18啪啪手机免费性爱| www99热| 96国产污污污丝袜| 搡老女人老91妇女老熟女| 午夜爽爽爽在线观看永久入口姬片| 五月天综合网| 日韩中文9| 亚洲日韩av专区无码| 国内精品久久久久影院亚洲| 天天插天天射| 久久精品人妻一区| 日本东京热大香蕉a片| 免费簧片在线观看| 大香蕉懂9| 高凊专区人人操| 国产精品爱欲| 日本五区不卡| 天综合网| 欧美日韩黄片精品在线| 色偷偷超碰亚洲| 99爱在线视频| 26uuu成人影片| 国产一区二区精品在线视频| 激情综合五月| 四虎午夜影院| 91AV国产精品| 蜜桃传媒一区二区亚洲| 亚洲日韩精品一区视频在线| 三及片网站| 色婷婷综合久久中文字幕雪峰| 亚洲精品无码久久AV| 女人香蕉久久毛毛片精品| 大香蕉 222| 日韩欧美国产高清视频| 日本阿v天堂在线观看| 青青伊人久久| A V少妇特黄三级| 亚洲欧美日韩二区视频| 久久欧美激情| 中文字幕超碰CAO| 99免费在线视频| 综合国产影视三级| 一区二区视频在看| m欧洲一级午老| 日日狠狠久久偷偷色综合免费| 亚洲av无码成电影在线播放| 91亚洲黄色网| 蜜臀久久久国产| 大香樵伊人网| 日本性爱少妇| 人妻9117c| 综合亚洲欧美| 97欧美色综合| 精品人妻一区二区免费蜜桃| 婷婷丁香五月激情啪啪| 亚洲欧美在线观看无码| 91天美| 好一吊区二区| 传媒免费一区二区三区| 鲁鲁色综合网| 综合一区中亚洲国产成人综合精品| 欧美18 在线观看| 91熟女丨91老女人| 我想要啊 啊 啊| 白 大 人妻 区 在线| 后入 亚洲 美女 射| www超碰| 乱伦Av网| 中文人妻av高清一区| 神马久久久久久| 春色91| 国产亚洲精品av一区| 亚洲久久久久| 久草这里只有精品| 国产丁香精品露脸视频 | 操人无码| 亚洲欧美日韩精品久| 色色色色日本| AV一区观看| 韩国三级一线观看久| 亚洲色图亚洲| 欧美色涩| 人妻欧美| 97chaopengongkai| 91色欧美| 天天操熟妇| 久久久免费懂色| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 殴美大黄片| 97精| 在线小视频| 日韩欧美视频青青| 九色精品视频导航1| 日韩三级av片| 国内精品a| 亚洲少妇综合| 老鸭窝成人| 一区二区三区精品视频| 男人天堂无码| 丁香五月天婷婷姐| 不卡啪啪视频| 午夜福利一区二区影院| 殴美色网| 国产美女91视频| 丁香九月婷婷| 亚洲天堂7777| 久操91视频| 97久久国产精品女不卡| 色诱avtt| 五月天激情小说网| 18禁超污无遮挡无码免费网| 国产无码三级视频在线观看| 大香蕉伊然在亚洲91| 91色黑人少妇| 亚洲天堂中文字幕无码男同| 播播亚洲小说亚洲| 高潮毛片无遮挡高清免费| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 97在线欧| 91成人社区| 美女露胸露奶头| 玖玖色综合| 熟女色综合久久| 影音先锋新男人| 亚洲精品一区二区精品| 欧美性高潮| 国产精品乱码久久久久久久| 性性久久| 久久伊人网视频一区二区三区| 久热香蕉精品在线视频| 自拍内地三级在线观看| 欧美91在线| 91精品91久久久中77777| 噜噜噜亚洲精| 欧美亚洲韩国视频十五区| 美女黄码视频午夜| 超碰98综合网| 中文有码第五页| 九九热免费国产视频婷婷伊人五月| 91操碰| 久久99网站| 探花激情视频| av网页一区二区三区| 超碰国产精品无码| 久久精品久久久久久久久| 在线播放成人高清免费视频| 亚洲日韩电影| 九九碰九九爱97超碰| 黄骗免费网站| 日韩性爱小视频| 蜜乳AV免费观看| 操逼网站网站| 亚洲无无码αⅴ每日更新| 亚洲 小说 欧美 激情 另类| 88xx成人精品视频| 蜜臀AV秘一区翔田千里| V A在线| 男女日B国产| AV一区观看| 凹凸视频在线观看伊人| 天天日B夜夜干B时时操B| 亚欧高清在线| 五月丁香啪啪网| 伊人97超碰| 亚洲夜色在线| 日韩少妇丰满亚洲| 色网在线| 久久亚州大香蕉| 东京热综合久久一区二区| 亚洲情色 自拍| 久久久久国产精品久久久| 另类亚洲一区二区三区| 精品人体无圣光凹凸| 人看人人摸人人操| 九九色精品| 免费的av网| 久久熟女久| 五月婷婷六月丁香网址| 成人怡红院| 色妇综合网| 制服中出中文人人精品| 九九拍拍精品视频在线播放 | 精品一区二区三区蜜桃臀赵总 | 新91视频.cmp| 3PAV乱伦视频| 成人麻豆av电影网站| 美女午夜福利免费视频| 久久香蕉网| 伊人色综合超碰| 欧美情色贴图| 超碰 国产熟女精品一区| 蜜臀久久99精品久久久久久成人小说| 国产自制av蜜乳| 亚洲色图日韩精品| 人妻天天操天天爽视频免费| 91路www| 亚洲日韩美女丝袜美腿人妻视频| 伊人专区一区二区三区| 手机看片1024你懂的国产| 日本三级中国三级99人妇网站| 中文字幕日韩精品一区二区三区| 一区二区三区四区在线不卡| 欧美不卡五十路| 中文字幕免费看大片| 欧美 亚洲 制服 精品| 精品一区二区久久| 91视频精品| 亚洲综合在线视频| 91nbbbbbb| 熟妇一区,二区,三区。| 性爱网站一区二区| 亚洲精品一区中文字幕乱码| 九九热精彩视频| 电家庭影院午夜69久久夜色精品国产69乱| 日本高清_区二区三区 | 久久久影院| 国产三级中文字幕粉嫩| 九月AV| 久久久久女教师免费一区| 高清国产av无码| 91在线视频免费播放| 91日日夜夜| 九九夜精品九九在线| 色情亚洲日本成人| 日本不卡码黄色| 日本三级韩国三级99| 成人av影院在线观看| 麻豆天美一区二区| 久热伊人| 色妇综合网| 国产精品久久久午夜夜伦鲁鲁| 青女在线| 成人老鸭窝人人在线视频| 在线播放中文字幕| 任你艹| 国产无马av| 国产成人在线观看综合| av无码精品久久久久| 国产白嫩漂亮KTV在线| 看免费一级在线播放毛片| 男人的天堂2019| 亚洲欧美高清无码| 国产精品人妻无码久久久老鸭窝 | 91成人18| 91美女在线观看| 思思久热在线精品66| 日本影视久久免费| 成人小说另类在线| 人人操人人摸人人看人人插| 小说区 图片区色 综合区| 国语av狠狠色丁香婷婷综合激情| 秋霞Av理论一级在线| 国内毛片欧美香蕉精品| 超碰97人妻免费在线| 密乳AV免费观看| 国内精品久久久久影院亚洲| 大香蕉亚洲中文| 淫乱图区 | 97在线观看播放视频| 国模少妇一区二区三区| 日日狠狠久久偷偷色综合免费| 国产青一二三| 欧美激情一| 热久久国产| 国产精品色片一区二区| 中文字幕一二区二三区人妻专区| 狠狠激情综合狠狠操中文字幕| 久久欧美1卡2卡3| 亚洲无限观看| 白丝av| 99自拍B亚洲| 色天堂综合| 国产乱子伦一区二区三区在线观看| 日韩操逼HD| 99热色这里只有精品| 东北操逼| 亚洲天天做日日做天天谢日日| 久7色| 91美女視頻| av影片在线观看不卡| 新版天堂中文资源8在线| 秋霞午夜视频一区二区| 成人怡红院| 欧美后进式| 国产精品农村妇女| 另类小说五月天| 久久精品国产久精国产| 女生看匆91网站| 9久在线视频只有精品| 国产极品美女高潮无套在线观看| 人人操,操人人| 日韩精品99999| 国产视频小说| 人妻丝袜日本| 免费无码国产精品v片在线观看| 亚欧高清在线| 久久久久久久国产| 蜜桃狠狠色伊人亚洲综合| 久久精品一区二区| 久久精品亚洲成a人天堂| 91在线视频免费中出| 久久亚洲天堂| 97色伦97色伦国产欧美| 99色| 色婷婷日韩精品一区二区三区| 亚洲 暴爽 AV人人爽日日碰| 日韩一性一交一A片俄罗斯| 精品人妻一区二区免费蜜桃| 精品一区二区久久| 国产一区在线观看无码AV| 亚洲中文字幕乱码无码一区二区| 97超碰精品图片| 强奸乱伦日韩AV| 91天天爱| 国产精品女久久久久av爽| 9久精品视频在线观看| 韩国三级一线观看久| 天无日色综合| 亚洲伊人成综合成人网| 嗯阿好爽好紧| 久久尹人大香焦视| 精品久久一区二区三区四区五区| 日韩综合97p| 中文字幕91综合| 亚洲天天综合| 久久av色| 思思热er精品视频| 好爽要喷了| 日韩一级成人毛片免费观看 | se,,,亚洲欧美| 日韩性爱免费视频在线网站| 超碰人妻久久人妻中文97| 精品久久久久久AV无码| 金典av| 色婷婷丁香| 羞涩视频| 精品97精品97| 全球成人中文在线| 青娱乐休闲视频在线观看| 五月天伊人| 亚洲欧美国产其他二区| 亚洲九九九九| 色网综合网| 一二三四日本视频高清| 天天弄天天操| 久久αⅴ| 98超碰日本| 欧美日韩免费专区在线| 岛国AB视频| 在线日韩日本亚洲国产| 欧洲一区二区| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 人看人人摸人人操| 国产精品自在线发布| 精品久久久久久久| 久久久男人的天堂| 日韩97超碰中文字幕| 婷婷亚洲综合| 亚洲乱码尤物193YW| 被男人添B超爽视频| 后入式免费视频| 人妻喷水| 欧美性第1页|