曹世界,姚隆興,張志毅
(西北農(nóng)林科技大學(xué)信息工程學(xué)院,陜西 楊凌 712100)
三維點(diǎn)云數(shù)據(jù)的獲取在工業(yè)鑄件、醫(yī)療診斷、安全檢測、物體三維形貌獲取等領(lǐng)域廣泛應(yīng)用。依據(jù)三維點(diǎn)云數(shù)據(jù)的獲取方式,可以將其分為接觸式[1-3]和非接觸式[4-6]兩類。接觸式三維點(diǎn)云獲取技術(shù)主要是通過探測器測頭系統(tǒng)與待測物體表面直接接觸獲得觸碰點(diǎn)處的三維坐標(biāo),該技術(shù)測量精度能夠達(dá)到μm級別,但是該裝備要根據(jù)環(huán)境要求適配合適的測頭系統(tǒng),在獲得三維數(shù)據(jù)時測頭系統(tǒng)需要與被測輪廓接觸,容易對物體造成刮損,影響測量精度,點(diǎn)云數(shù)據(jù)獲取效率低,達(dá)不到實(shí)時數(shù)據(jù)獲取而且該設(shè)備價(jià)格昂貴,并未得到廣泛應(yīng)用?;诩す馊S掃描系統(tǒng)成本低,精度高,因此一直是非接觸式三維數(shù)據(jù)獲取的研究熱點(diǎn)。
目前,基于激光三維掃描技術(shù)大多都是基于線激光掃描[7],基于線激光掃描系統(tǒng)能夠快速、穩(wěn)定的獲取精確度較高的三維點(diǎn)云數(shù)據(jù)。但是對于物體內(nèi)部三維點(diǎn)云數(shù)據(jù)獲取由于線激光自身的結(jié)構(gòu)單一,對于首次獲得的三維點(diǎn)云數(shù)據(jù)需要進(jìn)行點(diǎn)云的配準(zhǔn)與剔除才能恢復(fù)出物體內(nèi)部真實(shí)的三維點(diǎn)云數(shù)據(jù)。恢復(fù)出物體內(nèi)部三維點(diǎn)云數(shù)據(jù)對于物體內(nèi)部結(jié)構(gòu)的探測有非常重要的意義,比如,管材內(nèi)壁、隧道內(nèi)壁的三維測量。獲得物體內(nèi)部的三維點(diǎn)云數(shù)據(jù),可以進(jìn)一步對物體內(nèi)部三維全貌做出初步判斷,進(jìn)而可以得出安全性檢測結(jié)果。
基于以上原因,文中提出一種基于環(huán)形激光單目掃描方法,由于環(huán)形激光自身就是一個封閉性的環(huán)狀,能夠均勻的分布在物體內(nèi)壁上,激光和相機(jī)按照固定位置在軌道小車上,用小車精確記錄每一次的位移信息,不需要在獲得三維點(diǎn)云數(shù)據(jù)后做進(jìn)一步的點(diǎn)云配準(zhǔn)工作,而且每個圓環(huán)數(shù)據(jù)的獲取得到的是該時刻,該深度值處360°的點(diǎn)云數(shù)據(jù)。因此本文提出的方法,在效率上能夠得到很大的提升,由于避免了點(diǎn)云配準(zhǔn)造成的二次誤差在精度上也會有一定程度的提升。同時兼顧了掃描精度和時間效率的需求,因此具有一定的實(shí)用價(jià)值。
整個系統(tǒng)的硬件包括一個工業(yè)相機(jī),一個環(huán)形激光發(fā)射器,一輛軌道小車。如圖1所示,將相機(jī)和環(huán)形激光發(fā)射器按照激光光心和相機(jī)中心在一條直線且激光在前相機(jī)在后的位姿關(guān)系固定在小車上,用來拍攝獲取小車在移動過程中物體內(nèi)部環(huán)形激光條紋的變化情況。軌道小車可以精準(zhǔn)記錄掃描系統(tǒng)的位移情況,用來控制掃描數(shù)據(jù)的深度值變化。
圖1 系統(tǒng)硬件設(shè)計(jì)
該掃描系統(tǒng)主要需要解決攝像機(jī)內(nèi)外參數(shù)的標(biāo)定、環(huán)形激光條紋中心提取、環(huán)形激光錐面方程標(biāo)定、物體內(nèi)部三維掃描等4個問題。
將環(huán)形激光變換不同位姿打在貼有標(biāo)定靶的白板上并用相機(jī)拍攝下每次的變換,使用張正友相機(jī)標(biāo)定算法標(biāo)定出相機(jī)的內(nèi)外參數(shù),使用Hessian矩陣法提取出相機(jī)拍攝到的環(huán)形激光的光條紋中心。在每一張拍攝到的環(huán)形激光中均勻提取出若干個點(diǎn),結(jié)合相機(jī)的內(nèi)外參數(shù)計(jì)算出這些點(diǎn)的三維坐標(biāo),將得到的三維坐標(biāo)代入到錐面方程中,使用最小二乘法對錐面一般式進(jìn)行環(huán)形激光錐面方程的標(biāo)定,標(biāo)定出環(huán)形激光錐面的方程。使用標(biāo)定好的系統(tǒng)對物體內(nèi)部進(jìn)行掃描,獲得物體內(nèi)部的三維數(shù)據(jù)。系統(tǒng)技術(shù)方案如圖2所示。
圖2 系統(tǒng)技術(shù)方案流程圖
相機(jī)標(biāo)定[8-10]是指根據(jù)相機(jī)成像模型,由特征點(diǎn)在圖像中的坐標(biāo)與世界坐標(biāo)的對應(yīng)關(guān)系,求解相機(jī)模型的參數(shù),需要標(biāo)定的參數(shù)有內(nèi)部參數(shù)和外部參數(shù)。如果不考慮鏡頭畸變的情況的話,可以將相機(jī)成像模型理想化為針孔模型,針孔成像原理就是利用投影將真實(shí)的世界坐標(biāo)轉(zhuǎn)換到圖像坐標(biāo),其成像模式示意圖如圖3所示。
圖3 像素坐標(biāo)系與世界坐標(biāo)系的轉(zhuǎn)換關(guān)系
因此,兩坐標(biāo)系之間的轉(zhuǎn)換關(guān)系可以寫成式(1)的形式。其中,f為相機(jī)的焦距,dx,dy為單位像素在圖像坐標(biāo)系中x軸方向和y軸方向上的物理尺寸,(u0,v0)表示圖像坐標(biāo)系原點(diǎn)在像素坐標(biāo)系中具體位置,A為相機(jī)的內(nèi)參矩陣,Rt為相機(jī)的旋轉(zhuǎn)平移矩陣。本文采用張正友相機(jī)標(biāo)定算法獲得相機(jī)的內(nèi)外參數(shù),再根據(jù)式(1)實(shí)現(xiàn)各個坐標(biāo)系之間的轉(zhuǎn)換。
(1)
其中
本文獲取擬合環(huán)形激光錐面方程的數(shù)據(jù)是通過將激光打在貼有標(biāo)定靶的平面上,環(huán)形激光在圖像上的像素坐標(biāo)與相機(jī)中心連線形成的射線與標(biāo)定靶平面相交的交點(diǎn)即為要采集的擬合激光錐面所需數(shù)據(jù)。環(huán)形激光打在標(biāo)定靶所在平面示意圖如圖4所示。
圖4 激光打在棋盤格平面
設(shè)標(biāo)定靶所在平面方程如式(2)所示
ax+by+cz+d=0 (a≠0,b≠0,c≠0)
(2)
相機(jī)的內(nèi)外參數(shù)已知,根據(jù)相機(jī)坐標(biāo)系與世界坐標(biāo)系的轉(zhuǎn)換關(guān)系可以得到標(biāo)定靶上每個角點(diǎn)在相機(jī)坐標(biāo)系下的坐標(biāo)值,將得到的這些角點(diǎn)的坐標(biāo)值代入式(2),采用最小二乘法原理,解得a,b,c,d的值,即標(biāo)定出標(biāo)定靶所在平面的方程。
本文使用相機(jī)拍攝下環(huán)形激光照射在物體內(nèi)表面所產(chǎn)生的光條紋中心偏移量信息來計(jì)算出物體內(nèi)表面的三維數(shù)據(jù)[11]。因此,環(huán)形激光條紋中心的提取是整個掃描任務(wù)中的關(guān)鍵環(huán)節(jié)[12,13]。穩(wěn)定、高效、準(zhǔn)確的環(huán)形激光條紋中心提取能夠使系統(tǒng)的穩(wěn)定性、實(shí)時性、精準(zhǔn)性得到極大的保證。
由于受外界環(huán)境光、激光功率、相機(jī)分辨率等因素的影響,拍攝到的圖像基本都會存在影響光條紋中心精準(zhǔn)提取的噪聲點(diǎn),這些噪聲點(diǎn)多為椒鹽噪聲,因此在光條紋中心提取前使用中值濾波對圖片進(jìn)行預(yù)處理,對處理掉椒鹽噪聲的圖像進(jìn)行全局閾值化處理操作,使結(jié)構(gòu)光條紋與背景區(qū)別開,全局閾值化處理操作的簡化表達(dá)如式(3)所示
(3)
根據(jù)計(jì)算方式的差異,可將光條紋中心提取算法分為基于光條形態(tài)特征的方法與基于光條灰度特征的方法[14,15]。Steger算法[16]是基于Hessian矩陣的光條紋中心提取方法,能夠?qū)崿F(xiàn)光條紋中心的亞像素級精度定位而且適用于彎曲程度較大的光條紋。Steger算法是將待處理圖像看作是二維函數(shù),利用Hessian矩陣求出光條紋的法線方向,再沿著光條紋的法線方向進(jìn)行泰勒展開,通過這種方法求出光條紋中心點(diǎn)的亞像素位置。即通過求得光條紋圖像像素點(diǎn)z(x,y)的Hessian矩陣特征值和對應(yīng)的特征向量得到光條紋中心點(diǎn)法線方向。式(4)為Hessian矩陣的表示形式
(4)
其中,g(x,y)是二維高斯函數(shù)。
假設(shè)以點(diǎn)(x0,y0)為標(biāo)準(zhǔn)點(diǎn)通過Hessian矩陣求出結(jié)構(gòu)光條紋法線方向的單位向量是(nx,ny),則對該光條紋橫截面上灰度值分布函數(shù)進(jìn)行二階泰勒展開,光條紋橫截面上點(diǎn)(x0+tnx,y0+tny)的灰度值如式(5)所示
z(x0+tnx,y0+tny)
(5)
其中,N=(tnx,tny),(rx,ry)是圖像像素點(diǎn)z(x,y)分別與高斯核進(jìn)行卷積運(yùn)算得到,如式(6)所示
(6)
(7)
因此,可以得到光條紋中心精確位置為 (x0+tnx,y0+tny)。
對環(huán)形激光錐面的擬合就是對環(huán)形激光的標(biāo)定[17]。環(huán)形激光的激光路徑可以看作是一個以激光發(fā)射器為原點(diǎn),一定角度為張角的圓錐曲面。呈現(xiàn)的激光相當(dāng)于一個圓錐與任意一個平面相截,因此發(fā)射出的激光是環(huán)形狀。所以所得環(huán)形激光上的每一個點(diǎn)都是該圓錐曲面上的點(diǎn)。通過相機(jī)的針孔成像模型可以知道真實(shí)世界中的某個點(diǎn)對應(yīng)在成像平面中所成的像與相機(jī)光心在一條直線上。因此該直線與相交平面的交點(diǎn)即為真實(shí)世界中的某個點(diǎn),如圖5所示。
圖5 圖像坐標(biāo)與世界坐標(biāo)對應(yīng)關(guān)系
由式(1)可以得出成像平面的點(diǎn)在相機(jī)坐標(biāo)系下坐標(biāo)如式(8)所示
(8)
令
(9)
因此可以得到如圖5中CP1P2所在直線的參數(shù)方程式(10)。
(10)
聯(lián)立式(2)與式(10)即可求出該交點(diǎn)在相機(jī)坐標(biāo)系下的三維坐標(biāo),也就是環(huán)形激光錐面上某個點(diǎn)在相機(jī)坐標(biāo)系下的三維坐標(biāo)值。
該環(huán)形激光的圓錐曲面方程寫成一般式如式(11)所示
a1x2+a2y2+z2+a3xy+a4xz+a5yz+a6x
(11)
選取一定數(shù)量的已經(jīng)得到的三維坐標(biāo)值代入到式(11)中,通過最小二乘法求得該圓錐曲面方程的系數(shù)a1,a2,a3,a4,a5,a6,a7,a8,a9完成光錐面的標(biāo)定。
一個公司的整體表現(xiàn)盈虧與否,財(cái)務(wù)報(bào)告可以很好的體現(xiàn)出來,財(cái)務(wù)管理對于每個公司企業(yè)都是重要的一環(huán),不可忽視,然而,現(xiàn)今社會,財(cái)務(wù)方面存在的問題還有很多,每個企業(yè)都或多或少的存在著一些,只是明不明顯、嚴(yán)不嚴(yán)重的區(qū)別,這就需要我們對其進(jìn)行解決,規(guī)范相應(yīng)規(guī)章制度,對財(cái)會人員的日常工作進(jìn)行強(qiáng)有力的監(jiān)督,適時對員工進(jìn)行培訓(xùn),提升其工作技能,鍛煉其業(yè)務(wù)熟練度。在當(dāng)前這個飛速發(fā)展的社會大環(huán)境中,從根本上提高企業(yè)財(cái)務(wù)管理整體素質(zhì),加強(qiáng)企業(yè)競爭力。
該系統(tǒng)掃描數(shù)學(xué)模型如圖6所示。C為相機(jī)光心,也就是相機(jī)坐標(biāo)系原點(diǎn),O0uv為以像素為單位的圖像坐標(biāo)系,O1xy是以毫米為單位的物理坐標(biāo)系。CP1P2在同一條直線,在點(diǎn)云數(shù)據(jù)掃描時就是要獲得P2的三維坐標(biāo),由此可以根據(jù)直線CP1與激光錐面的交點(diǎn)求得P2的三維坐標(biāo)。
圖6 掃描系統(tǒng)數(shù)學(xué)模型
聯(lián)立式(10)、式(11)可以求得直線CP1參數(shù)方程的參數(shù)值t。因?yàn)?x0,y0,z0)是坐標(biāo)原點(diǎn)。于是,激光圓錐曲面方程可以化簡為式(12)
At2+Bt+C=0
(12)
其中
根據(jù)式(12)求出直線與圓錐曲面交點(diǎn)的參數(shù)值如式(13)所示。
(13)
解得t有兩個值,取相機(jī)坐標(biāo)系中相機(jī)朝向的值,本文中取大于0。將求得的參數(shù)t代入到式(10)即可求得所要求取的點(diǎn)云數(shù)據(jù)。
本實(shí)驗(yàn)使用的相機(jī)為Basler相機(jī),環(huán)形激光為普為激光。相機(jī)與激光的相關(guān)參數(shù)如下表所示,其中,表1為該相機(jī)參數(shù),表2為該激光參數(shù)。
表1 相機(jī)主要參數(shù)
表2 激光參數(shù)
本實(shí)驗(yàn)在以Windows10為系統(tǒng)的開發(fā)平臺下進(jìn)行,該開發(fā)平臺的主要配置如表3所示。
表3 開發(fā)平臺主要配置
根據(jù)前面敘述的硬件設(shè)計(jì)思路搭建的掃描硬件設(shè)備如圖7所示。由于搭載激光的支架會擋住部分激光,導(dǎo)致點(diǎn)云數(shù)據(jù)的獲取會有約2.68°的殘缺從前面所述獲得的每個環(huán)形激光上的特征點(diǎn)坐標(biāo)中選取6副圖像每幅圖像10個坐標(biāo)值用來標(biāo)定該結(jié)構(gòu)光圓錐曲面方程,標(biāo)定出的環(huán)形激光圓錐曲面方程如表4所示。
表4 圓錐方程參數(shù)值
圖7 設(shè)備實(shí)物搭建圖
該環(huán)形激光圓錐曲面擬合結(jié)果如圖8所示。
圖8 環(huán)形激光圓錐曲面
表5為標(biāo)定環(huán)形激光圓錐曲面的關(guān)鍵參數(shù)為了確認(rèn)本文實(shí)驗(yàn)方法的可行性與有效性,分別以塑料材質(zhì)的內(nèi)徑漸變的花盆、紙質(zhì)的長方體紙箱作為測量模型。圖9中(a)和(b)為測量模型原型,其中(a)為花盆,(b)為紙箱。圖10為掃描獲得的物體點(diǎn)云數(shù)據(jù),其中(a)為花盆點(diǎn)云數(shù)據(jù),(b)為紙箱點(diǎn)云數(shù)據(jù)。圖11為使用Ball Pivoting算法[18-20]將點(diǎn)云數(shù)據(jù)生成的物體網(wǎng)格模型,其中(a)為花盆網(wǎng)格模型,(b)為紙箱網(wǎng)格模型。圖12為點(diǎn)云數(shù)據(jù)生成的物體表面模型,其中(a)為花盆表面模型,(b)為紙箱表面模型。
表5 環(huán)形結(jié)構(gòu)光關(guān)鍵參數(shù)
圖9 掃描物品原狀
圖10 獲取點(diǎn)云數(shù)據(jù)
圖11 網(wǎng)格模型
圖12 表面模型
本文實(shí)驗(yàn)拍攝得到的單幅圖像分辨率為2592×1944。分別從單幅圖像點(diǎn)云恢復(fù)時間和單幅圖像點(diǎn)云恢復(fù)個數(shù)以及以掃描物體內(nèi)直徑為誤差參考標(biāo)準(zhǔn)對本文掃描方法的掃描效率和掃描精度問題做分析。表6顯示了該系統(tǒng)效率和精度數(shù)據(jù)。
表6 該系統(tǒng)的效率和精度數(shù)據(jù)
本文實(shí)驗(yàn)使用基于環(huán)形激光單目掃描方法,本方法在相機(jī)標(biāo)定階段只需要標(biāo)定出本相機(jī)的內(nèi)外參數(shù)即可,而雙目掃描方法除需要標(biāo)定出兩相機(jī)各自的內(nèi)外參數(shù)外,還需要標(biāo)定出兩相機(jī)之間的位姿關(guān)系。在基于激光掃描的方法中,前面每一步的誤差都會對后面的操作造成一定影響,本文方法在操作上比雙目結(jié)構(gòu)光掃描省卻了兩相機(jī)之間位姿關(guān)系的標(biāo)定。因此,本文方法在掃描數(shù)據(jù)時受到影響的因素會少一些,對實(shí)驗(yàn)結(jié)果的準(zhǔn)確性有一定的改善。
由表5可以看出擬合出的環(huán)形激光圓錐曲面頂點(diǎn)坐標(biāo)與實(shí)際測量坐標(biāo)誤差小于5mm,角度誤差小于0.47°。由圖10可以看出點(diǎn)云數(shù)據(jù)能夠恢復(fù)出被測模型的原始面貌,并且由圖11和圖12可以看出對于物體的輪廓細(xì)節(jié)能夠明顯恢復(fù),說明本文掃描系統(tǒng)不僅可以掃描圓柱狀的物體內(nèi)部,也可以掃描立方體的物體內(nèi)部。由表6可以看出,圖像點(diǎn)云恢復(fù)時間較快,點(diǎn)云數(shù)據(jù)密集,獲取點(diǎn)云數(shù)據(jù)的絕對誤差小于3mm,相對誤差在小于0.6%,符合實(shí)際應(yīng)用的要求。
由以上分析可以得知,本文方法對于物體內(nèi)部三維數(shù)據(jù)獲取能夠達(dá)到較高的精確度;掃描點(diǎn)云數(shù)據(jù)密度高;能夠完整的恢復(fù)出物體內(nèi)部的三維全貌;掃描時間較快;基本能夠應(yīng)用在管道、隧道三維測量與檢測中。
針對傳統(tǒng)的線激光掃描方法的局限性,提出一種基于環(huán)形激光的掃描方法,首先將環(huán)形激光打在貼有標(biāo)定靶的白板上,通過計(jì)算多幅帶有環(huán)形激光的標(biāo)定靶圖片,標(biāo)定出相機(jī)的內(nèi)外參數(shù)以及標(biāo)定靶所在平面,進(jìn)而利用透視投影原理得到環(huán)形結(jié)構(gòu)光錐面上部分三維點(diǎn)。然后將這些點(diǎn)代入到圓錐一般方程利用最小二乘法求得環(huán)形結(jié)構(gòu)光錐面在相機(jī)坐標(biāo)系下的方程,在掃描過程中對于帶有環(huán)形結(jié)構(gòu)光條紋的圖片使用Hessian算法進(jìn)行光條紋中心提取,再利用錐面標(biāo)定得到的參數(shù)對物體內(nèi)部進(jìn)行三維點(diǎn)云數(shù)據(jù)的獲取,獲取點(diǎn)云數(shù)據(jù)的絕對誤差小于3mm相對誤差在小于0.6%。由于環(huán)形激光的連續(xù)性,在掃描過程中不會出現(xiàn)斷層、點(diǎn)云配準(zhǔn)等問題,提高掃描的效率。實(shí)驗(yàn)結(jié)果表明,該方法簡單、高效、精確度高,在管道內(nèi)壁檢測、隧道內(nèi)壁檢測等方面有著重要應(yīng)用前景。
需要指出,受外界環(huán)境或者設(shè)備等因素的影響,掃描得到的三維點(diǎn)云數(shù)據(jù)難免會存在一些噪聲點(diǎn),對于如何剔除掉掃描物體之外的噪聲點(diǎn),是接下來要研究的內(nèi)容。