21
Jubatus と OpenCVで 一般物体認識エンジンを 作ろう 2013/06/02 Usagee Inc. 五木田 和也 ( @kazoo04 )

Jubatus opencv

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Jubatus opencv

Jubatus と OpenCVで一般物体認識エンジンを

作ろう2013/06/02Usagee Inc.

五木田 和也 ( @kazoo04 )

Page 2: Jubatus opencv

はじめに

Page 3: Jubatus opencv

一般物体認識とは?

制約のない実世界シーンの画像に対して、

計算機がその中に含まれる物体を

一般的な名称で認識することを

一般物体認識 (Generic Object Recognition)

と呼び、画像認識の研究において

最も困難な課題の一つである。

柳井啓司 “一般物体認識の現状と今後”

Page 4: Jubatus opencv
Page 5: Jubatus opencv

画像に何が写ってるか判別

うさぎ!

入力(画像) 出力(テキスト)

Page 6: Jubatus opencv

TechCrunchより

http://jp.techcrunch.com/2013/05/24/20130523

Page 7: Jubatus opencv

Jubatusでやってみよう

うさぎ!

Page 8: Jubatus opencv

どうやればいいんだろう

• Jubatusに画像を入力するにはどうすればいい?

•画像をなんとかして実数ベクトルで表現したい

Page 9: Jubatus opencv

•拡大/縮小

•遮蔽

• (3次元の)回転

•移動

•照明変動

•クラス内変動

• etc

考慮すること

_人人 人人_ > しんどい < ‾Y^Y^Y^Y‾

Page 10: Jubatus opencv

Bag of Features(Bag of Visual Words)

http://cogrob.ensta-paristech.fr/indoornavigation.html

Page 11: Jubatus opencv

処理の流れ

•特徴抽出(OpenCV)

•教師なし学習(OpenCV)

•特徴変換

•教師あり学習(Jubatus)

Page 12: Jubatus opencv

処理の流れ

Page 13: Jubatus opencv

画像から特徴抽出

•回転や照明変動に対してロバストなものを選ぶ

• SIFT, SURF, ORB, FREAK, ...

• 1つの特徴点につき数十〜数百次元

• 1つの画像からいっぱい(数千くらい)とってくる

Page 14: Jubatus opencv

処理の流れ

Page 15: Jubatus opencv

Bag of Features(Bag of Visual Words)

http://cogrob.ensta-paristech.fr/indoornavigation.html

Page 16: Jubatus opencv

特徴量の変換 (1) BoVW

•無数の高次元実数ベクトルをそのままはちょっと…

• Bag of Visual Words (BoVW) アプローチ

•ベクトルを教師なしクラスタリングして代表点をとる

• k-means を使いましょう(Jubatusにも実装予定!)

• 1日くらい、場合によっては数日かかるのを覚悟

Page 17: Jubatus opencv

特徴量の変換 (1) BoVW

http://aidiary.hatenablog.com/entry/20120813/1344853878

Page 18: Jubatus opencv

特徴量の変換 (2)

• BoVWだけだと精度がよろしくない

•画像の特徴をよりよく表現する

•特徴ベクトルの分布とかみていろいろやる

•線形分類できるように設計されたのを使う

•例) Fisher Vector, VLAD

Page 19: Jubatus opencv

処理の流れ

Page 20: Jubatus opencv

教師あり学習

•得られた特徴ベクトルから学習する

• Jubatus (jubaclassifier) に丸投げする

•アルゴリズムはAROWかNHERDがおすすめ

• SCW使いてぇ

Page 21: Jubatus opencv

おわり あとTips

•特徴抽出のときは Dense Sampling する

•クラスタリングの精度はどうでもいい

• BoVW の数はメモリと時間が許す限り増やす

•線形分類用に設計された特徴量を選ぶ

•ディスク/メモリ容量・処理時間の問題