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