摘 要:為彌補(bǔ)傳統(tǒng)導(dǎo)盲仗的不足,設(shè)計(jì)了一款基于視頻機(jī)器視覺的導(dǎo)盲杖輔助識(shí)別系統(tǒng),幫助盲人識(shí)別盲道并解決盲道使用率低的問題。該設(shè)計(jì)由單片機(jī)、鏡頭組和輸出設(shè)備構(gòu)成,能夠識(shí)別盲道的位置和不同功能,并進(jìn)行相應(yīng)提醒。該設(shè)計(jì)提出了基于自適應(yīng)步長和邊緣信息提取的NCC加速算法,在保證識(shí)別精度的前提下大大降低了運(yùn)算量。經(jīng)實(shí)驗(yàn),證明了該設(shè)計(jì)的效果和實(shí)用性。
關(guān)鍵詞:導(dǎo)盲杖;機(jī)器視覺;NCC;單片機(jī)
中圖分類號:TP752
文獻(xiàn)標(biāo)識(shí)碼: A
據(jù)統(tǒng)計(jì),中國的盲人數(shù)量約為500萬,占全世界盲人的18%,每年新增45萬盲人,為世界最多。[1]在當(dāng)今的城市交通設(shè)計(jì)中,盲道已經(jīng)成為城市道路交通中必須的組成部分。中華人民共和國交通安全法第三十四條規(guī)定“城市主要道路的人行道,應(yīng)當(dāng)按照規(guī)劃設(shè)置盲道?!钡趯?shí)際使用中,國內(nèi)城市大規(guī)模的盲道建設(shè)并沒有充分地被盲人使用。分析其原因有以下三點(diǎn):(1)在道路建設(shè)或后期維護(hù)過程中,存在盲道斷開、錯(cuò)位、部分缺失的問題。(2)盲道被障礙物阻斷或被其他物質(zhì)覆蓋。(3)尚有大量盲人無法熟練使用導(dǎo)盲杖判斷盲道。
目前出現(xiàn)了一些新型智能導(dǎo)盲杖,如日本岡安光博開發(fā)的能感受到臉部高度處障礙物的導(dǎo)盲杖[2];俞國華等開發(fā)的基于多傳感器融合的智能導(dǎo)盲杖[1];孫二杰等開發(fā)的超聲波智能導(dǎo)盲杖[3]等 。以上設(shè)計(jì)主要是以超聲波、GPS和角度傳感器對障礙物和位置進(jìn)行檢測,并加以提醒。但這些設(shè)計(jì)均以傳統(tǒng)傳感器為基礎(chǔ)設(shè)計(jì),不能實(shí)現(xiàn)對盲道的識(shí)別,提醒盲人偏離了盲道指示的安全路徑,亦更無法解決前文分析的三點(diǎn)不足。
因此,本文設(shè)計(jì)了一種基于視頻機(jī)器視覺的智能導(dǎo)盲杖,意在通過視覺的方式識(shí)別盲道與盲道狀態(tài),并用語音提示盲人。
1"系統(tǒng)方案
該設(shè)計(jì)以嵌入式單片機(jī)為核心,以圖像視頻傳感器為主要信息獲取源,通過語音和震動(dòng)提供用戶反饋。受限于單片機(jī)資源,設(shè)計(jì)了一種改進(jìn)型歸一化互相關(guān)(Normalized Cross Correlation,NCC)模板匹配算法,用以識(shí)別盲道狀態(tài)。
在導(dǎo)盲杖上加裝該設(shè)計(jì)后,可以識(shí)別攝像頭前方半徑0.5至3 m、角度為120°的扇形視場內(nèi)是否存在盲道,如此便可克服盲道斷開、錯(cuò)位等問題,只要在視野內(nèi)存在盲道便發(fā)出相應(yīng)語音和震動(dòng)提示:當(dāng)系統(tǒng)識(shí)別到盲道中的直條狀突起磚,即直行道時(shí),語音提示“直行”;識(shí)別到盲道中的點(diǎn)狀突起磚,即停止或拐彎道時(shí),語音提示“停止”;識(shí)別到盲道有中斷(缺塊或被阻擋)提示“繞行”。系統(tǒng)未識(shí)別到這兩種磚時(shí)則不發(fā)出語音提示,則意味著前方視場內(nèi)沒有盲道存在。
1.1"系統(tǒng)硬件設(shè)計(jì)
該設(shè)計(jì)由導(dǎo)盲杖與安裝其上的鏡頭組、處理器單元板、功放與揚(yáng)聲器、電源、振動(dòng)電機(jī)(選配)、超聲波模塊(選配)組成。設(shè)備固定于導(dǎo)盲杖杖身,可調(diào)整設(shè)備安裝高度以實(shí)現(xiàn)不同范圍的盲道識(shí)別。攝像頭視軸與地面呈45°夾角向前,采用電池供電。
系統(tǒng)的硬件核心為STM32F765VI ARM Cortex M7處理器;攝像頭組件為2.8 mm焦距鏡頭通過標(biāo)準(zhǔn)M12鏡頭底座與OV7725感光傳感器連接,通過SPI總線與核心處理器通信;PAM8403功放與3W揚(yáng)聲器組成發(fā)聲模塊,與來自處理器的DAC數(shù)模轉(zhuǎn)換輸出相連。系統(tǒng)的硬件框圖如圖1所示。
1.2"系統(tǒng)軟件設(shè)計(jì)
設(shè)計(jì)的程序運(yùn)行于開源的 Micro Python系統(tǒng),該設(shè)計(jì)將Python3語言的解釋器和標(biāo)準(zhǔn)運(yùn)行庫進(jìn)行精簡以在單片機(jī)上運(yùn)行實(shí)現(xiàn)。由此,可以調(diào)用Python豐富的庫資源,便于簡化設(shè)計(jì)、提高開發(fā)效率和增加可移植性。系統(tǒng)程序軟件流程圖如圖2所示。
機(jī)器視覺部分采用了基于NCC算法的模板匹配識(shí)別,優(yōu)點(diǎn)是抗白噪聲干擾能力強(qiáng),經(jīng)優(yōu)化后運(yùn)算量較小。傳感器模塊用以調(diào)用圖像傳感器和超聲波傳感器。設(shè)置圖像傳感器亮度增益為16,對比度為1,幀圖像分辨率為QVGA(320*240),顏色格式為灰度。外部輸入輸出用以調(diào)試、震動(dòng)電機(jī)和擴(kuò)展,設(shè)置UART波特率為19200,超時(shí)時(shí)間1000毫秒。聲音解碼調(diào)用Python的wave庫函數(shù)實(shí)現(xiàn),聲音文件調(diào)用chunk庫打開。數(shù)模轉(zhuǎn)換(DAC)將解碼后的聲音變換為模擬信號送到功放模塊進(jìn)行播放,通過調(diào)用Pyb庫實(shí)現(xiàn)。定時(shí)器使用MicroPython的Time函數(shù)實(shí)現(xiàn)。
2"NCC算法的優(yōu)化設(shè)計(jì)
2.1"NCC算法選擇
盡管盲道的建設(shè)均按照相應(yīng)規(guī)范制作,但盲道的鋪磚存在條塊邊緣平滑度差異、顏色差異、尺寸細(xì)微不同等多種問題。同時(shí),受單片機(jī)資源限制,不宜采用如神經(jīng)網(wǎng)絡(luò)等算法復(fù)雜度過高的圖像識(shí)別技術(shù)。經(jīng)實(shí)際環(huán)境測試,盲道在外形差異性上與周邊區(qū)域有明顯不同。通過對比統(tǒng)計(jì)識(shí)別、模糊識(shí)別、貝葉斯分類器等方式,發(fā)現(xiàn)采用基于灰度相關(guān)的圖像匹配算法較為合適?;诨叶认嚓P(guān)的圖像匹配算法利用圖像的灰度信息進(jìn)行圖像模板和圖像來源之間的相似性技術(shù),進(jìn)而尋找最優(yōu)相似性度量值的位置進(jìn)行匹配。目前常用的算法有歸一化互相關(guān)(Normalized Cross Correlation,NCC)算法、序貫相似性檢測算法(Similarity Sequential Detection Algorithm,SSDA)等[4]。SSDA算法的優(yōu)勢是可以實(shí)現(xiàn)快速高效匹配[5-6],相對于NCC來說更為節(jié)省系統(tǒng)資源,但在該設(shè)計(jì)中存在較為嚴(yán)重的白噪聲干擾,且圖像紋理較少,因此誤匹配率明顯較高,不合適使用。NCC匹配算法在相關(guān)匹配算法中效果最好,其匹配精度高且抗光照影響[7-8],較為適合該設(shè)計(jì)使用。但是傳統(tǒng)的NCC方法需要把模板逐點(diǎn)在原圖像中平移計(jì)算,運(yùn)算量較大,且不能變角度匹配,局限性較大。
NCC算法的缺點(diǎn)在于:運(yùn)算量大、匹配速度慢,以往常運(yùn)行于運(yùn)算能力較強(qiáng)的計(jì)算機(jī)平臺(tái),并運(yùn)用于對時(shí)效性要求不高的場合。但在該設(shè)計(jì)中,系統(tǒng)的處理核心為單片機(jī),且對時(shí)效性提出一定要求。因此必須對傳統(tǒng)NCC算法進(jìn)行減少運(yùn)算量的優(yōu)化。許多研究提出改進(jìn)算法對其進(jìn)行優(yōu)化,其目的在于在保證匹配精度的前提上,盡量減少匹配次數(shù)。一是對相關(guān)性系數(shù)算子進(jìn)行優(yōu)化,如Bai X[9]的研究;二是通過改進(jìn)搜索區(qū)域來降低計(jì)算量,如安凱等[10]的研究;三是針對搜索策略進(jìn)行優(yōu)化,如黃真寶[11]的研究。根據(jù)本設(shè)計(jì)特點(diǎn),采用了針對搜索策略優(yōu)化的自適應(yīng)步長算法和針對改進(jìn)搜索區(qū)域的邊緣信息提取策略。
2.2"自適應(yīng)步長的NCC算法設(shè)計(jì)
本文針對搜索策略采用了一種基于自適應(yīng)步長選擇的 NCC 匹配算法,其算法核心在于:當(dāng)模板和源圖像像素相關(guān)性較小時(shí)進(jìn)行大步長計(jì)算,當(dāng)模板和源圖像像素相關(guān)性較大時(shí)進(jìn)行小步長計(jì)算。
NCC算法的核心思路為:通過比較模板圖像和源圖像在各個(gè)位置的歸一化互相關(guān)系數(shù)來計(jì)算其相關(guān)性,相關(guān)性系數(shù)在全圖中最大且超過閾值時(shí)認(rèn)定為最佳匹配位置。其數(shù)學(xué)定義為:假設(shè)圖像S的尺寸為M×M,模板T大小為N×N,其中Mgt;N,M、N的單位為像素。模板T從(0,0)位置開始在圖像S上平移,模板覆蓋的子圖位置為Si,j,其中(i,j)為子圖左上角坐標(biāo)。其歸一化相關(guān)系數(shù)R的計(jì)算公式如下:
相關(guān)性系數(shù)的值在(0,1)之間,當(dāng)源圖像的某個(gè)子圖與模板完全一致時(shí)得到最大值1。
由吳福培[12]和吳松[13]等人的研究知,相鄰像素的相關(guān)性系數(shù)是相關(guān)的,其變化相對緩慢,最佳匹配位置與周圍像素點(diǎn)的相關(guān)性系數(shù)會(huì)形成一個(gè)尖峰,而其他非匹配位置的相關(guān)性系數(shù)則低很多,如圖3所示。
就像素點(diǎn)來說,相關(guān)性系數(shù)的變化是相對緩慢的。所以可根據(jù)不同的相關(guān)性系數(shù)值選擇不同的步長。當(dāng)相關(guān)性系數(shù)較低時(shí),選擇較長的步長,搜索速度較快,系統(tǒng)計(jì)算資源消耗較小,搜索得較為粗糙;當(dāng)相關(guān)性系數(shù)較高時(shí),選擇較短的步長,搜索速度較慢,系統(tǒng)計(jì)算資源消耗較大,搜索得較為精細(xì)。因此,可以采用大步長加速搜尋過程,快速逼近匹配區(qū)域;采用小步長進(jìn)行精細(xì)匹配,保證匹配精度。本設(shè)計(jì)選取T1、T2、T3(T1lt;T2lt;T3)三個(gè)檔位閾值進(jìn)行計(jì)算。當(dāng)相關(guān)性系數(shù)小于T1時(shí),采用步長D=5計(jì)算;當(dāng)相關(guān)性系數(shù)大于T1小于T2時(shí),采用步長D=3計(jì)算;當(dāng)相關(guān)性系數(shù)大于T2小于T3時(shí),采用步長D=1計(jì)算。T1、T2、T3取值由實(shí)際工作環(huán)境確定。
2.3"邊緣信息提取NCC加速算法設(shè)計(jì)
因各路段的盲道規(guī)格存在差異,為提升該設(shè)計(jì)的適應(yīng)性,需要對不同規(guī)格的盲道鋪磚創(chuàng)建不同模板。NCC算法以灰度信息作為基礎(chǔ)創(chuàng)建模板,針對被匹配圖像的每個(gè)像素進(jìn)行計(jì)算。因盲道的信息集中于突起的輪廓邊緣,為進(jìn)一步加速算法,采用邊緣信息提取的算法對模板提取關(guān)鍵信息,通過減少模板的匹配點(diǎn)計(jì)算量來加速運(yùn)算。
邊緣提取信息算法有Sobel算子、Roberts算子、Canny算子等方法。Roberts 算子采用對角線方向的相鄰像素之差近似梯度幅值檢測邊緣[14],適合做線性化圖像檢測[15]。 Sobel算子的計(jì)算量較大[16]且受噪聲影響較大。Canny算子[17]受噪聲影響較小,但需六個(gè)步驟,計(jì)算較為繁瑣。鑒于本設(shè)計(jì)僅需要快速獲得提取到模板信息的位置,因此采用Laplacian算子進(jìn)行邊緣信息計(jì)算[5]。
由于盲道的凸起形狀,其邊緣信息不易受光照強(qiáng)度變化的影響而消失,即邊緣強(qiáng)度較大,使Laplacian算子響應(yīng)在邊緣處有較大的值[18]。為消除噪聲,對比了中值濾波、均值濾波等方法,設(shè)計(jì)中采用了效果最佳的高斯濾波。高斯平滑函數(shù)為公式(2)。
H(x,y)=12πσ2exp(-x2+y22σ2),
G(x,y)=f(x,y)*H(x,y)。(2)
為簡便計(jì)算,使用通用高斯卷積核模板矩陣
R
G如式(3),通用Laplacian算子卷積核矩陣Rlaplacian如式(4),綜合后得矩陣RGL式(5)。
RG=1/161/81/161/81/41/81/161/81/16,(3)
Rlaplacian=0101-41010,(4)
RGL=1/169/81/169/8-15/49/81/169/81/16。(5)
將圖像模板T與式(5)進(jìn)行卷積計(jì)算后得到新模板P,如式(6)。
Pi,j=TRGL。(6)
由于在灰度變化不大的圖像中,相鄰像素的灰度值很接近,通過使用新模板對其進(jìn)行差分運(yùn)算時(shí),會(huì)產(chǎn)生大量的0,1或-1。這些計(jì)算耗時(shí)很少,從而大幅提高匹配速度。
3""實(shí)驗(yàn)與分析
最終設(shè)計(jì)成品如圖4所示,其現(xiàn)場識(shí)別畫面如圖5所示。經(jīng)過預(yù)采集和預(yù)處理的模板文件存儲(chǔ)在該設(shè)計(jì)的存儲(chǔ)卡中。經(jīng)測試,在模板尺寸為80*80像素,模板數(shù)量為6時(shí),能實(shí)現(xiàn)0.2~1 s的循環(huán)匹配速率,匹配速率隨模板復(fù)雜度而變化。
對比同場景單張模板的匹配速度進(jìn)行測試,可見優(yōu)化后算法在匹配速度上有較為明顯的優(yōu)勢,如表1所示:
為避免過于頻繁的提示,根據(jù)實(shí)際需要,采用2 s一次循環(huán)的設(shè)計(jì),即一次循環(huán)包含2次以上匹配,2次(含)以上確認(rèn)匹配才進(jìn)行語音提示。
在閾值的選取上,閾值設(shè)置越低則識(shí)別率和誤識(shí)別率越高。因?yàn)樵摐y試難以模擬,采用實(shí)地測試的方式進(jìn)行。設(shè)定不同閾值后,在現(xiàn)場對設(shè)備進(jìn)行識(shí)別率、誤識(shí)別率的測試。通過調(diào)試,確定閾值T1=0.3,T2=0.5,T3=0.7,能夠較好進(jìn)行圖像識(shí)別,同時(shí)擁有較低的誤識(shí)別率。
為檢驗(yàn)系統(tǒng)的可靠性與效果,選取了3個(gè)路段進(jìn)行測試。測試選擇200次條狀直行磚和200次點(diǎn)狀停止磚的識(shí)別進(jìn)行統(tǒng)計(jì)。經(jīng)測試,統(tǒng)計(jì)結(jié)果如表2所示:
對以上三個(gè)情況進(jìn)行分析:(1)識(shí)別率最高為C路段,因?yàn)槊さ赖卮u為新近鋪設(shè),條形輪廓較為明晰,光照均勻,識(shí)別度較好。識(shí)別率最低為B路段,因?yàn)樵撀范蔚拿さ赖卮u為混凝土壓鑄,條形輪廓不清晰,且較為陳舊,有較多缺損。同時(shí),因該路段樹蔭較多,陽光下有較多光斑,對識(shí)別率造成較大影響。(2)A路段和C路段的誤識(shí)別率基本一致,主要由地面條狀紋理造成。B路段的誤識(shí)別率明顯較高,主要由于路面光斑造成。
4""結(jié)論
通過對以上數(shù)據(jù)的統(tǒng)計(jì),可得出結(jié)論:在實(shí)際應(yīng)用環(huán)境中,通過機(jī)器視覺的方式實(shí)現(xiàn)盲道識(shí)別的方法是切實(shí)可行的,該設(shè)計(jì)的改進(jìn)型NCC算法能夠在運(yùn)算資源較少的單片機(jī)上良好工作,具有較好的適應(yīng)性和實(shí)用性。
參考文獻(xiàn):
[1]俞國華, 朱廣偉, 張珂. 基于多傳感器融合的智能導(dǎo)盲杖研制[J]. 測控技術(shù), 2015, 34(4):20-23.
[2]孟湘君.日本發(fā)明電子導(dǎo)盲杖可感知臉部高度障礙物[EB/OL].[2010-05-21].http://www.chinanews.com/gj/gj ̄sjkj/news/2010/05-21/2296545.shtml.
[3]孫二杰, 汪東軍, 石震, 等. 超聲波智能導(dǎo)盲杖的設(shè)計(jì)[J]. 計(jì)算機(jī)系統(tǒng)應(yīng)用, 2015, 24(8):273-276.
[4]李子印, 許斌, 陳立峰. 基于自適應(yīng)步長選擇的NCC圖像匹配算法[J]. 光電工程, 2013, 40(10):77-84+89.
[5]Wang Y, Wu D. An improved adaptive SSDA based on wavelet ̄pyramid[C]// American Institute of Physics Conference Series. AIP Publishing LLC, 2017.
[6]張維琪, 樊斐. 自適應(yīng)SSDA圖像匹配并行算法設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)工程與應(yīng)用, 2014, 50(20):64-67.
[7]Landzettel K, Preusche C, AlbuSchffer, Alin, et al. Robotic on ̄orbit servicing ̄DLR’s experience and perspective.[C]// IEEE/RSJ International Conference on Intelligent Robots amp; Systems. IEEE, 2006.
[8]王恩國, 吳樹范. NCC邊緣信息快速匹配算法[J]. 電子技術(shù), 2017(12):25-27.
[9]Bai X. Morphological center operator based infrared and visible image fusion through correlation coefficient[J]. Infrared Physics amp; Technology, 2016, 76:546-554.
[10]An K, Ma J G. Solution system of minimum ̄magnitude equation about the screw of a rigid ̄body motion of manipulator[J].Opto ̄Electronic Engineering, 2010, 37(7):8-11.
[11]黃真寶,陳陽.圖像匹配中NCC算法的一種快速實(shí)現(xiàn)方法[J].信息化研究,2011,37(02):48-52.
[12]吳福培,郭家華,李昇平,等.基于單目視覺的曲面弧度測量方法[J].光子學(xué)報(bào),2018,47(11):126-136.
[13]吳松,張敏情,雷雨.基于圖像相鄰像素相關(guān)性的LSB匹配隱寫分析[J]. 計(jì)算機(jī)應(yīng)用研究, 2014, 31(3):846-849.
[14]殷曉雪. 車道偏離預(yù)警系統(tǒng)的研究與實(shí)現(xiàn)[D]. 哈爾濱:哈爾濱工業(yè)大學(xué), 2014.
[15]唐陽山, 徐忠?guī)洠?黃賢丞, 等. 基于Roberts算子的車道線圖像的邊緣檢測研究[J]. 遼寧工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版), 2017(6):36-39+43.
[16]黃虎,楊丁,雷宇輝,等.基于CORDIC的高速Sobel算法實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2018,44(9):87-90.
[17]鈕圣虓,王盛,楊晶晶,等.完全基于邊緣信息的快速圖像分割算法[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2012,24(11):1410-1419.
[18]呂鯉志,強(qiáng)彥.基于Laplacian金字塔和小波變換的醫(yī)學(xué)CT圖像增強(qiáng)算法[J].計(jì)算機(jī)科學(xué),2016,43(11):300-303.
(責(zé)任編輯:曾"晶)
Design of Guide Stick Aided Recognition System Based on Machine Vision
ZHANG Ang*,HUANG Liqin
(College of Physics and Information Engineering,F(xiàn)uzhou University,F(xiàn)uzhou 350116,China)
Abstract:
To make up for the deficiency of traditional guide,the design based on video machine vision,it helps blind people identify blind paths and solves the problem of low utilization of blind paths.The design consists of a single chip computer, a lens group and an output device.It can identify the location and different functions of blind path and give corresponding reminders.An NCC acceleration algorithm based on adaptive step size and edge information extraction is proposed in this design.On the premise of guaranteeing the recognition accuracy, the computational complexity is greatly reduced.Experiments prove the effectiveness and practicability of the design.
Key words:
guide stick;machine vision;NCC;MCU