JP2008140047A - 情報処理方法、情報処理装置 - Google Patents
情報処理方法、情報処理装置 Download PDFInfo
- Publication number
- JP2008140047A JP2008140047A JP2006324692A JP2006324692A JP2008140047A JP 2008140047 A JP2008140047 A JP 2008140047A JP 2006324692 A JP2006324692 A JP 2006324692A JP 2006324692 A JP2006324692 A JP 2006324692A JP 2008140047 A JP2008140047 A JP 2008140047A
- Authority
- JP
- Japan
- Prior art keywords
- index
- information processing
- information
- image
- orientation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
【課題】 スケール基準の入力が必要な場合にはその入力を促すと共に、どの指標に対してスケール基準を入力すべきかという情報をも提示する為の技術を提供すること。
【解決手段】 複数の指標が配された現実空間を撮像した撮像装置から撮像画像を入力し、それぞれの指標を検出する(S1010)。検出された指標の画像座標と、撮像装置による撮像に関する情報とを用いて、それぞれの指標の配置のスケールに関するスケール情報を表示する(S1120)。
【選択図】 図4
【解決手段】 複数の指標が配された現実空間を撮像した撮像装置から撮像画像を入力し、それぞれの指標を検出する(S1010)。検出された指標の画像座標と、撮像装置による撮像に関する情報とを用いて、それぞれの指標の配置のスケールに関するスケール情報を表示する(S1120)。
【選択図】 図4
Description
本発明は、現実空間中に配された指標の位置姿勢を推定する為の技術に関するものである。
近年、複合現実感(Mixed Reality; MR)技術の研究が盛んである。MR技術は、現実空間とコンピュータによって作られる仮想空間とを継ぎ目なく融合する技術である。MR技術の中でも、現実空間に仮想空間を重ね合わせて表示するAugmented Reality(AR、拡張現実感、増強現実感とも呼ばれる)技術が特に注目を集めている。
AR技術で用いられている画像表示装置は、ビデオシースルー方式か光学シースルー方式によって実現される。ビデオシースルー方式とは、ビデオカメラ等の撮像装置によって撮影された現実空間の画像に、該撮像装置の位置及び姿勢に応じて生成された仮想空間の画像を重畳描画した合成画像を表示する方式である。ここで、仮想空間の画像とは、コンピュータグラフィクスにより描画された仮想物体や文字情報等のことである。また、光学シースルー方式とは、観察者の頭部に装着された光学シースルー型ディスプレイに、観察者の視点の位置及び姿勢に応じて生成された仮想空間の画像を表示する方式である。
AR技術は、患者の体表面に体内の様子を重畳表示する手術支援や、空き地に仮想のビルを重畳表示する建築シミュレーション、組み立て作業時に作業手順や配線の様子を重畳表示する組み立て支援等様々な分野への応用が期待される。
AR技術において最も重要な課題の一つは、現実空間と仮想空間との間の位置合わせをいかに正確に行うかということであり、従来より多くの取り組みが行われてきた。AR技術における位置合わせの問題は、ビデオシースルー方式の場合はシーン中における(すなわちシーン中に規定された基準座標系における)撮像装置の位置及び姿勢を求める問題に帰結する。一方、光学シースルー方式の場合は、シーン中における観察者の視点あるいはディスプレイの位置及び姿勢を求める問題に帰結する。
前者の問題を解決する方法としては次のような技術が一般には用いられている。即ち、シーン中に複数の指標を配置あるいは設定し、撮像装置が撮影した画像内における指標の投影位置と、指標の基準座標系における既知の位置との対応関係から、基準座標系における該撮像装置の位置及び姿勢を求める。また後者の問題を解決する方法としては、計測対象物(即ち観察者の頭部或いはディスプレイ)に撮像装置を装着し、前者と同様な方法によって該撮像装置の位置及び姿勢を求め、それに基づいて計測対象物の位置及び姿勢を求めることが一般的に行われている。
画像上の指標の投影像とその指標の3次元位置との対応に基づいて撮像装置の位置及び姿勢を求める方法は、写真測量の分野において古くから提案されている(非特許文献1を参照)。
また非特許文献2等には次のようなことが開示されている。即ち、先ず前述の画像上の指標の投影像をもとに求めた撮像装置の位置及び姿勢を初期値とする。そして、画像上での指標の投影像の実際の観察位置と投影像との計算位置との誤差が最小になるように反復演算によって撮像装置の位置及び姿勢を最適化する。
係る技術は即ち、指標の3次元位置と、撮像装置の位置及び姿勢から計算される投影像の位置と、の誤差が最小になるように反復演算によって撮像装置の位置及び姿勢を最適化することである。
以上の方法によって、撮像装置が撮影した画像に基づいて、該撮像装置の位置及び姿勢を求めることが従来からなされてきた。
一方、例えば特許文献1、2や非特許文献3で開示されているようなことも行われている。即ち、計測対象である撮像装置に磁気センサや超音波センサなどの6自由度位置姿勢センサを取り付け、前述のような画像処理による指標の検出との併用によって位置及び姿勢を計測する。センサの出力値は測定範囲によって精度は変わるが安定的に得ることができるため、センサと画像処理を併用する方法は、画像処理だけによる方法に比べてロバスト性を向上させることができる。特許文献2では、6自由度位置姿勢センサから得られる撮像装置の位置及び姿勢を初期値として、前述の画像上での指標の投影像の観察位置と計算位置との誤差を反復演算によって最小化することによって、撮像装置の位置及び姿勢を得ている。
以上で述べた指標を利用した位置合わせ手法では、計測対象である撮像装置の基準座標系における位置及び姿勢を求めるためには、以下のようなものが既知である必要がある。即ち、空間中に存在する同一色の円領域といった点形状の指標(以下、点指標)の場合にはその重心の基準座標系における位置が既知である必要がある。また、三角形や正方形といった多角形形状の指標の場合にはその重心の基準座標系における位置と基準座標系に対する指標の姿勢と、が既知である必要がある。正方形指標等の多角形形状の指標の場合には基準座標系を別途設けることなく、指標そのものを座標系の基準とする場合が多いが、複数の指標を用いる場合には互いの位置及び姿勢の関係が既知である必要があるため、基準座標系が必要であることに変わりはない。
指標の位置及び姿勢の計測は、巻尺や分度器を用いた手作業や、測量器によって行うことが可能であるが、精度や手間の問題から、画像を利用した計測が行われている。点指標の位置計測は、バンドル調整法と呼ばれる方法で行うことができる。
バンドル調整法とは次のようなものである。即ち、撮像装置によって点指標の画像を多数撮影し、画像上での点指標の投影像の観察位置を求める。そして求めた観察位置と、該点指標の3次元位置及び撮像装置の位置姿勢をもとに計算される該点指標の投影像の計算位置と、の誤差(投影誤差)が最小になるように、繰返し演算によって点指標の位置と撮像装置の位置姿勢の補正を繰り返し行う。これにより、点指標の位置を求める。
また、非特許文献4では、3次元空間中に配置された多数の正方形指標の位置及び姿勢を計測する方法が開示されている。非特許文献4では、3次元空間中に配置された多数の正方形指標の画像を多数撮影し、投影誤差が最小になるように、繰返し演算によって各画像を撮影した撮像装置の位置及び姿勢と、正方形指標の位置及び姿勢を求めている。
特開平11−084307号公報
特開2000−041173号公報
R. M. Haralick, C. Lee, K. Ottenberg, and M. Nolle: "Review and analysis of solutions of the three point perspective pose estimation problem", Int’l. J. Computer Vision, vol.13, no.3, pp.331-356, 1994.
加藤, M. Billinghurst, 浅野, 橘: "マーカー追跡に基づく拡張現実感システムとそのキャリブレーション", 日本バーチャルリアリティ学会論文誌, vol.4, no.4, pp.607-616, 1999.
A. State, G. Hirota, D. T. Chen, W. F. Garrett and M. A. Livingston: "Superior augmented reality registration by integrating landmark tracking and magnetic tracking", Proc. SIGGRAPH’96, pp.429-438, 1996.
G. Baratoff, A. Neubeck and H. Regenbrecht: "Interactive multi-marker calibration for augmented reality applications", Proc. ISMAR2002, pp.107-116, 2002.
前述した指標の位置計測手法では、既知の指標の大きさや、既知の指標間の距離を元に計測された指標全体のスケールが決定される。
しかし、計測対象の指標が既知のスケールの基準となった長さに比べて、大きな範囲に分散している場合、大きく離れた指標間では、計測された距離の誤差が大きくなってしまう。あらかじめ、十分離れた指標間の距離をスケール基準にして、計算する場合は問題は生じないが、計測範囲を徐々に広げていった場合にスケールが不正確になっている事に計測者が気がつかない。またスケールの基準を入力するための指標としてどの指標を選択すれば十分なのかがわからないという課題があった。
本発明は以上の問題に鑑みてなされたものであり、スケール基準の入力が必要な場合にはその入力を促すと共に、どの指標に対してスケール基準を入力すべきかという情報をも提示する為の技術を提供することを目的とする。
本発明の目的を達成するために、例えば、本発明の情報処理方法は以下の構成を備える。
即ち、複数の画像から指標の位置姿勢を推定する情報処理装置が行う情報処理方法であって、
複数の指標が配された現実空間を撮像した撮像装置から撮像画像を入力する入力工程と、
前記撮像画像からそれぞれの指標を検出する検出工程と、
前記検出工程で検出された指標の画像座標と、前記撮像装置による撮像に関する情報とを、メモリに格納する格納工程と、
前記メモリに格納された前記画像座標、及び前記情報を用いて、前記それぞれの指標の配置のスケールに関するスケール情報を表示する表示工程と
を備えることを特徴とする。
複数の指標が配された現実空間を撮像した撮像装置から撮像画像を入力する入力工程と、
前記撮像画像からそれぞれの指標を検出する検出工程と、
前記検出工程で検出された指標の画像座標と、前記撮像装置による撮像に関する情報とを、メモリに格納する格納工程と、
前記メモリに格納された前記画像座標、及び前記情報を用いて、前記それぞれの指標の配置のスケールに関するスケール情報を表示する表示工程と
を備えることを特徴とする。
本発明の目的を達成するために、例えば、本発明の情報処理装置は以下の構成を備える。
即ち、複数の画像から指標の位置姿勢を推定する情報処理装置であって、
複数の指標が配された現実空間を撮像した撮像装置から撮像画像を入力する入力手段と、
前記撮像画像からそれぞれの指標を検出する検出手段と、
前記検出手段によって検出された指標の画像座標と、前記撮像装置による撮像に関する情報とを、前記情報処理装置が有するメモリに格納する格納手段と、
前記メモリに格納された前記画像座標、及び前記情報を用いて、前記それぞれの指標の配置のスケールに関するスケール情報を表示する表示手段と
を備えることを特徴とする。
複数の指標が配された現実空間を撮像した撮像装置から撮像画像を入力する入力手段と、
前記撮像画像からそれぞれの指標を検出する検出手段と、
前記検出手段によって検出された指標の画像座標と、前記撮像装置による撮像に関する情報とを、前記情報処理装置が有するメモリに格納する格納手段と、
前記メモリに格納された前記画像座標、及び前記情報を用いて、前記それぞれの指標の配置のスケールに関するスケール情報を表示する表示手段と
を備えることを特徴とする。
本発明の構成によれば、スケール基準の入力が必要な場合にはその入力を促すと共に、どの指標に対してスケール基準を入力すべきかという情報をも提示することができる。
以下添付図面を参照して、本発明をその好適な実施形態に従って詳細に説明する。
[第1の実施形態]
図1は、本実施形態に係るシステムの機能構成を示すブロック図である。同図に示す如く、本実施形態に係るシステムは、撮像装置110と情報処理装置1とで構成されている。また、現実空間中には、複数の指標199が配されている。
図1は、本実施形態に係るシステムの機能構成を示すブロック図である。同図に示す如く、本実施形態に係るシステムは、撮像装置110と情報処理装置1とで構成されている。また、現実空間中には、複数の指標199が配されている。
撮像装置110は、このように複数の指標199が配された現実空間の動画像を撮像する。撮像した各フレームの画像(現実空間の撮像画像)は、情報処理装置1に入力される。また、撮像装置110には自身の位置姿勢を計測するセンサ123が取り付けられており、計測した位置姿勢を示すデータは、情報処理装置1に入力される。
情報処理装置1は、画像入力部120、指標検出同定部130、データ管理部140、操作部150、データ保持部160、表示部170、指標位置姿勢算出部180により構成されている。
画像入力部120は、撮像装置110から入力された各フレームの画像を順次後段の指標検出同定部130、及び表示部170に転送する。
指標検出同定部130は、画像入力部120から受けた各フレームの画像毎に次のような処理を行う。即ち、受けた画像中に写っている指標199を検出し、検出した指標199についての同定処理を行う。係る同定処理については後述する。そして指標検出同定部130は、係る同定処理の結果を後段のデータ管理部140に送出する。
ユーザが操作部150を用いて、撮像装置110が現在撮像しているフレームの画像データをデータ保持部160に登録する旨の指示を入力すると、データ管理部140はこの指示を検知する。そしてデータ管理部140は、この検知のタイミング近傍で指標検出同定部130から受けた同定処理結果に、センサ123から受けた撮像装置110の位置姿勢データを含めてデータ保持部160に登録する。
また、ユーザが操作部150を用いて、指標199の位置姿勢を計算する指示を入力すると、データ管理部140はこの指示を検知する。そしてデータ管理部140は係る指示を検知すると、データ保持部160に登録されている指標199の同定処理結果を指標位置姿勢算出部180に送出する。
指標位置姿勢算出部180は、データ管理部140を介してデータ保持部160から受けた指標199の同定処理結果を用いて、指標199の位置姿勢を求める(推定する)処理を行う。
一方、表示部170は、画像入力部120から順次送出される各フレームの画像を表示する。
なお、本実施形態では、情報処理装置1を構成する上記各部は専用のハードウェアでもって実装されているものとして説明する。
次に、本実施形態で用いる指標199について説明する。図2(a)は、指標199として適用可能な指標の一例を示す図である。同図に示す指標は正方形形状の指標(正方形指標)であり、指標領域であることを示すための境界領域(黒枠)と、その内部領域とからなる。内部領域は、縦と横とがそれぞれ5等分されており、内側の3×3領域が正方形指標の向き及び固有の識別子を表す。3×3領域の四隅(同図において丸で囲まれている領域)が正方形指標の向きを表す領域(向き決め領域)である。四隅のうちの三つは黒く塗りつぶされており、残る一つは白く塗りつぶされている。これによって正方形指標の向きを表す。各正方形指標の識別子は、3×3領域の四隅を除いた五つの領域(ビット領域)によって現される(同図において斜線で示されている領域)。ビット領域が白く塗りつぶされている場合は0、黒く塗りつぶされている場合は1を表すとすると、5つのビット領域によって5ビット、すなわち32通りの識別子を表すことができる。
図2(b)は正方形指標の配置について説明する図である。正方形指標の位置姿勢とは、基準座標系に対する位置及び姿勢で表現される。本実施形態では、正方形指標の位置は正方形の中心(対角線の交点)の位置であり、基準座標系に対する3次元ベクトルtwmによって表す。正方形指標の姿勢は、正方形指標の座標系(指標座標系)の基準座標系に対する姿勢であるとする。姿勢の自由度は3であるので、3次元ベクトルωwmによって表す。
次に、図1に示したシステムの動作についてより詳細に説明する。
ユーザは撮像装置110を手に持ち、自由に動かしながら、図2(a)に示したような指標が配されている現実空間を撮像する。撮像装置110によって撮像された各フレームの画像は順次情報処理装置1が有する画像入力部120に入力される。画像入力部120は受けた各フレームの画像を順次指標検出同定部130、表示部170に送出する。表示部170は、受けた画像を順次表示する。これにより、表示部170の表示画面上には、撮像装置110が撮像している動画像が表示されることになるので、ユーザは撮像装置110によって撮像した画像を常に表示部170の画面を見ることで確認することができる。
また、撮像装置110には上述のセンサ123が取り付けられており、このセンサ123は自身の位置姿勢を計測し、計測した結果を「撮像装置110の位置姿勢」として情報処理装置1が有するデータ管理部140に送出する。センサ123には、例えば磁気式、光学式、超音波式などの6自由度位置姿勢センサが用いられる。
指標検出同定部130は、画像入力部120から受けた各フレームの画像について、画像中に含まれている指標の検出、及び同定を行う。画像から指標を検出する処理については、例えば、画像入力部120から受けた画像の二値画像を生成し、生成した二値画像について連結領域のラベリング処理を行い、正方形指標の境界領域である黒枠で囲まれた内部領域を抽出する。さらに、指標の内部領域について直線フィッティングを行い、内部領域の正方形の4頂点の画像座標を求める。そして、2次元射影変換によって画像上の正方形指標を正射影画像に変換し、向き決め領域及びビット領域を読み取ることにより、正方形指標の識別子を読み出し、係る正方指標の同定を行う。なお、画像中に含まれている指標を検出し同定する一連の処理については周知の技術であるので、係る処理についてのより詳細な説明は省略する。
データ管理部140は、指標検出同定部130による同定処理結果を受けると共に、センサ123から逐次送信される「撮像装置110の位置姿勢を示すデータ」を受ける。そして、操作部150から現在撮像装置110が撮像している画像を保存する指示(画像保存指示)が入力されると、データ管理部140は画像保存指示の入力を検知する。そしてデータ管理部140は、係る検知のタイミングに最も近いタイミングで指標検出同定部130から受けた同定処理結果に、係る検知のタイミングに最も近いタイミングでセンサ123から受けた位置姿勢データを含めて、データ保持部160に登録する。例えば、データ管理部140がs番目のフレームの画像からの同定処理結果を指標検出同定部130から受けた時に、操作部150からの上記画像保存指示を検知したとする。この場合、データ管理部140がデータ保持部160に登録する情報は次のようなデータセットとなる。
(フレーム番号(=s)、s番目のフレームの画像から検出した指標の識別子、s番目のフレームの画像から検出した指標の4隅の向き決め領域の画像座標、s番目のフレームの画像の撮像時における撮像装置110の位置姿勢)
係るデータセットは、画像保存指示が入力される毎にデータ保持部160に登録されるものであるので、画像保存指示が入力された回数に相当する個数分、データ保持部160に登録されることになる。
係るデータセットは、画像保存指示が入力される毎にデータ保持部160に登録されるものであるので、画像保存指示が入力された回数に相当する個数分、データ保持部160に登録されることになる。
更に、データ管理部140は、同じ指標がこれまでに何回画像から検出されているのかを常に計数している。従って、例えば、データ管理部140は、2回以上画像から検出された指標についての情報を、表示部170の表示画面上に表示する。例えば、2回以上画像から検出された指標の画像座標に、特定のマークを表示する。
ここで、ユーザが十分な同定処理結果をデータ保持部160に登録したと判断した場合には、ユーザは、操作部150を用いて、各指標の基準座標系における位置および姿勢を計算する指示(指標位置姿勢計算指示)を入力する。データ管理部140は係る指示を検知すると、データ保持部160に登録されている同定処理結果を指標位置姿勢算出部180に送出する。そして指標位置姿勢算出部180は、受けた同定処理結果を用いて、各指標の位置姿勢を計算する。
図4は、情報処理装置1が行う処理のフローチャートである。
先ず、ステップS1010では、画像入力部120が、撮像装置110から送出された画像を取得し、後段の指標検出同定部130に送出するので、指標検出同定部130は、この画像中に含まれている指標の検出、及び同定を行う。そして同定処理結果をデータ管理部140に送出する。
次にステップS1030では、データ管理部140は上記指標位置姿勢計算指示が入力されたか否かをチェックする。係るチェックの結果、入力された場合には処理をステップS1060に進め、入力されていない場合には処理をステップS1040に進める。
ステップS1040では、データ管理部140は上記画像保存指示が入力されたか否かをチェックする。係るチェックの結果、入力されていない場合には処理をステップS1010に戻し、撮像装置110から出力された次のフレームの画像について以降の処理を行う。
一方、入力された場合には処理をステップS1050に進める。ステップS1050では、データ管理部140は、画像保存指示の検知タイミングに最も近いタイミングで指標検出同定部130から受けた同定処理結果に、係る検知タイミングに最も近いタイミングでセンサ123から受けた位置姿勢データを含める。そして位置姿勢データを含めた同定処理結果をデータ保持部160に登録する。更に、データ管理部140は、同じ指標がこれまでに何回画像から検出されているのかを計数し、その計数結果もデータ保持部160に登録する。
一方、ステップS1060では、データ管理部140はデータ保持部160に登録されている同定処理結果を指標位置姿勢算出部180に送出する。そして指標位置姿勢算出部180は、受けた同定処理結果を用いて、各指標の位置姿勢を計算する。
ここで、指標の位置姿勢の計算処理について詳細に説明する。以下の説明において、位置姿勢を求める指標の数をNとし、撮像装置110によって撮像した画像の枚数(即ち上記データセットの個数)をMとする。また、指標i(i=1,2,…,N)の位置姿勢を表す6次元ベクトルをai、画像j(j=1,2,…,M)を撮像した撮像装置110の位置姿勢を表す6次元ベクトルをsjと表す。指標の位置姿勢を表す6次元ベクトルaは、指標の基準座標系における位置twm=[twm x twm y twm z]t、基準座標系に対する姿勢ωwm=[ωwm x ωwm y ωwm z]tの各成分からなるベクトルである。従って、a=[twm x twm y twm z ωwm x ωwm y ωwm z]tのように表すことができる。撮像装置110の基準座標系における位置をtwc=[twc x twc y twc z]t、基準座標系に対する姿勢をωwc=[ωwc x ωwc y ωwc z]tとすると、撮像装置110の位置姿勢を表す6次元ベクトルをsも同様に、s=[twc x twc y twc z ωwc x ωwc y ωwc z]tのように表すことができる。
正方形指標の各頂点の指標座標系における座標Xm k=[xm k ym k zm k]t (k=1,2,3,4)は、正方形の一辺の長さをeとして、例えば(式1)のように表すことができ、正方形の一辺の長さがわかる場合には既知の値となる。
基準座標系に対する位置姿勢がtwm、ωwmである指標の指標座標がXmである頂点の基準座標系に対する位置姿勢がtwc、ωwcである撮像装置110のカメラ座標Xcは(式2)のように表すことができる。
但し、R(ωwc)、R(ωwm)はそれぞれωwc、ωwmで表される姿勢を表す3×3回転変換行列である。また、カメラ座標がXc=[xc yc zc]tである点が焦点距離がfであるピンホールカメラによって画像上に投影される位置U=[ux uy]tは、(式3)のように表すことができる。
すなわち、Uは指標の位置姿勢twm、ωwm、撮像装置110の位置姿勢twc、ωwcの関数となる。よって、指標iの頂点k(k=1,2,3,4)の画像j上における投影像の位置を表す2次元ベクトルui,j,kは、(式4)に示すように、ai、sjの関数となる。
指標iの頂点kの画像j上における投影像の実際の画像上での観察位置をu^i,j,kと表すと、観察位置u^i,j,kと、ai、sjから計算されるui,j,kとの誤差Δui,j,k(=u^i,j,k−ui,j,k)は(式5)のように1次近似することができる。
∂ui,j,k/∂ai、∂ui,j,k/∂sjは(式4)において、ui,j,kをそれぞれai、sjの各成分によって偏微分したときの偏微分係数を並べたヤコビ行列である。(式5)を各画像中で検出同定された各指標の各頂点について立て、すべてのΔai (i=1,2,…,N)、Δsj (j=1,2,…,M)を共通の未知変数として連立方程式として解くことにより、Δai (i=1,2,…,N)、Δsj (j=1,2,…,M)を得ることができる。予め、ai、sjには初期値を与えておき、Δai (i=1,2,…,N)、Δsj (j=1,2,…,M)を求めて、ai=ai+Δai、sj=sj+Δsjという補正を行う操作を繰り返すことで、指標の位置姿勢ai (i=1,2,…,N)を求める。
なお、指標の位置姿勢の初期値は、予め概略の位置を手動で計測しておく。また、位置姿勢がわかっている撮像装置110によって撮像した画像上の指標の投影像をもとに求めてもよい。
以上説明した処理によって、予め入力されていた指標の初期位置姿勢に基づくスケール基準による計算結果が求められる。
次にステップS1110では、データ管理部140は、スケール情報が十分な精度であるか否かをチェックする。係るチェックの結果、十分ではない場合には処理をステップS1120に進め、十分である場合には本処理を終了する。
例えば予め正確な初期位置を計測した指標の中でもっとも距離が長い物が1メートルであり、ステップS1060で求められた指標の位置姿勢の中で最も距離の遠い指標間の距離が10メートルであるとする。この場合、誤差が約10倍に拡大し、指標の精度が不十分と判断できる。10倍未満であれば、十分な精度であると判断する。この精度はユーザの要求に応じて変わるため、10倍というのは決まった基準ではなく、その時の要求精度に応じて何倍までを基準にするかを予め決めておく。
例えば図3に示すような指標の配置で指標ID0と指標ID1との間の距離が入力されていた場合を例に取る。図3は、4つの指標(ID0〜ID4)の配置例を示す図である。
この場合、全4個の指標間で最も距離の長い指標ID0と指標ID3との間の距離が指標ID0と指標ID1との間の距離に対して10倍以上大きい事によって、スケールの精度が十分ではないという判断ができる。判断する基準は、このように倍率だけではなく、正確に入力された指標間の距離と、計測された指標の中での最大の指標間の距離の差によって判断する等、さまざまな判定方法が考えられ、これらの判断方法に制限されるものではない。
図4に戻ってステップS1120では、データ管理部140は、図6に例示するようなGUI(グラフィカルユーザインターフェース)を表示部170の表示画面上に表示する。これにより、スケール基準情報として十分に遠い指標間の距離を領域699内に入力することを促す。図6は、指標間の距離を入力するためのGUIの表示例を示す図である。
そして、ユーザは操作部150を用いて、スケール基準情報として十分に遠い指標間の距離を領域699内に入力するので、ステップS1130では、データ管理部140は係る入力を受け付ける。
そしてステップS1140では、指標位置姿勢算出部180は、領域699に対して距離の入力がなされ、処理を続行する旨の指示を操作部150を介して検知すると、スケールの再計算を行う。そしてその後、処理をステップS1110に進める。
ステップS1110では、データ管理部140は再びスケール情報が十分か否かの判断を行い、十分であれば処理を終了する。一方、十分ではない場合には処理をステップS1120に進め、以降、同様の処理を行う。
以上の説明により本実施形態によれば、ユーザがスケール情報の入力と精度の関係について知識を持たない場合であっても、システムがスケール精度の低下の可能性を自動的に検知して、入力を促す事により容易に、指標の位置姿勢を正確に求めることができる。
[変形例1−1]
上記説明では、GUIを介してユーザにスケール基準の入力を促すだけであった。しかし、その時に同時に、ステップS1060で位置姿勢が計算された指標の中から、十分な距離を持った指標の組を一つ以上提示する事により、より容易にスケール情報をユーザが入力することができる。
上記説明では、GUIを介してユーザにスケール基準の入力を促すだけであった。しかし、その時に同時に、ステップS1060で位置姿勢が計算された指標の中から、十分な距離を持った指標の組を一つ以上提示する事により、より容易にスケール情報をユーザが入力することができる。
[変形例1−2]
変形例1−1では、入力候補の指標の組を一つ以上表示するだけであった。しかし、それぞれの指標間の距離をステップS1060で計算された位置姿勢に基づいて計算し、その計算結果を表示することで、ユーザが、計測のし易さと精度の向上のトレードオフを考えた上でどの指標の組を選択するかを判断する事ができる。
変形例1−1では、入力候補の指標の組を一つ以上表示するだけであった。しかし、それぞれの指標間の距離をステップS1060で計算された位置姿勢に基づいて計算し、その計算結果を表示することで、ユーザが、計測のし易さと精度の向上のトレードオフを考えた上でどの指標の組を選択するかを判断する事ができる。
このとき表示する距離は正確な距離ではないが、相対的な指標間の距離の比率としてはほぼ正しい値を表示できるため問題は無い。
図5は、本変形例で複数の候補を提示している表示例を示す図である。
[変形例1−3]
第1の実施形態では、ある一定量のデータセットの取得後に1回だけステップS1060における処理を行うものとしている。しかし、限られた数のデータセットを用いて指標の位置姿勢計算を逐次的に行い。少しずつ広い範囲に位置姿勢計算対象を広げていくといった方法も考えられる。
第1の実施形態では、ある一定量のデータセットの取得後に1回だけステップS1060における処理を行うものとしている。しかし、限られた数のデータセットを用いて指標の位置姿勢計算を逐次的に行い。少しずつ広い範囲に位置姿勢計算対象を広げていくといった方法も考えられる。
このような場合には、初期の段階の位置姿勢計算ではスケールの誤差として問題が無かったものが、画像を追加し、位置姿勢計算を進めていく途中でスケール情報が不足する可能性がある。その場合には、位置姿勢の計算対象となる指標の追加を行う毎にステップS1110と同等の判断を行うことにより、必要になった段階で、ユーザが気がついていなくても、適切にスケール基準情報を入力する事ができる。
[変形例1−4]
第1の実施形態では位置姿勢計算の対象となる指標を正方形指標としたが、点形状の指標や、その他自然特徴を利用しても、上記説明の本質は変わらない。
第1の実施形態では位置姿勢計算の対象となる指標を正方形指標としたが、点形状の指標や、その他自然特徴を利用しても、上記説明の本質は変わらない。
[変形例1−5]
変形例1−2、変形例1−3において距離のみを候補表示の条件としていたが、計測者が測定可能な指標の組の最大距離を入力し、その範囲内での候補を表示するしても良い。幾何学的に測定不可能な、例えば柱の両側に貼られた指標の組などを候補から除外するなどで、スケールを入力すべき好適な指標の組をより容易にユーザが選択する事が可能になる。
変形例1−2、変形例1−3において距離のみを候補表示の条件としていたが、計測者が測定可能な指標の組の最大距離を入力し、その範囲内での候補を表示するしても良い。幾何学的に測定不可能な、例えば柱の両側に貼られた指標の組などを候補から除外するなどで、スケールを入力すべき好適な指標の組をより容易にユーザが選択する事が可能になる。
また、第1の実施形態では、撮像装置110の位置姿勢をセンサ123によって取得していたが、これ以外の方法を用いて撮像装置110の位置姿勢を取得しても良い。例えば、基準座標系における位置姿勢が既知の指標を撮影した画像をDLT(Direct Linear Transform)法などの公知の手法を利用して求めてもよい。
以上の各変形例を含め、本実施形態によれば、指標の位置姿勢計測を行うための画像取得を行う際に、ユーザにスケールの誤差が大きくなる事や、スケールを入力すべき指標の組を提示することができる。これによりユーザは、容易にスケール基準を入力する事が可能になり、容易にスケールの正しい較正結果を得る事が可能になる。
[第2の実施形態]
第1の実施形態では、情報処理装置1を構成する上記各部は専用のハードウェアで実装されているものとして説明した。しかし、指標検出同定部130、データ管理部140、指標位置姿勢算出部180はソフトウェアで実装しても良い。この場合、係るソフトウェアは、例えば、一般のPC(パーソナルコンピュータ)によって実行可能である。
第1の実施形態では、情報処理装置1を構成する上記各部は専用のハードウェアで実装されているものとして説明した。しかし、指標検出同定部130、データ管理部140、指標位置姿勢算出部180はソフトウェアで実装しても良い。この場合、係るソフトウェアは、例えば、一般のPC(パーソナルコンピュータ)によって実行可能である。
図7は、情報処理装置1に適用可能なコンピュータのハードウェア構成を示すブロック図である。
CPU701は、RAM702やROM703に格納されているプログラムやデータを用いて、本コンピュータ全体の制御を行うと共に、情報処理装置1が行う上述の各処理を実行する。
RAM702は、I/F(インターフェース)707を介して撮像装置110から入力した各フレームの画像を一時的に記憶するためのエリア、外部記憶装置706からロードされたプログラムやデータを一時的に記憶するためのエリアを有する。更には、RAM702は、CPU701が各種の処理を実行する際に用いるワークエリアも有する。即ち、RAM702は、各種のエリアを適宜提供することができる。
ROM703には、本コンピュータの設定データや、ブートプログラムなどが格納されている。
操作部704は、キーボードやマウスなどにより構成されており、ユーザが操作することで、各種の指示をCPU701に対して入力することができる。この操作部704は、図1に示した操作部150に相当するものである。
表示部705は、CRTや液晶画面などにより構成されており、CPU701による処理結果を画像や文字などでもって表示することができる。この表示部705は、図1に示した表示部170に相当するものである。
外部記憶装置706は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。ここには、OS(オペレーティングシステム)や、情報処理装置1が行う上記各処理をCPU701に実行させるためのプログラムやデータが保存されている。即ち、指標検出同定部130、データ管理部140、指標位置姿勢算出部180の機能をCPU701に実行させるためのプログラムやデータは外部記憶装置706に保存されている。また、上記説明において、既知の情報として説明したものもこの外部記憶装置706に保存されている。換言すれば、図4に示したフローチャートに従った処理をCPU701に実行させるためのプログラムやデータは、外部記憶装置706に保存されていることになる。
外部記憶装置706に保存されているプログラムやデータは、CPU701による制御に従って適宜RAM702にロードされる。そしてCPU701はこのRAM702にロードされたプログラムやデータを用いて処理を実行することになる。
I/F707は、図1に示した画像入力部120として機能するものであり、撮像装置110をコンピュータに接続するためのものである。撮像装置110により撮像された各フレームの画像は、このI/F1407を介してRAM702や外部記憶装置706に入力される。
I/F708は、図1に示したセンサ123を本コンピュータに接続するためのもので、センサ123により計測された結果はこのI/F708を介してRAM702や外部記憶装置706に送出される。
709は上述の各部を繋ぐバスである。
なお、図7に示した構成は主要な構成を示したのみであり、係る構成に更なる構成を付加したものを用いても良いし、図7に示した構成と同等の他の構成を用いても良い。
なお、上記各実施形態、各変形例は適宜組み合わせても良い。
[その他の実施形態]
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
Claims (10)
- 複数の画像から指標の位置姿勢を推定する情報処理装置が行う情報処理方法であって、
複数の指標が配された現実空間を撮像した撮像装置から撮像画像を入力する入力工程と、
前記撮像画像からそれぞれの指標を検出する検出工程と、
前記検出工程で検出された指標の画像座標と、前記撮像装置による撮像に関する情報とを、メモリに格納する格納工程と、
前記メモリに格納された前記画像座標、及び前記情報を用いて、前記それぞれの指標の配置のスケールに関するスケール情報を表示する表示工程と
を備えることを特徴とする情報処理方法。 - 更に、
前記スケール情報が十分か否かを判断する処理を、前記情報処理装置が有する判断手段が行う判断工程を備え、
前記スケール情報が十分ではない場合、前記表示工程では、前記スケール情報の入力を促す表示を行うことを特徴とする請求項1に記載の情報処理方法。 - 前記表示工程では、スケール情報を入力すべき一組以上の指標の組についての情報を表示すると共に、スケール情報の入力を促す表示を行うことを特徴とする請求項1に記載の情報処理方法。
- 前記表示工程では、前記スケール情報を入力すべき一組以上の指標の組の各々に対して距離を表示することを特徴とする請求項3に記載の情報処理方法。
- 更に、
画像を逐次的に追加し、画像から指標の位置姿勢を推定する処理を、前記情報処理装置が有する推定手段が逐次的に行う工程を備え、
前記判断工程では、逐次的に指標の位置姿勢を求める毎に、スケール情報が十分か否かを判断することを特徴とする請求項2に記載の情報処理方法。 - 更に、
位置姿勢が計測可能な指標に対する条件を受け付ける処理を、前記情報処理装置が有する受け付け手段が行う受け付け工程と、
表示する指標の組を、前記条件を満たす指標群から選択する処理を、前記情報処理装置が有する選択手段が行う選択工程とを備え、
前記選択工程で選択された指標の組を表示することを特徴とする請求項3又は4に記載の情報処理方法。 - 前記条件は、計測可能な最大指標間距離であることを特徴とする請求項6に記載の情報処理方法。
- 更に、
指標の組が、幾何学的に計測可能である事を判断する処理を、前記情報処理装置が有する第2の判断手段が行う第2の判断工程と、
表示する指標の組を、前記第2の判断工程で計測可能と判断された指標群から選択する処理を、前記情報処理装置が有する第2の選択手段が行う第2の選択工程とを備え、
前記第2の選択工程で選択された指標の組を表示することを特徴とする請求項3又は4に記載の情報処理方法。 - 複数の画像から指標の位置姿勢を推定する情報処理装置であって、
複数の指標が配された現実空間を撮像した撮像装置から撮像画像を入力する入力手段と、
前記撮像画像からそれぞれの指標を検出する検出手段と、
前記検出手段によって検出された指標の画像座標と、前記撮像装置による撮像に関する情報とを、前記情報処理装置が有するメモリに格納する格納手段と、
前記メモリに格納された前記画像座標、及び前記情報を用いて、前記それぞれの指標の配置のスケールに関するスケール情報を表示する表示手段と
を備えることを特徴とする情報処理装置。 - コンピュータに請求項1乃至8の何れか1項に記載の情報処理方法を実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006324692A JP2008140047A (ja) | 2006-11-30 | 2006-11-30 | 情報処理方法、情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006324692A JP2008140047A (ja) | 2006-11-30 | 2006-11-30 | 情報処理方法、情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008140047A true JP2008140047A (ja) | 2008-06-19 |
Family
ID=39601451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006324692A Withdrawn JP2008140047A (ja) | 2006-11-30 | 2006-11-30 | 情報処理方法、情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008140047A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012003669A (ja) * | 2010-06-21 | 2012-01-05 | Nintendo Co Ltd | 画像認識プログラム、画像認識装置、画像認識システム、および画像認識方法 |
US8882591B2 (en) | 2010-05-14 | 2014-11-11 | Nintendo Co., Ltd. | Storage medium having image display program stored therein, image display apparatus, image display system, and image display method |
US9256797B2 (en) | 2010-06-11 | 2016-02-09 | Nintendo Co., Ltd. | Storage medium having image recognition program stored therein, image recognition apparatus, image recognition system, and image recognition method |
-
2006
- 2006-11-30 JP JP2006324692A patent/JP2008140047A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8882591B2 (en) | 2010-05-14 | 2014-11-11 | Nintendo Co., Ltd. | Storage medium having image display program stored therein, image display apparatus, image display system, and image display method |
US9256797B2 (en) | 2010-06-11 | 2016-02-09 | Nintendo Co., Ltd. | Storage medium having image recognition program stored therein, image recognition apparatus, image recognition system, and image recognition method |
JP2012003669A (ja) * | 2010-06-21 | 2012-01-05 | Nintendo Co Ltd | 画像認識プログラム、画像認識装置、画像認識システム、および画像認識方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4599184B2 (ja) | 指標配置計測方法、指標配置計測装置 | |
US7529387B2 (en) | Placement information estimating method and information processing device | |
JP4926817B2 (ja) | 指標配置情報計測装置および方法 | |
JP5196825B2 (ja) | 画像処理装置、画像処理方法 | |
US9325969B2 (en) | Image capture environment calibration method and information processing apparatus | |
JP4976756B2 (ja) | 情報処理方法および装置 | |
US7657065B2 (en) | Marker placement information estimating method and information processing device | |
JP4914019B2 (ja) | 位置姿勢計測方法及び装置 | |
JP5036260B2 (ja) | 位置姿勢算出方法及び装置 | |
US20050256396A1 (en) | Image composition system, image composition method, and image composition apparatus | |
JP4242529B2 (ja) | 関連情報呈示装置及び関連情報呈示方法 | |
JP2008140047A (ja) | 情報処理方法、情報処理装置 | |
JP4926598B2 (ja) | 情報処理方法、情報処理装置 | |
JP4612804B2 (ja) | 位置姿勢計測方法および情報処理装置 | |
JP2012018684A (ja) | 情報処理方法および装置 | |
JP4810403B2 (ja) | 情報処理装置、情報処理方法 | |
WO2021111613A1 (ja) | 3次元地図作成装置、3次元地図作成方法、及び3次元地図作成プログラム | |
JP5127165B2 (ja) | 情報処理方法および装置 | |
JP2016065830A (ja) | 画像処理装置、画像処理方法 | |
JP2014215821A (ja) | 情報処理装置、情報処理方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20100202 |