曾 娟,李守義,張洪昌
(1.現(xiàn)代汽車零部件技術湖北省重點實驗室,湖北 武漢 430070; 2.交通物聯(lián)網(wǎng)技術湖北省重點實驗室,湖北 武漢 430070)
人車混流和交通擁堵是中國道路交通路況的典型特征。在人車混流的環(huán)境下,駕駛員忽視外周視野區(qū)域障礙物是導致事故發(fā)生的重要原因。如果駕駛員能提前1~2 s 時間得到環(huán)境危險預警提示,則能避免90%的事故發(fā)生。目前基于機器視覺的車輛檢測技術作為道路環(huán)境感知的核心技術[1-2],較為成熟的方法為多特征融合+分類器,包括Haar-like特征、HOG(Histogram of Oriented Gradient)特征、LBP(Local Binary Patterns)特征。分類器算法常用的有Adaboost算法、SVM(Support Vector Machine)算法、貝葉斯算法等?;贖aar-like特征與Adaboost級聯(lián)分類器[3-6]組合對前向車輛具有較好的檢測效果,因為前向車輛具有對稱性、水平特征及垂直特征。HOG特征與SVM算法組合主要應用于行人檢測[7],很少在車輛檢測中使用[8-10]。劉東軍等[11]提出使用主成分分析(PCA)對Haar-like特征降維,提高檢測的實時性,但未在斜向車輛檢測中使用。
相對前向車輛而言,在換道、十字路口、對向來車等路況下斜向車輛的檢驗更具普遍意義,但是針對斜向車輛的檢測算法研究很少。Bin-Feng Lin等[12]通過在后視鏡處安裝攝像頭,通過多特征融合算法檢測相鄰車道車輛。朱彬等[13]通過分區(qū)域檢測,對斜向車輛采用多塊局部二值模式(MB-LBP)特征,相對于使用Haar-like特征具有更高的準確率。晏曉娟[14]通過建立不同角度車輛前臉的訓練樣本庫,訓練Haar-like+Adaboost分類器實現(xiàn)側后方車輛的檢測,但沒有考慮實時性的問題。
基于上述,針對斜向車輛識別問題,本研究提出陰影+邊緣特征融合算法;針對車輛檢測的實時性和準確率問題,提出 HG&HV算法進行二次檢測,即核主成分分析+Haar-like特征+HOG特征+Adaboost級聯(lián)分類器算法。在Haar-like特征提取過程中采用核主成分分析降維提高實時性,Haar-like特征+HOG特征融合提高算法準確率。
斜向車輛檢測算法具體流程如圖1所示。
圖1 斜向車輛檢測算法流程Fig.1 Flowchart of oblique vehicle detection algorithm
1.1斜向檢測區(qū)劃1.1.1斜向車輛檢測區(qū)域定義
為了更清楚定義檢測目標,本研究列出檢測范圍3種工況:工況1為相鄰車道車輛變道,如圖2(a)所示;工況2為對向車道車輛靠近過程,如圖2(b)所示;工況3為十字路口車輛 轉彎或直行過程,如圖2(c)所示。車輛B均定義為斜向車輛。
圖2 斜向車輛定義的3種工況Fig.2 Three conditions defined for oblique vehicles
1.1.2K-means聚類與Hough直線融合的車道線區(qū)劃
本研究采用K-means聚類與Hough直線融合的方式,提高車道線檢測準確率。
原始圖像根據(jù)最大類間方差法(OTSU)閾值分割轉化為二值圖像,逐行提取二值化圖像的像素點。根據(jù)式(1)、式(2)判斷像素點屬性,利用公式(3)篩選特征點,通過K-means聚類將特征點分為兩類。利用Hough直線變換,對聚類后的像素點進行直線擬合。像素點起點、終點判斷式:
R(i,j)-R(i,j-1)=255∩R(i,j)-
R(i,j+1)=0,
(1)
R(i,j)-R(i,j-1)=0∩R(i,j)-
R(i,j+1)=255,
(2)
式中,R(i,j)為二值化后圖像灰度值,istart,iend分別為起點橫坐標及終點橫坐標。像素數(shù)與攝像頭有關,本研究采用車道線寬度在5~30個像素左右[15],距離差公式:
5≤iend-istart≤30。
(3)
根據(jù)像素點的分布特點及篩選條件,確定車輛的特征點及聚類效果如圖3所示。
圖3 特征點提取Fig.3 Feature point extraction
提取特征點后,通過K-means聚類聚成兩類后,根據(jù)Hough變換實現(xiàn)車道線檢測,見圖3(a)。依據(jù)檢測結果,定義在自車兩側車道線以外的區(qū)域為目標檢測區(qū)域,效果見圖4(b)。
圖4 圖像區(qū)域劃分Fig.4 Image area division
1.2基于陰影特征與邊緣特征融合的斜向車輛初次檢測1.2.1自適應雙閾值與OTSU閾值融合的斜向車輛陰影提取
OTSU與自適應雙閾值分割算法應用于車輛檢測會存在分割效果不佳的問題。例如OTSU算法在圖像是單峰、多峰情況下無法準確分割[11];自適應雙閾值法在不良天氣條件下效果不佳[16]。
鑒于此,結合自適應閾值與OTSU的算法優(yōu)點,提出一種融合閾值分割算法。首先利用自適應閾值Threshold1排除車輛檢測區(qū)域的高亮區(qū)域及噪聲,然后將滿足條件的像素點進行OTSU閾值分割,從而實現(xiàn)車輛陰影的提取。
依據(jù)式(4)、式(5)計算圖像的均值和方差;
(4)
(5)
依據(jù)式(6)和計算得到的均值與方差,計算閾值Thresholdfirst,統(tǒng)計低于閾值Threshold1的像素點;
(6)
將高于閾值的像素點排除后,采用OTSU閾值分割得到二次閾值分割的閾值Threshold2?;叶戎敌∮陂撝档臑殛幱安糠郑笥陂撝禐楸尘安糠?。根據(jù)式(7)得到二值化圖像。
(7)
改進閾值算法與自適應雙閾值分割算法、OTSU算法作比較,3種方法得到的閾值分割效果如圖5所示。
圖5 閾值分割算法對比Fig.5 Comparison of threshold segmentation algorithms
1.2.2斜向車輛邊界的愈合處理
斜向車輛與正向車輛相比,垂直特征存在較大差異。通過提取垂直邊緣[17]作垂直邊緣直方圖,并建立愈合處理規(guī)則,從而確定斜向車輛的左右邊界。
通過垂直Sobel卷積算子,得圖像區(qū)域的垂直邊緣圖,如圖6(a)所示。根據(jù)垂直邊緣圖計算對應列垂直邊緣像素點的個數(shù)。以圖像寬度為橫坐標、以垂直邊緣像素點的個數(shù)為縱坐標作垂直邊緣直方圖,如圖6(b)所示。定義自適應閾值Thresholdj:
(8)
式中,F(xiàn)為斜向檢測區(qū)域;WidthF為斜向檢測區(qū)域的寬度;f(i,j)為斜向檢測區(qū)域垂直邊緣圖的灰度值;δ[]為克羅內克函數(shù),當[]內值相等時,δ[]函數(shù)值為1,反之為0。
直線j=Thresholdj與垂直邊緣直方圖相交,達到固定閾值Thresholdj的峰值坐標點作為車輛左右邊界的候選點,兩個對應的左右邊界點之間的距離為疑似車輛區(qū)域的寬度。
圖6 斜向車輛左右邊界提取Fig.6 Extracting left and right borders of oblique vehicle
通過閾值Thresholdj的邊界候選點篩選匹配規(guī)則如下:
規(guī)則1:若直線j=Thresholdj與直方圖的兩個相交點之間所對應的列距離超過0.6limage,則兩個相交點為左右邊界點;
規(guī)則2:若列距離小于0.3limage,則將兩個相交點合并為一個交點,合并原則為新的邊界點為縱坐標不變,橫坐標為兩個相交點橫坐標的均值,即Bnew(i,j)=(iB1+iB2,j)。
規(guī)則3:若邊界候選點Bk的相鄰列距離處于0.3limage與0.6limage之間,則認為邊界點屬于不同的車輛。
基于HOG特征與Haar-like特征的級聯(lián)分類器采取串聯(lián)的方式,從而達到更優(yōu)的效果。核主成分分析降維提高實時性。
1.3.1斜向車輛的HOG特征
(9)
(10)
將得到的梯度方向角θ在[0, 2π]內分為9個bin區(qū)間,每個bin區(qū)間包含梯度方向角40°。梯度方向角對應bin區(qū)間的梯度幅值函數(shù)為
(11)
式中,k=1, 2,…,9,Bk(i,j),為對應bink區(qū)間的梯度幅值。每個像素點(i,j)都能通過上述式(11)得到一個k維向量,梯度方向直方圖如圖7所示。
圖7 梯度方向直方圖Fig.7 Gradient direction histogram
1.3.2斜向車輛的Haar-like特征
特征值計算速度與特征維度大小選取相互制約。選用Haar-like特征對車輛正臉進行特征提取,如圖8所示。由于Haar-like特征為矩形特征,其特征維度隨區(qū)域增大而增長,可使用積分圖(Viola等[19])快速計算特征值,但特征維度太大將導致計算實時性難以保證。
圖8 Haar-like特征提取示例Fig.8 Example of extracting Haar-like features
1.3.3核主成分分析對Haar-like特征的降維處理
采用核主成分分析降維的方式可將高維數(shù)據(jù)流降維到低維空間,從而提高計算速度。思路如下。
提取m個圖像特征,每個樣本特征維度為n,將其構成特征矩陣A:
(12)
高斯徑向基核函數(shù)(RBF)表達式為
(13)
計算核矩陣K的特征值λ1,λ2,…,λn及特征向量v1,v2,…,vn,并對特征值大小排序處理,而且調整相應的特征向量位置。
根據(jù)主元成分的累積貢獻率Bk,當累計貢獻率Bk達到最低限度值E=99.5%,提取前k個主成分向量v′1,v′2,…,v′k。累積貢獻率:
(14)
計算特征集A在低維空間的投影Y,利用主成分向量v′與核矩陣K即可得到Y=v′K,投影Y即為圖像特征集A的KPCA降維結果。
具體降維結果如表1所列。根據(jù)表1的結果,降維處理后,當車輛Haar-like特征維度達到86時,累積方差貢獻率達99.543%,能夠滿足車輛檢測的需要,所以選擇提取車輛圖片特征的前86維度特征進行車輛檢測。
表1 車輛Haar-like特征降維Tab.1 Dimension reduction for vehicle Haar-like features
1.3.4Adaboost級聯(lián)分類器
自適應增強學習算法(Adaboost)對訓練樣本進行訓練產(chǎn)生若干個弱分類器(迭代n次就會產(chǎn)生n個分類器),且每次訓練時訓練樣本根據(jù)上一個弱分類器結果會對訓練樣本集進行權值調整,增大錯分樣本權重,降低正確分類樣本權重,提高下一次迭代的弱分類器的準確率。當錯誤率下降到一定要求或滿足迭代次數(shù)時分類器訓練結束。檢測流程如圖9所示。
圖9 多分類器檢測Fig.9 Multi-classifier detection
通過多次強分類器的訓練,將其以串行方式級聯(lián)成二級強分類器,作為最終分類判斷的依據(jù),提高分類器的分類精度。
試驗使用兩個數(shù)據(jù)集作為測試數(shù)據(jù)集:百度語義分割比賽所用視頻剪輯圖片,共298張; KITTI數(shù)據(jù)庫的圖片數(shù)據(jù),共300張。針對檢測算法改進的幾個環(huán)節(jié),設計試驗如下:
虛擬試驗1:陰影特征與邊緣特征融合的初次檢測與分類器二次檢測對比試驗;
虛擬試驗2:增加HOG特征前后Adaboost分類器效果對比;
虛擬試驗3:采用KPCA降維+多特征融合(HOG特征+Haar-like特征)+Adaboost級聯(lián)分類器與HOG+支持向量機(SVM)算法對比試驗;
虛擬試驗4:選擇3種天氣條件(晴天,陰天及雨天)對比試驗。
虛擬試驗環(huán)境為Visual Studio2015+OpenCV3.1,使用C++語言進行編程,硬件環(huán)境為戴爾靈越N4110電腦,6G內存,i3處理器,Windows7系統(tǒng)。
試驗評價標準分別為準確率、實時性、誤檢率。3個定量參數(shù)定義:
(15)
(16)
(17)
式中,N為圖片數(shù)量;ti為第i張圖片處理所需要的時間;num為矩形框總數(shù);numL為漏檢數(shù);numw為誤檢數(shù);numr為正確數(shù)。
(1)虛擬試驗1結果及分析
虛擬試驗1為本研究算法中初次檢測與二次檢測的效果對比。結果如圖10所示。圖10(a)為閾值融合分割算法檢測結果,圖10(b)為分類器二次檢測,矩形框表示檢測結果。
圖10 虛擬試驗一結果對比Fig.10 Comparison of results of virtual experiment 1
從圖10看出,初次檢測能識別斜向車輛準確率達90.1%;表2結果顯示,基于陰影特征和邊緣特征的斜向車輛的識別準確率能達到94.6%。二次檢測的檢測準確率提升4.5%。
表2 車輛檢測結果對比(虛擬試驗1)Tab.2 Comparison of vehicle test results (virtual experiment 1)
(2)虛擬試驗2結果及分析
虛擬試驗2是3種算法效果對比。算法1,采用KPCA降維+多特征融合+Adaboost機器學習算法;算法2,多特征融合+Adaboost機器學習算法;算法3,經(jīng)典的支持向量機SVM+HOG特征算法。試驗結果如圖11所示。矩形框為算法檢測結果。
圖11 虛擬試驗2結果對比Fig.11 Comparison of results of virtual experiment 2
從圖11看出,算法1在車輛檢測中框選車輛準確;算法3存在多個車輛檢測為同一輛車的情形。表3結果顯示:算法2與算法3相比,誤檢率降低5.2%,準確性提高2.5%,說明多特征融合+Adaboost能明顯提高檢測準確率,但是實時性指標(檢測時間)沒有改善;算法1和算法2相比,準確性和誤檢率相差不大,檢測時間減少15 ms,說明采用核主成分分析降維后,實時性指標改善明顯;算法1與算法3相比,誤檢率降低5.1%,準確性提高1.1%,但是檢測時間減少16 ms,綜合檢測效果最佳。
表3 三種算法的車輛檢測結果對比(虛擬試驗2)Tab.3 Comparison of vehicle detection results of 3 algorithms (virtual experiment 2)
(3)虛擬試驗3結果及分析
虛擬試驗3是增加HOG特征前后分類器效果對比。
采集Adaboost訓練過程中的準確率與虛警率(被錯分的幾率)數(shù)據(jù),繪制出ROC曲線。分類器2:HOG+Haar-like+Adaboost分類器;分類器1:Haar-like+Adaboost分類器。從圖12可以看出,分類器2曲線位于分類器1上方,即分類器2訓練效果準確率優(yōu)于分類器1,虛警率低于分類器2。
圖12 ROC曲線Fig.12 ROC curves
圖13 三種天氣條件下車輛檢測效果Fig.13 Vehicle detection effects under 3 weather conditions
(4)虛擬試驗4結果及分析
從圖13看出,陰天、雨天和晴天均可以檢測出斜向車輛;從表4結果分析,車輛檢測準確率均高于90%。
表4 三種天氣條件下車輛檢測結果對比Tab.4 Comparison of vehicle test results under 3 weather conditions
針對斜向車輛識別,提出融合雙自適應閾值與OTSU閾值分割算法、以及斜向車輛邊界的愈合處理規(guī)則。試驗結果顯示可有效識別斜向車輛,準確率達90%。針對檢測準確率和實時性問題,提出核主成分分析+雙特征融合+Adaboost級聯(lián)分類器算法。4組試驗結果顯示,雙特征融合+Adaboost級聯(lián)分類器對提高檢測的準確率有明顯改善;核主成分分析降維對檢測的實時性效果明顯;二者融合的綜合效果改善明顯。由于試驗采取的是靜態(tài)圖片進行測試,在實車環(huán)境下,攝像頭的安裝、車體運動、空氣中水分、光線均可對檢測結果產(chǎn)生影響。所以該組圖片的檢測結果有局限性。實車測試是下一階段的主要工作。實車環(huán)境下算法的有效性和穩(wěn)定性、精確性是后續(xù)算法改進的關鍵所在。