(57)【特許請求の範囲】
【請求項１】
複数のトレーニングサンプルごとの初期特徴点と特徴点との変位を表す複数の第１変位ベクトルに基づいて決定される複数の第２ベクトルを記憶する記憶部と、
初期特徴点が設定された入力画像を入力する入力部と、
前記入力画像に複数の識別器を適用し、複数の識別器ごとに、識別されたクラスに対応するラベル情報を決定する識別部と、
複数の識別器ごとに決定された複数の前記ラベル情報を加算して加算情報を求める加算部と、
前記入力画像に設定された前記初期特徴点、前記加算情報、及び、前記第２ベクトルに基づいて、前記入力画像の特徴点を検出する検出部と、を備え、
前記複数の第２ベクトルは、前記複数の第１変位ベクトルより小さな記憶領域に記憶可能である、
特徴点検出装置。
【請求項２】
前記第２ベクトルは、複数の前記第１変位ベクトルを近似した複数の第２変位ベクトルを表現するための、複数の前記第２変位ベクトルそれぞれに共通の第２変位座標ベクトルであり、
複数の前記第２変位ベクトルを表現するための、複数の前記第２変位ベクトルそれぞれに固有の第２変位ラベルベクトルを記憶する変位ラベル記憶部をさらに備え、
前記識別部は、識別されたクラスに対応する前記第２変位ラベルベクトルを、前記ラベル情報として前記変位ラベル記憶部から取得し、
前記加算部は、複数の前記第２変位ラベルベクトルを加算した加算ラベルベクトルを前記加算情報として求め、
前記検出部は、前記入力画像に設定された前記初期特徴点、前記加算ラベルベクトル、及び、前記第２変位座標ベクトルに基づいて、前記入力画像の特徴点を検出する、
請求項１に記載の特徴点検出装置。
【請求項３】
前記検出部は、前記加算ラベルベクトルに前記第２変位座標ベクトルを乗じることで、前記入力画像のＤ個の初期特徴点それぞれと対応する前記Ｄ個の特徴点それぞれとの変位を並べた第３変位ベクトルを求め、前記入力画像の前記Ｄ個の初期特徴点を並べたベクトルに加算して、前記入力画像の前記Ｄ個の特徴点を検出する請求項２に記載の特徴点検出装置。
【請求項４】
Ｋ×Ｔ個の第２変位座標ベクトルは、前記Ｋ×Ｔ個の第１変位ベクトルを主成分分析して計算され、前記Ｋ×Ｔ個の第２変位ラベルベクトルは、当該第２変位座標ベクトルに基づく空間に前記Ｋ×Ｔ個の第１変位ベクトルを射影して求められる請求項２に記載の特徴点検出装置。
【請求項５】
前記第２変位座標ベクトルは、Ｋ×Ｔ個の第１変位ベクトルを含む部分空間に対して張られる線形独立な基底ベクトルの集合であり、
前記第２変位ラベルベクトルは、前記各基底ベクトルに対する線形係数を並べたものであり、
前記検出部は、前記加算ラベルベクトルを前記第２変位座標ベクトルと線形結合することで、前記第３変位ベクトルを求める請求項３に記載の特徴点検出装置。
【請求項６】
Ｋ×Ｔ個の前記第２変位座標ベクトルは、前記Ｋ×Ｔ個の第１変位ベクトルの線形和、分散、及び順序統計量の少なくともいずれかを尺度として計算される請求項２に記載の特徴点検出装置。
【請求項７】
Ｄ個の特徴点が検出された前記入力画像を出力する出力部を更に備える請求項１に記載の特徴点検出装置。
【請求項８】
Ｄ個の特徴点が検出された前記入力画像を解析する解析部と、
解析結果を出力する出力部と、
を更に備える請求項１に記載の特徴点検出装置。
【請求項９】
前記第２ベクトルは、複数の前記トレーニングサンプルを振り分ける複数の組を代表する前記第１変位ベクトルを表す第２変位ベクトルであり、
前記識別部は、識別されたクラスを示すラベル情報を決定し、
前記加算部は、複数の前記ラベル情報の出現数を表す前記加算情報を求め、
前記検出部は、前記入力画像に設定された前記初期特徴点、前記加算情報、及び、前記第２変位ベクトルに基づいて、前記入力画像の特徴点を検出する、
請求項１に記載の特徴点検出装置。
【請求項１０】
前記検出部は、複数の前記第２変位ベクトルそれぞれ毎に対応する前記加算情報を乗じ、対応する前記加算情報が乗じられた各第２変位ベクトルを加算して、前記入力画像のＤ個の初期特徴点それぞれと対応する前記Ｄ個の特徴点それぞれとの変位を並べた第３変位ベクトルを求め、前記入力画像の前記Ｄ個の初期特徴点を並べたベクトルに加算して、前記入力画像の前記Ｄ個の特徴点を検出する請求項９に記載の特徴点検出装置。
【請求項１１】
前記組は、クラスタであり、
Ｎ個の前記トレーニングサンプルは、Ｎ個の前記第１変位ベクトルそれぞれの距離を用いて、Ｌ個のクラスタにクラスタリングされる請求項９に記載の特徴点検出装置。
【請求項１２】
前記第２変位ベクトルは、前記Ｌ個のクラスタそれぞれ毎に、当該クラスタに振り分けられたトレーニングサンプルの第１変位ベクトルの距離の線形和、分散、及び順序統計量の少なくともいずれかを尺度に用いて決定される請求項１１に記載の特徴点検出装置。
【請求項１３】
複数のトレーニングサンプルごとの初期特徴点と特徴点との変位を表す複数の第１変位ベクトルに基づいて決定される複数の第２ベクトルを記憶部に記憶する記憶ステップと、
初期特徴点が設定された入力画像を入力する入力ステップと、
前記入力画像に複数の識別器を適用し、複数の識別器ごとに、識別されたクラスに対応するラベル情報を決定する識別ステップと、
複数の識別器ごとに決定された複数の前記ラベル情報を加算して加算情報を求める加算ステップと、
前記入力画像に設定された前記初期特徴点、前記加算情報、及び、前記第２ベクトルに基づいて、前記入力画像の特徴点を検出する検出ステップと、を含み、
前記複数の第２ベクトルは、前記複数の第１変位ベクトルより小さな記憶領域に記憶可能である、
特徴点検出方法。
【請求項１４】
複数のトレーニングサンプルごとの初期特徴点と特徴点との変位を表す複数の第１変位ベクトルに基づいて決定される複数の第２ベクトルを記憶部に記憶する記憶ステップと、
初期特徴点が設定された入力画像を入力する入力ステップと、
前記入力画像に複数の識別器を適用し、複数の識別器ごとに、識別されたクラスに対応するラベル情報を決定する識別ステップと、
複数の識別器ごとに決定された複数の前記ラベル情報を加算して加算情報を求める加算ステップと、
前記入力画像に設定された前記初期特徴点、前記加算情報、及び、前記第２ベクトルに基づいて、前記入力画像の特徴点を検出する検出ステップと、をコンピュータに実行させ、
前記複数の第２ベクトルは、前記複数の第１変位ベクトルより小さな記憶領域に記憶可能である、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、特徴点検出装置、方法及びプログラムに関する。
【背景技術】
【０００２】
入力画像に映る人間の顔から目、鼻、及び口等の特徴点を検出するなど、入力画像に映る物体の特徴点を検出する技術が知られている。このような特徴点検出技術として、以下のような技術が知られている。
【０００３】
例えば、入力画像に映る物体上のＤ（Ｄ≧１）個の真の特徴点を検出するとする。この場合、入力画像に映る物体にＤ（Ｄ≧１）個の初期特徴点を設定する。Ｄ個の初期特徴点は、それぞれ、Ｄ個の真の特徴点に対応する特徴点である。
【０００４】
そして、Ｔ（Ｔ≧１）個のＫ（Ｋ≧２）クラス識別器それぞれが、入力画像をＫクラスのいずれかに識別し、識別したクラスの変位ベクトルを出力する。Ｋクラス識別器は、トレーニング（学習用）サンプルを用いて、初期特徴点座標に対して類似した画像パターンが同クラスに識別されるように事前に学習されたものである。各クラスの変位ベクトルは、クラスごとに分類されたトレーニングサンプルの初期特徴点座標が最も真の特徴点座標に近づくように計算されたベクトルである。
【０００５】
最後に、入力画像のＤ個の初期特徴点を並べた初期特徴点のベクトルに、Ｔ個の識別器から出力されたＴ個の変位ベクトルを逐次的に加算して更新していくことで、Ｄ個の初期特徴点それぞれを対応する真の特徴点に漸近的に近づけていき、Ｄ個の真の特徴点を検出する。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Ｘｕｄｏｎｇ  Ｃａｏ，  Ｙｉｃｈｅｎ  Ｗｅｉ，  Ｆａｎｇ  Ｗｅｎ，  Ｊｉａｎ  Ｓｕｎ  “Ｆａｃｅ  ａｌｉｇｎｍｅｎｔ  ｂｙ  Ｅｘｐｌｉｃｉｔ  Ｓｈａｐｅ  Ｒｅｇｒｅｓｓｉｏｎ．”  ＣＶＰＲ  ２０１２：  ２８８７−２８９４．
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述したような従来技術では、高次元のデータである変位ベクトルをＫ×Ｔ個記憶しておく必要がある。つまり、高次元のデータである変位ベクトルを大量に記憶しておく必要があり、記憶容量の増大を招いてしまう。
【０００８】
本発明が解決しようとする課題は、記憶容量を低減することができる特徴点検出装置、方法及びプログラムを提供することである。
【課題を解決するための手段】
【０００９】
実施形態の特徴点検出装置は、トレーニングデータ記憶部と、生成部と、識別器記憶部と、計算部と、変位ラベル記憶部と、変位座標記憶部と、入力部と、識別部と、加算部と、検出部と、を備える。トレーニングデータ記憶部は、サンプル画像の画像パターンと、当該サンプル画像に映る物体のＤ（Ｄ≧１）個の真の特徴点と、当該Ｄ個の真の特徴点に対応するＤ個の初期特徴点と、を対応付けたトレーニングサンプルのＮ（Ｎ≧２）個の集合であるトレーニングデータを記憶する。生成部は、前記トレーニングデータを用いて、前記サンプル画像の前記初期特徴点における画像パターンが類似するトレーニングサンプルをＫ（Ｋ≧２）クラスのうちの同一クラスに識別することが期待され、識別したクラスを示すクラス識別子を出力するＫクラス識別器を生成するとともに、当該Ｋクラス識別器を用いて、前記Ｎ個のトレーニングサンプルを前記Ｋクラスに識別し、クラス毎に、当該クラスに識別された各トレーニングサンプルのＤ個の初期特徴点をＤ個の真の特徴点に近づける第１変位ベクトルを求める生成処理を、Ｔ（Ｔ≧１）回繰り返す。識別器記憶部は、前記Ｔ個のＫクラス識別器を記憶する。計算部は、前記Ｋ×Ｔ個の第１変位ベクトルから、前記Ｋ×Ｔ個の第１変位ベクトルをそれぞれ近似した第２変位ベクトルを表現するための、前記Ｋ×Ｔ個の第２変位ベクトルそれぞれに固有の第２変位ラベルベクトルと前記Ｋ×Ｔ個の第２変位ベクトルそれぞれに共通の第２変位座標ベクトルとを計算する。変位ラベル記憶部は、前記Ｋ×Ｔ個の第２変位ラベルベクトルそれぞれに、当該第２変位ラベルベクトルの第２変位ベクトルに近似された第１変位ベクトルが求められたクラスのクラス識別子を対応付けて記憶する。変位座標記憶部は、前記第２変位座標ベクトルを記憶する。入力部は、Ｄ個の初期特徴点が設定された入力画像を入力する。識別部は、前記入力画像に前記Ｔ個のＫクラス識別器を適用し、Ｋクラス識別器毎に、当該Ｋクラス識別器から出力されたクラス識別子に対応付けられた第２変位ラベルベクトルを、前記変位ラベル記憶部から取得する。加算部は、前記Ｔ個の第２変位ラベルベクトルを加算して加算ラベルベクトルを求める。検出部は、前記入力画像に設定された前記Ｄ個の初期特徴点、前記加算ラベルベクトル、及び前記第２変位座標ベクトルに基づいて、前記入力画像のＤ個の真の特徴点を検出する。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態の特徴点検出装置の例を示す構成図。
【図２】第１実施形態のトレーニングデータの例を示す模式図。
【図３】第１実施形態の第０変位ベクトルの例を示す図。
【図４】第１実施形態の前処理例を示すフローチャート。
【図５】第１実施形態の後処理例を示すフローチャート。
【図６】第２実施形態の特徴点検出装置の例を示す構成図。
【図７】第２実施形態のクラスタの一例の説明図。
【図８】第２実施形態の頻度ヒストグラムの一例の説明図。
【図９】第２実施形態の前処理例を示すフローチャート。
【図１０】第２実施形態の後処理例を示すフローチャート。
【図１１】従来手法の説明図。
【図１２】変形例の特徴点検出装置の例を示す構成図。
【図１３】各実施形態及び各変形例の特徴点検出装置のハードウェア構成例を示す図。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照しながら、実施形態を詳細に説明する。
【００１２】
（第１実施形態）
図１は、第１実施形態の特徴点検出装置１０の一例を示す構成図である。図１に示すように、特徴点検出装置１０は、トレーニングデータ記憶部１１と、生成部１３と、識別器記憶部１５と、計算部１９と、変位ラベル記憶部２１と、変位座標記憶部２３と、入力部３１と、識別部３３と、加算部３５と、検出部３７と、出力部３９とを、備える。
【００１３】
トレーニングデータ記憶部１１、識別器記憶部１５、変位ラベル記憶部２１、及び変位座標記憶部２３は、例えば、ＨＤＤ（Hard  Disk  Drive）、ＳＳＤ（Solid  State  Drive）、メモリカード、光ディスク、ＲＡＭ（Random  Access  Memory）、及びＲＯＭ（Read  Only  Memory）などの磁気的、光学的、又は電気的に記憶可能な記憶装置により実現できる。
【００１４】
生成部１３、計算部１９、識別部３３、加算部３５、検出部３７、及び出力部３９は、例えば、ＣＰＵ（Central  Processing  Unit）などの処理装置にプログラムを実行させること、即ち、ソフトウェアにより実現してもよいし、ＩＣ（Integrated  Circuit）などのハードウェアにより実現してもよいし、ソフトウェア及びハードウェアを併用して実現してもよい。
【００１５】
入力部３１は、例えば、デジタルカメラ、ネットワークインターフェース、及び記憶媒体など画像を入力可能な装置により実現できる。
【００１６】
トレーニングデータ記憶部１１は、Ｋ（Ｋ≧２）クラス識別器を生成するためのトレーニングデータを記憶する。トレーニングデータは、Ｎ（Ｎ≧２）個のトレーニングサンプルの集合である。
【００１７】
トレーニングサンプルは、サンプル画像の画像パターンと、当該サンプル画像に映る物体のＤ（Ｄ≧１）個の真の特徴点と、当該Ｄ個の真の特徴点に対応するＤ個の初期特徴点と、を対応付けたものである。詳細には、トレーニングサンプルは、サンプル画像の画素値を並べた画像ベクトルＩと、当該サンプル画像に映る物体のＤ個の真の特徴点の座標を並べた真の特徴点ベクトルＹと、当該サンプル画像に映る物体のＤ個の初期特徴点の座標を並べた初期特徴点ベクトルＳと、を対応付けたものである。
【００１８】
なお、サンプル画像に映る物体とは、例えば、人の顔が挙げられる。また、真の特徴点とは、例えば、目、鼻、及び口等の特徴点が挙げられるが、これに限定されるものではない。また、初期特徴点とは、真の特徴点に対応する特徴点である。なお、初期特徴点は、Ｎ個のサンプル画像それぞれに共通であってもよいし、Ｎ個のサンプル画像それぞれに固有であってもよい。また、各サンプル画像の座標は、物体の中心座標や大きさによって正規化された共通の座標系によって表現されているものとする。このため、各サンプル画像のＤ個の真の特徴点の座標及びＤ個の初期特徴点の座標も、共通の座標系によって表現される。
【００１９】
図２は、第１実施形態のトレーニングデータの一例を示す模式図であり、トレーニングサンプル４１〜４３が示されている。トレーニングサンプル４１は、サンプル画像５１（詳細には、サンプル画像５１の画像ベクトルＩ）と、サンプル画像５１に映る物体（図示省略）の３個の真の特徴点５１Ａ〜５１Ｃ（詳細には、真の特徴点５１Ａ〜５１Ｃの座標を並べた真の特徴点ベクトルＹ）と、真の特徴点５１Ａ〜５１Ｃそれぞれに対応する初期特徴点６１Ａ〜６１Ｃ（詳細には、初期特徴点６１Ａ〜６１Ｃの座標を並べた初期特徴点ベクトルＳ）とを、対応付けたものである。トレーニングサンプル４２は、サンプル画像５２（詳細には、サンプル画像５２の画像ベクトルＩ）と、サンプル画像５２に映る物体（図示省略）の３個の真の特徴点５２Ａ〜５２Ｃ（詳細には、真の特徴点５２Ａ〜５２Ｃの座標を並べた真の特徴点ベクトルＹ）と、真の特徴点５２Ａ〜５２Ｃそれぞれに対応する初期特徴点６２Ａ〜６２Ｃ（詳細には、初期特徴点６２Ａ〜６２Ｃの座標を並べた初期特徴点ベクトルＳ）とを、対応付けたものである。トレーニングサンプル４３は、サンプル画像５３（詳細には、サンプル画像５３の画像ベクトルＩ）と、サンプル画像５３に映る物体（図示省略）の３個の真の特徴点５３Ａ〜５３Ｃ（詳細には、真の特徴点５３Ａ〜５３Ｃの座標を並べた真の特徴点ベクトルＹ）と、真の特徴点５３Ａ〜５３Ｃそれぞれに対応する初期特徴点６３Ａ〜６３Ｃ（詳細には、初期特徴点６３Ａ〜６３Ｃの座標を並べた初期特徴点ベクトルＳ）とを、対応付けたものである。
【００２０】
なお、初期特徴点は、所定のアルゴリズムに基づいて設定されてもよいし、物体に対する経験的な知識や知見を有するユーザからの操作入力により設定されてもよい。所定のアルゴリズムとしては、例えば、Ｎ個のサンプル画像それぞれから対応する真の特徴点を抽出し、抽出したＮ個の真の特徴点の座標の平均値を求め、Ｎ個のサンプル画像それぞれにおいて、求めた平均値の座標に初期特徴点を設定するアルゴリズムなどが挙げられる。
【００２１】
例えば、図２に示す例において、真の特徴点５１Ａ、５２Ａ、及び５３Ａが右目の真の特徴点であり、真の特徴点５１Ｂ、５２Ｂ、及び５３Ｂが左目の真の特徴点であり、真の特徴点５１Ｃ、５２Ｃ、及び５３Ｃが鼻の真の特徴点であるとする。
【００２２】
この場合、前述した所定のアルゴリズムにより、右目の真の特徴点として対応する真の特徴点５１Ａ、５２Ａ、及び５３Ａが抽出され、抽出された真の特徴点５１Ａ、５２Ａ、及び５３Ａの座標の平均値が求められ、サンプル画像５１〜５３における求められた平均値の座標に、それぞれ、右目の初期特徴点６１Ａ〜６３Ａが設定される。
【００２３】
同様に、前述した所定のアルゴリズムにより、左目の真の特徴点として対応する真の特徴点５１Ｂ、５２Ｂ、及び５３Ｂが抽出され、抽出された真の特徴点５１Ｂ、５２Ｂ、及び５３Ｂの座標の平均値が求められ、サンプル画像５１〜５３における求められた平均値の座標に、それぞれ、左目の初期特徴点６１Ｂ〜６３Ｂが設定される。
【００２４】
同様に、前述した所定のアルゴリズムにより、鼻の真の特徴点として対応する真の特徴点５１Ｃ、５２Ｃ、及び５３Ｃが抽出され、抽出された真の特徴点５１Ｃ、５２Ｃ、及び５３Ｃの座標の平均値が求められ、サンプル画像５１〜５３における求められた平均値の座標に、それぞれ、鼻の初期特徴点６１Ｃ〜６３Ｃが設定される。
【００２５】
なお、図２に示す例では、全てのトレーニングサンプル（トレーニングサンプル４１〜４３）において、真の特徴点の種類が３種類（Ｄ＝３）となっているが、全てのトレーニングサンプルにおいて真の特徴点の種類が同じである必要はない。トレーニングサンプル間で真の特徴点の種類が異なる場合、トレーニングサンプルにおける真の特徴点の数Ｄは、対応が付けられている真の特徴点の種類の総数とする。つまり、トレーニングサンプルによっては必ずしもＤ種類の真の特徴点が与えられているとは限らず、欠落や抜けがあっても構わない。トレーニングサンプルにおいて真の特徴点が欠損している場合、その真の特徴点が与えられていないという欠損フラグが当該トレーニングサンプルに設定される。そして、後述の生成部１３は、欠損フラグが設定されたトレーニングサンプルの真の特徴点を使用せずに処理を行う。
【００２６】
生成部１３は、生成処理（学習処理）をＴ（Ｔ≧１）回繰り返す。生成処理は、識別5668生成（学習）ステップと第１変位ベクトル算出（学習）ステップとから成る処理である。識別器生成ステップは、トレーニングデータ記憶部１１に記憶されたトレーニングデータを用いて、サンプル画像の初期特徴点における画像パターンが類似するトレーニングサンプルをＫ（Ｋ≧２）クラスのうちの同一クラスに識別することが期待されるＫクラス識別器を生成する（学習する）ステップである。第１変位ベクトル算出ステップは、識別器生成ステップで生成されたＫクラス識別器を用いてＮ個のトレーニングサンプルをＫクラスに識別し、クラス毎に、当該クラスに識別された各トレーニングサンプルのＤ個の初期特徴点をＤ個の真の特徴点に近づける第１変位ベクトルを求める（学習する）ステップである。
【００２７】
まず、識別器生成ステップについて説明する。識別器生成ステップでは、生成部１３は、トレーニングデータを用いて、初期特徴点ベクトルＳに対するサンプル画像の画像ベクトルＩが類似するトレーニングサンプルを、Ｋクラスのうちのなるべく同じクラスに識別するようなＫクラス識別器Ｒを生成する。識別器Ｒは、例えば、画像ベクトルＩから初期特徴点周辺の画像特徴量を抽出し、この特徴量の類似性を計算することで類似したサンプルを識別する。
【００２８】
なお、類似したトレーニングサンプルをなるべく同じクラスに識別する（分類する）識別器の生成手法については、非特許文献１に記載された手法を用いてもよいし、一般的に知られているＲａｎｄｏｍ  ＦｏｒｅｓｔやＳｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅなど、どのような手法を用いても構わない。
【００２９】
具体的には、識別器生成ステップで生成されるＫクラス識別器Ｒは、トレーニングサンプルの画像ベクトルＩと初期特徴点ベクトルＳとを入力とし、入力されたＩがＫクラスのいずれに属するかを識別し、識別したクラスを示すクラス識別子ｃ（ｃは、１〜Ｋのいずれかの値）を出力する。なお、前述した通り、異なるトレーニングサンプルであっても、初期特徴点ベクトルＳと画像ベクトルＩの特徴とが類似すれば、両トレーニングサンプルは、同一クラスに識別されることが期待される。
【００３０】
次に、第１変位ベクトル算出ステップについて説明する。第１変位ベクトル算出ステップでは、生成部１３は、最初に、識別器生成ステップで生成されたＫクラス識別器Ｒを用いてＮ個のトレーニングサンプルをＫクラスに識別する。
【００３１】
ここで、クラス識別子ｃが示すクラス（以下、「クラスｃ」と称する場合もある）に識別されたトレーニングサンプルの個数をＮｃ（Ｎｃ≦Ｎ）とする。
【００３２】
クラスｃに識別されたＮｃ個のトレーニングサンプルのサンプル画像は、互いに類似した画像パターンを持つことが期待されることから、真の特徴点及び初期特徴点の配置についても比較的類似する可能性が高いことが期待される。このため、Ｎｃ個のサンプル画像全体に対して真値との誤差の総和を減少させる、つまり、初期特徴点ベクトルＳを真の特徴点ベクトルＹ（真値）に漸近させられる単一の有意な変位を求めることができると考えられる。
【００３３】
そこで、生成部１３は、数式（１）を用いて、クラスｃ毎に、当該クラスｃに識別されたＮｃ個のトレーニングサンプルそれぞれの初期特徴点ベクトルＳｉを真の特徴点ベクトルＹｉに漸近させられる第１変位ベクトルＸｃを求める。なお、初期特徴点ベクトルＳｉはトレーニングサンプルｉの初期特徴点ベクトルであり、真の特徴点ベクトルＹｉはトレーニングサンプルｉの新の特徴点ベクトルであり、ｉは、１〜Ｎｃのいずれかの値を示す。
【００３４】
【数１】
0006325405.tif 000002
【００３５】
なお、数式（１）を満たすＸｃは、数式（２）に示すように（Ｙｉ−Ｓｉ）の平均から容易に求めることができる。
【００３６】
【数２】
0006325405.tif 000003
【００３７】
ここで、図３を参照して、トレーニングサンプルｉの真の特徴点ベクトルＹｉと初期特徴点ベクトルＳｉとの差である第０変位ベクトル（Ｙｉ−Ｓｉ）について説明する。図３は、第１実施形態の第０変位ベクトルの一例を示す図であり、トレーニングサンプル４１を例に取り示している。図３に示すトレーニングサンプル４１の場合、初期特徴点６１Ａと真の特徴点５１Ａとの残差ベクトルである変位７１Ａ、初期特徴点６１Ｂと真の特徴点５１Ｂとの残差ベクトルである変位７１Ｂ、及び初期特徴点６１Ｃと真の特徴点５１Ｃとの残差ベクトルである変位７１Ｃを並べたものが第０変位ベクトルとなる。
【００３８】
なお第１実施形態では、初期特徴点の座標及び真の特徴点の座標は、いずれも２次元座標（ｘ，ｙ）であることを想定しているため、真の特徴点ベクトルＹ、初期特徴点ベクトルＳ、及び第１変位ベクトルＸｃは、いずれも２×Ｄ次元のベクトルである。
【００３９】
以上説明したように、生成部１３は、生成処理を１回行うことで、１個のＫクラス識別器とＫ個の第１変位ベクトルとを生成する。そして生成部１３は、生成処理をＴ回繰り返すので、最終的にＴ個のＫクラス識別器とＴ×Ｋ個の第１変位ベクトルとを生成する。
【００４０】
これは、生成部１３により生成されたＫクラス識別器を、真の特徴点が未知である入力画像に適用する場合、Ｋクラス識別器が単一では、当該Ｋクラス識別器により識別されたクラスの第１変位ベクトルが当該入力画像に最適な第１変位ベクトルとなるとは限らないためである。つまり、単一の識別器では、どのような入力画像に対しても当該入力画像に最適な第１変位ベクトルを返すことは困難であり、一般的には、複数のＫクラス識別器（詳細には、精度の低い弱識別器）それぞれの出力を組み合わせることで、このような問題に対処するためである。
【００４１】
なお、生成処理をＴ回繰り返す結果、似た特性を持つＫクラス識別器が複数得られても冗長で効果が少ないため、Ｋクラス識別器が互いに類似しないこと、即ち、Ｋクラス識別器の相関が小さくなることが望ましい。このため、生成部１３は、ランダム性を取り入れて各Ｋクラス識別器を生成するようにすればよい。このようにすれば、同じトレーニングデータからＫクラス識別器を複数回生成しても、類似したＫクラス識別器が生成されてしまうことを防ぐことができる。
【００４２】
このようなランダム性を取り入れる手法としては、例えば非特許文献１には、第０変位ベクトルをランダム行列で定義された空間上に一度射影したのちに最小化問題を解くことで識別器間の相関を低減する手法が開示されている。但し、識別器間の相関を低減する手法は、これに限定されず、例えば、Ｎ個のトレーニングサンプルからランダムにＮ’（Ｎ’＜Ｎ）個のトレーニングサンプルを選択して生成処理を行うことで、類似したＫクラス識別器が生成されないようにする手法などを採用してもよい。
【００４３】
また、生成処理をＴ回繰り返して得られたＴ×Ｋ個の第一変位ベクトルに従って、Ｎ個のトレーニングサンプルの初期特徴点の座標を更新し、上述した生成処理で説明した生成アルゴリズムを再適用するようにしてもよい。例えば、ｉ番目のトレーニングサンプルの初期特徴点の座標の更新は、数式（３）により実現できる。
【００４４】
【数３】
0006325405.tif 000004
【００４５】
ここでＸＣｉｔは、ｔ回目の生成処理で生成されたＫクラス識別器Ｒｔでｉ番目のトレーニングサンプルが識別されたクラスＣｉの第１変位ベクトルである。つまり、数式（３）は、ｉ番目のトレーニングサンプルの初期特徴点ベクトルＳｉに、各回の生成処理で生成されたＫクラス識別器Ｒｔでｉ番目のトレーニングサンプルが識別されたクラスＣｉの第１変位ベクトルを加算することで、更新後の初期特徴点ベクトルＳｉ’が得られる。
【００４６】
そして全てのトレーニングサンプルに数式（３）を適用して、全てのＳｉをＳｉ’に更新し、更新後のＳｉ’を初期特徴点ベクトルＳｉとして、上述した生成処理で説明した生成アルゴリズムを適用する。なお、トレーニングサンプルの画像ベクトルＩや真の特徴点ベクトルＹについては、そのまま用いればよい。
【００４７】
これにより、初期特徴点は、対応する真の特徴点に近づいた状態になるので、より精密な生成処理を行うことができる。
【００４８】
識別器記憶部１５は、生成部１３により生成されたＴ個のＫクラス識別器を記憶する。
【００４９】
計算部１９は、Ｋ×Ｔ個の第１変位ベクトルから、Ｋ×Ｔ個の第１変位ベクトルをそれぞれ近似した第２変位ベクトルを表現するための、Ｋ×Ｔ個の第２変位ベクトルそれぞれに固有の第２変位ラベルベクトルとＫ×Ｔ個の第２変位ベクトルそれぞれに共通の第２変位座標ベクトルとを計算する。
【００５０】
前述したとおり、第１変位ベクトルは２×Ｄ次元のデータであり、Ｄの値が大きくなるほど高次元化するデータであるため、生成部１３により得られたＫ×Ｔ個の第１変位ベクトルをそのまま保持すると、第１変位ベクトルの保持のために大量の記憶容量（例えば、メモリ量）を確保する必要があり、コストの増大を招いてしまう。
【００５１】
このため第１実施形態では、Ｋ×Ｔ個の第１変位ベクトルを保持する代わりにＫ×Ｔ個の第２変位ラベルベクトルと、第２変位座標ベクトルとを保持することで必要な記憶容量を削減する。なお、第２変位ベクトルは、近似された第１変位ベクトルよりも低次元のベクトルであるため、このような対応により記憶容量を削減できる。
【００５２】
第１実施形態では、計算部１９は、Ｋ×Ｔ個の第１変位ベクトルを主成分分析して、第２変位座標ベクトルを計算する。なお、第２変位座標ベクトルを計算する際の尺度は、主成分分析に限定されず、Ｋ×Ｔ個の第１変位ベクトルの線形和、分散、及び順序統計量の少なくともいずれかとしてもよい。第２変位座標ベクトルは、Ｋ×Ｔ個の第１変位ベクトルを含む部分空間に対して張られる線形独立な基底ベクトルの集合である。そして計算部１９は、第２変位座標ベクトルに基づく空間にＫ×Ｔ個の第１変位ベクトルを射影することで、Ｋ×Ｔ個の第２変位ラベルベクトルを求める。第２変位ラベルベクトルは、各基底ベクトルに対する線形係数を並べたものである。なお、Ｋ×Ｔ個の第２変位ラベルベクトルの値は、互いに異なる。
【００５３】
具体的には、計算部１９は、Ｋ×Ｔ個の第１変位ベクトルを主成分分析し、複数の固有ベクトルを得る。そして計算部１９は、得られた複数の固有ベクトルのうち、固有値が大きい方から順にＭ（Ｍ＜ｍｉｎ（２×Ｄ、Ｔ×Ｋ））本の固有ベクトルを、Ｋ×Ｔ個の第１変位ベクトルが含まれる部分空間に対して張られる基底ベクトルとする。この場合、Ｍ本の基底ベクトルの集合が第２変位座標ベクトルとなる。更に計算部１９は、Ｍ本の基底ベクトルで張られる空間に対してＫ×Ｔ個の第１変位ベクトルを射影することで、Ｋ×Ｔ個の第２変位ラベルベクトルを得る。この場合、第２変位ラベルベクトルは、Ｍ本の基底ベクトルそれぞれに対する線形係数を並べたものとなる。なお、各線形係数はスカラーである。また、ｍｉｎ（２×Ｄ、Ｔ×Ｋ）は、２×Ｄ及びＴ×Ｋのうち小さい方の値を返す関数である。
【００５４】
Ｋ×Ｔ個の第１変位ベクトルは、それぞれ、Ｍ本の基底ベクトルの線形結合（線形和）で第２変位ベクトルに近似できるため（但し、第１変位ベクトル毎に、線形結合の係数は異なる）、Ｋ×Ｔ個の第１変位ベクトルのうちの任意の第１変位ベクトルの場合、数式（４）により第２変位ベクトルに近似される。
【００５５】
【数４】
0006325405.tif 000005
【００５６】
ここで、Ｘは、任意の第１変位ベクトルを表し、ｖ１〜ｖＭは、Ｍ本の基底ベクトルを表し、ａ１〜ａＭは、それぞれ、前述の任意の第１変位ベクトルＸをｖ１〜ｖＭで張られる空間に射影することで、得られる係数である。なお、ｖ１〜ｖＭの集合が第２変位座標ベクトルであり、ａ１〜ａＭを並べたベクトルが第２変位ラベルベクトルである。
【００５７】
変位ラベル記憶部２１は、計算部１９により計算されたＫ×Ｔ個の第２変位ラベルベクトルそれぞれに、当該第２変位ラベルベクトルの第２変位ベクトルに近似された第１変位ベクトルが求められたクラスのクラス識別子を対応付けて記憶する。なお、変位ラベル記憶部２１は、計算部１９により計算されたＫ×Ｔ個の第２変位ラベルベクトルそれぞれに、当該第２変位ラベルベクトルの第２変位ベクトルに近似された第１変位ベクトルを求める際に用いられたＫクラス識別器の識別器識別子と、当該第１変位ベクトルが求められたクラスのクラス識別子と、を対応付けて記憶してもよい。
【００５８】
変位座標記憶部２３は、計算部１９により計算された第２変位座標ベクトルを記憶する。
【００５９】
第１変位ベクトルをそのまま記憶する場合、第１変位ベクトルの次元数は２×Ｄ、第１変位ベクトルの総数はＫ×Ｔであるため、２×Ｄ×Ｋ×Ｔサイズ分の記憶容量が必要になる。
【００６０】
これに対し、第１実施形態では、第１変位ベクトルをそのまま記憶するのではなく、計算部１９により計算された第２変位ラベルベクトル及び第２変位座標ベクトルを記憶する。ここで、第２変位ラベルベクトルの次元数はＭ、第２変位ラベルベクトルの総数はＫ×Ｔであり、第２変位座標ベクトルの次元数はＭ×２×Ｄ（基底ベクトルの次元数は２×Ｄ）、第２変位座標ベクトルの総数は１であるため、Ｍ×Ｋ×Ｔ＋Ｍ×２×Ｄサイズ分の記憶容量で足りる。
【００６１】
入力部３１は、入力画像を入力する。入力画像は、真の特徴点検出対象の物体が映る画像であり、Ｄ個の真の特徴点それぞれに対応する初期特徴点（初期特徴点ベクトルＳ）が予め設定されている。但し、検出対象のＤ個の真の特徴点は当然未知である（設定されていない）。入力画像へのＤ個の初期特徴点の設定は、例えば、トレーニングデータ記憶部１１で説明した手法や、従来から存在する特徴点検出技術を用いて設定することができる。入力画像に映る真の特徴点検出対象の物体とは、例えば、人の顔が挙げられ、Ｄ個の真の特徴点とは、例えば、目、鼻、及び口等の特徴点が挙げられるが、これに限定されるものではない。また、入力画像の座標は、物体の中心座標や大きさによって正規化され、サンプル画像の座標系と共通の座標系によって表現されているものとする。このため、入力画像のＤ個の初期特徴点の座標も、サンプル画像の座標系と共通の座標系によって表現される。
【００６２】
なお入力画像は、画像上に映る物体とは関係のない背景などを取り除いた画像としてもよい。背景除去は、例えば、従来から存在する物体検出技術などにより、入力画像上に映る物体を検出し、検出した物体外の領域を除去するなどすればよい。
【００６３】
識別部３３は、入力部３１から入力された入力画像に識別器記憶部１５に記憶されているＴ個のＫクラス識別器を適用し、Ｋクラス識別器毎に、当該Ｋクラス識別器から出力されたクラス識別子に対応付けられた第２変位ラベルベクトルを、変位ラベル記憶部２１から取得する。例えば、識別部３３は、Ｋクラス識別器毎に、当該Ｋクラス識別器から出力されたクラス識別子と、当該Ｋクラス識別器の識別器識別子に対応付けられた第２変位ラベルベクトルを、変位ラベル記憶部２１から取得する。
【００６４】
なお、各Ｋクラス識別器は、トレーニングサンプルの場合と同様、入力画像の画像パターン（画像ベクトルＩ）と初期特徴点ベクトルＳとが入力されると、入力されたＩがＫクラスのいずれに属するかを識別し、識別したクラスを示すクラス識別子ｃを出力する。
【００６５】
加算部３５は、識別部３３により取得されたＴ個の第２変位ラベルベクトルを加算して加算ラベルベクトルを求める。
【００６６】
検出部３７は、入力部３１から入力された入力画像に設定されたＤ個の初期特徴点、加算部３５により加算された加算ラベルベクトル、及び変位座標記憶部２３に記憶されている第２変位座標ベクトルに基づいて、入力画像のＤ個の真の特徴点を検出する。
【００６７】
具体的には、検出部３７は、加算ラベルベクトルに第２変位座標ベクトルを乗じることで、入力画像のＤ個の初期特徴点それぞれと対応するＤ個の真の特徴点それぞれとの変位を並べた第３変位ベクトルを求める。詳細には、検出部３７は、加算ラベルベクトルを第２変位座標ベクトルと線形結合することで、第３変位ベクトルを求める。そして検出部３７は、求めた第３変位ベクトルを入力画像のＤ個の初期特徴点を並べた初期特徴点ベクトルに加算して、入力画像のＤ個の真の特徴点を検出する（求める）。
【００６８】
第１実施形態では、識別部３３によりＴ個の第２変位ラベルベクトルが得られているため、入力画像のＤ個の初期特徴点を並べた初期特徴点のベクトルに加算される第３変位ベクトルは、Ｔ個の第２変位ベクトルとなる。但し、Ｔ個の第２変位ベクトルにおいて、第２変位座標ベクトル（Ｍ本の基底ベクトルを並べたベクトル）は共通であり、第２変位ラベルベクトル（Ｍ個の係数を並べたベクトル）は、固有である。このため第１実施形態では、まず、Ｔ個の第２変位ラベルベクトルを加算し、その後に、第２変位座標ベクトルと線形結合する。
【００６９】
例えば、Ｔ個の第２変位ラベルベクトルが、｛ａ１１，…，ａ１Ｍ｝、…、｛ａＴ１，…，ａＴＭ｝であり、第２変位座標ベクトルが、｛ｖ１，…，ｖＭ｝であるとする。この場合、加算部３５は、Ｔ個の第２変位ラベルベクトルを加算して、｛（ａ１１＋…＋ａ１Ｍ），…，（ａＴ１＋…＋ａＴＭ）｝とした後に、検出部３７は、第２変位座標ベクトル｛ｖ１，…，ｖＭ｝と線形結合して、第３変位ベクトル｛（ａ１１＋…＋ａ１Ｍ）ｖ１，…，（ａＴ１＋…＋ａＴＭ）ｖＭ｝を求める。
【００７０】
第１実施形態では、上述した手法で第３変位ベクトルを求め、入力画像のＤ個の初期特徴点を並べた初期特徴点のベクトルに加算して、入力画像のＤ個の真の特徴点を検出するため、従来技術に比べ、入力画像のＤ個の真の特徴点を検出する際の加算処理回数を抑えられ、高速に検出処理を行うことが期待できる。
【００７１】
第１実施形の場合、入力画像のＤ個の真の特徴点の検出に必要な加算回数は、Ｔ×Ｍ回である。なお、第３変位ベクトルを求めるために必要な加算回数がＴ×（Ｍ−１）回であり、入力画像のＤ個の初期特徴点を並べた初期特徴点のベクトルに第３変位ベクトルを加算するために必要な加算回数がＴ回であり、合計Ｔ×Ｍ回である。
【００７２】
一方、従来技術の場合、入力画像のＤ個の初期特徴点を並べた初期特徴点のベクトルにＴ個の第１変位ベクトルを加算して、入力画像のＤ個の真の特徴点を検出する。ここで、第１変位ベクトルは、２×Ｄ次元のベクトルであるため、入力画像のＤ個の真の特徴点の検出に必要な加算回数は、Ｔ×２×Ｄ回となる。
【００７３】
出力部３９は、検出部３７によりＤ個の真の特徴点が検出された入力画像を出力する。例えば、出力部３９は、Ｄ個の真の特徴点が設定された入力画像を図示せぬ表示装置に表示出力したり、図示せぬ記憶装置に出力したりする。
【００７４】
図４は、第１実施形態の特徴点検出装置１０で行われる前処理の手順の流れの一例を示すフローチャートである。
【００７５】
まず、生成部１３は、トレーニングデータ記憶部１１に記憶されたトレーニングデータを用いて、サンプル画像の初期特徴点ベクトルＳに対する画像パターンが類似するトレーニングサンプルをＫクラスのうちの同一クラスに識別することが期待され、識別したクラスを示すクラス識別子を出力するＫクラス識別器を生成する（ステップＳ１０１）。
【００７６】
続いて、生成部１３は、生成されたＫクラス識別器を用いてＮ個のトレーニングサンプルをＫクラスに識別する（ステップＳ１０２）。
【００７７】
続いて、生成部１３は、クラス毎に、当該クラスに識別された各トレーニングサンプルのＤ個の初期特徴点をＤ個の真の特徴点に近づける第１変位ベクトルを求める（ステップＳ１０３）。
【００７８】
そして生成部１３は、ステップＳ１０１〜Ｓ１０３までの生成処理をＴ回行うまで繰り返す（ステップＳ１０４でＮｏ）。
【００７９】
生成部１３が生成処理をＴ回行うと（ステップＳ１０４でＹｅｓ）、計算部１９は、Ｋ×Ｔ個の第１変位ベクトルから、Ｋ×Ｔ個の第１変位ベクトルをそれぞれ近似した第２変位ベクトルを表現するための、Ｋ×Ｔ個の第２変位ベクトルそれぞれに固有の第２変位ラベルベクトルとＫ×Ｔ個の第２変位ベクトルそれぞれに共通の第２変位座標ベクトルとを計算する（ステップＳ１０５）。
【００８０】
図５は、第１実施形態の特徴点検出装置１０で行われる後処理の手順の流れの一例を示すフローチャートである。
【００８１】
まず、入力部３１は、真の特徴点検出対象の物体が映る入力画像を入力する（ステップＳ１１１）。
【００８２】
続いて、識別部３３は、入力部３１から入力された入力画像に識別器記憶部１５に記憶されているＴ個の識別器を適用し、Ｋクラス識別器毎に、当該Ｋクラス識別器から出力されたクラス識別子に対応付けられた第２変位ラベルベクトルを、変位ラベル記憶部２１から取得することで、Ｔ個の第２変位ラベルベクトルを得る（ステップＳ１１３）。
【００８３】
続いて、加算部３５は、Ｔ個の第２変位ラベルベクトルを加算し（ステップＳ１１５）、検出部３７は、加算後の第２変位ラベルベクトルである加算ラベルベクトルを第２変位座標ベクトルと線形結合することで、第３変位ベクトルを求める（ステップＳ１１７）。
【００８４】
続いて、検出部３７は、入力画像のＤ個の初期特徴点を並べた初期特徴点のベクトルに求めた第３変位ベクトルを加算して、入力画像のＤ個の真の特徴点を検出し（ステップＳ１１９）、出力部３９は、検出部３７によりＤ個の真の特徴点が検出された入力画像を出力する。
【００８５】
以上のように第１実施形態によれば、Ｋ×Ｔ個の第１変位ベクトルを記憶するのではなく、Ｋ×Ｔ個の第１変位ベクトルをそれぞれ近似した第２変位ベクトルを表現するための、Ｋ×Ｔ個の第２変位ラベルベクトルと１個の第２変位座標ベクトルとを記憶するので、記憶容量を抑えることができる。
【００８６】
また第１実施形態によれば、Ｔ個の第２変位ラベルベクトルを加算し、その後に、第２変位座標ベクトルと線形結合することで、第３変位ベクトルを求め、入力画像のＤ個の初期特徴点それぞれを並べた初期特徴点のベクトルに加算して、入力画像のＤ個の真の特徴点を検出するため、入力画像のＤ個の真の特徴点の検出に必要な計算回数も抑えることができる。
【００８７】
（第２実施形態）
第２実施形態では、第１実施形態と異なる手法について説明する。以下では、第１実施形態との相違点の説明を主に行い、第１実施形態と同様の機能を有する構成要素については、第１実施形態と同様の名称・符号を付し、その説明を省略する。
【００８８】
図６は、第２実施形態の特徴点検出装置１１０の一例を示す構成図である。図６に示すように、特徴点検出装置１１０は、トレーニングデータ記憶部１１１と、振分部１４１と、第１ラベル情報記憶部１４３と、変位記憶部１４５と、生成部１１３と、識別器記憶部１５と、第２ラベル情報記憶部１４７と、入力部３１と、識別部１３３と、加算部１３５と、検出部１３７と、出力部３９とを、備える。
【００８９】
トレーニングデータ記憶部１１１は、第１実施形態と同様である。
【００９０】
振分部１４１は、トレーニングデータ記憶部１１１に記憶されているＮ個のトレーニングサンプルそれぞれ毎にＤ個の初期特徴点それぞれと対応する真の特徴点との変位を並べた第１変位ベクトルを生成し、生成したＮ個の第１変位ベクトルに基づいてＮ個のトレーニングサンプルをＬ個の組に振り分け、Ｌ個の組それぞれ毎に当該組を代表する第１変位ベクトルである第２変位ベクトルを決定する。なお、第１変位ベクトルは、第１実施形態で説明した第０変位ベクトルと同様であるため、ここでは説明を省略する。
【００９１】
第２実施形態では、組はクラスタであり、振分部１４１は、Ｎ個の第１変位ベクトルそれぞれの距離を用いて、Ｎ個のトレーニングサンプルをＬ個のクラスタにクラスタリングする。第１変位ベクトルの距離は、例えば、第１変位ベクトルを構成する変位のユークリッド距離などで定義すればよい。クラスタは、例えば、変位空間上における原点からの距離（詳細には、距離の範囲）で定義できる。但し、第２実施形態では、クラスタは、図７に示すように、変位空間上において原点をまたがないような距離の範囲で定義されていることが好ましい。この理由については後述する。なお、図７に示す例では、黒丸が変位空間上における第１変位ベクトル（トレーニングサンプル）の位置を示し、破線で示された円がクラスタを示す。クラスタリングについては、例えば、Ｋ−ｍｅａｎｓクラスタリング法やＭｅａｎ  Ｓｈｉｆｔクラスタリング法などを用いればよい。
【００９２】
従って、振分部１４１は、Ｎ個のトレーニングサンプルそれぞれ毎に、当該トレーニングサンプルの第１変位ベクトルの距離を計算し、当該トレーニングサンプルを、計算した距離に応じたクラスタに振り分ければよい。
【００９３】
また第２実施形態では、振分部１４１は、Ｌ個のクラスタそれぞれ毎に、当該クラスタに振り分けられたトレーニングサンプルの第１変位ベクトルの距離の線形和、分散、及び順序統計量の少なくともいずれかを尺度に用いて、第２変位ベクトルを決定する。例えば、振分部１４１は、Ｌ個のクラスタそれぞれ毎に、当該クラスタに振り分けられたトレーニングサンプルの第１変位ベクトルの距離の平均値を計算し、計算した平均値に最も近い距離の第１変位ベクトルを第２変位ベクトルに決定すればよい。
【００９４】
なお第２実施形態では、Ｎ個のトレーニングサンプルのＬ個の組への振り分け手法として、クラスタリングを例に取り説明したが、これに限定されるものではなく、第１実施形態同様、主成分分析を用いてもよい。
【００９５】
第１ラベル情報記憶部１４３は、Ｌ個の組それぞれを示す第１ラベル毎に、当該第１ラベルが示す組に振り分けられたトレーニングサンプルを示すサンプル識別子を対応付けた第１ラベル情報を記憶する。
【００９６】
変位記憶部１４５は、Ｌ個の組それぞれを示す第１ラベル毎に、当該第１ラベルが示す組の第２変位ベクトルを記憶する。
【００９７】
生成部１３は、生成処理（学習処理）をＴ回繰り返す。生成処理は、識別器生成（学習）ステップと第２ラベル算出（学習）ステップとから成る処理である。識別器生成ステップについては、第１実施形態と同様であるため、説明を省略する。第２ラベル算出ステップは、識別器生成ステップにより生成されたＫクラス識別器を用いて、Ｎ個のトレーニングサンプルをＫクラスに識別し、クラス毎に、当該クラスに識別された各トレーニングサンプルと第１ラベル情報記憶部１４３に記憶された第１ラベル情報とに基づく第２ラベルを求めるステップである。具体的には、第２ラベルは、クラス毎に、当該クラスに識別された各トレーニングサンプルと第１ラベル情報記憶部１４３に記憶された第１ラベル情報とに基づいて計算される。
【００９８】
第２ラベルは、例えば、あるクラスに識別された１以上のトレーニングサンプルのうち最も多くのトレーニングサンプルが振り分けられた組を示す第１ラベルである。この場合、生成部１３は、第１ラベル情報を参照して、図８に示すように、あるクラスに識別された１以上のトレーニングサンプルに対して、各サンプルがＬ個のクラスタ（ビン）のうちのどのクラスタに振り分けられたかというＬビンの頻度ヒストグラムを生成し、出現頻度が最も大きいクラスタを示す第１ラベルを第２ラベルとする処理を、全てのクラスに対して行えばよい。なお図８に示す例の場合、最も出現頻度の高いクラスタは第４クラスタであるため、第４クラスタを示す第１ラベルが第２ラベルとなる。
【００９９】
なお、生成部１３は、生成した頻度ヒストグラムの出現頻度が最も大きいクラスタを示す第１ラベルを第２ラベルとするのではなく、頻度ヒストグラムそのものを第２ラベルとしてもよい。この場合、出現頻度が最も大きいクラスタの値を１、他のクラスタの値を０としたり、各クラスタの出現頻度を出現頻度の最大値で正規化したりしてもよい。
【０１００】
識別器記憶部１５は、第１実施形態と同様である。
【０１０１】
第２ラベル情報記憶部１４７は、Ｋ×Ｔ個の第２ラベルそれぞれに、当該第２ラベルが求められたクラスのクラス識別子を対応付けて記憶する。例えば、第２ラベル情報記憶部１４７は、Ｋ×Ｔ個の第２ラベルそれぞれに、当該第２ラベルを求める際に用いられたＫクラス識別器の識別器識別子と、当該第２ラベルが求められたクラスのクラス識別子と、を対応付けて記憶してもよい。
【０１０２】
入力部３１は、第１実施形態と同様である。
【０１０３】
識別部１３３は、入力部３１から入力された入力画像に識別器記憶部１５に記憶されているＴ個のＫクラス識別器を適用し、Ｋクラス識別器毎に、当該Ｋクラス識別器から出力されたクラス識別子に対応付けられた第２ラベルを、第２ラベル情報記憶部１４７から取得する。例えば、識別部３３は、Ｋクラス識別器毎に、当該Ｋクラス識別器から出力されたクラス識別子と、当該Ｋクラス識別器の識別器識別子に対応付けられた第２ラベルを、第２ラベル情報記憶部１４７から取得する。
【０１０４】
加算部１３５は、識別部１３３により取得されたＴ個の第２ラベルのうち値が同一の第２ラベルを加算して、第２ラベル毎の加算値を求める。つまり、加算部１３５は、Ｔ個の第２ラベルに対し、第２ラベル毎の出現数をカウントする。なお、第２ラベルが頻度ヒストグラムの場合は、加算部１３５は、Ｔ個の第２ラベルをそのまま加算すればよい。
【０１０５】
検出部１３７は、入力部３１から入力された入力画像に設定されたＤ個の初期特徴点、加算部１３５により得られた第２ラベル毎の加算値、及び変位記憶部１４５に記憶されているＬ個の第２変位ベクトルに基づいて、入力画像のＤ個の真の特徴点を検出する。
【０１０６】
具体的には、検出部１３７は、変位記憶部１４５からＬ個の第２変位ベクトルを取得し、第２変位ベクトル毎に対応する第２ラベルの加算値を乗じ、対応する第２ラベルの加算値が乗じられた各第２変位ベクトルを加算して、入力画像のＤ個の初期特徴点それぞれと対応するＤ個の真の特徴点それぞれとの変位を並べた第３変位ベクトルを求める。つまり、第２実施形態では、第２ラベルのラベル数と第２変位ベクトルとの重みづけ和で第３変位ベクトルを求めている。
【０１０７】
そして検出部１３７は、求めた第３変位ベクトルを、入力画像のＤ個の初期特徴点ベクトルに加算して、入力画像のＤ個の真の特徴点を検出する。
【０１０８】
出力部３９は、第１実施形態と同様である。
【０１０９】
図９は、第２実施形態の特徴点検出装置１１０で行われる前処理の手順の流れの一例を示すフローチャートである。
【０１１０】
まず、振分部１４１は、トレーニングデータ記憶部１１１に記憶されているＮ個のトレーニングサンプルそれぞれ毎にＤ個の初期特徴点それぞれと対応する真の特徴点との変位を並べた第１変位ベクトルを生成する（ステップＳ２０１）。
【０１１１】
続いて、振分部１４１は、生成したＮ個の第１変位ベクトルに基づいてＮ個のトレーニングサンプルをＬ個の組に振り分ける（ステップＳ２０２）。
【０１１２】
続いて、振分部１４１は、Ｌ個の組それぞれ毎に当該組を代表する第１変位ベクトルである第２変位ベクトルを決定する（ステップＳ２０３）。
【０１１３】
続いて、生成部１１３は、トレーニングデータ記憶部１１１に記憶されたトレーニングデータを用いて、サンプル画像の初期特徴点ベクトルＳに対する画像パターンが類似するトレーニングサンプルをＫクラスのうちの同一クラスに識別することが期待され、識別したクラスを示すクラス識別子を出力するＫクラス識別器を生成する（ステップＳ２０４）。
【０１１４】
続いて、生成部１１３は、生成されたＫクラス識別器を用いてＮ個のトレーニングサンプルをＫクラスに識別する（ステップＳ２０５）。
【０１１５】
続いて、生成部１１３は、クラス毎に、当該クラスに識別された各トレーニングサンプルと第１ラベル情報記憶部１４３に記憶された第１ラベル情報とに基づく第２ラベルを求める（ステップＳ２０６）。
【０１１６】
そして生成部１１３は、ステップＳ２０４〜Ｓ２０６までの生成処理をＴ回行うまで繰り返し（ステップＳ２０７でＮｏ）、生成部１１３が生成処理をＴ回行うと（ステップＳ２０７でＹｅｓ）、前処理は終了となる。
【０１１７】
図１０は、第２実施形態の特徴点検出装置１１０で行われる後処理の手順の流れの一例を示すフローチャートである。
【０１１８】
まず、入力部３１は、真の特徴点検出対象の物体が映る入力画像を入力する（ステップＳ２１１）。
【０１１９】
続いて、識別部１３３は、入力部３１から入力された入力画像に識別器記憶部１５に記憶されているＴ個のＫクラス識別器を適用し、Ｋクラス識別器毎に、当該Ｋクラス識別器から出力されたクラス識別子に対応付けられた第２ラベルを、第２ラベル情報記憶部１４７から取得することで、Ｔ個の第２ラベルを得る（ステップＳ２１３）。
【０１２０】
続いて、加算部１３５は、識別部１３３により取得されたＴ個の第２ラベルのうち値が同一の第２ラベルを加算して、第２ラベル毎の加算値を求め（ステップＳ２１５）、検出部１３７は、変位記憶部１４５からＬ個の第２変位ベクトルを取得し、第２変位ベクトル毎に対応する第２ラベルの加算値を乗じ、対応する第２ラベルの加算値が乗じられた各第２変位ベクトルを加算して、入力画像のＤ個の初期特徴点それぞれと対応するＤ個の真の特徴点それぞれとの変位を並べた第３変位ベクトルを求める（ステップＳ２１７）。
【０１２１】
続いて、検出部１３７は、入力画像のＤ個の初期特徴点を並べた初期特徴点のベクトルに求めた第３変位ベクトルを加算して、入力画像のＤ個の真の特徴点を検出し（ステップＳ２１９）、出力部３９は、検出部１３７によりＤ個の真の特徴点が検出された入力画像を出力する。
【０１２２】
以上のように第２実施形態でも、Ｋ×Ｔ個の第１変位ベクトルを記憶するのではなく、第１ラベル情報、第２ラベル情報、及びＬ個の第２変位ベクトルを記憶すればよいので、記憶容量を抑えることができる。
【０１２３】
また第２実施形態によれば、学習効率を向上させることもできる。
【０１２４】
例えば、非特許文献１に開示された手法では、第１変位ベクトルに、同一クラスに識別されたトレーニングサンプルの第０変位ベクトルの平均値を用いている。この手法の場合、学習時に、図１１に示すように、変位空間上の原点を挟んで等方的にトレーニングサンプルが選択されてしまった場合、第０変位ベクトルの平均値が原点付近の値になってしまうため、入力画像の真の特徴点の検出時の影響（初期特徴点の更新幅）が小さくなってしまう。このため、学習の収束を遅らせ、学習効率を悪くしてしまう。なお、図１１に示す例では、黒丸が変位空間上における変位ベクトル（学習サンプル）の位置を示し、破線で示された円がトレーニングサンプルの選択範囲を示し、バツ印が第０変位ベクトルの平均値を示す。
【０１２５】
これに対し、第２実施形態では、図７に示すように、クラスタは、変位空間上において原点をまたがないような距離の範囲で定義されることが好ましく、クラスタ毎に、当該クラスタに振り分けられた学習サンプルの第１変位ベクトルの距離の線形和、分散、及び順序統計量の少なくともいずれかを尺度に用いて、第２変位ベクトルを決定する。このため第２実施形態によれば、第２変位ベクトルが原点付近の値になってしまうことを防止でき、入力画像の真の特徴点の検出時の影響（初期特徴点の更新幅）が小さくならないので、生成処理の収束を速め、生成効率を向上させることもできる。
【０１２６】
（変形例）
上記各実施形態では、画像上に映る物体のＤ個の真の特徴点が検出された入力画像を出力する例について説明したが、Ｄ個の真の特徴点に基づく解析を行い、解析結果を出力するようにしてもよい。ここでは、第１実施形態を例に取り、変形例について説明するが、第２実施形態においても同様の変形を行うことができる。
【０１２７】
図１２は、変形例の特徴点検出装置２１０の一例を示す構成図である。図１２に示すように、解析部２３７及び出力部２３９が第１実施形態と相違する。
【０１２８】
解析部２３７は、検出部３７によりＤ個の真の特徴点が検出された入力画像を解析する。出力部２３９は、解析部２３７の解析結果を出力する。
【０１２９】
例えば、特徴点検出装置２１０が、車などの運転者の状態を監視する運転支援システムに活用され、入力部３１は、運転者を撮像した入力画像を入力するとする。なお、入力画像は、動画であっても、定期的に撮像された静止画であってもよい。また、入力画像が識別部３３に入力される前に、公知の顔位置検出技術を用いて、入力画像上の運転者の顔の大まかな位置を検出しておいてもよい。
【０１３０】
そして、検出部３７によりＤ個の真の特徴点として、入力画像中の運転者の瞳、目尻、目頭、上下瞼、鼻頂点、及び口の端点の位置が検出されるとする。
【０１３１】
この場合、解析部２３７には、入力画像上の運転者の瞳、目尻、目頭、上下瞼、鼻頂点、及び口の端点の位置が、検出部３７から定期的に入力されるため、解析部２３７は、これらの位置の変化を解析することで、運転者の状態を解析する。
【０１３２】
例えば、解析部２３７は、瞳の上下間の距離の変化を解析し、瞼の開閉度を解析する。そして解析部２３７は、瞼が一定時間以上閉じられていることを解析した場合、運転者が居眠りしている危険性があると解析し、出力部２３９は、その旨を表示装置や音声装置等に出力させる。
【０１３３】
また例えば、解析部２３７は、目、口、鼻の頂点の位置の変化を解析し、顔の向きを解析する。そして解析部２３７は、顔の向きが一定時間以上正面を向いていないことを解析した場合、運転者がよそ見している危険性があると解析し、出力部２３９は、その旨を表示装置や音声装置等に出力させる。
【０１３４】
また例えば、解析部２３７は、口唇の位置の変化を解析し、口の開閉度合いを解析する。そして解析部２３７は、運転者が発話していることを解析した場合、出力部２３９は、その旨を音声入力型のナビゲーション装置などに出力する。これにより、音声入力型のナビゲーション装置は、入力された音声が運転者の発話した音声か、音楽などの背景雑音の音声かを判別でき、音声入力の精度向上が期待できる。
【０１３５】
このように、特徴点検出装置２１０を運転支援システムに活用すれば、運転時の安全性やユーザビリティを高めることができる。
【０１３６】
また例えば、特徴点検出装置２１０が、人間の視線を推定する視線推定システムに活用され、入力部３１は、視線推定対象のユーザを撮像した入力画像を入力するとする。また、入力画像が識別部３３に入力される前に、公知の顔位置検出技術を用いて、入力画像上の運転者の顔の大まかな位置を検出しておいてもよい。
【０１３７】
そして、検出部３７によりＤ個の真の特徴点として、入力画像中の運転者の瞳、目尻、目頭、上下瞼、鼻頂点、及び口の端点の位置が検出されるとする。
【０１３８】
この場合、解析部２３７には、入力画像上の運転者の瞳、目尻、目頭、上下瞼、鼻頂点、及び口の端点の位置が、検出部３７から入力されるため、解析部２３７は、これらの位置を解析することで、ユーザの視線の方向を解析する。
【０１３９】
解析部２３７は、例えば、瞳と目尻目頭の間の位置関係を解析して、ユーザの視線の方向を解析してもよいし、特開２００８−１９４１４６号公報で開示されているような手法でユーザの視線の方向を解析してもよい。
【０１４０】
このように、特徴点検出装置２１０を視線推定システムに活用すれば、非接触で操作を行うようなユーザーインターフェースや、広告の興味関心度を計測するマーケティングなど様々な用途に適用できる。このような車載などの組み込みシステム用途では、一般的なコンピュータと比較して搭載メモリ量などが制限される場合が多く、本発明のように少ないメモリで効率よく処理する技術が重要である。
【０１４１】
（ハードウェア構成）
図１３は、上記各実施形態及び上記各変形例の特徴点検出装置のハードウェア構成の一例を示すブロック図である。図１３に示すように、上記各実施形態及び上記各変形例の特徴点検出装置は、ＣＰＵなどの制御装置９０２と、ＲＯＭやＲＡＭなどの記憶装置９０４と、ＨＤＤやＳＳＤなどの外部記憶装置９０６と、ディスプレイなどの表示装置９０８と、撮像装置、記録装置、読取装置、又はネットワークＩ／Ｆ、及びキーボード又はマウスなどの入力装置９１０と、通信装置９１２と、を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【０１４２】
上記各実施形態及び上記各変形例の特徴点検出装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、ＣＤ−Ｒ、メモリカード、ＤＶＤ、フレキシブルディスク（ＦＤ）等のコンピュータで読み取り可能な記憶媒体に記憶されて提供される。
【０１４３】
また、上記各実施形態及び上記各変形例の特徴点検出装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、上記各実施形態及び上記各変形例の特徴点検出装置で実行されるプログラムを、インターネット等のネットワーク経由で提供または配布するようにしてもよい。また、上記各実施形態及び上記各変形例の特徴点検出装置で実行されるプログラムを、ＲＯＭ等に予め組み込んで提供するようにしてもよい。
【０１４４】
上記各実施形態及び上記各変形例の特徴点検出装置で実行されるプログラムは、上述した各部をコンピュータ上で実現させるためのモジュール構成となっている。実際のハードウェアとしては、例えば、ＣＰＵがＨＤＤから学習プログラムをＲＡＭ上に読み出して実行することにより、上記各部がコンピュータ上で実現されるようになっている。
【０１４５】
以上説明したとおり、上記各実施形態及び上記各変形例によれば、記憶容量を低減することができる。
【０１４６】
なお本発明は、上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また上記各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせても良い。
【０１４７】
例えば、上記実施形態のフローチャートにおける各ステップを、その性質に反しない限り、実行順序を変更し、複数同時に実施し、あるいは実施毎に異なった順序で実施してもよい。
【符号の説明】
【０１４８】
１０、１１０、２１０  特徴点検出装置
１１、１１１  トレーニングデータ記憶部
１３、１１３  生成部
１５  識別器記憶部
１９  計算部
２１  変位ラベル記憶部
２３  変位座標記憶部
３１  入力部
３３、１３３  識別部
３５、１３５  加算部
３７、１３７  検出部
３９、２３９  出力部
１４１  振分部
１４３  第１ラベル情報記憶部
１４５  変位記憶部
１４７  第２ラベル情報記憶部
２３７  解析部
【図１】
0006325405.tif 000006
【図２】
0006325405.tif 000007
【図３】
0006325405.tif 000008
【図４】
0006325405.tif 000009
【図５】
0006325405.tif 000010
【図６】
0006325405.tif 000011
【図７】
0006325405.tif 000012
【図８】
0006325405.tif 000013
【図９】
0006325405.tif 000014
【図１０】
0006325405.tif 000015
【図１１】
0006325405.tif 000016
【図１２】
0006325405.tif 000017
【図１３】
0006325405.tif 000018