黃 新 林 倩
(桂林電子科技大學電子工程與自動化學院 廣西 桂林 541004)
一種基于雙極系數法的斑馬線檢測改良方法
黃 新 林 倩
(桂林電子科技大學電子工程與自動化學院 廣西 桂林 541004)
根據斑馬線自身的顏色形狀特點,對導盲系統中的斑馬線識別問題進行研究。在雙極系數法的基礎上針對灰度化處理和線段檢測兩個方面進行改良,提出一種綜合線性判別式公析LDA(Linear Discriminant Analysis)與EDLines(Edge Drawing Lines)算法的檢測方法。利用LDA灰度化圖像,使斑馬線與周圍路面、行人車輛有明顯的區分;采用不均勻分塊方式對圖像求雙極系數圖,同時,進行區域優化篩選,再將優化后的雙極系數圖與二值圖融合,得到候選區域;最后通過EDLines進行直線檢測,對線段的長度、斜率、間隙和數量進行判斷,確定斑馬線位置。與傳統的斑馬線檢測方法相比,LDA灰度化能更好地降低路面障礙物的干擾,而EDLines算法則能增強線段檢測的準確性。實驗結果表明識別率達到90.3%,對識別斑馬線有良好的效果。
斑馬線 雙極系數 LDA EDLines
據統計,全球盲人數量超過5 000萬,低視力人群約1.4億人且數量仍呈上升趨勢,對導盲設備的需求量相當龐大。隨著機器視覺技術的不斷發展,基于視覺技術的導盲設備在導盲輔具中成為主力軍,而斑馬線的識別是視覺導盲系統中的重要部分。對視覺障礙人士來說,斑馬線較盲道更難被感知,所以提高識別的準確度對盲人的出行安全性意義重大。
綜合目前已有的斑馬線識別的研究成果,了解到雙極系數法是一種識別斑馬線比較好的方法,符合斑馬線自身特點且計算速度快。文獻[1]提出將圖像灰度化后利用表征灰度圖像對比度的雙極系數作為判斷斑馬線位置的關鍵。文獻[2]在前者的基礎上,對圖像進行了“近大遠小”的分塊操作,進一步提高了雙極系數法的識別率。之后多數研究者都利用雙極系數法結合Canny算法進行邊緣檢測,后進行Hough變換提取直線,根據直線信息以達到識別斑馬線的目的[3-5]。本文針對其中傳統的灰度化和直線檢測方法進行了修改,在雙極系數法基礎上就灰度化缺乏針對性,直線檢測不準確的缺點,引入LDA和EDLines算法,并給出實驗效果圖。
1.1 LDA灰度化
灰度化是將彩色圖像中每個像素包含的R、G、B三個分量變為相同,即投影到一個向量上,實現三通道圖像到單通道圖像的轉換,最后生成一幅灰度圖像。即將彩色圖像中三分量亮度的平均值或是最大值作為灰度圖的灰度值,又或是將三個分量以固定的權值進行加權平均。這種傳統的灰度化雖能降低后續圖像的計算量,但當斑馬線受到腐蝕、損壞、與路面顏色差別較小時,會造成區分困難。一般灰度化的公式有三種:
(1)
Gray(i,j)=G(i,j)
(2)
Gray(i,j)= 0.299×R(i,j)+0.587×
G(i,j)+0.144×B(i,j)
(3)
LDA是模式識別的經典算法,采用的是Fisher判別準則函數。其基本思想是找到一組最佳的鑒別矢量,投影后保證模式樣本在新的子空間有最大的類間距離和最小的類內距離,達到好的分類效果。對比傳統的灰度化方法,不僅更具有針對性,而且能更好地對斑馬線和路面作出區分。本文采用640×480像素大小圖像,剪裁掉圖像中不相關部分(如:天空、路面建筑等),保留感興趣區域后為640×360像素,利用LDA灰度化增強圖像中斑馬線與路面的對比度。
一般用矩陣的離散度來描述樣本的分布,得到Fisher準則:
(4)
式中:Sb表示類間離散度矩陣,為兩個類之間的中心點距離:
(5)
Sw表示類內離散度,為矩陣各樣本點到該樣本點所在類別的中心點的距離和:
(6)
式中:xi表示第i個樣本;ni表示屬于i類的樣本個數;u表示所有樣本的均值;ui表示類i的樣本均值;φ為任一n維列向量。通過式(4)計算,當選取φ=[0.012,-0.984,0.005]T作為投影方向時,Jfisher(φ)達到最大值,即斑馬線與路面的區分效果為最佳。
將結果線性變換至灰度圖像的亮度值0~255范圍內,變換后計算每個點的灰度值:
(7)
式中:Gi表示變換之前的圖像中每個像素點的灰度值;Gmin表示變換前的圖像中最小的灰度值;Gmax表示變換前的圖像中最大的灰度值。圖1為選取感興趣區域后,存在遮擋物情況下一般灰度化與LDA灰度化結果的對比圖。圖1(b)中斑馬線辨識度優于圖1(a)。
圖1 灰度化對比圖
1.2 雙極系數法
文獻[1-2]中的雙極系數法,結合斑馬線黑白交替的特點及斑馬線圖像是梯形成像,對圖像進行灰度化處理后,首先采用“近大遠小”的分塊方法,且分塊大小要大于斑馬線寬度。根據采樣圖像大小以及拍攝角度,將圖像由近至遠分塊為64×64、32×32、16×16、8×8像素四種大小。然后利用黑白兩色的均值和方差,遍歷整幅圖像,得到每塊灰度塊的雙極系數。設定分割閾值為0.85,保留雙極性大于閾值的灰度塊,去除雙極性小于閾值的灰度塊,最后與二值圖相融合,得到斑馬線圖像。
任意一幅圖的灰度分布為p0(x),假設該圖中包含的像素分別為黑色灰度值像素和白色灰度值像素,則p0(x)可表示為:
p0(x)=αp1(x)+(1-α)p2(x) 0≤α≤1
(8)
式中:p1(x)為黑色像素的灰度;p2(x)為白色像素的灰度分布。
定義均值:
(9)
定義方差:
(10)
結合式(8)、式(9)、式(10),可得總方差為:
(11)
定義雙極性:
(12)
由式(12)可知,0<γ<1。當γ=1時對應的灰度圖具有完全雙極性,而當γ=0時,灰度圖完全缺乏雙極性。對γ進行估算,可改寫為:
(13)
由于一些斑馬線存在磨損及路面有污漬的情況,還需要對雙極系數圖進行消噪和形態學處理,以排除偽斑馬線區域的干擾。去除面積小的連通區域,并進行空洞填充處理,保留輪廓面積最大的區域作為斑馬線候選區。圖2(c)為優化后的效果。最后將候選區與二值化圖像進行融合,進一步減小周圍線段干擾,最終確定定位區域圖2(e)。
確定斑馬線區域之后,要進一步進行特征提取確定斑馬線輪廓。一般采用Hough變換作為直線檢測的方法,通過一種投票算法檢測具有特定形狀的物體。但Hough變換具有一定的局限性,識別過程中需要經過大量計算且檢測過長或過短的線段效果較差,容易將不連續的直線連接在一起產生錯誤檢測。因此本文改用由Akinlar等提出的EDLines算法[8],較前者不僅提取速度快,而且能夠提取出干凈、連續的邊緣。
首先利用Edge Drawing算法提取邊緣像素點。通過高斯濾波抑制噪聲后,根據式(14)、式(15)計算得到(xi,yi)水平和垂直方向的梯度。
tx(xi,yi)=
(14)
ty(xi,yi)=
(15)
式中:I(xi,yi)為像素(xi,yi)的灰度值。再經過偏移處理求得每個像素點(xi,yi)的梯度模值T(xi,yi)和梯度方向α。
(16)
(17)
然后采用局部梯度最大值來篩選候選邊緣像素點,并將這些篩選出的點通過啟發式的智能路徑算法連接成邊緣。選擇一個篩選出的像素點,向上下或左右兩端開始連接其他篩選像素點。比較該點領域同一方向三個像素的梯度值大小,選擇其中最大的與之相連。當搜索到區域邊界或是與另一條已檢測到的邊緣相遇時,停止搜索。圖3為邊緣像素點連接路徑原理圖,其中點(8,4)、(4,4)、(3,8)為篩選出的邊緣像素點,其余圓圈點為被連接的點。
圖3 邊緣像素點連接路徑原理圖
采用最小誤差距離的邊緣分割和最小二乘法擬合直線。最后釆用Helmholtz原理[9]來抑制虛假的直線。圖4為Hough變換與EDLines的使用對比圖。
圖4 Hough(左)變換與EDLines(右)結果對比
通過EDLines提取斑馬線區域的直線。對比直線長度、斜率、間隙和數量,判斷出斑馬線的位置。本文選取與水平方向夾角小于5°,間隙為40~120像素范圍內且長度大于70像素的直線,當圖像中滿足以上篩選條件的直線數量大于8條時,則確定斑馬線存在。圖5為最終識別結果。
圖5 斑馬線檢測結果
分別于早中晚不同時段,在12處不同地點進行樣本采樣,共采集176張圖像樣本,圖像大小為640×480。包含了不同方向的拍攝,而且存在路面有其他標志線或存在遮擋物等情況干擾。所有實驗都是在配置為酷睿i5-4690處理器,內存8 GB的電腦上進行,運行環境為為VS2013+OpenCV2.4.9。
用本文方法對樣本進行檢測,可正確識別159張,未能識別或識別有誤17張,檢測正確率為90.3%。具體檢測結果統計如下:早上共拍攝57張,識別出53張,識別率為93.0%;中午共拍攝59張,識別出54張,識別率為91.5%;晚上共拍攝60張,識別出52張,識別率為86.7%。圖6為部分圖像樣本的檢測結果,方框框出的部分為被識別的斑馬線部分,在多數情況下對斑馬線的檢測結果準確。
圖6 不同環境下斑馬線檢測結果
從測試樣本中隨機選擇100張不同環境下的圖像,包括存在遮擋物或是周圍路面顏色較為接近的情況。分別使用傳統的灰度化方法和LDA灰度化方法,然后進行EDLines檢測斑馬線,對比兩種方法的正確率。通過表1可以看出LDA灰度化的正確檢測效果要優于傳統灰度化。
表1 傳統灰度化方法與LDA灰度化方法正確率對比
用同樣的比較方式對100張隨機圖像進行檢測,在LDA灰度化的前提下,對線段檢測部分的方法進行修改,對比Hough與EDLines的檢測正確率。如表2所示,結果表明EDLines方法正確率較高。
表2 傳統灰度化方法與LDA灰度化方法正確率對比
將文獻[1-2]中的傳統灰度化下的雙極系數法,再進行霍夫直線檢測的方法,與本文檢測方法進行比較,識別正確率提高了近4%,如表3所示。
表3 傳統算法與本文算法檢測正確率對比
本文運用LDA算法對道路圖像進行針對性處理后,依據斑馬線顏色規律特征利用雙極系數法,再結合EDLines直線檢測,實現了對斑馬線的識別。最終結果表明本文方法在照明良好拍攝條件下,對形狀相對完整的斑馬線都能取得好的識別效果。但在昏暗環境、下雨天潮濕地面反射燈光嚴重、斑馬線嚴重受損、獲取圖像斑馬線存在比例過小等情況下會導致識別錯誤。就這些不良條件的算法處理還需進一步提高,以達到更好的識別結果。
[1] Uddin M S,Shioyama T.Detection of pedestrian crossing using bipolarity feature-an image-based technique[J].IEEE Transactions on Intelligent Transportation Systems,2005,6(4):439-445.
[2] 曹玉珍,劉剛,楊海峰.導盲系統中的道路斑馬線識別方法[J].計算機工程與應用,2008,44(15):176-178.
[3] 閆利,黃亮.街景影像中的斑馬線檢測與定位[J].測繪科學,2015,40(11):168-171.
[4] 湯智超,蘇琳,何超,等.導盲機器人的交通標志視覺識別技術研究[J].計算機技術與發展,2014(9):23-27.
[5] Mascetti S,Ahmetovic D,Gerino A,et al.ZebraRecognizer:Pedestrian crossing recognition for people with visual impairment or blindness[J].Pattern Recognition,2016,60:405-419.
[6] Jelsovka D,Hudec R,Brezňan M.Face recognition on FERET face database using LDA and CCA methods[C]//International Conference on Telecommunications and Signal Processing.IEEE,2011:570-574.
[7] 王旭.直線提取算法研究[D].國防科學技術大學,2013.
[8] Akinlar C,Topal C.EDLines:A real-time line segment detector with a false detection control[J].Pattern Recognition Letters,2011,32(13):1633-1642.
[9] Desolneux A,Moisan L,Morel J M.From Gestalt Theory to Image Analysis:A Probabilistic Approach[J].Interdisciplinary Applied Mathematics,2008,34(3):1255-9.
[10] Topal C,Akinlar C,Genc Y.Edge Drawing:A Heuristic Approach to Robust Real-Time Edge Detection[C]//International Conference on Pattern Recognition.IEEE Computer Society,2010:2424-2427.
[11] Uddin M S,Shioyama T.Robust zebra-crossing detection using bipolarity and projective invariant[C]//Eighth International Symposium on Signal Processing and ITS Applications.IEEE Xplore,2005:571-574.
ANIMPROVEDMETHODOFZEBRACROSSINGDETECTIONBASEDONBIPOLARITY
Huang Xin Lin Qian
(SchoolofElectronicEngineeringandAutomation,GuilinUniversityofElectronicTechnology,Guilin541004,Guangxi,China)
According to the characteristics of the zebra crossing’s own color and shape, this paper studies the problem of zebra crossing recognition in blind guiding system. We improve the gray processing and line segment detection by bipolarity method, and put forward a detection method combining LDA (Linear Discriminant Analysis) and EDLines (Edge Drawing Lines) algorithm. Firstly, LDA was used to convert color images to gray images directly, which made the zebra crossing and the surrounding roads, pedestrians, vehicles were clearly distinguished. Secondly, the bipolarity image was calculated by non-uniform segmentation method. At the same time, the region was optimized and screened. Candidate regions were obtained by fusing the binary image and the bipolarity image that had been optimized. Finally, the line was detected by EDLines, and then the location of the zebra crossing was determined by selecting the length, slope, gap and number of line segments. Compared with the traditional detection method of the zebra crossing, the interference of the road obstacles is reduced by LDA, while the accuracy of line detection is enhanced by EDLines. Experimental results show that the recognition rate is 90.3%, which has a good effect on the zebra crossing.
Zebra crossing Bipolarity LDA EDLines
2017-02-18。廣西自動檢測技術與儀器重點實驗室主任基金項目(YQ14105);廣西省科學研究與技術開發計劃項目(桂科攻:11107001-40)。黃新,副教授,主研領域:圖像處理。林倩,碩士生。
TP3
A
10.3969/j.issn.1000-386x.2017.12.038