劉子龍,沈祥飛
(上海理工大學光電信息與計算機工程學院,上海 200093)
隨著近10年計算機軟硬件的迅速發(fā)展,人工智能成為目前炙手可熱的領(lǐng)域,其中作為人工智能領(lǐng)域領(lǐng)頭羊的計算機視覺,是目前應用最廣的領(lǐng)域。作為計算機視覺的基本分支之一,目標檢測發(fā)揮著至關(guān)重要的作用,其主要任務(wù)是實現(xiàn)目標的定位和分類。目前我國大力發(fā)展新能源汽車,并且都配備自動駕駛系統(tǒng)和駕駛輔助系統(tǒng)。自動駕駛系統(tǒng)可以輔助駕駛員進行安全駕駛,以此提升道路安全。而在自動駕駛系統(tǒng)和駕駛輔助系統(tǒng)中,目標檢測技術(shù)也顯得尤為重要。
隨著深度學習的發(fā)展,與傳統(tǒng)方法相比,神經(jīng)網(wǎng)絡(luò)有著更強大的學習特征能力和信息表征能力,而且傳統(tǒng)方法的模型復雜,難以取得重大突破?;谏疃葘W習的目標檢測方法逐漸成為主流,其主要分為兩大類。第1類是兩階段目標檢測算法,其中最為經(jīng)典的就是Girshick等推出的RCNN(region convolutional neural net-works)算法[1],隨后又連續(xù)推出了Fast RCNN[2]與Faster RCNN[3]算法。第2類是單階段目標檢測算法,代表作有SSD(single shot multibox detector)[4]、Yolo(you only look once)[5],Yolo
系列算法是Redmon等在2015年提出的一個目標檢測算法,隨后Redmon等又推出了Yolo v2[6]以及Yolo v3[7]。雖然兩階段算法在目標檢測中有著不錯的準確率,但由于檢測速度的限制,使得該系列算法難以在工業(yè)應用中進行推廣。而基于回歸方法的端到端Yolo系列算法降低了網(wǎng)絡(luò)復雜度,導致其檢測精度有所降低,但卻顯著提高了檢測速度。
Yolo v5作為目前最新的Yolo系列算法,其在檢測速度和檢測精度上有著顯著的提升,但是在小目標以及密集目標中表現(xiàn)仍有不足。為了解決小目標檢測中存在的問題,Zhang等[8]提出了Yolso(you only look small object)目標檢測算法,該算法指出分類網(wǎng)絡(luò)的特征提取器不能合理表達小目標的特征,原因在于目標的外觀信息不足,且周圍存在大量的背景干擾。為了解決這些問題,該學者構(gòu)建了背景感知模塊加強對背景的感知,但該算法與Yolo v3相比也并未取得較大的領(lǐng)先,所以難以達到實際使用要求。
基于上述主流目標檢測算法的優(yōu)缺點,并且考慮到現(xiàn)有算法只利用可見光圖像進行檢測,由于這種單一的圖像輸入模式,明亮場景與暗光場景對目標檢測的效果會產(chǎn)生巨大的差異。在暗光場景下,傳統(tǒng)相機傳感器接收到的光線不足,使得目標與背景之間無法準確區(qū)分,嚴重影響了檢測器的性能。因此本文針對小目標和密集人群檢測效果不佳及暗光場景下目標背景間難以區(qū)分的問題對Yolo v5進行改進,首先對主干網(wǎng)絡(luò)進行修改,利用Lite-HRNet[9]高分辨率特征網(wǎng)絡(luò)增加高分辨率的特征層來提高對小目標和密集人群的檢測精度。其次為了提高檢測速度取消融合層中復雜的融合結(jié)構(gòu),并且對邊界框損失函數(shù)進行改進以提高回歸速度和精度。然后為了充分發(fā)揮可見光圖像與紅外圖像的互補優(yōu)勢,在輸入端使用動態(tài)加權(quán)融合的方式將可見光圖像與紅外光圖像進行輸入。最后利用小目標數(shù)據(jù)增強算法對數(shù)據(jù)集進行樣本擴充,并且考慮到算法應用場景的特殊性,使用二分K-means算法來選取更為合適的錨框。實驗結(jié)果表明該算法在檢測速度基本不變的情況下,對密集目標和小目標的檢測精度明顯提升,滿足實際應用需求。
Yolo作為單階段算法的代表作之一,Yolo v3是Redmon等所提出的最后一個算法,在其退出計算機視覺領(lǐng)域之后,有學者提出了Yolo v5算法,其主要由輸入層、主干網(wǎng)絡(luò)層、特征融合層和檢測層組成,網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。作為目前最新的Yolo系列算法,Yolo v5算法采用了CSPDarknet53作為主干網(wǎng)絡(luò),其中包含了兩種CSP(cross stage partial)[10]結(jié)構(gòu),解決了主干網(wǎng)絡(luò)中的梯度信息重復問題,將梯度的變化集成到特征圖中,在保證檢測精度和檢測速度的同時減少了運算量。Yolo v5算法在較深的主干網(wǎng)絡(luò)中使用了帶有殘差模塊的CSP1_X結(jié)構(gòu),可以避免梯度消失導致網(wǎng)絡(luò)退化的問題,而為了減少計算量將帶有普通卷積的CSP2_X結(jié)構(gòu)在特征融合層中使用。
Yolo v5網(wǎng)絡(luò)在頭部增加了圖像切片(Focus)結(jié)構(gòu),將1張圖片按照像素點分成4張,長寬縮小兩倍,通道數(shù)增加至原來的4倍,提高了檢測速度。Yolo v5在尾部還增加了空間金字塔池化(spatial pyramid pooling,SPP)結(jié)構(gòu),其主要作用是擴大感受野來解決特征圖與錨框的對齊問題。Yolo v5的融合網(wǎng)絡(luò)由特征金字塔網(wǎng)絡(luò)(feature pyramid networks,F(xiàn)PN)和路徑聚合網(wǎng)絡(luò)(path aggregation networks,PAN)組成,F(xiàn)PN可以增強算法對不同尺度目標的檢測性能。但是其單一自上而下的融合方式忽略了重用底層特征圖中的信息,加入的PAN采用自下而上的融合結(jié)構(gòu),改善了底層信息的傳播,豐富了整個特征信息層次。
在Yolo v3網(wǎng)絡(luò)中,正樣本匹配方式是最大交并比(intersection over union,IoU)[11]策略,并且一個真實框只能對應一個錨框,極易造成正負樣本失衡,使得正樣本錨框梯度下降,最終導致算法收斂速度過慢。而Yolo v5網(wǎng)絡(luò)利用增加正樣本錨框的方法來代替最大交并比的匹配策略,將靠近中心點的兩個鄰近網(wǎng)格同時作為該真實框的正樣本錨框,利用該方法將正樣本數(shù)量提升至3倍,大大提升了模型的收斂速度。
Yolo v5中使用GIoU[12]來解決預測框A與真實框B不相交時,IoU損失為0的問題。公式如下:
式中:Ac表示預測框A與真實框B的最小外接矩形的面積;u表示框A與B相交的面積。
但在實際使用過程中還存在一些不足,Zheng等[13]經(jīng)過研究發(fā)現(xiàn)網(wǎng)絡(luò)會優(yōu)先選擇擴大預選框的面積而不是移動預選框來覆蓋真實框。為解決這些問題,提出DIoU(distance-IoU)的思想,公式如下:
式中:ρ2(b,bgt)為A與B中心點之間的距離,gt表示真實框;c2為A與B最小外接矩形的對角線。
相比GIoU,DIoU直接限制了最小外接矩形的面積,這使得網(wǎng)絡(luò)更傾向于移動預選框而不是擴大預選框。但是當兩個框的中心點重合時,c2與ρ2(b,bgt)的值都不變,所以又在DIoU中加入了長寬比提出了CIoU(complete-IoU)[13]的思想,公式如下:式中:a為權(quán)重系數(shù);v指的是預測框和實際框長寬比的差異,如果一致則v=0。
CIoU考慮到了邊界框回歸時的重疊面積、中心點距離和縱橫比,但由于縱橫比描述的是一個相對值,在計算時存在不確定性。因此本文采用Zhang等提出的EIoU(efficient-IoU)[14],公式如下:
式中cw和ch分別表示寬和高。
EIoU的損失分為3個部分,分別是重疊損失、中心距離損失和寬高損失。將縱橫比的損失拆分成預測的寬高分別與最小外接框?qū)捀叩牟钪担粌H解決了寬高比的不確定性還加快了收斂速度。文獻[15]中提出在損失函數(shù)IoU中引入超參數(shù)α,提出了一種新的alpha-IoU損失函數(shù),公式如下:
在選擇合適的α時可以改進檢測器的性能,這種加權(quán)的方式不僅為實現(xiàn)不同邊界框的回歸精度提供了很大的靈活性,并且不會引入額外的參數(shù)。因此本文也在EIoU中引入超參數(shù)α,改進之后的損失函數(shù)公式為
紅外相機的工作原理是接收紅外輻射,而紅外輻射具有較強的穿透性,甚至可以克服部分障礙而探測到目標,具有較大的作用距離和較強的抗干擾性,所以對于因距離遠而導致尺度小的目標具有較好的捕捉能力。在不同的場景下,可見光圖像與紅外圖像也體現(xiàn)出了較大的差異,例如白天光照充足或者出現(xiàn)熱量交叉的情況下可見光圖像保留了更多的細節(jié)信息,但是在暗光場景下紅外圖像可以不受目標顏色和尺度變化的影響,甚至在完全漆黑、煙霧、惡劣天氣和眩光等具有挑戰(zhàn)性的場景中,也可檢測并區(qū)分行人、騎行者和機動車輛,彌補了傳統(tǒng)相機在暗光場景下的弱感知力的問題。為了發(fā)揮兩者的互補優(yōu)勢得到更好的檢測效果,本文設(shè)計了動態(tài)權(quán)重分配策略,根據(jù)圖像灰度值的離散程度來分配權(quán)重,始終將較高的權(quán)重分配到目標與背景對比度較大的圖片中。如圖2所示,可見光圖像中目標與背景之間的對比度較低,目標與背景之間沒有形成顯著的區(qū)分,且灰度分布相對集中。紅外圖像中目標與背景之間對比鮮明,且細節(jié)處紋理清晰,通過灰度離散圖可以看出灰度值分布均勻。
對此本文使用標準差函數(shù)來量化圖像灰度值的離散程度,首先計算大小為A×B的圖片灰度平均值,然后根據(jù)式中的灰度平均值進一步計算灰度的標準差,公式如下:
式中:x(i,j)表示圖片中像素點為(i,j)的灰度值;arg表示圖片灰度平均值;σ表示圖片灰度標準差。
為了標準化權(quán)重分配,將可見光圖像和紅外圖像的標準差進行歸一化,記可見光圖像的權(quán)重為Wrgb,紅外圖像的權(quán)重為Wip,公式如下:
式中:σrgb表示可見光圖像的灰度標準差;σip表示紅外圖像的灰度標準差。
輸入端結(jié)構(gòu)如圖3所示。分別計算兩張圖片的標準差并歸一化權(quán)重,然后根據(jù)權(quán)重進行線性融合,將融合后的圖像輸入到算法中,這樣可以充分發(fā)揮紅外圖像和可見光圖像的互補優(yōu)勢。
在自動駕駛領(lǐng)域,小目標包含道路中的小動物、行人等小目標,也泛指由于距離較遠而導致的小尺度目標。由于這類目標在圖片中占用的像素點較少,現(xiàn)有的算法難以準確地將其與背景區(qū)分導致檢測效果不盡人意。又由于Yolo v5算法的主干網(wǎng)絡(luò)經(jīng)過了多次下采樣,導致低分辨率特征圖中的細節(jié)信息大量丟失。而高分辨率的特征圖中含有較多的細節(jié)信息,并且擁有的較小感受野可以更好地識別小目標,所以增加一層高分辨率的檢測層對提升小目標的檢測效果有著至關(guān)重要的作用。為得到高分辨率特征圖本文采用高分辨率HRNet[16]網(wǎng)絡(luò)對主干網(wǎng)絡(luò)進行改進,該方法由4個階段組成,從高分辨率的卷積開始作為第1階段,然后逐步增加高分辨率到低分辨率的子網(wǎng),將多分辨率子網(wǎng)進行并行連接,并且在每個階段都進行各個分辨率之間的信息融合,使每一個高低分辨率的表征都從其他并行連接中反復提取信息來實現(xiàn)信息增強。因此HRNet網(wǎng)絡(luò)可以保持一條高分辨率特征層用于小目標的檢測,而不是使用低分辨率網(wǎng)絡(luò)通過上采樣恢復成高分辨率網(wǎng)絡(luò),但由于自動駕駛場景中的實時性也同樣重要,本文對HRNet網(wǎng)絡(luò)進行輕量化處理。受輕量化網(wǎng)絡(luò)ShuffleNet[17]的啟發(fā),將高效置換模塊嵌入到HRNet網(wǎng)絡(luò)中。又由于置換模塊重度使用1×1卷積造成的計算量過大,引入一種輕量化條件通道加權(quán)來替換1×1卷積,結(jié)構(gòu)如圖4所示。
圖中H是交叉分辨率加權(quán)函數(shù)。由于第s個階段有s個并行分辨率,以及權(quán)重映射W1、W2、W3、W4,分別為對應的分辨率。使用輕量級函數(shù)H計算多個并行分支的通道權(quán)重,使用該權(quán)重進行通道、分辨率之間的信息交換,映射公式如下:
式中{X1,...,Xs}是s分辨率的輸入映射,X1對應最高分辨率,Xs對應第s個最高分辨率。
圖中F是指空間加權(quán)函數(shù),函數(shù)實現(xiàn)為:Xs-GAP-ReLU-Sigmoid-Ws,全局平均池化算子(GAP)的作用是從所有位置收集空間信息。為了探究使用條件通道加權(quán)替換前后模型的大小變化,使用10億次浮點運算(GFLOPs)和浮點運算數(shù)量(Params)來量化模型的大小,分別將替換前后的網(wǎng)絡(luò)在flir測試集中進行測試,實驗結(jié)果如表1所示。從表中可以看出替換后的網(wǎng)絡(luò)復雜度減少了50%,由此可得使用條件通道加權(quán)可以顯著加快網(wǎng)絡(luò)的運行速度。
表1 使用條件通道加權(quán)替換前后模型大小對比
Yolo v5的檢測層使用了FPN結(jié)構(gòu)。文獻[18]中指出FPN的成功在于它分而治之地解決了多尺度目標檢測問題,而不是它的多尺度特征融合。最深一層的特征包含了足夠多的上下文信息來檢測中大尺寸的目標。如圖5所示,圖(a)在平均檢測精度幾乎一樣的情況下計算量卻遠大于圖(b)。最深的C5層攜帶了足夠的上下文信息來檢測中大尺寸的目標,這使得多尺度特征融合遠遠不如分治重要。
因此本文引入一種新的方法來優(yōu)化Yolo v5算法,由于主干網(wǎng)絡(luò)中已經(jīng)進行了充分的特征融合,所以后續(xù)不再使用復雜的多尺度融合方法,而是直接使用主干網(wǎng)絡(luò)中的多尺度輸出,這樣可以保證中大尺寸目標的檢測性能基本不變的情況下降低網(wǎng)絡(luò)復雜度,進而減少運算量。但是低分辨率的特征難以準確將小目標與背景進行區(qū)分造成漏檢。為避免這個問題,本文在原有3層檢測層的基礎(chǔ)上利用主干網(wǎng)絡(luò)中的高分辨率特征層增加一層針對小目標的特征檢測層。高分辨率的特征圖有著較多的細節(jié)信息和較小的感受野,有利于準確地將小目標與背景進行區(qū)分,改進后網(wǎng)絡(luò)結(jié)構(gòu)如圖6所示。
由于本文網(wǎng)絡(luò)適用場景的特殊性,使用大型通用數(shù)據(jù)集難以衡量本文網(wǎng)絡(luò)的性能。因此本文使用flir紅外數(shù)據(jù)集,該數(shù)據(jù)集提供了可見光圖像和對應的紅外圖像,數(shù)據(jù)是通過安裝在車上的普通相機和熱成像相機真實錄制的,共包含14 000張圖片,其中60%為日間場景,40%為夜間場景。存在部分密集目標和遠小目標的情況,可以驗證本文算法的有效性,這些圖片中包含person、car、dog、bicycle、bus、truck這6個類別。對這些圖片按照8∶2進行劃分,分別作為訓練集和測試集,并且使用邊緣特征匹配方法將可見光圖像與紅外圖像對齊。
由于數(shù)據(jù)集中沒有足夠的小目標來驗證本文算法增加小目標檢測層的有效性,所以需要對數(shù)據(jù)集進行樣本增強,本文采用文獻[19]中提出的方法對數(shù)據(jù)集進行增強,解決了小目標樣本數(shù)量太少的問題。該方法在自建的小目標庫中隨機選取8個小目標,采用泊松融合的方法融合到原始圖片中,但是泊松融合存在一個嚴重的缺陷,即融合后的目標中含有背景的像素,導致目標的顏色與背景相近,但在本文算法中增加與背景顏色相近的訓練目標可以增強算法對前后景的辨別能力并提高算法的魯棒性,增強前后對比如圖7所示。
每個數(shù)據(jù)集都有各自的應用領(lǐng)域和側(cè)重點,COCO[20]數(shù)據(jù)集含有80個類別,并且多為大尺度目標,而本文中使用的flir紅外數(shù)據(jù)集只有6個類別。為得到更好的預測結(jié)果,需要選出適合flir數(shù)據(jù)集的錨框。Yolo v5網(wǎng)絡(luò)中使用的K-means[21]算法對真實框聚類生成9個錨框,但是由于K-means算法初始聚類點的隨機性,極易造成局部最優(yōu)。為得到更準確的錨框,本文采用二分K-means算法,該算法通過劃分類來克服初始點的問題。由于本文算法增加了一個新的特征檢測層,所以需要選取12個錨框,使用二分K-means得到最終的12個錨框分別為:(5,6),(7,14),(15,13),(13,26),(25,16),(34,28),(20,50),(54,21),(57,42),(46,97),(88,55),(130,78)。本文引入BPR(best possible recall)來對通過聚類得出的12個錨框進行驗證,公式如下:
式中:best recall表示最多能夠被召回的真實框數(shù)量;all表示所有的真實框數(shù)量。
BPR越接近1效果越好,計算聚類得出的12個錨框,最終得到BPR的值是0.997,表示錨框具有較強的代表性,可以滿足實驗的要求。
在本節(jié)中,將改進之后的算法與Yolov5進行比較,實驗環(huán)境、訓練細節(jié)、評價指標和實驗結(jié)果分析如下。
本次實驗基于Windows 10平臺通過Python語言實現(xiàn),使用Pytorch深度學習框架來搭建網(wǎng)絡(luò)模型,硬件環(huán)境為AMD R7 3700x CPU、32GB內(nèi)存和RTX2070顯卡。
為了找出性能提升最大的α值,在Yolo v5算法中使用α-EIoU邊界框函數(shù)進行測試,結(jié)果如圖8所示。由圖可見,當α=3時,對算法的檢測性能提升最大,達到了1.68%。
分別將Yolo v5算法和本文算法在flir紅外數(shù)據(jù)集上進行訓練。批大小設(shè)置為8,模型訓練迭代次數(shù)設(shè)置為300,初始學習率為0.001,訓練過程中采用余弦退火算法對學習率進行動態(tài)調(diào)整。訓練過程中的損失函數(shù)情況如圖9(a)所示,由于本文算法進行了輕量化操作和對損失函數(shù)的改進,可以看出修改后的算法收斂速度明顯變快,并且最終收斂之后的損失也比原算法更小。
為了驗證改進的目標檢測算法的有效性,選取準確度P(precision),召回率R(recall)、AP(average precision)、mAP@0.5(mean average precision)和檢測速度FPS(frames per second)5項指標對算法進行評價,各指標公式如下:
式中:tp表示識別為正樣本的數(shù)量;fn表示錯誤識別為負樣本的正樣本數(shù)量;fp表示錯誤識別為正樣本的負樣本數(shù)量;P表示準確率;R表示召回率;k表示類別總數(shù)。
訓練過程中的R、P和mAP@0.5變化情況如圖9所示,由于使用了高分辨率網(wǎng)絡(luò)并且增加了小目標檢測層,對小目標及密集目標的檢測效果得到了提升,使得整體檢測準確率明顯增加。
由圖9可知,本文算法的召回率、準確度和mAP@0.5相比Yolo v5均有明顯的提升。再結(jié)合表2可知,本文算法在召回率R、準確度P和mAP@0.5分別有8.74%、8.31%和7.64%的性能提升,但是由于添加的高分辨率主干網(wǎng)絡(luò)和新增的小目標檢測層使得檢測速度降低了0.62幀/s。
表2 Yolo v5算法改進前后的性能對比
為了深入探究本文算法對各個類別的影響。將Yolo v5算法與本文算法進行測試,如表3所示,可以看出本文算法在各個類別均有不同程度的提升,尤其是person、bicycle、dog,在AP(IoU=0.5)上分別有了6.74%、12.19%、10.39%的提升。這3個類別相對另外3個類別來說目標尺度較小,進一步驗證了本文改進對小目標及密集目標檢測的有效性。
表3 Yolo v5(A)和本文算法(B)的6個類別性能測試對比
選取交通場景下具有小尺度目標或密集目標的圖片,分別使用Yolo v5算法和本文算法進行檢測,并將小目標和密集目標處進行細節(jié)放大。由圖10(a)可知,圖片中第1個放大處有一位推車的男子,該目標較小且左側(cè)有其他行人遮擋。圖中第2個放大處有大量密集程度較高且距離較遠的購物人員,這兩處在Yolo v5算法中都沒有檢測出來,可以觀察到右側(cè)對比圖中的本文算法可以準確地檢測出來,并且檢測準確率均比原算法有一定程度的提高。
為了進一步驗證本文算法在雙模態(tài)輸入下的有效性,又選取了一對可見光-紅外圖像進行測試。如圖10(b),圖中第1個放大處有兩輛汽車,在可見光圖片中由于光線較暗,進行特征提取時細節(jié)信息丟失,導致原Yolo v5算法只檢測出第一輛汽車,圖中第2個放大處有兩位行人,右邊的黑色衣服行人幾乎與背景融為一體,原Yolo v5算法只檢測出其中一位。由于是夜間場景,紅外圖像分配到了較高的權(quán)重,提取到了大量的紅外信息,因此本文算法可以將兩輛汽車和兩位行人準確地檢測出來。得益于本文設(shè)計出的動態(tài)權(quán)重分配策略,充分發(fā)揮了可見光-紅外圖像之間的互補優(yōu)勢。
這兩張圖片中一共有4處細節(jié),檢測難度非常大以至于原Yolo v5算法都沒有檢測出來,作為對比的本文算法都可以準確地檢測出來,可以看出本文提出的改進方法效果是非常明顯的。
為了探究本文改進點對Yolo v5算法的提升效果,對改進點逐一進行消融實驗分析,實驗結(jié)果如表4所示。其中A表示使用改進α-EIoU作為邊界框損失函數(shù)。B表示使用改進Lite-HRNet網(wǎng)絡(luò)作為主干網(wǎng)絡(luò)。C表示在特征檢測層中取消使用特征融合。D表示使用小目標樣本增強算法。E表示使用改進二分K-meams算法對錨框進行聚類。F表示將可見光-紅外圖像使用動態(tài)權(quán)重進行融合。
由表4可見,將α-EIoU作為損失函數(shù)的算法1在mAP和FPS上均有小幅度的提升。改進主干網(wǎng)絡(luò)后的算法2在檢測精度上提升了4.46個百分點,但由于增加了主干網(wǎng)絡(luò)的復雜度,使得檢測速度降低了5.69幀/s。算法3中取消特征融合層中的復雜特征融合結(jié)構(gòu),大大減少了計算量。在檢測精度基本不變的情況下顯著提高了檢測速度。算法4中加入了小目標樣本增強算法,提升了小目標的檢測性能,由于小目標樣本量的增加,使得檢測速度降低了1.42幀/s。算法5中對錨框聚類算法進行了改進,使得聚類出的錨框具有更強的代表性,實驗結(jié)果表明檢測精度和速度均有提升。算法6中采用了可見光-紅外圖像雙模態(tài)輸入,得益于本文設(shè)計的動態(tài)權(quán)重分配策略使兩種圖像之間發(fā)揮互補優(yōu)勢,顯著提升了算法的檢測性能。本文算法檢測精度提升了7.64個百分點。
為了進一步驗證本文算法的檢測性能,將本文算法與Faster RCNN、SSD、Yolo v4、YoloX[22]、TPHYolo v5[23]、DetectoRS[24]目標檢測算法進行對比,均采用flir數(shù)據(jù)集雙模態(tài)輸入進行性能測試,同時使用mAP@0.5和FPS作為評價指標,檢測結(jié)果如表5所示。
表5 主流目標檢測算法測試結(jié)果對比
從表中可以看出DetectoRS作為兩階段算法,在檢測速度上遠遠落后于單階段算法。相反,其在檢測精度上具有明顯的優(yōu)勢,但是與主流單階段算法相比依然難以拉開較大差距,而本文算法在檢測速度遙遙領(lǐng)先的情況下檢測精度基本與其持平。本文算法在速度與精度之間取得了平衡,在滿足實時性要求的同時媲美兩階段算法的檢測精度,滿足工業(yè)應用需求。
本文中以Yolo v5目標檢測算法為基礎(chǔ),針對小目標以及密集人群檢測效果不佳和暗光場景下目標背景間難以區(qū)分的問題,使用輕量化網(wǎng)絡(luò)來作為Yolo v5算法的主干網(wǎng)絡(luò),并通過增加高分辨率的檢測層來提高小目標和密集目標的檢測效果。采用可見光-紅外圖像雙模態(tài)輸入,并通過動態(tài)權(quán)重融合策略,使得暗光場景下算法可以提取到更多的細節(jié)信息,改進特征融合來減少計算量以提高檢測速度。在flir數(shù)據(jù)集上的實驗結(jié)果顯示,本文算法在檢測速度基本不變的情況下,提高了7.64個百分點的檢測精度,且對小目標和密集目標的檢測效果改善明顯。下一步將在保證檢測精度的同時對算法進行更多的輕量化,進一步加快檢測速度,并且將該算法應用于車載嵌入式設(shè)備,使該算法得以應用于智能汽車的目標檢測中。