(57)【要約】【課題】カメラの取り付け位置が制約を受ける場合であっても、顔の部品の検出精度の低下を抑制し得る、顔検出装置、顔検出方法、及びプログラムを提供する。【解決手段】顔検出装置１０は、人の顔を含む部分の３次元点群データを取得する、データ取得部１１と、取得された３次元点群データにおいて、顔の各部品のうち削除対象となる部品に対応する第１の領域を特定する、領域特定部１２と、特定された第１の領域に存在する点を、不要な点として、３次元点群データから除去する、フィルタリング部１３と、不要な点が除去された３次元点群データを用いて、顔を検出する、顔検出部１４と、を備えている。【選択図】図１
2020135077.tif 000002
【特許請求の範囲】
【請求項１】
人の顔を含む部分の３次元点群データを取得する、データ取得部と、
取得された前記３次元点群データにおいて、前記顔の各部品のうち削除対象となる部品に対応する第１の領域を特定する、領域特定部と、
特定された前記第１の領域に存在する点を、不要な点として、前記３次元点群データから除去する、フィルタリング部と、
前記不要な点が除去された前記３次元点群データを用いて、前記顔を検出する、顔検出部と、
を備えている、
ことを特徴とする顔検出装置。
【請求項２】
請求項１に記載の顔検出装置であって、
前記フィルタリング部が、前記第１の領域に基準位置を設定し、前記３次元点群データにおける、設定した前記基準位置からの距離が設定範囲内となる点を、前記不要な点として、前記３次元点群データから除去する、
ことを特徴とする顔検出装置。
【請求項３】
請求項１または２に記載の顔検出装置であって、
前記領域特定部が、取得された前記３次元点群データにおいて、前記顔の各部品のうち顔検出の対象となる部品に対応する第２の領域も特定し、
前記フィルタリング部が、前記第１の領域から任意の３つ以上の点を点抽出し、抽出する度に、抽出した点を含む第１の仮平面と、前記第１の仮平面に直交し、且つ、前記第２の領域における３点以上の点からの距離が設定範囲内にある、第２の仮平面とを設定し、そして、設定した前記第１の仮平面とそれと同時に設定した前記第２の仮平面との組毎に、
これら仮平面が前記顔の面に相当する可能性を示すスコアを算出し、算出した前記スコアに基づいて、１つの組を選択し、
前記３次元点群データにおける、選択した前記組の前記第１の仮平面からの距離が設定範囲内となる点を、前記不要な点として、前記３次元点群データから除去する、
ことを特徴とする顔検出装置。
【請求項４】
請求項３に記載の顔検出装置であって、
前記領域特定部が、耳に対応する領域を前記第１の領域として特定し、目、鼻、口に対応する領域を前記第２の領域として特定し、
前記フィルタリング部が、前記組毎に、当該組を構成する前記第１の仮平面及び前記第２の仮平面のいずれにも含まれない点それぞれに、この点と前記第１の仮平面との距離、及びこの点と前記第２の仮平面との距離のうち、短い方の距離に基づいて、前記距離が小さい程、値が小さくなるようにスコアを付加し、更に、各点に付加したスコアを合計して、当該組の合計スコアを算出し、算出した前記合計スコアの値に基づいて、１つの組を選択する、
ことを特徴とする顔検出装置。
【請求項５】
請求項３または４に記載の顔検出装置であって、
前記顔検出部が、選択された組の前記第２の仮平面における法線の方向を前記顔の向きとして検出する、
ことを特徴とする顔検出装置。
【請求項６】
請求項１から５のいずれかに記載の顔検出装置であって、
前記３次元点群データが、画素毎に距離情報を取得可能な撮像装置を用いて得られたデ
ータである、
ことを特徴とする顔検出装置。
【請求項７】
（ａ）人の顔を含む部分の３次元点群データを取得する、ステップと、
（ｂ）取得された前記３次元点群データにおいて、前記顔の各部品のうち削除対象となる部品に対応する第１の領域を特定する、ステップと、
（ｃ）特定された前記第１の領域に存在する点を、不要な点として、前記３次元点群データから除去する、ステップと、
（ｄ）前記不要な点が除去された前記３次元点群データを用いて、前記顔を検出する、ステップと、
を有する、
ことを特徴とする顔検出方法。
【請求項８】
請求項７に記載の顔検出方法であって、
前記（ｃ）のステップにおいて、前記第１の領域に基準位置を設定し、前記３次元点群データにおける、設定した前記基準位置からの距離が設定範囲内となる点を、前記不要な点として、前記３次元点群データから除去する、
ことを特徴とする顔検出方法。
【請求項９】
請求項７または８に記載の顔検出方法であって、
前記（ｂ）のステップにおいて、取得された前記３次元点群データにおいて、前記顔の各部品のうち顔検出の対象となる部品に対応する第２の領域も特定し、
前記（ｃ）のステップにおいて、前記第１の領域から任意の３つ以上の点を点抽出し、抽出する度に、抽出した点を含む第１の仮平面と、前記第１の仮平面に直交し、且つ、前記第２の領域における３点以上の点からの距離が設定範囲内にある、第２の仮平面とを設定し、
そして、設定した前記第１の仮平面とそれと同時に設定した前記第２の仮平面との組毎に、
これら仮平面が前記顔の面に相当する可能性を示すスコアを算出し、算出した前記スコアに基づいて、１つの組を選択し、
前記３次元点群データにおける、選択した前記組の前記第１の仮平面からの距離が設定範囲内となる点を、前記不要な点として、前記３次元点群データから除去する、
ことを特徴とする顔検出方法。
【請求項１０】
請求項９に記載の顔検出方法であって、
前記（ｂ）のステップにおいて、耳に対応する領域を前記第１の領域として特定し、目、鼻、口に対応する領域を前記第２の領域として特定し、
前記（ｃ）のステップにおいて、前記組毎に、当該組を構成する前記第１の仮平面及び前記第２の仮平面のいずれにも含まれない点それぞれに、この点と前記第１の仮平面との距離、及びこの点と前記第２の仮平面との距離のうち、短い方の距離に基づいて、前記距離が小さい程、値が小さくなるようにスコアを付加し、更に、各点に付加したスコアを合計して、当該組の合計スコアを算出し、算出した前記合計スコアの値に基づいて、１つの組を選択する、
ことを特徴とする顔検出方法。
【請求項１１】
請求項９または１０に記載の顔検出方法であって、
前記（ｄ）のステップにおいて、選択された組の前記第２の仮平面における法線の方向を前記顔の向きとして検出する、
ことを特徴とする顔検出方法。
【請求項１２】
請求項７から１１のいずれかに記載の顔検出方法であって、
前記３次元点群データが、画素毎に距離情報を取得可能な撮像装置を用いて得られたデータである、
ことを特徴とする顔検出方法。
【請求項１３】
コンピュータに、
（ａ）人の顔を含む部分の３次元点群データを取得する、ステップと、
（ｂ）取得された前記３次元点群データにおいて、前記顔の各部品のうち削除対象となる部品に対応する第１の領域を特定する、ステップと、
（ｃ）特定された前記第１の領域に存在する点を、不要な点として、前記３次元点群データから除去する、ステップと、
（ｄ）前記不要な点が除去された前記３次元点群データを用いて、前記顔を検出する、ステップと、
を実行させる、プログラム。
【請求項１４】
請求項１３に記載のプログラムであって、
前記（ｃ）のステップにおいて、前記第１の領域に基準位置を設定し、前記３次元点群データにおける、設定した前記基準位置からの距離が設定範囲内となる点を、前記不要な点として、前記３次元点群データから除去する、
ことを特徴とするプログラム。
【請求項１５】
請求項１３または１４に記載のプログラムであって、
前記（ｂ）のステップにおいて、取得された前記３次元点群データにおいて、前記顔の各部品のうち顔検出の対象となる部品に対応する第２の領域も特定し、
前記（ｃ）のステップにおいて、前記第１の領域から任意の３つ以上の点を点抽出し、抽出する度に、抽出した点を含む第１の仮平面と、前記第１の仮平面に直交し、且つ、前記第２の領域における３点以上の点からの距離が設定範囲内にある、第２の仮平面とを設定し、
そして、設定した前記第１の仮平面とそれと同時に設定した前記第２の仮平面との組毎に、
これら仮平面が前記顔の面に相当する可能性を示すスコアを算出し、算出した前記スコアに基づいて、１つの組を選択し、
前記３次元点群データにおける、選択した前記組の前記第１の仮平面からの距離が設定範囲内となる点を、前記不要な点として、前記３次元点群データから除去する、
ことを特徴とするプログラム。
【請求項１６】
請求項１５に記載のプログラムであって、
前記（ｂ）のステップにおいて、耳に対応する領域を前記第１の領域として特定し、目、鼻、口に対応する領域を前記第２の領域として特定し、
前記（ｃ）のステップにおいて、前記組毎に、当該組を構成する前記第１の仮平面及び前記第２の仮平面のいずれにも含まれない点それぞれに、この点と前記第１の仮平面との距離、及びこの点と前記第２の仮平面との距離のうち、短い方の距離に基づいて、前記距離が小さい程、値が小さくなるようにスコアを付加し、更に、各点に付加したスコアを合計して、当該組の合計スコアを算出し、算出した前記合計スコアの値に基づいて、１つの組を選択する、
ことを特徴とするプログラム。
【請求項１７】
請求項１５または１６に記載のプログラムであって、
前記（ｄ）のステップにおいて、選択された組の前記第２の仮平面における法線の方向を前記顔の向きとして検出する、
ことを特徴とするプログラム。
【請求項１８】
請求項１３から１７のいずれかに記載のプログラムであって、
前記３次元点群データが、画素毎に距離情報を取得可能な撮像装置を用いて得られたデータである、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像から人の顔を検出ための、顔検出装置、及び顔検出方法に関し、更には、これらを実現するためのプログラムに関する。
【背景技術】
【０００２】
近年、映像監視、自動車といった種々の分野において、画像から人の顔を検出する顔検出処理が行われている。特に、映像監視の分野では、侵入者を特定するために、顔検出処理が行われている。また、自動車の分野においては、運転手の状態を監視して、安全運転を支援するために、顔検出処理が行われている。
【０００３】
例えば、特許文献１は、顔検出処理を行う装置を開示している。特許文献１に開示された装置は、まず、映像データから人物の領域を検出し、検出した領域の特徴量と、予め登録されている顔の特徴量とを比較することで、顔の領域を特定する。また、特許文献１に開示された装置は、顔の領域に、予め登録されている目、鼻、口のテンプレートをマッチングすることで、目、鼻、口の各部品を検出する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２２８０６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、特許文献１に開示された装置では、このようにテンプレートのマッチングによって顔の部品の検出を行っているが、この検出方法では、検出に必要がない余分な部品が映像に映っている場合に、検出精度が低下するという問題が発生する。また、この問題は、顔がカメラの正面を向いていない場合において、発生しやすく、特に、自動車の分野では、カメラの位置は車内の形状に制約を受けるため、この問題はより顕著となる。
【０００６】
本発明の目的の一例は、上記問題を解消し、カメラの取り付け位置が制約を受ける場合であっても、顔の部品の検出精度の低下を抑制し得る、顔検出装置、顔検出方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の一側面における顔検出装置は、
人の顔を含む部分の３次元点群データを取得する、データ取得部と、
取得された前記３次元点群データにおいて、前記顔の各部品のうち削除対象となる部品に対応する第１の領域を特定する、領域特定部と、
特定された前記第１の領域に存在する点を、不要な点として、前記３次元点群データから除去する、フィルタリング部と、
前記不要な点が除去された前記３次元点群データを用いて、前記顔を検出する、顔検出部と、
を備えている、ことを特徴とする。
【０００８】
また、上記目的を達成するため、本発明の一側面における顔検出方法は、
（ａ）人の顔を含む部分の３次元点群データを取得する、ステップと、
（ｂ）取得された前記３次元点群データにおいて、前記顔の各部品のうち削除対象となる部品に対応する第１の領域を特定する、ステップと、
（ｃ）特定された前記第１の領域に存在する点を、不要な点として、前記３次元点群データから除去する、ステップと、
（ｄ）前記不要な点が除去された前記３次元点群データを用いて、前記顔を検出する、ステップと、
を有する、ことを特徴とする。
【０００９】
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、
コンピュータに、
（ａ）人の顔を含む部分の３次元点群データを取得する、ステップと、
（ｂ）取得された前記３次元点群データにおいて、前記顔の各部品のうち削除対象となる部品に対応する第１の領域を特定する、ステップと、
（ｃ）特定された前記第１の領域に存在する点を、不要な点として、前記３次元点群データから除去する、ステップと、
（ｄ）前記不要な点が除去された前記３次元点群データを用いて、前記顔を検出する、ステップと、
を実行させる、ことを特徴とする。
【発明の効果】
【００１０】
以上のように、本発明によれば、カメラの取り付け位置が制約を受ける場合であっても、顔の部品の検出精度の低下を抑制することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、本発明の実施の形態１における顔検出装置の構成を示すブロック図である。
【図２】図２は、本発明の実施の形態１における顔検出装置を用いたシステムの一例を示す図である。
【図３】図３は、本発明の実施の形態１において利用される３次元点群データの一例を示す図である。
【図４】図４は、本発明実施の形態１におけるフィルタリング部の処理を説明するための図である。
【図５】図５は、本発明の実施の形態１における顔検出装置の動作を示すフロー図である。
【図６】図６は、本発明の実施の形態２において設定される２つの仮平面の一例を示す図である。
【図７】図７は、本発明の実施の形態２においてフィルタリング部によって行われる処理を説明する図である。
【図８】図８は、本発明の実施の形態２における顔検出装置の動作を示すフロー図である。
【図９】図９は、本発明の実施の形態１及び２における顔検出装置を実現するコンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【００１２】
（実施の形態１）
以下、本発明の実施の形態１における、顔検出装置、顔検出方法、及びプログラムについて、図１〜図９を参照しながら説明する。
【００１３】
［装置構成］
最初に、図１を用いて、本実施の形態１における顔検出装置の構成について説明する。図１は、本発明の実施の形態１における顔検出装置の構成を示すブロック図である。
【００１４】
図１に示すように、本実施の形態１における顔検出装置１０は、人の顔を含む部分の３次元点群データから、顔を検出するための装置である。図１に示すように、本実施の形態１における顔検出装置１０は、データ取得部１１と、領域特定部１２と、フィルタリング部１３と、顔検出部１４とを備えている。
【００１５】
データ取得部１１は、人の顔を含む部分の３次元点群データを取得する。領域特定部１２は、データ取得部１１によって取得された３次元点群データにおいて、顔の各部品のうち削除対象となる部品に対応する領域を特定する。
【００１６】
フィルタリング部１３は、領域特定部１２によって特定された削除領域に存在する点を、不要な点として、３次元点群データから除去する。顔検出部１４は、フィルタリング部１３によって不要な点が除去された３次元点群データを用いて、顔を検出する。
【００１７】
このように、本実施の形態１では、顔検出に必要ない顔の部品、即ち、削除対象となる部品のデータが削除されてから、顔検出が実行される。このため、本実施の形態１によれば、カメラの取り付け位置が制約を受ける場合であっても、顔の部品の検出精度の低下を抑制することができる。
【００１８】
続いて、図２〜図５を用いて、本実施の形態１における顔検出装置１０の構成及び機能についてより具体的に説明する。図２は、本発明の実施の形態１における顔検出装置を用いたシステムの一例を示す図である。
【００１９】
図２の例では、顔検出装置１０は、車両２１に搭載される安全運転支援システム２０の一部を構成している。安全運転支援システム２０は、顔検出装置１０によって検出された運転手の顔に基づいて、運転手の状態を監視して、安全運転を支援するシステムである。例えば、安全運転支援システム２０は、運転手の顔が下を向いており、その状態が一定時間続くと、運転手が居眠りをしていると判定し、運転手を覚醒させるための処理を行う。
【００２０】
また、顔検出装置１０は、本実施の形態１では、撮像装置３０に接続されている。撮像装置３０は、被写体までの距離を画素毎に測定可能な装置である。撮像装置３０の具体例としては、ＴＯＦ（Time-of-Flight）カメラが挙げられる。ＴＯＦカメラは、まず、被写体に向けて、近赤外光等の光を照射する。また、ＴＯＦカメラは、照射した光が被写体で反射されて戻ってくるまでの時間を計測して、画素毎に、被写体までの距離を測定し、測定した画素毎の距離を特定するデータを出力する。本実施の形態では、この出力されたデータが、３次元点群データとなる。
【００２１】
データ取得部１１は、本実施の形態では、撮像装置（ＴＯＦカメラ）３０が出力したデータを、３次元点群データとして取得する。図３は、本発明の実施の形態１において利用される３次元点群データの一例を示す図である。図３の例では、被写体は運転手であり、撮像装置３０は車内に取り付けられている。また、図３の例では、３次元点群データは、運転手の斜め上方から撮影することによって得られている。
【００２２】
領域特定部１２は、本実施の形態１では、図３に示すように、３次元点群データにおいて、顔の各部品のうち、例えば、耳に対応する領域を削除領域として特定する。図３において、耳に対応する領域は破線で示されている。
【００２３】
具体的には、領域特定部１２は、最初に、被写体が存在する空間を複数の立方体で区切る。この立方体を「ボクセル」と表記する。次いで、領域特定部１２は、例えば、Viola & Jones法に沿って、予め登録されている「耳」の特徴量を用いたラスタスキャンによって、耳に対応する領域、即ち、耳の特徴量を持った点群が存在しているボクセル群を特定
する。Viola & Jones法は、下記の参照文献に開示されている。また、この場合の特徴量としては、局所領域間の信頼度（輝度）差に着目した「Haar-like特徴」が挙げられる。
【００２４】
参照文献：
Viola, P and Jones, M,"Rapid object detection using a boosted cascade of simple features", CVPR,vol.1,pp.511-518
【００２５】
フィルタリング部１３は、図４に示すように、本実施の形態１では、まず、耳に対応する領域に基準位置を設定する。図４は、本発明実施の形態１におけるフィルタリング部の処理を説明するための図である。図４の例では、フィルタリング部１３は、領域特定部１２によって、耳に対応する領域として特定されたボクセル群において、ボクセル毎に、耳の特徴量を持った点群の重心位置を特定し、特定した位置を、そのボクセルの基準位置とする。図４において、基準位置は◇で示されている。また、●は、目、鼻、又は口に相当する点を示し、×は、フィルタリング部によって除去される点を示している。
【００２６】
続いて、フィルタリング部１３は、図４に示すように、３次元点群データにおける、設定した基準位置からの距離が設定範囲内に存在する点を、不要な点として、３次元点群データから除去する。なお、図４においては、例として、１つのボクセルにおいて除去される点が示されている。除去される範囲の設定は、予め行われた実験の結果等に基づいて行われる。
【００２７】
顔検出部１４は、本実施の形態１では、３次元点群データからフィルタリング部１３によって不要な点が除去されると、まず、領域特定部１２に、３次元点群データにおいて、顔検出の対象となる部品（目、鼻、口）に対応する領域（以下「顔検出領域」と表記する。）の特定を指示する。
【００２８】
この場合、領域特定部１２は、予め登録されている「目」、「鼻」、「口」の特徴量を用いたラスタスキャンによって、顔検出領域、即ち、目、鼻、口の特徴量を持った点群が存在しているボクセル群を特定する。
【００２９】
続いて、顔検出部１４は、領域特定部１２によって特定された顔検出領域に存在する、点群に基づいて、人の顔を検出する。このように、顔検出部１４は、耳に対応する領域の点群が除かれた３次元点群データを用いて、顔検出を実行できるので、顔検出の精度の向上が図られる。また、本実施の形態１において、顔検出部１４による顔検出の手法としては、従来からの手法が用いられていても良い。
【００３０】
［装置動作］
次に、本実施の形態１における顔検出装置１０の動作について図５を用いて説明する。図５は、本発明の実施の形態１における顔検出装置の動作を示すフロー図である。以下の説明においては、適宜図１〜図４を参照する。また、本実施の形態１では、顔検出装置１０を動作させることによって、顔検出方法が実施される。よって、本実施の形態１における顔検出方法の説明は、以下の顔検出装置１０の動作説明に代える。
【００３１】
図５に示すように、最初に、データ取得部１１は、撮像装置（ＴＯＦカメラ）３０が出力したデータを、３次元点群データとして取得する（ステップＡ１）。
【００３２】
次に、領域特定部１２は、３次元点群データにおいて、顔の各部品のうち削除対象となる、耳に対応する領域を特定する（ステップＡ２）。
【００３３】
次に、フィルタリング部１３は、耳に対応する領域に存在する各ボクセルに基準位置を
設定し、設定した基準位置からの距離が設定範囲内となる点を、不要な点として、３次元点群データから除去する（ステップＡ３）。
【００３４】
次に、顔検出部１４は、ステップＡ３でフィルタリング部１３によって不要な点が除去された３次元点群データを用いて、顔を検出する（ステップＡ４）。
【００３５】
［実施の形態１における効果］
以上のように、本実施の形態１では、撮像装置３０が、人を斜め方向から撮影しており、３次元点群データに耳が含まれていても、耳の点群が削除された状態で、顔検出が行われる。このため、本実施の形態１によれば、撮像装置３０の取り付け位置に制約を受けることなく、顔の部品の検出精度の低下が抑制される。
【００３６】
［プログラム］
本実施の形態１におけるプログラムは、コンピュータに、図５に示すステップＡ１〜Ａ４を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態１における顔検出装置１０と顔検出方法とを実現することができる。この場合、コンピュータのプロセッサは、データ取得部１１、領域特定部１２、フィルタリング部１３，及び顔検出部１４として機能し、処理を行なう。また、コンピュータは、汎用のコンピュータであっても良いし、車両に搭載されたコンピュータであっても良い。
【００３７】
また、本実施の形態１におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、データ取得部１１、領域特定部１２、フィルタリング部１３，及び顔検出部１４のいずれかとして機能しても良い。
【００３８】
（実施の形態２）
次に、本発明の実施の形態２における、顔検出装置、顔検出方法、及びプログラムについて、図６〜図８を参照しながら説明する。
【００３９】
［装置構成］
最初に、本実施の形態２における顔検出装置の構成について説明する。本実施の形態２における顔検出装置は、図１及び図２に示した実施の形態１における顔検出装置１０と同様の構成を備えている。本実施の形態２においても、顔検出装置は、データ取得部１１と、領域特定部１２と、フィルタリング部１３と、顔検出部１４とを備えている。
【００４０】
但し、本実施の形態２における顔検出装置は、領域特定部１２、フィルタリング部１３及び顔検出部１４における機能の点で、実施の形態１における顔検出装置１０と異なっている。以下に、図６及び図７を用いて、実施の形態１との相違点を中心に説明する。
【００４１】
領域特定部１２は、本実施の形態２では、データ取得部１１によって、取得された３次元点群データにおいて、耳に対応する領域の特定の際に、耳に対応する領域だけでなく、顔検出の対象となる部品（目、鼻、口）に対応する領域（顔検出領域）も特定する。
【００４２】
フィルタリング部１３は、本実施の形態２では、図６に示すように、まず、耳に対応する領域から任意の３つ以上の点を抽出し、抽出する度に、抽出した点を含む第１の仮平面Ａと、第２の仮平面Ｂとを設定する。第２の仮平面Ｂは、第１の仮平面Ａに直交し、且つ、いずれかの顔検出領域における３点以上の点からの距離が設定範囲内にある面である。なお、設定範囲は、撮像装置の性能、撮像装置と運転手との距離等を考慮し、予め実験を行うことによって設定される。
【００４３】
図６は、本発明の実施の形態２において設定される２つの仮平面の一例を示す図である。図６の例では、フィルタリング部１３によって除去される点は「×」で示され、顔検出領域に存在する点（目、鼻、口に相当する点）は「●」で示されている。
【００４４】
続いて、フィルタリング部１３は、本実施の形態では、第１の仮平面Ａとそれと同時に設定した第２の仮平面Ｂとの組毎に、これら仮平面が顔の面に相当する可能性を示すスコアを算出し、算出したスコアに基づいて、１つの組を選択する。
【００４５】
具体的には、図７に示すように、フィルタリング部１３は、組毎に、この組を構成する第１の仮平面及び第２の仮平面のいずれにも含まれない点それぞれに、この点と第１の仮平面との距離、及びこの点と第２の仮平面との距離のうち、短い方の距離に基づいて、距離が短い程、値が小さくなるようにスコアを付加する。
【００４６】
図７は、本発明の実施の形態２においてフィルタリング部によって行われる処理を説明する図である。なお、仮平面は、実際は、３次元空間において設定されるが、図７の例では、説明のため、２次元座標上で示されている。また、図７において、いずれかの仮平面に含まれる点は○で示され、いずれの仮平面にも含まれない点は●で示されている。
【００４７】
また、フィルタリング部１３は、組毎に、この組を構成する第１の仮平面及び第２の仮平面のいずれにも含まれない点それぞれに付加したスコアを合計して、この組の合計スコアを算出する。そして、フィルタリング部１３は、算出した合計スコアの値に基づいて、１つの組を選択する。
【００４８】
また、フィルタリング部１３は、スコアの算出において、算出した距離（誤差）にBiweight推定法による重みを適用することによって、外れ値の影響を小さくすることができる。具体的には、この場合、仮平面から遠距離にある点を外れ値と仮定し、誤差０ｍｍの点の重みを１．０、許容誤差より誤差の大きな点の重みを０．０とする。つまり、誤差が小さい点の重みを強く、誤差が大きい点の重みを弱くする。フィルタリング部１３は、例えば、下記の数１及び数２に基づいて、スコアを算出することができる。
【００４９】
下記の数１及び数２において、「ｅｉ」は、ｉ番目の点の誤差［ｍｍ］を示し、「ｗ（ｅｉ）」は、誤差ｅｉでの重みを示している。また、「ａＥ」は、許容誤差［ｍｍ］である。
【００５０】
【数１】
2020135077.tif 000003
【００５１】
【数２】
2020135077.tif 000004
【００５２】
その後、フィルタリング部１３は、３次元点群データにおける、選択した組の第１の仮
平面からの距離が設定範囲内となる点を、不要な点として、３次元点群データから除去する。
【００５３】
また、顔検出部１４は、不要な点が削除された３次元点群データから顔検出を実行する。本実施の形態２では、顔検出部１４は、更に、フィルタリング部１３によって選択された組の第２の仮平面における法線の向きを検出し、検出した向きを人の顔の向きとすることもできる。
【００５４】
［装置動作］
次に、本実施の形態２における顔検出装置の動作について図８を用いて説明する。図８は、本発明の実施の形態２における顔検出装置の動作を示すフロー図である。以下の説明においては、適宜図１、図２、図６及び図７を参照する。また、本実施の形態２では、顔検出装置を動作させることによって、顔検出方法が実施される。よって、本実施の形態２における顔検出方法の説明は、以下の顔検出装置の動作説明に代える。
【００５５】
図８に示すように、最初に、データ取得部１１は、撮像装置（ＴＯＦカメラ）３０が出力したデータを、３次元点群データとして取得する（ステップＢ１）。ステップＢ１は、図５に示したステップＡ１と同様のステップである。
【００５６】
次に、領域特定部１２は、３次元点群データにおいて、顔の各部品のうち削除対象となる、耳に対応する領域を特定し、更に、目、鼻、口に対応する領域を顔検出領域として特定する（ステップＢ２）。
【００５７】
次に、フィルタリング部１３は、耳に対応する領域から任意の３つ以上の点（具体的には３点）を抽出し、抽出した３点を含む第１の仮平面を設定する（ステップＢ３）。
【００５８】
次に、フィルタリング部１３は、第１の仮平面に直交し、且つ、いずれかの顔検出領域における３点以上の点（具体的には３点）を含む、第２の仮平面を設定する（ステップＢ４）。
【００５９】
次に、フィルタリング部１３は、ステップＢ３及びＢ４で設定した仮平面の組数が設定値に到達したかどうかを判定する（ステップＢ５）。ステップＢ５の判定の結果、仮平面の数が設定値に到達していない場合は、フィルタリング部１３は、再度ステップＢ３及びＢ４を実行する。
【００６０】
一方、ステップＢ５の判定の結果、仮平面の組数が設定値に到達している場合は、フィルタリング部１３は、組毎に、この組を構成する第１の仮平面及び第２の仮平面のいずれにも含まれない点それぞれに、スコアを付加する（ステップＢ６）。また、ステップＢ６において、フィルタリング部１３は、各点と第１の仮平面との距離、及び各点と第２の仮平面との距離のうち、短い方の距離に基づいて、距離が短い程、値が小さくなるようにスコアを付加する。
【００６１】
次に、フィルタリング部１３は、組毎に、各点に付加したスコアを合計して、この組の合計スコアを算出し、算出した合計スコアの値に基づいて、１つの組を選択する（ステップＢ７）。
【００６２】
その後、フィルタリング部１３は、３次元点群データにおける、ステップＢ７で選択した組の第１の仮平面からの距離が設定範囲内となる点を、不要な点として、３次元点群データから除去する（ステップＢ８）。
【００６３】
次に、顔検出部１４は、ステップＢ８で不要な点が除去された３次元点群データを用いて、顔を検出する（ステップＢ９）。また、ステップＢ９の実行後、顔検出部１４は、ステップＢ７で選択された組の第２の仮平面における法線の向きを検出し、検出した向きを人の顔の向きとすることもできる。
【００６４】
［実施の形態２における効果］
以上のように、本実施の形態２でも、実施の形態１と同様に、撮像装置３０が、人を斜め方向から撮影しており、３次元点群データに耳が含まれていても、耳の点群が削除された状態で、顔検出が行われる。このため、本実施の形態２においても、撮像装置３０の取り付け位置に制約を受けることなく、顔の部品の検出精度の低下が抑制される。
【００６５】
また、本実施の形態２では、人の顔の向きの検出も可能となる。よって、安全運転支援システム２０は、実施の形態１に比べて、より詳細に運転手の状態を検出することができる。
【００６６】
［プログラム］
本実施の形態２におけるプログラムは、コンピュータに、図８に示すステップＢ１〜Ｂ９を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態２における顔検出装置１０と顔検出方法とを実現することができる。この場合、コンピュータのプロセッサは、データ取得部１１、領域特定部１２、フィルタリング部１３，及び顔検出部１４として機能し、処理を行なう。また、コンピュータは、汎用のコンピュータであっても良いし、車両に搭載されたコンピュータであっても良い。
【００６７】
また、本実施の形態２におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、データ取得部１１、領域特定部１２、フィルタリング部１３，及び顔検出部１４のいずれかとして機能しても良い。
【００６８】
（物理構成）
ここで、本実施の形態１及び２におけるプログラムを実行することによって、顔検出装置を実現するコンピュータについて図９を用いて説明する。図９は、本発明の実施の形態１及び２における顔検出装置を実現するコンピュータの一例を示すブロック図である。
【００６９】
図９に示すように、コンピュータ１１０は、ＣＰＵ（Central Processing Unit）１１１と、メインメモリ１１２と、記憶装置１１３と、入力インターフェイス１１４と、表示コントローラ１１５と、データリーダ／ライタ１１６と、通信インターフェイス１１７とを備える。これらの各部は、バス１２１を介して、互いにデータ通信可能に接続される。また、コンピュータ１１０は、ＣＰＵ１１１に加えて、又はＣＰＵ１１１に代えて、ＧＰＵ（Graphics Processing Unit）、又はＦＰＧＡ（Field-Programmable Gate Array）を備えていても良い。
【００７０】
ＣＰＵ１１１は、記憶装置１１３に格納された、本実施の形態におけるプログラム（コード）をメインメモリ１１２に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ１１２は、典型的には、ＤＲＡＭ（Dynamic Random Access Memory）等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体１２０に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス１１７を介して接続されたインターネット上で流通するものであっても良い。
【００７１】
また、記憶装置１１３の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス１１４は、ＣＰＵ１１１と、キーボード及びマウスといった入力機器１１８との間のデータ伝送を仲介する。表示コントローラ１１５は、ディスプレイ装置１１９と接続され、ディスプレイ装置１１９での表示を制御する。
【００７２】
データリーダ／ライタ１１６は、ＣＰＵ１１１と記録媒体１２０との間のデータ伝送を仲介し、記録媒体１２０からのプログラムの読み出し、及びコンピュータ１１０における処理結果の記録媒体１２０への書き込みを実行する。通信インターフェイス１１７は、ＣＰＵ１１１と、他のコンピュータとの間のデータ伝送を仲介する。
【００７３】
また、記録媒体１２０の具体例としては、ＣＦ（Compact Flash（登録商標））及びＳＤ（Secure Digital）等の汎用的な半導体記憶デバイス、フレキシブルディスク（Flexible Disk）等の磁気記録媒体、又はＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの光学記録媒体が挙げられる。
【００７４】
なお、本実施の形態１及び２における顔検出装置１０は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、顔検出装置は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
【００７５】
上述した実施の形態の一部又は全部は、以下に記載する（付記１）〜（付記１８）によって表現することができるが、以下の記載に限定されるものではない。
【００７６】
（付記１）
人の顔を含む部分の３次元点群データを取得する、データ取得部と、
取得された前記３次元点群データにおいて、前記顔の各部品のうち削除対象となる部品に対応する第１の領域を特定する、領域特定部と、
特定された前記第１の領域に存在する点を、不要な点として、前記３次元点群データから除去する、フィルタリング部と、
前記不要な点が除去された前記３次元点群データを用いて、前記顔を検出する、顔検出部と、
を備えている、
ことを特徴とする顔検出装置。
【００７７】
（付記２）
付記１に記載の顔検出装置であって、
前記フィルタリング部が、前記第１の領域に基準位置を設定し、前記３次元点群データにおける、設定した前記基準位置からの距離が設定範囲内となる点を、前記不要な点として、前記３次元点群データから除去する、
ことを特徴とする顔検出装置。
【００７８】
（付記３）
付記１または２に記載の顔検出装置であって、
前記領域特定部が、取得された前記３次元点群データにおいて、前記顔の各部品のうち顔検出の対象となる部品に対応する第２の領域も特定し、
前記フィルタリング部が、前記第１の領域から任意の３つ以上の点を点抽出し、抽出する度に、抽出した点を含む第１の仮平面と、前記第１の仮平面に直交し、且つ、前記第２の領域における３点以上の点からの距離が設定範囲内にある、第２の仮平面とを設定し、そして、設定した前記第１の仮平面とそれと同時に設定した前記第２の仮平面との組毎に
、
これら仮平面が前記顔の面に相当する可能性を示すスコアを算出し、算出した前記スコアに基づいて、１つの組を選択し、
前記３次元点群データにおける、選択した前記組の前記第１の仮平面からの距離が設定範囲内となる点を、前記不要な点として、前記３次元点群データから除去する、
ことを特徴とする顔検出装置。
【００７９】
（付記４）
付記３に記載の顔検出装置であって、
前記領域特定部が、耳に対応する領域を前記第１の領域として特定し、目、鼻、口に対応する領域を前記第２の領域として特定し、
前記フィルタリング部が、前記組毎に、当該組を構成する前記第１の仮平面及び前記第２の仮平面のいずれにも含まれない点それぞれに、この点と前記第１の仮平面との距離、及びこの点と前記第２の仮平面との距離のうち、短い方の距離に基づいて、前記距離が小さい程、値が小さくなるようにスコアを付加し、更に、各点に付加したスコアを合計して、当該組の合計スコアを算出し、算出した前記合計スコアの値に基づいて、１つの組を選択する、
ことを特徴とする顔検出装置。
【００８０】
（付記５）
付記３または４に記載の顔検出装置であって、
前記顔検出部が、選択された組の前記第２の仮平面における法線の方向を前記顔の向きとして検出する、
ことを特徴とする顔検出装置。
【００８１】
（付記６）
付記１から５のいずれかに記載の顔検出装置であって、
前記３次元点群データが、画素毎に距離情報を取得可能な撮像装置を用いて得られたデータである、
ことを特徴とする顔検出装置。
【００８２】
（付記７）
（ａ）人の顔を含む部分の３次元点群データを取得する、ステップと、
（ｂ）取得された前記３次元点群データにおいて、前記顔の各部品のうち削除対象となる部品に対応する第１の領域を特定する、ステップと、
（ｃ）特定された前記第１の領域に存在する点を、不要な点として、前記３次元点群データから除去する、ステップと、
（ｄ）前記不要な点が除去された前記３次元点群データを用いて、前記顔を検出する、ステップと、
を有する、
ことを特徴とする顔検出方法。
【００８３】
（付記８）
付記７に記載の顔検出方法であって、
前記（ｃ）のステップにおいて、前記第１の領域に基準位置を設定し、前記３次元点群データにおける、設定した前記基準位置からの距離が設定範囲内となる点を、前記不要な点として、前記３次元点群データから除去する、
ことを特徴とする顔検出方法。
【００８４】
（付記９）
付記７または８に記載の顔検出方法であって、
前記（ｂ）のステップにおいて、取得された前記３次元点群データにおいて、前記顔の各部品のうち顔検出の対象となる部品に対応する第２の領域も特定し、
前記（ｃ）のステップにおいて、前記第１の領域から任意の３つ以上の点を点抽出し、抽出する度に、抽出した点を含む第１の仮平面と、前記第１の仮平面に直交し、且つ、前記第２の領域における３点以上の点からの距離が設定範囲内にある、第２の仮平面とを設定し、
そして、設定した前記第１の仮平面とそれと同時に設定した前記第２の仮平面との組毎に、
これら仮平面が前記顔の面に相当する可能性を示すスコアを算出し、算出した前記スコアに基づいて、１つの組を選択し、
前記３次元点群データにおける、選択した前記組の前記第１の仮平面からの距離が設定範囲内となる点を、前記不要な点として、前記３次元点群データから除去する、
ことを特徴とする顔検出方法。
【００８５】
（付記１０）
付記９に記載の顔検出方法であって、
前記（ｂ）のステップにおいて、耳に対応する領域を前記第１の領域として特定し、目、鼻、口に対応する領域を前記第２の領域として特定し、
前記（ｃ）のステップにおいて、前記組毎に、当該組を構成する前記第１の仮平面及び前記第２の仮平面のいずれにも含まれない点それぞれに、この点と前記第１の仮平面との距離、及びこの点と前記第２の仮平面との距離のうち、短い方の距離に基づいて、前記距離が小さい程、値が小さくなるようにスコアを付加し、更に、各点に付加したスコアを合計して、当該組の合計スコアを算出し、算出した前記合計スコアの値に基づいて、１つの組を選択する、
ことを特徴とする顔検出方法。
【００８６】
（付記１１）
付記９または１０に記載の顔検出方法であって、
前記（ｄ）のステップにおいて、選択された組の前記第２の仮平面における法線の方向を前記顔の向きとして検出する、
ことを特徴とする顔検出方法。
【００８７】
（付記１２）
付記７から１１のいずれかに記載の顔検出方法であって、
前記３次元点群データが、画素毎に距離情報を取得可能な撮像装置を用いて得られたデータである、
ことを特徴とする顔検出方法。
【００８８】
（付記１３）
コンピュータに、
（ａ）人の顔を含む部分の３次元点群データを取得する、ステップと、
（ｂ）取得された前記３次元点群データにおいて、前記顔の各部品のうち削除対象となる部品に対応する第１の領域を特定する、ステップと、
（ｃ）特定された前記第１の領域に存在する点を、不要な点として、前記３次元点群データから除去する、ステップと、
（ｄ）前記不要な点が除去された前記３次元点群データを用いて、前記顔を検出する、ステップと、
を実行させる、プログラム。
【００８９】
（付記１４）
付記１３に記載のプログラムであって、
前記（ｃ）のステップにおいて、前記第１の領域に基準位置を設定し、前記３次元点群データにおける、設定した前記基準位置からの距離が設定範囲内となる点を、前記不要な点として、前記３次元点群データから除去する、
ことを特徴とするプログラム。
【００９０】
（付記１５）
付記１３または１４に記載のプログラムであって、
前記（ｂ）のステップにおいて、取得された前記３次元点群データにおいて、前記顔の各部品のうち顔検出の対象となる部品に対応する第２の領域も特定し、
前記（ｃ）のステップにおいて、前記第１の領域から任意の３つ以上の点を点抽出し、抽出する度に、抽出した点を含む第１の仮平面と、前記第１の仮平面に直交し、且つ、前記第２の領域における３点以上の点からの距離が設定範囲内にある、第２の仮平面とを設定し、
そして、設定した前記第１の仮平面とそれと同時に設定した前記第２の仮平面との組毎に、
これら仮平面が前記顔の面に相当する可能性を示すスコアを算出し、算出した前記スコアに基づいて、１つの組を選択し、
前記３次元点群データにおける、選択した前記組の前記第１の仮平面からの距離が設定範囲内となる点を、前記不要な点として、前記３次元点群データから除去する、
ことを特徴とするプログラム。
【００９１】
（付記１６）
付記１５に記載のプログラムであって、
前記（ｂ）のステップにおいて、耳に対応する領域を前記第１の領域として特定し、目、鼻、口に対応する領域を前記第２の領域として特定し、
前記（ｃ）のステップにおいて、前記組毎に、当該組を構成する前記第１の仮平面及び前記第２の仮平面のいずれにも含まれない点それぞれに、この点と前記第１の仮平面との距離、及びこの点と前記第２の仮平面との距離のうち、短い方の距離に基づいて、前記距離が小さい程、値が小さくなるようにスコアを付加し、更に、各点に付加したスコアを合計して、当該組の合計スコアを算出し、算出した前記合計スコアの値に基づいて、１つの組を選択する、
ことを特徴とするプログラム。
【００９２】
（付記１７）
付記１５または１６に記載のプログラムであって、
前記（ｄ）のステップにおいて、選択された組の前記第２の仮平面における法線の方向を前記顔の向きとして検出する、
ことを特徴とするプログラム。
【００９３】
（付記１８）
付記１３から１７のいずれかに記載のプログラムであって、
前記３次元点群データが、画素毎に距離情報を取得可能な撮像装置を用いて得られたデータである、
ことを特徴とするプログラム。
【産業上の利用可能性】
【００９４】
以上のように、本発明によれば、カメラの取り付け位置が制約を受ける場合であっても、顔の部品の検出精度の低下を抑制することができる。本発明は、人の顔の検出が求めら
れる、映像監視システム、車両用のシステム等に有用である。
【符号の説明】
【００９５】
１０  顔検出装置
１１  データ取得部
１２  領域特定部
１３  フィルタリング部
１４  顔検出部
２０  安全運転支援システム
２１  車両
３０  撮像装置
１１０  コンピュータ
１１１  ＣＰＵ
１１２  メインメモリ
１１３  記憶装置
１１４  入力インターフェイス
１１５  表示コントローラ
１１６  データリーダ／ライタ
１１７  通信インターフェイス
１１８  入力機器
１１９  ディスプレイ装置
１２０  記録媒体
１２１  バス
【図１】
2020135077.tif 000005
【図２】
2020135077.tif 000006
【図３】
2020135077.tif 000007
【図４】
2020135077.tif 000008
【図５】
2020135077.tif 000009
【図６】
2020135077.tif 000010
【図７】
2020135077.tif 000011
【図８】
2020135077.tif 000012
【図９】
2020135077.tif 000013