(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-03-07
(45)【発行日】2023-03-15
(54)【発明の名称】顔方向判別装置、コンピュータプログラム、および記憶媒体
(51)【国際特許分類】
G08G 1/16 20060101AFI20230308BHJP
B60R 11/04 20060101ALI20230308BHJP
G06T 7/70 20170101ALI20230308BHJP
【FI】
G08G1/16 C
B60R11/04
G06T7/70 Z
(21)【出願番号】P 2019023627
(22)【出願日】2019-02-13
【審査請求日】2021-11-17
(73)【特許権者】
【識別番号】000003551
【氏名又は名称】株式会社東海理化電機製作所
(73)【特許権者】
【識別番号】000232092
【氏名又は名称】NECソリューションイノベータ株式会社
(74)【代理人】
【識別番号】110001416
【氏名又は名称】弁理士法人信栄事務所
(72)【発明者】
【氏名】名和 佑記
(72)【発明者】
【氏名】多田 圭吾
(72)【発明者】
【氏名】原田 久光
(72)【発明者】
【氏名】関原 忠
(72)【発明者】
【氏名】深谷 安利
(72)【発明者】
【氏名】榊原 将城
【審査官】佐田 宏史
(56)【参考文献】
【文献】特開2017-199302(JP,A)
【文献】大西 広樹、浮田 浩行,“Kinectを用いた顔の検出とその方向の推定’,電気学会研究会資料,日本,一般社団法人電気学会,2013年03月29日,pp.1-5
(58)【調査した分野】(Int.Cl.,DB名)
G08G 1/16
B60R 11/04
G06T 1/00,7/00-7/90
G06V 10/00-10/98
G01B 11/00-11/30
H04N 7/18
(57)【特許請求の範囲】
【請求項1】
各々が三次元空間における位置に対応付けられた複数の点要素を含む位置データセットを受け付ける入力インターフェースと、
前記位置データセットに基づいて車室内の乗員の顔の向きを判別するプロセッサと、
を備えており、
前記プロセッサは、
前記位置データセットから前記乗員の頭部が存在する可能性が高い三次元空間の領域に対応する位置データサブセットを抽出し、
前記位置データサブセットに基づいて前記頭部の中心位置を推定し、
前記中心位置を中心とする前記頭部を近似する球体の半径を特定し、
前記半径に基づいて、前記乗員の顔の向きを判別
し、
前記入力インターフェースは、前記位置データセットをTOF(Time of Flight)カメラから受け付け、
前記複数の点要素の各々は、前記TOFカメラから出力される複数の画素データの一つに対応している、
顔方向判別装置。
【請求項2】
前記プロセッサは、
前記中心位置から前記位置データサブセットに含まれる前記複数の点要素の各々までの距離の代表値を算出し、
前記代表値と前記半径との比較に基づいて、前記乗員の顔の向きを判別する、
請求項
1に記載の顔方向判別装置。
【請求項3】
前記プロセッサは、前記位置データサブセットに含まれる前記複数の点要素に対応付けられた前記三次元空間における複数の位置の重心位置と前記中心位置との位置関係に基づいて、前記乗員の顔の向きを判別する、
請求項
1または
2に記載の顔方向判別装置。
【請求項4】
各々が三次元位置に対応付けられた複数の点要素を含む位置データセットに基づいて、車室内の乗員の顔の向きをプロセッサに判別させるコンピュータプログラムであって、
当該コンピュータプログラムが実行されると、当該プロセッサに、
前記位置データセットから前記乗員の頭部が存在する可能性が高い空間領域に対応する位置データサブセットを抽出させ、
前記位置データサブセットに基づいて前記頭部の中心位置を推定させ、
前記中心位置を中心とする前記頭部を近似する球体の半径を特定させ、
前記半径に基づいて、前記乗員の顔の向きを判別さ
せ、
前記位置データセットは、TOF(Time of Flight)カメラから取得され、
前記複数の点要素の各々は、前記TOFカメラから出力される複数の画素データの一つに対応している、
コンピュータプログラム。
【請求項5】
前記プロセッサに、
前記中心位置から前記位置データサブセットに含まれる前記複数の点要素の各々までの距離の代表値を算出させ、
前記代表値と前記半径との比較に基づいて、前記乗員の顔の向きを判別させる、
請求項
4に記載のコンピュータプログラム。
【請求項6】
前記プロセッサに、前記位置データサブセットに含まれる前記複数の点要素に対応付けられた複数の前記三次元位置の重心位置と前記中心位置との位置関係に基づいて、前記乗員の顔の向きを判別させる、
請求項
4または
5に記載のコンピュータプログラム。
【請求項7】
請求項
4から
6のいずれか一項に記載のコンピュータプログラムを記憶している記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車室内における乗員の顔の向きを判別する装置に関連する。本発明は、当該装置が備えているプロセッサにより実行されるコンピュータプログラム、および当該コンピュータプログラムが記憶された記憶媒体にも関連する。
【背景技術】
【0002】
特許文献1に開示されているように、車室内における乗員の顔の向きを判別する装置が知られている。当該装置は、カメラに対して正面を向いている顔の画像に含まれる目と鼻の距離に基づいて、乗員の顔の向きを判別している。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の目的は、顔がカメラに面していない乗員についても顔の向きを判別可能にすることである。
【課題を解決するための手段】
【0005】
上記の目的を達成するための第一態様は、顔方向判別装置であって、
各々が三次元空間における位置に対応付けられた複数の点要素を含む位置データセットを受け付ける入力インターフェースと、
前記位置データセットに基づいて車室内の乗員の顔の向きを判別するプロセッサと、
を備えており、
前記プロセッサは、
前記位置データセットから前記乗員の頭部が存在する可能性が高い三次元空間の領域に対応する位置データサブセットを抽出し、
前記位置データサブセットに含まれる前記点要素の数に基づいて、前記乗員の顔の向きを判別する。
【0006】
上記の目的を達成するための第二態様は、各々が三次元位置に対応付けられた複数の点要素を含む位置データセットに基づいて、車室内の乗員の顔の向きをプロセッサに判別させるコンピュータプログラムであって、
当該コンピュータプログラムが実行されると、当該プロセッサに、
前記位置データセットから前記乗員の頭部が存在する可能性が高い空間領域に対応する位置データサブセットを抽出させ、
前記位置データサブセットに含まれる前記点要素の数に基づいて、前記乗員の顔の向きを判別させる。
【0007】
上記のような構成によれば、乗員の頭部の三次元空間における位置に係る情報量に基づいて、当該乗員の顔の向きが判断されうる。画像情報のみに依存する必要がないので、顔がカメラに面していない乗員についても顔の向きを判別できる。
【0008】
上記の目的を達成するための第三態様は、顔方向判別装置であって、
各々が三次元空間における位置に対応付けられた複数の点要素を含む位置データセットを受け付ける入力インターフェースと、
前記位置データセットに基づいて車室内の乗員の顔の向きを判別するプロセッサと、
を備えており、
前記プロセッサは、
前記位置データセットから前記乗員の頭部が存在する可能性が高い三次元空間の領域に対応する位置データサブセットを抽出し、
前記位置データサブセットに基づいて前記頭部の中心位置を推定し、
前記中心位置を中心とする前記頭部を近似する球体の半径を特定し、
前記半径に基づいて、前記乗員の顔の向きを判別する。
【0009】
上記の目的を達成するための第四態様は、各々が三次元位置に対応付けられた複数の点要素を含む位置データセットに基づいて、車室内の乗員の顔の向きをプロセッサに判別させるコンピュータプログラムであって、
当該コンピュータプログラムが実行されると、当該プロセッサに、
前記位置データセットから前記乗員の頭部が存在する可能性が高い空間領域に対応する位置データサブセットを抽出させ、
前記位置データサブセットに基づいて前記頭部の中心位置を推定させ、
前記中心位置を中心とする前記頭部を近似する球体の半径を特定させ、
前記半径に基づいて、前記乗員の顔の向きを判別させる。
【0010】
上記のような構成によれば、乗員の頭部の三次元空間における位置に係る情報から当該頭部の中心の推定位置と当該位置を中心として当該頭部を近似する球体の半径が得られ、当該半径の値に基づいて乗員の顔の向きが判断されうる。画像情報のみに依存する必要がないので、顔がカメラに面していない乗員についても顔の向きを判別できる。
【0011】
第三態様に係る顔方向判別装置は、以下のように構成されうる。
前記プロセッサは、
前記中心位置から前記位置データサブセットに含まれる前記複数の点要素の各々までの距離の代表値を算出し、
前記代表値と前記半径との比較に基づいて、前記乗員の顔の向きを判別する。
【0012】
第四態様に係るコンピュータプログラムは、以下のように構成されうる。
前記プロセッサに、
前記中心位置から前記位置データサブセットに含まれる前記複数の点要素の各々までの距離の代表値を算出させ、
前記代表値と前記半径との比較に基づいて、前記乗員の顔の向きを判別させる。
【0013】
上記のような構成によれば、頭部を近似する球体の半径を利用した乗員の顔の向きの判断をより精密に行なうことができる。
【0014】
第三態様に係る顔方向判別装置は、以下のように構成されうる。
前記プロセッサは、前記位置データサブセットに含まれる前記複数の点要素に対応付けられた前記三次元空間における複数の位置の重心位置と前記中心位置との位置関係に基づいて、前記乗員の顔の向きを判別する。
【0015】
第四態様に係るコンピュータプログラムは、以下のように構成されうる。
前記プロセッサに、前記位置データサブセットに含まれる前記複数の点要素に対応付けられた複数の前記三次元位置の重心位置と前記中心位置との位置関係に基づいて、前記乗員の顔の向きを判別させる。
【0016】
上記のような構成によれば、乗員の顔がカメラに面していない場合においても、具体的な顔の向きを判別できる。
【0017】
第一態様と第三態様に係る顔方向判別装置は、以下のように構成されうる。
前記入力インターフェースは、前記位置データセットをTOF(Time of Flight)カメラから受け付け、
前記複数の点要素の各々は、前記TOFカメラから出力される複数の画素データの一つに対応している。
【0018】
第二態様と第四態様に係るコンピュータプログラムは、以下のように構成されうる。
前記位置データセットは、TOF(Time of Flight)カメラから取得される。
【0019】
上記のような構成によれば、乗員の頭部に係る位置情報を、画像情報とともに効率的に取得できる。
【0020】
上記の目的を達成するための第五態様は、顔方向判別装置であって、
撮像された車室を含む画像に対応し複数の画素データを含む画像データを受け付ける入力インターフェースと、
画像の輝度に関する特徴量に基づいて撮像された乗員の顔の向きを判別するために少なくとも撮像された頭部を含む画像を教師データとして学習した識別器を用い、前記画像データに基づいて、前記画像に含まれる撮像された乗員の顔の向きを判別するプロセッサと、
を備えており、
前記プロセッサは、
前記画像データにおいて前記撮像された乗員の頭部が含まれる可能性がある第一検出領域を特定し、
前記第一検出領域に含まれる各画素の輝度に基づく特徴量を前記識別器に入力し、
前記第一検出領域についての前記識別器による識別結果に基づいて、前記撮像された乗員の顔の向きについて第一判別結果を取得し、
前記第一検出領域と一部が重なる位置に当該第一検出領域と同じ大きさを有する少なくとも一つの第二検出領域を設定し、
前記第二検出領域に含まれる各画素の輝度に基づく特徴量を前記識別器に入力し、
前記第二検出領域についての前記識別器による識別結果に基づいて、前記撮像された乗員の顔の向きについて少なくとも一つの第二判別結果を取得し、
前記少なくとも一つの第二判別結果が前記第一判別結果と一致している場合、前記第一判別結果を有効にする。
【0021】
上記の目的を達成するための第六態様は、画像の輝度に関する特徴量に基づいて撮像された乗員の顔の向きを判別するために少なくとも撮像された頭部を含む画像を教師データとして学習した識別器を用い、撮像された車室を含む画像に対応し複数の画素データを含む画像データに基づいて、当該画像に含まれる撮像された乗員の顔の向きをプロセッサに判別させるコンピュータプログラムであって、
当該コンピュータプログラムが実行されると、当該プロセッサに、
前記画像データにおいて前記撮像された乗員の頭部が含まれる可能性がある第一検出領域を特定させ、
前記第一検出領域に含まれる各画素の輝度に基づく特徴量を前記識別器に入力させ、
前記第一検出領域についての前記識別器による識別結果に基づいて、前記撮像された乗員の顔の向きについて第一判別結果を取得させ、
前記第一検出領域と一部が重なる位置に当該第一検出領域と同じ大きさを有する少なくとも一つの第二検出領域を設定させ、
前記第二検出領域に含まれる各画素の輝度に基づく特徴量を前記識別器に入力させ、
前記第二検出領域についての前記識別器による識別結果に基づいて、前記撮像された乗員の顔の向きについて少なくとも一つの第二判別結果を取得させ、
前記少なくとも一つの第二判別結果が前記第一判別結果と一致している場合、前記第一判別結果を有効にさせる。
【0022】
上記のような構成によれば、撮像された頭部を含む画像を教師データとして学習した識別器を用いて撮像された乗員の顔の向きが判別され、さらにその判別結果についての検証もなされるので、顔がカメラに面していない乗員についても顔の向きの判別精度を高めることができる。
【0023】
第五態様に係る顔方向判別装置は、以下のように構成されうる。
前記入力インターフェースは、各々が三次元空間における位置に対応付けられた複数の点要素を含む位置データセットを受け付け、
前記プロセッサは、
前記位置データセットから前記第一検出領域に対応する位置データサブセットを抽出し、
前記位置データサブセットに基づいて推定された前記頭部の中心位置と、当該位置データサブセットに含まれる前記複数の点要素に対応付けられた複数の前記位置の重心位置との位置関係に基づいて、前記撮像された乗員の顔の向きを判別する。
【0024】
第六態様に係るコンピュータプログラムは、以下のように構成されうる。
前記プロセッサに、
各々が三次元位置に対応付けられた複数の点要素を含む位置データセットから前記第一検出領域に対応する位置データサブセットを抽出させ、
前記位置データサブセットに基づいて推定された前記頭部の中心位置と、当該位置データサブセットに含まれる前記複数の点要素に対応付けられた複数の前記三次元位置の重心位置との位置関係に基づいて、前記撮像された乗員の顔の向きを判別させる。
【0025】
上記のような構成によれば、乗員の顔がカメラに面していない場合においても、具体的な顔の向きを判別できる。
【0026】
第五態様に係る顔方向判別装置は、以下のように構成されうる。
前記特徴量は、HOG(Histograms of Oriented Gradients)である。
【0027】
第六態様に係るコンピュータプログラムは、以下のように構成されうる。
前記特徴量は、HOG(Histograms of Oriented Gradients)である。
【0028】
上記のような構成によれば、頭部のエッジを比較的高い精度で検出できる。したがって、撮像された乗員の顔の向きの判別精度を高めることができる。
【0029】
第五態様に係る顔方向判別装置は、以下のように構成されうる。
前記識別器は、サポートベクターマシンである。
【0030】
第六態様に係るコンピュータプログラムは、以下のように構成されうる。
前記識別器は、サポートベクターマシンである。
【0031】
上記のような構成によれば、汎化性能の高い識別器が得られるので、撮像された乗員の顔の向きの判別精度を高めることができる。
【0032】
第五態様に係る顔方向判別装置は、以下のように構成されうる。
前記入力インターフェースは、前記位置データセットを、前記画像データの一部としてTOF(Time of Flight)カメラから受け付ける。
【0033】
第六態様に係るコンピュータプログラムは、以下のように構成されうる。
前記位置データセットは、前記画像データの一部としてTOF(Time of Flight)カメラから取得されたものである。
【0034】
上記のような構成によれば、乗員の頭部に係る位置情報を、画像情報とともに効率的に取得できる。
【0035】
上記の目的を達成するための一態様は、上記の第二態様、第四態様、および第六態様のいずれかに係るコンピュータプログラムを記憶している記憶媒体である。
【発明の効果】
【0036】
本発明によれば、顔がカメラに面していない乗員についても顔の向きを判別できる。
【図面の簡単な説明】
【0037】
【
図1】一実施形態に係る顔方向判別システムの構成を例示している。
【
図2】
図1の顔方向判別システムが搭載される車両の一部を例示している。
【
図3】
図1の顔方向判別装置により実行される処理の流れを例示している。
【
図4】
図1の顔方向判別装置により実行される処理を説明するための図である。
【
図5】
図1の顔方向判別装置により実行される処理を説明するための図である。
【
図6】
図1の顔方向判別装置により実行される処理を説明するための図である。
【
図7】
図1の顔方向判別装置により実行される処理を説明するための図である。
【
図8】
図3における顔方向判別処理の第一の具体例を示している。
【
図9】
図3における顔方向判別処理の第二の具体例を示している。
【
図12】
図3における顔方向判別処理の第三の具体例を示している。
【発明を実施するための形態】
【0038】
添付の図面を参照しつつ、実施形態例について以下詳細に説明する。以下の説明に用いる各図面では、各部材を認識可能な大きさとするために縮尺を適宜変更している。
【0039】
図1は、一実施形態に係る顔方向判別システム1の構成を模式的に示している。顔方向判別システム1は、TOF(Time of Flight)カメラ2と顔方向判別装置3を含んでいる。
図2は、顔方向判別システム1が搭載される車両4の一部を示している。矢印Lは、車両4の前後方向に沿う向きを示している。矢印Hは、車両4の高さ方向に沿う向きを示している。
【0040】
TOFカメラ2は、
図2に示される車両4の車室41内における適宜の位置に配置され、撮像された車室41を含む画像を取得する。
【0041】
TOFカメラ2は、発光素子と受光素子を備えている。発光素子は、検出光として例えば赤外光を出射する。出射された検出光は、対象物によって反射され、戻り光として受光素子に入射する。検出光が発光素子より出射されてから戻り光が受光素子に入射するまでの時間が測定されることにより、戻り光を生じた対象物までの距離が算出される。TOFカメラ2により取得される画像を構成する複数の画素の各々について当該距離が算出されることにより、各画素は、画像における二次元的な位置座標(U,V)に加えて、当該画素に対応する対象物の一部までの距離(奥行き)を示す距離情報d(U,V)を含む。
【0042】
TOFカメラ2は、取得された画像に対応する画像データIDを出力する。画像データIDは、複数の画素データセットを含んでいる。複数の画素データセットの各々は、取得された画像を構成する複数の画素の対応する一つに関連づけられている。複数の画素データセットの各々は、位置座標(U,V)と距離情報d(U,V)を含んでいる。すなわち、複数の画素データセットの各々は、三次元空間における位置に対応付けられている。複数の画素データセットの各々は、点要素の一例である。画像データIDは、位置データセットの一例でもある。
【0043】
顔方向判別装置3は、車両4における適宜の位置に搭載される。顔方向判別装置3は、TOFカメラ2から提供される画像データIDに基づいて、撮像された車室41内の運転者5の顔の向きを判別するための装置である。運転者5は、乗員の一例である。
【0044】
顔方向判別装置3は、入力インターフェース31を備えている。入力インターフェース31は、TOFカメラ2から出力された画像データIDを受け付ける。
【0045】
顔方向判別装置3は、プロセッサ32を備えている。プロセッサ32は、入力インターフェース31に入力された画像データIDに基づいて、運転者5の顔の向きを判別する処理を実行する。
【0046】
図3を参照しつつ、プロセッサ32によって行なわれる処理の流れを説明する。プロセッサ32は、まず画像データIDに対して予備処理を実行する(STEP1)。
【0047】
各画素データセットに含まれる位置座標(U,V)と距離情報d(U,V)は、画像中心座標が(cX,cY)と定義された場合、次式を用いてカメラ座標系における三次元空間上の点(X,Y,Z)に変換されうる。fは、TOFカメラ2が備えるレンズの焦点距離を表している。
【0048】
【0049】
プロセッサ32は、上式に基づいて、位置座標(U,V)と距離情報d(U,V)からカメラ座標系における三次元空間上の点(X,Y,Z)への変換を行なう。なお、位置座標(U,V)と距離情報d(U,V)からカメラ座標系における三次元空間上の点(X,Y,Z)への変換は、TOFカメラ2に内蔵されたプロセッサによって行なわれてもよい。この場合、TOFカメラ2から出力される画像データIDに含まれる複数の画素データセットの各々は、位置座標(X,Y,Z)を含む。この場合においても、複数の画素データセットの各々は、三次元空間における位置に対応付けられている。この場合においても、複数の画素データセットの各々は、点要素の一例である。この場合においても、画像データIDは、位置データセットの一例でもある。
【0050】
カメラ座標系における位置座標(X,Y,Z)は、車両4における特定の位置を原点とする車両座標系における位置座標(W,L,H)に変換されうる。W軸は、車両4の左右方向に延びる座標軸である。例えば、運転席における特定の位置を原点とした場合、W軸の座標値は、運転者5から見て原点よりも右方において正の値をとり、原点よりも左方において負の値をとる。L軸は、車両4の前後方向に延びる座標軸である。例えば、L軸の座標値は、原点よりも前方において正の値をとり、原点よりも後方において負の値をとる。H軸は、車両4の上下方向に延びる座標軸である。例えば、H軸の座標値は、原点よりも上方において正の値をとり、原点よりも下方において負の値をとる。
【0051】
プロセッサ32は、各画素データセットについてカメラ座標系における位置座標(X,Y,Z)から車両座標系における位置座標(W,L,H)への変換を行なう。原点は、例えば運転者5の腰骨に対応する位置として選ばれる。車両座標系への座標変換は、周知の座標回転変換、平行移動変換、スケール変換などを用いて行なわれうる。
【0052】
続いてプロセッサ32は、処理対象とされる空間領域を限定する処理を行なう。具体的には、TOFカメラ2から取得された画像データIDから、限定された空間領域に対応する複数の画素データセットPDが抽出される。
【0053】
図4の(A)は、TOFカメラ2から取得された画像データIDの一例を示している。
図2に示されるように、運転席に着座した運転者5の頭部51は、車室41の上部に位置している蓋然性が高い。したがって、処理対象とされる空間領域が当該車室41の上部に限定される。例えば、限定された空間領域は、W軸の座標値が-510mm~360mm、L軸の座標値が-280mm~700mm、H軸の座標値が430mm~750mmの範囲である空間領域として定義されうる。
図4の(B)は、限定された空間領域に対応する複数の画素データセットPDの一例を示している。
【0054】
空間領域を限定する処理が行なわれることにより、後述する頭部51の判別処理の負荷が軽減されうる。しかしながら、この処理は省略されてもよい。
【0055】
続いてプロセッサ32は、TOFカメラ2から取得された画像データIDまたは上記のように抽出された複数の画素データセットPDを複数のデータサブセットDSに分割する(
図3のSTEP2)。
【0056】
図5の(A)は、L軸とH軸により形成されるLH座標平面に射影された複数の画素データセットPDを示している。プロセッサ32は、LH座標平面に射影された複数の画素データセットPDを複数のデータサブセットDSに分割することにより、車室41の一部を構成する複数の空間領域(車室空間領域)の一つに各データサブセットDSを対応付ける。
【0057】
各データサブセットDSに対応する車室空間領域は、L軸に沿う所定の幅dLを有している。幅dLは、人の頭部に対応する寸法として予め定められうる。「人の頭部に対応する寸法」は、例えば国立研究開発法人産業技術総合研究所の人体寸法データベースや独立行政法人製品評価技術基盤機構の人間特性データベースなどに公開されている頭部の大きさに係る情報に基づいて定められうる。
【0058】
続いてプロセッサ32は、高尤度データサブセットLDSを特定する(
図3のSTEP3)。高尤度データサブセットLDSは、運転者5の頭部51が存在する可能性が高い車室空間領域に対応するデータサブセットDSである。
【0059】
具体的には、プロセッサ32は、各データサブセットDSに含まれる有意な画素データセットの数を計数する。「有意な画素データセット」とは、運転者5によって検出光が反射されたことにより取得された可能性が高い距離情報D(U,V)を有している画素データセットを意味する。そのような距離情報Dの数値範囲は、TOFカメラ2と運転者5との位置関係に基づいて適宜に定められうる。
【0060】
LH座標平面に射影された複数の画素データセットPDの場合、有意な画素データセットを最も多く含むデータサブセットDSに対応する車室空間領域には、運転者5の頭部51と胴体52が含まれている可能性が高い。
【0061】
したがって、
図5の(B)に示されるように、プロセッサ32は、有意な画素データセットを最も多く含むデータサブセットDSを、高尤度データサブセットLDSとして特定する。換言すると、プロセッサ32は、各データサブセットDSに含まれる運転者5に対応する画素データセットの数に基づいて、頭部51が存在する可能性が高い複数の車室空間領域の少なくとも一つに対応する高尤度データサブセットLDSを特定する。
【0062】
続いてプロセッサ32は、特定された高尤度データサブセットLDSに基づいて、頭部の判別を行なう(
図3のSTEP4)。
【0063】
まず、
図5の(B)に示されるように、プロセッサ32は、運転者5の頭頂部51aを特定する。具体的には、高尤度データサブセットLDSに含まれる有意な画素データセットのうち、最も高い位置にあるものが、頭頂部51aであると特定される。換言すると、高尤度データサブセットLDSに含まれる有意な画素データセットのうち、最も大きなH軸座標値を有するものが、頭頂部51aであると特定される。
【0064】
続いて、
図6の(A)と(B)に示されるように、プロセッサ32は、撮像された運転者5の頭部51が含まれる蓋然性の高い頭部空間領域HSRを定義する。頭部空間領域HSRは、特定された頭頂部51aの座標に基づいて定められる。具体的には、国立研究開発法人産業技術総合研究所の人体寸法データベースや独立行政法人製品評価技術基盤機構の人間特性データベースなどに公開されている頭部の大きさに係る情報に基づいて、頭部空間領域HSRのL軸に沿う方向の寸法hdL、H軸に沿う方向の寸法hdH、およびW軸に沿う方向の寸法hdWが定められる。
【0065】
例えば、寸法hdLは、頭頂部51aの座標を中心として176mmの値をとるように定められる。寸法hdHは、頭頂部51aの座標から下方へ146mmの値をとるように定められる。寸法hdWは、頭頂部51aの座標を中心として176mmの値をとるように定められる。
【0066】
次にプロセッサ32は、
図7の(A)に示されるように、上記のように定められた頭部空間領域HSRに対応する頭部データサブセットHSDを、複数の画素データセットPDから抽出する。頭部データサブセットHSDは、位置データサブセットの一例である。
【0067】
続いてプロセッサ32は、撮像された運転者5の顔の向きを判別する処理を行なう(
図3のSTEP5)。
図8は、当該処理の第一の例を示している。
【0068】
具体的には、プロセッサ32は、頭部データサブセットHSDに含まれる有意な画素データセットの数を計数する(STEP511)。「有意な画素データセット」とは、運転者5によって検出光が反射されたことにより取得された可能性が高い距離情報D(U,V)を有している画素データセットを意味する。頭部データサブセットHSDに含まれる有意な画素データセットは、運転者5の顔面からの戻り光に基づいて得られた蓋然性が高い。
【0069】
本実施形態において、TOFカメラ2は、運転者5の画像を左上方から取得している。運転者5の顔が正面、左方、または上方を向いていれば、TOFカメラ2に面する顔部分の面積は増大する。したがって、TOFカメラ2への戻り光が増大し、頭部データサブセットHSDに含まれる有意な画素データセットの数も増大する。他方、運転者5の顔が右方または下方を向いていると、TOFカメラ2に面する顔部分の面積が減少する。したがって、TOFカメラ2への戻り光が減少し、頭部データサブセットHSDに含まれる有意な画素データセットの数も減少する。
【0070】
すなわち、頭部データサブセットHSDに含まれる有意な画素データセットの数に基づいて、運転者5の顔の向きとして、顔がTOFカメラ2に面しているか否かがが判断されうる。
【0071】
具体的には、プロセッサ32は、計数された有意な画素データセットの数が所定値未満であるかを判断する(STEP512)。所定値は、TOFカメラ2の仕様や運転者5との位置関係に応じて適宜に定められうる。計数された有意な画素データセットの数が所定値未満である場合(STEP512においてYES)、プロセッサ32は、運転者5の顔はTOFカメラ2に面していないと判断する(STEP513)。計数された有意な画素データセットの数が所定値以上である場合(STEP512においてNO)、プロセッサ32は、運転者5の顔はTOFカメラ2に面していると判断する(STEP514)。
【0072】
上記のような構成によれば、運転者5の頭部51の三次元空間における位置に係る情報量に基づいて、運転者5の顔の向きが判断されうる。画像情報のみに依存する必要がないので、顔がカメラに面していない運転者5についても顔の向きを判別できる。
【0073】
図9は、プロセッサ32により行なわれうる撮像された運転者5の顔の向きを判別する処理の第二の例を示している。
【0074】
プロセッサ32は、運転者5の頭部51の中心位置Cを推定する(STEP521)。具体的には、
図7の(B)に示されるように、プロセッサ32は、頭部データサブセットHSDのうち、上記のように定められた頭部空間領域HSRの重心位置G(Wg,Lg,Hg)を、まず特定する。
【0075】
頭部データサブセットHSDは、頭部51の表面からの戻り光に基づいて取得されているので、上記のように特定された重心位置Gは、頭部51の中心(実際の重心)よりも表面に寄る傾向にある。
図10の(A)に示されるように、運転者5の頭部51は球体Sで近似できる。頭部データサブセットHSDに含まれる複数の画素データセット(点要素)が球体Sの表面に分布していると仮定すれば、各点要素から球体Sの中心までの距離は等しくなる。
【0076】
そこでプロセッサ32は、各点要素からの距離のばらつきが最小となる点を探索し、重心位置Gがそのような点の位置となるように補正する。プロセッサ32は、補正された重心位置G’を頭部51の中心位置Cとして推定する。
【0077】
各点要素からの距離のばらつきが最小となる点は、例えば次式で表される評価関数の値が最小になるような点として探索されうる。
【数2】
nは、頭部データサブセットHSDに含まれる複数の点要素の数を表している。
p
kは、頭部データサブセットHSDに含まれる各点要素の位置を表している。
Gは、上記のように特定された頭部51の重心位置を表している。
d(p
k,G)は、ある点要素の位置と重心位置の間のユークリッド距離を表している。
【0078】
続いてプロセッサ32は、頭部51を近似する球体Sの半径を特定する(
図9のSTEP522)。当該半径は、例えば当初の重心位置Gと補正後の重心位置G’の間のユークリッド距離に基づいて特定されうる。
【0079】
図10の(B)は、運転者5の顔が車室41における右方を向いている場合を例示している。
図10の(C)は、運転者5の顔が車室41における下方を向いている場合を例示している。運転者5の顔がTOFカメラ2に面していないこれらの例においては、頭部データサブセットHSDに含まれる複数の点要素の分布が特定の方向へ偏る。このような複数の点要素が表面に分布していると仮定された球体Sの半径は、妥当な値を有しない傾向にある。
【0080】
そこでプロセッサ32は、特定された球体Sの半径の値が所定の範囲内にあるかを判断する(STEP523)。所定の範囲は、例えば50mm~90mmとされうる。球体Sの半径が所定の範囲内にないと判断された場合、(STEP523においてNO)、プロセッサ32は、運転者5の顔はTOFカメラ2に面していないと判断する(STEP524)。球体Sの半径が所定の範囲内にあると判断された場合(STEP523においてYES)、プロセッサ32は、運転者5の顔はTOFカメラ2に面していると判断する(STEP525)。
【0081】
上記のような構成によれば、運転者5の頭部51の三次元空間における位置に係る情報から頭部51の中心の推定位置と当該位置を中心として頭部51を近似する球体Sの半径が得られ、当該半径の値に基づいて運転者5の顔の向きが判断されうる。画像情報のみに依存する必要がないので、顔がカメラに面していない運転者5についても顔の向きを判別できる。
【0082】
図9に示されるように、球体Sの半径が所定の範囲内にあると判断された場合、(STEP523においてYES)、プロセッサ32は、頭部51の中心位置C(すなわち球体Sの中心)から頭部データサブセットHSDに含まれる各点要素までの距離と球体Sの半径との差分の平均値を算出しうる。当該平均値は、代表値の一例である。当該平均値は、頭部51の中心位置Cから頭部データサブセットHSDに含まれる各点要素までの距離と球体Sの半径との差分の中間値や最頻値で置き換えられうる。
【0083】
図10の(A)に示されるように運転者5の顔がTOFカメラ2に面している場合、球体Sは実際の頭部51をよく近似できるので、中心位置Cから頭部データサブセットHSDに含まれる複数の点要素の各々までの距離は、球体Sの半径に近づく傾向にある。他方、
図10の(B)や(C)に示されるように運転者5の顔がTOFカメラ2に面していない場合、頭部データサブセットHSDに含まれる複数の点要素の分布が特定の方向へ偏るので、中心位置Cから頭部データサブセットHSDに含まれる複数の点要素の各々までの距離は、球体Sの半径から離れる傾向にある。
【0084】
そこでプロセッサ32は、算出された差分の平均値が所定値未満であるかを判断する(
図9のSTEP526)。所定値は、例えば10mmとされうる。算出された差分の平均値が所定値未満であると判断された場合(STEP526においてYES)、プロセッサ32は、運転者5の顔はTOFカメラ2に面していると判断する(STEP525)。算出された差分の平均値が所定値以上であると判断された場合(STEP526においてNO)、プロセッサ32は、運転者5の顔はTOFカメラ2に面していると判断する(STEP524)。
【0085】
このような構成によれば、頭部51を近似する球体Sの半径を利用した運転者5の顔の向きの判断をより精密に行なうことができる。
【0086】
STEP523の判断処理に代えて、STEP526の判断処理のみに基づいて運転者5の顔の向きが判断されてもよい。
【0087】
運転者5の顔がTOFカメラに面していないと判断された場合(STEP524)、プロセッサ32は、運転者5の顔の向きを特定する処理をさらに行ないうる(STEP527)。具体的には、運転者5の顔が車室41における右方と下方のいずれを向いているのかが特定される。
【0088】
図11の(A)に示されるように、運転者5の顔が車室41における右方を向いている場合、頭部データサブセットHSDに含まれる複数の点要素の重心位置Gは、頭部51の中心位置Cから見て比較的前方(+L方向)に位置する傾向にある。他方、
図11の(B)に示されるように、運転者5の顔が車室41における下方を向いている場合、頭部データサブセットHSDに含まれる複数の点要素の重心位置Gは、頭部51の中心位置Cから見て比較的左方(-W方向)に位置する傾向にある。
【0089】
そこでプロセッサ32は、重心位置Gと中心位置Cの位置関係に基づいて、運転者5の顔が右方と下方のいずれを向いているかを判別する。具体的には、
図11の(C)に示されるように、中心位置Cから見たWL座標平面内における特定の方向が、基準方向RDとして設定される。プロセッサ32は、中心位置Cから見て重心位置Gが基準方向RDよりも右方に位置していれば、運転者5の顔が車室41における右方を向いていると判断する。プロセッサ32は、中心位置Cから見て重心位置Gが基準方向RDよりも左方に位置していれば、運転者5の顔が車室41における下方を向いていると判断する。
【0090】
このような構成によれば、運転者5の顔がTOFカメラ2に面していない場合においても、具体的な顔の向きを判別できる。
【0091】
これまで説明した第一の処理例と第二の処理例においては、顔方向判別装置3の入力インターフェース31は、運転者5の頭部51の三次元空間における位置に係る情報を、画像データIDの一部としてTOFカメラ2から受け付けている。このような構成によれば、運転者5の頭部51に係る位置情報を、画像情報とともに効率的に取得できる。しかしながら、画像情報を出力する撮像装置と位置情報を出力する装置は、異なっていてもよい。後者の装置としては、LiDAR(Light Detection and Ranging)センサなどが例示されうる。
【0092】
図12は、プロセッサ32により行なわれうる運転者5の顔の向きを判別する処理の第三の例を示している。
【0093】
プロセッサ32は、まず入力インターフェース31を通じて画像データIDを取得する(STEP531)。
【0094】
続いてプロセッサ32は、画像データIDにおいて撮像された運転者5の頭部51が含まれる可能性がある検出領域DAを設定する(STEP532)。検出領域DAの特定は、適宜の画像認識技術を用いて行なわれうる。
図13の(A)は、画像データID中に特定された検出領域DAの一例を示している。検出領域DAは、第一検出領域の一例である。
【0095】
続いてプロセッサ32は、識別器を用い、検出領域DAに含まれる撮像された運転者5の顔がTOFカメラ2に面しているか否かを判別する(STEP533)。識別器は、画像の輝度に関する特徴量に基づいて撮像された運転者5の顔の向きを判別するために、少なくとも撮像された頭部を含む画像を教師データとして学習することによって構成されている。識別器は、プロセッサ32により実行される処理アルゴリズムの呼称である。
【0096】
本実施形態においては、特徴量としてHOG(Histogram of Oriented Gradients)が検出される。HOGは、画像の局所的な輝度の勾配方向の分布を示す特徴量である。
【0097】
図13の(B)は、検出領域DAの具体的な構成を例示している。検出領域DAの大きさは、TOFカメラ2によって取得される画像に含まれうる運転者5の頭部51の大きさに基づいて定められている。例えば、画像において頭部51がとりうる最大の大きさが48×56画素である場合、画像データID中に設定される検出領域DAの大きさもまた、48×56画素とされうる。
【0098】
検出領域DA内には検出セルDCと検出ブロックDBが定義される。検出セルDCは、HOGを検出するために設定される領域の最小単位である。本実施形態においては、縦方向に延びる運転者5の顔のエッジを検出しやすくするために、検出セルDCは縦長の形状を有している。例えば、検出セルDCの大きさは4×8画素とされうる。検出ブロックDBは、3×3セルの大きさを有する領域である。
【0099】
HOGの検出は、検出ブロックDBに含まれる9つの検出セルDCの各々について行なわれる。すなわち、
図13の(B)に示される検出領域DAの上左隅に位置している検出ブロックDBについて、9セル分のHOGが検出される。検出ブロックDBに含まれる全ての検出セルDCについてHOGが検出されると、検出領域DA内における検出ブロックDBの位置が変更される。具体的には、右方向へ4画素分(すなわち1セル分)だけ検出ブロックDBが移動する。移動後の位置における検出ブロックDBに含まれる全ての検出セルDCについて、同様にして9セル分のHOGが検出される。
【0100】
このように検出ブロックDBが右方へ移動しながら、HOGの検出が繰り返される。検出ブロックDBが検出領域DAの右端に到達すると、下方向へ8画素分(すなわち1セル分)だけ移動がなされ、検出領域DA内を左方へ移動しながら、HOGの検出が繰り返される。検出ブロックDBが検出領域DAの左端に到達すると、さらに下方向へ8画素分の移動がなされ、再度検出領域DA内を右方へ移動しながら、HOGの検出が繰り返される。検出ブロックDBが検出領域DAの下右隅に到達するまで上記の処理が繰り返される。
【0101】
検出ブロックDBを移動させながらのHOGの検出が完了すると、識別器による識別がなされる。識別器は、TOFカメラ2に面した顔を含む画像とTOFカメラ2に面していない顔を含む画像を教師データとした機械学習を通じて、運転者5の顔がTOFカメラ2に面していない可能性に対応する尤度を判断するように構成されている。本実施形態においては、識別器は、RBFカーネル関数を用いたソフトマージンSVM(サポートベクターマシン)である。尤度は、SVMスコアとして算出される。
【0102】
具体的には、プロセッサ32は、検出領域DAについて得られたHOGの分布を識別器に入力する。識別器は、検出領域DAについてSVMスコアを算出する。算出されたSVMスコアが所定値未満である場合(
図12のSTEP533においてNO)、プロセッサ32は、検出領域DA内の画像における運転者5の顔がTOFカメラ2に面している可能性が高いと判断する(STEP534)。検出領域DAについて得られたこの判別結果は、第一判別結果の一例である。
【0103】
算出されたSVMスコアが所定値以上である場合(
図12のSTEP533においてYES)、プロセッサ32は、検出領域DA内の画像における運転者5の顔がTOFカメラ2に面していないとの判断を検証する処理を行なう。
【0104】
具体的には、プロセッサ32は、検出領域DAと一部が重なる位置に比較領域CAを設定する(STEP535)。比較領域CAは、検出領域DAと同じ大きさを有している。比較領域CAもまた、
図13の(B)に示される検出領域DAと同じ構成を有している。比較領域CAは、第二検出領域の一例である。
【0105】
例えば、
図14の(A)に示されるように、検出領域DAを上方へ8画素分オフセットさせた位置に対応するように比較領域CAが設定される。このように設定された比較領域CAに含まれる画像に対して、前述したHOGの検出および識別器との照合に基づくSVMスコアの算出が行なわれる。プロセッサ32は、算出されたSVMスコアに基づいて、比較領域CA内の画像における運転者5の顔がTOFカメラに面していない可能性を判断する。比較領域CAについて得られたこの判別結果は、第二判別結果の一例である。
【0106】
続いてプロセッサ32は、
図14の(B)に示されるように、
図14の(A)に示される比較領域CAから右方へ8画素分オフセットさせた位置に比較領域CAを設定する。プロセッサ32は、上記と同様にして比較領域CA内の画像における運転者5の顔がTOFカメラに面していない可能性を判断する。
【0107】
図14の(C)は、
図14の(B)に示される比較領域CAから下方へ8画素分オフセットさせた位置に設定された比較領域CAを示している。
図14の(D)は、
図14の(C)に示される比較領域CAから下方へ8画素分オフセットさせた位置に設定された比較領域CAを示している。
図14の(E)は、
図14の(D)に示される比較領域CAから左方へ8画素分オフセットさせた位置に設定された比較領域CAを示している。
図14の(F)は、
図14の(E)に示される比較領域CAから左方へ8画素分オフセットさせた位置に設定された比較領域CAを示している。
図14の(G)は、
図14の(F)に示される比較領域CAから上方へ8画素分オフセットさせた位置に設定された比較領域CAを示している。
図14の(H)は、
図14の(G)に示される比較領域CAから上方へ8画素分オフセットさせた位置に設定された比較領域CAを示している。
【0108】
すなわち、プロセッサ32は、検出領域DAと一部が重なるように設定された計8個の比較領域CAの各々について、比較領域CA内の画像における運転者5の顔がTOFカメラに面していない可能性を判断する。
【0109】
続いてプロセッサ32は、「運転者5の顔がTOFカメラ2に面していない」と判断された比較領域CAの数が所定値以上であるかを判断する(STEP536)。所定値は、例えば1とされうる。換言すると、プロセッサ32は、第一判別結果と一致している第二判別結果の数が所定値以上であるかを判断する。
【0110】
「運転者5の顔がTOFカメラ2に面していない」と判断された比較領域CAの数が所定値以上である場合(STEP536においてYES)、プロセッサ32は、第一判別結果を有効にする。すなわち、運転者5の顔はTOFカメラ2に面していないと判断される(STEP537)。「運転者5の顔がTOFカメラ2に面していない」と判断された比較領域CAの数が所定値未満である場合(STEP536においてNO)、プロセッサ32は、第一判別結果を無効にする。すなわち、運転者5の顔はTOFカメラ2に面していると判断される(STEP534)。
【0111】
上記の例においては、
図14の(A)から(H)に示された8個の比較領域CAについて第二判別結果が得られた後、第一判別結果と第二判別結果の一致数が判断されている。しかしながら、設定される比較領域CAの数は適宜に変更されうる。また、設定された比較領域CAについて第二判別結果が得られる度に上記の所定値との比較がなされ、第一判別結果と一致した第二判別結果の数が所定値に達した時点で比較領域CAの設定を中止してもよい。この場合、直ちにSTEP537への移行がなされる。
【0112】
上記のような構成によれば、撮像された頭部を含む画像を教師データとして学習した識別器を用いて撮像された運転者5の顔の向きが判別され、さらにその判別結果についての検証もなされるので、顔がカメラに面していない乗員についても顔の向きの判別精度を高めることができる。
【0113】
運転者5の顔がTOFカメラに面していないと判断された場合(STEP537)、プロセッサ32は、
図9と
図11を参照して説明した運転者5の顔の向きを特定する処理をさらに行ないうる(STEP538)。すなわち、プロセッサ32は、検出領域DAに含まれる運転者5の頭部51に対応する頭部データサブセットHSDを画像データIDから抽出し、頭部51の中心位置Cを推定する。続いてプロセッサ32は、推定された中心位置Cと頭部データサブセットHSDに含まれる複数の画素データセット(点要素)の重心位置Gとの位置関係に基づいて、運転者5の顔が車室41における右方と下方のいずれを向いているのかが特定する。
【0114】
このような構成によれば、運転者5の顔がTOFカメラ2に面していない場合においても、具体的な顔の向きを判別できる。
【0115】
これまで説明した第三の処理例において、顔方向判別装置3の入力インターフェース31は、運転者5の頭部51の三次元空間における位置に係る情報を、画像データIDの一部としてTOFカメラ2から受け付けている。このような構成によれば、STEP538のような処理を遂行するために、運転者5の頭部51に係る位置情報を画像情報とともに効率的に取得できる。しかしながら、STEP538のように運転者5の頭部51に係る位置情報を必要とする処理を行なわないのであれば、TOFカメラ2に代えて画像データIDのみを出力する撮像装置が使用されうる。
【0116】
図1に示されるように、顔方向判別装置3は、出力インターフェース33を備えている。出力インターフェース33は、判別された運転者5の顔の向きを示すデータFDを出力しうる。出力されたデータFDは、後段の認識処理において利用される。当該認識処理においては、例えば、当該データが示す顔の向きの経時変化がモニタされることにより、運転者5の頭部51の向き、傾き、動きなどが認識されうる。これにより、運転中における運転者5の脇見、居眠り、発作による異常挙動などが検知されうる。
【0117】
上述したプロセッサ32の機能は、汎用マイクロプロセッサにより実現されうる。汎用マイクロプロセッサとしては、CPU、MPU、GPUが例示されうる。汎用メモリとしては、ROMやRAMが例示されうる。この場合、ROMには、上述した処理を実行するコンピュータプログラムが記憶されうる。ROMは、コンピュータプログラムを記憶している記憶媒体の一例である。プロセッサ32は、ROM上に記憶されたプログラムの少なくとも一部を指定してRAM上に展開し、RAMと協働して上述した処理を実行する。プロセッサ32は、上述した処理を実現するコンピュータプログラムを実行可能なマイクロコントローラ、ASIC、FPGAなどの専用集積回路によって実現されてもよい。プロセッサ32は、汎用マイクロプロセッサと専用集積回路の組合せによって実現されてもよい。
【0118】
図1に示されるように、顔方向判別装置3は、ネットワーク6を介して外部サーバ7と通信可能に構成されうる。この場合、上述した処理を実行するコンピュータプログラムは、外部サーバ7からネットワーク6を介してダウンロードされうる。外部サーバ7は、コンピュータプログラムを記憶している記憶媒体の一例である。
【0119】
上記の実施形態は、本発明の理解を容易にするための例示にすぎない。上記の実施形態に係る構成は、本発明の趣旨を逸脱しなければ、適宜に変更・改良されうる。
【0120】
上記の実施形態においては、画像の輝度に関する特徴量として、エッジの輝度勾配に基づいて物体の大まかな形状を表現可能なHOGを用いて頭部の外形状を捉えている。しかしながら、画像の局所的な明暗差に対応するHaar-Likeや、画像の局所的な輝度の分布に対応するLBP(Local Binary Pattern)を上記の特徴量として用いてもよい。
【0121】
上記の実施形態においては、汎化性能が比較的高いSVMを識別器として使用している。しかしながら、ランダムフォレストやパーセプトロンを識別器として使用してもよい。
【0122】
上記の実施形態においては、「TOFカメラ2に面していない顔の向き」は、車室41における右方と下方である。しかしながら、「TOFカメラ2に面していない顔の向き」は、TOFカメラ2と運転席の位置関係に応じて変わりうる。例えば、車室41の左側に運転席が配置されている車両の場合、TOFカメラ2は、右上方から運転者5の画像を取得する。この場合、「TOFカメラ2に面していない顔の向き」は、車室41における左方と下方である。
【0123】
上記の実施形態においては、車室41内における撮像された運転者5の顔の向きが判別に供されている。しかしながら、TOFカメラ2を適宜に配置することにより、撮像された他の乗員の顔の向きが判別に供されてもよい。
【符号の説明】
【0124】
2:TOFカメラ、3:顔方向判別装置、31:入力インターフェース、32:プロセッサ、41:車室、5:運転者、51:頭部、7:外部サーバ、ID:画像データ、PD:画素データセット、HSD:頭部データサブセット、C:頭部の中心位置、G:複数の点要素の重心位置、S:球体、DA:検出領域、CA:比較領域