(57)【特許請求の範囲】
【請求項１】
基準方向に対して光軸が所定方向を向くカメラからユーザの顔画像を受け取る入力部と、
人物の複数の顔向きを正解画像としてそれぞれ学習した各学習モデルと前記顔画像とに基づいて算出された顔向きの信頼度が所定閾値より大きいか否かによって前記ユーザが前記基準方向に対して脇見をしているか否かを判定する判定部と、
を備え、
前記判定部は、前記カメラの光軸が第１の方向を向く場合、前記信頼度が第１の閾値より大きいか否かによって前記ユーザが前記基準方向に対して脇見をしているか否かを判定し、前記光軸が前記第１の方向とは異なる第２の方向を向く場合、前記信頼度の算出に用いられた前記正解画像の顔向きと、前記信頼度が前記第１の閾値とは異なる第２の閾値より大きいか否かとによって前記ユーザが前記基準方向に対して脇見をしているか否かを判定し、
前記第１の閾値は、
前記信頼度が前記第１の閾値より大きい場合における前記顔画像の顔向きの角度の範囲が、前記基準方向を基準とした所定の角度の範囲である第１の判定範囲と、前記基準方向を基準とした前記第１の判定範囲と異なる所定の角度の範囲である第２の判定範囲とを跨がないように設定され、
前記第２の閾値は、
前記信頼度が前記第２の閾値より大きい場合における前記顔画像の顔向きの角度の範囲が、前記基準方向を基準とした所定の角度の範囲である第１の判定範囲と、前記基準方向を基準とした前記第１の判定範囲と異なる所定の角度の範囲である第２の判定範囲とを跨がないように設定される、
判定装置。
【請求項２】
前記判定部は、
前記信頼度が前記第１の閾値または前記第２の閾値より大きくない場合、前記顔画像の顔部位の位置関係に基づいて前記ユーザが前記基準方向に対して脇見をしているか否かを判定する、
請求項１に記載の判定装置。
【請求項３】
基準方向に対して光軸が所定方向を向くカメラからユーザの顔画像を受け取るステップと、
人物の複数の顔向きを正解画像としてそれぞれ学習した各学習モデルと前記顔画像とに基づいて顔向きの信頼度を算出するステップと、
前記カメラの光軸が第１の方向を向く場合、前記信頼度が第１の閾値より大きいか否かによって前記ユーザが前記基準方向に対して脇見をしているか否かを判定し、前記光軸が前記第１の方向とは異なる第２の方向を向く場合、前記信頼度の算出に用いられた前記正解画像の顔向きと、前記信頼度が前記第１の閾値とは異なる第２の閾値より大きいか否かとによって前記ユーザが前記基準方向に対して脇見をしているか否かを判定するステップと、を含み、
前記第１の閾値は、
前記信頼度が前記第１の閾値より大きい場合における前記顔画像の顔向きの角度の範囲が、前記基準方向を基準とした所定の角度の範囲である第１の判定範囲と、前記基準方向を基準とした前記第１の判定範囲と異なる所定の角度の範囲である第２の判定範囲とを跨がないように設定され、
前記第２の閾値は、
前記信頼度が前記第２の閾値より大きい場合における前記顔画像の顔向きの角度の範囲が、前記基準方向を基準とした所定の角度の範囲である第１の判定範囲と、前記基準方向を基準とした前記第１の判定範囲と異なる所定の角度の範囲である第２の判定範囲とを跨がないように設定される、
判定方法。
【請求項４】
基準方向に対して光軸が所定方向を向くカメラからユーザの顔画像を受け取る処理と、
人物の複数の顔向きを正解画像としてそれぞれ学習した各学習モデルと前記顔画像とに基づいて顔向きの信頼度を算出する処理と、
前記カメラの光軸が第１の方向を向く場合、前記信頼度が第１の閾値より大きいか否かによって前記ユーザが前記基準方向に対して脇見をしているか否かを判定し、前記光軸が前記第１の方向とは異なる第２の方向を向く場合、前記信頼度の算出に用いられた前記正解画像の顔向きと、前記信頼度が前記第１の閾値とは異なる第２の閾値より大きいか否かとによって前記ユーザが前記基準方向に対して脇見をしているか否かを判定する処理と、をコンピュータに実行させ、
前記第１の閾値は、
前記信頼度が前記第１の閾値より大きい場合における前記顔画像の顔向きの角度の範囲が、前記基準方向を基準とした所定の角度の範囲である第１の判定範囲と、前記基準方向を基準とした前記第１の判定範囲と異なる所定の角度の範囲である第２の判定範囲とを跨がないように設定され、
前記第２の閾値は、
前記信頼度が前記第２の閾値より大きい場合における前記顔画像の顔向きの角度の範囲が、前記基準方向を基準とした所定の角度の範囲である第１の判定範囲と、前記基準方向を基準とした前記第１の判定範囲と異なる所定の角度の範囲である第２の判定範囲とを跨がないように設定される、
判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、顔の向きを判定する判定装置、判定方法、および判定プログラムに関する。
【背景技術】
【０００２】
近年、カメラで撮影した画像に基づいて人物の顔向きを推定する技術が注目されている。例えば、テレビを視聴している人物、コンピュータ・ゲームをプレイする人物、または車両または電車を運転する人物などの顔向きを推定する技術の開発が盛んに行われている。
【０００３】
例えば、人物の顔が撮影された画像（以下、「顔画像」という）中の人物が正面を向いている顔（以下、「正面顔」という）、または、横を向いている顔（以下、「横向き顔」という）を検出するように予め学習させた複数の顔向き検出器を用いて、顔画像中の人物の顔が向いている方向（以下、「顔向き」という）を判定する従来技術が知られている（例えば、特許文献１参照）。この従来技術では、正面顔、横向き顔などに対応する複数の顔向き検出器による検出結果の信頼度に基づいて、顔向きを判定している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１３４０４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来技術は、予め学習させた正面顔の画像に基づいて、顔向きが正面であることを判定するため、人物の正面顔の向きとカメラとの位置関係の自由度が低かった。
【０００６】
本発明の目的は、カメラの設置位置を変更した場合であっても、顔向き検出器に再度顔向きを学習させることなく、顔向きを判定できる判定装置、判定方法、および判定プログラムを提供することである。
【課題を解決するための手段】
【０００７】
本発明の一態様に係る判定装置は、基準方向に対して光軸が所定方向を向くカメラからユーザの顔画像を受け取る入力部と、人物の複数の顔向きを正解画像としてそれぞれ学習した各学習モデルと前記顔画像とに基づいて算出された顔向きの信頼度が所定閾値より大きいか否かによって前記ユーザが前記基準方向に対して脇見をしているか否かを判定する判定部と、を備え、前記判定部は、前記カメラの光軸が第１の方向を向く場合、前記信頼度が第１の閾値より大きいか否かによって前記ユーザが前記基準方向に対して脇見をしているか否かを判定し、前記光軸が前記第１の方向とは異なる第２の方向を向く場合、前記信頼度の算出に用いられた前記正解画像の顔向きと、前記信頼度が前記第１の閾値とは異なる第２の閾値より大きいか否かとによって前記ユーザが前記基準方向に対して脇見をしているか否かを判定し、前記第１の閾値は、前記信頼度が前記第１の閾値より大きい場合における前記顔画像の顔向きの角度の範囲が、前記基準方向を基準とした所定の角度の範囲である第１の判定範囲と、前記基準方向を基準とした前記第１の判定範囲と異なる所定の角度の範囲である第２の判定範囲とを跨がないように設定され、前記第２の閾値は、前記信頼度が前記第２の閾値より大きい場合における前記顔画像の顔向きの角度の範囲が、前記基準方向を基準とした所定の角度の範囲である第１の判定範囲と、前記基準方向を基準とした前記第１の判定範囲と異なる所定の角度の範囲である第２の判定範囲とを跨がないように設定される。
【０００８】
本発明の一態様に係る判定方法は、基準方向に対して光軸が所定方向を向くカメラからユーザの顔画像を受け取るステップと、人物の複数の顔向きを正解画像としてそれぞれ学習した各学習モデルと前記顔画像とに基づいて顔向きの信頼度を算出するステップと、前記カメラの光軸が第１の方向を向く場合、前記信頼度が第１の閾値より大きいか否かによって前記ユーザが前記基準方向に対して脇見をしているか否かを判定し、前記光軸が前記第１の方向とは異なる第２の方向を向く場合、前記信頼度の算出に用いられた前記正解画像の顔向きと、前記信頼度が前記第１の閾値とは異なる第２の閾値より大きいか否かとによって前記ユーザが前記基準方向に対して脇見をしているか否かを判定するステップと、を含み、前記第１の閾値は、前記信頼度が前記第１の閾値より大きい場合における前記顔画像の顔向きの角度の範囲が、前記基準方向を基準とした所定の角度の範囲である第１の判定範囲と、前記基準方向を基準とした前記第１の判定範囲と異なる所定の角度の範囲である第２の判定範囲とを跨がないように設定され、前記第２の閾値は、前記信頼度が前記第２の閾値より大きい場合における前記顔画像の顔向きの角度の範囲が、前記基準方向を基準とした所定の角度の範囲である第１の判定範囲と、前記基準方向を基準とした前記第１の判定範囲と異なる所定の角度の範囲である第２の判定範囲とを跨がないように設定される。
【０００９】
本発明の一態様に係る判定プログラムは、基準方向に対して光軸が所定方向を向くカメラからユーザの顔画像を受け取る処理と、人物の複数の顔向きを正解画像としてそれぞれ学習した各学習モデルと前記顔画像とに基づいて顔向きの信頼度を算出する処理と、前記カメラの光軸が第１の方向を向く場合、前記信頼度が第１の閾値より大きいか否かによって前記ユーザが前記基準方向に対して脇見をしているか否かを判定し、前記光軸が前記第１の方向とは異なる第２の方向を向く場合、前記信頼度の算出に用いられた前記正解画像の顔向きと、前記信頼度が前記第１の閾値とは異なる第２の閾値より大きいか否かとによって前記ユーザが前記基準方向に対して脇見をしているか否かを判定する処理と、をコンピュータに実行させ、前記第１の閾値は、前記信頼度が前記第１の閾値より大きい場合における前記顔画像の顔向きの角度の範囲が、前記基準方向を基準とした所定の角度の範囲である第１の判定範囲と、前記基準方向を基準とした前記第１の判定範囲と異なる所定の角度の範囲である第２の判定範囲とを跨がないように設定され、前記第２の閾値は、前記信頼度が前記第２の閾値より大きい場合における前記顔画像の顔向きの角度の範囲が、前記基準方向を基準とした所定の角度の範囲である第１の判定範囲と、前記基準方向を基準とした前記第１の判定範囲と異なる所定の角度の範囲である第２の判定範囲とを跨がないように設定される。
【発明の効果】
【００１０】
本発明によれば、カメラの設置位置を変更した場合であっても、顔向き検出器に再度顔向きを学習させることなく、顔向きを判定できる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態に係る車両の車室内の一例を示す側面図
【図２】本発明の実施の形態に係る車両の車室内の一例を示す上面図
【図３】本発明の実施の形態に係る判定装置の構成の一例を示すブロック図
【図４】本発明の実施の形態に係る判定部の構成の一例を示す図
【図５】本発明の実施の形態に係る判定部の構成の一例を示す図
【図６】本発明の実施の形態に係る顔向き検出処理で用いられる検出範囲の一例を示す図
【図７】本発明の実施の形態に係る顔向き検出処理の第１の例を説明する図
【図８】本発明の実施の形態に係る顔向き検出処理の第２の例を説明する図
【図９】本発明の実施の形態に係る顔向き検出処理の第３の例を説明する図
【図１０】本発明の実施の形態に係る判定装置の動作の一例を示すフローチャート
【図１１】本発明の実施の形態に係る顔向きの角度と信頼度の関係の一例を示す図
【図１２】本発明の実施の形態に係る顔向きの角度と信頼度の関係の一例を示す図
【図１３】本発明の実施の形態に係る判定装置のハードウェア構成例を示すブロック図
【発明を実施するための形態】
【００１２】
（発明創出に至った経緯）
上記従来技術は、予め学習させた正面顔の画像に基づいて、顔向きが正面であることを判定する。そのため、カメラの設置位置が人物の顔に対して前後方向に変更される場合は学習させる画像を変更する必要はないが、人物の顔に対して上下方向、または横方向に変更される場合は、顔画像を顔向き検出器に再学習させる必要である。そのため、カメラが車両に用いられる場合において、運転者と同乗者との間の車両中央部にカメラを設置する場合には、車両ごとに運転席と設置位置との位置関係が異なるため、車両ごとに顔画像を顔向き検出器に学習させる必要があるという課題がある。本開示においては、車両中央部にカメラを設置する場合にも、車両ごとに人物の顔画像を顔向き検出器に学習させる必要のない判定装置、判定方法、および判定プログラムについて説明する。
【００１３】
本発明の実施の形態について、図面を参照して説明する。
【００１４】
まず、本実施の形態に係る車両１に備えられるカメラ１０の設置位置について、図１、図２を用いて説明する。図１は、車両１の車室内の一例を示す側面図である。図２は、車両１の車室内の一例を示す上面図である。
【００１５】
図１、図２に示すように、カメラ１０は、運転者席２０よりも前方、かつ、車両１の車室内の天井に設置される。カメラ１０は、基準方向（例えば、図６に示す基準方向３０２）に対して光軸Ａ１が所定方向を向くように設置される。図１、図２では例として、光軸Ａ１が運転者席２０側を向くようにカメラ１０が設置されている。カメラ１０の光軸Ａ１は、図２に示すように、車長方向の軸Ａ２に対して運転者席２０の方に傾いており、かつ、図１に示すように、下方に傾いている。車両１は、例えば、自動車である。
【００１６】
このように車室内に設置されたカメラ１０は、運転者席２０に座った運転者の顔を撮影し、顔画像を判定装置１００（図３参照）に出力する。判定装置１００は、車両１の所定の場所に設置され、カメラ１０と接続される。カメラ１０と判定装置１００の接続方式は、有線、無線、または、有線と無線の組み合わせのいずれであってもよい。
【００１７】
次に、本実施の形態に係る判定装置１００の構成について、図３を用いて説明する。図３は、判定装置１００の構成の一例を示すブロック図である。
【００１８】
判定装置１００は、カメラ１０で撮影された顔画像に基づいて、運転者の顔向きを判定する装置である。図３に示すように、判定装置１００は、入力部１１０、判定部１２０を有する。
【００１９】
入力部１１０は、カメラ１０で撮影された顔画像を受け取る。この顔画像は、上述したとおり、車両１を運転する運転者（ユーザの一例）の顔が撮影された画像である。
【００２０】
判定部１２０は、人物の顔向きを学習した学習モデルと入力部１１０が受け取った顔画像とに基づいて顔向きの信頼度を算出し、その信頼度が所定の閾値より大きいか否かによって顔向きを判定する。
【００２１】
例えば、判定部１２０は、カメラ１０の光軸Ａ１が第１の方向を向く場合、算出した信頼度が第１の閾値（例えば、後述する閾値９０７）より大きいか否かによって顔向きを判定し、カメラ１０の光軸Ａ１が第１の方向とは異なる第２の方向を向く場合、信頼度が第１の閾値とは異なる第２の閾値（例えば、後述する閾値９０９）より大きいか否かによって顔向きを判定する。
【００２２】
そして、判定部１２０は、判定した顔向きを示す情報（以下、「顔向き情報」という）を脇見警告システム３０へ出力する。
【００２３】
なお、本実施の形態では、判定部１２０により顔向きが判定される人物として自動車の運転者を例に挙げて説明するが、これに限定されない。顔向きが判定される人物は、自動車以外の移動体（例えば、二輪車、鉄道、航空機など）の乗員（操縦者または同乗者）でもよいし、移動体の乗員でなくてもよい。よって、判定装置１００は、移動体に搭載されてもよいし、固定物（例えば、信号機、建物または部屋の壁面等）に搭載されてもよい。
【００２４】
脇見警告システム３０は、判定装置１００の判定部１２０から顔向き情報を受け取り、その顔向き情報に基づいて運転者が脇見をしているか否かを判定し、脇見をしている場合には、その旨の報知を行う装置である。脇見警告システム３０は、例えば、脇見の判定を行うプロセッサなどの制御デバイス、脇見をしていると判定する顔向きの角度の情報を記憶するメモリなどの記憶デバイス、ディスプレイなどの表示デバイス、スピーカなどの音声出力デバイスなどで構成される。
【００２５】
脇見警告システム３０は、車両１の所定の場所に設置され、判定装置１００と接続される。判定装置１００と脇見警告システム３０の接続方式は、有線、無線、または、有線と無線の組み合わせのいずれであってもよい。
【００２６】
なお、本実施の形態では、判定装置１００の顔向き情報の出力先を脇見警告システム３０としたが、これに限定されない。判定装置１００から出力された顔向き情報は、脇見の警告以外の処理に用いられてもよい。
【００２７】
次に、図３に示した判定部１２０の構成について、図４を用いて説明する。図４は、判定部１２０の構成の一例を示すブロック図である。
【００２８】
図４に示すように、判定部１２０は、第１の顔向き検出部１２１、第２の顔向き検出部１２２、顔向き判定部１２３を有する。以下、各部について説明する。
【００２９】
まず、第１の顔向き検出部１２１について説明する。第１の顔向き検出部１２１は、正面顔検出器１２１ａ、横向き顔検出器１２１ｂを有し、それらを用いて顔画像中の正面顔、または、横向き顔を検出する。
【００３０】
正面顔検出器１２１ａは、入力部１１０が受け取った顔画像中の正面顔を検出する。正面顔とは、カメラ１０に正対した顔である。
【００３１】
横向き顔検出器１２１ｂは、入力部１１０が受け取った顔画像中の横向き顔を検出する。横向き顔とは、正面顔を基準として右または左を向いた顔である。
【００３２】
正面顔検出器１２１ａおよび横向き顔検出器１２１ｂでは、正面顔、または、横向き顔を検出するために、それぞれ予め学習が行われる。ここで、その学習の方法について説明する。
【００３３】
まず、大量の顔画像を用意する。一般的に、あらゆる人物の顔画像に対応するため、年齢、性別、人種などが異なる顔画像を数万〜数十万枚程度用意することが望ましい。
【００３４】
学習に用いられる顔画像は、正解画像および不正解画像がある。正解画像とは、顔向き検出器に正解を学習させるための画像であり、不正解画像とは、顔向き検出器に不正解を学習させるための画像である。例えば、正面顔検出器１２１ａの学習の場合、正面顔が撮影された顔画像が正解画像として用いられ、正面顔が撮影されていない画像が不正解画像として用いられる。また、例えば、横向き顔検出器１２１ｂの学習の場合、横向き顔が撮影された顔画像が正解画像として用いられ、横向き顔が撮影されていない画像が不正解画像として用いられる。
【００３５】
次に、用意した正解画像と不正解画像から抽出された特徴量を用いて、正面顔検出器１２１ａ、横向き顔検出器１２１ｂのそれぞれに対して、正解と不正解を機械学習させる。特徴量の抽出方法としては、顔画像中の輝度勾配から算出されたヒストグラムを特徴量とするHOG（Histograms of Oriented Gradients）、画像領域間の明暗差を特徴量とするHaar-Likeなどの公知技術から、検出対象の画像における特徴に応じて適切なものを用いる。特徴量は一般的に多次元の特徴ベクトルによって表現される。
【００３６】
また、上述した機械学習としては、SVM（Support Vector Machine）、NN（Neural Networks）、Boostingなどの公知の技術を用いることができる。機械学習においては、用意された正解画像と不正解画像から抽出された特徴量の分布などに基づき、入力部１１０が受け取った顔画像から抽出された特徴量が正解画像と不正解画像のうちどちらの集合に含まれるのかを検出するための評価値の算出式などが、正面顔検出器１２１ａ、横向き顔検出器１２１ｂそれぞれについて出力される。
【００３７】
以上、正面顔検出器１２１ａ、横向き顔検出器１２１ｂの学習の方法について説明した。
【００３８】
上記学習が行われた正面顔検出器１２１ａおよび横向き顔検出器１２１ｂは、入力部１１０が受け取った顔画像から抽出された特徴量に基づき、それぞれ、顔画像中の正面顔、または、横向き顔を検出する。例えば、まず、正面顔検出器１２１ａおよび横向き顔検出器１２１ｂは、それぞれ、顔画像から抽出された特徴量に基づいて、機械学習時に出力された算出式を用いて評価値を算出する。
【００３９】
次に、正面顔検出器１２１ａおよび横向き顔検出器１２１ｂは、それぞれ、算出した評価値に基づいて、顔画像中の正面顔、または、横向き顔を検出する（この具体例については図６〜図９を用いて後述する）。次に、正面顔検出器１２１ａおよび横向き顔検出器１２１ｂは、それぞれ、検出した正面顔、または、横向き顔の信頼度を算出し、その信頼度を示す信頼度情報を顔向き判定部１２３へ出力する。
【００４０】
上述した信頼度の算出方法としては、評価値をそのまま信頼度とする方法が挙げられる。例えば、顔画像中の人物の顔の位置が特定されている場合、正面顔検出器１２１ａは、顔画像中の顔を想定した大きさの窓を用いて顔画像から人物の顔が存在する画像領域を抽出する。そして、正面顔検出器１２１ａは、機械学習によって出力された算出式を用いて、画像領域から抽出された特徴量に基づき算出した評価値をそのまま信頼度とする。
【００４１】
同様に、横向き顔検出器１２１ｂも、上記窓を用いて画像領域を抽出し、機械学習によって出力された算出式を用いて、画像領域から抽出された特徴量に基づき算出した評価値をそのまま信頼度とする。
【００４２】
一方、顔画像から検出した正面顔、もしくは横向き顔の検出数に応じて信頼度を算出する方法が挙げられる。例えば、顔画像中の人物の顔の位置が特定されていない場合、正面顔検出器１２１ａは、上記窓を用いて顔画像を走査し、正面顔が存在する可能性のある画像領域を複数抽出しそれぞれの画像領域について、機械学習によって出力された算出式を用いて、抽出された特徴量に基づき評価値を算出する。そして、正面顔検出器１２１ａは、評価値と所定の値との比較結果によって正面顔を含むと判定された画像領域の数（換言すれば、正面顔の検出数）を信頼度とする。
【００４３】
同様に、横向き顔検出器１２１ｂも、上記窓を用いて顔画像を走査し、横向き顔が存在する可能性のある画像領域を複数抽出し、それぞれの画像領域について、機械学習によって出力された算出式を用いて、抽出された特徴量に基づき評価値を算出する。そして、横向き顔検出器１２１ｂは、評価値と所定の値との比較結果によって横向き顔を含むと判定された画像領域の数を信頼度とする。
【００４４】
なお、顔画像中の人物の顔の位置が特定されていない場合、正面顔、または、横向き顔を含むと判定された画像領域の数ではなく、顔画像の走査によって抽出されたすべての画像領域の評価値の平均値を信頼度としてもよい。そして、算出部１２１ｃは、算出した各信頼度を示す信頼度情報を顔向き判定部１２３へ出力する。
【００４５】
ここで、正面顔検出器１２１ａおよび横向き顔検出器１２１ｂが行う顔向き検出処理の具体例について、図６〜図９を用いて説明する。
【００４６】
まず、図６を用いて、顔向き検出処理で用いられる検出範囲について、説明する。図６は、顔向き検出処理で用いられる検出範囲の一例を示す図である。図６は、運転者の頭部を真上から見た状態を示している。
【００４７】
図６では、運転者３００の顔が車両１の前進方向３０１を向いている。このときの運転者３００の顔向きを基準方向３０２とし、その方向の角度を０度と定義する。
【００４８】
検出範囲３０３は、基準方向３０２を基準とした−３０度〜＋３０度の範囲である。検出範囲３０４は、基準方向３０２を基準とした＋３０度〜＋９０度の範囲である。検出範囲３０５は、基準方向３０２を基準とした−３０度〜−９０度の範囲である。本実施の形態でいう顔向きの角度は、運転者３００の頭部を真上から見たときに、運転者３００の体の上下方向における軸（例えば、運転者３００の体を真上から見たときの頭部の中心を通り、運転者３００の体の上下方向に伸びる仮想軸）を中心として、運転者３００の頭部が左方向（反時計回りの方向）または右方向（時計回りの方向）に回転する角度であるとする。
【００４９】
正面顔検出器１２１ａは、機械学習によって出力された算出式を用いて、顔画像から抽出された特徴量に基づき評価値を算出する。そして、正面顔検出器１２１ａは、評価値と所定の値との比較結果に基づいて、その顔画像が正解（正面顔を含む）であるのか不正解（正面顔を含まない）であるのかを検出する。一方、横向き顔検出器１２１ｂは、機械学習によって出力された算出式を用いて、顔画像から抽出された特徴量に基づき評価値を算出する。そして、横向き顔検出器１２１ｂは、評価値と所定の値との比較結果に基づいて、その顔画像が正解（横向き顔を含む）であるのか不正解（横向き顔を含まない）であるのかを検出する。
【００５０】
次に、図７を用いて、顔向き検出処理の第１の例について説明する。図７は、顔向き検出処理の第１の例を説明する図である。図７Ａは、運転者の顔向きの一例を示す図であり、運転者の頭部を真上から見た状態を示している。図７Ｂは、図７Ａに示した顔向きのときにカメラ１０により撮影された顔画像の一例を示す図である。なお、図７Ａにおいて、図１〜図３と同じ構成要素には同一の符号を付している。
【００５１】
図７Ａにおいて、角度θは、カメラ１０の光軸Ａ１と、図３で説明した基準方向３０２とがなす角度である。すなわち、車両１の車室内を真上から見た場合、カメラ１０は、基準方向３０２を基準として反時計回りの方向へ角度θずれて設置されている。
【００５２】
図７Ａに示すように運転者３００の顔向きが基準方向３０２である場合、カメラ１０により撮影される顔画像は、図７Ｂに示す横向き顔（右横向き顔）の顔画像となる。
【００５３】
正面顔検出器１２１ａは、図７Ｂに示した顔画像を入力部１１０から受け取った場合、顔画像を不正解（正面顔を含まない）と検出する。一方で、横向き顔検出器１２１ｂは、図７Ｂに示した顔画像を入力部１１０から受け取った場合、顔画像を正解（横向き顔を含む）と検出する。
【００５４】
なお、図７Ａにおいて、検出範囲３０３と検出範囲３０４または検出範囲３０５とが重複している部分に運転者３００の顔向きがある場合、正面顔検出器１２１ａおよび横向き顔検出器１２１ｂのそれぞれによって、顔画像が正解と判定されるが、信頼度は低く算出されることになる（後述する図８Ａ、図９Ａの場合も同様）。
【００５５】
次に、図８を用いて、顔向き検出処理の第２の例について説明する。図８は、顔向き検出処理の第２の例を説明する図である。図８Ａは、運転者の顔向きの一例を示す図であり、運転者の頭部を真上から見た状態を示している。図８Ｂは、図８Ａに示した顔向きのときにカメラ１０により撮影された顔画像の一例を示す図である。なお、図８Ａにおいて、図１〜図３と同じ構成要素には同一の符号を付している。また、図８Ａに示す角度θは、図７Ａと同様である。
【００５６】
図８Ａに示すように運転者３００の顔向きがカメラ１０の光軸Ａ１の向きと同じである（換言すれば、運転者３００の顔がカメラ１０に正対している）顔向き３０６である場合、カメラ１０により撮影される顔画像は、図８Ｂに示す正面顔の顔画像となる。
【００５７】
正面顔検出器１２１ａは、図８Ｂに示した顔画像を入力部１１０から受け取った場合、顔画像を正解（正面顔を含む）と検出する。一方で、横向き顔検出器１２１ｂは、図８Ｂに示した顔画像を入力部１１０から受け取った場合、顔画像を不正解（横向き顔を含まない）と検出する。
【００５８】
次に、図９を用いて、顔向き検出処理の第３の例について説明する。図９は、顔向き検出処理の第３の例を説明する図である。図９Ａは、運転者の顔向きの一例を示す図であり、運転者の頭部を真上から見た状態を示している。図９Ｂは、図９Ａに示した顔向きのときにカメラ１０により撮影された顔画像の一例を示す図である。なお、図９Ａにおいて、図１〜図３と同じ構成要素には同一の符号を付している。また、図９に示す角度θは、図７Ａと同様である。
【００５９】
図９Ａに示すように運転者３００の顔向きがカメラ１０の光軸Ａ１を基準として反時計回りの方向に回転した顔向き３０７である場合、カメラ１０により撮影される顔画像は、図９Ｂに示す横向き顔（左横向き顔）の顔画像となる。
【００６０】
正面顔検出器１２１ａは、図９Ｂに示した顔画像を入力部１１０から受け取った場合、顔画像を不正解（正面顔を含まない）と検出する。一方で、横向き顔検出器１２１ｂは、図９に示した顔画像を入力部１１０から受け取った場合、顔画像を正解（横向き顔を含む）と検出する。
【００６１】
以上、第１の顔向き検出部１２１について説明した。
【００６２】
次に、第２の顔向き検出部１２２について説明する。以下に説明する第２の顔向き検出部１２２の処理は、後述する顔向き判定部１２３から指示があった場合に行われる。
【００６３】
第２の顔向き検出部１２２は、入力部１１０が受け取った顔画像における目、鼻、口などの部位（以下、「顔部位」という）の位置関係に基づいて、顔画像中の顔向きを検出する。具体的には、第２の顔向き検出部１２２は、顔画像から顔部位に対応する特徴点を抽出し、その特徴点により示される顔部位の位置関係（例えば、右目と左目の中点の位置、両目に対する鼻、口の相対位置など）に基づいて、顔画像中の顔向きを検出する。例えば、顔画像中の右目と左目の中点が顔面の縦の中線上に位置する場合、第２の顔向き検出部１２２は、顔向きとして角度０°を検出する。また、例えば、人物の顔がカメラ１０に正対している状態から回転するなどして、顔画像中の右目と左目の中点が顔面の縦の中線近辺から離れた位置にある場合、第２の顔向き検出部１２２は、第２の顔向き検出部１２２は、顔向きとして右目と左目の中点と顔面の縦の中線との距離に応じた角度を検出する。
【００６４】
第２の顔向き検出部１２２は、検出した顔向きの角度を示す顔向き角度情報を顔向き判定部１２３へ出力する。
【００６５】
以上、第２の顔向き検出部１２２について説明した。
【００６６】
次に、顔向き判定部１２３について説明する。
【００６７】
顔向き判定部１２３は、第１の顔向き検出部１２１から信頼度情報を受け取り、その信頼度情報の信頼度が閾値（詳細は後述）より大きいか否かを判定する。
【００６８】
信頼度が閾値より大きい場合、顔向き判定部１２３は、その信頼度に基づいて顔向きの角度の範囲を判定し（詳細は後述）、その判定結果を示す情報（以下、「第１の顔向き情報」という）を脇見警告システム３０へ出力する。
【００６９】
一方、信頼度が閾値以下である場合、顔向き判定部１２３は、第２の顔向き検出部１２２に対して顔向きの検出を行うように指示する。この指示により、上述したように、第２の顔向き検出部１２２では、顔部位の位置関係に基づく顔向きの検出処理が行われる。その後、顔向き判定部１２３は、第２の顔向き検出部１２２から顔向き角度情報を受け取り、その顔向き角度情報（以下、「第２の顔向き情報」ともいう）を脇見警告システム３０へ出力する。
【００７０】
以上、顔向き判定部１２３について説明した。
【００７１】
次に、本実施の形態に係る判定装置１００の動作について、図１０を用いて説明する。図１０は、判定装置１００の動作の一例を示すフローチャートである。
【００７２】
まず、第１の顔向き検出部１２１は、入力部１１０から顔画像（カメラ１０により撮影された、運転者席２０に座った運転者３００の顔画像）を受け取り、正面顔検出器１２１ａおよび横向き顔検出器１２１ｂを用いて、顔画像中の正面顔、または、横向き顔を検出し、検出した顔向きの信頼度を算出する（ステップＳ１）。
【００７３】
例えば、顔画像中の顔向きが図８Ａに示した顔向き３０６である場合、正面顔検出器１２１ａは、顔向きが正面顔である（正解）と検出し、その信頼度を算出し、また、横向き顔検出器１２１ｂは、顔向きが横向き顔ではない（不正解）と検出して、その信頼度を算出する。この場合、後述するように、正面顔検出器１２１ａによって算出される信頼度は、横向き顔検出器１２１ｂによって算出される信頼度より大きい値となる。
【００７４】
そして、第１の顔向き検出部１２１は、正面顔検出器１２１ａにより算出された信頼度を示す信頼度情報と、横向き顔検出器１２１ｂにより算出された信頼度を示す信頼度情報とを顔向き判定部１２３へ出力する。
【００７５】
次に、顔向き判定部１２３は、第１の顔向き検出部１２１から上述した信頼度情報を受け取り、各信頼度情報に含まれる信頼度（例えば、正面顔検出器１２１ａにより算出された信頼度、および、横向き顔検出器１２１ｂにより算出された信頼度のいずれか）が閾値より大きいか否かを判定する（ステップＳ２）。閾値については後述する。
【００７６】
上記判定の結果、信頼度が閾値より大きい場合（ステップＳ２：ＹＥＳ）、フローはステップＳ３に進み、信頼度が閾値以下である場合（ステップＳ２：ＮＯ）、フローはステップＳ４に進む。
【００７７】
ここで、顔向きの角度と信頼度の関係の一例について、図１１を用いて説明する。図１１は、顔向きの角度と信頼度の関係の一例を示す図である。
【００７８】
図１１において、横軸は顔向きの角度を示し、縦軸は信頼度を示す。また、図１１の横軸に示す０度は、図３を用いて説明したとおり、運転者３００の顔向きが車両１の前進方向３０１を向いているときの角度（基準方向の角度）である。また、図１１の横軸に示す４０度は、図６〜図９に示したカメラ１０が設置される角度θである。
【００７９】
また、図１１において、判定範囲９０５は、−３０度〜＋３０度の範囲であり、運転者が車両の前進方向を向いている（運転者が脇見をしていない）と判定される範囲である。判定範囲９０６ａは、−３０度より小さい範囲であり、運転者が車両の前進方向を向いていない（運転者が脇見をしている）と判定される範囲である。判定範囲９０６ｂは、＋３０度より大きい範囲であり、運転者が車両の前進方向を向いていない（運転者が脇見をしている）と判定される範囲である。
【００８０】
また、図１１において、波形９０１、９０２、９０３は、第１の顔向き検出部１２１によって検出される顔向きの信頼度を示す。波形９０１は、顔向きが図６等に示した検出範囲３０５にある場合に、横向き顔検出器１２１ｂによって正解として検出される横向き顔の信頼度を示す。波形９０２は、顔向きが図６等に示した検出範囲３０４にある場合に、横向き顔検出器１２１ｂによって正解として検出される横向き顔の信頼度を示す。波形９０３は、顔向きが図６等に示した検出範囲３０３にある場合に、正面顔検出器１２１ａによって正解として検出される正面顔の信頼度を示す。
【００８１】
図１１に示した波形９０１、９０２、９０３のそれぞれが最大になる角度（図１１では、−３５度、１１５度、４０度)は、後述するように正面顔検出器１２１ａおよび横向き顔検出器１２１ｂの学習に用いた画像に依存する。
【００８２】
また、図１１において、範囲９１０ａは、波形９０１が閾値９０７を超えた範囲である。範囲９１０ｂは、波形９０２が閾値９０７を超えた範囲である。範囲９１１は、波形９０３が閾値９０７を超えた範囲である。換言すれば、範囲９１０ａ、範囲９１０ｂ、および範囲９１１は、第１の顔向き検出部１２１により算出された信頼度が閾値９０７より大きい場合における、第１の顔向き検出部１２１により検出された顔向きの角度の範囲である。
【００８３】
閾値９０７は、例えば、脇見警告システム３０が判定したい顔向きの範囲（例えば、判定範囲９０５、判定範囲９０６ａ、判定範囲９０６ｂ）に基づいて設定される（後述する閾値９０８、閾値９０９についても同様）。例えば、閾値９０７は、範囲９１０ａが判定範囲９０６ａに含まれ、かつ、範囲９１０ｂおよび範囲９１１が判定範囲９０６ｂに含まれるように設定される。ただし、閾値９０７は、範囲９１０ａ、９１０ｂ、および範囲９１１のそれぞれが判定範囲９０６ａと判定範囲９０５を跨がないように、かつ、判定範囲９０６ｂと判定範囲９０５を跨がないように設定される。
【００８４】
閾値９０７を設定する者は、例えば、判定装置１００の製造者または販売者、車両１の製造者または販売者、判定装置１００のユーザ（例えば、車両１の運転者）などが挙げられる（後述する閾値９０８、閾値９０９についても同様）。
【００８５】
なお、図１１では、閾値９０７と閾値９０８の２つを図示しているが、いずれか一方が信頼度の判定（図１０のステップＳ２参照）に用いられる。まず、閾値９０７（第１の閾値の一例）を用いる場合について説明し、閾値９０８を用いる場合については後述する。
【００８６】
例えば、正面顔検出器１２１ａの学習時に人物の顔がカメラ１０に正対した状態で撮影された顔画像を正解画像として用いた場合、カメラ１０は４０度の位置に設置されているため、正面顔検出器１２１ａは、顔向きが４０度のときに撮影された顔画像を正面顔であると検出する。上述したように、正面顔の学習においては、予め用意された正解画像（正面顔を含む顔画像）と不正解画像（正面顔を含まない画像）から抽出された特徴量の分布などに基づき、入力部１１０が受け取った顔画像から抽出された特徴量がどちらの集合に含まれるのかを判定するための評価値の算出式が出力される。すなわち、評価値の算出式は、学習に用いた正解画像と不正解画像に依存する。正解画像としては、上述したとおり、可能な限り年齢、性別、人種などが異なる多くの人物が撮影された顔画像が用意されるが、各人間が寸分のくるいもなくカメラに正対することは不可能である。そのため、左右前後に傾いた状態の顔、または、左右に回転した状態の顔が撮影されることになるが、なるべくカメラに正対した状態の顔画像が正解画像として選択される。すなわち、正解画像は、カメラに正対した状態に近い顔向きの顔画像が最も多く、カメラに正対した状態からずれた顔向きの顔画像は少なくなる。このような正解画像を学習した正面顔検出器１２１ａでは、顔向きがカメラ１０の設置位置である４０度の方向に近いほど高い信頼度で正面顔が検出され、顔向きが４０度から遠ざかるほど低い信頼度で正面顔が検出されることなる。
【００８７】
横向き顔検出器１２１ｂの学習においても、−３５度または１１５度の方向を向いた、可能な限り年齢、性別、人種などが異なる多くの人物が撮影された顔画像が正解画像として用意される。このような正解画像を学習した横向き顔検出器１２１ｂでは、顔向きが−３５度または１１５度に近いほど高い信頼度で横向き顔が検出され、顔向きが−３５度または１１５度から遠ざかるほど低い信頼度で横向き顔が検出される。
【００８８】
以下、図１０のフローチャートの説明に戻る。
【００８９】
信頼度が閾値より大きい場合（ステップＳ２：ＹＥＳ）、顔向き判定部１２３は、第１の顔向き検出部１２１が算出した信頼度に基づいて顔向きの角度を判定し、判定結果を示す第１の顔向き情報を脇見警告システム３０へ出力する（ステップＳ３）。
【００９０】
例えば、図１１に示すように閾値９０７として０．８が設定されており、第１の顔向き検出部１２１の横向き顔検出器１２１ｂが検出した横向き顔の信頼度が０．８より大きい場合、その横向き顔は図１１に示した範囲９１０ａまたは範囲９１０ｂにあることになる。範囲９１０ａは、運転者が脇見をしていると判定すべき判定範囲９０６ａに必ず含まれ、範囲９１０ｂも、運転者が脇見をしていると判定すべき判定範囲９０６ｂに必ず含まれる。よって、顔向き判定部１２３は、判定範囲９０６ａの角度の範囲（図１１では、−３０度より小さい範囲）または判定範囲９０６ｂの角度の範囲（図１１では、＋３０度より大きい範囲）を示す第１の顔向き情報を脇見警告システム３０へ出力する。
【００９１】
また、例えば、図１１に示すように閾値９０７として０．８が設定されており、第１の顔向き検出部１２１の正面顔検出器１２１ａが検出した正面顔の信頼度が０．８より大きい場合、その正面顔は図１１に示した範囲９１１にあることになる。範囲９１１は、運転者が脇見をしていると判定すべき判定範囲９０６ｂに必ず含まれる。よって、顔向き判定部１２３は、判定範囲９０６ｂの角度の範囲（図１１では、＋３０度より大きい範囲）を示す第１の顔向き情報を脇見警告システム３０へ出力する。
【００９２】
脇見警告システム３０は、顔向き判定部１２３から受け取った第１の顔向き情報に基づいて、運転者が脇見をしていると判定し、その旨を示す警告画像または警告音声などを出力し、運転者に報知する。
【００９３】
信頼度が閾値以下である場合（ステップＳ２：ＮＯ）、顔向き判定部１２３は、第２の顔向き検出部１２２に対して顔向きの検出を行うように指示する。この指示により、第２の顔向き検出部１２２は、上述した顔部位の位置関係に基づく顔向きの検出処理を行う（ステップＳ４）。すなわち、第２の顔向き検出部１２２は、入力部１１０から顔画像を受け取り、その顔画像における目、鼻、口などの顔部位の位置関係に基づいて、顔画像中の顔向きを検出する。そして、第２の顔向き検出部１２２は、検出した顔向きの角度を示す顔向き角度情報を顔向き判定部１２３へ出力する。
【００９４】
顔向き判定部１２３は、第２の顔向き検出部１２２から顔向き角度情報を受け取り、その顔向き角度情報を第２の顔向き情報として脇見警告システム３０へ出力する（ステップＳ５）。脇見警告システム３０は、第２の顔向き情報の顔向きの角度が図１１に示した判定範囲９０６ａまたは判定範囲９０６ｂにある場合、運転者が脇見をしていると判定し、その旨を示す警告画像または警告音声などを出力し、運転者に報知する。
【００９５】
以上、判定装置１００の動作の一例について説明した。このように、判定装置１００は、第１の顔向き検出部１２１で算出された信頼度が閾値９０７より大きい場合、第２の顔向き検出部１２２よりも検出精度が高い第１の顔向き検出部１２１の検出結果を優先的に採用することができる。
【００９６】
なお、上記動作例の説明では閾値９０７（例えば、０．８）を用いる場合を例に挙げたが、例えば図１１に示すように、閾値９０７よりも小さい閾値９０８（例えば、０．６）が用いられてもよい。例えば、閾値９０８は、閾値９０７と同様に、範囲９１０ａが判定範囲９０６ａに含まれ、かつ、範囲９１０ｂおよび範囲９１１が判定範囲９０６ｂに含まれるように設定される。また、閾値９０８は、範囲９１０ａ、９１０ｂ、および範囲９１１のそれぞれが判定範囲９０６ａと判定範囲９０５を跨がないように、かつ、判定範囲９０６ｂと判定範囲９０５を跨がないように設定される。
【００９７】
このような閾値９０８が設定された場合、顔向き判定部１２３は、正面顔検出器１２１ａが算出した信頼度のみを用いて判定を行う。図１１に示すように、正面顔検出器１２１ａが算出した信頼度である波形９０３が閾値９０８より大きい場合、顔向きの範囲９１１は、運転者が脇見をしていると判定すべき判定範囲９０６ｂに必ず含まれる。その理由は、横向き顔検出器１２１ｂが算出した信頼度である波形９０２が閾値９０８より大きい場合、顔向きの範囲９１０ｂは、判定範囲９０６ｂに必ず含まれるが、横向き顔検出器１２１ｂが算出した信頼度である波形９０１が閾値９０８より大きい場合、顔向きの範囲９１０ａは、判定範囲９０６ａに必ず含まれるわけではないためである。
【００９８】
次に、図７〜図９に示したカメラ１００の設置位置をθ＝４０度の位置から、θ＝５０度の位置に変更した場合について、図１２を用いて説明する。図１２は、図１１と同様、顔向きの角度と信頼度の関係の一例を示す図である。図１２において、図１１と同一の構成要素には同一の符号を付している。
【００９９】
カメラ１００の設置位置が４０度から５０度に変更された場合、図１２に示すように、信頼度の波形９０１、９０２、９０３は、それぞれ、図１１に示した位置から図中の右方向へ１０度分ずれる。このとき、図１２に示した波形９０１〜９０３の形状、大きさ等は、図１１に示した形状、大きさ等と変わらない。
【０１００】
また、図１２において、範囲９１３は、波形９０１が閾値９０９を超えた範囲である。範囲９１４は、波形９０２が閾値９０９を超えた範囲である。範囲９１５は、波形９０３が閾値９０９を超えた範囲である。換言すれば、範囲９１３〜９１５は、第１の顔向き検出部１２１により算出された信頼度が閾値９０９を超えた場合における、第１の顔向き検出部１２１により検出された顔向きの角度の範囲である。
【０１０１】
また、図１２に示すように、閾値９０９（例えば、０．７。第２の閾値の一例）が設定される。カメラ１００の設置位置が４０度から５０度に変更された場合、閾値９０９は、例えば、範囲９１３が判定範囲９０５に含まれ、かつ、範囲９１４および範囲９１５が判定範囲９０６ｂに含まれるように設定される。また、閾値９０９は、範囲９１３〜９１５のそれぞれが判定範囲９０６ａと判定範囲９０５を跨がないように、かつ、判定範囲９０６ｂと判定範囲９０５を跨がないように設定される。
【０１０２】
このような場合における判定装置１００の動作例について説明する。本動作例において、入力部１１０、第１の顔向き検出部１２１、第２の顔向き検出部１２２等の動作は、上記同様であるので、それらの説明は省略する。以下では、主に顔向き判定部１２３の動作例について説明する。
【０１０３】
顔向き判定部１２３は、第１の顔向き検出部１２１から信頼度情報を受け取ると、その信頼度情報の信頼度である波形９０１〜９０３のいずれかが閾値９０９より大きいか否かを判定する。
【０１０４】
上記判定の結果、波形９０１〜９０３が全て閾値９０９以下である場合、顔向き判定部１２３は、第２の顔向き検出部１２２に顔向き検出処理を行うように指示する。これ以降の動作は、上述したとおりであるので、その説明は省略する。
【０１０５】
上記判定の結果、波形９０１〜９０３のいずれかが閾値９０９より大きい場合、顔向き判定部１２３は、閾値９０９を超えている範囲９１３〜９１５のいずれかを特定する。
【０１０６】
次に、顔向き判定部１２３は、特定した範囲９１３〜９１５のいずれかを含む判定範囲９０５、９０６ａ、９０６ｂのいずれかを特定し、特定した範囲の角度（換言すれば、顔向きの角度の範囲）を示す第１の顔向き情報を脇見警告システム３０へ出力する。
【０１０７】
例えば、図１２に示すように、正面顔検出器１２１ａが算出した信頼度である波形９０３が閾値９０９より大きい場合、顔向きは、範囲９１５にあり、運転者が脇見をしていると判定すべき判定範囲９０６ｂに必ず含まれる。よって、顔向き判定部１２３は、判定範囲９０６ｂの角度の範囲（図１２では、＋３０度より大きい範囲）を示す第１の顔向き情報を脇見警告システム３０へ出力する。脇見警告システム３０は、上述したとおり、第１の顔向き情報に基づいて、脇見をしている旨の報知を行う。
【０１０８】
また、例えば、図１２に示すように、横向き顔検出器１２１ｂが左横向き顔（例えば、カメラ１０に正対した位置から顔を７５度回転させ、１２５度の方向を向いた横向き顔）の顔画像を正解画像として学習しており、その横向き顔検出器１２１ｂが算出した信頼度である波形９０２が閾値９０９より大きい場合、顔向きは、範囲９１４にあり、運転者が脇見をしていると判定すべき判定範囲９０６ｂに必ず含まれる。よって、顔向き判定部１２３は、判定範囲９０６ｂの角度の範囲（図１２では、＋３０度より大きい範囲）を示す第１の顔向き情報を脇見警告システム３０へ出力する。脇見警告システム３０は、上述したとおり、第１の顔向き情報に基づいて、脇見をしている旨の報知を行う。
【０１０９】
また、例えば、図１２に示すように、横向き顔検出器１２１ｂが右横向き顔（例えば、カメラ１０に正対した位置から顔を−７５度回転させ、−２５度の方向を向いた横向き顔）の顔画像を正解画像として学習しており、その横向き顔検出器１２１ｂが算出した信頼度である波形９０１が閾値９０９より大きい場合、顔向きは、範囲９１３にあり、運転者が脇見をしていないと判定すべき判定範囲９０５に必ず含まれる。よって、顔向き判定部１２３は、判定範囲９０６ａの角度の範囲（図１２では、−３０度〜＋３０度の範囲）を示す第１の顔向き情報を脇見警告システム３０へ出力する。脇見警告システム３０は、第１の顔向き情報に基づいて運転者が脇見をしていないと判定する。この場合、脇見警告システム３０は、報知を行わない。
【０１１０】
以上説明したように、本実施の形態の判定装置１００によれば、第１の顔向き検出部１２１で算出された信頼度が閾値より大きい場合には、第１の顔向き検出部１２１で検出された顔向きの情報（第１の顔向き情報）を出力し、第１の顔向き検出部１２１で算出された信頼度が閾値以下である場合には、第２の顔向き検出部１２２で検出された顔向きの情報（第２の顔向き情報）を出力する。これにより、カメラ１０の設置位置を変更した場合であっても、正面顔検出器１２１ａおよび横向き顔検出器１２１ｂに再度顔向きを学習させることなく、顔向きを判定できる。
【０１１１】
以上、本発明の実施の形態について図面を参照して詳述してきたが、上述した判定装置１００の判定部１２２の各部の機能は、コンピュータプログラムにより実現され得る。
【０１１２】
図１３は、各部の機能をプログラムにより実現するコンピュータのハードウェア構成を示す図である。このコンピュータ１０００は、入力ボタン、タッチパッドなどの入力装置１００１、ディスプレイ、スピーカなどの出力装置１００２、ＣＰＵ（Central Processing Unit）１００３、ＲＯＭ（Read Only Memory）１００４、ＲＡＭ（Random Access Memory）１００５、ハードディスク装置、ＳＳＤ（Solid State Drive）などの記憶装置１００６を備える。また、コンピュータ１０００は、ＤＶＤ−ＲＯＭ（Digital Versatile Disk Read Only Memory）、ＵＳＢ（Universal Serial Bus）メモリなどの記録媒体から情報を読み取る読取装置１００７、ネットワークを介して通信を行う送受信装置１００８を備える。図１３に示した各部は、バス１００９により接続される。
【０１１３】
そして、読取装置１００７は、上記各部の機能を実現するためのプログラムを記録した記録媒体からそのプログラムを読み取り、記憶装置１００６に記憶させる。あるいは、送受信装置１００８が、ネットワークに接続されたサーバ装置と通信を行い、サーバ装置からダウンロードした上記各部の機能を実現するためのプログラムを記憶装置１００６に記憶させる。
【０１１４】
そして、ＣＰＵ１００３が、記憶装置１００６に記憶されたプログラムをＲＡＭ１００５にコピーし、そのプログラムに含まれる命令をＲＡＭ１００５から順次読み出して実行することにより、上記各部の機能が実現される。また、プログラムを実行する際、ＲＡＭ１００５または記憶装置１００６には、実施の形態で述べた各種処理で得られた情報が記憶され、適宜利用される。
【産業上の利用可能性】
【０１１５】
本発明は、顔の向きを判定する判定装置、判定方法、および判定プログラムに有用である。
【符号の説明】
【０１１６】
１  車両
１０  カメラ
２０  運転者席
３０  脇見警告システム
１００  判定装置
１１０  入力部
１２０  判定部
１２１  第１の顔向き検出部
１２１ａ  正面顔検出器
１２１ｂ  横向き顔検出器
１２１ｃ  算出部
１２２  第２の顔向き検出部
１２３  顔向き判定部
１０００  コンピュータ
１００１  入力装置
１００２  出力装置
１００３  ＣＰＵ
１００４  ＲＯＭ
１００５  ＲＡＭ
１００６  記憶装置
１００７  読取装置
１００８  送受信装置
１００９  バス
【図１】
0006573193.tif 000002
【図２】
0006573193.tif 000003
【図３】
0006573193.tif 000004
【図４】
0006573193.tif 000005
【図５】
0006573193.tif 000006
【図６】
0006573193.tif 000007
【図７】
0006573193.tif 000008
【図８】
0006573193.tif 000009
【図９】
0006573193.tif 000010
【図１０】
0006573193.tif 000011
【図１１】
0006573193.tif 000012
【図１２】
0006573193.tif 000013
【図１３】
0006573193.tif 000014