以下、添付図面を参照しながら各実施例について詳細に説明する。
図1は、一実施例による目検出装置1の構成図である。
目検出装置1は、カメラ10と、処理装置100とを含む。目検出装置1は、移動物や固定物を含む任意の物に実装されてよいが、例えば携帯電話やスマートフォン、タブレット端末のような携帯型の端末装置に実装されてよい。以下では、一例として、目検出装置1が端末装置に実装される場合について説明する。
カメラ10は、ユーザの顔の画像を取得する。カメラ10は、例えば端末装置の画面側に搭載されるインカメラ(デジタルカメラ)であってよい。カメラの光電変換素子は、CCD(charge-coupled device)やCMOS(complementary metal oxide semiconductor)などであってよい。カメラ10の画角は、任意であるが、比較的狭い画角であってもよい。例えば、カメラ10は、ユーザの顔のの一部分しか映らない画角(狭角、望遠)のレンズを搭載していてもよい。
処理装置100は、目検出部132と、画面表示制御部134とを含む。目検出部132及び画面表示制御部134の機能は後述する。尚、処理装置100は、複数の処理装置により協動して実現されてもよい。
図2は、処理装置100のハードウェア構成の一例を示す図である。
図2に示す例では、処理装置100は、制御部101、主記憶部102、補助記憶部103、ドライブ装置104、ネットワークI/F部106、入力部107を含む。
制御部101は、主記憶部102や補助記憶部103に記憶されたプログラムを実行する演算装置であり、入力部107や記憶装置からデータを受け取り、演算、加工した上で、記憶装置などに出力する。
主記憶部102は、ROM(Read Only Memory)やRAM(Random Access Memory)などであり、制御部101が実行する基本ソフトウェアであるOSやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
補助記憶部103は、HDD(Hard Disk Drive)などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。
ドライブ装置104は、記録媒体105、例えばフレキシブルディスクからプログラムを読み出し、記憶装置にインストールする。
記録媒体105は、所定のプログラムを格納する。この記録媒体105に格納されたプログラムは、ドライブ装置104を介して処理装置100にインストールされる。インストールされた所定のプログラムは、処理装置100により実行可能となる。
ネットワークI/F部106は、有線及び/又は無線回線などのデータ伝送路により構築されたネットワークを介して接続された通信機能を有する周辺機器と処理装置100とのインターフェースである。
入力部107は、カーソルキー、数字入力及び各種機能キー等を備えたキーボード、マウスやスライスパット等を有する。
尚、図2に示す例において、以下で説明する各種処理等は、プログラムを処理装置100に実行させることで実現することができる。また、プログラムを記録媒体105に記録し、このプログラムが記録された記録媒体105を処理装置100に読み取らせて、以下で説明する各種処理等を実現させることも可能である。なお、記録媒体105は、様々なタイプの記録媒体を用いることができる。例えば、CD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的、電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等であってよい。なお、記録媒体105には、搬送波は含まれない。
図3は、処理装置100により実行される処理の一例を示すフローチャートである。
ステップ300では、画面表示制御部134は、端末装置の画面の表示がオン状態であるか否かを判定する。端末装置の画面がオン状態である場合は、ステップ302に進み、それ以外の場合は、ステップ310に進む。
ステップ302では、目検出部132は、カメラ10から画像を取り込む。
ステップ304では、目検出部132は、上記ステップ302で取り込んだ画像(入力画像)に基づいて目検出処理を実行する。目検出処理については後述する。
ステップ306では、画面表示制御部134は、上記ステップ304の目検出処理に基づいて、画像内に目が検出されたか否かを判定する。画像内に目が検出されたか否かは、後述の目検出結果フラグに基づいて判定されてよい。画像内に目が検出された場合は、ステップ310に進み、それ以外の場合は、ステップ308に進む。
ステップ308では、画面表示制御部134は、端末装置の画面の表示をオフする。尚、この際、画面表示制御部134は、他のオフ条件を判断した上で、端末装置の画面の表示をオフすることとしてよい。他のオフ条件は、例えば端末装置が所定時間以上操作されていないこと等を含んでよい。画面表示制御部134は、端末装置の画面の表示をオフすることに代えて、端末装置の画面の表示輝度を低下させることとしてもよい。
ステップ310では、画面表示制御部134は、一定時間待機してからステップ300に戻り、ステップ300からの処理を繰り返す。
図3に示す処理によれば、カメラ10からの画像内に目が検出された場合に、端末装置の画面の表示のオン状態が維持される。これにより、ユーザが操作せずに画面の表示を眺めているときに、端末装置の画面の表示がオフしてしまう不都合を抑制できる。また、カメラ10からの画像内に目が検出されない場合には、端末装置の画面の表示がオフされる。これにより、ユーザが画面を眺めていないときは、節電を図り、端末装置の不要な消費電力を低減できる。
図4は、目検出処理の一例を示すフローチャートである。
ステップ400では、目検出部132は、目検出結果フラグに初期値FALSEを設定する。
ステップ402では、目検出部132は、入力画像から輝度成分画像を取り出す。例えば入力画像がカラー画像である場合、目検出部132は、各画素の色情報を含まず各画素の輝度情報のみを含む輝度成分画像を取り出す。
ステップ404では、目検出部132は、輝度成分画像に基づいて、輝度成分画像の全画素の輝度勾配方向と輝度勾配強度を取り出す。図5(A)に示すような横方向勾配フィルタ及び図5(B)に示すような縦方向勾配フィルタを輝度成分画像にそれぞれ適用して輝度成分画像を取り出す。尚、図5に示す横方向勾配フィルタ及び縦方向勾配フィルタは、Sobelフィルタであるが、他のフィルタが用いられてもよい。例えば、図5に示す横方向勾配フィルタ及び縦方向勾配フィルタにおける"2"及び"−2"は、"1"及び"−1"にそれぞれ置換されてもよい。図6に示す例では、横方向勾配フィルタ及び縦方向勾配フィルタは、模式的に矩形62で示される。横方向勾配フィルタ及び縦方向勾配フィルタは、図6にて矩形62の動きを矢印で模式的に示すように、輝度成分画像60の全画素に適用される。このようにして目検出部132は、横方向勾配フィルタ及び縦方向勾配フィルタの適用結果に基づいて、全画素の輝度勾配方向と輝度勾配強度を取り出す。輝度勾配方向は、図7に示すように、横方向(X方向)のベクトルaと縦方向(Y方向)のベクトルbの合成ベクトルcの方向である。尚、輝度勾配方向は、図7に示すように、合成ベクトルcと縦方向とのなす角度αとして定義されてもよい。ベクトルaの大きさは、横方向勾配フィルタを適用して得られる値であり、ベクトルbの大きさは、縦方向勾配フィルタを適用して得られる値である。このようにして、目検出部132は、輝度成分画像の全画素について輝度勾配方向と輝度勾配強度を算出する。尚、以下では、「輝度勾配方向」を単に「勾配方向」とも称し、「輝度勾配強度」を単に「勾配強度」とも称する。
ステップ406では、目検出部132は、輝度成分画像に基づいて、目領域探索の基準座標を全て取り出し、基準座標リストに格納する。基準座標は、目の中心付近の座標と推定(又は仮定)される座標である。基準座標リストに格納される基準座標は、実際には目の中心付近の座標でないものを含みうる。基準座標リストに格納される基準座標は、任意の態様で設定されてもよく、例えば全画素であってもよい。但し、演算処理負荷を低減するために、基準座標は、例えば虹彩らしい領域(黒目部分)の検出結果に基づいて、虹彩らしい領域内に設定されてもよい。より具体的には、目検出部132は、図8(A)に示すように、特許文献3に開示の方法に従って目検出器64を輝度成分画像60に対して走査し、各目検出器64の中心座標を基準座標として設定してもよい。このとき、目検出部132は、スコアが所定値以上となる位置での目検出器64の中心座標のみを基準座標として設定してもよい。また、目検出部132は、図8(B)に示すように、特開平06-266981号公報に開示の小領域での暗点検出方法に従って、各々の注目点を中心とした小領域を設定し、該領域内で最も暗い点に注目点の座標を更新してもよい。この場合、初期化で例えば等間隔で配置された注目点P1(図8(B)参照)は、人の目、眉や髪の毛等、暗い部分内の点P(図8(B)参照)に移動する。目検出部132は、更新後の各注目点Pを基準座標として設定してよい。
ステップ408では、目検出部132は、基準座標リストの要素を参照する番号indexを0で初期化する。
ステップ410では、目検出部132は、番号indexが基準座標リスト内の要素数より小さいか否かを判定する。番号indexが基準座標リスト内の要素数より小さい場合は、目検出処理が終了となり、現在の目検出結果フラグが図3のステップ306の処理で参照される。他方、番号indexが基準座標リスト内の要素数より小さくない場合は、ステップ412に進む。
ステップ412では、目検出部132は、基準座標リストのindex番目の要素を基準座標に設定する。尚、初回の処理では、目検出部132は、基準座標リスト内の0番目の要素(基準座標)を、今回の処理で判定する基準座標として設定する。尚、以下の図において、基準座標は、符号Pで指示される。
ステップ414では、目検出部132は、上記ステップ404の処理結果に基づいて、基準座標を中心とした探索範囲の各画素のうちから、基準座標からの方向と画素の勾配方向に係る所定条件を満たす画素を選出する。具体的には、目検出部132は、図9に模式的に示すように、ある画素PXまでの基準画素Pからの基準方向D1に対する画素PXの勾配方向の角度差が第1所定角度β以下であるか否かを判定する。第1所定角度βは、画素PXの勾配方向が基準座標Pから見て外向きであるか否かを判別するための閾値であり、かかる判別が可能な任意の値であってよいが、例えば、15度であってよい。画素PXは、探索範囲の各画素を想定している。このようにして、目検出部132は、探索範囲の各画素について、基準方向D1に対する勾配方向の角度差が第1所定角度β以下であるか否かを判定する。目検出部132は、探索範囲内において基準方向D1に対する勾配方向の角度差が第1所定角度β以下である画素を全て抽出する。これは、目に係る画像領域では、眼球の円周状の奥行変化が円周状の輝度変化を引き起こすためである。このため、基準座標が実際に目の中心付近の座標である場合には、基準座標の周辺の画素は、基準座標から見て外向きの勾配方向を有する傾向となる。尚、探索範囲は、任意であるが、目に係る画像領域を内包できるようなサイズを有してよい。ユーザが端末装置の画面を見ているときの距離はある程度の範囲に限定されるので、画像上の目の大きさ(目に係る画像領域のサイズ)は、ある程度の範囲に限定できる。従って、探索範囲は入力画像のサイズから決定されてよい。
例えば、図10に示す例では、目検出部132は、画素PX1については、基準画素Pから画素PX1までの基準方向に対する勾配方向G1の角度差が第1所定角度βを超えるため(基準座標Pから見て内向きであるため)、選出しない。同様に、目検出部132は、画素PX3については、基準画素Pから画素PX3までの基準方向に対する勾配方向G3の角度差が第1所定角度βを超えるため、選出しない。他方、目検出部132は、画素PX2については、基準画素Pから画素PX2までの基準方向に対する勾配方向G2の角度差が第1所定角度β以下であるため(基準座標Pから見て外向きであるため)、選出する。同様に、目検出部132は、画素PX4については、基準画素Pから画素PX4までの基準方向に対する勾配方向G4の角度差が第1所定角度β以下であるため、選出する。尚、図10に示す例では、代表として、探索範囲70内の4つの画素PX1〜PX4についてのみ図示されているが、探索範囲70内の全画素について勾配方向と基準方向との角度差と第1所定角度βとの関係が判定される。
ステップ416では、目検出部132は、上記ステップ404の処理結果に基づいて、探索範囲の各画素のうちから、基準座標からの距離と画素の勾配強度に係る所定条件を満たす画素を選出する。探索範囲は、上記ステップ414で用いられる探索範囲と同じである。目検出部132は、勾配強度が所定閾値以上の画素のみを選出するが、この際、各画素の勾配強度に適用される所定閾値を、各画素と基準座標との間の距離が長いほど大きく設定する。これは、目に係る画像領域では、上述の如く、眼球の円周状の奥行変化が円周状の輝度変化を引き起こし、勾配強度が比較的大きくなるためである。他方、目に係る画像領域の外側には、目の輪郭よりも弱い勾配強度を持つ画素からなる領域が存在する傾向にあるためである。
例えば、図11に示す例では、探索範囲70は、輝度成分画像内の7×7の画素範囲で示されている。7×7の画素範囲は、簡略化のための都合上であり、探索範囲70は、実際にはより大きな範囲であってよい。図11において、黒塗りの画素は、選出に漏れた画素を表し、黒丸の画素は、基準画素を表し、画素内の数字は、勾配強度を表す。図11(A)は、選出前の探索範囲内の各画素の状態を示し、図11(A)においては、黒塗りの画素は、上記のステップ414の処理で選出に漏れた画素を表す。この場合、目検出部132は、まず、図11(B)に示すように、基準画素に対して1画素分だけ縦横斜めにオフセットした画素集合S1に対して、勾配強度が所定閾値以上の画素のみを選出する。このとき、目検出部132は、所定閾値は、初期値として例えば0を用いる。この場合、目検出部132は、画素集合S1内において黒塗りの画素以外の画素を全て選出することになる。次いで、目検出部132は、図11(C)に示すように、基準画素に対して2画素分だけ縦横斜めにオフセットした画素集合S2に対して、勾配強度が所定閾値以上の画素のみを選出する。このとき、目検出部132は、所定閾値を、図11(B)に示した画素集合S1の各画素の勾配強度の平均値の半分に設定する。この場合、(10+10+20+10+20) / 5 = 12であるので、所定閾値は"6"である。図11(C)に示す例では、画素PX5の勾配強度が"5"であり、所定閾値以下であるので、目検出部132は、画素集合S2内において黒塗りの画素及び画素PX5以外の画素を全て選出することになる。次いで、図11(D)に示すように、基準画素に対して3画素分だけ縦横斜めにオフセットした画素集合S3に対して、勾配強度が所定閾値以上の画素のみを選出する。このとき、目検出部132は、所定閾値を、図11(C)に示した画素集合S2の各画素の勾配強度の平均値の半分に設定する。この場合、(20+20+20+10+20+20+7+20+20+10+10) / 11 = 16であるので、所定閾値は"8"である。図11(D)に示す例では、画素PX6、PX7の勾配強度が"7"及び"5"であり、所定閾値以下であるので、目検出部132は、画素集合S3内において黒塗りの画素及び画素PX6、PX7以外の画素を全て選出することになる。尚、図11に示す例では、探索範囲70は、7×7の画素範囲であるが、例えば8×8の画素範囲である場合は、目検出部132は、次に用いる所定閾値を、図11(D)に示す画素集合S2の各画素の勾配強度の平均値の半分に設定する。但し、この場合、(20+10+10+20+10+20+10+20+10+20+10) / 11 = 14であり、所定閾値は"7"となり、前回値"8"よりも小さくなる。この場合は、目検出部132は、所定閾値を更新せず、前回値"8"を継続的に使用してよい。このようにして、所定閾値は、基準画素に近い側の画素集合の勾配強度の平均値に基づいて設定されてよい。これにより、周囲の明るさによる影響を受け難い態様で、目に係る画像領域に係る画素を選出することが可能となる。また、所定閾値は、基準画素から離れるほど大きくなる態様で(小さくならない態様で)、設定される。これにより、同じ勾配強度の画素でも、基準座標に近い程選出されやすく、基準座標から遠い程選出され難くなる。これは、目に係る画像領域では、上述の如く、眼球の円周状の奥行変化が円周状の輝度変化を引き起こし、勾配強度が比較的大きくなるためである。他方、目に係る画像領域の外側には、目の輪郭よりも弱い勾配強度を持つ画素からなる領域が存在する傾向にあるためである。
尚、以下では、説明の都合上、上述の如くステップ414及びステップ416の双方で選出された輝度成分画像内の画素を、「有効画素」とも称する。
ステップ418では、目検出部132は、輝度成分画像の探索範囲70内において、目に係る画素らしい有効画素の集まりを領域(以下、「有効領域」とも称する)として抽出する。有効領域の抽出方法は、任意である。例えば、目検出部132は、基準画素を中心とした一定範囲を設定し、その範囲内に掛かっている有効画素の集まりを、有効領域として抽出する。図12(A)には、基準画素Pの周辺の有効画素の集まりGr1〜Gr8が示されている。この場合、目検出部132は、図12(B)に示すように、基準画素Pを中心とした一定範囲72を設定し、その範囲72内に掛かっている有効画素の集まりGr1〜Gr4を、有効領域として抽出する。"掛かっている"とは、一部が範囲72内に存在すればよいことを意味する。尚、図12(B)では、有効領域として選出される有効画素の集まりGr1〜Gr4が白抜きで図示され、他の選出されない有効画素の集まりGr5〜Gr8がハッチング付きで図示されている。尚、一定範囲72は、任意であるが、上述の探索範囲のサイズよりも小さく、黒目部分に係る画像領域を内包できるようなサイズを有してよい。ユーザが端末装置の画面を見ているときの距離はある程度の範囲に限定されるので、画像上の黒目の大きさ(黒目部分に係る画像領域のサイズ)は、ある程度の範囲に限定できる。従って、、一定範囲72は入力画像のサイズから決定されてよい。
ステップ420では、目検出部132は、上記ステップ404の処理結果に基づいて、有効領域の各有効画素の勾配方向の、基準座標からの方向(基準方向)に対する傾き方向に着目しての有効画素の分類を行い、分類の点対称性を判定する。具体的には、目検出部132は、図13に模式的に示すように、ある有効画素PX7までの基準画素Pからの基準方向D1に対する画素PX7の勾配方向の傾き方向に応じて、有効画素PX7の勾配方向を3種類に分類する。勾配方向の分類Aは、有効画素PX7の勾配方向が基準方向D1に対して時計回りに第2所定角度γ以上且つ第1所定角度β以下である場合に属する分類である。勾配方向の分類Bは、有効画素PX7の勾配方向が基準方向D1に対して反時計回りに第2所定角度γ以上且つ第1所定角度β以下である場合に属する分類である。勾配方向の分類Cは、有効画素PX7の勾配方向が基準方向D1に対して時計回り及び反時計回りに第2所定角度γ未満である場合に属する分類である。第2所定角度γは、基準方向D1と同一の方向を表す0に近い値であり、0よりも大きく第1所定角度βよりも小さい任意の角度である。尚、図13に示す例では、分類A,Bは、基準方向D1に対して対象に設定されているが、非対称に設定されてもよい。図14には、目に係る画像領域における複数の有効画素の勾配方向の分類例が示されている。図14において、各矢印は、勾配方向を示し、矢印の起点位置は、対応する有効画素の位置を表す。目に係る画像領域においては、図14に示すように、分類の点対称性が生じる。即ち、基準画素Pを通る長軸方向で基準画素Pから遠い有効画素の勾配方向の方が基準画素Pに近い有効画素の勾配方向に比べて、それぞれの基準方向に対する角度差が長軸方向で基準画素Pに近づく方向に大きい傾向を有する。図14に示す例では、長軸方向は、図14の方向Lに対応する。長軸方向で基準画素Pから遠い又は基準画素Pに近いについては、相対的であり、長軸方向で基準画素Pから遠い有効画素は、領域80,82,83,85内の有効画素が対応し、基準画素Pに近い有効画素は、領域81,84内の有効画素に対応する。基準画素Pに関して点対称関係にある領域80及び領域85内の有効画素は、分類Aに属する勾配方向を持つ傾向が高い。基準画素Pに関して点対称関係にある領域82及び領域83内の有効画素は、分類Bに属する勾配方向を持つ傾向が高い。領域81及び領域84内の有効画素は、分類Cに属する勾配方向を持つ傾向が高い。尚、目に係る画像領域でない領域においては、有効領域の各画素の勾配方向が基準画素に関して点対称性を有さず、また、点対称性を有した場合でも、長軸方向で基準画素Pから遠い有効画素の勾配方向についても分類Cに属する傾向となる。長軸方向で基準画素Pから遠い有効画素の勾配方向についても分類Cに属する場合は、有効領域の形状が真円に近いことを意味する(即ち、目らしくないことを意味する)。
ステップ422では、目検出部132は、このような基準画素Pに関する点対称性を各有効画素の勾配方向が有する場合、基準画素Pを目らしいと判定し、ステップ424に進む。尚、基準画素Pを目らしいと判定するとは、今回の基準画素Pに係る有効画素が、目に係る画像領域を形成する可能性が高いと判定することを意味する。他方、目検出部132は、このような基準画素Pに関する点対称性を各有効画素の勾配方向が有さない場合は、今回の基準画素Pに係る有効画素は、目に係る画像領域を形成する可能性は低いと確定して、ステップ430に進む。
ステップ424では、目検出部132は、輝度成分画像に基づいて、点対称性の長軸方向で輝度変化が高→低→高となっているか否かを判定する。例えば、目検出部132は、長軸方向に沿って基準画素に対して一方の側の所定位置から他方の側の所定位置に向かって、有効領域内の有効画素の輝度変化を判定し、輝度変化が高→低→高となっているか否かを判定する。この際、目検出部132は、前記ステップ410の処理における分類結果に基づいて、基準画素Pの両側における分類Bと分類Aとの間の遷移点を結んだ方向を長軸方向として設定してよい。長軸方向で輝度変化が高→低→高となっているか否かを判定するのは、図15に示すように、目に係る画像領域では、目の長軸方向で白目→黒目→白目と変化するのに伴って、輝度が高→低→高と変化するためである。即ち、基準画素Pを含む領域Q2では輝度は相対的に低くなり、長軸方向で基準画素Pよりも離れた両側の領域Q1,Q3では輝度が相対的に高くなるためである。長軸方向に沿った判定範囲は、目の横幅に対応した範囲であり、所定値であってもよいし、入力画像サイズから決定されてよい。即ち、ユーザが端末装置の画面を見ているときの距離はある程度の範囲に限定されるので、画像上の目の横幅は、ある程度の範囲に限定できる。従って、長軸方向に沿った判定範囲は入力画像サイズから決定されてよい。
ステップ426では、目検出部132は、点対称性の長軸方向で輝度変化が高→低→高となっている場合は、基準画素Pを目らしい(今回の基準画素Pに係る有効画素は、目に係る画像領域を形成する)と確定し、ステップ428に進む。他方、長軸方向で輝度変化が高→低→高となっていない場合は、目検出部132は、今回の基準画素Pに係る有効画素は、目に係る画像領域を形成する可能性は低いと確定して、ステップ430に進む。
ステップ428では、目検出部132は、目検出結果フラグを"TRUE"にセットしてステップ430に進む。尚、目検出部132は、目検出結果フラグを"TRUE"にセットし、目検出処理を終了してもよい。この場合、現在の目検出結果フラグ("TRUE")が図3のステップ306の処理で参照される。尚、この場合は、片目が検出された時点で目検出処理が終了となる。他方、目検出結果フラグを"TRUE"にセットしてステップ430に進む場合、両目が検出された時点で目検出処理を終了することとしてもよい。
ステップ430では、目検出部132は、indexをindex+1とし、ステップ410に戻り処理を繰り返す。このようにして、目検出部132は、基準座標リスト内の要素の全てを基準座標と設定して、ステップ414からの処理を行う。但し、上述の如く、目検出部132は、ある基準座標に係る有効画素が目に係る画像領域を形成すると確定した場合は、その時点で目検出処理を終了することとしてもよい。
図4に示す処理によれば、目検出部132は、入力画像から輝度成分のみの輝度成分画像を取り出し(ステップ402)、輝度成分画像上のある基準座標について、ある座標の、基準座標からの基準方向と、勾配方向に着目した画素選別を行う(ステップ414)。次いで、目検出部132は、ある画素の、基準座標からの距離と、勾配強度に着目した画素選別を行う(ステップ416)。次いで、目検出部132は、選別された画素(有効画素)の集まりを有効領域として抽出し、基準座標を中心とした一定の範囲に掛かる領域を、目に係る画像領域らしい有効領域として抽出する(ステップ418)。次いで、目検出部132は、有効領域の各有効画素について、基準方向に対して勾配方向が右に傾いている(分類A)、左に傾いている(分類B)、ほぼ同じ(分類C)で分類する。そして、目検出部132は、基準座標に関して点対称の各領域における分類の同一性に着目して目らしいかを判定する(ステップ420)。この際、目検出部132は、基準方向に対して勾配方向がほぼ同じ分類(分類C)の画素が多い場合は目らしくないと判定する。
従って、図4に示す処理によれば、片目の輝度特徴を用いてユーザの目を検出するので、パターンマッチングや顔のパーツの位置関係を用いずに目の検出を実現することができる。これにより、カメラ10によりユーザの片目のみが捕捉されている入力画像の場合でも、ユーザの目を検出することが可能となる。また、目の長軸方向を検出し考慮するので、カメラ10によりユーザの片目のみが傾いて捕捉されている入力画像の場合でも、ユーザの目を比較的時間を要しない処理で検出することが可能となる。また、目の長軸方向は、勾配方向の分類結果に基づいて検出するので、目の長軸方向を精度良く検出することが可能である。
尚、図4に示す例では、特定の順序で各処理が実行されているが、各処理の順序は適宜変更されてもよい。例えば、ステップ414及びステップ416の各処理は、逆の順序で実行されてもよい。
図16及び図17は、勾配方向の分類結果を用いた判定方法の一例の説明図である。この判定方法は、図4のステップ420の判定処理で用いられてよい。
図16に示す例では、探索範囲70が基準座標Pを中心として16個の放射状の領域701〜716に分割されている。尚、分割数は、16に限らず、他の数であってもよい。目検出部132は、領域701〜716のそれぞれについて(領域毎に)、その領域内の有効画素の勾配方向について、分類A,B,Cのうちのどの分類が一番多いか(支配的か)を判定する。目検出部132は、領域701〜716のそれぞれについて、最も多い分類(以下、「最多分類」とも称する)を抽出する。例えば、目検出部132は、領域701内の有効画素の勾配方向について、分類A,B,Cのうちのどの分類が一番多いかを判定する。例えば、分類Aの勾配方向が最も多い場合は、目検出部132は、領域701に対して分類Aを最多分類として与える。この場合、目検出部132は、分類の点対称性については、互いに対角関係(点対称)となる領域同士を組として最多分類が同一であるか否かを判定する。即ち、目検出部132は、領域701の最多分類と領域709の最多分類が同一であるか否か、領域702の最多分類と領域710の最多分類が同一であるか否か、領域703の最多分類と領域711の最多分類が同一であるか否か、以下、同様に判定する。目検出部132は、最多分類が同一となる組数(点対称となる組数)を算出し、組数が所定値Th1(例えば6)以上であり、且つ、分類Cが最多分類となる領域の数が所定値Th2以下である場合、目らしいと判定する(ステップ422で肯定判定)。所定値Th2は、例えば、総領域数の半数であってよく、この場合、本例では、所定値Th2は8である。この際、目検出部132は、最多分類が分類Aとなる組数が所定値(例えば2)以上であり、かつ、最多分類が分類Bとなる組数が所定値(例えば2)以上であるか否かを判定してもよい。この判定は、最多分類が同一となる組数が所定値Th1以上であるか否かの判定の代替えとして実行されてもよいし、追加として実行されてもよい。
図17は、領域701〜716の全てについて最多分類を抽出した結果の一例を示す。図17に示す例では、領域701,707,708,709,715,716については、分類Aが最多分類であることを示す。領域705,706,712,713,714については、分類Bが最多分類であることを示す。領域702,703,704,710,711については、分類Cが最多分類であることを示す。図17に示す例では、最多分類が点対称となる領域の組が7組存在する。即ち、領域704と領域712との組のみが最多分類が異なり、他の7組については同一の最多分類となる。また、分類Cが最多分類となる領域の数が5つである。従って、この場合、目検出部132は、基準画素Pを目らしいと判定してよい(ステップ422で肯定判定)。尚、この場合、目検出部132は、基準画素Pの両側における分類Bと分類Aとの間の遷移部(領域706と領域707の間、及び、領域714と領域715の間)を結んだ方向を長軸方向として設定してよい。目検出部132は、このようにして設定した長軸方向を用いて、図4のステップ424の判定処理を実行してよい。
図18及び図19は、実際の目検出処理の実行例を示す図である。図18(A)は、実際に人の目を撮像して得た入力画像のうちの片目の部分を抜き出した画像部分を示し、図18(B)乃至図18(C)は、図18(A)に示す画像部分から得られる処理結果を示す。具体的には、図18(B)は、勾配方向による選別結果(図4のステップ414参照)を示し、図18(C)は、勾配強度による選別結果(図4のステップ416参照)を示し、図18(D)は、有効領域の抽出結果(図4のステップ418参照)を示す。尚、図18(B)及び(C)において、白い部分が選出された画素を示し、図18(D)において、白い部分が有効領域を示す。図19は、図18(D)に示す有効領域に対して勾配方向による分類(図4のステップ420参照)を行った結果を示す。図19において、(A)は、分類Aとなる有効画素を抽出した画像を示し、(B)は、分類Bとなる有効画素を抽出した画像を示し、(C)は、分類Cとなる有効画素を抽出した画像を示す。同様に、図19において、白い部分が、抽出した有効画素を示す。
図18に示すように、勾配方向に着目した画素選別、勾配強度に着目した画素選別、及び、有効領域の抽出を行うことで、ユーザの目に係る画像領域が精度良く抽出されているのが分かる。また、図19(A)及び(B)に示すように、目に係る画像領域では、分類Aに属する勾配方向を持つ有効画素が黒目部分に関して点対称に存在し、分類Bに属する勾配方向を持つ有効画素が黒目部分に関して点対称に存在することがわかる。また、図19(C)に示すように、目に係る画像領域では、分類Cに属する勾配方向を持つ有効画素が黒目部分の周囲に真円状の形態で存在しないことがわかる。
図20は、輝度成分画像から勾配方向等を算出する際のフィルタサイズ変更方法の説明図である。図20に示すフィルタサイズ変更方法は、図4のステップ404の処理で利用されてよい。
図20(A)は、通常のサイズの入力画像50を示す図である。図20(C)は、サイズが縮小された入力画像50'を示す図である。フィルタ(横方向勾配フィルタ及び縦方向勾配フィルタ)のサイズは、入力画像のサイズに基づいて決定されてもよい。例えば、図20(B)は、5×5の横方向勾配フィルタ及び縦方向勾配フィルタの一例を示す。5×5の横方向勾配フィルタ及び縦方向勾配フィルタは、図20(A)に示すようにサイズが比較的に大きい入力画像50の場合に使用されてよい。図20(D)は、3×3の横方向勾配フィルタ及び縦方向勾配フィルタの一例を示す。3×3の横方向勾配フィルタ及び縦方向勾配フィルタは、図20(C)に示すようにサイズが比較的に小さい入力画像50'の場合に使用されてよい。
このようにして、入力画像のサイズに応じてフィルタのサイズを変更してもよいし、入力画像のサイズを変更してフィルタのサイズを一定にしてもよい。尚、図20に示す例では、フィルタのサイズは、入力画像自体のサイズに応じて変更されているが、フィルタのサイズは、入力画像における顔の画像領域のサイズに応じて変更されてもよい。例えば、顔の画像領域のサイズは、カメラ10からユーザの目までの距離がある程度限定できる場合は、入力画像のサイズから判断できる。他方、カメラからユーザの目までの距離が限定できない場合は、顔の画像領域のサイズは、カラーの入力画像において肌色に囲まれている領域の大きさで目の大きさを推定する等の方法により判断してもよい。
以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、前述した実施例の構成要素を全部又は複数を組み合わせることも可能である。
例えば、図4に示す処理では、ステップ424の目らしさ判定処理(長軸方向の輝度変化に着目した目らしさ判定処理)により目検出精度を高めているが、ステップ424の目らしさ判定処理は、省略されてもよい。また、図4に示す処理において、ステップ424の目らしさ判定処理に加えて又は代えて、他の目らしさ判定処理が実行されてもよい。例えば、目検出部132は、特許文献3に開示の方法に従って目検出器64(図8(A)参照)を用いて目らしさ判定処理を実行してもよい。このとき、目検出部132は、探索範囲70をトリミングして抜き出した画像を、図21にて矢印Rtで示すように、長軸方向Lが横方向になるように回転させてから、目らしさ判定処理を実行する。この場合、目検出部132は、目検出器64を横方向及び縦方向に走査し、任意の位置で目を検出できた場合に、目らしい(目検出器64内の有効画素は、目に係る画像領域を形成する)と判定してもよい。或いは、図22に示すように、目検出部132は、目検出器64を、目検出器64の横方向が長軸方向Lに一致するように回転し、回転した目検出器64を用いて、目らしさ判定処理を実行してもよい。この場合、目検出部132は、回転した目検出器64を横方向及び縦方向に走査し、任意の位置で目を検出できた場合に、目らしいと判定してもよい。尚、長軸方向Lの設定方法は、上述の通りであってよい。尚、目検出器64の形成方法は、特許文献3に開示の方法に従って、例えば次の通りであってよい。まず、例えば24×24画素内で、目の特徴を抽出し易い輝度差(輝度変化の一例)を持つとされる2点の画素の複数の組み合わせを選ぶ。次いで、それぞれの組み合わせについて2点画素間の輝度差に関する弱仮説として定義し、事前に統計学習した弱仮説によって最終仮説を定義する。目検出器64は、このようにして24×24画素内で定義された2点画素の輝度差に関する弱仮説の集合により形成される。
また、図4に示す処理において、ステップ420(図16及び図17についても同様)では、分類A及び分類Bに加えて、分類Cも考慮しているが、等価的に分類A及び分類Bのみを考慮してもよい。これは、ある有効画素の勾配方向が分類A及び分類Bに属さない場合は、その有効画素の勾配方向が分類Cに属するという相関関係を有するためである。
なお、以上の実施例に関し、さらに以下の付記を開示する。
(付記1)
カメラと、
前記カメラで撮像した画像の輝度情報に基づいて、任意の画素を中心とした領域内の複数の画素であって、それぞれの輝度勾配方向が前記任意の画素からそれぞれの画素までの基準方向に対して第1所定角度以下の角度差であり且つそれぞれの前記角度差が前記任意の画素を通る任意の軸方向で前記任意の画素に近づく方向に第2所定角度以上である複数の画素が、前記任意の画素の位置に関して点対称性を有する態様で分布する条件を満たす領域の有無を判断し、前記条件を満たす領域に目に係る画素が含まれると判定する処理装置とを含む、目検出装置。
(付記2)
前記処理装置は、前記条件を満たす領域において前記任意の軸方向に沿った輝度特徴が所定条件を満たす場合に、前記条件を満たす領域に目に係る画素が含まれると判定する、付記1に記載の目検出装置。
(付記3)
前記所定条件は、前記任意の軸方向に沿って前記任意の画素から所定距離離れた両側で前記任意の画素よりも輝度が高いことである、付記2に記載の目検出装置。
(付記4)
前記所定条件は、事前に統計学習した2点画素の輝度差に関する弱仮説の集合により形成される目検出器を前記任意の軸方向及びそれに垂直な方向に沿って走査したときに、前記目検出器により目を検出できることである、付記2に記載の目検出装置。
(付記5)
前記所定条件は、事前に統計学習した2点画素の輝度差に関する弱仮説の集合により形成される目検出器を、前記目検出器の横方向が前記任意の軸方向に一致するように回転して前記画像の横方向及び横方向に沿って走査したときに、前記目検出器により目を検出できることである、付記2に記載の目検出装置。
(付記6)
前記処理装置は、前記角度差が時計方向に前記第2所定角度以上且つ前記第1所定角度以下となる第1分類の画素と、前記角度差が反時計方向に前記第2所定角度以上且つ前記第1所定角度以下となる第2分類の画素とに分類し、前記分類の結果に基づいて、前記条件を満たす領域の有無を判断する、付記1に記載の目検出装置。
(付記7)
前記処理装置は、前記第1分類の画素の分布が前記任意の画素に関して点対称性を有し、かつ、前記第2分類の画素の分布が前記任意の画素に関して点対称性を有する場合に、前記条件を満たすと判定する、付記6に記載の目検出装置。
(付記8)
前記処理装置は、前記領域内の複数の画素のそれぞれについて、前記第1分類の画素と、前記第2分類の画素と、前記角度差が前記第2所定角度未満となる第3分類の画素との分類し、前記第3分類の画素の存在領域が前記任意の画素まわりで真円状に存在する場合に、前記条件を満たさないと判定する、付記7に記載の目検出装置。
(付記9)
前記処理装置は、前記領域を前記任意の画素を中心として放射状に分割して得られる各分割領域において、前記第1分類の画素と、前記第2分類の画素と、前記第3分類の画素のうち、どの分類の画素が最も多いかを判定し、前記第2分類の画素が最も多くなる分割領域同士が前記任意の画素を中心として対角関係となる数と、前記第1分類の画素が最も多くなる分割領域同士が前記任意の画素を中心として対角関係となる数との合計が第1所定数以上あり、かつ、前記第3分類の画素が最も多い分割領域の数が第2所定数以下である場合に、前記条件を満たすと判定する、付記8に記載の目検出装置。
(付記10)
前記処理装置は、前記複数の画素として輝度勾配強度が所定閾値以上となる画素を選出する、付記1に記載の目検出装置。
(付記11)
前記処理装置は、前記任意の画素から遠い画素に対して適用される前記所定閾値を、前記任意の画素に近い画素に対して適用される前記所定閾値よりも大きくする、付記10に記載の目検出装置。
(付記12)
前記処理装置は、横方向勾配フィルタ及び縦方向勾配フィルタを適用して前記画素の輝度勾配方向及び輝度勾配強度を算出する、付記1又は10に記載の目検出装置。
(付記13)
前記処理装置は、前記画像の輝度情報に基づいて、虹彩らしい領域を検出し、前記虹彩らしい領域内に前記任意の画素を設定する、付記1〜12のうちのいずれか1項に記載の目検出装置。
(付記14)
カメラで撮像した画像を入力し、
前記画像の輝度情報に基づいて、任意の画素を中心とした領域内の複数の画素であって、それぞれの輝度勾配方向が前記任意の画素からそれぞれの画素までの基準方向に対して第1所定角度以下の角度差であり且つそれぞれの前記角度差が前記任意の画素を通る任意の軸方向で前記任意の画素に近づく方向に第2所定角度以上である複数の画素が、前記任意の画素の位置に関して点対称性を有する態様で分布する条件を満たす領域の有無を判断し、前記条件を満たす領域に目に係る画素が含まれると判定することを含む、目検出方法。
(付記15)
カメラで撮像した画像を入力し、
前記画像の輝度情報に基づいて、任意の画素を中心とした領域内の複数の画素であって、それぞれの輝度勾配方向が前記任意の画素からそれぞれの画素までの基準方向に対して第1所定角度以下の角度差であり且つそれぞれの前記角度差が前記任意の画素を通る任意の軸方向で前記任意の画素に近づく方向に第2所定角度以上である複数の画素が、前記任意の画素の位置に関して点対称性を有する態様で分布する条件を満たす領域の有無を判断し、前記条件を満たす領域に目に係る画素が含まれると判定する、
処理をコンピューターに実行させる目検出プログラム。