Graph Cut Segmentation


VoTracer    I/O    Basic Manip.    Visualization    Segmentation    Refinement    Top


Segmentation Top

3) Graph Cut

このツールは、かたまり状領域の分割に適した Graph Cut Segmentationを提供します.
実装は以下の論文に基づいています.
[1] Boykov Y., Veksler O., Zabih R.: Fast approximage energy minimization via graph cuts. IEEE Trans. PAMI 23, 11.
[2] Li Y., Sun J., Tang C. K., Shum H.Y.: Lazy snapping. ACM TOG 23.3(2004).

Workflow

  1. ツールの起動 : Click "Menu > ModeSwitch > Segmentation Graph Cut"
  2. 対象領域IDを選択
  3. 前計算 :
  4. 読み込んだ画像に対し初めてGraph Cutを利用するとき,前計算を行います.これには数分かかる可能性があります. 以前にGraph Cutを利用した事があれば,前計算結果を再利用できます. 下のようなダイアログが表示されるので"Y"を押してください.
      
  5. 領域分割 : Graph Cut法により領域分割を行う.
  6. >終了 : ダイアログ右下のFinish buttonを押して領域IDを選択.



Ctrl +L-drag 切断面作成.

Shift+L-drag
前景制約点配置.

Shift+R-drag
背景制約点配置.

Alt +L-drag
制約点削除.

Space キー 一時的に前景領域の可視化を止める.


  d1. Erase all CPs 全ての制約点を削除
d2. parameter slider パラメータ編集(see [2])
d3. Gruph Cut (WSD Lv.) watershed levelのGraph Cutを行う
d4. Graph Cut (Voxel Lv.) voxel levelのGraph Cutを行う(d3の後に行う)
d5. Seam width : 下参照
d6.7 erode/dilate ROI : 前景領域に対して erosion/dilation 処理を行う


GraphCut法は, 「(A)前景 / 背景の制約点が置かれた場所と近い色を持つ画素を前景/背景になるように」 「(B)画素間の色の差が大きな場所が境界になるように」, という2条件を満たすよう 前景/背景 領域を計算します.

VoTracerでは,[2]の論文と同様に,まず,荒い領域に対してGraphCut法で前景を計算し(d3) 次に,Voxel Levelの細かい領域に対しGraphCut法で前景領域を計算します(d4).

d2では,GraphCut法のパラメータを指定できます.小さい値を指定すると(条件A)に重きが置かれ,大きな値を指定すると(条件B)に重きが置かれます. (デフォルトパラメータのパラメータ値でうまくいかない場合は,パラメータを調整しても劇的に結果が良くなることはあまりない印象です. ちょっと試してうまくいかない場合は,GraphCut法がそもそも使えない課題なのだと思います.)