一種旋轉立體視覺的三維重建方法
2023-07-08 23:57:56 1
專利名稱:一種旋轉立體視覺的三維重建方法
技術領域:
本發明涉及基於計算機視覺的三維重建方法,尤其是一種用於旋轉立體視覺的三維重建方法。該方法主要用於三維物體表面重構,具有廣寬的應用範圍,典型的包括製造工業中的工件檢測、場景深度感知、反向工程、物體三維掃描等。
背景技術:
三維重建是計算機視覺的一個重要任務。三維重建的任務是從物體的二維圖像信息獲取其三維空間信息。三維重建的應用非常廣泛,如醫學領域,公安領域,氣象,工程技術等等。三維重建的一般方法是通過從不同方位所獲取的物體圖像信息及在兩個方位上的攝像機投影矩陣來計算物體在給定空間的三維信息。但在對物體三維重建之前,先要獲取攝像機的投影矩陣,即對攝像機進行標定。
如果想對物體完成整個外圍輪廓的重建,必須通過攝像機獲取物體在任一方位的圖片信息。按照傳統的三維重建算法,就必須對每個方位的攝像機進行標定,而每一次標定都是比較麻煩的。其存在的缺點標定成本高,靈活性差。
發明內容
為了克服傳統立體視覺的三維重建方法的標定成本高,靈活性差的不足,本發明提供一種能夠大大降低標定次數、提高計算效率、降低成本且具有一定靈活性的旋轉立體視覺的三維重建方法。以下方法中,假定攝像機內參數在整個過程中沒有變化。
本發明解決其技術問題所採用的技術方案是 一種旋轉立體視覺的三維重建方法,所述三維重建方法包括以下步驟 1)、攝像機手工標定設定世界坐標系的一根軸與旋轉軸重合,一坐標平面平行於標定板平面,標定板平面平行於旋轉軸;設定與旋轉軸重合的軸為Y軸,與標定板平面平行的坐標平面為XOY平面,獲取標定板上圓心點的世界坐標,在Z方向上移動標定板,獲取空間中不在同一平面的多個點的世界坐標,設定空間點的世界坐標(Xw,Yw,ZW),提取得到標定板上圓心的圖像象素坐標值(μ,v),點的世界坐標和圖像坐標存在如下關係 式(1)中,M是攝像機投影矩陣,為3×4矩陣;Zc為點在攝像機坐標系下Z方向上的坐標分量;由上式得以下兩個方程 投影矩陣M有11個自由度,通過六個不在同一平面的空間點計算投影矩陣M; 2)、旋轉平臺旋轉之前的攝像機投影矩陣記為M1,通過M1所反映的點的世界坐標與圖像坐標的關係用以下公式表示 通過對M1採取下述公式進行分解 令 則, M1為攝像機內參數矩陣,M21為未旋轉時的攝像機外參數矩陣; 3)、旋轉平臺旋轉之前的攝像機投影矩陣為 旋轉平臺旋轉θ角後,攝像機投影矩陣為 4)、空間中的點在世界坐標系下的坐標與圖像的象素坐標的關係通過下式表示 上式(7)中,θ是包括0度的任一角度,當為0度時即為旋轉之前;通過賦值不一樣的兩個θ得到關於Xw,Yw,Zw的四個方程,從而求出點在世界坐標系下的三維空間坐標,進一步求出物體輪廓線上的點的三維坐標,實現整個物體的三維重建。
本發明的技術構思為在旋轉立體視覺下,通過一個攝像機就可完成對物體進行360°的全方位拍攝,且各攝像機坐標系是繞空間中同一個旋轉軸進行旋轉的。可通過投影矩陣加以描述。以下兩種實驗方法都是用來計算投影矩陣,進而完成重建的。
旋轉立體視覺是傳統立體視覺的一個特例。它是在物體繞空間中某根軸旋轉的情況下,用一個固定攝像機對物體進行繞一周的拍攝。或者在攝像機繞空間中的某根軸進行旋轉情況下,對在它視野範圍內的物體實行一周拍攝的立體視覺。
相對於傳統的手工標定的算法,本發明要簡單方便的多,大大縮短了計算的時間,為以後的計算效率的提高也打下了基礎。
基於旋轉立體視覺的重建,只要對攝像機從兩個方向上對物體進行標定就可獲得攝像機處於任一方位的攝像機投影矩陣,這樣可減少標定次數,降低成本。
本發明的有益效果主要表現在1、標定次數為一次,大大縮短了計算的時間; 2、降低了成本。
圖1是攝像機標定用的標定板示意圖。
圖2是重建得到的紙盒八個頂點的坐標值。
圖3是重建後的特徵點的點圖。
圖4是重建後的示意圖。
圖5用於標定攝像機的標定板的圖片
具體實施例方式 下面結合附圖對本發明作進一步描述。
參照圖1~圖5,一種旋轉立體視覺的三維重建方法,所述三維重建方法包括以下步驟 1)、攝像機手工標定設定世界坐標系的一根軸與旋轉軸重合,一坐標平面平行於標定板平面(標定板平面平行於旋轉軸)。此處設定,與旋轉軸重合的軸為Y軸,與標定板平面平行的坐標平面為XOY平面。標定板如附錄圖5所示,這樣就可獲取標定板上圓心點的世界坐標。在Z方向上移動標定板,就可獲取空間中不在同一平面的多個點的世界坐標。設定空間點的世界坐標(Xw,Yw,ZW),提取得到標定板上圓心的圖像象素坐標值(μ,v),點的世界坐標和圖像坐標存在如下關係 式中M是攝像機投影矩陣,為3×4矩陣。Zc為點在攝像機坐標系下Z方向上的坐標分量。由上式可得以下兩個方程 N個點可得到2N個方程。投影矩陣M有11個自由度,可通過六個不在同一平面的空間點把投影矩陣M計算出來。實際中由於存在誤差,可通過N>6個點用最小二乘法計算M(此處參照文獻1中P57)。
2)、獲取攝像機內參數矩陣及未旋轉時的外參數矩陣。上面所獲取的M矩陣為旋轉平臺旋轉之前的攝像機投影矩陣。把此矩陣記為M1。則通過M1所反映的點的世界坐標與圖像坐標的關係用以下公式表示 通過對M1採取下述公式進行分解。
令 則, M1為攝像機內參數矩陣,M21為未旋轉時的攝像機外參數矩陣 3)、獲取旋轉了任意角度的攝像機投影矩陣。
旋轉平臺旋轉之前的攝像機投影矩陣為 旋轉平臺旋轉θ角後,攝像機投影矩陣為 4)、通過兩個角度或多個角度所拍攝物體的圖片信息獲取物體的空間三維信息。空間中的點在世界坐標系下的坐標與圖像的象素坐標的關係可通過下式表示 θ是包括0度的任一角度,當為0度時即為旋轉之前。通過值不一樣的兩個θ就可得到關於Xw,Yw,Zw的四個方程。從而求出點在世界坐標系下的三維空間坐標,進一步求出物體輪廓線上的點的三維坐標,整個物體的三維信息就可獲得。
本實施例的三維重建方法包括以下步驟 1)、對攝像機進行手工標定; 2)、獲取攝像機內參數矩陣及未旋轉時的外參數矩陣; 3)、獲取旋轉了任意角度的攝像機投影矩陣; 4)、通過兩個角度或多個角度所拍攝物體的圖片信息獲取物體的空間三維信息。
本實施例的實驗過程為 攝像機標定所使用的標準件是標定板,參照圖1。用於計算攝像機投影矩陣的空間元素是標定板上的圓心。通過移動平臺,可以獲得不在同一平面多個空間點。本實驗設定,垂直於移動平臺的方向為世界坐標系Y軸方向,方向向下;移動平臺的橫向為世界坐標系X軸方向,正向向右;移動平臺的縱向為世界坐標系Z軸方向,正向為遠離攝像機方向。整個標定過程分為數據獲取和數據處理。
(1)數據獲取 ①轉動旋轉平臺,確保旋轉平臺的零刻度對齊標記,這樣可保證標定板平面垂直於Z軸。
②把標定板固定在載物臺上,確保標定板底部與載物臺底面平齊,確保標定板左邊緣與載物臺左邊緣平齊。這樣就可確定標定板上標定圓圓心的世界坐標。
③通過調整移動平臺,使標定板在攝像機的視野範圍內。移動平臺的縱向初始位置設定為前後移動40mm後,標定板都在攝像機視野範圍內。且標定板離攝像機最近時,剛好能拍攝整個標定板。
④調整攝像機焦距,使移動平臺在初始位置時標定板圖像最清晰。
⑤獲取標定板在初始位置及移動平臺在縱方向上前後各移動10mm,20mm共5幅圖像。
⑥把移動平臺恢復到初始位置,控制旋轉平臺旋轉5°,重複步驟⑤的內容。
(2)數據處理 在上面步驟中,共獲取了10幅標定板圖像。旋轉之前的5幅標定板圖像歸為第一組,用於計算旋轉前的投影矩陣。旋轉之後的5幅標定板圖像歸為另一組,用於計算旋轉了5°時的攝像機投影矩陣。
對前一組圖像,每幅提取7×11個標定圓圓心的坐標;五幅圖像可獲得385個空間點的圖像坐標,且這385個空間點不在同一平面上。通過最小二乘法獲取旋轉之前的攝像機投影矩陣M1。對旋轉之後的五幅圖像也進行相應處理,可得出旋轉後的攝像機投影矩陣M2。
獲得的攝像機投影矩陣如下所示
表1攝像機投影矩陣M1
表2攝像機投影矩陣M2 得到投影矩陣後,做一個紙盒的重建證明算法的可行性,證明其誤差也是在允許範圍之內。
以下是算法驗證和檢驗誤差 從兩個方面對算法進行驗證。一是通過已知三維坐標值的空間點進行驗證,即通過圖像信息恢復點的三維坐標,看其是否與真實值相等。二是通過已知長度的簡單方塊來驗證,即先恢復簡單方塊的角點,然後計算角點的距離,與實際值進行比較。
對於第一種世界坐標系的一根坐標軸與旋轉軸重合的情況,我們選用的是標定板上的兩個圓心點。表3是實驗結果
表3 對於通過簡單方塊來驗證算法。我們選用了長方體紙盒;所用的投影矩陣是前面標定中所得到的。
下面支撐紙盒的圓柱形物體是為了讓紙盒完全在攝像機視野之內。先對實物進行圖片採集,實行每隔5度一周的拍攝,共可獲得關於實物的72幅圖片信息。我們的任務只重建長方體紙盒的八個頂點,所用的初始標定矩陣為表1和表2的攝像機投影矩陣。根據式(7)中M2與M1的關係計算得到旋轉任意角度後的攝像機投影矩陣M2。對在兩幅圖中都出現的紙盒頂點,計算它的三維坐標。頂點的坐標等於每次重建得到的三維點坐標的平均值。
表4是重建得到的紙盒八個頂點的坐標值。
表4 表5是通過上面重建的八個點計算得到的12條邊的長度和實際長度的比較及其相對誤差。從表中看出,其相對誤差在允許範圍之內,證明算法的可行性。
表5 圖2是把重建得到的八個頂點用直線連接起來的輪廓圖。
對一複雜物體進行重建由前面驗證了投影矩陣的誤差範圍和算法可行性後,可以將一個複雜物體將被重建。例如對鐘錶圖像進行三維重建。
在實驗之前,先用塗改液在鐘錶的上面標記一些特徵點,這些點保證能把鐘的輪廓描述出來。
具體流程為 (1)在鐘上用塗改液標註一些特徵點(能顯現鐘的輪廓) (2)對這些點進行標記(方便用直線把點連接起來) (3)數據獲取(進行360度獲取鐘的圖片) (4)重建特殊點,如圖3 (5)用直線連接這些點,顯示鐘的輪廓 重建後的圖如附圖4。
權利要求
1、一種旋轉立體視覺的三維重建方法,其特徵在於所述三維重建方法包括以下步驟
1)、攝像機手工標定設定世界坐標系的一根軸與旋轉軸重合,一坐標平面平行於標定板平面,標定板平面平行於旋轉軸;設定與旋轉軸重合的軸為Y軸,與標定板平面平行的坐標平面為XOY平面,獲取標定板上圓心點的世界坐標,在Z方向上移動標定板,獲取空間中不在同一平面的多個點的世界坐標,設定空間點的世界坐標(Xw,Yw,ZW),提取得到標定板上圓心的圖像象素坐標值(μ,v),點的世界坐標和圖像坐標存在如下關係
式(1)中,M是攝像機投影矩陣,為3×4矩陣;Zc為點在攝像機坐標系下Z方向上的坐標分量;由上式得以下兩個方程
投影矩陣M有11個自由度,通過六個不在同一平面的空間點計算投影矩陣M;
2)、旋轉平臺旋轉之前的攝像機投影矩陣記為M1,通過M1所反映的點的世界坐標與圖像坐標的關係用以下公式表示
通過對M1採取下述公式進行分解
令
則,
M1為攝像機內參數矩陣,M21為未旋轉時的攝像機外參數矩陣;
3)、旋轉平臺旋轉之前的攝像機投影矩陣為
旋轉平臺旋轉θ角後,攝像機投影矩陣為
4)、空間中的點在世界坐標系下的坐標與圖像的象素坐標的關係通過下式表示
上式(7)中,θ是包括0度的任一角度,當為0度時即為旋轉之前;通過賦值不一樣的兩個θ得到關於Xw,Yw,Zw的四個方程,從而求出點在世界坐標系下的三維空間坐標,進一步求出物體輪廓線上的點的三維坐標,實現整個物體的三維重建。
全文摘要
一種旋轉立體視覺的三維重建方法,包括以下步驟1)對攝像機進行手工標定,獲取旋轉平臺未旋轉時的攝像機投影矩陣;2)對旋轉平臺未旋轉之前的攝像機投影矩陣進行分解,獲取攝像機內參數矩陣及未旋轉時的外參數矩陣;3)通過旋轉角度及旋轉前的攝像機內參數矩陣,獲取旋轉了任意角度的攝像機投影矩陣;4)通過兩個角度或多個角度所拍攝物體的圖片信息及此時的攝像機投影矩陣獲取物體的空間三維信息。本發明提供一種能夠大大降低標定次數、提高計算效率、降低成本的旋轉立體視覺的三維重建方法。
文檔編號G06T17/00GK101320483SQ20081006369
公開日2008年12月10日 申請日期2008年6月25日 優先權日2008年6月25日
發明者陳勝勇, 秋 管, 漆喜慶, 盛 劉, 毛國紅, 李蘭蘭, 駱廣娟 申請人:浙江工業大學