黃志芳,魏潔鋒,陳德鵬,姚凱茵,梁銳軒
(嘉應學院 物理與電子工程學院,廣東 梅州 514015)
據相關數據可知,國內目前約有視覺障礙人士達3 500多萬,且這一數據還在逐年增加。由于視力上的缺陷,視覺障礙人士在學習、生活、工作等方面存在諸多不便。據調查,當前視覺障礙人士可使用的輔助性用具較少,其中最常見的就是拐杖,而普通拐杖只能輔助視覺障礙人士對周圍60 cm以內的障礙物進行避讓,在現實錯綜復雜的交通環境下無法滿足保障視障人士出行安全的需要。擁有測距導盲性的拐杖,具有紅外測距避障及手動燈光警示功能[1],但由于其紅外測距范圍較小,手動控制警示燈光并不能預判當前環境的狀況,因此視覺障礙人士行走時人身安全并不能得到充分保障。綜合現有視覺障礙人士輔助性用具的不足,本文介紹了一款輔助視覺障礙人士的多功能背包,該背包不僅能夠作為視覺障礙人士隨身攜帶的物品,還能夠實現超聲波大范圍測距避障、光強檢測自動照明警示、紅綠燈識別、遠程監測視覺障礙人士姿態情況等功能,從而有效幫助視覺障礙人士解決外出時行動不便的問題。
背包系統設計方面,由于需要及時處理視覺障礙人士行走過程中存在的識別障礙物、光強檢測、語音播報、定位、姿態檢測等問題,所以對于系統主控芯片的選擇,尤其要考慮芯片的運行速度和響應處理能力。當視覺障礙人士遇到需要識別紅綠燈等情況時,主控芯片的計算性能和處理能力將受到極大考驗。考慮到系統中存在眾多模塊,因此采用STM32F407ZGT6單片機作為控制中心,其主頻高達168 MHz,擁有多達140個具有中斷功能的I/O端口與眾多外設,可為系統提供強大的硬件支持。圖1所示為系統框架。

圖1 系統框架
當超聲波測距模塊測量到視覺障礙人士距離障礙物較近時,系統將自動語音播報提醒前方障礙物距離;若視覺障礙人士在夜間出行,背包系統將自動檢測環境光是否過低,若低于閾值,則開啟LED燈以警示行人及車輛;在過馬路時,背包上的攝像頭將自動識別交通燈的紅綠狀態并進行語音提醒;同時,系統會時刻監測視覺障礙人士的身體姿態,若發生摔倒則系統自動發送定位及提醒短信給家屬。系統根據各模塊發送的數據進行處理、分析、反饋,多角度輔助視覺障礙人士安全出行。
本文設計的多功能視覺障礙人士輔助出行背包不僅能夠隨身攜帶,還能有效解決視覺障礙人士出行不便的問題,社會效益、經濟效益俱佳。圖2為背包結構。

圖2 背包結構
超聲波測距功能采用HC-SR04超聲波傳感測距模塊實現。該模塊裝載有2個壓電陶瓷超聲傳感器,其中一個用于發射超聲波信號,另一個則用于接收反射回來的超聲波信號。將該模塊的Trig控制端和Echo接收端與單片機的I/O口相連,便可實現其與單片機間的通信。單片機通過計算發射與接收超聲波信號的時間差,進而計算出視覺障礙人士前進方向障礙物的距離[2]。圖3所示為HC-SR04超聲波傳感測距模塊電路接線圖。

圖3 HC-SR04超聲波傳感測距模塊電路接線圖
背包系統的紅綠燈識別功能采用OpenMV4攝像頭實現[3]。當視覺障礙人士獨自外出遇到人行道路口時,可通過背包上的攝像頭識別人行道交通燈顯示的紅綠狀態,進而通過語音播報提醒視覺障礙人士當前路口是否處于可通行狀態,從而輔助視覺障礙人士辨別路口的交通情況。
語音播報采用SYN6288語音合成模塊進行文本合成,然后通過喇叭播報。SYN6288內置智能文本分析處理算法,將單片機的串口與模塊串口相連實現兩者間的通信。單片機通過串口以命令幀的格式將文本數據發送給模塊,模塊進行文本合成,實現文本到語音之間的轉換[4],然后通過喇叭播報。圖4所示為SYN6288語音合成模塊電路接線圖。

圖4 SYN6288語音合成模塊電路接線圖
光強檢測采用GY-30光照強度模塊。該模塊內置ROHM-BH1750FLV芯片以及16位A/D轉換器[5],通過SDA和SCL端口對外提供I2C接口,單片機I/O口與其相連以實現I2C總線通信。模塊初始化后,讀取單片機發送的相應指令以及數據并處理,通過算法計算出光照強度,進而決定是否驅動LED燈照明。圖5所示為GY-30光照強度模塊電路接線圖。
監測視覺障礙人士身體姿態采用MPU9250姿態傳感器,該傳感器內部含有三軸加速度計、三軸陀螺儀及三軸磁力計,通過模塊中的數字運動處理器進行算法處理,輸出穩定的姿態角度,判斷視覺障礙人士身體是否向左傾、向右傾、向前傾或向后傾[6]。通過SDA和SCL端口對外提供I2C接口,單片機I/O口與其相連以實現I2C總線通信。圖6所示為MPU9250姿態傳感器電路接線圖。

圖6 MPU9250姿態傳感器電路接線圖
GSM+GPS功能的實現借助GSM/GPS模塊,該模塊工作頻段支持GSM/GPRS:900 MHz/1800 MHz。模塊通過AT指令控制,接口豐富,外圍電路集成度高[7]。只需將單片機串口與模塊串口相連,即可實現單片機與模塊間的通信。單片機向串口陸續發送相應功能的多條AT指令即可實現對模塊的控制,進而實現短信、語音通話和基站定位等功能。圖7所示為GSM/GPS模塊電路接線圖。

圖7 GSM/GPS模塊電路接線圖
HC-SR04超聲波傳感器在檢測到前方障礙物時,自動播報“前方有障礙物距離××米”。根據實際情況,設定HC-SR04超聲波傳感器的測距范圍為4 cm~4 m。該功能可為視力殘障人士提供行進道路上的障礙物信息,為視力殘障人士的安全出行提供保障。圖8所示為測距+播報提醒流程。

圖8 測距+播報提醒流程
通過OpenMV4攝像頭進行圖像識別,確定視覺障礙人士所在路口的交通燈位置,然后借助攝像頭進行顏色掃描,確定交通燈的顏色,接著將信息傳送到單片機處理,并語音播報提醒視覺障礙人士當前路口的紅綠燈狀態。圖9所示為紅綠燈識別+播報程序的實現流程。

圖9 紅綠燈識別+播報程序的實現流程
模擬I2C協議以實現單片機與光強模塊間的通信。單片機向傳感器內部發送通電指令以及連續分辨率模式指令,然后發送設備地址寫數據并等待接收應答信號ACK。傳感器一次測量完成后,發送地址數據并發送應答信號ACK,得到測量結果后[8]進行計算,單片機根據計算結果判斷是否發送信號驅動LED燈照明。圖10所示為光強檢測+照明程序流程。

圖10 光強檢測+照明程序流程
檢測視覺障礙人士的身體姿態,首先在MPU9250姿態傳感器初始化后,對視覺障礙人士的身體姿態進行檢測,利用三軸陀螺儀檢測在x、y、z三個軸向上的數據信息以及三軸磁力計測量的方位,結合加速度計實時測得各方位加速度,判斷是否在某一方向上加速度過高,若超過閾值,則表明視覺障礙人士出現跌倒狀態[9]。系統將自動觸發GSM通信向家屬發送視覺障礙人士所處定位及跌倒的提醒短信,從而有效保障視覺障礙人士的出行安全。圖11所示為身體姿態檢測+通信提醒實現流程。

圖11 身體姿態檢測+通信提醒實現流程
對于背包系統GSM通信功能的實現,單片機與GSM/GPS模塊均通過串口發送一系列AT指令實現控制。首先,通過設置AT指令將模塊的波特率設置為9 600 b/s,然后再向串口陸續發送相應多條AT指令,實現短信、語音通話和基站定位等功能[10]。圖12所示為GSM通信模塊運行流程。

圖12 GSM通信模塊運行流程
圖13為背包系統實物。本系統采用背包作為載體,將各功能模塊固定在背包的不同部位上,通過超聲波測距、光強檢測、GSM通信等測試,發現系統可穩定運行。圖14所示為背包光強檢測,當光強較低時,背包上的LED燈自動開啟,為視力殘障人士夜晚外出行走提供安全保障。家屬可通過Android Studio開發的手機APP發送短信至GSM模塊,查詢視覺障礙人士所處位置。圖15所示為手機APP定位測試圖。表1為檢測前方障礙物距離測試表,表2為時間播報測試表。

圖13 背包系統實物

圖14 背包光強檢測

圖15 手機APP定位測試圖

表1 檢測前方障礙物距離測試表

表2 時間播報測試表
保障弱勢群體安全是時代大勢所趨,而研發相關輔助性產品是其中的重要環節。本文介紹的研究基于AI圖像識別的視覺障礙人士背包實現了超聲波測距、語音提醒避障、環境光強檢測、紅綠燈識別并語音提醒、身體姿態檢測及定位通信等功能,經仿真及測試,該背包能夠達到預期目標,可有效輔助社會廣大視覺障礙人士出行。
本文介紹的方案在后續還可以繼續優化,優化方向大致如下:
(1)增加攝像頭,識別車流量及前方人物;
(2)增加語音導航提醒功能。