(57)【要約】【課題】検出対象物体の位置に関らず、適正に物体形状を認識可能な物体検出装置を提供する。【解決手段】物体検出装置１は、参照テンプレートに設定された各セグメント領域の距離に対応する距離画像Ｐｉを取得する情報取得装置２と、距離画像ＰｉをＺ軸方向の距離に相当する２値化閾値Ｄｓｈで２値化した２値化画像Ｍｉを生成し、２値化画像Ｍｉから物体の形状を検出する物体検出部３１ａと、を備える。物体検出部３１ａは、検出対象とされる物体までの距離の変化に応じて、２値化閾値Ｄｓｈを変化させる。これにより、検出対象物体が２値化閾値Ｄｓｈよりも遠方に位置付けられたとしても、適正に物体の形状を検出することができる。【選択図】図２
2013246009.tif 000002
【特許請求の範囲】
【請求項１】
目標領域から物体を検出する物体検出装置において、
目標領域内に設定された各参照位置までの距離に関する３次元距離情報を取得する情報取得部と、
前記３次元距離情報から得られる前記各参照位置までの前記距離と所定の閾値とを比較することによって、前記各参照位置における前記距離を２値化した２値化情報を生成し、前記２値化情報から物体の形状を検出する物体検出部と、を備え、
前記物体検出部は、検出対象とされる物体までの距離の変化に応じて、前記閾値を変化させる、
ことを特徴とする物体検出装置。
【請求項２】
請求項１に記載の物体検出装置において、
前記物体検出部は、物体検出動作の開始時に、前記閾値を所定の範囲内において変化させながら、前記検出対象とされる物体を検出可能な前記閾値の探索を実行する、
ことを特徴とする物体検出装置。
【請求項３】
請求項１または２に記載の物体検出装置において、
前記物体検出部は、物体検出動作時に、前記検出対象とされる物体を前記２値化情報から検出できない場合、前記閾値を所定の範囲内において変化させながら、前記物体を検出可能な前記閾値の探索を実行する、
ことを特徴とする物体検出装置。
【請求項４】
請求項２または３に記載の物体検出装置において、
前記物体検出部は、前記閾値の探索において、前記検出対象とされる物体に関連する物体を検出可能な第１閾値を探索した後、前記第１閾値から所定の範囲内において、前記検出対象とされる物体を検出可能な第２閾値を探索し、探索した前記第２閾値に基づいて、前記検出対象とされる物体のための前記閾値に設定する、
ことを特徴とする物体検出装置。
【請求項５】
請求項２ないし４の何れか一項に記載の物体検出装置において、
前記物体検出部は、前記閾値の探索において、前記検出対象とされる物体が検出可能となったときの前記閾値に対応する位置を、所定の距離だけ前記物体検出装置から離れる方向にオフセットさせた位置に対する値を、前記物体を検出するための前記閾値に設定する、
ことを特徴とする物体検出装置。
【請求項６】
請求項１ないし５の何れか一項に記載の物体検出装置において、
前記情報取得部は、
レーザ光源から出射されたレーザ光を所定のドットパターンで目標領域に投射する投射光学系と、
前記投射光学系に対して所定の距離だけ横に離れて並ぶように配置され、前記目標領域をイメージセンサにより撮像する受光光学系と、
基準面に前記レーザ光を照射したときに前記受光光学系により撮像された基準ドットパターンに基づく参照情報を保持する記憶部と、
実測時に前記イメージセンサにより撮像された実測ドットパターンに基づく実測情報と前記参照情報とを参照し、所定の探索範囲において、前記基準ドットパターンに割り当てられた参照領域の、前記実測ドットパターン上における移動位置の探索を実行し、探索された前記移動位置に基づいて、当該参照領域に対する距離情報を取得する距離取得部と、を備える、
ことを特徴とする物体検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元距離情報に基づいて目標領域内の物体を検出する物体検出装置に関する。
【背景技術】
【０００２】
従来、光を用いた物体検出装置が種々の分野で開発されている。いわゆる距離画像センサを用いた物体検出装置では、２次元平面上の平面的な画像のみならず、検出対象物体の奥行き方向の形状や動きを検出することができる。かかる物体検出装置では、レーザ光源やＬＥＤ（Light Emitting Diode）から、予め決められた波長帯域の光が目標領域に投射され、その反射光がＣＭＯＳイメージセンサ等の受光素子により受光される。距離画像センサとして、種々のタイプのものが知られている。
【０００３】
所定のドットパターンを持つレーザ光を目標領域に照射するタイプの距離画像センサでは、ドットパターンを持つレーザ光の目標領域からの反射光が受光素子によって受光される。そして、ドットの受光素子上の受光位置に基づいて、三角測量法を用いて、検出対象物体の各部（検出対象物体上の各ドットの照射位置）までの距離が検出される（たとえば、特許文献１、非特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−３２３７９号公報
【非特許文献】
【０００５】
【非特許文献１】第１９回日本ロボット学会学術講演会（２００１年９月１８−２０日）予稿集、Ｐ１２７９−１２８０
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記物体検出装置において、物体の動きを検出するためには、まず、動きを検出する対象の中心位置を特定する必要がある。この場合、たとえば、上記の距離検出手法によって得られた物体の距離情報から、距離に関する閾値をもとに、所定の距離以下の距離情報のみを抽出することによって、動きの検出対象とする２次元の平面形状が抽出される。そして、抽出した平面形状から物体の中心位置を特定し、所定時間間隔における物体の中心位置を追跡することにより、検出対象物体の動きが検出される。
【０００７】
この場合、検出対象物体が、上記距離に関する閾値よりも遠方に位置付けられると、動きの検出対象とする２次元の平面形状を適正に抽出することができず、物体の動きの検出を行うことができない惧れがある。
【０００８】
本発明は、この点に鑑みてなされたものであり、検出対象物体の位置に関らず、適正に物体形状を認識可能な物体検出装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の主たる態様は、目標領域から物体を検出する物体検出装置に関する。本態様に係る物体検出装置は、目標領域内に設定された各参照位置までの距離に関する３次元距離情報を取得する情報取得部と、前記３次元距離情報から得られる前記各参照位置までの前記距離と所定の閾値とを比較することによって、前記各参照位置における前記距離を２値
化した２値化情報を生成し、前記２値化情報から物体の形状を検出する物体検出部と、を備える。前記物体検出部は、検出対象とされる物体までの距離の変化に応じて、前記閾値を変化させる。
【発明の効果】
【００１０】
本発明によれば、検出対象物体の位置に関らず、適正に物体形状を認識可能な物体検出装置を提供することができる。
【００１１】
本発明の効果ないし意義は、以下に示す実施の形態の説明により更に明らかとなろう。ただし、以下に示す実施の形態は、あくまでも、本発明を実施化する際の一つの例示であって、本発明は、以下の実施の形態により何ら制限されるものではない。
【図面の簡単な説明】
【００１２】
【図１】実施の形態に係る物体検出装置の構成を示す図である。
【図２】実施の形態に係る物体検出装置と情報処理装置の構成を示す図である。
【図３】実施の形態に係る目標領域に対するレーザ光の照射状態とイメージセンサ上のレーザ光の受光状態を示す図である。
【図４】実施の形態に係る参照パターンの生成方法を説明する図である。
【図５】実施の形態に係る距離検出手法を説明する図である。
【図６】実施の形態に係る物体検出手法を説明する図である。
【図７】実施の形態に係る物体の形状抽出手法を説明する図である。
【図８】実施の形態に係る物体検出にかかるフローチャートである。
【図９】実施の形態に係る物体検出にかかるフローチャートである。
【図１０】実施の形態に係る物体検出にかかる閾値設定の例を示す図である。
【図１１】変更例に係る物体検出装置と情報処理装置の構成を示す図である。
【図１２】変更例に係る物体検出にかかるフローチャートである。
【図１３】変更例に係る物体検出にかかる閾値設定の例を示す図である。
【図１４】変更例に係る物体検出にかかるフローチャート、および物体検出にかかる閾値設定の例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態につき図面を参照して説明する。本実施の形態には、所定のドットパターンを持つレーザ光を目標領域に照射して３次元距離情報を取得するタイプの情報取得装置と、情報取得装置によって取得された３次元距離情報から、２値化画像を生成して、物体の形状、動きを検出するタイプの物体検出装置が例示されている。
【００１４】
まず、図１に本実施の形態に係る物体検出装置１の概略構成を示す。図示の如く、物体検出装置１は、情報取得装置２と、情報処理装置３とを備えている。テレビ４は、情報処理装置３からの信号によって制御される。
【００１５】
情報取得装置２は、目標領域全体に赤外光を投射し、その反射光をＣＭＯＳイメージセンサにて受光することにより、目標領域にある物体各部の距離（以下、「３次元距離情報」という）を取得する。取得された３次元距離情報は、ケーブル５を介して情報処理装置３に送られる。
【００１６】
情報処理装置３は、たとえば、テレビ制御用のコントローラやゲーム機、パーソナルコンピュータ等である。情報処理装置３は、情報取得装置２から受信した３次元距離情報に基づき、目標領域における物体を検出し、検出結果に基づきテレビ４を制御する。
【００１７】
たとえば、情報処理装置３は、受信した３次元距離情報に基づき人を検出するとともに
、３次元距離情報の変化から、その人の動きを検出する。たとえば、情報処理装置３がテレビ制御用のコントローラである場合、情報処理装置３には、受信した３次元距離情報からその人のジェスチャを検出するとともに、ジェスチャに応じてテレビ４に制御信号を出力するアプリケーションプログラムがインストールされている。この場合、ユーザは、テレビ４を見ながら所定のジェスチャをすることにより、チャンネル切り替えやボリュームのＵｐ／Ｄｏｗｎ等、所定の機能をテレビ４に実行させることができる。
【００１８】
また、たとえば、情報処理装置３がゲーム機である場合、情報処理装置３には、受信した３次元距離情報からその人の動きを検出するとともに、検出した動きに応じてテレビ画面上のキャラクタを動作させ、ゲームの対戦状況を変化させるアプリケーションプログラムがインストールされている。この場合、ユーザは、テレビ４を見ながら所定の動きをすることにより、自身がテレビ画面上のキャラクタとしてゲームの対戦を行う臨場感を味わうことができる。
【００１９】
図２は、情報取得装置２と情報処理装置３の構成を示す図である。
【００２０】
情報取得装置２は、光学部の構成として、投射光学系１００と受光光学系２００とを備えている。投射光学系１００と受光光学系２００は、Ｘ軸方向に並ぶように、情報取得装置２に配置される。
【００２１】
投射光学系１００は、レーザ光源１１０と、コリメータレンズ１２０と、ミラー１３０と、回折光学素子（ＤＯＥ：Diffractive Optical Element）１４０を備えている。また、受光光学系２００は、アパーチャ２１０と、撮像レンズ２２０と、フィルタ２３０と、ＣＭＯＳイメージセンサ２４０とを備えている。この他、情報取得装置２は、回路部の構成として、ＣＰＵ（Central Processing Unit）２１と、レーザ駆動回路２２と、撮像信号処理回路２３と、入出力回路２４と、メモリ２５を備えている。
【００２２】
レーザ光源１１０は、受光光学系２００から離れる方向（Ｘ軸負方向）に波長８３０ｎｍ程度の狭波長帯域のレーザ光を出力する。コリメータレンズ１２０は、レーザ光源１１０から出射されたレーザ光を平行光から僅かに広がった光（以下、単に「平行光」という）に変換する。
【００２３】
ミラー１３０は、コリメータレンズ１２０側から入射されたレーザ光をＤＯＥ１４０に向かう方向（Ｚ軸方向）に反射する。
【００２４】
ＤＯＥ１４０は、入射面に回折パターンを有する。この回折パターンによる回折作用により、ＤＯＥ１４０に入射したレーザ光は、所定のドットパターンのレーザ光に変換されて、目標領域に照射される。
【００２５】
ＤＯＥ１４０の回折パターンは、たとえば、ステップ型の回折ホログラムが所定のパターンで形成された構造とされる。回折ホログラムは、コリメータレンズ１２０により平行光とされたレーザ光をドットパターンのレーザ光に変換するよう、パターンとピッチが調整されている。
【００２６】
ＤＯＥ１４０は、ミラー１３０から入射されたレーザ光を、放射状に広がるドットパターンのレーザ光として、目標領域に照射する。ドットパターンの各ドットの大きさは、ＤＯＥ１４０に入射する際のレーザ光のビームサイズに応じたものとなる。
【００２７】
目標領域から反射されたレーザ光は、アパーチャ２１０を介して撮像レンズ２２０に入射する。
【００２８】
アパーチャ２１０は、撮像レンズ２２０のＦナンバーに合うように、外部からの光に絞りを掛ける。撮像レンズ２２０は、アパーチャ２１０を介して入射された光をＣＭＯＳイメージセンサ２４０上に集光する。フィルタ２３０は、レーザ光源１１０の出射波長（８３０ｎｍ程度）を含む赤外の波長帯域の光を透過し、可視光の波長帯域をカットするＩＲフィルタ（Infrared Filter）である。
【００２９】
ＣＭＯＳイメージセンサ２４０は、撮像レンズ２２０にて集光された光を受光して、画素毎に、受光量に応じた信号（電荷）を撮像信号処理回路２３に出力する。ここで、ＣＭＯＳイメージセンサ２４０は、各画素における受光から高レスポンスでその画素の信号（電荷）を撮像信号処理回路２３に出力できるよう、信号の出力速度が高速化されている。
【００３０】
ＣＰＵ２１は、メモリ２５に格納された制御プログラムに従って各部を制御する。かかる制御プログラムによって、ＣＰＵ２１には、レーザ光源１１０を制御するためのレーザ制御部２１ａと、３次元距離情報を生成するための距離取得部２１ｂの機能が付与される。
【００３１】
レーザ駆動回路２２は、ＣＰＵ２１からの制御信号に応じてレーザ光源１１０を駆動する。
【００３２】
撮像信号処理回路２３は、ＣＭＯＳイメージセンサ２４０を制御して、ＣＭＯＳイメージセンサ２４０で生成された各画素の信号（電荷）をライン毎に順次取り込む。そして、取り込んだ信号を順次ＣＰＵ２１に出力する。ＣＰＵ２１は、撮像信号処理回路２３から供給される信号（撮像信号）をもとに、情報取得装置２から検出対象物の各部までの距離を、距離取得部２１ｂによる処理によって算出する。入出力回路２４は、情報処理装置３とのデータ通信を制御する。
【００３３】
情報処理装置３は、ＣＰＵ３１と、入出力回路３２と、メモリ３３を備えている。なお、情報処理装置３には、同図に示す構成の他、テレビ４との通信を行うための構成や、ＣＤ−ＲＯＭ等の外部メモリに格納された情報を読み取ってメモリ３３にインストールするためのドライブ装置等が配されるが、便宜上、これら周辺回路の構成は図示省略されている。
【００３４】
ＣＰＵ３１は、メモリ３３に格納された制御プログラム（アプリケーションプログラム）に従って各部を制御する。かかる制御プログラムによって、ＣＰＵ３１には、画像中の物体を検出するための物体検出部３１ａと、物体の動きに応じて、テレビ４の機能を制御するための機能制御部３１ｂの機能が付与される。かかる制御プログラムは、たとえば、図示しないドライブ装置によってＣＤ−ＲＯＭから読み取られ、メモリ３３にインストールされる。
【００３５】
物体検出部３１ａは、情報取得装置２から供給される３次元距離情報から画像中の物体の形状を抽出し、抽出した物体形状の動きを検出する。ここで、物体検出部３１ａは、距離に関する閾値を基に、情報取得装置２から供給される３次元距離情報から物体の平面形状のみを抽出するため、２値化画像を生成する。その後、生成した２値化画像と、メモリ３３に格納された物体形状を抽出するための物体形状抽出テンプレートとの比較を行い、動きの抽出対象となる物体形状と３次元距離情報中の物体形状の中心位置を特定する。物体検出部３１ａは、こうして、特定した物体形状の中心位置の距離情報を、所定時間ごとに追跡することによって、物体の動きを検出する。
【００３６】
たとえば、制御プログラムがゲームプログラムである場合、機能制御部３１ｂは、物体
検出部３１ａによって検出された人の動き（ジェスチャ）に応じてテレビ画面上のキャラクタを動作させるための処理が制御プログラムにより実行される。
【００３７】
メモリ３３に格納された制御プログラムがテレビ４の機能を制御するためのプログラムである場合、機能制御部３１ｂは、物体検出部３１ａから人の動き（ジェスチャ）に応じた信号に基づき、テレビ４の機能（チャンネル切り替えやボリューム調整、等）を制御するための処理を実行する。
【００３８】
入出力回路３２は、情報取得装置２とのデータ通信を制御する。
【００３９】
投射光学系１００と受光光学系２００は、投射光学系１００の投射中心と受光光学系２００の撮像中心がＸ軸に平行な直線上に並ぶように、Ｘ軸方向に所定の距離をもって並んで設置される。
【００４０】
投射光学系１００と受光光学系２００の設置間隔は、情報取得装置２と目標領域の基準面との距離に応じて、設定される。どの程度離れた目標物を検出対象とするかによって、基準面と情報取得装置２との間の距離が変わる。検出対象の目標物までの距離が近くなるほど、投射光学系１００と受光光学系２００の設置間隔は狭くなる。逆に、検出対象の目標物までの距離が遠くなるほど、投射光学系１００と受光光学系２００の設置間隔は広くなる。
【００４１】
まず、情報取得装置２による３次元距離情報の取得方法について説明する。
【００４２】
図３（ａ）は、目標領域に対するレーザ光の照射状態を模式的に示す図、図３（ｂ）は、ＣＭＯＳイメージセンサ２４０におけるレーザ光の受光状態を模式的に示す図である。なお、図３（ｂ）には、便宜上、目標領域に平坦な面（スクリーン）とスクリーンの前に人物が存在するときの受光状態が示されている。
【００４３】
図３（ａ）に示すように、投射光学系１００からは、ドットパターンを持ったレーザ光（以下、このパターンを持つレーザ光の全体を「ＤＰ光」という）が、目標領域に照射される。図３（ａ）には、ＤＰ光の光束領域が実線の枠によって示されている。ＤＰ光の光束中には、ＤＯＥ１４０による回折作用により生成されるドット領域（以下、単に「ドット」という）が、ＤＯＥ１４０による回折作用によるドットパターンに従って点在している。
【００４４】
目標領域に平坦な面（スクリーン）が存在すると、これにより反射されたＤＰ光は、図３（ｂ）のように、ＣＭＯＳイメージセンサ２４０上に分布する。
【００４５】
図３（ｂ）には、ＣＭＯＳイメージセンサ２４０上のＤＰ光の全受光領域が破線の枠によって示され、ＣＭＯＳイメージセンサ２４０の撮像有効領域に入射するＤＰ光の受光領域が実線の枠によって示されている。ＣＭＯＳイメージセンサ２４０の撮像有効領域は、ＣＭＯＳイメージセンサ２４０がＤＰ光を受光した領域のうち、センサとして信号を出力する領域であり、たとえば、ＶＧＡ（横６４０画素×縦４８０画素）のサイズである。また、同図（ａ）に示す目標領域上におけるＤｔ０の光は、ＣＭＯＳイメージセンサ２４０上では、同図（ｂ）に示すＤｔ’０の位置に入射する。スクリーンの前の人物の像は、ＣＭＯＳイメージセンサ２４０上では、上下左右が反転して撮像される。
【００４６】
ここで、図４、図５を参照して、上記距離検出の方法を説明する。
【００４７】
図４は、上記距離検出手法に用いられる参照パターンの設定方法を説明する図である。
【００４８】
図４（ａ）に示すように、投射光学系１００から所定の距離Ｌｓの位置に、Ｚ軸方向に垂直な平坦な反射平面ＲＳが配置される。出射されたＤＰ光は、反射平面ＲＳによって反射され、受光光学系２００のＣＭＯＳイメージセンサ２４０に入射する。これにより、ＣＭＯＳイメージセンサ２４０から、撮像有効領域内の画素毎の電気信号が出力される。出力された画素毎の電気信号の値（画素値）は、図２のメモリ２５上に展開される。
【００４９】
以下、反射面ＲＳからの反射によって得られた全画素値からなる画像を、「基準画像」、反射面ＲＳを「基準面」と称する。そして、図４（ｂ）に示すように、基準画像上に、「参照パターン領域」が設定される。なお、図４（ｂ）には、ＣＭＯＳイメージセンサ２４０の背面側から受光面をＺ軸正方向に透視した状態が図示されている。図５以降の図においても同様である。
【００５０】
こうして設定された参照パターン領域に対して、所定の大きさを有する複数のセグメント領域が設定される。セグメント領域の大きさは、得られる距離情報による物体の輪郭抽出精度、ＣＰＵ２１に対する距離検出の演算量の負荷および後述する距離検出手法によるエラー発生率を考慮して決定される。本実施の形態では、セグメント領域の大きさは、横１５画素×縦１５画素に設定される。
【００５１】
図４（ｃ）を参照して、参照パターン領域に設定されるセグメント領域について説明する。なお、図４（ｃ）には、便宜上、各セグメント領域の大きさが横９画素×縦９画素で示され、各セグメント領域の中央の画素が×印で示されている。
【００５２】
セグメント領域は、図４（ｃ）に示すように、隣り合うセグメント領域が参照パターン領域に対してＸ軸方向およびＹ軸方向に１画素間隔で並ぶように設定される。すなわち、あるセグメント領域は、このセグメント領域のＸ軸方向およびＹ軸方向に隣り合うセグメント領域に対して１画素ずれた位置に設定される。このとき、各セグメント領域には、固有のパターンでドットが点在する。よって、セグメント領域内の画素値のパターンは、セグメント領域毎に異なっている。隣り合うセグメント領域の間隔が狭いほど、参照パターン領域内に含まれるセグメント領域の数が多くなり、目標領域の面内方向（Ｘ−Ｙ平面方向）における距離検出の分解能が高められる。
【００５３】
こうして、ＣＭＯＳイメージセンサ２４０上における参照パターン領域の位置に関する情報と、参照パターン領域に含まれる全画素の画素値（参照パターン）と、参照パターン領域に対して設定されるセグメント領域の情報が、図２のメモリ２５に記憶される。メモリ２５に記憶されるこれらの情報を、以下、「参照テンプレート」と称する。
【００５４】
図２のＣＰＵ２１は、投射光学系１００から検出対象物体の各部までの距離を算出する際に、参照テンプレートを参照する。ＣＰＵ２１は、距離を算出する際に、参照テンプレートから得られる各セグメント領域内のドットパターンのずれ量に基づいて、物体の各部までの距離を算出する。
【００５５】
たとえば、図４（ａ）に示すように距離Ｌｓよりも近い位置に物体がある場合、参照パターン上の所定のセグメント領域Ｓｎに対応するＤＰ光（ＤＰｎ）は、物体によって反射され、セグメント領域Ｓｎとは異なる領域Ｓｎ’に入射する。投射光学系１００と受光光学系２００はＸ軸方向に隣り合っているため、セグメント領域Ｓｎに対する領域Ｓｎ’の変位方向はＸ軸に平行となる。図４（ａ）の場合、物体が距離Ｌｓよりも近い位置にあるため、領域Ｓｎ’は、セグメント領域Ｓｎに対してＸ軸正方向に変位する。物体が距離Ｌｓよりも遠い位置にあれば、領域Ｓｎ’は、セグメント領域Ｓｎに対してＸ軸負方向に変位する。
【００５６】
セグメント領域Ｓｎに対する領域Ｓｎ’の変位方向と変位量をもとに、投射光学系１００からＤＰ光（ＤＰｎ）が照射された物体の部分までの距離Ｌｒが、距離Ｌｓを用いて、三角測量法に基づき算出される。同様にして、他のセグメント領域に対応する物体の部分について、投射光学系１００からの距離が算出される。かかる算出手法の詳細は、たとえば、上記非特許文献１（第１９回日本ロボット学会学術講演会（２００１年９月１８−２０日）予稿集、Ｐ１２７９−１２８０）に示されている。
【００５７】
かかる距離算出では、参照テンプレートのセグメント領域Ｓｎが、実測時においてどの位置に変位したかを検出する。この検出は、実測時にＣＭＯＳイメージセンサ２４０上に照射されたＤＰ光から得られたドットパターンと、セグメント領域Ｓｎに含まれるドットパターンとを照合することによって行われる。以下、実測時にＣＭＯＳイメージセンサ２４０上の撮像有効領域に照射されたＤＰ光から得られた全画素値からなる画像を、「実測画像」と称する。実測時のＣＭＯＳイメージセンサ２４０の撮像有効領域は、基準画像取得時と同様に、たとえば、ＶＧＡ（横６４０画素×縦４８０画素）のサイズである。
【００５８】
図５（ａ）〜（ｅ）は、かかる距離検出の手法を説明する図である。図５（ａ）は、ＣＭＯＳイメージセンサ２４０上における基準画像に設定された参照パターン領域を示す図であり、図５（ｂ）は、実測時のＣＭＯＳイメージセンサ２４０上の実測画像を示す図であり、図５（ｃ）〜（ｅ）は、実測画像に含まれるＤＰ光のドットパターンと、参照テンプレートのセグメント領域に含まれるドットパターンとの照合方法を説明する図である。なお、便宜上、図５（ａ）、（ｂ）には、一部のセグメント領域のみが示されており、図５（ｃ）〜（ｅ）には、各セグメント領域の大きさが、横９画素×縦９画素で示されている。また、図５（ｂ）の実測画像には、便宜上、図４（ｂ）のように、検出対象物体として基準面より前に人物が存在しており、人物の像が写り込んでいることが示されている。
【００５９】
図５（ａ）のセグメント領域Ｓｉの実測時における変位位置を探索する場合、図５（ｂ）に示すように、実測画像上に、セグメント領域Ｓｉに対して探索領域Ｒｉが設定される。探索領域Ｒｉは、Ｘ軸方向に所定の幅を持っている。セグメント領域Ｓｉが探索領域Ｒｉにおいて１画素ずつＸ軸方向に送られ、各送り位置において、セグメント領域Ｓｉのドットパターンと実測画像上のドットパターンとが比較される。以下、実測画像上の各送り位置に対応する領域を、「比較領域」と称する。探索領域Ｒｉには、セグメント領域Ｓｉと同じサイズの比較領域が複数設定され、Ｘ軸方向に隣り合う比較領域は互いに１画素ずれている。
【００６０】
探索領域Ｒｉの幅は、検出対象物体が基準面よりも情報取得装置２に対して離れる方向、および近づく方向にどの程度の距離を検出可能な範囲とするかによって決定される。図５中では、基準画像上のセグメント領域Ｓｉの画素位置に対応する実測画像上の画素位置（中心画素位置）から、Ｘ軸負方向にｘ画素ずれた位置からＸ軸正方向にｘ画素ずれた範囲（以下、「探索範囲Ｌ０」という）においてセグメント領域Ｓｉが送られるように探索領域Ｒｉが設定されている。
【００６１】
本実施の形態では、中心画素位置から−３０画素ずれた位置から＋３０画素ずれた位置までの範囲が探索範囲Ｌ０に設定される。
【００６２】
距離検出時には、探索領域Ｒｉにおいてセグメント領域ＳｉをＸ軸方向に１画素ずつ送りながら、各送り位置において、参照テンプレートに記憶されているセグメント領域Ｓｉのドットパターンと、実測画像のＤＰ光のドットパターンのマッチング度合いが求められる。このようにセグメント領域Ｓｉを探索領域Ｒｉ内においてＸ軸方向にのみ送るのは、上記のように、通常、参照テンプレートにより設定されたセグメント領域のドットパター
ンは、実測時において、Ｘ軸方向の所定の範囲内でのみ変位するためである。
【００６３】
なお、実測時には、検出対象物体の位置によっては、セグメント領域に対応するドットパターンが実測画像からＸ軸方向にはみ出すことが起こり得る。たとえば、参照パターン領域のＸ軸負側のセグメント領域Ｓ１に対応するドットパターンが、基準面よりも遠距離の物体に反射された場合、セグメント領域Ｓ１に対応するドットパターンは、実測画像よりもＸ軸負方向に位置づけられる。この場合、セグメント領域に対応するドットパターンは、ＣＭＯＳイメージセンサ２４０の撮像有効領域内にないため、このセグメント領域については、適正にマッチングを行うことができない。しかし、このような端のセグメント領域以外については、適正にマッチングを行うことができるため、物体の距離検出への影響は少ない。
【００６４】
なお、端の領域についても、適正にマッチングを行う場合には、実測時のＣＭＯＳイメージセンサ２４０の撮像有効領域を、基準画像取得時のＣＭＯＳイメージセンサ２４０の撮像有効領域よりも、大きくすることができるものを用いれば良い。たとえば、基準画像取得時において、ＶＧＡ（横６４０画素×縦４８０画素）のサイズで撮像有効領域が設定された場合、実測時においては、それよりもＸ軸正方向およびＸ軸負方向に３０画素分大きいサイズで撮像有効領域を設定する。これにより、実測画像が基準画像よりも大きくなるが、端のセグメント領域についても、適正にマッチングを行うことができる。
【００６５】
上記マッチング度合いの検出時には、まず、参照パターン領域の各画素の画素値と実測画像の各セグメント領域の各画素の画素値が２値化されて、メモリ２５に保持される。たとえば、基準画像および実測画像の画素値が８ビットの階調の場合、０〜２５５の画素値のうち、所定の閾値以上の画素が、画素値１に、所定の閾値未満の画素が、画素値０に変換されて、メモリ２５に保持される。その後、比較領域とセグメント領域Ｓｉとの間の類似度が求められる。すなわち、セグメント領域Ｓｉの各画素の画素値と、比較領域の対応する画素の画素値との差分が求められる。そして、求めた差分を比較領域の全ての画素について加算した値Ｒｓａｄが、類似度を示す値として取得される。
【００６６】
たとえば、図５（ｃ）のように、一つのセグメント領域中に、ｎ列×ｍ行の画素が含まれている場合、セグメント領域のｉ列、ｊ行の画素の画素値Ｔ（ｉ，ｊ）と、比較領域のｉ列、ｊ行の画素の画素値Ｉ（ｉ，ｊ）との差分が求められる。そして、セグメント領域の全ての画素について差分が求められ、その差分の総和により、図５（ｃ）に示す式の値Ｒｓａｄが求められる。値Ｒｓａｄが小さい程、セグメント領域と比較領域との間の類似度が高い。
【００６７】
こうして、図５（ｄ）に示すように、セグメント領域Ｓｉについて、探索領域Ｒｉの全ての比較領域に対して値Ｒｓａｄが求められる。図５（ｅ）は、探索領域Ｒｉの各送り位置における値Ｒｓａｄが模式的に示されたグラフである。セグメント領域Ｓｉについて、探索領域Ｒｉの全ての比較領域に対して値Ｒｓａｄが求められると、まず、求めた値Ｒｓａｄの中から、最小値Ｂｔ１が参照される。次に、求めた値Ｒｓａｄの中から、２番目に小さい値Ｂｔ２が参照される。最小値Ｂｔ１と２番目に小さい値Ｂｔ２の位置が互いに２画素以上離れた位置であり、且つ、その差分値Ｅｓが閾値未満であれば、セグメント領域Ｓｉの探索はエラーとされる。他方、差分値Ｅｓが閾値以上であれば、最小値Ｂｔ１に対応する比較領域Ｃｉが、セグメント領域Ｓｉの移動領域と判定される。
【００６８】
たとえば、図５（ｄ）のように、セグメント領域Ｓｉに対応する比較領域Ｃｉは、基準画像上のセグメント領域Ｓｉの画素位置と同位置の実測画像上の画素位置Ｓｉ０よりもＸ軸正方向にα画素ずれた位置で検出される。これは、基準面よりも近い位置に存在する検出対象物体（人物）によって、実測画像上のＤＰ光のドットパターンが基準画像上のセグ
メント領域Ｓｉ０よりもＸ軸正方向に変位したためである。なお、セグメント領域Ｓｉの大きさが大きいほど、セグメント領域Ｓｉに含まれるドットパターンのユニーク性が増し、上記エラーの発生率が減少する。たとえば、セグメント領域Ｓｉの大きさが横１５画素×縦１５画素に設定されると、通常、距離検出がエラーとなることは少なく、適正にマッチングを行うことができる。
【００６９】
こうして、実測時に取得されたＤＰ光のドットパターンから、各セグメント領域の変位位置が探索されると、上記のように、その変位位置に基づいて、三角測量法により、各セグメント領域に対応する検出対象物体の部位までの距離が求められる。
【００７０】
このようにして、セグメント領域Ｓ１〜セグメント領域Ｓｎまで全てのセグメント領域について、上記同様のセグメント領域の探索が行われる。
【００７１】
情報取得装置２は、上記のようにして取得された各セグメント領域に対応する検出対象物体までの距離を白から黒の階調で表現された画素値に割り当てた画像として、メモリ２５に記憶する。以下、各セグメント領域に対応する距離を画素値で表現した画像を「距離画像」と称する。上記のように、本実施の形態では、セグメント領域は、基準画像の参照パターン領域に対して、１画素刻みで設定されるため、距離画像は、基準画像と略同様のＶＧＡサイズの解像度（略６４０×略４８０）を有する。距離画像の画素の階調は、８ビットの階調であり、近距離ほど白（画素値２５５）に近く、遠距離ほど黒（画素値０）に近い階調が割り当てられる。また、セグメント領域の探索がエラーとなった場合は、黒（画素値０）の階調が割り当てられる。情報取得装置２は、所定の時間おきに、当該距離画像を、検出対象物体の３次元距離情報として、情報処理装置３に出力する。本実施の形態では、情報取得装置２は、１秒間に３０個の距離画像を生成して、情報処理装置３に出力する。以下、１個の距離画像を１フレームと称する。
【００７２】
次に、情報処理装置３の物体検出部３１ａにおける距離画像からの物体の形状抽出方法、および物体の動きの検出方法について説明する。
【００７３】
図６（ａ）は、検出対象物体として人物の距離を取得した距離画像の例を示す図である。図６（ｂ）は、所定の閾値で距離画像を２値化した画像の例を示す図である。図６（ｃ）は、２値化した画像からの物体の形状抽出と、重心の抽出方法を説明する図である。図６（ｄ）は、物体の動きの検出方法を説明する図である。ここでは、人物の右手の動きを抽出する方法を例にして、説明する。
【００７４】
図６（ａ）を参照して、上述のようにして、情報取得装置２により３次元距離測定が行われ、所定の時間ごとに距離画像Ｐｉが生成される。距離画像Ｐｉには、人物が手を前方に突き出した状態で距離を取得したときの画像が示されており、手の位置が最も白く、人物のそれ以外の部分がやや黒に近い階調で示されている。また、人物以外の背景では、物体が検出されておらず、略黒の階調で示されている。
【００７５】
情報取得装置２から出力された距離画像Ｐｉから人物の右手の動きを検出するために、物体検出部３１ａは、動きの中心位置となる右手の重心位置Ｇｉ（距離画像の画素位置）を特定する。右手の重心位置Ｇｉを検出するために、物体検出部３１ａは、まず、距離画像Ｐｉを図６（ｂ）に示すように、白と黒のみで表現された２値化画像Ｍｉを生成し、右手の輪郭Ｅｇの形状を抽出する。
【００７６】
上述のように、距離画像Ｐｉの画素の階調は、情報取得装置２から離れる方向（Ｚ軸方向）の物体の距離に相当する。２値化画像Ｍｉを生成するための２値化閾値Ｄｓｈを、距離画像Ｐｉから形状を抽出したい物体の距離よりもやや遠方の距離に相当する値に設定す
ることで、それよりも近い位置の物体の形状のみを抽出することができる。
【００７７】
たとえば、人物の右手を抽出する場合、図６（ａ）の距離画像Ｐｉにおいて、人物の胴体、および肩等に相当するやや黒に近いグレーの画素値よりも大きく、人物の手の部分に相当するやや白に近いグレーの画素値よりもやや小さい値を２値化閾値Ｄｓｈに設定する。これにより、図６（ｂ）に示すように、人物の手の部分のみが白で表現された２値化画像Ｍｉが生成される。
【００７８】
次に、所定の物体の輪郭を抽出する輪郭抽出エンジンによって、あらかじめ、図２に示すメモリ３３に記憶された物体形状抽出テンプレートが参照され、２値化画像Ｍｉから動きの検出対象とする物体の形状の輪郭が検出される。なお、物体形状抽出テンプレートには、動きの検出対象とする物体の形状を示す画素情報が含まれている。物体の輪郭抽出エンジンは、所定の検出手法によって、物体形状抽出テンプレートの画素情報と、２値化画像Ｍｉの画素情報を比較することにより、マッチングする物体の形状の輪郭を抽出する。ここでは、人の右手の輪郭Ｅｇを抽出するための物体形状抽出テンプレートが参照される。
【００７９】
こうして、２値化画像Ｍｉにおいて、右手の輪郭Ｅｇを検出した後、輪郭Ｅｇから、重心位置Ｇｉを算出する。これにより、動きの検出対象とされる形状が距離画像Ｐｉにおいてどの位置（画素位置）にあるかが検出される。
【００８０】
そして、図６（ｃ）に示すように、２値化画像Ｍｉにて、右手の重心位置Ｇｉが検出されると、距離画像Ｐｉにおける右手の重心位置Ｇｉの画素位置と画素値を参照し、右手の重心の３次元距離情報Ｔｉ（ｔｘ、ｔｙ、ｔｚ）を算出する。なお、距離画像Ｐｉの重心位置Ｇｉと２値化画像Ｍｉの重心位置Ｇｉは、同位置である。すなわち、距離画像Ｐｉにおける重心位置ＧｉのＸ軸方向の画素位置が３次元距離情報Ｔｉのｔｘに相当し、距離画像Ｐｉにおける重心位置ＧｉのＹ軸方向の画素位置が３次元距離情報Ｔｉのｔｙに相当し、距離画像Ｐｉにおける重心位置Ｇｉの画素値が３次元距離情報Ｔｉのｔｚに相当する。これにより、距離画像Ｐｉが生成されたタイミングにおける右手の３次元距離情報Ｔｉが取得される。
【００８１】
同様にして、各距離取得タイミングで取得された距離画像Ｐｉ＋１以降についても、右手の３次元距離情報Ｔｉ＋１〜を取得する。そして、各距離取得タイミング間における、３次元距離情報の変化をモニタすることにより、図６（ｄ）に示すように、右手の３次元空間での動きを検出することができる。たとえば、図６（ｄ）では、所定の距離取得タイミング間において、３次元距離情報Ｔｉ（ｔｘ、ｔｙ、ｔｚ）から、３次元距離情報Ｔｉ＋１（ｔｘ＋α、ｔｙ＋β、ｔｚ＋γ）に変化しており、手の位置がＸ軸方向にα、Ｙ軸方向にβ、Ｚ軸方向にγだけ変化したことを検出できる。
【００８２】
図７（ａ）は、投射光学系１００と受光光学系２００をＹ軸方向から見た模式図である。図７（ｂ）〜（ｄ）は、人物Ｈの距離に応じた２値化画像Ｍｉの例を示す図である。
【００８３】
図６（ａ）〜（ｄ）では、図７（ａ）に示すように、人物Ｈが受光光学系２００からの距離Ｚｂに位置し、２値化閾値Ｄｓｈは、人物Ｈの肩Ｈｓよりも前方、且つ、人物Ｈの手Ｈａよりも後方に位置する場合の物体検出の例を示した。このような場合、図７（ｂ）のように、２値化閾値Ｄｓｈよりも近距離側にある人物Ｈの手Ｈａの形状のみが抽出される。
【００８４】
しかし、たとえば、人物Ｈが距離Ｚｂよりも遠方の距離Ｚｃの位置に位置し、人物Ｈの全ての部位が２値化閾値Ｄｓｈに相当する位置よりも遠方にある場合に距離画像Ｐｉを取
得して２値化閾値Ｄｓｈで２値化すると、図７（ｃ）に示すように、人物の手Ｈの形状、および人物Ｈの形状を抽出することはできない。したがって、このように、動きの検出対象物体が２値化閾値Ｄｓｈに相当する位置よりも遠方に位置付けられた場合、適正に物体の動きを追従することができない。
【００８５】
また、たとえば、人物Ｈが距離Ｚｂよりも近距離の距離Ｚａの位置に位置し、人物Ｈの全ての部位が２値化閾値Ｄｓｈに相当する位置よりも近距離にある場合に距離画像Ｐｉを取得して２値化閾値Ｄｓｈで２値化すると、図７（ｄ）に示すように、人物の手Ｈの形状のみならず、人物Ｈの胴、肩等全ての形状が２値化画像Ｍｉに含まれることとなる。この場合において、右手の輪郭Ｅｇの形状を抽出しようとすると、図７（ｂ）の場合に比べ、困難となる。たとえば、図７（ｄ）において、手と胴の部分の境界部分は、同じ白の画素情報となっているため、より精度よく輪郭を抽出しないと、適正に手を抽出することができない。
【００８６】
このように、２値化閾値Ｄｓｈが固定値の場合、動きの抽出対象となる物体が前後方向に動くと、適正に物体の形状、および動きを検出できない惧れがある。
【００８７】
そこで、本実施の形態では、検出対象物体が前後に移動しても、適正に物体の形状、動きを検出できるように、物体の前後方向の距離の変化に応じて、適宜、２値化閾値Ｄｓｈを設定する。また、物体の形状が認識できなくなった場合、２値化閾値Ｄｓｈの適正な値を探索し、２値化閾値Ｄｓｈを適正な値に設定する。
【００８８】
図８、図９は、２値化閾値Ｄｓｈを変化させつつ、物体検出を行う処理を示すフローチャートである。図８、図９は、情報処理装置３のＣＰＵ３１の物体検出部３１ａの機能によって行われる。
【００８９】
なお、図８、図９に記載の２値化閾値の探索にかかる制御処理は、請求項２、３に記載の処理の一例である。また、図９のＳ２０７にかかる処理は、請求項５に記載の処理の一例である。
【００９０】
ＣＰＵ３１は、まず、距離画像のフレーム数を示す変数ｉに１を、物体検出動作の開始時であるかをチェックするための変数ｋに０をセットする（Ｓ１０１）。そして、ＣＰＵ３１は、距離画像が生成されて、形状抽出するタイミングであるか否かを判定する（Ｓ１０２）。形状抽出タイミングでない場合（Ｓ１０２：ＮＯ）、ＣＰＵ３１は、シャットダウンまで処理を待機する（Ｓ１０３：ＮＯ）。
【００９１】
形状抽出タイミングになると（Ｓ１０２：ＹＥＳ）、ＣＰＵ３１は、変数ｋが０であるか否かを判定する（Ｓ１０４）。これにより、処理対象の距離画像Ｐｉが物体検出動作開始時における初回のフレームであるかが判定される。処理対象の距離画像Ｐｉが物体検出動作開始時における初回のフレームの場合（Ｓ１０４：ＹＥＳ）、ＣＰＵ３１は、変数ｋに１をセットする（Ｓ１０５）。その後、ＣＰＵ３１は、処理を図９のＳ２０１に進め、まず、適正な２値化閾値Ｄｓｈを探索して、２値化閾値Ｄｓｈを初期設定する。
【００９２】
２値化閾値Ｄｓｈの探索時には、ＣＰＵ３１は、まず、２値化閾値Ｄｓｈを、想定し得る最も近距離の位置に相当する初期値Ｄ０に設定する（Ｓ２０１）。そして、ＣＰＵ３１は、設定した２値化閾値Ｄｓｈで距離画像Ｐｉを２値化して、２値化画像Ｍｉを生成する（Ｓ２０２）。これにより、初期値Ｄ０に相当する距離よりも、近距離に位置する物体のみの形状が抽出される。その後、ＣＰＵ３１は、２値化画像Ｍｉから、手の輪郭Ｅｇを検出し（Ｓ２０３）、手の輪郭Ｅｇが検出できたか否かを判定する（Ｓ２０４）。
【００９３】
手の輪郭Ｅｇが検出できない場合（Ｓ２０４：ＮＯ）、ＣＰＵ３１は、２値化閾値Ｄｓｈから所定の距離に相当するΔＤを減算する（Ｓ２０５）。そして、ＣＰＵ３１は、２値化閾値Ｄｓｈが所定の遠距離の位置に相当する閾値Ｄｓｍを下回っているか否かを判定する（Ｓ２０６）。２値化閾値Ｄｓｈが閾値Ｄｓｍを下回っていない場合（Ｓ２０６：ＮＯ）、ＣＰＵ３１は、処理をＳ２０２に戻し、手の輪郭Ｅｇが検出するか（Ｓ２０４：ＹＥＳ）、あるいは、２値化閾値Ｄｓｈが閾値Ｄｓｍを下回るまで（Ｓ２０６：ＹＥＳ）、２値化閾値Ｄｓｈを少しずつ、遠距離の位置にずらしつつ、手の輪郭Ｅｇの抽出が繰り返される。
【００９４】
図１０（ａ）〜（ｄ）を参照して、２値化閾値Ｄｓｈの設定状況の例を説明する。
【００９５】
図１０（ａ）を参照して、たとえば、人物Ｈが距離Ｚｃの位置に位置している場合、２値化閾値Ｄｓｈは、まず、近距離の位置に相当する初期値Ｄ０に設定される。この場合、２値化閾値Ｄｓｈよりも、前方に人物Ｈが位置づけられていないため、人物Ｈの形状を抽出することができない。したがって、この場合、図９のＳ２０４にて、ＮＯと判定され、２値化閾値ＤｓｈがΔＤだけ減少される。これにより、２値化閾値Ｄｓｈに相当する位置がΔＤに相当する距離だけ遠方の位置にずらされる。その後、手の輪郭Ｅｇが抽出されるまで、２値化閾値Ｄｓｈに相当する位置が、ΔＤに相当する距離ずつ、遠方の位置に徐々にずらされる。そして、図１０（ｂ）に示すように、２値化閾値Ｄｓｈが、人物Ｈの手Ｈａよりも遠方の位置に相当する値となると、図９のＳ２０４にて、ＹＥＳと判定される。なお、Ｄ０〜Ｄｓｍの間において、人物Ｈの手Ｈａが位置づけられておらず、手の輪郭Ｅｇが抽出されない場合、図９のＳ２０６にて、ＹＥＳと判定される。
【００９６】
図９に戻り、Ｓ２０６においてＹＥＳと判定すると、ＣＰＵ３１は、所定の距離の範囲内において、検出対象物体の形状が検出できなかったとして、処理を図８のＳ１０１に戻す。Ｓ２０４においてＹＥＳと判定すると、ＣＰＵ３１は、所定の距離の範囲内において、検出対象物体の形状が検出できたとして、２値化閾値Ｄｓｈから所定の距離に相当するΔＤｏを減算する（Ｓ２０７）。これにより、２値化閾値Ｄｓｈは、図１０（ｃ）に示すように、人物ＨのＨａを検出した位置よりも、やや遠距離の位置に相当する値に設定される。こうして、２値化閾値Ｄｓｈは、人物Ｈの手Ｈａが検出された位置に相当する値よりもやや遠距離の位置に相当する値に設定されるため、人物Ｈの手Ｈａが遠方（Ｚ軸正方向）に動いても、手Ｈａの距離が、すぐに２値化閾値Ｄｓｈを超えることはなく、適正に手Ｈａの動きを検出することができる。
【００９７】
このようにして、１フレーム目の２値化閾値Ｄｓｈの適正な位置に相当する値が探索されて、２値化閾値Ｄｓｈが設定される。１フレーム目の２値化閾値Ｄｓｈが設定されると、ＣＰＵ３１は、図８のＳ１０６に処理を進める。
【００９８】
ＣＰＵ３１は、距離画像Ｐｉを、上述のようにして設定した２値化閾値Ｄｓｈで２値化して、２値化画像Ｍｉを生成し（Ｓ１０６）、２値化画像Ｍｉから手の輪郭Ｅｇを検出する（Ｓ１０７）。そして、ＣＰＵ３１は、手の輪郭Ｅｇを検出できたか否かを判定する（Ｓ１０８）。手の輪郭Ｅｇを検出できなかった場合（Ｓ１０８：ＮＯ）、ＣＰＵ３１は、再度、図９のＳ２０１〜Ｓ２０７の処理を実行し、適正な２値化閾値Ｄｓｈを探索する。手の輪郭Ｅｇを検出できた場合（Ｓ１０８：ＹＥＳ）、ＣＰＵ３１は、検出した２値化画像Ｍｉの輪郭Ｅｇから手の重心位置Ｇｉを所定の演算処理によって算出する（Ｓ１０９）。そして、ＣＰＵ３１は、距離画像Ｐｉから手の重心位置Ｇｉの３次元距離情報Ｔｉ（ｔｘ、ｔｙ、ｔｚ）を取得する（Ｓ１１０）。これにより、距離画像Ｐｉの取得時における、動きを検出するための手の位置が特定される。
【００９９】
こうして、手の位置を特定すると、ＣＰＵ３１は、変数ｉが１０であるか否かを判定す
る（Ｓ１１１）。これにより、処理対象の距離画像Ｐｉのフレームが１０フレーム目であるかが判定される。処理対象の距離画像Ｐｉのフレームが１０フレーム目でない場合（Ｓ１１１：ＮＯ）、ＣＰＵ３１は、変数ｉに１を加算し（Ｓ１１２）、処理をＳ１０２に戻す。これにより、次のフレームについて、動きの検出対象の手の形状検出、３次元距離情報Ｔｉの取得が行われる。この場合、２フレーム目以降の処理であるため、Ｓ１０４ではＮＯと判定され、Ｓ１０６では、そのタイミングで設定されている２値化閾値Ｄｓｈを用いて２値化画像Ｍｉの生成が行われる。そして、２値化画像Ｍｉから手の輪郭Ｅｇを抽出できなかった場合（Ｓ１０８：ＮＯ）、再度、図９の処理が実行されて、２値化閾値Ｄｓｈが再設定され、Ｓ１０６に戻って、再設定された２値化閾値Ｄｓｈに基づく処理が行われる。
【０１００】
このようにして取得された各フレームにおける手の重心位置Ｇｉの３次元距離情報Ｔｉの変化を追従することによって、手の動きを検出することができる。
【０１０１】
そして、１０フレーム目まで、物体の形状検出、３次元距離情報Ｔｉの取得が完了すると、Ｓ１１１でＹＥＳと判定され、ＣＰＵ３１は、２値化閾値Ｄｓｈを１〜１０フレーム目の３次元距離情報Ｔｉ〜Ｔｉ−９のうち、直前に取得された３次元距離情報ＴｉのＺ軸の位置情報ｔｚの距離に相当する値Ｄａに設定する（Ｓ２１１）。その後、ＣＰＵ３１は、２値化閾値Ｄｓｈから所定の距離に相当するΔＤｏを減算する（Ｓ２１２）。そして、ＣＰＵ３１は、変数ｉに１をセットし（Ｓ２１３）、処理をＳ１０２に戻して、再度１０フレーム分の物体検出の処理を実行する。これにより、図１０（ｄ）に示すように、人物Ｈの手Ｈａの位置がΔｈだけ変動していたとしても、それに追従して、２値化閾値Ｄｓｈが直前に取得されたＺ軸の距離に相当するＤａに設定されるため、人物Ｈの手Ｈａの位置が変動したとしても、２値化閾値Ｄｓｈが人物Ｈａの前方の位置に相当する値にならず、物体の形状の検出が失敗しにくくなる。また、上記のＳ２０７と同様、２値化閾値Ｄｓｈが、人物Ｈの手Ｈａが検出された位置に相当する値よりもやや遠距離の位置に相当する値に設定されるため、人物Ｈの手Ｈａが遠方（Ｚ軸正方向）に動いても、手Ｈａの距離が、すぐに２値化閾値Ｄｓｈを超えることはなく、さらに、良好に手Ｈａの動きを追従して検出することができる。
【０１０２】
以上、本実施の形態によれば、検出対象物体の位置に応じて、２値化閾値Ｄｓｈが設定されるため、物体の距離が変動しても、適正に物体の形状、動きを検出することができる。
【０１０３】
また、本実施の形態によれば、物体の形状が認識できなくなった場合、２値化閾値Ｄｓｈの適正な値が再度の探索により再設定されるため、物体の位置が大きく変動したとしても、適正に物体の形状、動きを検出することができる。
【０１０４】
また、本実施の形態によれば、２値化閾値Ｄｓｈが１０フレームごとに、直前に検出された物体のＺ軸方向の距離に相当する値に設定されるため、物体の形状の検出が失敗しにくくなる。
【０１０５】
さらに、本実施の形態によれば、２値化閾値Ｄｓｈが、物体の形状が検出された位置に相当する値よりもやや遠距離の位置に相当する値に設定されるため、物体までの距離が、物体が遠方（Ｚ軸正方向）に動いてもすぐに２値化閾値Ｄｓｈを超えず、良好に物体の動きを検出することができる。
【０１０６】
以上、本発明の実施の形態について説明したが、本発明は、上記実施の形態に何ら制限されるものではなく、また、本発明の実施の形態も上記の他に種々の変更が可能である。
【０１０７】
たとえば、上記実施の形態では、物体検出部３１ａの機能は、情報処理装置３のＣＰＵ３１に組み込まれたが、図１１に示すように、情報取得装置２のＣＰＵ２１に物体検出部２１ｃとして、組み込まれても良い。この場合、物体検出部２１ｃは、情報取得部によって取得された距離画像から、物体の形状、動きの検出を行い、物体の動きに応じた信号を情報処理装置３に出力する。情報処理装置３は、物体検出部２１ｃにより出力された物体の動きに応じた信号に基づいて、テレビ、パーソナルコンピュータ等の各種機能を制御する。さらに、情報取得装置２と情報処理装置３が統合されても良い。
【０１０８】
また、上記実施の形態では、ドットパターンを照射して、３次元距離情報を取得するアクティブステレオ型の情報取得装置２が示されたが、これに限られるものではない。たとえば、二つのカメラの視差から３次元距離情報を取得するパッシブステレオ型の情報取得装置に本発明が適用されても良い。この他、上記実施の形態に示した物体の形状、動きを検出する手法を用いることが可能な３次元距離情報を取得する情報取得装置であれば、どのような装置であっても良い。
【０１０９】
また、上記実施の形態では、人物の手の輪郭Ｅｇを検出するための２値化閾値Ｄｓｈの適正な値を探索するために、２値化閾値Ｄｓｈを徐々に遠距離に相当する値にずらしつつ、手の輪郭Ｅｇが検出できるかを判定したが、まず、比較的検出し易い人物の全体像の輪郭Ｅｇ２を検出した後に、人物の肩の輪郭Ｅｇ３を検出し、その後、人物の手の輪郭Ｅｇを検出することによって、２値化閾値Ｄｓｈを探索しても良い。
【０１１０】
図１２は、この場合の２値化閾値Ｄｓｈを探索する処理を示すフローチャートである。図１２は、情報処理装置３のＣＰＵ３１の物体検出部３１ａの機能によって行われる。図１２の処理は、図９の処理の代わりに実行される。なお、２値化閾値Ｄｓｈの探索にかかる処理は、図９の処理と略同様であり、変更点のみを詳細に説明する。
【０１１１】
なお、図１２に記載の２値化閾値の探索にかかる制御処理は、請求項４に記載の処理の一例である。また、図１２のＳ３１５にかかる処理は、請求項５に記載の処理の一例である。
【０１１２】
この場合、ＣＰＵ３１は、まず、Ｓ３０１〜３０６において、比較的、検出し易い人物全体の輪郭Ｅｇ２を検出可能な２値化閾値Ｄｓｈを探索する。これにより、上記実施の形態と同様に、図１３（ａ）に示すように、近距離から閾値Ｄｓｍ２まで徐々に遠ざかるように、２値化閾値Ｄｓｈが探索される。なお、このとき、人物Ｈは、手Ｈａよりも大きく、輪郭抽出が容易である。したがって、この場合、２値化閾値Ｄｓｈの探索は、ある程度、精度を低くしても、適正な値を検出し得る。探索の精度を低くする方法としては、たとえば、２値化画像Ｍｉと物体形状テンプレートとの画素情報の比較を数画素おきにすること等によって、行われる。これにより、２値化閾値Ｄｓｈの探索にかかる演算量を低く抑えることができる。
【０１１３】
図１２に戻り、このようにして、まず、人物の輪郭Ｅｇ２が検出できる２値化閾値Ｄｓｈが探索されると（Ｓ３０４：ＹＥＳ）、ＣＰＵ３１は、次に、肩の輪郭Ｅｇ３を検出する（Ｓ３０７）。そして、ＣＰＵ３１は、肩の輪郭Ｅｇ３を検出できたか否かを判定する（Ｓ３０８）。人物の輪郭Ｅｇ２は、検出できたものの（Ｓ３０４：ＹＥＳ）、肩の輪郭Ｅｇ３が検出できなかった場合（Ｓ３０８：ＮＯ）、ＣＰＵ３１は、処理をＳ３０５に進め、２値化閾値ＤｓｈからΔＤを減算する（Ｓ３０５）。そして、ＣＰＵ３１は、Ｓ３０２〜Ｓ３０８において、人物の輪郭Ｅｇ２および、肩の輪郭Ｅｇ３が検出されるよう、２値化閾値Ｄｓｈを調整する。すなわち、ＣＰＵ３１は、２値化閾値Ｄｓｈで２値化画像Ｍｉを生成し（Ｓ３０２）、生成した２値化画像Ｍｉをもとに、人物の輪郭Ｅｇ２、および肩の輪郭Ｅｇ３を検出できるかを判定し（Ｓ３０４、Ｓ３０８）、人物の輪郭Ｅｇ２、ま
たは肩の輪郭Ｅｇ３が検出できなければ（Ｓ３０４：ＮＯ、またはＳ３０８：ＮＯ）、人物の輪郭Ｅｇ２、および肩の輪郭Ｅｇ３が検出されるまで（Ｓ３０４：ＹＥＳ、且つ、Ｓ３０８：ＹＥＳ）、２値化閾値ＤｓｈをΔＤずつ減少させる。
【０１１４】
こうして、人物の輪郭Ｅｇ２および肩の輪郭Ｅｇ３が検出されると（Ｓ３０４：ＹＥＳ、且つ、Ｓ３０８：ＹＥＳ）、ＣＰＵ３１は、２値化閾値Ｄｓｈに肩の位置から想定される手の距離ΔＤｎ（たとえば、数１０ｃｍ）を加算する（Ｓ３０９）。そして、ＣＰＵ３１は、Ｓ３１０〜Ｓ３１４において、手の輪郭Ｅｇを検出できるよう、２値化閾値Ｄｓｈを調整する。すなわち、ＣＰＵ３１は、Ｓ３０９で設定された２値化閾値Ｄｓｈで２値化画像Ｍｉを生成し（Ｓ３１０）、生成した２値化画像Ｍｉをもとに手の輪郭Ｅｇが検出できるかを判定し（Ｓ３１１、３１２）、手の輪郭Ｅｇが検出できなければ、手の輪郭Ｅｇが検出されるまで（Ｓ３１２：ＹＥＳ）、２値化閾値ＤｓｈをΔＤずつ減少させる（Ｓ３１３）。こうして、手の輪郭Ｅｇが検出されると（Ｓ３１２：ＹＥＳ）、ＣＰＵ３１は、上記実施の形態同様、２値化閾値ＤｓｈからΔＤｏを減算する（Ｓ３１５）。減算後の２値化閾値が、図８のＳ１０６における２値化処理に用いられる。
【０１１５】
Ｓ３０９以降の処理により、図１３（ｂ）に示すように、人物Ｈの肩Ｈｓから手が動く範囲だけ手前の位置から閾値Ｄｓｍ３まで徐々に遠ざかるように、２値化閾値Ｄｓｈが探索される。このように、ある程度の精度が必要な手の輪郭Ｅｇを抽出するための２値化閾値Ｄｓｈの探索を狭い範囲に抑えることができるため、上記実施の形態に比べ、演算量を低く抑えることができる。
【０１１６】
また、上記実施の形態では、１０フレームごとに、直前に取得されたＺ軸の距離に相当する位置に追従するように、２値化閾値Ｄｓｈが再設定されたが、２値化閾値Ｄｓｈが再設定は、毎フレームごとに行われても良いし、その他のフレーム数ごとに行われても良い。また、２値化閾値Ｄｓｈは、直前に取得されたＺ軸の距離に相当する値ではなく、１０フレームのうち、最も遠距離の位置に相当する値に設定されても良い。こうすると、２値化閾値Ｄｓｈが、直近で動いた最も遠距離よりも遠方の位置に相当する値に設定されるため、より、２値化閾値Ｄｓｈが人物よりも前方の位置に相当する値になりにくくなり、適正に物体の形状を検出することができる。さらに、２値化閾値Ｄｓｈは、上記の他、物体のＺ軸方向の距離の平均の位置に相当する値が設定されても良い。
【０１１７】
また、上記実施の形態では、Ｄ０〜Ｄｓｍに相当する距離において、手の輪郭Ｅｇが検出できなかった場合、処理を図８のＳ１０１に戻し、再度、同じ手の形の輪郭Ｅｇの検出が繰り返されたが、手の輪郭Ｅｇが検出できなかった場合、他方の手の形の輪郭検出が行われても良い。この場合、情報処理装置３のメモリ３３に両方の手の形状の物体形状抽出テンプレートがあらかじめ用意され、随時、テンプレートを切り替えて、検出することにより、種々の手の形状変化に対応可能となる。
【０１１８】
また、上記実施の形態では、手の輪郭Ｅｇが検出できなくなった場合、常にＤ０〜Ｄｓｍに相当する距離の範囲内において、２値化閾値Ｄｓｈの探索が行われたが、Ｄ０〜Ｄｓｍは、直前の２値化閾値Ｄｓｈの値に応じて、可変にしても良い。この場合、図１４（ａ）に示すように、Ｓ１０８において、手の輪郭Ｅｇが検出されなかった場合（Ｓ１０８；ＮＯ）、図１４（ｂ）に示す処理が実行される。
【０１１９】
なお、図１４（ａ）、（ｂ）に記載の２値化閾値の探索にかかる制御処理は、請求項３に記載の処理の一例である。また、図１４のＳ４０７にかかる処理は、請求項５に記載の処理の一例である。
【０１２０】
図１４（ａ）は、図８に示す処理のうち、変更箇所の付近の処理のみが示されたフロー
チャートである。図１４（ｂ）は、２値化閾値Ｄｓｈを、Ｓ１０８でＮＯと判定された際に用いられた２値化閾値Ｄｓｈ（以下、この２値化閾値を特に「直前２値化閾値」という）に基づいて、狭い範囲で探索する場合のフローチャートである。図１４（ａ）、（ｂ）の処理は、図８、図９、同様に、情報処理装置３のＣＰＵ３１の物体検出部３１ａの機能によって実行される。
【０１２１】
図１４（ｂ）を参照して、手の輪郭Ｅｇが検出されなかった場合（Ｓ１０８：ＮＯ）、ＣＰＵ３１は、直前２値化閾値Ｄｓｈに所定の距離に相当するΔＤｍを加算する（Ｓ４０１）。そして、ＣＰＵ３１は、Ｓ４０１で設定された２値化閾値Ｄｓｈで２値化画像Ｍｉを生成し（Ｓ４０２）、生成した２値化画像Ｍｉをもとに手の輪郭Ｅｇが検出できるかを判定し（Ｓ４０３、Ｓ４０４）、手の輪郭Ｅｇが検出できなければ、手の輪郭Ｅｇが検出されるまで（Ｓ４０４：ＹＥＳ）、２値化閾値ＤｓｈをΔＤずつ減少させる（Ｓ４０５）。手の輪郭Ｅｇが検出されない場合（Ｓ４０４：ＮＯ）、ＣＰＵ３１は、２値化閾値Ｄｓｈが閾値Ｄｓｍ４を下回っているか否かを判定する（Ｓ４０６）。なお、閾値Ｄｓｍ４は、直前２値化閾値Ｄｓｈに相当する位置から所定の距離だけ遠方に相当する位置に相当する値が設定される。これにより、図１４（ｃ）に示すように、直前２値化閾値Ｄｓｈから所定の距離の範囲だけ手前の位置から閾値Ｄｓｍ４まで徐々に遠ざかるように、２値化閾値Ｄｓｈが探索される。
【０１２２】
このように、図１４（ｂ）の処理では、２値化閾値Ｄｓｈの探索を狭い範囲に抑えることができるため、上記実施の形態に比べ、演算量を低く抑えることができる。
【０１２３】
この探索により手の輪郭Ｅｇが検出されると（Ｓ４０４：ＹＥＳ）、ＣＰＵ３１は、上記実施の形態同様、そのときの２値化閾値ＤｓｈからΔＤｏを減算して、輪郭検出に用いる２値化閾値Ｄｓｈを設定する（Ｓ４０７）。
【０１２４】
２値化閾値Ｄｓｈが閾値Ｄｓｍ４に相当する位置までに見つからない場合（Ｓ４０６：ＹＥＳ）、ＣＰＵ３１は、図９のＳ２０１に処理を進め、再度、Ｄ０〜Ｄｓｍに相当する広い範囲で２値化閾値Ｄｓｈが探索される。したがって、２値化閾値Ｄｓｈの検出精度を保つことができる。また、通常、物体の距離は、時間の経過に沿って、元の位置から徐々に離れていくように変化するため、Ｄ０〜Ｄｓｍに相当する広い範囲での探索は行われ難く、２値化閾値Ｄｓｈの探索にかかる演算量を低く抑えられることが想定される。
【０１２５】
また、上記の実施の形態、および変更例では、近距離から遠距離に相当する値にずらしつつ、２値化閾値Ｄｓｈが探索されたが、遠距離から近距離に相当する値にずらしつつ、２値化閾値Ｄｓｈが探索されても良い。
【０１２６】
また、上記実施の形態では、隣り合うセグメント領域が互いに重なるように、セグメント領域が設定されたが、左右に隣り合うセグメント領域が、互いに重ならないように、セグメント領域が設定されても良く、また、上下に隣り合うセグメント領域が、互いに重ならないように、セグメント領域が設定されても良い。また、上下左右に隣り合うセグメント領域のずれ量は、１画素に限られるものではなく、ずれ量が他の画素数に設定されても良い。また、上記実施の形態では、セグメント領域の大きさが横１５画素×縦１５画素に設定されたが、検出精度に応じて、任意に設定可能である。さらに、上記実施の形態では、セグメント領域は、正方形状に設定されたが、長方形であっても良い。
【０１２７】
また、上記実施の形態では、セグメント領域と比較領域のマッチング率を算出する前に、セグメント領域と比較領域に含まれる画素の画素値を２値化したが、ＣＭＯＳイメージセンサ２４０によって得られた画素値をそのまま用いて、マッチングしても良い。また、上記実施の形態では、ＣＭＯＳイメージセンサ２４０によって得られた画素値をそのまま
２値化したが、画素値について、所定の画素の重みづけ処理、および背景光の除去処理、等の補正処理を行った後に、２値化、もしくは多値化しても良い。
【０１２８】
また、上記実施の形態では、三角測量法を用いて距離情報が求められ、メモリ２５に記憶されたが、物体の輪郭抽出を主目的とするような場合は、三角測量法を用いた距離を演算せずに、セグメント領域の変位量（画素ずれ量）が距離情報として取得されても良い。
【０１２９】
また、上記実施の形態では、目標領域に照射されるレーザ光の波長帯以外の波長帯の光を除去するためにフィルタ２３０を配したが、たとえば、目標領域に照射されるレーザ光以外の光の信号成分を、ＣＭＯＳイメージセンサ２４０から出力される信号から除去する回路構成が配されるような場合には、フィルタ２３０を省略することができる。また、アパーチャ２１０の配置位置は、何れか２つの撮像レンズの間であっても良い。
【０１３０】
また、上記実施の形態では、受光素子として、ＣＭＯＳイメージセンサ２４０を用いたが、これに替えて、ＣＣＤイメージセンサを用いることもできる。さらに、投射光学系１００および受光光学系２００の構成も、適宜変更可能である。
【０１３１】
本発明の実施の形態は、特許請求の範囲に示された技術的思想の範囲内において、適宜、種々の変更が可能である。
【符号の説明】
【０１３２】
１  …  物体検出装置
２  …  情報取得装置（情報取得部）
２１  …  ＣＰＵ（情報取得部、距離取得部）
２１ｂ  …  距離取得部（情報取得部）
２１ｃ  …  物体検出部
２３  …  撮像信号処理回路（情報取得部、距離取得部）
２５  …  メモリ（情報取得部、記憶部）
３  …  情報処理装置（物体検出部）
３１  …  ＣＰＵ（物体検出部）
３１ａ  …  物体検出部
１００  …  投射光学系（情報取得部）
１１０  …  レーザ光源（情報取得部）
２００  …  受光光学系（情報取得部）
２４０  …  ＣＭＯＳイメージセンサ（情報取得部、イメージセンサ）
Ｓ１〜Ｓｎ  …  セグメント領域（参照領域）
Ｄｓｈ  …  ２値化閾値（閾値）
Ｍｉ  …  ２値化画像（２値化情報）
【図１】
2013246009.tif 000003
【図２】
2013246009.tif 000004
【図３】
2013246009.tif 000005
【図４】
2013246009.tif 000006
【図５】
2013246009.tif 000007
【図７】
2013246009.tif 000008
【図８】
2013246009.tif 000009
【図９】
2013246009.tif 000010
【図１０】
2013246009.tif 000011
【図１１】
2013246009.tif 000012
【図１２】
2013246009.tif 000013
【図１３】
2013246009.tif 000014
【図１４】
2013246009.tif 000015
【図６】
2013246009.tif 000016