顔位置検出装置、顔位置検出方法及びプログラム
【課題】車両を運転する運転者の顔を正確に検出する。
【解決手段】運転者の顔を撮像して得られる画像を構成する画素の中から、顔の輪郭に沿うように予め規定された輪郭曲線に一致するように配置される画素からなる画素群を順次選択する。次に、選択した画素群が、運転者の顔の輪郭を構成する尤度を算出する。そして、この尤度に基づいて決定された画素群を構成する画素が顔の輪郭を構成するものとして、運転者の顔の位置を検出する。これによれば、顔の輪郭を構成しない直線状のエッジが、顔の輪郭として抽出されることがなくなるので、顔の輪郭を正確に検出することができる。
【解決手段】運転者の顔を撮像して得られる画像を構成する画素の中から、顔の輪郭に沿うように予め規定された輪郭曲線に一致するように配置される画素からなる画素群を順次選択する。次に、選択した画素群が、運転者の顔の輪郭を構成する尤度を算出する。そして、この尤度に基づいて決定された画素群を構成する画素が顔の輪郭を構成するものとして、運転者の顔の位置を検出する。これによれば、顔の輪郭を構成しない直線状のエッジが、顔の輪郭として抽出されることがなくなるので、顔の輪郭を正確に検出することができる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、顔位置検出装置、顔位置検出方法及びプログラムに関し、更に詳しくは、画像に写る顔の位置を検出する顔位置検出装置、画像に写る顔の位置を検出するための顔位置検出方法及びプログラムに関する。
【背景技術】
【0002】
交通事故を誘発する原因は様々であるが、運転者が漫然とした状態で車両の運転を行うことも、事故を誘発する原因の1つである。漫然とした状態とは、運転中の会話や、携帯電話の使用など、運転者が運転以外の行動を行うことにより、運転に対する注意力が散漫になった状態や、疲労や眠気などによって運転者の注意力が低下した状態をいう。そこで、車両を運転する運転者の状態を随時観察し、運転者が漫然な状態に至った場合に、運転者に警告を発するシステムが提案されている。
【0003】
この種のシステムでは、モニタカメラなどの視野内にある運転者を正確に認識するために種々の方法が用いられている(例えば特許文献1及び2参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2005−011097号公報
【特許文献2】特開2007−72628号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載された装置は、人の顔を撮像して得られた画像から、各画素の輝度の変化に基づいて、顔の中心を通る中心線の候補となる複数の直線を検出する。そして、顔の輪郭などを表す画素の対象性を利用して、候補となる直線の中から、最も確からしい直線を選択し、選択した当該直線に関する確からしさに基づいて、運転者の顔の有無を判定する。
【0006】
しかしながら、この装置は、車両の移動などにより運転者の顔に影ができると、顔の輪郭に一致する画素をうまく特定することができなくなることがある。このため、正確に顔の有無を判定することが困難となる場合がある。
【0007】
また、特許文献2に記載された装置は、人の顔を含む所定領域を撮像して得られる画像に対して、ソーベルフィルタを用いた画像処理を実行する。次に、当該処理後の画像を構成する画素のエッジ値に基づくヒストグラムを生成する。そして、ヒストグラムのピークに対応する位置を顔の輪郭として検出する。しかしながら、ヒストグラムのピークが現れる位置は、運転者の顔にできる影の影響を受けて変動する。このため、この装置では、正確に顔の位置を検出することが困難となる場合がある。
【0008】
本発明は、上述の事情の下になされたもので、顔に現れる影などの影響を受けることなく、顔の両端を正確に検出することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するために、本発明の顔位置検出装置は、人の顔を撮像する撮像手段と、撮像手段によって撮像された画像を構成する画素のうち、顔の輪郭に沿う輪郭曲線状に配置される画素からなる画素群を順次選択する選択手段と、選択手段に選択された画素群ごとに、各画素における画像に含まれるエッジの向きを検出するエッジ方向検出手段と、画素群ごとに、画素相互間の位置関係と、各画素それぞれにおけるエッジの向きに基づいて、画素群を構成する画素が顔の輪郭を構成する尤度を算出する演算手段と、を備える。
【0010】
演算手段は、画素それぞれの座標と、エッジの向きとによって規定される点の分布に基づいて尤度を算出することとしてもよい。
【0011】
また、演算手段は、画素群を構成する画素それぞれの座標と、当該座標における輪郭曲線の法線の向きとを示す基準曲線に対する点の分布に基づいて尤度を算出することとしてもよい。
【0012】
また、演算手段は、統計に基づいて設定された範囲内にある点の数に基づいて尤度を算出することとしてもよい。
【0013】
顔位置検出装置は、尤度に基づいて画素群を特定し、特定した画素群の画素を顔の輪郭の少なくとも一部を構成する画素であるとして、画像から顔の位置を検出する顔位置検出手段を更に備えていてもよい。
【0014】
画素群は、顔の右側の輪郭に沿う第1の輪郭曲線状に配置される画素からなる画素群と、顔の左側の輪郭に沿う第2の輪郭曲線状に配置される画素からなる画素群と、を含み、顔位置検出手段は、第1の輪郭曲線状に配置される画素からなる画素群の中から、尤度に基づいていずれかの画素群を第1画素群として抽出するとともに、第2の輪郭曲線状に配置される画素からなる画素群の中から、尤度に基づいていずれかの画素群を第2画素群として抽出し、第1画素群及び第2画素群を構成する画素を、顔の輪郭の少なくとも一部を構成する画素であるとして、画像に含まれる顔の位置を検出することとしてもよい。
【0015】
顔位置検出手段は、尤度が最も高いときの画素群を抽出することとしてもよい。
【0016】
また、顔位置検出手段は、第1画素群及び第2画素群を、第1画素群を構成する画素におけるエッジの方向と、第2画素群を構成する画素におけるエッジの方向との対称性に基づいて抽出することとしてもよい。
【0017】
また、顔位置検出手段は、第1画素群及び第2画素群を、第1画素群を構成する画素と、第2画素群を構成する画素との、顔の上下方向に関する相対位置関係に基づいて抽出することとしてもよい。
【0018】
上記目的を達成するために、本発明の顔位置検出方法は、人の顔が写る画像を構成する画素のうち、顔の輪郭に沿う輪郭曲線状に配置される画素からなる画素群を順次選択する工程と、選択した画素群ごとに、各画素における画像に含まれるエッジの向きを検出する工程と、画素群ごとに、画素それぞれの座標と、エッジの向きとによって規定される点の分布に基づいて、画素群を構成する画素が顔の輪郭を構成する尤度を算出する工程と、尤度に基づいて画素群を特定し、特定した画素群の画素を顔の輪郭の少なくとも一部を構成する画素であるとして、画像に含まれる顔の位置を検出する工程と、を含む。
【0019】
上記目的を達成するために、本発明のプログラムは、コンピュータを、人の顔が写る画像を構成する画素のうち、顔の輪郭に沿う輪郭曲線状に配置される画素からなる画素群を順次選択する手段と、選択した画素群ごとに、各画素における画像に含まれるエッジの向きを検出する手段と、画素群ごとに、画素それぞれの座標と、エッジの向きとによって規定される点の分布に基づいて、画素群を構成する画素が顔の輪郭を構成する尤度を算出する手段と、尤度に基づいて画素群を特定し、特定した画素群の画素を顔の輪郭の少なくとも一部を構成する画素であるとして、画像に含まれる顔の位置を検出する手段と、として機能させる。
【発明の効果】
【0020】
本発明によれば、顔の両端を正確に検出することができる。
【図面の簡単な説明】
【0021】
【図1】第1の実施形態に係る顔位置検出装置のブロック図である。
【図2】撮像装置によって撮像された画像を示す図である。
【図3】輪郭曲線を説明するための図である。
【図4】第1のテンプレートを示す図である。
【図5】第2のテンプレートを示す図である。
【図6】選択部の動作を説明するための図である。
【図7】y−θ座標系にプロットされた点を示す図(その1)である。
【図8】第1のテンプレートに規定された輪郭曲線の法線ベクトルを示す図である。
【図9】画像上の輪郭曲線の位置を示す図である。
【図10】y−θ座標系にプロットされた点を示す図(その2)である。
【図11】y−θ座標系にプロットされた点を示す図(その3)である。
【図12】第2のテンプレートに規定された輪郭曲線の法線ベクトルを示す図である。
【図13】第2の実施形態に係る顔位置検出装置のブロック図である。
【図14】画像処理装置の動作を説明するためのフローチャートである。
【発明を実施するための形態】
【0022】
《第1の実施形態》
以下、本発明の第1の実施形態を、図1〜図12を参照しつつ説明する。図1は本実施形態にかかる顔位置検出装置10の概略的な構成を示すブロック図である。顔位置検出装置10は、画像に写った人の顔を検出する装置である。この顔位置検出装置10は、図1に示されるように、撮像装置20と、撮像装置20によって撮像された画像から人の顔を検出する画像処理装置30とを有している。
【0023】
撮像装置20は、被写体を撮像することにより取得した画像を電気信号に変換して出力する装置である。例えば図2に示される画像IMを参照するとわかるように、この撮像装置20は、車両の運転席に着座したときの運転者100の顔Fが撮像されるように、例えば車両のフロントガラスや、ダッシュボードに取り付けられている。そして、運転者100を所定の周期で撮像し、撮像して得た画像に関する情報を画像処理装置30へ出力する。
【0024】
図1に戻り、画像処理装置30は、選択部31、エッジ角度検出部32、演算部33及び顔位置検出部34を含んで構成されている。
【0025】
選択部31は、撮像装置20によって撮像された画像から、予め設定された輪郭曲線に沿って配置された複数の画素からなる画素群を順次選択し出力する。
【0026】
図3には、運転者100の顔Fの輪郭に沿う輪郭曲線L1及び輪郭曲線L2が示されている。輪郭曲線L1及び輪郭曲線L2は、車両の運転席に着座した複数人の被験者を、撮像装置20によって、予め撮像して得た画像データに基づいて規定された曲線である。これらの輪郭曲線L1及び輪郭曲線L2それぞれは、運転者100の顔Fの右側(+X側)及び左側(−X側)の輪郭に沿って滑らかに湾曲した形状を有している。
【0027】
選択部31は、図4に示されるように、輪郭曲線L1に一致する40の画素が着色して示されたテンプレートT1と、図5に示されるように、輪郭曲線L2に一致する40の画素が着色して示されたテンプレートT2とを有している。これらのテンプレートT1及びテンプレートT2それぞれは、40行10列のマトリクス状に配置された400の画素a(m,n)からなり、左下のコーナーを原点とするテンプレート座標系(xy座標系)が規定されている。また、テンプレートT1及びテンプレートT2では、説明の便宜上、輪郭曲線L1或いは輪郭曲線L2に一致する画素のうち、Y座標が最も小さいものを画素a1と表示し、Y座標が1画素分増加する毎に画素a2、画素a3、…画素a40と表示するものとする。
【0028】
選択部31は、一例として図6に示されるように、テンプレートT1を画像IM上でX軸方向或いはY軸方向へ移動させながら、画像IMを構成する画素の中から、テンプレートT1の着色された画素に重なる40個の画素(対応画素)からなる画素群を順次選択する。そして、選択した画素群に関する情報をエッジ角度検出部32へ順次出力する。
【0029】
次に、選択部31は、テンプレートT2を画像IM上でX軸方向或いはY軸方向へ移動させながら、画像IMを構成する画素の中から、テンプレートT2の着色された画素に重なる40個の対応画素からなる画素群を順次選択する。そして、選択した画素群に関する情報をエッジ角度検出部32へ順次出力する。
【0030】
エッジ角度検出部32は、選択部31から出力された画素群を構成する対応画素それぞれにおける、画像IMのエッジの向きを検出する。
【0031】
具体的には、エッジ角度検出部32は、以下の式(1)で示されるオペレータを用いて、選択部31から出力された画素群を構成する40の対応画素それぞれにおける、画像IMのX軸方向の輝度の勾配の大きさAX1〜AX40を検出する。
【0032】
【数1】
【0033】
次に、エッジ角度検出部32は、以下の式(2)で示されるオペレータを用いて、選択部31から出力された画素群を構成する40の対応画素それぞれにおける、画像IMのY軸方向の輝度の勾配の大きさAY1〜AY40を検出する。
【0034】
【数2】
【0035】
次に、エッジ角度検出部32は、画素群を構成する40の対応画素それぞれにおけるエッジの向きを、以下の式(3)で示される角度θN(N=1,2,…,40)として検出する。そして、エッジ角度検出部32は、検出した角度θNに関する情報を、演算部33へ出力する。
【0036】
θN=tan−1(AYN/AXN)…(3)
【0037】
演算部33は、テンプレートT1の画素a1〜a40についての対応画素のテンプレート座標系におけるy座標と、対応画素におけるエッジの向きとしての角度θNとで規定される点を、y−θ座標系にプロットする。
【0038】
一例として、図7には、基準曲線S1とともにy−θ座標系にプロットされた点が示されている。また、図8には、テンプレートT1を構成する画素a(m,n)のうちの曲線L1と重なる画素a1〜a40を始点とする曲線L1の法線ベクトルNNが示されている。図7における基準曲線S1は、テンプレートT1の画素a1〜a40のテンプレート座標系におけるy座標と、各法線ベクトルNNとx軸とのなす角度とによって規定されるy−θ座標系上の点を通る曲線である。演算部33は、この基準曲線S1に対するy−θ座標系にプロットされた点との位置関係に基づいて、選択部31によって画像IMから選択された画素群が、例えば図2に示される運転者100の顔Fの輪郭OPである尤度を算出する。
【0039】
上述したようにy−θ座標系にプロットされる点は、例えば図9に示されるように、テンプレートT1の画素a1〜a40によって規定される輪郭曲線L1が、顔Fの輪郭OPにほぼ一致する位置P2にあるときには、図7に白抜きの四角で示されるように、ほぼすべての点が基準曲線S1に沿って分布する。
【0040】
一方、y−θ座標系にプロットされる点は、例えば図9に示されるように、輪郭曲線L1が、顔Fの輪郭OPから少し顔Fの内側の位置P1にあるときには、図10に着色された四角で示されるように、大部分の点が基準曲線S1に沿って分布するが、一部の点が基準曲線S1から離間して分布する。基準曲線S1から上方に離間した領域C1に現れた点は、画像IMの眉毛付近の画素に対応する点である。また、基準曲線S1から下方に離間した領域C2に現れた点は、画像IMの目尻付近に対応する点である。
【0041】
また、輪郭曲線L1が、顔Fの輪郭OPから著しく顔Fから離れた位置P3にあるときには、図10に白抜きの丸で示されるように、ほぼ全部の点が基準曲線S1とは位置的に無関係に分布する。
【0042】
演算部33は、例えば図7及び図10に示されるように、基準曲線S1を含む領域A1を統計などに基づいて設定し、選択部31によって画像IMから選択された画素群ごとにプロットした40の点の中から、領域A1に含まれる点を検出する。そして、検出した点の数を、すべての点の数(40)で除して、その結果を尤度として順次算出し出力する。
【0043】
次に、演算部33は、テンプレートT2の画素a1〜a40についての対応画素のテンプレート座標系におけるy座標と、対応画素におけるエッジの向きとしての角度θNとで規定される点を、y−θ座標系にプロットする。
【0044】
一例として、図11には、基準曲線S2とともにy−θ座標系にプロットされた点が示されている。また、図12には、テンプレートT2を構成する画素a(m,n)のうちの曲線L2と重なる画素a1〜a40を始点とする曲線L2の法線ベクトルNNが示されている。図11における基準曲線S2は、テンプレートT2の画素a1〜a40のテンプレート座標系におけるy座標と、各法線ベクトルNNとx軸とのなす角度とによって規定されるy−θ座標系上の点を通る曲線である。演算部33は、この基準曲線S2に対するy−θ座標系にプロットされた点との位置関係に基づいて、選択部31によって画像IMから選択された画素群が、図2に示される運転者100の顔Fの輪郭OPである尤度を算出する。具体的には、演算部33は、例えば図11に示されるように、基準曲線S2を含む領域A2を統計などに基づいて設定し、選択部31によって画像IMから選択された画素群ごとにプロットした40の点の中から、領域A2に含まれる点を検出する。そして、検出した点の数を、すべての点の数(40)で除して、その結果を尤度として順次算出し出力する。
【0045】
顔位置検出部34は、テンプレートT1によって選択された画素群の中から、最も値が大きい尤度が算出されたときの画素群を特定する。次に、テンプレートT2によって選択された画素群の中から、最も値が大きい尤度が算出されたときの画素群を特定する。そして、特定した1組の画素群によって運転者100の顔Fの輪郭OPが構成されているものとして、運転者100の顔Fの位置情報を検出し出力する。
【0046】
以上説明したように、本第1の実施形態では、運転者100の顔Fを撮像して得られる画像IMを構成する画素の中から、顔Fの輪郭OPに沿うように予め規定された輪郭曲線L1,L2に一致するように配置された画素からなる画素群が順次選択される。次に、選択された画素群が、運転者100の顔Fの輪郭OPを構成する尤度が算出される。そして、この尤度に基づいて決定された画素が顔Fの輪郭OPを構成するものとして、顔Fの画像IMにおける位置が検出される。
【0047】
これによれば、顔Fの輪郭を構成しない直線状のエッジが、顔Fの輪郭として抽出されることがなくなるので、顔Fの右端及び左端の輪郭OPを正確に検出することができる。具体的には、顔Fに影が形成されることにより、顔Fの画像に直線状のエッジが現れたとしても、画像IMを構成する画素が、予め統計等により決定された滑らかにカーブする輪郭曲線L1,L2に基づいて選択され、選択された画素が顔Fの輪郭OPを構成するか否かが判断される。したがって、顔Fに現れる影等の影響を受けることなく、運転者100の顔Fを正確に検出することができる。
【0048】
《第2の実施形態》
次に、本発明の第2の実施形態を、図13及び図14を参照しつつ説明する。なお、第1の実施形態と同一又は同等の構成については、同等の符号を用いるとともに、その説明を省略又は簡略する。
【0049】
本実施形態にかかる顔位置検出装置10は、画像処理装置30が、一般的なコンピュータ、又はマイクロコンピュータなどの装置と同様の構成によって実現されている点で、第1の実施形態にかかる顔位置検出装置10と相違している。
【0050】
図13は、顔位置検出装置10の物理的な構成を示すブロック図である。図13に示されるように、顔位置検出装置10は、撮像装置20と、コンピュータからなる画像処理装置30とから構成されている。
【0051】
画像処理装置30は、CPU(Central Processing Unit)30a、主記憶部30b、補助記憶部30c、表示部30d、入力部30e、インターフェイス部30f、及び上記各部を相互に接続するシステムバス30gを含んで構成されている。
【0052】
CPU30aは、補助記憶部30cに記憶されているプログラムに従って、撮像装置20によって取得された画像に後述する処理を実行する。
【0053】
主記憶部30bは、RAM(Random Access Memory)等を含んで構成され、CPU30aの作業領域として用いられる。
【0054】
補助記憶部30cは、ROM(Read Only Memory)、磁気ディスク、半導体メモリ等の不揮発性メモリを含んで構成されている。この補助記憶部30cは、CPU30aが実行するプログラム、及び各種パラメータなどを記憶している。また、撮像装置20から出力される画像に関する情報、及びCPU30aによる処理結果などを含む情報を順次記憶する。
【0055】
表示部30dは、CRT(Cathode Ray Tube)またはLCD(Liquid Crystal Display)などを含んで構成され、CPU30aの処理結果などを表示する。
【0056】
入力部30eは、キーボードやマウス等のポインティングデバイスを含んで構成されている。オペレータの指示は、この入力部30eを介して入力され、システムバス30gを経由してCPU30aに通知される。
【0057】
インターフェイス部30fは、シリアルインターフェイスまたはLAN(Local Area Network)インターフェイス等を含んで構成されている。撮像装置20は、インターフェイス部30fを介してシステムバス30gに接続される。
【0058】
図14のフローチャートは、CPU30aによって実行されるプログラムの一連の処理アルゴリズムに対応している。以下、図14を参照しつつ、画像処理装置30が実行する処理について説明する。なお、この処理は、顔位置検出装置10が起動され、撮像装置20によって撮像された画像IMに関する情報が出力された後に実行される。
【0059】
最初のステップS101では、CPU30aは、一例として図6に示されるように、テンプレートT1を画像IM上でX軸方向或いはY軸方向へ移動させながら、画像IMを構成する画素の中から、テンプレートT1の着色された画素に重なる40個の対応画素からなる画素群を順次選択する。
【0060】
次のステップS102では、CPU30aは、テンプレートT2を画像IM上でX軸方向或いはY軸方向へ移動させながら、画像IMを構成する画素の中から、テンプレートT2の着色された画素に重なる40個の対応画素からなる画素群を順次選択する。
【0061】
次のステップS103では、CPU30aは、ステップS101及びステップS102で選択した画素群を構成する画素それぞれにおける、画像IMのエッジの向きを検出する。
【0062】
具体的には、CPU30aは、上記式(1)で示されるオペレータを用いて、画素群を構成する40の画素それぞれにおける、画像IMのX軸方向の輝度の勾配の大きさAX1〜AX40を検出する。次に、上記式(2)で示されるオペレータを用いて、画素群を構成する40の画素それぞれにおける、画像IMのY軸方向の輝度の勾配の大きさAY1〜AY40を検出する。そして、CPU30aは、画素群を構成する40の画素それぞれにおけるエッジの向きを、上記式(3)で示される角度θN(N=1,2,…,40)として検出する。
【0063】
次のステップS104では、CPU30aは、テンプレートT1の画素a1〜a40についての対応画素のテンプレート座標系におけるy座標と、対応画素におけるエッジの向きとしての角度θNとで規定される点を、y−θ座標系にプロットする。これにより、y−θ座標系には、例えば図7に示されるように、白抜きの四角で示される点がプロットされる。次に、CPU30aは、テンプレートT2の画素a1〜a40についての対応画素のテンプレート座標系におけるy座標と、対応画素におけるエッジの向きとしての角度θNとで規定される点を、y−θ座標系にプロットする。
【0064】
次のステップS105では、CPU30aは、y−θ座標系に示された基準曲線S1,S2と、y−θ座標系にプロットされた点との位置関係に基づいて、ステップS101及びステップS102で選択された画素群が、例えば図2に示される運転者100の顔Fの輪郭OPである尤度を算出する。
【0065】
上述したようにy−θ座標系にプロットされる点は、例えば図9に示されるように、テンプレートT1の画素a1〜a40によって規定される輪郭線L1が、顔Fの輪郭OPにほぼ一致する位置P2にあるときには、図7に白抜きの四角で示されるように、ほぼすべての点が基準曲線S1に沿って分布する。
【0066】
一方、y−θ座標系にプロットされる点は、例えば図9に示されるように、輪郭線L1が、顔Fの輪郭OPから少し顔Fの内側の位置P1にあるときには、図10に着色された四角で示されるように、大部分の点が基準曲線S1に沿って分布するが、一部の点が基準曲線S1から離間して分布する。基準曲線S1から上方に離間した領域C1に現れた点は、画像IMの眉毛付近の画素に対応する点である。また、基準曲線S1から下方に離間した領域C2に現れた点は、画像IMの目尻付近に対応する点である。
【0067】
また、輪郭線L1が、顔Fの輪郭OPから著しく顔Fから離れた位置P3にあるときには、図10に白抜きの丸で示されるように、ほぼ全部の点が基準曲線S1とは位置的に無関係に分布する。
【0068】
CPU30aは、図7及び図10に示されるように、基準曲線S1を含む領域A1を設定するとともに、図11に示されるように、基準曲線S2を含む領域A2を設定する。そして、画像IMから選択された画素群ごとにプロットした40の点の中から、領域A1或いは領域A2に含まれる点を検出する。そして、検出した点の数を、すべての点の数(40)で除して、その結果を尤度として順次算出し出力する。
【0069】
次のステップS106では、CPU30aは、テンプレートT1によって選択された画素群の中から、最も値が大きい尤度が算出されたときの画素群を特定する。次に、CPU30aは、テンプレートT2によって選択された画素群の中から、最も値が大きい尤度が算出されたときの画素群を特定する。
【0070】
次のステップS107では、CPU30aは、ステップS106で特定した1組の画素群によって運転者100の顔Fの輪郭OPが構成されているものとして、顔Fの位置情報を検出し出力する。
【0071】
以上説明したように、本第2の実施形態では、運転者100の顔Fを撮像して得られる画像IMを構成する画素の中から、顔Fの輪郭OPに沿うように予め規定された輪郭曲線L1,L2に一致するように配置された画素からなる画素群が順次選択される。次に、選択された画素群が、運転者100の顔Fの輪郭OPを構成する尤度が算出される。そして、この尤度に基づいて決定された画素が顔Fの輪郭OPを構成するものとして、顔Fの画像IMにおける位置が検出される。
【0072】
これによれば、顔Fの輪郭を構成しない直線状のエッジが、顔Fの輪郭として抽出されることがなくなるので、顔Fの右端及び左端の輪郭OPを正確に検出することができる。具体的には、顔Fに影が形成されることにより、顔Fの画像に直線状のエッジが現れたとしても、画像IMを構成する画素が、予め統計等により決定された滑らかにカーブする輪郭曲線L1,L2に基づいて選択され、選択された画素が顔Fの輪郭OPを構成するか否かが判断される。したがって、顔Fに現れる影等の影響を受けることなく、運転者100の顔Fを正確に検出することができる。
【0073】
以上、本発明の実施形態について説明したが、本発明は上記実施形態によって限定されるものではない。
【0074】
例えば、上記各実施形態では、40行10列のマトリクス状に配置された400の画素からなるテンプレートを用いたが、これに限らず、画面の解像度、画面のサイズに見合った適当な大きさのテンプレートを用いることとしてもよい。
【0075】
また、上記各実施形態では、y−θ座標系に設けられた領域A1或いは領域A2に含まれる点の数を、点の総数で除することで尤度を算出した。しかしながら、本発明はこれに限定されるものではなく、例えば、領域A1或いは領域A2に含まれる点の数と、領域A1或いは領域A2に含まれない点の数との比に基づいて尤度を算出してもよい。また、領域A1或いは領域A2に含まれる点の数から、領域A1或いは領域A2に含まれない点の数を減じた値を尤度として算出してもよい。また、上述の尤度は、基準曲線S1或いは基準曲線S2と各点との距離を、誤差として算出し、各点の誤差の総和に基づいて決定することとしてもよい。
【0076】
また、上記各実施形態では、尤度に基づいて顔Fの右側の輪郭OPを構成する画素群と、左側の輪郭OPを構成する画素群とを特定したが、顔Fの右側及び左側の輪郭OPを構成するそれぞれの画素群を、輪郭OPの対象性を考慮して特定してもよい。例えば、顔Fの右側の輪郭OPを構成する画素群と、左側の輪郭OPを構成する画素群とを、エッジの角度の対称性、すなわち、y−θ座標系にプロットされた点の分布のy軸に関する対称性などを考慮して特定してもよい。これによれば、例えば上下方向(Y軸方向)に著しくずれた一組の画素群が、左右の輪郭OPを構成する画素群として特定されることがなくなるため、顔位置の検出精度を向上させることが可能となる。
【0077】
また、顔Fの右側の輪郭を構成する第1の画素群と、左側の輪郭OPを構成する第2の画素群とを、各画素群を構成する画素間のy軸方向の相対位置関係に基づいて決定してもよい。具体的には、第1の画素群を構成する画素と、この画素に対応する第2の画素群を構成する画素との、y軸方向の距離が所定の閾値以下となるように、第1の画素群と第2の画素群とをそれぞれ決定してもよい。この場合にも、例えば上下方向(Y軸方向)に著しくずれた一組の画素群が、左右の輪郭OPを構成する画素群として特定されることがなくなるため、顔位置の検出精度を向上させることが可能となる。
【0078】
また、上記各実施形態では、一組の輪郭曲線L1,L2に基づくテンプレートT1,T2を用いて画素群を選択したが、輪郭曲線L1,L2以外の複数の輪郭曲線を予め設定しておき、例えば算出された尤度が所定の閾値以下の場合には、他の輪郭曲線に基づくテンプレートを用いて画素群を選択してもよい。これによれば、輪郭の個人差に基づく検出誤差が小さくなるため、顔位置の検出精度を向上させることが可能となる。
【0079】
また、上記各実施形態では、図6を参照するとわかるように、テンプレートT1,T2を画像IMのすべての領域に重ね併せて画素群を選択した。しかしながら、本発明はこれに限定されるものではなく、例えば、一度運転者の顔の位置を検出した後は、過去の顔位置の検出結果などに基づいて、画像IMにテンプレートT1,T2をマッチングさせる領域を規定してもよい。これにより、顔位置を検出する際に取り扱うデータ量が少なくなるため、顔位置の検出を迅速に行うことが可能となる。
【0080】
また、上記各実施形態に係る画像処理装置30の機能は、専用のハードウェアによっても、通常のコンピュータシステムによっても実現することができる。
【0081】
また、第2の実施形態において画像処理装置30の補助記憶部30cに記憶されているプログラムは、フレキシブルディスク、CD−ROM(Compact Disk Read-Only Memory)、DVD(Digital Versatile Disk)、MO(Magneto-Optical disk)等のコンピュータで読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータにインストールすることにより、上述の処理を実行する装置を構成することとしてもよい。
【0082】
また、プログラムをインターネット等の通信ネットワーク上の所定のサーバ装置が有するディスク装置等に格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するようにしても良い。
【0083】
また、プログラムは、通信ネットワークを介して転送しながら起動実行することとしてもよい。
【0084】
また、プログラムは、全部又は一部をサーバ装置上で実行させ、その処理に関する情報を通信ネットワークを介して送受信しながら、上述の画像処理を実行することとしてもよい。
【0085】
なお、上述の機能を、OS(Operating System)が分担して実現する場合又はOSとアプリケーションとの協働により実現する場合等には、OS以外の部分のみを媒体に格納して配布してもよく、また、コンピュータにダウンロード等しても良い。
【0086】
なお、本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。
【産業上の利用可能性】
【0087】
本発明の顔位置検出装置、顔位置検出方法及びプログラムは、運転者の顔の位置を検出するのに適している。
【符号の説明】
【0088】
10 顔位置検出装置
20 撮像装置
30 画像処理装置
30a CPU
30b 主記憶部
30c 補助記憶部
30d 表示部
30e 入力部
30f インターフェイス部
30g システムバス
31 選択部
32 エッジ角度検出部
33 演算部
34 顔位置検出部
100 運転者
F 顔
OP 輪郭
IM 画像
L1,L2 輪郭曲線
S1,S2 基準曲線
T1,T2 テンプレート
【技術分野】
【0001】
本発明は、顔位置検出装置、顔位置検出方法及びプログラムに関し、更に詳しくは、画像に写る顔の位置を検出する顔位置検出装置、画像に写る顔の位置を検出するための顔位置検出方法及びプログラムに関する。
【背景技術】
【0002】
交通事故を誘発する原因は様々であるが、運転者が漫然とした状態で車両の運転を行うことも、事故を誘発する原因の1つである。漫然とした状態とは、運転中の会話や、携帯電話の使用など、運転者が運転以外の行動を行うことにより、運転に対する注意力が散漫になった状態や、疲労や眠気などによって運転者の注意力が低下した状態をいう。そこで、車両を運転する運転者の状態を随時観察し、運転者が漫然な状態に至った場合に、運転者に警告を発するシステムが提案されている。
【0003】
この種のシステムでは、モニタカメラなどの視野内にある運転者を正確に認識するために種々の方法が用いられている(例えば特許文献1及び2参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2005−011097号公報
【特許文献2】特開2007−72628号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載された装置は、人の顔を撮像して得られた画像から、各画素の輝度の変化に基づいて、顔の中心を通る中心線の候補となる複数の直線を検出する。そして、顔の輪郭などを表す画素の対象性を利用して、候補となる直線の中から、最も確からしい直線を選択し、選択した当該直線に関する確からしさに基づいて、運転者の顔の有無を判定する。
【0006】
しかしながら、この装置は、車両の移動などにより運転者の顔に影ができると、顔の輪郭に一致する画素をうまく特定することができなくなることがある。このため、正確に顔の有無を判定することが困難となる場合がある。
【0007】
また、特許文献2に記載された装置は、人の顔を含む所定領域を撮像して得られる画像に対して、ソーベルフィルタを用いた画像処理を実行する。次に、当該処理後の画像を構成する画素のエッジ値に基づくヒストグラムを生成する。そして、ヒストグラムのピークに対応する位置を顔の輪郭として検出する。しかしながら、ヒストグラムのピークが現れる位置は、運転者の顔にできる影の影響を受けて変動する。このため、この装置では、正確に顔の位置を検出することが困難となる場合がある。
【0008】
本発明は、上述の事情の下になされたもので、顔に現れる影などの影響を受けることなく、顔の両端を正確に検出することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するために、本発明の顔位置検出装置は、人の顔を撮像する撮像手段と、撮像手段によって撮像された画像を構成する画素のうち、顔の輪郭に沿う輪郭曲線状に配置される画素からなる画素群を順次選択する選択手段と、選択手段に選択された画素群ごとに、各画素における画像に含まれるエッジの向きを検出するエッジ方向検出手段と、画素群ごとに、画素相互間の位置関係と、各画素それぞれにおけるエッジの向きに基づいて、画素群を構成する画素が顔の輪郭を構成する尤度を算出する演算手段と、を備える。
【0010】
演算手段は、画素それぞれの座標と、エッジの向きとによって規定される点の分布に基づいて尤度を算出することとしてもよい。
【0011】
また、演算手段は、画素群を構成する画素それぞれの座標と、当該座標における輪郭曲線の法線の向きとを示す基準曲線に対する点の分布に基づいて尤度を算出することとしてもよい。
【0012】
また、演算手段は、統計に基づいて設定された範囲内にある点の数に基づいて尤度を算出することとしてもよい。
【0013】
顔位置検出装置は、尤度に基づいて画素群を特定し、特定した画素群の画素を顔の輪郭の少なくとも一部を構成する画素であるとして、画像から顔の位置を検出する顔位置検出手段を更に備えていてもよい。
【0014】
画素群は、顔の右側の輪郭に沿う第1の輪郭曲線状に配置される画素からなる画素群と、顔の左側の輪郭に沿う第2の輪郭曲線状に配置される画素からなる画素群と、を含み、顔位置検出手段は、第1の輪郭曲線状に配置される画素からなる画素群の中から、尤度に基づいていずれかの画素群を第1画素群として抽出するとともに、第2の輪郭曲線状に配置される画素からなる画素群の中から、尤度に基づいていずれかの画素群を第2画素群として抽出し、第1画素群及び第2画素群を構成する画素を、顔の輪郭の少なくとも一部を構成する画素であるとして、画像に含まれる顔の位置を検出することとしてもよい。
【0015】
顔位置検出手段は、尤度が最も高いときの画素群を抽出することとしてもよい。
【0016】
また、顔位置検出手段は、第1画素群及び第2画素群を、第1画素群を構成する画素におけるエッジの方向と、第2画素群を構成する画素におけるエッジの方向との対称性に基づいて抽出することとしてもよい。
【0017】
また、顔位置検出手段は、第1画素群及び第2画素群を、第1画素群を構成する画素と、第2画素群を構成する画素との、顔の上下方向に関する相対位置関係に基づいて抽出することとしてもよい。
【0018】
上記目的を達成するために、本発明の顔位置検出方法は、人の顔が写る画像を構成する画素のうち、顔の輪郭に沿う輪郭曲線状に配置される画素からなる画素群を順次選択する工程と、選択した画素群ごとに、各画素における画像に含まれるエッジの向きを検出する工程と、画素群ごとに、画素それぞれの座標と、エッジの向きとによって規定される点の分布に基づいて、画素群を構成する画素が顔の輪郭を構成する尤度を算出する工程と、尤度に基づいて画素群を特定し、特定した画素群の画素を顔の輪郭の少なくとも一部を構成する画素であるとして、画像に含まれる顔の位置を検出する工程と、を含む。
【0019】
上記目的を達成するために、本発明のプログラムは、コンピュータを、人の顔が写る画像を構成する画素のうち、顔の輪郭に沿う輪郭曲線状に配置される画素からなる画素群を順次選択する手段と、選択した画素群ごとに、各画素における画像に含まれるエッジの向きを検出する手段と、画素群ごとに、画素それぞれの座標と、エッジの向きとによって規定される点の分布に基づいて、画素群を構成する画素が顔の輪郭を構成する尤度を算出する手段と、尤度に基づいて画素群を特定し、特定した画素群の画素を顔の輪郭の少なくとも一部を構成する画素であるとして、画像に含まれる顔の位置を検出する手段と、として機能させる。
【発明の効果】
【0020】
本発明によれば、顔の両端を正確に検出することができる。
【図面の簡単な説明】
【0021】
【図1】第1の実施形態に係る顔位置検出装置のブロック図である。
【図2】撮像装置によって撮像された画像を示す図である。
【図3】輪郭曲線を説明するための図である。
【図4】第1のテンプレートを示す図である。
【図5】第2のテンプレートを示す図である。
【図6】選択部の動作を説明するための図である。
【図7】y−θ座標系にプロットされた点を示す図(その1)である。
【図8】第1のテンプレートに規定された輪郭曲線の法線ベクトルを示す図である。
【図9】画像上の輪郭曲線の位置を示す図である。
【図10】y−θ座標系にプロットされた点を示す図(その2)である。
【図11】y−θ座標系にプロットされた点を示す図(その3)である。
【図12】第2のテンプレートに規定された輪郭曲線の法線ベクトルを示す図である。
【図13】第2の実施形態に係る顔位置検出装置のブロック図である。
【図14】画像処理装置の動作を説明するためのフローチャートである。
【発明を実施するための形態】
【0022】
《第1の実施形態》
以下、本発明の第1の実施形態を、図1〜図12を参照しつつ説明する。図1は本実施形態にかかる顔位置検出装置10の概略的な構成を示すブロック図である。顔位置検出装置10は、画像に写った人の顔を検出する装置である。この顔位置検出装置10は、図1に示されるように、撮像装置20と、撮像装置20によって撮像された画像から人の顔を検出する画像処理装置30とを有している。
【0023】
撮像装置20は、被写体を撮像することにより取得した画像を電気信号に変換して出力する装置である。例えば図2に示される画像IMを参照するとわかるように、この撮像装置20は、車両の運転席に着座したときの運転者100の顔Fが撮像されるように、例えば車両のフロントガラスや、ダッシュボードに取り付けられている。そして、運転者100を所定の周期で撮像し、撮像して得た画像に関する情報を画像処理装置30へ出力する。
【0024】
図1に戻り、画像処理装置30は、選択部31、エッジ角度検出部32、演算部33及び顔位置検出部34を含んで構成されている。
【0025】
選択部31は、撮像装置20によって撮像された画像から、予め設定された輪郭曲線に沿って配置された複数の画素からなる画素群を順次選択し出力する。
【0026】
図3には、運転者100の顔Fの輪郭に沿う輪郭曲線L1及び輪郭曲線L2が示されている。輪郭曲線L1及び輪郭曲線L2は、車両の運転席に着座した複数人の被験者を、撮像装置20によって、予め撮像して得た画像データに基づいて規定された曲線である。これらの輪郭曲線L1及び輪郭曲線L2それぞれは、運転者100の顔Fの右側(+X側)及び左側(−X側)の輪郭に沿って滑らかに湾曲した形状を有している。
【0027】
選択部31は、図4に示されるように、輪郭曲線L1に一致する40の画素が着色して示されたテンプレートT1と、図5に示されるように、輪郭曲線L2に一致する40の画素が着色して示されたテンプレートT2とを有している。これらのテンプレートT1及びテンプレートT2それぞれは、40行10列のマトリクス状に配置された400の画素a(m,n)からなり、左下のコーナーを原点とするテンプレート座標系(xy座標系)が規定されている。また、テンプレートT1及びテンプレートT2では、説明の便宜上、輪郭曲線L1或いは輪郭曲線L2に一致する画素のうち、Y座標が最も小さいものを画素a1と表示し、Y座標が1画素分増加する毎に画素a2、画素a3、…画素a40と表示するものとする。
【0028】
選択部31は、一例として図6に示されるように、テンプレートT1を画像IM上でX軸方向或いはY軸方向へ移動させながら、画像IMを構成する画素の中から、テンプレートT1の着色された画素に重なる40個の画素(対応画素)からなる画素群を順次選択する。そして、選択した画素群に関する情報をエッジ角度検出部32へ順次出力する。
【0029】
次に、選択部31は、テンプレートT2を画像IM上でX軸方向或いはY軸方向へ移動させながら、画像IMを構成する画素の中から、テンプレートT2の着色された画素に重なる40個の対応画素からなる画素群を順次選択する。そして、選択した画素群に関する情報をエッジ角度検出部32へ順次出力する。
【0030】
エッジ角度検出部32は、選択部31から出力された画素群を構成する対応画素それぞれにおける、画像IMのエッジの向きを検出する。
【0031】
具体的には、エッジ角度検出部32は、以下の式(1)で示されるオペレータを用いて、選択部31から出力された画素群を構成する40の対応画素それぞれにおける、画像IMのX軸方向の輝度の勾配の大きさAX1〜AX40を検出する。
【0032】
【数1】
【0033】
次に、エッジ角度検出部32は、以下の式(2)で示されるオペレータを用いて、選択部31から出力された画素群を構成する40の対応画素それぞれにおける、画像IMのY軸方向の輝度の勾配の大きさAY1〜AY40を検出する。
【0034】
【数2】
【0035】
次に、エッジ角度検出部32は、画素群を構成する40の対応画素それぞれにおけるエッジの向きを、以下の式(3)で示される角度θN(N=1,2,…,40)として検出する。そして、エッジ角度検出部32は、検出した角度θNに関する情報を、演算部33へ出力する。
【0036】
θN=tan−1(AYN/AXN)…(3)
【0037】
演算部33は、テンプレートT1の画素a1〜a40についての対応画素のテンプレート座標系におけるy座標と、対応画素におけるエッジの向きとしての角度θNとで規定される点を、y−θ座標系にプロットする。
【0038】
一例として、図7には、基準曲線S1とともにy−θ座標系にプロットされた点が示されている。また、図8には、テンプレートT1を構成する画素a(m,n)のうちの曲線L1と重なる画素a1〜a40を始点とする曲線L1の法線ベクトルNNが示されている。図7における基準曲線S1は、テンプレートT1の画素a1〜a40のテンプレート座標系におけるy座標と、各法線ベクトルNNとx軸とのなす角度とによって規定されるy−θ座標系上の点を通る曲線である。演算部33は、この基準曲線S1に対するy−θ座標系にプロットされた点との位置関係に基づいて、選択部31によって画像IMから選択された画素群が、例えば図2に示される運転者100の顔Fの輪郭OPである尤度を算出する。
【0039】
上述したようにy−θ座標系にプロットされる点は、例えば図9に示されるように、テンプレートT1の画素a1〜a40によって規定される輪郭曲線L1が、顔Fの輪郭OPにほぼ一致する位置P2にあるときには、図7に白抜きの四角で示されるように、ほぼすべての点が基準曲線S1に沿って分布する。
【0040】
一方、y−θ座標系にプロットされる点は、例えば図9に示されるように、輪郭曲線L1が、顔Fの輪郭OPから少し顔Fの内側の位置P1にあるときには、図10に着色された四角で示されるように、大部分の点が基準曲線S1に沿って分布するが、一部の点が基準曲線S1から離間して分布する。基準曲線S1から上方に離間した領域C1に現れた点は、画像IMの眉毛付近の画素に対応する点である。また、基準曲線S1から下方に離間した領域C2に現れた点は、画像IMの目尻付近に対応する点である。
【0041】
また、輪郭曲線L1が、顔Fの輪郭OPから著しく顔Fから離れた位置P3にあるときには、図10に白抜きの丸で示されるように、ほぼ全部の点が基準曲線S1とは位置的に無関係に分布する。
【0042】
演算部33は、例えば図7及び図10に示されるように、基準曲線S1を含む領域A1を統計などに基づいて設定し、選択部31によって画像IMから選択された画素群ごとにプロットした40の点の中から、領域A1に含まれる点を検出する。そして、検出した点の数を、すべての点の数(40)で除して、その結果を尤度として順次算出し出力する。
【0043】
次に、演算部33は、テンプレートT2の画素a1〜a40についての対応画素のテンプレート座標系におけるy座標と、対応画素におけるエッジの向きとしての角度θNとで規定される点を、y−θ座標系にプロットする。
【0044】
一例として、図11には、基準曲線S2とともにy−θ座標系にプロットされた点が示されている。また、図12には、テンプレートT2を構成する画素a(m,n)のうちの曲線L2と重なる画素a1〜a40を始点とする曲線L2の法線ベクトルNNが示されている。図11における基準曲線S2は、テンプレートT2の画素a1〜a40のテンプレート座標系におけるy座標と、各法線ベクトルNNとx軸とのなす角度とによって規定されるy−θ座標系上の点を通る曲線である。演算部33は、この基準曲線S2に対するy−θ座標系にプロットされた点との位置関係に基づいて、選択部31によって画像IMから選択された画素群が、図2に示される運転者100の顔Fの輪郭OPである尤度を算出する。具体的には、演算部33は、例えば図11に示されるように、基準曲線S2を含む領域A2を統計などに基づいて設定し、選択部31によって画像IMから選択された画素群ごとにプロットした40の点の中から、領域A2に含まれる点を検出する。そして、検出した点の数を、すべての点の数(40)で除して、その結果を尤度として順次算出し出力する。
【0045】
顔位置検出部34は、テンプレートT1によって選択された画素群の中から、最も値が大きい尤度が算出されたときの画素群を特定する。次に、テンプレートT2によって選択された画素群の中から、最も値が大きい尤度が算出されたときの画素群を特定する。そして、特定した1組の画素群によって運転者100の顔Fの輪郭OPが構成されているものとして、運転者100の顔Fの位置情報を検出し出力する。
【0046】
以上説明したように、本第1の実施形態では、運転者100の顔Fを撮像して得られる画像IMを構成する画素の中から、顔Fの輪郭OPに沿うように予め規定された輪郭曲線L1,L2に一致するように配置された画素からなる画素群が順次選択される。次に、選択された画素群が、運転者100の顔Fの輪郭OPを構成する尤度が算出される。そして、この尤度に基づいて決定された画素が顔Fの輪郭OPを構成するものとして、顔Fの画像IMにおける位置が検出される。
【0047】
これによれば、顔Fの輪郭を構成しない直線状のエッジが、顔Fの輪郭として抽出されることがなくなるので、顔Fの右端及び左端の輪郭OPを正確に検出することができる。具体的には、顔Fに影が形成されることにより、顔Fの画像に直線状のエッジが現れたとしても、画像IMを構成する画素が、予め統計等により決定された滑らかにカーブする輪郭曲線L1,L2に基づいて選択され、選択された画素が顔Fの輪郭OPを構成するか否かが判断される。したがって、顔Fに現れる影等の影響を受けることなく、運転者100の顔Fを正確に検出することができる。
【0048】
《第2の実施形態》
次に、本発明の第2の実施形態を、図13及び図14を参照しつつ説明する。なお、第1の実施形態と同一又は同等の構成については、同等の符号を用いるとともに、その説明を省略又は簡略する。
【0049】
本実施形態にかかる顔位置検出装置10は、画像処理装置30が、一般的なコンピュータ、又はマイクロコンピュータなどの装置と同様の構成によって実現されている点で、第1の実施形態にかかる顔位置検出装置10と相違している。
【0050】
図13は、顔位置検出装置10の物理的な構成を示すブロック図である。図13に示されるように、顔位置検出装置10は、撮像装置20と、コンピュータからなる画像処理装置30とから構成されている。
【0051】
画像処理装置30は、CPU(Central Processing Unit)30a、主記憶部30b、補助記憶部30c、表示部30d、入力部30e、インターフェイス部30f、及び上記各部を相互に接続するシステムバス30gを含んで構成されている。
【0052】
CPU30aは、補助記憶部30cに記憶されているプログラムに従って、撮像装置20によって取得された画像に後述する処理を実行する。
【0053】
主記憶部30bは、RAM(Random Access Memory)等を含んで構成され、CPU30aの作業領域として用いられる。
【0054】
補助記憶部30cは、ROM(Read Only Memory)、磁気ディスク、半導体メモリ等の不揮発性メモリを含んで構成されている。この補助記憶部30cは、CPU30aが実行するプログラム、及び各種パラメータなどを記憶している。また、撮像装置20から出力される画像に関する情報、及びCPU30aによる処理結果などを含む情報を順次記憶する。
【0055】
表示部30dは、CRT(Cathode Ray Tube)またはLCD(Liquid Crystal Display)などを含んで構成され、CPU30aの処理結果などを表示する。
【0056】
入力部30eは、キーボードやマウス等のポインティングデバイスを含んで構成されている。オペレータの指示は、この入力部30eを介して入力され、システムバス30gを経由してCPU30aに通知される。
【0057】
インターフェイス部30fは、シリアルインターフェイスまたはLAN(Local Area Network)インターフェイス等を含んで構成されている。撮像装置20は、インターフェイス部30fを介してシステムバス30gに接続される。
【0058】
図14のフローチャートは、CPU30aによって実行されるプログラムの一連の処理アルゴリズムに対応している。以下、図14を参照しつつ、画像処理装置30が実行する処理について説明する。なお、この処理は、顔位置検出装置10が起動され、撮像装置20によって撮像された画像IMに関する情報が出力された後に実行される。
【0059】
最初のステップS101では、CPU30aは、一例として図6に示されるように、テンプレートT1を画像IM上でX軸方向或いはY軸方向へ移動させながら、画像IMを構成する画素の中から、テンプレートT1の着色された画素に重なる40個の対応画素からなる画素群を順次選択する。
【0060】
次のステップS102では、CPU30aは、テンプレートT2を画像IM上でX軸方向或いはY軸方向へ移動させながら、画像IMを構成する画素の中から、テンプレートT2の着色された画素に重なる40個の対応画素からなる画素群を順次選択する。
【0061】
次のステップS103では、CPU30aは、ステップS101及びステップS102で選択した画素群を構成する画素それぞれにおける、画像IMのエッジの向きを検出する。
【0062】
具体的には、CPU30aは、上記式(1)で示されるオペレータを用いて、画素群を構成する40の画素それぞれにおける、画像IMのX軸方向の輝度の勾配の大きさAX1〜AX40を検出する。次に、上記式(2)で示されるオペレータを用いて、画素群を構成する40の画素それぞれにおける、画像IMのY軸方向の輝度の勾配の大きさAY1〜AY40を検出する。そして、CPU30aは、画素群を構成する40の画素それぞれにおけるエッジの向きを、上記式(3)で示される角度θN(N=1,2,…,40)として検出する。
【0063】
次のステップS104では、CPU30aは、テンプレートT1の画素a1〜a40についての対応画素のテンプレート座標系におけるy座標と、対応画素におけるエッジの向きとしての角度θNとで規定される点を、y−θ座標系にプロットする。これにより、y−θ座標系には、例えば図7に示されるように、白抜きの四角で示される点がプロットされる。次に、CPU30aは、テンプレートT2の画素a1〜a40についての対応画素のテンプレート座標系におけるy座標と、対応画素におけるエッジの向きとしての角度θNとで規定される点を、y−θ座標系にプロットする。
【0064】
次のステップS105では、CPU30aは、y−θ座標系に示された基準曲線S1,S2と、y−θ座標系にプロットされた点との位置関係に基づいて、ステップS101及びステップS102で選択された画素群が、例えば図2に示される運転者100の顔Fの輪郭OPである尤度を算出する。
【0065】
上述したようにy−θ座標系にプロットされる点は、例えば図9に示されるように、テンプレートT1の画素a1〜a40によって規定される輪郭線L1が、顔Fの輪郭OPにほぼ一致する位置P2にあるときには、図7に白抜きの四角で示されるように、ほぼすべての点が基準曲線S1に沿って分布する。
【0066】
一方、y−θ座標系にプロットされる点は、例えば図9に示されるように、輪郭線L1が、顔Fの輪郭OPから少し顔Fの内側の位置P1にあるときには、図10に着色された四角で示されるように、大部分の点が基準曲線S1に沿って分布するが、一部の点が基準曲線S1から離間して分布する。基準曲線S1から上方に離間した領域C1に現れた点は、画像IMの眉毛付近の画素に対応する点である。また、基準曲線S1から下方に離間した領域C2に現れた点は、画像IMの目尻付近に対応する点である。
【0067】
また、輪郭線L1が、顔Fの輪郭OPから著しく顔Fから離れた位置P3にあるときには、図10に白抜きの丸で示されるように、ほぼ全部の点が基準曲線S1とは位置的に無関係に分布する。
【0068】
CPU30aは、図7及び図10に示されるように、基準曲線S1を含む領域A1を設定するとともに、図11に示されるように、基準曲線S2を含む領域A2を設定する。そして、画像IMから選択された画素群ごとにプロットした40の点の中から、領域A1或いは領域A2に含まれる点を検出する。そして、検出した点の数を、すべての点の数(40)で除して、その結果を尤度として順次算出し出力する。
【0069】
次のステップS106では、CPU30aは、テンプレートT1によって選択された画素群の中から、最も値が大きい尤度が算出されたときの画素群を特定する。次に、CPU30aは、テンプレートT2によって選択された画素群の中から、最も値が大きい尤度が算出されたときの画素群を特定する。
【0070】
次のステップS107では、CPU30aは、ステップS106で特定した1組の画素群によって運転者100の顔Fの輪郭OPが構成されているものとして、顔Fの位置情報を検出し出力する。
【0071】
以上説明したように、本第2の実施形態では、運転者100の顔Fを撮像して得られる画像IMを構成する画素の中から、顔Fの輪郭OPに沿うように予め規定された輪郭曲線L1,L2に一致するように配置された画素からなる画素群が順次選択される。次に、選択された画素群が、運転者100の顔Fの輪郭OPを構成する尤度が算出される。そして、この尤度に基づいて決定された画素が顔Fの輪郭OPを構成するものとして、顔Fの画像IMにおける位置が検出される。
【0072】
これによれば、顔Fの輪郭を構成しない直線状のエッジが、顔Fの輪郭として抽出されることがなくなるので、顔Fの右端及び左端の輪郭OPを正確に検出することができる。具体的には、顔Fに影が形成されることにより、顔Fの画像に直線状のエッジが現れたとしても、画像IMを構成する画素が、予め統計等により決定された滑らかにカーブする輪郭曲線L1,L2に基づいて選択され、選択された画素が顔Fの輪郭OPを構成するか否かが判断される。したがって、顔Fに現れる影等の影響を受けることなく、運転者100の顔Fを正確に検出することができる。
【0073】
以上、本発明の実施形態について説明したが、本発明は上記実施形態によって限定されるものではない。
【0074】
例えば、上記各実施形態では、40行10列のマトリクス状に配置された400の画素からなるテンプレートを用いたが、これに限らず、画面の解像度、画面のサイズに見合った適当な大きさのテンプレートを用いることとしてもよい。
【0075】
また、上記各実施形態では、y−θ座標系に設けられた領域A1或いは領域A2に含まれる点の数を、点の総数で除することで尤度を算出した。しかしながら、本発明はこれに限定されるものではなく、例えば、領域A1或いは領域A2に含まれる点の数と、領域A1或いは領域A2に含まれない点の数との比に基づいて尤度を算出してもよい。また、領域A1或いは領域A2に含まれる点の数から、領域A1或いは領域A2に含まれない点の数を減じた値を尤度として算出してもよい。また、上述の尤度は、基準曲線S1或いは基準曲線S2と各点との距離を、誤差として算出し、各点の誤差の総和に基づいて決定することとしてもよい。
【0076】
また、上記各実施形態では、尤度に基づいて顔Fの右側の輪郭OPを構成する画素群と、左側の輪郭OPを構成する画素群とを特定したが、顔Fの右側及び左側の輪郭OPを構成するそれぞれの画素群を、輪郭OPの対象性を考慮して特定してもよい。例えば、顔Fの右側の輪郭OPを構成する画素群と、左側の輪郭OPを構成する画素群とを、エッジの角度の対称性、すなわち、y−θ座標系にプロットされた点の分布のy軸に関する対称性などを考慮して特定してもよい。これによれば、例えば上下方向(Y軸方向)に著しくずれた一組の画素群が、左右の輪郭OPを構成する画素群として特定されることがなくなるため、顔位置の検出精度を向上させることが可能となる。
【0077】
また、顔Fの右側の輪郭を構成する第1の画素群と、左側の輪郭OPを構成する第2の画素群とを、各画素群を構成する画素間のy軸方向の相対位置関係に基づいて決定してもよい。具体的には、第1の画素群を構成する画素と、この画素に対応する第2の画素群を構成する画素との、y軸方向の距離が所定の閾値以下となるように、第1の画素群と第2の画素群とをそれぞれ決定してもよい。この場合にも、例えば上下方向(Y軸方向)に著しくずれた一組の画素群が、左右の輪郭OPを構成する画素群として特定されることがなくなるため、顔位置の検出精度を向上させることが可能となる。
【0078】
また、上記各実施形態では、一組の輪郭曲線L1,L2に基づくテンプレートT1,T2を用いて画素群を選択したが、輪郭曲線L1,L2以外の複数の輪郭曲線を予め設定しておき、例えば算出された尤度が所定の閾値以下の場合には、他の輪郭曲線に基づくテンプレートを用いて画素群を選択してもよい。これによれば、輪郭の個人差に基づく検出誤差が小さくなるため、顔位置の検出精度を向上させることが可能となる。
【0079】
また、上記各実施形態では、図6を参照するとわかるように、テンプレートT1,T2を画像IMのすべての領域に重ね併せて画素群を選択した。しかしながら、本発明はこれに限定されるものではなく、例えば、一度運転者の顔の位置を検出した後は、過去の顔位置の検出結果などに基づいて、画像IMにテンプレートT1,T2をマッチングさせる領域を規定してもよい。これにより、顔位置を検出する際に取り扱うデータ量が少なくなるため、顔位置の検出を迅速に行うことが可能となる。
【0080】
また、上記各実施形態に係る画像処理装置30の機能は、専用のハードウェアによっても、通常のコンピュータシステムによっても実現することができる。
【0081】
また、第2の実施形態において画像処理装置30の補助記憶部30cに記憶されているプログラムは、フレキシブルディスク、CD−ROM(Compact Disk Read-Only Memory)、DVD(Digital Versatile Disk)、MO(Magneto-Optical disk)等のコンピュータで読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータにインストールすることにより、上述の処理を実行する装置を構成することとしてもよい。
【0082】
また、プログラムをインターネット等の通信ネットワーク上の所定のサーバ装置が有するディスク装置等に格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するようにしても良い。
【0083】
また、プログラムは、通信ネットワークを介して転送しながら起動実行することとしてもよい。
【0084】
また、プログラムは、全部又は一部をサーバ装置上で実行させ、その処理に関する情報を通信ネットワークを介して送受信しながら、上述の画像処理を実行することとしてもよい。
【0085】
なお、上述の機能を、OS(Operating System)が分担して実現する場合又はOSとアプリケーションとの協働により実現する場合等には、OS以外の部分のみを媒体に格納して配布してもよく、また、コンピュータにダウンロード等しても良い。
【0086】
なお、本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。
【産業上の利用可能性】
【0087】
本発明の顔位置検出装置、顔位置検出方法及びプログラムは、運転者の顔の位置を検出するのに適している。
【符号の説明】
【0088】
10 顔位置検出装置
20 撮像装置
30 画像処理装置
30a CPU
30b 主記憶部
30c 補助記憶部
30d 表示部
30e 入力部
30f インターフェイス部
30g システムバス
31 選択部
32 エッジ角度検出部
33 演算部
34 顔位置検出部
100 運転者
F 顔
OP 輪郭
IM 画像
L1,L2 輪郭曲線
S1,S2 基準曲線
T1,T2 テンプレート
【特許請求の範囲】
【請求項1】
人の顔を撮像する撮像手段と、
前記撮像手段によって撮像された画像を構成する画素のうち、前記顔の輪郭に沿う輪郭曲線状に配置される前記画素からなる画素群を順次選択する選択手段と、
前記選択手段に選択された前記画素群ごとに、前記画素における前記画像に含まれるエッジの向きを検出するエッジ方向検出手段と、
前記画素群ごとに、前記画素相互間の位置関係と、前記画素それぞれにおける前記エッジの向きに基づいて、前記画素群を構成する前記画素が前記顔の輪郭を構成する尤度を算出する演算手段と、
を備える顔位置検出装置。
【請求項2】
前記演算手段は、前記画素それぞれの座標と、前記エッジの向きとによって規定される点の分布に基づいて前記尤度を算出する請求項1に記載の顔位置検出装置。
【請求項3】
前記演算手段は、前記画素群を構成する前記画素それぞれの前記座標と、前記座標における前記輪郭曲線の法線の向きとを示す基準曲線に対する前記点の分布に基づいて前記尤度を算出する請求項2に記載の顔位置検出装置。
【請求項4】
前記演算手段は、統計に基づいて設定された範囲内にある前記点の数に基づいて前記尤度を算出する請求項2に記載の顔位置検出装置。
【請求項5】
前記尤度に基づいて前記画素群を特定し、特定した前記画素群の前記画素を前記顔の輪郭の少なくとも一部を構成する前記画素であるとして、前記画像に含まれる前記顔の位置を検出する顔位置検出手段を更に備える請求項1乃至4のいずれか一項に記載の顔位置検出装置。
【請求項6】
前記画素群は、
前記顔の右側の輪郭に沿う第1の輪郭曲線状に配置される前記画素からなる前記画素群と、
前記顔の左側の輪郭に沿う第2の輪郭曲線状に配置される前記画素からなる前記画素群と、
を含み、
前記顔位置検出手段は、
前記第1の輪郭曲線状に配置される前記画素からなる前記画素群の中から、前記尤度に基づいていずれかの前記画素群を第1画素群として抽出するとともに、
前記第2の輪郭曲線状に配置される前記画素からなる前記画素群の中から、前記尤度に基づいていずれかの前記画素群を第2画素群として抽出し、
前記第1画素群及び前記第2画素群を構成する前記画素を、前記顔の輪郭の少なくとも一部を構成する前記画素であるとして、前記画像に含まれる前記顔の位置を検出する請求項5に記載に顔位置検出装置。
【請求項7】
前記顔位置検出手段は、前記尤度が最も高いときの前記画素群を抽出する請求項5又は6に記載の顔位置検出装置。
【請求項8】
前記顔位置検出手段は、前記第1画素群及び前記第2画素群を、前記第1画素群を構成する前記画素におけるエッジの方向と、前記第2画素群を構成する前記画素におけるエッジの方向との対称性に基づいて抽出する請求項6に記載の顔位置検出装置。
【請求項9】
前記顔位置検出手段は、前記第1画素群及び前記第2画素群を、前記第1画素群を構成する前記画素と前記第2画素群を構成する前記画素との、前記顔の上下方向に関する相対位置関係に基づいて抽出する請求項6に記載の顔位置検出装置。
【請求項10】
人の顔が写る画像を構成する画素のうち、前記顔の輪郭に沿う輪郭曲線状に配置される前記画素からなる画素群を順次選択する工程と、
選択した前記画素群ごとに、前記画素における前記画像に含まれるエッジの向きを検出する工程と、
前記画素群ごとに、前記画素それぞれの座標と、前記エッジの向きとによって規定される点の分布に基づいて、前記画素群を構成する前記画素が前記顔の輪郭を構成する尤度を算出する工程と、
前記尤度に基づいて前記画素群を特定し、特定した前記画素群の前記画素を前記顔の輪郭の少なくとも一部を構成する前記画素であるとして、前記画像に含まれる前記顔の位置を検出する工程と、
を含む顔位置検出方法。
【請求項11】
コンピュータを、
人の顔が写る画像を構成する画素のうち、前記顔の輪郭に沿う輪郭曲線状に配置される前記画素からなる画素群を順次選択する手段と、
選択した前記画素群ごとに、前記画素における前記画像に含まれるエッジの向きを検出する手段と、
前記画素群ごとに、前記画素それぞれの座標と、前記エッジの向きとによって規定される点の分布に基づいて、前記画素群を構成する前記画素が前記顔の輪郭を構成する尤度を算出する手段と、
前記尤度に基づいて前記画素群を特定し、特定した前記画素群の前記画素を前記顔の輪郭の少なくとも一部を構成する前記画素であるとして、前記画像に含まれる前記顔の位置を検出する手段と、
として機能させるプログラム。
【請求項1】
人の顔を撮像する撮像手段と、
前記撮像手段によって撮像された画像を構成する画素のうち、前記顔の輪郭に沿う輪郭曲線状に配置される前記画素からなる画素群を順次選択する選択手段と、
前記選択手段に選択された前記画素群ごとに、前記画素における前記画像に含まれるエッジの向きを検出するエッジ方向検出手段と、
前記画素群ごとに、前記画素相互間の位置関係と、前記画素それぞれにおける前記エッジの向きに基づいて、前記画素群を構成する前記画素が前記顔の輪郭を構成する尤度を算出する演算手段と、
を備える顔位置検出装置。
【請求項2】
前記演算手段は、前記画素それぞれの座標と、前記エッジの向きとによって規定される点の分布に基づいて前記尤度を算出する請求項1に記載の顔位置検出装置。
【請求項3】
前記演算手段は、前記画素群を構成する前記画素それぞれの前記座標と、前記座標における前記輪郭曲線の法線の向きとを示す基準曲線に対する前記点の分布に基づいて前記尤度を算出する請求項2に記載の顔位置検出装置。
【請求項4】
前記演算手段は、統計に基づいて設定された範囲内にある前記点の数に基づいて前記尤度を算出する請求項2に記載の顔位置検出装置。
【請求項5】
前記尤度に基づいて前記画素群を特定し、特定した前記画素群の前記画素を前記顔の輪郭の少なくとも一部を構成する前記画素であるとして、前記画像に含まれる前記顔の位置を検出する顔位置検出手段を更に備える請求項1乃至4のいずれか一項に記載の顔位置検出装置。
【請求項6】
前記画素群は、
前記顔の右側の輪郭に沿う第1の輪郭曲線状に配置される前記画素からなる前記画素群と、
前記顔の左側の輪郭に沿う第2の輪郭曲線状に配置される前記画素からなる前記画素群と、
を含み、
前記顔位置検出手段は、
前記第1の輪郭曲線状に配置される前記画素からなる前記画素群の中から、前記尤度に基づいていずれかの前記画素群を第1画素群として抽出するとともに、
前記第2の輪郭曲線状に配置される前記画素からなる前記画素群の中から、前記尤度に基づいていずれかの前記画素群を第2画素群として抽出し、
前記第1画素群及び前記第2画素群を構成する前記画素を、前記顔の輪郭の少なくとも一部を構成する前記画素であるとして、前記画像に含まれる前記顔の位置を検出する請求項5に記載に顔位置検出装置。
【請求項7】
前記顔位置検出手段は、前記尤度が最も高いときの前記画素群を抽出する請求項5又は6に記載の顔位置検出装置。
【請求項8】
前記顔位置検出手段は、前記第1画素群及び前記第2画素群を、前記第1画素群を構成する前記画素におけるエッジの方向と、前記第2画素群を構成する前記画素におけるエッジの方向との対称性に基づいて抽出する請求項6に記載の顔位置検出装置。
【請求項9】
前記顔位置検出手段は、前記第1画素群及び前記第2画素群を、前記第1画素群を構成する前記画素と前記第2画素群を構成する前記画素との、前記顔の上下方向に関する相対位置関係に基づいて抽出する請求項6に記載の顔位置検出装置。
【請求項10】
人の顔が写る画像を構成する画素のうち、前記顔の輪郭に沿う輪郭曲線状に配置される前記画素からなる画素群を順次選択する工程と、
選択した前記画素群ごとに、前記画素における前記画像に含まれるエッジの向きを検出する工程と、
前記画素群ごとに、前記画素それぞれの座標と、前記エッジの向きとによって規定される点の分布に基づいて、前記画素群を構成する前記画素が前記顔の輪郭を構成する尤度を算出する工程と、
前記尤度に基づいて前記画素群を特定し、特定した前記画素群の前記画素を前記顔の輪郭の少なくとも一部を構成する前記画素であるとして、前記画像に含まれる前記顔の位置を検出する工程と、
を含む顔位置検出方法。
【請求項11】
コンピュータを、
人の顔が写る画像を構成する画素のうち、前記顔の輪郭に沿う輪郭曲線状に配置される前記画素からなる画素群を順次選択する手段と、
選択した前記画素群ごとに、前記画素における前記画像に含まれるエッジの向きを検出する手段と、
前記画素群ごとに、前記画素それぞれの座標と、前記エッジの向きとによって規定される点の分布に基づいて、前記画素群を構成する前記画素が前記顔の輪郭を構成する尤度を算出する手段と、
前記尤度に基づいて前記画素群を特定し、特定した前記画素群の前記画素を前記顔の輪郭の少なくとも一部を構成する前記画素であるとして、前記画像に含まれる前記顔の位置を検出する手段と、
として機能させるプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2011−54056(P2011−54056A)
【公開日】平成23年3月17日(2011.3.17)
【国際特許分類】
【出願番号】特願2009−204056(P2009−204056)
【出願日】平成21年9月3日(2009.9.3)
【出願人】(000000011)アイシン精機株式会社 (5,421)
【Fターム(参考)】
【公開日】平成23年3月17日(2011.3.17)
【国際特許分類】
【出願日】平成21年9月3日(2009.9.3)
【出願人】(000000011)アイシン精機株式会社 (5,421)
【Fターム(参考)】
[ Back to top ]