(57)【特許請求の範囲】
【請求項１】
コンピュータに、
入力画像から特徴点の候補である特徴点候補を異なる部位ごとに抽出し、前記特徴点候補を複数含む組合せを複数作成し、
複数の真正な特徴点の組合せに関する辞書情報と前記入力画像の解析情報との少なくとも一方に基づいて、前記特徴点候補の組合せごとに、該組合せに含まれる複数の前記特徴点候補の中から１または複数の部位について特徴点候補を棄却し、
前記特徴点候補の組合せごとに、該組合せに含まれる特徴点候補から１または複数の特徴点候補が棄却された組合せと前記辞書情報との照合結果をそれぞれ取得し、
前記照合結果に応じて前記特徴点候補の組合せを選択し、選択した組合せに含まれる複数の前記特徴点候補を前記特徴点にそれぞれ決定する
処理を実行させ、
前記特徴点候補を棄却する処理において、前記複数の真正な特徴点の組合せと複数の前記特徴点候補の組合せとを照合し、前記真正な特徴点の２点の間の距離に対する前記特徴点候補の２点の間の距離の誤差が最大となる２点の特徴点候補を特定し、特定した２点の特徴点候補のうち隣接する他の複数の前記特徴点候補までの距離の前記真正な特徴点の２点の間の距離に対する各誤差の合計値が大きい方を棄却する
ことを特徴とする画像処理プログラム。
【請求項２】
前記特徴点候補を棄却する処理は、前記入力画像である現フレームを解析して得られる前記特徴点である尤もらしさを示す尤度値、および／または従前の前記棄却する処理により棄却された特徴点候補の情報に基づいて、前記組合せごとに、１または複数の特徴点候補をさらに棄却することを特徴とする請求項１に記載の画像処理プログラム。
【請求項３】
前記特徴点候補を棄却する処理は、前記現フレームおよび該現フレーム以前のフレームを解析して得られる被写体の向きの情報に応じて前記尤度値を調整することを特徴とする請求項２に記載の画像処理プログラム。
【請求項４】
複数の真正な特徴点の組合せに関する辞書情報を記憶する記憶部と、
入力画像から特徴点の候補である特徴点候補を異なる部位ごとに抽出し、前記特徴点候補を複数含む組合せを複数作成する作成部と、
前記記憶部に記憶されている辞書情報と前記入力画像の解析情報との少なくとも一方に基づいて、前記特徴点候補の組合せごとに、該組合せに含まれる複数の前記特徴点候補の中から１または複数の部位について特徴点候補を棄却する棄却部と、
前記特徴点候補の組合せごとに、該組合せに含まれる特徴点候補から前記棄却部により１または複数の特徴点候補が棄却された組合せと前記辞書情報との照合結果をそれぞれ取得し、取得された照合結果に応じて前記特徴点候補の組合せを選択して、選択した組合せに含まれる複数の前記特徴点候補を前記特徴点にそれぞれ決定する決定部と
を有し、
前記棄却部は、前記複数の真正な特徴点の組合せと複数の前記特徴点候補の組合せとを照合し、前記真正な特徴点の２点の間の距離に対する前記特徴点候補の２点の間の距離の誤差が最大となる２点の特徴点候補を特定し、特定した２点の特徴点候補のうち隣接する他の複数の前記特徴点候補までの距離の前記真正な特徴点の２点の間の距離に対する各誤差の合計値が大きい方を棄却する
ことを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本願の開示する技術は、画像処理プログラムおよび画像処理装置に関連する。
【背景技術】
【０００２】
従来、情報処理装置における処理などに利用することを目的として、入力画像から複数の特徴点候補を抽出し、抽出された複数の特徴点候補の中から特徴点を検出する技術がある。この技術では、人間の顔を撮影した入力画像から瞳孔を特徴点として検出する場合、瞳孔と、瞳孔以外の口角や鼻孔などの他の特徴点との位置関係が利用される。例えば、この技術を用いた処理は、まず、人の顔を撮影した入力画像から、瞳孔や口角、鼻孔などの特徴点となり得る複数の特徴点候補を抽出する。続いて、この処理は、瞳孔、口角および鼻孔などの特徴点候補の組合せを複数生成し、瞳孔、口角および鼻孔などの特徴点の位置関係が定義されたモデルと比較する。そして、この処理は、比較の結果、モデルと最もマッチする組合せに含まれる特徴点候補を、瞳孔、口角および鼻孔などの特徴点に決定する。
【０００３】
なお、入力画像から特徴点として検出された瞳孔の位置は、次のような処理に利用されている。例えば、携帯電話やパーソナルコンピュータなどの情報処理装置では、ユーザの瞳孔の動きを追跡してユーザの視線を捉え、視線の動きに対応させてディスプレイなどに表示されている画面をスクロールさせる処理に利用される。また、車両に搭載される電子機器では、ドライバの瞳孔の動きを追跡してドライバの視線を捉え、ドライバの余所見を検知してアラームを上げる処理などにも利用される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２３３９９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、上述した従来の技術を用いた処理では、特徴点候補の組合せとモデルとを比較し、最もモデルにマッチする組合せを構成する各特徴点候補を特徴点として決定する。このため、特徴点候補の組合せの中に、真正の特徴点に対応する特徴点候補が含まれていても、他の特徴点候補が真正のものから大きく外れている場合には、モデルと最もマッチする組合せとはならない可能性がある。
【０００６】
例えば、顔の右半分に強い光が照射する環境で撮影された入力画像では、いわゆる画像の白とびにより、顔の右半分に位置する右目、右鼻孔、右口角の特徴点に対応する特徴点候補を上手く抽出できない場合がある。また、顔が撮影されたときの顔の向きによっては、右目、右鼻孔、右口角の特徴点が入力画像の中に最初から含まれない場合もある。このような状況で抽出された右目、右鼻孔、右口角の特徴点候補を含む組合せでは、同一の組合せに含まれる左目や左鼻孔などの他の特徴点候補が仮に真正なものであったとしても、モデルとの照合度が低くなってしまう可能性がある。つまり、入力画像の状況によっては、真正な特徴点が埋もれてしまい、最終的に検出されないという事態も起こり得る。結果として、上述した従来の技術を用いた処理は、特徴点の検出精度が低くなってしまう恐れがある。
【０００７】
開示の技術は、上記に鑑みてなされたものであって、特徴点の検出精度を高めることが可能な画像処理プログラムおよび画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本願の開示する画像処理プログラムは、一つの態様において、コンピュータに、次の各処理を実行させる。すなわち、コンピュータに、入力画像から特徴点の候補である特徴点候補を複数抽出し、前記特徴点候補を複数含む組合せを複数作成する処理を実行させる。また、コンピュータに、複数の真正な特徴点の組合せに関する辞書情報と前記入力画像の解析情報との少なくとも一方に基づいて、次の処理を実行させる。つまり、コンピュータに、前記特徴点候補の組合せごとに、該組合せに含まれる複数の前記特徴点候補の中から特徴点候補を１または複数棄却する処理を実行させる。また、コンピュータに、前記特徴点候補の組合せごとに、該組合せに含まれる特徴点候補から１または複数の特徴点候補が棄却された組合せと前記辞書情報との照合結果をそれぞれ取得する処理を実行させる。また、コンピュータに、前記照合結果に応じて前記特徴点候補の組合せを選択し、選択した組合せに含まれる複数の前記特徴点候補を前記特徴点にそれぞれ決定する処理を実行させる。
【発明の効果】
【０００９】
本願の開示する技術の一つの態様によれば、特徴点の検出精度を高めることができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施例１に係る画像処理装置の構成を示す機能ブロック図である。
【図２】図２は、実施例１に係るモデル記憶部の説明に用いる図である。
【図３】図３は、実施例１に係る棄却部の説明に用いる図である。
【図４】図４は、実施例１に係る棄却部の説明に用いる図である。
【図５】図５は、実施例１に係る棄却部の説明に用いる図である。
【図６】図６は、実施例１に係る棄却部の説明に用いる図である。
【図７】図７は、実施例１に係る棄却部の説明に用いる図である。
【図８】図８は、実施例１に係る画像処理装置による処理の全体的な流れを示す図である。
【図９】図９は、実施例２に係る画像処理装置による処理の流れを示す図である。
【図１０】図１０は、実施例２に係る画像処理装置による処理の流れを示す図である。
【図１１】図１１は、実施例３に係る画像処理装置の説明に用いる図である。
【図１２】図１２は、実施例３に係る画像処理装置の構成を示す機能ブロック図である。
【図１３】図１３は、実施例３に係る画像処理装置による処理の流れを示す図である。
【図１４】図１４は、実施例３に係る画像処理装置による処理の流れを示す図である。
【図１５】図１５は、実施例４に係る画像処理装置による処理の流れを示す図である。
【図１６】図１６は、実施例４に係る画像処理装置による処理の流れを示す図である。
【図１７】図１７は、実施例５に係る画像処理装置の説明に用いる図である。
【図１８】図１８は、画像処理プログラムを実行する電子機器の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、図面を参照しつつ、本願の開示する画像処理プログラムおよび画像処理装置の一実施形態について詳細に説明する。なお、後述する実施例は一実施形態にすぎず、本願の開示する画像処理プログラムおよび画像処理装置を限定するものではない。
【実施例１】
【００１２】
［画像処理装置の構成（実施例１）］
図１は、実施例１に係る画像処理装置の構成を示す機能ブロック図である。図１に示すように、実施例１に係る画像処理装置２００は撮影装置１００と接続する。撮影装置１００は、例えば、特徴点の抽出対象となる物体、例えば、人の顔や車両などを被写体とする。なお、以下の実施例の説明では、一例として、撮影装置１００が人の顔を被写体として撮影を実行するものとする。
【００１３】
また、図１に示すように、画像処理装置２００は、入力部２１０と、出力部２２０と、記憶部２３０と、制御部２４０とを有する。
【００１４】
入力部２１０は、撮影装置１００により撮影された画像を取り込む。入力部２１０により取り込まれた画像は、記憶部２３０の画像記憶部２３１に格納される。出力部２２０は、制御部２４０による処理結果を外部へ出力する。例えば、出力部２２０は、制御部２４０による処理結果を、視線検出や表情認識などを行う外部のデバイスへ出力する。
【００１５】
記憶部２３０は、図１に示すように、画像記憶部２３１およびモデル記憶部２３２を有する。なお、記憶部２３０は、例えば、ＲＡＭ（Random  Access  Memory）やフラッシュメモリ（flash  memory）などの半導体メモリ素子である。画像記憶部２３１は、入力部２１０により取り込まれた画像を記憶する。
【００１６】
モデル記憶部２３２は、人の顔に含まれる複数の真正な特徴点の組合せに関する辞書情報を記憶する。以下、図２を用いて、モデル記憶部２３２に記憶される辞書情報の一例を説明する。図２は、実施例１に係るモデル記憶部の説明に用いる図である。
【００１７】
モデル記憶部２３２は、人の顔を撮影した画像（以下、顔画像と表記する）から、検出対象とする特徴点、例えば、瞳孔、鼻頭、鼻孔、口角などの各特徴点間の距離情報（リンク長）を記憶する。例えば、モデル記憶部２３２は、瞳孔間の距離を基準として、その他の特徴間の距離を正規化した値で記憶する。例えば、図２に示すように、モデル記憶部２３２は、右瞳孔と左瞳孔との距離の値を「１．０」とした場合には、右瞳孔または左瞳孔と鼻頭との距離の値として「０．６」を記憶する。
【００１８】
また、モデル記憶部２３２は、検出対象とする特徴点間の位置関係により、辞書情報として用意する特徴点の対の種類や数を適宜組合せて用いることができる。また、上述した特徴点間の距離は、顔画像における特徴点間の画素数を採用することができる。例えば、学習用の複数の顔画像について特徴点間の画素数をそれぞれ算出し、算出した各画素数の平均を特徴点間の距離とすることができる。なお、モデル記憶部２３２は、例えば、瞳孔間の距離を基準として、その他の特徴点間の距離を正規化した形で記憶する場合に限られるものではなく、正規化せずに、画素数をそのまま記憶してもよい。
【００１９】
図１に戻り、制御部２４０は、顔検出部２４１、抽出部２４２、作成部２４３、棄却部２４４および決定部２４５を有する。なお、制御部２４０は、例えば、電子回路や集積回路に該当する。電子回路としては、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）がある。また、集積回路としては、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などがある。
【００２０】
顔検出部２４１は、画像記憶部２３１から画像を取得し、取得した画像内から顔を検出する。例えば、顔検出部２４１は、エッジ抽出やパターンマッチング、フレーム間差分やニューラルネットワークなどの既存技術を用いて、画像から顔の検出を試みる。
【００２１】
抽出部２４２は、顔検出部２４１により画像内から顔が検出された場合には、瞳孔、鼻頭、鼻孔、口角などの各特徴点について、特徴点に該当する可能性がある複数の特徴点候補を画像から抽出する。例えば、分離度フィルタを用いた処理や、パターンマッチングを用いた処理により特徴点候補を抽出する。
【００２２】
作成部２４３は、抽出部２４２により抽出された特徴点候補の組合せを複数作成する。例えば、作成部２４３は、右瞳孔の特徴点候補、左瞳孔の特徴点候補、鼻頭の特徴点候補、右鼻孔の特徴点候補、左鼻孔の特徴点候補、右口角の特徴点候補、左口角の特徴点候補を一つずつ含む排他的な組合せを複数作成する。
【００２３】
棄却部２４４は、作成部２４３により作成された各組合せについて、辞書情報との誤差を最も発生させる特徴点候補を削除する。以下、図３〜図１２を用いて、棄却部２４４について説明する。図３〜図７は、実施例１に係る棄却部の説明に用いる図である。
【００２４】
図３に示す１０は、辞書情報に基づいて各特徴点の位置関係を表現した概念モデルである。図３に示すＥ１およびＥ２は辞書情報における瞳孔のモデルである。図３に示すＮ１は辞書情報における鼻頭のモデルであり、Ｎ２およびＮ３は辞書情報における鼻孔のモデルである。図３に示すＭ１およびＭ２は辞書情報における口角のモデルである。図３〜図１２に示す２０は、作成部２４３により作成された組合せ、つまり各特徴点候補の位置関係を表現した概念モデルである。図３に示すＥ１´およびＥ２´は組合せにおける瞳孔候補のモデルである。図３に示すＮ１´は組合せにおける鼻頭候補のモデルであり、Ｎ２´およびＮ３´は組合せにおける鼻孔候補のモデルである。図３に示すＭ１´およびＭ２´は組合せにおける口角候補のモデルである。
【００２５】
まず、棄却部２４４は、作成部２４３により作成された複数の組合せの中から組合せを一つ取得する。続いて、棄却部２４４は、モデル記憶部２３２から辞書情報を取得し、辞書情報における特徴点間の距離（リンク長）と、作成部２４３により作成された組合せにおける特徴点候補間の距離（リンク長）との誤差を算出する。概念的にいえば、棄却部２４４は、図３に示すように、辞書情報に基づいた概念モデル１０と、作成部２４３により作成された組合せの概念モデル２０とを比較し、概念モデル１０に対する概念モデル２０の誤差を算出する。
【００２６】
次に、棄却部２４４は、作成部２４３により作成された組合せにおける特徴点候補間の距離（リンク長）のうち、辞書情報における特徴点間の距離（リンク長）に対する誤差が最大となるリンクを特定する。続いて、棄却部２４４は、特定したリンク、つまり辞書情報に対する誤差が最大となるリンクに接続されている複数の特徴点候補のうち、より誤差を発生させる特徴点候補を検出する。棄却部２４４は、検出された特徴点候補を、特徴点候補の組合せの中から削除する。
【００２７】
例えば、棄却部２４４は、鼻頭候補のモデルＮ１´と右鼻孔候補のモデルＮ２´を接続するリンクを、リンク長の誤差が最大となるものとして特定したとする。この場合には、棄却部２４４は、鼻頭候補のモデルＮ１´と右鼻孔候補のモデルＮ２´のうち、より誤差を発生させる特徴点候補を検出する。まず、棄却部２４４は、図４において点線で示すように、鼻頭候補のモデルＮ１´に接続される各リンクのリンク長の誤差の合計値を計算する。同様に、棄却部２４４は、図５において点線で示すように、右鼻孔候補のモデルＮ２´に接続される各リンクのリンク長の誤差の合計値を計算する。続いて、棄却部２４４は、鼻頭候補のモデルＮ１´について算出した誤差の合計値と、右鼻孔候補のモデルＮ２´について算出した誤差の合計値とを比較し、合計値が大きい方を、より誤差を発生させる特徴点候補として検出する。
【００２８】
上述した処理を実行した結果、棄却部２４４は、例えば、図５に示す右鼻孔候補のモデルＮ２´をより誤差を発生させる特徴点候補として検出したとすると、選択した組合せの中から右鼻孔候補のモデルＮ２´を削除する。概念的には、例えば、図７に示すように、棄却部２４４は、作成部２４３により作成された組合せの中から選択した概念モデル２０から、右鼻孔候補のモデルＮ２´が削除された状態となる。
【００２９】
続いて、棄却部２４４は、辞書情報における特徴点間の距離（リンク長）と、右鼻孔候補のモデルＮ２´が削除された後に残った特徴点候補間の距離（リンク長）との誤差を再計算する。概念的には、棄却部２４４は、辞書情報に基づいた概念モデル１０と、右鼻孔候補のモデルＮ２´が削除された後に残った特徴点候補で構築される概念モデル２０とを比較し、概念モデル１０に対する誤差を算出することとなる。
【００３０】
そして、棄却部２４４は、辞書情報における特徴点間の距離に対する、鼻孔候補のモデルＮ２´が削除された後に残った特徴点候補間の距離の誤差の最大値を取得し、鼻孔候補のモデルＮ２´が削除された後に残った特徴点候補の組合せと対応付けて保存する。例えば、棄却部２４４は、図７に示す特徴点候補の組合せにおいて、図８に示す特徴点候補間を接続するリンクαのリンク長の誤差が最大となる場合には、その最大値に対応付けて図７に示す特徴点候補の組合せを保存する。つまり、リンク長の誤差の値と、図７に示す特徴点候補の画像上の位置とを対応付けて保存する。
【００３１】
そして、棄却部２４４は、作成部２４３により作成された全ての組合せについて、上述してきた処理を完了しているか否かを判定し、完了していなければ、次の組合せを選択して上述してきた処理を実行する。一方、棄却部２４４は、作成部２４３により作成された全ての組合せについて処理を完了している場合には、後述する決定部２４５の処理を起動する。
【００３２】
決定部２４５は、棄却部２４４による処理が完了すると、棄却部２４４により誤差の最大値の中から最小の値を検索する。そして、決定部２４５は、最小の値に対応付けられている組合せを取得し、取得した組合せに含まれる特徴点候補を最終的な特徴点として決定する。
【００３３】
［画像処理装置による処理（実施例１）］
図８を用いて、実施例１に係る画像処理装置２００による処理の流れを説明する。図８は、実施例１に係る画像処理装置による処理の全体的な流れを示す図である。図８に示す処理は、画像処理装置２００が予めて設定されたタイミング、あるいは撮影装置１００により撮影された画像を取り込んだタイミングで起動される。なお、以下の説明中、「モデル」と表記するものは、上述したモデル記憶部２３２に辞書情報として記憶されている各特徴間の距離（リンク長）を指す。
【００３４】
図８に示すように、顔検出部２４１は、画像記憶部２３１から画像を取得し（ステップＳ１０１）、画像から顔を検出すると、抽出部２４２の処理を起動する。抽出部２４２は、瞳孔、鼻頭、鼻孔、口角などの各特徴点について、特徴点に該当する可能性がある複数の特徴点候補を画像から抽出する（ステップＳ１０２）。続いて、作成部２４３は、抽出部２４２により抽出された特徴点候補の組合せを複数作成する（ステップＳ１０３）。
【００３５】
次に、棄却部２４４は、ステップＳ１０３で作成された組合せを一つ選択し（ステップＳ１０４）、選択した組合せとモデルとを比較する（ステップＳ１０５）。続いて、棄却部２４４は、モデルに対する組合せのリンク長の誤差、すなわちステップＳ１０４で選択した組合せの含まれる特徴点候補間のリンク長とモデルとの誤差を算出する（ステップＳ１０６）。
【００３６】
次に、棄却部２４４は、ステップＳ１０６の処理結果から、誤差が最大となるリンクを特定する（ステップＳ１０７）。続いて、棄却部２４４は、ステップＳ１０７で特定したリンクに関連する特徴点候補のうち、より誤差を発生させる特徴点候補を検出する（ステップＳ１０８）。そして、棄却部２４４は、ステップＳ１０８で検出した特徴点候補をステップＳ１０４で選択した組合せから削除する（ステップＳ１０９）。
【００３７】
次に、棄却部２４４は、上述したステップＳ１０５と同様にして、ステップＳ１０９の処理後の組合せとモデルとを比較する（ステップＳ１１０）。続いて、棄却部２４４は、上述したステップＳ１０６と同様にして、モデルに対するリンク長の誤差を再算出する（ステップＳ１１１）。そして、棄却部２４４は、ステップＳ１１１で算出された誤差の最大値と、現在処理中である該当組合せとを対応付けて保存し（ステップＳ１１２）、ステップＳ１０３で作成された全ての組合せの処理を完了したか否かを判定する（ステップＳ１１３）。
【００３８】
判定の結果、全ての組合せの処理を完了していない場合には（ステップＳ１１３，Ｎｏ）、棄却部２４４は、上述したステップＳ１０４の処理に戻り、次の組合せを取得する。一方、棄却部２４４は、全ての組合せの処理を完了している場合には（ステップＳ１１３，Ｙｅｓ）、決定部２４５の処理を起動する。決定部２４５は、ステップＳ１１２で保存された誤差の最大値の中から最小の値を検索する（ステップＳ１１４）。そして、決定部２４５は、Ｓ１１４で検索された最小の値に対応付けられている組合せを取得し、取得した組合せに含まれる特徴点候補を最終的な特徴点として決定し（ステップＳ１１５）、処理を終了する。
【００３９】
［実施例１による効果］
上述してきたように、画像処理装置２００は、誤りの可能性がある特徴点候補が削除された組合せについてモデルとの照合を行い、照合結果に応じて選択した組合せに含まれる複数の特徴点候補を最終的な特徴点に決定する。よって、実施例１によれば、特徴点の検出精度を高めることができる。
【００４０】
また、画像処理装置２００は、誤りの可能性がある特徴点候補を削除した上でモデルとの比較を行うので、モデルとの比較を行う場合に、誤りの可能性がある特徴点候補の影響を予め除去することができる。よって、実施例１によれば、特徴点の検出精度を高めることができる。
【実施例２】
【００４１】
上述した実施例１では、モデル記憶部２３２に記憶されている辞書情報のモデルと、特徴点候補の組合せとの誤差を算出し、算出した誤差に基づいて誤りの可能性のある特徴点候補を削除する場合を説明したが、これに限定されるものではない。例えば、特徴点候補の特徴点としての尤もらしさを示す尤度値に基づいて、誤りの可能性がある特徴点候補を削除することもできる。
【００４２】
［画像処理装置による処理（実施例２）］
以下、図９および図１０を用いて、実施例２に係る画像処理装置の処理の流れを説明する。図９および図１０は、実施例２に係る画像処理装置による処理の流れを示す図である。
【００４３】
実施例２に係る画像処理装置の処理は、実施例１に係る画像処理装置の処理と以下に説明する点が異なる。すなわち、図９に示すように、棄却部２４４は、ステップＳ２０３で作成された組合せを一つ選択し（ステップＳ２０４）、選択した組合せの中から尤度値が閾値を下回る特徴点候補を削除する（ステップＳ２０５）。
【００４４】
次に、棄却部２４４は、ステップＳ２０５の処理後の組合せとモデルとを比較する（ステップＳ２０６）。続いて、棄却部２４４は、モデルに対する組合せのリンク長の誤差、すなわちステップＳ２０５の処理後の組合せの含まれる特徴点候補間のリンク長とモデルとの誤差を算出する（ステップＳ２０７）。そして、棄却部２４４は、ステップＳ２０７で算出された誤差の最大値と現在処理中である該当組合せとを対応付けて保存する（ステップＳ２０８）。以後の処理は、実施例１と同様である。
【００４５】
つまり、棄却部２４４は、ステップＳ２０３で作成された全ての組合せの処理を完了したか否かを判定する（ステップＳ２０９）。判定の結果、全ての組合せの処理を完了していない場合には（ステップＳ２０９，Ｎｏ）、棄却部２４４は、上述したステップＳ２０４の処理に戻り、次の組合せを取得する。一方、棄却部２４４は、全ての組合せの処理を完了している場合には（ステップＳ２０９，Ｙｅｓ）、決定部２４５の処理を起動する。決定部２４５は、ステップＳ２０８で保存された誤差の最大値の中から最小の値を検索する（ステップＳ２１０）。そして、決定部２４５は、ステップＳ２１０で検索された最小の値に対応付けられている組合せを取得し、取得した組合せに含まれる特徴点候補を最終的な特徴点として決定し（ステップＳ２１１）、処理を終了する。
【００４６】
なお、抽出部２４２により、画像から瞳孔や鼻孔などの特徴点候補を抽出する際に得られる分離度フィルタの応答値を、上述したステップＳ２０５の処理で用いられる尤度値はとして利用する。
【００４７】
さらに、図１０に示すように、実施例１で説明したモデルと組合せとの誤差による特徴点候補の削除と、尤度値による特徴点候補の削除とを双方実行することもできる。
【００４８】
すなわち、棄却部２４４は、ステップＳ３０３で作成された組合せを一つ選択し（ステップＳ３０４）、選択した組合せの中から尤度値が閾値を下回る特徴点候補を削除する（ステップＳ３０５）。
【００４９】
次に、棄却部２４４は、ステップＳ３０５の処理後の組合せとモデルとを比較する（ステップＳ３０６）。続いて、棄却部２４４は、モデルに対する組合せのリンク長の誤差、すなわちステップＳ３０５の処理後の組合せの含まれる特徴点候補間のリンク長とモデルとの誤差を算出する（ステップＳ３０７）。
【００５０】
次に、棄却部２４４は、ステップＳ３０７の処理結果から、誤差が最大となるリンクを特定する（ステップＳ３０８）。続いて、棄却部２４４は、ステップＳ３０８で特定したリンクに関連する特徴点候補のうち、より誤差を発生させる特徴点候補を検出する（ステップＳ３０９）。そして、棄却部２４４は、ステップＳ３０９で検出した特徴点候補をステップＳ３０５の処理後の組合せから削除する（ステップＳ３１０）。
【００５１】
次に、棄却部２４４は、上述したステップＳ３０６と同様にして、ステップＳ３１０の処理後の組合せとモデルとを比較する（ステップＳ３１１）。続いて、棄却部２４４は、上述したステップＳ３０７と同様にして、モデルに対するリンク長の誤差を再算出する（ステップＳ３１２）。そして、棄却部２４４は、ステップＳ３１２で算出された誤差の最大値と現在処理中である該当組合せとを対応付けて保存する（ステップＳ３１３）。以後の処理は、実施例１の図８および上述した図９と同様である。
【００５２】
つまり、棄却部２４４は、ステップＳ３０３で作成された全ての組合せの処理を完了したか否かを判定する（ステップＳ３１４）。判定の結果、全ての組合せの処理を完了していない場合には（ステップＳ３１４，Ｎｏ）、棄却部２４４は、上述したステップＳ３０４の処理に戻り、次の組合せを取得する。一方、棄却部２４４は、全ての組合せの処理を完了している場合には（ステップＳ３１４，Ｙｅｓ）、決定部２４５の処理を起動する。決定部２４５は、ステップＳ３１３で保存された誤差の最大値の中から最小の値を検索する（ステップＳ３１５）。そして、決定部２４５は、ステップＳ３１５で検索された最小の値に対応付けられている組合せを取得し、取得した組合せに含まれる特徴点候補を最終的な特徴点として決定し（ステップＳ３１６）、処理を終了する。
【００５３】
［実施例２による効果］
上述してきたように、実施例２では、特徴点候補の特徴点としての尤もらしさを示す尤度値に基づいて、誤りの可能性がある特徴点候補を削除する。このため、実施例２によれば、誤りの可能性がある特徴点候補の影響を簡易な処理で予め除去することができ、特徴点の検出精度を向上できる。
【００５４】
また、実施例２では、特徴点候補の組合せの中から、モデルとの誤差による特徴点候補の削除と尤度値による削除とを双方実行する。このため、実施例２によれば、誤りの可能性がある特徴点候補の影響を様々な指標に応じて予め除去することができ、特徴点の検出精度をさらに向上できる。
【００５５】
なお、上述した実施例２では、特徴点候補の特徴点としての尤もらしさを示す尤度値に基づいて、誤りの可能性がある特徴点候補を削除する場合を説明したが、これに限定されるものではない。
【００５６】
例えば、棄却部２４４は、画像解析部２４６から従前の処理で削除された特徴点候補の位置を取得する。そして、棄却部２４４は、取得した位置に基づいて、特徴点候補の組合せの中から、従前の処理で削除された特徴点候補を削除する。このように、実施例２において、特徴点候補の組合せの中から、誤りの可能性があるとして従前の処理で削除された特徴点候補を削除するようにしてもよい。さらには、実施例２において、特徴点候補の組合せの中から、モデルとの誤差による特徴点候補の削除と従前の処理結果による特徴点候補の削除とを双方実行するようにしてもよい。
【００５７】
このようにすれば、従前の処理結果を有効に活用して、誤りの可能性がある特徴点候補の影響を予め除去することができる。
【００５８】
また、上述した実施例２では、特徴点候補の尤度値に応じて特徴点候補を削除する場合を説明したが、次のような処理を実行してもよい。例えば、特徴点候補間を接続するリンク長とモデルとの誤差を、リンクを構築する特徴点候補の各尤度値に応じて補正する。例えば、リンクを構築する各特徴点の尤度値が大きいほど、モデルとの誤差が小さくなるように補正する。そして、以下、例えば実施例１と同様に、モデルとの誤差が最大となるリンクを特定し、特定したリンクに関連する特徴点候補のうち、より誤差を発生される特徴点候補を、特徴点候補の組合せの中から削除する。このような処理でも、誤りの可能性がある特徴点候補の影響を予め除去することができ、特徴点の検出精度をさらに向上できる。
【実施例３】
【００５９】
上述した実施例２において、画像の解析情報から得られる顔の向きに応じて、特徴点の尤度値を調整したうえで、調整した尤度値に基づいて特徴点候補を削除するようにしてもよい。
【００６０】
図１１は、実施例３に係る画像処理装置の説明に用いる図である。実施例３に係る画像処理装置は、図１１の１に示すように、画像を入力する。次に、実施例３に係る画像処理装置は、図１１の２に示すように、入力した画像から特徴点候補を複数抽出する。続いて、実施例３に係る画像処理装置は、図１１の３に示すように、特徴点候補の組合せを作成する。ここで、実施例３に係る画像処理装置は、入力した画像を解析して顔の向きを取得し、顔の向きに応じて特徴点候補の尤度値を調整する。そして、実施例３に係る画像処理装置は、図１１の４に示すように、調整後の尤度値に基づいて特徴点候補を削除する。
【００６１】
［画像処理装置の構成（実施例３）］
図１２は、実施例３に係る画像処理装置の構成を示す機能ブロック図である。実施例３に係る画像処理装置は、実施例１に係る画像処理装置と基本的には同様の構成を有するが、以下に説明する点が異なる。
【００６２】
画像解析部２４６は、顔検出部２４１により画像から顔が検出されると、画像記憶部２３１から画像の現入力フレームと以前の入力フレームを複数取得して、取得したフレームを解析することにより顔の向きの情報を取得する。例えば、画像解析部２４６は、以前のフレームから目の輪郭を抽出取得し、目尻間の水平距離を算出する。そして、画像解析部２４６は、以前の入力フレームから現入力フレームに至るまでの目尻間の水平距離の時間変化を追跡することにより顔の向きを取得する。
【００６３】
棄却部２４４は、画像解析部２４６により取得された顔の向きの情報に応じて、作成部２４３により作成された各組合せについて、組合せに含まれる特徴点候補の尤度値を調整する。例えば、棄却部２４４は、上述した図１１に示すように、顔の向きが右向きである旨の情報を画像解析部２４６から取得した場合には、特徴点候補のうち、顔の右側に位置する右瞳孔、右鼻孔、右口角の尤度値を予め設定した割合で低く調整する。尤度値の調整後、棄却部２４４は、組合せに含まれる特徴点候補の中から尤度値が閾値を下回る特徴点候補を削除する。
【００６４】
また、画像解析部２４６は、以前の入力フレームに対する従前の処理で尤度値に従って削除された特徴点候補の情報を棄却部２４４から取得する。そして、画像解析部２４６は、現入力フレームと以前の入力フレームとを照らし合わせて、以前の入力フレームに対する従前の処理で削除された特徴点候補の位置を取得する。
【００６５】
棄却部２４４は、画像解析部２４６から、従前の処理で削除された特徴点候補の位置を取得する。そして、棄却部２４４は、従前の処理で削除された特徴点候補の位置に基づいて、組合せに含まれる特徴点候補の中から、従前の処理で削除された特徴点候補を削除する。
【００６６】
［画像処理装置による処理（実施例３）］
以下、図１３および図１４を用いて、実施例３に係る画像処理装置の処理の流れを説明する。図１３および図１４は、実施例３に係る画像処理装置による処理の流れを示す図である。
【００６７】
まず、図１３を用いて、尤度値の調整を行い、調整後の尤度値に基づいて特徴点候補を削除する場合の処理の流れを説明する。実施例３に係る画像処理装置の処理は、実施例２に係る画像処理装置の処理と以下に説明する点が異なる。すなわち、図１３に示すように、棄却部２４４は、ステップＳ４０３で作成された組合せを一つ選択し（ステップＳ４０４）、選択した組合せに含まれる特徴点候補の尤度値を顔の向きに応じて調整する（ステップＳ４０５）。そして、棄却部２４４は、ステップＳ４０５の処理後、ステップＳ４０４で選択した組合せの中から尤度値が閾値を下回る特徴点候補を削除する（ステップＳ４０６）。以後の処理は、実施例２と同様である。
【００６８】
つまり、棄却部２４４は、ステップＳ４０６の処理後の組合せとモデルとを比較する（ステップＳ４０７）。次に、棄却部２４４は、モデルに対する組合せのリンク長の誤差、すなわちステップＳ４０６の処理後の組合せの含まれる特徴点候補間のリンク長とモデルとの誤差を算出する（ステップＳ４０８）。続いて、棄却部２４４は、ステップＳ４０８で算出された誤差の最大値と現在処理中である該当組合せとを対応付けて保存する（ステップＳ４０９）。そして、棄却部２４４は、ステップＳ４０３で作成された全ての組合せの処理を完了したか否かを判定する（ステップＳ４１０）。判定の結果、全ての組合せの処理を完了していない場合には（ステップＳ４１０，Ｎｏ）、棄却部２４４は、上述したステップＳ４０４の処理に戻り、次の組合せを取得する。一方、棄却部２４４は、全ての組合せの処理を完了している場合には（ステップＳ４１０，Ｙｅｓ）、決定部２４５の処理を起動する。決定部２４５は、ステップＳ４０９で保存された誤差の最大値の中から最小の値を検索する（ステップＳ４１１）。そして、決定部２４５は、ステップＳ４１１で検索された最小の値に対応付けられている組合せを取得し、取得した組合せに含まれる特徴点候補を最終的な特徴点として決定し（ステップＳ４１２）、処理を終了する。
【００６９】
続いて、図１４を用いて、上述した図１３の処理に加えて、従前の処理で削除された候補特徴点に対応するものを削除する場合の処理の流れを説明する。図１４に示すように、棄却部２４４は、ステップＳ５０３で作成された組合せを一つ選択し（ステップＳ５０４）、選択した組合せに含まれる特徴点候補の尤度値を顔の向きに応じて調整する（ステップＳ５０５）。そして、棄却部２４４は、ステップＳ５０５の処理後、ステップＳ５０４で選択した組合せの中から尤度値が閾値を下回る特徴点候補を削除する（ステップＳ５０６）。さらに、棄却部２４４は、ステップＳ５０４で選択した組合せの中から、従前の処理で削除された特徴点候補を削除する（ステップＳ５０７）。以後の処理は、上述した図１３と同様である。
【００７０】
つまり、棄却部２４４は、ステップＳ５０７の処理後の組合せとモデルとを比較する（ステップＳ５０８）。次に、棄却部２４４は、モデルに対する組合せのリンク長の誤差、すなわちステップＳ４０６の処理後の組合せの含まれる特徴点候補間のリンク長とモデルとの誤差を算出する（ステップＳ５０９）。続いて、棄却部２４４は、ステップＳ５０９で算出された誤差の最大値と現在処理中である該当組合せとを対応付けて保存する（ステップＳ５１０）。そして、棄却部２４４は、ステップＳ５０３で作成された全ての組合せの処理を完了したか否かを判定する（ステップＳ５１１）。判定の結果、全ての組合せの処理を完了していない場合には（ステップＳ５１１，Ｎｏ）、棄却部２４４は、上述したステップＳ５０４の処理に戻り、次の組合せを取得する。一方、棄却部２４４は、全ての組合せの処理を完了している場合には（ステップＳ５１１，Ｙｅｓ）、決定部２４５の処理を起動する。決定部２４５は、ステップＳ５１０で保存された誤差の最大値の中から最小の値を検索する（ステップＳ５１２）。そして、決定部２４５は、ステップＳ５１２で検索された最小の値に対応付けられている組合せを取得し、取得した組合せに含まれる特徴点候補を最終的な特徴点として決定し（ステップＳ５１３）、処理を終了する。
【００７１】
なお、上記説明では、画像解析部２４６は、顔の向きの情報を取得するとして説明したが、本実施例はこれに限られない。例えば、画像解析部２４６は、顔に対して強い光が照射される環境において、尤度値が閾値を下回る特徴点候補を組合せから棄却する。つまり、画像解析部２４６は、顔検出部２４１が顔を検出すると、顔部分を複数の領域に分割する。そして、画像解析部２４６は、複数の領域の各々について、明るさを算出する。例えば、各領域に含まれる複数の画素の輝度値の平均値を、各領域の明るさとする。そして、棄却部２４４は、明るさが閾値以上の領域については、該領域に含まれる特徴点候補の尤度値を低く調整する。顔に対して強い光が照射する環境においては、撮影された画像から最終的に求めたい特徴点が欠落する可能性がある。そこで、明るさが閾値以上の領域については、該領域に含まれる特徴点候補の尤度値を低く調整することにより、誤りの可能性がある特徴点候補の影響を予め除去することができる。
【００７２】
［実施例３による効果］
上述してきたように、実施例３では、特徴点候補の尤度値を顔の向きに応じて調整した後に、組合せに含まれる特徴点候補を削除する。このため、実施例３によれば、被写体の撮影状況に応じた特徴点候補の信頼度に従って特徴点候補を削除することができ、誤りの可能性がある特徴点候補の影響を予め除去する場合に、その除去精度を上げることが可能となる。
【実施例４】
【００７３】
実施例１で説明した特徴点候補の削除方法と実施例３で説明した特徴点候補の削除方法を組合せることもできる。
【００７４】
［画像処理装置の構成（実施例４）］
実施例４に係る画像処理装置は、実施例３に係る画像処理装置、すなわち図１２に示す画像処理装置２００と同様の構成ブロックを有する。そして、実施例４に係る画像処理装置は、以下に説明するように、図１２に示す機能ブロックの処理機能が一部異なる。
【００７５】
すなわち、棄却部２４４は、実施例１で説明した特徴点候補の削除方法と実施例３で説明した特徴点候補の削除方法を組合せた処理を実行する。例えば、棄却部２４４は、図８に示す処理と図１３に示す処理とを組み合わせて、以下のような処理を実行する。まず、棄却部２４４は、作成部２４３により作成された各組合せについて、組合せに含まれる特徴点候補の尤度値を調整する。尤度値の調整後、棄却部２４４は、組合せに含まれる特徴点候補の中から尤度値が閾値を下回る特徴点候補を削除する。
【００７６】
次に、棄却部２４４は、尤度値が閾値を下回る特徴点候補が削除された組合せとモデルとを比較し、組合せの含まれる特徴点候補間のリンク長とモデルとの誤差を算出する。続いて、棄却部２４４は、誤差が最大となるリンクを特定し、特定したリンクに関連する特徴点候補のうち、より誤差を発生させる特徴点候補を検出する。そして、棄却部２４４は、検出した特徴点候補を組合せから削除し、削除処理後の組合せとモデルとを比較する。次に、棄却部２４４は、モデルに対するリンク長の誤差を再算出し、算出された誤差の最大値と、現在処理中である該当組合せとを対応付けて保存する。棄却部２４４は、作成部２４３により作成された全ての組合せについて、上述してきた処理を実行する。
【００７７】
また、棄却部２４４は、例えば、図８に示す処理と図１４に示す処理とを組み合わせて以下のような処理を実行することもできる。棄却部２４４は、組合せに含まれる特徴点候補の中から尤度値が閾値を下回る特徴点候補を削除した後、さらに、従前の処理で削除された特徴点候補を削除する。そして、上述したように、棄却部２４４は、尤度値が閾値を下回る特徴点候補および従前の処理で削除された特徴点候補が削除された組合せとモデルとを比較し、組合せの含まれる特徴点候補間のリンク長とモデルとの誤差を算出する。続いて、棄却部２４４は、誤差が最大となるリンクを特定し、特定したリンクに関連する特徴点候補のうち、より誤差を発生させる特徴点候補を検出する。そして、棄却部２４４は、検出した特徴点候補を組合せから削除し、削除処理後の組合せとモデルとを比較する。次に、棄却部２４４は、モデルに対するリンク長の誤差を再算出し、算出された誤差の最大値と、現在処理中である該当組合せとを対応付けて保存する。棄却部２４４は、作成部２４３により作成された全ての組合せについて、上述してきた処理を実行する。
【００７８】
［画像処理装置による処理（実施例４）］
以下、図１５および図１６を用いて、実施例４に係る画像処理装置の処理の流れを説明する。図１５および図１６は、実施例４に係る画像処理装置による処理の流れを示す図である。
【００７９】
図１５に示すように、実施例４に係る画像処理装置の処理は、上述した実施例に係る画像処理装置の処理と以下に説明する点が異なる。すなわち、棄却部２４４は、ステップＳ６０３で作成された組合せを一つ選択し（ステップＳ６０４）、選択した組合せに含まれる特徴点候補の尤度値を顔の向きに応じて調整する（ステップＳ６０５）。そして、棄却部２４４は、ステップＳ６０５の処理後、ステップＳ６０４で選択した組合せの中から尤度値が閾値を下回る特徴点候補を削除する（ステップＳ６０６）。
【００８０】
次に、棄却部２４４は、ステップＳ６０６の処理後の組合せとモデルとを比較する（ステップＳ６０７）。続いて、棄却部２４４は、モデルに対する組合せのリンク長の誤差、すなわちステップＳ６０６の処理後の組合せの含まれる特徴点候補間のリンク長とモデルとの誤差を算出する（ステップＳ６０８）。次に、棄却部２４４は、ステップＳ６０８の処理結果から、誤差が最大となるリンクを特定する（ステップＳ６０９）。続いて、棄却部２４４は、ステップＳ６０９で特定したリンクに関連する特徴点候補のうち、より誤差を発生させる特徴点候補を検出する（ステップＳ６１０）。そして、棄却部２４４は、ステップＳ６１０で検出した特徴点候補をステップＳ６０６の処理後の組合せから削除する（ステップＳ６１１）。
【００８１】
次に、棄却部２４４は、上述したステップＳ６０７と同様にして、ステップＳ６１１の処理後の組合せとモデルとを比較する（ステップＳ６１２）。続いて、棄却部２４４は、上述したステップＳ６０８と同様にして、モデルに対するリンク長の誤差を再算出する（ステップＳ６１３）。そして、棄却部２４４は、ステップＳ６１３で算出された誤差の最大値と現在処理中である該当組合せとを対応付けて保存する（ステップＳ６１４）。以後の処理は、上述した実施例と同様である。
【００８２】
つまり、棄却部２４４は、ステップＳ６０３で作成された全ての組合せの処理を完了したか否かを判定する（ステップＳ６１５）。判定の結果、全ての組合せの処理を完了していない場合には（ステップＳ６１５，Ｎｏ）、棄却部２４４は、上述したステップＳ６０４の処理に戻り、次の組合せを取得する。一方、棄却部２４４は、全ての組合せの処理を完了している場合には（ステップＳ６１５，Ｙｅｓ）、決定部２４５の処理を起動する。決定部２４５は、ステップＳ６１４で保存された誤差の最大値の中から最小の値を検索する（ステップＳ６１６）。そして、決定部２４５は、ステップＳ６１６で検索された最小の値に対応付けられている組合せを取得し、取得した組合せに含まれる特徴点候補を最終的な特徴点として決定し（ステップＳ６１７）、処理を終了する。
【００８３】
また、図１６に示すように、実施例４に係る画像処理装置の処理は、上述した実施例に係る画像処理装置の処理と以下に説明する点が異なる。すなわち、棄却部２４４は、ステップＳ７０３で作成された組合せを一つ選択し（ステップＳ７０４）、選択した組合せに含まれる特徴点候補の尤度値を顔の向きに応じて調整する（ステップＳ７０５）。そして、棄却部２４４は、ステップＳ７０５の処理後、ステップＳ７０４で選択した組合せの中から尤度値が閾値を下回る特徴点候補を削除する（ステップＳ７０６）。
【００８４】
次に、棄却部２４４は、ステップＳ７０６の処理後の組合せの中から、従前の処理で削除された特徴点候補を削除する（ステップＳ７０７）。続いて、棄却部２４４は、ステップＳ７０７の処理後の組合せとモデルとを比較する（ステップＳ７０８）。そして、棄却部２４４は、モデルに対する組合せのリンク長の誤差、すなわちステップＳ７０７の処理後の組合せの含まれる特徴点候補間のリンク長とモデルとの誤差を算出する（ステップＳ７０９）。
【００８５】
次に、棄却部２４４は、ステップＳ７０９の処理結果から、誤差が最大となるリンクを特定する（ステップＳ７１０）。続いて、棄却部２４４は、ステップＳ７１０で特定したリンクに関連する特徴点候補のうち、より誤差を発生させる特徴点候補を検出する（ステップＳ７１１）。そして、棄却部２４４は、ステップＳ７１１で検出した特徴点候補をステップＳ７０７の処理後の組合せから削除する（ステップＳ７１２）。
【００８６】
次に、棄却部２４４は、上述したステップＳ７０８と同様にして、ステップＳ７１２の処理後の組合せとモデルとを比較する（ステップＳ７１３）。続いて、棄却部２４４は、上述したステップＳ７０９と同様にして、モデルに対するリンク長の誤差を再算出する（ステップＳ７１４）。そして、棄却部２４４は、ステップＳ７１４で算出された誤差の最大値と現在処理中である該当組合せとを対応付けて保存する（ステップＳ７１５）。以後の処理は、上述した実施例と同様である。
【００８７】
つまり、棄却部２４４は、ステップＳ７０３で作成された全ての組合せの処理を完了したか否かを判定する（ステップＳ７１６）。判定の結果、全ての組合せの処理を完了していない場合には（ステップＳ７１６，Ｎｏ）、棄却部２４４は、上述したステップＳ７０４の処理に戻り、次の組合せを取得する。一方、棄却部２４４は、全ての組合せの処理を完了している場合には（ステップＳ７１６，Ｙｅｓ）、決定部２４５の処理を起動する。決定部２４５は、ステップＳ７１５で保存された誤差の最大値の中から最小の値を検索する（ステップＳ７１７）。そして、決定部２４５は、ステップＳ７１７で検索された最小の値に対応付けられている組合せを取得し、取得した組合せに含まれる特徴点候補を最終的な特徴点として決定し（ステップＳ７１８）、処理を終了する。
【００８８】
［実施例４による効果］
上述してきたように、実施例４では、顔の向きに応じて調整された尤度値、従前の処理結果またはモデルとの誤差のうち、複数のパラメータを用いて、組合せに含まれる特徴点候補を削除する。このため、実施例３によれば、誤りの可能性がある特徴点候補の影響を予め除去する場合に、その除去精度を上述した実施例よりも上げることが可能となる。
【実施例５】
【００８９】
以下、本願の開示する画像処理プログラムおよび画像処理装置の他の実施形態を説明する。
【００９０】
（１）車両の特徴点検出
上述してきた画像処理装置２００の処理機能は、被写体が車両である場合にも同様に適用することができる。図１７は、実施例５に係る画像処理装置の説明に用いる図である。図１７に示すように、画像処理装置２００は、車両に含まれる複数の真正な特徴点の組合せに関する辞書情報のモデル３０を予め記憶する。そして、画像処理装置２００は、上述した実施例と同様にして、車両を撮影した画像から特徴点を取得する。
【００９１】
例えば、画像処理装置２００は、パターンマッチングなどの既存技術を用いた処理により被写体として車両を撮影した画像から特徴点候補、例えば図１７に示すＰ１、Ｐ２、Ｐ３を抽出する。次に、画像処理装置２００は、図１７に示すＣ１およびＣ２のように、特徴点候補の組合せを複数作成し、作成した組合せの一つとモデル３０とを比較する。続いて、画像処理装置２００は、特徴点候補間を接続するリンクから、モデルとの誤差が最大となるリンクを特定する。次に、画像処理装置２００は、特定されたリンクに関連する特徴点候補のうち、より誤差を発生させる特徴点候補、例えば、図１７に示すＰ４を検出する。続いて、画像処理装置２００は、特徴点候補Ｐ４を削除した組合せとモデル３０とを再び比較し、モデル３０との誤差を計算する。そして、特徴点候補間を接続するリンクとモデル３０との誤差の最大値と、特徴点候補の組合せとを対応付けて保存する。画像処理装置２００は、作成した全ての組合せについて上述した処理を実行し、最終的に、モデルとの誤差の最大値が最も小さい組合せに含まれる特徴点候補を特徴点として最終的に決定する。
【００９２】
（２）装置構成等
例えば、図１に示した画像処理装置２００の機能ブロックの構成は概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。例えば、図１に示した抽出部２４２と作成部２４３とを機能的または物理的に統合してもよい。また、例えば、図１に示した棄却部２４４と決定部２４５とを機能的または物理的に統合してもよい。このように、例えば、図１に示した画像処理装置２００の機能ブロックの全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散または統合して構成することができる。
【００９３】
（３）画像処理プログラム
また、上述の実施例にて説明した画像処理装置２００により実行される各種の処理は、例えば、情報処理装置に搭載される電子回路や集積回路などの電子機器で所定のプログラムを実行することによって実現することもできる。
【００９４】
そこで、以下では、図１８を用いて、上述の実施例にて説明した画像処理装置２００により実行される処理と同様の機能を実現する画像処理プログラムを実行するコンピュータの一例を説明する。図１８は、画像処理プログラムを実行する電子機器の一例を示す図である。
【００９５】
図１８に示すように、画像処理装置２００により実行される各種処理を実現する電子機器３００は、各種演算処理を実行するＣＰＵ（Central  Processing  Unit）３１０を有する。また、図１８に示すように、電子機器３００は、カメラ画像を取得するためのカメラインターフェース３２０、ディスプレイとの間で各種データのやり取りを行うためのディスプレイインタフェース３３０を有する。また、図１８に示すように、電子機器３００は、ハードウェアアクセラレータとして機能するグラフィックエンジン３４０を有する。
【００９６】
また、図１８に示すように、電子機器３００は、ＣＰＵ３１０により各種処理を実現するためのプログラムやデータ等を記憶するハードディスク装置３５０と、各種情報を一時記憶するＲＡＭ（Random  Access  Memory）などのメモリ３６０とを有する。そして、各装置３１０〜３６０は、バス３７０に接続される。
【００９７】
なお、ＣＰＵ３１０の代わりに、例えば、ＭＰＵ（Micro  Processing  Unit）などの電子回路、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路を用いることもできる。また、メモリ３６０の代わりに、フラッシュメモリ（flash  memory）などの半導体メモリ素子を用いることもできる。
【００９８】
ハードディスク装置３５０には、画像処理装置２００の機能と同様の機能を発揮する画像処理プログラム３５１および画像処理用データ３５２が記憶されている。なお、この画像処理プログラム３５１を適宜分散させて、ネットワークを介して通信可能に接続された他のコンピュータの記憶部に記憶させておくこともできる。
【００９９】
そして、ＣＰＵ３１０が、画像処理プログラム３５１をハードディスク装置３５０から読み出してメモリ３６０に展開することにより、図１８に示すように、画像処理プログラム３５１は画像処理プロセス３６１として機能する。画像処理プロセス３６１は、ハードディスク装置３５０から読み出した画像処理用データ３５２等の各種データを適宜メモリ３６０上の自身に割当てられた領域に展開し、この展開した各種データに基づいて各種処理を実行する。
【０１００】
なお、画像処理プロセス３６１は、例えば、上述した画像処理装置２００の制御部２４０にて実行される処理、例えば、図８、図９、図１０、図１３、図１４、図１５、図１６を用いて説明した処理を含む。
【０１０１】
なお、画像処理プログラム３５１については、必ずしも最初からハードディスク装置３５０に記憶させておく必要はない。例えば、電子機器３００が実装されたＥＣＵへ対応ドライブを接続可能なフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、電子機器３００がこれらから各プログラムを読み出して実行するようにしてもよい。
【０１０２】
さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介して、電子機器３００が実装されたＥＣＵに接続される「他のコンピュータ（またはサーバ）」などに各プログラムを記憶させておく。そして、電子機器３００がこれらから各プログラムを読み出して実行するようにしてもよい。
【０１０３】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１０４】
（付記１）コンピュータに、
入力画像から特徴点の候補である特徴点候補を複数抽出し、前記特徴点候補を複数含む組合せを複数作成し、
複数の真正な特徴点の組合せに関する辞書情報と前記入力画像の解析情報との少なくとも一方に基づいて、前記特徴点候補の組合せごとに、該組合せに含まれる複数の前記特徴点候補の中から１または複数の特徴点候補を棄却し、
前記特徴点候補の組合せごとに、該組合せに含まれる特徴点候補から１または複数の特徴点候補が棄却された組合せと前記辞書情報との照合結果をそれぞれ取得し、
前記照合結果に応じて前記特徴点候補の組合せを選択し、選択した組合せに含まれる複数の前記特徴点候補を前記特徴点にそれぞれ決定する
処理を実行させることを特徴とする画像処理プログラム。
【０１０５】
（付記２）前記特徴点候補を棄却する処理において、前記複数の真正な特徴点の組合せと複数の前記特徴点候補の組合せとを照合し、他の前記特徴点候補よりも、前記真正な特徴点間の距離に対する前記特徴点候補間の距離の誤差が大きくなる特徴点候補を棄却することを特徴とする付記１に記載の画像処理プログラム。
【０１０６】
（付記３）前記特徴点候補を棄却する処理は、前記入力画像である現フレームを解析して得られる前記特徴点である尤もらしさを示す尤度値、および／または従前の処理により棄却された特徴点候補の情報に基づいて、前記組合せごとに、１または複数の特徴点候補を棄却することを特徴とする付記１に記載の画像処理プログラム。
【０１０７】
（付記４）前記特徴点候補を棄却する処理は、前記現フレームおよび該現フレーム以前のフレームを解析して得られる被写体の向きの情報に応じて前記尤度値を調整することを特徴とする付記３に記載の画像処理プログラム。
【０１０８】
（付記５）複数の真正な特徴点の組合せに関する辞書情報を記憶する記憶部と、
入力画像から特徴点の候補である特徴点候補を複数抽出し、前記特徴点候補を複数含む組合せを複数作成する作成部と、
前記記憶部に記憶されている辞書情報と前記入力画像の解析情報との少なくとも一方に基づいて、前記特徴点候補の組合せごとに、該組合せに含まれる複数の前記特徴点候補の中から１または複数の特徴点候補を棄却する棄却部と、
前記特徴点候補の組合せごとに、該組合せに含まれる特徴点候補から前記棄却部により１または複数の特徴点候補が棄却された組合せと前記辞書情報との照合結果をそれぞれ取得し、取得された照合結果に応じて前記特徴点候補の組合せを選択して、選択した組合せに含まれる複数の前記特徴点候補を前記特徴点にそれぞれ決定する決定部と
を有することを特徴とする画像処理装置。
【０１０９】
（付記６）前記棄却部は、前記複数の真正な特徴点の組合せと複数の前記特徴点候補の組合せとを照合し、他の前記特徴点候補よりも、前記真正な特徴点間の距離に対する前記特徴点候補間の距離の誤差が大きくなる特徴点候補を棄却することを特徴とする付記５に記載の画像処理装置。
【０１１０】
（付記７）前記棄却部は、前記入力画像である現フレームを解析して得られる前記特徴点である尤もらしさを示す尤度値、および／または従前の処理により棄却された特徴点候補の情報に基づいて、前記組合せごとに、１または複数の特徴点候補を棄却することを特徴とする付記５に記載の画像処理装置。
【０１１１】
（付記８）前記棄却部は、前記現フレームおよび該現フレーム以前のフレームを解析して得られる被写体の向きの情報に応じて前記尤度値を調整することを特徴とする付記７に記載の画像処理装置。
【符号の説明】
【０１１２】
１００  撮像装置
２００  画像処理装置
２１０  入力部
２２０  出力部
２３０  記憶部
２３１  画像記憶部
２３２  モデル記憶部
２４０  制御部
２４１  顔検出部
２４２  抽出部
２４３  作成部
２４４  棄却部
２４５  決定部
２４６  画像解析部
３００  電子機器
３１０  ＣＰＵ
３２０  カメラインターフェース
３３０  ディスプレイインタフェース
３４０  グラフィックエンジン
３５０  ハードディスク装置
３５１  画像処理プログラム
３５２  画像処理用データ
３６０  メモリ
３６１  画像処理プロセス
３７０  バス
【図１】
0005648452.tif 000002
【図２】
0005648452.tif 000003
【図３】
0005648452.tif 000004
【図４】
0005648452.tif 000005
【図５】
0005648452.tif 000006
【図６】
0005648452.tif 000007
【図７】
0005648452.tif 000008
【図８】
0005648452.tif 000009
【図９】
0005648452.tif 000010
【図１０】
0005648452.tif 000011
【図１１】
0005648452.tif 000012
【図１２】
0005648452.tif 000013
【図１３】
0005648452.tif 000014
【図１４】
0005648452.tif 000015
【図１５】
0005648452.tif 000016
【図１６】
0005648452.tif 000017
【図１７】
0005648452.tif 000018
【図１８】
0005648452.tif 000019