JP3582324B2 - Eye position detector - Google Patents
Eye position detector Download PDFInfo
- Publication number
- JP3582324B2 JP3582324B2 JP25379097A JP25379097A JP3582324B2 JP 3582324 B2 JP3582324 B2 JP 3582324B2 JP 25379097 A JP25379097 A JP 25379097A JP 25379097 A JP25379097 A JP 25379097A JP 3582324 B2 JP3582324 B2 JP 3582324B2
- Authority
- JP
- Japan
- Prior art keywords
- curve data
- eye
- area
- reduced
- data
- 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
Landscapes
- Length Measuring Devices By Optical Means (AREA)
- Auxiliary Drives, Propulsion Controls, And Safety Devices (AREA)
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、ミラー、シートを自動制御するためや、ドライバの目の開閉状態から居眠り運転状態を検出するために必要な眼の位置の特定に用いることができる眼位置検出装置に関する。
【0002】
【従来の技術】
従来の運転者等の眼位置検出装置としては、例えば特開平7−181012号に記載されたようなものがある。
【0003】
この眼位置検出装置は、ドライバの前方に設置したカメラで撮影した濃淡画像データの二値化処理を行い、二値化画像において濃度投影、ラベリング処理等を行うことで眼の位置を検出する構成となっている。
【0004】
又、濃淡画像を対象とした眼位置検出装置としては、特願平8−101904号に記載されたようなものがある。
【0005】
この眼位置検出装置は、顔の縦方向の画素列に沿って画素の濃度を検出し、前記画素列における濃度の局所的な高まりごとに1個ずつの要素を定めて抽出点とし、隣接する画素列の画素列方向に近接した抽出点を連結して顔の横方向に伸びる曲線データから眼の位置を検出する構成となっている。
【0006】
【発明が解決しようとする課題】
しかしながら、上記の眼位置検出装置では、図23に示すように眼位置検出対象者の背景に当たる部分に模様(例えば、リヤウインドウから見える景色が写ってできる模様など)があった場合、眼や眉、鼻の穴などのデータに加え背景の模様によるデータが数多く出現し、眼を検出する選択式が非常に複雑になるだけでなく、眼の位置検出精度も低下するという問題点があった。
【0007】
又、濃淡画像を対象とした眼位置検出装置でも、図24に示すように背景の模様による曲線データが数多く出現するのに変わりはなく、やはり同一の問題点があった。
【0008】
この発明は、眼の位置検出対象者の背景の部分にノイズとなる模様などが、数多く存在しても眼の位置の検出精度を保つことのできる装置を提供することを目的としている。
【0009】
【課題を解決するための手段】
請求項1の発明は、顔を含んだ画像データを入力する画像入力手段と、前記入力された画像データを複数個に分割して複数個の眼の検索領域を設定する眼の検索領域設定手段と、前記各眼の検索領域を順に切り替える眼の検索領域変更手段と、前記順に切り替える眼の検索領域のそれぞれで顔の縦方向の画素列に沿って画素の濃度を検出し、画像内の明暗のうち暗い側を明るい側よりも濃度値が低くなるように規定した場合に、前記画素列上の濃度値の低い側のピークの直前の濃度変化の微分値が判定基準値以下であることを条件に濃度値の低い側のピークの画素を特定して抽出点とするポイント抽出手段と、前記抽出点が画素列方向に連続して顔の横方向に伸びる曲線データを抽出可能な曲線データ抽出手段と、前記眼の検索領域で曲線データの有無を確認する曲線データ確認手段と、前記曲線データ確認手段により曲線データが確認されなかった場合に前記複数個に分割した他の眼の検索領域に変更すべく前記眼の検索領域変更手段に出力する検索領域変更指令手段と、前記曲線データ確認手段により曲線データが確認された場合に前記眼の検索領域内の曲線データの相対位置関係より眼の位置を検出する眼の位置検出手段からなることを特徴とする。
【0010】
請求項2の発明は、請求項1記載の眼位置検出装置であって、前記曲線データ確認手段により曲線データが確認された場合に前記眼の検索領域の最上端の曲線データを検出する最上端曲線データ検出手段と、前記最上端の曲線データが複数回同等位置に出現することを条件に安定と判定する最上端の曲線データの第1安定条件判定手段と、前記第1安定条件判定手段の判定により最上端の曲線データの出現が安定した場合に前記最上端の曲線データを基準とした縮小第1領域を設定する縮小第1領域設定手段と、前記縮小第1領域内に出現する曲線データから眼の位置を検出する眼位置検出手段からなることを特徴とする。
【0011】
請求項3の発明は、請求項1又は2記載の眼位置検出装置であって、前記第1安定条件判定手段の判定により最上端の曲線データの出現が安定しない場合に前記最上端の曲線データを基準として眼の検索領域上部をカットする眼の第1検索領域カット手段を設け、前記最上端曲線データ検出手段は、前記カット後の眼の検索領域内において再度最上端の曲線データを検出することを特徴とする。
【0012】
請求項4の発明は、請求項2又は3記載の眼位置検出装置であって、前記第1安定条件判定手段の判定により最上端の曲線データの出現が安定した場合に前記最上端の曲線データを基準として領域を上下方向に縮小すると共に左右方向に拡大した縮小第2領域を設定する縮小第2領域設定手段と、前記縮小第2領域において出現する曲線データを上部より一つ又は二つを抽出する曲線データ抽出手段と、該曲線データ抽出手段により抽出された曲線データの位置関係、長さの少なくとも一方を判定する曲線データの特徴量判定手段と、前記曲線データ抽出手段により抽出された曲線データが複数回同等位置、同等長さで出現することを条件に安定と判定する曲線データの第2安定条件判定手段と、を備え、前記縮小第1領域設定手段は、前記第2安定条件判定手段の判定により曲線データの出現が安定した場合に該曲線データを基準とした縮小第1領域を設定することを特徴とする。
【0013】
請求項5の発明は、請求項4記載の眼位置検出装置であって、前記第2安定条件判定手段により前記縮小第2領域内の曲線データの出現が安定しない場合に前記曲線データを基準として眼の検索領域上部をカットする眼の第2検索領域カット手段を有し、前記最上端曲線データ検出手段は、カット後の眼の検索領域内において再度最上端の曲線データを検出することを特徴とする。
【0014】
請求項6の発明は、請求項4又は5記載の眼位置検出装置であって、前記縮小第2領域内の安定条件を満たした曲線データの状態に応じて前記縮小第1領域の設定を補正する縮小第1領域設定補正手段を有することを特徴とする。
【0015】
請求項7の発明は、請求項6記載の眼位置検出装置であって、前記縮小第1領域設定補正手段は、前記縮小第2領域内において安定条件を満たした曲線データの長さが所定値を上回るとき前記縮小第1領域の設定を補正することを特徴とする。
【0016】
請求項8の発明は、請求項4〜7のいずれか1項に記載の眼位置検出装置であって、前記縮小第2領域設定手段は、前記最上端の曲線データの中心座標を基準に縮小第2領域を設定することを特徴とする。
【0017】
請求項9の発明は、請求項4〜8のいずれか1項に記載の眼位置検出装置であって、前記縮小第2領域内に出現する左右二つの曲線データの間隔が所定値を下回るときは、曲線データが確認されなかったと判断する曲線データ判断手段を備え、前記検索領域変更指令手段は、前記曲線データ判断手段により、曲線データが確認されなかったと判断された場合に前記複数個に分割した他の眼の検索領域に変更すべく前記眼の検索領域変更手段に出力することを特徴とする。
【0018】
【発明の効果】
請求項1の発明によれば、眼の検出領域を予め複数個の小領域に分割し、該領域の一つに眼の候補データとなる濃度変化状態から抽出したポイントの横方向への連続性で抽出された曲線データが確認されるか否かを判定し、該領域に曲線データが確認されたときに眼の位置を検出することにより、眼の検出を行う選択式を簡素化でき、眼の位置検出精度を向上することができる。
【0019】
すなわち、画像全体を分割し、その領域内の上部に出現する曲線データの安定的な出現を判断し、眼の検索領域を順次絞り込んでいく構成とすることにより、ドライバ等の個人差による顔の位置の違いに対応でき、又、顔の構成物以外のノイズとなるデータが数多く含まれても精度の高い眼の位置検出が可能である。
【0020】
請求項2の発明によれば、請求項1の発明の効果に加え、前記眼の検出領域の最上端に出現する曲線データが安定することを条件に縮小第1領域を設定し、該領域に出現する曲線データを対象として眼の位置を検出することにより、眼の検出を行う選択式を簡素化でき、更に眼の位置検出精度を向上することができる。
【0021】
請求項3の発明によれば、請求項1又は2の発明の効果に加え、最上端の曲線データが出現しない場合に、検索領域上部をカットするため、最上端の安定した曲線データを確実に検出することができる。
【0022】
請求項4の発明によれば、更に、請求項2又は3の効果に加え、上記眼の検索領域の最上端に出現する曲線データが安定することを条件に縮小第2領域を設定し、該領域に出現する曲線データの状態が安定することを条件に縮小第1領域を設定するため、更に眼の位置検出精度を向上することができる。
【0023】
請求項5の発明によれば、請求項4の発明の効果に加え、曲線データの出現が安定しない場合に再度検索領域上部をカットし、安定した曲線データを確実に検出することができる。
【0024】
請求項6の発明によれば、請求項4又は5の発明の効果に加え、曲線データの状態に応じて縮小第1領域の設定位置を補正し、更に眼の位置検出精度を向上させることができる。
【0025】
請求項7の発明によれば、請求項6の発明の効果に加え、曲線データの長さが所定値を上回るとき縮小第1領域の設定位置を補正することにより、例えば、眼鏡を掛けている場合でも正確な縮小第1領域を設定し、眼の位置検出精度をより向上させることができる。
【0026】
請求項8の発明によれば、請求項4〜7のいずれかの発明の効果に加え、最上端の曲線データの中心座標を基準に縮小第2領域を設定することにより、眼の位置検出精度をより向上させることができる。
【0027】
請求項9の発明によれば、請求項4〜8のいずれかの発明の効果に加え、縮小第2領域内に出現する左右二つの曲線データの間隔が所定値を下回るときは、曲線データが確認されなかったと判断するため、眼の位置検出精度をより向上させることができる。
【0028】
【発明の実施の形態】
図1は、本発明の一実施形態の眼位置検出装置の機能ブロック図にかかり、該眼位置検出装置は、眼の検索領域の設定及び変更手段CL1と、画像入力手段CL2と、濃度検出手段CL3と、ポイント抽出手段CL4と、曲線データ抽出手段CL5と、確認手段CL6と、最上端曲線データ検出手段CL7と、第1安定条件判定手段CL8と、縮小第2領域設定手段CL9と、曲線データ判定手段CL10と、縮小第1領域設定手段CL11と、縮小第1領域設定補正手段CL12と、眼の位置検出手段CL13とを備えている。
【0029】
前記眼の検索領域の設定及び変更手段CL1は、検索領域設定手段、検索領域変更手段、検索領域変更指令手段、及び第1、第2検索領域カット手段として眼の検索領域を設定もしくは変更する。前記画像入力手段CL2は、顔画像を入力する。前記画素列の濃度検出手段CL3は、前記画像入力手段CL2から入力された顔画像の縦方向の画素列の濃度を検出する。前記ポイント抽出手段CL4は、前記画素列における濃度の高まりとその変化状態によりポイントを抽出する。前記曲線データ抽出手段CL5は、隣接する画素列の画素列方向に近接したポイントを連続して顔の横方向への曲線群を抽出する。前記曲線データ確認手段CL6は、曲線データ確認手段、曲線データ判断手段として、設定された眼の検索領域内において曲線データ数を確認する。前記最上端曲線データ検出手段CL7は、眼の検索領域内において最上端の曲線データを検出する。前記最上端の曲線データ安定条件判定手段CL8は、最上端の曲線データの安定的な出現を判定する。前記縮小第2領域設定手段CL9は、最上端の曲線データの出現が安定したときに、前記曲線データを基準とした縮小第2領域を設定する。前記曲線データ判定手段CL10は、曲線データ抽出手段、特微量判定手段、及び第2安定条件判定手段として前記縮小第2領域内での曲線データの出現状態を判定する。前記縮小第1領域設定手段CL11は、前記縮小第2領域内で特定された曲線群を基準に縮小第1領域を設定する。前記縮小第1領域の設定補正手段CL12は、縮小第2領域内で特定された曲線データの状態に応じて縮小第1領域の設定を補正する。前記眼位置検出手段CL13は、縮小第1領域内で眼の位置検出を行う。
【0030】
図2は、本発明の一実施形態にかかる構成ブロック図である。
【0031】
図2のように、インストルメントに設置され、ドライバの顔部分を正面から撮影する画像入力手段CL2としてカメラ21が備えられ、カメラ21による入力画像は本実施形態では図7に示すように、横(X)方向512画素、縦(Y)方向480画素からなる。
【0032】
前記カメラ21で撮影された入力画像は、AーD変換器22を介して、デジタル量の入力画像データとして画像メモリ23に格納される。
【0033】
前記画像メモリ23には、画像データ演算回路24が接続されている。
【0034】
該画像データ演算回路24は、前記眼の検索領域の設定及び変更手段CL1と、前記画素列の濃度検出手段CL3と、ポイント抽出手段CL4と、前記曲線データ抽出手段CL5と、前記曲線データ数の確認手段CL6と、前記最上端曲線データ検出手段CL7と、前記第1安定条件判定手段CL8と、前記縮小第2領域設定手段CL9と、前記曲線データ判定手段CL10と、前記縮小第1領域設定手段CL11と、前記縮小第1領域の設定補正手段CL12とからなる。
【0035】
該画像データ演算回路24には、縮小した眼の検索領域内において眼の位置を検出する眼の位置検出手段CL13としての眼の位置検出回路25が接続されている。
【0036】
次に、上記構成における動作の流れを、図3〜図6のフローチャートと、図7〜図22の説明図を用いて説明する。
【0037】
まず、ステップS301において、眼の検索領域の設定を行う。眼の検索領域の初期状態での設定値は、全画面を分割した一つとする。本実施形態での分割例を図10を用いて説明する。図10では、画面全体をI〜IVで4分割しており、初期状態ではIの領域としている。
【0038】
ステップS302では、以降の判定に用いるカウンタ、フラグ、メモリなど各変数の初期化を行う。このとき、眼の検索領域の切り替えをコントロールしている変数gksyflgの初期値は1としている。
【0039】
ステップS303では、眼の検索領域変更フラグが立っているか否かを判定する。ステップS302で各変数の初期化後は、眼の検索領域変更フラグが立っていることはないため、ステップS304に移行する。
【0040】
ステップS304では、1画像データの判定毎に初期化する必要のある変数の初期化を行う。ステップS305では、眼の検索領域内の画素データを読み出し、ステップS306で、曲線データとなる眼の候補データ(移行ステップでは、曲線データのことを連続データと呼ぶ)を抽出する。
【0041】
ステップS305とS306での処理内容を、図6のフローチャートと図7〜図9の説明図を用いて説明する。
【0042】
まず、ステップS601においてカメラによってドライバの顔部分を撮影し、1フレーム分の入力画像がデジタル信号に変換されたうえ画像メモリに格納される。ステップS602では、図7に示すように眼の検索領域Iに対してポイント抽出の処理を行い、1ライン終了後に一つ隣りのラインの処理に移していき、所定方向の全ラインでのポイント抽出が終了したか否かを判断する。
【0043】
ステップS602で全ラインにおいてポイント抽出が行われていないと判断された場合は、ステップS603に移行する。このステップS603では、所定方向の1ラインの濃度値の相加平均演算を行う。この処理は、画像データ撮影時の濃度値の変化の小さなばらつきをなくすことを目的としており、濃度値の大局的な変化を捉えるためである。図8(a)に、図7のXaのラインデータの相加平均演算の処理結果を示す。
【0044】
図6のステップS604では、ステップS603の演算結果である相加平均値における微分演算を行う。この処理結果を図8の(b)に示す。
【0045】
図6のステップS605では、ステップS604の演算結果である微分値によるポイント抽出を行う。そのポイント抽出方法は、微分値が負から正に変化するポイント(p1〜p10)、図8の(a)でいうと、グラフが下向きに凸になるポイントを抽出する。該ポイントは、画素列上の濃度値の片方向のピークとなる。次にそのポイントに達するまでの濃度値の変化(q1〜q10)が所定値以下であるか否か、図8の(b)の微分値の判定基準値以下(所定値を超えること)であるか否かを判定し、所定値以下の濃度ちの変化を持つポイントを対象としてY座標値(a3、a4)を抽出する。この処理が1ライン終了後、ステップS606で、次のラインの処理に切り替えていく。
【0046】
ステップS602で全ラインのポイント抽出が終了したと判断されると、図9の(a)に示すようなポイント抽出がされる。つまり、図7上でのXa=X1ライン状では、A1、A2、A3の三つのポイントが抽出されていることになる。その後、ステップS607へ移行し、隣り合う各ラインの抽出ポイント(A1、A2、A3…)のY座標値を比較し、Y座標値が所定値以内の場合、連続データとして、▲1▼連続データのグループ番号、▲2▼連続開始ライン番号、▲3▼連続データ数をメモリする。
【0047】
ここでは検出対象を眼としているため、その特徴量としては横に比較的長く続くデータであるとすることができるため、横方向に所定値以上続くということを条件に連続データを抽出できる。よってステップS607での処理結果として図9の(b)に示すようなG1、G2の連続データを曲線データとして認識できる。
【0048】
ステップS306で連続データの抽出後、ステップS307に移行する。ステップS307では眼の検索領域の切り替えをコントロールしている変数gksyflgの状態を判定している。ステップS302のところで説明したようにgksyflgの初期値は1であるためステップS308に移行する。ステップS308では、眼の検索領域内に連続データが存在するか否かを判定しており、連続データが一つ以上ある場合は、ステップS312に移行する。又、一つもない場合は、ステップS309に移行し、連続データの未検出カウンタ1をインクリメントする。ステップS310では、連続データの未検出カウンタ1が20を越えたか否かを判定している。つまり、未検出カウンタ1をインクリメント後に再度ステップS304に戻り、同眼の検索領域において連続データを抽出してもない場合に未検出カウンタをインクリメントして行き、この処理回数が20回を越える場合に、ステップS311に移行する。
【0049】
ステップS311では、検索領域変更フラグ1を立てる。その後ステップS303に移行し、検索領域変更フラグが立っているか否かの判定に移る。この時、検索領域変更フラグは立っているのでステップS301に移行し、眼の検索領域の変更を行う。この処理内容を図11の説明図を用いて説明する。
【0050】
図11のIに示すようにドライバの顔が画面のほぼ中央部にある場合は、ステップS306では図11のIに示すように眉と眼の連続データが抽出される。しかし、ドライバの顔が運転姿勢や体格によって、図11のIIに示すような位置にくると眼の検索領域Iには連続データが存在しなくなる。この状況は、複数回処理を繰り返すことで確実に捉えることができる。この状態をステップS310で判定し、領域IIへ切り替えるトリガーとして検索領域変更フラグ1を立てる。又、顔が左寄りにきたり、顔が左寄りで更に低い場合においても図11のIII 、IVの例で示すように眼の検索領域内に連続データが存在しないことをトリガーに順次切り替えていくことができる。
【0051】
この分割した眼の検索領域の初期位置と、その切り替え順序は、ドライバの左目の位置を検出することをより早く、より確実に検出することを目的としている。その理由は、通常の運転姿勢では、ドライバの左目が確率的に一番多く含まれるのはIの領域であり、その次に体格差によって顔の位置が低くなるIIの領域が多い傾向があるからである。、又、ドライバの左目に注目している理由は、車室内の光環境状態を考えると右ハンドルの車では、右側から太陽の直射光によりドライバの右目の画像が著しく悪化することがあるからである。よって、本領域の設定、切り替え順序は左ハンドル車である場合左右対称とする。
【0052】
このようにして、分割した眼の検索領域内の連続データは、図9の(b)に示すように、その個数が限定されるため、この領域内における眼の検出においても従来例に対し眼の選択式が簡素化でき、眼の位置検出精度を向上させることができる。
【0053】
次に、図3のフローチャートのステップS312以降で、更に眼の位置検出精度を高める方法を説明する。
【0054】
ステップS312では、各連続データの判断値の読み出しを行っており、ステップS313では、その判断値の一つである連続開始点の上下位置と、連続終了点の上下位置から、連続データの傾きを算出し、傾きの大きい連続データを削除するステップである。これは、眼の連続データであると仮定した場合、顔の傾き以上となるデータは削除できる。これは、眼の選択対象から一つでも候補データを減らすことで眼の検出精度を向上させるためである。
【0055】
ステップS314では、ステップS307と同様に眼の検索領域の切り替えをコントロールしている変数gksyflgの状態を判定している。ここでも、gksyflgの初期値の1であるためステップS315に移行する。ステップS315では、ステップS313で傾きの大きい連続データの削除後において、ステップS308と同様の判定を行う。
【0056】
ステップS315でも、眼の検索領域内に削除後に連続データが存在するか否かを判定しており、連続データが一つ以上ある場合は、図4のステップS401に移行する。又、一つもない場合は、ステップS316に移行し、連続データの未検出カウンタ2をインクリメントする。
【0057】
ステップS317では、連続データの未検出カウンタ2が20を越えたか否かを判定している。つまり、未検出カウンタ2をインクリメント後に再度ステップS304に戻り、同眼の検索領域において連続データを抽出してもない場合に未検出カウンタをインクリメントして行き、この処理回数が20回を越える場合に、ステップS318に移行する。
【0058】
ステップS318では、検索領域変更フラグ1を立てる。その後、ステップS303に移行し、検索領域変更フラグが立っているか否かの判定に移る。このとき、検索領域変更フラグは立っているので、ステップS301に移行し眼の検索領域の変更を行う。眼の検索領域の変更方法は、図11の説明で前述しているのでここでは省略する。
【0059】
図4のステップS401では、図12に示すように眼の検索領域内の最上端の連続データを検出する。その後ステップS403に移行し最上端の連続データの出現が安定したか否かを判定する。最上端の連続データの出現が安定する条件は、眼の検索領域内に連続データの抽出誤差を許容した同等の位置に所定回数続けて出現することを判定している。この条件を満たさない場合は、ステップS419に移行し、最上端の連続データの出現状態が不安定条件を満たしたか否かを判定する。不安定条件とは、最上端の連続データの位置が各フレーム毎の処理毎にばらつく状態を検出しており、連続データ位置が異なる度にカウントアップし、所定回数以上になったときに不安定条件を満たしたとしている。よって、不安定条件が満たされるまでの処理は、ステップS304に戻り、次のフレームの連続データの抽出に移る。
【0060】
また、ステップS403で最上端の連続データの出現が安定する前に、ステップS419で不安定条件を満たした場合は、ステップS404に移行する。ステップS404では検索領域変更フラグ3を立て、ステップS303に戻り、ステップS301で眼の検索領域の変更を行う。
【0061】
眼の検索領域の変更方法は、図13に示すように同眼の検索領域内でばらついて出現した中の一番上の連続データ位置を基準に検索領域上部をカットし縮小を行う。この処理により、不安定な状態での出現が多い傾向がある背景の模様やはねた髪の毛による連続データによる領域が削除される。又、図13のように最上端の連続データが不安定な状態が続く場合は、段階的に眼の検索領域を縮小し、図14に示すように縮小した領域内に連続データが出現しなくなった場合は、図3のステップS308もしくはステップS315により、眼の検索領域IからIIに切り替え、図14に示す画像データの眼のある箇所に眼の検索領域を切り替えることができる。
【0062】
このように眼の検索領域内の最上端の連続データとして眼又は眉などを捉えることができれば、最上端の連続データの出現は非常に安定しており、ステップS403の安定条件を容易に満たすことができる。このとき、gksyflgを0とし、ステップS405に移行する。ステップS405ではgksyflgが0であるか否かを判定しており、0である場合に、ステップS406に移行し、安定して出現した最上端の連続データ位置を基準に、更に眼の検出精度を向上させるため、図15に示す判定領域として上下方向に縮小し、左右方向に拡大した縮小第2領域を設定する。この領域内においては、同領域内の上部より、出現する一つないし二つの連続データの出現状態より、検出した連続データが眼又は眉であるかを判定する。
【0063】
ステップS406で縮小第2領域の設定後にgksyflgを88とし、ステップS407でgksyflgが88の時は、ステップS408に移行する。
【0064】
ステップS408では、図15に示す縮小第2領域内の出現する連続データを一つないし二つを検出し、その連続データの長さと位置関係により、該当する連続データが眉か眼又は眼鏡のフレームであるかを判定する判定値を算出し、ステップS409に移行する。
【0065】
ステップS409では、眼或いは眉であれば左右対称の位置関係で安定的に出現する連続データが出現することを捉えることにより検出している。図15のように眼の検索領域内で安定して出現する最上端の連続データが眼又は眉の片側である場合は、その連続データを基準とした左右方向への横に長い(最上端の曲線データの中心座標を基準とした)縮小第2領域内の上部から二つまでの連続データを検出すると、対象関係にあるもう一方の眼或いは眉が検出できる。この二つの連続データにおいても、最上端の連続データの場合と同様に眼或いは眉である場合は、同等位置で且つ同等間隔で出現する。よって、ステップS403の時と同じように安定条件を容易に満たすことができる。
【0066】
ステップS409で該当する連続データの出現が安定しない場合、又は、安定して出現する場合であっても図16に示すような二つの連続データ間隔が所定値L1以上ないときは、該当する連続データを眼或いは眉とはせず、ステップS420に移行する。図16は、背景の模様が安定した最上端の連続データとして検出されてしまった例を挙げている。このような場合であっても、ステップS408、S409の判定によって、該当するノイズデータを除去することができる。その理由は、背景の模様や跳ねた髪の毛などの連続データである場合、それ単体での出現でも安定しにくく、更に同等高さに所定間隔以上離れた位置にもう一つの連続データが存在することが極めて少ないからである。
【0067】
ステップS420では、左右対称の連続データの出現状態が不安定条件を満たしたか否かを判定する。不安定条件とは、前述したように左右対称となる連続データの位置や長さが、各フレーム毎の処理毎にばらつく状態を検出しており、連続データや長さが異なる度にカウントアップし、所定回数以上になったときに不安定条件を満たしたとしている。よって、不安定条件が満たされるまでの処理は、ステップS304に戻り次のフレームの連続データの抽出に移る。この処理を繰り返す際は、gksyflgが88であるためステップS307、S312、S313、S314、S407、S408、S409、S420の順に流れ、最上端の連続データの検出は行わない。
【0068】
又、ステップS409で左右対称の連続データの出現が安定する前に、ステップS420で不安定条件を満たした場合は、ステップS410に移行する。ステップS410では、検索領域変更フラグ3を立て、ステップS303に戻り、ステップS301で眼の検索領域の変更を行う。この時の眼の検索領域の変更方法は、左右対称の連続データの出現を判定する領域として設定した縮小第2領域の設定位置を基準に領域の縮小を行う。この処理により、不安定の状態での出現が多い傾向がある背景の模様や跳ねた髪の毛による連続データによる領域が削除される。
【0069】
又、gksylfgを1に、ステップS302で初期化することにより、再度、縮小した眼の検索領域内の最上端連続データの安定条件判定の戻る。縮小した眼の検索領域内で再度、安定した最上端の連続データが検出された場合は、その連続データを基準に、再度左右対称の連続データの安定条件判定を行い、左右対称連続データの安定条件が満たされるまで、同様判定が繰り返される。よって、この場合においても図17に示すように、階段的に眼の検索領域の縮小を行い、眼の検索領域に連続データが出現しなくなった場合は、ステップS308もしくはステップS315により、眼の検索領域IからIIに切り替え、図18に示す画像データでの眼のある箇所に眼の検索領域を切り替えることができる。
【0070】
次に、図19に示すようにドライバが眼鏡をかけており、ステップS408、S409での連続データが一つしか出現しない場合や、二つの連続データが出現してもその一方が非常に長い場合の判定方法について説明する。
【0071】
黒いフレームの眼鏡をかけているドライバの場合は、縮小第2領域での左右の連続データが一体化されることがある。このような場合は、二つの連続データの間隔を判定する変わりに、対象となる連続データの長さが所定値以上であるか否かによって判定することができる。
【0072】
ステップS409で安定した左右対称の連続データが検出された場合は、眼の検索領域の切り替えをコントロールしている変数gksyflgを99にする。ステップS411では、そのgksyflgの状態が99であることの確認後、ステップS412に移る。
【0073】
ステップS412での縮小領域は縮小第1領域と定義づけており、図20に示すように車両内側の眼、つまり右ハンドル車である場合は、ドライバの左目の周りに小さく設定する領域である。該領域の設定基準は、左右対称となる連続データの向かって右側の連続データの中心座標を用いている。
【0074】
次に図21を用いて縮小第1領域の設定する際の補正について説明する。ドライバが、眼鏡をかけている場合、眼の検索領域の範囲で検出される最上端の連続データは図21の(a)のようになり、最上端の連続データの横方向への中心座標が眼の位置と合わないことがある。この座標値をそのまま用いて縮小第1領域を設定すると図21の(b)に示すように、ドライバの左目が領域の中央部に捉えきれず眼の検出精度が悪化することがある。このような場合においては、最上端の連続データが所定値以上の長さであることを判定して眼鏡を掛けていると認識し、図21の(c)に示すように、縮小第2領域で該当する連続データの全体長さL2を算出し、L2を所定比のa:bで分割することによって補正後の縮小第2領域を設定する。この補正により、区間Dが補正され眼を縮小第1領域の中央部に検出できるようになる。このようにしてドライバの左目の周りに小さく設定した図22の縮小第1領域内で眼の検出を行うことで、眼の選択式を非常に簡素化でき、検出精度も向上することが可能である。又、この選択式を用いる前までの検出においては、眉か眼、或いは眼鏡のフレームであることを前提としているため、限定した領域内の一つ又は二つの連続データを上部から検出しているにすぎず、非常にシンプルな形態での判定の繰り返しである。
【0075】
最後にステップS413以降の処理で眼の位置の特定法について説明する。
【0076】
ステップS413では眼鏡のフレーム、眉、眼など限られた顔の構成物の相対位置関係による判定式を作り、そのどれに該当するかによって、連続データの選択を行う。尚、この選択の際、どのパターンにも一致しないときは、ステップS414からステップS416に移行し、連続データの未検出カウンタ3をインクリメントしステップS417に移る。
【0077】
ステップS417では、未検出カウンタ3が20を越えるまで同様の判定を繰り返す。このときの処理の流れでは、gksyflgが99であるため、最上端、左右対称の連続データの判定は行わない。又、ステップS417で未検出カウンタ3が20を越えた場合は、ステップS418で検索領域変更フラグ4を立て、ステップS303からステップS304に戻し、初期状態から眼の位置検出をやり直す。このフローにはいることは、実際はまれであり、又検出したものが眼ではない確率も非常に高い。
【0078】
ステップS414で眼の選択式に合致した連続データが存在する場合は、ステップS415に移行する。ステップS415では眼として特定された連続データの出現位置が同等の位置に複数回検出することを条件に安定条件値を算出する。
【0079】
この後、図5のステップS501で前記安定条件を判定する。安定条件が満たされてない場合は、ステップS502で各フレーム毎眼の位置座標の変化から座標データのばらつき判定を行う。ステップS502のばらついていないと判断される場合は、ステップS304に戻り、gksyflgが99であるときの処理を繰り返す。又、ステップS502において座標がばらついていると判断された場合は、ステップS503に移行し、連続データの未検出カウンタ4をインクリメントする。
【0080】
ステップS504では、前記ばらつき状態をカウントするばらつきカウンタが10を越えたか否かを判定し、越えるまでは同様の処理を繰り返し、越えた場合は、ステップS505で検索領域変更フラグ5を立て、ステップS303からステップS304に戻し、初期状態から眼の位置検出をやり直す。このフローに入る場合は、最終的な眼検出段階に入ったときにドライバの顔位置が大きく動いている状態であるといえ、この状態での眼の位置検出は誤差を多く含むため、再度初期状態に戻し顔位置が落ち着くタイミングを待つ方が好ましいからである。
【0081】
ステップS501で眼の連続データの座標位置が安定した場合においては、ステップS506で眼の座標の出力を行う。
【0082】
以上図3〜図5のフローチャートで全体的な処理の流れを説明し、本実施形態では縮小第2領域の設定後に、縮小第1領域を設定するという順序で説明したが、処理の内容としては縮小第2領域の設定を省略しても、従来例に対し眼の検出精度の向上は可能である。
【図面の簡単な説明】
【図1】本発明の一実施形態の機能ブロック図である。
【図2】本発明の一実施形態の構成を示すブロック図である。
【図3】実施形態の動作を示すフローチャートである。
【図4】実施形態の動作を示すフローチャートである。
【図5】実施形態の動作を示すフローチャートである。
【図6】実施形態の動作を示すフローチャートである。
【図7】フローチャートの処理に関する説明図である。
【図8】フローチャートの処理に関する説明図である。
【図9】フローチャートの処理に関する説明図である。
【図10】フローチャートの処理に関する説明図である。
【図11】フローチャートの処理に関する説明図である。
【図12】フローチャートの処理に関する説明図である。
【図13】フローチャートの処理に関する説明図である。
【図14】フローチャートの処理に関する説明図である。
【図15】フローチャートの処理に関する説明図である。
【図16】フローチャートの処理に関する説明図である。
【図17】フローチャートの処理に関する説明図である。
【図18】フローチャートの処理に関する説明図である。
【図19】フローチャートの処理に関する説明図である。
【図20】フローチャートの処理に関する説明図である。
【図21】フローチャートの処理に関する説明図である。
【図22】フローチャートの処理に関する説明図である。
【図23】従来例にかかる説明図である。
【図24】従来例にかかる説明図である。
【符号の説明】
CL1 眼の検索領域の設定及び変更手段(検索領域設定手段、検索領域変更手段、検索領域変更指令手段、第1、第2検索領域カット手段)
CL2 画像入力手段
CL3 顔の縦方向の画素列の濃度検出手段
CL4 各画素列におけるポイント抽出手段
CL5 曲線データ抽出手段
CL6 曲線データ数の確認手段 (曲線データ確認手段、曲線データ判断手段)
CL7 所定領域内の最上端曲線データ検出手段
CL8 最上端の曲線データの第1安定条件判定手段
CL9 縮小第2領域設定手段
CL10 縮小第2領域内での曲線データ判定手段 (曲線データ抽出手段、特徴量判定手段、第2安定条件判定手段)
CL11 縮小第1領域設定手段
CL12 縮小第1領域設定補正手段
CL13 眼の位置検出手段
21 TVカメラ
22 AーD変換器
23 画像メモリ
24 画像データ演算回路
25 眼の位置検出回路[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an eye position detecting device that can be used for automatically controlling a mirror and a seat, and for specifying a position of an eye necessary for detecting a drowsy driving state from an open / closed state of a driver's eyes.
[0002]
[Prior art]
As a conventional device for detecting the eye position of a driver or the like, there is, for example, a device described in JP-A-7-181012.
[0003]
This eye position detection device performs a binarization process on grayscale image data captured by a camera installed in front of a driver, and detects a position of an eye by performing a density projection, a labeling process, and the like on the binarized image. It has become.
[0004]
Also, as an eye position detection device for a grayscale image, Wish There is one described in JP-A-8-101904.
[0005]
This eye position detection device detects the density of pixels along a vertical pixel row of the face, determines one element for each local increase in density in the pixel row, sets an element as an extraction point, Extraction points adjacent to each other in the pixel column direction of the pixel column are connected to detect the position of the eye from curve data extending in the horizontal direction of the face.
[0006]
[Problems to be solved by the invention]
However, in the above-described eye position detecting device, as shown in FIG. 23, when there is a pattern (for example, a pattern that can show a view seen from the rear window) in a portion corresponding to the background of the eye position detection target person, In addition to the data of the nostrils and the like, a large number of data based on the background pattern appear, so that not only the selection formula for detecting the eyes becomes very complicated, but also the accuracy of detecting the position of the eyes decreases.
[0007]
Further, even in an eye position detecting apparatus for a gray-scale image, as shown in FIG. 24, a large number of curve data based on the background pattern still appear, and there is still the same problem.
[0008]
SUMMARY OF THE INVENTION It is an object of the present invention to provide an apparatus that can maintain detection accuracy of an eye position even when a lot of noise patterns and the like are present in a background portion of an eye position detection target person.
[0009]
[Means for Solving the Problems]
The invention according to
[0010]
According to a second aspect of the present invention, in the eye position detecting apparatus according to the first aspect, when the curve data is confirmed by the curve data confirming means, the topmost curve data of the topmost search area of the eye is detected. Curve data detection means, first stability condition determination means for the top curve data which is determined to be stable on condition that the top curve data appears at the same position a plurality of times, and first stability condition determination means. Reduced first area setting means for setting a reduced first area based on the uppermost curve data when the appearance of the uppermost curve data is stabilized by the determination; and curve data appearing in the reduced first area. And eye position detecting means for detecting the position of the eye from the eye.
[0011]
A third aspect of the present invention is the eye position detecting device according to the first or second aspect, wherein the appearance of the uppermost curve data is not stable as determined by the first stability condition determination means. First eye search area cutting means for cutting the upper part of the eye search area with reference to the above, and the uppermost curve data detecting means detects the uppermost curve data again in the eye search area after the cut. It is characterized by the following.
[0012]
According to a fourth aspect of the present invention, in the eye position detecting apparatus according to the second or third aspect, when the appearance of the uppermost curve data is stabilized by the determination of the first stability condition determining means, the uppermost curve data is obtained. A reduced second region setting means for reducing a region in the vertical direction and setting a reduced second region expanded in the left and right direction with reference to the one or two curve data appearing in the reduced second region from above. Curve data extraction means to be extracted, curve data feature quantity determination means for determining at least one of the positional relationship and length of the curve data extracted by the curve data extraction means, and the curve extracted by the curve data extraction means Second stability condition determination means for curve data that is determined to be stable on the condition that the data appears multiple times at the same position and the same length; With The reduced first area setting means sets the reduced first area based on the curve data when the appearance of the curve data is stable as determined by the second stability condition determining means.
[0013]
According to a fifth aspect of the present invention, in the eye position detecting apparatus according to the fourth aspect, when the appearance of the curve data in the reduced second area is not stable by the second stability condition determination means, the eye position detection apparatus is based on the curve data. A second search area cutting means for cutting the upper part of the eye search area, wherein the uppermost curve data detecting means detects the uppermost curve data again in the eye search area after the cut. And
[0014]
According to a sixth aspect of the present invention, in the eye position detecting apparatus according to the fourth or fifth aspect, the setting of the first reduced area is corrected in accordance with a state of curve data satisfying a stability condition in the second reduced area. Characterized in that it has a reduced first area setting correction unit that performs the reduction.
[0015]
According to a seventh aspect of the present invention, in the eye position detecting apparatus according to the sixth aspect, the reduced first area setting correction unit determines that the length of the curve data satisfying the stability condition in the reduced second area is a predetermined value. The setting of the reduced first area is corrected when the value exceeds.
[0016]
The invention of
[0017]
The invention according to
[0018]
【The invention's effect】
According to the first aspect of the invention, the detection area of the eye is divided into a plurality of small areas in advance, and the continuity in the horizontal direction of points extracted from the density change state serving as eye candidate data in one of the areas. By determining whether or not the curve data extracted in the above is confirmed, and by detecting the position of the eye when the curve data is confirmed in the area, it is possible to simplify the selection formula for detecting the eye, Can be improved in position detection accuracy.
[0019]
In other words, the entire image is divided, the stable appearance of the curve data appearing in the upper part in the area is determined, and the search area of the eyes is narrowed down sequentially, so that the face of the face due to individual differences of the driver or the like is determined. It is possible to cope with the difference in the position, and it is possible to detect the position of the eye with high accuracy even if a lot of noise data other than the facial components is included.
[0020]
According to the invention of
[0021]
According to the third aspect of the present invention, in addition to the effects of the first or second aspect, when the uppermost curve data does not appear, the upper part of the search area is cut, so that the uppermost stable curve data is reliably obtained. Can be detected.
[0022]
According to the invention of
[0023]
According to the invention of
[0024]
According to the sixth aspect of the invention, in addition to the effects of the fourth or fifth aspect, the set position of the reduced first area is corrected according to the state of the curve data, and the eye position detection accuracy is further improved. it can.
[0025]
According to the invention of
[0026]
According to the eighth aspect of the present invention, in addition to the effect of any one of the fourth to seventh aspects, by setting the reduced second area based on the center coordinates of the uppermost curve data, the position detection accuracy of the eye can be improved. Can be further improved.
[0027]
According to the ninth aspect of the present invention, in addition to the effects of any one of the fourth to eighth aspects, when the interval between the two left and right curve data appearing in the reduced second area is smaller than a predetermined value, the curve data is Since it is determined that no confirmation has been made, it is possible to further improve the eye position detection accuracy.
[0028]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 1 is a functional block diagram of an eye position detection device according to an embodiment of the present invention. The eye position detection device includes an eye search area setting and changing unit CL1, an image input unit CL2, and a density detection unit. CL3, point extraction means CL4, curve data extraction means CL5, confirmation means CL6, top end curve data detection means CL7, first stability condition determination means CL8, reduced second area setting means CL9, curve data The apparatus includes a determination unit CL10, a reduced first region setting unit CL11, a reduced first region setting correction unit CL12, and an eye position detecting unit CL13.
[0029]
The eye search area setting and changing means CL1 sets or changes the eye search area as a search area setting means, a search area change means, a search area change command means, and a first and second search area cut means. The image input means CL2 inputs a face image. The pixel row density detecting means CL3 detects the density of the vertical pixel row of the face image input from the image input means CL2. The point extracting means CL4 extracts points based on the increase in the density in the pixel row and its change state. The curve data extraction means CL5 extracts a curve group in the horizontal direction of the face by continuously connecting points adjacent to each other in the pixel column direction. The curve data checking unit CL6 checks the number of curve data in the set eye search area as a curve data checking unit and a curve data determining unit. The uppermost curve data detecting means CL7 detects the uppermost curve data in the eye search area. The uppermost curve data stability condition determination means CL8 determines a stable appearance of the uppermost curve data. The reduced second area setting means CL9 sets a reduced second area based on the curve data when the appearance of the uppermost curve data is stabilized. The curve data determination unit CL10 determines the appearance state of the curve data in the reduced second area as a curve data extraction unit, a very small amount determination unit, and a second stability condition determination unit. The first reduced area setting means CL11 sets the first reduced area based on the curve group specified in the second reduced area. The first reduced area setting correction means CL12 corrects the setting of the first reduced area in accordance with the state of the curve data specified in the second reduced area. The eye position detecting means CL13 detects the position of the eye in the reduced first area.
[0030]
FIG. 2 is a configuration block diagram according to an embodiment of the present invention.
[0031]
As shown in FIG. 2, a
[0032]
The input image taken by the
[0033]
An image
[0034]
The image
[0035]
The image data
[0036]
Next, the flow of operation in the above configuration will be described with reference to the flowcharts of FIGS. 3 to 6 and the explanatory diagrams of FIGS.
[0037]
First, in step S301, an eye search area is set. The set value of the eye search area in the initial state is one obtained by dividing the entire screen. An example of division in this embodiment will be described with reference to FIG. In FIG. 10, the entire screen is divided into four by I to IV, and the area is I in the initial state.
[0038]
In step S302, each variable such as a counter, a flag, and a memory used for the subsequent determination is initialized. At this time, the initial value of the variable gksyflg that controls the switching of the eye search area is 1.
[0039]
In step S303, it is determined whether or not the eye search area change flag is set. After the initialization of each variable in step S302, since the eye search area change flag has not been set, the process proceeds to step S304.
[0040]
In step S304, variables that need to be initialized each time one image data is determined are initialized. In step S305, pixel data in the eye search area is read out, and in step S306, eye candidate data serving as curve data (in the transition step, the curve data is referred to as continuous data).
[0041]
The processing contents in steps S305 and S306 will be described with reference to the flowchart of FIG. 6 and the explanatory diagrams of FIGS.
[0042]
First, in step S601, the face of the driver is photographed by the camera, and one frame of the input image is converted into a digital signal and stored in the image memory. In step S602, point extraction processing is performed on the eye search area I as shown in FIG. 7, and after the completion of one line, processing is shifted to the next adjacent line, and point extraction is performed on all lines in a predetermined direction. It is determined whether or not has been completed.
[0043]
If it is determined in step S602 that point extraction has not been performed on all lines, the process proceeds to step S603. In step S603, arithmetic mean averaging of the density values of one line in a predetermined direction is performed. This processing is intended to eliminate small variations in the change in density value when capturing image data, and to capture a global change in density value. FIG. 8A shows a processing result of the arithmetic averaging operation of the line data of Xa in FIG.
[0044]
In step S604 of FIG. 6, a differential operation is performed on the arithmetic mean value that is the operation result of step S603. This processing result is shown in FIG.
[0045]
In step S605 in FIG. 6, point extraction is performed using the differential value that is the result of the operation in step S604. In the point extraction method, points (p1 to p10) at which the differential value changes from negative to positive, and in FIG. 8A, points at which the graph is convex downward are extracted. This point becomes a one-way peak of the density value on the pixel row. Next, whether or not the change in the density value (q1 to q10) until reaching the point is equal to or less than a predetermined value, is equal to or less than the reference value for the differential value in FIG. Then, the Y coordinate values (a3, a4) are extracted for points having a density change less than or equal to a predetermined value. After this process is completed for one line, the process is switched to the process for the next line in step S606.
[0046]
If it is determined in step S602 that point extraction for all lines has been completed, point extraction as shown in FIG. 9A is performed. That is, in the Xa = X1 line shape in FIG. 7, three points A1, A2, and A3 are extracted. Thereafter, the process proceeds to step S607, in which the Y coordinate values of the extraction points (A1, A2, A3,...) Of the adjacent lines are compared, and if the Y coordinate value is within a predetermined value, (1) continuous data And (2) the continuous start line number and (3) the number of continuous data.
[0047]
Here, since the detection target is an eye, the feature amount thereof can be data that continues relatively long in the horizontal direction, so that continuous data can be extracted on the condition that the data continues in the horizontal direction by a predetermined value or more. Therefore, as a result of the processing in step S607, continuous data of G1 and G2 as shown in FIG. 9B can be recognized as curve data.
[0048]
After extracting the continuous data in step S306, the process proceeds to step S307. In step S307, the state of the variable gksyflg that controls the switching of the eye search area is determined. Since the initial value of gksyflg is 1 as described in step S302, the process proceeds to step S308. In step S308, it is determined whether or not continuous data exists in the eye search area. If there is one or more continuous data, the process proceeds to step S312. If there is no data, the process proceeds to step S309, and the
[0049]
In step S311, a search
[0050]
When the driver's face is almost at the center of the screen as shown in I of FIG. 11, in step S306, continuous data of eyebrows and eyes is extracted as shown in I of FIG. However, when the driver's face comes to a position as shown in II in FIG. 11 depending on the driving posture or physique, continuous data does not exist in the eye search area I. This situation can be reliably grasped by repeating the process a plurality of times. This state is determined in step S310, and a search
[0051]
The initial positions of the divided eye search areas and the switching order thereof are intended to detect the position of the driver's left eye earlier and more reliably. The reason is that in a normal driving posture, the left eye of the driver is most stochastically included in the region I, followed by the region II in which the position of the face is lowered due to the physique difference. Because. In addition, the reason why the driver's left eye is focused on is that in the case of a right-hand drive car, the image of the driver's right eye may be significantly deteriorated by the direct sunlight from the right side in consideration of the light environment in the passenger compartment. is there. Therefore, the setting and switching order of this area is left-right symmetric when the vehicle is a left-hand drive vehicle.
[0052]
As shown in FIG. 9B, the number of pieces of continuous data in the divided eye search area is limited as described above. Can be simplified, and the eye position detection accuracy can be improved.
[0053]
Next, a method for further improving the eye position detection accuracy after step S312 in the flowchart of FIG. 3 will be described.
[0054]
In step S312, the judgment value of each continuous data is read. In step S313, the slope of the continuous data is calculated from the vertical position of the continuous start point and the vertical position of the continuous end point, which are one of the determination values. This is a step of calculating and deleting continuous data having a large inclination. If it is assumed that the data is continuous data of eyes, data that is equal to or more than the inclination of the face can be deleted. This is to improve eye detection accuracy by reducing at least one candidate data from the eye selection targets.
[0055]
In step S314, similarly to step S307, the state of the variable gksyflg that controls switching of the eye search area is determined. Also here, since the initial value of gksyflg is 1, the flow shifts to step S315. In step S315, the same determination as in step S308 is performed after deleting the continuous data having a large inclination in step S313.
[0056]
Also in step S315, it is determined whether or not continuous data exists after deletion in the eye search area. If there is one or more continuous data, the process proceeds to step S401 in FIG. If there is no data, the process proceeds to step S316, and the
[0057]
In step S317, it is determined whether or not the
[0058]
In step S318, a search
[0059]
In step S401 in FIG. 4, as shown in FIG. 12, the uppermost continuous data in the eye search area is detected. After that, the process shifts to step S403 to determine whether or not the appearance of the uppermost continuous data is stable. The condition for stabilizing the appearance of the uppermost continuous data is that it is determined that the uppermost continuous data continuously appears a predetermined number of times at an equivalent position allowing an extraction error of the continuous data in the eye search area. If this condition is not satisfied, the process moves to step S419, and it is determined whether or not the appearance state of the uppermost continuous data satisfies the unstable condition. The instability condition is a state in which the position of the topmost continuous data varies for each processing of each frame, and is counted up each time the continuous data position is different. The condition has been met. Therefore, the process until the unstable condition is satisfied returns to step S304, and the process proceeds to extraction of continuous data of the next frame.
[0060]
If the unstable condition is satisfied in step S419 before the appearance of the uppermost continuous data is stabilized in step S403, the process proceeds to step S404. In step S404, the search
[0061]
As a method of changing the eye search area, as shown in FIG. 13, the upper part of the search area is cut and reduced based on the top position of the continuous data that appears in the search area of the same eye. By this processing, a background pattern which tends to frequently appear in an unstable state or an area based on continuous data of splashed hair is deleted. When the continuous state at the uppermost end is unstable as shown in FIG. 13, the search area of the eye is reduced stepwise, and the continuous data does not appear in the reduced area as shown in FIG. In this case, it is possible to switch from the eye search area I to the eye search area II in step S308 or step S315 in FIG. 3, and to switch the eye search area to a position of the eye in the image data shown in FIG.
[0062]
If the eyes or eyebrows can be captured as the uppermost continuous data in the eye search area in this way, the appearance of the uppermost continuous data is very stable, and the stability condition in step S403 should be easily satisfied. Can be. At this time, gksyflg is set to 0, and the flow shifts to step S405. In step S405, it is determined whether or not gksyflg is 0. If it is 0, the process proceeds to step S406, and the eye detection accuracy is further determined based on the topmost continuous data position that has stably appeared. In order to improve the image quality, a reduced second area which is reduced in the vertical direction and expanded in the horizontal direction is set as the determination area shown in FIG. In this area, it is determined whether the detected continuous data is an eye or an eyebrow based on the appearance state of one or two continuous data appearing from the upper part in the same area.
[0063]
After setting the reduced second area in step S406, gksyflg is set to 88. If gksyflg is 88 in step S407, the process proceeds to step S408.
[0064]
In step S408, one or two continuous data appearing in the reduced second area shown in FIG. 15 are detected, and the corresponding continuous data is determined to be the eyebrow or eye or eyeglass frame depending on the length and positional relationship of the continuous data. Is determined, and the flow advances to step S409.
[0065]
In step S409, the eye or eyebrow is detected by capturing that continuous data that appears stably in a symmetrical positional relationship appears. As shown in FIG. 15, when the uppermost continuous data stably appearing in the eye search area is one side of the eye or eyebrow, it is long horizontally in the left-right direction based on the continuous data. (Based on the center coordinates of the topmost curve data) By detecting up to two consecutive data from the top in the reduced second region, the other eye or eyebrow in the target relationship can be detected. Also in these two continuous data, as in the case of the uppermost continuous data, when they are eyes or eyebrows, they appear at the same position and at the same interval. Therefore, the stability condition can be easily satisfied as in the case of step S403.
[0066]
If the appearance of the corresponding continuous data is not stable in step S409, or if the interval between two continuous data as shown in FIG. Is not an eye or eyebrow, and the flow shifts to step S420. FIG. 16 shows an example in which the background pattern has been detected as stable topmost continuous data. Even in such a case, the corresponding noise data can be removed by the determinations in steps S408 and S409. The reason is that if the data is continuous data such as a background pattern or bouncing hair, it is difficult to stabilize even if it appears alone, and there is another continuous data at the same height and at a predetermined distance or more. Is extremely small.
[0067]
In step S420, it is determined whether or not the appearance state of the symmetric continuous data satisfies the unstable condition. As described above, the unstable condition is a state in which the position and length of continuous data that is symmetrical in the left and right directions are detected for each processing of each frame, and the state is counted up each time the continuous data and length are different. , The unstable condition is satisfied when the number of times exceeds a predetermined number. Therefore, the process until the unstable condition is satisfied returns to step S304 and shifts to extraction of continuous data of the next frame. When this process is repeated, since gksyflg is 88, the flow proceeds in the order of steps S307, S312, S313, S314, S407, S408, S409, and S420, and the uppermost end continuous data is not detected.
[0068]
If the unstable condition is satisfied in step S420 before the appearance of the symmetric continuous data is stabilized in step S409, the process proceeds to step S410. In step S410, the search
[0069]
Also, by initializing gksylfg to 1 in step S302, the stability condition determination of the topmost continuous data in the reduced eye search area is returned again. If the stable topmost continuous data is detected again in the reduced eye search area, the stability condition of the symmetrical continuous data is determined again based on the continuous data, and the stability of the symmetrical continuous data is determined. The same determination is repeated until the condition is satisfied. Therefore, in this case as well, as shown in FIG. 17, the eye search area is reduced stepwise, and if continuous data does not appear in the eye search area, the eye search is performed in step S308 or step S315. By switching from the region I to the region II, the eye search region can be switched to a position where the eye exists in the image data shown in FIG.
[0070]
Next, as shown in FIG. 19, when the driver wears glasses and only one continuous data in steps S408 and S409 appears, or when two continuous data appear, one of them is very long. Will be described.
[0071]
In the case of a driver wearing black frame glasses, continuous left and right data in the reduced second area may be integrated. In such a case, instead of determining the interval between two continuous data, the determination can be made based on whether or not the length of the target continuous data is equal to or longer than a predetermined value.
[0072]
If stable left-right symmetric continuous data is detected in step S409, the variable gksyflg that controls switching of the eye search area is set to 99. In step S411, after confirming that the state of gksyflg is 99, the process proceeds to step S412.
[0073]
The reduced area in step S412 is defined as a reduced first area, and is an area that is set to be small around the driver's left eye in the case of an eye inside the vehicle as shown in FIG. The center of the continuous data on the right side of the symmetric continuous data is used as a reference for setting the area.
[0074]
Next, correction when setting the reduced first area will be described with reference to FIG. When the driver is wearing glasses, the uppermost continuous data detected in the range of the eye search area is as shown in FIG. 21A, and the center coordinates in the horizontal direction of the uppermost continuous data are as follows. May not match eye position. If the reduced first area is set using these coordinate values as they are, the left eye of the driver may not be able to catch the central part of the area, as shown in FIG. In such a case, it is determined that the topmost continuous data is longer than a predetermined value, and it is recognized that the user is wearing glasses. As shown in FIG. , The entire length L2 of the corresponding continuous data is calculated, and L2 is divided by a predetermined ratio a: b to set the reduced second region after correction. With this correction, the section D is corrected, and the eye can be detected at the center of the reduced first area. By performing the eye detection in the reduced first region of FIG. 22 which is set small around the left eye of the driver in this way, the eye selection formula can be greatly simplified, and the detection accuracy can be improved. is there. In addition, in the detection before using this selection formula, since it is assumed that the frame is an eyebrow, eye, or eyeglass frame, one or two continuous data in a limited area is detected from the upper part. This is a repetition of the judgment in a very simple form.
[0075]
Finally, a method of specifying the position of the eye in the processing after step S413 will be described.
[0076]
In step S413, a determination formula is created based on the relative positional relationship of limited facial components such as frames of eyeglasses, eyebrows, and eyes, and continuous data is selected according to which one of the expressions. In this selection, if the pattern does not match any pattern, the process shifts from step S414 to step S416, increments the
[0077]
In step S417, the same determination is repeated until the
[0078]
If there is continuous data that matches the eye selection formula in step S414, the process moves to step S415. In step S415, the stability condition value is calculated on the condition that the appearance position of the continuous data specified as the eye is detected a plurality of times at the same position.
[0079]
Thereafter, the stability condition is determined in step S501 of FIG. If the stability condition is not satisfied, a determination is made in step S502 as to a variation in coordinate data from a change in position coordinates of each eye in each frame. If it is determined in step S502 that there is no variation, the process returns to step S304, and the processing when gksyflg is 99 is repeated. If it is determined in step S502 that the coordinates vary, the process proceeds to step S503, and the
[0080]
In step S504, it is determined whether or not the variation counter for counting the variation state has exceeded 10, and the same processing is repeated until the variation counter has exceeded 10. If so, the search
[0081]
If the coordinate position of the continuous eye data is stable in step S501, the coordinates of the eye are output in step S506.
[0082]
The overall processing flow has been described above with reference to the flowcharts of FIGS. 3 to 5. In the present embodiment, the description has been made in the order of setting the reduced second area and then setting the reduced first area. Even if the setting of the reduced second region is omitted, it is possible to improve the eye detection accuracy as compared with the conventional example.
[Brief description of the drawings]
FIG. 1 is a functional block diagram of an embodiment of the present invention.
FIG. 2 is a block diagram showing a configuration of one embodiment of the present invention.
FIG. 3 is a flowchart illustrating an operation of the embodiment.
FIG. 4 is a flowchart illustrating the operation of the embodiment.
FIG. 5 is a flowchart showing the operation of the embodiment.
FIG. 6 is a flowchart illustrating the operation of the embodiment.
FIG. 7 is an explanatory diagram related to a process in a flowchart.
FIG. 8 is an explanatory diagram relating to processing in a flowchart.
FIG. 9 is an explanatory diagram related to a process in a flowchart.
FIG. 10 is an explanatory diagram related to a process in a flowchart.
FIG. 11 is an explanatory diagram related to a process in a flowchart.
FIG. 12 is an explanatory diagram related to a process in a flowchart.
FIG. 13 is an explanatory diagram related to a process in a flowchart.
FIG. 14 is an explanatory diagram related to a process in a flowchart.
FIG. 15 is an explanatory diagram related to a process in a flowchart.
FIG. 16 is an explanatory diagram related to a process in a flowchart.
FIG. 17 is an explanatory diagram related to a process in a flowchart.
FIG. 18 is an explanatory diagram related to a process in a flowchart.
FIG. 19 is an explanatory diagram related to a process in a flowchart.
FIG. 20 is an explanatory diagram related to a process in a flowchart.
FIG. 21 is an explanatory diagram related to a process in a flowchart.
FIG. 22 is an explanatory diagram related to a process in a flowchart.
FIG. 23 is an explanatory diagram according to a conventional example.
FIG. 24 is an explanatory diagram according to a conventional example.
[Explanation of symbols]
CL1 Eye search area setting and changing means (search area setting means, search area changing means, search area change command means, first and second search area cutting means)
CL2 Image input means
CL3 Density detection means for vertical pixel row of face
CL4 Point extraction means in each pixel column
CL5 Curve data extraction means
CL6 Curve data number confirmation means (curve data confirmation means, curve data judgment means)
CL7 Uppermost curve data detecting means in a predetermined area
CL8 First stability condition judging means for uppermost curve data
CL9 Reduction second area setting means
CL10 Curve data determination means in reduced second area (curve data extraction means, feature quantity determination means, second stability condition determination means)
CL11 Reduction first area setting means
CL12 Reduction first area setting correction means
CL13 Eye position detecting means
21 TV camera
22 AD converter
23 Image memory
24 Image data operation circuit
25 Eye position detection circuit
Claims (9)
前記曲線データ確認手段により曲線データが確認された場合に前記眼の検索領域の最上端の曲線データを検出する最上端曲線データ検出手段と、前記最上端の曲線データが複数回同等位置に出現することを条件に安定と判定する最上端の曲線データの第1安定条件判定手段と、前記第1安定条件判定手段の判定により最上端の曲線データの出現が安定した場合に前記最上端の曲線データを基準とした縮小第1領域を設定する縮小第1領域設定手段と、前記縮小第1領域内に出現する曲線データから眼の位置を検出する眼位置検出手段からなることを特徴とする眼位置検出装置。The eye position detection device according to claim 1,
When the curve data is confirmed by the curve data confirmation means, the top curve data detection means for detecting the top curve data of the eye search area, and the top curve data appears at the same position a plurality of times. A first stability condition determining means for the uppermost curve data which is determined to be stable on the condition that the uppermost curve data is stable when the appearance of the uppermost curve data is stabilized by the determination by the first stability condition determining means. A first reduced area setting means for setting a first reduced area based on an eye position; and an eye position detecting means for detecting an eye position from curve data appearing in the first reduced area. Detection device.
前記第1安定条件判定手段の判定により最上端の曲線データの出現が安定しない場合に前記最上端の曲線データを基準として眼の検索領域上部をカットする眼の第1検索領域カット手段を設け、前記最上端曲線データ検出手段は、前記カット後の眼の検索領域内において再度最上端の曲線データを検出することを特徴とする眼位置検出装置。The eye position detection device according to claim 1 or 2,
When the appearance of the uppermost curve data is not stable as determined by the first stability condition determination means, first eye search area cutting means for cutting the upper part of the eye search area based on the uppermost curve data is provided, The eye position detecting device, wherein the uppermost curve data detecting means detects the uppermost curve data again in the eye search area after the cut.
前記第1安定条件判定手段の判定により最上端の曲線データの出現が安定した場合に前記最上端の曲線データを基準として領域を上下方向に縮小すると共に左右方向に拡大した縮小第2領域を設定する縮小第2領域設定手段と、前記縮小第2領域において出現する曲線データを上部より一つ又は二つを抽出する曲線データ抽出手段と、該曲線データ抽出手段により抽出された曲線データの位置関係、長さの少なくとも一方を判定する曲線データの特徴量判定手段と、前記曲線データ抽出手段により抽出された曲線データが複数回同等位置、同等長さで出現することを条件に安定と判定する曲線データの第2安定条件判定手段と、を備え、前記縮小第1領域設定手段は、前記第2安定条件判定手段の判定により曲線データの出現が安定した場合に該曲線データを基準とした縮小第1領域を設定することを特徴とする眼位置検出装置。The eye position detection device according to claim 2 or 3,
When the appearance of the uppermost curve data is stabilized by the determination of the first stability condition determining means, the area is reduced in the vertical direction based on the uppermost curve data and the reduced second area expanded in the horizontal direction is set. A second reduced area setting means, a second curve data extracting means for extracting one or two pieces of curve data appearing in the second reduced area from above, and a positional relationship between the curve data extracted by the curve data extracting means. A curve data characteristic amount determining unit that determines at least one of the lengths, and a curve that is determined to be stable on condition that the curve data extracted by the curve data extracting unit appears a plurality of times at the same position and the same length. comprising a second stable condition judging means of the data, and the reduced first area setting means, if the appearance of the curve data is determined in the second stable condition judging means is stabilized Eye position detecting device and sets the reduced first region relative to the curve data.
前記第2安定条件判定手段の判定により前記縮小第2領域内の曲線データの出現が安定しない場合に前記曲線データを基準として眼の検索領域上部をカットする眼の第2検索領域カット手段を有し、前記最上端曲線データ検出手段は、カット後の眼の検索領域内において再度最上端の曲線データを検出することを特徴とする眼位置検出装置。The eye position detection device according to claim 4,
When the appearance of the curve data in the reduced second area is not stable as determined by the second stability condition determining means, the image processing apparatus includes second eye search area cutting means for cutting an upper part of the eye search area based on the curve data. The eye position detecting device, wherein the uppermost curve data detecting means detects the uppermost curve data again in the search area of the eye after cutting.
前記縮小第2領域内の安定条件を満たした曲線データの状態に応じて前記縮小第1領域の設定を補正する縮小第1領域設定補正手段を有することを特徴とする眼位置検出装置。The eye position detection device according to claim 4 or 5,
An eye position detection device comprising: a reduced first area setting correction unit that corrects the setting of the reduced first area according to the state of the curve data satisfying the stability condition in the reduced second area.
前記縮小第1領域設定補正手段は、前記縮小第2領域内において安定条件を満たした曲線データの長さが所定値を上回るとき前記縮小第1領域の設定を補正することを特徴とする眼位置検出装置。The eye position detecting device according to claim 6,
Wherein the first reduced area setting correction means corrects the setting of the first reduced area when the length of the curve data satisfying the stability condition in the second reduced area exceeds a predetermined value. Detection device.
前記縮小第2領域設定手段は、前記最上端の曲線データの中心座標を基準に縮小第2領域を設定することを特徴とする眼位置検出装置。A eye position detecting device according to any one of claims 4-7,
The eye position detecting apparatus according to claim 1, wherein the reduced second area setting means sets the reduced second area based on the center coordinates of the uppermost curve data.
前記縮小第2領域内に出現する左右二つの曲線データの間隔が所定値を下回るときは、曲線データが確認されなかったと判断する曲線データ判断手段を備え、
前記検索領域変更指令手段は、前記曲線データ判断手段により、曲線データが確認されなかったと判断された場合に前記複数個に分割した他の眼の検索領域に変更すべく前記眼の検索領域変更手段に出力することを特徴とする眼位置検出装置。A eye position detecting device according to any one of claims 4-8,
When the interval between the two left and right curve data appearing in the reduced second area is smaller than a predetermined value, the data processing device includes a curve data determination unit that determines that the curve data has not been confirmed
The search area change instructing means, when the curve data determining means determines that the curve data is not confirmed, the eye search area changing means to change to the plurality of divided eye search areas. An eye position detection device, which outputs an image to the eye.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25379097A JP3582324B2 (en) | 1997-09-18 | 1997-09-18 | Eye position detector |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25379097A JP3582324B2 (en) | 1997-09-18 | 1997-09-18 | Eye position detector |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1196379A JPH1196379A (en) | 1999-04-09 |
JP3582324B2 true JP3582324B2 (en) | 2004-10-27 |
Family
ID=17256194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25379097A Expired - Fee Related JP3582324B2 (en) | 1997-09-18 | 1997-09-18 | Eye position detector |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3582324B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100343223B1 (en) * | 1999-12-07 | 2002-07-10 | 윤종용 | Apparatus for eye and face detection and method thereof |
JP4151341B2 (en) * | 2002-08-02 | 2008-09-17 | 日産自動車株式会社 | Face condition detection device |
KR100664956B1 (en) * | 2004-11-24 | 2007-01-04 | 삼성전자주식회사 | Method and apparatus for eye detection |
KR100903096B1 (en) | 2007-06-27 | 2009-06-16 | 포항공과대학교 산학협력단 | Eye detection method using eye verification and correction |
-
1997
- 1997-09-18 JP JP25379097A patent/JP3582324B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH1196379A (en) | 1999-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100664425B1 (en) | Object trace device, object trace method, and computer-readable storage medium having a program for tracking object | |
JP2541688B2 (en) | Eye position detection device | |
US7331671B2 (en) | Eye tracking method based on correlation and detected eye movement | |
CN1892702B (en) | Tracking apparatus | |
US20060188130A1 (en) | Apparatus and method for normalizing face image used for detecting drowsy driving | |
US20100094176A1 (en) | Eye opening detection system and method of detecting eye opening | |
US7190811B2 (en) | Adaptive tracking for gesture interfaces | |
US7907752B2 (en) | Face center position detecting device, face center position detecting method, and computer-readable medium | |
CN109928290A (en) | User's detection system | |
CN101029823B (en) | Method for tracking vehicle based on state and classification | |
JP2003317102A (en) | Pupil circle and iris circle detecting device | |
JP2822799B2 (en) | Driver status detection device | |
JP3582324B2 (en) | Eye position detector | |
CN115497056A (en) | Method for detecting lost articles in region based on deep learning | |
JP3312562B2 (en) | Dozing state detection device | |
JPH10255057A (en) | Mobile object extracting device | |
JP2936943B2 (en) | Driver status detection device | |
JP4016694B2 (en) | Face state detection apparatus and method | |
JP5092663B2 (en) | Vehicle control device | |
CN116206341A (en) | Human body infrared image segmentation processing method | |
JPH1044824A (en) | Driver's-eye open/closed state determination device for vehicle | |
JP3444115B2 (en) | Dozing state detection device | |
JP3465566B2 (en) | Eye position detection device | |
JP2932551B2 (en) | Iris position detecting device and driver state detecting device | |
JP3582326B2 (en) | Eye position detector |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040217 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040325 |
|
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: 20040706 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040719 |
|
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: 20080806 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090806 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100806 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |