(57)【特許請求の範囲】
【請求項１】
人の顔を撮影する撮影手段と、
前記撮影手段により撮影された人の顔の画像から前記人の顔の向きを推定する推定手段と、
前記推定手段における前記人の顔の向きの推定結果の信頼度を検出する信頼度検出手段と、
前記信頼度検出手段により前記信頼度の低下が検出された場合、前記人に所定の方向に顔を向けさせる指示の通知を制御する通知制御手段と、
前記通知制御手段からの指示を前記人に通知する通知手段と、
前記人が前記通知手段からの指示により前記所定の方向に顔を向けた時に前記撮影手段により撮影された画像に基づいて前記推定手段により推定された前記人の顔の向きと、予め設定されている、前記通知手段からの指示により前記所定の方向を見たときの顔の向きとを比較し、顔の向きが一致しない場合は前記推定手段が異常であることを検出する異常検出手段と
を含む異常検出装置。
【請求項２】
前記信頼度検出手段は、前記推定手段による前記人の顔の特徴の検出結果に基づいて、前記信頼度を検出する
請求項１に記載の異常検出装置。
【請求項３】
前記信頼度検出手段は、前記推定手段による前記人の顔または顔の各器官の検出の可否に基づいて、前記信頼度を検出する
請求項１に記載の異常検出装置。
【請求項４】
前記信頼度検出手段は、前記推定手段により抽出された前記人の顔の特徴点の位置と、所定のモデルにおける特徴点の位置との差に基づいて、前記信頼度を検出する
請求項１に記載の異常検出装置。
【請求項５】
前記信頼度検出手段は、前記画像の特徴に基づいて、前記信頼度を検出する
請求項１に記載の異常検出装置。
【請求項６】
前記信頼度検出手段は、前記画像内の輝度の差に基づいて、前記信頼度を検出する
請求項５に記載の異常検出装置。
【請求項７】
前記信頼度検出手段は、前記画像のエッジ成分の量に基づいて、前記信頼度を検出する
請求項５に記載の異常検出装置。
【請求項８】
前記信頼度検出手段は、前記信頼度の低下を検出した場合、前記推定手段により推定されるドライバの顔の向きに基づいて車両を制御する車両制御手段に前記信頼度の低下を通知することにより、前記車両の制御を停止させる
請求項１乃至７のいずれかに記載の異常検出装置。
【請求項９】
人の顔の向きを推定する推定手段の異常を検出する異常検出方法において、
前記推定手段における前記人の顔の向きの推定結果の信頼度の低下が検出された場合、前記人に所定の方向に顔を向けさせる指示を通知する通知ステップと、
前記人が前記通知された指示により所定の方向に顔を向けた時に前記人の顔を撮影する撮影ステップと、
撮影された画像に基づいて前記人の顔の向きを推定する推定ステップと、
推定された前記人の顔の向きと、予め設定されている、前記所定の方向を見たときの顔の向きとを比較する比較ステップと、
顔の向きが一致しない場合は前記推定手段が異常であることを検出する異常検出ステップと
を含む異常検出方法。
【請求項１０】
人の顔の向きを推定する推定手段の異常を検出する処理であって、
前記推定手段における前記人の顔の向きの推定結果の信頼度の低下が検出された場合、前記人に所定の方向に顔を向けさせる指示を通知する通知ステップと、
前記人が前記通知された指示により所定の方向に顔を向けた時に前記人の顔を撮影する撮影ステップと、
撮影された画像に基づいて前記人の顔の向きを推定する推定ステップと、
推定された前記人の顔の向きと、予め設定されている、前記所定の方向を見たときの顔の向きとを比較する比較ステップと、
顔の向きが一致しない場合は前記推定手段が異常であることを検出する異常検出ステップと
含む処理をコンピュータに実行させるためのプログラム。
【請求項１１】
請求項１０に記載のプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異常検出装置および方法、記録媒体、並びに、プログラムに関し、特に、人の顔の向きを推定する推定手段の異常を、簡単かつ正確に検出できるようにした異常検出装置および方法、記録媒体、並びに、プログラムに関する。
【背景技術】
【０００２】
近年、ドライバが安全に運転できるように支援する技術の開発が盛んであり、その中の一つに、ドライバの顔の向きを推定し、推定結果に基づいて、ドライバの脇見を検出する装置がある（例えば、特許文献１参照）。そのような装置においては、ドライバの顔を撮影するカメラの故障などにより、ドライバの顔の向きを正確に推定できなくなり、脇見が誤検出される場合が想定されるため、カメラなどの故障を自動で検出することが行われる場合がある。
【０００３】
一方、カメラの故障を検出する方法として、監視領域が重なるように複数の監視カメラを配置し、複数のカメラにより撮影された、重なった領域に対応する画像の差分値を閾値と比較することにより、監視カメラの故障を検出することが提案されている（例えば、特許文献２参照）。
【０００４】
また、車両が所定の運転状態である場合、アイリスを制御する前に車両用カメラにより撮像された画面の平均輝度、アイリスを全開にして撮像した画面の平均輝度、および、アイリスを閉じて撮像した画面の平均輝度を比較することにより、車両用カメラのアイリスの異常を検出したり、シャッタースピードを制御する前に車両用カメラにより撮像された画面の平均輝度、シャッタースピードを最長にして撮像した画面の平均輝度、および、シャッタースピードを最短にして撮像した画面の平均輝度を比較することにより、車両用カメラのシャッタースピードの異常を検出することが提案されている（例えば、特許文献３参照）。
【０００５】
【特許文献１】特開平３−１６７６９８号公報
【特許文献２】特開２００２−３６９２２４号公報
【特許文献３】特開２００５−７３２９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献２に記載の発明では、監視カメラの故障を検出するために、複数の監視カメラを配置し、複数台のカメラにより撮影された画像を比較する必要があり、装置の構成および処理が複雑になってしまう。
【０００７】
また、特許文献３に記載の発明では、アイリスまたはシャッタースピードの異常のみしか検出できない。さらに、特許文献３に記載の発明では、レンズに虫が停まったり、カメラの前に障害物が短時間現れるなどの一時的な現象により、車両用カメラが故障していると誤検出されてしまう場合がある。
【０００８】
本発明は、このような状況に鑑みてなされたものであり、人の顔の向きを推定する推定手段の異常を、簡単かつ正確に検出できるようにするものである。
【課題を解決するための手段】
【０００９】
本発明の一側面の異常検出装置は、人の顔を撮影する撮影手段と、撮影手段により撮影された人の顔の画像から人の顔の向きを推定する推定手段と、推定手段における人の顔の向きの推定結果の信頼度を検出する信頼度検出手段と、信頼度検出手段により信頼度の低下が検出された場合、人に所定の方向に顔を向けさせる指示の通知を制御する通知制御手段と、通知制御手段からの指示を人に通知する通知手段と、人が通知手段からの指示により所定の方向に顔を向けた時に撮影手段により撮影された画像に基づいて推定手段により推定された人の顔の向きと、予め設定されている、通知手段からの指示により所定の方向を見たときの顔の向きとを比較し、顔の向きが一致しない場合は推定手段が異常であることを検出する異常検出手段とを備える。
【００１０】
本発明の一側面の異常検出装置においては、人の顔の向きの推定結果の信頼度の低下が検出された場合、人に所定の方向に顔を向けさせる指示が通知され、人が所定の方向に顔を向けた時に撮影された画像に基づいて推定手段により推定された人の顔の向きと、予め設定されている、所定の方向を見たときの顔の向きとが比較され、顔の向きが一致しない場合に推定手段が異常であることが検出される。
【００１１】
従って、人の顔の向きを推定する推定手段の異常を、簡単かつ正確に検出することができる。
【００１２】
この推定手段、信頼度検出手段、通知制御手段、異常検出手段は、例えば、CPU（Central Processing Unit）により構成される。また、この推定手段は、例えば、顔の向きを推定する専用の装置により構成するようにすることもできる。
【００１３】
この信頼度検出手段は、推定手段による人の顔の特徴の検出結果に基づいて、信頼度を検出するようにすることができる。
【００１４】
これにより、推定手段による人の顔の特徴の検出結果に基づいて自分で検出した信頼度に基づいて、推定手段の異常を検出することができる。
【００１６】
この信頼度検出手段には、推定手段によるドライバの顔または顔の各器官の検出の可否に基づいて、信頼度を検出させることができる。
【００１７】
これにより、推定手段によるドライバの顔または顔の各器官の検出の可否に基づいて、推定手段の異常を検出することができる。
【００１８】
この信頼度検出手段には、推定手段により抽出された人の顔の特徴点の位置と、所定のモデルにおける特徴点の位置との差に基づいて、信頼度を検出させるようにすることができる。
【００１９】
これにより、推定手段により抽出された人の顔の特徴点の位置と、所定のモデルにおける特徴点の位置との差に基づいて、推定手段の異常を検出することができる。
【００２０】
この信頼度検出手段は、画像の特徴に基づいて、信頼度を検出するようにすることができる。
【００２１】
これにより、画像の特徴に基づいて自分で検出した信頼度に基づいて、推定手段の異常を検出することができる。
【００２３】
この信頼度検出手段には、画像内の輝度の差に基づいて、信頼度を検出させるようにすることができる。
【００２４】
これにより、画像内の輝度の差に基づいて、推定手段の異常を検出することができる。
【００２５】
この信頼度検出手段には、画像のエッジ成分の量に基づいて、信頼度を検出させるようにすることができる。
【００２６】
この信頼度検出手段には、信頼度の低下を検出した場合、推定手段により推定されるドライバの顔の向きに基づいて車両を制御する車両制御手段に信頼度の低下を通知することにより、車両の制御を停止させるようにすることができる。
【００２７】
これにより、ドライバの顔向きの推定の誤りにより、誤った車両の制御が行われることが防止され、ドライバの安全性を向上させることができる。
【００２８】
これにより、画像のエッジ成分の量に基づいて、推定手段の異常を検出することができる。
【００２９】
本発明の一側面の異常検出方法、プログラム、または、記録媒体に記録されているプログラムは、推定手段における人の顔の向きの推定結果の信頼度の低下が検出された場合、人に所定の方向に顔を向けさせる指示を通知する通知ステップと、人が通知された指示により所定の方向に顔を向けた時に人の顔を撮影する撮影ステップと、撮影された画像に基づいて人の顔の向きを推定する推定ステップと、推定された人の顔の向きと、予め設定されている、所定の方向を見たときの顔の向きとを比較する比較ステップと、顔の向きが一致しない場合は推定手段が異常であることを検出する異常検出ステップとを含む。
【００３０】
本発明の一側面の異常検出方法、プログラム、または、記録媒体に記録されているプログラムにおいては、推定手段における人の顔の向きの推定結果の信頼度の低下が検出された場合、人に所定の方向に顔を向けさせる指示が通知され、人が通知された指示により所定の方向に顔を向けた時に人の顔が撮影され、撮影された画像に基づいて人の顔の向きが推定され、推定された人の顔の向きと、予め設定されている、所定の方向を見たときの顔の向きとが比較され、顔の向きが一致しない場合は推定手段が異常であることが検出される。
【００３１】
従って、人の顔の向きを推定する推定手段の異常を、簡単かつ正確に検出することができる。
【００３２】
この異常検出ステップは、例えば、顔の向きが一致しない場合は推定手段が異常であることをCPUにより検出する異常検出ステップにより構成される。
【発明の効果】
【００３３】
以上のように、本発明の一側面によれば、人の顔の向きを推定する推定手段の異常を、簡単かつ正確に検出することができる。
【発明を実施するための最良の形態】
【００３４】
以下、図を参照して、本発明の実施の形態について説明する。
【００３５】
図１は、本発明を適用した車両制御システムの一実施の形態を示すブロック図である。車両制御システム１は、車両制御システム１が設けられた車両の各部（例えば、エンジン、サスペンション、トランスミッション、ブレーキなど）の動作を制御する装置（例えば、ECU（Electric Computer Unit）など）である制御装置２を、車両およびドライバの状態に基づいて制御することにより、ドライバの運転を支援したり、安全運転を行うようにドライバの注意を喚起したりする。例えば、車両制御システム１の制御の基に、車間距離、車両の進行方向などが自動的に制御される。車両制御システム１は、車両制御装置１１、顔向き推定装置１２、異常検出装置１３、および、表示装置１４を含むように構成される。
【００３６】
車両制御装置１１は、車両の自動制御を行ったり、安全運転を行うようにドライバの注意を喚起したりするように、制御装置２を制御する装置である。車両制御装置１１は、車両状態検出部２１および車両制御部２２を含むように構成される。
【００３７】
車両状態検出部２１は、制御装置２からの情報に基づいて、車両の状態（例えば、エンジンの始動および停止、車速など）を検出し、検出した状態を示す情報を車両制御部２２に供給する。
【００３８】
車両制御部２２は、車両制御システム１が設けられた車両を運転するドライバの顔の向きの推定結果を示す情報を顔向き推定装置１２から取得する。車両制御部２２は、車両の状態およびドライバの顔の向きに応じて、車両を制御するための情報を制御装置２に供給することにより、車両の制御を行う。また、車両制御部２２は、車両制御装置１１の状態を示す情報を表示装置１４に供給し、供給した情報を表示装置１４に表示させる。
【００３９】
顔向き推定装置１２は、ドライバの顔の向きを推定する装置である。顔向き推定装置１２は、カメラ３１、および、顔向き推定部３２を含むように構成される。
【００４０】
カメラ３１は、ドライバの顔を撮影できる位置に設置され、ドライバの顔を撮影する。カメラ３１は、撮影した画像（以下、入力画像と称する）を顔向き推定部３２に供給する。
【００４１】
顔向き推定部３２は、入力画像に基づいて、ドライバの顔の向きを推定する。顔向き推定部３２は、トラッキング部４１、および、推定部４２を含むように構成される。
【００４２】
トラッキング部４１は、所定の手法を用いて、入力画像におけるドライバの顔をトラッキングする（ドライバの顔および顔の特徴（例えば、顔および顔の各器官の位置、形状など）を検出する）。トラッキング部４１は、トラッキング結果を示す情報を推定部４２、および、異常検出装置１３の信頼度検出部５１に供給する。なお、トラッキング部４１が顔をトラッキングする手法は、特定の手法に限定されるものではなく、より迅速かつ正確に顔をトラッキングできる手法が望ましい。
【００４３】
推定部４２は、所定の手法を用いて、トラッキング部４１によるトラッキング結果に基づいて、ドライバの顔の向きを推定する。推定部４２は、推定結果を示す情報を、車両制御装置１１の車両制御部２２、並びに、異常検出装置１３の信頼度検出部５１および異常診断部５２に供給する。また、推定部４２は、顔向き推定装置１２の動作モードの設定を行う。
【００４４】
なお、推定部４２が顔の向きを推定する手法は、特定の手法に限定されるものではなく、顔の向きをより迅速かつ正確に推定できる手法が望ましい。例えば、顔向きを推定する手法の詳細については、特許２９８２２０４号公報などに、その詳細が開示されている。
【００４５】
異常検出装置１３は、顔向き推定装置１２の異常を検出する装置である。異常検出部１３は、信頼度検出部５１、異常診断部５２、表示制御部５３、および、通信部５４を含むように構成される。
【００４６】
信頼度検出部５１は、トラッキング部４１によるトラッキング結果、および、推定部４２による推定結果に基づいて、ドライバの顔の向きの推定結果の信頼度を検出し、検出結果を示す情報を、車両制御部２２、異常診断部５２および表示制御部５３に供給する。
【００４７】
異常診断部５２は、信頼度検出部５１により、ドライバの顔の向きの推定結果の信頼度の低下が検出された場合、図１１を参照して後述する異常診断処理を実行する。また、異常診断部５２は、異常診断処理の実行を通知する情報を、顔向き推定装置１２の推定部４２に供給する。さらに、異常診断部５２は、表示制御部５３を制御することにより、異常診断処理の実行画面を表示装置１４に表示させ、顔向き推定装置１２の異常を診断するための対応をドライバに実行させる。また、異常診断部５２は、診断結果を示す情報を、車両制御部２２、推定部４２、および、表示制御部５３に供給する。さらに、異常診断部５２は、診断結果を示す情報を、例えば、通信部５４、および、図示せぬネットワークを介して、車両のディーラーや整備会社などに送信する。
【００４８】
表示制御部５３は、異常診断処理の実行画面を表示させるための情報を表示装置１４に供給し、表示装置１４に実行画面を表示させる。また、表示制御部５３は、検出された顔向き推定装置１２の状態を示す情報を表示装置１４に供給し、表示装置１４にその情報を表示させる。
【００４９】
通信部５４は、例えば、無線通信により、図示せぬネットワークに接続して、ネットワークに接続されている情報処理装置と通信を行う。通信装置５４の通信には、例えば、IEEE（Institute of Electrical and Electronic Engineers）802.11（802.11a，802.11b，802.11gなど）により規定される無線LAN（Local Area Network）の規格、W-CDMA（Wideband Code Division Multiple Access）、PIAFS（Personal Handyphone System Internet Access Forum Standard）などの携帯電話やPHS（Personal Handyphone System）の通信規格、Bluetooth（商標）などの規格を適用することができる。
【００５０】
表示装置１４は、車両制御装置１１または異常検出装置１３から供給される情報に基づく表示を行う。表示装置１４は、例えば、カーナビゲーションシステムのモニタ、または、自動車のフロントガラスに無限遠の点に結像する画像を投影するヘッドアップディスプレイシステムにより構成される。なお、表示装置１４を車両制御システム１の専用の装置として設けるようにしてもよいし、他のシステムと共用する装置として設けるようにしてもよい。
【００５１】
次に、図２乃至図１４を参照して、車両制御システム１の処理を説明する。
【００５２】
まず、図２のフローチャートを参照して、車両制御システム１により実行される車両制御処理を説明する。なお、この処理は、例えば、車両制御システム１が設けられている車両のエンジンが始動されたとき開始される。また、この処理は、車両のエンジンの停止に伴い終了される。
【００５３】
ステップＳ１において、車両制御部２２は、車両制御をONにする。これにより、車両制御装置１１による車両の自動制御が開始される。また、カメラ３１によりドライバの顔の撮影が開始される。
【００５４】
ステップＳ２において、表示装置１４は、車両制御ONの表示を行う。具体的には、車両制御部２２は、車両制御がONされたことを通知する情報を表示装置１４に供給する。表示装置１４は、取得した情報に基づいて、車両制御がONされたことを通知する表示を行う。
【００５５】
ステップＳ３において、車両制御システム１は、顔向き推定処理を行う。顔向き推定処理の詳細は、図３を参照して後述するが、この処理により、ドライバの顔の向きが推定され、推定結果に基づいて、車両の制御が行われる。また、推定結果の信頼度が検出される。
【００５６】
ステップＳ４において、信頼度検出部５１は、推定結果の信頼度が低下しているか否かを判定する。信頼度検出部５１は、顔向き推定装置１２によるドライバの顔の向きの推定結果の信頼度が所定の閾値より低い状態が所定の時間継続しておらず、かつ、推定結果の信頼度が所定の閾値より低くなる頻度が所定の閾値未満である場合、推定結果の信頼度は低下していないと判定し、処理はステップＳ３に戻る。その後、ステップＳ４において、推定結果の信頼度が低下していると判定されるまで、ステップＳ３およびＳ４の処理が繰返し実行され、ドライバの顔の向きに応じて、車両の制御が行われる。
【００５７】
一方、ステップＳ４において、信頼度検出部５１は、推定結果の信頼度が所定の閾値より低い状態が所定の時間以上継続している場合、または、推定結果の信頼度が所定の閾値より低くなる頻度が所定の閾値以上である場合、推定結果の信頼度が低下していると判定し、処理はステップＳ５に進む。
【００５８】
ステップＳ５において、表示装置１４は、警告表示を行う。具体的には、信頼度検出部５１は、顔向きの推定結果の信頼度が低下していることを示す情報を、異常診断部５２および表示制御部５３に供給する。表示制御部５３は、顔向きの推定結果の信頼度の低下を通知する情報を表示装置１４に供給する。表示装置１４は、取得した情報に基づいて、顔向きの推定結果の信頼度が低下していることを警告する画面を表示する。これにより、ドライバは、顔向き推定装置１２による顔向きの推定結果の信頼度が低下していることを知ることができる。
【００５９】
ステップＳ６において、車両制御部２２は、車両制御をOFFにする。具体的には、信頼度検出部５１は、顔向きの推定結果の信頼度の低下を示す情報を車両制御部２２に供給する。車両制御部２２は、車両制御をOFFする。すなわち、信頼度の低下が通知されることにより、車両の制御が停止され、ドライバの顔向きの推定の誤りにより、誤った車両の制御が行われることが防止される。
【００６０】
ステップＳ７において、表示装置１４は、車両制御OFFの表示を行う。具体的には、車両制御部２２は、車両制御をOFFしたことを通知する情報を表示装置１４に供給する。表示装置１４は、取得した情報に基づいて、車両制御のOFFを通知するための表示を行う。これにより、ドライバは、車両制御装置１１による車両の制御が停止されたことを知ることができる。
【００６１】
ステップＳ８において、異常検出装置１３は、異常診断処理を行う。異常診断処理の詳細は、図１を参照して後述するが、この処理により、顔向きの推定結果の信頼度の低下が顔向き推定装置１２の異常に起因するものか否かが診断され、診断結果が、異常診断部５２から車両制御部２２および推定部４２に供給される。
【００６２】
ステップＳ９において、車両制御部２２は、異常診断部５２による診断結果に基づいて、顔向き推定装置１２に異常が発生しているか否かを判定する。顔向き推定処理に異常が発生していないと判定された場合、処理はステップＳ１に戻り、ステップＳ１以降の処理が実行される。すなわち、車両制御装置１１による車両の制御が再開される。
【００６３】
ステップＳ９において、顔向き推定装置１２に異常が発生していると判定された場合、車両制御処理は終了する。
【００６４】
次に、図３のフローチャートを参照して、図２のステップＳ３の顔向き推定処理の詳細を説明する。
【００６５】
ステップＳ２１において、トラッキング部４１は、カメラ３１により撮影された入力画像を取得する。
【００６６】
ステップＳ２２において、トラッキング部４１は、所定の手法を用いて、ドライバの顔をトラッキングする。トラッキング部４１は、入力画像におけるドライバの顔をトラッキングすることにより、例えば、ドライバの顔の位置および形状、並びに、顔の各器官の位置および形状などを検出する。さらに、トラッキング部４１は、ドライバの顔の特徴点、例えば、目頭、目尻、目の上端および下端、鼻先、鼻翼、口角、人中の両端、下唇の傾きが大きく変化する点などを検出する。トラッキング部４１は、トラッキング結果を示す情報を推定部４２に供給する。
【００６７】
ステップＳ２３において、推定部４２は、ドライバの顔の向きを推定する。例えば、推定部４２は、検出されたドライバの顔の特徴点の位置と、予め学習処理により学習されている、顔の向きを検出するために用いる学習モデルにおける特徴点の位置とを比較することにより（あるいは、特徴点を結ぶことにより形成される図形の形状を比較することにより）、ドライバの顔の向きを検出する。
【００６８】
図４および図５は、学習モデルの例を示している。図４は、ドライバの顔が右に向いている場合の学習モデルの例を示し、図５は、ドライバの顔が左を向いている場合の学習モデルの例を示す。また、図４および図５内の円形の印は、学習モデルにおける特徴点を示し、図４および図５においては、目頭、目尻、目の上端および下端、鼻先、鼻翼、口角、人中の両端、下唇の傾きが大きく変化する点の両端を特徴点とする場合の例を示している。
【００６９】
例えば、推定部４２は、パターンマッチングなどの手法を用いて、複数の顔の向き（角度）に対応する学習モデルの中から、特徴点の位置がトラッキング部４１により検出されたドライバの顔の特徴点の位置が最も近い学習モデルを検出し、その学習モデルに対応する顔の向きを、ドライバの顔の向きとする。あるいは、例えば、推定部４２は、各学習モデルにおける特徴点の位置、および、トラッキング部４１により検出された顔の特徴点の位置に基づいて、ドライバの顔の向きを算出することにより、ドライバの顔の向きを推定する。
【００７０】
ステップＳ２４において、車両制御部２２は、推定結果に基づいて、車両を制御する。具体的には、推定部４２は、ドライバの顔の向きの推定結果を示す情報を、車両制御部２２に供給する。車両制御部２２は、取得した推定結果および車両状態検出部２１により検出される車両の状態に基づいて、車両を制御する。例えば、ドライバの脇見が検出された場合、車両制御部２２は、車速が所定の速度未満になるように指示する情報を制御装置２に供給することにより、車両の速度を減速させたり、ドライバの注意を喚起するように指示する情報を制御装置２に供給することにより、ドライバの注意を喚起する音声メッセージや警告音を出力させたりする。
【００７１】
ステップＳ２５において、信頼度検出部５１は、推定結果の信頼度を検出する。ここで、推定結果の信頼度を検出する方法について説明する。
【００７２】
例えば、カメラ３１の故障、レンズの汚れまたは曇り、もしくは、ピントのズレ、または、図示せぬ照明の故障などにより、図６に模式的に示されるように、カメラ３１により撮影された入力画像がぼけたり、入力画像においてノイズが多発している場合、トラッキング部４１が、入力画像からドライバの顔または顔の各器官を検出できなかったり、または、図７に示されるように、トラッキング部４１により検出された、円形の印で示される顔の特徴点の誤差が大きく、検出した各特徴点の位置と、各学習モデルにおける各特徴点の位置との差の大きさを示す類似度（以下、学習モデルとの類似度と称する）が低くなる（検出した各特徴点の位置と学習モデルにおける各特徴点の位置とがかけ離れている）ときがある。そして、顔の向きを検出できなかったり、顔の向きの推定結果の誤差が大きくなったりする。すなわち、顔向きの推定結果の信頼度が低下する。
【００７３】
また、図６の画像は、エッジ成分（高周波成分）が少なく、画像内の輝度値の差が小さいという特徴を持つ。例えば、図８乃至図１０は、それぞれ、図４、図５および図７の各特徴点における輝度を比較するためのグラフであり、各特徴点における輝度が横方向に並べられている。図１０においては、図８および図９と比べて、特徴点における輝度の差が小さいことが分かる。従って、顔向き推定装置１２またはカメラ周辺の環境に異常が発生していない場合に撮影された画像と比較して、入力画像のエッジ成分の量が少なかったり、入力画像内の輝度の差が小さい場合、顔向きの推定結果の信頼度が低下する。
【００７４】
トラッキング部４１は、ドライバの顔および顔の各器官の検出結果を示す情報、並びに、ドライバの顔をトラッキングする際に検出される、入力画像のエッジ成分の量および入力画像内の輝度の差を示す情報を信頼度検出部５１に供給する。推定部４２は、学習モデルとの類似度を示す情報を信頼度検出部５１に供給する。信頼度検出部５１は、ドライバの顔の特徴の検出結果（ドライバの顔または顔の各器官の検出の可否、学習モデルとの類似度）、並びに、入力画像の特徴（入力画像のエッジ成分の量および入力画像内の輝度の差）に基づいて、顔向きの推定結果の信頼度を検出する。例えば、信頼度は、0から1000までの値により表され、ドライバの顔または顔の各器官が検出できなかったり、学習モデルとの類似度が低かったり、入力画像のエッジ成分の量が少なかったり、入力画像内の輝度の差が小さい場合、信頼度は低い値に設定される。
【００７５】
なお、ドライバの顔または顔の各器官の検出結果、学習モデルとの類似度、入力画像のエッジの量および入力画像内の輝度の差の全てに基づいて、信頼度を検出するようにしてもよいし、それらのうちのいくつかを選択して、選択した情報に基づいて、信頼度を検出するようにしてもよい。
【００７６】
ステップＳ２６において、信頼度検出部５１は、信頼度が所定の閾値未満であるか否かを判定する。ステップＳ２５において検出された信頼度が所定の閾値未満であると判定された場合、処理はステップＳ２７に進む。なお、この閾値は、例えば、過去に顔向き推定装置１２に異常が発生していない場合に検出された信頼度の平均値とされる。
【００７７】
ステップＳ２７において、信頼度検出部５１は、推定結果を保存し、顔向き推定処理は終了する。具体的には、信頼度検出部５１は、ドライバの顔の向きの推定結果、すなわち、信頼度が所定の閾値未満となった場合の推定結果を示す情報を推定部４２から取得し、取得した情報を、図示せぬ記憶手段に記憶させる。
【００７８】
ステップＳ２６において、信頼度が所定の閾値以上であると判定された場合、顔向き推定処理は終了する。
【００７９】
次に、図１１のフローチャートを参照して、図２のステップＳ８の異常診断処理の詳細を説明する。
【００８０】
ステップＳ５１において、顔向き推定装置１２は、異常診断モードに遷移する。具体的には、異常診断部５２は、異常診断処理の実行を通知する情報を推定部４２に供給する。推定部４２は、顔向き推定装置１２の動作モードを異常診断モードに設定する。
【００８１】
ステップＳ５２において、異常検出装置１３は、ドライバに所定の方向を見るように指示する。具体的には、異常診断部５２は、異常診断を行うためにドライバに見るように指示する所定の複数の方向（以下、診断方向と称する）のうち、まだ指示を出していない診断方向を１つ選択する。異常診断部５２は、選択した診断方向を示す情報を表示制御部５３に供給する。表示制御部５３は、選択された診断方向をドライバに見させる指示の表示を指示する情報を、表示装置１４に供給する。表示装置１４は、取得した情報に基づいて、選択された診断方向を見るように指示するメッセージを表示する。すなわち、表示制御部５３は、ドライバに選択された診断方向を見させる指示の表示装置１４による通知を制御する。
【００８２】
図１２は、このとき表示装置１４の画面５１に表示されるメッセージの一例を示しており、この例においては、診断方向の一つである車両の右サイドミラーを見るように指示するメッセージが画面５１に表示されている。なお、メッセージを表示する代わりに、音声によりドライバに診断方向を見るように指示するようにしてもよい。
【００８３】
ステップＳ５３において、トラッキング部４１は、ドライバが指示された方向（診断方向）を見たときに撮影された画像をカメラ３１から取得する。
【００８４】
ステップＳ５４において、上述した図３のステップＳ２２の処理と同様に、ドライバの顔がトラッキングされ、ステップＳ５５において、ドライバの顔の向きが推定される。すなわち、指示された診断方向を見たときのドライバの顔の向きが推定される。
【００８５】
ステップＳ５６において、推定部４２は、推定結果を異常診断部５２に供給する。
【００８６】
ステップＳ５７において、表示装置１４は、推定結果を表示する。具体的には、異常診断部５２は、取得した推定結果を示す情報を表示制御部５３に供給する。表示制御部５３は、顔向きの推定結果、および、指示された診断方向を示す情報を表示装置１４に供給する。表示装置１４は、取得した情報に基づいて、推定結果を表示する。
【００８７】
図１３および図１４は、推定結果の表示の一例を示している。図１３および図１４の例においては、ドライバの顔の向きを、縦３方向×横３方向に分類して表示するための９個の領域からなる格子状の枠６１が画面５１に表示される。また、９つの領域のうち、指示された診断方向を示す領域の色が変わり（ただし、図１３および図１４では、網掛けにより示されている）、推定されたドライバの顔の向きを示す領域が太枠で囲まれる。なお、図１３には、指示された診断方向（網掛けの領域）と、推定されたドライバの顔の向き（太枠で囲まれた領域）とが一致している場合、すなわち、推定結果が正しい場合の例が示されており、図１４には、指示された診断方向（網掛けの領域）と、推定されたドライバの顔の向き（太枠で囲まれた領域）とが一致しない場合、すなわち、推定結果が誤っている場合の例が示されている。
【００８８】
ステップＳ５８において、異常診断部５２は、推定結果が正しいか否かを判定する。異常診断部５２は、推定されたドライバの顔の向きと、予め設定されている、指示された診断方向を見たときの実際の顔の向きとを比較する。すなわち、異常診断部５２は、ドライバが所定の方向（指示された診断方向）を見た場合に撮影された画像に基づいて顔向き推定装置１２により推定されたドライバの顔の向きと、予め設定されている、所定の方向を見たときの実際の顔の向きとを比較する。異常診断部５２は、推定されたドライバの顔の向きと、指示された診断方向を見たときの実際の顔の向きとが一致する場合、推定結果が正しいと判定し、処理はステップＳ５９に進む。
【００８９】
ステップＳ５９において、異常診断部５２は、全ての診断方向について診断したか否かを判定する。具体的には、異常診断部５２は、まだ診断を行っていない診断方向が残っている場合、まだ全ての診断方向について診断していないと判定し、処理はステップＳ５２に戻る。その後、ステップＳ５８において、推定結果が誤っていると判定されるか、ステップＳ５９において、全ての診断方向について診断したと判定されるまで、ステップＳ５２乃至Ｓ５９の処理が繰返し実行される。
【００９０】
ステップＳ５９において、全ての診断方向について診断されたと判定された場合、すなわち、全ての診断方向に対して、ドライバの顔の向きが正しく推定された場合、処理はステップＳ６０に進む。
【００９１】
ステップＳ６０において、異常診断部５２は、異常の未発生を通知し、異常診断処理は終了する。具体的には、異常診断部５２は、顔向き推定装置１２に異常が発止していないことを示す情報を、車両制御部２２および推定部４２に供給する。推定部４２は、顔向き推定装置１２の動作モードを異常診断モードから通常モードに変更する。
【００９２】
ステップＳ５８において、異常診断部５２は、推定されたドライバの顔の向きと、指示された診断方向を見たときの実際の顔の向きとが一致しない場合、推定結果が誤っていると判定し、処理はステップＳ６１に進む。
【００９３】
ステップＳ６１において、異常診断部５２は、異常の発生を通知し、異常診断処理は終了する。具体的には、異常診断部５２は、顔向き推定装置１２に異常が発生していることを示す情報を、車両制御部２２および推定部４２に供給する。また、異常診断部５２は、顔向き推定装置１２に異常が発生していることを示す情報を、通信部５４、および、図示せぬネットワークを介して、例えば、車両のディーラーまたは整備会社のサーバに送信する。
【００９４】
以上のように、顔向き推定装置１２の異常を簡単かつ正確に検出することができる。すなわち、レンズに虫が停まったり、カメラの前に障害物が短時間現れるなどの一時的な現象に起因して、ドライバの顔の向きの推定結果の信頼度が低下した場合に、顔向き推定装置１２に異常が発生していると誤検出されることが防止される。また、カメラを複数台設けたり、複数の画像を比較したり、顔向き推定処理における画像処理以外の画像処理を行ったりすることなしに、顔向き推定装置１２の異常を検出することができる。
【００９５】
また、顔向きの推定結果の信頼度が低下したり、顔向き推定装置１２の異常が検出された場合、その状態を通知するための情報が表示装置１４に表示されるので、顔向きの推定が正常に行われているか否かをドライバが確認することができる。
【００９６】
なお、以上の説明では、顔向きの推定結果の信頼度の低下が検出された場合、車両制御装置１１による車両の制御を自動的に停止させるようにしたが、例えば、信頼度の低下をドライバに通知するのみにして、車両制御装置１１による車両の制御をドライバの操作により停止させるようにしてもよい。
【００９７】
また、顔向きの推定結果の信頼度の低下が検出された場合、例えば、異常検出装置１３の図示せぬ操作部を操作することにより、ドライバの指示により異常診断処理を開始するようにしてもよい。
【００９８】
さらに、顔向き推定装置１２と異常検出装置１３を１つの装置により構成するようにしてもよい。
【００９９】
また、信頼度検出部５１を、顔向き推定装置１２に設けるようにしてもよい。
【０１００】
なお、本発明は、上述したドライバの顔の向きを推定する推定手段の異常の検出に限定されるものではなく、画像を用いて人の顔の向きを推定する推定手段の異常の検出全般に適用することができる。
【０１０１】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０１０２】
図１５は、上述した一連の処理をプログラムにより実行するパーソナルコンピュータ９００の構成の例を示すブロック図である。CPU（Central Processing Unit）９０１は、ROM（Read Only Memory）９０２、または記録部９０８に記憶されているプログラムに従って各種の処理を実行する。RAM（Random Access Memory）９０３には、CPU９０１が実行するプログラムやデータなどが適宜記憶される。これらのCPU９０１、ROM９０２、およびRAM９０３は、バス９０４により相互に接続されている。
【０１０３】
CPU９０１にはまた、バス９０４を介して入出力インタフェース９０５が接続されている。入出力インタフェース９０５には、キーボード、マウス、マイクロホンなどよりなる入力部９０６、ディスプレイ、スピーカなどよりなる出力部９０７が接続されている。CPU９０１は、入力部９０６から入力される指令に対応して各種の処理を実行する。そして、CPU９０１は、処理の結果を出力部９０７に出力する。
【０１０４】
入出力インタフェース９０５に接続されている記録部９０８は、例えばハードディスクからなり、CPU９０１が実行するプログラムや各種のデータを記憶する。通信部９０９は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
【０１０５】
また、通信部９０９を介してプログラムを取得し、記録部９０８に記憶してもよい。
【０１０６】
入出力インタフェース９０５に接続されているドライブ９１０は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア９１１が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記録部９０８に転送され、記憶される。
【０１０７】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、図１５に示すように、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む）、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア９１１、または、プログラムが一時的もしくは永続的に格納されるROM９０２や、記録部９０８を構成するハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースである通信部９０９を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【０１０８】
なお、本明細書において、プログラム記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１０９】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０１１０】
さらに、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０１１１】
【図１】本発明を適用した車両制御システムの一実施の形態を示すブロック図である。
【図２】図１の車両制御システムにより実行される車両制御処理を説明するためのフローチャートである。
【図３】図２のステップＳ３の顔向き推定処理の詳細を説明するためのフローチャートである。
【図４】顔の向きの推定に用いる学習モデルの例を示す図である。
【図５】顔の向きの推定に用いる学習モデルの他の例を示す図である。
【図６】入力画像の例を示す図である。
【図７】図６の入力画像において検出された顔の特徴点の例を示す図である。
【図８】図４の学習モデルの特徴点における輝度の分布を示す図である。
【図９】図５の学習モデルの特徴点における輝度の分布を示す図である。
【図１０】図７の特徴点における輝度の分布を示す図である。
【図１１】図２のステップＳ８の異常診断処理の詳細を説明するためのフローチャートである。
【図１２】異常診断処理において、ドライバへの指示を行うための表示の例を示す図である。
【図１３】異常診断処理の診断結果の表示の例を示す図である。
【図１４】異常診断処理の診断結果の表示の他の例を示す図である。
【図１５】パーソナルコンピュータの構成の例を示すブロック図である。
【符号の説明】
【０１１２】
１  車両制御システム
２  制御装置
１１  車両制御装置
１２  顔向き推定装置
１３  異常検出装置
１４  表示装置
２１  車両状態検出部
２２  車両制御部
３１  カメラ
３２  顔向き推定部
４１  トラッキング部
４２  推定部
５１  信頼度検出部
５２  異常診断部
５３  表示制御部
９０１  CPU
９０２  ROM
９０３  RAM
９０８  記録部
９１０  ドライブ
９１１  リムーバブルメディア
【図１】
0004771139.tif 000002
【図２】
0004771139.tif 000003
【図３】
0004771139.tif 000004
【図４】
0004771139.tif 000005
【図５】
0004771139.tif 000006
【図６】
0004771139.tif 000007
【図７】
0004771139.tif 000008
【図８】
0004771139.tif 000009
【図９】
0004771139.tif 000010
【図１０】
0004771139.tif 000011
【図１１】
0004771139.tif 000012
【図１２】
0004771139.tif 000013
【図１３】
0004771139.tif 000014
【図１４】
0004771139.tif 000015
【図１５】
0004771139.tif 000016