吉林大學(xué)通信工程學(xué)院 康亞男 樊昌熙 張學(xué)毅 于倩楠 施書通
盲人群體在殘疾人群體中占很大比重,我國(guó)也是世界上盲人數(shù)量最多的國(guó)家。由于出行會(huì)遇到諸多不便,盲人出行基本依靠盲杖、導(dǎo)盲犬或者他人的照顧,這給他們的心理造成負(fù)面影響,同時(shí)也增加了家庭和社會(huì)負(fù)擔(dān)[1]。在我國(guó)人口老齡化逐漸加劇的過程中,由于白內(nèi)障等眼疾會(huì)導(dǎo)致高齡人失去視力,盲人數(shù)量會(huì)有所增加[2],盲人出行的問題急需解決。即便科技不斷發(fā)展,他們?nèi)詻]有如預(yù)期那樣邁出家門與社會(huì)交流,所以我們應(yīng)當(dāng)重視盲人出行,讓他們也能享受科技的福音。
近期看來,導(dǎo)盲設(shè)備的研究還處于萌芽階段,主要以智能導(dǎo)盲手杖為主,它利用的超聲波測(cè)距技術(shù)在使用過程中不夠穩(wěn)定,不易做推廣。其次還有導(dǎo)盲車、可穿戴的導(dǎo)盲系統(tǒng)等,由于不易攜帶或受外界影響較大等原因,只能停留在概念模型上。本文以樹莓派3代B型(Raspberry Pi 3 Model B)[3]為主要控制平臺(tái),體積較小,滿足了盲人出行的便攜性;同時(shí)利用OpenCV進(jìn)行圖像快速處理,滿足了在盲人出行遇到各種不確定障礙物時(shí)信息處理的實(shí)時(shí)性。
智能導(dǎo)盲眼鏡整體以樹莓派為控制平臺(tái),外設(shè)兩個(gè)相同的攝像頭和一個(gè)聲卡,其整體框架圖如圖1所示。智能導(dǎo)盲眼鏡主要實(shí)現(xiàn)四個(gè)功能:第一,識(shí)別紅綠燈;第二,識(shí)別斑馬線;第三,計(jì)算圖像中各物體的位置坐標(biāo);第四,語(yǔ)音輸出紅綠燈、斑馬線以及較近障礙物的位置信息。其主要工作流程:攝像頭實(shí)時(shí)獲取圖像,將圖像轉(zhuǎn)化并顏色過濾處理后得出紅綠燈識(shí)別結(jié)果;然后將圖像邊緣提取和變換后得出斑馬線識(shí)別結(jié)果;再利用視差數(shù)據(jù)得出位置信息;最后語(yǔ)音輸出結(jié)果。
圖1 智能導(dǎo)盲眼鏡框架圖
我們利用OpenCV來進(jìn)行紅綠燈的識(shí)別,具體步驟如圖2所示。由于攝像頭所拍攝的圖像為RGB通道,而我們所采用的是基于HSV色彩模型的算法,所以需要對(duì)圖像進(jìn)行轉(zhuǎn)化。在提取目標(biāo)區(qū)域過程中,周圍環(huán)境對(duì)圖像有一定的影響,所以需要對(duì)提取后的圖像做進(jìn)一步的優(yōu)化處理,如模糊處理、閉運(yùn)算等,實(shí)際情況下,環(huán)境較為復(fù)雜,所以最終決定采用形態(tài)學(xué)中的腐蝕和膨脹處理,來進(jìn)一步減小干擾[4]。
圖2 紅綠燈識(shí)別過程
隨機(jī)在街頭進(jìn)行測(cè)試,攝像頭實(shí)時(shí)拍攝的圖像為RGB通道如圖3-(a)所示,轉(zhuǎn)化后在HSV模型下的圖像如圖3-(b)所示。在HSV模型中紅色的H范圍約為[0,10],[156,180]兩個(gè)區(qū)間,S的范圍約為[43,255],V的范圍約為[43,255];綠色的H范圍約為[35,77],S的范圍約為[43,255],V的范圍約為[43,255]。確定如上信息之后,通過Opencv中的inRange函數(shù),設(shè)定相應(yīng)的參數(shù),對(duì)圖片中的紅色或者綠色區(qū)域進(jìn)行提取[5],提取結(jié)果如圖3-(c)所示,優(yōu)化之后的結(jié)果如圖3-(d)。對(duì)所裁剪后的圖片進(jìn)行遍歷每個(gè)像素處理,根據(jù)其H的大小,確定出是紅燈還是綠燈,實(shí)驗(yàn)圖3最終判定為紅燈,結(jié)果正確。
圖3 紅燈判定的處理過程
斑馬線的特征提取主要利用OpenCV實(shí)現(xiàn),具體有四個(gè)步驟:第一,灰度直方圖均衡化,即對(duì)攝像頭拍攝的圖片進(jìn)行灰度圖處理,利用equalizeHist函數(shù)均衡化圖片;第二,中值濾波,即利用medianBlur函數(shù)進(jìn)行中值濾波后消除噪點(diǎn);第三,Canny邊緣提取,即利用Canny函數(shù)對(duì)圖片進(jìn)行邊緣檢測(cè),如圖4-(a)所示;第四,Hough變換,即利用Hough進(jìn)行直線提取[6],如圖4-(b)所示。通過以上步驟,即可得到圖片中的直線,完成特征的提取。
在圖像中能提取到很多直線,所以需要一些限定條件來判定斑馬線。特征的提取過程中可以得到由rho和theta組成的二維向量表示的直線,我們利用兩個(gè)限定條件判定斑馬線:①相互平行的直線個(gè)數(shù)>=6;②相互平行的直線之間的距離是相互遞減的。
由此可以得到如圖4所示結(jié)果,斑馬線判定成功。
圖 4 斑馬線識(shí)別的處理過程
計(jì)算物體距離主要利用的是OpenCV和MATLAB,在獲得物體位置信息的過程中,考慮到標(biāo)定誤差和實(shí)際測(cè)量誤差,近距離測(cè)距結(jié)果達(dá)到了預(yù)期要求[7]。使用 BM 算法測(cè)距速度很快,可以達(dá)到實(shí)時(shí)應(yīng)用的要求,而SGBM( Semi-Global Block Mathing) 算法和 GC(Graph Cuts) 算法雖在精度上略勝一籌,但測(cè)距速度較慢,實(shí)時(shí)性不佳 ,所以系統(tǒng)采用 BM 算法[8]。具體流程如圖5所示。
我們對(duì)其進(jìn)行了測(cè)驗(yàn),設(shè)定距離小于2.5m時(shí)進(jìn)行語(yǔ)音警報(bào),得到圖6所示結(jié)果,得到的三維坐標(biāo)信息中,z軸坐標(biāo)為距離,單位為毫米(mm),我們將整個(gè)圖像的每個(gè)像素進(jìn)行遍歷,根據(jù)亮度與距離的相近程度來判斷物體輪廓。
圖5 測(cè)量距離過程
圖6 測(cè)量距離的處理過程
本文主要基于雙目視覺在裝有雙攝樹莓派上的應(yīng)用研究,在Linux系統(tǒng)上使用Python、MATLAB與OpenCV來對(duì)兩個(gè)攝像頭獲取的圖像進(jìn)行處理,整個(gè)智能導(dǎo)盲眼鏡系統(tǒng)具有紅綠燈識(shí)別、斑馬線識(shí)別、物體位置信息的計(jì)算與語(yǔ)音輸出的功能。
現(xiàn)今科技發(fā)展迅速,社會(huì)環(huán)境也變得復(fù)雜多樣,利用智能導(dǎo)盲眼鏡來分擔(dān)一部分盲人的出行壓力,讓他們勇于踏入人群之中,感受不一樣的生活。
[1]郭嵩,張鈺瑩,韓少華.關(guān)于盲人出行解困的設(shè)計(jì)研究[J].設(shè)計(jì),2014(06):35-36.
[2]趙家良,睢瑞芳,賈麗君,LeonB-Ellwein,張承訓(xùn),降麗娟,張紅,孫國(guó)強(qiáng),宋學(xué)峰,毛進(jìn).北京市順義區(qū)白內(nèi)障患病和手術(shù)狀況的調(diào)查[J].中華眼科雜志,2001(01):6-11.
[3]百度百科,樹莓派,
https://baike.baidu.com/item/樹莓派/80427?fr=aladdin,2018.
[4]高薪,胡月,杜威,史曉玥.田益民腐蝕膨脹算法對(duì)灰度圖像去噪的應(yīng)用[J].北京印刷學(xué)院學(xué)報(bào),2014,22(4):63-65
[5]趙浩杰,金德智,李彥.基于 OpenCV 的彩色目標(biāo)識(shí)別[J].中國(guó)科技信息,2016,(2):36-37.
[6]劉波,苗貝貝,史斌,譯.oe Minichino.OpenCV3計(jì)算機(jī)視覺:Python語(yǔ)言實(shí)現(xiàn)[M].北京:機(jī)械工業(yè)出版社,2016.
[7]Adrian Kaehler,Gary Bradski.Learning OpenCV[M].O’Reilly Media,2008.
[8]蔡健榮,趙杰文.雙目立體視覺系統(tǒng)攝像機(jī)標(biāo)定[J].江蘇大學(xué)學(xué)報(bào):自然科學(xué)版,2006,27(1):6-9.