(57)【要約】【課題】  画像フレーム中から人体らしい対象物を検出し、その対象物を画像に捕捉し、少ない演算量で壁などの紋様による誤検出を排除し確実に顔を検出する。【解決手段】  イメージ・センサと熱を感知するサーモパイル・アレイを持ち、  撮像範囲と熱検出範囲を重複させ、サーモパイル・アレイの出力が示す人体らしき範囲のみを顔抽出範囲と限定して不要な演算処理量を減らす。また、サーモパイル・アレイが人体を示すエリア情報から、顔のテンプレート・サイズを限定して演算処理を高速化する。サーモパイル・アレイからの出力が人体らしき反応を示す範囲を、イメージ・センサの撮影範囲にとどめるように駆動機構を制御する。【選択図】  図１
2006059015.tif 000002
【特許請求の範囲】
【請求項１】
視覚データに基づいて人体を検出する人体検出装置であって、
画像を撮像する撮像部と、
熱分布に関する情報を検出する熱情報検出部と、
前記撮像部における撮像範囲と前記熱情報検出部における熱検出範囲を重複させるように配置する検出範囲設定手段と、
前記熱検出範囲のうち人体が持つ熱量が検出された領域に相当する撮像領域を人体抽出範囲として撮像画像から取り出す人体抽出手段と、
を具備することを特徴とする人体検出装置。
【請求項２】
前記人体抽出手段は、人体が持つ熱量が検出された範囲に基づいて撮像画像から顔領域を抽出する、
ことを特徴とする請求項１に記載の人体検出装置。
【請求項３】
前記人体抽出手段は、平均的な顔画像を示す１以上のテンプレートを備え、人体が持つ熱量が検出された範囲に基づいて撮像画像から抽出された顔抽出範囲において各サイズのテンプレートとのマッチングを行ない、各テンプレートとの相関値に基づいてテンプレートを決定し顔候補となる位置を抽出する、
ことを特徴とする請求項２に記載の人体検出装置。
【請求項４】
前記人体抽出手段は、人体が持つ熱量が検出された領域に基づいて、使用するテンプレートのサイズを限定する、
ことを特徴とする請求項３に記載の人体検出装置。
【請求項５】
前記撮像部において取得する画像の撮像方向及び前記熱情報検出部において取得される熱検出方向を駆動する駆動手段をさらに備える、
ことを特徴とする請求項１に記載の人体検出装置。
【請求項６】
前記駆動手段は、前記熱検出範囲のうち人体が持つ熱量が検出される領域を前記熱検出範囲にとどめるように駆動する、
ことを特徴とする請求項５に記載の人体検出装置。
【請求項７】
前記熱情報検出部において人体が持つ熱量が検出されなかったときには、前記人体抽出手段の動作を停止し、人体が持つ熱量が検出されたことに応答して前記人体抽出手段の動作を起動する、
ことを特徴とする請求項１に記載の人体検出装置。
【請求項８】
前記人体抽出手段は、前記撮像部による撮像画像の中から画像処理に基づいて顔検出を行なった後、顔検出された各領域について前記熱情報検出部による熱情報に基づいて検出確認を行なう、
ことを特徴とする請求項１に記載の人体検出装置。
【請求項９】
視覚データに基づいて人体を検出する人体検出方法であって、
撮像画像を取得する画像情報取得ステップと、
熱分布に関する情報を取得する熱情報取得ステップと、
前記撮像画像における撮像範囲と前記熱情報における熱検出範囲を重複させるように配置する検出範囲設定ステップと、
前記熱検出範囲のうち人体が持つ熱量が検出された領域に相当する撮像領域を人体抽出範囲として撮像画像から取り出す人体抽出ステップと、
を具備することを特徴とする人体検出方法。
【請求項１０】
前記人体抽出ステップでは、人体が持つ熱量が検出された範囲に基づいて撮像画像から顔領域を抽出する、
ことを特徴とする請求項９に記載の人体検出方法。
【請求項１１】
前記人体抽出ステップでは、平均的な顔画像を示す１以上のテンプレートを用い、人体が持つ熱量が検出された範囲に基づいて撮像画像から抽出された顔抽出範囲において各サイズのテンプレートとのマッチングを行ない、各テンプレートとの相関値に基づいてテンプレートを決定し顔候補となる位置を抽出する、
ことを特徴とする請求項１０に記載の人体検出方法。
【請求項１２】
前記人体抽出ステップでは、人体が持つ熱量が検出された領域に基づいて、使用するテンプレートのサイズを限定する、
ことを特徴とする請求項１１に記載の人体検出方法。
【請求項１３】
前記画像情報取得ステップにおいて取得される画像の撮像方向及び前記熱情報取得ステップにおいて取得される熱検出方向を変更する検出範囲変更ステップをさらに備える、
ことを特徴とする請求項９に記載の人体検出方法。
【請求項１４】
前記検出範囲変更ステップでは、前記熱検出範囲のうち人体が持つ熱量が検出される領域を前記熱検出範囲にとどめるようにする、
ことを特徴とする請求項１３に記載の人体検出方法。
【請求項１５】
前記熱検出範囲において人体が持つ熱量が検出されたことに応答して前記人体抽出ステップを起動する、
ことを特徴とする請求項９に記載の人体検出方法。
【請求項１６】
前記人体抽出ステップは、撮像画像の中から画像処理に基づいて顔検出を行なうステップと、顔検出された各領域について前記熱情報取得ステップにより得られた熱情報に基づいて検出確認を行なうステップを備える、
ことを特徴とする請求項９に記載の人体検出方法。
【請求項１７】
視覚データに基づいて人体を検出するための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、
撮像画像を取得する画像情報取得ステップと、
熱分布に関する情報を取得する熱情報取得ステップと、
前記撮像画像における撮像範囲と前記熱情報における熱検出範囲を重複させるように配置する検出範囲設定ステップと、
前記熱検出範囲のうち人体が持つ熱量が検出された領域に相当する撮像領域を人体抽出範囲として撮像画像から取り出す人体抽出ステップと、
を具備することを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、生体情報に基づいて人体検出装置及び人体検出方法、並びにコンピュータ・プログラムに係り、特に、顔などの人体を撮影して得られる視覚データを基に人体を検出する人体検出装置及び人体検出方法、並びにコンピュータ・プログラムに関する。
【０００２】
さらに詳しくは、撮影画像から顔領域を検出して顔認識する人体検出装置及び人体検出方法、並びにコンピュータ・プログラムに係り、特に、画像フレーム中からより高速に顔領域を抽出する人体検出装置及び人体検出方法、並びにコンピュータ・プログラムに関する。
【背景技術】
【０００３】
人体の識別・検出技術は、個人認証などセキュリティ・システムとして、あるいはユーザに負担をかけないマンマシン・インターフェースとして開発されてきた。最近では、介護型ロボットやエンターテインメント型ロボット、あるいは各種のＣＥ機器などにおいて、対面式のサービスを実現する際のヒューマン・インターフェースとして導入されつつある。例えば、ロボット装置は、人体認識により、多くの中からユーザ（飼い主又は友達、若しくは正当なユーザ）を識別することができる。そして、人体識別結果に基づいて、ユーザ毎にリアクションを変えるなどして、より親密でエンターテインメント性のあるものとなる。
【０００４】
個人認証や大規模データベースからの人物検索などを目的とした人体認識システムでは、静的で且つ強力な計算機リソースを利用して、正確性を追及した処理が行なわれる。これに対し、ロボットやＣＥ機器などにおいては、限られた演算能力で、且つサービス品質を保つためにリアルタイムに認識処理が行なわれることが望まれている。
【０００５】
ここで、人の識別や認証を行なう際にシステム効率を上げるためには、人が近くにいる場合にのみその処理を実行することが望ましい。
【０００６】
人が近くにいるかどうかを検出する方法としては、従来、セキュリティ機器やサニタリー機器などでは焦電センサや距離センサなどを用い、また、ロボットなどは画像データを基に顔検出、色検出などの方法を用いられている。
【０００７】
焦電センサを使用する方法では、熱の揺らぎしか検出できず、物体の存在する方向や移動方向が判らない。また、センサ自体の時定数がデバイスの原理として大きく、動作中や停止後一定時間内は正しく測定できないという制限が存在するため、自らが動くロボットでの使用には最適とはいえない。
【０００８】
距離センサを用いた方法では、近づいた物体が何であるかの判断はできない。また、人体がその距離にまで十分近づくことが必要であるため、人間との共生を目指すロボットしての人検出の用途には不十分である。
【０００９】
また、画像データを基にした顔検出、色検出の方法では、全画面の画像データを処理するため、演算量が多く、システムとしての負荷が高いなどの欠点が存在する。
【００１０】
人の識別・認証には、顔、声紋、虹彩、網膜毛細血管、指紋、手の指、甲などの特定の部位の特徴で構成される生体情報を利用する方法が一般的である。ところが、顔、声紋以外は、人が認証を意識した所作、例えば、目や手の甲などを識別装置にかざしたりする行為が必要となるため、ユーザにとって煩わしい。また、人との共生を目指すロボットの場合、家庭やオフィスなどでそのような認証を意識したユーザの行為は不自然である。また、複数の人を同時に識別できないという問題点もある。
【００１１】
また、音声による識別・認証方法では、人が声を発しないと識別できない、識別した人がどの方向にいるのかを特定できない、複数の人が同時に話をすると識別するのが難しい、といった問題がある。
【００１２】
上述したような理由から、人を識別するロボットには、視覚データによる顔識別を行なう方法が有力であると思料される。
【００１３】
顔認識技術自体は、パターン認識理論を検証する上でベンチマーク的な位置付けを持っており、古くからさまざまな手法が開発されてきた。また、ユーザに負担をかけないマンマシン・インターフェースとして期待されている。
【００１４】
ところが、ロボットを始めとする対面式のシステムへの適用した場合、動的に変化する環境下で一定時間内に応答できること、すなわちリアルタイムに認識処理が行なわれることが望まれる。また、組み込みシステムで利用する場合には、比較的低い演算能力を以ってリアルタイム性を実現する必要がある。
【００１５】
また、ロボット装置に搭載される顔識別のアプリケーションでは、ある与えられた１枚のシーンの中から人物を識別するという問題に加え、次のような問題を解決する必要がある。  
【００１６】
（１）ロボット装置自身が移動するため、環境の変化やその多様性を許容しなくてはならない。
（２）人間とロボット装置の位置関係も変化するため、インタラクション中に人間を視野内に入れ続ける必要がある。
（３）数多くのシーン画像から人物の識別に使える画像を選び出し、総合的に判断しなくてはならない。
（４）ある時間内に応答しなくてはならない。
【００１７】
顔認識処理は、静止画又は動画などの画像フレーム中からユーザの顔の位置を同定したり顔の向きを認識したりする顔領域の抽出（若しくは顔検出）と、抽出された顔領域の画像情報を基に人物の顔を識別若しくは認識する顔識別という２つの工程に大別される。顔識別の手法としては、顔の各要素の相対的位置関係を用いたアルゴリズムや、幾何学的に不変の特徴と統計的な特徴の部分を組み合わせたアルゴリズム、局所的な特徴とその構成に重点を置いたアルゴリズムなどが挙げられる（例えば、非特許文献１を参照のこと）。初期は横顔を使った認識技術も検討されたが、現在は、正面画像の認識技術が中心となっている。
【００１８】
このような顔認識の処理負荷を低減し、リアルタイム処理を実現するには、人の顔をいかに画像フレームにいれるか、また、リアルタイムで顔の部分をいかに抽出し、識別するかが重要である。
【００１９】
顔検出方法としては、固有顔、ニューラル・ネットワーク及びサポートベクタマシン（ＳＶＭ：Ｓｕｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）などのパターン認識の手法を利用して、あらかじめ顔パターンを学習させて識別器を生成する方法が挙げられる（例えば、特許文献１を参照のこと）。
【００２０】
例えば、ＳＶＭは、識別関数に線形識別器（パーセプトロン）を用いた学習機械であり、カーネル関数を使うことで非線形空間に拡張することができる。また、識別関数の学習では、クラス間分離のマージンを最大にとるように行なわれ、その解は２次数理計画法を解くことで得られるため、グローバル解に到達できることを理論的に保証することができる。ＳＶＭは、パターン認識の分野で最も学習汎化能力が高いとされる（例えば、非特許文献２を参照のこと）。
【００２１】
このようなパターン識別器を生成する方法によると、ロボット装置は、膨大なデータ量である顔画像データに対して学習によるパターン識別を行なうに当たって、環境の変化や自己の姿勢及び表情の変化に対してロバスト性を示す。しかしながら、その分だけ当該パターン識別に要する演算量が増加するため、演算処理に要する時間が膨大になるという問題点がある。
【００２２】
撮像画像の中から人間の顔画像を検出するプロセスにおいては、当該撮像画像の中から顔画像を切り出しながら識別を行なうので、撮像画像全体をさまざまなスケールでスキャンすることとなる。カメラの高解像度化に伴い、膨大数の画素から顔の位置を探索しなければならなくなる。すなわち、画像フレームから顔の位置を同定し顔領域を抽出する顔検出が、顔認識処理のボトルネックの１つとなる。このため、一回一回のパターン識別に要する演算処理を極力少なくすることが極めて重要である。
【００２３】
とりわけ、ロボット装置に利用する場合には、動画の中から十分に早く顔画像を検出しなければ、リアルタイム性が要求される行動制御にフィードバックすることが極めて困難となる。さらに、ロボット装置の内部のＣＰＵは、顔検出のタスク以外にも、姿勢安定制御や行動制御などの常時実行しているタスクが多くある。すなわち、これらの常態的なタスクに対して演算能力を費やしている分、顔検出のタスクに対してフルに演算能力を費やすことは極めて困難である。
【００２４】
例えば、入力画像と平均的な顔画像を示す所定サイズのテンプレートとの相関をとった相関値の集合からなるマッチング結果を生成し、このマッチング結果で得られる相関値の局所最大値に基づいて顔候補を抽出し、顔候補に相当する入力画像領域から顔領域を識別する顔検出装置について提案がなされている（例えば、特許文献２を参照のこと）。このような顔検出装置によれば、演算量を低減してリアルタイム性を向上することができるが、全画面をスキャンすることには変わりなく、壁なども紋様による誤検出の可能性を低減させるものではない。
【００２５】
また、一般的な顔検出アルゴリズムは、対象となる顔が横向きであったり、傾きがあったりした場合には検出精度が著しく落ちてしまう。それを補うために色情報を利用する方法もある。この場合、低い計算コストで行なえるというメリットもあるが、肌色の物体との区別が困難であり、また、環境色温度の影響、人種などの個人差などの影響を排除することが極めて困難である。このため、一度顔を見つけた後、色情報で補間するなども行なわれている例があるが、最初に顔を見つけることそのものの課題を克服していない。
【００２６】
【特許文献１】特開２００２−１５７５９６
【特許文献２】特開２００４−３０６２９号公報
【非特許文献１】社団法人情報処理学会編「新版  情報処理ハンドブック」（オーム社、平成７年１１月２５日ｐ．１１９３）
【非特許文献２】Ｂ．Ｓｈｏｌｋｏｐｆ、Ｃ．Ｂｕｒｇｅｓ、Ａ．Ｓｍｏｌａ共著“Ａｄｖａｎｃｅ ｉｎ Ｋｅｒｎｅｌ Ｍｅｔｈｏｄｓ Ｓｕｐｐｏｒｔ Ｖｅｃｔｏｒ Ｌｅａｒｎｉｎｇ”（Ｔｈｅ ＭＩＴ Ｐｒｅｓｓ，１９９９）
【発明の開示】
【発明が解決しようとする課題】
【００２７】
本発明の目的は、顔などの人体を撮影した画像を基に人体を好適に検出することができる、優れた人体検出装置及び人体検出方法、並びにコンピュータ・プログラムを提供することにある。
【００２８】
本発明のさらなる目的は、撮影画像から顔領域を好適に検出して顔認識を行なうことができる、優れた人体検出装置及び人体検出方法、並びにコンピュータ・プログラムを提供することにある。
【００２９】
本発明のさらなる目的は、画像フレーム中から人体らしい対象物を検出し、その対象物を画像に捕捉し、少ない演算量で、壁などの紋様による誤検出を排除し確実に顔を検出することができる、優れた人体検出装置及び人体検出方法、並びにコンピュータ・プログラムを提供することにある。
【課題を解決するための手段】
【００３０】
本発明は、上記課題を参酌してなされたものであり、その第１の側面は、視覚データに基づいて人体を検出する人体検出装置であって、
画像を撮像する撮像部と、
熱分布に関する情報を検出する熱情報検出部と、
前記撮像部における撮像範囲と前記熱情報検出部における熱検出範囲を重複させるように配置する検出範囲設定手段と、
前記熱検出範囲のうち人体が持つ熱量が検出された領域に相当する撮像領域を人体抽出範囲として撮像画像から取り出す人体抽出手段と、
を具備することを特徴とする人体検出装置である。
【００３１】
ユーザに負担をかけないマンマシン・インターフェースとして人体の識別・検出技術が開発されてきた。なかでも、カメラの撮像画像などの視覚データによる顔認識は、ユーザに認識を意識させる必要がないことや、複数の人を同時に識別できることなどの理由により、有望である。顔認識は、画像フレーム中からユーザの顔の位置を同定して顔領域を抽出する顔検出と、顔領域の画像情報を基に人物の顔を識別する顔識別で構成される。
【００３２】
ここで、顔検出のプロセスでは、顔画像を切り出しながら識別を行なうので、撮像画像全体をさまざまなスケールでスキャンすることとなり、処理負荷が高い。また、カメラの高解像度化に伴い、膨大数の画素から顔の位置を探索しなければならなくなる。
【００３３】
これに対し、本発明によれば、撮像部としてのイメージ・センサなどでユーザの顔を含む画像フレームを捕捉する一方、熱情報検出部としてのサーモパイル・アレイなどを用いて熱分布に関する２次元情報を取得する。そして、前者の撮像範囲と後者の熱検出範囲を重複させるように配置し、顔など人体が持つ熱量が検出された領域すなわち人体らしき範囲のみを顔抽出範囲として撮像画像から取り出して顔検出処理を行なう。
【００３４】
すなわち、本発明によれば、イメージ・センサが出力する全画像データのうち、人体らしき部分のみを顔抽出範囲に限定し、不要な演算処理量を削減することにより、顔検出処理を高速化することができる。
【００３５】
通常、人は衣服をまとっており、また、季節によって衣服の生地の厚さが異なるが、顔は露出していることが多い。したがって、サーモパイル・アレイで検出した人体と思われるエリアを顔検出の対象エリアとして考えることができる。この処理により、処理対象のエリアを限定するとともに、壁などの紋様による誤検出をほぼ無くすことができる。
【００３６】
例えば、イメージ・センサとサーモパイル・アレイが上下に配置されている場合には、撮像画像のうち人体が持つ熱量が検出された領域を含む縦方向の帯状の領域を、顔抽出範囲として取り出すことができる。
【００３７】
ここで、顔検出処理には、平均的な顔画像を示す、サイズの異なる複数のテンプレートを備え、各サイズのテンプレートを用いて顔抽出領域をスキャンしてマッチングを行なうという、テンプレート・マッチングを導入することができる。この場合、各サイズのテンプレート毎に、限定された顔抽出範囲をスキャンして、テンプレートとの相関値が最も高い（すなわち局所最大となる）位置を顔候補として抽出することができる。そして、テンプレート毎に求められた相関の局所最大値を比較し、このうち最大となるテンプレートを用いて求められた位置を顔候補として抽出することができる。
【００３８】
画像フレームに含まれる顔のサイズは、遠近若しくはレンズのズームの程度や、個人差によって区々である。このため、画像フレーム中から顔候補となる位置を特定するには、サイズの異なるテンプレートを複数用意する必要がある。ところが、領域が限定されているとはいえ、すべてのテンプレートで顔抽出範囲をスキャンすると、処理に要する演算負荷は過大である。そこで、顔検出対象エリアの大きさから顔テンプレートのサイズを推測し、使用するテンプレートのサイズを限定することにより、演算処理を高速化するようにしてもよい。
【００３９】
また、本発明に係る人体検出装置を、ロボット装置やその他の移動体装置に適用した場合、ある与えられた１枚のシーンの中から人物を識別するという問題に加え、人体あるいはロボット装置自身の移動により位置関係が変化することから、インタラクション中に人間を視野内に入れ続ける必要がある。
【００４０】
そこで、人体検出装置は、前記画像情報取得部において取得する画像の撮像方向及び前記熱情報取得部において取得される熱検出方向を駆動する駆動手段をさらに備え、人体とロボット装置の位置関係の変化に応じて人体をトラッキングし、常に人体が撮像範囲並びに熱検出範囲に収まるようにしてもよい。
【００４１】
サーモパイル・アレイで人体と思われるエリアを発見しても、それが人体の顔であるにも拘らず、撮像画像から顔検出を行なった結果、顔と判断されない場合は、そのエリアをサーモパイル・アレイの情報を基に、装置の駆動装置を使用し、サーモパイル・アレイのセンシング範囲に収めるようトラッキングを行なうことで、顔の検出の機会を増やすことができる。
【００４２】
このようなトラッキング処理を、サーモパイル・アレイの出力に基づいて行なうことで、イメージ・センサからの画像データによる移動検出処理よりも少ない演算処理量で実現することができる。
【００４３】
また、上記の状態で顔検出の結果を待たずに動きのある熱量を人体と仮定し、そのエリアに向かって行動する（例えば、挨拶や呼びかけを行なう）ことで、顔を装置に向けるよう積極的に働きかけるようにしてもよい。
【００４４】
なお、前記熱情報検出部において人体が持つ熱量が検出されなかったときには、前記人体抽出手段の動作を停止し、人体が持つ熱量が検出されたことに応答して前記人体抽出手段の動作を起動するようにしてもよい。この場合、人体が検出範囲に存在していない期間は前記人体抽出手段による無駄な動作をなくし、消費電力を削減することができる。あるいは得られた余剰の演算処理能力を他の処理に有効に活用することができる。
【００４５】
また、本発明の第２の側面は、視覚データに基づいて人体を検出するための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、
撮像画像を取得する画像情報取得ステップと、
熱分布に関する情報を取得する熱情報取得ステップと、
前記撮像画像における撮像範囲と前記熱情報における熱検出範囲を重複させるように配置する検出範囲設定ステップと、
前記熱検出範囲のうち人体が持つ熱量が検出された領域に相当する撮像領域を人体抽出範囲として撮像画像から取り出す人体抽出ステップと、
を具備することを特徴とするコンピュータ・プログラムである。
【００４６】
本発明の第２の側面に係るコンピュータ・プログラムは、コンピュータ・システム上で所定の処理を実現するようにコンピュータ可読形式で記述されたコンピュータ・プログラムを定義したものである。換言すれば、本発明の第２の側面に係るコンピュータ・プログラムをコンピュータ・システムにインストールすることによって、コンピュータ・システム上では協働的作用が発揮され、本発明の第１側面に係る人体検出装置と同様の作用効果を得ることができる。
【発明の効果】
【００４７】
本発明によれば、顔などの人体を撮影した画像を基に人体を好適に検出することができる、優れた人体検出装置及び人体検出方法、並びにコンピュータ・プログラムを提供することができる。
【００４８】
また、本発明によれば、撮影画像から顔領域を好適に検出して顔認識を行なうことができる、優れた人体検出装置及び人体検出方法、並びにコンピュータ・プログラムを提供することができる。
【００４９】
また、本発明によれば、画像フレーム中から人体らしい対象物を検出し、その対象物を画像に捕捉し、少ない演算量で、壁などの紋様による誤検出を排除し確実に顔を検出することができる、優れた人体検出装置及び人体検出方法、並びにコンピュータ・プログラムを提供することができる。
【００５０】
顔検出処理での演算量は、処理にかける総画素数と顔テンプレート数の積に比例する。したがって、本発明によれば、顔検出のエリアを全画面の１／８、顔テンプレート数を従来の３／１６とした場合には、従来の処理量を３／１２８まで低減させることができる。
【００５１】
また、画像データのみを使用した顔検出処理で発生していた顔以外のものを顔と判断してしまう誤検出を、本発明では、サーモパイル・アレイによる熱量を併せて使用することによりほぼなくすことが可能である。
【００５２】
すなわち、本発明によれば、装置の顔検出のリアルタイム性と精度を向上させることが可能である。
【００５３】
ここで、サーモパイル・アレイが熱量を検出していない状態では、顔検出処理を停止するようにしてもよい。この場合、プロセッサの演算処理能力を別の処理に振り分けるようにしてもよい。例えば、各関節の駆動制御や姿勢制御を継続的に行なわなければならないロボット装置や、顔検出のための専用プロセッサを配置することが困難な組み込み機器においては、専用プロセッサを用いる必要がないことから、低コストのシステム設計が可能となる。勿論、演算処理を行なわないことにより、消費電力の低減が可能となる。消費電力の低減は、バッテリーで動作する装置においては、バッテリー本数を増やすことなく総稼働時間を引き伸ばすことが可能となる。
【００５４】
また、本発明によれば、従来の顔検出に必要なほどの演算能力を必要としないため、従来よりも安価な演算コストでシステムを構築することができる。
【００５５】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【発明を実施するための最良の形態】
【００５６】
以下、図面を参照しながら本発明の実施形態について詳解する。
【００５７】
図１には、本発明の一実施形態に係る人体検出装置の構成を模式的に示している。同図に示す人体検出装置は、センサ部１０と、情報制御部２０と、運動制御部３０で構成される。この人体検出装置は、例えばロボット装置やその他の対面式作業を行なう機械装置類、個人認証などを行なうＣＥ機器などに組み込んで利用することができるが、その利用形態は特に限定されない。
【００５８】
センサ部１０は、周囲画像を撮影するイメージ・センサ１１と、２次元的な熱分布情報を捕捉するサーモパイル・アレイ１２で構成される。
【００５９】
イメージ・センサ１１は、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）やＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）などの受光素子を２次元的に配列して構成された撮像デバイスと、この撮像面に集光・結像する光学レンズなど（いずれも図示しない）で構成される。
【００６０】
また、サーモパイル・センサは、無数の熱電対を直列に接続して構成される放射温度計のセンサである。サーモパイル・アレイは、サーモパイル・センサを２次元平面上に配列したものであり、電気的走査により熱分布の測定を行なうことができる。
【００６１】
後述するように、イメージ・センサ１１における撮像範囲とサーモパイル・アレイ１２における熱検出範囲を重複させるように配置される。
【００６２】
情報制御部２０は、イメージ・センサ１１において撮像された画像の処理を行なう画像データ処理部２１と、サーモパイル・アレイ１２から入力される熱分布データから人体と思しきエリアを抽出する熱条件判定及びエリア抽出部２２と、そこで抽出されたエリアを基に顔検出を行なう画像エリアを特定し適切な顔テンプレートを選ぶ部分２３、並びに、限定されたエリアにおいて顔検出を実行する顔検出演算部２４を備えている。情報処理メイン部２５は、人体検出装置全体の動作を統括的に制御するメイン・コントローラであり、顔検出により得られた情報を基に次の行動を決定することができる。
【００６３】
運動制御部３０は、情報制御部２０からの命令を受け実際の制御を行なうサーボ部３１と、サーボ部３１からの指示値に基づいて駆動する幾つかのアクチュエータ３２を備えている。運動制御部３０は、例えば、本実施形態に係る人体検出装置を搭載したロボット装置である。あるいは、運動制御部３０は、熱分布情報に基づいて人体エリアをトラッキングする駆動装置（後述）を構成する。
【００６４】
図２には、本実施形態に係る人体検出装置において、顔検出を行なうための処理手順をフローチャートの形式で示している。
【００６５】
サーモパイル・アレイから熱分布に関するデータを取得すると（ステップＳ１）、次の処理で人体らしきデータがあるかどうかの判定にかける（ステップＳ２）。そして、人体らしきデータがあるまでループする。
【００６６】
人体らしきデータがあったと判断されたときには、顔検出エリア決定の処理と（ステップＳ３）、顔テンプレート・サイズの決定の処理を経た後（ステップＳ４）、実際の顔検出処理を行なう（ステップＳ５）。
【００６７】
ここで、顔検出できなかった場合には（ステップＳ６）、ステップＳ４に戻って顔テンプレート・サイズの見直しがなされた後、顔検出の処理を改めて行なう。
【００６８】
イメージ・センサ１１により撮像された画像フレームのうち、顔など人体が持つ熱量が検出された人体らしき範囲のみに限定して顔検出処理を行なう。このため、イメージ・センサ１１における撮像範囲とサーモパイル・アレイ１２における熱検出範囲を重複させるように配置する。ここで、イメージ・センサ１１とサーモパイル・アレイ１２の各センサの物理的な配置について説明する。
【００６９】
イメージ・センサ１１とサーモパイル・アレイ１２は、イメージ・センサ１１の画像中心軸と、サーモパイル・アレイ１２のセンス・エリアの中心軸がほぼ平行となるように配置する。且つ、両デバイスが検出するエリアは重なるようにする。
【００７０】
図３には、イメージ・センサ１１とサーモパイル・アレイ１２それぞれの検出範囲を図解している。同図に示すように、イメージ・センサ１１の検出エリアの中心と、サーモパイル・アレイ１２での熱検出エリアの中心が同一点である場合、サーモパイル・アレイ１２上で人体を示す位置と、イメージ・センサ１１上で人体を映す位置は、対象物との距離に依らず一意に決まる。
【００７１】
図４には、イメージ・センサ１１とサーモパイル・アレイ１２それぞれの検出範囲を横から眺めている。同図に示すように、イメージ・センサ１１の垂直方向の画角は中心軸からβの角度を持ち、サーモパイル・アレイ１２のセンス角度が中心軸からαの角度を持っており、また、被検出物の重心が中心軸からγの角度に位置したとする。
【００７２】
このとき、被検出物体の重心がサーモパイル・アレイ１２が持つ検出エリアの上半分のうち１／εの高さとした場合、イメージ・センサ１１上では、その上半分の、１／ζの高さに存在することが判る。１／εと１／ζその関係は、以下の通りとなる。
【００７３】
１／ε＝ｔａｎγ／ｔａｎα
１／ζ＝ｔａｎγ／ｔａｎβ
１／ζ＝（ｔａｎα／ε）／ ｔａｎβ＝ｔａｎα／（ε×ｔａｎβ）
【００７４】
よって、サーモパイル・アレイ１２の出力とイメージ・センサ１１の出力の垂直位置関係は、両センサのセンス角がそれぞれα、βと異なっていても既知であれば一意に決まる。同様のことが水平位置に関しても当てはまる。
【００７５】
以後の説明では、便宜上、両センサのセンス角を同一として扱うことにする。
【００７６】
図５には、イメージ・センサ１１が捕捉した人物と背景からなる撮像画像の例を示している。また、図６には、同じ検出範囲においてサーモパイル・アレイ１２により計測された熱分布情報を示している。さらに図７には、Ｎ×Ｍのサーモパイル・アレイ１２が実際に出力するデータを示している。但し、同図では、温度が高い部分ほどより濃い網目模様で描いている。
【００７７】
ここで、人体に近い温度を示すエリアを参照番号１で指し示すとする。人体に近い温度とは、成人の平熱といわれる３６．０〜３６．５度を基準として、発熱やその他の環境を考慮して適切なマージンをとった値のことである。周囲環境に応じてマージンを変更することで、確度を変更することが可能である。以下の条件式において、条件１及び条件２がともに真である場合、人体に近い温度とする。
【００７８】
条件１：  （成人の平熱）−マージン１＜測定データ
条件２：  （成人の平熱）＋マージン２＞測定データ
【００７９】
但し、サーモパイル・アレイ１１の１アレイが示す温度はそのエリアの平均データである。このため、人体を覆うエリアであっても、そのエリア全体を人体が覆った部分でないと、人体と重なっていない部分との平均がとられることにより、エリアとして検出される温度は低下するため、その人体に近い温度を示さない。すなわち、人体が持つ熱量が検出されるエリアは、実際に人体が存在するエリアよりも縮退したものとなる。
【００８０】
そこで、本実施形態では、参照番号１で示される人体に近い温度が検出されたエリアからさらに適当な範囲を広げたエリア２に拡張して、その部分に対応する画像データのみを顔検出演算処理にかけるようにする。図７には、Ｎ×Ｍのサーモパイル・アレイ１２の出力データにおいて、人体に近い温度が示されるエリア１に対し、マージンを考慮して設定される顔検出エリア２を示している。また、図８には、イメージ・センサ１１による撮影画像において、人体に近い温度が検出されるエリア１、並びにマージンを考慮して設定されるエリア２がそれぞれ示されている様子を示している。
【００８１】
図３及び図４に示したように、イメージ・センサ１１の検出エリアの中心と、サーモパイル・アレイ１２での熱検出エリアの中心が同一点となるようにセンサ部１０を構成することが理想的である。この場合、サーモパイル・アレイ１２上で人体を示す位置と、イメージ・センサ１１上で人体を映す位置は、対象物との距離に依らず一意に決まる。ところが、実際の設計では、イメージ・センサ１１とサーモパイル・アレイ１２を同軸上に配置できない場合が多い。図９及び図１０には、イメージ・センサ１１とサーモパイル・アレイ１２を同軸上に配置できない構成例をそれぞれ示している。
【００８２】
図９に示す例では、イメージ・センサ１１とサーモパイル・アレイ１２は互いの中心軸を平行に保ちながら上下方向に離間して配設されている。
【００８３】
上下方向ではなく左右方向に離間して同様に配設した場合には、横から眺めた図４に示したような関係が成り立つので、両エリア内での被検出物体の上下方向の位置は、非検出物体との距離によらず一意に求めることができる。これに対し、上下方向に離間して配置した場合には、両エリア内での上下方向の位置関係が、被検出物体との距離によって大きく変わってしまう。
【００８４】
図１１には、イメージ・センサ１１とサーモパイル・アレイ１２は互いの中心軸を平行に保ちながら上下方向に離間して配設した場合の、イメージ・センサ１１とサーモパイル・アレイ１２のそれぞれにより物体を検出する様子を示している。同図に示す例では、サーモパイル・アレイ１２上であるセンス角で検出した物体は、センサとの距離によって、参照番号３や４で示す位置などに存在する場合があるが、その区別はサーモパイル・アレイ１２の出力からでは区別がつかない。
【００８５】
図１２には、参照番号３や４で示す位置に物体があった場合において、イメージ・センサ１１で捕捉される撮像画像を示している。同図に示すように、撮像画像中では、これらの被検出物体はそれぞれ参照番号５並びに６で示す位置に出現しており、区別することはできるが、サーモパイル・アレイ１２の出力とイメージ・センサ１１のデータに正確な相関を求めることはできない。
【００８６】
ここで、イメージ・センサ１１とサーモパイル・アレイ１２は互いの中心軸を平行に保ちながら上下方向に離間して配設されている。このことから、参照番号５及び６のほぼ中心を通過する、上下方向に伸びる軸７上に所望の被検出物体が存在する可能性が高い。
【００８７】
したがって、被検出物体までの距離が既知でない場合には、図７に示したように人体が持つ熱量が検出されるエリアにマージンを設けるだけでなく、図１２に示したように上下方向（言い換えれば、イメージ・センサ１１とサーモパイル・アレイ１２を離間して配置する方向）に顔抽出範囲を拡張することにより、位置５及び６、又はそれ以外の位置に存在する可能性のある被検出物体を確実に検出できるようになる。図１２に示す例では、軸７を中心に上下方向に伸びる帯状の拡張エリア８上をスキャンして、顔検出を行なう。
【００８８】
顔抽出範囲を拡張する方法として、例えば２通りの方法を挙げることができる。図９に示す例では、サーモパイル・アレイ１２上において中心又は中心より上に被検出物体が存在する場合は、イメージ・センサ１１の上半分のエリアを顔検出処理にかけ、それ以外の場合は縦方向にすべて拡張したエリアを顔検出にかける。人体検出装置のセンサ部１０を、人体より低い位置に配置することで、イメージ・センサの上半分のエリアで顔検出が行なわれる確率を上げることが可能である。
【００８９】
顔検出の方法として、平均的な顔画像を示す所定サイズのテンプレートすなわち顔テンプレートを用いる方法が挙げられる。この場合、顔テンプレートを、例えば図１２中で軸７に沿ってスキャンし、各位置における画像領域と顔テンプレートとの相関をとり、高い相関値が得られた位置を顔候補として抽出することができる。
【００９０】
画像フレームに含まれる顔のサイズは、遠近若しくはレンズのズームの程度や、個人差によって区々である。このため、画像フレーム中から顔候補となる位置を特定するには、サイズの異なる複数の顔テンプレートを用意すればよい。
【００９１】
ここで、領域が限定されているとはいえ、すべてのテンプレートで顔抽出範囲８をスキャンすると、処理に要する演算負荷は過大となってしまう。そこで、顔検出対象エリアの大きさから顔テンプレートのサイズを推測し使用するテンプレートのサイズを限定することにより、演算処理を高速化するようにしてもよい。例えば、サーモパイル・アレイ１２が示す熱のエリア範囲９より最も近いサイズから順に顔テンプレート・サイズを採用することで、処理効率を向上することができる。
【００９２】
図１３には、サーモパイル・アレイ１２が示す熱のエリア範囲９に基づいて複数の顔テンプレート１０〜１７の中から顔検出に使用するものを選択する様子を示している。図示のように、あらかじめ定められた顔テンプレート・サイズ群１０〜１７の中から、サーモパイル・アレイ１２が示す熱エリアのサイズ１８から限定した顔テンプレート候補１９を選出する。
【００９３】
また、図１４には、このときの処理手順をフローチャートの形式で示している。
【００９４】
まず、熱エリアのサイズを基に、顔テンプレート候補を限定する（ステップＳ１１）。そして、限定された顔テンプレートから熱エリアのサイズに最も近いテンプレートを選択して（ステップＳ１２）、顔検出処理を行なう（ステップＳ１３）。
【００９５】
ここで、顔を検出することができた、すなわち顔抽出範囲で顔テンプレートとの相関値が所定値以上となる位置を得られたならば（ステップＳ１４）、顔検出に成功したとして、本処理ルーチンを終了する。
【００９６】
一方、顔を検出することができなかった場合には、選択した顔テンプレートを候補から外す（ステップＳ１５）。そして、限定された顔テンプレートの候補のうち、未確認のものがあれば（ステップＳ１６）、ステップＳ１２に戻り、次の顔テンプレートを選択して、顔検出を再試行する。
【００９７】
また、すべての顔テンプレートの候補について確認したが、顔を検出することができなかった場合には（ステップＳ１６）、顔検出に失敗したとして、本処理ルーチンを終了する。
【００９８】
図１０には、イメージ・センサ１１とサーモパイル・アレイ１２を同軸上に配置することができない他の構成例を示している。人体と装置の関係がある特定の距離に限定される場合、図１０に示すように、サーモパイル・アレイ１２とイメージ・センサ１１をその特定の距離で中心点が重なるように配置する。これによって、サーモパイル・アレイ１２の検出位置とイメージ・センサ１１の画像の位置関係の相関をとることにより図９で示す例より顔検出対象エリアが小さくでき、その結果、顔検出の処理量を低減することができる。
【００９９】
顔検出の対象である人体は移動することから、人体検出装置との位置関係が時々刻々と変化していくため、向き、熱エリアと顔がともに検出されなくなる可能性がある。これらの場合、イメージ・センサ１１による撮像方向と、サーモパイル・アレイ１２による熱検出方向をそれぞれ駆動する駆動装置を備え、トラッキングを行なうようにしてもよい。
【０１００】
図１５には、駆動装置の構成例を示している。駆動装置４１及び４２は、当該人体検出装置を床面上で前後及び左右方向にそれぞれ移動させることができる。また、駆動装置４４は、人体検出装置のベースに対し、センサ部１０を上下方向に作動する。また、駆動装置４５〜４６は、センサ部１０をピッチ軸及びヨー軸回りにそれぞれ揺動する。
【０１０１】
駆動装置４１〜４６を用いて、人体とロボット装置の位置関係の変化に応じて人体をトラッキングし、常に人体が撮像範囲並びに熱検出範囲に収まるようにする。顔の向きや回転が原因で、熱エリアが顔と検出されない場合であっても、そのエリアをサーモパイル・アレイ１２の検出範囲にとどめるように駆動装置４１〜４６を制御することで顔検出の機会を増やすことが可能である。また、顔と検出された場合であっても、顔のトラッキング処理をサーモパイル・アレイ１２の出力を基に行なうことで、イメージ・センサ１１からの画像データによる移動検出処理よりも少ない演算処理量で実現することができる。
【０１０２】
図１６には、サーモパイル・アレイ１２の出力を基に人体のトラッキングを行なうための処理手順をフローチャートの形式で示している。
【０１０３】
まず、サーモパイル・アレイ１２から得られた熱分布情報から、人物エリアの特定を試みる（ステップＳ２１）。
【０１０４】
ここで、人体エリアがサーモパイル・アレイ１２上の期待の位置にあるかどうかを判別する（ステップＳ２２）。図１７には、人体エリアがサーモパイル・アレイ１２上の期待の位置にある場合とそうでない場合をそれぞれ図解している。
【０１０５】
ここで、人体エリアがサーモパイル・アレイ１２上の期待の位置にないと判断された場合には、駆動装置４１〜４６の駆動軸、駆動方向、並びに駆動量を決定し（ステップＳ２３）、該当するアクチュエータに指示値を出力し、人体エリアを期待の位置に収容させる。
【産業上の利用可能性】
【０１０６】
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
【０１０７】
上述した実施形態では、イメージ・センサによる撮像範囲のうちサーモパイル・アレイにより人体が持つ熱量が検出された領域に限定してから、顔検出を行なうようにしているが、サーモパイル・アレイなどにより検出される熱情報を利用した本発明に係る人体検出方法はこれに限定されるものではない。例えば、イメージ・センサによる撮像画像の中から、テンプレート・マッチングやその他の画像処理手法を用いてまず顔検出を行ない、次いで、顔検出された１以上の領域について今度は熱情報に基づいて本当に顔であるかどうかを検出確認を行なうようにしてもよい。この場合、顔に似た模様が画像処理により顔検出されたとしても、人体が持つ熱量が検出されないので、顔検出結果から除外することができる。
【０１０８】
また、本明細書では、本発明を顔認識に適用した実施形態を中心にして説明してきたが、本発明の要旨はこれに限定されるものではない。顔以外の人体の部位、人間以外の生物、あるいは熱分布に基づいて検出することが可能なさまざまな対象物の画像認識処理に本発明を好適に適用することができる。
【０１０９】
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【図面の簡単な説明】
【０１１０】
【図１】図１は、本発明の一実施形態に係る人体検出装置の構成を模式的に示した図である。
【図２】図２は、顔検出を行なうための処理手順を示したフローチャートである。
【図３】図３は、イメージ・センサ１１とサーモパイル・アレイ１２それぞれの検出範囲を示した図である。
【図４】図４は、イメージ・センサ１１とサーモパイル・アレイ１２それぞれの検出範囲を横から眺めた図である。
【図５】図５は、イメージ・センサ１１が捕捉した人物と背景からなる撮像画像の例を示した図である。
【図６】図６は、図５と同じ範囲においてサーモパイル・アレイ１２により計測された熱分布情報を示した図である。
【図７】図７は、Ｎ×Ｍのサーモパイル・アレイ１２が実際に出力するデータを示した図である。
【図８】図８は、イメージ・センサ１１による撮影画像において、人体に近い温度が検出されるエリア１、並びにマージンを考慮して設定されるエリア２を示した図である。
【図９】図９は、イメージ・センサ１１とサーモパイル・アレイ１２を同軸上に配置できない構成例を示した図である。
【図１０】図１０は、イメージ・センサ１１とサーモパイル・アレイ１２を同軸上に配置できない構成例を示した図である。
【図１１】図１１は、イメージ・センサ１１とサーモパイル・アレイ１２は互いの中心軸を平行に保ちながら上下方向に離間して配設した場合の、イメージ・センサ１１とサーモパイル・アレイ１２のそれぞれにより物体を検出する様子を示した図である。
【図１２】図１２は、図１１に示したような被検出物体の配置において、イメージ・センサ１１で捕捉した撮像画像を示した図である。
【図１３】図１３は、サーモパイル・アレイ１２が示す熱のエリア範囲９に基づいて複数の顔テンプレート１０〜１７の中から顔検出に使用するものを選択する様子を示した図である。
【図１４】図１４は、サーモパイル・アレイ１２が示す熱のエリア範囲９に基づいて複数の顔テンプレート１０〜１７の中から顔検出に使用するものを選択するための処理手順を示したフローチャートである。
【図１５】図１５は、駆動装置の構成例を示した図である。
【図１６】図１６は、サーモパイル・アレイ１２の出力を基に人体のトラッキングを行なうための処理手順を示したフローチャートである。
【図１７】図１７は、人体エリアがサーモパイル・アレイ１２上の期待の位置にある場合とそうでない場合をそれぞれ示した図である。
【符号の説明】
【０１１１】
１０…センサ部
１１…イメージ・センサ
１２…サーモパイル・アレイ
２０…情報制御部
２１…画像データ処理部
２２…熱条件判定及びエリア抽出部
２３…顔検出エリア決定及び顔テンプレート・サイズ決定部
２４…顔検出演算部
２５…情報処理メイン部
３０…運動制御部
３１…サーボ部
３２…アクチュエータ
４１〜４６…駆動装置
【図１】
2006059015.tif 000003
【図２】
2006059015.tif 000004
【図３】
2006059015.tif 000005
【図４】
2006059015.tif 000006
【図５】
2006059015.tif 000007
【図６】
2006059015.tif 000008
【図７】
2006059015.tif 000009
【図８】
2006059015.tif 000010
【図９】
2006059015.tif 000011
【図１０】
2006059015.tif 000012
【図１１】
2006059015.tif 000013
【図１２】
2006059015.tif 000014
【図１３】
2006059015.tif 000015
【図１４】
2006059015.tif 000016
【図１５】
2006059015.tif 000017
【図１６】
2006059015.tif 000018
【図１７】
2006059015.tif 000019