田 順 田山山 楊 煒 魏 朗▲ 陳 濤
(1.長安大學(xué)汽車學(xué)院 西安 710064;2.比亞迪汽車有限公司汽車工程研究院 西安 710119)
行車視距對公路運營安全至關(guān)重要[1-2]。視覺測距是1種可靠且應(yīng)用廣泛的距離測量方法[3-4]。在交通安全領(lǐng)域,一般可利用車載攝像頭獲取外界圖像信息,再根據(jù)圖像處理、目標(biāo)檢測和幾何變換等技術(shù)獲取所需的距離信息,被廣泛應(yīng)用于碰撞預(yù)警、路徑規(guī)劃和環(huán)境感知等眾多領(lǐng)域中[5]。視覺測距技術(shù)根據(jù)視覺傳感器數(shù)量不同可以分為基于單目視覺的測距技術(shù)和基于立體視覺的測距技術(shù)。單目視覺測距技術(shù)利用單個視覺傳感器獲取圖像信息,根據(jù)攝像機成像原理或幾何關(guān)系尋找二維圖像像素點坐標(biāo)與對應(yīng)空間點世界坐標(biāo)之間的轉(zhuǎn)換關(guān)系,進而獲取實際距離信息[6]。立體視覺測距技術(shù)利用2個或2個以上視覺傳感器采集圖像信息,目前大多采用雙目視覺系統(tǒng),通過攝像機標(biāo)定和特征點匹配等技術(shù)獲得視差圖,經(jīng)特定轉(zhuǎn)換獲得實際距離,但需要進行復(fù)雜的圖像匹配,匹配效果對測距精度影響較大[7]。
高波[8]采用行掃描的方法對車道線虛線特征點進行提取,然后以特征點為基礎(chǔ)進行視距計算。白琛琛[9]提取出外側(cè)車道線,并以此為界尋找車道選線特征點,極大地避免了干擾點的影響。Chen等[10]采用車道投影模型描述圓形車道線邊界,并結(jié)合車道特征、車道梯度模型等進一步確定車道線位置。為了在陰影等因素干擾下準(zhǔn)確提取車道線,Agrawal等[11]使用簡單線性迭代對圖像分類,能夠在干擾條件下提取出車道線。Schomerus等[12]采用自適應(yīng)稀疏中值預(yù)處理并結(jié)合模型擬合的方法對車道線邊界進行提取,在把車道線簡化成直線的情況下,可以在具有任意車道邊界特征的道路環(huán)境下穩(wěn)健檢測車道邊界。Park等[13]根據(jù)圖像中車輛底部與虛擬地平線的位置關(guān)系和相機成像的幾何模型計算車輛距相機的實際距離,該方法在無車道標(biāo)識線的情況下也同樣適用。以車道線特征點為基礎(chǔ)的辦法存在提取精度不高的問題,選用其他參照系在公路視距計算中則精度更低。陳雨人等[14]將道路曲線的6個特征值作為形狀參數(shù),基于支持向量機算法建立視距計算模型。Lebmann等[15]針對車輛跟蹤場景提出1種基于概率的單目視覺距離估計方法。該方法從車輛分類器獲取寬度約束,利用貝葉斯估計器將寬度和車輛動態(tài)俯仰角信息結(jié)合起來,估計前方車輛與自車的距離。Jwp等[16]使用卷積神經(jīng)網(wǎng)絡(luò)以及自動編碼器進行車道線識別。使用機器學(xué)習(xí)以及深度學(xué)習(xí)等方法對識別精度有了一定的提高,但存在計算量較大等問題。
鑒于此,提出1種基于車道線虛線角點的行車視距計算模型,根據(jù)提取的虛線角點建立世界坐標(biāo)與圖像坐標(biāo)的轉(zhuǎn)換關(guān)系矩陣,繼而得到行車視距的計算模型。
道路圖像中存在諸如樹木、天空和建筑物等干擾因素,以及圖像在形成與傳輸過程中易受傳感器元件和傳輸介質(zhì)等因素的影響,容易產(chǎn)生圖像噪聲,所以須對采集的道路圖像進行預(yù)處理,減小非車道線像素的干擾。預(yù)處理的步驟如下。
1)道路圖像灰度化?;叶然幚砟軌?qū)z像機采集的彩色多通道彩色圖轉(zhuǎn)換為單通道灰度圖。本文采用加權(quán)平均法進行灰度化處理。
2)道路圖像濾波降噪。選擇中值濾波方法對道路圖像進行降噪處理,它能夠較好地去除噪聲并且保證邊緣模糊較小[16]。
3)閾值分割。閾值分割是將圖像像素點劃分為目標(biāo)區(qū)域和背景區(qū)域的過程,根據(jù)圖像灰度等級設(shè)定1個或幾個閾值,將圖像轉(zhuǎn)化為僅有黑白2種顏色的二值圖。將閾值T設(shè)置為160進行單閾值分割,見式(1)。
式中:I(i,j)為處理后的像素點灰度值;I'(i,j)為原始像素點灰度值。
為減少天空區(qū)域?qū)罄m(xù)車道線檢測的干擾,根據(jù)攝像機安裝高度和角度,筆者在閾值分割的基礎(chǔ)上,將道路圖像1/2高度以上部分圖像的灰度值設(shè)為0,以減小天空區(qū)域?qū)τ嬎愕挠绊憽?/p>
車道線虛線的長度、寬度和線間間隔均為定值,是求解車道線長度的天然參照物。通過建立世界坐標(biāo)系,結(jié)合車道線虛線的實際長度和寬度,可以獲取其角點的世界坐標(biāo),然后根據(jù)世界坐標(biāo)與提取的圖像像素坐標(biāo)的數(shù)學(xué)轉(zhuǎn)換關(guān)系即可得到角點在世界坐標(biāo)的位置。
由于車道線虛線為長方形,其各角點坐標(biāo)之間存在一定數(shù)學(xué)關(guān)系,因此本文采用基于輪廓邊緣的方法對角點進行檢測與提取,提取流程見圖1。
圖1 車道線虛線角點檢測與提取流程圖Fig.1 Flowchart of detection and extraction of dotted line corners of roadways
計算輪廓邊界點尖銳度時,應(yīng)以局部支撐區(qū)域內(nèi)近似角度描述輪廓點尖銳程度,進而能夠快速判斷出輪廓的候選角點,然后采用最大、最小距離聚類算法提取輪廓對應(yīng)的角點坐標(biāo)。角點坐標(biāo)提取后,還應(yīng)以車道線虛線角點的圖像特征作為約束條件進一步篩選。
輪廓提取是進行角點檢測的前提,輪廓跟蹤法能夠準(zhǔn)確地獲取邊界點并將輪廓邊界點坐標(biāo)按照一定序列進行存儲[17],輪廓提取主要包括以下5個步驟。
步驟1。針對二值化圖像,從左向右、由上至下遍歷像素點,將滿足式(2)的像素點設(shè)置為輪廓起始點M0。
步驟2。在M0的8鄰域內(nèi)按照圖2中0~7的順序?qū)ο袼攸c灰度值進行判斷,若其值為255,則將其設(shè)置為下1個輪廓點M1。
圖2 鄰域判斷順序圖Fig.2 Neighboring area judgment sequence diagram
步驟3。在M1的8鄰域內(nèi)按照同樣方法尋找下一輪廓點,直至回到M0或其鄰域內(nèi)無白色點為止。
步驟4。將M0,M1,…,Mn存入1個輪廓點集并改變其灰度值,避免重復(fù)檢測。
步驟5。重復(fù)步驟1~4,直至遍歷所有圖像像素點,提取出圖像中所有輪廓。
考慮到車道線虛線在圖像中的位置和大小等因素,以及為了剔除非道路輪廓的干擾,本研究以輪廓的總點數(shù)作為篩選條件,保留總點數(shù)在50~300范圍間的輪廓進行后續(xù)操作。
圖3是局部輪廓線放大示意圖,圖3中Mi-m,Mi,Mi+m為輪廓線上間隔為m的3個像素點,其余像素點未標(biāo)出;Mi-m和Mi+m間所有像素點的集合稱為Mi的支撐區(qū)域;m一般取3~5;α為支撐角。
圖3 局部輪廓線放大示意圖Fig.3 Schematic diagram of local contour line
當(dāng)Mi-m,Mi,Mi+m在1條直線上時,α=180°,此時
當(dāng)α逐漸減小,式(3)趨近于0,即Mi為角點并且角度越來越尖銳。
因此,在Mi較小的支撐區(qū)域內(nèi),可用上述比值來近似表示支撐角α的大小,進而作為角點判定的依據(jù)??捎檬剑?)對Mi點尖銳度進行定義,α越小,則尖銳度越大[18]。
式中:s為輪廓點Mi的尖銳度,無量綱;i為輪廓點,i=1,2,…,n;m一般取3~5。當(dāng)尖銳度s大于判定閾值ST時,Mi為候選角點,閾值ST的取值與輪廓線的彎曲程度以及m的大小有關(guān),本文取m=3,ST=0.05。
提取出的候選角點并非輪廓的真實角點,其大多分布于真實角點周圍,見圖4(a),輪廓法提取的點簇為候選角點,因此需要對候選點進一步篩選。根據(jù)候選角點的分布特征,本文采用最大最小距離聚類算法對候選角點進行分類,將每一類中尖銳度最大的點判定為真實角點。最大、最小距離算法[19]能夠智能地確定聚類中心的個數(shù),步驟如下。
步驟1。選取輪廓中1個候選角點為第1個中心O1。
步驟2。計算候選角點到第1個中心O1的距離DIS1={O11,O21,…,On1},將距離最大的點設(shè)置為第2個中心O2。
步驟3。計算候選角點到第2個中心O2的距離DIS2={O12,O22,…,On2}。
步驟4。計算第1個中心O1到第2個中心O2的距離D12,判斷max{min{Oi1,Oi2}}是否大于μD12。若大于,則其對應(yīng)點為第3個中心O3,執(zhí)行步驟(5),若小于,則結(jié)束尋找中心。其中,μ為比例系數(shù),范圍為0<μ<1,根據(jù)聚類結(jié)果對其進行調(diào)整和確定。
步驟5。計算候選角點到第3個中心O3的距離DIS3={O13,O23,…,O n3},判斷max{min{Oi1,Oi2,Oi3}}是否大于μD12,若大于,則其對應(yīng)點為O4,若小于,則結(jié)束尋找中心,以此類推,直至結(jié)束。
步驟6。按照最鄰近原則將候選角點歸類至距離最近的中心點,提取各類點中尖銳度最大點作為角點,并根據(jù)角點坐標(biāo)按照從上到下、由左至右順序進行排列。局部提取結(jié)果見圖4(b)中點。
圖4 輪廓、角點提取局部圖Fig.4 Partial map of contour and corner point extraction
經(jīng)過輪廓初步篩選,道路圖像依舊可能存在干擾輪廓,需對所提取的角點進行進一步篩選。由于圖像中的車道線虛線近似為“近寬遠窄”的梯形,其上方2個角點的縱坐標(biāo)(行數(shù))近似相等,下方2個角點亦如此,且道路圖像中的車道線虛線寬度為5~25個像素。基于車道線虛線角點數(shù)量和角點坐標(biāo)特征,進行判斷并提取車道線虛線角點的數(shù)學(xué)關(guān)系見式(5)。當(dāng)輪廓角點數(shù)量等于4,并且輪廓上方2個角點和下方2個角點的縱坐標(biāo)(行數(shù))相近且距離在5~25個像素時,將其判定為車道線虛線角點。
式中:N為輪廓的角點數(shù)量;pt1為圖中輪廓的左下角點;pt2為右下角點;pt3為左上角點;pt4為右上角點;x為橫坐標(biāo)(列數(shù));y為縱坐標(biāo)(行數(shù))。
車道線虛線角點提取的試驗結(jié)果見圖5。
圖5 車道線虛線角點提取試驗結(jié)果Fig.5 Extraction test results of the dotted line corners of the roadway
基于以上分析,角點提取詳細流程見圖6。
圖6 車道線虛線角點提取流程Fig.6 Flowchart for extracting the dotted line corner points of the roadway
在一定的行車道路下,車道線虛線長度和寬度是確定的。GB 51038—2015《城市道路交通標(biāo)志和標(biāo)線設(shè)置規(guī)范》中規(guī)定,當(dāng)設(shè)計速度大于或等于60 km/h時,白色虛線線長和間隔長度分別為6 m和9 m,線寬為15 cm。因此,車道線虛線角點像素坐標(biāo)確定后,以車道線虛線某1個角點為原點,以其長、寬為坐標(biāo)軸建立世界坐標(biāo)系,確定的虛線長度即可獲得車道線虛線所有角點的世界坐標(biāo),然后通過數(shù)學(xué)推導(dǎo)和計算,可得到當(dāng)前幀下的世界坐標(biāo)與像素坐標(biāo)轉(zhuǎn)換的系數(shù)矩陣。在完成車道線識別的前提下,即可計算行車視距,車道線識別在此不做贅述。
空間一點從世界坐標(biāo)系轉(zhuǎn)換至像素坐標(biāo)系需要經(jīng)歷3個過程:世界坐標(biāo)系到攝像機坐標(biāo)系的轉(zhuǎn)換、攝像機坐標(biāo)系到圖像坐標(biāo)系的轉(zhuǎn)換和圖像坐標(biāo)系到像素坐標(biāo)系的轉(zhuǎn)換[20]。圖7為車道線虛線角點成像示意圖。
圖7 車道線虛線角點成像示意圖Fig.7 Schematic diagram of imaging of dotted corners of roadways
圖7中,E,F,G,H為所提取的車道線虛線角點對應(yīng)的實際路面點。假設(shè)路面平坦,以E為原點,以EH,EF為Xw,Yw軸,建立世界坐標(biāo)系Ow-Xw Yw Zw所示。路面上各個點的Zw坐標(biāo)均為0,根據(jù)實際測得的車道線虛線長度L和寬度W,易得E,F,G,H的世界坐標(biāo),分別為(0,0,0)、(0,L,0)、(W,L,0)和(W,0,0)。
設(shè)世界坐標(biāo)系中存在1點N(Xw,Yw,Zw),齊次坐標(biāo)為(Xw,Yw,Zw,1),N點對應(yīng)攝像機坐標(biāo)系中(Xc,Yc,Zc)點,對應(yīng)圖像上N’(u,v)點。R為3×3的旋轉(zhuǎn)矩陣;T為3×1的平移向量。f為攝像機焦距,R[r1r2r3]旋轉(zhuǎn)矩陣將路面上某點的世界坐標(biāo)(Xw,Yw,0)與其對應(yīng)像素坐標(biāo)(u,v)轉(zhuǎn)換關(guān)系式改寫為式(6)。
式中:M為攝像機內(nèi)參數(shù)矩陣與外參數(shù)矩陣的乘積,本文稱其為像素坐標(biāo)與世界坐標(biāo)轉(zhuǎn)換的系數(shù)矩陣。其中,M的矩陣形式為
系數(shù)矩陣M中的每個元素除以m33,得到M’。用M’代替M,顯然式(6)依然成立,此時Zc變?yōu)閆c’,其值為Zc/m33,展開化簡可得式(9),由此可得,此時系數(shù)矩陣M的求解可轉(zhuǎn)化為矩陣M’的求解。
定義某1個點的世界坐標(biāo)與圖像中對應(yīng)像素點坐標(biāo)為1組關(guān)聯(lián)點,每1組關(guān)聯(lián)點可確定1組相應(yīng)的式(9),矩陣M'有8個元素未知,因需要4組關(guān)聯(lián)點求解M'中全部未知參數(shù)。
獲得系數(shù)矩陣M'后,即可根據(jù)式(10)將所提取的車道線像素點坐標(biāo)轉(zhuǎn)換為世界坐標(biāo),進而根據(jù)式(11)計算圖像中車道線長度Dis。由于道路圖像中存在左、右2條車道線,而視距是指沿車道中心線看得的最遠距離,因此本文取左、右2條車道線長度的均值作為行車視距。
式中:Dis為視距,m;num表示提取的車道線特征點總點數(shù),包含直線部分的起點和終點,也包含車道曲線部分特征點。對于前方直線轉(zhuǎn)彎道路段,num=1,2代表車道線直線部分的起點和終點,num=3,4,…則代表車道曲線部分連續(xù)分段的特征點,采取“以直代曲”思想計算曲線部分長度。
JTG B01—2014《公路工程技術(shù)標(biāo)準(zhǔn)》中針對各級公路不同設(shè)計車速下的視距要求進行了明確規(guī)定,見表1。分析表中數(shù)據(jù)可知,在二、三、四級公路不同設(shè)計速度對應(yīng)的行車視距中,停車視距值最小,道路行車視距應(yīng)至少滿足停車視距要求。以不同車速對應(yīng)的停車視距作為需求視距S,其計算方法見式(12),當(dāng)視距測算值小于S時,則說明對應(yīng)路段視距不良,有一定的交通安全隱患。
表1 二、三、四級公路的停車、會車和超車視距Tab.1 Sight distance for parking,meeting and overtaking on second,third,and fourth level highways
式中:S1為反應(yīng)距離,m;S2為制動距離,m;S3為安全距離,一般取S3=5 m;v為車輛實際運行速度,km/h;t為制動反應(yīng)時間,一般取2.5 s;φ為路面與輪胎間的縱向摩擦阻力系數(shù)。計算最小停車視距時,忽略坡度阻力和滾動阻力。
進行測距模型的靜態(tài)道路試驗。將攝像機垂直固定于車內(nèi),即盡量使攝像機側(cè)傾角為0o,同時使攝像機獲取的圖像區(qū)域與人眼所見區(qū)域相近,攝像機離地高度為1.40 m;在人車稀少的路段進行試驗,將車停在路段不同位置,采集道路圖像并利用卷尺測量實際視距;將模型計算值與實際測量值進行對比,統(tǒng)計計算誤差。試驗圖像示例見圖8,試驗結(jié)果見表2。
圖8 試驗路段圖像示例Fig.8 Picture of the test roads
表2 計算誤差Tab.2 Calculation error
由表2可見:靜態(tài)測試的誤差為3.75%~6.95%。與文獻[7]~[8]中的方法相比,在同樣的8組路段下,除了位置5,6的結(jié)果較為接近外,誤差整體有了較大降低,對比結(jié)果見圖9。
圖9 與文獻[7]~[8]的結(jié)果對比Fig.9 Comparison results with methods in references[7]~[8]
截取部分道路視頻輸入至自主開發(fā)的行車視距測算系統(tǒng),并將其對應(yīng)的車載攝像機參數(shù)和車道線虛線參數(shù)錄入至系統(tǒng)中,其參數(shù)錄入界面見圖10。攝像機內(nèi)參數(shù)、安裝高度,以及車道線虛線長、寬需在視頻錄制前進行標(biāo)定和測量,此示例中路段限制車速為40 km/h,以其對應(yīng)停車視距作為需求視距進行分析,視距輸出結(jié)果見圖11。
圖10 參數(shù)錄入信息Fig.10 Import of parameters
示例路段是由直線駛?cè)霃澋赖穆范?,圖11中虛線代表40 km/h車速對應(yīng)的需求視距,實線代表計算視距。由視距折線可知,整體上從直線進入彎道路段時行車視距的計算值呈減小趨勢,起始位置的計算視距為93 m,結(jié)束位置在40 m附近波動。該動態(tài)結(jié)果的起始記錄位置約為靜態(tài)測試條件下的90 m處,終點位置約在靜態(tài)條件下的40 m處,綜合表明檢測結(jié)果與實際情況符合。圖11中變化曲線存在個別波動情況,主要是由于圖像中存在干擾導(dǎo)致。由圖11可知:彎道處視距不能滿足40 km/h對應(yīng)的停車視距,若此處不進行減速行駛,實際視距無法滿足駕駛?cè)说囊暰嘈枨?,有一定的安全隱患。
圖11 視距計算結(jié)果輸出Fig.11 Output of sight distance calculation result
針對車道線圖像特征點提取精確度不高的問題,提出了基于虛線角點進行道路圖像特征點提取的方法,并以此構(gòu)建了視距計算模型。
1)基于虛線角點的特征點提取方案能夠獲得較為精確的車道線虛線角點像素,主要通過輪廓提取、尖銳度閾值設(shè)置完成車道線虛線角點的篩選,并通過最大最小距離法以及車道線幾何特征完成車道線角點的最終確定。
2)以檢測到的車道線虛線角點為已知參考點,通過解構(gòu)角點在世界坐標(biāo)和像素坐標(biāo)之間的映射關(guān)系求解二者之間的轉(zhuǎn)換矩陣,得到了行車安全視距計算模型。對所提模型進行了動、靜態(tài)試驗和分析,與傳統(tǒng)方法相比,視距檢測精度得到改善,靜態(tài)測試精度控制在7%以內(nèi)。
3)車輛的抖動對測試結(jié)果有一定的影響,車道線邊緣完整度也是影響測試結(jié)果的因素,未來可以在不良角點位置的篩選以及車輛行駛過程中的防抖動等方面繼續(xù)完善。