JP4848303B2 - 眼開閉判別装置及びプログラム - Google Patents

眼開閉判別装置及びプログラム Download PDF

Info

Publication number
JP4848303B2
JP4848303B2 JP2007066611A JP2007066611A JP4848303B2 JP 4848303 B2 JP4848303 B2 JP 4848303B2 JP 2007066611 A JP2007066611 A JP 2007066611A JP 2007066611 A JP2007066611 A JP 2007066611A JP 4848303 B2 JP4848303 B2 JP 4848303B2
Authority
JP
Japan
Prior art keywords
eye
area
face
candidate
threshold
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007066611A
Other languages
English (en)
Other versions
JP2008226106A (ja
Inventor
純也 春日井
敬彦 吉永
勇二 蜷川
重康 魚住
健一 大上
悟 中西
真一 小島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Toyota Central R&D Labs Inc
Aisin Corp
Original Assignee
Aisin Seiki Co Ltd
Toyota Motor Corp
Toyota Central R&D Labs Inc
Aisin Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Aisin Seiki Co Ltd, Toyota Motor Corp, Toyota Central R&D Labs Inc, Aisin Corp filed Critical Aisin Seiki Co Ltd
Priority to JP2007066611A priority Critical patent/JP4848303B2/ja
Publication of JP2008226106A publication Critical patent/JP2008226106A/ja
Application granted granted Critical
Publication of JP4848303B2 publication Critical patent/JP4848303B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、例えば車両等の移動体を運転している運転者等の眼の開閉を判別する眼開閉判別装置及びプログラムに関する。
現在、運転者の眼の開閉状態を検出する眼の状態検出装置(眼開閉判別装置)が実用化されている。
例えば、特許文献1に開示されている眼の状態検出装置は、二値化した顔画像の眼球存在領域内を縦方向に走査し、連続黒色画素を検出することによって眼を検出する。そして、眼の状態検出装置は、眼の最大の連続黒色画素の数に基づいて眼の開閉を判別する。
しかし、上記の眼の状態検出装置は、眼が細い場合、開眼時と閉眼時の上下瞼の距離の差が少ない為に眼の開閉状態を誤検出しやすかった。また、特に、車両内で使用される場合のように、暗い場所で使用されるときには画像の解像度が低くなってしまう為に眼に相当する連続黒色画素を検出することが困難であった。
特許第2822799号公報
本発明は、上記問題点に鑑みてなされたもので、正確に眼の開閉を判別できる眼開閉判別装置及びプログラムを提供することを目的とする。
上記目的を達成するために、本発明の第1の観点に係る眼開閉判別装置は、
異なったタイミングで取得した対象者の顔の複数の画像を記憶する顔画像記憶手段と、
前記画像を処理して眼の候補を抽出し、前記候補のエッジラインにより閉じた領域の面積の時間軸に沿った変化が、瞬きに起因する変化を含む場合に、前記候補を眼と判別する眼検出手段と、
眼と判別された前記候補の前記面積と第1閾値とを比較して、前記面積が前記第1閾値以上である場合に、前記対象者の眼が開いていると判別し、前記面積が前記第1閾値未満である場合に、前記対象者の眼が閉じていると判別する眼開閉判別手段と、を備える、
ことを特徴とする。
例えば、前記眼検出手段は、
前記候補の縦エッジと横エッジとを抽出し、前記縦エッジと横エッジとに囲まれる範囲の前記面積を計測し、前記縦エッジと横エッジとに囲まれる範囲の前記面積の時間軸に沿った変化が瞬きに起因する変化を含む場合に、前記候補を眼と判別してもよい。
例えば、前記眼検出手段は、
瞬きを検出しない期間における前記面積の標準偏差が第2閾値以下である場合に、前記候補を眼と判別してもよい。
例えば、前記眼検出手段は、
前記複数の画像において眼の位置を検出し、
眼と判別された前記候補の前記面積の最大値と最小値とに基づいて前記第1閾値を決定する閾値決定手段をさらに備えてもよい。
例えば、前記第1閾値は、
眼と判別された前記候補の前記面積の最大値と最小値との和を2で割った値であってもよい。
本発明の第2の観点に係るプログラムは、
コンピュータを、
異なったタイミングで取得した対象者の顔の複数の画像を記憶する顔画像記憶手段、
前記画像を処理して眼の候補を抽出し、前記候補のエッジラインにより閉じた領域の面積の時間軸に沿った変化が、瞬きに起因する変化を含む場合に、前記候補を眼と判別する眼検出手段、
眼と判別された前記候補の前記面積と第1閾値とを比較して、前記面積が前記第1閾値以上である場合に、前記対象者の眼が開いていると判別し、前記面積が前記第1閾値未満である場合に、前記対象者の眼が閉じていると判別する眼開閉判別手段、
として機能させることを特徴とする。
本発明によれば、正確に眼の開閉を判別できる。
以下、本発明の実施形態に係る眼開閉判別装置50について説明する。
眼開閉判別装置50は、図1に示すように、ドライバーの顔を撮影して顔画像を生成するカメラ10と、ドライバーの顔を照明する照明光源12と、ドライバーの眼を検出し、その開閉を判別するコンピュータ14と、コンピュータ14に接続された表示装置16と、から構成される。
カメラ10は例えばCCDカメラ等から構成され、ドライバーの顔の階調画像を一定周期(例えば、1/30秒)で取得し、出力する。カメラ10から順次出力される顔画像は、ドライバーの顔(の画像)だけでなく、その背景(の画像)なども含む。
表示装置16は、LCD(Liquid Crystal Display)又はCRT(Cathode Ray Tube)などから構成され、眼の開閉状況等を表示する。
コンピュータ14は、カメラ10により取得された顔動画像を処理してその眼の開閉を判別する装置である。コンピュータ14は、図2に示すように、A/D変換器21と、画像メモリ22と、ROM(Read Only Memory)23と、CPU(Central Processing Unit)24と、RAM(Random Access Memory)25と、表示制御装置26と、光源制御装置27と、設定メモリ28と、操作装置29と、から構成される。
A/D(アナログ/ディジタル)変換器21は、カメラ10で撮影されたアナログ画像信号をディジタル信号に変換する。
画像メモリ22は、カメラ10により生成され、A/D変換器21でディジタル化された画像データを格納する。
ROM23は、CPUの動作を制御するためのプログラムを記憶する。また、ROM23は、後述する画像処理を実行するための様々な固定データを記憶する。
CPU24は、コンピュータ14全体を制御する。また、CPU24は、ROM23に格納されているプログラムを実行することにより、カメラ10により取得された一連の顔画像を処理して眼を検出し、眼の開閉を判別する。
RAM25は、CPU24のワークエリアとして機能する。
表示制御装置26は、CPU24の制御のもと、映像データ等を表示装置16が出力可能なデータ形式に変換し、表示装置16に出力する。
光源制御装置27は、照明光源12の点灯・消灯を制御する。
設定メモリ28は、図4に示すような各種パラメータを予め格納する。各種パラメータは、CPU24が、RAM25に格納される顔画像から眼を検出する際に使用される。詳細は、後述する。
操作装置29は、ユーザから操作情報を受け付け、操作に応じた操作信号をCPU24に送出する。
次に、ROM23に格納される固定データの例を、図3を参照しながら説明する。まず、ROM23は、図3(a)に示すような、縦エッジ検出用ソーベルフィルタのオペレータを格納する。縦エッジ検出用ソーベルフィルタは、図3(c)に示すような横方向の濃淡差を強調するためのオペレータである。また、ROM23は、図3(b)に示すような、横エッジ検出用ソーベルフィルタのオペレータを格納する。横エッジ検出用ソーベルフィルタは、図3(d)に示すような横方向の濃淡差を強調するためのオペレータである。
ただし、前提として、顔画像を構成する各画素は、RGBの各色が8ビットの諧調を有するように設定されており、第0階調〜第255階調の256階調の内いずれかの諧調を有するものとする。第0階調は黒、第255階調は白である。
設定メモリ28に格納される各種パラメータの例を、図4を参照しながら説明する。
先ず、眼検出用ソーベル閾値は、顔画像から眼候補を抽出する際に横エッジ検出用ソーベルフィルタを用いて処理した各画素の微分値から、横エッジラインか否かを判別するための閾値である。また、眼検出用ソーベル閾値は、顔画像から眼候補を抽出する際に縦エッジ検出用ソーベルフィルタを用いて処理した各画素の微分値から、縦エッジラインか否かを判別するための閾値でもある。
眼領域設定パラメータa,bは、検出された顔位置と鼻孔位置とから眼が存在すると推定される眼領域を算出するためのパラメータである。
閾値Lth,Cxth,Dthは、眼候補となるエッジラインペアを抽出するために使用する閾値である。
閾値Ath,σthは、眼候補から眼を判別するために使用する閾値である。
以下、上記構成を有する第1の実施形態に係る眼開閉判別装置50の動作を説明する。
まず、図3〜6を参照して、眼開閉判別装置50が、顔画像中の眼を検出する動作の概要を説明する。
カメラ10は、図5(a)に示すような対象者の顔画像を所定周期(例えば、1/30秒周期)で撮影して顔画像を出力する。出力された顔画像は画像メモリ22に順次格納される。
次に、CPU24は、画像メモリ22に格納されている顔画像を順次読み出し、以下の処理を行う。
先ず、CPU24は、縦エッジ検出用ソーベルフィルタ(図3(a))を用いて、読み出した顔画像を処理し、その顔画像の各画素の輝度値に基づいて顔の左右端を検出する。また、CPU24は、横エッジ検出用ソーベルフィルタ(図3(b))を用いて、読み出した顔画像を処理し、その顔画像の各画素の輝度値に基づいて顔の上下端を検出する。
例えば、図5(a)に示す顔画像の場合、顔の左右端は、x=i,jであり、上下端は、y=m,nである。顔の左右端と上下端から、顔の位置が検出できる。
CPU24は、i≦x≦j,(m+n)/2≦y≦nの範囲から鼻孔の位置を検出する。具体的には、CPU24は、顔画像の上記の範囲内において所定の輝度値以下の画素が縦方向と横方向に3〜5画素分連続しているものを鼻孔として検出する。
CPU24は、設定メモリ28に格納されているパラメータと検出した顔位置と鼻孔位置とに基づいて図5(b)に示すような、眼が含まれると推定される眼領域を抽出する。図5(a)に示す図を用いて、具体的に説明すると、顔の左右端が、x=i,jであり、上下端が、y=m,nであり、鼻孔位置のy座標がuである場合、図4に示されるような、設定メモリ28に格納される眼領域設定パラメータa,bを用いて、眼領域は、i≦x≦j且つv≦y≦w(ただし、v=m+b,w=u−a)で表される。
CPU24は、横エッジ検出用ソーベルフィルタ(図3(b))を用いて眼領域の画像内の横エッジラインを抽出する処理を行う。ここで、CPU24は、横エッジ検出用ソーベルフィルタを用いて処理した各画素の微分値が眼検出用横ソーベル閾値(図4)以上である画素の連なりを横エッジラインと判別する。
その結果、図5(c)に示すように、y軸方向に明るい画素から暗い画素に移るエッジラインがマイナスエッジとして表され、y軸方向に光度が暗い画素から明るい画素に移るエッジラインがプラスエッジとして現れる。なお、図面上は、マイナスエッジを実線で、プラスエッジを破線で表す。
次に、CPU24は、求めたマイナスエッジラインとプラスエッジラインとから、次の三つの数式を満たすマイナスエッジとプラスエッジの組み合わせを抽出する。
Lp−Lm<Lth・・・(1)
ただし、Lpはプラスエッジの長さを表す値であり、Lmはマイナスエッジの長さを表す値であり、Lthは閾値である。ただし、閾値Lthは、図4に示されるように、設定メモリ28に格納されている。数式(1)を満たすマイナスエッジとプラスエッジとの長さは閾値Lthの範囲で近似している。
Cxp−Cxm<Cxth・・・(2)
ただし、Cxpはプラスエッジの重心のx座標であり、Cxmはマイナスエッジの重心のx座標であり、Cxthは閾値である。ただし、閾値Cxthは、図4に示されるように、設定メモリ28に格納されている。数式(2)を満たすマイナスエッジとプラスエッジとの重心のx座標は閾値Cxthの範囲で近似している。
Dg<Dth・・・(3)
ただし、Dgはマイナスエッジの重心とプラスエッジの重心との間の距離であり、Dthは閾値である。ただし、閾値Dthは、図4に示されるように、設定メモリ28に格納されている。数式(3)を満たすマイナスエッジとプラスエッジとの重心間距離は閾値Dth以内である。
上記三つの数式を使って、抽出されたマイナスエッジとプラスエッジの組み合わせの内、マイナスエッジは上瞼候補とされ、プラスエッジは下瞼候補とされる。
つまり、数式(1)〜(3)を満たすマイナスエッジとプラスエッジの組み合わせは、ある程度、長さが等しく、位置が近く、重心のx座標が一致しているマイナスエッジとプラスエッジの組み合わせである。
図5(d)に、数式(1)〜(3)によりマイナスエッジとプラスエッジの組み合わせの一例を示す。プラスエッジとマイナスエッジとの組み合わせである候補1〜7が対象者の眼の候補である。
CPU24は、横エッジ検出用ソーベルフィルタ(図3(b))を用いて眼領域の画像内の縦エッジラインを抽出する処理を行う。ここで、CPU24は、縦エッジ検出用ソーベルフィルタを用いて処理した各画素の微分値が眼検出用ソーベル閾値(図4)以上である画素の連なりを縦エッジラインと判別する。
CPU24は、図6(a)に示すように、抽出した眼の候補のうちから、検出した横エッジラインと縦エッジラインとにより閉じた領域を形成するものを抽出する。CPU24は、図6(b)に示されるような、閉じた領域を形成する眼の候補の閉じた領域の面積を計測する。例えば、この時点で、図6(a)(b)に示されるように、横エッジラインと縦エッジラインとにより閉じた領域を形成する眼の候補として候補1,2,5,6が抽出される。
CPU24は、異なったタイミングで取得された複数の顔画像を解析して、図7に示すような、所定時間の閉じた領域の面積Sqと所定時間のうちの10秒間の面積Sqの標準偏差を算出し、格納する。次に、CPU24は、次の四つの条件を満たす眼候補を眼と判別する。
先ず、所定時間内の眼候補の横エッジラインのプラスエッジ(下瞼候補)の重心の位置の変化が所定範囲内である。・・・(4)
条件(4)を満たす眼候補は、出現位置が安定しているので誤検出によるものではない可能性が高いといえる。
次に、面積Sq(t)を時間tで一次微分した関数をA(t)とすると、
A(a)=0
となる点が存在する。・・・(5)
面積Sq(t)を時間tで二次微分した関数をB(t)とすると、
t=aを中心とした所定の範囲a−b≦t≦a+b(ただし、b>0)において、
B(t)>Bth
を満たす。・・・(6)
ただし、Bthは閾値である。ただし、閾値Bthは、図4に示されるように、設定メモリ28に格納されている。条件(5)(6)を満たす眼候補は、面積Sq(t)において、瞬きに相当する極小値を取る。
最後に、面積Sq(t)の過去10秒間の標準偏差をσ(t)とすると、
t<a−b,a+b<tにおいて、
σ(t)<σth
を満たす。・・・(7)
ただし、σthは閾値である。ただし、閾値σthは、図4に示されるように、設定メモリ28に格納されている。条件(7)を満たす眼候補の面積Sqの標準偏差σは閾値σth以内である。つまり、条件(7)を満たす眼候補の面積Sqは、瞬きに相当する極小値を取らない範囲において安定していると言える。
CPU24は、上記四つの条件を満たす眼候補を抽出し、抽出した眼候補を眼と判別する。
つまり、CPU24は、出現位置が安定していて、且つ、計測した面積Sqの時間軸に沿った変化が瞬きに相当する極小値を取り、且つ、瞬きがないときの面積Sqが安定している眼候補を眼として判別する。
次に、CPU24は、所定時間内における閉じた領域の面積Sqの最大値と最小値を取得し、それらの数値に基づいて眼の開閉を判別するための閾値を算出する。具体的には、面積Sqの最大値と最小値との和を2で割った値を閾値とする。
CPU24は、現時点の面積Sqの値が上記の閾値より小さいときには、眼は閉じていると判別し、現時点の面積Sqの値が上記の閾値より大きいときには、眼は開いていると判別する。
ここで、本発明の実施形態に係る眼開閉判別装置50が行う眼状態判別処理について図8に示すフローチャートを参照して詳細に説明する。
コンピュータ14内のCPU24は、周期的(例えば、1/30秒毎)に図8の眼状態判別処理を開始する。
先ず、眼開閉判別装置50の電源が投入されると、CPU24は、後述する前処理を行う(ステップS100)。簡単に説明すると、CPU24は、ドライバーの顔画像を取り込み、縦エッジを強調した画像を生成する、また、横エッジを強調した画像を生成する。
次に、CPU24は、後述する顔位置検出処理を行う(ステップS200)。簡単に説明すると、CPU24は、上記の前処理で生成した縦エッジを強調した画像を使用して顔の左右端を検出し、上記の前処理で生成した横エッジを強調した画像を使用して顔の上下端を検出し、顔画像における顔の位置を検出する。
CPU24は、後述する眼候補抽出処理を行う(ステップS300)。簡単に説明すると、CPU24は、上記の顔位置検出処理で検出した顔の位置を使用して顔画像中から眼領域を抽出し、横エッジラインを抽出し、抽出した横エッジラインから上下瞼の候補となる横エッジラインの対(以下眼候補)を抽出する。それから、縦エッジラインを抽出し、横エッジラインと縦エッジラインとにより閉じた領域を形成する眼候補をさらに抽出する。そして、閉じた領域の面積Sqを計測し、計測した値をRAM25に格納する。
CPU24は、後述する眼判別処理を行う(ステップS400)。簡単に説明すると、CPU24は、面積Sqの時間軸に沿った履歴を取得し、閉じた領域の面積Sqが瞬きに相当する極小値を取り、且つ、瞬きがない期間の面積Sqが安定している眼候補を眼として判別する。
CPU24は、後述する眼開閉判別処理を行う(ステップS500)。簡単に説明すると、CPU24は、眼の開閉を判別するための閾値を算出し、算出した閾値に基づいて眼の開閉を判別し、処理を終了する。
このようにして、眼検出処理によれば、顔画像を取得して、その画像から眼を検出することを周期的に繰り返すことができる。
次に、眼状態判別処理のステップS100において行われる前処理を説明する。簡単に説明すると、前処理において、眼開閉判別装置50は、ドライバーの顔画像を撮像し、ソーベルフィルタを使用してエッジ検出を行う。
以下、図9を参照して、前処理(S100)を詳細に説明する。
先ず、CPU24は、カメラ10が撮影した対象者の顔画像をA/D変換器21を介して取り込み、画像メモリ22に格納するキャプチャ処理を行う(ステップS110)。
次に、CPU24は、座標変換処理を行い、画像メモリ22に格納した各顔画像の画素を後述するソーベルフィルタ処理実行可能な程度に間引く処理を行う(ステップS120)。
CPU24は、ROM23に格納されている縦エッジ検出用オペレータ(図3(a))を用いて座標変換後の顔画像を処理して、顔画像内の縦エッジを強調した画像を生成する。また、CPU24は、ROM23に格納されている横エッジ検出用オペレータ(図3(b))を用いて座標変換後の顔画像を処理して、顔画像内の横エッジを強調した画像を生成する(ステップS130)。
このようにして、前処理によれば、撮像した顔画像の縦エッジを強調した画像と横エッジを強調した画像を生成することができる。
ここで、眼検出処理のステップS200において行われる顔位置検出処理を説明する。簡単に説明すると顔位置検出処理において、眼開閉判別装置50は、前処理において生成した縦エッジを強調した画像と横エッジを強調した画像を用いて顔画像における顔の位置を検出する。
以下、図10を参照して、顔位置検出処理(S200)を詳細に説明する。
先ず、CPU24は、後述する顔左右端検出処理を行い、前処理において生成した縦エッジを強調した画像を用いて、顔画像における顔の左右端の位置を検出する(ステップS210)。
次に、CPU24は、後述する顔上下端検出処理を行い、前処理において生成した横エッジを強調した画像を用いて、顔画像における顔の上下端の位置を検出すると(ステップS220)、顔位置検出処理を終了する。
このようにして、顔位置検出処理によれば、顔の左右端と上下端を検出することによって顔画像における顔の位置を検出することができる。
ここで、顔位置検出処理のステップS210において行われる顔左右端検出処理を説明する。簡単に説明すると顔左右端検出処理において、眼開閉判別装置50は、前処理において生成した縦エッジを強調した画像を用いて、顔画像における顔の左右端の位置を検出する。
以下、図11を参照して、顔左右端検出処理(S210)を詳細に説明する。
先ず、CPU24は、縦エッジ検出用ソーベルフィルタを用いたソーベルフィルタ処理後の各画素の値を縦方向に投影してヒストグラムを作成する顔左右端検出用ヒストグラム作成処理を行う(ステップS211)。具体的に述べると、各座標の画素値を何段階かに分割し、x値毎に最も多く各座標の画素値を取る段階を決定する。x値毎の上記段階の平均値のグラフを上記のヒストグラムとする。
CPU24は、ステップS211において作成したヒストグラムにおいて、ピークを取る点(以下、ピーク点)を抽出する(ステップS212)。
CPU24は、ステップS212において抽出したピーク点からそのヒストグラム値が閾値以上のものを顔の左右端候補として抽出する(ステップS213)。
CPU24は、ステップS213の処理の結果、顔の左右端の候補として、ヒストグラム値が閾値以上のピーク点が二つ抽出されたか否かを判別する(ステップS214)。
ヒストグラム値が閾値以上のピーク点が二つ抽出されたと判別すると(ステップS214;YES)、CPU24は、処理をステップS216に進め、抽出した二つのピーク点を取る位置を顔の左右端と決定する(ステップS216)。
ヒストグラム値が閾値以上の二つのピーク点が抽出されていないと判別すると(ステップS214;NO)、CPU24は、ピーク点から、二点の距離が人の顔幅として適切な間隔を有する二つのピーク点の組み合わせを抽出する(ステップS215)。
CPU24は、抽出した二つのピーク点を取る位置を顔の左右端と決定する(ステップS216)。
このようにして、顔左右端検出処理によれば、顔画像において顔の左右端を検出することができる。
ここで、顔位置検出処理のステップS220において行われる顔上下端検出処理を説明する。簡単に説明すると顔上下端検出処理において、眼開閉判別装置50は、前処理において生成した横エッジラインを強調した画像を用いて、顔画像における顔の上下端の位置を検出する。
以下、図12を参照して、顔上下端検出処理(S220)を詳細に説明する。
先ず、CPU24は、横エッジ検出用ソーベルフィルタを用いたソーベルフィルタ処理後の各画素の値を横方向に投影してヒストグラムを作成する顔上下端検出用ヒストグラム作成処理を行う(ステップS221)。具体的に述べると、各座標の画素値を何段階かに分割し、y値毎に最も多く各座標の画素値を取る段階を決定する。y値毎の上記段階の平均値のグラフを上記のヒストグラムとする。
CPU24は、ステップS221において作成したヒストグラムにおいて、ピークを取る点(以下、ピーク点)を抽出する(ステップS222)。
CPU24は、ステップS222において抽出したピーク点のヒストグラム値に基づいて各ピーク点を眼・眉・口等に対応付ける(ステップS223)。
CPU24は、ステップS223において眼・眉・口等に対応付けられた各ピーク点に基づいて、顔画像における顔の上下端の位置を算出する(ステップS224)。例えば、検出した眉から3画素分上の位置を顔の上端とし、検出した口から3画素分下の位置を顔の下端(口と顎の間)とする。
このようにして、顔上下端検出処理によれば、顔画像において顔の上下端の位置を算出することができる。
ここで、眼状態判別処理のステップS300において行われる眼候補抽出処理を説明する。簡単に説明すると、眼候補抽出処理において、眼開閉判別装置50は、先ず、鼻孔の位置を検出する。次に、眼開閉判別装置50は、顔位置検出処理で検出した顔の位置と本処理の始めに検出した鼻孔の位置とに基づいて眼が存在すると推定される特定の領域を抽出する。その後、眼開閉判別装置50は、抽出した領域から横エッジ検出用ソーベルフィルタを用いて、プラスエッジとマイナスエッジを検出し、上記の(1)〜(3)式を満たすエッジラインペアを眼の候補として抽出する。
以下、図13を参照して眼候補抽出処理(S300)を詳細に説明する。
先ず、CPU24は、顔位置検出処理で検出した顔の位置に基づく範囲を、顔画像から所定の輝度値以下の画素が縦方向に3〜5画素分連続している部分を検出する。また、CPU24は、顔位置検出処理で検出した顔の位置に基づく範囲を、顔画像から所定の輝度値以下の画素が横方向に3〜5画素分連続している部分を検出する。CPU24は、それらの重なる部分を鼻孔の位置として検出する(ステップS310)。
CPU24は、顔位置検出処理で検出した顔の位置と鼻孔の位置と眼領域設定パラメータとに基づいて、画像メモリ22に格納した各顔画像から眼が存在すると推定される眼領域の画像を抽出する(ステップS320)。
CPU24は、ROM23に格納されている横エッジ検出用オペレータ(図3(b))を用いてステップS310において抽出した領域の画像を処理して、その画像の各画素の微分値が眼検出用ソーベル閾値以上である画素を横エッジラインと判別し、抽出する(ステップS330)。
CPU24は、ステップS320において抽出した横エッジラインのうちの、プラスエッジの長さLp,マイナスエッジの長さLm,プラスエッジの重心のx座標Cxp,マイナスエッジのx座標Cxm,マイナスエッジの重心とプラスエッジの重心との間の距離Dgを算出する(ステップS340)。
CPU24は、ステップS330において算出した各パラメータを用いて、上記の(1)〜(3)式を満たすマイナスエッジとプラスエッジの組み合わせを眼の候補(以下、眼候補)として抽出する(ステップS350)。
CPU24は、ROM23に格納されている縦エッジ検出用オペレータ(図3(a))を用いてステップS310において抽出した領域の画像を処理して、その画像の各画素の微分値が眼検出用ソーベル閾値以上である画素を縦エッジラインと判別し、抽出する(ステップS360)。
CPU24は、ステップS350において抽出した眼候補のうちから、さらに縦エッジラインと横エッジラインとにより閉じた領域を形成する眼候補を抽出する(ステップS370)。
CPU24は、ステップS370において抽出した眼候補の閉じた領域の面積Sqを計測し、RAM25に記憶させる(ステップS380)。
このように、眼候補抽出処理によれば、眼が存在すると推定される領域において眼の候補となる縦エッジラインと横エッジラインとの組み合わせ(眼候補)を抽出することができる。
ここで、眼検出処理のステップS400において行われる眼判別処理を説明する。簡単に説明すると、眼開閉判別装置50は、眼候補抽出処理で抽出した眼候補のうちから出現する範囲が一定しているものを抽出する。次に、眼開閉判別装置50は、抽出した各眼候補の面積Sqの時間軸に沿った履歴を抽出する。その後、眼開閉判別装置50は、面積Sqの履歴において、瞬きに相当する極小値を取り、且つ、瞬きがない期間において面積Sqが安定している眼候補を眼として判別する。
以下、図14を参照して、眼判別処理(S400)を詳細に説明する。
先ず、CPU24は、眼候補抽出処理で抽出した眼候補の位置及び面積Sqの履歴をRAM25より取得する(ステップS410)。
CPU24は、眼候補抽出処理で抽出した眼候補のうちから、その眼候補の下瞼部分の位置の移動が所定の範囲以内であるもの、つまり上記の条件(4)を満たすものを抽出する(ステップS420)。
CPU24は、ステップS420において抽出した眼候補のうちから、上記の条件(5)(6)を満たすように、面積Sq(t)の二次微分B(t)が閾値以上である極小値を取る眼候補を抽出する(ステップS430)。
CPU24は、ステップS430において抽出した眼候補のうちから、上記の条件(7)を満たすように、瞬きを検出しない期間の10秒間のSq(t)の標準偏差が閾値以下である眼候補を抽出する(ステップS440)。
CPU24は、ステップS440において抽出した眼候補を眼として判別する(ステップS450)。
このようにして、眼判別処理によれば、出現位置が一定しており、且つ、瞬きに相当する動きを取り、且つ、瞬きがない間の動きが少ない眼候補を眼と判別することができる。
ここで、眼検出処理のステップS500において行われる眼開閉判別処理を説明する。簡単に説明すると、眼開閉判別装置50は、RAM25に記憶させている眼の面積の履歴より眼の面積の最大値と最小値とを取得し、それらに基づいて閾値を算出する。次に、眼開閉判別装置50は、算出した閾値とその時点の眼の面積Sqとを比較し、その大小に基づいて眼の開閉を判別する。
以下、図15を参照して、眼開閉判別処理(S500)を詳細に説明する。
先ず、CPU24は、RAM25に記憶させている眼の面積の履歴よりその最大値と最小値とを取得する(ステップS510)。
CPU24は、ステップS510において取得した眼の面積の最大値と最小値との和を2で割った値を閾値として算出する(ステップS520)。
CPU24は、その時点の眼の面積が、算出した閾値より小さいか否かを判別する(ステップS530)。
その時点の眼の面積が、算出した閾値より小さいと判別すると(S530;YES)、CPU24は、眼は閉じている(閉眼である)と判別し(S540)、処理を終了する。
その時点の眼の面積が、算出した閾値より小さくないと判別すると(S530;NO)、CPU24は、眼は開いている(開眼である)と判別し(S550)、処理を終了する。
このように、眼開閉判別処理によれば、眼開閉判別装置50は、眼の面積の最大値と最小値とにより眼の開閉を判別するための閾値を算出し、算出した閾値とその時点での眼の面積とに基づいて眼の開閉を判別することができる。
以上、本発明の実施形態における眼開閉判別装置50は、異なるタイミングで撮像した複数の顔画像より顔の位置を検出する。それから、眼開閉判別装置50は、その顔の位置に基づいて眼が存在すると推定される領域を抽出し、その領域から眼候補を抽出する。眼開閉判別装置50は、抽出した眼候補のうち、出現位置が一定しており、且つ、瞬きに相当する挙動を取り、且つ、その挙動がない間の挙動が比較的安定しているものを眼と判別する。眼開閉判別装置50は、眼の面積の履歴に基づいて閾値を算出し、算出した閾値とその時点の眼の面積とに基づいて眼の開閉を判別する。よって、眼開閉判別装置50は、正確に眼を検出することができる。
なお、この発明は上記実施形態に限定されず、種々の変形及び応用が可能である。
上記実施形態では、眼開閉判別装置50は、眼候補を抽出する際に、ソーベルフィルタを使用したエッジ検出によって抽出したが、画像の濃度勾配を利用した濃度検出によって抽出してもよい。
上記実施形態では、コンピュータ14は、カメラ10が撮影した対象者の顔の動画像について眼状態判別処理を行った。しかし、応用例では、カメラ10以外の外部装置から取得した対象者の顔の動画像を画像メモリ22に格納しておき、その動画像について眼状態判別処理を行ってもよい。また、複数の顔の画像について眼状態判別処理を行ってもよい。
また、上記実施形態では、顔位置検出処理(S200)において、顔画像にソーベルフィルタ処理を施し、その画素値に基づいたヒストグラムから顔位置を検出した。しかし、応用例では、特開2004−310396号公報に開示されているように、撮像画像を構成する各画素について時間微分し、さらに、この時間微分された画像を縦方向に投影してヒストグラムを作成し、エッジ抽出画像のヒストグラムと時間微分画像のヒストグラムとを合計して、合計したヒストグラムのピーク値の高いものを顔の両端として判別し、顔位置を検出するようにしてもよい。
また、顔位置検出処理(S200)において、テンプレートマッチング法を用い、予め登録してある顔のテンプレートを顔画像にマッチングさせて、顔の位置を検出してもよい。
また、眼候補抽出処理と眼判別処理において、テンプレートマッチング法を用い、予め登録してある眼のテンプレートを顔画像にマッチングさせて、眼の位置を検出し、検出した眼の面積を算出し、その面積から眼の開閉を判別してもよい。
なお、本発明に係る眼開閉判別装置は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。たとえば、顔画像を入力可能な構成のコンピュータに、上記動作を実行するためのプログラムを、コンピュータシステムが読みとり可能な記録媒体(フレキシブルディスク、CD−ROM、DVD−ROM等)に格納して配布し、当該プログラムをコンピュータシステムにインストールすることにより、上述の処理を実行する眼開閉判別装置を構成してもよい。また、インターネット等の通信ネットワーク上のサーバ装置が有するストレージに当該プログラムを格納しておき、通常のコンピュータシステムがダウンロード等することで眼開閉判別装置を構成してもよい。
また、上述の機能を、OS(Operating System)とアプリケーションとの分担、またはOSとアプリケーションとの協働により実現する場合などには、アプリケーション部分のみを記録媒体やストレージに格納してもよい。
また、搬送波にプログラムを重畳し、通信ネットワークを介して配信することも可能である。たとえば、通信ネットワーク上のサーバに前記プログラムを格納し、ネットワークを介して前記プログラムを配信してもよい。そして、このプログラムを起動し、OSの制御下で、他のアプリケーションプログラムと同様に実行することにより、上述の処理を実行できるように構成してもよい。
本発明の実施形態に係る瞼検出装置の構成を示すブロック図である。 図1に示すコンピュータの構成を示すブロック図である。 ROMに格納されている各種データを説明するための図である。 設定メモリに格納されている各種データを説明するための図である。 本発明の実施形態に係る瞼候補を抽出する処理の概要を説明するための図である。 本発明の実施形態に係る瞼候補の面積を算出する処理の概要を説明するための図である。 本発明の実施形態に係る瞼を判別する処理の概要を説明するための図である。 本発明の実施形態に係る眼状態判別処理を説明するためのフローチャートである。 眼状態判別処理における前処理を説明するためのフローチャートである。 眼状態判別処理における顔位置検出処理を説明するためのフローチャートである。 顔位置検出処理における顔左右端検出処理を説明するためのフローチャートである。 顔位置検出処理における顔上下端検出処理を説明するためのフローチャートである。 眼状態判別処理における瞼候補抽出処理を説明するためのフローチャートである。 眼状態判別処理における眼判別処理を説明するためのフローチャートである。 眼状態判別処理における眼開閉判別処理を説明するためのフローチャートである。
符号の説明
10 カメラ
12 照明光源
14 コンピュータ
16 表示装置
21 A/D変換器
22 画像メモリ(顔画像記憶手段)
23 ROM
24 CPU(眼検出手段、眼開閉判別手段)
25 RAM
26 表示制御装置
28 設定メモリ
29 操作装置
50 眼開閉判別装置

Claims (6)

  1. 異なったタイミングで取得した対象者の顔の複数の画像を記憶する顔画像記憶手段と、
    前記画像を処理して眼の候補を抽出し、前記候補のエッジラインにより閉じた領域の面積の時間軸に沿った変化が、瞬きに起因する変化を含む場合に、前記候補を眼と判別する眼検出手段と、
    眼と判別された前記候補の前記面積と第1閾値とを比較して、前記面積が前記第1閾値以上である場合に、前記対象者の眼が開いていると判別し、前記面積が前記第1閾値未満である場合に、前記対象者の眼が閉じていると判別する眼開閉判別手段と、を備える、
    ことを特徴とする眼開閉判別装置。
  2. 記眼検出手段は、
    前記候補の縦エッジと横エッジとを抽出し、前記縦エッジと横エッジとに囲まれる範囲の前記面積を計測し、前記縦エッジと横エッジとに囲まれる範囲の前記面積の時間軸に沿った変化が瞬きに起因する変化を含む場合に、前記候補を眼と判別する、
    とを特徴とする請求項1に記載の眼開閉判別装置。
  3. 前記眼検出手段は、
    瞬きを検出しない期間における前記面積の標準偏差が第2閾値以下である場合に、前記候補を眼と判別する、
    ことを特徴とする請求項1又は2に記載の眼開閉判別装置。
  4. 記眼検出手段は、
    前記複数の画像において眼の位置を検出し、
    眼と判別された前記候補の前記面積の最大値と最小値とに基づいて前記第1閾値を決定する閾値決定手段をさらに備える、
    ことを特徴とする請求項1乃至3の何れか1項に記載の眼開閉判別装置。
  5. 前記第1閾値は、
    眼と判別された前記候補の前記面積の最大値と最小値との和を2で割った値である、
    ことを特徴とする請求項に記載の眼開閉判別装置。
  6. コンピュータを、
    異なったタイミングで取得した対象者の顔の複数の画像を記憶する顔画像記憶手段、
    前記画像を処理して眼の候補を抽出し、前記候補のエッジラインにより閉じた領域の面積の時間軸に沿った変化が、瞬きに起因する変化を含む場合に、前記候補を眼と判別する眼検出手段、
    眼と判別された前記候補の前記面積と第1閾値とを比較して、前記面積が前記第1閾値以上である場合に、前記対象者の眼が開いていると判別し、前記面積が前記第1閾値未満である場合に、前記対象者の眼が閉じていると判別する眼開閉判別手段、
    として機能させることを特徴とするプログラム。
JP2007066611A 2007-03-15 2007-03-15 眼開閉判別装置及びプログラム Expired - Fee Related JP4848303B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007066611A JP4848303B2 (ja) 2007-03-15 2007-03-15 眼開閉判別装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007066611A JP4848303B2 (ja) 2007-03-15 2007-03-15 眼開閉判別装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2008226106A JP2008226106A (ja) 2008-09-25
JP4848303B2 true JP4848303B2 (ja) 2011-12-28

Family

ID=39844607

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007066611A Expired - Fee Related JP4848303B2 (ja) 2007-03-15 2007-03-15 眼開閉判別装置及びプログラム

Country Status (1)

Country Link
JP (1) JP4848303B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8879790B2 (en) 2010-02-22 2014-11-04 Toyota Jidosha Kabushiki Kaisha Image processing device and drowsiness assessment device

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3426060B2 (ja) * 1995-07-28 2003-07-14 三菱電機株式会社 顔画像処理装置
JP2000123188A (ja) * 1998-10-20 2000-04-28 Toyota Motor Corp 眼開閉判定装置
JP2000347277A (ja) * 1999-06-03 2000-12-15 Fuji Photo Film Co Ltd カメラ及び撮影方法
JP2001199296A (ja) * 2000-01-17 2001-07-24 Matsushita Electric Ind Co Ltd 警報装置、振動体を有する運転座席、警報装置を車両に搭載した移動体
JP2004341844A (ja) * 2003-05-15 2004-12-02 Digital Fashion Ltd エッジ抽出装置、エッジ抽出プログラム及びエッジ抽出方法

Also Published As

Publication number Publication date
JP2008226106A (ja) 2008-09-25

Similar Documents

Publication Publication Date Title
JP4309928B2 (ja) 瞼検出装置、瞼検出方法、及び、プログラム
JP4307496B2 (ja) 顔部位検出装置及びプログラム
JP4845698B2 (ja) 眼部検出装置、眼部検出方法及びプログラム
JP5262243B2 (ja) 眼開閉判別装置、及びプログラム
JP4895847B2 (ja) 瞼検出装置及びプログラム
JP4739870B2 (ja) サングラス検出装置及び顔中心位置検出装置
JP4912206B2 (ja) 画像処理方法、画像処理装置、画像処理システム及びコンピュータプログラム
EP3466324A1 (en) Skin diagnostic device and skin diagnostic method
JP2005293539A (ja) 表情認識装置
JP4848301B2 (ja) 瞼検出装置及びプログラム
JP2008257575A (ja) 入眠状態検知方法、入眠状態検知装置、入眠状態検知システム及びコンピュータプログラム
CN108921010A (zh) 一种瞳孔检测方法及检测装置
JP4848303B2 (ja) 眼開閉判別装置及びプログラム
JP4895876B2 (ja) 眼検出装置及びプログラム
JP4878273B2 (ja) 眼鏡検出装置、画像処理装置、眼鏡検出方法、及び、コンピュータプログラム
JP4996943B2 (ja) 顔特徴点検出装置、顔特徴点検出方法及びプログラム
JP5128454B2 (ja) 瞼検出装置、瞼検出方法及びプログラム
JP3578321B2 (ja) 画像正規化装置
JP3963789B2 (ja) 眼検出装置、眼検出プログラム、そのプログラムを記録する記録媒体及び眼検出方法
JP2008226189A (ja) 特徴点検出装置及びプログラム
JP4848302B2 (ja) 目検出装置、目検出方法およびプログラム
CN115039149A (zh) 虹膜检测方法、虹膜检测装置以及虹膜检测程序
KR20030081539A (ko) 얼굴 구성 요소 추출 시스템 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100302

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110628

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110829

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: 20111011

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111017

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141021

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4848303

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141021

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141021

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141021

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees