李文龍 王彬


摘要:盲人數量不斷增加,因為視力問題,盲人在生活和出行中遇到了很大困難,為此我們設計了一款盲人智能拐杖,具有障礙物距離測定,拍照,物體識別,GPS定位線路規劃等功能,基于wukong-robot實現了語音控制,語音播報的功能,本文設計的盲人智能拐杖,可應用于盲人朋友的日常生活出行之中,市場前景良好。
關鍵詞:盲人拐杖;語音控制;樹莓派3B;障礙物測距;物體識別
中圖分類號:TP399? ? 文獻標識碼:A
文章編號:1009-3044(2019)24-0203-02
開放科學(資源服務)標識碼(OSID):
A Smart Cane for the Blind Based on the Raspberry Pie 3B
LI Wen-long, WANG Bin
(School of Computer Science and Engineering, Xian University of Technology, Xian 710048, China)
Abstract: the number of blind people continues to increase, because of vision problems, blind people in life and travel encountered great difficulties, so we designed a blind intelligent crutch, with obstacles distance measurement, photography, object recognition, GPS positioning line planning and other functions, based on wukong-robot to achieve voice control, voice broadcast function, the design of intelligent crutch for blind people, can be used in the daily life of blind friends travel, the market prospects are good.
Key words: blind person crutch; voice control; raspberry pie 3B; obstacle ranging; object recognition
1 前言
隨著社會經濟和科技的發展,人們越來越追求高質量的生活,然而有一部分人——盲人朋友,仍然把自己關在家中,逐步與社會脫節。據世界衛生組織統計,2010年中國盲人數量為824.8萬,據估計,目前的盲人數量可能超過1300萬,因為視覺障礙,盲人的生活出行充滿了困難,無法看見生活中的物體,出行時不清楚自身位置容易迷路,還可能撞到障礙物。
目前主流的智能拐杖功能較單一,僅有簡單的障礙物震動提示功能,其優勢是制作簡單,成本低廉,但盲人不知道前方障礙物的距離,不能做出最佳判斷,因為缺少定位功能,盲人仍會有迷路的苦惱。
為了解決盲人朋友的生活出行問題,基于樹莓派3B,我們設計了一款智能拐杖,可以動態探測前方障礙物并語音播報障礙物的距離,可以播報盲人所處的位置,讓盲人擺脫迷路的苦惱,還可以播報拍攝到的物體,讓盲人也能“看見”世界,語音控制拐杖,非常便捷,具有廣闊的市場應用前景。
2 系統的硬件設計
本系統采用樹莓派3B為核心控制器,GPS傳感器,麥克風通過USB接口與樹莓派相連接,相機通過CSI接口與樹莓派相連接,耳機通過3.5mm接口與樹莓派相連接,超聲波傳感器有四個引腳,超聲波傳感器的VCC,GND,TRIG,ECHO引腳分別與樹莓派的5v,GND,GPIO14,GPIO4相連。
2 系統的軟件設計
系統主要分為四大模塊,語音助手模塊,拍照識別模塊,定位線路規劃模塊,超聲波測距模塊,主要執行流程如下圖。
2.1 語音助手模塊
主流的開源語音助手都是基于Jasper改進的,本項目采用的語音助手開源項目wukong-robot,離線喚醒引擎采用的是Snowboy離線引擎,錄制三段喚醒詞音頻,即可在Snowboy官網訓練自己的喚醒詞聲學模型,當語音助手被喚醒后,會錄制一段定長的音頻,通過百度的STT引擎將語音轉為文本,對文本進行技能匹配,判斷文本是否包含已注冊的模塊關鍵字中, 如包含則由關鍵字對應模塊進行處理,若不包含,則進入圖靈機器人處理,對于處理得到的文字結果,通過百度的TTS引擎轉為語音,對執行結果進行播報。
2.2 拍照識別模塊
在設置中啟用樹莓派相機后,通過rasistill命令可以拍攝照片,對于照片的識別,采用的是已經訓練好的inception v3網絡,inception v3將物體分成了1000類,下載的模型包含有兩個文件,classify_image_graph_def.pb和imagenet_2012_challenge_label_map_proto.pbtxt
我們需要將兩個文件中的target_class與分類得到的結果做映射,使用tensorflow框架,創建圖,啟動圖,最終得到的結果需轉為1維數據,截取概率最大的結果通過有道翻譯,翻譯為中文,最終通過調用語音助手的say函數語音播報識別的結果。
2.3 超聲波測距模塊
給TRIG引腳一個超過10us的高電平,模塊會自動發出8個40KHZ的脈沖,此時只需檢測ECHO引腳高電平的時間,其高電平持續的時間即為超聲波在空氣中傳輸遇到障礙物的往返時間,根據聲速,傳播時間即可計算出障礙物距離,通過調用語音助手的say函數播報障礙物距離,因為超聲波測距需要循環執行,可采用多線程的執行方案,一個線程循環執行測距模塊,一個線程監聽是否用戶說出了“退出”,若監聽到退出則退出測距模塊,否則一直執行測距。
2.4 定位線路規劃
先從GPS芯片中獲取經緯度信息,將GPS經緯度通過百度地圖坐標轉換服務轉為百度坐標系下的坐標,再通過百度地圖逆地理編碼服務將經緯度信息轉換為位置信息,通過調用語音助手的Say函數語音播報所在位置。對于線路規劃,需要獲知起始點的經緯度,默認采用拐杖所在地經緯度,終點的位置由用戶語音輸入,通過百度地圖的地理編碼服務轉換為經緯度,最終通過百度地圖的路線規劃服務實現簡單的線路規劃。
3 結束語
本文基于樹莓派3B設計了一款盲人智能拐杖,基于wukong-robot來實現語音控制,語音播報,具有障礙物距離測定,拍照,照片識別,GPS定位線路規劃等功能,但仍有較大改進空間,由于硬件的限制,麥克風錄制的音頻音質相對較差,有電流噪聲,不利于語音助手的喚醒,可采用降噪算法,減少噪聲。另外可以設計服務器和移動端程序,服務器程序實時接收拐杖的位置信息并發送到移動端。讓盲人的子女可以清楚知道父母的位置。
參考文獻:
[1] Tariq Rashid.Python神經網絡編程[M]. 北京:人民郵電出版社,2018:89.
[2] 黃文堅,唐源.TensorFlow實戰[M]. 北京:電子工業出版社,2017:119.
[3] 劉勝金,楊溢凡,張雨婕,等.基于樹莓派的智能小車系統[J].電腦知識與技術,2019(19):158.
[4] 徐國保,洪展文,葉昌鑫,等.基于樹莓派的智能鏡子的研究與開發[J].電子技術與軟件工程,2019(12):58.
[5] 張俊,李鑫.TensorFlow平臺下的手寫字符識別[J].電腦知識與技術,2016(12):199.
【通聯編輯:梁書】