呂海龍,袁建輝,陳 晨,郭曉文,王亞光,王威振
(1.96815部隊,江西 景德鎮(zhèn) 333000;2.南京航空航天大學(xué),江蘇 南京 210016)
眾所周知,無論在任何領(lǐng)域,安全都至關(guān)重要,尤其是汽車產(chǎn)業(yè)這種與人們?nèi)粘9ぷ鳌⑸钕⑾⑾嚓P(guān)的領(lǐng)域,其安全性是一切性能的前提與基礎(chǔ)。隨著我國高速公路建設(shè)的蓬勃發(fā)展和汽車擁有量的日益增加,交通安全問題日益凸顯,受到了社會的普遍關(guān)注。尤其是在車隊行駛過程中,如果車隊管理者能夠準(zhǔn)確獲得前后車輛間距,對于行車安全將會有很大幫助。為保證行駛過程中司乘人員和車輛的安全,研究車距的測量方法具有非常重要的現(xiàn)實意義。
另一方面,無人機(jī)航拍圖像中包含著車輛間距測量所需的重要參數(shù)信息,分別是邊緣輪廓信息和線性線段長度信息,其與安全駕駛可以達(dá)到相輔相成的效果。隨著時代的發(fā)展和信息技術(shù)的進(jìn)步,多源信息的綜合利用已經(jīng)越來越受到人們的重視,而無人機(jī)與車輛之間的跨界結(jié)合,更能產(chǎn)生一加一大于二的喜人結(jié)果。著眼于此,本文為提高車隊行駛過程中的安全性,提出了一種基于無人機(jī)航拍圖像的車輛間距測量研究方法。將航拍圖像進(jìn)行處理獲得各目標(biāo)車輛的輪廓以及4個頂點,并假設(shè)已知參考車輛的長度,則可通過計算獲得車輛的實際間距。
本文所提算法的核心是根據(jù)參考車輛的實際長度和歐氏距離計算出相應(yīng)的像素比。首先需要進(jìn)行一系列像素預(yù)處理操作,包括灰度變換、高斯濾波、邊緣檢測等;然后使用輪廓檢測算法獲取圖中的參考目標(biāo)和其他目標(biāo);最后將像素比分別應(yīng)用在參考目標(biāo)和其他目標(biāo)之間的4個頂點和中心點。而要獲得像素比,則首先需要設(shè)置一個參考物體,且已知其具體尺寸和在圖像中的位置。本文中,我們將位于圖像最左側(cè)的目標(biāo)作為參考目標(biāo)。車輛間距檢測算法具體步驟見表1所列。
表1 基于無人機(jī)航拍圖像的車輛間距檢測算法步驟
目前為止,大部分彩色圖像均采用RGB顏色模式,對圖像進(jìn)行預(yù)處理時,需要對RGB三種分量分別操作。事實上,RGB無法反映圖像的形態(tài)特征,僅是從光學(xué)原理上對顏色進(jìn)行調(diào)配。而灰度化就是在RGB模型中使3個分量相等,即==,此時獲得的就是灰度顏色。一般來說,圖像灰度化處理主要有以下幾種方式:
(1)最大值法
將彩色圖像中RGB的三分量亮度最大值作為灰度圖像的灰度值。
(2)分量法
將彩色圖像中的三分量的亮度作為3個灰度圖像的灰度值,可根據(jù)應(yīng)用需要選擇一種灰度圖像。
(3)平均值法
將彩色圖像中的三分量亮度求平均得到一個灰度值。
(4)加權(quán)平均法
根據(jù)人類眼睛對藍(lán)綠顏色敏感度的不同,按下式對RGB進(jìn)行加權(quán)平均得到較合理的灰度圖像。
本文使用OpenCV庫包含的加權(quán)平均法對原始圖像進(jìn)行灰度處理,原圖如圖1所示,圖2所示為經(jīng)過灰度處理后的結(jié)果。根據(jù)圖1和圖2可以看出,灰度處理后,降低了原圖所包含的大量冗余信息,有助于算法的快速運(yùn)行,提高了車距檢測算法的運(yùn)行速度。
圖1 3個目標(biāo)情況下的原始圖
圖2 灰度處理后的結(jié)果圖
高斯濾波是一種通過正態(tài)分布確定權(quán)重的低通線性平滑濾波器,其權(quán)重由空間距離因子決定。采用二維高斯函數(shù)對灰度圖像(,)進(jìn)行卷積運(yùn)算,可得到平滑圖像(,),其數(shù)學(xué)表示如下:
式中,代表方差,決定著處理后圖像的平滑程度。
在實際應(yīng)用中,取均值周圍3倍標(biāo)準(zhǔn)差內(nèi)的值,在此以外的部分可以忽略。與均值濾波相比,采用高斯濾波不僅可以使得圖像更加平滑柔和,而且邊緣保留的也比較好。圖3所示為經(jīng)過高斯濾波后的圖像,處理后的圖像更加平滑。
圖3 高斯濾波后的圖像
工業(yè)應(yīng)用視覺大多要求檢測、提取目標(biāo)物體的邊緣信息,其核心是對目標(biāo)圖像進(jìn)行精準(zhǔn)的邊緣信息檢測。圖像邊緣是圖中像素點灰度值有階躍變化的像素點集合,一般指局部不連續(xù)的圖像特征或局部亮度變化最顯著的部分,圖像的灰度值、顏色分量的突變以及紋理結(jié)構(gòu)的突變都可構(gòu)成圖像邊緣信息。
Canny算子是John F. Canny在1986年提出的一種將邊緣定位精確性和抗噪聲干擾性相折中的圖像梯度邊緣檢測算子,屬于先通過高斯函數(shù)平滑后求導(dǎo)數(shù)的方法。Canny算子的主要思想是首先通過高斯函數(shù)對圖像進(jìn)行平滑處理,并使用一階偏導(dǎo)有限差分求導(dǎo)并計算圖像對應(yīng)點的梯度,之后對梯度幅值進(jìn)行非極大值抑制,利用高低閾值檢測和連接邊緣以獲得圖像邊緣。傳統(tǒng)Canny邊緣檢測算法具體步驟如下:
(1)高斯濾波
高低濾波的主要目的是使圖像變得平滑,同時也可以盡可能增大圖像邊緣的寬度,便于后續(xù)目標(biāo)輪廓的檢測。
(2)計算梯度幅值與方向
邊緣即灰度值變化較大的像素點的集合。邊緣處的灰度值變化最為顯著,可以采用梯度表示灰度值的變化程度和方向。Canny算法一般運(yùn)用2×2鄰域內(nèi)一階偏導(dǎo)的有限差分來計算經(jīng)過高斯平滑處理后圖像(,)的梯度幅值(,)和方向,其數(shù)學(xué)推導(dǎo)過程如下所示:
(3)非極大值抑制
邊緣經(jīng)濾波后可能會被放大,如果不經(jīng)處理則會影響后續(xù)邊緣的確定,而非極大值抑制就是選取一個規(guī)則來過濾非邊緣的像素點,令邊緣的寬度盡可能為1個像素點。如果一個像素點屬于邊緣,那么這個像素點在梯度方向上的梯度值最大;如果該像素點不是邊緣,則將(,)設(shè)為0。
(4)雙閾值算法檢測和連接邊緣
經(jīng)過步驟(3)處理后可得到梯度幅值矩陣,設(shè)定初始高閾值和低閾值。根據(jù)設(shè)定的閾值,可以將梯度圖像分為2個閾值邊緣圖像,由于高閾值分割后的圖像不包含虛假邊緣,但圖像輪廓不連續(xù),所以采用低閾值補(bǔ)償輪廓邊緣間斷的缺陷,直到用高閾值分割后的圖像輪廓邊緣閉合為止。
膨脹與腐蝕能實現(xiàn)多種多樣的功能,主要功能包括消除噪聲、獲得獨立圖像元素、尋找圖中的顯著極大值或極小值區(qū)域,以及求出圖像的梯度。所謂膨脹就是對原圖中的高亮部分進(jìn)行膨脹操作,處理后的圖像相比原圖具有更多高亮區(qū)域。腐蝕就是對原圖中的高亮部分進(jìn)行腐蝕處理,經(jīng)過處理后的圖像與原圖相比減少了高亮區(qū)域。
圖4 圖像膨脹與腐蝕示意圖
通過圖像灰度化、高斯濾波、邊緣檢測、膨脹和腐蝕后,在邊緣映射中尋找合適的輪廓,計算輪廓的外接矩形,并對輪廓進(jìn)行排序,獲取圖中的參考目標(biāo)和其他目標(biāo)。由此可以獲得第個輪廓外接矩形的4個頂點,即[tr,tl,br,bl],其中、、、分別代表輪廓外接矩形上方、下方、右邊和左邊。目標(biāo)的輪廓和頂點如圖5所示。
圖5 3個目標(biāo)的輪廓及頂點
由于已知參考車輛的長度為length,則參考車輛在圖像中所占據(jù)的像素pixel與實際度量length的像素比可以通過下式獲得:
利用像素比可以計算圖像中的車輛間距,即在實際測量中可以根據(jù)像素反推間距。
為驗證算法的有效性,首先在3個目標(biāo)的情況下,已知圖5中左邊目標(biāo)的長度為4 cm,間距按照目標(biāo)特征長度與間距1∶5設(shè)置,即相距20 cm,通過本文所提算法獲得的檢測結(jié)果如圖6所示,圖7為實際測量的對比圖。
圖6 3個目標(biāo)的間距檢測算法仿真結(jié)果
圖7 3個目標(biāo)的實際測量結(jié)果
根據(jù)圖6和圖7可知,目標(biāo)間距測量的誤差為1.5 cm和1.1 cm,達(dá)到了理想的檢測效果,說明本文所提方法有效。
為進(jìn)一步對比說明,驗證本文算法的有效性,在圖像包含2個目標(biāo)的情況下,間距按照目標(biāo)特征長度與間距1∶10來設(shè)置,即間距40 cm,檢測結(jié)果與實際測量結(jié)果如圖8和圖9所示。
圖8 兩目標(biāo)間距檢測算法仿真結(jié)果
圖9 兩目標(biāo)間距實際測量結(jié)果
由圖8和圖9可知,目標(biāo)間距檢測誤差為1.4 cm,說明了本文檢測算法在目標(biāo)特征長度與間距達(dá)到1∶10的情況下,依然能夠獲得較為理想的結(jié)果,進(jìn)一步驗證了本文算法的有效性。
本文提出了基于無人機(jī)航拍圖像的車輛間距測量算法,能夠較準(zhǔn)確地測量相鄰車輛的間距。首先對圖像進(jìn)行預(yù)處理,之后采用Canny算子對其進(jìn)行獲得目標(biāo)邊緣映射,使用膨脹和腐蝕處理后計算其外接矩形,之后獲得目標(biāo)輪廓的4個頂點和相鄰邊的中點,并計算相鄰目標(biāo)的間距。最后,在兩種情況下對本文所設(shè)計的算法進(jìn)行驗證,結(jié)果證明了本文所提車間距檢測算法的有效性。
現(xiàn)實情況中仍存在許多因素影響著航拍圖像的質(zhì)量,進(jìn)而影響車間距檢測結(jié)果,比如拍攝角度、焦距、光照條件、氣象條件、植被遮擋等,在本文中作為理想化條件而忽略。其次,本文假設(shè)已提前知道參考目標(biāo)車輛的實際尺寸,并可實時測量車輛位置,這在特定的任務(wù)場景是合理的。最后,關(guān)于目標(biāo)的識別、提取和無關(guān)物體的剔除等則是后續(xù)需要研究的重點。