吳 愿 薛培林 殷國棟 黃文涵 耿可可 鄒 偉
東南大學機械工程學院,南京,211189
自動駕駛車輛是在普通汽車上增加雷達、攝像頭等傳感器、控制器、執行器等裝置,通過環境感知技術獲得周圍環境中的行人、車輛等關鍵信息,使得車輛能夠像人類駕駛員一樣自動分析行駛的安全及危險狀態,合理規劃出安全的路徑并安全地到達目的地。自動駕駛車輛的最終目的是實現無人駕駛車輛。環境感知技術是自動駕駛汽車的核心技術之一,是實現無人駕駛最難的技術。國內外學者都對環境感知技術作了不同程度的研究,其研究方法主要分為基于圖像處理的方法、基于機器學習的方法和基于深度學習的方法三種。
傳統的圖像處理方法主要通過檢測目標的顏色和形狀特征來獲得目標感興趣區域。由于現實生活中RGB顏色空間對光特別敏感,因此基于顏色空間的研究主要包括Lab顏色空間[1-2]、HSV顏色空間[3-4]、YUV顏色空間[5-7]等。此類方法都是通過顏色空間的轉化提高目標與周圍環境的對比度,并通過形狀特征等提取更為精確的目標感興趣區域。
當使用傳統顏色空間方法檢測圖像上的目標時,通常會與機器學習的方法相結合以獲得目標的分類結果。機器學習的方法包括Adaboost[8-10]、支持向量機(SVM)[11-12]、人工淺層神經網絡[13]等。機器學習方法在實時性與準確率上不能滿足現實場景下的自動駕駛車輛要求。
近年來,隨著深度學習的發展,神經網絡在目標識別準確率與實時性方面表現優異。常用的神經網絡算法大概分為三類。第一類是基于區域推薦的目標識別算法,如Faster-RCNN網絡算法[14-15],該網絡由特征提取網絡、區域提取網絡(region proposal net,RPN)、目標分類網絡組成,RPN與特征提取網絡、目標分類網絡共享參數,因此產生的邊際成本非常低,該網絡對目標識別的準確率在85%左右。Faster-RCNN網絡算法雖然識別準確率高,但是實時性較差,不能滿足自動駕駛車輛實時性的要求。第二類是基于回歸的目標識別算法,例如YOLO(you only look once)網絡算法[16],YOLO網絡算法在準確率方面略差于Faster-RCNN算法,但是其實時性可以達到要求。YOLO網絡算法是直接對整個圖像劃分粗網格和生成一組目標邊界框,若網格內存在目標,則該邊界框會輸出相應的分類和定位坐標,該算法對于目標識別的準確率在80%左右。第三類是基于搜索的目標識別算法,例如Attention Net網絡算法[17],它是一種基于視覺注意力的Attention Net方法,不同于傳統神經網絡的輸入向量與權重的相加,該算法使用點積進行相似度計算得出權重,再將歸一化的權重與值加權求和得到最后的Attention值,該算法對目標識別的準確率在65%左右。
以上文獻對目標識別的研究都是針對理想環境下的目標,在現實生活中,單模態的車載彩色相機通常會受到黑夜、雪天、霧霾天等低辨識度天氣條件的影響而失效,嚴重影響人員、車輛目標識別的準確率,不能滿足自動駕駛車輛的安全性需求。為了提高低辨識度目標識別的準確性,可以將兩種不同類型的傳感器進行同一目標特征的提取,例如彩色相機與紅外相機,彩色相機能夠采集到目標的顏色信息,且分辨率較高,而紅外相機能夠采集到目標的溫度信息,所以在一定距離范圍內是互補的。文獻[18-20]對同一個目標進行多源的紅外圖像的溫度特征與可見光圖像的彩色特征提取與融合,可見光相機與紅外相機由于其自身的成像特點,在一定程度上可以實現目標特征采集的互補,提高難檢測目標的識別率。
為了提高低辨識度環境下人員、車輛識別的準確率,本文以光線昏暗的低辨識度環境下的目標為例,提出了一種利用彩色相機和紅外熱成像儀同時檢測自動駕駛目標的方案,然后利用優化后的雙模態網絡算法融合彩色相機采集到的顏色特征與紅外熱成像儀采集到的溫度特征,將融合后的特征輸入到神經網絡的分類層中,得到目標的分類和目標在圖像上的坐標。為了融合彩色圖像上的顏色特征與紅外圖像上的溫度特征,本文將單模態的YOLOv3網絡改進為雙模態的網絡算法。為了對比多種特征融合方案,本文還提出了四種主干網絡的改進模型。
YOLO網絡算法是一種一步走(One-stage)算法,即只要將一整張圖像輸入到網絡中,就能夠得到圖像上目標的分類和定位,而如Faster-RCNN這類算法是兩步走(Two-stage)算法,需要先在圖像上生成一系列的候選區域然后進行分類,因此,YOLO網絡在實時性上明顯優于Faster-RCNN網絡。實驗表明,Faster-RCNN網絡算法檢測一張圖像的速度為7幀/s,而YOLO網絡算法檢測一張圖像的速度為45幀/s,能夠滿足復雜現實場景下目標檢測的實時性要求。
YOLOv3網絡結構見圖1,可以看出YOLOv3網絡算法是將一幅圖像分割成S×S(S一般為7)的網格,如果某個目標的中心點落入這個網格中,則這個網絡就負責檢測該物體,并輸出該物體的n(n一般為2)個邊界框(bounding box,BBOX)值和置信度值(confidence scores,CS)。每一個BBOX需要預測目標類別的概率與目標在圖像中的坐標位置,坐標位置包括坐標和寬高。

圖1 YOLOv3網絡結構Fig.1 Structure of YOLOv3
YOLOv3網絡是對YOLO網絡的改進,在保證速度優勢的前提下,提高了預測精度。YOLOv3網絡的主干網絡是Darknet-53,是具有52個卷積層的特征提取網絡,此特征提取網絡借鑒了殘差網絡的做法,在一些卷積層之間設置短連接。為了提高目標識別的準確性,通常需要在特征提取網絡上增加更多的網絡層數,理論上網絡層數的增加可以提高目標識別的精度,因為神經網絡的訓練是通過網絡自主學習卷積層的參數來得到輸入與輸出的某種映射關系,使得網絡預測的輸出與實際輸出更加接近。神經網絡訓練過程中會通過前向傳播得到輸入的非線性激活值即預測值,然后通過后向傳播改進網絡的參數,在后向傳播時,為了減小預測值與實際值之間的誤差即損失函數值,需要沿著函數梯度下降的方向調整參數值。但是,在實際訓練神經網絡的過程中,隨著網絡層數的增加,損失函數會在一開始逐漸減小后而又突然增大,這是因為,隨著網絡層數的增加,神經網絡后向傳播改進參數時每一層的梯度下降越來越少,而網絡的后向傳播是一個鏈式過程,在神經網絡由后向前計算梯度時,中間某些層函數值對參數的導數特別小(趨近于零)或特別大(大于1),它們得到的乘積就會逐漸趨向零或無窮大,從而導致梯度的消失或爆炸。這就說明,神經網絡在訓練時,隨著層數的增加,后面網絡層數的訓練效果遠達不到前面網絡層數的訓練效果,這個問題可采用殘差網絡來解決。殘差網絡是由殘差塊(residual block,RB)組成的網絡,殘差塊的結構見圖2。由圖可以看出,殘差塊是由兩個卷積層和一個短連接組成,殘差塊的輸出是輸入和輸入的非線性激活函數值的和,即輸出H(x)=F(x)+x。在殘差網絡中,網絡需要學習的參數是F(x)=H(x)-x,這樣即使F(x)趨近于零,網絡層數的輸出值也能保持和輸入層的值相同,更不會出現F(x)對x的導數大于1的情況,有效防止了深層網絡出現梯度消失或梯度爆炸。

圖2 殘差塊Fig.2 Residual block
為了進一步提高目標識別的準確率,YOLOv3網絡學習Faster-RCNN網絡中的多尺度Anchor機制對目標進行檢測。YOLOv3網絡分別在3種不同尺度的特征地圖(feature map,FM)感受野上進行目標的檢測,以輸入尺寸為416×416的圖像為例,YOLOv3網絡分別向下32倍、16倍、8倍采樣,得到13×13、26×26、52×52的特征地圖感受野,每一種感受野分別應用3種不同尺度的先驗框,總共得到9種不同尺度的先驗框。這9種不同尺度的先驗框不僅能夠在目標區域選出最優的兩個邊界框進行回歸,而且可以有效提高小物體識別準確率。
單模態的YOLOv3網絡在識別正常理想環境下目標的準確率較高,在識別光線昏暗條件下目標時,由于單一模態彩色相機對目標特征采集的缺失,網絡卷積層不能提取到更多的目標特征信息,嚴重影響網絡識別的精度。為了解決這個問題,本文在自動駕駛車輛的環境感知模塊上增加另一個模態的紅外熱成像儀,此傳感器能夠采集目標特征的溫度特征信息,是對彩色相機采集的顏色特征的補充。
在神經網絡提取特征的過程中,淺層網絡提取到的是目標邊緣性的信息(如簡單的顏色、豎直的線條、橫向的線條等),到了網絡的深層才會提取到圖像上更深層次的特征,這個特征可以是圖像上的某一部分或者是完全看不懂的特征。是否在特征網絡最深層處進行融合才是最佳的融合方案是待商榷的問題。
為了將兩種模態的特征信息相融合,本文提出了一種雙模態的YOLOv3神經網絡算法,該算法分別在彩色圖像和紅外圖像上提取目標特征。如果昏暗條件下彩色圖像上的目標特征缺失而紅外圖像上同一個目標特征明顯,則神經網絡算法就能夠根據紅外圖像識別出該目標,得到預測的目標分類置信度值和BBOX值,并將結果同時繪制在兩個圖像上,該網絡結構如圖3所示。首先,雙模態YOLOv3網絡的主干網絡與其他網絡結構不變,只是將網絡的輸入改為416×416×3的彩色圖像與416×416×3的紅外圖像,其次利用Darknet-53分別提取雙模態圖像上的目標特征,然后在預測層之前將提取到的特征相融合,最后輸入到網絡分類對圖像上的目標進行分類。

圖3 雙模態YOLOv3網絡結構簡圖Fig.3 Dual YOLOv3 structure diagram
由于YOLOv3神經網絡的主干網絡會輸出3個特征圖用于后續的分類,所以為了得到同一個目標的預測信息,必須在3個特征圖輸出之前進行特征的融合,為此設計了3種融合模型。為了對比這3種模型,本文又增設了1種最淺層融合的模型。

圖4 模型一Fig.4 Model one
模型一在主干網絡的第1層進行融合函數與1×1的卷積,如圖4所示。雙模態數據集輸入到雙模態YOLO v3網絡算法中的矩陣維度為number×channels×height×width。雙模態YOLO v3網絡算法首先利用tf.concat函數將兩個模態的數據集圖像進行簡單的線性疊加,相當于將紅外模態3通道的數據集疊加到彩色數據集3通道之后,類似于變成了6通道的數據集。然后,將疊加后的6通道的數據集經過3個1×1×6卷積核函數的特征提取與激活函數,輸出圖像矩陣的維度為number×3×height×width。每一個1×1×6的卷積核進行圖像特征的提取時,1×1×6卷積核分別與圖像上某個局部區域的1×1×6的局部矩陣進行加權求和,局部區域加權求和后輸出的矩陣維度為1×1×1,單個圖像上加權求和后的矩陣維度為1×height×width。卷積操作后,圖像輸出矩陣維度為number×3×height×width,接下來進行原主干網絡的52層特征提取的操作。融合后,將所有特征繼續輸入到主干網絡接下來的卷積層中進行特征提取,并且輸入到分類層進行3種尺度感受野的目標預測。在網絡訓練過程中同樣采用反向傳播更新參數的算法,由網絡的最后一個預測層逐層向前更新參數。
模型二將雙模態的數據集同時輸入到主干網絡Darknrt-53中進行特征提取,主干網絡分別提取到圖像上部分特征之后,在主干網絡的第26層進行1×1的卷積融合,即在第一個特征圖輸出之前進行融合,如圖5所示,其中,下標rgb表示彩色圖像,下標T表示紅外圖像。在此模型中,本文首先利用主干網絡的前25層分別提取兩個模態圖像上的特征信息;然后在26層將兩個特征圖的通道數相疊加,經過前25層卷積后,兩個數據集的特征圖輸出都為number×52×52×256的矩陣,執行完tf.concat函數后,特征圖輸出為number×52×52×512,在26層進行1×1卷積核的加權求和后,特征圖輸出為number×52×52×256的矩陣,這是主干網絡的第一個特征圖的輸出矩陣;最后將融合后的輸出矩陣輸入到主干網絡剩下的卷積層中繼續進行特征提取。

圖5 模型二Fig.5 Model two

圖6 模型三Fig.6 Model three
模型三在主干網絡的26層和43層融合,即在前兩個分類層之前融合,如圖6所示。將雙模態的數據集輸入到網絡算法中進行從淺層邊緣特征到深層語義特征的提取,由于網絡算法在第26層后就要輸出number×52×52×256的特征圖,并且經過一系列卷積操作后要在此特征圖上進行目標的分類,為了對同一個目標進行分類,所以必須將兩個模態的特征在26層進行第一次1×1融合,將融合后的特征圖輸出后,與模型二不同的是,這里并沒有將融合后的特征輸入到主干網絡剩下的卷積層中進行特征提取,而是繼續分別提取雙模態數據集各自的特征,直到網絡在43層進行第二次1×1融合,輸出第二個number×26×26×512的特征圖。此后,將二次融合后的特征也重新輸入到網絡的主干網絡的卷積層中進行特征提取和最后一個number×13×13×1024特征圖的輸出。
模型四主干網絡分別提取紅外圖像和彩色圖像的整個特征,并且在每一個分類層之前相融合,如圖7所示。由于網絡會有3個不同尺度大小特征圖的輸出和后續的分類操作,所以為了預測同一個目標的分類,需要在每一個特征圖輸出之前進行融合,即雙模態數據集輸入到網絡算法中,進行淺層邊緣特征與深層語義特征提取之后,分別輸出它們第25層、42層、51層的特征圖。此模型沒有執行融合操作,只是簡單進行單模態特征提取操作。輸出的特征圖在分類卷積操作之前進行融合操作,執行三次tf.concat函數與1×1卷積融合操作,完成分類層之前的特征融合。

圖7 模型四Fig.7 Model four
為了對比這4種不同主干網絡模型的優劣,本文選取訓練集損失(train loss,Tra-loss)、驗證集損失(valid loss,Val-loss)與不同類別的平均精度(mean average precision,mAP)這三個指標進行評價。在計算每一類標簽的平均精度時,不僅可通過目標置信度是否大于閾值來判斷目標識別的準確性,還可通過預測出的BBOX與真實BBOX之間的交并比(intersection over union,IOU)來確定目標定位的準確性,即如果存在網絡預測的目標分類正確,但是目標定位偏離真實的定位,依然認為此預測值是不正確的。
目前,網絡上有很多開源的數據集,如COCO、Pascal VOC、KITTI等,但這些都是單模態的彩色圖像,紅外圖像的數據集很少。為構建用于雙模態YOLOv3網絡訓練和測試的紅外圖像與彩色圖像對,本文自主搭建了彩色和紅外數據集的同步采集系統,如圖8所示,彩色相機與紅外熱成像儀的像素數為640×480。數據集共15 475對,其中,昏暗條件下的數據5881對,正常場景下的數據9594對,只有紅外圖像上有目標特征的數據1058對。

圖8 雙模態數據集同步采集系統Fig.8 Dual data set synchronous acquisition system
由于雙模態網絡算法能夠只根據一個模態圖像上的目標特征預測出目標的分類,然后分別繪制在兩個模態的圖像上,而一個圖像上通常會有很多個目標,所以同一個目標必須出現在兩種模態圖像上的同一位置。為了配準彩色圖像與紅外圖像,數據集同步采集系統必須在時間與空間上實現同步,才能進行信息的融合。
空間上的同步就是要得到同一個目標在三維空間內坐標系、彩色相機坐標系和紅外相機坐標系之間的旋轉平移矩陣,此旋轉平移矩陣為外參。彩色相機成像原理與小孔成像類似,即彩色相機坐標系與彩色圖像坐標系之間也存在坐標轉換,類似地,紅外相機坐標系與紅外圖像坐標系之間也存在坐標轉換,此類坐標轉換矩陣為內參。得到相機的內外參就能實現紅外圖像與彩色圖像之間的配準。由于相機存在一定程度上的畸變,故在標定相機內參時還需要去畸變。設點在彩色相機坐標系中的坐標為[xlylzl]T,對應的紅外相機坐標系中的點坐標為[xcyczc]T,則有
(1)
R和T為紅外相機坐標系相對于彩色相機坐標系的旋轉與偏移矩陣。該點最后成像到像素中的坐標為[uv]T:
[uv1]T=KPc=K(RPl+T)
(2)
式中,K為相機內參。
常見的相機標定方法是張正友標定法,由于紅外相機只對溫度較敏感,傳統的張正友標定法不能標定,為了解決這個問題,本文分別在雙模態圖像上對應位置選取7個角點,計算出H矩陣,得到雙模態圖像對之間的旋轉與平移矩陣,通過旋轉與平移矩陣就能得到配準好的雙模態圖像對,如圖9所示。

圖9 配準好的雙模態圖像對Fig.9 Registered dual image pairs
為了標定雙模態數據集,本文自主研發了雙模態圖像標記系統,如圖10所示。將已經配準好的圖像上傳到系統中,就能進行標記,標記時只需要在一個模態的圖像上框出目標,選取對應的標簽,在另一個模態的圖像對應位置上就會出現相同的框和標簽。本文中設置person、vehicle、transport-vehicle三類標簽。將數據集輸入到雙模態網絡中進行訓練,標記得到的框和標簽作為真實值與網絡輸出的預測值進行比較。

圖10 雙模態圖像標記系統Fig.10 Dual image labeling system
在網絡訓練時,為了得到更好的網絡參數,將13 543對數據進行訓練,1502對數據作為網絡的驗證集,驗證網絡參數的同時微調參數值。本文一次訓練所選取的樣本數(Batch Size)為2。在網絡訓練過程中,由于數據集數目較大,若一次性地將數據集輸入到神經網絡中訓練可能會引起內存爆炸,而且如果將整個數據集輸入到網絡中進行反向計算,得到的梯度計算值差距巨大,網絡不能使用一個全局的學習率進行參數的優化。增加Batch Size能夠通過并行化提高內存的利用率,并且使得梯度的下降方向更加準確。
為了對比4種網絡模型參數的優劣,本文對同一批數據集進行30個迭代次數的訓練,前20次迭代的學習率為10-4,后10次迭代的學習率為10-6,得到每個模型不同批次的損失值,4種模型的Tra-loss損失曲線見圖11,Val-loss損失曲線見圖12。由于第一批訓練集的損失值與第二批的損失值相差太大,故舍棄第一批的值。由圖11和圖12可以看出,網絡在訓練30個批次后,第二個模型的訓練集損失值和驗證集損失值梯度下降最快,并且在第30個批次損失值最小。

圖11 訓練集損失值Fig.11 Training set loss

圖12 驗證集損失值Fig.12 Validation set loss
在計算網絡的mAP值時,本文選取兩種不同的閾值mAP_3與mAP_5,mAP_3即閾值設定為0.3,mAP_5即閾值設定為0.5,4種網絡模型得到mAP_3與mAP_5的值如表1所示。4種網絡模型在mAP_3與mAP_5下預測驗證集中正確標簽的數量與錯誤標簽的數量如表2與表3所示。由表1可以看出,模型二在mAP_3和mAP_5上明顯優于其他3個模型,在僅訓練30個批次后,模型二的mAP_3能達到59.42%,mAP_5能達到51.61%。

表1 4種模型在不同閾值下的平均精度值

表2 4種模型在mAP_3下預測正確標簽與錯誤標簽的數量

表3 4種模型在mAP_5下預測正確標簽與錯誤標簽的數量
由表2和表3可以看出,在閾值設定為0.3與0.5兩種情況下,模型二對三類標簽識別的準確數量均為最多。
單模態YOLOv3網絡對部分光線昏暗條件下人員、車輛識別的結果見圖13。雙模態模型二網絡對上述光線昏暗條件下車輛、人員識別的結果見圖14。

圖13 單模態網絡識別結果圖Fig.13 Recognition map of single-modal network

圖14 雙模態網絡識別結果圖Fig.14 Recognition map of dual network
由上述單模態與雙模態網絡的識別結果圖可以看出,雙模態網絡能夠識別出距離較遠處的目標、受到周圍環境中物體遮擋的目標、與環境對比度極低的目標,因此,雙模態網絡比單模態網絡擁有更好的檢測精度。
為了提高低辨識度環境下人員、車輛識別的準確率,本文以光線昏暗的低辨識度條件為例,提出了一種利用彩色相機和紅外熱成像儀同時檢測自動駕駛目標的方案。為了融合彩色相機采集到的顏色特征與紅外熱成像儀采集到的溫度特征,本文在單模態YOLOv3網絡算法的基礎上將網絡改進為雙模態的網絡算法。為了對比多種特征融合方案,本文還提出了4種主干網絡的改進模型。通過對比4種模型的Tra-loss與Val-loss值、mAP_3與mAP_5值、不同閾值下對3種標簽預測的正確和錯誤的數量,得出模型二最優的結論,即在主干網絡第26層融合,第一個分類層之前融合效果最好,準確率最高,其mAP值最高可達59.42%。