張新雨,雷海棟,王思米1,2,
(1.西安理工大學(xué)晶體生長設(shè)備及系統(tǒng)集成國家地方聯(lián)合工程研究中心,西安 710048;2.陜西省復(fù)雜系統(tǒng)控制與智能信息處理重點(diǎn)實(shí)驗(yàn)室,西安 710048;3.西安理工大學(xué)自動(dòng)化與信息工程學(xué)院,西安 710048)
隨著汽車自動(dòng)駕駛技術(shù)的飛速發(fā)展,對(duì)目標(biāo)的精準(zhǔn)識(shí)別對(duì)于車輛的自動(dòng)行駛顯得尤為重要,其中包括對(duì)道路及道路邊沿識(shí)別、道路標(biāo)線識(shí)別、行人識(shí)別、車輛及車輛類型識(shí)別、交通標(biāo)志識(shí)別、障礙物識(shí)別和非機(jī)動(dòng)車識(shí)別[1-3]。其中對(duì)雙黃線進(jìn)行精確檢測(cè)能夠?qū)崿F(xiàn)車道偏離警告,對(duì)于實(shí)現(xiàn)車輛的完全自主駕駛,減少事故率有著十分重要的意義[4]。
對(duì)雙黃線圖像進(jìn)行分割和邊緣處理以后,其檢測(cè)問題就轉(zhuǎn)換成直線檢測(cè)問題。目前,國內(nèi)外較為流行的直線檢測(cè)方法主要有三大類:第一類是最小二乘法[5-6],該方法的原理是根據(jù)直線上的點(diǎn)利用解析的方法得到直線參數(shù),它的優(yōu)點(diǎn)是實(shí)時(shí)性較好,簡單易實(shí)現(xiàn),但缺點(diǎn)是容易受到噪聲的影響,同時(shí)檢測(cè)多條直線較為困難。第二類是霍夫變換[7-8](Hough Transform,HT)方法,該方法將提取到的圖像特征點(diǎn)轉(zhuǎn)化到參數(shù)空間,通過在參數(shù)空間里尋找峰值來完成直線檢測(cè)。雖然該方法的抗噪性好,穩(wěn)定性高,但其具有高計(jì)算量和較長時(shí)間成本,無法滿足許多實(shí)際應(yīng)用的實(shí)時(shí)要求。第三類是利用譜估計(jì)的方法進(jìn)行檢測(cè)[9-10],將含有直線的二值圖像轉(zhuǎn)換為虛擬傳感器陣列信號(hào),通過構(gòu)造遠(yuǎn)場(chǎng)信號(hào)模型和近場(chǎng)信號(hào)模型,利用譜估計(jì)方法分別搜索出直線的傾斜角和偏移量。此類方法分辨率高,抗噪性好,能夠快速地同時(shí)檢測(cè)多條直線。多重信號(hào)分類(Multiple Signal Classification,MUSIC)算法是一種經(jīng)典的譜估計(jì)方法,由于其具有超分辨率檢測(cè)精度和良好的抗噪性能被廣泛應(yīng)用[11]。但由于該方法采用對(duì)網(wǎng)格逐個(gè)遍歷的方法,使得檢測(cè)時(shí)間和精度相矛盾。
因此,本文提出了一種基于快速M(fèi)USIC算法的直線檢測(cè)方法。首先,將雙黃線圖像經(jīng)過分割和邊緣提取,得到雙黃線檢測(cè)的二值圖像,然后將其加入獨(dú)立同分布的高斯噪聲轉(zhuǎn)化成多快拍信號(hào),分別構(gòu)造遠(yuǎn)場(chǎng)模型和近場(chǎng)模型。其次,基于遠(yuǎn)場(chǎng)模型先在傾斜角的范圍內(nèi)劃分少量網(wǎng)格,利用MUSIC算法搜索到傾斜角的一次估計(jì)值,然后在傾斜角一次估計(jì)值附近再次劃分網(wǎng)格,利用MUSIC算法進(jìn)一步搜索傾斜角的估計(jì)值,從而得到直線傾斜角的估計(jì)值。再次,基于近場(chǎng)模型和傾斜角的估計(jì)值在偏移量的范圍內(nèi)劃分少量網(wǎng)格,同理,分別兩次利用MUSIC算法搜索偏移量的估計(jì)值,從而檢測(cè)到雙黃線邊緣的直線參數(shù)。最后利用道路雙黃線的圖像對(duì)本文所提方法進(jìn)行了有效性驗(yàn)證。
對(duì)道路雙黃線圖像進(jìn)行檢測(cè)的原理如下:首先對(duì)圖像進(jìn)行分割和邊緣提取,得到僅含有雙黃線邊緣的二值圖像,雙黃線的邊緣為四條直線,對(duì)四條直線進(jìn)行檢測(cè)即完成對(duì)雙黃線的檢測(cè)。假設(shè)經(jīng)過圖像分割和邊緣檢測(cè)得到M×M的二值圖D,其中,像素值為“1”的點(diǎn)表示直線上的點(diǎn),像素值為“0”的點(diǎn)表示背景點(diǎn)。如圖1所示,建立直角坐標(biāo)系,假設(shè)圖像左上角為坐標(biāo)原點(diǎn),水平向右為x軸正向,垂直向下為y軸正向,直線上的點(diǎn)滿足函數(shù)關(guān)系
(1)
圖1 圖像中的直線模型
MUSIC在1979年由Schmidt提出,是一種有效的DOA估計(jì)方法[11]。此算法的基本原理是將陣元接收到的數(shù)據(jù)進(jìn)行采樣,構(gòu)造出數(shù)據(jù)的協(xié)方差矩陣,并對(duì)其進(jìn)行特征值分解,得到相互正交的信號(hào)子空間和噪聲子空間?;谶@兩個(gè)子空間的正交特性,構(gòu)造空間譜函數(shù),通過對(duì)譜函數(shù)進(jìn)行譜峰搜索,便可以檢測(cè)到信號(hào)的DOA信息[12-13]。
如圖2所示,假設(shè)有p個(gè)不相關(guān)且均值為零的窄帶信號(hào)si(n),陣列模型由m個(gè)等間距陣元構(gòu)成,其陣元間隔為d。相鄰陣元之間由于波程差的存在,而使得接收的信號(hào)存在相位差
(2)
式中:λ為信號(hào)的波長,d≤λ/2。
圖2 均勻線陣遠(yuǎn)場(chǎng)模型
第m個(gè)陣元接收到的信號(hào)為
(3)
式中:em(n)為高斯噪聲,其均值為零,方差為σ2,a(ψi)=[1,ejωi,…,e-j(m-1)ωi]T。
將式(3)表示為矩陣的形式
X(n)=A(ψ)S(n)+E(n)
(4)
式中:A=[a(ψ1),a(ψ2)…,a(ψi)]T,S=[s1(n),s2(n)…,sp(n)]T,E=[e1(n),e2(n)…,em(n)]T。
信號(hào)X(n)的協(xié)方差矩陣為
Rx=E[X(n)XH(n)]=A(ψ)E[S(n)SH(n)]AH(ψ)+σ2I=APAH+σ2I
(5)
對(duì)Rx數(shù)據(jù)進(jìn)行特征值分解,獲得特征值和特征向量,并對(duì)其按照從大到小的順序進(jìn)行排序,前p個(gè)大的特征值為信號(hào)特征值,后m-p個(gè)小的特征值為噪聲特征值。由于噪聲特征值對(duì)應(yīng)的特征向量En=[vd+1,vd+2,…,vM]與矩陣A的列向量正交,因此可以定義譜函數(shù)
(6)
式中:a(ψ)是A的列向量。當(dāng)矩陣a(ψ)與En的各列互相正交,分母為0,但由于噪聲的存在,分母不為0,所以Pmusic(ψ)會(huì)有尖峰,因此,從譜峰就可以搜索到波達(dá)方向角ψ。
對(duì)于均勻線陣近場(chǎng)模型,第m個(gè)陣列接收到的信號(hào)為
(7)
同理,利用MUSIC算法對(duì)近場(chǎng)信號(hào)按照上述步驟進(jìn)行搜索,就可以得到DOA估計(jì)值。
由于MUSIC算法只能處理多快拍信號(hào),因此,需要對(duì)原始的含有d條直線的M×M維二值圖像D,加入L組服從相同分布、且與信號(hào)源無關(guān)的零均值高斯噪聲,得到的L組圖像分別為(D1,D2,…,DL),以構(gòu)成多快拍信號(hào)。
為建立遠(yuǎn)場(chǎng)模型,首先將二值圖像Dk,k=1,2,…,L轉(zhuǎn)換為一維矢量。定義一個(gè)向量如下
u=[1,ejμ,ej2μ,…,ej(M-1)μ]T
(8)
然后根據(jù)下式將二值圖像Dk轉(zhuǎn)換成一維矢量
(9)
a(θi)=[1,ejμtanθi,ej2μtanθi,…,ej(M-1)μtanθi]T
(10)
根據(jù)上式,L組二值圖像(D1,D2,…,DL)轉(zhuǎn)化為多快拍陣列信號(hào)Z=(z1,z2,…,zL)。因?yàn)棣萯具有線性相位特性,信號(hào)si可以被視為一個(gè)遠(yuǎn)場(chǎng)信號(hào)。
利用MUSIC算法來搜索傾斜角范圍。首先根據(jù)下式計(jì)算出信號(hào)的協(xié)方差矩陣
Rx=E(ZZH)
(11)
式中:Rx為求得的協(xié)方差矩陣。
對(duì)Rx進(jìn)行特征值分解,獲得特征值λp和特征向量αp,其中p=1,2,…,M。對(duì)特征值按從大到小順序進(jìn)行排序,信號(hào)子空間對(duì)應(yīng)于d個(gè)較大特征值的特征向量,噪聲子空間對(duì)應(yīng)于剩余(M-d)個(gè)特征值的特征向量。噪聲子空間對(duì)應(yīng)的特征向量為噪聲特征向量矩陣Gn=[αd+1,αd+2,…,αM]。
假設(shè)d條直線的傾斜角范圍均為[-90°,90°],首先將[-90°,90°]劃分為N1個(gè)網(wǎng)格,N1由傾斜角檢測(cè)分辨率決定,取[1,50]內(nèi)的整數(shù),則第v1個(gè)網(wǎng)格上的角度取值表示如下,其中v1=1,2,…,N1:
(12)
(13)
預(yù)先設(shè)定參數(shù)μ1,μ1≤(π/|tanθi|),且μ1≠μ,將二值圖(D1,D2,…,DL)轉(zhuǎn)化成另外一種虛擬陣列信號(hào)r=(r1,r2,…,rL)。
(14)
式中:Dk(x,y)為二值圖像Dk中(x,y)坐標(biāo)點(diǎn)的像素值。
根據(jù)2.1中遠(yuǎn)場(chǎng)信號(hào)估計(jì)出來的入射角,可以將近場(chǎng)模型表示為
(15)
(16)
式中:Bi為虛擬陣列導(dǎo)向矩陣。
圖4 經(jīng)過圖像處理后的二值圖
為驗(yàn)證本文方法的有效性,本文選取兩幅道路雙黃線圖像進(jìn)行驗(yàn)證,如圖3所示。圖4為經(jīng)過圖像分割和邊緣檢測(cè)后的圖像,由圖4可得,經(jīng)過處理后的雙黃線圖像共有4條直線。
圖3 照相機(jī)拍攝的道路雙黃線
為驗(yàn)證本文方法的有效性,本次實(shí)驗(yàn)將本文結(jié)果與手工標(biāo)定、傳統(tǒng)MUSIC[14]和迭代自適應(yīng)法(Iterative Adaptive Approach,IAA)[15]的結(jié)果進(jìn)行對(duì)比。
三種方法算法參數(shù)設(shè)置如下:(1)IAA和傳統(tǒng)MUSIC:d=4,μ=0.6,μ1=0.004;(2)本文方法:d=4,μ=0.555,N1=18,Δθ=10°,N2=20,μ=0.6,傾斜角檢測(cè)分辨率為1°,μ1=0.003 9,N3=29,N4=20,μ1=0.003 9,偏移量分辨率為1像素點(diǎn)。
仿真結(jié)果如圖5~圖8所示,其中,圖5分別為本文方法對(duì)圖4(a)中四條直線傾斜角估計(jì)的功率譜曲線,圖6圖分別為本文方法對(duì)圖4(a)中四條直線偏移量估計(jì)的功率譜曲線。
圖5 圖4(a)中四條直線傾斜角的功率譜
圖6 圖4(a)中四條直線偏移量的功率譜
圖7分別為本文方法對(duì)圖4(b)中四條直線傾斜角估計(jì)的功率譜曲線,圖8分別為本文方法對(duì)圖4(b)中四條直線偏移量估計(jì)的功率譜曲線。由這些圖可得,本文方法具有較強(qiáng)的旁瓣抑制能力和較高的搜索精度。
圖7 圖4(b)中四條直線傾斜角的功率譜
圖8 圖4(b)中四條直線偏移量的功率譜
表1、表2為本文方法與其他兩種方法的對(duì)比結(jié)果,由表1、表2可得,本文方法與MUSIC算法都能夠精確檢測(cè)到四條直線的傾斜角和偏移量,而IAA存在一定較小的誤差。而由于IAA采用迭代策略,所以時(shí)間較長,傳統(tǒng)MUSIC算法使用窮舉策略,將所有有效范圍全部劃分網(wǎng)格,增加了搜索時(shí)間。本文方法采用兩次劃分網(wǎng)格的思想,在不降低MUSIC算法檢測(cè)精度的前提下,將檢測(cè)速度提高了40%,是一種快速精確的直線檢測(cè)方法,對(duì)自動(dòng)駕駛的雙黃線檢測(cè)具有重要的意義。
表1 本文與其他兩種方法的比較結(jié)果(圖4(a))
表2 本文與其他兩種方法的比較結(jié)果(圖4(b))
本文提出了一種基于快速M(fèi)USIC算法的直線擬合方法,基于二值圖建立了遠(yuǎn)場(chǎng)信號(hào)與近場(chǎng)信號(hào)模型,通過多次劃分網(wǎng)格,減少使用MUSIC算法的次數(shù),從而在不變檢測(cè)精度的同時(shí)能夠快速地獲得雙黃線的傾斜角和偏移量的估計(jì)值。與傳統(tǒng)MUSIC算法以及IAA方法相比較,本文方法速度最快,精度與其他兩種相同。因此,本文方法是一種高效的直線檢測(cè)方法,對(duì)汽車自動(dòng)駕駛偏離車道,減少事故的發(fā)生有著重要的實(shí)際意義。