王凱等
摘 要: 針對(duì)基于三維掃描的商品過(guò)度包裝智能檢測(cè)系統(tǒng)中檢測(cè)攝像機(jī)與被測(cè)物間三維軸線求解復(fù)雜的問(wèn)題,提出一種在過(guò)度包裝檢測(cè)系統(tǒng)中檢測(cè)攝像機(jī)與被測(cè)物間三維軸線求解方法。該方法利用棋盤(pán)格做標(biāo)記板,在計(jì)算機(jī)上利用OpenCV對(duì)標(biāo)記圖像進(jìn)行識(shí)別處理,利用三維重建原理對(duì)坐標(biāo)進(jìn)行二維到三維的變換和空間點(diǎn)重建,實(shí)現(xiàn)三維掃描下攝像機(jī)與被測(cè)物之間的三維軸線求解。在實(shí)驗(yàn)中,該方法測(cè)試數(shù)據(jù)達(dá)到該系統(tǒng)對(duì)精度的要求。所提方法中測(cè)量裝置結(jié)構(gòu)簡(jiǎn)單,在轉(zhuǎn)換過(guò)程中不需要對(duì)標(biāo)記進(jìn)行邊緣檢測(cè),減少了計(jì)算量,同時(shí)使測(cè)量效率得到提高,降低求解的復(fù)雜程度。
關(guān)鍵詞: 過(guò)度包裝檢測(cè); 標(biāo)記板; 坐標(biāo)轉(zhuǎn)換; 角點(diǎn)識(shí)別
中圖分類(lèi)號(hào): TN942.2?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2015)18?0022?04
Abstract: Aiming at the complex problem of calculating three?dimensional axis between the detecting camera and the object under test in the commodity excessive packing intellectual detection system based on three?dimensional scanning, a new method is proposed to calculate three?dimensional axis between the detecting camera and the object under test. It takes checkerboard as marking plate, makes use of OpenCV to recognize and deal with the marking images, realizes coordinate conversion from 2D to 3D and spatial point reconstruction according to the principle of 3D reconstruction, and implements the calculation of 3D axis between the detecting camera and the object under test. The experiment results show that the structure of measuring device is simple, it is unnecessary to make edge detection for the marks in the process of transform. The method, which has less calculated amount and high measuring efficiency, can fulfill the precision demands of the system and reduce measuring complexity.
Keywords: excessive packaging detection; marking plate; coordinate conversion; corner recognition
0 引 言
隨著商品經(jīng)濟(jì)的發(fā)展,市場(chǎng)形成供大于求的局面,商品對(duì)包裝促銷(xiāo)作用的要求越來(lái)越高。因此,在產(chǎn)品的銷(xiāo)售過(guò)程中經(jīng)常會(huì)出現(xiàn)過(guò)度包裝[1]的現(xiàn)象。按照市場(chǎng)規(guī)律分析,其產(chǎn)生的原因主要在于生產(chǎn)者、設(shè)計(jì)者、消費(fèi)者、決策者4個(gè)方面。而在技術(shù)上對(duì)過(guò)度包裝進(jìn)行檢測(cè),便有了很大的需求?;谌S建模的商品過(guò)度包裝智能檢測(cè)過(guò)程包含前期的攝像機(jī)標(biāo)定和轉(zhuǎn)臺(tái)標(biāo)定、三維掃描、形態(tài)辨識(shí)與建模[2]、異類(lèi)形體包裝體積智能換算,以及包裝空隙率運(yùn)算與是否過(guò)度包裝判定等基本環(huán)節(jié),如圖1所示。
對(duì)商品的三維數(shù)據(jù)采集需要從多個(gè)角度進(jìn)行采集,并將這些從不同視角觀察的三維數(shù)據(jù)通過(guò)對(duì)齊復(fù)位過(guò)程表示于同一坐標(biāo)系中,對(duì)散亂點(diǎn)云進(jìn)行配準(zhǔn)[3]恢復(fù)其原有的位置關(guān)系。為此,在三維數(shù)據(jù)采集中攝像機(jī)與被測(cè)物間空間坐標(biāo)的轉(zhuǎn)換就成為該檢測(cè)系統(tǒng)精確測(cè)量與判定的基礎(chǔ)。
在單目視覺(jué)下或者是在雙目視覺(jué)下進(jìn)行物體三維信息的重建[4]工作時(shí),都需要進(jìn)行三維信息的還原,通常采用雙目測(cè)量技術(shù)。雙目測(cè)量技術(shù)是計(jì)算機(jī)視覺(jué)[5]檢測(cè)技術(shù)的一個(gè)重要組成部分,利用2個(gè)攝像機(jī)模擬人眼的結(jié)構(gòu)對(duì)空間特征點(diǎn)進(jìn)行測(cè)量。為了保證被測(cè)物隨轉(zhuǎn)臺(tái)旋轉(zhuǎn)之后測(cè)量的準(zhǔn)確性,需要對(duì)轉(zhuǎn)臺(tái)參數(shù)進(jìn)行標(biāo)定,找出旋轉(zhuǎn)臺(tái)的旋轉(zhuǎn)軸線[6]。這其中就涉及到了轉(zhuǎn)臺(tái)參數(shù)計(jì)算這個(gè)重要環(huán)節(jié)。在數(shù)據(jù)采集過(guò)程中有被動(dòng)式采集和主動(dòng)式采集2種方法[7]。在三維重建中2種采集方式都可以使用[8],二者的區(qū)別在于,被動(dòng)式?jīng)]有受控的主動(dòng)光源,無(wú)需復(fù)雜的設(shè)備,并且與人類(lèi)的視覺(jué)習(xí)慣比較接近,其測(cè)量技術(shù)主要用于受環(huán)境約束不能使用激光或者特殊照明光的場(chǎng)合;主動(dòng)式數(shù)據(jù)采集有受控光源,二者互有優(yōu)劣。本文采用的是被動(dòng)式采集,利用棋盤(pán)格做標(biāo)記板,在計(jì)算機(jī)上對(duì)圖像進(jìn)行檢測(cè)識(shí)別,將坐標(biāo)進(jìn)行變換和空間點(diǎn)重建,來(lái)實(shí)現(xiàn)雙目視覺(jué)下攝像機(jī)與被測(cè)物之間三維軸線求解。
1 雙目視覺(jué)下三維坐標(biāo)轉(zhuǎn)換原理
在需要進(jìn)行軸線求解的領(lǐng)域中,現(xiàn)在一般有以下幾種常見(jiàn)的方法:第1種是對(duì)于計(jì)算機(jī)視覺(jué)測(cè)量中軸線標(biāo)定的方法主要標(biāo)準(zhǔn)平面或高精度半徑已知的標(biāo)準(zhǔn)球[9]來(lái)實(shí)現(xiàn)。通過(guò)被標(biāo)定的視覺(jué)測(cè)量設(shè)備首先從多個(gè)旋轉(zhuǎn)位置獲取標(biāo)準(zhǔn)平面或標(biāo)準(zhǔn)球的表面三維數(shù)據(jù),然后根據(jù)三維點(diǎn)數(shù)據(jù)擬合出平面或球的表面方程,最后根據(jù)平面或標(biāo)準(zhǔn)球的幾何特征求取出旋轉(zhuǎn)臺(tái)的旋轉(zhuǎn)軸線位置。第2種方法是利用球形標(biāo)靶[10],旋轉(zhuǎn)若干個(gè)位置(至少3個(gè))通過(guò)灰度值跳變像素粗略尋出標(biāo)靶的邊緣,然后根據(jù)邊緣上相鄰像素點(diǎn)之間的曲率變化對(duì)邊緣進(jìn)行篩選,得到準(zhǔn)確地球形標(biāo)靶邊緣點(diǎn),使用最小二乘法獲取球形標(biāo)靶的圓心,此后通過(guò)每個(gè)圓心三維點(diǎn)數(shù)據(jù)進(jìn)行擬合平面進(jìn)而求取軸線。
本文對(duì)上述方法進(jìn)行了總結(jié)和分析,結(jié)合實(shí)際的項(xiàng)目,提出了利用棋盤(pán)格做標(biāo)定板來(lái)進(jìn)行軸線標(biāo)定的方法。在此對(duì)該方法進(jìn)行詳細(xì)的介紹。
1.1 測(cè)量裝置環(huán)境搭建
在雙目視覺(jué)系統(tǒng)下,把轉(zhuǎn)臺(tái)置于2個(gè)攝像機(jī)的視場(chǎng)內(nèi),并且把用于攝像機(jī)標(biāo)定的棋盤(pán)格置于轉(zhuǎn)臺(tái)上,其位置沒(méi)有特殊要求,最好是平放在轉(zhuǎn)臺(tái)上或與轉(zhuǎn)臺(tái)成一定角度,方便轉(zhuǎn)臺(tái)在旋轉(zhuǎn)更大角度時(shí),攝像機(jī)可以檢測(cè)棋盤(pán)格上角點(diǎn),此裝置用棋盤(pán)格代替?zhèn)鹘y(tǒng)的標(biāo)記圓和標(biāo)記球。雙目視覺(jué)軸線標(biāo)定的原理示意圖如圖2所示。
圖2中棋盤(pán)格擺放位置并不固定,擺放的標(biāo)準(zhǔn)就是需要讓棋盤(pán)格整體處于雙目攝像機(jī)的視場(chǎng)范圍內(nèi),可以檢測(cè)出棋盤(pán)格的角點(diǎn)即可,所以擺放位置取決于攝像機(jī)與旋轉(zhuǎn)臺(tái)的相對(duì)位置。
1.2 對(duì)標(biāo)記點(diǎn)的檢測(cè)
之所以選擇棋盤(pán)格,是因?yàn)樵谶M(jìn)行攝像機(jī)標(biāo)定時(shí)發(fā)現(xiàn)攝像機(jī)可以很好地識(shí)別棋盤(pán)格的角點(diǎn),通過(guò)OpenCV或者M(jìn)atlab中的識(shí)別程序[11]對(duì)角點(diǎn)進(jìn)行檢測(cè)。通過(guò)程序可以得到角點(diǎn)的二維像素坐標(biāo)和轉(zhuǎn)換所需要的攝像機(jī)內(nèi)外參數(shù)矩陣,相較傳統(tǒng)的標(biāo)記圓和標(biāo)記球而言,簡(jiǎn)化了工序和計(jì)算質(zhì)心的步驟。選擇標(biāo)記點(diǎn)的時(shí)候盡量選擇遠(yuǎn)離圓心的某點(diǎn),這樣可以大大減少計(jì)算誤差。轉(zhuǎn)動(dòng)圓盤(pán),至少旋轉(zhuǎn)三個(gè)角度分別記錄下所選擇標(biāo)記點(diǎn)在左攝像頭和右攝像頭下的坐標(biāo),分別記作[Ql1],[Ql2],[Ql3]和[Qr1],[Qr2],[Qr3],其中[Ql1]和[Qr1],[Ql2]和[Qr2],[Ql3]和[Qr3]是空間中同一點(diǎn)在左右攝像機(jī)里對(duì)應(yīng)的點(diǎn)。
1.3 對(duì)標(biāo)記點(diǎn)的坐標(biāo)轉(zhuǎn)換
以上3點(diǎn)分別是在左右攝像機(jī)下的坐標(biāo),通過(guò)幾何關(guān)系,空間點(diǎn)在左右攝像機(jī)下對(duì)應(yīng)的坐標(biāo)可以惟一確定這個(gè)空間點(diǎn)。
對(duì)這3點(diǎn)的空間三維坐標(biāo)進(jìn)行求解,來(lái)確定這3點(diǎn)在空間中的確定位置。如圖3所示,[Ql1]與[Qr1]是空間點(diǎn)[Q1]在左攝像機(jī)與右攝像機(jī)中分別對(duì)應(yīng)的點(diǎn),依據(jù)三角幾何的變換關(guān)系可以通過(guò)左右攝像機(jī)對(duì)應(yīng)的2點(diǎn)惟一確定空間中點(diǎn)[Q1]。
利用計(jì)算機(jī)視覺(jué)將坐標(biāo)點(diǎn)進(jìn)行轉(zhuǎn)換,已經(jīng)分別檢測(cè)出[Q1]在左攝像機(jī)下的坐標(biāo),在右攝像機(jī)下的坐標(biāo)為,假定攝像機(jī)已經(jīng)標(biāo)定,通過(guò)標(biāo)定程序可以得到攝像機(jī)的內(nèi)外參數(shù)矩陣,進(jìn)而很容易得到投影矩陣[12],分別記作[M1]與[M2]:
1.4 求軸線的方向
在求得轉(zhuǎn)臺(tái)上3點(diǎn)的三維坐標(biāo)后,將旋轉(zhuǎn)軸與旋轉(zhuǎn)平面的幾何關(guān)系轉(zhuǎn)換為向量之間的運(yùn)算關(guān)系,可求得軸線的方向。首先,已知軸線與轉(zhuǎn)臺(tái)平面,也就是[Q1(x1,y1,z1)],所在平面垂直,即軸線是這個(gè)平面的法向,根據(jù)這個(gè)關(guān)系,得出軸線向量與平面上的任意向量垂直,于是在平面上任取2個(gè)向量[Q1Q2],[Q2Q3],得式(4):
1.5 求旋轉(zhuǎn)軸線上的一點(diǎn)坐標(biāo)
在選擇旋轉(zhuǎn)軸線上某點(diǎn)坐標(biāo)時(shí),選擇點(diǎn)的原則是計(jì)算方便,易于尋找。所以選擇旋轉(zhuǎn)軸與標(biāo)記點(diǎn)所形成的平面的交點(diǎn),即標(biāo)記點(diǎn)所在圓的圓心。假設(shè)圓心坐標(biāo)為[O(x,y,z)],求圓心需要有幾個(gè)關(guān)系,利用圓的性質(zhì),圓上任意兩點(diǎn)的連線的垂直平分線必過(guò)圓心,依然取[Q1Q2],此外還可以得出圓上一點(diǎn)與圓心的連線[Q1O]與平面法向量垂直,通過(guò)三個(gè)垂直關(guān)系得:
從上面的步驟可以簡(jiǎn)單地得出該方法求軸線的一般過(guò)程,將軸線標(biāo)定的裝置搭建好之后,對(duì)坐標(biāo)點(diǎn)進(jìn)行檢測(cè)和空間轉(zhuǎn)換,使得求解所需要的數(shù)據(jù)在同一個(gè)空間坐標(biāo)系下。然后通過(guò)上述的方法求解軸線的方向,為了計(jì)算簡(jiǎn)單,選取軸線與旋轉(zhuǎn)平面的交點(diǎn)作為該向量上需要求的一點(diǎn)。這樣便可以得到確定軸線的所有數(shù)據(jù),即軸線的方向和該旋轉(zhuǎn)軸上的一點(diǎn)。
2 實(shí)驗(yàn)結(jié)果與誤差分析
正文內(nèi)容雙目視覺(jué)下的軸線標(biāo)定采用2個(gè)CCD攝像機(jī),將其分別固定在水平臂的兩端,在2個(gè)攝像機(jī)的重合視場(chǎng)內(nèi),放置由步進(jìn)電機(jī)和步進(jìn)電機(jī)驅(qū)動(dòng)器組成的旋轉(zhuǎn)臺(tái)。為了對(duì)進(jìn)行物體精確的三維重建,利用上述原理對(duì)旋轉(zhuǎn)軸進(jìn)行標(biāo)定,旋轉(zhuǎn)軸線的標(biāo)定精度很大程度上決定了物體三維重建的誤差大小。
在本實(shí)驗(yàn)中選擇棋盤(pán)格作為標(biāo)定板,放置在轉(zhuǎn)臺(tái)上,將雙目攝像機(jī)固定,可以在很大一個(gè)轉(zhuǎn)角內(nèi)進(jìn)行測(cè)量,距離近時(shí)可以進(jìn)行360°無(wú)死角測(cè)量,進(jìn)行實(shí)驗(yàn)時(shí)需要選擇多個(gè)角點(diǎn)用于標(biāo)定,這樣做是為了消除數(shù)據(jù)的噪聲影響。
對(duì)于一組數(shù)據(jù),倘若標(biāo)準(zhǔn)差或者方差越小說(shuō)明其數(shù)據(jù)波動(dòng)越小,也就意味著標(biāo)定的精度越高。表1的數(shù)據(jù)是進(jìn)行了6次實(shí)驗(yàn)得出的結(jié)果,可以看到標(biāo)準(zhǔn)差接近于0,說(shuō)明實(shí)驗(yàn)數(shù)據(jù)比較穩(wěn)定,精確度較高。
雙目視覺(jué)下軸線標(biāo)定的誤差來(lái)源主要有對(duì)棋盤(pán)格角點(diǎn)的識(shí)別誤差和轉(zhuǎn)臺(tái)轉(zhuǎn)動(dòng)的精度誤差,對(duì)于第1種誤差,不需要轉(zhuǎn)臺(tái)的測(cè)量每個(gè)點(diǎn)的旋轉(zhuǎn)度數(shù),所以這種誤差的主要來(lái)源是二維圖像中角點(diǎn)的位置的識(shí)別誤差。采用的識(shí)別程序標(biāo)定對(duì)角點(diǎn)的識(shí)別誤差平均值是0.44個(gè)像素點(diǎn),為了提高角點(diǎn)的檢測(cè)精度,和軸線的測(cè)量精度,可以采用一次測(cè)量多個(gè)點(diǎn)(大于3個(gè))求解超定方程,和多此求解軸線矢量和標(biāo)記點(diǎn)所在圓的圓心,進(jìn)而進(jìn)行數(shù)據(jù)擬合。對(duì)于第2種誤差來(lái)源,完全決定于旋轉(zhuǎn)平臺(tái)的平整度以及精密程度。
3 結(jié) 語(yǔ)
本文基于過(guò)度包裝智能檢測(cè)項(xiàng)目,提出了在過(guò)度包裝檢測(cè)系統(tǒng)下一種檢測(cè)攝像機(jī)與被測(cè)物間三維軸線求解方法,對(duì)現(xiàn)有的標(biāo)定技術(shù)進(jìn)行了一定的革新和優(yōu)化。該方法不需要特殊的標(biāo)定板,簡(jiǎn)化了測(cè)量裝置。經(jīng)過(guò)試驗(yàn)數(shù)據(jù)分析,精確度較高,可以將噪聲對(duì)數(shù)據(jù)和整個(gè)標(biāo)定結(jié)果的影響降低很多,具有較好的魯棒性。在坐標(biāo)轉(zhuǎn)換時(shí)不需要額外的操作和工序,簡(jiǎn)化了轉(zhuǎn)換步驟。該方法具有較好的通用性,可以在其他應(yīng)用中使用。
參考文獻(xiàn)
[1] HAI R H, CHI Y J. Modifying soy protein isolate by microwave?assisted phosphorylation to improve emulsification properties [J]. Journal of the Chinese Cereals and Oils Association, 2009, 24(6): 40?42.
[2] 張梅,文靜華,張祖勛,等.基于特征關(guān)系圖的似二次曲面物體三維幾何建模[J].光電子·激光,2010,21(8):1252?1256.
[3] 張旭東,吳國(guó)松,胡良梅,等.基于TOF三維相機(jī)相鄰散亂點(diǎn)云配準(zhǔn)技術(shù)研究[J].機(jī)械工程學(xué)報(bào),2013,49(12):8?23.
[4] LI X S, QIN K Y, YAO P, et al. 3D Reconstruction of space based on binocular vision [C]// Proceedings of the 6th International Symposium on Precision Mechanical Measurements. [S.l.]: SPIE, 2014: 1861?1865.
[5] 馬頌德,張正友.計(jì)算機(jī)視覺(jué):計(jì)算理論與算法基礎(chǔ)[M].北京:科學(xué)出版社,1998.
[6] PANG F, LAU H, SONG H, et al. A tool?free calibration method for turntable?based 3d scanning systems [J]. IEEE Computer Graphics & Applications, 2014, 1(1): 10?11.
[7] HERN C, ?NDEZ C, ESTEBAN E, SCHMITT F. Silhouette and stereo fusion for 3D object modeling [J]. Computer Vision and Image Understanding, 2004, 96(3): 367?392.
[8] FANG W, HE B W. Automatic view planning for 3D reconstruction and occlusion handling based on the integration of active and passive vision [C]// Proceedings of the 2012 IEEE International Symposium on Industrial Electronics. Hangzhou, China: IEEE, 2012: 1116?1121.
[9] 胡民政,習(xí)俊通.面向結(jié)構(gòu)光三維測(cè)量的兩軸轉(zhuǎn)臺(tái)標(biāo)定[J].上海交通大學(xué)學(xué)報(bào),2010,44(4):506?511.
[10] 王鵬,孫長(zhǎng)庫(kù).雙目視覺(jué)轉(zhuǎn)軸標(biāo)定方法:中國(guó), CN101216296A[P].2008?07?09.
[11] ZHANG Z Y. A flexible new technique for camera calibration [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2000, 22(11): 93?98.
[12] 陳洪磊,賀建峰,劉俊.基于二維檢索的投影矩陣算法[J].計(jì)算機(jī)工程,2013,39(2):229?232.