首頁 資訊 360度視頻序列全景圖拼接系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

360度視頻序列全景圖拼接系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

來源:泰然健康網(wǎng) 時(shí)間:2024年12月28日 19:20

  1 引言

  通常制作360度全景圖可以使用專業(yè)的全景設(shè)備直接獲取,也可先使用普通的成像設(shè)備拍攝足夠多的具有重疊區(qū)域的圖像序列,然后將這些圖像拼接組成一幅全景圖像。

  由于成本較低,不需要昂貴的專業(yè)設(shè)備,利用序列圖像進(jìn)行全景圖拼接是近年來的研究熱點(diǎn),其中又分為對(duì)靜態(tài)序列圖像拼接的研究,以及對(duì)視頻序列拼接的研究。

  靜態(tài)圖像序列中的每一張圖像都是單獨(dú)拍攝,能夠精確設(shè)置控焦距、曝光等拍攝參數(shù),因而夠獲得較好的成像質(zhì)量,但操作過程卻相對(duì)復(fù)雜。

  視頻序列拍攝操作簡(jiǎn)單,只需使用錄像設(shè)備旋轉(zhuǎn)一周錄制,但不能準(zhǔn)確控制拍攝參數(shù)。旋轉(zhuǎn)過程中光源位置、景物距離的變化,以及拍攝時(shí)出現(xiàn)抖動(dòng)等情況都會(huì)導(dǎo)致視頻序列的成像質(zhì)量較低,給后期拼接工作帶來麻煩。

  本文主要研究視頻序列的拼接,提出了一種視頻序列到全景圖的快速轉(zhuǎn)換方法,通過幀的選取、匹配、拼接等步驟生成全景圖像。

  2 現(xiàn)狀

  目前,用于制作全景圖的軟件很多,其中較著名的有Helmut Dersch公司開發(fā)的PTGUI以及Pablo d'Angelo 為主開發(fā)開源全景攝影圖像拼接軟件hugin等,這些軟件都是基于Helmut Dersch's Panorama Tools,通過控制點(diǎn)對(duì)靜態(tài)圖像拼接,輸出一張更大幅面的全景圖像。

  另外還有一些用于制作全景圖的手機(jī)應(yīng)用,如利用視頻制作全景圖的bubbli,目前該應(yīng)用只能運(yùn)行在系統(tǒng)為ios7以上的設(shè)備。

  3 關(guān)鍵算法

  3.1 圖像匹配

  圖像匹配技術(shù)是一種通過對(duì)圖像內(nèi)容、特征、結(jié)構(gòu)、關(guān)系、紋理及灰度等對(duì)應(yīng)關(guān)系,相似性和一致性的分析,尋求相同圖像目標(biāo)的方法。目前圖像匹配的方法有很多種,根據(jù)圖像的維數(shù)可以分為 2D 和 2D 匹配、2D和 3D 匹配、3D和 3D匹配;根據(jù)圖像特征提取的層次可以分為基于灰度的匹配、基于特征的匹配。

  本系統(tǒng)采用了基于特征的圖像匹配方法。

  基于特征的匹配方法首先在原始圖像中提取特征,然后用相似性度量函數(shù)和約束條件確定幾何變換,最后將該變換關(guān)系作用于待匹配圖像。常用的特征匹配基元包括區(qū)域、邊緣、輪廓、直線、興趣點(diǎn)、顏色、紋理、矩等顯著特征,總的概括為點(diǎn)、邊緣及面等特征,由于面特征提取過程比較復(fù)雜,耗時(shí)較多,因此基于特征的匹配算法主要研究利用點(diǎn)特征和邊緣特征進(jìn)行匹配。

  3.2 Sift算法

  尺度不變特征變換算法,即 SIFT(Scale Invariant Feature Transform)算法是一種提取局部特征的算法,由 David Lowe 于 1999 年提出的一種基于尺度空間的,對(duì)圖像平移、旋轉(zhuǎn)、縮放等特性保持不變的圖像局部特征描述子。

  相較于其它特征提取算法,SIFT 算法對(duì)亮度變化、尺度縮放、旋轉(zhuǎn)、噪聲和仿射變換有很好的魯棒性,特征描述子信息豐富,獨(dú)立性好、算法穩(wěn)定。

  SIFT算法在尺度空間尋找極值點(diǎn),提取位置、尺度、旋轉(zhuǎn)不變量其構(gòu)造步驟分為尺度空間的構(gòu)造、檢測(cè)尺度空間的極值點(diǎn)、精確確定極值點(diǎn)位置、特征點(diǎn)方向分配、生成特征點(diǎn)描述子五個(gè)具體步驟。

  SIFT 特征點(diǎn)描述子的生成過程如下:

  1) 以關(guān)鍵點(diǎn)為圓心將關(guān)鍵點(diǎn)鄰域旋轉(zhuǎn) θ,θ 為關(guān)鍵點(diǎn)的梯度主方向,從而保證了旋轉(zhuǎn)的不變性。

  2) 在旋轉(zhuǎn)后的圖像中,以關(guān)鍵的中心取 16×16 的鄰域窗口,即為關(guān)鍵點(diǎn)的鄰域窗口,每個(gè)小格代表關(guān)鍵點(diǎn)鄰域窗口中的一個(gè)像素,箭頭的長(zhǎng)度為像素的模值,箭頭的方向?yàn)橄袼氐姆较?,這個(gè)方向是旋轉(zhuǎn)后的像素方向。

  3) 將 16×16 的矩形窗口均勻分為 16 個(gè) 4×4 個(gè)子區(qū)域,采用高斯模糊的方法,然后計(jì)算每個(gè)區(qū)域中 8 個(gè)方向的梯度累加值。

  4) 得到特征點(diǎn)描述子特征向量,為 4×4×8=128 維向量。經(jīng)過以上的變換,SIFT 特征向量已經(jīng)剔除了尺度變換、旋轉(zhuǎn)變化的影響,接著將特征點(diǎn)描述子進(jìn)行歸一化處理進(jìn)一步減少光照的影響。此外,為了減少大梯度值的影響,為其設(shè)定一個(gè)閾值為 0.2,如果向量中某一維的值大于 0.2,則將其重置為 0.2,并重新進(jìn)行歸一化處理。

  3.3 RANSAC算法

  SIFT 算法將待匹配的特征點(diǎn)用 BBF 方法找到 k 個(gè)最近鄰,然后利用最近鄰比率方法判斷特征點(diǎn)的匹配度。最近鄰比率方法廣泛用于基于特征的圖像匹配,該方法簡(jiǎn)單方便并且比較穩(wěn)定,但匹配的準(zhǔn)確率往往不夠理想。需通過其他方法提高 SIFT 特征點(diǎn)的匹配精度。

  RANSAC 算法是一種魯棒參數(shù)估計(jì)方法,它通過迭代的方法對(duì)一組觀測(cè)數(shù)據(jù)集進(jìn)行數(shù)學(xué)模型擬合,然后采用隨機(jī)抽樣驗(yàn)證去除噪聲點(diǎn)。其優(yōu)點(diǎn)是可靠性強(qiáng)、精度高、魯棒性強(qiáng),對(duì)圖像噪聲和提取不準(zhǔn)確的特征點(diǎn)有強(qiáng)健的承受能力,并具有較好的剔除誤匹配點(diǎn)的能力,SIFT 匹配對(duì)通過 RANSAC 幾何校驗(yàn)之后可以有效濾除錯(cuò)誤匹配,從而使得結(jié)合 RANSAC 的 SIFT 的性能更加優(yōu)良,應(yīng)用更為廣泛。

  3.4 圖像融合

  圖像融合是采用某種算法對(duì)兩幅或多幅圖像進(jìn)行綜合處理,最終形成一幅新的圖像。根據(jù)融合處理所處的階段不同,圖像的融合處理通??梢栽谌齻€(gè)不同層次上進(jìn)行像素級(jí)圖像融合、特征級(jí)圖像融合以及決策級(jí)圖像融合。

  像素級(jí)圖像融合方法可大體分為七類加權(quán)融合和主成分分析圖像融合方法、假彩色圖像融合方法、基于馬爾可夫隨機(jī)場(chǎng)的圖像融合方法、基于調(diào)制的圖像融合方法、基于統(tǒng)計(jì)的圖像融合方法、基于神經(jīng)網(wǎng)絡(luò)的圖像融合方法以及基于多分辨率分解的圖像融合方法。

  其中最直接的融合方法就是對(duì)源圖像進(jìn)行加權(quán)平均作為融合結(jié)果。加權(quán)平均運(yùn)算提高了融合圖像的信噪比,但削弱了圖像的對(duì)比度,在一定程度上使得圖像中的邊緣、輪廓變模糊了。這種方法具有算法簡(jiǎn)單、融合速度快的優(yōu)點(diǎn),適用于序列圖像的融合。

  4 系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

  4.1 需求分析

  本系統(tǒng)主要為用戶提供視頻轉(zhuǎn)制全景圖的功能,同時(shí)還包括對(duì)全景圖的管理功能、展示功能以及分享功能。

  圖3–1系統(tǒng)用例圖

  1.新建任務(wù)

  用戶上傳自拍的視頻進(jìn)行全景圖制作。

  2.任務(wù)管理

  用戶可以進(jìn)入任務(wù)列表頁面查看任務(wù)狀態(tài),任務(wù)完成后可以對(duì)其進(jìn)行查看、共享、轉(zhuǎn)載、刪除等操作。

  在進(jìn)行中的任務(wù)分為以下狀態(tài):進(jìn)行中、已成功、失敗等狀態(tài)

  共享操作可以將全景圖添加到分享頁面

  轉(zhuǎn)載操作可以獲得全景圖轉(zhuǎn)載代碼,通過復(fù)制、粘貼代碼可以將全景圖片嵌入其他頁面

  刪除操作可以刪除需要?jiǎng)h除的全景圖

  3.分享

  默認(rèn)情況下,全景圖片對(duì)其他用戶不可見,可以將圖片添加到共享頁面供其他用戶使用,也可以取消共享。

  4.2程序架構(gòu)

  本系統(tǒng)分為用戶交互端和視頻轉(zhuǎn)換服務(wù)端兩部分。

  用戶交互端負(fù)責(zé)接收用戶請(qǐng)求,向視頻轉(zhuǎn)換服務(wù)端提交任務(wù),并提供對(duì)全景圖的管理功能,采用php、html5實(shí)現(xiàn)

  視頻轉(zhuǎn)換服務(wù)端接受用戶端提交的任務(wù)請(qǐng)求并管理任務(wù)隊(duì)列,完成視頻文件到全景圖的轉(zhuǎn)換工作,采用c++語言實(shí)現(xiàn),基于opencv庫(kù)。

  系統(tǒng)架構(gòu)圖

  用戶提交視頻后,交互端先向服務(wù)端申請(qǐng)任務(wù)唯一標(biāo)識(shí),在獲得標(biāo)識(shí)后完成視頻上傳工作,向服務(wù)端提交任務(wù)請(qǐng)求。服務(wù)端在接收到新任務(wù)請(qǐng)求后,先將請(qǐng)求放就請(qǐng)求隊(duì)列。由任務(wù)控制器從隊(duì)列中取出任務(wù),并啟動(dòng)視頻轉(zhuǎn)換程序,完成轉(zhuǎn)換工作,最后將任務(wù)結(jié)果返饋給交互端。

  系統(tǒng)時(shí)序圖

  4.3視頻轉(zhuǎn)換程序設(shè)計(jì)

  視頻轉(zhuǎn)換程序是本系統(tǒng)最核心部分,負(fù)責(zé)完成視頻序列到全景圖的轉(zhuǎn)換任務(wù)。

  轉(zhuǎn)換任務(wù)分為視頻抽幀、幀匹配與拼接、全景圖生成三部分工作。

  1. 視頻抽幀

  視頻轉(zhuǎn)全景圖的基本思想就是對(duì)視頻中的幀進(jìn)行拼合,然而視頻中幀數(shù)量巨大,相鄰幀之間重復(fù)度大,一個(gè)時(shí)長(zhǎng)60秒幀率30fps的視頻包含1800個(gè)幀,如果對(duì)視頻中全部幀進(jìn)行處理,將耗費(fèi)相當(dāng)長(zhǎng)的時(shí)間,這樣做不僅效率低下,而且完全沒有必要。

  在本系統(tǒng)中,規(guī)定輸入的視頻以勻速旋轉(zhuǎn)一周的方式錄制,在進(jìn)行視頻轉(zhuǎn)換時(shí),只需要抽取部分幀便可完成拼接工作。

  設(shè)置抽取幀數(shù)為N,根據(jù)視頻總幀數(shù)算出幀距間隔INTVAL,在理想情況下,從第一幀開始,每隔INTVAL抽取一幀與前幀拼合,直至視頻結(jié)束。

  但實(shí)際情況下,視頻錄制的效果可能并不理想,等間隔抽取的幀未必是最適合的幀,因此每抽取一幀時(shí),需要對(duì)該幀的畫面質(zhì)量以及與前幀的匹配效果進(jìn)行評(píng)估,如果當(dāng)前幀不能達(dá)到要求,則需要在間隔范圍內(nèi)逐幀回溯尋找更合適的幀。

  2.幀匹配與拼接

  每抽取一幀時(shí),將已拼合圖A與當(dāng)前幀B進(jìn)行匹配。

  首先利用sift算法分別提取兩張A、B的特征點(diǎn),然后利用距離比值法篩選匹配點(diǎn)。再利用RANSAC算法對(duì)特征點(diǎn)進(jìn)行分析,計(jì)算出最佳匹配的變換矩陣H,利用H對(duì)幀B做投影變換,獲得B在A中四個(gè)頂點(diǎn)的坐標(biāo)。

  根據(jù)變換后的坐標(biāo)等參數(shù)評(píng)估當(dāng)前幀是否符合要求,如符合則繼續(xù)進(jìn)行拼接,否則放棄當(dāng)前幀。

  在進(jìn)行拼接時(shí),首先調(diào)整B的亮度與A匹配,然后根據(jù)變換坐標(biāo)將B投射到A上,重合部分使用加權(quán)平均法進(jìn)行融合。

  3. 全景圖生成

  在對(duì)抽取的幀依次進(jìn)行拼接后,會(huì)得到一幅初始全景圖片,對(duì)初始全景圖進(jìn)行處理后,將得到最終的全景圖像。

  首先,要對(duì)初始全景圖進(jìn)行首尾對(duì)齊。

  初始全景圖首部和尾部會(huì)出現(xiàn)重復(fù)區(qū)域,因此需要對(duì)起始部分和和結(jié)尾部分再進(jìn)行一次匹配,根據(jù)得到的變換坐標(biāo)找到重復(fù)區(qū)域邊界,然后對(duì)初始全景圖進(jìn)行裁剪,將重復(fù)部分去除。

  其次,要去除初始全景圖中的空白區(qū)域。

  在拼接過程中,由于對(duì)幀進(jìn)行了投影變換,原來矩形圖像會(huì)出變形變,在拼接圖像的頂部和底部都會(huì)出現(xiàn)空白區(qū)域。為了去除這些空白區(qū)域,在每一次拼接完成時(shí),都要記錄空白區(qū)域的范圍,并通過比較得到空白區(qū)域的最大邊界值,最后在生成全景圖時(shí),根據(jù)最大邊界值裁去空白區(qū)域。

  轉(zhuǎn)換程序流程圖

  4.4視頻轉(zhuǎn)換程序的實(shí)現(xiàn)

  轉(zhuǎn)換程序采用C++語言實(shí)現(xiàn),基于OPENCV視頻庫(kù)。主要代碼如下:

  5測(cè)試

  本系統(tǒng)的測(cè)試主要采用黑盒測(cè)試。

  5.1測(cè)試環(huán)境

  (1)硬件環(huán)境

  交互端硬件:ios智能設(shè)備、android智能設(shè)備、pc。

  服務(wù)端硬件:cpu: E5506 2.13GHZ 內(nèi)存:4G

  (2)系統(tǒng)環(huán)境

  交互端:支持html5的瀏覽器

  服務(wù)端:windows server 2008

  5.2系統(tǒng)功能測(cè)試

  5.3運(yùn)行效果圖

  6 總結(jié)

  本項(xiàng)目研究了從視頻序列到360度全景圖的轉(zhuǎn)換系統(tǒng),主要利用特征匹配等算法實(shí)現(xiàn)全景圖的轉(zhuǎn)換功能,采用html5技術(shù)實(shí)現(xiàn)前端交互功能。

  從所生成的全景圖效果看,本系統(tǒng)與專業(yè)設(shè)備與軟件生成還有一定差距,但本系統(tǒng)具有更好的兼容性,操作方便、快捷,適合用戶的一般性要求。

  參考文獻(xiàn)

  [1] 朱云芳,葉秀清,顧偉康.視頻序列的全景圖拼接技術(shù).浙江大學(xué),2006

  [2] 江鐵,朱桂斌,孫奧.全景圖像拼接技術(shù)研究現(xiàn)狀綜述. 重慶通信學(xué)院,2012

  [3] 汪松.基于SIFT算法的圖像匹配方法研究.西安電子科技大學(xué),2013

  [4] 趙燁,蔣建國(guó),洪日昌.基于RANSAC的SIFT匹配優(yōu)化.合肥工業(yè)大學(xué),2014

  [5] 維基百科.panotools.http://wiki.panotools.org/Main_Page

相關(guān)知識(shí)

基于SpringBoot+Vue健身房管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(源碼+部署說明+演示視頻+源碼介紹)(2)
個(gè)人健康管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) (定稿).docx
個(gè)人健康管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
健康管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
健身房管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
健身房管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
遠(yuǎn)程健康監(jiān)護(hù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
智能嬰兒監(jiān)護(hù)系統(tǒng)的設(shè)計(jì).doc
【開題報(bào)告】基于JavaWeb的有機(jī)蔬菜銷售系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
背景高清圖片

網(wǎng)址: 360度視頻序列全景圖拼接系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) http://m.gysdgmq.cn/newsview882410.html

推薦資訊