JP3797253B2 - 視線方向検出装置 - Google Patents
視線方向検出装置 Download PDFInfo
- Publication number
- JP3797253B2 JP3797253B2 JP2002070187A JP2002070187A JP3797253B2 JP 3797253 B2 JP3797253 B2 JP 3797253B2 JP 2002070187 A JP2002070187 A JP 2002070187A JP 2002070187 A JP2002070187 A JP 2002070187A JP 3797253 B2 JP3797253 B2 JP 3797253B2
- Authority
- JP
- Japan
- Prior art keywords
- eye
- image
- pupil
- face
- 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
Links
Images
Description
【発明の属する技術分野】
本発明は、被験者の顔面を撮影した顔画像から視線方向を検出する視線方向検出装置に関する。
【0002】
【従来の技術】
視線方向を検出する装置としては、特開平9−53917号「車両用視線方向計測装置」が知られている。この装置は、乗員の眼球からの反射像を撮像する撮像装置と、撮像装置と共軸の不可視光を照射する第1照明と、第1照明とは異なる位置から不可視光を照射する第2照明とを備えている。そして、第1、第2照明から交互に顔を照射して得られた画像データから、画像処理によって瞳孔中心の位置と角膜反射像の位置を求め、両者に基づいて視線方向を算出している。
【0003】
【発明が解決しようとする課題】
しかしながら、上記従来技術にあっては、瞳孔の中の角膜反射像の位置をとらえるという顔画像の狭い範囲から視線方向を計測しているため、精度の高い視線方向の検出ができないという問題点があった。
【0004】
また、眼の位置が動かないという前提であれば視線を検知できるが、運転中など顔が動いている環境では視線方向を特定することは更に難しい。
【0005】
以上の問題点に鑑み本発明の目的は、顔を撮像した画像から精度良く視線方向を検出することが出来る視線方向検出装置を提供することである。
【0006】
【課題を解決するための手段】
本発明は、顔画像を撮像する顔画像撮像手段と、前記顔画像から画像上の眼の位置を特定する眼位置特定手段と、前記顔画像及び前記特定された眼の位置から眼球の回転角を検出する眼球回転角検出手段と、前記顔画像から顔の向きを検出する顔の向き検出手段と、眼球回転角検出手段によって検出された眼球の回転角と顔の向き検出手段によって検出された顔の向きから視線方向を算出する視線方向算出手段と、を備え、前記顔の向き検出手段は、前記眼位置特定手段によって特定された位置を中心とした前記顔画像中に上凸もしくは下凸の円弧状のラインを見つけ、その円弧状ラインの画像上の上凸もしくは下凸のピーク位置を検出する円弧状ラインピーク位置検出手段と、前記顔画像の中で画像上の目頭位置と画像上の目尻位置を検出する目頭・目尻位置検出手段と、を備え、前記円弧状ラインピーク位置検出手段が検出した前記ピーク位置と、前記目頭・目尻位置検出手段が検出した前記目頭位置及び前記目尻位置に基づいて、目頭位置からピーク位置までの距離と目尻位置からピーク位置までの距離とをそれぞれ算出し、算出された目頭位置からピーク位置までの距離と目尻位置からピーク位置までの距離との比から顔の向きを算出することを要旨とする視線方向検出装置である。
【0008】
【発明の効果】
本発明によれば、精度良く視線方向を検出する視線方向検出装置を提供することができるという効果がある。
【0009】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態を詳細に説明する。
【0010】
〔第1実施形態〕
図1は、本発明に係る視線方向検出装置の第1実施形態の構成を説明するブロック図である。同図において、視線方向検出装置は、顔画像を撮像する顔画像撮像手段CL1と、顔画像撮像手段CL1によって撮像された顔画像から画像上の眼の位置を特定する眼位置特定手段CL2と、顔画像撮像手段CL1によって撮像された顔画像から眼球の回転角を検出する眼球回転角検出手段CL4と、顔画像撮像手段CL1によって撮像された顔画像から顔の向きを検出する顔の向き検出手段CL3と、眼球回転角検出手段CL4によって検出された眼球の回転角と顔の向き検出手段CL3によって検出された顔の向きから視線方向を算出する視線方向算出手段CL5とを備えている。
【0011】
顔画像撮像手段CL1は、運転者またはオペレータ等の顔を撮像して顔画像データを出力するTVカメラ等の撮像手段である。眼位置特定手段CL2は、顔画像撮像手段CL1から出力された顔画像データを処理して、画像上の眼の位置を特定する。
【0012】
顔の向き検出手段CL3は、顔画像撮像手段CL1から出力された顔画像データを処理して顔画像撮像手段CL1の光軸ラインを正面とした顔の向きを検出する。
【0013】
眼球回転角検出手段CL4は、さらに瞳位置検出手段CL41と円弧状ラインのピーク位置検出手段CL42とを備えて構成されている。
【0014】
瞳位置検出手段CL41は、眼位置特定手段CL2で特定された眼の位置を中心とした顔画像の部分画像である微小画像を画像処理することによって、瞳の位置を検出する。
【0015】
円弧状ラインのピーク位置検出手段CL42は、眼位置特定手段CL2で特定された眼の位置を中心とした顔画像の部分画像である微小画像を画像処理することによって、上瞼、下瞼、眉毛、眼鏡の上フレーム、眼鏡の下フレームなど視線の基準となる円弧状ラインの検出を行い、その中から円弧状ラインのピーク位置を求める。
【0016】
本実施形態では上瞼での場合のみ説明するが、他の部位についても同様の処理を行うことで検出することができる。
【0017】
本装置は、自動車、鉄道車両、船舶、プラントのオペレータ等の視線方向検知に用いることができるが、本発明のすべての実施形態で自動車の運転手の眼に適用した場合で説明する。
【0018】
[機器の配置]
図2は、本発明の機器の配置図である。顔画像撮像手段CL1としてTVカメラ1が自動車のインストルメントパネル上で運転者を略正面で撮像できる位置に設置され、運転者の顔部分を撮影する。TVカメラ1の入力画像は、本実施形態では、例えば横方向(X)640画素、縦方向(Y)480画素からなる白黒画像である。TVカメラ1で撮像された入力画像は、インストルメントパネル裏側など車体内部に設置されたマイクロコンピュータ2に画像データとして入力される。
【0019】
マイクロコンピュータ2は、TVカメラ1から入力された画像データを記憶する画像メモリを備えている。さらにマイクロコンピュータ2には、この画像データを処理して視線方向を検出するために、眼位置特定手段CL2と、顔の向き検出手段CL3と、眼球回転角検出手段CL4と、視線方向算出手段CL5とを実現するためのロジックがプログラミングされている。
【0020】
次にシステムの処理内容について説明する。
【0021】
[システム全体の処理]
図3はシステムの全体の処理の流れを説明する概略フローチャートである。まず、処理が開始されると、ステップS1(以下、「ステップS」は単に「S」と表す)で、「初期値入力」の処理が実行され、マイクロコンピュータの作業エリアの初期化や各種パラメータの初期値の設定が行われる。
【0022】
S2の「顔画像の撮像処理」ではTVカメラ1で顔画像を撮像し、マイクロコンピュータ2に画像データとして入力する。
【0023】
S3の「眼の位置特定処理」ではマイクロコンピュータ2に入力された画像データを画像処理することによって顔画像上の眼の位置を特定する。
【0024】
S4ではS3の出力結果をもとに顔画像上に眼が特定できればS4YES、S5へ処理を進め、顔画像上に眼が特定できなければS4NO、S2へ処理を戻し、眼が特定できるまでS2からS4までの処理を繰り返す。
【0025】
S5の「顔の向き検出処理」では、マイクロコンピュータ2に入力された画像データを画像処理することによって、顔画像撮像手段の光軸方向に対する画像上の顔の向きを検出する。
【0026】
S6の「円弧状ラインピーク位置検出処理」では、S3で特定された眼の位置を中心とする顔画像の部分画像である微小画像(以下、微小エリアとも呼ぶ)を画像処理することで微小画像上の円弧状ライン及びそのピーク位置を検出する。
【0027】
S7の「瞳位置の検出処理」では、S3で特定された眼の位置を中心とする微小エリアを画像処理することで画像上の瞳の位置を検出する。
【0028】
S8の「眼球の回転角検出処理I」では、S6で検出した円弧状ラインのピーク位置と、S7で検出した瞳の位置とから、眼球の回転角を検出する。
【0029】
S9の「視線方向の算出処理」では、S5で検出した顔の向きと、S8で検出した眼球の回転角とから、視線方向を算出し、処理を終了する。
【0030】
[眼の位置特定処理](S3)
図3の「眼の位置特定処理」S3を図4の詳細フローチャートを用いて説明する。まず、図4のS31では、顔画像から眼の候補の位置を特定する「眼の候補の位置の特定処理」を実行する。S32では、特定されたそれぞれの眼の候補の位置から眼であるか否かを判定する「眼判定処理」を行う。
【0031】
S33ではS31で眼の候補の位置の特定の処理で検出した眼の候補点すべてを判定したかどうかを判定する。眼の候補点すべてを判定した場合とした場合S33YESはメインルーチンのS4に処理が移る。眼の候補点すべてを判定し終わっていない場合S33NOは、S32の眼判定処理に戻る。
【0032】
[眼の候補の位置の特定処理](S31)
「眼の候補の位置の特定処理」S31の流れを、図5の詳細フローチャートと、図6〜図10を用いて説明する。
【0033】
まず、図5のS311は、「顔画像の撮像処理」S2で撮像しマイクロコンピュータ2に入力した顔画像データ全体を全体画像Gとして画像メモリに保存する。
【0034】
次いで、S312からS316の処理で、全体画像GをY方向にスキャンして特徴点を抽出する。S312では、縦方向に1ライン終了後に、一つ隣のラインの処理に移して行き、縦方向の全ラインでの特徴点抽出が終了したか否かを判断する。S312で全ラインにおいて特徴点抽出が終了していないと判断された場合は、S313に移行する。
【0035】
S313では、縦方向(Y軸方向)の1ラインの濃度値(輝度値)の縦方向(Y軸方向)のスムージング処理を相加平均演算によって行う。この処理は、画像データ撮影時の濃度値の変化の小さなバラツキを無くすことを目的としており、濃度値の大局的な変化を捉えるためである。
【0036】
例えば、画像を2次元配列の画素の集まりとして、処理前の画像の各画素の濃度値をA(i,j)とし、この画素自身とその前後n個づつの画素を用いてスムージングすれば、スムージング処理後の各画素の濃度値B(i,j)は、式(1)の相加平均値で示される。
【0037】
【数1】
B(i,j)=〔1/(2n+1)〕〔A(i-n,j)+…+A(i-1,j)+A(i,j)+A(i+1,j)+…+A(i+n,j)〕 …(1)
S314では、S313の演算結果である相加平均値における画像の縦方向(Y軸方向)の微分演算(差分演算)を行う。S314では、S314の演算結果である微分値による特徴点抽出を行う。ここで、微分値が負から正に変化する点を特徴点として抽出する。言い換えれば、1ライン中の縦方向の濃度変化の極小値を特徴点として抽出する。この処理が1ライン終了した後、S316で、次のラインの処理に切り替えて行く。
【0038】
S312で全ラインの特徴点抽出が終了したと判断されると、S317へ移行し、隣合う各ラインの抽出特徴点のY座標値を比較し、Y座標値が所定値以内の場合、連続データとして、▲1▼連続データのグループ番号、▲2▼連続開始ライン番号、▲3▼連続データ数、▲4▼連続データを構成する各抽出特徴点の縦方向位置の平均値(その連続データの代表Y座標値)、▲5▼連続開始ラインと終了ラインの横方向位置の平均値(その連続データの代表X座標値)をメモリする。
【0039】
ここでの検出対象は眼としているため、その特徴パターンは横に比較的長く続くデータであるといえるので、横方向に所定値以上続くことを条件に連続データを選択することができる。
【0040】
このようにして選択した顔の特徴パターンを連続データgとして表したものを図6に示す。以上、連続データgの抽出方法を簡単に説明したが、処理状態の詳細については、「特開平10−40361号」、「特開平10−143669号」などにも記載されている。連続データgがいわば眼の候補となり、この連続データgの代表座標値Cが眼の候補の位置となる。
【0041】
次いでS318において、図6に示すような各連続データgの代表座標値Cを基準に各連続データgを含む存在領域EAを設定する。この存在領域EAは、次のようにして決定する。
【0042】
(存在領域EAの大きさの決め方)
存在領域EAの大きさは、図7〜図10のようにして決めている。図7は存在領域EAの大きさを示し、図8,図9は数人の眼の大きさを調べて得られた眼の横、縦の長さの統計データを示している。ここで存在領域EAの大きさはノイズ(顔の皺や明暗などを抽出してしまう)の低減や処理速度を落とさないためにも、可能な限り小さい領域が良い。現在の居眠り検出などの処理で使っている大きさは数人の眼の大きさを調べ、それに余裕分(例えば×1.5倍)を加味した大きさにしている。
【0043】
眼の大きさを統計的に求める方法としては、図8,図9のように、眼の縦横寸法のデータを集め、その分布の例えば95%をカバーする寸法に余裕分をみて決定する方法が考えられる。そしてこの95%をカバーする寸法、すなわち横寸法xa´,縦寸法ya´に図6のように余裕分(×1.5)をみて決定している。尚、画像処理により眼の幅や高さを推定し、縦横の大きさに余裕分を加える方法も考えられる。
【0044】
(存在領域EAの位置の決め方)
図10は、例えば右眼の存在領域EAを位置決めする方法について示している。眼の座標値(x1,y1)を基準に、距離x2,y2の位置に存在領域EAを描く基準点Pを決め、P点から予め決めておいた存在領域EAの寸法x3,y3を描画し、位置を決める。x2及びy2はx3,y3の1/2で予め存在領域EAが眼の中心にくるような長さとしている。
【0045】
存在領域EAを画像全体で見つかった連続データgすべてについて設定する。
【0046】
[眼判定処理](S32)
次に、「眼判定処理」S32を図11の詳細フローチャートと、図12〜図14を用いて説明する。
【0047】
まず、図11のS3201は、眼の候補点の存在領域EAの画像データを全体画像Gの部分画像である微小画像IGとして画像メモリに保存する。全体画像Gと保存される微小画像IGの状態を図12に示す。「顔画像の撮像処理」S2で撮像しマイクロコンピュータ2に入力された画像データは、全体画像Gとして既に画像メモリに保存されている。
【0048】
次いでS3202では、全体画像Gの代表座標値Cに相当する微小画像IGの代表座標値ICを基準とした範囲ARの濃度情報をもとに二値化閾値を設定する。この範囲ARは、前記存在領域EAより小さく、二値化閾値を正確に設定できるようにしている。
【0049】
各範囲ARでの二値化閾値の算出方法の一例を、図13を用いて説明する。範囲ARにおいて縦方向に数ラインの濃度値の読み出しを行う。図13では、この縦方向へのラインが4本あることを示している。この各ラインにおいて濃度値の最も高い(明るい)濃度値と、最も低い(暗い)濃度値をメモリして行き、全ラインのメモリが終了したら、各ラインの最も高い(明るい)濃度値の中で、一番低い濃度値(皮膚の部分)と、各ラインの最も低い(暗い)濃度値の中で、一番低い濃度値(眼の部分)とを求め、その中央値を二値化閾値とする。
【0050】
この二値化閾値のための範囲ARは、眼の黒い部分と眼の周囲の皮膚の白い部分が入るように設定し、また、画像の明るさのバラツキによる影響を少なくするために必要最小限の大きさにしている。また、二値化閾値は、その領域内の眼の一番低い(暗い)濃度値と、皮膚の部分の一番低い(暗い)濃度値の中央値とすることで、顔画像の皮膚の部分から眼の部分を切り出すのに適した値になる。
【0051】
さらに、二値化閾値を決定するのに皮膚の部分の濃度値の一番低い(暗い)濃度値を用いている理由は、次の通りである。前述したように眼の周囲の明るさのバラツキによる影響を少なくするために、濃度値を読み出す範囲ARを極力小さくしていても、該範囲ARの一部に直射光が当たっているような部分が外乱として入ることがあり、この部分を二値化閾値の決定に用いないようにするためである。
【0052】
S3203では、こうして決定した二値化閾値を用いて微小画像IGを二値化処理して、二値画像bGとして画像メモリに保存する。
【0053】
このような二値化閾値を用いて二値化した候補オブジェクトを検出することにより、眼を正確に捉えて候補オブジェクトの幾何形状を用いた判定をより正確に行うことができ、眼の位置検出精度をより向上することができる。
【0054】
次にS3204に移行し、全体画像Gの代表座標値Cに相当する二値画像bGの位置bCを初期位置に設定する。
【0055】
設定位置の画素が黒画素か否かを判定S3205し、設定位置が黒画素と判定されればS3205YES、処理をS3206に移行する。設定位置が黒画素と判定されなければ(この場合、白画素)S3205NOとして設定位置を上下左右に1画素ずつずらして、再度、設定位置が黒画素か否かを判定S3205を行い、設定位置が黒画素になるまで処理を行う。
【0056】
S3206ではその黒画素を包括する連結成分を候補オブジェクトとして設定する。S3207では候補オブジェクトの幾何形状を算出し、S3208で特定したい眼テンプレートの幾何形状と候補オブジェクトの幾何形状を比較する。
【0057】
S3208の候補オブジェクトと眼テンプレートの幾何形状の比較方法の一例を眼の場合について図14を用いて説明する。
【0058】
眼の二値化した形状は光環境が良く安定した画像であれば図14の(a)に示すようなものになるが、車室内に直射日光が一側から当たる等して光環境が悪化した時は、図14の(b)や(c)のような形状になることもある。
【0059】
眼のテンプレートは、横幅が眼の平均値の2/3以上あり、且つ上に凸の所定範囲の曲率を持っているという条件▲1▼と、黒眼の左側に凹み形状を有する条件▲2▼と、黒眼の右側に凹み形状を有する条件▲3▼とからなる組み合わせにより設定している。そして、図14の(b),(c)の例を許容するために▲1▼と▲2▼、または▲1▼と▲3▼の条件を満たすものであっても良いものとする。
【0060】
S3209ではS3208の結果、候補オブジェクトと眼テンプレートの幾何形状が一致するか否かを判定する。候補オブジェクトと眼テンプレートの幾何形状が一致する場合S3209YESには、S3210でその候補オブジェクトを眼と判定しする。候補オブジェクトと眼テンプレートの幾何形状が一致しない場合S3209NOにはS3214でその候補オブジェクトを眼ではないと判定しする。
【0061】
S3211では眼と判定された候補オブジェクトの全体画像Gでの代表座標値Cをこの画像フレームでの眼の座標としてメモリする。
【0062】
S3212では眼だと判定された代表候補点を含む微小画像IGを眼画像MGiとして画像メモリに保存する。
【0063】
[顔の向きの検出処理](S5)
図15は、「顔の向き検出処理」S5を説明する概略フローチャートである。まず、「眼判定処理」S32で眼と判定した微小画像から、S51で眼の外周輪郭を検出する。次いでS52で眼の目頭及び目尻の位置を検出する。S53で微小画像から円弧状ラインのピーク位置を検出する。そして、S54で、目頭位置、目尻位置、ピーク位置から顔の向きを示す顔の方向角θfを検出する。なお、本説明での処理対象は画像上の右側の目(運転者の左目)とする。
【0064】
[眼の外周輪郭の検出](S51)
図18(a)は眼位置特定処理によって特定された眼位置を中心とした微小画像MGiを示している。ここでの微小画像は眼判定処理のS3212で画像メモリの保管された微小画像MGiを用いるのが通常であるが、状況に応じて、画像メモリに保管されている全体画像Gからサイズの位置を再定義した微小画像を抽出して用いてもよい。
【0065】
図18(a)の微小画像を二値化閾値より小さい画像を黒(濃度値0)、二値化閾値よりも大きいところを白(濃度値255)となるように二値化することによって、図18(b)の二値化画像bMGiを得ることができる。ここで行う二値化処理の二値化閾値は眼判定処理で行った二値化処理に用いた二値化閾値と同じとしてもよい。
【0066】
図18(c)では得られた二値化画像の左上から下向きに向かって画素値0の黒画素を検索する。一番下の画素まで検索し終わったら一つ右の画素列を検索していく。その画素列で最初に見つかった黒画素と最後に見つかった黒画素をそれぞれの画素列について求めていくと図18(d)の様に眼の外周輪郭を得ることができる。
【0067】
図16(a)は、図15の「眼の外周輪郭の検出処理」S51を説明するフローチャートである。まずS5101で、先に「眼判定処理」(図11のS3212)で眼と判定した微小画像MGiを二値化して、二値画像bMGiを画像メモリに保存する。次いで、S5102で二値画像bMGiの左上に初期位置を設定する。S5103でY方向に二値画像bMGiのラインを検索して、黒領域のライン上両端部の位置を検出して記憶する。S5104で全ラインを終了したか否かを判定し、全ライン終了していなければ、S5105でラインを右へ(X方向)1つずらし、ライン内位置を最上部へ設定し、S5103へ戻る。S5104で全ライン終了していれば、眼の外周輪郭の検出処理は終了である。
【0068】
[眼の目頭・目尻の検出](S52)
眼の目頭・目尻の位置は、図19のように画像上の右側の目の場合では外周輪郭線の左端が目頭、右端が目尻位置となる。なお、平面座標として目頭、目尻位置を特定する場合、図18(d)に示すように下側ラインの左右端を目頭位置、目尻位置として、その座標を使う方法のほかに上側ラインの左右端を目頭位置、目尻位置として、その座標を使う方法や上側ラインと下側ラインの左右端の中点を目頭位置、目尻位置として、その座標を使う方法もある。
【0069】
図16(b)は、図15の「眼の目頭・目尻の検出処理」S52を説明するフローチャートである。まずS5201で、処理対象の微小画像が運転者の左目か右目かを判定する。S5201で左目であれば、眼の外周輪郭線の画像上の左端を目頭位置、眼の外周輪郭線の画像上の右端を目尻位置とする。S5201で右目であれば、眼の外周輪郭線の画像上の右端を目頭位置、眼の外周輪郭線の画像上の左端を目尻位置とする。
【0070】
[円弧状ラインのピーク位置検出](S53)
円弧状ラインとして上瞼を用いる場合、図19に示すように眼の外周輪郭のラインで上側ラインの最も高い位置をピーク位置とすることができる。また図20のように顔がカメラに対して正面を向いていないような場合、図21に示すように画像上眼が傾き、必ずしも上側ラインの高さ方向で最も高い位置がピーク位置とはならない。このような場合も想定して目頭位置と目尻位置を結んだ線分と眼の外周輪郭のラインで上側ラインの距離が最も大きいところをピーク位置とすることもできる。
【0071】
図17(a)は、図15の「円弧状ラインのピーク位置検出処理」S53を説明するフローチャートである。まずS5301で、微小画像上の目頭位置と目尻位置を通る直線HPを算出する。次いでS5302で、円弧状ラインから直線HPまでの垂線の長さを算出する。S5303で、垂線の長さが最大となる円弧状ライン上の点の位置をピーク位置とする。
【0072】
[顔の方向角θfの検出処理](S54)
図12,図19に示すように顔を正面に向けている場合、円弧状ラインのピーク位置は眼のほぼ中心位置にあり、ピーク位置から目頭位置までの距離L2とピーク位置から目尻位置までの距離L1はほぼ等しくなる。
【0073】
次いで、図20に示すように顔が左(画像中右)を向いている場合には、図21に示すように、左目(画像中右側の眼)の円弧状ラインのピーク位置から目頭位置までの距離L2は大きくなり、ピーク位置から目尻位置までの距離L1は小さくなる。L1とL2の関係をL2/L1というパラメータで表すと正面に顔がある場合はL2/L1は1となる。顔を右側に向けていくとL2/L1は次第に小さくなっていき、顔がカメラに対して真横を向いた時(顔が90度右向いたとき)に円弧状ラインのピーク位置は目尻側に寄り、L2の長さは0となるのでL2/L1は0となる。
【0074】
ただし、実際は顔の向きが右45度程度を越えた後は右目は顔の陰に隠れてカメラには写らなくなるため、本来の処理においては両目を監視する。眼に斜視などの異常がなければ、左右両眼とも眼球は同様に動くので、顔画像データである全体画像G上で一方の眼が見えないときは、他方の眼のデータで処理を行う。
【0075】
反対に顔が左側を向いていくとL2/L1は次第に大きくなっていき、顔がカメラに対して真横を向いた時(顔が90度左向いたとき)に円弧状ラインのピーク位置は目頭側に寄りL1の長さは0となるのでL2/L1は無限大となる。
【0076】
この関係を示したグラフを図22に示す。このグラフを参照することにより、L2/L1から顔の向き(顔の方向角)θfを求めることができる。ここで、顔の向きは、正面を向いた時を0度とし、右向き(画像上左向き)を正、左向き(画像上右向き)を負の角度としている。
【0077】
図17(b)は、図15の「顔の方向角θfの検出処理」S54を示すフローチャートである。まずS5401で、目頭から円弧状ラインのピーク位置までのX方向の距離L2を算出する。S5402で、目尻から円弧状ラインのピーク位置までのX方向の距離L1を算出する。5403で、L2/L1を算出し、L2/L1から図22のようなマップを検索して、顔の方向角θfを求める。
【0078】
ここで例示した顔の向き検出処理は一例であり、この方法のほかにも両目の間隔から顔の向きを検出する方法などが公知である。
【0079】
[円弧状ラインのピーク位置検出処理](S6)
図3の「円弧状ラインのピーク位置検出処理」S6は、「顔の向きの検出処理」S5中の「円弧状ラインのピーク位置検出処理」S53と同様にして行う。「顔の向き検出処理」を本実施形態で説明した方法で処理した場合は、「顔の向き検出処理」S5で検出された結果をメモリ上に残しておき、それを呼び出すことで円弧状ラインのピーク位置を得ることができる。
【0080】
[瞳位置の検出処理I](S7a)
図3の「瞳位置の検出処理」S7の第1の方法について図23(a)のフローチャートと図25(a)とを用いて説明する。
【0081】
図18(d)で説明したように、眼の外周輪郭ラインの下凸となった部分が瞳であるので、図25(a)に示すように、眼全体でみると上側ラインと下側ラインの最も間隔が広い部分の中点(2等分点)を瞳位置とする。なお、平面座標として瞳位置を検出する場合は横方向の瞳位置の座標位置を上記方法で求めた後、その位置での上側ラインと下側ラインの中点を縦方向の瞳位置の座標を用いることができる。
【0082】
まず、S71において、先の「眼の位置特定処理」S3によって特定された眼位置を中心とした微小画像である眼画像MGiを呼び出す。次いでS72で眼の外周輪郭のラインを検出する。次いで、S73で、眼の外周輪郭の上側ラインと下側ラインの最も間隔が広い部分の中点(2等分点)を瞳位置とする。
【0083】
「顔の向き検出処理」を本実施形態で説明した方法で処理した場合は、「顔の向き検出処理」S5で検出された結果をメモリ上に残しておき、それを呼び出すことで外周輪郭のラインを得ることができる。また、顔の向き検出処理を本実施形態で説明した方法以外の公知の方法で行った場合は「顔の向き検出処理」S5中の「眼の外周輪郭の検出処理」S51で説明した方法を行うことで、外周輪郭のラインを新たに得ることができる。
【0084】
なお、平面座標として瞳位置を検出する場合は横方向の瞳位置の座標位置を上記方法で求めた後、その位置での上側ラインと下側ラインの中点を縦方向の瞳位置の座標を用いることができる。
【0085】
[瞳位置の検出処理II](S7b)
図3の「瞳位置の検出処理」S7の第2の方法について図23(b)のフローチャートと図25(b)を用いて説明する。
【0086】
検出された眼の外周輪郭のラインで上側ラインは上凸形状のラインとなり、下側ラインは上凸のラインと下凸のラインの組み合わせによって構成されている。通常は眼の両側では上凸となり、ラインの真ん中で大きく下凸となる。第2の方法では、図25(b)に示すように下側ラインの上凸ラインから下凸ラインへと変化する変曲点を2つ検出し、これら検出した2つの変曲点を結んだ線分の中点位置を瞳位置とする。
【0087】
図23(b)において、まず第1の方法と同様にS71,S72で眼の外周輪郭の検出を行う。次いでS75で、眼の外周輪郭ラインの下側ラインの上凸ラインから下凸ラインへと変化する変曲点を2つ検出する。次いで、S76で、これら2つの変曲点を結んだ線分の中点位置を瞳位置とする。
【0088】
ただし、瞳が大きく左右のどちら側かによっている場合や画像の状態がよくなく目頭側もしくは目尻側のどちら側が二値化処理の段階で欠損するような場合もある。この場合は目頭側もしくは目尻側のいずれかの上凸ラインが消えて、消えた方の上凸ラインの変曲点が抽出できない場合がある。その場合は片側の変曲点と、変曲点が抽出できなかった側の端部を結んだ線分の中点位置を瞳位置とすることができる。なお、平面座標として瞳位置を検出する場合は横方向の瞳位置の座標位置を上記方法で求めた後、その位置での上側ラインと下側ラインの中点を縦方向の瞳位置の座標を用いることができる。
【0089】
[瞳位置の検出処理III ](S7c)
図3の「瞳位置の検出処理」S7の第3の方法について図24(a)のフローチャートと図25(c)とを用いて説明する。
【0090】
第3の方法では、図25(c)に示すように微小画像の中から楕円成分を抽出して、その楕円の中心を瞳位置として検出する。
【0091】
図24(a)において、まず第1の方法と同様にS71,S72で眼の外周輪郭の検出を行う。次いで、S77で眼の外周輪郭から楕円成分を抽出する。S78で楕円の中心を瞳位置とする。S77の楕円成分の抽出方法には、ハフ変換や画像処理による領域分割や最小二乗法による楕円方程式への近似などがある(参考「マルチカメラによる視線検出のための顔部品抽出」第6回画像センシングシンポジウム講演論文集P347の瞳抽出方法)。
【0092】
[眼球の回転角検出処理I](S8)
次に、図3の「眼球の回転角検出処理I」S8を説明する。この眼球の回転角検出処理は、「円弧状ラインのピーク位置検出処理」S6で求めたピーク位置と、「瞳位置の検出処理」S7で求めた瞳位置とを使用して、眼球の回転角θpを検出する。
【0093】
ここで、円弧状ラインのピーク位置から瞳の中心までの距離をL3とする。図19に示すように瞳が顔の正面方向を向いている場合は、瞳中心と円弧状ラインのピーク位置はほぼ一致するためL3は0となる。図26のように眼球を動かし顔の正面方向を見ていないときは図27(a)のように、L3の値(絶対値)は大きくなる。また、図20のように顔がカメラに対して正面を向いていない場合でも図21に示すように瞳が顔の正面方向を向いている場合は、瞳中心と円弧のピーク位置はほぼ一致するためL3は0となる。眼球を動かし顔の正面方向を見ていないときは図27(b)のように、L3の値(絶対値)は大きくなる。
【0094】
画像上顔の正面より右側に眼球を向けた時のL3の値を正とすると、L3と眼球の回転角θpとの関係は、L2/L1をパラメータとして、図28のようになる。従って、L3と、先に「顔の方向角θfの検出処理」S54で求めたL2/L1とから、図28に示したようなマップを参照することにより、眼球の回転角θpを求めることができる。なお、眼球の回転移動範囲は正面から左右約43度までの範囲である。
【0095】
図24(b)は、図3の「眼球の回転角検出処理」S8を説明するフローチャートである。まずS81で円弧状ラインのピーク位置から瞳の中心位置までの距離L3を算出する。次いで図28に示したようなマップを参照して、L2/L1とL3から眼球の回転角θpを求める。
【0096】
[視線方向の算出処理](S9)
次に、図3の「視線方向の算出処理」S9を図24(c)のフローチャートを参照して説明する。視線方向は、「顔の向き検出処理」S5で求めた顔の方向角θfと、「眼球の回転角検出処理I」S8で求めた眼球の回転角θpとを合成した方向であるので、S91で眼球の回転角θpと顔の方向角θfとを加算して視線方向とする。
【0097】
次に、上記の第1実施形態の効果を説明する。
【0098】
(イ)単に眼球の方向だけで視線方向を検出するのではなく、顔の向きと眼球の回転角から視線方向を検出しているので、視線方向を検出できるようになり、検出精度を一層向上させることができる。
【0099】
(ロ)眼球回転角検出手段として、顔画像の円弧状ラインを見つけそのピーク位置を検出する円弧状ラインピーク位置検出手段と、瞳の位置を検出する瞳位置検出手段とを備えて、瞳位置とピーク位置との距離から眼球回転角を検出しているため、視線位置の基本となる瞳を基準にして視線角度を検出できるようになり、検出精度を一層向上させることができる。また、円弧状ラインピーク位置から眼の中心位置を検出しているため、人間の顔の特徴を捉えてより正確な検出を行うことができる。
【0100】
(ハ)顔画像から眼の位置を特定する際に、顔画像から眼の候補位置を特定する眼の候補位置特定処理を行い、この部分を中心とした微小画像から眼か否かを判定しているため、演算処理量を少なくすることができ、処理を迅速に行うことができる。
【0101】
(ニ)目頭・目尻位置を検出する際に、眼の輪郭を検出し、輪郭から目頭・目尻位置を特定しているため、眼の形状に合わせた正確な検出を行うことができ、視線方向検出精度を一層向上させることができる。
【0102】
(ホ)瞳位置を検出する際に、眼の輪郭の縦方向に最も広い位置の中心を瞳の中心としたため、人体の眼の特徴に合わせて瞳位置の正確な検出を行うことができ、視線方向検出精度を一層向上させることができる。
【0103】
(へ)瞳位置を検出する際に、眼の輪郭の下側ラインの変曲点を2箇所検出し、その中心位置を瞳の中心位置としているため、単に眼の輪郭から決めるのでなく、黒目の要素も考慮して瞳位置の正確な検出を行うことができ、視線方向検出精度を一層向上させることができる。
【0104】
(ト)瞳位置を検出する際に、微小画像の楕円形状のオブジェクトの中心位置から瞳位置を決定しているため、眼の位置を正確に推定することができ、視線方向検出精度を一層向上させることができる。
【0105】
(チ)円弧状ラインのピーク位置検出において、円弧状ラインの高さが最も高い位置をピーク位置としているため、人体の特性に合わせた正確な眼の位置検出を行うことができ、視線方向検出精度を一層向上させることができる。
【0106】
(リ)円弧状ラインのピーク位置検出において、円弧状ラインの両端を結ぶ線分に対する円弧状ラインからの垂線の長さが最も長い位置をピーク位置としているため、ピーク位置の検出を正確に行うことができ、視線方向検出精度を一層向上させることができる。
【0107】
(ヌ)円弧状ラインを検出する顔部位として、上下の瞼、上下眼鏡フレーム、眉の何れかを用いたため、人体や装着品として特徴的な項目を用いることができ、円弧状ラインの検出を確実に行うことができ、視線方向検出精度を一層向上させることができる。
【0108】
(ル)瞳径検出において、微小画像から楕円状のオブジェクトを検出し、この楕円状オブジェクトの横径と縦径とを瞳の横径と縦径に見立てたため、瞳自体の径を計測する必要が無く、より簡易な構成で検出することができる。
【0109】
〔第2実施形態〕
図29は、本発明に係る視線方向検出装置の第2実施形態の構成を説明するブロック図である。同図において、視線方向検出装置は、顔画像を撮像する顔画像撮像手段CL1と、顔画像撮像手段CL1によって撮像された顔画像から画像上の眼の位置を特定する眼位置特定手段CL2と、顔画像撮像手段CL1によって撮像された顔画像から眼球の回転角を検出する眼球回転角検出手段CL4と、顔画像撮像手段CL1によって撮像された顔画像から顔の向きを検出する顔の向き検出手段CL3と、眼球回転角検出手段CL4によって検出された眼球の回転角と顔の向き検出手段CL3によって検出された顔の向きから視線方向を算出する視線方向算出手段CL5とを備えている。
【0110】
顔画像撮像手段CL1は、運転者またはオペレータ等の顔を撮像して顔画像データを出力するTVカメラ等の撮像手段である。眼位置特定手段CL2は、顔画像撮像手段CL1から出力された顔画像データを処理して、画像上の眼の位置を特定する。
【0111】
顔の向き検出手段CL3は、顔画像撮像手段CL1から出力された顔画像データを処理して顔画像撮像手段CL1の光軸ラインを正面とした顔の向きを検出する。
【0112】
眼球回転角検出手段CL4は、さらに瞳位置検出手段CL41と、円弧状ラインのピーク位置検出手段CL42と、瞳径検出手段CL43とを備えて構成されている。
【0113】
瞳位置検出手段CL41は、眼位置特定手段CL2で特定された眼の位置を中心とした微小画像を画像処理することによって瞳の位置を検出する。
【0114】
円弧状ラインのピーク位置検出手段CL42は、上瞼、下瞼、眉毛、眼鏡の上フレーム、眼鏡の下フレームなど視線の基準となる円弧状ラインの検出を行い、その中から円弧状ラインのピーク位置を求める。本実施形態では上瞼での場合のみ説明するが他の部位についても同様の処理を行うことで検出することができる。
【0115】
瞳径検出手段CL43は眼位置特定手段CL2で特定された眼の位置を中心とした微小画像を画像処理することによって画像上の瞳の横径および縦径を検出する。
【0116】
眼球回転角検出手段CL4は、瞳位置検出手段CL41で検出された瞳の位置と円弧状ラインのピーク位置検出手段CL42の円弧状ラインのピーク位置から瞳がピーク位置に対して左右どちら側にあるかを検出し、瞳のピーク位置に対する位置と瞳径検出手段CL43で検出された画像上の瞳の横径および縦径から眼球の回転角を検出する。
【0117】
[機器の配置]
本発明の機器の配置、顔画像撮像手段CL1としてTVカメラ1は第1実施形態と同じであるので省略する。
【0118】
マイクロコンピュータ2は、TVカメラ1から入力された画像データを記憶する画像メモリを備えている。さらにマイクロコンピュータ2には、この画像データを処理して視線方向を検出するために、眼位置特定手段CL2と、顔の向き検出手段CL3と、瞳位置検出手段CL41と、円弧状ラインピーク位置検出手段CL42と、瞳径検出手段CL43と、視線方向算出手段CL5とを実現するロジックがプログラミングされている。
【0119】
[システム全体の処理]
図30は、システムの全体の処理の流れを説明する概略フローチャートである。まず、処理が開始されると、S1で、「初期値入力」の処理が実行され、マイクロコンピュータの作業エリアの初期化や各種パラメータの初期値の設定が行われる。
【0120】
S2の「顔画像の撮像処理」ではTVカメラ1で顔画像を撮像し、マイクロコンピュータ2に画像データとして入力する。
【0121】
S3の「眼の位置特定処理」ではマイクロコンピュータ2に入力された画像データを画像処理することによって顔画像上の眼の位置を特定する。
【0122】
S4ではS3の出力結果をもとに顔画像上に眼が特定できればS4YES、S5へ処理を進め、顔画像上に眼が特定できなければS4NO、S2へ処理を戻し、眼が特定できるまでS2からS4までの処理を繰り返す。
【0123】
S6の「円弧状ラインピーク位置検出処理」では、S3で特定された眼の位置を中心とする顔画像の部分画像である微小画像(微小エリアとも呼ぶ)を画像処理することで微小画像上の円弧状ライン及びそのピーク位置を検出する。
【0124】
S7の「瞳位置の検出処理」では、S3で特定された眼の位置を中心とする微小エリアを画像処理することで画像上の瞳の位置を検出する。
【0125】
S5の「顔の向き検出処理」では、マイクロコンピュータ2に入力された画像データを画像処理することによって、顔画像撮像手段の光軸方向に対する画像上の顔の向きを検出する。
【0126】
S10の「瞳径の検出処理」では、S3で特定された眼の位置を中心とする微小エリアを画像処理することで画像上の瞳の横径と縦径を検出する。
【0127】
S11の「眼球の回転角検出処理II」では、S10で検出した画像上の瞳の横径と縦径とから眼球の回転角θpを検出する。
【0128】
S9の「視線方向の算出処理」では、S5で検出した顔の向きとS11で検出した眼球の回転角から視線方向を算出して処理を終了する。
【0129】
[眼の位置特定処理](S3)
第1実施形態の「眼の位置特定処理」S3と同じなので説明は省略する。
【0130】
[瞳位置の検出処理](S7)
第1実施形態の「瞳位置の検出処理」S7と同じなので説明は省略する。
【0131】
[円弧状ラインのピーク位置検出処理](S6)
第1実施形態の「円弧状ラインのピーク位置検出処理」S6、及び「顔の向き検出処理」中の「円弧状ラインのピーク位置検出処理」S53と同じなので説明は省略する。
【0132】
[顔の向き検出処理](S5)
第1実施形態の「顔の向き検出処理」S5と同じなので説明は省略する。
【0133】
[瞳径の検出処理](S10)
瞳径の検出処理方法について説明する。まず微小画像の中から楕円成分を抽出する。瞳位置の検出処理で第3の方法を用いている場合はそのときの検出結果をメモリに保存しておき、保存されている結果を呼び出すことで処理を簡素化することができる。瞳位置の検出処理で第3の方法以外の方法を用いている場合は、瞳位置検出処理で第3の方法と同様に、ハフ変換や画像処理による領域分割や最小二乗法による楕円方程式への近似などで楕円成分を微小画像の中から抽出する。次に抽出された楕円成分の縦径および横径を瞳の縦径と横径とする。
【0134】
図31(a)は、瞳径の検出処理を説明するフローチャートである。まずS71で眼画像MGiを呼び出す。次いでS72で眼の外周輪郭を検出する。S77で眼の外周輪郭から楕円成分を抽出する。S78で楕円の中心を瞳位置とする。S101で、楕円の縦径、横径の長さを求め、楕円の縦径を瞳の縦径、楕円の横径を瞳の横径とする。
【0135】
[眼球の回転角検出処理II](S11)
図32(a)、図32(b)はそれぞれ図20のような顔をカメラの光軸正面から画像内の方向で右方向に顔を向けた場合で瞳が顔の正面を見ている場合と瞳が顔の正面に対して画像上で左方向を見ている場合を示している。
【0136】
この図からわかるように、瞳がカメラ正面にある場合が横径が最も広くなり、カメラ正面から左右に離れるに従って横径が小さくなり、画像上の瞳の形状は縦長になっていく。この傾向は顔がカメラ正面を見ている場合よりカメラの光軸正面に対して左右方向に大きく向けるほど大きくなっていく。顔の向きがある程度カメラの光軸正面に対して大きく左右に向けられると、顔を向けた方向と同じ方向に眼球を動かしていくと瞳の画像上の横径は細くなっていき、最後はカメラの視界から消えてしまう。
【0137】
瞳の横径をLH、瞳の縦径をLVとし、瞳の画像上の形状を縦長比LV/LHで表すと縦長比LV/LHと眼球の回転角θpとの間には図33のような関係が得られる。これにより眼のピーク位置に対する瞳の位置と瞳の画像上の形状を縦長比LV/LHから眼球の回転角θpを求めることができる。
【0138】
図31(b)は、「眼球の回転角検出処理II」S11を説明する詳細フローチャートである。まずS111で瞳の縦径LV、瞳の横径LHから、縦横比LV/LHを算出する。次いでS112で縦横比LV/LHと、顔の向き検出処理で求めたL2/L1とから図33のようなマップを参照して、眼球の回転角θpを求める。
【0139】
[視線方向の算出処理](S9)
第1実施形態の「視線方向の算出処理」S9と同じなので説明は省略する。
【0140】
次に、上記の第2実施形態の効果を説明する。
【0141】
眼球回転角検出手段として、瞳の横径と縦径を検出する瞳径検出手段を備え、瞳の横径と縦径との比に基づき眼球の回転角を検出しているため、瞳の動きに忠実に視線変化を検出することができ、この点で精度をより向上することができる。
【0142】
〔第3実施形態〕
[システムブロック図]
図34は、本発明に係る視線方向検出装置の第3実施形態の構成を説明するブロック図である。同図において、視線方向検出装置は、顔画像を撮像する顔画像撮像手段CL1と、顔画像撮像手段CL1によって撮像された顔画像から画像上の眼の位置を特定する眼位置特定手段CL2と、顔画像撮像手段CL1によって撮像された顔画像から眼球の回転角を検出する第1の眼球回転角検出手段CL4Aと、顔画像撮像手段CL1によって撮像された顔画像から眼球の回転角を検出する第2の眼球回転角検出手段CL4Bと、顔画像撮像手段CL1によって撮像された顔画像から顔の向きを検出する顔の向き検出手段CL3と、眼球回転角検出手段CL4AまたはCL4Bによって検出された眼球の回転角と顔の向き検出手段CL3によって検出された顔の向きから視線方向を算出する視線方向算出手段CL5とを備えている。
【0143】
顔画像撮像手段CL1は、運転者またはオペレータ等の顔を撮像して顔画像データを出力するTVカメラ等の撮像手段である。眼位置特定手段CL2は、顔画像撮像手段CL1から出力された顔画像データを処理して、画像上の眼の位置を特定する。
【0144】
顔の向き検出手段CL3は、顔画像撮像手段CL1から出力された顔画像データを処理して顔画像撮像手段CL1の光軸ラインを正面とした顔の向きを検出する。
【0145】
第1の眼球回転角検出手段CL4Aは、瞳位置検出手段CL41と円弧状ラインのピーク位置検出手段CL42とを備えて構成されている。
【0146】
第2の眼球回転角検出手段CL4Bは、瞳位置検出手段CL41と、目頭・目尻位置検出手段CL44とを備えて構成されている。
【0147】
言い換えれば、第1、第2の眼球回転角検出手段CL4A及びCL4Bは、瞳位置検出手段CL41を共有している。
【0148】
なお、第1、第2の眼球回転角検出手段CL4A、CL4Bのいずれを用いるかは、顔の向き検出手段CL3の検出結果により、顔が正面を向いていれば第2の眼球回転角検出手段CL4Bを用い、正面を向いていなければ第1の眼球回転角検出手段CL4Aを用いる。
【0149】
瞳位置検出手段CL41は、眼位置特定手段CL2で特定された眼の位置を中心とした微小画像を画像処理することによって瞳の位置を検出する。
【0150】
円弧状ラインのピーク位置検出手段CL42は、上瞼、下瞼、眉毛、眼鏡の上フレーム、眼鏡の下フレームなど視線の基準となる円弧状ラインの検出を行い、その中から円弧状ラインのピーク位置を求める。本実施形態では上瞼での場合のみ説明するが他の部分についても同様の処理を行うことで検出することができる。
【0151】
目頭・目尻位置検出手段CL44は、眼位置特定手段CL2で特定された眼の位置を中心とした微小画像を画像処理することによって目尻と目頭の位置を検出する。
【0152】
[機器の配置]
本発明の機器の配置、顔画像撮像手段CL1としてTVカメラ1は第1実施形態と同じであるので省略する。
【0153】
マイクロコンピュータ2は、TVカメラ1から入力された画像データを記憶する画像メモリを備えている。さらにマイクロコンピュータ2には、眼位置特定手段CL2と、顔の向き検出手段CL3と、瞳位置検出手段CL41と、円弧状ラインのピーク位置検出手段CL42と、目頭・目尻位置検出手段CL44と、視線方向算出手段CL5とを実現するロジックがプログラミングされている。
【0154】
[システム全体の処理]
図35は、システムの全体の処理の流れを説明する概略フローチャートである。まず、処理が開始されると、S1で、「初期値入力」の処理が実行され、マイクロコンピュータの作業エリアの初期化や各種パラメータの初期値の設定が行われる。
【0155】
S2の「顔画像の撮像処理」ではTVカメラ1で顔画像を撮像し、マイクロコンピュータ2に画像データとして入力する。
【0156】
S3の「眼の位置特定処理」ではマイクロコンピュータ2に入力された画像データを画像処理することによって顔画像上の眼の位置を特定する。
【0157】
S4ではS3の出力結果をもとに顔画像上に眼が特定できればS4YES、S5へ処理を進め、顔画像上に眼が特定できなければS4NO、S2へ処理を戻し、眼が特定できるまでS2からS4までの処理を繰り返す。
【0158】
S5の「顔の向き検出処理」では、マイクロコンピュータ2に入力された画像データを画像処理することによって、顔画像撮像手段の光軸方向に対する画像上の顔の向きを検出する。
【0159】
S7の「瞳位置の検出処理」では、S3で特定された眼の位置を中心とする微小エリアを画像処理することで画像上の瞳の位置を検出する。
【0160】
S12では、S5の結果をもとに顔が画像上の正面を向いているか否かを判定する。顔が画像上の正面を向いている場合S12YESは、S13に処理を進め、顔が画像上の正面を向いていない場合S12NOは、S6に処理を進める。
【0161】
S13の「目頭・目尻位置の検出処理」では、S3で特定された眼の位置を中心とする微小エリアを画像処理することで画像上の目頭・目尻位置を検出する。
【0162】
S14の「眼球の回転角検出処理」では、S7で検出された瞳の位置とS13で検出された目尻・目頭位置から眼球の回転角(=視線方向)を算出し、処理を終了する。
【0163】
S6の「円弧状ラインのピーク位置検出処理」では、S3で特定された眼の位置を中心とする微小エリアを画像処理することで画像上の円弧状ラインのピーク位置を検出する。
【0164】
S8の「眼球の回転角検出処理I」では、S6で検出された円弧状ラインのピーク位置とS7で検出された瞳の位置から眼球の回転角θpを検出する。
【0165】
S9の「視線方向の算出処理」では、S5で検出された顔の向きθfとS8で検出された眼球の回転角θpとを加算したものを視線方向として処理を終了する。
【0166】
[眼の位置特定処理](S3)
第1実施形態の「眼の位置特定処理」S3と同じなので説明は省略する。
【0167】
[顔の向き検出処理](S5)
第1実施形態の「顔の向き検出処理」S5と同じなので説明は省略する。
【0168】
[瞳位置の検出処理](S7)
第1実施形態の「瞳位置の検出処理」S7と同じなので説明は省略する。
【0169】
[目頭・目尻位置の検出処理](S13)
第1実施形態の「眼の目頭・目尻の検出」S52と同じなので説明は省略する。
【0170】
[眼球の回転角(=視線方向)の検出処理](S14)
図36は、眼球の左右回転運動を模式的に示す平面図である。眼球の回転中心は角膜頂点から約13.6mm後方にあり、移動範囲は正面から左右約43度である。このことから瞳が左右端位置にある場合、正面から12.6mm動いていることになる。
【0171】
図37(a)、図37(b)に示すように目頭位置から瞳位置までの距離をLS、瞳位置から目尻位置までの距離をLEとしたときに、眼球の回転角θpとすると、
【数2】
θp=tan-1 {12.6/13.6*(LS+LE)(LS-LE)} …(2)
式(2)で眼球の回転角θpを求めることができる。この場合顔の向きが正面であるので、この眼球の回転角θpそのものが視線方向となる。
【0172】
[円弧状ラインのピーク位置検出処理](S6)
第1実施形態の[円弧状ラインのピーク位置の検出処理]と同じなので説明は省略する。
【0173】
[眼球の回転角検出処理I](S8)
第1実施形態の「眼球の回転角検出処理I」S8と同じなので説明は省略する。
【0174】
[視線方向の算出処理](S9)
第1実施形態の「視線方向の算出処理」S9と同じなので説明は省略する。
【0175】
次に、上記の第3実施形態の効果を説明する。
【0176】
(イ)顔の向き検出において、顔画像から円弧状ラインのピーク位置を検出する円弧状ライン検出手段と顔画像から目頭位置と目尻位置とを検出する目頭・目尻位置検出手段とを備え、目尻と目頭のピーク位置からの距離の比を算出しているため、複数の情報を取り込んだ分より精度を向上させることができる。
【0177】
(ロ)眼球回転角検出において、画像上の目頭位置と画像上の目尻位置を検出する目頭・目尻位置検出手段と、画像上の瞳の位置とを検出する瞳位置検出手段と、を備え、顔の撮像画像が正面を向いているときに、画像上の目頭位置と目尻位置と瞳位置から眼球の回転角を検出し、この眼球の回転角を視線方向とするようにしたので、目頭位置と目尻位置を正確に検出することができ、これにより視線方向の検出精度を一層向上させることができる。
【図面の簡単な説明】
【図1】本発明に係る視線方向検出装置の第1実施形態の構成を説明するブロック図である。
【図2】本発明に係る視線方向検出装置を車両の運転者に適用した場合の配置図である。
【図3】第1実施形態における視線方向検出処理の全体を示す概略フローチャートである。
【図4】眼の位置特定処理を示す詳細フローチャートである。
【図5】眼の候補の位置の特定処理を示す詳細フローチャートである。
【図6】眼のテンプレートを用いた眼の位置検出の説明図である。
【図7】眼の存在領域の大きさを示す説明図である。
【図8】眼の横方向の長さの統計図である。
【図9】眼の縦方向の長さの統計図である。
【図10】眼の存在領域の位置を決める説明図である。
【図11】眼判定処理を示す詳細フローチャートである。
【図12】微小画像IG抽出の説明図である。
【図13】二値化閾値の求め方の説明図である。
【図14】眼のテンプレートを用いた眼の位置検出の説明図である。
【図15】顔の向き検出処理を示すフローチャートである。
【図16】(a)眼の外周輪郭の検出処理を示す詳細フローチャートである。
(b)眼の目頭・目尻の検出処理を示す詳細フローチャートである。
【図17】(a)円弧状ラインのピーク位置検出処理を示す詳細フローチャートである。
(b)顔の方向角θfの検出処理を示す詳細フローチャートである。
【図18】眼の輪郭線を画像処理によって抽出する方法の概略説明図である。
【図19】目頭・目尻、円弧状ラインのピーク位置、及び瞳位置の相互位置関係を示す説明図である。
【図20】顔が画像上右側を向いた時の説明図である。
【図21】顔が画像上右側を向いた時の円弧状ラインのピーク位置、目頭・目尻位置、瞳の位置の相互関係の説明図である。
【図22】顔の向きθfと、円弧状ラインのピーク位置と目頭・目尻位置の距離の比L2/L1の関係を示す図である。
【図23】(a)瞳位置の検出処理Iを示す詳細フローチャートである。
(b)瞳位置の検出処理IIを示す詳細フローチャートである。
【図24】(a)瞳位置の検出処理IIIを示す詳細フローチャートである。
(b)眼球の回転角検出処理Iを示す詳細フローチャートである。
(c)視線方向の算出処理を示す詳細フローチャートである。
【図25】瞳の中心位置を求める方法の説明図である。
【図26】眼球を動かしたときの顔画像の説明図である。
【図27】眼球を動かしたときの微小画像上の円弧状ラインのピーク位置の変化を説明する図である。
【図28】円弧状ラインのピーク位置と瞳の位置との距離と、眼球の回転角θpとの関係を示す図である。
【図29】本発明に係る視線方向検出装置の第2実施形態の構成を説明するブロック図である。
【図30】第2実施形態における視線方向検出処理の全体を示す概略フローチャートである。
【図31】(a)瞳径の検出処理を示す詳細フローチャートである。
(b)眼球の回転角検出処理IIを示す詳細フローチャートである。
【図32】瞳径を求める説明図である。
【図33】瞳の縦径と横径の比LV/LHと眼球の回転角θpとの関係を示す図である。
【図34】本発明に係る視線方向検出装置の第3実施形態の構成を説明するブロック図である。
【図35】第3実施形態における視線方向検出処理の全体を示す概略フローチャートである。
【図36】眼球の左右の動きを説明する平面図である。
【図37】瞳位置と目尻・目頭位置の説明図である。
【符号の説明】
CL1…顔画像撮像手段
CL2…眼位置特定手段
CL3…顔の向き検出手段
CL4…眼球回転角検出手段
CL41…瞳位置検出手段
CL42…円弧状ラインピーク位置検出手段
CL5…視線方向算出手段
Claims (13)
- 顔画像を撮像する顔画像撮像手段と、
前記顔画像から画像上の眼の位置を特定する眼位置特定手段と、
前記顔画像及び前記特定された眼の位置から眼球の回転角を検出する眼球回転角検出手段と、
前記顔画像から顔の向きを検出する顔の向き検出手段と、
眼球回転角検出手段によって検出された眼球の回転角と顔の向き検出手段によって検出された顔の向きから視線方向を算出する視線方向算出手段と、
を備え、
前記顔の向き検出手段は、
前記眼位置特定手段によって特定された位置を中心とした前記顔画像中に上凸もしくは下凸の円弧状のラインを見つけ、その円弧状ラインの画像上の上凸もしくは下凸のピーク位置を検出する円弧状ラインピーク位置検出手段と、
前記顔画像の中で画像上の目頭位置と画像上の目尻位置を検出する目頭・目尻位置検出手段と、を備え、
前記円弧状ラインピーク位置検出手段が検出した前記ピーク位置と、前記目頭・目尻位置検出手段が検出した前記目頭位置及び前記目尻位置に基づいて、目頭位置からピーク位置までの距離と目尻位置からピーク位置までの距離とをそれぞれ算出し、
算出された目頭位置からピーク位置までの距離と目尻位置からピーク位置までの距離との比から顔の向きを算出することを特徴とする視線方向検出装置。 - 前記眼球回転角検出手段は、
前記眼位置特定手段によって特定された位置を中心とした前記顔画像中に上凸もしくは下凸の円弧状のラインを見つけ、その円弧状ラインの画像上の上凸もしくは下凸のピーク位置を検出する円弧状ラインピーク位置検出手段と、
前記微小画像の中で画像上の目頭位置と画像上の瞳の位置とを検出する瞳位置検出手段と、を備え、
前記円弧状ラインピーク位置検出手段が検出した前記ピーク位置と、前記瞳位置検出手段が検出した前記瞳の位置に基づいて、瞳位置とピーク位置との距離を算出し、その距離から眼球の回転角を検出することを特徴とする請求項1に記載の視線方向検出装置。 - 前記眼球回転角検出手段は、
前記顔画像の中で画像上の瞳の横径と縦径を検出する瞳径検出手段を備え、
該瞳径検出手段によって検出された画像上の瞳の横径と縦径との比に基づいて眼球の回転角を検出することを特徴とする請求項1に記載の視線方向検出装置。 - 前記眼球回転角検出手段は、
前記眼位置特定手段によって特定された位置を中心とした前記顔画像中で画像上の目頭位置と画像上の目尻位置を検出する目頭・目尻位置検出手段と、
前記微小画像の中で画像上の目頭位置と画像上の瞳の位置とを検出する瞳位置検出手段と、を備え、
前記顔の向き検出手段が検出した顔の向きが前記顔画像撮像手段の光軸正面方向になっている場合には、
前記眼球回転角検出手段は、目頭・目尻位置検出手段が検出した画像上の目頭位置と目尻位置と瞳位置検出手段が検出した画像上の瞳位置から眼球の回転角を検出し、
前記視線方向算出手段は、前記眼球回転角検出手段が検出した眼球の回転角を前記視線方向とすることを特徴とする請求項1に記載の視線方向検出装置。 - 前記眼位置特定手段は、
前記顔画像から眼の候補の位置を特定する眼の候補の位置の特定処理と、
該眼の候補の位置の特定処理によって特定された眼の候補の位置を中心とした微小画像を画像処理することによって、その眼の候補の位置が眼か否かを判断する眼判定処理と、
を備えたことを特徴とする請求項1に記載の視線方向検出装置。 - 前記目頭・目尻位置検出手段は、
前記顔画像から眼の輪郭を検出し、検出した眼の輪郭の両端位置を目頭位置および目尻位置とすることを特徴とする請求項1に記載の視線方向検出装置。 - 前記瞳位置検出手段は、
前記顔画像から眼の輪郭を検出し、検出した眼の輪郭の縦方向に最も広い位置の中心を瞳の中心位置とすることを特徴とする請求項2に記載の視線方向検出装置。 - 前記瞳位置検出手段は、
前記顔画像から眼の輪郭を検出し、
検出した眼の輪郭のうち下側のラインにおいて上凸から下凸へと変化する変曲点を2カ所検出し、
検出された2カ所の変曲点の中点位置を瞳の中心位置とすることを特徴とする請求項2に記載の視線方向検出装置。 - 前記瞳位置検出手段は、
前記顔画像から楕円状のオブジェクトを抽出し、該楕円状オブジェクトの中心位置を瞳の中心位置とすることを特徴とする請求項2に記載の視線方向検出装置。 - 前記円弧状ラインピーク位置検出手段は、
円弧状ラインの高さが最も高い場所を円弧状ラインピーク位置とすることを特徴とする請求項1または請求項2に記載の視線方向検出装置。 - 前記円弧状ラインピーク位置検出手段は、
前記円弧状ラインの両端点を結んだ線分に対して該円弧状ライン上のある点からへ降ろした垂線の長さが最も長い点を円弧状ラインピーク位置とすることを特徴とする請求項1または請求項2に記載の視線方向検出装置。 - 前記円弧状ラインピーク位置検出手段は、
円弧状のラインとして検出する顔部位として、上瞼または下瞼または眼鏡フレームの上側または眼鏡フレームの下側または眉とすることを特徴とする請求項1または請求項2に記載の視線方向検出装置。 - 前記瞳径検出手段は、
前記顔画像から楕円状のオブジェクトを抽出し、該楕円状オブジェクトの横径と縦径とを画像上の瞳のそれぞれ横径と縦径とすることを特徴とする請求項3に記載の視線方向検出装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002070187A JP3797253B2 (ja) | 2002-03-14 | 2002-03-14 | 視線方向検出装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002070187A JP3797253B2 (ja) | 2002-03-14 | 2002-03-14 | 視線方向検出装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003271932A JP2003271932A (ja) | 2003-09-26 |
JP3797253B2 true JP3797253B2 (ja) | 2006-07-12 |
Family
ID=29200828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002070187A Expired - Fee Related JP3797253B2 (ja) | 2002-03-14 | 2002-03-14 | 視線方向検出装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3797253B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2149856A2 (en) | 2008-07-29 | 2010-02-03 | Hitachi CO., LTD. | Image information processing method and apparatus |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4088282B2 (ja) * | 2004-08-20 | 2008-05-21 | 清実 中村 | コンピュータ入力方法と装置 |
JP4452833B2 (ja) * | 2006-03-31 | 2010-04-21 | 国立大学法人静岡大学 | 視線移動検出方法及び視線移動検出装置 |
JP4826506B2 (ja) * | 2007-02-27 | 2011-11-30 | 日産自動車株式会社 | 視線推定装置 |
JP4998364B2 (ja) * | 2008-04-28 | 2012-08-15 | オムロン株式会社 | 視線検出装置および方法、並びに、プログラム |
JP2010020594A (ja) * | 2008-07-11 | 2010-01-28 | Kddi Corp | 瞳画像認識装置 |
JP4962470B2 (ja) * | 2008-10-23 | 2012-06-27 | 株式会社デンソー | 眼領域検出装置、及びプログラム |
JP2010134489A (ja) * | 2008-12-02 | 2010-06-17 | Omron Corp | 視線検出装置および方法、並びに、プログラム |
JP5714951B2 (ja) * | 2011-03-22 | 2015-05-07 | パナソニック株式会社 | 両眼瞳孔検査装置 |
KR20190020779A (ko) * | 2016-06-23 | 2019-03-04 | 가부시키가이샤 가이아 시스템 솔루션 | 인게이지먼트값 처리 시스템 및 인게이지먼트값 처리 장치 |
KR102114763B1 (ko) * | 2018-05-17 | 2020-05-25 | 고려대학교산학협력단 | 사용자 단말 및 사용자 단말에 설치된 어플리케이션을 이용한 눈 움직임 정보 제공 방법 |
KR102112408B1 (ko) * | 2018-09-04 | 2020-05-18 | 한양대학교 산학협력단 | 안구운동 분석 시스템 및 방법 |
JP2021019943A (ja) * | 2019-07-29 | 2021-02-18 | 株式会社デンソー | サッカード検出装置、サッカード検出方法、サッカード検出プログラム |
CN111767820A (zh) * | 2020-06-23 | 2020-10-13 | 京东数字科技控股有限公司 | 对象被关注的识别方法、装置、设备及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3293308B2 (ja) * | 1994-03-10 | 2002-06-17 | 三菱電機株式会社 | 人物状態検出装置 |
JP2600114B2 (ja) * | 1994-11-28 | 1997-04-16 | 工業技術院長 | ノイズに強い正確な楕円近似による計測方法 |
JP3272584B2 (ja) * | 1995-09-19 | 2002-04-08 | シャープ株式会社 | 領域抽出装置及びそれを用いた方向検出装置 |
JP3500891B2 (ja) * | 1997-02-24 | 2004-02-23 | 日産自動車株式会社 | 居眠り状態検出装置 |
JP3465566B2 (ja) * | 1997-12-25 | 2003-11-10 | 日産自動車株式会社 | 眼位置検出装置 |
JP2000137792A (ja) * | 1998-10-30 | 2000-05-16 | Toyota Motor Corp | 眼部検出装置 |
-
2002
- 2002-03-14 JP JP2002070187A patent/JP3797253B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2149856A2 (en) | 2008-07-29 | 2010-02-03 | Hitachi CO., LTD. | Image information processing method and apparatus |
Also Published As
Publication number | Publication date |
---|---|
JP2003271932A (ja) | 2003-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3797253B2 (ja) | 視線方向検出装置 | |
JP6930223B2 (ja) | 瞳孔検出用コンピュータプログラム、瞳孔検出装置及び瞳孔検出方法 | |
JP4307496B2 (ja) | 顔部位検出装置及びプログラム | |
US7801335B2 (en) | Apparatus and methods for detecting the presence of a human eye | |
CN108764058B (zh) | 一种基于热成像效应的双摄像头人脸活体检测方法 | |
US20100054548A1 (en) | Apparatus for detecting a pupil, program for the same, and method for detecting a pupil | |
JP2017182739A (ja) | 視線検出装置、視線検出方法及び視線検出用コンピュータプログラム | |
JP3143819B2 (ja) | まぶたの開度検出装置 | |
JP4912206B2 (ja) | 画像処理方法、画像処理装置、画像処理システム及びコンピュータプログラム | |
CN110889355B (zh) | 一种人脸识别校验方法、系统及存储介质 | |
JPH0944685A (ja) | 顔画像処理装置 | |
JP3926507B2 (ja) | 目位置及び顔位置検出装置 | |
JP4706197B2 (ja) | 対象決定装置及び撮像装置 | |
JP2003150942A (ja) | 目位置追跡方法 | |
JP6855872B2 (ja) | 顔認識装置 | |
JP2018205819A (ja) | 注視位置検出用コンピュータプログラム、注視位置検出装置及び注視位置検出方法 | |
US11657592B2 (en) | Systems and methods for object recognition | |
JP4151341B2 (ja) | 顔状態検出装置 | |
KR20030034258A (ko) | 홍채와 망막을 이용한 신원 확인시스템과 방법 및 그방법에 대한 컴퓨터 프로그램 소스를 저장한 기록매체 | |
CN111738241B (zh) | 基于双摄像头的瞳孔检测方法及装置 | |
JP2023503781A (ja) | 眼底画像認識方法及び装置並びに設備 | |
JP2018088236A (ja) | 画像処理装置、画像処理方法および画像処理プログラム | |
JP2021064154A (ja) | 障害物識別装置および障害物識別プログラム | |
JP4996943B2 (ja) | 顔特徴点検出装置、顔特徴点検出方法及びプログラム | |
CN110310235B (zh) | 眼底图像处理方法、装置及设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040326 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051222 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060104 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060228 |
|
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: 20060328 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060410 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090428 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100428 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110428 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |