Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

動的輪郭モデル

10 437 vues

Publié le

研究室でのゼミ発表資料として作成しました.
動的輪郭法(Snakes,Level set法)の紹介用です.
多数の参考資料に助けられました.

Publié dans : Sciences
  • Soyez le premier à commenter

動的輪郭モデル

  1. 1. 動的輪郭モデル Active Contours Model あるまじろ
  2. 2. Active Contour Modelとは • Active Contour Model  対象となる空間を領域の性質を表す指標(エッジや他の特 徴量など)により複数の領域に分割  分割した領域は時間変化により,その境界線が連続的に 変化 • 手法は大まかに2種類  Snakes法  Level set法
  3. 3. Snakesとは 前提1: 曲線はパラメータ表現される 前提2: 曲線のエネルギーを設定 𝜀 𝑣 = 𝛼𝜀𝑙𝑒𝑛 + 𝛽𝜀 𝑐𝑢𝑟𝑣 + 𝛾𝜀𝑖𝑚𝑔 𝜀𝑙𝑒𝑛 = 0 1 𝑑𝑣 𝑠 𝑑𝑠 2 𝑑𝑠 𝜀 𝑐𝑢𝑟𝑣 = 0 1 𝑑2 𝑣 𝑠 𝑑𝑠2 2 𝑑𝑠 𝜀𝑖𝑚𝑔 = − 0 1 𝛻 𝐺 ⊗ 𝐼 𝑣 𝑠 𝑑𝑠 :弧長に対応する項 :曲率に対応する項 :勾配強度に対応する項 v 𝑠 = 𝑥 𝑠 𝑦 𝑠 s ∈ 0,1
  4. 4. Snakes(貪欲法) 𝜀𝑙𝑒𝑛 = 𝑖=1 𝑁 𝑣𝑖 − 𝑣𝑖−1 2 𝜀 𝑐𝑢𝑟𝑣 = 𝑖=1 𝑁 𝑣𝑖+1 + 𝑣𝑖−1 − 2𝑣𝑖 2 𝜀𝑖𝑚𝑔 = − 𝑖=1 𝑁 𝐼′ 𝑣𝑖 :弧長に対応する項 :曲率に対応する項 :勾配強度に対応する項 𝜀 𝑣 = 𝛼𝜀𝑙𝑒𝑛 + 𝛽𝜀 𝑐𝑢𝑟𝑣 + 𝛾𝜀𝑖𝑚𝑔
  5. 5. 𝜀 𝑣 = 𝛼𝜀𝑙𝑒𝑛 + 𝛽𝜀 𝑐𝑢𝑟𝑣 + 𝛾𝜀𝑖𝑚𝑔 Snakes(貪欲法)の解法 Step1: 曲線は指定 Step2: 変数を設定・初期化 d : 頂点の総移動量 n : 繰り返し回数 Step3: n=0にする 頂点の8近傍の𝜀 𝑣 を それぞれ計算 Step4: 𝜀 𝑣 最小の画素へ移動 し,移動量をdに加算 Step5: すべての頂点において 計算をし,Step3に戻る Step6: しきい値以下のdになる か,n回処理したら終了
  6. 6. Snakes(まとめ) • 利点  ノイズに強い領域分割  高速かつ実装が簡単 • 欠点  パラメータに強く依存  初期輪郭線に強く依存  複数物体の分割が困難(位相問題)
  7. 7. Level set法とは • 位相変化が可能な動的輪郭モデル • 領域の分離,結合を自然な形で表現可能 前提1: 曲線は𝜑 𝑥, 𝑦, 𝑡 のゼロ等高線 として表現 前提2: 曲線上の点は,法線方向に動く 接線 法線
  8. 8. Level set法(Upwind Scheme) Step1: 曲線は指定 Step2: 変数を設定・初期化 𝜑 : グリッドの補助関数値 F : 成長速度を保持するスカラー量 n : 繰り返し回数 Step3: 閉曲線上のグリッドに対して, 𝜑 = 0を設定. 境界を基準として符号付距離 (内側が負,外側が正)を与 える Step4: 成長速度の計算
  9. 9. 𝜑 0 0 0 0 0 0 0 0 0 0 0 -2 -3 -2 -2 -1 -1 -1 -1 -2 -1 -2 5 4 3 -2 -3 ・・・ ・・・ F(値は適当) -3 -3 -2 ・・・ -2 -2 -3 Step3(左)とStep4(右)の図解
  10. 10. Step5: 補助関数値の更新 Step6: Zero level setの検出 Step7: 再初期化 閉曲線上のグリッドに対して, 𝜑 = 0を設定. 境界を基準として符号付距離 (内側が負,外側が正)を与 える Step8: Step.3~Step.6をφの変化量 が閾値以下になるか,繰り返 し回数nが一定値を超えるま で繰り返す Level set法(Upwind Scheme)の続き
  11. 11. 𝐹|𝛻𝜑| = 𝛻+or𝛻− 𝛻+ = max(𝐷−𝑥 𝑖.𝑗)2 + m𝑖𝑛(𝐷+𝑥 𝑖.𝑗)2 + max(𝐷−𝑦 𝑖.𝑗)2 + m𝑖𝑛(𝐷+𝑦 𝑖.𝑗)2 𝛻− = max(𝐷+𝑥 𝑖.𝑗)2 + m𝑖𝑛(𝐷−𝑥 𝑖.𝑗)2 + max(𝐷+𝑦 𝑖.𝑗)2 + m𝑖𝑛(𝐷−𝑦 𝑖.𝑗)2 補助関数値の更新 𝐷−𝑥 𝑖.𝑗 = 𝜑𝑖,𝑗 − 𝜑𝑖−1,𝑗 ℎ 𝐷+𝑥 𝑖.𝑗 = 𝜑𝑖+1,𝑗 − 𝜑𝑖,𝑗 ℎ 𝐷−𝑦 𝑖.𝑗 = 𝜑𝑖,𝑗 − 𝜑𝑖,𝑗−1 ℎ 𝐷+𝑦 𝑖.𝑗 = 𝜑𝑖,𝑗+1 − 𝜑𝑖,𝑗 ℎ ただし,
  12. 12. 𝜑𝑖,𝑗 𝜑𝑖−1,𝑗 𝜑𝑖,𝑗+1 𝜑𝑖+1,𝑗 𝜑𝑖,𝑗−1 補助関数値の更新(例) 𝜑
  13. 13. 局所成長速度場と拡散成長速度場 局所成長速度場と拡散成長速度場に関する画像は, 参考より引用しております. 拡張成長速度場のほうが解が安定 かつ形状も高精度
  14. 14. 参考 • 「バイオメディカルエンジニアリング 5,6コマ目 画像処理概論1」  http://www.riken.jp/brict/Ijiri/classes/ • 「コンピュータビジョン アルゴリズムと応用」  私のバイブル • 「CV勉強会 発表資料 レベルセット法 4.6-4.12」  今回一番理解の助けになりました  後半の資料はここからの転載です  http://www.slideshare.net/takmin/

×