




收稿日期:2023-04-28
基金項目:國家級大學生創新訓練計劃項目(202110537027)
DOI:10.19850/j.cnki.2096-4706.2023.21.024
摘" 要:當前我國盲人數量超1 700萬,而對盲道場景進行實時檢測是確保盲人出行安全的重要前提。文章針對目前盲人出行的實際場景,采用基于邊緣計算的YOLOv3算法,實現對盲道場景的實時識別。首先,引入了邊緣計算模型保證盲道數據處理的實時性;然后,采用YOLOv3算法對盲道障礙物進行檢測,通過進行數據增強來提高算法對盲道障礙物的檢測性能;最后將YOLOv3部署在邊緣計算設備上進行訓練,通過GPU的并行計算來提高算法的實時檢測效果;實驗結果表明,該方法在盲道場景識別的檢測效率上相比于傳統的盲道識別方法有著大幅度的提升,經實際應用可滿足盲人出行的導航需求。
關鍵詞:YOLOv3;邊緣計算;盲道識別;數據增強
中圖分類號:TP391.4" 文獻標識碼:A" 文章編號:2096-4706(2023)21-0102-04
Blind Road Recognition Method Based on Edge Computing and YOLOv3
JIA Cunnan, LIU Xinchun, LI Yunjun, CHEN Gang
(College of Information and Intelligence, Hunan Agricultural University, Changsha" 410128, China)
Abstract: At present, there are more than 17 million blind people in China, and real-time detection of blind road scenes is an important prerequisite to ensure the safety of blind people. Aiming at the actual scene of the blind travel, this paper uses the YOLOv3 algorithm based on Edge Computing to realize the real-time recognition of blind road scenes. Firstly, the Edge Computing model is introduced to ensure the real-time performance of blind road data processing. Then, YOLOv3 algorithm is used to detect blind road obstacles, and data enhancement is performed to improve the detection performance of the algorithm for blind road obstacles. Finally, YOLOv3 is deployed on Edge Computing devices for training, and the real-time detection effect of the algorithm is improved by GPU parallel computing. The experimental results show that the detection efficiency of blind road scene recognition of the method is greatly improved compared with the traditional blind road recognition method, and the practical application can meet the navigation needs of the blind travel.
Keywords: YOLOv3; Edge Computing; blind road recognition; data enhancement
0" 引" 言
我國是全世界盲人數量最多的國家,中國盲人協會的統計數據顯示,我國視障人數目前已達1 731萬人[1]。由于道路不規范、盲道被占用等多種原因,使得傳統的導盲設備無法有效地對盲人出行進行精確導航,近年來國內外許多專家和學者對新型導盲工具進行了廣泛深入的研究。當前的電子導盲方案主要分為自主式導盲器和引導式導盲器。自主式導盲器的共同點是利用傳感器對路況信息進行檢測,從而幫助視障人士對路況情況進行判斷;而引導式導盲器會裝備GPS芯片進行實時導航,它可以實現對路線的記憶功能,引導視障人士完成出行計劃。美國威斯康星州Wicab公司研究出一款名為BrainPort V100的導盲設備,它通過攝像頭捕捉圖像,并且能通過裝備在攝像頭機上的電極器械將圖像信息轉換為電脈沖,通過電極傳遞到用戶的舌頭上。經過系統的訓練,用戶可以通過信號的傳遞與變化信息來確定障礙物的大小、位置和形狀。但是該設備的成本較高,無法在視障人群中得到推廣。在2011年的時候,日本通信大學制造了第三代機器導盲犬NR003,該導盲犬使用了3D體感攝影機Kinect,通過實時動態捕捉和陰影識別來感知前方路況。但這些設備的體積過大、反應較遲鈍,所以沒得到廣泛應用。
隨著計算機技術的不斷發展與信息化時代數據的飛速增長,基于深度學習的圖像處理模型被提出。其中目前被廣泛使用的為YOLO系列算法,在2020年,Redmon [2]提出的YOLOv3算法在識別精度與速度得到了較好的均衡,文獻[3]中使用YOLOv3算法進行盲道識別,通過YOLOv3的訓練迭代實現了對盲道的準確識別,但是檢測效率較低,對盲道數據的實時處理效果不理想。
針對上述問題,本文采用了基于邊緣計算的YOLOv3算法,通過YOLOv3算法與邊緣計算模型的結合來進行盲道的實時識別,并將Jetson Xavier Nx開發板作為邊緣設備來實行邊緣計算,既能確保算法對盲道數據處理的實時性,也可以提高算法對盲道識別的準確度,為盲道識別提供了新的思路。
1" 邊緣計算的引入
研究發現,以往的盲道識別算法通常是利用不同的目標檢測算法對盲道障礙物進行識別,雖然這些算法可以通過對網絡結構的改進增加網絡預測的準確度,但同時也增加了網絡的計算量,導致算法檢測的實時性下降,為了改善這一情況,本文通過引入邊緣計算來保證算法對數據處理的實時性。首先在圖1中給出傳統的云計算模型,該模型是由用戶在發送端將數據傳送至云端終端設備向云中心發送請求,云計算在處理數據時占用的計算資源量較大,已經不適用于當前的高速設備通信與萬物互聯的要求。
而引入邊緣計算可以節省大量的網絡帶寬資源,邊緣計算進行數據交換的對象為源數據設備和邊緣設備,它會將處理好的數據進行上傳,本文給出邊緣計算的三大優勢[4]。
1.1" 實時性
實時性是邊緣計算模型中最基本最重要的一個特性,在傳統的云計算中心進行數據上傳時,大量的網絡帶寬會被占用,會造成網絡的延遲并導致數據丟失。邊緣計算則能夠將數據的計算遷移到邊緣設備上,既能減少云計算中心的計算工作量,又能減少帶寬消耗,滿足實時處理的要求。
1.2" 安全性
邊緣計算是指在邊緣設備上對數據進行處理和分析,而傳統云計算是指將生成的所有數據上傳到云計算平臺進行處理和分析。上傳過程中存在一定的安全風險,容易導致數據丟失和系統崩潰等問題。因此,邊緣計算在安全性能上具有絕對優勢。
1.3" 降低帶寬成本
前文已經指出,在云計算中心進行數據計算時會占用網絡帶寬。例如,一個監控系統需要大量的監控圖像。當系統中多個數據源設備(攝像機)同時上傳視頻數據時,會造成網絡擁塞,增加網絡帶寬壓力。邊緣計算通過在邊緣設備上進行計算,大大降低了網絡帶寬。
文獻[5]中指出,邊緣計算相比云計算模型最大的改進點就是將計算任務遷移到了數據源。對于盲道識別而言,邊緣計算的實時性能夠很大程度地提高網絡對盲道數據的處理效率,便于導盲設備在極短的時間內將獲取的信息進行輸出,在盲人出行時能夠使盲人及時感知前方障礙物信息并做出反應。當前的許多目標檢測算法都兼顧著檢測精度與速度,適合在邊緣設備上進行部署,故將邊緣計算與目標檢測算法進行結合是對盲人進行導航的有效方法。
2" 盲道檢測算法研究
2.1" YOLOv3網絡結構
YOLOv3中使用的主干網絡結構為Darknet53[2]。本文對Darknet53的簡化結構圖如圖2所示,Darknet53中對特征提取的方式主要是通過FPN特征金字塔進行特征提取,預測得到三個特征層,并且每一個特征層的感受野不同,較大的感受野適合對大目標進行檢測,而較小的感受野包含的圖像信息較少,適合進行小目標檢測。
在YOLOv3論文給出的源代碼中,通過對三個特征層進行處理并利用YOLO Head進行預測,在VOC數據集上得到的輸出層的大小分別為13×13×75、26×26×75、52×52×75。最后一個維度為75和VOC數據集的特性有關,因為其輸出的分類類別數為20,而YOLOv3針對每一層中的每個特征點的候選框個數為3,對于圖像中的每個候選框,在目標檢測算法中常用x、y、w、h四個值來確定目標所在的位置,而confidence表示先驗框中是否有目標,所以75可以表示為3×(20 + 4 + 1),這也正是YOLOv3設計的核心思想。
實現更高的準確度和速度是目標檢測領域一直在追求的目標。但是上述的YOLOv3模型無法達到很好的均衡,由于對盲道障礙物的檢測屬于小目標檢測,并且小目標的分辨率低且覆蓋區域小,給目標的檢測帶來了困難,通過文獻[6]的啟發,本文通過平移、翻轉、裁剪、顏色空間轉換等方法對輸入圖像數據集進行數據增強,解決數據集分布不理想這一情況,并且也能增強網絡結構對圖像特征的提取能力。
2.2" 數據增強
數據增強也稱為數據擴增,是一種擴充數據規模的有效方法[7]。該技術在深度學習中常被用作對數據集的補充,常被用于解決數據集分布不均勻和訓練樣本數過小的情況,通過數據增強的技術能夠將小樣本數據轉換為大樣本數據,更好地適應深度卷積網絡的特性。
在目標檢測算法選取數據集的過程中,若不同類型的目標樣本數和尺寸相差較大,將會導致網絡無法適應目標。小目標的不同密度使得很難使用統一的方法來提高小目標的檢測效果。故我們對輸入圖像進行平移、翻轉、裁剪和顏色空間的變換,如圖3所示,使正樣本和負樣本的數量達到平衡,并且也能夠增大樣本數,更利于網絡的訓練。
3" 實驗與結果分析
3.1" 實驗環境
為了驗證本文方法在實時盲道檢測中的效果,將YOLOv3模型部署于邊緣計算設備中進行測試與驗證,邊緣計算的測試設備選用英偉達的Jetson Xavier Nx開發板,Jetson Xavier Nx是一款致力于深度學習的開發板,它集成了128核Maxwell GPU,4 GB LPDDR4和四核ARM A57 64-bit CPU內存,也支持PCIe Gen2高速I/O和MIPI CSI-2接口攝像頭的接入,設備實物圖如圖4所示。
3.2" 實驗數據集與訓練過程
由于沒有公開使用的盲道圖像數據集,本文通過實地拍攝與網絡爬取得到了368張包含障礙物的盲道圖像,借助數據增強技術共獲得1 256張圖片。將數據集中的60%用作訓練集,25%用作測試集,15%用作驗證集。考慮到數據的局限性,本文設置初始epoch為500,由于圖片中目標物體的種類不一,故本文為盲道物體設置統一的標簽Labelm,在網絡訓練的過程中,在訓練開始時設置學習率為1×10-6,設置每一組batch_size為12,經過100次epoch后學習率調整為1×10-3,采用Aadm進行優化處理,在經過200個epoch后學習率變為1×10-4,且損失函數保持穩定,至此模型收斂,訓練過程結束。訓練中得到的訓練誤差及檢測實時比變化曲線圖如圖5所示。
3.3" 實驗結果
通過網絡的訓練與邊緣計算設備的部署,本文所提出的盲道識別方法對于不同分辨率的圖像均有著不錯的表現,檢測準確度能夠保持在90%以上,檢測實時比能達到20 frame/s以上,相比與使用YOLO算法進行盲道檢測的傳統盲道識別方法,本文的盲道識別方法在條形障礙物的檢測性能上表現突出,檢測實時速率有著大幅度的提升,能夠滿足日常盲道識別的場景需求。
4" 結" 論
本文針對盲人出行以及目標檢測算法在進行盲道檢測的實際場景,提出了一種新的盲道識別方法。首先引入邊緣計算模型保證盲道數據處理的實時性,接著在YOLOv3算法的基礎上,通過數據增強的方式來完成對YOLOv3網絡的搭建,最后使用Jetson Xavier Nx開發板對算法進行訓練與測試,實驗結果表明,本文的盲道識別方法與傳統盲道識別方法相比,在檢測精確度與實時速率上都有著一定的提升。下一步的研究重點是將算法應用于更多特殊的場景,進一步提高算法的魯棒性和適應性,減小模型的計算量,做到與嵌入式設備的搭建使用。
參考文獻:
[1] 王建藝,馬國棟.保障盲人無障礙出行的對策研究 [J].現代商貿工業,2021,42(20):38-39.
[2] REDMON J,FARHADI A. Yolov3: An incremental improvement [J/OL].arXiv:1804.02767 [cs.CV].(2018-04-08).https://arxiv.org/abs/1804.02767.
[3] 袁揚,馬浩文,葉云飛,等.基于YOLOv3算法的盲道識別研究 [J].河南科技,2022,41(6):20-23.
[4] 齊自強.基于邊緣計算的客流檢測跟蹤系統研究 [D].北京:北方工業大學,2020.
[5] 施巍松,孫輝,曹杰,等.邊緣計算:萬物互聯時代新型計算模型 [J].計算機研究與發展,2017,54(5):907-924.
[6] 段中興,王劍,丁青輝,等.基于深度學習的盲道障礙物檢測算法研究 [J].計算機測量與控制,2021,29(12):27-32.
[7] 朱曉慧,錢麗萍,傅偉.圖像數據增強技術研究綜述 [J].軟件導刊,2021,20(5):230-236.
作者簡介:賈存南(2002—),男,漢族,湖南邵陽人,本科在讀,主要研究方向:電子信息工程;通訊作者:陳剛(1979—),男,漢族,湖南長沙人,講師,碩士,主要研究方向:物聯網應用。