(58)【調査した分野】(Int.Cl.,DB名)
プロジェクタによりパターンを対象物に投影しつつ、前記プロジェクタとは異なる位置に設置されたカメラで対象物を撮像し、前記カメラの撮像画像に基づいて、前記対象物の位置情報を取得する位置情報取得方法であって、
前記カメラが撮像画像を撮像する露光時間内に前記プロジェクタが前記対象物に投影するパターンを切り替えながら、前記カメラで前記対象物を撮像する撮像工程と、
前記撮像画像に写るパターンと、前記プロジェクタで投影された異なるパターンのうち一つとの対応付けを行うことにより、前記対象物の奥行き又は速度情報を取得する情報取得工程と、
を含む位置情報取得方法。
プロジェクタによりパターンを対象物に投影しつつ、前記プロジェクタとは異なる位置に設置されたカメラで対象物を撮像し、前記カメラの撮像画像に基づいて、前記対象物の位置情報を取得するコンピュータを、
前記カメラが撮像画像を撮像する露光時間内に前記プロジェクタが前記対象物に投影するパターンを切り替えながら、前記カメラで前記対象物を撮像する制御手段、
前記撮像画像に写るパターンと、前記プロジェクタで投影された異なるパターンのうち一つとの対応付けを行うことにより、前記対象物の奥行き又は速度情報を取得する情報取得手段、
として機能させるプログラム。
【発明の概要】
【発明が解決しようとする課題】
【0010】
上述のような従来システムは、通常の撮像動作では捉えきれないぐらい高速に移動する物体の動きや形状を計測するのは困難であるか、高速に移動する物体の動きや形状を捉えるために特殊な機器を必要とするものであった。
【0011】
本発明は、上記実情に鑑みてなされたものであり、通常の撮像動作では捉えきれないぐらい高速に移動する物体の位置情報を高精度に取得することができる位置情報取得システム、位置情報取得方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0012】
上記目的を達成するため、本発明の第1の観点に係る位置情報取得システムは、
撮像素子、光学系及びシャッタを有し、前記シャッタを露光時間開いて前記光学系を介して前記撮像素子により対象物を撮像するカメラと、
前記カメラとは異なる位置に設置され、パターンを前記対象物に投影するプロジェクタと、
前記カメラの撮像画像に基づいて、前記対象物の位置情報を取得する情報取得部と、
を備え、
前記露光時間内で、前記プロジェクタが前記対象物に投影するパターンを、異なるパターンに順次切り替えつつ、前記カメラで前記対象物を撮像し、
前記情報取得部は、前記撮像画像に写るパターンと、前記プロジェクタで投影された異なるパターンのうち一つとの対応付けを行うことにより、前記対象物の奥行き又は速度情報を取得する。
【0014】
また、前記情報取得部は、前記撮像画像に写るパターンを構成する全てのパターンについて、前記対象物の奥行き又は速度情報を取得する、
こととしてもよい。
【0015】
本発明の第2の観点に係る位置情報取得システムは、
撮像素子、光学系及びシャッタを有し、前記シャッタを露光時間開いて前記光学系を介して前記撮像素子により対象物を撮像するカメラと、
前記カメラとは異なる位置に設置され、パターンを前記対象物に投影するプロジェクタと、
前記カメラの撮像画像に基づいて、前記対象物の位置情報を取得する情報取得部と、
を備え、
前記露光時間内で、前記プロジェクタが前記対象物に投影するパターンを、異なるパターンに順次切り替えつつ、前記カメラで前記対象物を撮像し、
前記情報取得部は、前記プロジェクタで投影されたパターンを合成し、
合成されたパターンと、
前記撮像画像に写るパターンとのマッチングにより、前記対象物の奥行き又は速度情報を取得する
。
【0016】
前記情報取得部は、対応する奥行きが異なるパターンを合成し、
それぞれのパターンに対応する位置に基づいて、前記対象物の奥行き又は速度情報を取得する、
こととしてもよい。
【0017】
前記情報取得部は、前記撮像画像に写るパターンを、前記合成されたパターンを構成する個々のパターンにそれぞれ分解し、
分解されたパターン毎に、前記対象物の位置を検出することにより、前記対象物の奥行き又は速度情報を検出する、
こととしてもよい。
【0018】
本発明の第3の観点に係る位置情報取得システムは、
撮像素子、光学系及びシャッタを有し、前記シャッタを露光時間開いて前記光学系を介して前記撮像素子により対象物を撮像するカメラと、
前記カメラとは異なる位置に設置され、パターンを前記対象物に投影するプロジェクタと、
前記カメラの撮像画像に基づいて、前記対象物の位置情報を取得する情報取得部と、
前記対象物の位置と、前記カメラの撮像画像に写るパターンとが関連付けられて記憶されるデータベースと、
を備え、
前記露光時間内で、前記プロジェクタが前記対象物に投影するパターンを、異なるパターンに順次切り替えつつ、前記カメラで前記対象物を撮像し、
前記情報取得部は、前記撮像画像に写るパターンと、前記データベースに記憶されたパターンとのマッチングにより、前記対象物の奥行き又は速度情報を取得する
。
【0019】
本発明の第4の観点に係る位置情報取得システムは、
撮像素子、光学系及びシャッタを有し、前記シャッタを露光時間開いて前記光学系を介して前記撮像素子により対象物を撮像するカメラと、
前記カメラとは異なる位置に設置され、パターンを前記対象物に投影するプロジェクタと、
前記カメラの撮像画像に基づいて、前記対象物の位置情報を取得する情報取得部と、
を備え、
前記露光時間内で、前記プロジェクタが前記対象物に投影するパターンを、異なるパターンに順次切り替えつつ、前記カメラで前記対象物を撮像し、
前記情報取得部は、前記プロジェクタと前記カメラの位置関係を示す情報を用いて、三角測量法により、前記撮像画像内のパターンの位置から前記対象物の奥行き又は速度情報を算出する
。
【0020】
前記情報取得部は、
前記対象物の位置の計測可能範囲から広い間隔で選択された位置に対応するパターンを前記データベースから幾つか抽出しつつ、抽出されたパターンと前記撮像画像に写るパターンとのマッチングを行って、前記撮像画像に写るパターンに近いパターンに対応する基準位置を探索し、
前記計測可能範囲よりも狭く前記基準位置を基準とする範囲内の位置に対応するパターンを前記データベースから幾つか抽出しつつ、抽出されたパターンと前記撮像画像に写るパターンとのマッチングを行って、前記撮像画像に写るパターンに最も近いパターンを探索し、探索されたパターンに対応する位置を検出する、
こととしてもよい。
【0021】
本発明の第5の観点に係る位置情報取得システムは、
撮像素子、光学系及びシャッタを有し、前記シャッタを露光時間開いて前記光学系を介して前記撮像素子により対象物を撮像するカメラと、
前記カメラとは異なる位置に設置され、パターンを前記対象物に投影するプロジェクタと、
前記カメラの撮像画像に基づいて、前記対象物の位置情報を取得する情報取得部と、
前記露光時間内に前記プロジェクタで投影されたパターンの組み合わせによる合成パターンを記憶する記憶部と、
を備え、
前記露光時間内で、前記プロジェクタが前記対象物に投影するパターンを、異なるパターンに順次切り替えつつ、前記カメラで前記対象物を撮像し、
前記情報取得部は、前記対象物の位置情報の取得に先だって、
前記撮像画像に写るパターンと、前記記憶部に記憶された合成パターンとのマッチングにより、前記撮像画像が撮像された露光時間内に前記プロジェクタにより投影されたパターンの組み合わせを特定する
。
【0022】
本発明の第6の観点に係る位置情報取得システムは、
撮像素子、光学系及びシャッタを有し、前記シャッタを露光時間開いて前記光学系を介して前記撮像素子により対象物を撮像するカメラと、
前記カメラとは異なる位置に設置され、パターンを前記対象物に投影するプロジェクタと、
前記カメラの撮像画像に基づいて、前記対象物の位置情報を取得する情報取得部と、
を備え、
前記露光時間内で、前記プロジェクタが前記対象物に投影するパターンを、異なるパターンに順次切り替えつつ、前記カメラで前記対象物を撮像し、
前記プロジェクタが投影するパターンには、パターンの識別情報が含まれ、
前記情報取得部は、前記対象物の位置情報の取得に先だって、
前記撮像画像に写る識別情報に基づいて、前記撮像画像が撮像された露光時間内に前記プロジェクタにより投影されたパターンの組み合わせを特定する
。
【0023】
前記露光時間内に、前記対象物に投影される複数のパターンは、それぞれランダムに生成されたパターンである、
こととしてもよい。
【0024】
前記対象物に投影されるパターンは、
ドットパターン、グリッドパターン又は前記プロジェクタと前記カメラとによって仮想的に定義されるエピポーラ線と交差するラインパターンである、
こととしてもよい。
【0025】
前記露光時間内に、前記対象物に投影される複数のパターンは、それぞれ特徴空間において互いに直交するパターンである、
こととしてもよい。
【0026】
本発明の第
7の観点に係る位置情報取得方法は、
プロジェクタによりパターンを対象物に投影しつつ、前記プロジェクタとは異なる位置に設置されたカメラで対象物を撮像し、前記カメラの撮像画像に基づいて、前記対象物の位置情報を取得する位置情報取得方法であって、
前記カメラが撮像画像を撮像する露光時間内に前記プロジェクタが前記対象物に投影するパターンを切り替えながら、前記カメラで前記対象物を撮像する撮像工程と、
前記撮像画像に写るパターンと、前記プロジェクタで投影された異なるパターンのうち一つとの対応付けを行うことにより、前記対象物の奥行き又は速度情報を取得する情報取得工程と、
を含む。
本発明の第8の観点に係る位置情報取得方法は、
プロジェクタによりパターンを対象物に投影しつつ、前記プロジェクタとは異なる位置に設置されたカメラで対象物を撮像し、前記カメラの撮像画像に基づいて、前記対象物の位置情報を取得する位置情報取得方法であって、
前記カメラが撮像画像を撮像する露光時間内に前記プロジェクタが前記対象物に投影するパターンを切り替えながら、前記カメラで前記対象物を撮像する撮像工程と、
前記プロジェクタで投影されたパターンを合成し、合成されたパターンと撮像画像に写るパターンとのマッチングにより、前記対象物の奥行き又は速度情報を取得する情報取得工程と、
を含む。
【0027】
本発明の第
9の観点に係るプログラムは、
プロジェクタによりパターンを対象物に投影しつつ、前記プロジェクタとは異なる位置に設置されたカメラで対象物を撮像し、前記カメラの撮像画像に基づいて、前記対象物の位置情報を取得するコンピュータを、
前記カメラが撮像画像を撮像する露光時間内に前記プロジェクタが前記対象物に投影するパターンを切り替えながら、前記カメラで前記対象物を撮像する制御手段、
前記撮像画像に写るパターンと、前記プロジェクタで投影された異なるパターンのうち一つとの対応付けを行うことにより、前記対象物の奥行き又は速度情報を取得する情報取得手段、
として機能させる。
本発明の第10の観点に係るプログラムは、
プロジェクタによりパターンを対象物に投影しつつ、前記プロジェクタとは異なる位置に設置されたカメラで対象物を撮像し、前記カメラの撮像画像に基づいて、前記対象物の位置情報を取得するコンピュータを、
前記カメラが撮像画像を撮像する露光時間内に前記プロジェクタが前記対象物に投影するパターンを切り替えながら、前記カメラで前記対象物を撮像する制御手段、
前記プロジェクタで投影されたパターンを合成し、合成されたパターンと撮像画像に写るパターンとのマッチングにより、前記対象物の奥行き又は速度情報を取得する情報取得手段、
として機能させる。
【発明の効果】
【0028】
本発明によれば、カメラの撮像素子で撮像画像が撮像される露光時間内において、プロジェクタが対象物に投影するパターンが、異なるパターンに順次切り替えられる。したがって、カメラの撮像画像は、対象物に投影された複数の異なるパターンの合成パターンを含む画像となる。仮に、露光時間内において同じパターンが投影されていた場合に対象物が高速に移動すると、撮像画像に写るパターンはその移動の方向に沿って連続的に延びるボケたパターンとなる。これに対して、露光時間内でパターンを切り替えれば、対象物が高速に移動しても、パターンは離散的に配列されるようになるので、パターンのボケが抑制される。プロジェクタとカメラとは視差を持つため、撮像画像内の各パターンの位置は、対象物の位置に応じて変化する。撮像画像ではパターンのボケが抑制されているため、各パターンの位置を高精度に検出し、結果的に高速に移動する対象物の位置情報を高精度に取得することができる。
【発明を実施するための形態】
【0030】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。図中、同一又は対応する部分には同一の符号を付す。
【0031】
実施の形態1.
まず、本発明の実施の形態1について説明する。
【0032】
図1に示すように、位置情報取得システム1は、奥行き方向であるx軸方向に関して計測可能範囲Lに存在する対象物5の位置(奥行き)又は速度情報を検出する。位置情報取得システム1は、カメラ2と、プロジェクタ3と、情報処理装置4と、を備える。カメラ2とプロジェクタ3は同期するように構成される場合と、非同期の場合とが考えられる。
【0033】
カメラ2は、対象物5を撮像する。
図2に示すように、カメラ2は、光学系20と、撮像素子21と、レンズシャッタ22と、制御部23とを備える。光学系20は、レンズ等の光学部品が組み合わせて構成されている。光学系20は、外部の光を入射して撮像素子21に出射する。撮像素子21上には、光学系20を介して入射した光により、対象物5の像が結像する。
【0034】
レンズシャッタ22は、通常は閉じており、光学系20における光の通過を遮断している。制御部23は、レンズシャッタ22のコントローラであり、撮像時にレンズシャッタ22を露光時間(シャッタスピード)Tだけ開く。これにより、対象物5からの光は光学系20を通過し、撮像素子21上には、露光時間Tだけ対象物5の像が結像する。撮像素子21は、露光時間Tだけ撮像素子21上に結像する対象物5の像に対応する撮像画像データを生成して情報処理装置4へ出力する。なお、カメラ2の焦点深度は、対象物5の計測可能範囲Lとなっており、計測可能範囲L内の対象物5をボケなく撮像することができる。
【0035】
図1に戻り、プロジェクタ3は、カメラ2とは異なる位置に設置されている。プロジェクタ3は、計測用のパターンを対象物5に投影する。
図3に示すように、プロジェクタ3は、光源30と、液晶表示素子31と、パターン制御部32と、光学系33と、を備える。光源30は、液晶表示素子31に表示用の光を出射する。液晶表示素子31は、この光を透過させる。
【0036】
液晶表示素子31には、投影されるパターンが表示される。これにより、液晶表示素子31を透過する光は、液晶表示素子31に表示されたパターンの情報を含む光(パターン投影光)となる。パターン制御部32は、液晶表示素子31に表示するパターンを制御する。液晶表示素子31を透過した光は、光学系33に入射する。光学系33は、この光を出射し、液晶表示素子31に表示されたパターンを対象物5に投影する。
【0037】
液晶表示素子31には、例えば
図4に示す5つのパターンP1〜P5を表示可能である。パターンP1〜P5は、ドットがランダムに配列されたドットパターンであり、ドットの位置がそれぞれ異なる。パターン制御部32は、
図5に示すように、パターンP1→P2→P3→P4→P5の順で、パターンを切り替えながら(周期的に)順次表示させることができる。その切り替え時間は、カメラ2における露光時間Tよりも十分に短い時間となっている。本実施の形態では、露光時間T内では、3枚のパターンがプロジェクタ3によって表示される。
【0038】
この位置情報取得システム1では、カメラ2で画像を撮像する露光時間T内で、プロジェクタ3が対象物5に投影するパターンを、異なるパターンに順次切り替えつつ、カメラ2で対象物5が撮像される。例えば、
図5に示すように、プロジェクタ3は、対象物5に投影するパターンを、ドットパターンP1からドットパターンP2に切り替え、ドットパターンP2からドットパターンP3に切り替え、ドットパターンP3からドットパターンP4に切り替え、ドットパターンP4からドットパターンP5に切り替える。プロジェクタ3で投影されるパターンが切り替えられる間、カメラ2では、レンズシャッタ22が制御部23により開けられ、露光時間Tの間、対象物5からの光を、光学系20を介して撮像素子21で受光する。この結果、カメラ2で撮像画像IMが得られる。
図6(A)に示すように、撮像画像IMは、対象物5上で3つのドットパターンPn(nは1〜5のいずれか)が合成された画像となる。なお、プロジェクタ3によるパターンの投影タイミングと、カメラ2における撮像のタイミングとは同期していない場合は、露光時間T中に投影される3つのドットパターンは、不定である。この場合は、どのパターンが投影されたのか推定する必要がある。
【0039】
ここで、仮に、プロジェクタ3において、例えば、露光時間T中にドットパターンP1のみを投影した場合について考える。この場合、対象物5が高速でx軸方向に移動していたとすると、カメラ2で撮像された画像は、例えば
図6(B)に示すように、ドットパターンP1が、対象物5の移動に沿って延びてボケた撮像画像IM’となる。これに対して、撮像画像IM(
図6(A))では、露光時間T中にドットパターンPnの同じドットが対象物5の移動に伴って移動するわけでなく、異なるドットが露光時間T中に個別に表示されるようになるので、各ドットがボケることなく鮮明に表示される。
【0040】
情報処理装置4は、撮像画像IMに写るパターンに基づいて、対象物5の位置情報を取得する。対象物5の位置情報を取得する方法には、本実施の形態に係る方法の他にも様々な方法があるが、例えば2通りの方法がある。
(M1)撮像画像IMから個々のドットパターンPnとの対応関係を取得する方法
(M2)撮像画像IMと、撮影されている全てのドットパターンPnをまとめて対応関係を得る方法
本実施の形態では、情報処理装置4は、(M1)の方法により、対象物5の位置情報を取得する。
【0041】
図7に示すように、情報処理装置4は、ハードウエア構成として、内部バス40と、制御部41、主記憶部42、外部記憶部43、操作部44、表示部45及び通信部46を備える。主記憶部42、外部記憶部43、操作部44、表示部45及び通信部46はいずれも内部バス40を介して制御部41に接続されている。
【0042】
制御部41は、CPU(Central Processing Unit)等から構成されている。このCPUが、外部記憶部43に記憶されているプログラム49を実行することにより、情報処理装置4の各構成要素が実現される。
【0043】
主記憶部42は、RAM(Random-Access Memory)等から構成されている。主記憶部42には、外部記憶部43に記憶されているプログラム49がロードされる。この他、主記憶部42は、制御部41の作業領域(データの一時記憶領域)として用いられる。
【0044】
外部記憶部43は、フラッシュメモリ、ハードディスク、DVD−RAM(Digital Versatile Disc Random-Access Memory)、DVD−RW(Digital Versatile Disc ReWritable)等の不揮発性メモリから構成される。外部記憶部43には、制御部41に実行させるためのプログラム49があらかじめ記憶されている。また、外部記憶部43は、制御部41の指示に従って、このプログラム49の実行の際に用いられるデータを制御部41に供給し、制御部41から供給されたデータを記憶する。
【0045】
操作部44は、キーボード及びマウスなどのポインティングデバイス等と、キーボードおよびポインティングデバイス等を内部バス40に接続するインターフェイス装置から構成されている。操作部44を介して、操作者が操作した内容に関する情報が制御部41に入力される。
【0046】
表示部45は、CRT(Cathode Ray Tube)またはLCD(Liquid Crystal Display)などから構成され、操作者が操作情報を入力する場合は、操作用の画面が表示される。
【0047】
通信部46は、シリアルインターフェイスまたはパラレルインターフェイスから構成されている。通信部46は、通信ネットワークを介してカメラ2と接続されており、カメラ2から画像データを受信する。
【0048】
情報処理装置4の各種構成要素は、プログラム49が、制御部41、主記憶部42、外部記憶部43、操作部44、表示部45及び通信部46などをハードウエア資源として用いて実行されることによってその機能を発揮する。
【0049】
図1に戻り、情報処理装置4は、計測制御部(制御手段)10と、情報取得部(情報取得手段)11と、記憶部12と、を備える。
【0050】
計測制御部10は、露光時間T内で、プロジェクタ3が対象物5に投影するパターンを、異なるパターンに順次切り替えている間に、カメラ2で対象物5を撮像するように、カメラ2及びプロジェクタ3を制御する。計測制御部10は、
図7の制御部41、主記憶部42、操作部44及び通信部46等によって実現されている。
【0051】
情報取得部11は、カメラ2で撮像された撮像画像IMに写るパターンに基づいて、対象物5の位置情報を取得する。情報取得部11は、
図7の制御部41、主記憶部42及び通信部46等によって実現されている。
【0052】
記憶部12には、プロジェクタ3によって投影されるパターンに関する各種データが記憶される。記憶部12は、
図7の主記憶部42及び外部記憶部43によって実現されている。
【0053】
記憶部12に記憶されるデータには、例えば、パターン位置データベース13がある。パターン位置データベース13は、
図8に示すように、対象物5のx位置x
kと、カメラ2の撮像画像に写るドットパターンP1〜P5とが関連付けられて記憶されるデータベースである。情報取得部11は、カメラ2で撮像された撮像画像IMに写るドットパターンP1〜P5と、パターン位置データベース13に記憶されたパターンとの対応付けにより、対象物5の位置情報を取得する。
【0054】
実際には、カメラ2では、前述のように、ドットパターンPnのうちの3つのパターンの合成パターンが撮像される。ここで、
図9に示すように、ドットパターンP1、P2、P3が合成されたパターンを合成パターンSP1とし、ドットパターンP2、P3、P4が合成されたパターンを合成パターンSP2とし、ドットパターンP3、P4、P5が合成されたパターンを合成パターンSP3とし、ドットパターンP4、P5、P1が合成されたパターンを合成パターンSP4とし、ドットパターンP5、P1、P2が合成されたパターンを合成パターンSP5とする。
【0055】
上述のように、カメラ2の撮像とプロジェクタ3によるパターンの切り替えのタイミングとは同期していない場合も想定されるため、その場合には、カメラ2の撮像画像に含まれる合成パターンSPnは、どのドットパターンPnによって構成されているのかが不明である。そこで、情報取得部11は、撮像画像に写るパターンと、記憶部12に記憶された個々のパターンP1〜P5とのマッチングにより、撮像画像が撮像された露光時間T内にプロジェクタ3により投影されたドットパターンPnの組み合わせを特定する。そして、情報取得部11は、撮像画像に含まれるパターンを、特定された組み合わせに係る個々のドットパターンPnにそれぞれ対応付け、対応付けられたドットパターンPn毎に、対象物5の位置を検出することにより、対象物5の奥行き又は速度情報を検出する。
【0056】
実際には、パターン位置データベース13において、ドットパターンPnと関連付けられて記憶されるx位置x
kは多数である。このため、総当たりでマッチング処理を行うと、処理に時間を要するようになる。そこで、情報取得部11は、
図10に示すように、計測可能範囲Lに含まれるx位置x
k(n=1、2、3、…)から広い間隔Δx1で選択された位置に対応するドットパターンPnをパターン位置データベース13から幾つか抽出しつつ、抽出されたドットパターンPnと撮像画像に写るパターンとのマッチングを行って、撮像画像に写るパターンに近いドットパターンPnに対応する基準位置RPを探索する。この計測をラフあるいはCoarse計測ともいう。
【0057】
さらに、情報取得部11は、計測可能範囲Lよりも狭く基準位置RPよりも狭い範囲L1内の位置に対応するドットパターンPnをパターン位置データベース13から幾つか抽出しつつ、抽出されたドットパターンPnと撮像画像に写るパターンとのマッチングを行って、撮像画像に写るパターンに近いドットパターンPnを探索し、探索されたドットパターンPnに対応する位置を検出する。この位置を検出位置DPとし、この計測をファイン計測ともいう。
【0058】
情報取得部11は、特定されたドットパターンPnそれぞれについて検出位置DPを検出する。対象物5がx軸方向に高速に移動していれば、それぞれのドットパターンPnの検出位置DPも異なったものとなる。ドットパターンPnの表示順は決まっているので、ドットパターンPnの検出位置DPに基づいて、対象物5の移動の向きや速度を求めることができる。
【0059】
例えば、
図11(A)、
図11(B)及び
図11(C)に示すように、対象物5としての球形体5Aが+x方向へ移動するか、対象物5としての三角形体5Bが−x方向へ移動する場合、球形体5A,三角形体5B上に連続して投影されるドットパターンPnの投影位置も異なったものとなる。情報取得部11は、各ドットパターンPnをパターン位置データベース13から読み出してマッチングを行い、それぞれのパターンが最もマッチングするx位置(検出位置DP)を検出する。そして、検出位置DPから、球形体5A、三角形体5Bの奥行き及び速度を求めることができる。
【0060】
情報取得部11による各ドットパターンPnとのマッチングによる位置検出は、ドット毎に行うようにしてもよい。このようにすれば、対象物5の形状、
図11(A)〜
図11(C)に示すように、球形体5A、三角形体5Bの移動の向きがそれぞれ違うように、撮像視野内に移動の向きが異なる対象物5が存在していたとしても、それぞれの移動の向き及び速度を正確に検出することができる。
【0061】
次に、本実施の形態に係る位置情報取得システム1の動作について説明する。
【0062】
図12に示すように、まず、情報取得部11は、パターン位置データベース13を生成する(ステップS1)。具体的には、対象物5としてのフラットなボードを様々なx位置x
kに置きながら、露光時間T内にプロジェクタ3によりドットパターンPnを投影し、カメラ2によりボード上に投影されたパターンを撮像する。撮像されたドットパターンPnは、そのボードが置かれたx位置x
kと関連付けられて記憶部12のパターン位置データベース13に格納される。
【0063】
続いて、計測制御部10は、対象物5の撮像を行う(ステップS2)。具体的には、計測制御部10は、対象物5を計測可能範囲L内に置いて、プロジェクタ3により投影するドットパターンPnを切り替えながら、カメラ2によって対象物5を撮像する。この撮像により得られた撮像画像は、情報処理装置4に送られる。
【0064】
続いて、情報取得部11は、パターン特定を行う(ステップS3)。パターン特定は、カメラ2とプロジェクタ3とが同期して動作しておらず、投影されたパターンが特定されてない場合にのみ行われる。情報取得部11は、撮像画像に写るパターンと、記憶部12に記憶されたパターンP1〜P5との対応付けにより、撮像画像が撮像された露光時間T内にプロジェクタ3により投影されたドットパターンPnの組み合わせを特定する。
【0065】
続いて、情報取得部11は、特定された個々のパターンについてそれぞれラフ計測を行う(ステップS4)。具体的には、
図10に示すように、情報取得部11は、対象物5の位置の計測可能範囲Lから広い間隔ΔX1で選択されたx位置x
kに対応するドットパターンPn(ステップS3で特定されたドットパターンPn)を記憶部12のパターン位置データベース13から幾つか抽出しつつ、抽出されたドットパターンPnと撮像画像で分解されたドットパターンPnとのマッチングを行って、撮像画像から分解抽出されたドットパターンPnに近いドットパターンPnに対応するx位置x
kである基準位置RPを探索する。
【0066】
このマッチングは、特定された全てのドットパターンPnで実行される。したがって、特定されたドットパターンPnそれぞれについて基準位置RPが検出される。
【0067】
続いて、情報取得部11は、ファイン計測を行う(ステップS5)。具体的には、情報取得部11は、計測可能範囲Lよりも狭く基準位置RPよりも狭い範囲L1内のx位置x
kに対応するドットパターンPn(ステップS3で特定されたドットパターンPn)を記憶部12のパターン位置データベース13から幾つか抽出しつつ、抽出されたドットパターンPnと撮像画像から分解抽出されたドットパターンPnとのマッチングを行って、撮像画像に写るドットパターンPnに近いドットパターンPnを探索し、探索されたドットパターンPnに対応するx位置x
kを検出位置DPとして検出する。
【0068】
続いて、情報取得部11は、マップ作成を行う(ステップS6)。具体的には、情報取得部11は、ドットパターンPn毎に検出された検出位置DPに基づいて、対象物5の奥行き情報(奥行きマップ)又は速度情報(速度マップ)を検出する。この検出により、例えば、対象物5が球形体5A、三角形体5Bである場合には、
図13(A)に示すような奥行きマップや、
図13(B)に示すような速度マップが生成される。
【0069】
ステップS6終了後、情報取得部11は、処理を終了する。なお、本実施の形態では、ステップS2が撮像工程に対応し、ステップS3〜S6が情報取得工程に対応する。
【0070】
カメラ2とプロジェクタ3とが同期して動作していれば、どのドットパターンPnが投影されているかが既知となるため、情報処理装置4は、撮像画像IMと、投影されたドットパターンPnとの対応関係のみを取得すればよい。また、本実施の形態のように、カメラ2とプロジェクタ3とが同期して動作していない場合でも、マッチングにより、撮像画像IMからドットパターンPnを特定し、撮像画像IMと、特定されたドットパターンPnとの対応関係のみを取得すればよい。しかしながら、必ずしも撮像画像IMからドットパターンPnを特定する必要はない。情報処理装置4は、撮影画像IMと、全てのドットパターンPnとの対応関係を求めればよい。
【0071】
対応関係の取得方法としては、マッチングによる方法や、デコードによる方法がある。パターンマッチングによる方法の場合、対象となるドットパターンPn以外のドットパターンPnも撮影されているため、自パターン以外とのマッチングを行わないようにするなどの工夫が有効である。また、デコードによる手法の例としては、各ドットパターンPnで色を変えるなどの方法がある。各ドットパターンPnの色を変えておけば、色により識別することができ、簡易に安定したデコードが可能である。色以外にも、空間周波数や、ドットパターンPnの模様などを用いることができる。また、デコードとマッチングを組み合わせる方法も有効である。
【0072】
実施の形態2.
次に、本発明の実施の形態2について説明する。本実施の形態では、情報処理装置4は、上述の(M2)の方法、すなわち撮像画像IMと、撮影されている全てのドットパターンPnを合成したSPnとの間で、直接対応関係を得る方法により、対象物5の位置情報を取得する。
【0073】
図14に示すように、本実施の形態では、ステップS3とステップS4との間に、パターン合成(ステップS10)を行う点と、ステップS5とステップS6との間にパターン分解(ステップS11)を行う点とが、上記実施の形態1と異なる。ステップS10において、情報取得部11は、ステップS3で特定されたドットパターンPnを合成した合成パターンSPnを生成する。そして、合成パターンSPnを用いて撮像画像IMに写るパターンとのマッチングが行われる。同じドットパターンPnが投影される場合であっても、対象物5の速度に応じて、撮影されるパターンは異なるため、合成パターンSPnには、対象物5の移動を想定したパターンが含まれる。
【0074】
例えば、情報取得部11は、
図15に示すように、ドットパターンP1〜P3が合成されたパターンである合成パターンSP1’と、撮像画像IMのパターンとのマッチングを行う。これらがマッチングしなければ、情報取得部11は、
図16に示すように、ドットパターンP2〜P4が合成されたパターンである合成パターンSP2’と、撮像画像IMのパターンとのマッチングを行う。これらがマッチングしなければ、情報取得部11は、
図17に示すように、ドットパターンP3〜P5が合成されたパターンである合成パターンSP3’と、撮像画像IMのパターンとのマッチングを行う。これらがマッチングしなければ、情報取得部11は、合成パターンSP4’、SP5’についても同様の処理を行う。これらのマッチングにより、撮像画像に写るパターンに最も近い合成パターンSPnが特定され、その合成パターンSPnを構成するドットパターンPnが特定される。
【0075】
この時、物体の速度に応じて、合成される画像SPnも異なるものとなる。例えば、一定速度の場合、
図18に示すように、ドットパターンP1〜P3から同じ枚数を用いて合成パターンSP1’を生成することができる。この場合、特に、対象物5の速度等を考慮して、x
n=Depth1,Depth2のドットパターンP1、x
n=Depth3,Depth4のドットパターンP2、x
n=Depth5,Depth6のドットパターンP3を合成することができる。
図18の合成パターンSPn’は、対象物5の速度が一定であると仮定した場合の合成パターンである。撮像画像IMに写るパターンが合成パターンSPn’と最も相関度が高い場合には、対象物5の奥行きx
nは、露光時間T内で、Depth1〜Depth6に一定速度で移動したことになる。
【0076】
一方で、対象物5の速度が一定速度ではない場合、速度の変化を考慮して、
図19に示すような合成パターンSP1’’を生成することも可能である。x
n=Depth1,Depth2,Depth3のドットパターンP1、x
n=Depth4,Depth5のドットパターンP2、x
n=Depth6のドットパターンP3を合成することができる。
図19の合成パターンSPn’ ’は、対象物5の速度を可変であると仮定した場合の合成パターンである。この場合は、速度が変化しているため、各ドットパターンP1〜P3ごとに使用する枚数が異なる。撮像画像IMに写るパターンが合成パターンSPn’ ’と最も相関度が高い場合には、対象物5は、露光時間T内でDepth1からDepth6まで移動し、その速度は3段階に減速したことになる。
【0077】
本実施の形態においても、情報取得部11は、ステップS4(ラフ計測)、ステップS5(ファイン計測)を行う。この場合、ステップS4において、
図18に示すような対象物5の速度を一定とした場合の合成パターンSPn’を用いてパターンマッチングを行い、ステップS5において、
図19に示すような対象物5の速度を可変とした場合の合成パターンSPn’’を用いてパターンマッチングを行い、対象物5の奥行き又は速度を精細に求めるようにしてもよい。
【0078】
上述のように、本実施の形態によれば、個々の対応関係の推定手法に対して、撮影されたパターンそのものと同じパターンが合成されるため、位置推定の処理が安定するメリットが有る。さらに、まとめて推定することによる計算量を削減できるメリットもある。本実施の形態においても、ステップS3のパターン特定においては、マッチングの代わりにデコードによる方法を用いてもよい。
【0079】
図20(A)、
図20(B)及び
図20(C)には、位置情報取得システム1で扇風機の羽根の計測を行った場合に得られる実験結果が示されている。
図20(A)には、扇風機の羽根の撮像画像IMである。情報取得部11は、この撮像画像IMに基づいて、
図20(B)に示す奥行きマップを作成する。
図20(B)に示すように、奥行きマップでは、扇風機の羽根の形状がよく再現されている。また、
図20(C)には、扇風機の羽根のエッジ部分の動きを示すマップが示されている。
図20(C)では、異なるドットパターンPnから得られた羽根部分を、輝度を変えて表現している。
図20(C)に示すように、この計測により、羽根の動きも再現されている。
【0080】
以上詳細に説明したように、上記各実施の形態によれば、カメラ2の撮像素子で1枚の撮像画像が撮像される露光時間T内において、プロジェクタ3が対象物5に投影するパターンが異なるドットパターンPnに順次切り替えられる。したがって、カメラ2の撮像画像は、対象物5に投影された複数の異なるドットパターンPnの合成パターンSPnを含む画像となる。仮に、露光時間T内において同じドットパターンPnが投影されていた場合に対象物5が高速に移動すると、撮像画像に写るパターンはその移動の方向に沿って連続的に延びるボケたパターンとなる(
図6(B))。これに対して、露光時間T内でドットパターンPnを切り替えれば、対象物5が高速に移動しても、ドットパターンPnは離散的に配列されるようになるので、パターンのボケが抑制される(
図6(A))。プロジェクタ3とカメラ2とは視差を持つため、撮像画像内の各ドットパターンPnの位置は、対象物5の位置に応じて変化する。撮像画像ではドットパターンPnのボケが抑制されているため、ドットパターンPnの位置を高精度に検出し、結果的に高速に移動する対象物5の位置情報を高精度に取得することができる。
【0081】
なお、上記各実施の形態では、撮像画像IMに写るパターンを構成するドットパターンPnを特定してから、マッチングを行って、対象物5の位置を得たが、本発明はこれには限られない。例えば、全てのドットパターンPn又は全ての合成パターンSPnとのマッチングを行って、対象物5の位置を求めるようにしてもよい。しかしながら、ドットパターンPnを先に特定した方が、比較するドットの数を低減できるため、処理時間を短縮することができる。
【0082】
このように、上記各実施の形態では、マッチングにより合成パターンSPnを構成するドットパターンPnを特定したが、カメラ2とプロジェクタ3とが同期して動作している場合は投影されるドットパターンPnがあらかじめ既知であるため、この処理は不要である。また、同期されていない場合であっても、各ドットパターンPnにマーカ(識別情報)をつけることができる。各ドットパターンPnにそれぞれ
図21(A)に示すようなマーカp(1)〜p(10)のいずれかが付けられているとする。Example1では、p(3)〜p(8)が写っているので、ドットパターンP3〜P8が撮像画像IMに写っているパターンとなる。また、Example2では、p(1)〜p(3)、p(8)、p(9)、p(10)が写っているので、ドットパターンP1〜P3、P8、P9、P10が撮像画像IMに写っているパターンとなる。撮像画像IMにおいて、どのマークp(n)が写っているかによって、どのドットパターンPnが投影されたかを例えば
図21(B)に示す撮像画像IMに写るマーカp(n)から確認することができるため、合成パターンSPnを総当たり的にマッチングする必要がなくなる。この結果、処理時間を短縮することができる。
【0083】
上記実施の形態1では、撮像画像に含まれるパターンからドットパターンPnを特定し、各ドットパターンPnから検出された検出位置DPに基づいて対象物5の奥行きマップ又は速度マップを作成した。このようにすれば、カメラ2の撮像動作と比較しても高速に移動する対象物5の奥行きや速度を高精度に求めることができる。
【0084】
また、上記各実施の形態では、パターンと対象物5の位置との関係を実測し、それらを関連付けてデータベース化し、データベースのパターンとパターンマッチングを行って、対象物5の奥行き又は速度情報を検出した。このようにすれば、実際の対象物5が移動する環境でのカメラ2の撮像状態及びプロジェクタ3に撮像状態に適合した高精度な検出が可能となる。
【0085】
また、上記各実施の形態では、まず、求めるx位置について大きな間隔をとってパターンマッチングを行って対象物5の概略位置(基準位置RP)を求め、さらに求められた概略位置から対象物5の詳細な位置(検出位置DP)を求めた。このようにすれば、対象物5の位置を求めるまでのマッチング回数を低減することができるので、処理時間を短縮することができる。
【0086】
また、上記実施の形態2、すなわち(M2)の方法では、パターンをデコードすることなく、逆にデータベースに記憶されたパターンを合成し、撮像画像IMに写るパターンとのマッチングを行った。この場合、撮像画像IMに写るパターンをそのままでマッチングできるので、マッチングの精度を高め、引いては対象物5の位置検出精度を高めることができる。また、マッチング回数も低減することができるので、処理時間を短縮することができる。
【0087】
しかしながら、対象物5の位置を求める処理は、必ずしもパターンマッチングには限らない。例えば、カメラ2とプロジェクタ3との位置関係を示す情報、例えばカメラ2とプロジェクタ3との間の視差や光軸AX1,AX2の位置ずれの情報に基づいて、撮像画像内のドットパターンPnの各位置から、三角測量法により、対象物5の位置を計算により求めるようにしてもよい。また、三角測量法により、対象物5の概略位置を求め、その概略位置を基準にして、パターンマッチングを行って、対象物5の詳細位置を求めるようにしてもよい。
【0088】
なお、撮像画像IMにおいては、ドットパターンPn同士の各ドットが重なり合うこともあるが、ドットが重なるとその位置の輝度はより明るくなる。この明るさの増大によってドットが重なり合っていることを認識することができるので、情報取得部11は、そのことを考慮しつつ、パターンマッチングを行うことができる。
【0089】
なお、プロジェクタ3により投影されるパターンは、ドットパターンPnには限られない。プロジェクタ3とカメラ2とによって仮想的に定義されるエピポーラ線と交差するラインパターンであってもよいし、グリッドパターンであってもよい。パターン同士が特徴空間で互いに直交していれば、パターンを区別し易くなる。また、プロジェクタ3により投影するパターン毎に色を変えていてもよい。このようにすれば、各パターンを区別し易くなる。しかしながら、各パターンがランダムに生成されたものであっても、十分に精度良く対象物5の位置を検出することができる。
【0090】
また、パターンの投影にDOE(Diffractive Optical Element;回折格子)を用いるようにしてもよい。まず、光源としてレーザ光源を用い、光源から出射されたレーザを、ランダムドットパターンを形成するDOEに入射し、DOEを介して対象物5にパターンを投影する。DOEは、光量を数%程度しか減衰させないため、本システムでは光量をほとんど減衰させずにパターンを形成することができる。これにより、パターンをさらにクリアなものとして、位置の検出精度を向上することができる。
【0091】
また、パターン毎に異なるパターン投影機を用意してもよい。この場合、パターンごとにカメラとの位置関係が異なるため、この情報を用いたマッチングや位置情報推定の精度向上が実現できる。あるいは、ポリゴンミラーで切り替えてもよい。この場合は、パターンとカメラとの位置関係は変わらないため、処理が単純化される。
【0092】
その他、情報処理装置4のハードウエア構成やソフトウエア構成は一例であり、任意に変更および修正が可能である。
【0093】
制御部41、主記憶部42、外部記憶部43、操作部44、表示部45及び通信部46、内部バス40などから構成される情報処理装置4の処理を行う中心となる部分は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、前記の動作を実行するためのコンピュータプログラムを、コンピュータが読み取り可能な記録媒体(フレキシブルディスク、CD−ROM、DVD−ROM等)に格納して配布し、当該コンピュータプログラムをインストールすることにより、前記の処理を実行する情報処理装置4を構成してもよい。また、インターネット等の通信ネットワーク上のサーバ装置が有する記憶装置に当該コンピュータプログラムを格納しておき、通常のコンピュータシステムがダウンロード等することで情報処理装置4を構成してもよい。
【0094】
情報処理装置4の機能を、OS(オペレーティングシステム)とアプリケーションプログラムの分担、またはOSとアプリケーションプログラムとの協働により実現する場合などには、アプリケーションプログラム部分のみを記録媒体や記憶装置に格納してもよい。
【0095】
搬送波にコンピュータプログラムを重畳し、通信ネットワークを介して配信することも可能である。たとえば、通信ネットワーク上の掲示板(BBS, Bulletin Board System)にコンピュータプログラムを掲示し、ネットワークを介してコンピュータプログラムを配信してもよい。そして、このコンピュータプログラムを起動し、OSの制御下で、他のアプリケーションプログラムと同様に実行することにより、前記の処理を実行できるように構成してもよい。
【0096】
本発明によれば、通常のカメラを用いて、そのシャッタースピードより、数倍高速な動きを計測することができる。これにより、高速移動物体の3次元計測を、ハイスピードカメラを用いる手法に比べて、より安価なカメラで実現可能となる。また、撮影枚数が減ることからキャプチャに要するデータ量を減らすことができる。さらには、カメラ2の露光時間を短くする必要がないので画像のS/N比が改善される。
【0097】
この発明は、この発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この発明を説明するためのものであり、この発明の範囲を限定するものではない。すなわち、この発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、この発明の範囲内とみなされる。