Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

5,634 views

Published on

2013/07/28 JapanCV Day2での発表資料です。

Published in: Technology
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,634
On SlideShare
0
From Embeds
0
Number of Embeds
3,580
Actions
Shares
0
Downloads
63
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide

Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

  1. 1. CVPR論文紹介@Japan CV Day2 Fast, Accurate Detection of 100,000 Object Classes on a Single Machine takmin
  2. 2. 紹介する論文  Fast,Accurate Detection of 100,000 Object Classes on a Single Machine  Thomas Dean, Mark A. Ruzon, Mar Segal, Jonathon Shlens, SudheendraVijayanarashmhan, JayYagnik (Google)  CVPR2013 Best Paper この論文の目的: カテゴリ数が膨大な場合でも高速に物体検出を行 う。
  3. 3. 物体検出の流れ 特徴量ベクトル モデルフィルター モデルとの類似度 内積 サンプルから学習 SlidingWindow
  4. 4. クラス数が膨大な場合の物体検出 特徴量ベクトル 内積 モデルフィルターモデルフィルターモデルフィルターモデルフィルターモデルフィルター フィルターの内積計算に膨大な時間がかかる。 使用するフィルターを絞り込みたい。 Locality-Sensitive Hashing (LSH)で絞り込み! モデルフィルターモデルフィルターモデルフィルターモデルフィルターモデルとの類似度
  5. 5. LSHによるフィルターの絞り込み 特徴量ベクトル 内積 WTA Hash バイナリベクトル HashTable フィルター候補フィルター候補 モデルフィルターモデルフィルターモデルフィルターモデルフィルターモデルフィルター モデルとの類似度モデルとの類似度
  6. 6. LSHによるフィルターの絞り込み 特徴量ベクトル 内積 WTA Hash バイナリベクトル HashTable フィルター候補フィルター候補 モデルフィルターモデルフィルターモデルフィルターモデルフィルターモデルフィルター モデルとの類似度モデルとの類似度 形状の情報を維持 したままバイナリ化
  7. 7. Winner-take-all(WTA) Hash )2,3,4,1(1  0.3, 0.7, 0.2, 0.5 )3,4,1,2(2  順列(N=2) 入力 X N=2, K=3
  8. 8. Winner-take-all(WTA) Hash )2,3,4,1(1  0.3, 0.7, 0.2, 0.5 )3,4,1,2(2  順列(N=2) 入力 X N=2, K=3 i=1 0.3
  9. 9. Winner-take-all(WTA) Hash )2,3,4,1(1  0.3, 0.7, 0.2, 0.5 )3,4,1,2(2  順列(N=2) 入力 X N=2, K=3 i=1 0.50.3,
  10. 10. Winner-take-all(WTA) Hash )2,3,4,1(1  0.3, 0.7, 0.2, 0.5 )3,4,1,2(2  順列(N=2) 入力 X N=2, K=3 i=1 0.20.3, 0.5,
  11. 11. Winner-take-all(WTA) Hash )2,3,4,1(1  0.3, 0.7, 0.2, 0.5 )3,4,1,2(2  順列(N=2) 入力 X N=2, K=3 i=1 0.70.3, 0.5, 0.2,
  12. 12. Winner-take-all(WTA) Hash )2,3,4,1(1  0.3, 0.7, 0.2, 0.5 0.3, 0.5, 0.2, 0.7 )3,4,1,2(2  0.3, 0.5, 0.2 K=3 順列(N=2) 入力 X N=2, K=3 i=1
  13. 13. Winner-take-all(WTA) Hash )2,3,4,1(1  0.3, 0.7, 0.2, 0.5 0.3, 0.5, 0.2, 0.7 )3,4,1,2(2  0.3, 0.5, 0.2 010 K=3 順列(N=2) 入力 X N=2, K=3 i=1 最大値
  14. 14. Winner-take-all(WTA) Hash )2,3,4,1(1  0.3, 0.7, 0.2, 0.5 0.3, 0.5, 0.2, 0.70.7, 0.3, 0.5, 0.2 )3,4,1,2(2  K=3 0.3, 0.5, 0.20.7, 0.3, 0.5 010 K=3 順列(N=2) 入力 X N=2, K=3 i=1i=2
  15. 15. Winner-take-all(WTA) Hash )2,3,4,1(1  0.3, 0.7, 0.2, 0.5 0.3, 0.5, 0.2, 0.70.7, 0.3, 0.5, 0.2 )3,4,1,2(2  K=3 0.3, 0.5, 0.20.7, 0.3, 0.5 100 010 K=3 順列(N=2) 入力 X N=2, K=3 i=1i=2 最大値
  16. 16. Winner-take-all(WTA) Hash )2,3,4,1(1  0.3, 0.7, 0.2, 0.5 0.3, 0.5, 0.2, 0.70.7, 0.3, 0.5, 0.2 )3,4,1,2(2  K=3 0.3, 0.5, 0.20.7, 0.3, 0.5 100010 100 010 K=3 順列(N=2) 入力 X 出力 N=2, K=3 i=1i=2 N*K次元ベクトル
  17. 17. WTA hashは係数の順序を保存  WTAで、赤点の順序が符号化された場合、以下の3つ のフィルターの形状は等しいとみなす。  歪みやゆらぎに強い。
  18. 18. WTA hashは係数の順序を保存  起伏の近い形状同士の内積は大きくなる。
  19. 19. LSHによるフィルターの絞り込み 特徴量ベクトル 内積 WTA Hash バイナリベクトル HashTable フィルター候補フィルター候補 モデルフィルターモデルフィルターモデルフィルターモデルフィルターモデルフィルター モデルとの類似度モデルとの類似度
  20. 20. Multi-band LSH-style hash table (作成) K N*K 001 010 001 100 010 100・・・WTAVectors CBA Filter IDs モデルフィルターモデルフィルターモデルフィルターモデルフィルターモデルフィルター WTA Hash CBA Filter IDs
  21. 21. Multi-band LSH-style hash table (作成) 001 010 001 100 010 100 K N*K ・・・WTAVectors C Create W*K 001 010 001 100 010 100・・・SubVectors BA Filter IDs 001 010HashTables 001 100 010 100・・・ (A, D,...,M) (C, D,…,K) (A, C,…,M)
  22. 22. Multi-band LSH-style hash table (検索) K N*K 001 010 001 100 010 100・・・WTAVector 特徴量ベクトル WTA Hash
  23. 23. Multi-band LSH-style hash table (検索) 001 010 001 100 010 100 K N*K ・・・ 001 010HashTables 001 100 010 100・・・ WTAVector 001 010 001 100 010 100 W*K ・・・SubVectors A B C D E F G H I J K L M Threshold Histogram A, C, D, M Filter IDs A D M・・・ C D K・・・ A C M・・・・・・
  24. 24. Deformable Part Modelsへの適用  Deformable Part Models  P. Felzenswalb et al,“Object Detection with Discriminatively Trained Part Based Models”, PAMI, 32(9), 2010  物体を「パーツの類似度+パーツ位置の歪み」で認識  各パーツはHOG特徴量で記述しLatent SVMで学習  学習後の各パーツのHOGフィルターにWTAを適用
  25. 25. 実験(PASCAL VOC2007)  PASCALVOC2007  20カテゴリ  訓練画像5000枚+試験画像最大5000枚  パラメータ  パーツサイズ:6x6 cells  rootフィルタなし  K=4,W=4, 3000 hash tables Average Precision Base = Deformable Part Model
  26. 26. Accuracy Versus Speed and Memory  Hash Table数と精度の関係  Hash keysが16または18bitになるようWを調整
  27. 27. Accuracy Versus Speed and Memory  メモリ使用率と精度の関係  メモリ量はハッシュテーブル数の関数
  28. 28. Accuracy Versus Speed and Memory  速度と精度の関係  20クラス検出の速度
  29. 29. 100,000カテゴリでの実験  ImageSearch-100kというデータセット を新たに作成  “Freebase”*からカテゴリをリスト化して、 Google Image Searchで画像を取得 Bounding Boxはない  1クエリーあたり最大500枚。平均300枚。  80%を学習に、20%を評価に使用。 *K. Bollacker et al. ,“Freebase: a collaboratively created graph database for structuring human knowledge”, In ACM SIGMOD International Conference on Management of Data, pp.1247-1250. 2008
  30. 30. 100,000カテゴリでの実験  学習  1回目の学習では画像全体をBounding Boxとみま す。  2回目以降、もしBounding Boxのスコアが前回より 高くなったら、それを新たなBounding Boxとして使 用する。  5000台のマシンで10回学習を行った。(24時間)  検出  K=16,W=4, N=2400  RAM 20GBのマシン1台で実験
  31. 31. 100,000カテゴリでの実験  処理時間とmean Average Precisionの関係
  32. 32. 100,000カテゴリでの実験  カテゴリ数とmean Average Precisionの関係
  33. 33. Top 6 detection results t = 8 sec
  34. 34. Hand-labeled Ground Truth  ラベル付けされた545個のオブジェクトに対するmean average precisionのヒストグラム
  35. 35. Revisiting VOC 2007 with 10,000 Detectors  学習カテゴリ数を変化させて、VOCの20クラスを認識  処理速度が一定となるようにパラメータを調整。
  36. 36. 結論  線形の畳み込み演算をLSHによって序数の演 算に置き換えることで、スケーラブルな物体検 出手法を提案  Deformable Part Models (DPM)に適用したと ころ  オリジナルのDPMと同等の性能  性能はクラス数の増加によって低下  100,000個のカテゴリを1枚あたり、1台のPCLで20 秒以内に検出  DPM以外のモデルにも適用可能

×