(57)【要約】【課題】物体の形状に依存せずに距離計測を高精度に行う。【解決手段】情報処理装置であって、投影装置が物体に投影するパターンを制御する制御部と、パターンが投影された物体を撮影する複数の撮影装置により複数の時間にそれぞれ撮影された複数の画像を取得する取得部と、複数の撮影装置によりそれぞれ撮影された画像情報、画像の画素値の時間変化の情報を用いてマッチングを行うことにより、物体の距離情報を計測する計測部とを備える。【選択図】  図１
2018004357.tif 000002
【特許請求の範囲】
【請求項１】
投影装置が物体に投影するパターンを制御する制御手段と、
前記パターンが投影された前記物体を撮影する複数の撮影装置により複数の時間にそれぞれ撮影された複数の画像を取得する取得手段と、
前記複数の撮影装置によりそれぞれ撮影された画像間において、画像の画素値の時間変化の情報を用いてマッチングを行うことにより、前記物体の距離情報を計測する計測手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記物体と撮影装置との間の複数の時間における相対的な位置姿勢の情報を取得する位置姿勢取得手段をさらに備え、
前記計測手段は、前記複数の時間における前記位置姿勢の情報に基づいて前記マッチングを行う画素を選択し、当該選択した画素の画素値の時間変化の情報を用いて前記マッチングを行うことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
画像中における前記物体の動きの大きさに基づいて、前記マッチングに用いるブロックの時空間的な形状を設定する設定手段をさらに備え、
前記計測手段は、前記設定手段により設定された形状のブロックに基づいて前記画像の画素値の時間変化の情報を用いた前記マッチングを行うことにより、前記距離情報を計測することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記設定手段は、前記物体の動きが大きいほど前記ブロックの空間的なサイズを大きく設定することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記設定手段は、前記物体の動きが小さいほど前記ブロックの時間的なサイズを大きく設定することを特徴とする請求項３又は４に記載の情報処理装置。
【請求項６】
前記投影装置は、１つ以上の光源と、光源からの光の入射に応じてパターンを生成する１つ以上の光学素子とを備え、
前記制御手段は、前記光学素子への前記光源からの入射光の位置及び方向と、前記光源の発光のオンオフと、前記光源の波長とのうち少なくとも何れか１つを変化させることにより、前記パターンを変化させることを特徴とする請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項７】
前記制御手段は、前記投影装置が前記物体に投影するパターンを変化させることを特徴とする請求項１乃至６の何れか１項に記載の情報処理装置。
【請求項８】
前記パターンはテクスチャパターンであることを特徴とする請求項１乃至７の何れか１項に記載の情報処理装置。
【請求項９】
前記距離情報は、視差の値、距離の値、三次元座標の値のいずれかであることを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
情報処理装置の制御方法であって、
投影装置が物体に投影するパターンを制御する制御工程と、
前記パターンが投影された前記物体を撮影する複数の撮影装置により複数の時間にそれぞれ撮影された複数の画像を取得する取得工程と、
前記複数の撮影装置によりそれぞれ撮影された画像間において、画像の画素値の時間変化の情報を用いてマッチングを行うことにより、前記物体の距離情報を計測する計測工程と、
を有することを特徴とする情報処理装置の制御方法。
【請求項１１】
コンピュータを、請求項１乃至９の何れか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法およびプログラムに関する。
【背景技術】
【０００２】
従来、ステレオカメラにより撮影された２枚の画像上で各領域の対応をブロックマッチングなどの方法により計算し、求めた対応関係を用いて三角測量の原理に基づき物体表面までの距離を計測する技術が知られている。一般にブロックマッチングでは画像上の各部位を平面のブロックに近似してマッチングを行う。しかし、ステレオカメラを利用する距離の計測方法では、例えば白い紙など特徴の少ない物体を対象とする場合、ブロックマッチングの精度が低下することがある。
【０００３】
これに対し、非特許文献１では、テクスチャパターンを物体の表面に投影して表面に２次元的な特徴を付与し、ステレオカメラで当該物体を撮影した画像を使用したブロックマッチングにより、物体の表面までの距離を計測する技術が開示されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Manabu Hashimoto, and Kazuhiko Sumi, "3-D Object Recognition Based on Integration of Range Image and Gray-scale", British Machine Vision Conference(BMVC),  2001.
【非特許文献２】R. Y. Tsai, "A versatile camera calibration technique for high-accuracy 3D machine vision metrology using off-the-shelf TV cameras and lenses" IEEE Journal of Robotics and Automation, vol.RA-3, no.4, 1987.
【非特許文献３】R. A. Newcombe, S. Izadi, O. Hilliges, D. Molyneaux, D. Kim, A. J. Davison, P. Kohli, J. Shotton, S. Hodges, and A. Fitzgibbon. KinectFusion: Real-Time Dense Surface Mapping and Tracking. ISMAR 2011.
【非特許文献４】M. Bleyer, C. Rhemann, and C. Rother. PatchMatch Stereo - Stereo Matching with Slanted Support Windows. Proc. BMVC 2011
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、非特許文献１に記載の技術では、細い形状や小さな形状など、凹凸の激しい形状の場合は平面のブロックに近似することが難しくなり、距離計測の精度が低下する可能性があるという課題がある。
【０００６】
本発明は、上記の課題に鑑みてなされたものであり、物体の形状に依存せずに距離計測を高精度に行うための技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成する本発明に係る情報処理装置は、
投影装置が物体に投影するパターンを制御する制御手段と、
前記パターンが投影された前記物体を撮影する複数の撮影装置により複数の時間にそれぞれ撮影された複数の画像を取得する取得手段と、
前記複数の撮影装置によりそれぞれ撮影された画像間において、画像の画素値の時間変化の情報を用いてマッチングを行うことにより、前記物体の距離情報を計測する計測手段と、
を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、物体の形状に依存せずに距離計測を高精度に行うことが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本発明に係るテクスチャパターンの変化の例を示す図である。
【図２】一般的なブロックマッチングの方法を説明する図である。
【図３】第１の実施形態に係るブロックマッチングの方法を説明する図である。
【図４】第１の実施形態に係る情報処理装置の構成を示す図である。
【図５】第１の実施形態に係る情報処理装置の処理手順を示すフローチャートである。
【図６】第２の実施形態に係るブロックマッチングの方法を説明する図である。
【図７】第２の実施形態に係るブロックマッチングの方法を説明するもう１つの図である。
【図８】第２の実施形態に係る情報処理装置の構成を示す図である。
【図９】第２の実施形態に係る情報処理装置の処理手順を示すフローチャートである。
【図１０】第３の実施形態に係るブロックマッチングの方法を説明する図である。
【図１１】第３の実施形態に係る情報処理装置の構成を示す図である。
【図１２】第３の実施形態に係る情報処理装置の処理手順を示すフローチャートである。
【図１３】第１の変形例に係る投影装置の構成を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら実施形態を説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１１】
（第１の実施形態）
本実施形態では、時間経過に応じてテクスチャを変化させたテクスチャパターンをプロジェクタにより物体へ投影し、ステレオカメラにより当該物体を撮影する。そして撮影した画像について、画像の画素値の時間変化の情報を用いてマッチングを行うことにより、物体までの距離を計測する例を説明する。テクスチャパターンの変化の一例を、図１のテクスチャパターン１１０、１２０、１３０に示す。テクスチャパターン１１０、１２０、１３０は、時間の変化に応じて、ドットの位置を変えたパターンである。
【００１２】
＜一般的なブロックマッチング＞
まず、一般的なブロックマッチングについて説明する。一般的なブロックマッチングでは、画像上の２次元の輝度分布の情報に基づいてマッチングを行う。例えば、画像上の物体の各部位を平面のブロックに近似してマッチングを行う。なお、マッチングを正確に行うためには、一定以上の輝度分布の情報が必要であり、そのためには、ブロックのサイズは一定以上に設定する必要がある。しかし、平面のブロックに近似しにくい凹凸の激しい形状を有する物体を計測対象とする場合、距離の計測精度が低下する可能性がある。
【００１３】
図２は、一般的なブロックマッチングに基づく距離の計測方法を説明する図である。図２の２１１と２１２は、ステレオカメラで撮影した画像を示す。２１３は、距離の計測に利用するブロックを示す。２１４は、ブロックのマッチングを行う範囲を示す。２１５は、マッチングに利用するブロック２１３内の画素１つ１つを示す。２１５の複数の四角形の色は、各画素の輝度値を示す。２１５が示すように、一般的なブロックマッチングでは、画像のブロック内の２次元座標に含まれる画素（空間的な情報）を手掛かりにマッチングを行う。ここで、「空間的」な情報とは、画像の座標軸（x軸とy軸）方向に分布する情報であることを表す。２１６は、マッチングに利用するブロック２１３内の画素の座標を、時間軸(time)と空間軸(space)において表わす図である。２１６のspace軸は、空間的な２次元のx軸とy軸を簡単のため１本にまとめた軸である。２１５と２１６が示すように、一般的なブロックマッチングでは、ある特定の時間の空間的な情報のみを利用して、マッチングを行う。
【００１４】
＜一実施形態に係るブロックマッチング＞
これに対し、本実施形態では、テクスチャパターンの変化による、画像上の画素の時間的な輝度変化（画素値の変化）の情報を更に使用してマッチングを行う。ここでは、画素の時間的な輝度変化の情報を加えた分、ブロックの空間的なサイズを小さく設定できる。空間的に小さなサイズのブロックであれば、凹凸の激しい形状に対しても、平面の近似が可能になるため、精度を落とすことなく距離を計測できる。
【００１５】
図３は、本実施形態に係るブロックマッチングの方法を説明する図である。図３の２２１と２２２は、ステレオカメラで撮影した画像群を示す。２２１と２２２は、異なる時刻に撮影した画像を並べた状態を示している。２２３は、マッチングに利用するブロックを示す。本実施形態におけるブロックは、画像の空間的なサイズを小さくするために、時刻の異なる画像の画素の情報も利用する。本実施形態では、ブロックの空間的なサイズは１画素とする。２２４は、ブロックのマッチングを行う範囲を示す。２２５は、マッチングに利用するブロック内の画素１つ１つを示す。２２６は、マッチングに利用するブロック２２３内の画素の座標を、時間軸(time)と空間軸(space)について表す。２２５と２２６が示すように、本実施形態では、画像上の画素の時間的な輝度変化を利用して、マッチングを行う。
【００１６】
本実施形態では、画像上の画素の時間的な輝度変化の情報を加えてマッチングを行うことで、ブロックの空間的なサイズを小さく設定できる。空間的に小さなサイズのブロックであれば、凹凸の激しい形状に対しても、平面の近似が可能になるため、高精度に距離を計測できる。
【００１７】
＜情報処理システムの構成＞
次に、本実施形態に係る情報処理システムの構成例について説明する。図４に示すように、情報処理システムは、情報処理装置３１０と、投影装置４１０と、撮影装置４２０，４３０とを備えている。５００は計測対象となる物体である。情報処理装置３１０は、パターン変化制御部３１１、画像取得部３１２、及び計測部３１３を備えている。投影装置４１０は、画像の入力に応じてテクスチャパターンを物体５００に向けて投影するプロジェクタである。撮影装置４２０，４３０は、例えば濃淡画像を撮影する２台のカメラである。本実施形態では、投影装置４１０と、撮影装置４２０及び４３０とは、相対的に位置関係が固定されているものとする。
【００１８】
また、撮影装置４２０，４３０の焦点距離や主点位置、レンズ歪パラメータなどの内部パラメータ、撮影装置４２０と撮影装置４３０との相対的な位置姿勢を表わす外部パラメータは予め校正しておく。校正方法は公知の手法を用いればよく、非特許文献２に示す方法で校正できる。なお、撮影装置４２０と撮影装置４３０とは、水平に並べた状態で配置する。また、以降、撮影装置４２０を左眼I1の装置、撮影装置４３０を右眼I2の装置とも表記する。
【００１９】
続いて、情報処理装置３１０の構成について詳述する。パターン変化制御部３１１は、物体５００に対してテクスチャパターンを投影する投影装置４１０を制御して、当該テクスチャパターンを時間経過に対して変化させる。
【００２０】
画像取得部３１２は、複数時刻tにおいて、撮影装置４２０，４３０で撮影した画像を取得する。ここで取得した画像は、マッチングにより距離を計測するために利用される。tは、画像を撮影した時刻（t=t0,t1,t2..,）を表わす。各時刻tにおいて、左眼I1の装置で撮影した画像はI1(t)、右目I2の装置で撮影した画像はI2(t)と表わす。また、画像上の画素値は、I1(t,u,v)、I2(t,u,v)と表わす。uとvは、画像上のx軸とy軸についての座標を表わす。座標の原点は画像の左上であり、画像の右向きをx軸、画像の下向きをy軸とする。
【００２１】
計測部３１３は、画像取得部３１２により取得した画像群に基づいて、左眼I1の装置により撮影された画像における距離マップD(tn)を計測する。ここで、tnは距離を算出する時刻を表す。また、距離マップD(tn)の各座標(u,v)における距離はD(tn,u,v)と表わす。距離D(tn,u,v)は、左眼I1の装置の光軸の向き(Z軸方向)についての長さを表わす１次元の数値である。計測部３１３では、まずステレオカメラ（撮影装置４２０，４３０）により撮影された画像の視差マップd(tn)を計測した後、視差マップを距離マップに変換する。視差マップd(tn)の各座標(u,v)の視差はd(tn,u,v)と表わす。視差d(tn,u,v)は、左眼I1の装置により撮影された画像上の座標(u,v)と対応する右眼I2の装置により撮影された画像上の座標との差を表わす１次元の数値である。
【００２２】
＜処理＞
次に、本実施形態に係る情報処理装置が実施する処理について説明する。図５は、本実施形態に係る情報処理装置３１０が実施する処理の手順を示すフローチャートである。
【００２３】
（ステップＳ６１１）
パターン変化制御部３１１は、投影装置４１０が物体５００に対して投影するテクスチャパターンを制御する。この時、時間経過に応じてテクスチャパターンを変化させる。本実施形態では、テクスチャパターンとして、異なるランダムパターンをN枚用意し、撮影装置４２０及び撮影装置４３０の撮影タイミングに合わせて、ランダムパターンを切り替える制御を行う。
【００２４】
ランダムパターンは、例えば、パターンの輝度値（画素値）をランダムに変化させることにより生成する。異なるランダムパターンは、ランダムのシードを変えることにより生成でする。異なるランダムパターンの例が、図１に示した１１０、１２０、１３０である。図１の１１０、１２０、１３０は、パターン上にランダムに配置したドットの位置がそれぞれ異なっている。なお、本実施形態では、白いドットを高輝度に、背景を低輝度にしてランダムパターンを生成する。
【００２５】
（ステップＳ６１２）
画像取得部３１２は、各時刻tにおいて、撮影装置４２０，４３０により撮影された画像を取得する。本実施形態では、距離を算出する時刻をtnとして、時刻tnを含めた過去M枚分の画像を取得する。
【００２６】
（ステップＳ６１３）
計測部３１３は、複数の撮影装置４２０，４３０によりそれぞれ撮影されて画像取得部３１２により取得された画像群について、画像間の対応を画像の画素値の時間変化に基づいて探索することにより、左眼I1の画像における距離マップD(tn)を計測する。そして、距離マップD(tn)の計測によって物体５００までの距離を計測する。
【００２７】
まず、左眼I1の画像上の各画素を順番に選択する。本実施形態では、ラスタスキャンの要領で、画像上の左上から右下に向けて順番に画素を選択する。以降、選択した画素の座標は(u,v)と表わす。
【００２８】
次に、左眼I1の画像上の座標(u,v)について、対応する右眼I2の画像上の座標を計測する。つまり、視差d(tn,u,v)を計測する。ここでは、視差の値を変数としたマッチングの整合度Eに基づいて、整合度Eが最も高くなる視差の値dを探索する。整合度Eは式（１）に示すSAD（Sum of Absolute Difference）に基づいて計算する。
【００２９】
【数１】
2018004357.tif 000003
【００３０】
【数２】
2018004357.tif 000004
【００３１】
式（１）の評価値である整合度Eは、左眼I1と右眼I2との間で比較する画素値が整合するほど高い値となる。ここでは、座標 (u,v) を中心とした座標(a,b)と時刻tについて、画素値の整合度の総和を計算する。Wは、マッチングに利用するブロックの空間的なサイズを表す。Mは、マッチングに利用するブロックの時間的なサイズを表す。関数Fは、注目する座標(x,y)と時刻tについて、視差dが示す２つの座標の画素値の差を計量する関数である。Fの詳細は、式（２）に示す。関数Fでは、時刻tの画像I1(t)と画像I2(t)について、座標(x,y)と座標(x-d,y)との画素値の差の絶対値を計量する。
【００３２】
本実施形態では、W=0として、ブロックの空間的なサイズは１画素として計算する。そのため、aとbの値は常に0であり、注目する座標(u,v)の周囲の画素は利用しない。一方、式（１）の１つ目（最も左）の総和（Σ）が示すように、時刻t-(M-1)から時刻tまでのM枚の画像の範囲で、注目する座標(u,v)における画素値を利用する。これにより、時間的な画素値の輝度変化が整合する視差dを与えたときに、整合度Eの値が高くなる。
【００３３】
以上説明した式（１）の整合度Eの計算式に基づいて、所定の範囲（dmin〜dmax）で視差dを変化させ、整合度Eの最も高くなる視差dを選択する。ここで選択したdは、以降、d(tn,u,v)と表記する。なお、dminとdmaxは、ステレオ画像の視差の下限と上限を表わす。dminとdmaxの値は、予め設定する固定値とする。
【００３４】
次に、視差d(tn,u,v)を距離D(tn,u,v)に変換する。撮影装置４２０と４３０の相対的な位置姿勢が既知の場合、視差と距離とは相互に変換できる。変換式の例を式（３）に示す。
【００３５】
【数３】
2018004357.tif 000005
【００３６】
ここで、関数Aは視差を距離に変換する関数、Bは距離を視差に変換する関数を表わす。fはカメラの焦点距離、Lはステレオカメラ（撮影装置４２０，４３０）のベースライン（ステレオカメラの間隔）、Dは距離、dは視差を表わす。このうち、関数Aを利用して、視差d(tn,u,v)を距離D(tn,u,v)に変換する。以上の操作を、選択する画素の座標(u,v)を変えて行うことで、左眼I1の画像における距離マップD(tn)を計測する。
【００３７】
以上述べたように、本実施形態では、画像上の画素の時間的な輝度変化（画素値変化）の情報を加えてマッチングを行うことで、ブロックの空間的なサイズを小さく設定できる。空間的に小さなサイズのブロックであれば、凹凸の激しい形状に対しても、平面の近似が可能になるため、高精度に距離を計測できる。従って、物体の形状に依存せずに距離計測を高精度に行うことが可能となる。
【００３８】
（第２の実施形態）
本実施形態では、動的な条件における距離計測の方法を説明する。ここで、動的な条件とは、撮影装置と物体との相対的な位置姿勢が変化する場合を意味する。具体的には、本実施形態では撮影装置を動かす場合を考える。
【００３９】
動的な条件では、撮影の度に、物体の異なる位置の画素が観測されることになる。本実施形態では、この問題を解決するため、撮影装置の位置姿勢を計測し、画像上で観測される物体の位置の変化をキャンセルするようにマッチングに利用する座標を選択する例を説明する。
【００４０】
図６は、本実施形態のマッチング方法を説明する図である。図６の２３１と２３２は、ステレオカメラで撮影した画像を示す。２３１と２３２は、異なる時刻で撮影した画像の並べた状態を図示する。２３３は、マッチングに利用するブロックを示す。本実施形態では、本実施形態では、ブロックの空間的なサイズは１画素とする。２３４は、ブロックのマッチングを行う範囲を示す。２３５は、マッチングに利用する画素１つ１つを示す。２３５の複数の四角形の色は、各画素の輝度値を示す。２３６は、マッチングに利用するブロック２３３内の画素の座標を、時間軸(time)と空間軸(space)について表す。２３５と２３６が示すように、本実施形態のマッチングでは、単純に同一の座標の画素を選択するわけではなく、各時刻の位置姿勢に基づいて、画像上で観測される物体の位置の変化をキャンセルするように利用する画像上の座標を選択する。
【００４１】
図７は、具体的に、画像群からマッチングに利用する画素の座標を選択する例を表す。２３７は、撮影した画像群を表す。２３８は、画像上で観測される物体である。２３９は、物体の位置の変化をキャンセルするように、マッチングに利用する画素の座標を選択した結果を表す。ここで、物体にはテクスチャパターンを投影しているため、ここで選択した画素は、図６の２３５が示すように、輝度値には変化があり、この変化を特徴としてマッチングを行う。
【００４２】
＜情報処理システムの構成＞
次に、本実施形態に係る情報処理システムの構成例について説明する。本実施形態では、第１の実施形態とは情報処理装置の構成が異なる。図において、３２０は本実施形態の情報処理装置を示す。本実施形態では、投影装置４１０と撮影装置４２０，４３０とは相対的に位置関係が固定されているものとする。情報処理装置３２０は、パターン変化制御部３２１、画像取得部３２２、位置姿勢取得部３２３、及び計測部３２４を備えている。
【００４３】
本実施形態では、相対的に固定された投影装置４１０と撮影装置４２０，４３０とのセットを動かしながら物体５００を観測する。
【００４４】
パターン変化制御部３２１及び画像取得部３２２は、第１の実施形態に係るパターン変化制御部３１１及び画像取得部３１２と同様の機能を有する。位置姿勢取得部３２３は、複数時刻tにおける撮影装置４２０の位置姿勢を取得する。ここで、位置姿勢は、時刻tnにおける撮影装置４２０の配置を基準座標系として、各時刻tにおける撮影装置４２０の位置姿勢を取得する。なお、位置姿勢は、具体的には３行３列の回転行列Rと、３行１列の並進ベクトルTとで構成される。
【００４５】
計測部３２４は、画像取得部３２２により取得された画像群に基づいて、左眼I1の画像における距離マップD(tn)を計測する。第１の実施形態とは異なり、計測部３２４は、視差を計測するためにマッチングを行う際に、それぞれの時刻の撮影装置４２０の位置姿勢に基づいて、マッチングに利用する画像上の座標を選択する。
【００４６】
＜処理＞
次に、本実施形態に係る情報処理装置が実施する処理について説明する。図９は、本実施形態に係る情報処理装置３２０が実施する処理の手順を示すフローチャートである。
【００４７】
本実施形態におけるパターン変化制御（ステップＳ６２１）と、画像取得（ステップＳ６２２）の処理は、第１の実施形態における処理と同じであるため、説明を省略する。以下、位置姿勢取得（ステップＳ６２３）と、計測（ステップＳ６２４）の処理を説明する。
【００４８】
（ステップＳ６２３）
位置姿勢取得部３２３は、各時刻tにおける撮影装置４２０の位置姿勢を取得する。本実施形態では、ICP(iterative closest point)に基づいて、位置姿勢を計測する方法を説明する。
【００４９】
まず、各時刻tにおける距離マップを１時刻だけの画像を利用して計測する。ここで、計測する距離マップをD'(t)と表わす。距離マップD'(t)は、例えば、画像の空間的な情報に基づく、一般的なブロックマッチングに基づいて計算できる。例えば、非特許文献１に記載の方法を利用できる。
【００５０】
次に、基準とする時刻tnでの距離マップD'(tn)に対して、各時刻tの距離マップD'(t)をICP(iterative closest point)を使って合わせることで、時刻tnにおける基準座標系に対する相対的な位置姿勢を計測する。ICP(iterative closest point)に基づく位置姿勢の計測方法は、非特許文献３に基づく方法などが利用できる。ここで、取得した各時刻tの回転行列と並進ベクトルはそれぞれR(t)、T(t)と表わす。
【００５１】
（ステップＳ６２４）
計測部３２４は、画像取得部３２２により取得された画像群に基づいて、左眼I1の画像における距離マップD(tn)を計測する。まず、左眼I1上の各画素を順番に選択する。本実施形態では、ラスタスキャンの要領で、画像上の左上から右下に向けて順番に選択する。以降、選択した座標は(u,v)と表わす。
【００５２】
次に、左眼I1上の座標(u,v)について、対応する右目I2上の座標を計測する。つまり、視差d(tn,u,v)を計測する。ここでは、視差の値を変えた時のマッチングの整合度Eに基づいて、整合度Eが最も高くなる視差の値dを探索する。整合度Eは式（４）に示すSAD（Sum of Absolute Difference）に基づいて計算する。
【００５３】
【数４】
2018004357.tif 000006
【００５４】
【数５】
2018004357.tif 000007
【００５５】
【数６】
2018004357.tif 000008
【００５６】
【数７】
2018004357.tif 000009
【００５７】
【数８】
2018004357.tif 000010
【００５８】
【数９】
2018004357.tif 000011
【００５９】
式（４）の評価値である整合度Eは、左眼I1と右眼I2との間で比較する画素値が整合するほど高い値となる。ここでは、座標 (u,v) を中心とした空間的な座標の位置(a,b)と時刻tについて、画素の整合度の総和を計算する。Wは、マッチングに利用するブロックの空間的なサイズを表す。Mは、マッチングに利用するブロックの時間的なサイズを表す。関数Gは、注目する座標(x,y)と時刻tについて、視差dが示す２つの座標の画素値の差を計量する関数である。関数Gの詳細は、式（５）に示す。関数Gでは、基準とする時刻tnにおける座標(x,y)と視差dの値に基づいて、時刻tの位置姿勢において選択する座標（Sx,Sy)と視差Sdを計算した後に、画素値を参照する。
【００６０】
具体的な計算を式（６）、式（７）、式（８）、式（９）に示す。ここで、式（７）の関数Oは、座標(x,y)と視差dの値を３次元座標に変換する関数を表わす。関数OのCx,Cyは撮影装置４２０の画像中心を表わすパラメータ、fは撮影装置４２０の焦点距離を表わす。Aは、視差を距離に変換する関数であり、詳細は式（３）に示した通りである。式（８）の関数Pは、時刻tの撮影装置４２０の位置姿勢に３次元座標Kを変換する関数を表わす。式（９）の関数Qは、３次元座標Kを画像上の２次元座標に変換する関数を表わす。関数QのKx、Ky、Kzは、３次元座標Kの各軸の成分を表わす。
【００６１】
式（６）では、関数O及び関数Pに基づいて、注目する座標(x,y)と視差の値から、時刻tにおける３次元座標を計算した後、関数Qに基づいて、時刻tにおける画像上の座標(Sx,Sy)を計算する。また、関数Bに基づいて、時刻tにおける視差Sdを計算する。関数Bは、距離を視差に変換する関数であり、詳細は式（３）に示した通りである。式（６）のPz(t,O(x,y,d))は、関数Pの示す３次元座標のZ軸の成分を表わす。
【００６２】
本実施形態では、W=0と与え、ブロックの空間的なサイズは１画素として計算する。一方、式（４）の１つ目の総和（Σ）が示すように、時刻tn-(M-1)から時刻tnまでのM枚の画像の範囲で、画素値の差を計算する。このとき、画素値の差を計量する２つの座標は、各時刻tの撮影装置４２０の位置姿勢に応じて選択する。以上説明した式（４）の整合度Eの計算式に基づいて、所定の範囲（dmin〜dmax）で視差dを変化させ、整合度Eが最も高くなる視差dを選択する。選択した視差dはd(t,u,v)と表記する。
【００６３】
次に、視差d(t,u,v)を距離D(t,u,v)に変換する。変換式は、式（３）に示した通りである。以上の操作を、選択する画素の座標(u,v)を変えて行うことで、左眼I1の画像における距離マップD(tn)を計測する。
【００６４】
以上述べたように、本実施形態では、複数時刻における計測対象の物体と撮影装置との相対的な位置姿勢を取得し、取得した位置姿勢に応じてマッチングに利用する画像上の座標を選択する。
【００６５】
これにより、計測対象の物体や撮影装置が動く条件においても、画像上の画素の時間的な輝度変化の情報を利用し、ブロックの空間的なサイズを小さく設定できる。空間的に小さなサイズのブロックであれば、凹凸の激しい形状に対しても、平面の近似が可能になるため、高精度に距離を計測できる。従って、物体の形状に依存せずに距離計測を高精度に行うことが可能となる。
【００６６】
（第３の実施形態）
本実施形態では、動的な条件における距離計測の方法を説明する。本実施形態でも、第２の実施形態と同様に撮影装置を動かす場合を考える。
【００６７】
第１及び第２の実施形態では、マッチングに利用するブロックのサイズを固定としていた。これに対し、本実施形態では、画像上の物体の各部位の動きの大きさに応じて、マッチングに利用するブロックの時空間的な形状（サイズ）を適切に選択する例を説明する。
【００６８】
具体的には、動きの大きい部位については空間的な情報の依存度を上げ、図１０の２４１と２５１に示すようなブロックの形状（サイズ）を利用する。逆に、動きの小さい部位については時間的な情報の依存度を上げ、図１０の２４３と２５３に示すような（第１の実施形態で説明した）ブロックの形状（サイズ）を利用する。また、動きの大きさが中程度の部位については、図１０の２４２と２５２に示すようなブロックの形状（サイズ）を利用する。なお、ブロックの形状は、式（１）における、空間的なサイズWと時間的なサイズMにより調整できる。
【００６９】
＜情報処理システムの構成＞
次に、本実施形態に係る情報処理システムの構成例について説明する。本実施形態では、第１の実施形態とは情報処理装置の構成が異なる。図１１において、３３０は本実施形態の情報処理装置を示す。本実施形態では、投影装置４１０と撮影装置４２０，４３０とは相対的に位置関係が固定されているものとする。情報処理装置３３０は、パターン変化制御部３３１、画像取得部３３２、時空間情報設定部３３３、及び計測部３３４を備えている。
【００７０】
本実施形態では、第２実施形態と同様に、相対的に固定された投影装置４１０と撮影装置４２０，４３０とのセットを動かしながら物体５００を観測する場合を考える。パターン変化制御部３３１及び画像取得部３３２は、第１の実施形態に係るパターン変化制御部３１１及び画像取得部３１２と同様の機能を有する。
【００７１】
時空間情報設定部３３３は、シーンの動きの大きさに応じて、マッチングに利用するブロックの形状（サイズ）を設定する。具体的には、左眼I1の各座標(u,v)について、ブロックの空間的なサイズWと時間的なサイズMを設定する。
【００７２】
計測部３３４は、時空間情報設定部３３３で設定した形状（サイズ）のブロックを利用して、左眼I1の画像における距離マップD(tn)を計測する。
【００７３】
＜処理＞
次に、本実施形態に係る情報処理装置が実施する処理について説明する。図１２は、本実施形態に係る情報処理装置３３０が実施する処理の手順を示すフローチャートである。
【００７４】
本実施形態におけるパターン変化制御（ステップＳ６３１）と、画像取得（ステップＳ６３２）の処理は、第１の実施形態における処理と同じであるため、説明を省略する。以下、時空間情報設定（ステップＳ６３３）と、計測（ステップＳ６３４）の処理を説明する。
【００７５】
（ステップＳ６３３）
時空間情報設定部３３３は、シーンの動きの大きさに応じて、マッチングに利用するブロックの形状（サイズ）を設定する。具体的には、左眼I1の各座標(u,v)について、ブロックの空間的なサイズWと時間的なサイズMを設定する。本実施形態では、各時刻tの距離マップに基づいて各座標(u,v)における動きの大きさを推定する。
【００７６】
まず、各時刻tにおける距離マップを１時刻だけの画像を利用して計測する。ここで、計測する距離マップをD'(t)と表わす。距離マップD'(t)は、例えば、画像の空間的な情報に基づく、一般的なブロックマッチングに基づいて計算できる。例えば、非特許文献１に基づく方法を利用できる。
【００７７】
次に、距離マップD'(t)とD'(t-1)の距離値の差を表わすマップH(t)を計量する。左眼I1の各座標(u,v)における距離値の差はH(t,u,v)と表わし、式（１０）によって計算する。
【００７８】
【数１０】
2018004357.tif 000012
【００７９】
次に、左眼I1の各座標(u,v)について、ブロックの空間的なサイズWと時間的なサイズMを設定する。左眼I1の各座標(u,v)におけるサイズは、それぞれW(u,v)とM(u,v)と表わし、式（１１）と式（１２）によって計算する。
【００８０】
【数１１】
2018004357.tif 000013
【００８１】
【数１２】
2018004357.tif 000014
【００８２】
式（１１）のWmaxは、マッチングブロックの空間的なサイズを表わす上限である。kは、動きの大きさに対する敏感度を表わす係数であり、kの値が大きいほど動きに対して空間的に大きなブロックを設定する。式（１２）のMmaxは、マッチングブロックの時間的なサイズを表わす上限である。sは、動きの大きさに対する敏感度を表わす係数であり、sの値が大きいほど動きに対して時間的に小さいブロックを設定する。関数
2018004357.tif 000015
は、x以下の最大整数を表す関数である。例えば
2018004357.tif 000016
はMmax-s・H(t,u,v)以下の最大整数を示す。なお、Wmax、Mmax、k、sの値は、予め設定する固定値とする。
【００８３】
（ステップＳ６３４）
計測部３３４は、時空間情報設定部３３３で設定したブロックの形状（サイズ）を利用して、左眼I1の画像における距離マップD(tn)を計測する。ここでの処理の内容は、第１の実施形態と同様である。ただし、式（１）を使ってマッチングを行う際に、時空間情報設定部３３３で設定したブロックの形状（サイズ）を利用する。具体的には、式（１）のWとMの値に、式（１１）と式（１２）で計算したW(u,v)とM(u,v)の値を設定する。
【００８４】
以上述べたように、本実施形態では、画像上の物体の各部位の動きの大きさに応じて、マッチングに利用するブロックの時空間的な形状（サイズ）を適切に選択する。これにより、動きの大小によらず安定して、計測対象の物体までの距離を高精度に計測することが可能となる。
【００８５】
[第１の変形例：装置構成のバリエーション]
本変形例では、テクスチャパターンを変化させて投影するための投影装置のバリエーションについて説明する。第１〜第３の実施形態では、投影装置は、画像の入力に応じてテクスチャパターンを投影するプロジェクタである。具体的には、液晶プロジェクタやDMD（Digital Mirror Device）プロジェクタを用いる。ここでは、入力する画像を切り替えることで、異なるテクスチャパターンを投影する。ただし、本発明における投影装置は、計測対象となる物体の各部位で観測される輝度値を変化できる装置であれば、どのような装置でも良い。
【００８６】
ここで、図１３の７１０、７２０、７３０は、投影装置のバリエーションを示す。ここでは、光源７０１と、光の入射に対してテクスチャパターンを生成する光学素子７０２とを用いて、光源７０１のオンオフ、光源７０１と光学素子７０２との相対的な位置や向きを変えることで、テクスチャパターンを変化させて投影する。
【００８７】
例えば、投影装置７１０に示すように、光源７０１と光学素子７０２とのセットを複数備え、発光する光源を切り替えることで投影するテクスチャパターンを変化させても良い。光源７０１は光を発光する装置であれば、どのような装置でも良い。光学素子７０２は、光の入力に対してテクスチャパターンを生成する素子であれば、どのような素子でも良い。具体的に、光源７０１と光学素子７０２の例としては、LED（Light Emitting Diode）の光源とテクスチャパターンのマスクでも良いし、レーザと回折光学素子（DOE：Diffractive Optical Eleme）でも良い。
【００８８】
また、投影装置７２０に示すように、複数の光源７０１と１つの光学素子７０２とを備え、光学素子７０２に入射する入射光の位置及び方向を変えることで、投影するテクスチャパターンを変化させても良い。また、投影装置７３０に示すように、ミラー７０３を備え、光学素子７０２に入射する光の位置及び方向を変えることで、投影されるテクスチャパターンを変化させても良い。また、光源７０１や光学素子７０２を物理的に動かすことにより、投影するテクスチャパターンを変化させても良い。投影装置自体を動かすことにより、投影するテクスチャパターンを変化させても良い。また、光源７０１の発光のオンオフを変化させることにより、投影するテクスチャパターンを変化させても良い。光源７０１の波長を変化させることにより、投影するテクスチャパターンを変化させても良い。さらに、これらを組み合わせて投影するテクスチャパターンを変化させても良い。
【００８９】
また、光源７０１と光学素子７０２の種類として、レーザと回折光学素子（DOE）を用いる場合、レーザの光の周波数を変えることにより、投影するテクスチャパターンを変化させても良い。周波数を変えると、回折光学素子（DOE）における回折の角度が変化し、テクスチャパターンの形状を変化させることができる。
【００９０】
投影するテクスチャパターンの画像を切り替える方法や、複数の投影モジュールを切り替える方法によれば、複数種類のテクスチャパターンを投影できる。この場合、テクスチャパターンの各部位の輝度値の時間変化を任意に設定できる。これにより、例えば、M系列などの擬似乱数に基づいて輝度値の時間変化をユニークに設定することで、マッチングの間違いを低減できる。
【００９１】
[第２の変形例：テクスチャパターンのバリエーション]
第１〜第３の実施形態では、テクスチャパターンの例として、図１の１１０、１２０、１３０に示すようなランダムパターンを利用している。ただし、本発明におけるテクスチャパターンは、空間的に輝度値の変化のあるパターンであれば、どのようなパターンでも良い。テクスチャパターンの空間的な輝度の分布ができるだけユニークになるように、M系列などの疑似乱数を利用して設定しても良い。図１に示す２値のパターンではなく、多値やカラーのパターンを利用しても良い。また、投影する光の波長は、可視光でもよいし、赤外光でも良い。１つの投影装置からパターンを投影しても良いし、同時に複数の投影装置を起動させてパターンを投影しても良い。
【００９２】
また、パターン変化制御部３１１，３２１，３３１は、計測対象となる物体の表面で観測される輝度値が変化する制御が可能であれば、どのような制御を行っても良い。具体的には、テクスチャパターンの模様の形状、模様の配置、投影の位置や角度、色、輝度値の少なくとも１つの要素を時間的に変化させる制御であれば、どのような制御を行っても良い。ランダムドットの配置を変えても良いし、ドット以外の模様に形状を変えても良い。投影装置を動かし、投影位置を変えることで、パターンを変化させても良い。
【００９３】
[第３の変形例：移動撮影におけるパターン変化制御なしの特殊例]
第２の実施形態では、パターン変化制御部３２１は計測対象となる物体５００に投影させるテクスチャパターンを、時間経過に対して変化させていた。これは、計測対象となる物体５００の各部位に投影される光を変化させることが目的であった。第２の実施形態では、この変化に基づいてマッチングを行っていた。
【００９４】
ただし、第２の実施形態のように、撮影装置４２０，４３０と投影装置４１０とが一体であり、さらに物体５００と投影装置４１０との相対的な位置姿勢が変化する場合、１種類のテクスチャパターンであっても物体５００の各部位に投影される光は変化する。この原理を利用する場合、第２の実施形態に示したようなパターン変化制御部はなくても良い。
【００９５】
[第４の変形例：位置姿勢取得部の処理のバリエーション]
位置姿勢取得部３２３は、物体５００と撮影装置４２０との相対的な位置姿勢を取得する。第２の実施形態では、距離マップを利用したICP(iterative closest point)に基づく方法を説明した。ただし、位置姿勢の取得方法は、これ以外の方法でも良い。撮影装置に姿勢センサや位置センサを備えて、その計測値から取得しても良い。撮影装置をロボットで制御して、その制御値から取得しても良い。また、シーン中にマーカを配置して、それを撮影した画像情報に基づいて計測しても良い。また、非特許文献３に示されるような、SLAM (Simultaneous Localization and Mapping) を利用した方法により計測しても良い。
【００９６】
また、第２の実施形態では、撮影装置４２０を動かす場合を想定した。ただし、本発明の方法は、物体５００と撮影装置４２０との相対的な位置姿勢を取得可能であれば、どのような動きの条件でも良い。物体５００を動かしても良いし、物体５００と撮影装置４２０の両方を動かしても良い。
【００９７】
[第５の変形例：時空間情報設定部の処理のバリエーション]
時空間情報設定部３３３は、シーンの動きの大きさに応じて、マッチングに利用するブロックの形状を設定する。第３の実施形態では、シーンの動きの大きさを、距離マップの時間変化に基づいて設定する。ただし、動きの大きさを計量する方法は、これ以外の方法でも良い。物体５００や撮影装置に、動きセンサを取りつけて、その数値に応じて動きの大きさを設定しても良いし、ユーザが各時刻の動きの大きさを設定しても良い。また、投影装置のテクスチャパターンとは異なる波長域を観測する撮影装置を別途用意し、その画像の画素の輝度値の時間変化に基づいて設定しても良い。また、画像上の各座標(u,v)について動きの大きさを設定しても良いし、画像全体で１つの動きの大きさを設定しても良い。
【００９８】
また、時間的なサイズWと時間的なサイズMを変えた、複数種類のブロックの形状を用意し、各ブロックについてそれぞれ視差を変えて整合度を計算した際に、整合度の高くなるブロックの形状を採用して視差を推定しても良い。この場合、時空間情報設定部３３３では、ブロックの形状を設定する必要はない。
【００９９】
また、時空間情報の重要度を、サイズではなく、各座標の重要度として設定しても良い。具体的には、シーンの動きが大きい場合には、空間的には重みを変えず、基準時刻Tnから時間的に離れた画像上の座標の重要度を低く設定する。逆に、シーンの動きが小さい場合には、時間的には重みを変えず、注目する座標(u,v)から空間的に離れた座標の重要度を低く設定する。計測部３３４は、設定した重要度に基づいて、式（２）や式（５）の画素値の差に重みをかけ合わせることで、整合度を計算する。
【０１００】
[第６の変形例：距離計測のバリエーション]
第１〜第３の実施形態では、計測部３１３，３２４，３３４は、視差を変数として、整合度Eを最大にするような視差を探索的に計測する例を説明した。これに対し、視差と距離は相互に変換できるため、距離を変数として計測しても良い。本発明における計測部は、画像間で整合する視差や距離を計測できる方法であれば、どのような方法で計測を行っても良い。非特許文献４に示すようなランダム性を利用する視差の推定方法でも良いし、BP(Belief Propagation)やGC(Graph Cut)などの最適化を利用する計測方法を利用しても良い。計測部が計億する距離情報は、視差の値、距離の値、三次元座標の値のいずれかであってもよい。
【０１０１】
また、第１〜第３の実施形態では、整合度の計算方法として、SADを利用する方法を説明した。ただし、整合度は、比較する画像上の領域が整合するほど、評価値が高くなるような計算方法であれば、どのような方法でも良い。SSD（Sum of Squared Difference）を利用しても良いし、NCC(Normalized Cross-Correlation)を利用しても良い。
【０１０２】
[第７の変形例：時刻に関するバリエーション]
第１〜第３の実施形態では、距離を計測する時刻tnを基準として、時刻tn-(M-1)から時刻tnまでのM枚の画像を利用して、物体までの距離を計測していた。ただし、選択する時刻は、時間順にすべて利用する必要はない。とびとびの時刻の画像を選択しても良いし、離れた時刻の画像を選択しても良い。例えば、白トビや欠損の多い画像を取り除いて、画像を選択しても良い。または、いくつかの画像選択の組み合わせを変えて、マッチングの整合度が高くなる画像を選択しても良い。
【０１０３】
また、距離を計測する時刻tnは、任意の時刻である。そのため、例えば、撮影した画像のすべての時刻について、距離マップを計測しても良い。
【０１０４】
[第８の変形例：カメラ台数のバリエーション]
第１〜第３の実施形態では、２台の撮影装置４２０と４３０の間のマッチングによって距離を計測していた。しかし、本発明に係る方法では、撮影装置の台数は１台でも良い。この場合、撮影装置４２０の画像と投影装置４１０から投影するテクスチャパターンとが整合する距離をマッチングによって計測する。すなわち、撮影装置４２０の画像と投影装置４１０から投影するテクスチャパターンとの間の対応を画素値の時間変化に基づいて探索することにより、物体までの距離計測を実行する。また、撮影装置の２台より多くても良い。この場合、複数の視点の画像間で整合するような距離をマッチングによって計測する。
【０１０５】
[第９の変形例：出力のバリエーション]
第１〜第３の実施形態では、左眼I1（撮影装置４２０）の視点を基準として、距離マップを計測していた。ただし、距離マップを計測する視点は、何れの視点でも良い。右眼I2（撮影装置４３０）の視点でも良いし、任意に設定する視点でも良い。また、本発明に係る出力結果は、視差でも良いし、距離値をさらに３次元位置に変換して出力した内容であっても良い。
【０１０６】
[第１０の変形例：出力結果の利用先について]
本発明によって出力した距離マップは、任意の用途に利用可能である。例えば、物体の認識、検査、位置姿勢の計測、モデリング、人体のジェスチャ認識、医療における診断、等の用途に利用しても良い。
【０１０７】
＜効果＞
第１の実施形態では、画像上の画素の時間的な輝度変化の情報を加えてマッチングを行うことで、ブロックの空間的なサイズを小さく設定できる。空間的に小さなサイズのブロックであれば、凹凸の激しい形状に対しても、平面の近似が可能になるため、高精度に距離を計測できる。
【０１０８】
第２の実施形態では、複数時刻における物体と撮影装置との相対的な位置姿勢を取得し、位置姿勢に応じてマッチングに利用する画像上の座標を選択する。これにより、物体や撮影装置が動く条件においても、画像上の画素の時間的な輝度変化の情報を利用し、ブロックの空間的なサイズを小さく設定できる。空間的に小さなサイズのブロックであれば、凹凸の激しい形状に対しても、平面の近似が可能になるため、高精度に距離を計測できる。
【０１０９】
第３の実施形態では、画像上の物体の各部位の動きの大きさに応じて、マッチングに利用するブロックの時空間における形状（サイズ）を適切に選択する。これにより、動きの大小によらず安定して、物体の距離を高精度に計測することができる。
【０１１０】
第１の変形例では、テクスチャパターンを変化させて投影する他の方法を説明した。特に、投影するテクスチャパターンの画像を切り替える方法や、複数の投影モジュールを切り替える方法によれば、複数種類のテクスチャパターンを投影できる。この場合、テクスチャパターンの各部位の輝度値の時間変化を任意にユニークに設定できるため、マッチングの間違いを低減できる。
【０１１１】
＜定義＞
本発明において、物体に投影するテクスチャパターンは、空間的に輝度値の変化のあるパターンであれば、どのようなパターンでも良い。ランダムドットでも良いし、多値の輝度変化を持つパターンでも良い。
【０１１２】
計測部は、撮影装置が撮影した画像間の対応を画素値の時間変化に基づいて探索することで物体への距離に関する情報を計測する方法であれば、どのような方法でも良い。画素値の時間変化に基づいて、ステレオの画像間でマッチングを行い整合度の高くなる距離値を探索する方法でも良いし、BP(Belief Propagation)などの最適化を適用して距離値を推定しても良い。
【０１１３】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１１４】
３１０：情報処理装置、３１１：パターン変化制御部、３１２：画像処理部、３１３：計測部、４１０：投影装置、４２０，４３０：撮影装置、５００：物体
【図１】
2018004357.tif 000017
【図２】
2018004357.tif 000018
【図３】
2018004357.tif 000019
【図４】
2018004357.tif 000020
【図５】
2018004357.tif 000021
【図６】
2018004357.tif 000022
【図７】
2018004357.tif 000023
【図８】
2018004357.tif 000024
【図９】
2018004357.tif 000025
【図１０】
2018004357.tif 000026
【図１１】
2018004357.tif 000027
【図１２】
2018004357.tif 000028
【図１３】
2018004357.tif 000029