(57)【要約】【課題】運転者の顔方向を正確に検出することができる顔向き検出装置を提供すること。【解決手段】本発明にかかる顔向き検出装置１０は、撮像対象までの距離を示す距離画像を３Ｄ変換することによって生成された３Ｄ点群に含まれる顔の中心から首方向に伸ばした直線に対して実質的に垂直方向の第１の平面と前記直線との交点から、第１の平面上の顔表面までの距離を算出する算出部１１と、少なくとも１以上の第１の平面における距離が最も長い位置を鼻の位置として特定する位置特定部１２と、を備える。【選択図】図１
2019179386.tif 000002
【特許請求の範囲】
【請求項１】
撮像対象までの距離を示す距離画像を３Ｄ変換することによって生成された３Ｄ点群に含まれる顔の中心から首方向に伸ばした直線に対して実質的に垂直方向の第１の平面と前記直線との交点から、前記第１の平面上の顔表面までの距離を算出する算出部と、
少なくとも１以上の前記第１の平面における前記距離が最も長い位置を鼻の位置として特定する位置特定部と、を備える顔向き検出装置。
【請求項２】
前記算出部は、
前記交点から、前記交点を中心として前記第１の平面を所定の角度に分割した分割領域内の点群までの平均距離を算出する、請求項１に記載の顔向き検出装置。
【請求項３】
前記位置特定部は、
前記鼻の位置を特定することができない場合、前記撮像対象が、前記撮像対象を撮影するカメラから写らない方向を向いていると判定する、請求項１又は２に記載の顔向き検出装置。
【請求項４】
前記算出部は、
互いに直交するＸ軸及びＹ軸を用いて定められる前記距離画像内のＸ軸方向の距離勾配とＹ軸方向の距離勾配とを算出し、
前記位置特定部は、
前記Ｘ軸方向の距離勾配が前記Ｙ軸方向の距離勾配より大きい場合、前記撮像対象が前記距離画像に対して実質的に垂直方向を向いていると判定し、前記Ｙ軸方向の距離勾配が前記Ｘ軸方向の距離勾配よりも大きい場合、実質的に前記Ｙ軸方向を向いていると判定する、請求項３に記載の顔向き検出装置。
【請求項５】
前記算出部は、
前記顔表面上の顎先と前記直線とを含む第２の平面を生成し、前記第２の平面に対して実質的に垂直方向の前記第１の平面と前記直線との交点から、前記第１の平面上の顔表面までの距離を算出する、請求項１乃至４のいずれか１項に記載の顔向き検出装置。
【請求項６】
前記位置特定部は、
前記３Ｄ点群に含まれる前記撮像対象の一方の肩から他方の肩へむかう方向の点群数の変化が閾値を超えた位置を首の付け根位置として特定し、前記首の付け根位置に基づいて設定される探索範囲内から前記顎先を特定する、請求項５に記載の顔向き検出装置。
【請求項７】
前記算出部は、
互いに直交するＸ軸及びＹ軸を用いて定められる前記探索範囲内のＸ軸方向の距離勾配とＹ軸方向の距離勾配とを算出し、
前記位置特定部は、
前記探索範囲内のＸ軸方向の最大の距離勾配とＹ軸方向の最大の距離勾配を示す位置を顎の一部として特定する、請求項６に記載の顔向き検出装置。
【請求項８】
前記位置特定部は、
前記顎の一部として特定された位置の周辺において、距離勾配が閾値以上である位置を結んだ線を顎ラインとして特定し、前記顔の中心から最も離れた顎ライン上の位置を前記顎先として特定する、請求項７に記載の顔向き検出装置。
【請求項９】
撮像対象までの距離を示す距離画像を３Ｄ変換することによって生成された３Ｄ点群に含まれる顔の中心から首方向に伸ばした直線に対して実質的に垂直方向の第１の平面と前記直線との交点から、前記第１の平面上の顔表面までの距離を算出し、
少なくとも１以上の前記第１の平面における前記距離が最も長い位置を鼻の位置として特定する、顔向き検出方法。
【請求項１０】
前記顔表面までの距離を算出する際に、
前記交点から、前記交点を中心として前記第１の平面を所定の角度に分割した分割領域内の点群までの平均距離を算出する、請求項９に記載の顔向き検出方法。
【請求項１１】
前記鼻の位置を特定する際に、
前記鼻の位置を特定することができない場合、前記撮像対象が、前記撮像対象を撮影するカメラから写らない方向を向いていると判定する、請求項９又は１０に記載の顔向き検出方法。
【請求項１２】
前記顔表面までの距離を算出する際に、
互いに直交するＸ軸及びＹ軸を用いて定められる前記距離画像内のＸ軸方向の距離勾配とＹ軸方向の距離勾配とを算出し、
前記鼻の位置を特定する際に、
前記Ｘ軸方向の距離勾配が前記Ｙ軸方向の距離勾配より大きい場合、前記撮像対象が前記距離画像に対して実質的に垂直方向を向いていると判定し、前記Ｙ軸方向の距離勾配が前記Ｘ軸方向の距離勾配よりも大きい場合、実質的に前記Ｙ軸方向を向いていると判定する、請求項１１に記載の顔向き検出方法。
【請求項１３】
前記顔表面までの距離を算出する際に、
前記顔表面上の顎先と前記直線とを含む第２の平面を生成し、前記第２の平面に対して実質的に垂直方向の前記第１の平面と前記直線との交点から、前記第１の平面上の顔表面までの距離を算出する、請求項９乃至１２のいずれか１項に記載の顔向き検出方法。
【請求項１４】
前記鼻の位置を特定する際に、
前記３Ｄ点群に含まれる前記撮像対象の一方の肩から他方の肩へむかう方向の点群数の変化が閾値を超えた位置を首の付け根位置として特定し、前記首の付け根位置に基づいて設定される探索範囲内から前記顎先を特定する、請求項１３に記載の顔向き検出方法。
【請求項１５】
前記顔表面までの距離を算出する際に、
互いに直交するＸ軸及びＹ軸を用いて定められる前記探索範囲内のＸ軸方向の距離勾配とＹ軸方向の距離勾配とを算出し、
前記鼻の位置を特定する際に、
前記探索範囲内のＸ軸方向の最大の距離勾配とＹ軸方向の最大の距離勾配を示す位置を顎の一部として特定する、請求項１４に記載の顔向き検出方法。
【請求項１６】
前記鼻の位置を特定する際に、
前記顎の一部として特定された位置の周辺において、距離勾配が閾値以上である位置を結んだ線を顎ラインとして特定し、前記顔の中心から最も離れた顎ライン上の位置を前記顎先として特定する、請求項１５に記載の顔向き検出方法。
【請求項１７】
撮像対象までの距離を示す距離画像を３Ｄ変換することによって生成された３Ｄ点群に含まれる顔の中心から首方向に伸ばした直線に対して実質的に垂直方向の第１の平面と前記直線との交点から、前記第１の平面上の顔表面までの距離を算出し、
少なくとも１以上の前記第１の平面における前記距離が最も長い位置を鼻の位置として特定することをコンピュータに実行させるプログラム。
【請求項１８】
前記顔表面までの距離を算出する際に、
前記交点から、前記交点を中心として前記第１の平面を所定の角度に分割した分割領域内の点群までの平均距離を算出する、請求項１７に記載のプログラム。
【請求項１９】
前記鼻の位置を特定する際に、
前記鼻の位置を特定することができない場合、前記撮像対象が、前記撮像対象を撮影するカメラから写らない方向を向いていると判定する、請求項１７又は１８に記載のプログラム。
【請求項２０】
前記顔表面までの距離を算出する際に、
互いに直交するＸ軸及びＹ軸を用いて定められる前記距離画像内のＸ軸方向の距離勾配とＹ軸方向の距離勾配とを算出し、
前記鼻の位置を特定する際に、
前記Ｘ軸方向の距離勾配が前記Ｙ軸方向の距離勾配より大きい場合、前記撮像対象が前記距離画像に対して実質的に垂直方向を向いていると判定し、前記Ｙ軸方向の距離勾配が前記Ｘ軸方向の距離勾配よりも大きい場合、実質的に前記Ｙ軸方向を向いていると判定する、請求項１９に記載のプログラム。
【請求項２１】
前記顔表面までの距離を算出する際に、
前記顔表面上の顎先と前記直線とを含む第２の平面を生成し、前記第２の平面に対して実質的に垂直方向の前記第１の平面と前記直線との交点から、前記第１の平面上の顔表面までの距離を算出する、請求項１７乃至２０のいずれか１項に記載のプログラム。
【請求項２２】
前記鼻の位置を特定する際に、
前記３Ｄ点群に含まれる前記撮像対象の一方の肩から他方の肩へむかう方向の点群数の変化が閾値を超えた位置を首の付け根位置として特定し、前記首の付け根位置に基づいて設定される探索範囲内から前記顎先を特定する、請求項２１に記載のプログラム。
【請求項２３】
前記顔表面までの距離を算出する際に、
互いに直交するＸ軸及びＹ軸を用いて定められる前記探索範囲内のＸ軸方向の距離勾配とＹ軸方向の距離勾配とを算出し、
前記鼻の位置を特定する際に、
前記探索範囲内のＸ軸方向の最大の距離勾配とＹ軸方向の最大の距離勾配を示す位置を顎の一部として特定する、請求項２２に記載のプログラム。
【請求項２４】
前記鼻の位置を特定する際に、
前記顎の一部として特定された位置の周辺において、距離勾配が閾値以上である位置を結んだ線を顎ラインとして特定し、前記顔の中心から最も離れた顎ライン上の位置を前記顎先として特定する、請求項２３に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は顔向き検出装置、顔向き検出方法、及びプログラムに関する。
【背景技術】
【０００２】
車両を運転する運転者は、運転中にオーディオの操作、カーナビゲーションの操作等の運転とは異なる操作、もしくは、運転に関連する操作、等を行う必要が生じた場合に、安全にそれらの操作を行うことが求められる。近年、オーディオ等の車両内における操作が運転操作に与える影響を減少させるために、運転者の特定のモーションを識別して、オーディオ操作等を行う技術の検討が進められている。ここで、運転者のモーションを特定するためには、運転者の顔、手等の各部位を特定することが必要となる。
【０００３】
特許文献１には、運転者の顔方向を検出する顔検出装置の構成が開示されている。例えば、特許文献１には、カメラに対して正面を向いている顔に対して、画像に写る目と鼻との距離から、上もしくは下を向いていることを判定することが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１６１０４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
運転者を撮影するカメラを取り付ける最適な位置は、カメラの形状もしくは車両の形状等に応じて異なる。そのため、カメラは、必ずしも運転者の正面に配置されない。そのため、運転者の正面とは異なる位置にカメラを置いた場合、正面を向いている運転者の顔を撮影することができず、特許文献１に開示された顔検出装置を用いて運転者の顔方向を正確に検出することができないという問題が発生する。
【０００６】
本開示の目的は、上述した課題に鑑み、運転者の顔方向を正確に検出することができる顔向き検出装置、顔向き検出方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明の第１の態様にかかる顔向き検出装置は、撮像対象までの距離を示す距離画像を３Ｄ変換することによって生成された３Ｄ点群に含まれる顔の中心から首方向に伸ばした直線に対して実質的に垂直方向の第１の平面と前記直線との交点から、前記第１の平面上の顔表面までの距離を算出する算出部と、少なくとも１以上の前記第１の平面における前記距離が最も長い位置を鼻の位置として特定する位置特定部と、を備える。
【０００８】
本発明の第２の態様にかかる顔向き検出方法は、撮像対象までの距離を示す距離画像を３Ｄ変換することによって生成された３Ｄ点群に含まれる顔の中心から首方向に伸ばした直線に対して実質的に垂直方向の第１の平面と前記直線との交点から、前記第１の平面上の顔表面までの距離を算出し、少なくとも１以上の前記第１の平面における前記距離が最も長い位置を鼻の位置として特定する。
【０００９】
本発明の第３の態様にかかるプログラムは、撮像対象までの距離を示す距離画像を３Ｄ変換することによって生成された３Ｄ点群に含まれる顔の中心から首方向に伸ばした直線に対して実質的に垂直方向の第１の平面と前記直線との交点から、前記第１の平面上の顔表面までの距離を算出し、少なくとも１以上の前記第１の平面における前記距離が最も長い位置を鼻の位置として特定することをコンピュータに実行させる。
【発明の効果】
【００１０】
本開示により、運転者の顔方向を正確に検出することができる顔向き検出装置、顔向き検出方法、及びプログラムを提供することができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１にかかる顔向き検出装置の構成図である。
【図２】実施の形態２にかかる顔向き検出装置の構成図である。
【図３】実施の形態２にかかる顔向き検出装置において実行される顔向き検出処理の流れを示す図である。
【図４】実施の形態２にかかる顎のラインの抽出処理を説明する図である。
【図５】実施の形態２にかかる顎のラインの抽出処理を説明する図である。
【図６】実施の形態２にかかる顎のラインの抽出処理を説明する図である。
【図７】実施の形態２にかかる顎のラインの抽出処理を説明する図である。
【図８】実施の形態２にかかる鼻方向ベクトルの算出処理を説明する図である。
【図９】実施の形態２にかかる鼻方向ベクトルの算出処理を説明する図である。
【発明を実施するための形態】
【００１２】
（実施の形態１）
以下、図面を参照して本発明の実施の形態について説明する。図１を用いて実施の形態１にかかる顔向き検出装置１０の構成例について説明する。顔向き検出装置１０は、プロセッサがメモリに格納されたプログラムを実行することによって動作するコンピュータ装置であってもよい。顔向き検出装置１０は、例えば、サーバ装置、パーソナルコンピュータ装置等であってもよい。
【００１３】
顔向き検出装置１０は、算出部１１及び位置特定部１２を有している。算出部１１及び位置特定部１２は、プロセッサがメモリに格納されたプログラムを実行することによって処理が実施されるソフトウェアもしくはモジュールであってもよい。また、算出部１１及び位置特定部１２は、回路もしくはチップ等のハードウェアであってもよい。
【００１４】
算出部１１は、撮像対象までの距離を示す距離画像を３Ｄ（Three dimensions）変換することによって生成された３Ｄ点群を用いて演算処理を行う。距離画像は、例えば、撮像対象までの距離を色の変化等を用いて示す画像である。３Ｄ点群は、例えば、３Ｄ点群データと称されてもよい。３Ｄ点群データは、３次元座標を用いて示されるデータである。点群データは、例えば、撮像対象の表面の位置を示すデータであってもよい。
【００１５】
算出部１１は、３Ｄ点群に含まれる顔の中心から首方向に伸ばした直線に対して実質的に垂直方向の第１の平面と、直線との交点から、第１の平面上の顔表面までの距離を算出する。顔の中心は、例えば、顔を球形状とした場合の中心座標である。首方向に伸ばした直線とは、顔の中心と首の内部もしくは表面上の任意の点を結ぶ直線であってもよい。もしくは、首を円柱形上とした場合、顔の中心と結ぶ任意の点は、首の中心軸上の点であってもよい。
【００１６】
直線に対して、実質的に垂直方向の第１の平面は、例えば、互いに直交するＸ軸、Ｙ軸、及びＺ軸を用いて形成される空間において、直線をＺ軸とした場合に、Ｚ軸に直交するＸＹ平面であってもよい。直線に対して実質的に垂直方向の第１の平面は、少なくとも１以上存在する。顔表面は、例えば、第１の平面上の顔表面を示す点群の平均位置であってもよく、顔表面を示す点群の中の任意の点であってもよい。
【００１７】
位置特定部１２は、算出部１１において算出された少なくとも１以上の第１の平面における距離が最も長い位置を鼻の位置として特定する。鼻の形状は、顔表面から突出した位置に存在する。そのため、位置特定部１２は、直線と第１の平面の交点から、最も遠い位置に存在する顔表面を鼻の位置として特定する。
【００１８】
以上説明したように、顔向き検出装置１０は、３Ｄ点群に含まれる顔の中心から首方向の直線と、直線に対して実質的に垂直方向の平面とを用いることによって、鼻の位置を特定することができる。顔向き検出装置１０は、鼻の位置を特定することができれば、例えば、顔の中心から鼻が存在する方向が顔の向きであると特定することができる。
【００１９】
（実施の形態２）
続いて、図２を用いて実施の形態２にかかる顔向き検出装置１０の構成例について説明する。顔向き検出装置１０は、外部装置インタフェース６１、プロセッサ６２、及びメモリ６３を有している。
【００２０】
外部装置インタフェース６１は、デジタルベースバンド信号処理を行うベースバンドプロセッサを含んでもよい。もしくは、外部装置インタフェース６１は、IEEE 802.3 seriesに準拠したネットワークインターフェースカード（NIC）を含んでもよい。もしくは、外部装置インタフェース６１は、ＵＳＢ（Universal Serial Bus）インタフェース、Bluetooth（登録商標）インタフェース、無線ＬＡＮ（Local Area Network）インタフェース等であってもよい。
【００２１】
外部装置インタフェース６１は、ＴＯＦ（Time Of Flight）カメラ２１及びモニタ２２と接続している。ＴＯＦカメラは、撮像対象までの距離を計測することができるカメラである。言い換えると、ＴＯＦカメラは、撮像対象までの距離データを画素ごとに算出することができる。ＴＯＦカメラ２１が生成する画像を、距離画像と称する。
【００２２】
モニタ２２は、外部装置インタフェース６１から出力された画像データを表示する。例えば、モニタ２２は、ＴＯＦカメラ２１において生成された距離画像データを表示してもよい。もしくは、モニタ２２は、顔向き検出装置１０において距離画像データを加工もしくは分析した後の画像データを表示してもよい。例えば、モニタ２２は、顔向き検出装置１０において距離画像を３Ｄ変換することによって生成された３Ｄ点群データを表示してもよい。
【００２３】
プロセッサ６２は、メモリ６３からソフトウェア（コンピュータプログラム）を読み出して、以降においてフローチャート等を用いて説明される処理を行う。プロセッサ６２は、例えば、マイクロプロセッサ、MPU（Micro Processing Unit）、又はCPU（Central Processing Unit）であってもよい。プロセッサ６２は、複数のプロセッサを含んでもよい。
【００２４】
メモリ６３は、揮発性メモリ及び不揮発性メモリの組み合わせによって構成される。メモリ６３は、プロセッサ６２から離れて配置されたストレージを含んでもよい。この場合、プロセッサ６２は、図示されていないI/Oインタフェースを介してメモリ６３にアクセスしてもよい。プロセッサ６２は、図１の算出部１１及び位置特定部１２における機能もしくは処理を実行するために用いられる。さらに、プロセッサ６２は、ＴＯＦカメラ２１において生成された距離画像を３Ｄ変換して、３Ｄ点群を生成してもよい。
【００２５】
メモリ６３は、ソフトウェアもしくはソフトウェアモジュール群を格納するために使用される。プロセッサ６２は、これらのソフトウェアもしくはソフトウェアモジュール群をメモリ６３から読み出して実行する。
【００２６】
続いて、図３を用いて顔向き検出装置１０において実行される顔向き検出処理の流れについて説明する。具体的には、顔向き検出装置１０は、車両を運転する運転者が向いている方向を検出する。はじめに、算出部１１は、３Ｄ点群データに含まれる顔の顎のラインを抽出する（Ｓ１１）。顎のラインは、例えば、顎と耳との間の顔の輪郭に沿ったラインである。次に、位置特定部１２は、鼻方向ベクトルを算出する（Ｓ１２）。鼻方向ベクトルは、顔の中心から鼻までの方向及び顔の中心から鼻までの距離を識別するベクトルである。顔の中心は、例えば、３Ｄ点群の最も高い位置に存在し、円らしい点群の中心の位置として算出されてもよい。
【００２７】
次に、位置特定部１２は、鼻方向ベクトルを算出できたか否かを判定する（Ｓ１３）。位置特定部１２は、鼻方向ベクトルを算出することができた場合、撮像対象者が正面を向いているか否かを判定する（Ｓ１４）。撮像対象者が正面方向を向いているとは、車両の進行方向を向いていることを意味する。位置特定部１２は、撮像対象者が正面以外の方向を向いていると判定した場合、処理を終了する。位置特定部１２は、撮像対象者が正面を向いていると判定した場合、鼻の位置補正処理を行う（Ｓ１５）。鼻の位置補正処理については、後程詳細に説明する。
【００２８】
ステップＳ１３において、位置特定部１２は、鼻方向ベクトルの算出に失敗した場合、撮像対象者の向きが右向きかもしくは上向きかを判定する（Ｓ１６）。ここでは、撮像対象者を撮影するＴＯＦカメラ２１は、運転者の左前方に配置されているとする。つまり、ＴＯＦカメラ２１は、運転者が正面を向いている場合、主に運転者の左側面を撮影することとなる。ここで、位置特定部１２が鼻方向ベクトルを算出することができないとは、ＴＯＦカメラ２１が生成する距離画像に鼻が表示されていない場合であることが想定される。例えば、運転者が右側を向いている場合、ＴＯＦカメラ２１は、鼻を撮影することができない。撮像対象者の向きが右向きかもしくは上向きかを判定する処理については、後程詳細に説明する。
【００２９】
位置特定部１２が、撮像対象者の向きが右向きかもしくは上向きかを判定することができた場合処理を終了する。また、位置特定部１２が、撮像対象者の向きが右向きかもしくは上向きかを判定することができない場合、顔向きの検出に失敗したとして処理を終了する（Ｓ１７）。
【００３０】
続いて、図４以降の図面を用いて、図３の各ステップにおける処理の詳細について説明する。まず、図４乃至図７を用いて、図３のステップＳ１１の顎のラインの抽出処理について説明する。
【００３１】
図４は、３Ｄ点群に含まれる顔領域３１と、首の探索を行う首探索範囲３２とを示している。顔領域３１は、図４において点線を用いて示されている領域である。また、首探索範囲３２は、図４において実線を用いて示されている領域である。また、首の探索は、顔領域３１及び首探索範囲３２を含む領域において行われてもよい。
【００３２】
顔領域３１は、ＴＯＦカメラ２１において撮影された距離画像から、予め定められたパラメータ等を用いて変換された３Ｄ点群の顔を含む領域である。首探索範囲３２は、撮像対象者の肩を含む領域であり、実験値を用いて予め定められていてもよい。
【００３３】
算出部１１は、顔領域３１及び首探索範囲３２に含められた３Ｄ点群内の点群を２Ｄ画像へ投影する。具体的には、図５の点線にて囲まれた図に示すように、算出部１１は、顔及び肩を含む２Ｄ画像を生成する。もしくは、算出部１１は、２Ｄ画像を生成することなく、３Ｄ点群を用いて、以下に説明する処理を実行してもよい。
【００３４】
さらに、算出部１１は、一方の肩から他方の肩へ向かう方向の点群の数を示すヒストグラムを生成する。点群の数は、点の数と言い換えられてもよい。図６は、生成されたヒストグラムを示している。図６は、頭の上部から、徐々に肩及び胸に移動して生成されたヒストグラムを示している。例えば、肩及び胸のあたりは、一方の肩から他方の肩へ向かう方向には連続した点が多いため、ヒストグラムは、点の数が多いことを示している。頭のあたりは、一方の肩から他方の肩へ向かう方向には、肩のあたりよりも連続した点は少ない。そのため、ヒストグラムは、肩、胸のあたりよりも頭の方が点の数が少ないことを示している。
【００３５】
ここで、首は、頭の幅、及び、肩の幅よりも細い形状であることが多い。そのため、ヒストグラムにおいて、周囲の点の数と比較して、点の数が少なくなる場所を、首の位置と推定することができる。例えば、算出部１１は、周囲の点の数と比較した点の減少数が、予め定められた閾値を超えた場合に、該当箇所を首の位置と推定してもよい。具体的には、図６における最大変化点と示される位置が、首の位置と推定することができる。図６は、図５の２Ｄ画像もしくは３Ｄ点群を用いて生成されたヒストグラムであり、図６の最大変化点は、例えば、図５の黒丸にて示される首の付け根のあたりである。
【００３６】
次に、算出部１１は、推定した首の付け根の位置に基づいて、顎のラインの探索範囲を決定する。例えば、算出部１１は、以下の式１及び式２を用いて、３Ｄ点群内の探索範囲を決定する。以下の式１及び２は、Ｗ軸、Ｌ軸、及びＨ軸を有する３次元座標系における計算式を示している。また、式１及び２において用いられる定数は、例示的な数値であり、変更することが可能である。
【００３７】
【数１】
2019179386.tif 000003
【００３８】
(endX, endY) = (to2D(base.W-50, base.L, base.H-100).X,
to2D(neck.W, neck.L, neck.H).Y)・・・（式２）
【００３９】
to2D():3次元座標を2次元座標（画像座標）への変換式（to2D().Xは2次元座標のX
座標のみ、to2D().Yは2次元座標のY座標のみを示す）
base:3次元座標上における顔点群包含立方体の基準座標（領域内の最小w,l,h）
base.W:baseのW軸の座標値
base.L:baseのL軸の座標値
base.H:baseのH軸の座標値
startX:勾配算出左端X座標
startY:勾配算出上端Y座標
endX:勾配算出右端X座標
endY勾配算出下端Y座標
len:3次元座標上における顔点群包含立方体の各辺の長さ
len.W:lenのW軸方向の長さ
len.L:lenのL軸方向の長さ
len.H:lenのH軸方向の長さ
neck:3次元座標上における首の付根座標
neck.W:neckのW軸の座標値
neck.L:neckのL軸の座標値
neck.H:neckのH軸の座標値
【００４０】
図７の網掛けの領域は、式１及び式２に従って決定された探索範囲である。図７の網掛けの領域は、顎から耳にかけての顎のラインを含む領域である。ここで、図７の網掛けの領域の横方向をＸ方向とし、縦方向をＹ方向とする。
【００４１】
算出部１１は、探索範囲内において、Ｘ方向及びＹ方向の距離勾配を求める。距離勾配は、距離の変化量を示している。例えば、Ｘ方向の距離勾配は、Ｘ方向に隣接する画素間の距離の変化量であってもよい。例えば、算出部１１は、注目している画素と、その画素の右隣の画素との距離の変化量を算出してもよい。Ｙ方向の距離勾配についても、Ｘ方向の距離勾配と同様に、Ｙ方向に隣接する画素間の距離の変化量であってもよい。
【００４２】
算出部１１は、Ｘ方向の距離勾配と、Ｙ方向の距離勾配がそれぞれ最大値を示す位置を、顎のラインの一部の位置と推定する。また、算出部１１は、Ｘ方向の距離勾配と、Ｙ方向の距離勾配がそれぞれ最大値を示す位置を顎先と推定してもよい。
【００４３】
算出部１１は、顎先と推定された位置から、例えば、探索領域の右方向もしくは左方向の領域の距離勾配を分析する。例えば、算出部１１は、顎先と推定された位置と、右方向の領域の画素との間の距離勾配が、予め定められた閾値以上となる画素を特定する。さらに、特定された画素と、その右方向もしくは左方向の領域の画素との間の距離勾配を算出し、算出した距離勾配が予め定められた閾値以上である画素を特定する。このように特定された画素を結んだ線を、顎のラインと推定する。ここで、算出部１１は、顔の中心から、最も離れた顎のライン上の点を、顎先と推定してもよい。
【００４４】
続いて、図８及び図９を用いて、図３のステップＳ１２における鼻方向ベクトルの算出処理について説明する。
【００４５】
図８の上方の図は、顔中心から首方向に伸ばした直線と、顎先とを含む平面を示している。さらに、図８に示される曲線は、顔表面を示している。具体的には、図８に示される曲線は、顔表面を示す点群を示している。
【００４６】
位置特定部１２は、図８の上方の平面図に垂直な方向から、点線において図８の上方の図を分割して、図８の下方の平面図を生成する。図８の下方の平面図は、点線において図８の上方の図を分割した際の断面図と称されてもよい。図８の下方の平面図は、実施の形態１にかかる第１の平面に相当する。図８の下方の平面図は、上方の平面図の点線毎に生成される。図８の上方の平面図における点線と点線との間の幅は、それぞれ均等であってもよく、任意の値であってもよい。
【００４７】
位置特定部１２は、顔中心から首方向に伸ばした直線と、図８の下方の平面図との交点から、顔表面方向のベクトルを算出する。図８の下方の平面図における交点は、図８の上方の平面図の顔中心と点線で結ばれている黒い点である。位置特定部１２は、複数の下方の平面図について、顔表面方向のベクトルを算出する。図９は、顔表面方向のベクトルを示している。図９は、図８の下方の平面図を、顔中心から首方向に伸ばした直線と、図８の下方の平面図との交点を中心として、所定の角度に分割した分割領域内の点群の平均位置までのベクトルを示している。位置特定部１２は、隣接する領域のベクトルとの差が最も大きい領域のベクトルが、鼻のある領域であると特定する。言い換えると、位置特定部１２は、隣接する領域のベクトルの長さよりも、予め定められた閾値以上に長いベクトルが、鼻のある領域であると特定する。さらに、位置特定部１２は、鼻のある領域と特定した領域の、ベクトルの先に鼻が存在すると特定する。また、位置特定部１２は、隣接する領域のベクトルとの差が、予め定められた閾値よりも大きい領域が無い場合、ベクトルの算出に用いた平面図上には鼻が存在しないと推定もしくは判定する。
【００４８】
位置特定部１２は、複数の図８の下方の平面図において特定された鼻の位置を重ね合わせて、詳細な鼻の位置を特定してもよい。
【００４９】
続いて図３のステップＳ１５における、鼻の位置補正処理について説明する。ステップＳ１４において、位置特定部１２は、鼻方向ベクトルが、運転者の正面を向いていると判定した場合に、鼻の位置補正を行う。ここでは、撮像対象者を撮影するＴＯＦカメラ２１は、運転者の左前方に配置されているとする。つまり、ＴＯＦカメラ２１は、運転者が正面を向いている場合、主に運転者の左側面を撮影することとなる。そのため、運転者が正面を向いている場合、ＴＯＦカメラ２１が撮影する画像には、例えば、鼻の先端における点群が欠落しやすくなる。
【００５０】
そこで、ステップＳ１５においては、位置特定部１２は、顔の点群の上部及び下部の一定数を除去し、残った点群の中から、周囲の点群よりも値が大きな点群を一定数取得する。周囲の点群よりも値が大きな値とは、顔中心から首方向に伸ばした直線と、図８の下方の平面図との交点から、離れた位置にある点を意味する。このように、位置特定部１２は、点群を再取得することによって、鼻の位置を補正する。
【００５１】
続いて図３のステップＳ１６における、撮像対象者の向きが右向きかもしくは上向きか否かを判定する処理について説明する。位置特定部１２は、以下の式３及び式４を用いて、３Ｄ点群内の探索範囲を決定する。以下の式３及び４は、Ｗ軸、Ｌ軸、及びＨ軸を有する３次元座標系における計算式を示している。また、式３及び４において用いられる定数は、例示的な数値であり、変更することが可能である。
【００５２】
(startX, startY) = (to2D(head.W+350, head.L, head.H))・・・（式３）
【００５３】
(endX, endY) = (to2D(head.W, head.L, head.H).X, chinLineS+10)・・・（式４）
【００５４】
to2D():3次元座標を2次元座標（画像座標）への変換式（to2D().Xは2次元座標のX
座標のみ、to2D().Yは2次元座標のY座標のみを示す）
head: 3次元座標上における顔の中心位置の座標
head.W:headのW軸方向の成分
head.L:headのL軸方向の成分
head.H:headのH軸方向の成分
chinLineS:推定した顎先のY座標値
【００５５】
式３及び式４を用いて決定された探索範囲は、図７において式１及び式２を用いて決定された探索範囲と同様に、探索範囲の横方向をＸ方向とし、探索範囲の縦方向をＹ方向とする。算出部１１は、探索範囲内において、Ｘ方向及びＹ方向の距離勾配を求める。例えば、位置特定部１２は、Ｙ方向の距離勾配の最大値が、Ｘ方向の距離勾配の最大値よりも大きい場合、顔向きが上向きであると特定してもよい。また、位置特定部１２は、Ｙ方向の距離勾配の最大値が、Ｘ方向の距離勾配の最大値よりも小さい場合、顔向きが右向きであると特定してもよい。
【００５６】
もしくは、位置特定部１２は、以下の式３を満たす場合に、顔向きが上向きであると特定し、式５及び式６を満たす場合に、顔向きが右向きであると特定してもよい。
【００５７】
(yGradMax < 2xGradMax) ∧ (endX-startX ≧ 5)・・・（式５）
【００５８】
(1.5yGradMax > xGradMax)・・・（式６）
【００５９】
xGradMax:x方向勾配で最大の勾配
yGradMax:y方向勾配で最大の勾配
【００６０】
位置特定部１２は、式５及び式６のいずれも満たさない場合に、図３のステップＳ１７において説明したように、顔の向きを検出できないとして処理を終了してもよい。
【００６１】
以上説明したように、実施の形態２にかかる顔向き検出装置１０は、顎のラインの抽出を経て、鼻方向ベクトルを算出することができる。顔向き検出装置１０は、３Ｄ点群を用いて鼻方向ベクトルを算出することができる。言い換えると、顔向き検出装置１０は、運転者の正面から撮影された画像以外にも、運転者の斜め方向もしくは横方向から撮影された画像を用いて、鼻方向ベクトルを算出することができる。その結果、車両内において、撮像対象者の顔の向きを判定する際に、撮像対象者を撮影するカメラの設置場所に関する制限を減らすことができる。
【００６２】
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）を含む。さらに、非一時的なコンピュータ可読媒体の例は、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗを含む。さらに、非一時的なコンピュータ可読媒体の例は、半導体メモリを含む。半導体メモリは、例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory）を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００６３】
なお、本開示は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。また、本開示は、それぞれの実施の形態を適宜組み合わせて実施されてもよい。
【符号の説明】
【００６４】
１０  顔向き検出装置
１１  算出部
１２  位置特定部
２１  ＴＯＦカメラ
２２  モニタ
３１  顔領域
３２  首探索範囲
６１  外部装置インタフェース
６２  プロセッサ
６３  メモリ
【図１】
2019179386.tif 000004
【図２】
2019179386.tif 000005
【図３】
2019179386.tif 000006
【図４】
2019179386.tif 000007
【図５】
2019179386.tif 000008
【図６】
2019179386.tif 000009
【図７】
2019179386.tif 000010
【図８】
2019179386.tif 000011
【図９】
2019179386.tif 000012