JP3192503B2 - 視線検出装置 - Google Patents
視線検出装置Info
- Publication number
- JP3192503B2 JP3192503B2 JP31440692A JP31440692A JP3192503B2 JP 3192503 B2 JP3192503 B2 JP 3192503B2 JP 31440692 A JP31440692 A JP 31440692A JP 31440692 A JP31440692 A JP 31440692A JP 3192503 B2 JP3192503 B2 JP 3192503B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- pupil
- edge
- detection
- subroutine
- 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
Links
Classifications
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03B—APPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
- G03B2213/00—Viewfinders; Focusing aids for cameras; Means for focusing for cameras; Autofocus systems for cameras
- G03B2213/02—Viewfinders
- G03B2213/025—Sightline detection
Landscapes
- Eye Examination Apparatus (AREA)
- Focusing (AREA)
- Viewfinders (AREA)
- Automatic Focus Adjustment (AREA)
Description
【0001】
【産業上の利用分野】 本発明は、眼球の瞳孔および眼
球に生じる角膜反射像の位置を求めて、視線を検出する
視線検出装置の改良に関するものである。
球に生じる角膜反射像の位置を求めて、視線を検出する
視線検出装置の改良に関するものである。
【0002】
【従来の技術】従来より、光学装置の観察者が観察面上
のどの位置を観察しているかを検出するいわゆる視線検
出装置は、特開昭61−172552号公報、特開平1
−241511号公報、特開平2−5号公報等に開示さ
れている。
のどの位置を観察しているかを検出するいわゆる視線検
出装置は、特開昭61−172552号公報、特開平1
−241511号公報、特開平2−5号公報等に開示さ
れている。
【0003】例えば、特開昭61−172552号公報
においては、光源からの平行光束を観察者の眼球の前眼
部へ投射し、角膜からの反射光による角膜反射像と瞳孔
の結像位置を利用して視軸を求めている。
においては、光源からの平行光束を観察者の眼球の前眼
部へ投射し、角膜からの反射光による角膜反射像と瞳孔
の結像位置を利用して視軸を求めている。
【0004】図16(A),(B)は視線検出方法の原
理説明図で、図16(A)は視線検出光学系の概略図、
図16(B)は光電変換素子列からの出力信号の強度図
である。
理説明図で、図16(A)は視線検出光学系の概略図、
図16(B)は光電変換素子列からの出力信号の強度図
である。
【0005】図16において、5は観察者に対して不感
の赤外光を放射する発光ダイオード等の光源であり、投
光レンズ3の焦点面に配置されている。
の赤外光を放射する発光ダイオード等の光源であり、投
光レンズ3の焦点面に配置されている。
【0006】上記光源5より発光せられた赤外光は、投
光レンズ3により平行光となり、ハーフミラー2で反射
し、眼球201の角膜21を照明する。このとき角膜2
1の表面で反射した赤外光の一部による角膜反射像はハ
ーフミラー2を透過し、受光レンズ4により集光された
光電変換素子列6上の位置Xd´に再結像する。
光レンズ3により平行光となり、ハーフミラー2で反射
し、眼球201の角膜21を照明する。このとき角膜2
1の表面で反射した赤外光の一部による角膜反射像はハ
ーフミラー2を透過し、受光レンズ4により集光された
光電変換素子列6上の位置Xd´に再結像する。
【0007】また、虹彩23の端部(瞳孔24のふち)
a,bからの光束はハーフミラー2,受光レンズ4を介
して光電変換素子列6上の位置Xa´,Xb´に該端部
a,bの像として結像する。受光レンズ4の光軸(光軸
ア)に対する眼球の光軸イの回転角θが小さい場合、虹
彩23の端部a,bのX座標をXa,Xbとすると、虹
彩23の中心位置cの座標Xcは Xc≒(Xa+Xb)/2 と表される。
a,bからの光束はハーフミラー2,受光レンズ4を介
して光電変換素子列6上の位置Xa´,Xb´に該端部
a,bの像として結像する。受光レンズ4の光軸(光軸
ア)に対する眼球の光軸イの回転角θが小さい場合、虹
彩23の端部a,bのX座標をXa,Xbとすると、虹
彩23の中心位置cの座標Xcは Xc≒(Xa+Xb)/2 と表される。
【0008】また、角膜反射像の発生位置dのX座標を
Xd、角膜21の曲率中心Oと瞳孔24の中心位置cま
での距離をLOCとすると、眼球光軸イの回転角θは、 LOC*sinθ≒Xc−Xd ……………(1) の関係式を略満足する。
Xd、角膜21の曲率中心Oと瞳孔24の中心位置cま
での距離をLOCとすると、眼球光軸イの回転角θは、 LOC*sinθ≒Xc−Xd ……………(1) の関係式を略満足する。
【0009】ここで、角膜反射像の発生位置dのX座標
Xdと角膜21の曲率中心OのX座標X0とは一致して
いる。このため、演算手段9において、図16(B)の
ごとく光電変換素子列6面上に投影された各特異点(角
膜反射像の発生位置d及び虹彩23の端部a,bの位
置)を検出することにより、眼球光軸イの回転角θを求
めることができる。
Xdと角膜21の曲率中心OのX座標X0とは一致して
いる。このため、演算手段9において、図16(B)の
ごとく光電変換素子列6面上に投影された各特異点(角
膜反射像の発生位置d及び虹彩23の端部a,bの位
置)を検出することにより、眼球光軸イの回転角θを求
めることができる。
【0010】 この時、上記(1)式は、 β*LOC*sinθ≒(Xa´+Xb´)/2−Xd´ …………(2) と書き換えられる。但し、βは角膜反射像の発生位置d
と受光レンズ4との距離L1と受光レンズ4と光電変換
素子列6との距離L0で決る倍率で、通常ほぼ一定の値
となっている。
と受光レンズ4との距離L1と受光レンズ4と光電変換
素子列6との距離L0で決る倍率で、通常ほぼ一定の値
となっている。
【0011】これは例えばカメラの自動焦点検出装置に
おいて、測距点を画面中心のみならず画面内の複数箇所
に設けた場合、観察者がそのうち1つの測距点を選択し
て自動焦点検出を行おうとする場合、その1つを選択入
力する手間を省き、観察者が観察している点を測距点と
みなし、該測距点を自動的に選択して自動焦点検出を行
うのに有効である。
おいて、測距点を画面中心のみならず画面内の複数箇所
に設けた場合、観察者がそのうち1つの測距点を選択し
て自動焦点検出を行おうとする場合、その1つを選択入
力する手間を省き、観察者が観察している点を測距点と
みなし、該測距点を自動的に選択して自動焦点検出を行
うのに有効である。
【0012】 また、特願平3−121092号公報に
おける視線検出装置では、像情報を全て同時にメモリに
格納せず、センサから時系列に出力される光電変換信号
を読み込みながら、逐次的にメモリに格納していき、処
理するに足る情報が獲得できた時点で一旦読み込みを中
断して処理を行う。そして、処理の終了した像情報はそ
のままメモリに保持することなく、また新たな光電変換
信号を格納していく。このようにして、少ないメモリ容
量しか有しない場合でも全情報を余すことなく処理する
ことを可能としている。
おける視線検出装置では、像情報を全て同時にメモリに
格納せず、センサから時系列に出力される光電変換信号
を読み込みながら、逐次的にメモリに格納していき、処
理するに足る情報が獲得できた時点で一旦読み込みを中
断して処理を行う。そして、処理の終了した像情報はそ
のままメモリに保持することなく、また新たな光電変換
信号を格納していく。このようにして、少ないメモリ容
量しか有しない場合でも全情報を余すことなく処理する
ことを可能としている。
【0013】
【発明が解決しようとする課題】ところで、複数の光電
変換素子列より成るエリアセンサからの像信号を処理し
て視線方向を検出する場合に、眼球の特徴点(最低輝
度,瞳孔エッジ,プルキンエ像)をエリアセンサ全体に
渡って検出していたのでは、一般に該エリアセンサの光
電変換素子(画素)の数は数十万単位であり、膨大な時
間がかかってしまうといった問題点があった。
変換素子列より成るエリアセンサからの像信号を処理し
て視線方向を検出する場合に、眼球の特徴点(最低輝
度,瞳孔エッジ,プルキンエ像)をエリアセンサ全体に
渡って検出していたのでは、一般に該エリアセンサの光
電変換素子(画素)の数は数十万単位であり、膨大な時
間がかかってしまうといった問題点があった。
【0014】(発明の目的)本発明の目的は、視線検出
に必要となる眼球の特徴点の位置情報に要する検出時間
を大幅に短縮することのできる視線検出装置を提供する
ことである。
に必要となる眼球の特徴点の位置情報に要する検出時間
を大幅に短縮することのできる視線検出装置を提供する
ことである。
【0015】
【課題を解決するための手段】 上記目的を達成するた
めに、本発明は、眼球を照明する照明手段と、前記照明
手段により照明された前記眼球を撮像する撮像センサ
と、前記撮像センサの全領域より狭い第1の領域の出力
より複数の瞳孔の境界部を抽出し、前記撮像センサの第
1の領域より狭い第2の領域の出力より角膜反射像を抽
出する抽出手段と、前記抽出された複数の瞳孔の境界部
及び角膜反射像に基づいて視線を検出する視線検出手段
とを有することを特徴としている。
めに、本発明は、眼球を照明する照明手段と、前記照明
手段により照明された前記眼球を撮像する撮像センサ
と、前記撮像センサの全領域より狭い第1の領域の出力
より複数の瞳孔の境界部を抽出し、前記撮像センサの第
1の領域より狭い第2の領域の出力より角膜反射像を抽
出する抽出手段と、前記抽出された複数の瞳孔の境界部
及び角膜反射像に基づいて視線を検出する視線検出手段
とを有することを特徴としている。
【0016】
【実施例】以下、本発明を図示の実施例に基づいて詳細
に説明する。
に説明する。
【0017】図1は本発明の一実施例の視線検出装置を
一眼レフカメラに適用した時の光学系の要部概略図、図
2は図1の焦点検出系の斜視図、図3は図1の視線検出
系の要部斜視図である。
一眼レフカメラに適用した時の光学系の要部概略図、図
2は図1の焦点検出系の斜視図、図3は図1の視線検出
系の要部斜視図である。
【0018】これらの図において、1は接眼レンズで、
その内部には可視光透過・赤外光反射のダイクロイック
ミラー1aが斜設されており、光路分割器を兼ねてい
る。
その内部には可視光透過・赤外光反射のダイクロイック
ミラー1aが斜設されており、光路分割器を兼ねてい
る。
【0019】4は受光レンズ、5(5a,5b,5c,
5d)は照明手段であるところの例えば発光ダイオード
であり、このうち5a,5bは接眼レンズ1の下部に配
置され、角膜反射像を発生させる為の赤外発光ダイオー
ドであり、角膜反射像をできるだけ分解能よく検知でき
るよう見かけのチップサイズの小さなスポット性のある
発光ダイオードを用いている。また、5c,5dは接眼
レンズ1の両側面上部に設けられた赤外発光ダイオード
で、眼球全体を照明するように拡散性を持たせたもの、
又は面発光的な特徴を持ったもので、眼球が光軸中心よ
りはずれた場合でも十分カバーする照明範囲を持ってお
り、かつ受光レンズ4によって複数の光電変換素子列6
により成る虹彩情報検出用のエリアセンサ7には角膜反
射像が結像されないように配置されている。
5d)は照明手段であるところの例えば発光ダイオード
であり、このうち5a,5bは接眼レンズ1の下部に配
置され、角膜反射像を発生させる為の赤外発光ダイオー
ドであり、角膜反射像をできるだけ分解能よく検知でき
るよう見かけのチップサイズの小さなスポット性のある
発光ダイオードを用いている。また、5c,5dは接眼
レンズ1の両側面上部に設けられた赤外発光ダイオード
で、眼球全体を照明するように拡散性を持たせたもの、
又は面発光的な特徴を持ったもので、眼球が光軸中心よ
りはずれた場合でも十分カバーする照明範囲を持ってお
り、かつ受光レンズ4によって複数の光電変換素子列6
により成る虹彩情報検出用のエリアセンサ7には角膜反
射像が結像されないように配置されている。
【0020】受光レンズ4とエリアセンサ7(光電変換
素子列6)は受光手段の一要素を構成している。
素子列6)は受光手段の一要素を構成している。
【0021】各要素1,4,5,6,7より眼球の視線
検出系を構成している。
検出系を構成している。
【0022】101は撮影レンズ、102はクイックリ
ターン(QR)ミラー、103は表示素子、104はピ
ント板、105はコンデンサレンズ、106はペンタダ
ハプリズム、107はサブミラー、108は多点焦点検
出装置であり、撮影画面内の複数の領域を選択して焦点
検出を行っている。
ターン(QR)ミラー、103は表示素子、104はピ
ント板、105はコンデンサレンズ、106はペンタダ
ハプリズム、107はサブミラー、108は多点焦点検
出装置であり、撮影画面内の複数の領域を選択して焦点
検出を行っている。
【0023】上記多点焦点検出装置108については本
発明とは直接関係がないので、ここではその概略構成の
み説明する。
発明とは直接関係がないので、ここではその概略構成の
み説明する。
【0024】即ち本実施例では、図2に描く様に、撮影
レンズ101の予定結像面近傍に配され、夫々測距域を
決める複数のスリットを有する視野マスク110と、各
スリット内の像に対してフィールドレンズの作用を果た
すレンズ部材111を近接配置し、更にスリット数に応
じた再結像レンズの組112と光電変換素子列の組11
3を順置する。そして、視野マスク110,レンズ部材
111、再結像レンズの組112、光電変換素子列の組
113により、それぞれ周知の多点焦点検出系を構成し
ている。
レンズ101の予定結像面近傍に配され、夫々測距域を
決める複数のスリットを有する視野マスク110と、各
スリット内の像に対してフィールドレンズの作用を果た
すレンズ部材111を近接配置し、更にスリット数に応
じた再結像レンズの組112と光電変換素子列の組11
3を順置する。そして、視野マスク110,レンズ部材
111、再結像レンズの組112、光電変換素子列の組
113により、それぞれ周知の多点焦点検出系を構成し
ている。
【0025】本実施例では、撮影レンズ101を透過し
た被写体光の一部は、QRミラー102によって反射さ
れてピント板104近傍に被写体像として結像される。
ピント板104の拡散面で拡散した被写体光は、コンデ
ンサレンズ105,ペンタダハプリズム106,接眼レ
ンズ1を介してアイポイントEに導かれる。
た被写体光の一部は、QRミラー102によって反射さ
れてピント板104近傍に被写体像として結像される。
ピント板104の拡散面で拡散した被写体光は、コンデ
ンサレンズ105,ペンタダハプリズム106,接眼レ
ンズ1を介してアイポイントEに導かれる。
【0026】ここで表示素子103は、例えば偏光板を
用いない2層タイプのゲスト・ホスト型液晶素子で、フ
ァインダ視野内の測距域(焦点検出位置)を表示するも
のである。
用いない2層タイプのゲスト・ホスト型液晶素子で、フ
ァインダ視野内の測距域(焦点検出位置)を表示するも
のである。
【0027】又、撮影レンズ101を透過した被写体光
の一部は、QRミラー102を透過し、サブミラー10
7で反射されてカメラ本体底部に配置された前述の多点
焦点検出装置108に導かれる。そして、該多点焦点検
出装置108の選択した被写体面上の位置の焦点検出情
報に基づいて、不図示の撮影レンズ駆動装置により撮影
レンズ101の繰出しあるいは繰り込みが行われ、焦点
調節が行われる。
の一部は、QRミラー102を透過し、サブミラー10
7で反射されてカメラ本体底部に配置された前述の多点
焦点検出装置108に導かれる。そして、該多点焦点検
出装置108の選択した被写体面上の位置の焦点検出情
報に基づいて、不図示の撮影レンズ駆動装置により撮影
レンズ101の繰出しあるいは繰り込みが行われ、焦点
調節が行われる。
【0028】視線検出用の信号処理回路109は、いわ
ゆるワンチップマイクロコンピュータ(以下、MCUと
記す)であり、内部にROM,RAM,A/D変換器等
を内蔵しているものである。MCU109は内蔵のRO
Mに格納されているプログラムにしたがって一連の視線
検出動作を実行する。
ゆるワンチップマイクロコンピュータ(以下、MCUと
記す)であり、内部にROM,RAM,A/D変換器等
を内蔵しているものである。MCU109は内蔵のRO
Mに格納されているプログラムにしたがって一連の視線
検出動作を実行する。
【0029】ここで、視線検出の概略の手順について説
明する。
明する。
【0030】 先ず、赤外発光ダイオード5を点灯す
る。これによりここで投射された赤外光は接眼レンズ1
に入射し、ダイクロイックミラー1aにより反射され、
アイポイントE近傍に位置する観察者の眼球201を照
明する。また、眼球201で反射した赤外光はダイクロ
イックミラー1aで再び反射され、受光レンズ4によっ
て光電変換素子列6上に像を形成する。MCU109は
光電変換素子列6によって光電変換された眼球像を信号
処理し、注視点情報(視線)を検知する。
る。これによりここで投射された赤外光は接眼レンズ1
に入射し、ダイクロイックミラー1aにより反射され、
アイポイントE近傍に位置する観察者の眼球201を照
明する。また、眼球201で反射した赤外光はダイクロ
イックミラー1aで再び反射され、受光レンズ4によっ
て光電変換素子列6上に像を形成する。MCU109は
光電変換素子列6によって光電変換された眼球像を信号
処理し、注視点情報(視線)を検知する。
【0031】検知された注視点情報は、多点焦点検出動
作と表示動作に利用される。即ち、注視点に最も近い測
距点の焦点検出結果に基づいて焦点調節を行い、同時に
表示素子103によって観察者の注視した場所をカメラ
のファインダ内に表示し、注視点の確認を行わせること
が出来る。
作と表示動作に利用される。即ち、注視点に最も近い測
距点の焦点検出結果に基づいて焦点調節を行い、同時に
表示素子103によって観察者の注視した場所をカメラ
のファインダ内に表示し、注視点の確認を行わせること
が出来る。
【0032】図4(A),(B)は視線を検出するため
の原理を示す図である。
の原理を示す図である。
【0033】図4(A)において、光電変換素子列6の
横方向(X軸方向)に分離して配置された赤外発光ダイ
オード5a,5bからの光束は、X軸方向に分離した位
置に角膜反射像e,dを夫々形成する。この時、角膜反
射像e及びdの中点のX座標は角膜21の曲率中心Oの
X座標と一致している。また、角膜反射像e及びdの間
隔は赤外発光ダイオード5と観察者の眼球201との距
離に対応して変化するため、光電変換素子列6上に再結
像した角膜反射像d,eの位置e´,d´を検出するこ
とにより、眼球201からの反射像の結像倍率βを求め
ることが可能となる。
横方向(X軸方向)に分離して配置された赤外発光ダイ
オード5a,5bからの光束は、X軸方向に分離した位
置に角膜反射像e,dを夫々形成する。この時、角膜反
射像e及びdの中点のX座標は角膜21の曲率中心Oの
X座標と一致している。また、角膜反射像e及びdの間
隔は赤外発光ダイオード5と観察者の眼球201との距
離に対応して変化するため、光電変換素子列6上に再結
像した角膜反射像d,eの位置e´,d´を検出するこ
とにより、眼球201からの反射像の結像倍率βを求め
ることが可能となる。
【0034】虹彩情報検出用の赤外発光ダイオード5
c,5dは、ファインダの側面方向から眼球を照明する
が、角膜反射像が受光レンズ4によって光電変換素子列
6上に再結像しないように配置されている。これによっ
て光電変換素子列6上における虹彩23と瞳孔24の境
界位置a,bに不用光によるフレア反射像が入射しない
ようにし、境界位置a,bの検出精度の低下を防止して
いる。
c,5dは、ファインダの側面方向から眼球を照明する
が、角膜反射像が受光レンズ4によって光電変換素子列
6上に再結像しないように配置されている。これによっ
て光電変換素子列6上における虹彩23と瞳孔24の境
界位置a,bに不用光によるフレア反射像が入射しない
ようにし、境界位置a,bの検出精度の低下を防止して
いる。
【0035】図5(A)は本実施例において複数の光電
変換素子列6から成るエリアセンサ7上に投影された眼
球201からの反射像を示す説明図である。
変換素子列6から成るエリアセンサ7上に投影された眼
球201からの反射像を示す説明図である。
【0036】同図において、角膜反射像e´,d´は光
電変換素子列Yp´上に再結像している。一例として、
この時光電変換素子列Yp´より得られる光強度分布の
出力信号を図5(B)に示す。
電変換素子列Yp´上に再結像している。一例として、
この時光電変換素子列Yp´より得られる光強度分布の
出力信号を図5(B)に示す。
【0037】先にも説明したように、MCU109は、
図5(A),(B)に示したセンサ信号から、瞳孔24
の中心位置と角膜反射像e´,d´の位置を検出し、そ
れらの位置関係に基づいて注視点(視線)を検知する。
図5(A),(B)に示したセンサ信号から、瞳孔24
の中心位置と角膜反射像e´,d´の位置を検出し、そ
れらの位置関係に基づいて注視点(視線)を検知する。
【0038】次に、図6乃至図13のフローチャートに
より、上記MCU109が実行する視線検出動作につい
て説明する。
より、上記MCU109が実行する視線検出動作につい
て説明する。
【0039】図6は視線検出のメイン動作を示すフロー
チャートである。
チャートである。
【0040】MCU109が視線検出動作を開始する
と、ステップ(000)を経て、ステップ(001)へ
進み、ここで各種のデータ(変数)の初期化を実行す
る。
と、ステップ(000)を経て、ステップ(001)へ
進み、ここで各種のデータ(変数)の初期化を実行す
る。
【0041】ここで、変数EYEMINは眼球反射像の
光電変換信号中の最低の輝度値を記録する変数であり、
MCU109に内蔵されているA/D変換器の分解能を
8bitと想定し、像信号の読み込みに伴って、逐次的
に最低値を比較・更新してゆく。初期値は8bitでの
最大の値を表す「255」を格納しておく。
光電変換信号中の最低の輝度値を記録する変数であり、
MCU109に内蔵されているA/D変換器の分解能を
8bitと想定し、像信号の読み込みに伴って、逐次的
に最低値を比較・更新してゆく。初期値は8bitでの
最大の値を表す「255」を格納しておく。
【0042】変数EDGCNTは、虹彩23と瞳孔24
の境界をエッジとして抽出した個数をカウントする変数
である。
の境界をエッジとして抽出した個数をカウントする変数
である。
【0043】変数IP1,IP2,JP1,JP2は発
光ダイオード5a,5bの角膜反射像(以下「プルキン
エ像;P像」と称する)の位置を表す変数であり、横方
向(X軸)の範囲IP1〜IP2,縦方向(Y軸)の範
囲JP1〜JP2で囲まれる眼球反射像の領域内に、2
個のP像が存在する。
光ダイオード5a,5bの角膜反射像(以下「プルキン
エ像;P像」と称する)の位置を表す変数であり、横方
向(X軸)の範囲IP1〜IP2,縦方向(Y軸)の範
囲JP1〜JP2で囲まれる眼球反射像の領域内に、2
個のP像が存在する。
【0044】今、エリアセンサ7の画素数は横方向に1
50画素、縦方向に100画素のサイズを想定してお
り、IP1,IP2,JP1,JP2は全体のちょうど
真中の位置「75,50」を初期値として格納してお
く。
50画素、縦方向に100画素のサイズを想定してお
り、IP1,IP2,JP1,JP2は全体のちょうど
真中の位置「75,50」を初期値として格納してお
く。
【0045】データの初期化の後はステップ(002)
へ移行する。
へ移行する。
【0046】ステップ(002)では、P像用の発光ダ
イオード(LED)5a,5bと、眼球照明用の発光ダ
イオード5c,5dを点灯する。そして、次のステップ
(003)にて、エリアセンサ7の蓄積動作を開始させ
る。この蓄積制御は本発明と直接の関りはないので詳細
な説明は省略するが、本実施例では不図示のセンサ・イ
ンタフェース回路によって駆動制御されるものとする。
イオード(LED)5a,5bと、眼球照明用の発光ダ
イオード5c,5dを点灯する。そして、次のステップ
(003)にて、エリアセンサ7の蓄積動作を開始させ
る。この蓄積制御は本発明と直接の関りはないので詳細
な説明は省略するが、本実施例では不図示のセンサ・イ
ンタフェース回路によって駆動制御されるものとする。
【0047】ステップ(004)において、エリアセン
サ7の蓄積終了を待つ。そして、所定の電荷蓄積が終了
すると、次のステップ(005)で発光ダイオード5a
〜5dを消灯する。
サ7の蓄積終了を待つ。そして、所定の電荷蓄積が終了
すると、次のステップ(005)で発光ダイオード5a
〜5dを消灯する。
【0048】次に、ステップ(006)以降から、エリ
アセンサ7の光電変換信号の読み込みを開始する。
アセンサ7の光電変換信号の読み込みを開始する。
【0049】ステップ(006)は、ループ変数Jを0
から99までカウントアップしながら、枠内の処理を実
行する、いわゆる「ループ処理」を表している。
から99までカウントアップしながら、枠内の処理を実
行する、いわゆる「ループ処理」を表している。
【0050】ステップ(006)内のループ処理では、
まず、ステップ(007)にてエリアセンサ7の横方向
(X軸)の1ラインの光電変換信号の読み込みを行う。
1ラインの読み込みはサブルーチン形式となっており、
図7にサブルーチン「1ライン読み込み」のフローチャ
ートを示す。
まず、ステップ(007)にてエリアセンサ7の横方向
(X軸)の1ラインの光電変換信号の読み込みを行う。
1ラインの読み込みはサブルーチン形式となっており、
図7にサブルーチン「1ライン読み込み」のフローチャ
ートを示す。
【0051】サブルーチン「1ライン読み込み」がコー
ルされると、図7のステップ(100)を経て、次のス
テップ(101)を実行する。ステップ(101)と、
その枠内のステップ(102)は、前述したステップ
(006)と同様のループ処理を表しており、ステップ
(101)では変数Kを0から3へカウントアップさせ
ながら、そしてステップ(102)では変数Iを0から
149までカウントアップさせながら、夫々の枠内の処
理を実行していく。従って、ステップ(101)とステ
ップ(102)は変数Kと変数Iの、いわゆる「入れ
子」となったループ処理を表している。
ルされると、図7のステップ(100)を経て、次のス
テップ(101)を実行する。ステップ(101)と、
その枠内のステップ(102)は、前述したステップ
(006)と同様のループ処理を表しており、ステップ
(101)では変数Kを0から3へカウントアップさせ
ながら、そしてステップ(102)では変数Iを0から
149までカウントアップさせながら、夫々の枠内の処
理を実行していく。従って、ステップ(101)とステ
ップ(102)は変数Kと変数Iの、いわゆる「入れ
子」となったループ処理を表している。
【0052】ステップ(102)のループ処理内のステ
ップ(103)では、配列変数IM(I,K)の再格納
作業を行っている。
ップ(103)では、配列変数IM(I,K)の再格納
作業を行っている。
【0053】本実施例では、マイクロコンピュータであ
るところのMCU109が信号処理を行っているわけで
あるが、一般にマイクロコンピュータの内蔵RAM(ラ
ンダム・アクセス・メモリ)の記憶容量は、エリアセン
サ7の全画素情報を一度に記憶できるほど大きくはな
い。そこで、本実施例では、エリアセンサ7から出力さ
れる像信号を逐時読出しながら、横方向(X軸)5ライ
ン分に相当する最新の像信号のみをMCU109の内蔵
RAMに記憶させ、1ラインの読み込み毎に視線検出の
ための処理を実行するようにしている。
るところのMCU109が信号処理を行っているわけで
あるが、一般にマイクロコンピュータの内蔵RAM(ラ
ンダム・アクセス・メモリ)の記憶容量は、エリアセン
サ7の全画素情報を一度に記憶できるほど大きくはな
い。そこで、本実施例では、エリアセンサ7から出力さ
れる像信号を逐時読出しながら、横方向(X軸)5ライ
ン分に相当する最新の像信号のみをMCU109の内蔵
RAMに記憶させ、1ラインの読み込み毎に視線検出の
ための処理を実行するようにしている。
【0054】ステップ(101)からステップ(10
3)の2重ループ処理で実行している内容は、新たな1
ライン分の像信号を読み込むために、記憶している過去
5ライン分の像信号データを更新する作業である。即
ち、配列変数IM(I,K)の内、IM(I,0)[I
=0〜149]が最も過去の、又IM(I,4)[I=
0〜149]が最も最近の1ライン像データを表してお
り、次のようにデータを更新して新たな1ライン分の像
信号をIM(I,4)[I=0〜149]に格納できる
ように準備する。
3)の2重ループ処理で実行している内容は、新たな1
ライン分の像信号を読み込むために、記憶している過去
5ライン分の像信号データを更新する作業である。即
ち、配列変数IM(I,K)の内、IM(I,0)[I
=0〜149]が最も過去の、又IM(I,4)[I=
0〜149]が最も最近の1ライン像データを表してお
り、次のようにデータを更新して新たな1ライン分の像
信号をIM(I,4)[I=0〜149]に格納できる
ように準備する。
【0055】 IM(I,0)←IM(I,1) IM(I,1)←IM(I,2) IM(I,2)←IM(I,3) IM(I,3)←IM(I,4)[I=0〜149] さて、ステップ(101)〜ステップ(103)のデー
タ更新のためのループ処理が終了すると、次のステップ
(104)のループ処理を実行する。
タ更新のためのループ処理が終了すると、次のステップ
(104)のループ処理を実行する。
【0056】ステップ(104)のループ処理では、エ
リアセンサ7の横方向(X軸)の1ライン分(150画
素)の像信号を逐次的にA/D変換しながら、RAMに
格納し、また像信号の最小値を検出している。
リアセンサ7の横方向(X軸)の1ライン分(150画
素)の像信号を逐次的にA/D変換しながら、RAMに
格納し、また像信号の最小値を検出している。
【0057】ステップ(104)のループ内の最初のス
テップ(105)では、MCU109の内蔵のA/D変
換器から像信号をA/D変換したディジタル値ADCを
取り出し、その値を一時的に変換EYEDTに格納す
る。そして、次のステップ(106)にて、EYEDT
の値を配列変数IM(I,4)に格納する。変数Iは外
側のループ処理ステップ(104)にて14から144
までカウントアップされる。
テップ(105)では、MCU109の内蔵のA/D変
換器から像信号をA/D変換したディジタル値ADCを
取り出し、その値を一時的に変換EYEDTに格納す
る。そして、次のステップ(106)にて、EYEDT
の値を配列変数IM(I,4)に格納する。変数Iは外
側のループ処理ステップ(104)にて14から144
までカウントアップされる。
【0058】これは、図5,14に示すように、最低輝
度は瞳孔エッジ、P像の間に位置するためにその間のみ
を検出範囲とする。
度は瞳孔エッジ、P像の間に位置するためにその間のみ
を検出範囲とする。
【0059】ステップ(107)と(108)は像信号
の最小値を検出処理である。
の最小値を検出処理である。
【0060】変数EYEMINは像信号の最小値を保持
する変数であり、ステップ(107)において、EYE
MINよりEYEDTの方が小さければステップ(10
8)へ分岐し、EYEMINをこの小さなEYEDTの
値で更新する。
する変数であり、ステップ(107)において、EYE
MINよりEYEDTの方が小さければステップ(10
8)へ分岐し、EYEMINをこの小さなEYEDTの
値で更新する。
【0061】ステップ(104)〜(108)のループ
処理が終了し、新たな1ライン分の像信号の格納と最小
値の検出が終ると、次のステップ(109)でサブルー
チン「1ラインの読み込み」をリターンする。
処理が終了し、新たな1ライン分の像信号の格納と最小
値の検出が終ると、次のステップ(109)でサブルー
チン「1ラインの読み込み」をリターンする。
【0062】図6のフローチャートに戻って、ステップ
(007)のサブルーチン「1ラインの読み込み」が完
了すると、次のステップ(008)へ移行し、外側のル
ープ処理ステップ(006)のループ変数Jが5以上か
否か調べる。
(007)のサブルーチン「1ラインの読み込み」が完
了すると、次のステップ(008)へ移行し、外側のル
ープ処理ステップ(006)のループ変数Jが5以上か
否か調べる。
【0063】ループ変数Jはエリアセンサ7の縦方向
(Y軸)の画素ラインを表しており、本実施例では、エ
リアセンサ7の画素数を(150×100)としている
ので、Jは0から99までカウントアップされる。
(Y軸)の画素ラインを表しており、本実施例では、エ
リアセンサ7の画素数を(150×100)としている
ので、Jは0から99までカウントアップされる。
【0064】ステップ(008)にてループ変数Jが5
以上の場合にはステップ(009)へ分岐する。これ
は、読み込んだ像信号のライン数が5以上になると、エ
リアセンサ7の縦方向(Y軸)の処理が出来るようにな
るからである。
以上の場合にはステップ(009)へ分岐する。これ
は、読み込んだ像信号のライン数が5以上になると、エ
リアセンサ7の縦方向(Y軸)の処理が出来るようにな
るからである。
【0065】分岐した先のステップ(009)では、サ
ブルーチン「P像の検出」を実行する。
ブルーチン「P像の検出」を実行する。
【0066】サブルーチン「P像の検出」は、前述した
角膜反射像(P像)の位置を検出するための処理であ
り、エリアセンサ7の横方向(X軸)の1ラインの読み
込み毎に実行する。そのフローチャートを図8に示す。
角膜反射像(P像)の位置を検出するための処理であ
り、エリアセンサ7の横方向(X軸)の1ラインの読み
込み毎に実行する。そのフローチャートを図8に示す。
【0067】サブルーチン「P像の検出」がコールされ
ると、ステップ(200)を経てステップ(201)の
ループ処理を実行する。ループ処理内では、像データ
(配列変数IM(I,K)に記憶)中のP像の位置を検
索し、もし見つかれば、エリアセンサ7上でのその位置
を記憶する。本実施例ではP像は2個発生するので、記
憶する位置情報も2個となる。
ると、ステップ(200)を経てステップ(201)の
ループ処理を実行する。ループ処理内では、像データ
(配列変数IM(I,K)に記憶)中のP像の位置を検
索し、もし見つかれば、エリアセンサ7上でのその位置
を記憶する。本実施例ではP像は2個発生するので、記
憶する位置情報も2個となる。
【0068】ループ内の最初のステップ(202)で
は、所定位置の像データがP像としての条件を満足する
か否かを判定する。条件としては、次のようなものであ
る。
は、所定位置の像データがP像としての条件を満足する
か否かを判定する。条件としては、次のようなものであ
る。
【0069】ステップ(202)の「P像条件」 IM(I,2)>C1 かつ IM(I,1)>C2 かつ IM(I,3)>C2 かつ IM(I−1,2)>C2 かつ IM(I+1,2)>C2 但し、C1 ,C2 はしきい値定数で、C1 ≧C2 なる関
係があり、例えば、C1 =230,C2 =200であ
る。また、変数Iはループ処理のループ変数であり、エ
リアセンサ7の横方向(X軸)の位置を表している。
係があり、例えば、C1 =230,C2 =200であ
る。また、変数Iはループ処理のループ変数であり、エ
リアセンサ7の横方向(X軸)の位置を表している。
【0070】上記条件は、P像が図5で説明したよう
に、スポット像のようなものであることに注目し、横/
縦方向(X/Y軸)の両方向に定義したものとなる。こ
の条件が満足されたとき、位置(I,2)にP像が存在
するものと見なす。
に、スポット像のようなものであることに注目し、横/
縦方向(X/Y軸)の両方向に定義したものとなる。こ
の条件が満足されたとき、位置(I,2)にP像が存在
するものと見なす。
【0071】前述したように配列変数IM(I,K)は
エリアセンサの横方向(X軸)の1ライン読み込み毎に
更新しており、縦方向(Y軸)位置JラインはIM
(I,4)「I=0〜149」に格納されている。従っ
て、変数IMに対するアドレス(I,2)は、エリアセ
ンサ7上では、位置(I,J−2)となる。
エリアセンサの横方向(X軸)の1ライン読み込み毎に
更新しており、縦方向(Y軸)位置JラインはIM
(I,4)「I=0〜149」に格納されている。従っ
て、変数IMに対するアドレス(I,2)は、エリアセ
ンサ7上では、位置(I,J−2)となる。
【0072】ステップ(202)にて、P像の条件を満
足する像データがあった場合、ステップ(203)以降
へ分岐し、ない場合には外側のループ変数Iがカウント
アップされる。
足する像データがあった場合、ステップ(203)以降
へ分岐し、ない場合には外側のループ変数Iがカウント
アップされる。
【0073】ステップ(203)以降は、2個のP像の
存在範囲(X軸方向の範囲[IP1〜IP2 ],Y軸方
向の範囲[JP1 〜JP2 ])を決定する処理である。
存在範囲(X軸方向の範囲[IP1〜IP2 ],Y軸方
向の範囲[JP1 〜JP2 ])を決定する処理である。
【0074】先ず、ステップ(203)では、エリアセ
ンサ7の横方向(X軸)の位置を表す変数Iと変数IP
1 を比較し、「I<IP1 」ならばステップ(204)
へ分岐する。即ち、P像の存在範囲のうち、横方向の左
方にあるP像位置IP1 の位置よりも変数Iの位置の方
が左にあれば、IP1 を書き換えようとするものであ
る。
ンサ7の横方向(X軸)の位置を表す変数Iと変数IP
1 を比較し、「I<IP1 」ならばステップ(204)
へ分岐する。即ち、P像の存在範囲のうち、横方向の左
方にあるP像位置IP1 の位置よりも変数Iの位置の方
が左にあれば、IP1 を書き換えようとするものであ
る。
【0075】ステップ(204)では、変数IP1 に変
数Iの値を格納し、そのときの縦方向の位置(J−2)
を変数JP1 に格納する。
数Iの値を格納し、そのときの縦方向の位置(J−2)
を変数JP1 に格納する。
【0076】ステップ(205),(206)では、P
像存在範囲のうち、横方向の右方にあるP像位置IP2
と、その縦方向位置を表すJP2 の更新の判定を行う。
像存在範囲のうち、横方向の右方にあるP像位置IP2
と、その縦方向位置を表すJP2 の更新の判定を行う。
【0077】 以上のようにして、ステップ(201)
のループ処理で、横方向(X軸)の位置Iが19から1
39までの1ラインの処理が終了すると、次のステップ
(207)へ移行する。
のループ処理で、横方向(X軸)の位置Iが19から1
39までの1ラインの処理が終了すると、次のステップ
(207)へ移行する。
【0078】 ここで、図5,図14で示すように、P
像は他の特徴点に対して最も内側に位置するため最も検
出範囲は狭い。
像は他の特徴点に対して最も内側に位置するため最も検
出範囲は狭い。
【0079】ステップ(207)では、後の処理で参照
する変数XP1 ,XP2 ,YP1 ,YP2 を図中の式の
如く計算する。
する変数XP1 ,XP2 ,YP1 ,YP2 を図中の式の
如く計算する。
【0080】これらの変数の意味については、図12の
説明のところで詳述するが、簡単に述べるならば、瞳孔
中心を検出する際に、P像位置周辺に発生する偽の瞳孔
エッジ情報を排除するために使用するものである。
説明のところで詳述するが、簡単に述べるならば、瞳孔
中心を検出する際に、P像位置周辺に発生する偽の瞳孔
エッジ情報を排除するために使用するものである。
【0081】ステップ(207)の処理が終了すると、
次のステップ(208)でサブルーチン「P像の検出」
をリターンする。
次のステップ(208)でサブルーチン「P像の検出」
をリターンする。
【0082】再び図6のフローチャートに戻る。
【0083】ステップ(009)のサブルーチン「P像
の検出」が完了すると、次のステップ(010)でサブ
ルーチン「瞳孔エッジの検出」を実行する。
の検出」が完了すると、次のステップ(010)でサブ
ルーチン「瞳孔エッジの検出」を実行する。
【0084】「瞳孔エッジの検出」は眼球反射像中の瞳
孔エッジ(虹彩23と瞳孔24の境界)の位置の検出を
行うためのサブルーチンであり、図9にそのフローチャ
ートを示している。
孔エッジ(虹彩23と瞳孔24の境界)の位置の検出を
行うためのサブルーチンであり、図9にそのフローチャ
ートを示している。
【0085】サブルーチン「瞳孔エッジの検出」がコー
ルされると、ステップ(300)を経て、次のステップ
(301)のループ処理が実行される。ステップ(30
1)は図8のステップ(201)と同様に、エリアセン
サの横方向(X軸)の位置を表す変数Iをループ変数と
するループ処理である。
ルされると、ステップ(300)を経て、次のステップ
(301)のループ処理が実行される。ステップ(30
1)は図8のステップ(201)と同様に、エリアセン
サの横方向(X軸)の位置を表す変数Iをループ変数と
するループ処理である。
【0086】ステップ(301)のループ処理内では、
像データ中に瞳孔24のエッジを表す特徴があるかどう
かを検索し、もしあれば、その位置情報を記憶する。瞳
孔エッジ位置情報は、配列変数EDGDT(m,n)に
格納される。
像データ中に瞳孔24のエッジを表す特徴があるかどう
かを検索し、もしあれば、その位置情報を記憶する。瞳
孔エッジ位置情報は、配列変数EDGDT(m,n)に
格納される。
【0087】配列変数EDGDT(m,n)のデータ形
式は以下のように設定している。
式は以下のように設定している。
【0088】 EDGDT(m,1) ……… m番目のエッジ点の輝度 EDGDT(m,2) ……… m番目のエッジ点のX軸座標 EDGDT(m,3) ……… m番目のエッジ点のY軸座標 mは瞳孔エッジ検出の逐次処理の過程で見つかったエッ
ジ点の順番である。従って、エッジがM個検出されれ
ば、配列変数EDGDTの容量は[M×3]倍程が必要
となる。フローチャートでは、エッジの検出個数は変数
EDGCNTでカウントしている。
ジ点の順番である。従って、エッジがM個検出されれ
ば、配列変数EDGDTの容量は[M×3]倍程が必要
となる。フローチャートでは、エッジの検出個数は変数
EDGCNTでカウントしている。
【0089】さて、ループ内の最初のステップ(30
2)では、像データIM(I,2)の近傍に、過去に検
出されたエッジ点があるか否かを判定している。もう少
し詳しく説明すると次のようになる。
2)では、像データIM(I,2)の近傍に、過去に検
出されたエッジ点があるか否かを判定している。もう少
し詳しく説明すると次のようになる。
【0090】外側のループ処理のループ変数Iは、エリ
アセンサの横方向(X軸)の位置を表し、像データを格
納している配列変数IM(I,K)に対するアドレス
(I,2)は、いま正に瞳孔エッジであるか否かを検定
しようとしている点(画素の座標)である。この(I,
2)の点に隣接する各点が、過去の逐次処理の過程で瞳
孔エッジと判定されたかどうかを、エッジ位置情報を格
納している配列変数EDGDT(m,n)から調べよう
とするものである。
アセンサの横方向(X軸)の位置を表し、像データを格
納している配列変数IM(I,K)に対するアドレス
(I,2)は、いま正に瞳孔エッジであるか否かを検定
しようとしている点(画素の座標)である。この(I,
2)の点に隣接する各点が、過去の逐次処理の過程で瞳
孔エッジと判定されたかどうかを、エッジ位置情報を格
納している配列変数EDGDT(m,n)から調べよう
とするものである。
【0091】ステップ(302)の判定条件を具体的に
記述すると、次のような条件となる。
記述すると、次のような条件となる。
【0092】ステップ(302)の「判定条件」 {EDGDT(m,2),EDGDT(m,3)} ={(I−1),(J−2)} あるいは ={(I−1),(J−3)} あるいは ={(I),(J−3)} あるいは ={(I+1),(J−3)} なる{EDGDT(m,2),EDGDT(m,3)}
が存在する。
が存在する。
【0093】但し、m=0〜(EDGCNT−1) 現在検定しようとしている座標は{(I),(J−
2)}であるから、上記座標は現在座標に対して順に左
隣,左上隣,上隣,右上隣の位置を表している。
2)}であるから、上記座標は現在座標に対して順に左
隣,左上隣,上隣,右上隣の位置を表している。
【0094】また、EDGDT(m,2),EDGDT
(m,3)はそれぞれm番目のエッジ点のX軸座標,Y
軸座標を表しているから、結局、上記条件は、現在座標
の左隣,左上隣,上隣,右上隣の位置にエッジ点があっ
たかどうかを判定していることになる。
(m,3)はそれぞれm番目のエッジ点のX軸座標,Y
軸座標を表しているから、結局、上記条件は、現在座標
の左隣,左上隣,上隣,右上隣の位置にエッジ点があっ
たかどうかを判定していることになる。
【0095】ステップ(302)において、座標(I,
J−2)の近傍にエッジ点があると判定された場合には
ステップ(304)へ、そうでない場合には、ステップ
(303)へ分岐し、それぞれ別の条件を用いて瞳孔エ
ッジの判定を行う。
J−2)の近傍にエッジ点があると判定された場合には
ステップ(304)へ、そうでない場合には、ステップ
(303)へ分岐し、それぞれ別の条件を用いて瞳孔エ
ッジの判定を行う。
【0096】近傍にエッジ点のない場合について先に説
明する。
明する。
【0097】ステップ(303)では、現在検定しよう
としている座標(I,J−2)の像データが瞳孔エッジ
の条件(ステップ(303)での判定条件「エッジ条件
1」と称する)を満たすか否かを判定している。座標
(I,J−2)の像データは配列変数IM(I,2)に
格納されていることに留意されたい。
としている座標(I,J−2)の像データが瞳孔エッジ
の条件(ステップ(303)での判定条件「エッジ条件
1」と称する)を満たすか否かを判定している。座標
(I,J−2)の像データは配列変数IM(I,2)に
格納されていることに留意されたい。
【0098】判定条件は以下のようになる。
【0099】ステップ(303)の「エッジ条件1」 1){IM(I−1,2)−IM(I,2)}>C3 かつ {IM(I−2,2)−IM(I−1,2)}<
C3 かつ IM(I,2)<a 2){IM(I+1,2)−IM(I,2)>C3 かつ {IM(I+2,2)−IM(I+1,2)}>
C3 かつ IM(I,2)<a 3){IM(I,1)−IM(I,2)}>C3 かつ {IM(I,0)−IM(I,1)}>C3 かつ IM(I,2)<a 4){IM(I,3)−IM(I,2)}>C3 かつ {IM(I,4)−IM(I,3)}>C3 かつ IM(I,2)<a 上記1)〜4)を満足すれば、座標(I,J−2)をエ
ッジ点と見なす、但し、a=EYEMIN+C4 で、E
YEMINは現在の逐次処理までの像データ中の最低輝
度値である。
C3 かつ IM(I,2)<a 2){IM(I+1,2)−IM(I,2)>C3 かつ {IM(I+2,2)−IM(I+1,2)}>
C3 かつ IM(I,2)<a 3){IM(I,1)−IM(I,2)}>C3 かつ {IM(I,0)−IM(I,1)}>C3 かつ IM(I,2)<a 4){IM(I,3)−IM(I,2)}>C3 かつ {IM(I,4)−IM(I,3)}>C3 かつ IM(I,2)<a 上記1)〜4)を満足すれば、座標(I,J−2)をエ
ッジ点と見なす、但し、a=EYEMIN+C4 で、E
YEMINは現在の逐次処理までの像データ中の最低輝
度値である。
【0100】しきい値C3 ,C4 は、例えばC3 =3,
C4 =20である。
C4 =20である。
【0101】上記条件は、瞳孔エッジ(虹彩23と瞳孔
24の境界)においては連続して所定の輝度差があり、
同時に瞳孔部は眼球反射像の中で最も低い輝度となるこ
とを特徴としてとらえている。
24の境界)においては連続して所定の輝度差があり、
同時に瞳孔部は眼球反射像の中で最も低い輝度となるこ
とを特徴としてとらえている。
【0102】上記1)と2)の条件はエリアセンサの横
方向(X軸)のエッジを抽出し、上記3)と4)の条件
は縦方向(Y軸)のエッジを抽出する。
方向(X軸)のエッジを抽出し、上記3)と4)の条件
は縦方向(Y軸)のエッジを抽出する。
【0103】座標(I,J−2)が瞳孔エッジ点として
抽出された場合は、ステップ(303)からステップ
(305)へ分岐し、エッジ点の輝度値と座標を記憶す
る。
抽出された場合は、ステップ(303)からステップ
(305)へ分岐し、エッジ点の輝度値と座標を記憶す
る。
【0104】ステップ(305)では、エッジ位置情報
格納用の配列変数EDGDT(m,K)に次のように情
報を格納する。
格納用の配列変数EDGDT(m,K)に次のように情
報を格納する。
【0105】 EDGDT(EDGCNT,1)←IM(I,2) EDGDT(EDGCNT,2)←I EDGDT(EDGCNT,3)←J−2 IM(I,2)はEDGCNT番目に検出されたエッジ
点の輝度、Iは同X座標,(J−2)は同Y座標であ
る。
点の輝度、Iは同X座標,(J−2)は同Y座標であ
る。
【0106】そして、検出されたエッジ点の個数をカウ
ントする変数EDGCNTを1つカウントアップする。
ントする変数EDGCNTを1つカウントアップする。
【0107】ステップ(305)の処理が終了すると、
外側のループ処理のループ変数I(横方向,X軸の座標
を表す)をカウントアップし、再びステップ(302)
以降のフローチャートを実行する。
外側のループ処理のループ変数I(横方向,X軸の座標
を表す)をカウントアップし、再びステップ(302)
以降のフローチャートを実行する。
【0108】さて、ステップ(302)において、現在
座標(I,J−2)の近傍にエッジ点があると判定され
た場合について説明する。
座標(I,J−2)の近傍にエッジ点があると判定され
た場合について説明する。
【0109】 その場合、ステップ(304)へ分岐
し、ステップ(303)と同じように、現在検定しよう
としている座標(I,J−2)の像データが瞳孔エッジ
の条件(ステップ(304)での判定条件を「エッジ条
件2」と称する)を満たすか否かを判定する。
し、ステップ(303)と同じように、現在検定しよう
としている座標(I,J−2)の像データが瞳孔エッジ
の条件(ステップ(304)での判定条件を「エッジ条
件2」と称する)を満たすか否かを判定する。
【0110】ここで、「エッジ条件2」は「エッジ条件
1」よりも、いわゆる緩い条件を設定してある。本実施
例では、条件式に同じで、しきい値C3 ,C4 をそれぞ
れC3 ´,C4 ´とし、次のように変えている。
1」よりも、いわゆる緩い条件を設定してある。本実施
例では、条件式に同じで、しきい値C3 ,C4 をそれぞ
れC3 ´,C4 ´とし、次のように変えている。
【0111】C3 ´=2,C4 ´=30 上のように設定することで、「エッジ条件1」よりもエ
ッジと判定される率が上昇する。
ッジと判定される率が上昇する。
【0112】エッジ条件をこのように2種類用意する理
由は、そもそもエッジ点は孤立して存在するものではな
く、連続しているものであり、ある点がエッジ点である
ならば、その近傍が同じくエッジ点である可能性が高い
であろう、という観点に基づいている。
由は、そもそもエッジ点は孤立して存在するものではな
く、連続しているものであり、ある点がエッジ点である
ならば、その近傍が同じくエッジ点である可能性が高い
であろう、という観点に基づいている。
【0113】ステップ(304)の「エッジ条件2」で
エッジ点と判定された場合には、ステップ(305)へ
分岐して、その座標の情報を記憶する。
エッジ点と判定された場合には、ステップ(305)へ
分岐して、その座標の情報を記憶する。
【0114】 以上のようにして、ループ変数Iが9〜
149の間でステップ(301)のループ処理が実行さ
れ、エリアセンサ7の横方向(X軸)の1ライン分のエ
ッジ検出の処理が終了すると、ステップ(306)へ移
行し、サブルーチン「瞳孔エッジの検出」をリターンす
る。
149の間でステップ(301)のループ処理が実行さ
れ、エリアセンサ7の横方向(X軸)の1ライン分のエ
ッジ検出の処理が終了すると、ステップ(306)へ移
行し、サブルーチン「瞳孔エッジの検出」をリターンす
る。
【0115】ここで、瞳孔エッジの検出範囲は、図5,
14に示すように、他の特徴点に対してもっとも広い。
14に示すように、他の特徴点に対してもっとも広い。
【0116】再び図6の説明に戻る。
【0117】ステップ(010)のサブルーチン「瞳孔
エッジの検出」が完了すると、外側のループ処理ステッ
プ(006)のループ変数J(エリアセンサ7の縦方
向,Y軸の座標を表す)がカウントアップされ、Jが9
9となるまで、再びステップ(007)以降の処理が実
行される。
エッジの検出」が完了すると、外側のループ処理ステッ
プ(006)のループ変数J(エリアセンサ7の縦方
向,Y軸の座標を表す)がカウントアップされ、Jが9
9となるまで、再びステップ(007)以降の処理が実
行される。
【0118】ループ変数Jが99となり、エリアセンサ
7の全画素の読み込みと処理が終了すると、ステップ
(006)からステップ(011)へ移行する。
7の全画素の読み込みと処理が終了すると、ステップ
(006)からステップ(011)へ移行する。
【0119】ステップ(011)〜(013)では、ス
テップ(006)のループ処理内で検出されたP像位置
及び瞳孔エッジ情報から、瞳孔24の中心座標の検出と
視線の検出を行う。
テップ(006)のループ処理内で検出されたP像位置
及び瞳孔エッジ情報から、瞳孔24の中心座標の検出と
視線の検出を行う。
【0120】先ず、ステップ(011)でサブルーチン
「瞳孔推定範囲の設定」をコールする。
「瞳孔推定範囲の設定」をコールする。
【0121】ステップ(010)のサブルーチン「瞳孔
エッジの検出」で検出された複数の瞳孔エッジ点には、
実際に瞳孔円(虹彩23と瞳孔24の境界が形成する
円)を表しているエッジ点以外にも、種々のノイズによ
って発生した偽のエッジ点も含まれている。
エッジの検出」で検出された複数の瞳孔エッジ点には、
実際に瞳孔円(虹彩23と瞳孔24の境界が形成する
円)を表しているエッジ点以外にも、種々のノイズによ
って発生した偽のエッジ点も含まれている。
【0122】「瞳孔推定範囲の設定」は、上記偽のエッ
ジ点を排除するために、P像位置情報に基づいて、確か
らしいエッジ点の座標範囲を限定するためのサブルーチ
ンであり、そのフローチャートを図10に示している。
ジ点を排除するために、P像位置情報に基づいて、確か
らしいエッジ点の座標範囲を限定するためのサブルーチ
ンであり、そのフローチャートを図10に示している。
【0123】サブルーチン「瞳孔推定範囲の設定」がコ
ールされると、ステップ(400)を経て、ステップ
(401)を実行する。
ールされると、ステップ(400)を経て、ステップ
(401)を実行する。
【0124】ステップ(401)では、先に「P像の検
出」サブルーチンで説明したP像位置範囲、即ち、横方
向(X軸)にIP1 〜IP2 、縦方向(Y軸)にJP1
〜JP2 の情報を用いて、瞳孔円の座標範囲IS1 ,I
S2 ,JS1 ,JS2 を次の式に従って計算する。
出」サブルーチンで説明したP像位置範囲、即ち、横方
向(X軸)にIP1 〜IP2 、縦方向(Y軸)にJP1
〜JP2 の情報を用いて、瞳孔円の座標範囲IS1 ,I
S2 ,JS1 ,JS2 を次の式に従って計算する。
【0125】 IS1 ←IP1 −20 IS2 ←IP2 +20 JS1 ←(JP1 +JP2 )/2−20 JS2 ←(JP1 +JP2 )/2+40 確からしい瞳孔エッジ点は、エリアセンサ7の横方向
(X軸)の範囲IS1 〜IS2 、縦方向(Y軸)の範囲
JS1 〜JS2 に存在する点である、と設定する。
(X軸)の範囲IS1 〜IS2 、縦方向(Y軸)の範囲
JS1 〜JS2 に存在する点である、と設定する。
【0126】本実施例の光学系では、図5(A)に示し
た如く、2個のP像は常に瞳孔円の円内の上部に存在す
るようになっており、これから上記計算式が成立する。
た如く、2個のP像は常に瞳孔円の円内の上部に存在す
るようになっており、これから上記計算式が成立する。
【0127】ステップ(401)の計算の後は、ステッ
プ(402)へ移行し、サブルーチン「瞳孔推定範囲の
設定」をリターンする。
プ(402)へ移行し、サブルーチン「瞳孔推定範囲の
設定」をリターンする。
【0128】図6に戻って、次にステップ(012)の
サブルーチン「瞳孔中心の検出」をコールする。
サブルーチン「瞳孔中心の検出」をコールする。
【0129】「瞳孔中心の検出」は、確からしい瞳孔エ
ッジ点の座標から、瞳孔円の形状(中心座標と大きさ)
を推定するサブルーチンであり、そのフローチャートを
図11乃至図13に示す。
ッジ点の座標から、瞳孔円の形状(中心座標と大きさ)
を推定するサブルーチンであり、そのフローチャートを
図11乃至図13に示す。
【0130】瞳孔円の形状の推定には、「最小2乗法」
を用いる。その考え方について先に述べておく。
を用いる。その考え方について先に述べておく。
【0131】円の公式は周知のように、中心座標を
(A,B)、半径をCとすると、 (x−A)2 +(y−B)2 =C2 ……………(10) で与えられる。
(A,B)、半径をCとすると、 (x−A)2 +(y−B)2 =C2 ……………(10) で与えられる。
【0132】複数の観測点(x1 ,y1 ),(x2 ,y
2 )…(xn,yn)から、次式の誤差量ERが最小と
なるようにA,B,Cを決定することを考える。
2 )…(xn,yn)から、次式の誤差量ERが最小と
なるようにA,B,Cを決定することを考える。
【0133】 ER=Σ[(xi−A)2 +(yi−B)2 −C2 ]2 ………(11) ERは各観測点と、A,B,Cで決定される円の法線方
向の距離(誤差)の2乗和であり、これを最小する。
向の距離(誤差)の2乗和であり、これを最小する。
【0134】ERをA,B,Cで各々偏微分し、0とお
く。
く。
【0135】 δER/δA=Σ[−4(xi−A)3 −4(xi−A)(yi−B)2 +4C2 (xi−A)]=0 ………(12) δER/δB=Σ[−4(yi−B)3 −4(xi−A)2 (yi−B) +4C2 (xi−b)]=0 ………(13) δER/δC=Σ[4C3 −4(yi−B)2 c−4C(xi−A)2 ] =0 ………(14) 但し、i=1〜nとする。
【0136】上記式(14)より、 c2 =[Σ{xi−A)2 +(yi−B)2 }]/n ………(15) 上記式(15)を上記式(13),(14)へ代入し、
ここで、 X1 =Σxi,X2 =Σxi2 ,X3 =Σxi3 …(16)〜(18) Y1 =Σyi,Y2 =Σyi2 ,Y3 =Σyi3 …(19)〜(21) Z1 =Σxiyi,Z2 =Σxi2 yi,Z3 =Σxiyi2 ………(22)〜(24) とおき、さらに、 V1 =X2 −X1 2 /n ……………(25) V2 =Y2 −Y1 2 /n ……………(26) W1 =X3 +Z3 ……………(27) W2 =Y3 +Z3 ……………(28) W3 =(X2 +Y2 )/n ……………(29) W4 =Z1 −X1 Y1 /n ……………(30) W5 =(Z1 −2X1 Y1 /n)Z1 ……………(31) W6 =X1 X2 ……………(32) W7 =X2 Y1 ……………(33) とおいて整理すると、円の中心座標A,Bは A={W1 V2 −W2 W4 −(W6 −Y1 Z1 )W3 } /{2(X2 V2 −W5 −W6 X1 /n)} ………(34) B={W2 V1 −W1 W4 −(W7 −X1 Z1 )W3 } /{2(Y2 V1 −W5 −W7 Y1 /n)} ………(35) で計算される。
ここで、 X1 =Σxi,X2 =Σxi2 ,X3 =Σxi3 …(16)〜(18) Y1 =Σyi,Y2 =Σyi2 ,Y3 =Σyi3 …(19)〜(21) Z1 =Σxiyi,Z2 =Σxi2 yi,Z3 =Σxiyi2 ………(22)〜(24) とおき、さらに、 V1 =X2 −X1 2 /n ……………(25) V2 =Y2 −Y1 2 /n ……………(26) W1 =X3 +Z3 ……………(27) W2 =Y3 +Z3 ……………(28) W3 =(X2 +Y2 )/n ……………(29) W4 =Z1 −X1 Y1 /n ……………(30) W5 =(Z1 −2X1 Y1 /n)Z1 ……………(31) W6 =X1 X2 ……………(32) W7 =X2 Y1 ……………(33) とおいて整理すると、円の中心座標A,Bは A={W1 V2 −W2 W4 −(W6 −Y1 Z1 )W3 } /{2(X2 V2 −W5 −W6 X1 /n)} ………(34) B={W2 V1 −W1 W4 −(W7 −X1 Z1 )W3 } /{2(Y2 V1 −W5 −W7 Y1 /n)} ………(35) で計算される。
【0137】また、視線(注視点)の計算には直接関係
はないが、半径Cは、 C=[W3 −2(AX1 +BY1 )/n+A2 +B2 ]1/2 ………(36) で計算される。
はないが、半径Cは、 C=[W3 −2(AX1 +BY1 )/n+A2 +B2 ]1/2 ………(36) で計算される。
【0138】本発明の実施例では、さらに誤差量ERを
瞳孔中心検出の信頼性判定に用いており、ERは次の計
算式で与えられる。
瞳孔中心検出の信頼性判定に用いており、ERは次の計
算式で与えられる。
【0139】 ER=X4 −4A*X3 +2(2A2 +d)X2 −4A*d*X1 +Y4 −4B*Y3 +2(2B2 +d)Y2 −4B*d*Y1 +2(Z4 −2A*Z3 −2B*Z2 +4A*B*Z1 )+d2 n ………(37) 但し、 X4 =Σxi4 ………(38) Y4 =Σyi4 ………(39) Z4 =Σxi2 yi2 ………(40) d=A2 +B2 −C2 ………(41) としている。
【0140】さて、以上のように数値計算の裏付けに従
って、図11〜図13のフローチャートの説明を行う。
って、図11〜図13のフローチャートの説明を行う。
【0141】サブルーチン「瞳孔中心の検出」がコール
されると、ステップ(500)を経て、ステップ(50
1)の「円の最小2乗推定」サブルーチンをコールす
る。
されると、ステップ(500)を経て、ステップ(50
1)の「円の最小2乗推定」サブルーチンをコールす
る。
【0142】「円の最小2乗推定」は上記式に従って、
瞳孔円の中心座標(A,B)と誤差量ERを計算するサ
ブルーチンであり、そのフローチャートを図12に示し
ている。同サブルーチンでは、さらに最低輝度値の見直
しと、P像による偽の瞳孔エッジの排除を行っている。
瞳孔円の中心座標(A,B)と誤差量ERを計算するサ
ブルーチンであり、そのフローチャートを図12に示し
ている。同サブルーチンでは、さらに最低輝度値の見直
しと、P像による偽の瞳孔エッジの排除を行っている。
【0143】サブルーチン「円の最小2乗推定」がコー
ルされると、ステップ(600)を経て、ステップ(6
01)へ移行する。
ルされると、ステップ(600)を経て、ステップ(6
01)へ移行する。
【0144】ステップ(601)では上述した最小2乗
推定式のワーク変数の初期化を行っている。
推定式のワーク変数の初期化を行っている。
【0145】次のステップ(602)は変数をループ変
数とするループ処理であり、記憶している瞳孔エッジ情
報を元に最小2乗法の計算の前半を行う部分である。
数とするループ処理であり、記憶している瞳孔エッジ情
報を元に最小2乗法の計算の前半を行う部分である。
【0146】いま、瞳孔エッジ点として、(EDGCN
T−1)個の情報が配列変数EDGCNTに記憶されて
いる。ループ変数Lは記憶された順番を表している。
T−1)個の情報が配列変数EDGCNTに記憶されて
いる。ループ変数Lは記憶された順番を表している。
【0147】ループ処理内の最初のステップ(603)
では、L番目のエッジ点の輝度値EDGCNT(L,
1)と(EYEMIN+C5 )を比較し、輝度値の方が
大きければ分岐し、現在のループ変数Lの処理を終了す
る。
では、L番目のエッジ点の輝度値EDGCNT(L,
1)と(EYEMIN+C5 )を比較し、輝度値の方が
大きければ分岐し、現在のループ変数Lの処理を終了す
る。
【0148】本実施例では、エリアセンサ7の光電変換
信号を読み込みながら、逐次的な処理を行っているた
め、エッジ点検出の部分で使用している最低輝度値も、
その時点までの最低輝度値に過ぎない。故に、エッジ点
として検出された点も、実は本当の最低輝度値で判定さ
れたものではなく、実際にはエッジ点としてふさわしく
ない点も含まれている可能性がある。そこで、このステ
ップの目的は、最終的に決定された最低輝度値に基い
て、もう一度最低輝度の判定にかけ、瞳孔エッジとして
ふさわしくない点を排除しようとするものである。
信号を読み込みながら、逐次的な処理を行っているた
め、エッジ点検出の部分で使用している最低輝度値も、
その時点までの最低輝度値に過ぎない。故に、エッジ点
として検出された点も、実は本当の最低輝度値で判定さ
れたものではなく、実際にはエッジ点としてふさわしく
ない点も含まれている可能性がある。そこで、このステ
ップの目的は、最終的に決定された最低輝度値に基い
て、もう一度最低輝度の判定にかけ、瞳孔エッジとして
ふさわしくない点を排除しようとするものである。
【0149】しきい値C5 としては、例えば、C5 =2
0である。
0である。
【0150】ステップ(603)にて、輝度値が小さい
と判断された場合は、ステップ(604)へ移行し、横
方向(X軸)座標と縦方向(Y軸)座標をそれぞれ変数
X,Yに一時的に格納する。
と判断された場合は、ステップ(604)へ移行し、横
方向(X軸)座標と縦方向(Y軸)座標をそれぞれ変数
X,Yに一時的に格納する。
【0151】次のステップ(605)では、L番目のエ
ッジ点の横方向座標Xが、横方向の範囲IS1 〜IS2
に適合しているか否かを判定する。IS1 ,IS2 はサ
ブルーチン「瞳孔推定範囲の設定」で求められた値であ
り、この範囲に入っていないエッジ点は瞳孔のエッジ点
として認めないように分岐し、現在のループ変数Lの処
理を終了する。
ッジ点の横方向座標Xが、横方向の範囲IS1 〜IS2
に適合しているか否かを判定する。IS1 ,IS2 はサ
ブルーチン「瞳孔推定範囲の設定」で求められた値であ
り、この範囲に入っていないエッジ点は瞳孔のエッジ点
として認めないように分岐し、現在のループ変数Lの処
理を終了する。
【0152】その次のステップ(606)は今度は縦方
向について同様の判定を行っている。
向について同様の判定を行っている。
【0153】L番目のエッジ点が瞳孔推定範囲に存在し
ていれば、ステップ(607)へ移行する。
ていれば、ステップ(607)へ移行する。
【0154】ステップ(607),(608)は、L番
目のエッジ点の座標がP像の近傍であるかどうかを判断
している。
目のエッジ点の座標がP像の近傍であるかどうかを判断
している。
【0155】XP1 ,XP2 ,YP1 ,YP2 はサブル
ーチン「P像の検出」で決定された値であり、エッジ点
の座標が横方向の範囲XP1 〜XP2 、縦方向の範囲Y
P1〜YP2 に入っている場合には分岐し、現在のルー
プ変数Lの処理を終了するようにしている。これは、本
実施例の光学系では、2個のP像が瞳孔円内の上部に存
在するようになっているため、スポット像的な形状をし
ているP像の「すそ」の部分が、前述した瞳孔エッジの
条件に適合し易く、偽の瞳孔エッジとして検出されてし
まっているのを排除するためである。
ーチン「P像の検出」で決定された値であり、エッジ点
の座標が横方向の範囲XP1 〜XP2 、縦方向の範囲Y
P1〜YP2 に入っている場合には分岐し、現在のルー
プ変数Lの処理を終了するようにしている。これは、本
実施例の光学系では、2個のP像が瞳孔円内の上部に存
在するようになっているため、スポット像的な形状をし
ているP像の「すそ」の部分が、前述した瞳孔エッジの
条件に適合し易く、偽の瞳孔エッジとして検出されてし
まっているのを排除するためである。
【0156】以上のステップ(603)〜(608)の
判定をパスしたエッジ点の座標情報が、ステップ(60
9)における最小2乗法の計算に供される。
判定をパスしたエッジ点の座標情報が、ステップ(60
9)における最小2乗法の計算に供される。
【0157】ステップ(609)の計算は前述の式(1
6)〜(24)、(38)〜(40)を実行し、さら
に、計算に用いたエッジ点の個数Nをカウントアップす
る。
6)〜(24)、(38)〜(40)を実行し、さら
に、計算に用いたエッジ点の個数Nをカウントアップす
る。
【0158】ステップ(602)のループ処理にて、記
憶していたエッジ点(EDGCNT−1)個の処理が総
て終了すると、ステップ(610)へ移行する。
憶していたエッジ点(EDGCNT−1)個の処理が総
て終了すると、ステップ(610)へ移行する。
【0159】ステップ(610)では、式(25)〜
(35)、(37)〜(41)を計算し、瞳孔円の中心
座標(A,B)と誤差量ERを求める。
(35)、(37)〜(41)を計算し、瞳孔円の中心
座標(A,B)と誤差量ERを求める。
【0160】そして、次のステップ(611)へ移行
し、サブルーチン「円の最小2乗推定」をリターンす
る。
し、サブルーチン「円の最小2乗推定」をリターンす
る。
【0161】図11に戻って、ステップ(501)のサ
ブルーチン「円の最小2乗推定」を完了すると、次のス
テップ(502)へ移行する。
ブルーチン「円の最小2乗推定」を完了すると、次のス
テップ(502)へ移行する。
【0162】ステップ(502)では、円の推定に用い
たデータの個数Nをしきい値NTHRと比較し、N<N
THRならば、データ数が少ないため結果の信頼性が低
いと見なして、ステップ(512)へ分岐し、検出失敗
であるとする。
たデータの個数Nをしきい値NTHRと比較し、N<N
THRならば、データ数が少ないため結果の信頼性が低
いと見なして、ステップ(512)へ分岐し、検出失敗
であるとする。
【0163】NTHRとしては、例えば、NTHR=3
0である。
0である。
【0164】ステップ(502)にて、N≧NTHRな
らば、次のステップ(503)にて、誤差量ERとしき
い値ERTHRを比較する。
らば、次のステップ(503)にて、誤差量ERとしき
い値ERTHRを比較する。
【0165】ER<ERTHRならば、誤差が小さく、
検出結果が充分信頼できるものと見なして、ステップ
(514)へ分岐し、検出成功であるとする。
検出結果が充分信頼できるものと見なして、ステップ
(514)へ分岐し、検出成功であるとする。
【0166】しきい値ERTHRとしては、例えば、E
RTHR=10000である。
RTHR=10000である。
【0167】ステップ(503)において、ER≧ER
THRならば、データ数が充分にも拘らず誤差が大きす
ぎるとして、ステップ(504)以下の再計算を実施す
る。誤差が大きくなった原因としては、瞳孔円以外の偽
のエッジ点を計算に入れてしまったことが考えられ、各
エッジ点の座標の内、縦/横方向で端の座標のエッジ点
を計算から除外していって、誤差が減少するかどうかを
調べてゆく。
THRならば、データ数が充分にも拘らず誤差が大きす
ぎるとして、ステップ(504)以下の再計算を実施す
る。誤差が大きくなった原因としては、瞳孔円以外の偽
のエッジ点を計算に入れてしまったことが考えられ、各
エッジ点の座標の内、縦/横方向で端の座標のエッジ点
を計算から除外していって、誤差が減少するかどうかを
調べてゆく。
【0168】ステップ(504)ではサブルーチン「円
の最小2乗推定 再計算1」をコールする。
の最小2乗推定 再計算1」をコールする。
【0169】「円の最小2乗推定 再計算1」は、最小
2乗推定の計算に用いたエッジ点の内、エリアセンサ7
の縦方向上部に在るエッジ点(全体の5分の1)を除外
して、再び最小2乗推定の計算を行うサブルーチンであ
り、そのフローチャートを図13(A)に示す。
2乗推定の計算に用いたエッジ点の内、エリアセンサ7
の縦方向上部に在るエッジ点(全体の5分の1)を除外
して、再び最小2乗推定の計算を行うサブルーチンであ
り、そのフローチャートを図13(A)に示す。
【0170】サブルーチン「円の最小2乗推定 再計算
1」がコールされると、ステップ(700)を経て、次
のステップ(701)にて図13(A)中のように変数
の格納を行う。 変数XS1 〜ZS4 は、ステップ(5
01)で計算した全エッジ点をしようしたときの対応す
るワーク変数の値を記憶する。そして、除外するエッジ
点の個数を全エッジ点の個数Nの5分の1として変数M
に記憶しておく。
1」がコールされると、ステップ(700)を経て、次
のステップ(701)にて図13(A)中のように変数
の格納を行う。 変数XS1 〜ZS4 は、ステップ(5
01)で計算した全エッジ点をしようしたときの対応す
るワーク変数の値を記憶する。そして、除外するエッジ
点の個数を全エッジ点の個数Nの5分の1として変数M
に記憶しておく。
【0171】次のステップ(702)ではステップ(6
01)と同様に計算のワークを初期化し、ステップ(7
03)へ移行する。
01)と同様に計算のワークを初期化し、ステップ(7
03)へ移行する。
【0172】ステップ(703)はステップ(602)
と同様のループ処理であり、このループ内で除外するエ
ッジ点の最小2乗法の計算を行う。
と同様のループ処理であり、このループ内で除外するエ
ッジ点の最小2乗法の計算を行う。
【0173】本発明の実施例では、エリアセンサ7を縦
方向上部から読み込む構成にしているから、エッジ情報
を記憶している配列変数EDGDT(m,k)には、縦
方向の上部のエッジから順に格納されている。従って、
EDGDT(m,k)のmを0からアップカウントして
いけば、縦方向上のエッジ点から取り出せることにな
る。
方向上部から読み込む構成にしているから、エッジ情報
を記憶している配列変数EDGDT(m,k)には、縦
方向の上部のエッジから順に格納されている。従って、
EDGDT(m,k)のmを0からアップカウントして
いけば、縦方向上のエッジ点から取り出せることにな
る。
【0174】さて、ステップ(703)のループ内の最
初のステップ(704)ではエッジ点(X,Y)が瞳孔
エッジとして有効か否かを判別しているが、これはステ
ップ(603)〜(608)と全く同様である。
初のステップ(704)ではエッジ点(X,Y)が瞳孔
エッジとして有効か否かを判別しているが、これはステ
ップ(603)〜(608)と全く同様である。
【0175】瞳孔エッジ点として有効と見なされた場合
にはステップ(705)へ移行し、これもまたステップ
(609)と同じ計算を実行する。
にはステップ(705)へ移行し、これもまたステップ
(609)と同じ計算を実行する。
【0176】そして、次のステップ(706)にて、新
たに計算したエッジ点の個数Nと除外すべきエッジ点の
個数Mを比較し、M個の計算が終了すれば分岐し、外側
のステップ(703)のループ処理を中止する。M個に
達していない場合は、ループ変数Lをカウントアップ
し、再びステップ(704)移行の処理を続行する。
たに計算したエッジ点の個数Nと除外すべきエッジ点の
個数Mを比較し、M個の計算が終了すれば分岐し、外側
のステップ(703)のループ処理を中止する。M個に
達していない場合は、ループ変数Lをカウントアップ
し、再びステップ(704)移行の処理を続行する。
【0177】M個の計算が終了するとステップ(70
8)へ分岐し、瞳孔円の中心(A,B)及び誤差量ER
´を再計算する。再計算の式は次のようになる。
8)へ分岐し、瞳孔円の中心(A,B)及び誤差量ER
´を再計算する。再計算の式は次のようになる。
【0178】 X1 =XS1 −X1 ………(16´) X2 =XS2 −X2 ………(17´) X3 =XS3 −X3 ………(18´) Y1 =YS1 −Y1 ………(19´) Y2 =YS2 −Y2 ………(20´) Y3 =YS3 −Y3 ………(21´) Z1 =ZS1 −Z1 ………(22´) Z2 =ZS2 −Z2 ………(23´) Z3 =ZS3 −Z3 ………(24´) X4 =XS4 −X4 ………(38´) Y4 =YS4 −Y4 ………(39´) Z4 =ZS4 −Z4 ………(40´) そして、式(25)〜(35)、(37)〜(41)を
計算し直せば、新たな瞳孔中心(A,B)と誤差量ER
´を得ることが出来る。式(16)〜(40)はもとも
と逐次形式になっているため、再び全データを計算し直
す必要はなく、除外したいデータの加算(あるいは累乗
加算)を計算して、元の値から減算すれば済む。
計算し直せば、新たな瞳孔中心(A,B)と誤差量ER
´を得ることが出来る。式(16)〜(40)はもとも
と逐次形式になっているため、再び全データを計算し直
す必要はなく、除外したいデータの加算(あるいは累乗
加算)を計算して、元の値から減算すれば済む。
【0179】再計算が終った後は、ステップ(709)
へ移行し、サブルーチン「円の最小2乗推定 再計算
1」をリターンする。
へ移行し、サブルーチン「円の最小2乗推定 再計算
1」をリターンする。
【0180】図11に戻って、ステップ(504)を完
了すると、ステップ(505)へ移行し、再計算した誤
差量ER´としきい値ERTHRを比較する。ER´が
小さい場合は、除外操作が効を奏したものとして、ステ
ップ(514)へ分岐し、検出成功とする。
了すると、ステップ(505)へ移行し、再計算した誤
差量ER´としきい値ERTHRを比較する。ER´が
小さい場合は、除外操作が効を奏したものとして、ステ
ップ(514)へ分岐し、検出成功とする。
【0181】未だ誤差量ER´が大きい場合には、ステ
ップ(506)へ移行し、別のサブルーチン「円の最小
2乗推定 再計算2」をコールする。
ップ(506)へ移行し、別のサブルーチン「円の最小
2乗推定 再計算2」をコールする。
【0182】「円の最小2乗推定 再計算2」は、最小
2乗推定の計算に用いたエッジ点の内、エリアセンサの
縦方向下部に在るエッジ点(全体の5分の1)を除外
し、再び最小2乗推定の計算を行うサブルーチンであ
り、そのフローチャートを図13(B)に示す。
2乗推定の計算に用いたエッジ点の内、エリアセンサの
縦方向下部に在るエッジ点(全体の5分の1)を除外
し、再び最小2乗推定の計算を行うサブルーチンであ
り、そのフローチャートを図13(B)に示す。
【0183】「円の最小2乗推定 再計算2」は、「円
の最小2乗推定 再計算1」とほとんど同様であるが、
「再計算1」と違って縦方向下部のエッジ点から除外し
てゆくようにするため、ステップ(712)においてル
ープ変数Lを(EDGCNT−1)からダウンカウント
させている。その他は「円の最小2乗推定 再計算1」
と全く同様であるため、説明を省略する。
の最小2乗推定 再計算1」とほとんど同様であるが、
「再計算1」と違って縦方向下部のエッジ点から除外し
てゆくようにするため、ステップ(712)においてル
ープ変数Lを(EDGCNT−1)からダウンカウント
させている。その他は「円の最小2乗推定 再計算1」
と全く同様であるため、説明を省略する。
【0184】再び図11に戻って説明を続ける。
【0185】ステップ(506)のサブルーチン「円の
最小2乗推定 再計算2」を完了すると、ステップ(5
07)へ移行し、再計算した誤差量ER´としきい値E
RYHRを比較する。ER´が小さい場合は、除外操作
が有効であったものとして、ステップ(514)へ分岐
し、検出成功と見なす。
最小2乗推定 再計算2」を完了すると、ステップ(5
07)へ移行し、再計算した誤差量ER´としきい値E
RYHRを比較する。ER´が小さい場合は、除外操作
が有効であったものとして、ステップ(514)へ分岐
し、検出成功と見なす。
【0186】未だ誤差量ER´が大きい場合には、ステ
ップ(508)へ移行し、さらに別のサブルーチン「円
の最小2乗推定 再計算3」をコールする。
ップ(508)へ移行し、さらに別のサブルーチン「円
の最小2乗推定 再計算3」をコールする。
【0187】「円の最小2乗推定 再計算3」では、今
度は最小2乗推定の計算に用いたエッジ点の内、エリア
センサ7の横方向左部に在るエッジ点(全体の5分の
1)を除外して、再び最小2乗推定の計算を行うサブル
ーチンであり、そのフローチャートを図13(C)に示
す。
度は最小2乗推定の計算に用いたエッジ点の内、エリア
センサ7の横方向左部に在るエッジ点(全体の5分の
1)を除外して、再び最小2乗推定の計算を行うサブル
ーチンであり、そのフローチャートを図13(C)に示
す。
【0188】サブルーチン「円の最小2乗推定 再計算
3」がコールされると、ステップ(720)を経て、ス
テップ(721)にて、エッジ情報を記憶している配列
変数EDGDT(m,k)の並べ換えを行う。
3」がコールされると、ステップ(720)を経て、ス
テップ(721)にて、エッジ情報を記憶している配列
変数EDGDT(m,k)の並べ換えを行う。
【0189】先にも説明したように、EDGDT(m,
k)にはエリアセンサ7の縦方向のエッジ点から順に格
納されているため、横方向に注目して処理を行うために
は、EDGCNTに格納されているデータの並べ換えが
必要である。
k)にはエリアセンサ7の縦方向のエッジ点から順に格
納されているため、横方向に注目して処理を行うために
は、EDGCNTに格納されているデータの並べ換えが
必要である。
【0190】EDGDT(m,2)にはエッジ点の横方
向(X軸座標)の値が格納されているから、この値に対
して公知の「ソート操作」を実施すれば、EDGCNT
には横方向の左からの順となったエッジ情報が再格納が
可能である。
向(X軸座標)の値が格納されているから、この値に対
して公知の「ソート操作」を実施すれば、EDGCNT
には横方向の左からの順となったエッジ情報が再格納が
可能である。
【0191】並べ換えを実行すると、ステップ(70
2)へ分岐し、後は「再計算1」と全く同様の処理を行
えば、エリアセンサ7の横方向左右のエッジ点を除外し
た再計算ができる。
2)へ分岐し、後は「再計算1」と全く同様の処理を行
えば、エリアセンサ7の横方向左右のエッジ点を除外し
た再計算ができる。
【0192】再び、図11に戻って、ステップ(50
8)のサブルーチン「円の最小2乗推定 再計算3」を
完了すると、ステップ(509)へ移行し、再計算した
誤差量ER´としきい値ERTHRを比較する。ER´
が小さい場合は、除外操作が有効であったものとして、
ステップ(514)へ分岐し、検出成功と見なす。
8)のサブルーチン「円の最小2乗推定 再計算3」を
完了すると、ステップ(509)へ移行し、再計算した
誤差量ER´としきい値ERTHRを比較する。ER´
が小さい場合は、除外操作が有効であったものとして、
ステップ(514)へ分岐し、検出成功と見なす。
【0193】未だ誤差量ER´が大きい場合には、ステ
ップ(510)へ移行し、さらに別のサブルーチン「円
の最小2乗推定 再計算4」をコールする。
ップ(510)へ移行し、さらに別のサブルーチン「円
の最小2乗推定 再計算4」をコールする。
【0194】「円の最小2乗推定 再計算4」では、今
度は最小2乗推定の計算に用いたエッジ点の内、エリア
センサの横方向右部に在るエッジ点(全体の5分の1)
を除外して、再び最小2乗推定の計算を行うサブルーチ
ンであり、そのフローチャートを図13(D)に示す。
度は最小2乗推定の計算に用いたエッジ点の内、エリア
センサの横方向右部に在るエッジ点(全体の5分の1)
を除外して、再び最小2乗推定の計算を行うサブルーチ
ンであり、そのフローチャートを図13(D)に示す。
【0195】いま配列変数EDGDT(m,k)には、
横方向の左から順のエッジ点が格納されているから、右
から順にエッジ点を除外しようとすれば、EDGDT
(m,k)を「円の最小2乗推定 再計算2」と同じよ
うに取扱えば良い。そこで、サブルーチン「円の最小2
乗推定 再計算4」をコールされれば直ちにステップ
(711)へ分岐して、「再計算2」と同様の処理を行
うようにしている。
横方向の左から順のエッジ点が格納されているから、右
から順にエッジ点を除外しようとすれば、EDGDT
(m,k)を「円の最小2乗推定 再計算2」と同じよ
うに取扱えば良い。そこで、サブルーチン「円の最小2
乗推定 再計算4」をコールされれば直ちにステップ
(711)へ分岐して、「再計算2」と同様の処理を行
うようにしている。
【0196】再び、図11に戻って説明を続ける。
【0197】ステップ(510)のサブルーチン「円の
最小2乗推定 再計算4」を完了すると、ステップ(5
11)へ移行し、再計算した誤差量ER´としきい値E
RTHRを比較する。ER´が小さい場合は、除外操作
が有効であったものとして、ステップ(514)へ分岐
し、検出成功と見なす。
最小2乗推定 再計算4」を完了すると、ステップ(5
11)へ移行し、再計算した誤差量ER´としきい値E
RTHRを比較する。ER´が小さい場合は、除外操作
が有効であったものとして、ステップ(514)へ分岐
し、検出成功と見なす。
【0198】未だ誤差量ER´が大きい場合には、ステ
ップ(512)へ移行し、上述の操作が有効に働かなか
ったものとして、ステップ(512)へ移行し、検出失
敗とする。
ップ(512)へ移行し、上述の操作が有効に働かなか
ったものとして、ステップ(512)へ移行し、検出失
敗とする。
【0199】ステップ(512)あるいは(514)で
瞳孔中心の検出が最終判断されると、ステップ(51
3)あるいは(515)でサブルーチン「瞳孔中心の検
出」をリターンする。
瞳孔中心の検出が最終判断されると、ステップ(51
3)あるいは(515)でサブルーチン「瞳孔中心の検
出」をリターンする。
【0200】図15に本実施例での最小2乗推定の一例
を紹介しておく。
を紹介しておく。
【0201】図中の●が1つのエッジ点を表し、これら
のエッジ点に基いて瞳孔円を推定したものである。
のエッジ点に基いて瞳孔円を推定したものである。
【0202】図6の説明に戻る。
【0203】ステップ(012)での「瞳孔中心の検
出」が完了すると、ステップ(013)へ移行し、サブ
ルーチン「視線の検出」をコールする。
出」が完了すると、ステップ(013)へ移行し、サブ
ルーチン「視線の検出」をコールする。
【0204】「視線の検出」は、これまでの処理で検出
したP像位置及び瞳孔円の中心位置から、視線(注視
点)を検出するサブルーチンである。
したP像位置及び瞳孔円の中心位置から、視線(注視
点)を検出するサブルーチンである。
【0205】基本的には、前述した公知例と同様に、上
記の式(2)に従って、眼球光軸の回転角θを計算すれ
ば良い。
記の式(2)に従って、眼球光軸の回転角θを計算すれ
ば良い。
【0206】本実施例では、瞳孔中心を横方向(X
軸)、縦方向(Y軸)の2次元で検出しているので、公
知例のように横方向のみではなく、縦方向の視線の方向
も横方向の検出と同様な考え方で、検出することができ
る。
軸)、縦方向(Y軸)の2次元で検出しているので、公
知例のように横方向のみではなく、縦方向の視線の方向
も横方向の検出と同様な考え方で、検出することができ
る。
【0207】視線の検出が完了すると、ステップ(01
4)へ移行し、一連の処理を終了する。
4)へ移行し、一連の処理を終了する。
【0208】なお、本実施例は、横方向のみに対して特
徴点(最低輝度,瞳孔エッジ,P像)の位置検出範囲に
制限をもうけて、検出時間の短縮化をしたが、同様に縦
方向に対しても検出範囲に制限を設けることにより、よ
り検出時間の短縮化が出来る。また、本実施例ではメモ
リの節約のために、逐次処理で例を示したがメモリが多
く用意出来る場合は、逐次処理で処理しなくともよい。
徴点(最低輝度,瞳孔エッジ,P像)の位置検出範囲に
制限をもうけて、検出時間の短縮化をしたが、同様に縦
方向に対しても検出範囲に制限を設けることにより、よ
り検出時間の短縮化が出来る。また、本実施例ではメモ
リの節約のために、逐次処理で例を示したがメモリが多
く用意出来る場合は、逐次処理で処理しなくともよい。
【0209】 本実施例によれば、眼球の特徴点(最低
輝度,瞳孔エッジ,プルキンエ像)の位置情報を検出す
る際に、エリアセンサの全画素に対して、それぞれの特
徴点にみあった検出範囲の制限を設けるようにしている
為、検出にかかる時間の短縮化を図ることが可能とな
る。ここで、特徴点にみあった検出範囲の制限とは、図
5より理解できるように、瞳孔エッジがエリアセンサの
極端な端に存在することは少なく、また、最低輝度は瞳
孔エッジの内側に、そしてプルキンエ像(P像)は最低
輝度の内側に存在することにより与えることのできる検
出範囲である。
輝度,瞳孔エッジ,プルキンエ像)の位置情報を検出す
る際に、エリアセンサの全画素に対して、それぞれの特
徴点にみあった検出範囲の制限を設けるようにしている
為、検出にかかる時間の短縮化を図ることが可能とな
る。ここで、特徴点にみあった検出範囲の制限とは、図
5より理解できるように、瞳孔エッジがエリアセンサの
極端な端に存在することは少なく、また、最低輝度は瞳
孔エッジの内側に、そしてプルキンエ像(P像)は最低
輝度の内側に存在することにより与えることのできる検
出範囲である。
【0210】
【発明の効果】 以上説明したように、本発明によれ
ば、視線検出に要する時間を短縮することができる。
ば、視線検出に要する時間を短縮することができる。
【0211】
【図1】本発明の一実施例の視線検出装置を搭載した一
眼レフカメラの光学系を示す概略構成図である。
眼レフカメラの光学系を示す概略構成図である。
【図2】図1の焦点検出系の斜視図である。
【図3】図1の視線検出系の斜視図である。
【図4】本発明の一実施例の視線検出装置における視線
検出原理を説明するための図である。
検出原理を説明するための図である。
【図5】本発明の一実施例の視線検出装置におけるエリ
アセンサ上の光強度分布を示す図である。
アセンサ上の光強度分布を示す図である。
【図6】本発明の一実施例の視線検出装置のメインフロ
ーチャートである。
ーチャートである。
【図7】図6のステップ(007)において行われる
「1ライン読み込み」動作を示すフローチャートであ
る。
「1ライン読み込み」動作を示すフローチャートであ
る。
【図8】図6のステップ(009)において行われる
「P像の検出」動作を示すフローチャートである。
「P像の検出」動作を示すフローチャートである。
【図9】図6のステップ(010)において行われる
「瞳孔エッジの検出」動作を示すフローチャートであ
る。
「瞳孔エッジの検出」動作を示すフローチャートであ
る。
【図10】図6のステップ(011)において行われる
「瞳孔指定範囲の設定」動作を示すフローチャートであ
る。
「瞳孔指定範囲の設定」動作を示すフローチャートであ
る。
【図11】図6のステップ(012)において行われる
「瞳孔中心の検出」動作を示すフローチャートである。
「瞳孔中心の検出」動作を示すフローチャートである。
【図12】図11のステップ(501)において行われ
る「円の最小2乗推定」動作を示すフローチャートであ
る。
る「円の最小2乗推定」動作を示すフローチャートであ
る。
【図13】図11のステップ(504),(506),
(508),(510)において行われる「円の最小2
乗推定 再計算1〜4」の動作を示すフローチャートで
ある。
(508),(510)において行われる「円の最小2
乗推定 再計算1〜4」の動作を示すフローチャートで
ある。
【図14】本発明の一実施例の視線検出装置における特
徴点検出範囲を説明するための図である。
徴点検出範囲を説明するための図である。
【図15】本発明の一実施例の視線検出装置において複
数のエッジポイントとこのエッジポイントから算出した
瞳孔円を示す図である。
数のエッジポイントとこのエッジポイントから算出した
瞳孔円を示す図である。
【図16】一般的な視線検出装における視線検出のため
の原理を説明するための図である。
の原理を説明するための図である。
5a,5b 角膜反射像発生用の赤外発光ダイオード 5c,5d 虹彩情報検出用の赤外発光ダイオード 6 光電変換素子列 7 エリアセンサ 21 角膜 22 眼球 23 虹彩 24 瞳孔 109 MCU 209 眼球
Claims (3)
- 【請求項1】 眼球を照明する照明手段と、前記照明手
段により照明された前記眼球を撮像する撮像センサと、
前記撮像センサの全領域より狭い第1の領域の出力より
複数の瞳孔の境界部を抽出し、前記撮像センサの第1の
領域より狭い第2の領域の出力より角膜反射像を抽出す
る抽出手段と、前記抽出された複数の瞳孔の境界部及び
角膜反射像に基づいて視線を検出する視線検出手段とを
有することを特徴とする視線検出装置。 - 【請求項2】 前記撮像センサの第1及び第2の領域と
は異なる領域から最低輝度値を検出する検出手段を有す
ることを特徴とする請求項1に記載の視線検出装置。 - 【請求項3】 前記抽出手段は、前記撮像センサの輝度
値に関する出力より前記複数の瞳孔の境界部を抽出し、
前記視線検出手段は、前記最低輝度値を基準として所定
の条件を満たす瞳孔の境界部を選択し、該選択された瞳
孔の境界部を用いて視線を検出することを特徴とする請
求項2に記載の視線検出装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31440692A JP3192503B2 (ja) | 1992-10-30 | 1992-10-30 | 視線検出装置 |
US08/779,908 US6035054A (en) | 1992-10-29 | 1997-01-07 | Visual axis detection apparatus and optical apparatus provided therewith |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31440692A JP3192503B2 (ja) | 1992-10-30 | 1992-10-30 | 視線検出装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06148507A JPH06148507A (ja) | 1994-05-27 |
JP3192503B2 true JP3192503B2 (ja) | 2001-07-30 |
Family
ID=18052967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31440692A Expired - Fee Related JP3192503B2 (ja) | 1992-10-29 | 1992-10-30 | 視線検出装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3192503B2 (ja) |
-
1992
- 1992-10-30 JP JP31440692A patent/JP3192503B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH06148507A (ja) | 1994-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3166179B2 (ja) | 視線検出装置 | |
JPH06148513A (ja) | 視線検出装置 | |
JP3214057B2 (ja) | 瞳孔中心検出方法、瞳孔中心検出装置、瞳孔輪部検出方法および瞳孔輪部検出装置 | |
JP3352238B2 (ja) | 視線検出装置及びカメラ | |
US5815240A (en) | Ophthalmologic device having means for classifying the picture data in the frame memory into the bright point regions and the mask regions | |
US6035054A (en) | Visual axis detection apparatus and optical apparatus provided therewith | |
JP3219426B2 (ja) | 視線検出装置 | |
JP3192503B2 (ja) | 視線検出装置 | |
JP3143490B2 (ja) | 視線検出装置 | |
JP3143491B2 (ja) | 視線検出装置 | |
JP3313803B2 (ja) | 視線検出装置 | |
JP2861349B2 (ja) | 視線検出手段を有した光学装置 | |
US5706071A (en) | Line of sight detection apparatus and an equipment having the line of sight detection apparatus | |
JP3219425B2 (ja) | 視線検出装置 | |
JP3184553B2 (ja) | 視線検出装置 | |
JPH04347127A (ja) | 視線検出装置 | |
US5848175A (en) | View point detecting device | |
JP2894701B2 (ja) | 視線検知装置 | |
JPH04347128A (ja) | 視線検出装置 | |
JP7358130B2 (ja) | 電子機器およびその制御方法 | |
JPH06138373A (ja) | 視線検出装置 | |
JP3210089B2 (ja) | 視線検出装置及びカメラ | |
JP3352195B2 (ja) | 視線検出装置、光学装置及び視線検出方法 | |
JPH0918760A (ja) | 視線検出装置およびこれに用いる撮像装置 | |
JP3630762B2 (ja) | 眼球像受光装置及び眼球像受光制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090525 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100525 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100525 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110525 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120525 Year of fee payment: 11 |
|
LAPS | Cancellation because of no payment of annual fees |