JP2008275341A - 情報処理装置、情報処理方法 - Google Patents

情報処理装置、情報処理方法 Download PDF

Info

Publication number
JP2008275341A
JP2008275341A JP2007115988A JP2007115988A JP2008275341A JP 2008275341 A JP2008275341 A JP 2008275341A JP 2007115988 A JP2007115988 A JP 2007115988A JP 2007115988 A JP2007115988 A JP 2007115988A JP 2008275341 A JP2008275341 A JP 2008275341A
Authority
JP
Japan
Prior art keywords
captured image
orientation
search
line segment
measurement line
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.)
Granted
Application number
JP2007115988A
Other languages
English (en)
Other versions
JP2008275341A5 (ja
JP5248806B2 (ja
Inventor
Kazuhiko Kobayashi
一彦 小林
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 JP2007115988A priority Critical patent/JP5248806B2/ja
Priority to US12/107,267 priority patent/US7911503B2/en
Publication of JP2008275341A publication Critical patent/JP2008275341A/ja
Publication of JP2008275341A5 publication Critical patent/JP2008275341A5/ja
Application granted granted Critical
Publication of JP5248806B2 publication Critical patent/JP5248806B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/272Means for inserting a foreground image in a background image, i.e. inlay, outlay
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • H04N17/002Diagnosis, testing or measuring for television systems or their details for television cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/2224Studio circuitry; Studio devices; Studio equipment related to virtual studio applications
    • 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

Abstract

【課題】 計測対象物体における計測線分と、撮像画像上の計測対象物体のエッジとを正確に対応付け、この対応の関係を用いてより正確に撮像装置の位置姿勢を計測するための技術を提供すること。
【解決手段】 計測線分投影部400は、現実物体199の位置姿勢に3次元モデルを配置させた後、3次元モデルを撮像画像上に投影する。撮像画像上に投影された3次元モデルを構成する辺の周辺で、撮像画像上の現実物体199の辺を探索する。探索の結果に基づいて決まる、撮像画像上に投影された3次元モデルを構成する各辺と、撮像画像上に位置する現実物体199を構成する各辺との対応関係を用いて、現実物体199と撮像装置50との位置姿勢関係を計算する。上記探索は、注目辺の周辺で探索を行う場合、撮像画像上に投影された3次元モデルを構成する各辺と注目辺との位置関係に応じて、探索範囲を設定する。
【選択図】 図1

Description

本発明は、撮像装置の位置姿勢を計測するための技術に関するものである。
現実空間を撮像する撮像装置の位置姿勢の計測は、例えば現実空間と仮想空間とを融合した画像をユーザに提示する複合現実感システムにおいては必要となる。
従来から撮像装置の位置姿勢を計測する方法として、3次元位置が既知の指標を用いる方法が開示されている。係る方法では、撮像装置のおおよその位置姿勢を用いて各指標の3次元位置を撮像画像上へ投影した投影位置と、撮像画像上から検出される指標の撮像画像上の位置と、の距離を用いた目的関数を最適化することで、撮像装置の位置姿勢を推定している。
さらに指標としては、現実空間中に含まれる物体構成面の境界を既知の指標として用いる方法が開示されている。以降、観察可能な物体構成面の境界を「エッジ」と呼称する。
非特許文献1には次のような方法が開示されている。即ち、計測対象物体における計測線分をおおよその撮像装置の位置姿勢を用いて撮像画像上に投影し、投影した線分と、撮像画像から検出されたこの計測線分に対応するエッジと、の距離を目的関数として、位置姿勢を推定する方法が開示されている。
係る手法の概略は以下のとおりである。
・ 推定したおおよその撮像装置の位置姿勢を用いて、計測対象物体における計測線分を、この撮像装置が撮像した撮像画像上に投影する。
・ 投影した計測線分の周辺の撮像画像上の画素を探索し、濃度が局所的に変化する領域(エッジ領域)の位置を求める、
・ エッジ領域の位置と、投影した計測線分との距離を小さくするような最適化計算を行う。
・ 推定したおおよその撮像装置の位置姿勢を、係る最適化計算に応じて更新させる。
この計測対象物体の計測線分を用いる位置姿勢推定は、係る計測対象物体の形状が既知であり、係る計測対象物体の3次元モデルが得られるのであれば可能であるので、利用範囲が広い。
さらに、撮像画像上のエッジを探索する範囲が、計測線分が投影された周辺の画像のみを処理するので、撮像画像全体から画像処理によりエッジを検出してからモデルとの距離を求める方法に比べ、処理時間を短くすることができるという利点がある。そのため、係る位置姿勢推定の方法は、複合現実感等、実時間処理が必要な撮像装置の位置合わせの為に用いられている。
非特許文献1では、計測対象物体として比較的簡素な形態を有するものを用いており、探索領域が重ならない粗な計測線分を用いている。
また、実際の環境では、照明や計測対象物体以外のものが設置されているので、計測対象物体以外のエッジも多く観察されることになる。
計測線分とエッジとの対応が不十分であると、他の計測線分のエッジとの差を計算する可能性もあり、誤った値へと解が収束する場合が発生する。そこで、複数のエッジが観測されることを前提として、複数の対応を保持しながら目的関数を最小化する方法が非特許文献2において開示されている。
複数の観察されたエッジから、対応する線分のエッジの一つを対応付け、対応付けたエッジと撮像画像上へ投影された計測線分との距離を小さくするように最適化計算を行う。対応付けに関する想定を何度か繰り返して最も誤差が少なくなるように収束させることで、計測対象外のエッジが混在した環境でも頑健に位置姿勢の推定が行える。
Tom Drummond and Roberto Cipolla."Real−time visual tracking of complex structures." IEEE Transaction of Pattern Analysis and Machine Intelligence. Vol.24,No.7,pp.932−946,2002 L.Vacchetti,V.Lepetit and P.Fua,"Combining edge and texture information for real−time accurate 3D camera tracking",Proceedings of International Symposium on Mixed and Augmented Reality,pp.48−57,2004
計測対象物体として任意のものを用いると、計測線分が密に成る可能性がある。1つの計測線分の周辺に複数の計測線分が存在するような計測対象物体、例えば、ジャングルジムのようなワイヤーフレームで構成された計測対象物体では、撮像画像上に投影されたそれぞれの計測線分における探索領域はお互いに重なり合う。この場合、重複した探索領域におけるエッジ探索処理は無駄となる。
更に、計測線分同士の関係を考慮していないため、計測対象物体の角付近や、平行な計測線分が撮像画像上で近接する場合には、計測線分とエッジとの対応関係を誤る可能性がある
また、計測対象物体が遠方にあると、撮像画像上における計測対象物体のサイズも小さくなるので、結果として計測線分同士の間隔が小さくなり、探索領域が重複する可能性は高くなる。これにより、検出されたエッジと計測線分との対応関係を誤る頻度も増えるため、位置姿勢の推定結果に影響が出てくる。
本発明は以上の問題に鑑みてなされたものであり、計測対象物体における計測線分と、撮像画像上の計測対象物体のエッジとを正確に対応付け、この対応の関係を用いてより正確に撮像装置の位置姿勢を計測するための技術を提供することを目的とする。
本発明の目的を達成するために、例えば、本発明の情報処理装置は以下の構成を備える。
即ち、現実空間中に配置されている現実物体を含む現実空間を、撮像装置が撮像することで得られる撮像画像を取得する取得手段と、
前記現実物体の位置姿勢に当該現実物体を模した仮想物体を配置させた後、当該仮想物体を前記撮像画像上に投影する投影手段と、
前記投影手段により前記撮像画像上に投影された仮想物体を構成する辺の周辺で、前記撮像画像上の前記現実物体の辺を探索する探索手段と、
前記探索手段による探索の結果に基づいて決まる、前記投影手段により前記撮像画像上に投影された仮想物体を構成する各辺と、前記撮像画像上に位置する前記現実物体を構成する各辺との対応関係を用いて、前記現実物体と前記撮像装置との位置姿勢関係を計算する計算手段とを備え、
前記探索手段は、
注目辺の周辺で探索を行う場合、前記投影手段により前記撮像画像上に投影された仮想物体を構成する各辺と前記注目辺との位置関係に応じて、探索範囲を設定することを特徴とする。
本発明の目的を達成するために、例えば、本発明の情報処理方法は以下の構成を備える。
即ち、現実空間中に配置されている現実物体を含む現実空間を、撮像装置が撮像することで得られる撮像画像を取得する取得工程と、
前記現実物体の位置姿勢に当該現実物体を模した仮想物体を配置させた後、当該仮想物体を前記撮像画像上に投影する投影工程と、
前記投影工程で前記撮像画像上に投影された仮想物体を構成する辺の周辺で、前記撮像画像上の前記現実物体の辺を探索する探索工程と、
前記探索工程での探索の結果に基づいて決まる、前記投影工程で前記撮像画像上に投影された仮想物体を構成する各辺と、前記撮像画像上に位置する前記現実物体を構成する各辺との対応関係を用いて、前記現実物体と前記撮像装置との位置姿勢関係を計算する計算工程とを備え、
前記探索工程では、
注目辺の周辺で探索を行う場合、前記投影工程で前記撮像画像上に投影された仮想物体を構成する各辺と前記注目辺との位置関係に応じて、探索範囲を設定することを特徴とする。
本発明の構成により、計測対象物体における計測線分と、撮像画像上の計測対象物体のエッジとを正確に対応付け、この対応の関係を用いてより正確に撮像装置の位置姿勢を計測することができる。
以下、添付図面を参照し、本発明の好適な実施形態について詳細に説明する。
[第1の実施形態]
図1は、本実施形態に係る情報処理装置を、撮像装置50の位置姿勢を計測する位置姿勢計測装置100に適用した場合に、係る位置姿勢計測装置100を含むシステムの機能構成を示すブロック図である。図1に示す如く、本実施形態に係るシステムは、撮像装置50、位置姿勢計測装置100、概略位置姿勢計測装置70により構成されている。以下、図1を用いて、これら各部について説明する。
現実空間中には、多角形の面で構成された任意の形状を有する現実物体199が、計測対象物体として配置されている。図1では係る現実物体199は直方体であるが、係る形状に限定するものではない。
撮像装置50は、係る現実物体199を含む現実空間の動画像を撮像するものであり、撮像した各フレームの画像(撮像画像、若しくは現実空間画像と呼称する)は、位置姿勢計測装置100に順次入力される。なお、撮像装置50は、位置姿勢計測装置100に対して撮像画像を入力することができるのであれば、有線で位置姿勢計測装置100に接続されても良いし、無線で位置姿勢計測装置100と通信しても良い。また図1では、撮像装置50は、位置姿勢計測装置100とは別個の装置として示されているが、位置姿勢計測装置100と一体化されても良い。
概略位置姿勢計測装置70は、位置姿勢計測装置100が後述する処理を実行する際に初期値として用いる「撮像装置50の位置姿勢」を示すデータを取得し、取得した「撮像装置50の位置姿勢」を示すデータを位置姿勢計測装置100に提供する装置である。概略位置姿勢計測装置70に適用可能な装置としては様々なものが考えられる。
ここでは一例として、概略位置姿勢計測装置70に、磁気センサシステムを適用した場合について説明する。磁気センサシステムは、トランスミッタ、レシーバ、コントローラにより構成されている。概略位置姿勢計測装置70として磁気センサシステムを用いる場合、概略位置姿勢計測装置70は撮像装置50の位置姿勢を示すデータを、以下のようにして取得する。
先ず、撮像装置50の撮像視点近傍にレシーバを装着する。そして現実空間中の予め定められた位置には、トランスミッタを配置する。トランスミッタは、コントローラによる制御に従って周囲に磁界を発生する。レシーバは係る磁界中で自身の位置姿勢に応じた磁界の変化を検知する。検知した結果を示す信号はコントローラに送出される。コントローラは、係る信号に基づいて、センサ座標系におけるレシーバの位置姿勢を求める。ここでセンサ座標系とは、トランスミッタの位置を原点とし、係る原点で互いに直交する3軸をそれぞれ、x、y、z軸とする座標系である。このように、磁気センサシステムを概略位置姿勢計測装置70に適用した場合、概略位置姿勢計測装置70は上述した磁気センサシステムが行う処理と同じ処理を行うことで、センサ座標系におけるレシーバの位置姿勢を取得する。ここで、センサ座標系が世界座標系と一致していれば、磁気センサシステムが求めたものは、世界座標系におけるレシーバの位置姿勢となる。また、一致していなくても、センサ座標系と世界座標系との位置姿勢関係が既知であれば、センサ座標系で求めたものを係る位置姿勢関係で変換することで、世界座標系における位置姿勢を得ることができる。なお、係る説明では、レシーバの位置姿勢が撮像装置50の位置姿勢として取り扱われることになる。また、レシーバと撮像装置50のレンズ位置(視点)との位置姿勢関係をバイアスとして予め測定しておき、係るバイアスをレシーバの位置姿勢に加えることで、概略位置姿勢計測装置70は視点の位置姿勢を求めることができる。そして概略位置姿勢計測装置70は、取得した位置姿勢のデータを、位置姿勢計測装置100に送出する。
もちろん、予め人が測定した撮像装置50の位置姿勢をデータとしてコンピュータのメモリに登録しておき、概略位置姿勢計測装置70が係るメモリからこのデータを読み出して位置姿勢計測装置100に入力するようにしても良い。このように、概略位置姿勢計測装置70が撮像装置50の位置姿勢を示すデータを取得し、位置姿勢計測装置100に入力するための構成については様々なものが考えられる。なお、概略位置姿勢計測装置70は最初に一度だけ撮像装置50の位置姿勢のデータを位置姿勢計測装置100に入力すると、位置姿勢計測装置100は係るデータを初期値として用い、後述する処理により、より精度の高い撮像装置50の位置姿勢を求める。そして、求めたより精度の高い位置姿勢を次の演算処理の初期値とするため、それ以降は概略位置姿勢計測装置70は必要ない。
次に、現実物体199の3次元モデル(仮想物体)のデータ60について説明する。3次元モデルのデータ60は、現実物体199の3次元的な幾何学形状について記した情報群で構成されている。3次元モデルのデータ60についての詳細は後述するが、3次元モデルのデータ60は、例えば、市販の3次元CADやCG作成用のソフトウェア等を用いて作成しても良いし、その作成方法については特に限定するものではない。係る3次元モデルのデータ60は、例えば、位置姿勢計測装置100の外部に接続されているサーバ装置やハードディスク装置などにデータとして保存されており、必要に応じて読み出され、位置姿勢計測装置100に入力される。なお、位置姿勢計測装置100が有する不図示のメモリに予め3次元モデルのデータ60が登録されている場合には、係る3次元モデルのデータ60を使用する際に、係るメモリから読み出せばよい。
次に、位置姿勢計測装置100について説明する。本実施形態では、現実物体199を撮像している撮像装置50の、現実物体199に対する相対的な位置姿勢を、位置姿勢計測装置100によって求めることを目的としている。なお、以下説明する「撮像装置50の位置姿勢を求める処理」は、撮像装置50から1フレーム分の撮像画像が位置姿勢計測装置100に入力される毎に、位置姿勢計測装置100が行う処理である。即ち、位置姿勢計測装置100は、撮像装置50から入力される撮像画像毎に、「撮像装置50の位置姿勢を求める処理」を行う。
位置姿勢計測装置100は、各種の処理を実行する処理部と、情報を保持するための保持部とで構成されている。後者は図1において情報保持部300に相当する。前者は、情報保持部300以外の各部に相当する。
撮像画像入力部150は、撮像装置50を位置姿勢計測装置100に接続するためのコネクタにより構成されており、撮像装置50から送出される撮像画像は係る撮像画像入力部150を介して後段の画像取得部200に信号として入力される。
画像取得部200は、撮像画像入力部150を介して入力された撮像画像の映像信号の水平同期信号、垂直同期信号を参照し、サンプリングを行う。そしてサンプリングした映像信号に基づいて、2次元画像のデータを生成する。そして係る2次元画像のデータを撮像画像のデータとして情報保持部300に送出する。
情報保持部300は、画像取得部200から受けた撮像画像のデータを、撮像画像310として保持する。
一方、計測線分抽出部160には、上述の3次元モデルのデータ60が入力される。計測線分抽出部160は、3次元モデルのデータ60から計測用線分データ320を抽出し、情報保持部300に送出する。情報保持部300は、係る計測用線分データ320を保持する。
計測用線分データ320は、(3次元モデルのデータ60が示す)3次元モデルを構成する各線分の両端の頂点の3次元座標値のデータにより構成されている。例えば、3次元モデルがポリゴンでもって構成されているのであれば、計測用線分データ320は、各頂点の3次元座標値のデータでもって構成されていることになる。3次元モデルのデータ60から計測線分抽出部160により計測用線分データ320を読み出し、情報保持部300に登録する処理は、位置姿勢計測装置100を起動し、以下説明する撮像装置50の位置姿勢を求める算出処理の開始前に行うようにしても良い。また、前回の位置姿勢の算出処理にて用いた計測用線分データ320を不揮発性メモリに格納したのであれば、係る計測用線分データ320をそのまま用いても良い。
また、3次元モデルのデータ60が、設計CADデータのフォーマットを有するものであれば、計測線分抽出部160は、係るフォーマットを解析し、計測用線分データ320を得、これを情報保持部300に登録する。即ち、3次元モデルのデータ60がどのようなフォーマットであっても、係るフォーマットを解析し、計測用線分データ320を得、これを情報保持部300に登録する。
一方、概略位置姿勢入力部170には、概略位置姿勢計測装置70から送出された撮像装置50の位置姿勢を示すデータが入力される。上述のように、概略位置姿勢計測装置70から入力したデータは、位置姿勢計測装置100が初期値として用いるものであり、正確なものでなくても良い。なお、概略位置姿勢計測装置70から送出されたデータが、世界座標系における位置姿勢を示すものであれば、これをそのまま撮像装置50の位置姿勢を示すデータ330として後段の情報保持部300に登録する。一方、概略位置姿勢計測装置70から送出されたデータが、センサ座標系等、世界座標系以外の座標系における位置姿勢を示すものであれば、係る座標系と世界座標系との位置姿勢関係を用いてこのデータを世界座標系における位置姿勢を示すデータに変換する。そして変換したデータをデータ330として情報保持部300に登録する。何れにせよ、データ330として、「世界座標系における撮像装置50の位置姿勢を示すデータ」を情報保持部300に登録する。
次に、情報保持部300に登録されたこれらの情報を用いて、現実物体199に対する撮像装置50の位置姿勢を求めるための処理について説明する。上述の通り、係る処理は、撮像画像310が情報保持部300に登録される毎に行われる。
ここで、世界座標系における現実物体199の位置姿勢、現実物体199を構成する各面(多角形)の各辺(計測線分)の両端の位置、は予め何らかの方法でもって測定されている。そして、測定された結果を示すデータは、位置姿勢計測装置100が有する不図示のメモリに登録されているものとする。また、上述の通り、計測用線分データ320には、現実物体199を模した3次元モデルを構成する各面(多角形)の各辺(計測線分)の両端の座標位置が登録されている。従って計測線分投影部400は、世界座標系における現実物体199の位置姿勢に、現実物体199を模した3次元モデルを配置させる処理を、各座標位置を世界座標系における位置に変換することで行う。なお、係る投影では、より手前の面によって隠れて見えない辺については投影しないものとする。係る技術については周知のものであるので、これについての説明は省略する。
ここで、世界座標系における位置[xと、係る位置を撮像画像上に投影した座標位置[uとの間には、透視投影変換行列Pにより、以下のような関係がある。
Figure 2008275341
ここで、左辺のhは同次座標変換の表現を用いており、定数倍の項としてhが得られると、それぞれの項をhで除することで値が得られる。また、R11、R12、R13、R21、R22、R23、R31、R32、R33を要素とする行列R(3×3行列)を世界座標系における姿勢の回転行列、t=[tを平行移動ベクトルとすると、上式のPは以下のように表せる。
Figure 2008275341
ここで、f、fはそれぞれ、水平方向の焦点距離、垂直方向の焦点距離であり、p、pはそれぞれ、撮像画像上における水平方向の主点座標、垂直方向の主点座標である。
情報保持部300が保持する位置姿勢のデータ330は、位置t=[tのデータと、姿勢ω=[ω ω ωのデータと、で構成されている。また、姿勢ωのデータと回転行列Rとの関係は以下のようになる。
Figure 2008275341
計測線分投影部400は、上述の式を用いて、世界座標系に配置した3次元モデルの計測線分毎に、その両端を、撮像装置50の撮像面に投影する。これにより、計測線分毎に、撮像面上における両端の座標位置を得ることができる。また、撮像面上には、撮像装置50が撮像した画像が写っており、係る画像には現実物体199が撮像されている。即ち、係る画像には、現実物体199と、現実物体199を模した3次元モデルとが、若干ずれてはいるものの、だいたい重なって位置している。しかし、現実物体199、3次元モデルのそれぞれにおいて対応する辺同士はずれている。以降の処理では、現実物体199を構成する各辺が、3次元モデルを構成する各辺のどれに対応するのかを探索する。
計測線分投影部400が、3次元モデルの全ての計測線分の両端を撮像面上に投影すると、エッジ探索設定部500は、投影した各計測線分の両端の座標位置を参照し、投影した計測線分同士の位置関係を判断する。そして、投影した計測線分の周囲で後述するエッジの探索処理を行う場合に、その探索範囲の設定を行う。
エッジ探索設定部500の主な処理は、ある計測線分についての探索範囲と、他の計測線分についての探索範囲とが重複している箇所の判定と、新たな探索領域の設定である。さらに、撮像面上に投影された計測線分の周辺領域に対して、撮像装置50によって撮像された撮像画像上の局所的に濃度変化がある領域を検出する処理を行う。局所的に濃度変化がある領域はエッジと呼ぶ。周辺領域の探索を効率的に行うために、非特許文献1では、投影計測線分の垂直の一次元方向にエッジを探索する処理を行っている。これにより、周辺領域全ての画素に対してエッジであるかどうかのチェックをする回数よりも少ない回数で効率的にエッジの場所を検出することができる。
ここで、エッジ探索設定部500が行う処理について詳細に説明する。
図2は、3次元モデルを構成する各辺(各計測線分)に対応する、現実物体199を構成する各辺(各エッジ)を探索する処理を説明する図である。図2において299は、上記3次元モデルのデータ60が示す3次元モデルである。250は、撮像装置50により撮像された撮像画像である。撮像画像250には、撮像装置50が撮像した現実物体199が位置している。また計測線分投影部400が上述のように、仮想物体299を現実物体199の位置姿勢に配置した後、撮像画像250上に投影したので、撮像画像250上には、仮想物体299が位置している。仮想物体299を構成する辺毎に、辺の周辺で局所的に濃度変化があるエッジを探索する。ここで、撮像画像上のエッジを探索する範囲をエッジ探索領域と呼ぶ。さらに、投影された計測線分を投影計測線分と呼ぶ。
図3は、i番目の投影計測線分(注目辺)の周辺でエッジを探索する処理について説明する図である。ここでiは、撮像画像上における3次元モデルの投影計測線分について付けられたインデックスである。以下ではi番目の投影計測線分を「投影計測線分i」と呼称する。
また、以下では、投影計測線分iの撮像画像上における始点の座標位置をPs(i)=[xs ys、終点をPe(i)=[xe yeとする。
始点と終点とを結ぶベクトルviは、vi=[xe−xs ye−ysとなり、正規化ベクトルviは以下のようになる。
Figure 2008275341
次に、ベクトルvi上に等間隔(=bi)に探索開始点c(i、m)を設定する。ここで、0≦m≦Miとし、既Miは下記の式に従う。
Figure 2008275341
ここで[x]はxを越えない最大の整数を示し、Bは、予め定められた探索線分間隔を示す。従って以上の式から、上記biは下記の式によって求めることができる。
Figure 2008275341
以上の式から、探索開始点c(i、m)は以下のようにして求めることができる。
Figure 2008275341
そして、探索開始点から、ベクトルviに垂直な方向に所定の距離範囲内でエッジを探索する。ここでは、図3に示す如く、探索開始点c(i、m)を挟んでs (i、m)からs (i、m)の範囲内でエッジを探索する。
ここで、上記正規化ベクトルviに垂直なベクトルをvi と表現する。即ち、vi・vi =0(「・」は内積)となる。
(i、m)とs (i、m)、s (i、m)との関係は以下のようになる。
Figure 2008275341
Figure 2008275341
ここでdは適宜決めて良い。
従って、m毎に、s (i、m)からs (i、m)の範囲内でエッジを探索することで、投影計測線分iについてエッジの探索を行うことができる。しかし、他の投影計測線分について同様の処理を行うと、エッジ探索領域が重複するおそれがあり、処理が冗長する。
図4は、それぞれの投影計測線分についてエッジの探索を行う場合に発生する処理の冗長を説明する図である。
図4(a)に示す如く、投影計測線分401と投影計測線分402とに対して上述のエッジの探索処理を行うと、それぞれのエッジ探索領域(投影計測線分401,402に垂直な線分群)には冗長箇所が存在する。図4(a)では、投影計測線分401と投影計測線分402とに挟まれた領域が冗長している。本実施形態では図4(b)に示す如く、網掛けしている領域については一回だけ探索する様にし、係る冗長の領域をできるだけ削減することを目的とする。
図5は、一端を共有する投影計測線分が2つである(複数存在する)場合に、これらの投影計測線分に対するエッジ探索領域を設定する処理を説明する図である。図5では、ベクトルviとvjとが始点を共有している。
ベクトルviとvjとが成す各をθとすると、以下の式が成立する。
Figure 2008275341
ここで中線ベクトルv’を下記の式に基づいて求める。
Figure 2008275341
次に、それぞれのベクトルvi、vjから中線ベクトルv’に降ろした垂線の長さがd以下となるような領域(図4(b)において網掛けした領域)については、一回だけ探索するようにする。
ベクトルvi(vj)から中線ベクトルに降ろした垂線の長さがdとなる場合の、垂線と中線ベクトルとの交点から、中線ベクトルの始点(ベクトルvi、vjの始点と一致する)までの距離をhとすると、下記の式が成り立つ。
Figure 2008275341
上記式から、下記の式が成り立つ。
Figure 2008275341
中線ベクトルには、等間隔で探索開始点c’(m’)を設定するのであるが、m’は、0≦m’≦M’で、M’は上記Bを用いて下記のようになる。
Figure 2008275341
そして、探索開始点から、ベクトルv’に垂直な方向に所定の距離範囲内でエッジを探索する。ここでは、図5に示す如く、探索開始点c(m’)を挟んでs’ (m’)からs’ (m’)の範囲内でエッジを探索する。
ここで、中線ベクトルv’に垂直なベクトルをv’ と表現する。この場合、c’(m’)とs’ (m’)、s’ (m’)との関係は以下のようになる。
Figure 2008275341
そして、ベクトルvi、vjについてエッジの探索処理を行う場合、それぞれのベクトルの始点からH(=√(h+d))以内についてはエッジの探索処理は行わない。Hについては下記の式で表される。
Figure 2008275341
そして、中線ベクトル上での各探索開始点c’(m’)におけるエッジの探索処理を行う。即ち、図4(b)の斜線部分については、中線ベクトル上での各探索開始点c’(m’)におけるエッジの探索処理を行う。また、それ以外については上述の通り、それぞれのベクトルvi、vj上における探索開始点におけるエッジの探索処理を行う。これにより2つのベクトルが始点を共有している場合、2つのベクトルが近すぎる領域内では、その中線となるベクトル上の各探索開始点についてエッジの探索処理を1回だけ行う。従って、それぞれのベクトルにおけるエッジの探索処理を行うという冗長を省くことができる。
なお、3本以上のベクトルが始点を共有している場合には、両端のベクトルを上記2本のベクトルと見なして同様の処理を行えばよい。
以上のようにしてエッジ探索設定部500は投影計測線分の位置関係に応じて、投影計測線分の周囲でエッジを探索する領域と、中線ベクトルの周囲でエッジを探索する領域とを設定する。その後、エッジ探索部600はこのようにして設定された領域でエッジの探索を行う。
次に、投影計測線分同士が略平行な場合であっても、エッジ探索設定部500は、処理が冗長する領域を省くための処理を行う。ここで、「略平行」とは、例えば、2つの線分が略平行であるという場合には、それぞれの線分の方向ベクトルの各成分の差(「差」の定義は様々であり特に限定するものではない)が所定の閾値内に収まるような場合を差す。
図6は、それぞれの投影計測線分についてエッジの探索を行う場合に発生する処理の冗長を説明する図である。
図6(a)に示す如く、投影計測線分601と投影計測線分602とに対して上述のエッジの探索処理を行うと、それぞれのエッジ探索領域(投影計測線分601,602に垂直な線分群)には冗長箇所が存在する。同図では、投影計測線分601と投影計測線分602とに挟まれた領域が冗長している。例えば、ビルの窓枠などの繰り返しパターンが多い3次元モデルを用いた場合、平行する投影計測線分が多数ある。本実施形態では図6(b)に示す如く、網掛けしている領域については一回だけ探索する様にし、係る冗長の領域をできるだけ削減することを目的とする。
図7は、略平行な投影計測線分が2つである場合に、これらの投影計測線分に対する探索領域を設定する処理を説明する図である。なお、事前に略平行な投影計測線分となりうる計測線分を予め何らかの方法でもって選択し、選択した計測線分についてのみ以下の処理を行うことで、より処理の効率を上げることができる。
本実施形態では、計測用線分データ320のうち、表示対象となった計測線分のうち、予め略平行な計測線分として選択されたもののみが、以下の処理対象となる。もちろん、投影計測線分において略平行となるものを画像処理でもって検出しても良いが、処理が煩雑になる。
図7において計測線分751と計測線分752とは、その両端の3次元座標から、平行であるとする。ここで、計測線分751の撮像画像上における始点、終点をそれぞれPs(i)=[xs ys、Pe(i)=[xe yeとする。また、計測線分752の撮像画像上における始点、終点をそれぞれPs(i+1)=[xsi+1 ysi+1、Pe(i+1)=[xei+1 yei+1とする。それぞれの始点、終点は上述した処理でもって、3次元空間における点を撮像画像に投影したものである。
そして、Ps(i)、Pe(i)を結ぶベクトルをvi、Ps(i+1)、Pe(i+1)を結ぶベクトルをvjとする。
ここで、2つの投影計測線分の始点同士、終点同士を結ぶ各線分の中点を通る線を中線763とする。
始点Ps(i)と始点Ps(i+1)との中点Psは下記の式でもって求められる。
Figure 2008275341
一方、終点Pe(i)と終点Pe(i+1)との中点Peは下記の式でもって求められる。
Figure 2008275341
そして、中点PsとPeとを結ぶベクトルv’及びその正規化ベクトルv’は下記の式でもって表される。
Figure 2008275341
次に、上記始点Ps(i)、Ps(i+1)、終点Pe(i)、Pe(i+1)のそれぞれから中線763に降ろした点をそれぞれ、Ps’(i)、Ps’(i+1)、Pe’(i)、Pe’(i+1)とする。そして、Ps’(i)〜Pe’(i)の区間と、Ps’(i+1)〜Pe’(i+1)の区間とで重複した区間を求める。図7の場合、Ps’(i+1)〜Pe’(i)の区間が重複した区間となる。従って係る区間については、始点を共有するベクトルに挟まれた領域と同様にして、探索開始点を設定し、各探索開始点毎にエッジの探索処理を行う。
以上のようにしてエッジ探索設定部500が投影計測線分の位置関係に応じて、投影計測線分の周囲でエッジを探索する領域と、中線の周囲でエッジを探索する領域とを設定するので、エッジ探索部600はこのようにして設定された領域でエッジの探索を行う。
なお、ここで述べたエッジの探索領域を設定する方法は、基本的には重複する領域をまとめるように動作する手段であれば良く、装置の計算能力や対象となる計測線分の個数に応じて適宜変更しても良い。ここでは、全体の探索領域の個数nが(n−1)個以下になれば良い。
エッジ探索部600は、以上のようにして設定された探索開始点から、投影計測線分に垂直な方向に撮像画像310の画素の濃度を読み取る。ここで読み取る範囲は、現実物体199と撮像装置50との位置関係を配慮して設定されるほうが良い。読み取った濃度が、隣接する画素に対して濃度勾配が大きい画素については「エッジを構成する画素」と判断し、その画素の座標位置を記録する。このような処理を、各探索開始点について行う。
図8は、各投影計測線分と、探索されたエッジの画素との位置関係を示す図である。図8において、画素Q1は投影計測線分Aから探索されたものであり、画素Q2は投影計測線分Bから探索されたものである。ここで、画素Q1を探索した投影計測線分A上の探索開始点を中心とする確率密度分布Pr(A)を設定し、画素Q2を探索した投影計測線分B上の探索開始点を中心とする確率密度分布Pr(B)を設定する。そして、Pr(A)およびPr(B)に対する画素Q1のそれぞれの確率密度を求め、求めた確率密度が大きい方の分布を設定した方の投影計測線分が、画素Q1に対応するものであると判断する。同様に、Pr(A)およびPr(B)に対する画素Q2のそれぞれの確率密度を求め、求めた確率密度が大きい方の分布を設定した方の投影計測線分が、画素Q2に対応するものであると判断する。
以上のようにして、1つの投影計測線分に対応するエッジの画素群を特定することができるので、結果として、各投影計測線分に対応するエッジ(対応関係)を検出することができる。
次に、位置姿勢更新部800は、エッジ探索部600により検出されたエッジの両端の画像座標と、係るエッジに対応する投影計測線分との距離に基づいて、撮像装置50の位置姿勢を求める処理を行う。
ここで、位置姿勢更新部800が行う処理について詳細に説明する。位置姿勢更新部800は、撮像画像上に写っている対象物の位置と、現在求まっている撮像装置50の位置姿勢に基づいて推定される撮像画像上の対象物の位置との誤差を極小化することで、撮像装置50の位置姿勢を再推定するものである。
本実施形態では、上記「誤差」を表す誤差関数Eを用いる。Eは下記のパラメータを入力とする関数である。
・ 撮像装置50の位置t=[t
・ 撮像装置50の姿勢ω=[ω ω ω
・ 現実物体199を構成する各面(多角形)の各辺(計測線分)の両端の位置x=[x
そして、投影計測線分の両端の画像座標u’=[u’ u’、投影計測線分の両端に対応するエッジの画像座標u=[uとすると、下記の式が成り立つ。
Figure 2008275341
一般に、上記誤差関数Eは非線形の関数となる。本実施形態では、投影計測線分と直交し且つu=[uを通る直線が、この投影計測線分と交差する点をu”とした場合の下記の式を誤差関数Eとして用いる。
Figure 2008275341
撮像装置50の位置姿勢がわずかに変化する範囲において、上記式21を1次のテイラー展開を用いて線形近似すると下記の式が成り立つ。
Figure 2008275341
ここで、E’は、上記誤差関数Eにt、ω、x 、uを代入したときに得られる誤差である。t、ω、x 、uは以下の通りである。
・ t=[t
・ ω=[ω ω ω
・ x =[x
・ u=[u
これにより、t、ω、x 、uの近傍において線形化された式を用いてΔt、Δt、Δt、Δω、Δω、Δω、Δx、Δy、Δzを求めることができる。そして求めたこれらをt、ω、x 、uに補正値として加えることで、誤差関数Eを極小化することができる。
通常、方程式の数と変数の数は一致しないため、多数の参照点の情報を用いて最小二乗法によって補正ベクトルΔを求める。そこで、補正ベクトルΔについてまとめる。まず、各変数の偏微分をまとめた行列をJとし、補正ベクトルΔと誤差ベクトルE’は上式より以下の式となる。
Figure 2008275341
次に、Jの転置行列Jを左右に掛け合わせ、補正ベクトルΔの式としてまとめると以下のように表せる。
Figure 2008275341
そして以上の計算処理を、補正ベクトルΔの各成分の値が閾値以下となるまで繰り返し行うことで、撮像装置50のより精度の高い位置姿勢を求めることができる。そして位置姿勢更新部800は、補正ベクトルΔの各成分の値が閾値以下となる等、所定の条件が満たされた時点で求めている撮像装置50の位置姿勢を示すデータを、データ80として出力する。なお、出力先については特に限定するものではない。
上述した方法は、Newton法による求解法に基づいているが、他の方法でもって上記誤差関数Eを極小化するようにしても良い。観測される線分と推定する位置姿勢により投影された3次元モデルの線分との撮像画像上での差が小さくすることができれば良いので、公知の非線形最適化手法を適用することで同様の効果は得られる。
例えば、おおよその推定中の位置姿勢に対して、その各変数値の周辺に僅かな差を有するランダムな組み合わせを多数生成し、それぞれの組み合わせに対して誤差を求め、誤差の値が小さい組み合わせを利用する方法でも同様な効果は得られる。
図11は、位置姿勢計測装置100が、撮像装置50の位置姿勢を求めるための処理のフローチャートである。なお、同図のフローチャートに従った処理は上述の通りであるので、ここでは簡単に説明する。
ステップS1101では、撮像画像入力部150は、撮像装置50から送出される撮像画像を画像取得部200に信号として入力し、画像取得部200は、この撮像画像の映像信号の水平同期信号、垂直同期信号を参照し、サンプリングを行う。そしてサンプリングした映像信号に基づいて、2次元画像のデータを生成し、情報保持部300に送出する。情報保持部300は、画像取得部200から受けた撮像画像のデータを、撮像画像310として保持する。
ステップS1102では、概略位置姿勢入力部170には、概略位置姿勢計測装置70から送出された撮像装置50の位置姿勢を示すデータが入力されるので、これを撮像装置50の位置姿勢を示すデータ330として後段の情報保持部300に登録する。なお、概略位置姿勢計測装置70から送出されたデータが、センサ座標系等、世界座標系以外の座標系における位置姿勢を示すものであれば、係る座標系と世界座標系との位置姿勢関係を用いてこのデータを世界座標系における位置姿勢を示すデータに変換する。そして変換したデータをデータ330として情報保持部300に登録する。
次にステップS1103では、計測線分抽出部160は、3次元モデルのデータ60から計測用線分データ320を抽出し、情報保持部300に送出する。情報保持部300は、係る計測用線分データ320を保持する。そして計測線分投影部400は、世界座標系に配置した3次元モデルの計測線分毎に、その両端を、撮像装置50の撮像面に投影する。
ステップS1104では、エッジ探索設定部500は、投影した各計測線分の両端の座標位置を参照し、投影計測線分同士の位置関係を判断する。そして、一端を共有する投影計測線分が2つ以上存在するか否かをチェックする。係るチェックの結果、存在しない場合には処理をステップS1106に進め、存在する場合には処理をステップS1105に進める。
ステップS1105では、エッジ探索設定部500が、投影計測線分の位置関係に応じて、投影計測線分の周囲でエッジを探索する領域と、中線ベクトルの周囲でエッジを探索する領域とを設定する。そして、エッジ探索部600は、一端を共有するそれぞれのベクトルの一端から上記距離H未満については中線ベクトル上での各探索開始点c’(m’)におけるエッジの探索処理を行う。また、距離H以上については上述の通り、それぞれのベクトル上における探索開始点におけるエッジの探索処理を行う。
次にステップS1106では、エッジ探索設定部500は、各計測線分の両端の座標位置を参照し、計測線分同士の位置関係を判断する。そして、略平行な投影計測線分が存在するか否かをチェックする。係るチェックの結果、存在しない場合には処理をステップS1108に進め、存在する場合には処理をステップS1107に進める。
ステップS1107では、エッジ探索設定部500が、投影計測線分の位置関係に応じて、投影計測線分の周囲でエッジを探索する領域と、中線の周囲でエッジを探索する領域とを設定する。そしてエッジ探索設定部500は、一方の投影計測線分の区間と、他方の投影計測線分の区間とで重複した区間を求め、求めた区間については、始点を共有するベクトルに挟まれた領域と同様にして探索開始点を設定し、各探索開始点毎にエッジの探索処理を行う。また、それぞれの投影計測線分について重複しない区間については上述の通り、それぞれの投影計測線分上における探索開始点におけるエッジの探索処理を行う。
そしてステップS1108では、各計測線分に対応するエッジを検出すると、位置姿勢更新部800は、上述の処理を行い、撮像装置50の位置姿勢を推定する為の演算処理を行う。係る演算処理にて終了条件が満たされた場合、例えば、補正ベクトルΔの各成分の値が閾値以下となった場合には処理をステップS1109を介して本処理を終了する。一方、終了条件が満たされていない場合には処理をステップS1109を介してステップS1108に戻し、演算処理を繰り返す。
以上の説明により、本実施形態によれば、撮像画像上のエッジ探索領域の重複を減らすことができる。また、エッジ探索領域の重複を減らすことは、画像を保持しているメモリへのアクセス数を減らすことになるので、処理全体に要する時間の短縮にもつながり、処理の効率化が期待できる。
[第2の実施形態]
本実施形態では、第1の実施形態で説明した位置姿勢計測装置100を、複合現実空間をユーザに提示するシステムに適用した場合について説明する。
図9は、本実施形態に係るシステムの機能構成を示すブロック図である。図9において図1と同じ部分については同じ番号を付けている。
図9において10は、現実物体であり、多角形の面で構成されている立体物である。撮像装置50は現実物体10を含む現実空間の動画像を撮像し、各フレームの画像は画像入力部921を介してクロマキー合成装置920に入力されると共に、撮像画像入力部150を介して位置姿勢計測装置100に入力される。
位置姿勢計測装置100内には、上記3次元モデルのデータ60の代わりに、現実物体10に対応する3次元モデルのデータが登録されている。データの構造については同じである。
位置姿勢計測装置100は第1の実施形態で説明したような処理を行い、現実物体10に対する撮像装置50の位置姿勢を求め、求めた位置姿勢を示すデータを位置姿勢入力部911を介してCG(コンピュータグラフィックス)描画装置910に入力する。
CG描画装置910は、位置姿勢計測装置100から位置姿勢を示すデータを受けると、係るデータが示す位置姿勢を有する視点を仮想空間中に設け、係る視点から見える仮想空間の画像(CG)を生成する。図9において950は、CG描画装置910が生成した画像を示す。係る画像のデータは、画像入力部922を介してクロマキー合成装置920に入力される。
ここで本実施形態では、CG描画装置910で生成した背景画像は全てクロマキー色であるとする。
クロマキー合成装置920は、撮像装置50から受けた撮像画像上に、CG描画装置910から受けたCGをクロマキー合成した画像(合成画像)を生成する。図9において930は、係る合成画像を示す。係る合成画像は、例えば、CRTや液晶画面などにより構成されている表示装置上に表示させても良いし、周知のHMD(Head Mount Display)が有する表示装置に表示させても良い。
係るシステムを用いれば、例えば、部品と部品との干渉等を、実際の部品とCADで設計中の仮想部品を画面で観察することが可能となる。例えば、合成画像930をHMDを用いて観測することで、作業者の確認も容易になる。
その際、HMDを頭部に装着するユーザの視線方向と撮像装置50の撮像方向とを同じにしておけば、ユーザの頭部の位置姿勢に応じた合成画像をこのユーザに提供することができる。
さらに、位置姿勢計測装置100とCG描画装置910とクロマキー合成装置920とを同じ装置内で実現することも可能である。
図10は、現実物体と、計測線分との関係を示す図である。図10(a)は、撮像画像を示す図である。図10(b)は、現実物体を模した3次元モデルを構成する各計測線分を撮像画像上に投影した投影計測線分を示す図である。さらに、図10(b)中の白丸は、投影計測線分上の探索開始点を表している。探索開始点から、図10(a)の撮像画像上の現実物体のエッジに対して垂直方向に探索する様子を図10(c)に示す。各白丸で示し探索開始点の位置から伸びている短い線分は、撮像画像上の現実物体の観測されるエッジまでの距離を示す。投影計測線分からエッジまでの距離が短くなるほど、撮像装置50の位置姿勢の推定精度は高くなる。
なお、上記実施形態で説明した構成は一例であり、例えば、撮像装置50と位置姿勢計測装置100とを有する装置、例えば、カメラ付き携帯電話や、カメラ付きノート型コンピュータなどもまた、第1の実施形態で説明したシステムに適用することができる。さらに、位置姿勢の計測結果を利用して、近隣の施設や場所に関する情報を呈示するような2次的なサービスを実施することも可能である。
[第3の実施形態]
第1の実施形態では、図1に示した位置姿勢計測装置100を構成する各部は全てハードウェアでもって構成されているものとして説明した。しかし、その一部をソフトウェアでもって構成しても良い。例えば、情報保持部300をメモリとして実装し、各入力部1150,170、抽出部160、出力部180をI/F(インターフェース)でもって実装し、それ以外をソフトウェアでもって実装しても良い。
この場合、係るソフトウェアは、一般のPC(パーソナルコンピュータ)が有するメモリに格納され、係るPCが有するCPUにより実行させる。このように、図1に示した位置姿勢計測装置100を構成する各部のうち一部をソフトウェアでもって構成した場合に、係るソフトウェアを実行するコンピュータは、位置姿勢計測装置100に適用可能である。
図12は、位置姿勢計測装置100に適用可能なコンピュータのハードウェア構成を示すブロック図である。
CPU1201は、RAM1202やROM1203に格納されているコンピュータプログラムやデータを用いて本コンピュータ全体の制御を行うと共に、本コンピュータを適用する位置姿勢計測装置100が行う上述の各処理を実行する。
RAM1202は、外部記憶装置1206からロードされたコンピュータプログラムやデータ、I/F1207を介して外部から受信したデータなどを一時的に記憶するためのエリアを有する。また、RAM1202は、CPU1201が各処理を実行する際に用いるワークエリアも有する。例えば、RAM1202は、図1に示した情報保持部300に相当する。CPU1201はRAM1202に保持されているコンピュータプログラムやデータなどを用いて処理を実行する。
ROM1203には、ブートプログラムや本コンピュータの設定データなどが格納されている。
操作部1204は、キーボードやマウスなどにより構成されており、本コンピュータの操作者が操作することで、各種の指示をCPU1201に対して入力することができる。
表示部1205はCRTや液晶画面などにより構成されており、CPU1201による処理結果を画像や文字などでもって表示することができる。例えば、上記撮像画像や合成画像等を表示することができる。
外部記憶装置1206は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。外部記憶装置1206は、OS(オペレーティングシステム)や、位置姿勢計測装置100が行う上述の各処理をCPU1201に実行させるためのコンピュータプログラムやデータなどが保存されている。係るコンピュータプログラムは、例えば、画像取得部200、計測線分投影部400、エッジ探索設定部500、エッジ探索部600、位置姿勢更新部800の上述の機能をCPU1201に実行させるためのコンピュータプログラムに相当する。また、上述の説明において既知の情報として説明したものも、この外部記憶装置1206に保存されている。外部記憶装置1206に保存されているコンピュータプログラムやデータは、CPU1201による制御に従って適宜RAM1202にロードされ、CPU1201による処理対象となる。
I/F1207には、上記撮像装置50や概略位置姿勢計測装置70等が接続される。なお、それぞれの装置毎にこのI/F1207を設けても良い。
1208は上述の各部を繋ぐバスである。
なお、コンピュータのハードウェア構成については当業者であれば、適宜変形することは容易である。
[その他の実施形態]
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給する。係る記憶媒体は言うまでもなく、コンピュータ読み取り可能な記憶媒体である。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
本発明の第1の実施形態に係る情報処理装置を、撮像装置50の位置姿勢を計測する位置姿勢計測装置100に適用した場合に、係る位置姿勢計測装置100を含むシステムの機能構成を示すブロック図である。 3次元モデルを構成する各辺(各計測線分)に対応する、現実物体199を構成する各辺(各エッジ)を探索する処理を説明する図である。 i番目の投影計測線分(注目辺)の周辺でエッジを探索する処理について説明する図である。 それぞれの投影計測線分についてエッジの探索を行う場合に発生する処理の冗長を説明する図である。 一端を共有する投影計測線分が2つである場合に、これらの投影計測線分に対するエッジ探索領域を設定する処理を説明する図である。 それぞれの投影計測線分についてエッジの探索を行う場合に発生する処理の冗長を説明する図である。 略平行な投影計測線分が2つである場合に、これらの投影計測線分に対する探索領域を設定する処理を説明する図である。 各投影計測線分と、探索されたエッジの画素との位置関係を示す図である。 本発明の第2の実施形態に係るシステムの機能構成を示すブロック図である。 現実物体と、計測線分との関係を示す図である。図10(a)は、撮像画像を示す図である。 位置姿勢計測装置100が、撮像装置50の位置姿勢を求めるための処理のフローチャートである。 位置姿勢計測装置100に適用可能なコンピュータのハードウェア構成を示すブロック図である。

Claims (7)

  1. 現実空間中に配置されている現実物体を含む現実空間を、撮像装置が撮像することで得られる撮像画像を取得する取得手段と、
    前記現実物体の位置姿勢に当該現実物体を模した仮想物体を配置させた後、当該仮想物体を前記撮像画像上に投影する投影手段と、
    前記投影手段により前記撮像画像上に投影された仮想物体を構成する辺の周辺で、前記撮像画像上の前記現実物体の辺を探索する探索手段と、
    前記探索手段による探索の結果に基づいて決まる、前記投影手段により前記撮像画像上に投影された仮想物体を構成する各辺と、前記撮像画像上に位置する前記現実物体を構成する各辺との対応関係を用いて、前記現実物体と前記撮像装置との位置姿勢関係を計算する計算手段とを備え、
    前記探索手段は、
    注目辺の周辺で探索を行う場合、前記投影手段により前記撮像画像上に投影された仮想物体を構成する各辺と前記注目辺との位置関係に応じて、探索範囲を設定することを特徴とする情報処理装置。
  2. 前記探索手段は、
    前記投影手段により前記撮像画像上に投影された仮想物体を構成する各辺のうち、一端を共有する辺が複数存在する場合、当該複数の辺の間の領域については1回のみの探索を行うことを特徴とする請求項1に記載の情報処理装置。
  3. 前記探索手段は、
    前記投影手段により前記撮像画像上に投影された仮想物体を構成する各辺のうち、平行な2つの辺の中線に投影すると重複する部分が発生するような当該2つの辺と当該中線との間の領域については1回のみの探索を行うことを特徴とする請求項1に記載の情報処理装置。
  4. 前記計算手段により求める位置姿勢関係に基づいて決まる視点から見える仮想空間の画像を生成する手段と、
    前記仮想空間の画像と前記撮像画像とを合成した合成画像を出力する手段と
    を備えることを特徴とする請求項1に記載の情報処理装置。
  5. 現実空間中に配置されている現実物体を含む現実空間を、撮像装置が撮像することで得られる撮像画像を取得する取得工程と、
    前記現実物体の位置姿勢に当該現実物体を模した仮想物体を配置させた後、当該仮想物体を前記撮像画像上に投影する投影工程と、
    前記投影工程で前記撮像画像上に投影された仮想物体を構成する辺の周辺で、前記撮像画像上の前記現実物体の辺を探索する探索工程と、
    前記探索工程での探索の結果に基づいて決まる、前記投影工程で前記撮像画像上に投影された仮想物体を構成する各辺と、前記撮像画像上に位置する前記現実物体を構成する各辺との対応関係を用いて、前記現実物体と前記撮像装置との位置姿勢関係を計算する計算工程とを備え、
    前記探索工程では、
    注目辺の周辺で探索を行う場合、前記投影工程で前記撮像画像上に投影された仮想物体を構成する各辺と前記注目辺との位置関係に応じて、探索範囲を設定することを特徴とする情報処理方法。
  6. コンピュータに請求項5に記載の情報処理方法を実行させるためのコンピュータプログラム。
  7. 請求項6に記載のコンピュータプログラムを格納したことを特徴とする、コンピュータ読み取り可能な記憶媒体。
JP2007115988A 2007-04-25 2007-04-25 情報処理装置、情報処理方法 Active JP5248806B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007115988A JP5248806B2 (ja) 2007-04-25 2007-04-25 情報処理装置、情報処理方法
US12/107,267 US7911503B2 (en) 2007-04-25 2008-04-22 Information processing apparatus and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007115988A JP5248806B2 (ja) 2007-04-25 2007-04-25 情報処理装置、情報処理方法

Publications (3)

Publication Number Publication Date
JP2008275341A true JP2008275341A (ja) 2008-11-13
JP2008275341A5 JP2008275341A5 (ja) 2010-06-03
JP5248806B2 JP5248806B2 (ja) 2013-07-31

Family

ID=39886463

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007115988A Active JP5248806B2 (ja) 2007-04-25 2007-04-25 情報処理装置、情報処理方法

Country Status (2)

Country Link
US (1) US7911503B2 (ja)
JP (1) JP5248806B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011027623A (ja) * 2009-07-28 2011-02-10 Canon Inc 位置姿勢計測方法及び装置
JP2011179908A (ja) * 2010-02-26 2011-09-15 Canon Inc 3次元計測装置、その処理方法及びプログラム
JP2012141899A (ja) * 2011-01-05 2012-07-26 Fuji Xerox Co Ltd 誤差検出装置及び誤差検出プログラム
JP2015007639A (ja) * 2014-08-20 2015-01-15 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
JP2015532077A (ja) * 2012-09-27 2015-11-05 メタイオ ゲゼルシャフト ミット ベシュレンクテル ハフツングmetaio GmbH 少なくとも1つの画像を撮影する撮影装置に関連する装置の位置及び方向の決定方法
CN113284097A (zh) * 2021-05-11 2021-08-20 南京理工大学 一种基于力觉与视觉的避雷器自适应寻孔装配方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2897163B1 (fr) * 2006-02-08 2008-04-11 Thales Sa Procede de geo-localisation d'une ou plusieurs cibles
JP4739309B2 (ja) * 2007-11-09 2011-08-03 株式会社リコー 情報処理装置、及び情報処理方法
JP5418061B2 (ja) * 2009-08-20 2014-02-19 沖電気工業株式会社 遠隔コミュニケーション装置、遠隔コミュニケーション方法、および遠隔コミュニケーションシステム
US8649025B2 (en) * 2010-03-27 2014-02-11 Micrometric Vision Technologies Methods and apparatus for real-time digitization of three-dimensional scenes
JP5791434B2 (ja) * 2011-08-31 2015-10-07 任天堂株式会社 情報処理プログラム、情報処理システム、情報処理装置および情報処理方法
JP5791433B2 (ja) 2011-08-31 2015-10-07 任天堂株式会社 情報処理プログラム、情報処理システム、情報処理装置および情報処理方法
JP2013050883A (ja) 2011-08-31 2013-03-14 Nintendo Co Ltd 情報処理プログラム、情報処理システム、情報処理装置および情報処理方法
JP2014112055A (ja) * 2012-12-05 2014-06-19 Denso It Laboratory Inc カメラ姿勢の推定方法およびカメラ姿勢の推定システム
US20140282220A1 (en) * 2013-03-14 2014-09-18 Tim Wantland Presenting object models in augmented reality images
US10311595B2 (en) * 2013-11-19 2019-06-04 Canon Kabushiki Kaisha Image processing device and its control method, imaging apparatus, and storage medium
EP2911040A1 (en) * 2014-02-25 2015-08-26 Thomson Licensing Method and device for controlling a scene comprising real and virtual objects
US9305345B2 (en) * 2014-04-24 2016-04-05 General Electric Company System and method for image based inspection of an object
CA2960816A1 (en) 2014-09-10 2016-03-17 Hasbro, Inc. Toy system with manually operated scanner
WO2016172506A1 (en) 2015-04-23 2016-10-27 Hasbro, Inc. Context-aware digital play
JP6635690B2 (ja) * 2015-06-23 2020-01-29 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
JP7102173B2 (ja) * 2018-03-09 2022-07-19 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0620189A (ja) * 1992-06-29 1994-01-28 Nissan Motor Co Ltd 道路形状計測装置
JPH0727541A (ja) * 1993-07-14 1995-01-27 Nissan Motor Co Ltd 道路形状及び自車両位置の計測装置
JPH08249442A (ja) * 1995-03-09 1996-09-27 Nikon Corp 二次元撮像式スキャナ
JPH11153406A (ja) * 1997-11-20 1999-06-08 Nissan Motor Co Ltd 車両用障害物検出装置
US20010043738A1 (en) * 2000-03-07 2001-11-22 Sawhney Harpreet Singh Method of pose estimation and model refinement for video representation of a three dimensional scene
JP2002259992A (ja) * 2001-03-06 2002-09-13 Mixed Reality Systems Laboratory Inc 画像処理装置およびその方法並びにプログラムコード、記憶媒体
JP2003344018A (ja) * 2003-04-04 2003-12-03 Canon Inc 画像処理装置およびその方法並びにプログラム、記憶媒体
JP2005069757A (ja) * 2003-08-21 2005-03-17 National Institute Of Advanced Industrial & Technology 中心窩広視野画像を利用したカメラ位置姿勢推定方法及びシステム
JP2005192880A (ja) * 2004-01-08 2005-07-21 Olympus Corp 画像処理方法
JP2006127468A (ja) * 2004-09-28 2006-05-18 Canon Inc 情報処理方法および装置
JP2006294003A (ja) * 2005-03-15 2006-10-26 Omron Corp 画像処理方法およびその方法を用いた3次元計測方法ならびに画像処理装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7620909B2 (en) * 1999-05-12 2009-11-17 Imove Inc. Interactive image seamer for panoramic images
AU2003277240A1 (en) * 2002-10-15 2004-06-07 University Of Southern California Augmented virtual environments
US7613361B2 (en) * 2004-05-14 2009-11-03 Canon Kabushiki Kaisha Information processing method and device

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0620189A (ja) * 1992-06-29 1994-01-28 Nissan Motor Co Ltd 道路形状計測装置
JPH0727541A (ja) * 1993-07-14 1995-01-27 Nissan Motor Co Ltd 道路形状及び自車両位置の計測装置
JPH08249442A (ja) * 1995-03-09 1996-09-27 Nikon Corp 二次元撮像式スキャナ
JPH11153406A (ja) * 1997-11-20 1999-06-08 Nissan Motor Co Ltd 車両用障害物検出装置
US20010043738A1 (en) * 2000-03-07 2001-11-22 Sawhney Harpreet Singh Method of pose estimation and model refinement for video representation of a three dimensional scene
JP2002259992A (ja) * 2001-03-06 2002-09-13 Mixed Reality Systems Laboratory Inc 画像処理装置およびその方法並びにプログラムコード、記憶媒体
JP2003344018A (ja) * 2003-04-04 2003-12-03 Canon Inc 画像処理装置およびその方法並びにプログラム、記憶媒体
JP2005069757A (ja) * 2003-08-21 2005-03-17 National Institute Of Advanced Industrial & Technology 中心窩広視野画像を利用したカメラ位置姿勢推定方法及びシステム
JP2005192880A (ja) * 2004-01-08 2005-07-21 Olympus Corp 画像処理方法
JP2006127468A (ja) * 2004-09-28 2006-05-18 Canon Inc 情報処理方法および装置
JP2006294003A (ja) * 2005-03-15 2006-10-26 Omron Corp 画像処理方法およびその方法を用いた3次元計測方法ならびに画像処理装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011027623A (ja) * 2009-07-28 2011-02-10 Canon Inc 位置姿勢計測方法及び装置
JP2011179908A (ja) * 2010-02-26 2011-09-15 Canon Inc 3次元計測装置、その処理方法及びプログラム
JP2012141899A (ja) * 2011-01-05 2012-07-26 Fuji Xerox Co Ltd 誤差検出装置及び誤差検出プログラム
JP2015532077A (ja) * 2012-09-27 2015-11-05 メタイオ ゲゼルシャフト ミット ベシュレンクテル ハフツングmetaio GmbH 少なくとも1つの画像を撮影する撮影装置に関連する装置の位置及び方向の決定方法
JP2015007639A (ja) * 2014-08-20 2015-01-15 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
CN113284097A (zh) * 2021-05-11 2021-08-20 南京理工大学 一种基于力觉与视觉的避雷器自适应寻孔装配方法
CN113284097B (zh) * 2021-05-11 2022-08-12 南京理工大学 一种基于力觉与视觉的避雷器自适应寻孔装配方法

Also Published As

Publication number Publication date
JP5248806B2 (ja) 2013-07-31
US20080266416A1 (en) 2008-10-30
US7911503B2 (en) 2011-03-22

Similar Documents

Publication Publication Date Title
JP5248806B2 (ja) 情報処理装置、情報処理方法
US10102639B2 (en) Building a three-dimensional composite scene
JP5538667B2 (ja) 位置姿勢計測装置及びその制御方法
US8059889B2 (en) Position and orientation measurement apparatus and control method thereof
US10410089B2 (en) Training assistance using synthetic images
EP1596330B1 (en) Estimating position and orientation of markers in digital images
JP4708752B2 (ja) 情報処理方法および装置
JP5093053B2 (ja) 電子カメラ
US20150062123A1 (en) Augmented reality (ar) annotation computer system and computer-readable medium and method for creating an annotated 3d graphics model
JP6491517B2 (ja) 画像認識ar装置並びにその姿勢推定装置及び姿勢追跡装置
EP3633606B1 (en) Information processing device, information processing method, and program
WO2014172484A1 (en) Handheld portable optical scanner and method of using
US11490062B2 (en) Information processing apparatus, information processing method, and storage medium
JP2012053631A (ja) 情報処理装置、情報処理方法
WO2019093457A1 (ja) 情報処理装置、情報処理方法及びプログラム
JP2007286715A (ja) 画像合成装置及び画像合成プログラム
JP2010239515A (ja) カメラキャリブレーションの算出方法
JP4926598B2 (ja) 情報処理方法、情報処理装置
JP7401245B2 (ja) 画像合成装置、画像合成装置の制御方法およびプログラム
JP2006059165A (ja) 3次元モデリング装置、幾何学パターン、3次元モデリングデータの生成方法、3次元モデリングプログラム、記録媒体
JP3052926B2 (ja) 三次元座標計測装置
JP2004252815A (ja) 画像表示装置、画像表示方法およびプログラム
US20230410451A1 (en) Augmented reality implement apparatus and method using mobile scanned object model scaling
JP2008122109A (ja) 情報処理装置、情報処理方法
JP2022112228A (ja) 情報処理装置、情報処理方法及びプログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100421

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120302

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120427

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: 20130315

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130411

R151 Written notification of patent or utility model registration

Ref document number: 5248806

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: 20160419

Year of fee payment: 3