(57)【要約】  時系列的に得られた複数の画像データ夫々に基づいて顔部位の特徴量を算出し、算出された特徴量及び閾値を比較することによって顔部位を認識する画像処理装置に、画像データに基づいて顔の向きを算出する手段と、複数の画像データから算出された特徴量を顔の向きに対応付けて記憶する特徴量データベースと、顔の向きに対応した記憶済みの特徴量が所定数以上であるか否かを判定する判定手段と、記憶済みの特徴量が所定数以上であると判定された場合、前記他の画像データから算出された特徴量、前記顔の向きに対応した記憶済みの算出結果及び前記閾値に基づいて顔部位を認識する手段と、前記判定手段が所定数未満であると判定した場合、前記他の画像データから算出された特徴量、前記顔の向きと異なる他の顔の向きに対応した記憶済みの特徴量及び前記閾値に基づいて顔部位を認識する手段とを備える。
2008142740.tif 000002
【特許請求の範囲】
【請求項１】
時系列的に得られた複数の画像データ夫々に基づいて顔部位の特徴量を算出し、算出された特徴量及び閾値を比較することによって顔部位を認識する画像処理方法において、
画像データに基づいて顔の向きを算出するステップと、
複数の画像データから算出された特徴量を顔の向きに対応付けて記憶するステップと、
他の画像データから算出された特徴量、該他の画像データにおける顔の向きに対応した記憶済みの複数の特徴量、及び前記閾値に基づいて前記他の画像データにおける顔部位を認識するステップと
を有することを特徴とする画像処理方法。
【請求項２】
時系列的に得られた複数の画像データ夫々に基づいて顔部位の特徴量を算出し、算出された特徴量及び閾値を比較することによって顔部位を認識する画像処理装置において、
画像データに基づいて顔の向きを算出する手段と、
複数の画像データから算出された特徴量を顔の向きに対応付けて記憶する記憶手段と、
他の画像データから算出された特徴量、該他の画像データにおける顔の向きに対応した記憶済みの複数の特徴量、及び前記閾値に基づいて前記他の画像データにおける顔部位を認識する顔部位認識手段と
を備えることを特徴とする画像処理装置。
【請求項３】
他の画像データにおける顔の向きに対応した記憶済みの複数の特徴量に基づいて、特徴量の平均値及び分散値を算出する手段と、
算出された平均値及び分散値に基づいて、前記他の画像データから算出された特徴量を正規化する手段と
を備え、
前記顔部認識手段は、
正規化された特徴量及び前記閾値を比較することで顔部位を認識するように構成してある
ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
顔の向きに対応した記憶済みの特徴量が所定数以上であるか否かを判定する判定手段を備え、
前記顔部位認識手段は、
他の画像データにおける顔の向きに対応した記憶済みの特徴量が所定数以上であると判定された場合、前記他の画像データから算出された特徴量、前記顔の向きに対応した記憶済みの算出結果及び前記閾値に基づいて前記他の画像データにおける顔部位を認識する手段と、
前記判定手段が所定数未満であると判定した場合、前記他の画像データから算出された特徴量、前記顔の向きと異なる他の顔の向きに対応した記憶済みの特徴量及び前記閾値に基づいて顔部位を認識する手段と
を備えることを特徴とする請求項２又は請求項３に記載の画像処理装置。
【請求項５】
前記記憶手段は、
顔の向きを、所定方向に離散した複数の第１区分と該第１区分間を補完する第２区分とに区分し、画像データから算出された顔の向きが第１区分に属する場合、該画像データから算出された特徴量を該第１区分に対応付けて記憶し、顔の向きが第２区分に属する場合、該第２区分に隣接する複数の第１区分に対応付けて特徴量を記憶する手段を備え、
前記顔部位認識手段は、
他の画像データにおける顔の向きが第１区分に属する場合、該第１区分に対応した記憶済みの特徴量に基づいて顔部位を認識し、他の画像データにおける顔の向きが第２区分に属する場合、該第２区分に隣接した複数の第１区分に対応した記憶済みの特徴量に基づいて顔部位を認識するように構成してある
ことを特徴とする請求項２乃至請求項４のいずれか一つに記載の画像処理装置。
【請求項６】
前記特徴量は、
眼を検出するためのテンプレート画像及び画像データの相関値、眼の内外の輝度差、又は眼の開度である
ことを特徴とする請求項２乃至請求項５のいずれか一つに記載の画像処理装置。
【請求項７】
請求項２乃至請求項６のいずれか一つに記載の画像処理装置と、
車両の運転者を撮像する撮像装置と
を備え、
前記画像処理装置は、
前記撮像装置が撮像した運転者の顔の画像データに基づいて顔部位を認識するように構成してあることを特徴とする画像処理システム。
【請求項８】
コンピュータに、時系列的に得られた複数の画像データ夫々に基づいて顔部位の特徴量を算出させ、算出された特徴量及び閾値を比較することによって顔部位を認識させるコンピュータプログラムにおいて、
コンピュータに、
画像データに基づいて顔の向きを算出するステップと、
複数の画像データから算出された特徴量を顔の向きに対応付けて記憶するステップと、
他の画像データから算出された特徴量、該他の画像データにおける顔の向きに対応した記憶済みの複数の特徴量、及び前記閾値に基づいて前記他の画像データにおける顔部位を認識するステップと
を実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時系列的に得られた複数の画像データ夫々に基づいて顔部位の特徴量を算出し、算出された特徴量及び閾値を比較することによって顔部位を認識する画像処理方法、該画像処理方法を実施する画像処理装置、該画像処理装置を備えた画像処理システム、及びコンピュータを前記画像処理装置として機能させるためのコンピュータプログラムに関する。
【背景技術】
【０００２】
自動車等の車両の運転状態を監視する運転状態監視システムが提案されている。運転状態監視システムは、運転者の顔を撮像できる適宜箇所に設置された撮像装置及び画像処理装置等から構成されている。撮像装置は運転者の顔を撮像し、画像処理装置は撮像して得られた画像データから運転者の眼位置を検出する。そして画像処理装置は、眼の開き具合（以下、開度という）を算出し、開度が所定の閾値以上であるか否かを判断することによって眼の開閉状態を認識する。閾値は、撮像装置の設置場所及び被写体の位置関係から決定される。運転状態監視システムを用いることにより、運転者の居眠り運転を検知することができ、居眠り運転を行っている運転者にアラームで警告するシステムを構成することも可能である。【０００３】
一方、上瞼が上に凸の状態での開度を算出し、該開度の所定割合、例えば該開度の７０％を閾値として設定し、眼の開閉を認識するように構成された画像処理装置が提案されている（例えば、特許文献１）。
特許文献１によれば、個人差に対応した眼の開閉検出が可能になる。
【特許文献１】特開２００６−２５１９２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、顔の向きによって眼の開度が変化した場合、眼の認識精度が低下するという問題があった。例えば、運転者が下を向いているような場合、眼が細くなるため、閉状態と誤認識される。【０００５】
また、一般に顔部位の形状、大きさ等の特徴は顔の向きによって変化するため、眼以外の顔部位を認識する場合も同様の問題が生ずる。【０００６】
本発明は斯かる事情に鑑みてなされたものであり、個人差及び顔の向きによる顔部位の特徴変化に対応すべく、複数の画像データから算出された顔部位の特徴量と、顔の向きとを対応付けて記憶しておき、他の画像データから算出された特徴量と、該他の画像データにおける顔の向きに対応した記憶済みの複数の特徴量と、閾値とに基づいて顔部位を認識するように構成することにより、個人差及び顔の向きに関わらず顔部位をより正確に認識することができる画像処理方法、該画像処理方法を実施する画像処理装置、画像処理装置を備えた画像処理システム、コンピュータを前記画像処理装置として機能させるコンピュータプログラムを提供することを目的とする。【０００７】
本発明の他の目的は、蓄積された特徴量の平均値及び分散値を算出して、他の画像データから算出された特徴量を正規化し、正規化された特徴量及び閾値を比較することによって顔部位を認識するように構成することにより、顔部位の共通的な認識処理が可能になり、特殊な装置、例えば専用ＬＳＩを使用せずとも、一般的な演算処理で顔部位の認識精度を向上させることができる画像処理装置及び画像処理システムを提供することにある。【０００８】
本発明の他の目的は、顔の向きに対応付けて記憶されている特徴量が所定数以上であるか否かを判定し、記憶されている特徴量が所定数未満である場合、他の顔の向きに対応した特徴量に基づいて、閾値を推定し、顔部位を認識するように構成することにより、特徴量が十分に蓄積されていない場合であっても、顔部位の誤認識を回避することができ、顔部位を正確に認識することができる画像処理装置及び画像処理システムを提供することにある。【０００９】
本発明の他の目的は、顔の向きを所定方向に離散した複数の第１区分と該第１区分間を補完する第２区分とに区分し、顔の向きが第１区分に属する場合に算出された特徴量を該第１区分に、顔の向きが第２区分に属する場合に算出された特徴量を、該第２区分に隣接する複数の第１区分に蓄積しておき、顔の向きが第２区分に属する画像データから顔部位を認識する場合、該第２区分に隣接する複数の第１区分に対応した記憶済みの特徴量を用いて顔部位を認識するように構成することにより、顔部位の認識基準が顔の向きによって急激に変化することを回避することができ、顔部位の認識精度を向上させることができる画像処理装置及び該画像処理システムを提供することにある。【００１０】
本発明の他の目的は、個人差及び顔の向きに関わらず、眼の位置、開閉を正確に認識することができる画像処理装置及び画像処理システムを提供することにある。
【課題を解決するための手段】
【００１１】
第１発明に係る画像処理方法は、時系列的に得られた複数の画像データ夫々に基づいて顔部位の特徴量を算出し、算出された特徴量及び閾値を比較することによって顔部位を認識する画像処理方法において、画像データに基づいて顔の向きを算出するステップと、複数の画像データから算出された特徴量を顔の向きに対応付けて記憶するステップと、他の画像データから算出された特徴量、該他の画像データにおける顔の向きに対応した記憶済みの複数の特徴量、及び前記閾値に基づいて前記他の画像データにおける顔部位を認識するステップとを有することを特徴とする。【００１２】
第２発明に係る画像処理装置は、時系列的に得られた複数の画像データ夫々に基づいて顔部位の特徴量を算出し、算出された特徴量及び閾値を比較することによって顔部位を認識する画像処理装置において、画像データに基づいて顔の向きを算出する手段と、複数の画像データから算出された特徴量を顔の向きに対応付けて記憶する記憶手段と、他の画像データから算出された特徴量、該他の画像データにおける顔の向きに対応した記憶済みの複数の特徴量、及び前記閾値に基づいて前記他の画像データにおける顔部位を認識する顔部位認識手段とを備えることを特徴とする。【００１３】
第３発明に係る画像処理装置は、他の画像データにおける顔の向きに対応した記憶済みの複数の特徴量に基づいて、特徴量の平均値及び分散値を算出する手段と、算出された平均値及び分散値に基づいて、前記他の画像データから算出された特徴量を正規化する手段とを備え、前記顔部認識手段は、正規化された特徴量及び前記閾値を比較することで顔部位を認識するように構成してあることを特徴とする。【００１４】
第４発明に係る画像処理装置は、顔の向きに対応した記憶済みの特徴量が所定数以上であるか否かを判定する判定手段を備え、前記顔部位認識手段は、他の画像データにおける顔の向きに対応した記憶済みの特徴量が所定数以上であると判定された場合、前記他の画像データから算出された特徴量、前記顔の向きに対応した記憶済みの算出結果及び前記閾値に基づいて前記他の画像データにおける顔部位を認識する手段と、前記判定手段が所定数未満であると判定した場合、前記他の画像データから算出された特徴量、前記顔の向きと異なる他の顔の向きに対応した記憶済みの特徴量及び前記閾値に基づいて顔部位を認識する手段とを備えることを特徴とする。【００１５】
第５発明に係る画像処理装置は、前記記憶手段は、顔の向きを、所定方向に離散した複数の第１区分と該第１区分間を補完する第２区分とに区分し、画像データから算出された顔の向きが第１区分に属する場合、該画像データから算出された特徴量を該第１区分に対応付けて記憶し、顔の向きが第２区分に属する場合、該第２区分に隣接する複数の第１区分に対応付けて特徴量を記憶する手段を備え、前記顔部位認識手段は、他の画像データにおける顔の向きが第１区分に属する場合、該第１区分に対応した記憶済みの特徴量に基づいて顔部位を認識し、他の画像データにおける顔の向きが第２区分に属する場合、該第２区分に隣接した複数の第１区分に対応した記憶済みの特徴量に基づいて顔部位を認識するように構成してあることを特徴とする。【００１６】
第６発明に係る画像処理装置は、前記特徴量は、眼を検出するためのテンプレート画像及び画像データの相関値、眼の内外の輝度差、又は眼の開度であることを特徴とする。【００１７】
第７発明に係る画像処理システムは、第２発明乃至第６発明のいずれか一つに記載の画像処理装置と、車両の運転者を撮像する撮像装置とを備え、前記画像処理装置は、前記撮像装置が撮像した運転者の顔の画像データに基づいて顔部位を認識するように構成してあることを特徴とする。【００１８】
第８発明に係るコンピュータプログラムは、コンピュータに、第１発明に記載のステップを実行させることを特徴とする。【００１９】
第１、第２、第７及び第８発明にあっては、顔部位を認識すべく画像データに基づいて顔部位の特徴量を算出し、算出された特徴量及び閾値を比較することによって顔部位を認識する。
しかし、顔部位の形状、大きさ等の特徴は、個人差及び顔の向きによって変化するため、固定閾値では顔部位を正確に認識することができない。そこで、記憶手段は、時系列的に得られた画像データから夫々算出された特徴量を顔の向きに対応付けて記憶する。記憶手段が記憶した特徴量は、個人差及び顔の向きによる特徴量変化に対応するための情報である。
顔部位認識手段は、他の画像データから算出された特徴量及び閾値のみならず、個人差及び顔の向きに応じた顔部位の特徴変化を示す情報、即ち他の画像データにおける顔の向きに対応した記憶済みの複数の特徴量を参照して顔部位を認識する。
従って、個人差及び顔の向きによって顔部位の特徴が変化するような場合であっても、顔の向きの変化に依存しない顔部位の正確な認識が可能になる。
なお特徴量の算出は、顔の向きの算出の前後いずれに実行しても良い。また、他の画像データにおける顔の向きは、必ずしも該他の画像データから直接的に算出された顔の向きである必要は無く、過去の画像データ、例えば１フレーム前の画像データから算出された顔の向きを利用しても良い。【００２０】
第３発明及び第７発明にあっては、画像処理装置は、他の画像データにおける顔の向きに対応した記憶済みの複数の特徴量に基づいて、特徴量の平均値及び分散値を算出する。そして、画像処理装置は、算出された平均値及び分散値に基づいて、他の画像データから算出された特徴量を正規化する。特徴量を正規化することによって、個人差及び顔の向きによる特徴量変化を吸収することができる。顔部位認識手段は、正規化された特徴量及び閾値を比較することによって顔部位を認識する。
上述の処理は一般的な演算処理であるため、特殊な装置、例えば専用ＬＳＩを使用せずとも、高速に処理することができる。【００２１】
第４発明及び第７発明にあっては、判定手段が他の画像データにおける顔の向きに対応した記憶済みの特徴量が所定数以上であるか否かを判定する。記憶されている特徴量が所定数未満である場合、個人差及び顔の向きによる特徴変化に対応するための情報として不十分である。
そこで、顔部位認識手段は、他の顔の向きに対応した特徴量と、他の画像データから算出された特徴量と、閾値とに基づいて顔部位を認識する。
従って、不確かな情報に基づく顔部位の誤認識を回避することができる。【００２２】
第５発明及び第７発明にあっては、記憶手段は、顔の向きを所定方向に離散した複数の第１区分と、該第１区分間を補完する第２区分とに区分し、画像データから算出された顔の向きが第１区分に属する場合、該画像データから算出された特徴量を該第１区分に対応付けて記憶する。
また、記憶手段は、画像データから算出された顔の向きが第２区分に属する場合、該第２区分に隣接する複数の第１区分に対応付けて特徴量を記憶する。第２区分に属する顔の向きの特徴量を隣接する第１区分に記憶させることにより、顔部位の認識に使用する情報が隣接する区分間で急激に変化することを回避することができる。
従って、顔部位の認識基準が顔の向きによって急激に変化することを回避することができ、顔の向き変化に依存しないより正確な顔部位の認識が可能になる。【００２３】
第６発明及び第７発明にあっては、顔部位認識手段は、個人差及び顔の向きに応じた眼位置及び眼の開度を認識することができる。
【発明の効果】
【００２４】
第１、２、第７及び第８発明によれば、個人差及び顔の向きに関わらず顔部位を正確に認識することができる。【００２５】
第３及び第７発明によれば、特殊な装置、例えば専用ＬＳＩを使用せずとも、一般的な演算処理で顔部位の認識精度を向上させることができる。【００２６】
第４及び第７発明によれば、顔部位の認識開始直後等、特徴量が十分に蓄積されていない場合であっても、顔部位の誤認識を回避することができ、顔部位を正確に認識することができる。【００２７】
第５及び第７発明によれば、顔部位の認識基準、例えば閾値が顔の向きによって急激に変化することを回避することができ、顔部位の認識精度を向上させることができる。【００２８】
第６及び第７発明によれば、個人差及び顔の向きに関わらず、眼の位置、眼の開閉状態を正確に認識することができる。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施の形態における画像処理システムの構成例を示すブロック図である。
【図２】顔の向きに夫々対応した複数の特徴量データベースを概念的に示す説明図である。
【図３】本発明の実施の形態に係るＣＰＵの処理手順を示すフローチャートである。
【図４】顔領域の検出方法を概念的に示す説明図である。
【図５】顔部位の認識に係るＣＰＵの処理手順を示すフローチャートである。
【図６】顔部位の認識に係るＣＰＵの処理手順を示すフローチャートである。
【図７】内外輝度差テンプレート及び被検出対象を概念的に示す説明図である。
【図８】形状テンプレート及び被検出対象を概念的に示す説明図である。
【図９】特徴量データベースに蓄積された特徴量の度数分布を示すグラフである。
【図１０】上瞼の形状認識方法を概念的に示す説明図である。
【図１１】耳の位置検出方法を概念的に示す説明図である。
【図１２】鼻の位置検出方法を概念的に示す説明図である。
【図１３】顔の向きの算出に係るＣＰＵの処理手順を示すフローチャートである。
【図１４】特徴量の蓄積に係るＣＰＵの処理手順を示すフローチャートである。
【図１５】開閉状態の判定に係るＣＰＵの処理手順を示すフローチャートである。
【図１６】開閉状態の判定に係るＣＰＵの処理手順を示すフローチャートである。
【図１７】開閉状態の判定に係るＣＰＵの処理手順を示すフローチャートである。
【図１８】閾値の推定方法を概念的に示す説明図である。
【符号の説明】
【００３０】
１  撮像装置
２  画像処理装置
１１  ＭＰＵ
２１  ＣＰＵ
２３  ＨＤ
３１  コンピュータプログラム
４１  記録媒体
【発明を実施するための最良の形態】
【００３１】
以下、本発明をその実施の形態を示す図面に基づいて詳述する。
図１は、本発明の実施の形態における画像処理システムの構成例を示すブロック図である。図中１は、車両に搭載された撮像装置１であり、撮像装置１は、画像処理を行う画像処理装置２に通信網を介して接続されている。通信網は、例えば専用ケーブル等の通信線、又は有線若しくは無線の車内ＬＡＮ（Local Area Network）によって構成されている。【００３２】
撮像装置１は、車両内のハンドル、ダッシュボード等の運転者の前方に配設され、運転者の顔の横方向及び縦方向が画像の水平方向及び垂直方向になるように撮像することが可能な状態に調整されている。
撮像装置１は、装置全体を制御するＭＰＵ（Micro Processor Unit）１１と、ＭＰＵ１１の制御に基づき実行される各種コンピュータプログラム及びデータを記録するＲＯＭ（Read Only Memory）１２と、ＲＯＭ１２に記録されたコンピュータプログラムの実行時に一時的に発生する各種データを記録するＲＡＭ（Random Access Memory）１３と、ＣＣＤ（Charge Coupled Device）等の撮像素子を用いて構成される撮像部１４と、撮像部１４の撮像により得られたアナログの画像データをデジタルデータに変換するＡ／Ｄ変換器１５と、Ａ／Ｄ変換器１５によりデジタルに変換された画像データを一時的に記録するフレームメモリ１６と、画像処理装置２との通信に用いられる通信インタフェース１７とを備えている。【００３３】
撮像装置１では、撮像部１４が連続的又は断続的に撮像処理を行い、撮像処理に基づいて例えば１秒当たり３０枚の画像データ（画像フレーム）を生成してＡ／Ｄ変換器１５へ出力する。Ａ／Ｄ変換器１５は、画像を構成する各画素を２５６階調（１Ｂｙｔｅ）等の階調にて示されるデジタル画像データに変換し、フレームメモリ１６に記録させる。フレームメモリ１６に記録された画像データは、所定のタイミングで通信インタフェース１７から画像処理装置２へ出力される。
画像を構成する各画素は、二次元に配列されており、画像データは、平面直角座標系、所謂ＸＹ座標系にて示される各画素の位置、及び階調値として示される各画素の輝度を示すデータ（輝度値）を含んでいる。画像の水平方向は、画像データのＸ軸方向に対応し、画像の垂直方向は、画像データのＹ軸方向に対応する。なお、各画素に対し夫々ＸＹ座標系による座標を示すのではなく、データ内に配列される順序により座標を示す様にしても良い。また、本実施の形態ではグレイスケイルの画像データに基づく画像処理を説明する。カラーの画像データを用いる場合、該画像データを構成する各画素が有する輝度データについて同様の画像処理を実行すれば良い。【００３４】
画像処理装置２はコンピュータを実装しており、装置全体を制御するＣＰＵ（Central Processing Unit）２１と、本発明の実施の形態に係るコンピュータプログラム３１、各種閾値、その他の各種情報を記録した記録媒体４１、例えばＣＤ−ＲＯＭ等から情報を読み取る補助記録部２２と、補助記録部２２により読み取った各種情報、顔の向きに夫々対応した複数の特徴量データベース等を記録するハードディスク（以下ＨＤという）２３と、ＨＤ２３に記録されたコンピュータプログラム３１の実行時に一時的に発生する各種データを記録するＲＡＭ２４と、揮発性メモリにて構成されるフレームメモリ２５と、撮像装置１との通信に用いられる通信インタフェース２６とを備えている。【００３５】
本発明のコンピュータプログラム３１は、少なくともコンピュータに、画像データから顔の向きを算出する処理と、複数の画像データから算出された特徴量を顔の向きに対応付けて記憶する処理と、顔の向きに対応した記憶済みの特徴量が所定数以上であるか否かを判定する処理と、他の画像データにおける顔の向きに対応した記憶済みの特徴量が所定数以上であると判定された場合、前記他の画像データから算出された特徴量、前記顔の向きに対応した記憶済みの算出結果及び前記閾値に基づいて前記他の画像データにおける顔部位を認識する処理と、所定数未満であると判定された場合、前記他の画像データから算出された特徴量、前記顔の向きと異なる他の顔の向きに対応した記憶済みの特徴量及び前記閾値に基づいて顔部位を認識する処理とを実行させるためのプログラムを含む。また、記録媒体４１には、コンピュータプログラム３１がコンピュータ読み取り可能に記録されている。
なお、コンピュータプログラム３１は、言うまでもなく外部のコンピュータから有線又は無線の通信ネットワークを介して流通するものも含み、画像処理装置２が該通信ネットワークを介してコンピュータプログラム３１を取得し、ＨＤ２３に記録するようにしても良い。【００３６】
そしてＣＰＵ２１が、ＨＤ２３から本発明のコンピュータプログラム３１及びデータ等の各種情報を読み取ってＲＡＭ２４に記録し、コンピュータプログラム３１に含まれる各種処理手順を実行することで、コンピュータは、本実施の形態に係る画像処理装置２として動作する。【００３７】
画像処理装置２では、撮像装置１から出力された画像データを通信インタフェース２６にて受け付け、受け付けた画像データをフレームメモリ２５に記録し、フレームメモリ２５に記録した画像データを読み出して、様々な画像処理を行う。【００３８】
図２は、顔の向きに夫々対応した複数の特徴量データベースを概念的に示す説明図である。縦横５×９のマトリクス状に区分された複数の升目は夫々異なる顔の向きに対応している。図２中横方向の矢印は水平方向における顔の向きを示しており、縦方向の矢印は垂直方向における顔の向きを示している。各升目には「正／正」のように、対応する顔の向きが示されている。升目内における「／」の左側に記された「上」、「正」及び「下」の文字は垂直方向における顔の向きを３段階で示している。「／」の右側に記された「左２」、「左１」、「正」、「右１」、「右２」の文字は、水平方向における顔の向きを５段階で示している。なお、左右は、説明の便宜上、図２の紙面における左右を示している。従って、運転者側から見た左右とは逆になる。また、「左２」は、正面向きを基準として「左１」よりも更に大きく左側を向いている状態を示している。同様に、「右２」は、正面向きを基準として「右１」よりも更に大きく右側を向いている状態を示している。
図２中白色の升目は、マトリクス中心の「正／正」の升目から水平方向及び垂直方向に１升ずつ空けて離散するように配されており、ＨＤ２３は、各升目で示された顔の向きに１対１で対応した複数の特徴量データベースを記憶している。特徴量データベースは、画像データから算出された顔部位の特徴量、特に対応する顔の向きの運転者を含む画像データから算出された特徴量を蓄積するデータベースである。顔の向き毎に蓄積された特徴量を用いることにより、個人差及び顔の向きによる特徴量変化に対応することが可能になる。以下、特徴量データベースが用意されている顔の向きを示す各区分を第１区分という。
図２中ハッチングが付された升目は、第１区分の升目を補完するように配されている。ハッチングが付された升目に係る顔の向きには特徴量データベースが対応付けられていない。以下、特徴量データベースが用意されていない各升目に対応した顔の向きを第２区分という。【００３９】
次に本発明の実施の形態における画像処理システムにて用いられる各種装置の処理内容について説明する。本実施の形態に係る画像処理システムは、個人差及び顔の向きによる顔部位の特徴変化に対応し、顔部位の認識精度を向上させるものである。【００４０】
図３は、本発明の実施の形態に係るＣＰＵの処理手順を示すフローチャートである。画像処理装置２のＣＰＵ２１は、フレームメモリ２５に記録された画像データを取得し（ステップＳ１１）、顔の画像データから射影演算、閾値処理等によって顔領域を検出する（ステップＳ１２）。そして、ＣＰＵ２１は、検出された顔領域の画像データから顔部位を認識する（ステップＳ１３）。具体的には、ＣＰＵ２１は、顔領域の画像データから鼻、眼、耳等の顔部位の特徴量を算出する。そして、ＣＰＵ２１は、前フレームで算出された顔の向きに対応する特徴量データベースの情報を用いて該特徴量を正規化し、正規化された標準測度と閾値とを比較することで顔部位の位置を算出する。【００４１】
次いで、ＣＰＵ２１は、顔部位の位置関係、又は眼の形状等から顔の向きを算出し（ステップＳ１４）、算出された顔の向きとステップＳ１３で算出された特徴量とを対応付けてＨＤ２３に記憶させる（ステップＳ１５）。具体的には、顔の向きに対応した特徴量データベースに特徴量を蓄積する。そして、ＣＰＵ２１は、眼の開閉状態の判定を行い（ステップＳ１６）、処理を終える。ステップＳ１６では、現フレームの画像データから算出された眼の開度を、ステップＳ１４で算出された顔の向きに対応した特徴量データベースの情報を用いて正規化し、正規化された標準測度と閾値とを比較することで眼の開閉状態を判定する。【００４２】
以下、図３のフローチャートを用いて説明した処理内容を更に具体的に説明する。【００４３】
図４は、顔領域の検出方法を概念的に示す説明図である。ステップＳ１２においてＣＰＵ２１は、画像の各Ｙ座標について、水平方向に並ぶ各画素の輝度値を積算し、積算して得た輝度積算値と、所定の閾値とを比較することで垂直方向における顔領域Ｒ０の範囲を検出する。Ｆｙ１は、垂直方向における顔領域Ｒ０の上端のＹ座標を、Ｆｙ２は、垂直方向における顔領域Ｒ０の下端のＹ座標を示している。顔領域Ｒ０は、髪の領域及び背景領域と比較して明るく撮像されため、輝度積算値と閾値とを比較することによって顔領域Ｒ０を検出することができる。【００４４】
同様に、ＣＰＵ２１は、画像の各Ｘ座標について、垂直方向に並ぶ各画素の輝度値を積算し、積算して得た輝度積算値と、所定の閾値とを比較することで水平方向における顔領域Ｒ０の範囲を検出する。Ｆｘ１は、水平方向における顔領域Ｒ０の左端を、Ｆｘ２は、水平方向における顔領域Ｒ０の右端を示している。なお、「左」は、撮像装置１１側から見た左、即ち図４の紙面における左側を意味し、「右」は図４の紙面における右側を意味している。従って、撮像されている運転者側から見ると左右が逆になる。【００４５】
図５及び図６は、顔部位の認識に係るＣＰＵの処理手順を示すフローチャートである。ＣＰＵ２１は、画像データに基づいて顔部位の特徴量を算出する（ステップＳ３１）。例えば、眼の内外輝度差、眼を検出するための形状テンプレート及び画像データの一致度（相関値）、眼の開度等を算出する。【００４６】
図７は、内外輝度差テンプレート及び被検出対象を概念的に示す説明図である。図７（ａ）を眼の位置を検出するための内外輝度差テンプレートを示している。矩形枠は内外輝度差の演算対象となる画像領域を示している。上が凸になるように湾曲した湾曲線は上瞼に相当する。ＣＰＵ２１は、眼の検出処理領域内で左上から右下まで該内外輝度差テンプレートを走査し、内外輝度差を算出する。具体的には、湾曲線の上側の画像部分を構成する各画素の輝度値に基づいて眼外部の輝度平均値を算出し、湾曲線の下側の画像部分を構成する各画素の輝度値に基づいて眼内部の輝度平均値を算出する。そして、ＣＰＵ２１は、算出された眼外部の輝度平均値から眼内部の輝度平均値を減算して内外輝度差を算出する。次いで、ＣＰＵ２１は検出処理範囲内で算出された複数の内外輝度差の内、内外輝度差が大きいものから所定の個数を眼位置の候補として、夫々の内外輝度差とその座標位置を記憶する。【００４７】
図７（ｂ）、（ｃ）は、被検出対象である眼の一例を示す模式図である。
図７（ｂ）は、化粧をしていない状態の眼であり、図７（ｃ）は化粧をした状態の眼である。図７（ｃ）に示した眼の上瞼部分の輝度は、図７（ｂ）に比べて低いため、図７（ｃ）に示した眼の画像データから算出された内外輝度差は、図７（ｂ）に示した眼の画像データから算出された内外輝度差に比べて低い値となる。つまり、個人差によって眼の内外輝度差が異なっている。従って、固定閾値と、内外輝度差とを比較して眼の位置を特定する処理を実行すると、眼を誤認識する虞がある。また、同一人であっても顔の向きによって眼の形状が変化するため、内外輝度差のばらつきが生じ、眼を誤認識する虞がある。ＣＰＵ２１は、個人差及び顔の向きに対応すべく、後述の処理を実行する。【００４８】
図８は、形状テンプレート及び被検出対象を概念的に示す説明図である。図８（ａ）は、形状テンプレートを概念的に示している。上が凸になるように湾曲した湾曲線は、上瞼の形状に相当する。ＣＰＵ２１は、眼の検出処理領域内でエッジフィルタ処理を実行し、上瞼のエッジを抽出する。そして、ＣＰＵ２１は、検出処理領域内の左上から右下まで該形状テンプレートを走査し、形状テンプレートの湾曲線の画像と、抽出されたエッジの画素との一致度を算出し、一致度が大きいものから所定の個数を眼位置の候補として、夫々の一致度とその座標位置を記憶する。【００４９】
図８（ｂ）は、堀が浅い眼を示しており、図８（ｃ）は堀が深い眼を示している。堀が浅い眼の場合、上瞼のエッジが湾曲線状に抽出されるため、形状テンプレートに対する一致度が高い。しかし、堀が深い眼の場合、上瞼端部のエッジが抽出できない場合があり、形状テンプレートに対する一致度が低くなる傾向がある。この場合も、上述のように固定閾値と、形状テンプレートに対する一致度を単純に比較すると眼を誤認識する虞がある。【００５０】
ステップＳ３１の処理を終えた場合、次いでＣＰＵ２１は、前フレームの画像データにおける顔の向きが第１区分に属するか否かを判定する（ステップＳ３２）。第１区分に属すると判定した場合（ステップＳ３２：ＹＥＳ）、ＣＰＵ２１は、前フレームにおける顔の向きに対応する特徴量データベースに蓄積されている特徴量を読み出す（ステップＳ３３）。【００５１】
図９は、特徴量データベースに蓄積された特徴量の度数分布を示すグラフである。横軸は特徴量の値を示しており、縦軸は各特徴量の蓄積数を示している。図９に示す特徴量の平均値及び分散値は、個人差及び顔の向きによって異なるが、横方向の両矢印で示した範囲内の特徴量が算出された場合、運転者の顔部位である傾向が高いと考えられる。前記平均値及び分散値は個人差及び顔の向きによる特徴量変化の傾向を示しており、特徴量変化に対応した顔部位の認識処理に利用される。【００５２】
第１区分に属さないと判定した場合（ステップＳ３２：ＮＯ）、ＣＰＵ２１は、第２区分に隣接する第１区分に対応した特徴量データベースに蓄積されている特徴量を読み出す（ステップＳ３４）。【００５３】
例えば、顔の向きが「正／正」の区分と、「正／右１」の区分との間である場合、ＣＰＵ２１は、「正／正」の区分に対応した特徴量データベースに蓄積された特徴量と、「正／右１」の区分に対応した特徴量データベースに蓄積された特徴量とを読み出す。
また、顔の向きが「正／正」の区分と、「上／右１」の区分との間である場合、ＣＰＵ２１は、「正／正」の区分に対応した特徴量データベースに蓄積された特徴量と、「正／右１」の区分に対応した特徴量データベースに蓄積された特徴量と、「上／正」の区分に対応した特徴量データベースに蓄積された特徴量と、「上／右１」の区分に対応した特徴量データベースに蓄積された特徴量とを読み出す。【００５４】
第２区分に属する顔の向きを算出した際、隣接する第１区分に対応した複数の特徴量データベースの特徴量から平均値及び分散値を算出することにより、正規化の基準となる平均値及び分散値が顔の向きによって急激に変化することを回避することができる。【００５５】
ステップＳ３３又はステップＳ３４の処理を終えた場合、ＣＰＵ２１は、読み出された特徴量が所定数以上であるか否かを判定する（ステップＳ３５）。読み出された特徴量が所定数以上である場合（ステップＳ３５：ＹＥＳ）、ＣＰＵ２１は、読み出された複数の特徴量に基づいて、特徴量の平均値及び分散値を算出する（ステップＳ３６）。そして、ＣＰＵ２１は、正規化処理のループを開始する（ステップＳ３７）。次いで、ＣＰＵ２１は、ステップＳ３１で算出された特徴量を、ステップＳ３６で算出した平均値及び分散値にて正規化して得られる標準測度を算出し、これをスコアとする（ステップＳ３８）。
例えば、特徴量をａ、平均値を＜ａ＞、標準偏差をσとした場合、標準測度は、下記式（１）で表される。なお、分散値は標準偏差σの二乗である。
標準測度＝（ａ−＜ａ＞）／σ     …（１）【００５６】
なお、顔の向きが第２区分の場合、隣接する特徴量データベースにおける標準測度を、顔向き角度に応じて重み付けすることにより、スコアを算出する。【００５７】
図９に示す特徴量の平均値及び分散は、個人差及び顔の向きによって異なるが、特徴量を正規化することによって、個人差及び顔の向きに関わらず平均値及び分散値が一定の標準測度を得ることができる。例えば、図７（ｂ）及び図７（ｃ）に示した眼の内外輝度差の平均は２５６階調で夫々約４０及び８０であるが、正規化することによって、内外輝度差の標準測度はいずれも０となる。従って、閾値を共通化し、共通的な閾値判定が可能になる。【００５８】
そしてＣＰＵ２１は、ステップＳ３１で演算された全ての特徴量に対してステップＳ３８の正規化処理を終えた場合、制御部はループを終了する（ステップＳ３９）。次いで、ＣＰＵ２１は、正規化又は重み付け演算にて算出された標準測度、即ちスコアの内、最も０に近いスコアを最上位候補として決定し（ステップＳ４０）、最上位候補のスコアが閾値の範囲内であるか否かを判定する（ステップＳ４１）。つまり、最上位候補のスコアが下閾値より大きく、且つ上閾値未満であるか否かを判定する。下閾値及び上閾値はＨＤ２３が予め記憶している。最上位候補のスコアが閾値の範囲内であると判定した場合（ステップＳ４１：ＹＥＳ）、ＣＰＵ２１は、顔部位の位置を確定し（ステップＳ４２）、顔部位の認識に係る処理を終える。最上位候補のスコアが閾値の範囲内にないと判定した場合（ステップＳ４１：ＮＯ）、ＣＰＵ２１は顔部位の検出に失敗したとして、顔部位の認識に係る処理を終える。【００５９】
ステップＳ３５で読み出された特徴量が所定数未満であると判定した場合（ステップＳ３５：ＮＯ）、ＣＰＵ２１は、隣接した他の第１区分に対応した特徴量データベースから特徴量を読み出す（ステップＳ４３）。そして、ＣＰＵ２１は、読み出された特徴量が所定数以上であるか否かを判定する（ステップＳ４４）。読み出された特徴量が所定数以上であると判定した場合（ステップＳ４４：ＹＥＳ）、ＣＰＵ２１は、読み出された特徴量に基づいて顔部位の位置を特定するための閾値を推定する（ステップＳ４５）。【００６０】
特徴量の蓄積開始直後においては、正面向きの出現頻度が高いため、正面向きに対応した特徴量データベースに特徴量が蓄積されるが、他の顔の向きに対応した特徴量データベースには正規化に必要な特徴量が十分蓄積されていない状態が生ずる。このような状態で、「上／正」の区分に属する顔の向きを検出したような場合、個人差及び顔の向きに対応した顔部位の認識処理を実行することができない。
そこで、ＣＰＵ２１は、他の隣接する第１区分に属する特徴量データベース、例えば「正／正」の区分に属する特徴量データベースから特徴量を読み出して特徴量の平均値を算出する。そして、算出された平均値を基準にして他の顔の向きにおける推定上閾値及び推定下閾値を算出する。【００６１】
正面向きにおける特徴量の平均値と、他の顔の向きにおける平均値との間には一定の関係があるため、該関係を予めＨＤ２３に記憶しておくことにより、個人差及び顔の向きに対応した閾値を算出することができる。【００６２】
次いで、ＣＰＵ２１は、ステップＳ３１で演算された特徴量の内、閾値に最も近い特徴量を最上位候補として決定する（ステップＳ４６）。そして、ＣＰＵ２１は、最上位候補の特徴量が閾値の範囲内であるか否かを判定する（ステップＳ４７）。つまり、最上位候補の特徴量が推定下閾値より大きく、且つ推定上閾値未満であるか否かを判定する。最上位候補の特徴量が閾値の範囲内であると判定した場合（ステップＳ４７：ＹＥＳ）、ＣＰＵ２１は、顔部位の位置を確定し（ステップＳ４８）、顔部位の認識に係る処理を終える。最上位候補の特徴量が推定閾値の範囲内にないと判定した場合（ステップＳ４７：ＮＯ）、ＣＰＵ２１は、顔部位の認識に係る処理を終える。【００６３】
ステップＳ４４で特徴量が所定数未満であると判定した場合（ステップＳ４４：ＮＯ）、ＣＰＵ２１は、特徴量が蓄積されている他の第１区分があるか否かを判定する（ステップＳ４９）。他の第１区分があると判定した場合（ステップＳ４９：ＹＥＳ）、ＣＰＵ２１は、処理をステップＳ４３に戻す。【００６４】
他の第１区分が無いと判定した場合（ステップＳ４９：ＮＯ）、ＣＰＵ２１は、固定上閾値及び固定下閾値をＨＤ２３から読み出す（ステップＳ５０）。
固定上閾値及び固定下閾値は緩い値である。顔部位の特徴は人によって千差万別であるため、閾値を厳しく設定すると顔部位が認識されなくなるためである。顔部位の誤認識が数フレーム生じたとしても、算出された特徴量が特徴量データベースに十分蓄積された後は、蓄積された特徴量に基づいて、適切な閾値判断を行うことができる。【００６５】
そして、ＣＰＵ２１は、ステップＳ３１で算出された特徴量の内、閾値に最も近い特徴量を最上位候補として決定する（ステップＳ５１）。そして、ＣＰＵ２１は、最上位候補の特徴量が閾値の範囲内であるか否かを判定する（ステップＳ５２）。つまり、最上位候補の特徴量が固定下閾値より大きく、且つ固定上閾値未満であるか否かを判定する。最上位候補の特徴量が閾値の範囲内であると判定した場合（ステップＳ５２：ＹＥＳ）、ＣＰＵ２１は、顔部位である眼の位置を確定し（ステップＳ５３）、顔部位の認識に係る処理を終える。最上位候補の特徴量が閾値の範囲内でないと判定した場合（ステップＳ５２：ＮＯ）、ＣＰＵ２１は、顔部位の認識に係る処理を終える。【００６６】
以下、顔部位の他の認識処理について説明する。他の顔部位を認識すべく特徴量と閾値とを比較する場合も、上述の方法を採用することにより個人差及び顔の向き変化に対応することができる。
図１０は、上瞼の形状認識方法を概念的に示す説明図である。図１０（ａ）は、眼を検出するための眼領域Ｒ１を示している。眼領域Ｒ１は、例えば鼻穴のような他の顔部位を基準とした相対位置で算出される。ＣＰＵ２１は、破線で示すように眼領域Ｒ１の左上部から垂直方向下方に並ぶ各画素に対してフィルタ処理を順次実行して上瞼のエッジを抽出する。ＣＰＵ２１は、同様のエッジ抽出処理を水平方向に並ぶ他の垂直ラインにおいても順次実行する。【００６７】
図１０（ｂ）は、上瞼を検出するフィルタの係数の一例を示す説明図である。上瞼を検出するフィルタは、垂直方向上方から下方へ輝度が高い画像領域から輝度が低い画像領域へ変化するエッジを抽出する３×３マトリクスの１次微分フィルタである。図１０（ｂ）に示した係数は、垂直方向及び水平方向に並ぶ３×３＝９の画素の輝度値に対して乗ずる数値であり、中心の一の画素（注目画素）と、その外側に隣接する８近傍の画素の輝度値に対し、夫々対応する一の係数を乗じて、その結果を加算した値を注目画素のフィルタ値として算出する。【００６８】
図１０（ｃ）は、上瞼の検出されたエッジ抽出点を概念的に示す説明図である。ＣＰＵ２１は、一のＸ座標位置において垂直方向に並ぶ各画素のフィルタ値を参照することにより、最大フィルタ値を特定する。そして、該最大フィルタ値を顔の向きに応じて正規化し、正規化されたフィルタ値の標準測度が所定閾値以上の画素をエッジ抽出点として検出する。なお、所定閾値は、ＨＤ２３が予め記憶している値である。同様にＣＰＵ２１は他のＸ座標位置におけるエッジ抽出点を検出する。【００６９】
次いで、ＣＰＵ２１は、このように抽出されたエッジ抽出点の数を計数し、計数された数が、予めＨＤ２３に記憶してある所定数以上であるか否かを判定する。【００７０】
抽出したエッジ抽出点が所定数以上ある場合、該エッジ抽出点は上瞼を示している傾向が高いため、ＣＰＵ２１は、各エッジ抽出点の座標位置に基づいて、上瞼の形状を示す関数を算出し、上瞼の湾曲度を算出及び記憶する。【００７１】
図１０（ｄ）は、上瞼の湾曲度の算出方法を概念的に示す説明図である。ＣＰＵ２１は、図１０（ｄ）に示すように上瞼を２次関数にて近似する。より具体的には、抽出点のＸ座標をｘ、Ｙ座標をｙ、２次放物線を規定する係数をα、β、γとした場合、上瞼をｙ＝αｘ２  ＋βｘ＋γにて近似することができる。そして、最尤推定法等を用いて、各係数を推定する。特にαは、上瞼の湾曲具合を示すことができるため、αを上瞼の湾曲度として記憶する。なお、湾曲度は、必ずしも２次関数を規定する係数αである必要は無く、上瞼の形状を評価できる数値であれば、曲率、曲率半径、その他の係数であっても良い。また、他の近似曲線にて上瞼の形状を評価するように構成しても良い。【００７２】
ＣＰＵ２１は、同様にして下瞼の湾曲度も算出することができる。また、上瞼の頂点と、下瞼の頂点との距離を算出することで垂直方向における眼の高さを算出することもできる。眼の湾曲度、及び眼の高さは眼の開き具合を示す開度を算出するための情報である。例えば、眼の湾曲度と高さとの平均値を開度として算出する。【００７３】
また、ＣＰＵ２１は、顔の向きを判定するために鼻穴の位置、耳の位置等を同様の手順で認識する。以下、耳位置の認識方法を説明する。【００７４】
図１１は、耳位置の検出方法を概念的に示す説明図である。図１１（ａ）は、耳部分周辺の画像部分を示している。ハッチングで示した部分は運転者の髪の領域及び背景領域等の暗い画像領域を示しており、ハッチングが付されていない部分はハッチング部分に比べて明るい画像領域を示している。
図１１（ａ）に示した画像に対して耳の輪郭を抽出するフィルタ処理を実行した場合、耳の画像領域と、背景の画像領域との境界部分等におけるフィルタ値が他の画像領域のフィルタ値に比べて大きな値として算出される。右耳（運転者側から見て左耳）の輪郭を抽出フィルタは、例えば斜め右下方へ輝度が高い画像領域から輝度が低い画像領域へ変化するエッジを抽出する５×５マトリクスの斜めエッジフィルタである。【００７５】
次いで、ＣＰＵ２１は、図１１（ｂ）に示すように、各Ｙ座標において水平方向に並ぶ画素中、フィルタ値が最大となるＸ座標を算出する。図１１（ｂ）は、フィルタ処理された画像を概念的に示した説明図である。図中の破線は顔、首、髪部分の輪郭を示す仮想線であり、黒丸印で示された画素は、各水平方向に並ぶ画素中、最大のフィルタ値を有する画素の位置座標を示している。【００７６】
そして、ＣＰＵ２１は、各Ｙ座標と、フィルタ値最大のＸ座標と、該フィルタ値とを対応付けたＹ方向テーブルを記憶する。以下、Ｙ方向テーブルに記憶されたフィルタ値を耳輪郭候補フィルタ値という。
例えば、図１１（ｂ）に示すように、Ｙ座標がｙ１を有する水平方向に並ぶ画素中、最大のフィルタ値を有する画素は黒丸印で示された箇所の画素であり、該画素のＸ座標はｘ１である。この場合、Ｙ方向テーブルには、座標ｙ１に対して、Ｘ座標としてｘ１、座標（ｘ１，ｙ１）におけるフィルタ値とが対応付けられて記憶される。他のＹ座標についても同様に処理される。【００７７】
次いで、ＣＰＵ２１は、耳の輪郭に関する情報を有するＹ方向テーブルを参照し、耳の形状に基づいて耳の位置、特に耳朶部分の位置Ｅを検出する。耳朶部分の位置Ｅは、図１１（ｃ）に示すように、耳朶と顔との結合部分の位置である。耳朶は運転者の髪型の影響を最も受けにくい部分である。従って、該耳位置を検出するように構成することによって、運転者の髪型に関わらず耳位置Ｅを検出することができる。【００７８】
次に、鼻位置の認識方法を説明する。
図１２は、鼻の位置検出方法を概念的に示す説明図である。図１２中、実線で示す外側の矩形枠は画像全体を示しており、該矩形枠の内側であって鼻を囲む破線で描かれた矩形枠は鼻を検出するための検出処理範囲Ｒ２を示している。【００７９】
ＣＰＵ２１は、鼻を検出するための検出処理領域Ｒ２を検出すべく、水平方向に並ぶ画素の輝度を積算し、積算した結果から垂直方向の輝度積算値の変化を導出する。そして、ＣＰＵ２１は、導出された垂直方向における輝度積算値の変化から、極小値を示す複数のＹ座標位置を検出する。この処理によって、図１０に示すように水平方向における輝度平均が低い眉、眼、鼻及び口をも含む複数の検出対象の候補が検出される。次いで、ＣＰＵ２１は検出された極小値を示すＹ座標において水平方向に並ぶ画素の輝度値の変化から、検出対象の候補の両端を検出し、水平方向における極小点を検出する。鼻の周辺部分においては、「×」印で示すように小鼻の両端と、鼻穴に相当する２つの極小点が検出される。ＣＰＵ２１は、顔領域Ｒ０の幅Ｆｗと、水平方向における小鼻両端の長さとの比、極小点の数等に基づいて、鼻周辺の検出処理範囲を特定する。【００８０】
次いで、ＣＰＵ２１は、水平方向に並ぶ画素の輝度値の変化から、極小点周辺を探索領域として選択し、黒領域抽出フィルタ等を用いて鼻穴の位置を検出する。そして、顔の向きを検出する鼻の位置としては例えば、両鼻穴の中点の座標を使用する。【００８１】
図１３は、顔の向きの算出に係るＣＰＵ２１の処理手順を示すフローチャートである。ＣＰＵ２１は、垂直方向における鼻穴及び耳の上下位置関係を比較することによって、顔の上下向きを算出し（ステップＳ７１）、水平方向における顔領域Ｒ０及び鼻穴の位置を比較することによって、顔の左右向きを算出する（ステップＳ７２）。顔幅の中心よりも鼻穴が右側に位置している場合、右を向いており、左側に位置している場合、左を向いていると判定される。【００８２】
次いで、ＣＰＵ２１は、ステップＳ７１及びステップＳ７２で算出された顔の向きを記憶し（ステップＳ７３）、顔の向きの算出に係る処理を終える。【００８３】
図１４は、特徴量の蓄積に係るＣＰＵ２１の処理手順を示すフローチャートである。ＣＰＵ２１は、上述の処理で算出された顔の向きが第１区分に属するか否かを判定する（ステップＳ９１）。顔の向きが第１区分に属すると判定した場合（ステップＳ９１：ＹＥＳ）、顔の向きに対応した特徴量データベースに特徴量を記憶し（ステップＳ９２）、特徴量の蓄積に係る処理を終える。例えば、眼の内外輝度差、形状テンプレートに係る一致度、眼の湾曲度、眼の高さ等を記憶する。【００８４】
顔の向きが第１区分に属さないと判定した場合（ステップＳ９１：ＮＯ）、ＣＰＵ２１は、第２区分に隣接する第１区分の顔の向きに対応した複数の特徴量データベースに特徴量を夫々記憶し（ステップＳ９３）、特徴量の蓄積に係る処理を終える。【００８５】
例えば、顔の向きが「正／正」の区分と、「正／右１」の区分との間である場合、ＣＰＵ２１は、「正／正」の区分に対応した特徴量データベースと、「正／右１」の区分に対応した特徴量データベースとに夫々特徴量を記憶させる。
また、顔の向きが「正／正」の区分と、「上／右１」の区分との間である場合、ＣＰＵ２１は、「正／正」の区分に対応した特徴量データベースと、「正／右１」の区分に対応した特徴量データベースと、「上／正」の区分に対応した特徴量データベースと、「上／右１」の区分に対応した特徴量データベースとに夫々特徴量を記憶させる。【００８６】
第２区分に属する顔の向きで算出された特徴量を隣接する第１区分に対応した特徴量データベースに夫々記憶させることにより、正規化の基準となる平均値及び分散が急激に変化することを回避することができる。言い換えれば、顔の向きに応じて特徴量データベースを切り替えた場合における閾値の急激な変化を避けることができる。【００８７】
図１５乃至図１７は、眼の開閉状態の判定に係るＣＰＵ２１の処理手順を示すフローチャートである。【００８８】
ＣＰＵ２１は、ステップＳ１４で算出された顔の向きが第１区分に属するか否かを判定する（ステップＳ１１１）。第１区分に属すると判定した場合（ステップＳ１１１：ＹＥＳ）、ＣＰＵ２１は、現フレームにおける顔の向きに対応する特徴量データベースに蓄積されている特徴量、特に眼の湾曲度及び高さを読み出す（ステップＳ１１２）。【００８９】
第１区分に属さないと判定した場合（ステップＳ１１１：ＮＯ）、ＣＰＵ２１は、第２区分に隣接する第１区分に対応する特徴量データベースに蓄積されている湾曲度及び高さを読み出す（ステップＳ１１３）。【００９０】
ステップＳ１１２又はステップＳ１１３の処理を終えた場合、ＣＰＵ２１は、読み出された湾曲度等が所定数以上であるか否かを判定する（ステップＳ１１４）。読み出された湾曲度等が所定数以上である場合（ステップＳ１１４：ＹＥＳ）、ＣＰＵ２１は、読み出された複数の湾曲度及び高さに基づいて、湾曲度及び高さの平均値及び分散値を算出する（ステップＳ１１５）。そして、ＣＰＵ２１は、ステップＳ１３で算出された湾曲度及び高さを、ステップＳ１１５で算出した平均値及び分散値にて夫々正規化し、正規化された値に基づいて開度に係る標準測度を算出する（ステップＳ１１６）。例えば、該開度の標準測度は、湾曲度の標準測度と眼の高さの標準測度との平均値等により算出される。【００９１】
開度の平均値及び分散は、個人差及び顔の向きによって異なるが、開度を正規化することによって、個人差及び顔の向きに関わらず平均値及び分散値が一定の標準測度を得ることができる。従って、閾値を共通化し、共通的な閾値判定が可能になる。【００９２】
次いで、ＣＰＵ２１は標準測度が閾値より大きいか否かを判定する（ステップＳ１１７）。標準測度が閾値より大きいと判定した場合（ステップＳ１１７：ＹＥＳ）、ＣＰＵ２１は、開状態であることを記憶し、開閉状態の判定に係る処理を終える。標準測度が閾値以下である場合（ステップＳ１１７：ＮＯ）、ＣＰＵ２１は、閉状態であることを記憶し（ステップＳ１１９）、開閉状態の判定に係る処理を終える。【００９３】
読み出された湾曲度等が所定数未満であると判定した場合（ステップＳ１１４：ＮＯ）、ＣＰＵ２１は、隣接した他の第１区分に対応した特徴量データベースから湾曲度及び高さを読み出す（ステップＳ１２０）。そして、ＣＰＵ２１は、読み出された湾曲度等が所定数以上であるか否かを判定する（ステップＳ１２１）。
読み出された湾曲度等が所定数以上であると判定した場合（ステップＳ１２１：ＹＥＳ）、ＣＰＵ２１は、読み出された湾曲度及び高さに基づいて眼の開閉状態を特定するための閾値を推定する（ステップＳ１２２）。【００９４】
図１８は、閾値の推定方法を概念的に示す説明図である。図１８（ａ）は、顔が正面を向いている状態での眼の形状を示している。
図１８（ｂ）は、顔が上向きの状態での眼の形状を示している。該眼の形状は、正面向きの場合に比べて湾曲度が大きく、眼の高さが大きい傾向がある。
図１８（ｃ）は、顔が左向きの場合、図１８（ｄ）は顔が下向きの場合の眼の形状を示している。該眼の形状は、正面向きの場合に比べて湾曲度が小さく、眼の高さが小さい傾向がある。【００９５】
ＨＤ２３は、顔の向きに応じた眼の開度の大小関係をＨＤ２３に記憶しており、ＣＰＵ２１は、正面向きに対応する特徴量データベースに蓄積された湾曲度及び高さと、前記大小関係とに基づいて、他の顔の向きにおける眼の開閉状態を判定するための推定閾値を算出する。【００９６】
次いで、ＣＰＵ２１は、現フレームで算出された眼の湾曲度が推定閾値より大きく、且つ眼の高さが推定閾値より大きいか否かを判定する（ステップＳ１２３）。眼の湾曲度及び高さが夫々推定閾値より大きいと判定した場合（ステップＳ１２３：ＹＥＳ）、ＣＰＵ２１は、開状態であることを記憶し（ステップＳ１２４）、開閉状態の判定に係る処理を終える。眼の湾曲度又は高さが推定閾値以下である場合（ステップＳ１２３：ＮＯ）、ＣＰＵ２１は、閉状態であることを記憶し（ステップＳ１２５）、開閉状態の判定に係る処理を終える。【００９７】
ステップＳ１２１で湾曲度等が所定数未満であると判定した場合（ステップＳ１２１：ＮＯ）、ＣＰＵ２１は、湾曲度及び高さが蓄積されている他の第１区分があるか否かを判定する（ステップＳ１２６）。他の第１区分があると判定した場合（ステップＳ１２６：ＹＥＳ）、ＣＰＵ２１は、処理をステップＳ１２０に戻す。【００９８】
他の第１区分が無いと判定した場合（ステップＳ１２６：ＮＯ）、ＣＰＵ２１は、眼の湾曲度及び高さに係る固定閾値をＨＤ２３から読み出す（ステップＳ１２７）。【００９９】
そして、ＣＰＵ２１は、現フレームで算出された眼の湾曲度が固定閾値より大きく、且つ眼の高さが固定閾値より大きいか否かを判定する（ステップＳ１２８）。眼の湾曲度及び高さが夫々固定閾値より大きいと判定した場合（ステップＳ１２８：ＹＥＳ）、ＣＰＵ２１は、開状態であることを記憶し（ステップＳ１２９）、開閉状態の判定に係る処理を終える。眼の湾曲度又は高さが固定閾値以下である場合（ステップＳ１２８：ＮＯ）、ＣＰＵ２１は、閉状態であることを記憶し（ステップＳ１３０）、開閉状態の判定に係る処理を終える。【０１００】
本実施の形態に係る画像処理方法、画像処理装置、画像処理システム及びコンピュータプログラムにあっては、顔の向きに夫々対応した特徴量データベースを用意し、過去に算出された特徴量を顔の向きに対応付けて蓄積し、蓄積された特徴量に基づいて、現フレームにおける特徴量を正規化して閾値と比較するように構成してあるため、個人差及び顔の向きに関わらず顔部位を正確に認識することができる。特に、個人差及び顔の向きに関わらず眼の位置及び眼の開閉状態を正確に認識することができる。【０１０１】
また、特徴量データベースに蓄積された特徴量に基づいて平均値、分散等を算出して標準測度を算出する構成であるため、特殊な装置、例えば専用ＬＳＩを使用せずとも、一般的な演算処理で顔部位の認識精度を向上させることができる。【０１０２】
更に、顔部位の認識開始直後であって、特徴量が十分に蓄積されていない場合であっても、他の顔の向きで蓄積されている特徴量を用いて閾値を推定する構成であるため、顔部位の誤認識を回避することができ、顔部位を正確に認識することができる。【０１０３】
更にまた、顔の向きを第１区分及び第２区分に分割して特徴量データベースを管理しているため、顔部位の認識基準、例えば閾値が顔の向きによって急激に変化することを回避することができ、顔部位の認識精度を向上させることができる。【０１０４】
なお、実施の形態では、特徴量データベースに蓄積された特徴量に基づいて、特徴量を正規化し閾値処理を実行しているが、特徴量の平均値及び分散値に基づいて閾値を増減させるように構成しても良い。例えば、閾値に標準偏差を乗算し、平均値を加算することによって閾値を増減させるように構成しても良い。このように閾値を増減させる場合も、実施の形態と同様の効果を得ることができる。【０１０５】
また、顔の向きを５×９に区分して特徴量を蓄積するように構成してあるが、顔の向きの区分方法は一例であり、必要に応じて区分数を増減させても良い。【０１０６】
更に、顔部位の特徴量毎に、顔の向きの区分数が異なるように構成しても良い。例えば、上瞼の湾曲度を蓄積する特徴量データベースは、９×９に区分された顔の向きに夫々対応させ、他の特徴量を蓄積する特徴量データベースは、５×９に区分された顔の向きに夫々対応させるように構成しても良い。但し、個人差及び顔の向きに対応するための情報が顔の向きによって急激に変化することを防止すべく、十分な特徴量を特徴量データベースに蓄積する必要がある。【０１０７】
更にまた、特徴量が蓄積される第１区分と、特徴量が蓄積されない第２区分とを設けてあるが、閾値を精度良く設定する必要があるような場合、全区分に特徴量データベースを対応付けるように構成しても良い。
【図１】
2008142740.tif 000003
【図２】
2008142740.tif 000004
【図３】
2008142740.tif 000005
【図４】
2008142740.tif 000006
【図５】
2008142740.tif 000007
【図６】
2008142740.tif 000008
【図７】
2008142740.tif 000009
【図８】
2008142740.tif 000010
【図９】
2008142740.tif 000011
【図１０】
2008142740.tif 000012
【図１１】
2008142740.tif 000013
【図１２】
2008142740.tif 000014
【図１３】
2008142740.tif 000015
【図１４】
2008142740.tif 000016
【図１５】
2008142740.tif 000017
【図１６】
2008142740.tif 000018
【図１７】
2008142740.tif 000019
【図１８】
2008142740.tif 000020
【国際調査報告】
2008142740.tif 000021
2008142740.tif 000022
2008142740.tif 000023