【摘要】" " 在高速公路裂痕圖像檢測(cè)過(guò)程中,采集到的路面裂痕圖像容易出現(xiàn)模糊,且路面裂痕本身具有裂痕特征不明顯、雜質(zhì)干擾大等特點(diǎn),需要開(kāi)發(fā)一種高效的方法進(jìn)行路面裂痕自動(dòng)檢測(cè)工作。根據(jù)路面實(shí)際裂痕像素灰度值比背景灰度值低的原理,對(duì)路面進(jìn)行拍照,將得到的圖像進(jìn)行灰度化處理,進(jìn)行自適應(yīng)閾值化和二值化,呈現(xiàn)出比較清晰的黑白圖像。將上述的黑白圖像經(jīng)膨脹、降噪后,使用open CV獲取輪廓拓?fù)湫畔?。?shí)驗(yàn)證明,新提出的方法在處理速度和檢測(cè)準(zhǔn)確性方面能夠滿足實(shí)際需要,能實(shí)時(shí)、自動(dòng)檢測(cè)出模糊圖像的裂痕。
【關(guān)鍵字】" " 裂痕檢測(cè)" " 圖像處理" " 自適應(yīng)閾值化" " 圖像降噪
引言:
路面裂痕檢測(cè)的目的是對(duì)公路路況進(jìn)行高速采樣,經(jīng)處理后提取路面裂痕的信息,為制定公路路面養(yǎng)護(hù)計(jì)劃提供科學(xué)的理論依據(jù)[1]。現(xiàn)有的裂痕檢測(cè)形式包括混凝土裂痕檢測(cè)、橋面裂痕檢測(cè)等,針對(duì)路面的檢測(cè)分割方法有許多,如基于局部二進(jìn)制模式方法,基于熵和有監(jiān)督策略的方法阻引,基于連續(xù)小波變換的方法,基于分形的方法,基于模糊增強(qiáng),基于模糊數(shù)學(xué)的公路路面裂痕檢測(cè)技術(shù)的方法,以及其他一些圖像分割方法[1]。由于高速公路路況存在傳輸距離長(zhǎng)、天氣影響大等情況,實(shí)際檢測(cè)過(guò)程中存在數(shù)據(jù)量大和數(shù)據(jù)偏差高的問(wèn)題,需要一種響應(yīng)時(shí)間短、計(jì)算效率高的方法進(jìn)行檢測(cè),本文提出的方法對(duì)于現(xiàn)行的道路裂痕檢測(cè)方式有現(xiàn)實(shí)的指導(dǎo)意義。
一、檢測(cè)方法概述
裂痕檢測(cè)方法主要包括以下幾方面:路面圖像轉(zhuǎn)換、路面圖像處理、裂痕輪廓檢測(cè)。
1.1 路面圖像轉(zhuǎn)換
裂痕檢測(cè)的第一步是轉(zhuǎn)化視頻圖像。在接收到視頻圖像信息之后,將拍攝的彩色圖像轉(zhuǎn)化為灰度圖,由于路面的天氣、光照、路況等影響視頻圖像往往會(huì)處在局部光照和陰影下,常用的圖像分割算法適用性不強(qiáng),因此對(duì)灰度圖進(jìn)行自適應(yīng)局部閾值化處理,去除局部光照和陰影對(duì)圖像結(jié)果的影響,并將進(jìn)行優(yōu)化的灰度圖進(jìn)行二值化處理。
1.2路面圖像處理
將轉(zhuǎn)化的二值圖進(jìn)行處理,其中包括對(duì)二值化圖像進(jìn)行膨脹操作,盡量放大凸顯裂縫,由于攝像拍攝和灰度圖轉(zhuǎn)化等工作可能會(huì)使得二值圖的圖像出現(xiàn)噪聲,因此得到的圖像還需進(jìn)行噪聲消除。
1.3裂痕輪廓檢測(cè)
通過(guò)調(diào)用尋找輪廓函數(shù)對(duì)二值圖進(jìn)行掃描并尋找所有的輪廓,并將輪廓進(jìn)行提取,提取后的輪廓通過(guò)預(yù)先確定的固定閾值進(jìn)行檢測(cè),固定閾值可根據(jù)經(jīng)驗(yàn)值選取,經(jīng)過(guò)篩選的結(jié)果已經(jīng)清楚顯示出裂痕特征。
三、 路面圖像轉(zhuǎn)換
2.1 彩色圖像灰度化
灰度圖像能以較少的數(shù)據(jù)信息表征圖像的大部分特征,因此首先需要對(duì)圖像進(jìn)行灰度化。由于在此三維向一維降維的過(guò)程中,信息的丟失是不可避免的。因此如何在灰度圖像中最大限度的保留原彩色圖像的信息成了學(xué)者們當(dāng)前研究的重點(diǎn)[2]。大部分的彩色圖像都是采用RGB顏色模式,處理圖像的時(shí)候,要分別對(duì)RGB三種分量進(jìn)行處理。這里采用的是一個(gè)簡(jiǎn)單的算法——最大值法,將彩色圖像中的每一個(gè)像素點(diǎn)的三分量亮度的最大值作為灰度圖的灰度值,算法如下:
Gray(i, j)=max{R(i, j),G(i, j),B(i, j)}
2.2自適應(yīng)局部閾值化
局部自適應(yīng)閾值是根據(jù)像素的鄰域塊的像素值分布來(lái)確定該像素位置上的二值化閾值。這樣做的好處在于每個(gè)像素位置處的二值化閾值不是固定不變的,而是由其周圍鄰域像素的分布來(lái)決定的。亮度較高的圖像區(qū)域的二值化閾值通常會(huì)較高,而亮度較低的圖像區(qū)域的二值化閾值則會(huì)相適應(yīng)地變小。不同亮度、對(duì)比度、紋理的局部圖像區(qū)域?qū)?huì)擁有相對(duì)應(yīng)的局部二值化閾值。圖1的圖像在光照不均勻的情況下,二值化后的圖像如圖2。首先,將圖像分成較小的塊,然后分別計(jì)算每塊的直方圖。根據(jù)每個(gè)直方圖的峰值,然后為每個(gè)塊計(jì)算其閾值。每個(gè)像素點(diǎn)的閾值根據(jù)相鄰的塊的閾值進(jìn)行插值獲得。二值化后的圖像如圖3,能比較清晰地展現(xiàn)出信息。
2.3 二值化處理
此時(shí)得到的灰度圖進(jìn)行二值化操作,操作的基本思想是遍歷圖像像素,計(jì)算一個(gè)移動(dòng)的平均值。如果某個(gè)像素明顯的低于這個(gè)平均值,則設(shè)置為黑色,否則設(shè)置為白色。假設(shè)Pn為圖像中位于點(diǎn)n處的像素,把圖像假設(shè)成由所有行按順序連接起來(lái)的一個(gè)單行,fs(n)是點(diǎn)n處后面s個(gè)像素的總和,最后的圖像T(n)是1(黑色)或0(白色)則依賴于其是否比其前s個(gè)像素的平均值的百分之t的暗:
三、 路面圖像處理
3.1 圖像膨脹操作
得到的二值圖大致能夠顯現(xiàn)出高速公路的基本路面情況,但是由于攝像頭的客觀條件和灰度圖轉(zhuǎn)化過(guò)程中的損失,二值圖中的地面裂痕不清晰,也存在一定的噪點(diǎn)污染,需要采用膨脹操作放大二值圖中的裂痕。腐蝕和膨脹是灰度圖像的初等形態(tài)學(xué)運(yùn)算,膨脹是腐蝕的對(duì)偶運(yùn)算,可定義為對(duì)圖像的補(bǔ)集進(jìn)行的腐蝕運(yùn)算。集合A被集合B腐蝕,表示為AB,其定義為:
3.2圖像噪聲消除
膨脹操作后的二值圖像放大凸顯裂痕,此時(shí)噪聲干擾過(guò)多,需要對(duì)圖像進(jìn)行降噪。圖像噪聲的形式眾多,其中包括脈沖噪聲、高斯噪聲等。在圖像處理中出現(xiàn)的噪聲一般為脈沖噪聲、高斯噪聲或兩者疊加混合的噪聲[4]。這里采用的是8鄰域降噪法,這種方法類似均值濾波,對(duì)于每個(gè)像素點(diǎn),統(tǒng)計(jì)其周圍像素點(diǎn)的灰度值為0或255的個(gè)數(shù)。如果一個(gè)像素點(diǎn)是干擾因素的一部分,那么這個(gè)像素點(diǎn)在二值化結(jié)果中其灰度值一定是0即黑色;如果一個(gè)像素點(diǎn)是背景,則其灰度值應(yīng)該是255即白色。因此對(duì)于孤立的噪點(diǎn),其周圍應(yīng)該都是白色,或者大多數(shù)點(diǎn)都是白色像素點(diǎn),經(jīng)過(guò)測(cè)試,8領(lǐng)域降噪法對(duì)于小的噪點(diǎn)的去除是很有效的。
四、 裂痕輪廓檢測(cè)
上述處理方法得到的二值圖像需要進(jìn)行一輪檢測(cè),對(duì)放大后的裂痕處進(jìn)行輪廓提取工作,這里采用的是OpenCV提供findContours()函數(shù)來(lái)獲取二值圖像的輪廓拓?fù)湫畔5],其函數(shù)原型如下:
void cv::findContours(InputOutputArray image,OutputArrayOfArrays contours,
OutputArray hierarchy,int mode,int method,Point offset = Point())
其中image表示輸入圖像;Contours用來(lái)獲取輪廓,每個(gè)輪廓是一系列的點(diǎn)(cv::Point類)集合;Hierarchy用來(lái)保存輪廓的層次信息; mode表示輪廓尋找時(shí)候的拓?fù)浣Y(jié)構(gòu)返回。
對(duì)于得到輪廓,可以通過(guò)下面的API繪制每個(gè)輪廓:
void cv::drawContours(InputOutputArray image, InputArrayOfArrays contours,
int contourIdx,const Scalaramp; color,int thickness = 1,
int lineType = LINE_8,InputArray hierarchy = noArray(),
int maxLevel = INT_MAX,Point offset = Point())
其中image為繪制的圖像;contours為輪廓集合,當(dāng)中每個(gè)元素為一個(gè)輪廓;contourIdx為繪制contours中序號(hào)對(duì)應(yīng)的輪廓,為-1時(shí)則表示繪制所有輪廓;color為繪制使用的顏色;thickness為正數(shù)的時(shí)候表示繪制該輪廓,為-1表示填充該輪廓。
五、 實(shí)驗(yàn)結(jié)果分析
比較傳統(tǒng)的路面裂痕檢測(cè)方式,本文提出的方法計(jì)算量相對(duì)較小,計(jì)算時(shí)間小,適應(yīng)于高速公路傳輸圖像量大的情況,為了驗(yàn)證本文算法的有效性,用python實(shí)現(xiàn)的檢測(cè)系統(tǒng)軟件對(duì)實(shí)時(shí)采集到的圖像幀進(jìn)行自動(dòng)檢測(cè)。將拍攝收集到的三段視頻圖像逐幀分析,視頻分辨率為1024×768。使用的是普通雙核CPU性能的計(jì)算機(jī),程序運(yùn)行計(jì)算得到待檢測(cè)幀的平均檢測(cè)時(shí)間、圖像幀數(shù)及正確率如下表:
經(jīng)研究表明,檢測(cè)的正確率比較高,響應(yīng)時(shí)間小。實(shí)際路面檢測(cè)工作中,決定檢測(cè)正確率的條件包括室外天氣情況,如雨、雪、大霧等天氣的干擾,光照強(qiáng)度等也對(duì)實(shí)驗(yàn)結(jié)果有一定的影響。
六、結(jié)束語(yǔ)
針對(duì)目前我國(guó)的道路裂痕檢測(cè)現(xiàn)狀提出的問(wèn)題,本文提供了一種更加方便和高效的方法,對(duì)以后的道路檢測(cè)提供了新的思路。本方法能快速檢測(cè)多數(shù)據(jù)量下的視頻圖像,圖像灰度化及噪聲消除速度較快。
目前的數(shù)字圖像處理方向還在不斷發(fā)展,文中提到的圖像灰度化、二值化處理操作,以及圖像膨脹和降噪的算法,出于對(duì)現(xiàn)實(shí)中高效性等情況的考慮采取的算法核心相比現(xiàn)有的諸多算法來(lái)說(shuō)偏簡(jiǎn)單,在今后的圖像處理發(fā)展過(guò)程中將會(huì)由于技術(shù)的不斷升級(jí)得到更新和優(yōu)化,以滿足更多極端天氣下更高的準(zhǔn)確率。
參" 考" 文" 獻(xiàn)
[1] 劉益玲,謝書(shū)童.基于模糊數(shù)學(xué)的公路路面裂痕檢測(cè)技術(shù)[J].集美大學(xué)學(xué)報(bào),2014,(5).
[2] 陳鍛生,宋鳳菲.彩色圖像灰度化及其效果的客觀評(píng)價(jià)方法研究[D].華僑大學(xué),2014.
[3] 高薪,胡月,杜威.腐蝕膨脹算法對(duì)灰度圖像去噪的應(yīng)用[J].北京印刷學(xué)院學(xué)報(bào),2014,(4).
[4] 黃紅波.一種基于二維小波塊閾值數(shù)字圖像去噪方法[J].湖南理工學(xué)院學(xué)報(bào):自然科學(xué)版,2006,(1):31-33,39.
[5] 秦小文,溫志芳,喬維維.基于OpenCV的圖像處理[J].電子測(cè)試,2011,(7).