計算機視覺方向簡介 二 陣列相機立體全景拼接

2021-08-15 06:17:33 字數 1971 閱讀 4909

全景相機(詳見《5分鐘了解全景相機》)現在在日常生活中已經比較常見,不同的全景相機外觀、效能、**等差別還是挺大的(詳見《全景相機哪家強?》)。消費級全景相機主要用於生活**、個人直播等,而專業級全景相機可用於專業全景直播、專業vr內容製作、影視拍攝等。

先來看看硬體設計方案。主要有如下兩種設計方案:(a)切向設計和(b)徑向設計。切向設計中一半相機負責立體全景圖中的左檢視,一半負責右檢視。徑向布局設計中每個相機同時負責左右檢視中的一部分。徑向設計只需要在相鄰影象間進行插值,而切向設計需要間隔乙個相機進行插值,這使得基線增大一倍,難度也更高。因此,徑向設計更適合大圓盤半徑而切向設計更適合於小圓盤半徑。

相機的數目和引數如何選擇?

我們知道硬體設計是非常重要的,好的硬體平台可以極大方便演算法的開發和除錯,避免走彎路。這對於視覺效果要求極高的立體全景裝置而說,有過之而無不及。陣列圓盤的半徑、相機數目、視場角有嚴格的約束關係。

硬體設計完成後,就到了最重要的環節:立體全景拼接演算法。拼接演算法流程圖如下圖所示:

1、首先需要對所有的相機進行標定,得到每個相機的內參和外參。

2、稠密光流場計算。該演算法將水平方向的光流近似作為深度的倒數(視差)。該光流演算法可以保持較清晰的邊緣,如下圖所示。(a)、(b)是輸入的兩幀,(c)是該方法得到的保持邊界清晰的光流場。對(d)中(第1幀圖)的乙個小區域,在(e)中(第2幀圖)較大範圍內進行搜尋並計算得到乙個歸一化的誤差平方和(f)。根據塊光流及其置信度圖(g),從而得到用色彩、飽和度、明度表示的初始的光流(h),最後經過雙邊濾波等後處理方法得到最終邊界清晰的光流場(i)。

3、**校正。為了能夠得到較大的**範圍,該陣列全景相機都設定為自動**模式。但這會帶來乙個嚴重的後果,就是相鄰的相機因為朝向不同,**量可能會差距特別大(能夠達到3倍)。這不僅會造成拼接困難,還會因為左右眼**差異過大給3d效果帶來極大的不適感。如下圖所示,(a)、(b)、(c)中上半部分表示立體全景圖中的左檢視,下半部分表示右檢視。(a)是未進行**校正的結果,左右圖**差別較大(b)是hdr校正結果,可以看到校正後出現了過曝,(c)是本演算法校正後的結果。

4、融合。融合方法比較複雜,這裡不再贅述,詳見最後的參考資料。最後對每個畫素進行了基於間隔的融合,我們得到了兩張全景圖,一張對應左眼一張對應右眼。

該方法也並不是盡善盡美,在一些情況下會出現比較明顯的拼接問題。下圖列舉幾個例子:

(a) 物體距離鏡頭特別近時,拼接會出錯,圖中大猩猩距離鏡頭大概15cm。(b) 細長的物體在光流計算中很容易被遺漏,這會導致圖中麥克風杆的鬼影效果。 (c) 半透明的物體表面會產生變形. (d) 少部分情況下重複紋理區域的光流會出現誤匹配。

雖然兩張圖光流計算只需5s,但是一次同時輸入16張圖,前後向光流需要各算一次,所以主要的時間耗費在光流的計算上了。每張立體全景圖平均處理時間分布如下圖所示:

google jump 原理:

anderson r, gallup d, barron j t, et al. jump: virtual reality video[j]. acm transactions on graphics, 2016, 35(6):198.

facebook surround360的開源硬體設計和**:

計算機視覺 相機標定

brycezou 163.com 下圖基本展示了一些重要的概念 點 o 與 xc,y c,zc 三個軸組成的座標係為相機座標系,其中,原點 o 為相機光心,zc 為相機的光軸,光軸和成像平面 xo 1y垂直,且光軸與成像平面的交點為影象的主點o1 oo1 為相機的焦距 f xcoy c平面和成像平面...

計算機視覺那些事 相機選擇

相機可分為線陣相機和面陣相機,線陣相機以ccd為主,只有一行感光單元 彩色線陣有三個通道,可使用三行感光單元 線陣相機每次輸入一行影象資料,每次輸出一行影象資料 面陣相機每次輸入若干行的影象並以幀方式輸出影象資料。線陣相機通常用行頻為單位 khz,如 12khz 表示相機在 1 秒鐘內最多能採集 1...

計算機視覺常識(研究方向簡介 需要的知識儲備)

計算機視覺領域包括的主要領域有影象分割 影象資訊預處理 三維重建和模式識別 包括對靜態 動態物體的識別與理解 1 影象分割 影象分割是影象識別和 計算機視覺 至關重要的預處理。沒有正確的分割就不可能有正確的識別。但是,進行分割僅有的依據是影象中畫素的亮度及顏色,由計算機自動處理分割時,將會遇到各種困...