◎ 王陳 余明志 孫志軍 廉東 上海博程電子科技有限公司
(1)使用7×7 的標定板對相機內參進行標定,得到相機焦距fxfyu0v0,畸變系數k1k2k3p1p2。
(2)計算機視覺測距是基于圖像識別進行定位的重要環節,其測距精度不僅與圖像識別精度有關,還與攝像機參數息息相關,如通過攝像機標定所獲取的攝像機內參數矩陣和畸變系數等。內參數矩陣,可表示為:
(3)畸變系數k1k2k3p1p2,是對采集圖片進行去畸變處理,從而能夠更準確地利用圖像信息以及實現高精度測量。
(4)在吊具作業過程中,控制系統分別控制大、小車運行和旋轉偏航角,因而需要對攝像頭中心到鎖孔中心的橫、縱向的距離分別進行測量。
式中,Lpx,Lpy為對應方向上的成像長度,nx,ny表示對應方向上的像素個數,dx,dy為對應方向上的像元尺寸。

圖1 吊具攝像頭
(5)單目視覺測距原理[1]:單目視覺測距原理是小孔成像模型,在數學上將投影平面平移到其關于小孔對稱的位置,如圖2所示,由三角形相似原理可知:

圖2 單目視覺測距示意圖

圖3 吊具坐標系(Z軸向上為正方向)

圖4 集裝箱吊具位置關系
式中:f表示焦距,Z為鏡頭到被測物體之間的距離,La為被測物體實際長度,Lp為物體的成像長度。
通過(4)、(5)可以定位攝像機中心到擬合鎖孔中心的距離。
在系統運行過程中,由于吊具中心點和4個攝像頭的相對位置關系是不變的,選擇吊具中心點作為世界坐標系的原點位置,豎直向上且垂直于X,Y方向為Z軸方向。
在集裝箱四個對稱角處粘貼反光標靶,反光標靶的質量和反射強度將影響全站儀打點測試的精度,外參標定完成后得到4組相機外參。求解世界坐標:使用反光板和全站儀標定相機外參旋轉矩陣R,平移矩陣t。
模型簡介:在工業檢測領域中,為了實現對目標的精準控制,需要控制偏差在一定的范圍內。YOLO模型[2]一經推出,得到了業界的一致認可,在目標檢測領域幾乎成為必備的深度學習推理框架。使用YOLO深度學習網絡,只需要按照既定的格式標注好自定義的鎖孔數據集,再以合理的方式配置好模型配置文件和搭建訓練環境就能完成目標檢測,一般場景的目標檢測通常是檢測水平的檢測矩形框,但由于相機安裝時角度的調整并不能滿足像平面和物平面,這導致檢測目標物在圖像上呈現出帶一定偏轉角度的矩形框,使用YOLO-OBB能夠很好的解決對旋轉目標框的檢測。
模型訓練:使用深度學習算法檢測集裝箱四個角處的鎖孔。采集不同場景下的拍攝的鎖孔圖像一共1558張,使用數據標注軟件制作標簽數據集,劃分完數據集后用于模型訓練。訓練完成后能夠用于大部分場景的鎖孔中心點檢測。
目標檢測:與之前Yolo系列不同的是,YoloV 7在Yolo-Head前使用了一個RepConv的結構,這個RepConv的思想取自于RepVGG,基本思想就是在訓練的時候引入特殊的殘差結構輔助訓練,這個殘差結構是經過獨特設計的,在實際預測的時候,可以將復雜的殘差結構等效于一個普通的3×3卷積,這個時候網絡的復雜度就下降了,但網絡的預測性能卻沒有下降。而對于每一個特征層,可以獲得利用一個卷積調整通道數,最終的通道數和需要區分的種類個數相關,在YoloV7里,每一個特征層上每一個特征點存在3個先驗框。Yolov7-OBB在網絡模型的修改中,主要在與將Yolo-Head的輸出增加了對旋轉角度θ(弧度)這一維度,以使用的鎖孔數據集為例子僅一個類別,最后的維度應該為21=3×7,三個特征層的shape為(20,20,21),(40,40,21),(80,80,21)。最后的21可以拆分成3個7,對應3個先驗框的7個參數,7可以拆分成5(box)+1(conf)+1(cls)。前5個參數用于判斷每一個特征點的回歸參數(Cx,Cy,w,h,θ),回歸參數調整后可以獲得預測框,第6個參數用于判斷每一個特征點是否包含物體;最后1個參數用于判斷每一個特征點所包含的物體種類。
(1)在集裝箱鎖孔檢測的過程中,通常會觀察到側面非目標箱的多個鎖孔,雖然在檢測前可以優先設定大致的檢測區域,但仍然會存在部分側面鎖孔的干擾。為了解決這個問題,通過最優化的方式,搜索最匹配的4個鎖孔點。
(2)集裝箱的尺寸,對于20尺的標準集裝箱,設計尺寸為6058mm(長)×2438mm(寬),這里不需要考慮集裝箱高度。記集裝箱長度為L,寬度為W。
(3)由角件的設計圖,這里定義角件的長l=178mm,w=162mm,短外邊緣到中心的距離d1=101.5mm,長外邊緣到中心點距離d2=89mm。但在實際工作環境中,由于機械的長期作業會造成設備的損耗和發生形變,定義單位誤差ε=5mm。
(4)求解最優化的過程。
設C1(x1,y1,z1),C2(x2,y2,z2),C3(x3,y3,z3),C4(x4,y4,z4)表示集裝箱鎖孔位置的集合,如:Ci(xij,yij,zij),i=1,2,3,4,j=1,2,3,4…。表示i號相機下編號為j的鎖孔中心點位置。
建立約束條件如下:
通過以上的約束條件,能夠求解出最優的4個鎖孔位置信息。
(1)偏航角θ描述集裝箱相對吊具大車正方向的偏轉角度,dx描述集裝箱相對吊具中心在大車方向的偏移量,dy描述集裝箱相對吊具在小車移動方向的偏移量。
(2)在吊具下降移動到目標集裝箱的上方過程中,4個攝像頭將跟蹤鎖孔的位置,由于吊具是通過鋼絲繩連接在小車上,吊具在移動到某個固定位置后,會帶動吊具以卷筒為固定點做單擺運動。然而在實際運動過程中,吊具會因為阻尼的影響經過多次往復擺動后而逐漸平衡于某個位置。因為本文的重點在于研究自動對箱,這里可以確定目標點趨于穩定時,進行著箱。即滿足如下條件:
(3)通過鎖孔的4點坐標位置求解得到集裝箱中心點的坐標信息及為集裝箱中心點相對于吊具的偏移量dx、dy。
(4)通過鎖孔長邊的傾斜角度大小計算出集裝箱的偏航角θ。
(1)初始化:實驗過程中使用20尺狀態下的吊具去抓取同等尺寸的集裝箱。首先控制大、小車移動,小車微動和旋轉到測試初始狀態下吊具完全位于集裝箱的正上方約600mm處,初始狀態下集裝箱和吊具在x反向上的偏移Xoffset=0,y方向上的偏移Yoffset=0,偏航角θ=0°。
(2)實驗數據:控制吊具微動,一般標準吊具集裝箱吊具的微動范圍為大車方向±250mm,小車方向±200mm,航向角±5°。在控制范圍內控制吊具微動(大小車方向移動、繞吊具中心點轉動),記錄系統反饋的偏移量和旋轉角度與算法計算得到的結果,對比如圖5所示。

圖5 測試數據
起重機吊具和集裝箱能完成自動對位是實現自動化抓放集裝箱的關鍵技術之一。通過相機和吊具系統的標定和利用深度學習識別鎖孔中心后,利用上述算法求解出鎖孔的世界坐標,從整體實驗結果表明,該方案符合精度要求,且由于加入深度學習模型對鎖孔中心點進行檢測能盡可能地減少環境因素的影響,同時該系統僅需要考慮吊具和集裝箱的相對位置關系,避免了多個系統運動過程中所產生的累計誤差。