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

ARTICLE DETAIL

資訊詳情

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

YOLOv8+ByteTrack+TensorRT:C++實(shí)現(xiàn)實(shí)時(shí)目標(biāo)檢測(cè)與跟蹤部署

YOLOv8+ByteTrack+TensorRT:C++實(shí)現(xiàn)實(shí)時(shí)目標(biāo)檢測(cè)與跟蹤部署 簡(jiǎn)介面向需要在Jetson或Linux x86_64平臺(tái)落地實(shí)時(shí)目標(biāo)跟蹤的開發(fā)者這套項(xiàng)目基于TensorRT C API部署YOLOv8檢測(cè)器與ByteTrack跟蹤器覆蓋從PyTorch權(quán)重轉(zhuǎn)換engine、CUDA預(yù)處理/后處理到兩類動(dòng)態(tài)鏈接庫(kù)封裝的全流程并支持在main.cpp中按需過(guò)濾跟蹤類別。壓縮包共64個(gè)文件、約25.16MB包含27個(gè)頭文件與14個(gè)cpp實(shí)現(xiàn)核心接口另有5個(gè)cu文件負(fù)責(zé)GPU加速、4個(gè)md文檔說(shuō)明編譯部署、5個(gè)txt配置文件及2個(gè)py腳本輔助權(quán)重轉(zhuǎn)換目錄按yolo和bytetrack分模塊組織便于解耦復(fù)用。目前已有163人學(xué)習(xí)下載適合具備一定C基礎(chǔ)、希望跳過(guò)重復(fù)造輪子直接集成目標(biāo)檢測(cè)與多目標(biāo)跟蹤的開發(fā)者。資源附帶效果動(dòng)圖、演示視頻和標(biāo)簽文件可快速驗(yàn)證跟蹤效果對(duì)Jetson嵌入式設(shè)備性能調(diào)優(yōu)也有直接參考價(jià)值。1. 這包資源解決什么問(wèn)題YOLOv8 檢測(cè)、ByteTrack 跟蹤、C 推理一張鏈條打通做目標(biāo)檢測(cè)部署的人都知道一個(gè)尷尬Python 里調(diào) ultralytics 跑 YOLOv8FPS 很好看但一旦要求「把檢測(cè)結(jié)果跟上 ID、跨幀跟蹤、還要在邊緣設(shè)備上實(shí)時(shí)跑」原來(lái)那套代碼就碎了。你需要一個(gè)不止會(huì)畫框還會(huì)數(shù)得清「這是第幾個(gè)進(jìn)入畫面的人」的系統(tǒng)。這份 C TensorRT 加速的 YOLOv8 ByteTrack 對(duì)象跟蹤工程包解決的就是這條鏈路YOLOv8 負(fù)責(zé)每幀檢測(cè)ByteTrack 把檢測(cè)框關(guān)聯(lián)成穩(wěn)定軌跡TensorRT 負(fù)責(zé)讓這一切在 GPU 上以可用速度跑起來(lái)而不是停留在演示階段。適合正在做安防、交通、工業(yè)視覺(jué)或者想把檢測(cè)模型落地成跟蹤應(yīng)用的算法工程師和部署工程師。2. 為什么是 YOLOv8、ByteTrack、TensorRT 這三樣選型理由與銜接邏輯2.1 YOLOv8 在跟蹤鏈路里承擔(dān)的職責(zé)一個(gè) anchor-free 檢測(cè)底座的輸出形態(tài)跟蹤的前提是檢測(cè)。ByteTrack 本身不產(chǎn)生目標(biāo)框它消費(fèi)的是檢測(cè)器輸出的每一幀結(jié)果。YOLOv8 之所以適合做這個(gè)底座核心在于它的輸出設(shè)計(jì)很規(guī)整網(wǎng)絡(luò)結(jié)構(gòu)采用 anchor-free 分支分類頭和回歸頭解耦不需要像 YOLOv5 那樣維護(hù)一堆 anchor 先驗(yàn)。對(duì)部署來(lái)說(shuō)這意味著后處理邏輯簡(jiǎn)單、張量形狀固定容易在 TensorRT 里做層融合。以 COCO 80 類模型為例輸入 640×640 的圖YOLOv8 輸出的特征張量形狀是 1×84×8400。其中 84 是 4 個(gè)邊框坐標(biāo)加 80 個(gè)類別分?jǐn)?shù)8400 是三個(gè)尺度特征圖展平后的候選框總數(shù)6400 1600 400。這里要注意YOLOv8 在導(dǎo)出 ONNX 時(shí)默認(rèn)不帶 NMS也就是說(shuō)框架只負(fù)責(zé)吐出原始預(yù)測(cè)非極大值抑制要拿到 C 里自己做。很多新手在這里翻車拿 TensorRT 直接推理得到 1×84×8400不知道如何解析成框也不知道為什么跟 Python 里看到的結(jié)果對(duì)不上。我一般習(xí)慣在 C 側(cè)把后處理拆成三步先按置信度閾值過(guò)濾低分框再做坐標(biāo)解碼最后按類別做 NMS。這個(gè)順序不要亂否則漏檢率和重復(fù)框會(huì)同時(shí)失控。2.2 ByteTrack 的 BYTE 關(guān)聯(lián)為什么低分框反而是跟蹤穩(wěn)定的關(guān)鍵ByteTrack 跟 SORT、DeepSORT 的核心差別在于它的名字本身BYTE。傳統(tǒng)做法只保留置信度高于閾值的檢測(cè)框去做軌跡關(guān)聯(lián)低于閾值的框直接丟棄。ByteTrack 反其道而行把檢測(cè)框分成高分?jǐn)?shù)和低分?jǐn)?shù)兩撥先拿高分?jǐn)?shù)框跟已有軌跡做第一輪匈牙利匹配未匹配上的軌跡再拿低分?jǐn)?shù)框去補(bǔ)匹配。這套思路解決了一個(gè)非常實(shí)際的痛點(diǎn)目標(biāo)被遮擋或者運(yùn)動(dòng)模糊時(shí)檢測(cè)器的置信度會(huì)驟降框還在但分?jǐn)?shù)低了。如果直接把低分框扔掉跟蹤 ID 就會(huì)斷。ByteTrack 把這些低分框當(dāng)作「補(bǔ)位候選」可以顯著減少 ID Switch。代價(jià)也很明顯它比純 SORT 多了一次匹配計(jì)算量略漲而且低分框本身質(zhì)量參差如果匹配閾值設(shè)得太松軌跡會(huì)被垃圾框帶偏。后面第 4 章我會(huì)給一組能直接抄的參數(shù)。2.3 TensorRT 在這一層扮演的角色Python 里不會(huì)遇到的顯存和 CUDA 問(wèn)題TensorRT 是把 PyTorch 模型變成部署用引擎的標(biāo)準(zhǔn)路徑。它做的事情包括把 ONNX 解析成計(jì)算圖做層融合比如 ConvBiasReLU 合并成一條按 GPU 架構(gòu)選擇 kernel以及把精度降到 FP16 甚至 INT8。這里的取舍要清楚FP16 一般可以把推理速度拉到 FP32 的 1.5 到 2 倍顯存占用也減半但個(gè)別算子在低精度下會(huì)出現(xiàn)可感知的精度損失。INT8 更快但需要校準(zhǔn)集去算 scale工程復(fù)雜度高一截。這個(gè)工程包默認(rèn)走 FP16我建議不要在最初階段碰 INT8除非你已經(jīng)有穩(wěn)定的標(biāo)定數(shù)據(jù)管線。還有一個(gè)部署特有的問(wèn)題Python 里的 PyTorch 推理自帶動(dòng)態(tài) shape而 TensorRT 引擎需要顯式聲明 optimize profile。你輸入的是 640×640但如果想支持 batch size 可變就必須在構(gòu)建引擎時(shí)配置好最小、最優(yōu)、最大三個(gè)維度。C 側(cè)改 batch 比 Python 側(cè)麻煩得多C 里多一個(gè)維度意味著所有綁定 buffer 都要重新分配顯存。2.4 三個(gè)組件拼成一條流水線從 camera 到畫框的完整數(shù)據(jù)流把整條鏈路拆開看實(shí)際運(yùn)行時(shí)是這樣一個(gè)循環(huán)讀幀 → letterbox 預(yù)處理 → 拷貝到 GPU → TensorRT 推理 → 從 GPU 拷回結(jié)果 → 后處理解析框 → 交給 ByteTrack 更新軌跡 → 按 track_id 畫框并顯示或推流。這個(gè)流程里最容易忽視的是 letterbox 的縮放信息。TensorRT 吃進(jìn)去的是 640×640原始畫面通常不是正方形預(yù)處理時(shí)會(huì)在邊緣填充灰邊。后處理階段要把框坐標(biāo)還原回原圖必須知道縮放比例和填充偏移量。如果只存了縮放比例忘了偏移檢測(cè)框在畫面下方會(huì)整體偏。C 里我習(xí)慣把這兩個(gè)值存在一個(gè)結(jié)構(gòu)體里跟推理結(jié)果一起傳遞而不是用全局變量避免多線程調(diào)用時(shí)串?dāng)?shù)據(jù)。另一個(gè)要注意的階段是 ByteTrack 的輸入輸出。它吃的是一個(gè) vector 的檢測(cè)框結(jié)構(gòu)體包含 x1、y1、x2、y2、score、class_id輸出的是帶 track_id 的同樣結(jié)構(gòu)體。所以后處理和跟蹤之間的接口應(yīng)當(dāng)定義成一個(gè)統(tǒng)一的數(shù)據(jù)結(jié)構(gòu)不要在兩處各寫一套框的表示方法否則改到后面你自己都分不清坐標(biāo)是原圖坐標(biāo)還是 letterbox 坐標(biāo)。3. 環(huán)境與編譯TensorRT 版本、CUDA 與依賴讓工程先跑起來(lái)3.1 先對(duì)齊版本CUDA、cuDNN、TensorRT 三者必須匹配這套工程是用 C 寫的意味著你繞不開本機(jī)環(huán)境的 CUDA 和 TensorRT。第一個(gè)要命的點(diǎn)是三者版本必須匹配。TensorRT 發(fā)布時(shí)是針對(duì)特定 CUDA 和 cuDNN 版本編譯的你用 CUDA 12.4 配 TensorRT 8.5 大概率能跑但如果你用老顯卡比如 GTX 1070就得看看自己卡的算力夠不夠。GTX 10 系列是 Pascal 架構(gòu)FP16 支持沒(méi)問(wèn)題但性能和 Turing 之后的卡有明顯差距。網(wǎng)絡(luò)熱詞里有個(gè)高頻問(wèn)題「tensorrt 版本如果是 10.x 是否支持 gtx1070」這里我要說(shuō)清楚TensorRT 10.x 本身支持 Pascal 架構(gòu)但 10.x 把大量 C API 標(biāo)記為 deprecated比如 enqueueV2 被 enqueueV3 取代destroy 不再顯式調(diào)用。工程的 CMakeLists 里如果寫的是老 API在 10.x 上編譯會(huì)直接報(bào)錯(cuò)。我建議先確定你手頭的 TensorRT 版本再選 API 風(fēng)格不要盲目追新。3.2 編譯前的清單你需要準(zhǔn)備哪些東西打開終端前先按下面這份清單核對(duì)環(huán)境。缺一項(xiàng)都會(huì)卡在編譯期或者運(yùn)行期而這兩類的報(bào)錯(cuò)信息完全不一樣。依賴項(xiàng)推薦版本區(qū)間作用常見坑CUDA Toolkit11.x / 12.xGPU 計(jì)算庫(kù)驅(qū)動(dòng)版本要配套cuDNN與 CUDA 配套深度網(wǎng)絡(luò)加速忘記設(shè)置 LD_LIBRARY_PATHTensorRT8.5 ~ 10.xONNX 解析、推理引擎版本間 API 差異大OpenCV4.x圖像讀取、預(yù)處理、畫框4.1 和 4.5 的 API 有小變化CMake3.16構(gòu)建系統(tǒng)需要能找到 TensorRT 的安裝路徑在 Ubuntu 20.04 上搭這套環(huán)境最省心配合 vscode 的 C/C 插件調(diào)試也比較順。裝完 TensorRT 之后馬上檢查環(huán)境變量export LD_LIBRARY_PATH/path/to/TensorRT/lib:$LD_LIBRARY_PATH export CUDA_HOME/usr/local/cuda ldconfig環(huán)境變量這塊最容易被忽略。TensorRT 的 .so 庫(kù)如果找不到編譯能過(guò)但運(yùn)行直接報(bào) libnvinfer.so.10: cannot open shared object file。我一般會(huì)在跑程序前先執(zhí) ldd 確認(rèn)依賴鏈完整而不是到運(yùn)行失敗才開始排查。3.3 CMakeLists.txt 寫法和編譯命令工程的構(gòu)建文件通常會(huì)把 OpenCV、CUDA、TensorRT 串起來(lái)。一個(gè)能跑的 CMakeLists 核心長(zhǎng)這樣cmake_minimum_required(VERSION 3.16) project(yolo_tensorrt_bytetrack) set(CMAKE_CUDA_STANDARD 14) find_package(CUDA REQUIRED) find_package(OpenCV REQUIRED) set(TENSORRT_ROOT /path/to/TensorRT) include_directories(${TENSORRT_ROOT}/include) link_directories(${TENSORRT_ROOT}/lib) add_executable(run_tracker src/main.cpp src/preprocess.cpp src/postprocess.cpp src/bytetrack.cpp) target_link_libraries(run_tracker nvinfer nvparsers nvinfer_plugin cudart ${OpenCV_LIBS})注意 find_package 的位置。TensorRT 官方不提供 CMake module所以要用 include_directories 和 link_directories 手動(dòng)指路徑。如果你用的是 TensorRT 9 以上還要額外鏈接 nvonnxparser 庫(kù)否則 ONNX 解析器會(huì)報(bào)符號(hào)找不到。編譯命令很常規(guī)mkdir build cd build cmake .. -DTENSORRT_ROOT/path/to/TensorRT make -j$(nproc)編譯報(bào)錯(cuò)大多集中在頭文件路徑不對(duì)、-l 庫(kù)名拼寫不一致這兩個(gè)地方。我踩過(guò)一次坑是 OpenCV 4.5 之后 imgcodecs 庫(kù)被拆分畫框要用到 imgproc鏈接時(shí)漏了它原圖顯示功能就起不來(lái)。3.4 工程包的文件布局長(zhǎng)什么樣拿到手先看哪幾個(gè)文件這類 C 工程包的目錄結(jié)構(gòu)高度相似拿到手先別急著編譯按下面順序核一遍project_root/ ├── CMakeLists.txt # 構(gòu)建入口先看 TensorRT 路徑是否指向你的安裝位置 ├── README.md # 一般會(huì)寫清版本號(hào)和構(gòu)建順序 ├── src/ │ ├── main.cpp # 主循環(huán)讀幀推理畫框 │ ├── preprocess.cpp # letterbox 和歸一化 │ ├── postprocess.cpp # decode NMS │ └── bytetrack.cpp # 跟蹤器封裝 ├── include/ │ ├── trt_model.h # TensorRT 引擎加載與推理類 │ └── bytetrack.h # 跟蹤器接口定義 ├── models/ │ └── yolov8n.engine # 轉(zhuǎn)換好的引擎文件沒(méi)有就自己轉(zhuǎn) └── configs/ └── track_params.json # 跟蹤參數(shù)最關(guān)鍵的是 CMakeLists.txt 里的 TensorRT 路徑和 models 目錄下的 engine 文件。如果包沒(méi)帶 engine你得按第 4 章的流程從 pt 自己轉(zhuǎn)。配置文件里的 track_thresh 和 match_thresh 決定了跟蹤表現(xiàn)先別動(dòng)用默認(rèn)值跑通再調(diào)。4. 從 pt 到 engine 再到 ByteTrack核心流程與可抄的參數(shù)配置4.1 模型導(dǎo)出用 YOLOv8 官方方式把 pt 寫成 ONNXYOLOv8 的模型導(dǎo)出比 YOLOv5 省事直接用 ultralytics 庫(kù)的 export 接口。我實(shí)際在命令行里用的方式是這樣yolo export modelyolov8n.pt formatonnx dynamicTrue opset12 simplifyTrue如果你的環(huán)境裝的是 ultralytics 的 Python 包也可以寫成腳本from ultralytics import YOLO model YOLO(yolov8n.pt) success model.export(formatonnx, dynamicTrue, opset12, simplifyTrue) print(export onnx:, success)這里幾個(gè)參數(shù)含義要說(shuō)清楚dynamicTrue生成的 ONNX 允許 batch size 或輸入尺寸可變后面用 TensorRT 構(gòu)建引擎時(shí)可以指定動(dòng)態(tài) shape。opset12ONNX 算子集版本。opset 太低TensorRT 解析某些算子會(huì)失敗opset 太高老版本 TensorRT 認(rèn)不出。12 是在兼容性和算子支持上的平衡點(diǎn)。simplifyTrue讓 onnx-simplifier 把計(jì)算圖做一輪精簡(jiǎn)去掉冗余 reshape 和 transposeTensorRT 解析會(huì)更容易。導(dǎo)出后建議先用 onnxruntime 驗(yàn)證一遍輸出再進(jìn)入 TensorRT 環(huán)節(jié)。很多人上來(lái)直接轉(zhuǎn)引擎結(jié)果發(fā)現(xiàn)跟蹤框亂飄回頭排查到是導(dǎo)出環(huán)節(jié)的問(wèn)題。4.2 ONNX 到 engine用 trtexec 構(gòu)建 FP16 引擎TensorRT 提供了 trtexec 命令行工具可以直接把 ONNX 轉(zhuǎn)成序列化的 engine 文件我在構(gòu)建階段一直用它比寫 C builder 代碼快得多trtexec --onnxyolov8n.onnx \ --saveEngineyolov8n_fp16.engine \ --fp16 \ --minShapesimages:1x3x640x640 \ --optShapesimages:1x3x640x640 \ --maxShapesimages:4x3x640x640 \ --workspace4096這個(gè)命令的對(duì)應(yīng)參數(shù)含義--fp16開啟半精度。默認(rèn)是 FP32不開啟加速效果就出不來(lái)。--minShapes / --optShapes / --maxShapes這三組必須同時(shí)給TensorRT 用它們構(gòu)建優(yōu)化 profile。如果你之后要在 C 端用 batch4 推理maxShapes 至少要寫到 4只有 1 的話運(yùn)行時(shí)一旦改成 2 就會(huì)報(bào) invalid binding shape。--workspace4096構(gòu)建時(shí)允許使用的顯存上限單位 MB。解析大模型時(shí)給太小白報(bào) workSpace exhausted。轉(zhuǎn)完看到類似 Engine built in x seconds 的日志就說(shuō)明成功。我習(xí)慣把轉(zhuǎn)好的 .engine 文件記錄一個(gè)校驗(yàn)信息比如拿 md5sum 記一下因?yàn)閾Q一次 TensorRT 版本同樣的命令生成的文件內(nèi)容會(huì)不同。程序運(yùn)行異常時(shí)可以快速排除是不是引擎文件跟運(yùn)行庫(kù)版本不匹配。4.3 C 側(cè)推理封裝加載引擎、分配顯存、執(zhí)行推理engine 文件準(zhǔn)備好后C 端要做的事就是把引擎加載進(jìn) runtime創(chuàng)建 execution context分配輸入輸出 buffer然后跑推理。核心代碼長(zhǎng)這樣// 加載序列化引擎 std::ifstream file(yolov8n_fp16.engine, std::ios::binary); std::vectorchar data((std::istreambuf_iteratorchar(file)), std::istreambuf_iteratorchar()); nvinfer1::IRuntime* runtime nvinfer1::createInferRuntime(logger); nvinfer1::ICudaEngine* engine runtime-deserializeCudaEngine(data.data(), data.size()); nvinfer1::IExecutionContext* context engine-createExecutionContext(); // 分配顯存 —— 輸入輸出各一塊 void* buffers[2]; cudaMalloc(buffers[0], batch * 3 * 640 * 640 * sizeof(float)); // 輸入 cudaMalloc(buffers[1], batch * 84 * 8400 * sizeof(float)); // 輸出 // 推理 context-setTensorAddress(images, buffers[0]); context-setTensorAddress(output0, buffers[1]); context-enqueueV2(buffers, 0, nullptr, nullptr); cudaDeviceSynchronize();幾個(gè)容易出問(wèn)題的點(diǎn)buffer 大小要和引擎的 binding 維度一致。TensorRT 在 deserialize 時(shí)有自己的對(duì)齊規(guī)則如果顯存分配小了推理時(shí)直接越界輕則打出亂碼重則顯存報(bào)錯(cuò)。enqueueV2 是舊版 API 風(fēng)格TensorRT 10.x 推薦用 enqueueV3 加 stream 的方式但舊代碼里如果綁定名稱跟 ONNX 輸出名不一致setTensorAddress 會(huì)報(bào)錯(cuò)你需要在第一次運(yùn)行前打印 context-getEngine()-getBindingName(i) 確認(rèn)名字。推理輸出是一維 1×84×8400 的浮點(diǎn)數(shù)組。每 8400 個(gè)元素對(duì)應(yīng)一個(gè)位置的坐標(biāo)或者一個(gè)類別的分?jǐn)?shù)內(nèi)存布局是 [x1, y1, x2, y2, class0_score, class1_score, ...]理解這個(gè)之后才好在代碼里做解析。4.4 后處理置信度過(guò)濾、坐標(biāo)解碼與 NMS后處理是檢測(cè)環(huán)節(jié)的最后一步。代碼里我會(huì)寫成三個(gè)獨(dú)立函數(shù)方便單測(cè)struct Detection { float x1, y1, x2, y2, score; int class_id; }; std::vectorDetection decode_and_nms(float* raw_output, float conf_thres, float iou_thres) { std::vectorDetection detections; const int num_candidates 8400; const int num_classes 80; const int stride 84; for (int i 0; i num_candidates; i) { float max_score 0.0f; int max_class -1; for (int j 0; j num_classes; j) { float score raw_output[4 j i * stride]; if (score max_score) { max_score score; max_class j; } } if (max_score conf_thres) continue; float x1 raw_output[i * stride]; float y1 raw_output[i * stride 1]; float x2 raw_output[i * stride 2]; float y2 raw_output[i * stride 3]; detections.push_back({x1, y1, x2, y2, max_score, max_class}); } // 類別內(nèi) NMS按 score 降序 std::sort(detections.begin(), detections.end(), [](const Detection a, const Detection b) { return a.score b.score; }); std::vectorbool removed(detections.size(), false); // IoU 計(jì)算省略標(biāo)準(zhǔn)實(shí)現(xiàn) return detections; }邏輯說(shuō)明第一步先找每個(gè)候選框分?jǐn)?shù)最高的類別并以這個(gè)分?jǐn)?shù)做閾值過(guò)濾相當(dāng)于把 80 類分?jǐn)?shù)壓縮成一個(gè)最大值。第二步做 NMS 時(shí)我只在同一 class_id 內(nèi)做不同類別的框允許重疊這是 YOLO 系列默認(rèn)處理邏輯。參數(shù)上conf_thres 我建議設(shè) 0.25 起步這個(gè)值對(duì)應(yīng) ByteTrack 輸入的高分框定義。如果設(shè)成 0.5跟蹤時(shí)的低分框匹配階段就基本失效ByteTrack 退化成普通 SORT。iou_thres 設(shè) 0.7這是檢測(cè)標(biāo)準(zhǔn)值改大會(huì)出現(xiàn)多個(gè)框重疊同一目標(biāo)改小會(huì)漏框。4.5 對(duì)接 ByteTrack參數(shù)配置表和第一個(gè)跟蹤結(jié)果后處理得到的 Detection 列表直接喂給 ByteTrack 的 update 方法得到帶 track_id 的結(jié)果。ByteTrack 的 C 實(shí)現(xiàn)參數(shù)一般集中在頭文件里配置含義如下表參數(shù)建議值含義調(diào)高 / 調(diào)低的影響track_thresh0.5高分框閾值調(diào)高則跟蹤更保守目標(biāo)反應(yīng)慢match_thresh0.8關(guān)聯(lián)匹配閾值調(diào)高則容易切換 ID調(diào)低則容易保持舊 IDframe_rate30輸入視頻幀率影響卡爾曼濾波運(yùn)動(dòng)預(yù)測(cè)的補(bǔ)償min_box_area20忽略過(guò)小框過(guò)濾遠(yuǎn)處噪聲框調(diào)大會(huì)漏小目標(biāo)我第一次跑通時(shí)用的就是這組值track_thresh0.5、match_thresh0.8、frame_rate30、min_box_area20。跟蹤結(jié)果會(huì)在控制臺(tái)打印 track_id 和坐標(biāo)同時(shí)在窗口里用不同顏色標(biāo)出每個(gè) ID 的框和編號(hào)??吹?ID 穩(wěn)定不跳這一步就算成了。5. 避坑與排查四個(gè)最容易翻車的現(xiàn)場(chǎng)和對(duì)應(yīng)處理5.1 現(xiàn)象、原因、解決我把最常見的四類問(wèn)題拆開講這一章寫的是我自己在部署過(guò)程中反復(fù)踩過(guò)的坑每一條都是「現(xiàn)象 → 原因 → 解決」三段式建議你遇到異常時(shí)按這個(gè)順序排查比在網(wǎng)上搜報(bào)錯(cuò)快得多??右怀绦蚓幾g通過(guò)但運(yùn)行報(bào) libnvinfer.so.10 找不到現(xiàn)象cmake 構(gòu)建成功make 也成功一運(yùn)行就報(bào) cannot open shared object file。原因TensorRT 的 lib 目錄沒(méi)有加進(jìn) LD_LIBRARY_PATH或者路徑寫的是老版本號(hào)。解決在編譯前先 export LD_LIBRARY_PATH并檢查 TensorRT/lib 下實(shí)際的 .so 文件名。血淚經(jīng)驗(yàn)TensorRT 從 8.x 升到 10.x.so 后綴名變了所有硬編碼路徑都白搭最后必須用通配符或環(huán)境變量??佣櫩虮饶繕?biāo)框大一圈而且越靠畫面邊緣偏差越大現(xiàn)象檢測(cè)框套在目標(biāo)外圍偏移量隨目標(biāo)在畫面中的位置變化。原因letterbox 填充偏移量 x_offset 和 y_offset 沒(méi)有傳到還原函數(shù)里后處理按原圖尺寸直接縮放坐標(biāo)。解決確認(rèn)預(yù)處理階段記錄了填充寬高還原坐標(biāo)時(shí)用公式 x (x1 - x_offset) / scaley (y1 - y_offset) / scale。我自己在這上面栽過(guò)一次原因是把 letterbox 參數(shù)放進(jìn)了全局變量多線程下一幀的偏移覆蓋了上一幀??尤?ID 頻繁跳變同一目標(biāo)來(lái)回變號(hào)現(xiàn)象目標(biāo)直線行走track_id 從 3 跳到 8 又跳回 3。原因有兩種可能一是 track_thresh 設(shè)太高導(dǎo)致低分框全部被丟棄二幀率參數(shù)與視頻實(shí)際幀率不一致卡爾曼濾波的運(yùn)動(dòng)預(yù)測(cè)節(jié)奏亂了。解決先把 track_thresh 降到 0.4 試一輪再看 match_thresh 是否低于 0.7。ByteTrack 對(duì)幀率很敏感frame_rate 設(shè)置成 25 但實(shí)際視頻是 30運(yùn)動(dòng)補(bǔ)償就會(huì)偏??铀腡ensorRT 10.x 下編譯報(bào)錯(cuò)函數(shù)名對(duì)不上現(xiàn)象enqueueV2 未定義或者 destroy 方法不存在。原因TensorRT 10.x 把舊版 API 移除了。解決要么鎖定 TensorRT 8.x 版本編譯要么改寫成新 API。我一般推薦先按包內(nèi)帶的 CMakeLists 鎖定版本不要用系統(tǒng)里最新的 TensorRT 去編老工程。這里有個(gè)玄學(xué)現(xiàn)象同一份 ONNX不同 TensorRT 版本生成的 engine 文件的數(shù)值結(jié)果會(huì)有極小差異但足以影響跟蹤的穩(wěn)定性判斷。5.2 排查順序從哪個(gè)環(huán)節(jié)入手定位問(wèn)題當(dāng)你發(fā)現(xiàn)跟蹤結(jié)果不對(duì)先不要急著調(diào)參數(shù)。按下面順序排查效率最高確認(rèn)檢測(cè)沒(méi)問(wèn)題把跟蹤器停用單獨(dú)輸出檢測(cè)框看單幀結(jié)果是否正常。確認(rèn)推理沒(méi)問(wèn)題用 trtexec 跑同一張圖對(duì)比輸出和 onnxruntime 的一致性。確認(rèn)后處理沒(méi)問(wèn)題把解析出的框畫到圖上檢查坐標(biāo)是否貼合目標(biāo)。最后才是跟蹤器問(wèn)題對(duì)比不同 track_thresh 下的 ID 穩(wěn)定性。這個(gè)順序背后的邏輯是鏈路越靠前的問(wèn)題影響越大。檢測(cè)框本身偏了跟蹤器再準(zhǔn)也沒(méi)用。我見過(guò)有人花兩天調(diào) match_thresh最后發(fā)現(xiàn)是 TensorRT 輸出布局解析錯(cuò)了坐標(biāo)順序反了跟蹤器拿到的框全是亂的。不要跳過(guò)前幾步直接調(diào)參。6. 進(jìn)階調(diào)優(yōu)驗(yàn)證跟蹤效果的三個(gè)習(xí)慣和一個(gè)讓結(jié)果更穩(wěn)的關(guān)鍵動(dòng)作6.1 用可視化驗(yàn)證替代盯著控制臺(tái)數(shù)字盯到懷疑人生跟蹤器的輸出不能只看 FPS也不能只看不報(bào)錯(cuò)。我建議用 OpenCV 把每一幀畫上 track_id 和檢測(cè)置信度保存成視頻然后慢速播放。重點(diǎn)看三個(gè)地方目標(biāo)交叉時(shí) ID 是否會(huì)互換、目標(biāo)短暫出畫再回來(lái)能否找回原 ID、遠(yuǎn)處小目標(biāo)是否有軌跡抖動(dòng)。C 里畫框很簡(jiǎn)單cv::rectangle(frame, cv::Rect(det.x1, det.y1, det.x2 - det.x1, det.y2 - det.y1), cv::Scalar((det.track_id * 50) % 255, 128, 255), 2); cv::putText(frame, std::to_string(det.track_id), cv::Point(det.x1, det.y1 - 5), cv::FONT_HERSHEY_SIMPLEX, 0.6, cv::Scalar(0, 255, 0), 2);ID 號(hào)按取模方式映射成顏色同一個(gè)目標(biāo)前后幀顏色應(yīng)該一致。如果顏色閃來(lái)閃去說(shuō)明 ID 不穩(wěn)定這時(shí)候要看的是目標(biāo)交互場(chǎng)景而不是畫面整體。6.2 每次換模型都強(qiáng)制走一遍的驗(yàn)證流程換檢測(cè)器、換數(shù)據(jù)集、換 TensorRT 版本之后我每次都強(qiáng)制按同一套流程走先跑單幀靜態(tài)圖再跑一段 30 秒真實(shí)視頻最后統(tǒng)計(jì) ID Switch 次數(shù)。單幀保證檢測(cè)正確視頻保證跟蹤穩(wěn)定統(tǒng)計(jì)保證改進(jìn)可量化。這算是從多次翻車?yán)飺Q來(lái)的習(xí)慣現(xiàn)在每拿到一個(gè)新模型我都先忍住不調(diào)參數(shù)把基線跑出來(lái)再說(shuō)。希望這套習(xí)慣能幫你在部署 YOLOv8 ByteTrack 時(shí)少走幾趟彎路。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
99久久网站| 色久99| AV79| 亭亭色天香| 天天日夜夜爽| 天堂色婷婷| 久久一二三视频| 91婷婷搞| 日本黄色在线观看| 夜夜爱爱亚洲| 欧在线一区| 久久人人妻| 99热97| 97深爱伊人综合| 六月婷婷av| 久久久久久婷| 无毒黄色网址| 激情综合网婷婷五夜| 婷婷五月色情天| 久久久久人妻中文| www,婷婷五月天,com| 九九久久精品| 丁香五月激情六月欧亚激情综合导航| 91丨九色丨高潮丰满日本| 免费视频1区| 99综合网| 五月婷婷综合网| 97久久久| 99免费在线| 噜噜色噜噜网| 亚洲天堂aaaa| 婷婷色在线视频| 九九热这里只有精品6| 人人色AV| 我要射综合| 亚洲色激婷| 人妻人人操| 五月丁香激| 婷婷久久天堂网| 天天色综网| 五月天婷婷基地| 丁香五月婷婷超碰在线| 91日本在线观看| 九九热最新| 99热精品中文字幕| 成人免费高清在线播放| 日本超碰在线| 丰满人妻一区二区三区| 伍月婷丁香花全集| 天天爽天天摸人妻综合网| 丁香五月在线视频黑人| 六月色播| 操人久久| 久久综合五月天| 狠狠操综合| 亚洲色碰| 国产日韩精品SUV| 国产毛片精品一区二区色欲黄A片 欧美交换配乱吟粗大25P | 九九AV| 91碰| 无码人妻少妇色欲AV一区二区| 欧美久热| 色操综合| 欧美影院婷婷| 人人干AV| 五月丁香偷拍| 岛国av网站| 思思热久久久在线| 99九九精品| 泰州成人视频| 久久五月丁香| 91九色成人原创视频| 综合九色| 91狠狠综合久久| 99精品久久| 小视频aaa久久久| 精品少妇蜜臀91| 五月网在线| 国产婷婷五月在线视频| 中文字幕在线免费观看视频| ..真实国产乱子伦对白在线_欧| 国产精品久久久爽爽爽麻豆色哟哟| 能看的AV| www.99精品视频| 丁香九月婷婷综合| 婷婷播播五月天| 久久久精品色色色| 国产 码在线成人网站| 色色性爱视频| WWW.久久99| 亚洲无码99| 国产美女无遮挡裸体毛片A片| 中国女人内射6XXXXX| 久久丁香网| 91丨九色丨熟女丰满| 97色在线视频| 天天婷婷色六月| 久草天堂| 免费播放AV| 91免费看片| 久久五月天综合视频网站| 三级成人网站| 五月天丁香网站| 777精品久无码人妻蜜桃| 91亚洲视频| 色综合丁香| 五月丁香五月天现场视频| 激情av在线| 五月天伊人| 1024在线视频| 丁香婷婷六月天| 国产无套精品一区二区| 最近免费中文字幕大全高清大全1 免费看欧美成人A片无码 | 婷婷五月天视频小说| 五月丁香六月婷婷在线观看| 少妇搡BBBB搡BBB搡毛茸茸| 99资源人人| 人人色婷婷五月天| 99热这里| www.久久9| 五月天色婷伊人| 99亚洲视频| 97色色网| 丁香九月婷婷| 亚洲成人在线免费| 九九九九大香蕉| 婷婷六月开心网| 丁香五月天.com| 777精品久无码人妻蜜桃| 丁香久久久| 日逼免费视频| 精品夜夜澡人妻无码AV| 色五月丁香总合网| 色五月激情婷婷| 丁香五月成人自拍| 丁香六月无码播放| 日本在线播放97| 成人五月天综合网| 久久视频这里有精品99| 国产综合色婷婷精品久久| 成人超碰Av| 97碰在线视频| 丁香五月婷婷无码AV| 99精品免费视频| 怎么样可以看免费的一级av| 丁香五月天人体| 婷婷亚洲综合| 九九香蕉网| 91日视频| 婷婷综合亚洲| 大香蕉天堂| 97成人视频| 高清无码 一区 二区 三区| 97精品在线| 狠狠色噜噜狠狠亚洲A∨| 五月激情另类| 国产99久久久国产精品免费看| 婷五月丁香俺| 97人人操人人干| 九九色人| 亚洲综合99| 先锋资源91| 看久久性爱99视频| 欧美色97| 伊人久久婷婷| 丁香婷婷人妻| 大地9中文在线观看免费高清| 五月丁香香蕉| 激情小说五月天| 超碰精品在线| 色色婷婷五月天| 99五月丁香丁| 超碰免费成人网站| 人人爱人人添| 国产精品丝| 久久久久久人妻| 激情婷婷九月| 久久综合性| 六月丁香综合| 亚洲超碰在线| 天天综合永久| 婷婷五月天丁香激情| 丁香五月播播| 色五月首页| 亚洲精品大片| 婷婷五月天日日日干干干| 国产露脸150部国语对白| 人人干人人操人人摸人人做| 婷婷激情五月天桃花网| 欧美天堂久久| 五月丁香日本片| 狠狠色综合网| 激情丁香五月婷婷啪啪| 久久九九中文字幕| 99热在线播放| Www.狠狠| 激情五月婷婷丁香六月| 久热在线中文字幕色999舞 | 图片区 小说区 区 亚洲五月| 色婷婷五月天激情久久| 91伦| 99热在线观看免费精品| 婷婷五月六月激情| AV操逼网| 亚洲精品又粗又大又爽A片 | 五月婷婷激情综合网| 婷婷射图| 久久婷婷五月综合色区| 婷婷综合网站| 婷婷5月九九| WWW·色色色·COM| 免费视频WWW在线观看网站| 欧美色欲色欲天天天www| 日本97人人| 五月天色色婷婷| 五月激情啪啪| 日韩AV中文字幕在线| 色婷| 五月天社区狠狠| 色婷婷天堂| 婷婷99狠狠| A久网| 婷婷激情综合| 无码人妻一区二区一牛影视| 五月天色区| 涩涩涩.com| 亚洲小电影在线观看黄999| 精品久久人妻| 激情六月婷婷| 玖玖福利视频资源| 色八月婷婷| 丁香五月停停av| 色婷婷狠| 99视频在线精品免费观看2| 九九热黄色| 欧美激情综合色综合| 亚洲色图45p| 欧美成人精品A片免费一区99| 思思w99| 综合久久六月| 免费做A爰片77777| 欧美精品999| 性色视频| 婷婷五月天com| 91干视频| 婷婷七月丁香色色| 91女人18毛片水多国产| 内射爽无广熟女亚洲| 99亚洲精品| 69五月天视频| 另类五月婷婷| 亚洲网视屏| 久久婷五月影院| 精品人妻一区二区| 激情综合色网| 99在线视频资源| 天天拍夜夜爽| 久久久婷丁香五月| 五月丁香六月欧美综合| 亚洲国产婷婷色五月| 97超级碰碰碰| 亚州精品成人片| 亚洲乱码日产精品BD| 激情四射网| 欧美婷婷五月| 噜噜噜精品欧美成人在线观看| 亚洲成人综合在线| 日韩啪啪网| 五月丁香久久色| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 久青操| 天天天摸夜夜夜玩| 色情久久久| 久热这里这里有精品| 日韩成人电影在线播放| 六月婷婷综合久久| 中文色婷婷| 六月激情网| 日韩黄色中文字幕| 欧美色一级色| 亚洲 在线 另类| 天天爽天天| 亚洲综合在线视频| 丁香五月天电影| 婷婷操逼| 丁香五月久久| 99国产精品白浆在线观看免费 | 性按摩玩人妻HD中文字幕| 99色在线视频| 久草热8精品视频在线观看| 色五月综合激情| 欧美乱码国产一级A片| 五月丁香另类图片| 色婷婷888| 看全色黄大色大片| AV操操操| 无码成人AAAAA毛片AI换脸| 亚洲无码色| 色婷婷狠狠| 国产全是老熟女太爽了| 色五月婷婷777| 丁香五月影| 婷婷丁香六月天| 综合久久十三| 久久免费丁香| 五月香婷婷| 人妻久久久久| 99热青青草原| 亚洲视频99| 久久99综合网| 97人人草| 五月丁香综合网| 丁香五月综合久久| 九九热这里只有精品5| 激情宗合哪里能看| 五月好婷婷| 婷婷五月色播| 超碰人人色| 久久久久久久11111111111| 婷婷五月天久草在线| 婷婷五月丁香性爱| 日韩另类| 欧美英丁香开心快乐六月天网| 999影院成人在线影院| 丁香六月欧美| 婷婷色婷婷| 刘玥精品一区| 91超碰在线播放| 色婷丁香五月| 五月天激情久久| 99爱爱| 被强行糟蹋的女人A片| 91九色超碰| 欧美精品A片一区在线观看| 超碰亚洲天堂| 美女妹子后射视频网站在线观看| 色999;丁香五月| 丁香五月花| 国产人人操| 色狠狠色| 免费视频这里只有精品| 色噜噜狠狠一区二区三区| 婷婷久综合| 91精产品自偷自偷综合| 丁香五月天激情小说| 婷婷六月激情| 日本欧美成人片AAAA| 色九月丁香婷婷蜜桃在线观看| 啪啪综合| 婷婷五月另类网站| 国产乱子轮XXX农村| 91干在线视频| 欧美综合婷婷欧美综| 久久精品性爱| 日韩成人不卡| 六月丁香花婷婷| 五月开行婷婷色五月| 99久在线精品99re8热| 韩国中文字幕91| 1024手机在线观看看片_日韩精品| 色五月av伊人| 亚洲第一黄网| 国产亚洲av片| 五月色丁香激情| 五月天婷婷色色| 五月婷婷激情在线| 日韩无码人妻一区二区三区综合| 丁香九月婷| 久久男人网婷婷| 综合五月婷婷| 天堂综合久久 | 激情开心五月天| 五月天婷婷激情在线色图| 五月丁香天天| 人人摸人人| 五月天婷综合| 日本va欧美va欧美精品88| 国产婷婷色综合AV蜜臀AV| 五月丁香自拍| 天天干,天天日| 99视频| 99视频超级精品| 六月婷婷综合| 亚洲成人av在线观看| 欧美99热| 色爱综合网| 2020日日干| 狠色色狠网| 欧美顶级少妇做爰HD| 激情色播| 97久久视频| 99色五月| 久久东京热婷婷五月| 久久九九亚洲| 美女五月天| 在线视频九色97| 在线综合婷婷| 精品人妻午夜一区二区三区四区| 深爱激情四射| 先锋影音av色五月天资源站| 无码激情精品色婷婷久久久久| 91狠狠色丁香婷婷综合久久精品| 六月激情久久婷婷| 婷婷综合久久| 亚洲熟妇AV综合网五月丁香伊人| 熟妇人妻中文字幕无码老熟妇| 五月丁香亚洲校园欧美| 思思久久精品| 99热精品在线播放观看| 99国产精品久久久久久久久久久| 色婷五月天亚洲| 亚洲中文字幕av| 亚洲另类在线观看| 色婷婷丁香五月天| 激情网第四色| 日本道久久91| 久久怡红院| 中文字幕,综合,91| 久久久久er热| 综合在线丁香五月| 亚洲不卡123| 色五月婷婷久久| 超碰五月婷婷五月天| 色深爱五月| 蜜桃婷婷狠狠久久综合| 久久久.COM| 亚洲综合视频在线| 99成人| 就爱啪啪婷婷| 丁香9月婷婷| 欧美丁香婷婷五月天| 婷婷丁香视频| 色色色综合网| 日本噜噜色网| 五月婷婷综合影院| 久热免费| www夜夜操wwwcon| 丁香五月婷婷亚洲天堂| 另类图片色五月| 亚洲色色色色色| 风流少妇A片一区二区蜜桃| 久色中文| 大香蕉人在线65| 天天操无码| 激情另类综合| 97久操| 婷婷97碰碰| 99 热| 久久五月婷婷综合网| 亚洲性爱区无码区| 91精品无码| 中国女人做爰A片| 99er久久| 99er日韩| 日噜噜色| 丁香六月婷婷综合| 四色99久久| 五夜婷婷| 1024AV视频| 男人的天堂五月丁香| 99色在线视频| 超碰成人影视| 这里只有精品视频99| 爱草视频在线观看| 婷婷色色丁香五月天| 婷婷中文字幕| 五月久久婷婷天堂视频| 婷婷深爱五月亚洲综合| 超碰三级片| 91精品久久久久久综合五月天| 丁香五月开心婷婷| 婷婷大香蕉| 五月婷婷很很色| 91九色精品女同系列| 99色播| www.色色五月天.com| 香蕉人妻AV久久久久天天| 中文AV网| 99热精品9| 色欲色天天香综合| 伊人成综合五月婷婷| 99爱视频在线观看| 99热思思| 五月婷婷色吧!| AV五月丁香| H亚洲| 亚洲色婷婷五月天| 天天肏天天肏天天肏| 婷婷五月丁香激情色情| 99热精品在线| 丁香五月www| WWW.国产| 五月婷婷激情综合| 婷婷五月在线视频| 色婷婷五月天天天干天天操天天爽| 99综合免费视频| 热久久婷婷| 99国产精品久久久久久久久久久| 91人人爽狠狠狠| 色女伊人| 婷婷五月天首页| 天天曰夜夜爽| 日本三级日本三级三级人妇四虎| 色天堂操| 91/九色黑人| 国产人妻人伦精品一区二区| 激情五月天影院| 七七色色综合| 久久婷婷综合五月天| 五月丁香人人婷婷在线观看| 亚洲激情 久久| 91偷拍视频| 国产精品视频网| 人人妖人人97| 伊人网色婷婷五月天| 五月激情小说| 五月天婷婷小说| 久久久婷婷| 色天堂在线| 婷婷五月天电影网| 美女五月狠狠| 操操操Av| 偷偷操99| XX久久| 六月婷婷色综合| 婷婷五月激情视频在线| 五月天激情www| 色婷婷九月| m色激情网| 亚洲精品小视频| 婷婷五月天少妇| 婷婷五月天777| 色色网站在线免费观看视频| 五月丁香久久久日婷婷久久婷婷日 | 国产熟女大叫受不了| 欧美碰碰碰| 99久高清视频| 欧美图片丁香五月天| 五月天天综合| 热久久91| 99rewww| 玖玖在线资源视频| 先锋av性爱成人电影| 国产熟女日日骚五月丁香爱| 99热99热不卡| 另类小说五月天| 91丨九色丨熟女| 伊人激情啪啪| 久热9| 9国产在线视频| 婷婷五月丁香图片人人操| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 婷婷五月黄色激情在线| xx综合网| 99精品大片| 亚洲秘 无码一区二区三区妃光/1| 久久婷婷内射| 久久婷婷热| 丰满人妻妇伦又伦精品国产| 碰碰碰碰碰99| 啪啪激情综合| 天天粽合合合合| 婷婷五月天综合中文| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 人妻性爱av网站| 婷婷五月丁香综合激情小说| 婷婷五月色網站| 色婷婷六月| 九九AV| 成人做爰高潮A片免费视频| 99色在线观看视频者| 色一情一乱一乱一区9| 国产免费AV在线| 婷婷五月天视| 直接看的AV| 九月婷婷综合| 波多野结衣不卡AV| 九九热欧美| 四五月婷婷| 色婷婷综合网| 天天日天天爽| 在线不卡中文字幕| 六月丁香深深爱| 亚洲激情五月天| 日日干天天| 丁香婷婷婷| 香蕉综合在线| www.成人婷婷综合| 免费精品99| 婷婷六月天| 丁香五月天AV在线| 久机视频这只有精品| 99免费热视频在线| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 亚洲xx在线| 婷婷五月综合久久中文字幕| 丁香五月天啪啪激情综合网| 丁香五月激情啪啪| 国产色99| 亚洲六月婷| 二色av| 极品五月天| 99亚洲综合| 综合99久久天天综合| 610018岁成人视频| 丁香五月亚洲AV| 这里只有精品1| 欧美性猛交 XXXX 乱大交| www.五月丁香| 国产精品香蕉| AA片在线观看视频在线播放| 婷婷五月天影院| 噜噜久| 成人无码髙潮喷水A片| 欧美色色色色色色| 五月开行婷婷色五月| 色五月激情网| 久久婷婷综合网| 国产综合网在线| 国产偷人爽久久久久久老妇APP| 99超级碰碰| 99热只有这里才是精品| 欧美人与性动交CCOO| 国产婷婷五月天| 日日日日操| 国产AV一区二区三区最新精品| 五月婷婷啪啪啪| 噜噜噜噜综合在线| 日韩aⅴ视频| 开心五月婷婷六月丁香| 婷婷社区五月天| 国产激情在线| 综合网啪| 99热在线爱| 99综合激情久久精品久久| 99热久久这里只有精品| 秋霞黄色一级久久| 99热这里只有精品2| 五月婷婷婷综合网| 九月色婷婷综合| 婷婷丁香综合色AV| 色丁香五月天婷婷| 日韩有码一区| 丁香五月天在线| 五月天婷婷Av| 婷婷婷婷婷婷婷五月丁香| 欧美天堂婷婷日韩| 性天天中文网| 99在线小视频| 久久这里有精品| 日本一区二区三区精品视频| 日日.c| 激情丁香五月综合| 五月丁香成人视频| 在线成人视频免费| 欧美精产国品一二三区| 欧美 日韩 成人 在线| 婷婷六月天天| 操碰99| 色五月综合网| 久久欧洲久久| 国产成人精品亚洲线观看| 永久99免费视频网站| 亚洲色五月| 婷婷伊人激情婷婷| 99ri网站在线观看| 婷婷天天日婷婷| 天天色综| 99精品自拍| 丁香五月婷婷久久综合激情网 | 99在线免费视频| 五月丁香六月成人| 五月丁香六月欧美综合网站| 激情综合网络插| 成人做爰A片免费看视频| 欧洲亚洲欧洲99久久| 26uuu色五月| 天天爱综合网| 另类视频一区| 年轻的妺妺伦理HD中文 | 色五月婷婷一二| 久久婷丁香五月| 九九热在线精品视频| 激情婷婷综合| 99ri6在线视频| 日本婷婷五月天| 日本精品99| 欧美性猛交 XXXX 乱大交| 这里只有免费的精品| 午夜福利8055| 日日杆天天| 激情五月亚洲综合网| se婷97| 超碰成人免费| 思思99re这里只有| 婷婷五月网图片区| 久久婷婷五月| 五月丁香婷婷综合视频| 91狠狠色丁香婷婷综合久久| 丁香五月婷中字在线| 天天日天天舔| 五月情综合| www.99久久久久99| 玖玖婷婷五月天| 色色综合网络| 丁香婷最新动态| 亚洲岛国电影| 五月丁香激情综合网| 99视频精品全部免费 在线| 天久久久久| 久久综合九九| 开心五月婷婷| 婷婷五月天激情亚洲小说| 特级操b片| 成人无码精品1区2区3区免费看| 成年人最刺激的综合网| 9999热精品在线免费播放| www.99免费视频| 大香蕉啪啪啪| 亚洲综合五月天婷婷丁香| 婷婷五月天在线观看av| 蜜桃婷婷狠狠久久| a性生活久久无| 综合激情婷婷| 色小说五月天| 五月丁香六月婷婷亚洲激情综合| 亚州操操| 九九色插| 欧美性爱五月天| 色色色在线观看| 午夜无码精品色综合久久| 日韩成人AV在线| 人人操人| 国产婷伊人| 日韩色色视频| 狠狠色噜噜狠狠| 丁香婷婷色五月合集| 五月天丁香六月综合| 99热 在线播放| 国产熟妇乱子伦hd| 五月天播播| 婷婷五月丁香超碰| 这里精品| 五月婷婷激清网| 亚洲天天免费| 婷婷在线播放av| 婷婷五月天亚洲综合| 狠狠色综合久久久久| 亚洲乱码日产精品BD| 色狠狠综合| 狠狠色大香蕉| 九热视频| 韩国三级五月天婷婷。| WWW激情五月天| 亚洲性图一区二区三区| 丁香六月啪啪| 色婷婷av在线| 丁香五月色五月| 91丨九色熟女丨首页| 狠狠色噜噜狠狠狠狠狠色综合久久| 婷婷在线播放| 操逼巨乳91| 九九碰九九爱97| 精品在线网站| 丁香婷婷五月六月久久| 久久激情五月网| 亚洲av成人电影在线观看| 丁香婷婷浪潮AV久久综合| 五月天婷婷色播综合在线| 国产欧美日韩综合精品一区二区| 久久婷综合| 亭亭玉月丁香| 99色色网| 狠狠狠狠狠狠| 亚洲爆乳无码精品AAA片蜜桃 | 亚洲99在线视频| 性爱电影科技贸易有限公司| 99视频地址| 亚洲视频色色| 六月婷伊人| 日韩六十路91性交电影| http://www.lingjunshare.com/| 亚洲色域网| 狠狠色激情综合| 激情五月天免费视频| 综合综合网| 深夜A片| 亚洲精品午夜国产va久久成人| 五月婷婷影| 六月婷婷中文字幕| 婷婷六月天| 欧洲亚洲免费视频9| 九九五月天| 五月丁香婷婷基地| 专区无日本视频高清8| 欧洲电影在线观看免费版英语版 | 激情综合婷婷久久| 色婷婷AV在线| 九九碰九九爱97| 色婷婷狠狠干| 激情都市五月天| 五月婷婷丁香瑟瑟视频| WWW.桔色成人.COM| 五月天色色色| 亚洲色无码A片一区二区麻豆| www.婷婷com| 色综合香蕉视频| 97在线视频人妻九色| 婷婷五月中文在线| 涩五月丁香| 第四色五月天| 午夜婷婷| 极品精品一区二区三区在线| 99人人干人人操| 婷婷射综合| 这里只有精品99视频| 丁香五月婷婷天| 天天插天天插| 亚洲丁香花色| 色婷婷啪啪综合网| PORNY九色9l自拍视频成人| 操笔无码| 老司机日日夜夜青草| 任你爽免费视频| 日本欧美成人片AAAA| 99ri视频在线观看| 激情五月综合网| 99热这里只有精品2024| 亚洲成人中心| 欧美日本日韩| 久草a片| 婷婷五月天激情偷拍| 色情五月停停丁香| 亚洲超碰在线| 91精品刘玥| 91狠狠色| 丁香五月开心五月激情| 99热婷婷| 天天综合网~91| 亚州色婷婷| 欧美激情综合色综合色| 97人人干人人操| 丁香花大香蕉婷婷综合| 五月婷婷丁香综合| 久久精品66| 大香蕉伊人久久| 97成人丁香| 激情综合网五月在线播放| 天天爽天天摸| 色噜噜狠狠色综无码久久合欧美| 青青操成人福利| 久久网站免费亚洲| 色五婷婷在线视频| 精品少妇人妻AV无码专区偷人| pom538精品视频| 怡红院院久久| 久久三级视频| 在线91日韩| 情情五月天色| 99色婷婷| 五月婷婷国产| 日日操日日干| 日日操日日撸| 色娸娸综合网| 26uuu欧美激情另类| 五月天激情四射| 91青娱乐青青草| 深爱激情网五月天| 噼里啪啦完整版中文在线观看| Www99热| 午夜色丁香| 亚洲欧美在线观看| 大香蕉久久| 成人AV中文字幕| 七七久久综合| 亚洲激情视频网| 99精品热| www.99久久久| 婷婷五月丁香色综合| 丁香九月激情在线视频| 天天肏天天插| 五月激情六月丁香| 丝袜人妻| 日韩 中文 欧美| 久久网址99热| 深爱激情69热| 婷婷五月丁香亚洲| 人妻五月天激情开心网| 色婷婷网| 四月婷婷五月色综合| 五月婷婷深深爱| 伊人9草在线观看| 99亚洲色色| 丁香六月天婷婷色| 色婷婷五月网| 国产真人做爰视频免费| 激情婷婷五月女| 老司机日日夜夜青草| 超碰成人电影| 第四色激情网| 亚洲综合婷婷| 五月丁香影院| 99精品久久| 久操大香蕉| 五月婷婷熟女| 超碰99久久| 丁香六月啪啪啪| 色九月婷婷综合| 久99久热| 日韩999| 三级三久久线久久99久目本WW| 一区二区乱码视频| 日本三级中国三级99| 久婷婷婷| 婷婷色影院| 五月天色丁香| 色欲婷婷夜夜| 操91| 5月婷婷激情6月| 亚洲成人影视在线| 久久性爱视频久久性爱视频| 九九九九热99超碰| 婷婷99狠狠躁| 九伊人网| 色999五月色| 色婷婷五月天中文字幕| 天天日夜夜爽| 99re这里只有精品首页| 97色综合| 99热在线播放| www色五月| 婷婷五月天激情网| 人人干人人操人人摸人人做| aaaa久久| 99这里有精品视频| 操97| 一本大道嫩草AV无码专区| 久久 这里只有精品1| 午夜微拍福利| 色五月婷婷老师| 色啪影院| 嫩草AV久久伊人妇女超级A| 天天夜夜六月丁香五月婷婷老师| 色综啪啪啪啪啪啪| 色你久久| 婷婷欧美色| 日韩丁香涩| 久久美女五月天| 大香蕉精品视频| 国产真人做爰视频免费| 亚洲狠狠干| www久| 国产日产亚洲系列最新| 国产精品色婷婷AV综合色色| 色情久久久| 欧美三级A做爰在线观看| 情婷婷五月天| 色色五月天网站| 成人国产欧美大片一区| www.99热视频| aaa丁香五月天| 国产亚洲AV人片在线| 久久精品系列| 99成人网站| 亚洲成人无码片| 五月丁香啪啪| 综合网五月天123| 五月天久久综合| 国产AV一区二区三区最新精品| 九九色综合九九色| 最新热中文字幕| 九一牛视频探花| 99热都是精品| 丁香五月天AV| site:wpjngj.com| 97人妻人人| 免费视频无码| 99热这里只有精品在线观看| bbwcuckold精品熟妇| 爱狠射| 人人爱操| 久草大| 99热精在线九九久久保| 9超碰在线| 成人午夜视频精品一区| 99热碰碰| 亚洲精品久久久久久久久久吃药| 激情六月婷婷| 久草婷妨| 操人无码| 精品99在线| 久久久久久综合五月婷婷| 玖玖色综合网| 婷婷五月丁香激情图片| www.超碰| 国産精品| 亚洲精品激情| 天天草天天舔| 99日本精品视频热| 亚洲成人中文字幕| 亚洲乱码日产精品BD| 99久久久久| 草综合14| 色噜噜在线| 欧美激情五月天婷婷| 色综合中文色综合网| 日比视频91| 一点色成人网| 久99| 97人人操| 99热只有这里有精品| 五月天久久www| 噜噜色五月| 色九月婷婷综合| 操日本色| 五月天啪啪网| 亚洲国产精品二二三三区| 玖玖资源在线视频| 丁香婷婷色色| 日日撸夜夜操| 五月天婷婷在线播放免费| 视频这里只有精品16| www.激情五月天。com| 欧美久久网| 狠狠综合久久综合| 骚逼视频一区2区| 欧美激情综合五月色丁香| 色播播五月天| 99自拍视频| 色伊人婷婷| 日亚二欧美| 激情五月综合| 久久激情五月婷婷| 99热这里只有精品2| 天天干、天天日日| 操逼福利视频| 99色色最新视频| 青青草深爱激情网| 亚洲综合丁香五月| 色综合爱综合| 情五月亚洲婷婷| 激情五月天在线| 久久与婷婷| 一區四區歐美日韓| 婷丁香五月天| 六月五月久久丁香| 爱草视频在线观看| 天天操夜夜夜拍拍拍| 四五月婷婷| 欧美噜一噜| 我要射综合| 天天射综合网夜夜操| 国产精品A片| 亚洲国产精品综合色区| 5月婷婷五月天| 婷婷瑟瑟五月天| 五月综合无码| 久久超视频| 91碰视频| 99热8| 日本色婷婷| 青柠影视免费高清电视剧| 国产日韩精品SUV| AV成人在线网站| 韩国不卡AC视频| 狠狠色丁香久久综合婷婷亚洲成人福利 | 丁香五月天影院| 婷婷丁香黄色| 99色日本| 婷婷五月电影院| 丁香五月婷婷婷婷欧美综合| VA国产在线综合网站| 五月丁香久久呀| 99视频这里只有精品10| 99热这里都是精品| 免费黄色片子| 99色综合| 亚洲春色奇米影视| 激情五月天福利| 国产免费av在线| 99久久久久| 婷婷色五月天第7色| 色丁香久久久| 丁香五月天婷婷激情| 五月天激情四射| 最近中文字幕在线中文视频| 精品热青草| 六月婷婷九月丁香| 国产韩日亚洲美州欧亚综合在线| 色综合爱综合| 五月成人天| 色婷婷久久综合| 国产做A爰片毛片A片美国| 亚洲AV成人精品网站在线播放| se99热久久一本| 五月丁香久人妻中文| 婷婷四色五月| 久久亚洲天堂| 五月丁香久久| 超碰人人妻| www久| 五月丁香婷婷伊人| 玖玖在线| 国产成人精品亚洲线观看| 亚洲精品另类| 丁香六月开心| 久久66成人网站| 久久综合爱| 日本综合99| 欧美久久婷婷| 婷婷六月天亚州| 婷婷午夜精品久久久| 99视频| 4399人妻无码久久久| 综合狠狠干| 丁香五月激情网| 风流少妇A片一区二区蜜桃| 免费人人操| 色的色综合| 婷婷情色五月天| 亚洲欧洲另类图片| 97操操操| 天天爽日日爽夜夜爽| 日日杆天天| 我想看国产大学生口爆吞精的视频| 五月天丁香六月综合| 亚洲天码视频www蛋播视频| 伊人五月天在线| 五月婷婷丁香综合,亚洲天堂| 婷婷色激情网| 激情五月影院| 国产精品久久久爽爽爽麻豆色哟哟| 婷婷激情视频| 婷婷五月天男人影院色色网| 色婷婷狠狠| 51XX嘿嘿午夜无码| www好屌操| 六月色色| 一起草aV| 思思热在线精品视频网站| 九九色影院| 天天艹| 天天综合天天玩夜夜玩天天玩夜夜玩| 五月天丁香网站| 97成人在线视频| 青青热久久综合| AV在线观看网站| 影音先锋男人av资源站| 再次出发二| 五月丁香成人| 日本情色一区二区| 久久人妻情侣| 六月婷婷色综合| 婷婷五月天堂| 天天日 天天草| a级毛片一区二区免费视频| 99热日韩这里只有精品| 99操逼视频| 停停六月 综合| site:feetmall.com| 五月婷婷色| 亚洲综合激情五月久久| 激情综合网激情五月天| 4399在线观看免费高清毛片| 97欧美在线| 影音先锋91男人资源在线播放| 狠狠狠狠狠狠草| 天天干夜夜想| 欧美在线97| 九九这里有精品| www.1024久久| 成人丁香婷婷五月天| 欧美私人家庭影院| 99免费热在线精品| 26uuu精品一区二区| 色色激情网| 色九月婷婷丁香| 五月婷婷六月色| 久久久久久久五月| 人人爽欧美婷婷久久久五月丁香| 秋霞少妇AV网站| 狠狠色狠狠鲁| 欧美大片免费播放器| 婷婷五月天伊人在线| 激情五月天婷婷| 女同激情久久av久久| 激情图片婷婷| 亚洲午夜电影| 色婷婷五月在线| 婷婷综合97| 九九精品自拍| 伊人色综合影院视频| 久草性爱| 99视频久久| 激情五月丁香五月| 99热在线观看| 国产无套精品一区二区| 亚洲综合激情五月久久| 九九99精品视频在线观看| 九九色逼| 欧美成人va| 电影蜘蛛女| 无码激情AAAAA片-区区| renrencaoav| 天天插操| 亚洲热久久| 婷婷欧美激情| 99九九综合久久九九| 日本3级片偷拍网站| 91狠狠色丁香婷婷综合久久精品| 丁香五月天AV在线| 五月天婷婷基地| 五月婷婷之六月丁香| 六六久久黄色| 九九婷婷五月天| 婷婷综合影院| 中文字幕在线播放视频| 九九热99re8热免费观看| 蜜桃人妻无码AV天堂三区 | 丁香综合伊人AV| 综合色图婷婷| 激情小说婷婷五月| 婷婷色吧| 99热亚洲精品| 人人人人人人人人人草| 激情四射亚洲| 丁香婷婷影院| 亚洲综合网 665566| 久热这里只有精品6| 久久香蕉婷婷五月天| 久久密臀婷婷| 碰97久久| 99er精品| 刘玥精品一区| 天天色99| 婷婷在线观看五月天在线视频| 少妇真实被内射视频三四区| 天天综合网亚洲网站| 开心五月婷婷婷美女| 婷婷丁香六月天| 天天爽夜夜爽夜爽精品| 91色在线 | 日韩| 婷婷综合网| 天天操天爱综合| 婷婷五月丁香91| 激情六月天| 丁香五月天激情视频| 丁香六月婷婷| 七月婷婷色香综合网| 超碰99热精品| 色色亚洲无码| 婷婷基地成人五月天| 99热精品在线播放| 中文国产五月天| 91操片| 国产精品天天狠天天看| 色五月成人| 99热热九九| 一级黄色操B| 婷婷久久网| 思思热精品在线| 激情丁香婷婷五月天| 欧美熟妇一区二区三区| 色人久久| 激情五月天综合网| www.狠狠色.com|