(57)【特許請求の範囲】
【請求項１】
デプスカメラ（深度センサ）を有する装置に搭載されたコンピュータを、当該デプスカメラの内部パラメータを算出するように機能させるプログラムであって、
前記デプスカメラから、デプス画像の点座標（ｕd，ｖd）とデプス値（Ｚ座標）との組を取得するデプスデータ取得手段と、
データベースを用いて、前記デプス画像の点座標（ｕd，ｖd）及びデプス値（Ｚ座標）から、デプスカメラ座標系の３次元座標（Ｘ，Ｙ，Ｚ）を取得するポイントクラウドデータ取得手段と、
前記デプス画像の点座標（ｕd，ｖd）と、前記ポイントクラウドデータの３次元座標（Ｘ，Ｙ，Ｚ）との組を線形で対応付ける変換パラメータを、前記デプスカメラの内部パラメータとして算出する内部パラメータ算出手段と
してコンピュータを機能させることを特徴とするプログラム。
【請求項２】
前記内部パラメータ算出手段は、点座標（ｕd，ｖd）とデプス値（Ｚ座標）とを少なくとも２組を用いて、ピンホールカメラモデルに基づく以下の式によって、前記デプスカメラの内部パラメータＡdを算出する
【数１】
0006465789.tif 000010
ｓ：スケール係数
Ａd：デプスカメラの内部パラメータ
ｆu：デプスカメラのu軸に対する焦点距離
ｆv：デプスカメラのv軸に対する焦点距離
Ｃu：デプスカメラのu軸に対する光軸ずれ
Ｃv：デプスカメラのv軸に対する光軸ずれ
ようにコンピュータを機能させることを特徴とする請求項１に記載のプログラム。
【請求項３】
前記内部パラメータ算出手段は、点座標（ｕd，ｖd）とデプス値（Ｚ座標）とを少なくとも１組を用いて、光軸のずれを画像中心と規定することによって、画像サイズをw×hとして、以下の式に基づく内部パラメータＡdを算出する
【数２】
0006465789.tif 000011
ようにコンピュータを機能させることを特徴とする請求項２に記載のプログラム。
【請求項４】
前記内部パラメータ算出手段は、前記デプスカメラの横軸方向及び縦軸方向の両方の焦点距離を、同一距離ｆと規定することによって、以下の式に基づく内部パラメータＡを算出する
【数３】
0006465789.tif 000012
ようにコンピュータを機能させることを特徴とする請求項２又は３に記載のプログラム。
【請求項５】
前記デプスデータ取得手段は、デプス画像に映る任意の３次元物体を構成する頂点の中から、頂点間の距離が長くなるように頂点群を選択し、それぞれから前記デプス値（Ｚ座標）を取得するようにコンピュータを機能させることを特徴とする請求項１から４のいずれか１項に記載のプログラム。
【請求項６】
前記デプスデータ取得手段は、デプス画像に映る、データベースに記憶された矩形マーカの頂点を、ユーザによって又は画像算出によって算出し、デプス画像の一点（ｕd，ｖd）として特定し、
当該矩形マーカ画像に基づいて設定された世界座標系の一点（Ｘw，Ｙw，Ｚw）をデータベースから取得する世界座標算出手段と、
前記デプス画像の点座標（ｕd，ｖd）と、前記内部パラメータＡdと、前記世界座標系の点座標（Ｘw，Ｙw，Ｚw）とを用いて、以下の式によって世界座標系からデプスカメラ座標系への変換行列Ｗd,wを外部パラメータとして算出する外部パラメータ算出手段と
【数４】
0006465789.tif 000013
してコンピュータを更に機能させることを特徴とする請求項１から５のいずれか１項に記載のプログラム。
【請求項７】
前記デプスカメラは、対応関係が取得できる第１のＲＧＢカメラと共に搭載されており、
前記世界座標算出手段は、デプス画像の各座標に対して対応するＲＧＢ値を格納し、その色情報に基づいて前記矩形マーカ画像の頂点を検出する
ようにコンピュータを更に機能させることを特徴とする請求項６に記載のプログラム。
【請求項８】
前記装置は、前記デプスカメラと第２のＲＧＢカメラとを搭載しており、
前記デプスカメラ座標系を、第２のＲＧＢカメラの座標系への変換行列Ｗc,dを、以下の式によって算出する変換行列算出手段と
Ｗc,d＝Ｗc,w・Ｗd,w -1
Ｗc,w：世界座標系から第２のＲＧＢカメラ座標系への外部パラメータ
Ｗd,w -1：世界座標系からデプスカメラ座標系への外部パラメータの逆行列
してコンピュータを更に機能させることを特徴とする請求項６又は７に記載のプログラム。
【請求項９】
前記デプスカメラで取得した一点Ｘdを、第２のＲＧＢカメラの一点（ｕc，ｖc）とを、以下の式で対応付けることにより、ＲＧＢ情報付きのポイントクラウドデータを取得する外部ＲＧＢポイントクラウドデータ取得手段と
Ａc・Ｗc,d・Ｘd
してコンピュータを更に機能させることを特徴とする請求項８に記載のプログラム。
【請求項１０】
デプスカメラ（深度センサ）を有し、当該デプスカメラの内部パラメータを算出する装置であって、
前記デプスカメラから、デプス画像の点座標（ｕd，ｖd）とデプス値（Ｚ座標）との組を取得するデプスデータ取得手段と、
データベースを用いて、前記デプス画像の点座標（ｕd，ｖd）及びデプス値（Ｚ座標）から、ポイントクラウドデータの３次元座標（Ｘ，Ｙ，Ｚ）を取得するポイントクラウドデータ取得手段と、
前記デプス画像の点座標（ｕd，ｖd）と、前記ポイントクラウドデータの３次元座標（Ｘ，Ｙ，Ｚ）との組を線形で対応付ける変換パラメータを、前記デプスカメラの内部パラメータとして算出する内部パラメータ算出手段と
を有することを特徴とする装置。
【請求項１１】
デプスカメラ（深度センサ）を有する装置を用いて、当該デプスカメラの内部パラメータを算出する装置の内部パラメータ算出方法であって、
前記デプスカメラから、デプス画像の点座標（ｕd，ｖd）とデプス値（Ｚ座標）との組を取得する第１のステップと、
データベースを用いて、前記デプス画像の点座標（ｕd，ｖd）及びデプス値（Ｚ座標）から、ポイントクラウドデータの３次元座標（Ｘ，Ｙ，Ｚ）を取得する第２のステップと、
前記デプス画像の点座標（ｕd，ｖd）と、前記ポイントクラウドデータの３次元座標（Ｘ，Ｙ，Ｚ）との組を線形で対応付ける変換パラメータを、前記デプスカメラの内部パラメータとして算出する第３のステップと
を実行することを特徴とする装置の内部パラメータ算出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デプスカメラの内部及び外部パラメータを算出する端末校正の技術に関する。
【背景技術】
【０００２】
従来、ＲＧＢ(Red-Green-Blue)画像とデプス画像とを同時に取得する「ＲＧＢ−Ｄカメラ」がある。市販製品として、例えばMicrosoft社製「Kinect」や、ASUS社製「Xtion」、Intel社製「RealSense」がある。これらのＲＧＢ−Ｄカメラは、例えばジェスチャ入力を安価に実現するＮＵＩ(Natural User Interface)として利用されることが多い。また、デプス画像のみを取得するセンサ（例えばレーザレンジファインダ）と異なって、既存の画像処理技術に適用できるという観点から、ＡＲ／ＶＲ技術やロボットビジョン技術にも広く利用されている。
【０００３】
例えばカメラデバイスを用いた用途として、対象物のＲＧＢ情報付き３次元モデルを作成する場合がある。
通常のＲＧＢカメラを用いた場合、３次元情報を取得するために、多視点の撮影画像が必要となり、且つ、その点群も疎となる。
これに対し、ＲＧＢ−Ｄカメラを用いた場合、１視点からの撮影だけで密な３次元情報を取得することができ、高精度な３次元モデルを簡単に作成することができる。
【０００４】
図１は、ＲＧＢ−ＤカメラにおけるデプスカメラとＲＧＢカメラとのカメラ座標の対応関係を表す説明図である。
【０００５】
図１によれば、ＲＧＢ−Ｄカメラは、以下の３つのデバイスから構成される。
ＲＧＢカメラ（可視光カメラ）
デプスカメラ（赤外線カメラ＋赤外線プロジェクタ）
ＲＧＢカメラは、市販のＷＥＢカメラと同様に、ＲＧＢ画像を取得する。
デプスカメラは、赤外線プロジェクタから赤外線を照射し、その反射を計測することによって、各座標にデプス値（Ｚ座標）を対応付けたデプス画像を取得する。デプス画像は、被写体のデプスカメラ座標系での３次元座標（ＸＹＺ）に変換できる。
【０００６】
ＲＧＢ−Ｄカメラによれば、ＲＧＢカメラで取得したＲＧＢ画像と、デプスカメラで取得したデプス画像及び３次元のＸＹＺ座標とを取得し、色情報付きの６次元データ（ＲＧＢＸＹＺ）を有する点群（ポイントクラウドデータ）を生成することができる。
【０００７】
ここで、ＲＧＢカメラ及びデプスカメラは、別デバイスであるために、それらのカメラ座標系は通常、一致しない。そのため、色情報付きのポイントクラウドデータを生成するためには、ＲＧＢカメラのＲＧＢ画像とデプスカメラのデプス画像との間の、ピクセル座標系の対応関係が必要となる。ピクセル座標系の対応関係は、通常、市販製品のＳＤＫ(Software Development Kit)や外部ライブラリにデフォルト値が用意されており、ＡＰＩ(Application Programming Interface)を用いて取得することができる。例えば図１によれば、デプス画像の一点（ｕd，ｖd）と、対応するデプス値（Ｚ座標）とを入力することにより、ＲＧＢ画像中の対応点（ｕc，ｖc）が得られる。ＲＧＢカメラとデプスカメラとが一体的に組み込まれた市販のＲＧＢ−Ｄカメラ単体を用いる場合は、外部パラメータのキャリブレーション等の作業を別途行うことなく、メーカ側で用意されたデフォルト値を用いることにより、ＲＧＢポイントクラウドデータ（ＲＧＢＸＹＺの６次元点群）を容易に生成することができる。
【０００８】
図２は、ロボットビジョン装置の外観図である。
【０００９】
図２によれば、ロボットビジョン装置には、１台の全方位ＲＧＢカメラと複数台のＲＧＢ−Ｄカメラとが一体的に組み込まれている（例えば非特許文献１参照）。この装置は、全方位ＲＧＢカメラによって取得されたＲＧＢ画像と、ＲＧＢ−Ｄカメラによって取得されたＸＹＺの３次元座標を対応付けることにより、広範囲のポイントクラウドデータを生成できる。尚、ＲＧＢ−Ｄカメラについては、３次元情報を取得するためだけに使用しているため、代わりにデプスカメラを用いてもよい。この対応付けを実現するためには、全方位ＲＧＢカメラとデプスカメラとの間の位置関係を固定した上で、それらの相対位置姿勢Ｗc,dを事前に算出しておく必要がある。例えば以下の行列式によって、ＲＧＢ−Ｄカメラで取得した３次元座標を、全方位ＲＧＢカメラのＲＧＢ画像に対応付けることができる。
Ａc・Ｗc,d・Ｘd
Ａc：全方位ＲＧＢカメラの内部パラメータの行列
Ｗc,d：デプスカメラ座標系から全方位ＲＧＢカメラ座標系への変換行列
Ｘd：デプスカメラ座標系における１点（３次元座標）
【００１０】
＜Ａcについて＞
一般に、カメラの内部パラメータは、例えば非特許文献２に記載の技術で算出することができる。被写体としてのチェスボードを、様々な距離及び角度で撮影し、複数の撮影画像（例えば２０枚程度）を取得する。そして、各撮影画像中のコーナー点を検出することによって、多数の点対応から内部パラメータを算出する。全方位ＲＧＢカメラの内部パラメータＡcについても、同様の方式で容易に算出できる。
【００１１】
＜Ｗc,dについて＞
一方、Ｗc,dは、全方位ＲＧＢカメラ及びデプスカメラの両方の外部パラメータＷc及びＷdから算出することができる。一般に、カメラの外部パラメータは、カメラの内部パラメータが未知か又は既知であるかによって、必要となる点対応の数が異なる。カメラの内部パラメータＡが未知の場合、最少６組の点対応とＤＬＴ(Direct Linear Transformation)アルゴリズムとを用いて投影行列を算出した後、内部パラメータＡと外部パラメータＷとに分解して算出することができる。このとき、点対応は、非同一平面上に存在する必要があり、且つ、十分な精度で計算するためには１０組以上の点対応が必要となる。また、内部パラメータＡが既知の場合、最少４組の点対応とＰｎＰ(Perspective n-Point)アルゴリズムとを用いて算出できる。４点は同一平面上にあってもよく、最少（４組）の点対応からでも、十分な精度のカメラ姿勢が得られる。全方位カメラの外部パラメータＷcについては、上述で算出した内部パラメータＡcを用いて、高精度に算出することができる。同様にして、デプスカメラの外部パラメータＷdを算出するために、デプスカメラの内部パラメータＡdが既知であることが望ましい。
【００１２】
＜Ａdについて＞
図３は、デプスカメラの内部パラメータを、チェスボードを用いて算出する説明図である。
非特許文献２に記載の技術におけるデプスカメラの内部パラメータを算出する場合、白い領域と半透明の領域とが交互に並んだチェスボードを被写体として用いる。これによって、デプス画像の濃淡情報によるコーナー点を検出することができる。内部パラメータのキャリブレーションについては、デプスカメラもＲＧＢカメラと同様に、多数の点対応を用いて実行する。
【先行技術文献】
【非特許文献】
【００１３】
【非特許文献１】F. Okura, Y. Ueda, T. Sato and N. Yokoya: “Teleoperation of Mobile Robots by Generating Augmented Free-Viewpoint Images”, Proc. 2013 IEEE/RSJ Int. Conf. Intelligent Robots & Syst. (IROS’13), pp.665-671 (2013)
【非特許文献２】A flexible new technique for camera calibration". IEEE Transactions on Pattern Analysis and Machine Intelligence, 22(11):1330-1334, 2000.
【非特許文献３】加藤博一，M.Billinghurst，浅野浩一，橘啓八郎，“マーカ追跡に基づく拡張現実感システムとそのキャリブレーション” ，日本バーチャルリアリティ学会論文誌，Vol4，No4，pp.607-616，(1999)
【非特許文献４】Kinect camera calibration, http://doc-ok.org/?p=289
【発明の概要】
【発明が解決しようとする課題】
【００１４】
しかしながら、前述した従来技術によれば、デプスカメラの外部パラメータを算出するために、デプスカメラの内部パラメータを事前に算出する場合には、半透明のチェスボードを製作し、多数の撮影画像を用意する必要がある。また、図３のように、デプスカメラのデプス画像について、チェスボードを撮影したデプス画像の輪郭が不明瞭な場合や、コーナー点を正確に検出できない場合、内部パラメータを十分な精度で算出することができない。一方で、内部パラメータについてキャリブレーションを事前に実行しない場合は、外部パラメータを十分な精度で得るために１０組以上の点対応が必要になる。
【００１５】
図１のような、デプスカメラ及びＲＧＢカメラを同一筐体に組み込んだＲＧＢ−Ｄカメラについて、ＳＤＫ等によってデプスとＲＧＢの対応関係を取得できる場合、ユーザ側で別途各カメラの外部パラメータを算出する必要はない。一方で、対応関係が取得できない場合は、ユーザ側で各カメラの外部パラメータを算出する必要があり、その精度は最終的に出力される色情報付きのポイントクラウドデータの精度に影響を及ぼす。
【００１６】
図２のような、ロボットビジョン装置について、ＲＧＢ−Ｄカメラと全方位ＲＧＢカメラとが別筐体で設置されている場合、ＲＧＢカメラのＲＧＢ値とデプスカメラとのデプス値との間のカメラ座標系間の変換行列を、ユーザ側で事前に算出しておく必要がある。ここで、変換行列は、ＲＧＢ−Ｄカメラに含まれるデプスカメラ及び全方位ＲＧＢカメラ両方の外部パラメータから決定される。この変換行列を用いることによって、デプスカメラで取得したＸＹＺの３次元点群と、全方位ＲＧＢカメラのような外部ＲＧＢカメラで取得したＲＧＢ画像とを対応付けることできる。結局、ロボットビジョン装置における色情報付きのポイントクラウドデータの精度も、その外部パラメータの精度の影響を受ける。
いずれの場合においても、デプスカメラの外部パラメータを高精度に算出するために、デプスカメラの内部パラメータを事前に高精度に算出しておくことが望ましい。
【００１７】
そこで、本発明は、例えばチェスボードのような特有の撮影操作を伴うキャリブレーションを実行することなく、できる限り少数の点対応で、デプスカメラの内部パラメータを算出することができるプログラム、装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【００１８】
本発明によれば、デプスカメラ（深度センサ）を有する装置に搭載されたコンピュータを、当該デプスカメラの内部パラメータを算出するように機能させるプログラムであって、
デプスカメラから、デプス画像の点座標（ｕd，ｖd）とデプス値（Ｚ座標）との組を取得するデプスデータ取得手段と、
データベースを用いて、デプス画像の点座標（ｕd，ｖd）及びデプス値（Ｚ座標）から、デプスカメラ座標系の３次元座標（Ｘ，Ｙ，Ｚ）を取得するポイントクラウドデータ取得手段と、
デプス画像の点座標（ｕd，ｖd）と、ポイントクラウドデータの３次元座標（Ｘ，Ｙ，Ｚ）との組を線形で対応付ける変換パラメータを、デプスカメラの内部パラメータとして算出する内部パラメータ算出手段と
してコンピュータを機能させることを特徴とする。
【００１９】
本発明のプログラムにおける他の実施形態によれば、
内部パラメータ算出手段は、点座標（ｕd，ｖd）とデプス値（Ｚ座標）とを少なくとも２組を用いて、ピンホールカメラモデルに基づく以下の式によって、デプスカメラの内部パラメータＡdを算出する
【数１】
0006465789.tif 000002
ｓ：スケール係数
Ａd：デプスカメラの内部パラメータ
ｆu：デプスカメラのu軸に対する焦点距離
ｆv：デプスカメラのv軸に対する焦点距離
Ｃu：デプスカメラのu軸に対する光軸ずれ
Ｃv：デプスカメラのv軸に対する光軸ずれ
ようにコンピュータを機能させることも好ましい。
【００２０】
本発明のプログラムにおける他の実施形態によれば、
内部パラメータ算出手段は、点座標（ｕd，ｖd）とデプス値（Ｚ座標）とを少なくとも１組を用いて、光軸のずれを画像中心と規定することによって、画像サイズをw×hとして、以下の式に基づく内部パラメータＡdを算出する
【数２】
0006465789.tif 000003
ようにコンピュータを機能させることも好ましい。
【００２１】
本発明のプログラムにおける他の実施形態によれば、
内部パラメータ算出手段は、デプスカメラの横軸方向及び縦軸方向の両方の焦点距離を、同一距離ｆと規定することによって、以下の式に基づく内部パラメータＡを算出する
【数３】
0006465789.tif 000004
ようにコンピュータを機能させることも好ましい。
【００２２】
本発明のプログラムにおける他の実施形態によれば、
デプスデータ取得手段は、デプス画像に映る任意の３次元物体を構成する頂点の中から、頂点間の距離が長くなるように頂点群を選択し、それぞれからデプス値（Ｚ座標）を取得するようにコンピュータを機能させることも好ましい。
【００２３】
本発明のプログラムにおける他の実施形態によれば、
デプスデータ取得手段は、デプス画像に映る、データベースに記憶された矩形マーカの頂点を、ユーザによって又は画像算出によって算出し、デプス画像の一点（ｕd，ｖd）として特定し、
当該矩形マーカ画像に基づいて設定された世界座標系の一点（Ｘw，Ｙw，Ｚw）をデータベースから取得する世界座標算出手段と、
デプス画像の点座標（ｕd，ｖd）と、内部パラメータＡdと、世界座標系の点座標（Ｘw，Ｙw，Ｚw）とを用いて、以下の式によって世界座標系からデプスカメラ座標系への変換行列Ｗd,wを外部パラメータとして算出する外部パラメータ算出手段と
【数４】
0006465789.tif 000005
してコンピュータを更に機能させることも好ましい。
【００２４】
本発明のプログラムにおける他の実施形態によれば、
デプスカメラは、対応関係が取得できる第１のＲＧＢカメラと共に搭載されており、
世界座標算出手段は、デプス画像の各座標に対して対応するＲＧＢ値を格納し、その色情報に基づいて矩形マーカ画像の頂点を検出する
ようにコンピュータを更に機能させることも好ましい。
【００２５】
本発明のプログラムにおける他の実施形態によれば、
装置は、デプスカメラと第２のＲＧＢカメラとを搭載しており、
デプスカメラ座標系を、第２のＲＧＢカメラの座標系への変換行列Ｗc,dを、以下の式によって算出する変換行列算出手段と
Ｗc,d＝Ｗc,w・Ｗd,w -1
Ｗc,w：世界座標系から第２のＲＧＢカメラ座標系への外部パラメータ
Ｗd,w -1：世界座標系からデプスカメラ座標系への外部パラメータの逆行列
してコンピュータを更に機能させることも好ましい。
【００２６】
本発明のプログラムにおける他の実施形態によれば、
デプスカメラで取得した一点Ｘdを、第２のＲＧＢカメラの一点（ｕc，ｖc）とを、以下の式で対応付けることにより、ＲＧＢ情報付きのポイントクラウドデータを取得する外部ＲＧＢポイントクラウドデータ取得手段と
Ａc・Ｗc,d・Ｘd
してコンピュータを更に機能させることも好ましい。
【００２７】
本発明によれば、デプスカメラ（深度センサ）を有し、当該デプスカメラの内部パラメータを算出する装置であって、
デプスカメラから、デプス画像の点座標（ｕd，ｖd）とデプス値（Ｚ座標）との組を取得するデプスデータ取得手段と、
データベースを用いて、デプス画像の点座標（ｕd，ｖd）及びデプス値（Ｚ座標）から、ポイントクラウドデータの３次元座標（Ｘ，Ｙ，Ｚ）を取得するポイントクラウドデータ取得手段と、
デプス画像の点座標（ｕd，ｖd）と、ポイントクラウドデータの３次元座標（Ｘ，Ｙ，Ｚ）との組を線形で対応付ける変換パラメータを、デプスカメラの内部パラメータとして算出する内部パラメータ算出手段と
を有することを特徴とする。
【００２８】
本発明によれば、デプスカメラ（深度センサ）を有する装置を用いて、当該デプスカメラの内部パラメータを算出する装置の内部パラメータ算出方法であって、
デプスカメラから、デプス画像の点座標（ｕd，ｖd）とデプス値（Ｚ座標）との組を取得する第１のステップと、
データベースを用いて、デプス画像の点座標（ｕd，ｖd）及びデプス値（Ｚ座標）から、ポイントクラウドデータの３次元座標（Ｘ，Ｙ，Ｚ）を取得する第２のステップと、
デプス画像の点座標（ｕd，ｖd）と、ポイントクラウドデータの３次元座標（Ｘ，Ｙ，Ｚ）との組を線形で対応付ける変換パラメータを、デプスカメラの内部パラメータとして算出する第３のステップと
を実行することを特徴とする。
【発明の効果】
【００２９】
本発明のプログラム、装置及び方法によれば、例えばチェスボードのような特有の撮影操作を伴うキャリブレーションを実行することなく、できる限り少数の点対応で、デプスカメラの内部パラメータを算出することができる。
この内部パラメータを用いることによって、デプスカメラの外部パラメータを、できる限り少数の点対応から、高精度に算出することができる。結果として、デプスカメラ及びＲＧＢカメラが同一筐体をなすＲＧＢ−Ｄカメラを用いる場合や、デプスカメラと別途設置した外部のＲＧＢカメラとを連携させる場合に、高精度なＲＧＢ情報付きポイントクラウドデータを算出することができる。
【図面の簡単な説明】
【００３０】
【図１】ＲＧＢ−ＤカメラにおけるデプスカメラとＲＧＢカメラとのカメラ座標の対応関係を表す説明図である。
【図２】ロボットビジョン装置の外観図である。
【図３】デプスカメラの内部パラメータを、チェスボードを用いて算出する説明図である。
【図４】外部パラメータを推定する際の矩形マーカの検出処理を表す説明図である。
【図５】本発明における撮影装置の機能構成図である。
【図６】ＲＧＢ−Ｄカメラと外部ＲＧＢカメラとの間でカメラ座標の対応関係を表す説明図である。
【発明を実施するための形態】
【００３１】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【００３２】
図５は、本発明における撮影装置の機能構成図である。
【００３３】
図５によれば、撮影装置としてのロボットビジョン装置は、ＲＧＢ−Ｄカメラ１０１と、全方位ＲＧＢカメラ１０２とを搭載する。本発明によれば、ＲＧＢ−Ｄカメラ１０１のデプスカメラにおける内部パラメータを算出することができる。また、ＲＧＢ−Ｄカメラ１０１のデプスカメラにおける外部パラメータも算出することができる。更に、ＲＧＢ−Ｄカメラ１０１のデプス画像と全方位ＲＧＢカメラ１０２のＲＧＢ画像との間で、座標の対応関係を表す変換行列を算出することもできる。
尚、本発明によれば、市販のＲＧＢ−Ｄカメラを用いることを必須とするものではなく、単体のデプスカメラであっても、内部パラメータの算出に用いることができる。
【００３４】
本発明の撮影装置１は、ポイントクラウドデータベース１１と、デプスデータ取得部１２と、ポイントクラウドデータ取得部１３と、内部パラメータ算出部１４とを有する。また、撮影装置１は、世界座標算出部１５と、外部パラメータ算出部１６と、変換行列算出部１７と、外部ＲＧＢポイントクラウドデータ取得部１８とを有する。これら機能構成部は、撮影装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現できる。また、これら機能構成部の処理の流れは、内部／外部パラメータの算出方法としても理解できる。
【００３５】
［ポイントクラウドデータベース１１］
ポイントクラウドデータベース１１は、デプス画像の点座標（ｕd，ｖd）とデプス値（Ｚ座標）について、デプスカメラ座標系（３次元空間）の対応点（Ｘ、Ｙ，Ｚ）の点群を、ルックアップテーブルとして記憶したデータベースである。又は、デプス画像の点座標（ｕd，ｖd）及びデプス値（Ｚ座標）が入力された際に、その都度、対応点を算出するものであってもよい。
【００３６】
［デプスデータ取得部１２］
デプスデータ取得部１２は、ＲＧＢ−Ｄカメラ１０１のデプスカメラから、デプス画像の点座標（ｕd，ｖd）とデプス値（Ｚ座標）との組を取得する。取得した点対応を、ポイントクラウドデータ取得部１３へ出力する。ここで取得される点対応は、デプス画像上で広範囲の適当な位置から取得した必要数だけの点対応であってもよい。即ち、デプス画像に映る任意の３次元物体を構成する頂点の中から、頂点間の距離が長くなるように頂点群を選択し、それぞれからデプス値（Ｚ座標）を取得するものであってもよい。勿論、デプス値が取得できた全ての点対応であってもよい。
【００３７】
［ポイントクラウドデータ取得部１３］
ポイントクラウドデータ取得部１３は、ポイントクラウドデータベース１１を用いて、デプス画像の点座標（ｕd，ｖd）及びデプス値（Ｚ座標）から、デプスカメラ座標系の３次元座標（Ｘ，Ｙ，Ｚ）を取得する。即ち、デプス画像上の１点座標とそのデプス値（Ｚ座標）とを入力することによって、ポイントクラウドデータベース１１からポイントクラウドデータの３次元座標（Ｘ，Ｙ，Ｚ）が取得される。
【００３８】
他の実施形態として、デプスデータ取得部１２は、マーカ画像記憶部に記憶された矩形マーカ画像をデプス画像から取得し、当該矩形マーカ画像の頂点を、ユーザによって又は画像算出によって当該デプス画像の頂点として特定する。被写体となる矩形マーカ画像は、任意のものであってよい。
【００３９】
［内部パラメータ算出部１４］
内部パラメータ算出部１４は、デプス画像の点座標（ｕd，ｖd）と、ポイントクラウドデータの３次元座標（Ｘ，Ｙ，Ｚ）との組を線形で対応付ける変換パラメータを、デプスカメラの内部パラメータとして算出する。
【００４０】
ここで、内部パラメータ算出部１４は、以下の２つの実施形態を用いて、内部パラメータを算出することができる。
＜ピンホールカメラモデルに基づく第１の内部パラメータ算出方法＞
＜光軸のずれを画像中心と規定した第２の内部パラメータ算出方法＞
【００４１】
＜ピンホールカメラモデルに基づく第１の内部パラメータ算出方法＞
内部パラメータ算出部１４は、点座標（ｕd，ｖd）とデプス値（Ｘ，Ｙ，Ｚ）とを少なくとも２組を用いて、ピンホールカメラモデルに基づく以下の式によって、デプスカメラの内部パラメータＡを算出する。
【数５】
0006465789.tif 000006
ｓ：スケール係数
Ａd：デプスカメラの内部パラメータ
ｆu：デプスカメラのu軸に対する焦点距離
ｆv：デプスカメラのv軸に対する焦点距離
Ｃu：デプスカメラのu軸に対する光軸ずれ
Ｃv：デプスカメラのv軸に対する光軸ずれ
【００４２】
前述の式によれば、１組の点対応（ｕd，ｖd）（Ｘ，Ｙ，Ｚ）から、未知パラメータ（ｆu，ｆv，ｃu，ｃv）を算出するべく２つの観測方程式が得られる。この観測方程式は、未知パラメータに対して線形であるため、最少２組の点対応から、４つの未知パラメータ（ｆu，ｆv，ｃu，ｃv）を、線型最小二乗法によって算出することができる。また、ＲＡＮＳＡＣ(RAndom SAmple Consensus)のロバスト算出アルゴリズムを用いてもよい。
【００４３】
＜光軸のずれを画像中心と規定した第２の内部パラメータ算出方法＞
内部パラメータ算出部１４は、点座標（ｕd，ｖd）とデプス値（Ｚ座標）とを少なくとも１組を用いて、光軸のずれを画像中心と規定することによって、画像サイズをｗ×ｈとして、以下の式に基づく内部パラメータＡを算出する。
【数６】
0006465789.tif 000007
Ａd：デプスカメラの内部パラメータ
ｗ：画像の横幅
ｈ：画像の縦幅
ｗ／２ and ｈ／２：画像中心
これは、投影中心の位置を、焦点距離（ｆu，ｆv）と光軸のずれ（Ｃu，Ｃv）とによって定めたものである。
【００４４】
第２の内部パラメータ算出方法について、内部パラメータ算出部１４は、デプスカメラの横軸方向及び縦軸方向の両方の焦点距離を、同一距離ｆ（＝ｆu＝ｆv）と規定することによって、以下の式に基づく内部パラメータＡdを算出するものであってもよい。
【数７】
0006465789.tif 000008
Ａd：デプスカメラの内部パラメータ
【００４５】
［世界座標算出部１５］
世界座標算出部１５は、ＲＧＢ画像に映る矩形マーカ画像に対する世界座標系の点座標（Ｘw，Ｙw，Ｚw）を取得する。世界座標系の４点として矩形マーカの四隅を定義して、デプス画像中の対応点をユーザがポインティングしてもよい。また、デプス値の濃淡情報を利用して画像処理によって検出するものであってもよい。
【００４６】
また、デフォルト値として与えられたデプス画像とＲＧＢ画像間の対応関係を用いて、デプス画像の各座標に対応するＲＧＢ値を格納することで、矩形マーカの四隅を正確にポインティングできるようにしてもよい。また、色情報を用いたマーカ検出アルゴリズムを適用してもよい（例えば非特許文献３参照）。
【００４７】
他の実施形態として、デプスデータ取得部１１が、デプス画像の濃淡情報に基づいて矩形マーカ画像の頂点を検出した場合、世界座標算出部１６は、デプス画像の各座標に対して対応するＲＧＢ値を格納し、その色情報に基づいて矩形マーカ画像の頂点を検出する。
【００４８】
［外部パラメータ算出部１６］
外部パラメータ算出部１６は、デプスデータ取得部１２からデプス画像の点座標（ｕｄ，ｖｄ）を入力し、内部パラメータ算出部１４から内部パラメータＡdを入力し、世界座標算出部１５から世界座標系（Ｘw，Ｙw，Ｚw）を入力する。そして、以下の式によって世界座標系からデプスカメラ座標系への変換行列Ｗd,wを外部パラメータとして算出する。
【数８】
0006465789.tif 000009
これは、ＰｎＰアルゴリズムを用いることによって、最少４組の点対応から、外部パラメータを算出することができる。
【００４９】
これによって、ＲＧＢ−Ｄカメラ１０１について、少数の点対応から、デプスカメラの外部パラメータを算出することができる。
【００５０】
図６は、ＲＧＢ−Ｄカメラと外部ＲＧＢカメラとの間でカメラ座標の対応関係を表す説明図である。
【００５１】
図６によれば、デプス画像の座標（ｕd,ｖd）及びデプス値（Ｚ座標）と、ＲＧＢ画像中の座標（ｕc,ｖc）とが対応付けられることが理解できる。ＲＧＢカメラとデプスカメラを連携させる場合に、デプスカメラの内部パラメータについてチェスボードを用いたキャリブレーションを別途実行することなく、広範囲のＲＧＢ情報付き３次元モデルを高精度に生成することができる。
【００５２】
尚、ポイントクラウドデータには、奥行き方向にのみ測定誤差を含む場合が多い。
Ｘ1：ポイントクラウドデータの真値
Ｘ'1：測定誤差を含むポイントクラウドデータの値
このとき、図６のように、Ｘ'1は、Ｘ1と（ｕd，ｖd）とを結ぶ投影上に乗っているために、奥行き方向の測定誤差は、内部パラメータを算出する際に問題とならない。
【００５３】
［変換行列算出部１７］
変換行列算出部１７は、デプスカメラ座標系を、全方位ＲＧＢカメラ（第２のＲＧＢカメラ）の座標系への変換行列（相対位置姿勢）Ｗc,dを、以下の式によって算出する。
Ｗc,d＝Ｗc,w・Ｗd,w-1
Ｗc,w：世界座標系から第２のＲＧＢカメラ座標系への外部パラメータ
Ｗd,w-1：世界座標系からデプスカメラ座標系への外部パラメータの逆行列
尚、Ｗｃ,w及びＷｄ,wを算出するために必要な点対応の数は、各カメラの内部パラメータ（焦点距離と光軸のずれ）が既知か否かによって異なる。
【００５４】
［外部ＲＧＢポイントクラウドデータ取得部１８］
外部ＲＧＢポイントクラウドデータ取得部１８は、変換行列算出部１７によって算出された変換行列Ｗc,dを入力し、以下の式を用いて、デプスカメラで取得した一点Ｘdと、第２のＲＧＢカメラの一点（ｕc，ｖc）とを対応付けることによって、ＲＧＢ情報付きのポイントクラウドデータを取得する。
Ａc・Ｗc,d・Ｘd
Ａc：全方位ＲＧＢカメラの内部パラメータの行列
Ｗc,d：デプスカメラ座標系から全方位ＲＧＢカメラ座標系への変換行列
Ｘd：デプスカメラ座標系における１点（３次元座標）
【００５５】
以上、詳細に説明したように、本発明のプログラム、装置及び方法によれば、例えばチェスボードのような特有の撮影操作を伴うキャリブレーションを実行することなく、できる限り少数の点対応で、デプスカメラの内部パラメータを算出することができる。
この内部パラメータを用いることによって、デプスカメラの外部パラメータを、できる限り少数の点対応から、高精度に算出することができる。結果として、デプスカメラとＲＧＢカメラが同一筐体をなすＲＧＢ−Ｄカメラを用いる場合や、デプスカメラと別途設置した外部のＲＧＢカメラとを連携させる場合に、高精度なＲＧＢ情報付きポイントクラウドデータを算出することができる。
【００５６】
具体的に、従来技術における外部パラメータの算出については、少なくとも６組の点対応が必要であって、高い精度では１０組以上の点対応が必要となる。チェスボードを用いて事前に内部パラメータを算出している場合は、４組の点対応が必要となる。
これに対し、本発明によれば、任意物体を撮影するだけで内部パラメータを算出できる。そのため、チェスボードといった特殊な被写体を用意する手間をかけることなく、少なくとも４組の点対応で、デプスカメラの外部パラメータを算出することができる。
【００５７】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【００５８】
１  撮影装置
１０１  ＲＧＢ−Ｄカメラ
１０２  全方位ＲＧＢカメラ
１１  ポイントクラウドデータベース
１２  デプスデータ取得部
１３  ポイントクラウドデータ取得部
１４  内部パラメータ算出部
１５  世界座標算出部
１６  外部パラメータ算出部
１７  変換行列算出部
【図１】
0006465789.tif 000014
【図２】
0006465789.tif 000015
【図３】
0006465789.tif 000016
【図４】
0006465789.tif 000017
【図５】
0006465789.tif 000018
【図６】
0006465789.tif 000019