(57)【特許請求の範囲】
【請求項１】
人の顔を撮像する撮像手段と、
前記撮像手段によって撮像された画像を構成する画素のうち、前記顔の輪郭に沿う輪郭曲線状に配置される前記画素からなる画素群を順次選択する選択手段と、
前記選択手段に選択された前記画素群ごとに、前記画素における前記画像に含まれるエッジの向きを検出するエッジ方向検出手段と、
前記画素群ごとに、前記画素それぞれの座標と、前記画素それぞれにおける前記エッジの向きとによって規定される点の分布に基づいて、前記画素群を構成する前記画素が前記顔の輪郭を構成する尤度を算出する演算手段と、
を備える顔位置検出装置。
【請求項２】
前記演算手段は、前記画素群を構成する前記画素それぞれの前記座標と、前記座標における前記輪郭曲線の法線の向きとを示す基準曲線に対する前記点の分布に基づいて前記尤度を算出する請求項１に記載の顔位置検出装置。
【請求項３】
前記演算手段は、統計に基づいて設定された範囲内にある前記点の数に基づいて前記尤度を算出する請求項１に記載の顔位置検出装置。
【請求項４】
前記尤度に基づいて前記画素群を特定し、特定した前記画素群の前記画素を前記顔の輪郭の少なくとも一部を構成する前記画素であるとして、前記画像に含まれる前記顔の位置を検出する顔位置検出手段を更に備える請求項１乃至３のいずれか一項に記載の顔位置検出装置。
【請求項５】
前記画素群は、
前記顔の右側の輪郭に沿う第１の輪郭曲線状に配置される前記画素からなる前記画素群と、
前記顔の左側の輪郭に沿う第２の輪郭曲線状に配置される前記画素からなる前記画素群と、
を含み、
前記顔位置検出手段は、
前記第１の輪郭曲線状に配置される前記画素からなる前記画素群の中から、前記尤度に基づいていずれかの前記画素群を第１画素群として抽出するとともに、
前記第２の輪郭曲線状に配置される前記画素からなる前記画素群の中から、前記尤度に基づいていずれかの前記画素群を第２画素群として抽出し、
前記第１画素群及び前記第２画素群を構成する前記画素を、前記顔の輪郭の少なくとも一部を構成する前記画素であるとして、前記画像に含まれる前記顔の位置を検出する請求項４に記載に顔位置検出装置。
【請求項６】
前記顔位置検出手段は、前記尤度が最も高いときの前記画素群を抽出する請求項４又は５に記載の顔位置検出装置。
【請求項７】
前記顔位置検出手段は、前記第１画素群及び前記第２画素群を、前記第１画素群を構成する前記画素におけるエッジの方向と、前記第２画素群を構成する前記画素におけるエッジの方向との対称性に基づいて抽出する請求項５に記載の顔位置検出装置。
【請求項８】
前記顔位置検出手段は、前記第１画素群及び前記第２画素群を、前記第１画素群を構成する前記画素と前記第２画素群を構成する前記画素との、前記顔の上下方向に関する相対位置関係に基づいて抽出する請求項５に記載の顔位置検出装置。
【請求項９】
人の顔が写る画像を構成する画素のうち、前記顔の輪郭に沿う輪郭曲線状に配置される前記画素からなる画素群を順次選択する工程と、
選択した前記画素群ごとに、前記画素における前記画像に含まれるエッジの向きを検出する工程と、
前記画素群ごとに、前記画素それぞれの座標と、前記エッジの向きとによって規定される点の分布に基づいて、前記画素群を構成する前記画素が前記顔の輪郭を構成する尤度を算出する工程と、
前記尤度に基づいて前記画素群を特定し、特定した前記画素群の前記画素を前記顔の輪郭の少なくとも一部を構成する前記画素であるとして、前記画像に含まれる前記顔の位置を検出する工程と、
を含む顔位置検出方法。
【請求項１０】
コンピュータを、
人の顔が写る画像を構成する画素のうち、前記顔の輪郭に沿う輪郭曲線状に配置される前記画素からなる画素群を順次選択する手段と、
選択した前記画素群ごとに、前記画素における前記画像に含まれるエッジの向きを検出する手段と、
前記画素群ごとに、前記画素それぞれの座標と、前記エッジの向きとによって規定される点の分布に基づいて、前記画素群を構成する前記画素が前記顔の輪郭を構成する尤度を算出する手段と、
前記尤度に基づいて前記画素群を特定し、特定した前記画素群の前記画素を前記顔の輪郭の少なくとも一部を構成する前記画素であるとして、前記画像に含まれる前記顔の位置を検出する手段と、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、顔位置検出装置、顔位置検出方法及びプログラムに関し、更に詳しくは、画像に写る顔の位置を検出する顔位置検出装置、画像に写る顔の位置を検出するための顔位置検出方法及びプログラムに関する。
【背景技術】
【０００２】
交通事故を誘発する原因は様々であるが、運転者が漫然とした状態で車両の運転を行うことも、事故を誘発する原因の１つである。漫然とした状態とは、運転中の会話や、携帯電話の使用など、運転者が運転以外の行動を行うことにより、運転に対する注意力が散漫になった状態や、疲労や眠気などによって運転者の注意力が低下した状態をいう。そこで、車両を運転する運転者の状態を随時観察し、運転者が漫然な状態に至った場合に、運転者に警告を発するシステムが提案されている。
【０００３】
この種のシステムでは、モニタカメラなどの視野内にある運転者を正確に認識するために種々の方法が用いられている（例えば特許文献１及び２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−０１１０９７号公報
【特許文献２】特開２００７−７２６２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載された装置は、人の顔を撮像して得られた画像から、各画素の輝度の変化に基づいて、顔の中心を通る中心線の候補となる複数の直線を検出する。そして、顔の輪郭などを表す画素の対象性を利用して、候補となる直線の中から、最も確からしい直線を選択し、選択した当該直線に関する確からしさに基づいて、運転者の顔の有無を判定する。
【０００６】
しかしながら、この装置は、車両の移動などにより運転者の顔に影ができると、顔の輪郭に一致する画素をうまく特定することができなくなることがある。このため、正確に顔の有無を判定することが困難となる場合がある。
【０００７】
また、特許文献２に記載された装置は、人の顔を含む所定領域を撮像して得られる画像に対して、ソーベルフィルタを用いた画像処理を実行する。次に、当該処理後の画像を構成する画素のエッジ値に基づくヒストグラムを生成する。そして、ヒストグラムのピークに対応する位置を顔の輪郭として検出する。しかしながら、ヒストグラムのピークが現れる位置は、運転者の顔にできる影の影響を受けて変動する。このため、この装置では、正確に顔の位置を検出することが困難となる場合がある。
【０００８】
本発明は、上述の事情の下になされたもので、顔に現れる影などの影響を受けることなく、顔の両端を正確に検出することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明の顔位置検出装置は、人の顔を撮像する撮像手段と、撮像手段によって撮像された画像を構成する画素のうち、顔の輪郭に沿う輪郭曲線状に配置される画素からなる画素群を順次選択する選択手段と、選択手段に選択された画素群ごとに、各画素における画像に含まれるエッジの向きを検出するエッジ方向検出手段と、画素群ごとに、画素それぞれの座標と、画素それぞれにおけるエッジの向きとによって規定される点の分布に基づいて、画素群を構成する画素が顔の輪郭を構成する尤度を算出する演算手段と、を備える。
【００１１】
また、演算手段は、画素群を構成する画素それぞれの座標と、当該座標における輪郭曲線の法線の向きとを示す基準曲線に対する点の分布に基づいて尤度を算出することとしてもよい。
【００１２】
また、演算手段は、統計に基づいて設定された範囲内にある点の数に基づいて尤度を算出することとしてもよい。
【００１３】
顔位置検出装置は、尤度に基づいて画素群を特定し、特定した画素群の画素を顔の輪郭の少なくとも一部を構成する画素であるとして、画像から顔の位置を検出する顔位置検出手段を更に備えていてもよい。
【００１４】
画素群は、顔の右側の輪郭に沿う第１の輪郭曲線状に配置される画素からなる画素群と、顔の左側の輪郭に沿う第２の輪郭曲線状に配置される画素からなる画素群と、を含み、顔位置検出手段は、第１の輪郭曲線状に配置される画素からなる画素群の中から、尤度に基づいていずれかの画素群を第１画素群として抽出するとともに、第２の輪郭曲線状に配置される画素からなる画素群の中から、尤度に基づいていずれかの画素群を第２画素群として抽出し、第１画素群及び第２画素群を構成する画素を、顔の輪郭の少なくとも一部を構成する画素であるとして、画像に含まれる顔の位置を検出することとしてもよい。
【００１５】
顔位置検出手段は、尤度が最も高いときの画素群を抽出することとしてもよい。
【００１６】
また、顔位置検出手段は、第１画素群及び第２画素群を、第１画素群を構成する画素におけるエッジの方向と、第２画素群を構成する画素におけるエッジの方向との対称性に基づいて抽出することとしてもよい。
【００１７】
また、顔位置検出手段は、第１画素群及び第２画素群を、第１画素群を構成する画素と、第２画素群を構成する画素との、顔の上下方向に関する相対位置関係に基づいて抽出することとしてもよい。
【００１８】
上記目的を達成するために、本発明の顔位置検出方法は、人の顔が写る画像を構成する画素のうち、顔の輪郭に沿う輪郭曲線状に配置される画素からなる画素群を順次選択する工程と、選択した画素群ごとに、各画素における画像に含まれるエッジの向きを検出する工程と、画素群ごとに、画素それぞれの座標と、エッジの向きとによって規定される点の分布に基づいて、画素群を構成する画素が顔の輪郭を構成する尤度を算出する工程と、尤度に基づいて画素群を特定し、特定した画素群の画素を顔の輪郭の少なくとも一部を構成する画素であるとして、画像に含まれる顔の位置を検出する工程と、を含む。
【００１９】
上記目的を達成するために、本発明のプログラムは、コンピュータを、人の顔が写る画像を構成する画素のうち、顔の輪郭に沿う輪郭曲線状に配置される画素からなる画素群を順次選択する手段と、選択した画素群ごとに、各画素における画像に含まれるエッジの向きを検出する手段と、画素群ごとに、画素それぞれの座標と、エッジの向きとによって規定される点の分布に基づいて、画素群を構成する画素が顔の輪郭を構成する尤度を算出する手段と、尤度に基づいて画素群を特定し、特定した画素群の画素を顔の輪郭の少なくとも一部を構成する画素であるとして、画像に含まれる顔の位置を検出する手段と、として機能させる。
【発明の効果】
【００２０】
本発明によれば、顔の両端を正確に検出することができる。
【図面の簡単な説明】
【００２１】
【図１】第１の実施形態に係る顔位置検出装置のブロック図である。
【図２】撮像装置によって撮像された画像を示す図である。
【図３】輪郭曲線を説明するための図である。
【図４】第１のテンプレートを示す図である。
【図５】第２のテンプレートを示す図である。
【図６】選択部の動作を説明するための図である。
【図７】ｙ−θ座標系にプロットされた点を示す図（その１）である。
【図８】第１のテンプレートに規定された輪郭曲線の法線ベクトルを示す図である。
【図９】画像上の輪郭曲線の位置を示す図である。
【図１０】ｙ−θ座標系にプロットされた点を示す図（その２）である。
【図１１】ｙ−θ座標系にプロットされた点を示す図（その３）である。
【図１２】第２のテンプレートに規定された輪郭曲線の法線ベクトルを示す図である。
【図１３】第２の実施形態に係る顔位置検出装置のブロック図である。
【図１４】画像処理装置の動作を説明するためのフローチャートである。
【発明を実施するための形態】
【００２２】
《第１の実施形態》
以下、本発明の第１の実施形態を、図１〜図１２を参照しつつ説明する。図１は本実施形態にかかる顔位置検出装置１０の概略的な構成を示すブロック図である。顔位置検出装置１０は、画像に写った人の顔を検出する装置である。この顔位置検出装置１０は、図１に示されるように、撮像装置２０と、撮像装置２０によって撮像された画像から人の顔を検出する画像処理装置３０とを有している。
【００２３】
撮像装置２０は、被写体を撮像することにより取得した画像を電気信号に変換して出力する装置である。例えば図２に示される画像ＩＭを参照するとわかるように、この撮像装置２０は、車両の運転席に着座したときの運転者１００の顔Ｆが撮像されるように、例えば車両のフロントガラスや、ダッシュボードに取り付けられている。そして、運転者１００を所定の周期で撮像し、撮像して得た画像に関する情報を画像処理装置３０へ出力する。
【００２４】
図１に戻り、画像処理装置３０は、選択部３１、エッジ角度検出部３２、演算部３３及び顔位置検出部３４を含んで構成されている。
【００２５】
選択部３１は、撮像装置２０によって撮像された画像から、予め設定された輪郭曲線に沿って配置された複数の画素からなる画素群を順次選択し出力する。
【００２６】
図３には、運転者１００の顔Ｆの輪郭に沿う輪郭曲線Ｌ１及び輪郭曲線Ｌ２が示されている。輪郭曲線Ｌ１及び輪郭曲線Ｌ２は、車両の運転席に着座した複数人の被験者を、撮像装置２０によって、予め撮像して得た画像データに基づいて規定された曲線である。これらの輪郭曲線Ｌ１及び輪郭曲線Ｌ２それぞれは、運転者１００の顔Ｆの右側（＋Ｘ側）及び左側（−Ｘ側）の輪郭に沿って滑らかに湾曲した形状を有している。
【００２７】
選択部３１は、図４に示されるように、輪郭曲線Ｌ１に一致する４０の画素が着色して示されたテンプレートＴ１と、図５に示されるように、輪郭曲線Ｌ２に一致する４０の画素が着色して示されたテンプレートＴ２とを有している。これらのテンプレートＴ１及びテンプレートＴ２それぞれは、４０行１０列のマトリクス状に配置された４００の画素ａ（ｍ，ｎ）からなり、左下のコーナーを原点とするテンプレート座標系（ｘｙ座標系）が規定されている。また、テンプレートＴ１及びテンプレートＴ２では、説明の便宜上、輪郭曲線Ｌ１或いは輪郭曲線Ｌ２に一致する画素のうち、Ｙ座標が最も小さいものを画素ａ１と表示し、Ｙ座標が１画素分増加する毎に画素ａ２、画素ａ３、…画素ａ４０と表示するものとする。
【００２８】
選択部３１は、一例として図６に示されるように、テンプレートＴ１を画像ＩＭ上でＸ軸方向或いはＹ軸方向へ移動させながら、画像ＩＭを構成する画素の中から、テンプレートＴ１の着色された画素に重なる４０個の画素（対応画素）からなる画素群を順次選択する。そして、選択した画素群に関する情報をエッジ角度検出部３２へ順次出力する。
【００２９】
次に、選択部３１は、テンプレートＴ２を画像ＩＭ上でＸ軸方向或いはＹ軸方向へ移動させながら、画像ＩＭを構成する画素の中から、テンプレートＴ２の着色された画素に重なる４０個の対応画素からなる画素群を順次選択する。そして、選択した画素群に関する情報をエッジ角度検出部３２へ順次出力する。
【００３０】
エッジ角度検出部３２は、選択部３１から出力された画素群を構成する対応画素それぞれにおける、画像ＩＭのエッジの向きを検出する。
【００３１】
具体的には、エッジ角度検出部３２は、以下の式（１）で示されるオペレータを用いて、選択部３１から出力された画素群を構成する４０の対応画素それぞれにおける、画像ＩＭのＸ軸方向の輝度の勾配の大きさＡＸ１〜ＡＸ４０を検出する。
【００３２】
【数１】
0005397103.tif 000002
【００３３】
次に、エッジ角度検出部３２は、以下の式（２）で示されるオペレータを用いて、選択部３１から出力された画素群を構成する４０の対応画素それぞれにおける、画像ＩＭのＹ軸方向の輝度の勾配の大きさＡＹ１〜ＡＹ４０を検出する。
【００３４】
【数２】
0005397103.tif 000003
【００３５】
次に、エッジ角度検出部３２は、画素群を構成する４０の対応画素それぞれにおけるエッジの向きを、以下の式（３）で示される角度θＮ（Ｎ＝１，２，…，４０）として検出する。そして、エッジ角度検出部３２は、検出した角度θＮに関する情報を、演算部３３へ出力する。
【００３６】
θＮ＝ｔａｎ−１（ＡＹＮ／ＡＸＮ）…（３）
【００３７】
演算部３３は、テンプレートＴ１の画素ａ１〜ａ４０についての対応画素のテンプレート座標系におけるｙ座標と、対応画素におけるエッジの向きとしての角度θＮとで規定される点を、ｙ−θ座標系にプロットする。
【００３８】
一例として、図７には、基準曲線Ｓ１とともにｙ−θ座標系にプロットされた点が示されている。また、図８には、テンプレートＴ１を構成する画素ａ（ｍ，ｎ）のうちの曲線Ｌ１と重なる画素ａ１〜ａ４０を始点とする曲線Ｌ１の法線ベクトルＮＮが示されている。図７における基準曲線Ｓ１は、テンプレートＴ１の画素ａ１〜ａ４０のテンプレート座標系におけるｙ座標と、各法線ベクトルＮＮとｘ軸とのなす角度とによって規定されるｙ−θ座標系上の点を通る曲線である。演算部３３は、この基準曲線Ｓ１に対するｙ−θ座標系にプロットされた点との位置関係に基づいて、選択部３１によって画像ＩＭから選択された画素群が、例えば図２に示される運転者１００の顔Ｆの輪郭ＯＰである尤度を算出する。
【００３９】
上述したようにｙ−θ座標系にプロットされる点は、例えば図９に示されるように、テンプレートＴ１の画素ａ１〜ａ４０によって規定される輪郭曲線Ｌ１が、顔Ｆの輪郭ＯＰにほぼ一致する位置Ｐ２にあるときには、図７に白抜きの四角で示されるように、ほぼすべての点が基準曲線Ｓ１に沿って分布する。
【００４０】
一方、ｙ−θ座標系にプロットされる点は、例えば図９に示されるように、輪郭曲線Ｌ１が、顔Ｆの輪郭ＯＰから少し顔Ｆの内側の位置Ｐ１にあるときには、図１０に着色された四角で示されるように、大部分の点が基準曲線Ｓ１に沿って分布するが、一部の点が基準曲線Ｓ１から離間して分布する。基準曲線Ｓ１から上方に離間した領域Ｃ１に現れた点は、画像ＩＭの眉毛付近の画素に対応する点である。また、基準曲線Ｓ１から下方に離間した領域Ｃ２に現れた点は、画像ＩＭの目尻付近に対応する点である。
【００４１】
また、輪郭曲線Ｌ１が、顔Ｆの輪郭ＯＰから著しく顔Ｆから離れた位置Ｐ３にあるときには、図１０に白抜きの丸で示されるように、ほぼ全部の点が基準曲線Ｓ１とは位置的に無関係に分布する。
【００４２】
演算部３３は、例えば図７及び図１０に示されるように、基準曲線Ｓ１を含む領域Ａ１を統計などに基づいて設定し、選択部３１によって画像ＩＭから選択された画素群ごとにプロットした４０の点の中から、領域Ａ１に含まれる点を検出する。そして、検出した点の数を、すべての点の数（４０）で除して、その結果を尤度として順次算出し出力する。
【００４３】
次に、演算部３３は、テンプレートＴ２の画素ａ１〜ａ４０についての対応画素のテンプレート座標系におけるｙ座標と、対応画素におけるエッジの向きとしての角度θＮとで規定される点を、ｙ−θ座標系にプロットする。
【００４４】
一例として、図１１には、基準曲線Ｓ２とともにｙ−θ座標系にプロットされた点が示されている。また、図１２には、テンプレートＴ２を構成する画素ａ（ｍ，ｎ）のうちの曲線Ｌ２と重なる画素ａ１〜ａ４０を始点とする曲線Ｌ２の法線ベクトルＮＮが示されている。図１１における基準曲線Ｓ２は、テンプレートＴ２の画素ａ１〜ａ４０のテンプレート座標系におけるｙ座標と、各法線ベクトルＮＮとｘ軸とのなす角度とによって規定されるｙ−θ座標系上の点を通る曲線である。演算部３３は、この基準曲線Ｓ２に対するｙ−θ座標系にプロットされた点との位置関係に基づいて、選択部３１によって画像ＩＭから選択された画素群が、図２に示される運転者１００の顔Ｆの輪郭ＯＰである尤度を算出する。具体的には、演算部３３は、例えば図１１に示されるように、基準曲線Ｓ２を含む領域Ａ２を統計などに基づいて設定し、選択部３１によって画像ＩＭから選択された画素群ごとにプロットした４０の点の中から、領域Ａ２に含まれる点を検出する。そして、検出した点の数を、すべての点の数（４０）で除して、その結果を尤度として順次算出し出力する。
【００４５】
顔位置検出部３４は、テンプレートＴ１によって選択された画素群の中から、最も値が大きい尤度が算出されたときの画素群を特定する。次に、テンプレートＴ２によって選択された画素群の中から、最も値が大きい尤度が算出されたときの画素群を特定する。そして、特定した１組の画素群によって運転者１００の顔Ｆの輪郭ＯＰが構成されているものとして、運転者１００の顔Ｆの位置情報を検出し出力する。
【００４６】
以上説明したように、本第１の実施形態では、運転者１００の顔Ｆを撮像して得られる画像ＩＭを構成する画素の中から、顔Ｆの輪郭ＯＰに沿うように予め規定された輪郭曲線Ｌ１，Ｌ２に一致するように配置された画素からなる画素群が順次選択される。次に、選択された画素群が、運転者１００の顔Ｆの輪郭ＯＰを構成する尤度が算出される。そして、この尤度に基づいて決定された画素が顔Ｆの輪郭ＯＰを構成するものとして、顔Ｆの画像ＩＭにおける位置が検出される。
【００４７】
これによれば、顔Ｆの輪郭を構成しない直線状のエッジが、顔Ｆの輪郭として抽出されることがなくなるので、顔Ｆの右端及び左端の輪郭ＯＰを正確に検出することができる。具体的には、顔Ｆに影が形成されることにより、顔Ｆの画像に直線状のエッジが現れたとしても、画像ＩＭを構成する画素が、予め統計等により決定された滑らかにカーブする輪郭曲線Ｌ１，Ｌ２に基づいて選択され、選択された画素が顔Ｆの輪郭ＯＰを構成するか否かが判断される。したがって、顔Ｆに現れる影等の影響を受けることなく、運転者１００の顔Ｆを正確に検出することができる。
【００４８】
《第２の実施形態》
次に、本発明の第２の実施形態を、図１３及び図１４を参照しつつ説明する。なお、第１の実施形態と同一又は同等の構成については、同等の符号を用いるとともに、その説明を省略又は簡略する。
【００４９】
本実施形態にかかる顔位置検出装置１０は、画像処理装置３０が、一般的なコンピュータ、又はマイクロコンピュータなどの装置と同様の構成によって実現されている点で、第１の実施形態にかかる顔位置検出装置１０と相違している。
【００５０】
図１３は、顔位置検出装置１０の物理的な構成を示すブロック図である。図１３に示されるように、顔位置検出装置１０は、撮像装置２０と、コンピュータからなる画像処理装置３０とから構成されている。
【００５１】
画像処理装置３０は、ＣＰＵ（Central Processing Unit）３０ａ、主記憶部３０ｂ、補助記憶部３０ｃ、表示部３０ｄ、入力部３０ｅ、インターフェイス部３０ｆ、及び上記各部を相互に接続するシステムバス３０ｇを含んで構成されている。
【００５２】
ＣＰＵ３０ａは、補助記憶部３０ｃに記憶されているプログラムに従って、撮像装置２０によって取得された画像に後述する処理を実行する。
【００５３】
主記憶部３０ｂは、ＲＡＭ（Random Access Memory）等を含んで構成され、ＣＰＵ３０ａの作業領域として用いられる。
【００５４】
補助記憶部３０ｃは、ＲＯＭ（Read Only Memory）、磁気ディスク、半導体メモリ等の不揮発性メモリを含んで構成されている。この補助記憶部３０ｃは、ＣＰＵ３０ａが実行するプログラム、及び各種パラメータなどを記憶している。また、撮像装置２０から出力される画像に関する情報、及びＣＰＵ３０ａによる処理結果などを含む情報を順次記憶する。
【００５５】
表示部３０ｄは、ＣＲＴ（Cathode Ray Tube）またはＬＣＤ（Liquid Crystal Display）などを含んで構成され、ＣＰＵ３０ａの処理結果などを表示する。
【００５６】
入力部３０ｅは、キーボードやマウス等のポインティングデバイスを含んで構成されている。オペレータの指示は、この入力部３０ｅを介して入力され、システムバス３０ｇを経由してＣＰＵ３０ａに通知される。
【００５７】
インターフェイス部３０ｆは、シリアルインターフェイスまたはＬＡＮ（Local Area Network）インターフェイス等を含んで構成されている。撮像装置２０は、インターフェイス部３０ｆを介してシステムバス３０ｇに接続される。
【００５８】
図１４のフローチャートは、ＣＰＵ３０ａによって実行されるプログラムの一連の処理アルゴリズムに対応している。以下、図１４を参照しつつ、画像処理装置３０が実行する処理について説明する。なお、この処理は、顔位置検出装置１０が起動され、撮像装置２０によって撮像された画像ＩＭに関する情報が出力された後に実行される。
【００５９】
最初のステップＳ１０１では、ＣＰＵ３０ａは、一例として図６に示されるように、テンプレートＴ１を画像ＩＭ上でＸ軸方向或いはＹ軸方向へ移動させながら、画像ＩＭを構成する画素の中から、テンプレートＴ１の着色された画素に重なる４０個の対応画素からなる画素群を順次選択する。
【００６０】
次のステップＳ１０２では、ＣＰＵ３０ａは、テンプレートＴ２を画像ＩＭ上でＸ軸方向或いはＹ軸方向へ移動させながら、画像ＩＭを構成する画素の中から、テンプレートＴ２の着色された画素に重なる４０個の対応画素からなる画素群を順次選択する。
【００６１】
次のステップＳ１０３では、ＣＰＵ３０ａは、ステップＳ１０１及びステップＳ１０２で選択した画素群を構成する画素それぞれにおける、画像ＩＭのエッジの向きを検出する。
【００６２】
具体的には、ＣＰＵ３０ａは、上記式（１）で示されるオペレータを用いて、画素群を構成する４０の画素それぞれにおける、画像ＩＭのＸ軸方向の輝度の勾配の大きさＡＸ１〜ＡＸ４０を検出する。次に、上記式（２）で示されるオペレータを用いて、画素群を構成する４０の画素それぞれにおける、画像ＩＭのＹ軸方向の輝度の勾配の大きさＡＹ１〜ＡＹ４０を検出する。そして、ＣＰＵ３０ａは、画素群を構成する４０の画素それぞれにおけるエッジの向きを、上記式（３）で示される角度θＮ（Ｎ＝１，２，…，４０）として検出する。
【００６３】
次のステップＳ１０４では、ＣＰＵ３０ａは、テンプレートＴ１の画素ａ１〜ａ４０についての対応画素のテンプレート座標系におけるｙ座標と、対応画素におけるエッジの向きとしての角度θＮとで規定される点を、ｙ−θ座標系にプロットする。これにより、ｙ−θ座標系には、例えば図７に示されるように、白抜きの四角で示される点がプロットされる。次に、ＣＰＵ３０ａは、テンプレートＴ２の画素ａ１〜ａ４０についての対応画素のテンプレート座標系におけるｙ座標と、対応画素におけるエッジの向きとしての角度θＮとで規定される点を、ｙ−θ座標系にプロットする。
【００６４】
次のステップＳ１０５では、ＣＰＵ３０ａは、ｙ−θ座標系に示された基準曲線Ｓ１，Ｓ２と、ｙ−θ座標系にプロットされた点との位置関係に基づいて、ステップＳ１０１及びステップＳ１０２で選択された画素群が、例えば図２に示される運転者１００の顔Ｆの輪郭ＯＰである尤度を算出する。
【００６５】
上述したようにｙ−θ座標系にプロットされる点は、例えば図９に示されるように、テンプレートＴ１の画素ａ１〜ａ４０によって規定される輪郭線Ｌ１が、顔Ｆの輪郭ＯＰにほぼ一致する位置Ｐ２にあるときには、図７に白抜きの四角で示されるように、ほぼすべての点が基準曲線Ｓ１に沿って分布する。
【００６６】
一方、ｙ−θ座標系にプロットされる点は、例えば図９に示されるように、輪郭線Ｌ１が、顔Ｆの輪郭ＯＰから少し顔Ｆの内側の位置Ｐ１にあるときには、図１０に着色された四角で示されるように、大部分の点が基準曲線Ｓ１に沿って分布するが、一部の点が基準曲線Ｓ１から離間して分布する。基準曲線Ｓ１から上方に離間した領域Ｃ１に現れた点は、画像ＩＭの眉毛付近の画素に対応する点である。また、基準曲線Ｓ１から下方に離間した領域Ｃ２に現れた点は、画像ＩＭの目尻付近に対応する点である。
【００６７】
また、輪郭線Ｌ１が、顔Ｆの輪郭ＯＰから著しく顔Ｆから離れた位置Ｐ３にあるときには、図１０に白抜きの丸で示されるように、ほぼ全部の点が基準曲線Ｓ１とは位置的に無関係に分布する。
【００６８】
ＣＰＵ３０ａは、図７及び図１０に示されるように、基準曲線Ｓ１を含む領域Ａ１を設定するとともに、図１１に示されるように、基準曲線Ｓ２を含む領域Ａ２を設定する。そして、画像ＩＭから選択された画素群ごとにプロットした４０の点の中から、領域Ａ１或いは領域Ａ２に含まれる点を検出する。そして、検出した点の数を、すべての点の数（４０）で除して、その結果を尤度として順次算出し出力する。
【００６９】
次のステップＳ１０６では、ＣＰＵ３０ａは、テンプレートＴ１によって選択された画素群の中から、最も値が大きい尤度が算出されたときの画素群を特定する。次に、ＣＰＵ３０ａは、テンプレートＴ２によって選択された画素群の中から、最も値が大きい尤度が算出されたときの画素群を特定する。
【００７０】
次のステップＳ１０７では、ＣＰＵ３０ａは、ステップＳ１０６で特定した１組の画素群によって運転者１００の顔Ｆの輪郭ＯＰが構成されているものとして、顔Ｆの位置情報を検出し出力する。
【００７１】
以上説明したように、本第２の実施形態では、運転者１００の顔Ｆを撮像して得られる画像ＩＭを構成する画素の中から、顔Ｆの輪郭ＯＰに沿うように予め規定された輪郭曲線Ｌ１，Ｌ２に一致するように配置された画素からなる画素群が順次選択される。次に、選択された画素群が、運転者１００の顔Ｆの輪郭ＯＰを構成する尤度が算出される。そして、この尤度に基づいて決定された画素が顔Ｆの輪郭ＯＰを構成するものとして、顔Ｆの画像ＩＭにおける位置が検出される。
【００７２】
これによれば、顔Ｆの輪郭を構成しない直線状のエッジが、顔Ｆの輪郭として抽出されることがなくなるので、顔Ｆの右端及び左端の輪郭ＯＰを正確に検出することができる。具体的には、顔Ｆに影が形成されることにより、顔Ｆの画像に直線状のエッジが現れたとしても、画像ＩＭを構成する画素が、予め統計等により決定された滑らかにカーブする輪郭曲線Ｌ１，Ｌ２に基づいて選択され、選択された画素が顔Ｆの輪郭ＯＰを構成するか否かが判断される。したがって、顔Ｆに現れる影等の影響を受けることなく、運転者１００の顔Ｆを正確に検出することができる。
【００７３】
以上、本発明の実施形態について説明したが、本発明は上記実施形態によって限定されるものではない。
【００７４】
例えば、上記各実施形態では、４０行１０列のマトリクス状に配置された４００の画素からなるテンプレートを用いたが、これに限らず、画面の解像度、画面のサイズに見合った適当な大きさのテンプレートを用いることとしてもよい。
【００７５】
また、上記各実施形態では、ｙ−θ座標系に設けられた領域Ａ１或いは領域Ａ２に含まれる点の数を、点の総数で除することで尤度を算出した。しかしながら、本発明はこれに限定されるものではなく、例えば、領域Ａ１或いは領域Ａ２に含まれる点の数と、領域Ａ１或いは領域Ａ２に含まれない点の数との比に基づいて尤度を算出してもよい。また、領域Ａ１或いは領域Ａ２に含まれる点の数から、領域Ａ１或いは領域Ａ２に含まれない点の数を減じた値を尤度として算出してもよい。また、上述の尤度は、基準曲線Ｓ１或いは基準曲線Ｓ２と各点との距離を、誤差として算出し、各点の誤差の総和に基づいて決定することとしてもよい。
【００７６】
また、上記各実施形態では、尤度に基づいて顔Ｆの右側の輪郭ＯＰを構成する画素群と、左側の輪郭ＯＰを構成する画素群とを特定したが、顔Ｆの右側及び左側の輪郭ＯＰを構成するそれぞれの画素群を、輪郭ＯＰの対象性を考慮して特定してもよい。例えば、顔Ｆの右側の輪郭ＯＰを構成する画素群と、左側の輪郭ＯＰを構成する画素群とを、エッジの角度の対称性、すなわち、ｙ−θ座標系にプロットされた点の分布のｙ軸に関する対称性などを考慮して特定してもよい。これによれば、例えば上下方向（Ｙ軸方向）に著しくずれた一組の画素群が、左右の輪郭ＯＰを構成する画素群として特定されることがなくなるため、顔位置の検出精度を向上させることが可能となる。
【００７７】
また、顔Ｆの右側の輪郭を構成する第１の画素群と、左側の輪郭ＯＰを構成する第２の画素群とを、各画素群を構成する画素間のｙ軸方向の相対位置関係に基づいて決定してもよい。具体的には、第１の画素群を構成する画素と、この画素に対応する第２の画素群を構成する画素との、ｙ軸方向の距離が所定の閾値以下となるように、第１の画素群と第２の画素群とをそれぞれ決定してもよい。この場合にも、例えば上下方向（Ｙ軸方向）に著しくずれた一組の画素群が、左右の輪郭ＯＰを構成する画素群として特定されることがなくなるため、顔位置の検出精度を向上させることが可能となる。
【００７８】
また、上記各実施形態では、一組の輪郭曲線Ｌ１，Ｌ２に基づくテンプレートＴ１，Ｔ２を用いて画素群を選択したが、輪郭曲線Ｌ１，Ｌ２以外の複数の輪郭曲線を予め設定しておき、例えば算出された尤度が所定の閾値以下の場合には、他の輪郭曲線に基づくテンプレートを用いて画素群を選択してもよい。これによれば、輪郭の個人差に基づく検出誤差が小さくなるため、顔位置の検出精度を向上させることが可能となる。
【００７９】
また、上記各実施形態では、図６を参照するとわかるように、テンプレートＴ１，Ｔ２を画像ＩＭのすべての領域に重ね併せて画素群を選択した。しかしながら、本発明はこれに限定されるものではなく、例えば、一度運転者の顔の位置を検出した後は、過去の顔位置の検出結果などに基づいて、画像ＩＭにテンプレートＴ１，Ｔ２をマッチングさせる領域を規定してもよい。これにより、顔位置を検出する際に取り扱うデータ量が少なくなるため、顔位置の検出を迅速に行うことが可能となる。
【００８０】
また、上記各実施形態に係る画像処理装置３０の機能は、専用のハードウェアによっても、通常のコンピュータシステムによっても実現することができる。
【００８１】
また、第２の実施形態において画像処理装置３０の補助記憶部３０ｃに記憶されているプログラムは、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disk Read-Only Memory）、ＤＶＤ（Digital Versatile Disk）、ＭＯ（Magneto-Optical disk）等のコンピュータで読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータにインストールすることにより、上述の処理を実行する装置を構成することとしてもよい。
【００８２】
また、プログラムをインターネット等の通信ネットワーク上の所定のサーバ装置が有するディスク装置等に格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するようにしても良い。
【００８３】
また、プログラムは、通信ネットワークを介して転送しながら起動実行することとしてもよい。
【００８４】
また、プログラムは、全部又は一部をサーバ装置上で実行させ、その処理に関する情報を通信ネットワークを介して送受信しながら、上述の画像処理を実行することとしてもよい。
【００８５】
なお、上述の機能を、ＯＳ（Operating System）が分担して実現する場合又はＯＳとアプリケーションとの協働により実現する場合等には、ＯＳ以外の部分のみを媒体に格納して配布してもよく、また、コンピュータにダウンロード等しても良い。
【００８６】
なお、本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。
【産業上の利用可能性】
【００８７】
本発明の顔位置検出装置、顔位置検出方法及びプログラムは、運転者の顔の位置を検出するのに適している。
【符号の説明】
【００８８】
１０  顔位置検出装置
２０  撮像装置
３０  画像処理装置
３０ａ  ＣＰＵ
３０ｂ  主記憶部
３０ｃ  補助記憶部
３０ｄ  表示部
３０ｅ  入力部
３０ｆ  インターフェイス部
３０ｇ  システムバス
３１  選択部
３２  エッジ角度検出部
３３  演算部
３４  顔位置検出部
１００  運転者
Ｆ  顔
ＯＰ  輪郭
ＩＭ  画像
Ｌ１，Ｌ２  輪郭曲線
Ｓ１，Ｓ２  基準曲線
Ｔ１，Ｔ２  テンプレート
【図１】
0005397103.tif 000004
【図２】
0005397103.tif 000005
【図３】
0005397103.tif 000006
【図４】
0005397103.tif 000007
【図５】
0005397103.tif 000008
【図６】
0005397103.tif 000009
【図７】
0005397103.tif 000010
【図８】
0005397103.tif 000011
【図９】
0005397103.tif 000012
【図１０】
0005397103.tif 000013
【図１１】
0005397103.tif 000014
【図１２】
0005397103.tif 000015
【図１３】
0005397103.tif 000016
【図１４】
0005397103.tif 000017