據(jù)集解析與工業(yè)級目標(biāo)檢測實戰(zhàn)指南)
簡介本資源是一套面向深度學(xué)習(xí)初學(xué)者與計算機(jī)視覺實踐者的YOLOv5抽煙行為識別專用數(shù)據(jù)集適用于安全監(jiān)控、公共場所禁煙管理等實際場景的模型訓(xùn)練與驗證。數(shù)據(jù)集包含5000余張高質(zhì)量JPG圖像全部經(jīng)LabelImg軟件精細(xì)標(biāo)注提供XMLPASCAL VOC格式與TXTYOLO格式雙標(biāo)簽便于直接適配YOLOv5訓(xùn)練流程壓縮包共2000個文件主體為1995個XML標(biāo)注文件輔以4個實用Python腳本含視頻檢測、模型評估等、1份README說明文檔整體大小697.51MB結(jié)構(gòu)清晰、開箱即用。目前已有710人學(xué)習(xí)下載資源附帶完整可運(yùn)行檢測流程支持涵蓋從數(shù)據(jù)加載、模型微調(diào)到視頻流實時識別的典型任務(wù)鏈顯著降低目標(biāo)檢測項目落地門檻。1. 項目概述從“抽煙識別”數(shù)據(jù)集看工業(yè)級目標(biāo)檢測的落地最近在整理硬盤時翻到了一個名為“深度學(xué)習(xí)-YOLO目標(biāo)檢測 yolov5抽煙識別檢測數(shù)據(jù)集5000張圖片數(shù)據(jù).zip”的壓縮包。這讓我想起了幾年前參與的一個智慧安防項目核心需求就是在特定禁煙區(qū)域如化工廠區(qū)、加油站、倉庫實現(xiàn)自動化的抽煙行為識別與告警。當(dāng)時市面上并沒有一個開箱即用、標(biāo)注質(zhì)量又高的數(shù)據(jù)集團(tuán)隊花了大量人力進(jìn)行數(shù)據(jù)采集和標(biāo)注。今天看到這個數(shù)據(jù)集感覺它恰好切中了一個非常具體且具有實際應(yīng)用價值的痛點——將前沿的YOLOv5目標(biāo)檢測技術(shù)落地到一個關(guān)乎安全生產(chǎn)的細(xì)分場景中。這個數(shù)據(jù)集的價值遠(yuǎn)不止是5000張圖片和對應(yīng)的標(biāo)簽文件那么簡單。它代表了一種趨勢深度學(xué)習(xí)正從學(xué)術(shù)界的“刷榜”競賽快速滲透到各行各業(yè)解決真實問題的毛細(xì)血管里。抽煙識別聽起來簡單但在實際部署中卻要應(yīng)對光照變化、人物遮擋、煙霧干擾、不同手持姿勢如夾在耳后等一系列挑戰(zhàn)。一個高質(zhì)量的數(shù)據(jù)集是模型能否“學(xué)得好”的第一塊基石。這個數(shù)據(jù)集的出現(xiàn)意味著后來者可以跳過最耗時、最繁瑣的數(shù)據(jù)準(zhǔn)備階段直接進(jìn)入模型訓(xùn)練、調(diào)優(yōu)和部署的環(huán)節(jié)極大地降低了AI應(yīng)用的門檻。對于開發(fā)者而言無論是想學(xué)習(xí)YOLOv5的完整訓(xùn)練流程還是希望快速搭建一個原型系統(tǒng)進(jìn)行概念驗證這個數(shù)據(jù)集都是一個極佳的起點。它涵蓋了從數(shù)據(jù)準(zhǔn)備、模型訓(xùn)練到性能評估的全鏈路實踐。接下來我將結(jié)合這個數(shù)據(jù)集為你拆解一個完整的、工業(yè)級的YOLOv5目標(biāo)檢測項目是如何從零到一構(gòu)建起來的并分享其中那些在官方教程里不會寫的“坑”與技巧。2. 數(shù)據(jù)集深度解析構(gòu)建魯棒模型的基石拿到一個數(shù)據(jù)集第一步絕不是急著跑訓(xùn)練腳本。就像廚師做菜前要先了解食材我們必須先對數(shù)據(jù)集進(jìn)行徹底的“體檢”理解其內(nèi)在結(jié)構(gòu)和潛在問題這直接決定了后續(xù)模型性能的天花板。2.1 數(shù)據(jù)集結(jié)構(gòu)與標(biāo)注格式探秘解壓“yolov5抽煙識別檢測數(shù)據(jù)集.zip”后我們通常會看到類似如下的目錄結(jié)構(gòu)dataset/ ├── images/ │ ├── train/ # 訓(xùn)練集圖片例如4000張 │ └── val/ # 驗證集圖片例如1000張 └── labels/ ├── train/ # 對應(yīng)訓(xùn)練集的YOLO格式標(biāo)簽文件 └── val/ # 對應(yīng)驗證集的YOLO格式標(biāo)簽文件有時還會包含一個data.yaml配置文件用于指明路徑和類別。YOLO格式的標(biāo)簽文件.txt是核心其每一行代表一個目標(biāo)實例格式為class_id x_center y_center width height。這里的坐標(biāo)都是歸一化后的值0到1之間相對于圖片的寬和高。例如“0 0.5 0.5 0.1 0.2”表示類別ID為0即“smoking”目標(biāo)中心點位于圖片正中央寬度占圖片寬的10%高度占圖片高的20%。關(guān)鍵檢查點1標(biāo)簽與圖片的對應(yīng)關(guān)系。必須確保labels/train里的每一個 .txt 文件都能在images/train里找到同名的圖片文件擴(kuò)展名不同。一個快速檢查的bash命令是ls labels/train/*.txt | wc -l和ls images/train/*.jpg | wc -l兩者數(shù)量應(yīng)該嚴(yán)格一致。我遇到過因為拷貝遺漏或命名不規(guī)范如IMG_001.txt對應(yīng)IMG_001.JPG大小寫問題導(dǎo)致的訓(xùn)練錯誤。關(guān)鍵檢查點2標(biāo)注質(zhì)量抽樣審查。隨機(jī)打開幾十張圖片及其標(biāo)簽用簡單的Python腳本如使用OpenCV繪制邊界框可視化一下。你要檢查邊界框是否緊密貼合目標(biāo)過于寬松或過于緊貼都會影響模型學(xué)習(xí)定位的精度。是否存在漏標(biāo)特別是遠(yuǎn)處、遮擋嚴(yán)重或只露出部分香煙的情況。是否存在錯標(biāo)例如將手中的筆、筷子誤標(biāo)為香煙。類別是否單一在這個數(shù)據(jù)集中很可能只有“smoking”一個類別class_id0。但也要確認(rèn)是否有其他相關(guān)類別如“person_with_cigarette”, “cigarette_pack”等這會影響模型的任務(wù)定義。2.2 數(shù)據(jù)分布分析與潛在偏差5000張圖片是一個不錯的起點但“數(shù)量”不等于“質(zhì)量”。我們需要分析數(shù)據(jù)的分布找出潛在的偏差這些偏差會被模型學(xué)習(xí)并放大。場景分布圖片背景是室內(nèi)多還是室外多是辦公室、工廠車間、倉庫還是公共場所如果訓(xùn)練集全是明亮的辦公室模型在昏暗的倉庫環(huán)境下性能可能會驟降。光照與天氣是否包含了白天、夜晚、逆光、陰天、雨雪等各種光照條件缺少某些極端條件模型就會在這些場景下表現(xiàn)脆弱。目標(biāo)尺度與姿態(tài)香煙在圖片中的大小分布如何是否有大量遠(yuǎn)距離的、只占幾個像素點的小目標(biāo)人物的抽煙姿勢是正面、側(cè)面、還是背面手持香煙的方式手指夾著、叼在嘴里、放在桌上是否多樣遮擋情況是否有足夠多被手、書本、其他物體部分遮擋的香煙樣本現(xiàn)實場景中完全無遮擋的情況反而是少數(shù)。一個實用的分析技巧可以寫腳本統(tǒng)計所有標(biāo)簽文件中邊界框的寬度和高度歸一化后的值繪制分布直方圖。如果發(fā)現(xiàn)寬度或高度大量集中在0.02即圖片尺寸的2%以下說明小目標(biāo)居多這時就需要在模型訓(xùn)練時特別關(guān)注小目標(biāo)檢測能力例如可以考慮使用更小的檢測頭如YOLOv5的P3層或?qū)iT的數(shù)據(jù)增強(qiáng)如 mosaic 小目標(biāo)過采樣。注意如果數(shù)據(jù)集中“抽煙”和“未抽煙”的樣本是分開的例如通過負(fù)樣本圖片那么在data.yaml中可能只會定義“smoking”一個類別。但更常見的做法是所有圖片都是可能包含抽煙目標(biāo)的場景標(biāo)簽只標(biāo)注正樣本。負(fù)樣本不包含任何香煙的圖片對于降低誤報率同樣重要但通常不放在labels里而是作為獨立的無標(biāo)簽圖片參與訓(xùn)練讓模型學(xué)會“什么都沒有”的背景。需要根據(jù)數(shù)據(jù)集的實際情況來調(diào)整訓(xùn)練策略。2.3 數(shù)據(jù)增強(qiáng)策略低成本提升模型泛化能力當(dāng)我們發(fā)現(xiàn)數(shù)據(jù)集在某些方面存在不足如缺少某種光照、尺度單一時除了費時費力地重新采集數(shù)據(jù)更高效的方法是采用針對性的數(shù)據(jù)增強(qiáng)Data Augmentation。YOLOv5內(nèi)置了強(qiáng)大的增強(qiáng)管道在hyp.scratch.yaml等超參數(shù)文件中配置。針對抽煙識別場景我推薦重點調(diào)整以下增強(qiáng)參數(shù)色調(diào)Hue、飽和度Saturation、明度Value變化模擬不同光照、天氣和攝像頭色彩偏差??梢赃m當(dāng)增大這些參數(shù)的變化范圍讓模型對顏色不敏感。平移、縮放、旋轉(zhuǎn)模擬不同的拍攝角度和距離。特別是小幅度的旋轉(zhuǎn)可以應(yīng)對手持相機(jī)不水平的情況。Mosaic增強(qiáng)這是YOLOv5的一大殺器將四張圖片拼成一張進(jìn)行訓(xùn)練極大地豐富了背景上下文信息并且天然地增加了小目標(biāo)的出現(xiàn)頻率因為大圖被縮小了非常適合我們可能面臨的小目標(biāo)檢測問題。Cutout/Random Erasing隨機(jī)擦除圖片中的一小塊區(qū)域模擬遮擋強(qiáng)迫模型不過度依賴目標(biāo)的局部特征而是學(xué)習(xí)更全局的上下文信息來識別香煙比如結(jié)合手部動作和面部朝向。實操心得數(shù)據(jù)增強(qiáng)不是越強(qiáng)越好。過于激進(jìn)的增強(qiáng)如大角度的旋轉(zhuǎn)、嚴(yán)重的色調(diào)失真可能會生成不現(xiàn)實的“噪聲”圖片反而干擾模型學(xué)習(xí)本質(zhì)特征。我的經(jīng)驗是先在默認(rèn)增強(qiáng)強(qiáng)度下訓(xùn)練一個基準(zhǔn)模型然后在驗證集上分析其失敗案例。如果模型在暗光下表現(xiàn)差就適當(dāng)增加亮度變化的強(qiáng)度如果對香煙的朝向敏感就增加旋轉(zhuǎn)的角度范圍。這是一個需要反復(fù)迭代、觀察、調(diào)整的過程。3. YOLOv5模型訓(xùn)練全流程實操有了經(jīng)過分析的數(shù)據(jù)集我們就可以進(jìn)入模型訓(xùn)練的核心環(huán)節(jié)。這里我以最常用的YOLOv5s模型為例因為它在小數(shù)據(jù)集上表現(xiàn)良好且速度與精度平衡易于部署。3.1 環(huán)境搭建與依賴安裝首先從GitHub克隆YOLOv5的官方倉庫并安裝依賴。我強(qiáng)烈建議使用Python虛擬環(huán)境如conda或venv來管理依賴避免包沖突。git clone https://github.com/ultralytics/yolov5.git cd yolov5 pip install -r requirements.txt這里有個大坑PyTorch的安裝。requirements.txt里寫的是torch1.7.0但如果你直接用pip install torch可能會下載到CPU版本。對于需要GPU訓(xùn)練的用戶必須去PyTorch官網(wǎng)根據(jù)你的CUDA版本選擇正確的安裝命令。例如對于CUDA 11.3pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113安裝后運(yùn)行python -c import torch; print(torch.cuda.is_available())確認(rèn)返回True。3.2 數(shù)據(jù)集配置與模型選擇準(zhǔn)備data.yaml如果數(shù)據(jù)集中沒有我們需要創(chuàng)建一個。將其放在yolov5/data/目錄下例如命名為smoking.yaml。# smoking.yaml path: /path/to/your/dataset # 數(shù)據(jù)集的根目錄 train: images/train # 訓(xùn)練集路徑相對于path val: images/val # 驗證集路徑相對于path # 類別數(shù)量 nc: 1 # 類別名稱列表 names: [smoking]選擇模型YOLOv5提供了從輕量到高精度的多個預(yù)訓(xùn)練模型yolov5n.pt,yolov5s.pt,yolov5m.pt,yolov5l.pt,yolov5x.pt。對于5000張圖片的數(shù)據(jù)集yolov5s小模型通常是很好的起點它在速度和精度間取得了平衡。如果后續(xù)發(fā)現(xiàn)欠擬合訓(xùn)練集和驗證集損失都降不下去可以換用更大的模型如yolov5m。3.3 超參數(shù)調(diào)優(yōu)與訓(xùn)練啟動YOLOv5的訓(xùn)練命令非常簡潔但背后有許多可調(diào)的超參數(shù)。核心訓(xùn)練命令如下python train.py --img 640 --batch 16 --epochs 100 --data data/smoking.yaml --weights yolov5s.pt --device 0--img 640: 輸入圖片統(tǒng)一縮放到640x640像素。更大的尺寸如1280可能提升小目標(biāo)檢測精度但會顯著增加顯存消耗和訓(xùn)練時間。--batch 16: 批次大小。這是最影響顯存占用的參數(shù)。如果出現(xiàn)CUDA out of memory錯誤首先降低batch大小如改為8或4或者減小--img尺寸。--epochs 100: 訓(xùn)練輪數(shù)。對于5000張圖的數(shù)據(jù)集100輪通常足夠??梢酝ㄟ^觀察驗證集指標(biāo)如mAP是否已進(jìn)入平臺期來決定是否提前停止。--weights yolov5s.pt: 加載預(yù)訓(xùn)練權(quán)重。這是關(guān)鍵使用在COCO等大型數(shù)據(jù)集上預(yù)訓(xùn)練的權(quán)重進(jìn)行遷移學(xué)習(xí)能極大地加速收斂并提升最終性能遠(yuǎn)比從零訓(xùn)練--weights 要好得多。--device 0: 指定使用第一塊GPU。如果是CPU訓(xùn)練則用--device cpu。進(jìn)階調(diào)參超參數(shù)文件hyp.scratch.yaml控制了數(shù)據(jù)增強(qiáng)、學(xué)習(xí)率等細(xì)節(jié)。對于抽煙識別這類相對單一的目標(biāo)可以嘗試略微降低lr0初始學(xué)習(xí)率和lrf最終學(xué)習(xí)率因子讓學(xué)習(xí)更穩(wěn)定。根據(jù)之前的數(shù)據(jù)分析調(diào)整數(shù)據(jù)增強(qiáng)參數(shù)。例如如果小目標(biāo)多可以確保mosaic1.0始終開啟。訓(xùn)練開始后控制臺會輸出損失曲線更重要的是TensorBoard日志會自動生成。使用tensorboard --logdir runs/train可以在瀏覽器中實時查看所有指標(biāo)包括損失、精度Precision、召回率Recall、mAP等這是監(jiān)控訓(xùn)練狀態(tài)、診斷問題的必備工具。3.4 訓(xùn)練過程監(jiān)控與模型評估訓(xùn)練過程中要密切關(guān)注以下幾個指標(biāo)損失曲線train/box_loss,train/obj_loss,train/cls_loss應(yīng)平穩(wěn)下降。val/開頭的對應(yīng)驗證損失也應(yīng)下降但可能略有波動。如果驗證損失很早就開始上升而訓(xùn)練損失持續(xù)下降這是典型的過擬合信號。性能指標(biāo)metrics/mAP_0.5和metrics/mAP_0.5:0.95是最核心的評估指標(biāo)。前者是IoU閾值為0.5時的平均精度后者是在多個IoU閾值0.5到0.95步長0.05下的平均更嚴(yán)格。我們主要看后者是否在穩(wěn)步提升?;煜仃囉?xùn)練結(jié)束后在runs/train/exp目錄下會生成混淆矩陣圖。它能清晰展示模型在驗證集上將“抽煙”目標(biāo)預(yù)測為背景漏檢或?qū)⒈尘邦A(yù)測為“抽煙”誤檢的比例。這是我們后續(xù)優(yōu)化的重要依據(jù)。模型選擇訓(xùn)練完成后在runs/train/exp/weights目錄下會有多個權(quán)重文件best.pt: 在驗證集上表現(xiàn)最好的權(quán)重根據(jù)metrics/mAP_0.5:0.95判斷。last.pt: 最后一個epoch的權(quán)重。 部署時應(yīng)始終使用best.pt。4. 模型優(yōu)化與部署實戰(zhàn)訓(xùn)練出一個mAP不錯的模型只是第一步要讓它在實際場景中穩(wěn)定工作還需要進(jìn)行一系列的優(yōu)化和工程化處理。4.1 模型剪枝與量化可選用于邊緣設(shè)備如果計劃將模型部署到算力有限的邊緣設(shè)備如Jetson Nano、樹莓派、RV1106等芯片可以考慮對模型進(jìn)行優(yōu)化。剪枝移除網(wǎng)絡(luò)中冗余的通道或?qū)訙p小模型體積和計算量。YOLOv5官方并未直接提供剪枝工具但可以使用第三方庫如torch-pruning。注意剪枝通常會導(dǎo)致精度下降需要后續(xù)的微調(diào)訓(xùn)練來恢復(fù)。量化將模型權(quán)重和激活從浮點數(shù)FP32轉(zhuǎn)換為低精度整數(shù)如INT8。這能顯著減少模型大小、提升推理速度、降低功耗。PyTorch提供了torch.quantization工具。對于YOLOv5可以嘗試使用更易用的工具如pytorch-quantization或直接使用支持INT8推理的部署框架如TensorRT, ONNX Runtime。一個重要提醒對于新手或項目初期我建議先跳過剪枝和量化專注于在服務(wù)器或PC上獲得一個高精度的FP32模型。邊緣部署的優(yōu)化是一個專門的領(lǐng)域復(fù)雜度較高??梢韵扔肍P32模型驗證業(yè)務(wù)邏輯的可行性再考慮性能優(yōu)化。4.2 基于測試集的最終評估與錯誤分析在最終部署前務(wù)必使用一個全新的、從未參與訓(xùn)練和驗證的測試集來評估模型。這個測試集應(yīng)該盡可能模擬真實部署環(huán)境。使用以下命令進(jìn)行測試python val.py --weights runs/train/exp/weights/best.pt --data data/smoking.yaml --task test測試會生成詳細(xì)的評估報告。但比報告數(shù)字更重要的是可視化錯誤分析。運(yùn)行以下命令它會在runs/val/exp目錄下生成帶有預(yù)測框的圖片python detect.py --weights runs/train/exp/weights/best.pt --source /path/to/test/images --save-txt --save-conf然后人工或半自動地審查這些預(yù)測結(jié)果重點關(guān)注哪些圖片漏檢了是目標(biāo)太小、太模糊、遮擋嚴(yán)重還是光照條件特殊哪些圖片出現(xiàn)了誤檢誤檢的物體是什么例如細(xì)長的白色物體、手指等。這能提示我們是否需要增加特定的負(fù)樣本不包含香煙但容易混淆的圖片到訓(xùn)練集中進(jìn)行重新訓(xùn)練。預(yù)測框的定位是否準(zhǔn)確框是太松還是太緊4.3 工程化部署從PyTorch到生產(chǎn)環(huán)境YOLOv5訓(xùn)練出的.pt文件是PyTorch模型直接用于生產(chǎn)環(huán)境可能不夠高效或不易集成。通常需要轉(zhuǎn)換為其他格式。導(dǎo)出為ONNXONNX是一種開放的模型交換格式被眾多推理引擎支持。python export.py --weights runs/train/exp/weights/best.pt --include onnx導(dǎo)出時可以指定動態(tài)維度以支持不同尺寸的輸入--dynamic。但為了最佳性能更常見的做法是固定輸入尺寸如--img 640。使用TensorRT加速NVIDIA GPU對于NVIDIA平臺TensorRT能提供極致的推理性能??梢允褂胑xport.py直接導(dǎo)出為TensorRT引擎或者先將ONNX模型用TensorRT的trtexec工具轉(zhuǎn)換。python export.py --weights best.pt --include engine --device 0 # 或者 trtexec --onnxbest.onnx --saveEnginebest.engine --fp16集成到應(yīng)用根據(jù)你的應(yīng)用場景選擇集成方式。Python后端服務(wù)使用torch.hub或直接加載.pt文件配合Flask/FastAPI等框架提供HTTP API。C嵌入式應(yīng)用使用LibTorchPyTorch的C前端加載模型或者使用TensorRT C/Python API加載.engine文件。移動端轉(zhuǎn)換為TFLite格式--include tflite或使用NCNN、MNN等移動端推理框架。部署時的關(guān)鍵參數(shù)置信度閾值--conf-thres默認(rèn)0.25。提高它如0.5可以減少誤報但可能增加漏報。需要根據(jù)業(yè)務(wù)需求是寧可錯殺還是寧可放過在精確率和召回率之間權(quán)衡。非極大值抑制閾值--iou-thres默認(rèn)0.45。用于合并重疊的預(yù)測框。如果同一個目標(biāo)被預(yù)測出多個框可以適當(dāng)調(diào)低此值來減少重復(fù)框。5. 常見問題排查與性能調(diào)優(yōu)指南在實際操作中你幾乎一定會遇到各種問題。下面是我總結(jié)的一些典型問題及其解決方案。5.1 訓(xùn)練階段常見問題問題現(xiàn)象可能原因排查與解決思路CUDA out of memory批次大小batch size或圖像尺寸img size過大超出GPU顯存。1. 減小--batch-size如16-8。2. 減小--img尺寸如640-320。3. 使用梯度累積--accumulate模擬更大的batch size。4. 檢查是否有其他進(jìn)程占用顯存。訓(xùn)練損失不下降學(xué)習(xí)率設(shè)置不當(dāng)數(shù)據(jù)標(biāo)注質(zhì)量極差模型架構(gòu)不適合。1. 檢查數(shù)據(jù)標(biāo)注確保標(biāo)簽正確。2. 嘗試使用預(yù)訓(xùn)練權(quán)重--weights yolov5s.pt而非從零開始。3. 調(diào)整超參數(shù)文件中的學(xué)習(xí)率lr0。4. 換用更大的模型如從s換到m。驗證損失遠(yuǎn)高于訓(xùn)練損失且持續(xù)上升模型過擬合。1. 增加數(shù)據(jù)增強(qiáng)的強(qiáng)度在hyp文件中調(diào)整。2. 使用早停Early Stopping當(dāng)驗證損失連續(xù)多個epoch不下降時停止訓(xùn)練。3. 增加正則化如權(quán)重衰減weight_decay。4. 最根本的收集更多樣化的訓(xùn)練數(shù)據(jù)。mAP很低但損失看起來正常評估指標(biāo)mAP與損失函數(shù)如CIoU Loss的關(guān)注點不完全一致??赡艽嬖陬悇e不平衡或評估代碼問題。1. 確認(rèn)驗證集路徑和標(biāo)簽是否正確。2. 檢查data.yaml中的類別數(shù)nc和類別名names是否與標(biāo)簽文件匹配。3. 可視化驗證集的預(yù)測結(jié)果看模型到底預(yù)測出了什么。可能是置信度閾值設(shè)置過高導(dǎo)致很多正確預(yù)測被過濾掉了。5.2 推理/部署階段常見問題問題現(xiàn)象可能原因排查與解決思路推理速度慢模型過大輸入圖片尺寸過大未使用GPU或推理引擎未優(yōu)化。1. 換用更小的模型如YOLOv5n。2. 減小推理時的--img尺寸。3. 確保在GPU上運(yùn)行--device 0。4. 將模型轉(zhuǎn)換為TensorRT或ONNX Runtime等優(yōu)化后的格式進(jìn)行推理。誤報率高模型將類似香煙的物體筆、手指、細(xì)長條狀物誤判為香煙。1. 提高推理時的置信度閾值--conf-thres 0.5。2.收集負(fù)樣本采集大量不包含香煙但包含易混淆物體的圖片在訓(xùn)練時將這些圖片的標(biāo)簽文件設(shè)為空或全部背景類加入訓(xùn)練集重新訓(xùn)練。這是降低誤報最有效的方法之一。3. 使用后處理規(guī)則例如只檢測在人體手部區(qū)域附近的香煙預(yù)測框。漏報率高小目標(biāo)、模糊目標(biāo)、嚴(yán)重遮擋目標(biāo)檢測不到。1. 降低置信度閾值--conf-thres 0.1。2. 訓(xùn)練時使用更小的錨框Anchor或針對小目標(biāo)優(yōu)化的模型變體。3. 增加訓(xùn)練數(shù)據(jù)中困難樣本小、模糊、遮擋的數(shù)量。4. 嘗試在推理時使用更大的輸入圖像尺寸--img 1280但這會降低速度。模型在不同環(huán)境下性能差異大訓(xùn)練數(shù)據(jù)與部署環(huán)境存在域差異Domain Gap。1. 進(jìn)行域適應(yīng)在目標(biāo)環(huán)境如某個特定工廠的攝像頭畫面中采集少量圖片對預(yù)訓(xùn)練模型進(jìn)行微調(diào)Fine-tuning。2. 使用更廣泛的數(shù)據(jù)增強(qiáng)模擬不同環(huán)境。3. 考慮使用在線學(xué)習(xí)或持續(xù)學(xué)習(xí)讓模型在部署后能根據(jù)新數(shù)據(jù)緩慢適應(yīng)。5.3 持續(xù)優(yōu)化與迭代一個AI項目從來不是“一訓(xùn)永逸”的。上線后需要建立閉環(huán)反饋機(jī)制收集困難樣本在線上運(yùn)行過程中主動收集模型判斷置信度不高、或人工復(fù)核發(fā)現(xiàn)出錯的圖片。重新標(biāo)注與加入訓(xùn)練集將這些困難樣本進(jìn)行正確標(biāo)注加入到原有的訓(xùn)練數(shù)據(jù)集中。增量訓(xùn)練使用擴(kuò)充后的數(shù)據(jù)集從之前訓(xùn)練好的最佳權(quán)重best.pt開始進(jìn)行新一輪的訓(xùn)練epoch數(shù)可以少一些。這樣可以不斷提升模型在真實場景中的魯棒性。這個過程才是AI模型真正產(chǎn)生業(yè)務(wù)價值的核心循環(huán)。而這個“深度學(xué)習(xí)-YOLO目標(biāo)檢測 yolov5抽煙識別檢測數(shù)據(jù)集”就是你啟動這個價值循環(huán)的第一把鑰匙。從分析數(shù)據(jù)開始到訓(xùn)練模型再到解決實際問題每一步都充滿了挑戰(zhàn)與樂趣。希望這份超詳細(xì)的拆解能幫你避開我當(dāng)年踩過的那些坑更順暢地完成你的目標(biāo)檢測項目。本文還有配套的精品資源點擊獲取