一個有效的閃光燈攝影增強法
An Efficient Method for Flash Photography Enhancement
吳俊霖(Jiunn-Lin Wu), 洪夢韓(Meng-Han Hung)
中興大學 資訊科學系
{jlwu, s9256015}@cs.nchu.edu.tw
摘要
如果在偏暗的環境下要拍照的話,通常我們會 使用閃光燈,藉以補光以得到更多的影像細節,但 不幸的是這樣卻會破壞相片中的色彩。要是不使用 閃燈的話,雖然可以得到色彩真實的影像,但是其 需要較長的曝光時間或須以高 ISO 值拍攝,這會導 致影像的模糊或產生嚴重雜訊。所以學者提出藉由 結合一張沒有使用閃光燈與另一張有使用閃光燈 的兩張相片來計算產生一張同時具有真實色彩與 細節豐富的影像。 本論文中,我們首先將提出針對有時使用閃光 燈的影像序列的強健影像校正(image registration) 法,其是基於快速傅立葉轉換,所以能有效克服影 像序列中光照差異大,甚至有移動物體的問題。接 著我們提出一個基於 YSbSr 色彩空間的閃光燈攝影 增強法來改善現有方法中色彩分離的部份,實驗結 果 證 明 所 提方 法 在 不 影響 合 成 影 像品 質 的 條 件 下,能節省大約 50%的記憶體使用量。由於現在的 數位相機的解析度都大幅的提升,超過千萬像素的 相機已是相當普遍,這使得所提方法能省下大量的 記憶體空間,且有效加快影像合成時所需的計算時 間。此外 我們也發現所提方法在相同的記憶體使 用量下,比基於 YCbCr 色彩空間的閃光燈攝影增強 法能保留更多的細節資訊。 關鍵詞:閃光燈攝影、影像校正、快速傅立葉轉換、 色彩空間、影像增強。Abstract
Under dark illumination, a photographer is usually faced with a frustrating dilemma: to use the flash or not. A picture relying on the available light usually has a warm atmosphere, but suffers from noise and blur. On the other hand, flash photography cause unacceptable artifact such as flat and harsh lighting, although it provides more details. Recently some researchers proposed the detail transfer approach to enhance the flash photography by combining a picture taken with the available light and one taken with the flash. However, they do not focus on the problem of image registration.
Image registration is important for images taken with handheld cameras, for example, changing the
camera settings often results in camera motions. Since the flash/no-flash images do have significant differences due to the change in illumination, we propose a robust image registration method based on FFT is proposed for registration of such image pairs in this paper. An image pair with moving objects is used to demonstrate the robustness of the proposed method.
In this paper, we also figure out the problem in the conventional flash photography enhancement methods, they usually require a large amount of memories during the computation. It is a serious computational burden when the size of the input images is large. In this paper, we propose a new method based on YSbSr color space to alleviate this problem. Experimental results show that the advantages of the proposed method include: (1) it saves up to 50% of the memory space; and (2) it preserves more details and sharpness than the approach based on YCbCr color space when the same quantity of memory is used.
Keywords: Flash photography, Image registration, FFT, Color space, Image enhancement.
1.前言
在偏暗的環境下照相,最常遇到的問題便是是 否要使用閃光燈。這可以是一個很簡單的選擇,若 拍攝的現場光線太暗,我們會使用閃光燈來補強亮 度,若拍攝現場夠明亮,我們則選擇不使用閃光 燈,純粹以自然光作為光源。但是,拍攝的現場並 不單純只是昏暗與明亮的區分,比如黃昏的街道又 或是很有氣氛的餐廳等偏暗的環境,這時開閃光燈 或不開閃光燈所拍攝出的相片,都同樣無法讓人感 到滿意。 使用閃光燈,可以使拍攝者在昏暗的環境下捕 捉拍攝物的輪廓,而不使用閃光燈,則可以保留住 拍攝現場真實的彩度和氣氛,但是兩者都有無法克 服的缺點,使用閃光燈所拍攝出來的相片,銳利的 光源會破壞拍攝現場的氣氛,而不使用閃光燈,純 粹以自然光作為光源,則會遇到相片中的影像過於 模糊或雜訊的問題,這兩樣結果都不是我們希望 的。 為了解決這個問題,有學者[3][5]提出藉由結合 一張沒有使用閃光燈與另一張有使用閃光燈的兩 張相片來計算產生一張同時具有真實色彩與細節豐富的影像。在一開始先將影像的色彩資訊分離開 來 , 即 把 影 像 分 解 成 色 彩 (color) 影 像 與 強 度 (intensity)影像,這裡他們以式(1)來計算強度影像I 與其色彩資訊(Rˆ,Gˆ,Bˆ)。 I B B I G G I R R B G R I ÷ = ÷ = ÷ = + + = ˆ ˆ ˆ 3 (1) 接 著 使 用 一 個 稱 為 聯 合 雙 向 濾 波 器 (cross bilateral filtering) 的 方 法 來 把 影 像 分 解 成 兩 個 圖 層,分別保留了像素值變化較大的亮度的資訊,以 及鮮明輪廓的細節資訊。藉由結合有使用閃光燈影 像 的 細 節 資訊 與 沒 有 使用 閃 光 燈 影像 的 色 彩 資 訊,而得到一張同時具有較真實的色彩且保留影像 中我們眼睛所感興趣的細節。 然而在實作的過程中,我們發現該方法所使用 的色彩分離法需要大量的記憶體空間,其中強度影 像I,色彩資訊(Rˆ,Gˆ,Bˆ)與經過聯合雙向濾波器分 離的亮度(large-scale)影像與細節(detail)部影像的像 素資訊皆須以浮點數儲存之,也就是說每一個像素 資訊共需4×6=24Byte 來儲存。由於現在的數位相 機的解析度都已大幅的提升,超過千萬像素的相機 已是相當普遍,這使得上述方法所需的記憶體空間 也大幅度的上昇,而導致其需要更長的計算時間來 完成之。為了有效改進這個問題,在本論文中,我 們提出一個基於 YCbCr 色彩空間的閃光燈攝影增 強法來改善現有方法中色彩分離的部份,實驗結果 證明所提方法在不影響合成影像品質的條件下,能 節省大約 45%的記憶體,這說明了所提方法能省下 大量的記憶體空間,且有效加快影像合成時所需的 計算時間。 在閃光燈攝影影像的合成過程中,由於我們的 來源影像分別使用閃光燈的影像與以較常曝光時 間拍攝但沒有使用閃光燈的影像,所以很明顯的除 了有一般位移、旋轉、縮放等影像幾何失真外,還 會有嚴重光照度(illumination)的明暗變化與陰影, 更可能會有小物體在移動,這使得用傳統點對應 (point-mapping)等影像校正方法失敗的可能性大 幅提高。 Ward[8] 等 人 提 出 基 於 平 均 臨 界 值 (mean threshold bitmap)的影像校正法來解決不同曝光時 間拍攝的影像序列之校正(alignment)問題,其先計 算 出 影 像 中的 平 均 臨 界值 , 接 著 把影 像 二 值 化 (binary),如此一來不同曝光時間拍攝的影像皆能得 到近似的二值化影像而能正確地完成影像校正。 Eisemann[5]證實該方法可以應用於閃光燈攝影的 影像校正,該演算法的計算速度很快,但是其只能 解決簡單的位移(translation)失真。要是影像中有旋 轉,縮放(scaling)或有移動物體時,便會得到失敗 的結果而不能適用了。 所以在本論文中,我們提出採用快速傅立葉轉 換導向(FFT-based)的影像校正(image registration) 法來處理之。它可以在來源影像有明顯亮度變化及 小物體移動的情形下完成高精確度的影像幾何變 形,包括位移(translation)、旋轉(rotation)及縮 放(scaling)等參數的估計。因為其本身是藉由比 較影像的頻譜(frequency)特徵來校正影像,所以 對空間域(spatial domain)的亮度變化與小物體移 動較不敏感。實驗結果證明所提方法能有效克服閃 光燈攝影影像序列中光照差異大、陰影,甚至有移 動物體的問題,而得到正確的影像校正結果。
2.影像校正
一般來說,影像校正有許多方法來克服影像變 形或失真的問題,例如點對應(point-mapping)法, 傅立葉轉換分析(Fourier Transform)法及各種變形 模式(model)法等[1]。由於我們的輸入影像為一 張是以較長曝光時間拍攝的影像,另一張是以閃光 燈拍攝的影像,很明顯的,可以預見的是其中除了 位移、旋轉、縮放等一般影像幾何變形外,其更會 有閃光燈造成的亮度與陰影差異,且在拍攝過程中 也可能會有小物體在移動,這都會導致傳統點對應 等影像校正法的失敗。 圖 1 所提 FFT-based 影像校正法之方塊圖 在本論文中,我們提出一個快速傅立葉轉換導 向(FFT-based)的影像校正方法[6]來解決這個問 題。圖 1 為一所提快速傅立葉轉換導向的影像校正 方法的流程圖,其主要原理是相位相關(phase correlation)。我們簡單解釋如下,假如f2( )
x,y 影像 與 f1( )
x,y 有一個位移變形(translation),如式(2) 所示:( )
1(
0 0)
2 x,y f x x ,y y f = − − (2) 根據傅立葉轉換特性,我們可以得到式(3): ) , ( ) , ( ( ) 1 2 0 0 x y y w x w j y x w e F w w w F = − x + y (3) 亦即影像 f2( )
x,y 的頻譜,F2(
wx,wy)
,與影像 1 的 頻譜,F1(
wx,wy)
,之振幅(amplitude)大小一樣, 不同的只有一個相角(phase)差,所以我們只要透 過一個稱為相位關聯(phase correlation)的方法, 藉由計算其反傅立葉轉換的結果,我們可以在兩張影像的位移位置上得到之一個脈衝函數,如式(4) 所示: ) , ( ) , ( ) , ( ) , ( ) , ( 0 0 ) ( 2 1 2 * 1 0 0 y y x x IFT e w w F w w F w w F w w F jwx wy y x y x y x y x = − x + y δ − − (4) 進而得到其位移變形量。圖 2 即為相位關聯計算後 反傅立葉轉換的結果。 圖 2 相位關聯(Phase Correlation)的結果 圖 3 為閃光燈攝影的影像序列經由所提基於快 速傅立葉轉換之影像校正法的校正(registration)結 果,我們可以發現使用閃光燈的原始影像的整理亮 度會因閃光燈的補光效果而大大的改善,但是其也 造成了許多陰影的存在。而在影像中我們以一個只 在沒有使用閃光燈的影像中存在的鬧鐘來測試所 提方法對影像中移動物體的強健性。很明顯的我們 發現,所提快速傅立葉轉換導向(FFT-based)的影 像校正方法可以有效解決閃光燈攝影影像序列中 的光照差(illumination)異大、陰影,甚至有移動物 體的問題。 圖 3 所提演算法之閃光燈攝影影像序列的影像校正結果
3.所提閃光燈攝影影像增強法
我們提出的方法是,有效地藉由結合兩張分別 攝於閃光燈下以及自然光下的影像,強化閃光燈的 攝影效果,彌補在偏暗的攝影環境下拍攝出的影 像。強化後的影像,結合了使用閃光燈的優點以及 不使用閃光燈的優點,同時解決了不破壞現場氣氛 又不至於太過模糊的攝影問題。在本論文中,我們 提出使用 YCbCr 色彩空間來分離色彩資訊與強度 (intensity) 影 像 , 接 著 採 用 一 種 稱 為 雙 向 濾 波 器 (bilateral filter)來分解強度影像,我們希望能將 一個影像分解成兩個圖層,分別保留了亮度的資 訊,以及鮮明輪廓的資訊,其詳細流程圖如圖 4 所 示。 其 可 以 分 成 三 個 步 驟 : (1) 色 彩 分 離 (color separation),(2)影像分解(image decomposition),以 及(3)影像重建(reconstruct)。我們將攝於閃光燈下的 影像稱為F影像,沒有使用閃光等的來源影像稱為 N影像。首先,我們將F影像以及N影像由 RGB 色彩空間中轉換至 YCbCr 的色彩空間作色彩分離 的動作,其中的 Intensity 影像就是頻道Y 而 Color 圖 層 即 為 頻 道 CbCr 。 而 我 們 只 保 留F 影 像 的 Intensity 圖層和N影像的 Intensity 圖層與 Color 圖 層。圖 4 所提閃光燈攝影影像增強法之流程圖 在傳統的方法中都是使用式(1)來計算強度影 像I 與其色彩資訊(Rˆ,Gˆ,Bˆ)。而其中的I,Rˆ,Gˆ,Bˆ都 必須以浮點數儲存,在 C++中浮點數須以 4Byte 來
儲存之,以一組(一張是閃燈拍攝,另一張則無閃燈 拍攝)壹仟萬像素的影像而言,在計算時所需的記憶 體就高達 Bytes M Byte M 4 4 2 320 10 × × × = 這還不包含接下來的影像分解的部份,所以很 顯然的,該方法將會對記憶體造成沉重的負擔,而 影響計算速度。所以在本論文中,我們提出利用能 有效把影像中的強度影像與色彩資訊分離的色彩 轉換來解決此一問題,其中廣泛用於 JPEG 影像壓 縮的 YCbCr 即可有效解決此一問題,因為其中的 Cb 與 Cr 彩色資訊我們可以以 1Byte 的整數來儲存 之即可。也就是一組壹仟萬像素的影像而言,在計 算時所需的記憶體只需
(
)
M Bytes M 4 1 1 2 120 10 × + + × = 即可。這可以大大降低記憶體的需求量,並改善計 算時間。其中 YCbCr 與 RGB 色彩空間的轉換如式 (5)所示。 ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ − − − − = ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ B G R C C Y r b 0458 . 0 4542 . 0 5 . 0 5 . 0 3854 . 0 1146 . 0 0722 . 0 7152 . 0 2126 . 0 (5) 此外 Kim[4]等人也提出一種稱為 YSbSr 的色彩空 間,其轉換如式(6)所示。其證明了該色彩空間比 YCbCr 能提供更有效的色彩分離,請其在轉換過程 中所產生的四捨五入誤差(round error)比 YCbCr 更 小。在本論文中,我們也將測試該色彩空間的可行 性與效果。 ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ − − − = ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ B G R S S Y r b 6780 . 0 0 . 1 3220 . 0 7880 . 0 2120 . 0 0 . 1 6660 . 0 6880 . 0 6460 . 0 (6) 接著,我們對F影像以及N影像的 Intensity 圖層以雙向濾波器(bilateral filter)來分解成變化 較大的 Large-scale 圖層,這可以被視為影像的整體 照 度 (illumination) 資 訊 和 我 們 眼 睛 所 感 興 趣 的 Detail 圖層。其中的雙向濾波器(bilateral filter)是 一種非線性濾波器,在一開始被提出來是為了在影 像處理中能有效地將雜訊平滑化[2][7],且又可以把 重 要 的 邊 界保 留 著 , 主要 原 理 是 同時 在 空 間 域 (spatial domain)與強度域(intensity domain)做 高斯平滑化(Gaussion smoothing),其數學定義如 下:( )
( ) (
)
( )
∑
∑
− = − = − = w w n w w n n k W n k X n k W k X , , ˆ (7) 其中X( )
k 是原來的訊號,Xˆ( )
k 是處理過後的新平 滑訊號,w
是濾波器的寬度,而W( )
k,n 是濾波器 的核心函數,可以寫成( )
k n W( )
k n W( )
k n W , = S , ⋅ R , (8) 其中WS是表示在空間域的高斯平滑函數,數學定 義為( )
⎟⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ − = 22 2 exp , S S n n k W σ (9) 而WR則是表示在強度域的高斯平滑函數,其數學定 義為( )
[
( )
(
)
]
⎪⎭ ⎪ ⎬ ⎫ ⎪⎩ ⎪ ⎨ ⎧ − − − = 2 2 2 exp , R R n k X k X n k Wσ
(10) 圖 5 為雙向濾波器的輸入與輸出結果的一個範 例,我們可以看出,它能有效地去除影像中強度變 化較小的雜訊成份,並且保留強度變化大的部份, 例如邊緣。 圖 5 雙向濾波器示意圖[2] 在此我們只需保留F影像的 Detail 圖層以及N影 像的 Large-scale 圖層即可。 最後,我們將保留下來的圖層,分別是F影像 的 Detail 圖層,以及N影像的 Color 圖層 Large-scale 圖層,作影像重建(reconstruct),將三個圖層合併後 重建出新的影像,這個影像就是強化後的結果,結 合 了 使 用 閃光 燈 的 優 點以 及 不 使 用閃 光 燈 的 優 點,同時解決了不破壞現場氣氛又不至於太過模糊 的攝影問題。
4.實驗結果
圖 6 所示為一組閃光燈攝影的來源影像,很明 顯的,我們可以發現在沒有使用閃光燈所得的影像 有很嚴重的高 ISO 雜訊干擾,而使用閃光燈拍攝所 得的影像則提供了良好的細節且沒有雜訊,但是其 色彩卻被閃光燈所破壞了。 圖七(a)(b)與(c)所示分別為以傳統方法,所提 YCbCr 法與 YSbSr 法所得的閃光燈攝影的影像合成 結果。我們發現 YCbCr 法與傳統的方法皆能得到很 好的結果,其保留了沒有閃光燈攝影的柔和真實的色彩且提供了閃光燈攝影的影像細節與低雜訊。在 另一方面,我們發現 YSbSr 法在整體亮度上比 YCbCr 法有更好的表現,且能保留更多的細節資 訊,其主要原因是因為 YSbSr 色彩空間提供了更好 的影像灰度(intensity)與彩度的分離。 在此我們比較 YCbCr 法與傳統方法的記憶體 使用量。如同前面所言,以傳統方法來說,計算過 程中的色彩資訊Rˆ,Gˆ,Bˆ 與由強度影像所分解出來 的 Large-scale 圖層與細節圖層都須以浮點數儲存。 以一組一千萬像素的閃光燈攝影影像而言,其需要 Bytes M Byte M 5 4 2 400 10 × × × = 。而以 YCbCr 法 來說,其色彩資訊 CbCr 各只需以 1Byte 來儲存之。 所 以 總 共 只 需 要 Bytes M Byte Byte M (4 2 2 ) 2 200 10 × × + × = 記憶體 空間即可。在維持相同的輸出下,共可節省 50%的 記憶體使用量。 圖 6 一組閃光燈攝影的來源影像 圖 8 為我們以以不同位元儲存 CbCr 色彩資訊 所得之閃光燈攝影影像合成的結果比較。我們發現 各以 6 bits 來儲存 Cb 與 Cr 的合成結果與以 8 bits 存放色彩資訊的結果沒有明顯差異,但是以低於 6 bits 的話則會有明顯的失真產生。所以當我們以 6 bits 儲存 Cb 與 Cr 色彩資訊時,我們只需原方法記 憶體使用量的 47.5%即可。此外 我們也發現所提方 法在相同的記憶體使用量下,比基於 YCbCr 色彩空 間的閃光燈攝影增強法能保留更多的細節資訊。 圖 9 與 10 所示為另兩組以所提演算法合成之 閃光燈攝影影像結果,其說明了該方法可以有效增 強閃光燈攝影,其結果影像保留了以閃光燈攝影影 像的良好的細節且沒有雜訊,且也保留沒有使用閃 光燈影像的真實色彩。 (a) (b) (c) 圖 7 閃光燈攝影影像合成的結果比較 圖 8 以不同位元儲存 CbCr 色彩資訊所得之閃光燈攝影 影像合成的結果比較,各以(a) 8 (b) 6 (c) 5 (d) 4 位元儲 存 CbCr 的結果
圖 9 所提方法之閃光燈攝影影像合成的結果 圖 10 所提方法之閃光燈攝影影像合成的結果
5. 結論
使用閃光燈,可以使拍攝者在昏暗的環境下捕 捉拍攝物的輪廓,而不使用閃光燈,則可以保留住 拍攝現場真實的彩度和氣氛,但是兩者都有無法克 服的缺點,使用閃光燈所拍攝出來的相片,銳利的 光源會破壞拍攝現場的氣氛,而不使用閃光燈,純 粹以自然光作為光源,則會遇到相片中的影像過於 模糊或雜訊的問題。經過研究的結果,有效地藉由 結 合 兩 張 分別 攝 於 閃 光燈 下 以 及 自然 光 下 的 影 像,強化閃光燈的攝影效果,彌補在偏暗的攝影環 境下拍攝出的影像。 在本論文中,我們提出採用快速傅立葉轉換導 向(FFT-based)的影像校正(image registration) 法來處理之。它可以在來源影像有明顯亮度變化及 小物體移動的情形下完成高精確度的影像幾何變 形,包括位移(translation)、旋轉(rotation)及縮 放(scaling)等參數的估計。因為其本身是藉由比 較影像的頻譜(frequency)特徵來校正影像,所以 對空間域(spatial domain)的亮度變化與小物體移 動較不敏感。實驗結果證明所提方法能有效克服閃 光燈攝影影像序列中光照差異大、陰影,甚至有移 動物體的問題,而得到正確的影像校正結果。 接著我們提出一個基於 YCbCr 色彩空間的閃 光燈攝影增強法來改善現有方法中色彩分離的部 份,實驗結果證明所提方法在不影響合成影像品質 的條件下,能節省大約 50%的記憶體使用量。由於 現在的數位相機的解析度都大幅的提升,超過千萬 像素的相機已是相當普遍,這使得所提方法能省下 大量的記憶體空間,且有效加快影像合成時所需的 計算時間。最後我們發現基於新的色彩空間 YSbSr 的演算法在整體亮度上比 YCbCr 法有更好的表 現,且能保留更多的細節資訊,其主要原因是因為 YSbSr 色彩空間提供了更好的影像灰度(intensity)與 彩度的分離。參考文獻
[1] L. Brown, “A survey of image registration techniques,” ACM Computing Surveys, 24(4), 1992, pp. 325-376.
[2] F. Durand and J. Dorsey, “Fast bilteral filtering for the display of high dynamic range image,” in John Hughes, editor, SIGGRAPH2002 conference Proceedings, Annual Conference Series, ACM Press/ACM SIGGRAPH 2002, pp. 257-265. [3] E. Eisemann and F. Durand, “Flash photography
enhancement via Intrinsic Relighting”, ACM Trans. on Graphics, (SIGGRAPH), 2004.
[4] H.M. Kim, W.S. Kim and D.S.Cho, “A new color transform for RGB coding”, the proceeding of international conference on image processing (ICIP), 2004, pp.107-110.
[5] G. Petschningg, M. Agrawala, H. Hoppe, R. Szeliski, M. Cohen and K. Toyama, “Digital photography with flash and no-flash image pairs”, ACM Trans. on Graphics, (SIGGRAPH), 2004. [6] B. S. Reddy and B. N. Chatterji, “An FFT-based
techniqu for translation, rotation, and scale-invariant image registration,” IEEE Trans. Image Processing, vol.5, Aug. 1996, pp. 1266-1270.
[7] C. Tomasi, and R. Mandulchi, “Bilateral Filtering for Gray and Color Images,” Proceedings of IEEE International Conference on Computer Vision, Bombay, India, 1998, pp. 836-846.
[8] G. Ward, “Fast, robust image registration for compositing high dynamic range photography from handheld exposure”, J. of Graphic Tools, Vol.8, No.2.