196 Views
April 20, 20
スライド概要
2020/04/20公開
Tech Blog:「Demosaicing」内資料
https://techblog.morphoinc.com/entry/2020/04/20/102417
Demosaicing CTO室 yamaguchi
目次 • カメラセンサー • Demosaicing – Bilinear – PPG – AHD • まとめ 1
カメラセンサー
カメラセンサー • カメラ: 風景などを写真として記録するもの • レンズで集光し、センサー上で結像させることで、デジタル データとして保存 • 通常、センサーはそれぞれの位置の明暗情報しか記録できな い。一方で自然な画像は各位置でRGBの3次元ベクトルを保 持していることが望ましい • RGBの自然な画像を得るために、カメラセンサーにはいくつ かのタイプが存在 3
カメラセンサータイプ 3CCD sensor • 入射光をスペクトル毎に分離して、それぞれを各センサーチ ップで記録 • 完全なRGB画像を取得可能 • センサーチップが3枚必要 • 装置が大きくなりやすい Ref. [3] : Beam splitter 4
カメラセンサータイプ Mosaic filter sensor • センサーの上にフィルタを重ね、各位置で特定の色が記録さ れるようにして撮影 • 1枚のセンサーチップで可 • コンパクト Ref. [4] : Bayer pattern on sensor • 各位置で一つの色しか記録できないので、完全なRGB画像を 得るためにはデジタル的な後処理が必要 = Demosaicing 5
Mosaic Filter • 四角形が並んだものが通常使用される • それぞれがどの色を担当するかで後処理が変わり、性質が変 化する • 図のように、RとBが1/4の割合で占め、残りの2/4をGが占め るようなMosaic filter patternをBayer patternと呼ぶ • 各位置でRGB全ての値を持つような完全な画像を取得するた めには、補間が必要 • この補間手法を一般にDemosaicingと呼ぶ 6
Demosaicing
Demosaicingとは • 与えられたmosaic filter patternとセンサーデータから、元解像 度と同じ大きさのRGB画像を取得するアルゴリズム • タスクとしてはSuper Resolutionに近い部分がある • 今回はbayer patternのみ扱う(最もメジャーなmosaic filter) RGGB BGGR GRBG 8 GBRG
Demosaicingとは • 答えの無い問題 – 同じbayer画像を生成するRGB画像が多数存在 • ”真の値”を高確率で推定できる手法が良いものではあるものの、 実用的には、人間にとって"心地良い"ものが良い手法 – 解像感(人間にとってどの程度解像度高く見えるか) – artifactの発生確率 – 人間の経験との一致度(“自然”な画像が生成できるか) – 処理速度 9
Demosaicingにおいて発生しやすいartifact Zipper artifact • 物体の境界付近にチャック 状のポツポツが発生 False color • 実際とは異なる色味が発生 Ref. [5] Fig. 2 Ref. [5] Fig. 2 10
Demosaicing methods • Demosaicingの手法は数多存在 • 今回は比較的高速に処理可能なものに限定して紹介 – Bilinear – PPG – AHD 11
Bilinear • 近傍の同色を持つ画素から線形補間して入手 • 最も簡単かつ、高速に動作 • (他の手法と比較して)エッジが鈍る、ピンボケした印象 G on R B on R 1/4 1/4 1/4 R on G 1/4 1/4 1/4 1/2 1/4 1/4 12 1/2
Bilinearの問題点 • 補間する色は近傍の同色のみ参照 – 補間したい位置に別の色があったとしても、その地点についての重 要な情報を持っているはずで、それを利用できていない • 物体の境界があっても関係なく境界を跨いで補間してしまう 本来であれば左上の二つのGから 中央のGを復元するのが良さそう 物体の境界 1/4 1/4 1/4 1/4 13
PPG • (Patterned) Pixel Grouping [1] • 物体の境界を簡易的に探索し、境界を跨がないように補間 • 全体の流れ – Gを補間 – 補間されたGを使って、RBを補間 ※ Gが最もサンプル密度が高いため、まずGを補間してからRB を補間する方法がよく採られる 14
PPG: Gの補間 • 図のR13上のGを補間する(B上のGの場合も同様) • N,E,W,Sの4方向に関する“エッジ度”を以下のように計算 Δ𝑁 = 𝑅13 − 𝑅3 × 2 + 𝐺8 − 𝐺18 Δ𝐸 = 𝑅13 − R15 × 2 + |𝐺12 − 𝐺14| Δ𝑊 = 𝑅13 − 𝑅11 × 2 + |𝐺12 − 𝐺14| Δ𝑆 = 𝑅13 − 𝑅23 × 2 + |𝐺8 − 𝐺18| 15
PPG: Gの補間 • • • • • 4方向の“エッジ度”を比較し、最小の方向に重みをつけて補間 Δ𝑁が最小の場合 G13 = (𝐺8 × 3 + 𝐺18 + 𝑅13 − 𝑅3)/4 他4方向の場合もそれぞれ同様 この処理によって完全なG画像が再構築される 16
PPG: RBの補間 • 関数𝐻𝑢𝑒𝑇𝑟𝑎𝑛𝑠𝑖𝑡(𝑙1, 𝑙2, 𝑙3, 𝑣1, 𝑣3)を定義 – (𝑙1 < 𝑙2かつ𝑙2 < 𝑙3)または(𝑙3 < 𝑙2かつ𝑙2 < 𝑙1) 𝑣1 + 𝑣3 − 𝑣1 × (𝑙2 − 𝑙1)/(𝑙3 − 𝑙1) – 上記以外 𝑣1 + 𝑣3 𝑙2 × 2 − 𝑙1 − 𝑙3 + 2 4 • 𝑙1~𝑙3にはG、𝑣1, 𝑣3にはRまたはBが入る – Gの傾きの情報を用いて、R,Bを復元 17
PPG: RBの補間 • G8上のRを補間 𝑅8 = 𝐻𝑢𝑒𝑇𝑟𝑎𝑛𝑠𝑖𝑡(𝐺3, 𝐺8, 𝐺13, 𝑅3, 𝑅13) • G8上のBを補間 𝐵8 = 𝐻𝑢𝑒𝑇𝑟𝑎𝑛𝑠𝑖𝑡(𝐺7, 𝐺8, 𝐺9, 𝐵7, 𝐵9) 18
PPG: RBの補間 • R13上のBを補間 • NE方向とNW方向(斜め方向)の“エッジ度”を計算 Δ𝑁𝐸 = 𝐵9 − 𝐵17 + 𝑅5 − 𝑅13 + 𝑅13 − 𝑅21 + 𝐺9 − 𝐺13 + 𝐺13 − 𝐺17 Δ𝑁𝑊 = 𝐵7 − 𝐵19 + 𝑅1 − 𝑅13 + 𝑅13 − 𝑅25 + 𝐺7 − 𝐺13 + 𝐺13 − 𝐺19 19
PPG: RBの補間 • 2つの方向の“エッジ度”を比較し、最も小さい方向に補間 • Δ𝑁𝐸が小さい場合 𝐵13 = 𝐻𝑢𝑒𝑇𝑟𝑎𝑛𝑠𝑖𝑡(𝐺9, 𝐺13, 𝐺17, 𝐵9, 𝐵17) • Δ𝑁𝑊が小さい場合 𝐵13 = 𝐻𝑢𝑒𝑇𝑟𝑎𝑛𝑠𝑖𝑡(𝐺7, 𝐺13, 𝐺19, 𝐵7, 𝐵19) 20
PPG • 以下の図はいくつかの画像におけるPPGの結果である[1] • Bilinearに比べてエッジが立っており、解像感が高い 21
色方向の相関 • 補間する際、色方向の相関をとることがよく行われる • 自然画像において、GとRの差分画像やGとBの差分画像は R,G,Bそれぞれの単体画像よりもかなり滑らかな画像である ことが多いことを利用する • G-R, G-Bが局所一様であることを仮定して情報を抜き出す 左から順に、G画像 / R-G画像 / B-G画像 (Ref. [2] Fig.2) 22
AHD • “Adaptive homogeneity-directed demosaicing algorithm” [2] • 画像を2方向に補間し、それぞれの位置について適切な補間方 向を選択 • 全体の流れ – Gの補間(縦・横) – RBの補間(縦・横) – Homogeneity mapの作成(縦・横) – Homogeneity mapによる合成 – Median Filter 23
AHD: Gの補間 • まずG画像を横方向に補完 • RGの並ぶ列における位置nでのGの補間は以下の式で実行 𝐺 𝑛 = (−𝑅 𝑛 − 2 + 2𝐺 𝑛 − 1 + 2𝑅 𝑛 + 2𝐺 𝑛 + 1 − 𝑅 𝑛 + 2 )/4 • BGの並ぶ列においては、上式のRをBに直して実行 • 縦方向にも同様に補間 • 補間された2つのG画像をそれぞれ𝑓𝐻 , 𝑓𝑉 とする -1/4 1/2 1/2 24 1/2 -1/4
AHD: RBの補間 • 補間されたG画像と入力のR・B画像から、R-G,B-G画像(入力 の1/4サイズ)が得られる • R-G,B-G画像をbilinear補間で入力サイズまで拡大 – R-G,B-G画像には低周波数成分しか含まれていないと仮定している ので、bilinear補間で十分 • G画像を加えることで、入力サイズのR,B画像を取得 – 𝑓𝐻 , 𝑓𝑉 のそれぞれで行う – 以降補間されたR,B画像も含めて𝑓𝐻 , 𝑓𝑉 とする(RGB画像) – 次項以降で、二つのRGB画像の合成の指針となる指標画像を作成 25
AHD: Homogeneity mapの作成 • 空間的な近傍(画素の集合X、X上の距離𝑑𝑋 : 𝑋 2 ↦ ℝ+ ) 𝐵 𝑥, 𝛿 = {𝑝 ∈ 𝑋|𝑑𝑋 𝑥, 𝑝 ≤ 𝛿} • 画素値としての近傍も考える(RGBではなくLabを使用) • 画像を写像として見る 𝑓: 𝑋 ↦ ℝ3 ∋ (𝐿, 𝑎, 𝑏) • 画素値方向の近傍(Lとa,bの役割の違いを踏まえて、Lab空間 をL空間とab空間の直積と考え、それぞれに距離𝑑𝐿 , 𝑑𝐶 を導入) 𝐿𝑓 𝑥, 𝜖𝐿 = {p ∈ 𝑋|𝑑𝐿 𝑓 𝑥 , 𝑓 𝑝 ≤ 𝜖𝐿 } 𝐶𝑓 𝑥, 𝜖𝐶 = {𝑝 ∈ 𝑋|𝑑𝐶 𝑓 𝑥 , 𝑓 𝑝 ≤ 𝜖𝐶 } 26
AHD: Homogeneity mapの作成 • ある画素xにおける近傍𝑈𝑓 𝑈𝑓 𝑥, 𝛿, 𝜖𝐿 , 𝜖𝐶 = 𝐵 𝑥, 𝛿 ∩ 𝐿𝑓 𝑥, 𝜖𝐿 ∩ 𝐿𝐶 (𝑥, 𝜖𝐶 ) • Homogeneity map𝐻𝑓 𝐻𝑓 𝑥, 𝛿, 𝜖𝐿 , 𝜖𝐶 = 𝑈𝑓 𝑥, 𝛿, 𝜖𝐿 , 𝜖𝐶 / 𝐵 𝑥, 𝛿 • 補間したRGB画像𝑓𝐻 , 𝑓𝑉 からそれぞれ作成し、𝐻𝑓𝐻 , 𝐻𝑓𝑉 とする 画素値方向の近傍の模式図 (Ref. [2] Fig. 8) 27
AHD: Homogeneity mapによる合成 • Homogeneity map: ある画素の近くに似た色の画素がどのくら いあるかを示す量 • 補間に成功した場合、Homogeneity mapの値が大きくなる • 2つのHomogeneity mapを各点で比較、大きな値の方を採用 𝑓𝐻 (𝑛) 𝑖𝑓 𝐻𝑓𝑉 𝑛 < 𝐻𝑓𝐻 (𝑛) 𝑓 𝑛 =൝ 𝑓𝑉 𝑛 𝑖𝑓 𝐻𝑓𝑉 𝑛 > 𝐻𝑓𝐻 (𝑛) 28
AHD: Median Filter • 最後にmedian filterをかける(x3) 1. 𝑅 = 𝑚𝑒𝑑𝑖𝑎𝑛 𝑅 − 𝐺 + 𝐺 2. 𝐵 = 𝑚𝑒𝑑𝑖𝑎𝑛 𝐵 − 𝐺 + 𝐺 3. 𝐺 = (𝑚𝑒𝑑𝑖𝑎𝑛 𝐺 − 𝑅 + 𝑅 + 𝑚𝑒𝑑𝑖𝑎𝑛 𝐺 − 𝐵 + 𝐵)/2 • ノイズに対して強くなる • Median filterは非常に重い – このstepを省略して高速化が可能 29
AHD • 図は左から順に、𝑓𝐻 , 𝑓𝑉 , 𝑓に対するHomogeneity mapである – 値が小さい領域が黒く、逆に値が小さい領域が白く描画されている • うまく選択して合成することで、最終的なHomogeneity map が向上していることが分かる Ref. [2] Fig. 11 30
AHD • 図は左から順に、𝑓𝐻 , 𝑓𝑉 , 𝑓である • 1方向の補間ではFalse colorが散見されるが、最終画像ではそ の領域が小さくなっていることが分かる Ref. [2] Fig. 10 31
まとめ • Mosaic filterを使ったカメラセンサーには、Demosaicingが必 要不可欠 • 比較的高速に動作可能な3種類のDemosaicingを紹介 – Bilinear – PPG – AHD 32
出典 1. Chuan-kai Lin, “Pixel Grouping for Color Filter Array Demosaicing”, Apr. 2003. Not available : https://sites.google.com/site/chklin/demosaic 2. K.Hirakawa, T.W.Parks, “Adaptive homogeneity-directed demosaicing algorithm”, IEEE Transactions on Image Processing, 2005 3. 「Three-CCD camera」 (2020年3月9日 09:43 UTCの版) 『ウィキペディアの英語 版』https://en.wikipedia.org/wiki/Three-CCD_camera 4. 「Demosaicing」(2020年1月11日 05:52 UTCの版) 『ウィキペディアの英語版』 https://en.wikipedia.org/wiki/Demosaicing 5. L.Chang, Y.Tan, “Hybrid color filter array demosaicking for effective artifact suppression”, Journal of Electronic Imaging, 2006 33