陶 雄 吳 磊 黎 濤 曾曙光 葉劍飛
(三峽大學(xué) 理學(xué)院,湖北 宜昌 443002)
傳送帶隨著工業(yè)自動化的普及已經(jīng)成為現(xiàn)代工業(yè)不可或缺的工具.傳送帶上的物品種類繁多,小到易拉罐,大到汽車.傳送帶本身也可分為多種,例如帶式輸送機、板式輸送機、小車式輸送機等.實際生產(chǎn)中,為了實現(xiàn)自動化生產(chǎn)或質(zhì)量檢測,需要對傳送帶上產(chǎn)品的位置進行實時監(jiān)測.目前,對于傳送帶上產(chǎn)品識別與定位大多還是依靠人工的方式.這種方式速度慢、準確度低,不能有效地滿足現(xiàn)代工業(yè)中自動化生產(chǎn)、檢測的需求.
傳統(tǒng)上,對于物體的識別與定位廣泛采用的是雙目視覺技術(shù)[1-2].由于傳送帶是一個理想的平面,可以采用單目視覺技術(shù)來實現(xiàn)產(chǎn)品的識別與定位.相比雙目視覺,單目視覺具有器材簡單、操作方便、實用性廣等優(yōu)點.國內(nèi)相關(guān)領(lǐng)域的學(xué)者們利用單目視覺技術(shù)在平面測量[3]、快速平面標定[4]、道路圖像識別[5-6]、藥粒分類[7]等方面開展了研究.
本文主要利用單目視覺及數(shù)字圖像處理技術(shù)完成傳送帶上產(chǎn)品的定位.實驗通過拍攝傳送帶圖片,對圖片進行處理得到傳送帶上物體距相機的準確距離達到定位的目的.依據(jù)傳送帶上物品需要的準確定位區(qū)域,預(yù)先設(shè)置取框過程中框的大小,批量處理傳送帶上的圖片.此方法簡單易行、準確性高,在節(jié)約成本的同時還可以推廣到道路上車輛的定位、機器人定位系統(tǒng)等方面.
圖1給出了世界坐標系示意圖.世界坐標系oxyz:選取傳送帶所在平面為平面oxy,z軸垂直于oxy平面豎直向上.x垂直于傳送帶運動方向,y平行于傳送帶運動方向.Oc為攝像機在傳送帶上的投影點.Oc到o點在y軸方向的距離為y0.
圖1 世界坐標系示意圖
圖2給出了攝像機坐標系示意圖.攝像機坐標系:以攝像機的光軸中心點Om為坐標系原點,zm軸的方向平行于攝像機光軸,并取攝像機到景物的方向為正方向.xm軸方向取圖像坐標沿水平增加的方向,ym軸方向取圖像坐標沿豎直增加的方向[3].P1、P2為場景點,q1、q2分別為兩點在圖像平面的投影.
圖2 攝像機坐標系
1.2.1 張正友平面標定法
張正友平面標定原理如下[8]:
公式(1)中fu、fv、u0、v0只與攝像機內(nèi)部參數(shù)有關(guān),故稱矩陣M1為內(nèi)參數(shù)矩陣.其中fu=f/dX,fv=f/dY,分別稱為u軸和v軸上的歸一化焦距;f是相機的焦距,dX和dY分別表示傳感器u軸和v軸上單位像素的尺寸大小.γ為u軸、v軸的垂直度.u0和v0則表示的是光學(xué)中心,即攝像機光軸與圖像平面的交點,通常位于圖像中心處,故其值常取分辨率的一半.為實際上每個點對應(yīng)的縮放系數(shù).R、t分別稱為旋轉(zhuǎn)矩陣和平移矩陣.R是一個3×3的矩陣,t則是一個3×1的矩陣.M2為攝像機的外參數(shù)矩陣.
1.2.2 本文標定公式
設(shè)三維空間有一點Q=[XYZ1]T(齊次坐標系表示),到成像儀上的q=[xy1]T映射,設(shè)單應(yīng)性矩陣為H,s為比例系數(shù).則Q和q之間的關(guān)系可表示為q=sHQ.
也就是這段突然而至的沉默,讓我想起了老家門口的四棵古樟,它們是那么自然地出現(xiàn)在我的生命中——我一出生,它們就已經(jīng)在家門口等我。
在點映射過程中,點要經(jīng)過旋轉(zhuǎn)和平移的物理變換,所以設(shè)物理變換坐標M2=[RT].然后在投射過程中,根據(jù)得到的攝像機的內(nèi)參矩陣M1,所以q=sM1M2Q,從而推算出H=M1M2.H為3×3的單應(yīng)性矩陣,描述了空間中平面三維點(z≡0)和相機平面二維點之間的關(guān)系.H通過Matlab相機標定工具箱(toolbox_calib)得到[9],這是整個標定過程最終需要的參數(shù).
結(jié)合試驗過程同時為了讓公式更簡潔,可將(1)式簡化為
1.3.1 圖片加框
為了減小物體識別的難度、降低復(fù)雜場景帶來的誤差,在定位過程中引入圖片加框技術(shù).圖3給出了含有魔方、茶罐的圖片加框例子.預(yù)先將攝像機的取景區(qū)域?qū)蕚魉蛶闲铚蚀_定位的區(qū)域并固定攝像機位置.輸入圖片后運用Matlab中g(shù)input函數(shù)手動選取4個點,利用roipoly函數(shù)構(gòu)成大小、形狀均適合且包含所有待測物體(必須含有各物體邊界)的四邊形區(qū)域用于處理傳送帶上的圖片,即形成所謂的取景框.
圖3 圖片加框過程
如圖3(a)所示,取景框區(qū)域內(nèi)都為白色(灰度值1),區(qū)域外的都為黑色(灰度值0).將取景框與原圖片進行與運算得到僅含四邊形區(qū)域Ω內(nèi)場景的圖片(b).對圖片(b)進行邊緣檢測得到圖片(c).去掉圖片(c)中的邊框后可以得到圖片(d).圖片(d)中僅僅包含了待識別和定位的物體.
1.3.2 取下邊界
對圖片(d)先通過4連通算法進行連通分量提取和統(tǒng)計.識別出圖片中的物體的個數(shù),并分離出各個物體.圖4~5的橫縱坐標分別表示物體在垂直傳送帶運行方向和平行于傳送帶運行方向的像素坐標.對識別出的物體分別提取其在圖片對應(yīng)范圍內(nèi)、每一列灰度值為1且像素坐標最大的點.輸出所有點構(gòu)成物體的下邊界.例如,圖4顯示的是魔方的下邊界,圖5顯示了茶罐的下邊界.
圖4 魔方下邊界
圖5 茶罐下邊界
實驗中用到了數(shù)碼相機、相機支架、10×10標定板、筆記本電腦、卷尺等.標定板由14×14個邊長為30mm的正方形方格構(gòu)成.相機的分辨率為4 608×2 592,相機的F數(shù)為4.0,相機到傳送帶的垂直距離約為60cm.由于傳送帶是理想平面,實驗中讓標定板沿y軸方向(見圖1)移動,地面近似模擬傳送帶平面.將標定板至于需要定位的區(qū)域,建立該區(qū)域的世界坐標系oxyz.
要實現(xiàn)產(chǎn)品的識別與定位,需要先知道相機的內(nèi)外參數(shù).相機拍攝不同位置、不同角度帶有方格的標定板,利用 Matlab中的相機標定工具箱(toolbox_calib)錄入圖片,經(jīng)過角點提取、處理運行等操作可得到相機的內(nèi)參數(shù).
固定攝相機在傳送帶上的位置與傾角后拍攝帶有方格的標定板,然后將拍攝到的圖片通過toolbox_calib中的Comp.Extrinsic工具提取四周角點,設(shè)置較小的提取角點窗口范圍(wintx×winty)控制精度、用Recomp.corner工具減小圖片邊緣帶來的誤差,得到單應(yīng)性矩陣H.通過H=sM1M2,最后得到外參數(shù).保持傾角與相機的位置不變,使得外參數(shù)與后續(xù)拍攝傳送帶上的圖片的外參數(shù)相同.
錄入圖片,從圖像文件(TIF格式)中讀取圖像數(shù)據(jù).將三維圖像劃分為紅、綠、藍三中分量的3幅灰度圖.選出物體與圖片背景之間灰度值相差較大,分割閾值較好的灰度圖.對這些灰度圖進行圖片加框、取下邊界等操作.由于傳送帶上有可能有單個或多個物體及單種多種物體的存在.接下來分別以單物體和多物體做定位實驗.
2.2.1 單物體的定位
圖6顯示了茶罐作為單物體定位的初始圖.將茶罐下邊界所有點帶到公式(2),得到各點對應(yīng)在傳送帶運行方向上的的Y值.選取最小Y值,并將最小Y值帶入公式(3),可求得茶罐距離參考點的距離L.最小Y值對應(yīng)點即定位點.圖7給出了茶罐圖片經(jīng)過二值化、邊緣檢測后的圖片,圖片中用橙色三角形標識出了定位點.
圖6 單物體原圖
圖7 圖像處理后的單物體圖片
2.2.2 多物體的定位與識別
首先,對多物體的二值化圖像進行連通分量的提取.從二值圖像中提取連通分量是許多自動圖像分析應(yīng)用的核心.為減少對圖像的過度分割,本文采用4連通算法對連通分量進行提取和統(tǒng)計.其次,設(shè)定合適分割閾值.多物體中的定位與識別中,當前一個物體后邊界與后一物體前邊界的像素坐標在攝像機坐標系ym方向上的差大于分割閾值時,就認為兩相鄰物體不相連.若小于閾值則認為是同一物體.對不相連的物體分別提取下邊界,利用下邊界輪廓識別出物體.最后,依據(jù)單物體定位原理,將各個物體的定位點返回到經(jīng)過二值化處理的邊界圖像輸出.通過公式(2)~(3)得到各個物體的定位距離.
圖8給出了魔方與茶罐作為多物體定位試驗對象的原始圖片.圖9給出了茶罐圖片經(jīng)過二值化、圖像分割后的圖片,圖中用橙色三角形標識出了定位點.
圖8 多物體原圖
圖9 圖像處理后的多物體圖片
為了測試本文提出的方法在傳送帶上定位、識別的普適性,分別進行了單物體和多物體的定位實驗.兩組實驗結(jié)果分別見表1、表2.
表1 單物體定位實驗數(shù)據(jù)
表2 多物體定位實驗數(shù)據(jù)
由上表可知,單物體定位實驗中平均標定誤差1.8‰,多物體定位實驗中兩物體相對于世界坐標系誤差平均值小于1.1‰.這說明該方法可以有效地實現(xiàn)傳送帶上單個或多個物體的定位.
導(dǎo)致表中各物體定位誤差的主要來源如下:1)相機景深有限且相機拍攝照片在邊緣部分存在桶形畸變,導(dǎo)致物體位于取景區(qū)域上、下邊緣會有較大標定誤差.2)由于打印機精度有限,標定紙上的方格并不是嚴格的正方形.3)Matlab錄入圖像的像素過高會不完全顯示,實驗中需要對圖片進行壓縮.在壓縮后的圖像中一個像素坐標代替了多個原圖像的像素坐標,這也會帶來一定的誤差.
本文提出了一種基于單目視覺的傳送帶上產(chǎn)品定位技術(shù).利用相機的針孔模型,依據(jù)張正友的平面標定方法,通過數(shù)字圖像處理技術(shù)實現(xiàn)了傳送帶上產(chǎn)品的定位.在定位過程中引入了圖片加框技術(shù),顯著降低了復(fù)雜場景帶來的誤差.實驗結(jié)果表明:該方法可以有效地實現(xiàn)傳送帶上單個或多個物體的定位;其中單物體定位的平均誤差為1.8‰,多物體定位的平均誤差小于1.1‰.
限于實驗條件所限,實驗采用的標定板尺寸較小,導(dǎo)致隨機誤差較大.通過增大標定板、增大計算機的分辨率,可進一步提高定位精度.通過改善照明條件,可以將物體陰影、反光消除,可使該實驗的可靠性更高.另外,通過改善軟硬件條件還可以實現(xiàn)傳送帶上產(chǎn)品的實時定位.此方法簡單易行、準確性高,可以推廣到道路上車輛的定位、機器人自動定位等方面.
[1] 鄭志強,李秀才,劉 斐.基于COMS的雙目定位系統(tǒng)的設(shè)計[J].國防科技大學(xué)學(xué)報,2003,25(6):1-4,34.
[2] 高棟棟.基于雙目立體視覺定位和識別技術(shù)的研究[D].秦皇島:燕山大學(xué),2013.
[3] 尹英杰,徐 德,張正濤,等.基于單目視覺的平面測量[J].電子測量與儀器學(xué)報,2013,27(4):347-352.
[4] 張俊前,王文進.非測量相機的一種快速平面標定[J].測繪與空間地理信息,2008,31(6):187-189.
[5] 鄭全新.基于單目視覺的目標識別與定位[D].濟南:山東大學(xué),2013.
[6] 張 陽.基于單目視覺的道路圖像識別技術(shù)與研究[D].長沙:長沙理工大學(xué),2009.
[7] 李怡萱.圖像處理在藥粒自動分揀系統(tǒng)中的應(yīng)用[J].中國科技信息,2011(17):132.
[8] Zhang Zhengyou.A Flexible New Technique for Camera Calibration[J].IEEE Trans.Pattern Anal.March Intell,2000,22(11):1330-1334.
[9] 茹海峰,王耀明,殷 業(yè).計算機視覺中基于平面標定物體的攝像機標定[J].上海電機學(xué)院學(xué)報,2005(6):53-55.