訂閱
糾錯
加入自媒體

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

介紹目標檢測支持許多視覺任務,如實例分割、姿態(tài)估計、跟蹤和動作識別,這些計算機視覺任務在監(jiān)控、自動駕駛和視覺答疑等領域有著廣泛的應用。隨著這種廣泛的實際應用,目標檢測自然成為一個活躍的研究領域。我們在Fynd的研究團隊一直在訓練一個行人檢測模型來支持我們的目標跟蹤模型。在本文中,我們將介紹如何選擇一個模型架構,創(chuàng)建一個數(shù)據(jù)集,并為我們的特定用例進行行人檢測模型的訓練。什么是目標檢測目標檢測是一種計算機視覺技術,它允許我們識別和定位圖像或視頻中的物體。目標檢測可以理解為兩部分,目標定位和目標分類。定位可以理解為預測對象在圖像中的確切位置(邊界框),而分類則是定義它屬于哪個類(人/車/狗等)。

目標檢測方法解決目標檢測的方法有很多種,可以分為三類。級聯(lián)檢測器:該模型有兩種網(wǎng)絡類型,一種是RPN網(wǎng)絡,另一種是檢測網(wǎng)絡。一些典型的例子是RCNN系列。帶錨框的單級檢測器:這類的檢測器沒有單獨的RPN網(wǎng)絡,而是依賴于預定義的錨框。YOLO系列就是這種檢測器。無錨框的單級檢測器:這是一種解決目標檢測問題的新方法,這種網(wǎng)絡是端到端可微的,不依賴于感興趣區(qū)域(ROI),塑造了新研究的思路。要了解更多,可以閱讀CornerNet或CenterNet論文。什么是COCO數(shù)據(jù)集為了比較這些模型,廣泛使用了一個稱為COCO(commonobjectsincontext)的公共數(shù)據(jù)集,這是一個具有挑戰(zhàn)性的數(shù)據(jù)集,有80個類和150多萬個對象實例,因此該數(shù)據(jù)集是初始模型選擇的一個非常好的基準。如何評估性能評估性能我們需要評價目標檢測任務的各種指標,包括:PASCAL VOC挑戰(zhàn)(Everingham等人。2010年)COCO目標檢測挑戰(zhàn)(Lin等人。2014年)開放圖像挑戰(zhàn)賽(Kuznetsova 2018)。要理解這些指標,你需要先去理解一些基本概念,如精確度、召回率和IOU。以下是公式的簡要定義。平均精度

AP可定義為插值精度召回曲線下的面積,可使用以下公式計算:

mAPAP的計算只涉及一個類,然而,在目標檢測中,通常存在K>1類。平均精度(Mean average precision,mAP)定義為所有K類中AP的平均值:

TIDETIDE是一個易于使用的通用工具箱,用于計算和評估對象檢測和實例分割對整體性能的影響。TIDE有助于更詳細地了解模型錯誤,僅使用mAP值是不可能找出哪個錯誤段導致的。TIDE可以繪制簡單的圖表,使分析變得輕松。https://youtu.be/McYFYU3PXcU實際問題陳述我們的任務是檢測零售店閉路電視視頻源中的人體邊界框,這是跟蹤模型的一個基礎模型,且其檢測所產(chǎn)生的所有誤差都會傳遞到跟蹤模型中。以下是在這類視頻中檢測的一些主要挑戰(zhàn)。挑戰(zhàn)視角:CCTV是頂裝式的,與普通照片的前視圖不同,它有一個角度人群:商店/商店有時會有非常擁擠的場景背景雜亂:零售店有更多的分散注意力或雜亂的東西(對于我們的模特來說),比如衣服、架子、人體模型等等,這些都會導致誤報。照明條件:店內(nèi)照明條件與室外攝影不同圖像質(zhì)量:來自CCTVs的視頻幀有時會非常差,并且可能會出現(xiàn)運動模糊測試集創(chuàng)建我們創(chuàng)建了一個驗證集,其中包含來自零售閉路電視視頻的視頻幀。我們使用行人邊界框?qū)蚣苓M行注釋,并使用mAP@0.50 iou閾值在整個訓練迭代中測試模型。第一個人體檢測模型我們的第一個模型是一個COCO預訓練的模型,它將“person”作為其中的一個類。我們在每種方法中列出了2個模型,并基于COCO-mAP-val和推理時間對它們進行了評估。

我們選擇YOLOv5是因為它的單級特性(快速推理)和在COCO mAP val上的良好性能,它還有YOLOv5m和YOLOv5s等更快的版本。YOLOv5YOLO系列屬于單階段目標探測器,與RCNN不同,它沒有單獨的區(qū)域建議網(wǎng)絡(RPN),并且依賴于不同尺度的錨框。架構可分為三個部分:骨架、頸部和頭部。利用CSP(Cross-Stage Partial Networks)作為主干,從輸入圖像中提取特征。PANet被用作收集特征金字塔的主干,頭部是最終的檢測層,它使用特征上的錨框來檢測對象。YOLO架構使用的激活函數(shù)是Google Brains在2017年提出的Swish的變體,它看起來與ReLU非常相同,但與ReLU不同,它在x=0附近是平滑的。

損失函數(shù)是具有Logits損失的二元交叉熵性能0.48 mAP@0.50 IOU(在我們的測試集上)分析這個現(xiàn)成的模型不能很好地執(zhí)行,因為模型是在COCO數(shù)據(jù)集上訓練的,而COCO數(shù)據(jù)集包含一些不必要的類,包含人體實例的圖像數(shù)量較少,人群密度也較小。此外,包含人體實例的圖像分布與閉路電視視頻幀中的圖像分布有很大不同。結論我們需要更多的數(shù)據(jù)來訓練包含更多擁擠場景和攝像機視角介于45?-60?(類似于CCTV)的模型。收集公共數(shù)據(jù)我們的下一步是收集包含行人/行人邊界框的公共可用數(shù)據(jù)集。有很多數(shù)據(jù)集可用于人體檢測,但我們需要一些關于數(shù)據(jù)集的附加信息,如視角、圖像質(zhì)量、人體密度和背景等,以獲取數(shù)據(jù)集的分布信息。我們可以看到,滿足我們確切需求的數(shù)據(jù)集并不多,但我們?nèi)匀豢梢允褂眠@些數(shù)據(jù)集,因為人體邊界框的基本要求已經(jīng)得到滿足。在下載了所有的數(shù)據(jù)集之后,我們把它轉(zhuǎn)換成一個通用的COCO格式進行檢測。第二個人體檢測模型我們用收集到的所有公共數(shù)據(jù)集訓練模型。

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

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

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

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

暫無評論

暫無評論

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

    粵公網(wǎng)安備 44030502002758號