李 亭,賴延年,方騰源,袁天宇,劉永濤
(1.西安航空學院 車輛工程學院, 西安 710077; 2.長安大學 汽車學院, 西安 710064)
在道路交通事故中,駕駛員遇到彎道來車時,由于視野被阻擋導致會車時反應不及而引起的交通事故眾多。因此,在駕駛員行車過程中,駕駛員的視野距離對于駕駛的安全性以及道路交通的安全性都至關重要[1]。當駕駛員行車時,應有足夠的行車視距,才能保證駕駛員遇到急彎時有足夠的反應時間來處理突發狀況,避免道路交通事故的發生。
國內外的許多學者對道路模型的行車視距進行了大量的計算及分析,取得了一系列較為先進的成果。Tarek Sayed等[2]提出了一種線性的駕駛員視野距離測量模型。該模型考慮了駕駛員在車輛行駛過程中的操作方式、坐姿以及道路的曲率半徑、直線長度等對視野距離的影響,具有一定的適用性。Yasser等[3]提出了一種基于道路遮擋物的視距測量模型。該模型主要適用于道路在彎道處受到側向的阻擋,而使視野距離較小的情況。史穎等[4]利用道路圖像中車道標識線的灰度突變以及道路設計參數特征等,提取出需要的車道線線型,進而通過濾波算法對車道線進行實時跟蹤,之后運用道路圖像重新建模提取出測距模型中需要的道路固定參數,在此基礎上,實現道路圖像的三維恢復,通過坐標系的轉換得到機器視覺下道路測距模型。曹等[5]根據線性回歸的思想,利用函數對應關系提出了一種基于機器視覺的測距算法,該算法適用于一般的道路環境,經過分析實驗驗證了算法的合理性。
綜上所述,在車輛測距模型中,大多數的國內外學者主要研究的方向集中于當前攝像頭與前車之間的距離模型,一般適用于車輛預警技術。但是,對于車輛的行車視距這一影響駕駛員行車安全的關鍵信息沒有太多關注,尤其在駕駛員彎道行駛工況下,缺乏基于彎道的行車視距對于駕駛員的安全性分析,導致在彎道會車地段發生了大量的交通事故,帶來了巨大的人員傷亡和經濟損失。
本研究針對上述關鍵性問題,基于道路環境感知,以車道標識線特征點提取作為輔助手段,在透視投影的方法下進行車輛的行車視距技術研究。本文所研究的行車視距主要是指在當前道路中,駕駛員所能看到的最遠距離,即停車視距。本研究所針對的主要問題是駕駛員的行車視距的具體測量,保證駕駛員在車輛行駛過程中遇到彎道會車等情況時能有足夠的反應時間避免道路交通事故的發生。
為了更好地研究圖像內容,并提取出車道標識線的邊緣信息,首先對圖像進行預處理。圖像預處理的主要目的是剔除道路圖像之中無關緊要的信息,提取出對識別算法有用的信息,提高道路邊緣信息的可檢測性以及最大限度來簡化圖像數據信息,從而提高圖像分割、識別等的可靠性[6]。本文首先對采集的彩色圖像進行灰度化并選用中值濾波算法進行圖像去噪處理。
在對比分析拉普拉斯算子處理后的圖像、Sobel算子處理后的圖像、Priwitt算子處理后的圖像、Roberts算子處理后的圖像之后,選擇噪聲干擾小、處理速度快、可以針對特定的邊緣進行增強的Sobel算子進行圖像邊緣檢測。
在車道線篩選與特征點選取前,需要對灰度圖像進行基于二值化的圖像變換。圖1(a)以及(b)分別表示灰度圖像及經過二值化后的圖像。

圖1 原始灰度圖像及二值化后的圖像
當車道標識線圖像存在車輛、道路標識等一系列噪聲干擾時,對車道線特征點的提取會產生較大的影響。因此,對車道標識線進行有目的性的篩選是有必要的。本研究利用車道線具有的原始特征對車道線進行篩選,排除噪聲干擾,進而提高車道線檢測的準確性[7]。
1) 基于車道線的寬度特征
在結構化道路中,車道線的寬度是在一定的范圍內變動的,在圖像中,過寬或者過窄的線型都會被作為車道線提取時的噪聲干擾。根據成像原理,當車道線在圖像中成像時,會出現遠窄近寬的效果[8]。因此,本文以計算出的車道線的平均寬度值作為其寬度變化范圍的設定值。如式(1)~(3)所示。
(1)

(2)
w=[w1×width,w2×width]
(3)
其中: width表示的是所有車道線寬度的和;wid(Lane(l))表示的是第l條車道線的寬度值;w1、w2為預先標定的系數。當判別出寬度值超出了所在車道線的寬度范圍時,即可確定為干擾點。
2) 基于車道標識線的寬度變化率
在世界坐標系下,車道標識線的寬度范圍一定,受透視作用的影響,除虛線類型的車道標識線外,其余標識線在圖像坐標系下所呈現的從近到遠的變化不會突然驟變。因此,將采取截斷處理來盡可能保留車道標識線的有用信息[9]。車道標識線寬度變化率公式如式(4)所示。
1≤p≤r
(4)
虛線車道標識線等使各車道標識線特征區域之間有著一定的邏輯關系,故只有在自身特征區域范圍內進行車道標識線的判斷才失效。因而,為了使識別更加精確,本文采用依據當前特征區域與其他特征區域邏輯組合結果的方法進行判定。設W1(Lane(l))是根據當前特征區域的信息的判斷結果,W2(Lane(l))是根據其他特征區域的信息的判斷結果,計算公式如式(5)(6)所示。
(5)
W2(Lane(l))=

(6)
式中:width(Lane(l))表示第l條車道線的寬度;width(Lane(l′))表示在第l條車道線上方的車道線的寬度。第l條車道線寬度的判斷公式為:
W(Lane(l))=W1(Lane(l))&W2(Lane(l))
(7)
車道線候選區域需要利用車道線高度信息來進行二次篩選,車道線高度計算公式如下:
height(Lane(l))=
(8)
第l條車道線的高度特征H(lane(l))判斷公式如式(9)所示。
H(Lane(l))=

(9)
式中:height(Lane(l))表示第l條車道線的高度;height(Lane(l′))表示在第l條車道線上方的車道線高度。
依據當前特征區域的高度和寬度,得到長度的計算公式為:
length(Lane(l))=
(10)
第l條車道線的長度標記判斷公式如式(11)所示。
L(Lane(l))=

(11)
式中符號含義同高度判別模型里的符號。
此外,針對車道線周圍微小噪聲,可依據道路圖像中同側車道線的斜率方向相同特征的原理來去除,車道線同向性D(Lane(i))的判斷公式如下:
D(Lane(i))=

(12)
式中:k1表示車道線i1的斜率;k2表示車道線i2的斜率;left1>right2代表i2在i1的左側。因此,建立的以車道標識線多特征集合元素為基元的車道標識線的篩選判定公式,如式(13)所示,當且僅當J(Lane(i))=1時,確定候選車道線為真正的車道標識線。
J(Lane(i))=
D(Lane(i))&W(Lane(i))&H(Lane(i))
(13)
當圖像經過去噪處理之后,將圖片中所得到的車道線按照需求進行分段,如圖2所示。

圖2 車道線分段圖
分段點是按照直疏彎密原則進行選取的,這樣在直線段提取特征點少,在彎道段提取的特征點多,在后面計算行車視距時更加精確[10]。
以圖像中車道線為例,具體的算法步驟如下所示:
步驟1以圖像中線上的像素點作為搜索起點,以從左至右的順序進行掃描搜索。設定變量Num,初始值為0,在搜索的過程中檢測到像素點由黑色變位白色,則開始計數,每經歷1個像素,則記錄下像素的坐標值(x,y),同時變量Num加1。
步驟2在檢測的過程中,當像素點從白色變為黑色時,記錄下該像素坐標(x,y+Num1),并記錄下當前車道線的中線位置的坐標值,即為(x,y+Num1/2),并繼續搜索,當像素點從黑色變為白色時,記錄下該像素坐標(x,y+Num2),并繼續搜索,當像素點從白色變為黑色時,記錄下該像素坐標(x,y+Num3),并記錄下當前車道線的中線位置的坐標值,即為(x,y+(Num3-Num2)/2),同時變量Num停止增加計數。此時得到的Num1和Num3-Num2值即為當前2條車道線該行的寬度。而所要提取的特征點為2條中線坐標之間的中點,即為(x,y+(Num3-Num2+Num1)/4)。
步驟3掃描完該行之后,繼續按特定的間距m從圖像的下面向上搜索,m的取值為一個相對較大的值,在直線段上,由于起始位置的不同,前后2個特征點的縱坐標差會近似于1個定值k,當檢測到k發生較大變化時,說明道路由直線進入彎道路段,彎道的曲率與k的變化幅度s有關,此時根據s的大小減小m取值,從而保證特征點的選取符合直疏彎密的原則。
步驟4重復步驟1、2、3。
最終,可提取到一系列滿足要求的特征點坐標。
基于標定攝像機內外參數之后,就可以通過透視投影變換得到圖像中的點在世界坐標系下的坐標值。攝像機的內部參數是固定不變的,但是外部參數會根據攝像機安裝位置、安裝角度的不同而隨時改變。汽車在行駛中,隨著車輛的行駛狀態變化,攝像機的俯仰角會改變,標定的過程是靜態的,如果考慮行駛中的汽車,就需要對攝像機不斷地標定,得到不同狀態下的攝像機外部參數[11]。當攝像機不斷地改變高度、俯仰角等外部參數時,每次都對攝像機標定過程繁瑣,而且也不方便計算。因此,本文利用小孔成像模型來建立攝像機行車視距測距模型,從而避免攝像機標定對于計算的影響。通過測距模型,根據特征點,得到行車視距的準確值[12]。
本文研究中,攝像機是固定放置的,它的高度是一定的,有一定的俯仰角度。因此,本文以攝像機的光心位置在地面上的投影點為原點來建立坐標系,Z軸以垂直地面向上為正方向,M軸以汽車行駛方向指向車身左側為正方向,N軸以汽車行駛的方向為正方向。
本文中分別計算了圖像上的點在垂直與水平方向上的距離模型,然后根據模型計算得到2點之間的距離[13],如圖3所示。

圖3 圖像沿道路方向的解析模型
圖3中:f所在直線代表攝像機光軸,f即為攝像機焦距; 點O為攝像機光心,其在水平面上的投影點OC即為世界坐標系的原點;坐標系MOCN即為空間坐標系。xoy為成像平面,o為光軸與成像平面的交點,o為平面坐標系的原點。圖3中,以u、v為軸的坐標系是像素坐標系,像素坐標系的原點為左上角的o′點。
如圖3中所示,假設攝像機距離地面的高度為H,攝像機的光軸與平面的夾角為α,圖中P點為目標點,在世界坐標系中,其坐標為(0,N),P點在圖像中的成像點為P′點,P′點在圖像平面坐標系中的坐標為(0,y0),并且PP′的連線通過攝像機的光心,連線與地面成β角度,同時與光軸的夾角為γ。假設,圖像平面坐標系的原點為o,該點在像素坐標系中一定有其對應的坐標點,該點的坐標為(u1,v1),同理可得,成像點P′在像素坐標系中必有1個對應的點,該點的坐標為(u0,v0),根據圖3可以得到式(14)。
(14)
由于在圖中可以得到β=α-γ,而且對于角γ,在ΔoOP′中,有式(15)。
(15)
從而,可以得到式(16)。
(16)
此時,N值表示道路圖像中像素坐標系下像素點的距離值,需要通過坐標系的轉換關系,得到此時N值的實際距離值。根據像素坐標系與圖像平面坐標系轉換關系中的坐標轉換公式,(u0,v0)為某點在像素坐標系的坐標,(u,v)為該點在圖像坐標系下的坐標。dx、dy為單位像素在x、y軸上的分量。
(17)

(18)
從而推出式(19)。
y0=(v0-v1)dy
(19)
其中:dy表示像素坐標系之中;v軸上單元像素之間的距離。v0和v1分別表示像素坐標系中P′和o點的坐標值。將式(19)代入式(16)中,可以得到式(20)。
(20)
式中N值即表示道路中特征點在垂直方向上與光心之間的距離值。
同理,結合三角形相似原理可求出道路中特征點在水平方向上與光心之間的距離值M值的公式。
(21)
式(20)以及式(21)即為三維世界中一點的坐標計算公式,其中的各項參數可以根據攝像機標定得到的內外參數來獲得。
因此,在圖像中2坐標點之間的世界坐標系距離可以根據式(22)得到。

(22)
在本研究中,駕駛員駕車行駛在直線道路上,其行車視距足夠大,當駕駛員遇到彎道或有物體遮擋住駕駛員在轉向工況下的視距時,駕駛員的行車視距需要精確的長度值[14]。此時,需要計算彎道線型的距離值。根據微積分的思想,當提取出足夠多的車道線特征點,每2個特征點之間的距離足夠小時,可以近似為直線。因此,在提取到足夠多的特征點的情況下,每2個特征點之間的距離可以根據上文中的測距模型進行計算,之后將所得到的特征點之間的距離進行累計相加,得到最終的當前車道線的行車視距。
攝像機標定的主要目的是為了確定攝像機的內外參數,攝像機內部參數是攝像機固有的光學以及幾何特性[15],主要有焦距、變形系數、畸變參數、比例因子等,攝像機的外部參數是指攝像機在世界坐標系下的位置,即攝像機的高度、俯仰角等一系列參數。
本文選取張正友標定算法[16]進行攝像機標定。該標定靶的每個棋盤格的大小為24 mm×24 mm,標定過程如圖4所示。

圖4 攝像機標定過程
標定后的攝像機內外部參數分別為:
圖像中心坐標:(cu,cv)=[324.843,259.916]
焦距:(fu,fv)=[672.613,669.116]

為了檢驗本文研究算法的有效性,本文選擇在西安秦嶺野生動物園附近的空曠道路進行實驗,采用離線測試方法進行算法驗證,實驗的方案如表1所示。

表1 實驗方案
部分實驗拍攝圖片如圖5所示,通過對道路圖像進行離線測試分析之后,測距結果如表2所示。

圖5 部分實驗拍攝圖片
從表2可以看出,在道路圖像中的縱向距離小于50 m時,車輛行車視距測算模型能夠將測距誤差控制在平均5.3%左右。其中,絕對誤差的最大值為2.33 m,絕對誤差的最小值為0.48 m。絕對誤差平均值為1.3 m。一定范圍下,能夠滿足駕駛員行車視距要求。
同時,可以看出在實驗中有誤差數值不等的情況存在。通過對數據以及實驗條件進行分析,除去實驗設備、人員操作等外在問題后,實驗誤差相差較大的情況主要是由于彎道處的曲率不同導致的。進一步實驗研究發現:在單純的直線段計算時,其誤差可控制在3%左右;在直線加彎道且直線段較長的路段,誤差會在7%左右;在直線加彎道且彎道段較長的路段,其誤差會在9%左右。

表2 測距結果對比
由于在車輛測距模型中,大多數的國內外學者主要研究的方向集中于當前攝像頭與前車之間的距離模型,一般適用于車輛預警技術。但是,對于車輛的行車視距這一影響駕駛員行車安全的關鍵信息沒有太多涉及,尤其在駕駛員彎道行駛工況下,故本文選取文獻[9]采用的方法進行對比。
本文計算所得的行車視距精度在直線段與文獻[9]的結果相當,而在含彎道路段文獻[9]實驗誤差大于10%,而本文則在9%左右,并且文獻[9]所述的技術在應用時需要公路工程三維化設計與建模技術的支持,而本文的方法只需要基于所開發的車載軟件就可實現。綜上所述,本文的方法在精度與技術復雜度上均優于文獻[9]的方法。
本文基于道路環境感知技術,采用車道線固有特征標識線剔除圖像中的噪聲干擾,提取有效特征點,利用小孔成像模型來建立行車視距測距模型,通過測距模型,根據已知特征點計算行車視距的理論值。實驗結果表明:本文建立的行車視距測算模型平均誤差為5.3%,能滿足駕駛員對行車視距的要求,并且通過本文方法所采集的數據可作為道路安全評估的重要依據。