熊 輝,郭宇昂,陳超義,許 慶,李克強
(清華大學車輛與運載學院,汽車安全與節能國家重點實驗室,北京 100084)
信號燈檢測研究是先進駕駛輔助系統的重要組成部分,在傳統汽車過渡到自動駕駛汽車的過程中,起著不可或缺的作用。因此,信號燈檢測的研究受到了國內外學者的廣泛關注[1-2]。20世紀90年代初期的信號燈檢測只能通過固定位置的相機拍攝信號燈,并借助背景差分算法完成檢測功能。隨著技術的發展,現在的研究主要針對基于車載相機的動態信號燈檢測,設計特征提取器和分類器,本文中也是基于車載相機的信號燈檢測進行研究。
在基于車載視覺的信號燈檢測研究中,傳統的信號燈檢測方法主要圍繞著顏色信息和邊緣形狀等人工設計特征[3],包含梯度方向直方圖特征(HOG)[4],局部二值模式(LBP)[5]和類 Haar特征(Haar-like)[6],并利用 SVM[6]或 AdaBoost[7]等分類器進行分類。Jang等人[8]先基于形態學運算獲取信號燈連通區域,再利用提取HOG特征和SVM分類。文獻[9]中基于模糊邏輯聚類進行顏色分割,使用標記區的密度和外部鄰接區域的密度進行判別,并采用高斯分布驗證邊框內的像素是否滿足交通燈要求。雖然這些特性能夠很好地定位到信號燈,但也容易將尾燈、樹葉等背景誤判為信號燈。隨著軟硬件的快速發展,深度神經網絡展示出強大的通用物體檢測性能[10-11]。
Weber等[12]基于簡單的卷積網絡 ConvNets[13]和全連接網絡FCN[14]設計的DeepTLR網絡來檢測和分類信號燈。文獻[15]中采用實時性較好的YOLO模型用于信號燈檢測,但召回率性能有待進一步提高。
上述信號燈方法使用了SVM或Adaboost等傳統的機器學習方法和YOLO等深度學習方法,在特定場景下有較好的識別性能,但還存在以下改進空間:通用深度學習檢測算法不適合信號燈這類小物體檢測;由信號燈種類變化帶來的滑動窗口遍歷搜索的問題沒有得到較好的解決;誤識別率較高,識別性能和實時性能的平衡難度大。因此,本文中提出基于遺傳優化算法和深度學習模型的交通信號燈檢測方法,可快速準確地識別交通路口的紅綠信號燈。在已公開LISA交通信號燈[3]上進行的對比試驗說明,該方法能有效識別并清楚區分不同類別的信號燈。
本文中所提出的交通信號燈檢測方法可以分為兩部分:基于遺傳算法的信號燈候選區域生成和基于深度網絡模型的信號燈檢測方法。本文中研究重點為第一部分,由信號燈共用特征區域提取、候選區域參數采樣和候選區域參數優化3部分組成。提出方法的系統架構示意圖如圖1所示。

圖1 提出的信號燈檢測方法的架構示意圖
該方法首先借鑒圖像特征區域提取的思想,設計了針對所有信號燈光斑區域的共有特征區域提取方法,在保證低漏檢率的原則下,快速搜索交通信號燈可能存在的位置;接著在檢測到的共有區域周圍,利用重要性采樣方法,對目標候選區域參數進行初始化;再基于遺傳算法對候選區域參數進行優化,保障信號燈目標的定位精度;最終將生成的目標候選區域送入深度卷積神經網絡,過濾掉分值較低的誤檢的候選區域,即背景區域,同時獲得候選區域的分類和定位結果,從而實現交通信號燈目標的快速定位和準確分類。
針對交通信號燈,考慮不同種類信號燈所共有的特征,從而判斷當前場景中是否存在交通信號燈。通過搜索這一共有特征,可快速定位可能包含目標的信號燈矩形面板區域。不同種類的交通信號燈都包含了“光斑”這一顯著元素,如圖2所示,它具有較高的相似性和較強的分辨力,即相同類別間的方差較小,不同類別內的方差較大,便于從當前圖像幀背景中有效地辨別出交通信號燈,因此可以通過搜索信號燈光斑區域來確定可能出現信號燈的區域。

圖2 信號燈共有特征區域定義
定義信號燈共有特征區域為信號燈的光斑區域,為后續擴展信號燈整個矩形面板(包圍框)的候選區域做準備。如圖2所示,展示不同種類信號燈共有特征區域(H/3的正方形)和高度為H的整個面板區域的位置關系示意圖。若只存在一個信號燈,則光斑區域和面板區域的高度比例為1∶1。
該共有特征區域是位于信號燈上部或下部的正方形區域,正方形邊長與信號燈寬度近似相等且均約等于信號燈高度的1/3。
定義好信號燈的共有特征區域后,在保障低漏檢率的原則下,對比ACF算法[15]后,選擇使用顏色閾值分割、圖像形態學處理(膨脹,腐蝕)和連通域提取算法來快速檢測信號燈的區域,存在的誤識別可以通過后續分類步驟過濾。受攝像機性能和實際場景的約束,顏色閾值分割得到的結果并不能很好地刻畫信號燈光斑的形態,因此需要使用形態學處理方法,對圖像進行腐蝕和膨脹。經過形態學處理后,信號燈光斑就擁有了較明顯的辨識度。此時可通過連通域提取的方法找出圖像中可能存在的信號燈的共有特征區域——光斑,如圖3所示,過濾面積閾值為16個像素。信號燈光斑的標記框具有一定的幾何特征,例如光斑的標記框長寬比接近1∶1,光斑標記框的面積通常大于某一固定值。根據這些特征,可以對提取到的標記框做進一步篩選,減少無效標記框的數量。

圖3 共有特征提取示意圖(無漏檢)
信號燈候選區域由信號燈光斑通過映射模型生成。信號燈候選區域需要能充分覆蓋信號燈真實位置,因此一個信號燈光斑需要對應生成多個信號燈候選區域。圖4所示為檢測到的信號燈光斑與生成的多個信號燈候選區域之間的關系示意圖。其中白色虛線表示檢測到的信號燈光斑,白色實線B1~B5表示由光斑生成的多個信號燈候選區域,可以看到眾多的信號燈候選區域中,B1能很好覆蓋了信號燈區域。因此后續信號燈候選區域優化的目標是:生成至少一個類似B1這樣與真實目標重疊率高的候選區域。

圖4 信號燈共有特征區域與候選區域關系示意圖

式中:c為矩形目標框的中心點;lx,ly,lw,lh分別為檢測到的信號燈光斑與信號燈真值框之間的中心點橫坐標、中心點縱坐標、寬度和高度的映射參數。
根據式(1)可得4個映射參數的計算公式為

信號燈候選區域生成算法的一個關鍵點在于生成的目標候選區域框盡可能覆蓋所有可能存在信號燈的區域,這就要求參數既要有代表性,又要分布廣泛、覆蓋面大,根據式(2)計算獲得的 lx,ly,lw,lh4個映射參數的分布圖如圖5所示。常見的采樣方法有蒙特卡洛采樣、均勻采樣和重要性采樣。圖6為不同采樣方法對比結果。由圖可知,相比于均勻采樣法,重要性采樣法的樣本更多集中在高概率區域;相比于蒙特卡洛采樣法,重要性采樣法的樣本分布更加廣泛,更具有多樣性。故采用重要性采樣進行映射參數的初始化采樣。

圖 5 lx,ly,l w,l h參數分布圖
基于重要性采樣得到的映射參數的初始化采樣結果,采用遺傳算法對重要性采樣得到的參數進行迭代優化,進一步提高候選區域的召回率,這有助于在后續的檢測過程中保障交通信號燈這一前景目標的低漏檢率,從而提高檢測精度。

圖6 不同采樣方法結果分布
表1為遺傳優化算法用于候選區域參數優化。將使用重要性采樣得到的初始參數看作初始種群。種群中的每個個體是一組待優化參數pi,變量個數為4N,為減少異常數據和運行速率,每組變量有效取值范圍為圖5參數分布圖中99.5%區域(兩條虛線間);由于適應函數用來表示種群的好壞,因此將當前種群生成的信號燈包圍框與信號燈真值框的重疊率看作適應函數值。在計算適應度時,先保留重疊率大于50%的包圍框,并求出與每個真值框有最大重疊率值的包圍框,再將所篩選的包圍框的重疊率值求平均,作為個體的適應度。

表1 遺傳算法用于候選區域參數優化
根據個體的適應度,采用輪盤賭的方式選擇適合的個體,并利用MATLAB軟件自帶優化工具包中的gaoptimset和ga函數進行迭代進化:采用上面介紹的初始種群、變量范圍、選擇函數和適應度函數,以及默認的交叉函數和變異函數;遺傳優化的結束條件為到達200次的最大進化次數或連續超過50次迭代沒有進化。
通過使用遺傳算法對參數初始值進行優化,重疊率閾值為0.5時,在公開數據集的測試集上達到了91.8%的召回率(文獻[15]中YOLO_V3_1模型的最高召回率為88.91%),直觀地驗證了遺傳算法對信號燈候選區域優化的有效性。算法生成的信號燈包圍框位置更加精準,為后續信號燈分類奠定了良好的基礎。
設計一種基于深度網絡模型的信號燈分類算法,該算法參考已有研究成果[16]中的Fast RCNN融合框架,通過更改其網絡結構,使其更適合應用于信號燈分類。該算法的輸入為原始圖像和基于遺傳優化算法生成的信號燈候選區域位置,輸出為各信號燈候選區域的位置信息和類別標簽。
在原始的Fast R-CNN中目標的候選區域是通過選擇性搜索(selective search,SS)[11]方法得到的。為了更好適應交通信號燈目標的特性,本文中使用上述介紹的信號燈目標候選區域方法代替SS提取的候選區域,然后使用VGG16的深度卷積基礎網絡來計算特征圖,如圖7所示;再定位各候選區域在特征圖上對應的位置,并使用池化層將其轉換為尺度相同的特征圖;最后使用全連接層將尺度一致的特征圖拉伸成一列表示特征向量,采用Softmax回歸分類器進行目標分類,輸出包圍框和目標分類的結果。

圖7 基于深度卷積神經網絡的分類結果圖
為驗證提出的交通信號燈檢測方法的性能,使用公開的LISA信號燈數據庫訓練并測試提出的方法。該數據集是由加州大學建立并公開的應用于智能車輛視覺研究的信號燈數據集,標記有信號燈的真值框和信號燈光斑的真值框,箭頭均為左轉方向。本實驗不考慮黃燈,即本實驗將信號燈分為4類:紅色圓形信號燈、紅色箭頭形信號燈、綠色圓形信號燈和綠色箭頭形信號燈。
為對比候選區域的性能,采用通用標準[16]的召回率 重疊率曲線(Recall-IoU曲線)進行候選區域性能的評價,對比了不同參數設置下的結果。提出的方法名稱“IP-FUSION-0.2-40_union”中,IP表示信號燈共用特征區域提取方法,FUSION表示融合了HSV顏色空間,0.2表示候選區域參數初始化采樣時共有特征區域和真值框的匹配閾值,40表示遺傳優化中一個共有特征區域對應候選區域的個數。圖8為不同候選區域生成方法的對比。由圖可知,該方法平均召回率為0.630,比基準算法提高了26%。

圖8 候選區域生成方法對比
為對比分類的效果,采用精度 召回率曲線(PR曲線)進行分類結果的評價[15],選擇的基準算法為文獻[16]和文獻[17]中的最佳分類器ACF方法。對比結果如圖9所示,區域越靠近右上方性能越佳。右上方的曲線為本文中提出方法對紅色圓形信號燈、紅色箭頭形信號燈、綠色圓形信號燈和綠色箭頭形信號燈識別的單獨性能曲線,左下方的曲線為不同參數設置下ACF方法對信號燈識別的整體性能曲線。與ACF方法對比,本文中提出的方法在相同的召回率下,有更高的精度,從而驗證了該方法的有效性。

圖9 本文中方法與不同設置的ACF方法性能對比
針對傳統目標識別和現有深度學習方法用于交通信號燈檢測的缺陷,就小尺寸物體召回率效果不佳、復雜場景下目標誤檢漏檢頻繁、識別性能和實時性能的平衡難度大等挑戰性問題,綜合考慮了傳統方法和深度學習方法的優缺點,設計了結合遺傳優化算法及深度學習的目標檢測框架。
圍繞不同形狀的交通信號燈具有的共有特征區域,設計了基于遺傳優化的候選區域生成方法,由于生成的信號燈候選區域包含了信號燈背板的特征,因此避免了只考慮信號燈光斑所造成的誤識別問題,提高了信號燈檢測算法的準確度。接著,結合基于Fast R-CNN深度學習框架設計的網絡模型,通過修改網絡結構,使其更適合應用于信號燈這類小物體的分類,實現了信號燈的準確定位和分類。通過在公開交通信號燈數據庫上的實驗對比分析可知,本文中融合遺傳優化和深度學習的信號燈檢測方法的有效性是可以保證的,結論如下。
(1)設計了一種保障召回率的交通信號燈共有特征區域提取算法。由于不同種類的信號燈都具有光斑且光斑具有明顯的顏色特征,將信號燈光斑視為共有特征區域,并使用基于顏色閾值分割、圖像形態學處理和連通域提取算法的方法可以快速搜索各光斑在圖像中的位置,保障了較高的召回率。
(2)提出了一種適用于交通信號燈的基于遺傳優化的候選區域生成算法。首先,利用遺傳算法優化映射參數,擴展光斑區域,使其生成可以覆蓋整個信號燈的區域。生成的信號燈候選區域包含了信號燈背板的特征,避免了只考慮信號燈光斑所造成的誤識別問題,提高了信號燈檢測算法的準確度;再設計一種結合遺傳優化的信號燈分類算法,常用的深度卷積神經網絡不適合應用于信號燈這類小物體,基于Fast R-CNN檢測算法框架,通過修改網絡結構,融入遺傳優化生成的候選區域,使其更適合于交通信號燈這類小物體的分類。