以下、図面を参照して、本発明に係る画像処理装置及び画像処理方法の実施の形態を説明する。
本実施の形態では、本発明を、対象物体を人間の顔又は人間の眼球とする画像処理装置に適用する。本実施の形態には、3つの形態があり、第1の実施の形態が顔の位置と姿勢を推定する形態であり、第2の実施の形態が顔の有無を判定する形態であり、第3の実施の形態が眼球の姿勢を推定する形態である。各本実施の形態では、保持する情報を求めるために事前に処理を行うための画像処理装置と対象物体の有無、位置、姿勢を判断するための画像処理装置が構成される。例えば、対象の人としては自動車などの乗り物の運転者であり、運転者の顔の位置や姿勢あるいは視線などを推定するために用いられる。
図1〜図16を参照して、第1の実施の形態について説明する。図1は、第1の実施の形態及び第2の実施の形態に係るモデリング処理用の画像処理装置の構成図である。図2は、第1の実施の形態に係る顔位置・姿勢推定処理用の画像処理装置の構成図である。図3は、図1の第1カメラで撮像された顔の撮像画像の一例である。図4は、図3の撮像画像から抽出された特徴点を示す画像である。図5は、特徴点に対応する点を含む三次元モデルの一例である。図6は、図3の各特徴点の三次元位置を示す図である。図7は、図1の第1カメラと第2カメラでそれぞれ撮像された顔の撮像画像の一例である。図8は、図7の2つの撮像画像からそれぞれ抽出された特徴点を示す画像である。図9は、図2のカメラで撮像された顔の撮像画像の一例である。図10は、図9の撮像画像から検出された顔領域を示す画像である。図11は、図10の撮像画像の顔領域から抽出された参照輝度パターンと類似する領域を示す画像である。図12は、第1段階での顔の位置・姿勢の推定値に応じた特徴点の基準三次元位置から二次元画像上への投影の説明図である。図13は、第1段階での各特徴点の正規化相関値の一例である。図14は、第2段階での顔の位置・姿勢の推定値に応じて特徴点の基準三次元位置から二次元画像上への投影の説明図である。図15は、第2段階での各特徴点の正規化相関値の一例である。図16は、特徴点毎の各投影位置における正規化相関値からなるマップの一例である。
第1の実施の形態では、画像処理装置1と画像処理装置11が構成される。画像処理装置1は、モデリング処理用の画像処理装置である。画像処理装置11は、顔位置・姿勢推定処理用の画像処理装置である。
画像処理装置1の構成について説明する。画像処理装置1は、画像処理装置11で処理を行う前に、画像処理装置11で保持する情報として認識対象の人の顔における複数の特徴点の輝度パターンと各特徴点の三次元位置を求める。そのために、画像処理装置1は、第1カメラ2、第2カメラ3、画像処理部4を備えている。画像処理部4は、パーソナルコンピュータなどのコンピュータ上でモデリング処理用のアプリケーションプログラム(ソフトウエア)を実行することによって特徴点抽出部4a、特徴点三次元位置推定部4b、情報保持部4cが構成される。なお、2台の第1カメラ2と第2カメラ3を備えているが、1台の第1カメラ2だけが使用可能な場合と2台のカメラ2,3が使用可能の場合があり、その2つの場合について説明する。
第1カメラ2、第2カメラ3は、所定の間隔をあけて平行に撮像対象に配置されたステレオカメラであり、視点の異なる二枚の撮像画像を同時に撮像する。カメラ2,3は、CCD[Charge coupled device]などの撮像素子を備えるデジタルカメラであり、デジタル画像データからなる撮像画像を画像信号として画像処理部4に送信する。2台のカメラ2,3間の位置関係及び各カメラ2,3の内部パラメータ、外部パラメータは計測可能であり、これらの情報は画像処理部4に予め保持されている。画像処理部4では少なくとも輝度情報が有れば処理を行うことができるので、カメラ2,3はカラーカメラでもあるいは白黒カメラでもよい。カラーカメラの場合、画像処理部4でカラー画像から輝度画像に変換される。
1台の第1カメラ2だけを使用する場合、認識対象の人に第1カメラ2の方向を向いてもらう。したがって、第1カメラ2では、その人の真正面の顔を撮像し、その画像信号を画像処理部4に送信する。図3には、第1カメラ2で撮像された撮像画像BIの一例を示している。2台のカメラ2,3を使用する場合、認識対象の人に第1カメラ2の方向を向いてもらう。したがって、第1カメラ2では、その人の顔を真正面から撮像し、その画像信号を画像処理部4に送信する。第2カメラ3では、その人の顔を真正面から少し側方にずれた位置から第1カメラ2と同時に撮像し、その画像信号を画像処理部4に送信する。図7には、第1カメラ2で撮像された撮像画像BI1と第2カメラ3で撮像された撮像画像BI2の一例を示している。
1台の第1カメラ2だけを使用する場合、特徴点抽出部4aは、第1カメラ2で撮像された撮像画像BIの顔内から輝度が周囲に比べて特徴的な点(特徴点)を3つ以上抽出する。特徴点としては、例えば、両目の各目尻、各目頭、鼻の左右の孔、口の左右端などの肌との境界となる箇所であり、輝度が周囲の領域と明らかな差がある箇所である。さらに、特徴点抽出部4aでは、撮像画像BIから各特徴点のその点らしさ(特徴点としての確からしさ)を評価する特徴量として特徴点を中心とした矩形領域の輝度パターンを参照輝度パターンとして抽出する。そして、特徴点抽出部4aでは、各特徴点の輝度パターンを情報保持部4cに記憶させる。図4には、第1カメラ2で撮像された撮像画像BIの顔から抽出した6つの特徴点(左右の目尻の各点と目頭の各点、口の左右端の各点)についての参照輝度パターンIPa,IPb,IPc,IPd,IPe,IPfが示されている。なお、コンピュータのオペレータによって抽出される点を特徴点としてもよい。また、経験的にその後の処理に対して望ましい点があれば、そのような点周辺の画像を抽出し、統計的な特徴を元にそれと類似する輝度パターンを持つ位置として特徴点を抽出するようにしてもよい。
2台のカメラ2,3を使用する場合、特徴点抽出部4aでは、第1カメラ2だけを使用する場合と同様に、第1カメラ2で撮像された撮像画像BI1の顔内から特徴点を3つ以上抽出し、撮像画像BI1から各特徴点の参照輝度パターンを抽出する。そして、特徴点抽出部4aでは、各特徴点の輝度パターンを情報保持部4cに記憶させる。図8には、第1カメラ2で撮像された撮像画像BI1の顔から抽出した6つの特徴点についての参照輝度パターンIP1a,IP1b,IP1c,IP1d,IP1e,IP1fが示されている。
1台の第1カメラ2だけを使用する場合、特徴点三次元位置推定部4bでは、平均的な顔の三次元モデルから各特徴点に対応する点を抽出し、三次元モデルの座標系における各特徴点に対応する三次元位置(三次元座標)を読み出す。顔の三次元モデルは、正面を向いている顔の三次元形状を示す数百個程度の頂点からなるモデルであり、各頂点が三次元座標を有している。三次元モデルの生成方法としては、レンジスキャナやステレオカメラなどを用いて、平均的な顔をした人物の正面を向いているときの顔の三次元形状(三次元形状を示す点の集まり)を取得する。図5には、三次元モデルDMの一例を示している。
さらに、特徴点三次元位置推定部4bでは、各特徴点について、第1カメラ2の画像のカメラ座標系での二次元座標と三次元モデルの座標系での三次元座標との位置関係から、第1カメラ2のカメラ座標系における三次元位置(つまり、第1カメラ2の画像上での三次元位置)を推定する。そして、特徴点三次元位置推定部4bでは、特徴点毎に、各特徴点のカメラ座標系における三次元位置を参照輝度パターンに対応付けて情報保持部4cに記憶させる。図6には、図4に示す各特徴点のカメラ座標系における三次元位置を示している。
ここで求められた三次元位置は、顔の位置や姿勢を推定する際の基準位置となる。したがって、第1の実施の形態では、この三次元位置からの位置や姿勢に関する変化量を位置や姿勢としている。なお、三次元モデルの座標系とカメラ座標系とが一致しているとし、その状態を基準として、そこからの位置や姿勢に関する変化量を位置や姿勢とすることもできる。
ここで、第1カメラ2のカメラ座標系における三次元位置を推定する具体的な手法について説明する。以降の説明では、第1カメラ2に対して真正面を向いた認識対象の人の顔の状態を基準三次元位置として説明する。第1カメラ2で撮像した画像上の各特徴点の二次元座標、そのカメラの内部パラメータ、外部パラメータ及び各特徴点の三次元モデル座標系における三次元座標は既知である。したがって、未知なカメラ座標系における三次元位置を求めるためには、第1カメラ2と三次元モデルの位置関係(カメラ座標と三次元モデル座標系との位置関係)がどのようなときに、三次元モデル上の各特徴点が画像上の各特徴点の投影されている位置に映りこむのかを推定することになる。
この推定を行うための手法としては、例えば、POSIT(D.DeMenthon andL.S.Davis,"Model-Based Object Pose in 25 Lines of Code",InternationalJournal of Computer Vision,15,pp.123-141,june 1995.)を用いる。この手法を用いることにより、三次元モデル上の各特徴点のカメラ座標系における位置と姿勢を算出することができる。特徴点三次元位置推定部4bでは、式(1)により、各特徴点について、三次元モデル座標系における三次元位置(X,Y,Z)から第1カメラ2のカメラ座標系における三次元位置(X’,Y’,Z’)を算出する。
式(1)において、tがPOSITによって求められた位置(並進ベクトル)であり、RがPOSITによって求められた姿勢(回転行列)である。三次元位置(X’,Y’,Z’)は、カメラ座標系における基準三次元位置となる。
2台のカメラ2,3を使用する場合、特徴点三次元位置推定部4bでは、第1カメラ2の撮像画像BI1上の各特徴点に対応する第2カメラ3の撮像画像BI2上での類似位置を検出する。この検出方法としては、例えば、以下のような手法を用いる。カメラ2,3の位置関係及び内部パラメータ、外部パラメータは既知である。したがって、式(2)で示すエピポーラ拘束は、三次元空間内のある物体の同一点を第1カメラ2、第2カメラ3で撮像したときの各撮像画像上の投影位置m1,m2(拡張座標)に対して成立する。
m1は、三次元空間内のある点の第1カメラ2の撮像画像上の投影位置であり、式(3)で表され、既知である。m2は、三次元空間内のある点の第2カメラ3の撮像画像上の投影位置であり、式(4)で表され、未知である。Fは、基礎行列であり、式(5)で表される。A1,A2は、カメラ2,3の各内部行列であり、既知である。Tは、式(6)の行列で表され、(t1,t2,t3)は並進ベクトルの各要素である。Rは、第1カメラ2のカメラ座標系における第1カメラ2のカメラ座標系から第2カメラ3のカメラ座標系への回転行列である。式(5)におけるT(位置)とR(姿勢)は外部パラメータとして算出されているので、式(5)から基礎行列Fを算出できる。
そこで、特徴点三次元位置推定部4bでは、第1カメラ2の撮像画像から抽出された各特徴点の二次元座標であるm1を用いて、式(2)により、第2カメラ3の撮像画像上での対応位置を算出する。そして、特徴点三次元位置推定部4bでは、第2カメラ3の撮像画像上での各対応位置が存在する領域において、第1カメラ2の撮像画像から抽出された各参照輝度パターンと類似する位置(特徴点)を探索する。そして、特徴点三次元位置推定部4bでは、各特徴点について、第2カメラ3の撮像画像からその探索した類似位置を中心とした矩形領域の輝度パターンを参照輝度パターンとして抽出し、その参照輝度パターンを第1カメラ2の撮像画像から抽出した情報保持部4cに記憶させる。図8には、第2カメラ3で撮像された撮像画像BI2から抽出された参照輝度パターンIP2a,IP2b,IP2c,IP2d,IP2e,IP2fが示されている。この探索手法としては、例えば、テンプレートマッチングを用いる。テンプレートマッチングは、例えば、式(7)で表現され、第2カメラ3の撮像画像上の座標(x,y)における類似度norm(x,y)が求められる。
f(x,y)は、第2カメラ3の撮像画像上の座標(x,y)における輝度値である。g(u,v)は、第1カメラ2の撮像画像から抽出された参照輝度パターンの座標(u,v)における輝度値である。faveは、第2カメラ3の撮像画像上の座標(x,y)を中心とした参照輝度パターンと同じサイズの領域の平均輝度である。gaveは、参照輝度パターンの平均輝度である。Vは、参照輝度パターンの垂直方向の取りえる座標の要素の集合である。Uは、参照輝度パターンの水平方向の取りえる座標の要素の集合である。
さらに、特徴点三次元位置推定部4bでは、第1カメラ2の撮像画像から抽出した特徴点の二次元座標と第2カメラ3の撮像画像から探索した特徴点の二次元座標とを用いて、三角測量の原理により、第1カメラ2のカメラ座標系における各特徴点の三次元位置(基準三次元位置)を算出する。そして、特徴点三次元位置推定部4bでは、特徴点毎に、各特徴点のカメラ座標系における三次元位置を参照輝度パターンに対応付けて情報保持部4cに記憶させる。
情報保持部4cは、所定のメモリ領域に構成され、認識対象の3つ以上の特徴点についての参照輝度パターンと第1カメラ2のカメラ座標系における三次元位置をテンプレートとして保持する。第1カメラ2だけ使用する場合には第1カメラ2の撮像画像から得られた参照輝度パターンだけが保持され、カメラ2,3を使用する場合にはカメラ2,3の各撮像画像からそれぞれ得られた参照輝度パターンが保持される。
画像処理装置11の構成について説明する。画像処理装置11は、画像処理装置1で生成した各特徴点についてのテンプレートを保持し、そのテンプレートを利用して撮像画像上の認識対象の人の顔の位置と姿勢を推定する。その際、画像処理装置11では、各フレームの撮像画像について、位置と姿勢の推定値を多数設定し、その各推定値が撮像画像における顔の位置と姿勢に対して適合している度合いを算出し、その適合度に基づいて位置と姿勢を推定する。特に、画像処理装置11では、位置と姿勢を高精度に推定するために、第1段階の推定値生成及び適合度算出を行い、さらに、第1段階で絞った推定値(位置と姿勢)に基づいて第2段階の推定値生成及び適合度算出を行う。そのために、画像処理装置11は、カメラ12、画像処理部13を備えている。画像処理部13は、コンピュータ上で顔位置・姿勢推定処理用のアプリケーションプログラムを実行することによって情報保持部13a、記憶解析部13b、推定値生成部13c、適合度算出部13d、顔位置・姿勢出力部13eが構成される。このコンピュータは画像処理装置1と同一のコンピュータであってもよいし、異なるコンピュータでもよく、同一のコンピュータの場合には情報保持部が共有されてもよい。
なお、第1の実施の形態では、カメラ12が特許請求の範囲に記載する撮像手段に相当し、情報保持部13aが特許請求の範囲に記載する情報保持手段に相当し、推定値生成部13cが特許請求の範囲に記載する推定値生成手段に相当し、適合度算出部13dが特許請求の範囲に記載する適合度算出手段に相当し、顔位置・姿勢出力部13eが特許請求の範囲に記載する判断手段に相当する。
カメラ12は、CCDなどの撮像素子を備えるデジタルカメラであり、デジタル画像データからなる撮像画像を画像信号として画像処理部13に送信する。この際、カメラ12では、時間的に連続して撮像し、一定時間間隔(例えば、1/30秒)毎の連続した撮像画像(動画像)データを出力する。カメラ12の内部パラメータ、外部パラメータは計測可能であり、これらの情報は画像処理部13に予め保持されている。画像処理部13では少なくとも輝度情報が有れば処理を行うことができるので、カメラ12はカラーカメラでもあるいは白黒カメラでもよい。カラーカメラの場合、画像処理部13でカラー画像から輝度画像に変換される。ちなみに、画像処理装置11が自動車などに搭載される場合、カメラ12は、車室内において、運転席に座っている運転者の顔を真正面から撮像できる位置に配置される。
情報保持部13aは、所定のメモリ領域に構成され、画像処理装置1で求められた認識対象の顔の複数の特徴点についての参照輝度パターンとカメラ座標系における三次元位置をテンプレートとして保持する。
記憶解析部13bは、所定のメモリ領域に構成され、推定値生成部13cで生成される位置、姿勢の推定値と適合度算出部13dで算出される各推定値に対する適合度を対応付けて記憶するとともに、顔位置・姿勢出力部13eから出力される各フレームの撮像画像における推定された顔の位置と姿勢を記憶する。そして、記憶解析部13bでは、認識対象の人が過去にとった顔の位置や姿勢を履歴として蓄積する。さらに、記憶解析部13bでは、この位置と姿勢の履歴から、位置と姿勢の6つのパラメータによる六次元空間内で取りえる位置と姿勢の組み合わせを洗い出す。また、記憶解析部13bでは、この位置と姿勢の履歴から、頻度的に多くとりえる位置と姿勢付近をピークとする正規分布を設定し、その正規分布を複数重ねて確率密度関数を生成する。なお、記憶解析部13bでは、顔位置・姿勢出力部13eから出力される顔の位置と姿勢を用いて履歴を蓄積してもよいし、あるいは、多数の推定値とその推定値の適合度の中から適合度が閾値より大きい推定値を用いて履歴を蓄積してもよい。
画像処理部13では、現フレーム分の画像信号を受信する毎に、その撮像画像を所定のメモリ領域に記憶させる。そして、画像処理部13では、前フレームの撮像画像において顔の位置と姿勢が推定されているか否かを判定する。これは、現フレームが初期フレームである場合や前フレームで顔を検出できなかった場合には前フレームで顔の位置と姿勢を推定できないので、後段の処理を行うことができない。そこで、現フレームから顔を検出し、おおよその位置と姿勢を推定し、前フレームの位置と姿勢とする。図9には、カメラ12から入力されるあるフレームの撮像画像IIの一例を示している。
前フレームで顔の位置と姿勢の推定を行っていない場合、画像処理部13では、現フレームの撮像画像内に顔が存在するか否かの顔検出を行い、顔が存在するときにはその顔の存在する領域を求める。図10には、撮像画像IIから顔を検出でき、その顔領域FAを示している。この顔の検出方法としては、従来の顔検出処理を用いてもよいし、あるいは、第2の実施の形態における顔有無判定処理を用いてもよい。ここで、顔を検出できない場合、画像処理部13では、次フレームの撮像画像を待つ。
次に、画像処理部13では、顔領域FAから各特徴点に対応する点を探索する。この探索手法としては、例えば、テンプレートマッチングを利用し、情報保持部13aで保持されている各特徴点の参照輝度パターンを用いて、上記した式(7)により、各参照輝度パターンと類似する位置(特徴点)を探索する。図11には、撮像画像IIの顔領域から探索した各参照輝度パターンと類似する領域RAa,RAb,RAc,RAd,RAe,RAfが示され、この各領域の中心が対応点である。ここで、3つ以上の対応点を探索できない場合、後段の処理を行うことができないので、画像処理部13では、次フレームの撮像画像を待つ。
次に、画像処理部13では、各特徴点について、探索した対応点の二次元座標と情報保持部13aに保持されている基準三次元位置の対応関係から、基準三次元位置に対するカメラ12のカメラ座標系におけるおおよその位置と姿勢を算出し、現フレームでの位置と姿勢の推定値とする。この推定値が、次フレームでの処理で、前フレームの位置と姿勢の推定値として利用される。この推定手法としては、例えば、POSITを用いる。
前フレームの位置と姿勢が推定されている場合、推定値生成部13cでは、前フレームでの位置と姿勢(参照値)から取りえる現フレームの撮像画像における顔の位置と姿勢の推定値を多数個生成する。取りえる位置、姿勢の範囲は、位置と姿勢の6つのパラメータ毎に、フレーム間の時間内でそれぞれ変化できる各最大値を前フレームの位置と姿勢の6つのパラメータに加算及び減算した範囲となる。ただし、この範囲が認識対象の顔が構造上取りえない範囲を含んでいる場合、構造的に取りえない範囲を除いた範囲とする。つまり、認識対象の人の顔がおかれている環境やその顔とカメラ12との位置関係などから、顔が動作可能な位置や姿勢の範囲は物理的に決まっているので、その範囲内で推定値が生成される。フレーム間の時間内でそれぞれ変化できる最大値としては、その顔がおかれている環境における顔の位置や姿勢を事前に測定し、その測定から得られた変化の最大値から予め設定してもよいし、あるいは、前フレームと前々フレームとの間での位置と姿勢の変化に基づいて設定してもよい。
このように設定した取りえる位置、姿勢の6つのパラメータの範囲において、各パラメータが実際にどのような値を取るかは同様に確からしい。そこで、推定値生成部13cでは、位置、姿勢の6つのパラメータ毎にそれぞれの最小値と最大値の範囲の値をとる合計六次元空間内の一様分布からランダムにn回取り出し、その取り出した値を位置と姿勢の推定値est1(i)(i=1,・・・,n)とする。具体的には、推定値生成部13cでは、式(8)により、推定値を生成する。
est_txは位置のx座標の推定値であり、est_tyは位置のy座標の推定値であり、est_tzは位置のz座標の推定値であり、est_degxは姿勢のX軸周りの回転角度の推定値であり、est_degyは姿勢のY軸周りの回転角度の推定値であり、est_degzは姿勢のZ軸周りの回転角度の推定値である。old_txは位置のx座標の前フレーム値であり、old_tyは位置のy座標の前フレーム値であり、old_tzは位置のz座標の前フレーム値であり、old_degxは姿勢のX軸周りの回転角度の前フレーム値であり、old_degyは姿勢のY軸周りの回転角度の前フレーム値であり、old_degzは姿勢のZ軸周りの回転角度の前フレーム値である。max_txは位置のx座標のフレーム間変化最大値であり、max_tyは位置のy座標のフレーム間変化最大値であり、max_tzは位置のz座標のフレーム間変化最大値であり、max_degxは姿勢のX軸周りの回転角度のフレーム間変化最大値であり、max_degyは姿勢のY軸周りの回転角度のフレーム間変化最大値であり、max_degzは姿勢のZ軸周りの回転角度のフレーム間変化最大値である。u(−1,1)は−1から1の間の一様分布である。
なお、推定値の生成手法としては、記憶解析部13bに蓄積されている履歴から導かれた六次元空間内で取りえる位置と姿勢の組み合わせに基づいて推定値を生成してもよいし、あるいは、記憶解析部13bに蓄積されている履歴から導かれた確率密度関数に基づいて推定値を生成してもよいし、あるいは、推定値を一様分布ではなく、前フレームの位置と姿勢付近に現フレームの位置と姿勢がいる可能性が高いならば、前フレームの位置と姿勢をピークとする正規分布で推定値を生成してもよい。このような正規分布を用いて推定値を生成することにより、ピークに近いほど推定値の設定間隔が密となり、ピークから離れるほど推定値の設定間隔が疎となる。
さらに、推定値生成部13cでは、適合度算出部13dで第1段階の推定値est(i)に対する適合度が算出されると、その最大の適合度が閾値を超えたか否かを判定する。この閾値は、撮像画像上に顔が存在している(つまり、現フレームの撮像画像上の投影位置には特徴点として確からしい点がそれぞれ存在する)と推定できる程度の適合度であるか否かを判定するための閾値である。最大の適合度が閾値以下の場合、現フレームの撮像画像上で顔を検出できないと判断し、推定値生成部13cでは、次フレームの撮像画像を待つ。なお、この判定手法としては、閾値を超える適合度の推定値の数が所定数以上の場合に顔が存在すると判定してもよいし、あるいは、適合度の最大値の一定の割合以上の値(例えば、最大値の9割以上の値)をとる適合度の推定値の数が所定数以上の場合に顔が存在すると判定してもよい。
一方、最大の適合度が閾値を超えた場合、顔が存在すると判断し、推定値生成部13cでは、更に絞った位置と姿勢の推定値を生成する。第1段階での最大の適合度を持つ推定値の位置と姿勢付近に真の位置と姿勢が存在していると推測できるので、その付近に集中して多数の位置と姿勢の推定値を再度設定する。そこで、推定値生成部13cでは、この最大の適合度を持つ推定値の位置と姿勢を平均値とするような正規分布を仮定し、その正規分布からランダムにn’回取り出し、その取り出した値を位置と姿勢の推定値est2(i)(i=1,・・・,n’)とする。あるいは、推定値生成部13cでは、この最大値の適合度とその最大の一定の割合以上の値をとる適合度の推定値の位置と姿勢をサンプルとして取り出し、その各取り出した全てのサンプルから位置と姿勢のパラメータ毎に平均と分散を算出する。そして、推定値生成部13cでは、式(9)により各パラメータの推定値estをそれぞれ算出し、推定値est2(i)(i=1,・・・,n’)を生成する。
N(a,b)は、平均a、分散bの正規分布である。meanは、パラメータのサンプルの平均である。σ2は、パラメータのサンプルの分散である。
適合度算出部13dでは、推定値生成部13cで生成した推定値毎に、式(10)により、各推定値の位置と姿勢の6つのパラメータを用いて、情報保持部13aに保持している各特徴点の基準三次元位置をそれぞれ移動させる。
(X,Y,Z)が情報保持部13aに保持されている特徴点の基準三次元位置(三次元座標)であり、(X’,Y’,Z’)が移動後の特徴点の三次元位置(三次元座標)である。また、Rzは、Z軸周りの回転行列であり、式(11)の行列で表さる。Ryは、Y軸周りの回転行列であり、式(12)の行列で表さる。Rxは、X軸周りの回転行列であり、式(13)の行列で表される。est_txは位置のx座標の推定値であり、est_tyは位置のy座標の推定値であり、est_tzは位置のz座標の推定値であり、est_degxは姿勢のX軸周りの回転角度の推定値であり、est_degyは姿勢のY軸周りの回転角度の推定値であり、est_degzは姿勢のZ軸周りの回転角度の推定値である。
さらに、適合度算出部13dでは、式(14)により、移動後の三次元位置(X’,Y’,Z’)をカメラ12の撮像画像上に投影する。図12には、特徴点の基準三次元位置3Da,3Db,3Dc,3Dd,3De,3Dfが第1段階で生成した推定値eat1(i)に応じて画像上に投影された二次元座標2D1a,2D1b,2D1c,2D1d,2D1e,2D1fを示している。また、図14には、特徴点の基準三次元位置3Da,3Db,3Dc,3Dd,3De,3Dfが第2段階で生成した推定値eat2(i)に応じて画像上に投影された二次元座標2D2a,2D2b,2D2c,2D2d,2D2e,2D2fを示している。なお、ここでは、式(10)の変換後の座標がカメラ座標系で表現されているので、座標系の変換の必要はない。また、この投影では、推定値の位置や姿勢によっては、撮像画像内に投影されない場合もある。
sがスカラーであり、Aがカメラ12の内部行列であり、(u,v)が特徴点の撮像画像上の二次元座標であり、(X’,Y’,Z’)が移動後の特徴点の三次元位置(三次元座標)である。
さらに、適合度算出部13dでは、式(15)により、特徴点毎に、情報保持部13aに保持されている参照輝度パターンと現フレームの撮像画像上の投影位置での輝度パターンとの正規化相関値を算出する。この正規化相関値は、−1〜1の値であり、値が大きいほど相関度が高いことを示す。推定値の位置と姿勢が撮像画像の顔の位置と姿勢に近いほど、参照輝度パターンと現フレームの撮像画像から切り出された投影位置での輝度パターンとは近いパターンとなり、正規化相関値は大きくなる。
f(x,y)は、現フレームの撮像画像上の座標(x,y)における輝度値である。g(u,v)は、参照輝度パターンの座標(u,v)における輝度値である。faveは、現フレームの撮像画像上の座標(x,y)を中心とした参照輝度パターンと同じサイズの領域の平均輝度である。gaveは、参照輝度パターンの平均輝度である。Vは、参照輝度パターンの垂直方向の取りえる座標の要素の集合である。Uは、参照輝度パターンの水平方向の取りえる座標の要素の集合である。
多数の推定値に応じて各特徴点の基準三次元位置を撮像画像上に投影した場合、投影される位置はある範囲に集中し、同じ位置に投影される場合もある。特に、第2段階で位置と姿勢を絞った場合には、同じ位置に投影されるケースが増加する。その場合、撮像画像上の同じ投影位置では同じ輝度パターンなので、正規化相関値を算出した場合には同じ値が得られる。そこで、重複して計算を行わないように、特徴点毎にマップを生成し、マップによって算出した投影位置の正規化相関値が既に算出されているか否かを確認する。
マップは、特徴毎に設定され、撮像画像の全画素分の正規化相関値を格納するためのテーブルが用意される(図16参照)。マップは、フレームが変わる毎あるいは撮像画像の顔の位置や姿勢に変化がある毎に全データが消去され、新たに生成される。図16に示す例では、画像上の(a1,b1)には0.5という値の正規化相関値が格納されており、既にこの投影位置が算出されていることを示し、(a1,b2)、(a2,b1)、(a2,b2)などには正規化相関値が格納されておらず、未だこれらの投影位置が算出されていることを示す。
適合度算出部13dでは、ある特徴点の投影位置を算出する毎に、その特徴点のマップを参照し、その算出した投影位置に既に正規化相関値が格納されているか否かを判定する。既に正規化相関値が格納されている場合、適合度算出部13dでは、その正規化相関値を取り出して後処理で使用する。一方、未だ正規化相関値が格納されていない場合、適合度算出部13dでは、その投影位置での正規化相関値を算出する。次に、適合度算出部13dでは、算出した正規化相関値が閾値より小さいか否かを判定し、閾値より小さい場合には正規化相関値を一定値に置き換える。例えば、正規化相関値が0より小さい場合には、正規化相関値を0に置き換える。このように、非常に小さな正規化相関値を排除することにより、ノイズなどの影響によって低下している正規化相関値が適合度に影響するのを防止する。そして、適合度算出部13dでは、その特徴点のマップの該当する投影位置に正規化相関値を書き込む。このように、適合度算出部13dでは、推定値毎に、全ての特徴点についての正規化相関値を求める。図13には、第1段階の推定値est1(i)の場合の各特徴点の正規化相関値を示している。また、図15には、第2段階の推定値est2(i)の場合の各特徴点の正規化相関値を示しており、一部の特徴点については第1段階の場合より正規化相関値が大きくなっている。
適合度算出部13dでは、推定値毎に、全ての特徴点の中から特徴点を選択し、選択した特徴点の正規化相関値を用いて適合度を算出する。適合度は、推定値の位置と姿勢に応じて三次元的な位置関係によって投影された現フレームの撮像画像上における各投影位置において複数の特徴点の位置と確からしさを評価し、推定値の位置及び姿勢と撮像画像上の顔の位置及び姿勢とが適合しているか否かの度合いを示し、値が大きいほど適合していること示す。具体的には、基準三次元位置の各特徴点を推定値の位置と姿勢に応じて投影した撮像画像上の各投影位置の輝度パターンが各特徴点の参照輝度パターンとそれぞれ類似しているほど、適合度が大きくなる。
適合度の算出に用いる特徴点の選択方法は、全ての特徴点を用いてもよいし、閾値より大きい正規化相関値の特徴点だけを用いてもよいし、撮像画像内に投影された特徴点だけを用いてもよいし、あるいは、特徴点の三次元位置が定義された座標系における特徴点周辺の平均的な法線ベクトル及び姿勢の推定値を考慮し、カメラ12の撮像画像上に見えていると判断される特徴点だけを用いてもよい。このカメラ12の撮像画像上に見えていると判断される特徴点だけを用いる場合、位置と姿勢の推定値により特徴点の基準三次元位置を移動させた後の三次元位置にカメラ12の光学原点から向かうベクトルと姿勢の推定値により特徴点の法線ベクトルを回転させてできるベクトルの内積が0以上の閾値より大きいときに、この特徴点が使用可能だと判断する。なお、上記のような適合度算出に用いる特徴点の選択方法を示したが、これらの選択方法うちのいくつかを組み合わせて特徴点を選択してもよい。
適合度の算出は、全ての推定値に対して実施してもよいが、適合度が小さくなると予測できる推定値に対して適合度の算出を中止してもよい。例えば、特徴点の中でも信頼性の高そうな1つ以上の特徴点の正規化相関値の平均値が閾値以上の場合に適合度の算出を実施し、その平均値が閾値未満の場合に適合度の算出を中止するようにしてもよい。
適合度の算出方法としては、選択された特徴点の各正規化相関値の統計量を算出する。統計量としては、例えば、和、平均値がある。
顔位置・姿勢出力部13eでは、第2段階の全ての推定値est2(i)について適合度の算出が終了すると、算出した適合度とその適合度に対応する推定値の位置と姿勢を用いて、撮像画像における顔の位置と姿勢を推定し、その推定した位置と姿勢を出力する。その推定方法としては、例えば、適合度が最大の推定値の位置と姿勢としてもよいし、閾値以上の適合度を持つ推定値の適合度による加重平均値によって位置と姿勢を算出してもよいし、適合度を算出された全ての推定値の適合度による加重平均値によって位置と姿勢を算出してもよいし、適合度の最大値の一定の割合以上の値をとる適合度の推定値の適合度による加重平均値によって位置と姿勢を算出してもよいし、適合度の最大値の一定の割合以上の値をとる適合度の推定値の適合度の数が所定数以上の場合にそれらの適合度の推定値の適合度による加重平均値によって位置と姿勢を算出してもよいし、あるいは、適合度の最大値の一定の割合以上の値をとる適合度の推定値の適合度の数が所定数未満の場合に適合度が最大の推定値の位置と姿勢としてもよい。加重平均値を利用する場合にが、式(16)によって算出を行う。
estiが推定値iのパラメータであり、wiが推定値iの適合度であり、Gが推定に使用すると判断された適合度のインデックス集合である。
次に、図1を参照して、画像処理装置1の動作について説明する。特に、画像処理部4のモデリング処理については図17のフローチャートに沿って説明する。図17は、図1の画像処理装置におけるモデリング処理の流れを示すフローチャートである。
第1カメラ2では、第1カメラ2に対して真正面を向いている認識対象の人の顔を撮像し、その撮像画像の画像信号を画像処理部4に送信する。第2カメラ3も使用可能な場合、第2カメラ3では、第1カメラ2と同時に、第1カメラ2に対して真正面を向いている認識対象の人の顔を側方から撮像し、その撮像画像の画像信号を画像処理部4に送信する。
画像処理部4では、第1カメラ2及び第2カメラ3が使用可能かあるいは第1カメラ2だけが使用可能かを判定する(S10)。
S10にて第1カメラ2だけが使用可能と判定した場合、画像処理部4では、第1カメラ2からの画像信号を受信し、顔の撮像画像を取得する(S11)。画像処理部4では、第1カメラ2の撮像画像から複数の特徴点を抽出し、その各特徴点周辺の輝度パターンを参照輝度パターンとして保持する(S12)。また、画像処理部4では、平均的な顔の三次元モデルから各特徴点に対応する点をそれぞれ選択し、その各対応点の三次元モデルの座標系における三次元位置を抽出する(S13)。そして、画像処理部4では、各特徴点の撮像画像上の二次元座標と各特徴点に対応する対応点の三次元モデル座標系での三次元位置との関係から、第1カメラ2のカメラ座標系における各特徴点の三次元位置を推定する(S14)。さらに、画像処理部4では、特徴点毎に、推定した三次元位置(三次元座標)を基準三次元位置として参照輝度パターンに対応付けて保持する。
S10にて第1カメラ2及び第2カメラ2が使用可能と判定した場合、画像処理部4では、第1カメラ2及び第2カメラ3からの各画像信号を受信し、顔の各撮像画像を取得する(S15)。画像処理部4では、第1カメラ2の撮像画像から複数の特徴点を抽出し、その各特徴点周辺の輝度パターンを参照輝度パターンとして保持する(S16)。画像処理部4では、特徴点毎に、第1カメラ2の撮像画像から得られた特徴点の輝度パターンにより、第2カメラ3の撮像画像から類似する位置を探索する(S17)。この際、画像処理部4では、第2カメラ3の撮像画像上でのその各類似位置周辺の輝度パターンを参照輝度パターンとして保持する。そして、画像処理部4では、第1カメラ2の撮像画像上での特徴点の二次元座標と第2カメラ3の撮像画像上での類似位置の二次元座標との関係から、第1カメラ2のカメラ座標系における各特徴点の三次元位置を推定する(S18)。さらに、画像処理部4では、特徴点毎に、推定した三次元位置(三次元座標)を基準三次元位置として参照輝度パターンに対応付けて保持する。
図2を参照して、画像処理装置11の動作について説明する。特に、画像処理部13の顔位置・姿勢推定処理について図18のフローチャートに沿って説明し、画像処理部13の正規化相関値算出処理について図19のフローチャートに沿って説明する。図18は、図2の画像処理装置における顔位置・姿勢推定処理の流れを示すフローチャートである。図19は、図2の画像処理装置における正規化相関値算出処理の流れを示すフローチャートである。
カメラ12では、時間的に連続して撮像し、一定時間毎に撮像画像の画像信号を画像処理部13に送信する。
画像処理部13では、カメラ12から画像信号を受信し、現フレームの撮像画像を順次取得する(S20)。
画像処理部13では、前フレームで撮像画像における顔の位置と姿勢を推定したか否かを判定する(S21)。S21にて前フレームで位置と姿勢を推定していないと判定した場合、画像処理部13では、現フレームの撮像画像において顔を検出できたか否かを判定する(S22)。S22にて顔を検出できなかった場合、画像処理部13では、S20に戻って、次フレームの撮像画像を待つ。S22にて顔を検出できた場合、画像処理部13では、その顔の中から3つ以上の特徴点が検出できたか否かを判定する(S23)。S23にて3つ以上の特徴点を検出できなかったと判定した場合、画像処理部13では、S20に戻って、次フレームの撮像画像を待つ。S23にて3つ以上の特徴点を検出できたと判定した場合、画像処理部13では、検出した各特徴点の二次元座標と保持している各特徴点の基準三次元位置の対応関係から基準三次元位置に対するカメラ12のカメラ座標系における位置と姿勢を算出し、この位置と姿勢を現フレームの位置と姿勢の推定値(つまり、この推定値が次フレームでは前フレームでの位置と姿勢の推定値となる)とする(S24)。そして、画像処理部13では、S20に戻って、次フレームの撮像画像を待つ。
S21にて前フレームで位置と姿勢を推定していると判定した場合、画像処理部13では、前フレームで推定した位置と姿勢に基づいて現フレームで取りえる位置と姿勢の推定値est1(i)(i=1,・・・,n)を生成する(S25)。そして、画像処理部13では、各推定値est1(i)の位置と姿勢により保持している各特徴点の基準三次元位置をそれぞれ移動させ、その移動させた各三次元位置からカメラ12で撮像した撮像画像上に投影した投影位置(二次元座標)をそれぞれ算出する(S26)。さらに、画像処理部13では、est1(i)の場合の各特徴点について、撮像画像上の投影位置での輝度パターンと保持している参照輝度パターンとの正規化相関値を算出する(S27)。そして、画像処理部13では、各特徴点の正規化相関値から、推定値est1(i)の撮像画像の顔の位置と姿勢に対する整合性の評価値として適合度を算出する(S28)。ここまでの処理で、第1段階の推定値est1(i)が生成され、その推定値est1(i)に対してそれぞれ適合度が算出される。
画像処理部13では、算出した全ての適合度の中から最大の適合度を抽出し、その最大の適合度が閾値を超えたか否かを判定する(S29)。S29にて閾値以下と判定した場合、この現フレームで顔を検出できなかったと判断し、画像処理部13では、S20に戻って、次フレームの撮像画像を待つ。
S29にて閾値を超えると判定した場合、画像処理部13では、最大の適合度に対応する推定値est1(i)の位置と姿勢付近で現フレームで取りえる位置と姿勢の推定値est2(i)(i=1,・・・,n’)を生成する(S30)。そして、画像処理部13では、各推定値est2(i)の位置と姿勢により保持している各特徴点の基準三次元位置をそれぞれ移動させ、その移動させた各三次元位置からカメラ12で撮像した撮像画像上に投影した投影位置(二次元座標)をそれぞれ算出する(S31)。さらに、画像処理部13では、est2(i)の場合の各特徴点について、撮像画像上の投影位置での輝度パターンと保持している参照輝度パターンとの正規化相関値を算出する(S32)。そして、画像処理部13では、各特徴点の正規化相関値から、推定値est2(i)の適合度を算出する(S33)。ここまでの処理で、第2段階の推定値est2(i)が生成され、その推定値est2(i)に対してそれぞれ適合度が算出される。
画像処理部13では、推定値est2(i)の位置と姿勢と各推定値est2(i)に対して算出した適合度に基づいて、現フレームの撮像画像における顔の位置と姿勢を推定し、その推定した位置と姿勢を出力する(S34)。そして、画像処理部13では、S20に戻って、次フレームの撮像画像を待つ。
特に、S27、S32で正規化相関値を算出する際、画像処理部13では、全ての特徴点に対する投影位置が算出されると、特徴点毎に、マップを参照し、その算出された投影位置が既に投影されたことがあるか否か(つまり、各特徴点のマップのその投影位置に既に正規化相関値が格納されているか否か)を判定する(S40)。
S40にてその算出された投影位置に未だ投影されていないと判定した場合、画像処理部13では、現フレームの撮像画像から、投影位置を中心とし、保持している特徴点の参照輝度パターンと同じサイズで輝度パターンを切り出す(S41)。そして、画像処理部13では、切り出し輝度パターンと保持している特徴点の参照輝度パターンとの間で正規化相関値を算出する(S42)。さらに、画像処理部13では、算出した正規化相関値が閾値より小さいか否かを判定し、閾値より小さいときには正規化相関値を一定値に置き換える(S43)。そして、画像処理部13では、各特徴点のマップに、投影位置に対応付けて正規化相関値を書き込む(S44)。
一方、S40にてその算出された投影位置が既に投影されていると判定した場合、画像処理部13では、その特徴点についての正規化相関値を算出せずに、後処理ではマップからその投影位置の正規化相関値を抽出する(S45)。
画像処理部13では、全ての特徴点について正規化相関値の書き込みが終了したか否かを判定する(S46)。S46にて全ての特徴点について正規化相関値の書き込みが終了したと判定した場合、画像処理部13では、次の推定値に対する正規化相関値算出に移る。一方、S46にて全ての特徴点について正規化相関値の書き込みが終了していないと判定した場合、画像処理部13では、S40に戻って、次の特徴点についての正規化相関値算出に移る。
この画像処理装置11によれば、多数の推定値を生成し、各推定値について各特徴点としての確からしさと特徴点の全体的な位置とを評価した適合度を求めることにより、撮像画像から顔の位置と姿勢を高精度に推定することができる。また、画像処理装置11によれば、各特徴点についての参照輝度パターンと基準三次元位置の少ないデータだけを保持し、画像全体ではなく、この各特徴点についての処理を行うだけなので、処理負荷を軽減でき、処理時間も短い。
画像処理装置11では、第1段階で絞った推定値の位置と姿勢を用いて第2段階で更に位置と姿勢を絞り込むので、非常に高精度な位置と姿勢を推定することができる。
画像処理装置11では、推定値を生成する際に、認識対象の人の顔がとる可能性のある範囲に限定して推定値を生成するので、無駄な推定値を生成せず、処理負荷を軽減するとともに、局所的な誤った位置や姿勢を推定することを抑制する。特に、画像処理装置11では、位置と姿勢の履歴を蓄積し、その履歴も考慮して推定値を生成する場合には、個々の人の顔の動きの癖を考慮した推定値を設定できる。そのため、比較的狭い範囲に集中させて推定値を分布させることができ、ロバスト性が向上し、処理負荷も軽減する。
画像処理装置11では、適合度を評価する際に、各特徴点の正規化相関値の統計量を用いるので、全体的な類似度に応じて適合度も変化する。そのため、特徴点の一部が隠れたりあるいは照明変動などによって見え方の違いが生じても、その一部分の輝度パターンとの類似度が低下しても、全体的な類似度を使用しているので、適合度としてはそれほど低下せず、その一部の影響を抑えることができる。また、一部の特徴点と類似する部分が撮像画像上に存在しても、全体的な類似度が高くなければ適合度としてはそれほど上昇せず、その一部の影響を抑えることができる。このように、見た目の変化に対するロバスト性が高く、局所的に誤った位置や姿勢に収束することを抑制する。
画像処理装置11では、特徴点毎のマップを設定しているので、同じ投影位置については正規化相関値を重複して算出することがなく、処理負荷を軽減することができる。また、画像処理装置11では、位置と姿勢を推定する際に、最大値の適合度の一定割合以上の適合度の推定値も利用する場合には、推定する位置と姿勢に対してフィルタリング効果がある。そのため、推定した位置と姿勢が連続的な値となり、滑らかに変化する。
図20を参照して、第2の実施の形態について説明する。図20は、第2の実施の形態に係る顔有無判定処理用の画像処理装置の構成図である。
第2の実施の形態では、第1の実施の形態と同様の画像処理装置1と画像処理装置21が構成される。画像処理装置21は、顔有無判定処理用の画像処理装置である。なお、画像処理装置1についての説明は第1の実施の形態で行ってので、説明を省略する。また、第2の実施の形態でも、画像処理装置1で生成した認識対象の人の顔における複数の特徴点の輝度パターンと各特徴点の三次元位置からなる複数の特徴点のテンプレートを画像処理装置21で保持する。
画像処理装置21の構成について説明する。画像処理装置21は、画像処理装置1で生成した各特徴点についてのテンプレートを保持し、そのテンプレートを利用して撮像画像上の認識対象の人の顔の有無を判定する。その際、画像処理装置21では、位置と姿勢の推定値を多数設定し、その各推定値が撮像画像における顔の位置と姿勢に対して適合している度合いを算出し、その適合度に基づいて顔の有無を判定する。そのために、画像処理装置21は、カメラ22、画像処理部23を備えている。画像処理部23は、コンピュータ上で顔有無判定処理用のアプリケーションプログラムを実行することによって情報保持部23a、記憶解析部23b、推定値生成部23c、適合度算出部23d、顔有無出力部23eが構成される。このコンピュータは画像処理装置1と同一のコンピュータであってもよいし、異なるコンピュータでもよく、同一のコンピュータの場合には情報保持部が共有されてもよい。
なお、第2の実施の形態では、カメラ22が特許請求の範囲に記載する撮像手段に相当し、情報保持部23aが特許請求の範囲に記載する情報保持手段に相当し、推定値生成部23cが特許請求の範囲に記載する推定値生成手段に相当し、適合度算出部23dが特許請求の範囲に記載する適合度算出手段に相当し、顔有無出力部23eが特許請求の範囲に記載する判断手段に相当する。
カメラ22は第1の実施の形態に係るカメラ12と同様のカメラであり、その説明を省略する。情報保持部23aは第1の実施の形態に係る情報保持部13aと同様の情報保持部であり、その説明を省略する。
記憶解析部23bは、所定のメモリ領域に構成され、推定値生成部23cで生成される位置、姿勢の推定値と適合度算出部23dで算出される各推定値に対する適合度を対応付けて記憶するとともに、顔有無出力部23eから出力される各フレームの撮像画像における顔の有無を記憶する。そして、記憶解析部23bでは、多数の推定値とその推定値の適合度の中から適合度が閾値より大きい推定値を用いて、認識対象の人が過去にとった顔の位置や姿勢を履歴として蓄積する。さらに、記憶解析部23bでは、第1の実施の形態に係る記憶解析部13bと同様に、この位置と姿勢の履歴から、六次元空間内で取りえる位置と姿勢の組み合わせを洗い出したり、あるいは、頻度的に多くとりえる位置と姿勢付近をピークとする正規分布を複数重ねて確率密度関数を生成する。
推定値生成部23cでは、第1の実施の形態に係る推定値生成部13cと同様の手法により、前フレームでの位置と姿勢(参照値)から取りえる現フレームの撮像画像における顔の位置と姿勢の推定値est(i)(i,・・・,n)を多数個生成する。適合度算出部23cでは、第1の実施の形態に係る適合度算出部13cと同様の手法により、推定値生成部23cで生成した推定値est(i)毎に、各推定値est(i)の位置と姿勢を用いて情報保持部23aに保持している各特徴点の基準三次元位置をそれぞれ移動させた三次元位置をカメラ22の撮像画像上に投影し、さらに、各特徴点の正規化相関値を算出し、各特徴点の正規化相関値を用いて適合度を算出する。正規化相関値の算出では、第1の実施の形態と同様に特徴点毎のマップを用いる。
顔有無出力部23eでは、全ての推定値est(i)について適合度の算出が終了すると、算出した適合度からその最大の適合度を抽出し、その最大の適合度が閾値を超えたか否かを判定する。この閾値は、撮像画像上に顔が存在していると推定できる程度の適合度であるか否かを判定するための閾値である。最大の適合度が閾値以下の場合、顔有無出力部23eでは、現フレームの撮像画像上に顔は存在しないと判定し、その判定結果を出力する。一方、最大の適合度が閾値を超える場合、顔有無出力部23eでは、現フレームの撮像画像上に顔は存在すると判定し、その判定結果を出力する。なお、この判定手法としては、閾値を超える適合度の推定値の数が所定数以上の場合に顔が存在すると判定してもよいし、あるいは、適合度の最大値の一定の割合以上の値をとる適合度の推定値の数が所定数以上の場合に顔が存在すると判定してもよい。
なお、全ての適合度と閾値とをそれぞれ判定し、閾値を超えた適合度が複数ある場合には、撮像画像上に複数の顔が存在すると判定することもできる。この場合、テンプレートとして保持する参照輝度パターンを生成するための人の顔を平均的な人の顔とするか、あるいは、テンプレートとして保持されている参照輝度パターンを生成するための人の顔と似た人の顔の有無判定が可能となる。
図20を参照して、画像処理装置21の動作について説明する。特に、画像処理部23の顔有無判定処理について図21のフローチャートに沿って説明する。図21は、図20の画像処理装置における顔有無判定処理の流れを示すフローチャートである。
カメラ22では、時間的に連続して撮像し、一定時間毎に撮像画像の画像信号を画像処理部23に送信する。
画像処理部23では、カメラ22から画像信号を受信し、現フレームの撮像画像を順次取得する(S50)。画像処理部23では、前フレームで推定した位置と姿勢に基づいて現フレームで取りえる位置と姿勢の推定値est(i)(i=1,・・・,n)を生成する(S51)。そして、画像処理部23では、各推定値est(i)の位置と姿勢により保持している各特徴点の基準三次元位置をそれぞれ移動させ、その移動させた各三次元位置からカメラ22で撮像した撮像画像上に投影した投影位置(二次元座標)をそれぞれ算出する(S52)。さらに、画像処理部23では、推定値est(i)の場合の各特徴点について、撮像画像上の投影位置での輝度パターンと保持している参照輝度パターンとの正規化相関値を算出する(S53)。そして、画像処理部23では、各特徴点の正規化相関値から、推定値est(i)の適合度を算出する(S54)。
全ての推定値est(i)についての適合度を算出すると、画像処理部23では、適合度の中からその最大の適合度を抽出し、その最大の適合度が閾値を超えたか否か(すなわち、撮像画像内に顔が存在するか否か)を判定する(S55)。S55にて最大の適合度が閾値以下と判定した場合、画像処理部23では、現フレームの撮像画像上に顔は存在しないと判定し、その判定結果を出力する。一方、S55にて最大の適合度が閾値を超えると判定した場合、画像処理部23では、現フレームの撮像画像上に顔は存在すると判定し、その判定結果を出力する。
この画像処理装置21によれば、多数の推定値を生成し、各推定値について各特徴点としての確からしさと特徴点の全体的な位置とを評価した適合度を求めることにより、撮像画像から顔の有無を高精度に判定することができる。また、画像処理装置21によれば、各特徴点の参照輝度パターンと基準三次元位置の少ないデータだけを保持し、画像全体ではなく、この各特徴点についての処理を行うだけなので、処理負荷を軽減でき、処理時間も短い。さらに、画像処理装置21は、推定値の生成、適合度による評価、マップの活用については第1の実施の形態の画像処理装置11と同様の効果を有している。
図22〜図29を参照して、第3の実施の形態について説明する。図22は、第3の実施の形態に係る眼球中心位置推定処理用の画像処理装置の構成図である。図23は、第3の実施の形態に係る眼球姿勢推定処理用の画像処理装置の構成図である。図24は、眼球構造を示す図である。図25は、眼球モデルを示す図である。図26は、眼球とカメラとの関係を示す図である。図27は、カメラで撮像された目の撮像画像の一例である。図28は、眼球の回転の推定値に応じて黒目内の点を二次元画像上への投影の説明図である。図29は、カメラ座標系と眼球座標系との関係を示す図である。
第3の実施の形態では、画像処理装置31と画像処理装置41が構成される。画像処理装置31は、眼球中心位置推定処理用の画像処理装置である。画像処理装置41は、眼球姿勢推定処理用の画像処理装置である。
画像処理装置31の構成について説明する。画像処理装置31では、画像処理装置41で処理を行う前に、画像処理装置41で保持する情報として眼球の中心位置とその眼球中心位置の場合の黒目内の各点の三次元位置を求める。その際、画像処理装置31では、眼球中心位置の推定値を多数設定し、その各推定値が撮像画像における眼球中心位置に対して適合している度合いを算出し、その適合度に基づいて眼球中心位置を推定する。そのために、画像処理装置31は、カメラ32、画像処理部33を備えている。画像処理部33は、コンピュータ上で眼球中心位置推定処理用のアプリケーションプログラムを実行することによって情報保持部33a、推定値生成部33b、適合度算出部33c、眼球中心位置出力部33dが構成される。
なお、第3の実施の形態の画像処理装置31では、カメラ32が特許請求の範囲に記載する撮像手段に相当し、情報保持部33aが特許請求の範囲に記載する情報保持手段に相当し、推定値生成部33bが特許請求の範囲に記載する推定値生成手段に相当し、適合度算出部33cが特許請求の範囲に記載する適合度算出手段に相当し、眼球中心位置出力部33dが特許請求の範囲に記載する判断手段に相当する。
カメラ32は第1の実施の形態に係る第1カメラ2と同様のカメラであり、その説明を省略する。ここでの撮像では、認識対象の人に、カメラ32のレンズ中心を覗き込むように向いてもらう。したがって、カメラ32では、その人のレンズを覗き込む目を撮像し、その画像信号を画像処理部33に送信する。
情報保持部33aは、所定のメモリ領域に構成され、眼球モデルを保持する。眼球モデルの構築方法について説明する。まず、図24に示すような眼球構造を仮定する。この眼球構造では、眼球の左右方向の軸をX軸とし、眼球の上下方向の軸をY軸とし、眼球の奥行き方向の軸をZ軸とする。また、Pが眼球中心であり、Rが眼球半径であり、rが虹彩半径である。眼球半径R、虹彩半径rについては、標準値を用い、固定である。また、眼球中心Pと虹彩(黒目領域)の輪郭とを結ぶ線分と眼球中心Pと虹彩中心とを結ぶ線分とが作る立体角をθとする。また、この立体角θを近似するX軸周りの回転角をdeg_xとし、Y軸周りの回転角をdeg_yとする。回転角deg_x及び回転角deg_yと立体角θとの関係は式(17)で表される。また、立体角θは、例えば、標準的な眼球半径Rと虹彩半径rを使うと、式(18)で表される。
ここで、図24に示す眼球構造を、図25に示すような眼球中心P、眼球半径R及び虹彩半径rからなる簡易の眼球モデルに近似し、眼球モデルを構築する。情報保持部33aでは、この眼球モデルが保持されている。
推定値生成部33bでは、カメラ32の光学中心Oと眼球中心Pとを結ぶ線分と眼球モデルの視線とが一致するように眼球を回転させながら眼球モデルが眼球中心位置をカメラ32の前で変化させたときに取りえる眼球中心位置の推定値を多数個生成する(図26参照)。ここでは、例えば、顔の位置を検出する従来技術を利用し、顔を撮像画像上から検出し、そのサイズで顔を検出できるのは平均的な顔であるとすると、どの程度の位置に顔がいるということが予測できる。このような顔の位置の予測値が使用可能な場合、撮像画像上での顔の位置と平均的な顔の位置の関係及び顔の位置に対する眼球中心位置の相対的な位置関係を利用することにより、おおよその眼球中心位置を推定できるので、その位置付近に推定値を生成する。
適合度算出部33cでは、まず、各推定値の眼球中心位置の場合に、撮像画像上で黒目内の各点がとる二次元位置を算出する。適合度算出部33cでは、眼球中心位置Pと視線方向(眼球中心から黒目中心に向かうベクトルQ)が決まると、上記の式(17)、式(18)から、眼球モデルにおける多数の黒目内の点の三次元位置を式(19)によりそれぞれ算出する。
式(19)では、Pが眼球中心位置の推定値であり、Qが眼球中心から黒目中心に向かうベクトル(三次元座標)であり、Q’が黒目内の点の三次元座標である。ここでは、後段での処理を簡単にするために、カメラ座標系でのP及びQが得られたとし、Qが眼球モデルから求められる。Ryは、Y軸周りの回転行列であり、式(20)で表される。Rxは、X軸周りの回転行列であり、式(21)で表される。この場合、黒目内の各点は、X軸周りの回転角deg_x及びY軸周りの回転角deg_yと立体角θとは式(22)の関係を満たすことになる。
さらに、適合度算出部33cでは、式(23)により、黒目内の各点の三次元座標Q’の撮像画像上への投影位置をそれぞれ算出する。この多数の投影位置で形成される領域が、眼球モデルを推定値の眼球中心位置で移動させたときの眼球モデル上の虹彩(黒目)の撮像画像上での領域となる。
sがスカラーであり、Aがカメラ32の内部行列であり、(u,v)が黒目内の点の撮像画像上の投影位置(二次元座標)であり、(X’,Y’,Z’)が黒目内の点の三次元位置(三次元座標)Q’である。ここでは、deg_x、deg_yの値を様々な組み合わせで設定することによって、黒目内の多数の点を算出している。deg_x,deg_yの刻み幅は、撮像画像上に投影したときに黒目内の点群が隙間だらけにならないように、例えば、数deg程度で行う。
適合度算出部33cでは、推定値毎に、カメラ32の撮像画像から黒目内の各点の投影位置の輝度値をそれぞれ取得する。そして、適合度算出部33cでは、推定値毎に、全ての投影位置での輝度値の平均値を算出し、この平均値を適合度とする。なお、適合度算出部33cでも、第1の実施の形態と同様に、マップを設定し、処理負荷を軽減する。
このように、各推定値の眼球中心位置を与えことにより、その眼球中心位置と光学中心とを結ぶ線分に視線が一致するように眼球モデルを回転し、眼球モデル上の虹彩にあたる円盤(図25の斜線領域)が撮像画像上でとる位置が決まり、その円盤内部の点が黒目内の点に相当する。つまり、算出される輝度値の平均値は、黒目らしさの指標となる。この指標を適合度として捉えることにより、黒目は、目の周辺の中でもとりわけ黒いので、その平均値は小さな値になることが予測される。したがって、この指標では、最小値をとるものが最も確からしいと考えることができる。
そこで、眼球中心位置出力部33dでは、全ての推定値について適合度の算出が終了すると、算出した適合度の中から最小値の適合度を抽出する。そして、眼球中心位置出力部33dでは、その最小の適合度を持つ推定値を眼球中心位置と推定し、その推定した眼球中心位置を出力する。また、眼球中心位置出力部33dでは、その推定した眼球中心位置の場合の黒目内の各点の三次元座標も出力する。
画像処理装置41の構成について説明する。画像処理装置41では、眼球モデルについてのテンプレートを保持し、そのテンプレートを利用して撮像画像上の眼球の姿勢(視線方向)を推定する。ここでは、顔が動かないと仮定し、画像処理装置31で求めた眼球中心位置Pが固定であるとしているので、眼球モデルに生じる変化はカメラ座標系に対する回転運動であり、この回転運動を眼球姿勢として推定する。その際、画像処理装置41では、眼球姿勢の推定値を多数設定し、その各推定値が撮像画像における眼球姿勢に対して適合している度合いを算出し、その適合度に基づいて眼球姿勢を推定する。そのために、画像処理装置41は、カメラ42、画像処理部43を備えている。画像処理部43は、コンピュータ上で眼球姿勢推定処理用のアプリケーションプログラムを実行することによって情報保持部43a、記憶解析部43b、推定値生成部43c、適合度算出部43d、眼球姿勢出力部43eが構成される。
なお、第3の実施の形態の画像処理装置41では、カメラ42が特許請求の範囲に記載する撮像手段に相当し、情報保持部43aが特許請求の範囲に記載する情報保持手段に相当し、推定値生成部43cが特許請求の範囲に記載する推定値生成手段に相当し、適合度算出部43dが特許請求の範囲に記載する適合度算出手段に相当し、眼球姿勢出力部43eが特許請求の範囲に記載する判断手段に相当する。
カメラ42は第1の実施の形態に係るカメラ12と同様のカメラであり、その説明を省略する。なお、画像処理装置41が自動車などに搭載される場合、カメラ42は、車室内において、運転席に座っている運転者の目付近を真正面から撮像できる位置に配置される。図27には、カメラ42で撮像されたあるフレームの撮像画像の一例を示している。
情報保持部43aは、所定のメモリ領域に構成され、画像処理装置31で保持した同様の眼球モデル及び画像処理装置31から出力された眼球中心位置Pとその眼球中心位置Pの場合の眼球モデルの黒目内の各点のカメラ座標系における三次元位置を保持する。
記憶解析部43bは、所定のメモリ領域に構成され、推定値生成部43cで生成される眼球の姿勢の推定値と適合度算出部43dで算出される各推定値に対する適合度を対応付けて記憶するとともに、眼球姿勢出力部43eから出力される撮像画像における眼球の姿勢を記憶する。そして、記憶解析部43bでは、認識対象の人が過去にとった眼球の姿勢を履歴として蓄積する。さらに、記憶解析部43bでは、この過去の履歴から取りえる眼球の姿勢を洗い出す。また、記憶解析部43bでは、過去の履歴から頻度的に多くとりえる眼球の姿勢付近をピークとする正規分布を設定し、その正規分布を複数重ねて確率密度関数を生成する。なお、記憶解析部43bでは、眼球姿勢出力部43eから出力される眼球の姿勢を用いて履歴を蓄積してもよいし、あるいは、多数の推定値とその推定値の適合度の中から適合度が閾値より大きい推定値を用いて履歴を蓄積してもよい。
推定値生成部43cでは、情報保持部43aに保持されている眼球モデルに基づいて、前フレームでの眼球の姿勢から取りえる現フレームの撮像画像における眼球の姿勢(回転角deg_x,deg_y)の推定値を多数個生成する。取りえる姿勢の範囲は、姿勢の2つのパラメータ毎に、フレーム間の時間内でそれぞれ変化できる各最大値を前フレームの姿勢の2つのパラメータに加算及び減算した範囲となる。ただし、この範囲が認識対象の眼球が構造上取りえない範囲を含んでいる場合、構造的に取りえない範囲を除いた範囲とする。つまり、回転可能な眼球の姿勢の範囲は物理的に決まっているので、その範囲を超えて推定値は生成されることはない。フレーム間の時間内でそれぞれ変化できる最大値としては、その眼球がおかれる環境における眼球の姿勢を予め測定し、その測定から得られた変化の最大値から予め設定してもよいし、あるいは、前フレームと前々フレームとの間での姿勢の変化に基づいて設定してもよい。
このように設定した取りえる姿勢の2つのパラメータの範囲において、各パラメータが実際にどのような値を取るかは同様に確からしい。そこで、推定値生成部43cでは、姿勢の2つのパラメータ毎にそれぞれの最小値と最大値の範囲の値をとる合計ニ次元平面内の一様分布からランダムにn回取り出し、その取り出した値を姿勢の推定値とする。
なお、推定値の生成手法としては、記憶解析部43bに蓄積されている履歴から導かれた取りえる位置と姿勢の組み合わせに基づいて推定値を生成してもよいし、あるいは、記憶解析部43bに蓄積されている履歴から導かれた確率密度関数に基づいて推定値を生成してもよいし、あるいは、推定値を一様分布ではなく、前フレームの姿勢付近に現フレームの姿勢がいる可能性が高いならば、前フレームの姿勢をピークとする正規分布で推定値を生成してもよい。
適合度算出部43dでは、推定値生成部43cで生成した推定値毎に、各推定値の姿勢の2つのパラメータを用いて、撮像画像上で黒目内の各点がとる二次元位置を算出する。ここでは、情報保持部43aに保持されている固定の眼球中心位置Pと推定値の各回転角deg_x,deg_yを用いて二次元位置を算出する。図29に示すように、眼球に設定した仮想的な眼球座標系ECを考え、その眼球の姿勢の方向EDとカメラ42の光軸の方向CDとが真逆の方向としかつ眼球座標系ECのX軸とカメラ座標系CCのX軸とが真逆の方向とし、この状態を基準姿勢とする。回転角deg_x,deg_yは、この基準姿勢からの眼球の回転角である。
ここで、情報保持部43aで保持している眼球モデルと眼球モデルの黒目内の各点のカメラ座標系における三次元位置を使用する。このとき、眼球モデルの中心を画像処理装置31で求めた眼球中心位置P(固定)とし、眼球中心位置Pが眼球座標系ECの原点となる(図29参照)。この状態で、推定値の回転角deg_x,deg_yを用いて、眼球モデルを回転させる。適合度算出部43dでは、式(24)により、回転前の黒目内の各点のカメラ座標系における三次元位置をQとし、回転後の黒目内の各点の三次元位置Q’をそれぞれ算出する。
Ryは、Y軸周りの回転行列であり、式(25)で表され、推定値の回転角deg_yが使用される。Rxは、X軸周りの回転行列であり、式(26)で表され、推定値の回転角deg_xが使用される。この場合、黒目内の各点は、回転角deg_x及び回転角deg_yと立体角θとは式(27)の関係を満たすことになる。
そして、適合度算出部43dでは、画像処理装置31と同様に、上記の式(23)により、黒目内の各点の三次元座標Q’の撮像画像上への投影位置をそれぞれ算出する。この多数の投影位置で形成される領域が、眼球モデルを推定値の回転角deg_x,deg_yで回転させたときの眼球モデル上の虹彩(黒目)の撮像画像上での領域となる。図28には、推定値の回転角deg_x,deg_yに応じて、画像上に投影された二次元座標ID,・・・・を示している。
さらに、適合度算出部43dでは、画像処理装置31と同様に、推定値毎に、カメラ42の撮像画像から黒目内の各点の投影位置の輝度値をそれぞれ取得し、全ての投影位置での輝度値の平均値を適合度とする。なお、適合度算出部43dでも、第1の実施の形態と同様に、マップを設定し、処理負荷を軽減する。
眼球姿勢出力部43eでは、全ての推定値について適合度の算出が終了すると、算出した適合度の中から最小値の適合度を抽出する。そして、眼球姿勢出力部43eでは、その最小の適合度を持つ推定値を姿勢(回転角deg_x,deg_y)と推定し、その推定した眼球姿勢を出力する。
適合度の推定方法としては、他の方法でもよく、例えば、閾値以下の適合度を持つ推定値の適合度による加重平均値によって姿勢を推定してもよいし、適合度を算出された全ての推定値の適合度による加重平均値によって姿勢を推定してもよいし、適合度の最小値の一定倍以下の値(例えば、最大値の1.1倍以下の値)をとる適合度の推定値の適合度による加重平均値によって姿勢を推定してもよいし、適合度の最小値の一定倍以下の値をとる適合度の推定値の適合度の数が所定数以上の場合にそれらの適合度の推定値の適合度による加重平均値によって姿勢を推定してもよいし、あるいは、適合度の最小値の一定倍以下の値をとる適合度の推定値の適合度の数が所定数未満の場合に適合度が最小の推定値の姿勢としてもよい。
次に、図22を参照して、画像処理装置31の動作について説明する。特に、画像処理部33の眼球中心位置推定処理については図31のフローチャートに沿って説明する。図31は、図22の画像処理装置における眼球中心位置推定処理の流れを示すフローチャートである。
カメラ32では、カメラを覗き込む目を撮像し、その撮像画像の画像信号を画像処理部33に送信する。
画像処理部33では、眼球中心位置P、眼球半径R、虹彩半径rからなる眼球モデルを設定する(S60)。画像処理部33では、カメラ32から画像信号を受信し、目の撮像画像を取得する(S61)。
画像処理部33では、眼球モデルの眼球中心とカメラ32の光学中心を結ぶ線分が眼球モデルの視線と一致するように回転する場合に、眼球中心がカメラ32に対して取りえる位置の推定値を多数生成する(S62)。そして、画像処理部33では、各推定値の眼球中心位置の場合に、各回転角deg_x,deg_yに応じて黒目内の各点をそれぞれ移動させ、その移動させた各三次元位置からカメラ32で撮像した撮像画像上に投影した投影位置(二次元座標)をそれぞれ算出する(S63)。さらに、画像処理部33では、各推定値の眼球中心位置の場合に、撮像画像上の黒目内の各点の投影位置での輝度の平均値を算出し、その平均値を適合度とする(S64)。
全ての推定値の眼球中心位置についての適合度を算出すると、画像処理部33では、推定値の眼球中心位置と各推定値に対して算出した適合度を用いて、撮像画像における眼球中心位置を推定し、その推定した眼球中心位置を出力する(S65)。また、画像処理部33では、その推定した眼球中心位置の場合の眼球モデルの黒目内の各点のカメラ座標系における三次元位置を出力する。
次に、図23を参照して、画像処理装置41の動作について説明する。特に、画像処理部43の眼球姿勢推定処理については図32のフローチャートに沿って説明する。図32は、図23の画像処理装置における眼球姿勢推定処理の流れを示すフローチャートである。
カメラ42では、時間的に連続して撮像し、一定時間毎に撮像画像の画像信号を画像処理部43に送信する。
画像処理部43では、眼球中心位置P、眼球半径R、虹彩半径rからなる眼球モデルを設定する(S70)。この眼球モデルは、眼球中心位置Pが画像処理装置31で推定した眼球中心位置で固定され、その眼球中心位置Pの場合の黒目内の各点の基準となる三次元位置が画像処理装置31で算出された値である。画像処理部43では、カメラ42から画像信号を受信し、現フレームの撮像画像を取得する(S71)。
画像処理部43では、前フレームで推定した眼球姿勢に基づいて、眼球がカメラ座標系に対して取りえる回転の推定値を多数生成する(S72)。そして、画像処理部43では、各推定値の回転角deg_x,deg_yに応じて、保持している黒目内の各点の三次元位置をそれぞれ移動させ、その移動させた各三次元位置からカメラ42で撮像した撮像画像上に投影した投影位置(二次元座標)をそれぞれ算出する(S73)。さらに、画像処理部43では、各推定値の回転角deg_x,deg_yの場合に、撮像画像上の黒目内の各点の投影位置での輝度の平均値を算出し、その平均値を適合度とする(S74)。
全ての推定値の回転角deg_x,deg_yについての適合度を算出すると、画像処理部43では、推定値の回転角と各推定値に対して算出した適合度を用いて、撮像画像における眼球姿勢を推定し、その推定した眼球姿勢を出力する(S75)。
この画像処理装置31及び画像処理装置41によれば、多数の推定値を生成し、各推定値について黒目としての確からしさと黒目の位置とを評価した適合度を求めることにより、撮像画像から眼球中心位置や眼球姿勢を高精度に推定することができる。また、画像処理装置31及び画像処理装置41によれば、眼球モデルの少ないデータだけを保持し、画像全体ではなく、この眼球モデルについての処理を行うだけなので、処理負荷を軽減でき、処理時間も短い。
特に、画像上での黒目は、視線がカメラを向いているときにはほぼ円であるが、視線の光学中心からのずれが大きくなるのに従って楕円になる。そこで、画像処理装置31及び画像処理装置41では、眼球モデルを利用し、かつ、眼球モデルの位置や姿勢を三次元的に移動させ、その画像上での投影位置を用いることにより、画像上での黒目の変化を高精度に表現することができる。そのため、画像上での黒目と同じ見え方をする眼球モデルの位置や姿勢を探すことが可能となり、その位置や姿勢を推定することができる。その結果、撮像画像上で楕円に見えるような黒目に対しても、その姿勢(視線)を高精度に推定することができる。
以上、本発明に係る実施の形態について説明したが、本発明は上記実施の形態に限定されることなく様々な形態で実施される。
例えば、本実施の形態では対象物体として人間の顔や眼球に適用したが、これら以外の三次元物体にも適用可能であり、例えば、人の体や車両などの同じような三次元形状を有しており、その三次元形状を特定可能な物体に適用可能である。
また、本実施の形態ではパーソナルコンピュータなどのコンピュータ上でアプリケーションプログラム(ソフトウエア)を実行することによって各部を構成したが、ハードウエアによって各部を構成してもよい。
また、本実施の形態では対象物体の有無、位置、姿勢を判断するための画像処理装置に1台のカメラを備え、単一の撮像画像から有無、位置、姿勢を判断する構成としたが、画像処理装置に複数台のカメラ(例えば、ステレオカメラ)を備え、複数の撮像画像から有無、位置、姿勢を判断するようにしてもよい。この場合、処理負荷は増加するが、有無判定や位置、姿勢の推定精度は向上する。例えば、第1の実施の形態で複数台のカメラを備える場合、複数の撮像画像それぞれについて、投影位置の算出、各特徴点についてのマップの生成や保持、正規化相関演算、適合度算出などを行う必要がある。
また、本実施の形態では特徴点を評価するための情報として輝度情報を用いる構成としたが、彩度、RGBの色情報などの他の画像情報を用いてもよい。また、本実施の形態では特徴点を評価するための情報として輝度パターンを用いる構成としたが、輝度のヒストグラム、輝度の分布形状、エッジパターン(エッジ画像)、フーリエ変換による周波数特性などの他の情報を用いてもよい。
また、本実施の形態では特徴点毎にマップを生成する構成としたが、マップを生成しない構成としてもよい。
また、本実施の形態では記憶解析部を設け、推定値や推定値の適合度を記憶し、対象物体が過去にとった位置や姿勢の履歴を作成し、その履歴も利用して推定値を生成する構成としたが、記憶解析部を設けずに、履歴を利用しないで推定値を生成するようにしてもよい。
また、第1の実施の形態及び第2の実施の形態では顔の位置及び姿勢の両方についての推定値を生成する構成としたが、位置と姿勢のいずれか一方を固定とし、他方のみの推定値を生成する構成としてもよい。また、対象物体によっては、位置と姿勢のいずれか一方しか変化しないものもあり、その場合にはその変化するものについてのみ推定値を生成する。
また、第1の実施の形態では2つの段階で推定値生成や各推定値についての適合度算出を行うことによって位置と姿勢を推定する構成としたが、1つの段階で位置と姿勢を推定するようにしてもよい。
また、第3の実施の形態では眼球モデルに基づいて眼球中心位置を推定する構成としたが、顔の位置に対する平均的な眼球中心位置の相対的な位置関係が既知な場合、第1の実施の形態で推定した顔の位置や姿勢を元にしてその相対的な位置関係から眼球中心位置を推定することも可能である。
また、第3の実施の形態では顔が動かないと仮定した場合の眼球の姿勢を推定する構成としたが、顔(頭部)が動く場合の眼球の姿勢を推定することも可能である。例えば、まず、第1の実施の形態で顔の位置と姿勢を推定し、その推定した顔の位置と姿勢を考慮して眼球の姿勢を推定するようにする。
また、第3の実施の形態では黒目だけを考慮した眼球モデルを用いて各推定を行ったが、黒目に加えて白目も考慮した眼球モデルを用いて各推定を行ってもよい。撮像画像の上の目は、黒目以外にも目尻付近や上瞼付近も同様に黒い場合がある。そこで、図30に示すような、黒目とその周辺の白目との位置関係まで考慮できる眼球モデルを用いることもできる。この眼球モデルを用いる場合、黒目内の各点の画像上の投影位置における輝度の平均値以外に、白目内の各点の画像上の投影位置における輝度の平均値も求めることができるので、例えば、白目領域の輝度平均値から黒目領域の輝度平均値を減算した値を適合度とし、この適合度が最も大きくなる位置が最も黒目らしいと判断することができる。
また、第3の実施の形態では黒目としての確からしさを評価する際に、黒目領域が他の領域に比べて最も輝度が小さいので、適合度の中から最も小さい適合度を抽出する構成としたが、評価情報として黒目領域を示す輝度の平均値を判定するための閾値を保持し、その閾値以下の適合度を抽出する構成としてもよいし、あるいは、虹彩が青や緑などの他の色の場合には評価情報としてその色の領域の輝度の平均値を判定するための閾値を保持し、その閾値内の適合度を抽出する構成としてもよいし、また、評価情報として個々の人の虹彩模様を示す参照輝度パターンを保持し、その参照輝度パターンと投影位置での輝度パターンとから正規化相関値を求め、正規化相関値から適合度を算出する構成としてもよい。
1,11,21,31,41…画像処理装置、2…第1カメラ、3…第2カメラ、12,22,32,42…カメラ、4,13,23,33,43…画像処理部、4a…特徴点抽出部、4b…特徴点三次元位置推定部、4c,13a,23a,33a,43a…情報保持部、13b,23b,43b…記憶解析部、13c,23c,33b,43c…推定値生成部、13d,23d,33c,43d…適合度算出部、13e…顔位置・姿勢出力部、23e…顔有無出力部、33d…眼球中心位置出力部、43e…眼球姿勢出力部