訂閱
糾錯
加入自媒體

技術文章:技術文章使用Python+OpenCV+yolov5實現(xiàn)行人目標檢測

訓練迭代2:主干網絡:YOLOv5x模型初始化:COCO預訓練的權重epoch:10個epoch性能0.65 mAP @ 0.50 IOU分析隨著數(shù)據(jù)集的增加,模型性能急劇提高。有些數(shù)據(jù)集具有滿足我們的一個要求的高擁擠場景,有些包含滿足另一個需求的頂角攝影機視圖。結論雖然模型的性能有所提高,但有些數(shù)據(jù)集是視頻序列,而且在某些情況下背景仍然是靜態(tài)的,可能會導致過擬合。很少有數(shù)據(jù)集有非常小的人體,這使得任務很難學習。清理數(shù)據(jù)下一步是清理數(shù)據(jù)。我們從訓練和驗證集中篩選出損失最大的圖像,或者我們可以說這些圖像具有非常少的mAP度量。我們選擇了一個0.3的閾值并將圖像可視化。我們從數(shù)據(jù)集中篩選出三種類型的錯誤。錯誤標記的邊界框包含非常小的邊界框或太多人群的圖像重復幀的附近為了去除重復幀,我們只從視頻序列中選擇稀疏幀。第三個人體檢測模型有了經過清理和整理的數(shù)據(jù)集,我們就可以進行第三次迭代了訓練迭代3:主干網絡:YOLOv5x模型初始化:COCO預訓練的權重epoch:~100個epoch性能0.69 mAP @ 0.50 IOU分析當未清理的數(shù)據(jù)從訓練和驗證集中移除時,模型性能略有改善。結論數(shù)據(jù)集被清理,性能得到改善。我們可以得出結論,進一步改進數(shù)據(jù)集可以提高模型性能。為了提高性能,我們需要確保數(shù)據(jù)集包含與測試用例相似的圖像。我們處理了人群情況和一些視角的情況,但大多數(shù)數(shù)據(jù)仍然有一個前視角。數(shù)據(jù)增強我們列出了在實際情況下檢測時將面臨的一些挑戰(zhàn),但是收集到的數(shù)據(jù)集分布不同,因此,我們采用了一些數(shù)據(jù)擴充技術,使訓練分布更接近實際用例或測試分布。下面是我們對數(shù)據(jù)集進行的擴展。視角視角改變

照明條件亮度對比度

圖像質量噪音圖像壓縮運動模糊

通過將所有這些擴展匯總,我們可以將公共數(shù)據(jù)分布更接近實際分布,我們將原始圖像和轉換后的圖像進行比較,可以從下面的圖像中看到。

所有這些擴展都是通過使用“albumentation”來應用的,這是一個易于與PyTorch數(shù)據(jù)轉換集成的python庫,他們還有一個演示應用程序,我們用來設置不同方法的增強參數(shù)。庫中還有很多可以與其他用例一起使用的擴展包。我們使用albumentation方法來實現(xiàn)這一點。第四個人體檢測模型現(xiàn)在有了轉換后的數(shù)據(jù)集,我們就可以進行第四次迭代了訓練迭代4:主干網絡:YOLOv5x模型初始化:迭代3中的模型epoch:~100個epoch性能0.77 mAP @ 0.50 IOU分析

性能提高了近8%,該模型能夠預測大多數(shù)情況,并在攝像機視角下進行了泛化。由于視頻序列中的背景雜波和遮擋,仍有一些誤報和漏報。結論我們試圖收集數(shù)據(jù)集并覆蓋任務中幾乎所有的挑戰(zhàn),但是仍然有一個問題仍然存在,并阻礙了我們的模型性能,我們需要收集包含此類場景下的數(shù)據(jù)。創(chuàng)建自定義批注通過數(shù)據(jù)增強,我們創(chuàng)建了一些真實世界的樣本,但是我們的數(shù)據(jù)在圖像背景上仍然缺乏多樣性。對于零售商店來說,框架背景充滿了雜亂的東西,人體模型或衣服架子會導致假正例,而大面積的遮擋則會導致假反例。為了增加這種多樣性,我們取消了谷歌搜索,從商店收集閉路電視視頻,并對圖片進行了手工注釋。首先,我們通過迭代4中的模型傳遞所有的圖像并創(chuàng)建自動標簽,然后使用開源注釋工具CVAT(computervision and annotation tool)進一步修正注釋。最終人體檢測模型我們將定制存儲圖像添加到之前的數(shù)據(jù)集中,并為最終迭代訓練模型。我們的最終數(shù)據(jù)集分布如下所示。

訓練迭代5:主干網絡:YOLOv5x模型初始化:迭代4中的模型epoch:~100個epoch性能0.79 mAP @ 0.50 IOU分析

我們的模型的性能顯示了大約0.2%的正增長,同時,從TIDE分析可以看出,假正例在誤差中的貢獻也有所降低。結論額外的數(shù)據(jù)有助于使模型對背景干擾更加穩(wěn)健,但是收集到的數(shù)據(jù)量與總體數(shù)據(jù)集大小相比仍然非常少,并且模型仍然存在一些誤報。當在隨機圖像上進行測試時,該模型能夠很好地泛化?偨Y我們從模型選擇開始,以COCO作為基準,我們實現(xiàn)一系列的模型。此外,我們考慮了推理時間和模型架構,并選擇了yolov5。我們收集并清理了各種公開可用的數(shù)據(jù)集,并使用各種數(shù)據(jù)擴充技術來轉換這些數(shù)據(jù)集,以適應我們的用例。最后,我們收集存儲圖像,并在手工注釋后將其添加到數(shù)據(jù)集中。我們的最終模型是在這個精心設計的數(shù)據(jù)集上訓練的,能夠從0.46map@IOU0.5提高到0.79map@IOU0.5。結論通過根據(jù)用例對數(shù)據(jù)集進行處理,我們改進了大約20%的對象檢測模型,該模型在映射和延遲方面仍有改進的余地,所選的超參數(shù)是yolov5默認給出的,我們可以使用optuna等超參數(shù)搜索庫對它們進行優(yōu)化。當訓練分布和測試分布之間存在差異時,域適應是另一種可以使用的技術,同樣,這種情況可能需要一個持續(xù)的訓練循環(huán),其中包含額外的數(shù)據(jù)集,以確保模型的持續(xù)改進。

圖片標題


<上一頁  1  2  
聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權或其他問題,請聯(lián)系舉報。

發(fā)表評論

0條評論,0人參與

請輸入評論內容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

    掃碼關注公眾號
    OFweek人工智能網
    獲取更多精彩內容
    文章糾錯
    x
    *文字標題:
    *糾錯內容:
    聯(lián)系郵箱:
    *驗 證 碼:

    粵公網安備 44030502002758號