(57)【要約】【課題】瞳孔を精度良く検出すること。【解決手段】本実施例に係る画像処理装置１００は、瞳孔情報登録部１４０が、瞳孔を精度良く検出した時点の瞳孔の情報を、直近半径情報記憶部１０１ｃに記憶させておく。そして、本実施例にかかる画像処理装置１００は、瞳孔候補検出部１３０が、瞳孔の候補を検出し、瞳孔判定部１６０は、瞳孔の候補の大きさと、直近半径情報記憶部１０１ｃに記憶された瞳孔の大きさの情報とを基にして、瞳孔を判定する。【選択図】図１
2013215549.tif 000002
【特許請求の範囲】
【請求項１】
瞳孔の大きさの情報を記憶する記憶部と、
目領域の画像から円形でない瞳孔の候補を検出する瞳孔候補検出部と、
前記瞳孔候補検出部が検出した瞳孔の候補の形状を補完し、形状を補完した瞳孔の候補の大きさと、前記記憶部に記憶された瞳孔の大きさとを基にして、各瞳孔の候補から瞳孔を判定する瞳孔判定部と
を有することを特徴とする画像処理装置。
【請求項２】
前記目領域の画像から円形の瞳孔を検出し、検出した瞳孔の大きさを前記記憶部に記憶させる瞳孔情報登録部を更に有することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記目領域の画像から円形の瞳孔を検出した場合に、検出した瞳孔の大きさと前記目領域の明るさとを対応付けた明るさ瞳孔情報を前記記憶部に更に記憶させる瞳孔情報学習部を更に有し、
前記瞳孔情報登録部は、瞳孔を検出した検出時刻と、瞳孔の大きさとを対応付けて前記記憶部に記憶させ、
前記瞳孔判定部は、瞳孔の候補を検出した時刻と、前記記憶部の検出時刻との差が所定時間以上の場合に、目領域の明るさと前記明るさ瞳孔情報とを比較して、瞳孔の大きさを特定し、特定した瞳孔の大きさを基にして、各瞳孔の候補から瞳孔を判定することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
コンピュータに、
瞳孔の大きさの情報を記憶装置に記憶し、
目領域の画像から円形でない瞳孔の候補を検出し、
前記瞳孔の候補の形状を補完し、形状を補完した瞳孔の候補の大きさと、前記記憶装置に記憶された瞳孔の大きさとを基にして、各瞳孔の候補から瞳孔を判定する
各処理を実行させることを特徴とする画像処理プログラム。
【請求項５】
コンピュータが、
瞳孔の大きさの情報を記憶装置に記憶し、
目領域の画像から円形でない瞳孔の候補を検出し、
前記瞳孔の候補の形状を補完し、形状を補完した瞳孔の候補の大きさと、前記記憶装置に記憶された瞳孔の大きさとを基にして、各瞳孔の候補から瞳孔を判定する
各処理を実行することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置等に関する。
【背景技術】
【０００２】
利用者の視線を検出し、検出結果を利用してコンピュータを操作する視線インターフェース技術が存在する。視線インターフェースを利用することで、利用者は、マウスやキーボードを操作しなくても、画面上を目視することで、目視した位置に対するズーム操作や、目視した物体の選択操作等を行うことができる。
【０００３】
視線インターフェースは、角膜反射法を用いて視線を検出する。角膜反射法は、近赤外線光源を用いて角膜上に反射を発生させ、反射の中心と瞳孔の中心とを画像処理により求める。そして、角膜反射法は、反射の中心と瞳孔の中心との位置関係から、利用者の視線を検出する。
【０００４】
ここで、上記の角膜反射法は、画像処理により瞳孔を正確に検出することが前提となっている。このため、例えば、瞳孔が瞼の下に移動した場合でも、瞳孔の位置を検出することが求められる。以下において、瞳孔を検出する従来技術の一例について説明する。
【０００５】
従来技術１では、目を撮影した画像の中から、円形に近い部分を瞳孔として推測し、推測した部分を、円形に補完する。そして、従来技術１では、予め定義したテンプレートと、円形に補完した画像とのテンプレートマッチングを実行することで瞳孔を検出する。
【０００６】
従来技術２は、上記の従来技術１のテンプレートマッチングをベースとした技術である。従来技術２では、動画像の処理において、あるフレーム画像で対象物が検出出来なかった場合に、前のフレーム画像の検出結果を用いて補完する。例えば、従来技術２では、フレーム画像１の領域Ａで対象物を検出した場合に、次のフレーム画像２でも、領域Ａと同領域付近に対象物が存在するはずといったルールを適用する。
【０００７】
従来技術３は、瞳孔の候補を複数検出した場合に、瞳孔の候補のサイズや外接矩形面積比等を用いて、複数の瞳孔の候補の中からいずれかを選択する技術である。例えば、従来技術３では、サイズについて、瞳孔の候補の領域の高さと、幅とが３〜３０ピクセル以内であれば、瞳孔とみなす。従来技術３では、利用者が、事前に瞳孔が取り得る値をサイズとして設定しておく。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平６−２７４２６９号公報
【特許文献２】特開２００９−２５４６９１号公報
【非特許文献】
【０００９】
【非特許文献１】「自律移動ロボット用人検出方法」松下電工技報  Vol.53  No.2
【非特許文献２】「Haar-like特徴を用いたAdaBoostによる交通流計測」ViEw2009論文集  p.104
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述した従来技術では、瞳孔を精度良く検出することができないという問題があった。
【００１１】
例えば、従来技術１では、目の領域の中に鼻の影などが目に映り込んでいる場合に、かかる映り込みと、瞳孔とを区別することができない。また、瞳孔の位置は瞬間的に大きく移動するため、従来技術２の前提となるルールが適用できない場合がある。また、従来技術３で利用されるサイズは、瞳孔の取り得る大まかな範囲を指定するものであるため、類似するサイズの瞳孔の候補が複数存在する場合には、正確な瞳孔を選択することが難しかった。
【００１２】
開示の技術は、上記に鑑みてなされたものであって、瞳孔を精度良く検出することが出来る画像処理装置、画像処理プログラムおよび画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
開示の画像処理装置は、記憶部、瞳孔候補検出部、瞳孔判定部を有する。記憶部は、瞳孔の大きさの情報を記憶する。瞳孔候補検出部は、目領域の画像から円形でない瞳孔の候補を検出する。瞳孔判定部は、瞳孔候補検出部が検出した瞳孔の候補の形状を補完し、形状を補完した瞳孔の候補の大きさと、記憶部に記憶された瞳孔の大きさとを基にして、各瞳孔の候補から瞳孔を判定する。
【発明の効果】
【００１４】
開示の画像処理装置によれば、瞳孔を精度良く検出することができるという効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】図１は、本実施例に係る画像処理装置の構成を示す図である。
【図２】図２は、テンプレート情報のデータ構造の一例を示す図である。
【図３】図３は、瞳孔候補記憶部のデータ構造の一例を示す図である。
【図４】図４は、直近半径情報のデータ構造の一例を示す図である。
【図５】図５は、明るさ瞳孔情報のデータ構造の一例を示す図である。
【図６】図６は、目の領域の一例を示す図である。
【図７】図７は、瞳孔候補検出部の処理を説明するための図である。
【図８】図８は、尤度を算出する処理を説明するための図である。
【図９】図９は、尤度が所定の閾値未満となる場合の瞳孔候補群記憶部のデータ構造の一例を示す図である。
【図１０】図１０は、画像処理装置の処理の一例を説明するための図である。
【図１１】図１１は、明るさ瞳孔情報を生成する処理手順を示すフローチャートである。
【図１２】図１２は、本実施例に係る画像処理装置が瞳孔を判定する処理手順を示すフローチャートである。
【図１３】図１３は、画像処理プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１６】
以下に、本願の開示する画像処理装置、画像処理プログラムおよび画像処理方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１７】
図１は、本実施例に係る画像処理装置の構成を示す図である。図１に示すように、この画像処理装置１００は、カメラ５０に接続される。画像処理装置１００は、テンプレート記憶部１０１ａ、瞳孔候補群記憶部１０１ｂ、直近半径情報記憶部１０１ｃ、明るさ瞳孔情報記憶部１０１ｄを有する。また、画像処理装置１００は、タイマ１０５、画像取得部１１０、目領域検出部１２０、瞳孔候補検出部１３０、瞳孔情報登録部１４０、瞳孔情報学習部１５０、瞳孔判定部１６０を有する。
【００１８】
カメラ５０は、撮像範囲の画像を撮影する撮像装置である。本実施例では、例えば、カメラ５０が撮影した画像には、利用者の顔画像が含まれているものとする。カメラ５０は、撮影した画像のデータを、画像処理装置１００に順次出力する。
【００１９】
テンプレート記憶部１０１ａは、様々な半径のテンプレート情報を記憶する記憶部である。図２は、テンプレート情報のデータ構造の一例を示す図である。例えば、図２に示す例では、半径の異なる円形のテンプレート１Ａ、１Ｂ、１Ｃが含まれる。
【００２０】
瞳孔候補群記憶部１０１ｂは、瞳孔の候補に関する各種の情報を記憶する記憶部である。図３は、瞳孔候補記憶部のデータ構造の一例を示す図である。図３に示すように、瞳孔候補記憶部１０１ｂは、ＩＤ（Identification）、Ｘ座標、Ｙ座標、半径、尤度を対応付ける。ＩＤは、瞳孔の候補を一意に識別する情報である。Ｘ座標、Ｙ座標は、画像データ上の瞳孔の座標を示す情報である。半径は、瞳孔の候補の半径を示す情報である。尤度は、瞳孔の候補が、瞳孔である確からしさの度合いを示す情報である。尤度が大きいほど、より確からしい。
【００２１】
直近半径情報記憶部１０１ｃは、後述の瞳孔情報登録部１４０が最後に検出した瞳孔の大きさの情報を記憶する記憶部である。瞳孔情報登録部１４０が最後に検出した瞳孔の大きさの情報を、直近半径情報と表記する。図４は、直近半径情報のデータ構造の一例を示す図である。図４に示すように、この直近半径情報は、直近半径および時刻を対応付ける。直近半径は、瞳孔情報登録部１４０が最後に検出した瞳孔の半径を示す情報である。時刻は、瞳孔情報登録部１４０が、最後に瞳孔を検出した時刻を示す情報である。直近半径情報は、瞳孔情報登録部１４０が瞳孔を検出する度に更新される。
【００２２】
明るさ瞳孔情報記憶部１０１ｄは、明るさと瞳孔の半径との関係を示す明るさ瞳孔情報を記憶する記憶部である。図５は、明るさ瞳孔情報のデータ構造の一例を示す図である。図５の横軸は明るさを示し、図５の縦軸は半径を示す。図５に示すように、明るくなるにつれて、瞳孔の半径は小さくなる。明るさ瞳孔情報は、後述する瞳孔情報学習部１５０によって生成される。
【００２３】
上記の各記憶部１０１ａ〜１０１ｄは、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子に対応する。または、各記憶部１０１ａ〜１０１ｄは、ハードディスク、光ディスクなどの記憶装置に対応する。
【００２４】
タイマ１０５は、時刻情報を瞳孔情報登録部１４０および瞳孔判定部１６０に出力するタイマである。
【００２５】
画像取得部１１０は、カメラ５０から順次画像データを取得し、画像データを目領域検出部１２０に出力する処理部である。
【００２６】
目領域検出部１２０は、画像データから、目の領域を検出する処理部である。目領域検出部１２０は、目の領域の情報を、瞳孔候補検出部１３０に出力する。図６は、目の領域の一例を示す図である。
【００２７】
目領域検出部１２０が、目の領域を検出する処理の一例について説明する。目領域検出部１２０は、画像データから、目らしい特徴を持つ領域を、目の領域として検出する。例えば、目領域検出部１２０は、画像データから円形状の領域を特定し、該円形状周辺の輝度値が、画像データの他の領域の輝度値と比較して低い場合に、該円形状周辺の領域を目の領域として検出する。その他、目領域検出部１２０は、公知の技術を利用して、目の領域を抽出してもよい。例えば、公知技術には＜「部分特徴テンプレートとグローバル制約による顔器官特徴の抽出」電子情報通信学会論文誌．Ｄ−ＩＩ、情報・システム、ＩＩ−情報処理Ｊ７７−Ｄ−２（８）、１６０１−１６０９、１９９４−０８−２５＞がある。
【００２８】
上記公知技術は、顔全体の形状の変化より局所部分、つまり目等の顔器官のコーナー部分の変化が小さいという性質を用いて、目等の領域を検出する技術である。顔器官を検出する場合、顔全体の形状を一つの単位として扱うと、個人性や表情、照明条件、顔の向きなどによって、対象となる画像が変形し、認識結果が安定したいためである。例えば、公知技術は、顔器官の部分特徴を表す部分特徴テンプレート（ＰＦＴ：Partial  Feature  Template）を利用する。
【００２９】
部分特徴テンプレートは、例えば、目のコーナー部分のエッジ画像を２値化して得られたパターンを一般化して作成されたモデルであり、エッジ部分、非エッジ部分、非処理部分の三つの部分に構成される。例えば、目領域検出部１２０は、かかる部分特徴テンプレートと、画像データとをマッチングして、類似度を計算し、類似度が閾値以上となる領域を、目の領域として検出する。その他の具体的な処理は、上記公知技術に開示されているため、ここでは説明を省略する。
【００３０】
また、目領域検出部１２０は、目の領域の明るさを算出し、算出した明るさの情報を、瞳孔情報学習部１５０および瞳孔判定部１６０に出力する。例えば、目の領域の明るさは、目の領域に含まれる各画素の輝度値の平均値に対応する。
【００３１】
瞳孔候補検出部１３０は、目の領域の情報から、瞳孔の候補を検出し、検出結果を瞳孔候補群記憶部１０１ｂに記憶させる処理部である。以下において、瞳孔候補検出部１３０の処理について具体的に説明する。瞳孔候補検出部１３０は、目の領域の情報を取得する度に、下記の処理を繰り返し実行し、瞳孔候補群記憶部１０１ｂを更新する。
【００３２】
図７は、瞳孔候補検出部の処理を説明するための図である。図７に示すように、瞳孔候補検出部１３０は、目の領域の情報１０上を、テンプレート２を走査させ、テンプレート２の輪郭と一部一致する領域を、瞳孔の候補として検出する。瞳孔候補検出部１３０は、テンプレート２の情報を、テンプレート記憶部１０１ａから取得する。図７に示すテンプレート２は、図２に示したテンプレート１Ａ、１Ｂ、１Ｃのいずれかに対応する。瞳孔候補検出部１３０は、ある大きさのテンプレート２の走査が終了した後に、テンプレート２の大きさを変更し、上記処理を繰り返し実行することで、瞳孔の候補を検出する。
【００３３】
瞳孔候補検出部１３０は、瞳孔の候補をテンプレートにより検出した場合には、ＩＤと、瞳孔の候補のＸ座標、Ｙ座標、半径を対応付けて、瞳孔候補群記憶部１０１ｂに記憶させる。ここで、瞳孔の候補のＸ座標、Ｙ座標は、瞳孔の候補をテンプレートによって円形に補完した場合の、中心座標とする。また、瞳孔の候補の半径は、瞳孔の候補をテンプレートによって円形に補完した場合の、円の半径とする。
【００３４】
また、瞳孔候補検出部１３０は、瞳孔の候補から尤度を算出する。図８は、尤度を算出する処理を説明するための図である。図８において、２はテンプレートを示し、３は瞳孔の候補に対応する。瞳孔候補検出部１３０は、テンプレート２の円周上にある画素ｐ１の輝度値と、該画素ｐ１に隣接するテンプレート２外側の画素ｐ２の輝度値とを比較する。瞳孔候補検出部１３０は、画素ｐ１と画素ｐ２との各組みにおいて、画素ｐ１の輝度値と画素ｐ２の輝度値との差が閾値以上となる画素ｐ１の数を計数する。以下の説明において、画素ｐ１の輝度値と画素ｐ２の輝度値との差が閾値以上となる画素ｐ１の数を円周画素数と表記する。
【００３５】
瞳孔候補検出部１３０は、式（１）を基にして、瞳孔の候補の尤度を算出する。式（１）において、Ｔは、テンプレート上の画素ｐ１の総数である。Ｎは、円周画素数である。瞳孔候補検出部１３０は、瞳孔の候補毎に図８に示した処理を実行し、瞳孔の候補毎に尤度をそれぞれ算出する。瞳孔候補算出部１３０は、算出した尤度を、瞳孔候補群記憶部１０１ｂに記憶させる。
【００３６】
尤度＝Ｎ／Ｔ・・・（１）
【００３７】
瞳孔情報登録部１４０は、瞳孔候補群記憶部１０１ｂを基にして、直近半径情報を生成する処理部である。瞳孔情報登録部１４０は、瞳孔候補群記憶部１０１ｂを参照し、尤度が所定の閾値を超え、各瞳孔の候補のうち、尤度が最大となる瞳孔の候補を、瞳孔であると判定する。瞳孔情報登録部１４０が瞳孔と判定した瞳孔の候補の半径を直近半径と表記する。瞳孔情報登録部１４０は、直近半径と、タイマ１０５から取得する時刻とを対応付けた直近半径情報を生成し、直近半径情報記憶部１０１ｃに記憶させる。
【００３８】
例えば、図３を用いて、瞳孔情報登録部１４０の処理について説明する。所定の閾値を「０．８」とする。図３に示す例では、所定の閾値を超え、尤度が最大となる瞳孔の候補は、ＩＤ「１」の瞳孔の候補となる。この場合には、直近半径は「５」となる。
【００３９】
なお、瞳孔情報登録部１４０は、所定の閾値を超える瞳孔の候補が存在しない場合には、瞳孔候補群記憶部１０１ｂのデータが更新されるまで、処理を待機する。瞳孔情報登録部１４０は、瞳孔候補群記憶部１０１ｂのデータが更新された場合には、上記処理を再度実行する。瞳孔情報登録部１４０は、最新時刻の直近半径情報を、直近半径情報記憶部１０１ｃに登録する。
【００４０】
瞳孔情報学習部１５０は、瞳孔候補群記憶部１０１ｂを基にして、明るさ瞳孔情報を生成する処理部である。瞳孔情報学習部１５０は、瞳孔候補群記憶部１０１ｂを参照し、尤度が所定の閾値を超え、各瞳孔の候補のうち、尤度が最大となる瞳孔の候補を、瞳孔であると判定する。瞳孔情報学習部１５０は、判定した瞳孔の半径と、目の領域の明るさとを対応付けて、明るさ瞳孔情報を生成する。
【００４１】
瞳孔情報学習部１５０は、明るさの情報を、目領域検出部１３０から取得する。瞳孔情報学習部１５０が、各瞳孔の候補から、瞳孔を判定する処理は、上記の瞳孔情報登録部１４０と同様である。瞳孔情報学習部１５０は、瞳孔候補群記憶部１０１ｂのデータが更新される度に、上記処理を繰り返し実行することで、明るさ瞳孔情報を生成する。
【００４２】
瞳孔判定部１６０は、瞳孔候補群記憶部１０１ｂ、直近半径情報記憶部１０１ｃ、明るさ瞳孔情報記憶部１０１ｄを基にして、瞳孔を判定する処理部である。瞳孔判定部１６０は、判定結果を外部装置に出力する。例えば、判定結果には、瞳孔の中心座標が含まれる。外部装置は、角膜反射法により視線を検出する視線検出装置に対応する。
【００４３】
まず、瞳孔判定部１６０は、瞳孔候補記憶部１０１ｂを参照し、尤度が所定の閾値を超える瞳孔の候補が存在するか否かを判定する。瞳孔判定部１６０は、尤度が所定の閾値を超える瞳孔の候補が存在する場合には、各瞳孔の候補のうち、尤度が最大となる瞳孔の候補を、瞳孔であると判定する。
【００４４】
続いて、尤度が所定の閾値を超える瞳孔の候補が存在しない場合について説明する。瞳孔判定部１６０は、現在の時刻と、直近半径情報の時刻とを比較する。瞳孔判定部１６０は、現在の時刻を、タイマ１０５から取得する。瞳孔判定部１６０は、直近半径情報を、直近半径情報記憶部１０１ｃから取得する。以下において、現在の時刻と、直近半径情報の時刻との時間差が所定の時間未満の場合と、所定の時間以上の場合に分けて、瞳孔判定部１６０の処理について説明する。
【００４５】
現在の時刻と、直近半径情報の時刻との時間差が、所定の時間未満の場合について説明する。瞳孔判定部１６０は、直近半径情報の半径に最も近い半径の瞳孔の候補を、瞳孔として判定する。図９は、尤度が所定の閾値未満となる場合の瞳孔候補群記憶部のデータ構造の一例を示す図である。図９を用いて、瞳孔判定部１６０の処理を説明する。なお、所定の閾値を「０．８」とする。また、直近半径情報に含まれる直近半径を「３」とする。
【００４６】
瞳孔判定部１６０は、直近半径に最も近い半径の瞳孔の候補を、瞳孔として判定する。図９に示す例では、直近半径「３」に最も近い半径の瞳孔の候補は、ＩＤ「２」の瞳孔の候補となる。このため、瞳孔判定部１６０は、ＩＤ「２」の瞳孔の候補を、瞳孔として判定する。
【００４７】
現在の時刻と、直近半径情報の時刻との時間差が、所定の時間以上の場合について説明する。瞳孔判定部１６０は、現在の明るさと、明るさ瞳孔情報とを比較して、現在の明るさに対応する半径を判定する。瞳孔判定部１６０は、現在の明るさの情報を、目領域検出部１２０から取得する。瞳孔判定部１６０は、明るさ瞳孔情報を、明るさ瞳孔情報記憶部１０１ｄから取得する。瞳孔判定部１６０は、現在の明るさに対応する半径に最も近い半径の瞳孔の候補を、瞳孔として判定する。
【００４８】
例えば、現在の明るさに対応する半径を「４」とする。図９に示す例では、直近半径「４」に最も近い半径の瞳孔の候補は、ＩＤ「３」の瞳孔の候補となる。このため、瞳孔判定部１６０は、ＩＤ「３」の瞳孔の候補を、瞳孔として判定する。
【００４９】
次に、画像データの一例を用いて、画像処理装置１００の処理の一例を説明する。図１０は、画像処理装置の処理の一例を説明するための図である。
【００５０】
図１０に示す例では、画像処理装置１００は、画像１１ａ、１１ｂ、１１ｃ、１１ｄの順に処理を行う。各画像１１ａ〜１１ｄは、目領域検出部１２０により検出される目の領域の画像である。画像１１ａ、１１ｂ、１１ｃ、１１ｄの時刻をそれぞれ、ｔ、ｔ＋１、ｔ＋２、ｔ＋３とする。
【００５１】
画像１１ａの処理について説明する。画像処理装置１００の瞳孔候補検出部１３０は、テンプレートマッチングを実行し、画像１１ａから瞳孔の候補を検出する。例えば、瞳孔候補検出部１３０は、画像１１ａから、瞳孔の候補１２ａ、１２ｂを検出する。瞳孔の候補１２ｂの尤度が所定の閾値以上であり、瞳孔の候補１２ｂの尤度は、瞳孔の候補１２ａの尤度よりも大であるとする。画像処理装置１００の瞳孔判定部１６０は、瞳孔の候補１２ｂを瞳孔であると判定する。また、画像処理装置１００の瞳孔情報登録部１４０は、瞳孔１２ｂの半径を直近半径とした直近半径情報を生成する。
【００５２】
画像１１ｂの処理について説明する。画像処理装置１００の瞳孔候補検出部１３０は、テンプレートマッチングを実行し、画像１１ｂから瞳孔の候補を検出する。例えば、瞳孔候補検出部１３０は、画像１１ｂから、瞳孔の候補１３ａ、１３ｂ、１３ｃを検出する。瞳孔の候補１３ａ〜１３ｃの尤度を、所定の閾値未満とする。瞳孔判定部１６０は、直近の瞳孔１２ｂの半径と、円形に補完した瞳孔の候補１４ａ、１４ｂ、１４ｃの半径とを比較して、瞳孔を判定する。瞳孔の候補１３ａ、１３ｂ、１３ｂを補完したものを、それぞれ１４ａ〜１４ｃとする。画像処理装置１００は、瞳孔１２ｂの半径に最も近い瞳孔の候補１４ｂを瞳孔として判定する。なお、画像１１ｂの時刻と、直近半径情報の時刻との時間差を、所定時間未満とする。
【００５３】
画像１１ｃの処理について説明する。画像処理装置１００の瞳孔候補検出部１３０は、テンプレートマッチングを実行し、画像１１ｃから瞳孔の候補を検出する。例えば、瞳孔候補検出部１３０は、画像１１ｃから、瞳孔の候補１５ａ、１５ｂ、１５ｃ、１５ｄを検出する。瞳孔の候補１５ａ〜１５ｄの尤度を、所定の閾値未満とする。瞳孔判定部１６０は、直近の瞳孔１２ｂの半径と、円形に補完した瞳孔の候補１６ａ、１６ｂ、１６ｃ、１６ｄの半径とを比較して、瞳孔を判定する。瞳孔の候補１５ａ、１５ｂ、１５ｂ、１５ｄを補完したものを、それぞれ１６ａ〜１６ｄとする。画像処理装置１００は、瞳孔１２ｂの半径に最も近い瞳孔の候補１６ｂを瞳孔と判定する。なお、画像１１ｃの時刻と、直近半径情報の時刻との時間差を、所定時間未満とする。
【００５４】
なお、画像１１ｃの時刻と、直近半径情報の時刻との時刻差が所定時間以上の場合には、瞳孔判定部１６０は、現在の明るさと、明るさ瞳孔情報とを比較して、明るさに対応する半径を判定する。そして、瞳孔判定部１６０は、明るさに対応する半径を基にして、各瞳孔の候補から、瞳孔を判定する。
【００５５】
画像１１ｄの処理について説明する。画像処理装置１００の瞳孔候補検出部１３０は、テンプレートマッチングを実行し、画像１１ｄから瞳孔の候補を検出する。例えば、瞳孔候補検出部１３０は、画像１１ｄから、瞳孔の候補１７ａ、１７ｂ、１７ｃを検出する。瞳孔の候補１７ｃの尤度が所定の閾値以上であり、瞳孔の候補１７ｃの尤度は、瞳孔の候補１７ａ、１７ｂよりも大であるとする。画像処理装置１００の瞳孔判定部１６０は、瞳孔１７ｃを瞳孔であると判定する。また、画像処理装置１００の瞳孔情報登録部１４０は、瞳孔の候補１７ｃの半径を直近半径とした直近半径情報を生成する。
【００５６】
次に、本実施例に係る画像処理装置が明るさ瞳孔情報を生成する処理の処理手順について説明する。図１１は、明るさ瞳孔情報を生成する処理手順を示すフローチャートである。図１１に示す処理は、画像データを取得したことを契機にして実行される。図１１に示すように、画像処理装置１００は、画像データを取得し（ステップＳ１０１）、目領域を検出する（ステップＳ１０２）。
【００５７】
画像処理装置１００は、テンプレートマッチングを実行し（ステップＳ１０３）、尤度を算出する（ステップＳ１０４）。画像処理装置１００は、尤度が閾値以上となる瞳孔候補が存在するか否かを判定する（ステップＳ１０５）。画像処理装置１００は、尤度が閾値以上となる瞳孔の候補が存在しない場合には（ステップＳ１０５，Ｎｏ）、ステップＳ１０１に移行する。
【００５８】
一方、画像処理装置１００は、尤度が閾値以上となる瞳孔の候補が存在する場合には（ステップＳ１０５，Ｙｅｓ）、尤度が最大となる瞳孔の候補を瞳孔と判定する（ステップＳ１０６）。
【００５９】
画像処理装置１００は、目領域内の明るさを算出し（ステップＳ１０７）、明るさと瞳孔の半径との関係を明るさ瞳孔情報記憶部１０１ｄに登録し（ステップＳ１０８）、ステップＳ１０１に移行する。
【００６０】
次に、本実施例に係る画像処理装置が瞳孔を判定する処理の処理手順について説明する。図１２は、本実施例に係る画像処理装置が瞳孔を判定する処理手順を示すフローチャートである。図１２に示す処理は、画像データを取得したことを契機にして実行される。図１２に示すように、画像処理装置１００は、画像データを取得し（ステップＳ２０１）、目領域を検出する（ステップＳ２０２）。
【００６１】
画像処理装置１００は、テンプレートマッチングを実行し（ステップＳ２０３）、尤度を算出する（ステップＳ２０４）。画像処理装置１００は、尤度が閾値以上となる瞳孔の候補が存在するか否かを判定する（ステップＳ２０５）。
【００６２】
画像処理装置１００は、尤度が閾値以上となる瞳孔の候補が存在する場合には（ステップＳ２０５，Ｙｅｓ）、尤度が最大となる瞳孔の候補を瞳孔と判定し、直近半径情報を更新する（ステップＳ２０６）。画像処理装置１００は、ステップＳ２０１に移行する。
【００６３】
画像処理装置１００は、尤度が閾値以上となる瞳孔の候補が存在しない場合には（ステップＳ２０５，Ｎｏ）、直近半径情報の時刻から所定時間以上経過しているか否かを判定する（ステップＳ２０７）。
【００６４】
画像処理装置１００は、直近半径情報の時刻から所定時間以上経過している場合には（ステップＳ２０７，Ｙｅｓ）、明るさに対応する半径を基準にして、瞳孔の候補から瞳孔を判定し（ステップＳ２０８）、ステップＳ２０１に移行する。
【００６５】
画像処理装置１００は、直近半径情報の時刻から所定時間以上経過していない場合には（ステップＳ２０７，Ｎｏ）、直近半径を基準にして、瞳孔の候補から瞳孔を判定し（ステップＳ２０９）、ステップＳ２０１に移行する。
【００６６】
次に、本実施例に係る画像処理装置１００の効果について説明する。画像処理装置１００は、予め、瞳孔を精度良く検出できた場合に、かかる瞳孔の大きさを学習しておく。そして、画像処理装置１００は、目領域から検出した瞳孔の候補を補完し、補完した瞳孔の候補の大きさと、予め学習しておいた直近の瞳孔の大きさとを基にして、各瞳孔の候補から瞳孔を判定する。このため、例えば、瞳孔が瞼の下に移動した場合にでも、瞳孔を精度よく検出することができる。
【００６７】
また、画像処理装置１００は、瞳孔を精度良く検出する度に、直近半径情報を更新するので、瞳孔の変化に順次対応して、瞳孔を精度よく検出することができる。
【００６８】
また、画像処理装置１００は、瞳孔の大きさを学習した時刻から所定時間経過した後に、瞳孔の候補から瞳孔を判定する場合には、明るさと瞳孔の大きさとの関係を基にして、現在の明るさに対応する瞳孔の大きさを特定する。そして、画像処理装置１００は、特定した明るさに対応する瞳孔の大きさと、瞳孔の候補の大きさとを基にして、瞳孔を判定する。このため、明るさに応じて変動する瞳孔の大きさに対応して、精度良く、瞳孔を判定することができる。
【００６９】
ところで、上記の画像取得部１１０、目領域検出部１２０、瞳孔候補検出部１３０、瞳孔情報登録部１４０、瞳孔情報学習部１５０、瞳孔判定部１６０等の各処理部は、下記の装置に対応する。例えば、各処理部は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）や、ＦＰＧＡ（Field  Programmable  Gate  Array）などの集積装置に対応する。また、各処理部は、例えば、ＣＰＵやＭＰＵ（Micro  Processing  Unit）等の電子回路に対応する。
【００７０】
また、実施例に示した画像処理装置１００の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部または任意の一部がＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００７１】
図１３は、画像処理プログラムを実行するコンピュータの一例を示す図である。図１３に示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ２０１と、入力装置２０２と、ディスプレイ２０３とを有する。また、コンピュータ２００は、記憶媒体からプログラム等を読み取る読み取り装置２０４と、ネットワークを介して他のコンピュータとの間でデータの授受を行うインターフェース装置２０５とを有する。また、コンピュータ２００は、カメラ２０６を有する。また、コンピュータ２００は、各種情報を一時記憶するＲＡＭ２０７と、ハードディスク装置２０８を有する。そして、各装置２０１〜２０８は、バス２０９に接続される。
【００７２】
ハードディスク装置２０８は、画像取得プログラム２０８ａ、目領域検出プログラム２０８ｂ、瞳孔候補検出プログラム２０８ｃ、瞳孔情報登録プログラム２０８ｄ、瞳孔情報学習プログラム２０８ｅ、瞳孔判定プログラム２０８ｆを記憶する。ＣＰＵ２０１は、各プログラム２０８ａ〜２０８ｆを読み出して、ＲＡＭ２０７に展開する。
【００７３】
画像取得プログラム２０８ａは、画像取得プロセス２０７ａとして機能する。目領域検出プログラム２０８ｂは、目領域検出プロセス２０７ｂとして機能する。瞳孔候補検出プログラム２０８ｃは、瞳孔候補検出プロセス２０７ｃとして機能する。瞳孔情報登録プログラム２０８ｄは、瞳孔情報登録プロセス２０７ｄとして機能する。瞳孔情報学習プログラム２０８ｅは、瞳孔情報学習プロセス２０７ｅとして機能する。瞳孔判定プログラム２０８ｆは、瞳孔判定プロセス２０７ｆとして機能する。
【００７４】
例えば、画像取得プロセス２０７ａは、画像取得部１１０に対応する。目領域検出プロセス２０７ｂは、目領域検出部１２０に対応する。瞳孔候補検出プロセス２０７ｃは、瞳孔候補検出部１３０に対応する。瞳孔情報学習プロセス２０７ｅは、瞳孔情報学習部１５０に対応する。瞳孔判定プロセス２０７ｆは、瞳孔判定部１６０に対応する。
【００７５】
なお、各プログラム２０８ａ〜２０８ｆについては、必ずしも最初からハードディスク装置２０８に記憶させておかなくてもよい。例えば、コンピュータ２００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ２００がこれらから各プログラム２０８ａ〜２０８ｆを読み出して実行するようにしてもよい。
【００７６】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００７７】
（付記１）瞳孔の大きさの情報を記憶する記憶部と、
目領域の画像から円形でない瞳孔の候補を検出する瞳孔候補検出部と、
前記瞳孔候補検出部が検出した瞳孔の候補の形状を補完し、形状を補完した瞳孔の候補の大きさと、前記記憶部に記憶された瞳孔の大きさとを基にして、各瞳孔の候補から瞳孔を判定する瞳孔判定部と
を有することを特徴とする画像処理装置。
【００７８】
（付記２）前記目領域の画像から円形の瞳孔を検出し、検出した瞳孔の大きさを前記記憶部に記憶させる瞳孔情報登録部を更に有することを特徴とする付記１に記載の画像処理装置。
【００７９】
（付記３）前記目領域の画像から円形の瞳孔を検出した場合に、検出した瞳孔の大きさと前記目領域の明るさとを対応付けた明るさ瞳孔情報を前記記憶部に更に記憶させる瞳孔情報学習部を更に有し、
前記瞳孔情報登録部は、瞳孔を検出した検出時刻と、瞳孔の大きさとを対応付けて前記記憶部に記憶させ、
前記瞳孔判定部は、瞳孔の候補を検出した時刻と、前記記憶部の検出時刻との差が所定時間以上の場合に、目領域の明るさと前記明るさ瞳孔情報とを比較して、瞳孔の大きさを特定し、特定した瞳孔の大きさを基にして、各瞳孔の候補から瞳孔を判定することを特徴とする付記２に記載の画像処理装置。
【００８０】
（付記４）コンピュータに、
瞳孔の大きさの情報を記憶装置に記憶し、
目領域の画像から円形でない瞳孔の候補を検出し、
前記瞳孔の候補の形状を補完し、形状を補完した瞳孔の候補の大きさと、前記記憶装置に記憶された瞳孔の大きさとを基にして、各瞳孔の候補から瞳孔を判定する
各処理を実行させることを特徴とする画像処理プログラム。
【００８１】
（付記５）前記記憶装置に記憶する処理は、目領域の画像から円形の瞳孔を検出し、検出した瞳孔の大きさを前記記憶装置に記憶することを特徴とする付記４に記載の画像処理プログラム。
【００８２】
（付記６）前記瞳孔の大きさを記憶する処理は、瞳孔を検出した検出時刻と、瞳孔の大きさとを対応付けて前記記憶装置に記憶させ、
前記目領域の画像から円形の瞳孔を検出した場合に、検出した瞳孔の大きさと前記目領域の明るさとを対応付けた明るさ瞳孔情報を前記記憶装置に更に記憶させる処理を更に実行させ、
前記瞳孔を判定する処理は、瞳孔の候補を検出した時刻と、前記記憶装置の検出時刻との差が所定時間以上の場合に、目領域の明るさと前記明るさ瞳孔情報とを比較して、瞳孔の大きさを特定し、特定した瞳孔の大きさを基にして、各瞳孔の候補から瞳孔を判定することを特徴とする付記５に記載の画像処理プログラム。
【００８３】
（付記７）コンピュータが、
瞳孔の大きさの情報を記憶装置に記憶し、
目領域の画像から円形でない瞳孔の候補を検出し、
前記瞳孔の候補の形状を補完し、形状を補完した瞳孔の候補の大きさと、前記記憶装置に記憶された瞳孔の大きさとを基にして、各瞳孔の候補から瞳孔を判定する
各処理を実行することを特徴とする画像処理方法。
【００８４】
（付記８）前記記憶装置に記憶する処理は、目領域の画像から円形の瞳孔を検出し、検出した瞳孔の大きさを前記記憶装置に記憶することを特徴とする付記７に記載の画像処理方法。
【００８５】
（付記９）前記瞳孔の大きさを記憶する処理は、瞳孔を検出した検出時刻と、瞳孔の大きさとを対応付けて前記記憶装置に記憶させ、
前記目領域の画像から円形の瞳孔を検出した場合に、検出した瞳孔の大きさと前記目領域の明るさとを対応付けた明るさ瞳孔情報を前記記憶装置に更に記憶させる処理を更に実行し、
前記瞳孔を判定する処理は、瞳孔の候補を検出した時刻と、前記記憶装置の検出時刻との差が所定時間以上の場合に、目領域の明るさと前記明るさ瞳孔情報とを比較して、瞳孔の大きさを特定し、特定した瞳孔の大きさを基にして、各瞳孔の候補から瞳孔を判定することを特徴とする付記８に記載の画像処理方法。
【符号の説明】
【００８６】
５０    カメラ
１００  画像処理装置
１１０  画像取得部
１２０  目領域検出部
１３０  瞳孔候補検出部
１４０  瞳孔情報登録部
１５０  瞳孔情報学習部
１６０  瞳孔判定部
【図１】
2013215549.tif 000003
【図２】
2013215549.tif 000004
【図３】
2013215549.tif 000005
【図４】
2013215549.tif 000006
【図５】
2013215549.tif 000007
【図６】
2013215549.tif 000008
【図７】
2013215549.tif 000009
【図８】
2013215549.tif 000010
【図９】
2013215549.tif 000011
【図１０】
2013215549.tif 000012
【図１１】
2013215549.tif 000013
【図１２】
2013215549.tif 000014
【図１３】
2013215549.tif 000015