于 琳,湯唯業(yè),陳 聰,杜瑩旭
(西南科技大學(xué),四川 綿陽 621000)
中國是世界上盲人最多的國家,且盲人的數(shù)量以平均每年45 萬人的速度在增加,而且許多是因?yàn)橄忍煨赃z傳眼病造成的視力低下,其中包括許多14 歲以下的兒童盲人。而白內(nèi)障則是許多60 歲以上老年人成為盲人或視力低下的主要原因[1]。盲人群體數(shù)量的增加也讓盲人的交通出行安全以及盲人走丟事件逐漸成為不可忽視的問題。當(dāng)今城市建筑以及道路復(fù)雜程度提高致使盲人出行的危險性以及走丟事件發(fā)生的概率也大大上升。為提高盲人出行的安全性,幫助盲人在出行途中保護(hù)自身安全,同時降低盲人走丟事件的發(fā)生概率,而設(shè)計(jì)了此款導(dǎo)盲杖。
本設(shè)計(jì)以STM32 最小系統(tǒng)為核心控制單元,還包括超聲波模塊、MUP6050 摔倒檢測模塊、樹莓派圖像處理模塊、GPS 模塊、短信模塊、語音模塊、報(bào)警模塊、電源模塊以及按鍵。
STM32 單片機(jī)初始化各個模塊,同時設(shè)定超聲波模塊的距離閾值為60 cm。MPU6050 檢測系統(tǒng)的加速度,當(dāng)加速度大于1 g 并且傾斜角度大于正常角度時判斷按鍵是否按下,若沒按下,則系統(tǒng)蜂鳴器開始報(bào)警并發(fā)送短信給監(jiān)護(hù)者;同時超聲波模塊檢測前方是否有障礙物并語音提示;樹莓派通過與單片機(jī)串口通信初始化后調(diào)用攝像頭獲取道路圖像,通過圖像處理分析前方道路上是否存在障礙物,在檢測到障礙物后蜂鳴器會再次報(bào)警;GPS 模塊實(shí)時發(fā)送位置信息到監(jiān)護(hù)人手機(jī)端[2],設(shè)計(jì)總體結(jié)構(gòu)如圖1 所示。
圖1 設(shè)計(jì)總體結(jié)構(gòu)圖
主控芯片采用STM32 芯片。該芯片運(yùn)算能力強(qiáng)大且功能齊全,能夠驅(qū)動各個傳感器、發(fā)送控制信號以及接收傳感器檢測的信息,將接收和發(fā)送的信號進(jìn)行運(yùn)算處理,重復(fù)發(fā)送接收過程,進(jìn)而連接各個部分元器件,將功能綜合化。
人體摔倒是在一瞬間完成的,在這個過程中人的中心高度、行為速度、動作方向等都會發(fā)生快速變化,而在人體正常的活動中這些值也會發(fā)生改變。為了區(qū)別摔倒與正常行為,本設(shè)計(jì)利用閾值法進(jìn)行檢測,硬件上采用了MPU6050模塊。本設(shè)計(jì)從分析角度和加速度兩個量值的變化來進(jìn)一步判斷盲人的摔倒情況。
要對盲人進(jìn)行摔倒檢測,應(yīng)對人體的行為速度特征進(jìn)行分析和處理,人摔倒時一般是從站立狀態(tài)到跌坐或跌倒?fàn)顟B(tài),身體重心直線下墜或者向前、向后傾斜。因此引入人體加速度向量幅值SVM 來表征人體運(yùn)動的劇烈程度并建立空間人體坐標(biāo)系來模擬運(yùn)動情況。
調(diào)查可知,在正常直立情況下,人的身體與重心方向的傾角應(yīng)該小于60°;人平躺著時,傾角接近90°,因此將60°作為判斷人體摔倒的閾值。當(dāng)傳感器角度在60°~90°時,可判定該盲人90%是摔倒了[3]。
人體運(yùn)動的劇烈程度可由計(jì)算加速度幅度的特征值SVM 來表示,人體運(yùn)動越激烈其值將會越大,在動態(tài)坐標(biāo)系下考察SVM。其計(jì)算公式如下:
傾角計(jì)算原理為:當(dāng)人身體發(fā)生一定傾斜時,在人體空間建立的X、Y、Z軸的方向也會發(fā)生對應(yīng)的不同變化。重力加速度g分解為Y軸上的gY和Z軸上的gZ,g與gY的夾角∠b的余弦值求反余弦即得到∠b的值,即
經(jīng)過四元運(yùn)算得到歐拉角,取俯仰角。計(jì)算公式如下:
障礙預(yù)警主要是采用超聲波傳感器實(shí)時檢測與前方障礙物地距離,為了確保距離數(shù)值切合實(shí)際此處采用均值濾波法。一共進(jìn)行5 次測量并去掉最大值和最小值,最終取3 個數(shù)值的平均值,這樣可提高系統(tǒng)的穩(wěn)定性,當(dāng)距離小于所設(shè)定閾值時,IO 口電平由低變高,蜂鳴器響起提醒盲人前方危險注意安全[4]。
GPS 系統(tǒng)獲取盲人的地理位置信息,并通過讀取短信的方式將盲人的經(jīng)緯度位置發(fā)送給家屬手機(jī),使其手機(jī)上可以實(shí)時顯示盲人位置。移動端地圖顯示如圖2 所示。圖2 中五角星位置即表示盲人所在位置,當(dāng)發(fā)生突發(fā)情況時,醫(yī)護(hù)人員可快速準(zhǔn)確地確定盲人位置。
圖2 移動端地圖顯示
受樹莓派的資源限制,本設(shè)計(jì)的圖像處理不適合用過于復(fù)雜的神經(jīng)網(wǎng)絡(luò)算法等識別技術(shù)。本設(shè)計(jì)采用歸一化互相關(guān)算法(NCC)[5],該算法由使用者步長來確定。算法思想是:當(dāng)模板和源圖像像素相關(guān)性比較小時,采用大步長計(jì)算;當(dāng)模板和源圖像像素相關(guān)性比較大時,采用小步長計(jì)算(二者均自行設(shè)置比較對象參數(shù))。
該算法計(jì)算模板和原始圖像之間的關(guān)聯(lián)情況,通過比較二者在不同位置的標(biāo)準(zhǔn)關(guān)系來實(shí)現(xiàn)此算法。最佳匹配點(diǎn)的數(shù)學(xué)定義為:假設(shè)圖像S 的尺寸為M×M,模板T 大小為N×N,其中M>N,M、N的單位為像素。模板T 從(0,0)位置開始,模板T 在圖像S 上平移,子圖位置S(i,j)為模板覆蓋的位置,其中(i,j)為子圖左上角坐標(biāo)。R為歸一化相關(guān)系數(shù),R在(0,1)間變動,當(dāng)源圖像和某個子圖與模板完全一致時便可得到R的最大值1[6],計(jì)算公式如下所示:
盲道處于不同的路段,規(guī)格可能不盡相同,本設(shè)計(jì)的適應(yīng)性需要在這個方面有所提升。盲道最大的特點(diǎn)是其條狀的凸起,可以采用邊緣提取獲得關(guān)鍵參數(shù),從而減少匹配點(diǎn)的計(jì)算量,提高匹配速度。在本設(shè)計(jì)中提前對圖像進(jìn)行了平滑處理,并在邊緣提取之前去除一些噪聲。因此獲得了相對較少的邊緣點(diǎn)數(shù),有利于后續(xù)處理和識別。
正常情況下,SVM 值基本為16 400,即1 g 左右波動,當(dāng)人體加速晃動時,其安全加速度應(yīng)在12 000~22 000 之間變動,當(dāng)超出其閾值范圍并持續(xù)3 s 以上時便可進(jìn)行角度判定,若人體傾角大于60°,則判定盲人90%摔倒了,蜂鳴器報(bào)警并將以短信的方式將盲人位置發(fā)送到監(jiān)護(hù)人手機(jī)上。
為了與日?;顒有袨檫M(jìn)行區(qū)別,對該導(dǎo)盲杖做了多次不同的測試,其準(zhǔn)確率基本可以達(dá)到90%左右,具體數(shù)據(jù)如表1 所示。
表1 行為測試結(jié)果
為了在盲人出門摔倒時能及時通知家人并獲得救治,研發(fā)一種基于STM32 的摔倒障礙預(yù)警導(dǎo)盲杖,利用MPU6050檢測導(dǎo)盲杖實(shí)時角度,結(jié)合閾值判斷盲人當(dāng)前狀態(tài),結(jié)合超聲波傳感器以及樹莓派獲取當(dāng)前道路狀況并及時作出預(yù)警,并在摔倒等緊急情況下,將含有GPS 定位信息的短信通過GSM 模塊發(fā)送到監(jiān)護(hù)人手機(jī)端。經(jīng)過多次試驗(yàn)測試,證明該系統(tǒng)能夠有效檢測摔倒行為是否發(fā)生并在突發(fā)情況下能夠及時報(bào)警,效果較好,實(shí)用性較強(qiáng),可以投入市場。