以下、図面を参照して、本発明の瞼尤度演算装置の各実施の形態を詳細に説明する。
[第1の実施の形態]
まず、第1の実施の形態について説明する。図1に示すように、本実施の形態に係る瞼尤度演算装置10は、撮影の対象となる対象物を撮影する撮影手段としてのカメラ12、及びコンピュータ14を備えている。なお、撮影の対象となる対象物としては、例えば、全体の瞼尤度を演算しようとする人物の顔が考えられる。
カメラ12は、顔の画像を含む画像を撮影して、図2に示すような右の上瞼60及び右の下瞼62からなる右瞼64及び左の上瞼66及び左の下瞼68からなる左瞼70を含む顔の画像72を含む画像データを出力することができる。
コンピュータ14は、I/O(入出力)ポート14a、ROM(Read Only Memory)14b、HDD(Hard Disk Drive)14c、CPU(Central Processing Unit)14d、RAM(Random Access Memory)14e、並びにこれらI/Oポート14a、ROM14b、HDD14c、CPU14d、及びRAM14eを互いに接続するバス14fを含んで構成されている。
記憶媒体としてのROM14bには、OS等の基本プログラムが記憶されている。
記憶媒体としてのHDD14cには、詳細を以下で説明する瞼尤度演算処理の処理ルーチンを実行するためのプログラムが記憶されている。
また、HDD14cには、例えば、「アイモデルを用いたCondensationによる黒目追跡」(北川洋介、加藤丈和、呉海元、和田俊和著)に記載されているような公知技術を用いて黒目の半径rb、眼球の半径rw、及び両眼球の中心間の距離d等に基づいて定まる、図3に示すような、右目の目じりに対応する点P1(=(x1,y1,z1))、右目の目頭に対応する点P3(=(x3,y3,z3))、右目の上瞼における目頭と目じりとの間に対応する点P2(=(x2,y2,z2))、及び右目の下瞼における目頭と目じりとの間に対応する点P4(=(x4,y4,z4))の各々を右瞼の制御点として、これらの複数の右瞼の制御点の各々を適宜定めて、右の上瞼の三次元の形状及び右の下瞼の三次元の形状(すなわち、右瞼の三次元の形状)をベジエ曲線によって定め、定められた右瞼の三次元の形状を画像座標に投影して得られた2次元の所定の右瞼の瞼モデルが記憶されている。なお、所定の右瞼の瞼モデルを形成するために用いた上記の右瞼の制御点の各々を定める座標は、第1のモデルパラメータに対応する。
また、HDD14cには、同様に上記の公知技術を用いて黒目の半径rb、眼球の半径rw、及び両眼球の中心間の距離d等に基づいて定まる、左目の目頭に対応する点P5(=(x5,y5,z5))、左目の目じりに対応する点P7(=(x7,y7,z7))、左目の上瞼における目頭と目じりとの間に対応する点P6(=(x6,y6,z6))、及び左目の下瞼における目頭と目じりとの間に対応する点P8(=(x8,y8,z8))の各々を左瞼の制御点として、これらの複数の左瞼の制御点の各々を適宜定めて、左の上瞼の三次元の形状及び左の下瞼の三次元の形状(すなわち、左瞼の三次元の形状)をベジエ曲線によって定め、定められた左瞼の三次元の形状を画像座標に投影して得られた2次元の所定の左瞼の瞼モデルが記憶されている。なお、所定の左瞼の瞼モデルを形成するために用いた上記の左瞼の制御点の各々を定める座標は、第2のモデルパラメータに対応する。
CPU14dは、プログラムをROM14b及びHDD14cから読み出して実行する。また、RAM14eには、各種データが一時的に記憶される。
I/Oポート14aには、カメラ12が接続されている。
次に、コンピュータ14のCPU14dが実行する瞼尤度演算処理の処理ルーチンについて図4を用いて説明する。なお、本実施の形態において、瞼尤度演算処理は、瞼尤度演算装置10のスイッチ(図示せず)がオンされた時点から所定時間間隔(例えば、数10msec)毎に実行される。
まず、ステップ100で、カメラ12で撮影された画像の画像データを取り込む。
次のステップ102では、上記ステップ100で取り込んだ画像データが表す画像から、顔の領域である顔領域を抽出することにより顔領域の画像データを取得する。ステップ102で顔領域を抽出する方法としては、例えば、テンプレートマッチング法による画像処理により画像データが表す画像の中から顔領域を検索する方法を用いてもよいし、あるいは、操作者がキーボード(図示せず)、マウス(図示せず)、電子ペン(図示せず)またはライトペン(図示せず)等の顔領域を選択するための顔領域選択手段により画像の上で顔領域を選択することにより顔領域を抽出する方法を用いてもよい。
次のステップ104では、上記ステップ102で抽出した顔領域の画像データから、瞼及び虹彩を含む目の領域である目領域を抽出することにより目領域の画像データを取得する。ステップ104で目領域を抽出する方法としては、例えば、テンプレートマッチング法による画像処理により画像データが表す画像の中から目領域を検索する方法を用いてもよいし、あるいは、操作者がキーボード(図示せず)、マウス(図示せず)、電子ペン(図示せず)またはライトペン(図示せず)等の目領域を選択するための目領域選択手段により画像の上で目領域を選択することにより目領域を抽出する方法を用いてもよい。
次のステップ106では、上記ステップ102で取得した顔領域の画像データに基づいて、画像データが表す顔の顔向き角度θを検出する。ステップ106で顔向き角度θを検出する方法としては、例えば、テンプレートマッチング法による画像処理により画像データが表す顔の顔向き角度θを検出する方法を用いてもよいし、あるいは、「適応的拡散制御を伴うパーティクルフィルタを用いた頭部姿勢推定」(岡兼司、佐藤洋一、中西泰人、小池英樹著)に記載されているような公知技術を用いて頭部姿勢推定を行うことにより顔向き角度θを検出する方法を用いてもよい。
次のステップ108では、第1のモデルパラメータの少なくとも1つのモデルパラメータを複数回変更することによって、複数の右の比較瞼モデルを作成すると共に、第2のモデルパラメータの少なくとも1つのモデルパラメータを複数回変更することによって、複数の左の比較瞼モデルを作成するための比較モデル作成処理を実行する。ここで、ステップ108の比較モデル作成処理の処理ルーチンの詳細について図5を参照して説明する。
まず、ステップ200では、HDD14cからモデルパラメータが初期値に設定された右瞼の瞼モデル及び左瞼の瞼モデルを読み込んで、読み込んだ右瞼の瞼モデルを初期の右の比較瞼モデルとすると共に、読み込んだ左瞼の瞼モデルを初期の左の比較瞼モデルとし、これら左右の比較瞼モデルをRAM14eに記憶させることにより、右の比較瞼モデル及び左の比較瞼モデルを作成する。
ここで、右の比較瞼モデルは、後述する右の瞼尤度を演算する際の演算処理において、上記ステップ104で抽出した目領域の画像に含まれる右の上瞼及び右の下瞼の各形状と比較される瞼モデルである。また、左の比較瞼モデルは、後述する左の瞼尤度を演算する際の演算処理において、上記ステップ104で抽出した目領域の画像に含まれる左の上瞼及び左の下瞼の各形状と比較される瞼モデルである。
次のステップ202では、上記ステップ200で作成された右の比較瞼モデルの右目の上瞼における目頭と目じりとの間に対応する点P2(=(x2,y2,z2))、及び右目の下瞼における目頭と目じりとの間に対応する点P4(=(x4,y4,z4))の組み合わせについて、点P2及び点P4の各々毎に予め定められた複数の右の比較瞼モデルを作成するための複数の座標のパターンの中から、現時点の点P1及び点P3の座標の組み合わせの場合において未だ選択されていない点P2及び点P4の座標の組み合わせを1つ選択する。また、同様に、上記ステップ200で作成された左の比較瞼モデルの左目の上瞼における目頭と目じりとの間に対応する点P6(=(x6,y6,z6))、及び左目の下瞼における目頭と目じりとの間に対応する点P8(=(x8,y8,z8))の組み合わせについて、点P6及び点P8の各々毎に予め定められた複数の左の比較瞼モデルを作成するための複数の座標のパターンの中から、現時点の点P5及び点P7の座標の組み合わせの場合において未だ選択されていない点P6及び点P8の座標の組み合わせを1つ選択する。
次のステップ204では、現時点の点P2及び点P4の座標を、上記ステップ202で選択された点P2及び点P4の座標に変更し、変更後の点P2及び点P4の座標を含む第1のモデルパラメータ(点P1〜点P4の各々の座標)を用いて右の上瞼の三次元の形状及び右の下瞼の三次元の形状(すなわち、右瞼の三次元の形状)をベジエ曲線によって定め、定められた右瞼の三次元の形状を画像座標に投影して得られた2次元の瞼モデルを、新たな右の比較瞼モデルとする。また、同様に、現時点の点P6及び点P8の座標を、上記ステップ202で選択された点P6及び点P8の座標に変更し、変更後の点P6及び点P8の座標を含む第2のモデルパラメータ(点P5〜点P8の各々の座標)を用いて左の上瞼の三次元の形状及び左の下瞼の三次元の形状(すなわち、左瞼の三次元の形状)をベジエ曲線によって定め、定められた左瞼の三次元の形状を画像座標に投影して得られた2次元の瞼モデルを、新たな左の比較瞼モデルとする。そして、新たな右の比較瞼モデル及び左の比較瞼モデルをRAM14eに記憶させることにより、新たな右の比較瞼モデル及び左の比較瞼モデルを作成する。
次のステップ206では、上記ステップ202で、現時点の点P1及び点P3の座標の組み合わせの場合において、点P2及び点P4の座標の組み合わせを全てのパターンについて選択したか否かを判定すると共に、現時点の点P5及び点P7の座標の組み合わせの場合において、点P6及び点P8の座標の組み合わせを全てのパターンについて選択したか否かを判定する。
ステップ206で、点P2及び点P4の座標の組み合わせ並びに点P6及び点P8の座標の組み合わせの少なくとも1方の組み合わせにおいて全てのパターンについて選択していないと判定された場合には、上記のステップ202に戻り、全てのパターンについて選択されていないと判定された組み合わせの座標に対応する処理を上記と同様に行う。
一方、ステップ206で、点P2及び点P4の座標の組み合わせを全てのパターンについて選択したと判定され、かつ点P6及び点P8の座標の組み合わせを全てのパターンについて選択したと判定された場合には、次のステップ208に進む。
次のステップ208では、下記で詳細を説明するステップ210において点P1及び点P3の座標の組み合わせを全てのパターンについて選択したか否かを判定すると共に、点P5及び点P7の座標の組み合わせを全てのパターンについて選択したか否かを判定する。
ステップ208で、点P1及び点P3の座標の組み合わせ並びに点P5及び点P7の座標の組み合わせの少なくとも1方の組み合わせにおいて全てのパターンについて選択していないと判定された場合には、次のステップ210に進む。
ステップ210では、点P1及び点P3の各々毎に予め定められた複数の右の比較瞼モデルを作成するための複数の座標のパターンの中から、未だ選択されていない点P1及び点P3の座標の組み合わせを1つ選択する。また、同様に、点P5及び点P7の各々毎に予め定められた複数の左の比較瞼モデルを作成するための複数の座標のパターンの中から、未だ選択されていない点P5及び点P7の座標の組み合わせを1つ選択する。そして、ステップ204に戻る。なお、ステップ210からステップ204にもどった場合には、ステップ204では、点P2及び点P4の各々毎に予め定められた複数の比較瞼モデルを作成するための複数の座標のパターンの中から、直近の上記ステップ210で選択された点P1及び点P3の座標の組み合わせの場合において未だ選択されていない点P2及び点P4の座標の組み合わせを1つ選択する。そして、現時点の点P1及び点P3の座標を、直近の上記ステップ210で選択された点P1及び点P3の座標に変更すると共に、現時点の点P2及び点P4の座標を、直近の上記ステップ202で選択された点P2及び点P4の座標に変更し、変更後の点P1、点P2、点P3及び点P4の座標を含む第1のモデルパラメータ(点P1〜点P4の各々の座標)を用いて右の上瞼の三次元の形状及び右の下瞼の三次元の形状(すなわち、右瞼の三次元の形状)をベジエ曲線によって定め、定められた右瞼の三次元の形状を画像座標に投影して得られた2次元の瞼モデルを、新たな右の比較瞼モデルとする。また、ステップ204では、同様に、点P6及び点P8の各々毎に予め定められた複数の左の比較瞼モデルを作成するための複数の座標のパターンの中から、直近の上記ステップ210で選択された点P5及び点P7の座標の組み合わせの場合において未だ選択されていない点P6及び点P8の座標の組み合わせを1つ選択する。そして、現時点の点P5及び点P7の座標を、直近の上記ステップ210において選択された点P5及び点P7の座標に変更すると共に、現時点の点P6及び点P8の座標を、直近の当該ステップ204で選択された点P6及び点P8の座標に変更し、変更後の点P5、点P6、点P7及び点P8の座標を含む第1のパラメータ(点P5〜点P8の各々の座標)を用いて左目の上瞼の三次元の形状及び左目の下瞼の三次元の形状(すなわち、左の瞼の三次元の形状)をベジエ曲線によって定め、定められた左の瞼の三次元の形状を画像座標に投影して得られた2次元の瞼モデルを、新たな左目の比較瞼モデルとする。そして、新たな右目の比較瞼モデル及び左目の比較瞼モデルを新たな比較瞼モデルとしてRAM16eに記憶させることにより、新たな比較瞼モデルを作成する。
一方、ステップ208で、点P1及び点P3の座標の組み合わせを全てのパターンについて選択したと判定され、かつ点P5及び点P7の座標の組み合わせを全てのパターンについて選択したと判定された場合には、比較モデル作成処理を終了する。
以上説明したように、比較モデル作成処理によって、複数の右の比較瞼モデル及び複数の左の比較瞼モデルが作成される。
次のステップ110では、上記ステップ108で作成された複数の右の比較瞼モデルのうち、本ステップ110で未だ選択されていない右の比較瞼モデルを1つ選択する。
次のステップ112では、上記ステップ110で選択された右の比較瞼モデルによって表される上瞼及び下瞼の各形状と、上記ステップ104で抽出した目領域の画像に含まれる右の上瞼及び右の下瞼の各形状とが一致する度合いを示す右の瞼尤度λr_eyelidを演算し、演算した右の瞼尤度λr_eyelidをRAM14eに記憶する。
なお、右の瞼尤度λr_eyelidは、瞼部分に影ができ、この影から肌の方向への輝度勾配が生じることから、上記の「アイモデルを用いたCondensationによる黒目追跡」(北川洋介、加藤丈和、呉海元、和田俊和著)に記載されているような公知技術を用いて、法線ベクトルと輝度勾配ベクトルの向きを考慮して演算することができる。
次のステップ114では、上記ステップ110で全ての右の比較瞼モデルを選択したか否かを判定する。
ステップ114で、全ての右の比較瞼モデルを選択していないと判定された場合には、ステップ110に戻る。
一方、ステップ114で、全ての右の比較瞼モデルを選択したと判定された場合には、次のステップ116へ進む。
なお、ステップ110からステップ114の処理が繰り返されることによって、ステップ108で作成された複数の右の比較瞼モデルの各々の右の瞼尤度λr_eyelidが演算される。
次のステップ116では、上記ステップ108で作成された複数の左の比較瞼モデルのうち、本ステップ116で未だ選択されていない左の比較瞼モデルを1つ選択する。
次のステップ118では、上記ステップ116で選択された左の比較瞼モデルによって表される上瞼及び下瞼の各形状と、上記ステップ104で抽出した目領域の画像に含まれる左の上瞼及び左の下瞼の各形状とが一致する度合いを示す左の瞼尤度λl_eyelidを演算し、演算した左の瞼尤度λl_eyelidをRAM14eに記憶する。
なお、左の瞼尤度λl_eyelidは、瞼部分に影ができ、この影から肌の方向への輝度勾配が生じることから、上記の右の上記の瞼尤度λr_eyelidと同様に、「アイモデルを用いたCondensationによる黒目追跡」(北川洋介、加藤丈和、呉海元、和田俊和著)に記載されているような公知技術を用いて、法線ベクトルと輝度勾配ベクトルの向きを考慮して演算することができる。
次のステップ120では、上記ステップ116で全ての左の比較瞼モデルを選択したか否かを判定する。
ステップ120で、全ての左の比較瞼モデルを選択していないと判定された場合には、ステップ116に戻る。
一方、ステップ120で、全ての左の比較瞼モデルを選択したと判定された場合には、次のステップ122へ進む。
なお、ステップ116からステップ120の処理が繰り返されることによって、ステップ108で作成された複数の左の比較瞼モデルの各々の左の瞼尤度λl_eyelidが演算される。
ステップ122では、ステップ108で作成された複数の右の比較瞼モデル及び複数の左の比較瞼モデルのうち、瞼開度が同じ右の比較瞼モデル及び左の比較瞼モデルの組み合わせを1つ選択する。なお、ステップ108では、瞼開度がほぼ同じ右の比較瞼モデル及び左の比較瞼モデルの組み合わせを1つ選択するようにしてもよい。ここで、「瞼開度がほぼ同じ」とは、例えば、右の比較瞼モデル及び左の比較瞼モデルの各瞼開度が同一とみなせる場合の各瞼開度の差の最大値を予め実験的に求めておき、右の比較瞼モデル及び左の比較瞼モデルの各瞼尤度の差が、予め求められた上記最大値以内になる場合のことを指す。
次のステップ124では、上記ステップ106で検出された顔向き角度θに応じて、上記ステップ102で抽出された顔領域を含む画像の画像データが表す顔の画像に含まれる右瞼及び左瞼のうち、顔の画像を含む画像がカメラ12によって撮影された位置に遠いほうの瞼の瞼尤度に対応する大きさが、近い方の瞼の瞼尤度に対応する大きさより小さくなるように定めた重みwright及びwleft、直近の上記ステップ122で選択された組み合わせの右の比較瞼モデルの右の瞼尤度λr_eyelid、並びに直近の上記ステップ122で選択された組み合わせの左の比較瞼モデルの左の瞼尤度λl_eyelidに基づいて、下記の式(1)に示すように、重みwrightが付けられた右の瞼尤度λr_eyelidと、重みwleftが付けられた左の瞼尤度λl_eyelidとの和((wright・λr_eyelid+wleft・λl_eyelid)/(wright+wleft))を両瞼(左右の瞼)の瞼尤度λeyelidとして演算する。
ここで、図6を参照して、ステップ124において、上記ステップ106で検出された顔向き角度θに応じて、重みwright及び重みwleftを定める方法の一例について説明する。
図6は、顔向き角度θと右の瞼尤度λr_eyelidに対応する重みwrightの大きさとの関係、及び顔向き角度θと左の瞼尤度λl_eyelidに対応する重みwleftの大きさとの関係を表す図である。
顔向き角度θが正の値である場合(本実施の形態では、右の方向を向いている場合にはθは正の値をとり、左の方向を向いている場合には負の値をとる)には右瞼からカメラ12までの距離が、左瞼からカメラ12までの距離より大きいと考えることができるので、このような場合には、右の瞼尤度λr_eyelidの精度は、左の瞼尤度λl_eyelidの精度より悪いと考えることができる。同様に、顔向き角度θが負の値である場合には左瞼からカメラ12までの距離が、右瞼からカメラ12までの距離より大きいと考えることができるので、左の瞼尤度λl_eyelidの精度は、右の瞼尤度λr_eyelidの精度より悪いと考えることができる。そして、顔向き角度θが大きくなればなるほど、右の瞼尤度λr_eyelidの精度が悪くなると考えられ、顔向き角度θが小さくなればなるほど、左の瞼尤度λl_eyelidの精度が悪くなると考えられる。
本実施の形態では、これらのことを考慮して、顔向き角度θに応じて、精度が悪くなるほうの瞼尤度の重みを小さくすることにより、全体の瞼尤度λeyelid_allに対する精度が低い(悪い)ほうの瞼の瞼尤度の割合をより小さくするようにしている。これにより全体の瞼尤度λeyelid_allをより良好な精度で演算することができる。
ステップ124では、例えば、図6に示すように、ステップ106で検出した顔向き角度θが15度(図6の例では、顔がカメラ12に対して正面を向いたときの顔向き角度θを0度として、右方向の顔向き角度θを正の値とし、左方向の顔向き角度θを負の値で表している。)である場合には、重みwrightとして0.25、及び重みwleftとして0.75を定める。そして、下記の式(2)に示すように、重み0.25が付けられた右の瞼尤度λr_eyelidと、重み0.75が付けられた左の瞼尤度λl_eyelidとの和λeyelidを演算する。なお、図6の例では、重みwrightと、重みwleftとの和は1.0となる。
次のステップ126では、上記ステップ122で全ての組み合わせが選択されたか否かを判定する。ステップ126で全ての組み合わせが選択されていないと判定された場合には、ステップ122に戻り、選択されていない組み合わせを1つ選択する。一方、ステップ126で全ての組み合わせが選択されたと判定された場合には、次のステップ128へ進む。なお、ステップ122からステップ126の処理が繰り返されることによって、瞼開度が同じ左右の比較瞼モデルの組み合わせにおける両瞼の瞼尤度λeyelidが複数演算される。
ステップ128では、上記ステップ124で演算された複数の両瞼の瞼尤度λeyelidのうち、最も値が高い(最も大きい)両瞼の瞼尤度λeyelid_maxを全体の瞼尤度λeyelid_allとすることにより、全体の瞼尤度λeyelid_allを演算する。そして、瞼尤度演算処理を終了する。
以上、説明したように、本実施形態に係る瞼尤度演算装置10は、顔の画像を含む画像を撮影して画像データを出力する撮影手段としてのカメラ12と、複数の第1のモデルパラメータによって右の上瞼及び右の下瞼の形状を定めた右瞼モデル、及び複数の第2のモデルパラメータによって左の上瞼及び左の下瞼の形状を定めた左瞼モデルを記憶した記憶手段としてのHDD14cを含んで構成されており、画像データに基づいて、顔の顔向き角度θを検出し、第1のモデルパラメータの少なくとも1つのモデルパラメータを複数回変更することによって複数の右の比較瞼モデルを作成すると共に、第2のモデルパラメータの少なくとも1つのモデルパラメータを複数回変更することによって複数の左の比較瞼モデルを作成し、右の比較瞼モデルによって表される右の上瞼及び右の下瞼の各形状とカメラ12によって撮影された画像の右の上瞼及び右の下瞼の各形状とが一致する度合いを示す右の瞼尤度λr_eyelid、及び左の比較瞼モデルによって表される左の上瞼及び左の下瞼の各形状とカメラ12によって撮影された画像の左の上瞼及び左の下瞼の各形状とが一致する度合いを示す左の瞼尤度λl_eyelidを演算する。そして、本実施形態に係る瞼尤度演算装置10は、検出された顔向き角度θに応じて、カメラ12によって撮影された画像の右瞼及び左瞼のうちカメラ12によって画像が撮影された位置に遠いほうの瞼の瞼尤度に対応する大きさが、近いほうの瞼の瞼尤度に対応する大きさより小さくなるように定めた、左右の瞼の各々に対応する重みwright及びwleftのうち右の瞼に対応する重みwrightを、瞼開度が同一である右の比較瞼モデル及び左の比較瞼モデルの組み合わせにおける右の比較瞼モデルの右の瞼尤度λr_eyelidに重み付けた値(wright・λr_eyelid)と、左の瞼に対応する重みwleftを、左の比較瞼モデルの左の瞼尤度λl_eyelidに重み付けた値(wleft・λl_eyelid)との和((wright・λr_eyelid+wleft・λl_eyelid)/(wright+wleft))をこの組み合わせにおける左右の瞼尤度λeyelidとして組み合わせ毎に複数演算する。そして、本実施形態に係る瞼尤度演算装置10は、複数演算された組み合わせ毎の左右の瞼尤度λeyelidのうち、最も大きい左右の瞼尤度λeyelid_maxを全体の瞼尤度λeyelid_allとして演算する。
本実施形態に係る瞼尤度演算装置10によれば、撮影手段(本実施の形態ではカメラ12)によって撮影された画像に含まれる顔の画像が横を向いている場合(すなわち、画像に含まれる撮影対象の顔の画像が横を向いている場合)であっても、画像が撮影された位置に遠いほうの瞼の瞼尤度に対応する大きさが、近いほうの瞼の瞼尤度に対応する大きさより小さくなるように定めた、左右の瞼の各々に対応する重みwright及びwleftのうち右の瞼に対応する重みwrightを右の瞼尤度λr_eyelidに重み付けた値(wright・λr_eyelid)と、左の瞼に対応する重みwleftを左の瞼尤度λl_eyelidに重み付けた値(wleft・λl_eyelid)との和((wright・λr_eyelid+wleft・λl_eyelid)/(wright+wleft))をこの組み合わせにおける左右の瞼尤度λeyelidとして組み合わせ毎に複数演算し、複数演算された組み合わせ毎の左右の瞼尤度λeyelidのうち、最も大きい左右の瞼尤度λeyelid_maxを全体の瞼尤度λeyelid_allとして演算するので、全体の瞼尤度λeyelid_allに対する精度が低いほうの瞼の瞼尤度の割合がより小さくなり、これにより全体の瞼尤度λeyelid_allをより良好な精度で演算することができる。
なお、本実施の形態の瞼尤度演算装置10によって演算された全体の瞼尤度λeyelid_allは、例えば、瞼の形状を推定する際の尤度として用いることができる。また、例えば、このようにして推定された瞼の形状から、瞼開度を検出することができる。
また、本実施の形態の瞼尤度演算装置10を、演算された全体の瞼尤度λeyelid_allに基づいて、瞼モデルを推定し、推定された瞼モデルから、この瞼モデルが表す瞼の瞼開度を検出する瞼開度検出機能を備える構成としてもよい。この場合には、本実施の形態の瞼尤度演算装置10は、瞼開度検出装置として用いることが可能である。
[第2の実施の形態]
次に第2の実施の形態について説明する。なお、第1の実施の形態と同様の構成及び同様の処理については、同一符号を付して、説明を省略する。
本実施の形態において、第1の実施の形態と異なる点は、本実施の形態に係る瞼尤度演算装置のHDD14cには図8に示す瞼尤度演算処理の処理ルーチンを実行するためのプログラムが記憶されており、CPU14dがこの図8に示す瞼尤度演算処理を実行する点である。同図に図示されるように、ステップ104の次にステップ300が実行され、ステップ122の次にステップ302が実行される。なお、本実施の形態では、カメラ12として、撮影した対象物までの距離を検出可能な撮影手段、例えば、ステレオカメラが用いられる。
まず、ステップ300での処理について説明する。ステップ300では、上記ステップ104で抽出した目領域の画像データに画像処理を行って、上記ステップ104で抽出した右の目領域の所定部分(例えば、上瞼の中心)までの距離drightを検出することにより、カメラ12から右目までの距離drightを検出すると共に、上記ステップ104で抽出した左の目領域の所定部分(例えば、上瞼の中心)までの距離dleftを検出することにより、カメラ12から左目までの距離dleftを検出する。
次に、ステップ302での処理について説明する。ステップ302では、上記ステップ106で検出された右目までの距離dright及び左目までの距離dleftに応じて、上記ステップ102で抽出された顔領域を含む画像の画像データが表す顔の画像に含まれる右瞼及び左瞼のうち、顔の画像を含む画像がカメラ12によって撮影された位置に遠いほうの瞼の瞼尤度に対応する大きさが、近い方の瞼の瞼尤度に対応する大きさより小さくなるように定めた重みwright_2及びwleft_2、直近の上記ステップ122で選択された組み合わせの右の比較瞼モデルの右の瞼尤度λr_eyelid、並びに直近の上記ステップ122で選択された組み合わせの左の比較瞼モデルの左の瞼尤度λl_eyelidに基づいて、下記の式(3)に示すように、重みwright_2が付けられた右の瞼尤度λr_eyelidと、重みwleft_2が付けられた左の瞼尤度λl_eyelidとの和((wright_2・λr_eyelid+wleft_2・λl_eyelid)/(wright_2+wleft_2))を両瞼(左右の瞼)の瞼尤度λeyelidとして演算する。
ここで、図9を参照して、ステップ302において、上記ステップ300で検出された右目までの距離dright及び左目までの距離dleftに応じて、重みwright_2及び重みwleft_2を定める方法の一例について説明する。
図9は、(dleft−dright)と右の瞼尤度λr_eyelidに対応する重みwright_2の大きさとの関係、及び(dleft−dright)と左の瞼尤度λl_eyelidに対応する重みwleft_2の大きさとの関係を表す図である。
ここで、右瞼からカメラ12までの距離drightと、左瞼からカメラ12までの距離dleftとが同一である場合には、右の瞼尤度λr_eyelidの精度(信頼性)と左の瞼尤度λl_eyelidの精度とは同一であると考えることができる。
一方、右瞼からカメラ12までの距離drightが、左瞼からカメラ12までの距離dleftより大きい場合には、右の瞼尤度λr_eyelidの精度は、左の瞼尤度λl_eyelidの精度より悪いと考えることができる。同様に、左瞼からカメラ12までの距離dleftが、右瞼からカメラ12までの距離drightより大きい場合には、左の瞼尤度λl_eyelidの精度は、右の瞼尤度λr_eyelidの精度より悪いと考えることができる。そして、距離drightと距離dleftとの差が大きくなればなるほど、精度の差が大きくなると考えられる。
本実施の形態では、これらのことを考慮して、距離drightと距離dleftとの差が大きくなればなるほど、精度が悪くなるほうの瞼尤度の重みを小さくすることにより、全体の瞼尤度λeyelid_allに対する精度が低い(悪い)ほうの瞼の瞼尤度の割合をより小さくするようにしている。これにより全体の瞼尤度λeyelid_allをより良好な精度で演算することができる。
ステップ302では、例えば、図9に示すように、ステップ300で検出した右目までの距離dright及び左目までの距離dleftの差(dleft−dright)が2.5cm(図9の例では、dleft>drightの場合を正の値とし、dleft<drightの場合を負の値で表している。)である場合には、重みwright_2として0.75、及び重みwleft_2として0.25を定める。そして、下記の式(4)に示すように、重み0.75が付けられた右の瞼尤度λr_eyelidと、重み0.25が付けられた左の瞼尤度λl_eyelidとの和λeyelidを演算する。なお、図9の例では、重みwright_2と、重みwleft_2との和は1.0となる。
以上、説明したように、本実施形態に係る瞼尤度演算装置は、検出された右目までの距離dright及び左目までの距離dleftに応じて、カメラ12によって撮影された画像の右瞼及び左瞼のうちカメラ12によって画像が撮影されたときのカメラ12の位置(撮影位置)に遠いほうの瞼の瞼尤度に対応する大きさが、近いほうの瞼の瞼尤度に対応する大きさより小さくなるように定めた、左右の瞼の各々に対応する重みwright_2及びwleft_2のうち右の瞼に対応する重みwright_2を、瞼開度が同一である右の比較瞼モデル及び左の比較瞼モデルの組み合わせにおける右の比較瞼モデルの右の瞼尤度λr_eyelidに重み付けた値(wright_2・λr_eyelid)と、左の瞼に対応する重みwleft_2を、左の比較瞼モデルの左の瞼尤度λl_eyelidに重み付けた値(wleft_2・λl_eyelid)との和((wright_2・λr_eyelid+wleft_2・λl_eyelid)/(wright_2+wleft_2))をこの組み合わせにおける左右の瞼尤度λeyelidとして組み合わせ毎に複数演算する。そして、本実施形態に係る瞼尤度演算装置は、複数演算された組み合わせ毎の左右の瞼尤度λeyelidのうち、最も大きい左右の瞼尤度λeyelid_maxを全体の瞼尤度λeyelid_allとして演算する。
本実施形態に係る瞼尤度演算装置によれば、撮影手段(本実施の形態ではステレオカメラ)によって撮影された画像に含まれる顔の画像が横を向いている場合(すなわち、画像に含まれる撮影対象の顔の画像が横を向いている場合)であっても、画像が撮影された位置に遠いほうの瞼の瞼尤度に対応する大きさが、近いほうの瞼の瞼尤度に対応する大きさより小さくなるように定めた、左右の瞼の各々に対応する重みwright_2及びwleft_2のうち右の瞼に対応する重みwright_2を右の瞼尤度λr_eyelidに重み付けた値(wright_2・λr_eyelid)と、左の瞼に対応する重みwleft_2を左の瞼尤度λl_eyelidに重み付けた値(wleft_2・λl_eyelid)との和((wright_2・λr_eyelid+wleft_2・λl_eyelid)/(wright_2+wleft_2))をこの組み合わせにおける左右の瞼尤度λeyelidとして組み合わせ毎に複数演算し、複数演算された組み合わせ毎の左右の瞼尤度λeyelidのうち、最も大きい左右の瞼尤度λeyelid_maxを全体の瞼尤度λeyelid_allとして演算するので、全体の瞼尤度λeyelid_allに対する精度が低いほうの瞼の瞼尤度の割合がより小さくなり、これにより全体の瞼尤度λeyelid_allをより良好な精度で演算することができる。
なお、本実施の形態の瞼尤度演算装置によって演算された全体の瞼尤度λeyelid_allは、例えば、瞼の形状を推定する際の尤度として用いることができる。また、例えば、このようにして推定された瞼の形状から、瞼開度を検出することができる。
また、本実施の形態の瞼尤度演算装置を、演算された全体の瞼尤度λeyelid_allに基づいて、瞼モデルを推定し、推定された瞼モデルから、この瞼モデルが表す瞼の瞼開度を検出する瞼開度検出機能を備える構成としてもよい。この場合には、本実施の形態の瞼尤度演算装置は、瞼開度検出装置として用いることが可能である。
[第3の実施の形態]
次に第3の実施の形態について説明する。なお、第2の実施の形態と同様の構成及び同様の処理については、同一符号を付して、説明を省略する。
本実施の形態において、第2の実施の形態と異なる点は、本実施の形態に係る瞼尤度演算装置のHDD14cには図10に示す瞼尤度演算処理の処理ルーチンを実行するためのプログラムが記憶されており、CPU14dがこの図10に示す瞼尤度演算処理を実行する点である。同図に図示されるように、ステップ102の次にステップ304が実行され、ステップ304の次にステップ306が実行され、ステップ122の次にステップ308が実行される。なお、本実施の形態では、第2の実施の形態と同様に、カメラ12として、撮影した対象物までの距離を検出可能な撮影手段、例えば、ステレオカメラが用いられる。
まず、ステップ304での処理について説明する。ステップ304では、上記ステップ102で取得した画像データが表す画像から、第1の実施の形態や第2の実施の形態と同様に、瞼及び虹彩を含む目の領域である目領域を抽出することにより目領域の画像データを取得する。更に、本実施の形態では、ステップ304で、右耳及び左耳を含む耳の領域(耳領域)を抽出することにより、耳領域の画像データを取得する。ステップ304で耳領域を抽出する方法としては、例えば、テンプレートマッチング法による画像処理により画像データが表す画像の中から右耳を含む領域及び左耳を含む領域を検索する方法を用いてもよいし、あるいは、操作者がキーボード(図示せず)、マウス(図示せず)、電子ペン(図示せず)またはライトペン(図示せず)等の耳領域を選択するための耳領域選択手段により画像の上で耳領域を選択することにより耳領域を抽出する方法を用いてもよい。
次に、ステップ306での処理について説明する。ステップ306では、上記ステップ304で抽出した耳領域の画像データに画像処理を行って、上記ステップ304で抽出した右の耳領域の所定部分(例えば、右耳の中心)までの距離dright_2を検出することにより、カメラ12から右耳までの距離dright_2を検出すると共に、上記ステップ304で抽出した左の耳領域の所定部分(例えば、左耳の中心)までの距離dleft_2を検出することにより、カメラ12から左耳までの距離dleft_2を検出する。
次に、ステップ308での処理について説明する。ステップ308では、上記ステップ306で検出された右耳までの距離dright_2及び左耳までの距離dleft_2に応じて、上記ステップ102で抽出された顔領域を含む画像の画像データが表す顔の画像に含まれる右瞼及び左瞼のうち、顔の画像を含む画像がカメラ12によって撮影された位置に遠いほうの瞼の瞼尤度に対応する大きさが、近い方の瞼の瞼尤度に対応する大きさより小さくなるように定めた重みwright_3及びwleft_3、直近の上記ステップ122で選択された組み合わせの右の比較瞼モデルの右の瞼尤度λr_eyelid、並びに直近の上記ステップ122で選択された組み合わせの左の比較瞼モデルの左の瞼尤度λl_eyelidに基づいて、下記の式(5)に示すように、重みwright_3が付けられた右の瞼尤度λr_eyelidと、重みwleft_3が付けられた左の瞼尤度λl_eyelidとの和((wright_3・λr_eyelid+wleft_3・λl_eyelid)/(wright_3+wleft_3))を両瞼(左右の瞼)の瞼尤度λeyelidとして演算する。
ここで、図11を参照して、ステップ308において、上記ステップ306で検出された右耳までの距離dright_2及び左耳までの距離dleft_2に応じて、重みwright_3及び重みwleft_3を定める方法の一例について説明する。
図11は、(dleft_2−dright_2)と右の瞼尤度λr_eyelidに対応する重みwright_3の大きさとの関係、及び(dleft_2−dright_2)と左の瞼尤度λl_eyelidに対応する重みwleft_3の大きさとの関係を表す図である。
ここで、右耳からカメラ12までの距離dright_2と、左耳からカメラ12までの距離dleft_2とが同一である場合には、右の瞼尤度λr_eyelidの精度(信頼性)と左の瞼尤度λl_eyelidの精度とは同一であると考えることができる。
一方、右耳からカメラ12までの距離dright_2が、左耳からカメラ12までの距離dleft_2より大きい場合には、右の瞼尤度λr_eyelidの精度は、左の瞼尤度λl_eyelidの精度より悪いと考えることができる。同様に、左耳からカメラ12までの距離dleft_2が、右耳からカメラ12までの距離dright_2より大きい場合には、左の瞼尤度λl_eyelidの精度は、右の瞼尤度λr_eyelidの精度より悪いと考えることができる。そして、距離dright_2と距離dleft_2との差が大きくなればなるほど、精度の差が大きくなると考えられる。
本実施の形態では、これらのことを考慮して、距離dright_2と距離dleft_2との差が大きくなればなるほど、精度が悪くなるほうの瞼尤度の重みを小さくすることにより、全体の瞼尤度λeyelid_allに対する精度が低い(悪い)ほうの瞼の瞼尤度の割合をより小さくするようにしている。これにより全体の瞼尤度λeyelid_allをより良好な精度で演算することができる。
ステップ308では、例えば、図11に示すように、ステップ306で検出した右耳までの距離dright_2及び左耳までの距離dleft_2の差(dleft_2−dright_2)が2.5cm(図11の例では、dleft_2>dright_2の場合を正の値とし、dleft_2<dright_2の場合を負の値で表している。)である場合には、重みwright_3として0.75、及び重みwleft_3として0.25を定める。そして、下記の式(6)に示すように、重み0.75が付けられた右の瞼尤度λr_eyelidと、重み0.25が付けられた左の瞼尤度λl_eyelidとの和λeyelidを演算する。なお、図11の例では、重みwright_2と、重みwleft_2との和は1.0となる。
以上、説明したように、本実施形態に係る瞼尤度演算装置は、検出された右耳までの距離dright_2及び左耳までの距離dleft_2に応じて、カメラ12によって撮影された画像の右瞼及び左瞼のうちカメラ12によって画像が撮影されたときのカメラ12の位置(撮影位置)に遠いほうの瞼の瞼尤度に対応する大きさが、近いほうの瞼の瞼尤度に対応する大きさより小さくなるように定めた、左右の瞼の各々に対応する重みwright_3及びwleft_3のうち右の瞼に対応する重みwright_3を、瞼開度が同一である右の比較瞼モデル及び左の比較瞼モデルの組み合わせにおける右の比較瞼モデルの右の瞼尤度λr_eyelidに重み付けた値(wright_3・λr_eyelid)と、左の瞼に対応する重みwleft_3を、左の比較瞼モデルの左の瞼尤度λl_eyelidに重み付けた値(wleft_3・λl_eyelid)との和((wright_3・λr_eyelid+wleft_3・λl_eyelid)/(wright_3+wleft_3))をこの組み合わせにおける左右の瞼尤度λeyelidとして組み合わせ毎に複数演算する。そして、本実施形態に係る瞼尤度演算装置は、複数演算された組み合わせ毎の左右の瞼尤度λeyelidのうち、最も大きい左右の瞼尤度λeyelid_maxを全体の瞼尤度λeyelid_allとして演算する。
本実施形態に係る瞼尤度演算装置によれば、第1の実施の形態及び第2の実施の形態と同様に、全体の瞼尤度λeyelid_allに対する精度が低いほうの瞼の瞼尤度の割合がより小さくなり、これにより全体の瞼尤度λeyelid_allをより良好な精度で演算することができる。
なお、本実施の形態の瞼尤度演算装置によって演算された全体の瞼尤度λeyelid_allは、例えば、瞼の形状を推定する際の尤度として用いることができる。また、例えば、このようにして推定された瞼の形状から、瞼開度を検出することができる。
また、本実施の形態の瞼尤度演算装置を、演算された全体の瞼尤度λeyelid_allに基づいて、瞼モデルを推定し、推定された瞼モデルから、この瞼モデルが表す瞼の瞼開度を検出する瞼開度検出機能を備える構成としてもよい。この場合には、本実施の形態の瞼尤度演算装置は、瞼開度検出装置として用いることが可能である。
[第4の実施の形態]
次に第4の実施の形態について説明する。なお、第1の実施の形態と同様の構成及び同様の処理については、同一符号を付して、説明を省略する。
本実施の形態において、第1の実施の形態と異なる点は、本実施の形態に係る瞼尤度演算装置のHDD14cには図12に示す瞼尤度演算処理の処理ルーチンを実行するためのプログラムが記憶されており、CPU14dが図12に示す瞼尤度演算処理を実行する点である。同図に図示されるように、ステップ104の次にステップ310が実行され、ステップ122の次にステップ312が実行される。
まず、ステップ310での処理について説明する。ステップ310では、右目の目領域のコントラスト及び左目の目領域のコントラストを演算するための目領域コントラスト演算処理を実行する。
この目領域コントラスト演算処理について、図13を参照して説明すると、まずステップ400で、上記ステップ104で抽出した目領域のうち、右目の目領域(右目領域)の全ての画素の濃度値(画素値:本実施の形態では、例えば0〜255の何れかの値)を検出する。
次のステップ402では、まず、図14(A)に示すように、上記ステップ400で検出した各画素の濃度値に基づいて、横軸を濃度値、縦軸を画素の数とするヒストグラムを作成する。そして、同図に図示されるように、画素の数が所定の閾値Ithrightより多い場合の濃度値の最大と最小との差Iwrightを演算することにより、右目の目領域のコントラストIwrightを演算する。
次のステップ404では、上記ステップ104で抽出した目領域のうち、左目の目領域(左目領域)の全ての画素の濃度値を検出する。
次のステップ406では、まず、図14(B)に示すように、上記ステップ404で検出した各画素の濃度値に基づいて、横軸を濃度値、縦軸を画素の数とするヒストグラムを作成する。そして、同図に図示されるように、画素の数が所定の閾値Ithleftより多い場合の濃度値の最大と最小との差Iwleftを演算することにより、左目の目領域のコントラストIwleftを演算する。そして、目領域コントラスト演算処理を終了する。以上、説明しように、ステップ310での目領域コントラスト演算処理によって、左右の目領域の各コントラストが演算される。
ここで、コントラストが低い(小さい)ほどぼやけた画像となることから、コントラストが低いほどカメラ12とその撮影対象物(撮影対象箇所)との距離が遠いと考えることができる。同様に、コントラストが高い(大きい)ほどはっきりとした画像となることから、コントラストが高いほどカメラ12とその撮影対象物(撮影対象箇所)との距離が近いと考えることができる。
次に、ステップ312での処理について説明する。ステップ312では、上記ステップ310で演算された右目の目領域のコントラストIwright及び左目の目領域のコントラストIwleftに応じて、上記ステップ102で抽出された顔領域を含む画像の画像データが表す顔の画像に含まれる右瞼及び左瞼のうち、コントラストが小さい方(顔の画像を含む画像がカメラ12によって撮影された位置に遠いほう)の瞼の瞼尤度に対応する大きさが、コントラストが大きい方(近い方)の瞼の瞼尤度に対応する大きさより小さくなるように定めた重みwright_4及びwleft_4、直近の上記ステップ122で選択された組み合わせの右の比較瞼モデルの右の瞼尤度λr_eyelid、並びに直近の上記ステップ122で選択された組み合わせの左の比較瞼モデルの左の瞼尤度λl_eyelidに基づいて、下記の式(7)に示すように、重みwright_4が付けられた右の瞼尤度λr_eyelidと、重みwleft_4が付けられた左の瞼尤度λl_eyelidとの和((wright_4・λr_eyelid+wleft_4・λl_eyelid)/(wright_4+wleft_4))を両瞼(左右の瞼)の瞼尤度λeyelidとして演算する。
ここで、図15を参照して、ステップ312において、上記ステップ310で演算された右目の目領域のコントラストIwright及び左目の目領域のコントラストIwleftに応じて、重みwright_4及び重みwleft_4を定める方法の一例について説明する。なお、本実施の形態では、Iwright及びIwleftの大小関係によって重みwright_4及び重みwleft_4を定める方法が以下に示すように異なる。
図15(A)は、Iwleft<Iwrightの場合におけるIwleftをIwrightで割った(除算した)値である比(Iwleft/Iwright)と右の瞼尤度λr_eyelidに対応する重みwright_4の大きさとの関係、及び比(Iwleft/Iwright)と左の瞼尤度λl_eyelidに対応する重みwleft_4の大きさとの関係を表す図である。
ここで、比(Iwleft/Iwright)が1である場合には、右の瞼尤度λr_eyelidの精度(信頼性)と左の瞼尤度λl_eyelidの精度とは同一であると考えることができる。
一方、比(Iwleft/Iwright)が1より小さい場合には、左の瞼尤度λl_eyelidの精度は、右の瞼尤度λr_eyelidの精度より悪いと考えることができる。そして、比(Iwleft/Iwright)が1より小さくなればなるほど、左の瞼尤度λl_eyelidの精度が、右の瞼尤度λr_eyelidの精度より悪くなると考えられる。
本実施の形態では、これらのことを考慮して、比(Iwleft/Iwright)が1より小さくなればなるほど、精度が悪くなるほうの瞼尤度の重みを小さくすることにより、全体の瞼尤度λeyelid_allに対する精度が低い(悪い)ほうの瞼の瞼尤度の割合をより小さくするようにしている。これにより全体の瞼尤度λeyelid_allをより良好な精度で演算することができる。
ステップ312では、Iwleft<Iwrightである場合には、図15(A)に示すように、左目の目領域のコントラストIwleftを、右目の目領域のコントラストIwrightで割った値である比(Iwleft/Iwright)を演算して対応する重みwright_4及び重みwleft_4を定める。より具体的には、例えば、Iwleft<Iwrightである場合における比(Iwleft/Iwright)が、0.75であるときには、重みwright_4として0.75、及び重みwleft_4として0.25を定める。そして、下記の式(8)に示すように、重み0.75が付けられた右の瞼尤度λr_eyelidと、重み0.25が付けられた左の瞼尤度λl_eyelidとの和λeyelidを演算する。なお、図15(A)の例では、重みwright_4と、重みwleft_4との和は1.0となる。
また、図15(B)は、Iwleft≧Iwrightの場合におけるIwrightをIwleftで割った(除算した)値である比(Iwright/Iwleft)と右の瞼尤度λr_eyelidに対応する重みwright_4の大きさとの関係、及び比(Iwright/Iwleft)と左の瞼尤度λl_eyelidに対応する重みwleft_4の大きさとの関係を表す図である。
ここで、比(Iwright/Iwleft)が1である場合には、右の瞼尤度λr_eyelidの精度(信頼性)と左の瞼尤度λl_eyelidの精度とは同一であると考えることができる。
一方、比(Iwright/Iwleft)が1より小さい場合には、右の瞼尤度λr_eyelidの精度は、左の瞼尤度λl_eyelidの精度より悪いと考えることができる。そして、比(Iwright/Iwleft)が1より小さくなればなるほど、右の瞼尤度λr_eyelidの精度が、左の瞼尤度λl_eyelidの精度より悪くなると考えられる。
本実施の形態では、これらのことを考慮して、比(Iwright/Iwleft)が1より小さくなればなるほど、精度が悪くなるほうの瞼尤度の重みを小さくすることにより、全体の瞼尤度λeyelid_allに対する精度が低い(悪い)ほうの瞼の瞼尤度の割合をより小さくするようにしている。これにより全体の瞼尤度λeyelid_allをより良好な精度で演算することができる。
ステップ312では、Iwleft≧Iwrightである場合には、図15(B)に示すように、右目の目領域のコントラストIwrightを、左目の目領域のコントラストIwleftで割った値である比(Iwright/Iwleft)を演算して対応する重みwright_4及び重みwleft_4を定める。より具体的には、例えば、Iwleft≧Iwrightである場合における比(Iwright/Iwleft)が、0.75であるときには、重みwright_4として0.25、及び重みwleft_4として0.75を定める。そして、上記と同様に、和λeyelidを演算する。なお、図15(B)の例においても、重みwright_4と、重みwleft_4との和は1.0となる。
以上、説明したように、本実施形態に係る瞼尤度演算装置は、演算された右目領域のコントラストIwright及び左目領域のコントラストIwleftに応じて、カメラ12によって撮影された画像の右瞼及び左瞼のうち、コントラストが小さい方(カメラ12によって画像が撮影されたときのカメラ12の位置(撮影位置)に遠いほう)の瞼の瞼尤度に対応する大きさが、コントラストが大きい方(近いほう)の瞼の瞼尤度に対応する大きさより小さくなるように定めた、左右の瞼の各々に対応する重みwright_4及びwleft_4のうち右の瞼に対応する重みwright_4を、瞼開度が同一である右の比較瞼モデル及び左の比較瞼モデルの組み合わせにおける右の比較瞼モデルの右の瞼尤度λr_eyelidに重み付けた値(wright_4・λr_eyelid)と、左の瞼に対応する重みwleft_4を、左の比較瞼モデルの左の瞼尤度λl_eyelidに重み付けた値(wleft_4・λl_eyelid)との和((wright_4・λr_eyelid+wleft_4・λl_eyelid)/(wright_4+wleft_4))をこの組み合わせにおける左右の瞼尤度λeyelidとして組み合わせ毎に複数演算する。そして、本実施形態に係る瞼尤度演算装置は、複数演算された組み合わせ毎の左右の瞼尤度λeyelidのうち、最も大きい左右の瞼尤度λeyelid_maxを全体の瞼尤度λeyelid_allとして演算する。
本実施形態に係る瞼尤度演算装置によれば、第1〜3の各実施の形態と同様に、全体の瞼尤度λeyelid_allに対する精度が低いほうの瞼の瞼尤度の割合がより小さくなり、これにより全体の瞼尤度λeyelid_allをより良好な精度で演算することができる。
なお、本実施の形態の瞼尤度演算装置によって演算された全体の瞼尤度λeyelid_allは、例えば、瞼の形状を推定する際の尤度として用いることができる。また、例えば、このようにして推定された瞼の形状から、瞼開度を検出することができる。
また、本実施の形態の瞼尤度演算装置を、演算された全体の瞼尤度λeyelid_allに基づいて、瞼モデルを推定し、推定された瞼モデルから、この瞼モデルが表す瞼の瞼開度を検出する瞼開度検出機能を備える構成としてもよい。この場合には、本実施の形態の瞼尤度演算装置は、瞼開度検出装置として用いることが可能である。
[第5の実施の形態]
次に第5の実施の形態について説明する。なお、第1〜4の各実施の形態と同様の構成及び同様の処理については、同一符号を付して、説明を省略する。
本実施の形態において、第4の実施の形態と異なる点は、本実施の形態に係る瞼尤度演算装置のHDD14cには図16に示す瞼尤度演算処理の処理ルーチンを実行するためのプログラムが記憶されており、CPU14dが図16に示す瞼尤度演算処理を実行する点である。同図に図示されるように、ステップ104の次にステップ314が実行され、ステップ122の次にステップ316が実行される。
まず、ステップ314での処理について説明する。ステップ314では、右目の目領域のエッジ強度及び左目の目領域のエッジ強度を演算するための目領域エッジ強度演算処理を実行する。
この目領域エッジ強度演算処理について、図17を参照して説明すると、まずステップ500で、上記ステップ104で抽出した目領域のうち、右目の目領域(右目領域)の全ての画素のエッジ強度を検出する。ここで、エッジ強度について説明する。エッジ強度とは、隣り合う画素の画素値の変化度合いを示すもので、画像の鮮鋭感の指標となるものである。例えば、対象物が鮮明に映し出される画像(鮮明画像)とその対象物がぼやけて映し出される画像(不鮮明画像)とを比較すると、対象物とその周辺とを分ける境界線の鮮鋭感(エッジの強さ)は、不鮮明画像よりも鮮明画像の方が大きくなる。ゆえに、エッジ強度は、画像の鮮鋭感の指標となる。
次のステップ502では、まず、図18(A)に示すように、上記ステップ500で検出した各画素のエッジ強度に基づいて、横軸をエッジ強度、縦軸を画素の数とするヒストグラムを作成する。そして、同図に図示されるように、画素の数が所定の閾値Ethrightより多い場合のエッジ強度の最大と最小との差Ewrightを演算することにより、右目の目領域のエッジ強度Ewrightを演算する。
次のステップ504では、上記ステップ104で抽出した目領域のうち、左目の目領域(左目領域)の全ての画素のエッジ強度を検出する。
次のステップ506では、まず、図18(B)に示すように、上記ステップ504で検出した各画素のエッジ強度に基づいて、横軸をエッジ強度、縦軸を画素の数とするヒストグラムを作成する。そして、同図に図示されるように、画素の数が所定の閾値Ethleftより多い場合のエッジ強度の最大と最小との差Ewleftを演算することにより、左目の目領域のエッジ強度Ewleftを演算する。そして、目領域エッジ強度演算処理を終了する。以上、説明しように、ステップ314での目領域エッジ強度演算処理によって、左右の目領域の各エッジ強度が演算される。
ここで、エッジ強度が低い(小さい)ほどぼやけた画像となることから、エッジ強度が低いほどカメラ12とその撮影対象物(撮影対象箇所)との距離が遠くなることが分かる。同様に、エッジ強度が高い(大きい)ほどはっきりとした画像となることから、エッジ強度が高いほどカメラ12とその撮影対象物(撮影対象箇所)との距離が近くなることが分かる。
次に、ステップ316での処理について説明する。ステップ316では、上記ステップ314で演算された右目の目領域のエッジ強度Ewright及び左目の目領域のエッジ強度Ewleftに応じて、上記ステップ102で抽出された顔領域を含む画像の画像データが表す顔の画像に含まれる右瞼及び左瞼のうち、エッジ強度が小さい方(顔の画像を含む画像がカメラ12によって撮影された位置に遠いほう)の瞼の瞼尤度に対応する大きさが、エッジ強度が大きい方(近い方)の瞼の瞼尤度に対応する大きさより小さくなるように定めた重みwright_5及びwleft_5、直近の上記ステップ122で選択された組み合わせの右の比較瞼モデルの右の瞼尤度λr_eyelid、並びに直近の上記ステップ122で選択された組み合わせの左の比較瞼モデルの左の瞼尤度λl_eyelidに基づいて、下記の式(9)に示すように、重みwright_5が付けられた右の瞼尤度λr_eyelidと、重みwleft_5が付けられた左の瞼尤度λl_eyelidとの和((wright_5・λr_eyelid+wleft_5・λl_eyelid)/(wright_5+wleft_5))を両瞼(左右の瞼)の瞼尤度λeyelidとして演算する。
ここで、図19を参照して、ステップ316において、上記ステップ314で演算された右目の目領域のエッジ強度Ewright及び左目の目領域のエッジ強度Ewleftに応じて、重みwright_5及び重みwleft_5を定める方法の一例について説明する。なお、本実施の形態では、Ewright及びEwleftの大小関係によって重みwright_5及び重みwleft_5を定める方法が以下に示すように異なる。
図19(A)は、Ewleft<Ewrightの場合におけるEwleftをEwrightで割った(除算した)値である比(Ewleft/Ewright)と右の瞼尤度λr_eyelidに対応する重みwright_5の大きさとの関係、及び比(Ewleft/Ewright)と左の瞼尤度λl_eyelidに対応する重みwleft_5の大きさとの関係を表す図である。
ここで、比(Ewleft/Ewright)が1である場合には、右の瞼尤度λr_eyelidの精度(信頼性)と左の瞼尤度λl_eyelidの精度とは同一であると考えることができる。
一方、比(Ewleft/Ewright)が1より小さい場合には、左の瞼尤度λl_eyelidの精度は、右の瞼尤度λr_eyelidの精度より悪いと考えることができる。そして、比(Ewleft/Ewright)が1より小さくなればなるほど、左の瞼尤度λl_eyelidの精度が、右の瞼尤度λr_eyelidの精度より悪くなると考えられる。
本実施の形態では、これらのことを考慮して、比(Ewleft/Ewright)が1より小さくなればなるほど、精度が悪くなるほうの瞼尤度の重みを小さくすることにより、全体の瞼尤度λeyelid_allに対する精度が低い(悪い)ほうの瞼の瞼尤度の割合をより小さくするようにしている。これにより全体の瞼尤度λeyelid_allをより良好な精度で演算することができる。
ステップ316では、Ewleft<Ewrightである場合には、図19(A)に示すように、左目の目領域のエッジ強度Ewleftを、右目の目領域のエッジ強度Ewrightで割った値である比(Ewleft/Ewright)を演算して対応する重みwright_5及び重みwleft_5を定める。より具体的には、例えば、Ewleft<Ewrightである場合における比(Ewleft/Ewright)が、0.75であるときには、重みwright_5として0.75、及び重みwleft_5として0.25を定める。そして、下記の式(10)に示すように、重み0.75が付けられた右の瞼尤度λr_eyelidと、重み0.25が付けられた左の瞼尤度λl_eyelidとの和λeyelidを演算する。なお、図19(A)の例では、重みwright_5と、重みwleft_5との和は1.0となる。
また、図19(B)は、Ewleft≧Ewrightの場合におけるEwrightをEwleftで割った(除算した)値である比(Ewright/Ewleft)と右の瞼尤度λr_eyelidに対応する重みwright_5の大きさとの関係、及び比(Ewright/Ewleft)と左の瞼尤度λl_eyelidに対応する重みwleft_5の大きさとの関係を表す図である。
ここで、比(Ewright/Ewleft)が1である場合には、右の瞼尤度λr_eyelidの精度(信頼性)と左の瞼尤度λl_eyelidの精度とは同一であると考えることができる。
一方、比(Ewright/Ewleft)が1より小さい場合には、右の瞼尤度λr_eyelidの精度は、左の瞼尤度λl_eyelidの精度より悪いと考えることができる。そして、比(Ewright/Ewleft)が1より小さくなればなるほど、右の瞼尤度λr_eyelidの精度が、左の瞼尤度λl_eyelidの精度より悪くなると考えられる。
本実施の形態では、これらのことを考慮して、比(Ewright/Ewleft)が1より小さくなればなるほど、精度が悪くなるほうの瞼尤度の重みを小さくすることにより、全体の瞼尤度λeyelid_allに対する精度が低い(悪い)ほうの瞼の瞼尤度の割合をより小さくするようにしている。これにより全体の瞼尤度λeyelid_allをより良好な精度で演算することができる。
ステップ316では、Ewleft≧Ewrightである場合には、図19(B)に示すように、右目の目領域のエッジ強度Ewrightを、左目の目領域のエッジ強度Ewleftで割った値である比(Ewright/Ewleft)を演算して対応する重みwright_5及び重みwleft_5を定める。より具体的には、例えば、Ewleft≧Ewrightである場合における比(Ewright/Ewleft)が、0.75であるときには、重みwright_5として0.25、及び重みwleft_5として0.75を定める。そして、上記と同様に、和λeyelidを演算する。なお、図19(B)の例においても、重みwright_5と、重みwleft_5との和は1.0となる。
以上、説明したように、本実施形態に係る瞼尤度演算装置は、演算された右目領域のエッジ強度Ewright及び左目領域のエッジ強度Ewleftに応じて、カメラ12によって撮影された画像の右瞼及び左瞼のうち、エッジ強度が小さい方(カメラ12によって画像が撮影されたときのカメラ12の位置(撮影位置)に遠いほう)の瞼の瞼尤度に対応する大きさが、エッジ強度が大きい方(近いほう)の瞼の瞼尤度に対応する大きさより小さくなるように定めた、左右の瞼の各々に対応する重みwright_5及びwleft_5のうち右の瞼に対応する重みwright_5を、瞼開度が同一である右の比較瞼モデル及び左の比較瞼モデルの組み合わせにおける右の比較瞼モデルの右の瞼尤度λr_eyelidに重み付けた値(wright_5・λr_eyelid)と、左の瞼に対応する重みwleft_5を、左の比較瞼モデルの左の瞼尤度λl_eyelidに重み付けた値(wleft_5・λl_eyelid)との和((wright_5・λr_eyelid+wleft_5・λl_eyelid)/(wright_5+wleft_5))をこの組み合わせにおける左右の瞼尤度λeyelidとして組み合わせ毎に複数演算する。そして、本実施形態に係る瞼尤度演算装置は、複数演算された組み合わせ毎の左右の瞼尤度λeyelidのうち、最も大きい左右の瞼尤度λeyelid_maxを全体の瞼尤度λeyelid_allとして演算する。
本実施形態に係る瞼尤度演算装置によれば、第1〜4の各実施の形態と同様に、全体の瞼尤度λeyelid_allに対する精度が低いほうの瞼の瞼尤度の割合がより小さくなり、これにより全体の瞼尤度λeyelid_allをより良好な精度で演算することができる。
なお、本実施の形態の瞼尤度演算装置によって演算された全体の瞼尤度λeyelid_allは、例えば、瞼の形状を推定する際の尤度として用いることができる。また、例えば、このようにして推定された瞼の形状から、瞼開度を検出することができる。
また、本実施の形態の瞼尤度演算装置を、演算された全体の瞼尤度λeyelid_allに基づいて、瞼モデルを推定し、推定された瞼モデルから、この瞼モデルが表す瞼の瞼開度を検出する瞼開度検出機能を備える構成としてもよい。この場合には、本実施の形態の瞼尤度演算装置は、瞼開度検出装置として用いることが可能である。
[第6の実施の形態]
次に第6の実施の形態について説明する。なお、第1〜5の各実施の形態と同様の構成及び同様の処理については、同一符号を付して、説明を省略する。
本実施の形態において、第4の実施の形態と異なる点は、本実施の形態に係る瞼尤度演算装置のHDD14cには図20に示す瞼尤度演算処理の処理ルーチンを実行するためのプログラムが記憶されており、CPU14dが図20に示す瞼尤度演算処理を実行する点である。同図に図示されるように、ステップ104の次にステップ318が実行され、ステップ122の次にステップ320が実行される。
まず、ステップ318での処理について説明する。ステップ318では、上記ステップ104で抽出した目領域のうち、右目の目領域(右目領域)の画像データから、右目の目頭と目じりとの距離dright_3を検出すると共に、左目の目領域(左目領域)の画像データから、左目の目頭と目じりとの距離dleft_3を検出する。例えば、ステップ318では、非特許文献「C. Harris and M. Stephens, “A combined corner and edge detector”, Proc. Alvey Vision Conf., pp. 147-151, 1988.」に記載の公知技術を用いて、右目の目頭の位置及び右目の目じりの位置、並びに左目の目頭の位置及び左目の目じりの位置を検出し、検出した各位置から、右目の目頭と右目の目じりとの距離dright_3及び左目の目頭と左目の目じりとの距離dleft_3を検出することができる。
ここで、距離dright_3とdleft_3とを比較することにより、目頭と目じりとの距離が短いほうの瞼は、目頭と目じりとの距離が長いほうの瞼に比べて、カメラ12までの距離が大きい(カメラ12からの位置が遠い)と判断することができる。
次に、ステップ320での処理について説明する。ステップ320では、上記ステップ318で検出された右目の目頭と目じりとの距離dright_3及び左目の目頭と目じりとの距離dleft_3に応じて、上記ステップ102で抽出された顔領域を含む画像の画像データが表す顔の画像に含まれる右瞼及び左瞼のうち、顔の画像を含む画像がカメラ12によって撮影された位置に遠いほうの瞼の瞼尤度に対応する大きさが、近い方の瞼の瞼尤度に対応する大きさより小さくなるように定めた重みwright_6及びwleft_6、直近の上記ステップ122で選択された組み合わせの右の比較瞼モデルの右の瞼尤度λr_eyelid、並びに直近の上記ステップ122で選択された組み合わせの左の比較瞼モデルの左の瞼尤度λl_eyelidに基づいて、下記の式(11)に示すように、重みwright_6が付けられた右の瞼尤度λr_eyelidと、重みwleft_6が付けられた左の瞼尤度λl_eyelidとの和((wright_6・λr_eyelid+wleft_6・λl_eyelid)/(wright_6+wleft_6))を両瞼(左右の瞼)の瞼尤度λeyelidとして演算する。
ここで、図21を参照して、ステップ320において、上記ステップ318で検出された右目の目頭と目じりとの距離dright_3及び左目の目頭と目じりとの距離dleft_3に応じて、重みwright_6及び重みwleft_6を定める方法の一例について説明する。なお、本実施の形態では、dright_3及びdleft_3の大小関係によって重みwright_6及び重みwleft_6を定める方法が以下に示すように異なる。
図21(A)は、dleft_3<dright_3の場合におけるdleft_3をdright_3で割った(除算した)値である比(dleft_3/dright_3)と右の瞼尤度λr_eyelidに対応する重みwright_6の大きさとの関係、及び比(dleft_3/dright_3)と左の瞼尤度λl_eyelidに対応する重みwleft_6の大きさとの関係を表す図である。
ここで、比(dleft_3/dright_3)が1である場合には、右の瞼尤度λr_eyelidの精度(信頼性)と左の瞼尤度λl_eyelidの精度とは同一であると考えることができる。
一方、比(dleft_3/dright_3)が1より小さい場合には、左の瞼尤度λl_eyelidの精度は、右の瞼尤度λr_eyelidの精度より悪いと考えることができる。そして、比(dleft_3/dright_3)が1より小さくなればなるほど、左の瞼尤度λl_eyelidの精度が、右の瞼尤度λr_eyelidの精度より悪くなると考えられる。
本実施の形態では、これらのことを考慮して、比(dleft_3/dright_3)が1より小さくなればなるほど、精度が悪くなるほうの瞼尤度の重みを小さくすることにより、全体の瞼尤度λeyelid_allに対する精度が低い(悪い)ほうの瞼の瞼尤度の割合をより小さくするようにしている。これにより全体の瞼尤度λeyelid_allをより良好な精度で演算することができる。
ステップ320では、dleft_3<dright_3である場合には、図21(A)に示すように、左目の目頭と目じりとの距離dleft_3を、右目の目頭と目じりとの距離dright_3で割った値である比(dleft_3/dright_3)を演算して対応する重みwright_6及び重みwleft_6を定める。より具体的には、例えば、dleft_3<dright_3である場合における比(dleft_3/dright_3)が、0.75であるときには、重みwright_6として0.75、及び重みwleft_6として0.25を定める。そして、下記の式(12)に示すように、重み0.75が付けられた右の瞼尤度λr_eyelidと、重み0.25が付けられた左の瞼尤度λl_eyelidとの和λeyelidを演算する。なお、図21(A)の例では、重みwright_6と、重みwleft_6との和は1.0となる。
また、図21(B)は、dleft_3≧dright_3の場合におけるdright_3をdleft_3で割った(除算した)値である比(dright_3/dleft_3)と右の瞼尤度λr_eyelidに対応する重みwright_6の大きさとの関係、及び比(dright_3/dleft_3)と左の瞼尤度λl_eyelidに対応する重みwleft_6の大きさとの関係を表す図である。
ここで、比(dright_3/dleft_3)が1である場合には、右の瞼尤度λr_eyelidの精度(信頼性)と左の瞼尤度λl_eyelidの精度とは同一であると考えることができる。
一方、比(dright_3/dleft_3)が1より小さい場合には、右の瞼尤度λr_eyelidの精度は、左の瞼尤度λl_eyelidの精度より悪いと考えることができる。そして、比(dright_3/dleft_3)が1より小さくなればなるほど、右の瞼尤度λr_eyelidの精度が、左の瞼尤度λl_eyelidの精度より悪くなると考えられる。
本実施の形態では、これらのことを考慮して、比(dright_3/dleft_3)が1より小さくなればなるほど、精度が悪くなるほうの瞼尤度の重みを小さくすることにより、全体の瞼尤度λeyelid_allに対する精度が低い(悪い)ほうの瞼の瞼尤度の割合をより小さくするようにしている。これにより全体の瞼尤度λeyelid_allをより良好な精度で演算することができる。
ステップ320では、dleft_3≧dright_3である場合には、図21(B)に示すように、右目の目頭と目じりとの距離dright_3を、左目の目頭と目じりとの距離dleft_3で割った値である比(dright_3/dleft_3)を演算して対応する重みwright_6及び重みwleft_6を定める。より具体的には、例えば、dleft_3≧dright_3である場合における比(dright_3/dleft_3)が、0.75であるときには、重みwright_6として0.25、及び重みwleft_6として0.75を定める。そして、上記と同様に、和λeyelidを演算する。なお、図21(B)の例においても、重みwright_6と、重みwleft_6との和は1.0となる。
以上、説明したように、本実施形態に係る瞼尤度演算装置は、検出された右目の目頭と目じりとの距離dright_3及び左目の目頭と目じりとの距離dleft_3に応じて、カメラ12によって撮影された画像の右瞼及び左瞼のうちカメラ12によって画像が撮影された位置に遠いほうの瞼の瞼尤度に対応する大きさが、近いほうの瞼の瞼尤度に対応する大きさより小さくなるように定めた、左右の瞼の各々に対応する重みwright_6及びwleft_6のうち右の瞼に対応する重みwright_6を、瞼開度が同一である右の比較瞼モデル及び左の比較瞼モデルの組み合わせにおける右の比較瞼モデルの右の瞼尤度λr_eyelidに重み付けた値(wright_6・λr_eyelid)と、左の瞼に対応する重みwleft_6を、左の比較瞼モデルの左の瞼尤度λl_eyelidに重み付けた値(wleft_6・λl_eyelid)との和((wright_6・λr_eyelid+wleft_6・λl_eyelid)/(wright_6+wleft_6))をこの組み合わせにおける左右の瞼尤度λeyelidとして組み合わせ毎に複数演算する。そして、本実施形態に係る瞼尤度演算装置は、複数演算された組み合わせ毎の左右の瞼尤度λeyelidのうち、最も大きい左右の瞼尤度λeyelid_maxを全体の瞼尤度λeyelid_allとして演算する。
本実施形態に係る瞼尤度演算装置によれば、第1〜5の各実施の形態と同様に、全体の瞼尤度λeyelid_allに対する精度が低いほうの瞼の瞼尤度の割合がより小さくなり、これにより全体の瞼尤度λeyelid_allをより良好な精度で演算することができる。
なお、本実施の形態の瞼尤度演算装置によって演算された全体の瞼尤度λeyelid_allは、例えば、瞼の形状を推定する際の尤度として用いることができる。また、例えば、このようにして推定された瞼の形状から、瞼開度を検出することができる。
また、本実施の形態の瞼尤度演算装置を、演算された全体の瞼尤度λeyelid_allに基づいて、瞼モデルを推定し、推定された瞼モデルから、この瞼モデルが表す瞼の瞼開度を検出する瞼開度検出機能を備える構成としてもよい。この場合には、本実施の形態の瞼尤度演算装置は、瞼開度検出装置として用いることが可能である。
[第7の実施の形態]
次に第7の実施の形態について説明する。なお、第1〜6の各実施の形態と同様の構成及び同様の処理については、同一符号を付して、説明を省略する。
本実施の形態では、まず、上記で詳細を説明した第1〜6の各実施の形態と同様にして、重みwright及び重みwleftの組、重みwright_2及び重みwleft_2の組、重みwright_3及び重みwleft_3の組、重みwright_4及び重みwleft_4の組、重みwright_5及び重みwleft_5の組、並びに重みwright_6及び重みwleft_6の組の少なくとも1つ以上の組を定める。
以下、右の瞼に対応する重みwright、wright_2〜wright_6、及び左の瞼に対応する重みwleft、wleft_2〜wleft_6を定める場合(すなわち、上記の第1〜6の実施の形態の全ての重み(6組の重み)を定める場合)を例に挙げて説明する。この場合には、本実施の形態の瞼尤度演算装置は、第1の実施の形態と同様にして顔の顔向き角度θを検出する検出手段(第1の検出手段)、第2の実施の形態と同様にして右目までの距離dright及び左目までの距離dleftを検出する検出手段(第2の検出手段)、第3の実施の形態と同様にして右耳までの距離dright_2及び左耳までの距離dleft_2を検出する検出手段(第3の検出手段)、第6の実施の形態と同様にして右目の目頭と右目の目じりとの距離dright_3及び左目の目頭と左目の目じりとの距離dleft_3を検出する検出手段(第4の検出手段)、第4の実施の形態と同様にして右目の目領域のコントラストIwright及び左目の目領域のコントラストIwleftを演算する演算手段(第1の演算手段)、及び第5の実施の形態と同様にして右目領域のエッジ強度Ewright及び左目領域のエッジ強度Ewleftを演算する演算手段(第2の演算手段)を備えた処理手段を含んで構成されている。
次に、6組の重みを演算した場合には、以下の式(13)に示すように、本実施の形態において、右の瞼尤度λr_eyelidに重み付けするための重みwright_7を定める。
ただし、
sum:a1・wright×a2・wright_2×a3・wright_3×a4・wright_4×a5・wright_5×a6・wright_6+a1・wleft×a2・wleft_2×a3・wleft_3×a4・wleft_4×a5・wleft_5×a6・wleft_6
である。
ここで、重み係数a1〜a6について説明する。6組の重みを定めた場合には、a1+a2+a3+a4+a5+a6=1という条件を設定し、重み係数a1〜a6を様々に変えたときに瞼開度検出性能が最大になる値を選択する。なお、瞼開度検出性能が最大とは、例えば、瞼開度誤差平均が最小になる場合などをいう。例えば、上記では、6組の重みを定めた場合について説明したが、2組の重みのみを定めた場合(例えば、重みwright、wright_2、及び重みwleft、wleft_2を定めた場合)には、例えば、a1+a2=1という条件を設定する。この場合における重み係数a1の値と、瞼開度誤差平均との関係は、図22に示すような関係となる。なお、図22の例では、重み係数a1=0.6のときに瞼開度誤差平均が最小になるので、重み係数a1=0.6、a1=0.4となる。6組の重みが定められた場合には、同様の原理で、重み係数a1〜a6の各値について選択する。
次に、6組の重みが定められた場合には、以下の式(14)に示すように、本実施の形態において、左の瞼尤度λl_eyelidに重み付けするための重みwleft_7を定める。
ただし、sum及び重み係数a1〜a6については上記で説明したものと同様である。
このようにして定められた重みwright_7及びwleft_7は、カメラ12によって撮影された画像の右瞼及び左瞼のうちカメラ12によって画像が撮影された位置に遠いほうの瞼の瞼尤度に対応する大きさが、近いほうの瞼の瞼尤度に対応する大きさより小さくなるように定めた、左右の瞼の各々に対応する重みである。
そして、右の瞼に対応する重みwright_7を、上記の第1〜6の各実施形態と同様に、瞼開度が同一である右の比較瞼モデル及び左の比較瞼モデルの組み合わせにおける右の比較瞼モデルの右の瞼尤度λr_eyelidに重み付けた値(wright_7・λr_eyelid)と、左の瞼に対応する重みwleft_7を、左の比較瞼モデルの左の瞼尤度λl_eyelidに重み付けた値(wleft_7・λl_eyelid)との和((wright_7・λr_eyelid+wleft_7・λl_eyelid)/(wright_7+wleft_7))をこの組み合わせにおける左右の瞼尤度λeyelidとして組み合わせ毎に複数演算する。
すなわち、検出された顔向き角度θ、右目までの距離dright及び左目までの距離dleft、右耳までの距離dright_2及び左耳までの距離dleft_2、右目の目頭と右目の目じりとの距離dright_3及び左目の目頭と左目の目じりとの距離dleft_3、演算された右目の目領域のコントラストIwright及び左目の目領域のコントラストIwleft、並びに右目領域のエッジ強度Ewright及び左目領域のエッジ強度Ewleftに応じて、カメラ12によって撮影された画像の右瞼及び左瞼のうちカメラ12によって画像が撮影された位置に遠いほうの瞼の瞼尤度に対応する大きさが、近いほうの瞼の瞼尤度に対応する大きさより小さくなるように定めた、左右の瞼の各々に対応する重みwright_7及びwleft_7のうち、右の瞼に対応する重みwright_7を、瞼開度が同一である右の比較瞼モデル及び左の比較瞼モデルの組み合わせにおける右の比較瞼モデルの右の瞼尤度λr_eyelidに重み付けた値(wright_7・λr_eyelid)と、左の瞼に対応する重みwleft_7を、左の比較瞼モデルの左の瞼尤度λl_eyelidに重み付けた値(wleft_7・λl_eyelid)との和((wright_7・λr_eyelid+wleft_7・λl_eyelid)/(wright_7+wleft_7))をこの組み合わせにおける左右の瞼尤度λeyelidとして組み合わせ毎に複数演算する。
そして、上記の第1〜6の各実施形態と同様に、本実施形態に係る瞼尤度演算装置は、複数演算された組み合わせ毎の左右の瞼尤度λeyelidのうち、最も大きい左右の瞼尤度λeyelid_maxを全体の瞼尤度λeyelid_allとして演算する。
本実施形態に係る瞼尤度演算装置によれば、第1〜6の各実施の形態と同様に、全体の瞼尤度λeyelid_allに対する精度が低いほうの瞼の瞼尤度の割合がより小さくなり、これにより全体の瞼尤度λeyelid_allをより良好な精度で演算することができる。
なお、本実施の形態では6組の重みを演算する例について説明したが、本実施の形態の瞼尤度演算装置を以下で説明するような構成とすることで、少なくとも1組の重みを演算するようにしてもよい。すなわち、本実施の形態の瞼尤度演算装置を、上記第1の検出手段、上記第2の検出手段、上記第3の検出手段、上記第4の検出手段、上記第1の演算手段、及び上記第2の演算手段の少なくとも1つの手段を備えた処理手段を含んで構成して、検出された顔向き角度θ、右目までの距離dright及び左目までの距離dleft、右耳までの距離dright_2及び左耳までの距離dleft_2、右目の目頭と右目の目じりとの距離dright_3及び左目の目頭と左目の目じりとの距離dleft_3、演算された右目の目領域のコントラストIwright及び左目の目領域のコントラストIwleft、並びに右目領域のエッジ強度Ewright及び左目領域のエッジ強度Ewleftの少なくとも1つに応じて、カメラ12によって撮影された画像の右瞼及び左瞼のうちカメラ12によって画像が撮影された位置に遠いほうの瞼の瞼尤度に対応する大きさが、近いほうの瞼の瞼尤度に対応する大きさより小さくなるように定めた、左右の瞼の各々に対応する重みwright_7及びwleft_7のうち、右の瞼に対応する重みwright_7を、瞼開度が同一である右の比較瞼モデル及び左の比較瞼モデルの組み合わせにおける右の比較瞼モデルの右の瞼尤度λr_eyelidに重み付けた値(wright_7・λr_eyelid)と、左の瞼に対応する重みwleft_7を、左の比較瞼モデルの左の瞼尤度λl_eyelidに重み付けた値(wleft_7・λl_eyelid)との和((wright_7・λr_eyelid+wleft_7・λl_eyelid)/(wright_7+wleft_7))をこの組み合わせにおける左右の瞼尤度λeyelidとして組み合わせ毎に複数演算するようにしてもよい。
なお、n(n≧1)組の重みを演算する場合には、a1+・・・+an=1という条件を設定して、上記と同様の原理で重み係数a1〜anの各々を決定する。このとき、「sum」は、「a1・wright×・・・×an・wright_n+a1・wleft×・・・×an・wleft_n」となる。
なお、本実施の形態の瞼尤度演算装置によって演算された全体の瞼尤度λeyelid_allは、例えば、瞼の形状を推定する際の尤度として用いることができる。また、例えば、このようにして推定された瞼の形状から、瞼開度を検出することができる。
また、本実施の形態の瞼尤度演算装置を、演算された全体の瞼尤度λeyelid_allに基づいて、瞼モデルを推定し、推定された瞼モデルから、この瞼モデルが表す瞼の瞼開度を検出する瞼開度検出機能を備える構成としてもよい。この場合には、本実施の形態の瞼尤度演算装置は、瞼開度検出装置として用いることが可能である。
[第8の実施の形態]
次に第8の実施の形態について説明する。なお、第1〜7の各実施の形態と同様の構成及び同様の処理については、同一符号を付して、説明を省略する。
本実施の形態において、第1の実施の形態と異なる点は、本実施の形態に係る瞼尤度演算装置のHDD14cには図23に示す瞼尤度演算処理の処理ルーチンを実行するためのプログラムが記憶されており、CPU14dが図23に示す瞼尤度演算処理を実行する点である。同図に図示されるように、ステップ120で肯定判定された場合に、ステップ322が実行され、ステップ322の次にステップ324が実行され、ステップ324の次にステップ326が実行される。
まず、ステップ322での処理について説明する。ステップ322では、上記ステップ112で複数演算された右の瞼尤度λr_eyelidのうち、最大の値の右の瞼尤度λr_eyelid_maxを選択すると共に、上記ステップ118で複数演算された左の瞼尤度λl_eyelidのうち、最大の値の左の瞼尤度λl_eyelid_maxを選択する。
次にステップ324での処理について説明する。ステップ324では、第1の実施の形態と同様に、重みwright及び重みwleftを定めて、重みwrightを右の瞼尤度λr_eyelid_maxに重み付けた値(wright・λr_eyelid_max)、及び重みwleftを左の瞼尤度λl_eyelid_maxに重み付けた値(wleft・λl_eyelid_max)を比較して、大きい方の値を選択する。
次にステップ326での処理について説明する。ステップ326では、上記ステップ324で選択された値を、選択された方の瞼(右の瞼あるいは左の瞼)の瞼尤度とすることにより、選択された方の瞼の瞼尤度を演算する。
本実施形態に係る瞼尤度演算装置によれば、精度が高いほうの瞼の瞼尤度のみを演算するので、より良好な精度で瞼尤度を演算することができる。
なお、本実施の形態では、第1の実施の形態と同様に重みwright及び重みwleftを定める例について説明したが、第2の実施の形態と同様に重みwright_2及び重みwleft_2を定めるようにしてもよい。同様に、第3〜7の各実施の形態のうち、何れかの実施の形態と同様に左右の各瞼(瞼尤度)に対応する重みを定めるようにしてもよい。例えば、本実施の形態の瞼尤度演算装置を、以下で説明するような構成とするようにしてもよい。すなわち、本実施の形態の瞼尤度演算装置を、上記第1の検出手段、上記第2の検出手段、上記第3の検出手段、上記第4の検出手段、上記第1の演算手段、及び上記第2の演算手段の少なくとも1つの手段を備えた処理手段を含んで構成して、検出された顔向き角度θ、右目までの距離dright及び左目までの距離dleft、右耳までの距離dright_2及び左耳までの距離dleft_2、右目の目頭と右目の目じりとの距離dright_3及び左目の目頭と左目の目じりとの距離dleft_3、演算された右目の目領域のコントラストIwright及び左目の目領域のコントラストIwleft、並びに右目領域のエッジ強度Ewright及び左目領域のエッジ強度Ewleftの少なくとも1つに応じて、カメラ12によって撮影された画像の右瞼及び左瞼のうちカメラ12によって画像が撮影された位置に遠いほうの瞼の瞼尤度に対応する大きさが、近いほうの瞼の瞼尤度に対応する大きさより小さくなるように定めた、左右の瞼の各々に対応する重みwright_7及びwleft_7のうち、重みwright_7を右の瞼尤度λr_eyelid_maxに重み付けた値(wright_7・λr_eyelid_max)、及び重みwleft_7を左の瞼尤度λl_eyelid_maxに重み付けた値(wleft_7・λl_eyelid_max)を比較して、大きい方の値を選択し、選択された値を、選択された方の瞼(右の瞼あるいは左の瞼)の瞼尤度とすることにより、選択された方の瞼の瞼尤度を演算するようにしてもよい。
このようにして演算された精度が高い方の瞼の瞼尤度は、例えば、精度が高い方の瞼の形状を推定する際の尤度として用いることができる。また、例えば、このようにして推定された瞼の形状から、精度が高い瞼開度を検出することができる。
また、本実施の形態の瞼尤度演算装置を、演算された瞼尤度に基づいて、瞼モデルを推定し、推定された瞼モデルから、この瞼モデルが表す瞼の瞼開度を検出する瞼開度検出機能を備える構成としてもよい。この場合には、本実施の形態の瞼尤度演算装置は、瞼開度検出装置として用いることが可能である。
[第9の実施の形態]
次に第9の実施の形態について説明する。なお、第1〜8の各実施の形態と同様の構成及び同様の処理については、同一符号を付して、説明を省略する。本実施の形態の瞼尤度演算装置は、瞼開度を検出する瞼開度検出機能を備えており、瞼開度検出装置として用いることが可能である。
本実施の形態において、第8の実施の形態と異なる点は、本実施の形態に係る瞼尤度演算装置のHDD14cには図23に示す瞼尤度演算処理の処理ルーチンを実行するためのプログラムが記憶されると共に、図24に示す瞼開度決定処理の処理ルーチンを実行するためのプログラムが記憶されており、本実施の形態に係る瞼尤度演算装置のCPU14dが、図23に示す瞼尤度演算処理を実行すると共に図24に示す瞼開度決定処理を実行する点である。
図24を参照して、瞼開度決定処理について説明する。まず、ステップ600で、瞼尤度演算処理の上記ステップ106で検出した顔向き角度θが、0度(正面を向いているときの角度を0度とする)、または、(0±β)度の範囲内であるか否かを判定する。これにより、顔が正面(θ=0度の場合)、または、顔がほぼ正面(θが0±β度の範囲内の場合)を向いているか否かを判定することができる。
ステップ600で、顔向き角度θが0度である(または、0±β度の範囲内である)と判定された場合には、次のステップ606に進む。
一方、ステップ600で、顔向き角度θが0度でない(または、0±β度の範囲内でない)と判定された場合には、次のステップ602へ進む。
なお、ステップ600は省略可能であり、瞼開度決定処理は、次のステップ602から処理を開始するようにしてもよい。
次のステップ602では、目尤度演算処理(図23参照)の上記ステップ324において重み付けられた値(wright・λr_eyelid_max)が所定の基準値α以上であり、かつ上記ステップ324において重み付けられた値(wleft・λl_eyelid_max)が所定の基準値α以上であるか否かを判定する。このように判定することで、重み付けが行われた(すなわち補正後の)右瞼の尤度及び左瞼の尤度の各々に対応する(比較)瞼モデルが信頼できるものであるか否かを判断することができる。
ステップ602で、(wright・λr_eyelid_max)が所定の基準値α以上であり、かつ(wleft・λl_eyelid_max)が所定の基準値α以上であると判定された場合には、対応する両瞼の各比較瞼モデルが信頼できるものであると判断して、次のステップ604へ進む。
ステップ604では、所定の基準値α以上であると判定された、重み付けされた右の瞼尤度(wright・λr_eyelid_max)に対応する右瞼の比較瞼モデルから、この比較瞼モデルの瞼開度(右瞼の瞼開度)orightを検出する。また、同様に、所定の基準値α以上であると判定された、重み付けされた左の瞼尤度(wleft・λl_eyelid_max)に対応する左瞼の比較瞼モデルから、この比較瞼モデルの瞼開度(左瞼の瞼開度)oleftを検出する。そして、検出した右瞼の瞼開度oright及び左瞼の瞼開度oleftの比率(例えば、oright/oleft)を演算する。そして、演算された比率をRAM14eまたはHDD14cに記憶させる。これにより、左右両方の瞼モデルが信頼性の高い場合に検出した左右の瞼開度の比を演算することができる。この左右の瞼開度の比は、例えば、後述するように、右瞼の瞼モデル及び左瞼の瞼モデルのどちらか一方のみ信頼性が高い場合に、信頼性の低い瞼モデルの瞼開度を精度良く検出したいときに用いることができる。より具体的には、信頼性が高いとされたほうの瞼モデルからこの瞼モデルが表す瞼の瞼開度を検出して、この検出された瞼開度及び比率から、信頼性が低いとされたほうの瞼の瞼開度を演算することにより、精度良く信頼性の低い瞼モデルに対応する瞼の瞼開度を検出することができる。
次のステップ606では、RAM14eまたはHDD14cに上記比率が記憶されているか否かを判定する。
ステップ606で上記比率が記憶されていると判定された場合には、次のステップ608へ進む。
ステップ608では、上記比率をRAM14eまたはHDD14cから読み込む。そして、瞼尤度演算処理の上記ステップ326で瞼尤度が演算された方の瞼の瞼モデルから、この瞼モデルが表す瞼の瞼開度を検出する。そして、検出された瞼開度及び読み込んだ上記比率から、瞼開度が検出されていない方の瞼の瞼開度を演算することにより、瞼尤度が低い方の瞼の瞼開度を検出する。
次のステップ610では、上記ステップ608で検出された両瞼の各瞼開度を、図示しない出力装置(例えば、表示装置や音声出力装置など)に出力する。そして、瞼開度検出処理を終了する。これにより、精度が良い両瞼の瞼開度が出力装置から出力される。例えば、出力装置が表示装置である場合には、両瞼の瞼開度が表示され、出力装置が音声出力装置である場合には、両瞼の瞼開度が音声で出力される。
一方、ステップ606で、上記比率が記憶されていないと判定された場合には、次のステップ612へ進む。
ステップ612では、瞼尤度演算処理の上記ステップ326で瞼尤度が演算された方の瞼の瞼モデルから、この瞼モデルが表す瞼の瞼開度を検出する。そして、検出された瞼開度を、図示しない出力装置(例えば、表示装置や音声出力装置など)に出力する。これにより、出力装置から瞼開度が出力される。そして、瞼開度検出処理を終了する。
本実施の形態の瞼開度検出機能を有した瞼尤度演算装置は、右の瞼に対応する重みwrightを最大の右の瞼尤度λr_eyelid_maxに重み付けた値(wright・λr_eyelid_max)、及び左の瞼に対応する重みwleftを最大の左の瞼尤度λl_eyelid_maxに重み付けた値(wleft・λl_eyelid_max)が共に所定の基準値以上である場合に、最大の右の瞼尤度λr_eyelid_maxの右の比較瞼モデルが表す右瞼の瞼開度oright及び最大の左の瞼尤度λl_eyelid_maxの左の比較瞼モデルが表す左瞼の瞼開度oleftを検出し、検出された右瞼の瞼開度oright及び左瞼の瞼開度oleftの比率(例えば、oright/oleft)を演算し、上記ステップ326で演算された瞼尤度の比較瞼モデルが表す瞼の瞼開度を検出すると共に、この検出された瞼開度及び比率に基づいて、瞼開度が検出されていない方の瞼の瞼開度を演算することにより、瞼尤度が低い方の瞼の瞼開度を検出する。
これにより、精度良く信頼性の低い瞼モデルに対応する瞼の瞼開度を検出することができる。
なお、本実施の形態では、第1の実施の形態と同様に重みwright及び重みwleftを定める例について説明したが、第2の実施の形態と同様に重みwright_2及び重みwleft_2を定めるようにしてもよい。同様に、第3〜8の各実施の形態のうち、何れかの実施の形態と同様に左右の各瞼(瞼尤度)に対応する重みを定めるようにしてもよい。例えば、本実施の形態の瞼尤度演算装置を、以下で説明するような構成とするようにしてもよい。すなわち、本実施の形態の瞼尤度演算装置を、上記第1の検出手段、上記第2の検出手段、上記第3の検出手段、上記第4の検出手段、上記第1の演算手段、及び上記第2の演算手段の少なくとも1つの手段を備えた処理手段を含んで構成して、検出された顔向き角度θ、右目までの距離dright及び左目までの距離dleft、右耳までの距離dright_2及び左耳までの距離dleft_2、右目の目頭と右目の目じりとの距離dright_3及び左目の目頭と左目の目じりとの距離dleft_3、演算された右目の目領域のコントラストIwright及び左目の目領域のコントラストIwleft、並びに右目領域のエッジ強度Ewright及び左目領域のエッジ強度Ewleftの少なくとも1つに応じて、カメラ12によって撮影された画像の右瞼及び左瞼のうちカメラ12によって画像が撮影された位置に遠いほうの瞼の瞼尤度に対応する大きさが、近いほうの瞼の瞼尤度に対応する大きさより小さくなるように定めた、左右の瞼の各々に対応する重みwright_7及びwleft_7のうち、重みwright_7を右の瞼尤度λr_eyelid_maxに重み付けた値(wright_7・λr_eyelid_max)、及び重みwleft_7を左の瞼尤度λl_eyelid_maxに重み付けた値(wleft_7・λl_eyelid_max)を比較して、大きい方の値を選択し、選択された値を、選択された方の瞼(右の瞼あるいは左の瞼)の瞼尤度とすることにより、選択された方の瞼の瞼尤度を演算するようにしてもよい。そして、本実施の形態の瞼尤度演算装置は、右の瞼に対応する重みwright_7を、最大の右の瞼尤度λr_eyelid_maxに重み付けた値(wright_7・λr_eyelid_max)、及び左の瞼に対応する重みwleft_7を、最大の左の瞼尤度λl_eyelid_maxに重み付けた値(wleft_7・λl_eyelid_max)が共に所定の基準値以上である場合に、最大の右の瞼尤度λr_eyelid_maxの右の比較瞼モデルが表す右瞼の瞼開度oright及び最大の左の瞼尤度λl_eyelid_maxの左の比較瞼モデルが表す左瞼の瞼開度oleftを検出し、検出された右瞼の瞼開度oright及び左瞼の瞼開度oleftの比率(例えば、oright/oleft)を演算し、上記ステップ326で演算された瞼尤度の比較瞼モデルが表す瞼の瞼開度を検出すると共に、この検出された瞼開度及び比率に基づいて、瞼開度が検出されていない方の瞼の瞼開度を演算することにより、瞼尤度が低い方の瞼の瞼開度を検出するようにしてもよい。
[第10の実施の形態]
次に第10の実施の形態について説明する。なお、第1〜9の各実施の形態と同様の構成及び同様の処理については、同一符号を付して、説明を省略する。本実施の形態の瞼尤度演算装置は、例えば、図25に示すように、カメラ12の撮影対象である人物50が眼鏡52をかけている場合に、この眼鏡52のレンズ54によって光が反射されて、撮影した人物の画像56の目領域の部分の画像58の輝度が高くなることにより、正確に瞼の瞼尤度が演算できないときに、精度良く瞼尤度を演算することができるほうの瞼の瞼尤度のみを演算するようにしたものである。例えば、図25の例では眼鏡52の左側のレンズ54から光が反射されており、左目の目領域の部分の輝度が高くなっている。このような場合に、右瞼の瞼尤度のみを演算するようにしたものである。
本実施の形態において、第8の実施の形態と異なる点は、本実施の形態に係る瞼尤度演算装置のHDD14cには図26に示す瞼尤度演算処理の処理ルーチンを実行するためのプログラムが記憶されており、CPU14dが図26に示す瞼尤度演算処理を実行する点である。同図に図示されるように、ステップ108の次にステップ328が実行され、ステップ328の次にステップ330が実行され、ステップ330で肯定判定がされた場合にステップ110へ進み、ステップ330で否定判定及びステップ114で肯定判定がされた場合にステップ332が実行される。そして、ステップ332で肯定判定がされた場合にはステップ116に進む。一方、ステップ332で否定判定及びステップ120で肯定判定がされた場合にはステップ334が実行される。ステップ334で肯定判定がされた場合には次のステップ322が実行される。一方、ステップ334で否定判定がされた場合にはステップ336が実行される。ステップ336で肯定判定がされた場合には、次にステップ338が実行され、ステップ338の次にステップ340が実行され、そして、ステップ326に進む。一方、ステップ336で否定判定がされた場合には、次にステップ342が実行され、ステップ342で肯定判定がされた場合には、次にステップ344が実行され、ステップ344の次にステップ346が実行され、そして、ステップ326に進む。また、ステップ342で否定判定がされた場合には、瞼尤度演算処理を終了する。
まず、ステップ328での処理について説明する。ステップ328では、高輝度画素領域面積比演算処理を実行する。
図27を参照して高輝度画素領域面積比演算処理について説明する。まず、ステップ700では、瞼尤度演算処理(図26参照)の上記ステップ104で抽出された目領域のうち右目の目領域の画素数を特定する。
次のステップ702では、図28に示すように、上記ステップ104で抽出された目領域のうち、右目の目領域の画像58の画像データに対して、所定の閾値K(例えばK=200)より大きい画素値を有する画素の画素値を255と設定すると共に、所定の閾値K以下の画素値を有する画素の画素値を0と設定する二値化処理を実行する。これにより、右目領域の画像58の各画素が、黒画素(画素値が255の画素)と、白画素(画素値が0の画素)とになる。
次のステップ704では、上記ステップ700で特定された右目の目領域の画素数に対する上記ステップ702での二値化処理によって得られた白画素の数の割合を第1の割合(右目領域の高輝度画素領域面積比)Rrightとして演算することにより、右目領域の画素数に対する所定の輝度(すなわち閾値K)以上の画素数の割合である第1の割合(右目領域の高輝度画素領域面積比)Rrightを演算する。なお、図28の例では、右目領域の高輝度画素領域面積比Rrightとして0(0%)が演算される。
次のステップ706では、上記ステップ104で抽出された目領域のうち左目の目領域の画素数を特定する。
次のステップ708では、上記ステップ104で抽出された目領域のうち、左目の目領域の画像58の画像データに対して、所定の閾値K(例えばK=200)より大きい画素値を有する画素の画素値を255と設定すると共に、所定の閾値K以下の画素値を有する画素の画素値を0と設定する二値化処理を実行する。これにより、左目領域の画像58が、黒画素(画素値が255の画素)と、白画素(画素値が0の画素)とになる。
次のステップ710では、上記ステップ706で特定された左目の目領域の画素数に対する上記ステップ708での二値化処理によって得られた白画素の数の割合を第2の割合(左目領域の高輝度画素領域面積比)Rleftとして演算することにより、左目領域の画素数に対する所定の輝度(すなわち閾値K)以上の画素数の割合である第2の割合(左目領域の高輝度画素領域面積比)Rleftを演算する。なお、図28の例では、左目領域の高輝度画素領域面積比Rleftとして0.54(54%)が演算される。そして、高輝度画素領域面積比演算処理を終了する。
以上、ステップ328で実行する高輝度画素領域面積比演算処理について説明した。
次のステップ330では、上記ステップ704で演算された右目領域の高輝度画素領域面積比Rrightと所定値γ(例えば0.4(40%))とを比較して、右目領域の高輝度画素領域面積比Rrightが所定値γ以下であるか否かを判定する。なお、右目領域の高輝度画素領域面積比Rrightが所定値γ以下であると判定された場合には、右目領域の画像58から精度良く瞼尤度を演算することが可能であると判断できる。一方、右目領域の高輝度画素領域面積比Rrightが所定値γより大きいと判定された場合には、右目領域の画像58から精度良く瞼尤度を演算することが可能でないと判断できる。
ステップ330で、右目領域の高輝度画素領域面積比Rrightが所定値γ以下であると判定された場合には、ステップ110へ進む。一方、ステップ330で、右目領域の高輝度画素領域面積比Rrightが所定値γより大きいと判定された場合には、ステップ332へ進む。ステップ332へ進むことにより、ステップ110〜114の処理を実行せずに省略することができる。
ステップ332では、上記ステップ710で演算された左目領域の高輝度画素領域面積比Rleftと所定値γ(例えば0.4(40%))とを比較して、左目領域の高輝度画素領域面積比Rleftが所定値γ以下であるか否かを判定する。左目領域の高輝度画素領域面積比Rleftが所定値γ以下であると判定された場合には、左目領域の画像58から精度良く瞼尤度を演算することが可能であると判断できる。一方、左目領域の高輝度画素領域面積比Rleftが所定値γより大きいと判定された場合には、左目領域の画像58から精度良く瞼尤度を演算することが可能でないと判断できる。
ステップ332で、左目領域の高輝度画素領域面積比Rleftが所定値γ以下であると判定された場合には、ステップ116へ進む。一方、ステップ332で、左目領域の高輝度画素領域面積比Rleftが所定値γより大きいと判定された場合には、ステップ334へ進む。ステップ334へ進むことにより、ステップ116〜120の処理を実行せずに省略することができる。
ステップ334では、右目領域の高輝度画素領域面積比Rrightが所定値γ以下であり、かつ左目領域の高輝度画素領域面積比Rleftが所定値γ以下であるか否かを判定する。
ステップ334で、右目領域の高輝度画素領域面積比Rrightが所定値γ以下であり、かつ左目領域の高輝度画素領域面積比Rleftが所定値γ以下であると判定された場合には、ステップ322へ進む。
一方、ステップ334で、右目領域の高輝度画素領域面積比Rrightが所定値γ以下であり、かつ左目領域の高輝度画素領域面積比Rleftが所定値γ以下でないと判定された場合には、ステップ336へ進む。
ステップ336では、右目領域の高輝度画素領域面積比Rrightが所定値γ以下であるか否かを判定する。ステップ336で、右目領域の高輝度画素領域面積比Rrightが所定値γ以下であると判定された場合には、ステップ338へ進む。
ステップ338では、上記ステップ112で複数演算された右の瞼尤度λr_eyelidのうち、最大の値の右の瞼尤度λr_eyelid_maxを選択する。
次のステップ340では、第8(1)の実施の形態と同様に、重みwrightを定めて、重みwrightを右の瞼尤度λr_eyelid_maxに重み付けた値(wright・λr_eyelid_max)を選択する。そしてステップ326へ進む。
一方、ステップ336で、右目領域の高輝度画素領域面積比Rrightが所定値γより大きいと判定された場合には、ステップ342へ進む。
ステップ342では、左目領域の高輝度画素領域面積比Rleftが所定値γ以下であるか否かを判定する。ステップ342で、左目領域の高輝度画素領域面積比Rleftが所定値γ以下であると判定された場合には、ステップ344へ進む。
ステップ344では、上記ステップ118で複数演算された左の瞼尤度λl_eyelidのうち、最大の値の左の瞼尤度λl_eyelid_maxを選択する。
次のステップ346では、第8(1)の実施の形態と同様に、重みwleftを定めて、重みwleftを左の瞼尤度λl_eyelid_maxに重み付けた値(wleft・λl_eyelid_max)を選択する。そしてステップ326へ進む。
一方、ステップ342で、左目領域の高輝度画素領域面積比Rleftが所定値γより大きいと判定された場合には、瞼尤度演算処理を終了する。
以上、説明したように、本実施の形態の瞼尤度演算装置は、第1の割合(右目領域の高輝度画素領域面積比)Rright及び第2の割合(左目領域の高輝度画素領域面積比Rleft)を演算し、第1の割合が所定値γ以下の場合にのみ右の瞼尤度λr_eyelidを演算すると共に、第2の割合が所定値γ以下の場合にのみ左の瞼尤度λl_eyelidを演算する。そして、本実施の形態の瞼尤度演算装置は、顔向き角度θに応じて、カメラ12によって撮影された画像の右瞼及び左瞼のうちカメラ12によって画像が撮影された位置に遠いほうの瞼の瞼尤度に対応する大きさが、近いほうの瞼の瞼尤度に対応する大きさより小さくなるように定めた、左右の瞼の各々に対応する重みwright及びwleftのうち、第1の割合が所定値γ以下でありかつ第2の割合が所定値γ以下である場合には、右の瞼に対応する重みwrightを右の瞼尤度λr_eyelid_maxに重み付けた値(wright・λr_eyelid_max)、及び左の瞼に対応する重みwleftを左の瞼尤度λl_eyelid_maxに重み付けた値(wleft・λl_eyelid_max)のうち大きいほうの値を選択すると共に、第1の割合及び第2の割合の一方の割合のみが所定値γ以下である場合には、瞼尤度が演算された方の瞼(第1の割合または第2の割合が所定値以下となる方の瞼)の最大の瞼尤度(右の瞼尤度λr_eyelid_maxまたは左の瞼尤度λl_eyelid_max)に、この瞼に対応する重み(重みwrightまたは重みwleft)を重み付けた値((wright・λr_eyelid_max)または(wleft・λl_eyelid_max))を選択する。これにより、精度良く瞼尤度を演算することができないほうの瞼の瞼尤度を複雑な演算によって演算することなく、より簡易に瞼尤度を演算することができる。
なお、本実施の形態では、第1の実施の形態と同様に重みwright及び重みwleftを定める例について説明したが、第2の実施の形態と同様に重みwright_2及び重みwleft_2を定めるようにしてもよい。同様に、第3〜8の各実施の形態のうち、何れかの実施の形態と同様に左右の各瞼(瞼尤度)に対応する重みを定めるようにしてもよい。例えば、本実施の形態の瞼尤度演算装置を、以下で説明するような構成とするようにしてもよい。すなわち、本実施の形態の瞼尤度演算装置を、上記第1の検出手段、上記第2の検出手段、上記第3の検出手段、上記第4の検出手段、上記第1の演算手段、及び上記第2の演算手段の少なくとも1つの手段を備えた処理手段を含んで構成して、検出された顔向き角度θ、右目までの距離dright及び左目までの距離dleft、右耳までの距離dright_2及び左耳までの距離dleft_2、右目の目頭と右目の目じりとの距離dright_3及び左目の目頭と左目の目じりとの距離dleft_3、演算された右目の目領域のコントラストIwright及び左目の目領域のコントラストIwleft、並びに右目領域のエッジ強度Ewright及び左目領域のエッジ強度Ewleftの少なくとも1つに応じて、カメラ12によって撮影された画像の右瞼及び左瞼のうちカメラ12によって画像が撮影された位置に遠いほうの瞼の瞼尤度に対応する大きさが、近いほうの瞼の瞼尤度に対応する大きさより小さくなるように定めた、左右の瞼の各々に対応する重みwright_7及びwleft_7のうち、第1の割合が所定値γ以下でありかつ第2の割合が所定値γ以下である場合には、右の瞼に対応する重みwright_7を右の瞼尤度λr_eyelid_maxに重み付けた値(wright_7・λr_eyelid_max)、及び左の瞼に対応する重みwleft_7を左の瞼尤度λl_eyelid_maxに重み付けた値(wleft_7・λl_eyelid_max)のうち大きいほうの値を選択すると共に、第1の割合及び第2の割合の一方の割合のみが所定値γ以下である場合には、瞼尤度が演算された方の瞼(第1の割合または第2の割合が所定値以下となる方の瞼)の最大の瞼尤度(右の瞼尤度λr_eyelid_maxまたは左の瞼尤度λl_eyelid_max)に、この瞼に対応する重み(重みwright_7または重みwleft_7)を重み付けた値((wright_7・λr_eyelid_max)または(wleft_7・λl_eyelid_max))を選択するようにしてもよい。
また、本実施の形態においてステップ326で演算された精度が高い瞼尤度は、例えば、瞼の形状を推定する際の尤度として用いることができる。また、例えば、このようにして推定された瞼の形状から、精度が高い瞼開度を検出することができる。
また、本実施の形態の瞼尤度演算装置を、演算された瞼尤度に基づいて、瞼モデルを推定し、推定された瞼モデルから、この瞼モデルが表す瞼の瞼開度を検出する瞼開度検出機能を備える構成としてもよい。この場合には、本実施の形態の瞼尤度演算装置は、瞼開度検出装置として用いることが可能である。
[第11の実施の形態]
次に第11の実施の形態について説明する。なお、第1〜10の各実施の形態と同様の構成及び同様の処理については、同一符号を付して、説明を省略する。本実施の形態の瞼尤度演算装置は、例えば、図25に示すように、カメラ12の撮影対象である人物50が眼鏡52をかけている場合に、この眼鏡52のレンズ54によって光が反射されて、撮影した人物の画像56の目領域の部分の画像58の輝度が高くなることにより、正確に瞼の瞼尤度が演算できない場合に、精度良く瞼尤度を演算することができないほうの瞼の瞼尤度を、所定の第1の値(例えば0)とすることにより、左右の瞼尤度を演算するようにしたものである。例えば、図25の例では眼鏡52の左側のレンズ54から光が反射されており、左目の目領域の部分の輝度が高くなっている。このような場合に、例えば、左瞼の瞼尤度を所定の第1の値とすることにより、左瞼の瞼尤度を演算するようにしたものである。
本実施の形態において、第10の実施の形態と異なる点は、本実施の形態に係る瞼尤度演算装置のHDD14cには図29に示す瞼尤度演算処理の処理ルーチンを実行するためのプログラムが記憶されており、CPU14dが図29に示す瞼尤度演算処理を実行する点である。同図に図示されるように、ステップ330で否定判定がされた場合には、ステップ348が実行され、ステップ348の次、及びステップ114で肯定判定された場合にステップ332が実行される。また、ステップ332で否定判定がされた場合には、ステップ350が実行され、ステップ350の次、及びステップ120で肯定判定された場合にステップ352が実行され、ステップ352の次にステップ324が実行される。
まず、ステップ348の処理について説明する。ステップ348では、所定の第1の値(例えば0)を、右の瞼尤度λr_eyelidとすることにより、右の瞼尤度λr_eyelidを演算する。この所定の第1の値は、0に限られないが、ステップ326で選択されにくくなるような値が好ましい。
次に、ステップ350の処理について説明する。ステップ350では、所定の第1の値(例えば0)を、左の瞼尤度λl_eyelidとすることにより、左の瞼尤度λl_eyelidを演算する。この所定の第1の値は、上記と同様に、0に限られないが、ステップ326で選択されにくくなるような値が好ましい。
次に、ステップ352の処理について説明する。ステップ352では、演算された右の瞼尤度λr_eyelidのうち、最大の右の瞼尤度λr_eyelid_maxを選択すると共に、演算された左の瞼尤度λl_eyelidのうち、最大の左の瞼尤度λl_eyelid_maxを選択する。
以上説明したように、本実施の形態の瞼尤度演算装置は、第1の割合(右目領域の高輝度画素領域面積比)Rright及び第2の割合(左目領域の高輝度画素領域面積比)Rleftを演算し、第1の割合が所定値γより大きい場合に、所定の第1の値を右の瞼尤度λr_eyelidとすることにより、右の瞼尤度λr_eyelidを演算すると共に、第2の割合が所定値γより大きい場合に、所定の第1の値を左の瞼尤度λl_eyelidとすることにより、左の瞼尤度λl_eyelidを演算する。そして、本実施の形態の瞼尤度演算装置は、顔向き角度θに応じて、カメラ12によって撮影された画像の右瞼及び左瞼のうちカメラ12によって画像が撮影された位置に遠いほうの瞼の瞼尤度に対応する大きさが、近いほうの瞼の瞼尤度に対応する大きさより小さくなるように定めた、左右の瞼の各々に対応する重みwright及びwleftのうち、右の瞼に対応する重みwrightを右の瞼尤度λr_eyelid_maxに重み付けた値(wright・λr_eyelid_max)、及び左の瞼に対応する重みwleftを左の瞼尤度λl_eyelid_maxに重み付けた値(wleft・λl_eyelid_max)のうち大きいほうの値を選択する。これにより、精度良く瞼尤度を演算することができないほうの瞼の瞼尤度を複雑な演算によって演算することなく、所定の第1の値としているので、より簡易に瞼尤度を演算することができる。
なお、本実施の形態では、第1の実施の形態と同様に重みwright及び重みwleftを定める例について説明したが、第2の実施の形態と同様に重みwright_2及び重みwleft_2を定めるようにしてもよい。同様に、第3〜8の各実施の形態のうち、何れかの実施の形態と同様に左右の各瞼(瞼尤度)に対応する重みを定めるようにしてもよい。例えば、本実施の形態の瞼尤度演算装置を、以下で説明するような構成とするようにしてもよい。すなわち、本実施の形態の瞼尤度演算装置を、上記第1の検出手段、上記第2の検出手段、上記第3の検出手段、上記第4の検出手段、上記第1の演算手段、及び上記第2の演算手段の少なくとも1つの手段を備えた処理手段を含んで構成して、検出された顔向き角度θ、右目までの距離dright及び左目までの距離dleft、右耳までの距離dright_2及び左耳までの距離dleft_2、右目の目頭と右目の目じりとの距離dright_3及び左目の目頭と左目の目じりとの距離dleft_3、演算された右目の目領域のコントラストIwright及び左目の目領域のコントラストIwleft、並びに右目領域のエッジ強度Ewright及び左目領域のエッジ強度Ewleftの少なくとも1つに応じて、カメラ12によって撮影された画像の右瞼及び左瞼のうちカメラ12によって画像が撮影された位置に遠いほうの瞼の瞼尤度に対応する大きさが、近いほうの瞼の瞼尤度に対応する大きさより小さくなるように定めた、左右の瞼の各々に対応する重みwright_7及びwleft_7のうち、右の瞼に対応する重みwright_7を右の瞼尤度λr_eyelid_maxに重み付けた値(wright_7・λr_eyelid_max)、及び左の瞼に対応する重みwleft_7を左の瞼尤度λl_eyelid_maxに重み付けた値(wleft_7・λl_eyelid_max)のうち大きいほうの値を選択するようにしてもよい。
また、本実施の形態においてステップ326で演算された精度が高い瞼尤度は、例えば、瞼の形状を推定する際の尤度として用いることができる。また、例えば、このようにして推定された瞼の形状から、精度が高い瞼開度を検出することができる。
また、本実施の形態の瞼尤度演算装置を、演算された瞼尤度に基づいて、瞼モデルを推定し、推定された瞼モデルから、この瞼モデルが表す瞼の瞼開度を検出する瞼開度検出機能を備える構成としてもよい。この場合には、本実施の形態の瞼尤度演算装置は、瞼開度検出装置として用いることが可能である。