影像拼接(image stitching)是指將兩張或更多的有重疊部分的影像,拼接成一張全景圖或是高解析度影像的技術。影像拼接有兩大步驟:影像對準(image alignment)和影像混合(blending),相關的應用有[1]:
- 影像穩定(image stabilization)
- 影片摘要(video summarization)
- 背景擷取
- 全景圖製作
但並不是任意兩張有重疊部分的影像都能夠被拼接,被拼接的影像必須:
- 有同樣的投影中心
- 影像的內容為平面,沒有前後景的分別
- 影像為足夠遠的遠景,可以視為平面
實作上,通常會固定相機,讓影像能有相同的投影中心以利後續處理。另外影像之間重疊部分不宜太少或太多,重疊太少會讓對準變得困難,重疊太多則會讓混合之後的瑕疵和失真更多,適當的重疊範圍為15-30度。另外,為了讓拼接後的影像更符合人類視覺,在進行影像拼接之前,會先將影像投影到圓柱座標或球體座標上,
影像對準
影像對準是指找出兩張影像之間的變換關係,如平移、旋轉、縮放,經過變換之後使兩張影像中相同的部分可以重疊。影像之間的變換關係可以用一個矩陣來表示,所要求得的矩陣的未知數數量越多,代表兩影像之間的關係越複雜、越難對準。舉例而言,平移矩陣有兩個未知數,仿射變換矩陣有六個未知數,而一般化的投影矩陣則有八個未知數。為簡化問題,在拍攝影像時會盡量避免同時平移、旋轉或縮放,以簡化對準的難度。通常會先取得影像的特徵點,再透過影像配準(image registration)完成對準。
特徵點檢測是指藉由影像的亮度、顏色、梯度等資訊,尋找影像中的特徵點的方法。在影像對準中,可以用特徵點檢測來取得兩張影像的特徵點,再藉由配對這些特徵點來完成對準。常見的特徵點檢測的方法有:哈里斯角檢測(Harris Corner Detection)、尺度不變特徵轉換(SIFT)等,特徵點通常會是影像中物體的角落,或是顏色變化大的地方。然而,因為要被對準兩影像重疊部分有限,共有的特徵點並不多,大部分特徵點都是離群值(outlier),因此需要影像配準的技術來完成特徵點的對應。
影像配準是指將影像經過變換後,使得兩影像的相似程度最大的技術,計算相似程度的方法因演算法而異,舉例來說,兩影像的方均根差即可當作相似程度的指標,方均根差越小表示影像越相似。在影像對準中,影像配準能夠藉由最大化影像重疊部分的相似程度,來完成影像之間特徵點的對應。隨機抽樣一致算法(RANSAC)是影像配準最常見的演算法之一,透過遞迴和取樣,來找到最適當的變換,隨機抽樣一致算法並不是確定性演算法,但其優點是可以在有許多離群值當中,為內群值找到一個合理的變換,適合用在離群值多的影像配準問題上。
影像混合
因為視差、鏡頭失真、曝光差異等因素,兩張已經對準的影像仍可能有明顯的邊界而不像一張完整的合成影像,影像混合就是指讓對準後的影像能平順地拼接的技術[2]。常見的方法有阿法混合(alpha blending)、梯度域拼接 (頁面存檔備份,存於網際網路檔案館)(gradient-domain stitching)[3]等。
- 阿法混合
調整兩張影像重疊部分的透明度,讓銜接部分有漸層的效果。漸層範圍的長度需經過調整,太長會有鬼影(ghosting)的問題,太短則會讓銜接部分不自然。
其他技術
- 全景圖長方形化
完成拼接的全景圖,可能因為經過圓柱投影,或是拍攝影像時沒有完全水平等原因,變得歪斜、扭曲。可以再藉由演算法計算,將拼接過後的全景圖,在少量的失真與裁切之下,調整回長方形。[4]
參考文獻
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.