陳威宇,朱 穎,鐘其麟,曾煥凱
(廣東工業(yè)大學華立學院,廣州 511325)
根據(jù)世界衛(wèi)生組織的數(shù)據(jù)顯示,截至2010年,中國的視力殘疾人數(shù)仍高達7 500萬,其中盲人數(shù)量達824萬,如何幫助盲人更像一個正常人去生活早已成為各界人士的思考問題。針對盲人的日常出行問題,目前最普遍解決方法就是使用盲杖,但這種方法仍然無法使盲人感知到超過盲杖長度以外的東西,在該距離以外未知因素,很有可能使盲人找不到正確的行走路線,甚至會對盲人造成安全問題,所以其具有一定的局限性。同時也有盲人在使用導盲犬作為輔助工具,這是一個很好的解決方案,但是訓練一條導盲犬耗時耗力,符合條件的犬類數(shù)量也不多,這使得該解決方案的費用高昂,無法被大量推廣使用。
導盲犬這個角色可以被不需要休息時間的、更加可靠的,同時也是更加安全的電子智能產(chǎn)品代替[1]。基于這個想法,本文設計制作了一款基于神經(jīng)網(wǎng)絡的智能盲人物體識別避障儀,能在成本低廉、結(jié)構(gòu)簡單和便于攜帶的情況下,幫助盲人獲取外界環(huán)境信息,滿足盲人的日常出行需求,回歸普通人生活。
該避障儀由STM32單片機、攝像頭、語音播報模塊、電子羅盤定位模塊4個部分構(gòu)成。攝像頭采集圖像數(shù)據(jù)傳輸給STM32單片機進行圖像處理在數(shù)據(jù)庫中進行匹配,運用電子羅盤定位模塊給特定物體提供精確3D位置和對盲人的運動方向進行實時測量,匹配到特定物體后,STM32驅(qū)動語音播報模塊進行語音提示,告知盲人某物體的位置,從而幫助了盲人的日常出行,達到了導盲的作用;避障儀的總體設計如圖1所示,需要解決的核心問題是:障礙物檢測等環(huán)境信息檢測、神經(jīng)網(wǎng)絡的數(shù)據(jù)集的建立、圖像信息處理及聲音映射,避障儀上的攝像頭模塊可以獲取盲人周圍的環(huán)境信息,Elman神經(jīng)網(wǎng)絡能夠建立并處理環(huán)境信息的數(shù)據(jù)集。
圖1 總體設計
該避障儀的主控采用STM32F745單片機,其體積小巧,方便嵌入避障儀中使用,串口豐富,能夠滿足控制避障儀中的語音播報模塊和電子羅盤等多個外設,其集成了ChromARTAccelerator?,該圖形加速器創(chuàng)建內(nèi)容的速度達到單獨使用內(nèi)核時的兩倍[2]。除了高效的2-D原始數(shù)據(jù)復制以外,Chrom-ART加速器還支持其他功能,比如圖像格式轉(zhuǎn)換或圖像混合(透明度混合)。這樣,Chrom-ART加速器就提高了圖形內(nèi)容創(chuàng)建速度,使得避障儀的反應更加迅速,也為其余程序節(jié)省了MCU內(nèi)核處理帶寬[3],經(jīng)測試,STM32F745單片機適合作為避障儀的主控板。
選擇一個合適的電源模塊對一個控制系統(tǒng)來說是十分重要的,經(jīng)過實踐,該產(chǎn)品決定使用microusb口進行供電,使用SPX3819M5穩(wěn)壓3.3 V電源模塊為單片機供電,SPX3819M5穩(wěn)壓降壓電源模塊原理圖如圖2所示。使用LM1117穩(wěn)壓3.3 V電源模塊為避障儀的各個模塊供電,LM1117穩(wěn)壓降壓電源模塊原理如圖3所示,外部電流的電壓經(jīng)過穩(wěn)壓降壓模塊能夠輸出避障儀內(nèi)部各個模塊的工作電壓,保證了避障儀的正常工作。
圖2 SPX3819M5穩(wěn)壓降壓電源模塊原理
圖3 LM1117穩(wěn)壓降壓電源模塊原理
電子羅盤是一種重要的導航工具,能實時提供移動物體的航向和姿態(tài),該避障儀采用LSM303DLH高精度三維電子羅盤,該電子羅盤擁有三維補償技術(shù),產(chǎn)品40°的傾斜角在一定程度上補償了在穩(wěn)定的磁環(huán)境下的磁偏差[4],雙度下仍然可以提供精確的航向數(shù)據(jù)。而且LSM303DLH里的復位電路給其帶來了很多區(qū)別與其他電子羅盤模塊的優(yōu)點,即使遇到外界強磁場的干擾,在干擾消失后LSM303DLH也能恢復正常工作而不需要用戶再次進行校正;即使長時間工作也能保持初始磁化方向?qū)崿F(xiàn)精確測量,不會因為芯片溫度變化或內(nèi)部噪聲增大而影響測量精度,除此之外還能消除由于溫漂引起的電橋偏差。軸傾角傳感器、三軸磁阻傳感器和MCU構(gòu)成一個三軸電子羅盤,雙傾角傳感器能夠?qū)Υ帕x在其非水平狀態(tài)下進行補償,三軸磁阻傳感器能夠測量地球的磁場大小以及方向,MCU可以處理傾角傳感器和磁力儀反饋回來的信號。傳感器產(chǎn)生的模擬信號經(jīng)過放大后傳輸?shù)組CU中進行處理,從而達到了對盲人的運動方向進行實時測量的功能,單片機按照一定的時間間隔來記錄盲人的運動方位,從而實現(xiàn)了盲人行走軌道的存儲功能[5]。也會給特定物體提高3D位置,大大提高了智能盲人儀的性能。電子羅盤模塊接口電路如圖4所示。
圖4 電子羅盤接口電路
該避障儀采用內(nèi)嵌了XFS5152CE芯片的TTS語音模塊,采用TTS技術(shù),使得攝像頭獲取的圖像信息通過主控板轉(zhuǎn)換成相應物體的文本,再經(jīng)過語音播報模塊轉(zhuǎn)換成語音,從而實現(xiàn)了文本轉(zhuǎn)換為語音。模塊內(nèi)部有多種提示音效,能夠適用于多種場合的信息提示和警報等功能[6]。該語音模塊能夠合成中英文文本,說明其對服務人群具有廣泛性,適用于避障儀的應用。
該避障儀采用OV5640攝像頭模塊,其擁有的500萬像素能夠滿足避障儀對于道路信息的獲取,攝像頭利用OmniBSI這一項技術(shù)使得其擁有高靈敏度、低噪聲和低串擾等高性能,還有自動白平衡、自動曝光等自動圖像控制算法[7],以上技術(shù)能夠排除一些外部因素(光線、陰影)對攝像頭識別度的干擾,大大提高了避障儀對障礙物的識別率,使得避障儀識別到的物體更加清晰和準確;通過鏡頭生成的光學圖像把攝像頭看到的畫面投射到感光傳感器上從而被轉(zhuǎn)化為模擬信號,經(jīng)過模數(shù)轉(zhuǎn)換器變成數(shù)字圖像信號,接著經(jīng)過圖像處理器傳輸?shù)街骺叵到y(tǒng)的存儲器中,攝像頭就可以把獲取的畫面?zhèn)鬏數(shù)街骺匕逯校詈笸ㄟ^主控板中特定的程序輸出圖像畫面中障礙物的文本,經(jīng)過語音播報模塊轉(zhuǎn)化為聲音信號傳達給盲人,從而達到引導盲人日常出行的作用[8]。
Elman神經(jīng)網(wǎng)絡是一個具有局部記憶單元和局部反饋連接的遞歸神經(jīng)網(wǎng)絡,其由輸入輸出層、承接層以及隱含層組成,Elman神經(jīng)網(wǎng)絡適應時變特性,有短期記憶功能,能夠內(nèi)部反饋、存儲和利用過去時刻輸出信息,因此能夠記錄盲人的行走路線以及方位,適合應用于避障儀。它的記憶功能的原理是承接層存儲前一時刻隱層神經(jīng)元的輸出值,然后承接層將前一時刻的隱層神經(jīng)元的輸出值返回給隱含層的輸入,不僅有對于動態(tài)信息較強的處理、計算能力,還增強了網(wǎng)絡的全局穩(wěn)定性,因此適合應用在快速尋優(yōu)以及時間序列預測的問題上。通過一些學術(shù)理論和實驗結(jié)果表明,網(wǎng)絡本身拓撲結(jié)構(gòu)能夠限制神經(jīng)網(wǎng)絡的泛化能力,所以運用一種優(yōu)化的Elman-IOC神經(jīng)網(wǎng)絡,若想實現(xiàn)增強網(wǎng)絡并行信息處理的能力,則要將輸入-輸出層連接到Elman神經(jīng)網(wǎng)絡中,Elman-IOC神經(jīng)網(wǎng)絡結(jié)構(gòu)如圖5所示。
圖5 Elman-IOC神經(jīng)網(wǎng)絡結(jié)構(gòu)
數(shù)學模型如下:
式中:U(f)為網(wǎng)絡輸入;Xc(t)為承接層輸出;X(t)為隱含層輸出;Y(t)為網(wǎng)絡輸出[9]。
誤差反向傳播算法是神經(jīng)網(wǎng)絡中訓練的重要一環(huán),其能修正網(wǎng)絡中各個參數(shù),從而達到減小誤差的作用,使得訓練結(jié)果更加準確,當誤差函數(shù)收斂到提前設定的誤差精度的時候,說明訓練結(jié)束,Elman神經(jīng)網(wǎng)絡算法流程如圖6所示。
圖6 Elman神經(jīng)網(wǎng)絡算法流程
神經(jīng)網(wǎng)絡可以進行一些基本物體的識別以及笑臉檢測、數(shù)字識別等。神經(jīng)網(wǎng)絡數(shù)據(jù)集Cifar10可用于普適物體識別,可以分辨10種不同的物體,比如:其可以分辨飛機、船、汽車、鳥、貓、狗、杯子等。神經(jīng)網(wǎng)絡數(shù)據(jù)集能識別遷移普通的適物體,并且能夠應用于多分類中(一個子類數(shù)據(jù)集Cifar100可以達到100類)。神經(jīng)網(wǎng)絡的訓練,例如Cifar10,是由6萬張32×32的RGB彩圖構(gòu)成的,它共有10種分類,還有用于交叉驗證的5萬張的訓練以及1萬張的測試。構(gòu)建并訓練Elman神經(jīng)網(wǎng)絡是其應用于避障儀的重要環(huán)節(jié),其具體步驟如圖7所示,首先應該采集數(shù)據(jù)集,生成序列數(shù)據(jù),然后建立波形數(shù)據(jù)集,接著構(gòu)建并訓練模型并用訓練好的模型預測新樣本,最后比較得到的結(jié)果和預測值之間的差異。
圖7 構(gòu)建并訓練Elman神經(jīng)網(wǎng)絡步驟
智能盲人物體識別與避障儀由STM32單片機、攝像頭、語音播報模塊、電子羅盤定位模塊構(gòu)成。該避障儀體積小巧,攜帶方便,滿足盲人的日常出行。STM32單片機在攝像頭采集的圖像中通過算法可以對物體進行識別,準確知道物體的方位。以STM32為主芯片,在圖像識別上運用神經(jīng)網(wǎng)絡的數(shù)據(jù)集來識別物體并采用特征點檢測實現(xiàn)避障。采用電子羅盤定位模塊確認障礙物方位的效果和對盲人的運動方向進行實時測量,從而達到了對盲人出行的避障效果,讓其能夠獨立出行。避障儀可以被廣泛應用于眼睛患有疾病或遭遇意外事故而導致失明的人當中,符合現(xiàn)代化、智能化生活的理念,可以作為盲人智能健康生活邁出第一步。避障儀大大方便了盲人的生活和減少他們的心理問題,不僅解決了自己的一些生活問題還為社會減少一份壓力。該避障儀具有較高的投入產(chǎn)出比,而且市場針對性強,適用性好,有著較大的應用價值和發(fā)展前景[10]。