鄭欣悅,賴際舟,呂 品,袁 誠,范婉舒
(南京航空航天大學(xué)自動化學(xué)院,南京 211106)
近年來,隨著深度學(xué)習(xí)技術(shù)的不斷發(fā)展,計算機視覺在自動駕駛、智能機器人等領(lǐng)域得到了廣泛應(yīng)用[1]。目標(biāo)識別是計算機視覺中的重要基礎(chǔ)任務(wù)之一,通過目標(biāo)識別算法能夠得到感興趣的目標(biāo)物體在圖像中的準(zhǔn)確位置,從而為載體下一步的信息融合決策奠定基礎(chǔ),提升整體的感知與導(dǎo)航能力。
可見光圖像的成像分辨率高,能夠提供較多的紋理細(xì)節(jié)信息,且具有大規(guī)模數(shù)據(jù)集進(jìn)行算法訓(xùn)練,因此當(dāng)前的大多數(shù)目標(biāo)識別算法都是針對常規(guī)光照環(huán)境下的可見光圖像進(jìn)行識別。然而,可見光圖像容易受到環(huán)境光照影響,在弱光和黑暗環(huán)境下無法提供有效信息,不再適合作為可靠的圖像信息源。與此相比,紅外圖像具有抗干擾能力強、不受光照影響的特點,能夠在弱光和黑暗環(huán)境下工作,可作為復(fù)雜光照場景下目標(biāo)識別算法的信息源[2]。
傳統(tǒng)的目標(biāo)識別算法往往采用人工特征如HOG特征[3]、SIFT特征[4]、Haar特征[5]進(jìn)行圖像特征提取,并采用線性分類器如支持向量機(Sup-port Vector Machine,SVM)[6]進(jìn)行分類。此類方法以特定的方式對圖像的多個區(qū)域逐個進(jìn)行特征提取分類,因此識別速度相對較慢且泛化性能不足。近年來,基于深度學(xué)習(xí)的目標(biāo)識別方法采用卷積神經(jīng)網(wǎng)絡(luò)作為自適應(yīng)特征提取模塊,能夠達(dá)到更好的識別性能。當(dāng)前的主流目標(biāo)識別算法主要分為兩階段目標(biāo)識別與單階段目標(biāo)識別。兩階段目標(biāo)識別算法首先生成候選區(qū)域,在此基礎(chǔ)上進(jìn)行檢測框的預(yù)測,具有代表性的算法有R-CNN(Region CNN)[7]、Fast R-CNN[8]和Faster R-CNN[9]等。然而,由于此類算法將目標(biāo)識別任務(wù)分為了兩個階段,因此整體檢測速度較慢。針對此問題,單階段目標(biāo)識別算法在原始圖像上直接進(jìn)行檢測框的生成與回歸,有效提高了目標(biāo)識別算法的實時性,具有代表性的算法有SSD(Single Shot MultiBox Detector)[10]和Yolo(You Only Look Once)[11]等。此類基于深度學(xué)習(xí)的目標(biāo)識別算法通常需要大量的數(shù)據(jù)進(jìn)行神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,否則往往會陷入過擬合,無法應(yīng)用在實際環(huán)境中。為進(jìn)一步提高目標(biāo)識別算法的泛化性能,文獻(xiàn)[12]提出了數(shù)據(jù)增強概念,在原始圖像數(shù)據(jù)上進(jìn)行多種幾何變換與色彩變換,在數(shù)據(jù)量一定的情況下有效提升了最終算法性能。對于紅外目標(biāo)識別算法,算法訓(xùn)練數(shù)據(jù)往往難以獲得,因此通過數(shù)據(jù)增強手段進(jìn)行數(shù)據(jù)集的擴充是提高數(shù)據(jù)訓(xùn)練效果的一種有效手段。
針對圖像的目標(biāo)識別算法僅能夠獲取目標(biāo)物體在二維平面圖像中的位置,無法得知該物體的實際尺度。因此,若要估計物體的相對位置和絕對位置,還需通過測距手段獲取其與載體的相對距離。激光雷達(dá)根據(jù)激光器發(fā)射的脈沖激光反射成像進(jìn)行相對測距,精度能夠達(dá)到厘米級。因此,將相機與激光雷達(dá)進(jìn)行數(shù)據(jù)融合,可以獲得目標(biāo)物體的尺度信息,從而對其相對位置進(jìn)行解算。然而,激光雷達(dá)的點云信息相對紅外圖像較為稀疏,無法得到稠密的深度圖像。此外,由于激光雷達(dá)在垂直方向上的掃描范圍有限,部分圖像上會出現(xiàn)深度缺失。針對該問題,文獻(xiàn)[13]采用多個激光雷達(dá)數(shù)據(jù)融合的方式,但增加了設(shè)備成本與體積。文獻(xiàn)[14]利用激光雷達(dá)時間序列數(shù)據(jù)進(jìn)行點云融合,進(jìn)而進(jìn)行深度估計,但其存在一定的時間延遲。
本文一方面針對紅外圖像訓(xùn)練數(shù)據(jù)較為稀缺的問題,引入部分可見光圖像進(jìn)行算法訓(xùn)練,進(jìn)而遷移到紅外圖像領(lǐng)域;同時提出了基于Reinhard顏色遷移的數(shù)據(jù)增強方法,降低了可見光圖像與紅外圖像之間的色域差異,從而提高了算法模型的遷移能力。另一方面,針對紅外圖像與激光雷達(dá)數(shù)據(jù)融合后深度圖較為稀疏的問題,本文在單目視覺深度估計的基礎(chǔ)上,利用激光雷達(dá)的深度數(shù)據(jù)對其進(jìn)行修正,從而獲取準(zhǔn)確的稠密深度圖,提高了對小目標(biāo)的相對定位能力。
傳統(tǒng)的Yolov3算法往往不考慮不同域的數(shù)據(jù)分布特點,對于訓(xùn)練數(shù)據(jù)僅采用較少的色域變換。因此,若使用此增強方法變換后的圖像到本文所針對的紅外目標(biāo)識別領(lǐng)域,將無法為算法提供充分的有效圖像信息。因此,本文在傳統(tǒng)Yolov3算法的基礎(chǔ)上,引入基于Reinhard顏色遷移的數(shù)據(jù)增強方法。在訓(xùn)練階段,對額外的可見光數(shù)據(jù)進(jìn)行特定色域變換,并送入所搭建的特征提取網(wǎng)絡(luò)進(jìn)行算法訓(xùn)練,從而確定待識別目標(biāo)物體在圖像中的位置。整體算法流程如圖1所示。

圖1 基于Reinhard數(shù)據(jù)增強的紅外目標(biāo)識別算法流程
為有效提取紅外圖像中待識別物體的特定特征,本文搭建如圖2所示的特征提取網(wǎng)絡(luò)。其主要由卷積層和殘差塊組成,并在卷積層后增加批量歸一化層與激活函數(shù)層。卷積層主要是為了實現(xiàn)高效特征提取,增大感受野;批量歸一化層用來加速與穩(wěn)定訓(xùn)練;激活函數(shù)層用來提高網(wǎng)絡(luò)的非線性擬合能力。

圖2 紅外目標(biāo)識別特征提取網(wǎng)絡(luò)結(jié)構(gòu)
殘差塊則是在前三者的基礎(chǔ)上增加了跨層連接部分,其結(jié)構(gòu)如圖3所示。對于網(wǎng)絡(luò)輸入x,與常規(guī)的神經(jīng)網(wǎng)絡(luò)模塊需要去擬合H(x)=x不同,殘差塊只需要去擬合F(x)=H(x)-x即可,降低了網(wǎng)絡(luò)訓(xùn)練的難度。本文共設(shè)置23個殘差塊,這樣可以在保證網(wǎng)絡(luò)特征提取能力的同時依然保持高效的梯度信息傳輸,使得網(wǎng)絡(luò)能夠更快收斂。

圖3 殘差塊網(wǎng)絡(luò)結(jié)構(gòu)
對于以416×416分辨率輸入網(wǎng)絡(luò)的圖像,此網(wǎng)絡(luò)一共進(jìn)行了5次下采樣,輸出13×13、26×26、52×52這3個尺度的特征圖,實現(xiàn)對不同尺度目標(biāo)的識別。后續(xù)經(jīng)過上采樣操作后進(jìn)行特征融合,實現(xiàn)淺層特征層融合深層語義信息,進(jìn)一步提高了算法多尺度目標(biāo)識別的能力。
在目標(biāo)識別領(lǐng)域,紅外圖像數(shù)據(jù)源較為稀缺。若僅使用已有的紅外圖像數(shù)據(jù)進(jìn)行算法訓(xùn)練,通常不具備良好的遷移能力,實際環(huán)境應(yīng)用效果較差。因此,本文采用Reinhard顏色遷移算法,在可見光數(shù)據(jù)上進(jìn)行數(shù)據(jù)增強處理,增加訓(xùn)練數(shù)據(jù)的多樣性,從而提高算法的實際遷移能力。
Reinhard顏色遷移算法通過計算源圖像與目標(biāo)圖像之間的顏色特征,確定一個線性變換,使得源圖像與目標(biāo)圖像之間在lαβ色彩空間具有相同的均值和方差。因此,針對已有的可見光圖像數(shù)據(jù),可根據(jù)紅外數(shù)據(jù)對其進(jìn)行色彩空間的轉(zhuǎn)換,具體表述如下。
設(shè)可見光圖像與紅外圖像的三通道對應(yīng)均值為μsL、μsa、μsb、μrL、μra、μrb,對應(yīng)標(biāo)準(zhǔn)偏差值為σsL、σsa、σsb、σrL、σra、σrb,定義可見光圖像與紅外圖像三通道對應(yīng)的L、a、b值分別為Ls、as、bs、L′、a′、b′。則通過
(1)
即可完成對可見光圖像的色域轉(zhuǎn)換,降低其與紅外圖像色域之間的數(shù)據(jù)分布差異,擴充訓(xùn)練數(shù)據(jù)集。
對于特征提取網(wǎng)絡(luò)輸出的3個不同尺度的特征圖,在每個網(wǎng)格上設(shè)計生成3個不同寬高比的先驗框。對于每個先驗框,設(shè)Px、Py、Pw、Ph為先驗框在對應(yīng)特征圖上的中心坐標(biāo)和對應(yīng)寬高,神經(jīng)網(wǎng)絡(luò)會輸出對應(yīng)的先驗框偏移量tx、ty、tw、th。對于輸入圖片,Gx、Gy、Gw、Gh為真實框在某個特征圖上的中心坐標(biāo)和對應(yīng)寬高,則通過
(2)
即可計算出預(yù)測的邊界框與物體真實框之間的差距。具體的待優(yōu)化函數(shù)表示為
(3)

通過優(yōu)化此函數(shù)進(jìn)行反向梯度傳播,即可實現(xiàn)神經(jīng)網(wǎng)絡(luò)參數(shù)的優(yōu)化更新。
傳統(tǒng)方法首先對紅外圖像數(shù)據(jù)與激光雷達(dá)點云數(shù)據(jù)進(jìn)行聯(lián)合標(biāo)定校準(zhǔn),得到對應(yīng)的外參矩陣,從而將點云數(shù)據(jù)進(jìn)行坐標(biāo)系轉(zhuǎn)換與投影。然而,通過此途徑只能得到較為稀疏的深度圖。因此,本文同時將紅外圖像數(shù)據(jù)送入單目深度估計網(wǎng)絡(luò),獲取對此圖像的深度估計。隨后,對由兩種方式獲取的深度圖進(jìn)行融合,以獲取精度較高的稠密深度圖。對于在目標(biāo)檢測模塊已獲取的目標(biāo)物體在圖像中的位置,利用視覺成像進(jìn)行坐標(biāo)解算,實現(xiàn)對該物體的絕對位置計算,整體流程如圖4所示。

圖4 紅外目標(biāo)相對定位算法流程

(4)
進(jìn)而可以通過相機內(nèi)參矩陣獲取二維深度圖像。


圖5 Velodyne 64線激光雷達(dá)投影深度圖
然而,當(dāng)激光雷達(dá)點云較為稀疏時,僅采用插值補全的方法難以獲取較理想的深度圖;且對于小目標(biāo)而言,由于其體積較小,在成像平面上也占有較小的面積。在目標(biāo)檢測算法結(jié)果與雷達(dá)點云投影深度圖對齊后,往往有更少的深度點投影在物體表面。相對于大物體而言,更加難以直接進(jìn)行位置坐標(biāo)解算。因此,本文采用Monodepth2為基本的深度估計算法,對于單張圖像,該算法能夠估計出其逐像素的深度值,滿足實際的開發(fā)需求。通過對基于此算法獲取的深度圖與激光雷達(dá)點云投影深度圖進(jìn)行融合,得到最終的稠密深度圖,為后續(xù)的物體位置解算提供基礎(chǔ)。
設(shè)d(i,j)為深度估計算法獲取到的位置(i,j)處的深度值,則融合后的深度可表示為
(5)
其中,D(i,j)表示融合后位置(i,j)處的深度值;d1(i,j)和d2(i,j)分別表示激光雷達(dá)點云轉(zhuǎn)換和單目深度估計算法獲取到的位置(i,j)處的深度值;c1和c2分別表示滑動窗口內(nèi)存在的深度值個數(shù);λ1和λ2用來控制融合占比。

設(shè)O-x-y-z為相機坐標(biāo)系,其中O為相機光心,空間中一點P在相機坐標(biāo)系下的坐標(biāo)為[X,Y,Z]T,若點P對應(yīng)成像平面上的點P′的坐標(biāo)為[X′,Y′,Z′]T,則
(6)
其中,f為相機焦距。
設(shè)O-u-v為像素坐標(biāo)系,其固定在成像平面上,O點位于圖像左上角,u軸向右與x軸平行,v軸向下與y軸平行。若像素坐標(biāo)在u軸上縮放了α倍,在v軸上縮放了β倍,且坐標(biāo)系原點平移了[cx,cy]T,則P′點坐標(biāo)與像素坐標(biāo)[u,v]T的關(guān)系為
(7)
令αf=fx,βf=fy,可得
(8)
通過齊次坐標(biāo)改寫為矩陣形式可得
(9)
其中,K為相機內(nèi)參矩陣,通過標(biāo)定獲得。以此則可以解算出待檢測物體在空間中的絕對位置坐標(biāo)(X,Y,Z),從而實現(xiàn)相對定位功能。
為驗證本文提出算法的有效性,采用無人車在室內(nèi)與室外進(jìn)行物體識別與相對定位試驗。試驗場景如圖6所示,無人車搭載了海康威視紅外攝像頭和Ouster32三維激光雷達(dá)。其中,紅外攝像頭能夠提供分辨率為1280×720的紅外圖像,采樣頻率25Hz;激光雷達(dá)的掃描距離為0.25~120m,垂直掃描范圍為45°,采樣頻率10Hz。試驗過程中隨機放置目標(biāo)物體,并使用全站儀對目標(biāo)物體和無人車進(jìn)行定位,其定位精度優(yōu)于1cm,從而為算法評估提供了位置基準(zhǔn)。

圖6 無人車平臺與測試環(huán)境
對于目標(biāo)識別試驗,共設(shè)置包含手雷、彈藥箱、人、水壺、對講機、背包、槍和滅火器在內(nèi)的八類目標(biāo)物體。在數(shù)據(jù)采集階段采用紅外攝像頭進(jìn)行紅外圖像拍攝,并額外拍攝部分可見光圖像。對于紅外圖像數(shù)據(jù)劃分訓(xùn)練集與測試集,可見光數(shù)據(jù)則用于數(shù)據(jù)增強試驗,以此進(jìn)行算法性能分析和比較,其類別與數(shù)量如表1所示。

表1 目標(biāo)識別數(shù)據(jù)集
對于某一可見光圖像,隨機從紅外圖像中采樣作為目標(biāo)域進(jìn)行顏色遷移增強,本文列出兩組可見光圖像、增強圖像以及紅外域圖像,如圖7所示。從圖7中可以看出,基于Reinhard顏色遷移后的圖像與紅外圖像更加近似,理論上能夠為算法訓(xùn)練提供更多有效數(shù)據(jù)。

(a)原始圖像(Original image)
為驗證本文提出的數(shù)據(jù)增強算法的有效性,共進(jìn)行兩組目標(biāo)識別對比試驗,分別為基礎(chǔ)數(shù)據(jù)增強(Basic Augmentation)試驗和額外數(shù)據(jù)增強(Extra Augmentation)試驗,同時保持其他試驗參數(shù)不變。基礎(chǔ)數(shù)據(jù)增強試驗采用原始Yolov3的數(shù)據(jù)增強算法,額外數(shù)據(jù)增強試驗采用引入Reinhard顏色遷移后的數(shù)據(jù)增強算法。
對于目標(biāo)識別算法的性能,采用平均精度均值(mean Average Precision,mAP)進(jìn)行衡量,mAP為各類物體識別結(jié)果的平均準(zhǔn)確度(Average Precision,AP),mAP越高,則識別效果越好。經(jīng)算法訓(xùn)練測試,mAP值如表2所示。

表2 不同數(shù)據(jù)增強條件下Yolov3算法識別結(jié)果
通過表2數(shù)據(jù)可以看出,在引入基于Reinhard顏色遷移的數(shù)據(jù)增強算法后,整體算法的mAP從0.86提升到了0.91,提升5.8%。
圖8中,前4個為室內(nèi)場景下部分物體的識別結(jié)果,后4個為室外場景下部分物體的識別結(jié)果,其中顯示的物體檢測信息分別表示類別、置信度以及在慣性測量單元(Inertial Measurement Unit, IMU)坐標(biāo)系下的(X,Y,Z)坐標(biāo)位置。

圖8 目標(biāo)識別結(jié)果與點云投影可視化
圖8所示為雷達(dá)點云投影后的效果圖,可以看出投影后點云在圖像中較為稀疏,且部分缺失。為驗證深度融合算法的有效性,選取10個物體的定位結(jié)果,采用全站儀對物體的位置進(jìn)行測量作為其位置參考基準(zhǔn)。


表3 目標(biāo)相對定位誤差(*表示為小物體)

圖9 原始算法定位失效情況
通過上述試驗,可以看出:
1)對于待定位的10個物體,若僅依靠激光雷達(dá)給出的距離信息,無法對其中的較小物體進(jìn)行位置坐標(biāo)解算。而本文提出的基于稠密深度的目標(biāo)相對定位算法則有效解決了原始算法定位失效的情況,實現(xiàn)了所有物體的相對定位。
2)本文算法降低了包含小目標(biāo)在內(nèi)的物體平均定位誤差,由0.127m降低為0.110m,定位精度提高了13.4%。
本文針對黑暗和弱光環(huán)境下的目標(biāo)識別與定位任務(wù)搭建了算法平臺模型,引入可見光數(shù)據(jù)基于顏色遷移算法進(jìn)行數(shù)據(jù)增強處理,在此基礎(chǔ)上與激光雷達(dá)點云信息進(jìn)行融合以獲取物體尺度信息,從而對識別物體進(jìn)行位置解算。算法分析與試驗結(jié)果表明:
1) 基于Reinhard顏色遷移算法增強后的可見光數(shù)據(jù)能夠有效應(yīng)用于紅外目標(biāo)識別算法的訓(xùn)練過程,提升了最終的目標(biāo)識別結(jié)果。
2) 基于融合后的稠密深度圖獲取的物體尺度進(jìn)行位置解算,能夠有效提升對于小目標(biāo)的定位能力,降低定位誤差。