專利名稱::一種基于編碼結(jié)構(gòu)光的三維重建方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及計(jì)算機(jī)視覺(jué)、數(shù)據(jù)處理、圖像處理,尤其是一種基于編碼結(jié)構(gòu)光的三維重建方法。
背景技術(shù):
:計(jì)算機(jī)視覺(jué)的目的是對(duì)各種各樣的圖像輸入進(jìn)行表達(dá)和理解。近二十多年來(lái),而物體三維輪廓重建一直是計(jì)算機(jī)視覺(jué)重要目的之一。三維物體輪廓重構(gòu)與測(cè)量技術(shù)的實(shí)現(xiàn)方法有很多,主要包括接觸式和非接觸式兩大類。非接觸測(cè)量主要分為兩類,一類是光學(xué)方法,另一類是光學(xué)外的其它方法。光學(xué)方法測(cè)量又可以分為兩類主動(dòng)式和被動(dòng)式。前者是由物體輻射信號(hào)或物體表面反射信號(hào)生成圖像,成像設(shè)備不發(fā)出信號(hào);后者是由成像設(shè)備發(fā)出一束信號(hào),通過(guò)接收從物體表面反射回來(lái)的或穿透物體的信號(hào)生成圖像。被動(dòng)式f"測(cè)量主要模擬人眼三維感知原理,以傳統(tǒng)雙目立體視覺(jué)為代表,和人類視覺(jué)相似,主要是通過(guò)目標(biāo)物體的表面紋理,灰度信息,顏色信息來(lái)得到目標(biāo)物體的三維形貌。被動(dòng)視覺(jué)方法針對(duì)同一個(gè)場(chǎng)景從不同的角度至少拍攝兩幅圖片,或者至少兩個(gè)視點(diǎn)位置拍攝。圖片之間特征點(diǎn)的選取和匹配被動(dòng)視覺(jué)一直無(wú)法可靠解決的問(wèn)題,因?yàn)樘卣鼽c(diǎn)匹配具有區(qū)域性,它只是針對(duì)目標(biāo)物體的相似區(qū)域來(lái)匹配,很難精確到目標(biāo)物體上的點(diǎn),匹配的精確度不高,重建精度較低;其次,對(duì)于特征點(diǎn)不明顯的目標(biāo)物體的匹配容易產(chǎn)生誤匹配,導(dǎo)致重建的錯(cuò)誤點(diǎn)較多,計(jì)算復(fù);;、,這是立體視覺(jué)本身無(wú)法克服的問(wèn)題。因此,立體視覺(jué)無(wú)法滿足實(shí)際應(yīng)用的需要。主動(dòng)式的測(cè)量方法有時(shí)間飛行法、相位測(cè)量法、結(jié)構(gòu)光法和數(shù)字全息法等。其中,結(jié)構(gòu)光法以其固有的非接觸、易于實(shí)現(xiàn)和較高的精度等優(yōu)點(diǎn),近年來(lái)受到越來(lái)越多的重視。尤其在進(jìn)入上個(gè)世紀(jì)九十年代以來(lái),隨著工業(yè)檢測(cè)技術(shù)、逆向工程技術(shù)和快速成型技術(shù)的迅速發(fā)展,對(duì)三維物體進(jìn)行表面輪廓重構(gòu)和測(cè)量的需求越來(lái)越大,對(duì)測(cè)量速度和精度要求越來(lái)越高,使得基于三角測(cè)量原理的結(jié)構(gòu)光法成為使用最為廣泛的方法。'
發(fā)明內(nèi)容為了克服已有視覺(jué)成像系統(tǒng)的三維重建方法的計(jì)算復(fù)雜、匹配精度不高、重建精度低的不足,本發(fā)明提供一種簡(jiǎn)化計(jì)算過(guò)程、匹配精度高、重建精度高的基于編碼結(jié)構(gòu)光的三維重建方法。本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是一種基于編碼結(jié)構(gòu)光的三維重建方法,包括以下歩驟1)、向待測(cè)物投射結(jié)構(gòu)光,攝像機(jī)捕捉經(jīng)待測(cè)物調(diào)制的圖像;2)、進(jìn)行光模板匹配,包括以下步驟(2.1)、光條邊界的定位待檢測(cè)的光模板為一維條紋編碼,沿著圖像的每個(gè)列掃描,對(duì)每個(gè)像素點(diǎn)的各個(gè)通道用一維列算子進(jìn)行預(yù)處理,一維算子如附圖中的圖8所示,確定灰度變化強(qiáng)烈的像素點(diǎn)為候選邊緣點(diǎn),在圖像每一列上以候選邊緣點(diǎn)為中心,選取一定大小的區(qū)域,其最大值不超過(guò)光條寬度的1/2,搜索局部領(lǐng)域的步驟如下(2丄1).初始化候選邊緣點(diǎn)作為一區(qū)域中心ZiJ;(2丄2).沿列方向搜索,將Zi旬,Zi+kj像素顏色空間轉(zhuǎn)成色調(diào)、亮度和飽和度(HIS)空間;(2丄3).增加新的點(diǎn)到這個(gè)區(qū)域,只要滿足與相鄰像素點(diǎn)的色調(diào)值差不超過(guò)設(shè)定的閾值H/2是兩個(gè)像素色調(diào)的差值,A^M表示第i土k行j列像素的色調(diào)值;經(jīng)算子處理后,像素點(diǎn)的三通道灰度值為Gv,局部區(qū)域三通道灰度值之和的最大值的像素點(diǎn)定義為邊界點(diǎn);max(£)=|;Gy(C=3)(2)乂=1£為算子處理后像素點(diǎn)灰度值之和的最大值;(2.2)、光條匹配采用顏色聚類的方法建立顏色匹配特征向量,對(duì)岡像^色和投射顏色進(jìn)行比較,定義色彩特征向量與聚類中心的歐式距離來(lái)分配候選光條紅綠藍(lán)白顏色;不同的顏色群集聚在特定的RGB空間區(qū)域,通過(guò)樣本點(diǎn)訓(xùn)練顏色群的聚類中心,然后用點(diǎn)到點(diǎn)的距離來(lái)匹配光條顏色;化2(尸,,"("1,2,3,4)(3)A/i是兩點(diǎn)距離的平方,戶,是光條中心像素的RGB特征向量,Q是顏色聚類中心,浙x,W是jc,j;兩點(diǎn)之間距離;設(shè)Z^min(Z),vO,那么光條顏色的分配按照(4)式進(jìn)行<formula>formulaseeoriginaldocumentpage8</formula>(4)Sc表示光條顏色;分配好顏色后,每三條相鄰的光條顏色組成一個(gè)碼字Si,找出每個(gè)碼字在整個(gè)序列的位置就是解碼;光條坐標(biāo)值x,定義為<formula>formulaseeoriginaldocumentpage8</formula>(5)ZWAS(^^^^直接解碼第7'幀光模板子序列s,的坐標(biāo)位置;3)、利用已經(jīng)標(biāo)定好的系統(tǒng)參數(shù)進(jìn)行待測(cè)物的三維重建,具體過(guò)程為標(biāo)定好的轉(zhuǎn)換矩陣參數(shù)確定了空間點(diǎn)坐標(biāo)和它的圖像坐標(biāo)點(diǎn)的關(guān)系,從特征點(diǎn)的圖像坐標(biāo)恢復(fù)空間三維坐標(biāo);拍攝經(jīng)調(diào)制的圖像,經(jīng)圖像處理后獲取圖像坐標(biāo)(&",計(jì)算得出理想歸一化坐標(biāo)(u),攝像機(jī)坐標(biāo)系下空間點(diǎn)和空間存在如下的關(guān)系-(6)<formula>formulaseeoriginaldocumentpage8</formula>(7)消去Ze,化簡(jiǎn)得:<formula>formulaseeoriginaldocumentpage8</formula>(8)通過(guò)光條解碼求出&坐標(biāo)值,得結(jié)合(8)式、(9)式得<formula>formulaseeoriginaldocumentpage8</formula>(9)<formula>formulaseeoriginaldocumentpage9</formula>將(10)式寫成矩陣A^B形式,其中^(Xw,乙,Zw),則方程線性最小二乘解為X即是由二維圖像通過(guò)三維計(jì)算得到的世界坐標(biāo)。進(jìn)一步,在所述步驟2.1)中,聚類中心的搜索方法為(2丄1).初始化*:=4,紅、綠、藍(lán)、白色彩類,初始化K個(gè)群的中心;(2丄2).把每個(gè)樣本點(diǎn)分配給離群中心距離最小的群;(2丄3).K群中的質(zhì)心點(diǎn)成為新的聚類中心;(2丄4).重復(fù)步驟2和3直到所有點(diǎn)都趨向穩(wěn)定地聚集。再進(jìn)一步,在所述步驟3)中,系統(tǒng)參數(shù)包括攝像機(jī)參數(shù)和投影儀參數(shù),標(biāo)定方法包括以下步驟3.1)、攝像機(jī)標(biāo)定過(guò)程采用二維標(biāo)定模板,標(biāo)靶為標(biāo)準(zhǔn)的黑白棋格組成,特征點(diǎn)為棋格的點(diǎn)組成,攝像機(jī)拍攝不同位置的多幅圖像,對(duì)所述多幅圖像選擇格子角點(diǎn)作為特征點(diǎn),采用平面標(biāo)定法對(duì)攝像機(jī)進(jìn)行標(biāo)定,得到攝像機(jī)內(nèi)參數(shù)標(biāo)定K,并得到均值焦距/;其特征在于所述標(biāo)定方法還包括3.2)、投影儀標(biāo)定過(guò)程通過(guò)編碼產(chǎn)生的光模板投影到共同標(biāo)靶上,黑白方格角點(diǎn)作為定位點(diǎn),利用在攝像機(jī)標(biāo)定中獲取的圖像,同時(shí)提取黑白方格角點(diǎn)圖像坐標(biāo),生成世界坐標(biāo);投射單一白色光模板時(shí),得到A,,B,兩點(diǎn)的圖像坐標(biāo)(^V》,("&VS),以及世界坐標(biāo)為(A,&,Z》,(Iftyfl,Zs),求直線Lj和L的交點(diǎn),得到Pi點(diǎn)的圖像坐標(biāo),如P!點(diǎn)的圖像坐標(biāo)為(叫印),世界坐標(biāo)定義為(^,^,2p),因?yàn)锳i,B,,P,三點(diǎn)共面,所以Z^ZfZs,根據(jù)交比不變性,得到,<formula>formulaseeoriginaldocumentpage9</formula>由(12)、(13)式得<formula>formulaseeoriginaldocumentpage10</formula>A.^分別表示X和Y方向的交比系數(shù),(A^,^,Zp)表示光條邊緣特征點(diǎn)的世界坐標(biāo)。更進(jìn)一步,在所述步驟3.2)中,投影儀模型的建立過(guò)程為-由投影儀坐標(biāo)Xd和世界坐標(biāo)Xw建立模型如下<formula>formulaseeoriginaldocumentpage10</formula>y是任一尺度因子,消除y,變換(15)式得到<formula>formulaseeoriginaldocumentpage10</formula>利用(16)式構(gòu)造以mik為未知數(shù)的齊次線性方程組,然后通過(guò)奇異值分解求解投影儀參數(shù);建立簡(jiǎn)化透視交比不變性幾何模型,假設(shè)空間點(diǎn)A、B、C位于同一條直線L上,以B為參考點(diǎn),位置比率定義為PR(A,B,C)=AB/AC(17)同理,A'、B'、C'是在透視中心O作用下,對(duì)應(yīng)點(diǎn)A、B、C的成像點(diǎn),并且位于同一點(diǎn)直線L1上,圖像坐標(biāo)上的位置比率為PR(A',B',C')=A'BVA'C'(18)根據(jù)透視幾何原理的交比不變性,得到PR(A,B,C)=PR(A',B',C')(19)在圖像中點(diǎn)A'、B'、C'也是位于同一直線L'上。提取光模板中特征點(diǎn)的圖像坐標(biāo),根據(jù)(19)式求出參考點(diǎn)B的世界坐標(biāo),建立空間三維到一維坐標(biāo)之間的映射關(guān)系來(lái)標(biāo)定投影儀。本發(fā)明的技術(shù)構(gòu)思為結(jié)構(gòu)光三維視覺(jué)是基于光學(xué)的三角法測(cè)量原理.。光學(xué)投射器(可以是激光器,也可以是投影儀)將一定模式的結(jié)構(gòu)光(光模板)投射于物體的表面,在表面形成由被測(cè)物體表面形狀所調(diào)制的光條三維圖像。該三維圖像由處于另一位置的攝像機(jī)攝取,從而獲得光條二維畸變圖像,解調(diào)光條的畸變程度便可重現(xiàn)物體表面的三維形貌。結(jié)構(gòu)光三維視覺(jué)方法由于投射光模板圖樣不同可劃分為點(diǎn)結(jié)構(gòu)光法、線結(jié)構(gòu)光法、多線結(jié)構(gòu)光法、網(wǎng)格結(jié)構(gòu)光法等,我們主要集中研究多線彩色編碼結(jié)構(gòu)光法,使用彩色信息對(duì)光條進(jìn)行編碼,例如DeBruijn序列光模板,其匹配問(wèn)題則通過(guò)RGB多通道動(dòng)態(tài)編程算法被得到解決,解碼匹配正確率高。本發(fā)明的有益效果主要表現(xiàn)在簡(jiǎn)化計(jì)算過(guò)程、匹配精度高、重建精度高。圖l是三維重建處理流程圖。圖2是RGB空間的示意圖。圖3是白色等寬間隔的序列光模板示意圖。圖4是四幀逆時(shí)針旋轉(zhuǎn)90。的時(shí)移光模板示意圖。圖5是邊緣檢測(cè)算子的示意圖。圖6是算子邊緣檢測(cè)結(jié)果的示意圖。圖7是任意列的像素掃描通道灰度值的示意圖。圖8是邊緣檢測(cè)算子的一維列算子示意圖。圖9是光條邊界檢測(cè)的示意圖。圖10是像素點(diǎn)顏色的RGB空間示意圖。圖ll是透視投影點(diǎn)M投影到圖像平面(u、v)的示意圖。圖12是交比不變性原理示意圖。圖13是高精度標(biāo)靶的示意圖。圖14是讀入原始標(biāo)定圖像的示意圖。圖15是攝像標(biāo)定投影誤差的示意圖。圖16是光條投射標(biāo)靶面圖。圖17是邊緣提取及直線擬合的示意圖。圖18是特征點(diǎn)獲取的示意圖。圖19是投影儀標(biāo)定誤差示意圖。圖20是標(biāo)定點(diǎn)三維重構(gòu)的示意圖。具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步描述。參照?qǐng)D1圖20,一種基于編碼結(jié)構(gòu)光的三維重建方法,包括以下步驟1)、向待測(cè)物投射結(jié)構(gòu)光,攝像機(jī)捕捉經(jīng)待測(cè)物調(diào)制的圖像;2)、進(jìn)行光模板匹配,包括以下步驟(2.1)、光條邊界的定位待檢測(cè)的光模板為一維條紋編碼,沿著圖像的每個(gè)列掃描,對(duì)每個(gè)像素點(diǎn)的各個(gè)通道用一維列算子進(jìn)行預(yù)處理,一維算子如附圖中的圖8所示,確定灰度變化強(qiáng)烈的像素點(diǎn)為候選邊緣點(diǎn),在圖像每一列上以候選邊緣點(diǎn)為中心,選取一定大小的區(qū)域,其最大值不超過(guò)光條寬度的1/2,搜索局部領(lǐng)域的步驟如下-(2丄1).初始化候選邊緣點(diǎn)作為一區(qū)域中心Zij;(2丄2).沿列方向搜索,將Zi-kj,Zi+kj像素顏色空間轉(zhuǎn)成色調(diào)、亮度和飽和度(HIS)空間;(2丄3).增加新的點(diǎn)到這個(gè)區(qū)域,只要滿足與相鄰像素點(diǎn)的色調(diào)值差不超過(guò)設(shè)定的閾值HA=|Z/±A,/,/—Z/±At±1,/,/j|(1)/是兩個(gè)像素色調(diào)的差值,Z,力力表示第i土k行j列像素的色調(diào)值;經(jīng)算子處理后,像素點(diǎn)的三通道灰度值為Gy,局部區(qū)域三通道灰度值之和的最大值的像素點(diǎn)定義為邊界點(diǎn);maX(£)=|;G,,(C=3)(2)戶iE為算子處理后像素點(diǎn)灰度值之和的最大值;(2.2)、光條匹配采用顏色聚類的方法建立顏色匹配特征向量,對(duì)圖像顏色和投射顏色進(jìn)行比較,定義色彩特征向量與聚類中心的歐式距離來(lái)分配候選光條紅綠藍(lán)白顏色;不同的顏色群集聚在特定的RGB空間區(qū)域,通過(guò)樣本點(diǎn)訓(xùn)練顏色群的聚類中心,然后用點(diǎn)到點(diǎn)的距離來(lái)匹配光條顏色;12<formula>formulaseeoriginaldocumentpage13</formula>Z^是兩點(diǎn)距離的平方,尸,是光條中心像素的RGB特征向量,G是顏色聚類中心,《x,力是jc,;;兩點(diǎn)之間距離;設(shè)Z^min(A/t),那么光條顏色的分配按照(4)式進(jìn)行<formula>formulaseeoriginaldocumentpage13</formula>Se表示光條顏色;分配好顏色后,每三條相鄰的光條顏色組成一個(gè)碼字Si,找出每個(gè)碼字在整個(gè)序列的位置就是解碼;光條坐標(biāo)值x,定義為<formula>formulaseeoriginaldocumentpage13</formula>(5)ZW5S(^^^;^直接解碼第_/幀光模板子序列&的坐標(biāo)位置;3)、利用已經(jīng)標(biāo)定好的系統(tǒng)參數(shù)進(jìn)行待測(cè)物的三維重建,具體過(guò)程為標(biāo)定好的轉(zhuǎn)換矩陣參數(shù)確定了空間點(diǎn)坐標(biāo)和它的圖像坐標(biāo)點(diǎn)的關(guān)系,從特征點(diǎn)的圖像坐標(biāo)恢復(fù)空間三維坐標(biāo);拍攝經(jīng)調(diào)制的圖像,經(jīng)圖像處理后獲取圖像坐標(biāo)(5,",計(jì)算得出理想歸一化坐標(biāo)Oc,:v),攝像機(jī)坐標(biāo)系下空間點(diǎn)和空間存在如下的關(guān)系<table>tableseeoriginaldocumentpage13</column></row><table>"3,3(6)帶入(6)得:<formula>formulaseeoriginaldocumentpage13</formula>消去Ze,化簡(jiǎn)得:<formula>formulaseeoriginaldocumentpage13</formula>(8)通過(guò)光條解碼求出&坐標(biāo)值,得<formula>formulaseeoriginaldocumentpage13</formula>結(jié)合(8)式、(9)式得(9)1《-"1一(廠2—^附,.-wzw將(10)式寫成矩陣^¥=^形式,其中》KXw,乙,Zw),則方程線性最小二乘解為%=。、)_1^8(11)I即是由二維圖像通過(guò)三維計(jì)算得到的世界坐標(biāo)。本實(shí)施例的成像系統(tǒng)包括實(shí)驗(yàn)架、攝像機(jī)和投影儀。結(jié)構(gòu)光成像系統(tǒng)的作用是將投影機(jī)固定在底座上,攝像機(jī)固定在可水平移動(dòng)的橫桿上,投影機(jī)和攝像機(jī)的相對(duì)位置可保持固定,提高系統(tǒng)的穩(wěn)定性。同時(shí)為了滿足不同角度捕捉視場(chǎng)的需求,攝像機(jī)繞水平轉(zhuǎn)軸可以在360°范圍內(nèi)調(diào)節(jié),垂直方向上也能通過(guò)自鎖螺桿調(diào)整攝像機(jī)的垂直位置,結(jié)構(gòu)光系統(tǒng)架具有的靈活度、自由度以大大提高系統(tǒng)的穩(wěn)定性,獲取場(chǎng)景的自由性。攝像機(jī)采用大恒DH-SV1410FC/FM型工業(yè)CCD攝像機(jī),成像質(zhì)量高。攝像機(jī)的主要參數(shù)CCD傳感尺寸為2/3",最大幀牟15,s,透鏡焦距f-25mm,像素尺寸6.45X6.45um,分辨率1392X1040(1447680像素)。采用普樂(lè)士PLUSV-1100C數(shù)字投影儀作為結(jié)構(gòu)光投射器,最大顯示分辨率為1280X1024,焦距卜23mm,可手動(dòng)調(diào)焦雙向數(shù)碼梯形校正,全彩色(1,677萬(wàn)色),屏幕尺寸6英寸至200英寸,對(duì)比度2000:1,投射經(jīng)編程產(chǎn)生的光模板。三維重建過(guò)程如圖1所示,首先向待測(cè)物投射一定模式的結(jié)構(gòu)光,攝像機(jī)捕捉經(jīng)物體調(diào)制的圖像,在邊緣檢測(cè)、光條分割單元,主要提取光條的邊界點(diǎn),對(duì)每一條光條進(jìn)行分割定位,對(duì)每條光條進(jìn)行顏色分配,用字母表中的顏11值。代替,對(duì)連續(xù)空間上的三條光條組成一個(gè)碼字,實(shí)現(xiàn)攝像機(jī)與投影儀之間的空間解碼匹配,最后利用己標(biāo)定好的系統(tǒng)參數(shù)實(shí)現(xiàn)物體的三維重建。針對(duì)紅(綠/藍(lán))分量的多少,人為地劃分為0255共256個(gè)等級(jí),0表示不含紅色(綠/藍(lán))成分,255表示含有100%紅色(綠/藍(lán))成分。根據(jù)紅、綠、藍(lán)各種不同的組合就能表示256x256x256種顏色,例如一個(gè)像素,當(dāng)它的紅、綠、藍(lán)成分分別為0、255、255時(shí)顯示為青色。而對(duì)于灰度圖像的像素,該像素的紅、綠、藍(lán)成分是相等的,只不過(guò)隨著這三個(gè)分量數(shù)值的增大,像素顏色從黒色、成白色?,F(xiàn)有大多數(shù)的彩色成像設(shè)備和彩色顯示設(shè)備都采用RGB(Red/Green/Blue,紅綠藍(lán))三基色來(lái)表示和存儲(chǔ),基于上述的設(shè)計(jì),可采用常用的RGB模型來(lái)建立彩色模型,彩色數(shù)字圖像可以由RGB彩色空間表示,RGB空間如圖2所示,14為方便起見(jiàn),把所有顏色值都?xì)w一化,即圖示的立方體是一個(gè)單位立方體。在彩色投射系統(tǒng)中,光條坐標(biāo)需要從一副圖像中檢測(cè)出來(lái),本文提出一種新的編碼策略,對(duì)投射光模板的每一行進(jìn)行編碼。為了減少彩色識(shí)別的繁雜性和提高可靠性,保證顏色空間區(qū)分度足夠大,要求在RGB空間中至少有兩個(gè)顏色通道不同,因此選擇紅、綠、藍(lán)三基色和白作為編碼顏色,除黑白外,紅、綠、藍(lán)和白之間的空間距離達(dá)到最大,這可以保證對(duì)任何高飽和度的場(chǎng)景都保持足夠的距離,編碼顏色集可以選取為PK255,0,0),(0,255,0),(0,0,255),(255,255,255)》的4元素集,白色作為間隔各條顏色,滿足了白色光條出現(xiàn)的次數(shù)最多,以得到較高的圖像亮度,對(duì)應(yīng)的顏色集字母映射為P={P,|/=1,2,3,4}P,分別指示紅、綠、藍(lán)和白四顏色。基于傳統(tǒng)的DeBruijn空間編碼方法,引進(jìn)等寬白色光條來(lái)間隔彩色光條,使相鄰光條使用同一種顏色色調(diào)值,有效編碼率達(dá)到100%。光模板由2rT條光條組成,其中顏色數(shù)目為n,窗口大小為m,而現(xiàn)有DeBruijn編碼技術(shù)采用同樣參數(shù)只能生成n(n-l)m條光條,產(chǎn)生的編碼序列為3,4,3,4,3,4,2,4,3,4,3,4,1,4,3,4,2,4,2,4,3,4,2,4,1,4,3,4,1,4,2,4,3,4,1,4,1,4,2,4,2,4,2,4,1,4,2,4,1,4,1,4,1實(shí)際場(chǎng)景中,物體表面的不連續(xù)性使得部分光條不可見(jiàn),導(dǎo)致3D數(shù)據(jù)錯(cuò)誤增加,這樣的光條稱為陰影光條。引進(jìn)白色光條的優(yōu)點(diǎn)可以增加可解碼光條比牟,C為相應(yīng)的陰影光條被不參與解碼的白色光條替代。定義Q={l,2,...,2nm},對(duì)應(yīng)每條光條的坐標(biāo)序號(hào)值。由此生成的光模板如圖3所示,每個(gè)條紋邊界劃分一個(gè)平面空間。同時(shí),為了增加現(xiàn)有編碼模板的分辨率,提出一個(gè)有效的時(shí)空編碼,投射的每一幀圖像由相同的光模板組成,后一幀由前一幀下移光條1/4寬度組成,四幀光模板如圖4所示。鑒于先前己有大量的文獻(xiàn)在數(shù)理組和方面對(duì)DeBruijn序列進(jìn)行了研究,采用文獻(xiàn)的方法產(chǎn)生序列。系統(tǒng)利用每幀光條邊界空間編碼唯一1i以及多幀的時(shí)間特性來(lái)增加重建模型的精度和分辨率。建立圖像平面與投影光平面之間的正確匹配是一個(gè)復(fù)雜的問(wèn)題。其步驟包括光條邊界定位、光條顏色分配以及解碼光條在每幀模板中的位置。重復(fù)上述步驟就可以匹配全部特征點(diǎn),進(jìn)而重建三維形狀。15光條邊界的精確定位圖像的邊緣檢測(cè)主要是灰度變化的度量、檢測(cè)和定位,邊緣檢測(cè)的方法眾多,不同的方法使用的濾波器也不盡相同。在實(shí)際的實(shí)驗(yàn)中把一幅圖像假設(shè)為連續(xù)函數(shù)/x,力,其方向?qū)?shù)在邊緣方向是有極值,邊緣檢測(cè)^原理是通過(guò)求/;c,力梯度的極值來(lái)實(shí)現(xiàn)的。常用的邊緣檢測(cè)方法有基于一階微分的邊緣檢測(cè)算子,包括Roberts、Sobel、Prewitt算子,基于二階微分的拉普拉斯算子(Laplace),還有基于最優(yōu)化方法的Canny算子,各個(gè)算子模板如圖5所示。應(yīng)用上述的常用算子對(duì)一幅圖像進(jìn)行邊緣檢測(cè),先將彩色圖像轉(zhuǎn)化為灰度圖像,各個(gè)算子的檢測(cè)結(jié)果如圖6所示。由于圖像數(shù)據(jù)是二維的,空間的深度信息在透視過(guò)程中丟失,再加上成像過(guò)程中的不均勻光照和噪聲,使邊緣檢測(cè)的精度降低,出現(xiàn)許多偽邊緣,光條的邊緣呈現(xiàn)出不連續(xù)性,這樣會(huì)造成空間點(diǎn)碼字的丟失,不能實(shí)現(xiàn)解碼。針對(duì)這些問(wèn)題本文提出另外的邊緣檢測(cè)方案,先進(jìn)行圖像預(yù)處理,在精確定位。光模板有水平彩色條紋組成,是一維編碼方式,對(duì)經(jīng)調(diào)制的圖像任意列行掃描,如圖7所示。從圖6可以看出,沿垂直方向掃描,彩色光條與白色光條的灰度強(qiáng)烈變化明顯,光條的邊緣可定義三通道灰度的極值來(lái)確定。彩色與白色邊界周圍存在著一定灰度值的過(guò)渡細(xì)縫彩色條,捕捉圖像中的邊緣偏離實(shí)際定義模板邊界,邊界精確定位直接影響系統(tǒng)重建的精度。針對(duì)上述問(wèn)題,在檢測(cè)邊緣前,由于光模板是一維條紋編碼,沿著圖像的每個(gè)列掃描,對(duì)每個(gè)像素點(diǎn)的各個(gè)通道用圖8的一維列算子進(jìn)行預(yù)處理,確定灰度變化強(qiáng)烈的像素點(diǎn)為候選邊緣點(diǎn)??紤]到全局邊緣點(diǎn)搜索耗時(shí),本文提出局部搜索方法,在圖像每一列上以候選邊緣點(diǎn)為中心,選取一定大小的區(qū)域,其最大值不超過(guò)光條寬度的1/2,搜索局部領(lǐng)域的步驟如下1.初始化候選邊緣點(diǎn)作為一區(qū)域中心2.沿列方向搜索,將z^,Zi+kj像素顏色空間轉(zhuǎn)成色調(diào)、亮度和飽和皮(mS)空間;3.增加新的點(diǎn)到這個(gè)區(qū)域,只要滿足與相鄰像素點(diǎn)的色調(diào)值差不超過(guò)設(shè)定的閾值H//是兩個(gè)像素色調(diào)的差值,z,力力表示第i:tk行j列像素的色調(diào)值。分別對(duì)白、紅、綠、藍(lán)光條相鄰像素的色調(diào)差作統(tǒng)計(jì)實(shí)驗(yàn),取閾值H-0.06可獲得理想的邊界區(qū)說(shuō)明書第12/19頁(yè)域。經(jīng)算子處理后,像素點(diǎn)的三通道灰度值為Gy,局部區(qū)域三通道灰度值之和的最大值的像素點(diǎn)可定義為邊界點(diǎn)。ma,=|;Gy(C=3)(2)戶iE為算子處理后像素點(diǎn)灰度值之和的最大值,檢測(cè)的精度可達(dá)到像素級(jí)。圖3-8是對(duì)圖3-5a原始圖像運(yùn)用上述方法進(jìn)行邊緣檢測(cè)的結(jié)果,與上述算子相比,邊緣變得較連續(xù),偽邊緣點(diǎn)減少。光條匹配圖像中每條被檢測(cè)出來(lái)的顏色和模板顏色有一定的相似度。因此,正確匹配光條對(duì)應(yīng)顏色是減少3D計(jì)算錯(cuò)誤的關(guān)鍵。Zhang等人提出動(dòng)態(tài)規(guī)劃方法匹配每個(gè)像素點(diǎn),而不是匹配每條光條,非常耗時(shí),如文獻(xiàn)l:L.Zhang,B.Curless,S.M.Seitz.Rapidshapeacquisitionusingcolorstructuredlightandmulti-passdynamicprogramming[A].In:ProceedingsFirstInternationalSymposiumon3DDataProcessingVisualizationandTransmission[C],2002,24-36(L.Zhang,B.Curless,S.M.Seitz.基于多通道動(dòng)態(tài)規(guī)劃的彩色結(jié)構(gòu)光快速形貌重建[A].第一屆國(guó)際研討會(huì)三維可視化數(shù)據(jù)處理和傳輸[C],2002,24-26.)。Fechteler等人采用一個(gè)復(fù)雜直線聚類算法找到每個(gè)聚類直線的參數(shù),直線之間的分離度不明顯,如文獻(xiàn)2:P.FechtelerandP.Eisert.Adaptivecolorclassificationforstructuredlightsystems[A].In:Proceedingsofthe15thInternationalConferenceonComputerVisionandPatternRecognition[C],USA,2008,1-7,(P.FechtelerandP.Eisert.結(jié)構(gòu)光系統(tǒng)顏色自適應(yīng)聚類[A].第15屆國(guó)際計(jì)算機(jī)視覺(jué)和模式識(shí)別會(huì)議[C],美國(guó),2008,1-7)。本文采用顏色聚類的方法建立顏色匹配特征向量,對(duì)圖像顏色和投射顏色進(jìn)行比較,定義色彩特征向量與聚類中心的歐式距離來(lái)分配候選光條紅綠藍(lán)白顏色。編碼采用的三基色空間距離己足夠大,用經(jīng)典的K均值算法搜索色彩類中心。首先選擇拍攝的多幅圖像,考慮到樣本空間,實(shí)驗(yàn)中選擇三幅圖像,并把對(duì)應(yīng)像素RGB分量轉(zhuǎn)成色彩三維特征向量作為輸入的樣本數(shù)據(jù),聚類中心搜索如下1.初始化&=4,紅、綠、藍(lán)、白色彩類,初始化K個(gè)群的中心;2.把每個(gè)樣本點(diǎn)分配給離群中心距離最小的群;3.K群中的質(zhì)心點(diǎn)成為新的聚類中心;4.重復(fù)步驟2和3直到所有點(diǎn)都趨向穩(wěn)定地聚集。實(shí)驗(yàn)表明捕捉的圖像顏色與投影儀投射的模板顏色有各種不同的扭曲和失真。另外,各傳感器存在噪聲和顏色間的串?dāng)_。如圖10所示,描述三基色r3B空間,(a)是在理想情況下投影儀中抓取的光條顏色RGB空間,(b)是在辦公環(huán)境下攝像機(jī)拍攝的光條顏色RGB空間。在圖10中,(b)所示,不同的顏色群集聚在特定的RGB空間區(qū)域,通ii樣本點(diǎn)訓(xùn)練顏色群的聚類中心,然后用點(diǎn)到點(diǎn)的距離來(lái)匹配光條顏色。Z),2(尸""("1,2,3'4)(3)A^是兩點(diǎn)距離的平方,戶,是光條中心像素的RGB特征向量,G是顏色聚類中心,rf&力是lj兩點(diǎn)之間距離。設(shè)D=min(A;0,那么光條顏色的分配按照(3-4)式進(jìn)行z/Z)=D,ft("1,2,3,4):4)Sc表示光條顏色。例如,hl,則光條顏色為紅色。{^1,2,3,4}分別指示紅、綠、藍(lán)和白色。分配好顏色后,每三條相鄰的光條顏色組成一個(gè)碼字Si,找出每個(gè)碼字在整個(gè)序列的位置就是解碼。采用Hsieh提出的直接解碼DeBrujin算法,與窮舉解碼相比,不需要存儲(chǔ)額外的字母表,時(shí)間復(fù)雜度是窮舉法的1/n(n為編碼元)。光條坐標(biāo)值JC,定義為x,-腦^,)+卜y-i)(5)ZM^S(^直接解碼第_/幀光模板子序列A的坐標(biāo)位置。本實(shí)施例中,首先選擇常用的RGB模型作為彩色模型,選擇紅綠藍(lán)和白作為編碼顏色集,以使顏色的距離最大,滿足顏色的精確匹配。邊緣檢測(cè)中,采用一維算子進(jìn)行預(yù)處理,定義三通道梯度變化平方和的極值作為邊界點(diǎn),同時(shí)利用邊界像素點(diǎn)分割光條,結(jié)合經(jīng)典的K均值聚類方法,實(shí)驗(yàn)中光條顏色的匹配正確率達(dá)到100%,利用已分配的光條顏色組成碼字,通過(guò)直接解碼算法,直接定位光條的空間位置,與窮舉法相比,大大提高了解碼效率。本實(shí)施例的標(biāo)定過(guò)程為攝像機(jī)模型從廣義上來(lái)分,攝像機(jī)的標(biāo)定方法可分成傳統(tǒng)的攝像機(jī)標(biāo)定法,攝像機(jī)自標(biāo)定法和基于主動(dòng)視覺(jué)的攝像機(jī)標(biāo)定法三類,本文采用的是一種傳統(tǒng)的攝像機(jī)標(biāo)定方法,張正友的平面標(biāo)定法,該方法利用攝像機(jī)從不同的角度拍攝平面模板的多幅圖像(至少三幅)來(lái)標(biāo)定攝像機(jī)所有內(nèi)外參數(shù)。平面標(biāo)定法的靈活性在于攝像機(jī)與標(biāo)靶間可以自由地運(yùn)動(dòng),而且運(yùn)動(dòng)參數(shù)無(wú)需知道。由于標(biāo)靶上每個(gè)特征點(diǎn)與其圖像上相應(yīng)的像點(diǎn)之間存在一對(duì)一的對(duì)應(yīng)關(guān)系,這個(gè)關(guān)系可用一T映射矩陣來(lái)表示,所以對(duì)于每幅圖像都可以確定一個(gè)映射矩陣,為內(nèi)部參數(shù)的求解18提供了兩個(gè)約束條件。該算法首先假定標(biāo)靶平面所在世界坐標(biāo)系的Z,fO,通過(guò)線性模型分析計(jì)算得出攝像機(jī)的初始參數(shù),然后考慮徑向畸變(一階或二階)用基于極大似然法對(duì)初始參數(shù)進(jìn)行非線性優(yōu)化,最后利用優(yōu)化好的內(nèi)部參數(shù)和標(biāo)靶平面的映射矩陣求出攝像機(jī)外參數(shù)。平面標(biāo)定方法是介于傳統(tǒng)標(biāo)定方法和自標(biāo)定方法之間的一種方法。它既避免了傳統(tǒng)方法設(shè)備精度要求高,操作繁瑣等缺點(diǎn),又較自標(biāo)定方法精度高,滿足普通桌面視覺(jué)系統(tǒng)的標(biāo)定要求。圖11是一個(gè)攝像機(jī)透視投影圖,從3D空間到2D平面的投影是一個(gè)多對(duì)一L映射,圖像點(diǎn)到3D空間光線mM上的所有3D點(diǎn)都對(duì)應(yīng)同樣的2D點(diǎn)m,這樣在成像過(guò)程中就會(huì)丟失深度信息。標(biāo)靶平面上的特征點(diǎn)世界坐標(biāo)記為M—Xw,Yw,Zw),圖像平面的像素坐標(biāo)記為m氣u,v),相應(yīng)的齊次坐標(biāo)分別為il/w氣Xw,Yw,Zw,1)T,mc=(u,v,l)T,攝像機(jī)基于線性針孔模型,用齊次坐標(biāo)和矩陣表示空間點(diǎn)到圖像上點(diǎn)的透視投影關(guān)系如下義,.=単(20)其中義是任一非零的投影尺度因子,旋轉(zhuǎn)矩陣i和平移向量t稱為攝像機(jī)外參數(shù),'K是攝像機(jī)內(nèi)部參數(shù)矩陣,定義為&y9Wo〖=0",,v0(21)-001其中c^厶/4,"廣/乂X,/y,4,4分別是x軸和y軸方向上的焦距和像素的物理尺寸,"是x軸和y軸的不垂直系數(shù),(W0,^)是圖像中心坐標(biāo)。標(biāo)靶平面所在世界坐標(biāo)系的ZzO,由式(20)得義=化6。/]01i(22)記=(XW,Yw,1)T,空間點(diǎn)Mw與圖像點(diǎn)me存在一個(gè)變換矩陣H,則Am,.=服(23)記//=[//&&],可以得到:&/^-kr2(24)Y是一常數(shù)因子,由旋轉(zhuǎn)矩陣i的正交性(r/^0,r/r尸r/。),得到內(nèi)參數(shù)尺的兩個(gè)19^irt:-、=0(25)(26)利用(25)(26)兩個(gè)約束條件線性求解內(nèi)參數(shù)X,令5=^sr1(27)^^實(shí)際上描述了絕對(duì)二次曲線在圖像平面上的投影,基于這個(gè)原理求出5,再對(duì)B求逆,利用SFD分解求得內(nèi)參數(shù)矩陣尺。再由《和映射矩陣/7計(jì)算每幅圖像相對(duì)于攝像機(jī)坐標(biāo)系的外參數(shù)旋轉(zhuǎn)矩陣i和平移向量f。對(duì)上述參數(shù)采用極大似然估計(jì)(Maximumlikelihoodestimation)進(jìn)行非線性優(yōu)化,進(jìn)一步求精。為提高標(biāo)定精確性,本文引入五維的徑向和切向畸變系數(shù)向量itc-(H/7/,;^,^)T,實(shí)際標(biāo)定中^=0(因?yàn)閊對(duì)應(yīng)的的階次較高)。(x,_y)表示以毫米為單位的圖像坐標(biāo),攝像機(jī)坐標(biāo)系下的空間點(diǎn)坐標(biāo)為C氣義。&Zc),定義歸一化坐標(biāo)圖像—^/Zc-義(28)令一-x^y2,(Jfj)實(shí)際的歸一化圖形坐標(biāo),(w,v)、(O)分別表示理想和實(shí)際觀測(cè)的像素坐標(biāo),引入畸變量后,歸一化坐標(biāo)可定義為=(1+A:,2+V4+V卞"+2;,;cy+jo2+2;c2)(29)最后得到圖像平面投影點(diǎn)的實(shí)際像素坐標(biāo)為=《V11i(30)極大似然估計(jì)目標(biāo)函數(shù):/7mZS|my-&(《J1,^,/1,jp2,i,,/,,MJ)『(31)'=i戶i其中A(〖,4,^,Hy,,r,,M》表示空間點(diǎn)M通過(guò)(4-l)和(4-10)式轉(zhuǎn)換投影到圖像平面,m,為第i幅圖像中的第j個(gè)的標(biāo)定點(diǎn),及,為第i幅圖像的旋轉(zhuǎn)矩陣,A為第i幅圖像的平移向量,^的初始值設(shè)為()T或者通過(guò)(29)式最小二乘法分解,將其與求得的攝像機(jī)內(nèi)外參數(shù)一起作為初始值,應(yīng)用Levenberg-Marquardt非線性優(yōu)化算法使目標(biāo)函數(shù)的估計(jì)值最小化,最后求出各參數(shù)的最終結(jié)果。投影儀模型在概念上等同于攝像機(jī)的逆模型,由于空間編碼的一維性,這里可以簡(jiǎn)化成一維模型。由投影儀坐標(biāo)Xd和世界坐標(biāo)Xw建立模型如下(15)乂1乂、ml4—m,,附,2/,4扁1,2—附2|m22m23加24iy是任一尺度因子,消除y,變換(15)式得到(16)利用(4-14)式構(gòu)造以mik為未知數(shù)的齊次線性方程組,然后通過(guò)奇異值(SVD)分解求解投影儀參數(shù)。在三維重建中,光條邊緣點(diǎn)作為特征點(diǎn),與棋盤格的角點(diǎn)不同,其世界坐標(biāo)無(wú)法直接獲得,需要利用已知點(diǎn)的世界坐標(biāo)間接求。建立簡(jiǎn)化透視交比不變性幾何模型,如圖1所示,假設(shè)空間點(diǎn)A、B、C位于同一條直線L上,以B為參考點(diǎn),位置比率定義為PR(A,B,C)=AB/AC(17)同理,A'、B'、C'是在透視中心O作用下,對(duì)應(yīng)點(diǎn)A、B、C的成像點(diǎn),并且位于同一點(diǎn)直線L1上,圖像坐標(biāo)上的位置比率為PR(A',B',C')=A'B'/A'C'(18)根據(jù)透視幾何原理的交比不變性可以得到PR(A,B,C)=PR(A',B',C')(19)在實(shí)驗(yàn)中,能找到空間直線上的三點(diǎn)A、B、C,那么對(duì)應(yīng)在圖像中點(diǎn)A'、B'、C'也是位于同一直線L'上。提取光模板中特征點(diǎn)的圖像坐標(biāo),根據(jù)(4-17)式可求出參考點(diǎn)B的世界坐標(biāo)。建立空間三維到一維坐標(biāo)之間的映射關(guān)系來(lái)標(biāo)定投影儀。在結(jié)構(gòu)光視覺(jué)系統(tǒng),分獨(dú)立兩步來(lái)標(biāo)定,攝像機(jī)標(biāo)定和投影儀標(biāo)定,每個(gè)步驟的標(biāo)定都相互獨(dú)立,互不依賴,不會(huì)出現(xiàn)迭代誤差,系統(tǒng)精度高。攝像機(jī)標(biāo)定特征點(diǎn)的三維坐標(biāo)精度要求高,采用二維標(biāo)定模板,為了使系統(tǒng)統(tǒng)一操作,攝像機(jī)標(biāo)定時(shí)投影儀投射單一白光,如圖2所示的共面標(biāo)靶,制作簡(jiǎn)易。標(biāo)靶有21x21mm標(biāo)準(zhǔn)黑/白棋盤格組成,棋盤格由激光高精度打印,然后緊貼21在鋁板面上,特征點(diǎn)由棋盤格的點(diǎn)組成。攝像機(jī)拍攝不同位置的10幅圖像,如用3所示。對(duì)10幅圖像選擇格子角點(diǎn)作為特征點(diǎn),運(yùn)用上述平面標(biāo)定法對(duì)攝像機(jī)進(jìn)行標(biāo)定,攝像機(jī)內(nèi)參數(shù)標(biāo)定結(jié)果為<formula>formulaseeoriginaldocumentpage22</formula>畸變系數(shù)&=(-0.16762,-0.74282,0.00092,-0.01760,0)T,實(shí)驗(yàn)中所用CCD的物理尺寸為4=^=6.45|^111,不考慮不垂直因子,對(duì)&,a求平均,可得均值焦距/'',3872.6+3858.1':義=2x6.45"(T3=24.9316麵乂與攝像機(jī)標(biāo)準(zhǔn)焦距/^25mm的相對(duì)誤差為:/0x100%=0.27%對(duì)標(biāo)靶特征點(diǎn)進(jìn)行重投影,結(jié)果誤差范圍為0.49708-0.65712像素,各幅圖像的巫投影誤差如圖5所示,x,y分別表示以像素為單位的圖像坐標(biāo)系。投影儀標(biāo)定投影儀作為結(jié)構(gòu)光系統(tǒng)中的光源投射器,其標(biāo)定涉及到系統(tǒng)的精度,本文用以上提出的一維簡(jiǎn)化模型進(jìn)行標(biāo)定。投影儀的標(biāo)定需要獲取標(biāo)定特征點(diǎn)的世界坐標(biāo)和光條坐標(biāo)值。將通過(guò)編程產(chǎn)生的光模板投影到共面標(biāo)靶上,黑白方格角點(diǎn)作為定位點(diǎn),如圖6所示,分別在深度值Z-990mm、982mm、974mm、966mm處拍攝四幅圖像。邊緣點(diǎn)進(jìn)行直線擬合,對(duì)所在一條直線上的角點(diǎn)也需要進(jìn)行擬合。利用在攝像機(jī)標(biāo)定中獲取的圖像,同時(shí)提取黑白方格角點(diǎn)圖像坐標(biāo),根據(jù)網(wǎng)格特性,世界坐標(biāo)可自動(dòng)生成。如圖8所示,投射單一白色光模板時(shí),可得到A,,B,兩點(diǎn)的圖像坐標(biāo)(zuv》,("s,vfi),以及世界坐標(biāo)為(Ja&,Z》,CYb,^&)。求直線Li和L的交點(diǎn),得到Pi點(diǎn)的圖像坐標(biāo),如P,點(diǎn)的圖像坐標(biāo)為(w,v》,世界坐標(biāo)定義為C^,^,2p),因?yàn)锳,,B,,P,三點(diǎn)共面,所以Z^Z尸^,由(19)式得到,令4=Z^L,A,ikZ^(13)由(12)、(13)式得<&=^+^(&—(14)厶尸厶爿厶s由此利用交比不變性的原理求解光條邊緣特征點(diǎn)的世界坐標(biāo),再解碼出元條t」學(xué)號(hào)坐標(biāo),用投影儀模型進(jìn)行標(biāo)定。標(biāo)定結(jié)果范圍為0-0.2889,誤差示意圖如圖所示。本實(shí)施例的結(jié)構(gòu)光視覺(jué)系統(tǒng)的基線長(zhǎng)為230mm,對(duì)深度值Z-990mm、982mm、974mm、966mm的四個(gè)標(biāo)耙平面進(jìn)行重構(gòu),重構(gòu)誤差如表l所示。從表l中可以看出,利用四幅等距平移的標(biāo)靶進(jìn)行標(biāo)定,系統(tǒng)的平均絕對(duì)誤差為1.38mm,平均相對(duì)誤差為0.14%。Z/mm標(biāo)準(zhǔn)差絕對(duì)誤差相對(duì)誤差990.01.00741.32090.13982.21.03741.40860.14974.41.02931.39430.14966.71.08811.39880.14表l利用已標(biāo)定的參數(shù)分別對(duì)四個(gè)平面標(biāo)定點(diǎn)進(jìn)行反投影,重構(gòu)結(jié)果如圖9所示。測(cè)量精度與硬件設(shè)備的精度密切相關(guān),在系統(tǒng)標(biāo)定實(shí)驗(yàn)中,誤差產(chǎn)生的原因很多,主要?dú)w納為以下幾個(gè)方面1.高精度的棋盤格模板打印存在著一定的誤差。2.在角點(diǎn)提取產(chǎn)生的過(guò)程中,攝像機(jī)標(biāo)定時(shí)假設(shè)棋盤格上的點(diǎn)共面,這就要求模板平面絕對(duì)平整,但在實(shí)際實(shí)驗(yàn)中,模板平面不可能絕對(duì)的平整,拍攝的圖像與假設(shè)會(huì)有微小偏差,這一微小偏差弓I入計(jì)算就會(huì)造成誤差。3.投影儀標(biāo)定的過(guò)程中,應(yīng)用交比不變性求世界坐標(biāo),對(duì)特征點(diǎn)進(jìn)行直線擬合時(shí)引入了誤差。.4.標(biāo)定系統(tǒng)造成的誤差。首先視覺(jué)系統(tǒng)的分辨率以及采集精度都會(huì)影響整個(gè)系統(tǒng)的誤差,其次標(biāo)定方法的選取和整個(gè)標(biāo)定系統(tǒng)各部分的結(jié)合都會(huì)造成系統(tǒng)的誤差。本文的攝像機(jī)標(biāo)定主要基于張正友的平面標(biāo)定方法,從標(biāo)定的結(jié)果看,基23于非線性迭代的方法,使誤差的最小,投影儀模型的分解也是基于誤差最小化。以上四方面是引起標(biāo)定誤差的主要原因。由于實(shí)驗(yàn)條件所限,硬件的攝像機(jī)和投影儀分辨率和采集精度的限制,網(wǎng)格角點(diǎn)提取過(guò)程中,模板面不是絕對(duì)平整,引起角點(diǎn)提取誤差。此外,上述的系統(tǒng)模型在理論上和計(jì)算過(guò)程中都會(huì)有缺陷,也會(huì)造成誤差。標(biāo)定好的轉(zhuǎn)換矩陣參數(shù)確定了空間點(diǎn)坐標(biāo)和它的圖像坐標(biāo)點(diǎn)的關(guān)系,進(jìn)行三維計(jì)算時(shí),要求從特征點(diǎn)的圖像坐標(biāo)恢復(fù)空間三維坐標(biāo),即是三維重建的過(guò)程。拍攝經(jīng)調(diào)制的圖像,經(jīng)圖像處理后獲取圖像坐標(biāo)(仏",通過(guò)(4-10)式和(4-ll)式計(jì)算得出理想歸一化坐標(biāo)(x,少),由于攝像機(jī)坐標(biāo)系下空間點(diǎn)和空間存在如下的關(guān)系(6)乂一-《=/+zc/3_A—由(4-9)式得出X^xZc,rc=yzc,帶入(6)f尋。6a,=+6,3(7)消去Zc,化簡(jiǎn)得、-r、—xr3一f2—,2(8)通過(guò)光條解碼求出Xrf坐標(biāo)值,得(9)結(jié)合(8)式、(9)式得x/3-^,3—-(=24—附"一附l—-jc,2(10)將(10)式寫成矩陣v4X1形式,其中廬(Uw,Zw),則方程線性最小二乘解為h(力)一V力(ii)Z即是由2D圖像通過(guò)三維計(jì)算得到的世界坐標(biāo)。2權(quán)利要求1、一種基于編碼結(jié)構(gòu)光的三維重建方法,其特征在于所述三維重建方法包括以下步驟1)、向待測(cè)物投射結(jié)構(gòu)光,攝像機(jī)捕捉經(jīng)待測(cè)物調(diào)制的圖像;2)、進(jìn)行光模板匹配,包括以下步驟(2.1)、光條邊界的定位待檢測(cè)的光模板為一維條紋編碼,沿著圖像的每個(gè)列掃描,對(duì)每個(gè)像素點(diǎn)的各個(gè)通道用一維列算子進(jìn)行預(yù)處理,確定灰度變化強(qiáng)烈的像素點(diǎn)為候選邊緣點(diǎn),在圖像每一列上以候選邊緣點(diǎn)為中心,選取一定大小的區(qū)域,其最大值不超過(guò)光條寬度的1/2,搜索局部領(lǐng)域的步驟如下(2.1.1).初始化候選邊緣點(diǎn)作為一區(qū)域中心zi,j;(2.1.2).沿列方向搜索,將z1-k,j,zi+k,j像素顏色空間轉(zhuǎn)成色調(diào)、亮度和飽和度(HIS)空間;(2.1.3).增加新的點(diǎn)到這個(gè)區(qū)域,只要滿足與相鄰像素點(diǎn)的色調(diào)值差不超過(guò)設(shè)定的閾值Hh=|zi±k,j,h-zi±k±1,j,h|(1)h是兩個(gè)像素色調(diào)的差值,zi±k,j,h表示第i±k行j列像素的色調(diào)值;經(jīng)算子處理后,像素點(diǎn)的三通道灰度值為Gij,局部區(qū)域三通道灰度值之和的最大值的像素點(diǎn)定義為邊界點(diǎn);<mathsid="math0001"num="0001"><math><![CDATA[<mrow><mi>max</mi><mrow><mo>(</mo><mi>E</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>Σ</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>C</mi></munderover><msub><mi>G</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>C</mi><mo>=</mo><mn>3</mn><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math></maths>E為算子處理后像素點(diǎn)灰度值之和的最大值;(2.2)、光條匹配采用顏色聚類的方法建立顏色匹配特征向量,對(duì)圖像顏色和投射顏色進(jìn)行比較,定義色彩特征向量與聚類中心的歐式距離來(lái)分配候選光條紅綠藍(lán)白顏色;不同的顏色群集聚在特定的RGB空間區(qū)域,通過(guò)樣本點(diǎn)訓(xùn)練顏色群的聚類中心,然后用點(diǎn)到點(diǎn)的距離來(lái)匹配光條顏色;Dik=d2(Pi,Ck)(k=1,2,3,4)(3)Dik是兩點(diǎn)距離的平方,Pi是光條中心像素的RGB特征向量,Ck是顏色聚類中心,d(x,y)是x,y兩點(diǎn)之間距離;設(shè)D=min(Dik),那么光條顏色的分配按照(4)式進(jìn)行sc={kifD==Dik(k=1,2,3,4)(4)sc表示光條顏色;分配好顏色后,每三條相鄰的光條顏色組成一個(gè)碼字si,找出每個(gè)碼字在整個(gè)序列的位置就是解碼;光條坐標(biāo)值xi定義為<mathsid="math0002"num="0002"><math><![CDATA[<mrow><msub><mi>x</mi><mi>i</mi></msub><mo>=</mo><mi>DdBS</mi><mrow><mo>(</mo><msub><mi>s</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>+</mo><mfrac><mn>1</mn><mn>4</mn></mfrac><mrow><mo>(</mo><mi>j</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow>]]></math></maths>DdBS(si)表示直接解碼第j幀光模板子序列si的坐標(biāo)位置;3)、利用已經(jīng)標(biāo)定好的系統(tǒng)參數(shù)進(jìn)行待測(cè)物的三維重建,具體過(guò)程為標(biāo)定好的轉(zhuǎn)換矩陣參數(shù)確定了空間點(diǎn)坐標(biāo)和它的圖像坐標(biāo)點(diǎn)的關(guān)系,從特征點(diǎn)的圖像坐標(biāo)恢復(fù)空間三維坐標(biāo);拍攝經(jīng)調(diào)制的圖像,經(jīng)圖像處理后獲取圖像坐標(biāo)id="icf0003"file="A2009101536030003C2.tif"wi="11"he="5"top="114"left="31"img-content="drawing"img-format="tif"orientation="portrait"inline="yes"/>計(jì)算得出理想歸一化坐標(biāo)(x,y),攝像機(jī)坐標(biāo)系下空間點(diǎn)和空間存在如下的關(guān)系<mathsid="math0003"num="0003"><math><![CDATA[<mrow><mfencedopen='['close=']'><mtable><mtr><mtd><msub><mi>X</mi><mi>c</mi></msub></mtd></mtr><mtr><mtd><msub><mi>Y</mi><mi>c</mi></msub></mtd></mtr><mtr><mtd><msub><mi>Z</mi><mi>c</mi></msub></mtd></mtr></mtable></mfenced><mo>=</mo><mi>R</mi><mfencedopen='['close=']'><mtable><mtr><mtd><msub><mi>X</mi><mi>w</mi></msub></mtd></mtr><mtr><mtd><msub><mi>Y</mi><mi>w</mi></msub></mtd></mtr><mtr><mtd><msub><mi>Z</mi><mi>w</mi></msub></mtd></mtr></mtable></mfenced><mo>+</mo><mi>t</mi><mo>=</mo><mfencedopen='['close=']'><mtable><mtr><mtd><msub><mi>r</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mi>r</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><msub><mi>r</mi><mn>3</mn></msub></mtd></mtr></mtable></mfenced><mfencedopen='['close=']'><mtable><mtr><mtd><msub><mi>X</mi><mi>w</mi></msub></mtd></mtr><mtr><mtd><msub><mi>Y</mi><mi>w</mi></msub></mtd></mtr><mtr><mtd><msub><mi>Z</mi><mi>w</mi></msub></mtd></mtr></mtable></mfenced><mo>+</mo><mfencedopen='['close=']'><mtable><mtr><mtd><msub><mi>t</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mi>t</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><msub><mi>t</mi><mn>3</mn></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>]]></math></maths>定義Xc=xZc,Yc=y(tǒng)Zc,帶入(6)得<mathsid="math0004"num="0004"><math><![CDATA[<mrow><mfencedopen='['close=']'><mtable><mtr><mtd><msub><mi>xZ</mi><mi>c</mi></msub></mtd></mtr><mtr><mtd><msub><mi>yZ</mi><mi>c</mi></msub></mtd></mtr><mtr><mtd><msub><mi>Z</mi><mi>c</mi></msub></mtd></mtr></mtable></mfenced><mo>=</mo><mfencedopen='['close=']'><mtable><mtr><mtd><msub><mi>r</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mi>r</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><msub><mi>r</mi><mn>3</mn></msub></mtd></mtr></mtable></mfenced><mfencedopen='['close=']'><mtable><mtr><mtd><msub><mi>X</mi><mi>w</mi></msub></mtd></mtr><mtr><mtd><msub><mi>Y</mi><mi>w</mi></msub></mtd></mtr><mtr><mtd><msub><mi>Z</mi><mi>w</mi></msub></mtd></mtr></mtable></mfenced><mo>+</mo><mfencedopen='['close=']'><mtable><mtr><mtd><msub><mi>t</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mi>t</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><msub><mi>t</mi><mn>3</mn></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>]]></math></maths>消去Zc,化簡(jiǎn)得<mathsid="math0005"num="0005"><math><![CDATA[<mrow><mfencedopen='['close=']'><mtable><mtr><mtd><msub><mi>xt</mi><mn>3</mn></msub><mo>-</mo><msub><mi>t</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mi>yt</mi><mn>3</mn></msub><mo>-</mo><msub><mi>t</mi><mn>2</mn></msub></mtd></mtr></mtable></mfenced><mo>=</mo><mfencedopen='['close=']'><mtable><mtr><mtd><msub><mi>r</mi><mn>1</mn></msub><mo>-</mo><msub><mi>xr</mi><mn>3</mn></msub></mtd></mtr><mtr><mtd><msub><mi>r</mi><mn>2</mn></msub><mo>-</mo><msub><mi>yr</mi><mn>3</mn></msub></mtd></mtr></mtable></mfenced><mfencedopen='['close=']'><mtable><mtr><mtd><msub><mi>X</mi><mi>w</mi></msub></mtd></mtr><mtr><mtd><msub><mi>Y</mi><mi>w</mi></msub></mtd></mtr><mtr><mtd><msub><mi>Z</mi><mi>w</mi></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow>]]></math></maths>通過(guò)光條解碼求出xd坐標(biāo)值,得<mathsid="math0006"num="0006"><math><![CDATA[<mrow><msub><mi>x</mi><mi>d</mi></msub><msub><mi>m</mi><mn>24</mn></msub><mo>-</mo><msub><mi>m</mi><mn>14</mn></msub><mo>=</mo><mo>[</mo><msub><mi>m</mi><mn>1</mn></msub><mo>-</mo><msub><mi>x</mi><mi>d</mi></msub><msub><mi>m</mi><mn>2</mn></msub><mo>]</mo><mfencedopen='['close=']'><mtable><mtr><mtd><msub><mi>X</mi><mi>w</mi></msub></mtd></mtr><mtr><mtd><msub><mi>Y</mi><mi>w</mi></msub></mtd></mtr><mtr><mtd><msub><mi>Z</mi><mi>w</mi></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow>]]></math></maths>結(jié)合(8)式、(9)式得<mathsid="math0007"num="0007"><math><![CDATA[<mrow><mfencedopen='['close=']'><mtable><mtr><mtd><msub><mi>xt</mi><mn>3</mn></msub><mo>-</mo><msub><mi>t</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><mi>y</mi><msub><mi>t</mi><mn>3</mn></msub><mo>-</mo><msub><mi>t</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><msub><mi>x</mi><mi>d</mi></msub><msub><mi>m</mi><mn>24</mn></msub><mo>-</mo><msub><mi>m</mi><mn>14</mn></msub></mtd></mtr></mtable></mfenced><mo>=</mo><mfencedopen='['close=']'><mtable><mtr><mtd><msub><mi>r</mi><mn>1</mn></msub><mo>-</mo><msub><mi>xr</mi><mn>3</mn></msub></mtd></mtr><mtr><mtd><msub><mi>r</mi><mn>2</mn></msub><mo>-</mo><msub><mi>yr</mi><mn>3</mn></msub></mtd></mtr><mtr><mtd><msub><mi>m</mi><mn>1</mn></msub><mo>-</mo><msub><mi>x</mi><mi>d</mi></msub><msub><mi>m</mi><mn>2</mn></msub></mtd></mtr></mtable></mfenced><mfencedopen='['close=']'><mtable><mtr><mtd><msub><mi>X</mi><mi>w</mi></msub></mtd></mtr><mtr><mtd><msub><mi>Y</mi><mi>w</mi></msub></mtd></mtr><mtr><mtd><msub><mi>Z</mi><mi>w</mi></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mrow>]]></math></maths>將(10)式寫成矩陣AX=B形式,其中X=(xw,Yw,Zw),則方程線性最小二乘解為X=(ATA)-1ATB(11)X即是由二維圖像通過(guò)三維計(jì)算得到的世界坐標(biāo)。2、如權(quán)利要求1所述的基于編碼結(jié)構(gòu)光的三維重建方法,其特征在于在所述步驟2.1)中,聚類中心的搜索方法為(2丄1).初始化K^4,紅、綠、藍(lán)、白色彩類,初始化K個(gè)群的中心;(2丄2).把每個(gè)樣本點(diǎn)分配給離群中心距離最小的群;(2丄3).K群中的質(zhì)心點(diǎn)成為新的聚類中心;(2丄4).重復(fù)歩驟2和3直到所有點(diǎn)都趨向穩(wěn)定地聚集。3、如權(quán)利要求1或2所述的基于編碼結(jié)構(gòu)光的三維重建方法,其特征在于在所述步驟3)中,系統(tǒng)參數(shù)包括攝像機(jī)參數(shù)和投影儀參數(shù),標(biāo)定方法包括以下步驟3.1)、攝像機(jī)標(biāo)定過(guò)程采用二維標(biāo)定模板,標(biāo)靶為標(biāo)準(zhǔn)的黑白棋格組成,特征點(diǎn)為棋格的點(diǎn)組成,攝像機(jī)拍攝不同位置的多幅圖像,對(duì)所述多幅圖像選擇格子角點(diǎn)作為特征點(diǎn),采用平面標(biāo)定法對(duì)攝像機(jī)進(jìn)行標(biāo)定,得到攝像機(jī)內(nèi)參數(shù)標(biāo)定K,并得到均值焦距/;其特征在于所述標(biāo)定方法還包括3.2)、投影儀標(biāo)定過(guò)程通過(guò)編碼產(chǎn)生的光模板投影到共同標(biāo)靶上,黑白方格角點(diǎn)作為定位點(diǎn),利用在攝像機(jī)標(biāo)定中獲取的圖像,同時(shí)提取黑白方格角點(diǎn)圖像坐標(biāo),生成世界坐標(biāo);投射單一白色光模板時(shí),直接提起A,,B!兩角點(diǎn)的圖像坐標(biāo)0uv》,("&vs),以及世界坐標(biāo)為(XA&,Z》,(Xfi,y&Zfi),求直線L,和L的交點(diǎn),得到Pi點(diǎn)的圖像坐標(biāo),如Pi點(diǎn)的圖像坐標(biāo)為(叫印),世界坐標(biāo)定義為(^,Fp,Zp),因?yàn)锳i,B!,P!三點(diǎn)共面,所以Z^Z^^s,根據(jù)交比不變性,得到,<formula>formulaseeoriginaldocumentpage4</formula>由(12)、(13)式得<formula>formulaseeoriginaldocumentpage4</formula>;^分別表示X和Y方向的交比系數(shù),(Zp,^,Zp)表示光條邊緣特征點(diǎn)的世界坐標(biāo)。4、如權(quán)利要求3所述的一種基于編碼結(jié)構(gòu)光的標(biāo)定方法,所述標(biāo)定方法包括以下步驟在所述步驟3.2)中,投影儀模型的建立過(guò)程為由投影儀坐標(biāo)Xd和世界坐標(biāo)Xw建立模型如下「"(15)乂-乂w,附|4>;、1m,2m,「1附2//)24i,21附22i21—1y是任一尺度因子,消除y,變換(15)式得到利用(16)式構(gòu)造以mik為未知數(shù)的齊次線性方程組,然后通過(guò)奇異值分解求解投影儀參數(shù);建立簡(jiǎn)化透視交比不變性幾何模型,假設(shè)空間點(diǎn)A、B、C位于同一條直線L上,以B為參考點(diǎn),位置比率定義為PR(A,B,C)=AB/AC(17)同理,A'、B'、C'是在透視中心O作用下,對(duì)應(yīng)點(diǎn)A、B、C的成像點(diǎn),并且位于同一點(diǎn)直線L1上,圖像坐標(biāo)上的位置比率為PR(A',B',C')=A'B'/A'C'(18)根據(jù)透視幾何原理的交比不變性,得到PR(A,B,C)=PR(A',B',C')(19)在圖像中點(diǎn)A'、B'、C'也是位于同一直線L'上。提取光模板中特征點(diǎn)的圖像坐標(biāo),根據(jù)(19)式求出參考點(diǎn)B的世界坐標(biāo),建立空間三維到一維坐標(biāo)之間的映射關(guān)系來(lái)標(biāo)定投影儀。全文摘要一種基于編碼結(jié)構(gòu)光的三維重建方法,包括以下步驟1)向待測(cè)物投射結(jié)構(gòu)光,攝像機(jī)捕捉經(jīng)待測(cè)物調(diào)制的圖像;2)進(jìn)行光模板匹配,包括(2.1)光條邊界的定位,沿著圖像的每個(gè)列掃描,確定灰度變化強(qiáng)烈的像素點(diǎn)為候選邊緣點(diǎn),并搜索局部領(lǐng)域;(2.2)光條匹配采用顏色聚類的方法建立顏色匹配特征向量,對(duì)圖像顏色和投射顏色進(jìn)行比較,定義色彩特征向量與聚類中心的歐式距離來(lái)分配候選光條紅綠藍(lán)白顏色;3)利用已經(jīng)標(biāo)定好的系統(tǒng)參數(shù)進(jìn)行待測(cè)物的三維重建,標(biāo)定好的轉(zhuǎn)換矩陣參數(shù)確定了空間點(diǎn)坐標(biāo)和它的圖像坐標(biāo)點(diǎn)的關(guān)系,從特征點(diǎn)的圖像坐標(biāo)恢復(fù)空間三維坐標(biāo)。本發(fā)明能簡(jiǎn)化計(jì)算過(guò)程、匹配精度高、重建精度高。文檔編號(hào)G06T17/00GK101667303SQ20091015360公開(kāi)日2010年3月10日申請(qǐng)日期2009年9月29日優(yōu)先權(quán)日2009年9月29日發(fā)明者原長(zhǎng)春,帥李,貝潘,王萬(wàn)良,秋管,胡正周,陳勝勇申請(qǐng)人:浙江工業(yè)大學(xué)