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