JP5111210B2 - 画像処理装置、画像処理方法 - Google Patents

画像処理装置、画像処理方法 Download PDF

Info

Publication number
JP5111210B2
JP5111210B2 JP2008101814A JP2008101814A JP5111210B2 JP 5111210 B2 JP5111210 B2 JP 5111210B2 JP 2008101814 A JP2008101814 A JP 2008101814A JP 2008101814 A JP2008101814 A JP 2008101814A JP 5111210 B2 JP5111210 B2 JP 5111210B2
Authority
JP
Japan
Prior art keywords
group
orientation information
image
orientation
line segment
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.)
Active
Application number
JP2008101814A
Other languages
English (en)
Other versions
JP2009252112A (ja
Inventor
大輔 小竹
晋二 内山
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 JP2008101814A priority Critical patent/JP5111210B2/ja
Priority to US12/418,082 priority patent/US8223146B2/en
Publication of JP2009252112A publication Critical patent/JP2009252112A/ja
Application granted granted Critical
Publication of JP5111210B2 publication Critical patent/JP5111210B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/12Edge-based segmentation
    • 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
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0138Head-up displays characterised by optical features comprising image capture systems, e.g. camera
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0179Display position adjusting means not related to the information to be displayed
    • G02B2027/0187Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Optics & Photonics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)

Description

本発明は、画像を用いて、係る画像の視点の位置姿勢情報を求めるための技術に関するものである。
近年、複合現実感(Mixed Reality)技術(以下、MR技術)と呼ばれる情報提示技術の研究が盛んである。MR技術の中でも、現実空間に仮想空間の情報を重ね合わせて表示する拡張現実感(Augmented Reality)技術(以下、AR技術)の研究が特に盛んである。AR技術に基づく情報提示装置としては、ビデオシースルー型のヘッドマウントディスプレイ(Head Mounted Display、以下HMD)が代表的である。ビデオシースルー型のHMDには、現実空間を撮影するカメラが内蔵されている。このカメラによって撮影された現実空間の画像上に、カメラの位置及び姿勢に応じてコンピュータグラフィクス(以下、CG)によって生成された仮想物体を重畳描画し、液晶パネルなどのHMDの表示デバイス上に表示する。AR技術によって、利用者は、あたかも仮想物体が現実空間中に実在するかのように感じることができる。
AR技術を実現する上で解決しなければならない大きな問題の一つとして、位置合わせの問題がある。仮想物体が現実空間に実在するように利用者が感じるためには、仮想物体と現実空間との間の幾何学的な整合性が取れている必要がある。即ち、仮想物体は現実空間中に存在するべき位置に存在しているように常に利用者から観察されなければならない。
ビデオシースルー型HMDを利用するARでは、HMDに内蔵されているカメラから画像が入力される毎に、画像撮影時のカメラの現実空間における位置及び姿勢を計測する。そしてこのカメラの位置及び姿勢と、焦点距離などのカメラの固有パラメータと、に基づいてCGを描画し、係るCGを現実空間の画像上に重畳するという処理が一般的に行われる。そのため、ビデオシースルー型HMDを利用するARの場合、位置合わせの問題は、HMDに内蔵したカメラの現実空間における位置及び姿勢を計測する問題となる。カメラの位置及び姿勢の計測は、例えば磁気センサや超音波センサ、光学式センサなどの6自由度のカメラの位置及び姿勢を計測する物理センサによって行うことが可能である。
ところで、ビデオシースルー型HMDを利用する場合には、ビデオシースルー型HMDに内蔵されているカメラからの画像情報を位置合わせのために利用することが可能である。画像情報を利用する位置合わせ方法は、物理センサを利用する方法に比べて手軽且つ低コストであるため、広く利用されている。画像情報を利用する位置合わせ手法では、現実空間中における3次元位置が既知の指標をカメラで撮影し、指標の撮影画像上での位置と3次元位置との対応をもとにカメラの位置及び姿勢を算出することが一般的に行われている。指標としては、現実空間中に人為的に配置したマーカを用いる場合と、現実空間中に元来存在するコーナー点やエッジなどの自然特徴を利用する場合とがある。実用上は、画像からの検出や識別がしやすい人工的なマーカが、計算負荷が小さく実時間処理に向いていることから、広く利用されている。
非特許文献1には、固有の2次元パターンを内部に有する正方形形状のマーカ(正方形マーカ)を指標として用いた位置合わせ方法が開示されている。この方法では、画像中から正方形マーカの領域を抽出し、内部の2次元パターンを用いて正方形マーカの識別を行う。さらに、カメラによって撮影された画像上における正方形マーカの各頂点の位置と、正方形マーカの各頂点のマーカ座標系における位置との対応をもとに、カメラの位置及び姿勢を算出している。
このような正方形マーカなどの人工的なマーカは手軽に利用できるため広く利用されているが、実際にはマーカを配置するのが物理的に不可能な場合や、美観を損ねるなどの理由のためにマーカを配置したくない場合には利用することができない。
近年の計算機能力の向上に伴い、自然特徴を利用した位置合わせ手法の研究が盛んに行われている。位置合わせに用いられる自然特徴として、コーナー点などの点特徴と、エッジなどの線特徴が主に用いられる。
非特許文献3には、Harris検出器により画像から点特徴を検出し、現実空間中で同一平面上に存在する点特徴を画像間で追跡することにより、カメラの位置及び姿勢を逐次的に推定する方法が開示されている。また、非特許文献2には、SIFT(Scale Invariant Feature Transform)と呼ばれる回転不変、スケール不変で識別性の高い点特徴を利用している。即ち、予め現実空間中のSIFT特徴の3次元位置のデータベースを作成しておき、カメラで撮影した画像から検出されるSIFT特徴とデータベース上のSIFT特徴とのマッチングをとることで点特徴を識別し、カメラの位置姿勢を算出する。
一般に点特徴は、特徴位置とその周辺画素の情報によって表現されるため、識別性が高いという利点がある。しかしながら、点特徴は、観察方向によって見えが大きく変わるため、検出精度が低く位置合わせの精度が悪い。また、特徴検出のための画像処理(例えば、テンプレートマッチングやSIFT特徴の検出)の計算負荷が大きいので、実時間処理のためには工夫が必要といった問題もある。
ここで、自然特徴を使った実時間処理可能な位置合わせ手法として、エッジを利用した位置合わせ(以下、エッジベース位置合わせ)の研究が多数行われている(例えば、非特許文献4、5、6を参照)。点特徴と違って、エッジはスケールや観察方向に対して不変であるため、エッジベース位置合わせは位置合わせ精度が高いという特徴がある。非特許文献4、5、6に示すエッジベース位置合わせ手法は、現実空間や現実物体の3次元モデルデータを持つことを前提としている。3次元モデルデータは線分の集合により記述される。エッジを利用した位置合わせでは、一般に次の(処理1)〜(処理3)によってなされる。
(処理1) カメラの位置及び姿勢の予測値(例えば、前フレームでのカメラの位置及び姿勢)、及び予め校正済みのカメラの固有パラメータに基づいて、前述の3次元モデルデータ(線分モデル)を画像上に投影する。
(処理2) 投影された各線分毎に、画像上で一定間隔となるよう線分を分割する。そして、各分割点毎に、線分の法線方向にエッジ探索を行う。通常は、探索ライン上における輝度値の勾配が極大となる点がエッジとして検出される。
(処理3) 各分割点毎に検出されたエッジと、投影される線分との間の画像上での距離の総和が最小となるように、非線形最適化計算により繰り返しカメラの位置及び姿勢を補正する。
点特徴と違って、エッジは画像上での識別性が低い。エッジ探索時には、探索ライン上における輝度値の勾配が極大であるという情報しか利用しないため、しばしば誤ったエッジが検出される。非特許文献4、5では、誤検出されたエッジが最適化計算に悪影響を及ぼさないように、M推定と呼ばれる手法を用い、誤検出と思われるエッジのデータの重みを小さくして最適化計算を行っている。
また、非特許文献5では、投影された線分の法線方向にエッジ探索を行う際に、投影された線分と同じ方向を持つエッジが強く検出されるようなカーネルを使って画素値を畳み込むことで、方向の違うエッジが検出されることを防止している。さらに、畳み込み演算の演算結果も最適化計算における重みとして利用し、投影線分と方向が類似しているエッジのデータに大きな重みを与え、誤検出エッジの影響が小さくなるようにしている。
さらに、非特許文献6では、投影された線分の法線方向にエッジ探索を行う際に、一つのエッジを検出するのではなく、複数のエッジを検出して候補として保持する。最適化計算を行う際には、繰り返しの各ステップにおいて最も投影線分に近い候補エッジを利用することにより、誤検出の影響を軽減している。
加藤, M. Billinghurst, 浅野, 橘, "マーカー追跡に基づく拡張現実感システムとそのキャリブレーション", 日本バーチャルリアリティ学会論文誌, vol.4, no.4, pp.607-617, 1999. G. Simon, A. W. Fitzgibbon, and A. Zisserman, "Markerless tracking using planar structures in the scene," Proc. The 1st IEEE/ACM International Symposium on Augmented Reality (ISAR2000), pp.120-128, 2000. I. Skrypnyk and D. G. Lowe, "Scene modelling, recognition and tracking with invariant image features," Proc. The 3rd IEEE/ACM International Symposium on Mixed and Augmented Reality (ISMAR04), pp.110-119, 2004. 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. 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. K. Satoh, S. Uchiyama, H. Yamamoto, and H. Tamura, "Robust vision-based registration utilizing bird’s-eye view with user’s view," Proc. The Second Int’l Symp. on Mixed and Augmented Reality (ISMAR03), pp.46-55, 2003. M. Isard and A. Blake, "CONDENSATION - conditional density propagation for visual tracking," International Journal of Computer Vision, vol.29, no.1, pp.5-28, 1998. M. Pupilli and A. Calway, "Real-time camera tracking using a particle filter," Proc. The 16th British Machine Vision Conference 2005 (BMVC2005), pp.519-528, 2005.
従来のエッジベース位置合わせ手法では、エッジの誤検出の問題に対処する為に、M推定を利用し、線分分割点毎のデータに画像上でのエッジの検出位置と投影された線分との距離に応じた重みを与えて非線形最適化を行うことで、誤検出の影響を排除していた。
しかしながら、例えば現実空間中に繰り返しパターンを持つ物体(棚、窓など)が存在し、この物体の3次元モデルをエッジベース位置合わせに用いる場合で、繰り返しパターン部分が視野に占める割合が大きい場合には、上記方法は問題となる。なぜならば、そのような場合には、繰り返しパターンに合致する線分が多数を占めるため、繰り返しパターンに対応するエッジが誤検出されていても誤検出とは見なされない。そのため、前述のM推定を用いたとしても、得られるカメラの位置及び姿勢が局所最小解ではあるが最適解とはならないため、位置合わせの精度が低下してしまうという問題があった.
本発明は以上の問題に鑑みてなされたものであり、繰り返しパターンや類似した線分を有する物体に対する位置合わせの精度を向上させる為の技術を提供することを目的とする。
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。
即ち、複数の線分で表現可能な外観を有する現実物体、が配されている現実空間の画像を取得する手段と、
前記現実物体の外観を模した3次元仮想物体を構成する線分群を、当該仮想物体の形状を構成する線分群を最も低いレベルとして、それぞれにレベルが設定された複数のグループに分割し、グループ内に属するそれぞれの線分を仮想空間内で規定する為の規定データを、グループ毎に管理する管理手段と、
前記複数のグループから1つのグループを、最も低いレベルが設定されているグループから順に、最も高いレベルが設定されているグループまで、1つずつ選択する選択手段と、
前記選択手段が1つのグループを選択する毎に、当該選択されたグループに属する線分を規定するための規定データと、前記現実空間の画像と、を用いて、前記画像の視点の概略の位置姿勢を示す位置姿勢情報を更新する更新手段と、
前記更新手段により複数回更新された後の前記位置姿勢情報を、最終的な前記視点の位置姿勢を示す位置姿勢情報として出力する出力手段と
を備えることを特徴とする。
本発明の構成によれば、繰り返しパターンや類似した線分を有する物体に対する位置合わせの精度を向上させることができる。
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の1つである。
[第1の実施形態]
本実施形態では、現実空間の画像の視点の位置姿勢情報を、非線形最適化手法を用いて求めるためのシステムについて説明する。
図1は、本実施形態に係るシステムの機能構成例を示すブロック図である。図1に示す如く、本実施形態に係るシステムは、撮像装置100と、位置姿勢計測装置(画像処理装置)1とで構成されている。また、図1に示す如く、位置姿勢計測装置1は、画像入力部110、モデルデータ記憶部120、位置姿勢算出部130、を有しており、上記撮像装置100は、画像入力部110に接続されている。
本実施形態では、撮像装置100が撮像する画像の視点の位置姿勢情報を求める(ARの位置合わせ)ことを目的とする。
図2は、ユーザが本実施形態に係るシステムを使用している様子を示す図である。図2では、以下に説明する、「ARの位置合わせ」に適用した場合を示している。
ユーザは、自身の頭部にビデオシースルー型のHMD30を装着している。係るHMD30には、ユーザの右眼、左眼のそれぞれに対して提供する現実空間の画像を撮像するための、撮像装置100b、100aがそれぞれ備わっている。本実施形態では、図1に示す撮像装置100は、図2における撮像装置100aであるものとして説明する。
また、現実空間中には、複数の線分で表現可能な外観を有する現実物体(観察対象物体)10が配されており、撮像装置100は、係る現実物体10を含む現実空間の画像を撮像する。
撮像装置100が撮像した画像は、位置姿勢計測装置1内の画像入力部110に転送され、画像入力部110は、この転送された画像を後段の位置姿勢算出部130に送出する。モデルデータ記憶部120には、詳しくは後述するが、仮想物体に係る様々なデータが登録されている。従って、位置姿勢算出部130は、モデルデータ記憶部120に登録されているデータと、画像入力部110から受けた画像とを用いて、係る画像の視点の位置姿勢情報、即ち、撮像装置100の位置姿勢情報を求める。ここで、係る位置姿勢情報は、現実物体10に対する撮像装置100の位置姿勢を示している。
そして位置姿勢計測装置1は、不図示の生成部によって、仮想物体20を仮想空間中に配置し、配置した仮想物体20を、位置姿勢算出部130が求めた位置姿勢情報が示す位置姿勢を有する視点から見た場合の画像を生成する。そして、位置姿勢計測装置1の不図示の出力部は、生成した仮想物体の画像を、撮像装置100(図2では100a、100b)が撮像した現実空間の画像上に合成した合成画像を生成し、生成した合成画像をHMD30が有する表示装置に送出する。
なお、撮像装置100によって撮像された画像だけでなく、撮像装置100bによって撮像された画像も利用して位置姿勢計測を行っても良いが、本実施形態では撮像装置100によって撮像された画像のみを用いるものとする。
以下、図1に示した、位置姿勢計測装置1を構成する各部についてより詳細に説明する。
画像入力部110は、撮像装置100によって撮像された画像を撮像装置100から受け、これを後段の位置姿勢算出部130に転送する。画像入力部110は、撮像装置100の出力がNTSCなどのアナログ出力であればビデオキャプチャボードによって実現される。また、撮像装置100の出力がIEEE1394などのデジタル出力であれば、例えばIEEE1394インタフェースボードによって実現される。なお、本実施形態では、画像入力部110は、撮像装置100によって撮像された現実空間の画像を取得しているが、現実空間の画像の取得形態はこれに限定するものではない。例えば、予め記憶装置に記憶されている現実空間の画像を画像入力部110が取得するようにしても良い。
モデルデータ記憶部120は、様々な仮想物体(3次元仮想物体)に係るデータを保持している。係るデータには、現実物体10の外観を模した仮想物体に係るデータも含まれている。
図3は、現実物体10の外観を模した仮想物体に係るデータ(モデルデータ)の構成例を説明する図である。仮想物体は、頂点の情報、各頂点を結んで構成される面の情報、面を構成する線分(頂点間を結ぶ線分)の情報、によって定義される。換言すれば、仮想物体に係るデータは、これらの情報により構成されている。
図3で取り扱う仮想物体は直方体であるとしている。もちろん、周知の通り、以下の説明は、仮想物体が如何なる形状を有していても、実質的には同じである。
図3(a)の左側に示す如く、仮想物体は、頂点P1〜頂点P8の8点から構成される直方体である。また、直方体の座標系のX軸を頂点P1から頂点P4に向かう方向に取り、Y軸を頂点P5から頂点P1に向かう方向に取り、Z軸を頂点P1から頂点P2に向かう方向に取る。また、直方体の座標系における原点を頂点P5に取る。
また、図3(a)の中央、及び右側に示す如く、仮想物体は、面F1〜F6により構成されている。同様に、仮想物体は、線分L1〜L12により構成されている。さらに、仮想物体は、面F1上に線分L13、面F2上に線分L14を有しており、線分L13は頂点P9と頂点P10とで規定されており、線分L14は頂点P10と点P11とで規定されている。
図3(b)は、直方体の仮想物体を構成する各頂点に係るデータが登録されたテーブル(頂点情報)の構成例を示している。図3(b)に示す如く、テーブルには、頂点毎に、インデックス、3次元座標値(X、Y、Z)が登録されている。即ち、頂点P1〜P11のそれぞれのインデックス(P1〜P11)と、3次元座標値(X、Y、Z)が、頂点情報にテーブル形式で登録されている。
図3(c)は、直方体の仮想物体を構成する各面に係るデータが登録されたテーブル(面情報)の構成例を示している。図3(c)に示す如く、テーブルには、面毎に、面を構成する各頂点のインデックスが接続順に登録されている。例えば、面F2は、頂点P1、頂点P4、頂点P8、頂点P5、の順に接続することで形成される。
図3(d)は、直方体の仮想物体を構成する各線分に係るデータが登録されたテーブル(線分情報)の構成例を示している。図3(d)に示す如く、テーブルには、線分毎に、両端を構成する頂点のインデックスと、予め設定された構造規定レベルと、が登録されている。例えば、線分L2は、頂点P2と頂点P3とを結んだ線分であり、係る線分L2の構造規定レベルは「0」である。
ここで、構造規定レベルについて説明する。本実施形態では、構造規定レベルを「構造規定レベル0」、「構造規定レベル」の2段階とし、仮想物体の外形形状を規定する線分の構造規定レベルを0とし、それ以外の線分の構造規定レベルを1としている。線分L1〜L14のうち、線分L1〜L12が仮想物体の外形形状を規定する線分であるため、構造規定レベルが0となっている。また、それ以外の線分の構造規定レベルは1となっている。図2に示した現実物体10の場合には、直方体である現実物体10の各面を構成する線分の構造規定レベルを0とし、繰り返しパターンとして示されている面内の線分の構造規定レベルを1とする。
即ちモデルデータ記憶部120には、仮想物体を構成する線分群を複数のグループに分割した場合に、グループ内に属するそれぞれの線分を仮想空間内で規定する為の規定データ(線分の両端を構成する頂点の3次元座標値)がグループ毎に管理されている。ここでいうところの「グループ」とは、「構造規定レベルが0である線分の属するグループ」、「構造規定レベルが1である線分の属するグループ」である。
このように、モデルデータ記憶部120には、仮想物体毎に、以上説明した頂点情報、面情報、線分情報が登録されている。もちろん、仮想物体毎に登録される情報にはこれ以外のものも考えられ、例えば、テクスチャマップデータ等がある。
図1に戻って位置姿勢算出部130は、画像入力部110から入力される画像と、モデルデータ記憶部120に登録されているモデルデータと、に基づいて、現実物体10を基準とした座標系(基準座標系)における撮像装置100の位置姿勢情報を求める。
次に、位置姿勢計測装置1が、撮像装置100の位置姿勢情報を求めるために行う処理について、同処理のフローチャートを示す図4を用いて以下説明する。
先ず、ステップS1010では、位置姿勢算出部130は、初期化処理を行う。係る初期化処理では、基準座標系における撮像装置100の概略の位置姿勢を示す位置姿勢情報(初期値)の設定を行う。
本実施形態では、撮像装置100の概略の位置姿勢を示す位置姿勢情報を逐次更新していくことで、撮像装置100の位置姿勢情報を求めるので、位置姿勢情報の更新処理の前に、予め撮像装置100の概略の位置姿勢情報を初期値として与える必要がある。そこで、例えば、予め決まった位置姿勢情報を初期値として設定すると共に、撮像装置100をこの設定した位置姿勢情報が示す位置姿勢に配置しても良い。また、非特許文献1に示すように、画像内で検出するだけで認識可能な人工的な指標を配置し、この人工的な指標の各頂点の画像座標と各頂点の基準座標系における3次元位置との対応から、撮像装置の位置姿勢を求め、これを初期値としてもよい。さらに、磁気式や光学式、超音波式などの6自由度位置姿勢センサを撮像装置100に装着し、このセンサから得られる位置姿勢情報を初期値としてもよい。人工的な指標と前述の6自由度位置姿勢センサや3自由度の姿勢センサ、3自由度の位置センサを併用して計測される撮像装置100の位置姿勢情報を初期値としてもよい。
次に、ステップS1020では、画像入力部110は、撮像装置100が撮像した現実空間の画像を取得する。
次に、ステップS1030では、位置姿勢算出部130は、構造規定レベルを示す変数iを0に初期化する。以降の各ステップにおける処理は、特に触れない限りは、位置姿勢算出部130が行うものとする。
次に、ステップS1040では、位置姿勢算出部130は、線分情報(図3(d))を参照し、変数iが示す値以下の構造規定レベルに対応する線分を特定する。そして、特定した線分と、ステップS1020で取得した画像とを用いて、基準座標系における撮像装置100の位置姿勢情報を求める。
ここで、ステップS1040における処理の詳細について、図5のフローチャートを用いて説明する。図5は、ステップS1040における処理の詳細を示すフローチャートである。なお、特に説明がない限り、図5に示した各ステップは、位置姿勢算出部130によって実行されるものである。
先ず、ステップS1110では、位置姿勢算出部130は、モデルデータ記憶部120に格納されている線分情報(図3(d))を参照し、変数iが示す値以下の構造規定レベルに対応する線分(対象線分)を特定する。例えば、変数iの値が0である場合には、構造規定レベルが0以下の線分、即ち、線分L1〜L12を対象線分として特定する。
そして、仮想物体を現実物体10の位置姿勢で仮想空間中に配置した場合における対象線分の両端の頂点を、現在得ている撮像装置100の位置姿勢情報を用いて、周知の投影面(ここでは現実空間の画像)上に投影する。そして、投影後の頂点間を結ぶ直線の方程式を求める。この直線の方程式は、線分の両端の頂点の3次元座標値を投影面上に投影した場合に得られるそれぞれの2次元座標値で特定される投影面上の2点間を結んだ直線の方程式として算出する。
即ち、本実施形態でいうところの「投影」とは、投影した線分を投影面上に描画することではなく、投影後の線分の両端の座標位置を求める等、何らかの処理を行うために仮想的に投影することを意味する。
ここで、本実施形態では、仮想空間と現実空間とは座標系を共有しているものとする。従って、仮想物体を現実物体10の位置姿勢で配置すると、理想的には仮想物体は現実物体10と全く重なっている状態で配置されることになる。
また、「現在得ている撮像装置100の位置姿勢情報」とは、ステップS1110を最初に実行する場合には、初期値としての位置姿勢情報に該当する。また、2回目以降のステップS1110において変数i=0であれば、1フレーム前で算出された位置姿勢情報に該当し、変数i≠0であれば、前回のステップS1040で算出された位置姿勢情報に該当する。
また、投影面に対して投影を行うためには、撮像装置100の位置姿勢情報の他に、撮像装置100の焦点距離や主点位置などのカメラの固有パラメータが既知である必要がある。本実施形態では、このような既知のパラメータは、位置姿勢計測装置1が有する不図示のメモリに予め記録されているものとする。
図6は、現実空間の画像上に投影された線分を説明する図である。図6(a)は、現実空間の画像そのものを示しており、現実物体10が映っている。図6(b)は、現実空間の画像上に、線分(太線で示している)を投影した場合に得られる画像を示す図である。投影時に用いた位置姿勢情報が示す位置姿勢と、実際の撮像装置100の位置姿勢とに差がある場合には、図6(b)に示す如く、現実物体10を構成する各線分と、投影された各線分とには、ずれが生じる。図6(b)において破線で示される線分は、投影された線分のうち、実際には隠れて見えない線分を表している。
次に、ステップS1120では、ステップS1020で取得した現実空間の画像に対してエッジ検出処理を行うか否かを判断する。本実施形態では、非線形最適化手法を用いて、撮像装置100の位置姿勢情報を、繰り返し計算により最適化する。また、エッジ検出は計算コストが高い処理であるため、ここでは、繰り返し計算の1回目においてのみエッジ検出を行い、2回目以降はエッジ検出を行わないものとする。
ステップS1120において、エッジ検出を行う場合(本ステップにおける判断処理が1回目である場合)には、処理をステップS1130に進める。一方、エッジ検出を行わない場合(本ステップにおける判断処理が2回目以降である場合)には、処理をステップS1140に進める。
ステップS1130では、ステップS1020で取得した現実空間の画像に対してエッジ検出処理を行う。エッジ検出は以下のようにして行う。まず、ステップS1110において算出されたの直線の方程式を利用して、投影された線分を画像上で等間隔に分割するように分割点を設定する。図7は、各線分について画像上での分割点を示す図である。分割点の総数をNとし、各分割点をDPj(j=1,2,...,N)で表す。分割点の総数Nは、画像上での分割点の間隔を変える事で制御できる。また、分割点の総数が一定になるように、画像上での分割点間の間隔を逐次変更してもよい。
ここで、ステップS1130における処理の詳細について、図8のフローチャートを用いて説明する。図8は、ステップS1130における処理の詳細を示すフローチャートである。
先ず、ステップS1210では、変数jを1に初期化する。
次に、ステップS1220では、分割点DPjが隠蔽されているか否かの判定を行う。具体的には、分割点DPjが、仮想物体の他の面に隠蔽されている場合、即ち、図7に示した破線上の分割点である場合、分割点DPjは可視ではない。分割点DPjが可視かどうかの判定は、例えば非特許文献7に示されるように、グラフィクスハードウェアを利用して仮想物体を描画した後、この分割点を描画し、グラフィクスハードウェアにデプスバッファが更新されたかどうかを確認することで行える。分割点DPjが隠蔽されている場合には処理をステップS1240に進める。一方、隠蔽されていない場合には、処理をステップS1230に進める。
ステップS1230では、分割点DPjに対応するエッジの検出を行う。図9は、本実施形態におけるエッジ検出方法を説明する図である。図9に示すように、各分割点において、投影された線分の法線方向に平行でかつ分割点を通過する線分(以下、探索ライン)上においてエッジを1次元探索する。エッジは、探索ライン上において濃度勾配が極値をとる位置に存在する。本実施形態では、探索ライン上でエッジが複数存在する場合には、最も分割点に近いエッジを対応点とし、その画像座標と分割点の3次元座標を保持する。なお、本実施形態では最も分割点に近いエッジを対応点としているが、これに限るものではなく、探索ライン上で濃度勾配の極値の絶対値が最も大きいエッジを対応点としてもよい。また、非特許文献6に示すように、1つではなく複数のエッジを候補として保持しても良い。
次に、ステップS1240では、変数jの値を1つインクリメントする。
次に、ステップS1250では、j>nか否か、即ち、全ての分割点DPjについて処理が終了しているか否かを判断する。係る判断の結果、j>N、即ち、全ての分割点DPjについて処理が終了している場合には、図5のステップS1140にリターンする。一方、j≦N、即ち、全ての分割点DPjについて処理が終了していない場合には、処理をステップS1220に戻し、インクリメント後の変数jを用いて以降の各ステップにおける処理を行う。
図5に戻って、次に、ステップS1140では、撮像装置100の位置姿勢情報を求める。ここで、分割点DPjのうち、隠蔽されておらず、ステップS1230において対応点を求めた分割点の総数をNcとする。撮像装置100の位置姿勢情報は、非線形最適化計算により、撮像装置100の概略の位置姿勢情報を繰り返し計算により補正(更新)することで算出する。図10は、線分情報を利用して撮像装置100の位置姿勢情報を算出する方法を説明する図である。図10では画像の水平方向をx軸、垂直方向をy軸にとっている。ある分割点の画像座標を(u0,v0)、この分割点が所属する線分Lの画像上での傾きをx軸に対する傾きθで表す。線分Lの画像上での法線ベクトルは(sinθ,−cosθ)となる。さらに、この分割点の対応点の画像座標を(u’,v’)とする。
ここで、r=u0×sinθ−v0×conθ(定数)とすると、線分Lの直線の方程式は、以下の式1に従ったものとなる。
Figure 0005111210
次に、この対応点(u’,v’)を通り、線分Lに平行な直線L’(図10において破線で示す)を考える。同様に、d=u’×sinθ−v’×conθ(定数)とすると、線分L’の直線の方程式は、以下の式2に従ったものとなる。
Figure 0005111210
この分割点の画像座標(u,v)は、撮像装置100の位置姿勢情報により変化する。また、撮像装置100の位置姿勢情報の自由度は6自由度である。ここで、撮像装置100の位置姿勢情報を表すパラメータをpで表す。pは6次元ベクトルであり、撮像装置100の位置を表す3つの要素と、姿勢を表す3つの要素からなる。姿勢を表す3つの要素は、例えばオイラー角による表現や、方向が回転軸を表して大きさが回転角を表す3次元ベクトルなどによって表現される。分割点の画像座標(u,v)は、(u0,v0)の近傍で1次のテイラー展開によって以下の式3に示す如く、近似できる。
Figure 0005111210
u,vの偏微分∂u/∂pi、∂v/∂piの導出方法は、例えば非特許文献8に開示されているように、周知であるため、これについての説明は省略する。
次に、上記式3によって表される(u,v)が式2で表される直線上に存在するように、撮像装置100の位置姿勢情報pの補正値Δpを算出する。式3を式2に代入すると、以下の式4に示すような式が得られる。
Figure 0005111210
式4を整理すると以下の式5のように表せる。
Figure 0005111210
式5は、Nc個の分割点について成り立つため、以下の式6に示すようなΔpに対する線形連立方程式が成り立つ。
Figure 0005111210
ここで、式6を、以下の式7のように簡潔に表す。
Figure 0005111210
式7をもとにGauss−Newton法によって、行列Jの一般化逆行列(J・J)−1を用いてΔpが求められる。しかしながら、エッジの検出には誤検出が多いので、次に述べるようなロバスト推定手法を用いる。一般に、誤検出されたエッジに対応する分割点では、誤差(d−r)が大きくなる。そのため式6、式7で示す連立方程式に対する寄与度が大きくなり、その結果得られるΔpの精度が低下する。そこで、誤差(d−r)が大きい分割点には小さな重みを与え、誤差(d−r)が小さい分割点には大きな重みを与える。重みは、例えば以下の式8に示すようなTukeyの関数により与える。
Figure 0005111210
なお、重みを与える関数はTukeyの関数である必要はなく、例えば次式で示されるようなHuberの関数など、誤差(d−r)が大きい分割点には小さな重みを与え、誤差(d−r)が小さい分割点には大きな重みを与える関数であれば良い。
Figure 0005111210
分割点DPiに対応する重みをwiとする。ここで、以下の式10に示す如く重み行列Wを定義する。
Figure 0005111210
重み行列Wは、対角成分以外はすべて0のNc×Nc正方行列であり、対角成分には重みwiが入る。この重み行列Wを用いて、上記式7を以下の式11のように変形する。
Figure 0005111210
そして、以下の式12に示す如く、上記式11を解くことにより、補正値Δpを求める。
Figure 0005111210
以上の処理によって得られたΔpを用いて、現在得られている撮像装置100の位置姿勢情報を更新する。
以上説明した各演算処理が、ステップS1140において行われる処理である。
次に、ステップS1150では、撮像装置100の位置姿勢情報の計算が収束しているか否かを判定する。係る判定処理は、例えば、ステップS1140において求めた補正値Δpが十分に小さい閾値以下であるか否か、誤差(d−r)の総和が十分に小さい閾値以下であるか否か、誤差の総和の変化分が十分に小さい閾値以下であるか否か、等を判定すればよい。そして、このような判定処理の結果、撮像装置100の位置姿勢情報の計算が収束していると判定した場合には、図4のステップS1050にリターンする。一方、撮像装置100の位置姿勢情報の計算が収束していないと判定した場合には、処理をステップS1110に戻す。そして、ステップS1140で求めた撮像装置100の位置姿勢情報を、撮像装置100の概略の位置姿勢情報として用い、以降の各ステップにおける処理を繰り返す。そして、各線分を投影しなおす。そしてステップS1110において算出された直線L,L’の方程式をもとに、ステップS1130において∂u/∂pi、∂v/∂piを計算し直し、式12を用いて再度、補正値Δpを求め直す。
なお、ここでは、非線形最適化手法として、Gauss−Newton法を用いた。しかしながら、非線形最適化手法はこれに限るものではなく、Newton−Raphson法、Levernberg−Marquadt法、最急降下法、共役勾配法などのその他の非線形最適化手法を用いてもよい。
図4に戻って、次に、ステップS1050では、変数i=1であるか否か、即ち、全ての構造規定レベルについて処理を行ったか否かを判定する。本実施形態では構造規定レベルは2段階であるので、変数i=1であれば処理をステップS1070に進め、i≠1であれば、処理をステップS1060に進める。ステップS1060では、変数iの値を1つインクリメントし、その後、ステップS1040に処理を進め、インクリメント後の変数iを用いて、以降の各ステップにおける処理を行う。即ち、インクリメント後の変数iが示す値以下の構造規定レベルに対応する線分と、ステップS1020で取得した画像とを用いて、基準座標系における撮像装置100の位置姿勢情報を求める。
以上の説明から、本実施形態に係る位置姿勢情報の算出処理は、換言すると、次のような処理である。即ち、仮想物体を構成する線分群を複数のグループに分割した場合に、複数のグループから1つのグループを、重複しないように1つずつ選択する。そして、1つのグループを選択する毎に、選択されたグループに属する規定データと、現実空間の画像と、を用いて、画像の視点の概略の位置姿勢を示す位置姿勢情報を更新する。
このように、大局的な構造を規定する線分を使って撮像装置100の概略の位置姿勢情報の算出を行った後、より局所的な構造を規定する線分を使ってより詳細な位置姿勢情報の算出を行う。これにより、繰り返しパターンや類似した線分に対応するエッジの誤検出を防止し、高精度な位置姿勢情報を算出することができる。
次に、ステップS1070では、位置姿勢情報の算出処理を終了する旨の指示が外部から入力されたか否か、係る算出処理の終了条件が満たされたか否かを判定する。係る判定により、係る指示が入力されたり、係る終了条件が満たされた場合には、ステップS1070を介して、係る算出処理を終了する。なお、上記処理により複数回更新された位置姿勢情報は、最終的な位置姿勢情報として、例えば、モデルデータ記憶部120等に出力する。
一方、係る指示は入力されていないし、係る終了条件も満たされていない場合には、ステップS1070を介してステップS1020に処理を戻し、次のフレームについて以降の各ステップにおける処理を行う。
以上の説明により、本実施形態によれば、線分毎に設定される構造規定レベルを利用し、非線形最適化により撮像装置100の位置姿勢情報を求めることで、位置姿勢情報が局所最小解となることを防止し、高精度な位置姿勢情報を算出することができる。
[変形例1−1]
第1の実施形態では、仮想物体の外形を規定するような線分を用いて撮像装置100の概略の位置姿勢情報を算出した後、より構造規定レベルが大きい線分を用いて係る位置姿勢情報の更新を行った。しかしながら、係る更新前と更新後とで位置姿勢情報に一定値以上の差が生じた場合、更新後の位置姿勢情報が局所最小解に陥ったと考えられる。そのため、最初の更新と次の更新とで位置姿勢情報に一定値以上(閾値以上)の差が生じた場合には、更新前の最初の更新による位置姿勢情報を、最終的な位置姿勢情報として採用してもよい。このようにして、局所最小解に陥いることを避けてもよい。
[変形例1−2]
第1の実施形態では、構造規定レベルとしてレベル0とレベル1の2つを設けていた。換言すれば、仮想物体を構成する線分群を2つのグループに分割していた。しかしながら、構造規定レベルは2レベル以上設けてもよい。即ち、仮想物体を構成する線分群を3以上のグループに分割してもよい。例えば、構造規定レベルを0〜(n−1)まで設けた場合、即ち、仮想物体を構成する線分群をn個のグループに分割した場合、図4のステップS1050では、変数i=(n−1)であるか否かを判定する。
[変形例1−3]
第1の実施形態では、変数i=1である場合、構造規定レベル0,構造規定レベル1のそれぞれに対応する線分を、基準座標系における撮像装置100の位置姿勢情報を求める為に用いていた。しかしながら、変数i=1である場合、構造規定レベル1に対応する線分のみを、基準座標系における撮像装置100の位置姿勢情報を求める為に用いるようにしても良い。
これは、構造規定レベルを3以上設けた場合であっても同様で、変数i=mである場合には、構造規定レベルmに対応する線分のみを、基準座標系における撮像装置100の位置姿勢情報を求める為に用いるようにしても良い。
[変形例1−4]
第1の実施形態では、構造規定レベル0に対応する線分を用いて更新した撮像装置100の位置姿勢情報の精度が十分に高い場合であっても、係る精度に関係なく、次の構造規定レベル1に対応する線分を用いた位置姿勢情報の更新処理を行っていた。しかし、更新後の位置姿勢情報の精度が、予め定めた基準を満たした場合には、以降の更新処理(動作)を中断し、この時点で得られている位置姿勢情報を最終的な位置姿勢情報としても良い。
例えば、式5の左辺(d−r)の二乗和の平均値が、十分に小さい閾値以下である場合(例えば、1画素以内)や、Tukeyの関数によって算出される重みが0のデータが十分に小さい閾値以下である場合には、以降の更新処理を省略しても良い。
[変形例1−5]
第1の実施形態では、直前のフレームにおいて求めた位置姿勢情報を、現フレームにおいて複数回更新することで、現フレームにおける位置姿勢情報を求めていた。しかしながら、現フレームの概略の位置姿勢情報を、他のセンサを用いて更新してもよい。例えば、前述の3自由度姿勢センサを用いて姿勢を更新してもよいし、傾斜角センサを用いて傾斜角を更新してもよい。また、角速度センサや加速度センサなどを用いて姿勢や位置を更新してもよい。また、位置センサを用いて位置を更新してもよい。さらには、複数のセンサを併用して、概略の位置姿勢情報を更新してもよい。
[変形例1−6]
第1の実施形態では、計算負荷を考慮し、ステップS1130では、最初の1回のみしかエッジ検出を行っていない。しかしながら、より精度を追求したい場合や、計算時間に余裕がある場合などには、2回目以降もエッジ検出を行ってもよい。すなわち、繰り返し計算の2回目以降も、ステップS1130においてエッジ検出を行うことによって、各線分の分割点の画像上での対応点の座標(u’,v’)を更新し、式12により補正値Δpを求めてもよい。
[第2の実施形態]
第1の実施形態では、非線形最適化手法に従って、撮像装置100の位置姿勢情報を算出した。本実施形態では、非線形最適化手法の代わりに、確率的手法に従って、撮像装置100の位置姿勢情報を求める。ここで、本実施形態で用いる確率的手法としては、非特許文献9、又は非特許文献10に示すパーティクルフィルタ(またはコンデンセーションとも呼ばれる)を利用する。
パーティクルフィルタでは、ある時刻tにおける撮像装置100の位置姿勢情報を、Np個の状態(以下、パーティクル)(p(i,t),w(i,t))(i=1,・・・Np)の集合によって表現する。ここで、p(i,t)は時刻tにおけるパーティクルiの6自由度の位置姿勢情報を表す状態ベクトルであり、w(i,t)は時刻tにおけるパーティクルiに対する重み値である。重み値が大きいパーティクルは真の撮像装置100の位置姿勢情報である確率が高く、重み値が小さいパーティクルはその確率が低い。
次に、位置姿勢計測装置1が、撮像装置100の位置姿勢情報を求めるために行う処理について、同処理のフローチャートを示す図11を用いて以下説明する。なお、本実施形態で用いるシステムの構成については、第1の実施形態と同じ、即ち、図1に示した構成を有する。
先ず、ステップS2010では、位置姿勢算出部130は、初期化処理を行う。係る初期化処理では、基準座標系における撮像装置100の概略の位置姿勢を示す位置姿勢情報(初期値)の設定を、第1の実施形態と同様にして行う。ここで、初期値としての位置姿勢情報を表す6自由度の状態ベクトルをpinitとする。次に、pinitを用いて、Np個のパーティクルを発生させる。先ず、状態ベクトルの各成分j(j=1,・・・6)ごとに、区間[−1,1]の一様分布に基づいて乱数zを発生させる。即ち、位置姿勢情報を複数種類発生させることになる。
そして、pinitの成分jをpinit =pinit +z・vのようにランダムウォークにより拡散させる。ここで、vは各成分のあいまいさを表す定数である。また、初期化においては各パーティクルの重み値は均一(wit=1/Np)であるとする。
この処理をNp回繰り返し、Np個のパーティクル(p(i,0),w(i,0))(i=1,・・・Np)を発生させる。
次に、ステップS2020では、画像入力部110は、撮像装置100が撮像した現実空間の画像を取得する。
次に、ステップS2030では、位置姿勢算出部130は、構造規定レベルを示す変数kを0に初期化する。以降の各ステップにおける処理は、特に触れない限りは、位置姿勢算出部130が行うものとする。
次に、ステップS2040では、位置姿勢算出部130は、構造規定レベルkに基づいて、撮像装置100の位置姿勢情報、即ち、各パーティクルの状態を予測する。ここでは、次の処理をNp回繰り返してNp個のパーティクル(p(m,t,k),w(m,t,k))(m=1,・・・Np)を発生させ、それまで保持していたパーティクルと入れ替える。
(1) 各パーティクルの重み値及び一様分布から発生する乱数をもとに、パーティクルiを選択する。非特許文献9では、各パーティクルごとに累積確率密度Ciを計算することで、パーティクル選択を高速化している。すなわち、まずCiを次式のように計算する。
Figure 0005111210
パーティクルの選択は次のように行われる。区間[0,1]の一様分布から乱数zを発生させ、Ci≧zを満たす最小のiを選択する。
(2) パーティクルmの状態を予測する。具体的には、ステップS2010における初期化と同様に、選択されたパーティクルiの状態p(i,t−1)(k=0の場合)またはp(i,t,k−1)(k≠0の場合)をランダムウォークにより拡散させる。拡散は、p(j,t,k)=p(i,t−1)+z・vまたはp(j,t,k)=pinit +z・vのように行う。vは、kが大きくなるにつれて小さい値になるようにする。それによって、kが小さい場合に得たパーティクルの周辺に、新たなパーティクルを発生させる。また、k=0の場合、フレーム間の動きモデルがわかっている場合には、そのモデルに基づいてp(i,t−1)を変化させ、変化した状態に対してランダムウォークを適用してもよい。加速度センサ、角速度センサなどのセンサが利用できる場合には、センサの計測値を利用してp(i,t−1)を変化させてもよい。k≠0の場合には、フレーム間の移動の推定ではないので、動きモデルによる状態更新は行わない。
これらの処理をNp回繰り返すことにより、新たなパーティクルの集合を得る。
次に、ステップS2050では、各パーティクルが表す位置姿勢情報の尤度を求める。ステップS2050では、構造規定レベルk=0の場合には構造規定レベルが0の線分のみを用い、k=1の場合には構造規定レベルが0の線分と1の線分を用いて尤度の計算を行う。
尤度の算出はパーティクル毎に行う。パーティクルiの尤度LH(i)の算出は次のように行う。まず、各パーティクルが表す位置姿勢情報p(i,t,k)に基づいて、構造規定レベルがk以下の線分を画像上に投影する。次に、第1の実施形態におけるステップS1130と同じ方法でもって、線分の等分割点ごとの対応エッジを探索する。そして、対応エッジの画像座標(u’,v’)と、式1に示す投影された線分(投影済みの線分)との距離を求める。尤度LH(i)は次式のように算出される。σはkが小さい場合は大きくし、kが大きい場合は小さくする。
Figure 0005111210
もしくは、対応エッジと線分との距離に閾値Thを設定し、次式のように尤度を求めてもよい。
Figure 0005111210
ただし、以下のような条件がある。
Figure 0005111210
閾値Thは、kが小さい場合には大きくし、kが大きい場合には小さくする。尤度が大きいということは、一般に、パーティクルの表す位置姿勢情報が実際の撮像装置100の位置姿勢情報に近いということを表している。σまたはThをkに応じて制御することにより、kが小さい場合には大局的に解を探索し、kが大きい場合には大局的な解の周辺で詳細に解を探索することになる。
即ち、エッジと投影済みの線分との対応関係を用いて、尤度を求めている。
次に、ステップS2060では、観測に基づいた各パーティクルの重み値w(i,t,k)を算出する。すべてのパーティクルの重み値の総和が1となるように、次式のように正規化して重みw(i,t,k)を算出する。
Figure 0005111210
次に、ステップS2070では、変数k=1であるか否か、即ち、全ての構造規定レベルについて処理を行ったか否かを判定する。本実施形態では構造規定レベルは2段階であるので、変数k=1であれば、パーティクル(p(i,t,k),w(i,t,k))を(p(i,t),w(i,t))として処理をステップS2080に進め、k≠1であれば処理をステップS2090に進める。
ステップS2090では、変数kの値を1つインクリメントし、その後、ステップS2040に処理を進め、インクリメント後の変数kを用いて、以降の各ステップにおける処理を行う。
次に、ステップS2080では、時刻tにおける撮像装置100の位置姿勢情報を、パーティクルの集合(p(i,t),w(i,t))から推定する。撮像装置100の位置姿勢情報の推定値Ptは、例えば次の式のように、期待値として算出する。
Figure 0005111210
即ち、それぞれのパーティクルの位置姿勢情報に、対応する重み値を乗じた結果の総和値を、撮像装置100の位置姿勢情報としている。
また、推定値Ptを期待値によって算出するのではなく、最大の重みw(i,t)を持つパーティクルiの位置姿勢情報p(i,t)によって決定してもよい。
以上の説明により、本実施形態によれば、構造規定レベルとパーティクルフィルタを組み合わせることで、局所最小解に陥らない高精度な撮像装置100の位置姿勢情報の算出を行うことができる。
[変形例2−1]
第2の実施形態では、構造規定レベルとしてレベル0とレベル1の2つを設けていた。換言すれば、仮想物体を構成する線分群を2つのグループに分割していた。しかしながら、構造規定レベルは2レベル以上設けてもよい。即ち、仮想物体を構成する線分群を3以上のグループに分割してもよい。例えば、構造規定レベルを0〜(n−1)まで設けた場合、即ち、仮想物体を構成する線分群をn個のグループに分割した場合、図11のステップS2070では、変数k=n−1であるか否かを判定する。
[変形例2−2]
第2の実施形態では、変数k=1である場合、構造規定レベル0,構造規定レベル1のそれぞれに対応する線分を、尤度を求める為に用いていた。しかしながら、変数k=1である場合、構造規定レベル1に対応する線分のみを、尤度を求める為に用いるようにしても良い。
これは、構造規定レベルをnレベル分設けた場合であっても同様で、変数k=mである場合には、構造規定レベルmに対応する線分のみを、尤度を求める為に用いるようにしても良い。
[変形例2−3]
第2の実施形態では、ステップS2050において、パーティクルごとに画像上に線分を投影し、投影された線分の等分割点ごとにエッジ探索を行っていた。しかしながら、この処理は計算コストが高いため、あらかじめ画像全体に対してエッジ検出(例えば、Sobelフィルタ、Cannyフィルタ)を行っておき、エッジ探索の際に探索ライン上の勾配を求める処理を省略してもよい。また、あらかじめ行うエッジ検出によりエッジの方向を保持しておき、探索ライン上でかつ投影された線分に類似した方向のエッジを対応エッジとしてもよい。
[変形例2−4]
第2の実施形態では、パーティクルの位置姿勢情報及び重み値から算出される位置姿勢情報の期待値、もしくは重み値が最大となるパーティクルの位置姿勢情報を撮像装置100の位置姿勢情報としていた。しかしながら、パーティクルフィルタによる結果を概略の位置姿勢情報として、第1の実施形態により撮像装置100の位置姿勢情報を算出してもよい。
[変形例2−5]
第2の実施形態では、ステップS2050において、パーティクルごとに線分の分割点が隠蔽されているかどうかを判定していた。しかしながら、例えば直前の時刻の位置姿勢情報、または直前の構造規定レベルでの位置姿勢情報に基づいて線分の分割点が隠蔽されているかどうか判定し、この隠蔽情報をステップS2050において用いてもよい。これにより、計算負荷の高い隠蔽情報の計算が省略できる。
[変形例2−6]
第2の実施形態では、最初に構造規定レベルが小さい線分を用いてパーティクルを更新した後、より構造規定レベルが大きい線分を用いてパーティクルを更新して高精度な撮像装置100の位置姿勢情報の算出を行った。しかしながら、構造規定レベルが小さい線分を用いて更新されたパーティクルが表す撮像装置100の位置姿勢情報の精度が十分高いと考えられる場合には、構造規定レベルが大きい線分を用いてパーティクルを更新する処理を省略してもよい。例えば、パーティクルの重み値のうち最大の重みが二番目に大きい重み値に対して十分大きい場合や、最大の重み値のパーティクルにおける対応エッジと線分の距離の平均二乗和がほぼ0である場合には、その時点で処理を打ち切ってもよい。
[変形例1]
第2の実施形態では、撮像装置100が撮像する画像から得られる情報を用いて撮像装置100の位置姿勢情報の算出を行った。しかしながら、他のセンサを用いることにより、6自由度ある位置姿勢情報の未知数の数を減らしてもよい。例えば、3自由度姿勢センサを用いて姿勢を既知としてもよい。また、姿勢のうち傾斜角を計測する傾斜角センサや、3自由度姿勢センサであって傾斜角が高精度に計測できる姿勢センサを用いて、2自由度ある傾斜角を既知として、画像情報からは4自由度(撮像装置の位置及び方位角)を求めるようにしてもよい。また、複数の客観カメラにより3次元位置を計測する位置センサを用いて、姿勢のみを画像情報から求めるようにしてもよい。また、これらのセンサを複数併用して未知数を減らしてもよい。
[第3の実施形態]
図1に示した位置姿勢計測装置1は、一般のPC(パーソナルコンピュータ)を用いて実装することができる。
図12は、位置姿勢計測装置1に適用可能なコンピュータのハードウェア構成例を示すブロック図である。
CPU1201は、RAM1202やROM1203に格納されているプログラム(コンピュータプログラム)やデータを用いて、コンピュータ全体の制御を行うと共に、位置姿勢計測装置1が行うものとして上述した各処理を実行する。
RAM1202は、外部記憶装置1206からロードされたプログラムやデータ、I/F(インターフェース)1207を介して外部から受信したデータ、等を一時的に記憶するためのエリアを有する。更に、RAM1202は、CPU1201が各種の処理を実行する際に用いるワークエリアも有する。即ち、RAM1202は各種のエリアを適宜提供することができる。
ROM1203には、コンピュータの設定データや、ブートプログラムなどが格納されている。
操作部1204は、キーボードやマウスなどにより構成されており、コンピュータの操作者が操作することで、各種の指示をCPU1201に対して入力することができる。
表示部1205は、CRTや液晶画面などにより構成されており、CPU1201による処理結果を、画像や文字などでもって表示することができる。
外部記憶装置1206は、ハードディスクドライブ装置に代表される、大容量情報記憶装置である。外部記憶装置1206には、OS(オペレーティングシステム)や、位置姿勢計測装置1が行うものとして上述した各処理をCPU1201に実行させるためのプログラムやデータなどが保存されている。係るプログラムには、例えば、図1の位置姿勢算出部130に対応するプログラムが含まれている。また、係るデータには、図1のモデルデータ記憶部120が記憶しているものとして上述した各種のデータが含まれている。即ち、外部記憶装置1206は、図1のモデルデータ記憶部120としても機能する。
外部記憶装置1206に保存されているプログラムやデータは、CPU1201による制御に従って、適宜RAM1202にロードされる。そして、CPU1201はこのロードされたプログラムやデータを用いて処理を実行するので、コンピュータは位置姿勢計測装置1が行うものとして上述した各処理を実行することになる。
I/F1207は、コンピュータに外部装置を接続するために設けられたもので、例えば、図1の画像入力部110として機能する。従ってこの場合には、撮像装置100が撮像した現実空間の画像は、このI/F1207を介して外部記憶装置1206やRAM1202に送出される。
1208は上述の各部を繋ぐバスである。
なお、以上説明した各実施形態(変形例を含む)は、適宜組み合わせても良い。その際に処理やシステムの構成の変更については、当業者であれば容易に想到し得るであろう。
[その他の実施形態]
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給する。係る記憶媒体は言うまでもなく、コンピュータ読み取り可能な記憶媒体である。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
本発明の第1の実施形態に係るシステムの機能構成例を示すブロック図である。 ユーザが本発明の第1の実施形態に係るシステムを使用している様子を示す図である。 現実物体10の外観を模した仮想物体に係るデータ(モデルデータ)の構成例を説明する図である。 位置姿勢計測装置1が、撮像装置100の位置姿勢情報を求めるために行う処理のフローチャートである。 ステップS1040における処理の詳細を示すフローチャートである。 現実空間の画像上に投影された線分を説明する図である。 各線分について画像上での分割点を示す図である。 ステップS1130における処理の詳細を示すフローチャートである。 本発明の第1の実施形態におけるエッジ検出方法を説明する図である。 線分情報を利用して撮像装置100の位置姿勢情報を算出する方法を説明する図である。 位置姿勢計測装置1が、撮像装置100の位置姿勢情報を求めるために行うのフローチャートである。 位置姿勢計測装置1に適用可能なコンピュータのハードウェア構成例を示すブロック図である。

Claims (11)

  1. 複数の線分で表現可能な外観を有する現実物体、が配されている現実空間の画像を取得する手段と、
    前記現実物体の外観を模した3次元仮想物体を構成する線分群を、当該仮想物体の形状を構成する線分群を最も低いレベルとして、それぞれにレベルが設定された複数のグループに分割し、グループ内に属するそれぞれの線分を仮想空間内で規定する為の規定データを、グループ毎に管理する管理手段と、
    前記複数のグループから1つのグループを、最も低いレベルが設定されているグループから順に、最も高いレベルが設定されているグループまで、1つずつ選択する選択手段と、
    前記選択手段が1つのグループを選択する毎に、当該選択されたグループに属する線分を規定するための規定データと、前記現実空間の画像と、を用いて、前記画像の視点の概略の位置姿勢を示す位置姿勢情報を更新する更新手段と、
    前記更新手段により複数回更新された後の前記位置姿勢情報を、最終的な前記視点の位置姿勢を示す位置姿勢情報として出力する出力手段と
    を備えることを特徴とする画像処理装置。
  2. 前記更新手段は、
    前記画像から検出したエッジと、前記選択手段が選択したグループに属する線分群を前記画像上に投影することで得られる線分群と、を用いて、前記画像の視点の概略の位置姿勢を示す位置姿勢情報を更新することを特徴とする請求項に記載の画像処理装置。
  3. 前記更新手段は、
    前記選択手段が1つのグループを選択する毎に、当該選択されたグループに属する線分を規定するための規定データと、前記現実空間の画像と、に加え、これまでに前記選択手段が選択した全てのグループに属する線分を規定するための規定データ、を用いて、前記画像の視点の概略の位置姿勢を示す位置姿勢情報を更新する
    ことを特徴とする請求項1又は2に記載の画像処理装置。
  4. 更に、
    前記更新手段により更新された位置姿勢情報の精度が、予め定めた基準を満たしている場合には、前記選択手段、前記更新手段、の動作を中断させる手段を備え、
    前記出力手段は、前記更新手段により更新された位置姿勢情報の精度が、予め定めた基準を満たしている場合に、当該位置姿勢情報を出力することを特徴とする請求項1乃至の何れか1項に記載の画像処理装置。
  5. 前記出力手段は、前記更新手段による更新前の位置姿勢情報と、前記更新手段による更新後の位置姿勢情報との差が閾値以上である場合には、前記更新前の位置姿勢情報を出力することを特徴とする請求項1乃至の何れか1項に記載の画像処理装置。
  6. 複数の線分で表現可能な外観を有する現実物体、が配されている現実空間の画像を取得する手段と、
    前記現実物体の外観を模した3次元仮想物体を構成する線分群を、当該仮想物体の形状を構成する線分群を最も低いレベルとして、それぞれにレベルが設定された複数のグループに分割し、グループ内に属するそれぞれの線分を仮想空間内で規定する為の規定データを、グループ毎に管理する管理手段と、
    ランダムに変更するための位置姿勢情報を、複数種類発生させる手段と、
    それぞれの位置姿勢情報を、ランダムに変更する手段と、
    前記複数のグループから1つのグループを、最も低いレベルが設定されているグループから順に、最も高いレベルが設定されているグループまで、1つずつ選択する選択手段と、
    前記選択手段が1つのグループを選択する毎に、
    前記選択されたグループに属する線分を規定するための規定データと、前記ランダムに変更された位置姿勢情報と、に基づいて、前記選択されたグループに属する線分群を前記画像上に投影する処理を、それぞれの位置姿勢情報について行う手段と、
    前記画像から検出されるエッジと、それぞれの投影済みの線分と、の対応関係に基づいて、それぞれの位置姿勢情報に対する重み値を計算する手段と、
    それぞれの位置姿勢情報と、それぞれの位置姿勢情報に対する重み値と、に基づいて、前記画像の視点の位置姿勢を求める計算手段と
    を備えることを特徴とする画像処理装置。
  7. 前記計算手段は、それぞれの位置姿勢情報に、対応する重み値でもって重み付けした結果の総和値を、前記画像の視点の位置姿勢として求めることを特徴とする請求項に記載の画像処理装置。
  8. 複数の線分で表現可能な外観を有する現実物体、が配されている現実空間の画像を取得する工程と、
    前記現実物体の外観を模した3次元仮想物体を構成する線分群を、当該仮想物体の形状を構成する線分群を最も低いレベルとして、それぞれにレベルが設定された複数のグループに分割し、グループ内に属するそれぞれの線分を仮想空間内で規定する為の規定データを、グループ毎に管理する管理工程と、
    前記複数のグループから1つのグループを、最も低いレベルが設定されているグループから順に、最も高いレベルが設定されているグループまで、1つずつ選択する選択工程と、
    前記選択工程で1つのグループを選択する毎に、当該選択されたグループに属する線分を規定するための規定データと、前記現実空間の画像と、を用いて、前記画像の視点の概略の位置姿勢を示す位置姿勢情報を更新する更新工程と、
    前記更新工程で複数回更新された後の前記位置姿勢情報を、最終的な前記視点の位置姿勢を示す位置姿勢情報として出力する出力工程と
    を備えることを特徴とする画像処理方法。
  9. 複数の線分で表現可能な外観を有する現実物体、が配されている現実空間の画像を取得する工程と、
    前記現実物体の外観を模した3次元仮想物体を構成する線分群を、当該仮想物体の形状を構成する線分群を最も低いレベルとして、それぞれにレベルが設定された複数のグループに分割し、グループ内に属するそれぞれの線分を仮想空間内で規定する為の規定データを、グループ毎に管理する管理工程と、
    ランダムに変更するための位置姿勢情報を、複数種類発生させる工程と、
    それぞれの位置姿勢情報を、ランダムに変更する工程と、
    前記複数のグループから1つのグループを、最も低いレベルが設定されているグループから順に、最も高いレベルが設定されているグループまで、1つずつ選択する選択工程と、
    前記選択工程で1つのグループを選択する毎に、
    前記選択されたグループに属する線分を規定するための規定データと、前記ランダムに変更された位置姿勢情報と、に基づいて、前記選択されたグループに属する線分群を前記画像上に投影する処理を、それぞれの位置姿勢情報について行う工程と、
    前記画像から検出されるエッジと、それぞれの投影済みの線分と、の対応関係に基づいて、それぞれの位置姿勢情報に対する重み値を計算する工程と、
    それぞれの位置姿勢情報と、それぞれの位置姿勢情報に対する重み値と、に基づいて、前記画像の視点の位置姿勢を求める計算工程と
    を備えることを特徴とする画像処理方法。
  10. コンピュータを、請求項1乃至の何れか1項に記載の各手段として機能させるためのコンピュータプログラム。
  11. 請求項10に記載のコンピュータプログラムを格納した、コンピュータ読み取り可能な記憶媒体。
JP2008101814A 2008-04-09 2008-04-09 画像処理装置、画像処理方法 Active JP5111210B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008101814A JP5111210B2 (ja) 2008-04-09 2008-04-09 画像処理装置、画像処理方法
US12/418,082 US8223146B2 (en) 2008-04-09 2009-04-03 Image processing apparatus and image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008101814A JP5111210B2 (ja) 2008-04-09 2008-04-09 画像処理装置、画像処理方法

Publications (2)

Publication Number Publication Date
JP2009252112A JP2009252112A (ja) 2009-10-29
JP5111210B2 true JP5111210B2 (ja) 2013-01-09

Family

ID=41200754

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008101814A Active JP5111210B2 (ja) 2008-04-09 2008-04-09 画像処理装置、画像処理方法

Country Status (2)

Country Link
US (1) US8223146B2 (ja)
JP (1) JP5111210B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020160777A (ja) * 2019-03-26 2020-10-01 日立建機株式会社 較正作業支援システム

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7916935B2 (en) * 2006-09-19 2011-03-29 Wisconsin Alumni Research Foundation Systems and methods for automatically determining 3-dimensional object information and for controlling a process based on automatically-determined 3-dimensional object information
JP2010134649A (ja) 2008-12-03 2010-06-17 Canon Inc 情報処理装置、その処理方法及びプログラム
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 キヤノン株式会社 位置姿勢計測方法及び装置
JP2011095797A (ja) * 2009-10-27 2011-05-12 Sony Corp 画像処理装置、画像処理方法及びプログラム
US8427536B2 (en) * 2009-11-19 2013-04-23 Qualcomm Incorporated Orientation determination of a mobile station using side and top view images
JP5746477B2 (ja) 2010-02-26 2015-07-08 キヤノン株式会社 モデル生成装置、3次元計測装置、それらの制御方法及びプログラム
US8416263B2 (en) 2010-03-08 2013-04-09 Empire Technology Development, Llc Alignment of objects in augmented reality
JP5759110B2 (ja) * 2010-04-27 2015-08-05 泉陽興業株式会社 観覧車
JP5612916B2 (ja) 2010-06-18 2014-10-22 キヤノン株式会社 位置姿勢計測装置、その処理方法、プログラム、ロボットシステム
JP5624394B2 (ja) 2010-07-16 2014-11-12 キヤノン株式会社 位置姿勢計測装置、その計測処理方法及びプログラム
JP5496008B2 (ja) 2010-08-06 2014-05-21 キヤノン株式会社 位置姿勢計測装置、位置姿勢計測方法、およびプログラム
JP5671281B2 (ja) * 2010-08-20 2015-02-18 キヤノン株式会社 位置姿勢計測装置、位置姿勢計測装置の制御方法及びプログラム
TWI459306B (zh) * 2010-09-10 2014-11-01 Hon Hai Prec Ind Co Ltd 具有圖像重現功能的電子裝置及方法
JP5158223B2 (ja) * 2011-04-06 2013-03-06 カシオ計算機株式会社 三次元モデリング装置、三次元モデリング方法、ならびに、プログラム
JP5732988B2 (ja) * 2011-04-08 2015-06-10 ソニー株式会社 画像処理装置、表示制御方法及びプログラム
US8884949B1 (en) 2011-06-06 2014-11-11 Thibault Lambert Method and system for real time rendering of objects from a low resolution depth camera
US9600933B2 (en) 2011-07-01 2017-03-21 Intel Corporation Mobile augmented reality system
US9606992B2 (en) * 2011-09-30 2017-03-28 Microsoft Technology Licensing, Llc Personal audio/visual apparatus providing resource management
JP2013130923A (ja) * 2011-12-20 2013-07-04 Canon Inc 画像処理装置、サーバ装置、情報処理方法及びプログラム
US9898682B1 (en) 2012-01-22 2018-02-20 Sr2 Group, Llc System and method for tracking coherently structured feature dynamically defined within migratory medium
JP6004809B2 (ja) * 2012-03-13 2016-10-12 キヤノン株式会社 位置姿勢推定装置、情報処理装置、情報処理方法
JP5538483B2 (ja) 2012-06-29 2014-07-02 株式会社ソニー・コンピュータエンタテインメント 映像処理装置、映像処理方法、および映像処理システム
US9001123B1 (en) * 2012-07-17 2015-04-07 Lockheed Martin Corporation Forming a polygon mesh without shifting vertex positions
JP6021568B2 (ja) * 2012-10-02 2016-11-09 任天堂株式会社 画像処理用プログラム、画像処理装置、画像処理システム、および画像処理方法
JP6021592B2 (ja) * 2012-11-06 2016-11-09 任天堂株式会社 情報処理用プログラム、情報処理装置、情報処理システム、および情報処理方法
WO2014119097A1 (ja) 2013-02-01 2014-08-07 ソニー株式会社 情報処理装置、端末装置、情報処理方法及びプログラム
BR112016010089B1 (pt) * 2013-11-13 2021-06-08 Nissan Motor Co. Ltd. dispositivo de estimação de posição de corpo em movimento e método de estimação de posição de corpo em movimento
JP6253368B2 (ja) 2013-11-25 2017-12-27 キヤノン株式会社 三次元形状計測装置およびその制御方法
US10664705B2 (en) 2014-09-26 2020-05-26 Nec Corporation Object tracking apparatus, object tracking system, object tracking method, display control device, object detection device, and computer-readable medium
US10326972B2 (en) * 2014-12-31 2019-06-18 Samsung Electronics Co., Ltd. Three-dimensional image generation method and apparatus
US9690374B2 (en) * 2015-04-27 2017-06-27 Google Inc. Virtual/augmented reality transition system and method
JP6716996B2 (ja) * 2016-03-29 2020-07-01 富士通株式会社 画像処理プログラム、画像処理装置、及び画像処理方法
JP6819333B2 (ja) * 2017-02-07 2021-01-27 富士通株式会社 表示制御プログラム、表示制御方法および表示制御装置
JP2018142109A (ja) * 2017-02-27 2018-09-13 富士通株式会社 表示制御プログラム、表示制御方法および表示制御装置
WO2020242047A1 (en) * 2019-05-30 2020-12-03 Samsung Electronics Co., Ltd. Method and apparatus for acquiring virtual object data in augmented reality
CN110599569B (zh) * 2019-09-16 2023-09-15 上海市刑事科学技术研究院 一种建筑物内部二维平面图的生成方法、存储设备及终端
JP2023048014A (ja) * 2021-09-27 2023-04-06 株式会社Jvcケンウッド 表示装置、表示装置の制御方法およびプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7411594B2 (en) 2002-01-15 2008-08-12 Canon Kabushiki Kaisha Information processing apparatus and method
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 キヤノン株式会社 位置姿勢計測方法
JP2005149409A (ja) 2003-11-19 2005-06-09 Canon Inc 画像再生方法及び装置
JP4599184B2 (ja) 2005-02-02 2010-12-15 キヤノン株式会社 指標配置計測方法、指標配置計測装置
JP4914039B2 (ja) 2005-07-27 2012-04-11 キヤノン株式会社 情報処理方法および装置
JP5063023B2 (ja) 2006-03-31 2012-10-31 キヤノン株式会社 位置姿勢補正装置、位置姿勢補正方法
JP5109294B2 (ja) * 2006-06-19 2012-12-26 三菱電機株式会社 3次元位置補正装置
JP4789745B2 (ja) * 2006-08-11 2011-10-12 キヤノン株式会社 画像処理装置および方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020160777A (ja) * 2019-03-26 2020-10-01 日立建機株式会社 較正作業支援システム
KR20210034070A (ko) * 2019-03-26 2021-03-29 히다찌 겐끼 가부시키가이샤 교정 작업 지원 시스템
JP7153594B2 (ja) 2019-03-26 2022-10-14 日立建機株式会社 較正作業支援システム
KR102509346B1 (ko) 2019-03-26 2023-03-14 히다찌 겐끼 가부시키가이샤 교정 작업 지원 시스템
US11891783B2 (en) 2019-03-26 2024-02-06 Hitachi Construction Machinery Co., Ltd. Calibration work support system

Also Published As

Publication number Publication date
US8223146B2 (en) 2012-07-17
JP2009252112A (ja) 2009-10-29
US20090262113A1 (en) 2009-10-22

Similar Documents

Publication Publication Date Title
JP5111210B2 (ja) 画像処理装置、画像処理方法
US10650546B2 (en) Method of providing a descriptor for at least one feature of an image and method of matching features
JP4789745B2 (ja) 画像処理装置および方法
JP5746477B2 (ja) モデル生成装置、3次元計測装置、それらの制御方法及びプログラム
JP4898464B2 (ja) 情報処理装置および方法
JP5671281B2 (ja) 位置姿勢計測装置、位置姿勢計測装置の制御方法及びプログラム
JP5290864B2 (ja) 位置姿勢推定装置及び方法
US9053547B2 (en) Three-dimensional point cloud position data processing device, three-dimensional point cloud position data processing system, and three-dimensional point cloud position data processing method and program
US8995710B2 (en) Information processing apparatus, processing method thereof, and computer-readable storage medium
US7911503B2 (en) Information processing apparatus and information processing method
JP7427188B2 (ja) 3dポーズ取得方法及び装置
JP5290865B2 (ja) 位置姿勢推定方法および装置
JP6762913B2 (ja) 情報処理装置、情報処理方法
JP5693691B2 (ja) 情報処理装置、その処理方法及びプログラム
JP2018173882A (ja) 情報処理装置、方法、及びプログラム
van Liere et al. An Experimental Comparison of Three Optical Trackers for Model Based Pose Determination in Virtual Reality.
Ahmed Real-Time Interactive 3D Reconstruction of Indoor Environments With High Accuracy
JP2021005399A (ja) 情報処理装置、情報処理方法
Gava et al. A Unifying Structure from Motion Framework for Central Projection Cameras
Chekhov Towards Robust Data Association in Real-time Visual SLAM

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110411

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120110

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120312

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120907

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121009

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151019

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 5111210

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151019

Year of fee payment: 3