史雅莉 蓋康豪 張?chǎng)卫?孫鎮(zhèn)坤 肖春寶
摘? 要:針對(duì)現(xiàn)有導(dǎo)盲設(shè)備無(wú)法提供全面的導(dǎo)航及避障服務(wù)的問(wèn)題,設(shè)計(jì)一種基于MaixPy與YOLOv5模型的可穿戴導(dǎo)盲儀。以Maixduino作為MCU終端設(shè)備,采用OpenCV與YOLOv5模型來(lái)識(shí)別盲道與障礙物的種類(lèi),利用百度API實(shí)現(xiàn)路徑規(guī)劃與語(yǔ)音識(shí)別。該導(dǎo)盲儀具有路徑規(guī)劃、盲道識(shí)別、障礙物及危險(xiǎn)路況智能檢測(cè)和語(yǔ)音播報(bào)功能,能夠?yàn)槿跻暼后w提供安全可靠的出行服務(wù)。
關(guān)鍵詞:導(dǎo)盲儀;盲道識(shí)別;障礙物檢測(cè);路徑規(guī)劃
中圖分類(lèi)號(hào):TP242.6? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):2096-4706(2022)04-0185-04
Design of Blind Guide Instrument Based on MaixPy and YOLOv5 Model
SHI Yali, GAI Kanghao, ZHANG Xinli, SUN Zhenkun, XIAO Chunbao
(College of Information Engineering, Henan University of Science and Technology, Luoyang? 471023, China)
Abstract: Aiming at the problem that the existing blind guide equipment can not provide comprehensive navigation and obstacle avoidance services, a wearable blind guide instrument based on MaixPy and YOLOv5 model is designed. Taking Maixduino as MCU terminal equipment, OpenCVand YOLOv5 model are used to identify the types of blind roads and obstacles, and Baidu API is used to realize path planning and speech recognition. The blind guide instrument has the functions of path planning, blind road recognition, intelligent detection of obstacles and dangerous road conditions and voice broadcasting, and can provide safe and reliable travel services for amblyopia group.
Keywords: blind guide instrument; blind road recognition; obstacle detection; path planning
0? 引? 言
目前,我國(guó)視障人數(shù)已超過(guò)1 730萬(wàn),占全球視障人數(shù)的21%以上,并且該數(shù)據(jù)仍在上升。視障人士出行主要靠盲道來(lái)指引路線,但是很多地方的盲道存在不同程度的占用,這給視障群體的出行帶來(lái)極大的安全隱患。此外,現(xiàn)有的導(dǎo)盲設(shè)備功能單一,不能為盲人等弱視群體的出行提供智能的方向、路線規(guī)劃引導(dǎo),不能給出移動(dòng)障礙物的識(shí)別提示與避障預(yù)警。所以現(xiàn)有的導(dǎo)盲設(shè)備亟待改進(jìn)。
針對(duì)盲人等弱視群體出行問(wèn)題,將計(jì)算機(jī)視覺(jué)、語(yǔ)音識(shí)別、機(jī)器學(xué)習(xí)、物聯(lián)網(wǎng)等技術(shù)相融合,設(shè)計(jì)出一種可穿戴的導(dǎo)盲設(shè)備,能提供盲道指引、路徑規(guī)劃與導(dǎo)航、危險(xiǎn)提示、空間信息反饋等功能,為盲人等弱視群體的出行提供極大的便利。
1? 盲人智能導(dǎo)航系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
1.1? 工作原理
智能導(dǎo)盲儀終端設(shè)備通過(guò)ESP32的Wi-Fi功能接入互聯(lián)網(wǎng),利用GPS模塊獲取盲人所在位置的經(jīng)緯度信息。用戶(hù)使用時(shí)首先通過(guò)語(yǔ)音喚醒功能將該系統(tǒng)喚醒,說(shuō)出其需要到達(dá)的目的地,終端設(shè)備將經(jīng)過(guò)編碼的音頻流與GPS位置信息通過(guò)網(wǎng)絡(luò)傳輸至云服務(wù)器的線上語(yǔ)音識(shí)別與地圖服務(wù)接口,該接口將優(yōu)選的路徑規(guī)劃結(jié)果返回至智能導(dǎo)盲儀終端,并通過(guò)語(yǔ)音播報(bào)的方式對(duì)用戶(hù)的行走路徑給出提示。
在盲人行進(jìn)過(guò)程中,智能導(dǎo)盲儀將實(shí)時(shí)采集到的圖像上傳至云服務(wù)器的YOLOv5模型接口,該模型對(duì)圖像中的盲道和障礙物等目標(biāo)進(jìn)行檢測(cè),并建立相關(guān)的數(shù)學(xué)模型對(duì)障礙物的危險(xiǎn)等級(jí)進(jìn)行劃分,從而適時(shí)地給出避障提示。為保證圖像采集精準(zhǔn),導(dǎo)航設(shè)備中加載了角度調(diào)節(jié)裝置,在為導(dǎo)盲儀設(shè)置一個(gè)合理的工作角度之后,其內(nèi)部的小舵機(jī)可利用PID算法使攝像頭工作在最佳位置。
1.2? 總體設(shè)計(jì)
智能導(dǎo)盲儀的技術(shù)核心MCU采用Maixduino,該單片機(jī)內(nèi)置ESP32的Wi-Fi功能可將設(shè)備接入互聯(lián)網(wǎng),采用攝像頭模塊實(shí)時(shí)獲取用戶(hù)的周?chē)h(huán)境信息,利用OpenCV與YOLOv5模型識(shí)別盲道與障礙物的種類(lèi),并通過(guò)陀螺儀姿態(tài)傳感器得到用戶(hù)當(dāng)前的朝向,由語(yǔ)音交互模塊收集用戶(hù)的語(yǔ)音并將編碼后的信息傳輸?shù)皆贫说恼Z(yǔ)音識(shí)別接口,通過(guò)GPS模塊獲取用戶(hù)所在位置的經(jīng)緯度信息。云端服務(wù)器使用YOLOv5模型對(duì)圖像進(jìn)行多目標(biāo)檢測(cè),利用百度API實(shí)現(xiàn)路徑規(guī)劃與語(yǔ)音識(shí)別,通過(guò)后端數(shù)據(jù)庫(kù)記錄數(shù)據(jù)并借助機(jī)器學(xué)習(xí)算法分析用戶(hù)的歷史數(shù)據(jù),從而進(jìn)行路線的優(yōu)先推薦。圖1為總體方案設(shè)計(jì)圖。
2? 系統(tǒng)設(shè)計(jì)
2.1? 中央處理單元
Sipeed提供的Maixduino處理器集成了擁有強(qiáng)大算力的K210單片機(jī)與具備網(wǎng)絡(luò)通信能力的ESP32單微控制器。K210單片機(jī)和ESP32單微控制器分別裝載MaixPy固件與Wi-Fi固件,二者均支持二次開(kāi)發(fā),是一種十分適合AIoT邊緣計(jì)算的解決方案。該中央處理單元負(fù)責(zé)傳感器數(shù)據(jù)的采集與反饋控制,在模型無(wú)法處理或算法復(fù)雜計(jì)算用時(shí)較長(zhǎng)的情況下,通過(guò)ESP32的Wi-Fi功能將數(shù)據(jù)轉(zhuǎn)交至云端進(jìn)行處理并返回相應(yīng)的處理結(jié)果。
2.2? 路況數(shù)據(jù)采集單元
路況數(shù)據(jù)采集單元部分的傳感器主要包括攝像頭傳感器OV5640、帶有陶瓷天線的GPS模塊、九軸姿態(tài)傳感器和小舵機(jī),攝像頭不斷采集路況信息并實(shí)時(shí)將信息轉(zhuǎn)交處理器處理。采用中科微芯片AT6558D的GPS模塊可以準(zhǔn)確獲取用戶(hù)所在位置的經(jīng)緯度信息并將其作為路徑規(guī)劃API的請(qǐng)求參數(shù),姿態(tài)傳感器JY-901可以獲取用戶(hù)當(dāng)前的朝向信息與產(chǎn)品的佩戴角度,其中朝向信息可以作為判斷用戶(hù)行進(jìn)路線正確與否的依據(jù),產(chǎn)品的佩戴角度結(jié)合PID算法控制下舵機(jī)可以使設(shè)備始終保持在最佳采集角度。
2.3? 網(wǎng)絡(luò)信息單元
借助ESP32強(qiáng)大的Wi-Fi通信能力,處理單元可以將難以處理的信息轉(zhuǎn)交至云端進(jìn)行處理。在云端視覺(jué)部分調(diào)用已經(jīng)訓(xùn)練完畢的YOLOv5多目標(biāo)檢測(cè)模型,該模型既可以實(shí)現(xiàn)對(duì)障礙物的識(shí)別,也可以實(shí)現(xiàn)對(duì)障礙物的距離測(cè)量與方位感知,將處理后的信息轉(zhuǎn)交處理器便可直接進(jìn)行播報(bào)提示。
2.4? 用戶(hù)交互單元
用戶(hù)交互單元主要包括麥克風(fēng)陣列以及語(yǔ)音播報(bào)模塊,實(shí)現(xiàn)語(yǔ)音信號(hào)與數(shù)字模擬信號(hào)的相互轉(zhuǎn)化,提供與用戶(hù)交互的功能。
3? 實(shí)驗(yàn)
3.1? GPS定位測(cè)試
ATK-NEO-6M-GPS定位模塊采用串口通信(UART)的方式傳輸信息,采用NMEA-0183協(xié)議定位數(shù)據(jù)。利用百度地圖坐標(biāo)轉(zhuǎn)化API將獲取到的GPS系統(tǒng)使用的坐標(biāo)系轉(zhuǎn)換為百度坐標(biāo)系(BD09),分別在動(dòng)態(tài)與靜態(tài)兩種狀況下分析同一地點(diǎn)的經(jīng)緯度結(jié)果與可見(jiàn)衛(wèi)星數(shù),實(shí)驗(yàn)結(jié)果如表1所示。
根據(jù)GPS定位模塊返回的信息,在弱視群體合理步速下測(cè)量的經(jīng)緯度結(jié)果,與靜態(tài)經(jīng)緯度相差很小,經(jīng)度最大差異為0.000 198,緯度最大差異為0.000 219 7,在陰天測(cè)試中可見(jiàn)衛(wèi)星數(shù)在5~7個(gè)之間,在現(xiàn)實(shí)距離中最大差異在6米之內(nèi),該誤差幅度滿(mǎn)足實(shí)際研究要求,可以很好地輔助路徑規(guī)劃。
3.2? 語(yǔ)音識(shí)別測(cè)試
在用戶(hù)與導(dǎo)航儀的語(yǔ)音交互模塊中,利用智能導(dǎo)盲儀的終端進(jìn)行音頻的采集與播放,利用百度AI平臺(tái)提供的語(yǔ)音識(shí)別模型接口進(jìn)行實(shí)時(shí)語(yǔ)音識(shí)別。為保證音頻流的實(shí)時(shí)識(shí)別效果,使用了基于PCM編碼的音頻片段,采樣率為16 000,采樣位數(shù)為16 bits,單聲道,小端序。音頻采樣數(shù)據(jù)與部分識(shí)別數(shù)據(jù)如表2所示。
3.3? 路徑規(guī)劃測(cè)試
調(diào)用百度地圖的輕量路徑規(guī)劃API,將語(yǔ)音識(shí)別到的目標(biāo)地點(diǎn)與GPS所獲取的經(jīng)緯度作為API接口的輸入?yún)?shù),返回路徑規(guī)劃的最佳路線,并在用戶(hù)的行進(jìn)路線偏離正確路線時(shí)利用軌跡糾偏機(jī)制提供當(dāng)前及下一導(dǎo)航地點(diǎn)的信息,通過(guò)語(yǔ)音模塊播報(bào)出來(lái)。表3為洛陽(yáng)上海市場(chǎng)到河南科技大學(xué)西苑校區(qū)的百度地圖輕量級(jí)路徑規(guī)劃API返回結(jié)果。
根據(jù)測(cè)試數(shù)據(jù),起始地點(diǎn)距離目標(biāo)地點(diǎn)1.6 km,正常步行需要23分鐘,在路線的各個(gè)節(jié)點(diǎn)處提示轉(zhuǎn)向及行進(jìn)距離。將測(cè)試數(shù)據(jù)與實(shí)際數(shù)據(jù)做比較,結(jié)果較為理想,利用百度地圖的可視化工具,繪制出相應(yīng)地點(diǎn)與路線圖,如圖2所示。
3.4? 盲道和障礙物檢測(cè)測(cè)試
為了能夠在盲人行進(jìn)過(guò)程中為其提供更加豐富準(zhǔn)確的路況信息,使用多目標(biāo)檢測(cè)算法Yolov5模型,首先針對(duì)盲道與危險(xiǎn)路況(坑洼、裂縫、臺(tái)階等),在roboflow平臺(tái)上制作相應(yīng)的數(shù)據(jù)集,標(biāo)注完成后將數(shù)據(jù)集按照7:2:1的比例劃分為訓(xùn)練集、驗(yàn)證集、測(cè)試集,圖像大小設(shè)置為416×416,數(shù)據(jù)批次大小為16,優(yōu)化器模型采用Adam,其余超參數(shù)使用Yolov5模型默認(rèn)參數(shù),預(yù)訓(xùn)練模型使用Yolov5s.pt,對(duì)數(shù)據(jù)進(jìn)行120輪次訓(xùn)練。圖3為模型檢測(cè)結(jié)果。
為了衡量障礙物在盲人行進(jìn)過(guò)程中對(duì)盲人造成的危險(xiǎn)程度,建立了一個(gè)基于危險(xiǎn)程序因子的數(shù)學(xué)模型。將障礙物相對(duì)用戶(hù)的方位、距離、大小作為指標(biāo)因素,通過(guò)層次分析法判斷矩陣的構(gòu)造得到各項(xiàng)指標(biāo)的權(quán)值。判斷矩陣如表4所示,歸一化后矩陣如表5所示。
其中各項(xiàng)的數(shù)據(jù)按列歸一化得到:
對(duì)指標(biāo)因素計(jì)算平均值得出權(quán)值,結(jié)果如表6所示。
通過(guò)查表RI=0.52,得到,結(jié)果為0.08<0.1,通過(guò)一致性檢驗(yàn),即所計(jì)算的各指標(biāo)權(quán)重值合理。
將方位、距離、大小依次標(biāo)記為pos、ds、size,并將Yolov5模型檢測(cè)返回的結(jié)果進(jìn)行坐標(biāo)變化以便于分析。
(5)
其中,x,y為模型返回的直接坐標(biāo),w,h為檢測(cè)框的寬度與長(zhǎng)度。分別計(jì)算障礙物的方位、距離、大小的標(biāo)準(zhǔn)量化指標(biāo)。
(6)
建立危險(xiǎn)因子模型:
risk=-0.104 · pos+0.231 · ds+0.665 · size(7)
圖3(a)中三輪車(chē)的危險(xiǎn)因子數(shù)值為0.276 1,以該值為閾值,危險(xiǎn)因子大于等于該閾值的檢測(cè)目標(biāo)評(píng)定為危險(xiǎn)等級(jí)1,反之則評(píng)定為危險(xiǎn)等級(jí)2。圖3(a)的障礙物信息統(tǒng)計(jì)如表7所示。
危險(xiǎn)等級(jí)1表示該障礙物對(duì)盲人的威脅程度較大,可以提醒盲人注意繞行,危險(xiǎn)等級(jí)2則表示該障礙物對(duì)盲人的威脅程度較小,提示盲人提高警惕即可。
4? 結(jié)? 論
盲人出行問(wèn)題是一個(gè)值得關(guān)注的社會(huì)問(wèn)題。本文研究的可穿戴智能導(dǎo)盲儀將導(dǎo)航技術(shù)、計(jì)算機(jī)視覺(jué)和人工智能等技術(shù)相結(jié)合,一定程度上解決了弱視群體出行難的問(wèn)題。這款導(dǎo)盲儀穿戴方便,具有路徑規(guī)劃、全程語(yǔ)音播報(bào)等人性化功能,可以很好地解決弱視群體的出行問(wèn)題,為其生活帶來(lái)便利,具有廣闊的發(fā)展空間。
參考文獻(xiàn):
[1] 羅大鵬,杜國(guó)慶,曾志鵬,等.基于少量樣本學(xué)習(xí)的多目標(biāo)檢測(cè)跟蹤方法 [J].電子學(xué)報(bào),2021,49(1):183-191.
[2] 李嘉明,馮建,徐操喜.基于ESP32的室內(nèi)CO報(bào)警系統(tǒng) [J].廣東交通職業(yè)技術(shù)學(xué)院學(xué)報(bào),2021,20(2):47-19+70.
[3] 曾干敏,唐文琦,明蕊.淺析無(wú)人機(jī)自主避障技術(shù) [J].科技風(fēng),2019(12):74.
[4] 吳文鑫,李志遠(yuǎn),陳逸凡,等.一種物聯(lián)網(wǎng)盲人智能導(dǎo)航系統(tǒng)設(shè)計(jì) J].裝備制造技術(shù),2021(7):139-141+162.
[5] 何騰鵬,張榮芬,劉超,等.基于機(jī)器視覺(jué)的智能導(dǎo)盲眼鏡設(shè)計(jì) [J].電子技術(shù)應(yīng)用,2017,43(4):58-61.
[6] 王政博,唐勇,陳國(guó)棟,等.基于機(jī)器視覺(jué)的智能導(dǎo)盲機(jī)器人系統(tǒng)設(shè)計(jì) [J].河北水利電力學(xué)院學(xué)報(bào),2021,31(4):17-22+54.
[7] 方梓鋒,張鋒.基于K210和YOLOv2的智能垃圾分類(lèi)平臺(tái) [J].自動(dòng)化與儀表,2021,36(8):102-106.
作者簡(jiǎn)介:史雅莉(2000—),女,漢族,河南商丘人,本科在讀,研究方向:機(jī)器視覺(jué)、智能電子產(chǎn)品設(shè)計(jì)。