部署可扩展的目标检测管道:推理过程(下)
部署可擴(kuò)展的目標(biāo)檢測管道:推理過程(下)
融合
感興趣的目標(biāo)可以被遮擋。有時只能看到目標(biāo)的一小部分(少至幾個像素)。
? 圖19.車輛和交通信號燈被遮擋。
? 圖20:阻塞了總線。
? 圖21:左側(cè)的人被遮擋了。
像YOLOv3這樣的基于CNN的目標(biāo)檢測方法有一個缺點(diǎn),即要求特征圖生成對目標(biāo)遮擋具有魯棒性。而且,僅引發(fā)許多特征圖并不能提高性能。已知諸如空間金字塔池之類的方法可以通過改進(jìn)常規(guī)YOLOv3算法來更好地處理遮擋。
照明條件
照明的影響在像素級別上非常明顯。
? 圖22. 白天。
? 圖23:傍晚。
? 圖24:夜間。
結(jié)果表明,YOLOv3的分類和定位受光照均勻度的影響。
背景
感興趣的目標(biāo)可能會混入其環(huán)境中,從而使其難以識別。
? 圖25.停車場背景。
? 圖26:公路背景。
? 圖27:城市市區(qū)背景。
YOLOv3在預(yù)測邊界時遍歷整個輸入圖像。通過附加的上下文,YOLO在背景區(qū)域中顯示出更少的誤報。
類間變異
感興趣的類別通常可以相對較寬,例如車輛。有許多不同類型的車輛,每種都有自己的外觀。
圖28.汽車,公共汽車和卡車的車輛類型。
YOLOv3通過避免軟最大化類來最大化類間可變性。取而代之的是,每個班級得分的預(yù)測都使用帶有閾值的邏輯回歸。
類內(nèi)變異
同一類的目標(biāo)看起來可能大不相同。
? 圖29.綠色汽車。
? 圖30:橙色車。
? 圖31:黃色汽車。
YOLOv3可以很好地執(zhí)行目標(biāo)識別,而不管圖像幀中是否存在類內(nèi)差異。準(zhǔn)確性是正確結(jié)果在所檢查病例總數(shù)中所占的比例。
分類精度=預(yù)測多少/實(shí)際標(biāo)簽的實(shí)際數(shù)量
類 真實(shí)標(biāo)簽計(jì)數(shù)
汽車 1,078,642
總線 33,307
卡車 63,128
行人 62,837
紅綠燈 827,182
標(biāo)簽總數(shù)(所有類別的總和) 2,065,096
表1.真實(shí)標(biāo)簽計(jì)數(shù)。
圖32.與預(yù)測相比,目標(biāo)檢測的groundtruth。
類 正確的預(yù)測(計(jì)數(shù)) 總體精度 (%) 分類準(zhǔn)確度 (%)
汽車 172,583 8 16
卡車 2,525 1個 4
總線 2,332 1個 7
紅綠燈 33,087 2 4
行人 15,709 7 25
表2.目標(biāo)檢測精度。
正如所觀察到的那樣,從準(zhǔn)確性的角度來看,這些類并不是很好的平衡,因此對于自動駕駛汽車開發(fā)中的模型圖像分類性能而言,它們不是合適的選擇。
圖33.具有每個類的精度和召回性能指標(biāo)的目標(biāo)檢測預(yù)測性能指標(biāo)。
目標(biāo)檢測精度不足以從整體預(yù)測中識別正確的預(yù)測。
總體上較低的準(zhǔn)確性似乎還表明,用作YOLOv3模型構(gòu)建的訓(xùn)練數(shù)據(jù)的MSCOCO數(shù)據(jù)集并不嚴(yán)格代表輸入數(shù)據(jù)集。數(shù)據(jù)集的這種移動導(dǎo)致了明顯的性能下降。在自動駕駛汽車中普遍存在的訓(xùn)練數(shù)據(jù)集選擇偏差和動態(tài)環(huán)境條件是一個普遍存在的問題,需要解決以提高目標(biāo)檢測精度。
通過使用來自預(yù)訓(xùn)練的YOLOv3模型的轉(zhuǎn)移訓(xùn)練進(jìn)行重新訓(xùn)練,可以提高低目標(biāo)檢測的準(zhǔn)確性。在訓(xùn)練階段,CNN框架初始化預(yù)訓(xùn)練的YOLOv3模型。使用自定義數(shù)據(jù)集對網(wǎng)絡(luò)的各個層進(jìn)行微調(diào),可獲得更好的目標(biāo)檢測精度。
預(yù)訓(xùn)練的YOLOv3模型再訓(xùn)練過程是另一篇文章的主題。但是,對于這篇文章,進(jìn)一步評估了以mAP為最終指標(biāo)的性能指標(biāo)。對性能指標(biāo)進(jìn)行測量,使所有可配置參數(shù)保持不變,包括“交叉口相交”(IOU)閾值,客觀置信度和NMS閾值,以便可以將模型性能與基準(zhǔn)MSCOCO數(shù)據(jù)集進(jìn)行比較。預(yù)訓(xùn)練過程的目標(biāo)是縮小績效差距。
準(zhǔn)確性衡量的是正確預(yù)測的比例,而準(zhǔn)確性衡量的是所有預(yù)測的陽性中實(shí)際陽性的比例,而召回率則衡量的是預(yù)測為陽性的真實(shí)陽性的數(shù)量。
對于每個類,請使用以下公式:
精度=多少預(yù)測是肯定的/總預(yù)測
召回=預(yù)測的有多少是正數(shù)/實(shí)際數(shù)為真標(biāo)簽
? 圖34.總線類的精度和召回性能指標(biāo)。
? 圖35.卡車級的精度和召回性能指標(biāo)。
? 圖36.汽車類別的精度和召回性能指標(biāo)。
? 圖37.紅綠燈類的精度和召回性能指標(biāo)。
精確度和召回率曲線是評估目標(biāo)檢測器性能的絕佳方法,因?yàn)橥ㄟ^為每個目標(biāo)類別繪制圖形來改變置信度。
? 如果一個類別的目標(biāo)檢測器的精度隨查全率的提高而保持較高,則它是好的。通過改變置信度閾值,查準(zhǔn)率和查全率仍然很高。
? 一個弱目標(biāo)檢測器,需要增加被檢測物體的數(shù)量(較低的精度)來檢索所有地面真實(shí)物體(較高的查全率),從高精度值開始,并隨著查全率的提高而減小。
聲音目標(biāo)檢測器的其它特征包括:
? 高精度(0個誤報)檢測器,僅可識別相關(guān)目標(biāo)
? 高召回率(0個假陰性)檢測器,可以找到所有地面真相
稱為F1分?jǐn)?shù)的單數(shù)評估指標(biāo)有助于控制精度和召回率之間的權(quán)衡。
F1分?jǐn)?shù)= 2 精度召回率/(精度+召回率)
圖35.在不同閾值水平下,F1按圖像評分。
當(dāng)精度和召回率都很高時,F1分?jǐn)?shù)就很高。對于所有其它結(jié)果,F1得分較低。
評估目標(biāo)定位
目標(biāo)檢測過程也需要對目標(biāo)進(jìn)行定位。使用IOU將預(yù)測的邊界框與地面真值邊界框進(jìn)行比較。
IOU =兩個預(yù)測邊界框和相應(yīng)的地面真相邊界框的交集面積/兩個預(yù)測邊界框和相應(yīng)的地真邊界框的相交面積
IOU的范圍可以描述為0 <= IOU <= 1,其中零表示無重疊,而IOU顯示完美重疊。通常,具有特定IOU閾值的框確定候選預(yù)測邊界框。使用0.5 IOU閾值,與YOLOv3算法使用的基準(zhǔn)IOU閾值相同。
添加到Y(jié)OLOv3目標(biāo)檢測算法中的NMS組件也使用IOU概念來使算法性能更好。NMS計(jì)算IOU以刪除多個檢測,以為每個檢測到的目標(biāo)選擇一個邊界框,以生成推理局部圖像輸出。
評估目標(biāo)檢測
在給定輸入數(shù)據(jù)集的情況下確定模型的性能時,使用單數(shù)度量很有幫助。
平均平均精度(“ mAP”)是每個類的平均精度的平均值,如下表所示,其IOU閾值為0.5,與YOLOv3算法使用的基準(zhǔn)IOU閾值相同。
AP(汽車) 25
AP(巴士) 15
AP(卡車) 15
AP(交通燈) 25
AP(人) 40
地圖 24部署可擴(kuò)展的目標(biāo)檢測管道:推理過程(下)
表3.性能指標(biāo)。
隨著IOU閾值的增加,mAP會降低。假設(shè)YOLOv3可以在三個尺度上進(jìn)行預(yù)測,則可以分別計(jì)算小型,中型和大型目標(biāo)的mAP,并且性能可能會分別從低到高變化很大。
歸納
解決數(shù)據(jù)分布,數(shù)據(jù)類型,注釋要求,質(zhì)量參數(shù),數(shù)據(jù)量以及自動化有效性方面的變化敏感性,對于實(shí)現(xiàn)最佳注釋精度和速度至關(guān)重要。
基于NVIDIA GPU的PyTorch YOLOv3加速的目標(biāo)檢測推理管道顯示了在現(xiàn)實(shí)環(huán)境數(shù)據(jù)中受影響的一些典型挑戰(zhàn),例如在注釋自主數(shù)據(jù)時受到照明,旋轉(zhuǎn),縮放和遮擋的影響。這項(xiàng)工作可作為創(chuàng)建由推理性能指標(biāo)支持的優(yōu)化的,端到端,可擴(kuò)展管道的概述,這有助于評估在輸入數(shù)據(jù)集上執(zhí)行的注釋推理輸出的質(zhì)量。
總結(jié)
以上是生活随笔為你收集整理的部署可扩展的目标检测管道:推理过程(下)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。