





摘 要:傳統盲人手杖只注重盲人使用過程中的多功能性和舒適性,而忽視了與信息技術的結合,為此設計了一款基于計算機視覺的智能盲人手杖系統,旨在解決盲人出行中遇到的實際問題。系統利用計算機視覺進行目標檢測和人臉識別,采用超聲波模塊測量盲杖前方障礙物的距離,通過耳機語音實時播報,幫助盲人更好地感知周圍環境。系統由K210主控制器、超聲波模塊、攝像頭模塊、LCD顯示屏和語音提示器等組成,使用YOLO模型對圖像進行處理分析,將識別結果顯示在LCD屏幕上,并實現同步實時的語音提示。經驗證,系統運行穩定,且具有通用性和適配性,可以嫁接到其他盲人手杖上,并可根據用戶需求進行升級,具有較廣闊的應用前景。
關鍵詞:智能手杖;超聲波測距;YOLO模型;目標檢測;計算機視覺;卷積神經網絡
中圖分類號:TP391 文獻標識碼:A 文章編號:2095-1302(2025)04-0-03
0 引 言
目前我國盲人群體龐大,為方便盲人出行,往往為其配一只導盲犬,但導盲犬培養周期長,服役時間短,數量遠遠不足且大眾對導盲犬認知較少,導致該方法不能得到普及。盲人出行大多依靠傳統盲人手杖以“盲人探路”的方式前進,但由于無法看到物體,在尋找物品時會遇到各種各樣的困難[1]。因此選擇為盲人手杖添加信息化智能工具,通過為普通盲杖添加計算機視覺功能以輔助盲人的視物能力。
當前的盲人手杖制造商僅注重其多功能性,一根手杖包含有喇叭、手電筒以及其他實用的工具。本文設計的盲人手杖不僅能夠幫助盲人出行,更能夠幫助盲人更好地生活。系統通過計算機視覺分析、識別生活中的物品,再將檢測信息傳回給盲人使用者。而且該輔助設備可以輕松嫁接到其他種類的盲人手杖上,對其進行信息化升級,從而適配更多盲人的需求。通過深度學習錄入常見物體或人臉信息,不僅有助于檢測當前物體,還可以根據個人需求來自定義所檢測的物體種類和人臉圖譜[2]。最初人們采用人工特征提取的方法進行物體檢測,然而這種方法存在較大局限性。隨著卷積神經網絡的應用,物體檢測效率和準確率逐年上升。這一系列的技術進步,使得深度學習在物體檢測領域變得更加專業和高效。因此,為經典盲人手杖添加智能視覺功能變得更容易、更便捷。
1 目標檢測技術
1.1 卷積神經網絡
本文通過計算機卷積神經網絡對外界圖像進行處理分析,對圖像中的核心要素與數據庫存入的信息進行比對,實現了人臉識別和物體檢測功能。
卷積神經網絡作為一種前饋型神經網絡,是用機械化神經元構成的龐大網絡。該網絡直接輸入原始圖像,有效避免了復雜的圖像前期預處理流程,提升了對圖像的分析處理速率[3],因此被應用于目標識別、檢測、分類、分割等領域。
由于在多層神經網絡中需要設置一個激活函數,將上一層神經元的輸出值經過函數處理后傳遞給下一層,且僅當前面樹突傳遞的信號加權和值超過特定的閾值時,后面的神經元才會被觸發,從而保證卷積神經網絡可以應用到非線性模型中。本系統選用的激活函數為ReLU函數,數學表達式如下:
(1)
式中:x為上一層神經元輸入的卷積核,如果x與特征值強相關,即x>0時輸出等于輸入,否則為0。在反向傳播算法中,下降梯度等于敏感度乘以前一層的輸出值,所以前一層輸出越大,下降的梯度越大,實現近似非線性的模型計算邏輯。
1.2 基于YOLO的目標檢測技術
物體檢測時采用YOLOv2算法,使用Darknet-19作為基礎網絡結構[4],輸入圖像被劃分為固定大小的網格(grid),每個網格負責預測一個或多個物體,預測的物體數量由預設的參數決定,通過卷積神經網絡提取特征,以預測物體的類別和邊界框的位置[2]。通常使用卷積層輸出的特征圖來進行預測,通過非極大值抑制篩選和合并重疊的邊界框,以得到最終的物體檢測結果。
本系統共包括19層卷積層,5層池化層,3層全連接層,用于預測檢測框的位置和類別。本系統采用YOLOv2算法,與SSD、MobileNet[4-5]相比速度更快,一次前向傳播就可以完成物體檢測和定位,更適合于實時物體檢測[6]。同時,YOLO算法的檢測準確率也能滿足要求,不僅可以檢測不同尺寸的物體,對于小物體的檢測效果相對更好。然而,由于YOLO算法需將圖像劃分為網格,無法對部分物體進行精細定位,因此對物體邊界的檢測準確度可能不如其他算法高[7-9]。
為了提高物體識別時檢測的準確率,本系統對同種物體圖片進行縮放、裁剪、旋轉、模糊化等操作,以擴大現有數據集,保證物體識別過程中不會受攝像頭角度影響導致出現較大的識別誤差。啟動系統后,掃描攝像頭前物體所處坐標,與數據庫物體特征值比對得到物體的分類概率,再進行閾值過濾將可能性較小的分類去除,最后返回識別結果并顯示在LCD屏幕上。
目前數據集中能夠檢測的物體有:自行車、小鳥、瓶子、公交車、狗、電視等十九種常見的生活物品。
2 系統硬件框架
2.1 視覺模塊
智能盲人手杖系統如圖1所示。系統硬件主要由 K210主控制器、超聲波模塊、攝像頭模塊、LCD顯示屏和蜂鳴器組成。
本系統主控芯片選用K210芯片[10],通過超聲波模塊HC-SR04測距,當測試距離為20 cm時,令蜂鳴器發出斷斷續續的聲音,隨著距離的縮短,聲音的斷續頻率逐漸增加,用于提示距離的長短變化。通過攝像頭將圖像信息傳回K210芯片并處理后輸送到LCD顯示屏,LCD顯示相關內容并標計數據庫內存儲的圖像模型。
本系統使用KPU作為神經網絡處理器,它可以在低功耗模式下實現卷積神經網絡的計算,實時獲取被檢測目標的大小、坐標和種類,完成對人臉或者物體的高效檢測與分類。KPU參數配置如下:采用YOLO框架按照特定限制規則訓練定點化模型,LCD輸入輸出長寬比設置為3∶2,選擇ReLU函數[8]作為激活函數。
系統將外界的圖像信息顯示到LCD屏上,并對圖像信息進行數據比對,如果存在和訓練模型匹配的圖像形狀,則在LCD屏幕上輸出所標識的物體信息。
2.2 超聲波測距模塊
本文采用HC-SR04超聲波模塊進行距離測量,HC-SR04最大測量距離約為400 cm,接通電源后發出超聲波信號,保持Echo處于低電平狀態,若在一定時間內接收到信號,則使Echo變為高電平,根據距離時間公式計算超聲波模塊與前方障礙物之間的距離。
2.3 語音提示模塊
若檢測到前方有障礙物,則對有源蜂鳴器模塊的I/O口輸出一個脈沖即可使蜂鳴器報警,通過處理器對計算的距離進行判斷,根據距離的遠近來控制蜂鳴器的蜂鳴頻率。當距離大于200 cm時,蜂鳴器被置低電平;當距離小于200 cm但大于150 cm時,蜂鳴器每1 s蜂鳴一次;當距離小于150 cm但大于100 cm時,蜂鳴器每0.5 s蜂鳴一次;當距離小于100 cm時,蜂鳴器每0.2 s蜂鳴一次。
超聲波模塊和蜂鳴器連接電路如圖2所示。
3 系統軟件設計
本文的軟件部分采用VsCode編寫,通過CMake程序整合并燒錄,在初始化各模塊的功能后,運行檢測模型,待檢測完成后在LCD上顯示攝像頭拍攝的內容并識別物體信息。本系統主要流程:外部硬件初始化;物體檢測初始化;待攝像頭采集完成,將采集的圖像輸入到KPU運行模型,KPU處理完成后獲取最終的處理結果;把結果代入區域層,計算識別的位置和結果,再將上述信息輸出到指定服務區進行響應。系統軟件運行流程如圖3所示。
本系統通過對物體進行特征值比對,得到與數據集中圖片吻合的概率,當概率超出閾值時輸出該圖片對應的信息。
使用Mx-YOLOv3軟件訓練模型[10],該軟件的優點是可以迅速對大量圖像進行訓練,且配置環境相對簡單,制作效率高。本文對貓、狗、瓶子、汽車等十九種常見物體進行模型訓練,為每種物體提供50張照片作為數據集,將其中每種一兩張標注成xml文件后進行YOLOv2-K210訓練,得到訓練模型。為YOLO模型部署SD卡后,運行模型對符合數據集特征的物體進行標注,完成物體識別。
針對超聲波測距模塊與蜂鳴器部分,初始化其I/O口,輸出Trig信號,定時器計時,如果Echo接收到信號則觸發一次中斷,并獲取定時器的計數值,再根據計數值推算距離,關鍵代碼如下所示:
TRIG_Send = 1;//發送超聲波信號
delay_us(20);
TRIG_Send = 0;
while(ECHO_Reci == 0);
OpenTimerForHc();//無信號傳回時定時器保持
while(ECHO_Reci == 1);
CloseTimerForHc();//有信號傳回時定時器關閉
t = GetEchoTimer();
lengthTemp = ((float)t/58.0);//計算距離
4 系統測試
通過雙向夾將智能設備與普通手杖連接,調節旋轉頭直至穩定,然后通過模擬使用盲杖過程進行系統測試。
連通開關待LCD屏幕顯示正常后,使用盲杖進行移動時的障礙物測試。經測試,當盲杖前方距離小于約180 cm時,蜂鳴器開始緩慢報警,小于130 cm時報警頻率加快,距離障礙物越近,鳴響頻率越高。
當攝像頭前方出現符合模型數據集中的物體或者圖片時,K210芯片會將信息進行處理分析,輸出最符合其特征的物體信息。加裝語音提示系統后,可以做到掃描盲杖前的物體并通過語音提醒用戶。在本系統測試過程中以LCD屏幕是否能夠準確顯示文字信息作為測試標準。
圖4為本系統智能識別模塊的部分測試結果,經測試可知,本系統對于單個物體有著清晰明確的捕獲和反應,當攝像頭前方僅有一個物體時,系統可以迅速檢測并在LCD屏幕上顯示特征物體的信息。而在對多物體識別時因受到視角或重疊等因素影響,會對本系統多物體的識別速度和誤差率產生較大影響。
部分多物體測試結果如圖5所示。經過調試后,從測試過程中可以看到,當物體數量超過2個時,識別全部物體的可能性明顯下降,但對于絕大多數環境來說,需要檢測的物體不會超過2個,因此并不會過多影響盲人手杖的實用性。
5 結 語
在經過一定程度的市場調研和盲人痛點問詢后,本系統以視障人群的出行困難為出發點展開設計,以盲人最常用的生活工具—盲人手杖為載體進行信息化升級,加裝微型計算機,以計算機卷積神經網絡的方式獲得訓練結果,輔助盲人出行。本系統植入的數據庫有限,但可以根據用戶自己的想法添加所需物體信息和人臉信息。從適配性角度看,本系統可以以外設的方式嫁接到其他盲杖上,攝像頭也可根據需求進行升級和替換,具有一定的通用性。
注:本文通訊作者為柏恒。
參考文獻
[1]潘虹,黨小娟,陳江萍.基于物聯網技術的智能導盲系統設計[J].物聯網技術,2024,14(2):90-92.
[2]馮今瑀,張魁星,張鐵林,等.輔助視障出行融合障礙物檢測的路徑規劃研究進展[J].計算機系統應用,2024,33(4):50-49.
[3]趙立波.基于改進YOLO的車輛及行人識別算法研究[D].南京:南京郵電大學,2023.
[4]康兆楠.基于YOLOv2的空間場景目標檢測算法研究與實現[D].北京:北京交通大學,2022.
[5]李云鵬,席志紅.基于RetinaFace與FaceNet的動態人臉識別系統設計[J].電子科技,2024,37(12):79-86.
[6]陳冠宇.基于深度學習的小目標檢測方法研究[D].北京:中國地質大學,2020.
[7] ALRUWAILI M, SIDDIQI H M, ATTA N M , et al. Deep learning and ubiquitous systems for disabled people detection using YOLO models [J]. Computers in human behavior, 2024.
[8]張愷翊,張寧燕,江志浩,等.深度學習模型中不同激活函數的性能分析[J].網絡安全與數據治理,2023,42(z1):149-156.
[9]蘇佳,秦一暢,賈澤,等.基于ATO-YOLO的小目標檢測算法[J].計算機工程與應用,2024,60(6):68-77.
[10]陳業宏.基于YOLOv2目標檢測算法和K210芯片的智能壓板狀態識別系統[J].電子制作,2024,32(2):67-71.