コンピュータビジョン特論 b - graph cuts - 永橋知行
DESCRIPTION
コンピュータビジョン特論 B - Graph Cuts - 永橋知行. はじめに. エネルギー最小化問題 ラベリング問題 Image Restoration Stereo Image Segmentation Multi-camera reconstruction. Min-Cut/Max-Flow Algorithms. エネルギー関数の最小とする解 → Graph Cuts Algorithm. ラベリング問題. ラベリング対象 Depth 物体(領域) etc.. エネルギー関数の定義. エネルギー最小化モデル. - PowerPoint PPT PresentationTRANSCRIPT
コンピュータビジョン特論 B- Graph Cuts -
永橋知行
エネルギー最小化問題– ラベリング問題
• Image Restoration• Stereo• Image Segmentation• Multi-camera reconstruction
はじめに
Min-Cut/Max-Flow Algorithms
エネルギー関数の最小とする解→ Graph Cuts Algorithm
ラベリング問題
ラベリング対象– Depth– 物体(領域)
etc..
エネルギー関数の定義
Nqp
qpqpPp
pp LLVLDLE,
, ),()()(
Potts Interaction Energy Model
Liner Interaction Energy Model
エネルギー最小化モデル
Nqp
qpqpPp
pp IITKIILE),(
),( )(||||)(
Nqp
qpqpPp
pp IITAIILE),(
),( )(||||)(
Min-Cut/Max-Flow Algorithms とは
グラフ理論でのネットワーク流問題の解法→ Min-Cut/Max-Flow Algorithms
– ネットワーク流問題(最大流問題)• 与えられたネットワークに対して,最大の流れを求める問題
– Ford-Fulkerson's method – Push-Relabel method
グラフの基礎
Flow :流れ Capacity :その Edge に流すことができる Flow の
容量 Source : Flow が発生する場所 Sink : Flow が到着する場所
S t
2/6
2/2
1/1
1/3
2/2
0/2
4/4
1/3
2/5
SourceSink
Node Edge
Capacity
Network
Flow
s-t cut
エッジを切断して s と t を分割→ s-t cut
s-t cut の際に, s の集合から t の集合へ向かうエッジの容量→ カットの容量
S t
6
2
3
2
2
4
3
5
1
1+3+2=61+5+3=9
1+3+2+2=8
6+2=8
・カットの容量が最小となる s-t cut を求める → 最小カット問題
最小カットと最大フロー
目的– 最小のエネルギーとなるように分割したい
→ 最小カット問題
最大フロー・最小カットの定理– 最大フローの値 = 最小カットの値
→ 最大フロー問題と最小カット問題は同じ (最大フローが求まれば最小カットも求められる)
Ford-Fulkerson's method
フローが最大のときの条件– 残余ネットワーク上で s-t path が存在しない
→ s-t path が存在すればフローは増加可能
Step1 :全ての枝のフローを 0 で初期化Step2 :現在のフローに関する残余ネットワークを作成Step3 :残余ネットワークに s-t path が存在場合は終了Step4 :残余ネットワークの s-t path をひとつ求め、
それを用いて現在のフローを更新Step5 : Step2 へ戻る
残余ネットワーク
フローが流れているネットワークがあとどれだけのフローを流せるかを表したネットワーク
S t
2/6
2/2
1/1
1/3
2/2
0/2
4/4
1/3
2/5
S t
ネットワーク
残余ネットワーク2
4
20
02
0
1
21
0
2
3 22
1
4
0
Ford-Fulkerson‘s method の例
S
0/4
0/3
0/2 t
0/3
0/2
ネットワーク
S
4
3
2 t
3
2
残余ネットワーク
0
0
00
0
Ford-Fulkerson‘s method の例
S
3/4
0/3
0/2 t
3/3
0/2
ネットワーク
S
1
3
2 t
0
2
残余ネットワーク
3
0
03
0
Ford-Fulkerson‘s method の例
S
4/4
0/3
1/2 t
3/3
1/2
ネットワーク
S
0
3
1 t
0
1
残余ネットワーク
4
0
13
1
Ford-Fulkerson‘s method の例
S
4/4
1/3
1/2 t
3/3
2/2
ネットワーク
S
0
2
1 t
0
0
残余ネットワーク
4
1
13
2
残余ネットワークに s-t path が存在しない→ 最大フロー 5
Graph Cuts Segmentation
)()()( LBLRLE
.0
if1),(
),()(
)()(
""
""
),,,,(
},{},{
||1
otherwise
LLLL
LLBLB
LRLR
bkg
objL
LLLL
qpqp
Nqpqpqp
Pppp
Pp
Object or Background ラベル
Object or Background でない確率
近傍との差 大: B{p,q}= 小近傍との差 小: B{p,q}= 大
係数領域 (Region) の関数境界 (Boundary) の関数
グラフの作成 (n-link)
),(
1
2
)(exp
2
},{ qpdist
IIB qp
qp
n-links
Edge Weight Condition
n-link {p, q}
B{p, q} {p, q}∈N
t-link {p, s} λ ∙ Rp(“bkg”) p∈P, p∈OUB
K p∈O
0 p∈B
t-link {p, t} λ ∙ Rp (“obj”) p∈P, p∈OUB
0 p∈O
K p∈B
グラフの作成 (t-link)
Nqp
qpPp
BK},{
},{max1
n-links
s
t
Edge Weight Condition
n-link {p, q}
B{p, q} {p, q}∈N
t-link {p, s} λ ∙ Rp(“bkg”) p∈P, p∈OUB
K p∈O
0 p∈B
t-link {p, t} λ ∙ Rp (“obj”) p∈P, p∈OUB
0 p∈O
K p∈B
グラフの作成 (t-link)
)|Pr(ln)"("
)|Pr(ln)"("
BIbkgR
OIobjR
p
p
n-links
s
t
Edge Weight Condition
n-link {p, q}
B{p, q} {p, q}∈N
t-link {p, s} λ ∙ Rp(“bkg”) p∈P, p∈OUB
K p∈O
0 p∈B
t-link {p, t} λ ∙ Rp (“obj”) p∈P, p∈OUB
0 p∈O
K p∈B
グラフの分割
n-links
s object
t backgroundcut
Edge Weight Condition
n-link {p, q}
B{p, q} {p, q}∈N
t-link {p, s} λ ∙ Rp(“bkg”) p∈P, p∈OUB
K p∈O
0 p∈B
t-link {p, t} λ ∙ Rp (“obj”) p∈P, p∈OUB
0 p∈O
K p∈B
Graph Cuts Segmentation 結果( 2D )
Graph Cuts Segmentation 結果( 3D )
ステレオ– ピクセル間の対応付け
→ ラベリング問題
Graph Cuts Stereo
)()()()( LELELELE soccdata
Nqpqpqpqpqpqps
PPppocc
qplqpdata
llTKLE
occludedispTCLE
DLE
)}','(),,{()','(),()}','(),,{(
1),(),(
)()(
) ()(
)(
21
グラフの作成
Graph Cuts Stereo 結果
まとめ
Graph Cuts Algorithm– Min-Cut/Max-Flow Algorithms を用いて,エネルギー
関数を最小化
– セグメンテーションやステレオなど幅広く利用
おしまい