劉 昶,王玉晗,張 鑫,劉麗萍
(沈陽理工大學(xué) 信息科學(xué)與工程學(xué)院,沈陽 110159)
長方體紙箱是一種主要的包裝制品,對于郵政、海關(guān)、倉儲、物流及某些加工企業(yè),為進(jìn)行貨物的自動分揀和體積估算,需要對傳送線上的長方體紙箱的三維尺寸進(jìn)行自動化測量。一般的測量方法是采用三組光幕進(jìn)行測量,當(dāng)前光幕的分辨率可達(dá)1mm,每組光幕用于測量一維尺寸,這種方法結(jié)構(gòu)比較簡單,但在測長寬時要求箱體在傳送帶上的擺放不能歪斜;另一種是采用機器視覺的方法[1-3],具有非接觸、速度快的特點。文獻(xiàn)[4]采用單相機和兩組線結(jié)構(gòu)光構(gòu)成視覺系統(tǒng),利用三維重建的原理測量卷煙包裝盒的三維尺寸,該系統(tǒng)測量精度較高,但使用的設(shè)備較多。文獻(xiàn)[5]利用單相機與2組點結(jié)構(gòu)光組成測量裝置,具有靈活、便攜的優(yōu)點,但要求2組點結(jié)構(gòu)光與相機的像平面垂直,且已知兩條平行光束間的距離,對設(shè)備安裝要求高。文獻(xiàn)[6]證明,利用長方體本身具有的幾何特性,使用一個已標(biāo)定相機,只需知道在長方體某一個平面上的兩個特征點間的實際距離,便可利用長方體頂點的圖像坐標(biāo)獲得其三維尺寸。文獻(xiàn)[7]實現(xiàn)了一個長方體表面的三維重建,但事先需要人為指定長方體一個頂點的深度值。文獻(xiàn)[8]采用了雙目視覺的方法,但需要人工選擇特征點。
在應(yīng)用機器視覺的方法中,首先需要從圖像中提取出長方體可見的邊線或頂點特征,再通過計算特征間距離實現(xiàn)測量。對于長方體邊線的提取,典型方法是采用Hough變換從原始圖像或原始圖像的校正圖像中獲取直線方程[9],受相機透視投影的影響,長方體邊線間的平行和垂直關(guān)系在原始圖像的校正圖像中都不成立,一般是利用消失點和消失線確定直線間的平行關(guān)系[1-3,10-11],因此直線間固有的約束不易被利用,容易導(dǎo)致特征提取出現(xiàn)偏差,影響測量精度。
本文提出一種基于投影輪廓的長方體紙箱測量方法,通過一臺已標(biāo)定的相機拍攝的一幅圖像實現(xiàn)對目標(biāo)的三維測量。采用虛擬像平面相機模型,利用相機標(biāo)定結(jié)果生成紙箱在支撐平面上的投影圖像,本文稱其為虛擬圖像,相比于目標(biāo)在真實像平面的成像,在該虛擬圖像上長方體的邊線保持了其固有的垂直和平行特性;利用這些特性,通過提取目標(biāo)的輪廓點構(gòu)造邊線點集,采用最小二乘方法得到虛擬圖像上的六條邊緣的直線方程;進(jìn)而獲得目標(biāo)的三維尺寸。
理想的相機模型是一個針孔模型,若以齊次坐標(biāo)的形式表達(dá),世界坐標(biāo)系中的點(x,y,z,1)與圖像中的無畸變對應(yīng)點(u,v,1)間存在以下關(guān)系
(1)
(2)
式中:k1、k2為鏡頭徑向畸變參數(shù);p1、p2為切向畸變參數(shù)。采用主流的相機標(biāo)定方法[12],可獲得相機的內(nèi)外參數(shù)及鏡頭畸變參數(shù)。
以相機光心為透視中心,以長方體的支撐面為投影平面,一個三視面的長方體的投影效果如圖1所示。
圖1中投影平面上的六邊形A′B′C′DEF構(gòu)成長方體的投影輪廓,其中點A′、B′、C′、G′分別是長方體頂點A、B、C、G的投影點,S為相機光心OC在該平面上的垂直投影點。
在投影平面上建立世界坐標(biāo)系,長方體的投影輪廓線滿足以下性質(zhì):
性質(zhì)1.A′B′//DE//C′G′;
性質(zhì)2.B′C′//EF//A′G′;
性質(zhì)3.∠A′B′C′=∠DEF=90°;
性質(zhì)4.A′C′//DF;
性質(zhì)5.A′F、G′E、C′D相交于S;
性質(zhì)6.記V為輪廓的內(nèi)點集合,則
SE=min{SP|P∈V},SB′=max{SP|P∈V}。
圖1 三視面長方體的投影示意圖
本文利用長方體在支撐平面上的投影圖像實現(xiàn)目標(biāo)的三維尺寸測量,為生成目標(biāo)在該投影平面的投影圖像,首先標(biāo)定出相機的內(nèi)參數(shù)、相對于所定義的世界坐標(biāo)系的外參數(shù)、鏡頭畸變參數(shù);再根據(jù)視場區(qū)域,在投影平面上劃分若干等間距網(wǎng)格,若能估計出每個網(wǎng)格點的像素值,則這些網(wǎng)格點構(gòu)成一幅虛擬圖像;由于每個網(wǎng)格點的世界坐標(biāo)是已知的,可利用公式(1)計算其在真實像平面上的無畸變投影點,再利用公式(2)計算其有畸變圖像點,再利用雙線性插值方法或雙三次插值方法對該網(wǎng)格點的像素值進(jìn)行估計。
由相機外參數(shù)的標(biāo)定結(jié)果也可得到相機光心在世界坐標(biāo)系下的坐標(biāo)
(xCyCzC)T=-RT
(3)
由相機光心和虛擬圖像構(gòu)成相機的新的透視模型,本文稱其為相機的虛擬像平面模型,該模型中的虛擬主點坐標(biāo)為(xC,yC),虛擬焦距為zC,虛擬圖像的像素距為人為劃分的網(wǎng)格間距。由于虛擬圖像在生成過程中消除了鏡頭畸變的影響,因此虛擬圖像是一個無鏡頭畸變的圖像,該模型是一個理想的透視模型,針對長方體測量,使用該模型的優(yōu)點是投影圖像中的輪廓邊緣直線具有1.2節(jié)中描述的便于利用的幾何性質(zhì)。
本文采用機器學(xué)習(xí)的方法[13-15]從投影圖像中提取紙箱的輪廓,將不同種類的紙箱置于場景中,拍攝若干樣本圖像,對紙箱區(qū)域進(jìn)行人工劃分,得到紙箱前景、背景的樣本點集,應(yīng)用具有高斯核函數(shù)的支持向量機(Support Vector Machine,SVM)方法[16],獲得前、背景分割的分類器,用于提取目標(biāo)圖像中的紙箱區(qū)域,再利用中值濾波對前景圖像進(jìn)行濾波,進(jìn)行邊緣提取后得到紙箱的輪廓點,構(gòu)成輪廓點集U。
從工程應(yīng)用的角度考慮,為便于紙箱區(qū)域提取,可以將測量系統(tǒng)的背景設(shè)計得比較簡單,并且與紙箱顏色有較大差別,但由于紙箱上有印字等原因,容易導(dǎo)致紙箱輪廓內(nèi)部區(qū)域出現(xiàn)誤分割,并導(dǎo)致邊緣提取后部分內(nèi)部點被誤劃入輪廓點集,因此在輪廓線段樣本點集構(gòu)造過程中應(yīng)避免這些錯誤點的影響。
為精確提取每條輪廓線段的直線方程,需首先從U中分離構(gòu)造出各線段的樣本點集。本文利用長方體的投影輪廓是一個凸六邊形的性質(zhì),首先判別某個頂點的位置,再從該頂點出發(fā),利用一維Hough變換的方法構(gòu)造兩個鄰邊的樣本點集。下面以線段DE和EF為例說明構(gòu)造其對應(yīng)的點集SDE和SEF的過程。
(5)分別以兩個候選區(qū)間中的輪廓點作為樣本點,估算DE和EF的直線方程y=kDEx+bDE和y=kEFx+bEF;
(6)分別對兩個候選區(qū)間中的每個輪廓點P(xP,yP),計算其到相應(yīng)直線的距離;
從以上構(gòu)造過程看,輪廓點集中長方體內(nèi)部的錯誤點,并不會對邊線點集的構(gòu)造結(jié)果有太大的影響。
由性質(zhì)1、性質(zhì)2、性質(zhì)3,受平行與垂直約束,A′B′、B′C′、DE、EF的直線方程可分別表示為
(4)
式中k、bAB、bBC、bDE、bEF為未知參數(shù)。
利用采樣點集SAB、SBC、SDE、SEF,對公式(4)應(yīng)用最小二乘法,可獲得k、bAB、bBC、bDE、bEF的估計值,得到以上4條直線在世界坐標(biāo)系中的直線方程。
根據(jù)k的估計值對原世界坐標(biāo)系進(jìn)行變換,使光心在底面的投影點S為新坐標(biāo)系的原點,坐標(biāo)軸分別與ED和EF平行,新坐標(biāo)系下的輪廓如圖2所示。
圖2中bA、bD、bF、bC均可通過坐標(biāo)變換獲得,xA、yC的值待定。由性質(zhì)4和性質(zhì)5容易得到
(5)
(6)
于是直線SA′在新坐標(biāo)系下的直線方程為
bAx′-xAy′=0
(7)
直線SC′在新坐標(biāo)系下的直線方程為
(8)
直線方程(7)和(8)構(gòu)成對參數(shù)xA的線性約束。將點集SFA和SCD內(nèi)點的坐標(biāo)轉(zhuǎn)換成新坐標(biāo)系下的坐標(biāo),為簡化符號,在不引起歧義的情況下,這里仍用(xP,yP)表示點集內(nèi)的P點在新坐標(biāo)系下的坐標(biāo)。
圖2 坐標(biāo)變換后的三視面投影輪廓
利用點集SFA和直線SA′的直線方程(7),應(yīng)用最小二乘法,可得到xA的近似值
(9)
將SA′和SC′兩條直線的方程(7)和(8)表達(dá)為近似歸一化形式
(10)
此時若將樣本點代入公式(10)的約束方程,則約束產(chǎn)生的誤差的絕對值近似為樣本點到相應(yīng)直線的距離。利用點集SFA和SCD對公式(10)的約束方程應(yīng)用最小二乘法可得到xA的估計生的誤差的絕對值近似為樣本點到相應(yīng)直線的距離。利用點集SFA和SCD對公式(10)的約束方程應(yīng)用最小二乘法可得到xA的估計值。
(11)
設(shè)某長方體的三維尺寸為200mm×150mm×100mm,將長方體底面看作是虛擬像平面,并在該平面上根據(jù)長方體的底邊建立世界坐標(biāo)系,假設(shè)在長方體前方放置相機,相機坐標(biāo)系相對于世界坐標(biāo)系x、y、z三個坐標(biāo)軸的旋轉(zhuǎn)角分別為225°、30°、90°;平移向量為(-150,180,1200)(單位:mm);設(shè)相機的內(nèi)參數(shù)為fu=fv=2000,u0=800,v0=600。在長方體可見的6條輪廓線上進(jìn)行采樣,每1mm設(shè)置一個采樣點,根據(jù)采樣點在世界坐標(biāo)系中的空間坐標(biāo)計算其對應(yīng)的圖像坐標(biāo)(ui,vi),并計算其投影到虛擬像平面上的坐標(biāo)(xi,yi)作為長方體輪廓的采樣點,圖3是這些采樣點在虛擬圖像上的分布情況。虛擬圖像的尺寸為1000×1000像素,像素距為0.5mm。仿真實驗中對虛擬圖像中的采樣點施加服從均勻分布U[-λ,λ]的干擾,這里λ(單位:像素)為干擾強度。利用被干擾后的采樣點坐標(biāo)通過本文的方法提取直線并進(jìn)行長方體的三維尺寸計算。針對某個干擾強度λ,進(jìn)行500次仿真實驗,對測量結(jié)果相對于真實值的誤差進(jìn)行統(tǒng)計,圖4是測量平均誤差隨λ的變化情況,圖5是最大誤差隨λ的變化情況。
從仿真結(jié)果看,當(dāng)λ=0時,算法可準(zhǔn)確得到長方體的三維尺寸,說明了本文算法的正確性;誤差總體上隨著干擾強度的增大而增加,當(dāng)邊緣點提取誤差最大達(dá)到5個像素時測量最大誤差仍能保持在1mm以內(nèi),平均誤差在0.3mm以內(nèi),說明算法具備較好的魯棒性。
圖3 虛擬圖像上的采樣點
圖4 仿真實驗中平均誤差變化曲線
圖5 仿真實驗中最大誤差變化曲線
本實驗選擇三個不同規(guī)格的紙箱樣品,針對每個樣品拍攝其在不同位置姿態(tài)下的照片各15幅,并利用本文方法進(jìn)行測量。圖6顯示了其中三組的實驗圖像,其中左側(cè)第一列為紙箱原始圖像,實驗中相機采用Basler acA1600-20gc彩色相機,配12mm工業(yè)鏡頭,目標(biāo)距相機距離約1m,原始圖像的尺寸為1624×1234像素;第二列為對應(yīng)的虛擬圖像,虛擬圖像的尺寸為1400×1400像素,像素距為0.5mm;第三列為利用SVM方法分割出的紙箱區(qū)域;第四列為利用本文方法最終提取出的六條邊緣直線。從圖像上看,三種樣品在區(qū)域分割過程中受標(biāo)簽、膠帶反光影響,在紙箱中間和邊緣處都出現(xiàn)了誤分割;受桌面紋理和陰影的影響,在背景區(qū)域也存在誤分割,但均未對最終的直線提取產(chǎn)生很大的影響,說明了本文方法具有一定的魯棒性。
圖6 三種紙箱樣品的實驗圖像
表1是針對每個樣品測量的誤差統(tǒng)計結(jié)果。
表1 實際紙箱樣品的測量結(jié)果 mm
從表1可以看出,實驗中對紙箱的三維測量誤差在毫米量級,平均相對誤差在2%以內(nèi),最大相對誤差在5%以內(nèi),本文算法針對實際紙箱的測量也取得了較好的結(jié)果。
將實驗結(jié)果與現(xiàn)有方法的結(jié)果進(jìn)行對比,根據(jù)文獻(xiàn)[5-6,8]中的數(shù)據(jù),文獻(xiàn)[5]采用單目視覺和2組點結(jié)構(gòu)光的方法實現(xiàn)了紙箱三維尺寸的自動化測量,對真實紙箱的測量相對誤差在0.20%到11.20%之間;文獻(xiàn)[6]采用精確標(biāo)定的單相機對長方體標(biāo)準(zhǔn)塊的測量相對誤差在2%以內(nèi),但要求手工確定特征點,沒有達(dá)到本文自動化處理的水平;文獻(xiàn)[8] 采用雙目視覺并手工選擇特征點的方法,對紙箱的測量相對誤差在1.5%到11.7%之間。綜合以上對比結(jié)果,本文方法的測量精度不低于現(xiàn)有最好的方法,在測量系統(tǒng)結(jié)構(gòu)的簡單性、自動化程度、魯棒性等方面都具有優(yōu)勢。
本文提出一種利用長方體紙箱本身具有的幾何約束,通過單相機對其進(jìn)行三維尺寸測量的方法,該方法建立了目標(biāo)在支撐平面上的投影圖像,不僅實現(xiàn)了鏡頭畸變校正,還保持了長方體輪廓線間固有的平行和垂直約束關(guān)系,通過合理運用這些約束進(jìn)行邊緣直線特征提取,有利于提高測量精度。仿真和真實實驗都證明該方法具有一定的魯棒性。該方法僅需一臺已標(biāo)定相機完成測量,視覺系統(tǒng)結(jié)構(gòu)簡單,適用于對傳送帶上的長方體紙箱進(jìn)行三維尺寸測量。