JP2013234956A - 情報取得装置および物体検出装置 - Google Patents
情報取得装置および物体検出装置 Download PDFInfo
- Publication number
- JP2013234956A JP2013234956A JP2012108779A JP2012108779A JP2013234956A JP 2013234956 A JP2013234956 A JP 2013234956A JP 2012108779 A JP2012108779 A JP 2012108779A JP 2012108779 A JP2012108779 A JP 2012108779A JP 2013234956 A JP2013234956 A JP 2013234956A
- Authority
- JP
- Japan
- Prior art keywords
- distance
- search
- search range
- area
- dot pattern
- 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
Images
Abstract
【課題】検出対象物体までの距離情報を、適正かつ効率的に取得可能な情報取得装置および物体検出装置を提供する。
【解決手段】情報取得装置は、レーザ光を所定のドットパターンで目標領域に投射する投射光学系100と、目標領域をCMOSイメージセンサにより撮像する受光光学系200と基準画像に基づく参照テンプレートを保持する記憶部と、基準画像に割り当てられたセグメント領域の、実測画像上における移動位置に基づいて、セグメント領域に対する距離情報を取得する距離取得部と、を備える。距離取得部は、物体の境界が検出されたことに基づいて、探索範囲L0よりも長い探索範囲Llを設定する。
【選択図】図7
【解決手段】情報取得装置は、レーザ光を所定のドットパターンで目標領域に投射する投射光学系100と、目標領域をCMOSイメージセンサにより撮像する受光光学系200と基準画像に基づく参照テンプレートを保持する記憶部と、基準画像に割り当てられたセグメント領域の、実測画像上における移動位置に基づいて、セグメント領域に対する距離情報を取得する距離取得部と、を備える。距離取得部は、物体の境界が検出されたことに基づいて、探索範囲L0よりも長い探索範囲Llを設定する。
【選択図】図7
Description
本発明は、目標領域に光を投射したときの反射光の状態に基づいて目標領域内の物体を検出する物体検出装置および当該物体検出装置に用いて好適な情報取得装置に関する。
従来、光を用いた物体検出装置が種々の分野で開発されている。いわゆる距離画像センサを用いた物体検出装置では、2次元平面上の平面的な画像のみならず、検出対象物体の奥行き方向の形状や動きを検出することができる。かかる物体検出装置では、レーザ光源やLED(Light Emitting Diode)から、予め決められた波長帯域の光が目標領域に投射され、その反射光がCMOSイメージセンサ等の受光素子により受光される。距離画像センサとして、種々のタイプのものが知られている。
所定のドットパターンを持つレーザ光を目標領域に照射するタイプの距離画像センサでは、ドットパターンを持つレーザ光の目標領域からの反射光が受光素子によって受光される。そして、ドットの受光素子上の受光位置に基づいて、三角測量法を用いて、検出対象物体の各部(検出対象物体上の各ドットの照射位置)までの距離が検出される(たとえば、特許文献1、非特許文献1)。
第19回日本ロボット学会学術講演会(2001年9月18−20日)予稿集、P1279−1280
上記物体検出装置では、所定距離だけ離れた位置に基準面を配したときにイメージセンサにより撮像されるドットパターンと、実測時にイメージセンサにより撮像されるドットパターンとが比較されて、距離の検出が行われる。たとえば、基準面に対するドットパターンに複数の領域が設定される。物体検出装置は、各領域に含まれるドットが実測時に撮像したドットパターン上のどの位置に移動したかに基づいて、領域毎に、対象物体までの距離を検出する。すなわち、各領域に含まれるドットと、実測時に撮像したドットパターンとを所定の探索範囲内において照合し、当該探索範囲内において最もマッチングが得られた位置が、各領域の移動位置とされる。
この場合、実測時に撮像したドットパターン上における各領域の探索範囲は、探索時の処理負担を考慮すると、短い方が望ましい。しかしながら、探索範囲を短くすると、検出対象物体までの距離によっては、上記領域に含まれるドットについてマッチングが得られず、距離取得が行えなくなることが起こり得る。
本発明は、この点に鑑みてなされたものであり、検出対象物体までの距離情報を、適正かつ効率的に取得可能な情報取得装置および物体検出装置を提供することを目的とする。
本発明の第1の態様は、光を用いて目標領域の情報を取得する情報取得装置に関する。
本態様に係る情報取得装置は、レーザ光源から出射されたレーザ光を所定のドットパターンで目標領域に投射する投射光学系と、前記投射光学系に対して所定の距離だけ横に離れて並ぶように配置され、前記目標領域をイメージセンサにより撮像する受光光学系と、基準面に前記レーザ光を照射したときに前記受光光学系により撮像された基準ドットパターンに基づく参照情報を保持する記憶部と、実測時に前記イメージセンサにより撮像された実測ドットパターンに基づく実測情報と前記参照情報とを参照し、所定の探索範囲において、前記基準ドットパターンに割り当てられた参照領域の、前記実測ドットパターン上における移動位置の探索を実行し、探索された前記移動位置に基づいて、当該参照領域に対する距離情報を取得する距離取得部と、を備える。前記距離取得部は、既に探索がなされた前記参照領域の探索結果に基づいて、前記探索のための前記探索範囲を設定する。
本態様に係る情報取得装置は、レーザ光源から出射されたレーザ光を所定のドットパターンで目標領域に投射する投射光学系と、前記投射光学系に対して所定の距離だけ横に離れて並ぶように配置され、前記目標領域をイメージセンサにより撮像する受光光学系と、基準面に前記レーザ光を照射したときに前記受光光学系により撮像された基準ドットパターンに基づく参照情報を保持する記憶部と、実測時に前記イメージセンサにより撮像された実測ドットパターンに基づく実測情報と前記参照情報とを参照し、所定の探索範囲において、前記基準ドットパターンに割り当てられた参照領域の、前記実測ドットパターン上における移動位置の探索を実行し、探索された前記移動位置に基づいて、当該参照領域に対する距離情報を取得する距離取得部と、を備える。前記距離取得部は、既に探索がなされた前記参照領域の探索結果に基づいて、前記探索のための前記探索範囲を設定する。
本発明の第2の態様は、物体検出装置に関する。本態様に係る物体検出装置は、上記第1の態様に係る情報取得装置を有する。
本発明によれば、既に探索がなされた前記参照領域の探索結果に基づいて、前記探索のための前記探索範囲が設定されるため、探索範囲の適正化を図ることができる。よって、検出対象物体までの距離情報を、適正かつ効率的に取得可能な情報取得装置および物体検出装置を提供することができる。
本発明の効果ないし意義は、以下に示す実施の形態の説明により更に明らかとなろう。ただし、以下に示す実施の形態は、あくまでも、本発明を実施化する際の一つの例示であって、本発明は、以下の実施の形態により何ら制限されるものではない。
以下、本発明の実施の形態につき図面を参照して説明する。本実施の形態には、所定のドットパターンを持つレーザ光を目標領域に照射するタイプの情報取得装置が例示されている。
まず、図1に本実施の形態に係る物体検出装置の概略構成を示す。図示の如く、物体検出装置は、情報取得装置1と、情報処理装置2とを備えている。テレビ3は、情報処理装置2からの信号によって制御される。
情報取得装置1は、目標領域全体に赤外光を投射し、その反射光をCMOSイメージセンサにて受光することにより、目標領域にある物体各部の距離(以下、「3次元距離情報」という)を取得する。取得された3次元距離情報は、ケーブル4を介して情報処理装置2に送られる。
情報処理装置2は、たとえば、テレビ制御用のコントローラやゲーム機、パーソナルコンピュータ等である。情報処理装置2は、情報取得装置1から受信した3次元距離情報に基づき、目標領域における物体を検出し、検出結果に基づきテレビ3を制御する。
たとえば、情報処理装置2は、受信した3次元距離情報に基づき人を検出するとともに、3次元距離情報の変化から、その人の動きを検出する。たとえば、情報処理装置2がテレビ制御用のコントローラである場合、情報処理装置2には、受信した3次元距離情報からその人のジェスチャを検出するとともに、ジェスチャに応じてテレビ3に制御信号を出力するアプリケーションプログラムがインストールされている。この場合、ユーザは、テレビ3を見ながら所定のジェスチャをすることにより、チャンネル切り替えやボリュームのUp/Down等、所定の機能をテレビ3に実行させることができる。
また、たとえば、情報処理装置2がゲーム機である場合、情報処理装置2には、受信した3次元距離情報からその人の動きを検出するとともに、検出した動きに応じてテレビ画面上のキャラクタを動作させ、ゲームの対戦状況を変化させるアプリケーションプログラムがインストールされている。この場合、ユーザは、テレビ3を見ながら所定の動きをすることにより、自身がテレビ画面上のキャラクタとしてゲームの対戦を行う臨場感を味わうことができる。
図2は、情報取得装置1と情報処理装置2の構成を示す図である。
情報取得装置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から入射されたレーザ光を、放射状に広がるドットパターンのレーザ光として、目標領域に照射する。ドットパターンの各ドットの大きさは、DOE140に入射する際のレーザ光のビームサイズに応じたものとなる。
目標領域から反射されたレーザ光は、アパーチャ210を介して撮像レンズ220に入射する。
アパーチャ210は、撮像レンズ220のFナンバーに合うように、外部からの光に絞りを掛ける。撮像レンズ220は、アパーチャ210を介して入射された光をCMOSイメージセンサ240上に集光する。フィルタ230は、レーザ光源110の出射波長(830nm程度)を含む赤外の波長帯域の光を透過し、可視光の波長帯域をカットするIRフィルタ(Infrared Filter)である。
CMOSイメージセンサ240は、撮像レンズ220にて集光された光を受光して、画素毎に、受光量に応じた信号(電荷)を撮像信号処理回路23に出力する。ここで、CMOSイメージセンサ240は、各画素における受光から高レスポンスでその画素の信号(電荷)を撮像信号処理回路23に出力できるよう、信号の出力速度が高速化されている。
CPU21は、メモリ25に格納された制御プログラムに従って各部を制御する。かかる制御プログラムによって、CPU21には、レーザ光源110を制御するためのレーザ制御部21aと、3次元距離情報を生成するための距離取得部21bと、距離を算出するための探索範囲を補正する探索範囲補正部21cの機能が付与される。
レーザ駆動回路22は、CPU21からの制御信号に応じてレーザ光源110を駆動する。
撮像信号処理回路23は、CMOSイメージセンサ240を制御して、CMOSイメージセンサ240で生成された各画素の信号(電荷)をライン毎に順次取り込む。そして、取り込んだ信号を順次CPU21に出力する。CPU21は、撮像信号処理回路23から供給される信号(撮像信号)をもとに、情報取得装置1から検出対象物の各部までの距離を、距離取得部21bによる処理によって算出する。また、この際、CPU21は、メモリ25に記憶された距離情報テーブルTの距離取得結果に応じて、距離を算出するための探索範囲を、探索範囲補正部21cによる処理によって補正して探索を実行する。入出力回路24は、情報処理装置2とのデータ通信を制御する。
情報処理装置2は、CPU31と、入出力回路32と、メモリ33を備えている。なお、情報処理装置2には、同図に示す構成の他、テレビ3との通信を行うための構成や、CD−ROM等の外部メモリに格納された情報を読み取ってメモリ33にインストールするためのドライブ装置等が配されるが、便宜上、これら周辺回路の構成は図示省略されている。
CPU31は、メモリ33に格納された制御プログラム(アプリケーションプログラム)に従って各部を制御する。かかる制御プログラムによって、CPU31には、画像中の物体を検出するための物体検出部31aの機能が付与される。かかる制御プログラムは、たとえば、図示しないドライブ装置によってCD−ROMから読み取られ、メモリ33にインストールされる。
たとえば、制御プログラムがゲームプログラムである場合、物体検出部31aは、情報取得装置1から供給される3次元距離情報から画像中の人およびその動きを検出する。そして、検出された動きに応じてテレビ画面上のキャラクタを動作させるための処理が制御
プログラムにより実行される。
プログラムにより実行される。
また、制御プログラムがテレビ3の機能を制御するためのプログラムである場合、物体検出部31aは、情報取得装置1から供給される3次元距離情報から画像中の人およびその動き(ジェスチャ)を検出する。そして、検出された動き(ジェスチャ)に応じて、テレビ3の機能(チャンネル切り替えやボリューム調整、等)を制御するための処理が制御プログラムにより実行される。
入出力回路32は、情報取得装置1とのデータ通信を制御する。
投射光学系100と受光光学系200の設置間隔は、情報取得装置1と目標領域の基準面との距離に応じて、設定される。どの程度離れた目標物を検出対象とするかによって、基準面と情報取得装置1との間の距離が変わる。検出対象の目標物までの距離が近くなるほど、投射光学系100と受光光学系200の設置間隔は狭くなる。逆に、検出対象の目標物までの距離が遠くなるほど、投射光学系100と受光光学系200の設置間隔は広くなる。
図3(a)は、目標領域に対するレーザ光の照射状態を模式的に示す図、図3(b)は、CMOSイメージセンサ240におけるレーザ光の受光状態を模式的に示す図である。なお、図3(b)には、便宜上、目標領域に平坦な面(スクリーン)とスクリーンの前に人物が存在するときの受光状態が示されている。
図3(a)に示すように、投射光学系100からは、ドットパターンを持ったレーザ光(以下、このパターンを持つレーザ光の全体を「DP光」という)が、目標領域に照射される。図3(a)には、DP光の光束領域が実線の枠によって示されている。DP光の光束中には、DOE140による回折作用により生成されるドット領域(以下、単に「ドット」という)が、DOE140による回折作用によるドットパターンに従って点在している。
目標領域に平坦な面(スクリーン)が存在すると、これにより反射されたDP光は、図3(b)のように、CMOSイメージセンサ240上に分布する。
図3(b)には、CMOSイメージセンサ240上のDP光の全受光領域が破線の枠によって示され、CMOSイメージセンサ240の撮像有効領域に入射するDP光の受光領域が実線の枠によって示されている。CMOSイメージセンサ240の撮像有効領域は、CMOSイメージセンサ240がDP光を受光した領域のうち、センサとして信号を出力する領域であり、たとえば、VGA(横640画素×縦480画素)のサイズである。また、同図(a)に示す目標領域上におけるDt0の光は、CMOSイメージセンサ240上では、同図(b)に示すDt’0の位置に入射する。スクリーンの前の人物の像は、CMOSイメージセンサ240上では、上下左右が反転して撮像される。
ここで、図4、図5を参照して、上記距離検出の方法を説明する。
図4は、上記距離検出手法に用いられる参照パターンの設定方法を説明する図である。
図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以降の図においても同様である。
こうして設定された参照パターン領域に対して、所定の大きさを有する複数のセグメント領域が設定される。セグメント領域の大きさは、得られる距離情報による物体の輪郭抽出精度、CPU21に対する距離検出の演算量の負荷および後述する距離検出手法によるエラー発生率を考慮して決定される。本実施の形態では、セグメント領域の大きさは、横15画素×縦15画素に設定される。
図4(c)を参照して、参照パターン領域に設定されるセグメント領域について説明する。なお、図4(c)には、便宜上、各セグメント領域の大きさが横9画素×縦9画素で示され、各セグメント領域の中央の画素が×印で示されている。
セグメント領域は、図4(c)に示すように、隣り合うセグメント領域が参照パターン領域に対してX軸方向およびY軸方向に1画素間隔で並ぶように設定される。すなわち、あるセグメント領域は、このセグメント領域のX軸方向およびY軸方向に隣り合うセグメント領域に対して1画素ずれた位置に設定される。このとき、各セグメント領域には、固有のパターンでドットが点在する。よって、セグメント領域内の画素値のパターンは、セグメント領域毎に異なっている。隣り合うセグメント領域の間隔が狭いほど、参照パターン領域内に含まれるセグメント領域の数が多くなり、目標領域の面内方向(X−Y平面方向)における距離検出の分解能が高められる。
こうして、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’の変位方向と変位量をもとに、投射光学系100からDP光(DPn)が照射された物体の部分までの距離Lrが、距離Lsを用いて、三角測量法に基づき算出される。同様にして、他のセグメント領域に対応する物体の部分について、投射光学系100からの距離が算出される。かかる算出手法の詳細は、たとえば、上記非特許文献1(第19回日本ロボット学会学術講演会(2001年9月18−2
0日)予稿集、P1279−1280)に示されている。
0日)予稿集、P1279−1280)に示されている。
かかる距離算出では、参照テンプレートのセグメント領域Snが、実測時においてどの位置に変位したかを検出する。この検出は、実測時にCMOSイメージセンサ240上に照射されたDP光から得られたドットパターンと、セグメント領域Snに含まれるドットパターンとを照合することによって行われる。以下、実測時にCMOSイメージセンサ240上の撮像有効領域に照射されたDP光から得られた全画素値からなる画像を、「実測画像」と称する。実測時のCMOSイメージセンサ240の撮像有効領域は、基準画像取得時と同様に、たとえば、VGA(横640画素×縦480画素)のサイズである。
図5(a)〜(e)は、かかる距離検出の手法を説明する図である。図5(a)は、CMOSイメージセンサ240上における基準画像に設定された参照パターン領域を示す図であり、図5(b)は、実測時のCMOSイメージセンサ240上の実測画像を示す図であり、図5(c)〜(e)は、実測画像に含まれるDP光のドットパターンと、参照テンプレートのセグメント領域に含まれるドットパターンとの照合方法を説明する図である。なお、便宜上、図5(a)、(b)には、一部のセグメント領域のみが示されており、図5(c)〜(e)には、各セグメント領域の大きさが、横9画素×縦9画素で示されている。また、図5(b)の実測画像には、便宜上、図3(b)のように、検出対象物体として基準面より前に人物が存在しており、人物の像が写り込んでいることが示されている。
図5(a)のセグメント領域Siの実測時における変位位置を探索する場合、図5(b)に示すように、実測画像上に、セグメント領域Siに対して探索領域Riが設定される。探索領域Riは、X軸方向に所定の幅を持っている。セグメント領域Siが探索領域Riにおいて1画素ずつX軸方向に送られ、各送り位置において、セグメント領域Siのドットパターンと実測画像上のドットパターンとが比較される。以下、実測画像上の各送り位置に対応する領域を、「比較領域」と称する。探索領域Riには、セグメント領域Siと同じサイズの比較領域が複数設定され、X軸方向に隣り合う比較領域は互いに1画素ずれている。
探索領域Riの幅は、検出対象物体が基準面よりも情報取得装置1に対して離れる方向、および近づく方向にどの程度の距離を検出可能な範囲とするかによって決定される。図5中では、基準画像上のセグメント領域Siの画素位置に対応する実測画像上の画素位置(中心画素位置)から、X軸負方向にx画素ずれた位置からX軸正方向にx画素ずれた範囲(以下、「探索範囲L0」という)においてセグメント領域Siが送られるように探索領域Riが設定されている。
本実施の形態では、距離検出にかかる演算量を考慮して、通常時においては、探索範囲を距離検出精度の限界よりも短くし、中心画素位置から−10画素ずれた位置から+10画素ずれた位置までの範囲が探索範囲L0に設定される。なお、距離検出精度限界まで探索範囲を広くする場合は、中心画素位置から−30画素ずれた位置から+30画素ずれた位置までの範囲が探索範囲Lmに設定される。
距離検出時には、探索領域Riにおいてセグメント領域SiをX軸方向に1画素ずつ送りながら、各送り位置において、参照テンプレートに記憶されているセグメント領域Siのドットパターンと、実測画像のDP光のドットパターンのマッチング度合いが求められる。このようにセグメント領域Siを探索領域Ri内においてX軸方向にのみ送るのは、上記のように、通常、参照テンプレートにより設定されたセグメント領域のドットパターンは、実測時において、X軸方向の所定の範囲内でのみ変位するためである。
なお、実測時には、検出対象物体の位置によっては、セグメント領域に対応するドット
パターンが実測画像からX軸方向にはみ出すことが起こり得る。たとえば、参照パターン領域のX軸負側のセグメント領域S1に対応するドットパターンが、基準面よりも遠距離の物体に反射された場合、セグメント領域S1に対応するドットパターンは、実測画像よりもX軸負方向に位置づけられる。この場合、セグメント領域に対応するドットパターンは、CMOSイメージセンサ240の撮像有効領域内にないため、このセグメント領域については、適正にマッチングを行うことができない。しかし、このような端のセグメント領域以外については、適正にマッチングを行うことができるため、物体の距離検出への影響は少ない。
パターンが実測画像からX軸方向にはみ出すことが起こり得る。たとえば、参照パターン領域のX軸負側のセグメント領域S1に対応するドットパターンが、基準面よりも遠距離の物体に反射された場合、セグメント領域S1に対応するドットパターンは、実測画像よりもX軸負方向に位置づけられる。この場合、セグメント領域に対応するドットパターンは、CMOSイメージセンサ240の撮像有効領域内にないため、このセグメント領域については、適正にマッチングを行うことができない。しかし、このような端のセグメント領域以外については、適正にマッチングを行うことができるため、物体の距離検出への影響は少ない。
なお、端の領域についても、適正にマッチングを行う場合には、実測時のCMOSイメージセンサ240の撮像有効領域を、基準画像取得時のCMOSイメージセンサ240の撮像有効領域よりも、大きくすることができるものを用いれば良い。たとえば、基準画像取得時において、VGA(横640画素×縦480画素)のサイズで撮像有効領域が設定された場合、実測時においては、それよりもX軸正方向およびX軸負方向に30画素分大きいサイズで撮像有効領域を設定する。これにより、実測画像が基準画像よりも大きくなるが、端のセグメント領域についても、適正にマッチングを行うことができる。
上記マッチング度合いの検出時には、まず、参照パターン領域の各画素の画素値と実測画像の各セグメント領域の各画素の画素値が2値化されて、メモリ25に保持される。たとえば、基準画像および実測画像の画素値が8ビットの階調の場合、0〜255の画素値のうち、所定の閾値以上の画素が、画素値1に、所定の閾値未満の画素が、画素値0に変換されて、メモリ25に保持される。その後、比較領域とセグメント領域Siとの間の類似度が求められる。すなわち、セグメント領域Siの各画素の画素値と、比較領域の対応する画素の画素値との差分が求められる。そして、求めた差分を比較領域の全ての画素について加算した値Rsadが、類似度を示す値として取得される。
たとえば、図5(c)のように、一つのセグメント領域中に、n列×m行の画素が含まれている場合、セグメント領域のi列、j行の画素の画素値T(i,j)と、比較領域のi列、j行の画素の画素値I(i,j)との差分が求められる。そして、セグメント領域の全ての画素について差分が求められ、その差分の総和により、図5(c)に示す式の値Rsadが求められる。値Rsadが小さい程、セグメント領域と比較領域との間の類似度が高い。
こうして、図5(d)に示すように、セグメント領域Siについて、探索領域Riの全ての比較領域に対して値Rsadが求められる。図5(e)は、探索領域Riの各送り位置における値Rsadが模式的に示されたグラフである。セグメント領域Siについて、探索領域Riの全ての比較領域に対して値Rsadが求められると、まず、求めた値Rsadの中から、最小値Bt1が参照される。次に、求めた値Rsadの中から、2番目に小さい値Bt2が参照される。最小値Bt1と2番目に小さい値Bt2の位置が2画素以上離れた位置であり、且つ、その差分値Esが閾値未満であれば、セグメント領域Siの探索はエラーとされる。他方、差分値Esが閾値以上であれば、最小値Bt1に対応する比較領域Ciが、セグメント領域Siの移動領域と判定される。
たとえば、図5(d)のように、セグメント領域Siに対応する比較領域Ciは、基準画像上のセグメント領域Siの画素位置と同位置の実測画像上の画素位置Si0よりもX軸正方向にα画素ずれた位置で検出される。これは、基準面よりも近い位置に存在する検出対象物体(人物)によって、実測画像上のDP光のドットパターンが基準画像上のセグメント領域Si0よりもX軸正方向に変位したためである。以下、最小値Bt1の位置を、ボトム位置と称する。なお、セグメント領域Siの大きさが大きいほど、セグメント領域Siに含まれるドットパターンのユニーク性が増し、上記エラーの発生率が減少する。
たとえば、セグメント領域Siの大きさが横15画素×縦15画素に設定されると、通常、距離検出がエラーとなることは少なく、適正にマッチングを行うことができる。
たとえば、セグメント領域Siの大きさが横15画素×縦15画素に設定されると、通常、距離検出がエラーとなることは少なく、適正にマッチングを行うことができる。
こうして、実測時に取得されたDP光のドットパターンから、各セグメント領域の変位位置が探索されると、上記のように、その変位位置に基づいて、三角測量法により、各セグメント領域に対応する検出対象物体の部位までの距離が求められる。
このようにして、セグメント領域S1〜セグメント領域Snまで全てのセグメント領域について、上記同様のセグメント領域の探索が行われる。
なお、上記のマッチング度合いの検出方法は一例であり、これに限られるものではない。たとえば、上記では、値Rsadの最小値Bt1とBt2の差分値が最も小さくなる画素位置を、セグメント領域に対応する領域としたが、値Rsadの最小値の画素位置が、セグメント領域に対応する領域としても良い。この場合、値Rsadの最小値が所定の閾値以上の場合、セグメント領域の探索がエラーとされる。
上述のように、本実施の形態では、探索範囲L0は、中心画素位置から−10画素ずれた位置から+10画素ずれた位置までの範囲が設定される。しかし、たとえば、セグメント領域に対応する実測画像上のドットパターンが中心画素位置から−10よりも小さい画素位置、または、+10よりも大きい画素位置で検出されるような場合、探索範囲L0内にボトム位置が含まれず、適正に距離検出を行うことができない。この場合、探索範囲L0の幅を広げることによって、ボトム位置が探索範囲内に含まれることとなり、適正に距離検出し得る。しかし、探索範囲を必要以上に大きくすると距離検出にかかる演算処理が増大する。
他方、実測画像上におけるセグメント領域の位置が大きく変動する領域をある程度予測できれば、その領域においてのみ、探索範囲を大きくすることによって、距離検出にかかる演算量を抑えつつ、適正に距離検出を行うことができる。
ここで、実測画像上におけるセグメント領域の位置が大きく変動する領域は、ある程度予測可能である。
たとえば、背景と検出対象物体、および人物の肩と手等の境界部分においては、前後方向(Z軸方向)の距離情報が大きく変わる。以下、このような、距離が大きく変化する物体と物体の境界部分を単に「境界」とも称する。このような境界を含む領域においては、近距離の物体によって反射されたドットパターンと、遠距離の物体によって反射されたドットパターンが混在するため、セグメント領域のドットパターンとの照合が一部できなくなり、Rsadの最小値は、大きなものとなる。また、このような境界を含む領域では、物体によって、ドットパターンの一部が遮られ、またはCMOSイメージセンサ240によってドットパターンの一部を撮像できず、Rsadの最小値は、さらに劣化したものとなる。このように、境界位置に近いセグメント領域ほど、Rsadの最小値は徐々に大きくなるものと想定される。したがって、Rsadの最小値の劣化度合いをモニタすることにより、距離が大きく変動する境界位置のセグメント領域を検出することができるものと推測される。
また、たとえば、物体や壁面等が、情報取得装置1に対して、水平でなく、傾いており、前後方向(Z軸方向)の距離情報が連続して遠ざかる、または近づくように変化する場合が想定され得る。このような場合、既に検出した距離情報の変化傾向から、次のセグメント領域も、同様の傾向で距離が変化すると想定することできる。このように、距離情報の変化傾向をモニタすることにより、斜面等、距離が連続して距離が変動するセグメント
領域を検出することができる。
領域を検出することができる。
そこで、本実施の形態では、このような距離が変動する領域において、探索範囲を広く設定して、探索を実行する。他方、このような距離が変動する領域でない場合は、探索範囲をある程度小さく設定して、探索を実行する。さらに、距離検出できなかった場合は、上記のような要因以外の要因により、セグメント領域に対応する位置が、距離が大きく変化する位置にあると想定し、距離検出精度の限界まで、探索範囲を広くして、探索を再度実行する。
以下、Rsadの最小値の劣化度合いから境界を検出して、探索範囲を変化させる例を実施例1、既に検出した距離情報の変化傾向から距離の変動を想定し、探索範囲を変化させる例を実施例2として、具体的に説明する。
<実施例1>
図6は、境界位置の領域を検出したタイミングにおいて、探索範囲を広げて距離取得を行う処理を示すフローチャートである。図6の処理のうち、距離取得にかかる処理は、図2のCPU21の距離取得部21b、探索範囲の設定にかかる処理は、図2のCPU21の探索範囲補正部21cの機能によって行われる。
図6は、境界位置の領域を検出したタイミングにおいて、探索範囲を広げて距離取得を行う処理を示すフローチャートである。図6の処理のうち、距離取得にかかる処理は、図2のCPU21の距離取得部21b、探索範囲の設定にかかる処理は、図2のCPU21の探索範囲補正部21cの機能によって行われる。
図7(a)は、参照パターン領域の所定の画素位置に設定されるセグメント領域S(r)と、そのX軸方向に隣り合うセグメント領域S(r+1)〜S(r+3)を示す模式図、図7(b)は、投射光学系100と受光光学系200をY軸方向から見た模式図である。また、図7(c)〜図7(g)は、セグメント領域の探索範囲と、差分値Rsadのグラフを示す模式図である。図7(b)には、セグメント領域S(r+1)に対応する領域とセグメント領域S(r+1)に隣り合うセグメント領域S(r)、S(r+2)に対応する領域が示されている。なお、図7(a)、(b)では、便宜上、隣り合うセグメント領域が、互いに重なり合わないように、簡略化して示されている。
図7(b)に示す例では、基準面の位置と、基準面よりも遠距離の位置にXY平面にX−Y平面に平行な検出対象物体A、Bが示されている。これらの検出対象物体A、B間の距離差は、ある程度大きいものの、検出対象物体A、Bと壁面との距離差よりは非常に小さい。セグメント領域S(r+1)に対応する領域には、境界を跨ぐようにDP光が照射されるため、近距離の検出対象物体Aによって反射されたドットパターンと、遠距離の検出対象物体Bによって反射されたドットパターンの両方が混在している。また、セグメント領域S(r+1)に隣り合うセグメント領域S(r)に対応する領域には、近距離の検出対象物体Aによって反射されたドットパターンが、セグメント領域S(r+1)に隣り合うセグメント領域S(r+2)に対応する領域には、遠距離の検出対象物体Bによって反射されたドットパターンが含まれている。
以下、図6のフローチャートにおける処理について、図7に示す具体例を参照しながら説明する。図6のフローチャートにおいて、距離取得の対象とされるセグメント領域は、セグメント領域S(i)である。
図6を参照して、CPU21は、まず、物体の境界位置を含むセグメント領域を検出したことを示す境界フラグがメモリ25にセットされているか否かを判定する(S101)。そして、CPU21は、境界フラグがセットされていない場合(S101:NO)、処理をS111に進め、境界フラグがセットされている場合(S101:YES)、処理をS121に進める。たとえば、図7(b)において、セグメント領域S(r)から一つ手前のセグメント領域に対応する領域(破線で示された領域)は、距離が異なる物体の境界に掛からないため、セグメント領域S(r)の距離検出時には、境界フラグはセットされ
てない。この場合、S101において、NOと判定され、処理S111に進められる。
てない。この場合、S101において、NOと判定され、処理S111に進められる。
S111において、CPU21は、所定のセグメント領域S(i)について、通常の探索範囲L0で距離取得を行う。通常の探索範囲L0は、上述のように、距離検出にかかる演算量を考慮して、−10画素〜10画素の範囲が設定される。たとえば、図7(c)に示すように、セグメント領域S(r)について距離取得が行われる場合、セグメント領域S(r)と探索範囲L0内の各比較領域との差分値Rsadが演算され、演算された差分値Rsadのうち、差分値Rsadが最小値となる位置の位置p0からの画素ずれ量に応じた距離が当該セグメント領域S(r)の距離情報として、取得される。これにより、図7(b)に示すように、基準面の位置に配された検出対象物体Aのセグメント領域S(r)に対応する位置における距離情報が得られる。ここでは、先行セグメント領域における距離検出において、物体の境界が含まれると判定されていなかったため、−10画素〜10画素のある程度短い探索範囲L0で探索が実行される。
そして、CPU21は、セグメント領域S(i)について、通常の探索範囲L0で距離取得が成功したか否かを判定する(S112)。距離取得に成功した場合(S112:YES)、CPU21は、処理をS115に進める。距離取得に失敗し、エラーとなった場合(S112:NO)、CPU21は、セグメント領域S(i)について、距離検出精度の限界まで探索範囲を広くした全探索範囲Lmで距離取得を行う(S113)。これにより、物体の境界以外において、距離が大きく変わったような場合においても、適正に距離検出を行うことができる。そして、CPU21は、セグメント領域S(i)について、全探索範囲Lmで距離取得が成功したか否かを判定する(S114)。距離取得に成功した場合(S114:YES)、CPU21は、処理をS115に進める。距離取得に失敗し、エラーとなった場合(S114:NO)、CPU21は、処理をS116に進める。
セグメント領域S(i)について、通常の探索範囲L0もしくは、全探索範囲Lmで距離取得に成功すると(S112:YES、S114:YES)、CPU21は、次のセグメント領域の探索時における探索範囲の中心を、セグメント領域S(i)の画素ずれ量に対応する位置に設定する(S115)。たとえば、図7(c)に示すセグメント領域S(r)の場合、画素ずれ量0が取得されるため、図7(d)に示す次のセグメント領域S(r+1)の場合でも、探索範囲の中心位置は、位置p0のままである。仮に、セグメント領域S(r)における画素ずれ量が−3である場合、セグメント領域S(r+1)に対する探索範囲の中心位置は、位置p0から−3だけずれた位置に設定される。
通常、物体の境界以外については、Z軸方向の距離情報は大きく変わらないことが多いため、このように、距離取得に応じて、探索範囲の中心を移動させることによって、短い探索範囲に設定しても、この探索範囲内の比較領域とマッチングが得られる可能性が高い。したがって、境界以外の領域においては、ある程度短い探索範囲を設定し、探索範囲の中心を直前の距離取得結果に応じて、移動させることにより、少ない演算処理で効率的に距離取得を行うことができる。
こうして、境界フラグがセットされていないセグメント領域について、距離取得処理が完了すると、CPU21は、距離取得のために演算したRsadの最小値Rsmが所定の閾値Rshを超えているか否かを判定する(S116)。閾値Rshは、あらかじめ、メモリ25に、物体の境界と判定し得るRsadの大きさの値がセットされている。Rsadの最小値Rsmが閾値Rshを超えている場合(S116:YES)、CPU21は、当該セグメント領域S(i)が境界を含むことを示す境界フラグをメモリ25にセットする(S117)。Rsadの最小値Rsmが閾値Rsh以下の場合(S116:NO)、CPU21は、当該セグメント領域S(i)の次のセグメント領域があるか否かを判定する(S102)。次のセグメント領域がある場合(S102:YES)、CPU21は、
処理をS101に戻し、次のセグメント領域がない場合(S102:NO9)、CPU21は、距離取得の処理を完了する。こうして、全てのセグメント領域について、距離取得の処理が繰り返される。
処理をS101に戻し、次のセグメント領域がない場合(S102:NO9)、CPU21は、距離取得の処理を完了する。こうして、全てのセグメント領域について、距離取得の処理が繰り返される。
たとえば、図7(b)に示すセグメント領域S(r)について距離取得が行われる場合、セグメント領域S(r)に対応する領域は、検出対象物体Aの境界に掛からない。このため、図7(c)に示すように、Rsadの最小値は、閾値Rshを超えず、境界フラグはセットされない。これに対し、図7(b)に示すセグメント領域S(r+1)について距離取得が行われる場合、対応する領域は、検出対象物体Aの境界に掛かっている。このため、検出対象物体Aによって反射されたドットパターンと、検出対象物体Bによって反射されたドットパターンが混在し、異なる距離のドットパターンが混在したドットパターンが、CMOSイメージセンサ240により撮像される。これにより、図7(d)に示すように、画素ずれ量0の位置と、画素ずれ量−αの位置の2つの位置において、Rsadの値がやや小さくなる。
このように、セグメント領域S(r+1)におけるRsadの最小値は、異なる距離のドットパターンが混在することにより、1つの距離のドットパターンのみが含まれるセグメント領域の場合よりも、大きくなる。これにより、セグメント領域S(r+1)におけるRsadの最小値は、閾値Rshを超える。したがって、セグメント領域S(r+1)においては、Rsadの最小値に基づいて、互いに異なる複数の距離が含まれた物体の境界に、セグメント領域S(r+1)に対応する領域が掛かっていることを検出することができる。この場合、S116において、YESと判定され、S117において、境界フラグがメモリ25にセットされる。そして、次のセグメント領域S(r+2)にかかる処理では、S101において、YESと判定され、S121以降の処理が行われる。
なお、境界において、最小値のRsadの値が閾値Rshよりも大きい場合であっても、上記の距離検出にかかるエラー条件に合致しなければ、距離が取得され得る。図7(d)の場合、−α画素ずれの位置において、Rsadの値が小さくなっているものの、−α画素ずれの位置が探索範囲L0に含まれないため、0画素ずれの位置がボトム位置として、検出され、0画素ずれに対応する検出対象物体Aの距離が当該セグメント領域S(r+1)の距離として、取得される。
図6に戻り、所定のセグメント領域において、境界フラグがセットされた場合(S101:YES)、CPU21は、境界フラグがセットされた次のセグメント領域について通常の探索範囲L0よりも長い探索範囲Llで距離取得を行う(S121)。たとえば、図7(b)に示すセグメント領域S(r+2)について距離取得が行われる場合、一つ前のセグメント領域S(r+1)の距離取得において、物体の境界との判定がなされたため、距離が大きく変化することを想定して、−10画素〜10画素の探索範囲L0よりも長い探索範囲Llで探索が実行される。ここで、探索範囲Llには、距離検出精度の限界である全探索範囲Lmよりも短い−20画素〜20画素が設定される。
こうして、セグメント領域S(r+2)について距離取得が行われる場合には、図7(e)に示すように、位置p0を中心として、やや長い探索範囲Llで探索が実行される。これにより、セグメント領域S(r+2)は、遠距離に配された検出対象物体Bによって、−α画素の位置に位置付けられたドットパターンと照合することができ、適正に距離検出を行うことができる。
通常、物体と背景(壁面等)の境界であれば、距離情報が大きく変わる。さらに、そのほか物体内の各領域においても、距離情報はある程度大きく変わり得る。たとえば、図7(b)の検出対象物体Aの位置が人物の手の位置、検出対象物体Bの位置が人物の肩の部
分とすると、人物の手(検出対象物体A)と、人物の肩(検出対象物体B)との距離の変化は、人物と壁面との距離の差よりも、小さい。通常、物体内の各領域における距離の変化は、物体と背景の距離の変化よりも小さい。また、物体が人物等、複雑な形状をしている場合、物体内における境界の発生頻度は、物体と背景の境界の発生頻度よりも高いことが想定される。したがって、上記のように、物体の境界が検出されたことに応じて、通常の探索範囲L0よりも長く、且つ、全探索範囲Lmよりも短い探索範囲Llを設定することにより、特に、同一物体内の境界の位置において、演算量を抑えつつ、効率的に距離検出を行うことができる。
分とすると、人物の手(検出対象物体A)と、人物の肩(検出対象物体B)との距離の変化は、人物と壁面との距離の差よりも、小さい。通常、物体内の各領域における距離の変化は、物体と背景の距離の変化よりも小さい。また、物体が人物等、複雑な形状をしている場合、物体内における境界の発生頻度は、物体と背景の境界の発生頻度よりも高いことが想定される。したがって、上記のように、物体の境界が検出されたことに応じて、通常の探索範囲L0よりも長く、且つ、全探索範囲Lmよりも短い探索範囲Llを設定することにより、特に、同一物体内の境界の位置において、演算量を抑えつつ、効率的に距離検出を行うことができる。
そして、CPU21は、セグメント領域S(i)について、長い探索範囲Llで距離取得が成功したか否かを判定する(S122)。距離取得に成功した場合(S122:YES)、CPU21は、処理をS125に進める。距離取得に失敗し、エラーとなった場合(S122:NO)、CPU21は、セグメント領域S(i)について、距離検出精度の限界まで探索範囲を広くした全探索範囲Lmで距離取得を行う(S123)。これにより、物体の境界以外の要因で距離が大きく変わった場合においても、適正に距離検出を行うことができる。そして、CPU21は、セグメント領域S(i)について、全探索範囲Lmで距離取得が成功したか否かを判定する(S124)。距離取得に成功した場合(S124:YES)、CPU21は、処理をS125に進める。距離取得に失敗し、エラーとなった場合(S124:NO)、CPU21は、処理をS126に進める。
セグメント領域S(i)について、長い探索範囲Llもしくは、全探索範囲Lmで距離取得に成功すると(S122:YES、S124:YES)、CPU21は、次のセグメント領域の探索時における探索範囲の中心を、セグメント領域S(i)の画素ずれ量に対応する位置に設定する(S125)。たとえば、図7(e)に示すセグメント領域S(r+2)の場合、画素ずれ量−αが取得されるため、図7(f)に示す次のセグメント領域S(r+3)の場合において、探索範囲の中心位置が位置p1に設定される。
こうして、物体の境界が検出され、境界フラグがセットされたセグメント領域の次のセグメント領域について、距離取得が完了すると、CPU21は、距離取得のために演算したRsadの最小値Rsmが所定の閾値Rsh以下であるか否かを判定する(S126)。Rsadの最小値Rsmが閾値Rsh以下の場合(S126:YES)、CPU21は、当該セグメント領域は、境界を抜けたと判定し、メモリ25の境界フラグをリセットする(S127)。Rsadの最小値Rsmが閾値Rshを超える場合(S126:NO)、CPU21は、次のセグメント領域があるか否かを判定する(S102)。そして、次のセグメント領域がある場合(S102:YES)、CPU21は、処理をS101に戻し、次のセグメント領域がない場合(S102:NO9)、CPU21は、距離取得の処理を完了する。こうして、全てのセグメント領域について、距離取得の処理が繰り返される。
たとえば、図7(b)に示すセグメント領域S(r+3)について距離取得が行われる場合、対応する領域からのドットパターンには、検出対象物体Bによって反射されたドットパターンのみが含まれるため、図7(e)に示すように、Rsadの最小値は、閾値Rshを超えず、境界フラグがリセットされる。こうして、図7(g)に示すように、次のセグメント領域S(r+3)では、通常の探索範囲L0で距離取得が行われる。なお、境界フラグがセットされ、長い探索範囲Llで距離取得しても、後続のセグメント領域において、図7(d)に示すように、Rsadの最小値が閾値Rshを超えることが起こり得る。この場合は、境界フラグがリセットされず、後続のセグメント領域において、Rsadの最小値が閾値Rsh以下となるまで、長い探索範囲Llでの距離取得が繰り返される。このように、距離が大きく変化する可能性のある境界付近では、長い探索範囲Llで探索が実行され、境界を超えると、再度、通常の探索範囲L0に戻して距離取得が行われる
ため、演算量を抑えつつ、効率的に距離取得を行うことができる。
ため、演算量を抑えつつ、効率的に距離取得を行うことができる。
<実施例1の効果>
上記実施例1によれば、以下の効果が奏され得る。
上記実施例1によれば、以下の効果が奏され得る。
距離が大きく変化する可能性のある物体の境界付近では、探索範囲を長い探索範囲Llに広げて距離取得が行われるため、互いに離れた位置にある物体の境界を含む領域であっても、適正に距離取得を行うことができる。
また、物体の境界以外では、ある程度短い探索範囲L0で距離取得が行われるため、距離検出にかかる演算量を抑えることができる。
また、長い探索範囲Llに広げて距離取得を行った後、Rsadの最小値が小さくなると、再度、通常の探索範囲L0で距離取得が行われるため、距離検出にかかる演算量の増大を抑えることができる。
また、長い探索範囲Llに広げて距離取得を行った後、距離取得に成功した場合、セグメント領域の画素ずれ量に応じて、次のセグメント領域に対する探索範囲の中心位置が設定されるため、より適正に探索範囲を設定することができる。
さらに、長い探索範囲Llに広げて距離取得を行った後、距離取得に失敗した場合、距離検出精度の限界の全探索範囲Lmまで広げて距離取得が行われるため、物体の境界以外の要因で距離が大きく変わった場合においても、適正に距離検出を行うことができる。
<実施例2>
上記実施例1では、Rsadの最小値の劣化度合いから物体の境界を検出して、探索範囲を広げたが、実施例2では、既に検出した距離情報の変化傾向から、距離の変動を想定して、探索範囲を変化させる。
上記実施例1では、Rsadの最小値の劣化度合いから物体の境界を検出して、探索範囲を広げたが、実施例2では、既に検出した距離情報の変化傾向から、距離の変動を想定して、探索範囲を変化させる。
図8は、距離情報の変化傾向に応じて、探索範囲を広げて距離取得を行う処理を示すフローチャートである。図8の処理のうち、距離取得にかかる処理は、図2のCPU21の距離取得部21b、探索範囲の設定にかかる処理は、図2のCPU21の探索範囲補正部21cの機能によって行われる。
図9は、距離情報の変化傾向を得るために、メモリ25に保持される距離情報テーブルTを示す図である。距離情報テーブルTには、横軸がセグメント領域のX座標、縦軸がセグメント領域のY座標を示す2次元配列であり、各要素には、その座標のセグメント領域の距離検出結果であるボトム位置の画素ずれ量が格納される。ここでは、p列、q行の位置にあるセグメント領域(p、q)が、距離取得の対象とされる場合の例が示されており、距離情報テーブルTには、セグメント領域(p、q)に対してX軸方向に連続するt個のセグメント領域(p−1、q)〜(p−t、q)の画素ずれ量が格納される。
図10(a)は、参照パターン領域の所定の画素位置に設定されるセグメント領域S(i)と、そのX軸負方向に隣り合うセグメント領域S(i−1)〜S(i−3)を示す模式図、図10(b)は、投射光学系100と受光光学系200をY軸方向から見た模式図である。また、図10(c)は、セグメント領域S(i−1)の探索範囲と、差分値Rsadのグラフを示す模式図、図10(d)〜(f)は、セグメント領域S(i)の探索範囲と差分値Rsadのグラフを示す模式図である。なお、図10(a)では、便宜上、隣り合うセグメント領域が、互いに重なり合わないように、簡略化して示されている。また、図10(b)には、セグメント領域S(i)、S(i−1)〜S(i−3)に対応する
領域が示されている。
領域が示されている。
図10(b)に示す例では、基準面の位置よりも近距離の位置にXY平面に平行な検出対象物体Aと、基準面よりも遠距離の位置にXZ平面の面内方向に傾いた壁面が示されている。セグメント領域S(i)、S(i−1)〜S(i−3)に対応する領域には、壁面によって反射されたドットパターンが含まれている。壁面は、X軸正方向に向かって、徐々に検出対象物体から遠ざかっている。
以下、図8のフローチャートにおける処理について、図10に示す具体例を参照しながら説明する。図8のフローチャートにおいて、距離取得の対象とされるセグメント領域は、セグメント領域S(i)であり、セグメント領域S(i−k)は、セグメント領域S(i)よりもk回前に距離取得の対象とされたセグメント領域である。
図8を参照して、CPU21は、まず、図9に示す距離情報テーブルTからt個分のセグメント領域S(i−1)〜S(i−t)の距離取得結果(画素ずれ量)を取得する(S201)。そして、CPU21は、距離情報テーブルTから、X軸方向に連続するt個分の全てのセグメント領域についての画素ずれ量が取得できたか否かを判定する(S202)。X軸方向に連続するt個分の全てのセグメント領域について画素ずれ量が取得できなかった場合(S202:NO)、CPU21は、通常の探索範囲L0で距離取得を行う(S203)。実施例2では、通常の探索範囲L0は、−10画素〜10画素の範囲が設定される。たとえば、参照パターン領域の左端(X軸負方向)のセグメント領域や、距離検出に失敗し、エラーとなった場合は、通常の探索範囲L0で距離取得が行われる。
X軸方向に連続するt個分の全てのセグメント領域について画素ずれ量が取得できた場合(S202:YES)、CPU21は、各セグメント領域間の画素ずれ量の変位Δd1〜Δdt−1を演算する(S204)。たとえば、図9に示すようにセグメント領域S(i−2)の画素ずれ量−6と、セグメント領域S(i−1)の画素ずれ量−7の場合、これらの変位Δd1は、−1となる。すなわち、セグメント領域S(i−2)、S(i−1)の変位は、負に変位しており、徐々に距離が遠ざかっていることがわかる。同様にして、X軸方向に連続するt個分の各セグメント領域間の画素ずれ量の変位Δd1〜Δdt−1が演算される。
そして、CPU21は、演算した全ての変位Δd1〜Δdt−1が正であるか否か(S205)、負であるか否かを判定する(S206)。全ての変位が正の場合(S205:YES)、CPU21は、セグメント領域S(i)について、探索範囲L0を正の方向に平均変位Δdだけ広げた探索範囲Lpで距離取得を行う(S207)。なお、平均変位Δdは、S204で演算した全ての変位Δd1〜Δdt−1の平均変位の絶対値である。全ての変位が負の場合(S205:NO、S206:YES)、セグメント領域S(i)について、探索範囲L0を負の方向に平均変位Δdだけ広げた探索範囲Lnで距離取得を行う(S208)。変位Δd1〜Δdt−1の正負の符号が全て同一でない場合(S205:NO、S206:NO)、CPU21は、セグメント領域S(i)について、通常の探索範囲L0で距離取得を行う(S203)。
たとえば、tが3に設定される場合、図10(a)、(b)に示す、セグメント領域S(i)のX軸負方向に連続するセグメント領域S(i−1)〜S(i−3)については、負の変位が得られる。この場合の平均変位が1とすると、図10(d)に示すように、セグメント領域S(i)では、通常の探索範囲L0からX軸負方向に1だけ広げた、−11画素〜10画素の範囲の探索範囲Lnが設定される。逆に、物体が徐々に情報取得装置1に近づくような傾向が得られた場合は、X軸正方向に探索範囲が広げられ、たとえば、−10画素〜11画素の範囲の探索範囲Lwが設定される。これにより、距離の変化の傾向
に応じて、あらかじめ、探索範囲が広げて探索が実行されるため、ボトム位置が探索範囲から外れにくくなり、適正に距離取得を行うことができる。
に応じて、あらかじめ、探索範囲が広げて探索が実行されるため、ボトム位置が探索範囲から外れにくくなり、適正に距離取得を行うことができる。
こうして、セグメント領域S(i)について、距離取得が完了すると、CPU21は、距離取得が成功したか否かを判定する(S209)。S203、または、S207もしくはS208において、距離取得に成功した場合(S209:YES)、CPU21は、処理をS212に進める。距離取得に失敗し、エラーとなった場合(S209:NO)、CPU21は、セグメント領域S(i)について、距離検出精度の限界まで探索範囲を広くした全探索範囲Lmで距離取得を行う(S210)。これにより、X軸方向に連続したセグメント領域の距離の変化傾向によらないで、距離が大きく変わった場合においても、適正に距離検出を行うことができる。そして、CPU21は、セグメント領域S(i)について、全探索範囲Lmで距離取得が成功したか否かを判定する(S211)。距離取得に成功した場合(S211:YES)、CPU21は、処理をS212に進める。距離取得に失敗し、エラーとなった場合(S211:NO)、CPU21は、処理をS213に進める。
セグメント領域S(i)について、距離取得に成功すると(S209:YES、S211:YES)、CPU21は、次のセグメント領域の探索時における探索範囲の中心を、セグメント領域S(i)の画素ずれ量に対応する位置に設定する(S212)。そして、CPU21は、セグメント領域S(i)の距離取得結果(画素ずれ量)を距離情報テーブルTにセットする(S213)。なお、距離取得がエラーの場合は、エラーを示す所定の値が距離情報テーブルTにセットされる。その後、CPU21は、当該セグメント領域S(i)の次のセグメント領域があるか否かを判定する(S214)。次のセグメント領域がある場合(S214:YES)、CPU21は、処理をS201に戻し、次のセグメント領域がない場合(S214:NO)、CPU21は、距離取得の処理を完了する。こうして、全てのセグメント領域について、距離取得の処理が繰り返される。
なお、S207〜208では、X軸方向に連続するセグメント領域の画素ずれ量に応じて、探索範囲が広げられたが、図10(e)に示すように、探索範囲の中心を移動させても良い。図10(e)の場合、セグメント領域S(i−1)の画素ずれ量−αにΔaを加算した位置p2に、探索範囲L0の中心が位置付けられる。この場合、探索範囲が広げられないため、演算量が増加することなく、画素ずれ量の傾向に応じて、適正に距離検出を行うことができる。
<実施例2の効果>
上記実施例2によれば、以下の効果が奏され得る。
上記実施例2によれば、以下の効果が奏され得る。
距離の変化傾向に応じて、探索範囲を広げて距離取得が行われるため、斜面や階段状になっているような複数の距離情報が含まれる領域であっても、適正に距離取得を行うことができる。
また、距離が変動しない平坦な領域では、ある程度短い探索範囲L0で距離取得が行われるため、距離検出にかかる演算量を抑えることができる。
また、探索範囲を広げて距離取得を行った後、距離取得に成功した場合、セグメント領域の画素ずれ量に応じて、次のセグメント領域に対する探索範囲の中心位置が設定されるため、より適正に探索範囲を設定することができる。
さらに、探索範囲を広げて距離取得を行った後、距離取得に失敗した場合、距離検出精度の限界の探索範囲Lmまで広げて距離取得が行われるため、X軸方向に連続したセグメ
ント領域の距離の変化傾向によらないで、距離が大きく変わった場合においても、適正に距離検出を行うことができる。
ント領域の距離の変化傾向によらないで、距離が大きく変わった場合においても、適正に距離検出を行うことができる。
以上、本発明の実施の形態について説明したが、本発明は、上記実施の形態に何ら制限されるものではなく、また、本発明の実施の形態も上記の他に種々の変更が可能である。
たとえば、上記実施例1では、長い探索範囲Llで距離取得を行った後、距離取得に失敗すると、距離検出精度の限界まで探索範囲を広げた全探索範囲Lmで距離取得が行われたが、探索範囲Llをさらに広げた探索範囲で距離取得を行う処理を所定回数繰り返した後に、全探索範囲Lmで距離取得が行われても良い。
また、上記実施例1では、Rsadの最小値Rsmが閾値Rshを超えた場合に、セグメント領域に対応する領域に境界が含まれると判断したが、その他の条件によって、物体の境界位置を判断しても良い。たとえば、図7(d)に示すように、Rsadのグラフにおいて、Rsadの値が低くなる位置が2箇所できた場合に、物体の境界であると判断しても良い。この場合、上記実施例1の場合よりも、より正確に物体の境界を判定して、セグメント領域の探索範囲を設定することができる。
また、上記実施例1では、通常の探索範囲L0は、−10画素〜10画素のある程度の短い探索範囲が設定されたが、通常の探索範囲L0を全探索範囲Lmと同様に−30画素〜30画素に設定されても良い。この場合、セグメント領域の取得結果の傾向から、通常の探索範囲L0から探索範囲を短くし、その後、上記実施例1のように、探索範囲を広げる処理が行われても良い。
また、上記実施例1、2では、全探索範囲Lmは、−30画素〜30画素が適用されたが、Z軸方向の距離検出精度に応じて、その他の画素数であっても良い。
また、上記実施例1、2では、探索対象のセグメント領域に対する探索範囲の中心が、1回前の探索時におけるセグメント領域の画素ずれ量に対応する位置に設定されたが、これに代えて、探索対象のセグメント領域に対応する実測画像上の位置から、1回前の探索時におけるセグメント領域の画素ずれ量だけシフトさせた位置に、探索対象のセグメント領域に対する探索範囲の中心を設定しても良い。たとえば、1回前の探索時における画素ずれ量が−αである場合、探索対象のセグメント領域に対する探索範囲の中心は、当該セグメント領域に対応する実測画像上の位置pを−αだけシフトさせた位置に設定される。この他、既に探索が行われた複数のセグメント領域の画素ずれ量を平均化する等、他の方法で取得された画素ずれ量を探索範囲の中心の設定のために用いても良く、セグメント領域の移動傾向を取得し、取得した移動傾向に応じた画素ずれ量だけ、実測画像上の位置pをずらした位置に、探索対象のセグメント領域に対する探索範囲の中心が設定されれば良い。
また、上記実施例2では、X軸方向に連続するセグメント領域の距離取得結果(画素ずれ量)の変位から、距離の変動を推測したが、Y軸方向に連続するセグメント領域の距離取得結果の変位から、距離の変動を推測しても良い。さらに、X軸方向、Y軸方向の両方を考慮して、距離の変動を推測しても良い。
また、上記実施例2では、距離取得結果に応じて、X軸正方向、またはX軸負方向に広げた探索範囲Lw、Lnで距離取得が行われたが、X軸正方向、およびX軸負方向の両方に広げた探索範囲で距離取得が行われても良い。
また、上記実施例2では、セグメント領域の画素ずれ量に応じて、1画素から、探索範
囲が広げられたが、画素ずれ量の変位が所定の閾値を超えた場合にのみ、探索範囲が広げられても良い。この場合、距離が大きく変動すると想定される場合にのみ、探索範囲を広げることができ、距離検出にかかる演算量を抑えることができる。
囲が広げられたが、画素ずれ量の変位が所定の閾値を超えた場合にのみ、探索範囲が広げられても良い。この場合、距離が大きく変動すると想定される場合にのみ、探索範囲を広げることができ、距離検出にかかる演算量を抑えることができる。
また、上記実施例1と実施例2では、それぞれ、物体の境界に応じて探索範囲を広げる処理と、距離の変動傾向から探索範囲を広げる処理が示されたが、これらの処理が同時に適用されても良い。
また、上記実施の形態では、隣り合うセグメント領域が互いに重なるように、セグメント領域が設定されたが、左右に隣り合うセグメント領域が、互いに重ならないように、セグメント領域が設定されても良く、また、上下に隣り合うセグメント領域が、互いに重ならないように、セグメント領域が設定されても良い。また、上下左右に隣り合うセグメント領域のずれ量は、1画素に限られるものではなく、ずれ量が他の画素数に設定されても良い。また、上記実施の形態では、セグメント領域の大きさが横15画素×縦15画素に設定されたが、検出精度に応じて、任意に設定可能である。さらに、上記実施の形態では、セグメント領域は、正方形状に設定されたが、長方形であっても良い。
また、上記実施の形態では、セグメント領域と比較領域のマッチング率を算出する前に、セグメント領域と比較領域に含まれる画素の画素値を2値化したが、CMOSイメージセンサ240によって得られた画素値をそのまま用いて、マッチングしても良い。また、上記実施の形態では、CMOSイメージセンサ240によって得られた画素値をそのまま2値化したが、画素値について、所定の画素の重みづけ処理、および背景光の除去処理、等の補正処理を行った後に、2値化、もしくは多値化しても良い。
また、上記実施の形態では、三角測量法を用いて距離情報が求められ、メモリ27に記憶されたが、物体の輪郭抽出を主目的とするような場合は、三角測量法を用いた距離を演算せずに、セグメント領域の変位量(画素ずれ量)が距離情報として取得されても良い。
また、上記実施の形態では、目標領域に照射されるレーザ光の波長帯以外の波長帯の光を除去するためにフィルタ230を配したが、たとえば、目標領域に照射されるレーザ光以外の光の信号成分を、CMOSイメージセンサ240から出力される信号から除去する回路構成が配されるような場合には、フィルタ230を省略することができる。また、アパーチャ210の配置位置は、何れか2つの撮像レンズの間であっても良い。
また、上記実施の形態では、受光素子として、CMOSイメージセンサ240を用いたが、これに替えて、CCDイメージセンサを用いることもできる。さらに、投射光学系100および受光光学系200の構成も、適宜変更可能である。また、情報取得装置1と情報処理装置2は一体化されても良いし、情報取得装置1と情報処理装置2がテレビやゲーム機、パーソナルコンピュータと一体化されても良い。
本発明の実施の形態は、特許請求の範囲に示された技術的思想の範囲内において、適宜、種々の変更が可能である。
1 … 情報取得装置
21 … CPU(距離取得部)
21b … 距離取得部
21c … 探索範囲補正部(距離取得部)
23 … 撮像信号処理回路(距離取得部)
100 … 投射光学系
110 … レーザ光源
200 … 受光光学系
240 … CMOSイメージセンサ(イメージセンサ)
S1〜Sn … セグメント領域(参照領域)
L0 … 探索範囲(第1探索範囲)
Ll … 探索範囲(第2探索範囲)
Lm … 探索範囲(第2探索範囲)
Ln … 探索範囲(第2探索範囲)
Lw … 探索範囲(第2探索範囲)
21 … CPU(距離取得部)
21b … 距離取得部
21c … 探索範囲補正部(距離取得部)
23 … 撮像信号処理回路(距離取得部)
100 … 投射光学系
110 … レーザ光源
200 … 受光光学系
240 … CMOSイメージセンサ(イメージセンサ)
S1〜Sn … セグメント領域(参照領域)
L0 … 探索範囲(第1探索範囲)
Ll … 探索範囲(第2探索範囲)
Lm … 探索範囲(第2探索範囲)
Ln … 探索範囲(第2探索範囲)
Lw … 探索範囲(第2探索範囲)
Claims (10)
- 光を用いて目標領域の情報を取得する情報取得装置において、
レーザ光源から出射されたレーザ光を所定のドットパターンで目標領域に投射する投射光学系と、
前記投射光学系に対して所定の距離だけ横に離れて並ぶように配置され、前記目標領域をイメージセンサにより撮像する受光光学系と、
基準面に前記レーザ光を照射したときに前記受光光学系により撮像された基準ドットパターンに基づく参照情報を保持する記憶部と、
実測時に前記イメージセンサにより撮像された実測ドットパターンに基づく実測情報と前記参照情報とを参照し、所定の探索範囲において、前記基準ドットパターンに割り当てられた参照領域の、前記実測ドットパターン上における移動位置の探索を実行し、探索された前記移動位置に基づいて、当該参照領域に対する距離情報を取得する距離取得部と、を備え、
前記距離取得部は、既に探索がなされた前記参照領域の探索結果に基づいて、前記探索のための前記探索範囲を設定する、
ことを特徴とする情報取得装置。 - 請求項1に記載の情報取得装置において、
前記距離取得部は、前記探索結果に基づいて、前記実測ドットパターン上における探索位置を設定し、当該探索位置に、前記探索のための前記探索範囲を設定する、
ことを特徴とする情報取得装置。 - 請求項2に記載の情報取得装置において、
前記距離取得部は、前記基準ドットパターンに割り当てられた各参照領域に対する前記探索の実行順において1回前の探索時に探索された前記移動位置に、前記探索位置を設定する、
ことを特徴とする情報取得装置。 - 請求項2に記載の情報取得装置において、
前記距離取得部は、前記基準ドットパターンに割り当てられた各参照領域に対する前記探索の実行順において1回前の探索時における前記参照領域の移動量を取得し、距離取得の対象とされる前記参照領域に対応する前記実測ドットパターン上の位置から前記移動量だけずらされた位置に、前記探索位置を設定する、
ことを特徴とする情報取得装置。 - 請求項2に記載の情報取得装置において、
前記距離取得部は、前記基準ドットパターンに割り当てられた各参照領域に対する前記探索の実行順において複数回前までの探索時の前記探索結果に基づいて、前記実測ドットパターン上における前記参照領域の移動傾向を取得し、距離取得の対象とされる前記参照領域に対応する前記実測ドットパターン上の位置から前記移動傾向に従ってずらされた位置に、前記探索位置を設定する、
ことを特徴とする情報取得装置。 - 請求項1ないし3の何れか一項に記載の情報取得装置において、
前記距離取得部は、前記探索結果に基づいて、距離情報の取得対象とされる前記参照領域に対応するドットパターンが、物体上の、距離が変化する境界領域に照射されると判定したとき、前記探索のための前記探索範囲として、所定幅の第1探索範囲に代えて、前記所定幅よりも長い幅の第2探索範囲を設定する、
ことを特徴とする情報取得装置。 - 請求項6に記載の情報取得装置において、
前記距離取得部は、既に探索がなされた前記セグメント領域の前記実測ドットパターンに対するマッチング度合いが所定の閾値よりも低下したことに基づいて、前記探索のための前記探索範囲として、前記第1探索範囲に代えて前記第2探索範囲を設定する、
ことを特徴とする情報取得装置。 - 請求項6または7に記載の情報取得装置において、
前記距離取得部は、前記第2探索範囲によって前記距離情報を取得できなかった場合、前記第2探索範囲を更に広げた探索範囲により、前記探索を再度実行する、
ことを特徴とする情報取得装置。 - 請求項6ないし8の何れか一項に記載の情報取得装置において、
前記距離取得部は、前記基準ドットパターンに割り当てられた各参照領域に対する前記探索の実行順において複数回前までの探索時の前記探索結果に基づいて、既に探索がなされた前記参照領域の前記実測ドットパターン上における移動傾向を取得し、前記探索範囲の設定中心位置に対して、前記移動傾向に応じた方向の長さが他方の長さよりも長くなるよう、前記第2探索範囲を設定する、
ことを特徴とする情報取得装置。 - 請求項1ないし9の何れか一項に記載の情報取得装置を有する物体検出装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012108779A JP2013234956A (ja) | 2012-05-10 | 2012-05-10 | 情報取得装置および物体検出装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012108779A JP2013234956A (ja) | 2012-05-10 | 2012-05-10 | 情報取得装置および物体検出装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013234956A true JP2013234956A (ja) | 2013-11-21 |
Family
ID=49761187
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012108779A Pending JP2013234956A (ja) | 2012-05-10 | 2012-05-10 | 情報取得装置および物体検出装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013234956A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017223461A (ja) * | 2016-06-13 | 2017-12-21 | パナソニックIpマネジメント株式会社 | レーダ装置および検出方法 |
CN114383510A (zh) * | 2020-10-06 | 2022-04-22 | 原相科技股份有限公司 | 光学感测系统以及光学导航系统 |
-
2012
- 2012-05-10 JP JP2012108779A patent/JP2013234956A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017223461A (ja) * | 2016-06-13 | 2017-12-21 | パナソニックIpマネジメント株式会社 | レーダ装置および検出方法 |
CN114383510A (zh) * | 2020-10-06 | 2022-04-22 | 原相科技股份有限公司 | 光学感测系统以及光学导航系统 |
CN114383510B (zh) * | 2020-10-06 | 2024-03-15 | 原相科技股份有限公司 | 光学感测系统以及光学导航系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5138119B2 (ja) | 物体検出装置および情報取得装置 | |
JP5214062B1 (ja) | 情報取得装置および物体検出装置 | |
JP5138116B2 (ja) | 情報取得装置および物体検出装置 | |
JP2014122789A (ja) | 情報取得装置、投射装置および物体検出装置 | |
WO2014108976A1 (ja) | 物体検出装置 | |
JP5143312B2 (ja) | 情報取得装置、投射装置および物体検出装置 | |
JP2014137762A (ja) | 物体検出装置 | |
JP2014044113A (ja) | 情報取得装置および物体検出装置 | |
JP2012237604A (ja) | 情報取得装置、投射装置および物体検出装置 | |
WO2013046927A1 (ja) | 情報取得装置および物体検出装置 | |
JP5143314B2 (ja) | 情報取得装置および物体検出装置 | |
JP5138115B2 (ja) | 情報取得装置及びその情報取得装置を有する物体検出装置 | |
WO2012144340A1 (ja) | 情報取得装置および物体検出装置 | |
JP2013234956A (ja) | 情報取得装置および物体検出装置 | |
JP2014085257A (ja) | 情報取得装置および物体検出装置 | |
JP2013246009A (ja) | 物体検出装置 | |
JP2014021017A (ja) | 情報取得装置および物体検出装置 | |
JP2014025804A (ja) | 情報取得装置および物体検出装置 | |
JP2014035294A (ja) | 情報取得装置および物体検出装置 | |
WO2013046928A1 (ja) | 情報取得装置および物体検出装置 | |
JP2013234957A (ja) | 情報取得装置および物体検出装置 | |
JP2013246010A (ja) | 情報取得装置および物体検出装置 | |
WO2013031447A1 (ja) | 物体検出装置および情報取得装置 | |
JP2014085282A (ja) | 情報取得装置および物体検出装置 | |
JP2014106000A (ja) | 情報取得装置および物体検出装置 |