李 強 徐峰磊 任明武
(南京理工大學(xué)計算機科學(xué)與工程學(xué)院 南京 210094)
基于投影變換的快速行道線檢測?
李 強 徐峰磊 任明武
(南京理工大學(xué)計算機科學(xué)與工程學(xué)院 南京 210094)
行道線檢測是無人車輛自主駕駛系統(tǒng)中的一項關(guān)鍵技術(shù)。盡管行道線檢測方法層出不窮,但是由于車載系統(tǒng)的局限性導(dǎo)致算法的時間復(fù)雜度不能過高,因此限制了許多算法在車輛嵌入式設(shè)備上的應(yīng)用。為此,論文提出了一種快速行道線檢測方法。該方法采用基于積分圖的投影變換提取行道線候選點,然后通過基于方向過濾的霍夫變化方法粗定位候選行道線,最后利用消失點估計、對比度過濾等過濾器對行道線進行精定位?;诜e分圖的投影變換可以高效率地計算多尺度上的投影變換,同時給每個像素點建立局部投影變換,使得該像素點與整幅圖的亮暗無關(guān),提高了檢測的魯棒性,可有效解決遮擋問題。實驗表明,對于典型路面圖像,在i7處理器上中達(dá)到了10 ms每幀的速度。
行道線檢測;ADAS;投影;霍夫變換
隨著經(jīng)濟發(fā)展、道路設(shè)施的完善,汽車保有量迅速增加。近10多年來,基于視覺導(dǎo)航的車輛自動或者輔助駕駛系統(tǒng)[1]一直是科技領(lǐng)域的研究熱點,Google、特斯拉、Apple等公司引領(lǐng)了新的潮流。無人駕駛系統(tǒng)致力于通過圖像處理的方法來檢測可通行區(qū)域來保證車輛能夠安全地行駛在正確的車道上,并能對一些異常狀況進行及時處理。實現(xiàn)這類系統(tǒng)面臨的首要關(guān)鍵問題就是如何實現(xiàn)快速準(zhǔn)確地從車載傳感器獲取的視頻圖像中檢測到車道[2],使得車輛能夠按照交通規(guī)則行駛在道路上。為了解決這個問題,國內(nèi)外很多研究人員都進行了深入研究并取得了很多可喜的研究成果,這些研究具有很大的潛在應(yīng)用價值。
無人車系統(tǒng)中的一些經(jīng)典行道線圖像如圖1所示。正常路面是指普通道路環(huán)境,無外界其他干擾;其余幾種路面則為普通檢測算法中比較常見的干擾情況:斑馬線干擾、強逆光干擾以及陰影遮擋。斑馬線干擾是指因為斑馬線與行道線的一些相似性會導(dǎo)致后者的誤檢率增大。強逆光環(huán)境則會在正午陽光直射的情況下形成光柱,形成虛假行道線。陰影遮擋則會減小行道線在環(huán)境中的對比度,從而增大了行道線檢測時的漏檢率。
圖1 正常路面(左上)、斑馬線干擾路面(右上)、強逆光路面(左下)、陰影遮擋路面(右下)
Broggi等[3]基于平路面假設(shè),提出了逆投影映射的方法來消除透視效果,透視效果即實際中的兩條平行線在視覺中變成了兩條相交線。然后充分利用道路的幾何特征來檢測、定位行道線。該算法的優(yōu)勢在于定位精確,但是計算量巨大,需要一些特定的硬件來配合實現(xiàn)。
Goldbeck等[4]提出了基于感興趣區(qū)域(ROI)的行道線檢測算法。該算法以空間和時間連續(xù)性作為限制,將算法的處理區(qū)域由整幅圖像縮減為車輛前方的某一特定區(qū)域,在此區(qū)域中可以有效的進行檢測。但是,ROI的定位算法選取至關(guān)重要,選擇不當(dāng)將導(dǎo)致算法完全失效。
Wang等[5]提出了一種基于B樣條的行道線檢測方法。得益于樣條函數(shù)對輪廓表達(dá)的任意性,該算法能夠準(zhǔn)確地識別直道和彎道,并對路面陰影有一定的魯棒性。較好的檢測效果原因在于B樣條的多次迭代,這無法滿足無人系統(tǒng)的實時性要求。
在機器學(xué)習(xí)領(lǐng)域,Kim[6]提出了一種車道線提取方法。其詳細(xì)的討論了幾種主流分類方法對行駛標(biāo)記檢測的準(zhǔn)確性和實時性。為提高算法的實時性,作者放棄了具有最佳分類性能的SVM,導(dǎo)致改算法的正確率只有80%。
本文提出了一種新的應(yīng)用于無人車輛自主駕駛系統(tǒng)[7]中的行道線檢測方法。首先,本文采用基于投影變換的方法提取行道線候選點,然后通過基于方向過濾的霍夫變換進行行道線粗提取,得到候選行道線,最后利用消失點估計、對比度等約束條件過濾對行道線進行精定位。流程圖如圖2所示。
圖2 算法流程圖
針對上文所述的幾種的經(jīng)典行道線干擾情況,在提取行道線候選點時,本文首先選擇對斑馬線進行檢測,使得最終行道線檢測階段可以去除斑馬線的干擾。而陰影遮擋或光照不均等干擾則在投影階段進行過濾。本文最后通過對行道線檢測的初步結(jié)果的精提取來對強逆光環(huán)境下的光柱進行排除。
當(dāng)原始圖像分辨率過高時,在原始圖像上直接求取行道線會變得十分緩慢。所以一般的行道線檢測算法首先會對原始圖像進行特征點提取的方法來降低處理時間。
行道線檢測算法使用最多的是基于邊緣檢測的行道線檢測算法,邊緣檢測算法能夠檢測到行道線的邊緣特征,但是對于斑馬線、路面指示箭頭等干擾不能很好的進行處理。
本文所述的投影變換能夠?qū)D像中相對于周圍較亮的區(qū)域提取出來,而由于行道線區(qū)域相對于路面區(qū)域是較亮的,所以本文用投影變換能夠提取到行道線的候選點。根據(jù)分段的大小,提取到的行道線候選點一般不超過1000個。
算法效率方面,本文利用基于積分圖的方法實現(xiàn)了投影計算的快速實現(xiàn),利用分段投影的方法實現(xiàn)了多尺度變窗口的投影計算。
如圖2所示,行道線候選點的提取分為3大步驟:分段投影變換,投影曲線分界面的分割和候選點的去斑馬線干擾。
投影是在某個方向上的所有像素的灰度值之和,或者直線L上的所有像素點的灰度值之和。而因為投影采用的是加法運算,比如一個班級的成績累加之和,突出的是這個班級的整體水平,所以投影具有非常好的魯棒性。本文所用垂直投影變換公式如下。
垂直投影(某一列上的所有像素的灰度之和):
其中,g(x,y)為圖像某一點的灰度值。
圖3 上圖為投影圖像,下圖為原始圖像
圖3 為一幅行道線局部圖像及其垂直投影圖像。在其垂直投影變換圖像中,可以發(fā)現(xiàn)標(biāo)準(zhǔn)且明顯的行道線間隙,因為行道線是白色的,所以其投影值較大,而路面投影值較小。本文利用圖6中投影值的大小變化關(guān)系,提取出波形圖中的波峰區(qū)域,可以提取到對光照不均較為魯棒的行道線候選區(qū)域。
分段投影變換是指將原始圖像灰度化后進行分段化處理,每段分別進行垂直投影變換。針對行道線圖像而言,若對整個圖像進行垂直投影變換,則得到的是圖像的整體灰度分布信息,這顯然無法得到想要的信息,因為在行道線圖像的不同行上,行道線的寬度都是不一樣的,同時視覺圖像的“近大遠(yuǎn)小”現(xiàn)象也決定了投影需要分段進行。
本文將行道線圖像非均勻且非重疊地劃分為若干個寬度為圖像寬度的圖像塊,每個圖像塊的高度不同,每個圖像塊做各自的垂直投影變換,每個圖像塊的高度取決于相機的分辨率、相機的架設(shè)位置和行道線的實際寬度等[8],分段情況如圖4所示。
圖4 分段示意圖
分段進行投影變換后,將得到若干個投影曲線,投影曲線中投影值較大說明此區(qū)域較亮,投影值較小則說明此區(qū)域相對于周圍較暗。因行道線較周圍較亮,故本文需要對投影曲線的波峰進行提取,即對投影曲線進行分割。本文所采用的為基于背景估計的分界面分割算法。如圖5為分界面分割示意圖,白色線段為原投影曲線,高于灰色線段的區(qū)域即為本文的興趣區(qū)域。
圖5 白色為投影曲線,灰色為分割線
在對每條投影曲線進行分界面分割后,本文得到了如圖6所示的行道線候選點區(qū)域,白色區(qū)域為高于分界面的區(qū)域合集,本文將此圖像稱之為RL(游程,Run-length)圖像,圖像中的每一個白色矩形區(qū)域稱之為RL塊。
將原始圖像轉(zhuǎn)化為RL圖像后,這樣就大大減少了行道線的描述信息,將原圖像像素信息變換為有限的幾百個RL塊,使得后續(xù)提取行道線的計算變得十分迅速。同時因為使用的是加法運算,使得本文提取到的RL塊對于環(huán)境具體良好的魯棒性,能夠在不受光照、陰影等的影響下將包含行道線的RL塊全部找到。
圖6 行道線候選區(qū)域
在圖6所示RL圖像中,下半部分較寬的白色矩形塊為斑馬線,如果單獨觀察,斑馬線的每條線段與行道線的特征非常相像,寬度、顏色等都十分相似,這會對于本文的行道線檢測做出巨大干擾。反之若從整體觀察,斑馬線具有高密集型、等間隔性等明顯區(qū)別于行道線的特征[11],利用這些整體特征,本文在行道線提取前對斑馬線進行鑒別檢測并加以排除。
在RL圖像中,利用斑馬線RL塊等間距等長的特征,可以較易尋找到斑馬線的候選區(qū)域,如圖7中所示綠色區(qū)域。然后進一步根據(jù)斑馬線候選區(qū)域的位置信息對之進行篩選合并,最后得到斑馬線檢測結(jié)果,如圖7中所示矩形框區(qū)域。在后文的霍夫變換處理中,本文將行道線候選區(qū)域用點來替換,即取一塊行道線候選區(qū)域的中心坐標(biāo)點來當(dāng)作一個行道線候選點。至此,本文完成了行道線候選點的提取過程。
圖7 灰色為斑馬線候選區(qū)域,框內(nèi)為斑馬線
積分圖的概念最早是由Paul Viola等[9]提出的,并被應(yīng)用到實時的圖像檢索框架中。對于一個灰度圖像而言,其積分圖也是一張圖,只不過積分圖與普通的灰度圖不同,該圖上任意一點(x,y)的值是指從灰度圖像的左上角與當(dāng)前點所圍成的矩形區(qū)域內(nèi)所有像素的灰度值和。對于求(x,y)處的積分,通過遞推實現(xiàn),共需要2個加法,1個減法,如圖8和式(2)。
圖8 積分圖示意圖
其中,s(x,y)代表該像素點的積分值,g(x,y)代表該像素的灰度值。
式(3)則用來在已知積分圖中計算指定區(qū)域m×n個像素點灰度之和,只需要2個減法和1個加法。
在式(3)中,當(dāng)m=1時,sum就變成了x列上[y-n,y]之間的垂直投影,當(dāng)n=1時,sum就變成了y行上[x-m,x]之間的水平投影。
通過垂直投影變換,得到了如圖3的峰谷明顯的投影曲線圖,此時需要尋找一個分界面,使之能夠分割出波峰,即相對周圍較亮的區(qū)域。本文分界面的分割算法基于背景估計,具體使用高斯濾波[10],高斯濾波是一種線性平滑濾波,能夠有效地消除噪聲。
各個投影曲線圖均可以認(rèn)為是一個個一維數(shù)組,利用高斯卷積函數(shù)計算每個點的高斯卷積值,如圖5中的計算結(jié)果,灰色的線段上的每個值是由相對應(yīng)的白色線段上相鄰?fù)队爸蹈咚咕矸e計算得到的結(jié)果,從中可以觀察到灰色線段十分平滑。此種方法也常用于圖像處理領(lǐng)域的背景估計、背景建模等。
若得到的投影曲線中的投影值高于分界面,則認(rèn)為這個點的灰度值較周圍較高,若存在這樣的區(qū)域,使得存在連續(xù)的點均高于分界面,則本文將此區(qū)域標(biāo)識為行道線候選區(qū)域。對每個投影曲線均做如上分割處理,本文就得到了如圖6所示的黑白二值圖,白色區(qū)域表示行道線候選區(qū)域。
以本文引言中所述的四幅經(jīng)典的行道線圖像類型為例,圖9為經(jīng)過分段投影、分界面分割和斑馬線過濾后得到的各自的行道線候選點。從圖中可以觀察得到基于投影變換的行道線候選點檢測到陰影、斑馬線都具有很強的抗干擾性。
圖9 四幅行道線圖像的行道線候選點
本文采用了基于角度加權(quán)的霍夫變換方法對行道線候選點進行直線提取?;舴蜃儞Q是一種在圖像中檢測直線的有效方法[12]。它是先把直角坐標(biāo)系的目標(biāo)點映射到極坐標(biāo)系上進行累積,即先使直角坐標(biāo)系平面上任一直線上的所有點均累積到極坐標(biāo)系的同一點集合去,然后通過尋找極坐標(biāo)系中點集的峰值,來發(fā)現(xiàn)經(jīng)過點最多的直線。
而本文在傳統(tǒng)的霍夫變換基礎(chǔ)上對每個投票點引入了角度加權(quán)信息,即每個點在投票環(huán)節(jié)只對與自身角度相近的直線進行投票,這樣做可以充分利用點與點之間的空間關(guān)系,跟傳統(tǒng)的霍夫變換相比不僅加快了運算速度,同時又大大降低了誤判率,可以取得比較好的直線提取結(jié)果。
在RL圖像中,相同行的RL塊具有相同的高度,本文對相鄰行的大小相近的RL塊進行連線,若此連線經(jīng)過較多的與自身相近的RL塊,則標(biāo)記該直線的角度方向作為該連線上所有RL塊的角度方向。如圖10所示,箭頭為該候選點的角度信息。
基于角度加權(quán)的霍夫變換方法將帶有角度信息的候選點進行投票計算,每個候選點只對角度與自身相近的直線進行投票,得到了如圖11的直線結(jié)果。此時的行道線集合既囊括了正常的行道線,同時也包含了路面上常見的白印等容易與行道線混淆的物體。圖中路線線段為提取結(jié)果,紅色點為候選點。
圖10 行道線候選點的角度信息
圖11 基于角度加權(quán)的霍夫變換結(jié)果
圖11 中的行道線粗提取結(jié)果中包含了比較多的干擾項。本小節(jié)在此基礎(chǔ)上,對干擾線段進行層層篩除。具體利用到行道線的各種顏色、紋理、亮度和方向等特性進行篩選。
行道線具有白色或者黃色的特征,而在灰度圖中,兩者的灰度值都很大,而道路背景的灰度值一般比行道線的灰度值低很多?;谶@個事實,本文統(tǒng)計了每個候選行道線線段上的灰度值平均值和行道線兩旁的灰度值平均值。若兩旁的灰度值都大于行道線的灰度值,則本文認(rèn)為此行道線為虛假行道線。下圖是過濾前后的照片,從中可觀察到路面的一些印記大部分被消除。
圖12 對比度過濾前后的直線
消失點估計是一種利用道路的全局約束屬性來提取道路邊界的方法,其在各種復(fù)雜道路環(huán)境下表現(xiàn)出較強的魯棒性,其核心思想是:在結(jié)構(gòu)化道路上的行道線會在圖像中相交于一個消失點[13]。如圖12所示,經(jīng)過霍夫變換等一系列操作后,圖中存留的候選行道線占據(jù)大部分,這樣就可以利用行道線在圖像上方相交于一點的特性來反向過濾未相交于消失點的虛假行道線。
但是在實際使用中,由于霍夫變換后的直線跟真實道路方向存在輕微偏差,所以本文需要定義消失點相交的偏差范圍。同時本文對行道線的消失點相交位置進行限定,使得消失點只能出現(xiàn)在圖像的中上部分,即視野中道路可能的盡頭位置。
圖13為消失點過濾器前后的圖像,上方圖像中一些與行道線方向不符的線段被去除。
圖13 消失點過濾前后的直線
經(jīng)過消失點估計過濾器后,剩下的線段基本為真實行道線,但是由于霍夫變換時的角度輕微偏差問題,導(dǎo)致存在相似相近線段重疊現(xiàn)象。本文通過遍歷直線兩兩的相交角度、相交位置、與圖像下界形成面積來確定線段是否可以合并,若兩直線之間相交角度很小、相交位置靠近圖像下方且與圖像下邊界形成面積較小,則將這兩個線段進行合并為一條長線段。最后結(jié)果如下圖所示。
圖14 線段合并后的直線,最終結(jié)果圖
本文的本地測試環(huán)境編譯器采用VS2012,運行內(nèi)存為4GB,CPU為i7處理器,編譯環(huán)境為Re?lease+x64。
本文的測試數(shù)據(jù)集分為兩個部分,KITTI數(shù)據(jù)集和車載相機拍攝圖像數(shù)據(jù)集。前者本文選取了200張直道圖像,后者本文選取了2000張從車載相機拍攝到的圖像。
KITTI是德國卡爾斯魯厄理工學(xué)院和芝加哥豐田技術(shù)研究所聯(lián)合創(chuàng)辦的一個算法評測平臺,旨在評測對象(機動車、非機動車、行人等)檢測、目標(biāo)跟蹤等計算機視覺技術(shù)在車載環(huán)境下的性能,為機動車輔助駕駛應(yīng)用做技術(shù)評估與技術(shù)儲備。本文使用的測試集為“Road/Lane Detection Evaluation 2013”灰度圖像,如圖15,處理結(jié)果如圖16所示。
圖15 KITTI數(shù)據(jù)集圖像
圖16 KITTI數(shù)據(jù)集處理結(jié)果
在本地測試環(huán)境中,本文對從無人車采集到的各種環(huán)境下的連續(xù)圖像序列進行算法處理,算法處理結(jié)果的各項參數(shù)如表1所示,無人車各種環(huán)境下圖像如圖17所示。圖17中左上角為城市環(huán)境道路,行道線十分明顯;右上角為鄉(xiāng)村環(huán)境道路,行道線時有磨損;左下角為有樹木陰影遮擋等環(huán)境,環(huán)境條件比較復(fù)雜;右下角為強逆光環(huán)境,太陽光直射相機,易形成光柱影響實驗結(jié)果。
圖17 車載相機拍攝到的行道線原始圖像
表1 車載相機各種環(huán)境下的檢測算法結(jié)果
從表1中可以觀察得到,本文算法在良好的城市環(huán)境以及樹陰遮擋道路上具有較低的漏判率和誤判率,當(dāng)出現(xiàn)樹陰遮擋時,RL塊會增多,算法運行時間會略有變長,當(dāng)出現(xiàn)強逆光時,算法檢測效果不是非常理想,主要是由于相機曝光等原因?qū)е滦械谰€十分昏暗。
本文算法在無人駕駛汽車中滿足實時性運行要求,且行道線檢測單幀檢測準(zhǔn)確率達(dá)到90%。
本文利用機器視覺的方法對無人車系統(tǒng)中的行道線檢測提出了一種新的基于投影的解決方案。此方案結(jié)合了投影變換、霍夫變換等方法,完成了滿足實時性要求的行道線檢測算法。
但是由于霍夫變換只能檢測直線的局限性,本文對于彎曲行道線的檢測并未做特殊處理,后續(xù)工作將側(cè)重于對彎曲行道線的檢測。
[1]Figueiredo,L,Jesus,I,Machado,J.A.T.Towards the development of intelligent transportation systems[C]//In?telligent Transportation Systems,Proceedings IEEE,2001,1206-1211.
[2]劉華軍.面向智能車輛的道路環(huán)境理解技術(shù)研究[D].南京:南京理工大學(xué),2006.LIU Huajun.Research on Road Environment Understand?ing Technology for Intelligent Vehicles[D].Nanjing:Nan?jing University of Science and Technology,2006.
[3]Broggi A,Berte S.Vision based road detection in automo?tive systems:A real time expectation driven approach[J].Journal of Artificial Intelligence Research,1995,3:325-348.
[4]Goldbech J,Huertgen B,Ernst S,et al.Lane following combining vision and DGPS[J].Image and Vision Com?puting,2000,18(5):425-433.
[5]Wang Y,Teoh E K,Shen D.Lance Detection and tracking using B-snake[J].Image Visual Compute,2004,22(4):268-280.
[6]Kim Z W.Robust lane detection and tracking in challeng?ing scenarios[J].IEEE Transactions on Intelligent Trans?portation System,2008,9(1):16-26.
[7]付永春,戚國慶.單目視覺結(jié)構(gòu)化道路車道線檢測和跟蹤技術(shù)研究[D].南京:南京理工大學(xué),2012.FU Yongchun,QI Guoqin.Research on Monocular Visual Structured Lane Detection and Tracking Technology[D].Nanjing:Nanjing University of Science and Technology,2012.
[8]路紅亮,張志佳.機器視覺中相機標(biāo)定方法的研究[D].南京:南京理工大學(xué),2013.LU Hongliang,ZHANG Zhijiang.Research on Camera Cal?ibration Method in Machine Vision[D].Nanjing:Nanjing University of Science and Technology,2013.
[9]Paul Viola,Michael Jones.Rapid Object Detection Using a Boosted Cascade of Simple Features[J].Computer Vi?sion and Pattern Recognition,2001,Volume 1,8-14.
[10]Deng G,Cahill L W.An adaptive Gaussian filter for noise reduction and edge detection[C]//IEEE Nuclear Science Symposium and Medical Imaging Conference,San Francisco,CA,1993,3:1615-1619.
[11]Se S.Zebra-Crossing Detection for the Partially Sighted[C]//2013 IEEE Conference on Computer Vision and Pattern Recognition.IEEE Computer Society,2000:2211-2211.
[12]張會章,張利霞,郭雷.用霍夫變換來提取目標(biāo)邊界[J].計算機應(yīng)用,2003,23(s1):117-119.ZHANG Huizhang,ZHANG Lixia,GUO Lei.Hough transform is used to extract the target boundary[J].Jour?nal of Computer Applications,2003,23(s1):117-119.
[13]Simond N,Rives P.Homography from a vanishing point in urban scenes[C]//Proc of the 16th IEEE/RSJ Int Conf on Intelligent Robots and System 2003.Piscataway,NJ:IEEE,2003:1005-1010.
Fast Lane Line Detection Based on Project
LI Qiang XU FengleiREN Mingwu
(School of Computer Science and Engineering,Nanjing University of Science and Technology,Nanjing 210094)
Lane detection is a key technology in the automated vehicle system.There are many methods of lane detection,but the limitation of vehicle system leads to the time complexity of the algorithm is not too high,so it limits the application of many algo?rithms in vehicle embedded devices.In this paper,a fast lane detection method is proposed.Firstly this method extracts the candi?date points in the lane image by projection transformation based on SAT.Then paper uses the Hough transform based on directional filtering to extract the line,it's just a coarse positioning.Finally,paper uses the vanishing point estimation and contrast filter to lo?cate the line.Projection transformation based on SAT can improve the execution efficiency of the algorithm on multi scale.Using a lo?cal projection transformation to each pixel can make the pixel point is not responsible to the brightness of whole image,so it im?proves the robustness of detection and solves the problems in the shadow of lane.Experimental results show that 10 ms per frame in the i7 CPU environment in typical pavement images.
lane line detection,ADAS,project,hough transform
Class Number TP391.41
TP391.41
10.3969/j.issn.1672-9722.2017.12.038
2017年6月8日,
2017年7月30日
李強,男,碩士研究生,研究方向:圖像處理、模式識別。徐峰磊,男,博士研究生,研究方向:圖像處理、模式識別。任明武,男,教授,博士生導(dǎo)師,研究方向:無人駕駛車輛、圖像分析與處理。