JP6536324B2 - 視線検出システム、視線検出方法および視線検出プログラム - Google Patents

視線検出システム、視線検出方法および視線検出プログラム Download PDF

Info

Publication number
JP6536324B2
JP6536324B2 JP2015193729A JP2015193729A JP6536324B2 JP 6536324 B2 JP6536324 B2 JP 6536324B2 JP 2015193729 A JP2015193729 A JP 2015193729A JP 2015193729 A JP2015193729 A JP 2015193729A JP 6536324 B2 JP6536324 B2 JP 6536324B2
Authority
JP
Japan
Prior art keywords
edge
pupil
detection
detection unit
detected
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2015193729A
Other languages
English (en)
Other versions
JP2017068615A (ja
Inventor
大祐 石井
大祐 石井
哲 中島
哲 中島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015193729A priority Critical patent/JP6536324B2/ja
Priority to EP16187589.3A priority patent/EP3151166B1/en
Priority to US15/262,104 priority patent/US10417494B2/en
Publication of JP2017068615A publication Critical patent/JP2017068615A/ja
Application granted granted Critical
Publication of JP6536324B2 publication Critical patent/JP6536324B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • G06V40/193Preprocessing; Feature extraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/42Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
    • G06V10/421Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation by analysing segments intersecting the pattern
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • G06V40/19Sensors therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • G06V40/197Matching; Classification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Ophthalmology & Optometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Eye Examination Apparatus (AREA)
  • Image Analysis (AREA)

Description

本発明は、視線検出システム、視線検出方法および視線検出プログラムに関する。
ユーザの視線方向や注視位置を検出する視線検出技術が知られている。視線検出方法の一例として、ユーザの眼を撮像して得られた画像から、光源の角膜反射像と瞳孔とを検出し、角膜反射像と瞳孔の中心との位置関係に基づいてユーザの視線を検出する方法がある。
この方法では、角膜反射像および瞳孔の中心の各位置を正確に検出することが求められる。しかし、照明光源とカメラとの間隔が近いと、照明光源からの光が網膜で反射され、その反射光が瞳孔を通じてカメラに達する。その結果、カメラにより撮影された画像上で瞳孔全体が明るくなる明瞳孔状態になることが知られている。そして、明瞳孔状態になった場合には、角膜反射像の輪郭が明確でなくなり、角膜反射像の検出が困難になる場合がある。
この問題に対し、カメラからユーザの顔までの距離を推定し、照明光源とカメラとの間隔に対する、その距離の推定値の比に基づいて、明瞳孔状態となるか否かを判定し、その判定結果に応じて視線検出方法を切り替える技術が提案されている。
特開2014−67102号公報
ところで、瞳孔の中心を検出する方法としては、瞳孔の輪郭から瞳孔の中心を検出する方法と、虹彩の輪郭から瞳孔の中心を求める方法とがある。これらのうち、前者の方法の方が瞳孔の中心を高精度に検出できる。それは、通常状態では、瞳孔と虹彩との輝度差は虹彩と強膜との輝度差より大きく、また、虹彩は上部と下部が瞼により隠れやすいため、瞳孔の輪郭の方が虹彩の輪郭より明確に検出できるからである。
しかし、前述の明瞳孔状態では、瞳孔が明るくなるために、瞳孔と虹彩との輝度差が小さくなり、通常状態、即ち明瞳孔状態ではない場合よりも瞳孔の輪郭を検出しにくくなる。さらに、瞳孔が通常よりやや明るくなる「半明瞳孔」と呼ばれる状態になる場合もあり、この場合には瞳孔と虹彩との輝度差がほとんどなくなり、瞳孔の輪郭を検出することが困難になる。
そこで、明瞳孔や半明瞳孔の状態になったかを検出し、その検出結果に応じて、瞳孔の輪郭から瞳孔の中心を検出する処理と、虹彩の輪郭から瞳孔の中心を求める処理とを切り替える方法が考えられる。しかし、カメラとユーザの顔までの距離の推定結果に基づいて明瞳孔状態か否かを判定する前述の方法では、距離の推定精度が十分高くないことや、虹彩の輝度に個人差があることから、明瞳孔状態か否かの判定精度は高いとは言えない。その結果、瞳孔の中心の検出精度が低下するという問題がある。
1つの側面では、本発明は、瞳孔の中心位置の検出精度を向上させることが可能な視線検出システム、視線検出方法および視線検出プログラムを提供することを目的とする。
1つの案では、境界検出部と、中心位置検出部と、視線検出部とを有する視線検出システムが提供される。境界検出部は、撮像画像上のユーザの眼領域から、輝度に基づくエッジ検出によって瞳孔と虹彩との境界の位置を検出する。中心位置検出部は、境界検出部によって境界の位置が検出されたか否かに応じて、瞳孔の中心位置を検出する第1の処理と、第1の処理とは異なる手順で瞳孔の中心位置を検出する第2の処理とを切り替えて実行する。視線検出部は、中心位置検出部によって検出された瞳孔の中心位置に基づいて、ユーザの視線方向または注視位置を検出する。
また、1つの案では、上記の視線検出システムと同様の処理をコンピュータが実行する視線検出方法が提供される。
さらに、1つの案では、上記の視線検出システムと同様の処理をコンピュータに実行させる視線検出プログラムが提供される。
1つの側面では、瞳孔の中心位置の検出精度を向上させることができる。
第1の実施の形態に係る視線検出システムの構成例および処理例を示す図である。 第2の実施の形態に係る視線検出装置のハードウェア構成例を示す図である。 瞳孔の状態を示す図である。 視線検出装置の処理機能の構成例を示すブロック図である。 エッジ検出結果の第1の例を示す図である。 エッジ検出結果の第2の例を示す図である。 エッジ検出結果の第3の例を示す図である。 エッジ検出部によるエッジ検出領域の設定例を示す図である。 瞳孔の中心位置の検出処理例を示す図である。 視線検出処理手順の例を示すフローチャートである。 エッジペア検出についての処理例1−1を示すフローチャート(その1)である。 エッジペア検出についての処理例1−1を示すフローチャート(その2)である。 エッジペア検出についての処理例1−2を示すフローチャート(その1)である。 エッジペア検出についての処理例1−2を示すフローチャート(その2)である。 瞳孔の中心位置検出処理についての処理例2−1を示すフローチャートである。 瞳孔の中心位置検出処理についての処理例2−2を示すフローチャートである。 テンプレートと尤度との関係の例を示す図である。 瞳孔の中心位置検出処理についての処理例2−3を示すフローチャートである。
以下、本発明の実施の形態について図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態に係る視線検出システムの構成例および処理例を示す図である。第1の実施の形態に係る視線検出システム1は、境界検出部1a、中心位置検出部1bおよび視線検出部1cを有する。境界検出部1a、中心位置検出部1bおよび視線検出部1cの各処理は、例えば、プロセッサが所定のプログラムを実行することで実現される。また、境界検出部1a、中心位置検出部1bおよび視線検出部1cの各処理機能の少なくとも一部は、他の処理機能とは別の装置に実装されてもよい。
境界検出部1aは、撮像画像上のユーザの眼領域10から、輝度に基づくエッジ検出を行うことで、瞳孔11と虹彩12との境界を検出する。例えば、境界検出部1aは、眼領域10内に線状または帯状の検出領域13を設定し、検出領域13の長手方向に対してエッジ検出を行う。境界検出部1aは、検出されたエッジのうち、前後で輝度が減少する第1のエッジと前後で輝度が増加する第2のエッジの検出領域13における位置の対称性に基づいて、瞳孔11と虹彩12との境界の位置を検出する、図1の例では、瞳孔11と虹彩12との2つの境界11a,11bが検出されている。境界11a,11bは、それぞれ第1のエッジ,第2のエッジの一例である。
ここで、通常は、瞳孔11は虹彩12と比較して十分暗いことから、境界検出部1aは、瞳孔11と虹彩12との境界をエッジ検出によって検出可能である。しかし、瞳孔11と虹彩12との明るさがほぼ同じになる状態(以下、「半明瞳孔状態」と呼ぶ)では、境界検出部1aは、瞳孔11と虹彩12との境界をエッジ検出によって検出できない場合がある。
中心位置検出部1bは、境界検出部1aによって瞳孔11と虹彩12との境界が検出されたか否かに応じて、第1の処理と第2の処理とを切り替えて実行する。第1の処理と第2の処理は、いずれも瞳孔11の中心位置を検出する処理であるが、その処理手順が互いに異なる。
例えば、第1の処理では、瞳孔11の輪郭が検出され、その検出結果に基づいて瞳孔11の中心位置が検出される。一方、第2の処理では、虹彩12の輪郭が検出され、その検出結果に基づいて瞳孔11の中心位置が検出される。
また、他の例として、第1の処理では、瞳孔11の輪郭の検出結果を重視して、瞳孔11の中心位置が検出される。一方、第2の処理では、虹彩12の輪郭の検出結果を重視して、瞳孔11の中心位置が検出される。
いずれの例でも、第1の処理は、暗瞳孔状態の場合に適した処理となっており、第2の処理は、半明瞳孔状態の場合に適した処理となっている。この場合、中心位置検出部1bは、境界検出部1aによって瞳孔11と虹彩12との境界が検出された場合、第1の処理を実行する。一方、中心位置検出部1bは、境界検出部1aによって瞳孔11と虹彩12との境界が検出されなかった場合に、第2の処理を実行する。
視線検出部1cは、中心位置検出部1bによる瞳孔11の中心位置の検出結果に基づいて、ユーザの視線方向または注視位置を検出する。例えば、視線検出部1cは、眼領域10における角膜反射像の検出位置と、瞳孔11の中心位置の検出結果に基づいて、ユーザの視線方向または注視位置を検出する。
以上の視線検出システム1では、境界検出部1aは、輝度に基づくエッジ検出を行うことで、瞳孔11と虹彩12との境界を検出する。中心位置検出部1bは、境界検出部1aによって瞳孔11と虹彩12との境界が検出されたか否かによって、半明瞳孔状態になっているかを判定できる。そして、中心位置検出部1bは、半明瞳孔状態になっているか否かによって、瞳孔11の中心を検出するための適切な処理を選択して実行することができる。これにより、半明瞳孔状態になった場合でも、瞳孔11の中心を精度よく検出することができる。したがって、瞳孔11の中心の検出精度を向上させることができる。
[第2の実施の形態]
図2は、第2の実施の形態に係る視線検出装置のハードウェア構成例を示す図である。第2の実施の形態に係る視線検出装置100は、例えば、図2に示すようなコンピュータとして実現することができる。
視線検出装置100は、プロセッサ101によって装置全体が制御されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、またはPLD(Programmable Logic Device)である。またプロセッサ101は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。
プロセッサ101には、バス109を介して、RAM(Random Access Memory)102と複数の周辺機器が接続されている。
RAM102は、視線検出装置100の主記憶装置として使用される。RAM102には、プロセッサ101に実行させるOS(Operating System)プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、プロセッサ101による処理に必要な各種データが格納される。
バス109に接続されている周辺機器としては、HDD(Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、読み取り装置106、通信インタフェース107およびネットワークインタフェース108がある。
HDD103は、視線検出装置100の補助記憶装置として使用される。HDD103には、OSプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、SSD(Solid State Drive)などの他の種類の不揮発性記憶装置を使用することもできる。
グラフィック処理装置104には、表示装置104aが接続されている。グラフィック処理装置104は、プロセッサ101からの命令にしたがって、画像を表示装置104aに表示させる。表示装置としては、液晶ディスプレイや有機EL(Electroluminescence)ディスプレイなどがある。
入力インタフェース105には、入力装置105aが接続されている。入力インタフェース105は、入力装置105aから出力される信号をプロセッサ101に送信する。入力装置105aとしては、キーボードやポインティングデバイスなどがある。ポインティングデバイスとしては、マウス、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
読み取り装置106には、可搬型記録媒体106aが脱着される。読み取り装置106は、可搬型記録媒体106aに記録されたデータを読み取ってプロセッサ101に送信する。可搬型記録媒体106aとしては、光ディスク、光磁気ディスク、半導体メモリなどがある。
通信インタフェース107は、外部機器との間でデータの送受信を行う。本実施の形態では、外部機器として、赤外照明107aと赤外カメラ107bとが接続される。赤外照明107aは、視線検出対象のユーザの顔に対して赤外光を照射する。赤外カメラ107bは、照射された赤外光の反射光を検知する。プロセッサ101は、赤外カメラ107bによって撮像された画像を解析することで、ユーザの視線を検出する。なお、赤外照明107aと赤外カメラ107bは、例えば、センサユニット107cとして一体化されている。
ネットワークインタフェース108は、ネットワーク108aを介して他の装置との間でデータの送受信を行う。
以上のようなハードウェア構成によって、視線検出装置100の処理機能を実現することができる。
上記の視線検出装置100は、赤外カメラ107bによって撮像されたユーザの眼の領域の画像に基づいて、ユーザの視線を検出する。視線検出の方法としては、角膜反射像の位置と瞳孔の中心位置との位置関係から視線方向を検出する「角膜反射法」が用いられる。
ここで、図3は、瞳孔の状態を示す図である。図3(A)は、暗瞳孔状態(通常状態)を示し、図3(B)は、明瞳孔状態を示し、図3(C)は、半明瞳孔状態を示す。
以下の説明において、眼球が露出している「眼球領域」は、上瞼の下縁部201と下瞼の上縁部202とによって囲まれる領域として定義される。眼球領域には、同心円状に瞳孔203と虹彩204の各領域が存在し、虹彩204の外側には強膜(白目)205の領域が存在する。また、視線検出時には、赤外照明107aからの赤外線の反射光である角膜反射像206が、眼球領域に現れる。
図3(A)に示すように、通常状態では、瞳孔203が虹彩204より十分に暗い「暗瞳孔状態」となっている。一方、赤外照明107aと赤外カメラ107bとの距離が近い場合には、赤外照明107aからの光が網膜で反射され、その反射光が瞳孔203を通じて赤外カメラ107bに達する。その結果、図3(B)に示すように、瞳孔203が虹彩204より明るくなる「明瞳孔状態」や、図3(C)に示すように、瞳孔203と虹彩204とがほぼ同じ明るさになる「半明瞳孔状態」になることがある。
ところで、視線検出装置100は、上記のように眼球領域が写った画像から、角膜反射像206の位置と瞳孔203の中心位置とを検出する。これらのうち、瞳孔203の中心位置を検出する方法としては、瞳孔203の輪郭の検出結果を用いる方法と、虹彩204の輪郭の検出結果を用いる方法とがある。
暗瞳孔状態では、瞳孔203の輪郭の検出結果を用いる方法の方が、瞳孔203の中心位置の検出精度が高い。その理由は、暗瞳孔状態では一般的に、虹彩204と強膜205との輝度差より、瞳孔203と虹彩204との輝度差の方が大きく、瞳孔203の輪郭の方が明確だからである。また、瞼が開いている状態では、瞳孔203の輪郭はその全体が露出しているが、虹彩204の輪郭の一部は瞼に隠れている場合が多い。そのため、円検出により瞳孔203や虹彩204を検出する場合には、瞳孔203の輪郭の方が容易かつ高精度に検出できる。
しかし、半明瞳孔状態では、暗瞳孔状態より瞳孔203と虹彩204との輝度差が小さくなることから、瞳孔203の輪郭の検出精度が低下する。一方、虹彩204の輪郭の検出精度は暗瞳孔状態、明瞳孔状態、半明瞳孔状態のいずれでも変化しない。このため、半明瞳孔状態では、虹彩204の輪郭の検出結果を用いる方法の方が、瞳孔203の中心位置の検出精度が高い。
上記のように、半明瞳孔状態は、赤外照明107aと赤外カメラ107bとの距離が近い場合に発生する。このため、特に、図2に示したように赤外照明107aと赤外カメラ107bとがセンサユニット107cとして一体化され、センサユニット107cを小型化する上で、半明瞳孔状態の発生を避けることはできない。
そこで、視線検出装置100は、眼球領域内の輝度情報を用いてエッジ検出を行い、瞳孔203のエッジを検出できたか否かに応じて、瞳孔203の中心位置の検出処理を切り替える。これにより、瞳孔203の中心位置を安定的に精度よく検出できるようにし、その結果として、視線検出精度を向上させる。
図4は、視線検出装置の処理機能の構成例を示すブロック図である。視線検出装置100は、画像取得部111、眼球領域検出部112、角膜反射検出部113、エッジ検出部114、瞳孔中心検出部115および視線検出部116を有する。これらの各処理機能は、例えば、プロセッサ101が所定のプログラムを実行することで実現される。
なお、これらの処理機能のうちの少なくとも一部は、他の処理機能とは別の装置に実装されてもよい。例えば、画像取得部111、眼球領域検出部112、角膜反射検出部113、エッジ検出部114および瞳孔中心検出部115が、センサユニット107cに実装され、視線検出部116が視線検出装置100に実装されてもよい。
画像取得部111は、赤外カメラ107bによってユーザの顔が撮像された画像を取得する。取得された画像のデータは、視線検出装置100の記憶装置(例えば、RAM102)に一時的に格納される。
眼球領域検出部112は、画像取得部111によって取得された画像から、眼球領域を検出する。眼球領域は、例えば、上瞼の下縁部と下瞼の上縁部とによって囲まれる領域として検出される。眼球領域検出部112は、例えば、取得された画像から顔領域を検出し、検出された顔領域から眼球領域を検出する。顔領域の検出、および顔領域からの眼球領域の検出は、例えば、テンプレートマッチングあるいは画像特徴等を用いた識別処理により行うことができる。
角膜反射検出部113は、検出された眼球領域の輝度分布に基づいて、眼球領域から角膜反射像の位置を検出する。角膜反射像の領域は、眼球領域における他の領域より極端に輝度が大きくなっている。そのため、角膜反射検出部113は、眼球領域から輝度が所定の閾値以上である円形領域を角膜反射像として検出する。なお、角膜反射検出部113は、例えば、コーナー検出によって角膜反射像の位置を検出することもできる。
エッジ検出部114は、眼球領域において略左右方向に線状または帯状にエッジ検出領域を設定し、エッジ検出領域の長手方向に対して輝度差を検出することによってエッジを検出する。エッジ検出部114は、検出されたエッジの位置に基づいて、瞳孔と虹彩との境界(すなわち、瞳孔のエッジ)および虹彩と強膜との境界(すなわち、虹彩のエッジ)の両方が検出されたか、これらのうち後者のみが検出されたか、いずれも検出されなかったかを判定する。
瞳孔中心検出部115は、眼球領域の輝度に基づいて瞳孔の中心位置を検出する。その際、瞳孔中心検出部115は、エッジ検出部114による判定結果に基づいて、瞳孔の中心位置を検出するための処理を切り替える。この切り替えでは、瞳孔の輪郭の検出結果を重視した処理と、虹彩の輪郭の検出結果を重視した処理とが切り替えられる。エッジ検出部114により瞳孔のエッジと虹彩のエッジとが両方検出された場合、前者の処理に切り替えられ、虹彩のエッジのみ検出された場合、後者の処理に切り替えられる。
視線検出部116は、角膜反射検出部113によって検出された角膜反射の位置と、瞳孔中心検出部115によって検出された瞳孔の中心位置との位置関係に基づいて、ユーザの視線の方向を検出する。また、視線検出部116は、検出された視線の方向に基づいて、ユーザの注視位置を検出してもよい。
次に、エッジ検出部114の処理について説明する。
エッジ検出部114は、眼球領域において略左右方向に線状または帯状にエッジ検出領域を設定し、設定したエッジ検出領域の長手方向に対して隣接画素の輝度差を検出することで、エッジを検出する。ここで、図5〜図7に、エッジ検出領域におけるエッジ検出結果の例を示す。図5〜図7では、例として、眼球領域において水平な線をエッジ検出領域として設定したものとする。
図5は、エッジ検出結果の第1の例を示す図である。図5に示すグラフでは、横軸はエッジ検出領域の長手方向に沿った座標を示し、縦軸は輝度を示す。なお、図6,図7に示すグラフについても同様である。
眼球領域内では、エッジ検出領域に沿って、強膜、虹彩、瞳孔、虹彩、強膜が順に存在する。すなわち、瞳孔を中心とした両側に虹彩、強膜が順に位置する。また、エッジ検出により、各領域の境界がエッジとして検出される。そこで、エッジ検出部114は、エッジ検出領域に沿ってエッジ検出を行い、エッジ位置の対称性に基づいて、検出されたエッジが瞳孔のエッジ(瞳孔と虹彩との境界)か、または虹彩のエッジ(虹彩と強膜との境界)かを判定する。例えば、エッジ検出部114は、前後の輝度差がほぼ同等で、傾きの正負が逆になっているエッジ部のペアを、このようなエッジと判定する。
図5のグラフは、暗瞳孔状態における輝度の検出例を示す。この例では、眼球領域において4カ所のエッジ部221a〜221dが検出されている。これらのうち、エッジ部221aとエッジ部221dは、前後の輝度差がほぼ同等で、傾きの正負が逆になっている。このことから、エッジ部221a,221dは、瞳孔のエッジか、または虹彩のエッジのどちらかであると推定される。
また、エッジ部221bとエッジ部221cも、前後の輝度差がほぼ同等で、傾きの正負が逆になっている。エッジ部221b,221cは、エッジ部221aとエッジ部221dとの間の領域に位置する。したがって、エッジ検出部114は、エッジ部221b,221cを瞳孔のエッジと判定し、エッジ部221a,221dを虹彩のエッジと判定する。
図6は、エッジ検出結果の第2の例を示す図である。図6に示すグラフは、暗瞳孔状態において、エッジ検出領域に角膜反射像が重なっている場合の輝度の検出例を示す。
図6の例では、図5の例と同様に、虹彩のエッジに対応する2つのエッジ部222a,222cが検出されている。また、瞳孔のエッジに対応する1つのエッジ部222bも検出されている。しかし、瞳孔についての他方のエッジが存在するはずの領域223には、角膜反射像が存在するため、他方のエッジは検出されていない。
このように、エッジ検出領域に角膜反射像が重なっている場合、エッジ検出部114は、角膜反射像の領域をエッジ部または平坦部としてみなす。例えば、エッジ検出部114は、角膜反射像の領域の前後の輝度差が所定の閾値以上である場合には、その領域からエッジ部が検出されたとみなし、輝度差が閾値未満である場合には、その領域をエッジ部でない平坦部とみなす。
エッジ部検出部114は、このようにして検出されたエッジ部の対称性に基づいて瞳孔のエッジおよび虹彩のエッジの各位置を判定することで、エッジ検出領域に角膜反射像が重なっている場合でもそれらの位置を検出することができる。図6の例では、領域223がエッジ部と判定され、このエッジ部とエッジ部222bとが、前後の輝度差がほぼ同等で、傾きの正負が逆になっていると判定される。このことから、エッジ検出部114は、エッジ部222bと領域223を瞳孔のエッジと判定し、エッジ部222a,222cを虹彩のエッジと判定する。
図7は、エッジ検出結果の第3の例を示す図である。図7に示すグラフは、半明瞳孔状態において、エッジ検出領域に角膜反射像が重なっている場合の輝度の検出例を示す。
図7の例では、領域224において角膜反射像が検出されている。エッジ検出部114は、例えば、領域224における前後の輝度差が所定の閾値未満であることから、領域224をエッジ部でない平坦部とみなす。
また、図7の例では、エッジ部225a,225bが検出されている。エッジ部225a,225bは、前後の輝度差がほぼ同等で、傾きの正負が逆になっている。さらに、エッジ部225aとエッジ部225bとの間の領域には、エッジ部のペアが検出されていない。このことから、エッジ検出部114は、エッジ部225a,225bを虹彩のエッジと判定するとともに、瞳孔のエッジを検出できなかったと判定する。このように瞳孔のエッジを検出できなかった場合、半明瞳孔状態であると考えられる。そのため、瞳孔中心検出部115は、エッジ検出部114による判定結果に基づいて、虹彩の輪郭の検出結果を重視した瞳孔の中心位置の検出処理を実行する。
図8は、エッジ検出部によるエッジ検出領域の設定例を示す図である。前述のように、エッジ検出部114は、眼球領域において略左右方向に線状または帯状にエッジ検出領域を設定する。図8(A)〜(D)に示すように、エッジ検出領域の設定方法としては様々な方法を適用可能である。
例えば図8(A)に示すように、エッジ検出部114は、目頭231と目尻232とを結び、かつ、上瞼の下縁部201と下瞼の上縁部202との中間を通るように、エッジ検出領域241を設定する。
また、エッジ検出部114は、眼球領域において直線的な領域をエッジ検出領域に設定してもよい。例えば図8(B)に示すように、エッジ検出部114は、眼球領域において、角膜反射像251を通過する直線的な領域を、エッジ検出領域242に設定する。あるいは、エッジ検出部114は、角膜反射像251から上側または下側に一定距離だけ離れた位置に配置した直線的な領域を、エッジ検出領域に設定してもよい。例えば、赤外照明107aが顔の下側から赤外光を照射する場合には、角膜反射像251より上側に瞳孔の中心が位置する可能性が高い。このような赤外カメラ107bと顔との位置関係に基づいて、角膜反射像251の上側と下側のどちらにエッジ検出領域を設定すればよいかがわかる。
さらに、図8(C)に示すように、エッジ検出部114は、目頭231、角膜反射像252および目尻232を通る折れ線状の領域を、エッジ検出領域243に設定してもよい。
また、エッジ検出部114は、上記のような方法で仮設定したエッジ検出領域に平行な複数のエッジ検出領域の候補の中から、最も暗い領域を通過するものをエッジ検出領域として設定してもよい。
また、エッジ検出部114は、例えば、目頭と目尻とを結ぶ直線的な領域を定義し、その領域から一定の範囲内で検知された最も暗い点を新たな中間点として定義する。そして、エッジ検出部114は、新たな中間点を通る直線的な領域、あるいは、新たな中間点と目頭および目尻を通る折れ線状の領域を、エッジ検出領域に設定してもよい。
また、エッジ検出部114は、眼球領域内に複数のエッジ検出領域を設定してもよい。例えば図8(D)に示すように、エッジ検出部114は、直線的なエッジ検出領域244a〜244dを、眼球領域内に互いに平行になるように設定する。このように複数のエッジ検出領域を設定した場合、エッジ検出領域241は、例えば、各エッジ検出領域について前述のエッジ検出処理を行い、エッジ部のペアが最も多く検出された処理結果を採用する。
なお、以上の例はいずれも、目頭と目尻の位置に基づいて眼球領域が特定された場合を示したが、例えば、目頭と目尻の位置を特定しない方法を用いる場合には、エッジ検出部114は、眼を含む一定領域内にエッジ検出部を設定してもよい。
次に、瞳孔中心検出部115の処理について説明する。
瞳孔中心検出部115は、エッジ検出部114によって瞳孔のエッジが検出されたか否かに応じて、瞳孔の中心位置の検出処理を切り替えて実行する。瞳孔中心検出部115は、瞳孔のエッジが検出された場合、瞳孔の輪郭の検出結果を重視した中心位置の検出処理を実行する。一方、瞳孔中心検出部115は、瞳孔のエッジが検出されなかった場合、虹彩の輪郭の検出結果を重視した中心位置の検出処理を実行する。
図9は、瞳孔の中心位置の検出処理例を示す図である。瞳孔中心検出部115の処理では、例えば、瞳孔の輪郭を検出するための複数のテンプレート271a,271b,271c,・・・と、虹彩の輪郭を検出するための複数のテンプレート272a,272b,272c,・・・とが用いられる。
テンプレート271a,271b,271c,・・・には、画像上の瞳孔の大きさに適した、それぞれ異なる半径の円が含まれている。瞳孔中心検出部115は、テンプレート271a,271b,271c,・・・を用いて撮像画像から円検出を行うことで、瞳孔の輪郭を検出する。
一方、テンプレート272a,272b,272c,・・・には、画像上の虹彩の大きさに適した、それぞれ異なる半径の円が含まれている。テンプレート272a,272b,272c,・・・に含まれる円の半径の最大値は、テンプレート271a,271b,271c,・・・に含まれる円の半径の最大値より大きい。瞳孔中心検出部115は、テンプレート272a,272b,272c,・・・を用いて撮像画像から円検出を行うことで、虹彩の輪郭を検出する。
なお、瞳孔中心検出部115は、画像上の顔の大きさや眼の間の距離に応じて、各テンプレートを拡大または縮小した上で使用してもよい。
エッジ検出部114によるエッジ検出結果に応じて瞳孔の中心位置の検出処理を切り替える方法の一例としては、瞳孔の輪郭を検出し、その検出結果から瞳孔の中心位置を検出する処理と、虹彩の輪郭を検出し、その検出結果から瞳孔の中心位置を検出する処理のどちらかを、エッジ検出部114によるエッジ検出結果に応じて切り替えて実行する方法がある。ここでは、前者を「瞳孔輪郭に基づく中心検出処理」と呼び、後者を「虹彩輪郭に基づく中心検出処理」と呼ぶ。
エッジ検出部114によって瞳孔のエッジが検出された場合には、瞳孔と虹彩との境界が明確であり、暗瞳孔状態である可能性が高い。このため、瞳孔中心検出部115は、瞳孔輪郭に基づく中心検出処理を実行する。一方、エッジ検出部114によって瞳孔のエッジが検出されなかった場合には、瞳孔と虹彩との境界が不明確であり、半明瞳孔状態である可能性が高い。このため、瞳孔中心検出部115は、虹彩輪郭に基づく中心検出処理を実行する。後者のケースでは、瞳孔と虹彩との境界より、虹彩と強膜との境界の方が明確であるため、虹彩の輪郭を基に瞳孔の中心位置を検出する方が、中心位置を精度よく検出できる。
なお、実際の処理では、瞳孔の輪郭を検出する際に、テンプレート271a,271b,271c,・・・だけでなく、虹彩の輪郭検出用のテンプレート272a,272b,272c,・・・も用いられてもよい。例えば、瞳孔の輪郭および虹彩の輪郭は、次のような手順で検出される。
まず、虹彩の輪郭を検出する場合、瞳孔中心検出部115は、眼球領域における最大輝度Lmaxと最小輝度Lminを取得する。瞳孔中心検出部115は、閾値を最大輝度Lmaxから最小輝度Lminまで徐々に下げながら、眼球領域の2値化処理を行う。瞳孔中心検出部115は、閾値を下げるたびに、2値化された画像と虹彩の輪郭検出用のテンプレート272a,272b,272c,・・・とのマッチングを行い、いずれかのテンプレートとのマッチング評価値(類似度)が所定の閾値を超えるかを判定する。
閾値がある輝度を下回ったとき、眼球領域には、輪郭の一部が瞼に隠れた円領域が現れる。このとき、テンプレート272a,272b,272c,・・・のいずれかと、現れた円領域とが類似すると判定される。これにより、虹彩の輪郭が検出される。なお、虹彩の輪郭に対応する円領域は、例えば、両眼の間の距離から推測することも可能である。
一方、瞳孔の輪郭を検出する場合には、瞳孔中心検出部115はまず、上記と同様の方法で虹彩の輪郭を検出する。その後、瞳孔中心検出部115は、さらに閾値を徐々に下げていき、閾値を下げるたびに、2値化された画像と瞳孔の輪郭検出用のテンプレート271a,271b,271c,・・・とのマッチングを行い、いずれかのテンプレートとのマッチング評価値(類似度)が所定の閾値を超えるかを判定する。
虹彩領域と瞳孔領域の輝度差がある程度開いていれば、やがて、眼球領域には、輪郭が完全に露出した円領域が現れる。このとき、テンプレート271a,271b,271c,・・・のいずれかと、現れた円領域とが類似すると判定される。これにより、瞳孔の輪郭が検出される。
なお、ほとんどの場合、虹彩の輪郭の一部は瞼によって隠れ、虹彩の輪郭全体が眼球領域に露出しているケースは少ない。このため、瞳孔のエッジも虹彩のエッジも明確であったとしても、テンプレート272a,272b,272c,・・・を用いた虹彩の輪郭の検出精度は、テンプレート271a,271b,271c,・・・を用いた瞳孔の輪郭の検出精度より低い。このことが、瞳孔の輪郭に基づいて瞳孔の中心位置を検出するより、虹彩の輪郭に基づいて瞳孔の中心位置を検出する方が位置検出の精度が低いことの一因となる。
以上の図9では、エッジ検出部114によるエッジ検出結果に応じて、瞳孔輪郭に基づく中心検出処理と、虹彩輪郭に基づく中心検出処理とを切り替える例について説明した。しかし、エッジ検出結果に応じた処理の切り替え方法としては、この例に限らず、例えば、瞳孔の輪郭の検出結果についての重み(尤度)と、虹彩の輪郭の検出結果についての重み(尤度)を、エッジ検出結果に応じて変更する方法も適用可能である。また、瞳孔輪郭に基づく中心検出処理と、虹彩輪郭に基づく中心検出処理の各制御パラメータを、エッジ検出結果に応じて変更する方法も適用可能である。これらの方法の詳細については、後に説明する。
次に、視線検出装置100の処理についてフローチャートを用いて説明する。
図10は、視線検出処理手順の例を示すフローチャートである。
[ステップS11]画像取得部111は、赤外カメラ107bによってユーザの顔が撮影された画像を取得する。眼球領域検出部112は、取得された画像から眼球領域を検出する。
[ステップS12]角膜反射検出部113は、眼球領域の輝度分布に基づいて、眼球領域から角膜反射像の位置を検出する。
[ステップS13]エッジ検出部114は、眼球領域にエッジ検出領域を設定する。
[ステップS14]エッジ検出部114は、エッジ検出領域の一端から他端に向かって輝度差を検出することで、エッジ部を検出する。エッジ検出部114は、瞳孔のエッジのペア(エッジペア)と、虹彩のエッジのペア(エッジペア)とを検出する。なお、ステップS14の処理の詳細については後述する。
[ステップS15]エッジ検出部114は、ステップS14で検出されたエッジペア数に応じて、瞳孔、虹彩および強膜の各輝度を設定する。このステップS15で設定される輝度は、ステップS16の処理で使用されるものである。
ステップS14でエッジペアが2組検出された場合には、瞳孔のエッジと虹彩のエッジが両方とも検出されている。この場合、エッジ検出部114は、エッジ検出領域における瞳孔のエッジ間の輝度の平均値を、瞳孔の輝度として設定する。また、エッジ検出部114は、エッジ検出領域における瞳孔のエッジと虹彩のエッジとの間の領域の輝度の平均値を、虹彩の輝度として設定する。さらに、エッジ検出部114は、エッジ検出領域における虹彩のエッジの外側領域の輝度を、強膜の輝度として設定する。なお、強膜の輝度は、あらかじめ設定された値に設定されてもよい。
一方、ステップS14でエッジペアが1組のみ検出された場合には、虹彩のエッジのみ検出されている。この場合、エッジ検出部114は、虹彩の輝度と強膜の輝度を上記と同様の方法で設定する。また、エッジ検出部114は、瞳孔の輝度として、設定された虹彩の輝度と同じ値を設定する。あるいは、エッジ検出部114は、瞳孔の輝度として、エッジ検出領域における虹彩のエッジ間の領域のうち、中央付近の輝度を設定する。
[ステップS16]瞳孔中心検出部115は、眼球領域の輝度に基づいて、瞳孔の中心位置を検出する。その際、瞳孔中心検出部115は、ステップS14でのエッジペアの検出結果に基づいて、瞳孔の輪郭の検出結果を重視した処理と、虹彩の輪郭の検出結果を重視した処理とを切り替えて実行する。なお、ステップS16の処理の詳細については後述する。
[ステップS17]視線検出部116は、ステップS12で検出された角膜反射像の位置と、ステップS16で検出された瞳孔の中心位置との位置関係に基づいて、ユーザの視線方向と、ユーザの注視位置とを検出する。なお、視線方向と注視位置の一方のみ検出されてもよい。
次に、ステップS14でのエッジペアの検出処理について、複数の処理例を挙げる。
図11,図12は、エッジペア検出についての処理例1−1を示すフローチャートである。この図11,図12の処理は、図10のステップS14の処理に対応する。
また、図11,図12の処理では、エッジ部についてのエッジ情報が格納される第1スタックと、エッジペアについてのエッジペア情報が格納される第2スタックとが用いられる。第1スタックおよび第2スタックは、例えば、視線検出装置100のRAM102の記憶領域として実装される。図11の処理の開始時には、第1スタックおよび第2スタックには情報が格納されていない。
[ステップS31]エッジ検出部114は、このステップS31からステップS40のループ端までの処理を、エッジ検出領域の一端から他端までの全体について実行する。
[ステップS32]エッジ検出部114は、エッジ検出領域の他端側に向けて輝度差の算出処理を順次実行し、エッジ部を検出すると、次のステップS33の処理を実行する。
[ステップS33]エッジ検出部114は、検出されたエッジの位置が、角膜反射像の位置かを判定する。角膜反射像の位置の場合、ステップS34の処理が実行され、角膜反射像の位置でない場合、ステップS36の処理が実行される。
[ステップS34]エッジ検出部114は、角膜反射像の前後の輝度差が所定の閾値以上かを判定する。輝度差が閾値以上の場合、エッジ検出部114は、角膜反射像の領域にエッジが存在すると判定し、ステップS35の処理を実行する。一方、輝度差が閾値未満の場合、エッジ検出部114は、角膜反射像の領域にはエッジが存在しないと判定し、ステップS40の処理が実行される。後者の場合、角膜反射像の領域は、エッジが存在しない平坦部とみなされて、処理が継続される。
[ステップS35]エッジ検出部114は、角膜反射像の領域をエッジとみなし、ステップS36の処理を実行する。
[ステップS36]エッジ検出部114は、検出されたエッジの輝度変化の方向をチェックする。輝度が上昇する方向に変化した場合、ステップS38の処理が実行され、輝度が低下する方向に変化した場合、ステップS37の処理が実行される。
[ステップS37]エッジの前後で輝度が低下している場合、瞳孔のエッジのうち、進行方向側のエッジの位置に到達していないと推定される。この場合、エッジ検出部114は、検出されたエッジについてのエッジ情報を第1スタックに登録する。エッジ情報には、検出されたエッジの位置と、エッジの前後の輝度値とが含まれる。
[ステップS38]エッジの前後で輝度が上昇している場合、瞳孔のエッジのうち、進行方向側のエッジの位置に到達したか、その位置を過ぎていると推定される。この場合、エッジ検出部114は、第1スタックに登録されたエッジの中に、検出されたエッジとペア化可能なものがあるかを判定する。
この判定では、エッジ検出部114は、第1スタックに登録されたエッジの中から、輝度変化の方向が検出されたエッジについての輝度変化の方向と逆である(すなわち、輝度変化の方向が低下方向である)エッジを抽出する。エッジ検出部114は、抽出したエッジのエッジ情報と検出されたエッジのエッジ情報とを比較して、抽出したエッジの中から、次のような条件1〜3のうちの1つ、または2以上の所定数の条件を満たすエッジを、ペア化可能なエッジとして特定する。
(条件1)各エッジの前後の輝度値のうち、高輝度側の輝度値の差が一定値未満であり、かつ、低輝度側の輝度値の差が一定値未満である。
(条件2)抽出されたエッジの前後の輝度差と、検出されたエッジの前後の輝度差との差分が、一定値未満である。
(条件3)瞳孔エッジおよび虹彩エッジにおけるエッジ前後の輝度値として適切な輝度範囲があらかじめ規定され、抽出されたエッジおよび検出されたエッジのそれぞれの前後の輝度値が、瞳孔エッジまたは虹彩エッジについて規定された輝度範囲に含まれている。
エッジ検出部114は、ペア化可能なエッジがある場合、ステップS39の処理を実行する。一方、エッジ検出部114は、ペア化可能なエッジがない場合、ステップS37の処理を実行する。この場合、ステップS37では、検出されたエッジについてのエッジ情報が第1スタックに登録される。
[ステップS39]エッジ検出部114は、検出されたエッジと、ステップS38で特定されたエッジとをエッジペアとし、そのエッジペアについてのエッジペア情報を第2スタックに登録する。エッジペア情報には、各エッジのエッジ情報と、エッジ検出領域において各エッジの間に断片的に存在するエッジのエッジ情報とが含まれる。後者のエッジ情報は、エッジペアとして登録されていないエッジのエッジ情報であり、第1スタックから抽出される。
[ステップS40]エッジ検出部114は、エッジ検出領域の末端までのエッジの探索が終了していない場合には、ステップS31からの処理を再度実行する。一方、エッジ検出部114は、エッジ検出領域の末端までのエッジの探索が終了した場合、図12のステップS41の処理を実行する。
[ステップS41]エッジ検出部114は、第2スタックにエッジペアが登録されているかを判定する。登録されている場合、ステップS43の処理が実行され、登録されていない場合、ステップS42の処理が実行される。
[ステップS42]エッジ検出部114は、検出されたエッジペア数が0である旨を瞳孔中心検出部115に通知する。なお、この場合、瞳孔のエッジと虹彩のエッジの両方ともエッジ検出部114によって検出されておらず、瞳孔中心検出部115が瞳孔の輪郭および虹彩の輪郭を正常に検出できる可能性は低い。このため、瞳孔中心検出部115は、検出エラーの発生を表示装置104aなどに出力して、視線検出処理を終了する。
[ステップS43]エッジ検出部114は、第2スタックにエッジペアが2組以上登録されており、かつ、1つのエッジペアに含まれる各エッジの間に、別のエッジペアに含まれる両方のエッジが存在するかを判定する。この条件が満たされる場合、ステップS45の処理が実行され、条件が満たされない場合、ステップS44の処理が実行される。
[ステップS44]エッジ検出部114は、検出されたエッジペア数が1である旨を瞳孔中心検出部115に通知する。また、エッジ検出部114は、検出された1組のエッジペアのエッジペア情報を、虹彩のエッジについての情報として瞳孔中心検出部115に通知する。なお、第2スタックにエッジペア情報が複数組登録されている場合には、エッジ検出部114は、エッジ間の距離が最も長いエッジペアのエッジペア情報を選択して通知する。
上記の各通知を受けた瞳孔中心検出部115は、エッジ検出部114によって虹彩のエッジは検出されたが、瞳孔のエッジが検出されなかったと判定する。瞳孔中心検出部115は、図10のステップS15において、通知されたエッジペア情報に含まれるエッジ前後の輝度値を基に、その低輝度側の輝度を虹彩の輝度に設定し、高輝度側の輝度を強膜の輝度に設定する。
[ステップS45]エッジ検出部114は、検出されたエッジペア数が2である旨を瞳孔中心検出部115に通知する。また、エッジ検出部114は、ステップS43の判定において条件を満たした2組のエッジペアを特定する。エッジ検出部114は、これらのエッジペアのうち、エッジ間の距離が長いエッジペアのエッジペア情報を、虹彩のエッジの情報として瞳孔中心検出部115に通知し、エッジ間の距離が短いエッジペアのエッジペア情報を、瞳孔のエッジの情報として瞳孔中心検出部115に通知する。
上記の各通知を受けた瞳孔中心検出部115は、エッジ検出部114によって瞳孔のエッジと虹彩のエッジの両方が検出されたと判定する。瞳孔中心検出部115は、図10のステップS15において、瞳孔のエッジの情報として通知されたエッジペア情報に含まれるエッジ前後の輝度値を基に、その低輝度側の輝度を瞳孔の輝度に設定する。また、瞳孔中心検出部115は、虹彩のエッジの情報として通知されたエッジペア情報に含まれるエッジ前後の輝度値を基に、その低輝度側の輝度を虹彩の輝度に設定し、高輝度側の輝度を強膜の輝度に設定する。
以上の処理例1−1では、ステップS45の処理が実行された場合、暗瞳孔状態であると判定され、ステップS44の処理が実行された場合、半明瞳孔状態であると判定される。処理例1−1では、視線検出装置100は、エッジ検出領域における輝度差の検出によって瞳孔のエッジおよび虹彩のエッジを探索することで、半明瞳孔状態であるか否かを判定することができる。
これにより、例えば、赤外カメラ107bとユーザの顔までの距離の推定結果に基づいて判定を行う方法と比較して、判定精度を向上させることができる。その理由は、赤外カメラ107bとユーザの顔までの距離の推定精度が低いことに加え、虹彩の輝度の個人差に関係なく、半明瞳孔状態であるか否かを判定できるからである。
虹彩における赤外光の反射率、透過率、吸収率は、主に虹彩に含まれるメラニン量に依存し、メラニン量には個人差がある。このため、虹彩の輝度には個人差がある。このことから、赤外照明107aと赤外カメラ107bとの距離が同一であっても、瞳孔と虹彩の輝度差や虹彩と強膜の輝度差は、人によって変わる。上記の処理例1−1によれば、瞳孔と虹彩の輝度差や虹彩と強膜の輝度差に個人差があっても、それに関係なく、半明瞳孔状態であるか否かを判定することができる。
次に、図13,図14は、エッジペア検出についての処理例1−2を示すフローチャートである。この図13,図14の処理は、図10のステップS14の処理に対応する。
この処理例1−2では、エッジ検出領域上に角膜反射像が存在する場合、角膜反射像と検出された他のエッジとの位置関係に基づいて、角膜反射像の領域をエッジとみなすか否かを決定する点で、処理例1−1とは異なる。処理例1−2では、まず、図13に示すように、図11に示した処理のうちステップS33〜S35の処理が、ステップS33aの処理に置き換えられる。
[ステップS33a]エッジ検出部114は、検出されたエッジの位置が、角膜反射像の位置かを判定する。角膜反射像の位置の場合、ステップS40の処理が実行される。この場合、角膜反射像の位置をエッジとみなすかの判定は、図14の処理において行われる。一方、角膜反射像の位置でない場合、ステップS36の処理が実行される。
さらに、図13に示す処理の実行後に、図14に示す次のような処理が実行される。
[ステップS51]エッジ検出部114は、第2スタックにエッジペアが登録されているかを判定する。登録されている場合、ステップS56の処理が実行され、登録されていない場合、ステップS52の処理が実行される。
[ステップS52]エッジ検出部114は、エッジ検出領域上に角膜反射像が存在する場合、その角膜反射像の位置をエッジとみなしたときに、そのエッジとペア化することが可能な他のエッジがあるかを判定する。
例えば、虹彩エッジにおけるエッジ前後の輝度値として適切な輝度範囲と、虹彩エッジ間の距離として適切な距離範囲とが、あらかじめ規定されているものとする。エッジ検出部114は、第1スタックに登録されたエッジの中から、エッジ前後の輝度値が、規定された輝度範囲に含まれているエッジを抽出する。エッジ検出部114はさらに、抽出されたエッジと角膜反射像との距離が、規定された距離範囲に含まれているかを判定する。含まれている場合、エッジ検出部114は、角膜反射像の位置に虹彩エッジが存在すると判定する。この場合、角膜反射像の位置をエッジとみなしたときに、そのエッジと、抽出されたエッジとをペア化することが可能であると判定される。
ペア化可能なエッジがあると判定された場合、ステップS54の処理が実行され、ペア化可能なエッジがないと判定された場合、ステップS53の処理が実行される。なお、エッジ検出領域上に角膜反射像が存在しない場合には、無条件でステップS53の処理が実行される。
[ステップS53]エッジ検出部114は、図12のステップS42と同様に、検出されたエッジペア数が0である旨を瞳孔中心検出部115に通知する。
[ステップS54]エッジ検出部114は、角膜反射像の位置をエッジとみなし、このエッジについての情報と、ステップS52でペア化可能として抽出されたエッジのエッジ情報とを含むエッジペア情報を、第2スタックに登録する。
[ステップS55]図12のステップS44と同様の処理が実行される。すなわち、エッジ検出部114は、検出されたエッジペア数が1である旨を瞳孔中心検出部115に通知する。また、エッジ検出部114は、検出された1組のエッジペアのエッジペア情報を、虹彩のエッジについての情報として瞳孔中心検出部115に通知する。
[ステップS56]エッジ検出部114は、第2スタックにエッジペアが2組以上登録されており、かつ、1つのエッジペアに含まれる各エッジの間に、別のエッジペアに含まれる両方のエッジが存在するかを判定する。この条件が満たされる場合、ステップS60の処理が実行され、条件が満たされない場合、ステップS57の処理が実行される。
[ステップS57]エッジ検出部114は、エッジ検出領域上に角膜反射像が存在する場合、その角膜反射像の位置をエッジとみなしたときに、そのエッジとペア化することが可能な他のエッジがあるかを判定する。
例えば、エッジ検出部114は、第2スタックに登録された1つのエッジペアに含まれる各エッジの間に、角膜反射像と、第1スタックに登録されているがペア化されていないエッジ(以下、「内側エッジ」と呼ぶ)とが含まれている場合、次のような処理を実行する。エッジ検出部114は、エッジペアに含まれるエッジのうち、内側エッジに近い一方のエッジと、内側エッジとの距離(第1の距離)を算出する。また、エッジ検出部114は、エッジペアに含まれる他方のエッジと角膜反射像との距離(第2の距離)を算出する。
エッジ検出部114は、第1の距離と第2の距離とが所定の閾値以下であり、かつ、内側エッジおよび角膜反射像のそれぞれの前後の輝度値のうち、高輝度側の輝度値の差が一定値未満であり、かつ、低輝度側の輝度値の差が一定値未満である場合に、角膜反射像の位置に瞳孔エッジが存在すると判定する。この場合、角膜反射像の位置をエッジとみなしたときに、そのエッジと内側エッジとをペア化することが可能であると判定される。
また、例えば、エッジ検出部114は、第2スタックに登録された1つのエッジペアに含まれる各エッジ間の領域を挟んで、一方の側に角膜反射像が存在し、他方の側に第1スタックに登録されているがペア化されていないエッジ(以下、「外側エッジ」と呼ぶ)が存在する場合、次のような処理を実行する。エッジ検出部114は、エッジペアに含まれるエッジのうち、外側エッジに近い一方のエッジと、外側エッジとの距離(第3の距離)を算出する。また、エッジ検出部114は、エッジペアに含まれる他方のエッジと角膜反射像との距離(第4の距離)を算出する。
エッジ検出部114は、第3の距離と第4の距離とが所定の閾値以下であり、かつ、外側エッジおよび角膜反射像のそれぞれの前後の輝度値のうち、高輝度側の輝度値の差が一定値未満であり、かつ、低輝度側の輝度値の差が一定値未満である場合に、角膜反射像の位置に虹彩エッジが存在すると判定する。この場合、角膜反射像の位置をエッジとみなしたときに、そのエッジと外側エッジとをペア化することが可能であると判定される。
ペア化可能なエッジがあると判定された場合、ステップS58の処理が実行され、ペア化可能なエッジがないと判定された場合、ステップS55の処理が実行される。なお、エッジ検出領域上に角膜反射像が存在しない場合には、無条件でステップS55の処理が実行される。
[ステップS58]エッジ検出部114は、角膜反射像の位置をエッジとみなし、このエッジについての情報と、ステップS57でペア化可能として抽出されたエッジのエッジ情報とを含むエッジペア情報を、第2スタックに登録する。
[ステップS59]この状態では、第2スタックにエッジペアが2組以上登録されている。エッジ検出部114は、第2スタックに登録されたエッジペアのうち、1つのエッジペアに含まれる各エッジの間に、別のエッジペアに含まれる両方のエッジが存在するかを判定する。この条件が満たされる場合、ステップS60の処理が実行され、条件が満たされない場合、ステップS55の処理が実行される。
[ステップS60]エッジ検出部114は、図12のステップS45と同様に、検出されたエッジペア数が2である旨を瞳孔中心検出部115に通知する。また、エッジ検出部114は、ステップS56またはステップS59の判定において条件を満たした2組のエッジペアを特定する。エッジ検出部114は、これらのエッジペアのうち、エッジ間の距離が長いエッジペアのエッジペア情報を、虹彩のエッジの情報として瞳孔中心検出部115に通知し、エッジ間の距離が短いエッジペアのエッジペア情報を、瞳孔のエッジの情報として瞳孔中心検出部115に通知する。
以上の処理例1−2によれば、検出されたエッジと角膜反射像との位置関係に基づいて、角膜反射像をエッジとみなすか否かが判定されることで、処理例1−1と比較して、角膜反射像と瞳孔エッジまたは虹彩エッジとが重なった場合でも、重なった部分に該当エッジが存在することを精度よく判別することができる。その結果、半明瞳孔状態が発生したか否かの判定精度を向上させることができる。
なお、処理例1−1,1−2では、眼球領域において虹彩の両側に強膜が現れていることを利用して、虹彩エッジが検出されている。しかし、眼球が横方向を向いている場合には、虹彩を挟んだ強膜の領域のうち一方だけが、眼球領域に現れている場合がある。もしエッジペアが1組だけ検出されている場合、眼球が横方向に向いている場合には、検出されたエッジペアは瞳孔エッジである可能性もある。このように、エッジペアが1組だけ検出された場合に、そのエッジペアが虹彩エッジか瞳孔エッジかわからないことがあり得る。
これに対して、エッジ検出部114は、エッジペアが1組だけ検出されている場合に、図10のステップS15において、次のような方法で瞳孔、虹彩および強膜の各輝度を設定してもよい。
エッジ検出部114は、ペア化されたエッジをそれぞれ含むエッジ線(輪郭)を眼球領域から検出する。エッジ検出部114は、検出したエッジ線の内部領域を、当該内部領域におけるエッジ線近傍の輝度によって塗りつぶす。
エッジ検出部114は、塗りつぶした領域が円形になっていれば、その領域が瞳孔であり、選択したエッジが瞳孔エッジであると判定できる。この場合、エッジ検出部114は、選択したエッジの低輝度側の輝度を瞳孔の輝度に、高輝度側の輝度を虹彩の輝度に設定する。また、エッジ検出部114は、エッジ検出領域を瞳孔エッジから瞳孔の外側に走査し、輝度が所定値以上高くなった位置を虹彩エッジと判定できる。この場合、判定された虹彩エッジの外側の輝度が、強膜の輝度に設定される。
一方、塗りつぶされた領域が円形以外(例えば、右側または左側が凸状で、円の上下が瞼に隠れている形状)の場合、半明瞳孔状態であって、その領域が虹彩である可能性が高い。この場合、エッジ検出部114は、エッジ線の内部領域の輝度を虹彩の輝度に、外部領域の輝度を強膜の輝度に設定する。また、瞳孔の輝度は、虹彩の輝度と同じ値に設定される。
次に、図10のステップS16での瞳孔の中心位置の検出処理について、複数の処理例を挙げる。
図15は、瞳孔の中心位置検出処理についての処理例2−1を示すフローチャートである。この図15の処理は、図10のステップS16の処理に対応する。
[ステップS71]瞳孔中心検出部115は、図10のステップS15でエッジ検出部114から通知された瞳孔、虹彩、強膜の各輝度に基づいて、瞳孔−虹彩間の輝度差Dpiと、虹彩−強膜間の輝度差Disを算出する。
[ステップS72]瞳孔中心検出部115は、輝度差Dpi,Disに基づいて、瞳孔の輪郭を精度よく検出できる状態か否か、すなわち、暗瞳孔状態であるか否かを判定する。例えば、瞳孔中心検出部115は、Dpi>Dis−Aという式を満たす場合に、瞳孔の輪郭を精度よく検出できる状態であると判定する。なお、Aは、所定のバイアス値であり、0より大きい値が設定される。
瞳孔の輪郭を精度よく検出できる状態である場合、ステップS73の処理が実行され、そうでない場合、ステップS74の処理が実行される。
このステップS72では、エッジ検出部114によって瞳孔のエッジが検出されていない場合には、輝度差Dpiは0となり、瞳孔の輪郭を精度よく検出できる状態でないと判定される。また、エッジ検出部114によって瞳孔のエッジが検出された場合でも、虹彩−強膜間の輝度差Disより瞳孔−虹彩間の輝度差Dpiの方が十分大きくない場合には、瞳孔の輪郭を精度よく検出できる状態でないと判定される。
[ステップS73]瞳孔中心検出部115は、瞳孔の輪郭検出用のテンプレートを用いて、眼球領域から瞳孔の輪郭を検出する。瞳孔中心検出部115は、検出された瞳孔の輪郭に基づいて、瞳孔の中心位置を検出する。
[ステップS74]瞳孔中心検出部115は、虹彩の輪郭検出用のテンプレートを用いて、眼球領域から虹彩の輪郭を検出する。瞳孔中心検出部115は、検出された虹彩の輪郭に基づいて、瞳孔の中心位置を検出する。
以上の処理例2−1では、エッジ検出部114の検出結果に基づく輝度差Dpi,Disに応じて、瞳孔の輪郭に基づいて瞳孔の中心位置を検出する処理と、虹彩の輪郭に基づいて瞳孔の中心位置を検出する処理とが切り替えられる。
なお、ステップS72では、例えば、エッジ検出部114によって瞳孔のエッジが検出された場合、ステップS73の処理を実行し、検出されていない場合、ステップS74の処理を実行するようにしてもよい。
図16は、瞳孔の中心位置検出処理についての処理例2−2を示すフローチャートである。この図16の処理は、図10のステップS16の処理に対応する。
[ステップS81]瞳孔中心検出部115は、虹彩の輪郭検出用のテンプレートを用いて、眼球領域から虹彩の輪郭を検出する。瞳孔中心検出部115は、検出された虹彩の輪郭に基づいて、瞳孔の中心位置を検出する。
[ステップS82]瞳孔中心検出部115は、瞳孔の輪郭検出用のテンプレートを用いて、眼球領域から瞳孔の輪郭を検出する。瞳孔中心検出部115は、検出された瞳孔の輪郭に基づいて、瞳孔の中心位置を検出する。
[ステップS83]瞳孔中心検出部115は、図10のステップS15でエッジ検出部114から通知された瞳孔、虹彩、強膜の各輝度に基づいて、瞳孔−虹彩間の輝度差Dpiと、虹彩−強膜間の輝度差Disを算出する。
[ステップS84]瞳孔中心検出部115は、ステップS81,S82のそれぞれの検出結果についての尤度を算出する。例えば、瞳孔中心検出部115は、ステップS81,S82で虹彩、瞳孔の輪郭が検出された際のテンプレートとのマッチング評価値や、輪郭が検出された際に使用されたテンプレートにあらかじめ付与された尤度に基づいて、各検出結果についての尤度を算出する。なお、テンプレートとのマッチング評価値は、例えば、テンプレートとの一致度や、検出された輪郭の内部の平均輝度とあらかじめ決められた輝度との差分などに基づいて算出される。
さらに、瞳孔中心検出部115は、それぞれの尤度に対して、輝度差Dpi,Disに応じた重み付けを行う。この際、瞳孔中心検出部115は、例えば、輝度差Disより輝度差Dpiの方が大きいほど、ステップS82での検出結果についての尤度に対する重みを大きくする。なお、この判定で用いられる輝度差Disと輝度差Dpiとの比は、瞳孔のエッジが検出されたかを連続的な評価値として示しており、この評価値はすなわち、瞳孔の輪郭をどの程度の精度で検出できるかを示す。
[ステップS85]瞳孔中心検出部115は、ステップS81,S82の各検出結果のうち、尤度が大きい方を最終的な検出結果として出力する。なお、このステップS85では、各検出結果を尤度とともに出力してもよい。
以上の処理例2−2では、エッジ検出部114の検出結果に基づく輝度差Dpi,Disに応じて、瞳孔の輪郭に基づく瞳孔の中心位置の検出結果と、虹彩の輪郭に基づく瞳孔の中心位置の検出結果のそれぞれの尤度に対して重みが与えられる。
次に、瞳孔の中心位置検出処理についての処理例2−3について説明する。
まず、図17は、テンプレートと尤度との関係の例を示す図である。瞳孔の輪郭検出用のテンプレートには、テンプレートに含まれる円の半径ごとにあらかじめ尤度が対応づけられている。図17のグラフ281に示す関数Rpupilの曲線は、瞳孔の輪郭検出用のテンプレートに含まれる円の半径と、尤度との関係を示す。例えば、眼球領域の画像といずれかのテンプレートとが類似すると判定されて瞳孔の輪郭が検出されたとき、使用されたテンプレートに対応づけられた尤度は、その輪郭の検出結果の信頼度を示す。
また、虹彩の輪郭検出用のテンプレートにも同様に、テンプレートに含まれる円の半径ごとにあらかじめ尤度が対応づけられている。図17のグラフ281に示す関数Ririsの曲線は、虹彩の輪郭検出用のテンプレートに含まれる円の半径と、尤度との関係を示す。虹彩より瞳孔の方が半径が小さいことから、グラフ281に示すように、瞳孔の輪郭検出用のテンプレートの方が、円の半径が小さい領域における尤度が高く設定されている。
瞳孔中心検出部115は、例えば、エッジ検出部114の検出結果に基づく輝度差Dpi,Disから算出される関数f(W)にしたがって、関数Rpupilおよび関数Ririsに対して重み付けを行う。図17のグラフ282は、関数f(W)による重み付けが行われた後の関数Rpupilおよび関数Ririsの各曲線を示す。関数f(W)は、例えば、輝度差Disより輝度差Dpiの方が大きいほど、関数Rpupilへの重みを大きくするとともに、関数Ririsへの重みを小さくする。グラフ282は、エッジ検出部114により瞳孔エッジが検出されず、輝度差Disより輝度差Dpiの方が小さい場合の例であり、関数Rpupilの最大出力より関数Ririsの最大出力の方が大きくなっている。この場合、瞳孔の輪郭に基づく瞳孔の中心位置の検出結果より、虹彩の輪郭に基づく瞳孔の中心位置の検出結果の方が、尤度が大きくなることが多くなる。
また、瞳孔中心検出部115は、重み付けが行われた後の関数Rpupilおよび関数Ririsに基づいて、輪郭検出で使用するテンプレートを制限してもよい。例えば、瞳孔中心検出部115は、重み付けが行われた後の関数Rpupilおよび関数Ririsの各出力と、所定の閾値Thとを比較する。瞳孔中心検出部115は、関数Rpupilに基づき、瞳孔の輪郭検出用のテンプレートのうち、尤度が閾値Thより大きいテンプレートだけを使用して瞳孔の輪郭を検出する。また、瞳孔中心検出部115は、関数Ririsに基づき、虹彩の輪郭検出用のテンプレートのうち、尤度が閾値Thより大きいテンプレートだけを使用して虹彩の輪郭を検出する。
このような処理により、エッジ検出部114によって瞳孔のエッジが検出されている場合には、瞳孔の輪郭検出用のテンプレートの方が虹彩の輪郭検出用のテンプレートより相対的に多く使用されて輪郭検出が行われる。一方、エッジ検出部114によって瞳孔のエッジが検出されていない場合には、虹彩の輪郭検出用のテンプレートの方が瞳孔の輪郭検出用のテンプレートより相対的に多く使用されて輪郭検出が行われる。グラフ282の例では、関数Rpupilの最大出力は閾値Th以下であるため、実質的に虹彩の輪郭検出だけが行われ、瞳孔の輪郭検出は行われなくなる。
図18は、瞳孔の中心位置検出処理についての処理例2−3を示すフローチャートである。この図18の処理は、図10のステップS16の処理に対応する。
この図18では、重み付けが行われた後の関数Rpupilおよび関数Ririsに基づいて、輪郭検出で使用されるテンプレートが制限される場合について示す。
[ステップS91]瞳孔中心検出部115は、虹彩の輪郭検出用の各テンプレートにあらかじめ対応づけられた尤度に対して、エッジ検出部114によるエッジ検出結果に応じた重み付けを行う。例えば、瞳孔中心検出部115は、輝度差Disより輝度差Dpiの方が大きいほど、重みを小さくする。
[ステップS92]瞳孔中心検出部115は、虹彩の輪郭検出用のテンプレートの中から、ステップS91で重み付けが行われた後の尤度が閾値Thより大きいテンプレートを、輪郭検出で使用するテンプレートとして決定する。
[ステップS93]瞳孔中心検出部115は、ステップS92で決定されたテンプレートを用いて、眼球領域から虹彩の輪郭を検出する。瞳孔中心検出部115は、検出された虹彩の輪郭に基づいて、瞳孔の中心位置を検出する。
[ステップS94]瞳孔中心検出部115は、瞳孔の輪郭検出用の各テンプレートにあらかじめ対応づけられた尤度に対して、エッジ検出部114によるエッジ検出結果に応じた重み付けを行う。例えば、瞳孔中心検出部115は、輝度差Disより輝度差Dpiの方が大きいほど、重みを大きくする。
[ステップS95]瞳孔中心検出部115は、瞳孔の輪郭検出用のテンプレートの中から、ステップS94で重み付けが行われた後の尤度が閾値Thより大きいテンプレートを、輪郭検出で使用するテンプレートとして決定する。
[ステップS96]瞳孔中心検出部115は、ステップS95で決定されたテンプレートを用いて、眼球領域から瞳孔の輪郭を検出する。瞳孔中心検出部115は、検出された瞳孔の輪郭に基づいて、瞳孔の中心位置を検出する。
[ステップS97]瞳孔中心検出部115は、ステップS93,S96のそれぞれの検出結果についての尤度を算出する。例えば、瞳孔中心検出部115は、ステップS93,S96で虹彩、瞳孔の輪郭が検出された際のテンプレートとのマッチング評価値や、輪郭が検出された際に使用されたテンプレートにあらかじめ付与された尤度に基づいて、各検出結果についての尤度を算出する。テンプレートに付与された尤度としては、ステップS91,S94において重み付けされた尤度が用いられる。
瞳孔中心検出部115は、ステップS93,S96の各検出結果のうち、尤度が大きい方を最終的な検出結果として出力する。なお、このステップS97では、各検出結果を尤度とともに出力してもよい。
以上の図18の処理によれば、テンプレートに対応づけられた尤度が、エッジ検出部114の検出結果に応じて増減される。そして、輪郭検出の際に使用されるテンプレートが、尤度の高いテンプレートに限定されるので、テンプレートと画像とのマッチング回数が減少する。これにより、半明瞳孔状態が発生した場合でも、輪郭検出精度を維持しながら、検出処理負荷を軽減することができる。
なお、上記の処理例2−3では、テンプレートを用いて瞳孔および虹彩の輪郭を検出する例を示したが、他の例として、ハフ変換による円検出処理によって瞳孔および虹彩の輪郭を検出する方法を適用することも可能である。この場合、円検出処理で検出対象とする円の直径ごとに、尤度が対応づけられる。そして、その尤度に対して、上記のようにエッジ検出部114によるエッジ検出結果に応じた重み付けが行われればよい。
また、他の例として、瞳孔の輪郭検出と虹彩の輪郭検出のそれぞれの処理において、暗瞳孔状態に対応する画像特徴量と半明瞳孔状態に対応する画像特徴量とが用いられてもよい。各画像特徴量は、例えば、暗瞳孔状態での撮像画像、半明瞳孔状態での撮像画像から学習されて生成される。このような例では、画像特徴量ごとに尤度が対応づけられ、エッジ検出部114によるエッジ検出結果に応じて、尤度に対する重み付けが行われてもよい。
なお、上記の各実施の形態に示した装置(視線検出システム1に含まれる装置、視線検出装置100)の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc-Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
1 視線検出システム
1a 境界検出部
1b 中心位置検出部
1c 視線検出部
10 眼領域
11 瞳孔
11a,11b 境界
12 虹彩
13 検出領域

Claims (9)

  1. 撮像画像上のユーザの眼領域から、輝度に基づくエッジ検出によって瞳孔と虹彩との境界の位置を検出する境界検出部と、
    前記境界検出部によって前記境界の位置が検出されたか否かに応じて、前記瞳孔の中心位置を検出する第1の処理と、前記第1の処理とは異なる手順で前記瞳孔の中心位置を検出する第2の処理とを切り替えて実行する中心位置検出部と、
    前記中心位置検出部によって検出された前記瞳孔の中心位置に基づいて、前記ユーザの視線方向または注視位置を検出する視線検出部と、
    を有する視線検出システム。
  2. 前記第1の処理では、前記眼領域における瞳孔の輪郭の検出結果に基づいて前記瞳孔の中心位置を算出し、前記第2の処理では、前記眼領域における虹彩の輪郭の検出結果に基づいて前記瞳孔の中心位置を算出する、
    請求項1記載の視線検出システム。
  3. 前記第1の処理および前記第2の処理は、前記眼領域における瞳孔の輪郭の検出結果に基づいて前記瞳孔の中心位置を算出する第1の算出処理と、前記眼領域における虹彩の輪郭の検出結果に基づいて前記瞳孔の中心位置を算出する第2の算出処理とを含み、
    前記中心位置検出部は、前記第1の処理の実行時に、前記第1の算出処理および前記第2の算出処理のそれぞれの処理結果に与える重みと、前記第2の処理の実行時に、前記第1の算出処理および前記第2の算出処理のそれぞれの処理結果に与える重みとを、前記境界の位置が検出されたか否かに応じて変更する、
    請求項1記載の視線検出システム。
  4. 前記第1の処理および前記第2の処理は、複数の第1テンプレートを用いて前記眼領域における瞳孔の輪郭を検出し、前記瞳孔の輪郭の検出結果に基づいて前記瞳孔の中心位置を算出する第1の算出処理と、複数の第2テンプレートを用いて前記眼領域における虹彩の輪郭を検出し、前記虹彩の輪郭の検出結果に基づいて前記瞳孔の中心位置を算出する第2の算出処理とを含み、
    前記中心位置検出部は、前記第1の処理の実行時に、前記第1の算出処理で前記複数の第1テンプレートの中から使用するテンプレートおよび前記第2の算出処理で前記複数の第2テンプレートの中から使用するテンプレートと、前記第2の処理の実行時に、前記第1の算出処理で前記複数の第1テンプレートの中から使用するテンプレートおよび前記第2の算出処理で前記複数の第2テンプレートの中から使用するテンプレートとを、前記境界の位置が検出されたか否かに応じて変更する、
    請求項1記載の視線検出システム。
  5. 前記境界検出部は、前記眼領域に線状または帯状の検出領域を設定し、前記検出領域の長手方向に対してエッジ検出を行い、検出されたエッジのうち、前後で輝度が減少する第1のエッジおよび前後で輝度が増加する第2のエッジの前記検出領域における位置の対称性に基づいて、前記境界の位置を検出する、
    請求項1乃至4のいずれか1項に記載の視線検出システム。
  6. 前記境界検出部は、前記検出領域において角膜反射像が検出された場合、前記角膜反射像の前後の輝度差に基づいて、前記角膜反射像の位置を、前記第1のエッジが存在する位置、または前記第2のエッジが存在する位置、またはエッジが存在しない位置のいずれかであると判定する、
    請求項5記載の視線検出システム。
  7. 前記境界検出部は、前記検出領域において角膜反射像が検出された場合、検出された前記第1のエッジおよび前記第2のエッジと前記角膜反射像との位置関係に基づいて、前記角膜反射像の位置を、前記第1のエッジが存在する位置、または前記第2のエッジが存在する位置、またはエッジが存在しない位置のいずれかであると判定する、
    請求項5記載の視線検出システム。
  8. コンピュータが、
    撮像画像上のユーザの眼領域から、輝度に基づくエッジ検出によって瞳孔と虹彩との境界の位置を検出し、
    前記境界の位置が検出されたか否かに応じて、前記瞳孔の中心位置を検出する第1の処理と、前記第1の処理とは異なる手順で前記瞳孔の中心位置を検出する第2の処理とを切り替えて実行し、
    検出された前記瞳孔の中心位置に基づいて、前記ユーザの視線方向または注視位置を検出する、
    視線検出方法。
  9. コンピュータに、
    撮像画像上のユーザの眼領域から、輝度に基づくエッジ検出によって瞳孔と虹彩との境界の位置を検出し、
    前記境界の位置が検出されたか否かに応じて、前記瞳孔の中心位置を検出する第1の処理と、前記第1の処理とは異なる手順で前記瞳孔の中心位置を検出する第2の処理とを切り替えて実行し、
    検出された前記瞳孔の中心位置に基づいて、前記ユーザの視線方向または注視位置を検出する、
    処理を実行させる視線検出プログラム。
JP2015193729A 2015-09-30 2015-09-30 視線検出システム、視線検出方法および視線検出プログラム Expired - Fee Related JP6536324B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015193729A JP6536324B2 (ja) 2015-09-30 2015-09-30 視線検出システム、視線検出方法および視線検出プログラム
EP16187589.3A EP3151166B1 (en) 2015-09-30 2016-09-07 Line-of-sight detection method and device
US15/262,104 US10417494B2 (en) 2015-09-30 2016-09-12 Line-of-sight detection method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015193729A JP6536324B2 (ja) 2015-09-30 2015-09-30 視線検出システム、視線検出方法および視線検出プログラム

Publications (2)

Publication Number Publication Date
JP2017068615A JP2017068615A (ja) 2017-04-06
JP6536324B2 true JP6536324B2 (ja) 2019-07-03

Family

ID=57103775

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015193729A Expired - Fee Related JP6536324B2 (ja) 2015-09-30 2015-09-30 視線検出システム、視線検出方法および視線検出プログラム

Country Status (3)

Country Link
US (1) US10417494B2 (ja)
EP (1) EP3151166B1 (ja)
JP (1) JP6536324B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101776944B1 (ko) * 2017-01-09 2017-09-08 주식회사 쓰리이 홍채 패턴 코드화 방법
JP6776970B2 (ja) * 2017-03-24 2020-10-28 株式会社Jvcケンウッド 視線検出装置、視線検出方法及び視線検出プログラム
JP6930223B2 (ja) * 2017-05-31 2021-09-01 富士通株式会社 瞳孔検出用コンピュータプログラム、瞳孔検出装置及び瞳孔検出方法
US11080888B2 (en) 2017-06-02 2021-08-03 Sony Corporation Information processing device and information processing method
CN110832435A (zh) * 2017-07-03 2020-02-21 惠普发展公司,有限责任合伙企业 基于眼睛移动旋转微led显示器
JP7078386B2 (ja) * 2017-12-07 2022-05-31 矢崎総業株式会社 画像処理装置
CN111936912A (zh) * 2018-02-28 2020-11-13 奇跃公司 使用眼部配准的头部扫描对准
JP6717330B2 (ja) 2018-03-15 2020-07-01 オムロン株式会社 視線検出装置、該視線検出装置の制御方法、角膜反射像位置の検出方法、及びコンピュータプログラム
US10949969B1 (en) * 2018-03-20 2021-03-16 Welch Allyn, Inc. Pupil edge region removal in digital imaging
CN109002796B (zh) * 2018-07-16 2020-08-04 阿里巴巴集团控股有限公司 一种图像采集方法、装置和***以及电子设备
CN108922085B (zh) * 2018-07-18 2020-12-18 北京七鑫易维信息技术有限公司 一种监护方法、装置、监护设备及存储介质
JP7311257B2 (ja) * 2018-09-27 2023-07-19 株式会社アイシン 眼球情報検出装置、眼球情報検出方法、および乗員モニタリング装置
US10928904B1 (en) 2019-12-31 2021-02-23 Logitech Europe S.A. User recognition and gaze tracking in a video system
US11163995B2 (en) * 2019-12-31 2021-11-02 Logitech Europe S.A. User recognition and gaze tracking in a video system
CN112989939B (zh) * 2021-02-08 2023-04-07 佛山青藤信息科技有限公司 一种基于视觉的斜视检测***

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3520618B2 (ja) * 1995-08-16 2004-04-19 日産自動車株式会社 車両用視線方向計測装置
JP4469476B2 (ja) * 2000-08-09 2010-05-26 パナソニック株式会社 眼位置検出方法および眼位置検出装置
JP4008282B2 (ja) 2002-04-24 2007-11-14 沖電気工業株式会社 瞳孔・虹彩円検出装置
JP2004005167A (ja) 2002-05-31 2004-01-08 Matsushita Electric Ind Co Ltd 目位置特定方法および装置
US9250703B2 (en) * 2006-03-06 2016-02-02 Sony Computer Entertainment Inc. Interface with gaze detection and voice input
CN102439627B (zh) * 2010-02-26 2014-10-08 松下电器(美国)知识产权公司 瞳孔检测装置和瞳孔检测方法
JP5529660B2 (ja) * 2010-07-20 2014-06-25 パナソニック株式会社 瞳孔検出装置及び瞳孔検出方法
CN103229174B (zh) * 2011-10-19 2016-12-14 松下电器(美国)知识产权公司 显示控制装置、集成电路以及显示控制方法
JP6056323B2 (ja) 2012-09-24 2017-01-11 富士通株式会社 視線検出装置、視線検出用コンピュータプログラム
JP2014078052A (ja) * 2012-10-09 2014-05-01 Sony Corp 認証装置および方法、並びにプログラム
JP6175945B2 (ja) * 2013-07-05 2017-08-09 ソニー株式会社 視線検出装置及び視線検出方法
US9355315B2 (en) * 2014-07-24 2016-05-31 Microsoft Technology Licensing, Llc Pupil detection
US10016130B2 (en) * 2015-09-04 2018-07-10 University Of Massachusetts Eye tracker system and methods for detecting eye parameters

Also Published As

Publication number Publication date
EP3151166A1 (en) 2017-04-05
EP3151166B1 (en) 2020-06-10
JP2017068615A (ja) 2017-04-06
US10417494B2 (en) 2019-09-17
US20170091520A1 (en) 2017-03-30

Similar Documents

Publication Publication Date Title
JP6536324B2 (ja) 視線検出システム、視線検出方法および視線検出プログラム
JP6930223B2 (ja) 瞳孔検出用コンピュータプログラム、瞳孔検出装置及び瞳孔検出方法
US7197166B2 (en) Iris extraction method capable of precisely determining positions and sizes of irises in a digital face image
Welfer et al. A morphologic two-stage approach for automated optic disk detection in color eye fundus images
JP4845698B2 (ja) 眼部検出装置、眼部検出方法及びプログラム
US10147022B2 (en) Detection method and system
JP3143819B2 (ja) まぶたの開度検出装置
US11877800B2 (en) Method and system for detecting blepharoptosis
US11188771B2 (en) Living-body detection method and apparatus for face, and computer readable medium
JP7004059B2 (ja) なりすまし検知装置、なりすまし検知方法、及びプログラム
JPH11250267A (ja) 目の位置検出方法、目の位置検出装置および目の位置検出プログラムを記録した記録媒体
US12014572B2 (en) Image processing device, image processing method, and storage medium
EP3699808B1 (en) Facial image detection method and terminal device
WO2019163066A1 (ja) なりすまし検知装置、なりすまし検知方法、及びコンピュータ読み取り可能な記録媒体
US20170116736A1 (en) Line of sight detection system and method
JP5949389B2 (ja) 検出装置、検出プログラムおよび検出方法
US20170243061A1 (en) Detection system and detection method
KR101276792B1 (ko) 눈 검출 장치 및 방법
KR102466084B1 (ko) 영상 기반의 동공 검출 방법
US11156831B2 (en) Eye-tracking system and method for pupil detection, associated systems and computer programs
JP6721169B1 (ja) 画像処理方法、画像処理装置、及び画像処理プログラム
JP3936575B2 (ja) 目の位置の抽出方法、装置およびそのためのプログラム
JP2024027007A (ja) 入力検知プログラム、入力検知方法および入力検知装置
JP2022028850A (ja) なりすまし検知装置、なりすまし検知方法、及びプログラム
JP2008052509A (ja) 鼻孔検出装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180608

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190418

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190507

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190520

R150 Certificate of patent or registration of utility model

Ref document number: 6536324

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees