馬再蓉,樓旭鋒,吳茂念,2,鄭 博,2
(1.湖州師范學院 信息工程學院,浙江 湖州 313000;2.浙江省現(xiàn)代農業(yè)資源智慧管理與應用研究重點實驗室,浙江 湖州 313000)
根據世衛(wèi)組織的統(tǒng)計,2006 年中國的盲人大概有500 萬;到了2010 年,這一數字攀升到了824.8 萬;而在2016 年,失明者更是增加到了1 731 萬;截至2021 年底,我國盲人數量達1 730 萬,占世界盲人總數的18%。盲人群體的生存狀況是我國政府和社會長期關注的焦點。中國盲人協(xié)會官方網站發(fā)布數據顯示,我國目前現(xiàn)有的盲人數量居世界第一,是不可忽視的殘疾人群體。
2017 年,山東建筑大學對省內65 個公共場所的調查發(fā)現(xiàn),有46%的盲道被占用[1];同年,石家莊的一份調查顯示:盲道被占率約為11%[2];2018 年一份對寧波市79 個社區(qū)的調查發(fā)現(xiàn),在危險地段設置警示性、提示性盲道的合格率僅為12%,合格率甚至低于商場[3]。由于城市建設規(guī)范對自行車、電瓶車的停放考慮欠佳,導致人行道被大量車輛占用,設置在人行道上的盲道也被殃及。這并不是“少數人素質低下亂停亂放”的問題,這一問題在全國都很常見。
盲人出行除了在盲道方面遇到很多問題外,在輔助盲人出行工具這一方面也存在諸多困難。幫助盲人出行的方式通常有三種:導盲犬、盲杖和智能導盲裝置[4]。導盲犬數量極少,在盲人群體中擁有者并不普遍;盲杖由于檢測路面范圍不全面,在使用過程中會遇到對前方障礙物認知不清、無法察覺懸空的障礙物等問題;現(xiàn)存的智能導盲設備大多分為超聲波導盲設備、紅外導盲設備、引導式導盲設備。在使用超聲波導盲設備時,超聲波在途中會被反射或吸收,導致采集的信息不完整、檢測出現(xiàn)盲區(qū)等;紅外導盲設備在室外時太陽光會對紅外線造成影響,導致測距出現(xiàn)一定程度的誤差;導盲機器人存在開發(fā)成本高和不易攜帶維護等缺點,因此無法進行大范圍推廣應用。
如今,隨著計算機視覺技術的發(fā)展與深度學習在圖像識別與檢測領域的廣泛應用,機器能夠自動從大量圖像數據中提取圖像或對應物體的特征進行識別與判斷,達到了極高的準確率。例如,基于深度學習的目標檢測算法利用AlexNet[5]、VGG[6]、GooleNet[7]、ResNet[8]及ResNext[9]等卷積神經網絡[10]作為提取圖像特征的主干網絡,實現(xiàn)了高精確率的檢測模型。基于深度學習的目標檢測從早期最具代表性的Fast-RCNN[11]、SPP-Net[12]、Faster-RCNN[13]等到近三年的SNIPER[14]、NAS-FPN[15]等檢測算法,多以高表征能力的CNN(Convolutional Neural Network, CNN)為主干網絡實現(xiàn)了較高的檢測精度。因此可將計算機視覺技術與硬件結合,應用于導盲設備中。
為了讓盲人出行更加便捷,更加安全,本項目設計了一款能夠完整采集信息,不易受環(huán)境影響,可察覺前方障礙物種類,且易攜帶的盲人專用智能眼鏡,借助圖像分類與超聲波測距等技術,賦予盲人一雙“慧眼”。開發(fā)的計算機視覺技術與深度學習算法相結合的盲人專用智能眼鏡,綜合超聲波導盲和引導式導盲方式,將微處理器安裝在眼鏡架上,通過超聲波與云端相配合對數據進行處理。在盲道上行走遇到障礙物時該智能眼鏡會發(fā)出聲音提醒盲人,引導盲人,幫助盲人在盲道上安全行走。
本項目的控制系統(tǒng)以V831 開發(fā)板為核心控制器(以下稱V831 開發(fā)板核心控制器為主控),數據處理中心(ESP-32開發(fā)板)將超聲波測距模塊采集的信息經處理后傳輸至主控,攝像頭模塊采集的數據經圖像識別模塊分類后,將分類結果傳輸至主控,主控將得到的數據進行整理,根據所得結果控制語音模塊的播報信息。系統(tǒng)總框圖如圖1 所示。

圖1 智能眼鏡控制系統(tǒng)總框圖
系統(tǒng)主要包括基于深度學習算法的圖像識別模塊、超聲波測距模塊和語音模塊,系統(tǒng)整體應用流程如圖2 所示。打開開關為設備通電,系統(tǒng)啟動后進行模型加載,模型加載完成后超聲波模塊和攝像頭模塊開始采集數據。通過對攝像頭采集的盲人在盲道上行走時所獲取的圖像信息與超聲波測距模塊采集的當前設備與前方路面的距離信息進行同步分析,判斷所得數據是否在設定的正常范圍內,若數據異常表明前方遇到障礙物,系統(tǒng)將獲取圖像識別模塊檢測的障礙物種類、超聲波測距模塊檢測的當前位置與障礙物間的距離數據,將數據整理后語音播報給使用者,然后繼續(xù)檢測;若數據在正常值范圍內,系統(tǒng)將不做提醒并繼續(xù)檢測。

圖2 系統(tǒng)總體應用流程數據采集與傳輸
本項目將VR 眼鏡作為基礎結構,在此基礎上放置所需模塊及電路,并與電池連接,大體形狀如圖3 所示。此款VR 眼鏡長度為172 mm、寬度為89 mm、高度為93 mm,完全滿足本項目模塊對空間的需求。將攝像頭模塊放置于左眼位置處,將測距模塊放置于右眼位置處;電池放在眼鏡后部,減輕面部壓力,如圖4 所示。

圖3 智能眼鏡模型

圖4 智能眼鏡電池放置位置
本眼鏡所用測距傳感器為A21 超聲波傳感器模塊,其具備高精度、盲區(qū)小(盲區(qū)≤0.03 m、探測量程0.02 ~5 m)、雙FOV 探測角(水平角度40°~65°,垂直角度60 ~80°)、響應時間短、過濾同頻干擾、體積小、安裝適配性高、防塵防水、壽命長、可靠性高等優(yōu)點;此傳感器的雙角度探測有不同等級可選,根據本眼鏡應用情況,選取水平角度25°,垂直角度40°;不同身高、不同視角對于距離的測量準確度影響不大。具體測量區(qū)域如圖5 所示。

圖5 超聲波傳感器測量區(qū)域
本眼鏡采用的攝像頭模塊為與V831 開發(fā)板配套的攝像頭模塊,該模塊的攝像頭具有200 萬像素的固定焦點圖像傳感器,所拍攝的圖片分辨率為1 600×1 200,攝像頭模塊以每秒20 幀的速度抓取圖片,并傳到主控,可以較真實且迅速地拍攝環(huán)境圖片。
數據傳輸流程如圖6 所示。一方面,超聲波模塊采集前方距離信息,ESP-32 開發(fā)板將超聲波模塊采集的數據加工處理后傳給主控;另一方面,攝像頭采集當前盲道情況的圖像數據,后將圖片傳給主控。主控接收并處理數據得到結果,若遇到非正常結果,便根據當前情況對使用者進行語音播報提醒。

圖6 數據傳輸流程
基于數字圖像處理技術對盲道路況進行識別分類這一課題在深度學習領域屬于新型研究項目,采用的訓練集和驗證集是團隊成員由以下方式獲得:
(1)團隊成員實地拍攝;
(2)在百度、谷歌、必應等大型網站上搜集下載,具體情況見表1 所列。

表1 數據集詳情
將每一類預留出20%作為測試集,其余作為訓練集。具體分類實例如圖7 所示。

圖7 盲道圖片分類部分示例
現(xiàn)在較為經典的深度學習模型是VGG 和ResNet。但這兩種網絡模型的參數量與計算量較大,效率較低,占用內存較大。為提升卷積層網絡效率,研究人員在卷積層神經網絡的基礎上提出了輕量化卷積神經網絡。
本項目的分類模型采用基于MobilenetV1[16]的圖像分類模型。MobilenetV1 模型是Google 針對手機等嵌入式設備提出的一種輕量級深層神經網絡,該模型的核心思想是使用深度可分離卷積塊(Depthwise Separable Convolution)。深度可分離卷積塊是由深度可分離卷積和普通1*1 卷積組成。其中,深度可分離卷積的卷積核一般為3*3,通常用于特征提取,而普通1*1 卷積可以完成通道數調整。使用深度可分離卷積塊的目的是使用更少的參數來代替普通的3*3 卷積。深度可分離卷積塊如圖8 所示。MobilenetV1 網絡結構見表2 所列。

表2 MobilenetV1 網絡結構

圖8 深度可分離卷積塊
運用現(xiàn)有的數據集,訓練并使用分類模型,將在盲道上所遇障礙物分為石墩、墻、消防栓、樹、桿、電瓶車、車七類,當所遇環(huán)境檢測出為以上七類的其中一種,并且概率大于35%時,就認為其所遇障礙物為該障礙物;但當其所遇環(huán)境被分類為以上七種的其中一種,但概率低于35%,則認為該環(huán)境為正常盲道。運用訓練好的模型對測試集進行測試:盲道識別算法先讀取測試集圖片,然后依次對圖片進行檢測,并輸出障礙物具體種類。共測試10 組,每組340 張圖片,檢測結果正確率約為95.02%。表3 所列為部分測試結果的分析記錄。

表3 模型測試結果
通過對分類錯誤的圖片進行分析,發(fā)現(xiàn)分類錯誤的圖片主要分為兩種:一種是圖片內包含要素過多,另一種是圖片內要素展露不充分。圖片檢測失敗的原因主要是圖片內容影響圖片信息的讀取,由此得出,盲道路況識別算法在障礙物較少且展露充分的情況下識別穩(wěn)定并且準確率較高;但在障礙物種類較多和障礙物展露不充分的情況下,系統(tǒng)識別正確率下降,偏差數值范圍為0.1%~0.9%。通過以上評估,認為此算法已經具備一定的盲道路況障礙物識別能力。
在模型訓練完成后,生成onnx 深度學習網絡文件。調用onnx2ncnn 轉換工具,將生成的onnx 模型轉換為ncnn 模型。同時,為使得生成的ncnn 模型可以被V831 開發(fā)板直接使用,將該模型量化,轉換成V831 開發(fā)板可直接使用的awnn 模型,模型轉化、移植完成且經過調試后,即可使用。本項目在深度學習圖像識別算法選擇上,嘗試了多種經典的通用圖像識別算法,首先在運算服務器端對比測試了不同模型的處理識別速度,最終將效果優(yōu)良且輕量級的Mobilenet 模型移植入嵌入式設備。實踐結果見表4 所列。

表4 3 個模型結果對比
通過對實踐結果的分析,可以得知:傳統(tǒng)的VGG、ResNet 算法模型精度優(yōu)良但模型參數量過大,在嵌入式設備或移動設備上使用效果較差,MobilenetV1 模型效果優(yōu)良且參數量較少,在嵌入式設備上應用效果極佳。因此本項目采用了目前在圖像分類領域較為常用及輕量級,同時針對嵌入式設備開發(fā)的MobilenetV1 網絡模型。
本設計經過電路實現(xiàn)后,進行了相應的模擬實驗,將組裝完成的眼鏡(如圖9 所示)拿到實地現(xiàn)場做定量測試,選擇多段直線盲道作為測試路段,路途設置靜止障礙物,定義試驗者初始位置到障礙物的距離為起始距離,實際停止位置與障礙物之間的距離為終止距離,以障礙物處為起點,放置米尺。設定起始距離為5 m,指引試驗者沿盲道行走,通過記錄揚聲器播報障礙物種類及距離(即終止距離),并于設定障礙物種類及米尺上顯示距離進行對比,若播報終止距離與實際終止距離的誤差在實際終止距離的±5%(±10%)范圍內,即為測試成功;另外,將障礙物種類和與障礙物之間的距離數據在V831 的屏幕中顯示,若語音播報功能出現(xiàn)故障,則將直接記錄V831 屏幕中的數據,并將語音播報功能記為失敗。多次重復試驗后,所得結果見表5 所列。

表5 眼鏡試驗測試結果

圖9 智能眼鏡實物
試驗結果表明,在實際測試中,本眼鏡對“石墩”和“樹”這兩類障礙物識別效果較好,成功率分別約為96.67%和95%,對“桿”和“墻”這兩類障礙物識別效果較差,成功率分別約為78.33%和71.43%,識別效果較差的原因是由于模擬環(huán)境中使用的圖片較為單一,而實際環(huán)境中,環(huán)境嘈雜、圖片要素過多或光線過亮,曝光度過高導致識別效果較差;語音播報功能效果良好,成功率約為96.75%;在與障礙物間的距離測量方面,誤差小于5%,成功率約為93.75%,若誤差小于10%,成功率約為99.25%,可以對距離進行較為準確地測量。
本項目通過對智能眼鏡的設計,結合Python 對于V831開發(fā)板的控制、圖像分類識別算法及超聲波測距模塊的配合,實現(xiàn)了對盲人出行過程進行實時路況識別的功能,達到較好的輔助盲人日常出行的效果。該眼鏡分類系統(tǒng)的精度還不夠高,分類種類還可以更多,模型需要進一步優(yōu)化升級,使其更接近人眼感知效果。