情報処理装置、情報処理装置の制御方法、およびプログラム
【課題】センサ校正に関する知識やノウハウのない作業者であっても、センサ校正用入力データを容易に取得し、精度よく校正を行うための校正用入力データであるか否かを容易に判断できるようにする。
【解決手段】撮像装置に対する位置姿勢センサの位置または姿勢を校正するための校正用入力データを処理する情報処理装置であって、撮像装置により撮像された画像を取得する画像取得部と、画像から指標情報を検出する指標検出部と、位置姿勢センサにより計測された位置姿勢センサ自身の位置または姿勢の計測値を取得する計測値取得部と、指標情報と計測値とを含む校正用入力データの推奨レベルを、指標情報と計測値とに基づいて算出する算出部と、推奨レベルを提示する提示部と、を備える。
【解決手段】撮像装置に対する位置姿勢センサの位置または姿勢を校正するための校正用入力データを処理する情報処理装置であって、撮像装置により撮像された画像を取得する画像取得部と、画像から指標情報を検出する指標検出部と、位置姿勢センサにより計測された位置姿勢センサ自身の位置または姿勢の計測値を取得する計測値取得部と、指標情報と計測値とを含む校正用入力データの推奨レベルを、指標情報と計測値とに基づいて算出する算出部と、推奨レベルを提示する提示部と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理装置の制御方法、およびプログラムに関する。
【背景技術】
【0002】
近年、複合現実感(Mixed Reality;MR)技術の研究が盛んである。MR技術とは、現実空間とコンピュータによって作られる仮想空間とを繋ぎ目なく融合する技術である。MR技術は、組み立て作業時に作業手順や配線の様子を重畳表示する組み立て支援、患者の体表面に体内の様子を重畳表示する手術支援等、様々な分野への応用が期待される。
【0003】
仮想物体が現実空間に実在するように利用者が感じるためには、仮想物体と現実空間との間の幾何学的な整合性が重要である。複合現実感(MR)における幾何学的な整合性には、現実空間の座標系と仮想空間の座標系とを一致させるための整合性と、現実物体と仮想物体との前後関係を正しく表現するための整合性とがある。前者の整合性を扱う問題は、複合現実感(MR)における位置合わせ問題とも呼ばれ、種々の研究報告が行われている(非特許文献1参照)。位置合わせ問題は、観察者視点映像を撮像するための撮像装置と、仮想の情報を重畳表示させようとする対象である現実物体との間で、位置姿勢を合わせる際の問題である。本発明では、この位置合わせ問題を扱う。
【0004】
撮像装置の位置姿勢を計測する方法として、
(1)位置および姿勢の両方を同時に計測可能なセンサの計測値を利用する方法。
【0005】
(2)姿勢を計測するセンサの計測値と、撮像装置で撮像された画像から検出した指標の画像情報とを利用する方法。
【0006】
(3)撮像装置で撮像された画像から検出した指標の画像情報を利用して、位置および姿勢の両方を同時に計測できるセンサから得たセンサ計測値を補正する方法。
【0007】
などがある(非特許文献1、非特許文献2参照)。一般的に、位置および姿勢を計測する位置姿勢センサとして、磁気式や光学式のセンサが用いられ、一方、姿勢を計測する姿勢センサとして、ジャイロによる慣性センサが用いられている。
【0008】
撮像装置に姿勢センサまたは位置姿勢センサを装着し、センサ計測値を利用して物体や撮像装置の位置または姿勢を求めるためには、姿勢センサまたは位置姿勢センサの、計測対象である撮像装置に対する相対位置または姿勢を予め計測する必要がある。計測対象に対するセンサの配置情報である相対位置または姿勢を求めることを、以下ではセンサの校正と称する。
【0009】
特許文献1では、物体に、指標と、位置姿勢センサまたは姿勢センサとを装着し、物体に装着した位置姿勢センサまたは姿勢センサの物体に対する配置情報を校正情報として求めるセンサ校正方法が開示されている。物体を撮像した画像を取得し、センサの計測値を入力し、画像から指標の画像座標に関する情報を検出し、センサ計測値と指標の画像座標に関する情報とを用いて、校正情報を求めている。以下では、画像を利用してセンサの校正を行う場合において、校正に必要となる位置姿勢センサまたは姿勢センサの計測値と、画像上で検出した指標の画像情報とを、校正用入力データと称する。
【0010】
センサの校正を行うためには、様々な位置および姿勢における校正用入力データを取得する必要がある。また、校正用入力データの精度がセンサの校正結果に大きく影響を与えるため、精度の高いセンサの計測値を入力するとともに、撮像した画像から高精度に指標を検出する必要がある。画像上で小さく指標が撮像される場合や、撮像装置が高速に回転または移動して撮像画像にブラーが起こる場合には、指標の検出精度が低下する。そのため、このような場合に取得したセンサ校正用入力データを入力して計算を行うと、校正結果の精度が低下する。
【0011】
また、特許文献2では、センサの校正を行う際に、校正の精度低下を引き起こす校正用入力データを減らし、校正精度の向上を図ることを目的として、校正用入力データ取得時に、目標撮像位置姿勢を指示する仮想的な3次元オブジェクトを提示している。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特開2006−153848号公報
【特許文献2】特開2008−046687号公報
【非特許文献】
【0013】
【非特許文献1】佐藤, 内山, 田村, "複合現実感における位置合わせ手法", 日本VR学会論文誌,Vol.8,no.2,pp.171−180,2003.
【非特許文献2】K. Satoh, S. Uchiyama, and H. Yamamoto: "A head tracking method using bird's−eye view camera and gyroscope," Proc. 3rd IEEE/ACM Int'l Symp. on Mixed and Augmented Reality (ISMAR 2004), pp.202−211, 2004.
【発明の概要】
【発明が解決しようとする課題】
【0014】
しかしながら、特許文献1のようにセンサ計測値と指標の画像情報とに基づいてセンサの校正を行う場合、センサの校正に関する知識やノウハウを持たない作業者が、校正に適する入力データか否かを判断することは難しいという課題がある。
【0015】
なぜなら、位置姿勢センサの計測範囲内であっても、一様な計測精度で分布しているわけではなく、周辺の環境や、計測場所によってセンサの計測精度に偏りがあるためである。具体的には、磁気式の位置姿勢センサであれば、周辺の磁場の影響を受けやすく、磁場の歪みに依存して正しい計測値が得られないことが知られている。また、光学式の位置姿勢センサの場合、位置または姿勢の計測精度は、光学センサのレンズ歪み補正パラメータやカメラパラメータの精度に依存して計測精度に偏りが生じる。そのため、光学式の位置姿勢センサのレンズ中心付近、すなわち計測範囲の中心では計測精度がよいが、計測範囲の境界付近などでは、計測精度が低いことがある。したがって、作業者は、精度のよいセンサ校正を行うために、センサの特性や周辺環境を鑑みて校正用入力データを取得する必要がある。
【0016】
また、センサの計測範囲内において、様々な位置姿勢から指標を画像上で十分大きく写るように撮像し、かつ撮像画像でブラーが起こらないように撮像しなければならない。特にセンサ計測範囲が広い場合に、校正に適するデータか否かを判断しつつ、様々な位置および姿勢でのセンサ計測値を取得することは、ノウハウを持たない作業者にとって難しいという課題がある。
【0017】
特許文献2では、校正用入力データを取得するための撮像装置の目標位置姿勢を提示することが可能である。しかしながら、校正用入力データを取得する場所において、センサの特性や周辺環境を鑑みて、その校正用入力データが適するか否かを判断する技術は開示されていない。加えて、正しい目標位置姿勢を提示するためには、正確な撮像装置の位置姿勢を求める必要がある。しかしながら、センサの校正は、正確な撮像装置の位置姿勢を求めるために行っているのであって、センサの校正を行う前に正確な撮像装置の位置姿勢を求めることはできない。
【0018】
したがって、おおまかな校正結果に基づいて目標位置姿勢を提示することはできるものの、実際に校正用入力データを取得する場所において、校正に適する入力データか否かを判断することは難しい。
【0019】
上記の課題に鑑み、本発明は、センサ校正に関する知識やノウハウのない作業者であっても、センサ校正用入力データを容易に取得し、精度よく校正を行うための校正用入力データであるか否かを容易に判断する技術を提供することを目的とする。
【課題を解決するための手段】
【0020】
上記の目的を達成する本発明に係る情報処理装置は、
撮像装置に対する位置姿勢センサの位置または姿勢を校正するための校正用入力データを処理する情報処理装置であって、
前記撮像装置により撮像された画像を取得する画像取得手段と、
前記画像から指標情報を検出する指標検出手段と、
前記位置姿勢センサにより計測された前記位置姿勢センサ自身の位置または姿勢の計測値を取得する計測値取得手段と、
前記指標情報と前記計測値とを含む前記校正用入力データの推奨レベルを、前記指標情報と前記計測値とに基づいて算出する算出手段と、
前記推奨レベルを提示する提示手段と、
を備えることを特徴とする。
【発明の効果】
【0021】
本発明によれば、センサ校正に関する知識やノウハウのない作業者であっても、センサ校正用入力データを容易に取得し、精度よく校正を行うための校正用入力データであるか否かを容易に判断することが可能となる。
【図面の簡単な説明】
【0022】
【図1】第1実施形態における情報処理装置1000の概略構成を示すブロック図。
【図2】第1実施形態における校正用入力データの取得推奨レベルを表示する処理の手順を示すフローチャート。
【図3】第1実施形態における校正用入力データの取得推奨レベルを算出する処理の手順を示すフローチャート。
【図4】第1実施形態におけるセンサの校正情報を算出する処理の手順を示すフローチャート。
【図5】第1実施形態における校正用入力データの取得推奨レベルの表示方法を示す図。
【図6】第3実施形態における校正用入力データの取得推奨レベルを、入力データの状態と作業者の行動を指示するテキスト情報とに割り当てる説明図。
【図7】第1実施形態における情報処理装置1000のハードウェア構成を示すブロック図。
【図8】第2実施形態における情報処理装置8000の概略構成を示すブロック図。
【図9】第2実施形態における校正用入力データの取得推奨レベルを表示する処理の手順を示すフローチャート。
【図10】第2実施形態における校正用入力データの取得推奨レベルの算出処理の手順を示すフローチャート。
【図11】第2実施形態におけるセンサの校正情報を算出する処理の手順を示すフローチャート。
【図12】第5実施形態における、校正用入力データの取得推奨レベルに対応する色を、再投影誤差を表示する領域600に割り当てた様子を表す図。
【図13】第5実施形態における、校正用入力データの取得推奨レベルに対応する色を、撮像装置が撮像した画像の領域700に割り当てた様子を表す図。
【図14】第5実施形態における、校正用入力データの取得推奨レベルに対応する色を、撮像装置が撮像した画像の枠800に割り当てた様子を表す図。
【図15】第6実施形態における、位置姿勢センサを装着した撮像装置に取り付けられた、取得推奨レベル表示部を表す図。
【図16】第7実施形態における、情報処理装置16000の概略構成を示す図。
【図17】第7実施形態における、校正用入力データの取得推奨レベルを表示する処理の手順を示すフローチャート。
【図18】第7実施形態における、校正用入力データの取得推奨レベルを算出する処理の手順を示すフローチャート。
【発明を実施するための形態】
【0023】
(第1実施形態)
本実施形態に係る情報処理装置は、撮像装置に装着した位置姿勢センサの撮像装置に対する配置情報を算出するための入力データを取得する際に、推奨レベルを算出して表示する。以下、本実施形態に係る情報処理装置について説明する。
【0024】
図1は、本実施形態に係る情報処理装置1000の概略構成を示す。情報処理装置1000は、画像入力部1010と、センサ計測値入力部1020と、指標検出部1030と、データ管理部1040と、取得推奨レベル算出部1050と、取得推奨レベル表示部1060と、校正情報算出部1070とを備える。また情報処理装置1000は、撮像装置100と、位置姿勢センサ200とに接続されている。
【0025】
なお、校正される対象である位置姿勢センサ200は、撮像装置100上に装着されているものとする。撮像装置座標系は、撮像装置100上の1点を原点として定義し、更に互いに直交する3軸を夫々X軸、Y軸、Z軸として定義した座標系である。撮像装置座標系における、位置姿勢センサ200の位置姿勢は未知である。この未知である撮像装置座標系における位置姿勢センサ200の位置姿勢が、校正する情報である。
【0026】
現実空間中には、撮像装置100によって撮像するための1つまたは複数の指標Pが配置される。ここで現実空間の1点を原点として定義し、更に互いに直交する3軸を夫々X軸、Y軸、Z軸として定義する座標系を世界座標系と称する。この世界座標系における位置が既知である指標Pk(k=1,,,K)が配置されている。指標Pkは、撮像装置100によって、少なくとも3個以上の点の情報が観測されるように設置されているとよい。
【0027】
指標Pkは、例えば、それぞれが異なる色を有する円形状のマーカーによって構成してもよいし、それぞれが異なる特徴を有する自然特徴等の特徴点によって構成してもよい。また、ある程度の面積を有する四角形領域によって形成されるような四角形指標を用いることも可能である。撮像画像上における画像座標が検出可能であって、かついずれの指標であるかが識別可能であるような指標であれば、何れの形態であってもよい。
【0028】
画像入力部1010は、撮像装置100が出力する画像取得を行い、当該画像を指標検出部1030へ出力する。
【0029】
センサ計測値入力部1020は、位置姿勢センサ200から位置姿勢の計測値取得処理を行い、当該計測値をデータ管理部1040へ出力する。位置姿勢センサ200が出力する計測値は一般的にはセンサが独自に定義するセンサ座標系における位置姿勢センサ自身の位置姿勢である。ここでは、センサ計測値入力部1020は、既知の値であるセンサ座標系から世界座標系への変換行列を乗算することにより、センサ座標系における位置姿勢センサ自身の位置姿勢を世界座標系における位置姿勢センサ自身の位置姿勢に変換する。センサ計測値入力部1020は、変換後の姿勢を示す回転行列(以下、「RWS」と称する)をデータ管理部1040へと出力する。
【0030】
指標検出部1030は、画像入力部1010により取得された画像における指標Pkの座標を検出する。例えば、指標Pkの各々が異なる色を有するマーカーによって構成されている場合には、画像上から各々のマーカー色に対応する領域を検出し、その重心位置を指標の検出座標とする。また、指標Pkの各々が異なるテクスチャ特徴を有する特徴点によって構成されている場合には、既知の情報として予め保持している各々の指標のテンプレート画像によるテンプレートマッチングを施すことにより、指標の位置を検出する。指標として四角形指標を用いる場合は、画像に2値化処理を施した後にラベリングを行い、一定面積以上の領域の中から4つの直線によって形成されているものを指標候補として検出する。さらに、候補領域の中に特定のパターンがあるか否かを判定することによって誤検出を排除し、また、指標の方向と識別子を取得する。なお、このようにして検出される四角形指標は、本実施形態では、4つの頂点の個々によって形成される4つの指標であると考え、指標Pknと表す。ここで、n(n=1,2,3,4)は検出された指標夫々に対するインデックスである。
【0031】
指標検出部1030は、検出された各々の指標Pknの画像座標uPknとその識別子knを指標の検出情報(指標情報)として、また指標を検出できない場合には、指標が検出できないことを指標の検出情報(指標情報)として、データ管理部1040へと出力する。
【0032】
取得推奨レベル算出部1050は、データ管理部1040から、指標の検出情報とセンサ計測値とを、校正用入力データ候補として取得する。校正用入力データ候補に基づいて、校正情報算出に利用すべきかどうかのレベルを示す取得推奨レベルを算出する。取得推奨レベル算出部1050は、取得推奨レベル表示部1060とデータ管理部1040とに、取得推奨レベルを出力する。
【0033】
取得推奨レベル表示部1060は、取得推奨レベル算出部1050から取得した取得推奨レベルを、不図示の作業者に表示する。不図示の作業者は、取得推奨レベルが高くなる場所に、位置姿勢センサ200を装着した撮像装置100を移動させる。
【0034】
データ管理部1040は、取得推奨レベル算出部1050から取得推奨レベルを取得し、校正用入力データを校正情報算出部1070に出力する。
【0035】
校正情報算出部1070は、データ管理部1040から校正用入力データを取得し、校正情報を算出し、当該校正情報を出力する。
【0036】
図2のフローチャートを参照して、本実施形態に係る情報処理装置1000が、校正用入力データの取得推奨レベルを表示する処理の手順を示す。なお、同フローチャートに従ったプログラムコードは、情報処理装置1000内の不図示のRAMやROMなどのメモリ内に格納され、不図示のCPUにより読み出され、実行される。
【0037】
S2010において、画像入力部1010は、撮像装置100から画像を取得する。S2020において、指標検出部1030は、画像から指標Pknを検出する。指標検出部1030は、検出した指標Pknの画像座標uPknとその識別子knとを検出情報としてデータ管理部1040へ出力する。指標を検出できない場合には、指標を検出できなかったことを示すフラグを検出情報としてデータ管理部1040へ出力する。
【0038】
S2030において、センサ計測値入力部1020は、位置姿勢センサ200から計測値である姿勢RWSと位置TWSとを取得し、データ管理部1040へ出力する。
【0039】
以上のS2010、S2020、S2030の各処理により、データ管理部1040は、センサ計測値および、指標の検出情報を取得することができる。S2040において、取得推奨レベル算出部1050は、取得推奨レベルを算出する。
【0040】
ここで、校正用入力データの取得推奨レベルについて説明する。取得推奨レベルは、指標の検出状況と、センサの計測値とに基づいて、入力データが、校正情報を算出するために利用する校正用入力データとして適当であるか否かの度合いを数値化したものである。情報量が不足しているために、校正情報を算出できない入力データであると判断できる場合には、取得推奨レベルLは、L=1とする。校正情報を算出できるが、精度のよい校正を行うためには、適当でないと判断できる場合には、L=2とする。精度のよい校正を行うために、積極的に入力データを用いるべきであると判断できる場合には、L=3とする。すでに校正済みであると判断される場合や、同じ地点からの入力データを取得済みであるなど、センサ校正を行うために必要のない入力データである場合には、L=0とする。取得推奨レベルの算出処理の詳細は図3のフローチャートを参照して後述する。
【0041】
S2050において、取得推奨レベル表示部1060は、S2040で算出された取得推奨レベルを作業者に対して表示する。
【0042】
図5を参照して、取得推奨レベルの表示例について説明する。取得推奨レベル表示部1060として、校正計算に用いるPCに付属する不図示の液晶ディスプレイを用いることができる。取得推奨レベルをレベルごとに、例えばL=0のとき水色、L=1のとき赤色、L=2のとき黄色、L=3のとき青色として色分けして、レベルに応じた色を図5の領域400に表示する。なお、レベル別に区別することができれば、何れの色を各レベルに割り当ててもよい。また、レベルごとにテクスチャの模様や、異なる輝度を割り当ててもよい。レベル別に区別することができれば、何れの方法を用いてもよい。作業者は、液晶ディスプレイに表示される取得推奨レベルが、L=3に対応する色となるように、位置姿勢センサ200を装着した撮像装置100を移動させる。これにより、校正に適する入力データを取得することができる。
【0043】
また、センサの校正には、位置姿勢センサ200を装着した撮像装置100のさまざまな位置姿勢での入力データが必要となる。そのため、計測範囲が広い場合や、入力データを取得する位置や姿勢によっては、作業者は液晶ディスプレイから離れてしまうため、センサの計測値を液晶ディスプレイから読み取ることが難しくなる。しかし、本実施形態のように、取得推奨レベルを色別で表示することによって、センサの計測値を読み難い場所に移動していても、入力データが校正に適するか否かを容易に判断できる。したがって、校正用入力データを取得する場所に関わらずに、入力データが校正に適するか否かを簡単に判断することができる。
【0044】
以上の処理によって、情報処理装置1000は、撮像装置100に装着した位置姿勢センサ200の配置情報を算出するための入力データを取得する際に、推奨レベルを算出して表示する。これにより、センサの校正に関する知識やノウハウを持たない作業者であっても、センサの校正に適する校正用入力データを簡単に取得することができる。以上で図2のフローチャートの各処理が終了する。
【0045】
次に図3のフローチャートを参照して、S2040の取得推奨レベルの算出処理の詳細について説明する。
【0046】
S3010において、取得推奨レベル算出部1050は、位置姿勢センサ200の計測値が、センサの計測範囲内であるか否かを判定する。すなわち精度が保証される範囲内であるか否かを判定する。磁気式の位置姿勢センサは、一般的にセンサの計測範囲が連続的であって、精度が保証される範囲は、センサのトランスミッターから受信側のセンサまでの距離によって決められていることが多い。このような磁気式の位置姿勢センサの場合、センサのトランスミッターからの受信側のセンサまでの距離内であれば、センサの計測範囲内とし、その距離以上離れていれば計測範囲外とする。また、一般的な光学式センサの場合、光学式センサである複数のカメラの視野から、計測対象が外れると位置姿勢を計測できなくなる。そのため、位置姿勢を計測可能な最小数のカメラの視野外に計測対象が出た場合を、センサの計測範囲外とする。位置姿勢センサ200の計測値がセンサの計測範囲内であると判定された場合(S3010;YES)、S3020へ進む。一方、位置姿勢センサ200の計測値がセンサの計測範囲外であると判定された場合(S3010;NO)、S3030へ進む。
【0047】
S3020において、取得推奨レベル算出部1050は、画像から指標を検出できたか否かを判定する。指標を検出できたと判定された場合(S3030;YES)、S3040へ進む。一方、指標を検出できなかったと判定された場合(S3030;NO)、S3030へ進む。
【0048】
S3030において、取得推奨レベル算出部1050は、入力データの情報量が不足していることを示すために、取得推奨レベルをL=1として設定する。その後、処理を終了する。
【0049】
S3040において、取得推奨レベル算出部1050は、検出された指標の画像上における面積を算出し、当該面積が閾値以上であるか否かを判定する。例えば指標の形状が四角形であれば、当該指標の画像上における四角形の面積が閾値以上であるか否かを判定する。指標の面積が閾値以上であると判定された場合(S3040;YES)、S3050へ進む。一方、指標の面積が閾値より小さいと判定された場合(S3040;NO)、S3070へ進む。
【0050】
S3050において、取得推奨レベル算出部1050は、検出された指標に基づいて撮像装置100の位置姿勢を算出する。撮像装置100の位置姿勢の算出方法は、公知の手法を利用すればよい。例えば、平面上に配置された四角形指標が検出されている場合には、平面ホモグラフィーを求めることで撮像装置の位置姿勢を算出してもよい。また、6点以上の点が検出されていれば、DLT(Direct Linear Transformation method)を用いてもよい。さらに、算出された撮像装置100の位置姿勢を初期値として非線形最適化計算を行うことにより、より正確な撮像装置100の位置姿勢を求めてもよい。他のいかなる公知の方法を用いて、検出された指標に基づいて撮像装置100の位置姿勢を求めてもよい。
【0051】
S3060において、取得推奨レベル算出部1050は、データ管理部1040に保持されている校正用入力データの撮像装置100の位置姿勢と、S3060で算出された撮像装置100の位置姿勢とを比較する。そして、S3060で算出された撮像装置100の位置姿勢が未取得の位置姿勢であるか否かを判定する。具体的には、撮像装置の位置の差分が閾値よりも小さく、かつ姿勢の差分が閾値よりも小さい場合には、既にほぼ同じ位置姿勢で撮像しているものと判定できる。一方で、そうでない場合には、未取得の位置姿勢であると判定できる。撮像装置100の位置姿勢が未取得の位置姿勢であると判定された場合(S3060;YES)、S3080へ進む。一方、撮像装置100の位置姿勢が既取得の位置姿勢であると判定された場合(S3060;NO)、S3070へ進む。
【0052】
S3070において、取得推奨レベル算出部1050は、入力データが校正情報算出に必要な情報量を満たすものの、誤差が大きい可能性のある入力データであることを示すために、取得推奨レベルをL=2として設定する。その後、処理を終了する。
【0053】
S3080において、取得推奨レベル算出部1050は、すでに概略校正計算済みであるか否かを判定する。すでに概略校正計算済みであると判定された場合(S3080;YES)、S3090へ進む。一方、概略校正計算済みではないと判定された場合(S3080;NO)、S3120へ進む。
【0054】
S3090において、取得推奨レベル算出部1050は、概略校正計算結果とセンサの計測値と予め求めておいた指標の3次元位置とに基づいて推定された指標の推定座標u'Pknと、指標の検出座標uPknとの差である、再投影誤差ΔuPknを算出する。
【0055】
ここで、ある位置姿勢で撮像装置100が撮像した画像のひとつの指標における再投影誤差ΔuPknの算出方法について述べる。再投影誤差ΔuPknは、次式によって求められる。
【0056】
【数1】
【0057】
撮像装置座標系における指標Pknの位置をxCPkn=[xCPkn、yCPkn、zCPkn]とし、fを焦点距離とする。すると、指標の推定座標u'Pkn=[u'xPkn、u'yPkn]は次のように表せる。
【0058】
【数2】
【0059】
ここで、ある三次元の座標系Bに対する三次元の座標系Aの位置を表す三次元ベクトルをt、姿勢を表す3×3回転行列をRとすると、座標系A上での位置がxA(三次元ベクトル)で表される点の座標系B上での座標xB(三次元ベクトル)は、式(3)に示す4×4行列MBAを用いて、同次座標表現によって式(4)のように表される。
【0060】
【数3】
【0061】
【数4】
【0062】
本実施形態では、MBAを座標系Bに対する座標系Aの位置姿勢を表す手法として用いる。
【0063】
撮像装置100に装着された位置姿勢センサ200の計測値より得られる、世界座標系における位置姿勢センサ200の位置姿勢をMWSとする。また本実施形態では、位置および姿勢を、次に述べるように6次元ベクトルによって表現する。位置および姿勢はそれぞれ、3値ベクトルx=[x y z]Tおよびω=[ξ ψ ζ]Tによって表現される。姿勢を3値によって表現する方法には様々なものが存在するが、ここでは、ベクトルの大きさによって回転角を、ベクトルの向きによって回転軸方向を定義するような3値のベクトルによって表現されているものとする。これらの、位置xおよび姿勢ωをまとめて、6次元ベクトルa=[x y z ξ ψ ζ]Tとして表現する。
【0064】
撮像装置座標系における、撮像装置100に装着した位置姿勢センサ200の位置姿勢を表す4×4行列MCSは、6次元ベクトルaCS=[xCS yCS zCS ξCS ψCS ζCS]Tにより表される。MCSからaCSへの変換は公知の方法を使って行うことができる。
【0065】
予め求めておいた指標Pknの世界座標系での位置をxWPknとし、MCSが未知パラメータであるaCSの関数であるとすると、指標Pknの撮像座標系における位置xCPknは、次式で表せる。
【0066】
【数5】
【0067】
概略校正計算結果であるaCSを初期値として与えて、式(5)および式(2)を式(1)へ代入することによって、再投影誤差を求めることができる。
【0068】
S3100において、取得推奨レベル算出部1050は、S3090で算出された再投影誤差が閾値よりも小さいか否かを判定する。再投影誤差が閾値よりも小さいと判定された場合(S3100;YES)、S3110へ進む。一方、再投影誤差が閾値以上であると判定された場合(S3100;NO)、S3120へ進む。
【0069】
S3110において、取得推奨レベル算出部1050は、センサ校正を行うためにその位置や姿勢で入力する必要がないことを示すために、取得推奨レベルをL=0として設定する。その後、処理を終了する。
【0070】
S3120において、取得推奨レベル算出部1050は、センサの校正を行うために、入力データが校正情報算出に積極的に用いられるべきであると判断できることを示すために、取得推奨レベルをL=3として設定する。その後、処理を終了する。以上で図3のフローチャートの各処理が終了する。
【0071】
次に、図4のフローチャートを参照して、取得推奨レベルに基づいてセンサの校正情報を算出する処理について説明する。
【0072】
S4010乃至S4040の各処理は、図2のS2010乃至S2040の各処理と同様であるため、説明を省略する。S4040の処理の詳細についても同様にS2040の処理の詳細について説明した図3のフローチャートの各処理と同様である。
【0073】
S4050において、データ管理部1040は、S4040で算出された取得推奨レベルに基づいて、入力データを校正に利用するか否かを判定する。例えば取得推奨レベルL=2、またはL=3の入力データであれば校正に利用すると判定してもよい。また、取得推奨レベルL=3の入力データであれば校正に利用すると判定してもよい。入力データを校正に利用すると判定された場合(S4050;YES)、S4060へ進む。一方、入力データを校正に利用しないと判定された場合(S4050;NO)、S4010へ戻る。
【0074】
S4060において、データ管理部1040は、S3050で求められた撮像装置100の位置姿勢、位置姿勢センサ200の計測値、予め求めておいた指標の3次元位置、および指標の検出座標を、校正用入力データとして保持する。
【0075】
S4070において、校正情報算出部1070は、校正計算を行うか否かを判定する。本実施形態では、不図示の指示部から校正計算を行うように不図示の作業者から指示があった場合に校正計算を行うと判定する。そして、例えば作業者から所定時間指示がない場合には、校正計算を行わないと判定する。校正計算を行うと判定された場合(S4070;YES)、S4080へ進む。一方、校正計算を行わないと判定された場合(S4070;NO)、S4010へ戻る。
【0076】
S4080において、校正情報算出部1070は、データ管理部1040に保持されている校正用入力データを用いて校正計算を行う。撮像装置100に装着した位置姿勢センサ200の配置情報、すなわち撮像装置座標系における位置姿勢センサ200の位置姿勢を校正情報として算出する。校正の計算方法は、公知の何れの方法で行ってもよい。
【0077】
S4090において、校正情報算出部1070は、不図示の作業者からセンサ校正の終了コマンドが入力されたか否かを判定する。センサ校正の終了コマンドが入力された場合(S4090;YES)、処理を終了する。一方、センサ校正の終了コマンドが処理時間入力されていない場合(S4090;NO)、S4010へ戻る。
【0078】
以上の処理によって、求めるべき校正情報である、撮像装置100に装着した位置姿勢センサ200の撮像装置100に対する配置情報を算出することができる。以上で図4のフローチャートの各処理が終了する。
【0079】
次に、図7を参照して、本実施形態における情報処理装置1000のハードウェア構成を説明する。図7に示したハードウェア構成は通常のパーソナルコンピュータの構成と同様である。情報処理装置1000は、CPU701と、画像取り込み器702と、位置姿勢入力器703と、記憶媒体704と、ROM705と、RAM706と、マウス707と、キーボード708とを備える。
【0080】
CPU701は、記憶媒体704、ROM705、RAM706、不図示の外部記憶装置等に保存されているプログラムを実行することにより、図1で説明した画像入力部1010乃至校正情報算出部1070の各処理部の動作を制御する。なお、データ管理部1040は、記憶媒体704に情報を保存したり、記憶媒体704から情報を読み出したりすることができる。
【0081】
画像取り込み器702は、画像入力部1010に対応しており、撮像装置100により撮像された画像をコンピュータ内に取り込む。画像取り込み器502は、例えばビデオキャプチャボードであるが、撮像装置100により撮像された画像をコンピュータ内に取り込むものであれば何であってもよい。
【0082】
位置姿勢入力器703は、センサ計測値入力部1020に対応しており、位置姿勢センサ200により計測された計測値をコンピュータ内に取り込む。
【0083】
マウス707およびキーボード708は、作業者からの指示を受け付けることができる。
【0084】
なお、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0085】
また、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0086】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0087】
本実施形態によれば、センサ校正に関する知識やノウハウのない作業者であっても、センサ校正用入力データを容易に取得し、精度よく校正を行うための校正用入力データであるか否かを容易に判断することが可能となる。
【0088】
(第2実施形態)
第1実施形態に係る情報処理装置1000では、撮像装置100に装着した位置姿勢センサ200の取得推奨レベルを表示した。本実施形態に係る情報処理装置は、撮像対象となる物体に装着した位置姿勢センサの校正用入力データを取得する際に、取得推奨レベルを表示する。以下、本実施形態に係る情報処理装置について説明する。
【0089】
図8は、本実施形態に係る情報処理装置8000の概略構成を示す。情報処理装置8000は、画像入力部8010と、センサ計測値入力部8020と、指標検出部8030と、データ管理部8040と、取得推奨レベル算出部8050と、取得推奨レベル表示部8060と、校正情報算出部8070とを備える。物体300には、校正される対象である位置姿勢センサ200が装着されているものとする。
【0090】
情報処理装置8000は、撮像装置100と、後述する位置姿勢センサ200とに接続されている。撮像装置100は、物体300を撮像可能な位置に固定されており、世界座標系における撮像装置100の位置姿勢を公知の方法により予め求めておく。また物体座標系を、物体300上の1点を原点として定義し、更に互いに直交する3軸を夫々X軸、Y軸、Z軸として定義する。この物体座標系における位置姿勢センサ200の位置姿勢は未知である。この未知である物体座標系における位置姿勢センサ200の位置姿勢が、校正する対象となる情報である。物体300上には、撮像装置100によって撮像される指標が配置される。ここでは、物体座標系における位置が既知である指標Pk(k=1,,,K)が物体300上に配置されている。指標Pkは、撮像装置100によって、少なくとも3個以上の点の情報が観測されるように設置されているとよい。
【0091】
画像入力部8010、センサ計測値入力部8020、指標検出部8030、データ管理部8040、および取得推奨レベル表示部8060の各処理部の機能、及び指標は、それぞれ第1実施形態で説明した対応する各処理部の機能、及び指標と同様であるため説明を省略する。
【0092】
取得推奨レベル算出部8050は、第1実施形態と同様に、データ管理部8040から、指標の検出情報とセンサ計測値とを、校正用入力データ候補として取得する。取得推奨レベル算出部8050は、取得された校正用入力データ候補に基づいて、当該候補を校正情報算出に利用すべきかどうかのレベルを示す取得推奨レベルを算出する。取得推奨レベル算出部8050は、取得推奨レベル表示部8060と、データ管理部8040とへ、算出された取得推奨レベルを出力する。
【0093】
校正情報算出部8070は、データ管理部8040から校正用入力データを入力し、校正情報として、物体座標系における位置姿勢センサ200の配置情報を算出し、当該校正情報を出力する。
【0094】
次に図9のフローチャートを参照して、本実施形態に係る情報処理装置8000が、校正用入力データの取得推奨レベルを表示する処理の手順を示す。
【0095】
S9010、S9020、S9030、およびS9050の各処理は、第1の実施形態のS2010、S2020、S2030、およびS2050の各処理と同様であるため説明を省略する。S9040において、取得推奨レベル算出部8050は、後述する図10のフローチャートの処理に従って取得推奨レベルを算出する。
【0096】
図10は、取得推奨レベルの算出方法についてのフローチャートを示す。S10010乃至S10040、S10070、S10080、およびS10100乃至S10120の各処理は、第1の実施形態で説明した対応する各処理と同様であるため、説明を省略する。
【0097】
S10050において、取得推奨レベル算出部8050は、検出された指標から物体300の位置姿勢を算出する。物体300の位置姿勢は、撮像装置100に対する相対的な位置姿勢である。物体300の位置姿勢の算出方法は、第1実施形態と同様に公知の手法を用いればよい。
【0098】
S10060において、取得推奨レベル算出部8050は、データ管理部8040に保持されている校正用入力データの物体300の位置姿勢と、S10050で算出された物体300の位置姿勢とを比較する。そして、S10050で算出された物体300の位置姿勢が未取得の位置姿勢であるか否かを判定する。具体的には、物体300の位置の差分が閾値よりも小さく、かつ姿勢の差分が閾値よりも小さい場合には、既にほぼ同じ位置姿勢で撮像しているものと判定できる。一方で、そうでない場合には、未取得の位置姿勢であると判定できる。物体300の位置姿勢が未取得の位置姿勢であると判定された場合(S10060;YES)、S10080へ進む。一方、物体300の位置姿勢が既取得の位置姿勢であると判定された場合(10060;NO)、S10070へ進む。
【0099】
S10090において、取得推奨レベル算出部8050は、概略校正計算結果とセンサの計測値と、指標の物体座標系における3次元位置とに基づいて推定した指標の推定座標u'Pknと、指標の検出座標uPknとの差である、再投影誤差ΔuPknを算出する。
【0100】
ここで、撮像装置がある位置姿勢の物体を撮像した画像のひとつの指標における再投影誤差ΔuPknの算出方法について述べる。再投影誤差ΔuPknは、式(6)によって求められる。
【0101】
【数6】
【0102】
撮像装置座標系における指標Pknの位置をxCPkn=[xCPkn、yCPkn、zCPkn]とし、fを焦点距離とすると、指標の推定座標u'Pkn=[u'xPkn、u'yPkn]は次のように表せる。
【0103】
【数7】
【0104】
物体300に装着された位置姿勢センサ200の計測値より得られる世界座標系における位置姿勢センサ200の位置姿勢をMWSとする。公知の方法で求めておいた撮像装置100の世界座標系における位置姿勢をMWCとする。
【0105】
物体座標系における、物体300に装着した位置姿勢センサ200の位置姿勢を表す4×4行列MOSは、6次元ベクトルaOS=[xOS yOS zOS ξOS ψOS ζOS]Tによって表される。MOSからaOSへの変換は公知の方法を用いて行うことができる。
【0106】
予め求めておいた指標Pknの物体座標系での位置をxOPknとし、MOSが未知パラメータであるaOSの関数であるとすると、指標Pknの撮像座標系における位置xCPknは、式(8)で表すことができる。
【0107】
【数8】
【0108】
概略校正計算結果であるaCSを初期値として与え、式(8)および(7)を式(6)に代入することによって、再投影誤差を求めることができる。
【0109】
以上の処理によって、情報処理装置8000は、物体300に装着した位置姿勢センサ200の配置情報を算出するための入力データを取得する際に、推奨レベルを算出して表示する。これにより、センサの校正に関する知識やノウハウを持たない作業者であっても、センサの校正に適する校正用入力データを簡単に取得することができる。
【0110】
次に、図11のフローチャートを参照して、取得推奨レベルに基づいてセンサの校正情報を算出する処理について説明する。
【0111】
S11010乃至S11040の各処理は、図9のS9010乃至S9040の各処理と同様であるため、説明を省略する。S11040の処理の詳細についても同様にS9040の処理の詳細を説明した図10のフローチャートの各処理と同様である。
【0112】
また、S11050、S11070、およびS11090の各処理は、それぞれ図4を参照して説明したS4050、S4070、およびS4090の各処理と同様である。
【0113】
S11060において、データ管理部8040は、既知の撮像装置の位置姿勢、位置姿勢センサ200の計測値、既知の指標の3次元位置、および指標の検出座標を、校正用入力データとして保持する。
【0114】
S11080において、校正情報算出部8070は、データ管理部8040に保持されている校正用入力データを用いて校正計算を行う。物体300に装着した位置姿勢センサ200の配置情報、すなわち、物体座標系における位置姿勢センサ200の位置姿勢を校正情報として算出する。校正の計算方法は、公知の何れの方法で行ってよい。
【0115】
以上の処理によって、物体300に装着した位置姿勢センサ200の物体300に対する配置情報を、簡便かつ正確に算出することができる。
【0116】
本実施形態によれば、センサ校正に関する知識やノウハウのない作業者であっても、センサ校正用入力データを容易に取得し、精度よく校正を行うための校正用入力データであるか否かを容易に判断することが可能となる。
【0117】
(第3実施形態)
第1実施形態および第2実施形態では、算出された取得推奨レベルに色を割り当てて表示した。しかし、取得推奨レベルごとに、作業者への指示をテキスト情報として液晶ディスプレイに表示してもよい。図6は、取得推奨レベルと、入力データの状態情報と、作業者の行動を指示する指示情報とをテキスト情報として表示した例を示す。例えば、入力データの状態情報およびテキスト情報は、図6の領域500に表示する。以下、取得推奨レベルごとに表示する内容を具体的に説明する。
【0118】
取得推奨レベルL=0のときは、すでに校正済みと判断される場合や、同じ地点からの入力データを取得済みである場合であるので、液晶ディスプレイは、「現在の位置と姿勢において、校正用のデータを入力する必要はありません。位置姿勢センサ200の計測範囲内で、位置姿勢センサ200の位置または姿勢をかえてください。」と表示する。
【0119】
取得推奨レベルL=1のときは、情報量が不足しているために校正情報の算出ができない入力データの場合であるので、液晶ディスプレイは、「計算に必要な情報量が不足しています。位置姿勢センサ200の計測範囲内かつ、指標が撮像できるように位置姿勢センサ200の位置または姿勢をかえてください。」と表示する。
【0120】
取得推奨レベルL=2のときは、校正情報算出に必要な情報量を満たすものの、誤差が大きい可能性のある入力データであると判断されているので、液晶ディスプレイは、「入力データの誤差が大きい可能性があります。位置姿勢センサ200の計測範囲内で、位置姿勢センサ200の位置または姿勢をかえてください。」と表示する。
【0121】
取得推奨レベルL=3のときは、位置姿勢センサ200の校正を行うために、積極的にデータ入力を行うべきであると判断できることを示すため、液晶ディスプレイは、「センサ校正に適する入力データです。撮像する画像にブラーがでないように撮像装置または物体を静止させて、校正用入力データを取得してください。」と表示する。
【0122】
なお、各表示内容の前半部分が入力データの状態情報であり、後半部分が作業者への指示情報である。
【0123】
取得推奨レベルに応じた内容で、入力データの状態情報または作業者への指示情報が割り当てられていれば、文言はこれらに限るものではないことはいうまでもない。また、取得推奨レベルに応じたテキスト情報をディスプレイに表示したが、取得推奨レベルを作業者へ提示できればこれに限らない。音声情報によって、作業者に提示してもよい。音声情報であれば、位置姿勢センサ200の計測範囲が広い場合など、PCに付属する液晶ディスプレイから作業者が離れていても、取得推奨レベルを容易に確認することができる。また、色と音声とを組み合わせて提示してもよい。
【0124】
以上のように、取得推奨レベルを作業者の行動指示として表示することで、作業者はセンサの校正に適する入力データを簡単に取得することができる。
【0125】
(第4実施形態)
第1実施形態および第2実施形態では、取得推奨レベルに基づいて、入力データを校正に利用するか否かを判定した。しかし、取得推奨レベル表示部に表示された、取得推奨レベルに基づいて、不図示の作業者が校正用入力データの取得コマンドを入力してもよい。
【0126】
不図示の作業者からデータ取得コマンドが入力された時には「データ取得」の指示をデータ管理部1040に送信する。作業者からのコマンド入力は、例えばマウス707の操作や、キーボード708を用いて特定のコマンドを割り当てたキーを押下することによって行うことができる。また、コマンドの入力は、液晶ディスプレイ上に表示されたGUIで行ってもよく、いずれの方法で行ってもよい。
【0127】
(第5実施形態)
第1実施形態および第2実施形態にでは、算出された取得推奨レベルに色を割り当てて表示した。しかし、算出された取得推奨レベルに色を割り当てて表示できれば、図5および図6で示した例に限らない。
【0128】
例えば、図12に示すように、再投影誤差を表示する領域600に、取得推奨レベルの色を割り当てて表示してもよい。このように表示することで、作業者は、取得推奨レベルと再投影誤差とを関連付けて理解できる。これにより、センサ校正に必要となる入力データであるかどうかを判断し易くなる。
【0129】
また図13に示すように、撮像装置100が撮像した画像を表示する領域700に対して、取得推奨レベルに対応する色を割り当ててもよい。
【0130】
また図14に示すように、撮像装置100が撮像した画像の枠800に対して、取得推奨レベルに対応する色を割り当ててもよい。
【0131】
作業者が、校正データを入力する際に、取得推奨レベルを確認できるように色を割り当てていれば、取得推奨レベル表示部は、いずれの手法を用いてもよい。
【0132】
(第6実施形態)
第1実施形態および第2実施形態において、取得推奨レベル表示部は、PCに付属する液晶ディスプレイとして説明を行った。しかし、取得推奨レベル表示部は、液晶ディスプレイに限るものではない。取得推奨レベルが区別できれば、LEDやプラズマディスプレイなど、何れのディスプレイを用いてもよい。また、図15に示すように、取得推奨レベル表示部900は、位置姿勢センサ200を装着した撮像装置100に取り付けられていてもよい。ここで、取得推奨レベル表示部900は、例えば小型のディスプレイや、LEDである。
【0133】
また撮像装置100が撮像した画像に表示するために、HMD(ヘッドマウントディスプレイ)に内蔵した撮像装置100で撮像した画像に対して、取得推奨レベルの色を割り当て、HMDに表示してもよい。
【0134】
位置姿勢センサ200を装着した撮像装置100に、表示装置が取り付けられていれば、センサの計測範囲が広い場合であっても、作業者は、離れた位置から取得推奨レベルを確認することができる。
【0135】
(第7実施形態)
第1実施形態に係る情報処理装置1000は、撮像装置100に装着した位置姿勢センサ200の取得推奨レベルを表示した。また、第2実施形態に係る情報処理装置8000は、物体300に装着した位置姿勢センサ200の取得推奨レベルを表示した。
【0136】
しかしながら、情報処理装置は、撮像装置に装着した姿勢センサの撮像装置に対する姿勢情報を算出するための入力データを取得する際に、推奨レベルを算出して表示してもよい。以下、本実施形態に係る情報処理装置について説明する。
【0137】
図16は、本実施形態に係る情報処理装置16000の概略構成を示す。情報処理装置16000は、画像入力部16010と、センサ計測値入力部16020と、指標検出部16030と、データ管理部16040と、取得推奨レベル算出部16050と、取得推奨レベル表示部16060と、校正情報算出部16070とを備える。情報処理装置8000は、撮像装置100と、姿勢センサ250とに接続されている。
【0138】
撮像装置100上には、校正される対象である姿勢センサ250が装着されているものとする。撮像装置座標系は、撮像装置100上の1点を原点として定義し、更に互いに直交する3軸を夫々X軸、Y軸、Z軸として定義した座標系である。撮像装置座標系における、姿勢センサ250の姿勢は未知である。この撮像装置座標系における姿勢センサ250の姿勢が、校正する情報である。
【0139】
画像入力部16010、指標検出部16030、および取得推奨レベル表示部16060の各処理部の機能、及び指標Pは、それぞれ第1実施形態で説明した対応する各処理部の機能、及び指標Pと同様であるため説明を省略する。
【0140】
センサ計測値入力部16020は、姿勢センサ250から姿勢の計測値を取得し、データ管理部16040へと出力する。姿勢センサ250が出力する値は一般的にはセンサが独自に定義するセンサ座標系におけるセンサ自身の姿勢である。ここでは、センサ座標系の重力軸と、世界座標系の重力軸とは一致しているものとする。姿勢センサ250の回転行列(以下、「RWS」と称する)をデータ管理部16040へと出力する。取得推奨レベル算出部16050は、データ管理部16040から、指標の検出情報とセンサ計測値とを、校正用入力データ候補として取得する。取得推奨レベル算出部16050は、校正用入力データ候補に基づいて、校正情報算出に利用すべきかどうかの程度を示す取得推奨レベルを算出する。取得推奨レベル算出部16050は、取得推奨レベル表示部1060とデータ管理部1040とへ、取得推奨レベルを出力する。
【0141】
校正情報算出部16070は、データ管理部16040から校正用入力データを取得し、撮像装置座標系における姿勢センサ250の姿勢情報を校正情報として算出し、当該校正情報を出力する。校正情報の算出方法は、何れの公知技術を用いてもよい。
【0142】
次に図17のフローチャートを参照して、本実施形態に係る情報処理装置16000が、校正用入力データの取得推奨レベルを表示する処理の手順を示す。
【0143】
S17010、S17020、S17030、およびS17050の各処理は、第1の実施形態のS2010、S2020、S2030、およびS2050の各処理と同様であるため説明を省略する。S17040において、取得推奨レベル算出部16050は、後述する図18のフローチャートの処理に従って取得推奨レベルを算出する。
【0144】
図18は、S17040における取得推奨レベルの算出方法についてのフローチャートを示す。S18010乃至S18080、およびS18100乃至S18120の各処理は、第1の実施形態で説明した対応する各処理と同様であるため、説明を省略する。
【0145】
S18090において、取得推奨レベル算出部16050は、概略校正計算結果と、姿勢センサ250の計測値と、指標の検出座標と、予め求めておいた指標の3次元位置とに基づいて、指標の推定座標u'Pknを求める。次に指標の推定座標u'Pknと、指標の検出座標uPknとの差である、再投影誤差ΔuPknを求め、第1実施形態で説明したように、当該再投影誤差を利用して、取得推奨レベルを求めればよい。取得推奨レベルを求めることができれば、第1実施形態と同様に取得推奨レベル表示部16060は、取得推奨レベルを表示することができる。
【0146】
以上説明したように、姿勢センサの撮像装置座標系に対する姿勢情報を求めて、姿勢センサの校正を行う場合であっても、取得推奨レベルを求め、それを表示することができる。このように表示することで、センサ校正を行う作業者は、校正用入力データの取得推奨レベルを簡単に理解でき、姿勢センサのセンサ校正に適する入力データを取得することができる。
【0147】
本発明によれば、センサ校正に関する知識やノウハウのない作業者であっても、センサ校正用入力データを容易に取得し、精度よく校正を行うための校正用入力データであるか否かを容易に判断することが可能となる。
【0148】
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、情報処理装置、情報処理装置の制御方法、およびプログラムに関する。
【背景技術】
【0002】
近年、複合現実感(Mixed Reality;MR)技術の研究が盛んである。MR技術とは、現実空間とコンピュータによって作られる仮想空間とを繋ぎ目なく融合する技術である。MR技術は、組み立て作業時に作業手順や配線の様子を重畳表示する組み立て支援、患者の体表面に体内の様子を重畳表示する手術支援等、様々な分野への応用が期待される。
【0003】
仮想物体が現実空間に実在するように利用者が感じるためには、仮想物体と現実空間との間の幾何学的な整合性が重要である。複合現実感(MR)における幾何学的な整合性には、現実空間の座標系と仮想空間の座標系とを一致させるための整合性と、現実物体と仮想物体との前後関係を正しく表現するための整合性とがある。前者の整合性を扱う問題は、複合現実感(MR)における位置合わせ問題とも呼ばれ、種々の研究報告が行われている(非特許文献1参照)。位置合わせ問題は、観察者視点映像を撮像するための撮像装置と、仮想の情報を重畳表示させようとする対象である現実物体との間で、位置姿勢を合わせる際の問題である。本発明では、この位置合わせ問題を扱う。
【0004】
撮像装置の位置姿勢を計測する方法として、
(1)位置および姿勢の両方を同時に計測可能なセンサの計測値を利用する方法。
【0005】
(2)姿勢を計測するセンサの計測値と、撮像装置で撮像された画像から検出した指標の画像情報とを利用する方法。
【0006】
(3)撮像装置で撮像された画像から検出した指標の画像情報を利用して、位置および姿勢の両方を同時に計測できるセンサから得たセンサ計測値を補正する方法。
【0007】
などがある(非特許文献1、非特許文献2参照)。一般的に、位置および姿勢を計測する位置姿勢センサとして、磁気式や光学式のセンサが用いられ、一方、姿勢を計測する姿勢センサとして、ジャイロによる慣性センサが用いられている。
【0008】
撮像装置に姿勢センサまたは位置姿勢センサを装着し、センサ計測値を利用して物体や撮像装置の位置または姿勢を求めるためには、姿勢センサまたは位置姿勢センサの、計測対象である撮像装置に対する相対位置または姿勢を予め計測する必要がある。計測対象に対するセンサの配置情報である相対位置または姿勢を求めることを、以下ではセンサの校正と称する。
【0009】
特許文献1では、物体に、指標と、位置姿勢センサまたは姿勢センサとを装着し、物体に装着した位置姿勢センサまたは姿勢センサの物体に対する配置情報を校正情報として求めるセンサ校正方法が開示されている。物体を撮像した画像を取得し、センサの計測値を入力し、画像から指標の画像座標に関する情報を検出し、センサ計測値と指標の画像座標に関する情報とを用いて、校正情報を求めている。以下では、画像を利用してセンサの校正を行う場合において、校正に必要となる位置姿勢センサまたは姿勢センサの計測値と、画像上で検出した指標の画像情報とを、校正用入力データと称する。
【0010】
センサの校正を行うためには、様々な位置および姿勢における校正用入力データを取得する必要がある。また、校正用入力データの精度がセンサの校正結果に大きく影響を与えるため、精度の高いセンサの計測値を入力するとともに、撮像した画像から高精度に指標を検出する必要がある。画像上で小さく指標が撮像される場合や、撮像装置が高速に回転または移動して撮像画像にブラーが起こる場合には、指標の検出精度が低下する。そのため、このような場合に取得したセンサ校正用入力データを入力して計算を行うと、校正結果の精度が低下する。
【0011】
また、特許文献2では、センサの校正を行う際に、校正の精度低下を引き起こす校正用入力データを減らし、校正精度の向上を図ることを目的として、校正用入力データ取得時に、目標撮像位置姿勢を指示する仮想的な3次元オブジェクトを提示している。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特開2006−153848号公報
【特許文献2】特開2008−046687号公報
【非特許文献】
【0013】
【非特許文献1】佐藤, 内山, 田村, "複合現実感における位置合わせ手法", 日本VR学会論文誌,Vol.8,no.2,pp.171−180,2003.
【非特許文献2】K. Satoh, S. Uchiyama, and H. Yamamoto: "A head tracking method using bird's−eye view camera and gyroscope," Proc. 3rd IEEE/ACM Int'l Symp. on Mixed and Augmented Reality (ISMAR 2004), pp.202−211, 2004.
【発明の概要】
【発明が解決しようとする課題】
【0014】
しかしながら、特許文献1のようにセンサ計測値と指標の画像情報とに基づいてセンサの校正を行う場合、センサの校正に関する知識やノウハウを持たない作業者が、校正に適する入力データか否かを判断することは難しいという課題がある。
【0015】
なぜなら、位置姿勢センサの計測範囲内であっても、一様な計測精度で分布しているわけではなく、周辺の環境や、計測場所によってセンサの計測精度に偏りがあるためである。具体的には、磁気式の位置姿勢センサであれば、周辺の磁場の影響を受けやすく、磁場の歪みに依存して正しい計測値が得られないことが知られている。また、光学式の位置姿勢センサの場合、位置または姿勢の計測精度は、光学センサのレンズ歪み補正パラメータやカメラパラメータの精度に依存して計測精度に偏りが生じる。そのため、光学式の位置姿勢センサのレンズ中心付近、すなわち計測範囲の中心では計測精度がよいが、計測範囲の境界付近などでは、計測精度が低いことがある。したがって、作業者は、精度のよいセンサ校正を行うために、センサの特性や周辺環境を鑑みて校正用入力データを取得する必要がある。
【0016】
また、センサの計測範囲内において、様々な位置姿勢から指標を画像上で十分大きく写るように撮像し、かつ撮像画像でブラーが起こらないように撮像しなければならない。特にセンサ計測範囲が広い場合に、校正に適するデータか否かを判断しつつ、様々な位置および姿勢でのセンサ計測値を取得することは、ノウハウを持たない作業者にとって難しいという課題がある。
【0017】
特許文献2では、校正用入力データを取得するための撮像装置の目標位置姿勢を提示することが可能である。しかしながら、校正用入力データを取得する場所において、センサの特性や周辺環境を鑑みて、その校正用入力データが適するか否かを判断する技術は開示されていない。加えて、正しい目標位置姿勢を提示するためには、正確な撮像装置の位置姿勢を求める必要がある。しかしながら、センサの校正は、正確な撮像装置の位置姿勢を求めるために行っているのであって、センサの校正を行う前に正確な撮像装置の位置姿勢を求めることはできない。
【0018】
したがって、おおまかな校正結果に基づいて目標位置姿勢を提示することはできるものの、実際に校正用入力データを取得する場所において、校正に適する入力データか否かを判断することは難しい。
【0019】
上記の課題に鑑み、本発明は、センサ校正に関する知識やノウハウのない作業者であっても、センサ校正用入力データを容易に取得し、精度よく校正を行うための校正用入力データであるか否かを容易に判断する技術を提供することを目的とする。
【課題を解決するための手段】
【0020】
上記の目的を達成する本発明に係る情報処理装置は、
撮像装置に対する位置姿勢センサの位置または姿勢を校正するための校正用入力データを処理する情報処理装置であって、
前記撮像装置により撮像された画像を取得する画像取得手段と、
前記画像から指標情報を検出する指標検出手段と、
前記位置姿勢センサにより計測された前記位置姿勢センサ自身の位置または姿勢の計測値を取得する計測値取得手段と、
前記指標情報と前記計測値とを含む前記校正用入力データの推奨レベルを、前記指標情報と前記計測値とに基づいて算出する算出手段と、
前記推奨レベルを提示する提示手段と、
を備えることを特徴とする。
【発明の効果】
【0021】
本発明によれば、センサ校正に関する知識やノウハウのない作業者であっても、センサ校正用入力データを容易に取得し、精度よく校正を行うための校正用入力データであるか否かを容易に判断することが可能となる。
【図面の簡単な説明】
【0022】
【図1】第1実施形態における情報処理装置1000の概略構成を示すブロック図。
【図2】第1実施形態における校正用入力データの取得推奨レベルを表示する処理の手順を示すフローチャート。
【図3】第1実施形態における校正用入力データの取得推奨レベルを算出する処理の手順を示すフローチャート。
【図4】第1実施形態におけるセンサの校正情報を算出する処理の手順を示すフローチャート。
【図5】第1実施形態における校正用入力データの取得推奨レベルの表示方法を示す図。
【図6】第3実施形態における校正用入力データの取得推奨レベルを、入力データの状態と作業者の行動を指示するテキスト情報とに割り当てる説明図。
【図7】第1実施形態における情報処理装置1000のハードウェア構成を示すブロック図。
【図8】第2実施形態における情報処理装置8000の概略構成を示すブロック図。
【図9】第2実施形態における校正用入力データの取得推奨レベルを表示する処理の手順を示すフローチャート。
【図10】第2実施形態における校正用入力データの取得推奨レベルの算出処理の手順を示すフローチャート。
【図11】第2実施形態におけるセンサの校正情報を算出する処理の手順を示すフローチャート。
【図12】第5実施形態における、校正用入力データの取得推奨レベルに対応する色を、再投影誤差を表示する領域600に割り当てた様子を表す図。
【図13】第5実施形態における、校正用入力データの取得推奨レベルに対応する色を、撮像装置が撮像した画像の領域700に割り当てた様子を表す図。
【図14】第5実施形態における、校正用入力データの取得推奨レベルに対応する色を、撮像装置が撮像した画像の枠800に割り当てた様子を表す図。
【図15】第6実施形態における、位置姿勢センサを装着した撮像装置に取り付けられた、取得推奨レベル表示部を表す図。
【図16】第7実施形態における、情報処理装置16000の概略構成を示す図。
【図17】第7実施形態における、校正用入力データの取得推奨レベルを表示する処理の手順を示すフローチャート。
【図18】第7実施形態における、校正用入力データの取得推奨レベルを算出する処理の手順を示すフローチャート。
【発明を実施するための形態】
【0023】
(第1実施形態)
本実施形態に係る情報処理装置は、撮像装置に装着した位置姿勢センサの撮像装置に対する配置情報を算出するための入力データを取得する際に、推奨レベルを算出して表示する。以下、本実施形態に係る情報処理装置について説明する。
【0024】
図1は、本実施形態に係る情報処理装置1000の概略構成を示す。情報処理装置1000は、画像入力部1010と、センサ計測値入力部1020と、指標検出部1030と、データ管理部1040と、取得推奨レベル算出部1050と、取得推奨レベル表示部1060と、校正情報算出部1070とを備える。また情報処理装置1000は、撮像装置100と、位置姿勢センサ200とに接続されている。
【0025】
なお、校正される対象である位置姿勢センサ200は、撮像装置100上に装着されているものとする。撮像装置座標系は、撮像装置100上の1点を原点として定義し、更に互いに直交する3軸を夫々X軸、Y軸、Z軸として定義した座標系である。撮像装置座標系における、位置姿勢センサ200の位置姿勢は未知である。この未知である撮像装置座標系における位置姿勢センサ200の位置姿勢が、校正する情報である。
【0026】
現実空間中には、撮像装置100によって撮像するための1つまたは複数の指標Pが配置される。ここで現実空間の1点を原点として定義し、更に互いに直交する3軸を夫々X軸、Y軸、Z軸として定義する座標系を世界座標系と称する。この世界座標系における位置が既知である指標Pk(k=1,,,K)が配置されている。指標Pkは、撮像装置100によって、少なくとも3個以上の点の情報が観測されるように設置されているとよい。
【0027】
指標Pkは、例えば、それぞれが異なる色を有する円形状のマーカーによって構成してもよいし、それぞれが異なる特徴を有する自然特徴等の特徴点によって構成してもよい。また、ある程度の面積を有する四角形領域によって形成されるような四角形指標を用いることも可能である。撮像画像上における画像座標が検出可能であって、かついずれの指標であるかが識別可能であるような指標であれば、何れの形態であってもよい。
【0028】
画像入力部1010は、撮像装置100が出力する画像取得を行い、当該画像を指標検出部1030へ出力する。
【0029】
センサ計測値入力部1020は、位置姿勢センサ200から位置姿勢の計測値取得処理を行い、当該計測値をデータ管理部1040へ出力する。位置姿勢センサ200が出力する計測値は一般的にはセンサが独自に定義するセンサ座標系における位置姿勢センサ自身の位置姿勢である。ここでは、センサ計測値入力部1020は、既知の値であるセンサ座標系から世界座標系への変換行列を乗算することにより、センサ座標系における位置姿勢センサ自身の位置姿勢を世界座標系における位置姿勢センサ自身の位置姿勢に変換する。センサ計測値入力部1020は、変換後の姿勢を示す回転行列(以下、「RWS」と称する)をデータ管理部1040へと出力する。
【0030】
指標検出部1030は、画像入力部1010により取得された画像における指標Pkの座標を検出する。例えば、指標Pkの各々が異なる色を有するマーカーによって構成されている場合には、画像上から各々のマーカー色に対応する領域を検出し、その重心位置を指標の検出座標とする。また、指標Pkの各々が異なるテクスチャ特徴を有する特徴点によって構成されている場合には、既知の情報として予め保持している各々の指標のテンプレート画像によるテンプレートマッチングを施すことにより、指標の位置を検出する。指標として四角形指標を用いる場合は、画像に2値化処理を施した後にラベリングを行い、一定面積以上の領域の中から4つの直線によって形成されているものを指標候補として検出する。さらに、候補領域の中に特定のパターンがあるか否かを判定することによって誤検出を排除し、また、指標の方向と識別子を取得する。なお、このようにして検出される四角形指標は、本実施形態では、4つの頂点の個々によって形成される4つの指標であると考え、指標Pknと表す。ここで、n(n=1,2,3,4)は検出された指標夫々に対するインデックスである。
【0031】
指標検出部1030は、検出された各々の指標Pknの画像座標uPknとその識別子knを指標の検出情報(指標情報)として、また指標を検出できない場合には、指標が検出できないことを指標の検出情報(指標情報)として、データ管理部1040へと出力する。
【0032】
取得推奨レベル算出部1050は、データ管理部1040から、指標の検出情報とセンサ計測値とを、校正用入力データ候補として取得する。校正用入力データ候補に基づいて、校正情報算出に利用すべきかどうかのレベルを示す取得推奨レベルを算出する。取得推奨レベル算出部1050は、取得推奨レベル表示部1060とデータ管理部1040とに、取得推奨レベルを出力する。
【0033】
取得推奨レベル表示部1060は、取得推奨レベル算出部1050から取得した取得推奨レベルを、不図示の作業者に表示する。不図示の作業者は、取得推奨レベルが高くなる場所に、位置姿勢センサ200を装着した撮像装置100を移動させる。
【0034】
データ管理部1040は、取得推奨レベル算出部1050から取得推奨レベルを取得し、校正用入力データを校正情報算出部1070に出力する。
【0035】
校正情報算出部1070は、データ管理部1040から校正用入力データを取得し、校正情報を算出し、当該校正情報を出力する。
【0036】
図2のフローチャートを参照して、本実施形態に係る情報処理装置1000が、校正用入力データの取得推奨レベルを表示する処理の手順を示す。なお、同フローチャートに従ったプログラムコードは、情報処理装置1000内の不図示のRAMやROMなどのメモリ内に格納され、不図示のCPUにより読み出され、実行される。
【0037】
S2010において、画像入力部1010は、撮像装置100から画像を取得する。S2020において、指標検出部1030は、画像から指標Pknを検出する。指標検出部1030は、検出した指標Pknの画像座標uPknとその識別子knとを検出情報としてデータ管理部1040へ出力する。指標を検出できない場合には、指標を検出できなかったことを示すフラグを検出情報としてデータ管理部1040へ出力する。
【0038】
S2030において、センサ計測値入力部1020は、位置姿勢センサ200から計測値である姿勢RWSと位置TWSとを取得し、データ管理部1040へ出力する。
【0039】
以上のS2010、S2020、S2030の各処理により、データ管理部1040は、センサ計測値および、指標の検出情報を取得することができる。S2040において、取得推奨レベル算出部1050は、取得推奨レベルを算出する。
【0040】
ここで、校正用入力データの取得推奨レベルについて説明する。取得推奨レベルは、指標の検出状況と、センサの計測値とに基づいて、入力データが、校正情報を算出するために利用する校正用入力データとして適当であるか否かの度合いを数値化したものである。情報量が不足しているために、校正情報を算出できない入力データであると判断できる場合には、取得推奨レベルLは、L=1とする。校正情報を算出できるが、精度のよい校正を行うためには、適当でないと判断できる場合には、L=2とする。精度のよい校正を行うために、積極的に入力データを用いるべきであると判断できる場合には、L=3とする。すでに校正済みであると判断される場合や、同じ地点からの入力データを取得済みであるなど、センサ校正を行うために必要のない入力データである場合には、L=0とする。取得推奨レベルの算出処理の詳細は図3のフローチャートを参照して後述する。
【0041】
S2050において、取得推奨レベル表示部1060は、S2040で算出された取得推奨レベルを作業者に対して表示する。
【0042】
図5を参照して、取得推奨レベルの表示例について説明する。取得推奨レベル表示部1060として、校正計算に用いるPCに付属する不図示の液晶ディスプレイを用いることができる。取得推奨レベルをレベルごとに、例えばL=0のとき水色、L=1のとき赤色、L=2のとき黄色、L=3のとき青色として色分けして、レベルに応じた色を図5の領域400に表示する。なお、レベル別に区別することができれば、何れの色を各レベルに割り当ててもよい。また、レベルごとにテクスチャの模様や、異なる輝度を割り当ててもよい。レベル別に区別することができれば、何れの方法を用いてもよい。作業者は、液晶ディスプレイに表示される取得推奨レベルが、L=3に対応する色となるように、位置姿勢センサ200を装着した撮像装置100を移動させる。これにより、校正に適する入力データを取得することができる。
【0043】
また、センサの校正には、位置姿勢センサ200を装着した撮像装置100のさまざまな位置姿勢での入力データが必要となる。そのため、計測範囲が広い場合や、入力データを取得する位置や姿勢によっては、作業者は液晶ディスプレイから離れてしまうため、センサの計測値を液晶ディスプレイから読み取ることが難しくなる。しかし、本実施形態のように、取得推奨レベルを色別で表示することによって、センサの計測値を読み難い場所に移動していても、入力データが校正に適するか否かを容易に判断できる。したがって、校正用入力データを取得する場所に関わらずに、入力データが校正に適するか否かを簡単に判断することができる。
【0044】
以上の処理によって、情報処理装置1000は、撮像装置100に装着した位置姿勢センサ200の配置情報を算出するための入力データを取得する際に、推奨レベルを算出して表示する。これにより、センサの校正に関する知識やノウハウを持たない作業者であっても、センサの校正に適する校正用入力データを簡単に取得することができる。以上で図2のフローチャートの各処理が終了する。
【0045】
次に図3のフローチャートを参照して、S2040の取得推奨レベルの算出処理の詳細について説明する。
【0046】
S3010において、取得推奨レベル算出部1050は、位置姿勢センサ200の計測値が、センサの計測範囲内であるか否かを判定する。すなわち精度が保証される範囲内であるか否かを判定する。磁気式の位置姿勢センサは、一般的にセンサの計測範囲が連続的であって、精度が保証される範囲は、センサのトランスミッターから受信側のセンサまでの距離によって決められていることが多い。このような磁気式の位置姿勢センサの場合、センサのトランスミッターからの受信側のセンサまでの距離内であれば、センサの計測範囲内とし、その距離以上離れていれば計測範囲外とする。また、一般的な光学式センサの場合、光学式センサである複数のカメラの視野から、計測対象が外れると位置姿勢を計測できなくなる。そのため、位置姿勢を計測可能な最小数のカメラの視野外に計測対象が出た場合を、センサの計測範囲外とする。位置姿勢センサ200の計測値がセンサの計測範囲内であると判定された場合(S3010;YES)、S3020へ進む。一方、位置姿勢センサ200の計測値がセンサの計測範囲外であると判定された場合(S3010;NO)、S3030へ進む。
【0047】
S3020において、取得推奨レベル算出部1050は、画像から指標を検出できたか否かを判定する。指標を検出できたと判定された場合(S3030;YES)、S3040へ進む。一方、指標を検出できなかったと判定された場合(S3030;NO)、S3030へ進む。
【0048】
S3030において、取得推奨レベル算出部1050は、入力データの情報量が不足していることを示すために、取得推奨レベルをL=1として設定する。その後、処理を終了する。
【0049】
S3040において、取得推奨レベル算出部1050は、検出された指標の画像上における面積を算出し、当該面積が閾値以上であるか否かを判定する。例えば指標の形状が四角形であれば、当該指標の画像上における四角形の面積が閾値以上であるか否かを判定する。指標の面積が閾値以上であると判定された場合(S3040;YES)、S3050へ進む。一方、指標の面積が閾値より小さいと判定された場合(S3040;NO)、S3070へ進む。
【0050】
S3050において、取得推奨レベル算出部1050は、検出された指標に基づいて撮像装置100の位置姿勢を算出する。撮像装置100の位置姿勢の算出方法は、公知の手法を利用すればよい。例えば、平面上に配置された四角形指標が検出されている場合には、平面ホモグラフィーを求めることで撮像装置の位置姿勢を算出してもよい。また、6点以上の点が検出されていれば、DLT(Direct Linear Transformation method)を用いてもよい。さらに、算出された撮像装置100の位置姿勢を初期値として非線形最適化計算を行うことにより、より正確な撮像装置100の位置姿勢を求めてもよい。他のいかなる公知の方法を用いて、検出された指標に基づいて撮像装置100の位置姿勢を求めてもよい。
【0051】
S3060において、取得推奨レベル算出部1050は、データ管理部1040に保持されている校正用入力データの撮像装置100の位置姿勢と、S3060で算出された撮像装置100の位置姿勢とを比較する。そして、S3060で算出された撮像装置100の位置姿勢が未取得の位置姿勢であるか否かを判定する。具体的には、撮像装置の位置の差分が閾値よりも小さく、かつ姿勢の差分が閾値よりも小さい場合には、既にほぼ同じ位置姿勢で撮像しているものと判定できる。一方で、そうでない場合には、未取得の位置姿勢であると判定できる。撮像装置100の位置姿勢が未取得の位置姿勢であると判定された場合(S3060;YES)、S3080へ進む。一方、撮像装置100の位置姿勢が既取得の位置姿勢であると判定された場合(S3060;NO)、S3070へ進む。
【0052】
S3070において、取得推奨レベル算出部1050は、入力データが校正情報算出に必要な情報量を満たすものの、誤差が大きい可能性のある入力データであることを示すために、取得推奨レベルをL=2として設定する。その後、処理を終了する。
【0053】
S3080において、取得推奨レベル算出部1050は、すでに概略校正計算済みであるか否かを判定する。すでに概略校正計算済みであると判定された場合(S3080;YES)、S3090へ進む。一方、概略校正計算済みではないと判定された場合(S3080;NO)、S3120へ進む。
【0054】
S3090において、取得推奨レベル算出部1050は、概略校正計算結果とセンサの計測値と予め求めておいた指標の3次元位置とに基づいて推定された指標の推定座標u'Pknと、指標の検出座標uPknとの差である、再投影誤差ΔuPknを算出する。
【0055】
ここで、ある位置姿勢で撮像装置100が撮像した画像のひとつの指標における再投影誤差ΔuPknの算出方法について述べる。再投影誤差ΔuPknは、次式によって求められる。
【0056】
【数1】
【0057】
撮像装置座標系における指標Pknの位置をxCPkn=[xCPkn、yCPkn、zCPkn]とし、fを焦点距離とする。すると、指標の推定座標u'Pkn=[u'xPkn、u'yPkn]は次のように表せる。
【0058】
【数2】
【0059】
ここで、ある三次元の座標系Bに対する三次元の座標系Aの位置を表す三次元ベクトルをt、姿勢を表す3×3回転行列をRとすると、座標系A上での位置がxA(三次元ベクトル)で表される点の座標系B上での座標xB(三次元ベクトル)は、式(3)に示す4×4行列MBAを用いて、同次座標表現によって式(4)のように表される。
【0060】
【数3】
【0061】
【数4】
【0062】
本実施形態では、MBAを座標系Bに対する座標系Aの位置姿勢を表す手法として用いる。
【0063】
撮像装置100に装着された位置姿勢センサ200の計測値より得られる、世界座標系における位置姿勢センサ200の位置姿勢をMWSとする。また本実施形態では、位置および姿勢を、次に述べるように6次元ベクトルによって表現する。位置および姿勢はそれぞれ、3値ベクトルx=[x y z]Tおよびω=[ξ ψ ζ]Tによって表現される。姿勢を3値によって表現する方法には様々なものが存在するが、ここでは、ベクトルの大きさによって回転角を、ベクトルの向きによって回転軸方向を定義するような3値のベクトルによって表現されているものとする。これらの、位置xおよび姿勢ωをまとめて、6次元ベクトルa=[x y z ξ ψ ζ]Tとして表現する。
【0064】
撮像装置座標系における、撮像装置100に装着した位置姿勢センサ200の位置姿勢を表す4×4行列MCSは、6次元ベクトルaCS=[xCS yCS zCS ξCS ψCS ζCS]Tにより表される。MCSからaCSへの変換は公知の方法を使って行うことができる。
【0065】
予め求めておいた指標Pknの世界座標系での位置をxWPknとし、MCSが未知パラメータであるaCSの関数であるとすると、指標Pknの撮像座標系における位置xCPknは、次式で表せる。
【0066】
【数5】
【0067】
概略校正計算結果であるaCSを初期値として与えて、式(5)および式(2)を式(1)へ代入することによって、再投影誤差を求めることができる。
【0068】
S3100において、取得推奨レベル算出部1050は、S3090で算出された再投影誤差が閾値よりも小さいか否かを判定する。再投影誤差が閾値よりも小さいと判定された場合(S3100;YES)、S3110へ進む。一方、再投影誤差が閾値以上であると判定された場合(S3100;NO)、S3120へ進む。
【0069】
S3110において、取得推奨レベル算出部1050は、センサ校正を行うためにその位置や姿勢で入力する必要がないことを示すために、取得推奨レベルをL=0として設定する。その後、処理を終了する。
【0070】
S3120において、取得推奨レベル算出部1050は、センサの校正を行うために、入力データが校正情報算出に積極的に用いられるべきであると判断できることを示すために、取得推奨レベルをL=3として設定する。その後、処理を終了する。以上で図3のフローチャートの各処理が終了する。
【0071】
次に、図4のフローチャートを参照して、取得推奨レベルに基づいてセンサの校正情報を算出する処理について説明する。
【0072】
S4010乃至S4040の各処理は、図2のS2010乃至S2040の各処理と同様であるため、説明を省略する。S4040の処理の詳細についても同様にS2040の処理の詳細について説明した図3のフローチャートの各処理と同様である。
【0073】
S4050において、データ管理部1040は、S4040で算出された取得推奨レベルに基づいて、入力データを校正に利用するか否かを判定する。例えば取得推奨レベルL=2、またはL=3の入力データであれば校正に利用すると判定してもよい。また、取得推奨レベルL=3の入力データであれば校正に利用すると判定してもよい。入力データを校正に利用すると判定された場合(S4050;YES)、S4060へ進む。一方、入力データを校正に利用しないと判定された場合(S4050;NO)、S4010へ戻る。
【0074】
S4060において、データ管理部1040は、S3050で求められた撮像装置100の位置姿勢、位置姿勢センサ200の計測値、予め求めておいた指標の3次元位置、および指標の検出座標を、校正用入力データとして保持する。
【0075】
S4070において、校正情報算出部1070は、校正計算を行うか否かを判定する。本実施形態では、不図示の指示部から校正計算を行うように不図示の作業者から指示があった場合に校正計算を行うと判定する。そして、例えば作業者から所定時間指示がない場合には、校正計算を行わないと判定する。校正計算を行うと判定された場合(S4070;YES)、S4080へ進む。一方、校正計算を行わないと判定された場合(S4070;NO)、S4010へ戻る。
【0076】
S4080において、校正情報算出部1070は、データ管理部1040に保持されている校正用入力データを用いて校正計算を行う。撮像装置100に装着した位置姿勢センサ200の配置情報、すなわち撮像装置座標系における位置姿勢センサ200の位置姿勢を校正情報として算出する。校正の計算方法は、公知の何れの方法で行ってもよい。
【0077】
S4090において、校正情報算出部1070は、不図示の作業者からセンサ校正の終了コマンドが入力されたか否かを判定する。センサ校正の終了コマンドが入力された場合(S4090;YES)、処理を終了する。一方、センサ校正の終了コマンドが処理時間入力されていない場合(S4090;NO)、S4010へ戻る。
【0078】
以上の処理によって、求めるべき校正情報である、撮像装置100に装着した位置姿勢センサ200の撮像装置100に対する配置情報を算出することができる。以上で図4のフローチャートの各処理が終了する。
【0079】
次に、図7を参照して、本実施形態における情報処理装置1000のハードウェア構成を説明する。図7に示したハードウェア構成は通常のパーソナルコンピュータの構成と同様である。情報処理装置1000は、CPU701と、画像取り込み器702と、位置姿勢入力器703と、記憶媒体704と、ROM705と、RAM706と、マウス707と、キーボード708とを備える。
【0080】
CPU701は、記憶媒体704、ROM705、RAM706、不図示の外部記憶装置等に保存されているプログラムを実行することにより、図1で説明した画像入力部1010乃至校正情報算出部1070の各処理部の動作を制御する。なお、データ管理部1040は、記憶媒体704に情報を保存したり、記憶媒体704から情報を読み出したりすることができる。
【0081】
画像取り込み器702は、画像入力部1010に対応しており、撮像装置100により撮像された画像をコンピュータ内に取り込む。画像取り込み器502は、例えばビデオキャプチャボードであるが、撮像装置100により撮像された画像をコンピュータ内に取り込むものであれば何であってもよい。
【0082】
位置姿勢入力器703は、センサ計測値入力部1020に対応しており、位置姿勢センサ200により計測された計測値をコンピュータ内に取り込む。
【0083】
マウス707およびキーボード708は、作業者からの指示を受け付けることができる。
【0084】
なお、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0085】
また、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0086】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0087】
本実施形態によれば、センサ校正に関する知識やノウハウのない作業者であっても、センサ校正用入力データを容易に取得し、精度よく校正を行うための校正用入力データであるか否かを容易に判断することが可能となる。
【0088】
(第2実施形態)
第1実施形態に係る情報処理装置1000では、撮像装置100に装着した位置姿勢センサ200の取得推奨レベルを表示した。本実施形態に係る情報処理装置は、撮像対象となる物体に装着した位置姿勢センサの校正用入力データを取得する際に、取得推奨レベルを表示する。以下、本実施形態に係る情報処理装置について説明する。
【0089】
図8は、本実施形態に係る情報処理装置8000の概略構成を示す。情報処理装置8000は、画像入力部8010と、センサ計測値入力部8020と、指標検出部8030と、データ管理部8040と、取得推奨レベル算出部8050と、取得推奨レベル表示部8060と、校正情報算出部8070とを備える。物体300には、校正される対象である位置姿勢センサ200が装着されているものとする。
【0090】
情報処理装置8000は、撮像装置100と、後述する位置姿勢センサ200とに接続されている。撮像装置100は、物体300を撮像可能な位置に固定されており、世界座標系における撮像装置100の位置姿勢を公知の方法により予め求めておく。また物体座標系を、物体300上の1点を原点として定義し、更に互いに直交する3軸を夫々X軸、Y軸、Z軸として定義する。この物体座標系における位置姿勢センサ200の位置姿勢は未知である。この未知である物体座標系における位置姿勢センサ200の位置姿勢が、校正する対象となる情報である。物体300上には、撮像装置100によって撮像される指標が配置される。ここでは、物体座標系における位置が既知である指標Pk(k=1,,,K)が物体300上に配置されている。指標Pkは、撮像装置100によって、少なくとも3個以上の点の情報が観測されるように設置されているとよい。
【0091】
画像入力部8010、センサ計測値入力部8020、指標検出部8030、データ管理部8040、および取得推奨レベル表示部8060の各処理部の機能、及び指標は、それぞれ第1実施形態で説明した対応する各処理部の機能、及び指標と同様であるため説明を省略する。
【0092】
取得推奨レベル算出部8050は、第1実施形態と同様に、データ管理部8040から、指標の検出情報とセンサ計測値とを、校正用入力データ候補として取得する。取得推奨レベル算出部8050は、取得された校正用入力データ候補に基づいて、当該候補を校正情報算出に利用すべきかどうかのレベルを示す取得推奨レベルを算出する。取得推奨レベル算出部8050は、取得推奨レベル表示部8060と、データ管理部8040とへ、算出された取得推奨レベルを出力する。
【0093】
校正情報算出部8070は、データ管理部8040から校正用入力データを入力し、校正情報として、物体座標系における位置姿勢センサ200の配置情報を算出し、当該校正情報を出力する。
【0094】
次に図9のフローチャートを参照して、本実施形態に係る情報処理装置8000が、校正用入力データの取得推奨レベルを表示する処理の手順を示す。
【0095】
S9010、S9020、S9030、およびS9050の各処理は、第1の実施形態のS2010、S2020、S2030、およびS2050の各処理と同様であるため説明を省略する。S9040において、取得推奨レベル算出部8050は、後述する図10のフローチャートの処理に従って取得推奨レベルを算出する。
【0096】
図10は、取得推奨レベルの算出方法についてのフローチャートを示す。S10010乃至S10040、S10070、S10080、およびS10100乃至S10120の各処理は、第1の実施形態で説明した対応する各処理と同様であるため、説明を省略する。
【0097】
S10050において、取得推奨レベル算出部8050は、検出された指標から物体300の位置姿勢を算出する。物体300の位置姿勢は、撮像装置100に対する相対的な位置姿勢である。物体300の位置姿勢の算出方法は、第1実施形態と同様に公知の手法を用いればよい。
【0098】
S10060において、取得推奨レベル算出部8050は、データ管理部8040に保持されている校正用入力データの物体300の位置姿勢と、S10050で算出された物体300の位置姿勢とを比較する。そして、S10050で算出された物体300の位置姿勢が未取得の位置姿勢であるか否かを判定する。具体的には、物体300の位置の差分が閾値よりも小さく、かつ姿勢の差分が閾値よりも小さい場合には、既にほぼ同じ位置姿勢で撮像しているものと判定できる。一方で、そうでない場合には、未取得の位置姿勢であると判定できる。物体300の位置姿勢が未取得の位置姿勢であると判定された場合(S10060;YES)、S10080へ進む。一方、物体300の位置姿勢が既取得の位置姿勢であると判定された場合(10060;NO)、S10070へ進む。
【0099】
S10090において、取得推奨レベル算出部8050は、概略校正計算結果とセンサの計測値と、指標の物体座標系における3次元位置とに基づいて推定した指標の推定座標u'Pknと、指標の検出座標uPknとの差である、再投影誤差ΔuPknを算出する。
【0100】
ここで、撮像装置がある位置姿勢の物体を撮像した画像のひとつの指標における再投影誤差ΔuPknの算出方法について述べる。再投影誤差ΔuPknは、式(6)によって求められる。
【0101】
【数6】
【0102】
撮像装置座標系における指標Pknの位置をxCPkn=[xCPkn、yCPkn、zCPkn]とし、fを焦点距離とすると、指標の推定座標u'Pkn=[u'xPkn、u'yPkn]は次のように表せる。
【0103】
【数7】
【0104】
物体300に装着された位置姿勢センサ200の計測値より得られる世界座標系における位置姿勢センサ200の位置姿勢をMWSとする。公知の方法で求めておいた撮像装置100の世界座標系における位置姿勢をMWCとする。
【0105】
物体座標系における、物体300に装着した位置姿勢センサ200の位置姿勢を表す4×4行列MOSは、6次元ベクトルaOS=[xOS yOS zOS ξOS ψOS ζOS]Tによって表される。MOSからaOSへの変換は公知の方法を用いて行うことができる。
【0106】
予め求めておいた指標Pknの物体座標系での位置をxOPknとし、MOSが未知パラメータであるaOSの関数であるとすると、指標Pknの撮像座標系における位置xCPknは、式(8)で表すことができる。
【0107】
【数8】
【0108】
概略校正計算結果であるaCSを初期値として与え、式(8)および(7)を式(6)に代入することによって、再投影誤差を求めることができる。
【0109】
以上の処理によって、情報処理装置8000は、物体300に装着した位置姿勢センサ200の配置情報を算出するための入力データを取得する際に、推奨レベルを算出して表示する。これにより、センサの校正に関する知識やノウハウを持たない作業者であっても、センサの校正に適する校正用入力データを簡単に取得することができる。
【0110】
次に、図11のフローチャートを参照して、取得推奨レベルに基づいてセンサの校正情報を算出する処理について説明する。
【0111】
S11010乃至S11040の各処理は、図9のS9010乃至S9040の各処理と同様であるため、説明を省略する。S11040の処理の詳細についても同様にS9040の処理の詳細を説明した図10のフローチャートの各処理と同様である。
【0112】
また、S11050、S11070、およびS11090の各処理は、それぞれ図4を参照して説明したS4050、S4070、およびS4090の各処理と同様である。
【0113】
S11060において、データ管理部8040は、既知の撮像装置の位置姿勢、位置姿勢センサ200の計測値、既知の指標の3次元位置、および指標の検出座標を、校正用入力データとして保持する。
【0114】
S11080において、校正情報算出部8070は、データ管理部8040に保持されている校正用入力データを用いて校正計算を行う。物体300に装着した位置姿勢センサ200の配置情報、すなわち、物体座標系における位置姿勢センサ200の位置姿勢を校正情報として算出する。校正の計算方法は、公知の何れの方法で行ってよい。
【0115】
以上の処理によって、物体300に装着した位置姿勢センサ200の物体300に対する配置情報を、簡便かつ正確に算出することができる。
【0116】
本実施形態によれば、センサ校正に関する知識やノウハウのない作業者であっても、センサ校正用入力データを容易に取得し、精度よく校正を行うための校正用入力データであるか否かを容易に判断することが可能となる。
【0117】
(第3実施形態)
第1実施形態および第2実施形態では、算出された取得推奨レベルに色を割り当てて表示した。しかし、取得推奨レベルごとに、作業者への指示をテキスト情報として液晶ディスプレイに表示してもよい。図6は、取得推奨レベルと、入力データの状態情報と、作業者の行動を指示する指示情報とをテキスト情報として表示した例を示す。例えば、入力データの状態情報およびテキスト情報は、図6の領域500に表示する。以下、取得推奨レベルごとに表示する内容を具体的に説明する。
【0118】
取得推奨レベルL=0のときは、すでに校正済みと判断される場合や、同じ地点からの入力データを取得済みである場合であるので、液晶ディスプレイは、「現在の位置と姿勢において、校正用のデータを入力する必要はありません。位置姿勢センサ200の計測範囲内で、位置姿勢センサ200の位置または姿勢をかえてください。」と表示する。
【0119】
取得推奨レベルL=1のときは、情報量が不足しているために校正情報の算出ができない入力データの場合であるので、液晶ディスプレイは、「計算に必要な情報量が不足しています。位置姿勢センサ200の計測範囲内かつ、指標が撮像できるように位置姿勢センサ200の位置または姿勢をかえてください。」と表示する。
【0120】
取得推奨レベルL=2のときは、校正情報算出に必要な情報量を満たすものの、誤差が大きい可能性のある入力データであると判断されているので、液晶ディスプレイは、「入力データの誤差が大きい可能性があります。位置姿勢センサ200の計測範囲内で、位置姿勢センサ200の位置または姿勢をかえてください。」と表示する。
【0121】
取得推奨レベルL=3のときは、位置姿勢センサ200の校正を行うために、積極的にデータ入力を行うべきであると判断できることを示すため、液晶ディスプレイは、「センサ校正に適する入力データです。撮像する画像にブラーがでないように撮像装置または物体を静止させて、校正用入力データを取得してください。」と表示する。
【0122】
なお、各表示内容の前半部分が入力データの状態情報であり、後半部分が作業者への指示情報である。
【0123】
取得推奨レベルに応じた内容で、入力データの状態情報または作業者への指示情報が割り当てられていれば、文言はこれらに限るものではないことはいうまでもない。また、取得推奨レベルに応じたテキスト情報をディスプレイに表示したが、取得推奨レベルを作業者へ提示できればこれに限らない。音声情報によって、作業者に提示してもよい。音声情報であれば、位置姿勢センサ200の計測範囲が広い場合など、PCに付属する液晶ディスプレイから作業者が離れていても、取得推奨レベルを容易に確認することができる。また、色と音声とを組み合わせて提示してもよい。
【0124】
以上のように、取得推奨レベルを作業者の行動指示として表示することで、作業者はセンサの校正に適する入力データを簡単に取得することができる。
【0125】
(第4実施形態)
第1実施形態および第2実施形態では、取得推奨レベルに基づいて、入力データを校正に利用するか否かを判定した。しかし、取得推奨レベル表示部に表示された、取得推奨レベルに基づいて、不図示の作業者が校正用入力データの取得コマンドを入力してもよい。
【0126】
不図示の作業者からデータ取得コマンドが入力された時には「データ取得」の指示をデータ管理部1040に送信する。作業者からのコマンド入力は、例えばマウス707の操作や、キーボード708を用いて特定のコマンドを割り当てたキーを押下することによって行うことができる。また、コマンドの入力は、液晶ディスプレイ上に表示されたGUIで行ってもよく、いずれの方法で行ってもよい。
【0127】
(第5実施形態)
第1実施形態および第2実施形態にでは、算出された取得推奨レベルに色を割り当てて表示した。しかし、算出された取得推奨レベルに色を割り当てて表示できれば、図5および図6で示した例に限らない。
【0128】
例えば、図12に示すように、再投影誤差を表示する領域600に、取得推奨レベルの色を割り当てて表示してもよい。このように表示することで、作業者は、取得推奨レベルと再投影誤差とを関連付けて理解できる。これにより、センサ校正に必要となる入力データであるかどうかを判断し易くなる。
【0129】
また図13に示すように、撮像装置100が撮像した画像を表示する領域700に対して、取得推奨レベルに対応する色を割り当ててもよい。
【0130】
また図14に示すように、撮像装置100が撮像した画像の枠800に対して、取得推奨レベルに対応する色を割り当ててもよい。
【0131】
作業者が、校正データを入力する際に、取得推奨レベルを確認できるように色を割り当てていれば、取得推奨レベル表示部は、いずれの手法を用いてもよい。
【0132】
(第6実施形態)
第1実施形態および第2実施形態において、取得推奨レベル表示部は、PCに付属する液晶ディスプレイとして説明を行った。しかし、取得推奨レベル表示部は、液晶ディスプレイに限るものではない。取得推奨レベルが区別できれば、LEDやプラズマディスプレイなど、何れのディスプレイを用いてもよい。また、図15に示すように、取得推奨レベル表示部900は、位置姿勢センサ200を装着した撮像装置100に取り付けられていてもよい。ここで、取得推奨レベル表示部900は、例えば小型のディスプレイや、LEDである。
【0133】
また撮像装置100が撮像した画像に表示するために、HMD(ヘッドマウントディスプレイ)に内蔵した撮像装置100で撮像した画像に対して、取得推奨レベルの色を割り当て、HMDに表示してもよい。
【0134】
位置姿勢センサ200を装着した撮像装置100に、表示装置が取り付けられていれば、センサの計測範囲が広い場合であっても、作業者は、離れた位置から取得推奨レベルを確認することができる。
【0135】
(第7実施形態)
第1実施形態に係る情報処理装置1000は、撮像装置100に装着した位置姿勢センサ200の取得推奨レベルを表示した。また、第2実施形態に係る情報処理装置8000は、物体300に装着した位置姿勢センサ200の取得推奨レベルを表示した。
【0136】
しかしながら、情報処理装置は、撮像装置に装着した姿勢センサの撮像装置に対する姿勢情報を算出するための入力データを取得する際に、推奨レベルを算出して表示してもよい。以下、本実施形態に係る情報処理装置について説明する。
【0137】
図16は、本実施形態に係る情報処理装置16000の概略構成を示す。情報処理装置16000は、画像入力部16010と、センサ計測値入力部16020と、指標検出部16030と、データ管理部16040と、取得推奨レベル算出部16050と、取得推奨レベル表示部16060と、校正情報算出部16070とを備える。情報処理装置8000は、撮像装置100と、姿勢センサ250とに接続されている。
【0138】
撮像装置100上には、校正される対象である姿勢センサ250が装着されているものとする。撮像装置座標系は、撮像装置100上の1点を原点として定義し、更に互いに直交する3軸を夫々X軸、Y軸、Z軸として定義した座標系である。撮像装置座標系における、姿勢センサ250の姿勢は未知である。この撮像装置座標系における姿勢センサ250の姿勢が、校正する情報である。
【0139】
画像入力部16010、指標検出部16030、および取得推奨レベル表示部16060の各処理部の機能、及び指標Pは、それぞれ第1実施形態で説明した対応する各処理部の機能、及び指標Pと同様であるため説明を省略する。
【0140】
センサ計測値入力部16020は、姿勢センサ250から姿勢の計測値を取得し、データ管理部16040へと出力する。姿勢センサ250が出力する値は一般的にはセンサが独自に定義するセンサ座標系におけるセンサ自身の姿勢である。ここでは、センサ座標系の重力軸と、世界座標系の重力軸とは一致しているものとする。姿勢センサ250の回転行列(以下、「RWS」と称する)をデータ管理部16040へと出力する。取得推奨レベル算出部16050は、データ管理部16040から、指標の検出情報とセンサ計測値とを、校正用入力データ候補として取得する。取得推奨レベル算出部16050は、校正用入力データ候補に基づいて、校正情報算出に利用すべきかどうかの程度を示す取得推奨レベルを算出する。取得推奨レベル算出部16050は、取得推奨レベル表示部1060とデータ管理部1040とへ、取得推奨レベルを出力する。
【0141】
校正情報算出部16070は、データ管理部16040から校正用入力データを取得し、撮像装置座標系における姿勢センサ250の姿勢情報を校正情報として算出し、当該校正情報を出力する。校正情報の算出方法は、何れの公知技術を用いてもよい。
【0142】
次に図17のフローチャートを参照して、本実施形態に係る情報処理装置16000が、校正用入力データの取得推奨レベルを表示する処理の手順を示す。
【0143】
S17010、S17020、S17030、およびS17050の各処理は、第1の実施形態のS2010、S2020、S2030、およびS2050の各処理と同様であるため説明を省略する。S17040において、取得推奨レベル算出部16050は、後述する図18のフローチャートの処理に従って取得推奨レベルを算出する。
【0144】
図18は、S17040における取得推奨レベルの算出方法についてのフローチャートを示す。S18010乃至S18080、およびS18100乃至S18120の各処理は、第1の実施形態で説明した対応する各処理と同様であるため、説明を省略する。
【0145】
S18090において、取得推奨レベル算出部16050は、概略校正計算結果と、姿勢センサ250の計測値と、指標の検出座標と、予め求めておいた指標の3次元位置とに基づいて、指標の推定座標u'Pknを求める。次に指標の推定座標u'Pknと、指標の検出座標uPknとの差である、再投影誤差ΔuPknを求め、第1実施形態で説明したように、当該再投影誤差を利用して、取得推奨レベルを求めればよい。取得推奨レベルを求めることができれば、第1実施形態と同様に取得推奨レベル表示部16060は、取得推奨レベルを表示することができる。
【0146】
以上説明したように、姿勢センサの撮像装置座標系に対する姿勢情報を求めて、姿勢センサの校正を行う場合であっても、取得推奨レベルを求め、それを表示することができる。このように表示することで、センサ校正を行う作業者は、校正用入力データの取得推奨レベルを簡単に理解でき、姿勢センサのセンサ校正に適する入力データを取得することができる。
【0147】
本発明によれば、センサ校正に関する知識やノウハウのない作業者であっても、センサ校正用入力データを容易に取得し、精度よく校正を行うための校正用入力データであるか否かを容易に判断することが可能となる。
【0148】
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
撮像装置に対する位置姿勢センサの位置または姿勢を校正するための校正用入力データを処理する情報処理装置であって、
前記撮像装置により撮像された画像を取得する画像取得手段と、
前記画像から指標情報を検出する指標検出手段と、
前記位置姿勢センサにより計測された前記位置姿勢センサ自身の位置または姿勢の計測値を取得する計測値取得手段と、
前記指標情報と前記計測値とを含む前記校正用入力データの推奨レベルを、前記指標情報と前記計測値とに基づいて算出する算出手段と、
前記推奨レベルを提示する提示手段と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記提示手段は、前記推奨レベルに対応する色またはテクスチャを前記推奨レベルごとにさらに提示することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記提示手段は、前記推奨レベルに対応する作業者への指示をテキスト情報としてさらに提示することを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記提示手段は、前記推奨レベルに対応する作業者への指示を音声情報としてさらに提示することを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。
【請求項5】
前記位置姿勢センサは、前記撮像装置に装着されていることを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。
【請求項6】
画像取得手段と、指標検出手段と、計測値取得手段と、算出手段と、提示手段とを備え、撮像装置に対する位置姿勢センサの位置または姿勢を校正するための校正用入力データを処理する情報処理装置の制御方法であって、
前記画像取得手段が、前記撮像装置により撮像された画像を取得する画像取得工程と、
前記指標検出手段が、前記画像から指標情報を検出する指標検出工程と、
前記計測値取得手段が、前記位置姿勢センサにより計測された前記位置姿勢センサ自身の位置または姿勢の計測値を取得する計測値取得工程と、
前記算出手段が、前記指標情報と前記計測値とを含む前記校正用入力データの推奨レベルを、前記指標情報と前記計測値とに基づいて算出する算出工程と、
前記提示手段が、前記推奨レベルを提示する提示工程と、
を有することを特徴とする情報処理装置の制御方法。
【請求項7】
請求項6に記載の情報処理装置の制御方法の各工程をコンピュータに実行させるためのプログラム。
【請求項1】
撮像装置に対する位置姿勢センサの位置または姿勢を校正するための校正用入力データを処理する情報処理装置であって、
前記撮像装置により撮像された画像を取得する画像取得手段と、
前記画像から指標情報を検出する指標検出手段と、
前記位置姿勢センサにより計測された前記位置姿勢センサ自身の位置または姿勢の計測値を取得する計測値取得手段と、
前記指標情報と前記計測値とを含む前記校正用入力データの推奨レベルを、前記指標情報と前記計測値とに基づいて算出する算出手段と、
前記推奨レベルを提示する提示手段と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記提示手段は、前記推奨レベルに対応する色またはテクスチャを前記推奨レベルごとにさらに提示することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記提示手段は、前記推奨レベルに対応する作業者への指示をテキスト情報としてさらに提示することを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記提示手段は、前記推奨レベルに対応する作業者への指示を音声情報としてさらに提示することを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。
【請求項5】
前記位置姿勢センサは、前記撮像装置に装着されていることを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。
【請求項6】
画像取得手段と、指標検出手段と、計測値取得手段と、算出手段と、提示手段とを備え、撮像装置に対する位置姿勢センサの位置または姿勢を校正するための校正用入力データを処理する情報処理装置の制御方法であって、
前記画像取得手段が、前記撮像装置により撮像された画像を取得する画像取得工程と、
前記指標検出手段が、前記画像から指標情報を検出する指標検出工程と、
前記計測値取得手段が、前記位置姿勢センサにより計測された前記位置姿勢センサ自身の位置または姿勢の計測値を取得する計測値取得工程と、
前記算出手段が、前記指標情報と前記計測値とを含む前記校正用入力データの推奨レベルを、前記指標情報と前記計測値とに基づいて算出する算出工程と、
前記提示手段が、前記推奨レベルを提示する提示工程と、
を有することを特徴とする情報処理装置の制御方法。
【請求項7】
請求項6に記載の情報処理装置の制御方法の各工程をコンピュータに実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図15】
【図16】
【図17】
【図18】
【図5】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図15】
【図16】
【図17】
【図18】
【図5】
【図12】
【図13】
【図14】
【公開番号】特開2013−113805(P2013−113805A)
【公開日】平成25年6月10日(2013.6.10)
【国際特許分類】
【出願番号】特願2011−262653(P2011−262653)
【出願日】平成23年11月30日(2011.11.30)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成25年6月10日(2013.6.10)
【国際特許分類】
【出願日】平成23年11月30日(2011.11.30)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]