人体検出装置及び人体検出方法、並びにコンピュータ・プログラム
【課題】 画像フレーム中から人体らしい対象物を検出し、その対象物を画像に捕捉し、少ない演算量で壁などの紋様による誤検出を排除し確実に顔を検出する。
【解決手段】 イメージ・センサと熱を感知するサーモパイル・アレイを持ち、 撮像範囲と熱検出範囲を重複させ、サーモパイル・アレイの出力が示す人体らしき範囲のみを顔抽出範囲と限定して不要な演算処理量を減らす。また、サーモパイル・アレイが人体を示すエリア情報から、顔のテンプレート・サイズを限定して演算処理を高速化する。サーモパイル・アレイからの出力が人体らしき反応を示す範囲を、イメージ・センサの撮影範囲にとどめるように駆動機構を制御する。
【解決手段】 イメージ・センサと熱を感知するサーモパイル・アレイを持ち、 撮像範囲と熱検出範囲を重複させ、サーモパイル・アレイの出力が示す人体らしき範囲のみを顔抽出範囲と限定して不要な演算処理量を減らす。また、サーモパイル・アレイが人体を示すエリア情報から、顔のテンプレート・サイズを限定して演算処理を高速化する。サーモパイル・アレイからの出力が人体らしき反応を示す範囲を、イメージ・センサの撮影範囲にとどめるように駆動機構を制御する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、生体情報に基づいて人体検出装置及び人体検出方法、並びにコンピュータ・プログラムに係り、特に、顔などの人体を撮影して得られる視覚データを基に人体を検出する人体検出装置及び人体検出方法、並びにコンピュータ・プログラムに関する。
【0002】
さらに詳しくは、撮影画像から顔領域を検出して顔認識する人体検出装置及び人体検出方法、並びにコンピュータ・プログラムに係り、特に、画像フレーム中からより高速に顔領域を抽出する人体検出装置及び人体検出方法、並びにコンピュータ・プログラムに関する。
【背景技術】
【0003】
人体の識別・検出技術は、個人認証などセキュリティ・システムとして、あるいはユーザに負担をかけないマンマシン・インターフェースとして開発されてきた。最近では、介護型ロボットやエンターテインメント型ロボット、あるいは各種のCE機器などにおいて、対面式のサービスを実現する際のヒューマン・インターフェースとして導入されつつある。例えば、ロボット装置は、人体認識により、多くの中からユーザ(飼い主又は友達、若しくは正当なユーザ)を識別することができる。そして、人体識別結果に基づいて、ユーザ毎にリアクションを変えるなどして、より親密でエンターテインメント性のあるものとなる。
【0004】
個人認証や大規模データベースからの人物検索などを目的とした人体認識システムでは、静的で且つ強力な計算機リソースを利用して、正確性を追及した処理が行なわれる。これに対し、ロボットやCE機器などにおいては、限られた演算能力で、且つサービス品質を保つためにリアルタイムに認識処理が行なわれることが望まれている。
【0005】
ここで、人の識別や認証を行なう際にシステム効率を上げるためには、人が近くにいる場合にのみその処理を実行することが望ましい。
【0006】
人が近くにいるかどうかを検出する方法としては、従来、セキュリティ機器やサニタリー機器などでは焦電センサや距離センサなどを用い、また、ロボットなどは画像データを基に顔検出、色検出などの方法を用いられている。
【0007】
焦電センサを使用する方法では、熱の揺らぎしか検出できず、物体の存在する方向や移動方向が判らない。また、センサ自体の時定数がデバイスの原理として大きく、動作中や停止後一定時間内は正しく測定できないという制限が存在するため、自らが動くロボットでの使用には最適とはいえない。
【0008】
距離センサを用いた方法では、近づいた物体が何であるかの判断はできない。また、人体がその距離にまで十分近づくことが必要であるため、人間との共生を目指すロボットしての人検出の用途には不十分である。
【0009】
また、画像データを基にした顔検出、色検出の方法では、全画面の画像データを処理するため、演算量が多く、システムとしての負荷が高いなどの欠点が存在する。
【0010】
人の識別・認証には、顔、声紋、虹彩、網膜毛細血管、指紋、手の指、甲などの特定の部位の特徴で構成される生体情報を利用する方法が一般的である。ところが、顔、声紋以外は、人が認証を意識した所作、例えば、目や手の甲などを識別装置にかざしたりする行為が必要となるため、ユーザにとって煩わしい。また、人との共生を目指すロボットの場合、家庭やオフィスなどでそのような認証を意識したユーザの行為は不自然である。また、複数の人を同時に識別できないという問題点もある。
【0011】
また、音声による識別・認証方法では、人が声を発しないと識別できない、識別した人がどの方向にいるのかを特定できない、複数の人が同時に話をすると識別するのが難しい、といった問題がある。
【0012】
上述したような理由から、人を識別するロボットには、視覚データによる顔識別を行なう方法が有力であると思料される。
【0013】
顔認識技術自体は、パターン認識理論を検証する上でベンチマーク的な位置付けを持っており、古くからさまざまな手法が開発されてきた。また、ユーザに負担をかけないマンマシン・インターフェースとして期待されている。
【0014】
ところが、ロボットを始めとする対面式のシステムへの適用した場合、動的に変化する環境下で一定時間内に応答できること、すなわちリアルタイムに認識処理が行なわれることが望まれる。また、組み込みシステムで利用する場合には、比較的低い演算能力を以ってリアルタイム性を実現する必要がある。
【0015】
また、ロボット装置に搭載される顔識別のアプリケーションでは、ある与えられた1枚のシーンの中から人物を識別するという問題に加え、次のような問題を解決する必要がある。
【0016】
(1)ロボット装置自身が移動するため、環境の変化やその多様性を許容しなくてはならない。
(2)人間とロボット装置の位置関係も変化するため、インタラクション中に人間を視野内に入れ続ける必要がある。
(3)数多くのシーン画像から人物の識別に使える画像を選び出し、総合的に判断しなくてはならない。
(4)ある時間内に応答しなくてはならない。
【0017】
顔認識処理は、静止画又は動画などの画像フレーム中からユーザの顔の位置を同定したり顔の向きを認識したりする顔領域の抽出(若しくは顔検出)と、抽出された顔領域の画像情報を基に人物の顔を識別若しくは認識する顔識別という2つの工程に大別される。顔識別の手法としては、顔の各要素の相対的位置関係を用いたアルゴリズムや、幾何学的に不変の特徴と統計的な特徴の部分を組み合わせたアルゴリズム、局所的な特徴とその構成に重点を置いたアルゴリズムなどが挙げられる(例えば、非特許文献1を参照のこと)。初期は横顔を使った認識技術も検討されたが、現在は、正面画像の認識技術が中心となっている。
【0018】
このような顔認識の処理負荷を低減し、リアルタイム処理を実現するには、人の顔をいかに画像フレームにいれるか、また、リアルタイムで顔の部分をいかに抽出し、識別するかが重要である。
【0019】
顔検出方法としては、固有顔、ニューラル・ネットワーク及びサポートベクタマシン(SVM:Suport Vector Machine)などのパターン認識の手法を利用して、あらかじめ顔パターンを学習させて識別器を生成する方法が挙げられる(例えば、特許文献1を参照のこと)。
【0020】
例えば、SVMは、識別関数に線形識別器(パーセプトロン)を用いた学習機械であり、カーネル関数を使うことで非線形空間に拡張することができる。また、識別関数の学習では、クラス間分離のマージンを最大にとるように行なわれ、その解は2次数理計画法を解くことで得られるため、グローバル解に到達できることを理論的に保証することができる。SVMは、パターン認識の分野で最も学習汎化能力が高いとされる(例えば、非特許文献2を参照のこと)。
【0021】
このようなパターン識別器を生成する方法によると、ロボット装置は、膨大なデータ量である顔画像データに対して学習によるパターン識別を行なうに当たって、環境の変化や自己の姿勢及び表情の変化に対してロバスト性を示す。しかしながら、その分だけ当該パターン識別に要する演算量が増加するため、演算処理に要する時間が膨大になるという問題点がある。
【0022】
撮像画像の中から人間の顔画像を検出するプロセスにおいては、当該撮像画像の中から顔画像を切り出しながら識別を行なうので、撮像画像全体をさまざまなスケールでスキャンすることとなる。カメラの高解像度化に伴い、膨大数の画素から顔の位置を探索しなければならなくなる。すなわち、画像フレームから顔の位置を同定し顔領域を抽出する顔検出が、顔認識処理のボトルネックの1つとなる。このため、一回一回のパターン識別に要する演算処理を極力少なくすることが極めて重要である。
【0023】
とりわけ、ロボット装置に利用する場合には、動画の中から十分に早く顔画像を検出しなければ、リアルタイム性が要求される行動制御にフィードバックすることが極めて困難となる。さらに、ロボット装置の内部のCPUは、顔検出のタスク以外にも、姿勢安定制御や行動制御などの常時実行しているタスクが多くある。すなわち、これらの常態的なタスクに対して演算能力を費やしている分、顔検出のタスクに対してフルに演算能力を費やすことは極めて困難である。
【0024】
例えば、入力画像と平均的な顔画像を示す所定サイズのテンプレートとの相関をとった相関値の集合からなるマッチング結果を生成し、このマッチング結果で得られる相関値の局所最大値に基づいて顔候補を抽出し、顔候補に相当する入力画像領域から顔領域を識別する顔検出装置について提案がなされている(例えば、特許文献2を参照のこと)。このような顔検出装置によれば、演算量を低減してリアルタイム性を向上することができるが、全画面をスキャンすることには変わりなく、壁なども紋様による誤検出の可能性を低減させるものではない。
【0025】
また、一般的な顔検出アルゴリズムは、対象となる顔が横向きであったり、傾きがあったりした場合には検出精度が著しく落ちてしまう。それを補うために色情報を利用する方法もある。この場合、低い計算コストで行なえるというメリットもあるが、肌色の物体との区別が困難であり、また、環境色温度の影響、人種などの個人差などの影響を排除することが極めて困難である。このため、一度顔を見つけた後、色情報で補間するなども行なわれている例があるが、最初に顔を見つけることそのものの課題を克服していない。
【0026】
【特許文献1】特開2002−157596
【特許文献2】特開2004−30629号公報
【非特許文献1】社団法人情報処理学会編「新版 情報処理ハンドブック」(オーム社、平成7年11月25日p.1193)
【非特許文献2】B.Sholkopf、C.Burges、A.Smola共著“Advance in Kernel Methods Support Vector Learning”(The MIT Press,1999)
【発明の開示】
【発明が解決しようとする課題】
【0027】
本発明の目的は、顔などの人体を撮影した画像を基に人体を好適に検出することができる、優れた人体検出装置及び人体検出方法、並びにコンピュータ・プログラムを提供することにある。
【0028】
本発明のさらなる目的は、撮影画像から顔領域を好適に検出して顔認識を行なうことができる、優れた人体検出装置及び人体検出方法、並びにコンピュータ・プログラムを提供することにある。
【0029】
本発明のさらなる目的は、画像フレーム中から人体らしい対象物を検出し、その対象物を画像に捕捉し、少ない演算量で、壁などの紋様による誤検出を排除し確実に顔を検出することができる、優れた人体検出装置及び人体検出方法、並びにコンピュータ・プログラムを提供することにある。
【課題を解決するための手段】
【0030】
本発明は、上記課題を参酌してなされたものであり、その第1の側面は、視覚データに基づいて人体を検出する人体検出装置であって、
画像を撮像する撮像部と、
熱分布に関する情報を検出する熱情報検出部と、
前記撮像部における撮像範囲と前記熱情報検出部における熱検出範囲を重複させるように配置する検出範囲設定手段と、
前記熱検出範囲のうち人体が持つ熱量が検出された領域に相当する撮像領域を人体抽出範囲として撮像画像から取り出す人体抽出手段と、
を具備することを特徴とする人体検出装置である。
【0031】
ユーザに負担をかけないマンマシン・インターフェースとして人体の識別・検出技術が開発されてきた。なかでも、カメラの撮像画像などの視覚データによる顔認識は、ユーザに認識を意識させる必要がないことや、複数の人を同時に識別できることなどの理由により、有望である。顔認識は、画像フレーム中からユーザの顔の位置を同定して顔領域を抽出する顔検出と、顔領域の画像情報を基に人物の顔を識別する顔識別で構成される。
【0032】
ここで、顔検出のプロセスでは、顔画像を切り出しながら識別を行なうので、撮像画像全体をさまざまなスケールでスキャンすることとなり、処理負荷が高い。また、カメラの高解像度化に伴い、膨大数の画素から顔の位置を探索しなければならなくなる。
【0033】
これに対し、本発明によれば、撮像部としてのイメージ・センサなどでユーザの顔を含む画像フレームを捕捉する一方、熱情報検出部としてのサーモパイル・アレイなどを用いて熱分布に関する2次元情報を取得する。そして、前者の撮像範囲と後者の熱検出範囲を重複させるように配置し、顔など人体が持つ熱量が検出された領域すなわち人体らしき範囲のみを顔抽出範囲として撮像画像から取り出して顔検出処理を行なう。
【0034】
すなわち、本発明によれば、イメージ・センサが出力する全画像データのうち、人体らしき部分のみを顔抽出範囲に限定し、不要な演算処理量を削減することにより、顔検出処理を高速化することができる。
【0035】
通常、人は衣服をまとっており、また、季節によって衣服の生地の厚さが異なるが、顔は露出していることが多い。したがって、サーモパイル・アレイで検出した人体と思われるエリアを顔検出の対象エリアとして考えることができる。この処理により、処理対象のエリアを限定するとともに、壁などの紋様による誤検出をほぼ無くすことができる。
【0036】
例えば、イメージ・センサとサーモパイル・アレイが上下に配置されている場合には、撮像画像のうち人体が持つ熱量が検出された領域を含む縦方向の帯状の領域を、顔抽出範囲として取り出すことができる。
【0037】
ここで、顔検出処理には、平均的な顔画像を示す、サイズの異なる複数のテンプレートを備え、各サイズのテンプレートを用いて顔抽出領域をスキャンしてマッチングを行なうという、テンプレート・マッチングを導入することができる。この場合、各サイズのテンプレート毎に、限定された顔抽出範囲をスキャンして、テンプレートとの相関値が最も高い(すなわち局所最大となる)位置を顔候補として抽出することができる。そして、テンプレート毎に求められた相関の局所最大値を比較し、このうち最大となるテンプレートを用いて求められた位置を顔候補として抽出することができる。
【0038】
画像フレームに含まれる顔のサイズは、遠近若しくはレンズのズームの程度や、個人差によって区々である。このため、画像フレーム中から顔候補となる位置を特定するには、サイズの異なるテンプレートを複数用意する必要がある。ところが、領域が限定されているとはいえ、すべてのテンプレートで顔抽出範囲をスキャンすると、処理に要する演算負荷は過大である。そこで、顔検出対象エリアの大きさから顔テンプレートのサイズを推測し、使用するテンプレートのサイズを限定することにより、演算処理を高速化するようにしてもよい。
【0039】
また、本発明に係る人体検出装置を、ロボット装置やその他の移動体装置に適用した場合、ある与えられた1枚のシーンの中から人物を識別するという問題に加え、人体あるいはロボット装置自身の移動により位置関係が変化することから、インタラクション中に人間を視野内に入れ続ける必要がある。
【0040】
そこで、人体検出装置は、前記画像情報取得部において取得する画像の撮像方向及び前記熱情報取得部において取得される熱検出方向を駆動する駆動手段をさらに備え、人体とロボット装置の位置関係の変化に応じて人体をトラッキングし、常に人体が撮像範囲並びに熱検出範囲に収まるようにしてもよい。
【0041】
サーモパイル・アレイで人体と思われるエリアを発見しても、それが人体の顔であるにも拘らず、撮像画像から顔検出を行なった結果、顔と判断されない場合は、そのエリアをサーモパイル・アレイの情報を基に、装置の駆動装置を使用し、サーモパイル・アレイのセンシング範囲に収めるようトラッキングを行なうことで、顔の検出の機会を増やすことができる。
【0042】
このようなトラッキング処理を、サーモパイル・アレイの出力に基づいて行なうことで、イメージ・センサからの画像データによる移動検出処理よりも少ない演算処理量で実現することができる。
【0043】
また、上記の状態で顔検出の結果を待たずに動きのある熱量を人体と仮定し、そのエリアに向かって行動する(例えば、挨拶や呼びかけを行なう)ことで、顔を装置に向けるよう積極的に働きかけるようにしてもよい。
【0044】
なお、前記熱情報検出部において人体が持つ熱量が検出されなかったときには、前記人体抽出手段の動作を停止し、人体が持つ熱量が検出されたことに応答して前記人体抽出手段の動作を起動するようにしてもよい。この場合、人体が検出範囲に存在していない期間は前記人体抽出手段による無駄な動作をなくし、消費電力を削減することができる。あるいは得られた余剰の演算処理能力を他の処理に有効に活用することができる。
【0045】
また、本発明の第2の側面は、視覚データに基づいて人体を検出するための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、
撮像画像を取得する画像情報取得ステップと、
熱分布に関する情報を取得する熱情報取得ステップと、
前記撮像画像における撮像範囲と前記熱情報における熱検出範囲を重複させるように配置する検出範囲設定ステップと、
前記熱検出範囲のうち人体が持つ熱量が検出された領域に相当する撮像領域を人体抽出範囲として撮像画像から取り出す人体抽出ステップと、
を具備することを特徴とするコンピュータ・プログラムである。
【0046】
本発明の第2の側面に係るコンピュータ・プログラムは、コンピュータ・システム上で所定の処理を実現するようにコンピュータ可読形式で記述されたコンピュータ・プログラムを定義したものである。換言すれば、本発明の第2の側面に係るコンピュータ・プログラムをコンピュータ・システムにインストールすることによって、コンピュータ・システム上では協働的作用が発揮され、本発明の第1側面に係る人体検出装置と同様の作用効果を得ることができる。
【発明の効果】
【0047】
本発明によれば、顔などの人体を撮影した画像を基に人体を好適に検出することができる、優れた人体検出装置及び人体検出方法、並びにコンピュータ・プログラムを提供することができる。
【0048】
また、本発明によれば、撮影画像から顔領域を好適に検出して顔認識を行なうことができる、優れた人体検出装置及び人体検出方法、並びにコンピュータ・プログラムを提供することができる。
【0049】
また、本発明によれば、画像フレーム中から人体らしい対象物を検出し、その対象物を画像に捕捉し、少ない演算量で、壁などの紋様による誤検出を排除し確実に顔を検出することができる、優れた人体検出装置及び人体検出方法、並びにコンピュータ・プログラムを提供することができる。
【0050】
顔検出処理での演算量は、処理にかける総画素数と顔テンプレート数の積に比例する。したがって、本発明によれば、顔検出のエリアを全画面の1/8、顔テンプレート数を従来の3/16とした場合には、従来の処理量を3/128まで低減させることができる。
【0051】
また、画像データのみを使用した顔検出処理で発生していた顔以外のものを顔と判断してしまう誤検出を、本発明では、サーモパイル・アレイによる熱量を併せて使用することによりほぼなくすことが可能である。
【0052】
すなわち、本発明によれば、装置の顔検出のリアルタイム性と精度を向上させることが可能である。
【0053】
ここで、サーモパイル・アレイが熱量を検出していない状態では、顔検出処理を停止するようにしてもよい。この場合、プロセッサの演算処理能力を別の処理に振り分けるようにしてもよい。例えば、各関節の駆動制御や姿勢制御を継続的に行なわなければならないロボット装置や、顔検出のための専用プロセッサを配置することが困難な組み込み機器においては、専用プロセッサを用いる必要がないことから、低コストのシステム設計が可能となる。勿論、演算処理を行なわないことにより、消費電力の低減が可能となる。消費電力の低減は、バッテリーで動作する装置においては、バッテリー本数を増やすことなく総稼働時間を引き伸ばすことが可能となる。
【0054】
また、本発明によれば、従来の顔検出に必要なほどの演算能力を必要としないため、従来よりも安価な演算コストでシステムを構築することができる。
【0055】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【発明を実施するための最良の形態】
【0056】
以下、図面を参照しながら本発明の実施形態について詳解する。
【0057】
図1には、本発明の一実施形態に係る人体検出装置の構成を模式的に示している。同図に示す人体検出装置は、センサ部10と、情報制御部20と、運動制御部30で構成される。この人体検出装置は、例えばロボット装置やその他の対面式作業を行なう機械装置類、個人認証などを行なうCE機器などに組み込んで利用することができるが、その利用形態は特に限定されない。
【0058】
センサ部10は、周囲画像を撮影するイメージ・センサ11と、2次元的な熱分布情報を捕捉するサーモパイル・アレイ12で構成される。
【0059】
イメージ・センサ11は、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)などの受光素子を2次元的に配列して構成された撮像デバイスと、この撮像面に集光・結像する光学レンズなど(いずれも図示しない)で構成される。
【0060】
また、サーモパイル・センサは、無数の熱電対を直列に接続して構成される放射温度計のセンサである。サーモパイル・アレイは、サーモパイル・センサを2次元平面上に配列したものであり、電気的走査により熱分布の測定を行なうことができる。
【0061】
後述するように、イメージ・センサ11における撮像範囲とサーモパイル・アレイ12における熱検出範囲を重複させるように配置される。
【0062】
情報制御部20は、イメージ・センサ11において撮像された画像の処理を行なう画像データ処理部21と、サーモパイル・アレイ12から入力される熱分布データから人体と思しきエリアを抽出する熱条件判定及びエリア抽出部22と、そこで抽出されたエリアを基に顔検出を行なう画像エリアを特定し適切な顔テンプレートを選ぶ部分23、並びに、限定されたエリアにおいて顔検出を実行する顔検出演算部24を備えている。情報処理メイン部25は、人体検出装置全体の動作を統括的に制御するメイン・コントローラであり、顔検出により得られた情報を基に次の行動を決定することができる。
【0063】
運動制御部30は、情報制御部20からの命令を受け実際の制御を行なうサーボ部31と、サーボ部31からの指示値に基づいて駆動する幾つかのアクチュエータ32を備えている。運動制御部30は、例えば、本実施形態に係る人体検出装置を搭載したロボット装置である。あるいは、運動制御部30は、熱分布情報に基づいて人体エリアをトラッキングする駆動装置(後述)を構成する。
【0064】
図2には、本実施形態に係る人体検出装置において、顔検出を行なうための処理手順をフローチャートの形式で示している。
【0065】
サーモパイル・アレイから熱分布に関するデータを取得すると(ステップS1)、次の処理で人体らしきデータがあるかどうかの判定にかける(ステップS2)。そして、人体らしきデータがあるまでループする。
【0066】
人体らしきデータがあったと判断されたときには、顔検出エリア決定の処理と(ステップS3)、顔テンプレート・サイズの決定の処理を経た後(ステップS4)、実際の顔検出処理を行なう(ステップS5)。
【0067】
ここで、顔検出できなかった場合には(ステップS6)、ステップS4に戻って顔テンプレート・サイズの見直しがなされた後、顔検出の処理を改めて行なう。
【0068】
イメージ・センサ11により撮像された画像フレームのうち、顔など人体が持つ熱量が検出された人体らしき範囲のみに限定して顔検出処理を行なう。このため、イメージ・センサ11における撮像範囲とサーモパイル・アレイ12における熱検出範囲を重複させるように配置する。ここで、イメージ・センサ11とサーモパイル・アレイ12の各センサの物理的な配置について説明する。
【0069】
イメージ・センサ11とサーモパイル・アレイ12は、イメージ・センサ11の画像中心軸と、サーモパイル・アレイ12のセンス・エリアの中心軸がほぼ平行となるように配置する。且つ、両デバイスが検出するエリアは重なるようにする。
【0070】
図3には、イメージ・センサ11とサーモパイル・アレイ12それぞれの検出範囲を図解している。同図に示すように、イメージ・センサ11の検出エリアの中心と、サーモパイル・アレイ12での熱検出エリアの中心が同一点である場合、サーモパイル・アレイ12上で人体を示す位置と、イメージ・センサ11上で人体を映す位置は、対象物との距離に依らず一意に決まる。
【0071】
図4には、イメージ・センサ11とサーモパイル・アレイ12それぞれの検出範囲を横から眺めている。同図に示すように、イメージ・センサ11の垂直方向の画角は中心軸からβの角度を持ち、サーモパイル・アレイ12のセンス角度が中心軸からαの角度を持っており、また、被検出物の重心が中心軸からγの角度に位置したとする。
【0072】
このとき、被検出物体の重心がサーモパイル・アレイ12が持つ検出エリアの上半分のうち1/εの高さとした場合、イメージ・センサ11上では、その上半分の、1/ζの高さに存在することが判る。1/εと1/ζその関係は、以下の通りとなる。
【0073】
1/ε=tanγ/tanα
1/ζ=tanγ/tanβ
1/ζ=(tanα/ε)/ tanβ=tanα/(ε×tanβ)
【0074】
よって、サーモパイル・アレイ12の出力とイメージ・センサ11の出力の垂直位置関係は、両センサのセンス角がそれぞれα、βと異なっていても既知であれば一意に決まる。同様のことが水平位置に関しても当てはまる。
【0075】
以後の説明では、便宜上、両センサのセンス角を同一として扱うことにする。
【0076】
図5には、イメージ・センサ11が捕捉した人物と背景からなる撮像画像の例を示している。また、図6には、同じ検出範囲においてサーモパイル・アレイ12により計測された熱分布情報を示している。さらに図7には、N×Mのサーモパイル・アレイ12が実際に出力するデータを示している。但し、同図では、温度が高い部分ほどより濃い網目模様で描いている。
【0077】
ここで、人体に近い温度を示すエリアを参照番号1で指し示すとする。人体に近い温度とは、成人の平熱といわれる36.0〜36.5度を基準として、発熱やその他の環境を考慮して適切なマージンをとった値のことである。周囲環境に応じてマージンを変更することで、確度を変更することが可能である。以下の条件式において、条件1及び条件2がともに真である場合、人体に近い温度とする。
【0078】
条件1: (成人の平熱)−マージン1<測定データ
条件2: (成人の平熱)+マージン2>測定データ
【0079】
但し、サーモパイル・アレイ11の1アレイが示す温度はそのエリアの平均データである。このため、人体を覆うエリアであっても、そのエリア全体を人体が覆った部分でないと、人体と重なっていない部分との平均がとられることにより、エリアとして検出される温度は低下するため、その人体に近い温度を示さない。すなわち、人体が持つ熱量が検出されるエリアは、実際に人体が存在するエリアよりも縮退したものとなる。
【0080】
そこで、本実施形態では、参照番号1で示される人体に近い温度が検出されたエリアからさらに適当な範囲を広げたエリア2に拡張して、その部分に対応する画像データのみを顔検出演算処理にかけるようにする。図7には、N×Mのサーモパイル・アレイ12の出力データにおいて、人体に近い温度が示されるエリア1に対し、マージンを考慮して設定される顔検出エリア2を示している。また、図8には、イメージ・センサ11による撮影画像において、人体に近い温度が検出されるエリア1、並びにマージンを考慮して設定されるエリア2がそれぞれ示されている様子を示している。
【0081】
図3及び図4に示したように、イメージ・センサ11の検出エリアの中心と、サーモパイル・アレイ12での熱検出エリアの中心が同一点となるようにセンサ部10を構成することが理想的である。この場合、サーモパイル・アレイ12上で人体を示す位置と、イメージ・センサ11上で人体を映す位置は、対象物との距離に依らず一意に決まる。ところが、実際の設計では、イメージ・センサ11とサーモパイル・アレイ12を同軸上に配置できない場合が多い。図9及び図10には、イメージ・センサ11とサーモパイル・アレイ12を同軸上に配置できない構成例をそれぞれ示している。
【0082】
図9に示す例では、イメージ・センサ11とサーモパイル・アレイ12は互いの中心軸を平行に保ちながら上下方向に離間して配設されている。
【0083】
上下方向ではなく左右方向に離間して同様に配設した場合には、横から眺めた図4に示したような関係が成り立つので、両エリア内での被検出物体の上下方向の位置は、非検出物体との距離によらず一意に求めることができる。これに対し、上下方向に離間して配置した場合には、両エリア内での上下方向の位置関係が、被検出物体との距離によって大きく変わってしまう。
【0084】
図11には、イメージ・センサ11とサーモパイル・アレイ12は互いの中心軸を平行に保ちながら上下方向に離間して配設した場合の、イメージ・センサ11とサーモパイル・アレイ12のそれぞれにより物体を検出する様子を示している。同図に示す例では、サーモパイル・アレイ12上であるセンス角で検出した物体は、センサとの距離によって、参照番号3や4で示す位置などに存在する場合があるが、その区別はサーモパイル・アレイ12の出力からでは区別がつかない。
【0085】
図12には、参照番号3や4で示す位置に物体があった場合において、イメージ・センサ11で捕捉される撮像画像を示している。同図に示すように、撮像画像中では、これらの被検出物体はそれぞれ参照番号5並びに6で示す位置に出現しており、区別することはできるが、サーモパイル・アレイ12の出力とイメージ・センサ11のデータに正確な相関を求めることはできない。
【0086】
ここで、イメージ・センサ11とサーモパイル・アレイ12は互いの中心軸を平行に保ちながら上下方向に離間して配設されている。このことから、参照番号5及び6のほぼ中心を通過する、上下方向に伸びる軸7上に所望の被検出物体が存在する可能性が高い。
【0087】
したがって、被検出物体までの距離が既知でない場合には、図7に示したように人体が持つ熱量が検出されるエリアにマージンを設けるだけでなく、図12に示したように上下方向(言い換えれば、イメージ・センサ11とサーモパイル・アレイ12を離間して配置する方向)に顔抽出範囲を拡張することにより、位置5及び6、又はそれ以外の位置に存在する可能性のある被検出物体を確実に検出できるようになる。図12に示す例では、軸7を中心に上下方向に伸びる帯状の拡張エリア8上をスキャンして、顔検出を行なう。
【0088】
顔抽出範囲を拡張する方法として、例えば2通りの方法を挙げることができる。図9に示す例では、サーモパイル・アレイ12上において中心又は中心より上に被検出物体が存在する場合は、イメージ・センサ11の上半分のエリアを顔検出処理にかけ、それ以外の場合は縦方向にすべて拡張したエリアを顔検出にかける。人体検出装置のセンサ部10を、人体より低い位置に配置することで、イメージ・センサの上半分のエリアで顔検出が行なわれる確率を上げることが可能である。
【0089】
顔検出の方法として、平均的な顔画像を示す所定サイズのテンプレートすなわち顔テンプレートを用いる方法が挙げられる。この場合、顔テンプレートを、例えば図12中で軸7に沿ってスキャンし、各位置における画像領域と顔テンプレートとの相関をとり、高い相関値が得られた位置を顔候補として抽出することができる。
【0090】
画像フレームに含まれる顔のサイズは、遠近若しくはレンズのズームの程度や、個人差によって区々である。このため、画像フレーム中から顔候補となる位置を特定するには、サイズの異なる複数の顔テンプレートを用意すればよい。
【0091】
ここで、領域が限定されているとはいえ、すべてのテンプレートで顔抽出範囲8をスキャンすると、処理に要する演算負荷は過大となってしまう。そこで、顔検出対象エリアの大きさから顔テンプレートのサイズを推測し使用するテンプレートのサイズを限定することにより、演算処理を高速化するようにしてもよい。例えば、サーモパイル・アレイ12が示す熱のエリア範囲9より最も近いサイズから順に顔テンプレート・サイズを採用することで、処理効率を向上することができる。
【0092】
図13には、サーモパイル・アレイ12が示す熱のエリア範囲9に基づいて複数の顔テンプレート10〜17の中から顔検出に使用するものを選択する様子を示している。図示のように、あらかじめ定められた顔テンプレート・サイズ群10〜17の中から、サーモパイル・アレイ12が示す熱エリアのサイズ18から限定した顔テンプレート候補19を選出する。
【0093】
また、図14には、このときの処理手順をフローチャートの形式で示している。
【0094】
まず、熱エリアのサイズを基に、顔テンプレート候補を限定する(ステップS11)。そして、限定された顔テンプレートから熱エリアのサイズに最も近いテンプレートを選択して(ステップS12)、顔検出処理を行なう(ステップS13)。
【0095】
ここで、顔を検出することができた、すなわち顔抽出範囲で顔テンプレートとの相関値が所定値以上となる位置を得られたならば(ステップS14)、顔検出に成功したとして、本処理ルーチンを終了する。
【0096】
一方、顔を検出することができなかった場合には、選択した顔テンプレートを候補から外す(ステップS15)。そして、限定された顔テンプレートの候補のうち、未確認のものがあれば(ステップS16)、ステップS12に戻り、次の顔テンプレートを選択して、顔検出を再試行する。
【0097】
また、すべての顔テンプレートの候補について確認したが、顔を検出することができなかった場合には(ステップS16)、顔検出に失敗したとして、本処理ルーチンを終了する。
【0098】
図10には、イメージ・センサ11とサーモパイル・アレイ12を同軸上に配置することができない他の構成例を示している。人体と装置の関係がある特定の距離に限定される場合、図10に示すように、サーモパイル・アレイ12とイメージ・センサ11をその特定の距離で中心点が重なるように配置する。これによって、サーモパイル・アレイ12の検出位置とイメージ・センサ11の画像の位置関係の相関をとることにより図9で示す例より顔検出対象エリアが小さくでき、その結果、顔検出の処理量を低減することができる。
【0099】
顔検出の対象である人体は移動することから、人体検出装置との位置関係が時々刻々と変化していくため、向き、熱エリアと顔がともに検出されなくなる可能性がある。これらの場合、イメージ・センサ11による撮像方向と、サーモパイル・アレイ12による熱検出方向をそれぞれ駆動する駆動装置を備え、トラッキングを行なうようにしてもよい。
【0100】
図15には、駆動装置の構成例を示している。駆動装置41及び42は、当該人体検出装置を床面上で前後及び左右方向にそれぞれ移動させることができる。また、駆動装置44は、人体検出装置のベースに対し、センサ部10を上下方向に作動する。また、駆動装置45〜46は、センサ部10をピッチ軸及びヨー軸回りにそれぞれ揺動する。
【0101】
駆動装置41〜46を用いて、人体とロボット装置の位置関係の変化に応じて人体をトラッキングし、常に人体が撮像範囲並びに熱検出範囲に収まるようにする。顔の向きや回転が原因で、熱エリアが顔と検出されない場合であっても、そのエリアをサーモパイル・アレイ12の検出範囲にとどめるように駆動装置41〜46を制御することで顔検出の機会を増やすことが可能である。また、顔と検出された場合であっても、顔のトラッキング処理をサーモパイル・アレイ12の出力を基に行なうことで、イメージ・センサ11からの画像データによる移動検出処理よりも少ない演算処理量で実現することができる。
【0102】
図16には、サーモパイル・アレイ12の出力を基に人体のトラッキングを行なうための処理手順をフローチャートの形式で示している。
【0103】
まず、サーモパイル・アレイ12から得られた熱分布情報から、人物エリアの特定を試みる(ステップS21)。
【0104】
ここで、人体エリアがサーモパイル・アレイ12上の期待の位置にあるかどうかを判別する(ステップS22)。図17には、人体エリアがサーモパイル・アレイ12上の期待の位置にある場合とそうでない場合をそれぞれ図解している。
【0105】
ここで、人体エリアがサーモパイル・アレイ12上の期待の位置にないと判断された場合には、駆動装置41〜46の駆動軸、駆動方向、並びに駆動量を決定し(ステップS23)、該当するアクチュエータに指示値を出力し、人体エリアを期待の位置に収容させる。
【産業上の利用可能性】
【0106】
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
【0107】
上述した実施形態では、イメージ・センサによる撮像範囲のうちサーモパイル・アレイにより人体が持つ熱量が検出された領域に限定してから、顔検出を行なうようにしているが、サーモパイル・アレイなどにより検出される熱情報を利用した本発明に係る人体検出方法はこれに限定されるものではない。例えば、イメージ・センサによる撮像画像の中から、テンプレート・マッチングやその他の画像処理手法を用いてまず顔検出を行ない、次いで、顔検出された1以上の領域について今度は熱情報に基づいて本当に顔であるかどうかを検出確認を行なうようにしてもよい。この場合、顔に似た模様が画像処理により顔検出されたとしても、人体が持つ熱量が検出されないので、顔検出結果から除外することができる。
【0108】
また、本明細書では、本発明を顔認識に適用した実施形態を中心にして説明してきたが、本発明の要旨はこれに限定されるものではない。顔以外の人体の部位、人間以外の生物、あるいは熱分布に基づいて検出することが可能なさまざまな対象物の画像認識処理に本発明を好適に適用することができる。
【0109】
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【図面の簡単な説明】
【0110】
【図1】図1は、本発明の一実施形態に係る人体検出装置の構成を模式的に示した図である。
【図2】図2は、顔検出を行なうための処理手順を示したフローチャートである。
【図3】図3は、イメージ・センサ11とサーモパイル・アレイ12それぞれの検出範囲を示した図である。
【図4】図4は、イメージ・センサ11とサーモパイル・アレイ12それぞれの検出範囲を横から眺めた図である。
【図5】図5は、イメージ・センサ11が捕捉した人物と背景からなる撮像画像の例を示した図である。
【図6】図6は、図5と同じ範囲においてサーモパイル・アレイ12により計測された熱分布情報を示した図である。
【図7】図7は、N×Mのサーモパイル・アレイ12が実際に出力するデータを示した図である。
【図8】図8は、イメージ・センサ11による撮影画像において、人体に近い温度が検出されるエリア1、並びにマージンを考慮して設定されるエリア2を示した図である。
【図9】図9は、イメージ・センサ11とサーモパイル・アレイ12を同軸上に配置できない構成例を示した図である。
【図10】図10は、イメージ・センサ11とサーモパイル・アレイ12を同軸上に配置できない構成例を示した図である。
【図11】図11は、イメージ・センサ11とサーモパイル・アレイ12は互いの中心軸を平行に保ちながら上下方向に離間して配設した場合の、イメージ・センサ11とサーモパイル・アレイ12のそれぞれにより物体を検出する様子を示した図である。
【図12】図12は、図11に示したような被検出物体の配置において、イメージ・センサ11で捕捉した撮像画像を示した図である。
【図13】図13は、サーモパイル・アレイ12が示す熱のエリア範囲9に基づいて複数の顔テンプレート10〜17の中から顔検出に使用するものを選択する様子を示した図である。
【図14】図14は、サーモパイル・アレイ12が示す熱のエリア範囲9に基づいて複数の顔テンプレート10〜17の中から顔検出に使用するものを選択するための処理手順を示したフローチャートである。
【図15】図15は、駆動装置の構成例を示した図である。
【図16】図16は、サーモパイル・アレイ12の出力を基に人体のトラッキングを行なうための処理手順を示したフローチャートである。
【図17】図17は、人体エリアがサーモパイル・アレイ12上の期待の位置にある場合とそうでない場合をそれぞれ示した図である。
【符号の説明】
【0111】
10…センサ部
11…イメージ・センサ
12…サーモパイル・アレイ
20…情報制御部
21…画像データ処理部
22…熱条件判定及びエリア抽出部
23…顔検出エリア決定及び顔テンプレート・サイズ決定部
24…顔検出演算部
25…情報処理メイン部
30…運動制御部
31…サーボ部
32…アクチュエータ
41〜46…駆動装置
【技術分野】
【0001】
本発明は、生体情報に基づいて人体検出装置及び人体検出方法、並びにコンピュータ・プログラムに係り、特に、顔などの人体を撮影して得られる視覚データを基に人体を検出する人体検出装置及び人体検出方法、並びにコンピュータ・プログラムに関する。
【0002】
さらに詳しくは、撮影画像から顔領域を検出して顔認識する人体検出装置及び人体検出方法、並びにコンピュータ・プログラムに係り、特に、画像フレーム中からより高速に顔領域を抽出する人体検出装置及び人体検出方法、並びにコンピュータ・プログラムに関する。
【背景技術】
【0003】
人体の識別・検出技術は、個人認証などセキュリティ・システムとして、あるいはユーザに負担をかけないマンマシン・インターフェースとして開発されてきた。最近では、介護型ロボットやエンターテインメント型ロボット、あるいは各種のCE機器などにおいて、対面式のサービスを実現する際のヒューマン・インターフェースとして導入されつつある。例えば、ロボット装置は、人体認識により、多くの中からユーザ(飼い主又は友達、若しくは正当なユーザ)を識別することができる。そして、人体識別結果に基づいて、ユーザ毎にリアクションを変えるなどして、より親密でエンターテインメント性のあるものとなる。
【0004】
個人認証や大規模データベースからの人物検索などを目的とした人体認識システムでは、静的で且つ強力な計算機リソースを利用して、正確性を追及した処理が行なわれる。これに対し、ロボットやCE機器などにおいては、限られた演算能力で、且つサービス品質を保つためにリアルタイムに認識処理が行なわれることが望まれている。
【0005】
ここで、人の識別や認証を行なう際にシステム効率を上げるためには、人が近くにいる場合にのみその処理を実行することが望ましい。
【0006】
人が近くにいるかどうかを検出する方法としては、従来、セキュリティ機器やサニタリー機器などでは焦電センサや距離センサなどを用い、また、ロボットなどは画像データを基に顔検出、色検出などの方法を用いられている。
【0007】
焦電センサを使用する方法では、熱の揺らぎしか検出できず、物体の存在する方向や移動方向が判らない。また、センサ自体の時定数がデバイスの原理として大きく、動作中や停止後一定時間内は正しく測定できないという制限が存在するため、自らが動くロボットでの使用には最適とはいえない。
【0008】
距離センサを用いた方法では、近づいた物体が何であるかの判断はできない。また、人体がその距離にまで十分近づくことが必要であるため、人間との共生を目指すロボットしての人検出の用途には不十分である。
【0009】
また、画像データを基にした顔検出、色検出の方法では、全画面の画像データを処理するため、演算量が多く、システムとしての負荷が高いなどの欠点が存在する。
【0010】
人の識別・認証には、顔、声紋、虹彩、網膜毛細血管、指紋、手の指、甲などの特定の部位の特徴で構成される生体情報を利用する方法が一般的である。ところが、顔、声紋以外は、人が認証を意識した所作、例えば、目や手の甲などを識別装置にかざしたりする行為が必要となるため、ユーザにとって煩わしい。また、人との共生を目指すロボットの場合、家庭やオフィスなどでそのような認証を意識したユーザの行為は不自然である。また、複数の人を同時に識別できないという問題点もある。
【0011】
また、音声による識別・認証方法では、人が声を発しないと識別できない、識別した人がどの方向にいるのかを特定できない、複数の人が同時に話をすると識別するのが難しい、といった問題がある。
【0012】
上述したような理由から、人を識別するロボットには、視覚データによる顔識別を行なう方法が有力であると思料される。
【0013】
顔認識技術自体は、パターン認識理論を検証する上でベンチマーク的な位置付けを持っており、古くからさまざまな手法が開発されてきた。また、ユーザに負担をかけないマンマシン・インターフェースとして期待されている。
【0014】
ところが、ロボットを始めとする対面式のシステムへの適用した場合、動的に変化する環境下で一定時間内に応答できること、すなわちリアルタイムに認識処理が行なわれることが望まれる。また、組み込みシステムで利用する場合には、比較的低い演算能力を以ってリアルタイム性を実現する必要がある。
【0015】
また、ロボット装置に搭載される顔識別のアプリケーションでは、ある与えられた1枚のシーンの中から人物を識別するという問題に加え、次のような問題を解決する必要がある。
【0016】
(1)ロボット装置自身が移動するため、環境の変化やその多様性を許容しなくてはならない。
(2)人間とロボット装置の位置関係も変化するため、インタラクション中に人間を視野内に入れ続ける必要がある。
(3)数多くのシーン画像から人物の識別に使える画像を選び出し、総合的に判断しなくてはならない。
(4)ある時間内に応答しなくてはならない。
【0017】
顔認識処理は、静止画又は動画などの画像フレーム中からユーザの顔の位置を同定したり顔の向きを認識したりする顔領域の抽出(若しくは顔検出)と、抽出された顔領域の画像情報を基に人物の顔を識別若しくは認識する顔識別という2つの工程に大別される。顔識別の手法としては、顔の各要素の相対的位置関係を用いたアルゴリズムや、幾何学的に不変の特徴と統計的な特徴の部分を組み合わせたアルゴリズム、局所的な特徴とその構成に重点を置いたアルゴリズムなどが挙げられる(例えば、非特許文献1を参照のこと)。初期は横顔を使った認識技術も検討されたが、現在は、正面画像の認識技術が中心となっている。
【0018】
このような顔認識の処理負荷を低減し、リアルタイム処理を実現するには、人の顔をいかに画像フレームにいれるか、また、リアルタイムで顔の部分をいかに抽出し、識別するかが重要である。
【0019】
顔検出方法としては、固有顔、ニューラル・ネットワーク及びサポートベクタマシン(SVM:Suport Vector Machine)などのパターン認識の手法を利用して、あらかじめ顔パターンを学習させて識別器を生成する方法が挙げられる(例えば、特許文献1を参照のこと)。
【0020】
例えば、SVMは、識別関数に線形識別器(パーセプトロン)を用いた学習機械であり、カーネル関数を使うことで非線形空間に拡張することができる。また、識別関数の学習では、クラス間分離のマージンを最大にとるように行なわれ、その解は2次数理計画法を解くことで得られるため、グローバル解に到達できることを理論的に保証することができる。SVMは、パターン認識の分野で最も学習汎化能力が高いとされる(例えば、非特許文献2を参照のこと)。
【0021】
このようなパターン識別器を生成する方法によると、ロボット装置は、膨大なデータ量である顔画像データに対して学習によるパターン識別を行なうに当たって、環境の変化や自己の姿勢及び表情の変化に対してロバスト性を示す。しかしながら、その分だけ当該パターン識別に要する演算量が増加するため、演算処理に要する時間が膨大になるという問題点がある。
【0022】
撮像画像の中から人間の顔画像を検出するプロセスにおいては、当該撮像画像の中から顔画像を切り出しながら識別を行なうので、撮像画像全体をさまざまなスケールでスキャンすることとなる。カメラの高解像度化に伴い、膨大数の画素から顔の位置を探索しなければならなくなる。すなわち、画像フレームから顔の位置を同定し顔領域を抽出する顔検出が、顔認識処理のボトルネックの1つとなる。このため、一回一回のパターン識別に要する演算処理を極力少なくすることが極めて重要である。
【0023】
とりわけ、ロボット装置に利用する場合には、動画の中から十分に早く顔画像を検出しなければ、リアルタイム性が要求される行動制御にフィードバックすることが極めて困難となる。さらに、ロボット装置の内部のCPUは、顔検出のタスク以外にも、姿勢安定制御や行動制御などの常時実行しているタスクが多くある。すなわち、これらの常態的なタスクに対して演算能力を費やしている分、顔検出のタスクに対してフルに演算能力を費やすことは極めて困難である。
【0024】
例えば、入力画像と平均的な顔画像を示す所定サイズのテンプレートとの相関をとった相関値の集合からなるマッチング結果を生成し、このマッチング結果で得られる相関値の局所最大値に基づいて顔候補を抽出し、顔候補に相当する入力画像領域から顔領域を識別する顔検出装置について提案がなされている(例えば、特許文献2を参照のこと)。このような顔検出装置によれば、演算量を低減してリアルタイム性を向上することができるが、全画面をスキャンすることには変わりなく、壁なども紋様による誤検出の可能性を低減させるものではない。
【0025】
また、一般的な顔検出アルゴリズムは、対象となる顔が横向きであったり、傾きがあったりした場合には検出精度が著しく落ちてしまう。それを補うために色情報を利用する方法もある。この場合、低い計算コストで行なえるというメリットもあるが、肌色の物体との区別が困難であり、また、環境色温度の影響、人種などの個人差などの影響を排除することが極めて困難である。このため、一度顔を見つけた後、色情報で補間するなども行なわれている例があるが、最初に顔を見つけることそのものの課題を克服していない。
【0026】
【特許文献1】特開2002−157596
【特許文献2】特開2004−30629号公報
【非特許文献1】社団法人情報処理学会編「新版 情報処理ハンドブック」(オーム社、平成7年11月25日p.1193)
【非特許文献2】B.Sholkopf、C.Burges、A.Smola共著“Advance in Kernel Methods Support Vector Learning”(The MIT Press,1999)
【発明の開示】
【発明が解決しようとする課題】
【0027】
本発明の目的は、顔などの人体を撮影した画像を基に人体を好適に検出することができる、優れた人体検出装置及び人体検出方法、並びにコンピュータ・プログラムを提供することにある。
【0028】
本発明のさらなる目的は、撮影画像から顔領域を好適に検出して顔認識を行なうことができる、優れた人体検出装置及び人体検出方法、並びにコンピュータ・プログラムを提供することにある。
【0029】
本発明のさらなる目的は、画像フレーム中から人体らしい対象物を検出し、その対象物を画像に捕捉し、少ない演算量で、壁などの紋様による誤検出を排除し確実に顔を検出することができる、優れた人体検出装置及び人体検出方法、並びにコンピュータ・プログラムを提供することにある。
【課題を解決するための手段】
【0030】
本発明は、上記課題を参酌してなされたものであり、その第1の側面は、視覚データに基づいて人体を検出する人体検出装置であって、
画像を撮像する撮像部と、
熱分布に関する情報を検出する熱情報検出部と、
前記撮像部における撮像範囲と前記熱情報検出部における熱検出範囲を重複させるように配置する検出範囲設定手段と、
前記熱検出範囲のうち人体が持つ熱量が検出された領域に相当する撮像領域を人体抽出範囲として撮像画像から取り出す人体抽出手段と、
を具備することを特徴とする人体検出装置である。
【0031】
ユーザに負担をかけないマンマシン・インターフェースとして人体の識別・検出技術が開発されてきた。なかでも、カメラの撮像画像などの視覚データによる顔認識は、ユーザに認識を意識させる必要がないことや、複数の人を同時に識別できることなどの理由により、有望である。顔認識は、画像フレーム中からユーザの顔の位置を同定して顔領域を抽出する顔検出と、顔領域の画像情報を基に人物の顔を識別する顔識別で構成される。
【0032】
ここで、顔検出のプロセスでは、顔画像を切り出しながら識別を行なうので、撮像画像全体をさまざまなスケールでスキャンすることとなり、処理負荷が高い。また、カメラの高解像度化に伴い、膨大数の画素から顔の位置を探索しなければならなくなる。
【0033】
これに対し、本発明によれば、撮像部としてのイメージ・センサなどでユーザの顔を含む画像フレームを捕捉する一方、熱情報検出部としてのサーモパイル・アレイなどを用いて熱分布に関する2次元情報を取得する。そして、前者の撮像範囲と後者の熱検出範囲を重複させるように配置し、顔など人体が持つ熱量が検出された領域すなわち人体らしき範囲のみを顔抽出範囲として撮像画像から取り出して顔検出処理を行なう。
【0034】
すなわち、本発明によれば、イメージ・センサが出力する全画像データのうち、人体らしき部分のみを顔抽出範囲に限定し、不要な演算処理量を削減することにより、顔検出処理を高速化することができる。
【0035】
通常、人は衣服をまとっており、また、季節によって衣服の生地の厚さが異なるが、顔は露出していることが多い。したがって、サーモパイル・アレイで検出した人体と思われるエリアを顔検出の対象エリアとして考えることができる。この処理により、処理対象のエリアを限定するとともに、壁などの紋様による誤検出をほぼ無くすことができる。
【0036】
例えば、イメージ・センサとサーモパイル・アレイが上下に配置されている場合には、撮像画像のうち人体が持つ熱量が検出された領域を含む縦方向の帯状の領域を、顔抽出範囲として取り出すことができる。
【0037】
ここで、顔検出処理には、平均的な顔画像を示す、サイズの異なる複数のテンプレートを備え、各サイズのテンプレートを用いて顔抽出領域をスキャンしてマッチングを行なうという、テンプレート・マッチングを導入することができる。この場合、各サイズのテンプレート毎に、限定された顔抽出範囲をスキャンして、テンプレートとの相関値が最も高い(すなわち局所最大となる)位置を顔候補として抽出することができる。そして、テンプレート毎に求められた相関の局所最大値を比較し、このうち最大となるテンプレートを用いて求められた位置を顔候補として抽出することができる。
【0038】
画像フレームに含まれる顔のサイズは、遠近若しくはレンズのズームの程度や、個人差によって区々である。このため、画像フレーム中から顔候補となる位置を特定するには、サイズの異なるテンプレートを複数用意する必要がある。ところが、領域が限定されているとはいえ、すべてのテンプレートで顔抽出範囲をスキャンすると、処理に要する演算負荷は過大である。そこで、顔検出対象エリアの大きさから顔テンプレートのサイズを推測し、使用するテンプレートのサイズを限定することにより、演算処理を高速化するようにしてもよい。
【0039】
また、本発明に係る人体検出装置を、ロボット装置やその他の移動体装置に適用した場合、ある与えられた1枚のシーンの中から人物を識別するという問題に加え、人体あるいはロボット装置自身の移動により位置関係が変化することから、インタラクション中に人間を視野内に入れ続ける必要がある。
【0040】
そこで、人体検出装置は、前記画像情報取得部において取得する画像の撮像方向及び前記熱情報取得部において取得される熱検出方向を駆動する駆動手段をさらに備え、人体とロボット装置の位置関係の変化に応じて人体をトラッキングし、常に人体が撮像範囲並びに熱検出範囲に収まるようにしてもよい。
【0041】
サーモパイル・アレイで人体と思われるエリアを発見しても、それが人体の顔であるにも拘らず、撮像画像から顔検出を行なった結果、顔と判断されない場合は、そのエリアをサーモパイル・アレイの情報を基に、装置の駆動装置を使用し、サーモパイル・アレイのセンシング範囲に収めるようトラッキングを行なうことで、顔の検出の機会を増やすことができる。
【0042】
このようなトラッキング処理を、サーモパイル・アレイの出力に基づいて行なうことで、イメージ・センサからの画像データによる移動検出処理よりも少ない演算処理量で実現することができる。
【0043】
また、上記の状態で顔検出の結果を待たずに動きのある熱量を人体と仮定し、そのエリアに向かって行動する(例えば、挨拶や呼びかけを行なう)ことで、顔を装置に向けるよう積極的に働きかけるようにしてもよい。
【0044】
なお、前記熱情報検出部において人体が持つ熱量が検出されなかったときには、前記人体抽出手段の動作を停止し、人体が持つ熱量が検出されたことに応答して前記人体抽出手段の動作を起動するようにしてもよい。この場合、人体が検出範囲に存在していない期間は前記人体抽出手段による無駄な動作をなくし、消費電力を削減することができる。あるいは得られた余剰の演算処理能力を他の処理に有効に活用することができる。
【0045】
また、本発明の第2の側面は、視覚データに基づいて人体を検出するための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、
撮像画像を取得する画像情報取得ステップと、
熱分布に関する情報を取得する熱情報取得ステップと、
前記撮像画像における撮像範囲と前記熱情報における熱検出範囲を重複させるように配置する検出範囲設定ステップと、
前記熱検出範囲のうち人体が持つ熱量が検出された領域に相当する撮像領域を人体抽出範囲として撮像画像から取り出す人体抽出ステップと、
を具備することを特徴とするコンピュータ・プログラムである。
【0046】
本発明の第2の側面に係るコンピュータ・プログラムは、コンピュータ・システム上で所定の処理を実現するようにコンピュータ可読形式で記述されたコンピュータ・プログラムを定義したものである。換言すれば、本発明の第2の側面に係るコンピュータ・プログラムをコンピュータ・システムにインストールすることによって、コンピュータ・システム上では協働的作用が発揮され、本発明の第1側面に係る人体検出装置と同様の作用効果を得ることができる。
【発明の効果】
【0047】
本発明によれば、顔などの人体を撮影した画像を基に人体を好適に検出することができる、優れた人体検出装置及び人体検出方法、並びにコンピュータ・プログラムを提供することができる。
【0048】
また、本発明によれば、撮影画像から顔領域を好適に検出して顔認識を行なうことができる、優れた人体検出装置及び人体検出方法、並びにコンピュータ・プログラムを提供することができる。
【0049】
また、本発明によれば、画像フレーム中から人体らしい対象物を検出し、その対象物を画像に捕捉し、少ない演算量で、壁などの紋様による誤検出を排除し確実に顔を検出することができる、優れた人体検出装置及び人体検出方法、並びにコンピュータ・プログラムを提供することができる。
【0050】
顔検出処理での演算量は、処理にかける総画素数と顔テンプレート数の積に比例する。したがって、本発明によれば、顔検出のエリアを全画面の1/8、顔テンプレート数を従来の3/16とした場合には、従来の処理量を3/128まで低減させることができる。
【0051】
また、画像データのみを使用した顔検出処理で発生していた顔以外のものを顔と判断してしまう誤検出を、本発明では、サーモパイル・アレイによる熱量を併せて使用することによりほぼなくすことが可能である。
【0052】
すなわち、本発明によれば、装置の顔検出のリアルタイム性と精度を向上させることが可能である。
【0053】
ここで、サーモパイル・アレイが熱量を検出していない状態では、顔検出処理を停止するようにしてもよい。この場合、プロセッサの演算処理能力を別の処理に振り分けるようにしてもよい。例えば、各関節の駆動制御や姿勢制御を継続的に行なわなければならないロボット装置や、顔検出のための専用プロセッサを配置することが困難な組み込み機器においては、専用プロセッサを用いる必要がないことから、低コストのシステム設計が可能となる。勿論、演算処理を行なわないことにより、消費電力の低減が可能となる。消費電力の低減は、バッテリーで動作する装置においては、バッテリー本数を増やすことなく総稼働時間を引き伸ばすことが可能となる。
【0054】
また、本発明によれば、従来の顔検出に必要なほどの演算能力を必要としないため、従来よりも安価な演算コストでシステムを構築することができる。
【0055】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【発明を実施するための最良の形態】
【0056】
以下、図面を参照しながら本発明の実施形態について詳解する。
【0057】
図1には、本発明の一実施形態に係る人体検出装置の構成を模式的に示している。同図に示す人体検出装置は、センサ部10と、情報制御部20と、運動制御部30で構成される。この人体検出装置は、例えばロボット装置やその他の対面式作業を行なう機械装置類、個人認証などを行なうCE機器などに組み込んで利用することができるが、その利用形態は特に限定されない。
【0058】
センサ部10は、周囲画像を撮影するイメージ・センサ11と、2次元的な熱分布情報を捕捉するサーモパイル・アレイ12で構成される。
【0059】
イメージ・センサ11は、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)などの受光素子を2次元的に配列して構成された撮像デバイスと、この撮像面に集光・結像する光学レンズなど(いずれも図示しない)で構成される。
【0060】
また、サーモパイル・センサは、無数の熱電対を直列に接続して構成される放射温度計のセンサである。サーモパイル・アレイは、サーモパイル・センサを2次元平面上に配列したものであり、電気的走査により熱分布の測定を行なうことができる。
【0061】
後述するように、イメージ・センサ11における撮像範囲とサーモパイル・アレイ12における熱検出範囲を重複させるように配置される。
【0062】
情報制御部20は、イメージ・センサ11において撮像された画像の処理を行なう画像データ処理部21と、サーモパイル・アレイ12から入力される熱分布データから人体と思しきエリアを抽出する熱条件判定及びエリア抽出部22と、そこで抽出されたエリアを基に顔検出を行なう画像エリアを特定し適切な顔テンプレートを選ぶ部分23、並びに、限定されたエリアにおいて顔検出を実行する顔検出演算部24を備えている。情報処理メイン部25は、人体検出装置全体の動作を統括的に制御するメイン・コントローラであり、顔検出により得られた情報を基に次の行動を決定することができる。
【0063】
運動制御部30は、情報制御部20からの命令を受け実際の制御を行なうサーボ部31と、サーボ部31からの指示値に基づいて駆動する幾つかのアクチュエータ32を備えている。運動制御部30は、例えば、本実施形態に係る人体検出装置を搭載したロボット装置である。あるいは、運動制御部30は、熱分布情報に基づいて人体エリアをトラッキングする駆動装置(後述)を構成する。
【0064】
図2には、本実施形態に係る人体検出装置において、顔検出を行なうための処理手順をフローチャートの形式で示している。
【0065】
サーモパイル・アレイから熱分布に関するデータを取得すると(ステップS1)、次の処理で人体らしきデータがあるかどうかの判定にかける(ステップS2)。そして、人体らしきデータがあるまでループする。
【0066】
人体らしきデータがあったと判断されたときには、顔検出エリア決定の処理と(ステップS3)、顔テンプレート・サイズの決定の処理を経た後(ステップS4)、実際の顔検出処理を行なう(ステップS5)。
【0067】
ここで、顔検出できなかった場合には(ステップS6)、ステップS4に戻って顔テンプレート・サイズの見直しがなされた後、顔検出の処理を改めて行なう。
【0068】
イメージ・センサ11により撮像された画像フレームのうち、顔など人体が持つ熱量が検出された人体らしき範囲のみに限定して顔検出処理を行なう。このため、イメージ・センサ11における撮像範囲とサーモパイル・アレイ12における熱検出範囲を重複させるように配置する。ここで、イメージ・センサ11とサーモパイル・アレイ12の各センサの物理的な配置について説明する。
【0069】
イメージ・センサ11とサーモパイル・アレイ12は、イメージ・センサ11の画像中心軸と、サーモパイル・アレイ12のセンス・エリアの中心軸がほぼ平行となるように配置する。且つ、両デバイスが検出するエリアは重なるようにする。
【0070】
図3には、イメージ・センサ11とサーモパイル・アレイ12それぞれの検出範囲を図解している。同図に示すように、イメージ・センサ11の検出エリアの中心と、サーモパイル・アレイ12での熱検出エリアの中心が同一点である場合、サーモパイル・アレイ12上で人体を示す位置と、イメージ・センサ11上で人体を映す位置は、対象物との距離に依らず一意に決まる。
【0071】
図4には、イメージ・センサ11とサーモパイル・アレイ12それぞれの検出範囲を横から眺めている。同図に示すように、イメージ・センサ11の垂直方向の画角は中心軸からβの角度を持ち、サーモパイル・アレイ12のセンス角度が中心軸からαの角度を持っており、また、被検出物の重心が中心軸からγの角度に位置したとする。
【0072】
このとき、被検出物体の重心がサーモパイル・アレイ12が持つ検出エリアの上半分のうち1/εの高さとした場合、イメージ・センサ11上では、その上半分の、1/ζの高さに存在することが判る。1/εと1/ζその関係は、以下の通りとなる。
【0073】
1/ε=tanγ/tanα
1/ζ=tanγ/tanβ
1/ζ=(tanα/ε)/ tanβ=tanα/(ε×tanβ)
【0074】
よって、サーモパイル・アレイ12の出力とイメージ・センサ11の出力の垂直位置関係は、両センサのセンス角がそれぞれα、βと異なっていても既知であれば一意に決まる。同様のことが水平位置に関しても当てはまる。
【0075】
以後の説明では、便宜上、両センサのセンス角を同一として扱うことにする。
【0076】
図5には、イメージ・センサ11が捕捉した人物と背景からなる撮像画像の例を示している。また、図6には、同じ検出範囲においてサーモパイル・アレイ12により計測された熱分布情報を示している。さらに図7には、N×Mのサーモパイル・アレイ12が実際に出力するデータを示している。但し、同図では、温度が高い部分ほどより濃い網目模様で描いている。
【0077】
ここで、人体に近い温度を示すエリアを参照番号1で指し示すとする。人体に近い温度とは、成人の平熱といわれる36.0〜36.5度を基準として、発熱やその他の環境を考慮して適切なマージンをとった値のことである。周囲環境に応じてマージンを変更することで、確度を変更することが可能である。以下の条件式において、条件1及び条件2がともに真である場合、人体に近い温度とする。
【0078】
条件1: (成人の平熱)−マージン1<測定データ
条件2: (成人の平熱)+マージン2>測定データ
【0079】
但し、サーモパイル・アレイ11の1アレイが示す温度はそのエリアの平均データである。このため、人体を覆うエリアであっても、そのエリア全体を人体が覆った部分でないと、人体と重なっていない部分との平均がとられることにより、エリアとして検出される温度は低下するため、その人体に近い温度を示さない。すなわち、人体が持つ熱量が検出されるエリアは、実際に人体が存在するエリアよりも縮退したものとなる。
【0080】
そこで、本実施形態では、参照番号1で示される人体に近い温度が検出されたエリアからさらに適当な範囲を広げたエリア2に拡張して、その部分に対応する画像データのみを顔検出演算処理にかけるようにする。図7には、N×Mのサーモパイル・アレイ12の出力データにおいて、人体に近い温度が示されるエリア1に対し、マージンを考慮して設定される顔検出エリア2を示している。また、図8には、イメージ・センサ11による撮影画像において、人体に近い温度が検出されるエリア1、並びにマージンを考慮して設定されるエリア2がそれぞれ示されている様子を示している。
【0081】
図3及び図4に示したように、イメージ・センサ11の検出エリアの中心と、サーモパイル・アレイ12での熱検出エリアの中心が同一点となるようにセンサ部10を構成することが理想的である。この場合、サーモパイル・アレイ12上で人体を示す位置と、イメージ・センサ11上で人体を映す位置は、対象物との距離に依らず一意に決まる。ところが、実際の設計では、イメージ・センサ11とサーモパイル・アレイ12を同軸上に配置できない場合が多い。図9及び図10には、イメージ・センサ11とサーモパイル・アレイ12を同軸上に配置できない構成例をそれぞれ示している。
【0082】
図9に示す例では、イメージ・センサ11とサーモパイル・アレイ12は互いの中心軸を平行に保ちながら上下方向に離間して配設されている。
【0083】
上下方向ではなく左右方向に離間して同様に配設した場合には、横から眺めた図4に示したような関係が成り立つので、両エリア内での被検出物体の上下方向の位置は、非検出物体との距離によらず一意に求めることができる。これに対し、上下方向に離間して配置した場合には、両エリア内での上下方向の位置関係が、被検出物体との距離によって大きく変わってしまう。
【0084】
図11には、イメージ・センサ11とサーモパイル・アレイ12は互いの中心軸を平行に保ちながら上下方向に離間して配設した場合の、イメージ・センサ11とサーモパイル・アレイ12のそれぞれにより物体を検出する様子を示している。同図に示す例では、サーモパイル・アレイ12上であるセンス角で検出した物体は、センサとの距離によって、参照番号3や4で示す位置などに存在する場合があるが、その区別はサーモパイル・アレイ12の出力からでは区別がつかない。
【0085】
図12には、参照番号3や4で示す位置に物体があった場合において、イメージ・センサ11で捕捉される撮像画像を示している。同図に示すように、撮像画像中では、これらの被検出物体はそれぞれ参照番号5並びに6で示す位置に出現しており、区別することはできるが、サーモパイル・アレイ12の出力とイメージ・センサ11のデータに正確な相関を求めることはできない。
【0086】
ここで、イメージ・センサ11とサーモパイル・アレイ12は互いの中心軸を平行に保ちながら上下方向に離間して配設されている。このことから、参照番号5及び6のほぼ中心を通過する、上下方向に伸びる軸7上に所望の被検出物体が存在する可能性が高い。
【0087】
したがって、被検出物体までの距離が既知でない場合には、図7に示したように人体が持つ熱量が検出されるエリアにマージンを設けるだけでなく、図12に示したように上下方向(言い換えれば、イメージ・センサ11とサーモパイル・アレイ12を離間して配置する方向)に顔抽出範囲を拡張することにより、位置5及び6、又はそれ以外の位置に存在する可能性のある被検出物体を確実に検出できるようになる。図12に示す例では、軸7を中心に上下方向に伸びる帯状の拡張エリア8上をスキャンして、顔検出を行なう。
【0088】
顔抽出範囲を拡張する方法として、例えば2通りの方法を挙げることができる。図9に示す例では、サーモパイル・アレイ12上において中心又は中心より上に被検出物体が存在する場合は、イメージ・センサ11の上半分のエリアを顔検出処理にかけ、それ以外の場合は縦方向にすべて拡張したエリアを顔検出にかける。人体検出装置のセンサ部10を、人体より低い位置に配置することで、イメージ・センサの上半分のエリアで顔検出が行なわれる確率を上げることが可能である。
【0089】
顔検出の方法として、平均的な顔画像を示す所定サイズのテンプレートすなわち顔テンプレートを用いる方法が挙げられる。この場合、顔テンプレートを、例えば図12中で軸7に沿ってスキャンし、各位置における画像領域と顔テンプレートとの相関をとり、高い相関値が得られた位置を顔候補として抽出することができる。
【0090】
画像フレームに含まれる顔のサイズは、遠近若しくはレンズのズームの程度や、個人差によって区々である。このため、画像フレーム中から顔候補となる位置を特定するには、サイズの異なる複数の顔テンプレートを用意すればよい。
【0091】
ここで、領域が限定されているとはいえ、すべてのテンプレートで顔抽出範囲8をスキャンすると、処理に要する演算負荷は過大となってしまう。そこで、顔検出対象エリアの大きさから顔テンプレートのサイズを推測し使用するテンプレートのサイズを限定することにより、演算処理を高速化するようにしてもよい。例えば、サーモパイル・アレイ12が示す熱のエリア範囲9より最も近いサイズから順に顔テンプレート・サイズを採用することで、処理効率を向上することができる。
【0092】
図13には、サーモパイル・アレイ12が示す熱のエリア範囲9に基づいて複数の顔テンプレート10〜17の中から顔検出に使用するものを選択する様子を示している。図示のように、あらかじめ定められた顔テンプレート・サイズ群10〜17の中から、サーモパイル・アレイ12が示す熱エリアのサイズ18から限定した顔テンプレート候補19を選出する。
【0093】
また、図14には、このときの処理手順をフローチャートの形式で示している。
【0094】
まず、熱エリアのサイズを基に、顔テンプレート候補を限定する(ステップS11)。そして、限定された顔テンプレートから熱エリアのサイズに最も近いテンプレートを選択して(ステップS12)、顔検出処理を行なう(ステップS13)。
【0095】
ここで、顔を検出することができた、すなわち顔抽出範囲で顔テンプレートとの相関値が所定値以上となる位置を得られたならば(ステップS14)、顔検出に成功したとして、本処理ルーチンを終了する。
【0096】
一方、顔を検出することができなかった場合には、選択した顔テンプレートを候補から外す(ステップS15)。そして、限定された顔テンプレートの候補のうち、未確認のものがあれば(ステップS16)、ステップS12に戻り、次の顔テンプレートを選択して、顔検出を再試行する。
【0097】
また、すべての顔テンプレートの候補について確認したが、顔を検出することができなかった場合には(ステップS16)、顔検出に失敗したとして、本処理ルーチンを終了する。
【0098】
図10には、イメージ・センサ11とサーモパイル・アレイ12を同軸上に配置することができない他の構成例を示している。人体と装置の関係がある特定の距離に限定される場合、図10に示すように、サーモパイル・アレイ12とイメージ・センサ11をその特定の距離で中心点が重なるように配置する。これによって、サーモパイル・アレイ12の検出位置とイメージ・センサ11の画像の位置関係の相関をとることにより図9で示す例より顔検出対象エリアが小さくでき、その結果、顔検出の処理量を低減することができる。
【0099】
顔検出の対象である人体は移動することから、人体検出装置との位置関係が時々刻々と変化していくため、向き、熱エリアと顔がともに検出されなくなる可能性がある。これらの場合、イメージ・センサ11による撮像方向と、サーモパイル・アレイ12による熱検出方向をそれぞれ駆動する駆動装置を備え、トラッキングを行なうようにしてもよい。
【0100】
図15には、駆動装置の構成例を示している。駆動装置41及び42は、当該人体検出装置を床面上で前後及び左右方向にそれぞれ移動させることができる。また、駆動装置44は、人体検出装置のベースに対し、センサ部10を上下方向に作動する。また、駆動装置45〜46は、センサ部10をピッチ軸及びヨー軸回りにそれぞれ揺動する。
【0101】
駆動装置41〜46を用いて、人体とロボット装置の位置関係の変化に応じて人体をトラッキングし、常に人体が撮像範囲並びに熱検出範囲に収まるようにする。顔の向きや回転が原因で、熱エリアが顔と検出されない場合であっても、そのエリアをサーモパイル・アレイ12の検出範囲にとどめるように駆動装置41〜46を制御することで顔検出の機会を増やすことが可能である。また、顔と検出された場合であっても、顔のトラッキング処理をサーモパイル・アレイ12の出力を基に行なうことで、イメージ・センサ11からの画像データによる移動検出処理よりも少ない演算処理量で実現することができる。
【0102】
図16には、サーモパイル・アレイ12の出力を基に人体のトラッキングを行なうための処理手順をフローチャートの形式で示している。
【0103】
まず、サーモパイル・アレイ12から得られた熱分布情報から、人物エリアの特定を試みる(ステップS21)。
【0104】
ここで、人体エリアがサーモパイル・アレイ12上の期待の位置にあるかどうかを判別する(ステップS22)。図17には、人体エリアがサーモパイル・アレイ12上の期待の位置にある場合とそうでない場合をそれぞれ図解している。
【0105】
ここで、人体エリアがサーモパイル・アレイ12上の期待の位置にないと判断された場合には、駆動装置41〜46の駆動軸、駆動方向、並びに駆動量を決定し(ステップS23)、該当するアクチュエータに指示値を出力し、人体エリアを期待の位置に収容させる。
【産業上の利用可能性】
【0106】
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
【0107】
上述した実施形態では、イメージ・センサによる撮像範囲のうちサーモパイル・アレイにより人体が持つ熱量が検出された領域に限定してから、顔検出を行なうようにしているが、サーモパイル・アレイなどにより検出される熱情報を利用した本発明に係る人体検出方法はこれに限定されるものではない。例えば、イメージ・センサによる撮像画像の中から、テンプレート・マッチングやその他の画像処理手法を用いてまず顔検出を行ない、次いで、顔検出された1以上の領域について今度は熱情報に基づいて本当に顔であるかどうかを検出確認を行なうようにしてもよい。この場合、顔に似た模様が画像処理により顔検出されたとしても、人体が持つ熱量が検出されないので、顔検出結果から除外することができる。
【0108】
また、本明細書では、本発明を顔認識に適用した実施形態を中心にして説明してきたが、本発明の要旨はこれに限定されるものではない。顔以外の人体の部位、人間以外の生物、あるいは熱分布に基づいて検出することが可能なさまざまな対象物の画像認識処理に本発明を好適に適用することができる。
【0109】
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【図面の簡単な説明】
【0110】
【図1】図1は、本発明の一実施形態に係る人体検出装置の構成を模式的に示した図である。
【図2】図2は、顔検出を行なうための処理手順を示したフローチャートである。
【図3】図3は、イメージ・センサ11とサーモパイル・アレイ12それぞれの検出範囲を示した図である。
【図4】図4は、イメージ・センサ11とサーモパイル・アレイ12それぞれの検出範囲を横から眺めた図である。
【図5】図5は、イメージ・センサ11が捕捉した人物と背景からなる撮像画像の例を示した図である。
【図6】図6は、図5と同じ範囲においてサーモパイル・アレイ12により計測された熱分布情報を示した図である。
【図7】図7は、N×Mのサーモパイル・アレイ12が実際に出力するデータを示した図である。
【図8】図8は、イメージ・センサ11による撮影画像において、人体に近い温度が検出されるエリア1、並びにマージンを考慮して設定されるエリア2を示した図である。
【図9】図9は、イメージ・センサ11とサーモパイル・アレイ12を同軸上に配置できない構成例を示した図である。
【図10】図10は、イメージ・センサ11とサーモパイル・アレイ12を同軸上に配置できない構成例を示した図である。
【図11】図11は、イメージ・センサ11とサーモパイル・アレイ12は互いの中心軸を平行に保ちながら上下方向に離間して配設した場合の、イメージ・センサ11とサーモパイル・アレイ12のそれぞれにより物体を検出する様子を示した図である。
【図12】図12は、図11に示したような被検出物体の配置において、イメージ・センサ11で捕捉した撮像画像を示した図である。
【図13】図13は、サーモパイル・アレイ12が示す熱のエリア範囲9に基づいて複数の顔テンプレート10〜17の中から顔検出に使用するものを選択する様子を示した図である。
【図14】図14は、サーモパイル・アレイ12が示す熱のエリア範囲9に基づいて複数の顔テンプレート10〜17の中から顔検出に使用するものを選択するための処理手順を示したフローチャートである。
【図15】図15は、駆動装置の構成例を示した図である。
【図16】図16は、サーモパイル・アレイ12の出力を基に人体のトラッキングを行なうための処理手順を示したフローチャートである。
【図17】図17は、人体エリアがサーモパイル・アレイ12上の期待の位置にある場合とそうでない場合をそれぞれ示した図である。
【符号の説明】
【0111】
10…センサ部
11…イメージ・センサ
12…サーモパイル・アレイ
20…情報制御部
21…画像データ処理部
22…熱条件判定及びエリア抽出部
23…顔検出エリア決定及び顔テンプレート・サイズ決定部
24…顔検出演算部
25…情報処理メイン部
30…運動制御部
31…サーボ部
32…アクチュエータ
41〜46…駆動装置
【特許請求の範囲】
【請求項1】
視覚データに基づいて人体を検出する人体検出装置であって、
画像を撮像する撮像部と、
熱分布に関する情報を検出する熱情報検出部と、
前記撮像部における撮像範囲と前記熱情報検出部における熱検出範囲を重複させるように配置する検出範囲設定手段と、
前記熱検出範囲のうち人体が持つ熱量が検出された領域に相当する撮像領域を人体抽出範囲として撮像画像から取り出す人体抽出手段と、
を具備することを特徴とする人体検出装置。
【請求項2】
前記人体抽出手段は、人体が持つ熱量が検出された範囲に基づいて撮像画像から顔領域を抽出する、
ことを特徴とする請求項1に記載の人体検出装置。
【請求項3】
前記人体抽出手段は、平均的な顔画像を示す1以上のテンプレートを備え、人体が持つ熱量が検出された範囲に基づいて撮像画像から抽出された顔抽出範囲において各サイズのテンプレートとのマッチングを行ない、各テンプレートとの相関値に基づいてテンプレートを決定し顔候補となる位置を抽出する、
ことを特徴とする請求項2に記載の人体検出装置。
【請求項4】
前記人体抽出手段は、人体が持つ熱量が検出された領域に基づいて、使用するテンプレートのサイズを限定する、
ことを特徴とする請求項3に記載の人体検出装置。
【請求項5】
前記撮像部において取得する画像の撮像方向及び前記熱情報検出部において取得される熱検出方向を駆動する駆動手段をさらに備える、
ことを特徴とする請求項1に記載の人体検出装置。
【請求項6】
前記駆動手段は、前記熱検出範囲のうち人体が持つ熱量が検出される領域を前記熱検出範囲にとどめるように駆動する、
ことを特徴とする請求項5に記載の人体検出装置。
【請求項7】
前記熱情報検出部において人体が持つ熱量が検出されなかったときには、前記人体抽出手段の動作を停止し、人体が持つ熱量が検出されたことに応答して前記人体抽出手段の動作を起動する、
ことを特徴とする請求項1に記載の人体検出装置。
【請求項8】
前記人体抽出手段は、前記撮像部による撮像画像の中から画像処理に基づいて顔検出を行なった後、顔検出された各領域について前記熱情報検出部による熱情報に基づいて検出確認を行なう、
ことを特徴とする請求項1に記載の人体検出装置。
【請求項9】
視覚データに基づいて人体を検出する人体検出方法であって、
撮像画像を取得する画像情報取得ステップと、
熱分布に関する情報を取得する熱情報取得ステップと、
前記撮像画像における撮像範囲と前記熱情報における熱検出範囲を重複させるように配置する検出範囲設定ステップと、
前記熱検出範囲のうち人体が持つ熱量が検出された領域に相当する撮像領域を人体抽出範囲として撮像画像から取り出す人体抽出ステップと、
を具備することを特徴とする人体検出方法。
【請求項10】
前記人体抽出ステップでは、人体が持つ熱量が検出された範囲に基づいて撮像画像から顔領域を抽出する、
ことを特徴とする請求項9に記載の人体検出方法。
【請求項11】
前記人体抽出ステップでは、平均的な顔画像を示す1以上のテンプレートを用い、人体が持つ熱量が検出された範囲に基づいて撮像画像から抽出された顔抽出範囲において各サイズのテンプレートとのマッチングを行ない、各テンプレートとの相関値に基づいてテンプレートを決定し顔候補となる位置を抽出する、
ことを特徴とする請求項10に記載の人体検出方法。
【請求項12】
前記人体抽出ステップでは、人体が持つ熱量が検出された領域に基づいて、使用するテンプレートのサイズを限定する、
ことを特徴とする請求項11に記載の人体検出方法。
【請求項13】
前記画像情報取得ステップにおいて取得される画像の撮像方向及び前記熱情報取得ステップにおいて取得される熱検出方向を変更する検出範囲変更ステップをさらに備える、
ことを特徴とする請求項9に記載の人体検出方法。
【請求項14】
前記検出範囲変更ステップでは、前記熱検出範囲のうち人体が持つ熱量が検出される領域を前記熱検出範囲にとどめるようにする、
ことを特徴とする請求項13に記載の人体検出方法。
【請求項15】
前記熱検出範囲において人体が持つ熱量が検出されたことに応答して前記人体抽出ステップを起動する、
ことを特徴とする請求項9に記載の人体検出方法。
【請求項16】
前記人体抽出ステップは、撮像画像の中から画像処理に基づいて顔検出を行なうステップと、顔検出された各領域について前記熱情報取得ステップにより得られた熱情報に基づいて検出確認を行なうステップを備える、
ことを特徴とする請求項9に記載の人体検出方法。
【請求項17】
視覚データに基づいて人体を検出するための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、
撮像画像を取得する画像情報取得ステップと、
熱分布に関する情報を取得する熱情報取得ステップと、
前記撮像画像における撮像範囲と前記熱情報における熱検出範囲を重複させるように配置する検出範囲設定ステップと、
前記熱検出範囲のうち人体が持つ熱量が検出された領域に相当する撮像領域を人体抽出範囲として撮像画像から取り出す人体抽出ステップと、
を具備することを特徴とするコンピュータ・プログラム。
【請求項1】
視覚データに基づいて人体を検出する人体検出装置であって、
画像を撮像する撮像部と、
熱分布に関する情報を検出する熱情報検出部と、
前記撮像部における撮像範囲と前記熱情報検出部における熱検出範囲を重複させるように配置する検出範囲設定手段と、
前記熱検出範囲のうち人体が持つ熱量が検出された領域に相当する撮像領域を人体抽出範囲として撮像画像から取り出す人体抽出手段と、
を具備することを特徴とする人体検出装置。
【請求項2】
前記人体抽出手段は、人体が持つ熱量が検出された範囲に基づいて撮像画像から顔領域を抽出する、
ことを特徴とする請求項1に記載の人体検出装置。
【請求項3】
前記人体抽出手段は、平均的な顔画像を示す1以上のテンプレートを備え、人体が持つ熱量が検出された範囲に基づいて撮像画像から抽出された顔抽出範囲において各サイズのテンプレートとのマッチングを行ない、各テンプレートとの相関値に基づいてテンプレートを決定し顔候補となる位置を抽出する、
ことを特徴とする請求項2に記載の人体検出装置。
【請求項4】
前記人体抽出手段は、人体が持つ熱量が検出された領域に基づいて、使用するテンプレートのサイズを限定する、
ことを特徴とする請求項3に記載の人体検出装置。
【請求項5】
前記撮像部において取得する画像の撮像方向及び前記熱情報検出部において取得される熱検出方向を駆動する駆動手段をさらに備える、
ことを特徴とする請求項1に記載の人体検出装置。
【請求項6】
前記駆動手段は、前記熱検出範囲のうち人体が持つ熱量が検出される領域を前記熱検出範囲にとどめるように駆動する、
ことを特徴とする請求項5に記載の人体検出装置。
【請求項7】
前記熱情報検出部において人体が持つ熱量が検出されなかったときには、前記人体抽出手段の動作を停止し、人体が持つ熱量が検出されたことに応答して前記人体抽出手段の動作を起動する、
ことを特徴とする請求項1に記載の人体検出装置。
【請求項8】
前記人体抽出手段は、前記撮像部による撮像画像の中から画像処理に基づいて顔検出を行なった後、顔検出された各領域について前記熱情報検出部による熱情報に基づいて検出確認を行なう、
ことを特徴とする請求項1に記載の人体検出装置。
【請求項9】
視覚データに基づいて人体を検出する人体検出方法であって、
撮像画像を取得する画像情報取得ステップと、
熱分布に関する情報を取得する熱情報取得ステップと、
前記撮像画像における撮像範囲と前記熱情報における熱検出範囲を重複させるように配置する検出範囲設定ステップと、
前記熱検出範囲のうち人体が持つ熱量が検出された領域に相当する撮像領域を人体抽出範囲として撮像画像から取り出す人体抽出ステップと、
を具備することを特徴とする人体検出方法。
【請求項10】
前記人体抽出ステップでは、人体が持つ熱量が検出された範囲に基づいて撮像画像から顔領域を抽出する、
ことを特徴とする請求項9に記載の人体検出方法。
【請求項11】
前記人体抽出ステップでは、平均的な顔画像を示す1以上のテンプレートを用い、人体が持つ熱量が検出された範囲に基づいて撮像画像から抽出された顔抽出範囲において各サイズのテンプレートとのマッチングを行ない、各テンプレートとの相関値に基づいてテンプレートを決定し顔候補となる位置を抽出する、
ことを特徴とする請求項10に記載の人体検出方法。
【請求項12】
前記人体抽出ステップでは、人体が持つ熱量が検出された領域に基づいて、使用するテンプレートのサイズを限定する、
ことを特徴とする請求項11に記載の人体検出方法。
【請求項13】
前記画像情報取得ステップにおいて取得される画像の撮像方向及び前記熱情報取得ステップにおいて取得される熱検出方向を変更する検出範囲変更ステップをさらに備える、
ことを特徴とする請求項9に記載の人体検出方法。
【請求項14】
前記検出範囲変更ステップでは、前記熱検出範囲のうち人体が持つ熱量が検出される領域を前記熱検出範囲にとどめるようにする、
ことを特徴とする請求項13に記載の人体検出方法。
【請求項15】
前記熱検出範囲において人体が持つ熱量が検出されたことに応答して前記人体抽出ステップを起動する、
ことを特徴とする請求項9に記載の人体検出方法。
【請求項16】
前記人体抽出ステップは、撮像画像の中から画像処理に基づいて顔検出を行なうステップと、顔検出された各領域について前記熱情報取得ステップにより得られた熱情報に基づいて検出確認を行なうステップを備える、
ことを特徴とする請求項9に記載の人体検出方法。
【請求項17】
視覚データに基づいて人体を検出するための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、
撮像画像を取得する画像情報取得ステップと、
熱分布に関する情報を取得する熱情報取得ステップと、
前記撮像画像における撮像範囲と前記熱情報における熱検出範囲を重複させるように配置する検出範囲設定ステップと、
前記熱検出範囲のうち人体が持つ熱量が検出された領域に相当する撮像領域を人体抽出範囲として撮像画像から取り出す人体抽出ステップと、
を具備することを特徴とするコンピュータ・プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2006−59015(P2006−59015A)
【公開日】平成18年3月2日(2006.3.2)
【国際特許分類】
【出願番号】特願2004−238377(P2004−238377)
【出願日】平成16年8月18日(2004.8.18)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
【公開日】平成18年3月2日(2006.3.2)
【国際特許分類】
【出願日】平成16年8月18日(2004.8.18)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
[ Back to top ]