本發(fā)明涉及一種輔助駕駛領(lǐng)域中檢測井蓋的方法,具體是一種基于弧-點(diǎn)結(jié)合的車載井蓋檢測方法。
背景技術(shù):
近年來,路面井蓋丟失引起的傷人傷車事件頻發(fā),而國內(nèi)外對于井蓋的檢測研究卻未能及時到位,現(xiàn)有的改進(jìn)措施,大部分集中于對井蓋安裝智能裝置進(jìn)行實(shí)時監(jiān)管,或通過加大人員投入來提高巡檢頻率?,F(xiàn)階段被廣泛應(yīng)用的車載防碰撞預(yù)警系統(tǒng),往往只能對行人和車輛等突出物進(jìn)行檢測預(yù)警,而對于安裝位置近乎與地面平齊的井蓋則無能為力。對駕駛?cè)藛T來說,及時地掌握前方路面井蓋的狀況,成為安全駕駛的迫切需求。
井蓋常規(guī)下是規(guī)格的圓形,由于行車記錄儀拍攝時與地面所成的夾角,致使其在圖像中常投影成橢圓。因此,可借助于橢圓檢測的方法來研究井蓋。橢圓檢測的研究主要集中在基于Hough的檢測、基于幾何性質(zhì)的檢測、基于最小二乘擬合的和基于弧段分類與聚合的檢測這4類方法。前三種方法從點(diǎn)操作的角度出發(fā),在背景單一、干擾較少時,算法擬合速度較快,但隨著圖像中點(diǎn)數(shù)的增多,無效采樣急劇增大,處理耗時較長;基于弧段分割和聚合方法,將弧段作為操作的基本單元,抗噪性強(qiáng),處理速度很快,但實(shí)現(xiàn)過程繁瑣,同時,弧段的聚合過程,更多借助于切線的運(yùn)用,而數(shù)字圖像的離散性,決定了我們不可能得到精確的切線值,多次切線的近似,使擬合過程容易出現(xiàn)較大誤差。
技術(shù)實(shí)現(xiàn)要素:
為了進(jìn)一步減少井蓋檢測的時間,提高檢測準(zhǔn)確性,以滿足車載設(shè)備實(shí)時性處理的需求,本發(fā)明在研究了橢圓檢測多種算法的基礎(chǔ)上設(shè)計了一種基于弧-點(diǎn)結(jié)合的車載井蓋檢測方法。該方法不是簡單的直接應(yīng)用隨機(jī)點(diǎn)采樣進(jìn)行擬合,也不是純粹運(yùn)用弧段的角度來全程處理橢圓,而是將弧段特性的運(yùn)用和點(diǎn)的擬合結(jié)合起來,將弧段的分割和聚合作為點(diǎn)選取前的預(yù)處理,減少邊緣中的直線段、小型弧段等無法運(yùn)用普通濾波手段去除的無關(guān)干擾,降低了無效采樣的概率;同時在不同象限的弧段上進(jìn)行點(diǎn)采樣擬合,也避免了采樣點(diǎn)過于接近引起的偽擬合。
為達(dá)到上述目的,本發(fā)明采用以下技術(shù)方案予以實(shí)現(xiàn):
一種基于弧-點(diǎn)結(jié)合的車載井蓋檢測方法,包括以下步驟:
1)將圖像采集裝置采集的彩色圖像轉(zhuǎn)換為灰度圖,運(yùn)用邊緣提取算法和細(xì)化算法對灰度圖進(jìn)行輪廓的提取和細(xì)化;
2)根據(jù)點(diǎn)間的連接性和區(qū)域關(guān)系,將輪廓從交叉點(diǎn)處斷開,進(jìn)而由各弧段的凹凸性,進(jìn)行弧段的分類,并對直線段和小型弧段進(jìn)行去除;
3)將經(jīng)過以上處理后的保留邊緣作為候選弧段進(jìn)行分組,對滿足象限約束和中心約束的弧段進(jìn)行歸類,由中心點(diǎn)約束確定中心點(diǎn)位置;
4)在不同象限的弧段上取點(diǎn),進(jìn)行橢圓的最小二乘擬合;
5)對擬合出的橢圓進(jìn)行去偽和篩檢,判斷井蓋所在位置。
本發(fā)明進(jìn)一步的改進(jìn)在于:
步驟1)中,對灰度圖進(jìn)行輪廓的提取和細(xì)化的具體方法如下:
由灰度圖轉(zhuǎn)化公式
V=0.3R+0.59G+0.11B (1)
將圖像采集裝置采集的彩色圖像轉(zhuǎn)化為灰度圖,其中,R,G,B為原彩色圖像的三通道;運(yùn)用Canny檢測算法對圖像進(jìn)行輪廓提取,并得到二值化處理,輪廓像素值為1,背景像素值為0;采用細(xì)化算法對邊緣進(jìn)行細(xì)化處理,進(jìn)行精確定位。
步驟2)中,通過弧段凹凸性函數(shù)和邊緣方向函數(shù),共同作為弧段象限分類的依據(jù)。
步驟2)中,對細(xì)化后的輪廓進(jìn)行多次操作,使之割裂為多個獨(dú)立的弧段,具體方法如下:
2-1)交叉點(diǎn)的處理:
交叉點(diǎn)的判別,基于像素的八鄰域連接性實(shí)現(xiàn);當(dāng)中心像素值為1,沿逆時針方向,將其八鄰域中的每個點(diǎn)依次兩兩相減并取其絕對值,后將所有結(jié)果相加,和為6時,中心點(diǎn)圖像特征為交叉點(diǎn);為了簡化操作,在找到交叉點(diǎn)后,直接將其賦值0,從而經(jīng)過此點(diǎn)的交叉弧線全部斷開;
2-2)微小弧段的剔除:
遍歷圖像,對連續(xù)弧段長度或像素數(shù)小于閾值T的,歸為微小弧段,剔除;
2-3)弧段分割和直線段的剔除:
引入兩個函數(shù)C和S,分別來記錄連續(xù)弧段的凹凸性和邊緣趨勢;
對于C函數(shù),由弧的上部分面積U和下部分面積D大小關(guān)系來決定:
U>D,記為“-”;
U<D,記為“+”;
U=D,類似于直線段,賦值為0,舍棄;
對于S函數(shù),借助于邊緣在x方向上的梯度Gx和y方向上的梯度Gy乘積的符號決定:
Gx×Gy>0,記為“+”;
Gx×Gy<0,記為“-”;
Gx×Gy=0,賦值為0,舍棄;
2-4)確定弧段的象限分類:
由C函數(shù)和S函數(shù)共同作用,確定弧段歸屬象限。
步驟3)中,基于中心弦定理,中心約束以經(jīng)過兩組平行弦中點(diǎn)的直線交點(diǎn)作為井蓋中心。
步驟3)中,弧段分組的具體方法如下:
弧段若位于同一橢圓上,需滿足下面的兩個基本約束:
(i)象限約束;
(ii)中心點(diǎn)約束;
約束(i)強(qiáng)調(diào),以三個弧段為一組,且這三個弧段兩兩之間不共象限;
約束(ii)指出,同一橢圓上的弧段,應(yīng)該滿足各自求得的橢圓中心相同或相近;為避免切線的引入所帶來的估計上的誤差,中心點(diǎn)約束采用中心弦定理,即經(jīng)過橢圓一組平行弦中點(diǎn)的直線必過橢圓中心。
步驟4)中,最小二乘擬合共采樣6個點(diǎn),進(jìn)行一次直接擬合。
步驟4)中,橢圓擬合的具體方法如下:
橢圓方程由式(2)表示:
Ax2+Bxy+Cy2+Dx+Ey+1=0 (2)
橢圓的擬合就是確定橢圓A,B,C,D,E5個參數(shù),橢圓方程簡化為:
A(x-x0)2+B(x-x0)(y-y0)+C(y-y0)2+1=0 (3)
根據(jù)選取的擬合點(diǎn),進(jìn)行最小二乘處理,得到方程中的各系數(shù),即求目標(biāo)函數(shù):
最小值來確定系數(shù),由極值定理:
得到線性方程組,通過解線性方程組的方法解得各參數(shù)。
步驟5)中,通過邊界占有率和縱橫比來去偽和篩檢橢圓。
步驟5)中,去偽的具體方法如下:
引入兩個參數(shù):邊界占有率λ和橢圓橫縱比Rc;定義:
λ=輪廓長度/橢圓周長 (6)
Rc=橫軸長/縱軸長 (7)
對于邊界占有率:
如果λ≥0.55,則定為候選橢圓;
如果λ<0.55,則定為偽橢圓,舍棄;
對于橢圓橫縱比:
如果Rc≥1,為橫直型橢圓,定為候選橢圓;
如果Rc<1,為豎直型橢圓,為輪胎等干擾,舍棄;
剩下的橢圓所在位置就是井蓋在圖像中的檢出位置。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
首先,本發(fā)明將弧段的分割作為點(diǎn)擬合的預(yù)處理階段,大大減少了邊緣圖中直線段和微小弧段干擾,使采樣點(diǎn)個數(shù)和無效采樣概率都大幅降低,有利于提高井蓋檢出速率;其次,本發(fā)明能夠適應(yīng)于道路等復(fù)雜背景下的應(yīng)用;本發(fā)明將弧段劃歸為不同象限,并從不同象限的弧段上進(jìn)行取點(diǎn),使點(diǎn)的選取更合理分散,提高了擬合的有效性;最后,本發(fā)明具有較強(qiáng)的抗噪性,并對井蓋邊緣完整性要求不高。
【附圖說明】
圖1為本發(fā)明所述方法流程圖;
圖2為八鄰域示意圖;
圖3為C函數(shù)示意圖;
圖4為S函數(shù)示意圖;
圖5為弧段象限劃分示意圖;
圖6為中心弦定理示意圖;
圖7為橫直型橢圓和豎直型橢圓示意圖;
圖8為實(shí)拍道路圖;
圖9為經(jīng)過邊緣提取和細(xì)化得到的輪廓圖;
圖10為井蓋在經(jīng)過弧段分割和剔除處理的圖像上的定位;
圖11為井蓋在原始圖像上的定位。
【具體實(shí)施方式】
下面結(jié)合附圖對本發(fā)明的技術(shù)方案作進(jìn)一步的說明,但并不局限于此,凡是對本發(fā)明技術(shù)方案進(jìn)行修改或者等同替換,而不脫離本發(fā)明技術(shù)方案的精神和范圍,均應(yīng)涵蓋在本發(fā)明的保護(hù)范圍中。
如圖1所示,本發(fā)明提供了一種基于弧-點(diǎn)結(jié)合的車載井蓋檢測方法,具體包括以下步驟:
1)邊緣提取和細(xì)化
由灰度圖轉(zhuǎn)化公式
V=0.3R+0.59G+0.11B (1)
將行車記錄儀拍攝彩色圖轉(zhuǎn)化為灰度圖,其中,R,G,B為原彩色圖像的三通道。運(yùn)用Canny檢測算法對圖像進(jìn)行輪廓提取,并得到二值化處理,輪廓像素值為1,背景像素值為0。為了更好的進(jìn)行定位,采用細(xì)化算法對邊緣進(jìn)行細(xì)化處理。
2)弧段分割和分類
在本步,我們需要對細(xì)化后的輪廓進(jìn)行多次操作,使之割裂為多個獨(dú)立的弧段。具體步驟如下:
第一步,交叉點(diǎn)的處理。數(shù)字圖像像素離散,加上噪聲干擾存在,在多個對象重疊處,難免會有邊界的交叉。交叉點(diǎn)的判別,基于像素的八鄰域(圖2)連接性實(shí)現(xiàn)。當(dāng)中心像素值為1,沿逆時針方向,將其八鄰域中的每個點(diǎn)依次兩兩相減并取其絕對值,后將所有結(jié)果加起來,和為6時,中心點(diǎn)圖像特征為交叉點(diǎn)。為了簡化操作,在找到交叉點(diǎn)后,我們直接將其賦值0,從而經(jīng)過此點(diǎn)的交叉弧線全部斷開。
第二步,微小弧段的剔除。遍歷圖像,對連續(xù)弧段長度(像素數(shù))小于閾值T的,歸為微小弧段,剔除。
第三步,弧段分割和直線段的剔除。引入兩個函數(shù)C(圖3)和S(圖4),分別來記錄連續(xù)弧段的凹凸性和邊緣趨勢。
對于C函數(shù),由弧的上部分面積U和下部分面積D大小關(guān)系來決定:
U>D,記為“-”;
U<D,記為“+”;
U=D,類似于直線段,賦值為0,舍棄。
對于S函數(shù),借助于邊緣在x方向上的梯度Gx和y方向上的梯度Gy乘積的符號決定:
Gx×Gy>0,記為“+”;
Gx×Gy<0,記為“-”;
Gx×Gy=0,賦值為0,舍棄。
第四步,確定弧段的象限分類。由C函數(shù)和S函數(shù)共同作用,確定弧段歸屬象限,如圖5。
3)弧段分組
弧段若位于同一橢圓上,需滿足下面的兩個基本約束
(1)象限約束
(2)中心點(diǎn)約束
約束(1)強(qiáng)調(diào),以三個弧段為一組,且這三個弧段兩兩之間不共象限。
約束(2)指出,同一橢圓上的弧段,應(yīng)該滿足各自求得的橢圓中心相同或相近(邊緣像素的離散,使中心的確定可能有一些偏差)。為避免切線的引入所帶來的估計上的誤差,中心點(diǎn)約束采用中心弦定理(圖6),即經(jīng)過橢圓一組平行弦中點(diǎn)的直線必過橢圓中心。
4)橢圓擬合
橢圓方程可由式(2)表示:
Ax2+Bxy+Cy2+Dx+Ey+1=0 (2)
橢圓的擬合就是確定橢圓A,B,C,D,E5個參數(shù)。在弧段分組中,已經(jīng)定下了中心所在位置,未知參數(shù)減為3個,橢圓方程可簡化為:
A(x-x0)2+B(x-x0)(y-y0)+C(y-y0)2+1=0 (3)
最小二乘擬合,就是尋找參數(shù)集合,最小化數(shù)據(jù)點(diǎn)和橢圓之間的距離度量。根據(jù)選取的擬合點(diǎn),進(jìn)行最小二乘處理,就可以得到方程中的各系數(shù),即求目標(biāo)函數(shù)
最小值來確定系數(shù),由極值定理,
得到線性方程組,通過解線性方程組的方法解得各參數(shù)。
5)去偽
擬合出的橢圓中,有可能存在虛假橢圓,并且,復(fù)雜的道路環(huán)境下,車輛輪胎等豎直型橢圓也會對井蓋的定位產(chǎn)生干擾。
因此,引入兩個參數(shù):邊界占有率λ和橢圓橫縱比Rc。定義
λ=輪廓長度/橢圓周長 (6)
Rc=橫軸長/縱軸長 (7)
對于邊界占有率:
如果λ≥0.55,則定為候選橢圓;
如果λ<0.55,則定為偽橢圓,舍棄。
對于橢圓橫縱比(圖7):
如果Rc≥1,為橫直型橢圓,定為候選橢圓;
如果Rc<1,為豎直型橢圓,為輪胎等干擾,舍棄。
經(jīng)過以上操作,剩下的橢圓所在位置就是井蓋在圖像中的檢出位置,實(shí)例如圖8-11所示。
以上內(nèi)容僅為說明本發(fā)明的技術(shù)思想,不能以此限定本發(fā)明的保護(hù)范圍,凡是按照本發(fā)明提出的技術(shù)思想,在技術(shù)方案基礎(chǔ)上所做的任何改動,均落入本發(fā)明權(quán)利要求書的保護(hù)范圍之內(nèi)。