SlideShare uma empresa Scribd logo
1 de 47
Baixar para ler offline
コンピュータビジョンと機械学習
徹底入門
現実的な画像検索のためにやってきたこと
第28回#TokyoWebmining
自己紹介
• 教育×IT の社内ベンチャー(メンバーは全員プロジェクトのために集まっ
た。)世界No.1の新しい教育サービスを実現したい。
担当
• 画像の認識
• 動画のトランスコード
• 認識の精度、サービスの精度を高めるための機械学習
2
でも、まだ始めてから半年強くらい。まだまだ未開の道が続く。
個人的には、半年前まで割と変わったことをしてました…
バックグラウンド
• 大学は数学専攻ですが…
• 前職は主にヴォイストレーナー。歌や楽器演奏。TVも少し。
←「○っとけないよ」のもといろいろ仕事
3
画像認識(特定物体認識)
4
正解を抽出
ユーザに
役立つ情報を
送信
どんなことに使えるの?
• バーコードの代わりに画像が使える
• ポスターを写真に取るだけで、スマホに情報が届く
• 食べ物を撮影して、カロリー情報を知る
5
実現手法
1.画像認識の流れとアルゴリズム
2.認識のための機械学習
3.精度測定
6
実現手法
1.画像認識の流れとアルゴリズム
2.認識のための機械学習
3.精度測定
7
画像認識の流れ
前処理
• 画像から特徴を取得しやすくするための加工
特徴抽出
• 画像から特徴を抽出する
認識
• 特徴量比較による認識
8
画像認識のアルゴリズム1
• 解像度に注意。目的の物体を認識するのに、適した解像度は実験して
決める。
• 目的の物体 や 特徴抽出で使用するアルゴリズムによって、前処理を変え
る。
9
前処理
• 画像から特徴を取得しやすくするための加工
画像認識のアルゴリズム1 例
• グレースケール(輝度のみで表現)→ 軽くする
• Gaussian(平滑化) → ぼかす(悪いことではない)
10
画像認識のアルゴリズム2
• 色や全体の位置関係が画像によって変化するなら、ロバストな局所特徴量を使
う
• 有名なSIFT、SURF
• 最近だとORB、FREAK(速い)
• これからやるんだったら、特許の問題もあるので、ORB とか FREAK が簡単
11
特徴抽出
• 画像から特徴を抽出する
画像認識のアルゴリズム2 ORB
12
小さい範囲からたくさんとる
= 局所特徴量
画像認識のアルゴリズム2 ORB
13
マッチした
特徴点同士を線
結んだ表現
がよく使われる
違う本だと
14
当然、マッチする点
は少なくなる。
そのため、
分類できる。
画像認識のアルゴリズム3
• 抽出した特徴量を比較する処理
• まずはブルートフォース(総当り)でやってみる
• そのあと、大規模な検索だったら、近似最近傍探索をやる
15
認識
• 特徴量比較による認識
ブルートフォースでやることの難しさ
16
DBには、32byteのベクトルが数十万個
入る。これと画像を毎回比較したら
とても時間がかかるので、近似最近傍探索やりましょう。
近似最近傍探索
17
ここは個人的にまだあまり
うまくいってません。
FLANN - Fast Library for Approximate
Nearest Neighbors(k-近傍探索)
で実施していますが、
データがそこそこないと精度が出ない…。
もっと改善したら発表したい…。
実現手法
1.画像認識の流れとアルゴリズム
2.認識のための機械学習
3.精度測定
18
認識のための機械学習
正解 の抽出
N
1 …
19
学習したフィルター
学習済み
フィルターを
使用して、
ただ 1 つの正解
を抽出する
まずはAda-Boostで行った。
理由は割りと少ない事例
で動く。
どんなものかというと…
Ada-Boost
20
• 2 クラスの分類アルゴリズム。
• 教師有り学習。
• デジカメなどの 顔認識 への利用が有名。
Ada-Boostの学習
弱識別器
3
弱識
別器2
弱識
別器1
21
強識別器
今回は幾何学情報を学習した
Ada-Boostの分類サンプル
22
一様に分布した点
のうち、青い点を
正事例サンプル
として学習
Ada-Boostの分類サンプル
23
特徴量にxとy
それぞれの
大小関係のみ使って、
50個の弱識別器を作成
新しいサンプル事例を分類すると
Ada-Boostの分類サンプル
24
結構きれいに
分類出来る
(XOR難しい)
Ada-Boostでフィルターをつくる
25
クエリ画像
抽出した正解画像
3000個の事例作成
・
・
・
正事例
正事例
負事例
正事例
Ada-Boost 注意した点
• 過学習は起こりづらいはずだが、事例を説明しきってしまっていないか注意
する。
• 特徴の次元を増やしすぎない
• そのために、実験手法を正しくする
• これらを守っても、弱点はある。
26
Ada-Boostの弱点
• ノイズの影響を受けやすい
• 複雑な分類はできない
• サンプルのように急に傾向が異なる結果があると分類を間違う(A ∧ B)
別の手法を使う
• Random-forest でやってみた
27
A B
Random-Forest
• ランダムにサンプリングしたデータから、2分木をたくさん作って投票するアル
ゴリズム。多クラス問題に対応できる
28
末端ノードに分類結果を持つ
たくさん木をつくる
Random-Forest の 投票
29
投票箱
Random-Forest 注意した点
• ランダムに取得した分岐条件で、うまく分離できなければ
枝の成長をとめてよい。ランダムシードを実装しておくと良い。
• 過学習に注意し、事例の数を少なくとも数万レベルで用意する
30
うまく出来ると、とても精度良いです
Random-Forest 分類サンプル
31
Ada-Boostと
同じ教師で、
どのくらい分類
できるのか?
※サンプル数は増やした
Random-Forest 分類サンプル
32
特徴量にxとy
それぞれの
大小関係のみ使って、
50個の木を作成
新しいサンプル事例を分類すると
Random-Forest 分類サンプル
33
きわどいところまで分
類できている。
(XOR大丈夫)
Random-Forest
フィルター、良い感じ。
34
近似探索でざっくり分類した後
識の誤りを救う目的で、機械学習を
使っています。
本当に救えているのか?
精度をちゃんと測定しましょう。
実現手法
1.画像認識の流れとアルゴリズム
2.認識のための機械学習
3.精度測定
35
性能評価(精度測定)
• 導入には精度が必須
• そのための基礎的な概念
36
正事例
True positive
(正しく正解を抽出)
True
Negative
(正しく不正解に抽出)
負事例
False
Positive
(間違って正解を抽出)
False
Negative
(間違って不正解を抽出)
性能評価 2
37
• データセット(クエリと正解 もしくは 不正解)を準備する。
• データセットを使って、精度が測定できるモジュールを作る。
負荷テストの出力を使うと効率が良かった。
性能評価 3
38
正解を増やす再現率
間違いを減らす適合率
再現率と適合率の傾向を表すF値
再現率(recall) = true positive / ( true positive + false negative )
適合率(precision) = true positive / (true positive + true negative)
F値(F measure) = 2 / ( 1 / Recall + 1 / Precision )
性能評価 実例
・1 つのクエリに対する正解が 1 つ。間違った答えは極力返さない。
・1つのクエリに対するして、たくさんの候補をユーザに提供する。
重視したいことに合わせて、F 値 を算出する関数を変えて、F 値を見てもよ
い。
39
F値の使い方が良くない例
40
しっかり値を見ないと、
分類がうまくいかないことも。
極端だが、再現率を適合率の
100倍重視した例。
誤分類だらけ。
実現手法
1.画像認識の流れとアルゴリズム
2.認識のための機械学習
3.精度測定
おまけ. 機械学習を勉強するにあたってお世話に
なったデータ
41
実験用画像セット
• 以下に充実しています。
MIT が提供する画像データを使ってみます。
これはデータセットをどんな風に用意するのかを勉強することも出来ます。
http://cbcl.mit.edu/software-datasets/
他には以下のようなデータセットもあります。
http://vasc.ri.cmu.edu/idb/html/car/index.html
http://www.vision.caltech.edu/html-files/archive.html
http://iris.usc.edu/Vision-
Users/OldUsers/bowu/DatasetWebpage/dataset.html
42
OpenCV
• http://opencv.org/
• 実装はここでコード見て、ずいぶん学ぶことができました。
43
これから
• 画像認識を使ったサービスは開始できた。これから先は、
• 音声を使ったら…
• 文字認識は…
• ユーザのデータから新しい学習の傾向を探す…
•新しい技術で乗り込むチャンス。
44
なので
SPRIXでは、仲間を募集しています。
• 世界初のサービスをつくるため、研究~設計~実装までやれます。
• 研究機関、個人、ベンチャー、大学関係の皆様、共同研究の費用
出ます。
• 画像認識に限らず、テキストマイニング、文字認識、AI …など、研究
を現実的なサービスに取り入れるチャンス。
• 連絡があればいつでも会えます。
45
どんなことやれるの?
連絡先
•Twitter
@masazdream
•会社
46
SPRIXでは IT×教育サービス を
どんどん実現します。
以上です、ありがとうございました。
47

Mais conteúdo relacionado

Semelhante a 20130727 cv machine_learning@tokyo webmining

Ict委員会の開発力について
Ict委員会の開発力についてIct委員会の開発力について
Ict委員会の開発力について
Yuta Hinokuma
 

Semelhante a 20130727 cv machine_learning@tokyo webmining (20)

内職がいらないくらいわかりやすいディープラーニング
内職がいらないくらいわかりやすいディープラーニング内職がいらないくらいわかりやすいディープラーニング
内職がいらないくらいわかりやすいディープラーニング
 
[2013_04]新入生用スライド
[2013_04]新入生用スライド[2013_04]新入生用スライド
[2013_04]新入生用スライド
 
機械学習システム開発案件の事例紹介
機械学習システム開発案件の事例紹介機械学習システム開発案件の事例紹介
機械学習システム開発案件の事例紹介
 
【アドテクにおける画像圧縮技術】
【アドテクにおける画像圧縮技術】【アドテクにおける画像圧縮技術】
【アドテクにおける画像圧縮技術】
 
Ict委員会の開発力について
Ict委員会の開発力についてIct委員会の開発力について
Ict委員会の開発力について
 
2012ー1 TENTOプレゼン資料
2012ー1 TENTOプレゼン資料2012ー1 TENTOプレゼン資料
2012ー1 TENTOプレゼン資料
 
Unityではじめるサンデープログラミングのススメ
UnityではじめるサンデープログラミングのススメUnityではじめるサンデープログラミングのススメ
Unityではじめるサンデープログラミングのススメ
 
【Unity道場スペシャル 2017幕張】大学、専門学校でunityの講座をおこなった感触
【Unity道場スペシャル 2017幕張】大学、専門学校でunityの講座をおこなった感触【Unity道場スペシャル 2017幕張】大学、専門学校でunityの講座をおこなった感触
【Unity道場スペシャル 2017幕張】大学、専門学校でunityの講座をおこなった感触
 
【Unity道場教育スペシャル】4年制大学の教育・研究におけるUnityの活用
【Unity道場教育スペシャル】4年制大学の教育・研究におけるUnityの活用【Unity道場教育スペシャル】4年制大学の教育・研究におけるUnityの活用
【Unity道場教育スペシャル】4年制大学の教育・研究におけるUnityの活用
 
Pythonでディープラーニングをはじめるための一歩目
Pythonでディープラーニングをはじめるための一歩目Pythonでディープラーニングをはじめるための一歩目
Pythonでディープラーニングをはじめるための一歩目
 
プログラミングとは
プログラミングとはプログラミングとは
プログラミングとは
 
Unsupervised Object Discovery and Localization in the Wild: Part-Based Match...
Unsupervised Object Discovery and Localization in the Wild:Part-Based Match...Unsupervised Object Discovery and Localization in the Wild:Part-Based Match...
Unsupervised Object Discovery and Localization in the Wild: Part-Based Match...
 
ネットワークへのCI的アプローチ
ネットワークへのCI的アプローチネットワークへのCI的アプローチ
ネットワークへのCI的アプローチ
 
2018 帰り道もくもく会のはじまり
2018 帰り道もくもく会のはじまり2018 帰り道もくもく会のはじまり
2018 帰り道もくもく会のはじまり
 
視覚と対話の融合研究
視覚と対話の融合研究視覚と対話の融合研究
視覚と対話の融合研究
 
可視化法学(Found it project#9)
可視化法学(Found it project#9)可視化法学(Found it project#9)
可視化法学(Found it project#9)
 
Unityティーチャートレーニングデイ -認定3Dアーティスト編-
Unityティーチャートレーニングデイ -認定3Dアーティスト編-Unityティーチャートレーニングデイ -認定3Dアーティスト編-
Unityティーチャートレーニングデイ -認定3Dアーティスト編-
 
イトナブ発表会資料
イトナブ発表会資料イトナブ発表会資料
イトナブ発表会資料
 
生活支援ロボットにおける 大規模データ収集に向けて
生活支援ロボットにおける大規模データ収集に向けて生活支援ロボットにおける大規模データ収集に向けて
生活支援ロボットにおける 大規模データ収集に向けて
 
"マルチメディア機械学習" の取り組み
"マルチメディア機械学習"  の取り組み"マルチメディア機械学習"  の取り組み
"マルチメディア機械学習" の取り組み
 

20130727 cv machine_learning@tokyo webmining