本發(fā)明屬于三維重建技術領域,涉及一種無序圖像的多視立體匹配的三維重建方法。
背景技術:
無序圖形的多視立體匹配的三維重建過程是相機在多視角下采集場景的視圖集,然后通過多視立體匹配獲取場景深度的信息,重建場景的三維模型。目前根據深度獲取方式主要有基于主動式的和基于被動式的方法。基于主動式方法是指利用現階段比較成熟的設備直接獲得深度信息,如結構光掃描儀,是通過編解碼投影條紋得到圖像像素點的同名點,然后通過三角測量等技術估計深度信息;又如微軟的kinect-v2深度相機或激光掃描儀是利用tof技術獲取深度信息。這些設備在一些特定場景下可以獲取比較準確的深度信息,但是設備比較復雜不易攜帶,對自然光照要求較高,場景適用范圍有限,而且成本較高?;诒粍邮降墨@取深度信息是傳統(tǒng)獲取深度信息的方式,通過相機采集圖像數據,根據相機的成像原理和攝影幾何相關理論知識估計場景的深度信息。根據匹配的圖像數目分類又可分為三類,對單張圖像的理解、基于雙目立體匹配以及多個視角的多視圖立體匹配,這個過程沒有光照限制,是在自然光照下完成圖像采集,設備方便懈怠、操作簡單、成本低且自動化程度高等優(yōu)點被廣泛的應用在很多領域。多視立體圖像的研究具有重要的應用價值,其應用包括移動機器人的自主導航系統(tǒng),航空及遙感測量,工業(yè)自動化系統(tǒng)等。
技術實現要素:
本發(fā)明所要解決的是,就是提出一種融合上述傳統(tǒng)技術方案的用于無序圖像的多視立體匹配的三維重建方法。
本發(fā)明的技術方案是:如圖1所示,包括以下步驟:
(1)自然環(huán)境中采集多視角下的圖像集。根據相機的出廠參數獲取相機的內部參數。
(2)提取圖像的特征點,進行圖像特征匹配,估計相機的位置關系(選準矩陣和平移矩陣),也稱為相機外參數。
(3)利用全局視圖選擇算法確定基準視圖的鄰域視圖候選集,本發(fā)明加入視圖選擇的判決條件,并自適應的確定鄰域視圖選擇候選集中的視圖,不是固定數。
(4)利用局部視圖選擇算法在鄰域視圖候選集中選擇基準視圖的4鄰域視圖集。
(5)計算種子點的匹配置信度,構建置信度優(yōu)先隊列。迭代增長種子點并優(yōu)化其深度和法線信息,本發(fā)明利用自適應窗口空間平面片模板優(yōu)化種子點的深度信息,對滿足條件的種子點將其四鄰域點中沒有重建的點加入隊列中,再將該種子點在隊列中刪掉,直到優(yōu)先隊列中為空停止迭代。最終得到空間點云。
(6)泊松建面,步驟(5)中得到點云信息,通過泊松建面得到完整的三維模型。
進一步的,所述步驟(2)具體包括的具體過程如下:
(2.1)多視圖集是在自然環(huán)境下采集的,存在分辨率、光照以及視圖分布不規(guī)則等不確定因素,因此本發(fā)明提取了sift和surf特征,并結合兩特征進行圖像的兩兩匹配,記錄兩視圖間的匹配特征點對。
(2.2)通過sfm算法得到相機的位置參數(旋轉矩陣和平移矩陣),另外sfm算法會得到空間稀疏的空間點。
進一步的,所述步驟(3)具體包括的子步驟:
(3.1)對于包含n幅圖像的大規(guī)模圖像集,沒幅視圖都作為基準視圖,利用基于圖像級的全局視圖選擇算法選擇基準視圖的鄰域視圖候選集。首先構建打分函數,將除基準視圖和已選入鄰域視圖候選集外的視圖與基準視圖計算打分值,將最高打分值的視圖加入鄰域視圖候選集中。
(3.2)在計算打分值之前引入判決函數,對滿足條件的視圖才計算打分值,判決函數形式如式1所示,
其中,其中r表示基準視圖,v是待選視圖,ftracei表示在視圖i中可視的特征空間點,實驗中定義τmin=0.05,τmax=0.97。本發(fā)明中自適應確定鄰域視圖候選集中的視圖數目,不在是固定值,但是定義候選視圖數目的最大值。
(3.3)計算打分值,打分函數形式如式2所示,
計算待選視圖與基準視圖之間的相機光心射線夾角的權重wn'(f),并且計算待選視圖與已選入視圖候選集中視圖的光心射線夾角的權重,具體形式如式3所示,
其中α表示兩視圖的相機光心射線夾角,實驗中定義αmax=10,wα的形式為wα(f,vi,vj)=min((α/αmax)2,1)
(3.4)ws(f)是匹配待選視圖與基準視圖的分辨率。
(3.5)選擇打分值最高的視圖加入該基準視圖的鄰域視圖候選集中,然后再將剩余的視圖(除去基準視圖和已經選入鄰域視圖候選集的視圖)重新計算打分值,選擇打分值最高的加入候選集,不斷地循環(huán)該過程,遍歷所有的滿足判決條件的視圖。
全局視圖選擇算法流程圖如圖2所示。
進一步的,所述步驟(4)具體包括的子步驟:
(4.1)對基準視圖的每個特征點利用局部視圖選擇算法選擇4鄰域視圖,選擇其中一個特征點,構建打分函數,篩選出與基準視圖的可視特征點相似性較大的4鄰域視圖。局部視圖選擇打分函數的形式為式(4)所示,
(4.2)遍歷鄰域視圖候選集中的視圖,分別計算待選視圖與基準視圖中該特征點匹配的像素點的光度一致性,用ncc值表征,具體如式(5)所示,
(4.3)計算待選視圖與基準視圖的之間的相機光心射線夾角αrv的權重,如式(6)所示,并且計算待選視圖與已選入鄰域視圖集中視圖的空間關系w(v,v'),
w(v,v')=we(v,v')·wv(v,v')(7)
其中we(v,v')表征視圖v,v'分別與基準視圖極平面的夾角權重,wv(v,v')表征視圖v,v'相機光心射線夾角的關系,其形式分別為(8)(9):
其中βvv'是視圖v,v'與基準視圖的極平面的夾角,一般β取銳角形式。本文參數選擇
(4.4)同全局視圖選擇算法相同,選擇打分值最高的視圖加入鄰域視圖集中,循環(huán)計算打分值,直到選擇出4鄰域視圖。局部視圖選擇打分函數的構建算法框圖如圖3所示。
進一步的,所述步驟(5)具體包括的子步驟:
(5.1)構建匹配置信度優(yōu)先隊列,選擇sfm算法得到的稀疏的空間點作為初始種子點,計算該點與其鄰域視圖的匹配置信度。
(5.2)每次選擇隊列中置信度最高的點進行增長和優(yōu)化,匹配算法流程圖如圖6所示。將該種子點投影到基準視圖計算該點n×n鄰域圖像塊的初始空間平面片,初始深度均為1,形式為式(10)所示:
其中
(5.3)本發(fā)明提出一種自適應形狀空間平面片算法,將n×n的矩形窗變成自適應的窗形狀,使得投影到空間的空間平面片也是自適應形狀的,可以自適應邊界信息。形式為式(11)所示:
pk*=w*pk(11)
其中pk是可視點在基準視圖中對應的圖像塊,w*是自適應窗形狀模板,因此pk*是自適應形狀的圖像塊,投影到空間的平面片也是自適應形狀的。具體投影過程如圖4所示。
(5.4)計算自適應窗模板形狀。自適應窗形狀模板是應用正交積分算法得到的,如圖5所示,以可視投影像素點p為中心的n×n的窗內,定義p鄰域窗中垂直線集xc和水平線集yc,并且定義自適應窗口的四個臂長為如圖中兩條正交線vp={vp-,vp+}和hp={hp-,hp+},依據局部圖像塊的顏色相似性特征自適應改變四個臂長。以vp-為例,在p垂直向下依次判斷與鄰域像素點的顏色相似性,指示函數為式(12)所示,
φ是指示函數用來估計窗內點pi與p間顏色的相似性,pi=(xp,yp-i),τ是閾值參數控制顏色相似程度。因此p點的最長向下跨度l*如公式(13)所示,
其中l(wèi)是初始臂長,則下臂長度為vp-=max(l*,1)。同理可以得到其他三個臂的長度hp-,hp+,vp+,依據{hp-,hp+,vp-,vp+}計算投影點p的正交垂直集v(p)和水平線集y如式(14)所示,
如上圖所示的陰影部分為投影點p兩條正交線,對于其鄰域像素點都可以自適應的表示正交線,因此可以構建自適應窗區(qū)域x,如式(15)所示,
同樣,自適應窗模板也可以表示為
(5.5)自適應形狀空間平面片投影到鄰域視圖上,計算像素點的方向導數矩陣,估計深度的優(yōu)化步進長度和方向,重新投影計算置信度,迭代該優(yōu)化過程;如果在迭代收斂后置信度滿足要求則增長該點,將該可視點的4鄰域像素點中沒有深度信息的點以相同的深度信息存入優(yōu)先對列中;否則在該隊列中直接刪除該點。
(5.6)循環(huán)增長隊列中所有的種子點,直到隊列為空。
本發(fā)明的有益效果為:相對于傳統(tǒng)技術,本發(fā)明的方法在視圖選擇算法部分,1)針對全局視圖選擇過程,首先引入判決條件,并自適應候選視圖集中視圖數目,不在是固定值的視圖集。算法中對不滿足條件的視圖不進行打分。隨著應用范圍的不斷擴大,實驗數據集的視圖數越來越多,因此減少視圖選擇的時間至關重要。2)對于局部視圖算法本發(fā)明改進鄰域視圖與基準視圖極平面夾角的權重影響因子,使得選擇的鄰域視圖更加精確和有代表性。在視圖匹配區(qū)域增長過程中3)本發(fā)明提出自適應窗形狀空間平面片算法,自適應形狀可以自適應的適應邊界信息,得到更好地破匹配結果。
附圖說明
圖1為本發(fā)明總的流程示意圖;
圖2為全局視圖選擇算法流程圖;
圖3為局部視圖選擇構建打分函數流程圖;
圖4為自適應窗空間平面片;
圖5為自適應窗模板;
圖6為多視圖匹配算法流程圖。
具體實施方式
發(fā)明內容部分已經對本發(fā)明的技術方案進行了詳細描述,在此不再贅述。