コンピュテーショナルフォトグラフティの基礎

158
コンピュテーショナル フォトグラフティの基礎 名古屋工業大学 福嶋慶繁 1

Upload: norishige-fukushima

Post on 04-Jun-2015

3.321 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: コンピュテーショナルフォトグラフティの基礎

コンピュテーショナルフォトグラフティの基礎

名古屋工業大学

福嶋慶繁

1

Page 2: コンピュテーショナルフォトグラフティの基礎

目次

• コンピュテーショナルフォトグラフィとは

• カメラの基礎

• 古典的な画像処理

• HDR

• 超解像

• デノイジング

• ブレンディング:モーフィング,ラプラシアンピラミッド,マッティング,

• パノラマ

• ライトフィールドレンダリング

• コンピュテーショナルカメラ

• エッジ保持平滑化フィルタ

• バイラテラルフィルタとその応用

• OpenCVの関連関数群

• 参考文献

2

Page 3: コンピュテーショナルフォトグラフティの基礎

コンピューテーショナルフォトグラフィ

3

• ○ 環境構築が簡単

• ○ 視点,物体の操作が簡単

• × 写実表現が難しい

コンピュータグラフィクス フォトグラフィ

コンピュテーショナルフォトグラフィ

• ○ 初めから写実的

• ○ 取得が簡単

• × 視点,物体の操作は難しい

• リアルさ• 高操作性• 容易な取得

Page 4: コンピュテーショナルフォトグラフティの基礎

カメラの基礎

4

Page 5: コンピュテーショナルフォトグラフティの基礎

Trade-off in Usual Camera解像度

シャッター

速度

ISO感度

画角ぼけ

ノイズ

ダイナミック

レンジ

5

高解像度で,高速なシャッターで,高感度で,高画角で,ボケのコントロールが出来,低ノイズで高ダイナミックレンジな撮像は実現不可能

Page 6: コンピュテーショナルフォトグラフティの基礎

光→画像の流れ

1. レンズ

2. サンプリング

3. 量子化

4. 符号化

6

Page 7: コンピュテーショナルフォトグラフティの基礎

光線の取得

• プレノプティックサンプリングやライトフィールドの話を書く予定.

7

3次元的な情報の取得が不可能

Page 8: コンピュテーショナルフォトグラフティの基礎

コンピュータビジョン

• 画像処理基礎

• 特徴点とマッチング

• 領域分割

• レジストレーション

• 3次元幾何

8

Page 9: コンピュテーショナルフォトグラフティの基礎

古典的な画像処理

9

Page 10: コンピュテーショナルフォトグラフティの基礎

古典的なエンハンスメント

1. ダイナミックレンジ補正

2. 平滑化フィルタによるノイズ除去

3. アンシャープマスク

4. アップサンプル

10

Page 11: コンピュテーショナルフォトグラフティの基礎

ダイナミックレンジ補正

11range

frec.

range

frec.

ヒストグラム伸張

Page 12: コンピュテーショナルフォトグラフティの基礎

アンシャープマスク

12

Zoom Zoomed Sharpen

0 -1 0

-1 4 -1

0 -1 0

Un-sharp mask operator

Page 13: コンピュテーショナルフォトグラフティの基礎

平滑化フィルタによるノイズ除去

13

noisy Smoothed

0 1 0

1 2 1

0 1 0

smooth operator

Page 14: コンピュテーショナルフォトグラフティの基礎

アップサンプル

14

Interpolation

• Linear

• Cubic

• Lanczos

Pi = c(aP1 + bP2)

+ d(aP3 + dP4)

*Linear interpolation

Page 15: コンピュテーショナルフォトグラフティの基礎

古典的なエンハンスメント

1. ダイナミックレンジ補正

2. 平滑化フィルタによるノイズ除去

3. アンシャープマスク

4. アップサンプル

15

Page 16: コンピュテーショナルフォトグラフティの基礎

現在のエンハンスメント

1. ハイダイナミックレンジイメージ

2. エッジ保持平滑化によるノイズ除去

3. デブラー

4. 超解像

16

Page 17: コンピュテーショナルフォトグラフティの基礎

ハイダイナミックレンジイメージ入門

17

Page 18: コンピュテーショナルフォトグラフティの基礎

ハイダイナミックレンジイメージとは

通常以上のダイナミックレンジをもつ画像の合成

1. 複数露光の画像撮影

露光時間の異なる複数枚の画像を連射

2. 放射輝度画像作成

露光時間と輝度値の位置あわせ関係から,各画素の光量を推定

3. トーンマップ

高いダイナミックレンジから256階調の画像へとマッピング

18

Page 19: コンピュテーショナルフォトグラフティの基礎

複数露光の画像撮影

19

10-6 106

10-6 106

実世界

写真

0 to 255

High dynamic range

長時間露光

10-6 106

10-6 106

実世界

写真

0 to 255

High dynamic range

短時間露光

シャッタースピード

1/4 , 1/8 , 1/16 , 1/32,

1/64, 1/128, 1/256, 1/512, sec異なる露光時間の画像群(長→短)

Page 20: コンピュテーショナルフォトグラフティの基礎

放射輝度画像作成

20

• 3

• 1

• 2

Dt =

1 sec

• 3

• 1

• 2

Dt =

1/16 sec

• 3

• 1

• 2

Dt =

4 sec

• 3

• 1

• 2

Dt =

1/64 sec

• 3

• 1

• 2

Dt =

1/4 sec

輝度値Z= f(露光時間)

露光時間 =放射輝度’⊿t

log 露光時間 =log 放射輝度+log⊿t

3

1

2

ln露光時間

画素値

ln露光時間

画素値

露光の異なる画像を連射

Page 21: コンピュテーショナルフォトグラフティの基礎

放射輝度画像

21

Page 22: コンピュテーショナルフォトグラフティの基礎

トーンマップ

22

10-6 106

10-6 106

実世界

写真

0 to 255

High dynamic range

低コントラスト

広いレンジを狭い表示レンジへ圧縮グローバルトーンマップ• 線形変換• ガンマ変換(輝度値のみ)

線形変換 ガンマ変換

Page 23: コンピュテーショナルフォトグラフティの基礎

錯視によるレンジ圧縮

ran

ge

ran

ge

23

Page 24: コンピュテーショナルフォトグラフティの基礎

Chiu et al. 1993

Reduce low frequencyLow-freq.

High-freq.

Color

24

低周波のコントラスト圧縮(ガウシアンフィルタ)高周波を維持(残差)

Page 25: コンピュテーショナルフォトグラフティの基礎

Fast Bilateral Filtering for the Display of High-Dynamic-Range Images SIGGRAPH02

OutputLarge-scale

Detail

Color

エッジ保持平滑化フィルタを使用

Page 26: コンピュテーショナルフォトグラフティの基礎

Detail

Color

Intensity Large scale

Bilateral

Filter

Reduce

contrast

Detail

Large scale

Color

Preserve!

Input HDR

imageOutput

処理フロー

Page 27: コンピュテーショナルフォトグラフティの基礎

超解像入門

27

Page 28: コンピュテーショナルフォトグラフティの基礎

複数枚超解像とは

三つのアルゴリズムの同時実行

1. 位置合わせ

位置ずれのある複数枚の低解像度画像の張り合わせ,高周波の取得

2. デブラー

レンズぼけや,張り合わせでできたボケの除去,高周波の持ち上げ

3. デノイズ

入力画像に混入したノイズの除去,デブラー時のリンギング除去

28

Page 29: コンピュテーショナルフォトグラフティの基礎

複数枚超解像とは

三つのアルゴリズムの同時実行

1. 位置合わせ

位置ずれのある複数枚の低解像度画像の張り合わせ

2. デブラー

レンズぼけや,張り合わせでできたボケの除去

3. デノイズ

入力画像に混入したノイズの除去

29

Page 30: コンピュテーショナルフォトグラフティの基礎

低解像度時のエイリアシング

30周波数

パワー

周波数

パワー

エイリアシング(折り返し歪)

原信号 リサイズ信号

Page 31: コンピュテーショナルフォトグラフティの基礎

複数枚超解像

31

入力低解像度画像

超解像

周波数

パワー

周波数

パワー

Page 32: コンピュテーショナルフォトグラフティの基礎

デブラーによる高周波復元

32周波数

パワー

周波数

パワー原画像 ぼけ画像 復元画像

周波数を持ち上げればOK

逆フィルタ,Weinerフィルタ

Page 33: コンピュテーショナルフォトグラフティの基礎

デブラーによるノイズ増幅

33周波数

パワー ぼけ画像 ノイズ含

高周波周辺は,ノイズ情報を含む

→ノイズ強調へ

デブラーにはデノイジング必須(デリンギングも)

Page 34: コンピュテーショナルフォトグラフティの基礎

ボケすぎた場合

34

周波数

パワー

大きなぼけ画像

高周波が復元不可能

失った情報の作成が必要→学習型超解像

Page 35: コンピュテーショナルフォトグラフティの基礎

特殊な画像の超解像(アップサンプル)

35

Page 36: コンピュテーショナルフォトグラフティの基礎

デノイジング

36

IRIndoor – low light US

Page 37: コンピュテーショナルフォトグラフティの基礎

デノイジング

• ガウシアンフィルタ

• メディアンフィルタ

• バイラテラルフィルタ

• DXT(DCT,DHT,DWT)+thresholding(soft or hard)

• ノンローカルミーン

• BM3D

37

Page 38: コンピュテーショナルフォトグラフティの基礎

ガウシアンフィルタ

38

ガウシアンカーネルのコンボリューション

• ガウシアンノイズの除去

• エッジはぼける

output input

J f I

Page 39: コンピュテーショナルフォトグラフティの基礎

メディアンフィルタ

39

カーネル内の中央値を出力

• インパルスノイズ用フィルタ

• ぼけが発生しない

Page 40: コンピュテーショナルフォトグラフティの基礎

バイラテラルフィルタ

)(xJ )(I)(

1

xk

output input

x

),( xf ))()(( xIIg

画素ごとにカーネルのウェイトが異なる• 中心の色に近いほど高い重み:値域ガウシアン• 中心の位置に近いほど高い重み:空間ガウシアン

C. Tomasi, and M. Roberto, "Bilateral filtering for

gray and color images," ICCV1998.

Page 41: コンピュテーショナルフォトグラフティの基礎

Gaussian Smoothing

*

*

*

input output

Same Gaussian kernel everywhere

Averages across edges ⇒ blur

Slides taken from Sylvain Paris, Siggraph

2007

Page 42: コンピュテーショナルフォトグラフティの基礎

Bilateral Filtering

*

*

*

input output

Kernel shape depends on image content

Avoids averaging across edges

Slides taken from Sylvain Paris, Siggraph

2007

Page 43: コンピュテーショナルフォトグラフティの基礎

ノンローカルミーン

43

𝑤(𝑝, 𝑞)

𝑤(𝑝, 𝑟)𝑤(𝑝, 𝑠)

𝑥 𝑖 =1

𝐶𝑖

𝑗

𝑦(𝑗) 𝑒−𝐺𝑆𝑆𝐷 y 𝑁𝑖 −y 𝑁𝑗

2𝜎2

𝑤 𝑖, 𝑗

• バイラテラルフィルタの値域重みをパッチ(ブロック)で構築• バイラテラルフィルタの空間重みをフラットに

Buades, A., Coll, B., & Morel, J. M. “A non-local algorithm

for image denoising,” In CVPR 2005.

Demo: http://www.ipol.im/pub/art/2011/bcm_nlm/

Page 44: コンピュテーショナルフォトグラフティの基礎

DXT+threshold (Denoising in Transform Domain)

44

信号を変換することでノイズを分離・抑制変換:フーリエ,コサイン,アダマール,ウェーブレット抑制:閾値処理,ハード,ソフト

Demo http://www.ipol.im/pub/art/2011/ys-dct/

Page 45: コンピュテーショナルフォトグラフティの基礎

フーリエドメインでの処理

𝜔

signal

noise

典型的な周波数領域のフィルタ• ノイズ :白色ノイズなら均一に存在• シグナル:シグナルは,不均一に存在ローパス,ウィナーフィルタによりノイズ除去

1

× =

Low pass filter

Weiner filter

フーリエ変換後の信号

Page 46: コンピュテーショナルフォトグラフティの基礎

ウェーブレットドメイン

46

1. ウェーブレット変換(DWT)2. 閾値処理3. 逆ウェーブレット変換※DCTやDHTでも同様の処理が可能

信号

閾値処理

Hard: D(U, λ) = U for all |U|> λSoft: D(U, λ) = sgn(U)max(0, |U| - λ)

hard soft

Page 47: コンピュテーショナルフォトグラフティの基礎

DCT,DHTを使った処理

47

周波数領域でのノイズ除去1. DCT,DHT変換2. 閾値以下の小さな係数を0に置換3. 逆変換

※ノイズの混入した画像を,低いクオリティでJPEG圧縮するとノイズ除去になる.上記処理に近い処理を実行しているため.

DCT係数

DCT:離散コサイン変換DHT:離散アダマール変換

Page 48: コンピュテーショナルフォトグラフティの基礎

BM3D

48

State-of-the-arts1. パッチ単位でDXT+1次元:3次元DXT2. オーバーラップで変換&平均3. 同様の処理を1,2を参照してウィナーフィルタリング

Project page http://www.cs.tut.fi/~foi/GCF-BM3D/Demo&実装 http://www.ipol.im/pub/art/2012/l-bm3d/

.Dabov, Kostadin, et al. “Image denoising by sparse 3-D transform-

domain collaborative filtering,” IEEE Trans. Image Processing, 2007

Page 49: コンピュテーショナルフォトグラフティの基礎

BM3D:デノイズ結果

49

ガウシアンフィルタ→NLM:4~5dB↑

NML,BLS-SGM→BM3D:1dB↑

~いまだBM3Dはstate of the artsのひとつ

驚異的なデノイズ能力!

Page 50: コンピュテーショナルフォトグラフティの基礎

ブレンディング

50

Page 51: コンピュテーショナルフォトグラフティの基礎

• ポアソンブレンディング

• モーフィング

51

Page 52: コンピュテーショナルフォトグラフティの基礎

執筆中

52

Page 53: コンピュテーショナルフォトグラフティの基礎

モーフィング

• 目的は,2つの物体の平均を求めること• 画像の平均ではなく,物体の平均を求める!…

• クロスディゾルブでスムーズにつなげる

• どうやって真の平均物体の見た目を知るの?• 手がかりはない.

• ユーザ入力によりリーズナブルな理由付けが可能

Page 54: コンピュテーショナルフォトグラフティの基礎

ノンパラパラメトリック画像ワープ

制御点が望む位置に来るように分割ブロックを射影

Page 55: コンピュテーショナルフォトグラフティの基礎

ワープ関数の決定(疎)

どうやってワープグリッドを定めるのか?• 対応点を決定した後,完全なワーピング関数を決定• ドロネー分割

Page 56: コンピュテーショナルフォトグラフティの基礎

ワープ関数の決定(密)

どうやってワープグリッドを定めるのか?• 対応点を決定した後,完全なワーピング関数を決定• ドロネー分割

Page 57: コンピュテーショナルフォトグラフティの基礎

マッティング

57

Page 58: コンピュテーショナルフォトグラフティの基礎

執筆中

58

Page 59: コンピュテーショナルフォトグラフティの基礎

パノラマモザイク

59

Page 60: コンピュテーショナルフォトグラフティの基礎

Introduction

• Compact Camera FOV = 50 x 35°

Page 61: コンピュテーショナルフォトグラフティの基礎

Introduction

• Compact Camera FOV = 50 x 35°

• Human FOV = 200 x 135°

Page 62: コンピュテーショナルフォトグラフティの基礎

Introduction

• Compact Camera FOV = 50 x 35°

• Human FOV = 200 x 135°

• Panoramic Mosaic = 360 x 180°

Page 63: コンピュテーショナルフォトグラフティの基礎

Mosaics: stitching images together

virtual wide-angle camera

Page 64: コンピュテーショナルフォトグラフティの基礎

パノラマ画像の原理

64

FoVの狭いカメラ(高解像度)

カメラをさまざまな方向を向けて連結

FoVが仮想的に広いカメラに

Page 65: コンピュテーショナルフォトグラフティの基礎

自動パノラマ

• レジストレーション• 特徴マッチング

• イメージマッチング

• 画像補正• 露光,ゲイン,色温度の違い

• レンズ歪,口径食,色収差

• ブレンディング• モーション

• 視差

• 補正の誤差

65

Page 66: コンピュテーショナルフォトグラフティの基礎

RANSAC for Homography

SIFT特徴量

Page 67: コンピュテーショナルフォトグラフティの基礎

RANSAC for Homography

Page 68: コンピュテーショナルフォトグラフティの基礎

Seam Selection

• (simple) Choose image with max “weight”:

• (better) …also minimise error on seams

[ Agarwala et al SIGGRAPH 04 ]

Page 69: コンピュテーショナルフォトグラフティの基礎

Ex:コンセントリックモザイク

69Heung-Yeung Shum Li-Wei He “Rendering with Concentric Mosaics”, Siggraph1999

1. カメラアレイを水平に並べる2. 原点中心に回転しながら撮影3. 中央の画素ラインだけ採用して記録

Page 70: コンピュテーショナルフォトグラフティの基礎

Ex:スイングパノラマ

70

スイングパノラマ@Sony

カメラの中心付近のテレセントリックカメラ画像の近似(中心はほぼ平行光)

近似画像面

中央画素をコピーしながら移動

※出来るだけ移動の軌跡が円を描くようにするとよい

Page 71: コンピュテーショナルフォトグラフティの基礎

ライトフィールドレンダリング

71

Page 72: コンピュテーショナルフォトグラフティの基礎

執筆中

72

Page 73: コンピュテーショナルフォトグラフティの基礎

Depth Image based rendering & its compression

73

Page 74: コンピュテーショナルフォトグラフティの基礎

コンピュテーショナルカメラ

74

Page 75: コンピュテーショナルフォトグラフティの基礎

コンピュテーショナルカメラの例

撮像素子と画像処理と常識にとらわれない光学・ハードウェアを組み合わせて,従来のカメラでは実現困難であった撮像を可能にする手法

• カメラアレイ

• レンズアレイ

• フォーカルスタック

• 符号化開口

• 符号化露光

• 光(可視光・IR)プロジェクション・フラッシュ

• シェイク

Page 76: コンピュテーショナルフォトグラフティの基礎

Camera Array

76

映画:マトリックス Stanford camera array Nagoya Univ.camera array

Page 77: コンピュテーショナルフォトグラフティの基礎

Raytrix light field camera

77

Page 78: コンピュテーショナルフォトグラフティの基礎

Light field photography using a handheld plenoptic camera

Ren Ng, Marc Levoy, Mathieu Brédif,

Gene Duval, Mark Horowitz and Pat Hanrahan

Page 79: コンピュテーショナルフォトグラフティの基礎

Prototype camera

4000 × 4000 pixels ÷ 292 × 292 lenses = 14 × 14 pixels per lens

Contax medium format camera Kodak 16-megapixel sensor

Adaptive Optics microlens array 125μ square-sided microlenses

Page 80: コンピュテーショナルフォトグラフティの基礎

Lenslet-based Light Field camera

[Adelson and Wang, 1992, Ng et al. 2005 ]

Light Field Inside a Camera

Page 81: コンピュテーショナルフォトグラフティの基礎

Extending the depth of field

conventional 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]

Page 82: コンピュテーショナルフォトグラフティの基礎

Lytro

82

Light field photography using

a handheld plenoptic camera

の著者が作ったベンチャー

Page 83: コンピュテーショナルフォトグラフティの基礎

Coded Aperture

83

Levin, Anat, et al. "Image and depth from a

conventional camera with a coded

aperture." ACM Transactions on Graphics

(TOG) 26.3 (2007): 70.

1枚の画像はライトフィールドの積分値→リミット

Page 84: コンピュテーショナルフォトグラフティの基礎

Differences with Plenoptic Camera

• Micro-lens array

• Samples individual rays

• Needs alignment precision

• Some pixels wasted

• Narrowband Cosine Mask

• Samples coded comb of rays

• More flexible

• No wastage

- Half brightness, diffraction

Mask

Sensor

Microlens array

Sensor

Plenoptic Camera Heterodyne Camera

Page 85: コンピュテーショナルフォトグラフティの基礎

Fluttered Shutter Camera

[Raskar, Agrawal, Tumblin] Siggraph2006

Page 86: コンピュテーショナルフォトグラフティの基礎
Page 87: コンピュテーショナルフォトグラフティの基礎
Page 88: コンピュテーショナルフォトグラフティの基礎
Page 89: コンピュテーショナルフォトグラフティの基礎

Ramesh Raskar, Karhan Tan, Rogerio Feris, Jingyi Yu, Matthew Turk

Mitsubishi Electric Research Labs (MERL), Cambridge, MA

U of California at Santa Barbara

U of North Carolina at Chapel Hill

Non-photorealistic Camera:

Depth Edge Detection and Stylized Rendering

using

Multi-Flash Imaging

Page 90: コンピュテーショナルフォトグラフティの基礎

Depth

Edges

Page 91: コンピュテーショナルフォトグラフティの基礎

Our MethodCanny

Page 92: コンピュテーショナルフォトグラフティの基礎

Kinect v1

92

RGBカメラ

デプスセンサ(左:IRプロジェクタ,右IRカメラ)

Page 93: コンピュテーショナルフォトグラフティの基礎

Fuji‘s SuperCCD S3 Pro

93

画素枚の・低感度センサ

Page 94: コンピュテーショナルフォトグラフティの基礎

コンピュテーショナルカメラの資料

• 日浦先生のチュートリアル• http://www.ime.info.hiroshima-cu.ac.jp/~hiura/intro/index.html

• コンピュータビジョン最先端ガイド4• http://opluse.shop-pro.jp/?pid=37383004

• MIT Media Lab course on Computational Camera,Siggraph 2008 Course

• https://stellar.mit.edu/S/course/MAS/fa13/MAS.531/index.html

• http://web.media.mit.edu/~raskar/photo/

• コロンビア大学コンピュータビジョン研究室• http://www1.cs.columbia.edu/CAVE/projects/cc.php

94

Page 95: コンピュテーショナルフォトグラフティの基礎

Image Filtering 2.0Efficient Edge-Aware Filtering and Their Applications

ICIP2013

95

Page 96: コンピュテーショナルフォトグラフティの基礎

執筆中

• エッジ保持平滑化の有効範囲について.

Page 97: コンピュテーショナルフォトグラフティの基礎

バイラテラルフィルタとその応用

97

Page 98: コンピュテーショナルフォトグラフティの基礎

Gaussian Blur

average

input

per-pixel multiplication

output*

Page 99: コンピュテーショナルフォトグラフティの基礎

input

Page 100: コンピュテーショナルフォトグラフティの基礎

Gaussian blur

Page 101: コンピュテーショナルフォトグラフティの基礎

normalized

Gaussian function

Equation of Gaussian Blur

S

IGIGBq

qp qp ||||][

Same idea: weighted average of pixels.

0

1

Page 102: コンピュテーショナルフォトグラフティの基礎

unrelated

pixels

unrelated

pixels

uncertain

pixels

uncertain

pixels

related

pixels

Gaussian Profile

pixel

position

pixel

weight

2

2

2exp

2

1)(

xxG

Page 103: コンピュテーショナルフォトグラフティの基礎

size of the window

Spatial Parameter

S

IGIGBq

qp qp ||||][

small large

input

limited smoothing strong smoothing

Page 104: コンピュテーショナルフォトグラフティの基礎

How to set

• Depends on the application.

• Common strategy: proportional to image size• e.g. 2% of the image diagonal

• property: independent of image resolution

Page 105: コンピュテーショナルフォトグラフティの基礎

Properties of Gaussian Blur

• Weights independent of spatial location

• linear convolution

• well-known operation

• efficient computation (recursive algorithm, FFT…)

Page 106: コンピュテーショナルフォトグラフティの基礎

Properties of Gaussian Blur

• Does smooth images

• But smoothes too much:edges are blurred.

• Only spatial distance matters

• No edge term

input

output

S

IGIGBq

qp qp ||||][

space

Page 107: コンピュテーショナルフォトグラフティの基礎

Blur Comes from Averaging across Edges

*

*

*

input output

Same Gaussian kernel everywhere.

Page 108: コンピュテーショナルフォトグラフティの基礎

Bilateral FilterNo Averaging across Edges

*

*

*

input output

The kernel shape depends on the image content.

[Aurich 95, Smith 97, Tomasi 98]

Page 109: コンピュテーショナルフォトグラフティの基礎

space weight

not new

range weight

I

new

normalization

factor

new

Bilateral Filter Definition:an Additional Edge Term

S

IIIGGW

IBFq

qqp

p

p qp ||||||1

][rs

Same idea: weighted average of pixels.

Page 110: コンピュテーショナルフォトグラフティの基礎

Illustration a 1D Image

• 1D image = line of pixels

• Better visualized as a plot

pixel

intensity

pixel position

Page 111: コンピュテーショナルフォトグラフティの基礎

space

Gaussian Blur and Bilateral Filter

space rangenormalization

Gaussian blur

S

IIIGGW

IBFq

qqp

p

p qp ||||||1

][rs

Bilateral filter[Aurich 95, Smith 97, Tomasi 98]

space

space

ran

ge

p

p

q

q

S

IGIGBq

qp qp ||||][

Page 112: コンピュテーショナルフォトグラフティの基礎

q

p

Bilateral Filter on a Height Field

output input

S

IIIGGW

IBFq

qqp

p

p qp ||||||1

][rs

p

reproduced

from [Durand 02]

Page 113: コンピュテーショナルフォトグラフティの基礎

Space and Range Parameters

• space s : spatial extent of the kernel, size of the considered neighborhood.

• range r : “minimum” amplitude of an edge

S

IIIGGW

IBFq

qqp

p

p qp ||||||1

][rs

Page 114: コンピュテーショナルフォトグラフティの基礎

Influence of Pixels

p

Only pixels close in space and in range are considered.

space

range

Page 115: コンピュテーショナルフォトグラフティの基礎

s = 2

s = 6

s = 18

r = 0.1 r = 0.25r =

(Gaussian blur)

input

Exploring the Parameter Space

Page 116: コンピュテーショナルフォトグラフティの基礎

s = 2

s = 6

s = 18

r = 0.1 r = 0.25r =

(Gaussian blur)

input

Varying the Range Parameter

Page 117: コンピュテーショナルフォトグラフティの基礎

input

Page 118: コンピュテーショナルフォトグラフティの基礎

r = 0.1

Page 119: コンピュテーショナルフォトグラフティの基礎

r = 0.25

Page 120: コンピュテーショナルフォトグラフティの基礎

r = (Gaussian blur)

Page 121: コンピュテーショナルフォトグラフティの基礎

s = 2

s = 6

s = 18

r = 0.1 r = 0.25r =

(Gaussian blur)

input

Varying the Space Parameter

Page 122: コンピュテーショナルフォトグラフティの基礎

input

Page 123: コンピュテーショナルフォトグラフティの基礎

s = 2

Page 124: コンピュテーショナルフォトグラフティの基礎

s = 6

Page 125: コンピュテーショナルフォトグラフティの基礎

s = 18

Page 126: コンピュテーショナルフォトグラフティの基礎

How to Set the Parameters

Depends on the application. For instance:

• space parameter: proportional to image size• e.g., 2% of image diagonal

• range parameter: proportional to edge amplitude• e.g., mean or median of image gradients

• independent of resolution and exposure

Page 127: コンピュテーショナルフォトグラフティの基礎

Bilateral Filtering Color Images

S

IIIGGW

IBFq

qqp

p

p qp ||||||1

][rs

S

GGW

IBFq

qqp

p

p CCCqp ||||||||1

][rs

For gray-level images

For color images

intensity difference

color difference

The bilateral filter is

extremely easy to adapt to your need.

scalar

3D vector

(RGB, Lab)

input

output

Page 128: コンピュテーショナルフォトグラフティの基礎

Hard to Compute

• Nonlinear

• Complex, spatially varying kernels• Cannot be precomputed, no FFT…

• Brute-force implementation is slow > 10min

S

IIIGGW

IBFq

qqp

p

p qp ||||||1

][rs

Page 129: コンピュテーショナルフォトグラフティの基礎

ジョイント・クロスバイラテラルフィルタ,Petschnigg(2004) and Eisemann(2004)

バイラテラル 1枚の画像を2種類の重みでフィルタ

NEW : この重みを2種類の画像から計算

• 画像 A を平滑化する

• ただし,画像Bで類似領域は指定する

どうしてそんなことをするのか?

→両者のいいとこ取りをするため.

Page 130: コンピュテーショナルフォトグラフティの基礎

従来のバイラテラルフィルタ

Domain

Range

f(x)x

S

AAAGGW

ABFq

qqp

p

p qp ||||||1

][rs

バイラテラル 画像Aから2種類の重みを計算

c

s

Page 131: コンピュテーショナルフォトグラフティの基礎

S

ABBGGW

ABFq

qqp

p

p qp ||||||1

][rs

ジョイント・クロスバイラテラルフィルタ

B: ノイズ小信号強度大(フラッシュ画像)

ジョイントバイラテラル 画像Bから2種類の重みを計算し画像Aをフィルタ

c

s

c

s

A: ノイジー,信号曖昧(環境光画像)

Page 132: コンピュテーショナルフォトグラフティの基礎

画像A: 色温度高,影つき,ノイズ大

No-flash

Page 133: コンピュテーショナルフォトグラフティの基礎

画像B: 色温度低,影無し,ノイズ小

Page 134: コンピュテーショナルフォトグラフティの基礎

ジョイントバイラテラルフィルタによる良いとこどり

Page 135: コンピュテーショナルフォトグラフティの基礎

明らかに改善!

Page 136: コンピュテーショナルフォトグラフティの基礎

ノンローカルミーンフィルタ(Buades 2005)

目的として類似した領域を平滑化するのは同じ

KEY: 類似性の拡張• Bilateral:

近傍の輝度の類似度に応じて平均

• NL-Means:近傍のパッチの類似度に応じて平均

Page 137: コンピュテーショナルフォトグラフティの基礎

NL-Means Method:Buades (2005)

Vp = 0.74

0.32

0.41

0.55

全ての画素pにおいて固定窓サイズのパッチ(近傍領域)を決定し,パッチ内輝度値をベクトルVpのとして定義

Page 138: コンピュテーショナルフォトグラフティの基礎

NL-Means Method:Buades (2005)

|| Vp – Vq ||2

p

q

Page 139: コンピュテーショナルフォトグラフティの基礎

NL-Means Method:Buades (2005)

pq’

ベクトルのL2ノルムで距離を定義

|| Vp – Vq ||2

類似画素 p,q 間距離:短

非類似画素 p,q’ 間距離:長

この距離に応じてフィルタ

q

S

IVVGW

INLMFq

qqp

p

p

2||||1

][r

※空間重みなし

Page 140: コンピュテーショナルフォトグラフティの基礎

NL-Means Filter (Buades 2005)

• Noisysourceimage:

Page 141: コンピュテーショナルフォトグラフティの基礎

NL-Means Filter (Buades 2005)

• GaussianFilter

Low noise,

Low detail

Page 142: コンピュテーショナルフォトグラフティの基礎

NL-Means Filter (Buades 2005)

• AnisotropicDiffusion

(Note ‘stairsteps’:~ piecewiseconstant)

Page 143: コンピュテーショナルフォトグラフティの基礎

NL-Means Filter (Buades 2005)

• BilateralFilter

(better, butsimilar‘stairsteps’:

Page 144: コンピュテーショナルフォトグラフティの基礎

NL-Means Filter (Buades 2005)

• NL-Means:

Sharp,

Low noise,

Few artifacts.

Page 145: コンピュテーショナルフォトグラフティの基礎

さまざまなBilateral Filterの実装

• Fast bilateral filtering for the display of high-dynamic-range images, SIGGRAPH 2002

• バイラテラルフィルタを分解し,ボックスフィルタの重ねあわせに

• Separable bilateral filtering for fast video preprocessing, ICME2005

• 縦横のカーネルを無理やり分離.かなり高速

• A Fast Approximation of the Bilateral Filter using a Signal Processing Approach, ECCV2006

• バイラテラルグリッド

• Lazy sliding window implementation of the bilateral filter on parallel architectures

• Bilatral Grid 上記のSIMDに適した実装.

• Fast Median and Bilateral Filtering, SIGGRAPH 2006

• Constant time O(1) bilateral filtering, CVPR2008

• ヒストグラムで高速化

• Real-time O(1) bilateral filtering, CVPR2009

• スライスに分割して高速化

• Recursive Bilateral Filtering, ECCV2012

• バイラテラルフィルタのIIRフィルタ表現.ただしバイラテラルフィルタのどこまで近似になっているかの実験無し

• Acceleration of bilateral filtering algorithm for manycore and multicore architectures ICPP2012

• 直接並列化.Pair-symmetric実装により2倍速.

• Fast High-Dimensional Filtering Using the Permutohedral Lattice Eurographics 2010

• 高次元高速化フィルタ

• Adaptive Manifolds for Real-Time High-Dimensional Filtering Siggraph2012

• 高次元高速化フィルタ

Page 146: コンピュテーショナルフォトグラフティの基礎

高速化の分類

• ヒストグラム

• 高次元ガウシアン

• 再帰

• 間引き

146

Page 147: コンピュテーショナルフォトグラフティの基礎

その他のエッジ保持平滑化フィルタ

• Edge-preserving decompositions for multi-scale tone and detail manipulation, ACM Trans. Graph., vol. 27, no. 3, pp. 1–10, Aug. 2008.

• Edge-avoiding wavelets and their applications, ACM Trans. Graph., vol. 28, no. 3, pp. 1–10, Jul. 2009.

• Guided image filtering,‖ in Proc. ECCV., 2010.

• Domain transform for edge-aware image and video Processing, ACM Trans. Graph., vol. 30, no. 4, pp. 1– 12, Jul. 2011.

147

Page 148: コンピュテーショナルフォトグラフティの基礎

エッジ保持平滑化によるアプリケーション• 超解像

• ボケ除去

• デノイズ

• フラッシュノンフラッシュ

• デノイズ

• 赤目除去

• ヘイズリムーブ

• アップサンプル

• ピクセルアートアップサンプル

• アブストラクション,stylization

• カラリゼーション

• HDR

• ディテールエンハンスメント

• ステレオマッチング

• オプティカルフロー推定

• アルファマッティング

• レンズ風ぼかし

• 鉛筆画

• リカラー

Page 149: コンピュテーショナルフォトグラフティの基礎

OpenCV

149

Page 150: コンピュテーショナルフォトグラフティの基礎

OpenCV 3.0のコンピューテーショナルフォトグラフィに関連する関数群• Imgproc

• バイラテラルフィルタ• ミーンシフト

• Video• オプティカルフロー• 背景差分

• Calib3d• ステレオ対応• カメラキャリブレーション

• Features2d, nonfree• 特徴点抽出

• Photo• デノイズ• HDR• インペイント• デカラー• シームクローニング• ノンフォトリアリスティックレンダンリング

• Stitching• パノラマ

• Superres• 超解像

1503.0β 2014年5月:http://docs.opencv.org/trunk/

Page 151: コンピュテーショナルフォトグラフティの基礎

並列計算について

• https://github.com/norishigefukushima/OpenCP

151

Page 152: コンピュテーショナルフォトグラフティの基礎

参考資料一覧

152

Page 153: コンピュテーショナルフォトグラフティの基礎

コンピュテーショナルフォトグラフィ教科書

153

※フリーのドラフト番はここ( http://szeliski.org/Book/ )にアップロードされている.

Richard Szeliski, “Computer Vision: Algorithms and

Applications,” Springer, 2010.日本語訳:”コンピュータビジョンーアルゴリズムと応用ー,”共立出版,2013.

1. はじめに2. 画像生成3. 画像処理4. 特徴検出とマッチング5. 領域分割6. 特徴に基づく位置合わせ7. 運動からの形状復元8. 密な運動推定9. 画像の張り合わせ10. コンピュテーショナルフォトグラフィ11. ステレオ対応12. 3次元復元13. イメージベーストレンダリング14. 認識

Page 154: コンピュテーショナルフォトグラフティの基礎

参考資料へのリンクフィルタリングのコース資料

• A Gentle Introduction to Bilateral Filtering and its Applications• SIGGRAPH 2007, 2008, CVPR 2008

• http://people.csail.mit.edu/sparis/bf_course/

• Image Filtering 2.0: Efficient Edge-Aware Filtering and Their Applications

• ICIP2013

• https://sites.google.com/site/filteringtutorial/

Page 155: コンピュテーショナルフォトグラフティの基礎

参考資料へのリンクHDRの資料

• Paul E. Debevec and Jitendra Malik. “Recovering High Dynamic Range Radiance Maps from Photographs,” InSIGGRAPH 97, Aug. 1997

• http://www.pauldebevec.com/Research/HDR/

• HDRI - Introduction - TU Berlin• http://cybertron.cg.tu-berlin.de/pdci09/hdr_tonemapping/index.html

Page 156: コンピュテーショナルフォトグラフティの基礎

参考資料へのリンクデブラーの資料

• SmarDeblur• http://smartdeblur.net/

• ソースコード:https://github.com/Y-Vladimir/SmartDeblur

• Matlab:ブレ除去• ウィーナーフィルタ,生息かフィルタ,LR,ブラインドデコンボリューション,etc…

• http://www.mathworks.co.jp/jp/help/images/image-restoration-deblurring.html

156

Page 157: コンピュテーショナルフォトグラフティの基礎

参考資料へのリンクモーフィングの資料

• WinMorph• http://www.debugmode.com/winmorph/

• SmartMorph• http://smartmorph.jp.brothersoft.com/

• FotoMorph• http://fotomorph.softonic.jp/

• OpenCV implementation @takmin• https://github.com/takmin/ImageMorphing

157

Page 158: コンピュテーショナルフォトグラフティの基礎

参考資料へのリンクコンピューテーショナルフォトグラフィ講義資料

• CMU http://graphics.cs.cmu.edu/courses/15-463/2012_fall/

• MIT http://stellar.mit.edu/S/course/6/sp12/6.815/materials.html

http://people.csail.mit.edu/torralba/courses/6.869/6.869.computervision.htm

• Cornell http://www.cs.cornell.edu/Courses/cs6640/2012fa/index.shtml

• Illinois http://courses.engr.illinois.edu/cs498dh3/

• Columbiahttp://www.cs.columbia.edu/~belhumeur/courses/compPhoto/compPhoto4.html

• Brown http://cs.brown.edu/courses/csci1950-g/

• Washington http://courses.cs.washington.edu/courses/cse576/05sp/

• EPFL http://moodle.epfl.ch/course/view.php?id=472

• ETH http://www.inf.ethz.ch/personal/marc.pollefeys/courses/CompPhoto/

158