(57)【特許請求の範囲】
【請求項１】
被験者の動画像を撮影するための撮像手段と、
前記撮像手段により撮影された動画像から前記被験者の瞬目を検出する瞬目検出手段と、
瞬目の時間間隔の頻度の第１の分布と眠気のレベルとを予め対応付けて記憶するための記憶手段と、
前記瞬目検出手段により検出された瞬目に基づいて、前記被験者についての瞬目の時間間隔の第２の分布を算出し、前記記憶手段に記憶された第１の分布と前記第２の分布の類似度に基づいて、前記被験者の眠気のレベルを推定するための眠気推定手段とを備え、
前記眠気推定手段は、前記第１の分布を第１のヒストグラムで表現した場合に、前記第１のヒストグラムの階級ごとの頻度を要素とする第１の頻度ベクトルと、前記第２の分布を第２のヒストグラムで表現した場合に、前記第２のヒストグラムの階級ごとの頻度を要素とする第２の頻度ベクトルとの距離として、前記類似度を算出し、
前記推定された眠気のレベルを出力するための出力手段をさらに備える、眠気レベルの推定装置。
【請求項２】
前記記憶手段は、前記第１の分布として、各前記眠気のレベルで、複数の第１の頻度ベクトルを記憶しており、
前記眠気推定手段は、各前記眠気のレベルにおける、複数の第１の頻度ベクトルと前記第２の頻度ベクトルとの距離の最小値により、前記眠気のレベルを判定する、請求項１記載の眠気レベルの推定装置。
【請求項３】
前記記憶手段は、前記第１の分布として、各前記眠気のレベルで、複数の第１の頻度ベクトルを、瞬目の時間間隔の大きさで複数の段階のパターンに分類して記憶しており、
前記眠気推定手段は、前記分類のうち、前記被験者の瞬目の時間間隔の大きさにもっとも近いパターンにおいて、各前記眠気のレベルにおける、複数の第１の頻度ベクトルと前記第２の頻度ベクトルとの距離を算出する、請求項１または２記載の眠気レベルの推定装置。
【請求項４】
被験者について撮影された動画像から前記被験者の眠気の程度を、記憶装置および演算装置を含むコンピュータに実行させるための眠気レベルの推定方法であって、
前記記憶装置には、瞬目の時間間隔の頻度の第１の分布と眠気のレベルとが予め対応付けて記憶されており、
前記演算装置が、前記動画像から前記被験者の瞬目を検出するステップと、
前記演算装置が、前記検出された瞬目に基づいて、前記被験者についての瞬目の時間間隔の第２の分布を算出し、前記記憶装置に記憶された第１の分布と前記第２の分布の類似度に基づいて、前記被験者の眠気のレベルを推定するステップとを備え、
前記眠気のレベルを推定するステップは、前記演算装置が、前記第１の分布を第１のヒストグラムで表現した場合に、前記第１のヒストグラムの階級ごとの頻度を要素とする第１の頻度ベクトルと、前記第２の分布を第２のヒストグラムで表現した場合に、前記第２のヒストグラムの階級ごとの頻度を要素とする第２の頻度ベクトルとの距離として、前記類似度を算出するステップを含み、
前記演算装置が、前記推定された眠気のレベルを出力するステップをさらに備える、眠気レベルの推定方法。
【請求項５】
記憶装置および演算装置を有するコンピュータに、被験者について撮影された動画像から前記被験者の眠気レベルの推定処理を実行させるための眠気レベルの推定処理プログラムであって、前記プログラムは、
前記記憶装置には、瞬目の時間間隔の頻度の第１の分布と眠気のレベルとが予め対応付けて記憶されており、
前記演算装置が、前記動画像から前記被験者の瞬目を検出するステップと、
前記演算装置が、前記検出された瞬目に基づいて、前記被験者についての瞬目の時間間隔の第２の分布を算出し、前記記憶装置に記憶された第１の分布と前記第２の分布の類似度に基づいて、前記被験者の眠気のレベルを推定するステップとを備え、
前記眠気のレベルを推定するステップは、前記演算装置が、前記第１の分布を第１のヒストグラムで表現した場合に、前記第１のヒストグラムの階級ごとの頻度を要素とする第１の頻度ベクトルと、前記第２の分布を第２のヒストグラムで表現した場合に、前記第２のヒストグラムの階級ごとの頻度を要素とする第２の頻度ベクトルとの距離として、前記類似度を算出するステップを含み、
前記演算装置が、前記推定された眠気のレベルを出力するステップをさらに備える、推定処理をコンピュータに実行させる、眠気レベルの推定処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はカメラ等からの画像を処理する画像処理に関し、特に、画像中の人物の眠気の程度を推定するための画像認識の分野に関する。
【背景技術】
【０００２】
自動車運転者の運転状態をカメラ等の車載センサの情報から獲得する手法に関する検討が広く行われている。
【０００３】
その主な目的は自動車運転における安全性の向上であり、運転者の運転を支援するシステムが検討されている。運転支援システムの実現には、運転者の運転状態を検知・監視することが重要であり、これら運転状態の検知や監視を行うことで、危険な運転を未然に防ぐだけでなく、運転者の挙動や状態に配慮した情報提供を行うこともできる（非特許文献１、非特許文献２を参照）。
【０００４】
特に、センサとしてカメラを利用することにより運転者の顔向き・視線・表情など、車両から得られる操舵情報（ステアリング、ブレーキ操作など）に表れない操作前の運転者の状態について計測できるようになる（たとえば、特許文献１を参照）。なかでも、事故につながる危険性の大きい漫然運転や居眠りなどは特に検知手法の確立が望まれる運転状態であるといえる。これらの運転状態を検知することにより脇見運転などの危険な運転を未然に防ぐことができる。
【０００５】
また、本出願の発明者らにより実現された視線計測技術（特許文献２、非特許文献３を参照）では、非接触で視線を計測するために視線以外にも運転者の注意に関連する情報である顔（頭部）姿勢等を同時に計測している。
【０００６】
一方で、このような運転者の居眠りについては、運転者の瞬目に注目して、これを検知する技術についても、いくつかの技術が公開されている（たとえば、特許文献３、特許文献４、特許文献５を参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００５−１８６５６号公報
【特許文献２】特開２００８−１０２９０２号公報
【特許文献３】特開２００３−５７１号公報
【特許文献４】特開平１１−３３９２００号公報
【特許文献５】特開２０１０−２２４６３７号公報
【非特許文献】
【０００８】
【非特許文献１】田中宏明：“知的運転支援システムによる安全性向上技術”,自動車技術, 58, pp. 88〜94 (2004)
【非特許文献２】中野倫明, 山本新：“自動車におけるヒューマンインタフェースの研究開発動向”, 信学報システムソサイエティ大会TD-2-1, pp. 357〜358 (2000)
【非特許文献３】山添大丈, 内海章, 米澤朋子, 安部伸治：“３次元眼球モデルを利用した単眼カメラによる遠隔視線推定”, 画像の認識・理解シンポジウム(MIRU2007), pp. 1650〜1655 (2008)
【発明の概要】
【発明が解決しようとする課題】
【０００９】
瞬目を特徴量として、眠気の検出を行う従来の手法については、特許文献３は、閉眼時間の度数分布を作成し、その重心位置の変化等から覚醒度を推定する、というものである。特許文献４は、運転者の瞬き頻度，瞬き速度，眼の開度，閉眼時間に基づいて、運転者の居眠り状態を検知する技術であり、特許文献５は、群発性瞬目に注目したものである。
【００１０】
しかしながら、瞬目は、特に覚醒時には眠気以外の要因でも変動することから、これらの変動を考慮した解析でなければ、眠気検知の精度の向上が難しいという問題がある。
【００１１】
それゆえに本発明の目的は、覚醒時の眠気以外の要因による瞬目の変動を考慮した眠気検知のための眠気レベルの推定装置、眠気レベルの推定方法および眠気レベルの推定処理プログラムを提供することである。
【課題を解決するための手段】
【００１２】
この発明のある局面に従うと、眠気レベルの推定装置であって、被験者の動画像を撮影するための撮像手段と、撮像手段により撮影された動画像から被験者の瞬目を検出する瞬目検出手段と、瞬目の時間間隔の頻度の第１の分布と眠気のレベルとを予め対応付けて記憶するための記憶手段と、瞬目検出手段により検出された瞬目に基づいて、被験者についての瞬目の時間間隔の第２の分布を算出し、記憶手段に記憶された第１の分布と第２の分布の類似度に基づいて、被験者の眠気のレベルを推定するための眠気推定手段とを備え、眠気推定手段は、第１の分布を第１のヒストグラムで表現した場合に、第１のヒストグラムの階級ごとの頻度を要素とする第１の頻度ベクトルと、第２の分布を第２のヒストグラムで表現した場合に、第２のヒストグラムの階級ごとの頻度を要素とする第２の頻度ベクトルとの距離として、類似度を算出し、推定された眠気のレベルを出力するための出力手段をさらに備える。
【００１４】
好ましくは、記憶手段は、第１の分布として、各眠気のレベルで、複数の第１の頻度ベクトルを記憶しており、眠気推定手段は、各眠気のレベルにおける、複数の第１の頻度ベクトルと第２の頻度ベクトルとの距離の最小値により、眠気のレベルを判定する。
【００１５】
好ましくは、記憶手段は、第１の分布として、各眠気のレベルで、複数の第１の頻度ベクトルを、瞬目の時間間隔の大きさで複数の段階のパターンに分類して記憶しており、眠気推定手段は、分類のうち、被験者の瞬目の時間間隔の大きさにもっとも近いパターンにおいて、各眠気のレベルにおける、複数の第１の頻度ベクトルと第２の頻度ベクトルとの距離を算出する。
【００１６】
この発明の他の局面に従うと、被験者について撮影された動画像から被験者の眠気の程度を、記憶装置および演算装置を含むコンピュータに実行させるための眠気レベルの推定方法であって、記憶装置には、瞬目の時間間隔の頻度の第１の分布と眠気のレベルとが予め対応付けて記憶されており、演算装置が、動画像から被験者の瞬目を検出するステップと、演算装置が、検出された瞬目に基づいて、被験者についての瞬目の時間間隔の第２の分布を算出し、記憶装置に記憶された第１の分布と第２の分布の類似度に基づいて、被験者の眠気のレベルを推定するステップとを備え、眠気のレベルを推定するステップは、演算装置が、第１の分布を第１のヒストグラムで表現した場合に、第１のヒストグラムの階級ごとの頻度を要素とする第１の頻度ベクトルと、第２の分布を第２のヒストグラムで表現した場合に、第２のヒストグラムの階級ごとの頻度を要素とする第２の頻度ベクトルとの距離として、類似度を算出するステップを含み、演算装置が、推定された眠気のレベルを出力するステップをさらに備える。
【００１７】
この発明のさらに他の局面に従うと、記憶装置および演算装置を有するコンピュータに、被験者について撮影された動画像から被験者の眠気レベルの推定処理を実行させるための眠気レベルの推定処理プログラムであって、プログラムは、記憶装置には、瞬目の時間間隔の頻度の第１の分布と眠気のレベルとが予め対応付けて記憶されており、演算装置が、動画像から被験者の瞬目を検出するステップと、演算装置が、検出された瞬目に基づいて、被験者についての瞬目の時間間隔の第２の分布を算出し、記憶装置に記憶された第１の分布と第２の分布の類似度に基づいて、被験者の眠気のレベルを推定するステップとを備え、眠気のレベルを推定するステップは、演算装置が、第１の分布を第１のヒストグラムで表現した場合に、第１のヒストグラムの階級ごとの頻度を要素とする第１の頻度ベクトルと、第２の分布を第２のヒストグラムで表現した場合に、第２のヒストグラムの階級ごとの頻度を要素とする第２の頻度ベクトルとの距離として、類似度を算出するステップを含み、演算装置が、推定された眠気のレベルを出力するステップをさらに備える、推定処理をコンピュータに実行させる。
【発明の効果】
【００１８】
本発明の眠気レベルの推定装置、眠気レベルの推定方法および眠気レベルの推定処理プログラムによれば、撮影手段で撮影した被験者の顔画像データから、覚醒時の眠気以外の要因による瞬目の変動を考慮して、眠気を検知することが可能である。
【図面の簡単な説明】
【００１９】
【図１】眠気レベルの推定装置の構成の概略を示す図である。
【図２】眠気レベルの推定装置１００のハードウェア構成を説明するためのブロック図である。
【図３】本実施の形態の眠気レベルの推定装置１００において、上述したＣＰＵ５６がソフトウェアを実行するにより実現する機能を示す機能ブロック図である。
【図４】本実施の形態において、ＣＰＵ５６により視線推定のソフトウェアを実行する処理フローを示すフローチャートである。
【図５】図４に示した瞬目検出の処理を、より詳しく説明するためのフローチャートである。
【図６】上瞼のエッジの検出または下瞼のエッジの検出の処理を説明するためのフローチャートである。
【図７】上瞼のエッジの検出の際の定数座標Ｘ1およびＸNの設定値の例を示す概念図である。
【図８】各運転者について撮影した映像の一部を示す図である。
【図９】各運転者について撮影した映像の一部を示す図である。
【図１０】「白とび」が発生した画像の例を示す図である。
【図１１】被験者１についての開眼度の時間変化を示す図である。
【図１２】被験者２についての開眼度の時間変化を示す図である。
【図１３】被験者３についての開眼度の時間変化を示す図である。
【図１４】被験者４についての開眼度の時間変化を示す図である。
【図１５】被験者５についての開眼度の時間変化を示す図である。
【図１６】瞬目間隔のヒストグラムを示す図である。
【図１７】各ヒストグラム（頻度分布）について、瞬目間隔の標準偏差を算出した結果を示す図である。
【図１８】各ヒストグラム（頻度分布）について、瞬目間隔の標準偏差を算出した結果を示す図である。
【図１９】記憶装置５４に格納される基準ベクトルＶrの構成の一例を示す概念図である。
【図２０】視線検出の処理を示すフローチャートである。
【図２１】ガボール表現を用いた顔部品モデルを用いた特徴点の抽出処理を説明するための概念図である。
【図２２】眼球モデルパラメータの推定処理を「逐次型眼球モデル推定」の処理として実行する場合の処理の流れを説明する概念図である。
【図２３】ラベリング処理例を示す図である。
【図２４】右目および左目の虹彩と眼球モデルとの照合処理の概念を示す図である。
【図２５】視線方向を決定するためのモデルを説明する概念図である。
【発明を実施するための形態】
【００２０】
［ハードウェア構成］
以下、本発明の実施の形態にかかる「眠気レベルの推定装置」について説明する。この眠気レベルの推定装置は、コンピュータまたはマイコン等、プログラムにより動作する演算装置により実行されるソフトウェアにより実現されるものであって、対象画像から人物の顔を抽出し、さらに人物の顔の映像のうち、瞼の画像に基づいて、眠気レベルを推定するためのものである。
【００２１】
具体的な例としては、眠気レベルの検知を自動車の運転者に対して実行するものとして、以下説明する。ただし、本実施の形態の眠気レベルの推定装置は、他の局面でも、人間の眠気のレベルを検知することが必要な状況において、一般的に適用することが可能なものである。
【００２２】
図１は、この眠気レベルの推定装置の構成の概略を示す図である。
【００２３】
図１に示されるように、眠気レベルの推定装置は、自動車内でフロントガラス３を通して前方を見る体勢の運転者２の動画像を撮影するために、たとえば、ダッシュボード上に設置されるビデオカメラ３０と、ダッシュボード内に配置される推定演算装置２０と、計器パネルの一部として眠気のレベルの推定結果を表示するための表示装置４２と、眠気のレベルが所定のレベル以上となったと判断された場合に警告音声を出力するためのスピーカ（図示せず）とを備える。
【００２４】
カメラ３０としては、特に限定されないが、ＣＣＤ（Charge Coupled Device）またはＣＭＯＳ（Complementary Metal-Oxide Semiconductor）センサのような固体撮像素子を含む単眼カメラを用いることができる。
【００２５】
また、以下に説明する「推定演算装置２０」では、ソフトウェアに基づいて、眠気レベルの推定を行うものとして説明するが、「推定演算装置２０」の各機能の一部または全部は、ハードウェアにより実現されてもよい。
【００２６】
図２は、眠気レベルの推定装置１００のハードウェア構成を説明するためのブロック図である。
【００２７】
図２に示されるように、この眠気レベルの推定装置１００を構成する推定演算装置２０は、外部記録媒体６４に記録されたデータを読み取ることができるドライブ装置５２と、バス６６に接続された中央演算装置（ＣＰＵ：Central Processing Unit）５６と、ＲＯＭ（Read Only Memory) ５８と、ＲＡＭ（Random Access Memory）６０と、不揮発性記憶装置５４と、カメラ３０からの画像を取込むための画像取込装置６８とを含んでいる。
【００２８】
なお、ドライブ装置５２があることで、たとえば、ユーザごとの設定データなどを媒体６４から読込せたり、眠気に関して取得された情報を外部記録媒体６４に記録することなどが可能となる。ただし、外部記録媒体６４を使用することは、システムの構成上は任意であって、ドライブ装置５２は、構成から省略してもよい。
【００２９】
外部記録媒体６４としては、たとえば、メモリカード６４を使用することができる。ただし、メモリカードドライブ５２の機能を実現する装置は、フラッシュメモリなどの不揮発性の半導体メモリに記憶されたデータを読み出せる装置であれば、対象となる記録媒体は、メモリカードに限定されない。また、不揮発性記憶装置５４の機能を実現する装置も、不揮発的にデータを記憶し、かつ、ランダムアクセスできる装置であれば、ハードディスクのような磁気記憶装置を使用してもよいし、フラッシュメモリなどの不揮発性半導体メモリを記憶装置として用いるソリッドステートドライブ（ＳＳＤ：Solid State Drive）を用いることもできる。
【００３０】
既に述べたように、この眠気レベルの推定装置の主要部は、コンピュータハードウェアと、ＣＰＵ５６により実行されるソフトウェアとにより実現される。一般的にこうしたソフトウェアは、マスクＲＯＭやプログラマブルＲＯＭなどにより推定演算装置２０の製造時に記録されており、これが実行時にＲＡＭ６０に読みだされる構成としてもよいし、ドライブ装置５２により記録媒体６４から読取られて不揮発性記憶装置５４に一旦格納され、実行時にＲＡＭ６０に読みだされる構成としてもよい。または、当該装置がネットワークに接続されている場合には、ネットワーク上のサーバから、一旦、不揮発性記憶装置５４にコピーされ、不揮発性記憶装置５４からＲＡＭ６０に読出されてＣＰＵ５６により実行される構成であってもよい。
【００３１】
図２に示したコンピュータのハードウェア自体およびその動作原理は一般的なものである。したがって、本発明の最も本質的な部分は、不揮発性記憶装置５４等の記録媒体に記憶されたソフトウェアである。
【００３２】
［システムの機能ブロック］
以下に説明するとおり、本実施の形態の眠気レベルの推定装置１００では、顔特徴点を検出・追跡することにより、視線方向を推定するとともに、瞬目の周期の分布を検出する。
【００３３】
本実施の形態の眠気レベルの推定装置では、この「視線方向を推定する処理」においては、眼球中心と虹彩中心を結ぶ３次元直線を視線方向として推定する。眼球中心は画像からは直接観測することはできないものの、以下に説明するような３次元モデルにより、眼球中心と顔特徴点との相対関係をモデル化することにより、眼球中心の投影位置を推定する。
【００３４】
なお、以下では実施の形態の説明の便宜上、「虹彩中心」との用語を用いるが、この用語は、「虹彩の中心」または「瞳孔の中心」を意味するものとして使用するものとする。つまり、視線の推定処理において、以下の説明のような手続きにより求められるものを「虹彩中心」と呼ぶか「瞳孔中心」と呼ぶかは、その手続きが同様である限りにおいて、本実施の形態の態様において、本質的な相違を有するものではない。
【００３５】
図３は、本実施の形態の眠気レベルの推定装置１００において、上述したＣＰＵ５６がソフトウェアを実行するにより実現する機能を示す機能ブロック図である。
【００３６】
なお、図３に示した機能ブロックのうちのＣＰＵ５６が実現する機能ブロックとしては、ソフトウェアでの処理に限定されるものではなく、その一部または全部がハードウェアにより実現されてもよい。
【００３７】
図３を参照して、カメラ３０により撮像された動画に対応する映像信号は、フレームごとに画像キャプチャ処理部５６０２により制御されてデジタルデータとしてキャプチャされ、画像データ記録処理部５６０４により、たとえば、不揮発性記憶装置５４のような記憶装置に格納される。
【００３８】
顔（頭部）検出部５６０６は、キャプチャされたフレーム画像列に対して、周知の顔検出アルゴリズムにより、顔（頭部）候補探索を行う。なお、このような周知な顔（頭）検出アルゴリズムとしては、特に限定されないが、たとえば、特許文献２（特開２００８−１０２９０２号公報明細書）に記載されるようなアルゴリズムや、後に説明するような公知文献に記載されるアルゴリズムを使用することが可能である。
【００３９】
続いて、特徴点抽出部５６０８は、目・鼻・口などの位置関係を利用して顔特徴点を抽出・追跡する。
【００４０】
続いて、頭部位置・姿勢推定部５６１０が、たとえば、特許文献１（特開２００８−１０２９０２号公報明細書）に記載されたような単眼カメラによる視線方向の検出処理におけるのと同様の処理により、撮影できているカメラからの画像データにおいて、頭部の位置および頭部の姿勢の推定処理が実行される。特定された特定人物の頭部位置は、当該時刻における頭部位置として、次の処理タイミングで使用するために不揮発性記憶装置５４に格納される。
【００４１】
頭部の位置および頭部の姿勢が推定されると、処理対象となっている画像フレーム以前に獲得されている眼球の３次元モデルに基づいて、眼球中心推定部５６１２は、処理対象の特定人物の眼球中心の３次元的な位置を推定する。
【００４２】
虹彩中心抽出部５６１４は、後に説明するようなアルゴリズムにより、虹彩の中心の投影位置を検出する。ここで、虹彩位置の推定においては、後に説明する非線形最適化処理により虹彩位置の推定を行ってもよいし、あるいは、これも特許文献１（特開２００８−１０２９０２号公報明細書）に記載されたような処理であって、目の周辺領域に対して、ラプラシアンにより虹彩のエッジ候補を抽出し、円のハフ変換を適用することにより、虹彩の中心の投影位置を検出する、というような処理を行ってもよい。
【００４３】
視線方向推定部５６１８は、抽出された虹彩の中心の投影位置である画像フレーム中の２次元的な位置と、推定された眼球の３次元的な中心位置とに基づいて、視線方向を推定する。推定された視線方向は、眼球中心位置等の推定処理に使用したパラメータとともに、不揮発性記憶装置５４に格納される。
【００４４】
一方、瞬目検知部５６１８は、視線方向の推定処理において特定された目の領域を特定する情報に基づいて、瞼のエッジの検出および瞬目の発生の有無の検知を実行する。特に限定されないが、後に説明するように、虹彩中心抽出部５６１４において、虹彩の位置を眼球モデルと照合するために、目の領域が抽出される場合は、この特定された目の領域の情報を用いることができる。
【００４５】
眠気推定部５６２０は、抽出された瞬目について、現在までの所定期間において瞬目の発生した時間間隔の頻度の分布のパターンと、予め分類されている眠気の程度のレベルと瞬目の時間間隔の頻度の分布の基準パターンとを比較することにより、眠気の程度のレベルを特定する。ここで、このような「瞬目の発生した時間間隔の頻度の分布のパターン」は、瞬目の発生する周期の分布と対応する。後に説明するように、眠気レベルの推定装置１００では、眠気レベルの大きいときに瞬目の周期性が高まることに着目し、眠気の程度のレベルの検知を行う。
【００４６】
また、出力制御部５６１３は、ディスプレイ等の表示部４２に、以上のようにして推定された視線の方向を、取得された画像フレーム上に表示したり、推定された眠気の程度のレベルを表示するための処理を行なう。
【００４７】
さらに、出力制御部５６１３は、眠気の程度のレベルが所定レベル以上であると推定されるときは、スピーカなどの音声出力部４４を介して、警告音を出力する。警告音は、単純な警報音でもよいが、眠気が推定されるので、休憩をとることを促すようなアナウンス（「眠気が高くなっているのであれば、休憩をとりましょう」等）であってもよい。
【００４８】
（瞬目の検出と眠気のレベルの推定の処理）
図４は、本実施の形態において、ＣＰＵ５６により視線推定のソフトウェアを実行する処理フローを示すフローチャートである。
【００４９】
図４を参照して、まず、画像キャプチャ処理部５６０２が、画像を取得を実行し、たとえば、１フレーム分の画像を取得すると（ステップＳ１００）、このようにして取得した画像データを、一旦、記憶装置５４に格納する。
【００５０】
（視線推定処理）
続いて、この画像データ中から、顔（頭部）検出部５６０６、特徴点抽出部５６０８、頭部位置・姿勢推定部５６１０、眼球中心推定部５６１２、虹彩中心抽出部５６１４および視線方向推定部５６１８により、視線方向の推定および検出が実行される（Ｓ１０２）。
【００５１】
視線の検出については、たとえば、非特許文献３や特許文献２に記載されたような、従来の検出方法を用いることも可能である。そこで、視線の検出方法については、後に、一例について、より詳しく説明することとし、ここでは、その概略について説明する。
【００５２】
視線の推定処理においては、顔画像から顔面上の特徴点および目の領域（瞼位置に相当）、虹彩位置を検出し、特徴点から頭部姿勢を推定する。頭部姿勢の推定結果から眼球中心位置を決定し、眼球中心と画像から得られる虹彩中心を結ぶ３次元ベクトルとして視線方向を推定する。従って、この方法では視線方向に加えて運転者の注意に関連する情報として頭部（顔）姿勢および開眼度（瞼の開閉情報）を検知することもできる。
【００５３】
顔検出・顔特徴追跡処理では、３次元モデル生成や視線推定で用いる顔特徴の抽出・追跡を行う。まず顔検出処理により、画像上の顔位置を決定し、次に目・鼻・口などの位置関係を利用して顔特徴点を抽出・追跡する。
【００５４】
これら特徴点の抽出・追跡には，特に限定されないが、たとえば、Lucas-Kanadeの特徴点を用いることができる。複数毎の入力画像から顔特徴点の３次元モデル(顔モデル) を推定することで、運転者に事前のキャリブレーション等の負担をかけることなく、運転者正面から頭部を撮影したビデオ映像から運転者の視線方向を検出することができる。
【００５５】
なお、Lucas-Kanadeの特徴点については、以下の文献に開示がある。
【００５６】
公知文献１：B. Lucas and T. Kanade: “An iterative image registration technique with an application to stereo vision.”, Proc.Int'l Joint Conf. Articial Intelligence,  pp. 674〜679 (1981).
すなわち、瞬目の検出の前提として、視線の検出を行っておくことで、瞬目の検出時点では、以下の点が既知であるものとして、説明する。
【００５７】
ｉ）運転者２の顔の位置および顔の姿勢
ｉｉ）運転者２の顔の特徴点の位置
ｉｉｉ）運転者２の目を含む領域の位置
これらのうち、少なくとも「ｉｉｉ）運転者２の目を含む領域の位置」が既知であることにより、以下に説明する瞬目の検出処理において瞼のエッジの検出を行う領域を制限することができる。
【００５８】
（瞬目の検知処理）
以上のような前提の下で、瞬目検知部５６１８が、撮影された運転者の画像から、運転者が瞬目するタイミングを検知する（Ｓ１０４）。
【００５９】
図５は、図４に示した瞬目検出の処理を、より詳しく説明するためのフローチャートである。
【００６０】
図５を参照して、瞬目検知部５６１８は、瞬目の検知処理を開始すると（Ｓ３００）、瞬目の発生状況を示すフラグをＯＦＦ状態とする（Ｓ３０２）。
【００６１】
続いて、瞬目検知部５６１８は、上述したように視線の検出処理において、運転者２の目を含む領域の位置が検出されていることを利用して、以下のような処理により、上瞼のエッジの検出（Ｓ３０４）および下瞼のエッジの検出（Ｓ３０６）を実行する。
【００６２】
図６は、上瞼のエッジの検出または下瞼のエッジの検出の処理を説明するためのフローチャートである。
【００６３】
図６を参照して、まず、瞬目検出部５６１８は、瞼のエッジ検出の処理が開始されると（Ｓ４００）、画像内でエッジ検出を実行するための範囲を指定する座標ＸiniおよびＸendの設定値を以下のように、ローカルな定数Ｘ1およびＸNに設定する（Ｓ４０２）。
【００６４】
【数１】
0006043933.tif 000002
図７は、上瞼のエッジの検出の際の定数座標Ｘ1およびＸNの設定値の例を示す概念図である。
【００６５】
図７に示すように、定数Ｘ1で表現される座標については、すでに検出されている特徴点である、たとえば、目頭や目尻の位置を手掛かりとして、所定の領域内に設定する。たとえば、特に限定されないが、定数座標Ｘ1としては、目頭と目じりを結ぶ線分上に設定する。この定数座標Ｘ1から、これも、特に限定されないが、目頭と目じりを結ぶ線分に垂直で上に向かう方向に所定の距離だけ離れた点の座標を定数座標ＸNの値に設定する。ここで、所定の距離とは、たとえば、目頭と目じりの間隔の一定割合とするなど、事前に規定されているものとする。なお、定数座標Ｘ1と定数座標ＸNの設定については、以上の説明は単なる例示に過ぎず、他の設定を使用することも可能である。たとえば、以上の説明では、定数座標Ｘ1と定数座標ＸNとは、それぞれ、特定の１点に設定されるものとして説明したが、たとえば、座標Ｘ1と座標ＸNとが、所定の矩形領域内を動ける自由度を持つものとして、以下に説明する瞼のエッジ検出と近似する曲線との一致度のスコア（スプライン曲線上のエッジ点の個数）を最大化するように、以下の処理を行う構成とすることも可能である。
【００６６】
目頭と目じりについては、特徴点として抽出されているので、以上のようにして、瞼のエッジの検出を行う領域を特定できる。
【００６７】
続いて、瞬目検出部５６１８は、対象となる画像の領域内で、エッジ検出の処理を実行する。エッジ検出の方法については、周知であるので、ここでは、説明は省略する。
【００６８】
瞬目検出部５６１８は、カウント数ｋを１に設定し、かつ変数Ｓmaxの値を０に設定した後（Ｓ４０６）、カウント数ｋがＮ以下である限り、以下の処理を継続し、カウント数ｋがＮを超えると処理を終了して、図５のフローに復帰する（Ｓ４０８）。
【００６９】
すなわち、瞬目検出部５６１８は、定数座標Ｘ1と定数座標ＸNとの間の座標Ｘkを以下の式によって算出する。
【００７０】
【数２】
0006043933.tif 000003
次に、瞬目検出部５６１８は、目頭の座標Ｘeおよび目じりの座標Ｘsと、上記座標Ｘkにより規定されるスプライン曲線を特定する（Ｓ４１２）。
【００７１】
続いて、瞬目検出部５６１８は、特定されたスプライン曲線上の画素であって、検出されたエッジ上の画素について、画素値の合計値Ｓkを算出する（Ｓ４１４）。
【００７２】
合計値Ｓkが、変数Ｓmaxの値を超えない場合は（Ｓ４１６）、カウント数ｋを１だけインクリメントして（Ｓ４２０）、処理は、ステップＳ４０８に復帰する。
【００７３】
一方、合計値Ｓkが、変数Ｓmaxの値よりも大きい場合は（Ｓ４１６）、その時点でのカウント数ｋの値を変数ｋmaxに代入し、上瞼のエッジが線分Ｘ1ＸNと交わる点をＸtopとし、上瞼の変数Ｓmaxの値を合計値Ｓkに置き換え（Ｓ４１８）、カウント数ｋを１だけインクリメントして（Ｓ４２０）、処理は、ステップＳ４０８に復帰する。
【００７４】
すなわち、以上の処理により、目頭と目じりを通るスプライン曲線と、エッジ検出した結果の画像とが、もっともよく一致する点を、上瞼のエッジの位置Ｘtopとして検出することができる。
【００７５】
同様にして、定数座標Ｘ1から、特に限定されないが、たとえば、目頭と目じりを結ぶ線分に垂直で下に向かう方向に所定の距離だけ離れた点の座標を定数座標ＸNの値に設定して、図６に示す処理を実行することで、目頭と目じりを通るスプライン曲線と、エッジ検出した結果の画像とが、もっともよく一致する点を、下瞼のエッジの位置Ｘbottomとして検出することができる。
【００７６】
再び、図５に戻って、以上のようにして求めた位置Ｘtopと位置Ｘbottomとの距離を算出することで、瞬目検出部５６１８は、開眼度Ｄeoを算出する（Ｓ３１０）。特に限定されないが、開眼度Ｄeoは、画像の画素（ピクセル）を単位として、画素数で表現することもできる。
【００７７】
そして、瞬目検出部５６１８は、開眼度Ｄeoが所定のしきい値Ｒeoを下回ったと判断したときには、瞬目フラグをＯＮとして（Ｓ３１２）、図４に示す処理ステップＳ１０６に復帰する。
【００７８】
再び、図４を参照して、ステップＳ１０６において、瞬目検出部５６１８は、検出エラーがあると判断する場合は（Ｓ１０６）、処理はステップＳ１００に復帰する。
【００７９】
なお、検出エラーが生じる場合については、後述する。
【００８０】
続いて、眠気推定部５６２０は、瞬目が検出された場合は（Ｓ１０８でＹｅｓ）、前回の瞬目が検出された時点との時間間隔を算出する（Ｓ１１０）。
【００８１】
さらに、眠気推定部５６２０は、ステップＳ１１０で時間間隔を算出した瞬目を含む過去Ｎ回分の瞬目について（Ｎ：所定の自然数）、瞬目の時間間隔の頻度を、横軸を時間間隔についての階級、縦軸をその階級ごとの度数とするヒストグラムとして作成し、それ以前のヒストグラムを更新する（Ｓ１１２）。
【００８２】
そして、眠気推定部５６２０は、上記ヒストグラムの各階級の度数を、それぞれ要素とするヒストグラムベクトルＶpを、記憶装置５４内に予め格納されている基準ベクトルＶrと比較する（Ｓ１１４）。ここで、記憶装置５４には、基準ベクトルＶrとして、後に説明するように、眠気の程度のレベルと、そのレベルに属する複数のヒストグラムベクトルとを対応付けて事前に登録がなされているものとする。なお、基準ベクトルＶrとしては、その眠気の程度のレベルに典型的な基準ベクトルＶrを事前に選択して記憶させておいてもよい。
【００８３】
眠気推定部５６２０は、眠気の程度のレベルを、ヒストグラムベクトルＶpと最も距離の近い基準ベクトルＶrの対応する眠気レベルに更新し（Ｓ１１６）、眠気レベルを出力する（Ｓ１１８）。
【００８４】
特に限定されないが、ヒストグラムベクトルＶpと基準ベクトルＶrとの距離は、たとえば、以下のようにして定義される。
【００８５】
【数３】
0006043933.tif 000004
なお、ヒストグラムベクトルＶpと基準ベクトルＶrとの距離は、上述のような計算式に限定されるものではなく、一般に「距離の概念の基準（距離の公理）」を満たすものであれば、別の定義による距離を使用してもよい。さらに、ヒストグラムで表現されるような頻度の分布の類似度を客観的に判定できる基準であれば、別の基準を用いてもよい。
（瞬目の時間間隔の頻度の分布と眠気の程度のレベル）
以上説明したような眠気の程度のレベルと瞬目の時間間隔の頻度の分布の関係について、以下、実測データを用いて、より詳しく説明する。
【００８６】
実測データとしては、テストコースで運転を試験的に行った５名分の運転者のビデオ映像に基づくものとして以下説明する。
【００８７】
各被験者のビデオ映像は、眠気レベルの異なる３から４種類の映像を含んでいる（眠気レベルは被験者本人の申告による）。
【００８８】
図８および図９は、このようにして各運転者について撮影した映像の一部を示す図である。
【００８９】
以下では、５人の運転者のことを、被験者１〜被験者５と呼ぶことにする。
【００９０】
映像データに対して、視線計測を行った画像解析を利用し、フレーム毎の開眼度を算出している。なお、目の開眼度の算出は本来左右独立に行われるが、ここでは簡単のため左右の検出値の平均値を出力値とする。
【００９１】
（開眼度の解析）
図３〜図７で説明したような方法により被験者の映像データを解析し、開眼度のデータを得る。
【００９２】
なお、図４において説明したように、日差しの加減で、撮影画像中の顔の部分が、いわゆる「白とび」している場合は、解析処理が困難となるため「検出エラー」として解析からは除外する。
【００９３】
図１０は、このような「白とび」が発生した画像の例を示す図である。
【００９４】
なお、「白とび」の発生の有無については、顔画像の輝度分布などを利用して判断することが可能である。
【００９５】
結果として、各被験者について使用画像数は、およそ１２００〜９０００フレームとなっている。
【００９６】
図１１〜図１５は、それぞれ、被験者１〜被験者５についての開眼度の時間変化を示す図である。
【００９７】
各図において、３つの眠気の程度のレベルが異なる測定結果のグラフが示されている。各グラフの横軸は、時間（単位：フレーム）であり、縦軸は、上述した開眼度Ｄeo（単位：ピクセル）である。同一の被験者についてのグラフは、縦方向の下方ほど、眠気の程度が高い状態を表している。
【００９８】
瞬目の解析では、ここで得られた処理データ（開眼度）が一定のしきい値を下回った範囲を瞬目と判定し、非瞬目状態から瞬目状態に移行した時刻を瞬目時刻とする。
【００９９】
（瞬目パターンの分析）
図１１〜図１５では、各被験者、眠気レベル毎にサンプル画像を解析し、時系列の開眼度データを示した。
【０１００】
以下では、開眼度データから瞬目情報を抽出し、その特徴について分析した結果について説明する。
【０１０１】
時刻tにおける開眼度をＤeo［ｔ］［pixel］とすると、開眼度Ｄeoがしきい値σを下回ったときを瞬目とすることで瞬目状態Ｓｔを判定できる。
【０１０２】
【数４】
0006043933.tif 000005
ここでは、瞬目状態Ｓｔは、図５における「瞬目フラグ」に相当する。
【０１０３】
以下の解析では、σ＝８とし、Ｓtの値が０から１に変化した時刻を瞬目時刻と判定し、隣接する２つの瞬目時刻の差（フレーム数）を瞬目間隔とする。ただし、瞬目時刻としては、このような瞬目の開始時点ではなく、瞬目の終了時点を基準にとることも可能である。
【０１０４】
図１６は、上述のようにして算出した瞬目間隔のヒストグラムを示す図である。
【０１０５】
図中最上段は、各被験者について最も眠気レベルの低い状態での瞬目間隔のヒストグラムを示している。これに対して２段目以降は徐々に眠気レベルが高い状態となっている。
【０１０６】
各ヒストグラムはでは、横軸は、瞬目間隔の階級（単位：フレーム）を表し、縦軸は、各階級に属する瞬目間隔の発生の度数を示している。
【０１０７】
図１６に示されるように、眠気レベルが低い状態では比較的瞬目間隔にばらつきがみられるのに対して、眠気レベルが高い状態では比較的ばらつきが小さく特定の周期に高いピークが得られる場合が多いことがわかる。
【０１０８】
このように、眠気の程度に応じて、瞬目間隔の分布に相違があるのは、たとえば、覚醒レベルが高い状態では意識的な瞬目を含めて複数の要因で瞬目が発生／抑制しているのに対して、覚醒レベルが低くなると無意識の瞬目が多くを占めるようになることが原因である可能性がある。
【０１０９】
（瞬目の定常性に着目した眠気検知アルゴリズム）
以上説明したように、眠気レベルが高い場合に瞬目間隔に定常性が現れる場合が多い。従って、瞬目間隔パターンの変化によって眠気検知を行うことが可能である。
【０１１０】
図１７および図１８は、図１６に示した各ヒストグラム（頻度分布）について、瞬目の時間間隔の標準偏差を算出した結果を示す図である。
【０１１１】
図１７および図１８に示されるように、多くの被験者で眠気レベルの増加に伴って瞬目間隔の標準偏差が小さくなる傾向があることがわかる。
【０１１２】
図１９は、図３に示した構成において、記憶装置５４に格納される基準ベクトルＶrの構成の一例を示す概念図である。
【０１１３】
上述のとおり、多くの被験者で眠気レベルの増加に伴って瞬目間隔の標準偏差が小さくなる傾向があることから、複数の被験者について共通に、眠気の程度のレベルとこれに対応する基準ベクトルＶrとを関連付けて、記憶装置５４に格納しておくことも可能である。
【０１１４】
すなわち、複数の被験者について、事前に実験的に集められたデータをもとに、同一の眠気の程度のレベルについて、複数人からのデータに基づく複数の基準ベクトルを対応付けておくことが可能である。あるいは、同一の眠気の程度のレベルについて、上記ヒストグラムの各階級についての度数の平均値をとり、これを階級ごとに並べることで、その眠気の程度のレベルの基準ベクトルＶrとすることも可能である。
【０１１５】
ただし、より精度よく、被験者の眠気の程度を推定するには、図１９に示すような構成が望ましい。
【０１１６】
すなわち、瞬目の時間間隔の大きさ（スケール）については、一般には、個人差が見られる。たとえば、図１６に示した例では、被験者１は、相対的に小さい傾向があり、被験者３や被験者４では、相対的に大きい傾向がある。
【０１１７】
従って、眠気レベルの判定にあたっては、瞬目間隔の変化要因として個人差も考慮することが望ましい。そこで、図１９に示すように、眠気の程度についてだけでなく、個人の瞬目間隔のパターンについても、予め複数の標準となるパターンを時間間隔の大きさで分類して準備しておき、長時間の開眼度履歴から個人特性を推定して、その被験者にもっとも近い瞬目間隔のスケールを有する基準ベクトルＶｒを選択することも可能である。
【０１１８】
また、このような基準ベクトルＶｒについては、記録媒体６４を介してや、あるいは、眠気レベルの推定装置がネットワークに接続されている場合は、このネットワークなどを介して、適宜、更新される構成とすることも可能である。
【０１１９】
したがって、この場合は、眠気検知アルゴリズムの概略は、図４に示したものと同様であるが、大略以下のようなフローとなる。
【０１２０】
１）運転者の瞬目間隔を所定期間観測し、複数の基準ベクトルのうち、もっとも近いパターンを有する基準ベクトルＶｒの組を、その運転者用の基準ベクトルとして採用する。このような基準ベクトルの選択は、１回の運転期間（エンジンを始動後、エンジンを止めるまで）のそれぞれ最初に実行することとしてもよいし、あるいは、特定の運転者については、その車の運転を初めて行ったときに選択される基準ベクトルを登録することとしてもよいし、あるいは、一定期間ごとに、基準ベクトルの選択を更新する構成としてもよい。
【０１２１】
２）入力画像から顔検出、目領域抽出を行い、運転者の目領域画像を得る。
【０１２２】
３）目領域画像から上下瞼を抽出し、上下瞼間の距離（開眼度）を算出する。
【０１２３】
４）開眼度の変化から瞬目の生起を検知しその時刻を得る。
【０１２４】
５）直近に生起した一定回数分の瞬目の生起パターンをモデルデータと比較し、運転者の眠気レベルを判定する。
【０１２５】
なお、眠気の程度の判定にあたっては、上述したような瞬目間隔の分布のパターンに加えて、眠気レベルによる瞬目速度や閉眼時間についても考慮して、これらの判定レベルを統合して、眠気の判定を行う構成としてもよい。
【０１２６】
なお、上述のとおり、瞬目の判定の前提として、視線の検出を実行しているので、眠気の程度の判定としては、ここで説明したような「瞬目の時間間隔のパターン」と「視線方向の時間変化」とを組み合わせて、眠気の程度のレベルを総合的に判定する、という構成とすることも可能である。たとえば、眠気の程度が大きくなると安全確認などがおろそかになり、結果的に視線方向が固定化され視線移動量が小さくなる傾向がある。したがって、「瞬目の時間間隔のパターン」と「注視方向ならびに視線移動量の変化」とを組み合わせて、眠気の程度を判定する構成とすることも可能である。このとき、たとえば、「視線移動量の変化」についても、事前に取得した実験データから、変化の程度と、眠気の程度とを階級に分けて事前に対応付けておくことで、眠気の程度を判定できる。さらに、これらの組み合わせとしては、たとえば、双方の眠気の程度のレベルが一定レベル以上となった場合に眠気発生の警告出力の契機とすることも可能であるし、あるいは、一方の眠気レベルの判定が所定レベル以上の場合、他方のレベルについては、他の基準となるレベル以上に達していることをもって、眠気発生の警告出力の契機とすることも可能である。
（視線の推定処理の具体例）
視線の検出については、すでに、多くの技術が周知である。
【０１２７】
ただし、以下では、本実施の形態の眠気レベルの推定装置において、視線検出を実行する処理を一例として説明する。
【０１２８】
図２０は、視線検出の処理を示すフローチャートである。
【０１２９】
図２０を参照して、処理が開始されると、まず、ＣＰＵ５６は、前時刻（前フレーム）までの処理で、すでに頭部位置や頭部姿勢について推定結果が得られているかを判断する（Ｓ２０２）。
【０１３０】
前時刻における推定結果がすでに存在する場合は、これを記憶装置５４から取得して、以後の処理の初期値として利用する（Ｓ２０４）。ただし、前時刻までの推定結果が存在しない場合は、予め定められた値を初期値として利用する。
【０１３１】
続いて、ＣＰＵ５６は、画像キャプチャ処理部５６０２により、カメラ３０で観測され、画像データとしてキャプチャされた画像において、顔（頭部）検出部５６０６により、顔（頭部）の検出を実施する（Ｓ２０６）。
【０１３２】
このような顔（頭部）の検出処理としては、特に限定されないが、たとえば、以下の公知文献２や公知文献３に開示されたアルゴリズム（AdaBoostと呼ぶ）を使用することもできる。
【０１３３】
公知文献２：S. Kawato, N. Tetsutani and K. Hosaka: “Scale  adaptive face detection and tracking in real time with SSR filters and support vector machine”, IEICE Trans. on Info. and Sys., E88-D, 12, pp. 2857〜2863 (2005).
公知文献３：CVIM研究会 チュートリアルシリーズ(チュートリアル2)  情報処理学会研究報告. 2007-CVIM-159(32), [コンピュータビジョンとイメージメディア] , P.265-272, 2007-05-15.
顔（頭部）の画像フレームからの検出については、周知の他のアルゴリズムを利用することも可能である。
【０１３４】
さらに、ＣＰＵ５６は、特徴点抽出部５６０８により、顔画像中から特徴点を抽出し、頭部位置・姿勢推定部５６１０により、頭部の３次元の位置および姿勢の推定を実行する（Ｓ２０８）。
【０１３５】
たとえば、頭部位置・姿勢推定部５６１０が、特許文献２（特開２００８−１０２９０２号公報明細書）に記載されたような単眼カメラによる視線方向の検出処理におけるのと同様の処理により、カメラからの画像データにおいて、頭部の位置および頭部の姿勢の推定処理を実行する（Ｓ２０８）。
【０１３６】
（特徴点の抽出の他の処理）
なお、顔の特徴点の抽出については、以下のような処理を行ってもよい。
【０１３７】
すなわち、ＣＰＵ５６は、各カメラからの画像フレーム上で顔部品モデルとのテンプレートマッチング処理により、特徴点の２次元座標を得る。ここで、特に限定されないが、顔部品モデルとしては、特徴点を含む部分画像を顔部品テンプレートとして事前に準備しおいてもよいし、あるいは、ガボール（Gabor）表現を用いたモデルを使用することも可能である。
【０１３８】
図２１は、このようなガボール表現を用いた顔部品モデルを用いた特徴点の抽出処理を説明するための概念図である。
【０１３９】
ここで、「ガボール表現を用いた顔部品モデル」とは、顔画像領域内の各部分領域をガボール基底ベクトルとの積和演算により低次元ベクトル表現に変換し、あらかじめ変換して記憶装置５４に記録してあるモデルのことである。カメラからの画像フレームは、たとえば、図２１（ａ）の黒枠で示されるような黒四角の枠の大きさで部分画像に分割してあるものとする。ＣＰＵ５６は、このガボール表現を用いた顔部品モデルを顔部品テンプレートとして、各カメラからの画像フレームの各部分画像と比較し、類似度の高いものを特徴点として抽出する。
【０１４０】
このような特徴点の抽出処理については、たとえば、以下の公知文献４に記載されている。
【０１４１】
公知文献４：画像処理による顔検出と顔認識(サーベイ(2))情報処理学会研究報告. 2005-CVIM-149(37), [コンピュータビジョンとイメージメディア] , P.343-368, 2005-05-13.
（眼球中心位置の推定処理）
そして、頭部の位置および頭部の姿勢の推定が終了すると、続いて、ＣＰＵ５６は、眼球中心推定部５６１２により、眼球の中心位置を推定する（Ｓ２１０）。
【０１４２】
すなわち、以下に説明するように、「眼球モデルパラメータの推定処理」を、「逐次型眼球モデル推定」として実行する処理を例にとって、眼球中心位置の推定処理および虹彩（または瞳孔）位置の検出処理について説明する。
【０１４３】
図２２は、このような眼球モデルパラメータの推定処理を「逐次型眼球モデル推定」の処理として実行する場合の処理の流れを説明する概念図である。
【０１４４】
すなわち、眼球モデルパラメータの推定処理については、平均的なモデルパラメータを初期値とした逐次型のアルゴリズムを用いる。
【０１４５】
図２２を参照して、このアルゴリズムの実装例について説明する。まずアルゴリズムの開始時点では、事前の被験者実験により複数の対象人物について平均値を求めておく等の方法で得た眼球中心位置Ｘ０Ｌ（太字、太字はベクトルであることを表し、添え字Ｌは左目を表す）、Ｘ０Ｒ（太字、添え字Ｒは右目を表す）、眼球半径ｌ０、虹彩半径ｒ０を初期パラメータとして、眼球モデルパラメータが、たとえば記憶装置５４に保持されているものとする。ここで、眼球中心位置Ｘ０Ｌ、Ｘ０Ｒは、頭部モデルにおける座標系で表現されているものとする。
【０１４６】
ＣＰＵ５６は、現在のフレームに対する以下に説明するような目領域の画像に対するラベリング結果および頭部（顔）姿勢を入力として、上記初期パラメータを出発点として、非線形最適化処理によって眼球モデルパラメータである眼球中心位置Ｘ１Ｌ（太字）、Ｘ１Ｒ（太字）、眼球半径ｌ１、虹彩半径ｒ１および現在フレームにおける虹彩中心位置ｘＬ，１（太字），ｘＲ，１（太字）を得て、たとえば、記憶装置５４に格納する。ここで、眼球中心位置Ｘ１Ｌ（太字）、Ｘ１Ｒ（太字）ならびに虹彩中心位置ｘＬ，１（太字），ｘＲ，１（太字）も、頭部モデルにおける座標系で表現されているものとする。
【０１４７】
より詳しく説明すると、以下のとおりである。
【０１４８】
（ＲＡＮＳＡＣ：Random sample consensus）
以下で説明するＲＡＮＳＡＣ処理は、外れ値を含むデータから安定にモデルパラメータを定めるための処理であり、これについては、たとえば、以下の文献に記載されているので、その処理の概略を説明するにとどめる。
【０１４９】
公知文献５：M.A.Fischler and R.C.Bolles:” Random sample consensus: A paradigm for model fitting with applications to image analysis and automated cartography,”Comm. Of the ACM, Vol.24, pp.381-395,1981
公知文献６：大江統子、佐藤智和、横矢直和：“画像徳著点によるランドマークデータベースに基づくカメラ位置・姿勢推定”、画像の認識・理解シンポジウム（MIRU2005）２００５年７月
上述のような眼球中心位置を初期値として、入力画像群に対して眼球モデルを当てはめ最適なモデルパラメータを推定する。ここで、入力画像から目の周辺領域を切り出し、色および輝度情報をもとに、以下の式（１）に従って、虹彩（黒目）、白目、肌領域の３種類にラベル付けを行なう。
【０１５０】
【数５】
0006043933.tif 000006
ここで、ｈｓ,ｋは、肌領域のｋ番目の画素の色相（hue）の値を表わす。ｈｉ，ｊは、入力画像中の画素（ｉ，ｊ）（第ｉ番目のフレームのｊ番目の画素）の色相の値を表わす。ｖｓ,ｋは、入力画像中の画素（ｉ，ｊ）の明度の値を表わす。
【０１５１】
図２３は、このようなラベリング処理例を示す図である。
【０１５２】
続いて各画素が虹彩モデルの内側にあるかどうかをチェックし、眼球モデルとの照合度を評価する（非線形最適化）。
【０１５３】
図２４は、このような右目および左目の虹彩と眼球モデルとの照合処理の概念を示す図である。
【０１５４】
ここで、このような非線形最適化処理を行なうにあたり、以下の式（２）で表される距離ｄ｛LR｝,i,jを導入する。
【０１５５】
【数６】
0006043933.tif 000007
一方、ｒ｛LR｝,i,jは、虹彩中心から画素（ｉ，ｊ）方向の虹彩半径を示すとすると、図２４に示すとおり、画素（ｉ，ｊ）が虹彩の外側にあれば、ｄ｛LR｝,i,jは、ｒ｛LR｝,i,jよりも大きな値を示す。
【０１５６】
ｒ｛LR｝,i,jは、以下の式（３）に示すように、３次元の眼球中心位置Ｘi{LR}（太字）、対象画像フレーム内の画素位置（ｘｉ，ｊ，ｙｉ，ｊ）、眼球半径ｌｉ、虹彩半径ｒｉ、対象画像フレーム内の虹彩中心投影位置ｘ{LR}、ｉ（太字）の関数となる。なお、以下では、下付文字｛ＬＲ｝は、左を意味するＬ、右を意味するＲを総称するものとして使用する。また、添え字のｉは、第ｉ番目の画像フレームであることを示す。
【０１５７】
【数７】
0006043933.tif 000008
なお、頭部の相対座標で考えているので、本来は、眼球中心位置は、フレームに拘わらず、一定の位置に存在するはずである。
【０１５８】
最後に、眼周辺の全画素についてｄ｛LR｝,i,jの評価を行ない、入力画像群に尤もよく当てはまる以下の式（４）のモデルパラメータθを、式（５）に従って決定する。
【０１５９】
【数８】
0006043933.tif 000009
ここで、ｇi,j｛LR｝は、フレームi、画素jにおけるｄ｛LR｝,i,jの評価値であり、対象画素が虹彩領域か白目領域かによって、以下の式に従い、符合を反転させる。
【０１６０】
【数９】
0006043933.tif 000010
ラベリングｕijが撮影された画像内の虹彩領域を反映し、関数Ｇi,j｛LR｝は、眼球モデルから算出される虹彩領域を反映している。
【０１６１】
このようにして、眼球中心位置が推定される（Ｓ２１０）とともに、虹彩中心の位置も検出される（Ｓ２１２）。
【０１６２】
そして、得られた虹彩中心投影位置および眼球中心位置の投影位置から現在のフレームにおける視線方向を計算することができる（Ｓ２１４）。
【０１６３】
より具体的には、以上で求まった眼球中心位置と虹彩中心位置より視線方向を計算する。
【０１６４】
図２５は、視線方向を決定するためのモデルを説明する概念図である。
【０１６５】
図２５に示されるように、画像上での眼球半径をｌ、画像上での眼球中心と虹彩中心とのｘ軸方向、ｙ軸方向の距離をｄx、ｄyとすると、視線方向とカメラ光軸とのなす角、つまり、視線方向を向くベクトルがｘ軸およびｙ軸との成す角ψx、ψyは次式で表される。
【０１６６】
【数１０】
0006043933.tif 000011
なお、右目と左目のそれぞれで、視線が推定されるので、左右両眼について得られた視線方向の平均値を視線方向として出力する。ただし、たとえば、右目と左目とで、異なるカメラで撮影した画像フレームで視線を推定した場合などは、観測解像度、観測方向を考慮した重み付き平均としてもよい。
【０１６７】
続いて、ＣＰＵ５６の視線方向推定部５６１６は、頭部位置・姿勢の推定結果とともに、視線推定の結果を出力して、記憶装置５４に格納する（Ｓ２１６）。表示制御部５６１３は、特に限定されないが、たとえば、表示部４２に撮影された画像が表示されるモードでは、表示される画像上において、視線の方向を、たとえば、画像中の対象人物の虹彩の中心（瞳孔）から、視線方向に伸びる線分または矢印として表示する。
【０１６８】
次フレーム以降の処理においては、前フレームで得られた眼球モデルパラメータを初期値と置き換え、新たに得られる入力画像フレームのデータに対して、非線形最適化処理を行なうことでモデルパラメータの更新および当該フレームにおける虹彩中心位置の推定、視線方向の推定を行なうことができる。
【０１６９】
以上説明したように、覚醒時の眠気以外の要因による瞬目の変動を考慮して、自動車の運転者等の状態（特に眠気）をカメラで撮影した運転者の顔画像データから検知することが可能になる。
【０１７０】
さらに、このような眠気の検知を、運転者の顔映像から視線方向を検出するシステムを拡張することで実現することが可能となる。
【０１７１】
今回開示された実施の形態は、本発明を具体的に実施するための構成の例示であって、本発明の技術的範囲を制限するものではない。本発明の技術的範囲は、実施の形態の説明ではなく、特許請求の範囲によって示されるものであり、特許請求の範囲の文言上の範囲および均等の意味の範囲内での変更が含まれることが意図される。
【符号の説明】
【０１７２】
２  運転者、３  フロントガラス、２０  推定演算装置、３０  カメラ、４２  表示部（ディスプレイ）、５２  ドライブ装置、５４  記憶装置、６０  ＲＡＭ、６４  記録媒体、６６  バス、６８  画像取込装置、１００  眠気レベルの推定装置、５６０２  画像キャプチャ処理部、５６０４  画像データ記録処理部、５６０６  顔（頭部）検出部、５６０８  特徴点抽出部、５６１０  頭部位置・姿勢推定部、５６１２  眼球中心推定部、５６１３  表示制御部、５６１４  虹彩中心抽出部、５６１６  視線方向推定部、５６１８  瞬目検知部、５６２０  眠気推定部。
【図１】
0006043933.tif 000012
【図２】
0006043933.tif 000013
【図３】
0006043933.tif 000014
【図４】
0006043933.tif 000015
【図５】
0006043933.tif 000016
【図６】
0006043933.tif 000017
【図１９】
0006043933.tif 000018
【図２０】
0006043933.tif 000019
【図２４】
0006043933.tif 000020
【図７】
0006043933.tif 000021
【図８】
0006043933.tif 000022
【図９】
0006043933.tif 000023
【図１０】
0006043933.tif 000024
【図１１】
0006043933.tif 000025
【図１２】
0006043933.tif 000026
【図１３】
0006043933.tif 000027
【図１４】
0006043933.tif 000028
【図１５】
0006043933.tif 000029
【図１６】
0006043933.tif 000030
【図１７】
0006043933.tif 000031
【図１８】
0006043933.tif 000032
【図２１】
0006043933.tif 000033
【図２２】
0006043933.tif 000034
【図２３】
0006043933.tif 000035
【図２５】
0006043933.tif 000036