本發(fā)明屬于智能車輛安全輔助駕駛領(lǐng)域,涉及一種能夠快速準(zhǔn)確地重構(gòu)出車道線的裝置。
背景技術(shù):縱觀汽車發(fā)展的歷史,對安全性問題的研究始終是重中之重。尤其是近年來,如何提高交通安全已經(jīng)成為急需解決的社會性問題。汽車安全研究熱點(diǎn)已經(jīng)從以碰撞安全為核心的被動安全發(fā)展到以預(yù)防碰撞為核心的主動安全,很多國家和國際汽車電子公司早已啟動了多項(xiàng)研究計劃來尋找提高安全性、減少事故的新技術(shù)。于是,智能車輛(IntelligentVehicle)的概念應(yīng)運(yùn)而生,成為了智能交通系統(tǒng)(IntelligentTransportationSystem)的關(guān)鍵技術(shù)之一。而車輛安全輔助駕駛作為智能車輛研究領(lǐng)域的一個重要分支在近一二十年也得到迅速的發(fā)展。計算機(jī)視覺作為車輛安全輔助駕駛系統(tǒng)獲得行駛環(huán)境信息最有效的感知方式在近些年得到了廣泛研究。它是將單個或多個攝像頭安裝在車體上,通過圖像采集裝置獲得車輛周圍環(huán)境圖像,然后經(jīng)過智能圖像處理裝置為后續(xù)決策裝置提供所需信息。其中,車道線識別對于安全輔助駕駛至關(guān)重要,是車道保持、車道偏離預(yù)警及自主導(dǎo)航等技術(shù)的基礎(chǔ)之一,而車道線的重構(gòu)不僅是在圖像中識別出車道線位置,還用具體數(shù)學(xué)模型準(zhǔn)確擬合出車道線,以便為后續(xù)決策裝置提供道路曲率等重要參數(shù)支持。車輛的行駛環(huán)境一般比較復(fù)雜,為應(yīng)對光照變化、道路陰影、車道線間斷以及障礙物等噪聲干擾,車道線識別應(yīng)具有較強(qiáng)適應(yīng)性,而現(xiàn)有的基于邊緣提取的車道標(biāo)識線識別裝置,由于對圖像進(jìn)行了全局二值化處理造成道路位置信息丟失,從而使其對于一些復(fù)雜環(huán)境的識別難以適應(yīng),而且普遍需要對圖像進(jìn)行預(yù)處理,降低了實(shí)時性;而單純利用提取局部高像素值點(diǎn)的車道標(biāo)識線識別裝置在光線變化及路面存在其他標(biāo)志時準(zhǔn)確性較低。從道路的彎曲程度看,在結(jié)構(gòu)化道路中,車輛可能行駛于直道,小彎道或者大彎道,現(xiàn)有的基于局部直線提取、Hough變換以及模板匹配等識別裝置無法滿足彎道識別的需求;已提出的分段直線擬合及拋物線模型擬合一定程度上實(shí)現(xiàn)了彎道的重構(gòu),但對于大彎道準(zhǔn)確性不高;已有的基于高次曲線或者多曲線模型結(jié)合的擬合方法雖然準(zhǔn)確性較強(qiáng),可計算量大,難以滿足實(shí)時性要求。
技術(shù)實(shí)現(xiàn)要素:本發(fā)明主要針對車道線重構(gòu)中對復(fù)雜環(huán)境適應(yīng)性和彎道擬合準(zhǔn)確性及實(shí)時性問題,提出了一種基于Bézier曲線的車道線重構(gòu)裝置。一種基于Bézier曲線的車道線重構(gòu)裝置,包括如下模塊:起始點(diǎn)搜索模塊、正向搜索模塊、間斷搜索模塊、變向搜索模塊、自適應(yīng)二值化模塊、車道分類模塊、Bézier曲線擬合模塊。起始點(diǎn)搜索模塊接收由圖像采集模塊輸出的車輛前方道路環(huán)境圖像,在圖像的感興趣區(qū)內(nèi),利用灰度特征和梯度特征1,搜索左車道線和右車道線的起始點(diǎn)所在塊,將搜索到的起始點(diǎn)所在塊輸出至自適應(yīng)二值化模塊,將搜到的起始點(diǎn)所在塊的搜索點(diǎn)輸出給正向搜索模塊。正向搜索模塊在圖像感興趣區(qū)中,根據(jù)起始點(diǎn)所在塊的搜索點(diǎn),利用灰度特征和梯度特征1,從下至上逐個搜索出車道線外側(cè)邊緣線所在塊,并將每次搜索到的塊輸出給自適應(yīng)二值化模塊,當(dāng)車道線發(fā)生轉(zhuǎn)彎時將搜索到的塊的搜索點(diǎn)輸入變向搜索模塊,當(dāng)車道線發(fā)生了間斷時將搜索到的塊的搜索點(diǎn)輸入間斷搜索模塊。變向搜索模塊利用利用灰度特征和梯度特征2搜索發(fā)生轉(zhuǎn)彎后的車道線外側(cè)邊緣線所在塊,并輸出標(biāo)記為轉(zhuǎn)彎的塊給自適應(yīng)二值化模塊。間斷搜索模塊利用灰度特征和梯度特征1,搜索出發(fā)生間斷后的車道線起始點(diǎn)所在塊,并輸出給自適應(yīng)二值化模塊,將起始點(diǎn)所在塊的搜索點(diǎn)輸入正向搜索模塊繼續(xù)進(jìn)行車道線搜索。自適應(yīng)二值化模塊是對搜索到的塊進(jìn)行自適應(yīng)二值化處理,得到塊中車道線外側(cè)邊緣線上的點(diǎn)Pi(i=0,2,3,…,m-1),m代表塊總數(shù),對于標(biāo)記為轉(zhuǎn)彎的塊,得到對應(yīng)的變向點(diǎn)Ps,將所有車道線外側(cè)邊緣線上的點(diǎn)輸出給車道分類模塊。車道分類模塊將車道進(jìn)行分類,當(dāng)變向點(diǎn)Ps不存在或者s>m-3且s>2×(m-1)/3時,車道為直道或者小彎道,其它情況下車道為大彎道。Bézier曲線擬合模塊針對直道或者小彎道,使用一條二次Bézier曲線構(gòu)造車道線,針對大彎道,使用兩條二次Bézier曲線構(gòu)造車道線,重構(gòu)結(jié)果可以通過可視化模塊顯示給用戶。利用梯度特征1搜索左側(cè)車道線時,搜索點(diǎn)為左側(cè)最低點(diǎn),擴(kuò)展得到n×n的塊,n為像素個數(shù),并設(shè)第i(1≤i<n)行中從左到右的第1個至第n-i個像素點(diǎn)位于道路上,塊中剩余像素點(diǎn)位于左車道線上,根據(jù)式(1)確定梯度特征1值;采用梯度特征1搜索右側(cè)車道線時,搜索點(diǎn)作為右側(cè)最低點(diǎn),擴(kuò)展得到n×n的塊,并設(shè)第i(1≤i<n)行中從右到左的第1個至第n-i個像素點(diǎn)位于道路上,塊中剩余像素點(diǎn)位于右車道線上,根據(jù)式(1)確定梯度特征1值。利用梯度特征2搜索左車道線時,搜索點(diǎn)作為右側(cè)最低點(diǎn),擴(kuò)展得到n×n的塊,并設(shè)第i(1<i≤n)行中從左到右的第1個至第i-1個像素點(diǎn)位于道路上,塊中剩余像素點(diǎn)位于左車道線上,根據(jù)式(1)確定梯度特征2值;利用梯度特征2搜索右車道線時,搜索點(diǎn)作為左側(cè)最低點(diǎn),擴(kuò)展得到n×n的塊,并設(shè)第i(1<i≤n)行中從右到左的第1個至第i-1個像素點(diǎn)位于道路上,塊中剩余像素點(diǎn)位于右車道線上,根據(jù)式(1)確定梯度特征2值。T=M1-M2(1)T表示梯度特征值,M1表示車道線上的像素點(diǎn)和搜索點(diǎn)的灰度均值;M2表示道路上的像素點(diǎn)的灰度均值。根據(jù)搜索點(diǎn)的y值確定像素個數(shù)n的值:y∈[0,45]時,n取9;當(dāng)y∈(45,90]時,n取5;當(dāng)y∈(90,150]時,n取3。定義n為塊的大小。本發(fā)明基于Bézier曲線的車道線重構(gòu)裝置的優(yōu)點(diǎn)在于:(1)本發(fā)明裝置中的正向搜索模塊、間斷搜索模塊以及變向搜索模塊,以塊的形式提取局部梯度和灰度特征,提高了復(fù)雜環(huán)境的適應(yīng)性;(2)本發(fā)明裝置中的正向搜索模塊、間斷搜索模塊以及變向搜索模塊,以塊從下到上延伸搜索的方式避免了對不必要的區(qū)域進(jìn)行處理,提高了識別的實(shí)時性及準(zhǔn)確性;(3)本發(fā)明裝置中的變向搜索模塊采用變向搜索實(shí)現(xiàn)了對彎道車道線的識別;(4)本發(fā)明裝置中的間斷搜索模塊采用間斷搜索實(shí)現(xiàn)了對間斷或者部分遮擋的車道線的識別;(5)本發(fā)明裝置中的車道分類模塊將車道分為直道、小彎道和大彎道三種路況,然后分別不同方式擬合,提高了重構(gòu)的準(zhǔn)確性;(6)本發(fā)明裝置中的Bézier曲線擬合模塊中使用的二階Bézier曲線只取決于它的三個控制點(diǎn),構(gòu)造簡單且容易實(shí)現(xiàn),對大彎道采用兩條二階Bézier曲線擬合,彌補(bǔ)了一條二階Bézier曲線造型單一的不足,提高了對曲率存在變化的大彎道重構(gòu)的準(zhǔn)確性。附圖說明圖1為本發(fā)明的一種基于Bézier曲線的車道線重構(gòu)裝置的體系結(jié)構(gòu)圖;圖2為本發(fā)明中起始點(diǎn)搜索模塊的執(zhí)行流程圖;圖3為本發(fā)明中變向搜索模塊的執(zhí)行流程圖;圖4為本發(fā)明中間斷搜索模塊的執(zhí)行流程圖;圖5為本發(fā)明中圖像坐標(biāo)系及有效處理區(qū)域圖;圖6為本發(fā)明中3×3、5×5和9×9小塊的梯度特征1示意圖;圖7為本發(fā)明中3×3、5×5和9×9小塊的梯度特征2示意圖;圖8為本發(fā)明中自適應(yīng)二值化模塊執(zhí)行完的結(jié)果圖;圖9為本發(fā)明中Bézier曲線擬合模塊執(zhí)行完的結(jié)果圖。具體實(shí)施方式下面將結(jié)合附圖對本發(fā)明做進(jìn)一步的詳細(xì)說明。本發(fā)明在于提供一種基于Bézier曲線的車道線重構(gòu)裝置,用于基于視覺的安全輔助駕駛系統(tǒng)中,重構(gòu)的車道線信息為決策單元提供參數(shù)支持。本發(fā)明能夠較好地適應(yīng)光照變化、道路陰影、車道線間斷以及障礙物等復(fù)雜環(huán)境,而且不用對圖像進(jìn)行預(yù)處理,提高了實(shí)時性,通過車道分類模塊和Bézier曲線擬合模塊提高了對變曲率彎道重構(gòu)的準(zhǔn)確性。首先說明,本發(fā)明中將涉及到的梯度特征和灰度特征。所述的灰度特征是指車道線邊緣處的局部灰度均值與路面灰度均值間存在明顯差值?;叶忍卣髦低ㄟ^塊的平均灰度值減去路面平均灰度值得到,路面平均灰度值的獲取方法是:在處理某幅圖片時,在該圖片的處理區(qū)域的y=0,x∈[110,210]的范圍內(nèi)取最小的三個像素值的平均值。所述的梯度特征是指路面與道路邊緣的交界線處存在明顯的灰度梯度。梯度特征和灰度特征都是以塊的形式統(tǒng)計,由于車道線的寬度變化,塊的大小是隨著y所在區(qū)域不同而不同,本發(fā)明的車道線重構(gòu)裝置中,當(dāng)搜索點(diǎn)的y∈[0,45]時,取9×9的塊;當(dāng)y∈(45,90]時,取5×5的塊;y∈(90,150]時,取3×3的塊。如圖6和圖7所示分別為本發(fā)明的車道線重構(gòu)裝置中所采用的梯度特征1和梯度特征2。圖中填充白色或斜線的像素點(diǎn)代表著車道線上的點(diǎn),填充灰色的像素點(diǎn)代表著道路上的點(diǎn),填充斜線的像素點(diǎn)是搜索點(diǎn),車道轉(zhuǎn)彎時由梯度特征1變?yōu)樘荻忍卣?。令M1表示車道線上的像素點(diǎn)和搜索點(diǎn)的灰度均值,等于塊中m1個填充白色的像素點(diǎn)和填充斜線的像素點(diǎn)的像素值之和除以其像素點(diǎn)的個數(shù)(m1+1),M2表示道路上的像素點(diǎn)的灰度均值,等于塊中m2個填充灰色像素點(diǎn)的像素值之和除以其像素點(diǎn)的個數(shù)m2,則梯度特征1和2的值可由公式(1)求得,公式如下:T=M1-M2(1)如圖6-1~圖6-3所示,采用梯度特征1搜索左車道線時,搜索點(diǎn)作為左側(cè)最低點(diǎn),擴(kuò)展得到n×n的塊,n為像素個數(shù),取3、5或9,并設(shè)第i(1≤i<n)行中從左到右的第1個至第n-i個像素點(diǎn)位于道路上,塊中剩余像素點(diǎn)位于左車道線上,根據(jù)式(1)確定梯度特征值。如圖6-4~圖6-6所示,采用梯度特征1搜索右車道線時,搜索點(diǎn)作為右側(cè)最低點(diǎn),擴(kuò)展得到n×n的塊,n為像素個數(shù),取3、5或9,并設(shè)第i(1≤i<n)行中從右到左的第1個至第n-i個像素點(diǎn)位于道路上,塊中剩余像素位于右車道線上,根據(jù)式(1)確定梯度特征值。如圖7-1~圖7-3所示,采用梯度特征2搜索左車道線時,搜索點(diǎn)作為右側(cè)最低點(diǎn),擴(kuò)展得到n×n的塊,n為像素個數(shù),取3、5或9,并設(shè)第i(1<i≤n)行中從左到右的第1個至第i-1個像素點(diǎn)位于道路上,塊中剩余像素點(diǎn)位于左車道線上,根據(jù)式(1)確定梯度特征值。如圖7-4~圖7-6所示,采用梯度特征2搜索右車道線時,搜索點(diǎn)作為左側(cè)最低點(diǎn),擴(kuò)展得到n×n的塊,n為像素個數(shù),取3、5或9,并設(shè)第i(1<i≤n)行中從右到左的第1個至第i-1個像素點(diǎn)位于道路上,塊中剩余像素點(diǎn)位于右車道線上,進(jìn)而確定梯度特征值。如圖1所示,本發(fā)明的車道線重構(gòu)裝置包括七個基本功能模塊:起始點(diǎn)搜索模塊1、正向搜索模塊2、間斷搜索模塊3、變向搜索模塊4、自適應(yīng)二值化模塊5、車道分類模塊6、Bézier曲線擬合模塊7。行駛車輛前方道路環(huán)境圖像是由安裝在車輛前擋風(fēng)玻璃上的灰度攝像頭通過圖像采集模塊8獲得,原始圖像輸入至起始點(diǎn)搜索模塊1,起始點(diǎn)搜索模塊1在當(dāng)前圖像設(shè)置的感興趣區(qū)內(nèi)搜索左車道線起始點(diǎn)所在塊和右車道線起始點(diǎn)的所在塊。設(shè)置的圖像感興趣區(qū)域可由用戶設(shè)定,如圖5所示為給出的一個實(shí)施例,以圖像左下角點(diǎn)為坐標(biāo)原點(diǎn),水平向右為x軸的正向,垂直向上為y軸的正向,建立坐標(biāo)系,設(shè)定感興趣區(qū)域的尺寸為320像素×240像素,深度為8bit。將搜索到的起始點(diǎn)所在塊輸出至自適應(yīng)二值化模塊5,將搜到的起始點(diǎn)所在塊的搜索點(diǎn)位置輸出給正向搜索模塊2。正向搜索模塊2在圖像的感興趣區(qū)中,根據(jù)起始點(diǎn)所在塊的搜索點(diǎn),利用灰度特征和梯度特征1,從下至上逐個搜索出車道線外側(cè)邊緣線所在的塊,并將每次搜索到的塊輸出給自適應(yīng)二值化模塊5;當(dāng)車道線發(fā)生轉(zhuǎn)彎時,將將搜索到的塊的搜索點(diǎn)輸入變向搜索模塊4中;當(dāng)車道線發(fā)生了間斷時,將搜索到的塊的搜索點(diǎn)輸入間斷搜索模塊3中。變向搜索模塊4利用灰度特征和梯度特征2,搜索發(fā)生轉(zhuǎn)彎后的車道線外側(cè)邊緣線所在塊,并輸出標(biāo)記為轉(zhuǎn)彎的塊給自適應(yīng)二值化模塊5。間斷搜索模塊3利用灰度特征和梯度特征1,搜索發(fā)生間斷后的車道線起始點(diǎn)所在塊,并輸出給自適應(yīng)二值化模塊5,將起始點(diǎn)所在塊的搜索點(diǎn)輸入正向搜索模塊2繼續(xù)進(jìn)行車道線搜索。自適應(yīng)二值化模塊5是對搜索到的塊進(jìn)行自適應(yīng)二值化處理,從而得到塊中車道線外側(cè)邊緣線上的點(diǎn)Pi(i=0,2,3,…,m-1),m代表塊總數(shù),特別是塊中車道線外側(cè)邊緣線最低點(diǎn),對于標(biāo)記為轉(zhuǎn)彎的塊,得到對應(yīng)的變向點(diǎn)Ps,將所有車道線外側(cè)邊緣線上的點(diǎn)輸出給車道分類模塊6。車道分類模塊6將車道進(jìn)行分類,當(dāng)變向點(diǎn)Ps不存在或者s>m-3且s>2×(m-1)/3時,車道為直道或者小彎道,其它情況下車道為大彎道。Bézier曲線擬合模塊針對直道或者小彎道,使用一條二次Bézier曲線構(gòu)造車道線,針對大彎道,使用兩條二次Bézier曲線構(gòu)造車道線。重構(gòu)結(jié)果可以通過可視化模塊9顯示給用戶。起始點(diǎn)搜索模塊1是整個車道線重構(gòu)裝置的基礎(chǔ),它負(fù)責(zé)搜索出左車道和右車道線外側(cè)邊緣線在圖像上最低點(diǎn)位置,為后續(xù)各搜索模塊提供起點(diǎn)坐標(biāo)設(shè)置搜索范圍。起始點(diǎn)搜索模塊1首先在y=0,x∈[0,159]范圍內(nèi)搜索是否存在滿足起始點(diǎn)條件的像素點(diǎn),如果不存在,在x=0,y∈[1,90]范圍內(nèi)搜索是否存在滿足起始點(diǎn)條件的像素點(diǎn),如果不存在,在x∈(0,90),y∈(0,90)內(nèi)搜索是否存在滿足起始點(diǎn)條件的像素點(diǎn),若不存在,則圖片中不存在左車道線;如果存在,找到左車道線起始點(diǎn)所在塊。由于結(jié)構(gòu)化道路車道寬度一般在2.5-3.75m,根據(jù)左車道線起始點(diǎn)設(shè)置右車道線起始點(diǎn)的搜索區(qū)域,并在設(shè)置的搜索區(qū)域內(nèi)尋找滿足起始點(diǎn)條件的像素點(diǎn),如果存在,則找到右車道線起始點(diǎn)所在塊,否則圖片中不存在右車道線。所述的起始點(diǎn)條件包括:(1)利用梯度特征1擴(kuò)展的像素點(diǎn)對應(yīng)的塊的灰度特征值大于灰度特征的閾值,且該塊的梯度特征1值大于梯度特征1的閾值;(2)存在連續(xù)不間斷的兩個塊都滿足條件(1),條件(2)是為了降低起始點(diǎn)誤判斷的概率,利用正向搜索模塊2來搜索判斷。圖2展示了起始點(diǎn)搜索模塊1的執(zhí)行流程;具體執(zhí)行步驟如下:步驟101:在y=0,x∈[0,159]內(nèi),將每個像素點(diǎn)作為搜索點(diǎn),依據(jù)圖6所示的梯度特征1擴(kuò)展為相應(yīng)的塊,確定該塊的梯度特征1的值,保存其中最大的梯度特征1值所對應(yīng)的塊和搜索點(diǎn),并確定該塊的灰度特征值;步驟102:判斷是否滿足起始點(diǎn)條件:(1)所保存的塊的灰度特征值大于灰度特征閾值,且該塊的梯度特征1值大于梯度特征1的閾值;(2)存在連續(xù)不間斷的兩個塊都滿足條件(1);其中,灰度特征閾值為10,梯度特征1的閾值分14。如果滿足條件,找到左車道線起始點(diǎn)的所在塊,執(zhí)行步驟106,否則,執(zhí)行步驟103;步驟103:在x=0,y∈[1,90]內(nèi),逐點(diǎn)依據(jù)圖6所示的梯度特征1擴(kuò)展為相應(yīng)的塊,確定梯度特征1值,保存其中最大的梯度特征1值所對應(yīng)的塊和搜索點(diǎn),并確定該塊的灰度特征值;步驟104:判斷是否滿足步驟102中的起始點(diǎn)條件,如果滿足條件,找到左車道線起始點(diǎn)的所在塊,執(zhí)行步驟106,否則,執(zhí)行步驟105;步驟105:在區(qū)域:x∈(0,90),y∈(0,90)內(nèi),按照從左至右、從下至上的順序,逐點(diǎn)依據(jù)如圖6所示的梯度特征1擴(kuò)展為相應(yīng)的塊,確定梯度特征1值及灰度特征值,對每個搜索點(diǎn)判斷是否滿足步驟102中的起始點(diǎn)條件,若滿足,結(jié)束搜索,找到左車道線起始點(diǎn)的所在塊,執(zhí)行步驟106,若所有搜索點(diǎn)均不滿足起始點(diǎn)條件,則該范圍內(nèi)不存在左車道線,繼續(xù)執(zhí)行步驟108;步驟106:根據(jù)左車道線起始點(diǎn)設(shè)置右車道起始點(diǎn)的搜索區(qū)域,具體是:設(shè)左車道線的起始點(diǎn)坐標(biāo)為(xz,yz),當(dāng)yz=0且xz<80時,右車道起始點(diǎn)的搜索區(qū)域?yàn)閤∈(230,319],y∈[20,60];當(dāng)yz=0且xz≥80時,右車道起始點(diǎn)的搜索區(qū)域?yàn)閤∈(230,319],y∈[50,90];當(dāng)xz=0且yz<50時,右車道起始點(diǎn)的搜索區(qū)域?yàn)閤∈(230,319],y∈[0,90];當(dāng)xz=0且yz≥50時,右車道起始點(diǎn)的搜索區(qū)域?yàn)閤∈(160,240],y∈[0,90];當(dāng)(xz,yz)沒有搜索到,右車道起始點(diǎn)的搜索區(qū)域?yàn)閤∈(230,319],y∈(0,90);步驟107:在步驟106設(shè)置的右車道起始點(diǎn)的搜索區(qū)域的下邊緣線和右邊緣線上,分別逐點(diǎn)依據(jù)如圖7所示的梯度特征1擴(kuò)展為相應(yīng)的塊,確定梯度特征1值,保存其中最大梯度特征1值的所對應(yīng)的塊和搜索點(diǎn),并確定該塊對應(yīng)的灰度特征值;右車道線起始點(diǎn)在兩個邊緣線上的幾率比較大,首先搜索兩條邊緣線,提高了實(shí)時性。步驟108:判斷所保存的塊是否滿足步驟102中的起始點(diǎn)條件;如果滿足條件,得到右車道線的起始點(diǎn)的所在塊,結(jié)束搜索,否則,執(zhí)行步驟109;步驟109:除去下邊緣線和右邊緣線,在步驟106設(shè)置的右車道起始點(diǎn)的搜索區(qū)域內(nèi),采用梯度特征1按照從右至左、從下至上的順序進(jìn)行搜索,確定搜索點(diǎn)的梯度特征1值及灰度特征值,對每個搜索點(diǎn)判斷是否滿足步驟102中的起始點(diǎn)條件,若滿足,結(jié)束搜索,得到右車道線的起始點(diǎn)的所在塊,若所有搜索點(diǎn)均不滿足起始點(diǎn)條件,則該范圍內(nèi)不存在右車道線。對于左車道線或右車道線,在尋找到滿足起始點(diǎn)條件的塊時,因?yàn)槠鹗键c(diǎn)條件(2),因此起始點(diǎn)搜索模塊1在確定起始點(diǎn)所在塊時,同樣檢測到與起始點(diǎn)所在塊連續(xù)不間斷的兩個塊,在確定起始點(diǎn)所在塊后,將起始點(diǎn)所在塊以及連續(xù)不間斷的兩個塊的大小以及對應(yīng)的搜索點(diǎn)輸入給正向搜索模塊2。正向搜索模塊2根據(jù)中首先設(shè)置下一個包含有車道線外側(cè)邊緣線塊的搜索范圍,在范圍內(nèi)逐點(diǎn)搜索梯度特征1值最大的塊,并計算此塊的灰度特征,如果該塊的灰度特征值大于灰度特征的閾值,且該塊的梯度特征1值大于梯度特征1的閾值,在正向搜索模塊2中灰度特征的閾值為10,梯度特征1的閾值為14,則得到一個包含有車道線外側(cè)邊緣線的塊,然后更新搜索點(diǎn)y的值,判斷是否滿足結(jié)束條件,如果不滿足,繼續(xù)搜索下一個滿足條件的塊;如果滿足結(jié)束條件,圖像信息、所有搜索到的塊的搜索點(diǎn)坐標(biāo)及各塊的大小作為輸入傳送至自適應(yīng)二值化模塊中。當(dāng)搜索到的梯度特征1值最大的塊不能同時滿足灰度特征和梯度特征1的閾值條件,則將所有搜索出的塊的搜索點(diǎn)坐標(biāo)及各塊的大小傳送至變向搜索模塊4。為了使包含有車道線外側(cè)邊緣線的塊既在所設(shè)置的搜索范圍內(nèi),又盡可能的縮小搜索范圍保證實(shí)時性,在正向搜索模塊中設(shè)置x的搜索范圍時是以前一個塊的搜索點(diǎn)橫坐標(biāo)x1加上它與再前一個塊的搜索點(diǎn)橫坐標(biāo)x2的差值為基準(zhǔn),左右各設(shè)置e個像素點(diǎn)總共2×e個像素點(diǎn)作為此塊搜索點(diǎn)的搜索范圍,即:[x1+(x1-x2)-e,x1+(x1-x2)+e],x1和y1分別為前一個車道線外側(cè)邊緣線所在塊的搜索點(diǎn)橫坐標(biāo)和縱坐標(biāo),x2為再前一個車道線外側(cè)邊緣線所在塊的搜索點(diǎn)橫坐標(biāo),當(dāng)沒有再前一個車道線外側(cè)邊緣線所在塊時,x2=0,在間斷搜索模塊執(zhí)行后第一個正向搜索時,需要對x1-x2取平均值,即除以間隔的塊數(shù)。而y值是以前一個塊的搜索點(diǎn)縱坐標(biāo)y1加上前一個車道線所在塊的大小值n(n=3,5或9)所得,即y=y(tǒng)1+n。e為調(diào)節(jié)常數(shù),其中當(dāng)y首次大于或等于45時e=13,當(dāng)y首次大于或等于90時e=9,其它情況下e=7。正向搜索模塊2還用于判斷起始點(diǎn)搜索模塊1找到的符合起始點(diǎn)條件(1)的像素點(diǎn)是否符合起始點(diǎn)條件(2),具體是:設(shè)當(dāng)前起始點(diǎn)搜索模塊1找到的符合起始點(diǎn)條件(1)的像素點(diǎn)為(xt,yt),塊大小為n1,根據(jù)正向搜索模塊2設(shè)置的搜索范圍{x∈[x1+(x1-x2)-e,x1+(x1-x2)+e],y=y(tǒng)1+n},初始不存在再前一個車道線外側(cè)邊緣線所在塊,即x2=0,因此設(shè)置下一個搜索點(diǎn)的搜索范圍:{x∈[2xt-e,2xt+e],y=y(tǒng)t+n1},利用梯度特征1在該范圍內(nèi)逐點(diǎn)搜索是否存在符合起始點(diǎn)條件(1)的像素點(diǎn),若搜索到,設(shè)像素點(diǎn)為(xt+1,yt+1),對應(yīng)根據(jù)梯度特征1擴(kuò)展的塊大小為n2,正向搜索模塊2繼續(xù)利用梯度特征1在范圍{x∈[2xt+1-xt-e,2xt+1-xt+e],y=y(tǒng)t+n2}來搜索是否符合起始點(diǎn)條件(1)的像素點(diǎn),若存在,則像素點(diǎn)為(xt,yt)根據(jù)梯度特征1擴(kuò)展得到的塊就是起始點(diǎn)所在塊。正向搜索模塊2中設(shè)置的結(jié)束條件為:(1)當(dāng)前搜索點(diǎn)y值大于150;或者(2)x值小于0或大于319;或者(3)右車道線搜索點(diǎn)進(jìn)入左車道線終點(diǎn)切線的左側(cè)。正向搜索模塊2當(dāng)檢測到如下條件時,判定車道線發(fā)生轉(zhuǎn)彎:當(dāng)搜索左車道線時,當(dāng)前搜索點(diǎn)的y>=60;當(dāng)搜索右車道線時,需搜索到的左車道線沒有出現(xiàn)變向,并且左車道線的起點(diǎn)斜率和終點(diǎn)斜率之差大于0.4。圖3展示了本發(fā)明的變向搜索模塊4搜索發(fā)生轉(zhuǎn)彎后的車道線外側(cè)邊緣線所在塊的執(zhí)行流程,具體執(zhí)行步驟如下:步驟301:設(shè)置變向搜索范圍,方法與同向搜索模塊相同;變向搜索范圍為:x∈[x1+(x1-x2)-e,x1+(x1-x2)+e],y=y(tǒng)1+n;其中,x1和y1分別為前一個車道線外側(cè)邊緣線所在塊的搜索點(diǎn)橫坐標(biāo)和縱坐標(biāo),x2為再前一個車道線外側(cè)邊緣線所在塊的搜索點(diǎn)橫坐標(biāo),當(dāng)出現(xiàn)間斷時,x1-x2取平均值;n為前一個車道線所在塊的大?。籩為調(diào)節(jié)常數(shù),當(dāng)y首次大于或等于45時e=13,當(dāng)y首次大于或等于90時e=9,其它情況下e=7;步驟302:在搜索范圍內(nèi)逐點(diǎn)計算梯度特征2值T,保存其中最大梯度特征2值的塊和搜索點(diǎn);步驟303:計算保存下來的塊的灰度特征值M;步驟304:判斷所保存的塊的M大于灰度特征的閾值,且該塊的梯度特征2值大于梯度特征2的閾值,在變向搜索模塊4中灰度特征的閾值為10,梯度特征2的閾值為11。如果同時大于閾值,則得到一個標(biāo)記為轉(zhuǎn)彎的包含有車道線外側(cè)邊緣線的塊,轉(zhuǎn)入步驟305,否則結(jié)束搜索;步驟305:更新下一個搜索點(diǎn)的y值,即y=y(tǒng)1+n,y1代表前一搜索點(diǎn)的縱坐標(biāo),n代表了前一個塊的大小;步驟306:判斷此時是否滿足結(jié)束條件:(1)當(dāng)前搜索點(diǎn)y值大于150;(2)x值小于0或大于319;(3)右車道搜索點(diǎn)進(jìn)入左車道線終點(diǎn)切線的左側(cè),只需滿足其一即可,如果滿足條件,結(jié)束搜索,否則,轉(zhuǎn)入步驟301。如果變向搜索模塊4是在步驟304結(jié)束則認(rèn)為車道線有可能發(fā)生了間斷,正向搜索模塊2輸出至變向搜索模塊4的信息同樣傳送至間斷搜索模塊3。如果變向搜索模塊4是在步驟306結(jié)束則認(rèn)為總的車道線搜索過程已經(jīng)結(jié)束,將圖像信息、所有搜索出的塊的搜索點(diǎn)坐標(biāo)、各塊的大小及發(fā)生變向搜索的塊坐標(biāo)作為輸入傳送至自適應(yīng)二值化模塊5。圖4展示了本發(fā)明的間斷搜索模塊3搜索發(fā)生間斷后的車道線起始點(diǎn)所在塊的執(zhí)行流程,具體執(zhí)行步驟如下:步驟401:確定當(dāng)前此段車道線首末點(diǎn)連線的直線方程:其中(xq,yq)和(xm,ym)分別代表首末兩個包含有車道線外側(cè)邊緣線的塊的搜索點(diǎn)的坐標(biāo);所述當(dāng)前此段車道線是指進(jìn)入間斷搜索模塊3時已經(jīng)搜索到的離間斷點(diǎn)最近的連續(xù)的那段車道線。步驟402:確定當(dāng)前搜索點(diǎn)的y值:y=y(tǒng)1+n,將得到的y值代入步驟401的直線方程,得到直線上x的值xA;步驟403:根據(jù)得到的x值設(shè)置搜索范圍中的x∈[xA-7,xA+7];步驟404:在搜索范圍內(nèi)逐點(diǎn)計算梯度特征1值T,保存其中最大梯度特征1值所對應(yīng)的搜索點(diǎn)和塊;步驟405:確定保存下來的搜索點(diǎn)的塊的灰度特征值M;步驟406:判斷保存的塊的灰度特征值大于灰度特征的閾值,且梯度特征1值大于梯度特征1的閾值,在間斷搜索模塊3中灰度特征的閾值為10,梯度特征的閾值為14。如果同時大于閾值,則找到包含車道線的塊,轉(zhuǎn)入步驟407,否則,轉(zhuǎn)入步驟408;步驟407:將滿足條件的點(diǎn)更新為下一段車道線的起始點(diǎn),并結(jié)束間斷搜索;步驟408:更新搜索點(diǎn)的y值:計算下一個塊搜索的y值:y=y1+n;步驟409:判斷此時是否滿足結(jié)束條件:(1)當(dāng)前搜索點(diǎn)y值大于150;(2)x值小于0或大于319;(3)右車道搜索點(diǎn)進(jìn)入左車道線終點(diǎn)切線的左側(cè),(4)y方向連續(xù)9個塊都沒有滿足條件的塊。只需滿足其一即可,如果滿足其中一個條件,結(jié)束搜索,否則,轉(zhuǎn)入步驟402。如果間斷搜索模塊3是在步驟407結(jié)束則認(rèn)為已經(jīng)搜索到間斷后車道線的起始塊,將此間斷后車道線起始塊信息傳回至正向搜索模塊2繼續(xù)搜索。自適應(yīng)二值化模塊5采用的二值化方法為最大類間方差法。經(jīng)過處理后,得到了部分車道線像素,及外側(cè)邊緣線上的最低點(diǎn)Pi(i=0,2,3,…,m-1),如果有轉(zhuǎn)彎,還可得到變向點(diǎn)Ps,其中m表示塊的個數(shù)。如圖8所示,為經(jīng)過自適應(yīng)二值化模塊5進(jìn)行處理的兩幅圖,圖8的a為直道,b為彎道。車道分類模塊6接收原始圖像信息、二值化后的圖像信息、外側(cè)最低點(diǎn)Pi、塊的個數(shù)m及變向點(diǎn)Ps。車道分類模塊6根據(jù)變向點(diǎn)Ps是否存在或變向點(diǎn)Ps的位置將車道分為直道、小彎道和大彎道三種路況,即:當(dāng)Ps不存在或者其下角標(biāo)s>m-3且s>2×(m-1)/3時,認(rèn)為此車道為直道或者小彎道,否則,認(rèn)為車道為大彎道;將是否為大彎道信息、原始圖像信息、二值化后的圖像信息、外側(cè)最低點(diǎn)Pi及變向點(diǎn)Ps作為輸入傳送至Bézier曲線擬合模塊7。為了使構(gòu)造的車道線準(zhǔn)確性高,彌補(bǔ)一條二階Bézier曲線造型單一及高階Bézier曲線計算量大的不足,在大彎道時采用兩條0階連續(xù)的二階Bézier曲線擬合。Bézier曲線擬合模塊7針對直道或者小彎道,使用一條二次Bézier曲線構(gòu)造車道線,針對大彎道,使用兩條二次Bézier曲線構(gòu)造車道線。在使用一條二次Bézier曲線構(gòu)造車道線時,將起點(diǎn)P0和終點(diǎn)Pm-1作為曲線的第一個和第三個控制點(diǎn),在使用兩條二次Bézier曲線構(gòu)造車道線時,將起點(diǎn)P0和變向點(diǎn)Ps的前一個點(diǎn)Ps-1作為第一條曲線的第一個和第三個控制點(diǎn),將點(diǎn)Ps-1和終點(diǎn)Pm-1作為第二條曲線的第一個和第三個控制點(diǎn);對于每條曲線的第二個控制點(diǎn),設(shè)置曲線第二個控制點(diǎn)的搜索區(qū)域,并搜索最優(yōu)控制點(diǎn),然后得到二次Bézier曲線。Bézier曲線擬合模塊7設(shè)置曲線第二個控制點(diǎn)的搜索區(qū)域,并搜索最優(yōu)控制點(diǎn),進(jìn)而構(gòu)造二次Bézier曲線,具體過程是:步驟501:將第一個控制點(diǎn)及其相鄰點(diǎn)的連線作為第一個控制點(diǎn)的近似切線,第三個控制點(diǎn)及其相鄰點(diǎn)的連線作為第三個控制點(diǎn)的近似切線,將兩個近似切線的直線方程聯(lián)立,得到交點(diǎn)PP坐標(biāo)值(xp,yp)。例如,在二值化后已經(jīng)已知了車道線外側(cè)邊緣線的起點(diǎn)P0和終點(diǎn)Pm-1,為了獲得第二個控制點(diǎn),將P0和P1的連線作為P0點(diǎn)的近似切線,Pm-1和Pm-2的連線作為Pm-1點(diǎn)的近似切線。分別利用公式(2)得到兩條直線方程,聯(lián)立后算得交點(diǎn)PP坐標(biāo)值(xp,yp)。由于一條二階Bézier曲線是由三個控制點(diǎn)決定,第一和第三個控制點(diǎn)為Bézier曲線的起點(diǎn)和終點(diǎn),第二個控制點(diǎn)為起點(diǎn)和終點(diǎn)的兩個近似切線的交點(diǎn)。交點(diǎn)的位置有以下幾種情況:(1)yp值在起點(diǎn)和終點(diǎn)的y值之間;(2)yp值不在起點(diǎn)和終點(diǎn)的y值之間;(3)PP點(diǎn)不存在,此時兩切線平行。步驟502:設(shè)置第二個控制點(diǎn)的搜索范圍。當(dāng)yp值在第一個控制點(diǎn)和第三個控制點(diǎn)的y值之間時,設(shè)置第二個控制點(diǎn)的搜索范圍為:x∈[xp-5,xp+5],y∈[yp-5,yp+5];當(dāng)yp值不在第一個控制點(diǎn)和第三個控制點(diǎn)的y值之間時,計算用于擬合當(dāng)前曲線的各相鄰兩點(diǎn)間連線的斜率,得到前后斜率相差最大的點(diǎn)Pk(xk,yk),設(shè)置第二個控制點(diǎn)的搜索范圍為:x∈[xk-5,xk+5],y∈[yk-5,yk+5];當(dāng)PP點(diǎn)不存在,設(shè)置第二個控制點(diǎn)的搜索范圍為:x∈[xk-2,xk+2],y∈[yk-2,yk+2]。步驟503:搜索使目標(biāo)函數(shù)值最大的Bézier曲線,目標(biāo)函數(shù)F(t)為:其中,gt表示曲線參數(shù)t從0取到1時曲線上點(diǎn)p的像素值,ggt表示點(diǎn)p外側(cè)相鄰點(diǎn)的像素值。二次Bézier曲線p(t)為:其中,bj表示第j+1個控制點(diǎn)。gt-ggt表示了曲線上左右相鄰點(diǎn)的像素值之差。由于將各塊進(jìn)行了二值化處理,車道線為白色255,路面為黑色0,所以在二值化后圖像中擬合車道線外側(cè)邊緣線最準(zhǔn)確的Bézier曲線的目標(biāo)函數(shù)值最大。最后在原始圖像中繪制出最優(yōu)Bézier曲線,并可通過可視化模塊9將重構(gòu)的車道線顯示給用戶,如圖9中的a~f所示,為識別出來的車道線的示意圖。從圖9可以看出,本發(fā)明基于Bézier曲線的車道線重構(gòu)裝置能夠較好的適應(yīng)路面存在陰影、前方存在車輛、路面存在其他標(biāo)志以及車道線存在間斷等復(fù)雜環(huán)境,能夠準(zhǔn)確的構(gòu)造出直道、小彎道和大彎道不同路況下的車道線。