丁小虎,陳 寧
(集美大學機械與能源工程學院,福建 廈門 361021)
提升集裝箱的自主搬運能力是港口設備智能化升級的主要研究方向,目前有越來越多的先進技術(shù)在港口設備智能化改造中得到應用,如視覺檢測技術(shù)、防搖擺控制技術(shù)和自動導引技術(shù)等。文獻[1]提出了一種基于機器視覺的集裝箱裝卸橋系統(tǒng)閉環(huán)防搖切換控制方法;文獻[2]研究了基于圖像處理的起重機吊裝防搖晃系統(tǒng);文獻[3]研究了一種港口集裝箱卡車的視覺自動導引停靠技術(shù)。但是傳統(tǒng)的機器視覺檢測和定位技術(shù)的魯棒性較差,其特征提取或者特征融合等目標提取算法難以適應復雜的港口實際環(huán)境。隨著深度學習技術(shù)的不斷發(fā)展,該技術(shù)在物體目標檢測識別等領(lǐng)域已逐漸代替?zhèn)鹘y(tǒng)視覺處理算法,成為處理圖像問題的主流算法[4-7],機器視覺結(jié)合深度學習技術(shù)也將成為提升輪胎吊智能化裝卸水平的突破點。目前,在物體目標檢測方面,F(xiàn)aster R-CNN模型利用和整個目標檢測網(wǎng)絡共享卷積特征的區(qū)域建議網(wǎng)絡RPN(region proposal network)[8],生成包含目標的候選區(qū)域,檢測精度相對較高。目標定位方面,為了獲取目標的三維位置信息,考慮到雙目視覺系統(tǒng)能夠適用于室外光照變化環(huán)境,并且具有高精度和非接觸測量的特點,選擇雙目視覺系統(tǒng)測量與目標的距離。本文提出使用MYNT EYE D1000-IR雙目攝像頭作為集裝箱圖像采集器,研究輪胎吊下集裝箱目標的識別和定位技術(shù),首先利用Faster R-CNN模型實時判別及檢測集裝箱,然后通過張正友標定法[9]對雙目攝像頭進行標定,采用半全局立體匹配算法求解視差,并計算集裝箱目標的三維信息,最后經(jīng)過坐標系轉(zhuǎn)換計算獲得吊具中心和所有集裝箱目標中心的距離,從而實現(xiàn)輪胎吊系統(tǒng)對集裝箱目標裝卸定位。
輪胎吊模擬裝卸系統(tǒng)臺架結(jié)構(gòu)圖如圖1所示,該臺架可以實現(xiàn)手動控制小車水平移動、吊具垂直升降、吊鎖開閉和集卡等基本功能。
吊具和雙目視覺系統(tǒng)的安裝位置如圖2所示,吊具傳感器坐標原點為Od-XdYdZd。雙目視覺傳感器型號為MYNT EYE D1000-IR,主要由一對基線為120 mm的平行的RGB鏡頭、一個慣性測量單元IMU和兩顆IR紅外主動光探測器組成。該雙目攝像頭能夠以60幀/s的速率同步傳送最高2560×720分辨率的RGB彩色圖像,慣性測量單元可以測量和調(diào)節(jié)運動中吊具的姿態(tài),紅外主動光探測器可以通過發(fā)射的紅外結(jié)構(gòu)光來增加視野紋理,適用于室外以及完全黑暗環(huán)境。
集裝箱檢測系統(tǒng)通過D1000-IR雙目相機采集視野內(nèi)的彩色RGB圖像,存儲含有集裝箱目標在不同環(huán)境和姿態(tài)下的圖像,對其中的集裝箱目標進行標記,并用于訓練Faster R-CNN模型,訓練后的Faster R-CNN模型可以檢測集裝箱目標以及返回其位置的圖像坐標點。
選取8種不同船運公司的20尺(5.89 m×2.32 m×2.31 m)集裝箱貨柜的縮比模型作為實驗圖像采集目標,比例為1∶20,如圖3所示。集裝箱搬運的工作區(qū)域主要都是灰黑色的水泥地面,吊具的垂直運動最大高度設置為2.5 m,使用D1000-IR進行圖像采集,按照不同運動高度,并考慮晝夜、雨天和霧天等天氣,同時采集的圖像序列涵蓋邊緣部分殘缺和多種位姿狀態(tài)等情況,共采集集裝箱圖像1 000張。
為了進一步增加集裝箱數(shù)據(jù)集的多樣性,對已采集的集裝箱數(shù)據(jù)樣本圖像進行擴增,分別對原圖像作±45°旋轉(zhuǎn)變換,同時對獲得的旋轉(zhuǎn)圖像進行椒鹽噪聲和銳化處理,最后對所有±45°旋轉(zhuǎn)變換后的圖像進行居中截取,如圖4所示。
擴增后的集裝箱數(shù)據(jù)集總共包含了9 000張含有集裝箱目標的圖像,隨機選取6 750張圖像(含有20 250個集裝箱目標)為訓練集,其余剩下2 250張圖像(含有5 625個集裝箱目標)作為測試集。
Faster R-CNN是一種檢測精度較高的深度學習模型,模型結(jié)構(gòu)如圖5所示。
Faster R-CNN模型通過卷積層提取目標特征映像圖譜(feature map),輸入給區(qū)域建議網(wǎng)絡RPN(region proposal network),產(chǎn)生候選區(qū)域,再連接到感興趣區(qū)域池化層(region pooling layer),然后將池化后的特征輸入給全連接層(fully connected layer),最后通過分類器進行分類及回歸,獲得目標的類別和位置[8]。
采用集裝箱數(shù)據(jù)集微調(diào)Faster R-CNN預訓練模型的方式訓練整個模型,其中預訓練模型在Oxford-IIIT Pet數(shù)據(jù)集下訓練獲得,同時將模型訓練參數(shù)中的學習率設為0.0002,批量大小設定為24,迭代次數(shù)設定為65 000。在訓練過程中,對于RPN網(wǎng)絡中每個滑動窗口,分別取4種面積尺度{492,642,1 282,2 562}和3種長寬比{1∶1,1∶2,2∶1},共組合成12個不同尺度和長寬比的錨框,在深度學習框架Tensorflow下,實現(xiàn)Faster R-CNN檢測模型算法。
服務器平臺配置:Intel(R) Core(TM) i7-7700K CPU@4.2GHz 處理器;16GB內(nèi)存;1T硬盤;8GB Geforce GTX 1080 GPU。
集裝箱檢測系統(tǒng)可生成集裝箱目標的識別矩形包絡框,取其矩形框的中心點作為裝卸搬運定位點,利用集裝箱定位系統(tǒng)可以獲得該點的深度值,得到定位目標點的三維坐標后,通過坐標變換將其世界坐標位置轉(zhuǎn)換到吊具坐標系下,以實現(xiàn)對集裝箱目標的抓取。
為了獲得集裝箱上一點的三維坐標與其對應像素坐標的關(guān)系,需要知道視覺系統(tǒng)模型的投影關(guān)系和相關(guān)參數(shù),根據(jù)針孔相機模型可建立成像幾何關(guān)系,如圖6所示。圖6表示視覺系統(tǒng)的世界坐標系{W}、攝像機坐標系{C}、圖像坐標系{1}和像素坐標系{2}之間投影關(guān)系。
假設集裝箱目標上某點世界坐標值為(Xw,Yw,Zw),在像素坐標系中的坐標是(u,v),可得到成像模型齊次坐標投影變換關(guān)系:
(1)
式中:fx、fy為尺度因子;cx、cy為圖像中心與原點偏差像素數(shù);R為旋轉(zhuǎn)矩陣;T為平移矩陣;M為攝像頭的投影矩陣。其中:M1為攝像頭的內(nèi)部參數(shù)矩陣;M2為攝像頭的外部參數(shù)矩陣。
3.2.1 雙目相機標定
為了獲取相機模型的對應參數(shù),采用Stereo Camera Calibrator Toolbox工具對D1000-IR雙目相機進行標定。在標定板上選取世界坐標系(Zw=0),標定板采用的是8×8黑白相間的正方形棋盤格,每個正方形邊長為28 mm。確保足夠的光照后,調(diào)整標定板的姿態(tài),并采集20組左右標定板圖片,其標定重構(gòu)結(jié)果如圖7所示。
在確定雙目攝像頭的內(nèi)部參數(shù)后,即可進一步求出外部參數(shù)矩陣M2的旋轉(zhuǎn)矩陣R和平移矩陣T,如下所示:
由標定結(jié)果可知,兩攝像頭之間存在徑向畸變,雙目視覺系統(tǒng)能夠滿足光軸平行的理想狀態(tài)。
3.2.2 雙目立體匹配
半全局立體匹配SGM (semi-global matching) 算法是一種稠密立體匹配方法[10],本文采用SGM算法對雙目圖像進行立體匹配,SGM算法具有較好的魯棒性,使用雙目相機的GPU處理器加速可以取得比較高的計算效率,主要算法步驟如下:
1)利用Census變換[11]計算匹配代價值,即將集裝箱圖像局部窗口區(qū)域的中心像素灰度和鄰域內(nèi)像素灰度映射為一個比特串,然后將映射得到的比特串來代替中心像素的灰度值。其變換公式如下:
(2)
(3)
其中:I(u,v)—集裝箱圖像中心(x,y)的灰度值;I(u+i,v+j)—圖像坐標(u+i,v+j)的灰度值;ξ(Ip,Iq)—比特位,像素點p、q的灰度值Ip和Iq比較運算;Cs(u,v)—集裝箱中心像素的點(u,v)的Census的變換碼;l—1/2局部圖像窗口寬度;r—1/2局部窗口高度;?—位串聯(lián)符。
集裝箱場景圖像經(jīng)過Census變換后,根據(jù)漢明距離相似性測度函數(shù)[12]計算匹配代價,其公式如下:
C(u,v,d)=Hamming(Csl(u,v),Csr(u-d,v))。
(4)
式中:Csl(u,v),Csr(u-d,v)分別為集裝箱左圖像和右圖像的Census的變換碼;C(u,v,d)為匹配代價值;d為左、右圖像橫坐標像素點的差值。
2)由于代價計算只考慮局部相關(guān)性,無法直接獲得視差,通過匹配代價聚合,可以使計算得到的匹配代價值更準確地反應像素相關(guān)性。代價聚合采用大小固定矩陣窗口策略,計算窗口內(nèi)的聚合代價,
(5)
式中:m—聚合窗口的寬度;n—聚合窗口的高度;
利用公式(5)求出聚合代價之后,計算集裝箱圖像的每個像素點坐標對應的視差
(6)
3)對視差圖進一步優(yōu)化處理,采用唯一性檢測方法剔除錯誤視差,并通過中值濾波的方法來抑制圖像噪點。
輪胎吊模擬裝卸系統(tǒng)通過卷揚系統(tǒng)的鋼絲繩連接吊具和平移小車,吊具和平移小車的位置相對平行,MYNT EYE D1000-IR左右攝像頭的距離相對固定且與光軸平行,原理如圖8所示。圖8中雙目視覺系統(tǒng)以左攝像頭為原點建立左攝像機坐標系O-XYZ,并令世界坐標系與其重合,左攝像頭的圖像像素坐標系O1-ulvl,右攝像頭的圖像像素坐標系O2-urvr;f為雙目攝像頭的焦距;b為基線距離;H0為平移小車和吊具之間的高度;集裝箱上的某點P(XQ,YQ,ZQ)在左右攝像頭圖像像素坐標系的對應點分別是Pl(ul,vl)和Pr(ur,vr)。根據(jù)相似三角形的幾何關(guān)系易得:
XQ=[ul/(ur-ul)]·b,
YQ=[vl/(ur-ul)]·b,
ZQ=[f/(ur-ul)]·b。
集裝箱檢測和定位系統(tǒng)在確定集裝箱目標和所在位置后,將信息發(fā)送給吊具抓取系統(tǒng)。由于雙目攝像頭安裝在吊具抓取系統(tǒng)上,所以在對集裝箱的裝卸過程中攝像頭會隨著平移小車水平移動和卷揚升降而運動。又因為抓取時只考慮集裝箱目標和吊具的相對位置,所以在吊具上的雙目系統(tǒng)完成對集裝箱的三維測距后,需要將結(jié)果由雙目攝像機的世界坐標系轉(zhuǎn)換到吊具坐標系。
實驗過程中,雙目攝像頭安裝在吊具的正中間,所以吊具坐標系的原點選在雙目攝像頭的中點處。對雙目攝像頭原始標定時,標定板和吊具平面平行,所以旋轉(zhuǎn)矩陣近似為0,左右攝像頭初始標定的外參的平移矩陣分別是T1(txl,tyl,tzl),T2(txr,tyr,tzr),所以左右攝像頭相對于原始世界坐標系的坐標分別為(-txl,-tyl,-tzl)和(-txr,-tyr,-tzr),可得吊具坐標系原點相對于原始世界坐標系的坐標為(-(txl+txr)/2,-(tyl+tyr)/2,-(tzl+tzr)/2)。
集裝箱在世界坐標系的某點P(Xw,Yw,Zw),則可得該點在吊具坐標系下P′(Xd,Yd,Zd)坐標的轉(zhuǎn)換關(guān)系:
(7)
為檢測Faster R-CNN算法對集裝箱識別的準確性,本文進行了集裝箱識別實驗。圖9是Faster R-CNN的網(wǎng)絡訓練損失函數(shù)值變化曲線圖,訓練迭代次數(shù)到5萬次后,損失函數(shù)值基本保持穩(wěn)定,提取訓練的模型文件,對集裝箱的圖像幀進行檢測識別。
將不同類別的集裝箱箱體隨機放在輪胎吊工作區(qū)域內(nèi),使用Faster R-CNN模型進行檢測識別,F(xiàn)aster R-CNN模型使用矩形框?qū)⑺屑b箱目標包絡起來,并在其矩形包絡框上方顯示檢測到的集裝箱的名稱和準確度,同時根據(jù)包絡框的位置可以確定集裝箱中心點在整個圖像中的位置,如圖10所示。
本文將正確識別集裝箱目標個數(shù)和錯誤識別集裝箱目標個數(shù)作為識別準確率的標準,集裝箱錯誤識別包括漏識別和誤識別兩種情況。統(tǒng)計2 250張集裝箱測試集圖像,共有5 625個集裝箱目標,集裝箱檢測識別統(tǒng)計結(jié)果如表 1所示。5 625個集裝箱中有5 468個集裝箱被正確識別,識別正確率為 97.21%,錯誤識別的集裝箱個數(shù)為157個,識別錯誤率為2.79%,其中漏識別29個,誤識別128個。
表1 集裝箱測試集檢測結(jié)果統(tǒng)計
本文采用Faster R-CNN和基于SGM的雙目立體匹配算法組成的輪胎吊雙目Faster R-CNN系統(tǒng),進行集裝箱的定位實驗,控制吊具在距離集裝箱目標400~2 000 mm范圍內(nèi)進行測量實驗,其中雙目深度定位測距率如圖11所示。
根據(jù)矩形框位置確定集裝箱目標中心點二維位置坐標點后,同時由雙目定位系統(tǒng)可獲得其目標矩形框中心點深度坐標信息,中心點的坐標代表集裝箱目標的圖像坐標,在吊具坐標系下,識別定位圖像坐標原點轉(zhuǎn)換到其圖像正中央,如圖12所示,圖12(a)為彩色圖像,圖12(b)為深度圖像,圖中集裝箱的圖像坐標深度分別是Z1=1246.37 mm,Z2=1139.48 mm,Z3=1246.90 mm,同時根據(jù)公式(7)計算得到吊具坐標系原點和集裝箱目標識別矩形框的直線距離分別為1250.79 mm,1158.73 mm和1278.95 mm。
表2和表3分別是系統(tǒng)誤差和實時性能分析,集裝箱檢測系統(tǒng)識別單幀圖像耗時0.027 s,集裝箱定位系統(tǒng)進行一組左右圖像匹配耗時0.0065 s,整個識別和定位系統(tǒng)對雙目左右圖像進行一次圖像匹配和各一次集裝箱目標檢測,總共耗時0.035 s(~30幀/s)。分析表明,該系統(tǒng)精度和實時性可以滿足實際工作的要求。
表2 集裝箱坐標值平均誤差Tab.2 Average error of container coordinate value定位坐標Location coordinate誤差Error/%水平坐標XHorizontal coordinates1.23垂直坐標YVertical coordinates0.94深度坐標ZDepth coordinates1.18表3 系統(tǒng)處理速度Tab.3 Processing speed of system系統(tǒng)System耗時Time/s整個系統(tǒng)Entire system0.035檢測識別模塊Detection and recognition module0.027雙目定位模塊Binocular positioning module0.0065
本文基于輪胎吊裝卸模擬系統(tǒng)臺架設計了一套集裝箱三維自動識別和定位系統(tǒng),系統(tǒng)利用雙目攝像機實時檢測識別作業(yè)場景內(nèi)的集裝箱目標,并準確計算集裝箱的三維空間定位信息。在該系統(tǒng)中,本文引入了一種基于Faster R-CNN的集裝箱目標識別模型,并設計和制作滿足數(shù)據(jù)多樣性要求的集裝箱圖像數(shù)據(jù)集來訓練該目標識別模型,通過調(diào)整訓練參數(shù)實現(xiàn)了模型網(wǎng)絡收斂,同時使用GPU處理器加速集裝箱目標檢測模型算法和SGM雙目匹配算法,最終系統(tǒng)展現(xiàn)了對集裝箱目標識別定位的魯棒、實時和穩(wěn)定檢測的優(yōu)良性能。本文將雙目視覺和深度學習技術(shù)同時應用在港口裝卸中,實現(xiàn)了對集裝箱的自動三維識別與定位。