IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ NECソリューションイノベータ株式会社の特許一覧 ▶ 株式会社東海理化電機製作所の特許一覧

特許7279892顔向き検出装置、顔向き検出方法、及びプログラム
<>
  • 特許-顔向き検出装置、顔向き検出方法、及びプログラム 図1
  • 特許-顔向き検出装置、顔向き検出方法、及びプログラム 図2
  • 特許-顔向き検出装置、顔向き検出方法、及びプログラム 図3
  • 特許-顔向き検出装置、顔向き検出方法、及びプログラム 図4
  • 特許-顔向き検出装置、顔向き検出方法、及びプログラム 図5
  • 特許-顔向き検出装置、顔向き検出方法、及びプログラム 図6
  • 特許-顔向き検出装置、顔向き検出方法、及びプログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-15
(45)【発行日】2023-05-23
(54)【発明の名称】顔向き検出装置、顔向き検出方法、及びプログラム
(51)【国際特許分類】
   G06T 7/70 20170101AFI20230516BHJP
   G06T 7/521 20170101ALI20230516BHJP
   G06T 7/00 20170101ALI20230516BHJP
【FI】
G06T7/70 B
G06T7/521
G06T7/00 660A
【請求項の数】 12
(21)【出願番号】P 2019024017
(22)【出願日】2019-02-13
(65)【公開番号】P2020135076
(43)【公開日】2020-08-31
【審査請求日】2022-01-07
(73)【特許権者】
【識別番号】000232092
【氏名又は名称】NECソリューションイノベータ株式会社
(73)【特許権者】
【識別番号】000003551
【氏名又は名称】株式会社東海理化電機製作所
(74)【代理人】
【識別番号】110002044
【氏名又は名称】弁理士法人ブライタス
(72)【発明者】
【氏名】関原 忠
(72)【発明者】
【氏名】深谷 安利
(72)【発明者】
【氏名】榊原 将城
(72)【発明者】
【氏名】名和 佑記
(72)【発明者】
【氏名】多田 圭吾
(72)【発明者】
【氏名】原田 久光
【審査官】片岡 利延
(56)【参考文献】
【文献】特開2001-101429(JP,A)
【文献】特開2017-091063(JP,A)
【文献】塗壁悠治,海老澤嘉伸,瞳孔と鼻孔の三次元位置による顔の方向検出,2005年映像情報メディア学会年次大会,2005年
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/70
G06T 7/521
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
人の顔を含む部分の3次元点群データを取得する、データ取得部と、
取得された前記3次元点群データから、前記顔の部品に対応する領域を特定する、部品特定部と、
特定された前記領域全体から、任意の3つ以上の点を抽出し、抽出する度に、抽出した点を含む仮平面を設定する、仮平面設定部と、
設定された前記仮平面それぞれ毎に、当該仮平面が前記顔の面に相当する可能性を示すスコアを算出し、算出した前記仮平面それぞれの前記スコアの値に基づいて、1つの前記仮平面を選択する、仮平面選択部と、
選択された前記仮平面の法線の方向を前記顔の向きとして検出する、顔向き検出部と、を備え
前記仮平面選択部が、前記仮平面それぞれ毎に、当該仮平面とそれに含まれない点との距離に基づいて、当該仮平面に含まれない点それぞれに、前記距離が小さい程、値が小さくなるようにスコアを付加し、更に、当該仮平面に含まれない点それぞれのスコアを合計して、当該仮平面の合計スコアを算出し、算出した前記合計スコアの値に基づいて、1つの前記仮平面を選択する、
ことを特徴とする顔向き検出装置。
【請求項2】
請求項に記載の顔向き検出装置であって、
前記仮平面選択部が、前記仮平面それぞれ毎に、当該仮平面に含まれない点それぞれに、スコアを付加する際に、前記距離に応じた重みを適用する、
ことを特徴とする顔向き検出装置。
【請求項3】
請求項1に記載の顔向き検出装置であって、
前記部品特定部が、前記顔の目に対応する領域、鼻に対応する領域、及び口に対応する領域のうちの少なくとも1つを特定し、
前記仮平面設定部が、特定された、各領域を合わせた領域から、任意の3点を抽出して、前記仮平面を設定する、
ことを特徴とする顔向き検出装置。
【請求項4】
請求項1に記載の顔向き検出装置であって、
前記3次元点群データが、被写体までの距離を画素毎に測定可能な撮像装置を用いて得られたデータである、
ことを特徴とする顔向き検出装置。
【請求項5】
(a)人の顔を含む部分の3次元点群データを取得する、ステップと、
(b)取得された前記3次元点群データから、前記顔の部品に対応する領域を特定する、ステップと、
(c)特定された前記領域全体から、任意の3つ以上の点を抽出し、抽出する度に、抽出した点を含む仮平面を設定する、ステップと、
(d)設定された前記仮平面それぞれ毎に、当該仮平面が前記顔の面に相当する可能性を示すスコアを算出し、算出した前記仮平面それぞれの前記スコアの値に基づいて、1つの前記仮平面を選択する、ステップと、
(e)選択された前記仮平面の法線の方向を前記顔の向きとして検出する、ステップと、を有し、
前記(d)のステップにおいて、前記仮平面それぞれ毎に、当該仮平面とそれに含まれない点との距離に基づいて、当該仮平面に含まれない点それぞれに、前記距離が小さい程、値が小さくなるようにスコアを付加し、更に、当該仮平面に含まれない点それぞれのスコアを合計して、当該仮平面の合計スコアを算出し、算出した前記合計スコアの値に基づいて、1つの前記仮平面を選択する、
ことを特徴とする顔向き検出方法。
【請求項6】
請求項に記載の顔向き検出方法であって、
前記(d)のステップにおいて、前記仮平面それぞれ毎に、当該仮平面に含まれない点それぞれに、スコアを付加する際に、前記距離に応じた重みを適用する、
ことを特徴とする顔向き検出方法。
【請求項7】
請求項に記載の顔向き検出方法であって、
前記(b)のステップにおいて、前記顔の目に対応する領域、鼻に対応する領域、及び口に対応する領域のうちの少なくとも1つを特定し、
前記(c)のステップにおいて、特定された、各領域を合わせた領域から、任意の3点を抽出して、前記仮平面を設定する、
ことを特徴とする顔向き検出方法。
【請求項8】
請求項に記載の顔向き検出方法であって、
前記3次元点群データが、被写体までの距離を画素毎に測定可能な撮像装置を用いて得られたデータである、
ことを特徴とする顔向き検出方法。
【請求項9】
コンピュータに、
(a)人の顔を含む部分の3次元点群データを取得する、ステップと、
(b)取得された前記3次元点群データから、前記顔の部品に対応する領域を特定する、ステップと、
(c)特定された前記領域全体から、任意の3つ以上の点を抽出し、抽出する度に、抽出した点を含む仮平面を設定する、ステップと、
(d)設定された前記仮平面それぞれ毎に、当該仮平面が前記顔の面に相当する可能性を示すスコアを算出し、算出した前記仮平面それぞれの前記スコアの値に基づいて、1つの前記仮平面を選択する、ステップと、
(e)選択された前記仮平面の法線の方向を前記顔の向きとして検出する、ステップと、を実行させ
前記(d)のステップにおいて、前記仮平面それぞれ毎に、当該仮平面とそれに含まれない点との距離に基づいて、当該仮平面に含まれない点それぞれに、前記距離が小さい程、値が小さくなるようにスコアを付加し、更に、当該仮平面に含まれない点それぞれのスコアを合計して、当該仮平面の合計スコアを算出し、算出した前記合計スコアの値に基づいて、1つの前記仮平面を選択する、
プログラム。
【請求項10】
請求項に記載のプログラムであって、
前記(d)のステップにおいて、前記仮平面それぞれ毎に、当該仮平面に含まれない点それぞれに、スコアを付加する際に、前記距離に応じた重みを適用する、
ことを特徴とするプログラム。
【請求項11】
請求項に記載のプログラムであって、
前記(b)のステップにおいて、前記顔の目に対応する領域、鼻に対応する領域、及び口に対応する領域のうちの少なくとも1つを特定し、
前記(c)のステップにおいて、特定された、各領域を合わせた領域から、任意の3点を抽出して、前記仮平面を設定する、
ことを特徴とするプログラム。
【請求項12】
請求項に記載のプログラムであって、
前記3次元点群データが、被写体までの距離を画素毎に測定可能な撮像装置を用いて得られたデータである、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像から人の顔の向きを検出するための、顔向き検出装置、及び顔向き検出方法に関し、更には、これらを実現するためのプログラムに関する。
【背景技術】
【0002】
近年、映像監視、自動車といった種々の分野において、画像から人の顔を検出する顔検出処理が行われている。特に、映像監視の分野では、侵入者を特定するために、顔検出処理が行われている。また、自動車の分野においては、運転手の状態を監視して、安全運転を支援するために、顔検出処理が行われている。
【0003】
例えば、特許文献1は、顔検出処理を行う装置を開示している。特許文献1に開示された装置は、まず、映像データから人物の領域を検出し、検出した領域の特徴量と、予め登録されている顔の特徴量とを比較することで、顔の領域を特定する。また、特許文献1に開示された装置は、顔の領域に、予め登録されている顔の各部品のテンプレートをマッチングすることで、顔の各部品を特定する。更に、特許文献1に開示された装置は、特定した部品の画面上での位置関係から、実空間における顔の向きを推定する。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2006-228061号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、特許文献1に開示された装置では、このように顔の部品の画面上での位置関係によって実空間における顔の向きを推定することから、顔の向きを正確に推定するためには、カメラを人の顔の正面に配置する必要がある。
【0006】
しかしながら、実際には、カメラを人の顔の正面に配置することは難しく、特に、自動車の分野では、カメラの位置は車内の形状に制約を受けるため、極めて困難である。このため、特許文献1に開示された装置では、カメラの位置が制約される場合に、顔の向きを正確に推定できないという問題がある。
【0007】
本発明の目的の一例は、上記問題を解消し、カメラの取り付け位置が制約を受ける場合であっても、顔の向きを検出し得る、顔向き検出装置、顔向き検出方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【0008】
上記目的を達成するため、本発明の一側面における顔向き検出装置は、
人の顔を含む部分の3次元点群データを取得する、データ取得部と、
取得された前記3次元点群データから、前記顔の部品に対応する領域を特定する、部品特定部と、
特定された前記領域全体から、任意の3つ以上の点を抽出し、抽出する度に、抽出した点を含む仮平面を設定する、仮平面設定部と、
設定された前記仮平面それぞれ毎に、当該仮平面が前記顔の面に相当する可能性を示すスコアを算出し、算出した前記仮平面それぞれの前記スコアの値に基づいて、1つの前記仮平面を選択する、仮平面選択部と、
選択された前記仮平面の法線の方向を前記顔の向きとして検出する、顔向き検出部と、
を備えている、
ことを特徴とする。
【0009】
また、上記目的を達成するため、本発明の一側面における顔向き検出方法は、
(a)人の顔を含む部分の3次元点群データを取得する、ステップと、
(b)取得された前記3次元点群データから、前記顔の部品に対応する領域を特定する、ステップと、
(c)特定された前記領域全体から、任意の3つ以上の点を抽出し、抽出する度に、抽出した点を含む仮平面を設定する、ステップと、
(d)設定された前記仮平面それぞれ毎に、当該仮平面が前記顔の面に相当する可能性を示すスコアを算出し、算出した前記仮平面それぞれの前記スコアの値に基づいて、1つの前記仮平面を選択する、ステップと、
(e)選択された前記仮平面の法線の方向を前記顔の向きとして検出する、ステップと、を有する、
ことを特徴とする。
【0010】
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、
コンピュータに、
(a)人の顔を含む部分の3次元点群データを取得する、ステップと、
(b)取得された前記3次元点群データから、前記顔の部品に対応する領域を特定する、ステップと、
(c)特定された前記領域全体から、任意の3つ以上の点を抽出し、抽出する度に、抽出した点を含む仮平面を設定する、ステップと、
(d)設定された前記仮平面それぞれ毎に、当該仮平面が前記顔の面に相当する可能性を示すスコアを算出し、算出した前記仮平面それぞれの前記スコアの値に基づいて、1つの前記仮平面を選択する、ステップと、
(e)選択された前記仮平面の法線の方向を前記顔の向きとして検出する、ステップと、を実行させる、ことを特徴とする。
【発明の効果】
【0011】
以上のように、本発明によれば、カメラの取り付け位置が制約を受ける場合であっても、顔の向きを検出することができる。
【図面の簡単な説明】
【0012】
図1図1は、本発明の実施の形態における顔向き検出装置の構成を示すブロック図である。
図2図2は、本発明の実施の形態における顔向き検出装置を用いたシステムの一例を示す図である。
図3図3は、本発明の実施の形態において利用される3次元点群データの一例を示す図である。
図4図4は、本発明の実施の形態において選択された仮平面の一例を3次元点群データと共に示す図である。
図5図5(a)~(c)は、本実施の形態における顔向き検出装置が行う処理を説明する図であり、それぞれ一連の処理を示している。
図6図6は、本発明の実施の形態における顔向き検出装置の動作を示すフロー図である。
図7図7は、本発明の実施の形態における顔向き検出装置を実現するコンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【0013】
(実施の形態)
以下、本発明の実施の形態における、顔向き検出装置、顔向き検出方法、及びプログラムについて、図1図7を参照しながら説明する。
【0014】
[装置構成]
最初に、図1を用いて、本発明の実施の形態における顔向き検出装置の構成について説明する。図1は、本発明の実施の形態における顔向き検出装置の構成を示すブロック図である。
【0015】
図1に示す本実施の形態における顔向き検出装置10は、人の顔を含む部分の3次元点群データから、顔の向きを検出するための装置である。図1に示すように、本実施の形態における顔向き検出装置10は、データ取得部11と、部品特定部12と、仮平面設定部13と、仮平面選択部14と、顔向き検出部15とを備えている。
【0016】
データ取得部11は、顔向き検出装置10の外部から、3次元点群データを取得する。部品特定部12は、データ取得部11によって取得された3次元点群データから、顔の部品(目、鼻、口等)に対応する領域を特定する。
【0017】
仮平面設定部13は、部品特定部12によって特定された領域全体から、任意の3つ以上の点を抽出し、抽出する度に、抽出した点を含む仮平面を設定する。
【0018】
仮平面選択部14は、まず、仮平面設定部13によって設定された仮平面それぞれ毎に、各仮平面が顔の面に相当する可能性を示すスコアを算出する。続いて、仮平面選択部14は、算出した仮平面それぞれのスコアの値に基づいて、1つの仮平面を選択する。なお、本明細書では、選択された1つの仮平面を「顔平面」と表記する。
【0019】
顔向き検出部15は、仮平面選択部14によって選択された仮平面の法線の方向を顔の向きとして検出する。
【0020】
このように、本実施の形態では、顔の部品の位置関係ではなく、顔の正面に相当する面から顔の向きを検出することができる。このため、本実施の形態によれば、カメラの取り付け位置が制約を受ける場合であっても、顔の向きを検出することができる。
【0021】
続いて、図2図5を用いて、本実施の形態における顔向き検出装置10の構成及び機能についてより具体的に説明する。図2は、本発明の実施の形態における顔向き検出装置を用いたシステムの一例を示す図である。
【0022】
図2の例では、顔向き検出装置10は、車両21に搭載される安全運転支援システム20の一部を構成している。安全運転支援システム20は、顔向き検出装置10によって検出された運転手の顔の向きに基づいて、運転手の状態を監視して、安全運転を支援するシステムである。例えば、安全運転支援システム20は、運転手の顔の向きが下向きであり、その状態が一定時間続くと、運転手が居眠りをしていると判定し、運転手を覚醒させるための処理を行う。
【0023】
また、顔向き検出装置10は、本実施の形態では、撮像装置30に接続されている。撮像装置30は、被写体までの距離を画素毎に測定可能な装置である。撮像装置30の具体例としては、TOF(Time-of-Flight)カメラが挙げられる。TOFカメラは、被写体に向けて、近赤外光等の光を照射し、照射した光が被写体で反射されて戻ってくるまでの時間を計測して、画素毎に、被写体までの距離を測定し、測定した画素毎の距離を特定するデータを出力する。本実施の形態では、この出力されたデータが、3次元点群データとな
る。
【0024】
データ取得部11は、本実施の形態では、撮像装置(TOFカメラ)30が出力したデータを、3次元点群データとして取得する。図3は、本発明の実施の形態において利用される3次元点群データの一例を示す図である。図3の例では、被写体は運転手であり、撮像装置30は車内に取り付けられている。また、図3の例では、3次元点群データは、運転手の斜め上方から撮影することによって得られている。
【0025】
部品特定部12は、本実施の形態では、図3に示すように、3次元点群データにおいて、顔の目に対応する領域、鼻に対応する領域、及び口に対応する領域、それぞれを特定する。図3において、目に対応する領域は○印で示され、鼻に対応する領域は△印で示され、口に対応する領域は□印で示されている。なお、図3において、各領域を示す印は、説明の便宜上付与したものであり、各領域の形状は任意である。
【0026】
なお、3次元点群データに、目、鼻、及び口の全てが存在していない場合もある。このため、部品特定部12は、目に対応する領域、鼻に対応する領域、及び口に対応する領域のうちの少なくとも1つを特定できれば良い。
【0027】
具体的には、部品特定部12は、例えば、Viola & Jones法に沿って、予め登録されている「目」、「鼻」、「口」の特徴量を用いたラスタスキャンによって、目、鼻、口の特徴量を持った点群が存在しているボクセル群を特定する。ボクセルは、被写体である運転手が存在する空間を複数個に区切ることで得られる立方体である。よって、上記のボクセル群の特定により、目に対応する領域、鼻に対応する領域、及び口に対応する領域、それぞれが特定される。なお、Viola & Jones法は、下記の参照文献に開示されている。
【0028】
参照文献:
Viola, P and Jones, M,"Rapid object detection using a boosted cascade of simple features", CVPR,vol.1,pp.511-518
【0029】
仮平面設定部13は、本実施の形態では、これらの特定された3つの領域を合わせた領域から、任意の3点を抽出し、この3点を抽出する度に、抽出した3点を含む仮平面を設定する。即ち、仮平面設定部13は、特定された3つの領域を合わせた領域から、一度に一組の点群として3点を抽出し、抽出した点群毎に仮平面を設定する。なお、任意の3点は、目に対応する領域、鼻に対応する領域、口に対応する領域それぞれから1点ずつ抽出されている必要はない。
【0030】
仮平面選択部14は、本実施の形態では、仮平面毎に、仮平面とそれに含まれない点との距離に基づいて、この仮平面に含まれない点それぞれに、距離が小さい程、値が小さくなるようにスコアを付加し、各点のスコアを合計して、この仮平面の合計スコアを算出する。このスコアが小さい程、その仮平面が、顔の正面に近似していることになる。そして、仮平面選択部14は、算出した各仮平面の合計スコアの値が最も小さい1つの仮平面(顔平面)を選択する。
【0031】
図4は、本発明の実施の形態において選択された仮平面の一例を3次元点群データと共に示す図である。図4に示すように、選択された仮平面(顔平面)Aは、顔の正面を最も近似した面となっている。なお、図4の例では、3次元点群データは、図3の例と異なり、運転手の上方から撮影して得られている。
【0032】
また、顔向き検出部15は、本実施の形態では、図4に示すように、仮平面選択部14によって選択された仮平面(顔平面)Aの法線の方向を顔の向きとして検出する。
【0033】
ここで、部品特定部12、仮平面設定部13、仮平面選択部14、及び顔向き検出部15による処理について、図5を用いて説明する。図5(a)~(c)は、本実施の形態における顔向き検出装置が行う処理を説明する図であり、それぞれ一連の処理を示している。なお、仮平面は、実際は、3次元空間において設定されるが、図5(a)~(c)においては、説明のため、2次元座標上で示されている。
【0034】
図5(a)に示すように、部品特定部12は、3次元点群データ40において、目に対応する領域41、鼻に対応する領域42、及び口に対応する領域(図4においては図示せず)を特定する。
【0035】
そして、図5(a)に示すように、仮平面設定部13は、各領域を合わせた領域から、任意の3点を抽出する。また、図5(b)に示すように、仮平面設定部13は、抽出した点を含む仮平面43を設定する。図5(a)~(c)では、抽出された点は○で示され、抽出されなかった点は●で示されている。
【0036】
続いて、図5(c)に示すように、仮平面選択部14は、仮平面毎に、それに含まれる3点以外の点群について、平面との距離、即ち、平面との誤差を算出し、各点についての誤差の合計値を求め、これを、その仮平面のスコアとする。
【0037】
また、仮平面選択部14は、スコアの算出において、算出した距離(誤差)に応じて、Biweight推定法による重みを適用することによって、外れ値の影響を小さくすることができる。具体的には、この場合、仮平面から遠距離にある点を外れ値と仮定し、誤差0mmの点の重みを1.0、許容誤差より誤差の大きな点の重みを0.0とする。つまり、誤差が小さい点の重みを強く、誤差が大きい点の重みを弱くする。仮平面選択部14は、下記の数1及び数2に基づいて、スコアを算出する。
【0038】
下記の数1及び数2において、「e」は、i番目の点の誤差[mm]を示し、「w(e)」は、誤差eでの重みを示している。また、「aE」は、許容誤差[mm]である。
【0039】
【数1】
【0040】
【数2】
【0041】
[装置動作]
次に、本発明の実施の形態における顔向き検出装置10の動作について図6を用いて説明する。図6は、本発明の実施の形態における顔向き検出装置の動作を示すフロー図である。以下の説明においては、適宜図1図5を参照する。また、本実施の形態では、顔向き検出装置10を動作させることによって、顔向き検出方法が実施される。よって、本実
施の形態における顔向き検出方法の説明は、以下の顔向き検出装置の動作説明に代える。
【0042】
図6に示すように、最初に、データ取得部11は、本実施の形態では、撮像装置(TOFカメラ)30が出力したデータを、3次元点群データとして取得する(ステップA1)。
【0043】
次に、部品特定部12は、3次元点群データにおいて、顔の目に対応する領域、鼻に対応する領域、及び口に対応する領域、それぞれを特定する(ステップA2)。
【0044】
次に、仮平面設定部13は、ステップA2で特定された3つの領域を合わせた領域から、ランダムに3点を抽出し、抽出した3点を含む仮平面を設定する(ステップA3)。
【0045】
次に、仮平面設定部13は、設定した仮平面の数が設定値に到達したかどうかを判定する(ステップA4)。ステップA4の判定の結果、仮平面の数が設定値に到達していない場合は、仮平面設定部13は、再度ステップA3を実行する。
【0046】
一方、ステップA4の判定の結果、仮平面の数が設定値に到達している場合は、仮平面設定部13は、仮平面の設定を終了する。これにより、ステップA5が実行される。
【0047】
ステップA5では、仮平面選択部14が、ステップA3で設定された仮平面毎に、この仮平面とそれに含まれない点との距離に基づいて、この仮平面に含まれない点それぞれに、スコアを付加し、各点のスコアを合計して、この仮平面の合計スコアを算出する。
【0048】
次に、仮平面選択部14は、ステップA5で算出した各仮平面の合計スコアの値が最も小さい1つの仮平面(顔平面)を選択する(ステップA6)。
【0049】
次に、顔向き検出部15は、仮平面選択部14によって選択された仮平面(顔平面)Aの法線の方向を検出し、検出した法線の方向を顔の向きとする(ステップA7)。
【0050】
その後、顔向き検出部15は、検出した顔の向きを特定する情報を、安全運転支援システム20に出力する。これにより、安全運転支援システム20は、検出された運転手の顔の向きに基づいて、運転手の状態を監視して、安全運転を支援する。
【0051】
[実施の形態における効果]
このように、本実施の形態では、顔の部品の位置関係ではなく、顔の正面に相当する面から顔の向きを検出することができるので、カメラの取り付け位置が制約を受ける場合であっても、顔の向きを検出することができる。
【0052】
また、本実施の形態では、顔の正面に相当する面は、目、鼻、口の領域に存在する点群との距離が最も近くなるように選ばれる。更に、面の選択においては、点群データのノイズが除去されるように、点と面との距離に応じた重みも設定される。このため、選択された面と顔の正面との一致性は高く、本実施の形態によれば、精度良く顔の向きを検出できる。
【0053】
[プログラム]
本実施の形態におけるプログラムは、コンピュータに、図6に示すステップA1~A7を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態における顔向き検出装置10と顔向き検出方法とを実現することができる。この場合、コンピュータのプロセッサは、データ取得部11、部品特定部12、仮平面設定部13、仮平面選択部14、及び顔向き検出部15として機
能し、処理を行なう。また、コンピュータは、汎用のコンピュータであっても良いし、車両に搭載されたコンピュータであっても良い。
【0054】
また、本実施の形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、データ取得部11、部品特定部12、仮平面設定部13、仮平面選択部14、及び顔向き検出部15のいずれかとして機能しても良い。
【0055】
ここで、本実施の形態におけるプログラムを実行することによって、顔向き検出装置10を実現するコンピュータについて図7を用いて説明する。図7は、本発明の実施の形態における顔向き検出装置を実現するコンピュータの一例を示すブロック図である。
【0056】
図7に示すように、コンピュータ110は、CPU(Central Processing Unit)111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。また、コンピュータ110は、CPU111に加えて、又はCPU111に代えて、GPU(Graphics Processing Unit)、又はFPGA(Field-Programmable Gate Array)を備えていても良い。
【0057】
CPU111は、記憶装置113に格納された、本実施の形態におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであっても良い。
【0058】
また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
【0059】
データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
【0060】
また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記録媒体、又はCD-ROM(Compact Disk Read Only Memory)などの光学記録媒体が挙げられる。
【0061】
なお、本実施の形態における顔向き検出装置10は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、顔向き検出装置10は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
【0062】
上述した実施の形態の一部又は全部は、以下に記載する(付記1)~(付記15)によ
って表現することができるが、以下の記載に限定されるものではない。
【0063】
(付記1)
人の顔を含む部分の3次元点群データを取得する、データ取得部と、
取得された前記3次元点群データから、前記顔の部品に対応する領域を特定する、部品特定部と、
特定された前記領域全体から、任意の3つ以上の点を抽出し、抽出する度に、抽出した点を含む仮平面を設定する、仮平面設定部と、
設定された前記仮平面それぞれ毎に、当該仮平面が前記顔の面に相当する可能性を示すスコアを算出し、算出した前記仮平面それぞれの前記スコアの値に基づいて、1つの前記仮平面を選択する、仮平面選択部と、
選択された前記仮平面の法線の方向を前記顔の向きとして検出する、顔向き検出部と、を備えている、
ことを特徴とする顔向き検出装置。
【0064】
(付記2)
付記1に記載の顔向き検出装置であって、
前記仮平面選択部が、前記仮平面それぞれ毎に、当該仮平面とそれに含まれない点との距離に基づいて、当該仮平面に含まれない点それぞれに、前記距離が小さい程、値が小さくなるようにスコアを付加し、更に、当該仮平面に含まれない点それぞれのスコアを合計して、当該仮平面の合計スコアを算出し、算出した前記合計スコアの値に基づいて、1つの前記仮平面を選択する、
ことを特徴とする顔向き検出装置。
【0065】
(付記3)
付記2に記載の顔向き検出装置であって、
前記仮平面選択部が、前記仮平面それぞれ毎に、当該仮平面に含まれない点それぞれに、スコアを付加する際に、前記距離に応じた重みを適用する、
ことを特徴とする顔向き検出装置。
【0066】
(付記4)
付記1から3のいずれかに記載の顔向き検出装置であって、
前記部品特定部が、前記顔の目に対応する領域、鼻に対応する領域、及び口に対応する領域のうちの少なくとも1つを特定し、
前記仮平面設定部が、特定された、各領域を合わせた領域から、任意の3点を抽出して、前記仮平面を設定する、
ことを特徴とする顔向き検出装置。
【0067】
(付記5)
付記1から4のいずれかに記載の顔向き検出装置であって、
前記3次元点群データが、被写体までの距離を画素毎に測定可能な撮像装置を用いて得られたデータである、
ことを特徴とする顔向き検出装置。
【0068】
(付記6)
(a)人の顔を含む部分の3次元点群データを取得する、ステップと、
(b)取得された前記3次元点群データから、前記顔の部品に対応する領域を特定する、ステップと、
(c)特定された前記領域全体から、任意の3つ以上の点を抽出し、抽出する度に、抽出した点を含む仮平面を設定する、ステップと、
(d)設定された前記仮平面それぞれ毎に、当該仮平面が前記顔の面に相当する可能性を示すスコアを算出し、算出した前記仮平面それぞれの前記スコアの値に基づいて、1つの前記仮平面を選択する、ステップと、
(e)選択された前記仮平面の法線の方向を前記顔の向きとして検出する、ステップと、を有する、
ことを特徴とする顔向き検出方法。
【0069】
(付記7)
付記6に記載の顔向き検出方法であって、
前記(d)のステップにおいて、前記仮平面それぞれ毎に、当該仮平面とそれに含まれない点との距離に基づいて、当該仮平面に含まれない点それぞれに、前記距離が小さい程、値が小さくなるようにスコアを付加し、更に、当該仮平面に含まれない点それぞれのスコアを合計して、当該仮平面の合計スコアを算出し、算出した前記合計スコアの値に基づいて、1つの前記仮平面を選択する、
ことを特徴とする顔向き検出方法。
【0070】
(付記8)
付記7に記載の顔向き検出方法であって、
前記(d)のステップにおいて、前記仮平面それぞれ毎に、当該仮平面に含まれない点それぞれに、スコアを付加する際に、前記距離に応じた重みを適用する、
ことを特徴とする顔向き検出方法。
【0071】
(付記9)
付記6から8のいずれかに記載の顔向き検出方法であって、
前記(b)のステップにおいて、前記顔の目に対応する領域、鼻に対応する領域、及び口に対応する領域のうちの少なくとも1つを特定し、
前記(c)のステップにおいて、特定された、各領域を合わせた領域から、任意の3点を抽出して、前記仮平面を設定する、
ことを特徴とする顔向き検出方法。
【0072】
(付記10)
付記6から9のいずれかに記載の顔向き検出方法であって、
前記3次元点群データが、被写体までの距離を画素毎に測定可能な撮像装置を用いて得られたデータである、
ことを特徴とする顔向き検出方法。
【0073】
(付記11)
コンピュータに、
(a)人の顔を含む部分の3次元点群データを取得する、ステップと、
(b)取得された前記3次元点群データから、前記顔の部品に対応する領域を特定する、ステップと、
(c)特定された前記領域全体から、任意の3つ以上の点を抽出し、抽出する度に、抽出した点を含む仮平面を設定する、ステップと、
(d)設定された前記仮平面それぞれ毎に、当該仮平面が前記顔の面に相当する可能性を示すスコアを算出し、算出した前記仮平面それぞれの前記スコアの値に基づいて、1つの前記仮平面を選択する、ステップと、
(e)選択された前記仮平面の法線の方向を前記顔の向きとして検出する、ステップと、を実行させる、プログラム。
【0074】
(付記12)
付記11に記載のプログラムであって、
前記(d)のステップにおいて、前記仮平面それぞれ毎に、当該仮平面とそれに含まれない点との距離に基づいて、当該仮平面に含まれない点それぞれに、前記距離が小さい程、値が小さくなるようにスコアを付加し、更に、当該仮平面に含まれない点それぞれのスコアを合計して、当該仮平面の合計スコアを算出し、算出した前記合計スコアの値に基づいて、1つの前記仮平面を選択する、
ことを特徴とするプログラム。
【0075】
(付記13)
付記12に記載のプログラムであって、
前記(d)のステップにおいて、前記仮平面それぞれ毎に、当該仮平面に含まれない点それぞれに、スコアを付加する際に、前記距離に応じた重みを適用する、
ことを特徴とするプログラム。
【0076】
(付記14)
付記11から13のいずれかに記載のプログラムであって、
前記(b)のステップにおいて、前記顔の目に対応する領域、鼻に対応する領域、及び口に対応する領域のうちの少なくとも1つを特定し、
前記(c)のステップにおいて、特定された、各領域を合わせた領域から、任意の3点を抽出して、前記仮平面を設定する、
ことを特徴とするプログラム。
【0077】
(付記15)
付記11から14のいずれかに記載のプログラムであって、
前記3次元点群データが、被写体までの距離を画素毎に測定可能な撮像装置を用いて得られたデータである、
ことを特徴とするプログラム。
【産業上の利用可能性】
【0078】
以上のように、本発明によれば、カメラの取り付け位置が制約を受ける場合であっても、顔の向きを検出することができる。本発明は、顔の向きの検出が求められる、映像監視システム、車両用のシステム等に有用である。
【符号の説明】
【0079】
10 顔向き検出装置
11 データ取得部
12 部品特定部
13 仮平面設定部
14 仮平面選択部
15 顔向き検出部
20 安全運転支援システム
30 撮像装置
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス
図1
図2
図3
図4
図5
図6
図7