鄭欣悅,賴際舟,呂 品,袁 誠,范婉舒
(南京航空航天大學(xué)自動(dòng)化學(xué)院,南京 211106)
近年來,隨著深度學(xué)習(xí)技術(shù)的不斷發(fā)展,計(jì)算機(jī)視覺在自動(dòng)駕駛、智能機(jī)器人等領(lǐng)域得到了廣泛應(yīng)用[1]。目標(biāo)識(shí)別是計(jì)算機(jī)視覺中的重要基礎(chǔ)任務(wù)之一,通過目標(biāo)識(shí)別算法能夠得到感興趣的目標(biāo)物體在圖像中的準(zhǔn)確位置,從而為載體下一步的信息融合決策奠定基礎(chǔ),提升整體的感知與導(dǎo)航能力。
可見光圖像的成像分辨率高,能夠提供較多的紋理細(xì)節(jié)信息,且具有大規(guī)模數(shù)據(jù)集進(jìn)行算法訓(xùn)練,因此當(dāng)前的大多數(shù)目標(biāo)識(shí)別算法都是針對常規(guī)光照環(huán)境下的可見光圖像進(jìn)行識(shí)別。然而,可見光圖像容易受到環(huán)境光照影響,在弱光和黑暗環(huán)境下無法提供有效信息,不再適合作為可靠的圖像信息源。與此相比,紅外圖像具有抗干擾能力強(qiáng)、不受光照影響的特點(diǎn),能夠在弱光和黑暗環(huán)境下工作,可作為復(fù)雜光照場景下目標(biāo)識(shí)別算法的信息源[2]。
傳統(tǒng)的目標(biāo)識(shí)別算法往往采用人工特征如HOG特征[3]、SIFT特征[4]、Haar特征[5]進(jìn)行圖像特征提取,并采用線性分類器如支持向量機(jī)(Sup-port Vector Machine,SVM)[6]進(jìn)行分類。此類方法以特定的方式對圖像的多個(gè)區(qū)域逐個(gè)進(jìn)行特征提取分類,因此識(shí)別速度相對較慢且泛化性能不足。近年來,基于深度學(xué)習(xí)的目標(biāo)識(shí)別方法采用卷積神經(jīng)網(wǎng)絡(luò)作為自適應(yīng)特征提取模塊,能夠達(dá)到更好的識(shí)別性能。當(dāng)前的主流目標(biāo)識(shí)別算法主要分為兩階段目標(biāo)識(shí)別與單階段目標(biāo)識(shí)別。兩階段目標(biāo)識(shí)別算法首先生成候選區(qū)域,在此基礎(chǔ)上進(jìn)行檢測框的預(yù)測,具有代表性的算法有R-CNN(Region CNN)[7]、Fast R-CNN[8]和Faster R-CNN[9]等。然而,由于此類算法將目標(biāo)識(shí)別任務(wù)分為了兩個(gè)階段,因此整體檢測速度較慢。針對此問題,單階段目標(biāo)識(shí)別算法在原始圖像上直接進(jìn)行檢測框的生成與回歸,有效提高了目標(biāo)識(shí)別算法的實(shí)時(shí)性,具有代表性的算法有SSD(Single Shot MultiBox Detector)[10]和Yolo(You Only Look Once)[11]等。此類基于深度學(xué)習(xí)的目標(biāo)識(shí)別算法通常需要大量的數(shù)據(jù)進(jìn)行神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,否則往往會(huì)陷入過擬合,無法應(yīng)用在實(shí)際環(huán)境中。為進(jìn)一步提高目標(biāo)識(shí)別算法的泛化性能,文獻(xiàn)[12]提出了數(shù)據(jù)增強(qiáng)概念,在原始圖像數(shù)據(jù)上進(jìn)行多種幾何變換與色彩變換,在數(shù)據(jù)量一定的情況下有效提升了最終算法性能。對于紅外目標(biāo)識(shí)別算法,算法訓(xùn)練數(shù)據(jù)往往難以獲得,因此通過數(shù)據(jù)增強(qiáng)手段進(jìn)行數(shù)據(jù)集的擴(kuò)充是提高數(shù)據(jù)訓(xùn)練效果的一種有效手段。
針對圖像的目標(biāo)識(shí)別算法僅能夠獲取目標(biāo)物體在二維平面圖像中的位置,無法得知該物體的實(shí)際尺度。因此,若要估計(jì)物體的相對位置和絕對位置,還需通過測距手段獲取其與載體的相對距離。激光雷達(dá)根據(jù)激光器發(fā)射的脈沖激光反射成像進(jìn)行相對測距,精度能夠達(dá)到厘米級。因此,將相機(jī)與激光雷達(dá)進(jìn)行數(shù)據(jù)融合,可以獲得目標(biāo)物體的尺度信息,從而對其相對位置進(jìn)行解算。然而,激光雷達(dá)的點(diǎn)云信息相對紅外圖像較為稀疏,無法得到稠密的深度圖像。此外,由于激光雷達(dá)在垂直方向上的掃描范圍有限,部分圖像上會(huì)出現(xiàn)深度缺失。針對該問題,文獻(xiàn)[13]采用多個(gè)激光雷達(dá)數(shù)據(jù)融合的方式,但增加了設(shè)備成本與體積。文獻(xiàn)[14]利用激光雷達(dá)時(shí)間序列數(shù)據(jù)進(jìn)行點(diǎn)云融合,進(jìn)而進(jìn)行深度估計(jì),但其存在一定的時(shí)間延遲。
本文一方面針對紅外圖像訓(xùn)練數(shù)據(jù)較為稀缺的問題,引入部分可見光圖像進(jìn)行算法訓(xùn)練,進(jìn)而遷移到紅外圖像領(lǐng)域;同時(shí)提出了基于Reinhard顏色遷移的數(shù)據(jù)增強(qiáng)方法,降低了可見光圖像與紅外圖像之間的色域差異,從而提高了算法模型的遷移能力。另一方面,針對紅外圖像與激光雷達(dá)數(shù)據(jù)融合后深度圖較為稀疏的問題,本文在單目視覺深度估計(jì)的基礎(chǔ)上,利用激光雷達(dá)的深度數(shù)據(jù)對其進(jìn)行修正,從而獲取準(zhǔn)確的稠密深度圖,提高了對小目標(biāo)的相對定位能力。
傳統(tǒng)的Yolov3算法往往不考慮不同域的數(shù)據(jù)分布特點(diǎn),對于訓(xùn)練數(shù)據(jù)僅采用較少的色域變換。因此,若使用此增強(qiáng)方法變換后的圖像到本文所針對的紅外目標(biāo)識(shí)別領(lǐng)域,將無法為算法提供充分的有效圖像信息。因此,本文在傳統(tǒng)Yolov3算法的基礎(chǔ)上,引入基于Reinhard顏色遷移的數(shù)據(jù)增強(qiáng)方法。在訓(xùn)練階段,對額外的可見光數(shù)據(jù)進(jìn)行特定色域變換,并送入所搭建的特征提取網(wǎng)絡(luò)進(jìn)行算法訓(xùn)練,從而確定待識(shí)別目標(biāo)物體在圖像中的位置。整體算法流程如圖1所示。
圖1 基于Reinhard數(shù)據(jù)增強(qiáng)的紅外目標(biāo)識(shí)別算法流程
為有效提取紅外圖像中待識(shí)別物體的特定特征,本文搭建如圖2所示的特征提取網(wǎng)絡(luò)。其主要由卷積層和殘差塊組成,并在卷積層后增加批量歸一化層與激活函數(shù)層。卷積層主要是為了實(shí)現(xiàn)高效特征提取,增大感受野;批量歸一化層用來加速與穩(wěn)定訓(xùn)練;激活函數(shù)層用來提高網(wǎng)絡(luò)的非線性擬合能力。
圖2 紅外目標(biāo)識(shí)別特征提取網(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個(gè)殘差塊,這樣可以在保證網(wǎng)絡(luò)特征提取能力的同時(shí)依然保持高效的梯度信息傳輸,使得網(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個(gè)尺度的特征圖,實(shí)現(xiàn)對不同尺度目標(biāo)的識(shí)別。后續(xù)經(jīng)過上采樣操作后進(jìn)行特征融合,實(shí)現(xiàn)淺層特征層融合深層語義信息,進(jìn)一步提高了算法多尺度目標(biāo)識(shí)別的能力。
在目標(biāo)識(shí)別領(lǐng)域,紅外圖像數(shù)據(jù)源較為稀缺。若僅使用已有的紅外圖像數(shù)據(jù)進(jìn)行算法訓(xùn)練,通常不具備良好的遷移能力,實(shí)際環(huán)境應(yīng)用效果較差。因此,本文采用Reinhard顏色遷移算法,在可見光數(shù)據(jù)上進(jìn)行數(shù)據(jù)增強(qiáng)處理,增加訓(xùn)練數(shù)據(jù)的多樣性,從而提高算法的實(shí)際遷移能力。
Reinhard顏色遷移算法通過計(jì)算源圖像與目標(biāo)圖像之間的顏色特征,確定一個(gè)線性變換,使得源圖像與目標(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ù)分布差異,擴(kuò)充訓(xùn)練數(shù)據(jù)集。
對于特征提取網(wǎng)絡(luò)輸出的3個(gè)不同尺度的特征圖,在每個(gè)網(wǎng)格上設(shè)計(jì)生成3個(gè)不同寬高比的先驗(yàn)框。對于每個(gè)先驗(yàn)框,設(shè)Px、Py、Pw、Ph為先驗(yàn)框在對應(yīng)特征圖上的中心坐標(biāo)和對應(yīng)寬高,神經(jīng)網(wǎng)絡(luò)會(huì)輸出對應(yīng)的先驗(yàn)框偏移量tx、ty、tw、th。對于輸入圖片,Gx、Gy、Gw、Gh為真實(shí)框在某個(gè)特征圖上的中心坐標(biāo)和對應(yīng)寬高,則通過
(2)
即可計(jì)算出預(yù)測的邊界框與物體真實(shí)框之間的差距。具體的待優(yōu)化函數(shù)表示為
(3)
通過優(yōu)化此函數(shù)進(jìn)行反向梯度傳播,即可實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)參數(shù)的優(yōu)化更新。
傳統(tǒng)方法首先對紅外圖像數(shù)據(jù)與激光雷達(dá)點(diǎn)云數(shù)據(jù)進(jìn)行聯(lián)合標(biāo)定校準(zhǔn),得到對應(yīng)的外參矩陣,從而將點(diǎn)云數(shù)據(jù)進(jìn)行坐標(biāo)系轉(zhuǎn)換與投影。然而,通過此途徑只能得到較為稀疏的深度圖。因此,本文同時(shí)將紅外圖像數(shù)據(jù)送入單目深度估計(jì)網(wǎng)絡(luò),獲取對此圖像的深度估計(jì)。隨后,對由兩種方式獲取的深度圖進(jìn)行融合,以獲取精度較高的稠密深度圖。對于在目標(biāo)檢測模塊已獲取的目標(biāo)物體在圖像中的位置,利用視覺成像進(jìn)行坐標(biāo)解算,實(shí)現(xiàn)對該物體的絕對位置計(jì)算,整體流程如圖4所示。
圖4 紅外目標(biāo)相對定位算法流程
(4)
進(jìn)而可以通過相機(jī)內(nèi)參矩陣獲取二維深度圖像。
圖5 Velodyne 64線激光雷達(dá)投影深度圖
然而,當(dāng)激光雷達(dá)點(diǎn)云較為稀疏時(shí),僅采用插值補(bǔ)全的方法難以獲取較理想的深度圖;且對于小目標(biāo)而言,由于其體積較小,在成像平面上也占有較小的面積。在目標(biāo)檢測算法結(jié)果與雷達(dá)點(diǎn)云投影深度圖對齊后,往往有更少的深度點(diǎn)投影在物體表面。相對于大物體而言,更加難以直接進(jìn)行位置坐標(biāo)解算。因此,本文采用Monodepth2為基本的深度估計(jì)算法,對于單張圖像,該算法能夠估計(jì)出其逐像素的深度值,滿足實(shí)際的開發(fā)需求。通過對基于此算法獲取的深度圖與激光雷達(dá)點(diǎn)云投影深度圖進(jìn)行融合,得到最終的稠密深度圖,為后續(xù)的物體位置解算提供基礎(chǔ)。
設(shè)d(i,j)為深度估計(jì)算法獲取到的位置(i,j)處的深度值,則融合后的深度可表示為
(5)
其中,D(i,j)表示融合后位置(i,j)處的深度值;d1(i,j)和d2(i,j)分別表示激光雷達(dá)點(diǎn)云轉(zhuǎn)換和單目深度估計(jì)算法獲取到的位置(i,j)處的深度值;c1和c2分別表示滑動(dòng)窗口內(nèi)存在的深度值個(gè)數(shù);λ1和λ2用來控制融合占比。
設(shè)O-x-y-z為相機(jī)坐標(biāo)系,其中O為相機(jī)光心,空間中一點(diǎn)P在相機(jī)坐標(biāo)系下的坐標(biāo)為[X,Y,Z]T,若點(diǎn)P對應(yīng)成像平面上的點(diǎn)P′的坐標(biāo)為[X′,Y′,Z′]T,則
(6)
其中,f為相機(jī)焦距。
設(shè)O-u-v為像素坐標(biāo)系,其固定在成像平面上,O點(diǎn)位于圖像左上角,u軸向右與x軸平行,v軸向下與y軸平行。若像素坐標(biāo)在u軸上縮放了α倍,在v軸上縮放了β倍,且坐標(biāo)系原點(diǎn)平移了[cx,cy]T,則P′點(diǎn)坐標(biāo)與像素坐標(biāo)[u,v]T的關(guān)系為
(7)
令αf=fx,βf=fy,可得
(8)
通過齊次坐標(biāo)改寫為矩陣形式可得
(9)
其中,K為相機(jī)內(nèi)參矩陣,通過標(biāo)定獲得。以此則可以解算出待檢測物體在空間中的絕對位置坐標(biāo)(X,Y,Z),從而實(shí)現(xiàn)相對定位功能。
為驗(yàn)證本文提出算法的有效性,采用無人車在室內(nèi)與室外進(jìn)行物體識(shí)別與相對定位試驗(yàn)。試驗(yàn)場景如圖6所示,無人車搭載了??低暭t外攝像頭和Ouster32三維激光雷達(dá)。其中,紅外攝像頭能夠提供分辨率為1280×720的紅外圖像,采樣頻率25Hz;激光雷達(dá)的掃描距離為0.25~120m,垂直掃描范圍為45°,采樣頻率10Hz。試驗(yàn)過程中隨機(jī)放置目標(biāo)物體,并使用全站儀對目標(biāo)物體和無人車進(jìn)行定位,其定位精度優(yōu)于1cm,從而為算法評估提供了位置基準(zhǔn)。
圖6 無人車平臺(tái)與測試環(huán)境
對于目標(biāo)識(shí)別試驗(yàn),共設(shè)置包含手雷、彈藥箱、人、水壺、對講機(jī)、背包、槍和滅火器在內(nèi)的八類目標(biāo)物體。在數(shù)據(jù)采集階段采用紅外攝像頭進(jìn)行紅外圖像拍攝,并額外拍攝部分可見光圖像。對于紅外圖像數(shù)據(jù)劃分訓(xùn)練集與測試集,可見光數(shù)據(jù)則用于數(shù)據(jù)增強(qiáng)試驗(yàn),以此進(jìn)行算法性能分析和比較,其類別與數(shù)量如表1所示。
表1 目標(biāo)識(shí)別數(shù)據(jù)集
對于某一可見光圖像,隨機(jī)從紅外圖像中采樣作為目標(biāo)域進(jìn)行顏色遷移增強(qiáng),本文列出兩組可見光圖像、增強(qiáng)圖像以及紅外域圖像,如圖7所示。從圖7中可以看出,基于Reinhard顏色遷移后的圖像與紅外圖像更加近似,理論上能夠?yàn)樗惴ㄓ?xùn)練提供更多有效數(shù)據(jù)。
(a)原始圖像(Original image)
為驗(yàn)證本文提出的數(shù)據(jù)增強(qiáng)算法的有效性,共進(jìn)行兩組目標(biāo)識(shí)別對比試驗(yàn),分別為基礎(chǔ)數(shù)據(jù)增強(qiáng)(Basic Augmentation)試驗(yàn)和額外數(shù)據(jù)增強(qiáng)(Extra Augmentation)試驗(yàn),同時(shí)保持其他試驗(yàn)參數(shù)不變。基礎(chǔ)數(shù)據(jù)增強(qiáng)試驗(yàn)采用原始Yolov3的數(shù)據(jù)增強(qiáng)算法,額外數(shù)據(jù)增強(qiáng)試驗(yàn)采用引入Reinhard顏色遷移后的數(shù)據(jù)增強(qiáng)算法。
對于目標(biāo)識(shí)別算法的性能,采用平均精度均值(mean Average Precision,mAP)進(jìn)行衡量,mAP為各類物體識(shí)別結(jié)果的平均準(zhǔn)確度(Average Precision,AP),mAP越高,則識(shí)別效果越好。經(jīng)算法訓(xùn)練測試,mAP值如表2所示。
表2 不同數(shù)據(jù)增強(qiáng)條件下Yolov3算法識(shí)別結(jié)果
通過表2數(shù)據(jù)可以看出,在引入基于Reinhard顏色遷移的數(shù)據(jù)增強(qiáng)算法后,整體算法的mAP從0.86提升到了0.91,提升5.8%。
圖8中,前4個(gè)為室內(nèi)場景下部分物體的識(shí)別結(jié)果,后4個(gè)為室外場景下部分物體的識(shí)別結(jié)果,其中顯示的物體檢測信息分別表示類別、置信度以及在慣性測量單元(Inertial Measurement Unit, IMU)坐標(biāo)系下的(X,Y,Z)坐標(biāo)位置。
圖8 目標(biāo)識(shí)別結(jié)果與點(diǎn)云投影可視化
圖8所示為雷達(dá)點(diǎn)云投影后的效果圖,可以看出投影后點(diǎn)云在圖像中較為稀疏,且部分缺失。為驗(yàn)證深度融合算法的有效性,選取10個(gè)物體的定位結(jié)果,采用全站儀對物體的位置進(jìn)行測量作為其位置參考基準(zhǔn)。
表3 目標(biāo)相對定位誤差(*表示為小物體)
圖9 原始算法定位失效情況
通過上述試驗(yàn),可以看出:
1)對于待定位的10個(gè)物體,若僅依靠激光雷達(dá)給出的距離信息,無法對其中的較小物體進(jìn)行位置坐標(biāo)解算。而本文提出的基于稠密深度的目標(biāo)相對定位算法則有效解決了原始算法定位失效的情況,實(shí)現(xiàn)了所有物體的相對定位。
2)本文算法降低了包含小目標(biāo)在內(nèi)的物體平均定位誤差,由0.127m降低為0.110m,定位精度提高了13.4%。
本文針對黑暗和弱光環(huán)境下的目標(biāo)識(shí)別與定位任務(wù)搭建了算法平臺(tái)模型,引入可見光數(shù)據(jù)基于顏色遷移算法進(jìn)行數(shù)據(jù)增強(qiáng)處理,在此基礎(chǔ)上與激光雷達(dá)點(diǎn)云信息進(jìn)行融合以獲取物體尺度信息,從而對識(shí)別物體進(jìn)行位置解算。算法分析與試驗(yàn)結(jié)果表明:
1) 基于Reinhard顏色遷移算法增強(qiáng)后的可見光數(shù)據(jù)能夠有效應(yīng)用于紅外目標(biāo)識(shí)別算法的訓(xùn)練過程,提升了最終的目標(biāo)識(shí)別結(jié)果。
2) 基于融合后的稠密深度圖獲取的物體尺度進(jìn)行位置解算,能夠有效提升對于小目標(biāo)的定位能力,降低定位誤差。