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.

MIRU2013チュートリアル:SIFTとそれ以降のアプローチ

80,273 views

Published on

MIRU2013のチュートリアル「画像局所特徴量SIFTとそれ以降のアプローチ」
第16回画像の認識・理解シンポジウム MIRU2013
2013年7月29日
http://cvim.ipsj.or.jp/miru2013/tutorial.php#ts4

  • Be the first to comment

MIRU2013チュートリアル:SIFTとそれ以降のアプローチ

  1. 1. 画像局所特徴量SIFTとそれ以降のアプローチ http://www.vision.cs.chubu.ac.jp/CVTutorial/ MIRU2013チュートリアル 2013年7月29日 藤吉 弘亘 中部大学工学部情報工学科(ロボット理工学科) 1
  2. 2. 概要 1. SIFT(Scale-Invariant Feature Transform) 2. SIFT以降のキーポイント検出器 ‒ 回転不変:Harris, FAST ‒ スケール不変:DOG, SURF ‒ アフィン不変:Hessian-Affine, MSER 3. SIFT以降のキーポイント記述子 ‒ 実数ベクトル型の特徴記述 ‒ バイナリコード型の特徴記述 4. 評価方法と実装 2
  3. 3. 1. SIFT(Scale-Invariant Feature Transform) 3
  4. 4. SIFTを利用したきっかけ 4
  5. 5. SIFT: Scale-Invariant Feature Transform • 誰が考えたのか? ‒ British Columbia大学のDavid Lowe ‒ 1999年発表 (2004年journal) • どんなアイデア? ‒ 特徴点(キーポイント)の検出と特徴量の記述 ‒ 回転・スケール変化に不変,照明変化に頑健な特徴量 5
  6. 6. SIFTアルゴリズム • SIFTの処理は大きく分けて2段階 1. キーポイント検出 2. 特徴記述 スケールとキーポイント検出 キーポイントのローカライズ Difference-of-Gaussian処理 キーポイントの絞り込み サブピクセル位置推定 オリエンテーションの算出 特徴量の記述 画像の勾配強度と方向算出 勾配方向ヒストグラム作成 6
  7. 7. Laplacian-of-Gaussianによるスケール探索 [Lindeberg1998] • スケールσを変化させたLoGオペレータを適用 LoGオペレータ € LoG = f (σ) = − x2 + y2 − 2σ2 2πσ6 exp − x2 + y2 2σ2 ⎛ ⎝ ⎜ ⎞ ⎠ ⎟LoGオペレータ: € x,y € σ : スケール : 注目画素からの距離 スケール σ LoG出力値 極大位置→特徴点のスケール スケール探索 σ=3σ=6σ=9 7
  8. 8. Difference-of-Gaussian(DoG) • 異なる の平滑化画像の差分によりDoG画像を生成 € σ € L(x,y,σ) = G(x,y,σ)∗ I(x,y) € D(x,y,σ) = L(x,y,kσ) − L(x,y,σ)€ L(x,y,σ) € I(x,y) € G(x,y,σ) € D(x,y,σ) € k :入力画像 :ガウス関数 :DoG画像 :増加率 ー :平滑化画像 € σ0 € kσ0 平滑化画像 DoG画像入力画像 LoG画像 € G(x,y,σ) = 1 2πσ2 exp − x2 + y2 2σ2 ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ 8
  9. 9. DoGによるスケールスペース構築 € σ0 € kσ0 € k2 σ0 € k4 σ0 平滑化画像 DoG画像 ー スケール € k3 σ0 ー ー ー 9
  10. 10. 画像のダウンサンプリングを併用  の変化の連続性を保持した平滑化画像の生成を実現 DoGの問題点 ガウシアンウィンドウのサイズが 大きくなる の値が増加σ ・処理できない端領域の発生 ・計算コストの増加 平滑化画像 ガウシアンウィンドウ k k k 解決策: σ 10
  11. 11. σの連続性を保持した平滑化処理 (1/3) 入力画像 € σ0 € L1(σ0) € L1(kσ0) 1オクターブ目 1/2の画像サイズに ダウンサンプリング € L1(2σ0) ≈ L2(σ0) € L1(2σ0) で平滑化 € σ0 € L2(σ0) 11
  12. 12. σの連続性を保持した平滑化処理 (2/3) 入力画像 € σ0 € L1(σ0) € L1(kσ0) 1オクターブ目 € L1(2σ0) ≈ L2(σ0) € L2(σ0) € L1(2σ0) L3(σ0) で平滑化σ0 1/4の画像サイズに ダウンサンプリング € L2(kσ0) € L2(2σ0) 2オクターブ目 L3(σ0) ≈ L2(2σ0) ≈ L1(4σ0) 12
  13. 13. σの連続性を保持した平滑化処理 (3/3) 入力画像 € σ0 € L1(σ0) € L1(kσ0) 1オクターブ目 € L1(2σ0) ≈ L2(σ0) € L2(σ0) € L1(2σ0) L3(σ0) € L2(kσ0) € L2(2σ0) 2オクターブ目 L3(σ0) ≈ L2(2σ0) ≈ L1(4σ0) L3(kσ0)L3(2σ0) € σ0 8σ0 € 4σ0 € 2σ0 € 2σ0 4σ0 13
  14. 14. 平滑化画像生成例 € σ0 € 2σ0 2σ0 € 4σ0 4σ0 8σ0 14
  15. 15. DoG画像からの極値検出 • DoG画像から極値(極大値or極小値)を検出 ‒ 注目画素のDoG値を画像スケール空間の26近傍と比較 DoG画像 3枚1組 平滑化画像 σ0 € kσ0 € k2 σ0 スケール € k3 σ0 ー ー ー 15 k⁴σ₀ ー
  16. 16. DoG画像からの極値検出 • DoG画像から極値(極大値or極小値)を検出 ‒ 注目画素のDoG値を画像スケール空間の26近傍と比較 DoG画像 3枚1組 平滑化画像 σ0 € kσ0 € k2 σ0 スケール € k3 σ0 ー ー ー 16 k⁴σ₀ ー
  17. 17. DoGによるスケール探索 × 2 10 DoG出力 原画像 σ0=4 σ1=6 12 41 σ2=10 53 47 σ3=16 100 3 σ4=25 103 ガウシアンフィルタ出力 最大 17
  18. 18. 極値の性質 200 200 Scale(σ) 極値σ1=5 DoG 400 400 極値σ2=10 Scale(σ) DoG σ2=2σ1 スケールに対する不変性を得る 18
  19. 19. SIFTアルゴリズム 1. キーポイント検出 2. 特徴記述 スケールとキーポイント検出 キーポイントのローカライズ オリエンテーションの算出 特徴量の記述 19
  20. 20. キーポイントのローカライズ • キーポイントに向かない点 ‒ エッジ上の点 ‒ DoG出力の小さい点 開口問題 ノイズの影響を受け易い →主曲率とコントラストにより削除 キーポイント候補点 (キーポイント数:1895点) コントラストによる候補点削除 (キーポイント数:421点) 主曲率による候補点削除 (キーポイント数:1197点) 20
  21. 21. 主曲率によるエッジ上のキーポイント削除 • エッジ上に存在するキーポイント候補点を削除 € D:DoG画像 € α:第1固有値 € β:第2固有値 € H = Dxx Dxy Dxy Dyy ⎡ ⎣ ⎢ ⎤ ⎦ ⎥ヘッセ行列 から主曲率を算出 Edge EdgeFlat Corner α € β 2つの固有値α, βの関係からエッジ上の点を判別可能 α, βともに小さい:フラット α, βともに大きい:コーナー α>>β or β>>α :エッジ 21
  22. 22. 比率による固有値の表現 € Tr(H)2 Det(H) = (α + β)2 αβ = (γβ + β)2 γβ2 = (γ +1)2 γ € Tr(H) = α + β = Dxx + Dyy € Det(H) = αβ = DxxDyy − (Dxy )2 対角成分の和: 行列式: € γ:第1固有値と第2固有値の比率 € α = γβ 固有値の比率により決定 固有値を求めずにエッジ上の点を判別可能 € (α > β) 22
  23. 23. 固有値の比率によるしきい値処理 € Tr(H)2 Det(H) < (γth +1)2 γth しきい値: により決定 € γth しきい値以上 比率が大きい:エッジ上の点 しきい値未満 比率が小さい:キーポイント候補点 γth =10のとき:しきい値=12.1 キーポイント候補1895点 キーポイント候補1197点 23
  24. 24. キーポイントのサブピクセル位置推定 € D(x) = D + ∂D ∂x T x + 1 2 xT ∂2 D ∂x2 x € ∂D ∂x + ∂2 D ∂x2 ˆx = 0 € ∂2 D ∂x2 ˆx = − ∂D ∂x ある点 でのDoG関数 をテイラー展開 € x = (x,y,σ)T € D(x) x に関する導関数を求め0とする € ˆx € (x,y,σ)T :サブピクセル位置 変形 サブピクセル位置 ˆx = x y σ ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ = − ∂2 D ∂x2 ∂2 D ∂xy ∂2 D ∂xσ ∂2 D ∂xy ∂2 D ∂y2 ∂2 D ∂yσ ∂2 D ∂xσ ∂2 D ∂yσ ∂2 D ∂σ2 ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ −1 ∂D ∂x ∂D ∂y ∂D ∂σ ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ • 3次元空間におけるパラボラフィッティング 24
  25. 25. サブピクセル推定によるスケールの変化 25 キーポイントのスケールσ 画像サイズの倍率 [%] 5000 300 700 900 1100 1300 1500 サブピクセル推定前 0 50 10 20 30 40 サブピクセル推定前 • ダウンサンプリングの影響によるスケール値を修正
  26. 26. 26 キーポイントのスケールσ 画像サイズの倍率 [%] 5000 300 700 900 1100 1300 1500 サブピクセル推定前 サブピクセル推定後 0 50 10 20 30 40 サブピクセル推定後 サブピクセル推定前 サブピクセル推定によるスケールの変化 • ダウンサンプリングの影響によるスケール値を修正
  27. 27. キーポイント候補点のサブピクセル位置でのDoG出力値を再計算 コントラストによるしきい値処理 € D(ˆx) = D + 1 2 ∂D ∂x T ˆx € D(ˆx)DoG出力値の絶対値 がしきい値未満(ローコントラスト) →ノイズの影響を受けやすいため削除 しきい値=0.03のとき(※ DoG出力値は0∼1) キーポイント候補1197点 キーポイント候補421点 27
  28. 28. SIFTアルゴリズム 1. キーポイント検出 2. 特徴記述 スケールとキーポイント検出 キーポイントのローカライズ オリエンテーションの算出 特徴量の記述 28
  29. 29. • キーポイントのオリエンテーション ‒ オリエンテーションの向きに正規化を行うことで回転に不変な 特徴量を算出 オリエンテーションの算出 € m(u,v) = (L(u +1,v) − L(u −1,v))2 + (L(u,v +1) − L(u,v −1))2 θ(u,v) = tan−1 L(u,v +1) − L(u,v −1) L(u +1,v) − L(u −1,v) ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ キーポイントが検出された平滑化画像 の勾配強度 と 勾配方向 を算出 € m(u,v) € θ(u,v) € L(u,v) 平滑化画像L(u, v) 29
  30. 30. 勾配方向 勾配方向ヒストグラムの作成 1 0 h 0 35勾配方向(36bin) × • 勾配情報から勾配方向ヒストグラムを作成 ‒ 全方向を36方向に離散化 ‒ キーポイントの持つスケールに対応する領域から勾配を算出 ‒ ガウス窓と勾配強度から重みをヒストグラムに加算 € m(u,v) = (L(u +1,v) − L(u −1,v))2 + (L(u,v +1) − L(u,v −1))2 θ(u,v) = tan−1 L(u,v +1) − L(u,v −1) L(u +1,v) − L(u −1,v) ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ 勾配強度      = 重み ガウス窓 勾配方向ヒストグラム m(u,v) 30
  31. 31. オリエンテーションの割り当て • 勾配方向ヒストグラムからキーポイントの代表的な オリエンテーションを算出 ‒ ヒストグラムの最大値から80%以上 1 0 h 0 35勾配方向(36bin) 0.8 peak キーポイントへ割り当てる 31
  32. 32. オリエンテーションが複数の場合 • 1つのキーポイントに複数のオリエンテーションが 割り当てられる ‒ 例:コーナー上の点 1 0 0 35 勾配方向(36bin) 0.8 peak1 peak2 2方向が割り当てられる 32
  33. 33. SIFTアルゴリズム 1. キーポイント検出 2. 特徴記述 スケールとキーポイント検出 キーポイントのローカライズ オリエンテーションの算出 特徴量の記述 33
  34. 34. 特徴量の記述:記述領域の方向の正規化 • 特徴量を記述する領域をキーポイントが持つオリエンテ ーションに合わせて回転させる 回転に対する不変性を得る キーポイントのオリエンテーション 特徴量記述領域 34
  35. 35. 特徴量の記述:特徴ベクトル算出 特徴ベクトルを算出: 周辺領域を一辺4ブロックの計16ブロックに分割 ブロックごとに8方向(45度ずつ)の勾配方向ヒストグラム作成 →4ブロック 4ブロック 8方向=128次元 ヒストグラム(勾配方向毎の勾配強度) 35 4分割 4分割 8方向 ガウス窓
  36. 36. 特徴ベクトルの正規化 • 128次元の各特徴ベクトルの長さをベクトルの総和で 正規化 照明変化に頑健な特徴量を得る 36
  37. 37. SIFT特徴量の不変性を得る過程 1. キーポイント検出 2. 特徴記述 ・スケールとキーポイント検出 ・キーポイントのローカライズ ・オリエンテーションの算出 ・特徴量の記述 →スケール変化に対する不変性 →ノイズに対する頑健性 →回転に対する不変性 →照明変化に対する頑健性 37
  38. 38. 画像 I2 SIFTの対応点探索による画像のマッチング • 2画像間で抽出されたキーポイントの特徴量の距離計算 により対応点探索が可能 ‒ 128次元のSIFT特徴量間のユークリッド距離 を算出 38 d:68 d:47 d:54 d:12 dist(x, y) = 128 i=1 (xi yi)2 dist 画像 I1 I2 x y :画像  のSIFT特徴量I1 :画像  のSIFT特徴量
  39. 39. SIFTの対応点探索による画像のマッチング • 画像間のユニークな点を対応付け ‒ 距離が1番小さい点 と2番目に小さい点 を比較 39 d1 d2 最も距離が小さい点 2番目に距離が小さい点 上記の式が成り立つ点→対応点 d:68 d:47 d:54 d:12 12 / 47 < 0.6 x dist(x, y1)/dist(x, y2) < 0.6 y1 y2 画像 I2画像 I1
  40. 40. 対応点数:59点 誤対応点数:8点 →レジストレーション(RANSAC) 40 対応点数:33点 誤対応点数:0点 →投票ベースの物体認識 SIFTの対応点探索による画像のマッチング dist(x, y1) dist(x, y2) < 0.6 dist(x, y1) dist(x, y2) < 0.9
  41. 41. 画像の変化に対するSIFT特徴量 • 参照用画像と変化を与えた画像のSIFT特徴量を比較 参照用画像 回転 スケール変化 輝度変化射影変化 41
  42. 42. 検証1:回転 参照用画像とのユークリッド距離:42.6 回転:45度 42
  43. 43. 検証2:スケール変化 参照用画像とのユークリッド距離:27.3 拡大:2.0倍 43
  44. 44. 検証3:輝度変化 参照用画像とのユークリッド距離:7.8 露光量:-3 44
  45. 45. 検証4:射影変化 参照用画像とのユークリッド距離:149.1 視点の変化 45
  46. 46. 回転 スケール変化 輝度変化 射影変化 46
  47. 47. 検証結果 • 回転・スケール変化・輝度変化に対しては対応点検出が可能 • 射影変化のSIFT特徴量への影響 ‒ 画像に歪みの変化が含まれるためスケールと方向を正規化 して特徴を記述するだけでは不十分 47 画像の変化 ユークリッド距離 対応点数 輝度変化 7.8 118 スケール変化 27.3 102 回転 42.6 183 射影変化 149.1 24 ○ ×
  48. 48. SIFTの引用件数の推移 [Lowe2004] • scholar.google.com1でSIFT論文2の引用件数を調査3 1 http://scholar.google.com/ 2 D. Lowe, Distinctive image features from scale-invariant keypoints , IJCV 04. 3 2013年7月1日時点 合計文献引用数 19,727件 48 0 1000 2000 3000 4000 2004 2005 2006 2007 2008 2009 2010 2011 2012 引用件数 前回のチュートリアル 911 19,727
  49. 49. • scholar.google.comでSIFT論文の引用件数を調査 ‒ 引用総数:911件,SIFTの利用論文数:291件 1.7% 25.1% 24.4% 48.8% 2007年におけるSIFTの利用傾向 49 1. 画像間のマッチング:142件(48.8%) 2. 物体検出・認識:71件(24.4%) 3. 画像分類:73件(25.1%) 4. 特徴点追跡:5件(1.7%) (2007年5月22日時点)
  50. 50. 1. 画像分類:100件(41.0%) 2. 画像間のマッチング:40件(16.4%) 3. 物体検出・認識:28件(11.5%) 4. シーン認識:19件(7.8%) 5. 画像分割:11件(4.5%) 6. 画像検索:10件(4.1%) 7. 特徴点追跡:4件(1.6%) 8. その他:17件(7.0%) 7.0% 1.6% 4.1% 4.5% 6.1% 7.8% 11.5% 16.4% 41.0% 最近(2011 2013)のSIFTの利用傾向 • CVPR2011 2013のSIFTを参照している論文を調査 ‒ 引用総数:402件,SIFTの利用論文数:244件 50 (2013年7月1日時点)
  51. 51. 対応点探索による画像マッチング 51
  52. 52. 特定画像を用いたSIFTによる物体認識 [Lowe2004] 1. テンプレートと入力画像の対応点 探索 2. テンプレートから検出された対応 点の位置・スケール・方向を一般 化ハフ変換により投票 3. 3点以上の投票点から入力画像と テンプレート間のアフィンパラメ ータ算出 Loweの物体認識アルゴリズム テンプレート 入力画像 認識結果 • 特定画像(テンプレート)と入力画像間でSIFT特徴の 対応点探索による物体認識 52
  53. 53. SIFTを用いた交通道路標識の認識 [高木2007] • 対応点のスケールとオリエンテーションを投票処理に利用 1. SIFT特徴量算出 2. 標識パターンと入力画像の対応点探索 3. 標識パターンの中心位置座標に投票 (対応点のスケール,オリエンテーション情報を使用) 4. 投票数のしきい値処理により標識認識 入力画像 :スケール :回転 テンプレート画像 :特徴点 :基準点 Voting 53
  54. 54. 54 SIFTを用いた交通道路標識の認識 [高木2007]
  55. 55. Autostitchによるモザイク画像生成 [Brown2007] 55 http://www.cs.bath.ac.uk/brown/autostitch/autostitch.html
  56. 56. 画像分類へ利用 56
  57. 57. Bag-of-Features(Keypoint)による画像分類 • Bag-of-Features(keypoint)のアプローチ ‒ 位置情報を無視した一般物体認識・画像分類手法 ‒ 文書分類手法であるBag-of-Wordsを画像に適用 Bag-of-Words: 文章を単語の集合とみなし,単語の頻度に文章の特徴を表現 Bag-of-Features(Keypoint): 画像を局所特徴量の集合とみなし,その位置情報を無視して 画像の認識を行う →局所特徴量としてSIFTを利用 57
  58. 58. Bag-of-Features(Keypoint)の流れ 58 学習 識別 局所特徴量抽出 入力画像 出力:顔 ...
  59. 59. Bag-of-Features(Keypoint)の流れ 59 出力:バイク 局所特徴量抽出 入力画像 ... ベクトル量子化ヒストグラム visual word 頻度 学習 識別
  60. 60. まとめ:SIFT • Scale-Invariant Feature Transform(SIFT) ‒ 画像の回転・スケール変化に不変,照明変化に頑健な 特徴点の検出,特徴量の記述をする手法 • キーポイント検出 ‒ DOGによるスケールスペースから極値探索 • 特徴量記述 ‒ オリエンテーションによる方向の正規化 ‒ 勾配方向ヒストグラムによる特徴記述 60
  61. 61. 2. SIFT以降のキーポイント検出器 61
  62. 62. キーポイント検出器における不変性 • 回転不変:点(interests point)の検出 ‒ Harrisのコーナー検出 ‒ FAST, Cascaded FAST • スケール不変:領域 (blob) の検出 ‒ SIFT Detector:DOG ‒ SURF:Fast Hessian Detector • アフィン不変:アフィン領域 (blob, region) の検出 ‒ Hessian-Affine, Harris-Affine ‒ MSER 62
  63. 63. キーポイント検出器の変遷 1999 2006 20132002 Cascaded FAST [SSII13] FAST の改良 1988 Harris [PAVC88] ヘッセ行列を用いて コーナー検出 Affine Invariant 特徴領域があらゆる変化に 対して頑健 [ECCV02] MSER 2 値化による領域の検出 [BMVC02]MSER 2 値化による 領域の検出 [BMVC02] Fast Hessian Detector [ECCV06]SURF 決定木による出力値 [ECCV06]FAST Difference-Gaussian [ICCV99]SIFT 高速化 高速化 スケール変化アフィン変化回転 1998 Laplace-Gaussian [IJCV98]LOG 1978 Hessian[ICPR78] ヘッセ行列を用いて 特徴点検出 63
  64. 64. Harrisのコーナー検出 • Harris行列を用いたコーナー検出 64 第一固有値 : α 第二固有値 : β Edge EdgeFlat Corner α β R 0 (α, βともに小さい) :フラット R << 0 (α>>β または β>>α) :エッジ R >> 0 (α, βともに大きい) :コーナー H = g( ) I2 x(x) IxIy(x) IxIy(x) I2 y (x) ⇥ :ガウス関数Ix(·) Iy(·) g(·):y軸方向の1次微分:x軸方向の1次微分 (1次微分の値をガウス関数で平滑化することにより2次微分の計算の代用となる) R = det(H) ktr(H)2判別式 (k = 0.04 ∼ 0.06)
  65. 65. • 注目画素 p の周辺の円周上の16画素を観測 FAST: Features from Accelerated Segment Test [Rosten2010] 65 注目画素 p がコーナーである条件 p の輝度値と比較して円周上の輝度値が連続してn 個以上が しきい値 t 以上 明るい,もしくは暗い (図中の破線)
  66. 66. 決定木を用いたFASTのコーナー検出 • 学習画像の画素を特徴ベクトル化 ‒ 注目画素 p 周囲の円周上の輝度値を3値化 66 注目画素 p の輝度値 円周上の輝度値 しきい値
  67. 67. 決定木の学習 • 決定木の構築 ‒ 特徴ベクトルによる3分木の学習 67 2 学習画像 分岐ノード 特徴ベクトルによる分岐 末端ノード:最も到達したクラスを保存 コーナー画像 非コーナー画像
  68. 68. 分岐関数の決定 • 情報利得が最大となる円上の参照画素(1 16)を決定 68 コーナー画像 非コーナー画像 I(S) = H(S) |Sb| |S| H(Sb) |Ss| |S| H(Ss) |Sd| |S| H(Sd) :エントロピーH(S) Sb Ss S 参照画素:1 I1(S) = 15.5 Sd 円上の参照画素 情報利得 参照画素:2 参照画素:16
  69. 69. 分岐関数の決定 • 情報利得が最大となる円上の参照画素(1 16)を決定 69 コーナー画像 非コーナー画像 I(S) = H(S) |Sb| |S| H(Sb) |Ss| |S| H(Ss) |Sd| |S| H(Sd) :エントロピーH(S) Sb Ss 参照画素:2 S 参照画素:1 I1(S) = 15.5 Sd I2(S) = 18.5 円上の参照画素 情報利得
  70. 70. 分岐関数の決定 • 情報利得が最大となる円上の参照画素(1 16)を決定 70 コーナー画像 非コーナー画像 I(S) = H(S) |Sb| |S| H(Sb) |Ss| |S| H(Ss) |Sd| |S| H(Sd) :エントロピーH(S) Sb Ss 参照画素:2 参照画素:16 S I16(S) = 8.3 参照画素:1 I1(S) = 15.5 ・・・ Sd I2(S) = 18.5 円上の参照画素 情報利得
  71. 71. 分岐関数の決定 • 情報利得が最大となる円上の参照画素(1 16)を決定 71 コーナー画像 非コーナー画像 I(S) = H(S) |Sb| |S| H(Sb) |Ss| |S| H(Ss) |Sd| |S| H(Sd) :エントロピーH(S) Sb Ss 参照画素:2 参照画素:16 S I16(S) = 8.3 参照画素:1 I1(S) = 15.5 ・・・ max Sd I2(S) = 18.5 円上の参照画素 情報利得 参照画素→2
  72. 72. 決定木によるコーナー検出 • 決定木に各画素を入力してコーナーを判定 ‒ 末端ノードに保存されたクラスに分類 入力 コーナー判定→ C NC 円上の参照画素
  73. 73. コーナー検出 73 • Harris, FAST, FAST(Pyramid)の検出時間の比較 Harris FAST FAST(Pyramid) コーナー数:80 コーナー数:164 コーナー数:285 処理時間:20.6 [ms] 処理時間:0.6 [ms] 処理時間:1.5 [ms]
  74. 74. FASTにおける問題点 • 人工物からのコーナー検出 • テクスチャが複雑な自然画像からのコーナー検出 74 Harrisのコーナー検出結果 FASTのコーナー検出結果 →自然画像領域からコーナーらしくない点を多く検出 Harrisのコーナー検出結果 FASTのコーナー検出結果
  75. 75. コーナー周辺領域のアピアランスの傾向 • FASTが検出したコーナー点の傾向を調査 75 コーナーらしい点 コーナーらしくない点
  76. 76. TRUE TRUETRUE TRUETRUE • 周囲{20, 16, 12}画素を参照するため3つの決定木を学習 ‒ 決定木をカスケード状に並べて高速化 Cascaded FAST [長谷川2013] 76 周囲12画素を 参照する決定木 オリエンテーション の類似性 オリエンテーション 算出 非コーナー非コーナー 非コーナー TRUE TRUE コーナー 非コーナー FALSE FALSE FALSE FALSE 入力画像 非コーナー TRUE TRUE コーナー FALSE 周囲16画素を 参照する決定木 周囲20画素を 参照する決定木
  77. 77. コーナー検出の比較 77 FAST Cascaded FAST Harris (コーナー数:22612) (コーナー数:19961) (コーナー数:1447) (コーナー数:1501) (コーナー数:1200) (コーナー数:1300)
  78. 78. Cascaded FASTにおけるオリエンテーションの獲得 • 周囲20画素の輝度の連続性からオリエンテーションを 算出 ‒ 始点と終点までの角度を2等分する方向をオリエンテーション として算出 78 始点 終点 0° = 326.3°
  79. 79. Cascaded FASTのキーポイント検出例 79
  80. 80. 2画像間の対応付けの速度比較 80 0 0.5 1.0 1.5 2.0 2.5 処理時間 [s] キーポイント検出 特徴量記述 距離計算 0.286 0.181 0.002 0.018 0.301 0.154 0.025 0.022 1.448 0.483 0.423 0.137 2.035 0.818 0.450 0.177 (CPU : Intel Xeon X7452 2.67GHz) SIFT (ユークリッド距離) SURF (ユークリッド距離) FAST+ORB (ハミング距離) Cascaded FAST+ORB (ハミング距離)
  81. 81. キーポイント検出器における不変性 • 回転不変:点(interests point)の検出 ‒ Harrisのコーナー検出 ‒ FAST, Cascaded FAST • スケール不変:領域 (blob) の検出 ‒ SIFT Detector:DOG ‒ SURF:Fast Hessian Detector • アフィン不変:アフィン領域 (blob, region) の検出 ‒ Hessian-Affine, Harris-Affine ‒ MSER 81
  82. 82. SIFTのキーポイント検出:DoGによる極値探索 • DoG画像によるスケールスペースから極値を検出 82 複数のDoG画像の算出(約1秒)は計算コストが高い DoG画像平滑化画像 € σ0 € kσ0 € k2 σ0 スケール € k3 σ0 k⁴σ₀ - - - -
  83. 83. SIFTアプローチの高速化 • アルゴリズムの改良 ‒ SURF(Speeded Up Robust Features) [Bay2006] ‒ Box filter [Grabner2006] • GPGPU(General-Purpose computation on GPUs)の利用 ‒ GPU-Based Video Feature Tracking and Matching [Sinha2006] 83
  84. 84. 極値探索近似ヘッセ行列の算出 •ボックスフィルタ •積分画像 •scale: σ SURF(Fast Hessian Detector)の処理の流れ [Bay2006] 1. 近似ヘッセ行列の算出 ‒ ボックスフィルタによる近似 ‒ ボックスフィルタを積分画像を用いて高速化 2. スケールスペースの構築 3. 極値探索によるキーポイント検出 84 入力画像 キーポイント スケールスペースの構築 •scaleσの変更
  85. 85. • 2次微分の正方行列 ヘッセ行列によるキーポイント検出 H(x, ) = Lxx(x, ) Lxy(x, ) Lxy(x, ) Lyy(x, ) ⇥ Lxx(x, ) = I(x) ⇤2 ⇤x2 g( ), Lyy(x, ) = I(x) ⇤2 ⇤y2 g( ), Lxy(x, ) = I(x) ⇤2 ⇤x⇤y g( ) 85 2 x y g( ) 2 x2 g( ) 2 y2 g( ) Lはガウシアンの各方向の2次微分を画像に畳み込んだ応答値
  86. 86. • ヘッセ行列の行列式 判別式によるキーポイント判定 ガウシアンの2次微分の畳み込みは計算コストが高いため判別に時間を要する 86 det(H) = kmin · kmax kmin kmax :最小固有値 :最大固有値 kmin, kmax:大kmin, kmax:小kmin:小 H(x, ) = Lxx(x, ) Lxy(x, ) Lxy(x, ) Lyy(x, ) ⇥ キーポイントとして検出
  87. 87. ボックスフィルタによる近似 近似誤差修正:0.9 -21 1 Dxx Dyy Dxy 87 2 x y g( ) 2 x2 g( ) 2 y2 g( ) det(Happrox) = DxxDyy (wDxy)2 判別式:
  88. 88. • 予め積分画像を作成 • 任意領域の輝度値の総和を高速に算出可能 ‒ 3回の足し算と1回の引き算 O 積分画像(Integral Image) A B C D S I(i, j) (i, j) S = -B-C+DA 88 積分画像 S(x, y) = i x i=0 j y j=0 I(i, j)積分画像:
  89. 89. • 各スケールσにおける近似ヘッセ行列を各画素毎に計算 ‒ スケールσ   : 1.2, 2.0, 2.8,   3.6 ‒ フィルタサイズ : 9x9, 15x15, 21x21, 27x27 スケールスペースの構築 89 det(Happrox(x, 2)) Scale = Scale det(Happrox(x, 0)) det(Happrox(x, 1)) det(Happrox(x, 3)) 入力画像 スケールスペース 積分画像を用いた 近似ヘッセ行列
  90. 90. スケールスペースの構築 • SIFT:画像ピラミッドの利用 ‒ フィルタのサイズが大きくなるにつれて処理時間が増加 • SURF:フィルタサイズを変化 ‒ 積分画像を使用することにより算出時間は一定 ‒ 処理時間がフィルタのサイズに依存しない 90
  91. 91. 極値探索(non-maxima suppression)    • 26近傍と比較して極値ならキーポイントとして検出 ‒ SIFTと同じ処理 91 キーポイント検出例 Scale SIFTと同様の極値探索
  92. 92. • SIFT(DoG)とSURFを比較 キーポイント検出時間 92 SIFT(DoG) SURF キーポイント数:79 キーポイント数:82 処理時間:1.212 [s] 処理時間:0.095 [s]
  93. 93. 93 SIFT SURF SiftGPU SIFT, SURF, SiftGPUの比較
  94. 94. SIFT, SURF, SiftGPUの比較 ハード 手法 処理時間(FPS) PC PC GPU1(GeForce GT220 ) GPU2(Tesla C1060) SIFT SURF SiftGPU SiftGPU 1 9 16 22 SIFTとSURFの処理速度の比較 SIFT   :http://vision.ucla.edu/ vedaldi/code/siftpp/siftpp.html SURF :OpenCV2.1 SiftGPU :http://cs.unc.edu/ ccwu/siftgpu/ 94
  95. 95. キーポイント検出器における不変性 • 回転不変:点(interests point)の検出 ‒ Harrisのコーナー検出 ‒ FAST, Cascaded FAST • スケール不変:領域 (blob) の検出 ‒ SIFT Detector:DOG ‒ SURF:Fast Hessian Detector • アフィン不変:アフィン領域 (blob, region) の検出 ‒ Hessian-Affine, Harris-Affine ‒ MSER 95
  96. 96. アフィン不変の領域検出 • SIFTでは射影変化の画像に対応できない • アフィン不変の領域検出 ‒ アフィン領域を検出後,真円に正規化して特徴記述することで アフィン不変な特徴量を求めることが可能 ‒ Hessian-Affine, Harris-Affine, MSER 96 領域を変形 領域を変形 回転後,特徴記述
  97. 97. Hessian/Harris-Laplaceによる特徴点検出 • 2次モーメント行列による特徴点とスケールの検出 ‒ Hessian-Laplace ‒ Harris-Laplace 97 H(x, D) = 2 D Lxx(x, D) Lxy(x, D) Lxy(x, D) Lyy(x, D) ⇥ µ(x, I, D) = 2 Dg( I) L2 x(x, D) LxLy(x, D) LxLy(x, D) L2 y(x, D) ⇥ Hessian-Laplace Harris-Laplace
  98. 98. 反復処理によるアフィン領域の検出 [Mikolajczyk2004] • 特徴点を中心とする局所パッチを繰り返し変形 1. Hessian/Harris-Laplace検出器により特徴点とスケールを検出 2. ヘッセ行列の固有値 から楕円領域を推定 3. 楕円領域が正円となるように局所パッチを変換 4. 変換された局所パッチから特徴点とスケールを再検出 5. 再検出された特徴点の固有値が等しい場合 → 処理を終了 固有値が等しくない場合 → 2へ戻る 98 ( max, min) ( max min) ( max = min) 初期点 1回目 2回目 3回目 →局所パッチの変形を繰り返すことでアフィン変化に頑健な領域を検出 1 2 min 1 2 max 1 2 min 1 2 max 1 2 min1 2 max
  99. 99. Hessian/Harris-Affineによる領域検出結果 99 Hessian-Affine Harris-Affine
  100. 100. MSER: Maximally Stable Extremal Regions [Matas2002] • 輝度が類似した画素の領域に着目 - 閾値を徐々に変化させ,連続する2値画像を生成 - 各2値画像の連結領域を求める - 連結領域の面積の変化が緩やかな領域を検出 2値化
  101. 101. 領域に対する楕円のフィッティング 101 検出された領域 楕円をフィッティング 中心点m x1 = (r1, c1), · · · , xn = (rn, cn) m = [mr, mc] = 1 n n i=1 xi 領域内の点群: 楕円の中心点: 共分散行列: = 1 n 1 n i=1 (xi m)(xi m)T • 検出された領域から共分散行列を計算 • 共分散行列の固有値と固有ベクトルにより楕円を決定
  102. 102. MSERによる領域検出結果 • 検出された領域を楕円にフィッティングすることで アフィン変換に不変な領域を得る 102 検出した領域
  103. 103. アフィン不変性の比較 103 SIFT Hessian-Affine MSER Harris-Affine
  104. 104. まとめ:SIFT以降のキーポイント検出器 • コーナー検出 ‒ Harris Detector ‒ 学習の導入(FAST, Cascaded-FAST) • 高速化のアプローチ ‒ スケールスペース→積分画像の利用(SURF) • アフィン不変の獲得 ‒ 領域の楕円フィッティング(Hessian-Affine, MSER) 104
  105. 105. キーポイント検出器 105 手法 Rotation Invariant Scale Invariant Affine Invariant 処理時間 OpenCV による実装 出版年 Hessian △ Harris △ 1988 Good Features To Track △ 1991 SUSAN △ 1995 LoG △ 1998 SIFT △ 1999 Hessian Laplace Harris Laplace 2001 MSER ○ 2002 Hessian Affine Harris Affine 2004 SURF ○ 2006 FAST ◎ 2006 CenSurE ○ 2008 SFOP 2009 STAR ○ 2010 ASIFT △ 2009 KAZE △ 2012 スペクトル理論 を用いたSIFT ○ 2012 AGAST ◎ 2010 Cascaded FAST ◎ 2013
  106. 106. 3. SIFT以降のキーポイント記述子 106
  107. 107. キーポイント記述子の変遷 107 実数ベクトル 直接的バイナリ化間接的バイナリ化 バイナリコード 学習なし 教師あり 教師なし 1999 2006 2010 2011 2012 20132002 積分画像を用いた Harr-like による輝度勾配 [ECCV06]SURF 勾配特徴の近似 勾配方向ヒストグラム RIFF [CVPR10] 勾配方向ヒストグラム [ICCV99]SIFT 直接的バイナリ化 間接的バイナリ化 ( 変換行列あり ) 高速化 高速化 バイナリによる高速化     と省メモリ化 2 点の輝度差 BRIEF [ECCV10] BRIEF の改良 BRISK [ICCV11] FREAK[CVPR12] 人間の網膜モデル を導入BRIEF の改良 ORB [ICCV11] D-BRIEF [ECCV12] BRIEF の改良 BinBoost [CVPR13] Boosting を導入 Learning-based Sparse Hashing CARD [ICCV11]
  108. 108. SIFT以降のキーポイント記述子 • 実数ベクトル型の特徴記述 ‒ 特徴記述空間の工夫:GLOH, DAISY, PCA-SIFT ‒ 積分画像を用いた高速化:SURF • バイナリコードによる特徴記述 ‒ 直接的バイナリコード化(学習なし) ‒ 直接的バイナリコード化(教師無し学習) ‒ 変換行列を用いた間接的バイナリコード化(教師あり学習) 108
  109. 109.  SIFTにおける特徴記述子 109 4分割 4分割 8方向 ガウス窓 • 勾配方向ヒストグラムによる特徴記述 ‒ 特徴記述空間:グリッド ‒ 積分画像を用いた高速化:SURF
  110. 110. 特徴記述空間の分割パターン [Mikolajczyk2005][Tola2008] • 分割された小領域ごとに勾配方向ヒストグラムを計算 110 SIFT GLOH DAISY (Gradient Location and Orientation Histogram) 位置ずれに頑健 位置ずれに頑健 回転に頑健
  111. 111. PCA-SIFT [Ke2004] • 局所領域の勾配情報に対して主成分分析(PCA)を適用 ‒ キーポイント検出はSIFTと同じ ‒ 特徴ベクトルは36次元(実験から決定) ‒ SIFT特徴の頑健性の向上 PCA 36次元の特徴量 キーポイント検出 勾配情報 111
  112. 112. SURF記述子による高速化 [Bay2006] • オリエンテーションの算出 • オリエンテーションによる正規化 • Haar-wavelet応答の算出 ‒ 積分画像を用いることで高速化 112
  113. 113. SURFのオリエンテーション算出 • キーポイントを中心とした6s(σ=2s)の領域から算出 ‒ Haar-Waveletを使用 • 各方向における応答値の和を算出してベクトルとして表現 • 和を算出する領域は60度の範囲 • 最大のベクトルをキーポイントのオリエンテーションとして決定 4s 4s 9 dx dy 6s 6s dy dx dy dx 113 +1 +1 -1 -1
  114. 114. 1. 記述範囲として20sの領域を選択 2. 領域を4 4(=16)ブロックに分割 3. 記述範囲をオリエンテーション方向に回転 オリエンテーションによる正規化 20s 20s 114
  115. 115. 特徴ベクトル算出 • 1つのブロックから5 5点をサンプリング • 各点のHaar-Wavelet応答を計算 ‒ 各点の応答値よりΣdx,Σdy,Σ¦dx¦,Σ¦dy¦を算出 115 dx dy
  116. 116. SURF特徴量 116 dx |dx| |dy|dy dx |dx| |dy|dy dx |dx| |dy|dy • Haar-Wavelet応答をブロック毎に記述 ‒ 16分割 4次元(Σdx, Σdy, Σ|dx|, Σ|dy|)=64次元
  117. 117. 記述子の計算速度とマッチング性能の比較 [Bay2006] U-SURF SURF SURF-128 SIFT 255 354 391 1036 キーポイント記述子の処理時間 [ms] U-SURF SURF SURF-128 SIFT GLOH PCA-SIFT 正解率 83.8 82.6 85.7 78.1 78.3 72.3 対応点マッチングの正解率 [%] 117
  118. 118. SIFT以降のキーポイント記述子 • 実数ベクトル型の特徴記述 ‒ 特徴記述空間の工夫:GLOH, DAISY, PCA-SIFT ‒ 積分画像を用いた高速化:SURF • バイナリコードによる特徴記述 ‒ 直接的バイナリコード化(学習なし) ‒ 直接的バイナリコード化(教師無し学習) ‒ 変換行列を用いた間接的バイナリコード化(教師あり学習) 118
  119. 119. バイナリコードの利点 • バイナリコードで特徴記述 ‒ SIFT:128次元 8bit (unsigned char) ‒ 数十∼数百個程度の0と1から成るバイナリコードで表現 • メリット ‒ 大幅な省メモリ化が可能 ‒ ハミング距離による高速な距離計算 010010000 010010101 000000101 XOR ハミング距離: 2 →SSE命令で高速に演算可能 119
  120. 120. 距離計算の速度比較 120 64ビット 128ビット 256ビット 512ビット 128次元 0 50 100 150 200 250 300 350 処理時間 [ns] ハミング距離 [SSE4.2(_mm_popcnt_u64)] ハミング距離 [8bitLUT] ユークリッド距離の2乗 (CPU : Intel Xeon X7452 2.67GHz) →SSE4.2popcntを用いると約10倍早い距離計算が可能 バイナリコード によるハミング距離 実数ベクトルによる ユークリッド距離
  121. 121. バイナリコードによる局所特徴量の表現 • バイナリコードによる記述子 ‒ 直接的バイナリコード化:BRIEF, BRISK, ORB, FREAK • 輝度値の大小関係等の簡単な処理によりバイナリコード化 → 計算コストが非常に小さい ‒ 間接的バイナリコード化:CARD, D-BRIEF, BinBoost • 変換行列を用いてバイナリコード化 → 効率の良いバイナリコードで特徴を表現可能 121
  122. 122. 122 BRIEF [Calonder2010] • バイナリコードの生成アルゴリズム ‒ パッチをガウシアンフィルタにより平滑化 ‒ 事前にランダム選択したペア(2点)の画素値の大小関係から バイナリ列を生成 ガウシアン分布に基づきペアを決定 キーポイント パッチ
  123. 123. • 長距離ペアの平均ベクトルをオリエンテーションとして算出 • 短距離ペアの領域の輝度の大小関係から特徴量を記述 BRISKによる特徴量記述 [Leutenegger2011] 123 方向:暗い→明るい 長さ:輝度差 短距離ペア オリエンテーション方向に回転 512bitのバイナリコードを生成 長距離ペアのベクトル
  124. 124. サンプリングパターン(参照ペア)の学習 • 良いバイナリコードを生成するためには? ‒ バイナリコードの独立性(エントロピー)が高い ‒ 外乱(回転,幾何学的な変形,照明変化)に対して頑健 • 参照する領域ペアの組合わせ方を機械学習により獲得 ‒ 教師なし学習 : バイナリコードのエントロピーが高い組合わせ • ORB,FREAK ‒ 教師付き学習 : バイナリコードの頑健性の高い組合わせ • D-BRIEF,BinBoost 124 → 参照する領域ペアの選び方が重要
  125. 125. ORB [Rublee2011] • パッチ内のモーメントによりオリエンテーションを算出 • 学習により効率の良いペアを選択 1. ビットの分散が大きい 2. ペア同士の相関が低い 125 パッチ Step 1. 学習画像を処理し,全ペアの分散を求め、分散 が最大となるペアを採用 Step 2. 残りのペアの中で,採用済みペアと相関が低く かつ分散が最大となるペアを採用 Step 3. ペアが256個選択されるまで,Step2を繰り返す 教師なし学習
  126. 126. 1. 各バイナリコードの分散が大きいビットを選択 ORBにおけるペアの選択方法 126 k5 k4 k3 k2 k1 b1 b2 b3 b4 b5 b6 b7 b8 k5 k4 k3 k2 k1 b1 b2 b3 b4 b5 b6 b7 b8 テストパターン 分散が小さい:悪 分散が大きい:良 0 0 0 1 0 0 1 0 1 0 1 0 1 1 0 1 1 0 1 0 0 0 1 1 0 0 1 0 1 1 0 1 1 0 1 0 1 0 1 0 ・・・ 教師なし学習
  127. 127. 2. ビット間の相関が小さくなるように選択 ORBにおけるペアの選択方法 127 相関が大きい:悪 相関が小さい:良 k5 k4 k3 k2 k1 b1 b2 b3 b4 b5 b6 b7 b8 0 0 0 1 0 0 1 0 1 0 1 0 1 1 0 1 1 0 1 0 0 0 1 1 0 0 1 0 1 1 0 1 1 0 1 0 1 0 1 0 k5 k4 k3 k2 k1 b1 b2 b3 b4 b5 b6 b7 b8 テストパターン ・・・ 教師なし学習
  128. 128. ORBにおけるペアの選択方法 • Greedy Algorithmによりペアの位置を決定 ‒ 学習画像から300,000点のキーポイントを抽出 ‒ 各キーポイントのパッチ内の全てのペア(205,590通り)を観測 ‒ ビットの分散が最大かつビット間の相関が最小となる 256個のペアを選択 128 相関大小 ビットの分散が大きく ビット間の相関が小さい ペアを選択 ビットの分散が大きな ペアを選択 教師なし学習
  129. 129. FREAK(Fast Retina Keypoint) [Alahi2012] • 人の網膜パターンを近似したモデルを使用 ‒ 網膜は複数の受容野から構成される ‒ 特徴点の中心に近いほど小さな範囲を観測する受容野,    遠いほど大きな範囲を観測する受容野 • ORBと同様のアルゴリズムにより受容野のペアを選択 129 受容野 人の網膜 FREAKのモデル ペア選択パターン 教師なし学習
  130. 130. バイナリコードによる局所特徴量の表現 • バイナリコードによる記述子 ‒ 直接的バイナリコード化:BRIEF, BRISK, ORB, FREAK • 輝度値の大小関係等の簡単な処理によりバイナリコード化 → 計算コストが非常に小さい ‒ 間接的バイナリコード化:CARD, D-BRIEF, BinBoost • 変換行列を用いてバイナリコード化 → 効率の良いバイナリコードで特徴を表現可能 130
  131. 131. 変換行列を用いた間接的バイナリコード化 • 実数ベクトル(もしくはパッチ画像)を変換行列  を 用いてバイナリコード化 131 = sgn WT xb ( ) B 1 B D D 1 WT 実数ベクトル (D次元) 変換行列バイナリコード (B bit) 回数 D=136次元, B=128bitsの場合 乗算 B D 17,408 加算 (D-1) B 17,280 変換行列を用いた計算時のボトルネック →変換行列  を最適化することで効率の良いバイナリコードに変換WT
  132. 132. CARD [Ambai2011] • 136次元の特徴量dを128次元のバイナリコードbに変換 ‒ バイナリコード変換前後の距離が保存されるように を最適化 • 元の情報を保持したバイナリコードを生成可能 • 高速なバイナリコード変換を実現するための拘束条件 ‒  の要素は{-1,0,+1}のいずれかの値のみ ‒  の0要素が90% 132 たがって,図 9,10 に示した 2 種類のテーブ とで,高速に勾配特徴量を算出できるように (b)バイナリコード化 特徴ベクトルをバイナリコードに変換する ーチは,機械学習や web,大規模検索の分 究されている.これまでの研究により,多く ード化手法は次の形で書けることが分かって b/sgn PfPWT d+cQQ d は D 次元の特徴ベクトル,b は長さ B ビ リコード,c はオフセットベクトル,W は 換行列,fP}Q は任意の関数である(d の平均 ルになるようにあらかじめ変換されている 拘束条件なし 拘束条件あり 乗算回数 17,408 0 加算回数 17,280 約1,740 拘束条件の有無による計算量の比較 に,M-M のテーブルで表現できることが分かる.し がって,図 9,10 に示した 2 種類のテーブルを用いるこ で,高速に勾配特徴量を算出できるようになる. b)バイナリコード化 特徴ベクトルをバイナリコードに変換するというアプロ チは,機械学習や web,大規模検索の分野で活発に研 されている.これまでの研究により,多くのバイナリコ ド化手法は次の形で書けることが分かっている. b/sgn PfPWT d+cQQ (11) は D 次元の特徴ベクトル,b は長さ B ビットのバイナ コード,c はオフセットベクトル,W は D 行 B 列の変 行列,fP}Q は任意の関数である(d の平均がゼロベクト になるようにあらかじめ変換されている場合,c/0 と てオフセット成分を無視することが多い).例えば,最 単純な random projections と呼ばれる手法では,W を 規分布に従う乱数で生成し,fP}Q を恒等関数としてい .また Spectral Hashing11) では fP}Q を非線形関数,W ことが実験によ て非常に都合が なお,バイナ 決めることがで 観点から 128 b 本稿では,S ト検出と特徴量 省メモリ化され のまとめを示す 今後は,より ができるように 理において,さ 記述においては を圧縮するなど の値しか取りえないことに着目すると,図 10 に示すよ に,M-M のテーブルで表現できることが分かる.し がって,図 9,10 に示した 2 種類のテーブルを用いるこ で,高速に勾配特徴量を算出できるようになる. b)バイナリコード化 特徴ベクトルをバイナリコードに変換するというアプロ チは,機械学習や web,大規模検索の分野で活発に研 されている.これまでの研究により,多くのバイナリコ ド化手法は次の形で書けることが分かっている. b/sgn PfPWT d+cQQ (11) は D 次元の特徴ベクトル,b は長さ B ビットのバイナ コード,c はオフセットベクトル,W は D 行 B 列の変 行列,fP}Q は任意の関数である(d の平均がゼロベクト になるようにあらかじめ変換されている場合,c/0 と てオフセット成分を無視することが多い).例えば,最 単純な random projections と呼ばれる手法では,W を 規分布に従う乱数で生成し,fP}Q を恒等関数としてい であっても,密 ことが実験によ て非常に都合が なお,バイナ 決めることがで 観点から 128 b 本稿では,S ト検出と特徴量 省メモリ化され のまとめを示す 今後は,より ができるように 理において,さ 記述においては 特徴ベクトルをバイナリコー ーチは,機械学習や web,大 究されている.これまでの研究 ード化手法は次の形で書けるこ b/sgn PfPWT d+cQQ d は D 次元の特徴ベクトル, リコード,c はオフセットベク 換行列,fP}Q は任意の関数であ ルになるようにあらかじめ変 してオフセット成分を無視す も単純な random projections 正規分布に従う乱数で生成し る.また Spectral Hashing11) で を学習データの主成分ベクトル リコード生成を実現している. CARD は random projection
  133. 133. D(Discriminative)-BRIEF [Trzcinski2012] • ポジティブサンプルとネガティブサンプルを用いて教師 付き学習により変換行列を求める • 学習用のパッチ画像生成 ‒ ポジティブサンプル(同一キーポイントのパッチ画像のペア) • 輝度変化,回転,キーポイント中心の位置ずれ ‒ ネガティブサンプル(異なるパッチ画像のペア) • 異なるキーポイントのパッチ画像 133 教師あり学習 ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ポジティブサンプル ポジティブサンプル
  134. 134. D-BRIEF • ポジティブサンプルのパッチ画像間の距離が小さく, ネガティブサンプルのパッチ画像間の距離が大きくな るように変換行列w0を設計 134 i:ビット番号 x:パッチ画像 P:ポジティブサンプルに属するパッチ画像のペア N:ネガティブサンプルに属するパッチ画像のペア ポジティブサンプルのパッチ画像 ネガティブサンプルのパッチ画像 教師あり学習
  135. 135. • 変換行列w0を各ビット毎に単純なフィルタで近似 • 各フィルタを線形結合することで変換行列wを求める • sgn関数によりバイナリ化 D-BRIEF 135 ・・ D : 辞書フィルタ,s : スパースベクトル,λ : L1正則化パラメータ =Ds Dの計算には積分画像を利用 教師あり学習
  136. 136. D-BRIEFの変換行列 • スパースベクトルが密 ‒ 元の変換行列を表現しているため記述能力が高い • スパ­スべクトルが疎 ‒ 記述処理の時間を短縮 136 s 0 = 16 s 0 = 32 s 0 = 64 教師あり学習 変換行列の分解例
  137. 137. BinBoost [Trzcinski2013] • Boostingを用いたバイナリコードの生成 ‒ 正例と負例のペア勾配画像を用意 ‒ 正例 : 類似画像ペア ‒ 負例 : 非類似画像ペア ‒ 正例は同一の符号,負例は非同一の 符号を出力する弱識別器hd,kを選択 ‒ 弱識別器hd,kの重みbd,kの計算 ‒ 学習サンプルの重みを更新 137 バイナリコードのdビット目の出力 弱識別器の出力弱識別器の重み 教師あり学習
  138. 138. まとめ:SIFT以降のキーポイント記述子 • 実数ベクトル型の特徴記述 ‒ 特徴記述空間の工夫:GLOH, DAISY, PCA-SIFT ‒ 特徴記述の高速化:SURF Descriptor • バイナリコード型の特徴記述 ‒ 直接的バイナリ化:BRIEF, BRISK, ORB, FREAK, ‒ 変換行列を用いた間接的バイナリ化:CARD, D-BRIEF, BinBoost 138
  139. 139. キーポイント記述子 139 手法 特徴量 表現 処理時間 メモリ [bytes] OpenCV による実装 出版年 SIFT 勾配 実数ベクトル △ 128 1999 SURF 勾配 実数ベクトル ○ 64 2006 PCA-SIFT 勾配 実数ベクトル △ 36 2004 GLOH 勾配 実数ベクトル △ 128 2005 RIFF 輝度 実数ベクトル ○ 100 2010 BRIEF 輝度 バイナリコード ○ 32 2010 BRISK 輝度 バイナリコード ◎ 64 2011 ORB 輝度 バイナリコード ○ 32 2011 CARD 勾配 バイナリコード ○ 16 2011 FREAK 輝度 バイナリコード ◎ 16 2012 D-BRIEF 輝度 バイナリコード ◎ 8 2012 BinBoost 輝度 / 勾配 バイナリコード ○ 8 2013
  140. 140. Descripter Robustness Robustness 実数ベクトル型 記述子 バイナリーコード型 記述子 スケール ローテーション Harris [Harris1988] Good features to track [Shi1993] SUSAN [Smith1995] Harris-Laplace [Mikolajczyk2001] MSER [Matas2002] Harris-Affine [Mikolajczyk2004] FAST [Rosten2006] CenSurE [Motilal2008] SFOP [Wolfgang2009] AGAST [Mair2010] STAR [Konolige2010] Cascaded-FAST [長谷川2013] 1988 1993 1995 1999 2001 2002 2004 2006 2008 20102009 2012 2013 1994 1999 2004 20102009 2012 20132000 2011 LBP [Ojala1994] Shape Contexts [Belongie2000] PCA-SIFT [Ke2004] 20062005 GLOH [Mikolajczyk2005] 2008 DAISY [Tola2008] RIFF [Takacs2010] Root-SIFT [Relja2012] Color-SIFT [van2010] BRIEF [Calonder2010] BRISK [Leutenegger2011] LDB [Yang2012] FREAK [Alahi2012]ORB [Rublee2011] D-BRIEF [Tomasz2012] CARD [Ambai2011] BinBoost [Tomasz2013] LoG [Lindeberg1998] Detector Invarant Topics OpenCV-α版公開 OpenCV1.0 OpenCV2.0 SIFT [Lowe1999] SURF [Bay2006] KAZE [Alcantarilla2012] SIFT [Lowe1999] SURF [Bay2006] KAZE [Alcantarilla2012] SSE4.2 1998 アフィン
  141. 141. 4. 評価方法と実装 141
  142. 142. 画像局所特徴量の評価 • 2画像間のマッチング性能評価 ‒ 評価方法:ホモグラフィ行列を用いた対応点の割合 • 画像検索の評価 ‒ 評価方法:ランキングによる評価mAP(mean Average precision) 142
  143. 143. 2画像間のマッチングにおける評価指標 • 2画像間の共通領域の対応点数と全ての特徴点数の割合 • 正解対応点数と2画像間の共通領域の対応点数の割合 • 正解対応点数と特徴点数の割合 • 正解対応点数とすべての対応点の割合 143 Putative Match Ratio = Putative Matches Features Precision = Correct Matches Putative Matches Matching Score = Correct Matches Features Recall = Correct Matches Correspondences
  144. 144. ホモグラフィ行列 • 視点変化等による座標位置の同定を行うために 用いるパラメータ ‒ 画像  と視点を変えた画像  がある場合 144 H = h11 h12 h13 h21 h22 h23 h31 h32 h33 ホモグラフィ行列: ホモグラフィ行列が既知であれば2画像間の対応が容易である a2 = [xm, yn, 1] T a1 = [xm, yn, 1] T a1 = Ha2 a1 a2
  145. 145. データセット • FEATURE DETECTOR EVALUATION SEQUENCES ‒ 視点変化/ブラー/ズーム/回転/照明変化/JPEG圧縮の画像 データセット 145 http://lear.inrialpes.fr/people/mikolajczyk/Database/det_eval.html ブラー 視点変化 ズーム+回転 照明変化 JPEG圧縮
  146. 146. 性能評価の紹介 [Heinly2012] 146 Bikes 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 H arris-B R IEF M SER -B R IEF FA ST-B R IEF O R B -B R IEF B R ISK-B R IEF SU R F-B R IEF SIFT-B R IEF H arris-O R B M SER -O R B FA ST-O R B O R B -O R B B R ISK-O R B SU R F-O R B SIFT-O R B H arris-B R ISK M SER -B R ISK FA ST-B R ISK O R B -B R ISK B R ISK-B R ISK SU R F-B R ISK SIFT-B R ISK SU R F-SU R F SIFT-SIFT Precision Trees 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 H arris-B R IEF M SER -B R IEF FA ST-B R IEF O R B -B R IEF B R ISK-B R IEF SU R F-B R IEF SIFT-B R IEF H arris-O R B M SER -O R B FA ST-O R B O R B -O R B B R ISK-O R B SU R F-O R B SIFT-O R B H arris-B R ISK M SER -B R ISK FA ST-B R ISK O R B -B R ISK B R ISK-B R ISK SU R F-B R ISK SIFT-B R ISK SU R F-SU R F SIFT-SIFT Precision Blur Blur 同じ変化でも画像が異なると性能も変化
  147. 147. 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 H arris-B R IEF M SER -B R IEF FA ST-B R IEF O R B -B R IEF B R ISK-B R IEF SU R F-B R IEF SIFT-B R IEF H arris-O R B M SER -O R B FA ST-O R B O R B -O R B B R ISK-O R B SU R F-O R B SIFT-O R B H arris-B R ISK M SER -B R ISK FA ST-B R ISK O R B -B R ISK B R ISK-B R ISK SU R F-B R ISK SIFT-B R ISK SU R F-SU R F SIFT-SIFT Precision 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 H arris-B R IEF M SER -B R IEF FA ST-B R IEF O R B -B R IEF B R ISK-B R IEF SU R F-B R IEF SIFT-B R IEF H arris-O R B M SER -O R B FA ST-O R B O R B -O R B B R ISK-O R B SU R F-O R B SIFT-O R B H arris-B R ISK M SER -B R ISK FA ST-B R ISK O R B -B R ISK B R ISK-B R ISK SU R F-B R ISK SIFT-B R ISK SU R F-SU R F SIFT-SIFT Precision 性能評価の紹介 [Heinly2012] 147 Graffiti Bark viewpoint change rotation+zoom 変化が異なると性能も変化
  148. 148. 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 H arris-B R IEF M SER -B R IEF FA ST-B R IEF O R B -B R IEF B R ISK-B R IEF SU R F-B R IEF SIFT-B R IEF H arris-O R B M SER -O R B FA ST-O R B O R B -O R B B R ISK-O R B SU R F-O R B SIFT-O R B H arris-B R ISK M SER -B R ISK FA ST-B R ISK O R B -B R ISK B R ISK-B R ISK SU R F-B R ISK SIFT-B R ISK SU R F-SU R F SIFT-SIFT Precision 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 H arris-B R IEF M SER -B R IEF FA ST-B R IEF O R B -B R IEF B R ISK-B R IEF SU R F-B R IEF SIFT-B R IEF H arris-O R B M SER -O R B FA ST-O R B O R B -O R B B R ISK-O R B SU R F-O R B SIFT-O R B H arris-B R ISK M SER -B R ISK FA ST-B R ISK O R B -B R ISK B R ISK-B R ISK SU R F-B R ISK SIFT-B R ISK SU R F-SU R F SIFT-SIFT Precision 性能評価の紹介 [Heinly2012] 148 Leuven UBC intensity change JPEG noise
  149. 149. • 入力クエリ画像をデータベースから検索 ‒ クエリ画像の特徴量を用いてデータベース内の類似画像を検索 して順位を出力 画像検索 149 クエリ画像 データベース 入力: 出力:順位 ... rank1 rank2 rank3
  150. 150. 画像検索における評価指標 • クエリの検索結果よりAP(Average precision)を求める ‒ 適合画像が得られた時点での適合率の平均 ‒ 条件をrank8までとした場合 ‒ 条件をrank4までとした場合 150 検索結果群 正解群 データベース rank 1 2 3 4 5 6 7 8 関連画像 ○ ○ ○ ○ 適合率 1.00 0.50 0.67 0.75 0.6 0.67 0.57 0.50 再現率 0.25 0.25 0.50 0.75 0.75 1.00 1.00 1.00 平均適合率(AP):(1.00+0.67+0.75+0.67)/4=0.74 平均適合率(AP):(1.00+0.67+0.75)/3=0.81 再現率:1.00 再現率:0.75 適合率= 再現率= 2 / 3 = 0.67 2 / 4 = 0.50 トレードオフ
  151. 151. データセット • Oxford 5K Dataset images ‒ 画像検索のベンチマークデータセット ‒ 58のクエリ画像に対するマッチング画像を含む 151 http://www.robots.ox.ac.uk/ vgg/data/oxbuildings/
  152. 152. 応用アプリケーションと要求条件 152 応用先 Detector の要求条件 利用されている Detector Descriptor の要求条件 利用されている Descriptor モザイキング ローカライゼーション 能力 SIFT 実数型 バイナリ型 3D reconstruction アフィン不変性 Hessian(Harris)- affine SIFT 高い記述能力 実数型 同一画像検索 計算コスト FAST コンパクト バイナリ型 AR ローカライゼーション 能力 FAST + トラッキング 計算コスト バイナリ型 カテゴリ分類 グリッドサンプリング (密) 高い記述能力 実数型
  153. 153. ライブラリの紹介 • 局所特徴量セット ‒ VLFeat(MATLAB+C) • Covariate detector, MSER, SIFT ‒ OpenCV(C) • SIFT, SURF, ORB, BRIEF, FREAK • 特徴評価ツール ‒ VLBenchmarks(MATLAB+C) • repeatability,matching評価 • image retrieval評価 • Affine invariant feature等を組み込み可能(バイナリで提供) • 自作のLocal feature部を追加するだけで比較評価が可能 153 http://www.vlfeat.org/ http://opencv.org http://www.vlfeat.org/benchmarks/index.html
  154. 154. ソースコード • SIFT(実行形式ファイル):Lowe http://www.cs.ubc.ca/ lowe/keypoints/ • SIFT(C++):Vedaldi http://vision.ucla.edu/ vedaldi/code/siftpp/siftpp.html • SIFT(MATLAB):Vedaldi http://vision.ucla.edu/ vedaldi/code/sift/sift.html • PCA-SIFT:Ke http://www.cs.cmu.edu/ yke/pcasift/ • SURF : Herbert http://www.vision.ee.ethz.ch/ surf/ • GPGPUを用いたSIFT : Wu http://cs.unc.edu/ ccwu/siftgpu/ 154
  155. 155. 1.SIFT関連の参考文献 ‒ [Lowe2004] D. G. Lowe, Distinctive image features from scale-invariant keypoints , Int.Journal of Computer Vision,Vol.60, No.2, pp.91-110, 2004. ‒ [Lindeberg1998] T. Lindeberg, "Feature detection with automatic scale selection", Int.Journal of Computer Vision, Vol. 30, No. 2, pp. 79-116, 1998. ‒ [高木2008] 高木雅成, 藤吉弘亘, SIFT特徴量を用いた交通道路標識認識 , 電気学会論文誌, Vol. 129-C, No. 5, pp. 824-831, 2009. ‒ [Csurka2004] G. Csurka, C. Bray, C. Dance, L. Fan, Visual categorization with bags of keypoints , Workshop on Statistical Learning in Computer Vision,European Conference on Computer Vision, pp. 1‒22, 2004. ‒ [Brown2007] M. Brown, D. G. Lowe, Automatic Panoramic Image Stitching using Invariant Features , Int.Journal of Computer Vision,Vol. 74, No.1, pp.59-73, 2007. ‒ [Mikolajczyk2005] K. Mikolajczyk, C. Schmid, GLOH A performance evaluation of local descriptors , IEEE tran. On Pattern Analysis and Machine Intelligence, pp.1615-1630, 2005. ‒ [Tola2007] E. Tola, V. Lepetit, F. Pascal, A Fast Local Descriptor for Dense Matching , Computer Vision and Pattern Recognition, 2008. 155
  156. 156. 2.キーポイント検出器の参考文献 ‒ [Bay2006] B. Herbert, T. Tinne, G. Luc, SURF: Speeded Up Robust Features. European Conference on Computer Vision , pp.404‒417, 2006. ‒ [Grabner2006] M. Grabner, H. Grabner, and H. Bischof, Fast Approximated SIFT, Asian Conference on Computer Vision, pp.918‒927, 2006. ‒ [Sinha2006] S. N. Sinha, J. Frahm, M. Pollefeys, and Y. Genc, GPU-based Video Feature Tracking And Matching, Workshop on Edge Computing Using New Commodity Architectures, 2006. ‒ [Mikolajczyk2004] K. Mikolajczyk, C. Schmid, Scale & affine invariant interest point detectors. Int.Journal of Computer Vision , pp.63‒86, 2004. ‒ [Matas2007] J. Matas, O. Chum, M. Urban, T. Pajdla, Robust Wide Baseline Stereo from Maximally Stable Extremal Regions , British Machine Vision Conference. pp. 384‒393, 2002. ‒ [Rosten2010] E. Rosten, R. Porter, T. Drummond, Faster and Better: A Machine Learning Approach To Corner Detection , IEEE tran. On Pattern Analysis and Machine Intelligence, pp. 105-119, 2010. ‒ [長谷川2013] 長谷川昂宏, 山内悠嗣, 藤吉弘亘, 安倍満, 吉田悠一, Cascaded FASTによるキーポイント検出 , 画像センシングシンポジウム, 2013. 156
  157. 157. 3.キーポイント記述子の参考文献 ‒ [Mikolajczyk2005] K. Mikolajczyk and C. Schmid, A Performance Evaluation of Local Descriptors, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.27, no. 10, pp.31‒47, 2005. ‒ [Tola2008] E. Tola, V. Lepetit, F. Pascal, A Fast Local Descriptor for Dense Matching , Computer Vision and Pattern Recognition, 2008. ‒ [Ke2004] Yan Ke, Rahul Sukthankar, PCA-SIFT: A more distinctive representation for local image descriptors , Computer Vision and Pattern Recognition, pp.506-503, 2004. ‒ [Bay2006] H. Bay, T. Tuytelaars, L. Van Gool, SURF: Speeded Up Robust. Features , European Conference on Computer Vision , pp.404-417, 2006. ‒ [M.Calonder2010] M. Calonder, V. Lepetit, C. Strecha, P. Fua, BRIEF: Binary Robust Independent Elementary Features , European Conference on Computer Vision, pp.778-792, 2010. ‒ [Leutenegger2011] S. Leutenegger, M. Chli, R. Y. Siegwart BRISK: Binary Robust Invariant Scalable Keypoints , Int. Conference on Computer Vision, 2011. ‒ [Rublee2011] E.Rublee, V.Rabaud, K.Konolige, G.Bradski ORB: an efficient alternative to SIFT or SURF , Int.Conference on Computer Vision, 2011. ‒ [Alahi2012] A. Alahi, R. Ortiz, P. Vandergheynst, FREAK: Fast Retina Keypoint , IEEE Conference on Computer Vision and Pattern Recognition, 2012. ‒ [Ambai2011] M. Ambai, Y. Yoshida, CARD: Compact And Real-time Descriptors , Int. Conference on Computer Vision, 2011. 157
  158. 158. 3.キーポイント記述子の参考文献 ‒ [Trzchinski2012] T. Tomasz, L. Vincent, Efficient Discriminative Projections for Compact Binary Descriptors , European Conference on Computer Vision, pp.228‒242, 2012. ‒ [Trzcinski2013] T. Tomasz, M. Christoudias, P. Fua, V. Lepetit, Boosting Binary Keypoint Descriptors , IEEE Conference on Computer Vision and Pattern Recognition, 2013. 158
  159. 159. その他の参考文献 • 評価・実装 ‒ [Heinly2012] J. Heinly, E. Dunn, J, Frahm, Comparative Evaluation of Binary Features , European Conference on Computer Vision, 2012. • チュートリアル - Andrea Vedaldi, Jiri Matas, Krystian Mikolajczyk, Tinne Tuytelaars, Cordelia Schmid, Andrew Zisserman, modern features: advances, applications and software , European Conference on Computer Vision, 2012. • 解説記事 - [藤吉2011] 藤吉 弘亘, 安倍 満, 局所勾配特徴抽出 -SIFT以降のアプローチ- , 精密工学会誌, Vol.77, No. 12, pp.1109-1116, 2011. • サーベイ - [Tuytelaars2008] T. Tuytelaars, K. Mikolajczyk, Local invariant feature detectors: a survey , Foundations and Trends® in Computer Graphics and Vision, Vol.3, No.3, 2008. • Mendeley - グループ名:ImageLocalFeature 159
  160. 160. 謝辞 • デンソーアイティーラボラトリ:安倍 満さん • 名古屋CV・PRML勉強会の皆さん • 藤吉研究室OBの皆さん • 藤吉研究室メンバー ‒ ポスドク研究員:山内悠嗣 ‒ 研究員:土屋成光 ‒ 修士:三品陽平, 長谷川昂宏, 村井佑輔, 若山涼至 ‒ 学部生:村田隆英, 黒川貴都, 福井宏 160 藤吉研究室10周年記念祝賀会:2012年10月7日
  161. 161. 藤吉  弘亘  (Hironobu  Fujiyoshi)   中部⼤大学  ⼯工学部情報⼯工学科,⼤大学院⼯工学研究科情報⼯工学専攻  教授 1997年年  中部⼤大学⼤大学院  博⼠士後期課程修了了 1997〜~2000年年  ⽶米国カーネギーメロン⼤大学  ロボット⼯工学研究所  Postdoctoral  Fellow 2000年年  中部⼤大学  講師 2004年年  中部⼤大学  准教授 2006年年  ⽶米国カーネギーメロン⼤大学  ロボット⼯工学研究所  客員研究員 2010年年〜~中部⼤大学  教授 博⼠士(⼯工学)計算機視覚、動画像処理理、パターン認識識・理理解の研究に従事 ロボカップ研究賞(2005年年),⼭山下記念念研究賞(2009年年),情報処理理学会論論⽂文賞(2009年年),画像センシング シンポジウム優秀学術賞(2011年年,2013年年),電⼦子情報通信学会ISS論論⽂文賞(2013年年) E-‐‑‒mail:  hf@cs.chubu.ac.jp WEB:  http://www.vision.cs.chubu.ac.jp/ Facebook:  facebook.com/hironobu.fujiyoshi   Twitter:  @hf149 161

×