Upload
tsubasa-hirakawa
View
1.755
Download
3
Embed Size (px)
Citation preview
初めてのグラフカット 平川 翼
広島大学 大学院工学研究科
2012/11/17 @ 中部大学
-第21回 名古屋CV・PRML勉強会-
グラフカットを勉強することになり…
日本語で書いてあるし… GCの英語論文を読むより楽そう
チュートリアルなんだから… 分かりやすく書いてありそう
実際に読んでみた
l GCの元論文を読んだり l SlideshareからGCのスライドを探したり
そして,ようやく
この発表は…
ü GCを知らない人・ 使ってみたいけどよく分からない人が対象
ü 既にGCを知っている人・ より理解を深めたい人には簡単かもしれません.
ご了承ください
コンセプト
ü 難しいことは考えない • まずは二値で…
ü 難しい数式は使わない • 劣モジュラ条件 • Quadratic Pseudo-Boolean optimization (QPBO) • 距離・半距離
ü まずは具体的なイメージを持つ
ü 使えるツールは何でも使う!
用途
最小切断問題 (st-mincut)
グラフカットの適用例 (セグメンテーション)
Image restoration
Segmentation
Stereo
GrabCut http://www.hukgroup.com/ [Ishikawa et al., CVPR 1999]
[Verbeek et al., IJCV 2010] [Rother et al., ACM 2004]
Image restoration
Segmentation
Stereo
GrabCut http://www.hukgroup.com/ [Ishikawa et al., CVPR1999]
[Verbeek et al., IJCV2010] [Rother et al., ACM2004]
用途
最小切断問題 (st-mincut)
グラフカットの適用例 (セグメンテーション)
最小切断問題 (st-mincut) ~準備~
頂点とそれをつなぐエッジを持つ ようなグラフをイメージする
1. 頂点に名前をつける
target
v1 v2
source
2. エッジに重みをつける
2 8
5 4
2
1
有向グラフ
有向グラフの形は…
有向グラフの形は…
st-mincutの時点では どんな形でもOK!
最小切断問題 (st-mincut)
target
v1 v2
source
2 8
5 4
2
1
sourceとtargetを基準にして, 2つの領域に分けるように 境界線を引く
これをst-cutという
じゃあ,何が最小(min)なの?
最小切断問題 (st-mincut)
target
v1 v2
source
2 8
5 4
2
1
8 + 2 + 5 = 15 この場合は…
sourceからtargetへ流れ込む エッジの重みの和
st-cutのコスト
最小切断問題 (st-mincut)
target
v1 v2
source
2 8
5 4
2
1
target
v1 v2
source
2 8
5 4
2
1
target
v1 v2
source
2 8
5 4
2
1
target
v1 v2
source
2 8
5 4
2
1
15 7 10 9 最小!
最小切断問題 (st-mincut)
target
v1 v2
source
2 8
5 4
2
1
target
v1 v2
source
2 8
5 4
2
1
target
v1 v2
source
2 8
5 4
2
1
target
v1 v2
source
2 8
5 4
2
1
15 7 10 9 最小!
最小切断問題 (st-mincut)
target
v1 v2
source
2 8
5 4
2
1
target
v1 v2
source
2 8
5 4
2
1
target
v1 v2
source
2 8
5 4
2
1
target
v1 v2
source
2 8
5 4
2
1
15 7 10 9 最小!
コストの最も小さいst-cut
st-mincut
st-mincutはどうやるの?
ü 最大流(maxflow)アルゴリズム というものを用いています
ü ただし… 今回は説明しません
ü なぜなら… コンセプトを思い出してください
コンセプト
ü 難しいことは考えない • まずは二値で…
ü 難しい数式は(できるだけ)使わない • 劣モジュラ条件 • Quadratic Pseudo-Boolean optimization (QPBO) • 距離・半距離
ü まずは具体的なイメージを持つ
ü 使えるツールは何でも使う!
GC・st-mincutを行うツールは たくさん用意されています!
http://igraph.sourceforge.net/ http://vision.csd.uwo.ca/code/
target
v1 v2
source
2 8
5 4
2
1
グラフカットでやっているのは…
st-mincutによって要素が
sourceのグループなのか, targetのグループなのか を決めているだけ
用途
最小切断問題 (st-mincut)
グラフカットの適用例 (セグメンテーション)
グラフカット ~目的~
前景と背景をセグメンテーションしたい!
[Kumar et al ., ECCV 2008]
グラフカット ~準備~
各ピクセルが前景らしいか(背景らしいか) どうかのコストを持っている
前景 らしくない
前景らしい
グラフカット ~準備~
近傍のピクセルとの色差(RGB, HSV…)を コストとして持っている
色差が 大きい
色差が 小さい
グラフカット ~グラフの作成~
source
target
sourceとtargetの頂点を追加する
グラフカット ~エッジの重み付け~
前景
背景
source→前景・target→背景 とする
グラフカット ~エッジの重み付け~
前景
背景
前景らしい コスト
背景らしい コスト
グラフカット ~エッジの重み付け~
前景
背景
色差のコスト
前景
背景
グラフカット ~segmentation~
このグラフをst-mincutするだけ
完成!
完成!
まとめ
• グラフカットの応用例 – 画像復元,セグメンテーション,ステレオ,etc…
• 最小切断問題(st-mincut) – GCはこれが基本であり,全てです
• GCを用いた前景・背景セグメンテーション – 他にもいろいろなことができます – グラフの作り方・重みの付け方は自分次第
ご清聴ありがとうございました