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