趙 崇,遲蒙蒙,儲 聰,張 鵬
(1.昆明理工大學 機電工程學院,云南 昆明 650500;2.大連工業大學 機械工程與自動化學院,遼寧 大連 116034;3.大連工業大學 信息科學與工程學院,遼寧 大連 116034)
相比于生物導盲犬訓練難度大、耗時長、成本高等缺點,仿生機械導盲犬的開發與應用有著更為廣泛的前景。經過簡單行走、低智能化和高智能化[1]3個階段的仿生機械的研發,研究人員已取得了一定的理論基礎和實踐應用成果。同濟大學的研究人員利用能力風暴機器人的紅外傳感器、碰撞傳感器、直流電機以及喇叭的測控功能設計的導盲機器人為商業化生產提供了參考依據[2]。與之相對應的導盲犬控制系統以及設計開發流程也更加高智能化[3-4],但設計成本與生產成本也大幅度增加。導盲犬的行走機構由履帶設計演變為多足機構[5-8],可以更加靈活地適應多種路況的行進,其爬坡能力也優于履帶設計的結構。基于契貝謝夫連桿機構的六足軍用機器人將曲柄搖桿機構改為曲柄雙搖桿機構,可有效增加機構的剛度和強度,也將行走機構改為二自由度,但是可實現路程差,使得機器人實現轉彎,因此這種方式仍有待在實踐中應用[9]。基于Jansen-leg機構標準型研制的小型八足仿生機器人機構控制簡單,運動協調性好,仿生度高,且可以實現零半徑轉彎。該機器人的爬坡能力和非結構環境的適應性得到了試驗樣機的驗證,具有良好的優化價值[10]。本文基于Jansen機構的行走機構設計,采用單一的步進電機實現動力驅動與行走控制,加上紅外線傳感器和視覺圖像識別系統的控制,不僅具有一定的智能化功能,也降低了設計和制造成本。
導盲犬的行走機構采用標準型Jansen機構。本文設置了一個步進電機驅動四足行走機構,并對其機構復雜程度進行簡化,使其更加接近于導盲犬的真實行走姿態。Jansen行走機構如圖1所示。

圖1 Jansen行走機構Figure 1. Jansen walking mechanism
如圖2所示,件號1為機體前面的右腳;件號2為紅外線傳感器,用于探知行走前方的障礙物,其功能為回避或者繞行傳感器;件號3為攝像頭,用于視覺識別系統的圖像采集;件號4為機體,內置驅動電動機以及齒輪機構的傳動,實現單電機驅動,導盲犬機體兩側驅動同步,搖臂方向相反,從而實現四肢按照行走的步伐運行;件號5為行走機構搖臂,左右各一個,與驅動電機的輸出軸聯結,用于輸出電機轉速,驅動行走機構運動;件號6為機體后面右腳;件號7為機體前面左腳;件號8為機體后面左腳,四足末端均為仿真數據采集點。基于Jansen機構的行走機構也可以使導盲犬在更加復雜的路況下行走。

圖2 導盲犬機體Figure 2. Guide dog body
為了驗證行走機構的非結構環境適應性,對導盲犬行走機構四肢末端的位移進行運動仿真。將三維實體模型導入到Admas軟件中,固定導盲犬機體,將電機輸出點的轉速參數設置為0.1 rad·s-1,運行時間為10 s,計算出4個仿真數據采集點相對于基準地面法向方向上的位移。參數設置如表1所示,運行計算得到的數據結果如圖3所示。

表1 行走機構運動仿真參數設置

圖3 導盲犬四肢末端相對于地面法向位移仿真數據曲線Figure 3. Simulation data curve of the normal displacement of the limbs of the guide dog relative to the ground
從以上分析數據可以得出,導盲犬四肢末端(即行走機構的四足)相對地面的法向方向位移具有相似的位移運動曲線,4個仿真數據采集點有規律地交替上升、交替落地,使其整機在較為復雜的非結構環境下能夠平穩運行。
目前,仿生機械導盲犬對周圍環境的感知主要通過紅外傳感器[11]、避障傳感器和超聲波測距儀[12]等實現,對導盲犬視覺系統的研究較少。隨著科技的發展和深度學習日益廣泛的應用[13],促進了機械導盲犬向工業化和智能化發展。本文提出了一種基于YOLO(You Only Look Once)的仿生導盲犬視覺識別算法,以人行橫道的交通信號燈為例,判斷當前信號燈狀態是否可通行,為盲人過馬路提供指導。實驗具體流程為:(1)采集實驗數據,標注圖像,建立紅綠燈的目標檢測數據集;(2)將數據集輸入到網絡,對網絡模型進行訓練,評價模型性能;(3)驗證模型的性能,輸出紅綠燈的類別信息和位置信息。
選擇適用于本研究場景的數據集是紅綠燈識別和定位的關鍵[14]。目前,該領域有很多公開的數據集。巴黎高等礦業學校機器人中心TLR(Traffic Lights Recognition)數據集在人口稠密的城市環境中采集圖像,包含紅燈、黃燈、綠燈3種交通信號燈。伍斯特理工學院嵌入式計算實驗室公開的WPI (Worcester Polytechnic Institute)交通信號燈數據集是在美國馬薩諸塞州伍斯特市收集訓練數據。上述數據集適合無人駕駛汽車領域交通信號燈的識別,不適用于盲人出行場景交通信號燈的識別。本實驗使用自建數據集,在遼寧省北鎮市城市道路采集。為了減少光照對實驗結果的影響,選擇早中晚3個時間段采集圖像共計300張。為了增加數據集數量,模擬真實場景錄制視頻,通過取幀得到圖像193張。該數據集共計493張圖像,圖像格式為jpg,圖片分辨率為416×416像素。該實驗部分數據集如圖4所示。

圖4 本實驗部分數據集Figure 4. Part of the dataset
采用YOLO_Mark標注工具,使用矩形框標注圖像中的紅燈、綠燈,為后續訓練提供真實值。該數據集需要Green lighted light兩個標簽,標注后可自動生成包含目標類別、目標中心點坐標(x,y)、矩形框寬度w、高度h的文本文件。
在訓練有監督的機器學習模型時,為了能夠得到識別效果好、泛化能力強的模型,需要將數據集分為訓練集、驗證集和測試集。訓練集擬合模型,通過設置分類器的參數訓練分類模型。驗證集用于調整模型的超參數并初步評估模型性能。測試集用于評估模型的泛化能力。本實驗數據集參數如表2所示。

表2 數據集參數表
3.2.1 YOLO網絡
YOLO[15]是一種2016年提出的目標檢測算法。該算法將物體檢測任務作為回歸問題來解決,其核心思想是將整張圖像輸入到神經網絡中,然后在輸出層預測物體邊界框(Bounding Box)的位置、物體的類別和置信度分數。
YOLO網絡結構由24個卷積層與兩個全連接層構成。首先將圖像縮放到固定尺寸,將輸入圖像劃分成7×7的網格,每個網格預測兩個邊框。將圖片劃分為7×7網格的方法較為粗糙,會影響邊界框的回歸,從而影響定位誤差,導致YOLO v1物體檢測精度較低。YOLO v1每個網格只能識別一個物體,對密集的小物體檢測效果不佳。
YOLO v2[16]是對YOLO v1網絡的改進,增加批歸一化,提高模型的收斂速度,減少過擬合提高平均檢測精度(mAP)。通過引入錨點框(Anchor Boxes)機制預測,提升了召回率。在網絡結構中添加跨層連接,將高分辨率特征和低分辨率特征結合,提高了小物體的檢測性能。YOLO v2在提高精度的同時也提升了檢測速度,但是仍無法解決重疊分類等問題。
YOLO v3[17]網絡使用了darknet-53的前52層。該網絡主要由一系列1×1和3×3的卷積層組成,每個卷積層后面會有一個BN(Batch Normalization)層和LeakyReLU層。YOLO v3網絡將Softmax層換成邏輯回歸層實現目標的多標簽分類。相較于YOLO v1和YOLO v2網絡,YOLO v3采用了多尺度融合的方法,通過上采樣和特征融合的方式,將3個尺度進行融合,提高了小目標的檢測性能。當盲人站立在人行橫道一側準備過馬路時,相對盲人的位置紅綠燈屬于遠目標,在圖像中成像較小,所以選擇YOLO v3作為本研究的目標檢測方法。
3.2.2 錨框優化
本文在YOLO v3的基礎上優化錨框的尺寸和數量,對數據集中的目標邊界框進行K-means聚類分析,獲得適用于本模型的先驗框。錨框數量與平均交并比關系如圖5所示。綜合考慮模型的復雜度和平均交并比(Intersection Over Union,IOU),選擇錨框數量為4,平均交并比為79.06%進行后續實驗。

圖5 錨框數量與平均交并比的關系Figure 5. Relationship between the number of anchor boxes and average IOU
根據目標對象邊界框的寬高比優化錨框尺寸,圖6(a)為YOLO v3根據VOC和COCO數據集聚類得到的先驗框。為了減少模型的計算量,加快模型的計算速度,本文分別采用anchors=7,14,10,20,16,34,57,98的錨框進行后續實驗。該尺寸的錨框在寬高比和尺度上與數據集中目標對象匹配程度高,其尺寸如圖6(b)所示。

(a) (b)圖6 優化前后錨框尺寸對比(a)先驗框 (b)優化后錨框尺寸Figure 6. Anchor box size comparison(a)Prior box size (b)Anchor box size after optimization
3.2.3 YOLO參數選擇
本文使用Windows 版本的darknet框架進行YOLO v3版本的訓練和測試。為了使網絡達到所需性能,需要合理地設置YOLO v3網絡模型的訓練參數[14]。YOLO v3模型參數主要包括學習率、動量和權值衰減系數。在選擇參數的時候,需要考慮硬件的GPU性能。本實驗在筆記本電腦上進行,電腦型號為神州戰神Z7-KP7EC,內存為16 GB,處理器為Intel Core i7-8750H,顯卡為 NVIDIA GTX 1060。為了充分利用實驗設備并且達到相對高的性能,本次實驗設置batch=64,subdivision=32。該參數說明網絡在訓練時,訓練迭代包含了32組,每組包含了2張圖片,減少了內存的占用,減輕了GPU的運行壓力。為了提高收斂速率,避免過擬合現象,將動量設置為0.9,學習率設置為0.001。模型的參數選擇如表3所示。

表3 YOLO v3訓練參數
本實驗共對 YOLO v3 模型進行了 7 500 次迭代,網絡的損失函數[18]圖像如圖7所示。從圖中可以看出,在前240次的迭代中平均損失迅速下降;在240~800次迭代中平均損失下降速度減慢;在800~2 000次迭代中,平均損失緩慢下降;2 000 次后損失函數達到收斂;到達7 500次時,平均損失保持平穩不再減少,所以停止訓練。

圖7 模型的損失函數圖Figure 7. Loss function of the model
在訓練中,模型會因為迭代次數的增加而出現過擬合的現象,即模型能在訓練集上達到良好的效果,但無法檢測其他圖像的目標[19-20]。對比多個模型的權重,選擇最優模型。設置每迭代 100次輸出一個模型,記錄模型的交并比(IOU)、綠燈、紅燈準確度(Average Precision,AP)、模型召回率(Recall)和平均準確率(Mean Average Precision,mAP)等模型評價指標。不同迭代次數的模型性能指標如圖8所示。

圖8 不同迭代次數的模型性能對比Figure 8. Performance comparison of models with different iterations
本算法的目的是區分紅燈和綠燈,并減小漏檢率。為分析算法的性能,定義TP(True Positives)為被正確識別的正樣本,TN(True Negatives)為被正確識別的負樣本,FP(False Positives)為被錯誤識別的正樣本實際為負樣本,FN(False Negatives)為被錯誤識別的負樣本實際為正樣本。
交并比IOU的計算方式是模型的預測框和手動標注的真實框交集部分與并集部分的比值,反映了預測框是否更加接近物體的真實位置。
召回率Recall是被正確識別出來的紅、綠燈個數與測試集中所有真實紅、綠燈的個數的比值。
(1)
查準率Precision是模型在識別的所有對象中,正確識別的比率,衡量了模型在單一類別上的性能。mAP則衡量了模型在所有類別上的性能。
(2)
根據實際情況分析,針對盲人出行場景紅綠燈的識別,正確識別出紅綠燈的類別比識別紅綠燈位置準確性重要,所以選擇準確率高的優化模型。
經對比發現,迭代次數為5 000時,模型達到最優性能。實驗表明,該模型平均精度為88.67%,綠燈準確率為87.96%,紅燈準確率為89.38%,召回率為88%。網絡模型的檢測速度為23.5 frame·s-1,本文方法能實時檢測并區分人行橫道紅綠燈。
為了檢驗模型對人行橫道上紅綠燈的識別效果,本文選擇部分拍攝圖片和網絡圖片來對模型進行驗證。圖9展示了部分紅綠燈圖像的預測結果。圖9(a)和圖9(b)來源于自建數據集中的驗證集,網絡對該圖像紅綠燈的識別概率為100%。圖9(c)和圖9(d)來源于網絡。圖9(c)沒有在人行橫道上拍攝,但是網絡識別紅綠燈的概率分別為51%和81%,圖中兩個綠燈均被正確識別,說明模型具有一定的泛化能力。由于圖像拍攝角度的原因,圖9(d)預測的實際位置與真實位置有一定的偏差,識別概率為40%。圖9(e)為原圖,圖9(f)為預測圖,網絡對該圖像中目標存在誤檢,圖中的綠燈被重復檢測,圖像下方公交車的質檢標志被識別為紅燈。

(a) (b)

(c) (d)

(e) (f)圖9 訓練后模型檢測效果(a)自建數據集紅燈預測結果 (b)自建數據集綠燈預測結果(c)其它場景圖像綠燈預測結果 (d)其它場景圖像紅燈預測結果(e)自建數據集待檢圖像 (f)自建數據集錯誤預測示例Figure 9. Model detection effects after training(a) Red light prediction result of self-built data set(b) Green light prediction result of self-built data set(c) Green light prediction results of images of other scenes (d) Red light prediction results of images of other scenes(e) Image of self-built data set to be checked(f) Examples of self-built data sets with false predictions
Jansen行走機構的導盲犬機械裝置具有緊湊的結構。機構運動仿真的結果表明,相對于地面的法相位移,其四足可以有規律地進行交替的上升下降,與自然界生物運動機理有著較高的仿生度。因此,可以較好地適應復雜非結構環境下的行走。基于YOLO的視覺識別系統能夠判斷當前信號燈狀態是否可以通行,識別紅綠燈的平均精度為88.67%,綠燈準確率為87.96%,紅燈準確率為89.38%,網絡模型的檢測速度為23.5 frame·s-1。未來將進一步改進算法,提高模型的準確性和泛化能力,并針對盲道和臺階等標識物進行識別,提高機械導盲犬的智能化和實用性。