JP2015215191A - 位置姿勢計測装置、方法及びプログラム - Google Patents

位置姿勢計測装置、方法及びプログラム Download PDF

Info

Publication number
JP2015215191A
JP2015215191A JP2014097093A JP2014097093A JP2015215191A JP 2015215191 A JP2015215191 A JP 2015215191A JP 2014097093 A JP2014097093 A JP 2014097093A JP 2014097093 A JP2014097093 A JP 2014097093A JP 2015215191 A JP2015215191 A JP 2015215191A
Authority
JP
Japan
Prior art keywords
image
imaging device
orientation
coordinates
index
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
JP2014097093A
Other languages
English (en)
Inventor
太一 松井
Taichi Matsui
太一 松井
中島 敦
Atsushi Nakajima
敦 中島
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 JP2014097093A priority Critical patent/JP2015215191A/ja
Publication of JP2015215191A publication Critical patent/JP2015215191A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】第1の撮像装置の位置及び姿勢を算出可能な状態を維持できるようにする。【解決手段】位置姿勢計測装置100は、主観視点カメラ160で撮像した主観視点画像から、現実空間中の座標が既知である指標の画像座標を検出し、また、追加視点カメラ170で撮像した追加視点画像から、現実空間中の座標が既知である指標の画像座標を検出して、指標の画像座標と、指標の現実空間中の座標と、主観視点カメラ160と追加視点カメラ170との相対的な位置及び姿勢の情報とに基づいて、主観視点カメラ160の位置及び姿勢を算出する。また、位置姿勢計測装置100は、主観視点画像及び追加視点画像中の指標数が、主観視点カメラ160の位置及び姿勢を算出するのに必要な数となるように、追加視点カメラ170の姿勢及び焦点距離のうち少なくともいずれか一方を制御する。【選択図】図1

Description

本発明は、第1の撮像装置と、前記第1の撮像装置との相対的な位置が固定である第2の撮像装置とを用いて、前記第1の撮像装置の位置及び姿勢を算出する位置姿勢計測装置、方法及びプログラムに関する。
現実の空間に文字やCG映像を重畳して提示する複合現実感(Mixed Reality)に関する研究が盛んに行われている。複合現実感の提示を行う画像表示装置は、ビデオカメラ等で撮影した画像にカメラの位置及び姿勢に応じて生成した画像を重畳描画し、これを表示する装置として実現できる。
このような画像表示装置を実現するには、現実空間中に定義した基準座標系と、カメラ座標系との間の、相対的な位置及び姿勢を計測することが不可欠である。例として、室内やテーブル上といった現実環境の所定位置に仮想物体を重畳表示する場合を考える。この場合は、その環境の適切な場所(例えば部屋の床面やテーブル面)に基準座標系を定義し、基準座標系におけるカメラの位置及び姿勢を求めればよい。
<従来技術1>
このような計測を実現するために、カメラが撮影した画像を利用して、カメラの位置及び姿勢を推定することが一般的に行われている(非特許文献1)。例えば、以下の手順によって、基準座標系におけるカメラの位置及び姿勢を計測することができる。
(1)室内の床や壁、テーブル面等に、基準座標系における位置(基準座標)が既知である複数の指標を配置あるいは設定する。ここで、指標とは、計測のために意図的に設置された人為的なマーカであってもよいし、元々その環境に存在している自然特徴等であってもよい。
(2)主観視点カメラが撮影した撮像画像内における指標の投影像の座標を検出する。
(3)検出された指標の画像座標と、当該指標の基準座標との対応関係に基づいて、カメラの位置及び姿勢を求める。
(4)固定された客観視点カメラを設置し、その客観視点カメラによって前記主観視点カメラを撮像し、主観視点カメラの位置を検出する。
<従来技術2>
特許文献1では、第1の撮像装置と、第1の撮像装置との相対的な位置及び姿勢が固定で、かつ第1の撮像装置と空間分解能の異なる第2の撮像装置とを用いて指標を検出し、第1の撮像装置の位置及び姿勢を算出することが開示されている。
特許第5036260号公報
佐藤,内山,山本:UG+B法:主観及び客観視点カメラと姿勢センサを用いた位置合わせ手法,日本バーチャルリアリティ学会論文誌,vol.10, no.3, pp.391-400, 2005.
しかしながら、従来技術1の方法では、客観視点カメラを設置しなければならず、設置するための空間、設置にかかる手間、資材をそろえるコスト等が必要となる点が課題となる。
また、従来技術2の方法では、従来技術1の課題は解消されるが、指標の検出が第1の撮像装置と第2の撮像装置の設置方向に依存される。すなわち、第1の撮像装置又は第2の撮像装置が撮影している画像に指標が入っていなければ第1の撮像装置の位置及び姿勢を算出できないので、お互いの撮像装置の相対的な位置姿勢が固定されている状態では撮像装置の位置姿勢が制限される。
本発明は上記のような点に鑑みてなされたものであり、第1の撮像装置の位置及び姿勢を算出可能な状態を維持できるようにすることを目的とする。
本発明の位置姿勢計測装置は、第1の撮像装置と、前記第1の撮像装置との相対的な位置が固定である第2の撮像装置とを用いて、前記第1の撮像装置の位置及び姿勢を算出する位置姿勢計測装置であって、前記第1の撮像装置で撮像した第1の画像を入力する第1の画像入力手段と、前記第2の撮像装置で撮像した第2の画像を入力する第2の画像入力手段と、前記第1の画像から、現実空間中の座標が既知である指標の第1の画像座標を検出する第1の検出手段と、前記第2の画像から、現実空間中の座標が既知である指標の第2の画像座標を検出する第2の検出手段と、前記第1の画像座標と、前記第2の画像座標と、前記指標の現実空間中の座標と、前記第1の撮像装置と前記第2の撮像装置との相対的な位置及び姿勢の情報とに基づいて、前記第1の撮像装置の位置及び姿勢を算出する位置姿勢算出手段と、前記第1の画像及び前記第2の画像中の指標数が、前記第1の撮像装置の位置及び姿勢を算出するのに必要な数となるように、前記第2の撮像装置の姿勢及び焦点距離のうち少なくともいずれか一方を制御する制御手段とを備えたことを特徴とする。
本発明によれば、第1の撮像装置の位置及び姿勢を算出可能な状態を維持することができる。
実施形態に係る位置姿勢計測装置の構成例を示す図である。 実施形態に係る位置姿勢計測装置として機能しうるコンピュータの基本構成例を示す図である。 実施形態に係る位置姿勢計測装置の位置姿勢算出部の動作を説明するフローチャートである。 実施形態に係る位置姿勢計測装置の位置姿勢推測部、最適状態算出部及び追加視点カメラ制御部の動作を説明するフローチャートである。 追加視点画像中の指標の状態を示す図である。 追加視点画像中の指標の状態を示す図である。 追加視点画像中の指標の状態を示す図である。 追加視点画像中の指標の状態を示す図である。 追加視点画像中の指標の状態を示す図である。 追加視点画像中の指標の状態を示す図である。 追加視点画像中の指標の状態を示す図である。 9個の姿勢による追加視点画像を示す図である。
以下、添付図面を参照して、本発明の好適な実施形態について説明する。
(第1の実施形態)
第1の実施形態に係る位置姿勢計測装置100は、主観視点カメラ160及び追加視点カメラ170で撮像した画像から検出する指標に基づいて、主観視点カメラ160の位置及び姿勢を算出する。
図1は、本実施形態に係る位置姿勢計測装置100の構成例を示す図である。位置姿勢計測装置100は、画像入力部110、データ記憶部120、主観視点指標検出部130、追加視点指標検出部140、位置姿勢算出部150、位置姿勢推測部180、最適状態算出部190、追加視点カメラ制御部200を備える。
位置姿勢計測装置100には、主観視点カメラ160及び追加視点カメラ170が接続する。
本実施形態において、位置姿勢の計測対象の撮像装置である主観視点カメラ160は、例えば観察者が装着する頭部搭載型表示装置(HMD)に固定的に設置され、ほぼ観察者の視点(主観視点)位置から観察される現実空間を撮像するために用いられる。
また、追加撮像装置である追加視点カメラ170は、例えば主観視点カメラ160が設置されたHMDに設置され、主観視点カメラ160との相対的な位置は固定で既知であり、姿勢及び焦点距離の変更が制御可能な構造をしている。追加視点カメラ170の撮像範囲は、主観視点カメラ160の撮像範囲と重複してもよいし、独立していてもよい。
主観視点カメラ160及び追加視点カメラ170は、市販のカラービデオカメラにより実現できる。
なお、本実施形態では便宜上「主観視点」カメラを用いているが、計測対象の撮像装置が必ずしも観察者の視点位置から観察される現実空間を撮影するカメラである必要はない。
現実空間中の複数の位置には、主観視点カメラ160又は追加視点カメラ170で撮像するための指標が配置される。ここで、指標Qk(k=1、・・・、K)は、世界座標系における位置XW Qkが既知である。世界座標系とは、現実空間の1点を原点として定義し、更に互いに直交する3軸をそれぞれX軸、Y軸、Z軸として定義した座標系である。
これらの指標は、主観視点カメラ160が計測対象範囲内で移動したときに、主観視点カメラ160又は追加視点カメラ170が撮像できるように設置されることが望ましい。以下、主観視点カメラ160が撮像する画像を主観視点画像、追加視点カメラ170が撮像する画像を追加視点画像と呼ぶ。
図1に示す例では、指標Q1、Q2、Q3、Q4が配置されている。そして、指標Q1、Q2が主観視点カメラ160の視野内に、指標Q3が追加視点カメラ170の視野内に含まれている。
なお、指標Qkは、例えばそれぞれが異なる色を有する円形状のマーカであってもよいし、それぞれが異なるテクスチャ特徴を有する自然特徴等の特徴点であってもよい。また、ある程度の面積を有する四角形の単色領域によって形成されるような、四角形指標を用いることも可能である。すなわち、撮像画像上における投影像の画像座標が検出可能であって、かついずれの指標であるかが何らかの方法で同定可能であるような指標であれば、任意の形態の指標を用いることができる。指標は、操作者により設定されたものであってもよいし、操作者により設定されたものではない、自然形状のものを用いてもよい。
主観視点画像上において観測される指標の数が3個以上であれば、主観視点カメラ160の位置及び姿勢を算出することができる。指標の世界座標と、主観視点画像中の座標とから、主観視点カメラ160の位置及び姿勢を算出する方法は、写真測量等の分野において知られているため、その詳細については省略する。
主観視点画像からは検出不可能な位置にある指標であっても、別の方向を向いている追加視点カメラ170で撮像した追加視点画像からは検出できる場合がある。従って、追加主観視点カメラ170の向いている方向に適した追加視点指標を主観視点指標とは別に設定してもよい。
位置姿勢計測装置100において、画像入力部110は、主観視点カメラ160及び追加視点カメラ170から主観視点画像及び追加視点画像を入力してデジタルデータに変換し、データ記憶部120に保存する。
主観視点指標検出部130は、データ記憶部120より主観視点画像を読み出し、主観視点画像中の指標の画像座標を検出する。例えば指標の各々が異なる色を有するマーカである場合には、画像上から各々のマーカ色に対応する領域を検出し、その重心位置を各指標の画像座標とする。指標の各々が異なるテクスチャ特徴を有する特徴点である場合には、既知の情報として予め保持している各々の指標のテンプレート画像によるテンプレートマッチングを行うことにより、指標の画像座標を検出する。また、四角形指標を用いる場合には、画像に2値化処理を施した後にラベリングを行い、4つの直線によって形成されている領域を指標候補として検出する。さらに、候補領域の中に特定のパターンがあるか否かを判定することによって誤検出をなくし、また、指標の識別子を取得する。なお、このようにして検出される四角形指標は、本実施形態では、4つの頂点の個々によって特定される4つの指標であると考える。
主観視点指標検出部130は、検出された指標の画像座標とその指標の識別子をデータ記憶部120に出力する。以下では、主観視点画像上で検出された指標を、検出された指標のそれぞれに付けられた識別子n(n=1、・・・、N)を用いて、Qknと表記する。ここで、Nは主観視点画像上で検出された指標の数を表している。また、検出された指標Qknの画像座標をuQknと表記する。例えば図1の場合、N=2であり、指標の識別子k1=1、k2=2と、これらに対応する画像座標uQk1、uQk2が出力される。
追加視点指標検出部140は、主観視点指標検出部130と同様に、データ記憶部120より追加視点画像を読み出し、追加視点画像中の指標の画像座標を検出する。
追加視点指標検出部140は、検出された指標の画像座標とその指標の識別子をデータ記憶部120に出力する。以下では、追加視点画像上で検出された指標を、検出された指標のそれぞれに付けられた識別子m(m=1、・・・、M)を用いて、Qkmと表記する。ここで、Mは追加視点画像上で検出された指標の数を表している。また、検出された指標Qkmの画像座標をuQkmと表記する。例えば図1の場合には、M=1であり、指標の識別子k1=1と、これらに対応する画像座標uQk1が出力される。
位置姿勢算出部150は、
・主観視点指標検出部130によって検出された各々の指標の画像座標uQkn
・追加視点指標検出部140によって検出された各々の指標の画像座標uQkm
・既知な情報として予め保持されている指標の世界座標xW Qkの組を、データ記憶部120から取得する。そして、これらの情報に基づいて、主観視点カメラ160の位置及び姿勢を算出(推定)する。算出した主観視点カメラ160の位置及び姿勢は、例えば位置を表す3次元ベクトルxW C1と姿勢を表す3×3行列RWC1との組の形態によってデータ記憶部120に出力される。
データ記憶部120は、既知の値である指標の世界座標、主観視点カメラ160及び追加視点カメラ170のカメラパラメータ等のデータを予め保持する。また、データ記憶部120は、画像入力部110から入力される主観視点画像及び追加視点画像、主観視点指標検出部130及び追加視点指標検出部140から入力される各々の指標の画像座標及び識別子を保持する。さらに、データ記憶部120は、位置姿勢算出部150から入力される主観視点カメラ160の位置及び姿勢の値を保持する。さらにまた、データ記憶部120は、追加視点カメラ170の変動する焦点距離の値、姿勢の値を保持する。
位置姿勢推測部180、最適状態算出部190及び追加視点カメラ制御部200は、詳細は後述するが、主観視点カメラ160の位置及び姿勢を算出可能な状態を維持できるように、すなわち主観視点画像及び追加視点画像中の指標数が、主観視点カメラ160の位置及び姿勢を算出するのに必要な数となるように、追加視点カメラ170の姿勢及び焦点距離のうち少なくともいずれか一方を制御する。
なお、図1に示した各部110〜150、180〜200のそれぞれは、それぞれ独立したハードウェアで構成することができる。また、図示しないCPUがプログラムを実行することによりソフトウェア的に各部の機能を実現するようにしてもよい。また、各部をソフトウェア的に実現するCPUは、共通のCPUであっても、複数の異なるCPUであってもよい。また、ネットワーク接続された複数のコンピュータにより分散処理して各部の機能を実現してもよい。本実施形態では、各部110〜150、180〜200は一のCPUがプログラムを実行することにより、各部の機能を実現する構成を有する。
図2は、実施形態に係る位置姿勢計測装置100として機能しうるコンピュータの基本構成例を示す図である。
上述の通り、本実施形態では、各部110〜150、180〜200のそれぞれを、プログラムの実行によりソフトウェア的に実現する。
CPU1001は、RAM1002やROM1003に格納されたプログラムやデータを用いてコンピュータ全体の制御を行う。また、各部110〜150、180〜200のそれぞれの機能を実現するプログラムを実行し、各部として機能する。
RAM1002は、外部記憶装置1007や記憶媒体ドライブ1008からロードされたプログラムやデータを一時的に記憶するエリアを備える。また、RAM1002は、CPU1001が各種の処理を行うために必要とするワークエリアを備える。本実施形態において、データ記憶部120の機能は、RAM1002によって実現される。
ROM1003は、一般に、CPU1001がコンピュータの起動時に実行するプログラムや、各種設定データ等が格納されている。
1004はキーボード、1005はマウスであり、入力装置を構成する。操作者はこれら入力装置を用いて、各種の指示をコンピュータに入力することができる。入力装置による入力は、CPU1001によって検知される。
表示部1006は、CRTモニタやLCD等であり、例えば主観視点カメラ160の位置姿勢計測のために表示すべきメッセージ等を表示することができる。
外部記憶装置1007はハードディスク等の大容量情報記憶装置であり、OS(オペレーティングシステム)やアプリケーションプログラム等を保存する。また、本実施形態において、既知の情報として説明される情報は外部記憶装置1007に保存されており、必要に応じてRAM1002にロードされる。
記憶媒体ドライブ1008は、CD−ROMやDVD−ROM等の記憶媒体に記憶されているプログラムやデータをCPU1001からの指示に従って読み出し、RAM1002や外部記憶装置1007に出力する。
I/F1009は、外部機器を接続するための各種インタフェースである。本実施形態において、/F1009は、主観視点カメラ160や追加視点カメラ170を接続するためのインタフェースや、計測結果等を出力するためのネットワークインタフェースを含む。具体的には、アナログビデオインタフェース、デジタル入出力インタフェース(USB、IEEE1394等)や、イーサネット(登録商標)インタフェース等によって構成される。I/F1009を介して入力されたデータはRAM1002に取り込まれる。画像入力部110の機能の一部は、I/F1009によって実現される。
バス1010は、上述の各部を相互に通信可能に接続する。
(位置姿勢算出処理)
図3は、実施形態に係る位置姿勢計測装置100の位置姿勢算出部150の動作を説明するフローチャートである。上述のように、本実施形態では、CPU1001がプログラムを実行することで位置姿勢算出部150として機能する。なお、以下に説明する処理をCPU1001が実現するために必要なプログラムコードは、RAM1002にロードされている。
本実施形態において、主観視点カメラ160の位置及び姿勢は、繰り返し演算による数値計算的手法によって算出される。
位置姿勢算出部150は、算出すべき主観視点カメラ160の位置及び姿勢を、それぞれ3値ベクトル[x y z]T及び[ξ ψ ζ]Tによって内部的に表現している。姿勢を3値によって表現する方法には様々なものが存在するが、ここでは、ベクトルの大きさによって回転角を、ベクトルの向きによって回転軸方向を定義するような3値のベクトルによって表現されているものとする。このとき、求めるべき未知パラメータは、6値の状態ベクトルs=[x y z ξ ψ ζ]Tと記述される。
ステップS300で、位置姿勢算出部150は、状態ベクトルsに適当な初期値(位置及び姿勢の推定値)を設定する。例えば主観視点画像及び追加視点画像の各画像フレームに対して位置及び姿勢を算出する場合、前フレーム(時刻tk-1)の処理において導出された状態ベクトルsを初期値とすることができる。また、直近の所定期間内における状態ベクトルsの変化に基づいた予測値を初期値としてもよい。
ステップS301で、位置姿勢算出部150は、主観視点指標検出部130で検出された各々の指標Qknの画像座標の実測値uQknとその識別子knをデータ記憶部120から取得する。また、位置姿勢算出部150は、追加視点指標検出部140で検出された各々の指標Qkmの画像座標の実測値uQkmとその識別子kmについてもデータ記憶部120から取得する。
ステップS302で、位置姿勢算出部150は、主観視点画像から検出された指標Qkn及び、追加視点画像から検出された指標Qkmに対し、画像座標の推定値uQkn*及びuQkm*を算出する。
Qkn*の算出は、下式(1)に示すように、データ記憶部120に既知な情報として予め保持している指標Qkn各々の世界座標xW Qknと現在の状態ベクトルsの関数に基づいて行われる。
Figure 2015215191
また、uQkm*の算出は、下式(2)に示すように、データ記憶部120に既知な情報として予め保持している指標Qkm各々の世界座標xW Qkmと現在の状態ベクトルsの関数に基づいて行われる。
Figure 2015215191
具体的には、関数Fc1()は、下式(3)及び下式(4)によって構成される。下式(3)は、xW Qknとsから当該指標の主観視点カメラ座標(主観視点カメラ160上の1点を原点として定義し、更に互いに直交する3軸をそれぞれX軸、Y軸、Z軸として定義した座標系)xC1 Qknを求める。また、下式(4)は、主観視点カメラ座標xc1 Qknから画像座標の推定値uQkn*を求める。
Figure 2015215191
ここで、fC1 x及びfC1 yは、それぞれx軸方向及びy軸方向における主観視点カメラ160の焦点距離であり、データ記憶部120に既知の値として予め保持されている。また、MWC1(s)は状態ベクトルsによって定まるモデリング変換行列(すなわち、主観視点カメラ座標系における座標を世界座標系における座標に変換する行列)であり、下式(5)によって定義される。
Figure 2015215191
一方、関数Fc2()は、下式(6)及び下式(7)によって構成される。下式(6)は、xW Qkmとsから当該指標の追加視点カメラ座標(追加視点カメラ170上の1点を原点として定義し、更に互いに直交する3軸をそれぞれX軸、Y軸、Z軸として定義した座標系)xC2 Qkmを求める。下式(7)は、追加視点カメラ座標xC2 Qkmから画像座標の推定値uQkm*を求める。
Figure 2015215191
ここで、MC1C2は、追加視点カメラ座標系から主観視点カメラ座標系への変換行列である。MC1C2は、主観視点カメラ座標系における追加視点カメラ170の位置及び現在の姿勢(データ記憶部120に保存されている)に基づいて、予め算出されている。また、fC2 x及びfC2 yは、それぞれx軸方向及びy軸方向における追加視点カメラ170の現在の焦点距離であり、データ記憶部120に保存されている。
ステップS303で、位置姿勢算出部150は、各々の指標Qknに対して、画像座標の推定値uQkn*と実測値uQknとの誤差ΔuQknを、下式(8)によって算出する。
Figure 2015215191
また、各々の指標Qkmに対して、画像座標の推定値uQkm*と実測値uQkmとの誤差ΔuQkmを、下式(9)によって算出する。
Figure 2015215191
ステップS304で、位置姿勢算出部150は、各々の指標Qknに対して、式(1)の関数Fc1()を状態ベクトルsの各要素で偏微分した解を各要素に持つ2行×6列のヤコビ行列Jus Qkn(=∂uQkn/∂s)を求める。また、位置姿勢算出部150は、各々の指標Qkmに対して、式(2)の関数Fc2()を状態ベクトルsの各要素で偏微分した解を各要素に持つ2行×6列のヤコビ行列Jus Qkm(=∂uQkm/∂s)を算出する。
具体的には、式(4)の右辺を主観視点カメラ座標xC1 Qknの各要素で偏微分した解を各要素に持つ2行×3列のヤコビ行列Jux Qkn(=∂uQkn/∂xQkn)と、式(3)の右辺をベクトルsの各要素で偏微分した解を各要素に持つ3行×6列のヤコビ行列Jxs Qkn(=∂xQkn/∂s)を算出し、下式(10)によってヤコビ行列Jus Qknを算出する。
Figure 2015215191
また、式(7)の右辺を追加視点カメラ座標xC2 Qkmの各要素で偏微分した解を各要素に持つ2行×3列のヤコビ行列Jux Qkm(=∂uQkm/∂xQkm)と、式(6)の右辺をベクトルsの各要素で偏微分した解を各要素に持つ3行×6列のヤコビ行列Jxs Qkm(=∂xQkm/∂s)を算出し、下式(11)によってヤコビ行列Jus Qkmを算出する。
Figure 2015215191
ステップS305で、位置姿勢算出部150は、ステップS303及びステップS304において算出した誤差ΔuQkn及びΔuQkm、及び、ヤコビ行列Jus Qkn及びJus Qkmに基づいて、状態ベクトルsの補正値Δsを算出する。具体的には、下式(12)に示すように、誤差ΔuQkn及びΔuQkmを垂直に並べた2(N+M)次元の誤差ベクトル及び、下式(13)に示すように、ヤコビ行列Jus Qkn及びJus Qkmを垂直に並べた2(N+M)行×6列の行列を作成し、Θの擬似逆行列Θ+を用いて、下式(14)として算出する。図1の例ではN=3、M=2であるので、Uは10次元ベクトル、Θは10行×6列の行列となる。
Figure 2015215191
ステップS306で、位置姿勢算出部150は、ステップS305において算出した補正値Δsを用いて、下式(15)に従って状態ベクトルsを補正し、得られた値を状態ベクトルsの新たな推定値とする。
Figure 2015215191
ステップS307で、位置姿勢算出部150は、誤差ベクトルU又は補正値Δsの大きさが予め定めた閾値より小さいかといった何らかの判定基準を用い、計算が収束しているか否かの判定を行う。収束していない場合には、補正後の状態ベクトルsを用いて、再度ステップS302以降の処理を行う。
ステップS307において計算が収束したと判定される場合、ステップS308で、位置姿勢算出部150は、得られた状態ベクトルsを主観視点カメラ160の位置及び姿勢の情報としてデータ記憶部120に出力する。位置及び姿勢の情報は、例えば位置を表す3次元ベクトルxW C1と姿勢を表す3×3行列RWC1(s)との組の形態によって出力する。
以上のように、主観視点画像及び追加視点画像の中に合計3個以上の指標が存在すれば、それを用いて主観視点カメラ160の位置及び姿勢を算出することができる。
(3個以上の指標を捉える処理)
次に、主観視点画像及び追加視点画像中に3個以上の指標を収める方法を説明する。
既に説明したように、追加視点カメラ170は姿勢及び焦点距離の変更が制御可能であり、その変動値をデータ記憶部120に保存している。ここで、追加視点カメラ170の姿勢ベクトルと焦点距離情報を定義する。姿勢ベクトルをo=[ξ ψ ζ]T、焦点距離情報をfとする。なお、姿勢ベクトルの表現方法は前記の主観視点カメラと同様である。
データ記憶部120には、現在及び過去の時刻tにおける主観視点カメラ160の状態ベクトルstと、追加視点カメラ170の姿勢情報ot及び焦点距離情報ztが保存されている。そこで、直近の所定期間の主観視点カメラ160の状態ベクトルsの推移を利用し、未来の主観視点カメラ160の位置及び姿勢を推測することができる。また、未来の主観視点カメラ160の位置及び姿勢の推測値から相対的に未来の追加視点カメラ170の位置及び姿勢を算出することができる。
図4は、実施形態に係る位置姿勢計測装置100の位置姿勢推測部180、最適状態算出部190及び追加視点カメラ制御部200の動作を説明するフローチャートであり、次のフレームの主観視点カメラ160の位置及び姿勢を推測し、次のフレームにおいて指標が3点以上検出できるように追加視点カメラ170を制御する処理を示す。この処理は、例えば図3のステップS308の終了後に行われる。
ステップS400で、位置姿勢推測部180は、データ記憶部120から直近の所定期間の主観視点カメラ160の位置及び姿勢の状態ベクトルstを入力する。
ステップS401で、位置姿勢推測部180は、状態ベクトルstの推移から次のフレームである時間t1での主観視点カメラ160の位置及び姿勢を推測する。その位置及び姿勢の推測値(以下、位置姿勢推測値と呼ぶ)をst1とする。過去の位置及び姿勢の推移から未来の位置及び姿勢を推測する方法は様々な方法が知られており、本件ではどのような方法を用いても構わない。例えば時刻taの位置及び姿勢Vta、次フレームの時刻tbの位置及び姿勢VtbでΔV=Vtb−Vtaのとき、次々フレーム時刻tcの位置及び姿勢Vtc=Vtb+ΔVと推測する。また、未来の位置及び姿勢の推測は次のフレームまででもよいし、所定の未来までの複数のフレームの推測でも構わない。以降の判断には、本実施形態では次のフレームにしているが、所定の未来のフレームを判断基準にしても構わない。
また、位置姿勢推測部180は、主観視点カメラ160の位置姿勢推測値st1、データ記憶部120に記憶されている固定の主観視点カメラ160との位置情報、及び現在の姿勢情報を用いて、追加視点カメラ170の位置姿勢推測値sat1を算出する。
ステップS402で、位置姿勢推測部180は、位置姿勢推測値st1における主観視点画像中の指標の数と、位置姿勢推測値sat1における追加視点画像中の指標の数を算出する。指標のデータをデータ記憶部120から位置姿勢推測部180に入力する。
まず主観視点カメラ160の位置姿勢推測値st1とカメラパラメータからカメラの撮像範囲を算出する。カメラの撮像範囲と指標の位置を比較し、位置姿勢推測値st1における主観視点画像中の指標の数を算出する。同様に、位置姿勢推測値sat1における追加視点画像中の指標の数を算出する。そして、主観視点画像中の指標の数と追加視点画像中の指標の数を合計し、総可視指標数を算出する。
ステップS403で、位置姿勢推測部180は、総可視指標数が3点以上であるか否かを判定し、3点以上であれば処理を終了し、3点未満であればステップS404に処理を移す。
ステップS404で、最適状態算出部190は、総可視指標数が3点以上になるような追加視点カメラ170の姿勢、焦点距離の算出を行う。
以下、ケース1からケース3に分けて続きの処理を説明する。
・ケース1:焦点距離だけを変更する場合
最新フレームの一つ前のフレームF1における追加視点画像中において指標Q5、Q6、Q7が図5のように存在している。そして、最新フレームではフレームF1より指標Q5、Q6、Q7に近づき、追加視点画像中の指標Q5、Q6、Q7が図6のように存在する。そして、位置姿勢推測値sat1におけるフレームでは最新フレームより指標Q5、Q6、Q7に近づき、追加視点画像は図7のように指標Q5、Q7だけが存在し、指標Q6が存在しない。
そこで、最適状態算出部190は、指標Q6が追加視点画像中に存在するような追加視点カメラ170の姿勢及び焦点距離の算出を行う。この場合は、追加視点カメラ170が指標に近づきすぎたことにより指標が追加視点画像中から存在しなくなってしまった。そこで、位置姿勢推測値sat1において指標Q5、Q6、Q7が追加視点画像中に存在するような焦点距離の値を算出し、追加視点カメラ制御部200に出力する。
ステップS405で、追加視点カメラ制御部200は、追加視点カメラ170の焦点距離を最適状態算出部190で算出した値に変更する。また、新規焦点距離をデータ記憶部120に出力し、データ記憶部120は新規焦点距離を記録する。
・ケース2:姿勢だけを変更する場合
最新フレームの一つ前のフレームF1における追加視点画像中において指標Q5、Q6、Q7が図5のように存在している。そして、最新フレームでは、追加主観視点カメラ170の位置及び姿勢が変更され、追加視点画像中の指標Q5、Q6、Q7が図8のように存在する。そして、位置姿勢推測値sat1におけるフレームでは、追加視点画像は図9のように指標Q5、Q6だけが存在し、指標Q7が存在しない。
そこで、最適状態算出部190は、指標Q7が追加視点画像中に存在するような追加視点カメラ170の姿勢及び焦点距離の算出を行う。この場合は、追加視点カメラ170の位置及び姿勢が変化したことにより指標が追加視点画像中から存在しなくなってしまった。そこで、位置及び焦点距離を変更せずに指標Q5、Q6、Q7が追加視点画像中に存在するような姿勢の値を算出し、追加視点カメラ制御部200に出力する。
ステップS405で、追加視点カメラ制御部200は、追加視点カメラ170の姿勢を最適状態算出部190で算出した値に変更する。また、新姿勢ベクトルをデータ記憶部120に出力し、データ記憶部120は新姿勢ベクトルを記録する。
・ケース3:焦点距離と姿勢を変更する場合
最新フレームの一つ前のフレームF1における追加視点画像中において指標Q5、Q6、Q7が図5のように存在している。そして、最新フレームでは、追加主観視点カメラ170の位置及び姿勢が変更され、追加視点画像中の指標Q5、Q6、Q7が図10のように存在する。そして、位置姿勢推測値sat1におけるフレームでは、追加視点画像は図11のように指標Q5、Q7だけが存在し、指標Q6が存在しない。
そこで、最適状態算出部190は、指標Q7が追加視点画像中に存在するような追加視点カメラ170の姿勢及び焦点距離の算出を行う。この場合は、追加視点カメラ170の位置及び姿勢が変化したことにより指標が追加視点画像中から存在しなくなってしまった。そこで、位置を変更させずに指標Q5、Q6、Q7が追加視点画像中に存在するような姿勢及び焦点距離の値を算出し、追加視点カメラ制御部200に出力する。
ステップS405で、追加視点カメラ制御部200は、追加視点カメラ170の姿勢及び焦点距離を最適状態算出部190で算出した値に変更する。また、新焦点距離、新姿勢ベクトルをデータ記憶部120に出力し、データ記憶部120は新焦点距離、新姿勢ベクトルを記録する。
以上のように、位置姿勢の計測対象である第1の撮像装置(主観視点カメラ160)に加え、姿勢及び焦点距離を制御可能な第2のカメラ(追加視点カメラ170)を併用し、両方のカメラで撮像した画像から検出した指標の情報を用いて第1のカメラの位置及び姿勢を算出する。第2のカメラの焦点距離の変更、姿勢の変更、又は姿勢及び焦点距離の変更によって3点以上の指標を捉え、第1のカメラの位置及び姿勢を算出できる状態を維持することができる。
例えば観察者がHMDを身に付け、現実空間映像にCGを重畳して体験する複合現実間システムのように、第1のカメラが観察者に表示するための主観視点映像を撮像する必要があり、第1のカメラの画角等を変更することができない場合がある。この場合でも、姿勢及び焦点距離が制御可能な第2のカメラを追加し、第2のカメラの姿勢、焦点距離を制御しつつ両方のカメラで撮像した画像を用いて第1のカメラの位置及び姿勢を算出することで、第1のカメラの位置及び姿勢の測定可能範囲を拡大することができる。
(第2の実施形態)
第2の実施形態では、位置姿勢計測装置100の構成及び位置姿勢算出処理は第1の実施形態と同様であり、第1の実施形態とは、ステップS404、ステップS405の処理を変更している。以下では、第1の実施形態との相違点を中心に説明する。
ステップS404で、最適状態算出部190は、総可視指標数が3点以上になるような追加視点カメラ170の姿勢、焦点距離を全体の指標情報を分析して算出する。追加視点カメラ170の位置姿勢推測値sat1の位置における、姿勢の変動可能な範囲と、焦点距離の変動可能な範囲の中で最適な追加視点画像を撮像できる姿勢及び焦点距離を算出する。最適な追加視点画像とは、以下の条件を満たすものとなる。
(1)指標が3点以上あること
(2)指標に近づいても近未来の所定フレームにおいては指標が追加視点画像中に存在し認識できること
(3)指標から遠ざかっても近未来の所定フレームにおいては指標が追加視点画像中に存在し認識できること
(4)姿勢の変更があっても近未来の所定フレームにおいては指標が追加視点画像中に存在し認識できること
以上の条件を満たすものとして、以下のような具体的な追加視点画像になる。
A.3点以上のより多くの指標が存在する追加視点画像であること
B.追加視点画像の近接領域に別の指標が存在すること
C.追加視点画像中の指標が認識できる下限のサイズより一定割合大きいこと
D.追加視点画像中の指標の位置が画像領域の中心に寄っていること
最適状態算出部190は、A,B,C,Dの条件を満たす姿勢及び焦点距離を算出する。なお、A,B,C,D全ての条件を満たすのが最も望ましいが、そのような条件が見つからなければ一部の条件を満たす姿勢及び焦点距離を算出する。算出した後は追加視点カメラ制御部200に出力する。
以上の条件を満たす追加視点カメラ170の姿勢及び焦点距離を算出するために、例えば以下の方法がある。
探索する焦点距離を可動範囲内でn個設定する。n個の各焦点距離において姿勢を変更することで撮影可能な全範囲を撮影するような最小の個数Knの姿勢を算出する。そのKn個の各姿勢における撮像画像の中に含まれる追加視点画像をPKnとする。
Knにおける指標の数と各指標の認識状態をポイント化しその値をQPKnとする。さらに周囲の指標のポイントに係数を掛けて加えた値をPKnの最終ポイントZPKnとする。
図12は、ある焦点距離において9個の姿勢における追加視点画像を並べたものである。追加視点画像P0における最終ポイントZP0はP1、P2、P3、P4、P5、P6、P7、P8の影響をうける。その結果ZP0は下式(16)のようになる。
Figure 2015215191
このように各焦点距離と姿勢における最終ポイントを計算し、そのポイントが最も大きいものを選択する。
ステップS405で、追加視点カメラ制御部200は、追加視点カメラ170の姿勢及び焦点距離を最適状態算出部190で算出した値に変更する。また、新焦点距離、新姿勢ベクトルをデータ記憶部120に出力し、データ記憶部120は新焦点距離、新姿勢ベクトルを記録する。
(第3の実施形態)
第3の実施形態では、位置姿勢計測装置100の構成及び位置姿勢算出処理は第1の実施形態と同様であり、第1の実施形態とは、ステップS404、ステップS405の処理を変更している。以下では、第1の実施形態との相違点を中心に説明する。
主観視点カメラ160の位置姿勢推測値st1における指標数が1、追加視点カメラ170の位置姿勢推測値sat1における指標数が1になる場合、合計で指標数が3以上になればいいので、追加視点カメラ170が撮像する追加視点画像中の指標数を2以上にすればよい。
最適状態算出部190は、総可視指標数が3点以上になるような追加視点カメラ170の姿勢、焦点距離の算出を行う。
ステップS404で、最適状態算出部190は、追加視点画像中の指標数が2以上になる追加視点カメラ170の姿勢、焦点距離の算出を行う。
ステップS405で、追加視点カメラ制御部200は、追加視点カメラ170の姿勢及び焦点距離を最適状態算出部190で算出した値に変更する。また、新焦点距離、新姿勢ベクトルをデータ記憶部120に出力し、データ記憶部120は新焦点距離、新姿勢ベクトルを記録する。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100 位置姿勢計測装置
110 画像入力部
120 データ記憶部
130 主観視点指標検出部
140 追加視点指標検出部
150 位置姿勢算出部
160 主観視点カメラ
170 追加視点カメラ
180 位置姿勢推測部
190 最適状態算出部
200 追加視点カメラ制御部

Claims (8)

  1. 第1の撮像装置と、前記第1の撮像装置との相対的な位置が固定である第2の撮像装置とを用いて、前記第1の撮像装置の位置及び姿勢を算出する位置姿勢計測装置であって、
    前記第1の撮像装置で撮像した第1の画像を入力する第1の画像入力手段と、
    前記第2の撮像装置で撮像した第2の画像を入力する第2の画像入力手段と、
    前記第1の画像から、現実空間中の座標が既知である指標の第1の画像座標を検出する第1の検出手段と、
    前記第2の画像から、現実空間中の座標が既知である指標の第2の画像座標を検出する第2の検出手段と、
    前記第1の画像座標と、前記第2の画像座標と、前記指標の現実空間中の座標と、前記第1の撮像装置と前記第2の撮像装置との相対的な位置及び姿勢の情報とに基づいて、前記第1の撮像装置の位置及び姿勢を算出する位置姿勢算出手段と、
    前記第1の画像及び前記第2の画像中の指標数が、前記第1の撮像装置の位置及び姿勢を算出するのに必要な数となるように、前記第2の撮像装置の姿勢及び焦点距離のうち少なくともいずれか一方を制御する制御手段とを備えたことを特徴とする位置姿勢計測装置。
  2. 前記制御手段は、前記第1の画像及び前記第2の画像中の指標数の合計が所定の数となるように、前記第2の撮像装置の姿勢及び焦点距離のうち少なくともいずれか一方を制御することを特徴とする請求項1に記載の位置姿勢計測装置。
  3. 前記所定の数は3であることを特徴とする請求項2に記載の位置姿勢計測装置。
  4. 前記第1の撮像装置の位置及び姿勢の過去の推移から未来の推移を推測し、前記第1の画像及び前記第2の画像中の指標数が、前記第1の撮像装置の位置及び姿勢を算出するのに必要な数に対して不足するか否かを予測する予測手段を備え、
    前記制御手段は、前記予測手段で不足すると予測された場合に、前記第2の撮像装置の姿勢及び焦点距離のうち少なくともいずれか一方を制御することを特徴とする請求項1乃至3のいずれか1項に記載の位置姿勢計測装置。
  5. 前記第1の撮像装置は頭部に装着する頭部搭載型表示装置に設けられていることを特徴とする請求項1乃至4のいずれか1項に記載の位置姿勢計測装置。
  6. 前記第2の撮像装置は前記頭部搭載型表示装置に設けられていることを特徴とする請求項5に記載の位置姿勢計測装置。
  7. 第1の撮像装置と、前記第1の撮像装置との相対的な位置が固定である第2の撮像装置とを用いて、前記第1の撮像装置の位置及び姿勢を算出する位置姿勢計測方法であって、
    前記第1の撮像装置で撮像した第1の画像から、現実空間中の座標が既知である指標の第1の画像座標を検出するステップと、
    前記第2の撮像装置で撮像した第2の画像から、現実空間中の座標が既知である指標の第2の画像座標を検出するステップと、
    前記第1の画像座標と、前記第2の画像座標と、前記指標の現実空間中の座標と、前記第1の撮像装置と前記第2の撮像装置との相対的な位置及び姿勢の情報とに基づいて、前記第1の撮像装置の位置及び姿勢を算出するステップと、
    前記第1の画像及び前記第2の画像中の指標数が、前記第1の撮像装置の位置及び姿勢を算出するのに必要な数となるように、前記第2の撮像装置の姿勢及び焦点距離のうち少なくともいずれか一方を制御するステップとを有することを特徴とする位置姿勢計測方法。
  8. 第1の撮像装置と、前記第1の撮像装置との相対的な位置が固定である第2の撮像装置とを用いて、前記第1の撮像装置の位置及び姿勢を算出するためのプログラムであって、
    前記第1の撮像装置で撮像した第1の画像を入力する第1の画像入力手段と、
    前記第2の撮像装置で撮像した第2の画像を入力する第2の画像入力手段と、
    前記第1の画像から、現実空間中の座標が既知である指標の第1の画像座標を検出する第1の検出手段と、
    前記第2の画像から、現実空間中の座標が既知である指標の第2の画像座標を検出する第2の検出手段と、
    前記第1の画像座標と、前記第2の画像座標と、前記指標の現実空間中の座標と、前記第1の撮像装置と前記第2の撮像装置との相対的な位置及び姿勢の情報とに基づいて、前記第1の撮像装置の位置及び姿勢を算出する位置姿勢算出手段と、
    前記第1の画像及び前記第2の画像中の指標数が、前記第1の撮像装置の位置及び姿勢を算出するのに必要な数となるように、前記第2の撮像装置の姿勢及び焦点距離のうち少なくともいずれか一方を制御する制御手段としてコンピュータを機能させるためのプログラム。
JP2014097093A 2014-05-08 2014-05-08 位置姿勢計測装置、方法及びプログラム Pending JP2015215191A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014097093A JP2015215191A (ja) 2014-05-08 2014-05-08 位置姿勢計測装置、方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014097093A JP2015215191A (ja) 2014-05-08 2014-05-08 位置姿勢計測装置、方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2015215191A true JP2015215191A (ja) 2015-12-03

Family

ID=54752216

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014097093A Pending JP2015215191A (ja) 2014-05-08 2014-05-08 位置姿勢計測装置、方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2015215191A (ja)

Similar Documents

Publication Publication Date Title
US20200096317A1 (en) Three-dimensional measurement apparatus, processing method, and non-transitory computer-readable storage medium
JP5624394B2 (ja) 位置姿勢計測装置、その計測処理方法及びプログラム
JP5297403B2 (ja) 位置姿勢計測装置、位置姿勢計測方法、プログラムおよび記憶媒体
JP5036260B2 (ja) 位置姿勢算出方法及び装置
JP6011548B2 (ja) カメラ校正装置、カメラ校正方法およびカメラ校正用プログラム
JP5538667B2 (ja) 位置姿勢計測装置及びその制御方法
JP4593968B2 (ja) 位置姿勢計測方法および装置
US9495750B2 (en) Image processing apparatus, image processing method, and storage medium for position and orientation measurement of a measurement target object
JP5671281B2 (ja) 位置姿勢計測装置、位置姿勢計測装置の制御方法及びプログラム
JP5132138B2 (ja) 位置姿勢計測方法、位置姿勢計測装置
US9639942B2 (en) Information processing apparatus, information processing method, and storage medium
JP4785416B2 (ja) 位置姿勢計測方法及び装置
US20070092161A1 (en) Information processing method and information processing apparatus
CN101116101A (zh) 位置/姿势测量方法和设备
JP2012247364A (ja) ステレオカメラ装置、ステレオカメラシステム、プログラム
JP7238060B2 (ja) 情報処理装置及びその制御方法、並びに、プログラム
JP6922348B2 (ja) 情報処理装置、方法、及びプログラム
JP4566786B2 (ja) 位置姿勢計測方法および情報処理装置
JP2008309595A (ja) オブジェクト認識装置及びそれに用いられるプログラム
JP5976089B2 (ja) 位置姿勢計測装置、位置姿勢計測方法、およびプログラム
JP5267100B2 (ja) 運動推定装置及びプログラム
JP4935769B2 (ja) 平面領域推定装置及びプログラム
JP2009168626A (ja) 位置姿勢計測装置、位置姿勢計測方法
JP4612804B2 (ja) 位置姿勢計測方法および情報処理装置
JP2015215191A (ja) 位置姿勢計測装置、方法及びプログラム