(57)【特許請求の範囲】
【請求項１】
対象画像から対象領域を検出する対象検出部と、
前記対象領域に対して、あらかじめ用意された初期特徴点位置に特徴点を配置する特徴点配置部と、
配置された前記特徴点の特徴量を取得する特徴量取得部と、
前記特徴量について回帰計算をすることで、前記特徴点の位置に対する真の特徴点の位置のずれ量を算出する回帰計算部と、
前記ずれ量に基づいて前記特徴点を再配置する再配置部と、
を備え、
前記特徴量取得部は、前記特徴点配置部にて配置された特徴点、及び前記再配置部にて再配置された特徴点の特徴量を取得し、
前記回帰計算部は、行列分解された回帰行列で、前記特徴量を変換することで、前記ずれ量を算出し、
前記再配置部は、前記特徴量取得部による特徴量の取得、前記回帰計算部によるずれ量の算出、および前記特徴点の再配置を複数回繰り返して再配置された特徴点の位置を出力する、特徴点位置推定装置。
【請求項２】
前記回帰行列は、実数行列である基底行列と、実数行列である係数行列とに分解されている、請求項１に記載の特徴点位置推定装置。
【請求項３】
前記回帰行列は、特異値分解により前記基底行列及び前記係数行列に分解される、請求項２に記載の特徴点位置推定装置。
【請求項４】
前記回帰行列は、整数行列である基底行列と、実数行列である係数行列とに分解されている、請求項１に記載の特徴点位置推定装置。
【請求項５】
前記基底行列は、二値行列又は三値行列である、請求項４に記載の特徴点位置推定装置。
【請求項６】
前記回帰行列は、各列ベクトルが個別に分解されている、請求項４に記載の特徴点位置推定装置。
【請求項７】
前記回帰行列は、まとめて一括で行列分解されている、請求項４に記載の特徴点位置推定装置。
【請求項８】
前記特徴点位置推定装置は、連続する複数のフレームの対象画像について、特徴点の位置推定し、
前記特徴点配置部は、前フレームで前記特徴量取得部による特徴量の取得、前記回帰計算部によるずれ量の算出、および前記特徴点の再配置を複数回繰り返す過程で再配置された特徴点の位置を、現フレームのあらかじめ用意された前記初期特徴点位置として、特徴点を配置する、請求項１ないし７のいずれかに記載の特徴点位置推定装置。
【請求項９】
前記再配置部にて再配置された特徴点の特徴量を線形変換することで、当該特徴点のスコアを求める評価部をさらに備えた、請求項１ないし８のいずれかに記載の特徴点位置推定装置。
【請求項１０】
前記評価部は、前記再配置部にて再配置された複数の特徴点をグループ化して、各グループについて前記スコアを求める、請求項９に記載の特徴点位置推定装置。
【請求項１１】
前記回帰計算部は、複数の前記特徴点のうちの優先度の高い一部の特徴点のみについて前記回帰計算を行い、前記特徴量取得部による特徴量の取得、前記回帰計算部によるずれ量の算出、および前記特徴点の再配置を複数回繰り返しながら、前記優先度に従って前記回帰計算を行う特徴点の数を増加させていき、すべての前記特徴点について前記回帰計算を行う、請求項１ないし１０のいずれかに記載の特徴点位置推定装置。
【請求項１２】
前記対象検出部は、前記対象画像の複数のブロックからそれぞれ特徴量を抽出して識別処理をすることで前記対象領域を検出し、
前記特徴量取得部は、前記対象検出部で抽出された特徴量を前記特徴点の特徴量として取得する、請求項１ないし１１のいずれかに記載の特徴点位置推定装置。
【請求項１３】
前記特徴量取得部は、前記特徴点が属する前記ブロックの特徴量を当該特徴点の特徴量として取得する、請求項１２に記載の特徴点位置推定装置。
【請求項１４】
対象画像から対象領域を検出する対象検出部と、
前記対象領域に対して、あらかじめ用意された初期特徴点位置に特徴点を配置する特徴点配置部と、
配置された前記特徴点の特徴量を取得する特徴量取得部と、
前記特徴量について回帰計算をすることで、前記特徴点の位置に対する真の特徴点の位置のずれ量を算出する回帰計算部と、
前記ずれ量に基づいて前記特徴点を再配置する再配置部と、
を備え、
前記特徴量取得部は、前記特徴点配置部にて配置された特徴点、及び前記再配置部にて再配置された特徴点の特徴量を取得し、
前記回帰計算部は、行列分解された回帰行列で、前記特徴量を変換することで、前記ずれ量を算出し、
前記再配置部は、前記特徴量取得部による特徴量の取得、前記回帰計算部によるずれ量の算出、および前記特徴点の再配置を複数回繰り返して再配置された特徴点の位置を出力する、特徴点位置推定システム。
【請求項１５】
コンピュータにて実行されることで、前記コンピュータを
対象画像から対象領域を検出する対象検出部、
前記対象領域に対して、あらかじめ用意された初期特徴点位置に特徴点を配置する特徴点配置部、
配置された前記特徴点の特徴量を取得する特徴量取得部、
前記特徴量について回帰計算をすることで、前記特徴点の位置に対する真の特徴点の位置のずれ量を算出する回帰計算部、及び
前記ずれ量に基づいて前記特徴点を再配置する再配置部、
として機能させる特徴点位置推定プログラムであって、
前記特徴量取得部は、前記特徴点配置部にて配置された特徴点、及び前記再配置部にて再配置された特徴点の特徴量を取得し、
前記回帰計算部は、行列分解された回帰行列で、前記特徴量を変換することで、前記ずれ量を算出し、
前記再配置部は、前記特徴量取得部による特徴量の取得、前記回帰計算部によるずれ量の算出、および前記特徴点の再配置を複数回繰り返して再配置された特徴点の位置を出力する、特徴点位置推定プログラム。
【請求項１６】
対象画像から対象領域を検出する対象検出ステップと、
前記対象領域に対して、あらかじめ用意された初期特徴点位置に特徴点を配置する特徴点配置ステップと、
配置された前記特徴点の特徴量を取得する特徴量取得ステップと、
前記特徴量について回帰計算をすることで、前記特徴点の位置に対する真の特徴点の位置のずれ量を算出する回帰計算ステップと、
前記ずれ量に基づいて前記特徴点を再配置する再配置ステップと、
を備え、
前記特徴量取得ステップは、前記特徴点配置ステップにて配置された特徴点、及び前記再配置ステップにて再配置された特徴点の特徴量を取得し、
前記回帰計算ステップは、行列分解された回帰行列で、前記特徴量を変換することで、前記ずれ量を算出し、
前記再配置ステップは、前記特徴量取得ステップによる特徴量の取得、前記回帰計算ステップによるずれ量の算出、および前記特徴点の再配置を複数回繰り返して再配置された特徴点の位置を出力する、特徴点位置推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像における特徴点の位置を推定する特徴点推定装置、特徴点推定システム、特徴点推定方法、および特徴点推定プログラムに関する。
【背景技術】
【０００２】
従来より、画像における特徴点の位置を推定する特徴点位置推定技術として、ＳＤＭ（Ｓｕｐｅｒｖｉｓｅｄ  Ｄｅｓｃｅｎｔ  Ｍｅｔｈｏｄ）と呼ばれる手法が知られている。
【０００３】
ＳＤＭによる特徴点位置の推定を行うことで、顔画像において顔の器官点を特徴点としてそれらの位置を推定したり（例えば非特許文献１）、人物画像において人物の各関節点を特徴点としてそれらの位置を推定したり、車載カメラ画像において道路左右の白線を特徴点としてそれらの位置を推定したりすることができる。そして、例えば、顔画像において顔の器官点位置を推定することで、運転中のドライバーの脇見や異常状態を推定し、適切な警告を与えることができる。
【０００４】
図１２〜図１９は、従来のＳＤＭによって顔の器官点位置の推定の手順を説明する図である。ＳＤＭは、「特徴抽出」と「線形回帰」の２段階からなるアルゴリズムである。
【０００５】
（ステップ１：顔領域検出）
まず、図１２に示すように、任意の顔検出手法により顔画像から矩形の顔領域を検出する。この顔領域検出には任意の手法を用いることができ、例えばＶｉｏｌａ−Ｊｏｎｅｓによる手法やＳＰＡＤＥによる方法（Scalar Product Accelerator by Integer Decomposition for Object Detection, Mitsuru Ambai and Ikuro Sato, ECCV2014）を用いることができる。
【０００６】
（ステップ２：平均器官点の配置）
次に、検出された顔領域に対して、図１３に示すように、初期位置として平均器官点位置に平均器官点を配置する。平均器官点位置は、多数の顔画像について、人が器官点（例えば、目頭、鼻の頂部、口元等）の正解データを与え、それらの平均をとることによってあらかじめ求められている。ここで、平均器官点はＬ個用意されているものとする。
【０００７】
（ステップ３：特徴量抽出）
次に、図１４に示すように、配置したＬ個の顔器官点の周辺から、それぞれＤ次元の特徴量を抽出する。ここで、特徴量は何でもよく、たとえばＨＯＧ（Ｈｉｓｔｏｇｒａｍｓｏｆ  Ｏｒｉｅｎｔｅｄ  Ｇｒａｄｉｅｎｔｓ）特徴量を用いることができる。そして、図１４に示すように、すべての器官点の特徴量を統合したＬＤ次元の特徴ベクトルｘ１を生成する。
【０００８】
（ステップ４：回帰による差分ベクトルの算出）
次に、図１５に示すように、特徴ベクトルｘ１を回帰行列Ｗ１で変換することにより、差分ベクトルｙ１を求める。回帰行列Ｗ１は、特徴ベクトルｘ１を入力とし、平均器官点に対する真の器官点位置のずれ量を示す差分ベクトルｙ１を出力とし、特徴ベクトルｘ１を差分ベクトルｙ１に変換する変換行列であり、多数の顔画像について、線形回帰の技術を用いた機械学習を行うことによって求めることができる。なお、差分ベクトルｙ１は器官点の数Ｌに各器官点の座標値の数（２）を掛けた２Ｌ次元となり、回帰行列Ｗ１は、２Ｌ行ＬＤ列の行列として求められる。
【０００９】
（ステップ５：器官点の再配置）
次に、図１６に示すように、ステップ２で用いた平均器官点の位置をステップ４で求められた差分ベクトルｙ１で補正することにより、器官点を再配置する。
【００１０】
この再配置された器官点について、再度ステップ３を実行して特徴量を抽出することで図１７に示すように特徴ベクトルｘ２が得られ、ステップ４を実行して特徴ベクトルｘ２を回帰行列Ｗ２で変換することで図１８に示すように差分ベクトルｙ２が得られ、ステップ５を実行して器官点を再配置することで図１９に示すように再々配置された器官点が得られる。このように、特徴量の抽出と回帰による再配置（ステップ３〜ステップ５）を４〜５回ほど繰り返すことにより、正確に配置された器官点を得ることができる。
【００１１】
以上のように、顔画像に対してＳＤＭの手法を用いることにより、図２０に示すように、顔画像から顔の特徴点である複数の器官点の位置の情報（座標）を得ることができる。
【先行技術文献】
【非特許文献】
【００１２】
【非特許文献１】Supervised Descent Method and its Applications to Face Alignment, Xuehan Xiong, Fernando De la Torre (CVPR2013)
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかしながら、上記の従来のＳＤＭでは、メモリの消費量が大きいという問題があった。すなわち、器官点の数をＬとし、特徴量の次元数をＤとすると、回帰行列Ｗｉは、２Ｌ行ＬＤ列となり、回帰行列Ｗｉの各要素の浮動小数点のバイト数をＢバイトとすると、２Ｌ×ＬＤ×Ｂバイトのメモリを消費することになる。そして、この容量のメモリを器官点推定の反復処理回数分だけ消費することになる。
【００１４】
例えば、器官点の数が１９４、特徴量が２８８次元、回帰行列の要素が倍精度実数（８バイト）の場合は、１つの回帰行列について消費するメモリは、１９４×２×１９４×２８８×８＝約１７３Ｍバイトとなり、反復処理回数を４回とすると、約６９４Ｍバイトのメモリを消費することになる。
【００１５】
従来のＳＤＭによる顔認識では、さらに、速度が遅いという問題があった。特に、差分ベクトルｙｉを求めるために特徴ベクトルｘｉと回帰行列Ｗｉとの内積演算を行う処理（ステップ４）の負荷が大きく（演算量のオーダーは、２Ｌ×ＬＤ）、この処理を反復回数分だけ行わなければならないので時間がかかることになる。
【００１６】
本発明は、上記の問題点に鑑みてなされたものであり、特徴量取得と回帰計算とを繰り返す特徴点位置推定処理において、メモリ消費量及び演算量を抑えることが可能な特徴点位置推定装置等を提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明の一態様の特徴点位置推定装置は、対象画像から対象領域を検出する対象検出部と、前記対象領域に対して、あらかじめ用意された初期特徴点位置に特徴点を配置する特徴点配置部と、配置された前記特徴点の特徴量を取得する特徴量取得部と、前記特徴量について回帰計算をすることで、前記特徴点の位置に対する真の特徴点の位置のずれ量を算出する回帰計算部と、前記ずれ量に基づいて前記特徴点を再配置する再配置部とを備え、前記特徴量取得部は、前記特徴点配置部にて配置された特徴点、及び前記再配置部にて再配置された特徴点の特徴量を取得し、前記回帰計算部は、行列分解された回帰行列で、前記特徴量を変換することで、前記ずれ量を算出し、前記再配置部は、前記特徴量取得部による特徴量の取得、前記回帰計算部によるずれ量の算出、および前記特徴点の再配置を複数回繰り返して再配置された特徴点の位置を出力する。
【００１８】
前記回帰行列は、実数行列である基底行列と、実数行列である係数行列とに分解されていてよく、具体的には、前記回帰行列は、特異値分解により前記基底行列及び前記係数行列に分解されてよい。
【００１９】
前記回帰行列は、整数行列である基底行列と、実数行列である係数行列とに分解されていてよい。ここで、前記基底行列は、二値行列又は三値行列であってよい。また、前記回帰行列は、各列ベクトルが個別に分解されていてよく、あるいは、まとめて一括で行列分解されていてよい。
【００２０】
前記特徴点位置推定装置は、連続する複数のフレームの対象画像について、特徴点の位置推定してよく、前記特徴点配置部は、前フレームで前記特徴量取得部による特徴量の取得、前記回帰計算部によるずれ量の算出、および前記特徴点の再配置を複数回繰り返す過程で再配置された特徴点の位置を、現フレームのあらかじめ用意された前記初期特徴点位置として、特徴点を配置してよい。この構成により、回帰の回数を減らせるため、収束までの演算量を削減できる。
【００２１】
前記特徴点位置推定装置は、前記再配置部にて再配置された特徴点の特徴量を線形変換することで、当該特徴点のスコアを求める評価部をさらに備えていてよい。この構成により、スコアを評価することで、特徴点の位置の推定が失敗したか否かを判定できる。
【００２２】
前記評価部は、前記再配置部にて再配置された複数の特徴点をグループ化して、各グループについて前記スコアを求めてよい。各特徴点にスコアをつける場合と比較して、グループ化したスコアで推定した部位の信頼性を判定できるので、ロバストな信頼度推定ができる。
【００２３】
前記回帰計算部は、複数の前記特徴点のうちの優先度の高い一部の特徴点のみについて前記回帰計算を行い、前記特徴量取得部による特徴量の取得、前記回帰計算部によるずれ量の算出、および前記特徴点の再配置を複数回繰り返しながら、前記優先度に従って前記回帰計算を行う特徴点の数を増加させていき、すべての前記特徴点について前記回帰計算を行ってよい。この構成により、回帰計算の量、回数を削減でき、計算コストを低減できる。
【００２４】
前記対象検出部は、前記対象画像の複数のブロックからそれぞれ特徴量を抽出して識別処理をすることで前記対象領域を検出してよく、前記特徴量取得部は、前記対象検出部で抽出された特徴量を前記特徴点の特徴量として取得してよい。このとき、前記特徴量取得部は、前記特徴点が属する前記ブロックの特徴量を当該特徴点の特徴量として取得してよい。
【００２５】
本発明の一態様の特徴点位置推定システムは、対象画像から対象領域を検出する対象検出部と、前記対象領域に対して、あらかじめ用意された初期特徴点位置に特徴点を配置する特徴点配置部と、配置された前記特徴点の特徴量を取得する特徴量取得部と、前記特徴量について回帰計算をすることで、前記特徴点の位置に対する真の特徴点の位置のずれ量を算出する回帰計算部と、前記ずれ量に基づいて前記特徴点を再配置する再配置部とを備え、前記特徴量取得部は、前記特徴点配置部にて配置された特徴点、及び前記再配置部にて再配置された特徴点の特徴量を取得し、前記回帰計算部は、行列分解された回帰行列で、前記特徴量を変換することで、前記ずれ量を算出し、前記再配置部は、前記特徴量取得部による特徴量の取得、前記回帰計算部によるずれ量の算出、および前記特徴点の再配置を複数回繰り返して再配置された特徴点の位置を出力する。
【００２６】
本発明の一態様の特徴点位置推定プログラムは、コンピュータにて実行されることで、前記コンピュータを、対象画像から対象領域を検出する対象検出部、前記対象領域に対して、あらかじめ用意された初期特徴点位置に特徴点を配置する特徴点配置部、配置された前記特徴点の特徴量を取得する特徴量取得部、前記特徴量について回帰計算をすることで、前記特徴点の位置に対する真の特徴点の位置のずれ量を算出する回帰計算部、及び前記ずれ量に基づいて前記特徴点を再配置する再配置部として機能させる特徴点位置推定プログラムであって、前記特徴量取得部は、前記特徴点配置部にて配置された特徴点、及び前記再配置部にて再配置された特徴点の特徴量を取得し、前記回帰計算部は、行列分解された回帰行列で、前記特徴量を変換することで、前記ずれ量を算出し、前記再配置部は、前記特徴量取得部による特徴量の取得、前記回帰計算部によるずれ量の算出、および前記特徴点の再配置を複数回繰り返して再配置された特徴点の位置を出力する。
【００２７】
本発明の一態様の特徴点位置推定方法は、対象画像から対象領域を検出する対象検出ステップと、前記対象領域に対して、あらかじめ用意された初期特徴点位置に特徴点を配置する特徴点配置ステップと、配置された前記特徴点の特徴量を取得する特徴量取得ステップと、前記特徴量について回帰計算をすることで、前記特徴点の位置に対する真の特徴点の位置のずれ量を算出する回帰計算ステップと、前記ずれ量に基づいて前記特徴点を再配置する再配置ステップとを備え、前記特徴量取得ステップは、前記特徴点配置ステップにて配置された特徴点、及び前記再配置ステップにて再配置された特徴点の特徴量を取得し、前記回帰計算ステップは、行列分解された回帰行列で、前記特徴量を変換することで、前記ずれ量を算出し、前記再配置ステップは、前記特徴量取得ステップによる特徴量の取得、前記回帰計算ステップによるずれ量の算出、および前記特徴点の再配置を複数回繰り返して再配置された特徴点の位置を出力する。
【発明の効果】
【００２８】
本発明は、特徴量取得と回帰計算とを繰り返す特徴点位置推定処理において、回帰計算に用いる回帰行列が行列分割されているので、メモリ消費量及び演算量を低減できる。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施の形態における特徴点位置推定装置１の構成を示すブロック図
【図２】本発明の実施の形態における回帰行列Ｗの行列分解を説明する図
【図３】本発明の第１の実施の形態における回帰行列Ｗを基底数ｋの基底行列Ｍと係数行列Ｃに分解する処理を説明する図
【図４】本発明の第２の実施の形態における回帰行列Ｗを基底数ｋの基底行列Ｍと係数行列Ｃに分解する処理を説明する図
【図５】本発明の第２の実施の形態における分割手法において実施され得るアルゴリズムのフロー図
【図６】本発明の第３の実施の形態における回帰行列Ｗの分解を説明する図
【図７】第６の実施の形態における回帰計算に利用する特徴点を説明する図
【図８】第６の実施の形態における反復１回目の回帰計算を示す図
【図９】第６の実施の形態における反復２回目の回帰計算を示す図
【図１０】第６の実施の形態における反復３回目の回帰計算を示す図
【図１１】（ａ）本発明の第７の実施の形態における対象検出部の処理（単独辞書）を説明する図  （ｂ）本発明の第７の実施の形態における対象検出部の処理（複数辞書）を説明する図
【図１２】従来のＳＤＭにおける顔領域検出を説明する図
【図１３】従来のＳＤＭにおける平均器官点の配置を説明する図
【図１４】従来のＳＤＭにおける特徴量抽出を説明する図
【図１５】従来のＳＤＭにおける回帰による差分ベクトルの算出を説明する図
【図１６】従来のＤＭにおける器官点の再配置を説明する図
【図１７】従来のＳＤＭにおける特徴量抽出を説明する図
【図１８】従来のＳＤＭにおける回帰による差分ベクトルの算出を説明する図
【図１９】従来のＤＭにおける器官点の再配置を説明する図
【図２０】従来のＳＤＭによって得られる複数の器官点を示す図
【発明を実施するための形態】
【００３０】
以下、図面を参照して本発明の実施の形態を説明する。なお、以下に説明する実施の形態は、本発明を実施する場合の一例を示すものであって、本発明を以下に説明する具体的構成に限定するものではない。本発明の実施にあたっては、実施の形態に応じた具体的構成が適宜採用されてよい。
【００３１】
図１は、本発明の実施の形態の特徴点位置推定装置１の構成を示すブロック図である。図１に示すように、特徴点位置推定装置１は、対象検出部１１と、特徴点配置部１２と、特徴量取得部１３と、回帰計算部１４と、行列記憶部１５と、再配置部１６とを備えている。特徴点位置推定装置１は、ＣＰＵ、ＲＯＭ、ＲＡＭ、補助記憶装置、入出力インタフェース等を備えたコンピュータが特徴点位置推定プログラムを実行することで実現できる。なお、特徴点位置推定装置１の構成要素が分散して配置され、互いに通信をすることで、特徴点位置推定装置１と同様の機能を有する特徴点位置推定システムが構成されてもよい。
【００３２】
本実施の形態の特徴点位置推定装置１は、特徴量取得と線形回帰を４回反復する（繰り返す）ＳＤＭによって特徴点の位置を推定するが、反復処理回数はこれに限られず、４回より多くても少なくてもよい。
【００３３】
対象検出部１１には、特徴点の位置を推定する対象となる画像（対象画像）が入力される。対象検出部１１は、上記の従来のＳＤＭのステップ１と同様にして、対象画像から対象領域を検出する。この対象領域検出には任意の手法を用いることができ、例えば顔を検出する場合には、上記のＶｉｏｌａ−Ｊｏｎｅｓによる手法やＳＰＡＤＥによる方法を用いることができる。
【００３４】
特徴点配置部１２は、上記の従来のＳＤＭのステップ２と同様にして、対象検出部１１にて検出された対象領域に対して、初期特徴点位置としてあらかじめ用意された平均特徴点位置に特徴点を配置する（このように配置された特徴点を「平均特徴点」ともいう。）。平均特徴点位置は、多数の対象画像について、人が特徴点の正解データを与え、それらの平均をとることによってあらかじめ求められている。ここで、平均特徴点はＬ個用意されているものとする。なお、初期特徴点位置は、必ずしも平均特徴点の位置として求める必要はなく、他の任意の手法によって与えられたものであってもよい。
【００３５】
特徴量取得部１３は、上記の従来のＳＤＭのステップ３と同様にして、対象領域の画像（対象領域画像）に配置されたＬ個の特徴点について、特徴点の周辺（例えば、特徴点を中心とする３２×３２のピクセルの小領域）からＤ次元の特徴量を抽出する。ここで、特徴量は何でもよく、たとえばＨＯＧ（Ｈｉｓｔｏｇｒａｍｓ  ｏｆ  Ｏｒｉｅｎｔｅｄ  Ｇｒａｄｉｅｎｔｓ）特徴量を用いることができる。そして、特徴量取得部１３は、すべての特徴点の特徴量を統合したＬＤ次元の特徴ベクトルｘｉを生成する（ｉはＳＤＭの反復処理回数）。
【００３６】
具体的には、特徴量取得部１３には、対象検出部１１で平均特徴点が配置された対象領域画像から特徴量を抽出して特徴ベクトルｘ１を生成し、さらに、再配置部１６から特徴点が再配置された対象領域画像が入力された場合には、その都度、上記と同様にして、特徴量を抽出して、特徴ベクトルｘｉを生成する。
【００３７】
回帰計算部１４は、特徴ベクトルｘｉを行列分解された回帰行列Ｗｉで変換することにより、差分ベクトルｙｉを求める。回帰行列Ｗｉは、特徴ベクトルｘｉを入力とし、平均特徴点に対する真の特徴点の位置のずれ量のベクトルｙｉを出力とし、特徴ベクトルｘｉをベクトルｙｉに変換する変換行列であり、多数の対象画像について、線形回帰の技術を用いた機械学習を行うことによって求めることができる。
【００３８】
本実施の形態の回帰計算部１４は、上記のようにして求めた回帰行列Ｗｉを基底行列Ｍｉと係数行列Ｃｉに分解して用いる。このために、図１に示すように、回帰計算部１４は、基底行列掛算部１４１と係数行列掛算部１４２とを備える。基底行列掛算部１４１は特徴ベクトルｘｉと基底行列Ｍｉとの掛算を行う（積をとる）演算を行う。係数行列掛算部１４２は、特徴ベクトルｘｉと基底行列Ｍｉとの積Ｍｘｉと係数行列Ｃｉとの掛算を行う（積をとる）演算を行う。
【００３９】
このように、本実施の形態の回帰計算部１４は、図２に示すように、回帰行列Ｗｉを２つの行列に分解した上で特徴ベクトルｘｉとの積を計算する。上述のように、ＳＤＭでは、対象領域画像における複数の特徴点の位置を推定するものであるが、このように推定される複数の特徴点の中には、互いに近い位置にある特徴点も多く存在する。特徴点の位置が互いに近いと、回帰行列Ｗｉの各列ベクトルｗｉが互いに似ることになる。回帰行列Ｗｉがこのような特性を持っている場合には、それを基底行列と係数行列に分解した場合に、より少ない基底数でよい近似が得られるという性質がある。
【００４０】
回帰行列が２つの小さな行列に分解されることで、メモリ消費量が減り、また演算量も減る。すなわち、従来、回帰行列（２Ｌ行ＬＤ列）と特徴ベクトル（ＬＤ次元）との積の演算には、（２Ｌ×ＬＤ）回の演算が必要であったのに対して、図２に示すように回帰行列Ｗを基底数ｋの基底行列Ｍと係数行列Ｃに分解した場合には、（ｋ×ＬＤ＋２Ｌ×ｋ）回の演算をすればよくなる。例えば、Ｌ＝１９４、Ｄ＝２８８、倍精度実数（８バイト）の場合は、１つの回帰行列Ｗにつき約１６５Ｍバイトのメモリを消費していたところ、図２のように分解した場合は、約（０．０５×ｋ）Ｍバイトのメモリ消費量で済むことになる。
【００４１】
行列記憶部１５は、回帰行列Ｗｉを分解して得られた基底行列Ｍｉと係数行列Ｃｉを記憶している。ｉは反復処理回数であって、本実施の形態では、ｉ＝１〜４である。なお、回帰行列Ｗｉの分解手法については後述する。
【００４２】
再配置部１６は、ｉ＝１の場合は、平均特徴点配置部１２で配置された平均特徴点の位置を回帰計算部１４で求められた差分ベクトルｙ１で補正することにより、特徴点を再配置する。ｉ≧２の場合には、再配置部１６はその時点で求められている特徴点の位置を回帰計算部１４で求められた差分ベクトルｙｉで補正することにより、特徴点を再配置する。
【００４３】
再配置部１６で再配置された特徴点は、反復処理のために特徴量取得部１３に出力される。特徴量取得部１３が再配置された特徴点から特徴量を抽出することで、特徴ベクトルｘ２が得られ、回帰計算部１４が回帰計算をすることで差分ベクトルｙ２が得られ、再配置部１６が差分ベクトルｙ２を用いて特徴点を再配置することで、再配置された特徴点が得られる。このように、特徴量の抽出と回帰による再配置（特徴量取得部１３、回帰計算部１４、及び再配置部１６の処理）を繰り返しつつｉをインクリメントし、ｉ＝４となって予定された反復回数分の処理を終了すると、再配置部１６は、そのとき配置されている各特徴点の位置の情報（特徴点座標）を出力する。
【００４４】
以下、回帰行列Ｗの分解と回帰計算部１４における回帰計算について、いくつかの実施の形態を説明する。回帰行列の分解は、一般的には特徴点位置推定装置１とは別の装置（以下、「行列分解装置」という。）によってあらかじめ実行されて、それによって生成された基底行列Ｍ及び係数行列Ｃが特徴点位置推定装置１の記憶部１５に記憶されている。
【００４５】
（第１の実施の形態）
図３は、第１の実施の形態によって回帰行列Ｗを基底数ｋの基底行列Ｍと係数行列Ｃに分解する処理を説明する図である。この例では、行列分解装置は、回帰行列Ｗを２つの実数行列に分解する。具体的には、行列分解装置は、回帰行列Ｗを特異値分解によって直行基底の実数の基底行列と実数の係数行列に分解する。
【００４６】
特徴点の位置が互いに近い場合には、回帰行列Ｗは低ランクになりやすく、回帰行列Ｗが低ランクであれば、小さな行列（小さな基底数ｋ）への分解が期待できる。基底数ｋを小さくすることで、演算量及びメモリ消費量を低減できることは上述したとおりである。
【００４７】
（第２の実施の形態）
図４は、第２の実施の形態によって回帰行列Ｗを基底数ｋの基底行列Ｍと係数行列Ｃに分解する処理を説明する図である。この例では、行列分解装置は、回帰行列Ｗを整数の基底行列Ｍと実数の係数行列Ｃに分解する。具体的には、行列分解装置は、回帰行列Ｗを二値又は三値の基底行列Ｍと実数の係数行列Ｃに分解する。そして、この基底行列Ｍと係数行列Ｃを用いる場合には、特徴点位置推定装置１の特徴量取得部１３にて特徴点につき抽出する特徴量についても二値とする。
【００４８】
特徴ベクトルｘを整数とすることで、基底行列Ｍと特徴ベクトルｘとの積の演算Ｍｘにおいて浮動小数点演算が発生しないので、回帰計算を高速に行うことができる。特に、基底行列Ｍが二値の場合は、排他的論理和（ＸＯＲ）をとって、ビット数をカウントするだけでよく、基底行列Ｍが三値の場合は、排他的論理和（ＸＯＲ）と論理積（ＡＮＤ）をとってビット数をカウントするのみでよい。よって、回帰計算を非常に高速に行うことができる。
【００４９】
以下、本実施の形態の行列分解装置によって二値の基底行列及び実数の係数行列に分解する手法をさらに具体的に説明する。
【００５０】
（第１の分解手法）
第１の分解手法として、データ非依存型の分解手法を説明する。第１の分解手法では、行列分解装置は、分解誤差を表す下式のコスト関数ｇ１を解くことで分解を行う。
【数１】
0006563858.tif 000002
ただし、基底行列Ｍは二値であり、Ｍ∈｛−１，１｝ＤＬ×ｋである。
【００５１】
具体的に、行列分解装置は、以下の手順で上記のコスト関数ｇ１を解く。
（１）基底行列Ｍ及び係数行列Ｃをランダムに初期化する。
（２）基底行列Ｍの要素を固定して、係数行列Ｃの要素を最小二乗法により最適化することで、コスト関数ｇ１が最小になるように係数行列Ｃの要素を更新する。
（３）係数行列Ｃの要素を固定して、コスト関数ｇ１が最小になるように全探索で基底行列Ｍの要素を更新する。
（４）収束するまで（２）及び（３）を繰り返す。例えば、コスト関数ｇ１が所定の収束条件（例えば、減少量が一定値以下となる）を満たしたときに、収束したと判定する。
（５）ステップ（１）〜ステップ（４）により得た解を候補として保持する。
（６）ステップ（１）〜ステップ（５）を繰り返し、最もコスト関数ｇ１を小さくできた候補基底行列Ｍ及び候補係数行列Ｃを最終結果として採用する。なお、このステップ（１）〜ステップ（５）の繰り返しはなくてもよいが、複数回繰り返すことで、初期値依存の問題を回避できる。
【００５２】
次に、ステップ（３）における基底行列Ｍの更新処理を説明する。基底行列Ｍのｊ行目の行ベクトルの要素は、回帰行列Ｗのｊ行目の要素のみに依存する。よって、基底行列Ｍの各行ベクトルの値は、他の行とは独立して最適化することができるので、基底行列Ｍは、行ごとに網羅探索（全探索）を行うことができる。基底行列Ｍのｊ行目の行ベクトルは、本実施の形態のように二値分解の場合は２ｋ通りしか存在しない（なお、三値分解の場合にも３ｋ通りしか存在しない）。よって、これらをすべて網羅的にチェックし、コスト関数ｇ１を最小化する行ベクトルを採用する。これを基底行列Ｍのすべての行ベクトルに対して適用して、基底行列Ｍの要素を更新する。
【００５３】
（第２の分解手法）
第２の分解手法として、係数行列Ｃを疎にするデータ非依存型の分解手法を説明する。第２の分解手法では、行列分解装置は、分解誤差である下式のコスト関数ｇ２を解くことで分解を行う。
【数２】
0006563858.tif 000003
ただし、基底行列Ｍは二値であり、Ｍ∈｛−１，１｝ＤＬ×ｋである。また、｜Ｃ｜１は、係数行列Ｃの要素のＬ１ノルムであり、λはその係数である。
【００５４】
行列分解装置は、以下の手順で上記のコスト関数ｇ２を解く。
（１）基底行列Ｍ及び係数行列Ｃをランダムに初期化する。
（２）基底行列Ｍの要素を固定して、係数行列Ｃの要素を近接勾配法で最適化する。
（３）係数行列Ｃの要素を固定して、コスト関数ｇ２が最小になるように全探索で基底行列Ｍの要素を更新する。
（４）収束するまで（２）及び（３）を繰り返す。例えば、コスト関数ｇ２が所定の収束条件（例えば、減少量が一定値以下となる）を満たしたときに、収束したと判定する。
（５）ステップ（１）〜ステップ（４）により得た解を候補として保持する。
（６）ステップ（１）〜ステップ（５）を繰り返し、最もコスト関数ｇ２を小さくできた候補基底行列Ｍ及び候補係数行列Ｃを最終結果として採用する。なお、このステップ（１）〜ステップ（５）の繰り返しはなくてもよいが、複数回繰り返すことで、初期値依存の問題を回避できる。
【００５５】
第２の分解手法によれば、係数行列Ｃを疎にすることができる。係数行列Ｃを疎にすることで、積ＣＭの計算において、係数行列Ｃのゼロ要素にかかわる部分を省略することができ、さらに高速に内積計算を行うことができる。
【００５６】
（第３の分解手法）
次に、第３の分解手法を説明する。第１の分解手法では、コスト関数ｇ１として、分解誤差
【数３】
0006563858.tif 000004
を定義し、この分解誤差を最小化することを考えた。しかしながら、回帰行列Ｗを基底行列Ｍと係数行列Ｃとの積に近似した後に実際に近似をしたいのは、特徴ベクトルｘと回帰行列Ｗの積ＷＴｘである。
【００５７】
そこで、第３の分解手法では、サンプル特徴ベクトルｘをあらかじめＳ個集め、これをまとめたものをＰ∈ＲＤＬ×Ｓとする。そして、分解誤差を
【数４】
0006563858.tif 000005
と定義して、これを最小化する。即ち、第３の分解手法では、行列分解装置は、下式のコスト関数ｇ３を解くことで分解を行う。
【数５】
0006563858.tif 000006
このコスト関数ｇ３によれば、回帰病列Ｗは、実際のデータの分布に従って分解されることになるため、分解の際の近似精度が向上する。
【００５８】
この近似分解は、基底行列Ｍを構成する基底ベクトルｍｊを逐次的に求めることで行うことができる。第３の分解手法の手順は以下のとおりである。
（１）第１又は第２の分解手法によって、基底行列Ｍ及び係数行列Ｃを求めて、これをそれらの初期値とする。
（２）基底行列Ｍの要素を固定して、係数行列Ｃの要素を最小二乗法で最適化する。
（３）係数行列Ｃの要素を固定して、基底行列Ｍの要素を最適化することで、基底行列Ｍの要素を更新する。この基底行列Ｍの更新処理については後述する。
（４）収束するまで（２）及び（３）を繰り返し、コスト関数ｇ３を最小化した基底行列Ｍ及び係数行列Ｃを候補として保持する。
（５）ステップ（１）〜（４）を繰り返し、コスト関数ｇ３を最小化した基底行列Ｍ及び係数行列Ｃを最終結果として採用する。なお、ステップ（１）では再度第１又は第２の分解手法による基底行列Ｍ及び係数行列Ｃの最適化が行われるので、初期値が変更される。また、ステップ（５）の繰り返しはなくてもよいが、複数回繰り返すことで、初期値依存の問題を軽減できる。
【００５９】
次に、ステップ（３）における基底行列Ｍの更新処理を説明する。データ依存分解の場合、基底行列Ｍの行ベクトルの値は、もはや他の行と独立せず、依存してしまう。基底行列Ｍの要素は、二値又は三値、即ち離散値であるため、基底行列Ｍの最適化は、組合最適化問題となる。よって、基底行列Ｍの最適化には、例えば、グリーディアルゴリズム（Ｇｒｅｅｄｙ  ａｌｇｏｒｉｔｈｍ）、タブーサーチ（Ｔａｂｕ  ｓｅａｒｃｈ）、シミュレイテッドアニーリング（Ｓｉｍｕｌａｔｅｄ  ａｎｎｅａｌｉｎｇ）等のアルゴリズムを用いることができる。ステップ（１）でよい初期値が得られているので、これらのアルゴリズムでも良好に分解誤差を最小化できる。
【００６０】
例えばグリーディアルゴリズムを用いる場合は、以下の手順で基底行列Ｍを最適化する。
（３−１）基底行列Ｍの要素のうち、ランダムにＴ個を選択する。
（３−２）２Ｔ通りの組み合わせ（後述の三値分解の場合は３Ｔ通り）を試し、最もコスト関数ｇ３を最小化したものを採用する。
（３−３）ステップ（３−１）及びステップ（３−２）を収束するまで繰り返す。
【００６１】
（第４の分解手法）
第４の分解手法は、第２の分解手法と第３の分解手法とを組み合わせたものである。具体的には、下式のコスト関数ｇ４を解くことで分解を行う。
【数６】
0006563858.tif 000007
このコスト関数ｇ４によれば、回帰行列Ｗは、実際のデータの分布に従って分解されることになるため、分解の際の近似精度が向上するとともに、係数行列Ｃを疎にすることができる。即ち、第２の分解手法のメリットと第３の分解手法のメリットをいずれも得ることができる。具体的な分解の手順は、第３の分解手法と同様である。
【００６２】
第２の実施の形態の分解では、回帰行列Ｗをまとめて一括して分解していたので、基底数ｋが大きくなると分解が困難になる。そこで、本実施の形態では、以下のアルゴリズムで実数行列を逐次的に分解してもよい。
【００６３】
図５は、本実施の形態の分割手法において実施されるアルゴリズムのフロー図である。なお、以下の説明において、第１又は第２の実施の形態で説明した分解手法で回帰行列Ｗをｋ個の基底を持つ基底行列Ｍと係数行列Ｃとに分解する手順を下式のように表記することとする。
【数７】
0006563858.tif 000008
【００６４】
まず、行列分解装置は、分解すべき回帰行列Ｗを取得する（ステップＳ５１）。次に、行列分解装置は、インデクスｊ（ｊ＝１〜Ｎ）を１とし、残差行列Ｒに回帰行列Ｗを代入する（ステップＳ５２）。残差行列Ｒは、逐次的な分解によってそれまでに分解された基底行列Ｍｊと係数行列Ｃｊとの内積の和と回帰行列Ｗとの差である。
【００６５】
次に、行列分解装置は、残差行列Ｒを第１又は第２の実施の形態の手法によって、基底行列Ｍと係数行列Ｃに分解する（ステップＳ５３）。このとき、基底数はｋｊとする。なお、基底数ｋｊ＝ｋ１、ｋ２、・・・、ｋＮは、あらかじめ行列分解装置に記憶されている。ＭｊＣｊが得られると、行列分解装置は、もとの残差行列ＲとＭｊＣｊとの差分を新たな残差行列Ｒとし（ステップＳ５４）、インデクスｊをインクリメントし（ステップＳ５５）、インデクスｊがＮより大きいか、即ち、Ｎ段階の逐次的な分解が終了したかを判断する（ステップＳ５６）。
【００６６】
インデクスｊがＮ以下である場合には（ステップＳ５６にてＮＯ）、行列分解装置は、ステップＳ５３に戻って、ステップＳ５４で得られた新たな残差行列Ｒに対して、ステップＳ５５でインクリメントされた新たなｊで再度分解を行う。以上の処理を繰り返して、インデクスｊがＮより大きくなったら（ステップＳ５６でＹＥＳ）、処理を終了する。なお、上記のように、Ｎ段の基底数ｋｊ＝ｋ１、ｋ２、・・・、ｋＮは、あらかじめ用意されており、それらは同じ数であっても互いに異なる数であってもよい。また、基底数ｋは例えば８程度であればよい。
【００６７】
本実施の形態によれば、分解の基底数ｋを増やせば増やすほど、もとの精度に近づけることができる。
【００６８】
（第３の実施の形態）
図６は、第３の実施の形態における回帰行列の分解を説明する図である。本実施の形態では、図６に示すように、回帰行列Ｗのｊ列目のベクトルを個別に分解して、それらをまとめる。このようにベクトルごとに分解することで、分解にかかる計算コストを抑えることができる。個々のベクトルは、第２の実施の形態で述べた手続きよって分解すればよい。
【００６９】
以下の説明では、回帰行列Ｗのｊ列目の列ベクトルをｗｊと表記し、係数行列Ｃのｊ列目の列ベクトルをｃｊと表記する。本実施の形態では、複数の実数ベクトルｗｊを並べてなる回帰行列Ｗを、複数の基底行列Ｍｉと、複数の係数ベクトルｃｊを図６に示すように斜めに並べてなる行列との積の和に分解したものとみなせる。なお、図６において行列のハッチング部分には０が入る。
【００７０】
（第４の実施の形態）
本実施の形態は、特徴点位置を推定する対象である対象画像が連続する複数のフレームとして得られる場合に適用される。本実施の形態の特徴点抽出部１３は、前フレームで特徴量抽出と回帰計算を反復する過程の中間ステージにおいて再配置部１６で得られた特徴点位置を、現フレームの初期特徴点位置として、特徴量を抽出して回帰計算を開始する。
【００７１】
本実施の形態は、特に、前フレームと現フレームとで画像の変化が小さい場合に有効に適用でき、本実施の形態によれば、特徴量抽出及び回帰計算の反復回数を減らせるため、収束までの演算量を削減できる。
【００７２】
（第５の実施の形態）
本実施の形態の特徴点位置推定装置は、上記の実施の形態の特徴点推定装置の構成に加えて、特徴点位置の推定が成功したか否かを判定するスコア（確からしさ）を算出する評価部（図示は省略）をさらに備えている。いま、特徴量取得部１３による特徴量の抽出と回帰計算部１４による回帰計算の反復を繰り返し、器官点位置が得られたとする。
【００７３】
評価部は、得られた特徴点位置から選出したＬ´個の特徴点から特徴量を抽出し、Ｌ´Ｄ次元のベクトルｘ´を得て、これに対し、ｓ＝ｗＴｘ´の線形変換を適用してスコアを求める。このとき、（Ａ）特徴点ごとにスコアをつけてもよく（Ｌ´＝１）、（Ｂ）全ての特徴点を１つのグループとみなし、全体に１つのスコアをつけてもよく（Ｌ´＝Ｌ´）、あるいは、（Ｃ）顔のパーツ（例えば、目、鼻、口）ごとに特徴点（器官点）をグループ化し、グループごとにスコアをつけてもよい。
【００７４】
特に、（Ｂ）及び（Ｃ）の場合には、一点一点にスコアをつけるよりも、グループ化したスコアで推定した部位の信頼性を判定することにより、ロバストな信頼度推定ができる。例えば、人の顔から特徴点としての器官点の位置を推定する場合において、人がマスクを装着している場合には、初期特徴点位置として口がある部分に特徴点が配置されて特徴量の抽出及び回帰計算の反復が行われ、その場合には、一般的にはマスク部分において低い評価が得られることにあなるが、このマスク部分においても、マスクのしわ等で偶然にスコアの高い特徴点が１つ存在してしまうような場合がある。このような場合でも、グループ化したスコア判定であれば、マスク部分のグループについては低いスコアを得ることができ、グループ化したスコアが低ければ、対象となる器官点座標はすべて信頼度が低いとみなすことができる。
【００７５】
スコア計算ための線形変換における重みｗは、例えば線形ＳＶＭなどを持ち、ポジティブデータとネガティブデータを用意して、事前に学習しておけばよい。たとえば、学習データの顔にあてはめ済みの特徴点（器官点）から得た特徴量（ポジティブデータ）及び顔でない画像に特徴点（器官点）をランダムにあてはめた特徴量（ネガティブデータ）を線形ＳＶＭで学習すればよい。本実施の形態によれば、スコアを評価することで、特徴点位置の推定が失敗したか否かを判定できる。
【００７６】
（第６の実施の形態）
本実施の形態では、回帰計算部１４は、回帰計算の対象とする特徴点の優先度付けを行い、例えば、最初の回帰計算では優先度上位の特徴量のみを利用し、２回目では優先度中位の特徴量まで利用し、３回目は優先度下位の特徴量まで利用する、といった具合に段階分けする。優先度付けの考え方は、例えば、人の顔から特徴点としての器官点の位置を推定する場合は、顔向き、顔表情、着用物、個人差の影響を受けにくい部位とする。鼻、目頭、目尻、口端、・・・の順に優先度を低くする。
【００７７】
図７は、本実施の形態の回帰計算に利用する特徴点を説明する図であり、図８は、反復１回目の回帰計算を示す図であり、図９は、反復２回目の回帰計算を示す図であり、図１０は、反復３回目の回帰計算を示す図である。図７に示すように、この例では、１６点の特徴点が配置されているが、反復１回目には、そのうちの６点（図７の左の写真にてハッチングをした特徴点）のみを利用する。すなわち、回帰計算部１４は、反復１回目は、優先度の高い鼻、目頭の特徴点（６点）のみを用いて図８に示すｙ１＝Ｗ１Ｔｘ１の回帰計算を行う。これによって、すべての点（１６点）についてのずれ量が算出され、すべての点について再配置を行うことができる。
【００７８】
反復２回目は、回帰計算部１４は、図９に示すように、更に３点を加えて９点の特徴点についてｙ２＝Ｗ２Ｔｘ２の回帰計算を行う。このように、入力に９点分の特徴量を入力して、１６点分のずれ量を算出し、１６点の座標を推定することになる。換言すれば、入力と出力で関わる特徴点数が異なっており、反復が進むにつれ、推定する特徴点を増やしていく。そして、反復３回目には、回帰計算部１４は、図１０に示すように、すべての１６点の特徴点についてｙ３＝Ｗ３Ｔｘ３の回帰計算を行う。
【００７９】
このように、本実施の形態によれば、回帰計算の反復において、後半に行くほど推定する特徴点を増やしていくことで、回帰計算の量及び回数を削減でき、計算コストを低減できる。また、反復の初期においては、ロバスト性高く認識できる器官点の特徴のみを用いることで、処理量を削減できる。  
【００８０】
（第７の実施の形態）
第７の実施の形態の特徴量取得部１３は、対象領域から特徴量を抽出する代わりに、対象検出部１１で対象領域を検出する際に利用した特徴量をそのまま流用する。この場合に、対象検出部１１は、対象画像から二値のＨＯＧ特徴量（ＢｉｎａｒｙＨＯＧ）を抽出して識別処理を行うことで、対象画像から対象領域を検出する。
【００８１】
具体的には、対象検出部１１は、対象画像を複数段階の倍率でそれぞれ縮小してなるピラミッド画像を生成し、このピラミッド画像の各段における画像を、８×８ピクセルのサイズのブロックに分割し、各ブロックからＨＯＧ特徴量を抽出して、各ブロックに与えられた特徴量を二値ベクトルに変換する。
【００８２】
識別処理では、対象検出部１１は、例えば、各段の画像に、辞書を用いた線形ＳＶＭを実行することで、顔領域の検出を行う。そして、対象検出部１１は、顔領域が検出された段の画像から、その検出に用いた特徴量を切り出して、特徴量取得部１３に出力する。特徴量取得部１３は、各特徴点の特徴量を求める際に、対象検出部１１から取得した特徴量を利用する。
【００８３】
なお、上記の実施の形態の特徴量取得部１３は、配置（ないし再配置）された各特徴点を基準とするブロック（例えば、各特徴点を中心とする３２×３２のピクセルの小領域ブロック）を設定してそこから特徴量を抽出するものであったのに対して、本変形例では、対象検出部１１が対象領域の検出のために抽出した特徴量を利用するので、この特徴量は、必ずしも配置された特徴点を基準とするブロックから抽出されたものとはならない。
【００８４】
しかしながら、本実施の形態では、対象検出部１１が抽出した各ブロックの特徴量のうち、配置された特徴点が属するブロックの特徴量を、当該特徴点の特徴量とする。このように、本実施の形態では、特徴量の抽出という点では精度が落ちるが、ＳＤＭにて十分な反復処理を行うことで十分な精度で特徴点の位置を推定できる。一方で、本実施の形態では、特徴量取得部１３が特徴量を計算する必要がないので、特徴量抽出の計算時間を短縮でき、特徴点の位置推定を高速化できる。
【００８５】
図１１は、対象検出部１１の処理を説明する図である。対象検出部１１は、ピラミッド画像から対象領域を検出するにあたって、図１１（ａ）に示すように、１つの辞書をもってピラミッド画像の各段の画像について識別処理を行ってもよいが、図１１（ｂ）に示すように、大きさの異なる複数の辞書からなるピラミッド辞書を用意して、図１１（ａ）のピラミッド画像を間引きした粗いピラミッド画像を生成して識別処理を行ってもよい。
【産業上の利用可能性】
【００８６】
本発明は、特徴量取得と回帰計算とを繰り返す特徴点位置推定処理において、回帰計算に用いる回帰行列が行列分割されているので、メモリ消費量及び演算量を低減でき、画像における特徴点の位置を推定する特徴点推定装置等として有用である。
【符号の説明】
【００８７】
１  特徴点位置推定装置
１１  対象検出部
１２  特徴点配置部
１３  特徴量取得部
１４  回帰計算部
１４１  基底行列掛算部
１４２  係数行列掛算部
１５  行列記憶部
１６  再配置部
【図１】
0006563858.tif 000009
【図２】
0006563858.tif 000010
【図３】
0006563858.tif 000011
【図４】
0006563858.tif 000012
【図５】
0006563858.tif 000013
【図６】
0006563858.tif 000014
【図７】
0006563858.tif 000015
【図８】
0006563858.tif 000016
【図９】
0006563858.tif 000017
【図１０】
0006563858.tif 000018
【図１１】
0006563858.tif 000019
【図１２】
0006563858.tif 000020
【図１３】
0006563858.tif 000021
【図１４】
0006563858.tif 000022
【図１５】
0006563858.tif 000023
【図１６】
0006563858.tif 000024
【図１７】
0006563858.tif 000025
【図１８】
0006563858.tif 000026
【図１９】
0006563858.tif 000027
【図２０】
0006563858.tif 000028