張 濤,陳萬(wàn)培,喬延婷,陳舒涵
(揚(yáng)州大學(xué) 信息工程學(xué)院,江蘇 揚(yáng)州 225009)
汽車作為人們的日常交通工具,其安全性是人們的首要關(guān)注點(diǎn)。汽車安全技術(shù)可分為主動(dòng)安全技術(shù)[1-2]和被動(dòng)安全技術(shù)[3-5]。傳統(tǒng)的汽車安全保障措施如安全氣囊是一種被動(dòng)安全技術(shù),即在發(fā)生事故時(shí)汽車才會(huì)做出相應(yīng)處理,對(duì)駕駛員和乘客進(jìn)行人身保護(hù)。相比被動(dòng)安全技術(shù),汽車主動(dòng)安全以其對(duì)事故的預(yù)測(cè)能力及事故避免能力正在飛速發(fā)展?,F(xiàn)如今,自動(dòng)駕駛技術(shù)[6-7]已經(jīng)成為汽車領(lǐng)域的大熱話題,自動(dòng)駕駛是汽車主動(dòng)安全技術(shù)十分成熟的產(chǎn)物,沒(méi)有汽車主動(dòng)安全技術(shù)的保障,自動(dòng)駕駛技術(shù)也不會(huì)存在。特斯拉公司作為世界著名的電動(dòng)能源車制造商,其汽車自動(dòng)駕駛技術(shù)的研發(fā)也走在了各車企的前面。同樣,谷歌、百度等傳統(tǒng)車企以及各高等院校也相繼投入人力和物力進(jìn)行自動(dòng)駕駛汽車的研發(fā)。由中國(guó)汽車技術(shù)研究中心舉辦的智能車大賽就是自動(dòng)駕駛技術(shù)的一次盛會(huì)。自動(dòng)駕駛由前期的輔助駕駛[8-9],發(fā)展為半自動(dòng)駕駛[10-11],并最終成為汽車完全自主控制的自動(dòng)駕駛。本文討論的Haar檢測(cè)技術(shù)[12-13]是輔助駕駛中車輛檢測(cè)的一種檢測(cè)方法,Haar檢測(cè)技術(shù)在目標(biāo)檢測(cè)中運(yùn)用相當(dāng)廣泛,但同時(shí)也顯露出檢測(cè)速度慢、實(shí)時(shí)性差的弊端。本文對(duì)Haar檢測(cè)進(jìn)行簡(jiǎn)單介紹,并提出新的檢測(cè)邏輯以改善Haar特征在車輛檢測(cè)中的應(yīng)用,對(duì)車輛檢測(cè)速度進(jìn)行一次較大的提升。
Haar檢測(cè)前期工作集中于樣本收集和分類器訓(xùn)練。樣本收集分為正樣本收集和負(fù)樣本收集,正樣本是像素清晰的車尾部圖片,負(fù)樣本是行車環(huán)境周圍非車輛圖片。樣本收集的數(shù)量越多,質(zhì)量越好,訓(xùn)練的分類器分類效果就越好。最終進(jìn)行檢測(cè)用的分類器是由多個(gè)強(qiáng)分類器級(jí)聯(lián)組成的級(jí)聯(lián)分類器,每一個(gè)強(qiáng)分類器又是由多個(gè)弱分類器組成。在進(jìn)行車輛檢測(cè)時(shí),算法接收到輸入的圖片,用一個(gè)滑窗去遍歷圖像,每一次遍歷都會(huì)進(jìn)行一次分類器訓(xùn)練,分類器通過(guò)則代表該滑窗有車,不通過(guò)代表無(wú)車;若該尺寸滑窗遍歷完整張圖片都未找到車輛,則改變滑窗大小重新遍歷檢測(cè),以此類推。車輛檢測(cè)原理如圖1所示。
圖1 車輛檢測(cè)原理
由圖1可以看出,車輛檢測(cè)算法運(yùn)行緩慢的原因在于算法進(jìn)行了大量的無(wú)效滑窗運(yùn)算。車輛在圖像中的大小受攝像頭安裝因素、車輛實(shí)際大小因素的影響,滑窗進(jìn)行運(yùn)算時(shí)由最小滑窗到最大滑窗進(jìn)行遍歷搜索,理想情況下如果存在車輛,算法可以較快給出檢測(cè)結(jié)果。但是,假設(shè)一幅圖中不存在車輛,那么算法需要運(yùn)行所有滑窗,這段時(shí)間可達(dá)幾十秒,足以帶來(lái)很多的安全隱患。
本文設(shè)計(jì)的Haar檢測(cè)提速方法,將車輛實(shí)際大小、車速以及安全距離列入算法考慮范圍,對(duì)有可能發(fā)生碰撞的區(qū)域進(jìn)行了特定滑窗運(yùn)算,非碰撞區(qū)域不進(jìn)行滑窗檢測(cè),這樣將大大提高車輛檢測(cè)速度。由于安全距離在圖像中是以像素高度這一因素來(lái)體現(xiàn),所以首先要建立實(shí)際坐標(biāo)系與像素坐標(biāo)系的映射關(guān)系,運(yùn)用相機(jī)標(biāo)定技術(shù)[14-16]在不同車速情況下快速定位到需要檢測(cè)的圖像高度范圍;由相機(jī)標(biāo)定參數(shù)可以得到需要檢測(cè)的圖像高度信息,在該區(qū)域內(nèi)設(shè)定特定的圖像檢測(cè)框進(jìn)行檢測(cè),實(shí)現(xiàn)車輛的快速定位。整個(gè)系統(tǒng)的運(yùn)行流程如圖2所示。
圖2 系統(tǒng)流程
相機(jī)標(biāo)定主要標(biāo)定俯仰角、側(cè)傾角、方向角和安裝位置幾個(gè)參數(shù),在本文提出的系統(tǒng)中,只進(jìn)行俯仰角的標(biāo)定,其他參數(shù)在安裝時(shí)按照安裝要求進(jìn)行操作,為已知參數(shù)。上文已經(jīng)提到過(guò)車輛在行駛途中,安全距離這一因素在圖像中體現(xiàn)在像素高度上,而攝像機(jī)的俯仰角對(duì)成像圖中感興趣區(qū)域的高度位置影響最大。
攝像機(jī)進(jìn)行標(biāo)定時(shí),利用標(biāo)定靶面進(jìn)行俯仰角標(biāo)定,標(biāo)定模型如圖3所示。設(shè)攝像頭在車中的安裝高度為H1,標(biāo)定靶面距離攝像頭安裝位置縱向距離為L(zhǎng),如果攝像頭安裝位置相對(duì)地面水平,即俯仰角為0°,由標(biāo)定靶面上標(biāo)定線之間的實(shí)際距離與成像圖中的像素距離可以得到圖像坐標(biāo)系與實(shí)際世界坐標(biāo)系的比例關(guān)系k,由標(biāo)定靶面與攝像頭高度差結(jié)合比例k可以計(jì)算得到標(biāo)定靶面上標(biāo)定參考線理論上在圖像中的像素坐標(biāo)系位置。
圖3 標(biāo)定模型
若攝像頭安裝存在俯仰角,則標(biāo)定靶面在成像中的像素坐標(biāo)系位置就會(huì)改變,設(shè)俯仰角為0°時(shí)標(biāo)定靶面參考線在圖像坐標(biāo)系中的高度為H,俯仰角為θ時(shí)標(biāo)定靶面參考線在圖像坐標(biāo)系中的高度為h,如圖4所示。根據(jù)H與h的差值Δh和比例k得到因俯仰角θ引起的高度偏差ΔH′,由ΔH′和標(biāo)定靶面到攝像頭距離L可以計(jì)算出俯仰角θ,其具體計(jì)算步驟見(jiàn)式(1)~式(3)。
(1)
ΔH′=Δh·k·δ,
(2)
(3)
圖4 成像模型
其中,δ為攝像機(jī)鏡頭引起的畸變系數(shù),本系統(tǒng)采用的相機(jī)畸變較小,參考線距離較近,結(jié)合實(shí)際應(yīng)用中俯仰角誤差對(duì)圖像高度選取的影響,采用同一個(gè)畸變系數(shù)進(jìn)行俯仰角標(biāo)定。
2.2.1 滑窗尺寸設(shè)定
Haar檢測(cè)的原始算法是從小尺寸滑窗到全尺寸滑窗依次遍歷,例如一幅720*480的無(wú)車圖像,需要在全圖從24*24尺寸窗口到480*480尺寸窗口遍歷檢測(cè)一遍,這樣完整的一幅圖運(yùn)算結(jié)束大約需要30 s的時(shí)間,嚴(yán)重影響了系統(tǒng)的性能。
從上述分析來(lái)看,要想提高算法的運(yùn)行速度,最根本的方法是減少不必要的滑窗運(yùn)算。法規(guī)規(guī)定,中國(guó)轎車標(biāo)準(zhǔn)寬度在1.6~1.8 m,極限情況下卡車寬度不大于2.4 m,轎車寬度不小于1.5 m。結(jié)合本系統(tǒng)的攝像頭選型分析,對(duì)前方不同縱向距離區(qū)域的橫向距離進(jìn)行了像素分析,表1給出了不同距離時(shí),根據(jù)法規(guī)規(guī)定的車寬實(shí)際需要檢測(cè)的最小車寬與最大車寬滑窗尺。
表1 檢測(cè)尺寸對(duì)照表
縱向距離/m橫向距離/m像素間距最小車寬像素最大車寬像素87.8650125217157.850097167207.837673126257.831060104
對(duì)數(shù)據(jù)進(jìn)行分析,如圖5所示??梢钥闯鰴M向距離與像素寬度近似線性結(jié)構(gòu)。在進(jìn)行滑窗檢測(cè)時(shí)可根據(jù)具體行坐標(biāo),計(jì)算出該行應(yīng)檢測(cè)的最小最大滑窗尺寸,這樣可大大減少不必要的運(yùn)算。
圖5 車寬車距關(guān)系
2.2.2 檢測(cè)區(qū)域設(shè)定
上文已經(jīng)利用減少滑窗窗口的辦法對(duì)算法進(jìn)行了提升,本節(jié)將從感興趣區(qū)域選取上對(duì)算法再次優(yōu)化,減少不必要的運(yùn)算,提升系統(tǒng)的實(shí)時(shí)性性能。Haar原始檢測(cè)算法針對(duì)全圖進(jìn)行遍歷搜索,在車載相機(jī)的圖像里,很大一部分為天空,這部分區(qū)域是不存在車輛的,如果仍然檢測(cè),將會(huì)耗費(fèi)很長(zhǎng)的時(shí)間;另一方面,車輛檢測(cè)主要針對(duì)碰撞預(yù)警算法[17-18],而非本車道行駛的車輛是不存在與本車發(fā)生碰撞危險(xiǎn)的,所以這部分區(qū)域也不列入感興趣區(qū)域檢測(cè)范圍內(nèi)。
考慮到相鄰車道會(huì)有并入車道的傾向,將車輛檢測(cè)的感興趣區(qū)域設(shè)置為1.2倍車道寬度區(qū)域,即攝像頭采集畫面中,根據(jù)本車行駛車道的車道線信息,向左右兩側(cè)延伸一定像素距離,達(dá)到提前檢測(cè)并入車道車輛的功能,實(shí)現(xiàn)提前預(yù)警。經(jīng)改善后的Haar檢測(cè)算法運(yùn)行步驟如下:
① 獲取車道線方程Line1,Line2;
② 設(shè)置感興趣區(qū)域邊界線方程Leftline,Rightline;
③ 獲取本車車速Vcar;
④ 設(shè)置感興趣區(qū)域上下邊界Rowup,Rowdown;
⑤ 設(shè)置滑窗尺寸及比例系數(shù);
⑥ 滑窗遍歷感興趣區(qū)域檢測(cè)車輛。
為了證明所提方案的可行性,系統(tǒng)進(jìn)行了實(shí)車測(cè)試,分別采集了50幀圖像對(duì)相機(jī)標(biāo)定精度和算法改善情況進(jìn)行數(shù)據(jù)分析。圖6為相機(jī)標(biāo)定精度分析,圖7為Haar檢測(cè)算法改善前后對(duì)圖像檢測(cè)時(shí)間的分析。從數(shù)據(jù)折線圖可以看出,相機(jī)標(biāo)定滿足精度要求,Haar改善算法也大大縮減了圖像檢測(cè)時(shí)間,由秒級(jí)降低到了毫秒級(jí),滿足系統(tǒng)對(duì)實(shí)時(shí)性的要求。
圖6 測(cè)量標(biāo)定數(shù)據(jù)對(duì)比
圖7 算法時(shí)間提升驗(yàn)證
通過(guò)對(duì)滑窗尺寸的設(shè)定以及興趣區(qū)域的合理劃分,將車輛檢測(cè)中Haar檢測(cè)算法做了一定的優(yōu)化,在不漏失有潛在碰撞危險(xiǎn)車輛的前提下,將原始的每幅圖30 s提升到約每幅圖200 ms,大大提高了系統(tǒng)運(yùn)行的實(shí)時(shí)性。但是,本次算法性能的提升只是針對(duì)訓(xùn)練好的分類器,如果分類器加入新樣本重新訓(xùn)練,在分類器改變的情況下也許會(huì)有實(shí)時(shí)性的損失,有待后續(xù)進(jìn)一步研究。