コンピューテーショナルフォトグラフィ
DESCRIPTION
コンピューテーショナルフォトグラフィの話.加工されたカメラによるコンピューテーショナルフォトグラフィの話は少なめ.フィルタリング,主にバイラテラルフィルタによる画像処理の話が中心.TRANSCRIPT
コンピューテーショナルフォトグラフィ
Computational PhotographyComputational Photography名古屋工業大学福嶋慶繁名古屋工業大学福嶋慶繁
Twitter: fukushima1981
目次目次
ピ グ• コンピューテーショナルフォトグラフィについて
• バイラテラルフィルタバイラテラルフィルタ
• 光線空間(Light Field)
• コンピューテーショナルカメラ
コンピューテーショナルフォトグラフィとは?コンピューテーショナルフォトグラフィとは?
画像処理をともなう画像処理をともなう写真技術写真技術
素朴な疑問素朴な疑問
フィルタリングやノイズ除去をしただけでコンピ テ ショナルフォトグラフィとコンピューテーショナルフォトグラフィといっていいのか?
パノラマ画像はパノラマ画像はンピ テ シ ナルコンピューテーショナル
グフォトグラフィか?
素朴な疑問素朴な疑問
カメラに加工が施してないとコンピューテーショナルフォトグラフィと名乗っていけないのか?けないのか?
3CCDもコンピューテーショナルフォトグラフィ?
ここでの定義ここでの定義
普通のカメラの限界を超える写真をコンピュータやハードウェアをうまく使うことで取れるようにする方法取れるようにする方法
カメラへの影響カメラへの影響ぼけ,ノイズ,ダイナミックレンジ,画角,解像度,視点,画質へ影響する装置シャッタ 速度 レンズ口径 開口 CCDサイズ 露光時間 カメラ位置・方向シャッター速度,レンズ口径,開口,CCDサイズ,露光時間,カメラ位置・方向
画像処理→CP画像処理→CP
画像かどうか怪しい絞り,開口,露光をコード化する
画像かどうか怪しい
異なるセンサを使う
レンズアレイを使う
フラッシュを複数使う,強度を変える
赤外光を使う
複数のカメラ(カメラアレイ)
撮影状況(ゲイン 露光等)を変えて複数撮影
フラッシ を複数使う,強度を変える
動画でインプットする(ハンディカメラなど)
撮影状況(ゲイン,露光等)を変えて複数撮影
普通のカメラ+画像処理
人が見てきれいな画像普通のカメラ+画像処理
Bilateral FilterによるBilateral Filterによるコンピューテーショナルフォトグラフィ
コンピューテーショナルフォトグラフィコンピューテーショナルフォトグラフィ
S li ki本だとSzeliski本だと...• パノラマ• ハイダイナミックレンジ画像ハイダイナミックレンジ画像• 超解像• カラリゼーション• マッティング• インペイント
ダ グ• ノンフォトリアリスティックレンダリング– 輪郭強調– stylize– stylize
• ジョイントフィルタリング– フラッシュフォトグラフィ
ぞ がそれぞれ別の項目のようだが...
Bilateral Filterという軸で切ることができるう軸 切る る
※注意書き
Bilateral Filterでも解けるというだけでそれぞれ適切な方法があります.
目次目次
基本編• 基本編– Bilateral Filterってなに?
応用編• 応用編– Joint Bilateral Filter奥行き推定– 奥行き推定
– 背景差分– 超解像– 超解像
• 高速化編– バイラテラルフィルタの高速化– バイラテラルフィルタの高速化– 高速な非線形フィルタ:Guided Filter
基本編
バイラテラルフィルタの原理バイラテラルフィルタの原理
バイラテラルフィルタ(Bilateral Filter)バイラテラルフィルタ(Bilateral Filter)ガウシアン:位置が遠いほど低い重みが与えられるフィルタ
バイラテラル: 位置が遠いほど&色が違うほど低い重みが与えられるフィルタ
※エッジを保持したままノイズ除去が可能※エッジを保持したままノイズ除去が可能
バイラテラルフィルタのカーネルバイラテラルフィルタのカーネル
デモデモ
ネ 表• カーネルの表示
• フィルタした画像の表示フィルタした画像の表示
• 信号のノイズが減ることを示す
• ノイズを消すために,σcを広く取るとエッジがぼけるぼける
応用編
Joint Bilateral Filter
像 な 像
Joint Bilateral Filter
• フラッシュ画像+フラッシュしてない画像
ノイズの少ないが色がおかしい画像+ノイズイ 少な 色 お 画像 イの多いが画像で色が正しい
Flash / No Flash Photo ImprovementFlash / No‐Flash Photo Improvement
Merge best features: warm, cozy candle light (no‐flash)g , y g ( )low‐noise, detailed flash image
‘Cross’ or ‘Joint’ Bilateral Idea:Cross or Joint Bilateral Idea:Noisy but Strong… Range filter preserves signalRange filter preserves signalNoisy but Strong… g p gg p g
Noisy and Weak…Use stronger signal’s range filter Use stronger signal’s range filter weights…weights…
エ ジキ プ力エッジキープ力と
ノイズ除去力ノイズ除去力はトレ ドオフ!はトレードオフ!
ジョイントバイラテラルフィルタジョイントバイラテラルフィルタ
カーネルの計算を
ノイズの少ない画像ノイズの少ない画像で行い,対象をフィルタリングする
(|Jp- J q |) I q
別名:クロスバイラテラルフィルタ
OverviewOverviewBasic approach of both flash/noflash papers
Remove noise + details
Basic approach of both flash/noflash papers
Remove noise + details from image A,
Keep as image A Lighting
No‐flash‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
Obtain noise‐free detailsObtain noise free details from image B,
Discard Image B Lighting Result
Petschnigg: Detail Transfer ResultsPetschnigg: Detail Transfer Results
• Lamp made of hay:
No Flash Flash Detail Transfer
Petschnigg:Petschnigg:
• Flash
Petschnigg:Petschnigg:
• No Flash,
Petschnigg:Petschnigg:
• Result
ジョイントバイラテラルフィルタのジョイントバイラテラルフィルタのアプリケーションア リケ シ
MattingMatting
ジョイントバイラテラルフィルタジョイントバイラテラルフィルタ• フラッシュ画像を用いた低照度画像のノイズ除去など画像ペアの画質改善
に用いられるフィルタ.参照画像をフィルタリングの重みの決定に用いる
• 原画像を参照画像とし その画素値に基づいて重みを決定したフィルタリン
原画像上での色の遠い点の重みづけが減るため原画像のエッジ部分がマスク画像上で保持される• 原画像を参照画像とし,その画素値に基づいて重みを決定したフィルタリン
グを背景差分により生成したマスク画像に対して行う原画像のエッジ部分がマスク画像上で保持される
R(u) : フィルタリングの重みを決定する参照画像(原画像)の画素値( ) フ ルタリングを行う画像(マスク画像)の画素値
距離による重み 画素値による重み
X(u) : フィルタリングを行う画像(マスク画像)の画素値Gd・Gr : 分散σd・σrのガウス関数, Zu:正規化項, W(u) : uの近傍ウィンドウ
マスク画像 原画像 結果画像マスク画像 原画像 結果画像
フィルタ処理の比較フィルタ処理の比較
(a)メディアンフィルタのみ (b)ジョイントバイラテラルフィルタ後(a)メディアンフィルタのみ (b)ジョイントバイラテラルフィルタ後
物体の境界部分を高精度に検出
Depth Map RefinementDepth Map Refinement
符号化された奥行き画像のモスキートノイズ除去
Saliency Map RefinementSaliency Map Refinement
• http://pub.ne.jp/akisato/?entry_id=3970170
Haze removing(霞除去)Haze removing(霞除去)“Single image haze removal using dark channel prior” CVPR2009
伝達マップ(最適化前) 霞除去(最適化前)入力画像
参考:ヒストグラム平坦化参考:ヒストグラム平坦化
伝達マップ(最適化後) 霞除去(最適化後)
…
~マップと付くものなら付何でもOK何でもOK
Joint Bilateral Up SamplingJoint Bilateral Up‐Sampling
奥行き画像超解像:従来研究(1)奥行き画像超解像:従来研究(1)
原画像の位置・色
J Kopf et al : “Joint bilateral upsampling” ACM Trans on Graphics
の重み付き平均
J. Kopf et al.: Joint bilateral upsampling , ACM Trans. on Graphics, vol. 26, no. 3, p. 96, Jul. 2007.
超解像結果(入力)超解像結果(入力)
入力画像
入力奥行き画像8倍超解像入力奥行き画像8倍超解像
超解像結果(最近傍)超解像結果(最近傍)
入力画像
超解像結果(提案)超解像結果(提案)
入力画像
カラリゼーションの高速化カラリゼーションの高速化
疎なも 来な• 疎なものはJBU出来ない!
• 小さな解像度でまず普通のカラリゼーション小さな解像度でまず普通のカラリゼ ション
• そしてJBU
• その他もろもろ~Mapの計算が高速化可能
超解像 vs アップサンプル超解像 vs アップサンプル
像超解像とはアップサンプル– アップサンプル
• 適切なエッジ
ノイズリダクシ ン– ノイズリダクション
• ガウス,インパルスのノイズの除去
ぼ– ぼけ除去
• レンズ,CCDサンプリング,モーション,フォグなど
を同時に達成するもの
Iterative back Super ResolutionIterative back Super Resolution
高速化編
Bilateral Filterの高速化Bilateral Filterの高速化
• CHEN, J., PARIS, S., AND DURAND, F. 2007. Real‐time edge‐aware image processing with g g p gthe bilateral grid. ACM TOG 26, 3,103.
• CRIMINISI A SHARP T ROTHER C AND• CRIMINISI, A., SHARP, T., ROTHER, C., AND P’EREZ, P. 2010. Geodesic image and video editing. ACM TOG 29, 5, 134.
Separable bilateral filtering for fast video preprocessing
バ タ ネ を縦横 素• バイラテラルフィルタのカーネルを縦横1画素の幅に分離して二度適用する近似
**
T. Pham,and L. J. Van Vliet, Separable bilateral filtering for fast video preprocessing. Proc. IEEE ICME, 0, 4 pp. 2005.
Real time O(1) bilateral filteringReal‐time O(1) bilateral filtering
階 を 階 減色• 256階調をn階調(2,4,8,16・・・)に減色し,間は線形補間することで高速化
• カラーに弱い(256x256x256=65536色...)
色空間を 色の空間に潰して計算• 色空間をR+G+B=768色の空間に潰して計算(発展:ドメイントランスフォーム?)
Q. Yang, K. H. Tan, and N. Ahuja, Real‐time O(1) bilateral filtering, In CVPR, 557–564. 2009
※ F. Porikli, Constant time O(1) bilateral filtering. In CVPR,1–8, 2008 の発展版
Guided FilterGuided Filter
• 早い,Haloが起きにくい
• カーネルの計算方法にカ ネルの計算方法に高速化が存在
i,jが違うサイドにいればw= 1‐σ/σ(最大の場合)=0同じサイドにいればw=1+x式の意味 i jの画素含む領域の平均の全てを使う式の意味:i,jの画素含む領域の平均の全てを使う.直接のカーネル計算は,バイラテラルよりも重い
Bilateral GridBilateral Grid
Domain TransformDomain Transform
その他の非線形フィルタ
Non Local Means FilterNon Local Means Filter
入力画像とサポートウィンドウ
1.カーネル中心(赤色)の周りにテンプレート画像(5x5)を作成し,サポ トウ ドウ( ) 範囲を プ ト チ グ2.サポートウィンドウ(13x13)の範囲をテンプレートマッチング.
3.類似度をサポートウィンドウの重みとして重み付きフィルタリングを行う.
BM3DImage denoising with block‐matching and 3D filtering
Anisotropic diffusionAnisotropic diffusion
• Anisotropic diffusion– PERONA, P., AND MALIK, J. 1990. Scale‐space and , , , pedge detection using anisotropic diffusion. IEEE TPAMI 12, 7, 629–639., ,
– TVノルム最小化を行うようなフィルタ
イタレ ションが必要– イタレーションが必要
光線空間光線空間Light Fieldg
光線空間光線空間
自由視点 像• 自由視点画像
• 可変焦点画像可変焦点画像
• レンズも,ピンホールもコーデット
• Coded aperture/exposure/shatter/senserにCoded aperture/exposure/shatter/senserに続く
基本原理基本原理
本 次 超 積分• EPI(本当は4次元超平面)の断面,積分で
– 自由視点,自由焦点自由視点,自由焦点
を実現
自由視点自由視点
自由焦点自由焦点
Example using 45 cameras[Vaish CVPR 2004]
Light field photography using a handheld plenoptic camera
Ren Ng Marc Levoy Mathieu BrédifRen Ng, Marc Levoy, Mathieu Brédif,Gene Duval, Mark Horowitz and Pat Hanrahan
(Proc. SIGGRAPH 2005(Proc. SIGGRAPH 2005and TR 2005‐02)
Conventional versus light field camerag
Conventional versus light field camerag
uv‐plane st‐plane
Conventional versus light field camerag
uv‐planest‐plane
Prototype camera
Contax medium format camera Kodak 16‐megapixel sensor
Adaptive Optics microlens array 125μ square‐sided microlenses
4000 × 4000 pixels ÷ 292 × 292 lenses = 14 × 14 pixels per lens
Adaptive Optics microlens array 125μ square‐sided microlenses
Mechanical designMechanical design
• microlenses float 500μ above sensormicrolenses float 500μ above sensor• focused using 3 precision screws
Digitally stopping downDigitally stopping‐down
Σ
Σ
• stopping down = summing only the central portion of each microlens
Digital refocusingDigital refocusing
Σ
Σ
• refocusing = summing windows extracted from several microlenses
Example of digital refocusingExample of digital refocusing
Extending the depth of field
conventional photographconventional photograph light field main lens at f / 4conventional photograph,main lens at f / 22
conventional photograph,main lens at f / 4
light field, main lens at f / 4,after all‐focus algorithm
[Agarwala 2004]
Digitally moving the observerDigitally moving the observer
Σ
Σ
• moving the observer = moving the window we extract from the microlenses
Example of moving the observerExample of moving the observer
Moving backward and forwardMoving backward and forward
Camera Array
Stanford multi‐camera arrayStanford multi camera array
• 640 × 480 pixels ×30 fps× 128 cameras30 fps × 128 cameras
• synchronized timing
• continuous streaming• continuous streaming
• flexible arrangement
Ways to use large camera arraysWays to use large camera arrays
• widely spaced light field capture• tightly packed high‐performance imaging• intermediate spacing synthetic aperture photography• intermediate spacing synthetic aperture photography
カメラアレイ レンズアレイカメラアレイ,レンズアレイ
• Computational Photography– Image based renderingg g
– Light field辺
– 光線空間
– カメラアレイ,レンズアレイ
Light Field CameraLight Field Camera
Ramesh Raskarhttp://web.media.mit.edu/~raskar/