許艷偉, 李 建
(同方威視技術(shù)股份有限公司,北京 100084)
隨著電子技術(shù)的發(fā)展和經(jīng)濟(jì)的增長(zhǎng),無(wú)人駕駛智能車(chē)輛已經(jīng)在安檢、快遞等行業(yè)中得到了廣泛的應(yīng)用[1]。
無(wú)人駕駛智能車(chē)輛通過(guò)搭載的各種傳感器感知附近的道路信息,并且能夠及時(shí)處理該信息,從而規(guī)劃出合適的行進(jìn)路線[2]。視覺(jué)導(dǎo)向是指利用車(chē)載攝像機(jī)獲取當(dāng)前環(huán)境圖像,通過(guò)機(jī)器視覺(jué)算法,計(jì)算出智能車(chē)的當(dāng)前位置,并對(duì)其下一步行動(dòng)做出規(guī)劃控制。隨著電子技術(shù)的發(fā)展,計(jì)算機(jī)運(yùn)算性能和攝像機(jī)獲取圖像清晰度的提高成為智能車(chē)自主導(dǎo)向的優(yōu)選研究方向;而且,視覺(jué)導(dǎo)向系統(tǒng)成本低,對(duì)行駛環(huán)境要求低,圖像可挖掘的信息量大,是無(wú)人智能車(chē)較為主流的導(dǎo)向系統(tǒng)。
基于機(jī)器視覺(jué)的車(chē)道線檢測(cè)技術(shù)為無(wú)人智能車(chē)行駛提供決策控制信息。車(chē)道線的位置信息[3]和形狀特征[4]是車(chē)道線提取的核心信息。通過(guò)機(jī)器視覺(jué)算法,提取圖像中的車(chē)道線區(qū)域,計(jì)算出車(chē)道線和智能車(chē)的相對(duì)位置,進(jìn)而控制智能車(chē)的行駛。根據(jù)車(chē)道線提取算法的原理不同,車(chē)道線提取方法可以分為基于模型的方法和基于特征的方法兩類(lèi)[5]。
基于模型的方法對(duì)常見(jiàn)車(chē)道線的幾何形狀進(jìn)行建模,采用曲線模型來(lái)描述車(chē)道線,從而獲得準(zhǔn)確的車(chē)道線區(qū)域。文獻(xiàn)[6]提出了直線結(jié)合拋物線模型的方法獲取車(chē)道線,該方法對(duì)遠(yuǎn)景區(qū)域道路使用拋物線模塊,對(duì)近景區(qū)域道路使用直線模型,實(shí)現(xiàn)對(duì)車(chē)道線區(qū)域的提取。文獻(xiàn)[7]提出了基于雙曲線模型的車(chē)道線檢測(cè)方法,該方法將圖像中車(chē)道線區(qū)域分模塊處理,對(duì)每個(gè)模塊區(qū)域內(nèi)的車(chē)道線像素進(jìn)行聚類(lèi),結(jié)合車(chē)道線消失點(diǎn)的位置,進(jìn)而計(jì)算出雙曲線模型參數(shù),實(shí)現(xiàn)對(duì)車(chē)道線的檢測(cè)。文獻(xiàn)[8]提出了B樣條曲線模型方法,采用逆投影變換算法將車(chē)道線圖像轉(zhuǎn)換成鳥(niǎo)瞰圖,對(duì)圖像進(jìn)行平滑濾波算法處理,采用隨機(jī)采樣一致性算法,擬合出車(chē)道線輪廓[8]。
基于特征的方法使用車(chē)道線區(qū)域的圖像信息[9],采用區(qū)域生長(zhǎng)、閾值分割等算法檢測(cè)車(chē)道線,采集幾何形狀和顏色等車(chē)道線的特征。文獻(xiàn)[10]提出了一種基于逆透視投影法和自適應(yīng)閾值的亮度變換方法提取車(chē)道線特征。文獻(xiàn)[11]提出了一種基于車(chē)道線邊緣特征的檢測(cè)方法,該方法對(duì)圖像處理算法進(jìn)行了優(yōu)化,提高了車(chē)道線檢測(cè)的精度,降低了算法耗時(shí)。在該方法中,車(chē)道線輪廓特征提取會(huì)受到輸入圖像噪聲的干擾。因此,當(dāng)車(chē)道線輪廓特征提取忽略顏色特征時(shí),容易受到各種不穩(wěn)定因素的干擾,如光照、干擾物陰影等,從而導(dǎo)致車(chē)道線提取失敗。
基于上述問(wèn)題,本文提出了一種基于序列圖像車(chē)道線檢測(cè)的自主導(dǎo)向方法。首先,將彩色攝像機(jī)安裝在車(chē)體的前方,采集地面彩色車(chē)道線的RGB圖像,將RGB圖像轉(zhuǎn)換成HSV圖像格式,設(shè)定車(chē)道線的感興趣區(qū)域(Region of Interest,ROI),對(duì)S和V通道的圖像采用提出的區(qū)域垂直斜分OTSU算法分割出車(chē)道線區(qū)域;然后融合H、S、V通道的二值化圖像,通過(guò)Canny算子對(duì)融合后圖像的車(chē)道線進(jìn)行邊緣提取,結(jié)合提出的參數(shù)約束Hough變換辨識(shí)出車(chē)道標(biāo)識(shí)線;最后,根據(jù)連續(xù)序列圖像中識(shí)別出的車(chē)道線位置,結(jié)合軌跡預(yù)測(cè)算法,計(jì)算出車(chē)體的位姿,依據(jù)建立的路徑跟蹤模型,輸出導(dǎo)向控制策略,進(jìn)而控制無(wú)人智能車(chē)的左右打輪幅值,系統(tǒng)流程圖如圖1所示。該方法可以適用于不同的干擾和光照工況,增強(qiáng)車(chē)道線辨識(shí)的魯棒性,提高導(dǎo)向的精度。
圖1 基于序列圖像車(chē)道線檢測(cè)的自主導(dǎo)向方法流程圖
目前,在車(chē)道線導(dǎo)向方面,常用的方法仍是提取顏色信息和幾何特征方法[13]。在實(shí)際應(yīng)用中,目標(biāo)模塊提取的閾值會(huì)隨著檢測(cè)距離、天氣、時(shí)間等因素的不同而改變,特別是在光線突變時(shí),檢測(cè)出的車(chē)道線丟失較多。因此,為提高基于顏色信息提取車(chē)道線的魯棒性,本文利用HSV模型的特點(diǎn),對(duì)彩色車(chē)道線進(jìn)行了檢測(cè),較大程度地提高了車(chē)道線檢測(cè)的精度與穩(wěn)定性[12]。
對(duì)于車(chē)道線,當(dāng)光照發(fā)生變化時(shí),其顏色的R、G、B分量值都將發(fā)生明顯變化,而其 H通道和S通道的灰度值幾乎保持不變(紅色除外),V通道灰度值發(fā)生較明顯變化。因此,將RGB彩色圖像轉(zhuǎn)換為HSV色彩模型的圖像,結(jié)合H、S、V這3個(gè)通道的圖像特征,進(jìn)行彩色圖像分割,能提高車(chē)道線特征提取算法對(duì)光照變化的魯棒性。
在機(jī)器視覺(jué)領(lǐng)域中,根據(jù)目標(biāo)出現(xiàn)范圍,將圖像中部分區(qū)域作為目標(biāo)候選區(qū)域,稱(chēng)該區(qū)域?yàn)镽OI。
智能車(chē)前方包含車(chē)道線的圖像區(qū)域是檢測(cè)任務(wù)的重點(diǎn)區(qū)域,從該圖像區(qū)域中,選取合適的ROI,能有效排除遠(yuǎn)處的干擾物,同時(shí)減小圖像尺寸,提高特征提取的魯棒性,減少計(jì)算量。
在傳統(tǒng)OTSU閾值分割算法中,對(duì)于大小為M×N的圖像f(m,n),使用向量[f(m,n),g(m,n)]表示時(shí),定義并計(jì)算其二維直方圖。將其二維直方圖定義在一個(gè)大小為L(zhǎng)×L的正方形區(qū)域內(nèi),其橫坐標(biāo)f(m,n)代表圖像的像素灰度值,其縱坐標(biāo)g(m,n)代表此像素的鄰域平均灰度值。直方圖上任意一點(diǎn)的值定義為Pij,它表示的是向量(i,j)出現(xiàn)的頻率,向量(i,j)表示的是[f(m,n),g(m,n)],且有0≤i,j (1) 圖2為圖像的二維直方圖的定義域。利用門(mén)限向量(s,t)可將圖3所示的原始圖像的二維直方圖按定義域分割為4個(gè)區(qū)域。由于目標(biāo)或背景內(nèi)部像素之間有很強(qiáng)的關(guān)聯(lián)性,其像素灰度值和鄰域灰度平均值非常接近;而處在目標(biāo)或背景邊界的像素點(diǎn)的灰度值和鄰域灰度平均值差異就很大。基于以上對(duì)圖像的認(rèn)識(shí),圖3中的區(qū)域0對(duì)應(yīng)背景,區(qū)域1對(duì)應(yīng)目標(biāo),而區(qū)域2和3代表邊界附近的像素和噪聲分布。在通常情況下,處于邊界附近的目標(biāo)信息和噪聲像素點(diǎn)數(shù)量與單幅圖像的像素?cái)?shù)量相比較少,因此假設(shè)在區(qū)域2和3中Pij≈0[14]。 圖2 圖像的二維直方圖的OTSU定義域 圖3 原始圖像及其二維直方圖 由圖3可知,二維直方圖中的像素點(diǎn)基本都分布在主對(duì)角線附近,由于傳統(tǒng)OTSU算法在區(qū)域分割時(shí),忽略了區(qū)域2和3的邊界附近的像素和噪聲信息,導(dǎo)致在計(jì)算閾值時(shí)出現(xiàn)偏差,降低了目標(biāo)區(qū)域分割精度。為了減少錯(cuò)分像素點(diǎn)對(duì)圖像分割性能的影響,在進(jìn)行區(qū)域分割時(shí),應(yīng)將有效的數(shù)據(jù)點(diǎn)劃分為目標(biāo)和背景區(qū)域。 針對(duì)上述問(wèn)題,基于二維直方圖區(qū)域分割方法,本文提出一種基于最優(yōu)閾值點(diǎn)的區(qū)域垂直斜分OTSU算法。在該算法中,(s,t)是二維OTSU的最佳分割閾值,新的劃分方式是過(guò)閾值點(diǎn)(s,t)畫(huà)一條如圖4中虛線所示的直線AB,該直線與過(guò)(s,t)的直線OD垂直,將基于向量[f(m,n),g(m,n)]的二維直方圖劃分為目標(biāo)和背景兩部分。該分割線的幾何方程為t2+s2-si=tj,(i,j)為直方圖中的點(diǎn),最佳閾值線為直線AB。 圖4 二維直方圖OTSU區(qū)域斜分示意圖 將直線AB切割得到的直方圖兩側(cè)區(qū)域分別命名為C0、C1,C0與C1的類(lèi)概率為 (2) 類(lèi)均值為 (3) (4) 二維直方圖上總的均值矢量為 (5) 顯然有 mt=ω0·m0+ω1·m1 (6) 在進(jìn)行圖像二維閾值分割時(shí),關(guān)于區(qū)域的類(lèi)方差定義為 (7) (8) 則關(guān)于圖像總的類(lèi)方差可定義為 v=v0+v1 (9) 則求取最佳閾值的準(zhǔn)則函數(shù)為 (10) 圖像的閾值分割方式為 (11) 式中:r(x,y)為分割圖像坐標(biāo)(x,y)處的值。 通過(guò)傳統(tǒng)OTSU算法和本文算法分別對(duì)不同的原始圖像進(jìn)行分割與比較,如圖5所示,從圖5中可見(jiàn),針對(duì)黃色導(dǎo)向線和紅外汽車(chē)圖像的分割,由于圖像中存在噪聲和灰度中間值,導(dǎo)致圖5(b)和圖5(e)中的傳統(tǒng)OTSU算法不能有效地提取出目標(biāo)區(qū)域。本文提出的算法,利用區(qū)域垂直斜分,很好地解決了目標(biāo)和背景連接處的灰度中間值問(wèn)題,可以有效提取目標(biāo)區(qū)域。 圖5 不同分割方法效果圖 在視覺(jué)導(dǎo)向系統(tǒng)中,當(dāng)攝像機(jī)在拍攝圖像時(shí),光照不理想、存在場(chǎng)地隨機(jī)干擾物等情況都會(huì)使圖像質(zhì)量變差,導(dǎo)致閾值分割后的圖像邊緣凹凸不齊。 使用形態(tài)學(xué)處理方法,從殘缺、畸形的形狀中獲取車(chē)道線幾何形狀特征,須先采用膨脹運(yùn)算,為檢測(cè)到的 車(chē)道線區(qū)域邊界增添像素點(diǎn),再使用腐蝕運(yùn)算來(lái)刪除孤立多余的像素點(diǎn)。結(jié)合膨脹運(yùn)算和腐蝕運(yùn)算來(lái)執(zhí)行閉運(yùn)算,進(jìn)而獲取完整的車(chē)道線幾何形狀特征。 針對(duì)形態(tài)學(xué)處理后的二值化圖像,采用基于雙閾值的Canny邊緣檢測(cè)算子,其中檢測(cè)值大于閾值上界的為強(qiáng)邊界,小于閾值下界的不是邊界,兩者之間的為弱邊界,通過(guò)弱邊界圖像對(duì)強(qiáng)邊界圖像進(jìn)行檢測(cè),填補(bǔ)缺失的邊緣?;陔p閾值的Canny邊緣檢測(cè)算子能有效地剔除噪聲干擾,獲取完整的邊緣,準(zhǔn)確提取單像素寬的車(chē)道線邊緣特征。Canny 算子模板檢測(cè)效果如圖6所示。 圖6 Canny算子模板檢測(cè)效果 Hough變換是從圖像中識(shí)別幾何形狀的基本方法,其將圖像坐標(biāo)變換到參數(shù)空間,變換的實(shí)質(zhì)是利用點(diǎn)與線的對(duì)偶性,將圖像空間內(nèi)具有一定關(guān)系的像元進(jìn)行聚類(lèi),進(jìn)而求解參數(shù)空間中的峰值。 在直角坐標(biāo)系中,直線的方程用y=kx+q表示,該形式的直線方程不能表示x=c形式的垂線 (此時(shí)垂線斜率為無(wú)窮大,即k→∞),因此采用參數(shù)方程: ρ=xcosθ+ysinθ (12) 式中:ρ為直線到原點(diǎn)的法線距離;θ為法線與對(duì)應(yīng)的x軸夾角;車(chē)道線圖像的點(diǎn)映射到參數(shù)空間ρ-θ是直線。 Hough變換的幾何解析性簡(jiǎn)單,魯棒性好,但也有一定的局限性:若ρ和θ量化的精度過(guò)高,則圖像的計(jì)算量增大,相反則參數(shù)空間的聚類(lèi)效果較差;參數(shù)空間形成后,若閾值選取較大將造成漏檢,若閾值取值過(guò)小又會(huì)形成許多虛假直線。 利用Hough變換能夠提取出車(chē)道線,但也容易將人行橫道、道路減速帶、路邊圍欄等具有直線特征的對(duì)象檢測(cè)為車(chē)道線,因此必須剔除干擾因素,并準(zhǔn)確提取車(chē)道線的端點(diǎn)坐標(biāo)。 針對(duì)Hough變換的缺陷,結(jié)合視覺(jué)導(dǎo)向的需求,提出一種基于參數(shù)約束的Hough變換算法,改進(jìn)方法如下: (1) 累加最大點(diǎn)數(shù)約束。 在圖像坐標(biāo)空間中,遍歷全部像素點(diǎn)(xi,yi),通過(guò)Hough變換,計(jì)算出對(duì)應(yīng)的參數(shù)點(diǎn)(ρi,θi),建立參數(shù)空間下二維累加數(shù)組A(ρ,θ),遍歷所有的累加數(shù)組,依據(jù)設(shè)定的交點(diǎn)數(shù)量閾值,將累加值數(shù)量大于閾值的最大3組單元作為直線參數(shù)。 (2) 極角約束。 在設(shè)定的感興趣區(qū)域內(nèi),根據(jù)車(chē)道線在圖像中的特性,篩除斜率過(guò)大和過(guò)小的直線,即約束極角θ的范圍。本文將車(chē)道線參數(shù)極角約束為θ∈ [-45°,45°]。 圖7為改進(jìn)后的參數(shù)約束 Hough算法檢測(cè)效果圖。通過(guò)對(duì)比,約束后的 Hough 變換剔除了橫向直線和短直線等的干擾,正確地提取了車(chē)道線特征。 圖7 參數(shù)約束Hough算法效果 視覺(jué)導(dǎo)向的無(wú)人駕駛智能車(chē)輛行駛控制與駕駛員實(shí)際駕駛車(chē)輛行為相似,通過(guò)連續(xù)感知前方車(chē)道線信息,經(jīng)過(guò)相應(yīng)圖像算法處理,預(yù)測(cè)車(chē)輛將要行駛的路線,結(jié)合前方車(chē)道線信息進(jìn)行不斷修正,使得車(chē)輛能按照規(guī)劃的軌跡行駛。 在自動(dòng)導(dǎo)向中,利用車(chē)道線檢測(cè)算法,計(jì)算出行駛中車(chē)輛的當(dāng)前位置坐標(biāo);然后采用線性回歸模型,結(jié)合前序時(shí)刻的車(chē)輛位置坐標(biāo),擬合出車(chē)體姿態(tài),輸出車(chē)體的偏移狀態(tài);同時(shí)預(yù)測(cè)下一時(shí)刻車(chē)輛的位置信息。 本文以檢測(cè)出的車(chē)道線位置為基礎(chǔ),搭建導(dǎo)向控制模型,模擬駕駛員的駕駛行為,進(jìn)行無(wú)人駕駛智能車(chē)輛的軌跡追蹤控制。 依據(jù)線性回歸模型預(yù)測(cè)的車(chē)輛下一時(shí)刻的坐標(biāo),計(jì)算出車(chē)頭與導(dǎo)向線的垂直偏差距離d;根據(jù)線性回歸模型擬合結(jié)果,計(jì)算出車(chē)頭與車(chē)尾的偏移量k,根據(jù)式(13),結(jié)合閾值參數(shù)p1和p2,輸出智能車(chē)打輪的角度,進(jìn)而實(shí)現(xiàn)自主導(dǎo)向功能。 rank=k/p1+d/p2 (13) 在自主導(dǎo)向過(guò)程中,若需要車(chē)輛快速地逼近導(dǎo)向線,可增大車(chē)頭與導(dǎo)向線的垂直偏差距離的權(quán)重,減小參數(shù)p2;若需要車(chē)輛平穩(wěn)地收斂于基準(zhǔn)導(dǎo)向線,可增加車(chē)頭與車(chē)尾偏移量的權(quán)重,減小參數(shù)p1。依據(jù)不同的權(quán)重和參數(shù)值,實(shí)現(xiàn)不同的導(dǎo)向性能。 本文實(shí)驗(yàn)中用于導(dǎo)引的彩色車(chē)道線是一條黃色邊界線,分別采用正常光照和夜間補(bǔ)光燈工況下的直線以進(jìn)行檢測(cè);車(chē)載控制系統(tǒng)的工控機(jī)型號(hào)為 Nuvo-6108,工業(yè)攝像機(jī)型號(hào)為 DS-2CD2035。實(shí)車(chē)測(cè)試環(huán)境和現(xiàn)場(chǎng)情況如圖8和圖9所示,圖8為干擾物、正常光照工況和夜間補(bǔ)光燈工況測(cè)試環(huán)境,圖9為智能車(chē)、測(cè)試設(shè)備安裝圖和現(xiàn)場(chǎng)測(cè)試圖。 圖8 不同工況測(cè)試環(huán)境 圖9 智能車(chē)、測(cè)試設(shè)備安裝圖和現(xiàn)場(chǎng)測(cè)試圖 為充分論證本文方法的性能,分別從實(shí)時(shí)性、魯棒性和精度3個(gè)方面進(jìn)行測(cè)試。通過(guò)分析不同光照條件下傳統(tǒng)OTSU閾值分割和Hough變換直線檢測(cè)方法、本文提出的區(qū)域垂直斜分OTSU閾值分割和參數(shù)約束Hough變換方法兩種方式,驗(yàn)證方法的實(shí)時(shí)性、魯棒性和精度。分別對(duì)比兩種方式結(jié)合最小二乘法(Least Square,LS)的導(dǎo)向控制效果,將車(chē)輪控制結(jié)果輸入后續(xù)車(chē)體行駛環(huán)節(jié),采用車(chē)輪與車(chē)道線的橫向距離來(lái)驗(yàn)證車(chē)道線檢測(cè)方法的精度,實(shí)驗(yàn)以偏離黃線10 cm為基準(zhǔn),20 m距離往返50次,測(cè)量在兩個(gè)端頭的偏移量,實(shí)驗(yàn)結(jié)果如表1和表2所示。 表1 不同測(cè)試條件下算法性能對(duì)比 表2 車(chē)道線檢測(cè)準(zhǔn)確性性能分析 由表1可知,在正常光照和補(bǔ)光燈兩種工況下,本文方法比傳統(tǒng)OTSU+Hough變換方法的識(shí)別率分別提升了5.2%和4.8%,平均算法執(zhí)行時(shí)間減少了12.9 ms和13.3 ms?;诶碚摲治?本文提出的OTSU閾值分割算法能準(zhǔn)確提取車(chē)道線區(qū)域,提高了車(chē)道線識(shí)別率,基于參數(shù)約束的Hough變換算法,剔除了干擾直線,減少了提取的直線數(shù)量,降低了算法執(zhí)行時(shí)間。實(shí)驗(yàn)結(jié)果表明,本文所提出的車(chē)道線檢測(cè)算法抗干擾性能良好,能有效適應(yīng)存在的干擾物和不同的光照工況,具有較高的辨識(shí)準(zhǔn)確率。 為了比較2種方法的性能,對(duì)視頻中檢測(cè)出的導(dǎo)向線的位置采用最大偏移量、偏移量絕對(duì)均值和均方差3個(gè)參數(shù)進(jìn)行對(duì)比,表2顯示了3種指標(biāo)的實(shí)際值。由表2可知,在相同光照條件下,本文所提出的軌跡預(yù)測(cè)算法的最大偏移量、偏移量絕對(duì)值和均方差較小,導(dǎo)向精度較高。 基于機(jī)器視覺(jué)的車(chē)道線檢測(cè)技術(shù)能夠?yàn)闊o(wú)人駕駛智能車(chē)輛提供行駛所需要的決策控制信息;通過(guò)機(jī)器視覺(jué)算法,將車(chē)道線從圖像中提取出來(lái),計(jì)算出車(chē)輛相對(duì)車(chē)道的位置等信息,進(jìn)而控制無(wú)人駕駛智能車(chē)輛自動(dòng)行駛。 本文提出了一種基于序列圖像車(chē)道線檢測(cè)的自主導(dǎo)向方法。該方法采用區(qū)域垂直斜分OTSU算法,實(shí)現(xiàn)了圖像中目標(biāo)的邊緣提取,依據(jù)提出的參數(shù)約束Hough變換,辨識(shí)出車(chē)道標(biāo)識(shí)線;最后,結(jié)合序列圖像中車(chē)道線位置計(jì)算出車(chē)體的位姿,根據(jù)建立的導(dǎo)向控制模型控制智能車(chē)的左右打輪幅值。 理論分析和實(shí)驗(yàn)結(jié)果表明,該方法中,基于HSV圖像的區(qū)域垂直斜分OTSU算法能準(zhǔn)確實(shí)現(xiàn)車(chē)道線區(qū)域提取,提高了車(chē)道線檢測(cè)的魯棒性和精度,采用ROI和參數(shù)約束Hough變換,降低了計(jì)算量,提高了系統(tǒng)的實(shí)時(shí)性;本文提出的智能車(chē)自主導(dǎo)向方法,有效地增強(qiáng)了車(chē)道線辨識(shí)的魯棒性,提高了導(dǎo)向的精度。2 車(chē)道線檢測(cè)及導(dǎo)向策略
2.1 車(chē)道線的邊緣檢測(cè)
2.2 參數(shù)約束的Hough變換
2.3 導(dǎo)向控制模型
3 實(shí)驗(yàn)與分析
4 結(jié)束語(yǔ)