360度視頻序列全景圖拼接系統的設計與實現

2020-11-24 人民網

[摘 要] 提出了一種視頻序列到全景圖的快速轉換方法。首先對視頻進行抽幀, 獲得初始幀序列,利用特徵點匹配及RANSAC方法計算幀匹配質量及匹配區域, 選取匹配質量高的幀進行拼接並通過加權平均法進行圖像融合,最後得到全景圖。

[關鍵詞] 特徵匹配 RANSAC 視頻 全景圖

1 引言

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

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

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

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

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

2 現狀

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

另外還有一些用於製作全景圖的手機應用,如利用視頻製作全景圖的bubbli,目前該應用只能運行在系統為ios7以上的設備。

3 關鍵算法

3.1 圖像匹配

圖像匹配技術是一種通過對圖像內容、特徵、結構、關係、紋理及灰度等對應關係,相似性和一致性的分析,尋求相同圖像目標的方法。目前圖像匹配的方法有很多種,根據圖像的維數可以分為 2D 和 2D 匹配、2D和 3D 匹配、3D和 3D匹配;根據圖像特徵提取的層次可以分為基於灰度的匹配、基於特徵的匹配。

本系統採用了基於特徵的圖像匹配方法。

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

3.2 Sift算法

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

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

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

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

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

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

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

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

3.3 RANSAC算法

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

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

3.4 圖像融合

圖像融合是採用某種算法對兩幅或多幅圖像進行綜合處理,最終形成一幅新的圖像。根據融合處理所處的階段不同,圖像的融合處理通常可以在三個不同層次上進行像素級圖像融合、特徵級圖像融合以及決策級圖像融合。

像素級圖像融合方法可大體分為七類加權融合和主成分分析圖像融合方法、假彩色圖像融合方法、基於馬爾可夫隨機場的圖像融合方法、基於調製的圖像融合方法、基於統計的圖像融合方法、基於神經網絡的圖像融合方法以及基於多解析度分解的圖像融合方法。

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

4 系統的設計與實現

4.1 需求分析

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

圖3–1系統用例圖

1.新建任務

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

2.任務管理

用戶可以進入任務列表頁面查看任務狀態,任務完成後可以對其進行查看、共享、轉載、刪除等操作。

在進行中的任務分為以下狀態:進行中、已成功、失敗等狀態

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

轉載操作可以獲得全景圖轉載代碼,通過複製、粘貼代碼可以將全景圖片嵌入其他頁面

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

3.分享

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

4.2程序架構

本系統分為用戶交互端和視頻轉換服務端兩部分。

用戶交互端負責接收用戶請求,向視頻轉換服務端提交任務,並提供對全景圖的管理功能,採用php、html5實現

視頻轉換服務端接受用戶端提交的任務請求並管理任務隊列,完成視頻文件到全景圖的轉換工作,採用c++語言實現,基於opencv庫。

系統架構圖

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

系統時序圖

4.3視頻轉換程序設計

視頻轉換程序是本系統最核心部分,負責完成視頻序列到全景圖的轉換任務。

轉換任務分為視頻抽幀、幀匹配與拼接、全景圖生成三部分工作。

1. 視頻抽幀

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

在本系統中,規定輸入的視頻以勻速旋轉一周的方式錄製,在進行視頻轉換時,只需要抽取部分幀便可完成拼接工作。

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

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

2.幀匹配與拼接

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

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

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

在進行拼接時,首先調整B的亮度與A匹配,然後根據變換坐標將B投射到A上,重合部分使用加權平均法進行融合。

3. 全景圖生成

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

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

初始全景圖首部和尾部會出現重複區域,因此需要對起始部分和和結尾部分再進行一次匹配,根據得到的變換坐標找到重複區域邊界,然後對初始全景圖進行裁剪,將重複部分去除。

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

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

轉換程序流程圖

4.4視頻轉換程序的實現

轉換程序採用C++語言實現,基於OPENCV視頻庫。主要代碼如下:

5測試

本系統的測試主要採用黑盒測試。

5.1測試環境

(1)硬體環境

交互端硬體:ios智能設備、android智能設備、pc。

服務端硬體:cpu: E5506 2.13GHZ 內存:4G

(2)系統環境

交互端:支持html5的瀏覽器

服務端:windows server 2008

5.2系統功能測試

5.3運行效果圖

6 總結

本項目研究了從視頻序列到360度全景圖的轉換系統,主要利用特徵匹配等算法實現全景圖的轉換功能,採用html5技術實現前端交互功能。

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

參考文獻

[1] 朱雲芳,葉秀清,顧偉康.視頻序列的全景圖拼接技術.浙江大學,2006

[2] 江鐵,朱桂斌,孫奧.全景圖像拼接技術研究現狀綜述. 重慶通信學院,2012

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

[4] 趙燁,蔣建國,洪日昌.基於RANSAC的SIFT匹配優化.合肥工業大學,2014

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

(責編:郝孟佳、熊旭)

相關焦點

  • 什麼是360度全景圖,360度全景圖有什麼用
    談起360度全景圖,有很多人都是知道但是卻並不太清楚,什麼是360度全景圖?360度全景圖有什麼用?今天小九就和大家一起來聊一下。什麼是360度全景圖?談起360度全景圖,堅信對喜好拍攝的小夥伴們而言一定不生疏,360度全景圖對比於一般的拍攝製作而言較大 的差別便是可互動和沉浸式體驗。
  • 360度全景行車記錄儀十大排名
    四路高清攝像頭分別安裝在前後左右,在與主機連接,拍攝下車身周圍360度的圖像,經過主機核心算法的矯正,得到車身周圍360度無死角的全景圖。在顯示在車內DVD上。在倒車、泊車時給予車主最直觀的視野,可以清楚的看到車後是否有障礙物,與傍邊車位上汽車的距離等。有效的避免了車主在倒車、泊車時因為視野盲區,發生碰撞、刮傷等故事。
  • 谷歌推出全新高質量拼接算法,可生成更清晰更順滑的360度視頻
    谷歌在2015年推出了Jump,以簡化從捕捉到回放的VR視頻製作。高質量的VR相機能讓視頻捕捉更容易,而Jump Assembler可以使VR內容製作者更快、更方便和更實惠的實現自動拼接。藉助先進的計算機視覺算法和Google數據中心的計算能力,Jump Assembler可創建清晰、逼真的圖像拼接,形成身臨其境的360度3D視頻。今天,谷歌在Jump Assembler中引入了一個選項,使用基於多視點立體圖的全新高質量拼接算法。這種算法能夠產生與谷歌標準算法一樣的無縫3D全景圖,但是它在具有複雜圖層和重複圖案的場景中留下的偽影更少。
  • [圖]向維拉·魯賓嶺說再見:好奇號傳回360度全景告別視頻
    不過在正式離開之前,好奇號已經拍攝了一段360度高清全景視頻,讓我們來看看吧。 據悉這段視頻拍攝於12月19日(Sol 2265),由美國宇航局的好奇號火星探測器上的桅杆相機(Mastcam)拍攝,並將這些全景照片拼接而成的
  • 360度全景圖是如何生成的?
    360度全景圖以其栩栩如生的互動和強沉浸性的感受,一直備受許多攝影愛好者的喜愛。但是針對一般的觀賞者來講,這類能夠360度隨意收看的照片,還是具備奇妙的風採。今日,小九也講一講一張360度全景圖是怎樣轉化生成的吧!
  • 本田鋒範360度全景行車記錄儀,開車安全倒車方便
    這位本田鋒範車主雖然說不上新手,開車都有好幾年了,但是他說現在開車上路還是很「可怕」,如今碰瓷黨多,而且全國車輛暴增,很多人都開車上路,其中不乏許多「馬路殺手」,發生擦擦碰碰也很正常,所以不能沒有360度全景記錄儀;與尚韻客服預約了時間,果斷來改裝一套360度全景行車記錄儀系統。
  • NASA公布數字版銀河系360度全景圖
    (原標題:NASA繪出首張銀河系全景圖 200萬張照片拼接成)據參考消息23日報導 西班牙《阿貝賽報》3月21日報導,美國航天局(NASA)公布了數字版銀河系360度全景圖
  • 大切諾基改裝360度全景行車記錄儀_易車網
    對於新手來說,倒車還不是很容易的,不過現在有了360度全景倒車影像就簡單多了,360度全景倒車影像是一套通過車載顯示屏幕觀看汽車四周360度全景融合,超寬視角,無縫拼接的適時圖像信息(鳥瞰圖像),了解車輛周邊視線盲區,幫助汽車駕駛員更為直觀、更為安全地停泊車輛的泊車輔助系統。
  • 360全景影像十佳品牌,2020年十大360全景排名
    而360全景影像不僅僅可以掃除盲區,還可以全方位防瓷黨。近日,汽車後市場聯合十多家網站對車主進行調查,從功能,品質,服務等方面選出了2020年十大360全景影像品牌,希望為車主在選擇的時候提供參考: 排名NO.1 道可視 道可視360度全景行車輔助系統由四路超高清,220°超廣角攝像頭+主機組成。
  • 8K星光級全景相機360Starlight正式發布!
    360Starlight機身上環布的四枚190°FOV超清魚眼鏡頭,每一枚鏡頭都可以實現4K直播流的實時影像採集,得益於鏡頭數量的增加與大視場角的到來,在拼接時可以裁切掉邊緣畸變較大和畫質較差的區域進行拼接。和雙鏡頭全景相機相比,直播畫面的畫質更加均勻。車載夜景拍攝被認為是一個極具挑戰的應用場景,要想獲得完美的夜拍效果對畫面清晰度以及純淨度的要求近乎苛刻。
  • 小小神器配手機 就能拍攝360度全景影像
    這個神器不用電不怕水  夾在手機上就能拍360度全景  只需要在手機上夾一個小小的神器,就可以不用移動手機而得到360度的全景照片或者視頻,這個神器還不怕水不用電,拍出的照片也不重疊,聽起來是不是還挺神奇的,這個神器就是科博會上展出的一款集創新和潮品於一身的「馬克小V」VR取像器。
  • (夏雲)再做360度球形全景圖
    閒在家,整理照片,看到許多當年拍攝的糖水片、風景照,忽然腦洞大開,何不做幾張360度球形全景圖?說做就做,於是立刻找片子,以前自己做過這類全景圖,時間久了,漸漸淡忘了,昨天重新拾起來,重溫了一遍做球形全景圖的過程。
  • 長圖預警!月球背面全景圖震撼發布 80張照片拼接360°展示月背全貌
    月球背面全景圖震撼發布 80張照片拼接360°展示月背全貌  黃琨 • 2019-01-11 13:46:01 來源:前瞻網
  • 「好奇號」探測器再度傳回火星360度全景圖
    「好奇號」探測器再度傳回火星360度全景圖 (1/1) 「← →」 可以實現快速翻頁
  • 十堰汽車改裝升級日產逍客加裝360全景可視泊車影像系統前沿車改
    日產逍客加裝道可視360度全景倒車影像系統關注車的朋友,肯定知道AVM全景式監控影像系統,又名360度全景倒車影像系統,最早出現是在2008年海外版的奧德賽,後來英菲尼迪上也配置了該系統。油漆都做了好幾次還不是很滿意效果、這次終於下決心來升級360全景泊車記錄儀系統。
  • 360度全景行車記錄儀十大品牌排行榜,哪個牌子最好?
    2020年中國科技迅猛崛起,360度全景行車記錄儀十大品牌排行榜,哪個牌子口碑最好?性價比最高? 汽車360度全景技術發展至今,已經有十多個年頭了,技術日漸成熟。現在許多高端新車出廠就自帶360度全景了。車主們想在自己的車上安裝360度全景影像,也比較方便,現在賣家一般都會包安裝,都不用自己動手,他們會全部裝好。
  • 3d全景是什麼意思?3d全景圖怎麼做的
    對於現如今的網際網路應用我們也從最初的圖文進入了現如今的短視頻爆發,同時還不斷有新的技術被開發出並進人們的視線。3d全景便是如此,它的出現給我們帶來很多以往圖文視頻所不能達到的體驗。3d全景是什麼呢意思?3d全景圖又被很多人稱為三維全景和vr全景,實際上是一種新的展現方式,不同以往的是能夠給人帶來很好的沉浸感,對所展現的空間有一種仿佛身臨其境般的體驗。
  • Google地球增加360度全景圖,深度集成360 Cities
    它從來沒有停止給我們帶來驚喜.這不,它又 添加)了一種讓我們發現世界的新方式:360度全景圖. 打開Google地球,你會發現多了一個新的圖層:照片.這個圖層不僅包含來自 Panoramio(2007年7月被Google 收購)社區的2D照片,還包含來自 360cities.net的全景圖片.Google 此前已將360 Cities集成到"圖片庫"圖層下,但此次看來是更深度的集成,帶來全新的視覺體驗.
  • 360度航拍 全球城市3D效果全景圖
    360度航拍 全球城市3D效果全景圖 (1/15) "← →"翻頁
  • 保時捷卡宴升級大屏導航360度全景行車記錄儀
    升級車型:卡宴升級項目:大屏導航,360度全景行車記錄儀升級功能:大屏導航功能強大,電話藍牙音樂,高清視頻播放,百度地圖導航,高德地圖導航,上網功能,酷狗音樂,QQ音樂,等,隨著生活水平的提高,現在有車一族的人越來越多了,這可苦了我剛拿到駕照的新手。