【解決手段】撮像部から入力される画像を処理する画像処理装置であって、前記画像に対して探索領域を走査しながら顔領域の検出を行う顔検出部を備え、該顔検出部が、第1特徴量抽出部により前記探索領域から抽出された前記特徴量と、顔特徴量記憶部に記憶されている通常の顔特徴量とを用いて、前記探索領域が通常の人の顔であるか、非顔であるかを判別する階層構造の通常顔判別器と、該通常顔判別器のいずれかの階層で前記非顔であると判別された場合に、前記探索領域から抽出された前記特徴量と、前記顔特徴量記憶部に記憶されている前記特定個人の顔特徴量とを用いて、前記探索領域が前記特定個人の顔であるか、非顔であるかを判定する特定個人顔判定部とを装備する。
【発明の概要】
【0007】
本発明は上記課題に鑑みなされたものであって、上記のような特定個人の顔であってもリアルタイムで精度良く検出することができる画像処理装置、モニタリング装置、制御システム、画像処理方法、及びプログラムを提供することを目的としている。
【0008】
上記目的を達成するために本開示に係る画像処理装置(1)は、撮像部から入力される画像を処理する画像処理装置であって、
前記画像から顔を検出するための学習を行った学習済みの顔特徴量として、特定個人の顔特徴量と、通常の顔特徴量とが記憶される顔特徴量記憶部と、
前記画像に対して探索領域を走査しながら顔領域の検出を行う顔検出部とを備え、
該顔検出部が、
前記探索領域から顔の特徴量を抽出する第1特徴量抽出部と、
前記探索領域から抽出された前記特徴量と、前記通常の顔特徴量とを用いて、前記探索領域が顔であるか、非顔であるかを判別する階層構造の通常顔判別器と、
該通常顔判別器のいずれかの階層で前記非顔であると判別された場合に、前記探索領域から抽出された前記特徴量と、前記特定個人の顔特徴量とを用いて、前記探索領域が前記特定個人の顔であるか、前記非顔であるかを判定する特定個人顔判定部とを備えていることを特徴としている。
【0009】
上記画像処理装置(1)によれば、前記通常顔判別器が、前記通常の顔特徴量を用いて、前記探索領域が顔であるか、非顔であるかを階層的に判別することにより、前記顔領域が検出される。また、前記通常顔判別器のいずれかの階層で前記非顔であると判別された場合であっても、前記特定個人顔判定部が、前記特定個人の顔特徴量を用いて、前記探索領域が前記特定個人の顔であるか、非顔であるかを判定することにより、前記特定個人の顔を含む前記顔領域が検出される。これにより、前記通常の顔であっても、前記特定個人の顔であっても、前記顔領域を精度良く検出することができる。また、前記通常顔判別器と前記特定個人顔判定部では、前記探索領域から抽出された、共通の前記特徴量を用いるので、前記顔領域の検出に係るリアルタイム性を維持することができる。
【0010】
本開示に係る画像処理装置(2)は、上記画像処理装置(1)において、前記特定個人顔判定部が、前記非顔であると判別した前記通常顔判別器の一の階層で用いた前記特徴量と、前記一の階層に対応する前記特定個人の顔特徴量との相関を示す指標を算出し、算出した前記指標に基づいて、前記探索領域が前記特定個人の顔であるか、前記非顔であるかを判定するものであることを特徴としている。
【0011】
上記画像処理装置(2)によれば、前記非顔であると判別した前記通常顔判別器の一の階層で用いた前記特徴量と、前記一の階層に対応する前記特定個人の顔特徴量との相関を示す指標に基づいて、前記探索領域が前記特定個人の顔であるか、非顔であるかを効率良く判定することができ、前記通常顔判別器で前記非顔であると判別された場合であっても、前記特定個人の顔である場合を精度良く判定することができる。前記指標は、その値が大きいほど関係性が高くなることを示す指標値、例えば、相関係数であってもよいし、二乗誤差の逆数であってもよいし、その他、前記非顔であると判別した前記通常顔判別器の一の階層で用いた前記特徴量と、前記一の階層に対応する前記特定個人の顔特徴量との関係の類似度を示す指標値などであってもよい。
【0012】
本開示に係る画像処理装置(3)は、上記画像処理装置(2)において、前記特定個人顔判定部が、前記指標が所定の閾値より大きい場合、前記探索領域が前記特定個人の顔であると判定し、前記指標が前記所定の閾値以下の場合、前記探索領域が前記非顔であると判定するものであることを特徴としている。
【0013】
上記画像処理装置(3)によれば、前記指標が所定の閾値より大きい場合、前記探索領域が前記特定個人の顔であると判定され、前記指標が前記所定の閾値以下の場合、前記探索領域が前記非顔であると判定される。前記指標と前記所定の閾値とを比較する処理により、前記判定の処理効率を高めることができる。
【0014】
本開示に係る画像処理装置(4)は、上記画像処理装置(1)〜(3)のいずれかにおいて、前記特定個人顔判定部により前記特定個人の顔であると判定された場合、前記通常顔判別器の次の階層に判別を進める判別進行部と、
前記特定個人顔判定部により前記非顔であると判定された場合、前記通常顔判別器での判別を打ち切る判別打切部とを備えていることを特徴としている。
【0015】
上記画像処理装置(4)によれば、前記特定個人顔判定部により前記特定個人の顔であると判定された場合、前記通常顔判別器の次の階層に判別が進められ、判別処理が速やかに継続される。一方、前記特定個人顔判定部により前記非顔であると判定された場合、前記通常顔判別器での判別が打ち切られる。したがって、前記通常顔判別器の効率を維持しつつ、前記特定個人の顔を判定する処理を行うことができる。
【0016】
本開示に係る画像処理装置(5)は、上記画像処理装置(1)〜(4)のいずれかにおいて、前記顔検出部が、前記通常顔判別器により前記顔であると判別された1以上の前記顔領域の候補を統合する顔領域統合部と、統合された前記顔領域から顔の特徴量を抽出する第2特徴量抽出部とを備え、統合された前記顔領域から抽出された前記特徴量と、前記特定個人の顔特徴量とを用いて、前記顔領域の顔が前記特定個人の顔であるか否かを判定する特定個人判定部とを備えていることを特徴としている。
【0017】
上記画像処理装置(5)によれば、前記顔であると判別された1以上の前記顔領域の候補が統合され、統合された前記顔領域から抽出された前記特徴量と、前記特定個人の顔特徴量とを用いて、前記顔領域の顔が前記特定個人の顔であるか否かが判定される。したがって、前記顔領域統合部により統合された前記顔領域が、前記特定個人の顔であるか、前記通常の人の顔であるかを精度良く判定することができる。
【0018】
本開示に係るモニタリング装置(1)は、上記画像処理装置(1)〜(5)のいずれかと、該画像処理装置に入力する画像を撮像する撮像部と、前記画像処理装置による画像処理に基づく情報を出力する出力部とを備えていることを特徴としている。
【0019】
上記モニタリング装置(1)によれば、前記通常の人の顔だけでなく、前記特定個人の顔を精度良く検出して、モニタリングすることができ、また、前記出力部から前記画像処理に基づく情報が出力可能なため、該情報を利用するモニタリングシステムなどを容易に構築することが可能となる。
【0020】
本開示に係る制御システム(1)は、上記モニタリング装置(1)と、該モニタリング装置と通信可能に接続され、該モニタリング装置から出力される前記情報に基づいて、所定の処理を実行する1以上の制御装置とを備えていることを特徴としている。
【0021】
上記制御システム(1)によれば、前記モニタリング装置から出力される前記情報に基づいて、1以上の前記制御装置で所定の処理を実行させることが可能となる。したがって、前記通常の人のモニタリング結果だけでなく、前記特定個人のモニタリング結果を利用することができるシステムを構築することができる。
【0022】
本開示に係る制御システム(2)は、上記制御システム(1)において、前記モニタリング装置(1)が、車両のドライバをモニタリングするための装置であり、前記制御装置が、前記車両に搭載される電子制御ユニットを含むことを特徴としている。
【0023】
上記制御システム(2)によれば、前記車両のドライバが前記特定個人である場合であっても、前記特定個人の顔を精度良くモニタリングすることができ、そのモニタリングの結果に基づいて、前記電子制御ユニットに所定の制御を適切に実行させることが可能となる。これにより、前記特定個人であっても安心して運転することができる安全性の高い車載システムを構築することが可能となる。
【0024】
本開示に係る画像処理方法は、撮像部から入力される画像を処理する画像処理方法であって、
前記画像に対して探索領域を走査しながら顔領域の検出を行う顔検出ステップを含み、
該顔検出ステップが、
前記探索領域から顔の特徴量を抽出する特徴量抽出ステップと、
該特徴量抽出ステップにより抽出された前記特徴量と、顔を検出するための学習を行った学習済みの通常の顔特徴量とを用いて、前記探索領域が顔であるか、非顔であるかを階層的に判別する通常顔判別ステップと、
該通常顔判別ステップのいずれかの階層で前記非顔であると判別された場合に、抽出された前記特徴量と、特定個人の顔を検出するための学習を行った学習済みの前記特定個人の顔特徴量とを用いて、前記探索領域が前記特定個人の顔であるか、前記非顔であるかを判定する特定個人顔判定ステップとを含むことを特徴としている。
【0025】
上記画像処理方法によれば、前記通常顔判別ステップにより、前記通常の顔特徴量を用いて、前記探索領域が顔であるか、非顔であるかを階層的に判別することにより、前記顔領域が検出される。また、前記通常顔判別ステップのいずれかの階層で前記非顔であると判別された場合であっても、前記特定個人顔判定ステップにより、前記特定個人の顔特徴量を用いて、前記探索領域が前記特定個人の顔であるか、非顔であるかを判定することにより、前記特定個人の顔を含む前記顔領域が検出される。これにより、前記通常の顔であっても、前記特定個人の顔であっても、前記顔領域を精度良く検出することができる。また、前記通常顔判別ステップと前記特定個人顔判定ステップでは、前記探索領域から抽出された、共通の前記特徴量を用いるので、前記顔領域の検出に係るリアルタイム性を維持することができる。したがって、前記特定個人の顔をリアルタイムで精度良く検出することができる。
【0026】
本開示に係るプログラムは、撮像部から入力される画像の処理を少なくとも1以上のコンピュータに実行させるためのプログラムであって、
前記少なくとも1以上のコンピュータに、
前記画像に対して探索領域を走査しながら顔領域の検出を行う顔検出ステップを含み、
該顔検出ステップが、
前記探索領域から顔の特徴量を抽出する特徴量抽出ステップと、
該特徴量抽出ステップにより抽出された前記特徴量と、顔を検出するための学習を行った学習済みの通常の顔特徴量とを用いて、前記探索領域が顔であるか、非顔であるかを階層的に判別する通常顔判別ステップと、
該通常顔判別ステップのいずれかの階層で前記非顔であると判別された場合に、抽出された前記特徴量と、特定個人の顔を検出するための学習を行った学習済みの前記特定個人の顔特徴量とを用いて、前記探索領域が前記特定個人の顔であるか、前記非顔であるかを判定する特定個人顔判定ステップとを実行させるためのプログラムであることを特徴としている。
【0027】
上記プログラムによれば、前記少なくとも1以上のコンピュータに、前記通常顔判別ステップにより、前記通常の顔特徴量を用いて、前記探索領域が顔であるか、非顔であるかを階層的に判別させて、前記顔領域を検出させることができる。また、前記通常顔判別ステップのいずれかの階層で前記非顔であると判別された場合であっても、前記特定個人顔判定ステップにより、前記特定個人の顔特徴量を用いて、前記探索領域が前記特定個人の顔であるか、非顔であるかを判定させることにより、前記特定個人の顔を含む前記顔領域を検出させることができる。これにより、前記通常の顔であっても、前記特定個人の顔であっても、前記顔領域を精度良く検出させることができる。また、前記通常顔判別ステップと前記特定個人顔判定ステップでは、前記探索領域から抽出された、共通の前記特徴量を用いるので、前記顔領域の検出に係るリアルタイム性を維持することができる。したがって、前記特定個人であっても、特定個人以外の通常の人であっても、それぞれの顔のセンシングを精度良く実施することができる装置やシステムを構築することができる。なお、上記プログラムは、記憶媒体に保存されたプログラムであってもよいし、通信ネットワークを介して転送可能なプログラムであってもよいし、通信ネットワークを介して実行されるプログラムであってもよい。
【発明を実施するための形態】
【0029】
以下、本発明に係る画像処理装置、モニタリング装置、制御システム、画像処理方法、及びプログラムの実施の形態を図面に基づいて説明する。
本発明に係る画像処理装置は、例えば、カメラを用いて人などの対象物をモニタリングする装置やシステムに広く適用可能である。本発明に係る画像処理装置は、例えば、車両などの各種移動体のドライバ(操縦者)をモニタリングする装置やシステムの他、工場内の機械や装置などの各種設備を操作したり、監視したり、所定の作業をしたりする人などをモニタリングする装置やシステムなどにも適用可能である。
【0030】
[適用例]
図1は、実施の形態に係るドライバモニタリング装置を含む車載システムの一例を示す模式図である。本適用例では、本発明に係る画像処理装置をドライバモニタリング装置10に適用した例について説明する。
【0031】
車載システム1は、車両2のドライバ3の状態(例えば、顔の挙動など)をモニタリングするドライバモニタリング装置10、車両2の走行、操舵、又は制動などの制御を行う1以上のECU(Electronic Control Unit)40、及び車両各部の状態、又は車両周囲の状態などを検出する1以上のセンサ41を含んで構成され、これらが通信バス43を介して接続されている。車載システム1は、例えば、CAN(Controller Area Network)プロトコルに従って通信する車載ネットワークシステムとして構成されている。なお、車載システム1の通信規格には、CAN以外の他の通信規格が採用されてもよい。ドライバモニタリング装置10が、本発明の「モニタリング装置」の一例であり、車載システム1が、本発明の「制御システム」の一例である。
【0032】
ドライバモニタリング装置10は、ドライバ3の顔を撮像するためのカメラ11と、カメラ11から入力される画像を処理する画像処理部12と、画像処理部12による画像処理に基づく情報を、通信バス43を介して所定のECU40に出力する処理などを行う通信部16とを含んで構成されている。画像処理部12が、本発明の「画像処理装置」の一例である。カメラ11が、本発明の「撮像部」の一例である。
【0033】
ドライバモニタリング装置10は、カメラ11で撮像された画像からドライバ3の顔を検出し、検出されたドライバ3の顔の向き、視線の方向、又は目の開閉状態などの顔の挙動を検出する。ドライバモニタリング装置10は、これら顔の挙動の検出結果に基づいて、ドライバ3の状態、例えば、前方注視、脇見、居眠り、後ろ向き、突っ伏しなどの状態を判定してもよい。また、ドライバモニタリング装置10が、これらドライバ3の状態判定に基づく信号をECU40に出力し、ECU40が、前記信号に基づいてドライバ3への注意や警告処理、又は車両2の動作制御(例えば、減速制御、又は路肩への誘導制御など)などを実行するように構成してもよい。
【0034】
ドライバモニタリング装置10では、ドライバ3に対する顔センシング、特にドライバ3が、特定個人であっても、特定個人以外の通常の人であっても、これら対象者の顔検出をリアルタイムで精度良く行えるようにすることを目的の一つとしている。
【0035】
従来のドライバモニタリング装置では、車両2のドライバ3が、例えば、ケガなどにより、目、鼻、口などの顔器官の一部が欠損、若しくは大きく変形していたり、顔に大きなホクロやイボ、若しくはタトゥーなどの身体装飾が施されていたり、又は遺伝性の疾患などの病気により、前記顔器官の配置が平均的な位置からずれていたりした場合、カメラで撮像された画像から顔を検出する精度が低下してしまうという課題があった。
【0036】
また、顔検出精度が低下すると、顔向き推定処理など、顔検出後の処理も適切に行われないこととなるため、ドライバ3の脇見や居眠りなどの状態判定も適切に行うことができなくなり、また、前記状態判定に基づいてECU40が実行すべき各種の制御も適切に行うことができなくなる虞があるという課題があった。
【0037】
係る課題を解決すべく、実施の形態に係るドライバモニタリング装置10では、特定個人、換言すれば、年齢差、性別、及び人種などの違い(個人差)にかかわらずに共通する一般的な人(通常の人ともいう)の顔特徴とは異なる特徴を有している特定の個人に対する顔検出をリアルタイムで精度良く行えるようにするために、以下の構成を採用した。
【0038】
画像処理部12には、画像から顔を検出するための学習を行った学習済みの顔特徴量として、特定個人の顔特徴量と、通常の顔特徴量(換言すれば、通常の人の顔検出に用いる顔特徴量)とが記憶されている。
【0039】
画像処理部12は、カメラ11の入力画像に対して所定サイズの探索領域を走査しながら、かつ該探索領域から顔を検出するための特徴量を抽出しながら顔領域を検出する顔検出処理を行う。そして、画像処理部12は、前記探索領域から抽出された特徴量と、前記通常の顔特徴量とを用いて、前記探索領域が顔であるか、非顔であるかを階層的に判別していく通常顔判別処理により、入力画像から顔領域を検出する。
また、画像処理部12は、前記通常顔判別処理のいずれかの階層で前記非顔であると判別された場合に、前記探索領域から抽出された前記特徴量と、前記特定個人の顔特徴量とを用いて、前記探索領域が特定個人の顔であるか、非顔であるかを判定する特定個人顔判定を行う。
【0040】
前記特定個人顔判定処理では、前記通常顔判別処理において非顔であると判別した一の階層で用いた前記特徴量と、前記一の階層に対応する前記特定個人の顔特徴量との関係を示す指標、例えば、相関係数を算出し、算出した前記相関係数に基づいて、前記探索領域が前記特定個人の顔であるか、非顔であるかを判定してもよい。
【0041】
例えば、前記相関係数が所定の閾値より大きい場合、前記探索領域が前記特定個人の顔であると判定し、前記通常顔判別処理における次の階層に判別処理を進めてもよい。また、前記相関係数が前記所定の閾値以下の場合、前記探索領域が前記非顔であると判定して、当該探索領域に対する前記通常顔判別処理を打ち切ってもよい。なお、前記特定個人顔判定処理では、前記相関係数以外の指標を用いてもよい。
【0042】
このようにドライバモニタリング装置10では、前記通常顔判別処理により、前記通常の顔特徴量を用いて、前記探索領域が顔であるか、非顔であるかが階層的に判別され、前記顔領域が検出される。また、前記通常顔判別処理のいずれかの階層で前記非顔であると判別された場合であっても、前記特定個人顔判定処理により、前記特定個人の顔特徴量を用いて、前記探索領域が前記特定個人の顔であるか、非顔であるかが判定されることにより、前記特定個人の顔を含む前記顔領域が検出される。
【0043】
また、前記通常顔判別処理のいずれかの階層で前記非顔であると判別され、かつ、前記特定個人顔判定処理により前記非顔であると判定された場合は、前記探索領域は非顔(顔以外)であるとして、処理が打ち切られ、次の探索領域の処理に進む。
【0044】
これらの構成により、前記通常の顔であっても、前記特定個人の顔であっても、前記顔領域を精度良く検出することが可能となる。また、前記通常顔判別処理と前記特定個人顔判定処理では、前記探索領域から抽出された、共通の前記特徴量を用いるため、前記顔領域の検出に係るリアルタイム性を維持することが可能となる。
したがって、ドライバ3が、特定個人であっても、特定個人以外の通常の人であっても、それぞれの顔をリアルタイムで(換言すれば、高速な処理で)精度良く検出することが可能となる。
【0045】
[ハードウェア構成例]
図2は、実施の形態に係るドライバモニタリング装置10を含む車載システム1のハードウェア構成の一例を示すブロック図である。
【0046】
車載システム1は、車両2のドライバ3の状態をモニタリングするドライバモニタリング装置10、1以上のECU40、及び1以上のセンサ41を含んで構成され、これらが通信バス43を介して接続されている。また、ECU40には、1以上のアクチュエータ42が接続されている。
【0047】
ドライバモニタリング装置10は、カメラ11と、カメラ11から入力される画像を処理する画像処理部12と、外部のECU40などとデータや信号のやり取りを行うための通信部16とを含んで構成されている。
【0048】
カメラ11は、運転席に着座しているドライバ3の顔を含む画像を撮像する装置であり、例えば、レンズ部、撮像素子部、光照射部、インターフェース部、これら各部を制御するカメラ制御部などを含んで構成され得る。前記撮像素子部は、CCD(Charge Coupled Device)、CMOS(Complementary Metal Oxide Semiconductor)などの撮像素子、フィルタ、マイクロレンズなどを含んで構成され得る。前記撮像素子部は、可視領域の光を受けて撮像画像を形成できる素子でもよいし、近赤外領域の光を受けて撮像画像を形成できる素子でもよい。前記光照射部は、LED(Light Emitting Diode)などの発光素子を含んで構成され、昼夜を問わずドライバ3の顔を撮像できるように近赤外線LEDなどを含んでもよい。カメラ11は、所定のフレームレート(例えば、毎秒数十フレーム)で画像を撮像し、撮像された画像のデータが画像処理部12に入力される。カメラ11は、一体式の他、外付け式のものであってもよい。
【0049】
画像処理部12は、1以上のCPU(Central Processing Unit)13、ROM(Read Only Memory)14、及びRAM(Random Access Memory)15を含む画像処理装置として構成されている。ROM14は、プログラム記憶部141と顔特徴量記憶部142とを含み、RAM15は、カメラ11からの入力画像を記憶する画像メモリ151を含んで構成されている。なお、ドライバモニタリング装置10は、さらに別の記憶部を装備してもよく、前記別の記憶部を、プログラム記憶部141、顔特徴量記憶部142、及び画像メモリ151として用いてもよい。前記別の記憶部は、半導体メモリでもよいし、ディスクドライブなどで読み込み可能な記憶媒体でもよい。
【0050】
CPU13は、ハードウェアプロセッサの一例であり、ROM14のプログラム記憶部141に記憶されているプログラム、顔特徴量記憶部142に記憶されている顔特徴量などのデータを読み込み、解釈し実行することで、カメラ11から入力された画像の処理、例えば、顔検出処理などの顔画像処理を行う。また、CPU13は、該顔画像処理により得られた結果(例えば、処理データ、判定信号、又は制御信号など)を、通信部16を介してECU40などに出力する処理などを行う。
【0051】
顔特徴量記憶部142には、画像から顔を検出するための学習(例えば、機械学習)を行った学習済みの顔特徴量として、特定個人の顔特徴量142aと、通常の顔特徴量142bと(
図3、
図4を参照)が記憶されている。
学習済みの顔特徴量には、画像から顔を検出するのに有効な各種の特徴量を用いることができる。例えば、顔の局所的な領域の明暗差(平均輝度の差)に着目した特徴量(Haar-like特徴量)を用いてもよい。又は、顔の局所的な領域の輝度の分布の組み合わせに着目した特徴量(LBP (Local Binary Pattern) 特徴量)を用いてもよいし、顔の局所的な領域の輝度の勾配方向の分布の組み合わせに着目した特徴量(HOG (Histogram of Oriented Gradients) 特徴量)などを用いてもよい。
【0052】
顔特徴量記憶部142に記憶される顔特徴量は、例えば、各種の機械学習による手法を用いて、顔検出に有効な特徴量として抽出されたものである。機械学習とは、データ(学習データ)に内在するパターンをコンピュータにより見つけ出す処理である。例えば、統計的な学習手法の一例としてAdaBoostを用いてもよい。AdaBoostは、判別能力の低い判別器(弱判別器)を多数選び出し、これら多数の弱判別器の中からエラー率が小さい弱判別器を選択し、重みなどのパラメータを調整し、階層的な構造にすることで、強判別器を構築することのできる学習アルゴリズムである。なお、判別器は、識別器、分類器、又は学習器と称されてもよい。
【0053】
強判別器は、例えば、顔の検出に有効な1つの特徴量を1つの弱判別器によって判別する構成とし、AdaBoostにより多数の弱判別器とその組み合わせを選び出し、これらを用いて、階層的な構造を構築したものとしてもよい。なお、1つの弱判別器は、例えば、顔の場合は1、非顔の場合は0という情報を出力してもよい。また、学習手法には、顔らしさを0または1ではなく、0から1の実数で出力可能なReal AdaBoostという学習手法を用いてもよい。また、これら学習手法には、入力層、中間層、及び出力層を有するニューラルネットワークを用いてもよい。
【0054】
このような学習アルゴリズムが搭載された学習装置に、さまざまな条件で撮像された多数の顔画像と多数の顔以外の画像(非顔画像)とを学習データとして与え、学習を繰り返し、重みなどのパラメータを調整して最適化を図ることにより、顔を高精度に検出可能な階層構造を有する強判別器を構築することが可能となる。そして、このような強判別器を構成する各階層の弱判別器で用いられる1以上の特徴量を、学習済みの顔特徴量として用いることができる。
【0055】
特定個人の顔特徴量142aは、例えば、予め所定の場所で、特定個人の顔画像をさまざまな条件(さまざまな顔の向き、視線の方向、又は目の開閉状態などの条件)で個別に撮像し、これら多数の撮像画像を教師データとして、上記学習装置に入力し、学習処理によって調整された、特定個人の顔の特徴を示すパラメータである。特定個人の顔特徴量142aは、例えば、学習処理によって得られた、顔の局所的な領域の明暗差の組み合わせパターンなどでもよい。顔特徴量記憶部142に記憶される特定個人の顔特徴量142aは、1人の特定個人の顔特徴量だけでもよいし、複数の特定個人が車両2を運転する場合などに対応できるように、複数人の特定個人の顔特徴量が記憶されてもよい。
【0056】
通常の顔特徴量142bは、通常の人の顔画像をさまざまな条件(さまざまな顔の向き、視線の方向、又は目の開閉状態などの条件)で撮像した画像を教師データとして、上記学習装置に入力し、学習処理によって調整された、通常の人の顔の特徴を示すパラメータである。通常の顔特徴量142bは、例えば、学習処理によって得られた、顔の局所的な領域の明暗差の組み合わせパターンなどでもよい。また、通常の顔特徴量142bは、所定の顔特徴量データベースに登録されている情報を用いてもよい。
【0057】
顔特徴量記憶部142に記憶される学習済みの顔特徴量は、例えば、クラウド上のサーバなどからインターネット、携帯電話網などの通信ネットワークを介して取り込んで、顔特徴量記憶部142に記憶される構成としてもよい。
【0058】
ECU40は、1以上のプロセッサ、メモリ、及び通信モジュールなどを含むコンピュータ装置で構成されている。そして、ECU40に搭載されたプロセッサが、メモリに記憶されたプログラムを読み込み、解釈し実行することで、アクチュエータ42などに対する所定の制御が実行されるようになっている。
【0059】
ECU40は、例えば、走行系ECU、運転支援系ECU、ボディ系ECU、及び情報系ECUのうちの少なくともいずれかを含んで構成されている。
【0060】
前記走行系ECUには、例えば、駆動系ECU、シャーシ系ECUなどが含まれている。前記駆動系ECUには、例えば、エンジン制御、モータ制御、燃料電池制御、EV(Electric Vehicle)制御、又はトランスミッション制御等の「走る」機能に関する制御ユニットが含まれている。前記シャーシ系ECUには、例えば、ブレーキ制御、又はステアリング制御等の「止まる、曲がる」機能に関する制御ユニットが含まれている。
【0061】
前記運転支援系ECUは、例えば、自動ブレーキ支援機能、車線維持支援機能(LKA/Lane Keep Assistともいう)、定速走行・車間距離支援機能(ACC/Adaptive Cruise Controlともいう)、前方衝突警告機能、車線逸脱警報機能、死角モニタリング機能、交通標識認識機能等、走行系ECUなどとの連携により自動的に安全性の向上、又は快適な運転を実現する機能(運転支援機能、又は自動運転機能)に関する制御ユニットを少なくとも1つ以上含んで構成され得る。
【0062】
前記運転支援系ECUには、例えば、米国自動車技術会(SAE)が提示している自動運転レベルにおけるレベル1(ドライバ支援)、レベル2(部分的自動運転)、及びレベル3(条件付自動運転)の少なくともいずれかの機能が装備されてもよい。さらに、自動運転レベルのレベル4(高度自動運転)、又はレベル5(完全自動運転)の機能が装備されてもよいし、レベル1、2のみ、又はレベル2、3のみの機能が装備されてもよい。また、車載システム1を自動運転システムとして構成してもよい。
【0063】
前記ボディ系ECUは、例えば、ドアロック、スマートキー、パワーウインドウ、エアコン、ライト、メーターパネル、又はウインカ等の車体の機能に関する制御ユニットを少なくとも1つ以上含んで構成され得る。
【0064】
前記情報系ECUは、例えば、インフォテイメント装置、テレマティクス装置、又はITS(Intelligent Transport Systems)関連装置を含んで構成され得る。前記インフォテイメント装置には、例えば、ユーザインターフェースとして機能するHMI(Human Machine Interface)装置の他、カーナビゲーション装置、オーディオ機器などが含まれてもよい。前記テレマティクス装置には、外部と通信するための通信ユニットなどが含まれてもよい。前記ITS関連装置には、ETC(Electronic Toll Collection System)、又はITSスポットなどの路側機との路車間通信、若しくは車々間通信などを行うための通信ユニットなどが含まれてもよい。
【0065】
センサ41には、ECU40でアクチュエータ42の動作制御を行うために必要となるセンシングデータを取得する各種の車載センサが含まれ得る。例えば、車速センサ、シフトポジションセンサ、アクセル開度センサ、ブレーキペダルセンサ、ステアリングセンサなどの他、車外撮像用カメラ、ミリ波等のレーダー(Radar)、ライダー(LIDER)、超音波センサなどの周辺監視センサなどが含まれてもよい。
【0066】
アクチュエータ42は、ECU40からの制御信号に基づいて、車両2の走行、操舵、又は制動などに関わる動作を実行する装置であり、例えば、エンジン、モータ、トランスミッション、油圧又は電動シリンダー等が含まれる。
【0067】
[機能構成例]
図3は、実施の形態に係るドライバモニタリング装置10の画像処理部12の機能構成例を示すブロック図である。
画像処理部12は、画像入力部21、顔検出部22、特定個人判定部25、第1顔画像処理部26、第2顔画像処理部30、出力部34、及び顔特徴量記憶部142を含んで構成されている。
【0068】
画像入力部21は、カメラ11で撮像されたドライバ3の顔を含む画像を取り込む処理を行う。
【0069】
顔検出部22は、入力画像に対して所定サイズの探索領域を走査しながら、かつ該探索領域から顔の特徴量を抽出しながら顔領域を検出する処理を行う。顔検出部22は、第1特徴量抽出部221、通常顔判別器222、及び特定個人顔判定部223を含んで構成されている。顔検出部22は、さらに、顔領域統合部224、及び第2特徴量抽出部225を含んで構成してもよい。
【0070】
図4は、顔検出部22の機能構成例を示すブロック図である。
図5、
図6は、顔検出部22で行われる処理動作例を説明するための模式図である。
【0071】
本実施の形態においては、顔検出部22は、画像特徴として、例えば、Haar-like特徴を用い、AdaBoostの学習アルゴリズムを用いて構築された階層構造の通常顔判別器222と、通常顔判別器222に付加された特定個人顔判定部223とを用いるように構成されている。
【0072】
Haar-like特徴は、矩形特徴とも称され、例えば、2つの矩形領域の平均輝度の差を特徴量とするものであり、例えば、画像中の目の領域は輝度が低く、目の周囲(目の下、目の横)は輝度が高くなるという特徴を利用するものである。Haar-like特徴には、2つ、3つ、又は4つの矩形を組み合わせた矩形特徴を用いてもよい。顔検出に有効な(重要度が高い)特徴量と、その組み合わせが学習アルゴリズムを用いて選び出され、顔特徴量記憶部142に記憶される。顔特徴量記憶部142には、通常顔判別器222での処理に用いられる通常の顔特徴量142bと、特定個人顔判定部223での処理に用いられる特定個人の顔特徴量142aとが記憶されている。
【0073】
通常顔判別器222は、
図4に示すように、第1判別器222aから第N判別器222nを含み、これらが複数連結された階層構造(カスケード構造ともいう)を備えている。これら各判別器は、画像から切り出された所定サイズの探索領域210から抽出された、顔検出に有効な1以上の特徴量221aを用いて、探索領域210が顔であるか、非顔(顔以外)であるかを判別する。第1判別器222aなどの階層構造の最初の方の判別器では、例えば、目があるかどうか、というような、顔を大まかに捉える特徴量221aが用いられる。また、第N判別器222nなどの階層構造の深い方の判別器では、例えば、目、鼻、口があるか、正面顔であるか、斜め顔であるか、横顔であるか、というような、顔の細部を捉える特徴量221aが用いられる。
【0074】
第1特徴量抽出部221は、通常顔判別器222を構成する各判別器で判別を行うように設定されている1以上の特徴量221aを探索領域210から抽出する。
【0075】
通常顔判別器222は、第1特徴量抽出部221により探索領域210から抽出された特徴量221aと、通常の顔特徴量142bとを用いて、探索領域210が顔であるか、非顔であるかを、第1判別器222aから第N判別器222nの順に階層的に判別していく。
【0076】
特定個人顔判定部223は、
図4に示すように、第1判定部223aから第N判定部223nを含み、通常顔判別器222のいずれかの階層で探索領域210が非顔であると判別された場合に、探索領域210から抽出された特徴量221aと、特定個人の顔特徴量142aとを用いて、探索領域210が特定個人の顔であるか、非顔であるかを判定する。
【0077】
例えば、第2判別器222bで探索領域210が非顔であると判別されると、第2判定部223bが、探索領域210から抽出された特徴量221a(第2判別器222bで用いたもの)と、当該階層に対応する特定個人の顔特徴量142aとを用いて、探索領域210が特定個人の顔であるか、非顔であるかを判定する。
【0078】
第2判定部223bが、探索領域210が特定個人の顔であると判定した場合、第3判別器222cでの判別処理に進む一方、探索領域210が非顔であると判定した場合、第2判別器222bで判別処理を打ち切り、次の探索領域に対する顔検出処理に進む。
【0079】
そして、判別処理が進み、第N判別器222nで、探索領域210が顔であると判別された場合、又は第N判定部223nで、探索領域210が特定個人の顔であると判定した場合、当該探索領域210が顔領域の候補として記憶される。
【0080】
顔検出部22は、さまざまな大きさの顔を検出できるようにするために、例えば、
図5に示すように、入力画像20を複数の倍率で縮小した縮小画像20a、20bを生成し、それぞれの縮小画像20a、20bから所定サイズの探索領域210を切り出し、通常顔判別器222を用いて探索領域210が顔であるか、非顔であるかを判別してもよい。そして、入力画像20、縮小画像20a、20b内で探索領域210を走査することにより、画像20中のさまざまな大きさの顔とその顔の位置とを検出してもよい。なお、探索領域210は、矩形以外の任意の形状であってもよい。
【0081】
また、顔検出部22は、さまざまな方向に向いた(回転した)顔やさまざまな角度に傾いた顔を検出できるように構成してもよい。例えば、第1特徴量抽出部221が、探索領域210から顔の向きや顔の傾きを判別するのに有効な特徴量221aを抽出し、通常顔判別器222が、顔の向きや顔の傾き毎の特徴量について学習した学習済みの判別器を用いて、探索領域210が、顔であるか、非顔であるかを判別できるように構成してもよい。
【0082】
例えば、
図6に示すように、正面顔、斜め顔、及び横顔をそれぞれ検出するために、通常顔判別器222が、正面(0度)、左斜め(45度)、及び左横(90度)のそれぞれの特徴量を学習した判別器を備えてもよい。この場合、1つの判別器で所定角度(例えば、22.5度)以上をカバーできるように学習してもよい。また、右斜め(45度)の判別は、左斜め(45度)を左右反転、右横(90度)の判別は、左横(90度)を左右反転させることで対応するようにしてもよい。また、
図6に示すように、顔の傾きを検出できるように、通常顔判別器222が、所定の傾き毎にそれぞれの特徴量を学習した判別器を備えてもよい。
【0083】
顔領域統合部224は、通常顔判別器222により顔であると判別された1以上の顔領域の候補を統合する処理を行う。1以上の顔領域の候補を統合する方法は特に限定されない。例えば、1以上の顔領域の候補の領域中心の平均値と、領域サイズの平均値とに基づいて統合してもよい。
【0084】
第2特徴量抽出部225は、顔領域統合部224により統合された顔領域から顔の特徴量を抽出する処理を行う。
【0085】
特定個人判定部25は、顔検出部22で検出された顔領域の特徴量と、顔特徴量記憶部142から読み込んだ特定個人の顔特徴量142aとを用いて、検出された顔領域の顔が特定個人の顔であるか、特定個人以外の通常の人の顔であるかを判定する処理を行う。
【0086】
特定個人判定部25は、顔領域から抽出された特徴量と特定個人の顔特徴量142aとの関係を示す指標、例えば、相関を示す指標として、相関係数を算出し、算出した相関係数に基づいて、顔領域の顔が特定個人の顔であるか否かを判定してもよい。そして、相関係数が所定の閾値より大きい場合、検出した顔領域の顔が特定個人の顔であると判定し、相関係数が所定の閾値以下の場合、検出した顔領域の顔が特定個人の顔ではないと判定してもよい。
【0087】
また、特定個人判定部25では、カメラ11からの入力画像の1フレームに対する判定の結果に基づいて、検出した顔領域の顔が特定個人の顔であるか否かを判定してもよいし、カメラ11からの入力画像の複数フレームに対する判定の結果に基づいて、検出した顔領域の顔が特定個人の顔であるか否かを判定してもよい。
【0088】
第1顔画像処理部26は、特定個人判定部25により特定個人の顔であると判定された場合、特定個人用の顔画像処理を行う。第1顔画像処理部26は、特定個人の顔向き推定部27と、特定個人の目開閉検出部28と、特定個人の視線方向推定部29とを含んで構成されているが、さらに別の顔挙動を推定したり、検出したりする構成を含んでもよい。また、第1顔画像処理部26は、特定個人の顔特徴量142aを用いて、特定個人用の顔画像処理のいずれかの処理を行ってもよい。また、顔特徴量記憶部142に、特定個人用の顔画像処理を行うための学習を行った学習済みの特徴量を記憶しておき、該学習済みの特徴量を用いて、特定個人用の顔画像処理のいずれかの処理を行ってもよい。
【0089】
特定個人の顔向き推定部27は、特定個人の顔の向きを推定する処理を行う。特定個人の顔向き推定部27は、例えば、顔検出部22で検出された顔領域から目、鼻、口、眉などの顔器官の位置や形状を検出し、検出した顔器官の位置や形状に基づいて、顔の向きを推定する処理を行う。
【0090】
画像中の顔領域から顔器官を検出する手法は特に限定されないが、高速で高精度に顔器官を検出できる手法を採用することが好ましい。例えば、3次元顔形状モデルを作成し、これを2次元画像上の顔の領域にフィッティングさせ、顔の各器官の位置と形状を検出する手法が採用され得る。画像中の人の顔に3次元顔形状モデルをフィッティングさせる技術として、例えば、特開2007−249280号公報に記載された技術を適用することができるが、これに限定されるものではない。
【0091】
また、特定個人の顔向き推定部27は、特定個人の顔の向きの推定データとして、例えば、上記3次元顔形状モデルのパラメータに含まれている、上下回転(X軸回り)のピッチ角、左右回転(Y軸回り)のヨー角、及び全体回転(Z軸回り)のロール角を出力してもよい。
【0092】
特定個人の目開閉検出部28は、特定個人の目の開閉状態を検出する処理を行う。特定個人の目開閉検出部28は、例えば、特定個人の顔向き推定部27で求めた顔器官の位置や形状、特に目の特徴点(瞼、瞳孔)の位置や形状に基づいて、目の開閉状態、例えば、目を開けているか、閉じているかを検出する。目の開閉状態は、例えば、さまざまな目の開閉状態における目の画像の特徴量(瞼の位置、瞳孔(黒目)の形状、又は、白目部分と黒目部分の領域サイズなど)を予め学習器を用いて学習し、これら学習済みの特徴量データとの類似度を評価することで検出してもよい。
【0093】
特定個人の視線方向推定部29は、特定個人の視線の方向を推定する処理を行う。特定個人の視線方向推定部29は、例えば、ドライバ3の顔の向き、及びドライバ3の顔器官の位置や形状、特に目の特徴点(目尻、目頭、瞳孔)の位置や形状に基づいて、視線の方向を推定する。視線の方向とは、ドライバ3が見ている方向のことであり、例えば、顔の向きと目の向きとの組み合わせによって求められる。
【0094】
また、視線の方向は、例えば、さまざまな顔の向きと目の向きとの組み合わせにおける目の画像の特徴量(目尻、目頭、瞳孔の相対位置、又は白目部分と黒目部分の相対位置、濃淡、テクスチャーなど)とを予め学習器を用いて学習し、これら学習した特徴量データとの類似度を評価することで検出してもよい。また、特定個人の視線方向推定部29は、前記3次元顔形状モデルのフィッティング結果などを用いて、顔の大きさや向きと目の位置などから眼球の大きさと中心位置とを推定するとともに、瞳孔の位置を検出し、眼球の中心と瞳孔の中心とを結ぶベクトルを視線方向として検出してもよい。
【0095】
第2顔画像処理部30は、特定個人判定部25により特定個人の顔ではないと判定された場合、通常の顔画像処理を行う。第2顔画像処理部30は、通常の顔向き推定部31と、通常の目開閉検出部32と、通常の視線方向推定部33とを含んで構成されているが、さらに別の顔挙動を推定したり、検出したりする構成を含んでもよい。また、第2顔画像処理部30は、通常の顔特徴量142bを用いて、通常の顔画像処理のいずれかの処理を行ってもよい。また、顔特徴量記憶部142に、通常の顔画像処理を行うための学習を行った学習済みの特徴量を記憶しておき、該学習済みの特徴量を用いて、通常の顔画像処理のいずれかの処理を行ってもよい。なお、通常の顔向き推定部31と、通常の目開閉検出部32と、通常の視線方向推定部33とで行われる処理は、特定個人の顔向き推定部27と、特定個人の目開閉検出部28と、特定個人の視線方向推定部29と基本的に同様であるので、ここではその説明を省略する。
【0096】
出力部34は、画像処理部12による画像処理に基づく情報をECU40などに出力する処理を行う。画像処理に基づく情報は、例えば、ドライバ3の顔の向き、視線の方向、又は目の開閉状態などの顔の挙動に関する情報でもよいし、顔の挙動の検出結果に基づいて判定されたドライバ3の状態(例えば、前方注視、脇見、居眠り、後ろ向き、突っ伏しなどの状態)に関する情報でもよい。また、画像処理に基づく情報は、ドライバ3の状態判定に基づく、所定の制御信号(注意や警告処理を行うための制御信号、又は車両2の動作制御を行うための制御信号など)でもよい。
【0097】
[処理動作例]
図7は、実施の形態に係るドライバモニタリング装置10における画像処理部12のCPU13が行う処理動作の一例を示すフローチャートである。カメラ11では、例えば、毎秒数十フレームの画像が撮像され、各フレーム、又は一定間隔のフレーム毎に本処理が行われる。
【0098】
まず、ステップS1では、CPU13は、画像入力部21として動作し、カメラ11で撮像された画像(ドライバ3の顔を含む画像)を読み込む処理を行い、ステップS2に処理を進める。
【0099】
ステップS2では、CPU13は、顔検出部22として動作し、入力画像に対して探索領域を走査しながら顔領域を検出する顔検出処理を行い、ステップS3に処理を進める。なお、ステップS2の顔検出処理の具体例については後述する。
【0100】
ステップS3では、CPU13は、特定個人判定部25として動作し、ステップS2で検出された顔領域の特徴量と、顔特徴量記憶部142から読み込んだ特定個人の顔特徴量142aとを用いて、検出された顔領域の顔が特定個人の顔であるか否かを判定する処理を行い、ステップS4に処理を進める。
【0101】
ステップS4では、CPU13は、ステップS3での判定処理の結果が、特定個人の顔であるか否かを判断し、特定個人の顔であると判断すれば、ステップS5に処理を進める。
【0102】
ステップS5では、CPU13は、特定個人の顔向き推定部27として動作し、例えば、ステップS2で検出した顔領域から目、鼻、口、眉などの顔器官の位置や形状を検出し、検出した顔器官の位置や形状に基づいて、顔の向きを推定し、ステップS6に処理を進める。
【0103】
ステップS6では、CPU13は、特定個人の目開閉検出部28として動作し、例えば、ステップS5で求めた顔器官の位置や形状、特に目の特徴点(瞼、瞳孔)の位置や形状に基づいて、目の開閉状態、例えば、目を開けているか、閉じているかを検出し、ステップS7に処理を進める。
【0104】
ステップS7では、CPU13は、特定個人の視線方向推定部29として動作し、例えば、ステップS5で求めた顔の向き、顔器官の位置や形状、特に目の特徴点(目尻、目頭、瞳孔)の位置や形状に基づいて、視線の方向を推定し、その後処理を終える。
【0105】
一方ステップS4において、CPU13は、特定個人の顔ではない、換言すれば、通常の顔であると判断すれば、ステップS8に処理を進める。
ステップS8では、CPU13は、通常の顔向き推定部31として動作し、例えば、ステップS2で検出した顔領域から目、鼻、口、眉などの顔器官の位置や形状を検出し、検出した顔器官の位置や形状に基づいて、顔の向きを推定し、ステップS9に処理を進める。
【0106】
ステップS9では、CPU13は、通常の目開閉検出部32として動作し、例えば、ステップS8で求めた顔器官の位置や形状、特に目の特徴点(瞼、瞳孔)の位置や形状に基づいて、目の開閉状態、例えば、目を開けているか、閉じているかを検出し、ステップS10に処理を進める。
【0107】
ステップS10では、CPU13は、通常の視線方向推定部33として動作し、例えば、ステップS8で求めた顔の向き、顔器官の位置や形状、特に目の特徴点(目尻、目頭、瞳孔)の位置や形状に基づいて、視線の方向を推定し、その後処理を終える。
【0108】
図8は、実施の形態に係るドライバモニタリング装置10における画像処理部12のCPU13が行う処理動作の一例を示すフローチャートである。本処理動作は、
図7に示すステップS2の顔検出処理動作とステップS3の特定個人判定処理動作の一例であり、入力画像1枚(1フレーム)に対する処理動作例である。
【0109】
CPU13は、まず、ステップS21で、顔のサイズ(大きさ)を検出するループ処理L1を開始し、次のステップS22で、顔の回転角度(向きや傾き)を検出するループ処理L2を開始し、次のステップS23では、顔の位置を検出するループ処理L3を開始して、ステップS24に処理を進める。
【0110】
ループ処理L1は、さまざまな大きさの顔を検出するために生成された縮小画像(例えば、
図5に示す20a、20b)の数に応じて繰り返される。ループ処理L2は、顔の回転角度(例えば、
図6に示す正面顔、斜め顔、横顔、傾き)を判別する判別器の設定に応じて繰り返される。ループ処理L3は、顔の位置を検出するために探索領域210を走査する位置の数だけ繰り返される。
【0111】
ステップS24では、CPU13は、第1特徴量抽出部221として動作し、ループ処理L1、L2、L3の各条件で、探索領域210から顔の特徴量221aを抽出する処理を行う。
【0112】
ステップS25では、CPU13は、通常顔判別器222及び特定個人顔判定部223として動作し、探索領域210が顔であるか(顔であるか)、非顔(顔以外)であるかを階層的に判別し、いずれかの階層で非顔であると判別された場合に、探索領域210が特定個人の顔であるか、非顔であるかを判定する処理を行う。
【0113】
CPU13は、例えば、全ての縮小画像に対して探索領域210の走査を行い、全ての探索領域210での顔検出(換言すれば、顔領域の候補の検出)を終えると、ステップS26でループ処理L1を終え、ステップS27でループ処理L2を終え、ステップS28でループ処理L3を終え、その後ステップS29に処理を進める。
【0114】
ステップS29では、CPU13は、顔領域統合部224として動作し、ステップS21〜S28の処理で顔であると判別された1以上の顔領域の候補を統合する処理を行い、ステップS30に処理を進める。1以上の顔領域の候補を統合する方法は特に限定されない。例えば、1以上の顔領域の候補の領域中心の平均値と、領域サイズの平均値とに基づいて統合してもよい。
【0115】
ステップS30では、CPU13は、第2特徴量抽出部225として動作し、ステップS29で統合された顔領域から顔の特徴量を抽出する処理を行い、ステップS31に処理を進める。
【0116】
ステップS31では、CPU13は、特定個人判定部25として動作し、ステップS30で、統合された顔領域から抽出された特徴量と、顔特徴量記憶部142から読み込んだ特定個人の顔特徴量142aとの相関係数を算出する処理を行い、ステップS32に処理を進める。
【0117】
ステップS32では、CPU13は、算出した相関係数が、特定個人の顔か否かを判定するための所定の閾値より大きいか否かを判断し、相関係数が所定の閾値よりも大きい、換言すれば、顔領域から抽出された特徴量と、特定個人の顔特徴量142aとの相関性が高い(換言すれば、類似度が高い)と判断すれば、ステップS33に処理を進める。
ステップS33では、CPU13は、顔領域に検出された顔が特定個人の顔であると判定し、その後処理を終える。
【0118】
一方ステップS32において、相関係数が所定の閾値以下である、換言すれば、顔領域から抽出された特徴量と、特定個人の顔特徴量142aとの相関性が低い(換言すれば、類似度が低い)と判断すれば、ステップS34に処理を進める。
ステップS34では、CPU13は、特定個人の顔ではない、換言すれば、通常の顔であると判定し、その後処理を終える。
【0119】
図9は、実施の形態に係るドライバモニタリング装置10における画像処理部12のCPU13が行う顔検出処理動作の一例を示すフローチャートである。本処理動作は、
図8に示すステップS25の判別処理動作の一例である。
【0120】
まず、ステップS41では、CPU13は、
図8のステップS24で探索領域210から抽出した特徴量221aを読み込み、ステップS42に処理を進める。
ステップS42では、CPU13は、通常顔判別器222がどの階層にあるのかをカウントする判別器カウンタ(i)に0をセットし、また、通常顔判別器222の階層構造の数を示すnには、初期値として1をセットし、ステップS43に処理を進める。
【0121】
ステップS43では、CPU13は、通常顔判別器222として動作し、第n判別器により、探索領域210が顔であるか、非顔であるかを判別する処理を行う。
【0122】
ステップS44では、CPU13は、探索領域210が顔であるか、非顔であるかを判別し、顔であると判別すれば、ステップS45に処理を進める。
ステップS45では、CPU13は、判別器カウンタ(i)に1を加算して、ステップS46に処理を進める。
【0123】
ステップS46では、CPU13は、判別器カウンタ(i)が、判別器の数を示すN未満であるか否かを判断し、判別器数N未満であると判断すれば、ステップS47に処理を進め、ステップS47では、次の階層の判別器による処理に進むために、nに1を加算し、その後、ステップS43に戻り、処理を繰り返す。
【0124】
一方ステップS46において、CPU13が、判別器カウンタ(i)が判別器数N未満ではない、換言すれば、判別器カウンタ(i)が判別器数Nになったと判断すれば、ステップS48に処理を進める。
【0125】
ステップS48では、CPU13は、探索領域210が顔領域の候補であると判定し、当該探索領域の情報を顔領域の候補として記憶した後、当該探索領域に対する顔検出処理を終え、次の探索領域に対する顔検出処理を繰り返す。
【0126】
一方ステップS44において、CPU13が、探索領域210が非顔であると判別すれば、ステップS49に処理を進める。
ステップS49では、CPU13は、特定個人顔判定部223として動作し、第n判別器で用いた特徴量(探索領域210から抽出された特徴量)と、第n判別器の階層に対応する特定個人の顔特徴量142aとの相関係数を算出する処理を行い、ステップS50に処理を進める。
【0127】
ステップS50では、CPU13は、算出した相関係数が、特定個人の顔であるか否かを判定するための所定の閾値より大きいか否かを判断し、相関係数が所定の閾値よりも大きい(すなわち、相関性が高い)と判断すれば(換言すれば、探索領域210が特定個人の顔であると判断すれば)、ステップS45に処理を進め、通常顔判別器222による判別処理を進める。
【0128】
一方ステップS50において、CPU13が、相関係数が所定の閾値以下である(すなわち、相関性が低い)と判断すれば(換言すれば、探索領域210が非顔であると判断すれば)、ステップS51に処理を進める。
【0129】
ステップS51では、CPU13は、探索領域が非顔(顔以外)であると判定し、次のステップS52で、通常顔判別器222による第n判別器より後の判別処理を打ち切り、その後、当該探索領域に対する顔検出処理を終え、次の探索領域に対する顔検出処理を繰り返す。
【0130】
[作用・効果]
上記した実施の形態に係るドライバモニタリング装置10によれば、顔特徴量記憶部142に学習済みの顔特徴量として、特定個人の顔特徴量142aと、通常の顔特徴量142bとが記憶され、通常顔判別器222が、通常の顔特徴量142bを用いて、画像から切り出された探索領域210が顔であるか、非顔であるかを階層的に判別することにより、顔領域が検出される。
【0131】
また、通常顔判別器222のいずれかの階層で非顔であると判別された場合であっても、特定個人顔判定部223が、特定個人の顔特徴量142aを用いて、探索領域210が特定個人の顔であるか、非顔であるかを判定することにより、特定個人の顔を含む顔領域が検出される。
【0132】
これにより、通常の顔であっても、特定個人の顔であっても、画像中から顔領域を精度良く検出することができる。また、通常顔判別器222と特定個人顔判定部223では、探索領域210から抽出された共通の特徴量を用いるので、別途特徴量を抽出したりする処理が必要ないので、顔領域の検出に係るリアルタイム性を維持することができる。
【0133】
したがって、ドライバ3が、特定個人であっても、特定個人以外の通常の人であっても、それぞれの顔をリアルタイムで(換言すれば、高速な処理で)精度良く検出することができる。
【0134】
また、特定個人顔判定部223によって、非顔であると判別された通常顔判別器222の一の階層で用いた特徴量と、前記一の階層に対応する特定個人の顔特徴量142aとの相関性に基づいて、探索領域が特定個人の顔であるか、非顔であるかを効率良く判定することができる。したがって、通常顔判別器222で非顔であると判別された場合であっても、特定個人の顔である場合を精度良く判定することができる。
【0135】
また、上記ドライバモニタリング装置10によれば、特定個人顔判定部223により特定個人の顔であると判定された場合、通常顔判別器222の次の階層に判別が進められ、判別処理が速やかに継続される。一方、特定個人顔判定部223により非顔であると判定された場合、通常顔判別器222での判別が打ち切られる。したがって、通常顔判別器222の効率を維持しつつ、特定個人の顔を判定する処理を行うことができる。
【0136】
また、上記ドライバモニタリング装置10によれば、顔領域統合部224によって、通常顔判別器222を介して顔であると判別された1以上の顔領域の候補が統合され、特定個人判定部25によって、統合された顔領域から抽出された特徴量と、特定個人の顔特徴量142aとを用いて、顔領域の顔が特定個人の顔であるか否かが判定される。したがって、顔領域統合部224により統合された顔領域に基づいて、特定個人の顔であるか、通常の人の顔であるかを精度良く判定することができる。
【0137】
また、車載システム1が、ドライバモニタリング装置10と、ドライバモニタリング装置10から出力されるモニタリングの結果に基づいて、所定の処理を実行する1以上のECU40とを備えている。したがって、前記モニタリングの結果に基づいて、ECU40に所定の制御を適切に実行させることが可能となる。これにより、特定個人であっても安心して運転することができる安全性の高い車載システムを構築することが可能となる。
【0138】
[変形例]
以上、本発明の実施の形態を詳細に説明したが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく、種々の改良や変更を行うことができることは言うまでもない。
上記実施の形態では、本発明に係る画像処理装置をドライバモニタリング装置10に適用した場合について説明したが、適用例はこれに限定されない。例えば、工場内の機械や装置などの各種設備を操作したり、監視したり、所定の作業をしたりする人などをモニタリングする装置やシステムなどにおいて、モニタリング対象者に上記した特定個人が含まれる場合に、本発明に係る画像処理装置を適用可能である。
【0139】
[付記]
本発明の実施の形態は、以下の付記の様にも記載され得るが、これらに限定されない。
(付記1)
撮像部(11)から入力される画像を処理する画像処理装置(12)であって、
前記画像から顔を検出するための学習を行った学習済みの顔特徴量として、特定個人の顔特徴量(142a)と、通常の顔特徴量(142b)とが記憶される顔特徴量記憶部(142)と、
前記画像に対して探索領域を走査しながら顔領域の検出を行う顔検出部(22)とを備え、
該顔検出部(22)が、
前記探索領域から顔の特徴量を抽出する第1特徴量抽出部(221)と、
前記探索領域から抽出された前記特徴量と、前記通常の顔特徴量(142b)とを用いて、前記探索領域が顔であるか、非顔であるかを判別する階層構造の通常顔判別器(222)と、
該通常顔判別器(222)のいずれかの階層で前記非顔であると判別された場合に、前記探索領域から抽出された前記特徴量と、前記特定個人の顔特徴量とを用いて、前記探索領域が前記特定個人の顔であるか、前記非顔であるかを判定する特定個人顔判定部(223)とを備えていることを特徴とする画像処理装置。
【0140】
(付記2)
撮像部(11)から入力される画像を処理する画像処理方法であって、
前記画像に対して探索領域を走査しながら顔領域の検出を行う顔検出ステップ(S2)を含み、
該顔検出ステップ(S2)が、
前記探索領域から顔の特徴量を抽出する特徴量抽出ステップ(S24)と、
該特徴量抽出ステップ(S24)により抽出された前記特徴量と、顔を検出するための学習を行った学習済みの通常の顔特徴量(142b)とを用いて、前記探索領域が顔であるか、非顔であるかを階層的に判別する通常顔判別ステップ(S43、S44)と、
該通常顔判別ステップ(S43、S44)のいずれかの階層で前記非顔であると判別された場合に、抽出された前記特徴量と、特定個人の顔を検出するための学習を行った学習済みの前記特定個人の顔特徴量(142a)とを用いて、前記探索領域が前記特定個人の顔であるか、前記非顔であるかを判定する特定個人顔判定ステップ(S49、S50)とを含むことを特徴とする画像処理方法。