1. 程式人生 > >全景視訊拼接關鍵技術

全景視訊拼接關鍵技術

轉自https://blog.csdn.net/shanghaiqianlun/article/details/12090595

 

一、原理介紹

        影象拼接(Image Stitching)是一種利用實景影象組成全景空間的技術,它將多幅影象拼接成一幅大尺度影象或360度全景圖,影象拼接技術涉及到計算機視覺、計算機圖形學、數字影象處理以及一些數學工具等技術。影象拼接其基本步驟主要包括以下幾個方面:攝相機的標定、感測器影象畸變校正、影象的投影變換、匹配點選取、全景影象拼接(融合),以及亮度與顏色的均衡處理等,以下對各個步驟進行分析。

攝相機標定

        由於安裝設計,以及攝相機之間的差異,會造成視訊影象之間有縮放(鏡頭焦距不一致造成)、傾斜(垂直旋轉)、方位角差異(水平旋轉),因此物理的差異需要預先校準,得到一致性好的影象,便於後續影象拼接。

相機的運動方式與成像結果之間的關係見下圖。

                

                                                  圖1:相機的運動方式與成像結果之間的關係

 

影象座標變換

        在實際應用中,全景影象的獲得往往需要攝像機以不同的位置排列和不同的傾角拍攝。例如由於機載或車載特性,相機的排列方式不盡相同,不能保證相機在同一面上,如柱面投影不一定在同一個柱面上,平面投影不一定在同一平面上;另外為了避免出現盲區,相機拍攝的時候往往會向下傾斜一定角度。這些情況比較常見,而且容易被忽略,直接投影再拼接效果較差。因而有必要在所有影象投影到某個柱面(或平面)之前,需要根據相機的位置資訊和角度資訊來獲得座標變換後的影象。

理論上只要滿足靜止三維影象或者平面場景的兩個條件中的任何一個,兩幅影象的對應關係就可以用投影變換矩陣表示,換句話說只要滿足這其中任何一個條件,一個相機拍攝的影象可以通過座標變換表示為另一個虛擬相機拍攝的影象。

        一般情況下8引數的透視投影變換最適合描述影象之間的座標關係,其中8引數的矩陣為[m0,m1,m2;m3,m4,m5; m6,m7,1];各引數對應的相機運動表示如下:

                

        如圖2顯示的是相機向下傾斜一定角度拍攝影象,這個角度與m6和m7具有對應關係,如果要獲得校正影象,只需要對8引數矩陣求逆後進行座標變換。

                                              
                                                                     (a) 原始影象

                                  

                                                      圖2:(a) 原始影象;(b)x方向形變效果;(c)傾斜校正後效果

 

影象畸變校正

         由於製造、安裝、工藝等原因,鏡頭存在著各種畸變。為了提高攝像機拼接的精度,在進行影象拼接的時候必須考慮成像鏡頭的畸變。一般畸變分為內部畸變和外部畸變,內部畸變是由於攝影本身的構造為起因的畸變,外部畸變為投影方式的幾何因素起因的畸變。鏡頭畸變屬於內部畸變,由鏡頭產生的畸變一般可分為徑向畸變和切向畸變兩類。徑向畸變就是集合光學中的畸變像差,主要是由於鏡頭的徑向曲率不同而造成的,有桶形畸變和枕型畸變兩種。切向畸變通常被人為是由於鏡頭透鏡組的光學中心不共線引起的,包括有各種生成誤差和裝配誤差等。一般人為,光學系統成像過程當中,徑向畸變是導致影象畸變的主要因素。徑向畸變導致影象內直線成彎曲的像,且越靠近邊緣這種效果越明顯。根據徑向畸變產生的機理,對視訊影象進行校正。效果如圖3(b)所示,經過校正的影象,其有效畫素區域縮小,一般可通過電子放大的方式進行校正,如圖3(c)所示。

                                         

                                         圖3:(a)為原始採集影象;(b)為經過徑向失真校正的影象;(c)為經過放大的影象

 

影象投影變換

        由於每幅影象是相機在不同角度下拍攝得到的,所以他們並不在同一投影平面上,如果對重疊的影象直接進行無縫拼接,會破壞實際景物的視覺一致性。所以需要先對影象進行投影變換,再進行拼接。一般有平面投影、柱面投影、立方體投影和球面投影等。

        平面投影就是以序列影象中的一幅影象的座標系為基準,將其影象都投影變換到這個基準座標系中,使相鄰影象的重疊區對齊,稱由此形成的拼接為平面投影拼接;柱面投影是指採集到的影象資料重投影到一個以相機焦距為半徑的柱面,在柱面上進行全景圖的投影拼接;球面投影是模擬人眼觀察的特性,將影象資訊通過透視變換投影到眼球部分,構造成一個觀察的球面;立方體投影是為了解決球面影射中存在的資料不宜儲存的缺點,而發展出來的一種投影拼接方式,它適合於計算機生成影象,但對實景拍攝的影象則比較困難。如下圖4所示,影象拼接處理流程示意圖。

                             

                                                           圖4:影象拼接處理流程示意圖

 

匹配點選取與標定

        由於特徵點的方法較容易處理影象之間旋轉、仿射、透視等變換關係,因而經常被使用,特徵點包括影象的角點以及相對於其領域表現出某種奇異性的興趣點。Harris等提出了一種角點檢測演算法,該演算法是公認的比較好的角點檢測演算法,具有剛性變換不變性,並在一定程度上具有仿射變換不變性,但該演算法不具有縮放變換不變性。針對這樣的缺點,Lowe提出了具有縮放不變性的SIFT特徵點。

                                    

                                                                      圖5 兩幅影象中標定的匹配特徵點

        如上圖5所示,影象的拼接需要在影象序列中找到有效的特徵匹配點。影象的特徵點尋找直接影響影象拼接的精度和效率。對於影象序列,如果特徵點個數≥4個,則很容易自動標定影象匹配點;如果特徵點很少,影象拼接往往不能取得較為理想的效果。

 

影象拼接融合

        影象拼接的關鍵兩步是:配準(registration)和融合(blending)。配準的目的是根據幾何運動模型,將影象註冊到同一個座標系中;融合則是將配準後的影象合成為一張大的拼接影象。

        在多幅影象配準的過程中,採用的幾何運動模型主要有:平移模型、相似性模型、仿射模型和透視模型。

        影象的平移模型是指影象僅在兩維空間發生了 方向和 方向的位移,如果攝像機僅僅發生了平移運動,則可以採用平移模型。影象的相似性模型是指攝像機本身除了平移運動外還可能發生旋轉運動,同時,在存在場景的縮放時,還可以利用縮放因子 多縮放運動進行描述,因此,當影象可能發生平移、旋轉、縮放運動時,可以採用相似性模型。影象的仿射模型是一個6引數的變換模型,即具有平行線變換成平行線,有限點對映到有限點的一般特性,具體表現可以是各個方向尺度變換系數一致的均勻尺度變換或變換系數不一致的非均與尺度變換及剪下變換等,可以描述平移運動、旋轉運動以及小範圍的縮放和變形。影象的透視模型是具有8個引數的變換模型,可以完美地表述各種表換,是一種最為精確變換模型。

        影象融合技術一般可分為非多解析度技術和多解析度技術兩類。在非多解析度技術中主要有平均值法、帽子函式法、加權平均法和中值濾波法等。多解析度技術主要有高斯金字塔、拉普拉斯金字塔、對比度金字塔,梯度金字塔和小波等。

                                   

                                                                           圖6 柱面全景影象拼接

                                           (a)-(d)為四幅不同視角的影象,(e)為最終拼接得到的柱面全景影象

 

亮度與顏色的均衡處理

        因為相機和光照強度的差異,會造成一幅影象內部,以及影象之間亮度的不均勻,拼接後的影象會出現明暗交替,這樣給觀察造成極大的不便。

        亮度與顏色均衡處理,通常的處理方式是通過相機的光照模型,校正一幅影象內部的光照不均勻性,然後通過相鄰兩幅影象重疊區域之間的關係,建立相鄰兩幅影象之間直方圖對映表,通過對映表對兩幅影象做整體的對映變換,最終達到整體的亮度和顏色的一致性。