馬 雷,劉澤賓,曹 彪,王文舉,邱泉源
(燕山大學車輛與能源學院,秦皇島066004)
行車過程中復雜的道路環境,光照的強弱、道路狀況的優劣以及路旁樹木或建筑的陰影都會對道路識別算法造成影響。近年來,國內外對智能車輛道路可行駛區域識別的方法[1]主要有基于圖像形態學的方法和基于深度學習的方法。基于圖像形態學的方法一般通過邊緣檢測[3]、道路消失點檢測[4]、空間濾波[5]等技術手段對道路圖像進行分割和識別,此類方法主要對于道路圖像的像素進行計算,導致在圖像處理過程中計算量較大且易受環境條件影響。基于深度學習的道路識別方法目前主要應用于結構化道路的可行駛區域識別并取得了良好效果,Kim等[6]在2014年提出了基于卷積神經網絡(CNN)的車道檢測方法,準確率達到94.7%,但該方法在輸入前需要經過圖像預處理,訓練方式以及數據結構較為復雜。2016年,Gurghian等[7]提出了一種基于分類的深度神經網絡車道檢測算法,該方法雖然不需要預處理和后處理,但首先要對前方車道位置進行估計,限制了算法的應用場景。2018年,Huang等[8]提出了基于時空的深度學習網絡(STLNet)進行道路識別的方法,通過預處理、CNN分類和車道擬合3個步驟完成道路識別任務,該方法探索了時間的約束性,但由于逆透視變換導致算法的魯棒性受到制約。
為提高道路識別算法計算效率,同時增強算法穩定性,本文中提出一種基于粗糙性度量的道路識別方法,通過對道路圖像的形態學特征進行計算獲得圖像的粗糙性,基于道路圖像在顏色特征空間中的色彩分布能夠較為精確地劃分顏色波段,并以此為依據實現對圖像道路區域的初分割。為提高道路可行駛區域識別的直觀性和準確性,本文中引入了基于圖像灰度級的區域生長算法,通過K-means聚類方法自動獲取初始種子點,得到道路圖像的可行駛區域特征圖;優化道路圖像中小規模的孔洞和邊界不連續的位置,最終獲得道路圖像中的可行駛區域。
道路圖像大致可分為3大區域:天空、垂直區域(樹木、建筑等)和道路區域。采用IMX225相機拍攝,相機高度為1.32 m,向下偏轉3°,對圖像中道路區域進行標定。如圖1所示,紅線上方區域為天空和垂直區域,紅線下方表示道路區域。由于智能汽車道路識別過程旨在計算道路的可行駛區域,而圖像中大量的冗余非道路區域無疑會增加計算量,因此,需要對道路圖像進行預處理以去除道路冗余區域,提高道路識別速度和精度。實驗所用圖像為320×240像素,一個像素代表一個單位長度。只對下方100像素即0≤y≤100范圍內所含的道路信息進行計算。

圖1 道路圖像及其冗余區域去除
將預處理后的圖像進行子塊劃分,劃分的子塊數量可以直接影響算法耗時,因此需要確定合適的子塊尺寸,保證在耗時盡可能小的情況下道路可行駛區域特征依然存在。將圖2(a)所示的道路圖像等分為不同像素大小的子塊,并計算出各個子塊圖像灰度均值特征,圖2(b)為16×5像素圖像,圖2(c)為32×10像素圖像,對比可知,16×5像素圖像中遠方車輛特征已消失,而32×10像素圖像中遠方車輛及路邊車輛特征依然存在,因此,本文中子塊劃分選取10×10尺寸子塊將圖像劃分為32×10像素圖像。

圖2 不同像素圖像均值特征
將圖1預處理后的圖像進行子塊劃分得到的特征圖像如圖3所示。分析圖3可知,道路可行駛區域與道路邊緣存在明顯的像素梯度,即在道路邊緣的像素子塊內存在兩部分像素差值較大的區域,常見于子塊對角區域。在較為復雜的道路環境中存在大量的噪聲(陰影、水漬、道路車輛),導致子塊內的像素梯度特征可能不完整,但反映在整個道路圖像中,大多數道路邊界子塊內部存在明顯的梯度特征,為之后的邊界識別提供了數據條件。

圖3 32×10像素道路特征圖像
對于道路圖像中常見的陰影和道路車輛等復雜目標,通過合理劃分子塊的方法能夠在減小識別錯誤率的前提下濾除部分道路陰影的影響。圖4為陰影道路及劃分子塊后特征圖,由圖4(b)可知,子塊特征圖中陰影部分相較于原圖中的樹影色彩更淺,部分枝杈陰影在特征圖中基本消失。圖5為道路上存在車輛和陰影的圖像及特征圖,對比圖5中兩子圖可知,距離本車較近的白色車輛在子塊特征圖中輪廓依然存在,而遠處深藍色車輛由于與道路陰影顏色相近導致輪廓特征消失,但該車輛所在位置的子塊顏色相對于道路部分依然較深。該圖像的陰影部分較為明顯,可能會對之后的道路識別造成一定影響。

圖4 陰影道路圖像及其子塊特征圖

圖5 陰影和車輛圖像及其子塊特征圖
基于灰度直方圖的閾值分割算法簡便易實現,一直被廣泛應用,但該方法沒有考慮圖像中鄰域像素的關系。1982年,波蘭學者Pawlak提出粗糙集理論[9],為處理具有模糊、不精確或不完全信息的分類問題提供了一種新的數學工具[10]。因此,基于粗糙集提出改進直方圖Histon的概念,考慮鄰域像素色差的同時,還考慮了像素與周圍顏色的近似關系,對于之后劃分像素十分有利。
設F是像素大小為M×N的RGB道路圖像,則F在R、G、B3個通道上特征分量的粗糙集下近似表示如下:

設定像素鄰域大小為3×3,中心像素F(m,n)與其鄰域像素F(i,j)之間的距離可以表示為

式中D3×3(F(m,n),F(i,j))表示為像素位置(m,n)周圍3×3鄰域所有距離之和。式(3)為兩個像素點F(m,n)與F(i,j)之間的歐氏距離,兩像素點歐氏距離表示如圖6所示。

圖6 3×3鄰域兩像素點歐氏距離表示

根據道路圖像中道路區域的色調特征設定合理的閾值r,則中心像素F(m,n)與其鄰域像素間的同質程度可表示為

當D3×3(m,n)小于閾值r時,認為其鄰域像素與中心像素F(m,n)完全同質;隨著D3×3(m,n)的增大,鄰域的同質程度逐漸減小,直至完全失去同質性;其中r的取值通過多次測試得出。
根據像素的同質性,構造道路圖像各顏色特征上色彩分布信息的粗糙集上近似表示如下:

根據式(1)和式(5)確定的道路圖像在基色R上的上下近似分布信息表示如圖7所示,顯然圖7 中上下近似差異較大的部分表示粗糙程度較高,能夠為下文的道路圖像初分割賦予更加精確的色彩描述。其中,L為各顏色特征上的灰度級數目,V為變量L的度量。

圖7 道路圖像色彩分布信息直方圖
道路圖像的下近似色彩分布信息是對像素顏色特征的精確描述,換言之,其下近似為道路圖像像素的真實色彩分布;而道路圖像的上近似色彩分布為基于同質度函數的像素可能的色彩分布。因此,兩者之間產生的粗糙性可表示為

式中:0≤g≤L-1且k∈{R,G,B};W(?)為引入的權重函數,該函數與原圖像分布直方圖相關。

式中:m=c2/2b2;n=c2/2(c-b)2;參數b和c根據道路圖像下近似色彩統計分布直方圖的分布均值計算得到。
因此,根據式(6)即可得出道路圖像在基色R上近似色彩分布與下近似色彩分布的粗糙性,相應得到的道路圖像粗糙性分布直方圖如圖8所示。通過這種量化粗糙性的方法能夠對道路圖像的色彩分布進行精確描述,從而獲得圖像中較為完備的道路信息,減少由于道路子塊圖像劃分導致的圖像信息丟失現象。由圖8可知,若根據現有的粗糙性信息進行圖像分割將導致顏色特征劃分過細,難以保證圖像中道路部分的一致性,因此,還需要選定合理的圖像分割策略,保證圖像顏色特征劃分準確并減少圖像色彩的數目,保證道路可行駛區域的色彩一致性。

圖8 道路圖像粗糙性分布直方圖
根據粗糙度函數和粗糙性分布直方圖的性質可知,道路圖像的上下近似信息差異大小分別對應粗糙性分布直方圖的波峰和波谷位置。因此,通過選定道路可行駛區域所代表的粗糙性峰值即能夠實現對道路圖像的色彩波段劃分,進而完成對道路圖像中可行駛區域的初步分割。
在道路圖像粗糙性分布直方圖中,需要找出直方圖中波峰和波谷的位置以便于確定分割圖像的粗糙性閾值。首先將所有粗糙性峰值由小到大進行排序,極大峰值中的最大值記為Pmax,極小峰值中的最小值記為Pmin,計算其均值μm及標準差σm,將峰值序列的高度閾值設定為Th=μm-σm。與固定閾值分割方法相比,這種自適應的閾值設定方法更能適應實際行車環境中道路圖像的可行駛區域識別情況。
(1)在粗糙性分布直方圖中,若粗糙性波峰的峰值大于算法輸出的高度閾值Th,則認為該波峰為有效波峰。
(2)依據高度閾值Th確定波峰序列,設定寬度閾值Tw=4,若相鄰波峰間的距離超過寬度閾值Tw,則認為該波峰為有效波峰。
根據分割原理及波峰序列選定算法所得有效波峰圖像如圖9所示。在確定有效波峰后,根據圖9中的有效波峰信息將道路圖像色彩波段進行初步分割,基于相鄰波峰間的波谷位置確定道路圖像的色彩波段,各波段的灰度值由該波段內像素點數目與整幅圖像像素點個數的比值加權得到。

圖9 道路圖像粗糙性分布有效波峰圖像
在已知圖像尺寸為32×10的情況下,通過對算法參數的反復調整,得到較優的分割參數,參數設置如

表1 所示,最終圖3的初分割效果如圖10所示。

圖10 道路圖像初分割效果圖
區域生長是一種經典的圖像分割方法。利用生長準則將種子點周圍具有相似特征的像素或區域并入種子范圍,最后獲得聯通區域[12],區域生長算法的準確性主要取決于生長準則的制定和初始種子的選取位置,不合理的生長準則和初始種子點位置將會導致區域的欠分割與過分割現象。種子點的信息必須能夠代表道路圖像中目標區域的大部分像素性質,本文中采用一種自適應種子點選取方法,選取原則如下。
(1)車輛在道路上行駛的過程中,車載相機或環境感知傳感器一般都安裝在車輛前部的中間位置,以便于進行與其他傳感器的數據融合。因此,車載相機拍攝的圖像,其道路可能區域相對于整個圖像占比較大,且位于圖像中間位置。
(2)選取道路初分割效果圖底部中間矩形區域內的所有像素集合作為種子點Se的預選區Ue,采用K-means聚類方法對其進行二分類處理,并擬定預選區中心點Me為區域生長的種子點Se。
臭牡丹(Clerodendrum bungei)為馬鞭科大青屬植物,具有解毒、消腫、止痛、鎮靜和催眠功效[4].目前對臭牡丹的活性研究主要集中在粗提物的抗炎、鎮痛、抗腫瘤等方面[5],而抗氧化活性成分研究未見報道.1,1-二苯基-2-二酰肼(1,1-diphenyl-2-Picrylhydrazyl, DPPH)是一種穩定存在的自由基,可與抗氧化物質的活性氫發生反應,通過DPPH的半數抑制濃度(IC50)值評估物質的抗氧化活性強弱[6].
(3)判斷種子點Se是否滿足條件。根據Kmeans聚類方法確定的聚類中心若落在元素較多集合中,則滿足條件,反之,則以Me為起始點,按照逆時針方向的鄰域尋找滿足條件的初始種子點Se。
區域生長準則對于區域生長算法的準確度和程序計算耗時至關重要。本文中采用道路圖像灰度差的生長準則,將選取的種子點為基準點,通過灰度差衡量基準點與其他像素點間的差別。
如圖11所示,利用區域生長法處理初分割道路圖像后,道路可行駛區域內存在邊緣不連續或者孔洞現象。

圖11 道路原圖及區域生長孔洞圖
由于光照條件影響以及道路與背景的相似度較高,導致區域生長的過程中存在“破綻”,最終獲得的道路可行駛區域與圖像背景產生部分重疊。針對上述問題,對武歷穎、余強提出的道路分塊分類方法[13]進行改進,改進策略如下。
(1)通過像素點的8鄰域屬性判別該像素點。首先利用3.1節中的區域生長算法設定像素點屬性:道路點中Rlg=255,非道路點中Rlg=0。
(2)某一像素點的8鄰域包含兩類屬性,采用置信概率判定該混合區域的像素屬性。設該混合區域HR中,道路區域為R,非道路區域為NR,則其置信概率為

式中P為該像素點屬于道路區域的概率,設置置信度為0.6,當P大于0.6時,則認為該像素點屬性為道路區域。
(3)在混合區域HR中,若存在某些異常像素點(R≤2)時,則認為是非道路區域,對異常像素點進行刪除處理。
如圖12所示,通過上述步驟對道路區域特征圖像的優化能夠彌補特征圖中出現的孔洞和道路邊緣不連續現象。

圖12 道路區域優化處理圖
由圖12可知,通過區域生長法獲得道路可行駛區域特征圖后,區域邊界部分鋸齒明顯,邊界識別效果不理想,因此,根據1.1節得到的道路圖像邊界梯度特征,確定圖像邊界特征點,采用三次多項式擬合道路邊界,根據道路可行駛區域特征與子塊位置的映射關系,與道路邊界進行融合,得到最終的道路可行駛區域。
車輛環境感知傳感器采集圖像信息的時間間隔一般不超過0.1 s,在道路可行駛區域識別過程中,由于連續兩幀圖像的道路可行駛區域信息相關性較強,因此可以通過上一幀圖像道路可行駛區域的識別結果來確定本幀圖像(圖13)的道路區域。在道路子塊圖像中,第一幀圖像識別區域大小為32×10像素,在識別下一幀圖像時,道路可行駛區域內部信息基本不變,因此在下一幀圖像識別中只需識別特征圖像的首行和末行并將其加載至上一幀道路特征圖像中即可確定下一幀圖像的可行駛區域。下一幀圖像首尾行識別結果如圖14所示(白色為道路區域)。

圖13 本幀原圖

圖14 本幀道路識別結果
設定道路邊界的識別頻率為1次/s,圖像采集頻率為8幀/s。將圖14中的下一幀道路圖像首尾行識別結果融合至上一幀道路特征得到圖15。圖16為下一幀圖像道路識別結果,通過3.2節優化后的識別結果如圖17所示。

圖15 首尾行識別結果

圖16 融合后特征圖

圖17 下一幀道路識別結果
由此可知,在道路可行駛區域識別過程中,每秒僅需完整識別第一幀道路圖像可行駛區域和區域邊界位置即可完成對下一幀圖像的道路識別,有效縮短了算法耗時。在之后的研究中,將探究在不影響行車安全的條件下不同車速對于連續幀融合的影響。
本文中所有算法驗證均在計算機上完成,計算機配置為:處理器AMD Ryzen 7 4800H,主頻2.90 GHz,內存16 GB,操作系統Windows 10(64位)專業版。開發環境為VS2017。實驗數據來源于實際拍攝圖像,所有圖像大小統一設定為320×240像素。
從實地拍攝的道路圖像數據中隨機選取400幅圖像進行測試分析和實驗,證明基于粗糙性度量的方法具有較優的初分割效果。圖18為直接利用原始圖像進行區域生長的道路特征圖,對比圖12可知,利用粗糙性度量的方法對道路圖像進行初分割能夠有效加強圖像中道路區域色彩的同質性,從而減少區域生長法產生的孔洞及邊界不連續現象。圖19中各分圖依次展示了連續采集的8幀道路圖像的識別結果。由圖19可知,將0時刻的道路邊界識別結果作為未來1 s內的道路可行駛區域邊界具有可行性,不會產生較大偏差。由于對道路圖像粗糙性的定義,使得算法具有較強的魯棒性;基于灰度級的8鄰域區域生長算法對道路圖像可行駛區域具有良好的識別效果。

圖18 未初分割處理的區域生長特征圖

圖19 連續圖像道路可行駛區域識別效果
通過大量實驗可知,在光照較好、結構化道路圖像中,閾值r取0.1~0.15效果較好,光照條件較差及非結構化道路圖像r一般取0.15~0.2。圖20顯示了原圖以及不同距離閾值在識別準確、欠擬合、過擬合等3種情況。

圖20 不同閾值下道路識別情況
由圖19和圖20可知,本文算法對于結構化路面和非結構化路面都具有良好的識別效果,但未考慮道路中存在陰影及車輛的影響。圖21和圖22分別為道路中存在陰影及道路中存在陰影和車輛的道路可行駛區域識別結果。由此可知,本文算法對于道路中存在顏色較淺的陰影和距離較近的車輛具有良好識別能力。由于對圖像進行了縮小處理,導致圖22中遠處的道路區域未能識別,在邊界擬合過程中,由于遠方深藍色車輛的存在,導致右邊界其他位置的擬合結果稍有欠缺。在車輛行駛過程中,光照條件對于道路識別算法的影響很大,在光照條件差的隧道內,算法的識別效果仍然較好,如圖23和圖24所示。

圖21 陰影道路識別結果

圖22 陰影和車輛識別結果

圖23 隧道內道路圖像

圖24 隧道內道路識別結果
算法各步驟耗時如圖25所示。由圖可知,改進的區域生長法并未帶來較高的時間消耗。由于上一幀圖像的部分識別結果能夠加載至下一幀圖像,因此在下一幀圖像識別過程中只需要識別首尾兩行子塊圖像,從而減少了下一幀圖像的識別耗時。上一幀圖像總耗時為99.2 ms,而下一幀圖像的總耗時為86.4 ms。因此未來1 s內的該方法耗時相較于將每幀圖像全部區域進行識別的算法耗時減少約102.4 ms,識別算法的計算效率提高12.9%。

圖25 算法各步驟耗時
(1)直接利用彩色道路圖像,通過度量圖像粗糙性的方法對道路圖像進行初分割處理。該方法較傳統直方圖的信息統計方法能夠更加有效地分割出圖像中的同質區域。此外,有效波峰選定算法能夠在準確完成初分割的同時,也極大減少了道路圖像的像素規模。
(2)采用區域生長方法,利用K-means聚類獲取生長種子點,摒棄以往交互式或固定式選取生長種子點的方法,提高種子點選取準確性;并根據改進后的優化策略,得到最終的道路圖像可行駛區域識別結果。