李杲陽,宋曉煒,文秀靜,牛旭
(1.中原工學院電子信息學院,河南 鄭州 450007;2.開封大學,河南 開封 475004)
從20世紀80年代到21世紀初,我國進行兩次殘疾人調查。殘障人士包括視力殘疾、言語殘疾、肢體殘疾、智力殘疾、精神殘疾、多重殘疾等,其中屬于視力殘疾的有視盲患者和低視力患者。視盲患者的患病率大約是低視力患者患病率的一半。造成視力殘疾的病因有很多,兩次的抽樣調查總結得出,白內障是位居第一的致殘原因,位居第二和第三的致殘原因分別是角膜混濁與視網(wǎng)膜病,由此可以得出老年人的患病率明顯高于兒童。從世界衛(wèi)生組織發(fā)布的數(shù)據(jù)可以得出,中國的白內障患者人數(shù)是最多的,其導致視力殘疾的人數(shù)排在世界首位。
雖然視障人群的數(shù)量很大,但是在日常生活中卻很少見到他們的身影。這表明現(xiàn)有協(xié)助視障人群出行的設施還不夠完善。決定視障人群出行與否的因素主要有盲道、導盲犬、盲杖、智能導航軟件等。其中依靠盲道出行是視障人群最常用的出行方式,地鐵站和馬路邊大多設有盲道。但是經調查發(fā)現(xiàn),盲道的損壞情況還是很嚴重的。有些盲道本身就設計得不夠合理,有些盲道由于自然原因遭到損壞之后沒有得到及時的修繕、有些盲道則被一些物體遮擋或者占用。導盲犬對視障人群也是有很大幫助的,導盲犬可以代替人類陪伴以及照顧視障人群,但是導盲犬的培養(yǎng)過程是漫長且復雜的。因為導盲犬的訓練過程既耗時又耗力,所以導盲犬的價格很高,并不是每一個家庭都有能力購買導盲犬。盲杖是視障人群出行的首選工具,也是視障人群的必備工具。但是在使用盲杖時需要有一個對視障人群友好的城市環(huán)境。當盲道被毀或者缺少導盲犬時,盲杖是起不到作用的。這樣就造成了當前視障人群很少出行的現(xiàn)象。隨著社會的不斷發(fā)展,一些智能軟件被開發(fā)出來幫助視障人群安全出行。各國都在不斷提高對視障人群的關注,設計了一系列的電子導盲系統(tǒng)。對視障人群而言,他們最需要了解的就是周圍的環(huán)境,所以有大量的研究員致力于利用視覺系統(tǒng)來幫助視障人群獲得更多更全面的環(huán)境信息。依靠視覺系統(tǒng)獲取環(huán)境信息用以補償視障人群對視覺感知的缺失,彌補其內心的渴望和現(xiàn)實的需求。
隨著技術的發(fā)展,各種各樣的盲人輔助設備相繼推出。2012年一款盲人視覺輔助系統(tǒng)NAVIG 被開發(fā)出來,這個系統(tǒng)主要是給視障人群提供視覺導航的提示,以及實現(xiàn)對周圍目標的檢測。2016年,一個基于彩色相機的深度相機視覺導航系統(tǒng)被研制出來,這個系統(tǒng)利用深度相機采集到的深度信息來輔助視障人群在家里行走。我國在2011年設計出一款導盲杖,這款導盲杖不僅可以給視障者的家屬發(fā)送位置信息,還可以提示視障人群前方有障礙物。雖然有大量的助盲設備被設計制作出來,但是對于視障人群來說,這些設備都或多或少地存在視覺盲區(qū),不能讓視障人群全方位無死角地了解周圍的環(huán)境。
本文針對視障人群不能看到眼前物體的問題,設計一款面向視障人群的輔助裝置。該裝置易于被視障者攜帶,成本低,功能完備,除了具備一般導盲裝置的功能之外,還增加了目標檢測與識別模塊。該模塊以近幾年比較流行的深度學習為基礎,經過對比分析,選用YOLOv4 目標檢測算法進行目標檢測與識別。檢測結果經過液晶顯示屏顯示,并與超聲波測距模塊相結合,得出視障人士前方障礙物的類別及距離,通過語音模塊的揚聲器播報距離和類別信息,使視障人士能夠快速找到室內的物品,還可以及時了解室外周圍環(huán)境的情況,進而可以快速地對危險情況做出反應,有效提升了視障人群的安全感與便捷感。該輔助裝置還具有可擴展性,可以針對不同的需求增加相應的模塊,所以該輔助裝置對視障人群具有很強的應用價值和現(xiàn)實意義。
本設計以Arduino Mega 2560 為核心,通過與各個模塊的連接來實現(xiàn)目標識別、超聲波測距、語音播報、屏幕顯示檢測結果等功能。系統(tǒng)結構框架圖如圖1所示,電路板連接圖如圖2所示。
圖1 系統(tǒng)結構框架圖
圖2 設計電路連接圖
Arduino Mega 2560 使用的是精簡指令系統(tǒng)計算機(RISC)。RISC 的輸入和輸出都很強大,可以支持54 路數(shù)字的輸入與輸出,且擁有四個串口。這些串口能夠保證設備之間的快速通信,能夠快速實時地完成信息的交換。另外還添加了ArduinoMEGASensorShieldV1.0 專用傳感器擴展展板,便于增添一些傳感器,比如超聲波測距儀、語音合成模塊、電池模塊、視覺模塊等。
視覺模塊采用的是HuskyLens。因為它具有功能齊全、操作簡單、體積小巧、內置2.0 寸IPS 顯示屏等特點,所以非常適合視障人群使用。它不僅可以實現(xiàn)對圖像信號的處理,還可以完成對視野內物體的識別。
語音合成模塊采用的是SYN6288 中文語音合成芯片(一款非常實用的語音合成芯片)。語音合成效果讓視障者聽起來很自然,能夠將日常生活中的常用文本快速準確地播報出來。對于英文字母,該芯片也可以按照字母的正確發(fā)音進行播報。
主控制器模塊通過RTD(Receive(rx) Data)、TXD(Transmit(tx) Data)及SYN6288 語音合成芯片進行數(shù)據(jù)的發(fā)送和接收。控制器的工作流程主要包括串口的收發(fā)、語音合成、語音線路輸出語音至功率放大器、喇叭等。主控制器的指令能夠在每一部分得到快速準確的響應,進而實現(xiàn)語音播報功能。因此該芯片可以將視覺識別模塊識別出的類別名稱和超聲波模塊檢測的距離播報給視障人士,工作流程如圖3所示。
圖3 SYN6288 工作流程圖
顯示模塊采用OLED 液晶屏(有機發(fā)光二極管)。視障人士不需要觀看顯示的內容,因此OLED 液晶屏設計得很小。一方面節(jié)省了電池的耗電量,另一方面也減少了設備的體積和重量。OLED 液晶屏的尺寸設計為剛好能夠讓調試者順利調試各項功能。
電池模塊采用鋰電池給主控板供電。該電池在充滿電的情況下,能夠使該輔助設備工作5 ~6 個小時。該電池充電方便,具有實際應用價值。
主控制器模塊在整個軟件中扮演著很重要的角色。它不僅要對各個模塊的信息進行匯總分析,還需要控制各個模塊做出相應的反應。啟動小助手之后,首先需要進行初始化,接著HuskyLens 讀取數(shù)據(jù)同時超聲波模塊開始工作,主控程序流程圖如圖4所示。
圖4 主控程序流程圖
現(xiàn)有的目標檢測算法都是利用卷積神經網(wǎng)絡的功能,提取輸入圖像中的深層特征。因為卷積神經網(wǎng)絡能夠自動獲取到圖像中的特征,所以逐漸替代了傳統(tǒng)的手工設計特征的方法。越來越多的研究者致力于運用CNN 來提取圖像中的特征?,F(xiàn)有的目標檢測算法可以同時輸出目標的空間位置信息與目標的類別,很適合用來輔助視障人群了解周圍的信息。視障人群因為看不到周圍的物體,所以對輔助設備能否檢測出周圍物體的位置和類別十分看重。現(xiàn)有的目標檢測算法就可以快速而準確地完成這項任務。目標檢測算法按照是否回歸可以分為兩種:第一種是單階段目標檢測算法,第二種是兩階段目標檢測算法。單階段目標檢測算法主要是YOLO系列,它們的檢測速度相對較快。兩階段目標檢測算法主要是Faster R-CNN系列,它們的檢測精度相對較高。隨著單階段目標檢測算法的不斷發(fā)展,其檢測精度也超越了兩階段目標檢測算法,所以單階段目標檢測算法不僅檢測速度快而且檢測精度高。因為本實驗針對的是視障人群的輔助避障,需要準確實時地檢測目標,所以我們選用檢測速度較快、檢測精度較高的單階段目標檢測網(wǎng)絡作為本課題的目標檢測網(wǎng)絡。通過對經典的四種單階段目標檢測網(wǎng)絡進行對比,選取最優(yōu)目標檢測網(wǎng)絡。實驗訓練用的數(shù)據(jù)集是常用的Pascal VOC 公共數(shù)據(jù)集。四種單階段目標檢測網(wǎng)絡的網(wǎng)絡參數(shù)都設置為相同的值,都不使用預訓練權重。在訓練好以后,對比四種檢測算法的mAP 值,如表1所示。
由表1可以看出,Retinanet 的mAP 為79.34%,M2Det的mAP 為79.89%,YOLOv3 的mAP 為85.48%,YOLOv4的mAP 為88.56%。最后分析得出,選用mAP 值最大的YOLOv4 網(wǎng)絡作為本課題的目標檢測算法。
表1 四種檢測算法的mAP 值
視覺識別采用的是HuskyLens,在Mind+圖形化編程工具編寫好代碼以后,需要把寫好的程序燒錄到Arduino Mega 2560 中。首先需要一根USB 連接線把電腦與HuskyLens 連接起來,接著確認連接以后裝置是否能夠正常運行,然后運行代碼上傳軟件,最后把寫好的代碼上傳到Arduino Mega 2560 中。這個過程不是很快就可以完成的,需要耐心等待一段時間。等代碼燒錄完成就可以正常開機,視障人士便可以使用這個視障輔助裝置來感知周圍的環(huán)境信息了。
如圖5所示,開機后,設備正常工作,事先已經學習了對感冒靈顆粒這個目標的檢測,所以用感冒靈顆粒進行實驗驗證。由圖5可以看出,物體檢測框能夠檢測出感冒靈顆粒,準確地完成了目標檢測任務。所識別出目標的標簽會在AI圖像識別平臺以文本的形式顯示出來。同時采用超聲波模塊測距,得出檢測框內物體與視障者的距離。語音模塊同步輸出檢測出來的物體標簽以及物體與設備的距離。綜上所述,該設備可以準確實時地完成視障者室內常用物體的識別與語音播報。
圖5 室內檢測
在室內,該裝置對于視障人士常用的物體可以事先學習得到很高的識別率。但是室外的物體,對于視障者以及系統(tǒng)來說都是陌生的。為了實現(xiàn)對室外物體的識別,需要提前對對視障者阻礙比較多的物體進行學習,這里以車輛、電線桿、大樹等為例進行實驗,結果如圖6所示。
如圖6所示,設備開機后正常工作,可以分別識別出電動車、電線桿、大樹、汽車。但是由于這幾種物體的種類不同以及受光線強弱等影響,有時也會出現(xiàn)識別不出前方物體的情況,造成這一現(xiàn)象的主要原因是目標檢測算法訓練的數(shù)據(jù)集較小。為了提升識別的準確率及裝置的穩(wěn)定性,可以事先增加數(shù)據(jù)集的種類與數(shù)量,經過訓練得到穩(wěn)定而準確的網(wǎng)絡權重。把訓練好的網(wǎng)絡權重燒錄到Arduino Mega 2560 之中,實現(xiàn)對室內及室外目標的準確識別。
圖6 室外檢測
由此可以得出,該設備在室內物體測試以及室外物體測試中檢測效果都很好,可以完成預期目標,可以為視障者的出行提供避障提醒,也可以為視障者找尋室內物體提供更方便快捷的方法。
本文設計的面向視障人群的視聽輔助裝置利用攝像機采集視障者身前場景的視頻,利用卷積神經網(wǎng)絡實現(xiàn)目標檢測,利用語音合成模塊實現(xiàn)語音播報。該裝置能夠快速準確地為視障人群提供反饋信息,構建了經濟實用的智能輔助系統(tǒng)。該裝置的集成程度較高,體積較小,方便隨身攜帶,開機即用,實現(xiàn)了為視障人群提示眼前事物及其距離等功能。