摘" 要:人獲取外界信息主要通過視覺。失去視覺后,盲人在日常生活中存在諸多困難與危險。隨著計算機軟硬件技術(shù)的迅速發(fā)展,導(dǎo)盲設(shè)備層出不窮,使盲人群體的生活狀況有所改善,切實享受到科技進(jìn)步帶來的便利。現(xiàn)有的導(dǎo)盲設(shè)備為盲人的生活提供一些幫助,但存在著價格高、體驗差、功能單一等問題?;谝陨显?,該文提出一種更人性化、大眾化、智能化的基于人工智能技術(shù)的多信息融合可穿戴式導(dǎo)盲系統(tǒng)。系統(tǒng)選用帶有Raspbian操作系統(tǒng)的樹莓派4B開發(fā)板作為主控制器,協(xié)控制器選用STM32開發(fā)板,以O(shè)penCV和C++作為系統(tǒng)的開發(fā)工具。系統(tǒng)中的物體識別部分采用OpenCV提供的圖像處理接口實現(xiàn),安全避障部分采用激光測距模塊獲取障礙物距離,語音識別部分采用語音識別模塊對系統(tǒng)進(jìn)行語音控制,可撥打緊急電話并發(fā)送帶GPS定位的求救短信。項目采用多線程開發(fā)技術(shù)開發(fā)系統(tǒng)軟件,使得系統(tǒng)的性能更加優(yōu)越。
關(guān)鍵詞:可穿戴式導(dǎo)盲系統(tǒng);多信息融合;物體識別;語音識別;樹莓派
中圖分類號:TP311.5" " " 文獻(xiàn)標(biāo)志碼:A" " " " " 文章編號:2095-2945(2023)18-0019-04
Abstract: The main way for humans to obtain external information is through vision. With the loss of vision, the blind have many difficulties and dangers in their daily lives. With the rapid development of computer software and hardware technology, a variety of guide devices for the blind have emerged, improving the living conditions of the blind population and allowing them to truly enjoy the convenience brought by technological progress. The existing guide devices have provided some help to the blind in their lives. However, existing guide devices for the blind have problems such as high prices, poor user experience, and single function. For these reasons, this paper proposes a more humane, popular and intelligent wearable guide system based on artificial intelligence technology with multi-information fusion. The system uses Raspberry Pi 4B development board with Raspbian OS as the main controller, STM32 development board as the co-controller, OpenCV and C++ as the development tools of the system. The object recognition part of the system is implemented using the image processing interface provided by OpenCV, the safety obstacle avoidance part uses a laser ranging module to obtain the distance to obstacles, and the speech recognition part uses a speech recognition module for voice control of the system, which can make emergency calls and send rescue messages with GPS positioning. The project adopts multi-threaded development technology to develop the system software, which makes the system's performance more superior.
Keywords: wearable guide system; multi-information fusion; object recognition; speech recognition; Raspberry Pi
系統(tǒng)是以樹莓派4B為主控制器、STM32為協(xié)控制器,結(jié)合超聲波測距技術(shù)、紅外線測距技術(shù)、圖像處理技術(shù)、通信和GPS定位技術(shù)及語音識別技術(shù),實現(xiàn)具有多種功能的盲人行動輔助系統(tǒng)。
控制器之間通過無線通信模塊來實現(xiàn)通信。其中主控制器樹莓派及其所控制的外圍設(shè)備安裝在馬甲上作為系統(tǒng)的核心馬甲端,協(xié)控制器STM32及其所控制的外圍設(shè)備安裝在導(dǎo)盲杖上構(gòu)成導(dǎo)盲杖端。同時采用掛耳式耳機與震動模塊對系統(tǒng)感知到的外界環(huán)境進(jìn)行反饋,將信息經(jīng)過處理后以語音和震動的形式傳達(dá)給盲人。綜上,系統(tǒng)的組成部分為馬甲端+導(dǎo)盲杖端,模塊間相互作用,達(dá)到輔助盲人行進(jìn)的目的。系統(tǒng)整體結(jié)構(gòu)如圖1所示。
1" 系統(tǒng)設(shè)計主要任務(wù)
系統(tǒng)主要利用樹莓派4B開發(fā)板和STM32開發(fā)板搭建具有斑馬線識別功能、紅綠燈識別功能、安全避障功能和一鍵求助功能,以及人機交互功能的可穿戴式導(dǎo)盲系統(tǒng)。設(shè)計任務(wù)分為3大部分:數(shù)據(jù)采集模塊、數(shù)據(jù)處理模塊、人機交互模塊。
數(shù)據(jù)采集模塊負(fù)責(zé)采集當(dāng)前盲人所處環(huán)境信息,并將信息傳遞給處理器。根據(jù)系統(tǒng)設(shè)計可以看出,需要采集的環(huán)境信息包括:障礙物信息、斑馬線信息、紅綠燈信息,當(dāng)盲人使用一鍵求助功能時,系統(tǒng)還需要獲取當(dāng)前盲人所處位置的GPS數(shù)據(jù)。其中,障礙物信息通過超聲波、紅外傳感器進(jìn)行獲取,圖像信息通過USB攝像頭獲取,位置信息通過GPS模塊獲取。
數(shù)據(jù)處理模塊根據(jù)數(shù)據(jù)采集模塊采集到的數(shù)據(jù),作出對當(dāng)前環(huán)境的判斷,決定是否需要提醒盲人及以什么方式進(jìn)行提醒。該部分是導(dǎo)盲系統(tǒng)的核心,其作用類似于人類的大腦。
人機交互模塊完成的任務(wù)是數(shù)據(jù)的雙向傳遞。即將處理器處理的結(jié)果以盲人易于接受的方式(震動及語音)傳遞給盲人,并且盲人能通過語音、按鍵的方式對系統(tǒng)進(jìn)行操作。
1.1" 數(shù)據(jù)采集模塊
障礙物信息采集。最直觀體現(xiàn)的障礙物信息就是障礙物與盲人之間的距離,將障礙物距離信息傳遞給盲人,就起動了躲避前方障礙物的功能。考慮到盲人行進(jìn)過程中身體每個部分都有可能碰到障礙物,所以選擇在人體上、下2個地方進(jìn)行障礙物信息采集。目前最常用的測距技術(shù)是超聲波測距及紅外測距。從模塊成本角度看,超聲模塊價格更低,但超聲測距適合工作在動作幅度不大的環(huán)境中,當(dāng)超聲測距模塊動作幅度較大時,測量就會失效。在這種情況下就選擇使用價格稍高,但更加穩(wěn)定的紅外測距方式。結(jié)合盲人行動時身體運動特點和其他因素,上身部位選用超聲波測距,下身部位采用紅外測距。
圖像信息采集。在室外車輛密集的十字路口,不按照交通燈指示或偏離斑馬線都將嚴(yán)重威脅盲人的人身安全。導(dǎo)盲系統(tǒng)通過對攝像頭采集的實時圖像進(jìn)行分析,將紅綠燈、斑馬線的信息以語音的形式對盲人進(jìn)行提示,從而輔助盲人安全通過路口。
GPS位置數(shù)據(jù)采集。當(dāng)盲人迷失方向,需要求助時,向家人提供準(zhǔn)確的位置信息是最有效的求助手段。常用的GPS模塊是NEO-6M、ATK1218-BD模塊及GSM/GPS功能結(jié)合模塊,考慮到短信模塊、GPS模塊都采用UART協(xié)議,而樹莓派只有一個硬件串口,沒法同時外接2個使用UART通信的模塊,所以選用具有GSM/GPRS和GPS功能的SIM808模塊,樹莓派通過串口向SIM808模塊發(fā)送AT命令,實現(xiàn)對模塊的控制。
1.2" 數(shù)據(jù)處理模塊
一鍵求助功能。當(dāng)盲人迷失方向或遇到危險時,通過按下一個求助按鍵,系統(tǒng)會向緊急聯(lián)系人發(fā)送帶有GPS位置信息的短信,SIM808模塊采用NMEA0183協(xié)議將帶有定位信息的數(shù)據(jù)發(fā)送給樹莓派,樹莓派對數(shù)據(jù)進(jìn)行解析,拼接成短信,再通過SIM808模塊將短信發(fā)送給緊急聯(lián)絡(luò)人,從而實現(xiàn)短信求助功能,并且盲人還可通過按下一個電話按鍵向緊急聯(lián)系人撥打電話,實現(xiàn)電話求助功能。
在實際使用時,每個盲人的緊急聯(lián)系人都有所不同,所使用的號碼也不相同,所以系統(tǒng)應(yīng)具備設(shè)定緊急聯(lián)系人號碼的功能。實現(xiàn)號碼設(shè)定功能,有很多不同的方法,例如矩陣鍵盤加屏幕、語音設(shè)定或遠(yuǎn)程設(shè)定等方式。盲人很難通過矩陣鍵盤設(shè)定號碼,并且家屬也不可能每次都很及時地在盲人身邊設(shè)定號碼,所以采用遠(yuǎn)程設(shè)定是最合理的方案。
由于系統(tǒng)上的號碼是固定的,所以通過短信設(shè)定號碼的方案是最切合實際使用場景的方案。盲人家屬向系統(tǒng)發(fā)送固定格式的短信,系統(tǒng)對短信內(nèi)容進(jìn)行解析,實現(xiàn)設(shè)定號碼的功能,并且根據(jù)短信內(nèi)容的不同,可以分別設(shè)定求助短信接收號碼及撥打電話的號碼。其設(shè)定號碼的原因是一樣的,只不過短信內(nèi)容不同。同時,為防止系統(tǒng)因掉電而造成緊急聯(lián)系人號碼的丟失,將設(shè)定的緊急聯(lián)系人號碼保存在文件中,系統(tǒng)每次上電啟動時,從文件中讀取緊急聯(lián)系人號碼。
斑馬線識別功能。斑馬線是由一條條相互平行且等間距的白色條紋組成。一般在使用過程中,由于攝像頭位置及拍攝角度問題,畫面中并不一定包含完整的斑馬線,同時要考慮實際生活中的斑馬線會出現(xiàn)殘缺的情況。根據(jù)以上這些特征,利用OpenCV的直方圖均衡化、中值濾波、形態(tài)學(xué)開運算和矩陣提取函數(shù)設(shè)計一種基于圖像增強、矩形判別及最大類間方差的識別算法。斑馬線識別流程如圖2所示。
紅綠燈識別功能。綜合考慮紅綠燈形狀、顏色特征,利用OpenCV的顏色空間轉(zhuǎn)換、顏色過濾、圖像反二值化函數(shù)設(shè)計了一種使用顏色過濾、形狀判斷的識別算法。為了提高系統(tǒng)響應(yīng)速度、減輕控制器運算壓力,進(jìn)行紅綠燈判別的先決條件是已經(jīng)檢測到斑馬線。紅綠燈狀態(tài)識別流程如圖3所示。
1.3" 人機交互模塊
語音模塊。該功能模塊應(yīng)具備語音輸出及語音識別2個功能。語音輸出用于將處理后的環(huán)境信息傳遞給盲人,語音識別實現(xiàn)盲人通過說話對系統(tǒng)進(jìn)行操控。考慮系統(tǒng)使用環(huán)境,在正常工作時模塊一直處于語音輸出狀態(tài),用于將實時的環(huán)境信息傳遞給盲人。當(dāng)盲人有使用語音操控系統(tǒng)的需求時,通過一個按鍵激活模塊的語音識別功能,當(dāng)識別完畢后,再次回到語音播放的功能。在系統(tǒng)中,語音輸出的內(nèi)容有:前方障礙物提示、斑馬線提示、紅綠燈狀態(tài)提示及系統(tǒng)狀態(tài)提示。其中系統(tǒng)狀態(tài)提示為以語音的形式提示盲人當(dāng)前系統(tǒng)所處的工作狀態(tài)及需要盲人進(jìn)行的下一步操作。當(dāng)盲人有語音識別需求并且按下語音識別按鍵后,模塊將當(dāng)前正在播放的語音輸出完畢后,以語音的形式提醒盲人接下來可以講話,緊接著關(guān)閉語音輸出功能,開啟語音識別。
震動模塊。通過安裝在導(dǎo)盲杖上的震動馬達(dá)模塊,實現(xiàn)將當(dāng)前環(huán)境中的下身部位距障礙物的距離信息通過設(shè)定的不同震動強度傳遞給盲人,使盲人能夠快速分辨障礙物距自己的大致距離。為了使不同的震動強度容易被分辨出來,僅在2 m內(nèi)設(shè)置2種震動強度。
按鍵模塊。盲人通過裝在導(dǎo)盲杖上的4位獨立按鍵模塊可以實現(xiàn)發(fā)送求助短信、撥打電話、接聽電話及開啟語音識別的功能。每個按鍵對應(yīng)一個功能,在導(dǎo)盲杖上,利用STM32微控制器的定時中斷固定時間間隔讀取4位獨立按鍵模塊的值來確定哪一個按鍵被按下,獲取的按鍵信息由STM32微控制器通過無線模塊發(fā)送至樹莓派,繼而控制對應(yīng)模塊進(jìn)行相應(yīng)的工作。盲人可以在使用過程中根據(jù)實際需求,對導(dǎo)盲系統(tǒng)進(jìn)行操控。
2" 系統(tǒng)軟件整體設(shè)計
2.1" 馬甲端設(shè)計
為了實現(xiàn)系統(tǒng)功能并提高系統(tǒng)性能,整個系統(tǒng)馬甲端軟件采用多線程的方式進(jìn)行開發(fā),線程之間通過共享變量的方式通信,以確保整個系統(tǒng)正常有序的運轉(zhuǎn)。本系統(tǒng)運轉(zhuǎn)時共有3個主要線程,分別是主線程、LD3320線程及SIM808線程,3個線程各司其職,共同完成系統(tǒng)的馬甲端功能。
主線程實現(xiàn)。主線程通過安裝在馬甲上的超聲波模塊進(jìn)行障礙物測距并判別是否需要輸出語音提醒避障,通過USB攝像頭獲取道路實時圖像進(jìn)行斑馬線和紅綠燈狀態(tài)識別的任務(wù)。有播放音頻需求時,則通過共享變量向LD3320線程傳遞播放音頻的需求。
SIM808線程實現(xiàn)。當(dāng)盲人按下導(dǎo)盲杖端的按鍵并由STM32微控制器將信息發(fā)送到樹莓派時,馬甲端系統(tǒng)需要能夠較快地對盲人的操作作出響應(yīng)。所以,需要一個線程專門負(fù)責(zé)接收導(dǎo)盲杖端的按鍵數(shù)據(jù)并對其進(jìn)行處理,由于按鍵所觸發(fā)的操作大都需要SIM808模塊完成,所以該線程還負(fù)責(zé)有關(guān)SIM808的所有操作,如撥打電話、接聽電話、發(fā)送具有GPS位置信息的短信。
LD3320線程實現(xiàn)。因為系統(tǒng)對外界信息的處理結(jié)果需要通過語音實時反饋給用戶并且實時獲取用戶的語音指令,所以需要一個線程專門負(fù)責(zé)有關(guān)LD3320語音識別模塊的操作,如設(shè)置語音識別模式、讀取語音識別結(jié)果,也就是有關(guān)LD3320的操作都由這個線程負(fù)責(zé)完成。
2.2" 導(dǎo)盲杖端設(shè)計
導(dǎo)盲杖端采用STM32C8T6開發(fā)板作為控制器,實現(xiàn)障礙物震動提醒及向樹莓派端發(fā)送按鍵信息的功能。由于按鍵是隨機按下的,而STM32C8T6想讀取到按鍵數(shù)據(jù),就需要一直監(jiān)聽按鍵是否被按下,但同時又需要處理紅外傳感器采集的距離數(shù)據(jù),以判別前方是否有障礙物,若有障礙物還需要以震動方式提示盲人,所以導(dǎo)盲杖端采用定時器中斷最為合適,以達(dá)到及時獲取按鍵數(shù)據(jù)并發(fā)送給樹莓派端,同時對測距數(shù)據(jù)進(jìn)行處理和反饋效果。
3" 系統(tǒng)部分測試
進(jìn)行功能模塊的開發(fā),以達(dá)到預(yù)期功能要求,通過對每個功能模塊不斷測試,驗證每個功能模塊的穩(wěn)定性,消除功能模塊中存在的bug,從而保證系統(tǒng)整體開發(fā)時,不需要考慮所調(diào)用功能接口是否存在問題,只需要注意整體邏輯是否存在缺陷。通過不斷對整個導(dǎo)盲系統(tǒng)進(jìn)行測試,消除系統(tǒng)中潛在的bug,從而保證導(dǎo)盲系統(tǒng)可以穩(wěn)定可靠地工作。
3.1" 語音識別功能測試
在進(jìn)行語音識別功能測試時,采用按鍵作為觸發(fā)語音識別的條件,以模擬導(dǎo)盲系統(tǒng)中觸發(fā)語音識別的情況。在進(jìn)行語音識別功能測試時,采用按鍵作為觸發(fā)語音識別的條件,導(dǎo)盲杖端的語音識別對應(yīng)的按鍵被按下時,由STM32微控制器通過無線模塊將按鍵信息發(fā)送至樹莓派端,由樹莓派控制語音識別模塊開啟語音識別功能。語音識別測試效果如圖4所示。
3.2nbsp; 一鍵求助功能測試
實現(xiàn)一鍵求助功能最核心的器件是SIM808通信模塊。在進(jìn)行一鍵求助功能相關(guān)測試時,用按鍵模擬導(dǎo)盲系統(tǒng)中的觸發(fā)條件,導(dǎo)盲杖端的SIM808通信模塊對應(yīng)的按鍵被按下時,由STM32微控制器通過無線模塊將按鍵信息發(fā)送至樹莓派端,由樹莓派控制SIM808模塊完成相應(yīng)的功能。發(fā)送求助短信測試效果如圖5所示。
撥打電話聯(lián)系緊急聯(lián)絡(luò)人,在通話正常結(jié)束后,掛斷電話。接聽來電,在通話正常結(jié)束后,掛斷電話。撥打電話和接聽來電測試效果如圖6所示。
4" 結(jié)束語
本文結(jié)合超聲波測距技術(shù)、紅外線測距技術(shù)、圖像處理技術(shù)、通信和GPS定位技術(shù)及語音識別技術(shù),提出了一種基于人工智能技術(shù)的多信息融合可穿戴式導(dǎo)盲系統(tǒng)的設(shè)計方案,完成了系統(tǒng)的具體實現(xiàn),有一定的實用價值。
參考文獻(xiàn):
[1] 胡娟.基于超聲波與圖像識別的盲人導(dǎo)航眼鏡研究與實現(xiàn)[D].成都:電子科技大學(xué),2016.
[2] 孫玉飛.基于ARM平臺的盲杖硬件系統(tǒng)設(shè)計和實現(xiàn)[D].哈爾濱:哈爾濱工業(yè)大學(xué),2016.
[3] MOHAPATRA S, ROUT S H, TRIPATHI V, et al.Smart walking stick for blind integrated with SOS navigation system[C]//2018 2nd International Conference on Trends in Electronics and Informatics(ICOEI),2018.
[4] CROCE D,GIARRE L,PASCUCCI F,et al. An indoor and outdoor navigation system for visually impaired people[J].IEEE Access,2019(7):170406-170418.
[5] 霍一.椒鹽噪聲識別與濾波算法改進(jìn)的研究[D].北京:北京建筑大學(xué),2020.