戴文,馬得堯,劉宇翔,呂文飛,楊前明
(山東科技大學(xué)機械電子工程學(xué)院,山東青島266590)
隨著經(jīng)濟全球化進程的不斷加快,海上石油開采量以及石油運輸量迅速增長,復(fù)雜的海上環(huán)境造成了海面溢油事故的頻頻發(fā)生,嚴重威脅著海洋生態(tài)環(huán)境和沿海居民的身體健康。
當(dāng)海面溢油事故發(fā)生時,通常利用溢油回收船回收溢油。溢油回收船的船體雙側(cè),內(nèi)嵌專業(yè)圍油欄[1],作業(yè)時利用圍油欄前端浮筒捕獲裝置將圍油欄迅速導(dǎo)出并伸展開。溢油回收船攜帶的浮筒捕獲裝置通常為框架式結(jié)構(gòu),此種結(jié)構(gòu)分別在上、下兩端安裝一個連接鉤,連接鉤的間距基本與浮筒同高。工作時,2個連接鉤必須恰好固定連接浮筒的上、下兩端,依靠浮筒自身的向前運動,以及捕獲裝置向外的
拉力作用,共同完成捕獲浮筒并展開圍油欄的動作。此種結(jié)構(gòu)比較簡便輕巧,但適應(yīng)性低,需要人眼配合操作,捕獲時間一般較長,不但大大增加收油清污的作業(yè)成本,還會貽誤海上作業(yè)的最佳時機[2]。
針對這一問題,設(shè)計開發(fā)了由單目視覺單元、計算機和機械臂執(zhí)行機構(gòu),3部分組成的圍油欄前端浮筒捕獲裝置,利用單目視覺系統(tǒng)的定位原理,完成對浮筒中心坐標的提取和準確定位[3],以提高溢油回收船的自動化程度和作業(yè)效率。
圍油欄前端浮筒快速捕獲系統(tǒng),由CCD圖像采集模塊、計算機圖像處理模塊和機械臂執(zhí)行機構(gòu)3部分組成[4],如圖1所示。
圖1 圍油欄前端浮筒快速捕獲系統(tǒng)結(jié)構(gòu)圖
圖像采集模塊,由一臺固定在機械臂最前端的CCD攝像機、圖像采集卡組成一個單目視覺單元,負責(zé)攝取目標物圖像信息。由圖像采集卡采集圖像信息,送入上位機進行圖像的識別定位,從而計算浮筒的三維坐標及機械臂的位移距離。然后將數(shù)據(jù)傳輸給下位機PLC,由下位機PLC根據(jù)計算結(jié)果,驅(qū)動執(zhí)行單元,完成浮筒的捕獲操作。工作人員通過上位機實時畫面可以直接進行監(jiān)控和操作[5]。
在視覺系統(tǒng)中,對攝像機的標定,采用張正友標定法。由計算機繪制一張含有8×8個方格的黑白棋盤格平面圖樣,且方格的大小一定。以1∶1的比例打印出來貼在光潔的玻璃板上,作為實驗用標定模板[6],標定模板中共有64個角點。
攝像機的標定是在Microsoft VS2008環(huán)境下進行的。標定時,采用對標定模板多角度圖樣采集的方法,獲取20幀不同位姿的標定模板圖像。標定過程中,軟件對每一幅圖像提取角點并繪制出來,繪制角點的圖像如圖2所示。
圖2 VS環(huán)境下繪制角點圖
圖像全部成功提取角點后,利用單目視覺系統(tǒng)的幾何映射關(guān)系,對攝像機的內(nèi)、外參數(shù)進行求解。
在視覺系統(tǒng)中,一個2D點可以表示為m=[u,v]T,一個3D點可以表示為 M = [X,Y,Z]T。其增廣矩陣分別表示為 ~m= [u,v,1]T以及 ~M =[X,Y,Z,1]T。3D點與其投影到平面的2D點之間的關(guān)系可以表示為
式中:s是標準矢量;A為攝像機內(nèi)部參數(shù);R,t為攝像機的外部參數(shù)。標定時假設(shè)模板平面,在Z=0的平面上,由式 (1)可以得到
由此得到一個3×3矩陣
由映射矩陣H可得到內(nèi)參數(shù)矩陣A的約束條件h 1T A
TA-1h2=0。利用約束條件線性求解內(nèi)參數(shù)A。
式 (4)中B是一個對稱矩陣,可以用向量b=[B11,B12,B13,B22,B23,B33]T來表示,通過矩陣變換及解算,可求得矩陣B及內(nèi)參數(shù)矩陣A。再由矩陣A和映射矩陣H,分別計算20幀圖像的旋轉(zhuǎn)矩陣R和平移向量t。最后利用最大似然估計法,對獲取的內(nèi)、外參數(shù)進行優(yōu)化[7]。
為了驗證VS環(huán)境下標定的準確性,在Matlab2012環(huán)境下,用同一組圖樣進行了標定,繪制角點的圖像如圖3所示??梢姡瑯硕ㄟ^程中20幀不同位姿的圖像提取、繪制的角點,與VS環(huán)境下完全相吻合。
圖3 Matlab環(huán)境下繪制角點圖
在圍油欄前端浮筒快速捕獲系統(tǒng)中,目標識別及定位的關(guān)鍵,在于對圍油欄前端浮筒頂部圓心的檢測。相對于其他檢測方法,Hough變換在圖像存在噪聲、變形、部分區(qū)域丟失的情況下,也能獲得良好的檢測結(jié)果,可靠性高[8]。在復(fù)雜的海上環(huán)境下,圍油欄前端浮筒捕獲系統(tǒng)對浮筒圓心進行檢測時,獲取圖像過程中,可能會丟失部分圖像信息,出現(xiàn)誤差,所以系統(tǒng)選用Hough變換的方法進行檢測。
在Hough變換中,圓的檢測、變換過程如圖4所示,x-y平面上有一圓,r為圓的半徑,(a,b)為圓心坐標,其方程表示為
圖4 Hough變換檢測圓示意圖
點p1(x1,y1),p2(x2,y2),和p3(x3,y3)為圓上任意三點。把圖像空間中的圓,轉(zhuǎn)換到a-b-r參數(shù)空間,則圓上的一點對應(yīng)于參數(shù)空間中的一個三維錐面。要擬合出圖像中的圓,首先要求取所有的特征點對應(yīng)在參數(shù)空間中三維錐面及所有三維錐面的交點。然后統(tǒng)計出三維錐面相交次數(shù)最多的點,最終擬合出原空間的圓[9]。由交點坐標可推算出參數(shù)a,b,r,從而確定圓心坐標和半徑。
視覺系統(tǒng)中,攝像機模型被簡化為小孔成像模型[10],如圖5所示。設(shè)OCXCYCZC為攝像機坐標系,OWXWYWZW是世界坐標系,oxy是攝像機像平面坐標系,M為空間中的任意一點,m為M在像平面上的成像點。設(shè)圖像的像素坐標系為 ouv,坐標原點在攝像機像平面坐標系圖像的左上角,以像素為單位。
圖5 標定系統(tǒng)的坐標系
由世界坐標系、攝像機坐標系、圖像坐標系間的變換關(guān)系,經(jīng)過推導(dǎo)可得空間一點M的世界坐標(XW,YW,ZW)與其投影點m的像素坐標 (u,v)的關(guān)系如下:
式中:fx、fy、u0、v0為攝像機的內(nèi)參,可通過攝像機標定得到;R和t分別是世界坐標系到攝像機坐標系的旋轉(zhuǎn)矩陣和平移向量;矩陣M1也代表攝像機的內(nèi)參數(shù)矩陣;M2為外參數(shù)矩陣。在獲取點M的圖像坐標的情況下,根據(jù)坐標系間的轉(zhuǎn)換關(guān)系,可以求得點M的三維坐標Mw。
攝像機標定是在Microsoft VS2008環(huán)境下完成的,標定結(jié)果如式 (7)所示:
式中:A為攝像機的內(nèi)參數(shù)矩陣,kc為畸變系數(shù)。
作為驗證實驗,Matlab2012環(huán)境下的標定結(jié)果如式 (8)所示。
式中:fc、Cc為攝像機的內(nèi)參數(shù),分別代表焦距、圖像中心點;αc為斜交參數(shù);kc為畸變系數(shù);err為像素誤差。結(jié)果表明標定所得參數(shù)誤差,滿足要求。
當(dāng)攜帶攝像頭的機械臂進入浮筒正上方區(qū)域時,開始攝取目標圖像,其中一幀如圖6(a)所示,圖像大小為640×480。首先,對原始圖像進行灰度化處理得到灰度化圖像,如圖6(b)所示。
圖6 目標圖像及灰度化處理
Hough變換的結(jié)果是利用圖像的全局特征,將特定形狀的邊緣連接起來,并形成連續(xù)平滑的邊緣。因此在Hough變換前要對圖像進行邊緣檢測,實驗中采用Canny算子邊緣檢測方法。
實驗一:未對圖像進行去噪處理,直接對原始圖像的灰度圖進行邊緣檢測,檢測結(jié)果如圖7(a)所示。Hough變換擬合結(jié)果,如圖7(b)所示,結(jié)果表明偏差較大。
圖7 圖像處理檢測結(jié)果
實驗二:采用高斯濾波器對圖像做了平滑處理,然后再用Canny算子進行邊緣檢測,檢測結(jié)果如圖8(a)所示。Hough變換擬合結(jié)果,如圖8(b)所示,結(jié)果表明與實際目標相吻合。
圖8 圖像處理檢測結(jié)果
實驗所得具體數(shù)據(jù),圓心坐標,半徑r及坐標誤差,如表1所示。表中給出的數(shù)據(jù)均以像素為單位。實驗結(jié)果表明,在對目標原始圖像進行灰度化、去噪、邊緣檢測等一系列預(yù)處理后,利用Hough變換可以提取圓心坐標,誤差小,精度高。
表1 實驗數(shù)據(jù)及誤差
系統(tǒng)由上位機軟件實現(xiàn)對二維坐標到三維空間坐標的轉(zhuǎn)換,并計算出機械臂在x-y-z 3個方向上的平移距離。通過下位機PLC發(fā)出控制指令驅(qū)動機械臂準確捕獲目標,最終將圍油欄快速導(dǎo)出、展開。
在海上溢油回收船,圍油欄前端浮筒的快速捕系統(tǒng)中,利用單目視覺系統(tǒng)的幾何定位方法,對浮筒位置坐標進行了準確定位??朔藗鹘y(tǒng)的捕獲裝置,需要人眼配合操作、時間長、效率低的缺點。在發(fā)生溢油事故時,溢油回收船通過圍油欄前端浮筒的快速捕獲系統(tǒng),做出應(yīng)急響應(yīng),提高溢油回收船的自動化程度和作業(yè)效率。
[1]劉宗江,王世剛.運油船雙內(nèi)嵌收油機系統(tǒng)的研制[J].現(xiàn)代制造技術(shù)與裝備,2012(6):20-21.
[2]張帥,楊林.圍油欄輔助海面溢油的處理方法[J].科學(xué)技術(shù)與工程,2012,12(33):9126-9128.
[3]陶文靜,李文龍.RFID設(shè)備微小芯片視覺定位算法研究與實現(xiàn)[J].現(xiàn)代電子技術(shù),2012,35(20):175-179.
[4]王修巖,程婷婷.基于單目視覺的工業(yè)機器人智能抓取研究[J].機械設(shè)計與制造,2011(5):135-136.
[5]余文勇,石繪.機器視覺自動檢測技術(shù)[M].北京:化學(xué)工業(yè)出版社,2013.
[6]馬頌德,張正友.計算機視覺-計算理論與算法基礎(chǔ)[M].北京:科學(xué)出版社,1998.
[7]劉麗麗,李航.單目視覺的大型零件三維測量方法[J].機床與液壓,2014,42(3):121-123.
[8]于乃功,黃燦.基于單目視覺的機器人目標定位測距方法研究[J].計算機測量與控制,2012,20(10):2654-2656.
[9]趙鵬.機器視覺理論及應(yīng)用[M].北京:電子工業(yè)出版社,2011,135-156.
[10]王耀南,李樹濤,毛建旭.計算機圖像處理與識別技術(shù)[M].北京:高等教育出版社,2001:103-106.