Jubatus opencv

36,457 views

Published on

1 Comment
28 Likes
Statistics
Notes
  • 一般物体認識とは

    要するに、画像を与えた時にそこに何が写っているのかを推定することです。
    ゾウの写真ならゾウ、自転車の写真なら自転車だとコンピュータに判断させるのが目的です。

    ところが、これがなかなか難しい問題であまりうまくいっていません。
    Googleの画像検索は一見この問題を解決しているように見えますが、画像検索の場合はその画像の周辺にあるテキスト情報が利用できるのでちょっと違います。
    たとえば、写真のすぐ下に「ウサギかわいい」って書いてあったらたぶんウサギの写真だろうと判断できます。
    このような情報が与えられず、画像のみから対象を判断するのが一般物体認識です。


    どう難しいか

    人間は一般物体認識を簡単に行うことができますが、機械でやるのは非常に困難です。
    たとえば、自転車は見る向きによって形状がまったく違いますし、ロードレーサーとママチャリでは形状もかなり異なります。
    また、椅子なども一口に椅子といっても様々な形や色のものがあり、一概に「こういう形状のものが椅子である」とは定義できません。
    折りたたみ椅子とマッサージチェアは同じ椅子ですが、視覚的な共通点はほとんどありません。


    どう解決するか

    先日ブログに書いたDeep Learningが最近流行りつつありますが、今まで(そして今後しばらく)の主流は Bag of Features (BoF) という手法です。

    これは、文書分類で成功した Bag of Words の応用です。
    Bag of Words というのは、文書を分類するとき(わかりやすい例だと迷惑メールフィルタ)、どの単語がどれくらい含まれているかだけを考慮し、各単語の係り受け構造は無視する方法です。
    一見上手くいかなさそうですが、下手に文法を解析するより単語の頻度だけを利用したほうが精度が良くなるのです。

    一般物体認識の場合は、画像をバラバラな特徴群にして、それらを入力にして機械学習することで結果を得ます。
    画像をバラバラにするといっても、単純に画像を分割しただけでは精度が出ないので、そこは非常にうまくやる手法が色々提案されています。

    http://kazoo04.hatenablog.com/entry/2013/06/04/183348
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
36,457
On SlideShare
0
From Embeds
0
Number of Embeds
30,455
Actions
Shares
0
Downloads
46
Comments
1
Likes
28
Embeds 0
No embeds

No notes for slide

Jubatus opencv

  1. 1. Jubatus と OpenCVで一般物体認識エンジンを作ろう2013/06/02Usagee Inc.五木田 和也 ( @kazoo04 )
  2. 2. はじめに
  3. 3. 一般物体認識とは?制約のない実世界シーンの画像に対して、計算機がその中に含まれる物体を一般的な名称で認識することを一般物体認識 (Generic Object Recognition)と呼び、画像認識の研究において最も困難な課題の一つである。柳井啓司 “一般物体認識の現状と今後”
  4. 4. 画像に何が写ってるか判別うさぎ!入力(画像) 出力(テキスト)
  5. 5. TechCrunchよりhttp://jp.techcrunch.com/2013/05/24/20130523
  6. 6. Jubatusでやってみよううさぎ!
  7. 7. どうやればいいんだろう• Jubatusに画像を入力するにはどうすればいい?• 画像をなんとかして実数ベクトルで表現したい
  8. 8. • 拡大/縮小• 遮蔽• (3次元の)回転• 移動• 照明変動• クラス内変動• etc考慮すること_人人 人人_> しんどい < ̄Y^Y^Y^Y ̄
  9. 9. Bag of Features(Bag of Visual Words)http://cogrob.ensta-paristech.fr/indoornavigation.html
  10. 10. 処理の流れ• 特徴抽出(OpenCV)• 教師なし学習(OpenCV)• 特徴変換• 教師あり学習(Jubatus)
  11. 11. 処理の流れ
  12. 12. 画像から特徴抽出• 回転や照明変動に対してロバストなものを選ぶ• SIFT, SURF, ORB, FREAK, ...• 1つの特徴点につき数十〜数百次元• 1つの画像からいっぱい(数千くらい)とってくる
  13. 13. 処理の流れ
  14. 14. Bag of Features(Bag of Visual Words)http://cogrob.ensta-paristech.fr/indoornavigation.html
  15. 15. 特徴量の変換 (1) BoVW• 無数の高次元実数ベクトルをそのままはちょっと…• Bag of Visual Words (BoVW) アプローチ• ベクトルを教師なしクラスタリングして代表点をとる• k-means を使いましょう(Jubatusにも実装予定!)• 1日くらい、場合によっては数日かかるのを覚悟
  16. 16. 特徴量の変換 (1) BoVWhttp://aidiary.hatenablog.com/entry/20120813/1344853878
  17. 17. 特徴量の変換 (2)• BoVWだけだと精度がよろしくない• 画像の特徴をよりよく表現する• 特徴ベクトルの分布とかみていろいろやる• 線形分類できるように設計されたのを使う• 例) Fisher Vector, VLAD
  18. 18. 処理の流れ
  19. 19. 教師あり学習• 得られた特徴ベクトルから学習する• Jubatus (jubaclassifier) に丸投げする• アルゴリズムはAROWかNHERDがおすすめ• SCW使いてぇ
  20. 20. おわり あとTips• 特徴抽出のときは Dense Sampling する• クラスタリングの精度はどうでもいい• BoVW の数はメモリと時間が許す限り増やす• 線形分類用に設計された特徴量を選ぶ• ディスク/メモリ容量・処理時間の問題

×