一種圖像二維拼接與三維表面重建的組合方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于計(jì)算機(jī)視覺和圖像處理技術(shù)領(lǐng)域,特別是涉及一種圖像二維拼接與三 維表面重建的組合方法。
【背景技術(shù)】
[0002] 隨著計(jì)算機(jī)技術(shù)的快速發(fā)展,計(jì)算機(jī)視覺和圖像處理技術(shù)已被廣泛地應(yīng)用于現(xiàn)代 生活的各個(gè)方面,尤其在圖像拼接和基于圖像的三維建模方面應(yīng)用廣泛。如今,我們可以在 各種地圖軟件供應(yīng)商、旅游網(wǎng)站等網(wǎng)頁(yè)上看見許多景點(diǎn)的二維全景圖或是三維全景圖。此 外,全景照相技術(shù)常在拍合影留念時(shí)發(fā)揮重要的作用,我們可以利用全景照相技術(shù)將環(huán)形 的隊(duì)列放置于一張長(zhǎng)條形的相片之中。
[0003] 圖像的二維拼接技術(shù)和三維重建技術(shù)發(fā)展迅速?;诨揪仃嚭蛦螒?yīng)矩陣的圖 像拼接方法已經(jīng)發(fā)展得頗為成熟,在OpenCV中集成的cv: :Stitcher類在進(jìn)行某些圖像的 拼接時(shí),足以達(dá)到以假亂真的效果。在圖像的三維重建領(lǐng)域,基于運(yùn)動(dòng)的建模(Structure from Motion, SfM)是一種非常成功的方法。SfM通過尋找圖像間的點(diǎn)對(duì)應(yīng)關(guān)系來估計(jì)攝像 機(jī)在空間中的相對(duì)位置與姿態(tài)。實(shí)驗(yàn)表明SfM在還原攝像機(jī)在空間的相對(duì)位置中表現(xiàn)非常 出色。盡管圖像拼接和三維表面重建技術(shù)各放異彩,但是目前仍沒有發(fā)現(xiàn)圖像拼接和三維 重建的并行處理方法。
[0004] 在工業(yè)檢測(cè)或者是醫(yī)療檢測(cè)中,高倍顯微攝像機(jī)或者是內(nèi)窺鏡常常被用來作為視 覺設(shè)備使用。然而由于鏡頭本身的尺寸較小或者是由于較高的放大倍率,該類攝像機(jī)所獲 取的圖像視野十分有限。在進(jìn)行某些表面的檢測(cè)時(shí),通常一次性拍攝大量的圖像。為了減 輕人眼檢查圖像時(shí)的工作載荷,采用圖像拼接與三維表面重建而獲得的大視野圖像和具有 定位能力的三維模型將十分有助于機(jī)器視覺檢測(cè)中的圖像分析與定位。因此,在這種情況 下,迫切地需要一種圖像的二維拼接和三維表面重建的組合方法。
【發(fā)明內(nèi)容】
[0005] 為了解決上述問題,本發(fā)明的目的在于提供一種圖像二維拼接與三維表面重建的 組合方法。
[0006] 為了達(dá)到上述目的,本發(fā)明提供的圖像二維拼接與三維表面重建的組合方法包括 按順序進(jìn)行的下列步驟:
[0007] 步驟A :對(duì)輸入的圖像進(jìn)行預(yù)處理,使得圖像的特征點(diǎn)變得更加豐富,進(jìn)而對(duì)特征 點(diǎn)進(jìn)行抽?。?br>[0008] 步驟B :進(jìn)行上述特征點(diǎn)的匹配,篩選出配對(duì)成功的點(diǎn)集,得到特征點(diǎn)的多視圖幾 何對(duì)應(yīng)關(guān)系;
[0009] 步驟C :通過特征點(diǎn)的相對(duì)應(yīng)關(guān)系計(jì)算場(chǎng)景的射影重構(gòu)關(guān)系,得到攝像機(jī)在三維 空間中的相對(duì)位置和相對(duì)姿態(tài);
[0010] 步驟D :進(jìn)行度量重構(gòu)并進(jìn)行全局的優(yōu)化;
[0011] 步驟E :根據(jù)攝像機(jī)在三維空間中的相對(duì)位置關(guān)系,選取合適的視角與觀察平面, 建立所有圖像在該觀察平面上的投影關(guān)系;
[0012] 步驟F :圖像拼接,即將所有的圖像重新映射至目標(biāo)平面,并對(duì)重新投影后的圖像 進(jìn)行拼接,得到二維的全景圖像;
[0013] 步驟G :三維表面重建,即通過步驟C計(jì)算所得的攝像機(jī)在三維空間中的相對(duì)位置 和相對(duì)姿態(tài)還原出圖像在三維空間中的場(chǎng)景。
[0014] 在步驟A中,所述的對(duì)圖像進(jìn)行預(yù)處理的方法為:
[0015] 1)逐幀讀取圖像;
[0016] 2)若已知攝像機(jī)參數(shù),進(jìn)行圖像畸變校正;否則直接進(jìn)入步驟3);
[0017] 3)采用高斯濾波方法對(duì)圖像進(jìn)行降噪處理;
[0018] 4)將彩色圖像轉(zhuǎn)換為灰度圖像;
[0019] 5)分析上述灰度圖像的亮度或灰度分布情況;
[0020] 6)根據(jù)上述分析結(jié)果調(diào)整圖像的亮度分布情況,使得圖像的灰度較為均勻地分布 于0-255之間。
[0021 ] 在步驟A中,所述的對(duì)特征點(diǎn)進(jìn)行抽取的方法為:
[0022] 1)采用SURFAA) KAZE算法對(duì)上述預(yù)處理后的圖像進(jìn)行特征點(diǎn)抽?。?br>[0023] 2)以SURFAA)KAZE特征抽取返回值為特征點(diǎn)向量,物理意義為梯度的方向與大 小的分布情況;定義梯度權(quán)重次極大對(duì)應(yīng)的方向?yàn)楦狈较颍?br>[0024] 3)按照上述特征點(diǎn)向量的副方向?qū)μ卣鼽c(diǎn)升序排序;其中特征點(diǎn)的方向被離散 化為8個(gè)值,每一個(gè)值對(duì)應(yīng)一個(gè)角度為45°的扇形區(qū)域;角度的計(jì)算方式為副方向與主方 向的角度差值;之后將特征點(diǎn)集合按照特征點(diǎn)向量的副方向的升序劃分成8個(gè)類別;
[0025] 4)構(gòu)造類Hash表數(shù)據(jù)結(jié)構(gòu),其中數(shù)據(jù)表的每一個(gè)支鏈存儲(chǔ)副方向相同的特征點(diǎn)。
[0026] 在步驟B中,所述的特征點(diǎn)的匹配方法為:
[0027] 1)確定匹配的精度d_max,即相互匹配的特征點(diǎn)對(duì)間的歐式距離必須小于d_max ;
[0028] 2)輸入一個(gè)特征點(diǎn)作為待匹配點(diǎn);
[0029] 3)讀取所輸入的特征點(diǎn)向量的副方向,計(jì)算目標(biāo)點(diǎn)所在的支鏈;
[0030] 4)計(jì)算與該支鏈中所有特征點(diǎn)的歐式距離,選取與待匹配點(diǎn)的歐式距離最小且其 距離小于d_max的特征點(diǎn)作為匹配點(diǎn);
[0031] 5)若存在多個(gè)匹配點(diǎn)與待匹配點(diǎn)距離相近的情況,放棄當(dāng)前特征點(diǎn)的匹配,直接 進(jìn)入下一個(gè)特征點(diǎn)的匹配。
[0032] 在步驟C中,所述的建立射影重構(gòu)關(guān)系的方法為:
[0033] 1)以X1表示空間點(diǎn),P,表示攝像機(jī),$表示空間點(diǎn)X1在攝像機(jī)匕中所成的像,即:
[0035] 存在一個(gè)映射每描述同一個(gè)空間點(diǎn)X1在攝像機(jī)P j,Pk中所成的像的對(duì)應(yīng)關(guān)系:
[0037] 2)利用最小化代價(jià)函數(shù)和隨機(jī)一致抽樣(RANSAC)方法計(jì)算場(chǎng)景的射影重構(gòu)關(guān) 系,即求解好$以及通過三角原理計(jì)算X1。
[0038] 在步驟D中,所述的進(jìn)行度量重構(gòu)的方法為:
[0039] 1)若輸入的數(shù)據(jù)中包含攝像機(jī)的內(nèi)參數(shù)矩陣,可直接進(jìn)行度量重構(gòu);否則,可通 過絕對(duì)二次曲線的對(duì)偶曲線和絕對(duì)二次曲面的對(duì)偶圖像間的對(duì)應(yīng)關(guān)系求解自標(biāo)定方程而 獲取攝像機(jī)的內(nèi)參數(shù);
[0040] 2)捆綁調(diào)整:記,]、這}分別為估計(jì)出的空間點(diǎn)與攝像機(jī)在空間中的位置與姿 態(tài),選取重投影誤差作為代價(jià)函數(shù),即:
[0042] 以上述的重構(gòu)結(jié)果為初始值,進(jìn)行迭代以尋找出最小化代價(jià)函數(shù)的最優(yōu)值。
[0043] 在步驟E中,所述的根據(jù)攝像機(jī)在三維空間中的相對(duì)位置關(guān)系,選取合適的視角 與觀察平面,建立所有圖像在該觀察平面上的投影關(guān)系的具體方法為:
[0044] 1)選取圖像拼接平面作為觀察面;
[0045] 2)利用上述度量重構(gòu)所建立的攝像機(jī)相對(duì)姿態(tài)位置關(guān)系,將待拼接的圖像重投影 至圖像拼接平面而進(jìn)行圖像視角變換,將所有的圖像投影至相同的尺度,即保持同一目標(biāo) 在不同圖像中的尺寸相近。
[0046] 在步驟F中,所述的圖像拼接的具體方法為:
[0047] 1)將上述經(jīng)過視角變換后的圖像拼接成一張大圖;
[0048] 2)若在上述重合區(qū)域出現(xiàn)像素點(diǎn)不重合的情況,采用隨機(jī)一致抽樣算法確定像素 的位置;即計(jì)算多個(gè)像素中心,并根據(jù)此中心排除偏離中心過大的點(diǎn);
[0049] 3)對(duì)于圖像中丟失的特征點(diǎn),采用插值的方式確定其值;
[0050] 4)進(jìn)行局部的亮度調(diào)整和對(duì)比度調(diào)整,使拼接所得的圖像更加自然。
[0051] 在步驟G中,所述的三維表面重建的具體方法為:
[0052] 1)根據(jù)步驟D中計(jì)算所得出的度量重構(gòu)關(guān)系,將圖像的特征點(diǎn)重投影至三維空 間;
[0053] 2)消除有誤模型誤差及噪聲干擾帶來的"一點(diǎn)多投"現(xiàn)象;對(duì)于同一個(gè)特征點(diǎn)投 影出的多個(gè)位置,求加權(quán)平均,并將得到的位置作為該特征點(diǎn)的位置;
[0054] 3)通過特征點(diǎn)集合建立圖像的三角剖分網(wǎng)格和三維空間中的三角網(wǎng)格劃分,并建 立網(wǎng)格間的對(duì)應(yīng)關(guān)系;
[0055] 4)通過圖像融合的方式,使用圖像填充三維空間表面中的三角網(wǎng)格空穴。
[0056] 本發(fā)明提供的圖像二維拼接與三維表面重建組合方法首次結(jié)合了圖像的二維拼 接技術(shù)與圖像的三維表面重建技術(shù),能實(shí)現(xiàn)通過一組未標(biāo)定的圖像序列或者是一段視頻而 取得場(chǎng)景的全景圖像和三維表面的相關(guān)信息。該方法充分考慮了圖像的二維拼接和三維表 面重建技術(shù)的異同點(diǎn),提取二者實(shí)現(xiàn)過程中的公共步驟,能在相對(duì)較短的時(shí)間內(nèi)同時(shí)得到 場(chǎng)景的全景圖像和三維表面。相對(duì)于傳統(tǒng)的圖像二維拼接方法,由于三維重建中的捆綁調(diào) 整對(duì)攝像機(jī)的姿態(tài)進(jìn)行了全局的優(yōu)化,使用圖像拼接與三維重建的組合方法可以有效地減 少計(jì)算的累積誤差。另一方面,三維計(jì)算所得的信息在圖像的拼接中的應(yīng)用使得圖像的拼 接視角可以調(diào)節(jié)。
[0057] 本發(fā)明的另一個(gè)優(yōu)點(diǎn)是高速的特征點(diǎn)匹配方法??紤]到數(shù)據(jù)的排序/分類所需要 的時(shí)間代價(jià)相對(duì)計(jì)算特征點(diǎn)對(duì)應(yīng)關(guān)系較小,本發(fā)明中對(duì)特征點(diǎn)集合進(jìn)行了排序與分類,使 得匹配的時(shí)間復(fù)雜度顯著地降低。理論上,本發(fā)明使用的特征點(diǎn)匹配方法的時(shí)間復(fù)雜度僅 為原來的12. 5%。
【附圖說明】
[0058] 圖1為本發(fā)明提供的圖像二維拼接與三維表面重建的組合方法流程圖。
【具體實(shí)施方式】
[0059] 下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明提供的圖像二維拼接與三維表面重建的組 合方法進(jìn)行詳細(xì)說明。
[0060] 本發(fā)明提供的圖像二維拼接與三維表面重建的組合方法處理的對(duì)象為圖像序列 或者的視頻片段中的任意一種。由于視頻片段中的相鄰幀非常相似,因此對(duì)于視頻使用采 樣的方式進(jìn)行圖像提取,采用率根據(jù)攝像機(jī)的運(yùn)動(dòng)速率做出相應(yīng)的調(diào)整,只需滿足相鄰的 兩個(gè)采樣之間具有一定的重合區(qū)域即可。對(duì)于圖像序列,每次處理一張圖像。
[0061] 如圖1所示,本發(fā)明提供的圖像二維拼接與三維表面重建的組合方法包括按順序 進(jìn)行的下列步驟:
[0062] 步驟A :對(duì)輸入的圖像進(jìn)行預(yù)處理,使得圖像的特征點(diǎn)變得更加豐富,進(jìn)而對(duì)特征 點(diǎn)進(jìn)行抽??;
[0063] 所述的對(duì)圖像進(jìn)行預(yù)處理的方法包括下列步驟:
[0064] 1)逐幀讀取圖像;
[0065] 2)若已知攝像機(jī)參數(shù),進(jìn)行圖像畸變校正;否則直接進(jìn)入步驟3);
[0066] 3)采用高斯濾波方法對(duì)圖像進(jìn)行降噪處理;
[0067] 4)將彩色圖像轉(zhuǎn)換為灰度圖像;
[0068] 5)分析上述灰度圖像的亮度或灰度分布情況;
[0069] 6)根據(jù)上述分析結(jié)果調(diào)整圖像的亮度分布情況,使得圖像的灰度較為均勻地分布 于0-255之間。
[0070] 所述的對(duì)特征點(diǎn)進(jìn)行抽取的方法為:
[0071] 1)采用SURFAA)KAZE算法對(duì)上述預(yù)處理后的圖像進(jìn)行特征點(diǎn)抽取;
[0072] 2)以SURFAA)KAZE特征抽取返回值為特征點(diǎn)向量,物理意義為梯度的方向與大 小的分布情況;定義梯度權(quán)重次極大對(duì)應(yīng)的方向?yàn)楦狈较颍?br>[0073] 3)按照上述特征點(diǎn)向量的副方向?qū)μ卣鼽c(diǎn)升序排序;其中特征點(diǎn)的方向被離散 化為8個(gè)值,每一個(gè)值對(duì)應(yīng)一個(gè)角