Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Pythonで画像処理をやってみよう!第7回 - Scale-space 第6回 -

1,431 views

Published on

二次元画像を用いた Scale-space の作成について。Morning Project Samurai 第38回 ミーティング資料。

Published in: Software
  • Be the first to comment

Pythonで画像処理をやってみよう!第7回 - Scale-space 第6回 -

  1. 1. 2015/11/14 MPS定例ミーティング Python で画像認識をやってみよう! 第7回 - Scale-space 第6回 - 金子純也 Morning Project Samurai 代表 MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  2. 2. 本日の目標 • 二次元画像を用いてスケールスペースを作成
 - 二次元空間におけるコンボリューションの理解
 - DoG (Difference of Gaussian) の理解 • プログラムの抽象化に触れる 本日使用するソースコードが GitHub にあがっています
 (mps_scale_space_20151114 で検索) https://github.com/morningprojectsamurai/mps_scale_space_20151114 チャレンジャーはソースを見るんじゃないケロ! MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  3. 3. SIFTを用いた画像認識のストーリー • Scale-space を構成 • Scale-space 中の画像にDoG を適用 • DoGの適用によって得られた画像から極値点を抽出 • そこからさらにキーポイントとなり得る点を選別 • キーポイントにさらに情報を付加して画像の特徴とする • 画像の特徴のマッチングを行い物体の認識を行う 赤い部分が今日の部分ケロ ! MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  4. 4. 本日作成するスケールスペース (具体例) σ = 0.0 σ = 1.6 σ = 2.3 σ = 3.2 MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  5. 5. 目次 • Gaussian Convolution • DoG (Difference of Gaussian) • Scale-space の作成 MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  6. 6. Gaussian Convolution 画像の平滑化 - 画像中の細かい特徴やノイズの除去
 - 数学的には重み付き平均 MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  7. 7. 一次元の Gaussian Convolution (出典: [2]) MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  8. 8. 二次元の Gaussian Convolution (出典: [2]) * = MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  9. 9. 離散化 離散化 (出典: [2]) MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  10. 10. 離散化 Gaussian Convolution Step 1 ⭐ MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  11. 11. 離散化 Gaussian Convolution Step 2 ⭐ MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  12. 12. 離散化 Gaussian Convolution Step 3 ⭐ MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  13. 13. 離散化 Gaussian Convolution Step m*n ⭐ m行 n列 MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  14. 14. 離散化 Gaussian Convolution の式 m行 n列 s行 t列 * = m行 n列 添字は全て0からスタートするケロ [] はガウス記号だケロ G が Mi に収まらない場合について考慮していないケロ MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  15. 15. 離散化 Gaussian Convolution の計算量 Mi: m 行 n 列の行列, G: s 行 t 列の行列 Mo の1画素を求めるために必要な計算量
 - s * t Mo の全画素を求めるために必要な計算量
 - m * n * s * t 例: 縦横256ピクセルの画像と縦横12ピクセルのフィルタ
   256 * 256 * 12 * 12 = 9437184 ケロ・・・ MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  16. 16. 離散化 Gaussian Convolution の式 再考1 (w: G(k, l) の総和) MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  17. 17. 離散化 Gaussian Convolution の式 再考2 α(k) = k - [2/s], β(l) - [2/t] とおく MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  18. 18. 離散化 Gaussian Convolution の式 再考3 を とした( ) MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  19. 19. 離散化 Gaussian Convolution の式 再考4 一次元のGaussian Convolutionを 全ての行に適用した画像 MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  20. 20. 離散化 Gaussian Convolution 
 高速に行うためのアルゴリズム ステップ1. 一次元のGaussian Convolutionを全ての行に適用 ステップ2. ステップ1で得た画像に対して、一次元のGaussian Convolution を全ての列に適用 MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  21. 21. 離散化 Gaussian Convolution の計算量再考 Mi: m 行 n 列の行列, G: s 行 t 列の行列 Mo の前画素を求めるために必要な計算量 - m * n* t + m * n * s = m * n * (s + t) 例: 縦横256ピクセルの画像と縦横12ピクセルのフィルタ
   256 * 256 * (12 + 12) = 1572864   前回の結果 9437184 と比較すると約17%の計算量 ケロ !!! MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  22. 22. 作ってみよう!! 1. 離散化した Gaussian Convolution を用いて
 画像を平滑化するプログラムを書いてみよう !
 
 - まずは “lenna image processing” と 
 google で検索してテスト用画像をゲット !
 
 - σ の値を任意の値に変更していつでも画像を
 平滑化できるようモジュール化してみよう ! MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  23. 23. 目次 • Gaussian Convolution • DoG (Difference of Gaussian) • Scale-space の作成 MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  24. 24. キーポイント • DoG を適用した画像から得られた極値点に
 さらにフィルタを適用しふるいをかけたもの • SIFT では画像からキーポイントに関する情報を
 さらに導出し画像の特徴とする MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  25. 25. DoG (Difference of Gaussian) • 2つのスケールの異なる Gaussian Kernel の差分
 
 • DoG と画像の Convolution を取ると
 LoG (Laplacian of Gaussian) を用いたエッジの 強調と同じような効果が得られる MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  26. 26. ちょっと待った! MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  27. 27. この式のままじゃ、 Scale-space が有効活用できないんですけど。。。 今までの苦労はどうしてくれるケロか !!! MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  28. 28. Scale-space を有効活用した DoG の 適用方法 Convolution の性質: 適用方法の導出: Scale-space 中に既に存在する画像 !MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  29. 29. DoG を適用した画像の求め方 σ = 0.0 σ = 1.6 Scale-space 中のG(x, y, kσ) で平滑化した画像と 
 G(x, y, σ) で平滑化した画像の差分を取るだけ !! ー それを早くいうケロ MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  30. 30. でも待って! MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  31. 31. なんでこれで エッジの抽出や強調が できるの? MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  32. 32. LoG (Laplacian of Gaussian) • 画像からエッジの強調や抽出をするために
 使用される • Gaussian kernel と Laplacian の合わせ技
 - 下記作業を一括して行うオペレータ
 1. Gaussian Kernel を画像に適用して平滑化
 2. その後 Laplacian を用いてエッジの抽出 MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  33. 33. Laplacian ある点における関数の曲がり度合いを表す値
 を求めるためのオペレータ 使い方: MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  34. 34. LoG の式とグラフ 具体的な式の形が気になる人は、 Gaussian Kernel を x と y について 二回微分してみるケロ ! MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  35. 35. LoG 1次元の例 (出典: [2]) Zero-crossing MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  36. 36. LoG と DoG の関係 (出典: [1]) DoG は LoG の定数倍 MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  37. 37. DoG を用いる利点 • LoG は 計算量が大きい
 - Gaussian Convolution のように x 軸と y 軸に
 分けて計算できない MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  38. 38. 作ってみよう!! • DoG が適用された画像を出力するモジュールを
 作ってみよう !!
 
 - Step 1. 
 前の演習で作った平滑化モジュールを用いて
 平滑化された画像を異なる二つのσについて出力
 
 - Step 2. 
 出力された二枚の画像の差分を出力 MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  39. 39. 目次 • Gaussian Convolution • DoG (Difference of Gaussian) • Scale-space の作成 MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  40. 40. Scale-space and Octave (出典: [1])MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  41. 41. Scale-space σ = 0.0 σ = 1.6 σ = 2.3 σ = 3.2 MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  42. 42. 手順 • σ = 1.6, k = √2 として、0, σ, kσ, kkσ で平滑化された 画像で構成される Scale-space を作る • できた Scale-space の画像を用いて DoG を適用した
 画像で構成される空間を作る • kkσ の画像を1/4の大きさにダウンサンプリングする • ダウンサンプリングした画像を元に Scale-space
 をもう一つ構成する (2nd octave) MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  43. 43. 今後の予定 • 次回:
 SIFT による画像の特徴の作成 • 次次回
 SIFT で作成した特徴量を用いた物体の認識 MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko
  44. 44. 参考文献 1. David G. Lowe. 2004. Distinctive Image Features from Scale-Invariant Keypoints. Int. J. Comput. Vision 60, 2 (November 2004), 91-110. 2. M. Alex O. Vasilescu: http://alumni.media.mit.edu/~maov/classes/ vision09/lect/09_Image_Filtering_Edge_Detection_09.pdf MPS 第38回 (2015/11/14) 定例ミーティング資料 (c) Junya Kaneko

×