(57)【要約】      （修正有）【課題】画像データから検出対象物を少ない処理時間でかつ高精度に検出できるようにする画像解析装置、方法及びプログラムを提供する。【解決手段】画像解析装置２は、基準位置決定部において、顔領域抽出部により矩形枠Ｅ１により抽出されたドライバの顔を含む画像領域から、粗探索により例えば顔の複数の目と鼻の特徴点を検出し、この検出された各器官の特徴点をもとにドライバの顔の眉間の位置を検出してこれを顔の基準位置Ｂに決定する。そして、顔領域再抽出部により、上記決定された顔の基準位置Ｂが矩形枠の中心となるように画像データに対する矩形枠の位置を補正し、この位置が補正された矩形枠を用いて上記画像データから顔を含む画像領域を再抽出する。【選択図】図１
2019185469.tif 000002
【特許請求の範囲】
【請求項１】
検出対象物を含む範囲を撮像して得られた画像を取得する画像取得部と、
前記取得された画像から、前記検出対象物が存在する領域の部分画像を、当該部分画像を囲む所定サイズの抽出枠により抽出する部分画像抽出部と、
前記抽出された部分画像から前記検出対象物の特徴点の位置を検出し、当該特徴点の位置をもとに前記検出対象物の基準位置を決定する基準位置決定部と、
前記決定された基準位置に基づいて、前記抽出枠による前記部分画像の抽出位置を補正し、当該補正された抽出位置において前記抽出枠により前記部分画像を再抽出する再抽出部と、
前記再抽出された部分画像から、前記検出対象物の状態を検出する状態検出部と
を具備する画像解析装置。
【請求項２】
前記画像取得部は、人の顔を含む範囲を撮像して得られた画像を取得し、
前記部分画像抽出部は、前記取得された画像から、前記人の顔が存在する領域の部分画像を、当該部分画像を囲む所定サイズの抽出枠により抽出し、
基準位置決定部は、前記抽出された部分画像から前記人の顔の複数の器官に対応する特徴点の位置をそれぞれ検出し、当該検出された各特徴点の位置に基づいて前記人の顔の中心線上の任意の位置を前記基準位置として決定し、
再抽出部は、前記決定された基準位置に基づいて、前記抽出枠による前記部分画像の抽出位置を、前記部分画像の基準位置が前記抽出枠の中心となるように補正し、当該補正された抽出位置において前記抽出枠に含まれるより前記部分画像を再抽出し、
前記状態検出部は、前記再抽出された部分画像から前記人の顔の状態を検出する
請求項１に記載の画像解析装置。
【請求項３】
前記基準位置決定部は、前記人の顔の眉間の位置、鼻の頂点、口中央点、前記眉間の位置と前記鼻の頂点との中間点、眉間の位置と口中央点との中間点、および、眉間の位置と鼻頂点と口中央点の平均的位置のうちのいずれかを前記基準位置として決定する、請求項２に記載の画像解析装置。
【請求項４】
前記基準位置決定部は、前記抽出された部分画像から前記検出対象物の特徴点の位置を第１の探索精度で探索し、当該探索された特徴点に基づいて前記検出対象物の基準位置を決定し、
前記状態検出部は、前記再抽出された部分画像から、前記検出対象物の特徴点を前記第１の探索精度より高い第２の探索精度で探索し、当該探索された特徴点に基づいて前記検出対象物の状態を検出する、
請求項１乃至３のいずれかに記載の画像解析装置。
【請求項５】
前記状態検出部により検出された前記検出対象物の状態を表す情報を出力する出力部を、さらに備える、請求項１乃至４のいずれかに記載の画像解析装置。
【請求項６】
ハードウェアプロセッサおよびメモリを有する画像解析装置が実行する画像解析方法であって、
前記画像解析装置が、検出対象物を含む範囲を撮像して得られた画像を取得する過程と、
前記画像解析装置が、前記取得された画像から、前記検出対象物が存在する領域の部分画像を、当該部分画像を囲む所定サイズの抽出枠により抽出する過程と、
前記画像解析装置が、前記抽出された部分画像から前記検出対象物の特徴点の位置を検出し、当該特徴点の位置をもとに前記検出対象物の基準位置を決定する過程と、
前記画像解析装置が、前記決定された基準位置に基づいて、前記抽出枠による前記部分画像の抽出位置を補正し、当該補正された抽出位置において前記抽出枠により前記部分画像を再抽出する過程と、
前記画像解析装置が、前記再抽出された部分画像から、前記検出対象物の特徴を表す情報を検出する過程と
を具備する画像解析方法。
【請求項７】
請求項１乃至５のいずれかに記載の画像解析装置が具備する前記各部の処理を、前記画像解析装置が備えるハードウェアプロセッサに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明の実施形態は、例えば、撮像された画像から人の顔等の検出対象物を検出するために使用される画像解析装置、方法およびプログラムに関する。
【背景技術】
【０００２】
例えば、ドライバモニタリング等の監視分野において、カメラにより撮像された画像から人の顔を検出し、検出された顔について目や鼻、口などの複数の器官の位置を検出し、その検出結果をもとに人の顔の向き等を推定する技術が提案されている。
【０００３】
撮像画像から人の顔を検出する手法としては、例えばテンプレートマッチング等の公知の画像処理技術が知られている。例えば、その第１の手法は、撮像画像に対しテンプレートの位置を所定数の画素間隔でステップ的に移動させながら、上記撮像画像からテンプレートの画像との一致の度合いが閾値以上となる画像領域を検出し、この検出された画像領域を例えば矩形の枠により抽出することにより、人の顔を検出するものである。
【０００４】
また、例えば第２の手法は、人の顔の中の眉間を、眉間検出用として予め用意されたテンプレートを用いて探索し、探索された眉間の位置を中心として所定の大きさの矩形枠により対象画像を抽出するものである（例えば特許文献１を参照）
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−１８５６１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところが、第１の手法では、テンプレートのマッチング回数を減らして検出に要する時間を短縮するために、一般に撮像画像に対するテンプレートの位置のステップ間隔が撮像画像の画素間隔よりも大きく設定される。このため、矩形枠と当該矩形枠により抽出された人の顔との位置関係にばらつきが発生することがある。矩形枠内における人の顔の位置にばらつきが発生すると、上記抽出された人の顔の画像から目や鼻、口、顔の輪郭等の各器官の位置等を推定しようとする場合に、推定に必要な器官を漏れなく検出できなくなったり誤検出を起こすことが考えられ、推定精度の低下を招く。
【０００７】
また第２の手法では、撮像画像から眉間の位置を中心として人の顔を抽出するものであるため、矩形枠と人の顔との位置関係にばらつきは発生し難く、顔の各器官等を安定的に抽出することが可能である。しかし、眉間を検出するためのテンプレートマッチング処理に多くの処理ステップと処理時間が必要となるため、装置の処理負荷が増大し、また検出遅延が発生し易くなる。
【０００８】
この発明は上記事情に着目してなされたもので、画像データから検出対象物を少ない処理時間でかつ高精度に検出できるようにした技術を提供しようとするものである。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、この発明に係る画像解析装置またはこの画像解析装置が実行する画像解析方法の第１の態様は、検出対象物を含む範囲を撮像して得られた画像を取得し、前記取得された画像から、前記検出対象物が存在する領域の部分画像を当該部分画像を囲む所定サイズの抽出枠により抽出し、前記抽出された部分画像から前記検出対象物の基準位置を決定し、前記決定された基準位置に基づいて前記抽出枠による前記部分画像の抽出位置を補正し、当該補正された抽出位置において前記抽出枠により前記部分画像を再抽出し、前記再抽出された部分画像から前記検出対象物の状態を検出するようにしたものである。
【００１０】
第１の態様によれば、例えば、抽出枠による部分画像の抽出位置にばらつきが発生しても、当該抽出位置は検出対象物の基準位置に基づいて補正され、この補正された抽出位置に従い上記部分画像が再抽出される。このため、上記抽出位置のばらつきの影響は軽減され、これにより部分画像から検出対象物の状態を検出する際の検出精度を高めることが可能となる。また、上記検出対象物の基準位置は、上記ばらつきがある状態で抽出された部分画像をもとに決定される。このため、取得画像から検出対象物の基準位置を探索する場合に比べ、部分画像を抽出するために必要な処理時間および処理負荷を短縮および軽減することが可能となる。
【００１１】
この発明に係る装置の第２の態様は、画像取得部により、人の顔を含む範囲を撮像して得られた画像を取得し、部分画像抽出部により、前記取得された画像から、前記人の顔が存在する領域の部分画像を当該部分画像を囲む所定サイズの抽出枠により抽出する。そして、基準位置決定部により、前記抽出された部分画像から前記人の顔の複数の器官に対応する特徴点の位置をそれぞれ検出して、当該検出された各特徴点の位置に基づいて前記人の顔の中心線上の任意の位置を前記基準位置として決定し、再抽出部により、前記決定された基準位置に基づいて、前記抽出枠による前記部分画像の抽出位置を、前記部分画像の基準位置が前記抽出枠の中心となるように補正した後、当該補正された抽出位置において前記抽出枠により前記部分画像を再抽出し、状態検出部により、前記再抽出された部分画像から前記人の顔の状態を検出するようにしたものである。
【００１２】
一例として、前記基準位置決定部は、前記人の顔の眉間の位置、鼻の頂点、口中央点、前記眉間の位置と前記鼻の頂点との中間点、眉間の位置と口中央点との中間点、および、眉間の位置と鼻頂点と口中央点の平均的位置のうちのいずれかを、前記基準位置として決定する。
【００１３】
第２の態様によれば、例えばドライバモニタリングのように人の顔を検出してその状態を検出する場合に、抽出枠による顔画像の抽出位置にばらつきが発生しても、当該抽出位置は顔の中心線上の任意の位置を基準位置として補正され、この補正された抽出位置に従い上記顔画像が再抽出される。このため、上記抽出位置のばらつきの影響は軽減され、これにより顔の状態を高精度に検出することが可能となる。また、上記顔の中心線上の任意の位置の検出が、上記ばらつきがある状態で抽出された部分画像をもとに決定される。このため、取得画像から顔の中心線上の任意の位置を探索する場合に比べ、探索に必要な処理時間を短縮しかつ装置の処理負荷を軽減することが可能となる。
【００１４】
この発明に係る装置の第３の態様は、基準位置検出部により、前記抽出された部分画像から前記検出対象物の特徴点の位置を第１の探索精度で探索し、当該探索された特徴点に基づいて前記検出対象物の基準位置を決定し、特徴検出部により、前記再抽出された部分画像から前記検出対象物の特徴点を前記第１の探索精度より高い第２の探索精度で探索し、当該探索された特徴点に基づいて前記検出対象物の状態を検出するようにしたものである。
【００１５】
第３の態様によれば、検出対象物の基準位置を決定するために部分画像から検出対象物の特徴点の位置を探索する処理が、検出対象物の状態を検出するために部分画像から前記検出対象物の特徴点を探索する処理に比べ、精度の低い探索処理で行われる。このため、基準位置を決定するための特徴点探索に必要な処理時間と処理負荷をさらに短縮および軽減することができる。
【００１６】
この発明に係る装置の第４の態様は、前記検出された前記検出対象物の状態を表す情報を出力する出力部をさらに備えるものである。  
この発明の第４の態様によれば、前記検出対象物の状態を表す情報をもとに、例えば外部装置が検出対象物の状態を把握して当該状態に適した処置を講じることが可能となる。
【発明の効果】
【００１７】
すなわちこの発明の各態様によれば、画像データから検出対象物を少ない処理時間で高い精度で検出できるようにした技術を提供することができる。
【図面の簡単な説明】
【００１８】
【図１】図１は、この発明の一実施形態に係る画像解析装置の一適用例を説明するための図である。
【図２】図２は、この発明の一実施形態に係る画像解析装置のハードウェアの構成の一例を示すブロック図である。
【図３】図３は、この発明の一実施形態に係る画像解析装置のソフトウェアの構成の一例を示すブロック図である。
【図４】図４は、図３に示した画像解析装置による学習処理の手順と処理内容の一例を示すフローチャートである。
【図５】図５は、図３に示した画像解析装置による画像解析処理の処理手順と処理内容の一例を示すフローチャートである。
【図６】図６は、図５に示した画像解析処理のうち特徴点探索処理の処理手順と処理内容の一例を示すフローチャートである。
【図７】図７は、図３に示した画像解析装置の顔領域抽出部の動作例を説明するための図である。
【図８】図８は、図３に示した画像解析装置の顔領域抽出部により抽出された顔領域の一例を示す図である。
【図９】図９は、図３に示した画像解析装置の基準位置決定部により決定された基準位置の一例を示す図である。
【図１０】図１０は、図３に示した画像解析装置の顔領域再抽出部により再抽出された顔領域の一例を示す図である。
【図１１】図１１は、顔画像から抽出された特徴点の一例を示す図である。
【図１２】図１２は、顔画像から抽出された特徴点を三次元表示した例を示す図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照してこの発明に係わる実施形態を説明する。  
［適用例］
先ず、この発明の実施形態に係る画像解析装置の一適用例について説明する。  
この発明の実施形態に係る画像解析装置は、例えば、ドライバの顔の状態（例えば顔の向き）を監視するドライバモニタリング装置に使用されるもので、例えば図１に示すように構成される。
【００２０】
画像解析装置２はカメラ１に接続され、カメラ１から出力された画像信号を取得する画像取得部３と、顔検出部４と、顔状態検出部５とを備えている。カメラ１は、例えば運転席と対向する位置に設置され、運転席に着座しているドライバの顔を含む所定の範囲を一定のフレーム周期で撮像し、その画像信号を出力する。
【００２１】
画像取得部３は、例えば、上記カメラ１から出力される画像信号を順次受信し、受信した画像信号をフレームごとにデジタル信号からなる画像データに変換して画像メモリに保存する。
【００２２】
顔検出部４は、顔領域抽出部４ａと、基準位置決定部４ｂと、顔領域再抽出部４ｃとを備えている。顔領域抽出部４ａは、上記画像取得部３により取得された画像データをフレームごとに上記画像メモリから読み出し、当該画像データからドライバの顔を含む画像領域（部分画像）を抽出する。例えば、顔領域抽出部４ａはテンプレートマッチング法を採用し、画像データに対し基準テンプレートの位置を所定数の画素間隔でステップ的に移動させながら、上記画像データから基準テンプレートの画像との一致の度合いが閾値以上となる画像領域を検出し、この検出された画像領域を矩形枠により抽出する。
【００２３】
基準位置決定部４ｂは、上記矩形枠により抽出された顔を含む画像領域から、先ず粗探索により、顔の所定の器官、例えば目や鼻の特徴点を検出する。そして、検出された各器官の特徴点の位置をもとに例えば顔の眉間の位置を検出し、この眉間の位置を顔の基準位置として決定する。
【００２４】
粗探索は、例えば、検出対象の特徴点を例えば目と鼻のみというように少数に限定して、特徴点配置ベクトルの次元数の少ない三次元顔形状モデルを使用する。そして、上記矩形枠により抽出された顔の画像領域に対し上記粗探索用の三次元顔形状モデルを射影することにより、上記顔画像領域から上記各器官の特徴量を取得し、取得された特徴量の正解値に対する誤差量と、当該誤差量が閾値以内となるときの三次元顔形状モデルに基づいて、上記顔画像領域における上記限定された各特徴点の概略的な位置を推定する。
【００２５】
顔領域再抽出部４ｃは、上記基準位置決定部４ｂにより決定された基準位置をもとに、画像データに対する矩形枠の位置を補正する。例えば、顔領域再抽出部４ｃは、上記基準位置決定部４ｂにより検出された眉間の位置が矩形枠の左右方向の中心となるように、上記画像データに対する矩形枠の位置を補正する。そして、上記画像データから、上記位置が調整された矩形枠内に含まれる画像領域を再抽出する。
【００２６】
顔状態検出部５は、例えば、上記顔領域再抽出部４ｃにより再抽出された顔を含む画像領域から、ドライバの顔の複数の器官、例えば目、鼻、口、顔の輪郭の位置と、顔の向きを、詳細探索により検出する。そして、上記検出された顔の各器官の位置と顔の向きを表す情報を、ドライバの顔の状態を表す情報として出力する。
【００２７】
詳細探索は、例えば、検出対象の特徴点を目や鼻、口、頬骨等に対し多数設定して、特徴点配置ベクトルの次元数の多い三次元顔形状モデルを使用する。そして、上記矩形枠により再抽出された顔の画像領域に対し上記詳細探索用の三次元顔形状モデルを射影することにより、上記顔画像領域から上記各器官の特徴量を取得し、取得された特徴量の正解値に対する誤差量と、当該誤差量が閾値以内となるときの三次元顔形状モデルに基づいて、上記顔画像領域における上記多数の特徴点の位置を推定する。
【００２８】
以上のような構成であるから、画像解析装置２では、画像取得部３により取得された画像データから、先ず顔領域抽出部４ａにおいて例えばテンプレートマッチング法により、ドライバの顔を含む画像領域が矩形枠Ｅ１により抽出される。このとき、上記テンプレートのステップ間隔は、例えば複数画素相当の粗い間隔に設定される場合が多い。このため、上記顔を含む画像領域の矩形枠Ｅ１による抽出位置は、上記ステップ間隔に起因するばらつきが発生する場合がある。そして、ばらつきの大きさによっては、例えば図１に示すように、顔の一部の器官が矩形枠Ｅ１内に含まれなくなる場合がある。
【００２９】
しかしながら画像解析装置２では、基準位置決定部４ｂにおいて、上記矩形枠Ｅ１により抽出された顔を含む画像領域から、粗探索により顔の複数の器官（例えば目と鼻）の特徴点が検出され、この検出された各器官の特徴点をもとに、例えば図１に示すように顔の眉間の位置Ｂが検出される。そして、顔領域再抽出部４ｃにより、上記決定された眉間の位置Ｂを顔の基準位置として矩形枠Ｅ１の位置が補正される。例えば、上記眉間の位置Ｂが矩形枠の左右方向の中心となるように、上記画像データに対する矩形枠Ｅ１の位置が補正される。そして、上記位置が補正された矩形枠を用いて、上記画像データから顔を含む画像領域が再抽出される。図１のＥ２は上記補正後の矩形枠の位置の一例を示す。
【００３０】
次に画像解析装置２では、顔状態検出部５において、上記再抽出された顔を含む画像領域から、ドライバの顔の目、鼻、口、顔の輪郭等の位置と、顔の向きが検出される。そして、上記検出された顔の各器官の位置と顔の向きを表す情報が、ドライバの顔の状態を表す情報として出力される。
【００３１】
従って、この発明の一実施形態では、矩形枠による顔を含む画像領域の抽出位置にばらつきが発生し、これにより顔の一部の器官が矩形枠内に含まれなくても、このときに抽出された画像領域に含まれる顔の器官の位置をもとに基準位置が決定され、この基準位置に基づいて画像データに対する矩形枠の位置が補正され、顔を含む画像領域が抽出し直される。このため、矩形枠により抽出される画像領域には、顔向き等の検出に必要な顔の器官を漏れなく含めることが可能となり、これにより顔向き等の顔の状態を高精度に検出することが可能となる。また、上記基準位置を決定するために必要な顔の器官の検出には粗探索が用いられる。このため、撮像された画像データから直接的に顔の基準位置を探索する場合に比べて、少ない画像処理量で短時間に基準位置を決定することができる。
【００３２】
［第１の実施形態］
（構成例）
（１）システム
この発明の一実施形態に係る画像解析装置は、例えば、ドライバの顔の状態を監視するドライバモニタリングシステムにおいて使用される。この例では、ドライバモニタリングシステムは、カメラ１と、画像解析装置２とを備える。
【００３３】
カメラ１は、例えば、ダッシュボードの運転者と正対する位置に配置される。カメラ１は、撮像デバイスとして例えば近赤外光を受光可能なＣＭＯＳ（Complementary MOS）イメージセンサを使用する。カメラ１は、ドライバの顔を含む所定の範囲を撮像してその画像信号を、例えば信号ケーブルを介して画像解析装置２へ送出する。なお、撮像デバイスとしては、ＣＣＤ（Charge Coupled Device）等の他の固体撮像素子を用いてもよい。またカメラ１の設置位置は、フロントガラスやルームミラー等のようにドライバと正対する場所であれば、どこに設定されてもよい。
【００３４】
（２）画像解析装置
画像解析装置２は、上記カメラ１により得られた画像信号からドライバの顔画像領域を検出し、この顔画像領域をもとにドライバの顔の状態、例えば顔の向きを検出するものである。
【００３５】
（２−１）ハードウェア構成
図２は、画像解析装置２のハードウェア構成の一例を示すブロック図である。  
画像解析装置２は、例えば、ＣＰＵ（Central Processing Unit）等のハードウェアプロセッサ１１Ａを有する。そして、このハードウェアプロセッサ１１Ａに対し、プログラムメモリ１１Ｂ、データメモリ１３、カメラインタフェース１４、外部インタフェース１５を、バス１２を介して接続したものとなっている。
【００３６】
カメラインタフェース１４は、上記カメラ１から出力された画像信号を、信号ケーブルを介して受信する。外部インタフェース１５は、顔の状態の検出結果を表す情報を、例えば脇見や眠気を判定するドライバ状態判定装置や、車両の動作を制御する自動運転制御装置等の外部装置へ出力する。
【００３７】
なお、車内にＬＡＮ（Local Area Network）等の車内有線ネットワークや、Bluetooth（登録商標）等の小電力無線データ通信規格を採用した車内無線ネットワークが備えられている場合には、上記カメラ１とカメラインタフェース１４との間、および外部インタフェース１５と外部装置との間の信号伝送を、上記ネットワークを用いて行ってもよい。
【００３８】
プログラムメモリ１１Ｂは、記憶媒体として、例えば、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）等の随時書込みおよび読出しが可能な不揮発性メモリと、ＲＯＭ等の不揮発性メモリとを使用したもので、一実施形態に係る各種制御処理を実行するために必要なプログラムが格納されている。
【００３９】
データメモリ１３は、例えば、ＨＤＤまたはＳＳＤ等の随時書込みおよび読出しが可能な不揮発性メモリと、ＲＡＭ等の揮発性メモリとを組み合わせたものを記憶媒体として備え、一実施形態に係る各種処理を実行する過程で取得、検出および算出された各種データや、テンプレートデータ等を記憶するために用いられる。
【００４０】
（２−２）ソフトウェア構成
図３は、この発明の一実施形態に係る画像解析装置２のソフトウェア構成を示したブロック図である。  
データメモリ１３の記憶領域には、画像記憶部１３１と、テンプレート記憶部１３２と、顔領域記憶部１３３が設けられている。画像記憶部１３１は、カメラ１から取得した画像データを一旦記憶するために用いられる。テンプレート記憶部１３２には、画像データから顔が映っている画像領域を抽出するための基準テンプレートや、抽出された顔の画像領域から顔の所定の器官の位置を検出するための粗探索用および詳細探索用の各三次元顔形状モデルが記憶される。顔領域記憶部１３３は、画像データから再抽出された顔の画像領域を一旦記憶するために用いられる。
【００４１】
制御ユニット１１は、上記ハードウェアプロセッサ１１Ａと、上記プログラムメモリ１１Ｂとから構成され、ソフトウェアによる処理機能部として、画像取得制御部１１１と、顔領域抽出部１１２と、基準位置決定部１１３と、顔領域再抽出部１１４と、顔状態検出部１１５と、出力制御部１１６とを備えている。これらの処理機能部は、いずれもプログラムメモリ１１Ｂに格納されたプログラムを、上記ハードウェアプロセッサ１１Ａに実行させることにより実現される。
【００４２】
上記カメラ１から出力された画像信号は、フレームごとにカメラインタフェース１４で受信されて、デジタル信号からなる画像データに変換される。画像取得制御部１１１は、上記カメラインタフェース１４から、上記画像データをフレームごとに取り込んでデータメモリ１３の画像記憶部１３１に記憶する処理を行う。
【００４３】
顔領域抽出部１１２は、上記画像記憶部１３１から画像データをフレームごとに読み出し、テンプレート記憶部１３２に記憶されている顔の基準テンプレートを用いて、上記読み出した画像データからドライバの顔が映っている画像領域を抽出する。例えば、顔領域抽出部１１２は、画像データに対し基準テンプレートを予め設定した複数の画素間隔（例えば８画素）でステップ的に移動させ、移動した位置ごとに基準テンプレートと画像データとの輝度の相関値を算出する。そして、算出された相関値を予め設定されている閾値と比較し、算出された相関値が閾値以上のステップ位置に対応する画像領域を、ドライバの顔が映っている顔領域として、矩形枠により抽出する処理を行う。矩形枠のサイズは、撮像画像に写るドライバの顔のサイズに応じて予め設定されている。
【００４４】
なお、上記顔の基準テンプレート画像としては、例えば、顔全体の輪郭に対応した基準テンプレートや、顔の各器官（目、鼻、口など）に基づくテンプレートを用いることができる。また、テンプレートマッチングによる顔抽出の方法としては、例えば、クロマキー処理によって頭部などの頂点を検出しこの頂点に基づいて顔を検出する方法や、肌の色に近い領域を検出してその領域を顔として検出する方法等も用いることができる。さらに顔領域抽出部１１２は、ニューラルネットワークを使って教師信号による学習を行い、顔らしい領域を顔として検出するように構成されてもよい。また、顔領域抽出部１１２による顔検出処理は、その他、既存のどのような技術が適用されることによって実現されてもよい。
【００４５】
基準位置決定部１１３は、例えば、上記顔領域抽出部１１２により矩形枠により抽出された画像領域（部分画像データ）から、テンプレート記憶部１３２に記憶された粗探索用の三次元顔形状モデルを用いて、ドライバの顔の所定の器官、例えば目と鼻に係る特徴点を検出する。
【００４６】
粗探索は、例えば、検出対象の特徴点を例えば目と鼻のみまたは目のみに限定的に設定し、特徴点配置ベクトルの次元数の少ない三次元顔形状モデルを使用する。粗探索用の三次元顔形状モデルは、例えばドライバの実際の顔に応じて学習処理により生成される。なお、粗探索用の三次元顔形状モデルは、一般的な顔画像から取得される平均的な初期パラメータが設定されたモデルを使用してもよい。
【００４７】
粗探索では、上記顔領域抽出部１１２において矩形枠により抽出された顔画像領域に対し上記粗探索用の三次元顔形状モデルを射影して、当該三次元顔形状モデルに基づいたサンプリングを実施し、上記顔画像領域からサンプリング特徴量を取得する。そして、上記取得されたサンプリング特徴量と正解モデルパラメータとの誤差が算出され、この誤差が閾値以下になるときのモデルパラメータが上記サンプリング特徴点の推定結果として出力される。粗探索では、上記閾値を詳細探索の場合より大きな値に、つまり誤差の許容量を大きく設定した値に設定される。
【００４８】
なお、粗探索用の三次元顔形状モデルとしては、例えば、顔領域抽出部１１２において使用される矩形枠の任意の頂点（例えば左上の角）から所定の位置に顔形状モデルの所定のノードが配置されるような形状が用いられてもよい。
【００４９】
基準位置決定部１１３は、上記粗探索により検出されたドライバの顔の所定の器官に係る特徴点の位置に基づいて、ドライバの顔の基準点を決定する。例えば、基準位置決定部１１３は、ドライバの顔の両目の特徴点の位置と鼻の特徴点の位置をもとに眉間の位置を推定する。そして、この眉間の位置をドライバの顔の基準位置として決定する。
【００５０】
顔領域再抽出部１１４は、上記基準位置決定部１１３により決定された基準位置をもとに、画像データに対する矩形枠の位置を補正する。例えば、顔領域再抽出部１１４は、上記基準位置決定部１１３により検出された眉間の位置が矩形枠の左右方向の中心となるように、上記画像データに対する矩形枠の位置を補正する。そして顔領域再抽出部１１４は、上記画像データから、上記位置が補正された矩形枠で囲まれた画像領域を再抽出する。
【００５１】
顔状態検出部１１５は、例えば、上記顔領域再抽出部１１４により再抽出された顔の画像領域から、ドライバの顔の複数の器官、例えば目、鼻、口等に係る複数の特徴点の位置を、詳細探索用の三次元顔形状モデルを用いて検出する。ここでの検出処理には詳細探索が用いられる。
【００５２】
詳細探索は、例えば、検出対象として目、鼻、口、頬骨等に対応する多数の特徴点を設定し、特徴点配置ベクトルの次元数の多い三次元顔形状モデルを使用する。また、この詳細探索用の三次元顔形状モデルとしては、ドライバの顔の複数の向きに対応する複数のモデルが用意される。例えば、顔の正面方向、斜め右方向、斜め左方向、斜め上方向、斜め下方向等の代表的な顔の向きに対応するモデルが用意される。なお、顔向きを横方向と上下方向の２つの軸方向にそれぞれ一定の角度おきに定義し、これらの各軸の全ての角度の組み合わせに対応する三次元顔形状モデルを用意するようにしてもよい。
【００５３】
さらに、一実施形態では顔画像領域の抽出に矩形枠が使用されるので、三次元顔形状モデルは、矩形枠の任意の頂点（例えば左上の角）から所定の位置に検出対象の上記各特徴点が配置されるような形状に設定されてもよい。
【００５４】
詳細探索は、例えば、上記顔領域再抽出部１１４において矩形枠により再抽出された顔画像領域に対し上記詳細探索用の三次元顔形状モデルを射影して、レティナ構造に基づくサンプリングを実施し、上記顔画像領域からサンプリング特徴量を取得する。レティナ構造とは、ある着目した特徴点（ノード）の周囲に放射状に離散的に配置されたサンプリング点の構造のことである。
【００５５】
詳細探索は、上記取得されたサンプリング特徴量と正解モデルパラメータとの誤差量を算出し、この誤差量が閾値以下になるときのモデルパラメータを上記サンプリング特徴点の推定結果として出力する。詳細探索では、上記閾値として、誤差の許容量が小さくなるように設定された値が用いられる。
【００５６】
顔状態検出部１１５は、上記検出された顔の各特徴点の推定位置をもとに顔の向きを推定し、上記各特徴点の推定位置および顔の向きを表す情報を、顔の状態を表す情報として顔領域記憶部１３３に記憶させる。
【００５７】
出力制御部１１６は、上記検出された顔の各ノードの推定位置と顔の向きを表す情報を、顔領域記憶部１３３から読み出し、この読み出した顔の各ノードの位置と顔の向きを表す情報を、外部インタフェース１５から、例えば、居眠りや脇見等のドライバの状態を判定する装置や、車両の運転モードを手動と自動との間で切り替える自動運転制御装置等へ出力する。
【００５８】
（動作例）
次に、以上のように構成された画像解析装置２の動作例を説明する。  
なお、この例では、撮像された画像データから顔が含まれる画像領域を検出する処理に使用する顔の基準テンプレートが、予めテンプレート記憶部１３２に記憶されているものとして説明を行う。
【００５９】
（１）学習処理
先ず、画像解析装置２を動作させるために必要となる学習処理について説明する。この学習処理は、画像解析装置２によって画像データから特徴点の位置を検出するために予め実施しておく必要がある。
【００６０】
学習処理は、画像解析装置２に事前にインストールされた学習処理プログラム（図示省略）により実行される。なお、学習処理を、画像解析装置２以外の、例えばネットワーク上に設けられたサーバ等の情報処理装置において実行し、その学習結果を画像解析装置２にネットワークを介してダウンロードし、テンプレート記憶部１３２に格納するようにしてもよい。
【００６１】
学習処理は、例えば、三次元顔形状モデルの取得処理、三次元顔形状モデルの画像平面への射影処理、特徴量サンプリング処理、および誤差推定行列の取得処理を備える。
【００６２】
学習処理では、複数の学習用顔画像（以下、学習処理の説明において「顔画像」と呼ぶ）と、各顔画像における特徴点の三次元座標が用意される。特徴点は、例えば、レーザスキャナやステレオカメラなどの技術によって取得することができるが、その他どのような技術を用いてもよい。この特徴点抽出処理は、学習処理の精度を高めるためにも、人間の顔を対象として実施されることが望ましい。
【００６３】
図１１は顔の検出対象の特徴点（ノード）の位置を二次元平面で例示した図、図１２は上記特徴点を三次元座標として示した図である。図１１および図１２の例では、目の両端（目頭と目尻）および中心、左右のほお骨部分（眼窩底部分）、鼻の頂点と左右の端点、左右の口角、口の中心、鼻の左右端点と左右の口角との中間点が、特徴点としてそれぞれ設定された場合を示している。
【００６４】
図４は、画像解析装置２により実行される学習処理の処理手順と処理内容の一例を示すフローチャートである。  
（１−１）三次元顔形状モデルの取得
画像解析装置２は、先ずステップＳ０１により変数ｉを定義し、これに１を代入する。次にステップＳ０２において、予め特徴点の三次元位置が取得されている学習用の顔画像のうち、ｉ番目の顔画像（Ｉmg_i）を画像記憶部１３１から読み込む。ここでは、ｉに１が代入されているため１番目の顔画像（Ｉmg_1）が読み込まれる。続いてステップＳ０３により、顔画像Ｉmg_iの特徴点の正解座標の集合を読み出し、正解モデルパラメータｋoptを取得して三次元顔形状モデルの正解モデルを作成する。次に画像解析装置２は、ステップＳ０４により、正解モデルパラメータｋoptに基づいてずれ配置モデルパラメータｋdifを作成し、ずれ配置モデルを作成する。このずれ配置モデルの作成は乱数を発生させて所定の範囲内で正解モデルからずらすことが好ましい。
【００６５】
以上の処理を具体的に説明する。先ず、各特徴点ｐｉの座標を、ｐｉ（ｘｉ，ｙｉ，ｚｉ）とする。このとき、ｉは、１からｎ（ｎは特徴点の数を示す）の値を示す。次に、各顔画像についての特徴点配置ベクトルＸを［数１］のように定義する。ある顔画像ｊについての特徴点配置ベクトルは、Ｘｊと記す。なお、Ｘの次元数は３ｎである。
【００６６】
【数１】
2019185469.tif 000003
【００６７】
ところで、この発明の一実施形態では、粗探索用の三次元顔形状モデルと、詳細探索用の三次元顔形状モデルが必要である。このうち、粗探索用の三次元顔形状モデルは、例えば目と鼻に関する限定された少数の特徴点を探索するために使用されるため、特徴点配置ベクトルＸの次元数Ｘは上記少数の特徴点に対応するものとなる。
【００６８】
一方、詳細探索用の三次元顔形状モデルは、例えば図１１および図１２に例示したように目、鼻、口、頬骨に関する多数の特徴点を探索するために使用されるため、特徴点配置ベクトルＸの次元数Ｘは上記多数の特徴点の数に対応するものとなる。
【００６９】
次に画像解析装置２は、取得された全ての特徴点配置ベクトルＸを、適当な基準に基づき正規化する。このときの正規化の基準は、設計者によって適宜決定されてよい。  
以下、正規化の具体例について説明する。例えば、ある顔画像ｊについての特徴点配置ベクトルＸｊについて、点ｐ１〜ｐｎの重心座標をｐＧとするとき、重心ｐＧを原点とする座標系に各点を移動させた後、［数２］によって定義されるＬｍを用いて、その大きさを正規化することができる。具体的には、Ｌｍによって移動後の座標値を割ることにより、大きさを正規化することができる。ここで、Ｌｍは、重心から各点までの直線距離の平均値である。
【００７０】
【数２】
2019185469.tif 000004
【００７１】
また、回転に対しては、例えば両目の中心を結ぶ直線が一定方向を向くように特徴点座標に対して回転変換を行うことにより、正規化することができる。以上の処理は、回転、拡大・縮小の組み合わせで表現できるため、正規化後の特徴点配置ベクトルｘは［数３］のように表すことができる（相似変換）。
【００７２】
【数３】
2019185469.tif 000005
【００７３】
次に画像解析装置２は、上記正規化特徴点配置ベクトルの集合に対し、主成分分析を行う。主成分分析は例えば以下のように行うことができる。先ず［数４］に示される式に従って、平均ベクトル（平均ベクトルはｘの上部に水平線を記すことにより示される）を取得する。なお、数４において、Ｎは、顔画像の数、即ち特徴点配置ベクトルの数を示す。
【００７４】
【数４】
2019185469.tif 000006
【００７５】
そして、［数５］に示されるように、全ての正規化特徴点配置ベクトルから平均ベクトルを差し引くことにより、差分ベクトルｘ’を取得する。画像ｊについての差分ベクトルは、ｘ’ｊと示される。
【００７６】
【数５】
2019185469.tif 000007
【００７７】
上記した主成分分析の結果、固有ベクトルと固有値との組が３ｎ個得られる。任意の正規化特徴点配置ベクトルは、［数６］に示される式によって表すことができる。
【００７８】
【数６】
2019185469.tif 000008
【００７９】
ここで、Ｐは固有ベクトル行列を示し、ｂは形状パラメータベクトルを示す。それぞれの値は［数７］に示される通りである。なお、ｅｉは、固有ベクトルを示す。
【００８０】
【数７】
2019185469.tif 000009
【００８１】
実際には、固有値の大きい上位ｋ次元までの値を用いることにより、任意の正規化特徴点配置ベクトルｘは［数８］のように近似して表すことができる。以下、固有値の大きい順に、ｅｉを第ｉ主成分と呼ぶ。
【００８２】
【数８】
2019185469.tif 000010
【００８３】
なお、実際の顔画像に顔形状モデルをあてはめる（フィッティングさせる）際には、正規化特徴点配置ベクトルｘに対して相似変換（平行移動，回転）を行う。相似変換のパラメータをｓｘ，ｓｙ，ｓｚ，ｓθ，ｓφ，ｓψとすると、形状パラメータとあわせて、モデルパラメータｋを［数９］のように表すことができる。
【００８４】
【数９】
2019185469.tif 000011
【００８５】
このモデルパラメータｋによって表される三次元顔形状モデルが、ある顔画像上の特徴点位置にほぼ正確に一致する場合に、そのパラメータをその顔画像における三次元正解モデルパラメータと呼ぶ。正確に一致しているか否かは、設計者により設定される閾値や基準に基づいて判断される。
【００８６】
（１−２）射影処理
画像解析装置２は、次にステップＳ０５において、ずれ配置モデルを学習画像上に射影する。  
三次元顔形状モデルは、二次元平面に射影することにより二次元画像上での処理が可能になる。三次元形状を二次元平面に射影する方法としては、平行投影法、透視投影法などの各種の手法が存在する。ここでは、透視投影法のうち単点透視投影を例に説明する。尤も、他のどのような手法を使用しても同様の効果を得ることができる。ｚ＝０平面への単点透視投影行列は、［数１０］に示す通りである。
【００８７】
【数１０】
2019185469.tif 000012
【００８８】
ここで、ｒ＝−１／ｚであり、ｚｃはｚ軸上の投影中心を表す。これにより、三次元座標［ｘ，ｙ，ｚ］は［数１１］に示すように変換され、ｚ＝０平面上の座標系で［数１２］のように表される。
【００８９】
【数１１】
2019185469.tif 000013
【００９０】
【数１２】
2019185469.tif 000014
【００９１】
以上の処理により、三次元顔形状モデルは二次元平面に射影される。
【００９２】
（１−３）特徴量サンプリング
画像解析装置２は、次にステップＳ０６において、上記ずれ配置モデルが射影された二次元顔形状モデルに基づいてレティナ構造を用いたサンプリングを実行し、サンプリング特徴量ｆ_iを取得する。
【００９３】
特徴量のサンプリングは、画像上に射影された顔形状モデルに対し可変レティナ構造を組み合わせることによって行われる。レティナ構造とは、ある着目したい特徴点（ノード）の周囲に放射状に離散的に配置されたサンプリング点の構造のことである。レティナ構造によるサンプリングを実施することにより、特徴点周りの情報を、低次元で効率的にサンプリングすることが可能となる。この学習処理では、三次元顔形状モデルから二次元平面に射影された顔形状モデル（以下、二次元顔形状モデルという）の各ノードの射影点（各点ｐ）において、レティナ構造によるサンプリングが実施される。なお、レティナ構造によるサンプリングとは、レティナ構造に従って定められたサンプリング点においてサンプリングを実施することを云う。
【００９４】
レティナ構造は、ｉ番目のサンプリング点の座標をｑｉ（ｘｉ，ｙｉ）とすると、［数１３］のように表すことができる。
【００９５】
【数１３】
2019185469.tif 000015
【００９６】
従って、例えばある点ｐ（ｘｐ，ｙｐ）について、レティナ構造によるサンプリングを行うことにより得られるレティナ特徴量ｆｐは、［数１４］のように表すことができる。
【００９７】
【数１４】
2019185469.tif 000016
【００９８】
但し、ｆ（ｐ）は、点ｐ（サンプリング点ｐ）での特徴量を示す。また、レティナ構造における各サンプリング点の特徴量は、例えば、画像の輝度、Sovelフィルタ特徴量、Harr Wavelet特徴量、Gabor Wavelet特徴量、これらを複合した値として求められる。詳細探索を行う場合のように、特徴量が多次元の場合、レティナ特徴量は［数１５］のように表すことができる。
【００９９】
【数１５】
2019185469.tif 000017
【０１００】
ここで、Ｄは特徴量の次元数、ｆｄ（ｐ）は、点ｐでの第ｄ次元の特徴量を表す。また、ｑｉ（ｄ）は第ｄ次元に対するレティナ構造の、ｉ番目のサンプリング座標を示す。
【０１０１】
なお、レティナ構造は、顔形状モデルのスケールに応じてその大きさを変化させることができる。例えば、平行移動パラメータｓｚに反比例させて、レティナ構造の大きさを変化させることができる。このとき、レティナ構造ｒは［数１６］のように表すことができる。なお、αは適当な固定値である。またレティナ構造は、顔形状モデルにおける他のパラメータに応じて回転や形状変化させてもよい。またレティナ構造は、顔形状モデルの各ノードによってその形状（構造）が異なるように設定されてもよい。またレティナ構造は中心点一点のみの構造であってもよい。すなわち、特徴点（ノード）のみをサンプリング点とする構造もレティナ構造に含まれる。
【０１０２】
【数１６】
2019185469.tif 000018
【０１０３】
あるモデルパラメータによって定まる三次元顔形状モデルにおいて、射影平面上に射影された各ノードの射影点ごとに上記のサンプリングを行って得られたレティナ特徴量を一列に並べたベクトルを、その三次元顔形状モデルにおけるサンプリング特徴量ｆと呼ぶ。サンプリング特徴量ｆは［数１７］のように表すことができる。［数１７］において、ｎは顔形状モデルにおけるノードの数を示す。
【０１０４】
【数１７】
2019185469.tif 000019
【０１０５】
なお、サンプリング時には、各ノードに対し正規化が行われる。例えば、特徴量が０から１の範囲に収まるようにスケール変換を行うことにより正規化が行われる。また、一定の平均や分散をとるように変換を行うことによって正規化を行ってもよい。なお、特徴量によっては正規化を行わなくても良い場合がある。
【０１０６】
（１−４）誤差推定行列の取得
画像解析装置２は、次にステップＳ０７において、正解モデルパラメータｋoptと、ずれ配置モデルパラメータｋdifとに基づいて、形状モデルの誤差（ずれ）ｄp_iを取得する。ここで、全ての学習用の顔画像について処理が完了したか否かを、ステップＳ０８で判定する。この判定は、例えば、ｉの値と学習用の顔画像の数とを比較することにより判断することができる。未処理の顔画像がある場合、画像解析装置２はステップＳ０９でｉの値をインクリメントし、インクリメントされた新たなｉの値に基づいてステップＳ０２以降の処理を実行する。
【０１０７】
一方、全ての顔画像について処理が完了したと判定した場合、画像解析装置２はステップＳ１０において、各顔画像について得られたサンプリング特徴量ｆ_iと三次元顔形状モデルとの誤差ｄｐ_iの集合について、正準相関分析（Canonical Correlation Analysis）を実行する。そして、予め定められた閾値よりも小さい固定値に対応する不要な相関行列をステップＳ１１で削除し、ステップＳ１２において最終的な誤差推定行列を得る。
【０１０８】
誤差推定行列の取得は、正準相関分析を用いることにより実施される。正準相関分析は、二つの次元の異なる変量間の相関関係を求める手法の一つである。正準相関分析により、顔形状モデルの各ノードが誤った位置（検出すべき特徴点と異なる位置）に配置されてしまった場合に、どの方向に修正すべきかを表す相関関係についての学習結果を得ることができる。
【０１０９】
画像解析装置２は、先ず学習用の顔画像の特徴点の三次元位置情報から三次元顔形状モデルを作成する。または、学習用の顔画像の二次元正解座標点から三次元顔形状モデルを作成する。そして、三次元顔形状モデルから正解モデルパラメータを作成する。この正解モデルパラメータを、乱数などにより一定範囲内でずらすことにより、少なくともいずれかのノードが特徴点の三次元位置からずれているずれ配置モデルを作成する。そして、ずれ配置モデルに基づいて取得したサンプリング特徴量と、ずれ配置モデルと正解モデルとの差とを組として、相関関係についての学習結果を取得する。以下、その具体的な処理を説明する。
【０１１０】
画像解析装置２は、先ず二組の変量ベクトルｘとｙを［数１８］のように定義する。ｘは、ずれ配置モデルに対するサンプリング特徴量を示す。ｙは、正解モデルパラメータ（ｋopt）とずれ配置モデルパラメータ（ずれ配置モデルを示すパラメータ：ｋdif）との差を示す。
【０１１１】
【数１８】
2019185469.tif 000020
【０１１２】
二組の変量ベクトルは、予め次元ごとに平均“０”、分散“１”に正規化される。正規化に用いたパラメータ（各次元の平均、分散）は、後述する特徴点の検出処理において必要となる。以下、それぞれをｘave，ｘvar，ｙave，ｙvarとし、正規化パラメータと呼ぶ。
【０１１３】
次に、二つの変量に対する線形変換を［数１９］のように定義した場合、ｕ，ｖ間の相関を最大にするようなａ，ｂを求める。
【０１１４】
【数１９】
2019185469.tif 000021
【０１１５】
上記ａとｂとは、ｘ，ｙの同時分布を考え、その分散共分散行列Σを［数２０］のように定義した場合に、［数２１］に示す一般固有値問題を解いたときの最大固有値に対する固有ベクトルとして得られる。
【０１１６】
【数２０】
2019185469.tif 000022
【０１１７】
【数２１】
2019185469.tif 000023
【０１１８】
これらのうち、次元の低い方の固有値問題を先に解く。例えば、１番目の式を解いて得られる最大固有値がλ１、対応する固有ベクトルがａ１であった場合、ベクトルｂ１は、［数２２］に表される式によって得られる。
【０１１９】
【数２２】
2019185469.tif 000024
【０１２０】
このようにして求められたλ１を第一正準相関係数と呼ぶ。また、［数２３］によって表されるｕ１，ｖ１を第一正準変量と呼ぶ。
【０１２１】
【数２３】
2019185469.tif 000025
【０１２２】
以下、２番目に大きい固有値に対応する第二正準変量、３番目に大きい固有値に対応する第三正準変量というように、固有値の大きさに基づいて正準変量を順に求めていく。なお、後述する特徴点の検出処理に用いるベクトルは、固有値がある一定以上の値（閾値）を有する第Ｍ正準変量までのベクトルとする。このときの閾値は、設計者によって適宜決定されてよい。以下、第Ｍ正準変量までの変換ベクトル行列を、Ａ′，Ｂ′とし、誤差推定行列と呼ぶ。Ａ’，Ｂ’は、［数２４］のように表すことができる。
【０１２３】
【数２４】
2019185469.tif 000026
【０１２４】
Ｂ′は、一般に正方行列とはならない。しかし、特徴点の検出処理において逆行列が必要となるため、Ｂ′に対し擬似的に０ベクトルを追加し、正方行列Ｂ″とする。正方行列Ｂ″は［数２５］のように表すことができる。
【０１２５】
【数２５】
2019185469.tif 000027
【０１２６】
なお、誤差推定行列を求めることは、線形回帰、線形重回帰、または非線形重回帰等の分析手法を用いることによっても可能である。しかし、正準相関分析を用いることにより、小さな固有値に対応する変量の影響を無視することが可能となる。従って、誤差推定に影響しない要素の影響を排除することが可能となり、より安定した誤差推定が可能となる。よって、係る効果を必要としないのであれば、正準相関分析ではなく上記した他の分析手法を用いて誤差推定行列の取得を実施することも可能である。また、誤差推定行列は、ＳＶＭ（Support Vector Machine）などの手法によって取得することも可能である。
【０１２７】
以上述べた学習処理では、各学習用顔画像に対してずれ配置モデルが１つしか作成されないが、複数個のずれ配置モデルが作成されてもよい。これは、学習用の画像に対して上記ステップＳ０３〜ステップＳ０７の処理を複数回（例えば１０〜１００回）繰り返すことにより実現される。なお、以上述べた学習処理は、特許第４０９３２７３号公報に詳しく記載されている。
【０１２８】
（２）ドライバの顔状態の検出
画像解析装置２は、上記学習処理により得られた三次元顔形状モデルを用いて、ドライバの顔の状態を検出する処理を以下のように実行する。  
図５は、顔状態検出処理の処理手順と処理内容の一例を示すフローチャートである。
【０１２９】
（２−１）ドライバの顔を含む画像データの取得
例えば、運転中のドライバの姿はカメラ１により正面から撮像され、これにより得られた画像信号はカメラ１から画像解析装置２へ送られる。画像解析装置２は、上記画像信号をカメラインタフェース１４により受信し、フレームごとにデジタル信号からなる画像データに変換する。
【０１３０】
画像解析装置２は、画像取得制御部１１１の制御の下、ステップＳ２０において上記画像データをフレームごとに取り込み、データメモリ１３の画像記憶部１３１に順次記憶させる。なお、画像記憶部１３１に記憶する画像データのフレーム周期は任意に設定可能である。
【０１３１】
（２−２）顔領域の抽出
画像解析装置２は、次に顔領域抽出部１１２の制御の下、ステップＳ２１において、上記画像記憶部１３１から画像データをフレームごとに読み込む。そして、テンプレート記憶部１３２に予め記憶されている顔の基準テンプレートを用いて、上記読み込んだ画像データからドライバの顔が映っている画像領域を検出し、当該画像領域を矩形枠を用いて抽出する。
【０１３２】
例えば、顔領域抽出部１１２は、画像データに対し顔の基準テンプレートを予め設定した複数の画素間隔（例えば８画素）でステップ的に移動させる。図７はその一例を示す図で、図中Ｄは基準テンプレートの四隅の画素を示している。そして顔領域抽出部１１２は、顔の基準テンプレートを１ステップ移動させるごとに、当該基準テンプレートと画像データとの輝度の相関値を算出し、算出された相関値を予め設定されている閾値と比較して、相関値が閾値以上のステップ移動位置に対応する領域を、顔が含まれる顔画像領域として検出する。
【０１３３】
すなわち、この例では、１画素毎に基準テンプレートを移動させる場合よりも探索間隔が粗い探索方法を用いて顔画像領域が検出される。そして顔画像抽出部１１２は、上記検出された顔画像領域を、矩形枠を用いて画像データから抽出し、データメモリ１３内の顔画像領域記憶部（図示省略）に記憶させる。図８は抽出された顔画像と矩形枠Ｅ１との位置関係の一例を示すものである。
【０１３４】
（２−３）顔器官の粗探索
画像解析装置２は、次に基準位置決定部１１３の制御の下、先ずステップＳ２２において、上記顔領域抽出部１１２により矩形枠により抽出された顔画像領域から、テンプレート記憶部１３２に記憶された三次元顔形状モデルを用いて、ドライバの顔の器官に対し設定された複数の特徴点を検出する。この例では、上記特徴点の検出に粗探索が用いられる。粗探索では、先に述べたように、検出対象の特徴点を例えば目と鼻のみまたは目のみに限定した、特徴点配置ベクトルの次元数の少ない三次元顔形状モデルが使用される。
【０１３５】
以下、粗探索を用いた特徴点の検出処理の一例を説明する。  
図６はその処理手順と処理内容の一例を示すフローチャートである。
【０１３６】
基準位置決定部１１３は、先ずステップＳ３０において、上記データメモリ１３の顔画像領域記憶部１３１から、画像データの１フレームごとに矩形枠により抽出された顔画像領域を読み込む。続いてステップＳ３１において、上記顔画像領域の初期位置に対し、初期パラメータｋinitに基づいた三次元顔形状モデルを配置する。そして、ステップＳ３２により、変数ｉを定義してこれに“１”を代入すると共に、ｋｉを定義してこれに初期パラメータｋinitを代入する。
【０１３７】
例えば、基準位置決定部１１３は、上記矩形枠により抽出された顔画像領域に対し初めてサンプリング特徴量を取得する場合には、先ず三次元顔形状モデルにおける各特徴点の三次元位置を決定し、この三次元顔形状モデルのパラメータ（初期パラメータ）ｋinitを取得する。この三次元顔形状モデルは、例えば、矩形枠の任意の頂点（例えば左上の角）から所定の位置に、粗探索用の三次元顔形状モデルに設定された目および鼻等の器官（ノード）に係る限定された少数の特徴点が配置されるような形状となるように設定されている。なお、三次元顔形状モデルは、当該モデルの中心と矩形枠により抽出された顔画像領域の中心とが一致するような形状であってもよい。
【０１３８】
初期パラメータｋinitとは、［数９］によって表されるモデルパラメータｋのうち、初期値によって表されるモデルパラメータをいう。初期パラメータｋinitには、適当な値が設定されてもよい。但し、一般的な顔画像から得られる平均的な値を初期パラメータｋinitに設定することにより、様々な顔の向きや表情変化などに対応することが可能となる。従って、例えば、相似変換のパラメータｓｘ，ｓｙ，ｓｚ，ｓθ，ｓφ，ｓψについては、学習処理の際に用いた顔画像の正解モデルパラメータの平均値を用いてもよい。また、例えば、形状パラメータｂについては、ゼロとしてもよい。また、顔領域抽出部１１２によって顔の向きの情報が得られる場合には、この情報を用いて初期パラメータを設定してもよい。その他、設計者が経験的に得た他の値をもって初期パラメータとしてもよい。
【０１３９】
次に基準位置決定部１１３は、ステップＳ３３において、ｋｉで表される粗探索用の三次元顔形状モデルを処理対象の上記顔画像領域上に射影する。そして、ステップＳ３４において、上記射影された顔形状モデルを用いて、レティナ構造に基づいたサンプリングを実行し、サンプリング特徴量ｆを取得する。続いてステップＳ３５において、上記サンプリング特徴量ｆを使用して誤差推定処理を実行する。
【０１４０】
一方、基準位置決定部１１３は、顔領域抽出部１１２によって抽出された顔画像領域についてサンプリング特徴量を取得するのが二度目以降の場合には、誤差推定処理によって得られた新たなモデルパラメータｋ（すなわち、正解モデルパラメータの推定値ｋｉ＋１）によって表される顔形状モデルについて、サンプリング特徴量ｆを取得する。そして、この場合も、ステップＳ３５において、上記得られたサンプリング特徴量ｆを使用して誤差推定処理を実行する。
【０１４１】
誤差推定処理では、上記取得されたサンプリング特徴量ｆ、およびテンプレート記憶部１３２に記憶されている誤差推定行列や正規化パラメータなどに基づいて、三次元顔形状モデルｋｉと正解モデルパラメータとの推定誤差ｋerrが算出される。また、この推定誤差ｋerrに基づいて、ステップＳ３６により正解モデルパラメータの推定値ｋｉ＋１が算出される。さらに、ステップＳ３７において、Δｋをｋｉ＋１とｋｉとの差として算出され、ステップＳ３８によりΔｋの二乗としてＥが算出される。
【０１４２】
また誤差推定処理では、探索処理の終了判定が行われる。誤差量を推定する処理が実行され、これにより新たなモデルパラメータｋが取得される。以下、誤差推定処理の具体的な処理例について説明する。
【０１４３】
先ず、正規化パラメータ（ｘave，ｘvar）を用いて、上記取得されたサンプリング特徴量ｆが正規化され、正準相関分析を行うためのベクトルｘが求められる。そして、［数２６］に示される式に基づいて第１〜第Ｍ正準変量が算出され、これにより変量ｕが取得される。
【０１４４】
【数２６】
2019185469.tif 000028
【０１４５】
次に、［数２７］に示される式を用いて、正規化誤差推定量ｙが算出される。なお、［数２７］において、Ｂ′が正方行列でない場合には、Ｂ′Ｔ−１はＢ′の擬似逆行列である。
【０１４６】
【数２７】
2019185469.tif 000029
【０１４７】
続いて、上記算出された正規化誤差推定量ｙに対し、正規化パラメータ（ｙave，ｙvar）を用いて復元処理が行われ、これにより誤差推定量ｋerrが取得される。誤差推定量ｋerrは、現在の顔形状モデルパラメータｋｉから正解モデルパラメータｋoptまでの誤差推定量である。従って、正解モデルパラメータの推定値ｋｉ＋１は、現在のモデルパラメータｋｉに誤差推定量ｋerrを加算することにより取得できる。但し、ｋerrは誤差を含んでいる可能性がある。このため、より安定した検出を行うために、［数２８］に表される式によって正解モデルパラメータの推定値ｋｉ＋１を取得する。［数２８］において、σは適当な固定値であり、設計者によって適宜決定されてよい。また、σは、例えばｉの変化に従って変化してもよい。
【０１４８】
【数２８】
2019185469.tif 000030
【０１４９】
誤差推定処理では、上記の特徴量のサンプリング処理と、誤差推定処理とを繰り返し正解モデルパラメータの推定値ｋｉを正解パラメータに近づけていくことが好ましい。このような繰り返し処理を行う場合には、推定値ｋｉが得られる度に終了判定が行われる。
【０１５０】
終了判定では、ステップＳ３９において、先ず取得されたｋｉ＋１の値が正常範囲内であるか否かが判定される。この判定の結果、ｋｉ＋１の値が正常範囲内でない場合には、ステップＳ４０において、図示しない表示装置等にエラーが出力され、画像解析装置２は探索処理を終了する。
【０１５１】
これに対し、上記ステップＳ３９による判定の結果、ｋｉ＋１の値が正常範囲内だったとする。この場合は、ステップＳ４１において、上記ステップＳ３８により算出されたＥの値が閾値εを超えているか否かが判定される。そして、Ｅが閾値εを超えていない場合には、処理が収束したものと判断され、ステップＳ４２によりｋest が出力される。このｋest の出力後、画像解析装置２は１フレーム画像データに基づいた顔状態の検出処理を終了する。
【０１５２】
一方、Ｅが閾値εを超えている場合には、ステップＳ４３により上記ｋｉ＋１の値に基づいて新たな三次元顔形状モデルを作成する処理が行われる。この後、ステップＳ４４においてｉの値がインクリメントされ、ステップＳ３３に戻る。そして、次のフレームの画像データを処理対象画像とし、新たな三次元顔形状モデルに基づいてステップＳ３３以降の一連の処理が繰り返し実行される。
【０１５３】
なお、例えばｉの値が閾値を超えた場合には、処理が終了する。また、例えば［数２９］によって表されるΔｋの値が閾値以下になった場合にも、処理を終了するようにしてもよい。さらに、誤差推定処理では、取得されたｋｉ＋１の値が正常範囲内であるか否かに基づいて終了判定するようにしてもよい。例えば、取得されたｋｉ＋１の値が、明らかに人の顔の画像における正解位置を示すものでない場合には、エラーを出力することにより処理を終了する。また、取得されたｋｉ＋１によって表されるノードの一部が、処理対象の画像からはみでてしまった場合にも、エラーを出力することにより処理を終了する。
【０１５４】
【数２９】
2019185469.tif 000031
【０１５５】
上記誤差推定処理では、処理を続行すると判定した場合、取得された正解モデルパラメータの推定値ｋｉ＋１が特徴量サンプリング処理に渡される。一方、処理を終了すると判定した場合、その時点で得られている正解モデルパラメータの推定値ｋｉ（またはｋｉ＋１であってもよい）が、ステップＳ４２により最終推定パラメータｋestとして出力される。  
なお、以上述べた顔の特徴点の探索処理は、特許第４０９３２７３号公報に詳しく記載されている。
【０１５６】
（２−４）基準位置の決定
基準位置決定部１１３は、ステップＳ２３において、上記粗探索による顔器官の探索結果に基づいて、探索された顔器官の特徴点の位置を検出し、この検出された特徴点間の距離に基づいて顔画像の基準位置を決定する。例えば、基準位置決定部１１３は、ドライバの顔の両目の特徴点の位置からその距離を求め、当該距離の中心点の位置座標と鼻の特徴点の位置座標とをもとに、眉間の位置を推定する。そして、この推定された眉間の位置を、例えば図９に示すようにドライバの顔の基準位置Ｂとして決定する。
【０１５７】
（２−５）顔画像領域の再抽出
画像解析装置２は、次に顔領域再抽出部１１４の制御の下、ステップＳ２４において、上記基準位置決定部１１３により決定された基準位置をもとに、画像データに対する矩形枠の位置を補正する。例えば、顔領域再抽出部１１４は、上記基準位置決定部１１３により検出された眉間の位置（基準位置Ｂ）が矩形枠の上下方向および左右方向の中心となるように、上記画像データに対する矩形枠の位置を、図１０に例示するようにＥ１からＥ２に補正する。そして顔領域再抽出部１１４は、上記画像データから、上記位置が補正された矩形枠Ｅ２で囲まれた顔画像領域を再抽出する。
【０１５８】
この結果、矩形枠Ｅ１による顔画像領域の抽出位置にばらつきが発生しても、当該ばらつきは補正されて、詳細探索に必要な顔の主要器官が漏れなく含まれる顔画像を得ることが可能となる。
【０１５９】
（２−６）顔器官の詳細探索
上記顔画像領域の再抽出処理が終了すると、画像解析装置２はステップＳ２５に移行する。そして、顔状態検出部１１５の制御の下、上記顔領域再抽出部１１４により再抽出された顔画像領域から、ドライバの顔の複数の器官に対し設定された多数の特徴点の位置を、詳細探索用の三次元顔形状モデルを用いて推定する。
【０１６０】
詳細探索では、先に述べたように、例えば検出対象として顔の目、鼻、口、頬骨等に対し多数の特徴点を設定し、これらの特徴点に対応して特徴点配置ベクトルの次元数が設定された三次元顔形状モデルを用いて上記特徴点の探索が行われる。また、詳細探索用の三次元顔形状モデルとしては、ドライバの複数の顔向きに対応して複数のモデルが用意される。例えば、顔の正面方向、斜め右方向、斜め左方向、斜め上方向、斜め下方向といった代表的な顔の向きに対応するモデルが複数種類用意される。
【０１６１】
顔状態検出部１１５は、上記詳細探索用に用意された複数の三次元顔形状モデルを用い、上記矩形枠Ｅ２により再抽出された顔画像領域から、上記検出対象となる器官の多数の特徴点を検出する処理を実行する。ここで実行される詳細探索の処理手順と処理内容は、特徴点配置ベクトルの次元数が粗探索の場合に比べて多く設定された三次元顔形状モデルが使用される点、顔向きに対応した用意された複数の三次元顔形状モデルが使用される点と、推定誤差の判定閾値が粗探索の場合より小さい値に設定されている点が異なるものの、基本的には先に図６を用いて説明した粗探索の場合の処理手順および処理内容と同様である。
【０１６２】
（２−７）顔向きの推定
上記詳細探索が終了すると画像解析装置２は、次に顔状態検出部１１５の制御の下、ステップＳ２６において、上記詳細探索による顔の各器官の特徴点の探索結果に基づいて、ドライバの顔の向きを推定する。例えば、顔の輪郭の位置に対する目や鼻、口の位置をもとに、顔の向きを推定することができる。また、顔向きに対応した用意された複数の三次元顔形状モデルのうち、画像データとの間の誤差量が最も小さいモデルをもとに、顔の向きを推定することもできる。そして顔状態検出部１１５は、上記推定された顔の向きを表す情報と、各器官の複数の特徴点の位置を表す情報を、ドライバの顔の状態を表す情報として顔領域記憶部１３３に記憶させる。
【０１６３】
（２−８）顔状態の出力
画像解析装置２は、出力制御部１１６の制御の下、ステップＳ２７において、上記推定された顔の向きを表す情報と、顔の各器官の複数の特徴点の位置を表す情報を、顔領域記憶部１３３から読み出す。そして、上記読み出された情報を、外部インタフェース１５から外部装置に出力する。
【０１６４】
外部装置は、上記顔向きの情報および顔の各器官の検出の有無により、例えば脇見や居眠り等のドライバの状態を判定することが可能となる。また、車両の運転モードを手動と自動との間で切り替える際に、切替えの可否判定に使用することができる。
【０１６５】
（効果）
以上詳述したように一実施形態では、基準位置決定部１１３において、顔領域抽出部１１２により矩形枠Ｅ１により抽出されたドライバの顔を含む画像領域から、粗探索により例えば顔の複数の目と鼻の特徴点を検出し、この検出された各器官の特徴点をもとにドライバの顔の眉間の位置を検出してこれを顔の基準位置Ｂに決定する。そして、顔領域再抽出部１１４により、上記決定された顔の基準位置Ｂが矩形枠の中心となるように画像データに対する矩形枠の位置を補正し、この位置が補正された矩形枠を用いて上記画像データから顔を含む画像領域を再抽出するようにしている。
【０１６６】
従って、矩形枠による顔を含む画像領域の抽出位置にばらつきが発生し、これにより顔の一部の器官が矩形枠内に含まれなくても、画像データに対する矩形枠の位置が補正されて、顔を含む画像領域が抽出し直される。このため、矩形枠により抽出される画像領域には、顔向き等の検出に必要な顔の器官を漏れなく含めることが可能となり、これにより顔向き等の顔の状態を高精度に検出することが可能となる。また、上記基準位置を決定するために必要な顔の器官の検出には粗探索が用いられる。このため、撮像された画像データから直接的に顔の基準位置を探索する場合に比べて、少ない画像処理量で短時間に基準位置を決定することができる。
【０１６７】
［変形例］
（１）一実施形態では、粗探索により検出された顔の基準位置Ｂをもとに、画像データに対する矩形枠の位置のみを修正するようにした。しかし、これに限らず画像データに対する矩形枠のサイズを補正するようにしてもよい。これは、例えば、矩形枠により抽出された顔画像領域から、粗探索により顔の特徴点の１つとして顔の左右および上下の輪郭の検出を試行し、検出されない輪郭が見つかった場合に、この検出されなかった輪郭の方向に矩形枠のサイズを拡大することにより実現できる。なお、顔の眉間を基準位置として決定する点は一実施形態と同じである。
【０１６８】
（２）一実施形態では、入力された画像データから、ドライバの顔における複数の器官に係る複数の特徴点の位置を推定する場合を例にとって説明した。しかし、それに限らず、検出対象物は形状モデルを設定できるものであればどのような対象物であってもよい。例えば、検出対象物としては、人の全身像や、レントゲン画像またはＣＴ（Computed Tomography）等の断層像撮像装置により得られた臓器画像等であってもよい。言い換えれば、大きさの個人差がある対象物や基本的な形が変わらずに変形する検出対象物について本技術は適用可能である。また、車両、電気製品、電子機器、回路基板などの工業製品のように変形しない剛体の検出対象物であっても、形状モデルを設定することができるため本技術を適用することができる。
【０１６９】
（３）一実施形態では画像データのフレームごとに顔状態を検出する場合を例にとって説明したが、予め設定された複数フレームおきに顔状態を検出するようにしてもよい。その他、画像解析装置の構成や検出対象物の特徴点の粗探索および詳細探索それぞれの処理手順と処理内容、抽出枠の形状とサイズ等についても、この発明の要旨を逸脱しない範囲で種々変形して実施可能である。
【０１７０】
（４）一実施形態では、基準位置として人の顔の眉間の位置を検出し決定する場合を例にとって説明した。しかし、これに限定されるものではなく、例えば、鼻の頂点、口中央点、眉間の位置と鼻の頂点との中間点、眉間の位置と口中央点との中間点、および、眉間の位置と鼻頂点と口中央点の平均的位置のうちのいずれかを検出し、これらを基準位置として決定するようにしてもよい。要するに、基準位置としては、人の顔の中心線上の任意の点を検出し、この点を基準点として決定すれば良い。
【０１７１】
以上、本発明の実施形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。
【０１７２】
要するにこの発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【０１７３】
［付記］
上記各実施形態の一部または全部は、特許請求の範囲のほか以下の付記に示すように記載することも可能であるが、これに限られない。  
（付記１）  
ハードウェアプロセッサ（１１Ａ）とメモリ（１１Ｂ）とを有する画像解析装置であって、
前記ハードウェアプロセッサ（１１Ａ）が、前記メモリ（１１Ｂ）に記憶されたプログラムを実行することにより、
検出対象物を含む範囲を撮像して得られた画像を取得し（１１１）、
前記取得された画像から、前記検出対象物が存在する領域の部分画像を、当該部分画像を囲む所定サイズの抽出枠により抽出し（１１２）、
前記抽出された部分画像から前記検出対象物の特徴点の位置を検出して、当該特徴点の位置をもとに前記検出対象物の基準位置を決定し（１１３）、
前記決定された基準位置に基づいて、前記抽出枠による前記部分画像の抽出位置を補正し、当該補正された抽出位置において前記抽出枠により前記部分画像を再抽出し（１１４）、
前記再抽出された部分画像から、前記検出対象物の状態を検出する（１１５）
ように構成される画像解析装置。
【０１７４】
（付記２）  
ハードウェアプロセッサ（１１Ａ）と、当該ハードウェアプロセッサ（１１Ａ）を実行させるプログラムを格納したメモリ（１１Ｂ）とを有する装置が実行する画像解析方法であって、
前記ハードウェアプロセッサ（１１Ａ）が、検出対象物を含む範囲を撮像して得られた画像を取得する過程（Ｓ２０）と、
前記ハードウェアプロセッサ（１１Ａ）が、前記取得された画像から、前記検出対象物が存在する領域の部分画像を、当該部分画像を囲む所定サイズの抽出枠により抽出する過程（Ｓ２１）と、
前記ハードウェアプロセッサ（１１Ａ）が、前記抽出された部分画像から前記検出対象物の特徴点の位置を検出し、当該特徴点の位置をもとに前記検出対象物の基準位置を決定する過程（Ｓ２２，Ｓ２３）と、
前記ハードウェアプロセッサ（１１Ａ）が、前記決定された基準位置に基づいて、前記抽出枠による前記部分画像の抽出位置を補正し、当該補正された抽出位置において前記抽出枠により前記部分画像を再抽出する過程（Ｓ２４）と、
前記ハードウェアプロセッサ（１１Ａ）が、前記再抽出された部分画像から、前記検出対象物の特徴を表す情報を検出する過程（Ｓ２５）と
を具備する画像解析方法。
【符号の説明】
【０１７５】
１…カメラ、２…画像解析装置、３…画像取得部、４…顔検出部、
４ａ…顔領域抽出部、４ｂ…基準位置決定部、４ｃ…顔領域再抽出部、
５…顔状態検出部、１１…制御ユニット、１１Ａ…ハードウェアプロセッサ、
１１Ｂ…プログラムメモリ、１２…バス、１３…データメモリ、
１４…カメラインタフェース、１５…外部インタフェース、
１１１…画像取得制御部、１１２…顔領域抽出部、
１１３…基準位置決定部、１１４…顔領域再抽出部、１１５…顔状態検出部、
１６１…出力制御部、１３１…画像記憶部、１３２…テンプレート記憶部、
１３３…顔領域記憶部。
【図１】
2019185469.tif 000032
【図２】
2019185469.tif 000033
【図３】
2019185469.tif 000034
【図４】
2019185469.tif 000035
【図５】
2019185469.tif 000036
【図６】
2019185469.tif 000037
【図７】
2019185469.tif 000038
【図８】
2019185469.tif 000039
【図９】
2019185469.tif 000040
【図１０】
2019185469.tif 000041
【図１１】
2019185469.tif 000042
【図１２】
2019185469.tif 000043