周士杰 徐向華
摘 要: 針對現有的前方車輛檢測系統漏檢率較高的問題,在檢測算法的不同階段提出了新的方法以降低漏檢率。在車輛特征提取階段提出了一種基于影線掃描的算法提取車輛陰影特征,找到可能包含車輛的疑似區(qū)域;在疑似區(qū)域驗證階段提出了一種多特征投票機制。通過這兩種方法,使系統在保證實時性的同時,提高了對前方車輛的檢測率。
關鍵詞: 車輛特征提取; 疑似區(qū)域驗; 影線掃描; 投票機制
中圖分類號:TP391.4 文獻標志碼:A 文章編號:1006-8228(2015)08-12-03
Study on front-view vehicle detection system based on monocular vision
Zhou Shijie, Xu Xianghua
(Hangzhou Dianzi University, Zhejiang Provincial Key Lab of Data Storage and Transmission Technology, Hangzhou, Zhejiang 310037, China)
Abstract: This paper presents a new method for monocular vision real-time vehicle detection system to reduce the detection missing rate. We extract vehicle shadow features and generate a hypothesis with a new algorithm based on shadow line scanning, then a multi-feature voting system is used to verify the hypothesis. By this way, detection system can achieve both real-time performance and high detection rate.
Key words: vehicle features extraction; hypothesis verification; shadow line scanning; voting system
0 引言
基于單目視覺的前車檢測系統使用隨車的單一攝像頭作為檢測系統的輸入設備拍攝前方場景,通過機器視覺算法對輸入的視頻流進行檢測,從而獲取前方車輛位置信息。現有的車輛檢測算法多遵循Sun Z等人于2006年提出的兩步檢測框架[1]:在特征提取(Hypothesis Generation,HG)階段,檢測系統通過車輛的先驗特征從視頻中提取出可能含有車輛的區(qū)域(Region of Interest,ROI),然后在假設驗證(Hypothesis Verification,HV)階段驗證這些區(qū)域中是否存在車輛。
HG階段的主要問題即為選擇何種先驗特征。常有的特征有對稱性特征,顏色特征,邊緣特征等,這些特征易受環(huán)境影響,導致在HG階段的漏檢。陰影特征是車輛底部的連續(xù)較暗區(qū)域[2],由于陰影區(qū)域不受直射光的影響,其亮度總是低于其鄰域。較之其他特征,在不同的行車環(huán)境中前方車輛的陰影特征總能保持其特性,因此有著較強的普適性,此外,由于陰影特征總是定位于車輛底部,通過其可以簡單地獲取車輛位置。因此現有的前車檢測系統多采用陰影特征作為特征提取階段使用的車輛先驗特征[3]。現有的車輛陰影特征提取算法采用顏色分割的方法提取圖像中連續(xù)區(qū)域的輪廓,使用Hu不變矩判斷輪廓形狀與矩形的相似度,以此來提取陰影特征并決定可能包含車輛的ROI[4]。遠方車輛的陰影區(qū)域較小且易受散射光影響,導致其陰影特征區(qū)域分布較為離散,現有算法極易發(fā)生漏檢;此外,中近距離的車輛在相對運動時易覆蓋前車,導致車輛的底部陰影發(fā)生形變。這些車輛也難以被現有算法檢測出來。
HV階段多采用基于機器學習的驗證算法。基于機器學習的方法利用特征向量對樣本進行學習,獲取分類車輛所需的決策向量[5]。由于車輛尾部近似矩形,基于Haar-like特征與Adaboost算法[6]的驗證算法得到了較多的應用。然而其實時性較差,難以滿足實際需求,此外,HG階段所提取的ROI往往部分覆蓋車輛,現有驗證算法難以對其進行分類,進一步提高了系統漏檢率。
本文采用以下兩種方法提高系統的檢測率。在提取階段,提出了一種基于影線掃描的陰影特征提取算法,通過同一陰影區(qū)域的影線相互融合來模擬基于區(qū)域的陰影特征提取算法;在驗證階段,添加一個由多種耗時較少的算法所組成的對ROI進行權值投票的機制,根據投票權值對對ROI進行分類。經實驗驗證,系統的檢測率與實時性有著明顯的提升。
1 基于影線掃描的陰影特征提取算法
針對現有算法漏檢率較高的問題,本文提出了基于影線掃描的陰影特征提取算法。使用閾值掃描圖像,提取車輛底部陰影直線,通過多條在同一陰影區(qū)域的影線的融合模擬基于區(qū)域的陰影提取。算法的中心思想是利用在同一區(qū)域的多條影線之間幾何關系進行融合,擴展區(qū)域底部影線的左右邊界,使之等同于陰影區(qū)域的寬度,模擬陰影區(qū)域特征。本算法對閾值要求較低,有實時性較高,漏檢率極低的優(yōu)點。其具體步驟如下。
⑴ 對輸入圖像進行預處理,提取算法使用的陰影閾值。
⑵ 使用陰影閾值掃描圖像,提取陰影直線集合。
⑶ 對檢測得到的集合進行融合,從而提取陰影特征,獲取可能含有車輛的ROI集合。
基于影線掃描的陰影特征提取算法如圖1所示。
[查詢圖像][閾值計算][影線提取][影線分類][影線融合] [按行掃描] [檢測結果]
圖1 提取算法流程圖
1.1 陰影灰度閾值計算
目標陰影區(qū)域總是定位于路面上,因此合適的陰影閾值需將陰影與路面分開。圖像中的路面區(qū)域的灰度分布滿足如下正態(tài)分布:
其中m為平均灰度值,σ為標準差。當陰影閾值設為m-3σ時,可以保證該閾值對路面區(qū)域與陰影區(qū)域有著良好的區(qū)分度。因此,如能得到m與σ,即可計算出算法所需的閾值。而該值可以通過對路面灰度圖進行高斯卷積求出。因此,只要得到路面灰度圖,即可得到陰影閾值。本文采用路面掃描的方法提取路面。通過水平邊緣值限定路面的邊界,自底向上掃描路面區(qū)域,得到路面圖像。通過對該圖進行高斯卷積,獲取下一步所需要的陰影閾值。
1.2 基于影線的陰影特征提取
實際場景中的陰影分布如圖2所示。
圖2 陰影特征的實際分布
圖2中,位于陰影區(qū)域底部的影線被稱為基準影線。系統提取陰影區(qū)域的目的是根據陰影區(qū)域的位置信息定位車輛,因此,如基準影線與陰影區(qū)域等寬,就可以使用其模擬陰影區(qū)域。由于周圍鄰域散射光的影響,基準影線較為破碎,難以標示陰影區(qū)域的邊界。陰影區(qū)域由不同行上的多條重疊影線組合而成,通過這些重疊的影線之間的幾何關系,可以對基準影線進行補全,從而提取陰影特征。以下是具體方法。
⑴ 影線提取與分類
使用閾值從底向上按行掃描圖像,如行上的像素點P灰度小于閾值,則認定P點為陰影點并生成影線,向右側掃描并計算當前影線的平均灰度值Dgray,直至在點S,Dgray小于閾值。若P,S點之間的距離在長度閾值之間且P到S點之間的像素均值小于其下方鄰域的均值的一半,則將從P到S的像素點視為一條基準影線;否則將其視為普通影線SLine。如S點右側5個像素點內存在陰影點I,則將從S到I點的值設為陰影閾值,重新開始掃描。
⑵ 影線融合
根據基準影線BSL與普通影線SL之間的位置關系,將在同一區(qū)域中的影線融合,以模擬車底陰影特征。根據BSL與SL的高度差HM與公共部分OverRider的長度決定是否進行融合。當len(OverRider)>0且HM<10×len(BSL)/9時,則認為普通影線FSL與基準影線BSL之間存在匹配關系。如len(OverRider)
圖6中左側為SA的提取效果,而右側為SL的提取效果。當車輛距離攝像機較遠,或被其他車輛阻擋時,傳統的陰影特征提取算法漏檢較多。其在漏檢率上的對比如表2所示。
圖6 提取效果對比圖
表2 算法漏檢率對比
[場景\&總漏檢率\&遠距漏檢\&覆蓋漏檢\&平均耗時\&SA\&SL\&SA\&SL\&SA\&SL\&SA\&SL\&a\&16.5%\&0.61%\&59.1%\&2.11%\&42.1%\&3.69%\&13.5ms\&4.6ms\&b\&15.4%\&0.79%\&21.3%\&2.67%\&31.0%\&1.6%\&12.7ms\&3.8ms\&]
從表2可以看出,基于影線融合的陰影特征提取在漏檢率方面有著非常明顯的優(yōu)勢。特別是在傳統特征提取算法表現較差的區(qū)域,本算法有著較好的檢測效果。
本文提出的投票機制(VM)與文獻[6]中使用的Haar-like+adaboost驗證算法(HA),其對比效果圖如圖7所示。