(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-11
(45)【発行日】2024-01-19
(54)【発明の名称】顔向き判定システム
(51)【国際特許分類】
G06T 7/70 20170101AFI20240112BHJP
G06T 7/00 20170101ALI20240112BHJP
【FI】
G06T7/70 B
G06T7/00 660A
(21)【出願番号】P 2021202576
(22)【出願日】2021-12-14
【審査請求日】2023-03-29
(73)【特許権者】
【識別番号】000006895
【氏名又は名称】矢崎総業株式会社
(74)【代理人】
【識別番号】110001771
【氏名又は名称】弁理士法人虎ノ門知的財産事務所
(72)【発明者】
【氏名】関 俊剛
【審査官】佐田 宏史
(56)【参考文献】
【文献】特開2009-104524(JP,A)
【文献】特開2020-144546(JP,A)
【文献】国際公開第2015/186519(WO,A1)
【文献】特開2018-163411(JP,A)
【文献】田中 良幸、外6名,“人間の眼球-関節運動特性に基づく自動車インテリア・パッケージの解析評価 ”,計測自動制御学会論文集,日本,社団法人計測自動制御学会,2010年02月28日,Vol.46, No.2,pp.123-129
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00,7/00-7/00
G06V 10/00-10/98
G01B 11/00-11/30
(57)【特許請求の範囲】
【請求項1】
人物の顔を撮像する撮像部と、
前記撮像部により撮像された前記人物の顔の画像に基づいて、前記人物の目尻の位置を検出する目尻検出部と、
前記目尻検出部により検出された前記目尻の位置と、前記人物の頭部を回旋する際の基準となる頭部回旋基準の位置とに基づいて、前記人物の顔の向きを検出する顔向き検出部と、を備えることを特徴とする顔向き検出システム。
【請求項2】
前記顔向き検出部は、鉛直方向における前記頭部回旋基準の位置と前記目尻の位置との間の距離に基づいて前記鉛直方向における前記人物の顔の向きを検出する請求項1に記載の顔向き検出システム。
【請求項3】
前記顔向き検出部は、鉛直方向に交差する左右方向における前記頭部回旋基準の位置と前記目尻の位置とに基づいて前記左右方向における前記人物の顔の向きを検出する請求項1又は2に記載の顔向き検出システム。
【請求項4】
前記顔向き検出部は、前記頭部回旋基準の位置として、予め定められた標準の前記頭部回旋基準の位置を、前記人物が正面を向いた状態で前記撮像部により撮像された前記人物の顔の画像から求まる前記人物の左右の前記目尻の距離に応じて補正した補正後の前記頭部回旋基準の位置に基づいて、前記人物の顔の向きを検出する請求項1~3のいずれか1項に記載の顔向き検出システム。
【請求項5】
前記顔向き検出部は、前記人物の左右の前記目尻の距離に応じて、鉛直方向における前記頭部回旋基準の位置と前記目尻の位置との間の距離、及び、前記鉛直方向に交差する奥行き方向における前記頭部回旋基準の位置と左右の前記目尻の中央の位置との間の距離を補正した補正後の前記頭部回旋基準の位置に基づいて、前記人物の顔の向きを検出する請求項4に記載の顔向き検出システム。
【請求項6】
前記顔向き検出部は、前記頭部回旋基準の位置として、予め定められた標準の頭部回旋基準の位置を、前記人物が正面位置に対する前記撮像部の相対位置に応じて補正した補正後の前記頭部回旋基準の位置に基づいて、前記人物の顔の向きを検出する請求項1~5のいずれか1項に記載の顔向き検出システム。
【請求項7】
前記人物が正面位置に対する前記撮像部の相対位置に応じて、鉛直方向における前記頭部回旋基準の位置と前記目尻の位置との間の距離、及び、前記鉛直方向に交差する奥行き方向における前記頭部回旋基準の位置と左右の前記目尻の中央の位置との間の距離を補正するパラメータ更新部をさらに備える請求項6に記載の顔向き検出システム。
【請求項8】
車両の加速度を検出する加速度センサーと、
前記加速度センサーにより検出された前記車両の加速度に基づいて前記人物が正面を向いたことを判定する正面判定部とを更に備え、
前記撮像部は、前記正面判定部により判定された前記車両の加速度に基づく判定結果に応じて前記人物の顔を撮像する請求項1~7のいずれか1項に記載の顔向き検出システム。
【請求項9】
前記人物の視線を検出する視線検出部と、
前記視線検出部により検出された前記人物の視線に基づいて前記人物が正面を向いたことを判定する正面判定部とを更に備え、
前記撮像部は、前記正面判定部により判定された前記人物の視線に基づく判定結果に応じて前記人物の顔を撮像する請求項1~8のいずれか1項に記載の顔向き検出システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、顔向き判定システムに関する。
【背景技術】
【0002】
従来、顔向き判定システムとして、例えば、特許文献1には、運転者の顔の特徴点として、運転者の眉、目尻、及び口元の少なくとも1つの3次元位置を検出することで運転者の顔向きを推定する運転者監視装置が記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、上述の特許文献1に記載の運転者監視装置は、例えば、運転者が脇見した際に顔の特徴点の一部しか検出できない場合、運転者の顔向きを推定できないおそれがある。
【0005】
そこで、本発明は、上記に鑑みてなされたものであって、人物の顔の向きを適正に判定することができる顔向き判定システムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上述した課題を解決し、目的を達成するために、本発明に係る顔向き検出システムは、人物の顔を撮像する撮像部と、前記撮像部により撮像された前記人物の顔の画像に基づいて、前記人物の目尻の位置を検出する目尻検出部と、前記目尻検出部により検出された前記目尻の位置と、前記人物の頭部を回旋する際の基準となる頭部回旋基準の位置とに基づいて、前記人物の顔の向きを検出する顔向き検出部と、を備えることを特徴とする。
【発明の効果】
【0007】
本発明に係る顔向き検出システムは、人物が脇見した際に片方の目尻しか検出できない場合でも人物の顔の向きを判定することができ、この結果、人物の顔の向きを適正に判定することができる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施形態に係る顔向き検出システムの構成例を示すブロック図である。
【
図2】
図2は、実施形態に係る頭軸の範囲を示す図である。
【
図3】
図3は、実施形態に係る頭軸の位置の計算例を示す図である。
【
図4】
図4は、実施形態に係る上下方向の顔向き角度の計算例を示す図である。
【
図5】
図5は、実施形態に係る上下方向の顔向き角度の計算例を示す図である。
【
図6】
図6は、実施形態に係る左右方向の顔向き角度の計算例を示す図である。
【
図7】
図7は、実施形態に係る左右方向の顔向き角度の計算例を示す図である。
【
図8】
図8は、実施形態に係る左右の顔向き方向の判定例を示す図である。
【
図9】
図9は、実施形態に係る顔映像取得カメラと運転者との位置関係を示す図である。
【
図10】
図10は、実施形態に係るパラメータの更新例(増加)を示す図である。
【
図11】
図11は、実施形態に係るパラメータの更新例(減少)を示す図である。
【
図12】
図12は、実施形態に係る左右方向における顔映像取得カメラの設置角度を示す図である。
【
図13】
図13は、実施形態に係る上下方向における顔映像取得カメラの設置角度を示す図である。
【
図14】
図14は、実施形態に係る顔向き検出結果(角度)の平均誤差を示す図である。
【
図15】
図15は、実施形態に係る脇見検出処理を示すフローチャートである。
【
図16】
図16は、実施形態に係る顔向き検出処理を示すフローチャートである。
【
図17】
図17は、実施形態に係る頭軸の位置の計算処理を示すフローチャートである。
【
図18】
図18は、実施形態に係るパラメータ更新処理を示すフローチャートである。
【
図19】
図19は、実施形態の第1変形例に係る頭軸の位置の計算処理を示すフローチャートである。
【
図20】
図20は、実施形態の第2変形例に係る頭軸の位置の計算処理を示すフローチャートである。
【
図21】
図21は、実施形態の第3変形例に係る頭軸の位置の計算処理を示すフローチャートである。
【発明を実施するための形態】
【0009】
本発明を実施するための形態(実施形態)につき、図面を参照しつつ詳細に説明する。以下の実施形態に記載した内容により本発明が限定されるものではない。また、以下に記載した構成要素には、当業者が容易に想定できるもの、実質的に同一のものが含まれる。更に、以下に記載した構成は適宜組み合わせることが可能である。また、本発明の要旨を逸脱しない範囲で構成の種々の省略、置換又は変更を行うことができる。
【0010】
〔実施形態〕
図面を参照しながら実施形態に係る顔向き検出システム1について説明する。顔向き検出システム1は、人物の顔の向きを検出するものであり、例えば、車両に搭載され、当該車両の運転席に着座した運転者の顔の向きを検出する。顔向き検出システム1は、例えば、
図1に示すように、撮像部としての顔映像取得カメラ10と、目尻検出部としての顔特徴点検出ユニット20と、顔向き計算ユニット30とを備える。
【0011】
ここで、運転者が正面を向いた状態で当該運転者の左右の目尻Eに沿った方向を左右方向Xと称し、上下に沿った方向を鉛直方向又は上下方向Yと称し、運転者が正面を向いた状態で当該運転者の視線に沿った方向を奥行き方向Zと称する。左右方向X、上下方向Y、及び、奥行き方向Zは、互いに交差し、典型的には直交する。
【0012】
顔映像取得カメラ10は、運転者の顔を撮像するものであり、例えば、車両に搭載され、当該車両の運転席に着座した運転者の顔を撮像する。顔映像取得カメラ10は、運転者の前方、例えば、車両のダッシュボードや車両のルーフの前方等に配置され、運転者のアイリプスの中心が撮像範囲の中心になるように設けられ、車両の前方から運転者の顔を撮像する。顔映像取得カメラ10は、顔特徴点検出ユニット20に接続され、撮像した運転者の顔を表す画像(動画(映像)又は静止画)データを顔特徴点検出ユニット20に出力する。
【0013】
顔特徴点検出ユニット20は、画像データから顔の特徴点を検出するものである。顔特徴点検出ユニット20は、例えば、Open CV等の周知の画像認識技術(機械学習)を用いて画像データから顔の特徴点を検出する。顔特徴点検出ユニット20は、例えば、画像データから顔の特徴点として左右の目尻E、左右の瞳孔等を検出し、これらの顔の部位の位置を検出する。ここでは、顔特徴点検出ユニット20は、検出した顔の部位の位置の情報を座標上の情報として扱う。顔特徴点検出ユニット20は、顔向き計算ユニット30に接続され、検出した左右の目尻Eの位置を表す情報(左右の目尻Eの位置座標を表す情報)を顔向き計算ユニット30に出力する。
【0014】
顔向き計算ユニット30は、運転者の顔の向きを計算するものであり、CPU、メモリを構成するROM、RAM及びインターフェースを含む周知のマイクロコンピュータを主体とする電子回路を含んで構成される。顔向き計算ユニット30は、目尻距離演算部31と、記憶部32と、顔向き検出部33と、パラメータ更新部34とを含んで構成され、顔の部位の位置の情報を座標上の情報として扱う。
【0015】
目尻距離演算部31は、人物が正面を向いた状態での左右の目尻Eの距離d
0(
図3参照)を演算するものである。目尻距離演算部31は、顔特徴点検出ユニット20に接続され、当該顔特徴点検出ユニット20から出力された左右の目尻Eの位置を表す情報(左右の目尻Eの位置座標を表す情報)に基づいて、左右の目尻E(左目尻LE、右目尻RE)の距離d
0を演算すると共に、左右の目尻Eの中央の位置を演算する。目尻距離演算部31は、例えば、
図3に示すように、左目尻LEの位置座標(x
LE0、y
LE0)と右目尻REの位置座標(x
RE0、y
RE0)との距離d
0を演算すると共に、左目尻LEの位置座標(x
LE0、y
LE0)と右目尻REの位置座標(x
RE0、y
RE0)との中央の位置座標(x
C0、y
C0)を演算する。目尻距離演算部31は、顔向き検出部33に接続され、演算した距離d
0及び中央の位置座標(x
C0、y
C0)を顔向き検出部33に出力する。
【0016】
記憶部32は、情報を記憶するものであり、例えば、RAM等の揮発性メモリや、ROM、フラッシュメモリ等の不揮発性メモリを含んで構成される。記憶部32は、例えば、顔向き計算ユニット30での各種処理に必要な条件や情報、顔向き計算ユニット30で実行する各種プログラムやアプリケーション、制御データ等が格納されている。そして、記憶部32は、人体の寸法を統計的に表した人体寸法データベースに基づいて予め定められた標準の人体の寸法を記憶している。記憶部32は、例えば、標準の人体の寸法として、
図3に示すように、左右の目尻Eの標準距離d、左右の目尻Eの中央の位置と軸椎Gとの奥行き方向Zの標準距離w、左右の目尻Eの中央の位置と軸椎Gとの上下方向Yの距離h等を記憶している。すなわち、記憶部32は、標準の人体の寸法として、左右の目尻Eの標準距離d、左右の目尻Eの中央の位置と軸椎Gと標準距離w、及び、左右の目尻Eの中央の位置と軸椎Gとの標準距離hから定まる軸椎G(標準の頭軸P)の位置を記憶している。
【0017】
顔向き検出部33は、運転者の顔向きを検出するものである。顔向き検出部33は、例えば、顔特徴点検出ユニット20により検出された目尻Eの位置と、頭部回旋基準としての頭軸Pの位置とに基づいて、運転者の顔の向きを検出する。ここで、頭軸Pは、運転者の頭部を回旋する際の基準となる部分であり、
図2に示すように、軸椎Gと座骨Jとの間に設定される。言い換えれば、運転者の頭部は、頭軸Pを基準として旋回する。顔向き検出部33は、記憶部32に記憶された標準の頭軸Pを個人に合わせて調整するパーソナライズ処理を行う。具体的には、顔向き検出部33は、予め定められた標準の頭軸Pの位置を、運転者が正面を向いた状態で顔映像取得カメラ10により撮像された運転者の顔の画像から求まる運転者の左右の目尻Eの距離d
0に応じて補正した補正後の頭軸Pの位置に基づいて、運転者の顔の向きを検出する。顔向き検出部33は、例えば、以下の式(1)を用いて、左目尻LEの位置座標(x
LE0、y
LE0)と右目尻REの位置座標(x
RE0、y
RE0)とから、頭軸PのX座標x
A(x
c0)を求める。また、顔向き検出部33は、以下の式(2)~(4)を用いて、頭軸PのY座標y
Aを求める。顔向き検出部33は、例えば、式(2)を用いて、左右の目尻Eの標準距離d、及び、目尻Eの位置(例えば、左右の目尻Eの中央の位置)と標準の頭軸Pとの上下方向Yの標準距離hからパラメータP
hを求め、式(3)を用いて、左右の目尻Eの距離d
0とパラメータP
hとから補正後の距離h
0を求め、式(4)を用いて、左目尻LEの位置座標(x
LE0、y
LE0)と右目尻REの位置座標(x
RE0、y
RE0)と補正後の距離h
0とから頭軸Pの補正後のY座標y
Aを求める。つまり、顔向き検出部33は、左右の目尻Eの距離d
0を用いて、頭軸PのY座標y
Aをパーソナライズ化している。また、顔向き検出部33は、以下の式(5)、(6)を用いて、左右の目尻Eの中央の位置と頭軸Pとの奥行き方向Zの距離w
0を求める。顔向き検出部33は、例えば、式(5)を用いて、左右の目尻Eの標準距離d、及び、左右の目尻Eの中央の位置と標準の頭軸Pとの奥行き方向Zの標準距離wとからパラメータP
wを求め、式(6)を用いて、左右の目尻Eの距離d
0とパラメータP
wとから補正後の距離w
0を求める。つまり、顔向き検出部33は、左右の目尻Eの距離d
0を用いて、頭軸PのZ座標をパーソナライズ化している。
【0018】
【0019】
顔向き検出部33は、パーソナライズ化した頭軸P、すなわち補正後の頭軸Pに基づいて運転者の顔向きを検出する。顔向き検出部33は、例えば、
図4、
図5に示すように、目尻Eの位置座標(y
RE1、z
RE1)と頭軸Pの位置座標との上下方向Yの距離h
1を検出する。顔向き検出部33は、検出した距離h
1に基づき、以下の式(7)~(18)を用いて、顔の上下方向Yの角度を求める。以下の式(7)~(18)では、「k」は、直角三角形の斜辺を表し、「θ
P0」は、正面を向いたときの顔の目尻Eと頭軸Pとの角度を表し、「θ
P1」は、顔の上下方向Yの角度を表し、「θ
P2」は、奥行き方向Zと斜辺kとの角度を表す。この例では、頭軸Pの位置座標を原点(0,0)としている。顔向き検出部33は、式(7)を用いて、角度θ
P2を求める。このとき、三角関数により、角度θ
P2は、式(8)で表される。顔向き検出部33は、式(7)と式(8)とを組み合わせると、式(9)となり、式(9)~式(18)に示すように順番に演算を進めると、最終的に式(18)を取得することができ、この結果、顔の上下方向Yの角度θ
P1を得られる。
【0020】
【0021】
顔向き検出部33は、例えば、
図6、
図7に示すように、右目尻REの位置座標(x
RE1、z
RE1)を検出する。顔向き検出部33は、検出した右目尻REの位置座標(x
RE1、z
RE1)に基づき、以下の式(19)~(28)を用いて、顔の左右方向Xの角度を求める。以下の式(19)~(28)では、「θ
Y1」は、顔の左右方向Xの角度を表し、その範囲が0°≦θ
Y1≦90°であり、「x
c1」は、左右の目尻Eの中央の位置座標(X座標)を表し、「d
E」は、目尻Eの変位を表す。この例では、頭軸Pの位置座標を原点(0,0)としている。顔向き検出部33は、式(19)を用いて、角度θ
Y1を求める。このとき、式(19)の「x
c1」は、式(20)で表され、式(20)を式(19)に代入すると、式(21)が得られる。式(21)において、未知の変数は、「dx」だけである。式(21)は、三角関数により、式(22)に変形することができ、式(22)は、式(23)、式(24)に変形することができる。そして、式(25)に示すように、変数を置き換えると、式(26)を導き出すことができ、式(26)から式(27)、式(28)を導き出すことができる。顔向き検出部33は、式(28)から「dx」を算出することができ、算出した「dx」を式(21)に代入することで、顔の左右方向Xの角度θ
Y1を得られる。
【0022】
【数3】
なお、式(20)において、「dx≧0」であり、顔が右を向いた場合、「x
c1=x
LE1+dx」となる。
【0023】
顔向き検出部33は、
図8に示すように、右目尻REの位置座標(x
RE1、z
RE1)が、正面を向いたときの右目尻REの位置座標(x
RE0、z
RE0)よりも大きい場合、顔が左側を向いていると判定する。一方で、顔向き検出部33は、右目尻REの位置座標(x
RE1、z
RE1)が、正面を向いたときの右目尻REの位置座標(x
RE0、z
RE0)よりも小さい場合、顔が右側を向いていると判定する。
【0024】
次に、パラメータ更新部34について説明する。パラメータ更新部34は、顔映像取得カメラ10の位置と運転者の位置との相対位置(位置ずれ)に応じて、上述したパラメータP
h、パラメータP
wを更新することで、人物が正面位置に対する顔映像取得カメラ10の相対位置に応じて標準の頭軸Pの位置を補正するものである。ここで、顔映像取得カメラ10は、車両の構造上、例えば、
図9に示すように、運転者の正面からずれた位置に配置される場合が多い。この場合、顔映像取得カメラ10は、運転者が正面を視た際の正面方向Mから角度θaだけずれが生じた状態で運転者の顔を撮像する。このため、パラメータ更新部34は、顔向き検出部33により検出された顔の角度から、顔映像取得カメラ10のずれ量に相当する角度θaを減算する。これにより、理論上は、顔映像取得カメラ10のずれ量に相当する角度θaを相殺することができるが、顔映像取得カメラ10の取り付け精度の誤差、運転者の個人差(視線が正面を視ている状態で、顔が正面を向いてない可能性がある)等によって、顔向き検出部33により検出された顔の角度から、顔映像取得カメラ10のずれ量に相当する角度θaを減算しても、ゼロにならない場合がある。そこで、パラメータ更新部34は、顔向き検出部33により検出された顔の角度から、顔映像取得カメラ10のずれ量に相当する角度θaを減算した値の絶対値をゼロに近づける処理を行う。
【0025】
パラメータ更新部34は、例えば、
図10に示すように、上述したパラメータP
h、パラメータP
w、すなわちパラメータD1~D4を段階的に増加させる。このとき、顔向き検出部33は、段階的に増加されたパラメータP
h、パラメータP
wに基づいて顔の角度をそれぞれ検出する。パラメータ更新部34は、
図10に示すように、パラメータP
h、パラメータP
w、すなわちパラメータD1~D4を順番に大きくするに従って、顔向き検出部33により検出された顔の角度から、顔映像取得カメラ10のずれ量に相当する角度θaを減算した値の絶対値が徐々に小さくなり、パラメータD1~D4の中でパラメータD3が最も小さくなるので、当該パラメータD3が表す値(パラメータP
h、パラメータP
w)に更新する。
【0026】
パラメータ更新部34は、
図11に示すように、上述したパラメータP
h、パラメータP
w、すなわちパラメータD1~D4を段階的に減少させる。このとき、顔向き検出部33は、段階的に増加されたパラメータP
h、パラメータP
wに基づいて顔の角度をそれぞれ検出する。パラメータ更新部34は、
図11に示すように、パラメータP
h、パラメータP
w、すなわちパラメータD1~D4を順番に小さくするに従って、顔向き検出部33により検出された顔の角度から、顔映像取得カメラ10のずれ量に相当する角度θaを減算した値の絶対値が徐々に小さくなり、パラメータD1~D4の中でパラメータD3が最も小さくなるので、当該パラメータD3が表す値(パラメータP
h、パラメータP
w)に更新する。パラメータ更新部34は、パラメータP
h、パラメータP
wを更新することで、例えば、
図14に示すように、顔向き検出結果(角度)の平均誤差が「縦方向(Pitch)」において、改善前では「19.6」であったが、改善後では「4.5」と小さくなっており、また、顔向き検出結果(角度)の平均誤差が「横方向(Yaw)」において、改善前では「7.9」であったが、改善後では「3.8」と小さくなっている。なお、顔映像取得カメラ10のずれ量に相当する角度θa(
図9参照)は、左右方向Xのずれ量であるが、通常、顔映像取得カメラ10のずれ量は、
図12に示す左右方向Xの角度θ
CYaw、及び、
図13に示す上下方向Yの角度θ
CPitchのずれ量を含む。パラメータ更新部34は、顔の上下方向Yの角度を求める場合には、上下方向Yの角度θ
CPitchのずれ量を減算し、顔の左右方向Xの角度を求める場合には、左右方向Xの角度θ
CYawを減算する。
【0027】
次に、脇見検出処理について説明する。
図15は、実施形態に係る脇見検出処理を示すフローチャートである。顔向き検出システム1は、運転者の視線を検出する視線検出部40を備える。顔映像取得カメラ10は、車両の前方から運転者の顔を撮像し、撮像した運転者の顔を表す画像データを顔特徴点検出ユニット20に出力する。顔特徴点検出ユニット20は、画像データから顔を検出し(ステップS1)、検出した顔の特徴点として左右の目尻E、左右の瞳孔等の位置を検出し、左右の目尻Eの位置を表す情報(左右の目尻Eの位置座標を表す情報)を顔向き計算ユニット30に出力し、左右の瞳孔の位置を表す情報を視線検出部40に出力する(ステップS2)。顔向き計算ユニット30は、顔特徴点検出ユニット20から出力された左右の目尻Eの位置を表す情報に基づいて顔の向きを検出する(ステップS3;後述する
図16のフローチャートで示す検出処理)。視線検出部40は、顔特徴点検出ユニット20から出力された左右の瞳孔の位置を表す情報に基づいて視線の向きを検出する(ステップS4)。脇見判定処理部(図示省略)は、顔向き計算ユニット30によって検出された顔の向き、及び、視線検出部40によって検出された視線の向きに基づいて運転者の脇見を判定する(ステップS5)。そして、脇見判定処理部は、運転者が脇見していると判定した場合、音声等で脇見運転していることを報知し(ステップS6)、運転者が脇見していないと判定した場合、当該報知を行わない。
【0028】
次に、顔向き検出処理について説明する。
図16は、実施形態に係る顔向き検出処理を示すフローチャートである。顔向き検出システム1において、目尻距離演算部31は、顔特徴点検出ユニット20から出力された左右の目尻Eの位置を表す情報(左右の目尻Eの位置座標を表す情報)に基づいて、左右の目尻Eの距離d
0を演算すると共に、左右の目尻Eの中央の位置座標を演算し(ステップT1)、左右の目尻Eの中央の位置座標におけるX座標を頭軸PのX座標とする(ステップT2)。顔向き検出部33は、ステップT2の頭軸PのX座標を取得する。また、顔向き検出部33は、上述の式(2)を用いて、左右の目尻Eの標準距離d、及び、左右の目尻Eの中央の位置と標準の頭軸Pとの上下方向Yの標準距離hとから初期のパラメータP
hを求め、式(5)を用いて、左右の目尻Eの標準距離d、及び、左右の目尻Eの中央の位置と標準の頭軸Pとの奥行き方向Zの標準距離wとから初期のパラメータP
wを求める(ステップT3)。そして、顔向き検出部33は、式(3)を用いて、左右の目尻Eの距離d
0とパラメータP
hとから補正後の距離h
0を求め、式(6)を用いて、左右の目尻Eの距離d
0とパラメータP
wとから補正後の距離w
0を求め、これら初期の距離h
0、距離w
0に基づいて定まる補正後の頭軸Pに基づいて、顔の上下方向Yの角度(式(7)~(18))、及び、顔の左右方向Xの角度(式(19)~(28))を求める(ステップT4)。パラメータ更新部34は、予め定められた顔映像取得カメラ10の角度(角度θ
CPitch、角度θ
CYaw)を取得し(ステップT5)、顔向き検出部33により求めた初期の顔の角度が出力される(ステップT6)。そして、パラメータ更新部34は、顔向き検出部33により求めた初期の顔の角度から、顔映像取得カメラ10の角度(角度θ
CPitch、角度θ
CYaw)を減算した値の絶対値を求め、初期のパラメータP
h、パラメータP
wを増加又は減少させて更新する(ステップT7、T9)。顔向き検出部33は、式(3)を用いて、左右の目尻Eの距離d
0と更新後のパラメータP
hとから補正後の距離h
0を求め、式(6)を用いて、左右の目尻Eの距離d
0と更新後のパラメータP
wとから補正後の距離w
0を求め、これら更新後の距離h
0、距離w
0に基づいて定まる補正後の頭軸Pに基づいて、顔の上下方向Yの角度(式(7)~(18))、及び、顔の左右方向Xの角度(式(19)~(28))を求め(ステップT10)、顔の向きを出力する(ステップT11)。
【0029】
次に、頭軸Pの位置の計算処理について説明する。
図17は、実施形態に係る頭軸Pの位置の計算処理を示すフローチャートである。顔映像取得カメラ10は、運転者の顔が正面を向いた状態で当該運転者の顔を撮像する(ステップU1、U2)。顔特徴点検出ユニット20は、顔映像取得カメラ10により撮像された画像データから顔を検出し(ステップU3)、当該顔の特徴点として左右の目尻E、左右の瞳孔等を検出し、これらの顔の部位の位置を検出する(ステップU4)。目尻距離演算部31は、顔特徴点検出ユニット20から出力された左右の目尻Eの位置を表す情報(左右の目尻Eの位置座標を表す情報)に基づいて、左右の目尻Eの距離d
0を演算すると共に、左右の目尻Eの中央の位置を演算する(ステップU5)。顔向き検出部33は、予め定められた標準の頭軸Pの位置を、運転者が正面を向いた状態で顔映像取得カメラ10により撮像された運転者の顔の画像から求まる運転者の左右の目尻Eの距離d
0に応じて補正して補正後の頭軸Pの位置を演算する(ステップU6)。
【0030】
次に、パラメータ更新処理について説明する。
図18は、実施形態に係るパラメータ更新処理を示すフローチャートである。顔向き検出部33は、初期のパラメータP
h、パラメータP
wを入力する(ステップL1)。そして、顔向き検出部33は、左右の目尻Eの距離d
0とパラメータP
wとから補正後の距離w
0を求め、左右の目尻Eの距離d
0とパラメータP
hとから補正後の距離h
0を求め、補正後の頭軸Pに基づいて、運転者の初期の顔の角度を演算する(ステップL2)。パラメータ更新部34は、顔向き検出部33により演算された初期の顔の角度と、顔映像取得カメラ10のずれ量に相当する角度θa(角度θ
CPitch、角度θ
CYaw)との初期の差分を演算する(ステップL3)。パラメータ更新部34は、パラメータP
h、パラメータP
wを増加させ(ステップL4)、顔向き検出部33は、左右の目尻Eの距離d
0と増加後のパラメータP
wとから補正後の距離w
0を求め、左右の目尻Eの距離d
0と増加後のパラメータP
hとから補正後の距離h
0を求め、補正後の頭軸Pに基づいて、運転者の顔の角度を演算する(ステップL5)。再度、パラメータ更新部34は、顔向き検出部33により演算された顔の角度と、顔映像取得カメラ10のずれ量に相当する角度θa(角度θ
CPitch、角度θ
CYaw)との差分を演算する(ステップL6)。パラメータ更新部34は、演算した差分が初期値(初期の差分)よりも小さい場合(ステップL7;Yes)、パラメータP
h、パラメータP
wを増加させる(ステップL8)。顔向き検出部33は、左右の目尻Eの距離d
0と増加後のパラメータP
wとから補正後の距離w
0を求め、左右の目尻Eの距離d
0と増加後のパラメータP
hとから補正後の距離h
0を求め、補正後の頭軸Pに基づいて、運転者の顔の角度を演算する(ステップL9)。パラメータ更新部34は、顔向き検出部33により演算された顔の角度と、顔映像取得カメラ10のずれ量に相当する角度θa(角度θ
CPitch、角度θ
CYaw)との差分を演算する(ステップL10)。パラメータ更新部34は、演算した差分が前回の差分よりも大きい場合(ステップL11;Yes)、前回のパラメータP
h、パラメータP
wを更新値とし(ステップL12)、処理を終了する。一方で、パラメータ更新部34は、演算した差分が前回の差分よりも小さい場合(ステップL11;No)、上述のステップL8に戻ってパラメータP
h、パラメータP
wを増加させる。
【0031】
なお、上記ステップL7で、パラメータ更新部34は、演算した差分が初期値(初期の差分)よりも大きい場合(ステップL7;No)、パラメータPh、パラメータPwを減少させる(ステップL13)。顔向き検出部33は、左右の目尻Eの距離d0と減少後のパラメータPwとから補正後の距離w0を求め、左右の目尻Eの距離d0と減少後のパラメータPhとから補正後の距離h0を求め、補正後の頭軸Pに基づいて、運転者の顔の角度を演算する(ステップL14)。パラメータ更新部34は、顔向き検出部33により演算された顔の角度と、顔映像取得カメラ10のずれ量に相当する角度θa(角度θCPitch、角度θCYaw)との差分を演算する(ステップL15)。パラメータ更新部34は、演算した差分が前回の差分よりも大きい場合(ステップL16;Yes)、前回のパラメータPh、パラメータPwを更新値とし(ステップL17)、処理を終了する。一方で、パラメータ更新部34は、演算した差分が前回の差分よりも小さい場合(ステップL16;No)、上述のステップL13に戻ってパラメータPh、パラメータPwを減少させる。
【0032】
以上のように、実施形態に係る顔向き検出システム1は、顔映像取得カメラ10と、顔特徴点検出ユニット20と、顔向き検出部33とを備える。顔映像取得カメラ10は、人物の顔を撮像する。顔特徴点検出ユニット20は、顔映像取得カメラ10により撮像された人物の顔の画像に基づいて、人物の目尻Eの位置を検出する。顔向き検出部33は、顔特徴点検出ユニット20により検出された目尻Eの位置と、人物の頭部を回旋する際の基準となる頭軸Pの位置とに基づいて、人物の顔の向きを検出する。
【0033】
この構成により、顔向き検出システム1は、人物が脇見した際に片方の目尻しか検出できない場合やマスク等の装着物により顔の一部が覆われている場合でも、人物の顔の向きを判定することができる。また、顔向き検出システム1は、従来のように多数の顔の特徴点を用いた3次元の回転行列等を用いて顔の向きを検出せずに、2次元の座標データに基づいて顔の向きを検出するので、演算量が増加することを抑制することができ、処理負荷を軽減することができる。この結果、顔向き判定システムは、人物の顔の向きを適正に検出することができる。
【0034】
上記顔向き検出システム1において、顔向き検出部33は、上下方向Yにおける頭軸Pの位置と目尻Eの位置との間の距離h1に基づいて上下方向Yにおける人物の顔の向きを検出する。この構成により、顔向き検出システム1は、演算量が増加することを抑制した上で、人物の上下方向Yの顔の向きを適正に検出することができる。
【0035】
上記顔向き検出システム1において、顔向き検出部33は、上下方向Yに交差する左右方向Xにおける頭軸Pの位置と目尻Eの位置(例えば、右目尻REの位置座標(xRE1、zRE1))とに基づいて左右方向Xにおける人物の顔の向きを検出する。この構成により、顔向き検出システム1は、演算量が増加することを抑制した上で、人物の左右方向Xの顔の向きを適正に検出することができる。
【0036】
上記顔向き検出システム1において、顔向き検出部33は、頭軸Pの位置として、予め定められた標準の頭軸Pの位置を、人物が正面を向いた状態で顔映像取得カメラ10により撮像された人物の顔の画像から求まる人物の左右の目尻Eの距離d0に応じて補正した補正後の頭軸Pの位置に基づいて、人物の顔の向きを検出する。この構成により、顔向き検出システム1は、人物の個人差に応じて頭軸Pを補正することができるので、人物の顔の向きの検出精度を向上することができる。
【0037】
上記顔向き検出システム1において、顔向き検出部33は、人物の左右の目尻Eの距離d0に応じて、上下方向Yにおける頭軸Pの位置と目尻Eの位置との間の距離h、及び、上下方向Yに交差する奥行き方向Zにおける頭軸Pの位置と左右の目尻Eの中央の位置との間の距離wを補正した補正後の頭軸Pの位置に基づいて、人物の顔の向きを検出する。この構成により、顔向き検出システム1は、人物の個人差に応じて頭軸Pを上下方向Y及び奥行き方向Zに沿って補正することができるので、人物の顔の向きの検出精度を向上することができる。
【0038】
上記顔向き検出システム1において、顔向き検出部33は、頭軸Pの位置として、予め定められた標準の頭軸Pの位置を、人物が正面位置に対する顔映像取得カメラ10の相対位置に応じて補正した補正後の頭軸Pの位置に基づいて、人物の顔の向きを検出する。この構成により、顔向き検出システム1は、顔映像取得カメラ10の取り付け精度の誤差等を補正することができるので、人物の顔向きの検出精度の低下を抑制することができる。
【0039】
上記顔向き検出システム1において、人物が正面位置に対する顔映像取得カメラ10の相対位置に応じて、上下方向Yにおける頭軸Pの位置と目尻Eの位置との間の距離h、及び、上下方向Yに交差する奥行き方向Zにおける頭軸Pの位置と左右の目尻Eの中央の位置との間の距離wを補正するパラメータ更新部34をさらに備える。この構成により、顔向き検出システム1は、上下方向Y及び奥行き方向Zにおいて、顔映像取得カメラ10の取り付け精度の誤差等を補正することができるので、人物の顔向きの検出精度の低下を抑制することができる。
【0040】
〔変形例〕
次に、実施形態の変形例について説明する。なお、変形例では、実施形態と同等の構成要素には同じ符号を付し、その詳細な説明を省略する。
図19は、実施形態の第1変形例に係る頭軸Pの位置の計算処理を示すフローチャートである。第1変形例に係る頭軸Pの位置の計算処理は、顔認証により固有の情報を記憶する点で実施形態に係る頭軸Pの位置の計算処理とは異なる。
図19において、顔映像取得カメラ10は、運転者の顔が正面を向いた状態で当該運転者の顔を撮像する(ステップV1、V2)。顔特徴点検出ユニット20は、顔映像取得カメラ10により撮像された画像データから顔を検出し(ステップV3)、当該顔の特徴点として左右の目尻E、左右の瞳孔等を検出し、これらの顔の部位の位置を検出する(ステップV4)。目尻距離演算部31は、顔特徴点検出ユニット20から出力された左右の目尻Eの位置を表す情報(左右の目尻Eの位置座標を表す情報)に基づいて、左右の目尻Eの距離d
0を演算すると共に、左右の目尻Eの中央の位置を演算する(ステップV5)。顔向き検出部33は、予め定められた標準の頭軸Pの位置を、運転者が正面を向いた状態で顔映像取得カメラ10により撮像された運転者の顔の画像から求まる運転者の左右の目尻Eの距離d
0に応じて補正して補正後の頭軸Pの位置を演算する(ステップV6)。顔認証部(図示省略)は、運転者の顔の認証を行い(ステップV7)、顔画像、頭軸Pの位置、座席位置等を記憶部32に記憶する(ステップV8)。
【0041】
図20は、実施形態の第2変形例に係る頭軸Pの位置の計算処理を示すフローチャートである。顔向き検出システム1は、車両の加速度を検出する加速度センサー50と、運転者が正面を向いたことを判定する正面判定部60とを備える。
図20において、顔向き検出システム1は、加速度センサー50により車両の加速度を検出する(ステップW1)。加速度センサー50は、検出した加速度を正面判定部60に出力する。正面判定部60は、加速度センサー50により車両の加速度が検出された場合(ステップW2;Yes)、車両が前進して運転者が正面を向いたと判定する。顔映像取得カメラ10は、正面判定部60により運転者が正面を向いたと判定された場合、運転者の顔が正面を向いた状態で当該運転者の顔を撮像する(ステップW3)。顔特徴点検出ユニット20は、顔映像取得カメラ10により撮像された画像データから顔を検出し(ステップW4)、当該顔の特徴点として左右の目尻E、左右の瞳孔等を検出し、これらの顔の部位の位置を検出する(ステップW5)。目尻距離演算部31は、顔特徴点検出ユニット20から出力された左右の目尻Eの位置を表す情報(左右の目尻Eの位置座標を表す情報)に基づいて、左右の目尻Eの距離d
0を演算すると共に、左右の目尻Eの中央の位置を演算する(ステップW6)。顔向き検出部33は、予め定められた標準の頭軸Pの位置を、運転者が正面を向いた状態で顔映像取得カメラ10により撮像された運転者の顔の画像から求まる運転者の左右の目尻Eの距離d
0に応じて補正して補正後の頭軸Pの位置を演算する(ステップW7)。なお、顔向き検出システム1は、加速度センサー50により加速度が検出されない場合(ステップW2;No)、ステップW1に戻って、再度、加速度を検出する。以上のように、顔向き検出システム1は、車両の加速度を検出する加速度センサー50と、加速度センサー50により検出された車両の加速度に基づいて運転者が正面を向いたことを判定する正面判定部60とを更に備える。顔映像取得カメラ10は、正面判定部60により判定された車両の加速度に基づく判定結果に基づいて運転者の顔を撮像する。この構成により、顔向き検出システム1は、車両の加速度に基づいて運転者が正面を向いたことを自動的に判定して運転者の正面の顔を撮像することができる。
【0042】
図21は、実施形態の第3変形例に係る頭軸Pの位置の計算処理を示すフローチャートである。
図21において、顔向き検出システム1は、視線検出部40により運転者の視線を検出する(ステップF1)。視線検出部40は、検出した運転者の視線を正面判定部60に出力する。正面判定部60は、視線検出部40により検出された視線が正面を向いている場合(ステップF2;Yes)、運転者が正面を向いていると判定する。顔映像取得カメラ10は、正面判定部60により運転者が正面を向いたと判定された場合、運転者の顔が正面を向いた状態で当該運転者の顔を撮像する(ステップF3)。顔特徴点検出ユニット20は、顔映像取得カメラ10により撮像された画像データから顔を検出し(ステップF4)、当該顔の特徴点として左右の目尻E、左右の瞳孔等を検出し、これらの顔の部位の位置を検出する(ステップF5)。目尻距離演算部31は、顔特徴点検出ユニット20から出力された左右の目尻Eの位置を表す情報(左右の目尻Eの位置座標を表す情報)に基づいて、左右の目尻Eの距離d
0を演算すると共に、左右の目尻Eの中央の位置を演算する(ステップF6)。顔向き検出部33は、予め定められた標準の頭軸Pの位置を、運転者が正面を向いた状態で顔映像取得カメラ10により撮像された運転者の顔の画像から求まる運転者の左右の目尻Eの距離d
0に応じて補正して補正後の頭軸Pの位置を演算する(ステップF7)。なお、顔向き検出システム1は視線検出部40により検出した視線が正面を向いていない場合(ステップF2;No)、ステップF1に戻って、再度、視線を検出する。以上のように、顔向き検出システム1は、運転者の視線を検出する視線検出部40と、視線検出部40により検出された運転者の視線に基づいて運転者が正面を向いたことを判定する正面判定部60とを更に備える。顔映像取得カメラ10は、正面判定部60により判定された運転者の視線に基づく判定結果に基づいて運転者の顔を撮像する。この構成により、顔向き検出システム1は、運転者の視線に基づいて運転者が正面を向いたことを自動的に判定して運転者の正面の顔を撮像することができる。
【0043】
上記説明では、顔向き検出部33は、記憶部32に記憶された標準の頭軸Pを個人に合わせて補正するパーソナライズ処理を行う例について説明したが、これに限定されず、当該パーソナライズ処理を行わずに標準の頭軸Pに基づいて顔向きを検出してもよい。
【0044】
パラメータ更新部34は、記憶部32に記憶された標準の頭軸Pを顔映像取得カメラ10の相対位置に応じて補正するパラメータ更新処理を行う例について説明したが、これに限定されず、当該パラメータ更新処理を行わずに標準の頭軸Pに基づいて顔向きを検出してもよい。
【符号の説明】
【0045】
1 顔向き検出システム
10 顔映像取得カメラ(撮像部)
20 顔特徴点検出ユニット(目尻検出部)
33 顔向き検出部
34 パラメータ更新部
40 視線検出部
50 加速度センサー
E 目尻
P 頭軸(頭部回旋基準)
Y 上下方向(鉛直方向)
X 左右方向
Z 奥行き方向
h、h1、d0、w 距離