本發明屬于三維重建技術領域,涉及一種三維重建方法。
背景技術:
三維重建技術是計算機視覺的一個分支,是計算機視覺和計算機圖形圖像處理相結合的一個研究方向。它廣泛的用于工業自動化、逆向工程、文物保護、計算機輔助醫療、虛擬現實、增強現實和機器人應用等場景。
雙目立體視覺技術和結構光技術是兩種典型的三維重建技術,各具有優點和不足。雙目立體視覺技術是通過相機在兩個角度拍攝物體的左右兩幅圖像,然后利用立體匹配算法尋找出左右兩幅圖像中同名點,并結合相機內外參數,利用三角交會計算出被測物體的三維空間位置坐標信息。雙目立體視覺技術不需要主動投射圖案信息,硬件結構簡單,但是重建點云精度低,重建速度慢,對于表面紋理信息少的物體,容易出現匹配點出錯等缺點。結構光技術是通過投影儀向物體表面投影特定的編碼圖案,再由相機拍攝被物體表面調制了的編碼圖案,通過編碼圖案的解碼運算恢復出物體的深度信息。結構光技術重建精度高,速度快,即使是表面紋理信息少的物體也能得到很好的重建效果,但是傳統的結構光重建系統大多都是單目的,在計算深度信息的過程中需要對投影儀進行標定,而投影儀的標定過程又極其繁瑣。
技術實現要素:
本發明所要解決的是,就是針對上述傳統方法存在問題,提出一種結合雙目立體視覺、結構光和旋轉平臺的三維重建方法。
為了便于對本發明技術的理解,首先介紹本發明采用的幾何模型,如圖1所示,其中,ol為左相機光心,or為右相機光心,p為空間中任意一點,pl和pr分別為p點在左右相機中的像點,稱為一對同名點,平面polor與左右像平面的交線lpl、lpr稱為一對極線。
本發明的技術方案是:如圖2所示,一種三維重建方法,其特征在于,包括以下步驟:
s1、相機參數標定,標定左右兩個相機的內外參數和兩個相機之間的相對位置矩陣;根據實際應用情況,可采用張正友的棋盤格標定相機內參和兩個相機的旋轉矩陣r和平移矩陣t
s2、獲取目標物體單個角度的三維坐標點,如圖3所示,具體包括:
s21、向目標物體投射六張格雷碼編碼圖像,通過左右兩個相機拍攝后,對拍攝的圖像進行解碼,則圖像中每個像素都有一個格雷碼值;
s22、向物體投射4張正弦相移編碼圖像,通過左右兩個相機拍攝后,對拍攝的圖像進行解碼,則圖像中每個像素都有一個相位值;
s23、通過左右圖像中亞像素同名點匹配的方法,對于左圖像中的某一點pl(ul,vl),尋找其在右圖像中的同名匹配點,具體包括:
s231、根據相機的內參數和相機之間的相對位置矩陣,找出點pl(ul,vl)在右圖像中的極線l;
s232、計算極線l上格雷碼值與點pl(ul,vl)處格雷碼值相等的區域a;
s233、對區域a中像素的正弦相位值進行線性擬合運算,獲得線性擬合的直線;
s234、在線性擬合的直線上找出與點pl(ul,vl)處相位相等的u軸坐標ur,再將ur坐標帶入極線l得到v軸坐標vr,此時的點pr(ur,vr)即為pl(ul,vl)在右圖像中對應的亞像素同名點;
s24、根據步驟s23獲得的同名匹配點和相機的內外參數,結合雙目立體視覺成像幾何模型,獲得目標物體單個角度的三維坐標點;
上述方案的目的是尋找亞像素同名點,利用正弦相移條紋解碼之后相位值周期線性變化的特性結合格雷碼圖案和攝影幾何中的極限約束條件,對相位值進行線性擬合,得到了左右圖像中亞像素匹配的同名點,相比于像素精度匹配的同名點,最后計算得到的物體三維點云,表面要更加光滑,點云分布更加均勻,誤差也更小。
s3、根據實際物體的復雜程度,多次旋轉旋轉平臺,對每一個角度重復步驟s2,得到目標物體多個角度的三維坐標點。
s4:采用步驟s2,單獨重建旋轉平臺,對旋轉平臺進行平面擬合,具體步驟如下:
s41、構建旋轉平臺的平面方程式如下公式1:
ax+by+cz+d=0(公式1)
s42、將旋轉平臺的n個點云數據(xi,yi,zi)代入公式1可得如下公式2:
s43、通過最小二乘求解公式2獲得a,b,c,d的值,則旋轉平臺平面的單位法線向量為如下公式3:
則旋轉平臺平面的中心o為如下公式4:
s5、采用旋轉平臺對目標物體n個角度的點云進行拼接,具體為:
s51、構建旋轉平臺拼接多角度點云模型如下公式5:
其中r如下公式6所示:
公式6中:
r1=nxny(1-cosθ)+cosθ
r2=nxny(1-cosθ)+nzsinθ
r3=nxnz(1-cosθ)-nysinθ
r4=nxny(1-cosθ)-nzsinθ
r5=nyny(1-cosθ)+cosθ
r6=nynz(1-cosθ)+nxsinθ
r7=nxnz(1-cosθ)+nysinθ
r8=nynz(1-cosθ)-nxsinθ
r9=nznz(1-cosθ)+cosθ
其中,o(xc,yc,zc)為旋轉平臺平面的中心在參考坐標系下的坐標,n(nx,ny,nz)為旋轉平臺的平面法線在參考坐標系下的單位向量,即為步驟s4中已求解的o和n,θ為兩片點云之間的旋轉角度;
s52、利用s5中的公式5,將s3中生成的目標物體多個角度的三維坐標點拼接到同一個坐標系下
s6、獲得目標完整三維模型。
本發明三維重建的世界坐標系都是左相機的相機坐標系,利用這個特點,對旋轉平臺進行三維重建,然后對旋轉平臺的點云進行平面擬合,則平面的法線就是旋轉平臺的法線在世界坐標系下的坐標,點云的重心就是旋轉平臺的中心在世界坐標系下的坐標。這種標定算法無需特定的標定物,算法簡單方便
本發明的有益效果為:本發明結合了雙目立體視覺技術、結構光技術和旋轉平臺技術,提出了一種精度高、速度快、成本低的三維重建方法;相比于雙目立體視覺擁有重建速度更快,精度更高,而且對于物體表面紋理不豐富的區域效果良好。相比于傳統的結構光技術,本系統無需投影儀標定的麻煩,用第二個相機取代投影儀,而相機的標定要比投影儀的標定更加精確,所以重建的三維點云也更加好。采用的多視角點云拼接采用旋轉平臺的拼接算法,相比于傳統的icp配準方法,本方法點云拼接更快,無需要初始點云數據,操作簡單無需人工參與。
附圖說明
圖1為本發明采用的三維重建幾何模型;
圖2為三維重建流程圖;
圖3為物體一個角度的三維重建流程圖。
具體實施方式
發明內容部分已經對本發明的技術方案進行了詳細描述,在此不再贅述。