JP2014137762A - 物体検出装置 - Google Patents
物体検出装置 Download PDFInfo
- Publication number
- JP2014137762A JP2014137762A JP2013006878A JP2013006878A JP2014137762A JP 2014137762 A JP2014137762 A JP 2014137762A JP 2013006878 A JP2013006878 A JP 2013006878A JP 2013006878 A JP2013006878 A JP 2013006878A JP 2014137762 A JP2014137762 A JP 2014137762A
- Authority
- JP
- Japan
- Prior art keywords
- image
- distance
- area
- object detection
- movement
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
【課題】距離検出精度を保ちつつ、距離取得にかかる演算量を抑えることが可能な物体検出装置を提供する。
【解決手段】物体検出装置1は、投射光学系100と、目標領域をCMOSイメージセンサ240により撮像する受光光学系200と、3次元距離情報を取得する距離取得部21bと、3次元距離情報に基づいて検出対象物体の動きを検出する物体検出部21cを備える。物体検出部21cは、CMOSイメージセンサ240によって撮像された実測画像R上に検出対象部物体の移動領域A2を設定し、距離取得部21bは、移動領域A2中の実測画像Rに基づいて距離画像P2を取得する。物体検出部21cは、距離画像P2に基づいて検出対象物体の動きを検出する。
【選択図】図9
【解決手段】物体検出装置1は、投射光学系100と、目標領域をCMOSイメージセンサ240により撮像する受光光学系200と、3次元距離情報を取得する距離取得部21bと、3次元距離情報に基づいて検出対象物体の動きを検出する物体検出部21cを備える。物体検出部21cは、CMOSイメージセンサ240によって撮像された実測画像R上に検出対象部物体の移動領域A2を設定し、距離取得部21bは、移動領域A2中の実測画像Rに基づいて距離画像P2を取得する。物体検出部21cは、距離画像P2に基づいて検出対象物体の動きを検出する。
【選択図】図9
Description
本発明は、3次元距離情報に基づいて目標領域内の物体を検出する物体検出装置に関する。
従来、光を用いた物体検出装置が種々の分野で開発されている。いわゆる距離画像センサを情報取得装置として用いた物体検出装置では、2次元平面上の平面的な画像のみならず、検出対象物体の奥行き方向の形状や動きを検出することができる。この場合、情報取得装置では、レーザ光源やLED(Light Emitting Diode)から、予め決められた波長帯域の光が目標領域に投射され、その反射光がCMOSイメージセンサ等の撮像素子により受光される。
かかる情報取得装置として、所定のドットパターンを持つレーザ光を目標領域に照射するタイプのものが知られている(非特許文献1)。かかる情報取得装置では、基準面にレーザ光を照射したときのドットパターンが撮像素子により撮像され、撮像されたドットパターンが基準ドットパターンとして保持される。そして、基準ドットパターンと、実測時に撮像された実測ドットパターンとが比較され、距離情報が取得される。具体的には、基準ドットパターン上に設定された参照領域の実測ドットパターン上における位置に基づいて、三角測量法により、当該参照領域に対する距離情報が取得される。
この場合、たとえば、参照領域に含まれるドットに最もマッチングするドットを含む領域が、実測ドットパターン上において探索される。そして、探索された領域が、参照領域の移動位置として取得される。
第19回日本ロボット学会学術講演会(2001年9月18−20日)予稿集、P1279−1280
上記物体検出装置において、参照領域の数が多いほど、距離取得できる数が多くなり、距離検出精度が向上する。他方、参照領域の数が多いほど、マッチング処理の回数が多くなり、距離検出にかかる演算量が増大する。距離検出にかかる演算量が増大すると、制御部に対する処理負荷の増大や回路部に対する回路規模の増大等の問題が生じる。
本発明は、この点に鑑みてなされたものであり、距離検出精度を保ちつつ、距離取得にかかる演算量を抑えることが可能な物体検出装置を提供することを目的とする。
本発明の主たる態様は、物体検出装置に関する。本態様に係る物体検出装置は、所定のドットパターンで光を目標領域に投射する投射光学系と、前記投射光学系に対して並ぶように配置され、前記目標領域をイメージセンサにより撮像する受光光学系と、前記イメージセンサによって撮像された実測画像上に検出対象物体の移動領域を設定する移動領域設定部と、前記移動領域中の実測画像に基づいて3次元距離情報を取得する距離取得部と、前記3次元距離情報に基づいて前記検出対象物体の動きを検出する物体検出部と、を備える。
本発明によれば、距離検出精度を保ちつつ、距離取得にかかる演算量を抑えることが可能な物体検出装置を提供することができる。
本発明の効果ないし意義は、以下に示す実施の形態の説明により更に明らかとなろう。ただし、以下に示す実施の形態は、あくまでも、本発明を実施化する際の一つの例示であって、本発明は、以下の実施の形態により何ら制限されるものではない。
以下、本発明の実施の形態につき図面を参照して説明する。
以下に示す実施の形態において、縮小画像を対象とした距離取得部21bおよび物体検出部21cの機能、並びに、フィルタ処理回路501、画像サイズ縮小回路502、マッチング処理回路503、移動領域判定回路504および領域抽出回路505は、請求項に記載の「移動領域設定部」に相当する。縮小画像を対象としたフィルタ処理回路603およびマッチング処理回路604は、請求項に記載の「移動領域設定部」に相当する。実測画像を対象とした距離取得部21bの機能、並びに、フィルタ処理回路506、マッチング処理回路503、フィルタ処理回路603およびマッチング処理回路604は、請求項に記載の「距離取得部」に相当する。実測画像を対象とした物体検出部21cの機能、並びに、動き検出回路508は、請求項に記載の「物体検出部」に相当する。DOE140は、請求項に記載の「回折光学素子」に相当する。CMOSイメージセンサ240は、請求項に記載の「イメージセンサ」に相当する。移動領域A1、A2は、請求項に記載の「移動領域」に相当する。距離画像P1、P2は、請求項に記載の「3次元距離情報」に相当する。ただし、上記請求項と本実施の形態との対応の記載はあくまで一例であって、請求項に係る発明を本実施の形態に限定するものではない。
まず、図1に本実施の形態に係る物体検出装置1の概略構成を示す。図1に示すように、物体検出装置1は、テレビ2に内蔵されている。テレビ2は、内部に情報処理部3を備えており、テレビ2は、情報処理部3からの信号によって制御される。
物体検出装置1は、目標領域全体に赤外光を投射し、その反射光をCMOSイメージセ
ンサにて受光することにより、目標領域に存在する物体各部までの距離(以下、「3次元距離情報」という)を取得する。物体検出装置1は、取得した3次元距離情報に基づき目標領域における物体を検出するとともに、3次元距離情報の変化から、目標領域における物体の動きを検出する。そして、物体検出装置1は、物体の動きに応じた信号を、テレビ2内の配線を介してテレビ2の情報処理部3に送信する。情報処理部3は、物体検出装置1から受信した物体の動きに応じた信号に基づき、テレビ2を制御する。
ンサにて受光することにより、目標領域に存在する物体各部までの距離(以下、「3次元距離情報」という)を取得する。物体検出装置1は、取得した3次元距離情報に基づき目標領域における物体を検出するとともに、3次元距離情報の変化から、目標領域における物体の動きを検出する。そして、物体検出装置1は、物体の動きに応じた信号を、テレビ2内の配線を介してテレビ2の情報処理部3に送信する。情報処理部3は、物体検出装置1から受信した物体の動きに応じた信号に基づき、テレビ2を制御する。
たとえば、ユーザがテレビ2を見ながら所定の動き(ジェスチャ)をすると、物体検出装置1からユーザのジェスチャに応じた信号がテレビ2の情報処理部3に送信される。そして、情報処理部3により、あらかじめジェスチャに応じた信号に対応付けられたチャンネル切り替えやボリュームのUP/Down等のテレビ2の機能が実行される。
なお、テレビ2のほか、ゲーム機、パーソナルコンピュータ等に物体検出装置1が内蔵されていても良い。たとえば、ゲーム機に物体検出装置1が内蔵される場合、ゲーム機の情報処理部により、あらかじめジェスチャに応じた信号に対応付けられたゲーム機の機能が実行される。たとえば、ユーザのジェスチャに応じて、テレビ画面上のキャラクタが操作され、ゲームの対戦状況が変化する。
図2は、物体検出装置1とテレビ2の情報処理部3の構成を示す図である。
物体検出装置1は、光学部の構成として、投射光学系100と受光光学系200とを備えている。投射光学系100と受光光学系200は、X軸方向に並ぶように、物体検出装置1に配置される。
投射光学系100は、レーザ光源110と、コリメータレンズ120と、ミラー130と、回折光学素子(DOE:Diffractive Optical Element)140を備えている。また、受光光学系200は、アパーチャ210と、撮像レンズ220と、フィルタ230と、CMOSイメージセンサ240とを備えている。この他、物体検出装置1は、回路部の構成として、CPU(Central Processing Unit)21と、レーザ駆動回路22と、撮像信号処理回路23と、入出力回路24と、メモリ25を備えている。
レーザ光源110は、受光光学系200から離れる方向(X軸負方向)に波長830nm程度の狭波長帯域のレーザ光を出力する。コリメータレンズ120は、レーザ光源110から出射されたレーザ光を略平行光に変換する。
ミラー130は、コリメータレンズ120側から入射されたレーザ光をDOE140に向かう方向(Z軸正方向)に反射する。
DOE140は、入射面に回折パターンを有する。この回折パターンによる回折作用により、DOE140に入射したレーザ光は、所定のドットパターンのレーザ光に変換されて、目標領域に照射される。
DOE140の回折パターンは、たとえば、ステップ型の回折格子が所定のパターンで形成された構造とされる。回折格子は、コリメータレンズ120により略平行光とされたレーザ光をドットパターンのレーザ光に変換するよう、パターンとピッチが調整されている。DOE140は、ミラー130から入射されたレーザ光を、放射状に広がるドットパターンのレーザ光として、目標領域に照射する。
なお、このように、投射光学系100が、ドットパターンを生成するためにDOE140を備える構成は、請求項8に記載の構成の一例である。
目標領域から反射されたレーザ光は、アパーチャ210を介して撮像レンズ220に入射する。
アパーチャ210は、撮像レンズ220のFナンバーに合うように、外部からの光を制限する。撮像レンズ220は、アパーチャ210を介して入射された光をCMOSイメージセンサ240上に集光する。フィルタ230は、レーザ光源110の出射波長(830nm程度)を含む赤外の波長帯域の光を透過し、可視光の波長帯域の光をカットするバンドパスフィルタである。
CMOSイメージセンサ240は、撮像レンズ220にて集光された光を受光して、画素毎に、受光量に応じた信号(電荷)を撮像信号処理回路23に出力する。ここで、CMOSイメージセンサ240は、各画素における受光から高レスポンスでその画素の信号(電荷)を撮像信号処理回路23に出力できるよう、信号の出力速度が高速化されている。
本実施の形態において、CMOSイメージセンサ240の撮像有効領域(センサとして信号を出力する領域)は、たとえば、VGA(横640画素×縦480画素)のサイズである。CMOSイメージセンサ240の撮像有効領域は、XGA(横1024画素×縦768画素)のサイズや、SXGA(横1280画素×縦1024画素)のサイズ等、他のサイズであっても良い。
CPU21は、メモリ25に格納された制御プログラムに従って各部を制御する。かかる制御プログラムによって、CPU21には、レーザ光源110を制御するためのレーザ制御部21aと、3次元距離情報を生成するための距離取得部21bと、3次元距離情報から画像中の物体を検出するための物体検出部21cの機能が付与される。
レーザ駆動回路22は、CPU21からの制御信号に応じてレーザ光源110を駆動する。
撮像信号処理回路23は、CMOSイメージセンサ240を制御して、所定の撮像間隔で、CMOSイメージセンサ240により生成された各画素の信号(電荷)をライン毎に順次取り込む。そして、取り込んだ信号を順次CPU21に出力する。CPU21は、撮像信号処理回路23から供給される信号(撮像信号)をもとに、物体検出装置1から検出対象物体の各部までの距離を、距離取得部21bによる処理によって算出する。
物体検出部21cは、距離取得部21bによって取得される3次元距離情報から画像中の物体の形状を抽出し、抽出した物体形状の動きを検出する。そして、物体検出部21cは、検出した物体の動きが所定の動きパターンに合致しているかを判定し、所定の動きパターンに応じた信号をテレビ2の情報処理部3に送信する。
また、物体検出部21cは、目標領域において物体が移動する領域を検出する機能を有する。目標領域の物体の移動領域を検出する機能については、図7ないし図9を参照して後述する。
入出力回路24は、テレビ2の情報処理部3とのデータ通信を制御する。
情報処理部3は、CPU31と、入出力回路32と、メモリ33を備えている。なお、情報処理装置3には、図2に示す構成の他、テレビ2を制御するための構成が配されるが、便宜上、これら周辺回路の構成は図示省略されている。
CPU31は、メモリ33に格納された制御プログラムに従って各部を制御する。かかる制御プログラムによって、CPU31には、物体検出部21cからの信号に応じて、テレビ2の機能を制御するための機能制御部31aの機能が付与される。機能制御部31aは、物体検出部21cによる検出結果に基づき、上記のように、テレビ2の機能を制御する。
入出力回路32は、物体検出装置1とのデータ通信を制御する。
投射光学系100と受光光学系200は、投射光学系100の投射中心と受光光学系200の撮像中心がX軸に平行な直線上に並ぶように、X軸方向に所定の距離をもって並んで設置される。投射光学系100と受光光学系200の設置間隔は、物体検出装備1と目標領域の基準面との距離に応じて、設定される。
次に、物体検出装置1による3次元距離情報の取得方法について説明する。
図3(a)は、目標領域に対するレーザ光の照射状態を模式的に示す図、図3(b)は、CMOSイメージセンサ240におけるレーザ光の受光状態を模式的に示す図である。なお、図3(b)には、便宜上、目標領域に平坦な面(スクリーン)とスクリーンの前に人物が存在するときの受光状態が示されている。
図3(a)に示すように、投射光学系100からは、ドットパターンを持ったレーザ光(以下、このパターンを持つレーザ光の全体を「DP光」という)が、目標領域に照射される。図3(a)には、DP光の光束領域が実線の枠によって示されている。DP光の光束中には、DOE140による回折作用により生成されるドット領域(以下、単に「ドット」という)が、DOE140による回折作用によるドットパターンに従って点在している。ドットは、レーザ光源110からのレーザ光がDOE140によって分岐されることにより生成される。
目標領域に平坦な面(スクリーン)と人物が存在すると、DP光は、図3(b)のように、CMOSイメージセンサ240上に分布する。図3(a)に示す目標領域上におけるDt0の光は、CMOSイメージセンサ240上では、図3(b)に示すDt0’の位置に入射する。スクリーンの前の人物の像は、CMOSイメージセンサ240上では、上下左右が反転して撮像される。
図4(a)、(b)は、上記距離検出手法に用いられる参照パターンの設定方法を説明する図である。
図4(a)に示すように、投射光学系100から所定の距離Lsの位置に、Z軸方向に垂直な平坦な反射平面RSが配置される。出射されたDP光は、反射平面RSによって反射され、受光光学系200のCMOSイメージセンサ240に入射する。これにより、CMOSイメージセンサ240から、撮像有効領域内の画素毎に、電気信号が出力される。出力された画素毎の電気信号の値(画素値)は、図2のメモリ25上に展開される。
以下、反射平面RSからの反射によって得られた全画素値からなる画像を「基準画像」と称し、反射平面RSを「基準面」と称する。
図4(b)に示すように、基準画像上に、「参照パターン領域」が設定される。なお、図4(b)には、CMOSイメージセンサ240の背面側から受光面をZ軸正方向に透視した状態が図示されている。図5(a)、(b)においても、これと同様である。
こうして設定された参照パターン領域に対して、所定の大きさを有する複数のセグメント領域が設定される。セグメント領域は、たとえば、図4(c)に示すように、隣り合うセグメント領域が参照パターン領域に対してX軸方向およびY軸方向に1画素間隔で並ぶように設定される。すなわち、あるセグメント領域は、このセグメント領域のX軸方向およびY軸方向に隣り合うセグメント領域に対して、それぞれ、X軸方向およびY軸方向に1画素ずれた位置に設定される。このとき、各セグメント領域には、固有のパターンでドットが点在する。セグメント領域内のドットのパターンは、後述する探索範囲L0において、セグメント領域毎に異なっている。
こうして、CMOSイメージセンサ240上における参照パターン領域の位置に関する情報と、参照パターン領域に含まれる全画素の画素値(参照パターン)と、参照パターン領域に対して設定されるセグメント領域の情報が、図2のメモリ25に記憶される。メモリ25に記憶されるこれらの情報を、以下、「参照テンプレート」と称する。
図2のCPU21は、投射光学系100から検出対象物体の各部までの距離を算出する際に、参照テンプレートを参照する。CPU21は、距離を算出する際に、参照テンプレートから得られる各セグメント領域内のドットパターンのずれ量に基づいて、物体の各部までの距離を算出する。
たとえば、図4(a)に示すように距離Lsよりも近い位置に物体がある場合、参照パターン上の所定のセグメント領域Snに対応するDP光(DPn)は、物体によって反射され、セグメント領域Snとは異なる領域Sn’に入射する。投射光学系100と受光光学系200はX軸方向に隣り合っているため、セグメント領域Snに対する領域Sn’の変位方向はX軸に平行となる。図4(a)の場合、物体が距離Lsよりも近い位置にあるため、領域Sn’は、セグメント領域Snに対してX軸正方向に変位する。物体が距離Lsよりも遠い位置にあれば、領域Sn’は、セグメント領域Snに対してX軸負方向に変位する。
セグメント領域Snに対する領域Sn’の変位方向と変位量(図4(a)に示す画素ずれ量D)をもとに、投射光学系100からDP光(DPn)が照射された物体の部分までの距離Lrが、距離Lsを用いて、三角測量法に基づき算出される。同様にして、他のセグメント領域に対応する物体の部分について、投射光学系100からの距離が算出される。かかる算出手法の詳細は、たとえば、上記非特許文献1(第19回日本ロボット学会学術講演会(2001年9月18−20日)予稿集、P1279−1280)に示されている。
かかる距離算出では、参照テンプレートのセグメント領域Snが、実測時においてどの位置に変位したかが検出される。この検出は、実測時にCMOSイメージセンサ240上に照射されたDP光から得られたドットパターンと、セグメント領域Snに含まれるドットパターンとを照合することによって行われる。以下、実測時にCMOSイメージセンサ240上の撮像有効領域に照射されたDP光から得られた全画素値からなる画像を、「実測画像」と称する。実測時のCMOSイメージセンサ240の撮像有効領域は、基準画像取得時と同様に、たとえば、VGA(横640画素×縦480画素)のサイズである。
図5(a)〜(c)は、かかる距離検出の手法を説明する図である。図5(a)は、CMOSイメージセンサ240上における基準画像に設定された参照パターン領域を示す図であり、図5(b)は、実測時のCMOSイメージセンサ240上の実測画像を示す図であり、図5(c)は、実測画像に含まれるDP光のドットパターンと、参照テンプレートのセグメント領域に含まれるドットパターンとの照合方法を説明する図である。なお、便宜上、図5(a)、(b)には、一部のセグメント領域のみが示されており、図5(c)
には、各セグメント領域の大きさが、横9画素×縦9画素で示されている。
には、各セグメント領域の大きさが、横9画素×縦9画素で示されている。
図5(a)のセグメント領域Siの実測時における変位位置を探索する場合、図5(b)に示すように、実測画像上において、セグメント領域Siと同じ位置にある領域Si0を中心にX軸方向に+α画素および−α画素の範囲が探索範囲L0に設定される。探索時には、セグメント領域Siが探索範囲L0において1画素ずつX軸方向に送られ、各送り位置において、セグメント領域Siのドットパターンと実測画像上のドットパターンとが比較される。以下、実測画像上の各送り位置に対応する領域を、「比較領域」と称する。探索範囲L0には、セグメント領域Siと同じサイズの比較領域が1画素おきに設定される。探索範囲L0は、取得しようとする距離の範囲に応じて設定される。取得しようとする距離の範囲が広い程、探索範囲L0は広くなる。
こうして設定された探索範囲L0において、セグメント領域SiをX軸方向に1画素ずつ送りながら、各送り位置において、セグメント領域Siのドットパターンと、各送り位置の比較領域のドットパターンとのマッチング度合いが求められる。このようにセグメント領域Siを探索範囲L0内においてX軸方向にのみ送るのは、図4(a)を参照して説明したように、通常、セグメント領域内のドットは、実測時において、X軸方向に変位するためである。
上記マッチング度合いの検出時には、セグメント領域Siの各画素の画素値と、比較領域の対応する画素の画素値との差分が求められる。そして、求めた差分を比較領域内の全ての画素について加算した値Rsadが、類似度を示す値として取得される。
たとえば、図5(c)のように、一つのセグメント領域中に、n列×m行の画素が含まれている場合、セグメント領域のi列、j行の画素の画素値T(i,j)と、比較領域のi列、j行の画素の画素値I(i,j)との差分が求められる。そして、セグメント領域の全ての画素について差分が求められ、その差分の総和により、図5(c)に示す式の値Rsadが求められる。値Rsadが小さい程、セグメント領域と比較領域との間の類似度が高い。
こうして、セグメント領域Siについて、探索範囲L0内の全ての比較領域に対して値Rsadが求められる。そして、求めた値Rsadが最小の比較領域が、セグメント領域Siの移動後の領域として検出される。このとき、たとえば、値Rsadの最小値と、値Rsadの2番目に小さい値との差分が所定の閾値よりも小さい場合、値Rsadが最小の比較領域はセグメント領域Siの移動後の領域とされず、セグメント領域Siに対する探索がエラーとされる。この場合、セグメント領域Siに対する距離値は取得されない。
図5(b)の例では、セグメント領域Siに含まれるドットは、実測画像上において、比較領域Cjの位置に移動している。したがって、この場合、比較領域Cjに対する値Rsadが最小となり、比較領域Cjがセグメント領域Siの移動後の領域として検出される。そして、比較領域Cjと、セグメント領域Siと同じ位置にある領域Si0との間の、X軸方向における画素ずれ量が取得される。この画素ずれ量は、図4(a)に示す画素ずれ量Dに相当する。その後、この画素ずれ量Dをもとに、上記のように三角測量法に基づいて、セグメント領域Siに対する距離情報が取得される。
物体検出装置1は、上記のようにして取得された各セグメント領域に対応する検出対象物体までの距離を白から黒の階調で表現された画素値に割り当てた画像として、メモリ25に記憶する。以下、各セグメント領域に対応する距離を画素値で表現した画像を「距離画像」と称する。上記のように、本実施の形態では、セグメント領域は、基準画像の参照パターン領域に対して、1画素刻みで設定されるため、距離画像は、基準画像と略同様の
VGAサイズの解像度(略640×略480)を有する。距離画像の画素の階調は、8ビットの階調であり、近距離ほど白(画素値255)に近く、遠距離ほど黒(画素値0)に近い階調が割り当てられる。また、セグメント領域の探索がエラーとなった場合は、黒(画素値0)の階調が割り当てられる。物体検出装置1は、所定の時間おきに、当該距離画像を検出対象物体の3次元距離情報として取得する。本実施の形態では、物体検出装置1は、1秒間に30枚の距離画像を生成する。以下、1枚の距離画像を1フレームと称する。
VGAサイズの解像度(略640×略480)を有する。距離画像の画素の階調は、8ビットの階調であり、近距離ほど白(画素値255)に近く、遠距離ほど黒(画素値0)に近い階調が割り当てられる。また、セグメント領域の探索がエラーとなった場合は、黒(画素値0)の階調が割り当てられる。物体検出装置1は、所定の時間おきに、当該距離画像を検出対象物体の3次元距離情報として取得する。本実施の形態では、物体検出装置1は、1秒間に30枚の距離画像を生成する。以下、1枚の距離画像を1フレームと称する。
次に、物体検出部21cにおける距離画像からの物体の形状抽出方法、および物体の動きの検出方法について説明する。
図6(a)は、検出対象物体として人物の距離を取得した距離画像の例を示す模式図である。図6(b)は、所定の閾値で距離画像を2値化した画像の例を示す模式図である。図6(c)は、物体の動きの検出方法を説明する図である。ここでは、人物の右手の動きを抽出する方法を例にして、説明する。
図6(a)を参照して、上述のようにして、物体検出装置1により3次元距離測定が行われ、所定の時間ごとに距離画像Piが生成される。距離画像Piには、人物が手を前方に突き出した状態で距離を取得したときの画像が示されており、手の位置が最も白く、人物のそれ以外の部分がやや黒に近い階調で示されている。また、人物以外の背景では、物体が検出されておらず、略黒の階調で示されている。
距離画像Piから人物の右手の動きを検出するために、物体検出部21cは、動きの中心位置となる右手の重心位置Gi(距離画像の画素位置)を特定する。右手の重心位置Giを検出するために、物体検出部21cは、まず、距離画像Piを図6(b)に示すように、白と黒のみで表現された2値化画像Miを生成し、右手の輪郭Egの形状を抽出する。
上述のように、距離画像Piの画素の階調は、物体検出装置1から離れる方向(Z軸方向)の物体の距離に相当する。2値化画像Miを生成するための閾値を、距離画像Piから形状を抽出したい物体の距離よりもやや遠方の距離に相当する値に設定することで、それよりも近い位置の物体の形状のみを抽出することができる。これにより、図6(b)に示すように、人物の手の部分のみが白で表現された2値化画像Miが生成される。
次に、所定の物体の輪郭を抽出する輪郭抽出エンジンによって、あらかじめ、図2に示すメモリ25に記憶された物体形状抽出テンプレートが参照され、2値化画像Miから動きの検出対象とされる物体の形状の輪郭が検出される。なお、物体形状抽出テンプレートには、動きの検出対象とされる物体の形状を示す画素情報が含まれている。物体の輪郭抽出エンジンは、所定の検出手法によって、物体形状抽出テンプレートの画素情報と、2値化画像Miの画素情報を比較することにより、物体形状抽出テンプレートに設定された形状にマッチングする物体の形状の輪郭を2値化画像Miから抽出する。ここでは、人の右手の輪郭Egを抽出するための物体形状抽出テンプレートが参照される。
こうして、2値化画像Miにおいて、右手の輪郭Egを検出した後、輪郭Egから、重心位置Giを算出する。これにより、動きの検出対象とされる形状が距離画像Piにおいてどの画素位置にあるかが検出される。なお、2値化画像Miにおいて、検出対象となる形状が2箇所以上で検出された場合、最も近距離の重心位置が参照される。
そして、2値化画像Miにて、右手の重心位置Giが検出されると、距離画像Piにおける右手の重心位置Giの画素位置と画素値を参照し、右手の重心の3次元距離情報Ti
(tx、ty、tz)を算出する。なお、距離画像Piの重心位置Giと2値化画像Miの重心位置Giは、同位置である。すなわち、距離画像Piにおける重心位置GiのX軸方向の画素位置が3次元距離情報Tiのtxに相当し、距離画像Piにおける重心位置GiのY軸方向の画素位置が3次元距離情報Tiのtyに相当し、距離画像Piにおける重心位置Giの画素値が3次元距離情報Tiのtzに相当する。これにより、距離画像Piが生成されたタイミングにおける右手の3次元距離情報Tiが取得される。
(tx、ty、tz)を算出する。なお、距離画像Piの重心位置Giと2値化画像Miの重心位置Giは、同位置である。すなわち、距離画像Piにおける重心位置GiのX軸方向の画素位置が3次元距離情報Tiのtxに相当し、距離画像Piにおける重心位置GiのY軸方向の画素位置が3次元距離情報Tiのtyに相当し、距離画像Piにおける重心位置Giの画素値が3次元距離情報Tiのtzに相当する。これにより、距離画像Piが生成されたタイミングにおける右手の3次元距離情報Tiが取得される。
同様にして、各距離取得タイミングで取得された距離画像について、右手の3次元距離情報を取得する。そして、各距離取得タイミング間における、3次元距離情報の変化を監視することにより、図6(c)に示すように、右手の3次元空間での動きを検出することができる。たとえば、図6(c)では、所定の距離取得タイミング間において、3次元距離情報Ti−1(tx−α、ty、tz)が3次元距離情報Ti(tx、ty、tz)に変化しており、手の位置がX軸方向にαだけ変化したことが検出される。また、その後、3次元距離情報Ti(tx、ty、tz)が3次元距離情報Ti+1(tx、ty、tz+γ)に変化しており、手の位置がZ軸方向にγだけ変化したことが検出される。
ここで、上記距離検出手法にかかる演算量は、セグメント領域の数と、セグメント領域と比較する比較領域の数に依存する。本実施の形態では、1画素ごとにセグメント領域が設定され、1画素ごとに比較領域と比較されるため、距離検出にかかる演算量は、実測画像の画素数に依存する。たとえば、実測画像がVGAの場合、略VGAの画素数に相当する回数分、セグメント領域と比較領域のマッチングが行われるため、演算量が多くなる。また、物体の検出処理についても、距離画像の画素数(取得した距離情報の数)が多いほど、輪郭抽出の処理にかかる演算量が多くなる。
人物等の検出対象物体の動きパターンの例として、たとえば、右手を前後方向(Z軸方向)に動かすジェスチャ、あるいは、右手を円周状に動かすジェスチャ等が想定される。このような場合、通常、ジェスチャのために右手を動かす範囲は、所定の範囲に限られる。したがって、右手のジェスチャを検出するためには、動いている右手の周辺を検出すれば良い。
そこで、本実施の形態では、まず、実測画像の画素数を減少させた低解像度の画像を用いて距離取得が行われ、大まかに検出対象物体が動いている領域が特定される。そして、この領域に対して、画素数を減少させていない実測画像を用いて距離取得が行われる。以下、検出対象物体が動いていると判定された領域を「移動領域」、実測画像から画素数を減少させて、縮小した画像を「縮小画像」と称する。
図7(a)は、CMOSイメージセンサ240から出力された実測画像の例を示す模式図、図7(b)は、実測画像を用いて距離取得を行った距離画像の例を示す模式図である。図7(c)は、縮小画像の例を示す模式図、図7(d)は、縮小画像を用いて距離取得を行った距離画像の例を示す模式図である。
図7(a)に示す実測画像Rは、上述のようにCMOSイメージセンサ240からの信号に応じて、VGAの解像度で生成される。実測画像Rを用いて距離取得を行うことにより、図7(b)に示すように、距離画像P0が生成される。
図7(c)に示す縮小画像Sは、たとえば、図7(a)の実測画像Rから画素値を横方向及び縦方向に2画素間隔で間引いて抽出することによって生成される。この場合、縮小画像Sのサイズは、QVGA(横320画素×縦240画素)となる。縮小画像Sを用いて距離取得を行うことにより、図7(d)に示すように、距離画像P1が生成される。なお、画素数が縮小画像と同等に減少された基準画像の画素情報を含む参照テンプレートが
あらかじめメモリ25に記憶されており、縮小画像Sを用いて距離取得を行う場合は、この参照テンプレートが用いられる。
あらかじめメモリ25に記憶されており、縮小画像Sを用いて距離取得を行う場合は、この参照テンプレートが用いられる。
縮小画像Sの画素数は、実測画像Rの画素数の4分の1となっているため、縮小画像Sを用いてマッチング処理を行うセグメント領域の数も、実測画像Rを用いてマッチング処理を行うセグメント領域の数の略4分の1となる。したがって、縮小画像Sを用いた場合の距離取得にかかる演算量は、実測画像Rを用いた場合の距離取得にかかる演算量の略4分の1程度となる。
図7(b)を参照して、実測画像Rを用いて距離取得が行われた距離画像P0は、画素数(距離情報の数)が多く、右手の指の輪郭形状まで鮮鋭に検出することができる。他方、図7(d)を参照して、縮小画像Sを用いて距離取得が行われた距離画像P1は、画素数(距離情報の数)が少なく、図7(b)の距離画像P0よりも指の輪郭の精鋭さが劣っている。しかし、距離画像P1中における検出対象物体(右手)の位置は、問題なく検出可能である。本実施の形態では、縮小画像Sを用いて距離取得が行われた距離画像P1から移動領域が判定される。なお、図7(d)に示す距離画像P1は、実際には、図7(c)の縮小画像Sと略同様のサイズとなるが、便宜上、画像の鮮鋭さを比較するため、図7(b)の距離画像P0と同一サイズになるよう、1画素の大きさが拡大されて示されている。
図8は、縮小画像Sを用いて距離取得が行われた距離画像P1から移動領域を判定する方法を説明する図である。
縮小画像Sを用いて距離取得が行われた距離画像P1から移動領域を判定するためには、上記物体検出の処理と同様にして、図8(a)に示すように距離画像から2値化画像が生成される。そして、2値化画像から検出対象となる右手の輪郭の形状とその輪郭の重心位置が算出される。たとえば、2値化画像Miの場合、重心位置Gi(gx、gy)が算出される。gxは、重心のX軸方向の画素位置、gyは、重心のY軸方向の画素位置である。この重心位置Giの座標値の変化を監視することにより、右手のXY平面での動きを検出することができる。なお、右手の輪郭の形状抽出処理は、上記の物体検出の処理と同様、所定の輪郭抽出エンジンによって行われる。ここで行われる輪郭抽出の処理は、大まかに物体が動いている領域を検出できれば良いため、上記の物体検出の処理に比べ、輪郭抽出のマッチング精度が粗くなるよう実行されても良い。
たとえば、図8(a)では、まず、重心位置Gi−1(gx−α、gy)が重心位置Gi(gx、gy)に変化しており、右手の位置がX軸方向にα1だけ変化したことが検出される。また、その後、重心位置Gi(gx、gy)が重心位置Gi+1(gx+α、gy)に変化しており、右手の位置がX軸方向にさらにα1だけ変化したことが検出される。
このようにして、検出対象物体のXY平面での動きが検出されると、所定の距離取得間隔における重心位置の平均の画素位置Av(ax、ay)が算出される。たとえば、図8(a)のように、右手の重心位置が変位した場合、平均の画素位置AvのX座標(ax)は、gx、Y座標(ay)は、gyとなる。
右手の重心の平均画素位置Avが算出されると、図8(b)に示すように、平均画素位置Avを中心として所定の範囲の領域が、移動領域A1として設定される。なお、図8(b)では、便宜上、距離画像P1上に移動領域A1が示されている。移動領域A1の大きさは、右手のジェスチャに必要な大きさが設定される。たとえば、移動領域A1の大きさは、図8(c)に示すように、縮小画像Sの4分の1のサイズに設定される。すなわち、
この場合の移動領域A1のサイズは、QVGAの4分の1のサイズ(横160画素×縦120画素)に設定される。
この場合の移動領域A1のサイズは、QVGAの4分の1のサイズ(横160画素×縦120画素)に設定される。
図9は、移動領域に対して距離取得を行う方法を説明する図である。
上記のようにして、縮小画像Sにおける検出対象物体の移動領域A1が検出されると、図9(a)に示すように、移動領域A1に対応する実測画像R上の移動領域A2が設定される。具体的には、移動領域A2は、縮小画像Sと実測画像Rの縮尺比率に応じて移動領域A1が拡大された領域に設定される。たとえば、上記のように、実測画像RがVGA(横640画素×縦480画素)のサイズ、縮小画像SがQVGA(横320画素×縦240画素)のサイズ、移動領域A1がQVGAの4分の1のサイズ(横160画素×縦120画素)である場合、移動領域A2は、QVGA(横320画素×縦240画素)のサイズに設定される。
こうして、実測画像Rに対する移動領域A2が設定されると、この領域に対してのみ、上述の距離マッチングの処理が行われる。これにより、図9(b)に示すように、移動領域A2のサイズに応じた距離画像P2が生成される。
移動領域A2は、右手のジェスチャに必要なサイズに設定されているため、通常、ユーザが所定の動き(ジェスチャ)をする間においては、検出対象物体が移動領域A2から外れる可能性は低い。
実測画像Rの移動領域A2に含まれる画素数は、実測画像R全体の画素数の略4分の1となっているため、移動領域A2に対してのみ距離取得を行う場合の演算量は、実測画像R全体に対して距離取得を行う場合の演算量の略4分の1程度となる。
このように、本実施の形態では、まず移動領域A2を設定してから、高解像度で距離取得を行うことにより、距離検出の精度を劣化させずに、距離取得にかかる演算量を抑えることができる。また、本実施の形態では、距離画像P2が小さい範囲で生成されるため、物体検出にかかる演算量も低く抑えることができる。
なお、図9(c)に示すように、検出対象物体が大きく動いた場合は、移動領域A2から検出対象物体が外れることが想定される。この場合は、再度、図8(a)〜図8(c)に示すように、縮小画像Sに対する移動領域A1の設定処理が行われる。これにより、図9(d)に示すように、移動領域A2が再設定される。
また、移動領域A2から外れていなくても、一定時間、右手が上下、左右および前後の何れの方向にも動かなかった場合は、人物が右手のジェスチャを止めて左手のジェスチャを始めたことが想定される。または、何らかの静止物体を誤検出していることが想定される。したがって、検出対象物体が一定時間、動きがなかった場合についても、再度、縮小画像Sに対する移動領域A1の設定処理が行われる。
さらに、所定のジェスチャの検出が完了したタイミングでも、再度、移動領域A2の設定が行われる。この場合、一つのジェスチャが完了すると、次のジェスチャの開始位置周辺に移動領域A2が再設定されるため、次のジェスチャ中に検出対象物体が移動領域A2から外れることを抑制することができる。
このように、本実施の形態では、移動領域A2を設定した後は、上記の3つの条件に合致しない限り、移動領域A2の位置が固定されるため、移動領域A2外で動く物体に対する誤検出を防ぐ効果が想定される。たとえば、人物が右手で所定の動き(ジェスチャ)を
行っている際に、人物の左手前方に右手と似た形状の物体が横切る場合であっても、移動領域A2には、その物体が含まれないため、適正に右手のジェスチャを検出することができる。
行っている際に、人物の左手前方に右手と似た形状の物体が横切る場合であっても、移動領域A2には、その物体が含まれないため、適正に右手のジェスチャを検出することができる。
図10は、低解像度の縮小画像Sで距離取得を行う処理、および移動領域A1を判定する処理を示すフローチャートである。図11は、高解像度の実測画像Rに移動領域A2を設定し、その範囲で距離取得を行う処理、および物体の動きを検出する処理を示すフローチャートである。これらの処理は、図2のCPU21の距離取得部21b、物体検出部21cにおける機能によって行われる。
なお、図10、図11に記載の処理フローは、請求項1に記載の構成の一例である。
図10を参照して、距離取得処理が開始されると、CPU21は、距離取得タイミングであるか否かを判定する(S101)。距離取得タイミングでない場合(S101:NO)、シャットダウンされない限り(S102:NO)、CPU21は、処理を待機する。
距離取得タイミングである場合(S101:YES)、CPU21は、VGAサイズの実測画像Rに対して、ノイズ成分を除去するためのローパスフィルタの処理と、実測画像Rの階調値を減少させるための正規化の処理を行う(S103)。
CPU21は、フィルタ処理を行った実測画像Rに対して、画素値を2画素間隔で間引いて抽出することによって縮小画像Sを生成する(S104)。これにより、図7(c)に示すように、実測画像Rよりも画素数が低減された縮小画像Sが生成される。そして、CPU21は、縮小画像Sの全領域に対して距離取得の処理を行う(S105)。これにより、図7(d)に示すように、低解像度の距離画像P1が生成される。
なお、S104、S105の処理は、請求項2、3に記載の構成の一例である。
その後、CPU21は、移動領域判定処理を実行する(S106〜S111)。
なお、物体検出動作の初期状態において、移動領域判定処理(S106〜111)が実行される構成は、請求項4に記載の構成の一例である。
CPU21は、低解像度で取得された距離画像P1を2値化して、検出対象物体の輪郭検出を行う(S106)。そして、CPU21は、検出対象物体の輪郭が検出できたか否かを判定する(S107)。輪郭が検出できた場合(S107:YES)、輪郭の重心位置を算出し、重心位置の画素位置(X座標,Y座標)をメモリ25に記憶する(S108)。輪郭が検出できなかった場合(S107:NO)、CPU21は、処理をS109に進める。
CPU21は、所定フレーム数の距離画像P1に対して検出対象物体の重心位置が取得できたか否かを判定する(S109)。所定のフレーム数の距離画像P1に対して検出対象物体の重心位置が取得できていない場合(S109:NO)、CPU21は、処理をS101に戻し、次の距離取得タイミングが到来するのを待機する。検出対象物体が移動しているか否かを判定するため、所定のフレーム数は、少なくとも2フレーム以上が設定される。初期状態では、2フレーム分の重心位置が取得できていないため、S109の処理では、NOと判定される。
所定フレーム数の距離画像P1に対して検出対象物体の重心位置を取得すると(S109:YES)、CPU21は、取得した重心位置の平均画素位置(X座標,Y座標)を算
出する(S110)。そして、CPU21は、重心位置の平均画素位置に対応する縮小画像Sの画素位置を中心とした移動領域A1の画素位置の情報をメモリ25に記憶する(S111)。これにより、図8(c)に示すように、縮小画像Sに対して、移動領域A1が設定される。
出する(S110)。そして、CPU21は、重心位置の平均画素位置に対応する縮小画像Sの画素位置を中心とした移動領域A1の画素位置の情報をメモリ25に記憶する(S111)。これにより、図8(c)に示すように、縮小画像Sに対して、移動領域A1が設定される。
こうして、移動領域A1の画素位置の情報がメモリ25に保持されると、CPU21は、図11に示す高解像度の距離取得処理、および物体の動き検出の処理を実行する(S201〜S212)。
なお、図10に示す低解像度の距離取得処理、および移動領域判定処理を実行している間、すなわち、図10のS111から図11のS201へと移行するまでの間は、高解像度の距離取得処理、および物体の動き検出の処理は、行われない。ただし、距離画像の生成は1秒間に30回行われ、また、S109の所定フレーム数は2〜数フレーム程度に設定されるため、移動領域判定処理にかかる時間は短く、図11の処理が行われないことによる物体の動き検出処理への影響は軽微である。
図11を参照して、CPU21は、メモリ25に記憶された縮小画像Sの移動領域A1の画素位置の情報を読込み、実測画像Rに対して移動領域A2を設定する(S201)。具体的には、上述のように、実測画像Rと縮小画像Sの縮尺倍率に応じて、移動領域A1のX座標、Y座標の値が補正されて、移動領域A2の画素位置の情報が算出される。
CPU21は、実測画像Rの移動領域A2の範囲に対して、ローパスフィルタの処理と、正規化の処理を行う(S202)。そして、CPU21は、実測画像Rの移動領域A2に対して距離取得処理を行う(S203)。これにより、図9(b)に示すように、移動領域A2の範囲の高解像度の距離画像P2が生成される。
CPU21は、移動領域A2の範囲で取得された高解像度の距離画像P2を2値化して、検出対象物体の輪郭検出を行う(S204)。そして、CPU21は、検出対象物体の輪郭が検出できたか否かを判定する(S205)。輪郭が検出できなかった場合(S205:NO)、CPU21は、処理を図10のS101に戻す。これにより、移動領域A2の範囲で取得された距離画像P2において、検出対象物体の輪郭が検出できない場合は、再度、低解像度の距離取得処理(S103〜S105)が実行され、移動領域の判定処理(S106〜S111)が実行される。
なお、検出対象物体の輪郭が検出できない場合(S205:NO)、移動領域判定処理(S106〜S111)が実行される構成は、請求項5に記載の構成の一例である。
輪郭が検出できた場合(S205:YES)、CPU21は、輪郭の重心位置を算出し、重心位置の3次元距離情報をメモリ25に記憶する(S206)。3次元距離情報には、重心位の画素位置(X座標,Y座標)、および重心位置の階調値が含まれる。
そして、CPU21は、所定フレーム数の距離画像P2に対して検出対象物体の3次元距離情報が取得できたか否かを判定する(S207)。所定のフレーム数の距離画像P2に対して検出対象物体の3次元距離情報が取得できていない場合(S207:NO)、CPU21は、処理をS211に進め、次の距離取得タイミングが到来するのを待機する。距離取得タイミングでない場合(S211:NO)、シャットダウンされない限り(S212:NO)、CPU21は、処理を待機する。検出対象物体の動きの有無を判定するため、所定のフレーム数は、少なくとも数フレーム以上が設定される。
所定フレーム数の距離画像P2に対して検出対象物体の3次元距離情報が取得できると
(S207:YES)、CPU21は、取得した3次元距離情報を参照し、検出体物体の動きがあるか否かを判定する(S208)。具体的には、所定のフレーム数の距離画像P2における重心位置の画素位置(X座標,Y座標)、および重心位置の階調値の変位があるかないかを判定する。検出対象物体の動きがない場合(S208:NO)、CPU21は、処理を図10のS101に戻す。これにより、移動領域A2の範囲で取得された距離画像P2において、検出対象物体の動きがない場合は、再度、低解像度の距離取得処理(S103〜S105)が実行され、移動領域の判定処理(S106〜S111)が実行される。
(S207:YES)、CPU21は、取得した3次元距離情報を参照し、検出体物体の動きがあるか否かを判定する(S208)。具体的には、所定のフレーム数の距離画像P2における重心位置の画素位置(X座標,Y座標)、および重心位置の階調値の変位があるかないかを判定する。検出対象物体の動きがない場合(S208:NO)、CPU21は、処理を図10のS101に戻す。これにより、移動領域A2の範囲で取得された距離画像P2において、検出対象物体の動きがない場合は、再度、低解像度の距離取得処理(S103〜S105)が実行され、移動領域の判定処理(S106〜S111)が実行される。
なお、検出対象物体の動きがない場合(S208:NO)、移動領域判定処理(S106〜S111)が実行される構成は、請求項6に記載の構成の一例である。
検出対象物体の動きがある場合(S208:YES)、CPU21は、検出対象物体の動きが、あらかじめ設定された所定の動きパターンと合致するか否かを判定する(S209)。具体的には、所定のフレーム数の距離画像P2における重心位置の画素位置(X座標,Y座標)、および重心位置の階調値の変位が所定の変位の範囲内であるか否かを判定する。
検出対象物体の動きが所定の動きパターンに合致しない場合(S209:NO)、CPU21は、処理をS211に進め、次の距離取得タイミングが到来するのを待機する。検出対象物体の動きが所定の動きパターンに合致する場合(S209:YES)、CPU21は、所定の動きパターンに応じた信号を、図2に示すテレビ2の情報処理部3に出力する(S210)。テレビ2の情報処理部3は、所定の動きパターンに応じた信号を受信すると、信号に応じたテレビ2の機能(チャンネル切り替えやボリュームのUP/Down等)を実行する。
こうして、検出対象物体の所定の動きパターンが検出されると、CPU21は、処理を図10のS101に戻す。これにより、検出対象物体の所定の動きパターンが検出されると、再度、低解像度の距離取得処理(S103〜S105)が実行され、移動領域の判定処理(S106〜S111)が実行される。
なお、検出対象物体の所定の動きパターンが検出された場合(S209:YES)、移動領域判定処理(S106〜S111)が実行される構成は、請求項7に記載の構成の一例である。
<実施の形態の効果>
以上、本実施の形態によれば、移動領域A2を検出してから、移動領域A2に対してのみ高解像度で距離取得が行われるため、距離検出の精度を劣化させずに、距離取得にかかる演算量を抑えることができる。また、本実施の形態では、距離画像P2が小さい範囲で生成されるため、物体検出にかかる演算量も低く抑えることができる。
以上、本実施の形態によれば、移動領域A2を検出してから、移動領域A2に対してのみ高解像度で距離取得が行われるため、距離検出の精度を劣化させずに、距離取得にかかる演算量を抑えることができる。また、本実施の形態では、距離画像P2が小さい範囲で生成されるため、物体検出にかかる演算量も低く抑えることができる。
また、本実施の形態によれば、物体検出の処理対象が移動領域A2に限定されるため、移動領域A2外の移動物体の誤検出を防ぐことができる。
また、本実施の形態によれば、検出対象物体が移動領域A2から外れた場合は、移動領域A2が再設定されるため、検出対象物体が大きく動いた場合にも、適正に物体検出を行うことができる。
また、本実施の形態によれば、検出対象物体の動きがない場合も、移動領域A2が設定し直されるため、適正な検出対象物体に移動領域A2を設定することができる。
さらに、本実施の形態によれば、所定の動きパターンを検出した場合、次の動作の開始位置付近に移動領域A2が設定し直されるため、次の動作中に検出対象物体が移動領域A2から外れることを抑制することができる。
以上、本発明の実施の形態について説明したが、本発明は、上記実施の形態に何ら制限されるものではなく、また、本発明の実施の形態も上記の他に種々の変更が可能である。
たとえば、上記実施の形態では、図10に示すように、画像縮小前の実測画像Rに対して、ローパスフィルタの処理、および正規化の処理が実行されたが(S103)、これに代えて、縮小画像Sに対して正規化の処理が行われても良い。
この場合、実測画像Rに対して画素数が減少された縮小画像Sに対して処理を実行するため、正規化にかかる演算量を抑えることができる。なお、実測画像Rから画素が間引かれた縮小画像Sに対して処理を実行するため、ドットパターンのドット間隔が狭くなる。ローパスフィルタの処理は、注目画素の隣接画素に重みづけをするため、隣接ドットの画素値を不適正に取得する惧れがある。したがって、縮小画像Sに対しては、ローパスフィルタの処理を省略する方が望ましい。ただし、上記実施の形態のように、実測画像Rのノイズ成分を除去するためには、画像縮小前の実測画像Rに対して、ローパスフィルタの処理が実行される方が最も望ましい。
また、上記実施の形態では、実測画像Rから縮小画像Sを生成することにより、低解像度で距離取得を行ったが、実測画像Rを縮小せずに、図4(c)に示すセグメント領域を2画素間隔で設定し、このセグメント領域を2画素間隔で比較領域とマッチングすることにより、低解像度で距離取得を行っても良い。これにより、図7(d)と同様の距離画像P1が生成される。本変更例においても、上記実施の形態同様、距離取得にかかる演算量を抑えつつ、適正に距離取得を行うことができる。
また、上記実施の形態では、移動領域を判定するために、まず低解像度で距離取得を行い、低解像度の距離画像P1を2値化して、XY平面における物体の移動領域を判定したが、距離取得をせずに実測画像RをもとにXY平面における物体の移動領域を判定しても良い。この場合、物体の形状抽出精度は劣化するものの、大まかに物体が動いている領域を検出できれば良いため、上記実施の形態同様、距離取得にかかる演算量を抑えつつ、適正に距離取得を行うことができる。
また、上記実施の形態では、物体の輪郭が抽出できなかった場合(S205:NO)、物体の動きがなかった場合(S208:NO)、および所定の動きパターンが検出された場合に(S209:YES)、移動領域が再設定されたが、これらの条件は、適宜、省略されても良い。たとえば、S209の条件を省略することにより、所定の動きパターンが検出されても、移動領域の再設定は行われないこととしても良い。こうすると、連続して同じ手のジェスチャを検出する場合等においては、移動領域の再設定処理が実行されないため、物体検出にかかる演算量を抑えることができる。
また、上記実施の形態では、移動領域のサイズは固定にしたが、移動領域のサイズは適宜可変にしても良い。
また、上記実施の形態では、実測画像を2画素間隔で間引くことにより縮小画像が生成されたが、実測画像を間引く間隔は2画素に限られるものではなく、縮小画像に基づいて移動領域を設定可能であれば、3画素以上の間隔で実測画像を間引くことにより、縮小画像が生成されても良い。
また、上記実施の形態では、図2に示すように、距離取得の処理、移動領域設定の処理、および物体の動き検出処理がCPU21の機能により実行されたが、これらの処理が、回路を用いたハードウェア構成により実行されても良い。
図12は、この場合のハードウェア構成を示すブロック図である。図2の距離取得部21b、物体検出部21cが、図12の回路に置き換えられる。
図示の如く、物体検出装置1は、フィルタ処理回路501と、画像サイズ縮小回路502と、マッチング処理回路503と、移動領域判定回路504と、領域抽出回路505と、フィルタ処理回路506と、マッチング処理回路507と、動き検出回路508と、モード判定回路509と、クロック生成回路510とを備える。
撮像信号処理回路23は、CMOSイメージセンサ240により取得されたVGAサイズの実測画像Rをフィルタ処理回路501、領域抽出回路505に出力する。フィルタ処理回路501、画像サイズ縮小回路502、およびマッチング処理回路503は、図10に示す低解像度の距離取得処理(S101〜S105)に相当する処理を実行する。移動領域判定回路504は、図10に示す移動領域設定処理(S106〜S111)に相当する処理を実行する。これにより、実測画像Rにおける移動領域A1の位置情報が領域抽出回路505に出力される。領域抽出回路505は、移動領域判定回路504から出力された移動領域A1の位置情報を保持する。
領域抽出回路505、フィルタ処理回路506、およびマッチング処理回路507は、図11に示す高解像度の距離取得処理(S201〜S203)に相当する処理を実行する。動き検出回路508は、図11に示す物体の動き検出処理(S204〜S212)に相当する処理を実行する。これにより、物体の動きパターンに応じた信号が入出力回路24に出力される。
移動領域判定回路504は、移動領域が判定できた場合、第1の信号をモード判定回路509に出力する。動き検出回路508は、物体の輪郭が検出できなかった場合、物体の動きが検出できない場合、または所定の動きパターンが検出できた場合、第2の信号をモード判定回路509に出力する。
モード判定回路509は、第1の信号を受信したことにより、距離取得のモードを低解像度による距離取得から高解像度による距離取得へと切り替えるべきであると判定し、また、第2信号を受信したことにより、距離取得のモードを高解像度による距離取得かた低解像度による距離取得へと切り替えるべきであると判定する。
モード判定回路509は、判定した距離取得のモード(低解像度または高解像度)に応じて、クロック生成回路510を制御する。クロック生成回路510は、低解像度で距離取得を行うときは、クロック信号を、フィルタ処理回路501、画像サイズ縮小回路502、マッチング処理回路503および移動領域判定回路504に供給し、これらの回路を動作させる。この場合、領域抽出回路505、フィルタ処理回路506、マッチング処理回路507および動き検出回路508にはクロック信号が供給されず、これらの回路は非動作状態とされる。
また、クロック生成回路510は、高解像度で距離取得を行うときは、クロック信号を、領域抽出回路505、フィルタ処理回路506、マッチング処理回路507および動き検出回路508に供給し、これらの回路を動作させる。この場合、フィルタ処理回路501、画像サイズ縮小回路502、マッチング処理回路503および移動領域判定回路50
4にはクロック信号が供給されず、これらの回路は非動作状態とされる。
4にはクロック信号が供給されず、これらの回路は非動作状態とされる。
なお、距離取得の開始時は、上記実施の形態同様、低解像度で距離取得を行うため、モード判定回路509は、フィルタ処理回路501、画像サイズ縮小回路502、マッチング処理回路503、および移動領域判定回路504を駆動させるクロック信号を生成する。また、低解像度による距離取得から高解像度による距離取得へと切り替えられる場合、移動体領域判定回路504から出力された移動領域A1の位置情報が領域抽出回路505に保持される。
本変更例においても、上記実施の形態同様、まず低解像度で距離取得を行い、移動領域を判定してから、高解像度で距離取得を行うことにより、距離取得にかかる演算量を低下することができる。したがって、ハードウェアの回路規模を小さく抑えることができる。
また、本変更例においても、上記実施の形態同様、高解像度の距離取得の処理が実行されている間は、低解像度の距離取得の処理が行われない。
本変更例では、低解像度の距離取得のためにフィルタ処理回路501、マッチング処理回路503が、高解像度の距離取得のためにフィルタ処理回路506、マッチング処理回路507が設けられたが、フィルタ処理回路とマッチング処理回路が共有されても良い。
図13は、この場合のハードウェア構成を示すブロック図である。
図13に示すように、本変更例の場合、図12の場合に比べ、物体検出装置1は、モード判定回路601と、セレクタ602をさらに備える。また、物体検出装置1は、フィルタ処理回路501、506、マッチング処理回路503、507に代えて、フィルタ処理回路603、マッチング処理回路604を備える。
移動領域判定回路504は、移動領域が判定できた場合、第1の信号をモード判定回路601に出力する。動き検出回路508は、物体の輪郭が検出できなかった場合、物体の動きが検出できない場合、または所定の動きパターンが検出できた場合、第2の信号をモード判定回路601に出力する。
モード判定回路601は、第1の信号を受信したことにより、距離取得のモードを低解像度による距離取得から高解像度による距離取得に切り替えるべきであると判定し、また、第2の信号を受信したことにより、距離取得のモードを高解像度による距離取得から低解像度による距離取得へと切り替えるべきであると判定する。モード判定回路601は、判定した距離取得のモード(低解像度または高解像度)に応じた信号をセレクタ602に出力する。
セレクタ602は、モード判定回路601からの信号が低解像度で距離取得を行うことを示す信号であった場合、画像サイズ縮小回路502から入力された縮小画像Sの画素情報をフィルタ処理回路603に出力する。セレクタ602は、モード判定回路601からの信号が高解像度で距離取得を行うことを示す信号であった場合、領域抽出回路505から入力された移動領域A2の範囲の実測画像Rの画素情報をフィルタ処理回路603に出力する。
フィルタ処理回路603は、セレクタ602から出力された画素情報に対して、フィルタ処理を行い、フィルタ後の画素情報をマッチング処理回路604に出力する。マッチング処理回路604は、フィルタ処理回路603から出力された画素情報を用いて距離マッチングを行う。
本変更例の場合、フィルタ処理回路603と、マッチング処理回路604が共用されて、低解像度の距離取得と高解像度の距離取得の処理が実行されるため、さらに、ハードウェアの回路規模を小さく抑えることができる。
なお、本変更例の場合、回路規模を抑えるために、フィルタ処理回路603を共用したが、上述の如く、隣接ドットの画素値を不適正に取得してフィルタ処理が行われることを防ぐために、フィルタ処理回路603に代えて、図12と同様、画像サイズ縮小回路502の前段にフィルタ処理回路501が、領域抽出回路505の後段にフィルタ処理回路506が設けられても良い。
また、上記実施の形態では、実測画像Rの画素を間引くことによって縮小画像Sが生成されたが、ある画素の画素値を、ある画素から所定の範囲内に含まれる画素の画素値を平均した画素値に置き換えることによって、縮小画像Sが生成されても良い。たとえば、実測画像Rの左上隅の画素に縦2画素×横2画素の領域が設定され、左上隅の画素の画素値が、4つの画素の画素値を平均した画素値に置き換えられる。次に、横方向または縦方向に2画素進んだ位置の画素の画素値が、横2画素×縦2画素の領域内に含まれる画素の画素値を平均した画素値に置き換えられる。同様にして、実測画像Rの画素値を2画素おきに平均することにより、縮小画像Sが生成される。
上記実施の形態のように、実測画像Rの画素を間引いて縮小画像Sを生成した場合、間引かれた画素の位置に入射したドットによる画素値の情報が失われることとなる。
これに対し、本変更例では、実測画像のRの画素値を平均して縮小画像Sが生成されるため、ドットによる画素値の情報が失われることを防ぐことができる。なお、本変更例の場合、縮小画像Sに対する距離マッチングには、あらかじめ画素値を平均して生成された基準画像が用いられる。
また、上記実施の形態では、三角測量法を用いて距離情報が求められたが、距離情報の取得方法はこれに限られるものではなく、たとえば、図4(a)を参照して説明した画素ずれ量Dをそのまま距離情報として取得しても良い。
また、上記実施の形態では、基準画像に設定されたセグメント領域を、実測画像上において探索するようにしたが、実測画像上に設定された領域のドットパターンに対応するセグメント領域を、基準画像上で探索するようにしても良い。
また、上記実施の形態では、実測画像上におけるセグメント領域の変位位置を探索し、探索結果に基づいて、距離情報が取得されたが、ドットパターンが所定の規則に従って作製されるような場合は、探索を行わない他の手法に基づいて、距離情報が取得されても良い。
また、上記実施の形態では、目標領域に照射されるレーザ光の波長帯以外の波長帯の光を除去するためにフィルタ230を配したが、たとえば、目標領域に照射されるレーザ光以外の光の信号成分を、CMOSイメージセンサ240から出力される信号から除去する回路構成が配されるような場合には、フィルタ230が省略され得る。
また、上記実施の形態では、受光素子として、CMOSイメージセンサ240を用いたが、これに替えて、CCDイメージセンサを用いることもできる。また、上記実施の形態では、光源として、レーザ光源110を用いたが、これに替えて、LED等の他の光源を用いることもできる。さらに、投射光学系100および受光光学系200の構成も、適宜
変更可能である。
変更可能である。
この他、本発明の実施の形態は、特許請求の範囲に示された技術的思想の範囲内において、適宜、種々の変更が可能である。
1 … 物体検出装置
21b … 距離取得部
21c … 物体検出部(移動領域設定部)
100 … 投射光学系
110 … レーザ光源
140 … DOE(回折光学素子)
200 … 受光光学系
240 … CMOSイメージセンサ(イメージセンサ)
501 … フィルタ処理回路(移動領域設定部)
502 … 画像サイズ縮小回路(移動領域設定部)
503 … マッチング処理回路(移動領域設定部、距離取得部)
504 … 移動領域判定回路(移動領域設定部)
505 … 領域抽出回路(移動領域設定部)
506 … フィルタ処理回路(距離取得部)
507 … マッチング処理回路(距離取得部)
508 … 動き検出回路(物体検出部)
603 … フィルタ処理回路(移動領域設定部、距離取得部)
604 … マッチング処理回路(移動領域設定部、距離取得部)
A1、A2 … 移動領域
P1 … 距離画像(3次元距離情報)
P2 … 距離画像(3次元距離情報)
R … 実測画像
S … 縮小画像
21b … 距離取得部
21c … 物体検出部(移動領域設定部)
100 … 投射光学系
110 … レーザ光源
140 … DOE(回折光学素子)
200 … 受光光学系
240 … CMOSイメージセンサ(イメージセンサ)
501 … フィルタ処理回路(移動領域設定部)
502 … 画像サイズ縮小回路(移動領域設定部)
503 … マッチング処理回路(移動領域設定部、距離取得部)
504 … 移動領域判定回路(移動領域設定部)
505 … 領域抽出回路(移動領域設定部)
506 … フィルタ処理回路(距離取得部)
507 … マッチング処理回路(距離取得部)
508 … 動き検出回路(物体検出部)
603 … フィルタ処理回路(移動領域設定部、距離取得部)
604 … マッチング処理回路(移動領域設定部、距離取得部)
A1、A2 … 移動領域
P1 … 距離画像(3次元距離情報)
P2 … 距離画像(3次元距離情報)
R … 実測画像
S … 縮小画像
Claims (8)
- 所定のドットパターンで光を目標領域に投射する投射光学系と、
前記投射光学系に対して並ぶように配置され、前記目標領域をイメージセンサにより撮像する受光光学系と、
前記イメージセンサによって撮像された実測画像上に検出対象物体の移動領域を設定する移動領域設定部と、
前記移動領域中の実測画像に基づいて3次元距離情報を取得する距離取得部と、
前記3次元距離情報に基づいて前記検出対象物体の動きを検出する物体検出部と、を備える、
ことを特徴とする物体検出装置。 - 請求項1に記載の物体検出装置において、
前記移動領域設定部は、実測画像の画素数を低減した縮小画像に基づいて、前記検出対象物体の移動領域を設定する、
ことを特徴とする物体検出装置。 - 請求項2に記載の物体検出装置において、
前記距離取得部は、前記縮小画像に基づいて、3次元距離情報を取得し、
前記移動領域設定部は、前記縮小画像に基づいて取得された3次元距離情報に基づいて、前記移動領域を設定する、
ことを特徴とする物体検出装置。 - 請求項1ないし3の何れか一項に記載の物体検出装置において、
前記移動領域設定部は、物体検出動作の開始時に、前記移動領域を設定する、
ことを特徴とする物体検出装置。 - 請求項1ないし4の何れか一項に記載の物体検出装置において、
前記移動領域設定部は、前記物体検出部が前記移動領域内において前記検出対象物体を検出できなくなった場合に、前記移動領域を設定する、
ことを特徴とする物体検出装置。 - 請求項1ないし5の何れか一項に記載の物体検出装置において、
前記移動領域設定部は、前記物体検出部が前記移動領域内において前記検出対象物体の動きがないと判定した場合に、前記移動領域を設定する、
ことを特徴とする物体検出装置。 - 請求項1ないし6の何れか一項に記載の物体検出装置において、
前記移動領域設定部は、前記物体検出部が前記検出対象物体の動きが所定の動きパターンに合致したと判定した場合に、前記移動領域を設定する、
ことを特徴とする物体検出装置。 - 請求項1ないし7の何れか一項に記載の物体検出装置において、
前記投射光学系は、レーザ光源と、前記レーザ光源から出射されたレーザ光が入射するコリメータレンズと、前記コリメータレンズを透過したレーザ光を前記ドットパターンのレーザ光に変換する回折光学素子とを含む、
ことを特徴とする物体検出装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013006878A JP2014137762A (ja) | 2013-01-18 | 2013-01-18 | 物体検出装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013006878A JP2014137762A (ja) | 2013-01-18 | 2013-01-18 | 物体検出装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014137762A true JP2014137762A (ja) | 2014-07-28 |
Family
ID=51415208
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013006878A Pending JP2014137762A (ja) | 2013-01-18 | 2013-01-18 | 物体検出装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014137762A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016208216A1 (ja) * | 2015-06-22 | 2016-12-29 | 株式会社村田製作所 | ユーザインタフェース装置および距離センサ |
JP2017009378A (ja) * | 2015-06-19 | 2017-01-12 | 株式会社トヨタマップマスター | 点群データ処理装置、点群データ処理方法、プログラム、および記録媒体 |
JP2018508074A (ja) * | 2015-02-25 | 2018-03-22 | フェイスブック,インク. | 物体によって反射された光の特徴に基づく体積内の物体の識別 |
US20180106598A1 (en) * | 2016-10-14 | 2018-04-19 | Fujitsu Limited | Distance measuring apparatus and distance measuring method |
CN108140358A (zh) * | 2015-09-29 | 2018-06-08 | 富士胶片株式会社 | 附带距离图像获取装置的投影装置以及投影方法 |
WO2021131103A1 (ja) * | 2019-12-24 | 2021-07-01 | ヌヴォトンテクノロジージャパン株式会社 | 距離画像処理装置及び距離画像処理方法 |
WO2022054450A1 (ja) * | 2020-09-14 | 2022-03-17 | ソニーセミコンダクタソリューションズ株式会社 | 信号処理装置、撮像装置、信号処理方法 |
-
2013
- 2013-01-18 JP JP2013006878A patent/JP2014137762A/ja active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018508074A (ja) * | 2015-02-25 | 2018-03-22 | フェイスブック,インク. | 物体によって反射された光の特徴に基づく体積内の物体の識別 |
JP2017009378A (ja) * | 2015-06-19 | 2017-01-12 | 株式会社トヨタマップマスター | 点群データ処理装置、点群データ処理方法、プログラム、および記録媒体 |
WO2016208216A1 (ja) * | 2015-06-22 | 2016-12-29 | 株式会社村田製作所 | ユーザインタフェース装置および距離センサ |
CN108140358A (zh) * | 2015-09-29 | 2018-06-08 | 富士胶片株式会社 | 附带距离图像获取装置的投影装置以及投影方法 |
US20180106598A1 (en) * | 2016-10-14 | 2018-04-19 | Fujitsu Limited | Distance measuring apparatus and distance measuring method |
US10648795B2 (en) * | 2016-10-14 | 2020-05-12 | Fujitsu Limited | Distance measuring apparatus and distance measuring method |
WO2021131103A1 (ja) * | 2019-12-24 | 2021-07-01 | ヌヴォトンテクノロジージャパン株式会社 | 距離画像処理装置及び距離画像処理方法 |
WO2022054450A1 (ja) * | 2020-09-14 | 2022-03-17 | ソニーセミコンダクタソリューションズ株式会社 | 信号処理装置、撮像装置、信号処理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2014137762A (ja) | 物体検出装置 | |
JP5138119B2 (ja) | 物体検出装置および情報取得装置 | |
US10613228B2 (en) | Time-of-flight augmented structured light range-sensor | |
JP6417702B2 (ja) | 画像処理装置、画像処理方法および画像処理プログラム | |
US20150253863A1 (en) | Image Processor Comprising Gesture Recognition System with Static Hand Pose Recognition Based on First and Second Sets of Features | |
US20160259402A1 (en) | Contact detection apparatus, projector apparatus, electronic board apparatus, digital signage apparatus, projector system, and contact detection method | |
JP2016091457A (ja) | 入力装置、指先位置検出方法及び指先位置検出用コンピュータプログラム | |
WO2014108976A1 (ja) | 物体検出装置 | |
US20210148694A1 (en) | System and method for 3d profile determination using model-based peak selection | |
JPWO2012147495A1 (ja) | 情報取得装置および物体検出装置 | |
JP2014044113A (ja) | 情報取得装置および物体検出装置 | |
JP6314688B2 (ja) | 入力装置 | |
JP2016218893A (ja) | 入力操作検出装置、画像表示装置、プロジェクタ装置、プロジェクタシステム、及び入力操作検出方法 | |
US20150003736A1 (en) | Method and apparatus for extracting pattern from image | |
JP2013057541A (ja) | 対象物との相対位置計測方法と装置 | |
JP2017219942A (ja) | 接触検出装置、プロジェクタ装置、電子黒板装置、デジタルサイネージ装置、プロジェクタシステム、接触検出方法、プログラム及び記憶媒体。 | |
JP2013246009A (ja) | 物体検出装置 | |
WO2013015146A1 (ja) | 物体検出装置および情報取得装置 | |
JP6412799B2 (ja) | 形状認識装置及び形状認識方法 | |
EP4350280A1 (en) | Three-dimensional measurement device | |
JP2014025804A (ja) | 情報取得装置および物体検出装置 | |
JP2014085257A (ja) | 情報取得装置および物体検出装置 | |
JP2014035294A (ja) | 情報取得装置および物体検出装置 | |
JP4151624B2 (ja) | 瞳孔検出装置、虹彩認証装置及び瞳孔検出方法 | |
JP7228509B2 (ja) | 識別装置及び電子機器 |