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.
2015/9/5 MPS定例ミーティング
Python で画像認識をやってみよう! 

第5回 

- Scale-space 第2回 -
金子純也
Morning Project Samurai 代表
2015/9/5 MPS定例ミーティング...
目次
• 前回の復習
• ガウス関数 (Gaussian) と たたみ込み (Convolution)
• 積分の復習
• Gaussian Convolution 再び
2015/9/5 MPS定例ミーティング資料 (c) Junya Kan...
基本アイデア
適切なスケールが事前にわからないなら。。。
元画像から色々なスケールの画像を
作っちゃえばいいじゃない!!
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
元画像
ちょっと
小さい画像
さらに
小さい画像
(画像の出典: [1])
(画像の出典: [1])
(画像の出典: [1])
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
元画像
ちょっと
小さい画像
さらに
小さい画像
(画像の出典: [1])
(画像の出典: [1])
(画像の出典: [1])
新たな
構造は
付与
されない
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
Q. 新たな構造 (元画像にない線や面)が

現れない画像の縮小方法は?
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
Q. 新たな構造 (元画像にない線や面)が

現れない画像の縮小方法は?
今日理解して実装するところだケロ
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
目次
• 前回の復習
• ガウス関数 (Gaussian) と たたみ込み (Convolution)
• 積分の復習
• Gaussian Convolution 再び
2015/9/5 MPS定例ミーティング資料 (c) Junya Kan...
Q. 新たな構造 (元画像にない線や面)が

現れない画像の縮小方法は?
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
Gaussian Convolution
(Gaussian とのたたみ込み)
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
Gaussian Convolution
(ガウス関数とのたたみ込み)
わけがわからんケロ
g: Gaussian
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
1次元の Gaussian
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
Gaussian Convolution
(Gaussian とのたたみ込み)
W.T.⃝
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
ポイント
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
ポイント
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
目次
• 前回の復習
• Gaussian Convolution
• 数値積分
• Gaussian Convolution 再び
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
Q. (1変数関数の)積分とは?
x
y
0 a b
y = f(x)
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
A. みんなの回答
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
Q. (1変数関数の)積分とは?
x
y
0 a b
y = f(x)
f(x) とx に囲まれた部分の面積
を求めること!
ぐにゃぐにゃしてるケロ!
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
長方形で関数を覆ってみる
x
y
0 a ba2 a3 a4 a10
f(a2)
ここの面積はわかるケロ!
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
長方形で関数を覆ってみる
x
y
0 a ba2 a3 a4 a10
f(a2)
この長方形の面積は
(a2 - a) * f(a2) だケロ!
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
長方形で関数を覆ってみる
x
y
0 a1 a2 a3 a4 a10 a11
f(a2)
この長方形の面積は
(a2 - a) * f(a2) だケロ!
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
長方形で関数を覆ってみる
x
y
0 a1 a2 a3 a4 a10
f(a2)
誤差があるケロ・・・
a11
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
Q. 誤差を小さくするには?
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
A. みんなの回答
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
A. 長方形の幅を小さくすればいい!!
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
長方形の作り方は2通り
x
y
0
f(a2)
こっちを基準で作ったケロ
a1 a2 a3 a4 a10 a11
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
長方形の作り方は2通り
x
y
0
f(a)
こっちを基準で作ったケロ
a1 a2 a3 a4 a10 a11
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
長方形の作り方は2通り
x
y
0
f(a)
こっちを基準で作ったケロ
a1 a2 a3 a4 a10 a11
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
積分の定義
(ai - ai-1)を限りなく
0に近づける
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
よし!
定義に基づいてプログラムを作ってみよう!!
ちょっと待つケロ!!
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
ai+1 - ai をいくらでも0に近づけられる?
• 頭の中では可能
• コンピュータには限界がある

- 扱える数値が有限 (それに伴う誤差)

- 計算量の問題
頭の中でできることと、
コンピュータの中でできること
の違いを意識する!
2...
台形を用いた近似
x
y
0 a1 a2 a3 a4 a10 a11
f(a2)
f(a1)
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
台形を用いた近似
x
y
0
f(a2)
a1 a2 a3 a4 a10 a11
f(a1)
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
ずいぶん誤差が
少なくなる
気がするケロ
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
x^2 を x=0 から x=3 まで積分
長方形による積分
1 -5.0
2 -2.375
4 -1.15625
8 -0.5703125
16 -0.283203125
32 -0.14111328125
台形則による積分
1 -0.5
2...
x^2 を x=0 から x=3 まで積分
長方形による積分
1 -5.0
2 -2.375
4 -1.15625
8 -0.5703125
16 -0.283203125
32 -0.14111328125
台形則による積分
1 -0.5
2...
x^2 を x=0 から x=3 まで積分
長方形による積分
1 -5.0
2 -2.375
4 -1.15625
8 -0.5703125
16 -0.283203125
32 -0.14111328125
台形則による積分
1 -0.5
2...
Q1. 積分のプログラムを作ってみよう!
Q2: f(x) = x を x=0 から x=1 まで積分してみよう!
Q3: f(x) = を u=0, sigma=1 として、

x = -4 から x = 4 まで積分してみよう!
Q4: 自...
目次
• 前回の復習
• ガウス関数 (Gaussian) と たたみ込み (Convolution)
• 積分の復習
• Gaussian Convolution 再び
2015/9/5 MPS定例ミーティング資料 (c) Junya Kan...
Gaussian Convolution
(ガウス関数とのたたみ込み)
W.T.⃝
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
 について考える
*
元信号
重み
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
ポイント
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
ポイント
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
ポイント
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
ポイント
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
ポイント
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
F(x0) は、元信号が x=x0 のとき最大となる

重みを用いて元信号全体を平均化したもの
新たな信号 F(x) は x=x0 において元信号の

全ての情報を含んでいるが、元信号の x=x0
直近の情報を強く反映している
2015/9/5...
σが大きくなるほど
F(x) は元信号が一様にブレンドされた値の系列になる
*
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
σ = 0.025
σ = 0.05
元信号
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
σが大きくなるほど
F(x) は元信号が一様にブレンドされた値の系列になる
元信号中の細い特徴が無くなっていく
例: 一部に森の写った詳細な写真
葉や枝、木一本一本の情報はなくなり
森の外観のみが残る
2015/9/5 MPS定例ミーティング資...
Q. 何か1つ信号を準備して、
σの異なる Gaussian Convolution を計算して
スケールスペースをつくってグラフを描画してみよう!
2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
次回
• スペース間における特徴の追跡
• Gaussian Convolution が新しい特徴を追加
することなしにスケールスペースを構築でき、
スペース間で特徴の追跡ができる理由
2015/9/5 MPS定例ミーティング資料 (c) Ju...
Upcoming SlideShare
Loading in …5
×

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

955 views

Published on

Python で画像処理をやってみよう!第5回 - Scale-space - 第34回 MPS ミーティング資料

Let's learn image processing with Python part 5. "Scale space"

The 34th Morning Project Samurai (MPS) meeting document.

Published in: Software
  • Be the first to comment

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

  1. 1. 2015/9/5 MPS定例ミーティング Python で画像認識をやってみよう! 
 第5回 
 - Scale-space 第2回 - 金子純也 Morning Project Samurai 代表 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  2. 2. 目次 • 前回の復習 • ガウス関数 (Gaussian) と たたみ込み (Convolution) • 積分の復習 • Gaussian Convolution 再び 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  3. 3. 基本アイデア 適切なスケールが事前にわからないなら。。。 元画像から色々なスケールの画像を 作っちゃえばいいじゃない!! 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  4. 4. 元画像 ちょっと 小さい画像 さらに 小さい画像 (画像の出典: [1]) (画像の出典: [1]) (画像の出典: [1]) 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  5. 5. 元画像 ちょっと 小さい画像 さらに 小さい画像 (画像の出典: [1]) (画像の出典: [1]) (画像の出典: [1]) 新たな 構造は 付与 されない 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  6. 6. Q. 新たな構造 (元画像にない線や面)が
 現れない画像の縮小方法は? 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  7. 7. Q. 新たな構造 (元画像にない線や面)が
 現れない画像の縮小方法は? 今日理解して実装するところだケロ 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  8. 8. 目次 • 前回の復習 • ガウス関数 (Gaussian) と たたみ込み (Convolution) • 積分の復習 • Gaussian Convolution 再び 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  9. 9. Q. 新たな構造 (元画像にない線や面)が
 現れない画像の縮小方法は? 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  10. 10. Gaussian Convolution (Gaussian とのたたみ込み) 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  11. 11. Gaussian Convolution (ガウス関数とのたたみ込み) わけがわからんケロ g: Gaussian 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  12. 12. 1次元の Gaussian 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  13. 13. Gaussian Convolution (Gaussian とのたたみ込み) W.T.⃝ 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  14. 14. ポイント 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  15. 15. ポイント 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  16. 16. 目次 • 前回の復習 • Gaussian Convolution • 数値積分 • Gaussian Convolution 再び 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  17. 17. Q. (1変数関数の)積分とは? x y 0 a b y = f(x) 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  18. 18. A. みんなの回答 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  19. 19. Q. (1変数関数の)積分とは? x y 0 a b y = f(x) f(x) とx に囲まれた部分の面積 を求めること! ぐにゃぐにゃしてるケロ! 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  20. 20. 長方形で関数を覆ってみる x y 0 a ba2 a3 a4 a10 f(a2) ここの面積はわかるケロ! 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  21. 21. 長方形で関数を覆ってみる x y 0 a ba2 a3 a4 a10 f(a2) この長方形の面積は (a2 - a) * f(a2) だケロ! 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  22. 22. 長方形で関数を覆ってみる x y 0 a1 a2 a3 a4 a10 a11 f(a2) この長方形の面積は (a2 - a) * f(a2) だケロ! 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  23. 23. 長方形で関数を覆ってみる x y 0 a1 a2 a3 a4 a10 f(a2) 誤差があるケロ・・・ a11 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  24. 24. Q. 誤差を小さくするには? 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  25. 25. A. みんなの回答 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  26. 26. A. 長方形の幅を小さくすればいい!! 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  27. 27. 長方形の作り方は2通り x y 0 f(a2) こっちを基準で作ったケロ a1 a2 a3 a4 a10 a11 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  28. 28. 長方形の作り方は2通り x y 0 f(a) こっちを基準で作ったケロ a1 a2 a3 a4 a10 a11 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  29. 29. 長方形の作り方は2通り x y 0 f(a) こっちを基準で作ったケロ a1 a2 a3 a4 a10 a11 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  30. 30. 積分の定義 (ai - ai-1)を限りなく 0に近づける 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  31. 31. よし! 定義に基づいてプログラムを作ってみよう!! ちょっと待つケロ!! 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  32. 32. ai+1 - ai をいくらでも0に近づけられる? • 頭の中では可能 • コンピュータには限界がある
 - 扱える数値が有限 (それに伴う誤差)
 - 計算量の問題 頭の中でできることと、 コンピュータの中でできること の違いを意識する! 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  33. 33. 台形を用いた近似 x y 0 a1 a2 a3 a4 a10 a11 f(a2) f(a1) 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  34. 34. 台形を用いた近似 x y 0 f(a2) a1 a2 a3 a4 a10 a11 f(a1) 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  35. 35. ずいぶん誤差が 少なくなる 気がするケロ 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  36. 36. x^2 を x=0 から x=3 まで積分 長方形による積分 1 -5.0 2 -2.375 4 -1.15625 8 -0.5703125 16 -0.283203125 32 -0.14111328125 台形則による積分 1 -0.5 2 -0.125 4 -0.03125 8 -0.0078125 16 -0.001953125 32 -0.00048828125 何か気づくケロ? 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  37. 37. x^2 を x=0 から x=3 まで積分 長方形による積分 1 -5.0 2 -2.375 4 -1.15625 8 -0.5703125 16 -0.283203125 32 -0.14111328125 台形則による積分 1 -0.5 2 -0.125 4 -0.03125 8 -0.0078125 16 -0.001953125 32 -0.00048828125 分割数の変化に対して 線形に精度向上 分割数の変化の2乗に 比例して精度向上 詳しくは白板 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  38. 38. x^2 を x=0 から x=3 まで積分 長方形による積分 1 -5.0 2 -2.375 4 -1.15625 8 -0.5703125 16 -0.283203125 32 -0.14111328125 台形則による積分 1 -0.5 2 -0.125 4 -0.03125 8 -0.0078125 16 -0.001953125 32 -0.00048828125 少ない計算量で、より高い精度 が出せる!! 詳しくは白板 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  39. 39. Q1. 積分のプログラムを作ってみよう! Q2: f(x) = x を x=0 から x=1 まで積分してみよう! Q3: f(x) = を u=0, sigma=1 として、
 x = -4 から x = 4 まで積分してみよう! Q4: 自分のプログラムがまだ効率化できないか?2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  40. 40. 目次 • 前回の復習 • ガウス関数 (Gaussian) と たたみ込み (Convolution) • 積分の復習 • Gaussian Convolution 再び 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  41. 41. Gaussian Convolution (ガウス関数とのたたみ込み) W.T.⃝ 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  42. 42.  について考える * 元信号 重み 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  43. 43. ポイント 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  44. 44. ポイント 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  45. 45. ポイント 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  46. 46. ポイント 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  47. 47. ポイント 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  48. 48. F(x0) は、元信号が x=x0 のとき最大となる
 重みを用いて元信号全体を平均化したもの 新たな信号 F(x) は x=x0 において元信号の
 全ての情報を含んでいるが、元信号の x=x0 直近の情報を強く反映している 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  49. 49. σが大きくなるほど F(x) は元信号が一様にブレンドされた値の系列になる * 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  50. 50. σ = 0.025 σ = 0.05 元信号 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  51. 51. σが大きくなるほど F(x) は元信号が一様にブレンドされた値の系列になる 元信号中の細い特徴が無くなっていく 例: 一部に森の写った詳細な写真 葉や枝、木一本一本の情報はなくなり 森の外観のみが残る 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  52. 52. Q. 何か1つ信号を準備して、 σの異なる Gaussian Convolution を計算して スケールスペースをつくってグラフを描画してみよう! 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko
  53. 53. 次回 • スペース間における特徴の追跡 • Gaussian Convolution が新しい特徴を追加 することなしにスケールスペースを構築でき、 スペース間で特徴の追跡ができる理由 2015/9/5 MPS定例ミーティング資料 (c) Junya Kaneko

×