顏 廷 法
(煙臺職業(yè)學(xué)院 信息工程系,山東 煙臺 264670)
智能交通是當今世界全球化、信息化發(fā)展的必然趨勢.GPS可以為智能交通提供服務(wù),但在小范圍的區(qū)域,如校園和小城鎮(zhèn),GPS有時不能提供有價值信息.然而,道路兩旁的建筑物可以提供有價值信息.如果把建筑物的形狀及其相應(yīng)位置信息保存在數(shù)據(jù)庫中,通過車載攝像頭獲取到含有道路兩旁特定建筑物的圖像,對圖像進行處理并與數(shù)據(jù)庫中的圖像進行匹配,如果圖像匹配成功,就可以獲取建筑物的位置信息.
很多建筑物識別的研究主要在基于內(nèi)容的圖像檢索(CBIR)領(lǐng)域,而不是對建筑物的本身結(jié)構(gòu)加以辨別.人造建筑物的結(jié)構(gòu)特征比自然物體的特征更有規(guī)則,包含人造物體的圖像也有類似規(guī)則可尋,比如直線或者特定模式等.知覺分組、直線群思想和尺度不變特征變換(SIFT)等方法都可以檢測圖像中的人造結(jié)構(gòu),該算法是通過SIFT特征方法查找圖像中的人造結(jié)構(gòu)痕跡.該算法首先通過檢測直線和消失點來對圖像中是否存在建筑物進行預(yù)判,而不是對圖像序列中的每幅圖像直接提取SIFT特征,這將大大減少算法的計算量,保證算法具有實時高效性.
該算法是能夠生成一個能夠自動識別特定建筑物的程序,通過識別出的建筑物信息用于進一步的其他操作,該算法可以通過以下幾步來實現(xiàn).
1)通過平滑技術(shù)消除圖像中的噪聲;
2)通過Canny算子對圖像進行邊緣檢測;
3)利用霍夫變換技術(shù)配合設(shè)定閾值檢測圖像中的直線;
4)對檢測到的直線判斷是否有共同消失點,若有一個或多個共同消失點,則可以證明在圖像中極有可能存在一個人造的具有規(guī)則結(jié)構(gòu)的三維物體;
5)從可能含有特定建筑物的圖像中提取SIFT特征并與存儲在數(shù)據(jù)庫中的圖像進行匹配,匹配成功的話就可以獲得相應(yīng)的位置信息.
實驗結(jié)果表明,該算法能夠高效準確的識別出圖像中存在的建筑物并取得相應(yīng)位置信息為智能交通服務(wù).
平滑能夠很好的消除一幅圖像的噪聲.大部分靜止圖像的壓縮是使用圖像中的某種像素塊平均值,當一個壓縮圖像按一定比例被放大,就可以看到由于壓縮而產(chǎn)生的塊效應(yīng).因為它們可能會影響到圖像處理,特別是使用了一些含有高值的卷積掩碼的場合.在本文中,首先使用一個3*3的平均掩碼對圖像進行平滑處理.
邊緣檢測是一種常見的圖像處理和計算機視覺方法.一個邊緣可以被定義為圖像中像素值發(fā)生突變的位置,邊緣檢測可以在圖像的一個或多個通道中進行,有時候一幅圖像的亮度是邊緣檢測的唯一通道.同時,邊緣檢測可以在幾個通道中同時進行,由此產(chǎn)生的邊緣地圖將顯示存在于任何一個通道中的所有邊緣.
好的邊緣檢測對圖像處理是至關(guān)重要的,所有的處理和聚類都是在邊緣像素上執(zhí)行的.該算法使用Canny邊緣檢測器[1],它包含幾個額外步驟,非極大值抑制用來細化直線,滯后閾值用來消除低級別邊緣像素,一個3*3的Prewitt卷積模板用來定位邊緣,并計算在每個圖像中的邊緣方向.圖1是用Canny算法得到的試驗結(jié)果:
圖1 Canny算法得到的試驗結(jié)果
使用Canny邊緣檢測后,可以得到一副邊緣圖像,這幅邊緣圖像將用于檢測直線.通過霍夫變換[2]可以得到直線參數(shù),并進一步判斷直線的數(shù)量,并根據(jù)此數(shù)量值進一步確認建筑物存在的可能性.
在x-y空間上位于同一條直線上的點在參數(shù)空間定義了曲線并且都相交于同一個點.通過交點的坐標就可以獲知直線在x-y空間上的參數(shù).所以,經(jīng)過計算就可以在參數(shù)空間上獲取一些交點.如果圖像中有一條參數(shù)為(a,b)的直線,那么在參數(shù)空間中點(a,b)的周圍,應(yīng)該可以獲取很多的點.根據(jù)常識就可以知道,參數(shù)空間中找到的交點應(yīng)該緊緊圍繞在點(a,b)的周圍,但不是完全相同的同一個點.因為要從參數(shù)空間得到的點中找到確定的點,所以要消除所發(fā)現(xiàn)點中的離群點.該算法采用閾值法來達到此目的.
通過設(shè)置一個閾值T1,并計算在參數(shù)空間中的特定點的數(shù)量.對于一個參數(shù)空間中特定點,如果累計數(shù)目超出了閾值,那么就可以采用這個參數(shù)作為一條直線的參數(shù).圖2是一些實驗結(jié)果.
得到圖像中主要的直線后,下一步是檢測消失點.當像建筑物這樣的三維物體用一個二維圖像描述的時候,實際物體中的平行線在二維圖像中變現(xiàn)為直線相交于一個共同點,只有當拍攝角度與物體完全平行的時候這些平行直線才在二維圖像中仍然平行.如果能夠在圖像中檢測出一些特定的消失點,就能很大程度上相信圖像中存在建筑物.
圖2 直線檢測的實驗結(jié)果
根據(jù)已經(jīng)從圖像中找到的直線以及獲取的直線參數(shù),可以計算出消失點的坐標.前面步驟肯定檢測到一些有誤差的直線,因此,也得到了有誤差的消失點坐標.如果有真正的消失點存在,那么在該消失點附近區(qū)域應(yīng)該會存在一簇檢測到的點存在,盡管誤差直線將導(dǎo)致誤差消失點.某個區(qū)域存在一簇檢測消失點的情況將證明此區(qū)域內(nèi)存在一個特定消失點[3].因此,該算法嘗試檢測在消失點空間是否存在區(qū)域內(nèi)的消失點聚簇.為達到此目的,該算法采用了以下四個步驟:
(1)將檢測到的所有直線,每兩條線計算出一個消失點的坐標;
(2)計算每兩個消失點之間的距離;
(3)設(shè)置閾值T2,針對每一個消失點,計算其他消失點到此點的距離,統(tǒng)計距離小于T2的相鄰消失點的數(shù)量;
(4)設(shè)置閾值T3,選擇相鄰消失點數(shù)量超過T3的作為最終的消失點.
首先使用以前得到的參數(shù)來計算每兩條線的相交點,并且仍然在極坐標空間.例如,兩條線是ρsin(α1-θ)=p1和ρsin(α2-θ)=p2,計算這兩條線交叉點的坐標.該公式為:
(1)
(2)
計算消失點的坐標之前,首先觀察得到的直線.例如,圖2中可以發(fā)現(xiàn)一組線有相交于一點的趨勢,而在所有直線中,只有一兩條線非常明顯區(qū)別于其它的線,這種線毫無意義,并且使算法多了一些無謂的計算.因為這種直線也會與其它直線做交點的計算,從而會得到一些無用的交叉點,該算法中稱這種線為噪聲線.為了消除這種線,算法采用了下面的方法:
由于θ的范圍是從0到π,可以把這個區(qū)間分為四個部分:0~π/4,π/4~π/2,π/2~3π/4, 3π/4~π.把檢測到的直線也按方向分到這四部分中,統(tǒng)計每一區(qū)間中直線的數(shù)量,求得每個區(qū)間所包含的直線數(shù)量與總的直線的百分比.設(shè)置閾值T4 =0.3,如果百分比小于T4,將刪除該區(qū)間內(nèi)的所有直線.圖3是測試的實驗結(jié)果.
圖3 消除噪聲線后的圖像
從圖3中可以看到,使用這種方法可以有效地消除圖像中檢測到的噪聲線,從而進一步避免毫無意義的計算.
接下來通過使用公式(1)和公式(2),計算得到在ρ-θ空間上交點的坐標.如表1所示:
表1 ρ-θ空間上交點的坐標
有另一種情況需要注意,如果拍攝角度與建筑物本身是完全平行的,那么建筑物呈現(xiàn)在2-D圖像中的直線也將是平行的,因此,這些直線將不可能相交.由于在以前步驟中得到的線以極坐標的形式表示,所以如果兩條線是平行的,θ值將是相同的.當計算消失點時,需要首先關(guān)注θ,如果它們是相同的,則不需要計算任何的交叉點.統(tǒng)計得到平行線的數(shù)量,如果數(shù)量值超過特定的閾值T4,就可以確認在圖像中有一個人造物體.
對于每一個交叉點,統(tǒng)計離特定點(小于閾值T2=50)不遠的點的數(shù)量,統(tǒng)計的結(jié)果如表2所示.
表2 每個點的鄰近點數(shù)量
在表2中可以看出,臨近點數(shù)量的最大值為9,這意味著在某個區(qū)域有一組交叉點(9個)非常接近,可以把它作為算法結(jié)果中的一個交叉點.
對于圖4的圖像該算法認為沒有建筑物,圖像(a)、(b)、(c)能檢測到直線但沒有消失點,圖像(d)、(e)存在消失點但小于閾值.
圖4 否定的圖像
最后一步是把極有可能包含一個建筑物的圖像與數(shù)據(jù)庫中的圖像進行匹配[4].SIFT是一個完全成熟的算法,可以生成可信賴的特征點[5].使用SIFT特征把這幅圖像與已經(jīng)存于數(shù)據(jù)庫中的圖像進行比較,如果匹配的話,就可以得到位置信息.
圖5是從圖像序列中抽取的圖像與數(shù)據(jù)庫存儲圖像比較匹配后的結(jié)果,可以看到兩個主要圖像的匹配特征點.
圖5 圖像SIFT特征的提取與比較
該算法可以從圖像序列中剔除大部分的圖像,并能分辨出包含至少一個明顯建筑物的圖像.相對于對圖像序列中的每一個圖像計算SIFT特征,該算法在效率上有明顯的優(yōu)勢.算法仍然存在需要繼續(xù)完善的地方,比如對一些誤檢到的直線可能引發(fā)的混淆,像臺階所產(chǎn)生的直線,停在建筑物旁邊的機動車所產(chǎn)生的直線等.
[參考文獻]
[1]許宏科,秦嚴嚴,陳會茹.一種基于改進Canny的邊緣檢測算法[J].紅外技術(shù),2014(3):210-214.
[2]閆懷仁,楊慕升.基于改進的Hough變換的直線提取算法[J].紅外技術(shù),2015(11):970-975.
[3]蔣欣蘭.基于消失點檢測的鐵路環(huán)境視頻自動拼接算法研究[J].計算機工程與應(yīng)用,2017(7):206-211.
[4]郭倩茜.圖像匹配的主要方法分析[J].科技創(chuàng)新與應(yīng)用,2016(20):81-82.
[5]向程諭,王冬麗,李建勛,周彥.基于改進SIFT特征的深度圖像匹配[J].計算機應(yīng)用,2016(S2):135-138.