(57)【要約】認識タスクにおける認識アルゴリズムに合う適切な特徴点を選ぶことができる特徴点選択システムを提供する認識タスク実行手段１１は、複数の評価用画像に対して、３次元形状モデル上の複数の特徴点候補毎の重要度を用いつつ、認識タスクを実行する。認識誤差評価手段１２は、認識タスクの認識結果と、各評価用画像に対する認識タスクの正解データとの差から、全評価用画像に関する認識誤差を評価する。特徴点重要度決定手段１３は、全評価用画像に関する認識誤差に、重要でない特徴点候補の重要度をゼロに近づきやすくするという制約条件を加えた関数として表されるコスト関数を定め、コスト関数の値が最小となるような各特徴点候補の重要度を計算する。特徴点選択手段１４は、各特徴点候補の重要度に基づいて、３次元形状モデル上の特徴点候補から、認識タスクで使用するべき特徴点を選択する。
2011086889.tif 000002
【特許請求の範囲】
【請求項１】
３次元形状モデルから生成された画像であって認識タスクにおける認識誤差を評価するために用いられる画像である複数の評価用画像に対して、前記３次元形状モデル上の複数の特徴点候補毎の重要度を用いつつ、認識タスクを実行する認識タスク実行手段と、
認識タスク実行手段による認識結果と、各評価用画像に対する認識タスクの正解データとの差から、全評価用画像に関する認識誤差を評価する認識誤差評価手段と、
各特徴点候補の重要度の関数であって、全評価用画像に関する認識誤差に、重要でない特徴点候補の重要度をゼロに近づきやすくするという制約条件を加えた関数として表されるコスト関数を定め、当該コスト関数の値が最小となるような各特徴点候補の重要度を計算することによって、各特徴点候補の重要度を決定する特徴点重要度決定手段と、
各特徴点候補の重要度に基づいて、前記３次元形状モデル上の特徴点候補から、前記認識タスクで使用するべき特徴点を選択する特徴点選択手段とを備え、
認識タスク実行手段、認識誤差評価手段および特徴点重要度決定手段は、特徴点重要度決定手段によって決定される各特徴点候補の重要度により定まるコスト関数の値が収束するまで、認識タスク実行手段が、認識タスクを実行し、認識誤差評価手段が、全評価用画像に関する認識誤差を評価し、特徴点重要度決定手段が、特徴点候補の重要度を決定することを繰り返す
ことを特徴とする特徴点選択システム。
【請求項２】
特徴点重要度決定手段は、重要度が予め定められた閾値以下になった特徴点候補を認識タスクの処理対象から除外する
請求項１に記載の特徴点選択システム。
【請求項３】
３次元形状モデルから複数の評価用画像と、各評価用画像に対する認識タスクの正解データとを作成するとともに、３次元形状モデルから生成される画像であって特徴点抽出器の判定用データの学習に用いられる画像である学習画像を複数生成し、３次元形状モデル上の各特徴点候補の各学習画像上における位置を表す位置データを生成する学習・評価用データ生成手段と、
学習・評価用データ生成手段によって生成された各学習画像および位置データに基づいて、各学習画像から特徴点に該当する局所領域および特徴点に該当しない局所領域を切り出す局所領域切り出し手段と、
特徴点に該当する局所領域および特徴点に該当しない局所領域に基づいて、特徴点抽出器の判定用データを学習する特徴点抽出器学習手段と、
前記判定用データを用いて、各評価用画像から特徴点を抽出する特徴点抽出実行手段とを備える
請求項１または請求項２に記載の特徴点選択システム。
【請求項４】
３次元形状モデルから、当該３次元形状モデル上の特徴点候補となる点を決定する特徴点候補決定手段を備える
請求項３に記載の特徴点選択システム。
【請求項５】
特徴点候補決定手段は、３次元形状モデルのテクスチャ画像および３次元形状モデルの形状に対して複数種類の特徴抽出演算子を適用して特徴点候補となる点を抽出することによって、特徴点候補となる点を決定する
請求項４に記載の特徴点選択システム。
【請求項６】
３次元形状モデルから生成された画像であって認識タスクにおける認識誤差を評価するために用いられる画像である複数の評価用画像に対して、前記３次元形状モデル上の複数の特徴点候補毎の重要度を用いつつ、認識タスクを実行し、
前記認識タスクの認識結果と、各評価用画像に対する認識タスクの正解データとの差から、全評価用画像に関する認識誤差を評価し、
各特徴点候補の重要度の関数であって、全評価用画像に関する認識誤差に、重要でない特徴点候補の重要度をゼロに近づきやすくするという制約条件を加えた関数として表されるコスト関数を定め、当該コスト関数の値が最小となるような各特徴点候補の重要度を計算することによって、各特徴点候補の重要度を決定し、
決定された各特徴点候補の重要度により定まるコスト関数の値が収束するまで、前記認識タスクの実行と、全評価用画像に関する認識誤差の評価と、特徴点候補の重要度の決定を繰り返し、
各特徴点候補の重要度に基づいて、前記３次元形状モデル上の特徴点候補から、前記認識タスクで使用するべき特徴点を選択する
ことを特徴とする特徴点選択方法。
【請求項７】
重要度が予め定められた閾値以下になった特徴点候補を認識タスクの処理対象から除外する請求項６に記載の特徴点選択方法。
【請求項８】
コンピュータに、
３次元形状モデルから生成された画像であって認識タスクにおける認識誤差を評価するために用いられる画像である複数の評価用画像に対して、前記３次元形状モデル上の複数の特徴点候補毎の重要度を用いつつ、認識タスクを実行する認識タスク実行処理、
認識タスク実行処理による認識結果と、各評価用画像に対する認識タスクの正解データとの差から、全評価用画像に関する認識誤差を評価する認識誤差評価処理、
各特徴点候補の重要度の関数であって、全評価用画像に関する認識誤差に、重要でない特徴点候補の重要度をゼロに近づきやすくするという制約条件を加えた関数として表されるコスト関数を定め、当該コスト関数の値が最小となるような各特徴点候補の重要度を計算することによって、各特徴点候補の重要度を決定する特徴点重要度決定処理、および、
各特徴点候補の重要度に基づいて、前記３次元形状モデル上の特徴点候補から、前記認識タスクで使用するべき特徴点を選択する特徴点選択処理を実行させ、
前記特徴点重要度決定処理で決定される各特徴点候補の重要度により定まるコスト関数の値が収束するまで、前記認識タスク実行処理、前記認識誤差評価処理および前記特徴点重要度決定処理を繰り返させる
ための特徴点選択プログラム。
【請求項９】
コンピュータに、
特徴点重要度決定処理で、重要度が予め定められた閾値以下になった特徴点候補を認識タスクの処理対象から除外させる
請求項８に記載の特徴点選択プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元形状モデル上の複数の特徴点の中から認識タスクにとって有効な特徴点を選択する特徴点選択システム、特徴点選択方法および特徴点選択プログラムに関する。
【背景技術】
【０００２】
画像に示された物体やその物体の状態を認識する処理を認識タスクと呼ぶ。認識タスクの例として、個体（例えば人の顔）の画像から、その個体の向き（以下、姿勢と記す。）を推定したり、その個体を識別したりする処理が挙げられる。物体の姿勢推定を例にして認識タスクの例を示す。まず、予め物体の３次元形状モデルにおける特徴点の３次元位置を記憶しておく。一般に、システム稼働後に認識対象の個体が新たに登録されるシステムにおいて、特徴点位置は全個体で共通とされる。特徴点の記憶後、認識対象の画像（本例では、姿勢推定しようとする物体が表された画像）から、特徴点の位置を検出し、予め記憶していた特徴点の３次元位置と対応付ける。そして、認識対象画像における特徴点の位置と、３次元形状モデル上における特徴点の位置との対応関係から物体の姿勢推定を行う。この対応関係から物体の姿勢を推定する方法は、透視ｎ点問題の解法として知られている。【０００３】
上記のような処理において、予め記憶される３次元形状モデル上の特徴点は、予め、認識対象物体の一部であり画像の中で位置を特定することが容易であること、および、認識タスクにおいてその部位の位置が重要であることの双方を総合的に考慮して人手で定められていた。人手による特徴点決定について、より詳細に説明する。姿勢推定や個体識別等のタスクを行う認識アルゴリズムは、一般に、用いる特徴点の数が多いほど認識性能を向上できる。しかし、多数の特徴点を用いると、認識アルゴリズムの計算量は増大する。さらに、認識対象画像から特徴点を抽出するための計算量も増大する。そのため、特徴点の数を絞り込むことが実用上重要である。少数の特徴点で認識タスクにおける認識性能を向上させるためには、以下のような条件を満たす特徴点を決めておく必要がある。第１条件として、認識タスクにおいて重要な特徴点であること（換言すれば、認識アルゴリズムの精度に与える影響が大きいこと）が必要である。さらに、第２条件として、画像から特徴点として精度良く抽出できることが必要である。一般的に、第１条件および第２条件を両方とも満たす特徴点が３次元形状モデル上の点から人手で決められている。【０００４】
３次元モデル上の特徴点を自動的に決定する手法としては、例えば、非特許文献１には、エントロピーに基づいて特徴点を生成する方法が記載されている。しかしながら、この技術では上記の第１条件・第２条件の双方を考慮し、認識タスクにとって有用な少数の特徴点に絞り込むことができなかった。このため、認識タスクに使用する特徴点の定義は人手によって決定されていた。【０００５】
また、認識対象画像からの特徴点抽出は、認識対象画像から各部分をそれぞれ切り出し、予め学習しておいた判定用パターンと比較し、最も特徴点らしいと判定された位置を特徴点位置と決定することにより行う。【０００６】
非特許文献２には、画像間の対応点を求めるために必要な特徴点を、ＳＩＦＴ（Scale-Invariant Feature Transform ）アルゴリズムによって抽出する技術が記載されている。ＳＩＦＴアルゴリズムは、多重解像度解析による塊検出と、濃淡勾配のヒストグラムを利用した画像間の対応付けを可能とする。ＳＩＦＴアルゴリズムでは、特徴点の特徴量も算出する。予め学習において与えられた判定用パターンの特徴量を記憶しておき、認識対象の画像から抽出された特徴点の特徴量と比較することで、特徴点かどうかの判定を行い、その位置を抽出することができる。【０００７】
また、この判定を行う技術として、多くのパターン識別法を利用することもできる。その一例として、一般化学習ベクトル量子化（ＧＬＶＱ：Generalized Learning Vector Quantization）を用いることが非特許文献３に記載されている。非特許文献３では顔のパターン検出を行っているが、パターンを顔から特徴点に置き換えれば特徴点の検出を行うことができる。また、機械学習の手法としてＳＶＭ（Support Vector Machine）も知られている。【０００８】
認識対象画像上に表される特徴点の見え方は、物体の姿勢や照明条件によって変化する。画像から切り出された部分が特徴点に該当するか否かを正しく判断するためには、判定用パターンを学習しておく必要がある。そのため、様々な条件で物体の学習用画像を多数撮影しておき、その多数の学習用画像それぞれにおいて正しい特徴点の位置を人手で入力して判定用パターンを学習させていた。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】Joshua Cates, Miriah Meyer, P.Thomas Fletcher, Ross Whitaker, “Entropy-Based Particle Systems for Shape Correspondence”,Proceedings of the MICCAI,２００６年
【非特許文献２】藤吉弘亘、「Ｇｒａｄｉｅｎｔベースの特徴抽出  −ＳＩＦＴとＨＯＧ−」、情報処理学会研究報告  ＣＶＩＭ１６０、pp.211-224、２００７年
【非特許文献３】細井利憲、鈴木哲明、佐藤敦、「一般化学習ベクトル量子化による顔検出」、Technical report of IEICE. PRMU，Vol.102,No.651(20030213),pp.47-52
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上記の第１条件における重要度や第２条件における特徴点抽出の精度は、認識対象物体の種類（形状や見え方）、画像から特徴点を抽出する方法の特性、認識タスク（姿勢推定や個体識別等）に用いる手法の特性、認識対象画像の撮影条件等の様々な要因に依存する。そのため、認識タスクを行うシステムを作り上げて稼働させるまで、第１条件における重要度や第２条件における特徴点抽出の精度は定量化することが難しかった。そのため、そのような重要度や精度をシステム開発者が主観的に見積もっていた。従って、熟達した開発者でなければ、３次元形状モデル上から、上記の第１条件および第２条件を満たす適切な特徴点を選択することが困難であり、認識タスクのアルゴリズム自体が持つ最大限の認識性能を得ることが困難であった。【００１１】
そこで、本発明は、認識タスクにおける認識アルゴリズムに合う適切な特徴点を選ぶことができる特徴点選択システム、特徴点選択方法および特徴点選択プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明による特徴点選択システムは、３次元形状モデルから生成された画像であって認識タスクにおける認識誤差を評価するために用いられる画像である複数の評価用画像に対して、３次元形状モデル上の複数の特徴点候補毎の重要度を用いつつ、認識タスクを実行する認識タスク実行手段と、認識タスク実行手段による認識結果と、各評価用画像に対する認識タスクの正解データとの差から、全評価用画像に関する認識誤差を評価する認識誤差評価手段と、各特徴点候補の重要度の関数であって、全評価用画像に関する認識誤差に、重要でない特徴点候補の重要度をゼロに近づきやすくするという制約条件を加えた関数として表されるコスト関数を定め、当該コスト関数の値が最小となるような各特徴点候補の重要度を計算することによって、各特徴点候補の重要度を決定する特徴点重要度決定手段と、各特徴点候補の重要度に基づいて、３次元形状モデル上の特徴点候補から、認識タスクで使用するべき特徴点を選択する特徴点選択手段とを備え、認識タスク実行手段、認識誤差評価手段および特徴点重要度決定手段は、特徴点重要度決定手段によって決定される各特徴点候補の重要度により定まるコスト関数の値が収束するまで、認識タスク実行手段が、認識タスクを実行し、認識誤差評価手段が、全評価用画像に関する認識誤差を評価し、特徴点重要度決定手段が、特徴点候補の重要度を決定することを繰り返すことを特徴とする。【００１３】
また、本発明による特徴点選択方法は、３次元形状モデルから生成された画像であって認識タスクにおける認識誤差を評価するために用いられる画像である複数の評価用画像に対して、３次元形状モデル上の複数の特徴点候補毎の重要度を用いつつ、認識タスクを実行し、認識タスクの認識結果と、各評価用画像に対する認識タスクの正解データとの差から、全評価用画像に関する認識誤差を評価し、各特徴点候補の重要度の関数であって、全評価用画像に関する認識誤差に、重要でない特徴点候補の重要度をゼロに近づきやすくするという制約条件を加えた関数として表されるコスト関数を定め、当該コスト関数の値が最小となるような各特徴点候補の重要度を計算することによって、各特徴点候補の重要度を決定し、決定された各特徴点候補の重要度により定まるコスト関数の値が収束するまで、認識タスクの実行と、全評価用画像に関する認識誤差の評価と、特徴点候補の重要度の決定を繰り返し、各特徴点候補の重要度に基づいて、３次元形状モデル上の特徴点候補から、認識タスクで使用するべき特徴点を選択することを特徴とする。【００１４】
また、本発明による特徴点選択プログラムは、コンピュータに、３次元形状モデルから生成された画像であって認識タスクにおける認識誤差を評価するために用いられる画像である複数の評価用画像に対して、３次元形状モデル上の複数の特徴点候補毎の重要度を用いつつ、認識タスクを実行する認識タスク実行処理、認識タスク実行処理による認識結果と、各評価用画像に対する認識タスクの正解データとの差から、全評価用画像に関する認識誤差を評価する認識誤差評価処理、各特徴点候補の重要度の関数であって、全評価用画像に関する認識誤差に、重要でない特徴点候補の重要度をゼロに近づきやすくするという制約条件を加えた関数として表されるコスト関数を定め、当該コスト関数の値が最小となるような各特徴点候補の重要度を計算することによって、各特徴点候補の重要度を決定する特徴点重要度決定処理、および、各特徴点候補の重要度に基づいて、３次元形状モデル上の特徴点候補から、認識タスクで使用するべき特徴点を選択する特徴点選択処理を実行させ、特徴点重要度決定処理で決定される各特徴点候補の重要度により定まるコスト関数の値が収束するまで、認識タスク実行処理、認識誤差評価処理および特徴点重要度決定処理を繰り返させることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、認識タスクにおける認識アルゴリズムに合う適切な特徴点を選ぶことができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施形態の特徴点選択システムの例を示すブロック図である。
【図２】第１の実施形態における処理経過の例を示すフローチャートである。
【図３】本発明の第２の実施形態の特徴点選択システムの例を示すブロック図である。
【図４】学習画像または評価用画像となる画像の例を示す説明図である。
【図５】特徴点の正解位置データの例を示す説明図である。
【図６】第２の実施形態における処理経過の例を示すフローチャートである。
【図７】本発明の第３の実施形態の特徴点選択システムの例を示すブロック図である。
【図８】本発明の最小構成の例を示すブロック図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態を図面を参照して説明する。
【００１８】
実施形態１．
図１は、本発明の第１の実施形態の特徴点選択システムの例を示すブロック図である。第１の実施形態の特徴点選択システムには、３次元形状モデル１と、その３次元形状モデル１上の複数の特徴点候補２と、評価データ３とが入力データとして入力される。特徴点候補２は、３次元形状モデル１上の複数の特徴点の候補であり、３次元形状モデル１における位置で表される。また、評価データ３には、認識タスクの性能評価に用いるための多様な撮影条件における評価用画像群（図１において図示略）と、その評価用画像群に対して特徴点抽出を実行した結果として得られた特徴点データ４と、その評価用画像群に対する認識タスクの正解データ（認識結果正解データ）５とが含まれる。特徴点データ４は、評価用画像上の特徴点のデータであり、評価用画像における位置で表される。なお、認識タスクの種類は特に限定されないが、特徴点選択システムが扱う認識タスクは予め定められている。また、評価用画像は、３次元形状モデル１から作成された画像であり、認識タスクにおける認識誤差を評価するために用いられる画像である。また、評価用画像群からの特徴点抽出は、例えば、あるパターン（画像の一部）が入力されたときにそのパターンが特徴点であるか否かを判定する特徴点抽出器を用いて行えばよい。特徴点抽出器は、そのような判定を行うための内部データを予め学習しておけばよい。
【００１９】
第１の実施形態の特徴点選択システムは、予め定められた認識タスクにおける認識誤差を少なくできるような重要度の高い特徴点９を、３次元形状モデル１上の複数の特徴点候補２の中から選択し、出力する。
【００２０】
本発明の第１の実施形態の特徴点選択システムは、認識タスク実行手段１１と、認識誤差評価手段１２と、特徴点重要度決定手段１３と、特徴点選択手段１４とを備える。
【００２１】
認識タスク実行手段１１は、評価データ３に含まれるそれぞれの評価用画像から得られた特徴点データ４を用い、予め定められた認識タスクを実行する。認識タスクの種類は特に限定されない。例えば、認識タスク実行手段１１は、姿勢推定を行っても、あるいは、顔識別等の個体識別を行ってもよい。あるいは、表情推定や年齢推定等を行ってもよい。
【００２２】
ただし、本発明では、各特徴点に対して重みを付与した上で認識タスクを実行する点が特徴である。各特徴点に対して重みを付与した上で実行する認識タスクを、重み付き認識タスクと呼ぶこととする。各特徴点に対する重みは、認識タスクにおける認識誤差を少なくするという観点での特徴点の重要度ということができ、特徴点に対する重みを、特徴点の重要度と記す場合がある。一般的な認識タスクと本発明における重み付き認識タスクとを比較すると、一般的な認識タスクでは、認識結果を用いて各特徴点の位置を再現した際の再現誤差の総和を最小化するような認識結果を求めるものである。これに対して、本発明における重み付き認識タスクでは、各特徴点の重要度をあらわす重みを再現誤差に乗算した値の総和を最小化するような認識結果を求める。特徴点に対する重み（特徴点の重要度）は、個々の特徴点に対してそれぞれ定められる値である。また、評価データ３に含まれる各評価用画像に対して認識タスクを行う際に、各特徴点の重要度として同じ重要度を用いる。すなわち、特徴点の重要度は、個々の特徴点に対してそれぞれ定められる。そして、その特徴点毎の各重要度は、評価用画像毎に変化しない。
【００２３】
また、認識タスク実行手段１１は、評価データ３に含まれるそれぞれの評価用画像に対して重み付き認識タスクを実行する毎に、その認識タスクの認識結果で生じた認識誤差を求める処理も行う。認識誤差は、認識タスクで得られた認識結果と、認識結果正解データとの差である。
【００２４】
例えば、認識タスクが姿勢推定であるとすると、認識タスク実行手段１１は、評価データ３に含まれる評価用画像に対して、特徴点セット（特徴点の集合）を用いて姿勢推定を行った結果得た向きと正解となる姿勢との差を認識誤差として計算すればよい。また、認識タスクとして顔画像による個人識別を行う場合、複数の人物について３次元形状モデル１およびその３次元形状モデル１上の複数の特徴点を指定する情報を用意しておき、各人物の評価データ３も作成しておく。そして、その評価データ３に対して特徴点セットを用いて顔認識を行った結果、顔認識に失敗した人物の割合を認識誤差として計算する。ここに上げた認識タスクの例はあくまで一例であり、これらに限定されるものではない。
【００２５】
なお、ここでは、認識タスク実行手段１１が重み付き認識タスクを行うとともに、認識誤差も求めるものとして説明したが、認識誤差の算出は、認識タスク実行手段１１ではなく、認識誤差評価手段１２が行ってもよい。図１では、認識誤差評価手段１２が、認識結果正解データ５を用いて、認識誤差を求める場合の例を示している。
【００２６】
以下、認識タスク実行手段１１が実行する認識タスクの実行例を詳しく説明する。ここでは、認識タスク実行手段１１が認識タスクとして、評価用画像に関する姿勢推定を行う場合を例にして説明する。評価用画像に関する姿勢推定は、「評価用画像から抽出された特徴点の位置（すなわち、特徴点データ４）」と「３次元形状モデル１上の特徴点（特徴点候補２）から計算される、ある姿勢における画像上の特徴点の位置」との間の誤差（再投影誤差）が最小となるとなるような姿勢θを計算する処理である。θは、物体の回転角度と３次元位置を並べた６次元ベクトルである。
【００２７】
評価用画像から抽出された特徴点ｉの位置をベクトルｙｉとする。このベクトルｙｉは、図１に示す特徴点データ４に相当する。また、３次元形状モデル１から計算される物体の姿勢がθであるときの特徴点ｉの画像上の位置をベクトルｘｉ（θ）と記す。すなわち、ｘｉ（θ）は、３次元形状モデル１の姿勢をθとしたときの画像上の特徴点であって、３次元形状モデル１上の特徴点に対応する特徴点の位置である。
【００２８】
一般的な姿勢推定では、再投影誤差εａは、以下に示す式（１）で表される。
【００２９】
εａ＝Σｉ（ｙｉ−ｘｉ（θ））Ｔ（ｙｉ−ｘｉ（θ））          式（１）
【００３０】
ここで、３次元形状モデル１上の特徴点の位置をＸｉとし、姿勢θによって決まる透視カメラ行列をＰｐ（θ）とする。なお、３次元形状モデル１上の特徴点の位置Ｘｉは、図１に示す特徴点候補２に相当する。このとき、ｘｉ（θ）は、以下に示す式（２）によって求められる。
【００３１】
ｘｉ（θ）＝Ｐｐ（θ）Ｘｉ          式（２）
【００３２】
また、Ｐｐ（θ）は、以下に示す式（３）によって求められる。
【００３３】
Ｐｐ（θ）＝Ａ［Ｒ  Ｔ］          式（３）
【００３４】
式（３）において、Ａは、カメラの内部パラメータを表す行列であり、カメラの内部パラメータ行列として現実的な値に定めておけばよい。Ｒ，Ｔは、それぞれ姿勢θにおける回転ベクトルおよび平行移動ベクトルとして定められる。一般的な姿勢推定の認識タスクは、式（１）におけるεａの値を最小にする姿勢パラメータθの値を求める問題として定式化できる。この問題は、非線形最小二乗法の解法を用いて解くことができ、そのための数多くの方法が一般に公知である。例えば、下記の参考文献１に記載された方法を適用して、εａの値を最小にする姿勢パラメータθを求めることができる。
【００３５】
［参考文献１］
徐剛、「写真から作る３次元ＣＧ」、近代科学社、P.59-62および付録Ｆ
【００３６】
本発明の認識タスク実行手段１１は、各特徴点ｉの認識タスクにおける重要度を表す重みｗｉを導入し、姿勢推定を重み付き認識タスクとして実行する。すなわち、姿勢推定を行う場合には、認識タスク実行手段１１は、以下に示す式（４）のように、重みｗｉの乗算を含む計算を行って再投影誤差εｂ（以下、重み付き再投影誤差と呼ぶ。）を計算し、重み付き再投影誤差εｂを最小とする姿勢θを計算する。
【００３７】
εｂ＝Σｉｗｉ（ｙｉ−ｘｉ（θ））Ｔ（ｙｉ−ｘｉ（θ））          式（４）
【００３８】
各ｗｉは、特徴点候補２に該当する特徴点毎に定められる。認識タスク実行手段１１は、認識タスクを実行する時点で既に定められているｗｉを用いて、認識タスク（本例では姿勢推定）を行う。認識タスク実行時にｗｉは既知であるので、一般的な姿勢推定においてεａの値を最小にする姿勢パラメータθを求める場合と全く同様の方法で、重み付き再投影誤差εｂを最小とする姿勢θを計算することができる。
【００３９】
なお、後述するように、本発明の特徴点選択システムは、認識タスクと、特徴点の重要度計算とを含むループ処理を行う。最初に認識タスクを実行する際には、認識タスク実行手段１１は、重要度ｗｉの初期値として定められた値を用いればよい。また、２回目以降のループ処理において認識タスクを実行する際には、認識タスク実行手段１１は、直前の重要度計算処理で求めた重要度ｗｉを用いればよい。
【００４０】
認識タスク実行手段１１は、評価データ３に含まれる全ての評価用画像に対してそれぞれ、重み付き認識タスク（本例では、重み付き再投影誤差εｂを最小とする姿勢θの算出）を行う。評価用画像ｊに対する認識結果として算出した姿勢をθｊとする。
【００４１】
認識誤差評価手段１２は、認識タスク実行手段１１によって得られた認識結果の誤差を評価する。具体的には、認識誤差評価手段１２は、全ての評価用画像全体に関する認識結果の誤差の大小を表す値を計算し、その計算結果を、認識結果の誤差の評価結果とする。この評価結果をεｃと記す。評価データ３には、各評価用画像ｊに対する認識結果の正解値（すなわち、認識結果正解データ５）が含まれている。上述した例のように、認識タスクが姿勢推定である場合には、認識結果正解データ５は姿勢θｊの正解値である。この正解値をθ＊ｊと記す。この場合、認識誤差評価手段１２は、例えば、以下の式（５）の計算を行い、全ての評価用画像全体に関する認識結果の誤差の評価結果εｃを計算してもよい。
【００４２】
εｃ＝Σｊ（θｊ−θ＊ｊ）２            式（５）
【００４３】
すなわち、認識誤差評価手段１２は、重み付き認識タスクによって得られたθｊと、正解値θ＊ｊとの差の二乗を、評価用画像毎に計算し、その総和を評価結果εｃとしてもよい。この評価結果εｃは、全て評価用画像に対する認識誤差の総和（より正確には、認識誤差の二乗の総和）である。
【００４４】
なお、既に説明したように、認識タスク実行手段１１が重み付き認識タスクを行うとともに、認識誤差も求めてもよく、あるいは、認識誤差評価手段１２が認識誤差の算出を行ってもよい。式（５）に示す例では、認識タスク実行手段１１が重み付き認識タスクを行うとともに、（θｊ−θ＊ｊ）の計算を行ってもよい。あるいは、（θｊ−θ＊ｊ）の計算も含め、式（５）の計算全体を認識誤差評価手段１２が行ってもよい。
【００４５】
特徴点重要度決定手段１３は、認識結果の誤差の評価結果εｃを最小にする特徴点の重要度（重み）を計算する。この計算は、全て評価用画像に対する認識誤差の総和（上記の例では、認識誤差の二乗の総和）を最小にする特徴点の重要度を求めることを意味する。本発明では、この重要度に関し、本発明の目的である特徴点の選択を行うために適した制約条件を付け加える点が特徴的である。本発明の目的は、できるだけ少ない特徴点を使って認識誤差を小さくするために、入力された特徴点候補群（３次元形状モデル１上の複数の特徴点候補２）から少数の適切な特徴点を選択することである。そこで、重要である度合いに応じて重みの値が疎になるように、すなわち、重要でない点の値がなるべくゼロに近づきやすくなるように、各特徴点の重要度を要素とするベクトルのＬ１ノルムを最小化するという制約条件を、重要度の計算に付加する。すなわち、εｃに、各特徴点の重要度を要素とするベクトルのＬ１ノルムを加えた関数を、以下の式（６）に示すように、コスト関数Ｊとして定義する。なお、上記のような、重要でない点の値がなるべくゼロに近づきやすくなるように各特徴点の重要度を要素とするベクトルのＬ１ノルムを最小化するという制約条件は、各特徴点の重要度を離散的にする制約条件であるということができる。
【００４６】
Ｊ（ｗ）＝εｃ＋α｜ｗ｜１
＝Σｊ（θｊ−θ＊ｊ）２＋α｜ｗ｜１              式（６）
【００４７】
式（６）において、ｗは、各特徴点の重要度を要素に持つベクトルである。αは、上記の制約条件を、どの程度強く効かせるかを規定する定数パラメータであり、αの値は、予め適当な値に設定しておく。ｗ（すなわち、各特徴点の重要度）を決定しておき、認識タスク実行手段１１が重み付き認識タスクを実行し、認識誤差評価手段１２が、認識誤差の評価結果εｃを計算することにより、特徴点重要度決定手段１３は、コスト関数Ｊの値を計算することができる。従って、コスト関数Ｊは、重要度ｗの関数となり、Ｊ（ｗ）と表してもよい。
【００４８】
姿勢推定における特徴点の重要度は、非線形関数Ｊ（ｗ）に対する制約付き最適化問題として定式化される。この最適化の計算方法として、適当な初期値を設定して繰り返し処理を行うことで最適な解を得る様々な方法が既に公知である。例えば、参考文献２に記載されているように、Lagrangeの未定数乗法を用いて計算する方法がある。
【００４９】
［参考文献２］
Ｃ．Ｍ．ビショップ、「パターン認識と機械学習（上）」、シュプリンガージャパン株式会社、付録Ｅ
【００５０】
具体的な処理は以下のようになる。まず、重要度（重み）の初期値を決定する。これには様々な方法があるが、一例として、全ての重みを均一とする方法がある。すなわち、特徴点の数がＮ個である場合、各特徴点の重みｗｉの初期値を、ｗｉ＝１／Ｎと定めておく。次に、特徴点重要度決定手段１３は、各特徴点の重要度を要素とするベクトルｗを変化させながらコスト関数Ｊ（ｗ）の値を最小化する重み（具体的にはベクトルｗ）を求める。すなわち、初期値から、各特徴点の重要度を要素とするベクトルｗを更新しつつ、認識タスク実行手段１１による重み付き認識タスクと、認識誤差評価手段１２による認識誤差の評価結果算出を繰り返し実行し、特徴点重要度決定手段１３が、Ｊ（ｗ）の値が収束したときのｗを、最適なｗとして求める。この結果、最適な、各特徴点の重要度が得られる。
【００５１】
上記の処理では、コスト関数の値が収束するまで認識タスク実行手段１１による重み付き認識タスクを繰り返し実行することとなる。各特徴点の重要度の最適化（ｗの最適化）の途中で、重要度ｗｉの値がある閾値以下に低くなった特徴点については、ｗｉ＝０として、その特徴点を計算対象から除外してもよい。このようにすることで、重み付き認識タスクの計算処理を高速化することができる。この閾値は、予め定めておけばよい。
【００５２】
特徴点選択手段１４は、決定された各特徴点の重要度に応じて、特徴点を選択する。なお、各特徴点の重要度は、特徴点重要度決定手段１３によって、各特徴点の重要度を要素とするベクトルｗとして決定される。特徴点選択手段１４は、例えば、本発明の特徴点選択システムに入力される特徴点候補２の中から、重要度が大きい順に、所定個の特徴点を選択する。選択する特徴点の数は、認識タスク実行時の計算量を考慮して、予め所望の数を定めておけばよい。特徴点選択手段１４は、選択した特徴点を、認識タスクに適した特徴点として出力する。
【００５３】
特徴点選択手段１４が特徴点を選択する方法は、上記の方法に限定されない。例えば、特徴点の重要度を選択するか否かを判定するための閾値を定めておき、特徴点選択手段１４は、重要度がその閾値を超えている特徴点のみを選択し、重要度がその閾値以下となっている特徴点を選択しないようにしてもよい。
【００５４】
また、重要度が最大である特徴点から順次選択していき、選択された特徴点の重要度の累積値に対して閾値を定めておく方法であってもよい。例えば、特徴点選択手段１４は、重要度が最大である特徴点から特徴点を順次選択し、特徴点を選択する毎に、選択した特徴点の重要度を加算した累積値を算出する。そして、特徴点選択手段１４は、その累積値が、予め定められた閾値を超えたときに、特徴点の選択を停止して、それまでに選択した各特徴点を、認識タスクに適した特徴点として出力してもよい。あるいは、累積値が閾値を超えた時点で、最後に選択した特徴点を除外し、累積値が閾値以下となっているという条件を満たしている間に選択した各特徴点を、認識タスクに適した特徴点として出力してもよい。
【００５５】
また、重要度を大きい順にソートし、値が急激に減少する順位を決定し、高位の特徴点のみを選択する方法であってもよい。例えば、特徴点選択手段１４は、重要度を大きい順にソートし、順位が隣り合う重要度同士の差を計算する。そして、その差が、予め定められた閾値より大きくなった場合、その差の計算対象とした２つの重要度のうち、順位が高い方までの各重要度に対応する特徴点を選択してもよい。すなわち、１番目と２番目、２番目と３番目、・・・という順に、順位が隣り合う重要度同士の差を計算し、ｋ番目とｋ＋１番目の重要度同士の差が閾値より大きくなったならば、特徴点選択手段１４は、ソート後の重要度の順位が１番目からｋ番目までとなっている各特徴点を選択してもよい。
【００５６】
認識タスク実行手段１１、認識誤差評価手段１２、特徴点重要度決定手段１３および特徴点選択手段１４は、例えば、特徴点選択プログラムに従って動作するコンピュータのＣＰＵによって実現される。例えば、ＣＰＵが、特徴点選択システムの記憶装置（図示せず）から特徴点選択プログラムを読み込み、そのプログラムに従って、上記の各手段として動作してもよい。あるいは、各手段１１〜１４がそれぞれ別々の専用回路によって実現されていてもよい。
【００５７】
次に、動作について説明する。
図２は、第１の実施形態の特徴点選択システムの処理経過の例を示すフローチャートである。以下の説明においても、認識タスクとして姿勢推定を行う場合を例にして説明する。
【００５８】
まず、認識タスク実行手段１１が、重み付き認識タスクを実行する（ステップＳ１）。例えば、認識タスク実行手段１１は、式（４）における重み付き再投影誤差εｂを最小とする姿勢θを求める。また、最初にステップＳ１を実行するときには、予め重要度ｗｉの初期値を定めておき、その初期値を用いればよい。既に説明したように、特徴点の数がＮ個である場合、各特徴点の重みｗｉの初期値をそれぞれ均一として、ｗｉ＝１／Ｎと定めておいてもよい。
【００５９】
次に、認識誤差評価手段１２が、全ての評価用画像全体に関する認識結果の誤差の評価結果εｃを計算する（ステップＳ２）。例えば、認識誤差評価手段１２は、式（５）を計算することによってεｃを算出すればよい。
【００６０】
次に、特徴点重要度決定手段１３が、各特徴点の重要度を計算する（ステップＳ３）。例えば、特徴点重要度決定手段１３は、εｃに、各特徴点の重要度を要素とするベクトルのＬ１ノルムを加えたコスト関数Ｊ（ｗ）を定め（式（６）参照）、コスト関数Ｊ（ｗ）の値を最小とするベクトルｗを求める。このベクトルの要素が、各特徴点の重要度である。
【００６１】
次に、特徴点重要度決定手段１３は、コスト関数Ｊ（ｗ）が収束したか否かを判定する（ステップＳ４）。例えば、前回のループ処理のステップＳ３で求めたベクトルｗから定まるＪ（ｗ）の最小値と、今回のループ処理のステップＳ３（すなわち、直近のステップＳ３）で求めたベクトルｗから定まるＪ（ｗ）の最小値との差の絶対値が、予め定められた閾値以下になったならば、特徴点重要度決定手段１３は、Ｊ（ｗ）が収束したと判定すればよい。一方、その差の絶対値が、予め定められた閾値よりも大きければ、特徴点重要度決定手段１３は、Ｊ（ｗ）が収束していないと判定すればよい。
【００６２】
Ｊ（ｗ）が収束していないと判定したならば（ステップＳ４におけるＮｏ）、特徴点選択システムは、ステップＳ１以降の処理を繰り返す。２回目以降のステップＳ１では、その前のステップＳ３で算出された各特徴点の重要度ｗｉを用いればよい。
【００６３】
また、特徴点重要度決定手段１３は、重要度ｗｉの値がある閾値以下に低くなった特徴点については、ｗｉ＝０としてもよい。このことは、重要度ｗｉの値がある閾値以下に低くなった特徴点を、認識タスク実行手段１１が行う重み付き認識タスクの処理対象から除外することを意味する。
【００６４】
Ｊ（ｗ）が収束したと判定したならば（ステップＳ４におけるＹｅｓ）、特徴点選択手段１４は、直前のステップＳ３で決定された重要度に基づいて、入力された特徴点候補２の中から特徴点を選択し、選択した特徴点を、認識タスクに適した特徴点として出力する。
【００６５】
本実施形態において、評価データ３に含まれる特徴点データ４は、評価用画像を実際に認識システムを実用に供した際に生じるであろう特徴点抽出誤差を含んでいる。本実施形態によれば、この特徴点データ４を用い、各特徴点に重要度の重みをつけた上で認識タスクを実行し、認識誤差を評価する。そして、認識誤差が最小になるような、重要度の値を求める。上記の例では、認識誤差を評価結果に、重要でない点の値がなるべくゼロに近づきやすくなるような制約条件を付加したコスト関数Ｊ（ｗ）を定め、そのＪ（ｗ）が最小となるような、各特徴点の重要度を求める。このように処理することで、３次元形状モデル１上の指定された各特徴点が、実際の認識システムの運用状況における認識誤差を小さくするという目的において、どの程度重要であるかを評価することができる。よって、例えば、重要度が大きい順に所定個の特徴点を選択することによって、限られた数で精度よく認識タスクを実行することができるような特徴点を選択することができる。なお、重要度が大きい順に所定個の特徴点を選択するという選択方法は例示であり、重要度に基づいた他の特徴点選択方法によっても、適切な特徴点を選択することができる。
【００６６】
また、以上の説明では、認識タスクの例として姿勢推定や個体識別を例示したが、認識タスクはこれらの処理に限定されない。例えば、姿勢ではなく物体の変形量を推定する処理や、顔画像に対する表情認識処理などであってもよい。
【００６７】
実施形態２．
図３は、本発明の第２の実施形態の特徴点選択システムの例を示すブロック図である。第１の実施形態と同様の構成要素やデータについては、図１と同一の符号を付し、詳細な説明を省略する。第２の実施形態の特徴点選択システムは、認識タスク実行手段１１、認識誤差評価手段１２、特徴点重要度決定手段１３および特徴点選択手段１４に加え、学習・評価データ生成手段１５と、特徴点抽出学習データ生成手段（以下、特抽学習データ生成手段と記す。）１６と、特徴点抽出器学習手段１７と、特徴点抽出実行手段１８とを備える。
【００６８】
第２の実施形態では、３次元形状モデル１と、その３次元形状モデル１上の複数の特徴点候補２を入力データとし、評価データ３に関しては、特徴点選択システムが生成する。従って、第２の実施形態では、認識タスクの性能評価に用いるための多様な撮影条件における評価用画像群と、その評価用画像群に対して特徴点抽出を実行した結果として得られた特徴点データ４と、その評価用画像群に対する認識タスクの正解データ５に関しては、特徴点選択システムに対して入力する必要がない。
【００６９】
認識タスクの認識性能を高めるために真に重要な特徴点を選択するためには、入力される特徴点候補２がそれらの重要な点を全て網羅していることが必要である。すなわち、入力される特徴点の候補は多数でなければならない。特に、物体が特徴的な点を多数含む場合や、逆に、明確な特徴点がなく優劣付けがたい点が多数あるような場合には、特徴点候補２を大量に用意しなければ、重要な特徴点を選択することができない。また、多様な環境で撮影された画像を認識対象とする認識タスクを対象として特徴点を選択する場合、多様な環境で動作可能な特徴点抽出器が必要とされる。本実施形態では、有効な特徴点を網羅するように大量の特徴点候補を得たときに、その特徴点に対する特徴点抽出器を自動的に生成することができ、その特徴点抽出器を用いることで、結果として、最終的に、より正確な特徴点を選択することが可能となる。
【００７０】
また、以下の説明において、テンプレートとは、画像から切り出される局所領域を意味し、テンプレートの大きさをテンプレートサイズと記す。
【００７１】
学習・評価データ生成手段１５には、３次元形状モデル１と、その３次元形状モデル１上の複数の特徴点を指定する情報（特徴点候補２）が入力される。３次元形状モデル１にはテクスチャが貼り付けられているものとする。学習・評価データ生成手段１５は、入力された３次元形状モデル１の姿勢（向き）や、３次元形状モデル１に対する照明の位置等を様々に変更した画像を含む学習データ５１および評価データ３を生成する。学習・評価データ生成手段１５によって生成される学習データ５１には、３次元形状モデル１の姿勢や照明の位置等を様々に変更した複数の学習画像５２と、それらの学習画像５２における特徴点の正解位置データ５３が含まれる。また、学習・評価データ生成手段１５によって生成される評価データ３には、３次元形状モデル１の姿勢や照明の位置等を様々に変更した複数の評価用画像６と、各評価用画像６に対する認識タスクの正解データ５とを含む。学習画像５２および評価用画像６は、３次元形状モデル１の姿勢や３次元形状モデル１に対する照明の位置等を様々に変更して得られる画像である点で共通である。ただし、学習画像５２と評価用画像６とでは、姿勢（向き）や照明位置等の条件が異なるようにする。学習・評価データ生成手段１５は、３次元形状モデル１を用いて、学習画像５２および評価用画像６を、２次元のＣＧ（Computer Graphics ）画像として生成する。
【００７２】
ここで、特徴点抽出器と、学習・評価データ生成手段１５によって生成される学習データ５１および評価データ３とについて説明する。特徴点抽出器は、あるパターンが入力されたときにそのパターンが特徴点であるか否かを判定する。通常、特徴点抽出器は、そのような判定を行うための内部データを予め学習しておく。特徴点抽出器には様々なパターン識別法や特徴抽出演算子を利用可能である。
【００７３】
一例として、非特許文献２に記載のＳＩＦＴ特徴量を用いることができる。この場合、学習としては、学習データ（学習画像５２）の特徴点に該当する位置に対してＳＩＦＴ特徴抽出演算子を適用し、ＳＩＦＴ特徴量を抽出する。そして、そのＳＩＦＴ特徴量を内部データとして記憶しておく。認識タスク等において、ある認識対象となる画像が入力されると、その画像からＳＩＦＴ特徴量を抽出し、内部データと比較することにより、そのテンプレートが特徴点に該当するか否かを判定する。
【００７４】
また、別の方法として、非特許文献３に記載のＧＬＶＱのようなパターン識別法を用いることもできる。本実施形態では、これらの方法について詳しく説明する。学習においては、特徴点に該当するテンプレートと、特徴点に該当しないテンプレートをそれぞれ複数入力され、そのテンプレートから内部データを生成する。そして、特徴点抽出器は、認識タスク等において、あるテンプレートが入力されると、内部データと比較することにより、そのテンプレートが特徴点に該当するか否かを判定する。特徴点抽出器が内部データを学習するためのテンプレートを切り出すために用いられる画像群が学習画像５２である。そして、学習画像５２と、その画像群（学習画像５２）における特徴点の正解位置データ５３とを含むデータが、学習・評価データ生成手段１５によって生成される学習データ５１に含まれる。
【００７５】
また、内部データ学習後の特徴点抽出器が、実際の認識タスクにおいて用いられた場合にどの程度の精度で特徴点を抽出できるかを評価するために、学習データとは別に用意される画像群が、評価用画像６である。そして、評価用画像６と、その評価用画像６に対して認識タスクを実行した場合における認識結果の正解を表す認識結果正解データ５が、学習・評価データ生成手段１５によって生成される評価データ３に含まれる。
【００７６】
学習・評価データ生成手段１５は、３次元形状モデル１の姿勢（向き）や、３次元形状モデル１に対する照明の位置等を様々に変更した画像をＣＧ（Computer Graphics ）画像として、学習画像５２および評価用画像６を生成する。ただし、３次元形状モデル１の姿勢（向き）や３次元形状モデル１に対する照明の位置等の条件は、学習画像５２と評価用画像６とが同一にならないように異なるものとする。画像生成時の条件が異なる点を除き、学習・評価データ生成手段１５は、同様の処理を行って学習画像５２および評価用画像６を生成する。また、学習・評価データ生成手段１５は、学習画像５２となる画像および評価用画像６となる画像を、それぞれ複数生成する。学習・評価データ生成手段１５は、認識タスクにおいて認識対象となる画像の撮影条件を網羅するように、様々な姿勢・照明条件を設定して、多数の画像を生成することが好ましい。
【００７７】
図４は、学習画像５２や評価用画像６となる画像の例を示す説明図である。図４に示す例では、２種類の３次元形状モデルから生成された画像の例を示している。図４（ａ）は、ある一つの３次元形状モデルから生成された複数種類の画像であり、図４（ｂ）は、別の３次元形状モデルから生成された複数種類の画像である。図４（ａ），（ｂ）に例示する各画像では、照明位置の条件を変えることで、影６１の現れる場所が変化している。図４では、照明位置の条件を変えた場合の種々の画像を例示しているが、学習・評価データ生成手段１５は、３次元形状モデルの姿勢を変更した場合の画像も、学習画像５２および評価用画像６として生成してもよい。
【００７８】
また、学習・評価データ生成手段１５には、３次元形状モデル１上の特徴点群として指定された特徴点候補２が入力される。学習・評価データ生成手段１５は、この特徴点候補２に対応する学習画像５２上の特徴点を特定する。学習・評価データ生成手段１５は、特徴点候補２として指定された３次元形状モデル１上の特徴点の位置と、ＣＧ画像（ここでは、学習画像）の生成時に用いた姿勢に関する条件（３次元形状モデルの向き）とから、学習画像５２上の特徴点の位置を正しく求めることができる。この学習画像５２上の特徴点の位置が、特徴点の正解位置データ５３に該当する。
【００７９】
図５は、特徴点の正解位置データ５３の例を示す説明図である。図５（ａ），（ｂ）の左端は、それぞれ、３次元形状モデルと、その３次元形状モデル上の特徴点候補２を表している。ただし、いずれの３次元形状モデルも、模式的に２次元で表している。図５（ａ），（ｂ）において、右側の３つの画像は、それぞれ、左端に示す３次元形状モデルから生成された２次元の学習画像を表しており、図５に示す例では、図４に示す場合と同様に、影が現れている。学習・評価データ生成手段１５は、このような学習画像上において、３次元形状モデル上の特徴点として指定された特徴点候補２に対応する、特徴点の正解位置データ５３を特定する。図５では、各学習画像における顔の向きがいずれも同一である場合を例示しているが、姿勢（向き）に関する条件を変えた場合にも、学習・評価データ生成手段１５は、その条件と、３次元形状モデル１における指定された特徴点の位置（特徴点候補２）とから、学習画像上における特徴点の正解位置データ５３を特定する。
【００８０】
また、学習・評価データ生成手段１５は、各評価用画像６に対する認識タスクの正解を付与し、認識結果正解データ５とする。例えば、認識タスクとして姿勢推定を行う場合は、各評価用画像を生成した際に用いた姿勢に関する条件を、認識結果正解データ５とすればよい。また、認識タスクとして個体識別を行う場合は、各評価用画像を生成した際に用いた３次元形状モデルの個体を特定する識別情報を認識結果正解データ５とすればよい。
【００８１】
特抽学習データ生成手段１６は、学習データ５１に含まれる学習画像５２から、特徴点に該当するテンプレートと、特徴点に該当しないテンプレートを複数切り出す。特徴点に該当するテンプレートとして、学習画像５２における特徴点やその近辺の点を中心とし、テンプレートサイズによって決まるテンプレートを学習画像５２から複数切り出せばよい。また、特徴点に該当しないテンプレートとして、その特徴点の周囲の点を中心とするテンプレートであって特徴点を含まないテンプレートを学習画像５２から複数切り出せばよい。このとき、特抽学習データ生成手段１６は、学習画像５２における特徴点を、特徴点の正解位置データ５３によって判断すればよい。また、テンプレートサイズは、例えば、入力データとして入力されることによって、指定されればよい。ただし、テンプレートサイズは他の指定態様で指定されてもよい。以下、特徴点に該当するテンプレートを、特徴点テンプレート５７と記し、特徴点に該当しないテンプレートを、非特徴点テンプレート５８と記す。そして、特徴点テンプレート５７および非特徴点テンプレート５８を合わせて、特徴点抽出学習データ５６と記す。
【００８２】
特徴点抽出器学習手段１７は、特徴点抽出器の内部データを学習する。すなわち、与えられるパターンが特徴点であるか否かを判定するための特徴点抽出器の内部データを生成する。特徴点抽出器学習手段１７は、特抽学習データ生成手段１６によって生成された複数の特徴点テンプレート５７および複数の非特徴点テンプレート５８を参照して、内部データ５９を学習する。
【００８３】
特徴点抽出実行手段１８は、学習・評価データ生成手段１５によって生成された評価データ３におけるそれぞれの評価用画像６について、局所的なテンプレートを順次切り出し、テンプレートと内部データ５９とを比較して、そのテンプレートが特徴点に該当するか否かを判定する。特徴点抽出実行手段１８は、この判定処理によって、各評価用画像６におけるどの部分が特徴点であるかを判定する。この判定結果が、特徴点データ４となる。
【００８４】
第２の実施形態における学習・評価データ生成手段１５、特抽学習データ生成手段１６、特徴点抽出器学習手段１７および特徴点抽出実行手段１８は、例えば、特徴点選択プログラムに従って動作するコンピュータのＣＰＵによって実現される。例えば、ＣＰＵが、特徴点選択プログラムを読み込み、そのプログラムに従って、各手段１１〜１８として動作してもよい。あるいは、各手段１１〜１８がそれぞれ別々の専用回路によって実現されていてもよい。
【００８５】
次に、動作について説明する。
図６は、第２の実施形態における処理経過の例を示すフローチャートである。ただし、第１の実施形態と同様の処理については、省略している。
【００８６】
まず、学習・評価データ生成手段１５が、入力された３次元形状モデル１および特徴点候補２を用いて、学習画像５２と、その学習画像５２上における特徴点の正解位置データ５３を生成する。また、学習・評価データ生成手段１５は、評価用画像６と、その評価用画像６に対して認識タスクを実行した場合における認識結果の正解を表す認識結果正解データ５も生成する（ステップＳ１１）。
【００８７】
次に、特抽学習データ生成手段１６は、ステップＳ１１で生成された学習画像５２、および特徴点の正解位置データ５３に基づいて、特徴点テンプレート５７および非特徴点テンプレート５８を、学習画像５２から切り出す（ステップＳ１２）。
【００８８】
次に、特徴点抽出器学習手段１７は、特徴点テンプレート５７および非特徴点テンプレート５８を参照して、特徴点抽出器の内部データ５９を学習する（ステップＳ１３）。
【００８９】
続いて、特徴点抽出実行手段１８が、それぞれの評価用画像６から特徴点を抽出する（ステップＳ１４）。具体的には、特徴点抽出実行手段１８は、局所的なテンプレートを順次切り出し、切り出したテンプレートと内部データ５９とを比較して、そのテンプレートが特徴点に該当するか否かを判定する。テンプレートが特徴点に該当すると判定した場合には、特徴点抽出実行手段１８は、評価用画像におけるそのテンプレートの位置を特徴点の位置とし、その特徴点の位置を特徴点データ４と定める。
【００９０】
以上の処理において、学習・評価データ生成手段１５によってステップＳ１１で生成された評価用画像６および認識結果正解データ５と、特徴点抽出実行手段１８によってステップＳ１４で定められた特徴点データ４とが、第１の実施形態における評価データ３に相当する。ステップＳ１４の後、認識タスク実行手段１１、認識誤差評価手段１２、特徴点重要度決定手段１３および特徴点選択手段１４は、上記の評価用画像６、認識結果正解データ５、特徴点データ４と、入力データである３次元形状モデル１および特徴点候補２とを用いて、第１の実施形態と同様の処理（ステップＳ１以降の処理）を実行する。この処理は、第１の実施形態と同様であり、説明を省略する。
【００９１】
第２の実施形態によれば、第１の実施形態と同様に、認識タスクとして行う処理に応じた適切な特徴点を選択することができる。また、第２の実施形態では、入力データを、次元形状モデル１と、その３次元形状モデル１上の複数の特徴点候補２とすればよく、第１の実施形態よりも入力データを少なくすることができる。すなわち、第１の実施形態における評価データ３に相当する評価用画像６、認識結果正解データ５および特徴点データ４に関しては、特徴点選択システム自身が生成するので、入力データとして入力する必要がない。従って、入力データを準備するコストを削減することができる。
【００９２】
以上に説明したように、第２の実施形態では、３次元形状モデル１と特徴点の候補の配置（特徴点候補２）を入力データとして、３次元形状モデル１を利用して、学習データ５１および評価データ３を自動的に生成する。このように学習データ５１を自動生成することによって、大量の特徴点候補に対する特徴点抽出学習データ５６を用意し、特徴点抽出器の内部データ５９を得ることを可能としている。さらに、指定の認識タスクを多様な画像に対して実行した際の認識誤差を見積もるための評価データ３（評価用画像６、認識結果正解データ５、および特徴点データ４）も自動的に生成することにより、データを準備するコストを削減できるようにもしている。
【００９３】
なお、特徴点候補２があらかじめ少数に絞られている場合等には、学習データ５１は別途用意できる場合もある。また、予め認識タスクの正解データが用意された評価用画像を入手可能な場合もある。このような場合には、本実施形態における学習・評価データ手段１５を備えない構成であってもよい。そして、別途用意された学習データ５１、評価用画像６および認識結果正解データ５を用いて、ステップＳ１２以降の処理を実行して、適切な特徴点を選択してもよい。
【００９４】
実施形態３．
図７は、本発明の第３の実施形態の特徴点選択システムの例を示すブロック図である。第１の実施形態や第２の実施形態と同様の構成要素やデータについては、図１、図３と同一の符号を付し、詳細な説明を省略する。第３の実施形態の特徴点選択システムは、認識タスク実行手段１１、認識誤差評価手段１２、特徴点重要度決定手段１３、特徴点選択手段１４、学習・評価データ生成手段１５、特抽学習データ生成手段１６、特徴点抽出器学習手段１７および特徴点抽出実行手段１８に加え、特徴点候補決定手段１９を備える。
【００９５】
第３の実施形態の特徴点選択システムは、３次元形状モデル１を入力データとし、３次元形状モデル１上の特徴点の候補となる特徴点候補２、および、評価データ３（評価用画像６、認識結果正解データ５、特徴点データ４）を自動的に生成する。従って、特徴点候補２、評価データ３に関しては、特徴点選択システムに対して入力する必要がない。また、第３の実施形態の特徴点選択システムでは、特徴点候補決定手段１９が、特徴点候補２として大量の特徴点を決定し、その結果、重要な点をもらさず選択できるようにしている。
【００９６】
特徴点候補決定手段１９は、３次元形状モデル１の表面の文様を表すテクスチャ画像に対し、エッジ抽出等の特徴抽出演算子を適用し、特徴強度の強い部分を決定し、特徴点の候補とする。特徴抽出演算子として様々な技術が公知であるが、一例として、前述のＳＩＦＴ特徴抽出や、コーナー検出器などを用いることが可能である。特徴点候補決定手段１９は、複数の特徴点抽出器（特徴抽出演算子）を用いて特徴点の候補を決定し、個々の特徴点抽出器により決定した特徴点の候補を、全て特徴点候補２としてもよい。また、特徴点候補決定手段１９は、テクスチャ画像に加え、３次元形状モデル１の表面の形状データに対して特徴点抽出を適用して特徴点を抽出することによって、特徴点候補を追加してもよい。
【００９７】
特徴点候補決定手段１９が決定した特徴点の候補は、第１の実施形態や第２の実施形態における特徴点候補２に相当する。特徴点候補決定手段１９によって特徴点候補２が決定されると、学習・評価データ生成手段１５は、入力データとして与えられた３次元形状モデル１と、その特徴点候補２とを用いて、第２の実施形態と同様に、学習データ５１および評価データ３を生成する。以降の動作は、第２の実施形態と同様であり、説明を省略する。
【００９８】
特徴点候補決定手段１９は、他の各手段と同様に、例えば、特徴点選択プログラムに従って動作するＣＰＵによって実現される。また、特徴点候補決定手段１９は、他の手段とは別の専用回路によって実現されていてもよい。
【００９９】
以上のように、特徴点候補決定手段１９が、３次元形状モデル１が３次元形状モデル１のテクスチャ画像に対して特徴抽出演算子を適用したり、形状に対して特徴点抽出を行ったりすることで、大量の特徴点候補を決定することができる。特に、複数種類の特徴抽出演算子を適用することで、大量の特徴点候補を決定できる。これらの特徴点候補には、認識タスクにとってずしも有効でない特徴点も多く含まれる。しかし、画像上で特徴抽出が容易な点が特徴点候補に確実に含まれている。そのため、特徴点候補２を例えばオペレータが指定する場合よりも確実に、認識タスクにとって重要な点を漏らさず特徴点候補とすることができる。さらに、入力データにおいて予め特徴点候補２として決めていなかった特徴点であっても、その特徴点抽出器を自動生成することができるので、認識タスクを実行するシステムを直ちに構築することができるという利点がある。
【０１００】
次に、本発明の最小構成について説明する。図８は、本発明の最小構成の例を示すブロック図である。本発明の特徴点選択システムは、認識タスク実行手段１１と、認識誤差評価手段１２と、特徴点重要度決定手段１３と、特徴点選択手段１４とを備える。
【０１０１】
認識タスク実行手段１１は、３次元形状モデルから生成された画像であって認識タスクにおける認識誤差を評価するために用いられる画像である複数の評価用画像に対して、３次元形状モデル上の複数の特徴点候補毎の重要度を用いつつ、認識タスクを実行する。
【０１０２】
認識誤差評価手段１２は、認識タスク実行手段１１による認識結果と、各評価用画像に対する認識タスクの正解データとの差から、全評価用画像に関する認識誤差を評価する。
【０１０３】
特徴点重要度決定手段１３は、各特徴点候補の重要度の関数であって、全評価用画像に関する認識誤差に、重要でない特徴点候補の重要度をゼロに近づきやすくするという制約条件を加えた関数として表されるコスト関数を定め、当該コスト関数の値が最小となるような各特徴点候補の重要度を計算することによって、各特徴点候補の重要度を決定する。
【０１０４】
そして、認識タスク実行手段１１、認識誤差評価手段１２および特徴点重要度決定手段１３は、特徴点重要度決定手段１３によって決定される各特徴点候補の重要度により定まるコスト関数の値が収束するまで、認識タスク実行手段１１が、認識タスクを実行し、認識誤差評価手段１２が、全評価用画像に関する認識誤差を評価し、特徴点重要度決定手段１３が、特徴点候補の重要度を決定することを繰り返す。
【０１０５】
特徴点選択手段１４は、各特徴点候補の重要度に基づいて、３次元形状モデル上の特徴点候補から、認識タスクで使用するべき特徴点を選択する。
【０１０６】
以上のような構成により、認識タスクにおける認識アルゴリズムに合う適切な特徴点を、３次元形状モデル上の特徴点候補から選択することができる。
【０１０７】
なお、上記の実施形態では、以下の（１）〜（１０）に示すような特徴点選択システムの特徴的構成が開示されている。
【０１０８】
（１）本発明による特徴点選択システムは、３次元形状モデルから生成された画像であって認識タスクにおける認識誤差を評価するために用いられる画像である複数の評価用画像に対して、３次元形状モデル上の複数の特徴点候補毎の重要度を用いつつ、認識タスクを実行する認識タスク実行手段（例えば、認識タスク実行手段１１）と、認識タスク実行手段による認識結果と、各評価用画像に対する認識タスクの正解データとの差から、全評価用画像に関する認識誤差を評価する認識誤差評価手段（例えば、認識誤差評価手段１２）と、各特徴点候補の重要度の関数であって、全評価用画像に関する認識誤差に、重要でない特徴点候補の重要度をゼロに近づきやすくするという制約条件を加えた関数として表されるコスト関数を定め、当該コスト関数の値が最小となるような各特徴点候補の重要度を計算することによって、各特徴点候補の重要度を決定する特徴点重要度決定手段（例えば、特徴点重要度決定手段１３）と、各特徴点候補の重要度に基づいて、３次元形状モデル上の特徴点候補から、認識タスクで使用するべき特徴点を選択する特徴点選択手段（例えば、特徴点選択手段１４）とを備え、認識タスク実行手段、認識誤差評価手段および特徴点重要度決定手段は、特徴点重要度決定手段によって決定される各特徴点候補の重要度により定まるコスト関数の値が収束するまで、認識タスク実行手段が、認識タスクを実行し、認識誤差評価手段が、全評価用画像に関する認識誤差を評価し、特徴点重要度決定手段が、特徴点候補の重要度を決定することを繰り返すことを特徴とする。
【０１０９】
（２）特徴点重要度決定手段が、重要度が予め定められた閾値以下になった特徴点候補を認識タスクの処理対象から除外する構成であってもよい。
【０１１０】
（３）３次元形状モデルから複数の評価用画像と、各評価用画像に対する認識タスクの正解データとを作成するとともに、３次元形状モデルから生成される画像であって特徴点抽出器の判定用データ（例えば、特徴点抽出器の内部データ）の学習に用いられる画像である学習画像を複数生成し、３次元形状モデル上の各特徴点候補の各学習画像上における位置を表す位置データを生成する学習・評価用データ生成手段（例えば、学習・評価用データ生成手段１５）と、学習・評価用データ生成手段によって生成された各学習画像および位置データに基づいて、各学習画像から特徴点に該当する局所領域（例えば、特徴点テンプレート５７）および特徴点に該当しない局所領域（例えば、非特徴点テンプレート５８）を切り出す局所領域切り出し手段（例えば、特徴点抽出学習データ生成手段１６）と、特徴点に該当する局所領域および特徴点に該当しない局所領域に基づいて、特徴点抽出器の判定用データを学習する特徴点抽出器学習手段（例えば、特徴点抽出器学習手段１７）と、判定用データを用いて、各評価用画像から特徴点を抽出する特徴点抽出実行手段（例えば、特徴点抽出実行手段１８）とを備える構成であってもよい。
【０１１１】
（４）３次元形状モデルから、当該３次元形状モデル上の特徴点候補となる点を決定する特徴点候補決定手段（例えば、特徴点候補決定手段１９）を備える構成であってもよい。
【０１１２】
（５）特徴点候補決定手段が、３次元形状モデルのテクスチャ画像および３次元形状モデルの形状に対して複数種類の特徴抽出演算子を適用して特徴点候補となる点を抽出することによって、特徴点候補となる点を決定する構成であってもよい。
【０１１３】
（６）本発明による特徴点選択システムは、３次元形状モデルから生成された画像であって認識タスクにおける認識誤差を評価するために用いられる画像である複数の評価用画像に対して、３次元形状モデル上の複数の特徴点候補毎の重要度を用いつつ、認識タスクを実行する認識タスク実行部（例えば、認識タスク実行手段１１）と、認識タスク実行部による認識結果と、各評価用画像に対する認識タスクの正解データとの差から、全評価用画像に関する認識誤差を評価する認識誤差評価部（例えば、認識誤差評価手段１２）と、各特徴点候補の重要度の関数であって、全評価用画像に関する認識誤差に、重要でない特徴点候補の重要度をゼロに近づきやすくするという制約条件を加えた関数として表されるコスト関数を定め、当該コスト関数の値が最小となるような各特徴点候補の重要度を計算することによって、各特徴点候補の重要度を決定する特徴点重要度決定部（例えば、特徴点重要度決定手段１３）と、各特徴点候補の重要度に基づいて、３次元形状モデル上の特徴点候補から、認識タスクで使用するべき特徴点を選択する特徴点選択部（例えば、特徴点選択手段１４）とを備え、認識タスク実行部、認識誤差評価部および特徴点重要度決定部は、特徴点重要度決定部によって決定される各特徴点候補の重要度により定まるコスト関数の値が収束するまで、認識タスク実行部が、認識タスクを実行し、認識誤差評価部が、全評価用画像に関する認識誤差を評価し、特徴点重要度決定部が、特徴点候補の重要度を決定することを繰り返すことを特徴とする。
【０１１４】
（７）特徴点重要度決定部が、重要度が予め定められた閾値以下になった特徴点候補を認識タスクの処理対象から除外する構成であってもよい。
【０１１５】
（８）３次元形状モデルから複数の評価用画像と、各評価用画像に対する認識タスクの正解データとを作成するとともに、３次元形状モデルから生成される画像であって特徴点抽出器の判定用データ（例えば、特徴点抽出器の内部データ）の学習に用いられる画像である学習画像を複数生成し、３次元形状モデル上の各特徴点候補の各学習画像上における位置を表す位置データを生成する学習・評価用データ生成部（例えば、学習・評価用データ生成手段１５）と、学習・評価用データ生成部によって生成された各学習画像および位置データに基づいて、各学習画像から特徴点に該当する局所領域（例えば、特徴点テンプレート５７）および特徴点に該当しない局所領域（例えば、非特徴点テンプレート５８）を切り出す局所領域切り出し部（例えば、特徴点抽出学習データ生成手段１６）と、特徴点に該当する局所領域および特徴点に該当しない局所領域に基づいて、特徴点抽出器の判定用データを学習する特徴点抽出器学習部（例えば、特徴点抽出器学習手段１７）と、判定用データを用いて、各評価用画像から特徴点を抽出する特徴点抽出実行部（例えば、特徴点抽出実行手段１８）とを備える構成であってもよい。
【０１１６】
（９）３次元形状モデルから、当該３次元形状モデル上の特徴点候補となる点を決定する特徴点候補決定部（例えば、特徴点候補決定手段１９）を備える構成であってもよい。
【０１１７】
（１０）特徴点候補決定部が、３次元形状モデルのテクスチャ画像および３次元形状モデルの形状に対して複数種類の特徴抽出演算子を適用して特徴点候補となる点を抽出することによって、特徴点候補となる点を決定する構成であってもよい。
【０１１８】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１１９】
この出願は、２０１０年１月１２日に出願された日本特許出願２０１０−００３８８３を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用の可能性】
【０１２０】
本発明は、個体の姿勢推定や個体識別等の認識タスクを行う装置等で認識タスクに用いられる３次元形状モデル上の特徴点を決定するシステムとして好適に利用できる。
【符号の説明】
【０１２１】
１１  認識タスク実行手段
１２  認識誤差評価手段
１３  特徴点重要度決定手段
１４  特徴点選択手段
１５  学習・評価データ生成手段
１６  特徴点抽出学習データ生成手段（特抽学習データ生成手段）
１７  特徴点抽出器学習手段
１８  特徴点抽出実行手段
１９  特徴点候補決定手段
【図１】
2011086889.tif 000003
【図２】
2011086889.tif 000004
【図３】
2011086889.tif 000005
【図４】
2011086889.tif 000006
【図５】
2011086889.tif 000007
【図６】
2011086889.tif 000008
【図７】
2011086889.tif 000009
【図８】
2011086889.tif 000010
【国際調査報告】
2011086889.tif 000011
2011086889.tif 000012