陳 梅, 朱凌寒, 曾梓浩, 趙坤鵬
(合肥工業大學 電氣與自動化工程學院,安徽 合肥 230009)
機器人常用兩種編程方式:示教編程、離線編程。前者易操作,但精度完全依靠示教者目測決定,對于復雜的路徑示教難以取得令人滿意的效果。后者降低了前者的不便,并同時進行軌跡仿真、路徑優化,但對于簡單軌跡,沒有前者的效率高[1]。現有基于視覺的機器人圖形化示教編程系統,結合兩種方式優點,由雙目相機記錄手動示教過程,通過處理示教視頻幀圖像檢測定位示教物體,獲得目標空間軌跡,后期優化軌跡,并轉換為機器人可執行代碼。由于運動過程中,示教物體產生旋轉姿態影響檢測定位,系統選用球形物體,用霍夫變換以輪廓作為主要特征檢測。但為了避免背景干擾檢測,示教物體只能適當大面積占據圖像畫面,由此引起運動范圍有限,示教復雜軌跡難度加大。前期獲取有限軌跡點數目,導致后期軌跡優化處理時,容易丟失軌跡細節,如此難以提高系統控制精度。如何解決這個問題,實現空間目標檢測追蹤,增大可示教物體種類,擴大示教物體的示教空間,從而順利示教復雜軌跡、提高系統控制精度成為主要解決的問題。
傳統的幀差法、光流法和背景差分法結合高斯濾波、粒子群算法等目標檢測算法及策略已難滿足當前目標檢測中數據處理的性能、智能化等多方面要求。近年來,在圖像處理上,結合神經網絡處理已經成為一種大的研究方向。從2014年起,先后出現R-CNN,Fast R-CNN,Faster R-CNN,SSD等越來越快速和準確的目標檢測方法[2~4]。本文考慮使用一種基于全卷積神經網絡的算法來解決目標檢測追蹤問題。
圖像檢測是將圖像目標識別與分割等問題結合在一起完成[5]。追蹤是對目標圖的后續處理。目標的檢測與追蹤具體過程[6]對于一幅完整輸入的圖像,提取目標部分多個特征因素,形成特征向量。依據特征向量,匹配模板,完成識別分類,標出具體目標類型。獲得帶有標注分類信息的分割圖后,確定目標類圖像坐標。為了針對性檢測示教目標,本文檢測過程中結合神經網絡處理視頻幀圖像。
普通的圖像分割(傳統語義分割)只能提取圖片的低級特征,且多需要人工干預,不適用于視覺問題上批量化處理和智能化發展趨勢[7]。現有有基于神經網絡的圖像分割方法,通過訓練多層感知機來得到線性決策函數,然后用決策函數對像素進行分類來實現分割。網絡大量訓練數據,巨量連接,充分引入空間信息,較好地解決圖像中的噪聲和不均勻問題。這種方法下,主要需要考慮選擇何種網絡結構。本文選用全卷積神經網絡(fully convolutional neural networks,FCN)結構。
2.1.1 全卷積神經網絡
2015年,Jonathan等人在CVPR上提出FCN實現了對圖像像素級別的預測,學習像素到像素的映射[8]。該網絡可充分學習圖像中目標體現的各層次特征,如輪廓,紋理,邊界,角點等。使用不同的訓練數據集,可準確識別多類目標。具體模型結構可基于VGGNet,AlexNet等變化。本文采用神經網絡模型以VGG16模型為基本,替換最后的全連接層為卷積層,網絡最后一層輸出結構為1*1*4。構建網絡模型結構如圖1所示。

圖1 FCN模型結構
為了輸出原圖一樣大小的分割圖像[9],網絡最后部分將第4層神經元的輸出和第3層的輸出依次反卷積,分別16倍和8倍上采樣,最后疊加處理輸出。
由于類似的理論到實際的應用中,網絡通常存在不收斂的問題。為了解決該問題。本文所用算法對網絡學習率采用實時更新的方法。引入學習和閾值的概念,設置初始學習率0.000 1,學習率lr以損失函數loss為度量,計算平均損失,設置閾值pt,按以下方式更新
(1)
2.1.2 目標檢測
本文設計神經網絡可識別N類物體,定義示教目標具體類別數為n,通過位圖和彩色圖轉換原理[13],制作訓練集中標簽圖,標記該類別顏色為c(n)=(R,G,B)。輸入彩色圖像P進入神經網絡,經過前文所提神經網絡處理后,輸出和原圖相同大小分割彩色圖片P1。
初步獲得分割圖,由于網絡可識別多類物體,在復雜背景下,分割圖出現多種顏色。為了方便系統確定識別目標的位置,對于P1繼續做簡單處理
1)二值化:設定以目標類別顏色c(n)為閾值,圖像中所有顏色為(R,G,B)的像素點輸出為白色(255,255,255),其余像素點輸出為黑(0,0,0),提取出網絡識別出的目標類別圖像。處理得圖P2。
2)形態學處理:二值圖P2上,在目標圖像的輪廓邊緣處,存在很多噪點。使用形態學算子處理,先開后閉,選擇使用算子(核)為半徑為k的圓盤。進一步消除噪點,突出目標。處理得圖P3。
通過目標檢測處理,獲得目標點相對明確的圖P3。但網絡識別準確率并非100 %,圖P3上除了目標圖像,必然存在誤識別區域,這些區域本身作為背景而言,相對于識別目標主體,所占面積相對較小。由此,計算圖像上最大連通域的質心位置來獲得目標的質心,進一步明確目標。該質心坐標記錄為(x,y)。(x,y)為目標點在圖像坐標系下坐標,而機器人示教為空間軌跡。平面點到三維坐標的轉換不可避免,故需進一步處理獲得目標空間位置(X,Y,Z)。本算法采用雙目視覺定位技術[10],通過目標點在左右兩個相機成像畫面中的坐標(xCL,yCL),(xCR,yCR),計算目標物體實際空間位置。當前兩個硬件參數相同、相機平行放置,如圖2所示(本文采用同一世界坐標系)。

圖2 雙目相機空間定位示意
以兩相機中心點為坐標原點,左側相機在OL處,鏡頭水平向前,右側相機在OR處,相機間距dOR-OL=d,兩相機XOZ平面視角∠ALOLAR=∠BLOLBR=2θ,YOZ平面視角為2θy,畫面分辨率為wh。成像畫面寬度分別為:xAR-xAL,xBR-xBL。目標P在兩相機成像畫面上分別位于CL,CR處。轉換過程如下:
P點在右畫面中和左畫面X方向上相對位置分別為
(2)
設像素點到X方向,Y方向實際長度換算比例為k,ky,則相機實際捕捉寬度以及焦距分別為:
實際距離
LAL-LAR=wk,f=0.5w/tanθ
(3)
dc1-cr=dol-or-w(px1-0.5)k-w×(0.5-pxr)k
(4)
由相似三角形原理得
(5)
將式(2)~式(4)代入式(5),計算得
(6)
則世界坐標系中X坐標為
X=Z(2pxl-1)tanθ-0.5d
(7)
同相似三角形原理,求解垂直坐標,其中,Pyl為P點在左畫面Y方向上相對位置
(8)
得
T=Z(1-2pyl)tanθy
(9)
以上,確定目標空間位置坐標(X,Y,Z)。記錄并保存,如此每隔一幀處理拍攝示教視頻幀圖像,定位隔幀圖像中目標質心的空間位置,整體上,保存軌跡,實現追蹤。
綜上,可得空間目標檢測追蹤算法流程圖如圖3所示。

圖3 算法流程
本文所提算法將從一定程度上擴大示教物體示教空間,如此,對于相同的軌跡點,可以最大程度上保留軌跡細節信息,方便后期對軌跡信息的進一步處理。
本文利用基于視覺的免編程系統平臺對算法進行識別定位測試,測試平臺如圖4(a)所示。計算機與下位機(伺服驅動器)采用OPC通信,數據經過處理傳輸至伺服驅動器,機器人獲取指令,執行操作。
本文采用VOC2011數據集訓練FCN(8 s)網絡訓練參數:批處理數目為5個,訓練次數為10 000次,權重衰減為0.000 5,基本學習率0.000 1,可識別目標種類為4種。學習率采用定期自學習更新(每訓練100次)的方式。初始設置最終網絡誤差收斂于0.131 5,保存網絡第10 000次訓練的參數,作為預訓練網絡模型。網絡可識別物體N=4,識別準確率達80.6 %符合使用需求。
實驗中以人手作為識別目標,定義為第n=4類,標記顏色 ,以“五指張開”姿態進行拍攝檢測。示教環境如下:光照均勻;背景為自然背景,不刻意近距離人為遮擋(若近距離黑布等遮擋,影響光線強度分布,容易產生誤識別)。
實驗開始拍攝示教軌跡示教視頻,圖4(b)為雙目像機拍攝視頻中某幀圖片(以左目圖片處理為例),其彩色分割圖如圖4(c)。

圖4 實驗平臺、實驗圖像及FCN分割處理結果
如前文所述,對網絡處理所得彩色分割圖,依次做二值化,形態學處理,核半徑k=10,獲得圖像,如圖5(a1),(a2)所示。求取最大連通域的質心位置,獲得手掌在空間中的質心位置,標記顯示為*。如圖5(b)所示。

圖5 后續圖像處理及確定位置
通過以上處理(右目圖片同樣處理),經過空間轉換,保存獲得目標在空間中的具體位置。實驗最終獲得目標物運動空間大小形狀如圖6所示,本文所用檢測追蹤算法下,檢測目標物的運動范圍為ABCDEFGH(后標fcn)區域。普通識別檢測算法(霍夫變換)檢測目標物體的運動范圍為ABCDEFGH(后標hf)區域。(忽略雙目相機中間視覺盲區)。

圖6 實驗目標運動空間對比
具體,兩種算法實驗數據性能對比如表1、表2。

表1 實驗結果對比

表2 實驗結果對比
本文使用的算法擴大示教目標運動空間5倍多,可識別多類無規則物體,而且提出以自學習的方式更新學習率,使得理論到實際應用的過程中,網絡順利收斂。本文改進采用的FCN相比較傳統FCN,提高了識別準確率。雖然使用霍夫變換通過物體圓形輪廓識別物體,捕捉物體的精度高,但實際可識別的區域范圍小,不符合實際使用需求。只有提高可檢測物體范圍,才能當示教物行走復雜軌跡時,增大軌跡點的數量,放大軌跡細節,方便后期對于軌跡的優化。
同時,本文所用算法可識別多類物體,具有針對性,示教物不再局限于某類或某幾類。實驗中雖然處理時間長,但是該值受硬件條件影響,此類方法(深度學習)在一定程度上,已有相關文獻證明驗證,可通過后續改進達到實時效果[11],實際實施可行性大。結合圖形化示教編程系統,在工業機器人編程系統中,有很好的應用前景。
為了減小計算量,縮短處理時間,在當前網絡識別準確度已符合需求的情況下,本文未在網絡后添加條件隨機場(conditional random field,CRF)等算法,僅使用簡單圖像處理,后續仍可以繼續優化算法,進一步提高算法識別準確率。