方艷紅, 趙 琳, 張紅英,2, 王學(xué)淵
(1.西南科技大學(xué) 信息工程學(xué)院,四川 綿陽 621010; 2.特殊環(huán)境機(jī)器人技術(shù)四川省重點實驗室,四川 綿陽 621010)
世界衛(wèi)生組織2018年10月發(fā)布的統(tǒng)計數(shù)據(jù)顯示,在全球范圍內(nèi),估計有13億人患不同形式及程度的視力損害,且大多數(shù)視力受損人員的年齡超過50歲。近年來,隨著計算機(jī)軟件和硬件技術(shù)的發(fā)展,使我們更有能力為盲人這一弱勢群體的生活帶去一些便利[1,2]?,F(xiàn)有的盲人輔助工具為視力受損人群提供了一定的幫助,但在實際的推廣使用過程中都存在價格昂貴、體驗不好、實時性差等問題。
本文設(shè)計了一種人性化、智能化、大眾化的便攜式導(dǎo)盲系統(tǒng)來幫助盲人躲避障礙物。具體的,首先實現(xiàn)基于視覺的障礙物檢測,在此基礎(chǔ)上,將障礙物的圖像距離轉(zhuǎn)換為空間中的實際距離,實現(xiàn)對障礙物的測距并將結(jié)果轉(zhuǎn)換成語音信號輸出。
系統(tǒng)的整體結(jié)構(gòu)設(shè)計框圖如圖1所示。
圖1 系統(tǒng)整體結(jié)構(gòu)框圖
在樹莓派中利用OpenCV平臺檢測視頻中的障礙物,利用透視投影變換計算深度信息,當(dāng)使用者在白墻面前時,視頻圖像數(shù)據(jù)無法提取除障礙物信息,輔助以超聲波傳感器來完善功能,最后將處理分析結(jié)果通過耳機(jī)從3.5 mm音頻接口進(jìn)行輸出。為了方便設(shè)計過程中的調(diào)試測試,通過HDMI接口外接一電容顯示屏,設(shè)計開發(fā)完成后取下。
如圖2所示,障礙物檢測處理流程主要分為三部分,首先是對原圖進(jìn)行色彩空間轉(zhuǎn)換;然后用提出的改進(jìn)VE算法確定分割閾值;最后通過形態(tài)學(xué)處理填補(bǔ)空洞等。
圖2 障礙物檢測流程圖
當(dāng)圖像中目標(biāo)較大且與背景有足夠差異時,即直方圖呈現(xiàn)較明顯的雙峰分布時,Otsu能找出恰當(dāng)?shù)姆指铋撝?。但?dāng)圖像中目標(biāo)較小,直方圖近似呈現(xiàn)單峰分布時,Otsu基本失效。文獻(xiàn)[7]提出強(qiáng)調(diào)谷底的(valley-emphasis,VE)算法對大津法進(jìn)行優(yōu)化
(1)
式中 權(quán)重W=1-pk。pk值越小(即發(fā)生的概率低,也即直方圖谷底),權(quán)重越大。通過加權(quán)使最佳閾值始終在雙峰的峰谷或單峰的底部及其附近取得。
本文提出基于類間均值差的改進(jìn)VE算法,在考慮權(quán)重的同時,兼顧兩類的類間均值到全局均值的距離,使分割出的兩類的均值遠(yuǎn)離全局均值,最佳閾值的選取如下式
k*=argmax(Ww1w2[(μ1-μ2)2+(μ1-μ)2+
(μ2-μ)2])
(2)
與基本Otsu算法相比,本文算法考慮權(quán)重,獎勵波谷附近位置,平衡類間大小的差異。與VE算法相比,本文算法新增兩項來獎勵使兩類均值遠(yuǎn)離全局均值的分割閾值,這樣一來,分割出的兩類相互遠(yuǎn)離,形成更好的分割效果。
障礙物檢測完成后,可以得出圖像中的障礙物位置及相應(yīng)特征點坐標(biāo),下一步需要實現(xiàn)圖像距離到世界距離的轉(zhuǎn)換。具體流程如圖3所示。
圖3 障礙物測距流程圖
如圖4所示的測距模型中,F(xiàn)是地平面上任意一點,P是過F點向世界坐標(biāo)系中Yw軸作垂線的交點;f=OcO是CCD攝像機(jī)的有效焦距,H為攝像機(jī)垂直于地面的垂足,h為鏡頭中心到地面的高度,(x0,y0)為成像平面坐標(biāo)系原點,通常為(0,0),A為P在成像平面上的投影坐標(biāo),B為F在成像平面上的投影,根據(jù)幾何關(guān)系得到點P與鏡頭光心的水平距離HP的計算表達(dá)式HP=h×/tan-1[α+arctan((y-y0)/f)],其中的α是攝像頭與水平面的夾角大小,α,h都是通過測量得到,y0一般取0,f,y是未知的。f是攝像頭的有效焦距,是攝像頭的內(nèi)參,y是P點在成像平面上的投影坐標(biāo)在y軸上的分量,稱為成像平面坐標(biāo),單位記為mm。
圖4 測距幾何模型
1)成像平面坐標(biāo)系到像素坐標(biāo)系的變換數(shù)字圖像上任意點的坐標(biāo)(u,v)表示像素點位于像素坐標(biāo)系的第幾行第幾列,要確定其物理位置,需建立以物理單位表示的成像坐標(biāo)系Ox,y,任意點的坐標(biāo)記為(x,y),其轉(zhuǎn)換關(guān)系為
(3)
式中dx,dy分別為像素坐標(biāo)系中每個像素在x,y軸上的物理尺寸,(u0,v0)為成像坐標(biāo)系原點在像素坐標(biāo)系中的坐標(biāo),一般在中心位置,但由于攝像頭制造工藝、安裝角度等原因會出現(xiàn)漂移現(xiàn)象。
2)攝像頭坐標(biāo)系到成像平面坐標(biāo)系的變換
在理想攝像頭模型中,空間中任意點P在攝像機(jī)透視投影到二維成像平面坐標(biāo)系中,投影關(guān)系為
(4)
式中f為攝像機(jī)焦距,即成像平面到攝像機(jī)焦平面的距離,(x,y)為成像點在成像坐標(biāo)系下的坐標(biāo),(XC,YC,ZC)為空間點在攝像機(jī)坐標(biāo)系下的坐標(biāo)。
3)世界坐標(biāo)系到攝像頭坐標(biāo)系的變換
從世界坐標(biāo)系到攝像頭坐標(biāo)系之間的變換屬于剛性變換,是由旋轉(zhuǎn)和平移組成的,其轉(zhuǎn)換關(guān)系如下
(5)
式中R,T分別為世界坐標(biāo)系和攝像頭坐標(biāo)系之間的相對位置和姿態(tài),R為一個3×3階正交矩陣,表示旋轉(zhuǎn);T為一個3×1的平移向量。
4)世界坐標(biāo)系到像素坐標(biāo)系的變換
聯(lián)立式(3)~式(5)可以得到世界坐標(biāo)系到像素坐標(biāo)系之間的映射轉(zhuǎn)換關(guān)系
(6)
式中ax=f/dx,ay=f/dy分別為在u,v軸上的歸一化焦距,式(6)等號右側(cè)第一部分為內(nèi)參矩陣,只與攝像頭內(nèi)部結(jié)構(gòu)、制造工業(yè)有關(guān),R,T與攝像頭的外部環(huán)境有關(guān),稱為攝像頭的外參矩陣。
5)畸變校正
在實際應(yīng)用中,由于攝像頭在制造安裝過程存在一定的誤差,因此會產(chǎn)生不同程度的鏡頭畸變,如徑向畸變、偏心畸變和薄透鏡畸變等。非線性畸變表示為[8]
x′=x+δx(x,y),y′=y+δy(x,y)
(7)
式中 (x,y)為理想成像點P的坐標(biāo),(x′,y′)為畸變下的成像點P′的坐標(biāo)。δx和δy與成像點在圖像中的位置有關(guān),為非線性畸變量
(8)
式中k1,k2,p1,p2,s1,s2為非線性畸變參數(shù),在一般的實際應(yīng)用情景中,僅考慮徑向畸變已經(jīng)可以比較準(zhǔn)確地描述出非線性畸變,因此將上式進(jìn)一步化簡成x′=x(1+k1r2),y′=x(1+k2r2)。
本文使用張正友的平面標(biāo)定法來對攝像頭進(jìn)行標(biāo)定。在不同的角度和距離下連續(xù)20次拍攝7×10的平面棋盤格標(biāo)定板(每個棋盤格大小為26 mm×26 mm)。對靶標(biāo)圖像進(jìn)行處理,檢測棋盤格角點,所有標(biāo)定角點全部檢測完成后,標(biāo)定出攝像頭參數(shù)。將圖像反投影到成像平面,計算反投影后的像素誤差,本文實驗的像素誤差均值為0.067,最大誤差是0.07,在誤差范圍內(nèi)。最后,得到的攝像頭內(nèi)參矩陣為
系統(tǒng)采用Rpi Camera(E)攝像頭采集 像素大小的視頻圖像,通過CSI接口傳入樹莓派開發(fā)板,在樹莓派上進(jìn)行分析處理,將處理結(jié)果通過3.5 mm的音頻接口輸出。
本文提出了基于改進(jìn)VE的分割算法來實現(xiàn)障礙物的檢測,在實驗室內(nèi)用Rpi Camera拍攝一張圖片并進(jìn)行處理,效果如圖5所示。
圖5 室內(nèi)場景處理效果
同樣在其他場景下進(jìn)行測試,效果如圖6所示。
圖6 障礙物檢測測試
如圖6所示的多場景下測試實驗,由于本文選擇圖像的飽和度特性分量做分析處理,因此在光照條件下有良好的魯棒性,如圖6(a)的強(qiáng)光照和圖6(f)的弱光照場景;當(dāng)背景與目標(biāo)障礙物的色彩相近時,算法促使兩類類內(nèi)均值相互遠(yuǎn)離,使兩類最大程度分開,如圖6(c),(d)所示;如圖6(e)所示的多目標(biāo)干擾場景下,各個障礙物的顏色、形狀和大小都不一樣,算法能將目標(biāo)都檢測到。
檢測到圖像的障礙物之后,用最小外接矩將單個障礙物標(biāo)注出來,選取最小外接矩的中心點作為特征點。
將相應(yīng)特征點坐標(biāo)及攝像頭參數(shù)代入測距模型進(jìn)行解算,記錄不同距離的測試結(jié)果如表1所示。
表1 障礙物測距實驗記錄
表1所示的是對7張不同距離下障礙物圖片的測試記錄,從中可以看出,測試的距離與實際距離的絕對誤差不超過8 cm,誤差率在5.6 %之內(nèi),可以滿足導(dǎo)盲測距的精度需求,滿足設(shè)計需求。
首先實現(xiàn)基于視覺的障礙物檢測,即對圖像中目標(biāo)的準(zhǔn)確分割和定位,研究了如何提高在光照、背景因素等干擾條件下對目標(biāo)障礙物檢測的準(zhǔn)確率;在此基礎(chǔ)上,將障礙物的圖像距離轉(zhuǎn)換為空間中的實際距離,實現(xiàn)對障礙物的測距;最后將障礙物檢測系統(tǒng)移植到樹莓派開發(fā)板上,完成整個系統(tǒng)的設(shè)計。