左治江,胡 軍,鄭文遠(yuǎn),梅天燦*
(1.江漢大學(xué) 機(jī)電與建筑工程學(xué)院,湖北 武漢 430056;2.武漢大學(xué) 電子信息學(xué)院,湖北 武漢 430072)
傳統(tǒng)的車輛檢測框架主要采用顯式模型[1-3]或隱式模型[4-7],其特征表達(dá)均屬于基于人工設(shè)計(jì)的特征表達(dá),很難保證車輛檢測的魯棒性和穩(wěn)定性,而基于神經(jīng)網(wǎng)絡(luò)的特征表達(dá)則是基于學(xué)習(xí)的特征表達(dá),在影像分類和檢測中表現(xiàn)出了優(yōu)異的性能[8-10]。針對現(xiàn)有R- CNN 系列[11-13]模型和概率定位模型LocNet[14]的局限,本文提出一種端到端卷積神經(jīng)網(wǎng)絡(luò)車輛檢測模型HyperLocNet,通過對候選框生成網(wǎng)絡(luò)RPN[14],改進(jìn)概率定位模型以及目標(biāo)識別網(wǎng)絡(luò)進(jìn)行聯(lián)合訓(xùn)練,從而使得各個(gè)子任務(wù)之間相互協(xié)同,提高目標(biāo)定位和檢測的精度,有效解決了目標(biāo)檢測任務(wù)中定位信息少、模型不穩(wěn)定和對小目標(biāo)檢測效果不理想等問題。
目標(biāo)檢測包含目標(biāo)定位和目標(biāo)識別兩個(gè)關(guān)鍵問題。針對現(xiàn)有回歸定位和概率定位兩種定位方法的局限,HyperLocNet 將定位和識別網(wǎng)絡(luò)融合在同一個(gè)網(wǎng)絡(luò)中共享信息,實(shí)現(xiàn)多任務(wù)的端到端學(xué)習(xí),其模型結(jié)構(gòu)如圖1 所示。待檢測圖像經(jīng)過基礎(chǔ)卷積網(wǎng)絡(luò)之后得到激活特征圖,激活特征圖首先進(jìn)入RPN 網(wǎng)絡(luò)產(chǎn)生候選框。RPN 網(wǎng)絡(luò)與后續(xù)檢測網(wǎng)絡(luò)共享基礎(chǔ)卷積層的權(quán)重,包括候選框坐標(biāo)回歸及前景與背景預(yù)分類兩個(gè)分支。根據(jù)每個(gè)候選框分類得分進(jìn)行非極大值抑制操作,訓(xùn)練階段選擇前2 000 個(gè)候選框?qū)罄m(xù)的檢測網(wǎng)絡(luò)進(jìn)行訓(xùn)練,測試階段選擇前300 或者100 個(gè)候選框進(jìn)入檢測網(wǎng)絡(luò)。經(jīng)過NMS 篩選得到的候選框被映射至激活特征圖,經(jīng)過ROI 池化層輸出固定尺寸的特征向量,再進(jìn)入檢測網(wǎng)絡(luò)進(jìn)行精細(xì)定位并分類。
圖1 HyperLocNet 檢測模型圖Fig.1 HyperLocNet detection model
不同于Faster R- CNN 的檢測網(wǎng)絡(luò)和RPN 采用回歸模型進(jìn)行定位,HyperLocNet 采用的定位模塊提供了關(guān)于目標(biāo)位置的條件概率,使得模型的穩(wěn)定性更好,可以處理多個(gè)目標(biāo)彼此接近的情形。對于小目標(biāo)的檢測需要更多的細(xì)節(jié)語義信息,而深層卷積網(wǎng)絡(luò)由于池化層的原因,特征圖尺寸不斷減小,對細(xì)節(jié)語義信息響應(yīng)不明顯,HyperLocNet 改變VGG16 的pool/4 池化層的參數(shù),使得conv4_3 經(jīng)過池化層后尺寸不變,即將步長(stride)由16 變?yōu)?,特征圖尺寸縮小為檢測圖像的1/8,以適應(yīng)小目標(biāo)的檢測。
HyperLocNet 在目標(biāo)定位模塊中將X和Y兩個(gè)分支的任務(wù)融合到一個(gè)分支中,舍棄了原來模型目標(biāo)定位模塊中的多個(gè)卷積層和池化層。通常在卷積網(wǎng)絡(luò)架構(gòu)中的連續(xù)卷積層之間插入池化層,池化層使用Max Pooling 操作,在保證深度維度不變的前提下,減小了網(wǎng)絡(luò)特征向量的尺寸,從而保證了特征的尺度和旋轉(zhuǎn)不變性。但是目標(biāo)定位任務(wù)對尺度和旋轉(zhuǎn)非常敏感,尤其是檢測小目標(biāo)時(shí),幾個(gè)像素的移動(dòng)就會(huì)導(dǎo)致最終的定位結(jié)果偏差很大。LocNet 模型中ROI 層之后的池化層可能會(huì)丟棄用于精確定位的關(guān)鍵信息,故HyperLocNet 在ROI 層之后直接通過全連接層提取位置信息,即X 和Y 方向的條件概率,從而保證從激活特征圖傳遞出來的信息的完整性。而基礎(chǔ)卷積層中的池化層已經(jīng)可以保證特征的尺度和旋轉(zhuǎn)不變性,使得檢測模型的識別模塊具有較強(qiáng)的泛化性和穩(wěn)定性。
在對目標(biāo)進(jìn)行精確定位時(shí),LocNet 要求初始候選框包含目標(biāo)框,當(dāng)該條件不滿足時(shí),其定位誤差比回歸模型大。圖2 是概率定位模型與回歸定位模型的比較,其中黑色框?yàn)楦怕誓P退阉鲄^(qū)域,黃色框?yàn)槌跏己蜻x框,紅色框?yàn)榛貧w模型定位結(jié)果,藍(lán)色框?yàn)楦怕誓P投ㄎ唤Y(jié)果,黃色箭頭表示回歸模型將候選框逼近目標(biāo)框的過程。如圖2(a)所示,當(dāng)目標(biāo)在初始候選框之外時(shí)概率模型不能準(zhǔn)確定位,而回歸定位模型無論初始候選框是否包含目標(biāo)框,都可以使候選框逼近目標(biāo)框。如圖2(b)所示,當(dāng)目標(biāo)處在搜索區(qū)域中時(shí),概率模型可以更加精確地定位。針對兩種定位模型的特點(diǎn),HyperLocNet 中RPN 采用回歸模型定位生成距離目標(biāo)比較近的候選框,后續(xù)檢測網(wǎng)絡(luò)采用概率模型對RPN 候選框進(jìn)行精細(xì)定位提高定位精度。邊界概率和邊界內(nèi)外概率的基本形式為表述為在區(qū)域R 內(nèi),任意行或者列是第c類的邊界的概率(或者在第c類的邊界內(nèi)的概率),圖3 是兩種概率定位示意圖,其中青色框?yàn)樵己蜻x框,黃色框?yàn)閷⒃己蜻x框放大一定范圍得到的搜索區(qū)域,藍(lán)色框?yàn)槟繕?biāo)實(shí)際邊界框。圖3(a)表示邊界內(nèi)外概率,即搜索區(qū)域內(nèi)的行列在目標(biāo)邊界內(nèi)的條件概率;圖3(b)表示邊界概率,即搜索區(qū)域內(nèi)的行列為目標(biāo)邊界的概率。通過試驗(yàn)發(fā)現(xiàn)由于本文檢測目標(biāo)為小目標(biāo),檢測難度大,單獨(dú)采用邊界概率定位效果不佳,而采用組合概率時(shí)間開銷比較大,定位結(jié)果改善不明顯,因此本文僅考慮邊界內(nèi)外概率的作用。
圖2 概率定位模型與回歸定位模型的比較Fig.2 Comparison between probabilistic location model and regression location model
本文提出的檢測網(wǎng)絡(luò)以VGG16 為基礎(chǔ),以ImageNet 上訓(xùn)練的圖像分類模型為初始權(quán)重。在概率定位模型中,對于N個(gè)候選框訓(xùn)練樣本定位損失為
圖3 概率定位模型示意圖Fig.3 Schematic diagram of probabilistic location model
HyperLocNet 模型后續(xù)檢測網(wǎng)絡(luò)的多任務(wù)損失函數(shù)為
式(2)中Lcls(θ)表示所有類別的分類損失,Lloc(θ)為式(1)表示的定位損失。只有前景才產(chǎn)生定位損失,其中λ設(shè)為 1。
HyperLocNet 中的RPN 的多任務(wù)損失為
P= (Px,Py,Pw,Ph) 表示初始候選框在檢測圖像的中心坐標(biāo)位置和長、寬。G=(Gx,Gy,Gw,Gh)代表原標(biāo)記框(ground- truth box)在檢測圖像的中心坐標(biāo)位置和長、寬。訓(xùn)練RPN 時(shí),式(3)的λ設(shè)置為 3。
綜合式(3)和式(4),HyperLocNet 訓(xùn)練過程中總的損失為
為了驗(yàn)證本文提出的HyperLocNet 檢測模型的效果,制作了自定義的道路車輛目標(biāo)數(shù)據(jù)集TVOWHU 進(jìn)行檢測試驗(yàn),并將文獻(xiàn)[14- 20]中的幾種方法應(yīng)用在該數(shù)據(jù)集上,與HyperLocNet檢測結(jié)果相比較。
TVOWHU 數(shù)據(jù)集由分布在車流量較大的十字路口處的監(jiān)控相機(jī)采集的視頻流中隨機(jī)采樣得到的826 幅平均大小為601× 395 的圖像組成,仿照Pascal VOC 的形式,以JPEG 格式呈現(xiàn)。其中707 個(gè)樣本作為訓(xùn)練數(shù)據(jù),其余119 個(gè)樣本作為測試數(shù)據(jù)。訓(xùn)練HyperLocNet 時(shí),RPN 中檢測框與ground- truth 的交疊率大于0.4 的為正樣本,小于0.3 的為負(fù)樣本,后續(xù)檢測網(wǎng)絡(luò)中,交疊率大于0.4 的為正樣本,在0.1 ~ 0.4 之間的為負(fù)樣本。表1 展示了LocNet 和HyperLocNet 檢測模型的訓(xùn)練參數(shù)設(shè)置。LocNet 檢測模型分別訓(xùn)練了識別網(wǎng)絡(luò)和定位網(wǎng)絡(luò),識別網(wǎng)絡(luò)為去掉定位部分的Fast R- CNN 網(wǎng)絡(luò)。
表1 訓(xùn)練參數(shù)設(shè)置Tab.1 Training parameters setting
圖4 為不同檢測模型在TVOWHU 數(shù)據(jù)集上的Recall- IoU 曲線,可以看出HyperLocNet 的檢測效果始終優(yōu)于Faster R- CNN。當(dāng)IoU > 0.5,候選框數(shù)量為300 時(shí),HyperLocNet 的召回率為 71.5% ,F(xiàn)aster R- CNN 的召回率為 62.5% 。與 YOLO- v2 相比,IoU 較低時(shí),HyperLocNet 的檢測效果更好,當(dāng) RPN 產(chǎn)生 300 個(gè)候選框時(shí),HyperLocNet 在 IoU > 0.5 和 IoU > 0.65 時(shí)召回率比YOLO- v2 分別高出15 個(gè)和5 個(gè)百分點(diǎn)。
圖4 不同檢測模型在TVOWHU 數(shù)據(jù)集上的Recall-IoU 曲線(Proposals = 300)Fig.4 Recall-IoU curves of different detection models on TVOWHU data (Proposals = 300)
表2 為TVOWHU 數(shù)據(jù)集的整體檢測結(jié)果,表中AP 表示平均檢測精度(average precision)。LocNet 在PASCAL 數(shù)據(jù)集上試驗(yàn)時(shí),采用多次迭代的方法提高檢測效果,最終確定迭代次數(shù)為4 次。在試驗(yàn)中發(fā)現(xiàn),對TVOWHU 數(shù)據(jù)集,最多迭代2 ~3 次就可以達(dá)到最好的檢測效果。對于Selective Search 產(chǎn)生的質(zhì)量較高的候選框,當(dāng)數(shù)量較多,為1 k 時(shí),只需迭代1 次即可,數(shù)量較少,為300 時(shí),需迭代2 次;對于Sliding- window 產(chǎn)生的質(zhì)量較低的候選框,當(dāng)數(shù)量較多,為1 k時(shí),需迭代2 次,當(dāng)數(shù)量較少,為300 時(shí),需迭代3 次。但即使由Selective Search 產(chǎn)生1 k 候選框,LocNet 的 AP 與 HyperLocNet 相比仍然有較大差距。比如 RPN 產(chǎn)生 50 個(gè)候選框,IoU > 0.5 時(shí),HyperLocNet 的 AP 為 57.7% ,而 LocNet 的 AP 僅為 49.5% 。文獻(xiàn)[16,20]采用手工設(shè)計(jì)特征識別車輛,只考慮了IoU > 0.5 的情況,與之相比HyperLocNet 的AP 整體高出10% ,由此可以看出卷積神經(jīng)網(wǎng)絡(luò)的特征表達(dá)能力更強(qiáng)。與LocNet 相比,HyperLocNet 檢測效果更好,說明網(wǎng)絡(luò)聯(lián)合訓(xùn)練、共享權(quán)重可以使得識別和定位兩個(gè)任務(wù)相互促進(jìn)。與R- CNN 系列模型相比,HyperLocNet的優(yōu)勢很明顯,說明概率定位模型應(yīng)用在目標(biāo)檢測框架中可以提高檢測性能。雖然IoU > 0.5 時(shí),HyperLocNet 的 AP 略低于 YOLO- v2[9],但值得說明的是,當(dāng) 0.5 < IoU < 0.7時(shí),HyperLocNet 的AP 始終在 30% ~ 60% 之間,而 YOLO- v2 在 IoU > 0.7 時(shí) AP 已經(jīng)為 23.6% 。這一結(jié)果表明在IoU 較低時(shí)HyperLocNet模型更為穩(wěn)定,在這種條件下,隨著在IoU 增大時(shí),檢測效果沒有急劇下降。
表2 TVOWHU 測試結(jié)果Tab.2 TVOWHU test results
表3 為各檢測模型處理一張圖片所用的時(shí)間,括號內(nèi)為每秒處理的圖片容量。這里所示的均為所有檢測情況下檢測效果最好結(jié)果的運(yùn)行時(shí)間,比如LocNet 模型由Sliding- window 提供1 k個(gè)候選框時(shí),迭代2 次效果最好。由表3 可以看出端到端模型的檢測時(shí)間最短,HyperLocNet 可以達(dá)到13 幀/s,完全具有實(shí)時(shí)處理的潛質(zhì),今后我們也將繼續(xù)探索,在保證檢測效果的前提下,提高檢測效率。除文獻(xiàn)[15- 16]的檢測模型外,HyperLocNet、LocNet、Fast R- CNN 模型均基于caffe 深度學(xué)習(xí)框架,YOLO- v2 基于DarkNet 深度學(xué)習(xí)框架,在GeForce GTX 1080Ti 上運(yùn)行。
表3 TVOWHU 測試時(shí)間Tab.3 TVOWHU test time
圖5 展示了HyperLocNet 和其他幾種檢測模型在TVOWHU 數(shù)據(jù)集上的檢測結(jié)果,其中綠色箭頭所指為漏檢或者定位框誤差較大的情況。即使在車輛分布密集,車身目標(biāo)小,車輛目標(biāo)相互之間有重疊的情況下,HyperLocNet 的檢測結(jié)果依然比較好。其他幾種檢測模型有不同程度的漏檢,或者有定位框位置不準(zhǔn)確等問題。在車輛分布較密集的區(qū)域,HyperLocNet 只有一處出現(xiàn)一個(gè)漏檢,其他檢測框架出現(xiàn)漏檢的情況較多,而且Fast R- CNN 的多個(gè)定位框的位置誤差較大。
圖5 檢測結(jié)果Fig.5 Test results
從TVOWHU 數(shù)據(jù)集檢測結(jié)果來看,本文提出的HyperLocNet 檢測模型對于小目標(biāo)的檢測效果比R- CNN 系列模型和YOLO- v2 的檢測效果好。造成這種差距的原因,第一是因?yàn)楦怕识ㄎ荒P驮诜€(wěn)定性方面發(fā)揮了優(yōu)勢,對于大目標(biāo)和小目標(biāo),訓(xùn)練階段和測試階段輸出的條件概率都在0 ~1 之間,保證了模型的穩(wěn)定性,使得對大目標(biāo)和小目標(biāo)的檢測效果都很好;第二是因?yàn)樵贖yperLocNet 檢測網(wǎng)絡(luò)中,定位和識別都采用了概率模型,這更有利于多任務(wù)學(xué)習(xí)中兩個(gè)任務(wù)相互促進(jìn)、相互制約,提高整個(gè)模型的穩(wěn)定性和泛化性能;第三是因?yàn)樵诟怕识ㄎ荒P椭?,搜索區(qū)域R 是以候選框?yàn)橹行牟⑵浞糯蟮奶囟▍^(qū)域,放大候選框,將目標(biāo)周圍的背景信息融入其中,也是一種特征融合的過程,有利于改善模型性能。
本文提出一種新的基于視頻流影響的道路車輛目標(biāo)檢測框架HyperLocNet,實(shí)現(xiàn)端到端檢測,并達(dá)到13 幀/s 的處理速度。為解決基于CNN 的目標(biāo)檢測框架中使用回歸模型定位輸出信息較少,定位精度受限的問題,利用改進(jìn)概率定位模型輸出條件概率,提供更多有用的關(guān)于目標(biāo)位置的信息,使檢測模型更加穩(wěn)定。進(jìn)一步,本文將目標(biāo)識別和目標(biāo)定位融合在一個(gè)深度學(xué)習(xí)網(wǎng)絡(luò)中,使得識別和定位任務(wù)共享卷積層和兩個(gè)完全連接層的計(jì)算,降低了計(jì)算成本。在這個(gè)多任務(wù)模型中,識別和定位任務(wù)相互促進(jìn),使得檢測性能比LocNet 大大提高。在自定義的TVOWHU道路目標(biāo)數(shù)據(jù)集中,本文提出的模型檢測效果比廣泛使用的Faster R- CNN 和YOLO- v2 等方法有了明顯提高。