本發(fā)明涉及多鏡頭機(jī)器視覺(jué)
技術(shù)領(lǐng)域:
,具體涉及一種基于雙目立體視覺(jué)系統(tǒng)的多視角三維重建方法。
背景技術(shù):
:三維重建是通過(guò)數(shù)字化手段對(duì)三維物體建立適合計(jì)算機(jī)表示和處理的數(shù)學(xué)模型。二維信息已經(jīng)在眾多領(lǐng)域有應(yīng)用,但隨著工業(yè)生產(chǎn)的要求,物體的二維信息已經(jīng)不能滿足于人們的要求。三維重建技術(shù)能夠快速、精確的數(shù)字化表示三維物體。從而被廣泛應(yīng)用在工業(yè)測(cè)量、3D打印、文物數(shù)字化、人機(jī)交互等眾多領(lǐng)域,其研究?jī)r(jià)值日益凸顯。三維數(shù)據(jù)采集通常有兩種方式。測(cè)量設(shè)備接觸被重建物體表面測(cè)量數(shù)據(jù)。主要優(yōu)點(diǎn)是數(shù)據(jù)采集不受物體材質(zhì)和光線影響,邊緣輪廓保存完整,精度較高。缺點(diǎn)是數(shù)據(jù)采集速度慢,效率低。另外一種設(shè)備主要利用光、聲波等物理特性。例如3D掃描儀、TOF相機(jī)等。其優(yōu)點(diǎn)是測(cè)量速度快,效率高,缺點(diǎn)是易受光照和物體表面材質(zhì)影響,輪闊邊緣保存不完整。三維重建技術(shù)能夠快速、精確的數(shù)字化表示三維物體。該技術(shù)對(duì)人類(lèi)生活具有重要作用。研究?jī)r(jià)值日益凸顯,眾多學(xué)者和公司從事相關(guān)方向的研究。2011年微軟研究院開(kāi)始進(jìn)行一個(gè)名為KinectFusion項(xiàng)目,通過(guò)移動(dòng)Kinect設(shè)備掃描物體進(jìn)行實(shí)時(shí)三維模型重建。通過(guò)融合不同時(shí)序的深度數(shù)據(jù),重建出目標(biāo)物的三維模型,可以達(dá)到適時(shí)效果。2014年Google宣布了Tango項(xiàng)目,使用低成本的手機(jī)進(jìn)行場(chǎng)景的3D掃描。其基本原理和KinectFusion相似。目前,現(xiàn)有的三維信息采集設(shè)備昂貴,三維重建操作相對(duì)復(fù)雜?;陔p目立體視覺(jué)系統(tǒng)三維重建可以在相同重建效果下,大幅度降低三維信息采集設(shè)備費(fèi)用,目前基于雙目立體視覺(jué)系統(tǒng)三維重建市場(chǎng)應(yīng)用少,具有較高的研究?jī)r(jià)值、應(yīng)用價(jià)值和市場(chǎng)價(jià)值。技術(shù)實(shí)現(xiàn)要素:為了克服現(xiàn)有技術(shù)存在的缺陷,本發(fā)明提供一種基于雙目立體視覺(jué)系統(tǒng)的多視角三維重建方法,該方法具有三維信息采集設(shè)備低廉、過(guò)程簡(jiǎn)單有效、工程實(shí)用價(jià)值高的優(yōu)點(diǎn)。本發(fā)明采用如下技術(shù)方案:一種基于雙目立體視覺(jué)系統(tǒng)的多視角三維重建方法,包括如下步驟:S1根據(jù)被重建物體大小建立雙目立體視覺(jué)系統(tǒng),所述雙目立體視覺(jué)系統(tǒng)由兩個(gè)型號(hào)及參數(shù)相同的攝像頭構(gòu)成,兩個(gè)攝像頭平行固定,對(duì)兩個(gè)攝像頭進(jìn)行立體標(biāo)定,制作雙目立體視覺(jué)恢復(fù)三維信息查找表;S2雙目立體視覺(jué)系統(tǒng)采集被重建物體的視頻信息,對(duì)右攝像頭采集的視頻信息進(jìn)行單應(yīng)性變換,將單應(yīng)性變換后的視頻信息和對(duì)應(yīng)左攝像頭采集的視頻信息進(jìn)行立體匹配得到被重建物體的視差,根據(jù)視差和三維信息查找表得到圖像中每個(gè)點(diǎn)的三維信息;S3對(duì)重建物體不同視角三點(diǎn)云信息進(jìn)行依次進(jìn)行預(yù)處理、粗配準(zhǔn)、精配準(zhǔn),獲取相鄰視角點(diǎn)云之間的旋轉(zhuǎn)和平移,然后將不同視角三維點(diǎn)云轉(zhuǎn)換到同一坐標(biāo)系,完成對(duì)被重建物體多視角的三維重建。所述S1根據(jù)被重建物體大小建立雙目立體視覺(jué)系統(tǒng),所述雙目立體視覺(jué)系統(tǒng)由兩個(gè)型號(hào)及參數(shù)相同的攝像頭構(gòu)成,兩個(gè)攝像頭平行固定,對(duì)兩個(gè)攝像頭進(jìn)行立體標(biāo)定,制作雙目立體視覺(jué)恢復(fù)三維信息查找表,具體為:S1.1所述雙目立體視覺(jué)系統(tǒng)由兩個(gè)型號(hào)及參數(shù)相同的攝像頭構(gòu)成,兩個(gè)攝像頭平行固定;S1.2對(duì)左右攝像頭進(jìn)行標(biāo)定,獲取左右攝像頭的光心坐標(biāo)、焦距、內(nèi)參、兩攝像頭之間的旋轉(zhuǎn)和平移參數(shù),所述兩個(gè)攝像頭具體左、右攝像頭;S1.3然后在雙目攝像頭前方設(shè)置標(biāo)定板,標(biāo)定板與雙目攝像頭圖像平面平行,找到對(duì)應(yīng)距離的視差,根據(jù)視差與距離之間的反比例關(guān)系,導(dǎo)出視差和深度的查找表即Z坐標(biāo)和視差之間的關(guān)系查找表;S1.4所述視差和三維坐標(biāo)點(diǎn)之間的關(guān)系為:X=B(X1-O1)/(X1-X2)Y=B(Y1-O1)/(X1-X2)Z=Bf/(X1-X2)其中,Z為物體距離雙目攝像頭的深度值,B為雙目攝像頭的基線長(zhǎng)度,X1,X2分別是特征點(diǎn)在左右像素平面上的像素坐標(biāo)值,f是雙目攝像頭的焦距,單位是像素;S1.5根據(jù)視差和三維點(diǎn)坐標(biāo)之間的關(guān)系,可知X、Y坐標(biāo)和Z坐標(biāo)之間相差一個(gè)系數(shù),由視差深度表,即可得到視差和X、Y坐標(biāo)之間的查找表。所述S2中左右攝像頭采集被重建物體的視頻信息,對(duì)右攝像頭采集的視頻信息進(jìn)行單應(yīng)性變換,將單應(yīng)性變換后的視頻信息和對(duì)應(yīng)左攝像頭采集的視頻信息進(jìn)行立體匹配得到被重建物體的視差視頻,根據(jù)視差視頻恢復(fù)物體的三維信息,具體為:S2.1左右攝像頭采集被重建物體的視頻信息,所述視頻信息幀率同步;S2.2對(duì)右攝像頭采集的視頻信息進(jìn)行單應(yīng)性變換,所述單應(yīng)性變換包括單應(yīng)性矩陣求解和圖像映射插值;S2.3將單應(yīng)性變換后的視頻信息和對(duì)應(yīng)左攝像頭采集的視頻信息進(jìn)行立體匹配得到圖像中每個(gè)點(diǎn)的視差,根據(jù)視差值和三維信息查找表得到圖像中每個(gè)點(diǎn)的三維信息。所述S3中,預(yù)處理包括離散點(diǎn)的去除、點(diǎn)云的降采樣及噪聲的去除。預(yù)處理后的三維點(diǎn)云進(jìn)行粗配準(zhǔn)獲取相鄰視角三維點(diǎn)云之間的初始旋轉(zhuǎn)矩陣和平移矩陣,已知相鄰視角三維點(diǎn)云之間的初始旋轉(zhuǎn)矩陣和平移矩陣進(jìn)行精配準(zhǔn),采用ICP迭代最鄰近點(diǎn)算法對(duì)相鄰視角進(jìn)行精配準(zhǔn),得到最優(yōu)旋轉(zhuǎn)矩陣和平移矩陣。所述粗配準(zhǔn)采用基于二維RGB圖輔助三維點(diǎn)云粗配準(zhǔn)方案。本發(fā)明的有益效果:(1)本發(fā)明方法可以大幅度降低三維數(shù)據(jù)采集設(shè)備費(fèi)用。(2)本發(fā)明方法可以實(shí)現(xiàn)有較大平移和旋轉(zhuǎn)相鄰視角的配準(zhǔn)。(3)本發(fā)明方法簡(jiǎn)單有效,具有很高的工程實(shí)用價(jià)值。附圖說(shuō)明圖1是本發(fā)明的工作流程圖;圖2是本發(fā)明實(shí)施例1中的視差深度原理圖;圖3是本發(fā)明實(shí)施例1中的雙目立體視覺(jué)系統(tǒng)模型示意圖;圖4是本發(fā)明實(shí)施例1中的生成三維點(diǎn)云流程圖;圖5是本發(fā)明實(shí)施例1中的單應(yīng)性矩陣映射圖;圖6是本發(fā)明實(shí)施例1中的雙線性插值原理圖;圖7是本發(fā)明實(shí)施例1中的正向映射模型圖;圖8是本發(fā)明實(shí)施例1中的逆向映射模型圖;圖9為本發(fā)明實(shí)施例1的二維RGB圖輔助三維點(diǎn)云粗配準(zhǔn)的流程圖;圖10為本發(fā)明實(shí)施例1多視角三維點(diǎn)云配準(zhǔn)流程圖。具體實(shí)施方式下面結(jié)合實(shí)施例及附圖,對(duì)本發(fā)明作進(jìn)一步地詳細(xì)說(shuō)明,但本發(fā)明的實(shí)施方式不限于此。實(shí)施例一種基于雙目立體視覺(jué)系統(tǒng)的多視角三維重建方法,包括如下步驟:如圖1所示,S1根據(jù)被重建物體大小建立雙目立體視覺(jué)系統(tǒng),包括攝像頭的選擇,基線的大小設(shè)置、攝像頭的分辨率設(shè)置等。所述雙目立體視覺(jué)系統(tǒng)包括具有平行光軸結(jié)構(gòu)的左、右攝像頭,采用外置標(biāo)準(zhǔn)尺寸棋盤(pán)格標(biāo)定法對(duì)左右攝像頭進(jìn)行標(biāo)定,得到雙目攝像頭的光心坐標(biāo)、焦距、畸變系數(shù)、內(nèi)參、兩攝像頭之間的旋轉(zhuǎn)和平移參數(shù),制作雙目立體視覺(jué)恢復(fù)三維信息查找表,具體為:具體如下:1.1)如圖2所示的雙目立體視覺(jué)系統(tǒng)雙目相機(jī)結(jié)構(gòu)示意圖。雙目像機(jī)采用兩個(gè)型號(hào)相同、參數(shù)基本相同的攝像頭,且兩個(gè)攝像頭保持平行并固定在云臺(tái)上。水平校準(zhǔn)儀可以校準(zhǔn)水平,可以旋轉(zhuǎn)。1.2)待測(cè)點(diǎn)A,深度L與在兩個(gè)圖像平面的視差是X=X1+X滿足反比例關(guān)系:L=b*fX---(1)]]>其中b基線長(zhǎng)度、f為攝像頭焦距、X為視差1.3)由(1.2)可知雙目立體視覺(jué)系統(tǒng)恢復(fù)三維信息與焦距、基線、視差有關(guān)。與焦距大小、基線的長(zhǎng)度成正比和視差大小成反比。但是基線越大、焦距越大雙目立體視覺(jué)系統(tǒng)左右攝像頭公共區(qū)域越小。分辨率越高視差值越大,但是計(jì)算量越大,運(yùn)算速度越慢。因此設(shè)計(jì)雙目立體視覺(jué)系統(tǒng)要根據(jù)項(xiàng)目要求綜合考慮。1.4)采用外置標(biāo)準(zhǔn)尺寸棋盤(pán)格標(biāo)定法對(duì)左右攝像頭進(jìn)行立體標(biāo)定,采用工程上的常用標(biāo)定算法張正友標(biāo)定算法。在Matlab和Opencv都已經(jīng)有現(xiàn)成的標(biāo)定方案,可以借助標(biāo)定工具箱進(jìn)行標(biāo)定。即可獲取雙目攝像頭光心坐標(biāo)、焦距、內(nèi)參、兩攝像頭之間的旋轉(zhuǎn)和平移參數(shù)。1.5)如圖3所示平行雙目立體視覺(jué)系統(tǒng)模型示意圖。兩攝像頭參數(shù)基本相同。C1、C2為兩攝像頭的光心,光軸C1O1交圖像平面X1O1Y1于點(diǎn)O1,光軸C2O2交圖像平面X2O2Y2于點(diǎn)O2,左右攝像頭的光軸平行??臻g點(diǎn)P(X,Y,Z)在兩圖像的投影點(diǎn)P1(X1,Y1)和P2(X2,Y2)。C1C2為基線長(zhǎng)度,任意一臺(tái)攝像頭平移基線長(zhǎng)度可以和另一臺(tái)攝像頭圖像平面重合。以左攝像頭光心O1為坐標(biāo)系原點(diǎn),O1X1為X軸方向,O1Y1為Y軸方向,O1Z1為Z軸方向。雙目立體視覺(jué)系統(tǒng)三角測(cè)量是基于視差和深度成反比的原理。雙目立體視覺(jué)系統(tǒng)要求兩臺(tái)攝像頭的參數(shù)性能基本相同,光軸相互平行且X軸互相重合。I1,I2為左右攝像頭的圖像平面,P1,P2分別為空間點(diǎn)P在左右圖像平面上的成像點(diǎn)。f是攝像頭的焦距,視差定義為|X1-X2|。由相似三角形可以導(dǎo)出視差和三維坐標(biāo)點(diǎn)之間的關(guān)系:X=B(X1-O1)/(X1-X2)(2)Y=B(Y1-O1)/(X1-X2)(3)Z=Bf/(X1-X2)(4)Z為物體距離雙目攝像頭的深度值,B為雙目攝像頭的基線長(zhǎng)度,X1,X2分別是特征點(diǎn)在左右像素平面上的像素坐標(biāo)值,f是雙目攝像頭的焦距,單位是像素。1.6)在雙目攝像頭前方放置一塊標(biāo)定板,標(biāo)定板保持與雙目攝像頭圖像平面平行。將標(biāo)定板移至距離雙目攝像頭較遠(yuǎn)處,拍攝兩張照片,進(jìn)行標(biāo)定求單應(yīng)性矩陣。按照0.1米甚至更小的距離間隔向雙目攝像頭移動(dòng),拍攝一組照片。利用已求出的單應(yīng)性矩陣做映射,即可得到對(duì)應(yīng)距離的視差。根據(jù)視差和距離之間的反比例關(guān)系,既可用反比例關(guān)系進(jìn)行擬合,導(dǎo)出視差深度表。由式(2)(3)(4)雙目立體視覺(jué)系統(tǒng)恢復(fù)三維信息示意圖可知X、Y坐標(biāo)和Z坐標(biāo)之間相差一個(gè)系數(shù),即可得到視差和X、Y坐標(biāo)之間的查找表。S2如圖4所示,左右攝像頭采集被重建物體的視頻信息,對(duì)右攝像頭采集的視頻信息進(jìn)行單應(yīng)性變換,將單應(yīng)性變換后的視頻信息和對(duì)應(yīng)左攝像頭采集的視頻信息進(jìn)行立體匹配得到被重建物體的視差,根據(jù)視差和三維信息查找表得到圖像中每個(gè)點(diǎn)的三維信息;具體為:2.1)雙目立體視覺(jué)系統(tǒng)借助于Opencv庫(kù)采集被重建物體的視頻信息,確保左右攝像頭采集的視頻信息幀率同步。2.2)空間點(diǎn)在兩個(gè)攝像頭下的圖像點(diǎn)具有一一對(duì)應(yīng)關(guān)系,對(duì)應(yīng)關(guān)系是齊次性的,可以用3階單應(yīng)性矩陣來(lái)描述。單應(yīng)性矩陣中可以描述圖像的平移、旋轉(zhuǎn)等關(guān)系。如圖5所示單應(yīng)性矩陣映射圖??臻g平面上的三維坐標(biāo)點(diǎn)M,在兩個(gè)圖像平面上的投影點(diǎn)為Ml和Mr。由攝像頭的小孔成像模型可以知道,從空間平面到兩個(gè)圖像平面存在映射矩陣H1和H2使Ml=H1X、Mr=H2X,由于平面Π不通過(guò)攝像頭的任意光心,因此在Ml和Mr之間存在射影變換變換H=H2H'1。兩圖像對(duì)應(yīng)點(diǎn)之間單應(yīng)性矩陣如式所示。Mr=HM1=h1h2h3h4h5h6h7h8h9M1---(5)]]>可以利用歸一化的DLT來(lái)求解單應(yīng)性矩陣。2.2.1根據(jù)DLT算法求解單應(yīng)性矩陣求解步驟,需要在成像平面上至少選取4組對(duì)應(yīng)點(diǎn)。首先給對(duì)應(yīng)點(diǎn)做歸一化處理,將對(duì)應(yīng)點(diǎn)坐標(biāo)減去均值除以標(biāo)準(zhǔn)差,可歸一化到Ml=TLM(6)Mr=TrM(7)2.2.2對(duì)于兩對(duì)應(yīng)點(diǎn)X'i和Xi有X'i=HXi,又由兩向量叉乘為0的性質(zhì)可以得到。如果H矩陣第j行可以表示為hjT,那HXi可以表示為HXi=h1TXih2TXih3TXi---(8)]]>若X'i=(X'i,Y′i,Z'i)T,那么叉乘可以表示為:Xi′×HXi=yi′h3Txi-wi′h2Txiwi′h1Txi-xi′h3Txixi′h2Txi-yi′h1Txi---(9)]]>由于,因此上式可以表示為:0T-wi′xiTyi′xiTwi′xiT0T-xi′xiT-yi′xiTxi′xiT0Th1h2h3=0---(10)]]>h1h2h3=H=h1h2h3h4h5h6h7h8h9---(11)]]>將歸一化的點(diǎn)坐標(biāo)組成上述3n×9的矩陣,為了減少計(jì)算過(guò)程可以可以簡(jiǎn)化成2n×9的矩陣。2.2.3對(duì)上述2n×9矩陣進(jìn)行SVD奇異值分解求解H矩陣。2.3圖像映射插值技術(shù)包括像素坐標(biāo)計(jì)算和像素插值技術(shù)。工程上常用像素插值技術(shù)是雙線性插值、雙三次插值。如圖6所示雙線性插值原理圖,Q11,Q12,Q21,Q22分別為四個(gè)頂點(diǎn)的值。首先在X方向上進(jìn)行插值,可以得到:R1=x2-xx2-x1Q11+x-x1x2-x1Q21---(12)]]>R2=x2-xx2-x1Q12+x-x1x2-x1Q22---(13)]]>然后在Y方向上進(jìn)行插值,可以得到:P=y2-yy2-y1R1+y-y1y2-y1R2---(14)]]>像素坐標(biāo)計(jì)算有兩種映射模型,正向坐標(biāo)映射模型和逆向坐標(biāo)映射模型。如圖7所示正向映射模型、如圖8所示逆向映射模型。使用正向坐標(biāo)映射模型實(shí)現(xiàn)會(huì)出現(xiàn)像素缺少,同時(shí)雙線性插值工程實(shí)現(xiàn)更為復(fù)雜,因此采用逆向坐標(biāo)映射,雙線性插值技術(shù)工程實(shí)現(xiàn)簡(jiǎn)單,不會(huì)出現(xiàn)像素缺少現(xiàn)象。2.4)立體匹配的目的是得到圖像中每個(gè)點(diǎn)的視差,根據(jù)視差值查找視差和三維信息的查找表,可以得到圖像中每個(gè)點(diǎn)的三維信息,因此采用基于模塊的匹配方式。2.5)由式(2)(3)(4),雙目立體視覺(jué)系統(tǒng)三角測(cè)量是基于視差和深度成反比的原理,由相似三角形可以導(dǎo)出視差和三維坐標(biāo)點(diǎn)Z坐標(biāo)之間的查找表。S3根據(jù)物體的三維信息,對(duì)三維點(diǎn)云進(jìn)行依次進(jìn)行預(yù)處理、粗配準(zhǔn)、精配準(zhǔn),將不同視角三維點(diǎn)云轉(zhuǎn)換到同一坐標(biāo)系,完成對(duì)被重建物體多視角的三維重建。3.1)根據(jù)三維點(diǎn)云的質(zhì)量選擇點(diǎn)云預(yù)處理的方式。離散點(diǎn)去除和噪聲去除可以提高三維重建質(zhì)量,點(diǎn)云的降采樣可以減少計(jì)算機(jī)的運(yùn)算量,提高重建的速度。3.2)三維點(diǎn)云的粗配準(zhǔn)是獲取相鄰視角點(diǎn)云之間的初始旋轉(zhuǎn)矩陣和平移矩陣,本方案提出基于二維RGB圖輔助三維點(diǎn)云粗配準(zhǔn)方案。如圖9所示二維RGB圖輔助三維點(diǎn)云粗配準(zhǔn)的流程圖。借助于不同視角下深度圖對(duì)應(yīng)的二維RGB圖像進(jìn)行粗配準(zhǔn),對(duì)RGB圖像特征點(diǎn)檢測(cè)、特征點(diǎn)描述、目標(biāo)特征點(diǎn)集匹配、消除錯(cuò)誤匹配點(diǎn)。根據(jù)匹配點(diǎn)對(duì)查找對(duì)應(yīng)深度圖深度值,并根據(jù)深度值計(jì)算對(duì)應(yīng)的三維坐標(biāo),即可得到已匹配的三維坐標(biāo)點(diǎn)對(duì)。根據(jù)已匹配三維坐標(biāo)點(diǎn)對(duì),計(jì)算兩組三維數(shù)據(jù)集之間的旋轉(zhuǎn)和平移矩陣。完成不同視角下三維點(diǎn)云之間的粗配準(zhǔn)。3.3)三維點(diǎn)云的精配準(zhǔn)是在已知相鄰視角點(diǎn)云之間的初始旋轉(zhuǎn)矩陣和平移矩陣前提下,采用ICP迭代最鄰近點(diǎn)算法對(duì)相鄰視角進(jìn)行精配準(zhǔn),逐漸逼近最佳的匹配結(jié)果,優(yōu)化獲得的最優(yōu)旋轉(zhuǎn)矩陣和平移矩陣,所述最優(yōu)即為函數(shù)值最小。3.4)如圖10采集不同視角的深度圖和RGB圖,對(duì)深度圖進(jìn)行預(yù)處理,生成對(duì)應(yīng)的三維點(diǎn)云。根據(jù)需要對(duì)三維點(diǎn)云數(shù)據(jù)進(jìn)行降采樣、去除離群點(diǎn)等預(yù)處理,然后相鄰視角之間進(jìn)行粗配準(zhǔn)和精配準(zhǔn),得到兩兩視角之間的旋轉(zhuǎn)和平移矩陣,可以根據(jù)需要轉(zhuǎn)換到某一個(gè)視角的坐標(biāo)系上,完成被重建物體的多視角的三維重建。上述實(shí)施例為本發(fā)明較佳的實(shí)施方式,但本發(fā)明的實(shí)施方式并不受所述實(shí)施例的限制,其他的任何未背離本發(fā)明的精神實(shí)質(zhì)與原理下所作的改變、修飾、替代、組合、簡(jiǎn)化,均應(yīng)為等效的置換方式,都包含在本發(fā)明的保護(hù)范圍之內(nèi)。當(dāng)前第1頁(yè)1 2 3