• 検索結果がありません。

Microsoft PowerPoint - SSII08p.ppt

N/A
N/A
Protected

Academic year: 2022

シェア "Microsoft PowerPoint - SSII08p.ppt"

Copied!
70
0
0

読み込み中.... (全文を見る)

全文

(1)

⽯川 博

名古屋市⽴⼤学 ⼤学院システム⾃然科学研究科

グラフカットの理論と応⽤

(2)

⽬次

応⽤例の紹介・歴史 エネルギー最⼩化 実装例

グラフとその切断

グラフカットによるエネルギー最⼩化

2値の場合

多値の場合(⼤域最⼩化できる場合)

多値の場合(近似アルゴリズム)

まとめ

応⽤例の紹介・歴史

(3)

グラフカット

別名 s-t mincut

エネルギー最⼩化をする⽅法

トレードオフをエネルギーとして表現

応⽤分野

画像復元 ステレオ

セグメンテーション 動画像解析

テクスチャ合成

フォトモンタージュ

(4)

インタラクティブ・セグメンテーション

Rother et.al.

SIGGRAPH2004

(5)

インタラクティブ・セグメンテーション

Boykov&Jolly ICCV2001

(6)

インタラクティブ・セグメンテーション

Wang et.al. SIGGRAPH2005

(7)

テクスチャ合成

Kwatra et.al. SIGGRAPH2003

(8)

テクスチャ合成

Kwatra et.al. SIGGRAPH2003

(9)

インタラクティブ・フォトモンタージュ

Agarwala et.al. SIGGRAPH2004

(10)

ステレオ

Left Right Elevation map

(11)

歴史

エネルギー最⼩化には従来SAやICMなどの確率 的⼿法が使われてきた

ORではグラフカットは昔から使われていた 画像処理で80年代末に使われた

ビジョンでは90年代末になって使われはじめた

いくつかの理論的結果が再発⾒(新発⾒も)された

ここ数年グラフィクスでも盛んに使われている

(12)

⽬次

応⽤例の紹介・歴史 エネルギー最⼩化 実装例

グラフとその切断

グラフカットによるエネルギー最⼩化

2値の場合

多値の場合(⼤域最⼩化できる場合)

多値の場合(近似アルゴリズム)

まとめ

エネルギー最⼩化

(13)

例:2値の画像復元

ノイズ除去

与えられるのはノイズの⼊った画像 Y だけ

何を根拠にノイズと判断するか?

元画像はピクセル間であまり激しく変化しないと仮定 与えられた画像 Y に近い、あまり変化しない画像

トレードオフをエネルギーで表現 E( X )

Y X

Y に近い 隣接画素間で変化しない

(14)

例:2値の画像復元

Y X

Y に近い 隣接画素間で変化しない

− +

=

E v

u

v u

V v

v

v X X X

Y X

E

) , (

|

|

|

| )

(

λ κ

エネルギーを最⼩化する X を⾒つける

ピクセル全部 隣接する

ピクセルの組

各ピクセル v Xv (= 0 or 1)

(15)

例:2値の画像復元

Y X

Y に近い 隣接画素間で変化しない

− +

=

E v

u

v u

V v

v

v X X X

Y X

E

) , (

|

|

|

| )

(

λ κ

エネルギーを最⼩化する X を⾒つける

ピクセル全部 隣接する

ピクセルの組

各ピクセル v Xv (= 0 or 1)

YX が同じなら0 異なれば λ

X Y

0 0 0 λ 0 0 0 0 λ 0 0 0

(16)

例:2値の画像復元

Y X

Y に近い 隣接画素間で変化しない

− +

=

E v

u

v u

V v

v

v X X X

Y X

E

) , (

|

|

|

| )

(

λ κ

エネルギーを最⼩化する X を⾒つける

ピクセル全部 隣接する

ピクセルの組

各ピクセル v Xv (= 0 or 1)

隣同⼠で同じなら0

異なれば κ X

(17)

エネルギー最⼩化

⼀般に次の形のエネルギーを考える

ただし、V は場所(サイト)の集合

E は隣接するサイトの組の集合

X V の各サイトにラベルを与える 1次のマルコフ確率場(MRF)

問題:E(X )を最⼩化するX を⾒つける

データ項 平滑化項

+

=

E v

u

v u

uv V

v

v

v X h X X

g X

E

) , (

) ,

( )

( )

(

(18)

エネルギー最⼩化

問題:E(X )を最⼩化するX を⾒つける

可能な X は⾮常に多い

Vの各サイトにラベルをつけるつけ⽅

V64×64 ラベル 0 or 1 なら 24096 (>101233)通り

⼀般にはNP困難

(指数時間かからない⽅法は⾒つかりそうにない)

従来の⽅法:モンテカルロ

特別な場合にグラフカットで⼤域最⼩化可能

(19)

⽬次

応⽤例の紹介・歴史 エネルギー最⼩化 実装例

グラフとその切断

グラフカットによるエネルギー最⼩化

2値の場合

多値の場合(⼤域最⼩化できる場合)

多値の場合(近似アルゴリズム)

まとめ 実装例

(20)

エネルギー設計のための5項⽬

ノイズ除去の場合 サイト⼀つの画像の画素

隣接関係画素の隣接関係

ラベル画素の⾊

データ項:データをどう反映させるか

与えられた画像の同じ画素の⾊との差を⼩さくする

平滑化項:X に望まれる性質

隣接した画素のラベルとの違いを⼩さくする

+

=

E v

u

v u

uv V

v

v

v X h X X

g X

E

) , (

) ,

( )

( )

(

探す対象 X の空間:

各サイトへのラベルの割り当て⽅

(21)

α-β 交換 α 拡張

Boykov et. al. PAMI 2001

実装例(1) ステレオ

Simulated Annealing 視差(ディスパリティ)

(22)

サイト⼀つの画像の画素

隣接関係画素の隣接関係

ラベル視差(ディスパリティ)

データ項ディスパリティ分だけずれた画素同⼠を⽐べる

平滑化項隣接した画素間のラベルを滑らかにする 滑らかにしたいがジャンプも許したい

明るさが⼤きく変化するところでは を⼩さくする

実装例(1) ステレオ

+ +

=

E v

u

v u

uv V

v

X v

v I X X

I X

E v

) , (

) ,

Potts(

|

| )

(

λ

=

= 1

) (

) 0

,

Potts( l m

m

l (l m)

右画像 左画像

λuv

(23)

Boykov&Jolly ICCV2001

実装例(2) セグメンテーション

(24)

実装例(2) セグメンテーション

サイト画素

隣接関係画素の隣接関係

ラベル前景か背景 (0 or 1)

データ項そのピクセルの⾊から、前景らしいか背景らしいか

平滑化項隣接した画素間のラベルを滑らかにする

+

=

E v

u

v u

uv V

v

v

v X h X X

g X

E

) , (

) ,

( )

( )

(

(25)

実装例(2) セグメンテーション

データ項:ユーザーが指定した前景・背景のサンプ ルからヒストグラムを作り、それから前景(背景)

らしさを評価

: 前景のヒストグラム : 背景

は に正規化

1 , 0

) ), ( ( log )

(l = I v l l =

gv θ

) 0 ,

θ (c θ (c,1)

θ

( ,0) =

( ,1) =1

c c

c

c θ

θ

c θ

c

) θ

0 ,

θ (c θ (c,1)

(26)

平滑化項:Potts (⾊が違う程ペナルティは⼩さい)

⾊の変化が⼤きいところで切る

⎪⎪

=

=

) ) (

, dist(

) (

0 )

,

( { ( ) ( )}2

l v l

u e

l l

l l

huv κ I u I v λ

実装例(2) セグメンテーション

ラベルによらない

(27)

自動

ユーザー 操作

セグメンテーション

Rother et.al.

SIGGRAPH2004

自動

セグメンテーション

実装例(2) セグメンテーション

(28)

実装例(3) フォトモンタージュ

Agarwala et.al. SIGGRAPH2004

(29)

実装例(3) フォトモンタージュ

Agarwala et.al.

SIGGRAPH2004

(30)

実装例(3) フォトモンタージュ

サイト・隣接関係

画素・画素の隣接関係

ラベルどのソース写真から持ってくるか (1,2, ..., k)

データ項ソースが指定されている画素では指定されたラベル以外 に⼀定のペナルティ

その画素でソースが指定されていなければ 0 )

' (

) ' (

) 0

( l l

l l l M

gv

=

=

(31)

実装例(3) フォトモンタージュ

平滑化項

セグメンテーションとは逆に、境界が⾒えにくくしたい

⾊が近い程ペナルティは⼩さい

⾊以外のもの(例えば⾊の勾配)も合わせればよりよい

)) (

), ( dist(

)) (

), (

dist(

) ,

(l m I u I u I v I v

huv = l m + l m

(32)

実装例(4)テクスチャ合成

Kwatra et.al. SIGGRAPH2003

(33)

実装例(4)テクスチャ合成

(どこにパッチを持ってくるかは解決済みとする。)

(34)

実装例(5)デジタル・タペストリ

Rother et.al.

CVPR2005

(35)

実装例(5)デジタル・タペストリ

タペストリもソース画像もブロックに分割 サイト:タペストリ上のブロック

隣接:全サイト&タペストリ上の隣接関係(後述)

ラベル:(ソース画像,ブロックのシフト)

ソース 1

ソース 2

シフト−2

(1,−2) (1,−2) (2,1)(1,−2) (1,−2) (2,1) (2,1)(2,1) (1,−2) (1,−2) (2,1) (2,1)

(36)

実装例(5)デジタル・タペストリ

データ項:ブロックの⽬⽴ち度 (実はコントラスト)

ソース画像の端より中⼼部の⽅を優遇

平滑化項同じソースブロックは⼀度しか使わない (全サイトが隣接)

隣接ブロックの整合性(タペストリ上の隣接関係)

(1,−2) (1,−2) (2,1) (2,1)

ソース 1

ソース 2

シフト−2

(1,−2) (1,−2) (2,1) (2,1) (1,−2) (1,−2) (2,1) (2,1)

(37)

⽬次

応⽤例の紹介・歴史 エネルギー最⼩化 実装例

グラフとその切断

グラフカットによるエネルギー最⼩化

2値の場合

多値の場合(⼤域最⼩化できる場合)

多値の場合(近似アルゴリズム)

まとめ

グラフとその切断

(38)

グラフとその切断

有向グラフ

G = (V, E )

V :有限集合 E V ×V

(頂点) (辺)

グラフの「重み」

c: E R

u (u,v) v

u c(u,v) = 2 v

1 4

3

(39)

グラフとその切断

重みつき有向グラフG の2頂点 s, t を選ぶ

Gs, t についての切断とは、次のように頂点を 2グループ(S,T )に分けること

V = S T, S T = ∅ s∈S, t∈T

1 3

2 1

4

3 2

s t

(40)

グラフとその切断

重みつき有向グラフG の2頂点 s, t を選ぶ

Gs, t についての切断とは、次のように頂点を 2グループ(S,T )に分けること

V = S T, S T = ∅ s∈S, t∈T

1 3

2 1

4

3 2

s t

S T

(41)

グラフとその切断

重みつき有向グラフG の2頂点 s, t を選ぶ

Gs, t についての切断とは、次のように頂点を 2グループ(S,T )に分けること

V = S T, S T = ∅ s∈S, t∈T

S 側からT 側へ⾏く辺の重み

の総和を(S,T )のコストという

1 3

2 1

4

3 2

s t

S T

コスト: 10

(42)

グラフとその切断

重みつき有向グラフG の2頂点 s, t を選ぶ

Gs, t についての切断とは、次のように頂点を 2グループ(S,T )に分けること

V = S T, S T = ∅ s∈S, t∈T

S 側からT 側へ⾏く辺の重み

の総和を(S,T )のコストという

1 3

2 1

4

3 2

s t

S T

コスト: 4

(43)

Gs, t についての切断のうち、コストが最⼩の ものを最⼩切断という

最⼩切断は最⼤流と等しい

Ford & Fulkersonの定理 (1956) 辺の重みをパイプの太さと考えて

s から t へ流せる最⼤の⽔の流れ 最⼤流で飽和する辺が最⼩切断

グラフの最⼩切断

5 1

3

4 3 2

t

4

3 1

3 1 3

2 s

(44)

グラフの最⼩切断

Gs, t についての切断のうち、コストが最⼩の ものを最⼩切断という

最⼩切断は最⼤流と等しい

重みがすべて⾮負のとき、最⼤流は多項式時間で 求められる

切断の数は 2頂点の数 個ある

(45)

⽬次

応⽤例の紹介・歴史 エネルギー最⼩化 実装例

グラフとその切断

グラフカットによるエネルギー最⼩化

2値の場合

多値の場合(⼤域最⼩化できる場合)

多値の場合(近似アルゴリズム)

まとめ

グラフカットによるエネルギー最⼩化

2値の場合

(46)

|

| )

( )

(

) , (

v u

E v

u V

v

v

v X X X

g X

E =

+

κ

グラフでエネルギー最⼩化(2値)

重みつき

s t

+

=

E v

u V

v

v

v X

g X

E

) , (

) (

) (

(47)

|

| )

( )

(

) , (

v u

E v

u V

v

v

v X X X

g X

E =

+

κ

グラフでエネルギー最⼩化(2値)

v

) 1

v ( g

) 0

v ( g

切断

s

X

v

= 0

t

X

v

= 1

(48)

|

| )

( )

(

) , (

v u

E v

u V

v

v

v X X X

g X

E =

+

κ

グラフでエネルギー最⼩化(2値)

κ X

v

= 0

X

v

= 1

切断

s t

(49)

画像平⾯グラフ

(50)

2次元の場合

s t

(51)

3次元の場合

s t

(52)

グラフでエネルギー最⼩化(2値)

Xと切断に1対1対応

エネルギー = 切断のコスト

最⼩切断 → エネルギー最⼩化 重みが全て⾮負である必要

s t

s t

X 0 1 1 0 1 1 1 0 0 1 1 X 1 1 1 0 0 0 0 0 1 0 0

(53)

グラフでエネルギー最⼩化(2値)

辺の重みが全て⾮負である必要

は任意の関数でよい

+

=

E v

u

v u

uv V

v

v

v X h X X

g X

E

) , (

) ,

( )

( )

( ) (x gv

2 )

0

( = −

gv

5 )

1

( = − gv

3

0 + 5

s t

s t

(54)

グラフでエネルギー最⼩化(2値)

辺の重みが全て⾮負である必要

は任意の関数でよい についての条件

劣モジュラ性 (submodularity)

) 0 , 1 ( )

1 , 0 ( )

1 , 1 ( )

0 , 0

( uv uv uv

uv h h h

h + ≤ +

+

=

E v

u

v u

uv V

v

v

v X h X X

g X

E

) , (

) ,

( )

( )

( ) (x gv

) ,

(x y huv

(55)

グラフでエネルギー最⼩化(2値)

辺の重みが全て⾮負である必要

条件: huv (0,0) + huv (1,1) ≤ huv (0,1) + huv (1,0)

+

=

E v

u

v u

uv V

v

v

v X h X X

g X

E

) , (

) ,

( )

( )

(

u v

) 1 , 1 ( )

0 , 0 (

) 0 , 1 ( )

1 , 0 (

uv uv

uv uv

h h

h h

+

) 1 , 1 ( )

0 , 1

( uv

uv h

h

) 0 , 0 ( )

0 , 1

( uv

uv h

h

u v

0 0 0 1

) 1 , 1 ( )

0 , 1

( uv

uv h

h

) 1 , 1 ( )

0 , 0 (

) 0 , 1 ( )

1 , 0 (

uv uv

uv uv

h h

h h

+

1 0

) 1 , 1 (

) 0 , 0 ( )

0 , 1 ( 2

uv

uv uv

h

h h

1 1 huv(1,0) huv(0,0)

s t

(56)

グラフでエネルギー最⼩化(2値)

辺の重みが全て⾮負である必要

条件:4通りの場合に同じ値を加えるhuv (0,0) + huv (1,1) ≤ huv (0,1) + huv (1,0)

+

=

E v

u

v u

uv V

v

v

v X h X X

g X

E

) , (

) ,

( )

( )

(

s t

v

) 1 , 1 ( )

0 , 0 (

) 0 , 1 ( )

1 , 0 (

uv uv

uv uv

h h

h h

+ u v

0 0 0 1 1 0

1 1

) 1 , 1 ( )

0 , 1

( uv

uv h

h

) 0 , 0 ( )

0 , 1

( uv

uv h

h

) 1 , 0

uv( h

) 0 , 1

uv( h

) 1 , 1

uv( h

) 0 , 0

uv( h

u

(57)

グラフでエネルギー最⼩化(2値)

辺の重みが全て⾮負である必要

は任意の関数でよい についての条件

劣モジュラ性 (submodularity)

ORでは知られていた

) 0 , 1 ( )

1 , 0 ( )

1 , 1 ( )

0 , 0

( uv uv uv

uv h h h

h + ≤ +

+

=

E v

u

v u

uv V

v

v

v X h X X

g X

E

) , (

) ,

( )

( )

( ) (x gv

) ,

(x y huv

(58)

⽬次

応⽤例の紹介・歴史 エネルギー最⼩化 実装例

グラフとその切断

グラフカットによるエネルギー最⼩化

2値の場合

多値の場合(⼤域最⼩化できる場合)

多値の場合(近似アルゴリズム)

まとめ

多値の場合(⼤域最⼩化できる場合)

(59)

+

=

E v

u

v u

uv V

v

v

v X h X X

g X

E

) , (

) ,

( )

( )

(

グラフでエネルギー最⼩化(多値)

ラベルが3つ以上の場合

ラベルが1列に並んでいる場合:

⼤域最⼩化できる が の凸関数 実際には後述の近似最⼩化の⽅がよく使われる。

} ,

, ,

{l0 l1 lk

L = L

) ,

( i j

uv l l

h ij

(60)

i

3 2 1 0

+

=

E v

u

v u

uv V

v

v

v X h X X

g X

E

) , (

) ,

( )

( )

(

グラフでエネルギー最⼩化(多値)

s t

gv(l0)

gv(l1) gv(l2) gv(l3)

|

| )

,

(l l i j

huv i j =

κ

(61)

i

3 2 1 0

+

=

E v

u

v u

uv V

v

v

v X h X X

g X

E

) , (

) ,

( )

( )

(

グラフでエネルギー最⼩化(多値)

s t

)

~( )

,

( u v u v

uv X X h X X

h =

が凸であることが必要⼗分

(62)

⽬次

応⽤例の紹介・歴史 エネルギー最⼩化 実装例

グラフとその切断

グラフカットによるエネルギー最⼩化

2値の場合

多値の場合(⼤域最⼩化できる場合)

多値の場合(近似アルゴリズム)

まとめ

多値の場合(近似アルゴリズム)

(63)

グラフでエネルギー最⼩化(多値)

平滑化項が凸でなければならない

近似アルゴリズム

α -β 交換・ α 拡張

⼤域最⼩値の2c倍以内にできる

Pottsモデル(同じか違うかだけ)の場合 c =1

⎟⎟

⎜⎜

=

min ( , )

) ,

( max

max,

v u

X uv X

v u

X uv X V v

u h X X

X X

h c

v u

v u

(64)

グラフでエネルギー最⼩化(近似多値)

繰り返しによる近似最⼩化

サイトごとに、次の操作をするかどうかを 2値のグラフカットで決める

α -β 交換

現在値がα,β∈Lのどちらかのところのみ交換を許す 全てのα,β∈Lについて次を満たすとき可能

α 拡張

α に変えることのみを許す

全てのα, β, γ ∈Lについて次を満たすとき可能

) ,

( )

, ( )

, ( )

,

(α α uv β β uv α β uv β α

uv h h h

h + +

) ,

( )

, ( )

, ( )

,

(α α uv β γ uv α γ uv β α

uv h h h

h + +

(65)

α 拡張

初期解

-拡張 -拡張 -拡張 -拡張 -拡張 -拡張 -拡張

繰り返し毎にラベル“α ”が他のラベルから場所を奪う

毎回エネルギーを最も小さくする拡張を選ぶ: 2値最小化

(66)

現在値

α

α 拡張

(67)

α 拡張アルゴリズム

1. 任意の初期解から始める

2. 任意の順でラベル “α ” を選び、

1. 最善のα 拡張を見つける (2値グラフカット)

2. エネルギーの減るα 拡張がなければ拡張しない 3. エネルギーの減る拡張がなくなるまで続ける

(68)

α 拡張 vs. 標準的離散エネルギー最⼩化法

α 拡張操作

多数のピクセルが同時にラベルを変 えることができる

最適な変化を見つけるのにグラフカッ トを使う

“1ピクセル” 操作

(Simulated Annealing, ICM,…)

一度に一つのピクセルだけが値を変 えることができる

最適な変化を見つけるのは簡単

(69)

元画像

α 拡張による

局所最小解

“1ピクセル” 操作 による局所最小解 ノイズ画像

Pottsエネルギー最小化

α 拡張 vs. 標準的離散エネルギー最⼩化法

(70)

まとめ

グラフカット:エネルギー最⼩化法

2値の場合(劣モジュラ性が⼤域最⼩化と必要⼗分)

多値の場合(⼤域最⼩化できる場合)

多値の場合(近似アルゴリズム)

エネルギーの形によっては⼤域最⼩化できる より⼀般の場合に使える近似アルゴリズムも 例えばSAより有⽤な場合が多い

どちらの場合もあまり細かいパラメータの 調整をしなくてもよい解が得られる

参照

関連したドキュメント

First three eigenfaces : 3 個で 90 %ぐらいの 累積寄与率になる.

LPガスはCO 2 排出量の少ない環境性能の優れた燃料であり、家庭用・工業用の

READ UNCOMMITTED 発生する 発生する 発生する 発生する 指定してもREAD COMMITEDで動作 READ COMMITTED 発生しない 発生する 発生する 発生する デフォルト.

図 キハダマグロのサプライ・チェーン:東インドネシアの漁村からアメリカ市場へ (資料)筆者調査にもとづき作成 The Yellowfin Tuna Supply Chain: From Fishing Villages in

・大都市に近接する立地特性から、高い県外就業者の割合。(県内2 県内2 県内2/ 県内2 / / /3、県外 3、県外 3、県外 3、県外1/3 1/3

口腔の持つ,種々の働き ( 機能)が障害された場 合,これらの働きがより健全に機能するよう手当

※立入検査等はなし 自治事務 販売業

ダウンロードしたファイルを 解凍して自動作成ツール (StartPro2018.exe) を起動します。.