説明

眼球検出システムおよび眼球検出方法

【課題】ロバスト性が高く正確に対象者の眼球を検出可能な眼球検出システムを提供する。
【解決手段】本発明に係る眼球検出システム100は、ターゲット画像上での中心座標および拡大倍率を含む染色体を持つ個体の集団を生成する初期個体集団生成部120と、テンプレート画像180上の画素値と中心座標および拡大倍率によって指定されるターゲット画像上の画素値とに基づいて個体それぞれの適応度を算出する適応度演算部122と、中心座標および拡大倍率によって指定されるターゲット画像上の対象者の眼球領域198を基準として前額領域190、眉毛領域192、上眼瞼領域194または頬領域196を仮定する領域仮定部124と、これらの領域に基づいて適応度を修正した修正適応度を算出する修正適応度演算部126と、修正適応度に基づき遺伝的操作を実行する遺伝的操作実行部130と、を備えることを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、遺伝的アルゴリズムを用いて眼球をモデル化したテンプレート画像を対象者の顔画像を撮像したターゲット画像上の各所に動かしてテンプレートマッチングすることで、ターゲット画像から対象者の眼球を検出する眼球検出システムおよび眼球検出方法に関する。
【背景技術】
【0002】
現在、交通事故を未然に防ぐことを目的とした、多くの予防安全技術の研究開発が進められている。交通事故の多くは、居眠りや脇見といったヒューマンエラーが主な原因であり、このような運転者の異常状態を事前に察知することは事故を防止するうえで非常に有効である。運転者の異常状態を事前に察知する要素として、運転者の眼球運動のモニタリングが有力視されている。実用的な運転者の眼球運動のモニタリングを実現するためには、不特定多数の運転者に対して安定した精度を有するモニタリングシステムが求められる。また、かかるシステムは、環境の変化、眼鏡の影響、視線移動にロバストでなければならない。
【0003】
運転中、運転者の頭部は固定されていず、バックミラーやサイドミラーの確認、周囲の安全確認等のため、絶えず頭部の姿勢が変化するので、背景差分法等を利用して眼球運動のモニタリングを実施することはできない。そこで、特許文献1には、遺伝的アルゴリズムを用いて眼球をモデル化したテンプレート画像を対象者の顔画像を撮像したターゲット画像上の各所に動かしてテンプレートマッチングすることで、ターゲット画像から対象者の眼球を検出する眼球検出法が提案されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−90792号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1の技術は、ターゲット画像上にて対象者の眼球のみにしか着目していない。そのため、眼球の見え方の変化(例えば瞬目、横目、笑い眼等)が著しく検出精度に直結する。また、特許文献1の技術は、通常の蛍光灯の明るさがある環境下、即ち明るい室内での使用を前提としている。そのため、トンネル内や夜間等の暗い環境、またはトンネルの出入り時等の輝度変化の激しい環境では、正確に対象者の眼球を検出できないおそれがある。
【0006】
本発明はこのような課題に鑑みてなされたものであり、ロバスト性が高く正確に対象者の眼球を検出可能な眼球検出システムおよび眼球検出方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために本発明の代表的な構成は、遺伝的アルゴリズムを用いて眼球をモデル化したテンプレート画像を対象者の顔画像を撮像したターゲット画像上の各所に動かしてテンプレートマッチングすることでターゲット画像から対象者の眼球を検出する眼球検出システムにおいて、テンプレートマッチング時のテンプレート画像のターゲット画像上の中心座標、およびテンプレートマッチング時のテンプレート画像の拡大倍率を含む染色体を持つ個体の集団を生成する初期個体集団生成部と、テンプレート画像上の画素値と中心座標および拡大倍率によって指定されるターゲット画像上の画素値とに基づいて個体それぞれの適応度を算出する適応度演算部と、中心座標および拡大倍率によって指定されるターゲット画像上の対象者の眼球領域を基準として、前額領域、眉毛領域、上眼瞼領域または頬領域を仮定する領域仮定部と、仮定された前額領域、眉毛領域、上眼瞼領域または頬領域の画素値が所定の値以上か否かに基づいて適応度を修正した修正適応度を算出する修正適応度演算部と、修正適応度に基づき選択、交叉および突然変異を含む遺伝的操作を実行する遺伝的操作実行部と、当該遺伝的アルゴリズムの終了判定を行い、最適解の出力を行う解出力部と、を備えることを特徴とする。
【0008】
かかる構成によれば、ターゲット画像上での前額領域、眉毛領域、上眼瞼領域、または頬領域に基づいて適応度を修正し、この修正適応度に基づき遺伝的操作を実行する。そのため、眼球の見え方の変化(例えば瞬目、横目、笑い眼等)などの影響を受けづらくすることができる。したがって、ロバスト性が高く正確に対象者の眼球を検出可能となる。
【0009】
領域仮定部は、前額領域、眉毛領域、上眼瞼領域または頬領域の大きさを、眼球領域の大きさに基づいて仮定するとよい。
【0010】
かかる構成によれば、前額領域、眉毛領域、上眼瞼領域、または頬領域を簡便に仮定し、好適に修正適応度を算出することができる。
【0011】
領域仮定部は、ターゲット画像上にて前額領域と眉毛領域との間、眼球領域と頬領域との間に隙間が存在するように、前額領域、眉毛領域、上眼瞼領域および頬領域を仮定し、修正適応度演算部は、前額領域、眉毛領域、上眼瞼領域および頬領域を考慮して修正適応度を算出するとよい。
【0012】
かかる構成によれば、より正確に対象者の眼球を検出可能となる。
【0013】
ターゲット画像から対象者の顔部分を検出し、顔部分からテンプレートマッチングが実行される検出対象領域を切り出す検出対象切出部をさらに備えるとよい。
【0014】
かかる構成によれば、遺伝的アルゴリズムの計算量を低減することができ、迅速に解を出力可能である。また、テンプレートマッチングを行う範囲が限られるので精度向上の効果も奏する。
【0015】
対象者の顔全体に赤外光を照射する赤外線投光器と、赤外光の反射光を撮像してターゲット画像を取得する赤外線カメラとをさらに備えるとよい。
【0016】
かかる構成によれば、トンネル内や夜間等の暗い環境であっても、好適に対象者の眼球を検出可能である。
【0017】
赤外線カメラは、赤外光の反射光を動画像として撮影することによって、あるいは連続的に撮像することによって、ターゲット画像を連続的に取得し、当該眼球検出システムは、直前のターゲット画像の対象者の眼球の検出に際して得られた個体の集団と修正適応度を、次のターゲット画像における処理に継承するとよい。
【0018】
一般的に遺伝的アルゴリズムを動画に適用した場合に計算量が膨大になり、迅速な解を出力できないという課題があるが、かかる構成によれば、この課題を克服することによって、遺伝的アルゴリズムの計算量を低減することができ、迅速に解を出力可能である。また、精度向上の効果も奏する。
【0019】
連続的に取得されるターゲット画像のそれぞれの検出結果に基づき、対象者の視線方向、または顔の向きを推定する推定部をさらに備えるとよい。
【0020】
かかる構成によれば、対象者の視線方向、または顔の向きを推定可能であり、自動車に搭載することで安全性の向上に寄与するドライバーモニタリングシステムとして利用することができる。
【0021】
推定部は、解出力部が出力する最適解の修正適応度の変化が所定以上である場合、瞬きまたは誤検出と推定するとよい。
【0022】
かかる構成によれば、対象者の状態をより正確に推定することができる。
【0023】
上記課題を解決するために本発明の他の代表的な構成は、遺伝的アルゴリズムを用いて眼球をモデル化したテンプレート画像を対象者の顔画像を撮像したターゲット画像上の各所に動かしてテンプレートマッチングすることでターゲット画像から対象者の眼球を検出する眼球検出方法において、テンプレートマッチング時のテンプレート画像のターゲット画像上の中心座標、およびテンプレートマッチング時のテンプレート画像の拡大倍率を含む染色体を持つ個体の集団を生成するステップと、テンプレート画像上の画素値と中心座標および拡大倍率によって指定されるターゲット画像上の画素値とに基づいて個体それぞれの適応度を算出するステップと、中心座標および拡大倍率によって指定されるターゲット画像上の対象者の眼球領域を基準として、前額領域、眉毛領域、上眼瞼領域または頬領域を仮定するステップと、仮定された前額領域、眉毛領域、上眼瞼領域または頬領域の画素値が所定の値以上か否かに基づいて適応度を修正した修正適応度を算出するステップと、修正適応度に基づき選択、交叉および突然変異を含む遺伝的操作を実行するステップと、当該遺伝的アルゴリズムの終了判定を行い、最適解の出力を行うステップと、を含むことを特徴とする。
【0024】
上述した眼球検出システムにおける技術的思想に対応する構成要素やその説明は、当該眼球検出方法にも適用される。
【発明の効果】
【0025】
本発明によれば、ロバスト性が高く正確に対象者の眼球を検出可能な眼球検出システムおよび眼球検出方法を提供可能である。
【図面の簡単な説明】
【0026】
【図1】本実施形態に係る眼球検出システムの概略構成を示すブロック図である。
【図2】図1のシステムが行う眼球検出方法の概略構成を示すフローチャートである。
【図3】図2の遺伝的アルゴリズム処理の詳細を示すフローチャートである。
【図4】図1の検出対象切出部による検出対象領域の切出について説明する図である。
【図5】図2の眼球検出方法で用いる、眼球をモデル化したテンプレート画像を例示する図である。
【図6】図2の遺伝的アルゴリズム処理で用いる、個体の染色体の構成を例示する図である。
【図7】前額領域、眉毛領域、上眼瞼領域、および頬領域の仮定について説明する図である。
【図8】実験に使用するデータセット(画像フレーム)を示す図である。
【図9】図8のデータセットに対する実施例6の検出結果を示す図である。
【図10】実施例1と実施例6の検出結果を比較する図である。
【図11】トンネルの通過前から通過後までの画像フレームとその検出結果を示す図である。
【図12】眼鏡の影響について説明する図である。
【図13】眼球の見え方の変化の影響について説明する図である。
【発明を実施するための形態】
【0027】
以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値などは、発明の理解を容易とするための例示に過ぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書および図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
【0028】
[眼球検出システム、眼球検出方法]
図1は、本実施形態に係る眼球検出システム100の概略構成を示すブロック図である。図1に示すように、眼球検出システム100は、システム制御部102および記憶部104を含んで構成されるコンピュータシステムである。システム制御部102は、中央処理装置(いわゆるCPU)を含んで構成され、記憶部104は、RAMやROM、フラッシュメモリ、ハードディスクドライブ等の記憶手段を含んで構成される。
【0029】
眼球検出システム100では、対象者の顔全体に近赤外線投光器150から近赤外光が照射され、近赤外線カメラ152が近赤外光の反射光を動画像として撮影する。近赤外線投光器150および近赤外線カメラ152を利用することで、トンネル内や夜間等の暗い環境でも対象者の顔をしっかりと撮影することができる。撮影された動画像は、入力部110を通じて検出対象切出部112に入力される。
【0030】
図2は、図1のシステムが行う眼球検出方法の概略構成を示すフローチャートである。図3は、図2の遺伝的アルゴリズム処理の詳細を示すフローチャートである。以下、図2、図3のフローチャートを参照しながら、眼球検出システム100の検出対象切出部112、初期個体集団生成部120、適応度演算部122、領域仮定部124、修正適応度演算部126、遺伝的操作実行部130、解出力部140、推定部142について説明する。
【0031】
まず、システム制御部102は「input_frame=0」とし(ステップS300)、近赤外線投光器150および近赤外線カメラ152によって撮影された動画像を、入力部110を通じて検出対象切出部112に入力する。検出対象切出部112は、かかる動画像から画像フレーム(静止画像)を取得する(ステップS302)。
【0032】
図4は、図1の検出対象切出部112による検出対象領域(以下「ROI116」と称する)の切出について説明する図である。図4(a)に例示するように、近赤外線カメラ152から出力される画像はグレースケール画像である。図4(b)に例示するように、検出対象切出部112は、この画像フレームの中から顔領域114を検出する(ステップS304)。なお、顔領域114の検出には、汎用のソフト(例えば、画像処理ライブラリOpenCVに実装されている顔検出アルゴリズム)を利用することができる。ここでは、顔領域114の検出結果が、正方形で切り出され検出対象切出部112から出力される。
【0033】
検出対象切出部112は、顔の検出数が0の場合(ステップS306Yes)にはエラーと判定し、最初のステップS300に戻る(「input_frame=0」とし、次の画像フレームの入力が行われる)。顔の検出数が0でない場合(ステップS306No)、図4(c)に例示するようにROI116の切出を実行する(ステップS308)。
【0034】
ROI116の切出条件は、実験によって最適なサイズを選択することができる。例えば図4(c)では、ROI116は対象者の顔領域114の左上部分であって、その幅a2は正方形で検出された顔領域114の幅a1の1/2、その高さb2は正方形で検出された顔領域114の高さb1の1/2または3/5に設定される。
【0035】
図4(d)にROI116の切出後の画像を例示する。本実施形態ではこの切出後の画像に対し、眼球をモデル化したテンプレート画像と遺伝的アルゴリズムを用いてテンプレートマッチングするので、この画像を「ターゲット画像」と称する。
【0036】
再び、図2のフローチャートを参照する。システム制御部102は、ターゲット画像が平坦かどうかを判定する(ステップS310)。ターゲット画像が平坦な場合(ステップS310Yes)エラーと判定し、最初のステップS300に戻る。ターゲット画像が平坦でない場合(ステップS310No)、「int_pop=0」とし(ステップS312)、ステップS314へと移行する。最初の入力では「input_frame=0」なので(ステップS314Yes)、初期個体集団の生成(ステップS316)へと移行する。
【0037】
図5は、図2の眼球検出方法で用いる、眼球をモデル化したテンプレート画像を例示する図である。図5に例示するように、本実施形態では不特定多数のものに対応可能にするため、探索対象を表すテンプレート画像として汎用的即ち人工的にあらかじめ準備されたものを使用する。テンプレート画像180は、上瞼領域182、下瞼領域184、強膜領域186、虹彩領域188を含むグレースケール画像である。テンプレート画像のサイズは16×16ピクセルであり、上瞼領域182および下瞼領域184の画素値は255、強膜領域186の画素値は128、虹彩領域188の画素値は0である。なお、テンプレート画像180は予め記憶部104に記憶される。ここで、画素値は輝度値であるが、ただし、画素値として輝度値以外の特徴量(例えば、YCrCb表色系のCr成分やCb成分)の利用も可能である。
【0038】
図6は、図2の遺伝的アルゴリズム処理で用いる、個体の染色体の構成を例示する図である。図6に例示するように、本実施形態では候補領域としての個体の染色体が、テンプレートマッチング時のテンプレート画像180のターゲット画像上の中心座標(t,t)、テンプレートマッチング時のテンプレート画像の拡大倍率m、テンプレートマッチング時のテンプレート画像の回転角度angleを含む。各パラメータは8bitバイナリデータであり、コーディング方法としてグレイコーディングを使用する。なお、本実施形態では、2.0≦m≦4.0とし、−30.0°≦angle≦30.0°とする。
【0039】
ここで染色体とは、最終的に求める解であり、探索対象のターゲット画像上で眼球領域198として特定する矩形領域(図4(e)参照)の位置、サイズ、回転角度を表すパラメータであり、ビット列で表される。グレイコーディングとは、パラメータを2進数表記にコーディングする際、隣り合うビット値のハミング距離が1になるコーディング方法をいう。グレイコーディングを使用することで効率的な解の探索が可能となる。
【0040】
以下、各個体の染色体を用いたターゲット画像上でのテンプレート画像の幾何変換について説明する。この幾何変換には同次座標を使用する。
【0041】
テンプレート画像上の点をPとし、テンプレートとターゲット画像をマッチングさせた時の点Pに対応するターゲット画像上の点をPとする。ここで、同次座標を導入すると点P、点Pは下記式(1)、(2)のように表される。なお、「x,y,z」、「x*,y* ,z*」はそれぞれ三次元座標を示す。
【0042】
【数1】

【0043】
線形変換において、z=zであり、またz≠0と仮定できる。したがって、式(1)、(2)はそれぞれ下記式(3)、(4)のように考えられる。
【0044】
【数2】

【0045】
染色体から得られるパラメータを用いて、変換を同次座標で表すと下記式(5)のようになる。
【0046】
【数3】

【0047】
再び、図2のフローチャートを参照する。ステップS316では、初期個体集団生成部120が、中心座標(t,t)、拡大倍率m、回転角度angleを含む染色体を持つ個体の集団(初期個体集団)を生成する。そして、「int_pop=int_pop+1」とし(ステップS318)、次のステップS320へと移行する。なお、本実施形態では、個体数は10個とする。
【0048】
ステップS320では、システム制御部102が個体集団の全個体の有効性を判定し、有効な個体が1個以下の場合には(ステップS320Yes)、ステップS322へと移行する。ステップS322ではシステム制御部102が「init_pop<50」を満たすかどうか判定し、これを満たす場合(ステップS322Yes)には初期個体集団生成部120が再び個体集団の再初期化(初期個体集団の生成)を行う。即ち、有効な個体が1個以下の場合には再初期化回数が50回に達しない限り再初期化が行われ、再初期化回数が50回に達した場合には(ステップS322No)最初のステップS300に戻る。
【0049】
ステップS320では、以下のいずれかに該当する場合にはその個体を有効でないものと判定する。
1.テンプレート画像と照合する領域の一部分でもターゲット画像の外部に存在する。
2.テンプレート画像と照合する領域が平坦。
3.前額領域190および眉毛領域192の50%以上がターゲット画像の外部に存在する。
4.頬領域196の80%以上がターゲット画像の外部に存在する。
5.頬領域196が平坦でない。
【0050】
なお、平坦であるかどうかは、その領域内の最大画素値と最小画素値の差(例えば最大輝度値と最小輝度値の差)が50未満である場合に平坦と判定する。前額領域190、眉毛領域192、頬領域196は領域仮定部124によって仮定されるが、詳細については後程説明する。
【0051】
ステップS320では、有効な個体が1個以下でない場合には(ステップS320No)、遺伝的アルゴリズム処理に移行する(ステップS324)。図3に示すように、遺伝的アルゴリズム処理は、個体それぞれの適応度F1を算出する過程である適応度算出(ステップS340)、眼球領域198の周囲の領域の画素値に基づいて適応度F1を修正する過程である修正適応度算出(ステップS342)、遺伝的アルゴリズムを終了するか判定する過程である終了判定(ステップS344)、選択(ステップS346)、交叉(ステップS348)、突然変異(ステップS350)からなる。
【0052】
ここで選択とは、適応度(本実施形態では修正適応度F2)が高い個体を選択する方式であり、具体的にはルーレット選択を用いる。交叉とは、個体の染色体を構成する各遺伝情報、つまりパラメータ(中心座標(t,t)、拡大倍率m、回転角度angle)を入れ換える操作であり、具体的には選択された2つの親個体の遺伝情報を相互に入れ替える操作である。突然変異とは、染色体を構成する遺伝情報の一部、つまりパラメータ(中心座標(t,t)、拡大倍率m、回転角度angle)の一部を変える操作であり、具体的には別の数値に変える操作である。突然変異によってパラメータを特定する数値はランダムに選定される。
【0053】
ステップS340では、適応度演算部122が、染色体から得られるパラメータを式(5)に代入することで点Pを変換して点Pを求め、下記式(6)に基づいて個体それぞれの適応度F1を求める。ここで、式(6)中、a3とb3はテンプレート画像の幅と高さ、pijはテンプレート画像中の座標(x,y)における画素値、pij はpijと比較するターゲット画像上の画素値を表す。適応度F1はテンプレート画像と候補領域内の画素値の差の累積和であるため、F1≦255×a3×b3となる。
【0054】
【数4】

【0055】
ステップS342では、領域仮定部124が仮定したターゲット画像上での前額領域190、眉毛領域192、上眼瞼領域194、および頬領域196に基づき、修正適応度演算部126が上記適応度F1を修正し、新たに修正適応度F2を算出する。具体的には、修正適応度F2は、下記式(7)、(8)、(9)に基づき求められる。以下、下記各式の変数について説明する。
【0056】
【数5】

【0057】
図7は、前額領域190、眉毛領域192、上眼瞼領域194、および頬領域196の仮定について説明する図である。図7(a)は前額領域190、眉毛領域192、上眼瞼領域194、および頬領域196の仮定前のターゲット画像を例示したものであり、図7(b)、(c)は図7(a)のターゲット画像に関して前額領域190、眉毛領域192、上眼瞼領域194、および頬領域196を仮定したものである。なお、図7(b)と図7(c)では、前額領域190の仮定手法にのみ差異がある。
【0058】
図7(b)、(c)に例示するように、領域仮定部124は、中心座標(t,t)、拡大倍率m、回転角度angleによって指定されるターゲット画像上での対象者の眼球領域198を基準として、前額領域190、眉毛領域192、上眼瞼領域194、および頬領域196を仮定する。以下、ターゲット画像上での対象者の眼球領域198の高さをhとして説明する。
【0059】
前額領域190、眉毛領域192、上眼瞼領域194、および頬領域196は、全てターゲット画像上での対象者の眼球領域198と同じ幅を有する領域である。また、眉毛領域192および頬領域196は眼球領域198と同じ高さhを有する領域であり、上眼瞼領域194は高さh/2を有する領域である。図7(b)では前額領域190は眼球領域198と同じ高さhを有する領域であり、図7(c)では前額領域190は高さh/2を有する領域である。
【0060】
頬領域196は、h/2の隙間を介して眼球領域198の下方に設定される。上眼瞼領域194は、眼球領域198の直上に設定される。眉毛領域192は、上眼瞼領域194の直上に設定される。図7(b)では前額領域190は眉毛領域192の直上に設定され、図7(c)ではh/2の隙間を介して眉毛領域192の上方に設定される。
【0061】
なお、図7(b)、(c)では、個体の染色体によって指定されるターゲット画像上での対象者の眼球領域198が、実際のターゲット画像上の対象者の眼球と一致する場合について例示しているが、実際には染色体が適した解を持たなければこのようにならない。すなわち、適した遺伝子を持たない染色体では眼球領域198が対象者の眼球と一致する位置にはならず、この眼球領域198の位置、大きさに基づき定められる前額領域190、眉毛領域192、上眼瞼領域194、および頬領域196についても対象者の各部位と一致する位置にはならない。
【0062】
式(7)を参照する。式(7)のtAは、上述した手法により仮定された前額領域190の総画素数である。同様に、式(7)のtB、tC、tDは、それぞれ、眉毛領域192、上眼瞼領域194、頬領域196の総画素数である。
【0063】
また、式(7)のnAは、前額領域190の画素値(例えば輝度値)をpA、所定の画素値としてのターゲット画像全体の平均画素値(例えば平均輝度値)をrとした場合に、pA>rを満たす画素数である。ここで、pA>rはその領域が前額領域でないことを意味する。式(7)のnBは、眉毛領域192の画素値をpBとした場合に、pB<rを満たす(眉毛領域192でないことを意味する)画素数である。式(7)のnCは、上眼瞼領域194の画素値をpCとした場合に、pC>rを満たす(上眼瞼領域194でないことを意味する)画素数である。式(7)のnDは、頬領域196の画素値をpDとした場合に、pD>rを満たす(頬領域196でないことを意味する)画素数である。
【0064】
なお、式7のnAは、所定の画素値として眉毛領域192の平均画素値rAを採用し、pA>rAを満たす画素数としてもよい。近赤外線の照射量によっては、前額領域190の画素値がターゲット画像の平均画素値rよりも低くなることがあるためである。
【0065】
式(7)のwAは、前額領域190の重みを表す係数であり、経験的に決定される。同様に、式(7)のwB、wC、wDは、それぞれ、眉毛領域192、上眼瞼領域194、頬領域196の重みを表す係数である。なお、wmawは式(8)で表されるが、C言語による実装の際では若干大きな値を使用してよい(下記表1参照)。
【0066】
修正適応度F2を算出したら、解出力部140が終了判定(ステップS344)を行う。本実施形態では、ステップS340からステップS350の処理を繰り返した数である世代交代数が100に達したら終了とし(ステップS344Yes)、それ未満なら終了しない(ステップS344No)。終了しない場合には(ステップS344No)、遺伝的操作実行部130が、修正適応度F2に基づき選択(ステップS346)、交叉(ステップS348)、および突然変異(ステップS350)を含む遺伝的操作を実行する。遺伝的操作実行部130は、ステップS346、S348、S350をそれぞれ実行する選択実行部132、交叉実行部134および突然変異生成部136を含む。
【0067】
ステップS346では、選択実行部132が、修正適応度に基づき個体の集団の中から生き残る個体を選択する。ステップS348では、交叉実行部134が、個体の遺伝子情報の一部を入れ替え、新しい個体を生成する。本実施形態では、一様交叉を用い交叉率を0.70とする。ステップS350では、突然変異生成部136が、個体の遺伝子情報の一部を変化させる。本実施形態では、突然変異率を0.05とする。
【0068】
ステップS340からステップS350を繰り返し、世代交代数が100に達したら(ステップS344Yes)、ステップS326へと移行する。本実施形態に係る遺伝的アルゴリズムは、世代交代を繰り返し修正適応度F2が最大となる状態を解析する問題となる。ステップS326では、解出力部140が最適解を出力し、対象者の眼球の検出結果が示される。図4(e)に対象者の眼球の検出結果(眼球領域198)を例示する。
【0069】
仮に、従来手法のように眼球領域198のみしか考慮しないとすると、日中の晴れた天候の下での直射日光の影響、眼鏡のフレームやレンズ表面における照明光の乱反射の影響、車両のヘッドライトやテールランプ等の外乱光の影響により、ターゲット画像上で対象者の眼球部分に輝度変化が生じた場合、その眼球を検出できないおそれがある。また、眼球の見え方の変化(例えば瞬目、横目、笑い眼等)により、その眼球を検出できないおそれがある。
【0070】
これに対し、上述した構成によれば、眼球領域198のみではなく、眼球周辺の顔部位すなわち前額領域190、眉毛領域192、上眼瞼領域194、および頬領域196の輝度分布情報を考慮して修正適応度F2を算出し、検出を実行する。よって、上記の状況下でも対象者の眼球をほぼ検出することができ、ロバスト性、正確性の高いシステムを実現できる。
【0071】
最適解出力後(S326)、システム処理を継続する場合(S328Yes)、ステップS330へと移行する。ステップS330ではシステム制御部102が「input_frame<30」を満たすかどうか判定し、これを満たす場合(ステップS330Yes)、検出対象切出部112が、近赤外線カメラ152が撮影した動画像から次の画像フレーム(静止画像)を取得する(ステップS332)。そして、「input_frame=input_frame+1」とし(ステップS334)、ステップS308、S310、S312へと移行する。
【0072】
ステップS314では、「input_frame=0」を満たさないので(ステップS314No)、初期個体集団の生成が行われず、直前のターゲット画像の対象者の眼球の検出に際して得られた個体の集団と修正適応度F2が継承される。これにより、遺伝的アルゴリズムの計算量を低減することができ、迅速に解を出力可能となる。また、精度向上の効果も奏する。
【0073】
再び、図1を参照する。推定部142は、連続的に取得されるターゲット画像のそれぞれの最適解に基づき、運転者の視線方向、または顔の向きを推定する。また、推定部142は、解出力部140が出力する最適解の修正適応度F2を修正適応度演算部126から取得し、修正適応度F2の変化がそれ以前の画像フレームの修正適応度F2と比べて所定以上である場合、瞬きまたは誤検出と推定する。瞬き等すると、ターゲット画像上での眼球の形状が変わりテンプレート画像と一致しなくなるので、修正適応度F2が変化する(F2の値が低下する)ためである。
【0074】
推定部142を有する眼球検出システム100を自動車に搭載し、運転者の異常状態を事前に察知するドライバーモニタリングシステムとして利用することで有用な効果を奏する。この場合、運転者の視線方向、または顔の向き等が事前に登録された条件と合致した場合に、警告音等を報知するように構成するとよい。
【0075】
なお、上記では眼球検出システム100について説明したが、この眼球検出システム100の各部構成をプログラムにより実現してもよい。すなわち、コンピュータを用いて同様の機能を実現させる眼球検出プログラムとして本発明の実現を図ってもよい。
【0076】
(実施例)
本実施形態の有効性を検証するために、以下の実験を行った。
【0077】
図8は、実験に使用するデータセット(画像フレーム)を示す図である。図8(a)が被験者1を示す図であり、図8(b)が被験者2を示す図であり、図8(c)が被験者3を示す図であり、図8(d)が被験者4を示す図である。図8(a)〜(d)に示すように、被験者は4名とし、そのうちの1名は眼鏡を装着する。実験に使用するデータセットは、被験者が実際に公道上で運転している状況下で、近赤外線カメラにより撮影したものである。かかる動画像には、昼間、昼間のトンネル内、夜間、夜間のトンネル内、トンネルの出入りなどのシーンが含まれている。また、被験者は顔を横に振る、会話、ルームミラー、カーナビゲーションなどへの視線移動、笑顔での会話などの動作を行っており、顔の向きや視線が変化する。精度の評価に関しては、虹彩の中心が含まれていなければ失敗とする。また、ROI116内に眼瞼裂全体が存在しない場合は眼球なしとし、評価に加えないこととする。
【0078】
有効性を検証するため、以下の実施例1から実施例6までの6種類の実験を実施した。表1に実施例1から実施例6のそれぞれの違いを示す。
【0079】
【表1】

【0080】
実施例3および実施例4は、テンプレート画像すなわち眼球部分以外として頬部分である頬領域196のみを考慮するもっとも単純なものである。頬領域196は髪型や眼鏡などの影響を受けにくく変化しにくい特徴があるので、その重みを表す係数wDを一番大きく設定する。ROI116の高さの違いによる性能の評価のため、実施例3ではその高さb2をb1の3/5、実施例4ではその高さb2をb1の1/2とする。
【0081】
実施例1および実施例2では、実施例3および実施例4の頬領域196に加えて眉毛部分を表す眉毛領域192および上眼瞼部分を表す上眼瞼領域194も考慮する。被験者によって、眉毛部分の縦方向の厚みは異なる特徴があるので、眉毛部分の重みを表す係数wBを一番小さく設定する。実施例3および実施例4との比較のため、実施例1ではROI116の高さb2をb1の3/5、実施例2ではROI116の高さb2をb1の1/2とする。
【0082】
実施例5および実施例6では、眉毛領域192、上眼瞼領域194、頬領域196に加え、前額部分である前額領域190を考慮する。実施例5では図7(b)の例示のように前額領域190を設定し、実施例6では図7(c)の例示のように前額領域190を設定する。また、実施例5では式7のnAをpA>rを満たす画素数とし、実施例6では式7のnAをpA>rAを満たす画素数とする。
【0083】
図9は、図8のデータセットに対する実施例6の検出結果を示す図である。図9(a)が被験者1の検出結果を示す図であり、図9(b)が被験者2の検出結果を示す図であり、図9(c)が被験者3の検出結果を示す図であり、図9(d)が被験者4の検出結果を示す図である。図9(a)〜(d)に示すように、被験者によらずターゲット画像上での被験者の眼球を検出できている。表2に他の実施例も含めた検出結果(検出精度)を示す。なお、検出精度を同じ条件で比較するため、実施例1から実施例6では、初期個体集団の生成に関して同一の乱数種を使用している。ただし、各データ毎(被験者毎)については別の乱数種を使用している。
【0084】
【表2】

【0085】
実施例3と実施例4を比較すると、実施例3の方が平均で5.67%高精度である。これはROI116の高さb2の違いが原因であると思われる。実施例4は実施例3と比較して、ROI116の高さb2が小さい。したがって、顔の移動が激しい場合など、眼球の位置がROI116の下方に位置すると、頬部分がROI116の外になってしまうため、検出できないことが多いと考えられる。
【0086】
実施例1と実施例2では両者の差は平均で0.75%と小さいが、ROI116の高さb2が大きい実施例1の方が良い結果となった。実施例1ではROI116の高さb2が相対的に大きくなるため、鼻孔部分を誤検出するケースが見られた、また、実施例2ではこのような誤検出は少ないが、実施例4と同様にROI116の高さb2が小さいため誤検出が生じた。実施例3と実施例4では差が大きく、実施例1と実施例2では差が小さいのは、実施例1および実施例2において、上記のようにそれぞれ別の原因によって誤検出が生じているからだと考えられる。
【0087】
実施例5と実施例6を比較すると、実施例6の方が平均で0.98%向上している。実施例6では、式7のnAをpA>rAを満たす画素数としている。したがって、実施例6では、近赤外線の照射具合、髪型、前額部の形状、顔の向きなどによって、大きな明度差が得られない場合でも、眉毛部分と比較するため、前額部を考慮することが可能となり、精度が向上したと考えられる。
【0088】
図10は実施例1と実施例6の検出結果を比較する図であり、図10(a)が実施例1の検出結果を、図10(b)が実施例6の検出結果を示している。図10(a)、(b)は、被験者2における典型的な改善例である。実施例1では、前額領域190を考慮おらず、眼鏡のレンズ表面に生じたグレア部分を上眼瞼領域194と判断しているため、眼鏡のフレーム部分を眼球領域198として検出していると考えられる。実施例6では、眼鏡表面にグレアが生じていても前額領域190も考慮するため、問題なく検出できている.実施例1と実施例6を比較すると、実施例6のほうが平均で2.73%向上している。
【0089】
図11は、トンネルの通過前から通過後までの画像フレームとその検出結果を示す図である。図11(a)〜(e)では、それぞれ、入力される画像フレームとその検出結果を経時的に示している。図11(a)〜(e)に示すように、トンネル進入前、通入中、進入後も対象者の眼球を正確に検出できている。特に図11(c)では、トンネルから出た直後のため、近赤外線カメラ152のゲインが調整中となり白とび傾向にあるが、正常に検出できている。これは、式(7)にてターゲット画像や眉毛領域192の輝度の変化を考慮しているためと考えられる。
【0090】
図12は、眼鏡の影響について説明する図である。図12(a)および(b)では前方のテールランプや環境光によって眼鏡上にグレアが生じているが、眼球は検出されている。
【0091】
図13は、眼球の見え方の変化の影響について説明する図である。図13(a)では、眼鏡を装着した被験者がトンネル内を走行中に瞬目(瞬き)している。図13(b)では眼球運動によって眼瞼裂の見えが変化している。図13(c)では、被験者が笑うことにより眼瞼裂の高さが小さくなっている。しかし、図13(a)〜(c)のいずれの場合も被験者の眼球を検出できている。
【0092】
瞬目や笑った際の眼瞼裂はほぼ線状に変化するため、テンプレート画像180を構成する虹彩領域188および強膜領域186に対応する部分が隠れてしまう。しかし、前額領域190や眉毛領域192といった領域を考慮することによって、このような結果が得られたと考えられる。
【0093】
表3は、図13(a)〜(c)の実験結果における各パラメータのセンシング結果である。これらの値を利用することで、推定部142が運転者の眼球運動から視線方向や顔の向きを推定することが可能となる。
【0094】
【表3】

【0095】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【0096】
なお、本明細書の眼球検出方法における各工程は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいはサブルーチンによる処理を含んでもよい。
【0097】
また、染色体を構成する遺伝情報としてのパラメータは上記に限定されるものではなく、それらの一部を省略し、さらに、三次元的な回転と言った情報を遺伝情報として活用してもよい。
【0098】
また遺伝的操作において、選択はルーレット選択に限らず、ランキング選択、トーナメント選択を利用し、交叉方法は一様交叉に限らず、一点交叉、二点交叉、多点交叉を利用してもよい。
【0099】
染色体を構成する各パラメータを表すビット数は8bitに限定されるものではない。
【0100】
前述の実施形態では、終了条件を満たすまで遺伝的操作を繰り返し行う構成を説明したが、終了条件として、ある個体の修正適応度F2が所定の値を超えた場合を条件としてもよい。例えば、最大世代交代数100に至る前の第50世代で、個体群の中に修正適応度F2がある閾値を超える個体がある場合、世代交代、つまり以後の遺伝的操作を行わず、第50世代の個体の内、修正適応度F2が最も高い個体の遺伝情報を解として取り扱い、第50世代の全個体を次フレーム画像の第1世代の個体として取り扱う。
【産業上の利用可能性】
【0101】
本発明は、遺伝的アルゴリズムを用いて眼球をモデル化したテンプレート画像を対象者の顔画像を撮像したターゲット画像上の各所に動かしてテンプレートマッチングすることで、ターゲット画像から対象者の眼球を検出する眼球検出システムおよび眼球検出方法に利用可能である。
【符号の説明】
【0102】
100…眼球検出システム、102…システム制御部、104…記憶部、110…入力部、112…検出対象切出部、114…顔領域、116…ROI(検出対象領域)、120…初期個体集団生成部、122…適応度演算部、124…領域仮定部、126…修正適応度演算部、130…遺伝的操作実行部、132…選択実行部、134…交叉実行部、136…突然変異生成部、140…解出力部、142…推定部、150…近赤外線投光器、152…近赤外線カメラ、180…テンプレート画像、182…上瞼領域、184…下瞼領域、186…強膜領域、188…虹彩領域、190…前額領域、192…眉毛領域、194…上眼瞼領域、196…頬領域、198…眼球領域

【特許請求の範囲】
【請求項1】
遺伝的アルゴリズムを用いて眼球をモデル化したテンプレート画像を対象者の顔画像を撮像したターゲット画像上の各所に動かしてテンプレートマッチングすることで該ターゲット画像から該対象者の眼球を検出する眼球検出システムにおいて、
前記テンプレートマッチング時の前記テンプレート画像の前記ターゲット画像上の中心座標、および該テンプレートマッチング時の該テンプレート画像の拡大倍率を含む染色体を持つ個体の集団を生成する初期個体集団生成部と、
前記テンプレート画像上の画素値と前記中心座標および拡大倍率によって指定される前記ターゲット画像上の画素値とに基づいて前記個体それぞれの適応度を算出する適応度演算部と、
前記中心座標および拡大倍率によって指定される前記ターゲット画像上の対象者の眼球領域を基準として、前額領域、眉毛領域、上眼瞼領域または頬領域を仮定する領域仮定部と、
前記仮定された前額領域、眉毛領域、上眼瞼領域または頬領域の画素値が所定の値以上か否かに基づいて前記適応度を修正した修正適応度を算出する修正適応度演算部と、
前記修正適応度に基づき選択、交叉および突然変異を含む遺伝的操作を実行する遺伝的操作実行部と、
当該遺伝的アルゴリズムの終了判定を行い、最適解の出力を行う解出力部と、
を備えることを特徴とする眼球検出システム。
【請求項2】
前記領域仮定部は、前記前額領域、眉毛領域、上眼瞼領域または頬領域の大きさを、前記眼球領域の大きさに基づいて仮定することを特徴とする請求項1に記載の眼球検出システム。
【請求項3】
前記領域仮定部は、前記ターゲット画像上にて前記前額領域と眉毛領域との間、前記眼球領域と頬領域との間に隙間が存在するように、該前額領域、眉毛領域、上眼瞼領域および頬領域を仮定し、
前記修正適応度演算部は、前記前額領域、眉毛領域、上眼瞼領域および頬領域を考慮して前記修正適応度を算出することを特徴とする請求項2に記載の眼球検出システム。
【請求項4】
前記ターゲット画像から対象者の顔部分を検出し該顔部分から前記テンプレートマッチングが実行される検出対象領域を切り出す検出対象切出部をさらに備えることを特徴とする請求項1から3のいずれか1項に記載の眼球検出システム。
【請求項5】
前記対象者の顔全体に赤外光を照射する赤外線投光器と、
前記赤外光の反射光を撮像して前記ターゲット画像を取得する赤外線カメラとをさらに備えることを特徴とする請求項1から4のいずれか1項に記載の眼球検出システム。
【請求項6】
前記赤外線カメラは、前記赤外光の反射光を動画像として撮影することによって、あるいは連続的に撮像することによって、前記ターゲット画像を連続的に取得し、
当該眼球検出システムは、直前のターゲット画像の対象者の眼球の検出に際して得られた個体の集団と修正適応度を、次のターゲット画像における処理に継承することを特徴とする請求項5に記載の眼球検出システム。
【請求項7】
連続的に取得される前記ターゲット画像のそれぞれの検出結果に基づき、前記対象者の視線方向、または顔の向きを推定する推定部をさらに備えることを特徴とする請求項6に記載の眼球検出システム。
【請求項8】
前記推定部は、前記解出力部が出力する最適解の修正適応度の変化が所定以上である場合、瞬きまたは誤検出と推定することを特徴とする請求項7に記載の眼球検出システム。
【請求項9】
遺伝的アルゴリズムを用いて眼球をモデル化したテンプレート画像を対象者の顔画像を撮像したターゲット画像上の各所に動かしてテンプレートマッチングすることで該ターゲット画像から該対象者の眼球を検出する眼球検出方法において、
前記テンプレートマッチング時の前記テンプレート画像の前記ターゲット画像上の中心座標、および該テンプレートマッチング時の該テンプレート画像の拡大倍率を含む染色体を持つ個体の集団を生成するステップと、
前記テンプレート画像上の画素値と前記中心座標および拡大倍率によって指定される前記ターゲット画像上の画素値とに基づいて前記個体それぞれの適応度を算出するステップと、
前記中心座標および拡大倍率によって指定される前記ターゲット画像上の対象者の眼球領域を基準として、前額領域、眉毛領域、上眼瞼領域または頬領域を仮定するステップと、
前記仮定された前額領域、眉毛領域、上眼瞼領域または頬領域の画素値が所定の値以上か否かに基づいて前記適応度を修正した修正適応度を算出するステップと、
前記修正適応度に基づき選択、交叉および突然変異を含む遺伝的操作を実行するステップと、
当該遺伝的アルゴリズムの終了判定を行い、最適解の出力を行うステップと、
を含むことを特徴とする眼球検出方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図6】
image rotate

【図4】
image rotate

【図5】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2013−45151(P2013−45151A)
【公開日】平成25年3月4日(2013.3.4)
【国際特許分類】
【出願番号】特願2011−180539(P2011−180539)
【出願日】平成23年8月22日(2011.8.22)
【出願人】(504165591)国立大学法人岩手大学 (222)
【出願人】(000002082)スズキ株式会社 (3,196)
【Fターム(参考)】