[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2010134649A - 情報処理装置、その処理方法及びプログラム - Google Patents

情報処理装置、その処理方法及びプログラム Download PDF

Info

Publication number
JP2010134649A
JP2010134649A JP2008308996A JP2008308996A JP2010134649A JP 2010134649 A JP2010134649 A JP 2010134649A JP 2008308996 A JP2008308996 A JP 2008308996A JP 2008308996 A JP2008308996 A JP 2008308996A JP 2010134649 A JP2010134649 A JP 2010134649A
Authority
JP
Japan
Prior art keywords
image
line segment
orientation
information
calculation
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.)
Pending
Application number
JP2008308996A
Other languages
English (en)
Other versions
JP2010134649A5 (ja
Inventor
Daisuke Kotake
大輔 小竹
Shinji Uchiyama
晋二 内山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2008308996A priority Critical patent/JP2010134649A/ja
Priority to US12/627,279 priority patent/US8483424B2/en
Publication of JP2010134649A publication Critical patent/JP2010134649A/ja
Publication of JP2010134649A5 publication Critical patent/JP2010134649A5/ja
Priority to US13/873,534 priority patent/US8995710B2/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

【課題】
位置姿勢算出処理時における3次元情報を用いた計算負荷を減らすとともに、位置合わせの精度や安定性の低下を抑制させるようにした情報処理装置、その処理方法及びプログラムを提供する。
【解決手段】
撮像装置により撮像される物体に対する該撮像装置の位置及び姿勢の情報を算出する情報処理装置であって、物体を構成する複数の線分を含む3次元情報を保持し、撮像装置により撮像された物体の画像を取得し、当該取得された画像から線分を表す画像特徴を検出し、当該検出された線分と、保持された線分との対応に基づいて位置姿勢算出処理を実施し撮像装置の位置及び姿勢の情報を算出し、画像特徴の検出結果と、位置及び姿勢の算出過程で得られる情報との少なくともいずれかに基づいて、保持する線分各々についてそれ以降の位置姿勢算出処理に利用するか否かを判定する。
【選択図】 図1

Description

本発明は、撮像装置により撮像される物体に対する該撮像装置の位置及び姿勢の情報を算出する情報処理装置、その処理方法及びプログラム。
近年、現実空間に仮想空間の情報を重ね合わせて表示するAR(拡張現実感:Augmented Reality)技術の研究が盛んに行なわれている。AR技術を採用した情報提示装置の代表格としては、例えば、ビデオシースルー型のHMD(ヘッドマウントディスプレイ:Head Mounted Display)が知られている。ビデオシースルー型HMDには、現実空間を撮像するカメラが内蔵されている。ビデオシースルー型HMDでは、カメラ等の位置及び姿勢に応じてCG(コンピュータグラフィクス:Computer Graphics)により仮想物体を描画する。そして、描画された仮想物体を現実空間の画像上に重畳した合成画像を、液晶パネルなどのHMDの表示デバイス上に表示する。これにより、利用者は、あたかも仮想物体が現実空間中に実在するかのように感じることができる。
AR技術を実現する上で解決しなければならない大きな問題の一つとして「位置合わせ」の問題がある。ARにおける位置合わせとは、仮想物体と現実空間との間の幾何学的な整合性を取ることである。仮想物体が現実空間に実在するように利用者が感じるためには、位置合わせが正しく行なわれ、仮想物体が常に現実空間中の存在すべき位置に存在するようにして利用者に提示されなければならない。
ビデオシースルー型HMDを利用するARでは、一般に、HMDに内蔵されているカメラから画像が入力される毎に、現実空間におけるカメラの画像撮像時の位置及び姿勢を計測する。そして、このカメラの位置や姿勢と、焦点距離などのカメラ固有のパラメータとに基づいてCGを描画し、現実空間の画像上に重畳する。そのため、ARにおける位置合わせでは、HMDに内蔵されたカメラの位置や姿勢の計測を正確に行なう必要がある。一般に、カメラの位置及び姿勢の計測は、6自由度のカメラの位置及び姿勢を計測できる磁気センサや超音波センサ、光学式センサなどの物理センサを用いて行なわれる。
また、ビデオシースルー型HMDでは、内蔵されているカメラからの画像情報を位置合わせに利用することができる。画像情報を利用して位置合わせを行なう場合、物理センサを利用する方法に比べ、手軽且つ低コストである。この位置合わせ方法では、一般に、現実空間中で3次元位置が既知の指標をカメラで撮像し、撮像画像上での指標の位置と3次元位置との対応をもとにカメラの位置及び姿勢を算出する。指標には、例えば、現実空間中に人為的に配置したマーカや、現実空間中に元来存在するコーナー点やエッジなどの自然特徴を利用する。実用上は、安定性や計算負荷の点から、画像情報から検出や識別が容易である人工的なマーカが広く利用されている。
このような技術に関連して、非特許文献1では、固有の2次元パターンが内部に描かれた正方形形状のマーカを指標に用いて位置合わせを行なう方法が開示されている。このような正方形マーカなどの人工的なマーカは、手軽に利用できるため広く用いられている。しかし、マーカを配置するのが物理的に不可能・困難な場合や、美観を損ねるなどの理由のためにマーカを配置したくない場合にはマーカを利用することができない。
一方、近年の計算機能力の向上に伴い、現実シーン中に元来存在する自然特徴を利用して位置合わせを行なう技術の研究が盛んに行なわれている。位置合わせに用いられる自然特徴としては、コーナー点などの点形状の特徴(以下、点特徴)や、エッジなどの線特徴が挙げられる。非特許文献2、3、4では、エッジを利用した位置合わせの方法が開示されている。エッジは、スケールや観察方向に対して不変であるため、エッジを利用した位置合わせは精度が高いという特徴がある。エッジを利用した位置合わせでは、線分の集合により記述されている現実空間や現実物体の3次元モデルデータを持つことが前提となる。非特許文献2、3、4で開示されているエッジを利用した位置合わせは、次の1から4の処理によって実現される。
(1).前フレームでのカメラの位置及び姿勢及び予め校正済みのカメラの固有パラメータに基づいて、前述の3次元モデルデータ(線分モデル)を画像上に投影する。
(2).投影された各線分を、画像上で一定間隔となるように分割し、分割点を設定する。そして、各分割点について、分割点を通過し向きが投影された線分の法線方向である線分(探索ライン)上でエッジ探索し、探索ライン上における輝度値の勾配が極大であり且つ分割点に最も近い点を対応エッジとして検出する。
(3).各分割点毎に検出された対応エッジと、投影される線分との間の画像上での距離の総和が最小となるようなカメラの位置及び姿勢の補正値を算出し、その補正値に基づいてカメラの位置及び姿勢を算出する。
(4).(3)の処理を収束するまで繰り返し最適化計算を行なう。
点特徴と違って、エッジは画像上での識別性が低い。エッジ探索時には、探索ライン上における輝度値の勾配が極大であるという情報しか利用していないため、しばしば誤ったエッジが検出されてしまう。そのため、非特許文献2、3、4では、誤検出されたエッジが最適化計算に悪影響を及ぼさないように、M推定と呼ばれる手法を用い、誤検出と思われるエッジのデータの重みを小さくして最適化計算を行なっている。
また、上述した通り、エッジを利用した位置合わせでは、位置合わせの対象となる現実空間や現実物体を構成する線分の3次元モデルデータが必要となる。従来、線分の3次元モデルデータの計測は、手作業若しくは画像を用いて行なわれていた。手作業による計測には、メジャー、定規、分度器などが用いられる。また、計測の対象となるシーンや物体の画像を撮像し、画像上で計測者が手作業で線分を指定した結果をもとに3次元データの算出を行なう写真測量ソフトウェアなども用いられている。計測者は、面と面の交線や、線の両側で輝度が大きく変わる線など、位置合わせを行なう際にエッジとして検出されそうな線分を現実空間/現実物体から探して、前述の道具やソフトウェアを用いて計測を行なう。また、これ以外にも、非特許文献5に示されるように、画像を用いた線分の3次元データの計測方法も知られている。非特許文献5では、複数の画像における画像上での線分の対応をもとに、3次元空間における直線の方向と通過位置とを推定している。非特許文献5では、実画像上でのエッジの検出方法として、非特許文献6に示される2次元的なエッジ検出方法を用いている。
加藤, M. Billinghurst, 浅野, 橘, "マーカー追跡に基づく拡張現実感システムとそのキャリブレーション", 日本バーチャルリアリティ学会論文誌, vol.4, no.4, pp.607-617, 1999. T. Drummond and R. Cipolla, "Real-time visual tracking of complex structures," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.24, no.7, pp.932-946, 2002. A. I. Comport, E. Marchand, and F. Chaumette, "A real-time tracker for markerless augmented reality," Proc. The 2nd IEEE/ACM International Symposium on Mixed and Augmented Reality (ISMAR03), pp.36-45, 2003. L. Vacchetti, V. Lepetit, and P. Fua, "Combining edge and texture information for real-time accurate 3D camera tracking," Proc. The 3rd IEEE/ACM International Symposium on Mixed and Augmented Reality (ISMAR04), pp.48-57, 2004. C. J. Taylor and D. J. Kriegman, "Structure from motion from line segments in multiple images," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.17, no.11, pp.1021-1032, 1995. J. Canny, "A computational approach to edge detection," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.8, no.6, pp.679-698, 1986. R. Y. Tsai, "A versatile camera calibration technique for high-accuracy 3D machine vision metrology using off-the-shelf TV camera and lenses," IEEE Journal of Robotics and Automation, vol.3, no.4, pp.323-344, 1987. H. Wuest, F. Vial, and D. Stricker, "Adaptive line tracking with multiple hypotheses for augmented reality," Proc. The Fourth Int'l Symp. on Mixed and Augmented Reality (ISMAR05), pp.62-69, 2005.
上述したエッジを用いた位置合わせでは、3次元モデルデータを投影し、その投影像をもとに1次元探索によってエッジを検出している。そのため、3次元モデルデータを計測する時点では、3次元モデルデータが存在しないため、このような3次元モデルデータの投影に基づいた1次元探索によるエッジ検出を行なうことはできない。すなわち、計測者がエッジであると推定したエッジや、2次元的なエッジ検出方法により検出されたエッジが位置合わせを行なう際に検出されるか否かが事前には分からない。これは、上述の濃度勾配の極値を検出するエッジ検出方法に限らず、3次元モデルデータを投影して1次元探索を行なう他の方法(例えば、エッジ周辺の画像情報を利用して対応するエッジを1次元探索するような方法等)においても共通の問題である。
そのため、手作業で計測する場合には、計測者が自分の目で位置合わせに利用されるエッジであるか否かの判定を行なう必要があるので、作業に熟練を要してしまう。更に、熟練した計測者であっても判定を間違う場合もあるので、3次元モデルデータの計測後、実際に位置合わせし、どの線分が不要かの判定を繰り返す必要がある。従って、計測に手間がかかる。
また、従来のエッジを用いた位置合わせでは、実際にエッジとして検出されない線分の情報が3次元モデルに含まれている場合であっても、それら線分に対するエッジを検出し対応付けしようとしていた。そのため、画像上のエッジの誤検出や、モデルの線分との間で誤対応が起こるので、位置合わせの精度や安定性が低下してしまっていた。
そこで、本発明は、上記問題点に鑑みてなされたものであり、位置姿勢算出処理時における3次元情報を用いた計算負荷を減らすとともに、位置合わせの精度や安定性の低下を抑制させるようにした技術を提供することを目的とする。
上記目的を達成するため、本発明の一態様は、撮像装置により撮像される物体に対する該撮像装置の位置及び姿勢の情報を算出する情報処理装置であって、前記物体を構成する複数の線分を含む3次元情報を保持する保持手段と、前記撮像装置により撮像された前記物体の画像を取得する取得手段と、前記取得手段により取得された画像から線分を表す画像特徴を検出する検出手段と、前記検出手段により検出された線分と、前記保持手段により保持された線分との対応に基づいて位置姿勢算出処理を実施し前記撮像装置の位置及び姿勢の情報を算出する算出手段と、前記検出手段による画像特徴の検出結果と、前記算出手段による位置及び姿勢の算出過程で得られる情報との少なくともいずれかに基づいて、前記保持手段が保持する線分各々についてそれ以降の前記位置姿勢算出処理に利用するか否かを判定する判定手段とを具備することを特徴とする。
また、本発明の一態様は、撮像装置により撮像される物体に対する該撮像装置の位置及び姿勢の情報を算出する情報処理装置の処理方法であって、前記撮像装置により撮像された前記物体の画像を取得する取得工程と、前記取得工程で取得された画像から線分を表す画像特徴を検出する検出工程と、前記検出工程で検出された線分と、保持手段により保持された前記物体を構成する3次元情報の複数の線分との対応に基づいて位置姿勢算出処理を実施し前記撮像装置の位置及び姿勢の情報を算出する算出工程と、前記検出工程での画像特徴の検出結果と、前記算出工程での位置及び姿勢の算出過程で得られる情報との少なくともいずれかに基づいて、前記保持手段が保持する線分各々についてそれ以降の前記位置姿勢算出処理に利用するか否かを判定する判定工程とを含むことを特徴とする。
また、本発明の一態様によるプログラムは、撮像装置により撮像される物体に対する該撮像装置の位置及び姿勢の情報を算出する情報処理装置に内蔵されたコンピュータを、前記物体を構成する複数の線分を含む3次元情報を保持する保持手段、前記撮像装置により撮像された前記物体の画像を取得する取得手段、前記取得手段により取得された画像から線分を表す画像特徴を検出する検出手段、前記検出手段により検出された線分と、前記保持手段により保持された線分との対応に基づいて位置姿勢算出処理を実施し前記撮像装置の位置及び姿勢の情報を算出する算出手段、前記検出手段による画像特徴の検出結果と、前記算出手段による位置及び姿勢の算出過程で得られる情報との少なくともいずれかに基づいて、前記保持手段が保持する線分各々についてそれ以降の前記位置姿勢算出処理に利用するか否かを判定する判定手段として機能させる。
本発明によれば、位置姿勢算出処理時における3次元情報を用いた計算負荷を減らすとともに、位置合わせの精度や安定性の低下を抑制できる。
以下、本発明に係わる情報処理装置、その処理方法及びプログラムの一実施の形態について添付図面を参照して詳細に説明する。
(実施形態1)
図1は、本発明の一実施の形態に係わる情報処理装置が組み込まれたビデオシースルー型のHMDの概要の一例を示す図である。なお、本実施形態においては、情報処理装置1をAR(拡張現実感:Augmented Reality)の位置合わせに用いる場合を例に挙げて説明するが、情報処理装置1は、勿論、これ以外の用途に使用されてもよい。
観察者40は、ビデオシースルー型のHMD30を装着している。観察者40は、ビデオシースルー型HMD30を介して観察対象物体10を観察する。これにより、観察者40には、観察対象物体10上に仮想物体20が重畳された映像が表示される。この場合、仮想物体20として、例えば、観察対象物体10に対する注釈が表示されている。
ビデオシースルー型HMD30には、それぞれ左眼、右眼に対応した撮像装置(100、101)が内蔵されている。撮像装置100は、観察対象物体10を撮像する。撮像装置100により撮像された画像は、情報処理装置1に入力される。情報処理装置1は、撮像装置(100、101)により撮像された画像と、観察対象物体10の3次元モデルデータとに基づいて撮像装置(100、101)の位置及び姿勢を算出する。なお、撮像装置(100、101)の焦点距離などカメラ固有のパラメータは、公知のカメラ校正方法(例えば、非特許文献7)により予め求めておけばよい。
ビデオシースルー型HMD30は、情報処理装置1が算出した撮像装置(100、101)の位置及び姿勢に基づいて仮想物体20の画像を描画し、それを撮像装置(100、101)夫々によって撮像された現実空間の画像に重畳する。これにより、合成した画像がHMD30の表示デバイス(不図示)上に表示される。
以上が、ビデオシースルー型のHMD30の概要の一例についての説明である。なお、上記説明した、情報処理装置1には、コンピュータが組み込まれている。コンピュータには、CPU等の主制御手段、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)等の記憶手段が具備される。また、コンピュータにはその他、ボタンやディスプレイ又はタッチパネル等の入出力手段、ネットワークカード等の通信手段等も具備されていてもよい。なお、これら各構成部は、バス等により接続され、主制御手段が記憶手段に記憶されたプログラムを実行することで制御される。
また、図1では、情報処理装置1がビデオシースルー型のHMD30に組み込まれているが、ビデオシースルー型のHMD30の装置外に、別個の装置として情報処理装置1が実現されていてもよい。
また、本実施形態においては、説明を簡単にするために、撮像装置101により撮像された画像を利用して3次元モデルデータの検証を行なう場合を例に挙げて説明する。勿論、撮像装置100及び撮像装置101の両方により撮像された画像を用いてこの処理を行なうようにしても構わない。
図2は、図1に示す情報処理装置1の構成の一例を示す図である。
情報処理装置1は、画像取得部110と、画像特徴検出部120と、モデルデータ記憶部130と、位置姿勢算出部140と、モデルデータ検証部150とを具備して構成される。
画像取得部110は、撮像装置100によって撮像された画像を情報処理装置1に入力する。画像取得部110は、撮像装置100の出力がNTSCなどのアナログ出力であれば、例えば、アナログビデオキャプチャボードによって実現される。また、撮像装置の出力がIEEE1394などのデジタル出力であれば、例えば、IEEE1394インタフェースボードによって実現される。なお、画像取得部110による画像の取得は、記憶装置に予め記憶された静止画像や動画像のデジタルデータを読み出すことで行なわれてもよい。
画像特徴検出部120は、3次元空間中の線分を表す画像特徴を、画像取得部110により入力された画像から検出する。3次元空間中の線分を表す画像特徴とは、例えば、濃度勾配の極値を取る点、すなわち、エッジである。画像特徴検出部120は、後述するモデルデータ記憶部130に格納されている3次元情報で構成されるモデルデータや、撮像装置100の位置及び姿勢の予測値に基づいてエッジ検出を行なう。
モデルデータ記憶部130は、位置合わせの基準物体となる観察対象物体10の3次元モデルデータ(以下、3次元モデルと略す場合もある)を記憶する。ここで、図3を用いて、本実施形態に係わる3次元モデルの定義方法の一例について説明する。3次元モデルは、点の集合や各点を結んで構成される面の情報、面を構成する線分の情報によって定義される。図3(a)左図に示すように、本実施形態に係わる3次元モデルは、点P1〜点P8の8点から構成される直方体である。ここで、直方体の座標系のX軸は、点P1から点P4に向かう方向に取り、直方体の座標系のY軸は、点P5から点P1に向かう方向に取り、直方体の座標系のZ軸は、点P1から点P2に向かう方向に取り、更に、原点をP5に取る。
図3(a)中央の図及び右図に示すように、直方体は面F1〜F6により構成されている。同様に、直方体は線分L1〜L12により構成されている。更に、本実施形態に係わる3次元モデルは、面F1上に線分L13、面F2上に線分L14を有している。線分L13は、点P9と点P10とを結び、線分L14は、点P10と点P11とを結ぶ。
図3(b)に示すように、点P1〜点P11は、3次元座標値によって表される。また、図3(c)に示すように、面F1〜F6は、面を構成する点のID(識別子)と、各点を接続する順番とによって表される。また、図3(d)に示すように、各線分L1〜L14に対応して、位置姿勢算出に利用できる情報であるか否かを示す利用可否フラグF(TRUEであれば利用可)が設けられる。
また、モデルデータ記憶部130には、モデルデータ検証用データが記憶される。モデルデータ検証用データは、フレームデータDと蓄積データDとを含んで構成される。モデルデータ検証用データに含まれるD、Dは、モデルデータを構成する線分各々に対応して記憶される。フレームデータDは、1フレーム分の検証用データを記憶し、「検出されるべきエッジ数NE1」と「実際に検出されたエッジ数ND1」とから構成される。また、蓄積データDは、「蓄積データ数N」と、「検出されるべき総エッジ数NES」と、「実際に検出された総エッジ数NDS」とから構成される。
位置姿勢算出部140は、観察対象物体10を基準とした座標系(以下、基準座標系と呼ぶ)における撮像装置100の位置及び姿勢を算出する。なお、撮像装置100の位置及び姿勢は、画像特徴検出部120において検出された撮像画像内におけるエッジと、モデルデータ記憶部130に記憶された3次元モデルデータとに基づいて算出される。
モデルデータ検証部150は、3次元モデルデータを構成する各線分を位置姿勢算出に利用するか否かの検証を行なう。この検証は、画像特徴検出部120によるエッジ検出結果から得られる統計データに基づいて行なわれる。
また、情報処理装置1は、モデルデータ検証フラグFMDを持つ。モデルデータ検証フラグFMDは、モデルデータの検証を行なうか否かを示すフラグである。フラグFMD=TRUEの場合は、モデルデータを検証し、フラグFMD=FALSEの場合は検証を行なわない。初期状態では、フラグFMDは、FALSEにセットされる。
フラグFMDの切り替えは、例えば、利用者がキーボードやマウスなどの入力手段(不図示)を使って行なう。フラグFMDがTRUEにセットされると、モデルデータ記憶部130に格納されている蓄積データDが0にリセットされる。また、蓄積データに対して、何フレーム分のデータを蓄積するかのフレーム数Nmaxを予め設定しておく。すなわち、利用者は、フラグFMDをTRUEにした後、何フレーム分のデータを蓄積し、モデルデータの検証に利用するかを予め決めておく。蓄積データ数NがNmaxと等しくなるとモデルデータの検証が行なわれる。モデルデータの検証が終わると、フラグFMDはFALSEにセットされ、蓄積データDが全て0にリセットされる。
次に、図4を用いて、図1に示す情報処理装置1における処理の流れの一例について説明する。
(ステップS1010)
ステップS1010では、情報処理装置1は、初期化処理を行なう。初期化処理では、基準座標系における撮像装置100の位置及び姿勢を予測した予測値の設定、モデルデータ検証フラグ、利用可否フラグ、蓄積データのリセットを行なう。
ここで、初期化処理について詳述する。まず、撮像装置100の位置及び姿勢の予測値の設定について説明する。本実施形態においては、概略の撮像装置の位置及び姿勢を、線分の情報を使って逐次更新していく方法で位置姿勢計測を行なう。そのため、位置姿勢計測を開始する前に予め概略の撮像装置の位置及び姿勢を与えておく必要がある。そこで、例えば、予め決まった位置及び姿勢を設定しておき、撮像装置100をその位置及び姿勢になるように移動する。又は、非特許文献1に示すように、画像内で検出するだけで認識可能な人工的な指標を配置し、当該人工的な指標の各頂点の座標と各頂点の基準座標系における3次元位置との対応から撮像装置の位置及び姿勢を求めて概略の撮像装置の位置及び姿勢としてもよい。更に、磁気式や光学式、超音波式などの6自由度位置姿勢センサを撮像装置に設け、センサから得られる位置及び姿勢を概略の撮像装置の位置及び姿勢としてもよい。人工的な指標と前述の6自由度位置姿勢センサや3自由度の姿勢センサ、3自由度の位置センサを併用して計測される撮像装置の位置及び姿勢を概略の撮像装置の位置及び姿勢としてもよい。
また、ステップS1010では、モデルデータ検証フラグFMDをFALSEにセットする。そして、モデルデータ記憶部130に記憶されている各線分について、位置姿勢算出に利用できる情報であるか否かを示す利用可否フラグFをTRUEにセットする。更に、蓄積データDを全て0にリセットする。この初期化が終わったらステップS1020の処理に進む。
(ステップS1015)
ステップS1015では、位置姿勢計測の終了判定を行なう。利用者により、マウスやキーボードなどの入力手段を介して終了の指示が入力された場合には、ステップS1015でYESとなり、この処理を終了する。それ以外の場合には、ステップS1015でNOとなり、ステップS1020の処理に進む。
(ステップS1020)
ステップS1020では、情報処理装置1は、画像取得部110において、撮像装置100が撮像した画像を装置内(情報処理装置1内)に取り込む。
(ステップS1030)
ステップS1030では、情報処理装置1は、画像特徴検出部120において、ステップS1020で入力された画像上でエッジの検出を行なう。この処理の開始に際しては、各線分ごとのフレームデータNE1、ND1を0にセットする。なお、エッジ検出処理の詳細については、後述する。
(ステップS1040)
ステップS1040では、情報処理装置1は、位置姿勢算出部140において、撮像装置100の位置及び姿勢を算出する。上述した通り、この算出は、ステップS1040で検出された画像上のエッジと、モデルデータ記憶部130に記憶された3次元モデルデータとに基づいて行なわれる。なお、位置姿勢算出処理の詳細については、後述する。
(ステップS1050)
ステップS1050では、情報処理装置1は、モデルデータ検証部150において、検証モードであるか否かの判定を行なう。この判定は、モデルデータ検証フラグFMDの値に基づいて行なわれる。ここで、モデルデータの検証を行なう場合(FMD=TRUE)には、ステップS1060の処理に進み、検証を行なわない場合には、ステップS1015の処理に戻る。
(ステップS1060)
ステップS1060では、情報処理装置1は、モデルデータ検証処理を開始する。この処理では、まず、モデルデータ記憶部130に格納されている3次元モデルデータを構成する各線分についての蓄積データNES及びNDSを更新する。具体的には、ステップS1030において更新された各線分についてのフレームデータNE1、ND1をそれぞれNES、NDSに加える。
(ステップS1070)
ステップS1070では、情報処理装置1は、蓄積データ数Nを1増やす(蓄積データカウント++)。
(ステップS1080)
ステップS1080では、情報処理装置1は、蓄積データ数Nが予め設定された蓄積データ数Nmaxと等しいか否かの判定を行なう。等しければ、ステップS1090の処理に進み、等しくなければ、ステップS1015の処理に戻り、ステップS1020の処理で次の画像、すなわち、次フレームの画像を取得する。
(ステップS1090)
ステップS1090では、情報処理装置1は、モデルデータ検証部150において、3次元モデルデータを構成する線分各々について位置姿勢算出に利用するか否かの検証を行なう。なお、この処理についての詳細は、後述するが、各線分ごとの蓄積データNES、NDSに基づいてモデルデータ記憶部130に格納されたモデルデータを検証する。この処理が終わると、ステップS1015の処理に戻る。
次に、図5を用いて、図4のステップS1030におけるエッジ検出処理の流れの一例について説明する。
(ステップS1110)
まず、情報処理装置1は、ステップS1110においてモデル投影を行なう。ここで、モデル投影とは、撮像装置100の位置及び姿勢の予測値に基づいて、観察対象物体の3次元モデルデータを画像上に投影することである。より具体的には、3次元モデルデータを構成する各線分を画像上に投影したときの、画像上での直線の方程式を求める。直線の方程式は、線分の両端を画像上に投影し、画像上での両端の座標を結んだ直線の方程式となる。撮像装置100の位置及び姿勢の予測値には、図4に示すステップS1010の初期化直後であれば、その初期化によって得られる撮像装置100の位置及び姿勢を用いる。初期化直後でなければ、前フレームで算出された撮像装置100の位置及び姿勢を用いる。モデル投影を行なうためには、撮像装置100の位置及び姿勢とともに、焦点距離や主点位置などのカメラの固有パラメータが既知である必要がある。前述したように、本実施形態においては、カメラの固有パラメータは、予め計測されて分かっているものとする。また、線分が位置姿勢算出に利用できるか否かの利用可否フラグFがFALSEの線分についてはモデル投影及びエッジ検出を行なわない。
図6は、画像上への3次元モデルの投影の一例を示す図である。図6(a)は撮像された画像そのものであり、図6(b)は画像上に3次元モデルを投影した態様を示している。位置及び姿勢の予測値と実際の位置及び姿勢とが異なる場合には、図6(b)に示すように、実際に撮像される物体と太線で示される3次元モデルの投影像との間に相対的なずれが生じる。図6(b)において、破線で示される線分は、3次元モデルを構成する線分のうち、実際には隠れて見えない線分を表している。
(ステップS1120、ステップS1130)
次に、情報処理装置1は、ステップS1120において、ステップS1110で算出された直線の方程式を利用して投影された線分が画像上で等間隔に分割されるような分割点を設定する。この分割点は、3次元モデルデータを構成する線分全てに設定される。
図7は、3次元モデルの画像上での分割点の一例を示す図である。ここで、分割点の総数をNとし、各分割点をDPj(j=1,2,...,N)とする。分割点の数Nは、画像上での分割点の間隔を変える事で制御できる。また、分割点の数が一定になるように、画像上での分割点間の間隔を逐次変更してもよい。
以下、DPj(j=1,2,…,N)についてエッジ検出を順次行なう。まず、ステップS1130においてjを1にセットする。
(ステップS1140)
次に、情報処理装置1は、ステップS1140において、分割点DPjが隠蔽されているか否かの判定を行なう。隠蔽とは、分割点DPjが3次元モデルの他の面に隠れている状態を指す。例えば、図7に破線で示される線分上の分割点DPjは、可視ではなく、隠蔽されていることになる。分割点DPjが可視か否かの判定は、例えば、非特許文献8に示されるように、グラフィクスハードウェアを利用して3次元モデルを描画した後、当該分割点を描画し、グラフィクスハードウェアにデプスバッファが更新されたか否かを確認することで行なえる。この結果、分割点DPjが隠蔽されている場合には、ステップS1160の処理に進み、そうでない場合には、該当する線分のフレームデータNE1の値に1を加えた後、ステップS1150の処理に進む。
(ステップS1150)
ステップS1150では、情報処理装置1は、分割点DPjに対応するエッジを検出する。図8は、本実施形態に係わるエッジ検出方法の概要の一例を示す図である。図8に示すように、各分割点において、投影された線分の法線方向に平行で且つ分割点を通過する線分(以下、探索ライン)上においてエッジを1次元探索する。エッジは、探索ライン上において濃度勾配が極値をとる位置に存在する。濃度勾配の極値の絶対値に閾値を設け、極値の絶対値の小さいエッジは検出されないようにする。本実施形態では、探索ライン上でエッジが複数存在する場合には、最も分割点に近いエッジを対応点とし、その画像座標と分割点の3次元座標とを保持する。なお、本実施形態では最も分割点に近いエッジを対応点としているが、これに限られず、探索ライン上で濃度勾配の極値の絶対値が最も大きいエッジを対応点としてもよい。ステップS1150でエッジが検出された場合には、該当する線分のフレームデータND1の値に1を加える。
(ステップS1160、ステップS1170)
ステップS1160では、情報処理装置1は、jを1増分し、ステップS1170に進む。全ての分割点DPjについて処理が終了した場合には、ステップS1170でYESとなり、エッジ検出処理を終了する。終了していない場合には、ステップS1170でNOとなり、ステップS1140の処理に戻る。
次に、図4のステップS1040における位置姿勢算出処理の一例について詳述する。 位置姿勢算出処理では、エッジ検出終了後、非線形最適化計算により、物体と撮像装置との間の位置及び姿勢(以下、sで表す)の予測値を反復演算により補正する。これにより、撮像装置の位置及び姿勢を算出する。
ここで、上述した分割点DPjのうち、隠蔽されておらず、ステップS1030のエッジ検出処理において対応点が求まった分割点の総数がND1となる。図9は、エッジの情報を利用して撮像装置100の位置及び姿勢を算出する処理の概要の一例を示す図である。この場合、画像の水平方向、垂直方向をそれぞれx軸、y軸としている。
ある分割点の投影された画像座標を(u,v)、当該分割点が所属する線分Lの画像上での傾きをx軸に対する傾きθと表す。傾きθは、線分の両端の3次元座標をsに基づいて画像上に投影し、画像上での両端の座標を結んだ直線の傾きとして算出される。線分Lの画像上での法線ベクトルは(sinθ,−cosθ)となる。また、分割点の対応点の画像座標を(u’,v’)とする。
ここで、点(u,v)を通り、傾きがθである直線上の点(x,y)は、
Figure 2010134649
と表せる(u、v、θは定数)。
分割点が画像に投影される座標は、撮像装置100の位置及び姿勢により変化する。また、撮像装置100の位置及び姿勢の自由度は6自由度である。すなわち、sは6次元ベクトルであり、撮像装置100の位置を表す3つの要素と、姿勢を表す3つの要素からなる。姿勢を表す3つの要素は、例えば、オイラー角による表現や、方向が回転軸を表し大きさが回転角を表す3次元ベクトルなどによって表現される。分割点の画像座標(u,v)は、(u,v)の近傍で1次のテイラー展開によって「数3」のように近似できる。
Figure 2010134649
「数2」による近似式を数1に代入することにより、「数3」が得られる。
Figure 2010134649
ここで、「数3」に示す直線が分割点の対応点の画像座標(u’,v’)を通過するように、撮像装置100の位置及び姿勢sの補正値Δsを算出する。
Figure 2010134649
が得られる。「数4」はND1個の分割点について成り立つため、「数5」のようなΔsに対する線形連立方程式が成り立つ。
Figure 2010134649
ここで、「数5」を「数6」のように簡潔に表す。
Figure 2010134649
「数6」をもとにGauss−Newton法などによって、行列Jの一般化逆行列(J・J)−1・Jを用いてΔsが求められる。しかし、エッジの検出には誤検出が多いので、次に述べるようなロバスト推定手法を用いる。一般に、誤検出されたエッジに対応する分割点では誤差d−rが大きくなる。そのため、「数5」、「数6」の連立方程式に対する寄与度が大きくなり、その結果得られるΔsの精度が低下してしまう。そこで、誤差d−rが大きい分割点のデータには小さな重みを与え、誤差d−rが小さい分割点のデータには大きな重みを与える。重みは、例えば、「数7」に示すようなTukeyの関数により与える。
Figure 2010134649
cは定数である。なお、重みを与える関数は、Tukeyの関数である必要はなく、例えば、「数8」で示されるようなHuberの関数などであってもよい。すなわち、誤差d−rが大きい分割点には小さな重みを与え、誤差d−rが小さい分割点には大きな重みを与える関数であれば特に問わない
Figure 2010134649
分割点DPiに対応する重みをwiとする。ここで「数9」のように重み行列Wを定義する
Figure 2010134649
重み行列Wは、対角成分以外は全て0のN×N正方行列であり、対角成分には重みwが入る。この重み行列Wを用いて、「数6」を「数10」のように変形する。
Figure 2010134649
「数11」のように「数10」を解くことにより補正値Δsを求める。
Figure 2010134649
これにより得られたΔsを用いて、撮像装置100の位置及び姿勢を更新する。次に、撮像装置100の位置及び姿勢の反復演算が収束しているか否かを判定する。補正値Δsが十分に小さい、誤差d−rの総和が十分小さい、誤差d−rの総和が変化しないといった場合には、撮像装置100の位置及び姿勢の計算が収束したと判定する。収束していないと判定した場合には、更新された撮像装置100の位置及び姿勢を用い、N個の点について再度線分の傾きθ、r、d及びu、vの偏微分を計算し直し、「数11」より再度補正値Δsを求め直す。なお、ここでは、非線形最適化手法としてGauss−Newton法を用いた。しかし、非線形最適化手法はこれに限るものではなく、Newton−Raphson法、Levenberg−Marquardt法、最急降下法、共役勾配法など、その他の非線形最適化手法を用いてもよい。以上が、ステップS1040における撮像装置の位置姿勢算出方法についての説明である。
次に、図10を用いて、図4のステップS1090におけるモデルデータ検証処理の流れの一例について説明する。
(ステップS1210)
ステップS1210では、情報処理装置1は、「検出されるべき総エッジ数NES」と、「実際に検出された総エッジ数NDS」とに基づいてモデルデータの検証を行なう。具体的には、NESに対するNDSの割合REDを算出する。
(ステップS1220、ステップS1230)
ステップS1220では、情報処理装置1は、ステップS1210で算出された割合REDと、閾値TEDとを比較する。比較の結果、REDが閾値TEDを越えていれば、ステップS1230でNOとなり、この処理は終了する。一方、REDが閾値TED未満となれば、ステップS1230でYESとなり、ステップS1240の処理に進む。
(ステップS1240)
ステップS1240では、情報処理装置1は、線分の検出率が低いとして、該当する線分の利用可否フラグFをFALSEに設定する。これにより、以後、位置姿勢算出処理にその線分を用いないようにする。例えば、図3に示すモデルデータにおいて、照明条件などによってL14に対応するエッジが検出されない場合には、L14のフラグFがFALSEに設定され、位置姿勢算出処理に利用されないようになる。
(ステップS1250)
ステップS1250では、情報処理装置1は、モデルデータ検証フラグFMDをFALSEにセットし、蓄積データDを全て0にリセットし、この処理を終了する。
以上説明したように実施形態1によれば、各線分について、「検出されるべきエッジ数」に対する「実際に検出されたエッジ数」の割合を算出し、その割合に基づいて該当のエッジが属する線分を位置姿勢算出に使用するか否かの判定を行なう。これにより、実際は検出されない線分が位置姿勢算出に利用されることを防止できる。これにより、3次元モデルの計測を簡便化し、位置合わせの精度や安定性の低下を抑制できる。
なお、上述した説明では、エッジ(対応点)を検出できなかった分割点の割合に基づいて該当の線分を位置姿勢算出に使用するか否かの判定を行なっていたが、エッジを検出できなかった分割点の割合以外の情報に基づいて判定を行なうようにしてもよい。例えば、複数の画像から同一の線分を検出するようにし、その線分を検出できなかった割合に基づいてその線分を位置姿勢算出に使用するか否かの判定を行なうようにしてもよい。
(実施形態2)
上述した実施形態1では、「検出されるべきエッジ数」に対する「実際に検出されたエッジ数」の割合を算出し、その割合に基づいて各線分を位置姿勢算出に使用するか否かの判定を行なっていた。これに対して、実施形態2では、位置姿勢算出を行なう際の誤差に基づいて、各線分を位置姿勢算出に使用するか否かの判定を行なう場合について説明する。なお、実施形態2における構成は、実施形態1を説明した図1及び図2と同様となるため、その説明については省略し、ここでは相違点について重点的に説明する。
まず、実施形態2に係わるモデルデータ検証用データについて説明する。ここでは、実施形態1と同様に、モデルデータ記憶部130には、モデルデータ検証用データが記憶され、モデルデータ検証用データは、フレームデータDと蓄積データDとを含んで構成される。また、モデルデータ検証用データに含まれるD、Dは、モデルデータを構成する線分各々に対応して記憶される。
フレームデータDは、1フレーム分の検証用データを記憶し、「検出されるべきエッジ数NE1」と「位置姿勢算出において実効的な情報として利用されたエッジ数NC1」とから構成される。また、蓄積データDは、「蓄積データ数N」と、「検出されるべき総エッジ数NES」と、「位置姿勢算出において実効的な情報として利用されたエッジ数NCS」とから構成される。NESは、Nmaxフレーム分のNE1の総和であり、NCSはNmaxフレーム分のNC1の総和である。すなわち、実施形態2は、蓄積データとして、「実際に検出されたエッジ数」ではなく、「位置姿勢算出において実効的な情報として利用されたエッジ数」を保持するという点で実施形態1と異なる。
図11を用いて、実施形態2に係わる情報処理装置1における処理の流れの一例について説明する。
(ステップS2010)
ステップS2010では、情報処理装置1は、初期化処理を行なう。初期化処理では、基準座標系における撮像装置100の位置及び姿勢の予測値の設定、モデルデータ検証フラグ、利用可否フラグ、蓄積データのリセットを行なう。なお、撮像装置100の位置及び姿勢の予測値の設定やモデルデータ検証フラグ、利用可否フラグのリセットについては、ステップS1010と同一の処理となるためその説明は省略する。実施形態2においては、「蓄積データ数N」、「検出されるべき総エッジ数NES」、「位置姿勢算出において実効的な情報として利用されたエッジ数NCS」を全て0にし、蓄積データDをリセットする。
(ステップS2015)
ステップS2015では、位置姿勢計測の終了判定を行なう。利用者により、マウスやキーボードなどの入力手段を介して終了の指示が入力された場合には、ステップS2015でYESとなり、この処理を終了する。それ以外の場合には、ステップS2015でNOとなり、ステップS2020の処理に進む。
(ステップS2020)
ステップS2020では、情報処理装置1は、画像取得部110において、撮像装置100が撮像した画像を装置内(情報処理装置1内)に取り込む。
(ステップS2030)
ステップS2030では、情報処理装置1は、画像特徴検出部120において、ステップS2020で入力された画像上でエッジの検出を行なう。この処理の開始に際しては、各線分ごとのフレームデータNE1、NC1を0にセットする。なお、エッジ検出処理は、実施形態1の図5と同様の処理となるため、その詳細な説明については省略する。実施形態1との相違点としては、実施形態1では、フレームデータであるNE1、ND1を更新していたのに対し、ステップS2030ではNE1のみを更新する点である。
(ステップS2040)
ステップS2040では、情報処理装置1は、位置姿勢算出部140において、撮像装置100の位置及び姿勢を算出する。なお、位置姿勢算出処理は、実施形態1と同様の処理となるため、その詳細な説明については省略する。実施形態1との相違点としては、ステップS2030では、ステップS1030で説明した位置姿勢算出処理が終了した後、その算出過程で得られる重み行列W(数9参照)に基づいてフレームデータNC1を更新する。重み行列Wは、各分割点に対応する重みによって定義されており、この重みは、誤差d−rの値が小さいほど大きい。そこで、重みが一定値未満のエッジは、誤検出又は誤対応であるとみなし、重みが一定値以上のエッジの情報が実効的に利用されたとして、該当する分割点が属する線分のフレームデータNC1の値に1を加える。
(ステップS2050)
ステップS2050では、情報処理装置1は、モデルデータ検証部150において、検証モードであるか否かの判定を行なう。この判定は、モデルデータ検証フラグFMDの値に基づいて行なわれる。モデルデータの検証を行なう場合(FMD=TRUE)には、ステップS2060の処理に進み、検証を行なわない場合には、ステップS2015の処理に戻る。
(ステップS2060)
ステップS2060では、情報処理装置1は、モデルデータ検証処理を開始する。この処理では、まず、モデルデータ記憶部130に格納されている3次元モデルデータを構成する各線分について、蓄積データNES及びNCSを更新する。すなわち、ステップS2030、ステップS2040の処理において更新された各線分についてのフレームデータNE1、NC1をそれぞれNES、NCSに加える。
(ステップS2070)
ステップS2070では、情報処理装置1は、蓄積データ数Nを1増やす(蓄積データカウント++)。
(ステップS2080)
ステップS2080では、情報処理装置1は、蓄積データ数Nが予め設定された蓄積データ数Nmaxと等しいか否かの判定を行なう。等しければ、ステップS2090の処理に進み、等しくなければ、ステップS2015の処理に戻り、ステップS2020の処理で次の画像、すなわち、次フレームの画像を取得する。
(ステップS2090)
ステップS2090では、情報処理装置1は、モデルデータ検証部150において、3次元モデルデータを構成する線分各々について位置姿勢算出に利用するか否かの検証を行なう。なお、この処理についての詳細は、後述するが、実施形態2においては、各線分ごとの蓄積データNES、NCSに基づいてモデルデータ記憶部130に格納されたモデルデータを検証する。この処理が終わると、ステップS2015の処理に戻る。
次に、図12を用いて、図11のステップS2090におけるモデルデータ検証処理の流れの一例について説明する。
(ステップS2110)
ステップS2110では、情報処理装置1は、「検出されるべき総エッジ数NES」と、「位置姿勢算出において実効的な情報として利用されたエッジ数NCS」とに基づいてモデルデータの検証を行なう。具体的には、NESに対するNCSの割合RECを算出する。
(ステップS2120、ステップS2130)
ステップS2120では、情報処理装置1は、ステップS2110で算出された割合RECと、閾値TECとを比較する。比較の結果、RECが閾値TECを越えていれば、ステップS2130でNOとなり、この処理は終了する。一方、RECが閾値TEC未満となれば、ステップS2130でYESとなり、ステップS2140の処理に進む。
(ステップS2140)
ステップS2140では、情報処理装置1は、誤検出又は誤対応の可能性が高いとして、該当する線分の利用可否フラグFをFALSEに設定する。これにより、以後、位置姿勢算出処理にその線分を用いないようにする。
(ステップS2150)
ステップS2150では、情報処理装置1は、モデルデータ検証フラグFMDをFALSEにセットし、蓄積データDを全て0にリセットし、この処理を終了する。
以上説明したように実施形態2によれば、各線分について、位置姿勢算出を行なう際の誤差の大きさにより決定される重みの値に基づいて、各線分を位置姿勢算出に使用するか否かの判定を行なう。これにより、誤検出や誤対応の多い線分が位置姿勢算出に利用されることを防止できる。
(実施形態3)
上述した実施形態1及び2では、本発明の一実施の形態に係わる情報処理装置1をARの位置合わせに適用した場合について説明した。これに対して、実施形態3においては、画像による線分データの計測に適用し、エッジを利用した位置合わせに適した線分データの計測を行なう場合を例に挙げて説明する。
図13は、実施形態3に係わる情報処理装置1の構成の一例を示す図である。
情報処理装置3は、画像取得部310と、画像記憶部320と、モデルデータ算出部330と、モデルデータ記憶部340と、モデルデータ検証部350とを具備して構成される。情報処理装置3は、撮像装置300により撮像された現実空間又は現実物体の複数の画像に基づいて線分の3次元モデルを算出する。
画像取得部310は、撮像装置300によって撮像された画像を情報処理装置3に入力する。画像取得部310は、実施形態1を説明した図2の画像取得部110と同等の機能を果たす。
画像記憶部320は、画像取得部310から入力される画像を記憶する。なお、画像記憶部320により画像の記憶は、利用者からの入力手段を介した指示に基づき行なわれる。
モデルデータ算出部330は、画像記憶部320に格納されている複数の画像を用いて線分の3次元モデルを算出する。実施形態3においては、非特許文献5に開示されている方法を用いて線分の3次元モデルを算出する。
モデルデータ記憶部340は、モデルデータ算出部330により算出された線分の3次元モデルを記憶する。
モデルデータ検証部350は、画像取得部310から入力される画像に基づいて位置姿勢算出を行なうことにより、モデルデータ記憶部340に格納されている線分の3次元モデルを検証する。
次に、図14を用いて、実施形態3に係わる情報処理装置3における処理の流れの一例について説明する。
(ステップS3010)
ステップS3010では、情報処理装置3は、画像記憶部320において、線分の3次元モデルの算出に必要となる画像を保存する。非特許文献5では、「線分の3次元モデルを復元するのに3枚の画像における6つの対応が必要である」と述べられているため、ステップS3010では最低3枚以上の画像を保存する。画像の保存は、例えば、利用者が撮像装置300を自由に移動させながら、キーボードやマウスなどの入力手段により画像保存命令を入力することにより行なう。画像保存命令が入力されると、命令を入力した時点において、画像取得部310から入力される画像が画像記憶部320に保存される。なお、ここでは画像の保存を利用者の入力によって行なっているが、画面の変化に基づいて、自動的に画像を保存するようにしてもよい。
(ステップS3020)
ステップS3020では、情報処理装置3は、ステップS3010において保存された画像上からラインを検出する。ラインの検出は、利用者の指示に基づいて行なわれる。具体的には、利用者が画像上でラインの始点と終点を指定することにより手動で行なう。なお、ラインの検出法は、これに限られず、画像上のラインを検出できるのであればよい。例えば、非特許文献7に示す方法によりエッジ検出を実施した後、ハフ変換によって画像上のラインを検出してもよい。
(ステップS3030)
ステップS3030では、情報処理装置3は、ステップS3020において検出されたラインの画像間での対応付けを行なう。この対応付けは、利用者の指示に基づいて行なわれる。すなわち、利用者が手動で行なう。なお、ラインの対応付け方法は、これに限られず、例えば、ライン周辺の画素の情報を利用して、類似したラインを自動的に対応付けるようにしてもよい。
(ステップS3040)
ステップS3040では、情報処理装置3は、モデルデータ算出部330において、ステップS3030で対応付けられたラインの情報に基づいて線分(ライン)の3次元モデルの算出を行なう。そして、算出した線分の3次元モデルと、画像上での端点の位置とから端点の3次元位置を算出し、図3に示す様式で線分の3次元モデルとしてモデルデータ記憶部340に格納する。なお、線分の3次元モデルとは、3次元空間における直線の方向ベクトルと通過位置とにより表されるものとする。線分の3次元モデルの算出は、例えば、非特許文献5に開示されている方法により行なう。線分の3次元モデルの算出方法は、これに限られず、画像間のラインの対応から算出する方法であればよい。
ここで、非特許文献5における線分の3次元モデルの算出方法の概略について簡単に説明する。
(1).各画像を撮像したときの撮像装置の姿勢についてランダムに初期値を与える。
(2).画像上でのラインの方程式、3次元空間中でのラインの方向ベクトル、撮像装置の姿勢が満たす制約条件をもとに、ラインの方向ベクトルを算出する。
(3).画像上でのラインの方程式、ラインの通過位置、撮像装置の位置が満たす制約条件をもとに、ラインの通過位置及び撮像装置の位置を算出する。
(4).(1)、(2)、(3)で得られた未知パラメータを最適化する。
(5).(4)で得られた未知パラメータを精度評価し、精度が悪ければ(1)に戻る。精度がよければ終了する。
(ステップS3050)
ステップS3050では、情報処理装置3は、モデルデータ検証部350において、ステップS3040で算出された線分の3次元モデルの検証を行なう。具体的には、画像取得部310から入力される画像とモデルデータ記憶部340に格納された3次元モデルとに基づいて、実施形態1又は実施形態2で説明した方法でモデルデータを構成する各線分を評価する。そして、検出されるべき回数に対して実際の検出回数が少ない線分や、実効的な情報として使われる回数の少ない線分をモデルデータから削除する。これにより、モデルデータ記憶部340に格納された3次元モデルを更新する。
(ステップS3060)
ステップS3060では、情報処理装置3は、ステップS3040の3次元モデル算出結果、ステップS3050のモデル検証結果を、例えば、表示するなどして利用者に提示する。これにより、利用者は、その3次元モデル算出結果やモデル検証結果を受け入れるか否かを判定する。利用者が結果を受け入れる場合には、その旨が情報処理装置3に入力され、ステップS3060でYESとなり、この処理は終了する。受け入れない場合には、その旨が情報処理装置3に入力され、ステップS3060でNOとなり、ステップS3010の処理に戻る。
以上説明したように実施形態3によれば、画像を用いた線分データの計測結果の評価を行なう場合にも、エッジを用いた位置合わせに適したモデルデータを計測できる。
以上が本発明の代表的な実施形態の一例であるが、本発明は、上記及び図面に示す実施形態に限定することなく、その要旨を変更しない範囲内で適宜変形して実施できるものである。
(変形実施形態1)
上述した説明では、実施形態1及び2を用いて、各線分を位置姿勢算出に使用するか否かの判定について2パターン説明した。これら2パターンの処理は、必ずしも別々に実施する必要はなく、2つの判定方法を併用して実施してもよい。すなわち、本発明は、少なくともいずれかの判定処理を用いて実施できる。
例えば、フレームデータとして、各フレームにおける線分毎に、「検出されるべきエッジ数NE1」、「位置姿勢算出において実効的な情報として利用されたエッジ数NC1」、「実際に検出されたエッジ数ND1」の3つの情報を得る。そして、蓄積データとして、各線分ごとに、「検出されるべきエッジ数NES」、「位置姿勢算出において実効的な情報として利用されたエッジ数NCS」、「実際に検出されたエッジ数NDS」の3つを蓄積する。なお、NES、NCS、NDSは、Nmaxフレーム分のフレームデータNE1、NC1、NESの和である。この蓄積データNES、NCS、NDSに基づいて、線分を位置姿勢算出に使用するか否かの判定を行なう。例えば、NDSに対するNES、NCSの割合RED、RCDの両方を用いて判定を行なう。すなわち、RED、RCDに対して、それぞれ閾値TED、TCDを設け、RED、RCDがともに閾値TED、TCD未満である場合には、該当の線分は検出率が低く、且つその線分は誤検出又は誤対応の可能性が高いと判定する。そして、位置姿勢算出に利用するフラグFをFALSEに設定し、以降、その線分を位置姿勢算出に用いないようにする。また、RED、RCDがともに閾値TED、TCD未満でなく、いずれか一方が閾値未満である場合に、その線分を位置姿勢算出に用いないと判定するようにしてもよい。更に、NDSに対する(NES、+NCS)の割合を利用してもよい。
(変形実施形態2)
上述した説明では、利用者の入力をトリガーとしてモデルデータの検証を行なっていた。しかし、モデルデータの検証を利用者の入力をトリガーとして行なうのではなく、自動的に行なってもよい。
例えば、位置姿勢計測開始後一定時間はモデルデータ検証フラグFMDをTRUEにセットして、自動的にモデルデータの検証を行なってもよい。また、位置姿勢算出の精度が低下した場合(誤差の総和が大きくなった場合)に、自動的にモデルデータ検証フラグFMDをTRUEにセットして、モデルデータの検証を自動的に行なうようにしてもよい。この場合には、一度、全ての線分に対応する利用可否フラグFをTRUEにセットした後、モデルデータの検証を行なう。これにより、過去の検証が誤っていた場合や、照明条件などが変わった場合などにも対応できる。
(変形実施形態3)
上述した説明では、線分を位置姿勢算出に利用するか否かは、情報処理装置側で閾値Tに基づいて自動的に判定を行なっていたが、利用者が判定するようにしてもよい。
例えば、実施形態1及び2においては、線分の3次元モデルの描画に際して、その色や太さを変えるなど、位置姿勢算出に利用される線分と利用されない線分とで表示方法を変えて利用者に提示する。利用者は、提示された線分の3次元モデルを参照し、判定結果を承認するか否かを決定する。利用者の承認は、例えば、マウスやキーボードなどの入力手段を介して行なう。
また、例えば、実施形態3においては、算出された線分の3次元モデルと、各画像を撮像したときの撮像装置の位置及び姿勢とに基づいて、各画像上に線分の3次元モデルを描画する。このとき、色や太さを変えるなど、位置姿勢算出に利用される線分と利用されない線分とで表示方法を変えて利用者に提示する。利用者は、その提示結果に基づいて判定結果を承認するか否かを決定する。
(変形実施形態4)
上述した説明では、3次元モデルデータを構成する線分各々について、位置姿勢算出に利用するか否かの判定を行なっていたが、この判定は、必ずしも線分という単位に限られない。
例えば、複数の線分の集合を一つの単位として位置姿勢算出に利用するか否かの判定を行なってもよい。これとは逆に、一つの線分を複数に分割して、分割された線分ごとに位置姿勢算出に利用するか否かの判定を行なってもよい。非特許文献5には、無限長の直線の3次元モデルを算出する方法が示される。端点の3次元座標は、画像上で指定された端点の位置と直線の3次元モデルとから算出される。しかし、直線を複数の線分に分割し、それぞれの線分ごとに位置姿勢算出に利用するか否かの判定を行えば、実際に存在する線分のみ利用されるようになるため、端点座標の算出処理は不要となる。
(変形実施形態5)
上述した説明では、検証を行なうか否かを示すフラグ(モデルデータ検証フラグ)の設定により、線分の3次元モデルの検証を明示的に行なっていた。しかし、検証を明示的に行なうのではなく、位置姿勢算出を行ないつつモデル検証を常に行なうようにしてもよい。
例えば、位置姿勢算出に利用する線分を用いて位置姿勢算出し、その算出結果をもとにモデル投影を実施し、投影された各線分の分割点の近傍でエッジ検出を行なう。このとき、投影する各線分はモデルデータ内の全ての線分である。エッジが検出されるべき回数と、実際に検出された回数を蓄積データとして保存しておき、Nmaxフレーム分蓄積されたら、線分を位置姿勢算出に利用するか否かの判定を行なう。そして、判定終了後、蓄積データをクリアして、再度、Nmaxフレーム分のデータを蓄積し、線分を位置姿勢算出に利用するか否かの判定を繰り返す。これにより、照明条件や撮像装置の位置及び姿勢が大幅に変わる場合であっても、それぞれに適した線分を利用することができる。なお、エッジ検出の計算負荷は大きいため、蓄積データを1フレームごとに蓄積する必要はなく、数フレームおきに蓄積してもよい。
(変形実施形態6)
上述した説明では、画像上に投影された線分を等分割し、分割点を通り且つ投影線分に垂直な探索ライン上において、対応するエッジを検出する場合を例に挙げて説明した。しかし、エッジの検出方法は、これに限られず、画像上に投影された線分を基準にして対応するエッジを検出する方法であればよい。
例えば、エッジ周辺の画像情報を利用して対応するエッジを検出するようにしてもよい。また、非特許文献8に開示されているように、上述の方法により探索ライン上で複数のエッジを検出した後、エッジ周辺の画像情報を利用して対応エッジを決定するようにしてもよい。また、投影された線分を分割することなく、線分の法線方向に1次元探索するようにしてもよい。以上が、変形実施形態についての説明である。
なお、本発明は、例えば、システム、装置、方法、プログラム若しくは記録媒体等としての実施態様を採ることもできる。具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
また、本発明は、ソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置に内蔵されたコンピュータが該供給されたプログラムコードを読み出して実行することにより実施形態の機能が達成される場合をも含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したコンピュータプログラムである。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OS(Operating System)に供給するスクリプトデータ等の形態であってもよい。
コンピュータプログラムを供給するためのコンピュータ読み取り可能な記録媒体としては以下が挙げられる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などである。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムをハードディスク等の記録媒体にダウンロードすることが挙げられる。この場合、ダウンロードされるプログラムは、圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記録媒体に格納してユーザに配布するという形態をとることもできる。この場合、所定の条件をクリアしたユーザに、インターネットを介してホームページから暗号を解く鍵情報をダウンロードさせ、その鍵情報を使用して暗号化されたプログラムを実行し、プログラムをコンピュータにインストールさせるようにもできる。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどとの協働で実施形態の機能が実現されてもよい。この場合、OSなどが、実際の処理の一部又は全部を行ない、その処理によって前述した実施形態の機能が実現される。
更に、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれて前述の実施形態の機能の一部或いは全てが実現されてもよい。この場合、機能拡張ボードや機能拡張ユニットにプログラムが書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU(Central Processing Unit)などが実際の処理の一部又は全部を行なう。
本発明の一実施の形態に係わる情報処理装置が組み込まれたビデオシースルー型のHMDの概要の一例を示す図である。 図1に示す情報処理装置1の構成の一例を示す図である。 実施形態1に係わる3次元モデルの定義方法の一例について説明する。 図1に示す情報処理装置1における処理の流れの一例を示すフローチャートである。 図4のステップS1030におけるエッジ検出処理の流れの一例を示すフローチャートである。 画像上へ3次元モデルを投影した一例を示す図である。 3次元モデルの画像上での分割点の一例を示す図である。 実施形態1に係わるエッジ検出方法の概要の一例を示す図である。 エッジの情報を利用して撮像装置100の位置及び姿勢を算出する処理の概要の一例を示す図である。 図4のステップS1090におけるモデルデータ検証処理の流れの一例を示すフローチャートである。 実施形態2に係わる情報処理装置1における処理の流れの一例を示すフローチャートである。 図11のステップS2090におけるモデルデータ検証処理の流れの一例を示すフローチャートである。 実施形態3に係わる情報処理装置1の構成の一例を示す図である。 実施形態3に係わる情報処理装置3における処理の流れの一例を示すフローチャートである。
符号の説明
1、3 情報処理装置
10 観察対象物体
20 仮想物体
30 ビデオシースルー型HMD
100、101 撮像装置
110、310 画像取得部
120 画像特徴検出部
130、340 モデルデータ記憶部
140 位置姿勢算出部
150、350 モデルデータ検証部
320 画像記憶部
330 モデルデータ算出部

Claims (9)

  1. 撮像装置により撮像される物体に対する該撮像装置の位置及び姿勢の情報を算出する情報処理装置であって、
    前記物体を構成する複数の線分を含む3次元情報を保持する保持手段と、
    前記撮像装置により撮像された前記物体の画像を取得する取得手段と、
    前記取得手段により取得された画像から線分を表す画像特徴を検出する検出手段と、
    前記検出手段により検出された線分と、前記保持手段により保持された線分との対応に基づいて位置姿勢算出処理を実施し前記撮像装置の位置及び姿勢の情報を算出する算出手段と、
    前記検出手段による画像特徴の検出結果と、前記算出手段による位置及び姿勢の算出過程で得られる情報との少なくともいずれかに基づいて、前記保持手段が保持する線分各々についてそれ以降の前記位置姿勢算出処理に利用するか否かを判定する判定手段と
    を具備することを特徴とする情報処理装置。
  2. 前記検出手段は、
    前記取得手段により取得された複数の画像から前記線分を表す画像特徴を検出し、
    前記判定手段は、
    前記検出手段により複数の画像から検出された画像特徴の検出結果と、前記算出手段による位置及び姿勢の算出過程で得られる情報との少なくともいずれかに基づいて前記判定を行なう
    ことを特徴とする請求項1記載の情報処理装置。
  3. 前記検出手段は、
    前記保持手段により保持された線分各々に対応する線分を表す画像特徴を前記画像から検出し、
    前記判定手段は、
    前記検出手段による前記線分各々についての前記画像からの線分の検出率に基づいて前記判定を行なう
    ことを特徴とする請求項2記載の情報処理装置。
  4. 前記検出手段は、
    前記保持手段により保持された線分各々に所定の間隔で分割点を設け、該分割点に対応する対応点を探索することにより前記対応する線分を表す画像特徴を前記画像から検出し、
    前記判定手段は、
    前記検出手段による前記線分各々についての前記対応点の検出率に基づいて前記判定を行なう
    ことを特徴とする請求項1又は2記載の情報処理装置。
  5. 前記判定手段は、
    前記検出率が所定の閾値よりも小さい場合に、前記保持手段により保持された該当する線分をそれ以降の前記位置姿勢算出処理に利用しないと判定する
    ことを特徴とする請求項3又は4記載の情報処理装置。
  6. 前記判定手段は、
    前記算出手段による前記検出手段により検出された前記線分を表す画像特徴と、前記保持手段により保持された線分との対応により生じる位置のずれを示す誤差の大きさに基づいて前記判定を行なう
    ことを特徴とする請求項1記載の情報処理装置。
  7. 前記判定手段による判定の結果をユーザに提示する提示手段と、
    前記提示手段により提示された判定結果をもとにユーザが承認するか否かを入力する入力手段と
    を更に具備することを特徴とする請求項1記載の情報処理装置。
  8. 撮像装置により撮像される物体に対する該撮像装置の位置及び姿勢の情報を算出する情報処理装置の処理方法であって、
    前記撮像装置により撮像された前記物体の画像を取得する取得工程と、
    前記取得工程で取得された画像から線分を表す画像特徴を検出する検出工程と、
    前記検出工程で検出された線分と、保持手段により保持された前記物体を構成する3次元情報の複数の線分との対応に基づいて位置姿勢算出処理を実施し前記撮像装置の位置及び姿勢の情報を算出する算出工程と、
    前記検出工程での画像特徴の検出結果と、前記算出工程での位置及び姿勢の算出過程で得られる情報との少なくともいずれかに基づいて、前記保持手段が保持する線分各々についてそれ以降の前記位置姿勢算出処理に利用するか否かを判定する判定工程と
    を含むことを特徴とする情報処理装置の処理方法。
  9. 撮像装置により撮像される物体に対する該撮像装置の位置及び姿勢の情報を算出する情報処理装置に内蔵されたコンピュータを、
    前記物体を構成する複数の線分を含む3次元情報を保持する保持手段、
    前記撮像装置により撮像された前記物体の画像を取得する取得手段、
    前記取得手段により取得された画像から線分を表す画像特徴を検出する検出手段、
    前記検出手段により検出された線分と、前記保持手段により保持された線分との対応に基づいて位置姿勢算出処理を実施し前記撮像装置の位置及び姿勢の情報を算出する算出手段、
    前記検出手段による画像特徴の検出結果と、前記算出手段による位置及び姿勢の算出過程で得られる情報との少なくともいずれかに基づいて、前記保持手段が保持する線分各々についてそれ以降の前記位置姿勢算出処理に利用するか否かを判定する判定手段
    として機能させるためのプログラム。
JP2008308996A 2008-12-03 2008-12-03 情報処理装置、その処理方法及びプログラム Pending JP2010134649A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008308996A JP2010134649A (ja) 2008-12-03 2008-12-03 情報処理装置、その処理方法及びプログラム
US12/627,279 US8483424B2 (en) 2008-12-03 2009-11-30 Information processing apparatus, processing method thereof, and computer-readable storage medium
US13/873,534 US8995710B2 (en) 2008-12-03 2013-04-30 Information processing apparatus, processing method thereof, and computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008308996A JP2010134649A (ja) 2008-12-03 2008-12-03 情報処理装置、その処理方法及びプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2013218672A Division JP5693691B2 (ja) 2013-10-21 2013-10-21 情報処理装置、その処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2010134649A true JP2010134649A (ja) 2010-06-17
JP2010134649A5 JP2010134649A5 (ja) 2012-01-26

Family

ID=42231131

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008308996A Pending JP2010134649A (ja) 2008-12-03 2008-12-03 情報処理装置、その処理方法及びプログラム

Country Status (2)

Country Link
US (2) US8483424B2 (ja)
JP (1) JP2010134649A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012023593A1 (en) * 2010-08-20 2012-02-23 Canon Kabushiki Kaisha Position and orientation measurement apparatus, position and orientation measurement method, and storage medium
JP2013024773A (ja) * 2011-07-22 2013-02-04 Canon Inc 3次元計測方法
JP2016504611A (ja) * 2012-11-02 2016-02-12 クアルコム,インコーポレイテッド 地図作成と自己位置推定とのための複数のセンサの使用
US9269002B2 (en) 2011-04-08 2016-02-23 Sony Corporation Image processing apparatus, display control method and program
JP2017108401A (ja) * 2010-11-04 2017-06-15 ディジマーク コーポレイション スマートフォンベースの方法及びシステム
JP2017518699A (ja) * 2014-05-21 2017-07-06 アルカテル−ルーセント 促進的画像処理
JP2019070898A (ja) * 2017-10-06 2019-05-09 富士通株式会社 推定プログラム、推定装置、及び推定方法
JP2019159470A (ja) * 2018-03-08 2019-09-19 富士通株式会社 推定装置、推定方法、及び推定プログラム

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4574473B2 (ja) 2005-07-11 2010-11-04 キヤノン株式会社 情報処理装置および方法
JP5388932B2 (ja) * 2009-04-30 2014-01-15 キヤノン株式会社 情報処理装置およびその制御方法
JP5290864B2 (ja) * 2009-05-18 2013-09-18 キヤノン株式会社 位置姿勢推定装置及び方法
JP5567908B2 (ja) * 2009-06-24 2014-08-06 キヤノン株式会社 3次元計測装置、その計測方法及びプログラム
JP5393318B2 (ja) * 2009-07-28 2014-01-22 キヤノン株式会社 位置姿勢計測方法及び装置
JP5297403B2 (ja) 2010-02-26 2013-09-25 キヤノン株式会社 位置姿勢計測装置、位置姿勢計測方法、プログラムおよび記憶媒体
JP5746477B2 (ja) 2010-02-26 2015-07-08 キヤノン株式会社 モデル生成装置、3次元計測装置、それらの制御方法及びプログラム
JP5612916B2 (ja) 2010-06-18 2014-10-22 キヤノン株式会社 位置姿勢計測装置、その処理方法、プログラム、ロボットシステム
US20130094742A1 (en) * 2010-07-14 2013-04-18 Thomas Feilkas Method and system for determining an imaging direction and calibration of an imaging apparatus
JP5624394B2 (ja) 2010-07-16 2014-11-12 キヤノン株式会社 位置姿勢計測装置、その計測処理方法及びプログラム
KR101397712B1 (ko) * 2010-07-27 2014-06-27 주식회사 팬택 증강 현실 객체 인식 가이드 제공 장치 및 방법
JP5496008B2 (ja) 2010-08-06 2014-05-21 キヤノン株式会社 位置姿勢計測装置、位置姿勢計測方法、およびプログラム
JP5839929B2 (ja) * 2010-11-19 2016-01-06 キヤノン株式会社 情報処理装置、情報処理システム、情報処理方法及びプログラム
JP6004809B2 (ja) 2012-03-13 2016-10-12 キヤノン株式会社 位置姿勢推定装置、情報処理装置、情報処理方法
CN103587479A (zh) * 2012-08-14 2014-02-19 辉达公司 一种用于倒车的裸眼三维视频系统和包括该系统的车辆
US9025823B2 (en) * 2013-03-12 2015-05-05 Qualcomm Incorporated Tracking texture rich objects using rank order filtering
US20140270362A1 (en) * 2013-03-15 2014-09-18 Qualcomm Incorporated Fast edge-based object relocalization and detection using contextual filtering
JP5796726B2 (ja) * 2013-03-29 2015-10-21 コニカミノルタ株式会社 ジョブ情報表示装置
US9098934B2 (en) * 2013-06-27 2015-08-04 Hcl Technologies Limited Augmented reality system with correlation among multiple markers
US9729864B2 (en) * 2013-09-30 2017-08-08 Sony Interactive Entertainment Inc. Camera based safety mechanisms for users of head mounted displays
US9630105B2 (en) 2013-09-30 2017-04-25 Sony Interactive Entertainment Inc. Camera based safety mechanisms for users of head mounted displays
JP6253368B2 (ja) 2013-11-25 2017-12-27 キヤノン株式会社 三次元形状計測装置およびその制御方法
DE102014105011B4 (de) * 2014-04-08 2020-02-20 Clipland Gmbh System zur Visualisierung des Sichtfeldes einer optischen Vorrichtung
CN104683614B (zh) * 2015-03-24 2016-03-02 西南交通大学 基于m估计的记忆成比例仿射投影自适应回声消除方法
US10685490B2 (en) * 2016-03-10 2020-06-16 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium
KR102649197B1 (ko) * 2016-07-29 2024-03-20 삼성전자주식회사 그래픽 객체를 표시하기 위한 전자 장치 및 컴퓨터 판독 가능한 기록 매체
US11080892B2 (en) * 2019-10-07 2021-08-03 The Boeing Company Computer-implemented methods and system for localizing an object
JP7262655B2 (ja) * 2020-02-13 2023-04-21 三菱電機株式会社 寸法作成装置、寸法作成方法及びプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10162147A (ja) * 1996-07-09 1998-06-19 General Electric Co <Ge> 被検体内のカメラ開口の位置と向きを決定する装置
JP2002008012A (ja) * 2000-06-26 2002-01-11 National Institute Of Advanced Industrial & Technology 対象物体の位置・姿勢算出方法及び観測カメラの位置・姿勢算出方法
JP2005069757A (ja) * 2003-08-21 2005-03-17 National Institute Of Advanced Industrial & Technology 中心窩広視野画像を利用したカメラ位置姿勢推定方法及びシステム
JP2008286756A (ja) * 2007-05-21 2008-11-27 Canon Inc 位置姿勢計測装置及びその制御方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030012410A1 (en) * 2001-07-10 2003-01-16 Nassir Navab Tracking and pose estimation for augmented reality using real features
JP3796449B2 (ja) * 2002-01-31 2006-07-12 キヤノン株式会社 位置姿勢決定方法および装置並びにコンピュータプログラム
EP1349114A3 (en) * 2002-03-19 2011-06-15 Canon Kabushiki Kaisha Sensor calibration apparatus, sensor calibration method, program, storage medium, information processing method, and information processing apparatus
JP4136859B2 (ja) * 2003-01-10 2008-08-20 キヤノン株式会社 位置姿勢計測方法
US7676079B2 (en) * 2003-09-30 2010-03-09 Canon Kabushiki Kaisha Index identification method and apparatus
JP4537104B2 (ja) * 2004-03-31 2010-09-01 キヤノン株式会社 マーカ検出方法、マーカ検出装置、位置姿勢推定方法、及び複合現実空間提示方法
JP4914019B2 (ja) * 2005-04-06 2012-04-11 キヤノン株式会社 位置姿勢計測方法及び装置
JP4914039B2 (ja) * 2005-07-27 2012-04-11 キヤノン株式会社 情報処理方法および装置
JP5063023B2 (ja) * 2006-03-31 2012-10-31 キヤノン株式会社 位置姿勢補正装置、位置姿勢補正方法
JP4789745B2 (ja) * 2006-08-11 2011-10-12 キヤノン株式会社 画像処理装置および方法
JP5111210B2 (ja) * 2008-04-09 2013-01-09 キヤノン株式会社 画像処理装置、画像処理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10162147A (ja) * 1996-07-09 1998-06-19 General Electric Co <Ge> 被検体内のカメラ開口の位置と向きを決定する装置
JP2002008012A (ja) * 2000-06-26 2002-01-11 National Institute Of Advanced Industrial & Technology 対象物体の位置・姿勢算出方法及び観測カメラの位置・姿勢算出方法
JP2005069757A (ja) * 2003-08-21 2005-03-17 National Institute Of Advanced Industrial & Technology 中心窩広視野画像を利用したカメラ位置姿勢推定方法及びシステム
JP2008286756A (ja) * 2007-05-21 2008-11-27 Canon Inc 位置姿勢計測装置及びその制御方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9208395B2 (en) 2010-08-20 2015-12-08 Canon Kabushiki Kaisha Position and orientation measurement apparatus, position and orientation measurement method, and storage medium
JP2012042396A (ja) * 2010-08-20 2012-03-01 Canon Inc 位置姿勢計測装置、位置姿勢計測方法、およびプログラム
WO2012023593A1 (en) * 2010-08-20 2012-02-23 Canon Kabushiki Kaisha Position and orientation measurement apparatus, position and orientation measurement method, and storage medium
JP2017108401A (ja) * 2010-11-04 2017-06-15 ディジマーク コーポレイション スマートフォンベースの方法及びシステム
US9269002B2 (en) 2011-04-08 2016-02-23 Sony Corporation Image processing apparatus, display control method and program
US10395429B2 (en) 2011-04-08 2019-08-27 Sony Corporation Image processing apparatus and display control method
US10930083B2 (en) 2011-04-08 2021-02-23 Sony Corporation Image processing apparatus and display control method
JP2013024773A (ja) * 2011-07-22 2013-02-04 Canon Inc 3次元計測方法
JP2016504611A (ja) * 2012-11-02 2016-02-12 クアルコム,インコーポレイテッド 地図作成と自己位置推定とのための複数のセンサの使用
US9953618B2 (en) 2012-11-02 2018-04-24 Qualcomm Incorporated Using a plurality of sensors for mapping and localization
JP2017518699A (ja) * 2014-05-21 2017-07-06 アルカテル−ルーセント 促進的画像処理
JP2019070898A (ja) * 2017-10-06 2019-05-09 富士通株式会社 推定プログラム、推定装置、及び推定方法
JP2019159470A (ja) * 2018-03-08 2019-09-19 富士通株式会社 推定装置、推定方法、及び推定プログラム

Also Published As

Publication number Publication date
US8995710B2 (en) 2015-03-31
US8483424B2 (en) 2013-07-09
US20100142826A1 (en) 2010-06-10
US20130236062A1 (en) 2013-09-12

Similar Documents

Publication Publication Date Title
JP2010134649A (ja) 情報処理装置、その処理方法及びプログラム
JP5111210B2 (ja) 画像処理装置、画像処理方法
JP4898464B2 (ja) 情報処理装置および方法
JP6464934B2 (ja) カメラ姿勢推定装置、カメラ姿勢推定方法およびカメラ姿勢推定プログラム
JP4976756B2 (ja) 情報処理方法および装置
JP5058686B2 (ja) 情報処理方法及び情報処理装置
JP5388932B2 (ja) 情報処理装置およびその制御方法
JP4789745B2 (ja) 画像処理装置および方法
US7671875B2 (en) Information processing method and apparatus
JP4926817B2 (ja) 指標配置情報計測装置および方法
JP5693691B2 (ja) 情報処理装置、その処理方法及びプログラム
US7911503B2 (en) Information processing apparatus and information processing method
JP5196825B2 (ja) 画像処理装置、画像処理方法
WO2006082825A1 (ja) 指標配置計測方法、位置姿勢推定方法、指標配置計測装置、位置姿勢推定装置
JP2008134161A (ja) 位置姿勢計測方法、位置姿勢計測装置
JP6762913B2 (ja) 情報処理装置、情報処理方法
JP2017129567A (ja) 情報処理装置、情報処理方法、プログラム
JP2017187861A (ja) 情報処理装置およびその制御方法
KR102546346B1 (ko) 전방위 카메라의 캘리브레이션을 위한 장치 및 방법
JP5726024B2 (ja) 情報処理方法および装置
JP6109213B2 (ja) 情報処理装置および方法、プログラム
JP2006064585A (ja) 画像処理方法、画像処理装置
JP7029501B2 (ja) 情報処理装置、情報処理方法
WO2017125983A1 (en) Information processing apparatus, information processing method, and program for estimating position and orientation of a camera
Gava et al. A Unifying Structure from Motion Framework for Central Projection Cameras

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111205

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121011

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121109

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130722