于維納
(南京理工大學(xué) 南京 210000)
行人與車輛目標檢測,是計算機視覺領(lǐng)域和公共安全交通領(lǐng)域的重點研究方向。因為隨著在智能駕駛方向,如汽車自動駕駛系統(tǒng)或者汽車輔助駕駛系統(tǒng)的高速發(fā)展,行人與車輛的目標檢測在視頻監(jiān)控、公共安全等領(lǐng)域的均有著廣泛的應(yīng)用。
Anchor-free方法在目標檢測人車方面的網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計,目前有三大方向:基于key-point的算法(CornerNet[1]、CornerNet-lite[2]、CenterNet[3]、ExtremeNet[4]、Reppoints[5]),基于anchor-point的算法(CSP[6]、FCOS[7]、Foveabox[8]、DenseBox[9]、UnitBox[10]、DuBox[11]),結(jié)合Anchor-free和Anchor-based的算法(FSAF[12]、GA-RPN[13])等方法。以上的方法在本文的數(shù)據(jù)集上,測試效果均不理想,有的是精度高速度慢,有的是速度快精度低。本文提出的方法,在輕量級的目標檢測的網(wǎng)絡(luò)上,增加一種誤檢抑制的方法,從而在不降低速度的情況下,提高檢測的精度。
本文使用的目標檢測的骨干網(wǎng)絡(luò)是基于key-point的CornerNet-lite方法。而CornerNet-lite又是在CornerNet的基礎(chǔ)上進行了優(yōu)化。
CornerNet的主要思想是將框的左上角及右下角的兩個角點看作一組關(guān)鍵點。如圖1所示,主干網(wǎng)采用了Hourglass Network,主干網(wǎng)后緊跟兩個prediction modules分支,其中一個檢測top-left corners,另一個檢測bottom-right corners,最后對兩組corner進行篩選,組合,修正得到object的一對corners,從而定位object的box。對于每一個分支有三條線路,即用一個卷積網(wǎng)絡(luò)預(yù)測所有同一類別的樣本的左上角點或者右下角點的heatmap,及一個檢測到角點的embeding vector,還有用于對點的位置進行修正的offsets。此模型簡化了模型的輸出,同時移除了anchor的設(shè)計步驟。
圖1 CornerNet網(wǎng)絡(luò)架構(gòu)圖
基于CornerNet-lite,是通過減少每個像素的處理過程來加速inference,其結(jié)合了SqueezeNet及MobileNet的思想,同時,引入了一個新的backbone hourglass,利用了1×1的卷積,bottleneck層及深度分離卷積。
基于關(guān)鍵點的單階段檢測CornerNet-lite,通過檢測一組關(guān)鍵點來檢測目標,進而移除了anchor,但由于其缺乏對目標全局信息的參考,仍然具有局限性。同時,每個目標由一組關(guān)鍵點組成,算法對邊界框比較敏感,同時,無法確定哪組關(guān)鍵點屬于同一個目標物。因此,如實驗中,經(jīng)常會產(chǎn)生一些不正確的邊界框,導(dǎo)致誤檢的檢測框較多。為了提高mAP,減少誤檢率,本文提出同類別抑制匹配規(guī)則。
本文在基于CornerNet-lite的基礎(chǔ)上做了改進。但在其它的Anchor-free方法中,基于key-point的算法也存在此問題。因為key-point方法存在不同點的匹配問題,而本文提出的“同類別抵制匹配算法”,就是為了解決不同點的錯誤匹配問題而應(yīng)運而生的。本文算法增加了一個觀察每個候選區(qū)域的視覺模式的功能,進而可以判斷每個邊界框的正確性。本文通過增加一個類別信息來探索proposal區(qū)域的信息,本文創(chuàng)新點在于,如果預(yù)測的邊界框與ground truth有較高的IoU,則預(yù)測出相同類別的概率要高,反之亦然。因此,在進行inference結(jié)束后,當通過判斷兩個同類別的bounding box是否是包含關(guān)系,若是包含關(guān)系,則根據(jù)類別本身的長寬比規(guī)則抵制冗余框的產(chǎn)生。
經(jīng)試驗證實,此方法在存在feature-level噪聲的情況下更加穩(wěn)定,有助于準確率及召回率的提升。
本文構(gòu)造了一個新的大規(guī)模的數(shù)據(jù)集,由長時間的某幾個交通路口的監(jiān)控視頻組成,涵蓋真實世界的一些基本情況,如烈日、陰天、雨雪、夜晚、白天等不同場景,這些場景基本涵蓋了現(xiàn)實世界所有的場景。
本文經(jīng)過視頻采集、標注數(shù)據(jù)、數(shù)據(jù)增強來完成相對應(yīng)的數(shù)據(jù)集。
3.1.1 數(shù)據(jù)增強
采集的數(shù)據(jù)往往很難覆蓋掉全部的場景。數(shù)據(jù)增強是擴充數(shù)據(jù)樣本規(guī)模的一種有效的方法。在實施過程中,主要有兩種方式:離線增強和在線增強。離線增強:對已采集到的數(shù)據(jù)集進行相應(yīng)的變換,使得訓(xùn)練數(shù)據(jù)集得以擴充,以用于訓(xùn)練模型。在線增強:在訓(xùn)練過程中,根據(jù)batch獲取到訓(xùn)練數(shù)據(jù)后,對batch數(shù)據(jù)進行相應(yīng)的變換。
數(shù)據(jù)增強的方法,主要有以下幾種方法:顏色操作、幾何操作、邊界框操作。圖像的增強是一種正則,增加訓(xùn)練的數(shù)據(jù)量,使網(wǎng)絡(luò)能夠?qū)W習到圖像在不同形態(tài)下的特征,增強模型的泛化能力。同時也能夠增加噪聲數(shù)據(jù),提升模型的魯棒性。
3.1.2 訓(xùn)練和測試集
本文將數(shù)據(jù)集分為三部分,如圖1所示。訓(xùn)練集包括13251個圖片(詳細信息顯示表2),測試集包括4417個圖片,驗證集包括4417個圖片。訓(xùn)練集、測試集、驗證集以6∶2∶2的比例進行分割,且每個集合都包含不同時間不同攝像頭不同場景下的圖片。
表2 各類型數(shù)據(jù)集的分配情況
所 有 實 驗 均 在Intel(R)Xeon(R)CPU ES-2620 v4@2.10GHz上 進 行,使 用NVIDIA 1080Ti GPU、62GB內(nèi)存。所有程序都用Python_3.7編寫,并使用了CUDA 10.1和PyTorch 1.0.0。
目標檢測問題同時是一個回歸和分類問題。首先,為了評估定位精度,需要計算IoU(Intersection over Union,介于0到1之間),其表示預(yù)測框與真實框(ground-truth box)之間的重疊程度。IoU越高,預(yù)測框的位置越準確。因而,在評估預(yù)測框時,通常會設(shè)置一個IoU閾值(如0.5),只有當預(yù)測框與真實框的IoU值大于這個閾值時,該預(yù)測框才被認定為真陽性(True Positive,TP),反之就是假陽性(False Positive,F(xiàn)P)。
對于二分類,AP(Average Precision)是一個重要的指標,這是信息檢索中的一個概念,基于precision-recall曲線計算出來。對于目標檢測,首先要單獨計算各個類別的AP值,這是評估檢測效果的重要指標。取各個類別的AP的平均值,就得到一個綜合指標mAP(Mean Average Precision),mAP指標可以避免某些類別比較極端化而弱化其它類別的性能這個問題。
對于目標檢測,mAP一般在某個固定的IoU上計算,但是不同的IoU值會改變TP和FP的比例,從而造成mAP的差異。COCO數(shù)據(jù)集提供了官方的評估指標,它的AP是計算一系列IoU下(0.5:0.05:0.9)AP的平均值,這樣可以消除IoU導(dǎo)致的AP波動。其實對于PASCAL VOC數(shù)據(jù)集也是這樣,F(xiàn)acebook的Detectron上的有比較清晰的實現(xiàn)。
除了檢測準確度,目標檢測算法的另外一個重要性能指標是速度,只有速度快,才能實現(xiàn)實時檢測,這對一些應(yīng)用場景極其重要。評估速度的常用指標是每秒幀率(Frame Per Second,F(xiàn)PS),即每秒內(nèi)可以處理的圖片數(shù)量。當然要對比FPS,你需要在同一硬件上進行。另外也可以使用處理一張圖片所需時間來評估檢測速度,時間越短,速度越快。
為了驗證提出算法的有效性,基于采集的安防數(shù)據(jù)集,對CornerNet-lite網(wǎng)絡(luò)模型的識別性能進行了分析和比較。
本文使用CornerNet-lite訓(xùn)練后的網(wǎng)絡(luò)模型在未增加“同類別抑制匹配規(guī)則”和增加了此規(guī)則的實驗結(jié)果圖片,如圖2和圖3所示。
圖2 誤報抑制前后對比
圖3 誤報抑制前后對比
由圖2可以看出,在無“同類別抑制匹配規(guī)則”的左側(cè)子圖中,兩個行人中的一個存在一個多余的檢測框,而在使用了“同類別抑制匹配規(guī)則”的右側(cè)子圖中,將多余的檢測框得以去掉。其余圖也存在類似的情況,如圖3中車輛存在多余的檢測框。
在使用了“同類別抑制匹配規(guī)則”后,一些多余的檢測框得以去掉,此些誤報抑制后,mAP有了顯著的提升。表明本文提出的方法有效且新穎。
本文對速度的評估,使用的是處理一張圖片所需要的時間,測試結(jié)果如表3。
表3 不同圖片所需要的時間
經(jīng)過以上的測試得出,圖片的分辨越高,圖片處理的時間越長。故在后期,為達到可以實時檢測的目的,在得到原始圖片大小后,都統(tǒng)一調(diào)整到640*480,以提高檢測速度。值得說明的是圖片由高分辨率調(diào)整到低分辨率后,mAP的值,幾乎沒有下降。
然而,本文的檢測結(jié)果中也存在一定的缺點,有時存在一些目標未檢測成功,即漏檢問題,這些問題將在今后的工作中加以解決。
為了解決基于Anchor-based方法的目標檢測的相關(guān)問題,提出使用基于Anchor-free方法的目標檢測,針對采集的數(shù)據(jù)集,進行相應(yīng)的人工標注及離線和在線的數(shù)據(jù)增強方法,得到訓(xùn)練數(shù)據(jù)集后,采用多種訓(xùn)練策略進行模型的訓(xùn)練。在前向推理過程時,使用“同類別抑制匹配規(guī)則”來抵制冗余框的產(chǎn)生,提高了mAP。通過實驗結(jié)果充分證明了本文提出的算法的有效性和新穎性。