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

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

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

  1 引言

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

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

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

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

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

  2 現(xiàn)狀

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

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

  3 關(guān)鍵算法

  3.1 圖像匹配

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

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

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

  3.2 Sift算法

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

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

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

  SIFT 特征點描述子的生成過程如下:

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

  2) 在旋轉(zhuǎn)后的圖像中,以關(guān)鍵的中心取 16×16 的鄰域窗口,即為關(guān)鍵點的鄰域窗口,每個小格代表關(guān)鍵點鄰域窗口中的一個像素,箭頭的長度為像素的模值,箭頭的方向為像素的方向,這個方向是旋轉(zhuǎn)后的像素方向。

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

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

  3.3 RANSAC算法

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

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

  3.4 圖像融合

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

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

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

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

  4.1 需求分析

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

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

  1.新建任務(wù)

  用戶上傳自拍的視頻進行全景圖制作。

  2.任務(wù)管理

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

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

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

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

  刪除操作可以刪除需要刪除的全景圖

  3.分享

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

  4.2程序架構(gòu)

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

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

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

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

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

  系統(tǒng)時序圖

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

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

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

  1. 視頻抽幀

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

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

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

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

  2.幀匹配與拼接

  每抽取一幀時,將已拼合圖A與當前幀B進行匹配。

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

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

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

  3. 全景圖生成

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

  首先,要對初始全景圖進行首尾對齊。

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

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

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

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

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

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

  5測試

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

  5.1測試環(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)功能測試

  5.3運行效果圖

  6 總結(jié)

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

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

  參考文獻

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

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

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

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

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

相關(guān)知識

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

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

推薦資訊