以下、図面を参照しつつ本発明に係る瞳孔検出装置の好適な実施形態について詳細に説明する。なお、図面の説明においては、同一又は相当部分には同一符号を付し、重複する説明を省略する。
(第1実施形態)
図1に示されるように、本発明の第1実施形態である瞳孔検出装置1は、カメラ2と、照明装置(光源)3と、制御装置4と、を備えている。カメラ2は、筐体5と、筐体5内に収容されたCCD、CMOS等の撮像素子6と、筐体5内に収容された対物レンズ7とを有する。このカメラ2は、画像の1つのフレームの取得時間間隔が非常に短い高速度カメラであってもよいし、いわゆる中速度カメラ、又は60Hz程度のフレームレートを有するカメラであってもよい。筐体5は、観察対象者の眼球Aと対向する面に形成された円形状の開口部8を有する。対物レンズ7は、開口部8と撮像素子6との間に配置されている。対物レンズ7の光軸L0は、開口部8の中心軸線と一致している。撮像素子6は、その受光面が対物レンズ7の光軸L0に対して垂直に交わるように固定されている。撮像素子6は、観察対象者の眼球Aの像を撮像することによって眼画像データを生成して制御装置4に出力する。制御装置4は、照明装置3の発光強度、点灯タイミング、及び点灯期間(発光期間)、並びにカメラ2の撮像タイミング及び撮像期間を制御する。また、制御装置4は、撮像素子6から出力された眼画像データに基づいて比較処理、瞳孔検出処理、及び角膜反射検出処理を実行する。すなわち、制御装置4は、瞳孔検出手段及び角膜反射検出手段としても機能する。
なお、開口部8の径は、対物レンズ7の径に比較して小さく、対物レンズ7の有効径と略同程度である。このような構成により、観察対象者の眼球A付近の像は、開口部8を経てカメラ2内の撮像素子6に向けて導入された後、カメラ2内の対物レンズ7を含む光学系によって、撮像素子6の受光面に収束するように結像される。
照明装置3は、観察対象者の顔に向けて照明光を出射する。図2に示されるように、照明装置3は、ケーシング9と、ケーシング9に埋め込まれた光源3A,3Bを有する。ケーシング9は、開口部8の縁部に沿って開口部8の外側を覆うように筐体5に取り付けられている。光源3A,3Bは、いずれも対物レンズ7の光軸L0に沿って照明光を出射するようにケーシング9上に設けられている。
光源(第1の光源)3Aは、明瞳孔画像を得るための照明光(第1の照明光)を、観察対象者の顔に向けて照射するための光源である。明瞳孔画像とは、後述の暗瞳孔画像と比較して観察対象者の瞳孔が相対的に明るく写った画像をいう。光源3Aは、例えば、出力光の中心波長が近赤外領域の複数の半導体発光素子(LED)からなり、開口部8の中心からの距離が比較的近い第1の距離D1の位置に配置されている。具体的には、光源3Aを構成する発光素子は、ケーシング9上で、開口部8の外側において開口部8の縁に沿って等間隔でリング状に配設されている。光源3Aは、開口部8の縁にできるだけ近い位置に設けられることが好ましい。これにより、後述するように、光源3Aにより照らし出される観察対象者の像においては、瞳孔がより明るく映し出され、小さい瞳孔であっても検出が容易になる。
光源(第2の光源)3Bは、暗瞳孔画像を得るための照明光(第2の照明光)を、観察対象者の顔に向けて照射するための光源である。暗瞳孔画像とは、前述の明瞳孔画像と比較して観察対象者の瞳孔が相対的に暗く映った画像をいう。光源3Bは、例えば、出力光の中心波長が近赤外領域の複数の半導体発光素子(LED)からなり、開口部8の中心からの距離が比較的遠い第2の距離D2の位置に配置されている。この第2の距離D2は第1の距離D1より大きい。具体的には、光源3Bを構成する発光素子は、ケーシング9上で、光源3Aから開口部8の外側に離間して等間隔でリング状に配設されている。この光源3Bは、明瞳孔画像及び暗瞳孔画像の取得時において角膜反射を強調して生じさせるための光源としても共用される。
上記の光源3Aから観察対象者の眼球Aに照明光が出射されるタイミング(点灯タイミング)でカメラ2によって瞳孔が撮像されると明瞳孔画像が取得され、光源3Aからの照明光が消灯されたタイミング(消灯タイミング)であって、上記の光源3Bから観察対象者の眼球Aに照明光が出射されるタイミング(点灯タイミング)でカメラ2によって瞳孔が撮像されると暗瞳孔画像が取得される。これは、次のような性質によるものである。つまり、眼球Aへの照明光がカメラ2の光軸L0から相対的に離れた位置から入射した場合には、眼球Aの瞳孔から入射し、眼球内部で反射されて再び瞳孔を通過した照明光がカメラ2に届きにくいため、瞳孔が相対的に暗く映るという性質である。
ここで、光源3Aの出力光の中心波長は、光源3Bの出力光の中心波長と同じ波長に設定されてもよいし、異なる波長に設定されてもよい。ただし、明瞳孔画像取得用の光源である光源3Aは、網膜を反射して戻ってくる光の輝度が強い点で、例えば、850nm等の900nm付近より短い出力光の波長の光源を用いることが望ましい。同様に、暗瞳孔取得用の光源である光源3Bは、網膜を反射して戻ってくる光の輝度が弱い点で、例えば、950nm等の900nm付近より長い出力光の波長の光源を用いることが望ましい。一方で、長い波長の光源の発光パワーは弱くカメラの感度も一般に長波長になるに従って低くなるため、光源3Bは、光源3Aに比べて2倍程度の数の発光素子を備えることが好ましい。多数の発光素子を配置する余地が無い場合には、光源3Bは2重のリング状に発光素子が配置された構造であってもよい。なお、光源3Aと光源3Bとで出力光の中心波長を同じに設定する場合は、両者の中心波長が、850nm、870nm、890nm等に設定される。ただし、その場合は、光源の波長によって明瞳孔画像と暗瞳孔画像との間の瞳孔部の輝度差が生じにくくなるため、光源3Aの開口部8からの距離D1と光源3Bの開口部8からの距離D2との差をより大きくすることが望ましい。これにより、カメラ2から見た光源3Aからの照明光による瞳孔を照らす効果と、カメラ2から見た光源3Bからの照明光による瞳孔を照らす効果との差を大きくすることができる。
また、光源3A,3Bの発光強度(発光パワー)は、互いに同一の点灯期間で光源3A及び光源3Bを発光させたときの撮影対象である観察対象者の顔面での照度が略同一になるように予め設定されている。そのために、例えば、制御装置4から光源3A,3Bに供給される電流値あるいは電力値が予め設定される。更に、光源3A,3Bは、後述する制御装置4からの制御信号により、それぞれ独立に照明光の点灯タイミング及び発光量を制御可能にされている。本実施形態では、光源3A,3Bは、点灯期間が制御可能にされ、その結果として、発光強度と点灯期間との積で決まる発光量が制御されるように構成されている。
続いて、図3及び図4を参照して、瞳孔検出装置1に含まれる制御装置4の構成について説明する。
制御装置4は、撮像素子6及び光源3A,3Bの制御と、観察対象者の瞳孔及び角膜反射の検出を実行するコンピュータであり得る。制御装置4は、据置型又は携帯型のパーソナルコンピュータ(PC)により構築されてもよいし、ワークステーションにより構築されてもよいし、他の種類のコンピュータにより構築されてもよい。あるいは、制御装置4は複数台の任意の種類のコンピュータを組み合わせて構築されてもよい。複数台のコンピュータを用いる場合には、これらのコンピュータはインターネットやイントラネットなどの通信ネットワークを介して接続される。
図3に示されるように、制御装置4は、CPU(プロセッサ)101と、主記憶部102と、補助記憶部103と、通信制御部104と、入力装置105と、出力装置106とを備える。CPU101は、オペレーティングシステムやアプリケーション・プログラムなどを実行する。主記憶部102は、ROM及びRAMで構成される。補助記憶部103は、ハードディスクやフラッシュメモリなどで構成される。通信制御部104は、ネットワークカードあるいは無線通信モジュールで構成される。入力装置105は、キーボードやマウスなどを含む。出力装置106は、ディスプレイやプリンタなどを含む。
後述する制御装置4の各機能要素は、CPU101又は主記憶部102の上に所定のソフトウェアを読み込ませ、CPU101の制御の下で通信制御部104、入力装置105、出力装置106などを動作させ、主記憶部102又は補助記憶部103におけるデータの読み出し及び書き込みを行うことで実現される。処理に必要なデータやデータベースは主記憶部102又は補助記憶部103内に格納される。
図4に示されるように、制御装置4は機能的構成要素として、撮像素子駆動ユニット11と、点灯制御ユニット(点灯制御部)12と、検出ユニット(算出部)13とを有する。撮像素子駆動ユニット11は、撮像素子6の撮影タイミングを制御する機能要素である。具体的には、撮像素子6を所定のフレームレート及び所定の露光時間で繰り返し撮像し、交互に明瞳孔画像及び暗瞳孔画像を取得するように制御する。点灯制御ユニット12は、撮像素子6の撮影タイミングに同期させて、光源3A,3Bの点灯タイミング及び撮像素子6の露光期間内の発光量を制御する機能要素である。本実施形態では、点灯制御ユニット12は、光源3A,3Bの発光量をそれぞれの点灯期間を設定することによって制御している。具体的には、点灯制御ユニット12は、明瞳孔画像の撮像タイミングである第1の画像取得期間内に光源3A及び光源3Bを同時に(又は連続して)点灯させ、暗瞳孔画像の撮像タイミングである第2の画像取得期間内に光源3Bのみを点灯させ、光源3Aを消灯させるように制御する。検出ユニット13は、撮像素子6から出力された眼画像データを利用して、当該眼画像データにおける瞳孔及び角膜反射を検出する機能要素である。検出された瞳孔及び角膜反射に関する情報の出力先は何ら限定されない。例えば、制御装置4は、結果を画像、図形、又はテキストでモニタに表示してもよいし、メモリやデータベースなどの記憶装置に格納してもよいし、通信ネットワーク経由で他のコンピュータシステムに送信してもよい。
検出ユニット13は、機能的構成要素として、画像取得部14と、差分画像生成部16と、点灯時間設定部17と、瞳孔検出部18と、角膜反射検出部19、とを有する。画像取得部14は、撮像素子6から所定のフレームレートで第1の画像取得期間及び第2の画像取得期間に同期して交互に撮影(取得)される明瞳孔画像及び暗瞳孔画像を、眼画像データとして取得する。差分画像生成部16は、明瞳孔画像及び暗瞳孔画像を比較した比較画像の一種としての差分画像を生成する。具体的には、差分画像生成部16は、明瞳孔画像及び暗瞳孔画像の対応する画素間の輝度の差分を計算することにより、両画像を比較した差分画像を生成する。このとき、明瞳孔画像と暗瞳孔画像を取得するタイミングには時間差があること、及び眼球Aがカメラ2に対して移動することを考慮して、差分画像生成部16は、特許第4452836に記載の手法を用いて、明瞳孔画像及び暗瞳孔画像上にウィンドウを設定し、角膜反射検出部19によって検出された明瞳孔画像及び暗瞳孔画像上の角膜反射像の位置を利用したそれらのウィンドウの差分位置補正を実行する。瞳孔検出部18は、差分画像を利用して瞳孔像の位置を算出する機能要素である。角膜反射検出部19は、明瞳孔画像のウィンドウ内の画像及び暗瞳孔画像のウィンドウ内の画像を利用して角膜反射像の位置を算出する機能要素である。瞳孔検出部18及び角膜反射検出部19により行われる処理の一例は、次の通りである。まず、瞳孔検出部18は、差分画像を瞳孔用閾値を基準に2値化し、孤立点除去、モルフォロジー処理によるノイズ除去、ラベリングを行う。そして、瞳孔検出部18は、最も瞳孔らしい形状を有する画素群を、瞳孔として検出する。このとき、瞳孔がまぶたやまつ毛で隠れた場合にも、まぶたやまつ毛と瞳孔との境界を偽の瞳孔輪郭として排除し、真の瞳孔輪郭のみを楕円フィッティングして、真の瞳孔輪郭の差分画像上の位置を検出し、楕円フィッティングで求まる楕円の式から瞳孔像の中心位置を算出する。また、角膜反射検出部19は、明瞳孔画像の瞳孔の近傍から瞳孔輝度よりも高い角膜反射用閾値で2値化し、角膜反射像の中心を、輝度を考慮した重心として求める。瞳孔輝度は、楕円フィッティングした結果得られる楕円の面積ではなく、2値化して得られた瞳孔を構成する画素の輝度平均で与えられる。角膜反射検出部19は、角膜反射像の位置を、暗瞳孔画像を対象にしても算出する。
次に、点灯時間設定部17の機能構成について詳細に説明する。
点灯時間設定部17は、取得される差分画像における瞳孔部の輝度が目標値に近づくように光源3A,3Bの点灯期間を設定するとともに、明瞳孔画像及び暗瞳孔画像における瞳孔像の位置の周辺の虹彩の輝度値が目標値に近づくように光源3Bの点灯期間を設定する。点灯時間設定部17は、設定した点灯期間で光源3A,3Bが発光するように、点灯制御ユニット12を経由して光源3A,3Bの動作を制御する。
図5には、点灯時間設定部17及び点灯制御ユニット12によって制御された各光源の点灯タイミングを示すタイミングチャートであり、(a)は、カメラ2の撮像タイミング、(b)は、光源3Aの点灯タイミング、(c)は、光源3Bの点灯タイミングをそれぞれ示している。図5に示すように、点灯制御ユニット12により、カメラ2によって交互に繰り返される明瞳孔画像の撮影期間(露光期間、第1の画像取得期間)T1及び暗瞳孔画像の撮影期間(露光期間、第2の画像取得期間)T2のうちの撮影期間T1に同期するように、光源3Aの点灯期間TBの点灯タイミング、及び光源3Bの点灯期間TCの点灯タイミングが制御され、暗瞳孔画像の撮影期間T2に同期するように、光源3Bの点灯期間TDCの点灯タイミングが制御される。このとき、点灯期間TB,TCの点灯タイミングの中央時点が撮影期間T1の中央時点に同期し、点灯期間TDの点灯タイミングの中央時点が撮影期間T2の中央時点に同期するように制御される。概念的には、明瞳孔画像の撮像時には、光源3Aが明瞳孔画像を生成するために点灯期間TBだけ点灯されるとともに、明瞳孔画像における角膜反射像の強調のために光源3Bが点灯期間TCだけ点灯される。また、暗瞳孔画像の撮像時には、光源3Bが暗瞳孔画像を得るために点灯期間TDだけ点灯されるとともに、それに加えて、暗瞳孔画像における角膜反射像の強調のために光源3Bが点灯期間TCだけ点灯される。
このとき、明瞳孔画像と暗瞳孔画像とで瞳孔部以外の眼部を含む顔の輝度が同等になるように、点灯期間TBと点灯期間TDとが同じになるように設定され、明瞳孔画像と暗瞳孔画像とで角膜反射像の輝度のバランスが取れるように、明瞳孔画像の撮像時の合計の点灯期間TB+TCが、暗瞳孔画像の撮像時の点灯期間TDC=TD+TCに等しくなるように設定される。つまり、明瞳孔画像撮影時の点灯期間TC分の点灯による輝度レベルへの影響は、暗瞳孔画像撮像時の点灯期間TC分の点灯による輝度レベルへの影響と同等であるため、差分画像においてそれぞれの影響は相殺されることになり、差分画像における瞳孔部の輝度は明瞳孔画像取得時の光源3Aの点灯期間TB及び暗瞳孔画像取得時の光源3Bの点灯期間TD=TBによって主に左右される。一方で、光源3Aと光源3Bとで観察対象者の顔面での照度は同じになるように調整されているので、明瞳孔画像撮影時の角膜反射の輝度は合計の点灯期間TB+TCによって左右され、暗瞳孔画像撮影時の角膜反射の輝度は合計の点灯期間TDC=TD+TCによって左右される。
具体的には、点灯時間設定部17は、明瞳孔画像及び暗瞳孔画像における角膜反射像の輝度値を一定にするために、今回のタイミングのフレームで取得された明瞳孔画像あるいは暗瞳孔画像における、角膜反射像の位置の周辺の虹彩の輝度値を基に、次回のタイミングのフレームの点灯期間TBと点灯期間TCとの和を変更する。ここでいう「フレーム」とは1つの明瞳孔画像とその直後の1つの暗瞳孔画像との組み合わせのフレームのことを指すものとする(以下、同様。)。それに合わせて、点灯時間設定部17は、次回のタイミングのフレームの点灯期間TDCを変更する。すなわち、Biを今回のフレームの虹彩の輝度値とし(iは自然数)、Bi-1を前回のフレームで検出された虹彩の輝度値とし、BGをその所定の目標値とすると、次回のフレームの点灯期間TDC
i+1は、前回のフレームの点灯期間TDC
iに対して、下記式;
TDC
i+1=TDC
i+KP(BG-Bi)-KD(Bi-Bi-1)/dt (1)
によって計算された値に変更される。言い換えると、点灯時間設定部17は、虹彩の輝度値Biと目標値BGとの比較結果と虹彩の輝度値Biの変動分とを反映したPD制御を利用して点灯期間の和TB+TC=TD+TCを増減させるように制御する。上記式(1)中、係数KPはPD制御におけるPゲインの値であり、係数KDはDゲインの値であり、dtはフレーム間の時間間隔であり、例えば、KP=0.5、KD=1.5と設定される。点灯制御ユニット12による光源3A,3Bの発光量の制御は数フレーム程度の時間の遅延が発生しうるが、このようなPD制御によって虹彩の輝度値を目標値に安定して近づける制御が実現できる。
同時に、点灯時間設定部17は、今回のフレームで得られた差分画像における瞳孔像の輝度値を基に次回のフレームにおける点灯期間TB(=点灯期間TD)を変更するように制御する。すなわち、Piを今回のフレームの瞳孔像の輝度値(例えば、平均輝度)とし、Pi-1を前回のフレームの瞳孔像の輝度値とし、PGを瞳孔像の輝度の所定の目標値とすると、次回のフレームの点灯期間TB
i+1は、前回のフレームの点灯期間TB
iに対して、下記式;
TB
i+1=TB
i+KP(PG-Pi)-KD(Pi-Pi-1)/dt (2)
によって計算された値に変更される。言い換えると、点灯時間設定部17は、瞳孔像の輝度値Piと目標値PGとの比較結果と瞳孔像の輝度値Piの変動分とを反映したPD制御を利用して点灯期間TB(=TD)を増減させるように制御する。上記式(2)中、係数KPはPD制御におけるPゲインの値であり、係数KDはDゲインの値であり、dtはフレーム間の時間間隔であり、例えば、KP=0.15、KD=1.0と設定される。これに応じて、次回のフレームの明瞳孔画像撮像時における光源3Bの点灯期間TC
i+1は、上記式(1)によって算出された点灯期間TDC
i+1を基に、下記式;
TC
i+1=TDC
i+1-TB
i+1 (3)
によって計算された値に変更される。
なお、点灯時間設定部17は、光源3A,3Bの点灯期間の制御に用いる虹彩の輝度値の特定を次のようにして行う。
図6は、暗瞳孔画像あるいは明瞳孔画像上で瞳孔検出部18によって検出された瞳孔像の位置のイメージを示している。このように、瞳孔検出部18によって、暗瞳孔画像あるいは明瞳孔画像上で瞳孔像の輪郭COP及び瞳孔像の中心位置OPが検出されていたとする。この場合、点灯時間設定部17は、画像上で輪郭COP上に位置するサンプル点の座標SAPを設定し、中心位置OPと座標SAPとを結ぶベクトルの終点を座標SAP側に所定倍率1:xで延長した終点の座標SABを計算する。そして、その座標SABを虹彩の輝度値を特定するためのサンプル点として選択し、サンプル点の座標SAPを均等に輪郭COP上から複数点(例えば、180点)設定してから座標SABの計算及び選択を繰り返す。この倍率xは、座標SABが常に虹彩IRの外縁の内側に入るように、適切な値が予め選択される。例えば、画像に映る瞳孔像の実寸半径と虹彩の外縁の実寸半径との関係から予め設定される。
そして、点灯時間設定部17は、対象とする明瞳孔画像あるいは暗瞳孔画像上での複数のサンプル点SABの輝度値を特定し、その輝度値の度数分布(ヒストグラム)を集計する。図7には、点灯時間設定部17によって集計されたヒストグラムの一例を示す。次に、点灯時間設定部17は、その度数分布の中から最も度数の高い分布の輝度値を特定し、その輝度値から輝度値が大きくなるほう及び輝度値が小さくなるほうに(図7に示す矢印方向に)度数を探索し、度数が最初に零となるところまで探索を続ける。その後、点灯時間設定部17は、探索した全ての輝度値の平均を虹彩の輝度値として算出する。ここで、点灯時間設定部17は、除外された輝度値の度数が全体のサンプル点の半数である90点以上の場合には虹彩の輝度値を誤検出として処理する。
なお、点灯時間設定部17は、ある連続するフレームにおいて明瞳孔画像あるいは暗瞳孔画像上で角膜反射像の位置の検出が成功した際には、そのフレームにおいては、上述した虹彩の輝度値を基にした光源3A,3Bの点灯期間の制御に代えて、角膜反射像の輝度値を基にした光源3A,3Bの点灯期間の制御を実行する。この場合、点灯時間設定部17は、上記式(1)において、虹彩の輝度値Bi,Bi-1に代わりに角膜反射像の輝度値Ci,Ci-1を設定し、目標値BGに代えて別の予め設定された目標値CGを参照する。
図8は、本実施形態の瞳孔検出装置1で得られた眼画像データの瞳孔部付近の輝度の一次元分布を示すグラフであり、(a)は明瞳孔画像の一次元分布、(b)は暗瞳孔画像の一次元分布、(c)は差分画像の一次元分布をそれぞれ示している。これらのグラフには、角膜反射を含む線分上の眼画像データの一次元分布を示している。
このように、明瞳孔画像と暗瞳孔画像においては、角膜反射像IMCの輝度振幅Dは、第1の画像取得期間あるいは第2の画像取得期間での光源3A,3Bの合計の発光量にほぼ比例する。瞳孔像IMPの領域内に角膜反射像IMCが観察される場合には、瞳孔像の輝度に角膜反射像の輝度が重畳するような輝度のプロファイルとなる。この場合に、本実施形態のように、明瞳孔画像の取得中と暗瞳孔画像の取得中とで顔に対する合計の発光量が同じになるように発光量の調整が行われると、差分画像においては、瞳孔部以外の輝度値がほぼ零となり、瞳孔部のみが正の輝度値となる。それと同時に、明瞳孔画像中と暗瞳孔画像中での角膜反射像の輝度振幅Dがほぼ一致し、その値が時間的にも安定化される。
第1実施形態の瞳孔検出装置1の作用効果について説明する。
上述した実施形態の瞳孔検出装置1においては、カメラ2の開口部8中心から比較的近い位置に配置された光源3A及びその開口部中心から比較的遠い位置に配置された光源3Bの点灯タイミングに合わせてカメラ2で画像を取得することにより、瞳孔が相対的に明るく写った明瞳孔画像が得られ、光源3Bの点灯タイミングに合わせてカメラで画像を取得することにより、瞳孔が相対的に暗く写った暗瞳孔画像が得られ、明瞳孔画像と暗瞳孔画像とを比較した比較画像を用いて観察対象者の瞳孔像の位置が算出される。このとき、明瞳孔画像あるいは暗瞳孔画像における瞳孔像の周辺の虹彩の輝度値を基に明瞳孔画像の取得時の光源3A,3Bの発光量の和が変更されることにより、明瞳孔画像中の瞳孔以外の眼部の輝度を安定化することができる。それと同時に、虹彩の輝度値を基に暗瞳孔画像の取得時の光源3Bの発光量が変更されることにより、暗瞳孔画像中の瞳孔以外の眼部の輝度を安定化することができる。その結果、比較画像を用いた瞳孔像位置の検出精度を向上させることができる。
具体的には、観察対象者の頭部の方向が動いた場合には明瞳孔画像あるいは暗瞳孔画像上に角膜反射像が現れなくなるため、前のフレームの角膜反射像の輝度値を基にした角膜反射像の輝度値の安定化の制御が困難となる。このような状態のまま、頭部がカメラに対して前後に動いたときに、差分画像における瞳孔像の輝度値の安定化の制御は可能であるものの、角膜反射像の輝度値の安定化の制御が中断し、再度頭部の方向が動いて角膜反射が再出現した際に、角膜反射像の輝度値の安定化が困難となる。その結果、角膜反射像の位置を用いたウィンドウの差分位置補正が不可能となり、瞳孔像の位置の検出精度が低下してしまう。これに対して、本実施形態によれば、角膜反射像の検出が不可能な場合に、虹彩の輝度値を基に顔に対する光源3A,3Bの発光量を制御するので、観察対象者の頭部が動いた場合であっても角膜反射像の輝度値を安定化させて瞳孔像の位置の検出精度を維持することができる。虹彩の輝度値以外に顔の輝度値を利用することも考えられるが、顔における輝度値は場所によって大きく異なるし、顔が動いた際に顔の同じ個所を特定してその同じ個所の輝度値を計測することは困難である。特に、カメラに対する顔の向きが変わった際に顔の輝度値は大きく変化してしまう。さらに、太陽光等の環境光が顔に当たるような環境下(例えば、装置を自動車のドライバーに使用する場合)では、顔の輝度値が飽和しやすく、光量制御が機能しなくなる。これに対して、虹彩の部分は、太陽光が直接当たる環境下で顔のほとんどの部分の輝度値が飽和しても、その輝度値は飽和しない。従って、虹彩の輝度値は、顔が動いたり、太陽光が直接当たったりした場合でも安定して検出できるため、光源3A,3Bの発光量の制御に用いるのに有利である。
また、既に説明したように、眼画像中における角膜反射像の輝度振幅は、第1又は第2の画像取得期間中における光源3A,3Bの発光量の合計にほぼ比例する。もし、頭部が停止していれば、この発光量に比例して顔の各部分の輝度も変化する。ここで、光源3A,3Bの発光量を大きくしすぎると、例えば、瞼、又は、瞼と目の境界部分等に角膜反射像と同じ輝度でサイズが同等な画素群が発生して、角膜反射像の検出の際の候補の画素群となり、角膜反射の誤検出を生じやすくなる。しかも、候補の画素群が多くなると正しい角膜反射像の特定のための演算時間及び使用メモリ量も増加するため、候補の画素群は少ないことが望ましい。本実施形態の瞳孔検出装置1によれば、眼画像中の角膜反射像の輝度が目標値に維持されて過度に発光量が大きくなることがないため、角膜反射像検出の際の候補の画素群の発生も抑えられ、演算時間及び使用メモリ量を削減することができる。
ここで、検出ユニット13の点灯時間設定部17は、明瞳孔画像あるいは暗瞳孔画像における瞳孔像の中心位置及び輪郭を検出し、中心位置から輪郭上の複数の点を延長した複数のサンプリング点上の輝度値を用いて、虹彩の輝度値を特定している。このような機能により、明瞳孔画像あるいは暗瞳孔画像上における虹彩に対応する位置を適切にサンプリングすることができ、そのサンプリング結果を用いて光源3A及び光源3Bの発光量を制御することによって、明瞳孔画像及び暗瞳孔画像の取得時の眼部に対する照明効果を安定化することができる。
また、検出ユニット13の点灯時間設定部17は、虹彩の輝度値と目標値との比較結果を基に、第1の画像取得期間内の発光量の和、及び第2の画像取得期間内の発光量を増減させるように制御している。こうすれば、明瞳孔画像及び暗瞳孔画像中の瞳孔以外の眼部の輝度を目標値を基準にして安定化することができる。
また、点灯制御ユニット12は、光源3A及び光源3Bの点灯タイミングの中心を、第1の画像取得期間及び第2の画像取得期間における中央時点に同期するように制御している。このようにすることで、観察対象者の眼部全体の照明タイミングとカメラ2による眼画像の取得タイミングとを一致させることができ、比較画像を用いた瞳孔像位置の算出精度を向上させることができる。
また、検出ユニット13の角膜反射検出部19は、明瞳孔画像あるいは暗瞳孔画像を基に観察対象者の角膜反射像の位置を算出する機能を有している。このような機能を有する角膜反射検出部19では、点灯時間設定部17の制御により明瞳孔画像及び暗瞳孔画像中の瞳孔以外の眼部の輝度を安定化することができる結果、眼部で生じる角膜反射像の位置の検出も安定化できる。
さらに、検出ユニット13の点灯時間設定部17は、明瞳孔画像あるいは暗瞳孔画像を基にした角膜反射像の検出が成功した際には、角膜反射像の輝度値を基に光源3A及び光源3Bの発光量を制御している。このように動作することで、明瞳孔画像及び暗瞳孔画像中の瞳孔以外の眼部の輝度、特に角膜反射像の輝度値を安定化することができる。その結果、瞳孔像の位置検出精度を高めることができる。
(第2実施形態)
以下、上述した第1実施形態に係る瞳孔検出装置1を応用した第2実施形態に係る視線検出装置201の構成について説明する。図9は、視線検出装置201の機能構成を示すブロック図である。視線検出装置201は、上述した光源3A,3Bと撮像素子6を含むカメラ2とによってそれぞれ構成される2つの光学系202a,202bと、制御装置4とを備える。制御装置4の検出ユニット13は、観察対象者の視線方向を検出するための機能要素として視線検出部20をさらに備えている。
制御装置4の撮像素子駆動ユニット11は、2つの光学系202a,202bの撮像素子6の撮影タイミングを制御し、点灯制御ユニット12は、2つの光学系202a,202bの光源3A,3Bの点灯タイミングを制御する。2つの光学系202a,202bは、互いの撮影タイミング及び点灯タイミングをずらして光源の光が互いに干渉しあわないように制御されることも可能である。本実施形態では、各カメラ2による撮影の時間差を可能な限り少なくするために、2つの光学系202a,202bの撮像素子6の撮影タイミングが同期するように制御される。その際、2つの光学系202a,202bの各光源3A,3Bの点灯期間の設定は、上述した点灯時間設定部17による設定手順と同様に、2つの光学系202a,202bで独立に行われる。このような構成にすることで、複数のカメラ2で得られた眼画像データ間の時間差をなくすことができ、複数の瞳孔画像からステレオマッチングで瞳孔の三次元座標を求める際の誤差を小さくすることができ、視線検出の誤差を小さくすることができる。つまり、各光学系のカメラ2間で同期をとっていれば、2台のカメラどうしで眼画像データの取得時間差がないため観察対象者の頭部の動きによる誤差を少なくすることができる。
詳細には、制御装置4の点灯時間設定部17は、各光学系202a,202bにおいて設定される点灯期間TB,TC,TD,TDCをそれぞれ点灯期間TBn,TCn,TDn,TDCnとした場合(nはカメラ2を識別する番号であり、n=1,2)、点灯期間TBn=TDnとなるように常に制御する。これにより、一方の光学系の光源の光が他方の光学系のカメラ2に入ったとしてもそれぞれのカメラ2によって取得される明瞳孔画像と暗瞳孔画像との間で瞳孔部以外の輝度レベルは一致し、差分画像から安定して瞳孔を検出できる。各光学系202a,202bにおいて、一方の光学系のカメラ2自身に取り付けた光源3A,3Bのうち、明瞳孔効果(瞳孔を明るく映す効果)が強いのはそのカメラ2に取り付けた光源3Aのみである。他方の光学系のカメラ2に取り付けた光源3A,3Bは共に同じ位置にあるとみなせるため、同じレベルの強い暗瞳孔効果(瞳孔を暗く映す効果)を持つ。このことから、一方の光学系のカメラ2での明瞳孔画像及び暗瞳孔画像の撮影時に、他方の光学系のカメラ2の光源が同じパワー(点灯期間)で発光した場合には、他方の光学系のカメラ2の光源は一方の光学系のカメラ2から得られる差分画像における瞳孔像の輝度には影響を与えない。差分画像の瞳孔像の輝度に影響を与えるのは一方の光学系のカメラ2自身に取り付けた光源3Aと光源3Bとの明瞳孔効果の差のみである。
制御装置4の点灯時間設定部17は、各光学系202a,202bごとに、上記式(1)~(3)を用いて、現在のフレームの眼画像データから得られた虹彩の輝度値又は角膜反射像の輝度値、及び瞳孔像の輝度値を基に、次回のフレームの点灯期間TBn,TCn,TDCnを設定する。この際、点灯時間設定部17は、TB1=TD1、及びTB2=TD2となるように、各カメラ2で独立に点灯期間を設定することが好適である。こうすれば、観察対象者の頭部が左右に動く、2台のカメラ2までの距離が違ってきた場合に各カメラ2で取得される眼画像データ間での瞳孔部以外の輝度レベルが一致する。一方で、TB1=TD1=TB2=TD2となるように点灯期間を設定してもよい。こうすれば、両方のカメラ2で取得された眼画像データ間の瞳孔部以外の輝度レベルが一致し、両方のカメラ2で同じ明るさの顔画像が撮影可能とされる。点灯時間設定部17は、2つの光学系202a,202bの角膜反射像形成のための光源3Bの点灯期間TC1,TC2を独立に設定し、虹彩の輝度値あるいは角膜反射像の輝度値に応じて点灯期間TB1+TC1,TB2+TC2を独立に制御する。この場合も、点灯時間設定部17は、点灯期間TC1=TC2、点灯期間TB1+TC1=TB2+TC2となるように制御してもよい。
制御装置4の視線検出部20は、2つの光学系202a,202bごとに、差分画像を基に検出された瞳孔像の位置と、暗瞳孔画像及び明瞳孔画像のそれぞれを対象に検出された角膜反射像の位置とを取得する。そして、視線検出部20は、2つの光学系202a,202bに対応して得られた瞳孔像の位置を用いて、観察対象者の瞳孔の三次元位置を算出する。さらに、視線検出部20は、算出した瞳孔の三次元位置、2つの光学系202a,202bごとに得られた瞳孔像の位置及び角膜反射像の位置とを用いて観察対象者の視線方向および注視点を検出する。上記の瞳孔三次元位置の算出手法、視線方向および注視点の算出手法は、本発明者らによって開発された手法(国際公開WO2012/020760号公報参照)を採用することができる。
ここで、制御装置4の差分画像生成部16は、明瞳孔画像及び暗瞳孔画像上にウィンドウを設定する際には、直前に算出された観察対象者の瞳孔の三次元座標を用いて、明瞳孔画像及び暗瞳孔画像のそれぞれにおいて、その三次元座標に基づいた画素サイズの矩形のウィンドウを設定する。すなわち、瞳孔の三次元座標を基にカメラ2と瞳孔との間の距離を評価し、ピンホールモデルの原理を利用して、ウィンドウの領域に対応する実寸のサイズが所定のサイズとなるように、ウィンドウの画素サイズを設定する。この所定のサイズとは観察対象者の眼が十分に収まるようなサイズとされる。さらに、差分画像生成部16は、明瞳孔画像及び暗瞳孔画像上のそれぞれに設定されたウィンドウ内の画像を、バイキュービック補完法あるいはバイリニア補完法を用いて、同一の画素サイズ(例えば、140×140画素)の画像に変換する。そして、変換された画像に対して差分位置補正を施した後に差分画像を生成する。このように動作することで、カメラ2と観察対象者との距離が変化する際に画像に写る観察対象者の顔のサイズが変化する場合であっても、差分画像を用いた瞳孔像の検出結果の高精度化を図ることができる。
また、制御装置4の角膜反射検出部19は、明瞳孔画像及び暗瞳孔画像から角膜反射像の位置を算出する際に、国際公開WO2018/164104号公報に記載の手法を用いて、角膜球のステレオマッチングによって、角膜反射像の候補の中から偽の角膜反射像を除外するように処理してもよい。そうすれば、角膜反射像候補が増加した場合でも角膜反射像の誤検出を防止できる。
さらに、制御装置4の点灯時間設定部17は、明瞳孔画像あるいは暗瞳孔画像上で虹彩の輝度値を特定する際には、次のように、処理することができる。すなわち、点灯時間設定部17は、差分画像を用いて瞳孔輪郭として求められた楕円から長径を計算し、その長径の実寸サイズをピンホールモデルの原理を利用して瞳孔の三次元座標を基に計算し、変数xを、所定値(例えば、瞳孔中心OPから虹彩までの実寸距離に対応する数値4mm)を長径の実寸サイズで割り算した値として計算する。その後、点灯時間設定部17は、瞳孔中心OPと座標SAPとを結ぶベクトルを1:xで延長した終点の座標SABを計算する。このようにすれば、カメラ2と観察対象者との距離が変化する際に画像に写る観察対象者の顔のサイズが変化する場合であっても、虹彩の輝度値を精度よく特定することができる。
上述した視線検出装置201によれば、算出した瞳孔像の位置及び角膜反射像の位置を基に、観察対象者の視線方向も安定して検出することができる。また、本実施形態の制御装置4の差分画像生成部16は、明瞳孔画像及び暗瞳孔画像のそれぞれにおいて瞳孔像の三次元座標に基づいて設定された画素サイズのウィンドウを設定し、両画像のウィンドウ内の画像を同一の画素サイズの画像に変換した後に比較画像を生成している。こうすれば、観察対象者の位置がカメラに対して変動する場合であっても、画像中における瞳孔像の位置を高精度に検出することができる。
本発明は、上述した実施形態に限定されるものではない。上記実施形態の構成は様々変更されうる。
上述した各実施形態では、点灯時間設定部17は、1つの明瞳孔画像とその直後の1つの暗瞳孔画像との組み合わせのフレーム単位で点灯期間の設定を制御していたが、制御単位である1つのフレームを構成する画像は、1つの暗瞳孔画像とその直後の1つの明瞳孔画像との組み合わせであってもよい。
また、上述した各実施形態では、差分画像生成部16が、明瞳孔画像と暗瞳孔画像とを比較した比較画像として差分画像を生成していたが、特開2008-246004号公報に記載されたように、比較画像として除算画像を用いるようにしてもよい。さらには、比較画像として、他の演算により明瞳孔画像と暗瞳孔画像とを比較した画像が生成されてもよい。
また、上述した各実施形態では、点灯時間設定部17は、連続するフレームにおいて角膜反射像の位置の検出が成功したか否かに関わらず、常に虹彩の輝度値を基にして光源の点灯時間の制御を実行してもよい。
また、各実施形態の検出ユニット13は、太陽光等の外乱光が存在した場合を考慮して、国際公開WO2016/027627号公報に記載されたように、明瞳孔画像と暗瞳孔画像の取得タイミングの間の光源3A,3Bの両方を消灯したタイミングを設け、そのタイミングで無照明画像を取得するように動作してもよい。この場合、検出ユニット13は、明瞳孔画像から無照明画像を差分した画像(差分明瞳孔画像)を上述の明瞳孔画像に置き換え、暗瞳孔画像から無照明画像を差分した画像(差分暗瞳孔画像)を上述の暗瞳孔画像に置き換え、上述と同様な方法により、瞳孔像の検出、角膜反射像の検出、視線方向の検出等を行う。このように処理すれば、太陽光等の外乱光の存在下でもその影響を除去できる。
また、各実施形態の検出ユニット13の瞳孔検出部18及び角膜反射検出部19は、瞳孔用閾値あるいは角膜反射用閾値を用いて2値化しているが、これらの閾値はフレーム毎に可変としてもよい。例えば、明瞳孔画像、暗瞳孔画像、及び差分画像における虹彩の輝度を基に、これらの閾値を適切に瞳孔像あるいは角膜反射像を検出できる値に自動調整してもよい。このようにすれば、観察対象者の頭部が動いて刻々と虹彩の輝度が変化して、差分画像における虹彩の輝度あるいは顔の輝度が零から離れた値になったり、明瞳孔画像及び暗瞳孔画像におけるこれらの輝度が変化した場合でも、瞳孔像の位置及び角膜反射像の位置を精度よく検出できる。
また、上述した実施形態にかかる照明装置3における各光源の構成は様々変更してもよい。
図10には、上述した瞳孔検出装置1及び視線検出装置201に含まれる照明装置3の変形例の構成を示している。同図に示すように、変形例にかかる照明装置203は、ケーシング9に埋め込まれた光源3A,3Bに加えて光源3Cを有する構成を有する。光源3Cも対物レンズ7の光軸L0(図1)に沿って照明光を出射するようにケーシング9上に設けられている。第1実施形態と同様に、光源3Aは明瞳孔画像を得るための照明光を照射するための光源であり、光源3Bは、暗瞳孔画像を得るための照明光を照射するための光源(主光源)である。光源3Cは、明瞳孔画像及び暗瞳孔画像の取得時において角膜反射を強調させるための光源(補助光源)として別途設けられる。
具体的には、光源3Cは、例えば、出力光の中心波長が近赤外領域の複数の半導体発光素子(LED)からなり、開口部8の中心からの距離が距離D1より大きい位置に配置されている。具体的には、光源3Cは、発光素子によって複数の領域に分離されて配置されており、ケーシング9上で、複数の光源3Bと交互に直線状に並ぶように配設されている。光源3Cの出力光の中心波長は、光源3A,3Bの出力光の中心波長と同じ波長に設定されてもよいし、異なる波長に設定されてもよい。例えば、光源3Cの出力光の中心波長は、瞳孔が光りにくい波長(例えば、950nm)に設定されてもよい。また、光源3Cの発光素子の数は、光源3A,3Bと同一であってもよいし異なっていてもよい。このような光源3Cの存在により、後述するように、光源3A,3Bにより照らし出される観察対象者の像においては、角膜反射像の輝度が調整される。
次に、変形例に係る照明装置203の構成を採用した各実施形態における制御装置4の機能の各実施形態との相違点について説明する。すなわち、制御装置4の点灯制御ユニット12及び検出ユニット13は、上記構成の光源3Cを含む照明装置203の点灯タイミングを図11に示すように制御する。図11は、点灯時間設定部17及び点灯制御ユニット12によって制御された各光源の点灯タイミングを示すタイミングチャートであり、(a)は、カメラ2の撮像タイミング、(b)は、光源3Aの点灯タイミング、(c)は、光源3Bの点灯タイミング、(d)は、光源3Cの点灯タイミング、をそれぞれ示している。
図11に示すように、点灯制御ユニット12により、カメラ2によって交互に繰り返される明瞳孔画像の撮影期間T1及び暗瞳孔画像の撮影期間T2のうちの撮影期間T1に同期するように、光源3Aの点灯期間TBの点灯タイミングが制御され、暗瞳孔画像の撮影期間T2に同期するように、光源3Bの点灯期間TDの点灯タイミングが制御される。それと同時に、点灯制御ユニット12により、カメラ2の撮影期間T1及び撮影期間T2のそれぞれに同期するように、光源3Cの点灯期間TCの点灯タイミングが制御される。概念的には、明瞳孔画像の撮像時には、光源3Aが明瞳孔画像を生成するために点灯期間TBだけ点灯されると同時に、明瞳孔画像における角膜反射像の強調のために光源3Cが点灯期間TCだけ点灯される。また、暗瞳孔画像の撮像時には、光源3Bが暗瞳孔画像を得るために点灯期間TDだけ点灯されると同時に、暗瞳孔画像における角膜反射像の強調のために光源3Cが点灯期間TCだけ点灯される。これにより、光源3Cの点灯による明瞳孔画像及び暗瞳孔画像における輝度レベルの増加分は差分画像においては相殺されるため、光源3Cの点灯は差分画像における瞳孔像の輝度には影響は与えない。一方で、光源3Cの点灯は、明瞳孔画像及び暗瞳孔画像における角膜反射像の輝度レベルあるいは瞳孔部以外の顔領域の輝度に影響を与える。
制御装置4の点灯時間設定部17は、明瞳孔画像と暗瞳孔画像とで瞳孔部以外の顔の輝度が同等になるように、点灯期間TBと点灯期間TDとが同じになるように設定し、かつ、前回のフレームで取得された差分画像における瞳孔像の輝度が一定となるようにそれぞれの光源3A,3Bの点灯期間TB,TDを変更して設定する。それとともに、点灯時間設定部17は、前回のフレームで取得された明瞳孔画像及び暗瞳孔画像における虹彩の輝度あるいは角膜反射像の輝度が目標値に近づくように光源3Cの点灯期間TCを変更して設定する。各点灯期間の設定方法の詳細は、上述した第1実施形態の場合と同様である。
本変形例の照明装置203の構成を採用して、虹彩の輝度値を基に光源3Cの発光量を変更するように制御することで、角膜反射像の強調のための照明による差分画像における瞳孔輝度に対する影響を抑えながら、明瞳孔画像及び暗瞳孔画像中の瞳孔以外の眼部の輝度を安定化することができる。その結果、差分画像を用いた瞳孔像位置の検出精度をさらに向上させることができる。
図12は、変形例に係る照明装置203の構成を採用した第2実施形態において検出された、虹彩輝度と瞳孔-カメラ間の距離の複数フレーム間の変化を示している。図12の(a)部には、光源3A,3B,3Cの光量調整の制御を動作させなかった場合の虹彩輝度の検出結果であるグラフM1、及び瞳孔-カメラ間の距離の検出結果であるグラフM2を示し、図12の(b)部には、光源3A,3B,3Cの光量調整の制御を動作させた場合の虹彩輝度の検出結果であるグラフM1、及び瞳孔-カメラ間の距離の検出結果であるグラフM2を示している。
この結果では、光量調整制御を行わない場合、瞳孔-カメラ間の距離が長くなると虹彩輝度が小さくなり、逆に距離が短くなると虹彩輝度は大きくなっている。一方、光量調整制御を行う場合は、瞳孔-カメラ間の距離が変化しても虹彩輝度がほぼ一定に保たれている。
図13及び図14には、変形例に係る照明装置203の構成を採用した第2実施形態において検出された、角膜反射輝度と瞳孔-カメラ間の距離の複数フレーム間の変化を示している。図13は光量調整制御を行わない場合の検出結果を示し、図14は光量調整制御を行った場合の検出結果を示し、それぞれの図の(a)部には瞳孔-カメラ間の距離の検出結果であるグラフM2を示し、それぞれの図の(b)部には明瞳孔画像及び暗瞳孔画像上のウィンドウの画素数の設定及び変換を行わなかった場合の角膜反射輝度の検出結果であるグラフM3と、ウィンドウの画素数の設定及び変換を行った場合の角膜反射輝度の検出結果であるグラフM4とを示す。このとき、角膜反射像の候補としては面積が10画素以上の画素群を選択するように角膜反射像の検出の処理を設定した。
これらの結果においては、光量調整制御を行わない場合、ウィンドウの画素数の設定及び変換の処理の有無にかかわらず、瞳孔-カメラ間の距離が大きくなると角膜反射像が検出できなくなった。一方、光量調整制御を行った場合、ウィンドウの画素数の設定及び変換の処理を行わないと、瞳孔-カメラ間の距離が大きくなると角膜反射像が検出できなかったが、光量調整制御を行わない場合に比較すると、角膜反射像が検出できない割合が低下した。さらに、光量調整制御もウィンドウの画素数の設定及び変換の処理も行った場合は、ほぼすべてのフレームで角膜反射像が検出できることが分かった。このことから、光量調整制御とウィンドウの画素数の設定及び変換の処理により、角膜反射像の検出においてロバスト性を向上できることが明らかとなった。
また、上述した各実施形態では、点灯時間設定部17は、明瞳孔画像あるいは暗瞳孔画像において楕円フィティングを用いて検出された瞳孔像の輪郭の位置を示す楕円の式を用いて、虹彩の輝度値を特定するための複数のサンプリング点を設定してもよい。詳細には、図15に示すように、瞳孔検出部18によって楕円フィッティングして求められた楕円COPの式から、画像中の瞳孔像の中心座標OP(x0,y0)、長径の半分の長さLA,短径と長径との比(長径に対する短径の比)R(<1)、長径の画像座標系の横軸に対する傾きθ0が求まる。よって、瞳孔像の輪郭を近似した楕円COP上で等角度間隔Δθでサンプリングされたi番目のサンプル点SAPiは、下記式によって計算された座標(xi,yi)で与えられる。
(xi,yi)=(x0+LA×cos(Δθ×i+θ0), yo+R×LA×sin(Δθ×i+θ0))
従って、点灯時間設定部17は、中心座標OPから外側に向けて楕円COP上の複数のサンプル点SAPiを延長した複数のサンプリング点SASiを、長径の半分の長さがLCである楕円COS上の点として、下記式により計算した座標(xSi,ySi)で求めることができる。
(xSi,ySi)=(x0+LC×cos(Δθ×i+θ0), yo+R×LC×sin(Δθ×i+θ0))
例えば、上記式中の長さLCは、虹彩の位置に対応するように、例えば、4mmに設定される。
このように複数のサンプリング点を設定することで、安定して虹彩の輝度値を特定することができる。すなわち、上述した実施形態では瞳孔の輪郭上の点が全て正確に検出されていることが前提であるが、実際は瞼で瞳孔の一部が隠れると瞳孔の輪郭は偽の輪郭点も含んで検出される。上記のように楕円フィッティングの結果を用いてサンプル点を設定することで、偽の輪郭点を含んだ場合でも安定して虹彩の位置を特定することができる。