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.
OpenCVによる物体検出徹底解説 
ビジョン&ITラボ皆川卓也
物体検出徹底解説! 
物体検出の仕組み 
Viola & Johnsのアルゴリズムを解説 
物体検出器を作ってみよう! 
opencv_createsamples 
opencv_traincascade 
学習のテクニック 
2
物体検出の仕組み 
3
Viola & Johnsのアルゴリズム 
OpenCVの物体検出は、以下の手法を実装している 
Rainer Lienhartand JochenMaydt, "An Extended Set of Haar-like Features ...
5 
物体検出の流れ 
探索窓
学習 
学習結果 データ 
学習フェーズ 
特徴量抽出 
学習画像 
学習画像 
学習画像 
認識 
認識結果 
認識フェーズ 
特徴量抽出 
入力画像 
物体検出の基本原理 
Haar-Like 特徴 
AdaBoost 
6
機械学習とは? 
人間が自然に行っている学習能力と同様の機能をコン ピュータで実現させるための技術・手法のこと 
事前にコンピュータにサンプルデータを与え、そのパターンを 統計的に抽出させる。 
学習サンプル 
学習結果 
7
・・・・ 
弱い識別器 
強い識別器 
正解画像 
非正解画 像 
教師 信号 
学習 
AdaBoost 
弱い識別器を並べて、強い識別器を作成する機械学習 
8
AdaBoostの学習の流れ 
以下の処理を繰り返し、1ラウンドごとに1つの特徴を選ぶ 
1.学習画像(正解及び非正解)を用意する。(例:顔画像と顔を含まない画 像) 
2.各画像ごとの重みを、正解画像、非正解画像ごとに一様にする。(各々 の合...
Haar-Like特徴 
特徴量= 白領域の画素値-黒領域の画素値 
10
Haar-Like特徴と探索窓 
探索窓の中に、1つHaar-Like特徴を持つ。 
1つの弱識別器は、1つの探索窓から構成 
探索窓内のHaar-Like特徴の「位置」、「サイズ」、「種類」 を様々に変えて、約12万個の識別器を用意。 ...
AdaBoostの学習結果の例 
AdaBoostを通して、最適な探索まで自動的に選択される 
画像出典: 
P.Violaand M.J. Jones, "Rapid Object Detection using a Boosted Cas...
検出の高速化 
1.積分画像によるHaar-Like特徴計算の 高速化 
2.AttentionalCascadeによる物体領域選 択の高速化 
13
高速化の仕組み–積分画像- 
各画素の値を積分した画像を作成する。(右下に行くほど画 素の値が大きくなる) 
矩形領域の画素値の総和が非常に高速に計算可能になる。 
A 
B 
C 
D 
P1 
P2 
P4 
P3 
A’ 
B’ 
C...
高速化の仕組み–AttentionalCascade- 
画像中は「物体以外」の領域の方が多い 
効率よく「物体以外」の領域を削除するために、強識別器を複 数連結させ、上位で関係ない領域を早めに削除する。 
全ての探索窓 
1 
2 
3 ...
AttentionalCascadeの学習方法 
1.各ステージごとに、目標となる最小検出率と許容可能 な最大誤検出率を設定する。 
2.学習用に正例画像と負例画像を用意する。 
3.ステージ毎の識別器を順番に学習させる。 
1.ステージの強識...
物体検出器の構造(まとめ) 
物体検出器の学習データは以下の構造を持つ 
カスケード型検出器 
ステージ1(強識別器) 
弱識別器1 
Haar-Like特徴 
弱識別器2 
・・・・ 
ステージ2(強識別器) 
弱識別器1 
Haar-Li...
OpenCVで物体検出 
18
参考資料 
OpenCVの公式サイトでは、物体検出器について以下 のようなドキュメントが用意されています。 
物体検出器の使用方法: 
http://docs.opencv.org/2.4.9/doc/tutorials/objdetect/...
OpenCVで物体検出 
OpenCV2.0以降: 
物体検出にはCascadeClassifierクラスを使用 
弱識別器として以下の特徴量が用意されている 
Haar-like特徴 
LBP特徴 
HOG特徴 
学習時に選択 
...
Local Binary Pattern (LBP) 
Jo Chang-yeon, “Face Detection using LBP features”, CS 229 Final Project Report 
•注目画素の8近傍の値が、...
Local Binary Pattern (LBP)続き 
Jo Chang-yeon, “Face Detection using LBP features”, CS 229 Final Project Report 
•顔画像をM個のブロッ...
Histogram of Oriented Gradients (HOG) 
1.画像をCellに分割 
2.Cell内の勾配方向のヒストグラムを作成 
3.Block内のCellが持つヒストグラムを連結して正規化 
4.各ブロックの正規化ヒス...
物体検出の実行(顔検出の例) 
/* 正面顔検出器のロード*/ 
cv::CascadeClassifiercascade( "haarcascade_frontalface_alt.xml" ); 
std::vector<cv::Rect>...
物体検出の実行 
実行の流れ 
1.CascadeClassifierクラスへオブジェクトの学習ファイル (XML)を読み込み 
コンストラクタの引数、もしくはload()メソッド 
ファイル読み込み時に特徴の種類(Haar-like, ...
あらかじめ用意されている学習データ 
“<OpenCV_HOME>/data/” 
“haarcascades/” : Haar特徴を用いた学習データ 
正面顔 
顔パーツ 
横顔 
上・下半身 
“lbpcascades/” :...
物体検出器の作成 
27
手順 
1.学習データを集める。(正例画像と負例画像。例え ば顔画像と顔じゃない画像) 
2.学習用テキストファイルを作成する 
3.“opencv_createsamples”を用いて正例画像データ を作成する。 
4.“opencv_tra...
学習の流れ 
カスケードの各ステージごとに目標となる認識率dと最大許容誤認 識率fを決定。 
各ステージで学習データがdとfを満たすまでAdaboostでの学習を 繰り返す。 
前のステージで誤認識した負例画像だけ次のステージで使用する。...
学習画像を集める 
正例画像3000枚、負例画像7000枚程度 
Google Image 
http://images.google.co.jp/ 
Flickr 
http://www.flickr.com/ 
研究用データ 
...
学習用テキストを編集する 
画像のリストファイルを作成する(負例画像の例) 
NG¥image_0001.jpg NG¥image_0002.jpg NG¥image_0003.jpg NG¥image_0004.jpg NG¥image_0...
学習用テキストを編集する 
画像のリストファイルを作成する(正例画像の例) 
OK¥image_0001.jpg 1 120 100 45 45 OK¥image_0002.jpg 2 100 200 50 50 50 30 25 25 OK...
(X, Y) 
(0, 0) 
x 
y 
Width 
Height 
物体座標の表記 
以下のサイトから、”ObjectMaker”というプロットツールをダウンロード可能 
https://github.com/takmin/ObjectM...
正例画像データの作成 
2通りの正例データ作成方法 
1.1枚の画像を、歪めたり、回転させたり、色の分布を変える などして、大量の学習データを作成する場合。(ロゴなど) 
正直精度悪くてあんまり使えない。 
2.大量の学習画像を集めて、オブ...
正解画像データの作成 
場所: 
<OpenCV_HOME>/bin/opencv_createsamples” 
コマンド例: 
opencv_createsamples-info OK.txt -vecuiuc_car.vec -num 5...
学習の開始 
場所: 
“<OpenCV_HOME>/bin/opencv_traincascade” 
コマンド例: 
opencv_traincascade-data uiuc_car-vecuiuc_car.vec -bgNG.txt -...
学習の開始 
===== TRAINING 0-stage ===== 
<BEGIN 
POS count : consumed 500 : 500 
NEG count : acceptanceRatio1327 : 1 
Precalcu...
学習コマンドと注意点 
opencv_traincascadeの-numPosオプションは、 opecv_createsamplesの-numオプションよりも小さくする こと! 
必ず以下の式を満たす必要がある 
푛푢푚푃표푠≤ 푛푢푚−...
学習のテクニック 
39
学習のテクニック 
1.誤検出率と未検出率のトレードオフ 
2.学習画像の切り取り 
3.学習画像の縦横比 
4.Data Augmentation 
5.精度向上のための学習画像収集テクニック 
(注:各テクニックの有効性は対象によってマチマ...
誤検出と未検出のトレードオフ 
未検出 
誤検出 
一般に誤検出率を下げようとすると未検出率が上がり、未検出 率を下げようとすると誤検出率が上がる 
41
学習画像の切り取り 
一般に対象物体に対してマージンを設けた方が精度が 良い。(ただし特徴量や対象物によっては例外有り) 
42
学習画像の縦横比 
43 
OpenCVの検出器/学習器では学習画像の縦横比(アスペク ト比)は固定 
学習は-w, -hオプションで指定したサイズにリサイズされる 
従って、学習画像の縦横比をできるだけ固定した方が良い。 
学習画像の...
Data Augmentation 
44 
学習画像(特に正例)に対して位置をずらす、回転させる、 アスペクト比を変える、ぼかす、ノイズを入れる、等々の 処理を入れることで、学習データの数を増やし、かつ環 境変化に対してロバストにするテクニ...
精度向上のための追加学習画像収集 
1.識別器の学習に使った画像とは別の学習画像を別途用意してお く 
2.学習画像に対し、学習済みの識別器をかけて物体検出を行う 
3.検出できなかった物体画像領域、または誤検出した背景画像を 学習画像に追加し...
Upcoming SlideShare
Loading in …5
×

20141008物体検出器

18,197 views

Published on

OpenCVの物体検出器についての解説アップデート版

Published in: Technology

20141008物体検出器

  1. 1. OpenCVによる物体検出徹底解説 ビジョン&ITラボ皆川卓也
  2. 2. 物体検出徹底解説! 物体検出の仕組み Viola & Johnsのアルゴリズムを解説 物体検出器を作ってみよう! opencv_createsamples opencv_traincascade 学習のテクニック 2
  3. 3. 物体検出の仕組み 3
  4. 4. Viola & Johnsのアルゴリズム OpenCVの物体検出は、以下の手法を実装している Rainer Lienhartand JochenMaydt, "An Extended Set of Haar-like Features for Rapid Object Detection", IEEE ICIP 2002, Vol. 1, pp. 900- 903, Sep. 2002. Ojalaand M. Pietikainen, “MultiresolutionGray-Scale and Rotation Invariant Texture Classification with Local Binary Patterns”, IEEE Trans on PAMI, Vol. 24. No.7, July, 2002.(LBPの論文) ここでは、大元となった以下の論文を元に解説する Paul Viola and Michael J. Jones, "Rapid Object Detection using a Boosted Cascade of Simple Features", IEEE CVPR, 2001. 4
  5. 5. 5 物体検出の流れ 探索窓
  6. 6. 学習 学習結果 データ 学習フェーズ 特徴量抽出 学習画像 学習画像 学習画像 認識 認識結果 認識フェーズ 特徴量抽出 入力画像 物体検出の基本原理 Haar-Like 特徴 AdaBoost 6
  7. 7. 機械学習とは? 人間が自然に行っている学習能力と同様の機能をコン ピュータで実現させるための技術・手法のこと 事前にコンピュータにサンプルデータを与え、そのパターンを 統計的に抽出させる。 学習サンプル 学習結果 7
  8. 8. ・・・・ 弱い識別器 強い識別器 正解画像 非正解画 像 教師 信号 学習 AdaBoost 弱い識別器を並べて、強い識別器を作成する機械学習 8
  9. 9. AdaBoostの学習の流れ 以下の処理を繰り返し、1ラウンドごとに1つの特徴を選ぶ 1.学習画像(正解及び非正解)を用意する。(例:顔画像と顔を含まない画 像) 2.各画像ごとの重みを、正解画像、非正解画像ごとに一様にする。(各々 の合計は0.5) 3.以下を指定回数繰り返す。 1.重みの合計が1になるように正規化 2.各々の識別器に画像の判定を行わせ、学習画像毎の重みを元にエラー率を 算出する 3.エラー率が最も小さくなった識別器を選択する。 4.その識別器が判別を誤った画像の重みを重くする。 4.選択した識別器の重み付き和を最終的な強識別器とする。 9
  10. 10. Haar-Like特徴 特徴量= 白領域の画素値-黒領域の画素値 10
  11. 11. Haar-Like特徴と探索窓 探索窓の中に、1つHaar-Like特徴を持つ。 1つの弱識別器は、1つの探索窓から構成 探索窓内のHaar-Like特徴の「位置」、「サイズ」、「種類」 を様々に変えて、約12万個の識別器を用意。 探索窓 矩形特徴 (Haar-Like特徴) 11
  12. 12. AdaBoostの学習結果の例 AdaBoostを通して、最適な探索まで自動的に選択される 画像出典: P.Violaand M.J. Jones, "Rapid Object Detection using a Boosted Cascade of Simple Features", IEEE CVPR, 2001. 選択された特徴の例 12
  13. 13. 検出の高速化 1.積分画像によるHaar-Like特徴計算の 高速化 2.AttentionalCascadeによる物体領域選 択の高速化 13
  14. 14. 高速化の仕組み–積分画像- 各画素の値を積分した画像を作成する。(右下に行くほど画 素の値が大きくなる) 矩形領域の画素値の総和が非常に高速に計算可能になる。 A B C D P1 P2 P4 P3 A’ B’ C’ D’ P’1 P’2 P’4 P’3 D = P4 –P2 –P3 + P1 D’ = P’4 –P’2 –P’3 + P’1 P1 = 領域Aの画素値の総和 P2 = 領域A+Bの画素値の総和 P3 = 領域A+Cの画素値の総和 P4 = 領域A+B+C+Dの画素値の総和 14
  15. 15. 高速化の仕組み–AttentionalCascade- 画像中は「物体以外」の領域の方が多い 効率よく「物体以外」の領域を削除するために、強識別器を複 数連結させ、上位で関係ない領域を早めに削除する。 全ての探索窓 1 2 3 更なる処理 拒否された探索窓 TRUE TRUE TRUE FALSE FALSE FALSE 15
  16. 16. AttentionalCascadeの学習方法 1.各ステージごとに、目標となる最小検出率と許容可能 な最大誤検出率を設定する。 2.学習用に正例画像と負例画像を用意する。 3.ステージ毎の識別器を順番に学習させる。 1.ステージの強識別器をAdaBoostで学習させる a.強識別器に弱識別器を1つ追加する。 b.強識別器で学習画像を判定させる。 c.判定結果が目標最小検出率を満たすように、閾値を下げる。(そ の結果誤検出は増える。) d.誤検出が許容範囲なら、AdaBoostの学習を終了。許容範囲外な ら、aへ。 2.学習用負例画像から、誤検出しなかったものは除いて、次 のステージを学習させる(1へ) 16
  17. 17. 物体検出器の構造(まとめ) 物体検出器の学習データは以下の構造を持つ カスケード型検出器 ステージ1(強識別器) 弱識別器1 Haar-Like特徴 弱識別器2 ・・・・ ステージ2(強識別器) 弱識別器1 Haar-Like特徴 弱識別器2 ・・・・ ・・・・・ 17
  18. 18. OpenCVで物体検出 18
  19. 19. 参考資料 OpenCVの公式サイトでは、物体検出器について以下 のようなドキュメントが用意されています。 物体検出器の使用方法: http://docs.opencv.org/2.4.9/doc/tutorials/objdetect/cascade_classifier/cascade_classifier.html 物体検出器の学習方法: http://docs.opencv.org/2.4.9/doc/user_guide/ug_traincascade.html 19
  20. 20. OpenCVで物体検出 OpenCV2.0以降: 物体検出にはCascadeClassifierクラスを使用 弱識別器として以下の特徴量が用意されている Haar-like特徴 LBP特徴 HOG特徴 学習時に選択 検出時には特に意識する必要はない 20
  21. 21. Local Binary Pattern (LBP) Jo Chang-yeon, “Face Detection using LBP features”, CS 229 Final Project Report •注目画素の8近傍の値が、注目画素より高いか低いかで ラベリングし、符号化 •全画素で符号を計算し、ヒストグラムを作成 21
  22. 22. Local Binary Pattern (LBP)続き Jo Chang-yeon, “Face Detection using LBP features”, CS 229 Final Project Report •顔画像をM個のブロックへ分割(重なりなし)し、それぞれ のヒストグラムを求めて結合する(256×M個のビン) •この結合ヒストグラムの一つのビンが弱識別器 22
  23. 23. Histogram of Oriented Gradients (HOG) 1.画像をCellに分割 2.Cell内の勾配方向のヒストグラムを作成 3.Block内のCellが持つヒストグラムを連結して正規化 4.各ブロックの正規化ヒストグラムを連結してHOG特徴を作成 23 Dalal, N. & Triggs, B. . Histograms of Oriented Gradients for Human Detection. CVPR2005
  24. 24. 物体検出の実行(顔検出の例) /* 正面顔検出器のロード*/ cv::CascadeClassifiercascade( "haarcascade_frontalface_alt.xml" ); std::vector<cv::Rect> faces; std::vector<cv::Rect>::iteratorface_itr; /* 顔検出*/ cascade.detectMultiScale( image, faces); /* 顔領域の描画*/ for( face_itr= faces.begin(); face_itr!= face_itr.end(); face_itr++ ) { cv::rectangle( image, *face_itr, CV_RGB(255,0,0), 3 ); } /* 画像の表示(略)*/ 24
  25. 25. 物体検出の実行 実行の流れ 1.CascadeClassifierクラスへオブジェクトの学習ファイル (XML)を読み込み コンストラクタの引数、もしくはload()メソッド ファイル読み込み時に特徴の種類(Haar-like, LBP, HOG)を自動で判断 2.CascadeClassifier::detectMultiScale()関数で、物体検出 std::vector<cv::Rect>クラスへ結果を格納 25
  26. 26. あらかじめ用意されている学習データ “<OpenCV_HOME>/data/” “haarcascades/” : Haar特徴を用いた学習データ 正面顔 顔パーツ 横顔 上・下半身 “lbpcascades/” : LBP特徴を用いた学習データ 正面顔 横顔 “hogcascades/”:HOG特徴を用いた学習データ 歩行者 26
  27. 27. 物体検出器の作成 27
  28. 28. 手順 1.学習データを集める。(正例画像と負例画像。例え ば顔画像と顔じゃない画像) 2.学習用テキストファイルを作成する 3.“opencv_createsamples”を用いて正例画像データ を作成する。 4.“opencv_traincascade”を用いて物体情報を学習さ せて、XMLファイルを生成する。 28
  29. 29. 学習の流れ カスケードの各ステージごとに目標となる認識率dと最大許容誤認 識率fを決定。 各ステージで学習データがdとfを満たすまでAdaboostでの学習を 繰り返す。 前のステージで誤認識した負例画像だけ次のステージで使用する。 全ての探索窓 1 2 3 更なる処理 拒否された探索窓 TRUE TRUE TRUE FALSE FALSE FALSE 29
  30. 30. 学習画像を集める 正例画像3000枚、負例画像7000枚程度 Google Image http://images.google.co.jp/ Flickr http://www.flickr.com/ 研究用データ Pascal VOC http://pascallin.ecs.soton.ac.uk/challenges/VOC/ MITの顔画像データ http://cbcl.mit.edu/software-datasets/FaceData2.html カリフォルニア工科大学の物体画像データ http://www.vision.caltech.edu/Image_Datasets/Caltech101/Caltech101.html http://www.vision.caltech.edu/Image_Datasets/Caltech256/ etc 自分で撮影する 30
  31. 31. 学習用テキストを編集する 画像のリストファイルを作成する(負例画像の例) NG¥image_0001.jpg NG¥image_0002.jpg NG¥image_0003.jpg NG¥image_0004.jpg NG¥image_0005.jpg . . . . NG.txt image_0002.jpg image_0003.jpg NG image_0001.jpg <作業ディレクトリ> image_0002.jpg image_0003.jpg image_0001.jpg OK OK.txt NG.txt 31
  32. 32. 学習用テキストを編集する 画像のリストファイルを作成する(正例画像の例) OK¥image_0001.jpg 1 120 100 45 45 OK¥image_0002.jpg 2 100 200 50 50 50 30 25 25 OK¥image_0003.jpg 1 40 55 60 60 OK¥image_0004.jpg 1 104 98 40 40 OK¥image_0005.jpg 2 62 70 50 50 120 162 30 30 . . . . NG.txt image_0002.jpg image_0003.jpg NG image_0001.jpg <作業ディレクトリ> image_0002.jpg image_0003.jpg image_0001.jpg OK OK.txt OK.txt ファイル名 物体数 物体の位置×物体数 (x,y,width,height) 32
  33. 33. (X, Y) (0, 0) x y Width Height 物体座標の表記 以下のサイトから、”ObjectMaker”というプロットツールをダウンロード可能 https://github.com/takmin/ObjectMarker 33
  34. 34. 正例画像データの作成 2通りの正例データ作成方法 1.1枚の画像を、歪めたり、回転させたり、色の分布を変える などして、大量の学習データを作成する場合。(ロゴなど) 正直精度悪くてあんまり使えない。 2.大量の学習画像を集めて、オブジェクトの領域をプロットす る場合。(顔、バイク、車など) コマンドラインで“opencv_createsamples”という実 行ファイルを使用して、正例画像を変換する。 34
  35. 35. 正解画像データの作成 場所: <OpenCV_HOME>/bin/opencv_createsamples” コマンド例: opencv_createsamples-info OK.txt -vecuiuc_car.vec -num 500 - w 50 -h 20–show -info: 正例画像リストファイル -vec:出力データファイル名 -num:正例画像数 -w:学習時の画像幅 -h:学習時の画像高さ -show:学習画像のGUIによる確認 画像ファイルリストから生成する場合 このファイルを次のカス ケード学習時に使用する 35
  36. 36. 学習の開始 場所: “<OpenCV_HOME>/bin/opencv_traincascade” コマンド例: opencv_traincascade-data uiuc_car-vecuiuc_car.vec -bgNG.txt -numPos488- numNeg1327 -w 50 -h 20 -numStages5 -featureTypeHAAR -mode ALL -data:作業フォルダ名。このフォルダの下に中間ファイルとcascade.xmlができる。 -vec:createsamplesで作成した正解画像データ名 -bg:負例画像ファイル名リスト -numPos:正例画像数 -numNeg:負例画像数 -minHitRate: 各ステージで許容する最小検出率(デフォルト:0.995) -maxFalseAlarmRate: 各ステージ許容する最大誤検出率(デフォルト:0.5) -w, -h:画像サイズ。createsamplesで指定したものと同じにする。 -numStages:作成するステージ数 -featureType:特徴の型。HAAR、LBP、HOGのいずれか。 -mode:Haar-Like特徴の種類を指定 36
  37. 37. 学習の開始 ===== TRAINING 0-stage ===== <BEGIN POS count : consumed 500 : 500 NEG count : acceptanceRatio1327 : 1 Precalculationtime: 44.686 +----+---------+---------+ | N | HR | FA | +----+---------+---------+ | 1| 1| 1| +----+---------+---------+ | 2| 1| 1| +----+---------+---------+ | 3| 1| 1| +----+---------+---------+ | 4| 0.998| 0.517709| +----+---------+---------+ | 5| 0.996| 0.37679| +----+---------+---------+ END> 学習の様子 37
  38. 38. 学習コマンドと注意点 opencv_traincascadeの-numPosオプションは、 opecv_createsamplesの-numオプションよりも小さくする こと! 必ず以下の式を満たす必要がある 푛푢푚푃표푠≤ 푛푢푚−푆 푛푢푚푆푡푎푔푒+푚푖푛퐻푖푡푅푎푡푒(1−푛푢푚푆푡푎푔푒) Sはバッファ、numはcreatesamplesのオプション 学習の各ステージで背景と判断された正例学習データ は以後のステージでは棄却され、その分新たにvecファ イルから追加されるため。 38
  39. 39. 学習のテクニック 39
  40. 40. 学習のテクニック 1.誤検出率と未検出率のトレードオフ 2.学習画像の切り取り 3.学習画像の縦横比 4.Data Augmentation 5.精度向上のための学習画像収集テクニック (注:各テクニックの有効性は対象によってマチマチです) 40
  41. 41. 誤検出と未検出のトレードオフ 未検出 誤検出 一般に誤検出率を下げようとすると未検出率が上がり、未検出 率を下げようとすると誤検出率が上がる 41
  42. 42. 学習画像の切り取り 一般に対象物体に対してマージンを設けた方が精度が 良い。(ただし特徴量や対象物によっては例外有り) 42
  43. 43. 学習画像の縦横比 43 OpenCVの検出器/学習器では学習画像の縦横比(アスペク ト比)は固定 学習は-w, -hオプションで指定したサイズにリサイズされる 従って、学習画像の縦横比をできるだけ固定した方が良い。 学習画像の縦横比を固定せず、検出時に入力画像の縦横比を 様々に変換するというアプローチもある
  44. 44. Data Augmentation 44 学習画像(特に正例)に対して位置をずらす、回転させる、 アスペクト比を変える、ぼかす、ノイズを入れる、等々の 処理を入れることで、学習データの数を増やし、かつ環 境変化に対してロバストにするテクニック。
  45. 45. 精度向上のための追加学習画像収集 1.識別器の学習に使った画像とは別の学習画像を別途用意してお く 2.学習画像に対し、学習済みの識別器をかけて物体検出を行う 3.検出できなかった物体画像領域、または誤検出した背景画像を 学習画像に追加し、再度識別器を学習しなおす。 45 誤検出 未検出

×