全景拼接算法簡(jiǎn)介_(kāi)第1頁(yè)
全景拼接算法簡(jiǎn)介_(kāi)第2頁(yè)
全景拼接算法簡(jiǎn)介_(kāi)第3頁(yè)
全景拼接算法簡(jiǎn)介_(kāi)第4頁(yè)
全景拼接算法簡(jiǎn)介_(kāi)第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、全景拼接算法簡(jiǎn)介羅海風(fēng)目錄1.概述22.主要步驟22.1. 圖像獲取22.2魚(yú)眼圖像矯正22.3圖片匹配32.4 圖片拼接32.5 圖像融合32.6 全景圖像投射33.算法技術(shù)點(diǎn)介紹33.1 圖像獲取33.2魚(yú)眼圖像矯正43.3 圖片匹配5與特征無(wú)關(guān)的匹配方式5根據(jù)特征進(jìn)行匹配的方式53.4圖片拼接63.5圖像融合73.5.1 平均疊加法73.5.2 線性法73.5.3 加權(quán)函數(shù)法73.5.4 多段融合法(多分辨率樣條)73.6全景圖像投射73.6.1 柱面全景圖73.6.2 球面全景圖83.6.3 多面體全景圖84.開(kāi)源圖像算法庫(kù)OPENCV拼接模塊94.1 s

2、titching_detail程序運(yùn)行流程94.2 stitching_detail程序接口介紹94.3 測(cè)試效果105.小結(jié)11參考資料111.概述全景視圖是指在一個(gè)固定的觀察點(diǎn),能夠提供水平方向上方位角360度,垂直方向上180度的自由瀏覽 (簡(jiǎn)化的全景只能提供水平方向360度的瀏覽)。目前市場(chǎng)中的全景攝像機(jī)主要分為兩種:魚(yú)眼全景攝像機(jī)和多鏡頭全景攝像機(jī)。魚(yú)眼全景攝像機(jī)是由單傳感器配套特殊的超廣角魚(yú)眼鏡頭,并依賴圖像校正技術(shù)還原圖像的魚(yú)眼全景攝像機(jī)。魚(yú)眼全景攝像機(jī)最終生成的全景圖像即使經(jīng)過(guò)校正也依然存在一定程度的失真和不自然。多鏡頭全景攝像機(jī)可以避免魚(yú)眼鏡頭圖像失真的缺點(diǎn),但是或多或少也會(huì)

3、存在融合邊緣效果不真實(shí)、角度有偏差或分割融合后有"附加"感的缺撼。本文檔中根據(jù)目前所查找到的資料,對(duì)多鏡頭全景視圖拼接算法原理進(jìn)行簡(jiǎn)要的介紹。2.主要步驟2.1. 圖像獲取通過(guò)相機(jī)取得圖像。通常需要根據(jù)失真較大的魚(yú)眼鏡頭和失真較小的窄視角鏡頭決定算法處理方式。單鏡頭和多鏡頭相機(jī)在算法處理上也會(huì)有一定差別。2.2魚(yú)眼圖像矯正若相機(jī)鏡頭為魚(yú)眼鏡頭,則圖像需要進(jìn)行特定的畸變展開(kāi)處理。2.3圖片匹配根據(jù)素材圖片中相互重疊的部分估算圖片間匹配關(guān)系。主要匹配方式分兩種:A與特征無(wú)關(guān)的匹配方式。最常見(jiàn)的即為相關(guān)性匹配。B根據(jù)特征進(jìn)行匹配的方式。最常見(jiàn)的即為根據(jù)SIFT,SURF

4、等素材圖片中局部特征點(diǎn),匹配相鄰圖片中的特征點(diǎn),估算圖像間投影變換矩陣。2.4 圖片拼接根據(jù)步驟2.3所得圖片相互關(guān)系,將相鄰圖片拼接至一起。2.5 圖像融合對(duì)拼接得到的全景圖進(jìn)行融合處理。2.6 全景圖像投射將合成后的全景圖投射至球面、柱面或立方體上并建立合適的視點(diǎn),實(shí)現(xiàn)全方位的視圖瀏覽。圖1:opencv stitching模塊進(jìn)行圖像拼接的處理流程(部分步驟可選)3.算法技術(shù)點(diǎn)介紹3.1 圖像獲取由于魚(yú)眼鏡頭和常規(guī)鏡頭在生成全景圖方面存在很大差異,其校正算法完全不同,因此需分開(kāi)討論。但是校正后的圖像進(jìn)行拼接步驟時(shí)的處理方法一定程度上可通用。A單常規(guī)鏡頭拍攝多張圖片方式

5、(手持)該方式很常見(jiàn),在目前多種手機(jī)上均有相關(guān)全景功能。B多個(gè)常規(guī)鏡頭組成的相機(jī)(或單鏡頭旋轉(zhuǎn)掃描方式)圖2:三星2014年發(fā)布的360度全景照相機(jī)Project Beyond,內(nèi)置16個(gè)攝像頭C魚(yú)眼鏡頭拍攝圖3:理光2013年發(fā)布雙魚(yú)眼全景相機(jī)RICOH THETA3.2魚(yú)眼圖像矯正若為魚(yú)眼鏡頭采集的到的圖像,必須對(duì)圖像進(jìn)行矯正。魚(yú)眼鏡頭圖像校正算法通常有兩種:一種是球面坐標(biāo)定位法,一種是經(jīng)緯映射法。具體推導(dǎo)過(guò)程見(jiàn)參考資料【1】魚(yú)眼照片生成全景圖算法的研究與實(shí)現(xiàn),矯正效果如下圖所示:圖4:魚(yú)眼圖像及校正后的展開(kāi)圖3.3 圖片匹配3.3.1與特征無(wú)關(guān)的匹配方式與特征無(wú)關(guān)的匹配方式常見(jiàn)的為相關(guān)性

6、匹配,一般都用于沒(méi)有復(fù)雜變換的圖像拼接情況下。該方式計(jì)算簡(jiǎn)單,僅為普通的灰度模板匹配。具體細(xì)節(jié)見(jiàn)參考文檔【2】全景圖生成技術(shù)研究。圖5:模板匹配法示意圖3.3.2根據(jù)特征進(jìn)行匹配的方式基于特征的匹配首先從圖像上選取特征信息,然后識(shí)別出兩幅圖像對(duì)應(yīng)的特征信息。常用的特征信息有特征輪廓,特征曲線,特征點(diǎn),多采用特征點(diǎn)匹配法。進(jìn)行特征點(diǎn)匹配的第一步是提取所有素材圖片的局部特征點(diǎn)。普遍來(lái)講,一張圖片所包含的特征點(diǎn)通常就是周圍含有較大信息量的點(diǎn),而僅通過(guò)這些富有特征的局部,基本就可以推測(cè)出整張圖片。常見(jiàn)的特征點(diǎn)包括SIFT,F(xiàn)AST,SURF等。 圖6:SITF特征點(diǎn)檢測(cè)效果圖。青色內(nèi)容為檢測(cè)到的SIF

7、T特征點(diǎn)。由于特征點(diǎn)由特征向量表示,所以圖中每個(gè)特征點(diǎn)顯示為一個(gè)箭頭。形成特征向量之后下一個(gè)問(wèn)題就是如何匹配了。最基本的方式可以稱作“最鄰近搜索”(Nearest Neighbour),實(shí)際上也就是找在128維空間上直線距離最近的的特征向量,這個(gè)求直線距離的方式和2維無(wú)異,最近的特征向量也就被認(rèn)為是互相匹配。SIFT原作者使用的方式是增加了k-d tree算法來(lái)高效率地完成高維度上的最鄰近搜索。特征點(diǎn)匹配效果如下圖所示。圖6:SITF特征點(diǎn)匹配效果圖3.4圖片拼接在以上步驟中得到了圖像間的匹配關(guān)系,就可以根據(jù)這些關(guān)系進(jìn)行圖像的拼接了。按照?qǐng)D像匹配的不同方式,拼接處理也分兩大類:A根據(jù)模板匹配的

8、方式,可得到圖片見(jiàn)的平移(或者包括縮放)參數(shù),繼而根據(jù)參數(shù)進(jìn)行圖像拼接操作;B根據(jù)特征點(diǎn)匹配的方式,則利用這些匹配的點(diǎn)來(lái)估算"單應(yīng)矩陣" (Homography Estimation),也就是把其中一張通過(guò)個(gè)關(guān)聯(lián)性和另一張匹配的方法。單應(yīng)矩陣H效果如下:通過(guò)單應(yīng)矩陣H,可以將原圖像中任意像素點(diǎn)坐標(biāo)轉(zhuǎn)換為新坐標(biāo)點(diǎn),轉(zhuǎn)換后的圖像即為適合拼接的結(jié)果圖像。下圖即為找出符合幾何約束的特征點(diǎn)之后,通過(guò)單應(yīng)矩陣來(lái)對(duì)齊兩張圖片的內(nèi)容。圖7:根據(jù)特征點(diǎn)進(jìn)行圖像拼接的效果圖圖8:多張圖像拼接效果3.5圖像融合圖像拼接后,需要對(duì)圖像重疊部分進(jìn)行融合處理。圖像融合技術(shù)決定了最終圖像合成質(zhì)量,常用的

9、有平均疊加法,線性法,加權(quán)法,多段融合法等。具體見(jiàn)參考文檔【2】全景圖生成技術(shù)研究。3.5.1 平均疊加法平均疊加法是直接對(duì)圖像進(jìn)行平均疊加。這是最簡(jiǎn)單的融合方法,會(huì)出現(xiàn)明顯的拼接縫隙。3.5.2 線性法柱面圖像的拼接多采用簡(jiǎn)單的線性法。圖像映射到柱面坐標(biāo)下,圖像間就是簡(jiǎn)單的純平面平移變換,局部對(duì)準(zhǔn)后,對(duì)重疊區(qū)域用線性法融合。該方法適合柱面全景圖生成,或者僅具有平移變換的兩幅圖像融合。3.5.3 加權(quán)函數(shù)法加權(quán)函數(shù)法與線性法類似,也是廣泛應(yīng)用的融合方法之一。該方法能有效去除邊界縫隙,但在拼合區(qū)往往出現(xiàn)疊影模糊的現(xiàn)象。3.5.4 多段融合法(多分辨率樣條)多段融合法是目前比較好的融合方法,拼接成

10、的圖像既清晰又光滑無(wú)縫,能避免縫隙問(wèn)題和疊影現(xiàn)象。另外,如果選取好的最佳縫隙線,還能處理有輕微運(yùn)動(dòng)物體的圖像拼接。但該方法運(yùn)算量大是其明顯缺陷。3.6全景圖像投射3.6.1 柱面全景圖固定視點(diǎn),使相機(jī)在水平面內(nèi)旋轉(zhuǎn)一周拍攝場(chǎng)景,得到一組具有重疊區(qū)域的連續(xù)環(huán)視圖像序列,將這組圖像序列無(wú)縫拼合,并投影到柱面空間坐標(biāo),就得到了衣服柱面全景圖。柱面投影就是講圖像投影到柱面上,它是一種透視投影而非平行投影,通俗的講就是要活的從投影中心這一點(diǎn)上觀察圖像在柱面上的成像。下圖表示將三維空間上的點(diǎn)(X,Y,Z)映射到柱面模型上得到對(duì)應(yīng)于柱面模型上的點(diǎn)(x,y,z)的過(guò)程。其中為觀察視域中心與X軸夾角,h為柱面模

11、型高度,(x,y,z)為(X,Y,Z)在柱面模型上的投影。圖9:柱面全景圖生成模型其中, 圖10:柱面全景圖效果圖詳細(xì)的柱面投影模型的推導(dǎo)過(guò)程,見(jiàn)參考文檔【5】柱面全景圖拼接算法的研究。3.6.2 球面全景圖球面全景圖是通過(guò)求取圖像映射到球面的參數(shù),將圖像映射到球面模型上,然后得到的平面反展開(kāi)圖就是球面全景圖或者部分球面全景圖。圖11:球面投影變換結(jié)果圖圖12:球面全景圖拼接效果3.6.3 多面體全景圖以景物中心為固定視點(diǎn)來(lái)觀察整個(gè)場(chǎng)景,并將周圍場(chǎng)景的圖像記錄在以該點(diǎn)為中心的環(huán)境映射到多面體上,這樣環(huán)境映射以多面體全景圖像的方式來(lái)提高其中心視點(diǎn)的場(chǎng)景描述。多面體全景圖中以立方體最為簡(jiǎn)單,立方體

12、全景圖是由6幅廣角為90度的畫(huà)面組成。圖13:立方體全景圖效果4.開(kāi)源圖像算法庫(kù)OpenCV拼接模塊開(kāi)源圖像算法庫(kù)OpenCV在2.4.0版本后集成了一個(gè)全景圖拼接模塊stitch,其中一個(gè)較詳細(xì)的樣例代碼stitching_detail.cpp簡(jiǎn)要介紹如下:4.1 stitching_detail程序運(yùn)行流程1.命令行調(diào)用程序,輸入源圖像以及程序的參數(shù)2.特征點(diǎn)檢測(cè),判斷是使用surf還是orb,默認(rèn)是surf。3.對(duì)圖像的特征點(diǎn)進(jìn)行匹配,使用最近鄰和次近鄰方法,將兩個(gè)最優(yōu)的匹配的置信度保存下來(lái)。4.對(duì)圖像進(jìn)行排序以及將置信度高的圖像保存到同一個(gè)集合中,刪除置信度比較低的圖像間的匹配,得到能

13、正確匹配的圖像序列。這樣將置信度高于門(mén)限的所有匹配合并到一個(gè)集合中。5.對(duì)所有圖像進(jìn)行相機(jī)參數(shù)粗略估計(jì),然后求出旋轉(zhuǎn)矩陣6.使用光束平均法進(jìn)一步精準(zhǔn)的估計(jì)出旋轉(zhuǎn)矩陣。7.波形校正,水平或者垂直8.拼接9.融合,多頻段融合,光照補(bǔ)償,4.2 stitching_detail程序接口介紹img1 img2 img3 輸入圖像 -preview 以預(yù)覽模式運(yùn)行程序,比正常模式要快,但輸出圖像分辨率低,拼接的分辨率compose_megapix 設(shè)置為0.6 -try_gpu (yes|no) 是否使用GPU(圖形處理器),默認(rèn)為no/* 運(yùn)動(dòng)估計(jì)參數(shù) */ -work_megapix <-wo

14、rk_megapix <float>> 圖像匹配的分辨率大小,圖像的面積尺寸變?yōu)閣ork_megapix*100000,默認(rèn)為0.6 -features (surf|orb) 選擇surf或者orb算法進(jìn)行特征點(diǎn)計(jì)算,默認(rèn)為surf -match_conf <float> 特征點(diǎn)檢測(cè)置信等級(jí),最近鄰匹配距離與次近鄰匹配距離的比值,surf默認(rèn)為0.65,orb默認(rèn)為0.3 -conf_thresh <float> 兩幅圖來(lái)自同一全景圖的置信度,默認(rèn)為1.0 -ba (reproj|ray) 光束平均法的誤差函數(shù)選擇,默認(rèn)是ray方法 -ba_refin

15、e_mask (mask) - -wave_correct (no|horiz|vert) 波形校驗(yàn) 水平,垂直或者沒(méi)有 默認(rèn)是horiz -save_graph <file_name> 將匹配的圖形以點(diǎn)的形式保存到文件中, Nm代表匹配的數(shù)量,NI代表正確匹配的數(shù)量,C表示置信度/*圖像融合參數(shù):*/ -warp (plane|cylindrical|spherical|fisheye|stereographic|compressedPlaneA2B1|compressedPlaneA1.5B1|compressedPlanePortraitA2B1|compressedPlan

16、ePortraitA1.5B1|paniniA2B1|paniniA1.5B1|paniniPortraitA2B1|paniniPortraitA1.5B1|mercator|transverseMercator) 選擇融合的平面,默認(rèn)是球形 -seam_megapix <float> 拼接縫像素的大小 默認(rèn)是0.1 - -seam (no|voronoi|gc_color|gc_colorgrad) 拼接縫隙估計(jì)方法 默認(rèn)是gc_color -compose_megapix <float> 拼接分辨率,默認(rèn)為-1 -expos_comp (no|gain|gain_

17、blocks) 光照補(bǔ)償方法,默認(rèn)是gain_blocks -blend (no|feather|multiband) 融合方法,默認(rèn)是多頻段融合 -blend_strength <float> 融合強(qiáng)度,0-100.默認(rèn)是5. -output <result_img> 輸出圖像的文件名,默認(rèn)是result,jpg 命令使用實(shí)例,以及程序運(yùn)行時(shí)的提示:4.3 測(cè)試效果圖14:usb攝像頭拍攝的辦公室90度視角的六張圖像圖15:生成的全景圖OpenCV的圖像拼接模塊效果良好,但是由于考慮到及其缺乏條件的情況,因此算法方面采用了很多很復(fù)雜的方法,如待拼接的圖像順序不明,基于

18、特征點(diǎn)的圖像匹配,迭代優(yōu)化估計(jì)相機(jī)焦距參數(shù)等,耗時(shí)十分長(zhǎng)(此例子中,耗時(shí)大約十幾分鐘)。當(dāng)有合適的硬件配合時(shí),整個(gè)算法流程可以大大簡(jiǎn)化。5.小結(jié)本文檔根據(jù)網(wǎng)上搜集到的部分信息,對(duì)全景拼接算法進(jìn)行了概括性的介紹,并展示了開(kāi)源圖像算法庫(kù)opencv的全景圖拼接效果測(cè)試效果。根據(jù)已有的結(jié)果,可以看出,以opencv全景模塊為算法流程藍(lán)本,過(guò)程過(guò)于復(fù)雜,暫時(shí)無(wú)法實(shí)現(xiàn)實(shí)時(shí)性。而相對(duì)的,利用一些先驗(yàn)知識(shí)(如素材圖像順序)和硬件條件(相機(jī)參數(shù),拍攝約束等),可以大大簡(jiǎn)化圖像拼接算法流程和難度,關(guān)鍵的步驟如圖像幾何模型投影等內(nèi)容,又已經(jīng)搜集到了相關(guān)文獻(xiàn),可以學(xué)習(xí)詳細(xì)推導(dǎo)過(guò)程,從而自行編程實(shí)現(xiàn)完整算法流程。參考資料1. 魚(yú)眼照片生成全景圖算法的研究與實(shí)現(xiàn),程菊明等,計(jì)算機(jī)工程與應(yīng)用,20072. 全景圖生成技術(shù)研究,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論