(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0013】
《第1の実施形態》
以下、本発明の第1の実施形態を、図面を参照しつつ説明する。
図1は本実施形態に係る瞼検出装置10の概略的な構成を示すブロック図である。瞼検出装置10は、ドライバの顔が写った画像に基づいて、ドライバの眼の開度を算出する装置である。
図1に示されるように、瞼検出装置10は、演算装置20と、撮影装置30を有している。
【0014】
撮影装置30は、被写体を撮影することにより取得した画像を電気信号に変換して出力する装置である。
図2は、撮影装置30によって撮影された画像IMが示されている。画像IMを参照するとわかるように、この撮影装置30は、車両の運転席に着座するドライバ50の顔が、視野のほぼ中心に位置するように、取り付け角や画角が調整された状態で、例えばステアリングコラム上或いはステアリングに取り付けられている。そして、撮影装置30は、ドライバ50の顔を所定の周期で撮影し、撮影して得た画像に関する情報を演算装置20へ出力する。
【0015】
ここで、説明の便宜上、画像IMの左下のコーナーを原点とするXY座標系を定義し、以下、適宜XY座標系を用いた説明を行う。
【0016】
図1に戻り、演算装置20は、CPU(Central Processing Unit)21、主記憶部22、補助記憶部23、表示部24、入力部25、及びインターフェイス部26を有するコンピュータである。
【0017】
CPU21は、補助記憶部23に記憶されたプログラムを読み出して実行する。CPU21の具体的な動作については後述する。
【0018】
主記憶部22は、RAM(Random Access Memory)等の揮発性メモリを有している。主記憶部22は、CPU21の作業領域として用いられる。
【0019】
補助記憶部23は、ROM(Read Only Memory)、磁気ディスク、半導体メモリ等の不揮発性メモリを有している。補助記憶部23は、CPU21が実行するプログラム、及び各種パラメータなどを記憶している。また、撮影装置30から出力される画像に関する情報、及びCPU21による処理結果などを含む情報を順次記憶する。
【0020】
表示部24は、LCD(Liquid Crystal Display)などの表示ユニットを有している。表示部24は、CPU21の処理結果等を表示する。
【0021】
入力部25は、入力キーや、タッチパネル等のポインティングデバイスを有している。オペレータの指示は、入力部25を介して入力され、システムバス27を経由してCPU21へ通知される。
【0022】
インターフェイス部26は、シリアルインターフェイスまたはLAN(Local Area Network)インターフェイス等を含んで構成されている。撮影装置30は、インターフェイス部26を介してシステムバス27に接続される。
【0023】
図3のフローチャートは、CPU21によって実行されるプログラムの一連の処理アルゴリズムに対応している。以下、
図3を参照しつつ、瞼検出装置10の動作について説明する。
図3のフローチャートに示される一連の処理は、例えば車両のイグニッションスイッチがオンになると実行される。また、ここでは撮影装置30によって、
図2に示される画像IMが撮影されたものとする。
【0024】
まず、最初のステップS201では、CPU21は、撮影装置30から出力された画像IMから、ドライバ50の顔を構成する眼や鼻等が写り込む顔領域A1を検出する。
【0025】
この顔領域A1の検出は、まず、画像IMに対してソーベルフィルタを用いた画像処理を実行し、画像IMに含まれるエッジを抽出する。次に、抽出したエッジの中から、ドライバ50の顔の輪郭Fを示すエッジを検出する。そして、ドライバ50の顔の輪郭Fに囲まれた領域に含まれるエッジから、ドライバ50の眉と口を表すエッジを検出して、ドライバ50の眉と口との位置をおおよそ特定する。眉と口の位置が特定されると、CPU21は、例えば
図4に示されるように、X軸方向の大きさが顔の輪郭Fの大きさとほぼ一致し、ドライバ50の眉及び口を含む最も小さな矩形の領域を、顔領域A1として検出する。
【0026】
次のステップS202では、CPU21は、瞼の検出処理を施す探索領域A2を規定する。顔を構成する眉、目、鼻、及び口の位置関係は、多少の個人差はあるものの顔の輪郭や、眉或いは眼等の部位を基準に概ね特定することができる。したがって、上端に眉が位置し、下端に口が位置するように規定された顔領域A1においては、眼が位置する領域をある程度正確に特定することができる。そこで、CPU21は、顔領域A1に含まれる眉毛の画像の下方に、長手方向をX軸方向とする長方形の探索領域A2を規定する。
【0027】
次のステップS203では、CPU21は、探索領域A2に対してエッジの検出処理を実行する。エッジの検出に際しては、CPU21は、
図5Aに示される水平エッジ検出オペレータと、
図5Bに示される垂直エッジ検出オペレータとを用いる。
【0028】
例えば、CPU21は、まず水平エッジ検出オペレータを用いて、各画素のエッジ値を算出する。このエッジ値は、エッジ値の算出対象となる画素の上側(+Y側)の画素の輝度が高く、下側(−Y側)の画素の輝度が低い場合に+になる。そして、エッジ値の算出対象となる画素の上側(+Y側)の画素の輝度が低く、下側(−Y側)の画素の輝度が高い場合に−になる。そこで、CPU21は、エッジ値が第1の閾値以上の画素と、エッジ値が第2の閾値以下の画素を抽出する。
【0029】
次に、CPU21は、垂直エッジ検出オペレータを用いて、各画素のエッジ値を算出する。このエッジ値は、エッジ値の算出対象となる画素の左側(−X側)の画素の輝度が高く、右側(+X側)の画素の輝度が低い場合に+になる。そして、エッジ値の算出対象となる画素の左側(−X側)の画素の輝度が低く、右側(+X側)の画素の輝度が高い場合に−になる。そこで、CPU21は、エッジ値が第1の閾値以上の画素からなる画素と、エッジ値が第2の閾値以下の画素を抽出する。
【0030】
これにより、例えば
図6に示されるように、眼51,52の上瞼及び下瞼のエッジを構成する画素Dが抽出される。以下、右眼51の上瞼のエッジを画素群G1とし、下瞼のエッジを画素群G2とする。また、左眼52の上瞼のエッジを画素群G3とし、下瞼のエッジを画素群G4とする。
【0031】
次のステップS204では、CPU21は、上瞼探索ウインドを用いた走査を行うことで、上瞼の位置を検出する。
図7は、画素群G1,G2と、画素群G1によって示される上瞼を検出するための上瞼探索ウインドW1を示す図である。
図7に示されるように、上瞼探索ウインドW1は、長手方向をX軸方向とする長方形の水平エッジウインドP1と、水平エッジウインドP1の両端に規定された垂直エッジウインドP2,P3とから構成されている。
【0032】
CPU21は、上瞼探索ウインドW1を、探索領域A2内で例えば1画素に相当する距離ずつ移動させる。そして、同時に水平エッジウインドP1と重なる画素Dのエッジ値の総和と、垂直エッジウインドP2と重なる画素Dのエッジ値の総和から垂直エッジウインドP3と重なる画素のエッジ値の総和を減算した値との合計を評価値として順次算出する。そして、CPU21は、評価値が最大になったときの上瞼探索ウインドW1の位置を右眼51の上瞼の位置として検出する。
【0033】
図8は、評価値が最大となったときの画素群G1と上瞼探索ウインドW1との位置関係を示す図である。
図8に示されるように、評価値が最大となったときには、上瞼探索ウインドW1は、画素群G1と重なった状態となる。CPU21は、右眼51の上瞼の位置を検出すると、同様の手順で左眼52の上瞼の位置を検出する。
【0034】
次のステップS205では、CPU21は、瞼探索領域を設定する。下瞼は、上瞼の下方に位置している。そこで、CPU21は、
図9に示されるように、上瞼のエッジを構成する画素群G1を基準に、上瞼と下瞼とを含む瞼探索領域A3を設定する。同様に、CPU21は、画素群G3を基準に、瞼探索領域A4を設定する。
【0035】
次のステップS206では、CPU21は、瞼探索領域A3,A4内で、眼51,52の目頭及び目尻の位置を特定する。具体的には、CPU21は、目頭を探索するためのテンプレートTP1を、例えば1画素に相当する距離ずつ移動させながら、テンプレートTP1と、当該テンプレートTP1と重なる部分画像との相関値を算出する。そして、相関値が最大となったときのテンプレートTP1の位置を、眼51,52の目頭の位置と特定する。
【0036】
同様に、CPU21は、目尻を探索するためのテンプレートTP2を移動させながら、テンプレートTP2と、当該テンプレートTP2と重なる部分画像との相関値を算出する。そして、相関値が最大となったときのテンプレートTP2の位置を、眼51,52の目尻の位置と特定する。
【0037】
図10には、部分画像との相関値が最大になったところに位置するテンプレートTP1,TP2が示されている。
図10を参照するとわかるように、CPU21は、テンプレートTP1,TP2の中心と一致する点CP1,CP2のXY座標系における位置を、眼51,52の目頭或いは目尻の位置と特定する。
【0038】
次のステップS207では、CPU21は、
図10に示されるように、フィッティング曲線として、両端が点CP1,CP2に一致する二次曲線CVを順次規定しつつ、当該二次曲線CVと重なる画素のエッジ値の総和を評価値Vとして算出する。同時に、例えば点CP1と点CP2によって規定される線分の中点を通りY軸に平行な直線CLと、二次曲線CVとの交点の位置を算出する。そして、CPU21は、算出した評価値Vと交点の位置情報を、評価値Vと交点のY座標PYとからなるデータ(PY,V)として、補助記憶部23に記憶する。
【0039】
次のステップS208では、CPU21は、眼51,52について、データ(PY,V)によって規定される特性曲線Syを生成する。具体的には、
図10を参照するとわかるように、CPU21は、縦軸をY軸とし、横軸を評価値を表す軸とする座標系に、データ(PY,V)によって規定される点をプロットすることにより、特性曲線Syを生成する。
【0040】
次のステップS209では、CPU21は、上瞼と下瞼の基準位置をステップS208で生成した特性曲線Syに基づいて設定する。
【0041】
上瞼及び下瞼は前方へ突出するように湾曲し、眼球は上瞼と下瞼との間から露出した状態となる。このため、画像IMに写りこむ上瞼及び下瞼は、
図10に模式的に示されるように、比較的輝度が高い画素によって構成される。一方、上瞼と下瞼との間から露出する瞳や白目の部分は、比較的輝度が低い画素によって構成される。このため、
図5A及び
図5Bに示されるオペレータを用いてエッジ値を算出した場合には、特性曲線Syによって示される評価値は、二次曲線CVと直線CLの交点のY座標が、直線CL上の上瞼のエッジの座標Y1と一致するときに最大となる。そして、二次曲線CVと直線CLの交点のY座標が、直線CL上の下瞼のエッジの座標Y2と一致するときに最小となる。
【0042】
そこで、CPU21は、
図11に示されるように、直線CL上に位置し、Y座標の値がY1である点SP1を、上瞼の基準位置として設定する。また、直線CL上に位置し、Y座標の値がY2である点SP2を、下瞼の基準位置として設定する。
【0043】
特性曲線Syは、上述したように、上蓋の基準位置に対応するピークと、下瞼の基準位置に対応するピークをもつのが一般的である。しかしながら、例えば
図12の画像に示されるように、眼の画像の撮影時に赤目現象が発生した場合には、本来は輝度が低い画素で構成される瞳が、輝度が高い画素群HG(
図13参照)で構成される。赤目現象が発生した場合に、
図5A及び
図5Bに示されるオペレータを用いてエッジ値を算出すると、
図13に示されるように、画素群HGの上側(+Y側)でのエッジ値が小さくなり、画素群HGの下側(−Y側)でのエッジ値が大きくなる。
【0044】
このため、上述した手順で、特性曲線Syを生成すると、
図13に示されるように、+側のピークが、上瞼と眼との境界に対応する位置と、画素群HGの下端部に対応する位置に現れる。また、−側のピークが、画素群HGの上端部に対応する位置と、眼と下瞼との境界に対応する位置に現れる。つまり、特性曲線Syは、Y座標の値がY1,Y4の位置で+側のピークが現れ、Y座標の値がY2,Y3の位置で−側のピークが現れる曲線となる。
【0045】
特性曲線Syについて、+側に2つのピークが現れた場合には、CPU21は、例えば
図14に示されるように、+側の2つのピークで規定される矩形の探索領域A5を、瞼探索領域A3に規定する。この探索領域A5は、上端のY座標がY1で、下端のY座標がY4である。そして、中心が直線CL上に位置し、X軸方向の大きさが、Y1とY2との差に等しい。
【0046】
CPU21は、探索領域A5を規定すると、例えば
図5Bに示される垂直エッジ検出オペレータを用いて、探索領域A5に含まれる垂直エッジの検出を試みる。具体的には、
図14を参照するとわかるように、探索領域A5の中心を通りX軸に平行な直線HLに沿って垂直エッジ検出オペレータを移動させながら、エッジ値EVを算出する。そして、CPU21は、算出したエッジ値HVと、当該HVが算出されたときの垂直エッジ検出オペレータのX座標PXとで規定される点(PX,EV)を、横軸をX軸とし、縦軸をエッジ値を表す軸とする座標系にプロットする。これにより、
図15に示される特性曲線Sxが生成される。
【0047】
CPU21は、特性曲線Sxが生成されると、特性曲線Sxのピークの検出を試みる。そして、特性曲線Sxのピークを検出した場合には、特性曲線Syにつて、Y座標が大きい方の位置に現れた+側のピークを、上瞼のエッジに対応するピークとして、上瞼の基準位置を設定する。例えば、
図14に示されるように、特性曲線Syについて、Y座標がY1、Y4の位置に+側のピークが現れている場合には、CPU21は、直線CL上に位置し、Y座標の値がY1の点SP1を基準位置に設定する。
【0048】
次に、CPU21は、特性曲線Syについて、−側のピークのうちから、Y座標が最も小さい位置に現れたピークを、下瞼のエッジに対応するピークとして、下瞼の基準位置を設定する。例えば、
図14に示されるように、特性曲線Syについて、Y座標の値がY2,Y3の位置に−側のピークが現れている場合には、CPU21は、直線CL上に位置し、Y座標の値がY2である点SP2を基準位置に設定する。
【0049】
CPU21は、上述した処理と同様の処理を、瞼探索領域A4についても実行する。
【0050】
また、
図16に示されるように、例えば上瞼の上にアイシャドウを示す低輝度画素群LG1が存在することによって、特性曲線Syについて、+側に2つのピークが現れた場合にも、CPU21は同様に、探索領域A5を、瞼探索領域A3に規定する。そして、垂直エッジ検出オペレータを用いた演算を行い、次に、特性曲線Sxを生成する。
【0051】
アイシャドウを示す低輝度画素群LG1が存在することによって、特性曲線Syに2つのピークが現れたときには、探索領域A5に位置する画素は一様な輝度となる。このため、特性曲線Sxにはピークが現れない。CPU21は、まず特性曲線Sxのピークの検出を試みる。その結果、特性曲線Sxのピークを検出することが出来なかった場合には、特性曲線Syにつて、Y座標が小さい方の位置に現れた+側のピークを、上瞼のエッジに対応するピークとして、上瞼の基準位置を設定する。例えば、
図16に示されるように、特性曲線Syについて、Y座標がY1、Y3の位置に+側のピークが現れている場合には、CPU21は、直線CL上に位置し、Y座標の値がY1の点SP1を、上瞼の基準位置に設定する。そして、下瞼のエッジに対応するピークに基づいて、直線CL上に位置し、Y座標の値がY2である点SP2を、下瞼の基準位置に設定する。
【0052】
また、
図17に示されるように、例えば下瞼の下に眼鏡のフレームを示す低輝度画素群LG2が存在することによって、特性曲線Syについて、−側に2つのピークが現れた場合には、CPU21は、−側の2つのピークで規定される探索領域A5を、瞼探索領域A3に規定する。そして、垂直エッジ検出オペレータを用いた演算を行い、次に、特性曲線Sxを生成する。
【0053】
眼鏡のフレームを示す低輝度画素群LG2が存在することによって、特性曲線Syに2つのピークが現れたときには、探索領域A5に位置する画素は一様な輝度となる。このため、特性曲線Sxにはピークが現れない。CPU21は、まず特性曲線Sxのピークの検出を試みる。その結果、特性曲線Sxのピークを検出することが出来なかった場合には、特性曲線Syにつて、Y座標が大きい方の位置に現れた−側のピークを、下瞼のエッジに対応するピークとして、下瞼の基準位置を設定する。例えば、
図17に示されるように、特性曲線Syについて、Y座標がY2、Y3の位置に−側のピークが現れている場合には、CPU21は、直線CL上に位置し、Y座標の値がY2の点SP2を、下瞼の基準位置に設定する。そして、上瞼のエッジに対応するピークに基づいて、直線CL上に位置し、Y座標の値がY1である点SP1を、上瞼の基準位置に設定する。
【0054】
次のステップS210では、CPU21は、例えば
図11を参照するとわかるように、上瞼の基準位置としての点SP1と、下瞼の基準位置としての点SP2との距離を計測する。そして、この距離と所定の閾値との比較結果を開度として出力する。これにより、開度を指標として、ドライバ50の覚醒度の判定を行うことが可能となる。
【0055】
CPU21は、ステップS210での処理を終了すると、ステップS201へ戻り、以降、ステップS201〜S210の処理を繰り返し実行する。
【0056】
以上説明したように、本第1の実施形態では、両端が目頭と目尻に一致する二次曲線CVが順次規定され、当該二次曲線CVと重なる画素のエッジ値の総和が評価値Vとして算出される。次に、直線CLと二次曲線CVの交点のY座標PYと、当該二次曲線CVに対応する評価値Vとからなるデータ(PY,V)に基づいて、特性曲線Syが生成される(ステップS208)。次に、特性曲線Syに現れるピークの位置に基づいて、眼51,52の上瞼及び下瞼の基準位置が設定される(ステップS209)。
【0057】
また、特性曲線Syが+側に2つのピークを有する場合には、2つのピークによって規定される領域で、赤目現象に起因する画素群HGの検出が行われる。具体的には、2つのピークによって規定される探索領域A5が規定され、当該探索領域A5に対して、画素群HGに起因する垂直エッジの検出処理が行われる。そして、探索領域A5から画素群HGに起因する垂直エッジが検出された場合、すなわち特性曲線Sxに現れたピークが検出された場合には、特性曲線Syの+側のピークのうち、Y座標の値が大きい方の位置に現れたピークに基づいて上瞼の基準位置が設定される(ステップS209)。
【0058】
したがって、撮影装置30による撮影の際に、いわゆる赤目現象等が発生し、瞼のエッジの近傍に当該瞼のエッジ以外のエッジが発生したとしても、精度よく瞼の基準位置を設定することができる。
【0059】
本実施形態では、特性曲線Syが+側に2つのピークを有する場合には、2つのピークによって規定される領域で、赤目現象に起因する画素群HGの検出が行われる。具体的には、2つのピークによって規定される探索領域A5が規定され、当該探索領域A5に対して、画素群HGに起因する垂直エッジの検出処理が行われる。そして、探索領域A5から画素群HGに起因する垂直エッジが検出されなかった場合、すなわち特性曲線Sxからピークが検出されなかった場合には、特性曲線Syの+側のピークのうち、Y座標の値が小さい方の位置に現れたピークに基づいて上瞼の基準位置が設定される(ステップS209)。
【0060】
したがって、ドライバ50がアイシャドウをつけていることによって、特性曲線Syに、瞼の基準位置を設定するためのピークが複数現れたとしても、精度よく瞼の基準位置を設定することができる。
【0061】
本実施形態では、特性曲線Syが−側に2つのピークを有する場合には、2つのピークによって規定される探索領域A5が規定され、当該探索領域A5に対して、画素群HGに起因する垂直エッジの検出処理が行われる。そして、探索領域A5から画素群HGに起因する垂直エッジが検出されなかった場合、すなわち特性曲線Sxからピークが検出されなかった場合には、特性曲線Syの−側のピークのうち、Y座標の値が大きい方の位置に現れたピークに基づいて下瞼の基準位置が設定される(ステップS209)。
【0062】
したがって、ドライバ50が眼鏡をかけていることに起因して、特性曲線Syに、瞼の基準位置を設定するためのピークが複数現れたとしても、精度よく瞼の基準位置を設定することができる。
【0063】
《第2の実施形態》
次に、本発明の第2の実施形態を、図面を参照しつつ説明する。なお、第1の実施形態と同一又は同等の構成については、同等の符号を用いるとともに、その説明を省略又は簡略する。
【0064】
本実施形態に係る瞼検出装置10Aは、演算装置20が、ハードウエアで構成されている点で、第1の実施形態に係る瞼検出装置10と相違している。
図18に示されるように、瞼検出装置10Aは、記憶部20a、画素抽出部20b、上瞼位置検出部20c、瞼探索領域設定部20d、評価値算出部20e、特性曲線生成部20f、基準位置設定部20g、及び開度算出部20hを有している。
【0065】
記憶部20aは、撮影装置30から出力される画像に関する情報、及び上記各部20b〜20hの処理結果などを含む情報を順次記憶する。
【0066】
画素抽出部20bは、画像IMに対してソーベルフィルタを用いた画像処理を実行し、画像IMに含まれるエッジを抽出する。次に、抽出したエッジの中から、ドライバ50の顔の輪郭Fを示すエッジを検出する。次に、ドライバ50の顔の輪郭Fに囲まれた領域に含まれるエッジから、ドライバ50の眉と口を表すエッジを検出して、ドライバ50の眉と口との位置をおおよそ特定する。眉と口の位置が特定されると、画素抽出部20bは、例えば
図4に示されるように、X軸方向の大きさが顔の輪郭とほぼ一致し、ドライバ50の眉及び口を含む最も小さな矩形の領域を、顔領域A1として検出する。
【0067】
顔を構成する眉、目、鼻、及び口の位置は、多少の個人差はあるものの顔の輪郭や、眉や眼等のいずれかの部位等を基準に概ね特定することができる。したがって、上端に眉が位置し、下端に口が位置するように規定された顔領域A1においては、眼が位置する領域をある程度正確に特定することができる。そこで、画素抽出部20bは、顔領域A1に含まれる眉毛の画像の下方に長手方向をX軸方向とする長方形の探索領域A2を規定する。
【0068】
次に、画素抽出部20bは、探索領域A2に対してエッジの検出処理を実行する。エッジの検出に際しては、
図5Aに示される水平エッジ検出オペレータと、
図5Bに示される垂直エッジ検出オペレータとを用いる。このエッジの検出処理によって、例えば
図6に示されるように、眼51,52の上瞼及び下瞼のエッジを構成する画素Dが抽出される。以下、右眼51の上瞼のエッジを画素群G1とし、下瞼のエッジを画素群G2とする。また、左眼52の上瞼のエッジを画素群G3とし、下瞼のエッジを画素群G4とする。
【0069】
上瞼位置検出部20cは、上瞼探索ウインドW1を用いた走査を行うことで、上瞼の位置を検出する。具体的には、上瞼位置検出部20cは、上瞼探索ウインドW1を、探索領域A2内で例えば1画素に相当する距離ずつ移動させる。同時に水平エッジウインドP1と重なる画素Dのエッジ値の総和と、垂直エッジウインドP2と重なる画素Dのエッジ値の総和から垂直エッジウインドP3と重なる画素のエッジ値の総和を減算した値との合計を評価値として順次算出する。そして、上瞼位置検出部20cは、評価値が最大になったときの上瞼探索ウインドW1の位置を右眼51の上瞼の位置として検出する。また、同様の手順で左眼52の上瞼の位置を検出する。
【0070】
瞼探索領域設定部20dは、瞼探索領域を設定する。下瞼は、上瞼の下方に位置している。そこで、瞼探索領域設定部20dは、
図9に示されるように、上瞼のエッジを構成する画素群G1を基準に、上瞼と下瞼とを含む瞼探索領域A3を設定する。同様に、瞼探索領域設定部20dは、画素群G3を基準に、瞼探索領域A4を設定する。
【0071】
評価値算出部20eは、目頭を探索するためのテンプレートTP1を、例えば1画素に相当する距離ずつ移動させながら、テンプレートTP1と、当該テンプレートTP1と重なる部分画像との相関値を算出する。そして、相関値が最大となったときのテンプレートTP1の位置を、眼51,52の目頭の位置と特定する。同様に、評価値算出部20eは、目尻を探索するためのテンプレートTP2を用いて、眼51,52の目尻の位置を特定する。
【0072】
次に、評価値算出部20eは、
図10に示されるように、フィッティング曲線として、両端が点CP1,CP2に一致する二次曲線CVを順次規定しつつ、当該二次曲線CVと重なる画素のエッジ値の総和を評価値Vとして算出する。同時に、直線CLと二次曲線CVの交点の位置を算出する。そして、評価値算出部20eは、評価値Vと交点の位置情報をデータ(PY,V)として、記憶部20aに記憶する。
【0073】
特性曲線生成部20fは、
図10を参照するとわかるように、縦軸をY軸とし、横軸を評価値を表す軸とする座標系に、データ(PY,V)によって規定される点をプロットすることにより、特性曲線Syを生成する。
【0074】
基準位置設定部20gは、上瞼と下瞼の基準位置を特性曲線Syに基づいて設定する。具体的には、
図11に示されるように、基準位置設定部20gは、直線CL上に位置し、Y座標の値がY1である点SP1を、上瞼の基準位置として設定する。また、直線CL上に位置し、Y座標の値がY2である点SP2を、下瞼の基準位置として設定する。
【0075】
特性曲線Syは、上蓋の基準位置に対応するピークと、下瞼の基準位置に対応するピークをもつのが一般的である。しかしながら、例えば
図12の画像に示されるように、眼の画像の撮影時に赤目現象が発生した場合には、本来輝度が低い画素で構成される瞳が、輝度が高い画素群HG(
図13参照)で構成される。赤目現象が発生した場合に、
図5A及び
図5Bに示されるオペレータを用いてエッジ値を算出すると、
図13に示されるように、画素群HGの上側(+Y側)でのエッジ値が小さくなり、画素群HGの下側(−Y側)でのエッジ値が大きくなる。この場合、特性曲線Syは、Y座標の値がY1,Y4の位置で+側のピークが現れ、Y座標の値がY2,Y3の位置で−側のピークが現れる曲線となる。
【0076】
このような場合には、基準位置設定部20gは、例えば
図14に示されるように、+側の2つのピークで規定される矩形の探索領域A5を、瞼探索領域A3に規定する。次に、基準位置設定部20gは、例えば
図5Bに示される垂直エッジ検出オペレータを用いて、探索領域A5に含まれる垂直エッジの検出を試みる。具体的には、
図14を参照するとわかるように、探索領域A5の中心を通りX軸に平行な直線HL沿って垂直エッジ検出オペレータを移動させながら、エッジ値EVを算出する。そして、基準位置設定部20gは、算出したエッジ値HVと、当該HVが算出されたときの垂直エッジ検出オペレータのX座標PXとで規定される点(PX,EV)を、横軸をX軸とし、縦軸をエッジ値を表す軸とする座標系にプロットする。これにより、
図15に示される特性曲線Sxが生成される。
【0077】
基準位置設定部20gは、特性曲線Sxが生成されると、特性曲線Sxのピークの検出を試みる。そして、特性曲線Sxのピークを検出した場合には、特性曲線Syにつて、Y座標が大きい方の位置に現れた+側のピークを、上瞼のエッジに対応するピークとして、上瞼の基準位置を設定する。例えば、
図14に示されるように、特性曲線Syについて、Y座標がY1、Y4の位置に+側のピークが現れている場合には、基準位置設定部20gは、直線CL上に位置し、Y座標の値がY1の点SP1を基準位置に設定する。
【0078】
次に、基準位置設定部20gは、特性曲線Syについて、−側のピークのうちから、Y座標が最も小さい位置に現れたピークを、下瞼のエッジに対応するピークとして、下瞼の基準位置を設定する。例えば、
図14に示されるように、特性曲線Syについて、Y座標の値がY2,Y3の位置に−側のピークが現れている場合には、基準位置設定部20gは、直線CL上に位置し、Y座標の値がY2である点SP2を基準位置に設定する。
【0079】
基準位置設定部20gは、上述した処理と同様の処理を、瞼探索領域A4についても実行する。
【0080】
また、
図16に示されるように、例えば上瞼の上にアイシャドウを示す低輝度画素群LG1が存在することによって、特性曲線Syについて、+側に2つのピークが現れた場合にも、基準位置設定部20gは、探索領域A5を、瞼探索領域A3に規定する。そして、垂直エッジ検出オペレータを用いた演算を行い、次に、特性曲線Sxを生成する。
【0081】
次に、基準位置設定部20gは、特性曲線Sxのピークの検出を試みる。その結果、特性曲線Sxのピークを検出することが出来なかった場合には、特性曲線Syについて、Y座標が小さい方の位置に現れた+側のピークを、上瞼のエッジに対応するピークとして、上瞼の基準位置を設定する。例えば、
図16に示されるように、特性曲線Syについて、Y座標がY1、Y3の位置に+側のピークが現れている場合には基準位置設定部20gは、直線CL上に位置し、Y座標の値がY1の点SP1を、上瞼の基準位置に設定する。そして、下瞼のエッジに対応するピークに基づいて、直線CL上に位置し、Y座標の値がY2である点SP2を、下瞼の基準位置に設定する。
【0082】
また、
図17に示されるように、例えば下瞼の下に眼鏡のフレームを示す低輝度画素群LG2が存在することによって、特性曲線Syについて、−側に2つのピークが現れた場合には、基準位置設定部20gは、−側の2つのピークで規定される探索領域A5を、瞼探索領域A3に規定する。そして、垂直エッジ検出オペレータを用いた演算を行い、次に、特性曲線Sxを生成する。
【0083】
次に、基準位置設定部20gは、まず特性曲線Sxのピークの検出を試みる。その結果、特性曲線Sxのピークを検出することが出来なかった場合には、特性曲線Syにつて、Y座標が大きい方の位置に現れた−側のピークを、下瞼のエッジに対応するピークとして、下瞼の基準位置を設定する。例えば、
図17に示されるように、特性曲線Syについて、Y座標がY2、Y3の位置に−側のピークが現れている場合には、基準位置設定部20gは、直線CL上に位置し、Y座標の値がY2の点SP2を、下瞼の基準位置に設定する。そして、上瞼のエッジに対応するピークに基づいて、直線CL上に位置し、Y座標の値がY1である点SP1を、上瞼の基準位置に設定する。
【0084】
開度算出部20hは、例えば
図11を参照するとわかるように、上瞼の基準位置としての点SP1と、下瞼の基準位置としての点SP2との距離を計測する。そして、この距離と所定の閾値との比較結果を開度として出力する。これにより、開度を指標として、ドライバ50の覚醒度の判定を行うことが可能となる。
【0085】
以上説明したように、本第2の実施形態では、両端が目頭と目尻を基準とする二次曲線CVが順次規定され、当該二次曲線CVと重なる画素のエッジ値の総和が評価値Vとして算出される。次に、直線CLと二次曲線CVの交点のY座標PYと、当該二次曲線CVに対応する評価値Vとからなるデータ(PY,V)に基づいて、特性曲線Syが生成される。そして、特性曲線に現れるピークの配置に基づいて、眼51,52の上瞼及び下瞼の基準位置が設定される。
【0086】
また、特性曲線Syが+側に2つのピークを有する場合には、2つのピークによって規定される探索領域A5で、赤目現象に起因する垂直エッジの検出が行われる。そして、探索領域A5から垂直エッジが検出された場合には、特性曲線Syのピークのうち、Y座標の値が大きい方の位置に現れたピークに基づいて上瞼の基準位置が設定される。
【0087】
したがって、撮影装置30による撮影の際に、いわゆる赤目現象等が発生し、瞼のエッジの近傍に当該瞼のエッジ以外のエッジが発生したとしても、精度よく瞼の基準位置を設定することができる。
【0088】
本実施形態では、特性曲線Syが+側に2つのピークを有する場合には、2つのピークによって規定される探索領域A5で、赤目現象に起因する垂直エッジの検出が行われる。そして、探索領域A5から画素群HGに起因する垂直エッジが検出されなかった場合には、特性曲線Syのピークのうち、Y座標の値が小さい方の位置に現れたピークに基づいて上瞼の基準位置が設定される。
【0089】
したがって、ドライバ50がアイシャドウをつけていることに起因して、特性曲線Syに、瞼の基準位置を設定するためのピークが複数現れたとしても、精度よく瞼の基準位置を設定することができる。
【0090】
本実施形態では、特性曲線Syが−側に2つのピークを有する場合には、2つのピークによって規定される探索領域A5で、垂直エッジの検出処理が行われる。そして、探索領域A5から垂直エッジが検出されなかった場合には、特性曲線Syの−側のピークのうち、Y座標の値が大きい方の位置に現れたピークに基づいて下瞼の基準位置が設定される。
【0091】
したがって、ドライバ50が眼鏡をかけていることによって、特性曲線Syに、瞼の基準位置を設定するためのピークが複数現れたとしても、精度よく瞼の基準位置を設定することができる。
【0092】
以上、本発明の実施形態について説明したが、本発明は上記実施形態によって限定されるものではない。
【0093】
例えば、上記実施形態では、特性曲線Syが+側に2つのピークを有する場合に、これら2つのピークによって規定される探索領域A5に対して、垂直エッジの検出処理を実行することで、赤目現象に起因する画素群HGの検出を試みた。これに限らず、探索領域A5から、赤目現象に起因して輝度が大きくなった画素を抽出し、画素の抽出結果に基づいて、探索領域A5に存在する画素群HGの検出を試みてもよい。この場合、探索領域A5から、輝度が閾値以上の画素を抽出し、抽出した画素によって規定される領域が、所定の基準値以上となった場合に、画素群HGが存在すると判断することができる。
【0094】
上記実施形態では、例えば
図14に示されるように、特性曲線Syの+側のピークに基づいて、探索領域A5が規定される場合について説明した。これに限らず、特性曲線Syの−側のピークに基づいて、探索領域A5を規定してもよい。この場合の探索領域A5は、上端のY座標がY3で、下端のY座標がY2となる。このため、探索領域A5から画素群HGが検出された場合には、直線CL上に位置しY座標をY2とする点を下瞼の基準位置に設定する。そして、CL上に位置し、特性曲線Syのピークのうち最もY座標の値が大きいピークに対応する点を上瞼の基準位置に設定する。
【0095】
上記実施形態では、上瞼の基準位置に対応するピークと、下瞼の基準位置に対応するピークが現れる特性曲線Syを算出し、当該特性曲線Syに基づいて、各基準位置を設定した。これに限らず、上瞼の基準位置の設定と、下瞼の基準位置の設定をそれぞれ独立して実行してもよい。
【0096】
上記実施形態では、二次曲線CVを順次規定し、当該二次曲線と重なる画素のエッジ値に基づいて、評価値を算出した。これに限らず、フィッティング曲線として、三次以上の曲線を規定し、当該フィッティング曲線と重なる画素のエッジ値に基づいて、評価値を算出することとしてもよい。また、瞼のエッジに相似する曲線を順次規定し、当該曲線と重なる画素のエッジ値に基づいて、評価値を算出してもよい。
【0097】
上記実施形態では、点CP1,CP2よって規定される線分の中点を通る直線CLと二次曲線CVの交点のY座標と、当該二次曲線CVに対応する評価値Vとに基づいて、特性曲線を生成した。これに限らず、点CP1,CP2の間に位置する任意の直線と二次曲線CVの交点のY座標と、当該二次曲線CVに対応する評価値とに基づいて、特性曲線を生成することとしてもよい。
【0098】
上記実施形態では、エッジ値の総和を評価値とした。これに限らず、例えば、画素の位置とエッジ値の双方を考慮して評価値を算出してもよい。その他、評価値として、種々の指標を用いることができる。
【0099】
上記実施形態に係る演算装置20の機能は、専用のハードウエアによっても、通常のコンピュータシステムによっても実現することができる。
【0100】
上記第1の実施形態において演算装置20の補助記憶部23に記憶されているプログラムは、フレキシブルディスク、CD−ROM(Compact Disk Read-Only Memory)、DVD(Digital Versatile Disk)、MO(Magneto-Optical disk)等のコンピュータで読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータにインストールすることにより、上述の処理を実行する装置を構成することとしてもよい。
【0101】
また、プログラムをインターネット等の通信ネットワーク上の所定のサーバ装置が有するディスク装置等に格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するようにしても良い。
【0102】
また、プログラムは、通信ネットワークを介して転送しながら起動実行することとしてもよい。
【0103】
また、プログラムは、全部又は一部をサーバ装置上で実行させ、その処理に関する情報を通信ネットワークを介して送受信しながら、上述の画像処理を実行することとしてもよい。
【0104】
なお、上述の機能を、OS(Operating System)が分担して実現する場合又はOSとアプリケーションとの協働により実現する場合等には、OS以外の部分のみを媒体に格納して配布してもよく、また、コンピュータにダウンロード等しても良い。
【0105】
なお、本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。