特許第6165959号(P6165959)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 深セン市優必選科技有限公司の特許一覧

特許6165959顔検出追跡方法、顔検出追跡装置、ロボット頭部の回動制御方法及びロボット頭部の回動制御システム
<>
  • 特許6165959-顔検出追跡方法、顔検出追跡装置、ロボット頭部の回動制御方法及びロボット頭部の回動制御システム 図000018
  • 特許6165959-顔検出追跡方法、顔検出追跡装置、ロボット頭部の回動制御方法及びロボット頭部の回動制御システム 図000019
  • 特許6165959-顔検出追跡方法、顔検出追跡装置、ロボット頭部の回動制御方法及びロボット頭部の回動制御システム 図000020
  • 特許6165959-顔検出追跡方法、顔検出追跡装置、ロボット頭部の回動制御方法及びロボット頭部の回動制御システム 図000021
  • 特許6165959-顔検出追跡方法、顔検出追跡装置、ロボット頭部の回動制御方法及びロボット頭部の回動制御システム 図000022
  • 特許6165959-顔検出追跡方法、顔検出追跡装置、ロボット頭部の回動制御方法及びロボット頭部の回動制御システム 図000023
  • 特許6165959-顔検出追跡方法、顔検出追跡装置、ロボット頭部の回動制御方法及びロボット頭部の回動制御システム 図000024
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6165959
(24)【登録日】2017年6月30日
(45)【発行日】2017年7月19日
(54)【発明の名称】顔検出追跡方法、顔検出追跡装置、ロボット頭部の回動制御方法及びロボット頭部の回動制御システム
(51)【国際特許分類】
   G06T 7/20 20170101AFI20170710BHJP
   G06T 7/00 20170101ALI20170710BHJP
   G06T 1/00 20060101ALI20170710BHJP
   B25J 19/04 20060101ALI20170710BHJP
【FI】
   G06T7/20 300Z
   G06T7/00 660A
   G06T1/00 340A
   B25J19/04
【請求項の数】14
【全頁数】21
(21)【出願番号】特願2016-250750(P2016-250750)
(22)【出願日】2016年12月26日
【審査請求日】2016年12月26日
(31)【優先権主張番号】201610619340.1
(32)【優先日】2016年7月29日
(33)【優先権主張国】CN
【早期審査対象出願】
(73)【特許権者】
【識別番号】515215346
【氏名又は名称】深セン市優必選科技有限公司
(74)【代理人】
【識別番号】110002262
【氏名又は名称】TRY国際特許業務法人
(72)【発明者】
【氏名】紀 園
(72)【発明者】
【氏名】熊 友軍
【審査官】 佐藤 実
(56)【参考文献】
【文献】 特開2006−171929(JP,A)
【文献】 特開2012−003364(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00 − 7/90
G06T 1/00
G01B 11/00
B25J 19/04
(57)【特許請求の範囲】
【請求項1】
顔検出追跡方法であって、
画像を撮像して前記画像の奥行き検出処理を行い、前記画像における各画素ドットの奥行き値を取得するステップと、
現在フレーム画像における各画素ドットの奥行き値に基づいて、各画素ドットを中心とする顔候補領域を決定するステップと、
前記顔候補領域に対して顔を検証して、前記現在フレーム画像の顔枠を決定するステップと、
前記現在フレーム画像の顔枠及び追跡顔枠に基づき、前記現在フレーム画像の追跡枠を決定するとともに、前記現在フレーム画像の追跡枠内の顔を追跡するステップと、を含むことを特徴とする顔検出追跡方法。
【請求項2】
前記現在フレーム画像における各画素ドットの奥行き値に基づいて顔候補領域を決定するステップでは、
前記現在フレーム画像における各画素ドットの奥行き値に基づき、各画素ドットに対応する検出窓を決定するステップと、
前記検出窓に基づいて前記検出窓に隣接する隣接窓を決定するステップと、
前記検出窓及び前記隣接窓が前記顔候補領域のマスク条件を満たすか否かを判断するステップと、
前記検出窓及び前記隣接窓が前記顔候補領域のマスク条件を満たす場合、前記検出窓を前記顔候補領域とするステップと、を含むことを特徴とする請求項1に記載の顔検出追跡方法。
【請求項3】
前記現在フレーム画像における各画素ドットの奥行き値に基づき、各画素ドットに対応する検出窓を決定するステップは、
前記現在フレーム画像における各画素ドットの奥行き値に基づき、各画素ドットに対応する顔幅を決定するステップと、
各画素ドットを中心にし、前記画素ドットに対応する顔幅を辺長として形成される正方形の検出枠を、前記画素ドットに対応する検出窓とするステップと、を含むことを特徴とする請求項2に記載の顔検出追跡方法。
【請求項4】
前記検出窓に基づき、前記検出窓に隣接する隣接窓を決定するステップは、
前記検出窓の左側、右側及び上側において、前記検出窓を囲む左窓、右窓及び上窓をそれぞれ決定するステップを含み、
前記左窓、右窓及び上窓は、前記検出窓と第1所定の幅を空けて設定されることを特徴とする請求項3に記載の顔検出追跡方法。
【請求項5】
前記顔候補領域のマスク条件は、前記検出窓の平均奥行き値と検出窓における画素ドットの奥行き値との差分値の絶対値が第1閾値よりも小さく、且つ前記隣接窓の平均奥行き値と検出窓における画素ドットの奥行き値との差分値の絶対値が第2閾値よりも小さいという条件を含み、
前記第1閾値は、前記第2閾値よりも小さいことを特徴とする請求項4に記載の顔検出追跡方法。
【請求項6】
前記現在フレーム画像の顔枠及び追跡顔枠に基づき、前記現在フレーム画像の追跡枠を決定するとともに、前記現在フレーム画像の追跡枠内の顔を追跡するステップは、
前記現在フレーム画像が第1フレーム画像であるか否かを判断するステップと、
前記現在フレーム画像が第1フレーム画像であると判断した場合、前記現在フレーム画像における最も面積の大きい顔枠を前記現在フレーム画像の追跡枠に決定し、前記現在フレーム画像の追跡枠内の顔を追跡するステップと、
前記現在フレーム画像が第1フレーム画像でないと判断した場合、前記現在フレーム画像における最も面積の大きい顔枠が前記追跡顔枠の面積以上であるか否かを判断するステップと、
前記現在フレーム画像における最も面積の大きい顔枠が前記追跡顔枠の面積以上であると判断した場合、前記現在フレーム画像における最も面積の大きい顔枠を前記現在フレーム画像の追跡枠に決定し、前記現在フレーム画像の追跡枠内の顔を追跡するステップと、
前記現在フレーム画像における最も面積の大きい顔枠が前記追跡顔枠の面積以上でないと判断した場合、前記追跡顔枠と前記現在フレーム画像の顔枠との交差領域を求め、前記交差領域内における追跡顔枠を現在フレーム画像の追跡枠とし、前記現在フレーム画像の追跡枠内の顔を追跡するステップと、を含むことを特徴とする請求項1乃至5のいずれか一項に記載の顔検出追跡方法。
【請求項7】
前記現在フレーム画像の追跡枠内の顔を追跡するステップは、
前のフレーム画像から複数のオブジェクト画像及び背景画像を撮像し、前記オブジェクト画像及び前記背景画像をマルチスケール幾何変換してマルチスケール画像抽出特徴を得、疎な計測マトリックスを用いて前記マルチスケール画像抽出特徴に対して次元を縮退させて次元縮退特徴を得、前記次元縮退特徴により単純ベイズ分類器をトレーニングするステップと、
前記現在フレーム画像のオブジェクト窓の周りにある複数の走査窓のオブジェクト画像を走査し、前記オブジェクト画像のマルチスケール画像抽出特徴を抽出し、前記疎な計測マトリックスを用いて前記マルチスケール画像抽出特徴に対して次元を縮退させて次元縮退特徴を得、前記単純ベイズ分類器にて前記次元縮退特徴を分類し、分類された最も分数の大きい窓を現在フレーム画像のオブジェクト窓とするステップと、を含むことを特徴とする請求項6に記載の顔検出追跡方法。
【請求項8】
ロボット頭部の回動制御方法であって、
画像の中心領域を予め設定するステップと、
請求項1乃至7のいずれか一項に記載の顔検出追跡方法により前記現在フレーム画像の追跡枠を決定するステップと、
ロボット頭部の回動を制御して、前記現在フレーム画像の追跡枠を前記中心領域に移動させるステップと、を含むことを特徴とするロボット頭部の回動制御方法。
【請求項9】
ロボット頭部の回動を制御して、前記現在フレーム画像の追跡枠を前記中心領域に移動させるステップは、
前記追跡枠の中心に対する前記中心領域の中心の水平ずれ量及び垂直ずれ量を計算するステップと、
ロボット頭部を水平方向に水平ずれ量で回動させるとともに垂直方向に垂直ずれ量で回動させるように制御することで、前記中心領域の中心を前記追跡枠の中心と重ねるステップと、を含むことを特徴とする請求項8に記載のロボット頭部の回動制御方法。
【請求項10】
前記ロボット頭部の回動を制御して、前記現在フレーム画像の追跡枠を前記中心領域に移動させるステップは、
ロボット頭部を水平方向及び垂直方向に回動させるように制御することで、追跡枠の中心を前記中心領域の境界範囲内に位置させるステップを含むことを特徴とする請求項8に記載のロボット頭部の回動制御方法。
【請求項11】
顔検出追跡装置であって、
画像を撮像して前記画像の奥行き検出処理を行い、前記画像における各画素ドットの奥行き値を取得するための奥行き検出処理モジュールと、
現在フレーム画像における各画素ドットの奥行き値に基づいて、各画素ドットを中心とする顔候補領域を決定するための顔候補領域決定モジュールと、
前記顔候補領域に対して顔を検証して、前記現在フレーム画像の顔枠を決定するための顔枠決定モジュールと、
前記現在フレーム画像の顔枠及び追跡顔枠に基づき、前記現在フレーム画像の追跡枠を決定するとともに、前記現在フレーム画像の追跡枠内の顔を追跡するための顔追跡モジュールと、を含むことを特徴とする顔検出追跡装置。
【請求項12】
前記顔候補領域決定モジュールは、
前記現在フレーム画像における各画素ドットの奥行き値に基づき、各画素ドットに対応する検出窓を決定するための検出窓決定サブモジュールと、
前記検出窓に基づいて前記検出窓に隣接する隣接窓を決定するための隣接窓決定サブモジュールと、
前記検出窓及び前記隣接窓が前記顔候補領域のマスク条件を満たすか否かを判断するためのマスク条件判断サブモジュールと、
前記検出窓及び前記隣接窓が前記顔候補領域のマスク条件を満たす場合、前記検出窓を前記顔候補領域に決定するための候補領域決定サブモジュールと、を含むことを特徴とする請求項11に記載の顔検出追跡装置。
【請求項13】
前記顔追跡モジュールは、
記現在フレーム画像が第1フレーム画像であるか否かを判断するための判断モジュールと、
前記現在フレーム画像が第1フレーム画像であると判断した場合、前記現在フレーム画像における最も面積の大きい顔枠を前記現在フレーム画像の追跡枠に決定し、前記現在フレーム画像の追跡枠内の顔を追跡するための第1判断処理モジュールと、
前記現在フレーム画像が第1フレーム画像でないと判断した場合、前記現在フレーム画像における最も面積の大きい顔枠が前記追跡顔枠の面積以上であるか否かを判断するための第2判断処理モジュールと、
前記現在フレーム画像における最も面積の大きい顔枠が前記追跡顔枠の面積以上であると判断した場合、前記現在フレーム画像における最も面積の大きい顔枠を前記現在フレーム画像の追跡枠に決定し、前記現在フレーム画像の追跡枠内の顔を追跡するための第1追跡枠決定モジュールと、
前記現在フレーム画像における最も面積の大きい顔枠が前記追跡顔枠の面積以上でないと判断した場合、前記追跡顔枠と前記現在フレーム画像の顔枠との交差領域を求め、前記交差領域内における追跡顔枠を現在フレーム画像の追跡枠とし、前記現在フレーム画像の追跡枠内の顔を追跡するための第2追跡枠決定モジュールと、を含むことを特徴とする請求項11に記載の顔検出追跡装置。
【請求項14】
ロボット頭部の回動制御システムであって、
画像の中心領域を予め設定するための中心領域予め設定モジュールと、
前記現在フレーム画像の追跡枠を決定するための、請求項11乃至13のいずれか一項に記載の顔検出追跡装置と、
ロボット頭部の回動を制御して、前記現在フレーム画像の追跡枠を前記中心領域に移動させるための頭部回動制御モジュールと、を含むことを特徴とするロボット頭部の回動制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は顔認証領域に関し、特に、顔検出追跡方法、顔検出追跡装置、ロボット頭部の回動制御方法及びロボット頭部の回動制御システムに関する。
【背景技術】
【0002】
コンピュータビジョン技術の発達に伴って、コンピュータビジョン技術は、人々の日常生活に幅広く適用されている。例えば、ロボットは、コンピュータビジョン技術により制御されることで、視覚機能を持つようになり、様々な検出、判断、識別及び測定などのスマート操作を行うことができる。従来のロボットでは、顔検出技術により、内蔵される撮影装置が撮像した画像における顔を検出することができるほか、機械的運動によって顔を追跡できて、顔の移動に伴ってロボット頭部を回動させることができる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
しかしながら、従来の顔検出追跡方法の誤検出率が高いため、顔でないものを顔と検出することが多い。従来の顔検出追跡方法によりロボット頭部の回動を制御する場合、顔検出の誤検出率が高いため、ロボット頭部の回動動作が不正確になり、回動中に引っ掛かりしやすくなる。
【0004】
このように、上記の問題点を解決可能な顔検出追跡方法、顔検出追跡装置、ロボット頭部の回動制御方法及びロボット頭部の回動制御システムを提供することが、本発明が解決しようとする課題となっている。
【0005】
上記の問題点を解決するために、本発明に係る顔検出追跡方法は、画像を撮像して前記画像の奥行き検出処理を行い、前記画像における各画素ドットの奥行き値を取得するステップと、現在フレーム画像における各画素ドットの奥行き値に基づいて顔候補領域を決定するステップと、前記顔候補領域に対して顔を検証して、前記現在フレーム画像の顔枠を決定するステップと、前記現在フレーム画像の顔枠及び追跡顔枠に基づき、前記現在フレーム画像の追跡枠を決定するとともに、前記現在フレーム画像の追跡枠内の顔を追跡するステップと、を含む。
【0006】
好適には、前記現在フレーム画像における各画素ドットの奥行き値に基づいて顔候補領域を決定するステップでは、前記現在フレーム画像における各画素ドットの奥行き値に基づき、各画素ドットに対応する検出窓を決定するステップと、前記検出窓に基づいて前記検出窓に隣接する隣接窓を決定するステップと、前記検出窓及び前記隣接窓が前記顔候補領域のマスク条件を満たすか否かを判断するステップと、前記検出窓及び前記隣接窓が前記顔候補領域のマスク条件を満たす場合、前記検出窓を前記顔候補領域とするステップと、を含む。
【0007】
好適には、前記現在フレーム画像における各画素ドットの奥行き値に基づき、各画素ドットに対応する検出窓を決定するステップは、前記現在フレーム画像における各画素ドットの奥行き値に基づき、各画素ドットに対応する顔幅を決定するステップと、各画素ドットを中心にし、前記画素ドットに対応する顔幅を辺長として形成される正方形の検出枠を、前記画素ドットに対応する検出窓とするステップと、を含む。
【0008】
好適には、前記検出窓に基づき、前記検出窓に隣接する隣接窓を決定するステップは、前記検出窓の左側、右側及び上側において、前記検出窓を囲む左窓、右窓及び上窓をそれぞれ決定するステップを含む。前記左窓、右窓及び上窓は、前記検出窓と第1所定の幅を空けて設定される。
【0009】
好適には、前記顔候補領域のマスク条件は、前記検出窓の平均奥行き値と画素ドットの奥行き値との差分値の絶対値が第1閾値よりも小さく、且つ前記隣接窓の平均奥行き値と画素ドットの奥行き値との差分値の絶対値が第2閾値よりも小さいという条件を含む。前記第1閾値は、前記第2閾値よりも小さい。
【0010】
好適には、前記現在フレーム画像の顔枠及び追跡顔枠に基づき、前記現在フレーム画像の追跡枠を決定するとともに、前記現在フレーム画像の追跡枠内の顔を追跡するステップは、前記現在フレーム画像が第1フレーム画像であるか否かを判断するステップと、前記現在フレーム画像が第1フレーム画像であると判断した場合、前記現在フレーム画像における最も面積の大きい顔枠を前記現在フレーム画像の追跡枠に決定し、前記現在フレーム画像の追跡枠内の顔を追跡するステップと、前記現在フレーム画像が第1フレーム画像でないと判断した場合、前記現在フレーム画像における最も面積の大きい顔枠が前記追跡顔枠の面積以上であるか否かを判断するステップと、前記現在フレーム画像における最も面積の大きい顔枠が前記追跡顔枠の面積以上であると判断した場合、前記現在フレーム画像における最も面積の大きい顔枠を前記現在フレーム画像の追跡枠に決定し、前記現在フレーム画像の追跡枠内の顔を追跡するステップと、前記現在フレーム画像における最も面積の大きい顔枠が前記追跡顔枠の面積以上でないと判断した場合、前記追跡顔枠と前記現在フレーム画像の顔枠との交差領域を求め、前記交差領域内における追跡顔枠を現在フレーム画像の追跡枠とし、前記現在フレーム画像の追跡枠内の顔を追跡するステップと、を含む。
【0011】
好適には、前記現在フレーム画像の追跡枠内の顔を追跡するステップは、前のフレーム画像から複数のオブジェクト画像及び背景画像を撮像し、前記オブジェクト画像及び前記背景画像をマルチスケール幾何変換してマルチスケール画像抽出特徴を得、疎な計測マトリックスを用いて前記マルチスケール画像抽出特徴に対して次元を縮退させて次元縮退特徴を得、前記次元縮退特徴により単純ベイズ分類器をトレーニングするステップと、前記現在フレーム画像のオブジェクト窓の周りにある複数の走査窓のオブジェクト画像を走査し、前記オブジェクト画像のマルチスケール画像抽出特徴を抽出し、前記疎な計測マトリックスを用いて前記マルチスケール画像抽出特徴に対して次元を縮退させて次元縮退特徴を得、前記単純ベイズ分類器にて前記次元縮退特徴を分類し、分類された最も分数の大きい窓を現在フレーム画像のオブジェクト窓とするステップと、を含む。
【0012】
また、本発明に係るロボット頭部の回動制御方法は、画像の中心領域を予め設定するステップと、請求項1乃至7のいずれか一項に記載の顔検出追跡方法により前記現在フレーム画像の追跡枠を決定するステップと、ロボット頭部の回動を制御して、前記現在フレーム画像の追跡枠を前記中心領域に移動させるステップと、を含む。
【0013】
好適には、ロボット頭部の回動を制御して、前記現在フレーム画像の追跡枠を前記中心領域に移動させるステップは、前記追跡枠の中心に対する前記中心領域の中心の水平ずれ量及び垂直ずれ量を計算するステップと、ロボット頭部を水平方向に水平ずれ量で回動させるとともに垂直方向に垂直ずれ量で回動させるように制御することで、前記中心領域の中心を前記追跡枠の中心と重ねるステップと、を含む。
【0014】
好適には、前記ロボット頭部の回動を制御して、前記現在フレーム画像の追跡枠を前記中心領域に移動させるステップは、ロボット頭部を水平方向及び垂直方向に回動させるように制御することで、追跡枠の中心を前記中心領域の境界範囲内に位置させるステップを含む。
【0015】
また、本発明に係る顔検出追跡装置は、画像を撮像して前記画像の奥行き検出処理を行い、前記画像における各画素ドットの奥行き値を取得するための奥行き検出処理モジュールと、現在フレーム画像における各画素ドットの奥行き値に基づいて顔候補領域を決定するための顔候補領域決定モジュールと、前記顔候補領域に対して顔を検証して、前記現在フレーム画像の顔枠を決定するための顔枠決定モジュールと、前記現在フレーム画像の顔枠及び追跡顔枠に基づき、前記現在フレーム画像の追跡枠を決定するとともに、前記現在フレーム画像の追跡枠内の顔を追跡するための顔追跡モジュールと、を含む。
【0016】
好適には、前記顔候補領域決定モジュールは、前記現在フレーム画像における各画素ドットの奥行き値に基づき、各画素ドットに対応する検出窓を決定するための検出窓決定サブモジュールと、前記検出窓に基づいて前記検出窓に隣接する隣接窓を決定するための隣接窓決定サブモジュールと、前記検出窓及び前記隣接窓が前記顔候補領域のマスク条件を満たすか否かを判断するためのマスク条件判断サブモジュールと、前記検出窓及び前記隣接窓が前記顔候補領域のマスク条件を満たす場合、前記検出窓を前記顔候補領域に決定するための候補領域決定サブモジュールと、を含む。
【0017】
好適には、前記顔追跡モジュールは、記現在フレーム画像が第1フレーム画像であるか否かを判断するための判断モジュールと、前記現在フレーム画像が第1フレーム画像であると判断した場合、前記現在フレーム画像における最も面積の大きい顔枠を前記現在フレーム画像の追跡枠に決定し、前記現在フレーム画像の追跡枠内の顔を追跡するための第1判断処理モジュールと、前記現在フレーム画像が第1フレーム画像でないと判断した場合、前記現在フレーム画像における最も面積の大きい顔枠が前記追跡顔枠の面積以上であるか否かを判断するための第2判断処理モジュールと、前記現在フレーム画像における最も面積の大きい顔枠が前記追跡顔枠の面積以上であると判断した場合、前記現在フレーム画像における最も面積の大きい顔枠を前記現在フレーム画像の追跡枠に決定し、前記現在フレーム画像の追跡枠内の顔を追跡するための第1追跡枠決定モジュールと、前記現在フレーム画像における最も面積の大きい顔枠が前記追跡顔枠の面積以上でないと判断した場合、前記追跡顔枠と前記現在フレーム画像の顔枠との交差領域を求め、前記交差領域内における追跡顔枠を現在フレーム画像の追跡枠とし、前記現在フレーム画像の追跡枠内の顔を追跡するための第2追跡枠決定モジュールと、を含む。
【0018】
また、本発明の係るロボット頭部の回動制御システムは、画像の中心領域を予め設定するための中心領域予め設定モジュールと、前記現在フレーム画像の追跡枠を決定するための、請求項11乃至13のいずれか一項に記載の顔検出追跡装置と、ロボット頭部の回動を制御して、前記現在フレーム画像の追跡枠を前記中心領域に移動させるための頭部回動制御モジュールと、を含む。
【0019】
従来技術と比べて、本発明は以下通りのメリットを有する。
本実施形態に係る顔検出認証方法及び顔検出認証装置では、まず、画像を撮像し、撮像された画像の奥行き検出処理を行い、画像における各画素ドットの奥行き値を決定する。次に、各画素ドットの奥行き値に基づいて顔候補領域を決定する。次に、顔候補領域内において顔を検出して現在フレーム画像の顔枠を決定する。こうすることで、誤検出率の低下及び顔検出精度の向上に有利である。最後に、現在フレーム画像の顔枠に基づき、現在フレーム画像の追跡枠を決定するとともに追跡枠内の顔を追跡する。こうすることで、検出された顔の連続性を保証することができる。
【0020】
本実施形態に係るロボット頭部の回動制御方法及びロボット頭部の回動制御システムでは、画像の中心領域を予め設定し、顔検出追跡方法により現在フレーム画像の追跡枠を決定し、ロボット頭部を回動させて追跡枠を中心領域に移動させる。さらに、このロボット頭部の回動制御方法では、現在フレーム画像の追跡枠及び画像の中心領域の位置に基づき、ロボットの左右回動や上下回動を制御することで、ロボットの動きがよりリアルになる。顔検出追跡方法により現在フレーム画像の追跡枠を決定することで、ロボット頭部回動中の動作のスムーズさの保証及び引っ掛かり現象の抑制に有利である。
【図面の簡単な説明】
【0021】
図1】本発明の第1実施形態に係る顔検出追跡方法を示すフローチャートである。
図2】本発明の第1実施形態に係る顔検出追跡方法を示す他のフローチャートである。
図3】本発明の第1実施形態の検出窓及び隣接窓を示す図である。
図4】本発明の第2実施形態に係るロボット頭部の回動制御方法を示すフローチャートである。
図5】本発明の第2実施形態の撮像された現在フレーム画像を示す図である。
図6】本発明の第3実施形態に係る顔検出追跡装置の原理を説明するための図である。
図7】本発明の第4実施形態に係るロボットの回動制御システムの原理を説明するための図である。
【発明を実施するための形態】
【0022】
以下、本発明の目的、特徴及び利点をより明確にするために、図面を参照しながら、本発明の好適な実施形態について詳しく説明する。
【0023】
(第1実施形態)
図1は、本発明の第1実施形態に係る顔検出追跡方法を示すフローチャートである。図2は、本発明の第1実施形態に係る顔検出追跡方法を示す他のフローチャートである。図1に示すように、顔検出追跡方法は、下記のステップを含む。
ステップS11では、画像を撮像して画像の奥行き検出処理を行い、画像における各画素ドットの奥行き値を取得する。なお、各フレーム画像は、I×J個の画素ドットを有する。画像における各画素ドット(i,j)は、第i行第j列の画素ドットであることを示す。画素ドット(i,j)の奥行き値は、d(i,j)とされる。本実施形態においては、奥行きセンサを用いて撮像された画像の奥行き検出処理を行い、各画素ドット(i,j)の奥行き値d(i,j)を取得する。
【0024】
ステップS12では、現在フレーム画像における各画素ドット(i,j)の奥行き値d(i,j)に基づき、顔候補領域を決定する。なお、顔候補領域は、顔が存在する可能性のある領域である。さらに、顔検出方法により、顔候補領域に対して顔検出を行うことから、顔検出の精度の向上に有利である。具体的には、ステップS12は、以下のステップを含む。
【0025】
ステップS121では、現在フレーム画像における各画素ドット(i,j)の奥行き値d(i,j)に基づき、各画素ドットに対応する検出窓w1を決定する。具体的には、現在フレーム画像における各画素ドット(i,j)の奥行き値d(i,j)に基づき、各画素ドット(i,j)に対応する顔幅s(i,j)を決定する。さらに、各画素ドット(i,j)を中心にし、画素ドット(i,j)に対応する顔幅s(i,j)を辺長として形成された正方形の検出枠を、画素ドット(i,j)に対応する検出窓w1とする。なお、各画素ドット(i,j)に対応する顔幅s(i,j)=奥行きセンサのフォーカスf×顔の平均幅
÷画素ドットの奥行き値d(i,j)、すなわち、次式(1)のようになる。
【0026】
【数1】
【0027】
ステップS122では、検出窓w1に基づいて検出窓w1に隣接する隣接窓を決定する。隣接窓は、検出窓w1の左側に設定された左窓w2と、検出窓w1の右側に設定された右窓w3と、検出窓w1の上側に設定された上窓w4とを含む。具体的には、ステップS122では、図3に示すように、検出窓w1の左側、右側及び上側に、検出窓w1を囲む左窓w2、右窓w3及び上窓w4をそれぞれ決定する。そして、左窓w2、右窓w3及び上窓w4と検出窓w1との間隔は、第1所定幅とされる。本実施形態において、第1所定幅が1/4顔幅s(i,j)の場合、1/4顔幅s(i,j)は、顔候補領域と非顔候補領域との境界となる。左窓w2及び右窓w3は、一辺が1/2顔幅s(i,j)、他辺が5/4の顔幅s(i,j)の矩形である。そして、左窓w2の下辺及び右窓w3の下辺と検出窓w1の下辺とは、面一状態となる。上窓w4は、一辺が1/2顔幅s(i,j)、他辺が5/2顔幅s(i,j)の矩形である。そして、上窓w4の左辺と左窓w2の左辺とは、面一状態となる。また、上窓w4の右辺と右窓w3の右辺とは、面一状態となる。本実施形態において、検出窓w1及び隣接窓(左窓w2、右窓w3及び上窓w4を含む)の各辺長は経験値であり、顔候補領域のマスク条件m(i,j)に関連する。
【0028】
ステップS123では、検出窓w1及び隣接窓が顔候補領域のマスク条件m(i,j)を満たすか否かを判断する。隣接窓は、左窓w2、右窓w3及び上窓w4を含む。具体的には、顔候補領域のマスク条件m(i,j)は、検出窓w1の平均奥行き値μw1(i,j)と画素ドットの奥行き値d(i,j)との差分値の絶対値が第1閾値τ1よりも小さく、且つ隣接窓の平均奥行き値(左窓の平均奥行き値μw2(i,j)、右窓の平均奥行き値μw3(i,j)及び上窓の平均奥行き値μw4(i,j)を含む)と画素ドットの奥行き値d(i,j)との差分値の絶対値が第2閾値τ2よりも小さいというものである。なお、第1閾値τ1は、第2閾値τ2よりも小さい。|μw1(i,j)―d(i,j)|<τ1、且つ|μw2(i,j)―d(i,j)|<τ2、|μw3(i,j)―d(i,j)|<τ2、|μw4(i,j)―d(i,j)|<τ2の場合には、顔候補領域のマスク条件m(i,j)が1、検出窓w1の所在する画素ドットが顔候補領域となる。逆の場合には、顔候補領域のマスク条件m(i,j)が0、検出窓w1の所在する画素ドットが顔候補領域とならない。本実施形態では、第1閾値τ1が100mm、第2閾値τ2が200mmである。
【0029】
検出窓の平均奥行き値は、検出窓w1における全ての画素ドットの奥行き値d(i,j)と対応する画素ドットの有効奥行き測定値v(i,j)の積の和を、全ての画素ドットの有効奥行き測定値v(i,j)の合計と定数εとの和で除した値である。隣接窓の平均奥行き値は、隣接窓における全ての画素ドットの奥行き値d(i,j)と対応する画素ドットの有効奥行き測定値v(i,j)の積の和を、全ての画素ドットの有効奥行き測定値v(i,j)の合計と定数εとの和で除した値である。ここでは、画素ドットの有効奥行き測定値が0または1、定数が0ではない。なお、検出窓w1、左窓w2、右窓w3及び上窓w4の平均奥行き値は、いずれも次式(2)により計算される。
【0030】
【数2】

ここで、εは、除数が0になることを避けるための定数である。
【0031】
具体的には、画素ドットの有効奥行き測定値は、以下のステップにより決定される。まず、画素ドットの奥行き値d(i,j)が0よりも大きく且つ第3閾値Tよりも小さいか否かを判断する。画素ドットの奥行き値d(i,j)が0よりも大きく且つ第3閾値Tよりも小さいと判断した場合、画素ドットの有効奥行き測定値は1となる。画素ドットの奥行き値d(i,j)が0よりも大きく且つ第3閾値Tよりも小さくないと判断した場合、画素ドットの有効奥行き測定値は0となる。ここで、第3閾値Tは、奥行きセンサのフォーカスfと顔の平均幅
の積を、最小顔幅
で除した値である。なお、画素ドットの奥行き値d(i,j)が第3閾値Tよりも大きい場合には、この画素ドットの検出窓s(i,j)の大きさが最小顔幅
よりも小さくなり、顔検出時に検出窓s(i,j)を識別することができなくなる。本実施形態では、最小顔幅
を20pixelに、Tを4.5mに設定する。
【0032】
ステップS124では、検出窓w1及び隣接窓が顔候補領域のマスク条件m(i,j)を満たす場合、検出窓w1が顔候補領域となる。なお、検出窓w1における各画素ドットの奥行き値d(i,j)は近い値であり、左窓w2、右窓w3及び上窓w4の各画素ドットの奥行き値d(i,j)と検出窓w1における各画素ドットの奥行き値d(i,j)との違いは大きい。このため、検出窓w1及び隣接窓が顔候補領域のマスク条件m(i,j)を満たす場合、検出窓w1が顔候補領域と認識されることになる。
【0033】
ステップS13では、顔候補領域に対して顔検出を行って、現在フレーム画像の顔枠を決定する。本実施形態において、Viola−Jones法という顔検出アルゴリズムにより、撮像された顔候補領域に対して顔検出を行う。Viola−Jones法では、画像を積分することで画像の特徴値を抽出し、顔検出の速度をある程度に上げることができる。さらに、Viola−Jones法では、Adaboost分類器の特徴によって特徴をフィルタリングし、最も有用な特徴を保留して検出時の演算の複雑さを減らすことで、顔検出の速度を上げることができる。また、Adaboost分類器は、Viola−Jones法により改造されて、カスケード型Adaboost分類器になることで、顔検出の精度を向上させることができる。なお、顔検出追跡方法では、本実施形態のViola−Jones法により、撮像された顔候補領域に対して顔検出を行って、各フレーム画像の顔枠を決定してもよいが、これに限定されない。
【0034】
ステップS14では、現在フレーム画像の顔枠及び追跡顔枠に基づき、現在フレーム画像の追跡枠を決定するとともに、現在フレーム画像の追跡枠内の顔を追跡する。追跡顔枠は、顔追跡アルゴリズムにより現在フレーム画像から追跡された顔枠である。なお、ステップS14では、前のフレーム画像から追跡された顔枠をその後のフレーム画像の追跡顔枠とするから、撮像されたフレーム画像において顔が存在せず、連続する何枚のフレーム画像の顔検出結果が連続的ではないことを避ける。ステップS14は、具体的に以下のステップを含む。
【0035】
ステップS141では、現在フレーム画像が第1フレーム画像であるか否かを判断する。
【0036】
ステップS142では、現在フレーム画像が第1フレーム画像の場合、現在フレーム画像における最も面積の大きい顔枠を現在フレーム画像の追跡枠として、現在フレーム画像の追跡枠内の顔を追跡する。なお、現在フレーム画像が第1フレーム画像の場合、追跡顔枠は現在フレーム画像における顔枠となる。また、現在フレーム画像内に1つ以上の顔枠が存在する可能性がある場合、各顔枠の面積はその幅と高さの積であり、現在フレーム画像における面積の最も大きい顔枠を選択して現在フレーム画像の追跡枠として、現在フレーム画像の追跡枠内の顔を追跡する。
【0037】
ステップS143では、現在フレーム画像が第1フレーム画像でない場合、現在フレーム画像における面積の最も大きい顔枠の面積が追跡顔枠の面積以上であるか否かを判断する。ここでは、追跡顔枠の面積は、その幅と高さの積となる。
【0038】
ステップS144では、現在フレーム画像における面積の最も大きい顔枠の面積が追跡顔枠の面積以上の場合、現在フレーム画像における面積の最も大きい顔枠を現在フレーム画像の追跡枠に決定し、現在フレーム画像の追跡枠内の顔を追跡する。
【0039】
ステップS145では、現在フレーム画像における面積の最も大きい顔枠の面積が追跡顔枠の面積未満の場合、追跡顔枠と現在フレーム画像の顔枠との交差領域を求めるとともに、交差領域内における追跡顔枠を現在フレーム画像の追跡枠として、現在フレーム画像の追跡枠内の顔を追跡する。追跡顔枠と顔候補領域との交差領域が存在しない場合、現在フレーム画像における面積の最も大きい顔枠を現在フレーム画像の追跡枠として、現在フレーム画像の追跡枠内の顔を追跡する。その際、元の追跡顔枠は、消えた顔となる。
【0040】
具体的には、圧縮追跡アルゴリズム(Compressive Tracking)により、現在フレーム画像の追跡枠内の顔を追跡する。圧縮追跡アルゴリズムは、具体的に以下のステップを含む。
【0041】
まず、前のフレーム画像から、複数枚のオブジェクト画像及び背景画像を撮像する。次に、オブジェクト画像及び背景画像をマルチスケール幾何変換してマルチスケール画像抽出特徴を得る。次に、疎な計測マトリックスを用いてマルチスケール画像抽出特徴に対して次元を縮退させて次元縮退特徴を得る。最後に、次元縮退特徴により単純ベイズ分類器をトレーニングし、現在フレーム画像のオブジェクト窓をフィルタリングする。ここでは、オブジェクト画像は、現在フレーム画像の追跡枠内において撮像された画像である。各オブジェクト画像は異なる。それに応じて、背景画像は、現在フレーム画像の追跡枠外において撮像された画像である。各背景画像は異なる。
【0042】
次に、現在フレーム画像のオブジェクト窓の周りにある複数の走査窓のオブジェクト画像を走査するとともに、走査窓のオブジェクト画像のマルチスケール画像抽出特徴を抽出する。これにより、現在フレーム画像全体の走査を避けることができる。次に、上述したように、疎な計測マトリックスを用いてマルチスケール画像抽出特徴に対して次元を縮退させて次元縮退特徴を得る。次に、現在フレーム画像からトレーニングされた単純ベイズ分類器を用いて次元縮退特徴を分類し、分類された分数の最も大きい窓を1フレーム後のフレーム画像のオブジェクト窓と認定する。こうすることで、前のフレーム画像からその1フレーム後のフレーム画像を追跡することを実現できる。なお、現在フレーム画像のオブジェクト窓の周りから複数の走査窓のオブジェクト画像を撮像してマルチスケール画像抽出特徴を抽出し、次いで、マルチスケール画像抽出特徴に対して次元を縮退させ、分類するように単純ベイズ分類器をトレーニングする。これにより、前のフレーム画像からその1フレーム後のフレーム画像を追跡することを実現できる。その結果、顔追跡アルゴリズムの処理範囲を縮小し、処理速度を上げることができる。
【0043】
本実施形態に係る顔検出認証方法では、まず、撮像された画像の奥行き検出処理を行い、画像における各画素ドットの奥行き値を決定する。次に、各画素ドットの奥行き値に基づいて顔候補領域を決定する。次に、顔候補領域内において顔を検出して現在フレーム画像の顔枠を決定する。こうすることで、誤検出率の低下及び顔検出精度の向上に有利である。最後に、現在フレーム画像の顔枠に基づき、現在フレーム画像の追跡枠を決定するとともに追跡枠内の顔を追跡する。こうすることで、検出された顔の連続性を保証することができる。
【0044】
(第2実施形態)
図4は、本発明の第2実施形態に係るロボット頭部の回動制御方法を示すフローチャートである。ロボットには、画像を撮像するための撮像装置と、画像の奥行きを検出するための奥行きセンサ及びプロセッサとが内蔵される。ロボット頭部の回動制御方法は、主にプロセッサによって実行され、下記のステップを含む。
【0045】
ステップS21では、画像の中心領域を予め設定する。図5に示すように、現在フレーム画像の左下隅を原点Oとする座標系OXYを定義し、予め設定された画像の幅をw、その高さをhとする。予め設定された画像の中心領域の幅が0.1w、その高さが0.1hの場合、予め設定された画像の中心領域の中心が予め設定された画像の中心に位置するため、予め設定された画像の中心領域の中心Aの座標は(0.5w,0.5h)となる。それに応じて、中心領域の左下隅の座標が(0.45w,0.45h)、左上隅の座標が(0.45w,0.55h)、右下隅の座標が(0.55w,0.45h)、右上隅の座標が(0.55w,0.55h)となる。なお、予め設定された画像の中心領域の境界範囲における幅の範囲が(0.45w〜0.55w)、高さの範囲が(0.45h〜0.55h)となる。
【0046】
ステップS22では、第1実施形態に係る顔検出追跡方法により、現在フレーム画像の追跡枠及び追跡枠の中心を決定し、現在フレーム画像の追跡枠の中心Bの座標(x0,y0)をリアルタイムに読み取る。なお、第1実施形態に係る顔検出追跡方法により顔を追跡する場合には、まず、画像における各画素ドットの奥行き値に基づいて顔候補領域を決定する。次に、顔候補領域に対して顔を検出する。これにより、誤検出率の低下及び顔検出の精度の向上に有利である。次に、現在フレーム画像の顔枠に基づき、現在フレーム画像の追跡枠を決定して追跡枠内の顔を追跡する。これにより、ロボット頭部回動中の動作のスムーズさの保証及び引っ掛かり現象の抑制に有利である。
【0047】
ステップS23では、ロボット頭部の回動を制御して、現在フレーム画像の追跡枠を中心領域に移動させる。なお、撮像された現在フレーム画像の追跡枠が移動すると、ロボット頭部を回動させる。これにより、現在フレーム画像の追跡枠を中心領域に維持して、顔の移動に伴うロボット頭部の回動を実現することができる。
【0048】
ステップS23は、下記のステップにより実現されてもよい。追跡枠の中心に対する中心領域の中心の水平ずれ量及び垂直ずれ量を計算し、ロボット頭部を水平方向に水平ずれ量で回動させるとともに垂直方向に垂直ずれ量で回動させる。これにより、中心領域の中心が追跡枠の中心と重なるようになる。
図5において、水平ずれ量が∠ABD、垂直ずれ量が∠ABCであり、A(0.5w,0.5h)、B(x0,y0)の場合、BD、AC、BC、AD及びABは次式(3)に示すようになる。余弦の法則により、cos∠ABD=BD/AB=a/cのため、水平ずれ量が∠ABD=arccos a/cになる。同様に、cos∠ABC=BC/AB=b/cのため、垂直ずれ量が∠ABC=arccos b/cになる。本実施形態において、ロボット頭部を水平方向に水平ずれ量∠ABDで移動させるとともに垂直方向に垂直ずれ量∠ABCで移動させると、ロボットにより撮像された現在フレーム画像の追跡枠の中心Bが中心領域の中心Aと重なる。これにより、ロボット頭部が検出された顔の移動に伴って回動して、ロボットの動きがよりリアルになる。
【0049】
【数3】
【0050】
また、ステップS23は、下記のステップにより実現されてもよい。ロボット頭部を水平方向及び垂直方向に回動させて、追跡枠の中心を中心領域の境界範囲内に位置させる。なお、ロボットは、現在フレーム画像の追跡枠の中心Bの座標(x0,y0)をリアルタイムに読み取るとともに、中心領域の境界範囲の幅の範囲である(0.45w〜0.55w)をx0と比較し、中心領域の境界範囲の高さの範囲である(0.45h〜0.55h)をy0と比較する。x0<0.45wの場合、ロボット頭部を左へ回動させる。x0>0.55wの場合、ロボット頭部を右へ回動させる。y0<0.45hの場合、ロボット頭部を下へおじきさせる。y0>0.55hの場合、ロボット頭部を上へ向かせる。追跡顔が画像の中心領域にある場合、ロボット頭部を動かさないままにする。この方法によれば、ロボット頭部が検出された顔の移動に伴って回動する過程が簡単になり、計算量が少なく、制御速度が速い。
【0051】
本実施形態に係るロボット頭部の回動制御方法では、内蔵撮影装置で画像を撮像して画像の中心領域を予め設定し、顔検出追跡方法により現在フレーム画像の追跡枠を決定し、ロボット頭部を回動させて追跡枠を中心領域に移動させる。さらに、このロボット頭部の回動制御方法では、現在フレーム画像の追跡枠及び画像の中心領域の位置に基づき、ロボットの左右回動や上下回動を制御することで、ロボットの動きがよりリアルになる。顔検出追跡方法により現在フレーム画像の追跡枠を決定することで、ロボット頭部回動中の動作のスムーズさの保証及び引っ掛かり現象の抑制に有利である。
【0052】
(第3実施形態)
図6は、本発明の第3実施形態に係る顔検出追跡装置1の原理を説明するための図である。図6に示すように、この顔検出追跡装置1は、奥行き検出処理モジュール10と、顔候補領域決定モジュール20と、顔枠決定モジュール30と、顔追跡モジュール40とを含む。
【0053】
奥行き検出処理モジュール10は、画像を撮像して画像の奥行き検出処理を行い、画像における各画素ドットの奥行き値を取得する。なお、各フレーム画像は、I×J個の画素ドットを有する。画像における各画素ドット(i,j)は、第i行第j列の画素ドットであることを示す。画素ドット(i,j)の奥行き値は、d(i,j)とされる。本実施形態においては、奥行きセンサを用いて撮像された画像の奥行き検出処理を行い、各画素ドット(i,j)の奥行き値d(i,j)を取得する。
【0054】
顔候補領域決定モジュール20は、現在フレーム画像における各画素ドット(i,j)の奥行き値d(i,j)に基づき、顔候補領域を決定する。なお、顔候補領域は、顔が存在する可能性のある領域である。さらに、顔検出方法により、顔候補領域に対して顔検出を行うことから、顔検出の精度の向上に有利である。顔候補領域決定モジュール20は、検出窓決定サブモジュール21と、隣接窓決定サブモジュール22と、マスク条件判断サブモジュール23と、候補領域決定サブモジュール24とを含む。
【0055】
検出窓決定サブモジュール21は、現在フレーム画像における各画素ドット(i,j)の奥行き値d(i,j)に基づき、各画素ドットに対応する検出窓w1を決定する。具体的には、現在フレーム画像における各画素ドット(i,j)の奥行き値d(i,j)に基づき、各画素ドット(i,j)に対応する顔幅s(i,j)を決定する。さらに、各画素ドット(i,j)を中心にし、画素ドット(i,j)に対応する顔幅s(i,j)を辺長として形成された正方形の検出枠を、画素ドット(i,j)に対応する検出窓w1とする。なお、各画素ドット(i,j)に対応する顔幅s(i,j)=奥行きセンサのフォーカスf×顔の平均幅
÷画素ドットの奥行き値d(i,j)、すなわち、
のようになる。
【0056】
隣接窓決定サブモジュール22は、検出窓w1に基づいて検出窓w1に隣接する隣接窓を決定する。隣接窓は、検出窓w1の左側に設定された左窓w2と、検出窓w1の右側に設定された右窓w3と、検出窓w1の上側に設定された上窓w4とを含む。図3に示すように、検出窓w1の左側、右側及び上側に、検出窓w1を囲む左窓w2、右窓w3及び上窓w4をそれぞれ決定する。そして、左窓w2、右窓w3及び上窓w4と検出窓w1との間隔は、1/N顔幅s(i,j)となる。ここでは、Nが1より大きい正整数である。
【0057】
本実施形態において、左窓w2、右窓w3及び上窓w4と検出窓w1との間隔が1/4顔幅s(i,j)の場合、1/4顔幅s(i,j)は、顔候補領域と非顔候補領域との境界となる。左窓w2及び右窓w3は、一辺が1/2顔幅s(i,j)、他辺が5/4の顔幅s(i,j)の矩形である。そして、左窓w2の下辺及び右窓w3の下辺と検出窓w1の下辺とは、面一状態となる。上窓w4は、一辺が1/2顔幅s(i,j)、他辺が5/2顔幅s(i,j)の矩形である。そして、上窓w4の左辺と左窓w2の左辺とは、面一状態となる。また、上窓w4の右辺と右窓w3の右辺とは、面一状態となる。本実施形態において、検出窓w1及び隣接窓(左窓w2、右窓w3及び上窓w4を含む)の各辺長は経験値であり、顔候補領域のマスク条件m(i,j)に関連する。
【0058】
マスク条件判断サブモジュール23は、検出窓w1及び隣接窓が顔候補領域のマスク条件m(i,j)を満たすか否かを判断する。隣接窓は、左窓w2、右窓w3及び上窓w4を含む。具体的には、顔候補領域のマスク条件m(i,j)は、検出窓w1の平均奥行き値μw1(i,j)と画素ドットの奥行き値d(i,j)との差分値の絶対値が第1閾値τ1よりも小さく、且つ隣接窓の平均奥行き値(左窓の平均奥行き値μw2(i,j)、右窓の平均奥行き値μw3(i,j)及び上窓の平均奥行き値μw4(i,j)を含む)と画素ドットの奥行き値d(i,j)との差分値の絶対値が第2閾値τ2よりも小さいというものである。なお、第1閾値τ1は、第2閾値τ2よりも小さい。|μw1(i,j)―d(i,j)|<τ1、且つ|μw2(i,j)―d(i,j)|<τ2、|μw3(i,j)―d(i,j)|<τ2、|μw4(i,j)―d(i,j)|<τ2の場合には、顔候補領域のマスク条件m(i,j)が1、検出窓w1の所在する画素ドットが顔候補領域となる。逆の場合には、顔候補領域のマスク条件m(i,j)が0、検出窓w1の所在する画素ドットが顔候補領域とならない。本実施形態では、第1閾値τ1が100mm、第2閾値τ2が200mmである。
【0059】
検出窓の平均奥行き値は、検出窓w1における全ての画素ドットの奥行き値d(i,j)と対応する画素ドットの有効奥行き測定値v(i,j)の積の和を、全ての画素ドットの有効奥行き測定値v(i,j)の合計と定数εとの和で除した値である。隣接窓の平均奥行き値は、隣接窓における全ての画素ドットの奥行き値d(i,j)と対応する画素ドットの有効奥行き測定値v(i,j)の積の和を、全ての画素ドットの有効奥行き測定値v(i,j)の合計と定数εとの和で除した値である。ここでは、画素ドットの有効奥行き測定値が0または1、定数が0ではない。なお、検出窓w1、左窓w2、右窓w3及び上窓w4の平均奥行き値は、いずれも
により計算される。ここで、εは、除数が0になることを避けるための定数である。
【0060】
具体的には、画素ドットの有効奥行き測定値は、以下のステップにより決定される。まず、画素ドットの奥行き値d(i,j)が0よりも大きく且つ第3閾値Tよりも小さいか否かを判断する。画素ドットの奥行き値d(i,j)が0よりも大きく且つ第3閾値Tよりも小さいと判断した場合、画素ドットの有効奥行き測定値は1となる。画素ドットの奥行き値d(i,j)が0よりも大きく且つ第3閾値Tよりも小さくないと判断した場合、画素ドットの有効奥行き測定値は0となる。ここでは、第3閾値Tは、奥行きセンサのフォーカスfと顔の平均幅
の積を、最小顔幅
で除した値である。なお、画素ドットの奥行き値d(i,j)が第3閾値Tよりも大きい場合には、この画素ドットの検出窓s(i,j)の大きさが最小顔幅
よりも小さくなり、顔検出時に検出窓s(i,j)を識別することができなくなる。本実施形態では、最小顔幅
を20pixelに、Tを4.5mに設定する。
【0061】
候補領域決定サブモジュール24は、検出窓w1及び隣接窓が顔候補領域のマスク条件m(i,j)を満たす場合、検出窓w1を顔候補領域に決定する。なお、検出窓w1における各画素ドットの奥行き値d(i,j)は近い値であり、左窓w2、右窓w3及び上窓w4の各画素ドットの奥行き値d(i,j)と検出窓w1における各画素ドットの奥行き値d(i,j)との違いは大きい。このため、検出窓w1及び隣接窓が顔候補領域のマスク条件m(i,j)を満たす場合、検出窓w1が顔候補領域と認識されることになる。
【0062】
顔枠決定モジュール30は、顔候補領域に対して顔検出を行って、現在フレーム画像の顔枠を決定する。本実施形態において、Viola−Jones法という顔検出アルゴリズムにより、撮像された顔候補領域に対して顔検出を行う。Viola−Jones法では、画像を積分することで画像の特徴値を抽出し、顔検出の速度をある程度に上げることができる。さらに、Viola−Jones法では、Adaboost分類器の特徴によって特徴をフィルタリングし、最も有用な特徴を保留して検出時の演算の複雑さを減らすことで、顔検出の速度を上げることができる。また、Adaboost分類器は、Viola−Jones法により改造されて、カスケード型Adaboost分類器になることで、顔検出の精度を向上させることができる。なお、顔検出追跡方法では、本実施形態のViola−Jones法により、撮像された顔候補領域に対して顔検出を行って、各フレーム画像の顔枠を決定してもよいが、これに限定されない。
【0063】
顔追跡モジュール40は、現在フレーム画像の顔枠及び追跡顔枠に基づき、現在フレーム画像の追跡枠を決定するとともに、現在フレーム画像の追跡枠内の顔を追跡する。追跡顔枠は、顔追跡アルゴリズムにより現在フレーム画像から追跡された顔枠である。具体的に、顔追跡モジュール40は、前のフレーム画像から追跡された顔枠をその後のフレーム画像の追跡顔枠とするから、撮像されたフレーム画像において顔が存在せず、連続する何枚のフレーム画像の顔検出結果が連続的ではないことを避ける。顔追跡モジュール40は、判断モジュール41と、第1判断処理モジュール42と、第2判断処理モジュール43と、第1追跡枠決定モジュール44と、第2追跡枠決定モジュール45とを含む。
【0064】
判断モジュール41は、現在フレーム画像が第1フレーム画像であるか否かを判断する。
【0065】
第1判断処理モジュール42は、現在フレーム画像が第1フレーム画像の場合、現在フレーム画像における最も面積の大きい顔枠を現在フレーム画像の追跡枠として、現在フレーム画像の追跡枠内の顔を追跡する。なお、現在フレーム画像が第1フレーム画像の場合、追跡顔枠は現在フレーム画像における顔枠となる。また、現在フレーム画像内に1つ以上の顔枠が存在する可能性がある場合、各顔枠の面積はその幅と高さの積であり、現在フレーム画像における面積の最も大きい顔枠を選択して現在フレーム画像の追跡枠として、現在フレーム画像の追跡枠内の顔を追跡する。
【0066】
第2判断処理モジュール43は、現在フレーム画像が第1フレーム画像でない場合、現在フレーム画像における面積の最も大きい顔枠の面積が追跡顔枠の面積以上であるか否かを判断する。ここでは、追跡顔枠の面積は、その幅と高さの積となる。
【0067】
第1追跡枠決定モジュール44は、現在フレーム画像における面積の最も大きい顔枠の面積が追跡顔枠の面積以上の場合、現在フレーム画像における面積の最も大きい顔枠を現在フレーム画像の追跡枠に決定し、現在フレーム画像の追跡枠内の顔を追跡する。
【0068】
第2追跡枠決定モジュール45は、現在フレーム画像における面積の最も大きい顔枠の面積が追跡顔枠の面積未満の場合、追跡顔枠と現在フレーム画像の顔枠との交差領域を求めるとともに、交差領域内における追跡顔枠を現在フレーム画像の追跡枠として、現在フレーム画像の追跡枠内の顔を追跡する。追跡顔枠と顔候補領域との交差領域が存在しない場合、現在フレーム画像における面積の最も大きい顔枠を現在フレーム画像の追跡枠として、現在フレーム画像の追跡枠内の顔を追跡する。その際、元の追跡顔枠は、消えた顔となる。
【0069】
具体的には、圧縮追跡アルゴリズム(Compressive Tracking)により、現在フレーム画像の追跡枠内の顔を追跡する。圧縮追跡アルゴリズムは、具体的に以下のステップを含む。
【0070】
まず、前のフレーム画像から、複数枚のオブジェクト画像及び背景画像を撮像する。次に、オブジェクト画像及び背景画像をマルチスケール幾何変換してマルチスケール画像抽出特徴を得る。次に、疎な計測マトリックスを用いて前記マルチスケール画像抽出特徴に対して次元を縮退させて次元縮退特徴を得る。最後に、次元縮退特徴により単純ベイズ分類器をトレーニングし、現在フレーム画像のオブジェクト窓をフィルタリングする。ここでは、オブジェクト画像は、現在フレーム画像の追跡枠内において撮像された画像である。各オブジェクト画像は異なる。それに応じて、背景画像は、現在フレーム画像の追跡枠外において撮像された画像である。各背景画像は異なる。
【0071】
次に、現在フレーム画像のオブジェクト窓の周りにある複数の走査窓のオブジェクト画像を走査するとともに、走査窓のオブジェクト画像のマルチスケール画像抽出特徴を抽出する。これにより、現在フレーム画像全体の走査を避けることができる。次に、上述したように、疎な計測マトリックスを用いてマルチスケール画像抽出特徴に対して次元を縮退させて次元縮退特徴を得る。次に、現在フレーム画像からトレーニングされた単純ベイズ分類器を用いて次元縮退特徴を分類し、分類された分数の最も大きい窓を1フレーム後のフレーム画像のオブジェクト窓と認定する。こうすることで、前のフレーム画像からその1フレーム後のフレーム画像を追跡することを実現できる。なお、現在フレーム画像のオブジェクト窓の周りから複数の走査窓のオブジェクト画像を撮像してマルチスケール画像抽出特徴を抽出し、次いで、マルチスケール画像抽出特徴に対して次元を縮退させ、分類するように単純ベイズ分類器をトレーニングする。これにより、前のフレーム画像からその1フレーム後のフレーム画像を追跡することを実現できる。その結果、顔追跡アルゴリズムの処理範囲を縮小し、処理速度を上げることができる。
【0072】
本実施形態に係る顔検出認証装置1では、奥行き検出処理モジュール10により撮像された画像の奥行き検出処理を行い、画像における各画素ドットの奥行き値を決定する。次に、顔候補領域決定モジュール20により、各画素ドットの奥行き値に基づいて顔候補領域を決定する。次に、顔枠決定モジュール30により、顔候補領域内において顔を検出して現在フレーム画像の顔枠を決定する。これにより、誤検出率の低下及び顔検出精度の向上に有利である。最後に、顔追跡モジュール40により、現在フレーム画像の顔枠に基づき、現在フレーム画像の追跡枠を決定するとともに追跡枠内における顔を追跡する。こうすることで、検出された顔の連続性を保証することができる。
【0073】
(第4実施形態)
図7は、本発明の第4実施形態に係るロボットの回動制御システムの原理を説明するための図である。ロボットには、画像を撮像するための撮像装置と、画像の奥行きを検出するための奥行きセンサ及びプロセッサとが内蔵される。ロボットの回動制御システムは、中心領域予め設定モジュール50と、顔検出追跡装置1と、頭部回動制御モジュール60とを含む。
【0074】
中心領域予め設定モジュール50は、画像の中心領域を予め設定する。図5に示すように、現在フレーム画像の左下隅を原点Oとする座標系OXYを定義し、予め設定された画像の幅をw、その高さをhとする。予め設定された画像の中心領域の幅が0.1w、その高さが0.1hの場合、予め設定された画像の中心領域の中心が予め設定された画像の中心に位置するため、予め設定された画像の中心領域の中心Aの座標は(0.5w,0.5h)となる。それに応じて、中心領域の左下隅の座標が(0.45w,0.45h)、左上隅の座標が(0.45w,0.55h)、右下隅の座標が(0.55w,0.45h)、右上隅の座標が(0.55w,0.55h)となる。なお、予め設定された画像の中心領域の境界範囲における幅の範囲が(0.45w〜0.55w)、高さの範囲が(0.45h〜0.55h)となる。
【0075】
顔検出追跡装置は、すなわち、第3実施形態に係る顔検出追跡装置であり、現在フレーム画像の追跡枠及び追跡枠の中心を決定し、現在フレーム画像の追跡枠の中心Bの座標(x0,y0)をリアルタイムに読み取る。なお、第1実施形態に係る顔検出追跡方法により顔を追跡する場合には、まず、画像における各画素ドットの奥行き値に基づいて顔候補領域を決定する。次に、顔候補領域に対して顔を検出する。これにより、誤検出率の低下及び顔検出の精度の向上に有利である。次に、現在フレーム画像の顔枠に基づき、現在フレーム画像の追跡枠を決定して追跡枠内の顔を追跡する。これにより、ロボット頭部回動中の動作のスムーズさの保証及び引っ掛かり現象の抑制に有利である。
【0076】
頭部回動制御モジュール60は、ロボット頭部の回動を制御して、現在フレーム画像の追跡枠を中心領域に移動させる。なお、撮像された現在フレーム画像の追跡枠が移動すると、ロボット頭部を回動させる。これにより、現在フレーム画像の追跡枠を中心領域に維持して、顔の移動に伴うロボット頭部の回動を実現することができる。
【0077】
頭部回動制御モジュール60は、追跡枠の中心に対する中心領域の中心の水平ずれ量及び垂直ずれ量を計算し、ロボット頭部を水平方向に水平ずれ量で回動させるとともに垂直方向に垂直ずれ量で回動させてもよい。これにより、中心領域の中心が追跡枠の中心と重なるようになる。
【0078】
図5において、水平ずれ量が∠ABD、垂直ずれ量が∠ABCであり、A(0.5w,0.5h)、B(x0,y0)の場合、BD、AC、BC、AD及びABは式
に示すようになる。余弦の法則により、cos∠ABD=BD/AB=a/cのため、水平ずれ量が∠ABD=arccos a/cになる。同様に、cos∠ABC=BC/AB=b/cのため、垂直ずれ量が∠ABC=arccos b/cになる。本実施形態において、ロボット頭部を水平方向に水平ずれ量∠ABDで移動させるとともに垂直方向に垂直ずれ量∠ABCで移動させると、ロボットにより撮像された現在フレーム画像の追跡枠の中心Bが中心領域の中心Aと重なる。これにより、ロボット頭部が検出された顔の移動に伴って回動して、ロボットの動きがよりリアルになる。
【0079】
頭部回動制御モジュール60は、ロボット頭部を水平方向及び垂直方向に回動させて、追跡枠の中心を中心領域の境界範囲内に位置させてもよい。なお、ロボットは、現在フレーム画像の追跡枠の中心Bの座標(x0,y0)をリアルタイムに読み取るとともに、中心領域の境界範囲の幅の範囲である(0.45w〜0.55w)をx0と比較し、中心領域の境界範囲の高さの範囲である(0.45h〜0.55h)をy0と比較する。x0<0.45wの場合、ロボット頭部を左へ回動させる。x0>0.55wの場合、ロボット頭部を右へ回動させる。y0<0.45hの場合、ロボット頭部を下へおじきさせる。y0>0.55の場合、ロボット頭部を上へ立ち上がる。追跡顔が画像の中心領域にある場合、ロボット頭部を動かさないままにする。この方法によれば、ロボット頭部が検出された顔の移動に伴って回動する過程が簡単になり、計算量が少なく、制御速度が速い。
【0080】
本実施形態に係るロボット頭部の回動制御システムでは、内蔵された撮影装置で画像を撮像し、中心領域予め設定モジュール50により画像の中心領域を予め設定し、第3実施形態に係る顔検出追跡装置1により現在フレーム画像の追跡枠を決定し、頭部回動制御モジュール60によりロボット頭部を回動させて追跡枠を中心領域に移動させる。さらに、このロボット頭部の回動制御システムでは、現在フレーム画像の追跡枠及び画像の中心領域の位置に基づき、ロボットの左右回動や上下回動を制御することで、ロボットの動きがよりリアルになる。顔検出追跡装置により現在フレーム画像の追跡枠を決定することで、ロボット頭部回動中の動作のスムーズさの保証及び引っ掛かり現象の抑制に有利である。
【0081】
以上、本発明の好適な実施例を挙げて説明したが、これは本発明を限定するものではなく、当業者であれば本発明の精神及び範囲を逸脱しない限り、各種の変動や潤色を加えることができる。また、特定の状況や具体的な状態に応じて、本発明は、その趣旨を逸脱しない範囲において、種々の変更が可能である。このため、本発明は、上記の好適な実施例に限定されず、本発明の技術的範囲に含まれるすべての実施形態を含むべきである。
【符号の説明】
【0082】
1 顔検出追跡装置
10 奥行き検出処理モジュール
20 顔候補領域決定モジュール
21 検出窓決定サブモジュール
22 隣接窓決定サブモジュール
23 マスク条件判断サブモジュール
24 候補領域決定サブモジュール
30 顔枠決定モジュール
40 顔追跡モジュール
41 判断モジュール
42 第1判断処理モジュール
43 第2判断処理モジュール
44 第1追跡枠決定モジュール
45 第2追跡枠決定モジュール
50 中心領域予め設定モジュール
60 頭部回動制御モジュール
【要約】
【課題】誤検出率の低下及び顔検出精度の向上に有利な顔検出追跡方法、及び、ロボット頭部回動中の動作のスムーズさの保証及び引っ掛かり現象の抑制に有利なロボット頭部の回動制御方法の提供。
【解決手段】本発明に係る顔検出追跡方法は、画像を撮像して前記画像の奥行き検出処理を行い、前記画像における各画素ドットの奥行き値を取得するステップと、現在フレーム画像における各画素ドットの奥行き値に基づいて顔候補領域を決定するステップと、 前記顔候補領域に対して顔を検証して、前記現在フレーム画像の顔枠を決定するステップと、前記現在フレーム画像の顔枠及び追跡顔枠に基づき、前記現在フレーム画像の追跡枠を決定するとともに、前記現在フレーム画像の追跡枠内の顔を追跡するステップと、を含む。
【選択図】図1
図1
図2
図3
図4
図5
図6
図7