中部大学工学部情報工学科 卒業論文 人検出のための学習サンプルの自動生成と MILBoost を用いた学習法 草富 省吾 2011 年 3 月 指導教授 藤吉弘亘 A Graduation Thesis of College of Engineering, Chubu University A Learning Method Using Automatic Generation of Training Sample and MILBoost for Human Detection Kusatomi Shogo はじめに 近年,セキュリティやマーケティングなどの多岐に亘る分野において,動画像内から自 動で人を検出する技術が期待されている.そのため,人検出の高精度化に関する研究が数 多く行われている. 近年の物体検出において,Viola と Jones が提案した顔検出 [1] に代表されるように局 所特徴量と統計的学習法による組み合わせによる手法が多い.人検出に有効な局所特徴 量として,Histograms of Oriented Gradients(HOG) 特徴量 [2] や,Edge of Orientation Histograms(EOH) 特徴量 [3] など,形状に着目した特徴量が多数提案されている.統計的 学習法では多量の学習サンプルを必要とする.しかし、多量の学習サンプルを収集するた めには多大なコストがかかる問題がある. この問題を解決するために,生成モデルに変化を加えることで学習サンプルを大量に 自動生成する学習法 [8] [9] が提案されている.道路標識検出 [8] や路面標示認識 [9] では, テンプレート画像に色変動やアフィン変換など,実際に起こりえる変化を加えることで, 人手で集めたサンプル画像に近い学習サンプルを大量に生成,学習する手法を用いてい る.しかし,従来の生成モデルを用いた学習法は,単純なパターンに限った手法が多く, 人検出のように検出対象の形状変化が大きい場合には,モデルを作成することが難しい 問題がある.また,実環境で起こる全ての変化に対応するため汎用性が高くなるが,特定 シーンにおいて高い検出性能を得ることは難しい.そこで,纐纈らは人体シルエットの生 成型学習により特定シーンに対して学習サンプルの収集コスト低減と人検出性能を向上さ せる手法を提案した.人体シルエットの生成モデルを用いて学習サンプルを自動生成し, 実環境下でのカメラ位置や背景などを考慮することで,特定シーンに特化した学習サン プルを生成する.しかし,纐纈らの手法では人以外の学習サンプルを生成するためには, あらかじめ人のいない領域から背景画像を収集しなければならない問題があった.本研究 ではポジティブサンプルには先行研究の生成モデルを用いて,ネガティブサンプルは映像 からランダムに切り出す.しかし,切り出した画像中には,人の学習サンプルも混在して iii いる.そこで,我々は本研究の問題設定に合わせた MILBoost を用いてネガティブクラス 中に混在したポジティブサンプルを考慮した学習法を提案する. iv 目次 第 1 章 人体シルエットの生成モデルに基づく人検出 1.1 1.2 1 人体シルエットの生成モデルを用いたサンプル生成 . . . . . . . . . . . . . 1 1.1.1 人体シルエットの生成モデルの概要 . . . . . . . . . . . . . . . . . . 1 1.1.2 Poser の人モデル . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.3 OpenGL による人モデルの復元 . . . . . . . . . . . . . . . . . . . . 2 問題点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 第 2 章 学習サンプルの自動生成と MILBoost を用いた学習法 7 2.1 提案手法の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2 実環境を考慮した学習サンプル生成 . . . . . . . . . . . . . . . . . . . . . . 7 2.3 MILBoost による検出器の学習 . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3.1 MILBoost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3.2 Bag の作成方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.3.3 MILBoost の適用方法 . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.3.4 学習方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 第 3 章 評価実験 15 3.1 実験概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.2 データセット . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.3 実験結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 おわりに 21 謝 辞 23 参考文献 25 v 図目次 1.1 生成モデル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Poser の人モデル例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 人モデルの階層構造 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 カメラパラメータによる見えの変化 . . . . . . . . . . . . . . . . . . . . . . 5 1.5 人の形状に影響するパラメータとそれによる見えの変化 . . . . . . . . . . . 5 2.1 学習サンプル生成の流れ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2 ネガティブクラスの Bag の作成方法 . . . . . . . . . . . . . . . . . . . . . . 9 2.3 Bag の作成例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.4 Bag のラベルのつけ方 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.5 MILBoost のアルゴリズム . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.1 INRIA Person Dataset 例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.2 生成サンプル例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.3 ポジティブサンプルの含有率増加による誤識別率の変化 . . . . . . . . . . . 19 3.4 サンプルの重みと弱識別器の遷移 . . . . . . . . . . . . . . . . . . . . . . . 20 vii 表目次 3.1 ネガティブサンプルの混在具合 . . . . . . . . . . . . . . . . . . . . . . . . 16 ix 第1章 人体シルエットの生成モデルに基 づく人検出 本研究では,先行研究 [15] で作成された人体シルエットの生成モデルを使用する.本章で は,提案手法に用いる人体シルエットの生成モデルについて述べる.そのあとに,先行研 究の問題点も述べる. 1.1 人体シルエットの生成モデルを用いたサンプル生成 先行研究では特定シーンに特化した学習サンプルを生成する方法として,生成モデルを 用いて学習サンプルを生成する手法を提案した. 1.1.1 人体シルエットの生成モデルの概要 本研究で用いる生成モデルは,3D キャラクタ作成ソフトウェア Poser の人モデルに基 づき作成する.人体シルエットの生成モデルを図 1.1 に示す.この人体シルエット生成モ デルを用いて,様々な見えの学習画像を生成する. 1 第 1 章 人体シルエットの生成モデルに基づく人検出 図 1.1: 生成モデル 1.1.2 Poser の人モデル 生成モデルを作成するにあたり,3D キャラクタ作成ソフトウェア Poser を用いた.図 1.2 に本研究で使用した人モデル例を示す. この人モデルは様々な情報が含まれており,その中でも生成モデルに必要となる人モデ ルの形状データ,モデルのパーツの階層構造,動作データを抽出した. 人モデルは図 1.3 に示すような階層構造で形成されており,例えば右肩を動かすとそれ 以下の階層である右腕,右前腕,右手も同じように動く.また,動作データは各パーツの 関節角度が数フレーム分与えられており,各パーツにこの値を与えれば人モデルを Poser と同様に動かすことが出来る. 1.1.3 OpenGL による人モデルの復元 Poser から抽出したデータを OpenGL で復元して生成モデルを作成する.このモデルに 対して以下に示す様々なパラメータを与えることで,様々な見えの人体シルエット画像を 生成することが出来る. • カメラパラメータ 画角 α ,アスペクト比 aspect ,カメラ位置 xc ,yc ,zc ,カメラ角度 ϕx , ϕy , ϕz • 人体形状パラメータ 身長 h ,動作 m ,人の向き θ ,人の位置 xw ,yw ,zw 2 1.1. 人体シルエットの生成モデルを用いたサンプル生成 図 1.2: Poser の人モデル例 • テクスチャ 背景のテクスチャTbg ,人の中身のテクスチャTin カメラパラメータは固定カメラを想定し,一意に決定する.実際のカメラを設置するの と同様に各パラメータを入力することで画面サイズや人の見え方などを設定できる.な お,カメラの位置 zc は仮想空間の床の中心からの距離となる.図 1.4 にカメラパラメー タを変化させたときの生成モデルを示す. 人体形状パラメータを入力することで人体シルエットの見えが各パラメータ名に対応 して変化する.また,動作 m は,あらかじめ用意した動作パターンから決定し,本研究 では「歩行」の動作 30 フレームを持っている.図 1.5 に人体形状パラメータをそれぞれ 変化させたときの生成モデルを示す.テクスチャは,生成の際に用いられ,本研究では, Caltech256[12] からランダムで切り出した画像をテクスチャとして用いる. 3 第 1 章 人体シルエットの生成モデルに基づく人検出 図 1.3: 人モデルの階層構造 1.2 問題点 先行研究では,人の学習サンプルは人体の生成モデルから生成することで収集コストを 削減することができた.一方,背景の学習サンプルについては,人が存在しない領域から 人手で切り出す必要があった.本研究では,人の学習サンプルについては,人体の生成モ デルを用いて生成する.背景の学習サンプルは,映像中からランダムに切り出しを行う. しかし,ランダムに切り出しを行うとネガティブサンプル中にポジティブサンプルが混在 してしまう問題がある.本研究では,生成されたサンプルを用いて,本研究の問題設定に 適用させた MILBoost により学習を行う. 4 1.2. 問題点 図 1.4: カメラパラメータによる見えの変化 図 1.5: 人の形状に影響するパラメータとそれによる見えの変化 5 第2章 学習サンプルの自動生成と MILBoost を用いた学習法 本研究では,人の学習サンプルは纐纈らが作成した生成モデルを用いて生成する.背景の 学習サンプルは,映像中からランダムで切り出す. 2.1 提案手法の概要 提案手法では,人の学習サンプルを生成モデルから生成し,背景の学習サンプルは映像 中から切り出しを行う.切り出されたサンプルの中には,背景の画像の他にも人の画像が 含まれてしまう問題がある.この問題を解決するために,本研究では問題設定に合わせた MILBoost を用いる. 2.2 実環境を考慮した学習サンプル生成 人手を介さずに自動的に学習サンプルを生成する.学習サンプル生成の流れ図 2.1 に示 す.まず,実環境にカメラを設置し,キャリブレーションによりカメラの高さや俯角など のカメラパラメータを得る.次に,カメラパラメータを用いて人体生成モデルにより,環 境に対応した人の学習サンプルを自動的に生成する.背景の学習サンプルは,映像中から ランダムに切り出す.ランダムに切り出した際に,人の学習サンプルが混在してしまう問 題がある.本研究では,ネガティブクラスに混在するポジティブサンプルを考慮した学習 7 第 2 章 学習サンプルの自動生成と MILBoost を用いた学習法 を行うのが目的である.また,本実験では人手によりカメラパラメータを取得する. 図 2.1: 学習サンプル生成の流れ 2.3 MILBoost による検出器の学習 本研究の問題を解決するために MILBoost[16] を用いる. 2.3.1 MILBoost Multiple Instance Learning を Boosting に導入した学習法である.例えば, ポジティブク ラスにネガティブサンプルが混在するような曖昧さを含むサンプルを扱う学習法である. ■ Multiple Instance Learning 従来の教師あり学習では,全てのデータに対して食べる付けがなされている必要があ る.しかし,全てのデータにラベルを付けることは難しい.そこで,Multiple Instance Learning(MIL)ではいくつかのデータの集合である Bag と呼ばれる単位ごとにラベル 付けを行う.Bag の中のデータが一つでも Positive であればその Bag は Positive とラベル 付けされ,全てのインスタンスが Negative であればそぼバッグは Negative とラベル付け される.例えば,印象 A を受ける画像中のオブジェクトに少なくとも一つでも印象 A を 喚起させるものがあるはずである.この場合,画像に対応する Bag には印象 A に関して 8 2.3. MILBoost による検出器の学習 Positive とラベルを付ける.逆に,印象 A を受けない画像中のどのオブジェクトにも,印 象 A を喚起させるものはないはずなので,対応するバッグには Negative とラベルを付け る.この MIL の考え方を Boosting に導入したのが MILBoost である. 2.3.2 Bag の作成方法 ポジティブクラスの Bag の作成は,サンプル一つを一つの Bag として扱う.ネガティ ブクラスの Bag の作成は,映像中の人は一定の場所に留まらないという特性が見られる ので,ランダムに選択したフレームのランダムに選択した領域の時間軸方向を Bag とす る考え方と,ランダムに選択した領域の周囲を Bag とする考え方を組み合わせて Bag の 作成を行う.図 2.2 に Bag の作成方法を示す.図 2.3 に作成した Bag の一例を示す. 図 2.2: ネガティブクラスの Bag の作成方法 2.3.3 MILBoost の適用方法 提案手法では,MILBoost を本研究の問題に適用させる. 従来法は, ポジティブクラスの Bag では,Bag 内に一つでも人クラスのサンプルが含まれると仮定することでラベルを与 える.しかし,本研究では,従来法とは違い,Bag 内に一つでも背景クラスのサンプルが 含まれた場合にネガティブラベルを与えたい.なので,本研究では問題設定に合わせた MILBoost を提案する.従来法と提案手法のラベルのつけ方について図 2.4 に示す. 9 第 2 章 学習サンプルの自動生成と MILBoost を用いた学習法 2.3.4 学習方法 学習の過程は基本的に Real AdaBoost と共通である.学習アルゴリズムを図 2.5 に示 す.数式の詳しい説明を以下に示す. i は i 番目の Bag を表す.j はある Bag に所属する j 番目のサンプルを表す. サンプルのクラス尤度を pij として算出する.H(xij ) は強識別器の出力である, 強識別器 の出力を用いてシグモイド関数により算出する. pij = 1 1 + exp(−H(xij )) (2.1) Bag のクラス尤度を pi として算出する.従来法の pi の式では,ネガティブクラスの Bag 内にポジティブサンプルが一つでも入った場合,ポジティブラベルを Bag につけるよう な式であった.しかし,本研究の解決したい問題はネガティブクラスの Bag 内にポジティ ブサンプルが入ってもネガティブラベルを付けるようにしたいので,式の (2.2) ように構 築する.Bag 内のサンプルの pi の値を総積することにより求める.Bag 内のサンプルの 総積をとるので,もし一つでもネガティブサンプルが Bag 内に存在した場合,pi の値が 低下するような動きをする. pi = ∏ pij (2.2) j∈i 算出された pij ,pi を用いてサンプルの重み wij を算出する.重み wij は,クラスラベルに 対して正解ならば重みを低く,不正解なら重みを高くする. pij (1−pi ) wij = 10 pi −pij if yi = 1 otherwise (2.3) 2.3. MILBoost による検出器の学習 図 2.3: Bag の作成例 11 第 2 章 学習サンプルの自動生成と MILBoost を用いた学習法 図 2.4: Bag のラベルのつけ方 12 2.3. MILBoost による検出器の学習 図 2.5: MILBoost のアルゴリズム 13 第3章 評価実験 本章では,提案手法の有効性を示すため評価実験を行う. 3.1 実験概要 実験は,提案手法と従来手法である Real AdaBoost を比較する.学習用データセット には INRIA Person Dataset を用いる.学習サンプルには,ポジティブには 1200 枚,ネガ ティブには 4000 枚を用いる.今回の実験では,ネガティブサンプル中に何%のサンプル が混在した場合,従来法とくらべ提案手法がどの程度性能を発揮できるのか確認の実験を 行う,ネガティブサンプル中にポジティブサンプルを 5% から 30% までの割合で混在さ せる.混在具合を表 3.1 に示す.評価には,INRIA Person Dataset の評価データセットを 用いる.評価サンプルのポジティブには 1126 枚, ネガティブサンプルには 4532 枚を用い る。実験は,Equal Error rate により比較する. 3.2 データセット 学習に用いた INRIA Person Dataset の例を図 3.1 に示す.生成サンプルの例を図 3.2 に 示す. 15 第 3 章 評価実験 表 3.1: ネガティブサンプルの混在具合 3.3 混在具合 ネガティブサンプル ポジティブサンプル 5% 3800 枚 200 枚 10% 3600 枚 400 枚 15% 3400 枚 600 枚 20% 3200 枚 800 枚 25% 3000 枚 1000 枚 30% 2800 枚 1200 枚 実験結果 図 3.3 に実験結果を示す.実験結果から,混在するサンプルの割合が増加すると, 従来 法の誤識別率は増加傾向にあることがわかる.一方,提案手法は含有率 15% の場合では, 従来法よりも識別率を 3.6% 向上させることができた.提案手法はネガティブサンプル中 にポジティブサンプルが混在する問題に対して,有効であることがわかる. 図 3.4 は,ネガティブクラスの同一 Bag に含まれているネガティブ,ポジティブサンプル の強識別器の応答値とサンプル重みを比較したものである.ポジティブクラスのサンプ ルに対してネガティブクラスのラベルが与えられているにも関わらず,小さくなるはずの 弱識別器の値が大きい.これは,Bag と学習サンプルのラベルが一致していないサンプル は,MIL のアルゴリズムにより小さな重みが与えられて悪影響を及ぼさない学習が可能 となるからである. よって,提案手法はネガティブサンプル中にポジティブサンプルが混在する問題に対し て有効であることがわかる. 16 3.3. 実験結果 図 3.1: INRIA Person Dataset 例 17 第 3 章 評価実験 図 3.2: 生成サンプル例 18 3.3. 実験結果 図 3.3: ポジティブサンプルの含有率増加による誤識別率の変化 19 第 3 章 評価実験 図 3.4: サンプルの重みと弱識別器の遷移 20 おわりに 本研究では,学習サンプルの収集コストを削減するために,学習サンプルの自動生成と MILBoost を用いた学習法を提案した.本研究の問題設定に合わせた MILBoost を用いる ことによって,従来法の Real AdaBoost に比べて INRIA Person Dataset を用いた評価実 験において識別率を 3.7% 向上させることができた. ネガティブクラスの Bag 内のポジティブサンプルにおいても MILboost を用いることによ り,混在したポジティブサンプルを考慮しないような重み付けを行うことが出来た.今後 は,オンライン学習を取り入れて,時々刻々と変化する環境への対応について検討する. 21 謝 辞 本研究を行うにあたり,終始懇切なご指導をいただきました中部大学工学部藤吉弘亘准教 授に謹んで深謝します.次に本研究を進めるにあたり,有意義な御助言,ご指導頂いた中 部大学大学院工学研究科情報工学専攻山内悠嗣氏に心から厚くお礼を申し上げます.最後 に,本研究においてアドバイスや相談等に協力していただいた藤吉研究室の皆様に感謝い たします. 23 参考文献 [1] P. Viola and M. Jones: “Robust real-time face detection”, International Journal of Computer Vision, 57(2), pp. 137-154 (2004). [2] N. Dalal and B. Triggs: “Histograms of oriented gradients for human detection”, IEEE Computer Vision and Pattern Recognition, 1, pp. 886-893, (2005). [3] K. Levi and Y. Weiss: “Learning Object Detection from a Small Number of Examples: the Importance of Good Features”, IEEE Computer Vision and Pattern Recognition, 2, pp. 53-60, (2004). [4] B. Wu and R. Nevatia: “Detection of multiple, partially occluded humans in a single image by bayesian combination of edgelet part detections”, IEEE Computer Vision and Pattern Recognition, 1, pp. 90-97, (2005). [5] INRIA Person Dataset: “http://pascal.inrialpes.fr/data/human/”. [6] S. Munder and D. M. Gavrila: “An Experimental Study on Pedestrian Classification”, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 28, num. 11, (2006). [7] A. Ess, B. Leibe, K. Schindlerand L. van Gool: “Moving Obstacle Detection in Highly Dynamic Scenes”, IEEE International Conference on Robotics and Automation, (2009). [8] 道満恵介, 出口大輔, 高橋友和, 目加田慶人, 井手一郎, 村瀬洋: “色変動を考慮した 生成型学習による道路標識検出器の構築”, 画像の認識・理解シンポジウム MIRU, (2009). 25 参考文献 [9] 野田雅文, 高橋友和, 井手一郎, 目加田慶人, 村瀬洋: “生成型学習を用いた車載カメラ 映像中の路面標示認識の検討”, 電子情報通信学会, pp. 220, (2008). [10] D. M. Gavrila and J. Giebel: “Virtual sample generation for template-based shape matching”, IEEE Computer Vision and Pattern Recognition, pp. 676-681, (2001). [11] 平 成 20 年 度 体 力・運 動 能 力 調 査 調 査 結 果 統 計 表:文 部 科 学 省: “ http://www.mext.go.jp/b menu/houdou/21/10/attach/1285568.htm”. [12] Caltech256: “http://www.vision.caltech.edu/Image Datasets/Caltech256/”. [13] R. E. Schapire and Y. Singer,“Improved Boosting Algorithms Using Confidence-rated Predictions ”, Machine Learning, No. 37, pp. 297-336, (1999). [14] Y. Freund and R. E. Schapire: “Experiments with a New Boosting Algorithm”, In Proceedings of International Conference Machine Learning, (1996). [15] 纐纈 直也, 山内 悠嗣, 藤吉 弘亘, ”人体シルエットの生成型追加学習による人検出の高 精度化”, 電子情報通信学会パターン認識・メディア理解研究会 (PRMU), pp. 99-104, 2010. [16] Paul Viola, John C. Platt and Cha Zhang, “Multiple instance boosting for object detection ”, In NIPS 18, 1419-1426, 2006. 26 人検出のための学習サンプルの自動生成と MILBoost を用いた学習法 草富 省吾 (中部大学工学部情報工学科) 2011 年 3 月
© Copyright 2024