(57)【要約】【課題】顔を撮像して時系列的に得られる画像データ中の眼を検出し、検出した眼を追跡する眼の追跡装置、眼の追跡方法、検出した眼の開閉状態を判定する眼の状態判定装置、眼の状態判定方法及びコンピュータプログラムを提供する。【解決手段】カメラ２が撮像した画像フレームをケーブルＣを介して取得したコンピュータ１のＣＰＵ１０は、前記画像フレームから眼の領域を特定し、特定した領域を示すテンプレートを追跡テンプレートとして記憶する。また、この追跡テンプレートに基づき、後に取得する画像フレーム中の眼の領域を特定し、特定した領域のテンプレートと前記追跡テンプレートとの相関値を算出する。更に、算出した相関値が予めＨＤ１１に記憶してある閾値よりも大きい場合に、特定した領域を示すテンプレートを追跡テンプレートとしてＲＡＭ１２に記憶することにより、時系列的に前後の画像フレーム中の眼の領域を更新する。【選択図】        図１
2004234494.tif 000002
【特許請求の範囲】
【請求項１】
顔を撮像して時系列的に得られる画像データ中の眼を検出し、検出した眼を追跡する装置において、
閾値を記憶する閾値記憶手段と、
前記画像データ中の眼の第１領域を特定する第１特定手段と、
該第１特定手段が特定した第１領域を追跡領域として記憶する追跡領域記憶手段と、
該追跡領域記憶手段に記憶してある追跡領域に基づき、前記画像データの後の画像データ中の眼の第２領域を特定する第２特定手段と、
前記追跡領域と第２領域との相関値を算出する算出手段と、
該算出手段が算出した相関値及び前記閾値記憶手段に記憶してある閾値を比較する比較手段とを備え、
前記追跡領域記憶手段は、前記比較手段の比較結果が、前記相関値が閾値よりも大きい場合に、前記第２特定手段が特定した第２領域を追跡領域として記憶する手段を備えることを特徴とする眼の追跡装置。
【請求項２】
前記第２特定手段は、
前記後の画像データ中の前記追跡領域の近傍領域から第２領域を特定するように構成してあることを特徴とする請求項１に記載の眼の追跡装置。
【請求項３】
前記追跡領域及び第２領域の特徴データを抽出する抽出手段を備え、
前記算出手段は、前記抽出手段が抽出した追跡領域の特徴データと、前記抽出手段が抽出した第２領域の特徴データとの相関値を算出するように構成してあることを特徴とする請求項１又は２に記載の眼の追跡装置。
【請求項４】
前記追跡領域及び第２領域の変化を検出する変化検出手段を備え、
前記追跡領域記憶手段は、前記変化検出手段が変化を検出した場合に、前記第２領域を追跡領域として記憶するように構成してあることを特徴とする請求項１乃至３のいずれかに記載の眼の追跡装置。
【請求項５】
顔を撮像して時系列的に得られる画像データ中の眼を、計算装置により検出し、検出した眼を追跡する方法において、
前記計算装置が、
閾値を記憶し、
前記画像データ中の眼の第１領域を特定し、
特定した第１領域を追跡領域として記憶し、
前記追跡領域に基づき、前記画像データの後の画像データ中の眼の第２領域を特定し、
前記追跡領域と第２領域との相関値を算出し、
算出した相関値及び前記閾値を比較し、
比較した比較結果が、前記相関値が閾値よりも大きい場合に、前記第２領域を追跡領域として記憶することを特徴とする眼の追跡方法。
【請求項６】
コンピュータに、顔を撮像して時系列的に得られる画像データ中の眼を検出させ、検出した眼を追跡させるためのコンピュータプログラムにおいて、
コンピュータに、閾値を記憶させる手順と、
コンピュータに、前記画像データ中の眼の第１領域を特定させる手順と、
コンピュータに、特定した第１領域を追跡領域として記憶させる手順と、
コンピュータに、前記追跡領域に基づき、前記画像データの後の画像データ中の眼の第２領域を特定させる手順と、
コンピュータに、前記追跡領域と第２領域との相関値を算出させる手順と、
コンピュータに、算出した相関値及び前記閾値を比較させる手順と、
コンピュータに、比較した比較結果が、前記相関値が閾値よりも大きい場合に、前記第２領域を追跡領域として記憶させる手順とを備えることを特徴とするコンピュータプログラム。
【請求項７】
顔を撮像して得られる画像データ中の眼を検出し、検出した眼の開閉状態を判定する装置において、
前記画像データ中の眼の領域を特定する特定手段と、
該特定手段が特定した眼の領域内の瞼の形状を検出する瞼検出手段と、
該瞼検出手段が検出した瞼の形状に基づき、当該眼の開閉状態を判定する判定手段とを備えることを特徴とする眼の状態判定装置。
【請求項８】
前記瞼検出手段は、
前記瞼の形状を示す関数を算出する関数算出手段を備え、
前記判定手段は、前記関数算出手段が算出した関数に基づき当該眼の開閉状態を判定することを特徴とする請求項７記載の眼の状態判定装置。
【請求項９】
顔を撮像して得られる画像データ中の眼を、計算装置により検出し、検出した眼の開閉状態を判定する方法において、
前記計算装置が、
前記画像データ中の眼の領域を特定し、
特定した眼の領域内の瞼の形状を検出し、
検出した瞼の形状に基づき、当該眼の開閉状態を判定することを特徴とする眼の状態判定方法。
【請求項１０】
コンピュータに、顔を撮像して得られる画像データ中の眼を検出させ、検出した眼の開閉状態を判定させるコンピュータプログラムにおいて、
コンピュータに、前記画像データ中の眼の領域を特定させる手順と、
コンピュータに、特定した眼の領域内の瞼の形状を検出させる手順と、
コンピュータに、検出した瞼の形状に基づき、当該眼の開閉状態を判定させる手順とを備えることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、顔を撮像して時系列的に得られる画像データ中の眼を検出し、検出した眼を追跡する眼の追跡装置、眼の追跡方法、検出した眼の開閉状態を判定する眼の状態判定装置、眼の状態判定方法、及びコンピュータプログラムに関するものである。
【０００２】
【従来の技術】
自動車等の車両の運転を支援する装置として、運転者の顔を撮像できる位置に配置された車載カメラで運転者の顔を撮像し、得られた画像データから運転者の眼の位置を検出し、検出した眼を追跡する装置が提案されている（例えば、特許文献１参照）。
また、車載カメラで撮像した画像データを２値のデータに変換し、生成された２値の画像データに基づき眼球の領域を検出し、検出した眼球の上下方向の幅に基づき、運転者の眼の開閉状態を判定する装置が提案されており、このような装置により、運転者の居眠り運転を検知することができ、居眠り運転を行なっている運転者に警告を発するシステムを構成することも可能である（例えば、特許文献２参照）。
【０００３】
【特許文献１】
特開２０００−１６３５６４号公報
【特許文献２】
特開平６−３２１５４号公報
【０００４】
【発明が解決しようとする課題】
しかし、上述した特許文献１に示すような装置においては、設置された車載カメラにより取得される画像データから、該画像データに含まれる運転者の眼を検出した場合に、検出した眼を含む領域の画像データを記憶しておき、この画像データと、車両の走行中に順次取得される画像データとを比較することにより、順次取得される画像データ中の眼の領域を検出して、更に、眼の追跡処理を行なうように構成されている場合が多い。
【０００５】
従って、このような構成においては、画像データから検出された眼の領域の画像データを、時系列的に順次取得する画像データから眼を検出する際に用いるために、順次記憶しておく必要があり、眼の領域の画像データ全てを記憶するため、メモリ容量が膨大となる。また、順次取得される画像データ夫々に対して上述した相関度の高い領域を選択することにより、後の画像データから眼を検出する処理に長時間が必要となる。
また、画像データから誤って眼ではない領域が、眼の領域であると検出された場合には、順次取得される画像データにおける眼の追跡処理を実現することができないという問題があった。
【０００６】
また、特許文献２に示す装置においては、２値データに変換された画像データにおいて、眼の領域の上下幅を検出することにより眼の開閉状態を判定しており、例えば、睫が長い場合や、眼が細い場合には、眼の開状態及び閉状態での眼の上下幅の相違が小さくなり、眼の開閉状態を判定することが困難であるという問題があった。
【０００７】
本発明は斯かる事情に鑑みてなされたものであり、顔を撮像して時系列的に得られる画像データにおいて、画像データ中に特定された眼の追跡領域と、この追跡領域に基づき特定した、前記画像データの後の画像データ中の眼の第２領域との相関値を算出し、算出した相関値が予め記憶してある閾値よりも大きい場合に、後の画像データ中に特定された第２領域を追跡領域として順次更新することにより、時系列的に前後の画像データにおいて近似する眼の領域に基づき眼の追跡を実行する眼の追跡装置、眼の追跡方法及びコンピュータプログラムを提供することを目的とする。
【０００８】
本発明の他の目的は、追跡領域が特定された画像データの後の画像データにおいて、前記追跡領域の近傍領域から第２領域を特定することにより、追跡領域に基づく第２領域の特定処理を行なう領域の範囲を限定して第２領域の特定処理時間を短縮する眼の追跡装置を提供することにある。
【０００９】
本発明の更に他の目的は、追跡領域及び第２領域の特徴データの相関値を算出し、算出した相関値が予め記憶してある閾値よりも大きい場合に、前記第２領域を追跡領域として記憶することにより、特定した眼の領域を順次更新して眼の追跡処理を行なう眼の追跡装置を提供することにある。
【００１０】
本発明の更に他の目的は、予め特定してある追跡領域と、該追跡領域が特定された画像データの後の画像データ中の眼の第２領域との変化を検出し、前記変化を検出した場合に、前記第２領域を追跡領域として記憶することにより、眼である可能性のある領域について、時系列的に前後の画像データにおける変化に基づき、確実に眼の領域を特定する眼の追跡装置を提供することにある。
【００１１】
本発明の更に他の目的は、顔を撮像して得られる画像データ中の眼の領域を特定し、特定した眼の領域内の瞼の形状を検出し、検出した瞼の形状に基づき、当該眼の開閉状態を判定することにより、睫の長さ、眼の細さ等に関わらず、精度良く眼の状態を判定することができる眼の状態判定装置、眼の状態判定方法及びコンピュータプログラムを提供することにある。
【００１２】
本発明の更に他の目的は、検出された瞼の形状を示す関数を算出し、算出した関数に基づき当該眼の開閉状態を判定手段にて判定することにより、算出された関数の係数部分等に基づき、容易に瞼の形状及び眼の開閉状態を判定することができる眼の状態判定装置を提供することにある。
【００１３】
【課題を解決するための手段】
第１発明に係る眼の追跡装置は、顔を撮像して時系列的に得られる画像データ中の眼を検出し、検出した眼を追跡する装置において、閾値を記憶する閾値記憶手段と、前記画像データ中の眼の第１領域を特定する第１特定手段と、該第１特定手段が特定した第１領域を追跡領域として記憶する追跡領域記憶手段と、該追跡領域記憶手段に記憶してある追跡領域に基づき、前記画像データの後の画像データ中の眼の第２領域を特定する第２特定手段と、前記追跡領域と第２領域との相関値を算出する算出手段と、該算出手段が算出した相関値及び前記閾値記憶手段に記憶してある閾値を比較する比較手段とを備え、前記追跡領域記憶手段は、前記比較手段の比較結果が、前記相関値が閾値よりも大きい場合に、前記第２特定手段が特定した第２領域を追跡領域として記憶する手段を備えることを特徴とする。
【００１４】
第２発明に係る眼の追跡装置は、前記第２特定手段は、前記後の画像データ中の前記追跡領域の近傍領域から第２領域を特定するように構成してあることを特徴とする。
【００１５】
第３発明に係る眼の追跡装置は、前記追跡領域及び第２領域の特徴データを抽出する抽出手段を備え、前記算出手段は、前記抽出手段が抽出した追跡領域の特徴データと、前記抽出手段が抽出した第２領域の特徴データとの相関値を算出するように構成してあることを特徴とする。
【００１６】
第４発明に係る眼の追跡装置は、前記追跡領域及び第２領域の変化を検出する変化検出手段を備え、前記追跡領域記憶手段は、前記変化検出手段が変化を検出した場合に、前記第２領域を追跡領域として記憶するように構成してあることを特徴とする。
【００１７】
第５発明に係る眼の追跡方法は、顔を撮像して時系列的に得られる画像データ中の眼を、計算装置により検出し、検出した眼を追跡する方法において、前記計算装置が、閾値を記憶し、前記画像データ中の眼の第１領域を特定し、特定した第１領域を追跡領域として記憶し、前記追跡領域に基づき、前記画像データの後の画像データ中の眼の第２領域を特定し、前記追跡領域と第２領域との相関値を算出し、算出した相関値及び前記閾値を比較し、比較した比較結果が、前記相関値が閾値よりも大きい場合に、前記第２領域を追跡領域として記憶することを特徴とする。
【００１８】
第６発明に係るコンピュータプログラムは、コンピュータに、顔を撮像して時系列的に得られる画像データ中の眼を検出させ、検出した眼を追跡させるためのコンピュータプログラムにおいて、コンピュータに、閾値を記憶させる手順と、コンピュータに、前記画像データ中の眼の第１領域を特定させる手順と、コンピュータに、特定した第１領域を追跡領域として記憶させる手順と、コンピュータに、前記追跡領域に基づき、前記画像データの後の画像データ中の眼の第２領域を特定させる手順と、コンピュータに、前記追跡領域と第２領域との相関値を算出させる手順と、コンピュータに、算出した相関値及び前記閾値を比較させる手順と、コンピュータに、比較した比較結果が、前記相関値が閾値よりも大きい場合に、前記第２領域を追跡領域として記憶させる手順とを備えることを特徴とする。
【００１９】
第７発明に係る眼の状態判定装置は、顔を撮像して得られる画像データ中の眼を検出し、検出した眼の開閉状態を判定する装置において、前記画像データ中の眼の領域を特定する特定手段と、該特定手段が特定した眼の領域内の瞼の形状を検出する瞼検出手段と、該瞼検出手段が検出した瞼の形状に基づき、当該眼の開閉状態を判定する判定手段とを備えることを特徴とする。
【００２０】
第８発明に係る眼の状態判定装置は、前記瞼検出手段は、前記瞼の形状を示す関数を算出する関数算出手段を備え、前記判定手段は、前記関数算出手段が算出した関数に基づき当該眼の開閉状態を判定することを特徴とする。
【００２１】
第９発明に係る眼の状態判定方法は、顔を撮像して得られる画像データ中の眼を、計算装置により検出し、検出した眼の開閉状態を判定する方法において、前記計算装置が、前記画像データ中の眼の領域を特定し、特定した眼の領域内の瞼の形状を検出し、検出した瞼の形状に基づき、当該眼の開閉状態を判定することを特徴とする。
【００２２】
第１０発明に係るコンピュータプログラムは、コンピュータに、顔を撮像して得られる画像データ中の眼を検出させ、検出した眼の開閉状態を判定させるコンピュータプログラムにおいて、コンピュータに、前記画像データ中の眼の領域を特定させる手順と、コンピュータに、特定した眼の領域内の瞼の形状を検出させる手順と、コンピュータに、検出した瞼の形状に基づき、当該眼の開閉状態を判定させる手順とを備えることを特徴とする。
【００２３】
第１、第５及び第６発明による場合は、顔を撮像して時系列的に得られる画像データ中の眼の第１領域を第１特定手段にて特定し、特定した第１領域を追跡領域として追跡領域記憶手段に記憶しておく。また、記憶してある追跡領域に基づき、前記画像データの後の画像データ中の眼の第２領域を第２特定手段にて特定し、前記追跡領域と第２領域との相関値を算出手段にて算出し、算出した相関値及び予め記憶してある閾値を比較手段にて比較する。
更に、この比較結果が、前記相関値が閾値よりも大きい場合に、前記第２領域を追跡領域として記憶することにより、特定した眼の領域を順次更新することができ、このように時系列的に前後の画像データから特定された眼の領域が近似している場合に、眼の領域を更新することにより、確実に眼の追跡処理を行なうことができる。
【００２４】
第２発明による場合は、前記追跡領域が特定された画像データの後の画像データにおいて、前記追跡領域の近傍領域から第２領域を特定することにより、追跡領域に基づく第２領域の特定処理を行なう領域の範囲を限定することができ、第２領域の特定処理時間を短縮することができる。
【００２５】
第３発明による場合は、追跡領域及び第２領域の特徴データを抽出手段にて抽出し、抽出した追跡領域及び第２領域の特徴データの相関値を算出手段にて算出し、算出した相関値及び予め記憶してある閾値の比較結果が、前記相関値が閾値よりも大きい場合に、前記第２領域を追跡領域として記憶することにより、特定した眼の領域を順次更新することができ、眼の追跡処理を行なうことができる。
このように眼の領域における特徴データに基づき眼の追跡処理を行なうことにより、各処理に用いるために記憶すべきデータのメモリ容量が削減されるとともに、各処理において処理すべきデータ量が減少して処理時間が短縮される。
【００２６】
第４発明による場合は、予め特定してある追跡領域と、該追跡領域を特定した画像データの後の画像データ中の眼の第２領域との変化を変化検出手段にて検出し、前記変化を検出した場合に、前記第２領域を追跡領域として記憶することにより、眼である可能性のある領域について、時系列的に前後の画像データにおける変化に基づき、確実に眼の領域を特定することができる。
従って、例えば、予め特定された追跡領域が眉毛の領域であった場合に、この追跡領域と、該追跡領域に基づき特定された第２領域とは略変化しないため、このような追跡領域は、眼の領域ではなく、眉毛の領域であると特定することができ、眼の追跡処理から排除することができる。
【００２７】
第７、第９及び第１０発明による場合は、顔を撮像して得られる画像データ中の眼の領域を特定手段にて特定し、特定した眼の領域内の瞼の形状を瞼検出手段にて検出し、検出した瞼の形状に基づき、当該眼の開閉状態を判定手段にて判定することにより、睫の長さ、眼の細さ等に関わらず、精度良く眼の状態を判定することができる。
【００２８】
第８発明による場合は、検出された瞼の形状を示す関数を関数算出手段にて算出し、算出した関数に基づき当該眼の開閉状態を判定手段にて判定することにより、算出された関数の係数部分等に基づき、容易に瞼の形状及び眼の開閉状態を判定することができる。
【００２９】
【発明の実施の形態】
以下、本発明に係る眼の追跡装置及び眼の状態判定装置をその実施の形態を示す図面に基づいて具体的に説明する。
図１は本発明に係る眼の追跡装置及び眼の状態判定装置の構成例を示すブロック図であり、図中１は本発明に係る眼の追跡装置及び眼の状態判定装置としてのコンピュータを示しており、このコンピュータ１は、ケーブルＣを介してカメラ２と接続されている。尚、カメラ２とコンピュータ１とは、専用のケーブルＣで接続されるだけでなく、車載ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のネットワークを介して接続することも可能である。
【００３０】
本実施の形態において、コンピュータ１は、例えば、自動車等の車両に乗車する運転者の顔を撮像できる位置に設置されたカメラ２で撮像された画像に基づき運転者の眼の追跡処理及び眼の開閉状態の判定処理を行なう構成を有しており、カメラ２は、ミラー又はハンドルの配置位置近傍に設置することができ、例えば１秒当たり３０枚の画像フレーム（画像データ）を取得する。
尚、本発明の眼の追跡装置及び眼の状態判定装置により処理される画像フレームは、車両の運転者を撮像した画像フレームに限定されるものではなく、また、カメラ２の配置位置も、ミラー又はハンドルの近傍に限定されない。
【００３１】
カメラ２は、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）２０を制御中枢としてバス２７を介して接続される以下のハードウェア各部の動作を制御する。
バス２７には、ＭＰＵ２０の制御手順を示すコンピュータプログラム等を記憶したＲＯＭ２１と、ＭＰＵ２０による制御動作中に発生する種々のデータを一時的に記憶するＲＡＭ２２と、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅ  Ｄｅｖｉｃｅ）等により構成された撮像部２３と、撮像部２３により取得して得られたアナログの画像フレームをデジタルの画像フレームに変換するＡ／Ｄ（アナログ／デジタル）変換器２４と、ＲＡＭ等により構成され、Ａ／Ｄ変換器２４により変換されたデジタルの画像フレームを一時的に記憶するフレームメモリ２５と、ケーブルＣを介してデータ伝送を行うための通信インタフェース２６等とが接続されている。
【００３２】
ＭＰＵ２０は、自身が備える時計手段（図示せず）により所定のタイミングを計時しながらバス２７を介して上述したハードウェア各部を制御するとともに、ＲＯＭ２１に記憶してあるカメラ２の動作に必要な種々のコンピュータプログラムを順次実行する。
また、本実施の形態におけるＡ／Ｄ変換器２４は、撮像部２３から順次入力されるアナログの画像フレームを、例えば各画素を２５６階調（１Ｂｙｔｅ）で示すデジタルの画像フレームに変換する。
【００３３】
上述した構成のカメラ２は、所定のタイミングで撮像部２３により画像フレームを取り込んでおり、取り込まれた画像フレームは、Ａ／Ｄ変換器２４によりデジタルの画像フレームに変換され、一旦フレームメモリ２５に記憶され、通信インタフェース２６を介してコンピュータ１に入力される。
【００３４】
コンピュータ１は、制御中枢としてのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０と、ＣＰＵ１０の制御手順を示すコンピュータプログラム等を記憶したハードディスク（以下、ＨＤという）１１と、ＣＰＵ１０による制御動作中に発生する種々のデータを一時的に記憶するＲＡＭ１２と、ＲＡＭ等により構成され、ケーブルＣを介して取得した画像フレームを一時的に記憶するフレームメモリ１３と、ケーブルＣを介してデータ伝送を行うための通信インタフェース１４と、ＣＤ−ＲＯＭドライブ等の外部記憶装置１５等とを備えている。
ＣＰＵ１０は、時計手段（図示せず）を備えており、タイミングを計時しながら、上述したハードウェア各部をバス１６を介して制御するとともに、ＨＤ１１に記憶してあるコンピュータプログラムを順次実行する。
【００３５】
尚、コンピュータ１は、ＣＤ−ＲＯＭ等の記録媒体１７に記憶してある本発明の眼の追跡装置及び眼の状態判定装置としての眼特定処理プログラム、眼追跡処理プログラム及び状態判定処理プログラム等を外部記憶装置１５にて読み取り、読み取ったコンピュータプログラムをＨＤ１１に記憶する。また、ＨＤ１１には各処理で用いられる閾値等が記憶されており、ＨＤ１１は閾値記憶手段として機能している。
【００３６】
このようなコンピュータ１において、ＣＰＵ１０が、ＨＤ１１に記憶されたコンピュータプログラムをＲＡＭ１２に読み出して順次実行することにより、本発明の眼の追跡装置及び眼の状態判定装置として必要な各処理を実行し、ケーブルＣを介してカメラ２から取得した画像フレームから、該画像フレームに含まれる運転者の眼の領域を特定し、特定した眼を追跡し、また、特定した眼の開閉状態を判定する。
【００３７】
上述した構成のコンピュータ１において、ＣＰＵ１０は、ＨＤ１１に記憶してある眼追跡処理プログラムをＲＡＭ１２に読み出して順次実行することにより、カメラ２から取得した画像フレームに含まれる運転者の眼の追跡処理を行なう。
尚、この眼の追跡処理は、カメラ２から取得する画像フレームから既に眼の領域が検出されている場合に、既に検出された眼の領域に基づき、順次取得する画像フレーム中の眼の領域を追跡する処理であり、後述するコンピュータ１による眼の位置特定処理においてＲＡＭ（追跡領域記憶手段）１２に登録される初期テンプレート及び追跡テンプレートを用いることにより、画像フレーム中の眼の領域をより効率よく追跡することができる。
【００３８】
ここで、テンプレートとは、画像フレーム中の眼の領域を示す特徴データであり、初期テンプレートは、カメラ２から取得する画像フレームから最初に検出した眼の領域の特徴データを、追跡テンプレートは、眼の追跡処理において特定された画像フレーム中の眼の領域を示す特徴データを示している。
尚、初期テンプレートは、瞬き動作を行なって開状態となった眼の領域における特徴データを示すように、後述の眼位置特定処理において更新される。
【００３９】
図２はテンプレートを説明するための図であり、本実施の形態におけるテンプレートは、画像フレームから検出された眼の領域Ｒに基づき、眉毛部分を含む領域Ｒ１について、図中Ｘで示す水平方向に棒状の領域であるＸテンプレート、及び図中Ｙで示す垂直方向に２つの棒状の領域であるＹテンプレート１及びＹテンプレート２を含んでおり、これらのテンプレートにより眼の領域が特定される。
尚、テンプレートは、図に示すような３つの棒状の領域に限定されるものではないが、眉毛の領域及び瞳の領域を含むようにテンプレートを設定することにより、少ない数のテンプレートでより正確に眼を特定することができる。
【００４０】
図３及び図４はコンピュータ１による眼の追跡処理手順を示すフローチャートであり、ＣＰＵ１０は、カメラ２から画像フレームを取得するか否かを判断しており（Ｓ１）、画像フレームを取得しない場合（Ｓ１：ＮＯ）、待機しており、画像フレームを取得した場合（Ｓ１：ＹＥＳ）、予めＲＡＭ１２に登録してある追跡テンプレートに基づき、カメラ２から取得した画像フレーム中の眼の領域を検出する（Ｓ２）。
【００４１】
またＣＰＵ１０は、検出した眼の領域について、該領域の特徴データとしてのテンプレートを抽出する抽出手段として動作しており、前記眼の領域のテンプレートを抽出する（Ｓ３）。
更にＣＰＵ１０は、抽出したテンプレートと、ＲＡＭ１２に登録してある追跡テンプレートとの相関値を算出する算出手段として動作し、例えば、次式を用いて前記相関値を算出する（Ｓ４）。
【００４２】
【数１】
2004234494.tif 000003
【００４３】
ＣＰＵ１０は、上述のように算出した相関値とＨＤ１１に予め記憶してある第１閾値とを比較する比較手段として動作しており、前記相関値が第１閾値よりも大きいか否かを判断しており（Ｓ５）、前記相関値が第１閾値よりも大きいと判断した場合（Ｓ５：ＹＥＳ）、ステップＳ３で抽出したテンプレートをＲＡＭ１２の追跡テンプレートに更新する（Ｓ６）。
また、前記相関値が第１閾値よりも小さい場合には、ステップＳ６の処理を行なわず、ＣＰＵ１０は、前記相関値が、ＨＤ１１に予め記憶したる第２閾値よりも大きいか否かを判断する（Ｓ７）。
【００４４】
ここで、ステップＳ５の処理は、ステップＳ２で検出した領域が、眼の追跡処理に用いる追跡テンプレートに利用できるか否かの判断を行なっており、例えば、この領域が追跡テンプレートに利用できない場合であっても、この領域中に眼を検出できる場合等があり、ステップＳ７の処理は、この領域中に眼を検出できるか否かの判断を行なっている。
従って、前記相関値が第２閾値よりも大きい場合は（Ｓ７：ＹＥＳ）、この領域内に眼を検出することができるとして、この領域を示す眼の中央位置をＲＡＭ１２に記憶する（Ｓ８）。
【００４５】
一方、前記相関値が第２閾値よりも小さい場合（Ｓ７：ＮＯ）、即ち、前記領域内に眼を検出することができなかった場合、当該画像フレームにおいて、先立って行なわれた処理において蓄積された出現頻度の高い位置に基づく眼の領域を新たに検出し（Ｓ９）、検出した領域のテンプレートと、予めＲＡＭ１２に記憶してある初期テンプレートとの相関値を、ステップＳ４の処理と同様に算出する（Ｓ１０）。
【００４６】
また、ＣＰＵ１０は、算出した相関値がＨＤ１１に予め記憶してある第３閾値よりも大きいか否かを判断しており（Ｓ１１）、前記相関値が第３閾値よりも大きい場合（Ｓ１１：ＹＥＳ）、ステップＳ９で検出した領域内に眼を検出することができるとしてこの領域を示す眼の中央位置を記憶する（Ｓ８）。
尚、前記相関値が第３閾値よりも小さい場合（Ｓ１１：ＮＯ）、即ち、前記領域内に追跡すべき眼を検出できかった場合は、ステップＳ１の処理に戻り、次の画像フレームにおいて眼の追跡処理を行なう。
【００４７】
次にＣＰＵ１０は、ステップＳ８において記憶された眼の位置に基づき、当該眼の領域内の上瞼の形状を検出する瞼検出手段として動作することによりエッジ抽出処理を実行する（Ｓ１２）。
図５はエッジ抽出処理を説明するための図であり、図５（ａ）は、ステップＳ２又はＳ９で検出した眼の領域Ｒを示しており、この領域Ｒにおける画像データは、水平方向Ｘ及び垂直方向Ｙに夫々配列された画素データを備えている。
【００４８】
エッジ抽出処理は、図５（ａ）に破線で示すように垂直方向の各画素データを走査しながら例えば図５（ｂ）に示すような３×３の行列を用いたフィルター処理を行なう。このような行列を用いたフィルター処理を行なうことにより、輝度の高い領域から輝度の低い領域へのエッジが強調される。
また、ＣＰＵ１０は、フィルター処理を行なった各画素データにおいて、垂直方向の最大輝度値で、予めＨＤ１１に設定してある閾値としての所定の輝度値以上の輝度値を有する画素データの位置をエッジ抽出点として抽出する。
【００４９】
図５（ｃ）は、上述のように抽出したエッジ抽出点の位置を示す図であり、ＣＰＵ１０は、このように抽出されたエッジ抽出点の数を計数するとともに、計数した数が、予めＨＤ１１に記憶してある所定数以上であるか否かを判断する（Ｓ１３）。
ここで、エッジ抽出点が所定数以上ない場合（Ｓ１３：ＮＯ）、当該眼の領域は眼ではないと判断され、ステップＳ１の処理に戻り、次の画像フレームにおいて眼の追跡処理を行なう。
【００５０】
また、ステップＳ１３において、抽出したエッジ抽出点が所定数以上ある場合には（Ｓ１３：ＹＥＳ）、これらのエッジ抽出点は上瞼を示していると考えられ、図５（ｃ）に示す各エッジ抽出点の位置に基づき、これらの各位置を近似した上瞼の形状を示す関数を算出する関数算出手段として動作し、前記関数を算出する（Ｓ１４）。
尚、上瞼は図５（ｄ）で示すように、例えば２次関数にて近似することができ、ここで算出する関数も２次関数とする。
【００５１】
ここで、上瞼は、図５（ｅ）に示すように眼が開状態の場合から、図５（ｆ）に示すように眼が閉状態の場合まで変化する可能性があり、このような上瞼を示した２次関数の係数は、所定の範囲をとることができる。
従って、ＣＰＵ１０は、算出された２次関数の係数が所定の範囲内にあるか否かを判断しており（Ｓ１５）、所定の範囲内にあると判断した場合（Ｓ１５：ＹＥＳ）、算出した瞼の形状を示す関数を記憶する（Ｓ１６）。
【００５２】
一方、算出した２次関数の係数が所定の範囲内にない場合（Ｓ１５：ＮＯ）、当該眼の領域は眼ではないと判断され、ステップＳ１の処理に戻り、次の画像フレームにおいて眼の追跡処理を行なう。
【００５３】
ここで、図６は眼鏡フレームを含む画像フレームを示す図であり、上述のように、検出した眼の領域においてエッジ抽出処理により上瞼を抽出した場合、図６に示す画像フレーム中の眼鏡フレームにおいては、フィルター処理により眼鏡フレームのエッジが強調されすぎるため、図に示すように、眼鏡フレームと上瞼との相違は容易に判断することができる。
従って、眼鏡フレームを含む画像フレームにおいても、眼鏡フレームを上瞼と間違えずに、確実に上瞼の形状を検出することができる。
【００５４】
以下に、上述したように眼の追跡処理を行なうコンピュータ１において、ＣＰＵ１０が、ＨＤ１１に記憶してある眼特定処理プログラムをＲＡＭ１２に読み出して順次実行することにより、カメラ２から取得した画像フレームから、例えば、車両の運転者の眼の位置を特定する処理について説明する。
【００５５】
図７はコンピュータ１による眼の位置特定処理手順を示すフローチャートであり、ＣＰＵ１０は、カメラ２から画像フレームを取得するか否かを判断しており（Ｓ２１）、画像フレームを取得しない場合（Ｓ２１：ＮＯ）、待機しており、画像フレームを取得した場合（Ｓ２１：ＹＥＳ）、取得した画像フレームから左右の眼である可能性を有する眼の領域を検出する（Ｓ２２）。
【００５６】
尚、この眼の領域は、例えば従来より公知の２値化処理を利用した検出方法により検出することができ、具体的には、取得した画像フレームを２値化し、得られた画像フレームにおいて、画素データが１の画素が集合する領域を検出し、この領域を瞳である可能性の高い領域であると特定する。
また、検出する眼の領域は、眼である可能性を有する領域であればよく、複数領域が検出される場合があり、この場合には、以下の各処理は、領域毎に順次行なうことになる。
【００５７】
ＣＰＵ１０は、ステップＳ２２において検出した眼の領域について、各領域の特徴データとしてのテンプレートを抽出し、抽出したテンプレートをＲＡＭ１２に初期テンプレート及び追跡テンプレートとして、検出した領域の中心位置とともにＲＡＭ１２に登録する（Ｓ２３）。
次にＣＰＵ１０は、検出した左右の眼の領域において、まず、右眼の領域について、上述した追跡処理を実行し（Ｓ２４）、次いで、左眼の領域についての追跡処理を実行する（Ｓ２５）。
【００５８】
ＣＰＵ１０は、ステップＳ２４における追跡処理により、右眼の瞬きを検出しており、右眼の瞬きを検出できたか否かを判断している（Ｓ２６）。
具体的に、ＣＰＵ１０は、図３及び図４で説明した追跡処理におけるステップＳ１６において記憶された関数の係数の変化を検出する変化検出手段として動作しており、例えば、前記係数が小さい値、大きい値、及び小さい値へと変化した場合には、眼が閉状態、開状態、及び閉状態へと変化したと判断でき、前記係数が大きい値、小さい値、大きい値へと変化した場合には、眼が開状態、閉状態、及び開状態へと変化したと判断することができる。
【００５９】
ＣＰＵ１０は、上述のような判断により、右眼の瞬きを検出できた場合（Ｓ２６：ＹＥＳ）、同様に、ステップＳ２５における追跡処理に基づき、左眼の瞬きを検出しており、左眼の瞬きを検出できたか否かを判断する（Ｓ２７）。
ここで、ステップＳ２６で右眼の瞬きを検出できない場合（Ｓ２６：ＮＯ）、及びステップＳ２７で左眼の瞬きを検出できない場合（Ｓ２７：ＮＯ）、ＣＰＵ１０は、自身の時計手段により所定時間が経過するか否かを判断しており（Ｓ２８）、所定の時間が経過するまで（Ｓ２８：ＮＯ）、ステップＳ２４からＳ２７までの各処理を繰り返す。また、所定時間が経過した場合（Ｓ２８：ＹＥＳ）、即ち、右眼の瞬き又は左眼の瞬きを検出できずに所定時間が経過した場合には、ステップＳ２２において検出した眼の領域が、眼ではないと判断することができ、ステップＳ２１の処理に戻り、次に取得する画像フレームにおいて各処理を実行する。
【００６０】
ステップＳ２７において、ＣＰＵ１０は、左眼の瞬きを検出できた場合（Ｓ２７：ＹＥＳ）、夫々瞬きを検出した左右の眼の領域を比較することにより、左右の眼の位置が正常であるか否かを判断する（Ｓ２９）。
図８は左右の眼の位置関係を説明するための図であり、左右の眼の領域の中心位置間の水平方向の差及び垂直方向の差に基づき、左右の眼の位置が正常であるか否かを判断する。
【００６１】
具体的には、左右の眼の領域の中心位置間の水平方向Ｘの差又は垂直方向Ｙの差が、予めＨＤ１１に記憶してある距離と比較して、明らかに長すぎたり、明らかに短すぎた場合には、ステップＳ２２において検出した眼の領域が、眼ではないと判断することができ、左右の眼の位置が正常でないと判断した場合（Ｓ２９：ＮＯ）は、ＣＰＵ１０は、ステップＳ２１の処理に戻り、次に取得する画像フレームにおいて各処理を実行する。
【００６２】
また、左右の眼の位置が正常であると判断した場合（Ｓ２９：ＹＥＳ）、ＣＰＵ１０は、当該眼の領域を示すテンプレートを初期テンプレートとしてＲＡＭ１２に記憶してある初期テンプレートを更新して（Ｓ３０）、以後の眼の追跡処理に用いる。
また、ＣＰＵ１０は、当該眼の領域の中心位置を眼の位置であると確定してＲＡＭ１２に記憶して（Ｓ３１）、眼の位置特定処理を終了する。
【００６３】
次に、上述したように眼の追跡処理及び特定処理を行なうコンピュータ１において、ＣＰＵ１０が、ＨＤ１１に記憶してある状態判定処理プログラムをＲＡＭ１２に読み出して順次実行することにより、カメラ２から取得した画像フレームから車両の運転者の眼の開閉状態を特定する処理について説明する。尚、ＣＰＵ１０は、上述した眼の追跡処理及び特定処理を実行できた場合にのみ、この状態判定処理プログラムの実行により、運転者の眼の開閉状態を判定する。
【００６４】
図９はコンピュータ１による眼の状態判定処理手順を示すフローチャートであり、ＣＰＵ１０は、上述した眼の追跡処理により算出された上瞼を示す関数に基づき、当該運転者の眼の開閉を判定する開閉閾値を算出する（Ｓ４１）。
図１０は開閉閾値の算出処理を説明するための図であり、横軸に算出された上瞼を示す２次関数の係数を、縦軸に各係数の出現頻度を夫々示しており、横軸に示す係数の所定値を開閉閾値として決定する。
【００６５】
ＣＰＵ１０は、順次取得する画像フレームに基づき、該画像フレーム中の運転者の右眼について、上述した追跡処理を実行することにより（Ｓ４２）、右眼の上瞼の形状を示す関数を算出する。またＣＰＵ１０は、算出した２次関数に基づき、当該右眼の開閉状態を判定する判定手段として動作しており、算出した２次関数の係数が、上述のように算出した開閉閾値よりも大きいか否かを判断する（Ｓ４３）。
ここで、前記係数が開閉閾値よりも大きい場合（Ｓ４３：ＹＥＳ）、ＣＰＵ１０は、当該右眼が開状態であると判定し（Ｓ４４）、前記係数が開閉閾値よりも小さい場合（Ｓ４３：ＮＯ）、当該右眼が閉状態であると判定する（Ｓ４５）。
【００６６】
次にＣＰＵ１０は、画像フレーム中の運転者の左眼について、上述した追跡処理を実行することにより（Ｓ４６）、左眼の上瞼の形状を示す関数を算出し、算出した２次関数の係数が、上述のように算出した開閉閾値よりも大きいか否かを判断する（Ｓ４７）。
ここで、前記係数が開閉閾値よりも大きい場合（Ｓ４７：ＹＥＳ）、ＣＰＵ１０は、当該左眼が開状態であると判定し（Ｓ４８）、前記係数が開閉閾値よりも小さい場合（Ｓ４７：ＮＯ）、当該左眼が閉状態であると判定する（Ｓ４９）。
【００６７】
ＣＰＵ１０は、上述のように判定された左右の眼の開閉状態が一致するか否かを判断しており（Ｓ５０）、一致する場合（Ｓ５０：ＹＥＳ）、上述した判定結果に決定し（Ｓ５１）、一致しない場合（Ｓ５０：ＮＯ）、算出された左右の眼の上瞼の形状を示す関数の係数が、より開閉閾値に近い判定結果の開閉状態を、当該運転者の眼の開閉状態に決定する（Ｓ５２）。
これにより、瞬き動作は左右の眼で同時に行なわれる傾向にあるため、判定された左右の眼の状態に基づき、総合的に眼の開閉状態を判定することにより、正確に眼の開閉状態を決定することができる。
【００６８】
上述したコンピュータ１において、車両を走行させる運転者の眼の開閉状態を検出し、所定時間閉状態が継続した場合に、居眠り運転と判断して運転者に居眠り運転を警告する構成とすることもできる。また、本発明の眼の追跡処理及び眼の状態判定処理は、車両の運転者だけに適用されるわけではなく、顔を撮像して得られる各画像フレームに適用することができる。
尚、上述の実施の形態では、コンピュータ１は、ＨＤ１１に各種の動作を行なうためのコンピュータプログラムを記憶しており、これらのコンピュータプログラムをＣＰＵ１０が実行することにより各動作を実現しているが、各動作をハードウェアにより構成することも可能である。
【００６９】
【発明の効果】
第１、第５及び第６発明による場合は、顔を撮像して時系列的に得られる画像データ中の眼の第１領域を第１特定手段にて特定し、特定した第１領域を追跡領域として追跡領域記憶手段に記憶しておく。また、記憶してある追跡領域に基づき、前記画像データの後の画像データ中の眼の第２領域を第２特定手段にて特定し、前記追跡領域と第２領域との相関値を算出手段にて算出し、算出した相関値及び予め記憶してある閾値を比較手段にて比較する。
更に、この比較結果が、前記相関値が閾値よりも大きい場合に、前記第２領域を追跡領域として記憶することにより、特定した眼の領域を順次更新することができ、このように時系列的に前後の画像データから特定された眼の領域が近似している場合に、眼の領域を更新することにより、確実に眼の追跡処理を行なうことができる。
【００７０】
第２発明による場合は、前記追跡領域が特定された画像データの後の画像データにおいて、前記追跡領域の近傍領域から第２領域を特定することにより、追跡領域に基づく第２領域の特定処理を行なう領域の範囲を限定することができ、第２領域の特定処理時間を短縮することができる。
【００７１】
第３発明による場合は、追跡領域及び第２領域の特徴データを抽出手段にて抽出し、抽出した追跡領域及び第２領域の特徴データの相関値を算出手段にて算出し、算出した相関値及び予め記憶してある閾値の比較結果が、前記相関値が閾値よりも大きい場合に、前記第２領域を追跡領域として記憶することにより、特定した眼の領域を順次更新することができ、眼の追跡処理を行なうことができる。
このように眼の領域における特徴データに基づき眼の追跡処理を行なうことにより、各処理に用いるために記憶すべきデータのメモリ容量が削減されるとともに、各処理において処理すべきデータ量が減少して処理時間が短縮される。
【００７２】
第４発明による場合は、予め特定してある追跡領域と、該追跡領域を特定した画像データの後の画像データ中の眼の第２領域との変化を変化検出手段にて検出し、前記変化を検出した場合に、前記第２領域を追跡領域として記憶することにより、眼である可能性のある領域について、時系列的に前後の画像データにおける変化に基づき、確実に眼の領域を特定することができる。
従って、例えば、予め特定された追跡領域が眉毛の領域であった場合に、この追跡領域と、該追跡領域に基づき特定された第２領域とは略変化しないため、このような追跡領域は、眼の領域ではなく、眉毛の領域であると特定することができ、眼の追跡処理から排除することができる。
【００７３】
第７、第９及び第１０発明による場合は、顔を撮像して得られる画像データ中の眼の領域を特定手段にて特定し、特定した眼の領域内の瞼の形状を瞼検出手段にて検出し、検出した瞼の形状に基づき、当該眼の開閉状態を判定手段にて判定することにより、睫の長さ、眼の細さ等に関わらず、精度良く眼の状態を判定することができる。
【００７４】
第８発明による場合は、検出された瞼の形状を示す関数を関数算出手段にて算出し、算出した関数に基づき当該眼の開閉状態を判定手段にて判定することにより、算出された関数の係数部分等に基づき、容易に瞼の形状及び眼の開閉状態を判定することができる。
【図面の簡単な説明】
【図１】本発明に係る眼の追跡装置及び眼の状態判定装置の構成例を示すブロック図である。
【図２】テンプレートを説明するための図である。
【図３】コンピュータによる眼の追跡処理手順を示すフローチャートである。
【図４】コンピュータによる眼の追跡処理手順を示すフローチャートである。
【図５】エッジ抽出処理を説明するための図である。
【図６】眼鏡フレームを含む画像フレームを示す図である。
【図７】コンピュータによる眼の位置特定処理手順を示すフローチャートである。
【図８】左右の眼の位置関係を説明するための図である。
【図９】コンピュータによる眼の状態判定処理手順を示すフローチャートである。
【図１０】開閉閾値の算出処理を説明するための図である。
【符号の説明】
１  コンピュータ
１０  ＣＰＵ
１１  ＨＤ
２  カメラ（撮像装置）
【図１】
2004234494.tif 000004
【図２】
2004234494.tif 000005
【図３】
2004234494.tif 000006
【図４】
2004234494.tif 000007
【図５】
2004234494.tif 000008
【図６】
2004234494.tif 000009
【図７】
2004234494.tif 000010
【図８】
2004234494.tif 000011
【図９】
2004234494.tif 000012
【図１０】
2004234494.tif 000013