1.一種單幅圖像的三維配準方法,其特征在于包括三個步驟:相機標定步驟:對單幅圖像檢測直線信息并提取消隱點,以所述消隱點作為特征計算出相機的內(nèi)外參數(shù)即標定信息,包括焦距和旋轉(zhuǎn)矩陣;交互式建模步驟:利用所述標定信息進行結(jié)構(gòu)約束,以此完成交互式三維場景結(jié)構(gòu)的建模;相機注冊步驟:將分布在一個或多個局部世界坐標系中的三維場景結(jié)構(gòu)注冊到統(tǒng)一的三維場景中,得到最終的三維配準重建效果;其中,所述相機標定步驟中采用網(wǎng)格法提取粗精度消隱點,采用PClines空間轉(zhuǎn)換和對齊直線點檢測的算法對所述粗精度消隱點提純得到候選消隱點,對所述候選消隱點進行優(yōu)化更新得到典型消隱點,以所述典型消隱點為相機標定特征建立曼哈頓世界模型約束,對所述典型消隱點進行分析,得出相機的內(nèi)外參數(shù)。
2.如權(quán)利要求1所述的單幅圖像的三維配準方法,其特征在于所述相機標定步驟包括五個部分,分別是直線檢測:檢測所述單幅圖像中局部的直輪廓;直線優(yōu)化與去噪:對直線檢測結(jié)果進行優(yōu)化;候選消隱點獲?。夯趦?yōu)化后的直線檢測結(jié)果信息提取消隱點,包括采用網(wǎng)格法的粗精度消隱點提取和采用PClines空間轉(zhuǎn)換和對齊直線點檢測算法的粗精度消隱點提純兩個步驟;候選消隱點優(yōu)化:對所獲取的消隱點進行優(yōu)化;場景約束分析及相機參數(shù)計算:通過對優(yōu)化后的消隱點的分析計算相機的內(nèi)外參數(shù),其中所述直線檢測采用LSD算法:
首先對所述單幅圖像進行高斯濾波和降采樣;
然后計算每個像素點的梯度、和梯度等高線角度,相關(guān)公式為:
, (1)
, (2)
, (3)
其中,表示灰度圖像上像素點處的灰度值,對計算得到的經(jīng)過區(qū)域生長算法得到直線支撐區(qū)域;
進行矩形估計,即找到每個所述直線支撐區(qū)域的最小外接矩形;
對所述矩形進行篩選、調(diào)整:定義矩形內(nèi)像素點的相對于矩形主方向角度偏差在以內(nèi)的點為對齊點,循環(huán)計算所述矩形的對齊點密度以及誤報數(shù),相關(guān)公式為:
, (4)
, (5)
其中,表示當(dāng)前矩形,表示當(dāng)前矩形的誤報數(shù),表示當(dāng)前矩形的對齊點密度;為圖像高度,為圖像寬度,為矩形內(nèi)像素總數(shù),為矩形內(nèi)對齊點總數(shù),表示像素點是對齊點的概率且初始值定為,為嘗試不同值的個數(shù),
判斷所計算出的對齊點密度是否大于設(shè)定的對齊點密度閾值且誤報數(shù)是否小于設(shè)定的誤報數(shù)閾值,若不滿足,則對相應(yīng)的直線支撐區(qū)域進行截斷處理或參數(shù)調(diào)整并重新確定矩形,再對新的矩形依據(jù)公式(4)、(5)重新計算并判斷,直至找到對齊點密度大于設(shè)定的對齊點密度閾值且誤報數(shù)小于設(shè)定的誤報數(shù)閾值的矩形;
每個矩形對應(yīng)一條直線段,直線段的方向即為矩形主方向,直線段的長度等于矩形的長邊的長度,所得到的直線段即為直線檢測的結(jié)果。
3.如權(quán)利要求2所述的單幅圖像的三維配準方法,其特征在于所述直線優(yōu)化與去噪的結(jié)果是得到優(yōu)化后的直線集,包括續(xù)接斷開的直線段,是對直線段進行兩兩判斷,將符合條件的兩條直線段進行續(xù)接,續(xù)接后的直線段再與其他直線段繼續(xù)續(xù)接,直至完成所有可能的續(xù)接,其步驟包括判斷所選取兩條直線段是否符合續(xù)接條件以及對于符合續(xù)接條件的直線段進行續(xù)接,其中,判斷所選取兩條直線段是否符合續(xù)接條件的方法是:從直線段的兩端點和向直線段做垂線得到垂點;從直線段的兩端點和向直線段做垂線得到垂點,
定義直線段、的距離為:
, (6)
其中,表示直線段的長度,
當(dāng)直線段、的夾角小于給定閾值,且直線段、的距離小于,則認定直線段、符合續(xù)接條件;
所述對于符合續(xù)接條件的直線段進行續(xù)接的方法是:選取兩條直線段中誤報數(shù)較小的作為標準調(diào)整另一條直線段的斜率,具體為,假設(shè),則延長直線段交直線段或其延長線于點,將直線段繞點以最小角度旋轉(zhuǎn)到直線段的延長線上,再連接旋轉(zhuǎn)后的兩條直線段相近的端點得到新直線段,刪除原直線段、。
4.如權(quán)利要求3所述的單幅圖像的三維配準方法,其特征在于所述直線優(yōu)化與去噪還包括剔除過短直線段,其方法是:設(shè)定直線段長度閾值,如果直線段長度小于所述直線段長度閾值,則剔除此直線段。
5.如權(quán)利要求1、2、3或4所述的單幅圖像的三維配準方法,其特征在于所述網(wǎng)格法為:對消隱點提取所基于的直線集進行遍歷,當(dāng)兩條直線均未被已有消隱點對應(yīng)時,取交點并將此交點的圖像坐標轉(zhuǎn)換到以圖像平面的主點為原點、兩軸方向不變的坐標系中,得到新的橫、縱坐標、,將轉(zhuǎn)換后的坐標按公式(7)和公式(8)進行極坐標有限映射,其中表示圖像的高度,
, (7)
, (8)
將映射后的坐標值對應(yīng)到以、為坐標軸的網(wǎng)格中,將對應(yīng)網(wǎng)格的交點數(shù)加1,本次遍歷完成后,得到網(wǎng)格圖像矩陣,對網(wǎng)格圖像矩陣進行均值濾波,輸出濾波后網(wǎng)格圖像矩陣中的最大值所對應(yīng)的網(wǎng)格坐標,即為此次遍歷下獲得的粗精度消隱點,依此方法進行N次遍歷,N為自然數(shù)且2≤N≤5,獲得N個粗精度消隱點,前一次遍歷所得到的粗精度消隱點所對應(yīng)的直線集不用在下一次遍歷的直線集中;
所述PClines空間轉(zhuǎn)換和對齊直線點檢測的過程為:針對一個粗精度消隱點,首先將其對應(yīng)的直線子集轉(zhuǎn)換到PClines空間,PClines空間包含直空間和彎空間,直空間的縱軸和縱軸分別對應(yīng)于圖像空間的橫軸和縱軸,彎空間的縱軸和縱軸分別對應(yīng)于圖像空間的橫軸和縱軸,以此將消隱點檢測轉(zhuǎn)化成在對偶空間中提取直線模型的問題,完成對偶空間轉(zhuǎn)換后,使用對齊直線點檢測算法分別對兩個對偶空間中的點集提取直線模型,將所得的直線模型反轉(zhuǎn)換到圖像空間即得到候選消隱點集和對應(yīng)的值。
6.如權(quán)利要求5所述的單幅圖像的三維配準方法,其特征在于所述候選消隱點優(yōu)化包括兩個方面,第一:針對候選消隱點對應(yīng)的直線子集,通過計算消隱點到每條直線的距離權(quán)重和來更新消隱點,其中直線的權(quán)重由其長度的平方?jīng)Q定,給定條齊次直線向量,計算矩陣,
, (9)
其中,是歸一化的直線權(quán)重,其中最長直線的設(shè)為1,通過公式(10),用奇異值分解方法更新消隱點,其中,為矩陣,而為向量,
, (10)
計算過程中,若出現(xiàn)新消隱點與原消隱點差別超過給定閾值的情況,則本次更新無效;
第二:使用單鏈接聚類算法剔除同類消隱點,將每個消隱點設(shè)置為單獨的類并計算類之間的距離,采用的距離計算公式為:
, (11)
如果計算出的距離小于給定閾值,則認為這兩個消隱點為同類消隱點,保留其中值較小的消隱點;
通過所述候選消隱點優(yōu)化得到集成有對應(yīng)直線所包含的幾何信息的典型消隱點。
7.如權(quán)利要求6所述的單幅圖像的三維配準方法,其特征在于所述場景約束分析及相機參數(shù)計算是針對曼哈頓世界模型約束進行的,包括如下步驟:
步驟1,取直線對應(yīng)數(shù)最多的兩個消隱點和,記它們的圖像坐標分別為和,、在相機坐標系下的坐標分別為、,由曼哈頓世界模型約束可得到焦距:
; (12)
步驟2:計算與這兩個消隱點均正交的第三個消隱點的相機坐標并轉(zhuǎn)換回圖像平面;
步驟3:按所述候選消隱點優(yōu)化的方法優(yōu)化第三個消隱點;
步驟4:取上述三個消隱點中縱坐標絕對值最大且與圖像縱軸夾角最小者作為空間中垂直方向上的消隱點;
步驟5:根據(jù)場景先驗信息,計算出所述旋轉(zhuǎn)矩陣。
8.如權(quán)利要求1、2、3、4、5、6或7所述的單幅圖像的三維配準方法,其特征在于所述交互式建模步驟包括建立初始模型:由二維圖元生成相對應(yīng)的三維體元;初始模型后處理:計算并繪制三維可視表面兩部分;
所述建立初始模型所基于的基礎(chǔ)定義是:三維空間中的幾何結(jié)構(gòu)為體元,其在二維圖像平面上的投影為圖元,場景圖,其中表示用戶輸入的圖元及相應(yīng)的體元,表示體元之間的空間位置關(guān)系;
所述建立初始模型所應(yīng)遵循的坐標系約束及坐標依賴原則為:1)生成的體元必須滿足世界坐標系約束,所有圖元及體元的坐標信息均轉(zhuǎn)換到相機坐標系下表示;2)按照參考性,體元分為被參考體元和參考體元兩類,同一體元同時只能歸結(jié)為一類;3)新的體元被創(chuàng)建時,如果能確定其被參考體元,則認為該體元為參考體元,同時以被參考體元所在的局部世界坐標系來定位該體元,否則認為該體元為被參考體元,其坐標位置使用某個初始位置來進行初始化;4)每個被參考體元都對應(yīng)一個局部的世界坐標系,當(dāng)有體元以該被參考體元為參考時,其坐標使用該局部世界坐標系中的坐標進行表示;5)由于參考關(guān)系而更新某個體元的坐標信息時,需要更新與之相關(guān)的體元坐標,更新原則如下:若待更新的體元為被參考體元,則同時更新所有參考體元的體元坐標,否則更新其被參考體元的坐標信息,從被參考體元出發(fā)更新所有參考該被參考體元的體元坐標;
所述建立初始模型包括針對點、直線、長方體和多面體體元的生成,其算法具體為:
1)點圖元的體元生成算法:根據(jù)點在空間所在的位置分為四類,即已知點、孤立點、直線上點和面上點,對于已知點,直接返回已知點在場景圖中的編號;對于孤立點,選擇該點視線方向上的任意點作為該點對應(yīng)的體元;對于直線上點,根據(jù)直線的體元與圖元之間的幾何比例關(guān)系計算得到;對于面上點,根據(jù)多邊形的體元與圖元之間的幾何比例關(guān)系計算得到;
2)直線圖元的體元生成算法:通過構(gòu)建兩個點圖元對應(yīng)的體元,在此基礎(chǔ)上根據(jù)兩個點體元之間的空間位置關(guān)系完成直線體元的生成;
當(dāng)直線與某一消隱點方向一致時,分四種情況對場景圖進行更新:
i)若直線首尾端點對應(yīng)體元均為被參考體元,則以首端點對應(yīng)體元為參考更新尾端點對應(yīng)體元坐標,同時更新所有以尾端點對應(yīng)體元為參考的其他體元坐標;
若直線首端點對應(yīng)體元為參考體元,尾端點對應(yīng)體元為被參考體元,則將尾端點對應(yīng)體元所在的局部世界坐標系轉(zhuǎn)換到首端點對應(yīng)體元所在的局部世界坐標系中,若直線首端點對應(yīng)體元為被參考體元,尾端點對應(yīng)體元為參考體元,則將首端點對應(yīng)體元所在的局部世界坐標系轉(zhuǎn)換到尾端點對應(yīng)體元所在的局部世界坐標系中;
iii)若直線首尾端點對應(yīng)體元均為參考體元,且二者不在同一局部世界坐標系中,則將尾端點對應(yīng)體元所在的局部世界坐標系轉(zhuǎn)換到首端點對應(yīng)體元所在的局部世界坐標系中;
iv)若直線首尾端點對應(yīng)體元均為參考體元,且二者均在同一局部世界坐標系中,則用首端點對應(yīng)體元重新定位尾端點對應(yīng)體元,使兩者在空間中與相應(yīng)軸向一致;
當(dāng)直線與任意消隱點方向均不一致時,分三種情況進行更新:
若直線首尾端點對應(yīng)體元均為參考體元,且二者均在同一局部世界坐標系中,則將首尾端點對應(yīng)體元組合成一個直線體元,置于當(dāng)前局部世界坐標系中;
若直線首端點對應(yīng)體元為參考體元,其直接參考體元為面體元,且尾端點對應(yīng)體元為被參考體元,則更新尾端點對應(yīng)體元,使其也處于首端點對應(yīng)體元所在的平面上,并更新所有以尾端點對應(yīng)體元為參考的其他體元;
其他情況,由于無法通過任何方法得知兩個端點體元的空間位置關(guān)系,故認為此種情況的交互式操作無效;
3)長方體和多面體體元生成算法:
首先定義空間中兩鄰邊分別平行于一條世界坐標系坐標軸的矩形為參考矩形,參考矩形投影到圖像平面上形成的兩組對邊分別經(jīng)過一個消隱點方向,規(guī)定交互式拾取的參考矩形和多邊形均位于場景地面上;
構(gòu)建長方體體元時,首先指定參考矩形兩個對角頂點在圖像上的位置,然后根據(jù)消隱點特性計算參考矩形剩余的兩個頂點的圖像坐標,再通過直線體元生成方法依次生成四條直線體元,組合形成矩形體元,最后,將矩形體元按照垂直消隱點方向進行拔高處理即得到長方體體元;
構(gòu)建多面體體元時,先在圖像上交互拾取一個多邊形體元,在此基礎(chǔ)上將多邊形體元按照垂直消隱點方向進行拔高處理即生成相應(yīng)的多面體體元,多邊形體元的各邊不一定平行于世界坐標系的坐標軸,但多邊形各頂點滿足共面的約束關(guān)系。
9.如權(quán)利要求8所述的單幅圖像的三維配準方法,其特征在于所述初始模型后處理包括體元三角化和紋理生成,所述體元三角化為:采用三角面片的劃分方法,首先構(gòu)建空的三角面片體元集合,遍歷中的體元,將三角化后得到的面片體元放入中,對中投影面積大于給定閾值的三角面片重新劃分并更新;所述紋理生成為:用公式(13)對集合中所有面片體元的所有頂點計算得到相應(yīng)的紋理坐標,
, (13)
其中,、分別表示圖像坐標系和相機坐標系下的點,表示相機的焦距。
10.如權(quán)利要求9所述的單幅圖像的三維配準方法,其特征在于所述相機注冊步驟是將分布在一個或多個局部世界坐標系中的所述初始模型注冊到統(tǒng)一的三維場景中,主要包括調(diào)整相機旋轉(zhuǎn)矩陣、相機坐標系轉(zhuǎn)換到局部世界坐標系、局部世界坐標系轉(zhuǎn)換到三維場景模型坐標系和計算視錐體參數(shù)四個部分,分別為:
調(diào)整相機旋轉(zhuǎn)矩陣:設(shè)相機中心到垂直消隱點的向量在圖像平面的投影為,令相機中心到拾取直線對應(yīng)消隱點的向量在圖像平面的投影為,另一向量為,按照拍攝場景時相機的俯仰將消隱點分布分為四種情況,根據(jù)局部世界坐標系和相機坐標系的對應(yīng)關(guān)系分別對所述旋轉(zhuǎn)矩陣進行調(diào)整:
a、垂直消隱點位于圖像平面的主點的下方,拾取直線對應(yīng)的水平消隱點位于圖像主點的右方,此時,,,據(jù)此計算得到調(diào)整后的旋轉(zhuǎn)矩陣,
,
b、垂直消隱點位于圖像平面的主點的下方,拾取直線對應(yīng)的水平消隱點位于圖像主點的左方,此時,,,據(jù)此計算得到調(diào)整后的旋轉(zhuǎn)矩陣,
,
c、垂直消隱點位于圖像平面的主點的上方,拾取直線對應(yīng)的水平消隱點位于圖像主點的右方,此時,,,據(jù)此可計算得到調(diào)整后的旋轉(zhuǎn)矩陣,
,
d、垂直消隱點位于圖像平面的主點的上方,拾取直線對應(yīng)的水平消隱點位于圖像主點的左方,此時,,,據(jù)此計算得到調(diào)整后的旋轉(zhuǎn)矩陣,
,
其中,、、分別為向量在局部世界坐標系下的坐標表示,、、分別為向量在相機坐標系下的坐標表示;
相機坐標系轉(zhuǎn)換到局部世界坐標系:
用戶在圖像上拾取過消隱點的直線,它是空間直線在圖像平面上的投影,為相機中心,為圖像主點,這里約定,圖像坐標系以圖像平面左上頂點為原點,水平向右為橫軸,豎直向下為縱軸,主點為圖像平面的中心;相機坐標系以圖像平面水平向右為橫軸,豎直向下為縱軸,視線方向為豎軸,記的相機坐標、、分別為、、,假設(shè)兩點的相機坐標為、,
根據(jù)相機標定和調(diào)整旋轉(zhuǎn)矩陣的結(jié)果和構(gòu)造局部世界坐標系到相機坐標系的轉(zhuǎn)換矩陣,相機坐標系到局部世界坐標系的轉(zhuǎn)換矩陣為,通過這個轉(zhuǎn)換矩陣能夠獲得相機坐標系上任意一點在局部世界坐標系下的參考坐標,設(shè)直線端點、在局部世界坐標系中的坐標為、,則:
; (14)
局部世界坐標系轉(zhuǎn)換到三維場景模型坐標系:計算局部世界坐標系和三維場景模型坐標系的兩條對應(yīng)直線的夾角并構(gòu)造旋轉(zhuǎn)矩陣,計算局部世界坐標系與三維場景模型坐標系的變換尺度因子并構(gòu)造縮放矩陣,得到局部世界坐標系到三維場景模型坐標系的轉(zhuǎn)換矩陣,得到從相機坐標系到三維場景模型坐標系的完整變換矩陣為:
; (15)
計算視錐體參數(shù):相機中心在模型坐標系中的坐標為:
, (16)
其中,是點在三維場景模型坐標系下坐標,
相機的up向量為:
, (17)
相機的forward向量為:
, (18)
相機的center向量為:
, (19)
根據(jù)公式(16)-(19),能夠?qū)⑾鄼C坐標系下的坐標轉(zhuǎn)換到統(tǒng)一的三維場景模型坐標系下,三維配準過程完成。