(57)【特許請求の範囲】
【請求項１】
複数の弱識別器からなる強識別器を複数用いて構成される識別器を生成する識別器生成装置であって、
検出対象となるオブジェクトを含む複数の学習画像と、前記学習画像のオブジェクトの位置である正解値と、を受け付けて、
前記学習画像から複数の特徴を抽出し、
前記複数の特徴から２つを選択して、それらの差分から差分特徴を決定し、
前記複数の学習画像を用いて前記差分特徴の特徴量からヒストグラムを生成して、前記ヒストグラムの面積が等しくなる閾値を決定し、
前記差分特徴の特徴量と前記閾値とを用いて木構造からなる前記弱識別器を生成し、
前記学習画像と前記正解値を用いて、前記弱識別器により識別された画像の検出対象の推定位置を補正するための移動量を算出する
ことを特徴とする識別器生成装置。
【請求項２】
前記識別器は、前記複数の学習画像を顔の向き毎に分類して各向き毎の識別器を生成される
ことを特徴とする請求項１に記載の識別器生成装置。
【請求項３】
前記弱識別器及び前記強識別器は、予め設定された目標値に基づいて生成される
ことを特徴とする請求項１または請求項２に記載の識別器生成装置。
【請求項４】
動的計画法を用いて前記木構造の深さに対応して用いられる前記特徴量を決定し前記弱識別器を生成する
ことを特徴とする請求項１から請求項３のいずれかに記載の識別器生成装置。
【請求項５】
前記特徴は、Ｓｈａｐｅ−Ｉｎｄｅｘである
ことを特徴とする請求項１から請求項４のいずれかに記載の識別器生成装置。
【請求項６】
前記請求項１から５のいずれに記載の識別器生成装置の識別器を用いて、画像中の検出対象オブジェクトの推定位置を移動させながら前記検出対象オブジェクトを推定する
ことを特徴とする推定装置。
【請求項７】
検出対象となるオブジェクトを含む複数の学習画像と、前記学習画像のオブジェクトの位置である正解値と、を受け付けて、
前記学習画像から複数の特徴を抽出し、
前記複数の特徴から２つを選択して、それらの差分から差分特徴を決定し、
前記複数の学習画像を用いて前記差分特徴の特徴量からヒストグラムを生成して、前記ヒストグラムの面積が等しくなる閾値を決定し、
前記差分特徴の特徴量と前記閾値とを用いて木構造からなる弱識別器を生成し、
前記学習画像と前記正解値を用いて、前記弱識別器により識別された画像の検出対象の推定位置を補正するための移動量を算出する
ことを特徴とする識別器生成方法。
【請求項８】
検出対象となるオブジェクトを含む複数の学習画像と、前記学習画像のオブジェクトの位置である正解値と、を受け付けて、
前記学習画像から複数の特徴を抽出し、
前記複数の特徴から２つを選択して、それらの差分から差分特徴を決定し、
前記複数の学習画像を用いて前記差分特徴の特徴量からヒストグラムを生成して、前記ヒストグラムの面積が等しくなる閾値を決定し、
前記差分特徴の特徴量と前記閾値とを用いて木構造からなる弱識別器を生成し、
前記学習画像と前記正解値を用いて、前記弱識別器により識別された画像の検出対象の推定位置を補正するための移動量を算出し、
前記弱識別器を用いて、画像中の検出対象オブジェクトの推定位置を移動させながら前記検出対象オブジェクトを推定する
ことを特徴とする推定方法。
【請求項９】
請求項７の識別器生成方法をコンピュータに実行させることを特徴とするプログラム。
【請求項１０】
請求項８の推定方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の画像から識別器を構築し、画像中の特定部位（位置）を推定する技術に関する。
【背景技術】
【０００２】
従来、顔器官検出技術は、顔のモデルを定義し、入力画像をモデルに当てはめて最適化することによって、モデルに予め定義されている顔器官位置に基づいて入力画像の顔器官位置を求める手法（モデルベース手法）が主流であった（例えば、非特許文献１、２、３等）。特許文献１では、入力画像を３次元モデルに対し当てはめることで高精度な顔器官検出を実現している。
【０００３】
しかしながら、モデルベース手法では、次のような問題がある。第１に、最適化問題として位置合わせエラーではなく、モデルへの当てはまりエラーを解くため、エラーを最小化したとしても、必ずしも位置合わせの結果が良くなるとは限らない。第２に、全ての顔に統一のモデル（低次元）を持つことが前提であるため、年代、性別、人種等のバリエーションに対応できない。
【０００４】
一方、近年、適当な初期位置から正しい顔器官位置を回帰問題として解く方法（リグレッションベース手法）がとられている（例えば、非特許文献４、５、６等）。これらの手法では、位置合わせエラーを高次元空間で回帰問題として解くため、モデルベース手法の問題を克服し、精度の高い位置合わせが実現できる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許５２１３７７８号公報
【特許文献２】米国特許出願公開２０１４／０１８５９２４号公報
【非特許文献】
【０００６】
【非特許文献１】Tim Cootes, ”An Introduction to Active Shape Models”, http://person.hst.aau.dk/06gr1088d/artikler/Pdf/Cootes%20Introduction.pdf
【非特許文献２】Timothy F. Cootes, Gareth J. Edwards, and Christopher J. Taylor, “ActiveAppearance Models”, IEEETransactions on Pattern Analysis and Machine Intelligence, Vol. 23, No. 6, June 2001, http://person.hst.aau.dk/06gr1088d/artikler/Pdf/Cootes%20Introduction.pdf
【非特許文献３】David Cristinacce and Tim Cootes, “Feature Detection and Trackingwith Constrained Local Models”, http://personalpages.manchester.ac.uk/staff/timothy.f.cootes/papers/BMVC06/cristinacce_bmvc06.pdf
【非特許文献４】Piotr Dollar, Peter Welinder, Pietro Perona, “Cascaded PoseRegression”, Conference on ComputerVision and Pattern Recognition (CVPR)2010
【非特許文献５】Xavier P. Burgos-Artizzu, Pietro Perona, Piotr Dollar, “Robust FaceLandmark Estimation Under Occlusion”, International Conference On ComputerVision(ICCV2013)
【非特許文献６】Shaoqing Ren, Xudong Cao, Yichen Wei, Jian Sun, “Face Alignment at3000 FPS via Regressing Local Binary Features”, Conference on Computer Visionand Pattern Recognition(CVPR)2014
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、リグレッションベース手法では、位置合わせエラーを高次元空間で回帰問題として解くため、回帰関数を求めるための特徴の組み合わせの数が膨大となり、現実時間では解くことができない問題点があった。
【０００８】
この点、既存の手法（特許文献２、非特許文献４、５、６）では、ランダムに選択した特徴から候補となる識別器を複数作成し、それらの作成した識別器同士を相対的に比較して、最も良い識別器を決定することで上記問題を回避している。しかしながら、本手法においてはランダムに特徴の選択、識別器の作成を行っているため、選択する特徴の数と、作成する識別器の数に精度が依存してしまうなど、効率性の観点からも最適な識別器を得ることは困難である。
【０００９】
本発明は、前述した問題点に鑑みてなされたものであり、その目的とすることは、オブジェクト検出における効率的に良好なロバスト性を有する識別器を生成可能な識別器生成装置等を提供することである。
【課題を解決するための手段】
【００１０】
前述した目的を達成するための本発明における識別器生成装置は、複数の弱識別器からなる強識別器を複数用いて構成される識別器を生成する識別器生成装置であって、検出対象となるオブジェクトを含む複数の学習画像と、前記学習画像のオブジェクトの位置である正解値と、を受け付けて、前記学習画像から複数の特徴を抽出し、前記複数の特徴から２つを選択して、それらの差分から差分特徴を決定し、前記複数の学習画像を用いて前記差分特徴の特徴量からヒストグラムを生成して、前記ヒストグラムの面積が等しくなる閾値を決定し、前記差分特徴の特徴量と前記閾値とを用いて木構造からなる前記弱識別器を生成し、前記学習画像と前記正解値を用いて、前記弱識別器により識別された画像の検出対象の推定位置を補正するための移動量を算出することを特徴とする。
【００１１】
前記識別器は、前記複数の学習画像を顔の向き毎に分類して各向き毎の識別器を生成されることを特徴とする。
【００１２】
前記弱識別器及び前記強識別器は、予め設定された目標値に基づいて生成されることを特徴とする。
【００１３】
動的計画法を用いて前記木構造の深さに対応して用いられる前記特徴量を決定し前記弱識別器を生成することを特徴とする。
【００１４】
前記特徴は、Ｓｈａｐｅ−Ｉｎｄｅｘであることを特徴とする。
【００１５】
また、本発明における推定装置は、前記識別器生成装置の識別器を用いて、画像中の検出対象オブジェクトの推定位置を移動させながら前記検出対象オブジェクトを推定することを特徴とする。
【００１６】
また、本発明における識別器生成方法は、検出対象となるオブジェクトを含む複数の学習画像と、前記学習画像のオブジェクトの位置である正解値と、を受け付けて、前記学習画像から複数の特徴を抽出し、前記複数の特徴から２つを選択して、それらの差分から差分特徴を決定し、前記複数の学習画像を用いて前記差分特徴の特徴量からヒストグラムを生成して、前記ヒストグラムの面積が等しくなる閾値を決定し、前記差分特徴の特徴量と前記閾値とを用いて木構造からなる弱識別器を生成し、前記学習画像と前記正解値を用いて、前記弱識別器により識別された画像の検出対象の推定位置を補正するための移動量を算出することを特徴とする。
【００１７】
また、本発明における推定方法は、検出対象となるオブジェクトを含む複数の学習画像と、前記学習画像のオブジェクトの位置である正解値と、を受け付けて、前記学習画像から複数の特徴を抽出し、前記複数の特徴から２つを選択して、それらの差分から差分特徴を決定し、前記複数の学習画像を用いて前記差分特徴の特徴量からヒストグラムを生成して、前記ヒストグラムの面積が等しくなる閾値を決定し、前記差分特徴の特徴量と前記閾値とを用いて木構造からなる弱識別器を生成し、前記学習画像と前記正解値を用いて、前記弱識別器により識別された画像の検出対象の推定位置を補正するための移動量を算出し、前記弱識別器を用いて、画像中の検出対象オブジェクトの推定位置を移動させながら前記検出対象オブジェクトを推定することを特徴とする。
【００１８】
また、本発明におけるプログラムは、前記識別器生成方法をコンピュータに実行させることを特徴とする。
【００１９】
前記推定方法をコンピュータに実行させることを特徴とする。
【発明の効果】
【００２０】
本発明により、オブジェクト検出における効率的に良好なロバスト性を有する識別器を生成する識別器生成装置等を提供することができる。
【図面の簡単な説明】
【００２１】
【図１】識別器生成装置１、推定装置２のハードウェア構成例を示す図
【図２】リグレッションベース手法に基づく顔器官推定の概念図
【図３】本実施形態に係る識別器３の概念図
【図４】本実施形態に係る識別器３（顔方向別）の概念図
【図５】（ａ）Ｆｅｒｎ木（弱識別器）５の木構造を示す図  （ｂ）Ｆｅｒｎ木の別の表現態様を示す図
【図６】学習目標値に応じて識別器の学習を行う様子を示す図
【図７】Ｓｈａｐｅ−Ｉｎｄｅｘに基づく特徴を示す図
【図８】学習処理の流れを説明するフローチャート
【図９】ヒストグラムＨから閾値δを決定する様子を示す図
【図１０】Ｆｅｒｎ候補グラフ７Ｇｒの概念図
【図１１】分岐関数の組み合わせを決定する様子を示す図
【図１２】決定した分岐関数からＦｅｒｎ木（弱識別器）を生成する様子を示す図
【図１３】移動量を求める様子を示す図
【図１４】推定処理の流れを説明するフローチャート
【図１５】（ａ）入力データを示す図  （ｂ）顔方向に応じた識別器３を選択する図
【図１６】推定結果を示す図
【発明を実施するための形態】
【００２２】
以下図面に基づいて、本発明の実施形態を詳細に説明する。本実施形態では、オブジェクトとして顔器官を例にあげ、顔器官の位置を推定する識別器を学習し、学習した識別器を用いて顔器官の位置の推定を行う場合について説明を行うが、本発明は顔器官以外のオブジェクトに対しても適用できる。
【００２３】
図１は、本実施形態に係る識別器生成装置１、推定装置２のハードウェア構成の例を示す図である。図１に示すように、識別器生成装置１は、制御部１１、記憶部１２、メディア入出力部１３、通信制御部１４、入力部１５、表示部１６、周辺機器Ｉ／Ｆ部２７等が、バス１８を介して接続される。
【００２４】
制御部１１は、ＣＰＵ、ＲＯＭ、ＲＡＭ等によって構成される。ＣＰＵは、記憶部１２、ＲＯＭ、記録媒体等に格納されるプログラムをＲＡＭ上のワークメモリ領域に呼び出して実行し、バス１８を介して接続された各装置を駆動制御し、集約装置２が行う後述する処理を実現する。ＲＯＭは、不揮発性メモリであり、コンピュータのブートプログラムやＢＩＯＳ等のプログラム、データ等を恒久的に保持している。ＲＡＭは、揮発性メモリであり、記憶部１２、ＲＯＭ、記録媒体等からロードしたプログラム、データ等を一時的に保持するとともに、制御部１１が各種処理を行う為に使用するワークエリアを備える。
【００２５】
記憶部１２は、ＨＤＤ等であり、制御部１１が実行するプログラム、プログラム実行に必要なデータ、ＯＳ等が格納される。プログラムに関しては、ＯＳに相当する制御プログラムや、後述する処理をコンピュータに実行させるためのアプリケーションプログラムが格納されている。これらの各プログラムコードは、制御部１１により必要に応じて読み出されてＲＡＭに移され、ＣＰＵに読み出されて各種の手段として実行される。
【００２６】
メディア入出力部１３（ドライブ装置）は、データの入出力を行い、例えば、ＣＤドライブ（−ＲＯＭ、−Ｒ、−ＲＷ等）、ＤＶＤドライブ（−ＲＯＭ、−Ｒ、−ＲＷ等）等のメディア入出力装置を有する。通信制御部１４は、通信制御装置、通信ポート等を有し、コンピュータとネットワーク間の通信を媒介する通信インタフェースであり、ネットワークを介して、他のコンピュータ間との通信制御を行う。ネットワークは、有線、無線を問わない。
【００２７】
入力部１５は、データの入力を行い、例えば、キーボード、マウス等のポインティングデバイス、テンキー等の入力装置を有する。入力部１５を介して、コンピュータに対して、操作指示、動作指示、データ入力等を行うことができる。表示部１６は、液晶パネル等のディスプレイ装置、ディスプレイ装置と連携してコンピュータのビデオ機能を実現するための論理回路等（ビデオアダプタ等）を有する。尚、入力部１５及び表示部１６は、タッチパネルディスプレイのように、一体となっていても良い。
【００２８】
周辺機器Ｉ／Ｆ部１７は、コンピュータと周辺機器とのデータ送受信を行うためのポートやアンテナ等であり、コンピュータは周辺機器Ｉ／Ｆ部１７を介して周辺機器とのデータの送受信を行う。周辺機器との接続形態は、有線（例えば、ＵＳＢ等）、無線（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）等）を問わない。バス１８は、各装置間の制御信号、データ信号等の授受を媒介する経路である。
【００２９】
（リグレッションベース手法に基づく顔器官推定）
図２は、リグレッションベース手法に基づく顔器官推定を表す概念図である。リグレッションベース手法では、顔器官の位置推定問題を、変位量関数（回帰関数）を用いた回帰問題として考える。
【００３０】
図２（ａ）のように顔を含む入力画像Ｉと顔器官の適当な初期位置Ｓ０が与えられたとする。リグレッションベース手法では、変位量関数（回帰関数）Ｒを用いて初期位置Ｓ０を顔器官の正解位置に向かって変位させ（図２（ｂ））、正解位置ＳＴを推定し、推定結果（回帰結果）を表示した出力画像Ｅを得る（図２（ｃ））。変位量関数（回帰関数）Ｒは、通常、機械学習によって学習生成される。本実施形態における識別器生成装置及び推定装置は、変位量関数（回帰関数）Ｒからなる識別器を複数生成し、識別器を生成、ならびに入力画像のオブジェクトの位置推定を行う。
【００３１】
なお、学習、推定対象とするオブジェクトは、本実施形態に限ることなく、任意のオブジェクトを用いることができる。また、その数も任意に定めることができ、対象とする各画像において適切な数(１〜２００点程度)を設定することが可能である。
【００３２】
（本実施形態に係る識別器３の構造）
図３は、本実施形態で学習生成する識別器３のデータ構造を表す概念図である。識別器３は、図３に示すように、変位量関数（回帰関数）Ｒ１，…，Ｒｔ，…，ＲＴとして機能する複数の強識別器４−１，…，４−ｔ，…４−Ｔを接続した構造となっている。なお、簡単のため本文では強識別器を“Ｒ”と表す場合がある。
【００３３】
また、各強識別器は、同様に変位量関数（回帰関数）として機能する複数の弱識別器を接続して構成される。例えば、図３の強識別器４−ｔは、変位量関数（回帰関数）ｒ１，…，ｒｋ，…，ｒＫからなる複数の弱識別器５−１，…，５−ｋ，…５−Ｋから構成される。なお、簡単のため本文では弱識別器を“ｒ”と表す場合がある。
【００３４】
以上のように、本実施形態の識別器３は、強識別器４と弱識別器５の２階層構造からなり、識別器３に、顔画像と顔器官の初期位置Ｓ０が入力されると、変位量関数（回帰関数）からなる各強識別器４（に含まれる複数の弱識別器５）によって変位を繰り返しながら、最終的に顔器官位置ＳＴを推定するように動作する。
【００３５】
また、本実施形態に係る識別器３は、顔の向き毎に学習生成される。
図４は、顔の向き毎に学習生成された識別器３を示す図である。図に示すように、「正面方向」の顔向きに対応した識別器３−１、「斜め左方向」の顔向きに対応した識別器３−２、「左方向」の顔向きに対応した識別器３−３、・・・、といったように、様々な顔向きに対応した識別器を学習する。これにより、あらゆる顔方向の画像に対して顔器官位置を効率よく推定することが可能となる。
【００３６】
なお、必ずしも向き毎に識別器を分けて学習する必要はなく、また、本実施形態の３パターンに限ることなく、様々な顔の向きにて識別器を構築することが可能である。ここで、それぞれの顔の向きとは一意の角度ではなく、ある程度の範囲を一纏まりとして学習することができる。その際、学習するオブジェクトが画像内に全て含まれる角度であれば、例えば右斜め３０°と正面と左斜め３０°の向きの顔画像は、全て正面の顔の向きとして学習可能である。
【００３７】
（弱識別器５）
図５（ａ）は、本実施形態の弱識別器５であるＦｅｒｎ木の木構造を示す図である。Ｆｅｒｎ木の各ノードは入力された画像の入力値に応じて分岐先の２つのノードのいずれかへ分岐させる「分岐関数」から構成される。図中の“ｆ”は分岐関数を表している。Ｆｅｒｎ木は、決定木の一種であるが、図に示すように同一深度（同層）のノードで同一の分岐関数ｆを共有できる点に特徴がある。
【００３８】
図５（ｂ）は、Ｆｅｒｎ木の木構造の別の表現態様である。Ｆｅｒｎ木は、上記したように同一深度（同層）で同一の分岐関数を用いることから、その木構造は図５（ｂ）に示すように分岐関数の一次元系列｛ｆ０、ｆ１、ｆ２、・・・、ｆＳ｝で表現することもできる。
【００３９】
本実施形態は、上記した分岐関数の各ノードを動的計画法により決定する。なお、本実施形態においては、弱識別器を構成する木構造についてＦｅｒｎ木を例として説明するが、これに限定することなく、本発明の開示の範囲内において生成可能な種々の木構造にて弱識別器を構築することが可能である。
【００４０】
（学習目標値に応じた学習）
また、本実施形態では、強識別器毎に学習目標値（正解位置までの到達目標）を設定し、この学習目標値に応じて、弱識別器の接続数を動的に決定する。学習目標値とは、強識別器を構築する際に達成すべき最終的な正解位置の推定精度に対する目標値である。
【００４１】
このように、強識別器毎に、学習目標値（正解位置までの到達目標）を定めることで、各強識別器内において必要の分だけの目標値に応じた最適な数の弱識別器が学習生成される。
【００４２】
図６は、ある強識別器４−ｔの学習を行う様子を示す図である。強識別器４−ｔの学習時に学習目標値が設定される。そして、学習目標を達成したか否かを評価しながら、強識別器４−ｔ内の弱識別器５−１、５−２、…を生成しながら接続していく。学習目標を達成した場合、弱識別器の生成を終了し次の強識別器の学習へ移行する。このように、設定された学習目標値に応じて、自動的に弱識別器の接続数が決定される。
【００４３】
なお、本実施形態では強識別器４−１，…，４−ｔ，…４−Ｔの各学習段階を「ステージ」と呼び、強識別器内の弱識別器５−１，…，５−ｋ，…５−Ｋの各学習段階を「ラウンド」と呼ぶ。
【００４４】
（特徴量）
また、本実施形態において識別器の構築のために用いられる特徴は、非特許文献５に記載のＳｈａｐｅ−Ｉｎｄｅｘ特徴を用いて算出される。Ｓｈａｐｅ−Ｉｎｄｅｘは、任意の複数の点のうちの２点を用いて算出される画素位置の特徴を表す。Ｓｈａｐｅ−Ｉｎｄｅｘを用いることにより、顔形状の変化が大きい場合でも不変性の高い特徴を得られるメリットがある。Ｓｈａｐｅ−Ｉｎｄｅｘの詳細は非特許文献５を参照されたい。本実施形態では、弱識別器のノードを構成する特徴量として、算出したＳｈａｐｅ−Ｉｎｄｅｘの２点間の輝度差（Ｐｉｘｅｌ−Ｄｉｆｆｅｒｅｎｃｅ）を差分特徴量として用いることにする。
【００４５】
図７はＳｈａｐｅ−Ｉｎｄｅｘを表す図である。図７の６Ａ、６ＢはＳｈａｐｅ−Ｉｎｄｅｘの画素位置であり、それぞれの画素値（輝度値）がＩＡ、ＩＢであることを示している。本実施形態では図に示すように２つのＳｈａｐｅ−Ｉｎｄｅｘ間の輝度差（＝ＩＡ−ＩＢ）を特徴量として用いる。
【００４６】
＜学習動作＞
次に、図８のフローチャートを参照しながら、本実施形態に係る識別器生成装置１が識別器３を生成・学習する処理（学習処理）を説明する。
【００４７】
まず、識別器生成装置１の制御部１１は、学習データとして、顔を含むＮ個の学習画像Ｉｉ（ｉ＝１〜Ｎ）と、各学習画像中の顔器官の正解位置（目標位置）Ｓ※ｉ（ｉ＝１〜Ｎ）の入力を受け付け（ステップＳ１）、学習に用いるための任意の顔器官の初期位置Ｓ０（学習の初期値）を設定する（ステップＳ２）。
【００４８】
初期位置Ｓ０の設定の方法は任意であるが、本実施形態では、前記した顔器官の正解位置（目標位置）の平均値（  （Ｓ※１＋…＋Ｓ※Ｎ）/Ｎ  ）を初期位置Ｓ０として設定する。
【００４９】
以降、識別器３の学習を行っていく。まず、制御部１１は、識別器３の現在の学習ステージ（学習する強識別器）のインデクスｔを初期化する（ｔ＝１、ステップＳ３）。
【００５０】
そして、制御部１１は、学習ステージｔ（学習する強識別器４−ｔ（Ｒｔ））における弱識別器を生成するための特徴と閾値からなる分岐関数の候補を生成する。具体的には、制御部１１は、まずＳｈａｐｅ−Ｉｎｄｅｘを算出するための画素位置をランダムにＰ個（本実施形態では４万個程度）選択し、選択したＰ個の画素位置から数式１に示すＳｈａｐｅ−Ｉｎｄｅｘに基づくＭ個の特徴を、全学習画像について算出する（ステップＳ４）。
【００５１】
【数１】
0006606849.tif 000002
【００５２】
なお、Ｍは、Ｓｈａｐｅ−Ｉｎｄｅｘの全ての組み合わせについて輝度差を算出した場合、Ｍ＝Ｐ（Ｐ−１）となる。
【００５３】
次に、制御部１１は、Ｍ個の特徴毎に適切な閾値δを設定する（ステップＳ５）。具体的には、制御部１１は、Ｍ個の特徴毎に全学習画像から算出した特徴の特徴量に対する学習画像数の分布（ヒストグラム）を作成し、分布面積を２分する中央値となる閾値δを設定する。閾値δは種々の指標に基づいて設定可能であるが、本実施形態では、特徴の分布を２分したヒストグラム面積が等しくなる特徴量の値を特定し、閾値δを設定する。
【００５４】
図９は、ステップＳ５の処理を概念的に表した図である。図９（ａ）に示すように、制御部１１は、２点のＳｈａｐｅ−Ｉｎｄｅｘにおける相対位置となる画素の差分特徴（ｆｅａｔｕｅｒ１、ｆｅａｔｕｅｒ２・・・、ｆｅａｔｕｅｒＭ）毎に、全学習画像につき特徴量を算出し、各差分特徴毎にヒストグラムＨ１、Ｈ２・・・、ＨＭを作成する。そして、制御部１１は、図９（ｂ）に示すように、各ヒストグラムを均等に２分する閾値δ１、δ２、・・・、δＭを設定する。
【００５５】
以上のように、ステップＳ４においてランダムに選択した特徴（ｆｅａｔｕｅｒ１、ｆｅａｔｕｅｒ２、・・・、ｆｅａｔｕｅｒＭ）とステップＳ５において設定した閾値（δ１、δ２、・・・、δＭ）によって、弱識別器の各ノードを構成するＭ個の分岐関数の候補（Ｆ１、Ｆ２、・・・、ＦＭ）が生成される（数式２）。
【００５６】
【数２】
0006606849.tif 000003
【００５７】
制御部１１は、以降の処理で、上式の分岐関数の候補（Ｆ１、Ｆ２、・・・、ＦＭ）の中から、弱識別器の各ノードに割り当てる分岐関数を決定する。これにより最適な弱識別器を構築する。
まず、制御部１１は、現在の学習ラウンド（学習する弱識別器）のインデクスｋを初期化する（ｋ＝１、ステップＳ６）。
【００５８】
続いて、制御部１１は、分岐関数の候補（Ｆ１、Ｆ２、・・・、ＦＭ）から、分岐関数の全系列の組み合わせをグラフにした「Ｆｅｒｎ候補グラフＧｒ」を作成する（ステップＳ７）。
図１０は、Ｆｅｒｎ候補グラフ７Ｇｒを表す概念図である。Ｆｅｒｎ候補グラフ７Ｇｒのノード７ｎは分岐関数の候補（Ｆ１、Ｆ２、・・・、ＦＭ）を表し、エッジ７ｅは分岐関数の候補同士を繋ぐ全ての組み合わせを表している。
【００５９】
そして、制御部１１は、ノード７ｎとエッジ７ｅから構成されるＦｅｒｎ候補グラフ７Ｇｒから適切なパス、すなわち、分岐関数の組み合わせを選定する（ステップＳ８）。具体的には、制御部１１は、各深度におけるコスト関数を累積した累積コスト関数を最小とする（コスト関数の正負は逆転させてもよく、この場合は累積コスト関数を最大とする）分岐関数の組み合わせを、動的計画法を用いて選定する。ここで、累積コスト関数について説明をしておく。累積コスト関数は次のように定義される。
【００６０】
【数３】
0006606849.tif 000004
【００６１】
上式において、ＳはＦｅｒｎ木の葉ノードの深度（Ｆｅｒｎ木の高さ）であり、すなわち、Ｆｅｒｎ木を構成する分岐関数の個数である。深度Ｓはユーザが任意に設定可能なパラメータである。また、ｓ（＝０〜Ｓ）はＦｅｒｎ木の各ノードの深度を示すインデクスである。
【００６２】
また、上式において右辺の第１項のＵ（ｆｓ）は、Ｆｅｒｎ木の各深度ｓにおいて分岐関数がｆｓであるとした場合の局所コストである（以降、Ｕ（ｆｓ）を「データ項」とも呼ぶ）。第２項のＰ（ｆｓ，ｆｓ−１）は、分岐関数の状態遷移コストであり、定数λはその重みである（以降、Ｐ（ｆｓ，ｆｓ−１）を「平滑化項」とも呼ぶ）。以下、データ項Ｕ（ｆｓ）および平滑化項Ｐ（ｆｓ，ｆｓ−１）について具体的に説明する。
【００６３】
１．データ項Ｕ（ｆｓ）
データ項Ｕ（ｆｓ）は、分岐関数の主に識別能力を表す指標であり、具体的には数式４に示す計算式によって算出される。
【００６４】
【数４】
0006606849.tif 000005
α；調整パラメータ
σｗ１、σｗ２；分割後の各クラスのクラス内分散
σｂ；分割後のクラス間分散
【００６５】
数式中のΔＳ１は、分岐関数によって２分した一方の分類に属する各学習画像Ｉｉ（ｉ∈Ω１）の現在位置Ｓｉ（ｉ∈Ω１）と正解位置Ｓ※ｉ（ｉ∈Ω１）の距離平均であり、ΔＳ２は、分岐関数によって２分した他方の分類に属する各学習画像Ｉｉ（ｉ∈Ω２）の現在位置Ｓｉ（ｉ∈Ω２）と正解位置Ｓ※ｉ（ｉ∈Ω２）の距離平均であり、次のように計算される。
【００６６】
【数５】
0006606849.tif 000006
ｂ＝１，２
Ωｂ；このｂｉｎに含まれる学習画像の集合
【００６７】
データ項Ｕ（ｆｓ）の値が小さくなる分岐関数ほど識別能力が高いことを示す。データ項Ｕ（ｆｓ）の値を小さくする分岐関数（識別性能の高い分岐関数）とは、第１には、数式４のΔＳ１、ΔＳ２の値（つまり数式５の値）を大きくする分岐関数である。すなわち、分割した各学習画像の現在位置と正解位置との距離平均が大きくなる分岐関数である。これにより、学習画像の現在位置をより正解位置へ近づけようとする分岐関数ほど、最適な分岐関数として選定されやすくなる。
【００６８】
また、データ項Ｕ（ｆｓ）の値を小さくする分岐関数（識別性能の高い分岐関数）とは、第２には、数式４のα（σω１＋σω２）／σｂを小さくする分岐関数である。すなわち、分割後の２つの分布のクラス内分散を小さくし、且つ、クラス間分散を大きくする分岐関数ほど（２つの分布の分離度を大きくする分岐関数ほど）、最適な分岐関数として選定されやすくなる。
【００６９】
２．平滑化項Ｐ（ｆｓ，ｆｓ−１）
一方、平滑化Ｐ（ｆｓ，ｆｓ−１）は、分岐関数の状態遷移コストであり、Ｆｅｒｎ木の１つ前の深度（ｓ−１）の分岐関数（ｆｓ−１）と現在の深度（ｓ）の分岐関数（ｆｓ）との関連度を評価する。平滑化Ｐ（ｆｓ，ｆｓ−１）は数式６ように算出される。
【００７０】
【数６】
0006606849.tif 000007
ｂ＝１またはｂ＝２
【００７１】
ここで、ｍ１は、１つ前の深度（ｓ−１）の分岐関数（ｆｓ−１）で片方のｂｉｎ（例えばΩ１）に分類された学習画像のうち、現在の深度（ｓ）の分岐関数（ｆｓ）で同じくΩ１に分類された学習画像の個数を表す。一方、ｍ２は、１つ前の深度（ｓ−１）の分岐関数（ｆｓ−１）によりΩ１に分類された学習画像のうち、現在の深度（ｓ）の分岐関数（ｆｓ）でΩ２に分類された学習画像の個数を表す。
【００７２】
上式において、ｍ１＝ｍ２の場合、平滑化項Ｐ（ｆｓ，ｆｓ−１）の値が最も小さくなる。すなわち、１つ前の深度（ｓ−１）の分岐関数（ｆｓ−１）によって各ｂｉｎに分類された学習画像を、現在の深度（ｓ）において偏りなく均等に各ｂｉｎに分類する分岐関数ｆｓほど、最適な分岐関数として選定されやすくなる。平滑化項の趣旨は、１つ前の深度（ｓ−１）のノードに割り当てた分岐関数（特徴）となるべく関連度の低い分岐関数（特徴）を現在の深度（ｓ）のノードにおいて選定させることで、Ｆｅｒｎ木（弱識別器）の各ノード（各分岐関数）における識別ターゲットに偏りをなくし、結果的に、各ｂｉｎに分類される学習画像の個数の偏りを小さくし、過学習やノイズ発生を防ぐことにある。
【００７３】
以上、累積コスト関数を構成するデータ項Ｕ（ｆｓ）と平滑化項Ｐ（ｆｓ，ｆｓ−１）について具体的に説明した。
制御部１１は、この累積コスト関数を最小化する分岐関数の組み合わせ
【００７４】
【数７】
0006606849.tif 000008
【００７５】
を、動的計画法を用いて選定（決定）する。動的計画法では、各深度ｓ（＝０〜Ｓ）においてコスト関数の累計値を計算していく。この際、深度ｓの各ノード（各分岐関数の候補）では、１つ前の深度（ｓ−１）の各ノード（各分岐関数の候補）における、コスト関数Ｕ（ｆｓ）＋Ｐ（ｆｓ，ｆｓ−１）を最小とするパス（部分最適パス）をバックポインタとして各々保持しておく。そして、最下層の深度Ｓまでコスト関数の累計値を計算したら、最下層の深度Ｓでコスト関数の累計値が最小となるノード（分岐関数）からバックポインタを辿って行く（トレースバック）ことで、分岐関数の組み合わせを選定（決定）する。ここで選定した分岐関数を構成する差分特徴及びその差分特徴に関連する閾値は、弱識別器の深さ毎の構成要素として保存される。
【００７６】
図１１は、動的計画法によって分岐関数の組み合わせを選定した様子を表す概念図である。図１１の数値は、各深度（ｓ＝０〜Ｓ）におけるコスト関数の累計値を表す。図１１の場合、（Ｆ１００３，Ｆ３８４３，Ｆ８３４，・・・，Ｆ７４９８，Ｆ５１１１）が分岐関数の組み合わせとして選定されたことを示す。
【００７７】
制御部１１は、動的計画法で得られた分岐関数の組み合わせから、弱識別器ｒｋを構築する（ステップＳ９）。
図１２は、数式７に示す分岐関数の組み合わせから弱識別器ｒｋを構築する様子を示す図である。
【００７８】
制御部１１は、構築した弱識別器ｒｋにより識別された検出対象となる画像内のオブジェクトの入力値の位置（現在の推定位置）を補正するための移動量を決定する（ステップＳ１０）。
移動量の決定方法としては、検出対象オブジェクトの位置（正解値）が既知の学習画像に対して、検出対象オブジェクトに対する任意の値（学習値）を入力する。次に、当該学習画像の学習値を構築された弱識別器ｒｋを用いて識別を行い、その識別結果としてどの葉ノードに識別されるかを判定する。続いて、識別された学習画像の学習値と正解値との距離を算出する。このような識別処理を異なる複数の学習画像及び／又は学習値にて繰り返し行う。そして同じ葉ノードに識別された全学習データから算出された学習値と正解値との距離の平均値を求める。ここで求められた平均値が、当該葉ノードに識別された画像のオブジェクトの推定位置の移動量として用いられる。
つまり、移動量ΔＳは、Ｆｅｒｎ木（弱識別器）ｒｋの各葉ノードで分類されたｂｉｎ中の学習画像の集合をそれぞれΩｂとし、各学習画像Ｉｉ（ｉ∈Ωｂ）の正解位置をＳ※ｉ（ｉ∈Ωｂ）と現在位置をＳｋ−１ｉ（ｉ∈Ωｂ）とすると、数式８のように定式化できる。
【００７９】
【数８】
0006606849.tif 000009
Ωｂ；このｂｉｎに分類された学習画像の集合
ｂ＝１〜２Ｓ
【００８０】
図１３は、構築した弱識別器ｒｋのある葉ノード５１において移動量を求める様子を示す図である。図に示すように葉ノード５１において各ｂｉｎ（Ω１、Ω２）に分類された学習画像Ｉ１、学習画像Ｉ２に基づいて移動量ΔＳｋ１、ΔＳｋ２を算出する。
【００８１】
制御部１１は、弱識別器ｒｋの全ての葉ノード５１において、移動量ΔＳｋ１、ΔＳｋ２を算出し、算出した移動量を、弱識別器ｒｋの出力値（回帰結果）として保存しておく。後述する推定処理では、ここで保存したＦｅｒｎ木（弱識別器）ｒｋの出力値を取得して顔器官位置の推定を行う。
【００８２】
オブジェクト位置の検出時には、制御部１１は、算出した移動量に基づいて、各学習画像Ｉｉ（ｉ＝１〜Ｎ）の顔器官の現在推定されている位置Ｓｉｋ−１を数式９のように更新する。各学習画像の移動量は、前述したように各学習画像が葉ノードにおいて最終分類されたｂｉｎ毎に算出された移動量である。
【００８３】
【数９】
0006606849.tif 000010
【００８４】
また、制御部１１は、構築した識別器を用いて学習画像における学習値の更新を行うことでラウンドエラーｅｒｏｕｎｄを下記の数式で評価し（ステップＳ１１）、ラウンド学習（弱識別器の学習）の終了判定を行う。
【００８５】
【数１０】
0006606849.tif 000011
【００８６】
ラウンドエラーｅｒｏｕｎｄは、現在のステージｔ内（強識別器４−ｔ（Ｒｔ内））で、入力された各学習画像Ｉｉの現在位置Ｓｉｔ−１が正解位置Ｓ※ｉまでどのくらい近づいたかを、学習画像Ｉｉの初期位置Ｓ０ｉと正解位置Ｓ※ｉとの距離を基準とした割合で表したものである。制御部１１は、各ステージで、予め設定した学習目標値（現在位置を正解位置にどのくらい近づけるかの割合）と比較し、学習を続行するか、或いは学習を終了するかを判断する。
【００８７】
ｅｒｏｕｎｄ＜学習目標値の場合（ステップＳ１２；Ｎｏ）、次の学習ラウンドへ移行し（ｋ←ｋ＋１、ステップＳ２７）、Ｆｅｒｎ木（弱識別器）の学習を続行する。一方、ｅｒｏｕｎｄ≧学習目標値の場合（ステップＳ１２；Ｙｅｓ）、そのステージのＦｅｒｎ木（弱識別器）の学習を終了し、学習したＦｅｒｎ木（弱識別器）ｒ１，…，ｒｋに基づいて強識別器Ｒｔを構築する（ステップＳ１４）。
このように、ステージ毎に設定した学習目標値に応じて、Ｆｅｒｎ木（弱識別器）の最適な接続数（学習ラウンド数）が動的に決定される。
【００８８】
現在のステージｔの学習が終了した場合（ステップＳ１２；Ｙｅｓ）、制御部１１は、更に、学習の収束状態を表す指標であるステージエラーｅｓｔａｇｅを数式１１で評価し（ステップＳ１５）、ステージ学習（強識別器の学習）の終了判定を行う（なお、下記式は、現在のステージｔがｔ＞＝３の場合に有効である）。
【００８９】
【数１１】
0006606849.tif 000012
【００９０】
ここで、ｅｓｔａｇｅ＜１の場合（ステップＳ１６；Ｎｏ）、制御部１１は、学習が未収束と判断し学習ステージｔをインクリメントし（ｔ←ｔ＋１、ステップＳ１７）、次の強識別器の学習ステージへ移行する（ステップＳ４に戻る）。一方、ｅｓｔａｇｅ≧１の場合（ステップＳ１６；Ｙｅｓ）、制御部１１は、学習が収束済みと判断し強識別器の学習を終了する。
【００９１】
強識別器の学習が終了すると、制御部１１は、学習した強識別器（Ｒ１，…，Ｒｔ）から識別器３を構築し、記憶部１２に格納する（ステップＳ１８）。
【００９２】
以上、本実施形態に係る識別器生成装置１の学習処理について詳細に説明した。
【００９３】
＜推定動作＞
次に、図１４のフローチャートを参照しながら、本実施形態に係る推定装置２が、顔画像から顔器官位置を推定する顔器官推定処理について説明する。推定装置２の記憶部１２には、識別器生成装置２が生成した識別器３が格納されているものとする。
【００９４】
推定装置２の制御部１１は、推定対象である入力画像Ｉ、顔器官の初期位置Ｓ０、顔方向情報Ｄを含む入力データを受付ける（ステップＳ３１）。また、制御部１１は、入力された顔方向情報Ｄに対応する識別器３を選択し読込む（ステップＳ３２）。
【００９５】
図１５（ａ）は入力データを表し、図１５（ｂ）は選択された識別器３を表す。図１５（ａ）に示すように、入力データとして入力画像Ｉ、顔器官の初期位置Ｓ０、また、顔方向情報Ｄ（“正面”）が与えられている。この場合、図１５（ｂ）に示すように、制御部１１は、顔方向情報Ｄ（“正面”）に対応する識別器３−１を選択する。なお、初期位置Ｓ０とは、入力画像Ｉにおいて推定対象となるオブジェクトの任意の予測位置である。
【００９６】
制御部１１は、識別器３の強識別器Ｒｔによる推定ステージｔのインデクスを初期化し（ｔ＝１、ステップＳ３３）、また、推定ステージ内のＦｅｒｎ木（弱識別器）ｒｋによる推定ラウンドｋを初期化する（ｋ＝１、ステップＳ３４）。
【００９７】
制御部１１は、入力画像Ｉと前回の位置Ｓｋ−１（最初は初期位置Ｓ０）を弱識別器ｒｋへ入力し、弱識別器の学習済パラメータ（特徴と閾値）を参照して入力画像Ｉを分類し、その出力値として移動量ΔＳｋ（＝ｒｋ（Ｉ，Ｓｋ−１））を取得する（ステップＳ３５）。
そして、制御部１１は、取得した移動量ΔＳｋと前回の位置Ｓｋ−１から、現在位置を次のように移動させる（ステップＳ３６）。
【００９８】
【数１２】
0006606849.tif 000013
【００９９】
弱識別器ｒｋが、強識別器Ｒｔ内の最後の弱識別器でない場合（ステップＳ３７；Ｎｏ）、制御部１１は、推定ラウンドｋをインクリメントし（ｋ←ｋ＋１、ステップＳ３８）、次の弱識別器による推定処理を続行する。
一方、弱識別器ｒｋが、強識別器Ｒｔ内の最後の弱識別器の場合（ステップＳ３７；Ｙｅｓ）、更に、強識別器Ｒｔが識別器３の最後の強識別器か否かを判断する（ステップＳ３９）。
【０１００】
強識別器Ｒｔが識別器３の最後の強識別器でない場合（ステップＳ３９；Ｎｏ）、制御部１１は、推定ステージｔをインクリメントし（ｔ←ｔ＋１、ステップＳ４０）、ステップＳ４に戻り、次の強識別器による推定処理に移行する。
【０１０１】
一方、強識別器Ｒｔが識別器３の最後の強識別器の場合（ステップＳ３９；Ｙｅｓ）、制御部１１は、推定処理を終了し、推定結果を出力する（ステップＳ４１）。
【０１０２】
図１６は、顔器官の推定結果を示す図である。図に示すように、出力画像Ｅ上に顔器官の最終的な推定位置ＳＴが算出されてプロット表示される。
【０１０３】
以上、添付図面を参照しながら、本発明に係る識別器生成装置１、推定装置２等の好適な実施形態について説明したが、本発明はかかる例に限定されない。例えば、本発明は以下の変形例等を含む。
【０１０４】
例えば、木の深さを動的に決めることも可能である。例えば、あらかじめ目標値を与えその目標値を満たすまで木の深さを増していき、最適な深さを動的に決定することも可能である。
【０１０５】
また、本発明の弱識別器はＦｅｒｎ木である必要は必ずしもない。例えば、特徴の候補に、ＮＵＬＬ候補（特徴を選択しない場合）を加えると、動的計画法でＦｅｒｎ木でない木構造の弱識別器を構築することが可能である。その他、手動で、不要な枝を剪定することで、Ｆｅｒｎ木ではない木構造を構築できる。
【０１０６】
また、識別器生成装置１の制御部１１は、ステップＳ２において複数の異なる初期位置を学習画像に対して設定することで、識別器３を学習するための学習データ数を擬似的に増加させるようにしてもよい。例えば、Ｎ個の学習画像に対して３パターンの異なる初期位置を設定することで、学習データ数を３倍に増加させることができる。
【０１０７】
また、一般的にリグレッションベース手法では、初期位置の与え方によって推定結果の良し悪しが変動する傾向がある。そこで、推定装置２の制御部１１は、推定ラウンドが所定ラウンド進んだ時点（概ね全推定ラウンドの１割程度進んだ時点）で、初期位置の妥当性を判断し、妥当でないと判断した場合には別の初期位置で推定処理をやり直すようにしてもよい。具体的には、初期位置の妥当性判断を行う推定ステージのインデクスがｔの場合、強識別器４−ｔ（Ｒｔ）に入力される入力位置Ｓｔ−１と出力される出力位置Ｓｔの変位量の分散を算出し、変位量の分散が所定の閾値より小さければ、与えた初期位置は妥当（良い推定解へ収束する可能性が高い）と判断する。一方、閾値より大きければ、与えた初期位置は妥当でない（良い推定解へ収束する可能性が低い）と判断する。なお、上記の変位量とは、具体的には、ステップＳ３５において推定される当該強識別器４−ｔ（Ｒｔ）内の各弱識別器５の変位量の和に相当する。
【０１０８】
また、本実施形態では、Ｓｈａｐｅ−Ｉｎｄｅｘに基づく特徴を用いたが、これに限らず、Ｈａａｒ−Ｌｉｋｅ、ＳＩＦＴ、ＳＵＲＦ等の他の特徴（特徴量）を用いてもよい。
【０１０９】
その他、当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【０１１０】
１；識別器生成装置
２；推定装置
３；識別器、回帰関数
４、Ｒ；強識別器、回帰関数
５、ｒ；Ｆｅｒｎ木（弱識別器）、回帰関数
５１；葉ノード
６Ａ、６Ｂ；Ｓｈａｐｅ−Ｉｎｄｅｘ
Ｈ；ヒストグラム
δ；閾値
７Ｇｒ；Ｆｅｒｎ候補グラフ
７ｎ；Ｆｅｒｎ候補グラフ７Ｇｒのノード
７ｅ；Ｆｅｒｎ候補グラフ７Ｇｒのエッジ
Ｉｉ；学習画像
Ｉ；入力画像
Ｅ；出力画像
Ｄ；顔方向情報
Ｓ；位置
１１；制御部
１２；記憶部
１３；メディア入出力部
１４；通信制御部
１５；入力部
１６；表示部
１７；周辺機器Ｉ/Ｆ部
１８；バス
【図１】
0006606849.tif 000014
【図２】
0006606849.tif 000015
【図３】
0006606849.tif 000016
【図４】
0006606849.tif 000017
【図５】
0006606849.tif 000018
【図６】
0006606849.tif 000019
【図７】
0006606849.tif 000020
【図８】
0006606849.tif 000021
【図９】
0006606849.tif 000022
【図１０】
0006606849.tif 000023
【図１１】
0006606849.tif 000024
【図１２】
0006606849.tif 000025
【図１３】
0006606849.tif 000026
【図１４】
0006606849.tif 000027
【図１５】
0006606849.tif 000028
【図１６】
0006606849.tif 000029