カメラポーズ推定装置、カメラポーズ推定方法及びカメラポーズ推定プログラム
【課題】移動物体が含まれる場合においても正確にカメラポーズを算出する。
【解決手段】実空間中の点の3次元座標と、3次元座標が有するテクスチャ情報と、3次元座標が移動物体上か否かを示す移動物体フラグとを3次元点IDに関連付けた3次元リスト情報を記憶する手段と、移動物体フラグが0である3次元点の対応付けを行う3次元点対応付け手段と、最適カメラポーズ情報を出力するカメラポーズ算出手段と、最適カメラポーズ情報を用いてアウトライヤ対応点リスト情報内の3次元座標がフレーム画像に射影される再射影点を決定し、該再射影点とアウトライヤ対応点リスト情報内の対応点座標から算出する動きベクトルを用いて対象の3次元座標が移動物体上か否か判定し、移動物体と判定された場合は、処理対象のアウトライヤ対応点リスト情報内の3次元点IDに対応する移動物体フラグを1に更新して、最終的な最適カメラポーズを出力する。
【解決手段】実空間中の点の3次元座標と、3次元座標が有するテクスチャ情報と、3次元座標が移動物体上か否かを示す移動物体フラグとを3次元点IDに関連付けた3次元リスト情報を記憶する手段と、移動物体フラグが0である3次元点の対応付けを行う3次元点対応付け手段と、最適カメラポーズ情報を出力するカメラポーズ算出手段と、最適カメラポーズ情報を用いてアウトライヤ対応点リスト情報内の3次元座標がフレーム画像に射影される再射影点を決定し、該再射影点とアウトライヤ対応点リスト情報内の対応点座標から算出する動きベクトルを用いて対象の3次元座標が移動物体上か否か判定し、移動物体と判定された場合は、処理対象のアウトライヤ対応点リスト情報内の3次元点IDに対応する移動物体フラグを1に更新して、最終的な最適カメラポーズを出力する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、実空間を移動する物体を含むシーンを撮像するカメラによって入力されたフレーム画像列から、実空間におけるカメラの位置・姿勢を示すカメラポーズを算出するカメラポーズ推定装置、カメラポーズ推定方法及びカメラポーズ推定プログラムに関する。
【背景技術】
【0002】
実空間を撮像するカメラによって入力されたフレーム画像から、実空間におけるカメラの位置・姿勢を示すカメラポーズを算出するカメラポーズ推定装置では、算出したカメラポーズを用いて、例えばフレーム画像中にコンピュータグラフィクス等を合成することを可能にしている。
【0003】
従来のカメラポーズ推定装置では、撮影対象である実空間が静止していることを前提に、例えば、最新時刻のフレーム画像と、撮影対象である実空間の3次元座標情報、最新時刻以前のカメラポーズ列から算出した仮のカメラポーズを入力し、(1)実空間の3次元点がフレーム画像で観測された画像点を決定、(2)3次元点の3次元座標と画像点の座標の組から非線形最小自乗法によってカメラポーズ算出、を時々刻々繰り返すことによって長時間に亘っても正確にカメラポーズを算出し続ける方法について記載されている(例えば、非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Parallel Tracking and Mapping for Small AR Workspaces,Georg Klein and David Murray,In Proc. International Symposium on Mixed and Augmented Reality (ISMAR'07, Nara),pp. 225-234,2007
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら従来の方法では、撮影対象である実空間が静止していることが前提としてカメラポーズ算出を行うため、実空間に移動物体が含まれる場合にはカメラポーズ精度が低下するという問題がある。その理由は、時々刻々に亘ってカメラポーズ算出を行っている間に、実際の実空間と、カメラポーズ推定装置に入力される実空間の3次元座標情報との間に乖離が生じ、3次元点の3次元座標と画像点の座標の組から非線形最小自乗法によって算出されるカメラポーズが正確性に欠けるからである。
【0006】
本発明は、このような事情に鑑みてなされたもので、カメラポーズ推定装置において、実空間中に移動物体が含まれる場合においても正確にカメラポーズを算出することができるカメラポーズ推定装置、カメラポーズ推定方法及びカメラポーズ推定プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明は、実空間中の点の3次元座標と、3次元座標が有するテクスチャ情報と、3次元座標が移動物体上か否かを示す移動物体フラグとが3次元点IDに関連付けられた3次元リスト情報を記憶する3次元リスト記憶手段と、フレーム画像と、暫定カメラポーズ情報とを入力するとともに、前記3次元リスト情報を3次元リスト記憶手段から読み込み、前記3次元リスト情報内の前記移動物体フラグが0である3次元座標に対応する点をフレーム画像から決定し、決定した対応点座標と3次元座標とのペアを3次元点IDに関連付けた対応点リスト情報を生成し、前記対応点リスト情報と前記暫定カメラポーズ情報とを出力する3次元点対応付け手段と、前記対応点リスト情報と前記暫定カメラポーズ情報とを入力し、前記対応点リスト情報の3次元座標と対応点座標のペア全てからロバスト推定法を用いて最適カメラポーズ情報を算出し、ロバスト推定時に外れ値に判断された全てについて、3次元座標と対応点座標のペアと、該ペアの3次元点IDをペアIDに関連付けたアウトライヤ対応点リスト情報と、前記最適カメラポーズ情報を出力するカメラポーズ算出手段と、前記最適カメラポーズ情報と前記アウトライヤ対応点リスト情報とを入力するとともに、前記3次元リスト情報を前記3次元リスト記憶手段から読み込み、前記最適カメラポーズ情報を用いてアウトライヤ対応点リスト情報内の3次元座標が前記フレーム画像に射影される再射影点を決定し、該再射影点とアウトライヤ対応点リスト情報内の対応点座標から算出する動きベクトルを用いて対象の3次元座標が移動物体上か否か判定し、移動物体と判定された場合は、処理対象のアウトライヤ対応点リスト情報内の3次元点IDに対応する3次元リスト情報の移動物体フラグを1に更新して、最終的な前記最適カメラポーズを出力する3次元リスト更新手段とを備えることを特徴とする。
【0008】
本発明は、実空間中の点の3次元座標と、3次元座標が有するテクスチャ情報と、3次元座標が移動物体上か否かを示す移動物体フラグとが3次元点IDに関連付けられた3次元リスト情報を記憶する3次元リスト記憶手段と、3次元点対応付け手段と、カメラポーズ算出手段と、3次元リスト更新手段とを備えるカメラポーズ推定装置におけるカメラポーズ推定方法であって、前記3次元点対応付け手段が、フレーム画像と、暫定カメラポーズ情報とを入力するとともに、前記3次元リスト情報を3次元リスト記憶手段から読み込み、前記3次元リスト情報内の前記移動物体フラグが0である3次元座標に対応する点をフレーム画像から決定し、決定した対応点座標と3次元座標とのペアを3次元点IDに関連付けた対応点リスト情報を生成し、前記対応点リスト情報と前記暫定カメラポーズ情報とを出力する3次元点対応付けステップと、前記カメラポーズ算出手段が、前記対応点リスト情報と前記暫定カメラポーズ情報とを入力し、前記対応点リスト情報の3次元座標と対応点座標のペア全てからロバスト推定法を用いて最適カメラポーズ情報を算出し、ロバスト推定時に外れ値に判断された全てについて、3次元座標と対応点座標のペアと、該ペアの3次元点IDをペアIDに関連付けたアウトライヤ対応点リスト情報と、前記最適カメラポーズ情報を出力するカメラポーズ算出ステップと、前記3次元リスト更新手段が、前記最適カメラポーズ情報と前記アウトライヤ対応点リスト情報とを入力するとともに、前記3次元リスト情報を前記3次元リスト記憶手段から読み込み、前記最適カメラポーズ情報を用いてアウトライヤ対応点リスト情報内の3次元座標が前記フレーム画像に射影される再射影点を決定し、該再射影点とアウトライヤ対応点リスト情報内の対応点座標から算出する動きベクトルを用いて対象の3次元座標が移動物体上か否か判定し、移動物体と判定された場合は、処理対象のアウトライヤ対応点リスト情報内の3次元点IDに対応する3次元リスト情報の移動物体フラグを1に更新して、最終的な前記最適カメラポーズを出力する3次元リスト更新ステップとを有することを特徴とする。
【0009】
本発明は、実空間中の点の3次元座標と、3次元座標が有するテクスチャ情報と、3次元座標が移動物体上か否かを示す移動物体フラグとが3次元点IDに関連付けられた3次元リスト情報を記憶する3次元リスト記憶手段を備えるカメラポーズ推定装置上のコンピュータにカメラポーズ推定処理を行わせるカメラポーズ推定プログラムであって、フレーム画像と、暫定カメラポーズ情報とを入力するとともに、前記3次元リスト情報を3次元リスト記憶手段から読み込み、前記3次元リスト情報内の前記移動物体フラグが0である3次元座標に対応する点をフレーム画像から決定し、決定した対応点座標と3次元座標とのペアを3次元点IDに関連付けた対応点リスト情報を生成し、前記対応点リスト情報と前記暫定カメラポーズ情報とを出力する3次元点対応付けステップと、前記対応点リスト情報と前記暫定カメラポーズ情報とを入力し、前記対応点リスト情報の3次元座標と対応点座標のペア全てからロバスト推定法を用いて最適カメラポーズ情報を算出し、ロバスト推定時に外れ値に判断された全てについて、3次元座標と対応点座標のペアと、該ペアの3次元点IDをペアIDに関連付けたアウトライヤ対応点リスト情報と、前記最適カメラポーズ情報を出力するカメラポーズ算出ステップと、前記最適カメラポーズ情報と前記アウトライヤ対応点リスト情報とを入力するとともに、前記3次元リスト情報を前記3次元リスト記憶手段から読み込み、前記最適カメラポーズ情報を用いてアウトライヤ対応点リスト情報内の3次元座標が前記フレーム画像に射影される再射影点を決定し、該再射影点とアウトライヤ対応点リスト情報内の対応点座標から算出する動きベクトルを用いて対象の3次元座標が移動物体上か否か判定し、移動物体と判定された場合は、処理対象のアウトライヤ対応点リスト情報内の3次元点IDに対応する3次元リスト情報の移動物体フラグを1に更新して、最終的な前記最適カメラポーズを出力する3次元リスト更新ステップとを前記コンピュータに行わせることを特徴とする。
【発明の効果】
【0010】
本発明によれば、実空間内に移動物体が含まれる場合においても、ある時刻におけるカメラポーズを算出後、算出したカメラポーズと、カメラポーズ算出時に決定されたアウトライヤから実空間中の移動物体上がフレーム画像において撮像された点を検出し、検出した点に対応する3次元座標情報を除去するため、次時刻以降で入力される3次元座標情報と実際の実空間との乖離が解消され、時々刻々に亘って正確に移動物体上の動きベクトルを検出することができるという効果が得られる。
【図面の簡単な説明】
【0011】
【図1】本発明の一実施形態の構成を示すブロック図である。
【図2】図1に示す3次元点対応付け部11の動作を示すフローチャートである。
【図3】図1に示すカメラポーズ算出部12の動作を示すフローチャートである。
【図4】図1に示す3次元リスト更新部13の動作を示すフローチャートである。
【図5】カメラポーズ推定処理を示す説明図である。
【図6】3次元点対応付け処理を示す説明図である。
【図7】3次元点対応付け処理を示す説明図である。
【図8】3次元リスト更新処理を示す説明図である。
【図9】3次元リスト更新処理を示す説明図である。
【図10】3次元リスト更新処理を示す説明図である。
【図11】3次元リストの一例を示す説明図である。
【図12】対応点リストの一例を示す説明図である。
【図13】アウトライヤ対応点リストの一例を示す説明図である。
【図14】3次元リストの一例を示す説明図である。
【発明を実施するための形態】
【0012】
以下、図面を参照して、本発明の一実施形態によるカメラポーズ推定装置を説明する。図1は同実施形態の構成を示すブロック図である。この図において、符号1は、コンピュータ装置で構成するカメラポーズ推定装置であり、暫定カメラポーズの情報とフレーム画像を入力し、最適カメラポーズの情報を出力する。符号2は、3次元リストの情報を記憶する3次元リスト記憶部である。ここでいう「カメラポーズ」とは、実空間の三次元空間において予め設定したワールド座標系に対するカメラの併進、回転を示す姿勢情報である。カメラポーズ推定装置1は、3次元点対応付け部11と、カメラポーズ算出部12と、3次元リスト更新部13とを備える。
【0013】
3次元点対応付け部11は、最新時刻のフレーム画像と、前時刻から算出された暫定カメラポーズを入力するとともに、実空間中の点の3次元座標、及び3次元座標が有するテクスチャ情報、及び3次元座標が移動物体上か否かを示す移動物体フラグが唯一に付与された3次元点IDに関連付けられて記録された3次元リストを3次元リスト記憶部2から読み込み、3次元リスト内の3次元座標に対応する点をフレーム画像から決定し、決定した対応点座標と3次元座標とのペアを3次元点IDに関連付けて記録した対応点リストを生成し、暫定カメラポーズと併せて出力する。
【0014】
カメラポーズ算出部12は、3次元点対応付け部11から出力される対応点リストと暫定カメラポーズを入力し、対応点リストの3次元座標と対応点座標のペア全てからロバスト推定法を用いて最適カメラポーズを算出し、ロバスト推定時に外れ値を示すアウトライヤに判断された全てについて、3次元座標と対応点座標のペアと、このペアの3次元点IDを、唯一に付与されたペアIDに関連付けてアウトライヤ対応点リストとして記録し、このアウトライヤ対応点リストと、最適カメラポーズを出力する。
【0015】
3次元リスト更新部13は、カメラポーズ算出部12が出力する最適カメラポーズ及びアウトライヤ対応点リストを入力し、3次元リストを3次元リスト記憶部2から読み込み、最適カメラポーズを用いてアウトライヤ対応点リスト内の3次元座標がフレーム画像に射影される点を再射影点を決定し、当該再射影点とアウトライヤ対応点リスト内の対応点座標から算出する動きベクトルを用いて対象の3次元座標が移動物体上か否か判定し、移動物体と判定された場合は、処理対象のアウトライヤ対応点リスト内の3次元点IDに対応する3次元リストの移動物体フラグを1に更新するとともに、最終的に最適カメラポーズを出力する。
【0016】
次に、図5、図11を参照して、図1に示すカメラポーズ推定装置1で実行される処理動作について説明する。図5は、カメラポーズ推定処理を示す説明図である。図11は、3次元リストの一例を示す説明図である。ここではカメラポーズ推定装置1が時刻tに起動されたものとする。暫定カメラポーズは、時刻t以前のカメラポーズ列の遷移から予測した時刻tにおけるカメラポーズの仮値であり、例えば時刻t以前のカメラポーズ列から加速度、速度を算出しておき、当該加速度、速度から時刻t−1のカメラポーズを算出することで決定する(図5参照)。フレーム画像は、対象となる実空間を時刻tにおいて撮像したカメラから出力される画像である(図5参照)。3次元リスト記憶部2の3次元リストは、時刻tより以前のカメラポーズ推定によって出力された実空間の3次元点情報(図5参照)に関するリストであり、唯一に付与された3次元点IDに関連付けられて、少なくとも3次元座標、当該3次元座標近辺のテクスチャ情報、移動物体フラグが記録されている(図11参照)。
【0017】
次に、図2を参照して、図1に示す3次元点対応付け部11の処理動作を説明する。カメラポーズ推定装置1は、まず3次元点対応付け部11が起動される。3次元点対応付け部11は、暫定カメラポーズとフレーム画像を入力する(ステップS1)。続いて、3次元点対応付け部11は、3次元リスト記憶部2から3次元リストを読み込み(ステップS2)、3次元リストの移動物体上フラグが0である3次元点ID全てについて処理済みであるか否かを判定し(ステップS3)、処理済みでなければ、3次元点対応付け部11は、3次元リストで移動物体フラグが0のものうち、未だ処理を行っていない3次元点IDを1つ選択し、選択した3次元点IDに関連付けられた3次元座標を暫定カメラポーズを用いフレーム画像に射影することで射影点を決定する(ステップS4)。
【0018】
ここで、射影点を決定する射影方法について説明する。実空間の3次元空間の座標(Xw,Yw,Zw)とカメラのフレーム画像への射影点の座標(u,v)とは、(1)式に示すように、p11からp34の12個のパラメータによって関係付けられる(例えば、文献「ディジタル画像処理編集委員会著,「ディジタル画像処理」,CG−ARTS協会,2004年,p.252〜256.」参照)。ただし、演算子〜は、その両辺が定数倍の違いを許して等しいことを表している。
【数1】
【0019】
ここで、(1)式は、非特許文献2に示されるように、(2)式のように分解できる。
【数2】
ただし、Aは、(3)式に示すカメラの内部パラメータからなる3×3の行列である。また、fはカメラの焦点距離であり、δuとδvは、カメラの撮像素子の横方向と縦方向の画素の物理的な間隔である。
【数3】
【0020】
また、(2)式に示すRとtはそれぞれ3×3の回転行列と3次元の平行移動ベクトルである。カメラポーズ推定装置1の3次元点対応付け部11においては、入力された暫定カメラポーズをR、tとして、3次元点IDに関連付けられた3次元座標を ̄xw( ̄はxの頭に付く)として、それぞれ(2)式に代入することで、射影点の座標(u,v)を決定する。なお、カメラの内部パラメータAは、予め定められた値がカメラポーズ推定装置1に入力されているものとする。
【0021】
ここで注意すべきは、暫定カメラポーズは時刻t以前のカメラポーズ列の遷移から予測した時刻tにおけるカメラポーズの仮値であり、真値と異なることである。このため、3次元座標に対応するフレーム画像上での実際の観測点と射影点の位置は異なる可能性がある。そこで、3次元点対応付け部11は、決定した射影点近傍で、3次元点IDに関連付けられた3次元座標に対応するフレーム画像上での実際の観測点である対応点をテンプレートマッチングを用いることで検出する。この処理を図2、図6、図7、図12を参照して説明する。
【0022】
図2に戻り、3次元点対応付け部11は、3次元点IDに関連付けられたテクスチャ情報をテンプレートとして設定し(ステップS5)、続いて、図6の×印で示す射影点近傍にテンプレートマッチング処理におけるテンプレートの走査範囲を示す対応点探索領域を設定する。当該対応点探索領域のサイズ・形状は予め決められているものとし、サイズについては前記探索ウィンドウより大きいものとする。例えば、図6に示すとおり、半径が所定のサイズの円形を対応点探索領域として用いることができる。
【0023】
次に、3次元点対応付け部11は、対応点探索領域内の画像データに対するテンプレートマッチング処理を行うことで、この対応点探索領域内から設定したテンプレートに類似する点を対応点として決定する(ステップS7)。この類似する点の決定処理はテンプレートマッチングで算出される各点の類似度のうち、最も類似度が高い点を選択することで実現できる。
【0024】
次に、3次元点対応付け部11は、3次元点IDに関連付けられた3次元座標と決定した対応点座標のペアを3次元点IDと関連付けて対応点リストとして記録する(ステップS8)。そして、前述のステップS4〜S8の処理を、読み込んだ3次元リストで移動物体フラグが0の3次元点ID全てに亘って行なう。ここでは、最終的に例えば図7に●印で示すように対応点がそれぞれ決定され、図12に示す対応点リストが生成されることになる。最後に3次元点対応付け部11は、この対応点リストを、暫定カメラポーズと併せて出力し処理を終える(ステップS9)。
【0025】
次に、図3を参照して、図1に示すカメラポーズ算出部12の処理動作を説明する。まず、カメラポーズ算出部12は、3次元点対応付け部11から出力される暫定カメラポーズの情報と、対応点リストとを入力する(ステップS11)。続いて、カメラポーズ算出部12は、対応点リストの3次元座標と対応点座標のペア全てから、暫定カメラポーズを初期値とした再投影誤差と重みで表現されるエラー関数をロバスト推定の枠組みで最小化することによって最適カメラポーズを算出する(ステップS12)。このカメラポーズ算出処理は公知の処理方法を用いることができるため、ここでは詳細な説明を省略する。例えば非特許文献1に記載されている方法を適用可能である。
【0026】
再投影誤差とは、あるカメラポーズを用いて3次元座標値をフレーム画像上に射影した点の位置と、実際の観測点の位置のずれを示す値であり、本実施形態における最適カメラポーズの算出処理の初期段階では暫定カメラポーズを用いて処理対象ペアの3次元座標を射影した点の座標と、処理対象ペアの対応点座標のユークリッド距離によって表現される。また、重みとは測定データに対するモデル当て嵌め問題において、測定データに含まれる誤差の影響をできるだけ受けないようにする手法の一つであるロバスト推定法で用いられる重み関数によって決定される値であり、例えば非特許文献1では、(4)式で示す重み関数w(d)を用いている。
【数4】
【0027】
ただし、Wは予め定められた誤差の許容範囲、dは3次元座標と対応点座標のペア毎の再投影誤差値をそれぞれ示す。誤差の許容範囲Wを小さくしながら、重みと再投影誤差で表現されるエラー関数値が小さくなるまで繰り返すことで最適なカメラポーズが算出される。またカメラポーズ算出に(4)式で示す重み関数を用いた場合は、最終的な最適カメラポーズを算出した際の重みw(d)の値が0である3次元座標と対応点座標のペアがアウトライヤとして判定できる。
【0028】
次に、カメラポーズ算出部12は、ロバスト推定時にアウトライヤと判断された3次元座標と対応点座標のペア全てについて、このペアの3次元点IDを、唯一に付与されたペアIDに関連付けて3次元座標と対応点座標とともにアウトライヤ対応点リストとして記録する(ステップS13)。ここでは、最終的に例えば図13に示すアウトライヤ対応点リストが生成されたものとする。そして、最後にカメラポーズ算出部12は、最適カメラポーズ及びアウトライヤ対応点リストを出力して処理を終了する(ステップS14)。
【0029】
次に、図4を参照して、図1に示す3次元リスト更新部13の処理動作を説明する。ここでは、図8に示すとおり、カメラで観測する実空間の3次元空間内の複数の点が移動物体上に属しており、時刻t−1から時刻tにおいてこの点群が移動しているものとして説明する。まず、3次元リスト更新部13は、最適カメラポーズ、アウトライヤ対応点リストを入力し(ステップS21)、続いて、3次元リスト記憶部2から3次元リストを読み込む(ステップS22)。
【0030】
次に、3次元リスト更新部13は、アウトライヤ対応点リストの全ペアIDについて処理済みか否かを判定する(ステップS23)。この判定の結果、処理済みでなければ、3次元リスト更新部13は、アウトライヤ対応点リストのうち、未だ処理を行っていないペアIDを1つ選択し、選択したペアIDに関連付けられた3次元座標を最適カメラポーズとして用いフレーム画像に射影することで再射影点を決定する(ステップS24)。この射影方法については、3次元点対応付け部11における処理(ステップS3)と同様に、入力された最適カメラポーズをRとtとして、ペアIDに関連付けられた3次元座標を ̄xw( ̄はxの頭に付く)として、それぞれ(2)式に代入することで、再射影点の座標(u’,v’)を決定する。
【0031】
次に、3次元リスト更新部13は、再射影点の座標(u’,v’)とペアIDに関連付けられた対応点座標を用い動きベクトルを算出する(ステップS25)。この処理は、例えば再射影点pが(u’,v’)、対応点座標qが (l’,m’)であったとすると、動きベクトルv=(u’−l,v’−m)Tとすることで実現できる。ここでTは転置を意味する。続いて、3次元リスト更新部13は、ペアIDに関連付けられた3次元座標で表現される3次元点が移動物体か否かを算出した動きベクトルを用いて判定する(ステップS26、S27)。この判定処理は、例えば動きベクトルの大きさ|v|を算出し、この大きさ|v|が所定値(例えば1)より大きければ移動物体上を示す移動物体上動きベクトルであると判定することによって実現できる。この判定の結果、移動物体上でなければ、ステップS23に戻り、一方、処理対象のペアIDに関連付けられた3次元座標で表現される3次元点が移動物体上と判定された場合、このペアIDに関連付けられた3次元点IDに対応する3次元リストの移動物体フラグを1に更新する(ステップS28)。
【0032】
次に、3次元リスト更新部13は、ステップS23〜S28の処理を、アウトライヤ対応点リストのペアID全てに亘って行なう。ここでは、最終的に例えば図9に示す×印に示すよう再射影点が、図10に示すように移動物体上動きベクトルがそれぞれ決定され、移動物体上動きベクトルと判定された処理対象のペアIDに関連付けられた3次元点IDに対応する3次元リストの移動物体フラグを1に更新した結果、図14に示す3次元リストが生成されることになる。最後に、3次元リスト更新部13は、最適カメラポーズを出力し、更新した3次元リストを3次元リスト記憶部2に書き出して処理を終了する(ステップS29)。
【0033】
以上、本発明を実施形態に基づき具体的に説明したが、上記実施の形態の説明は、本発明を説明するためのものであって、特許請求の範囲に記載の発明を限定し、或は範囲を減縮する様に解すべきではない。また、本発明の各手段構成は上記実施の形態に限らず、特許請求の範囲に記載の技術的範囲内で種々の変形が可能であることは勿論である。
【0034】
例えば、対応点リストは3次元ID、対応点座標のみ保持し、3次元座標は3次元リストに記載の値を前記3次元IDをもとに参照することとしても良い。またアウトライヤ対応点リストは3次元IDのみ保持し、3次元座標は3次元リストに記載の値を、対応点座標は対応点リストの値を、3次元IDをもとにそれぞれ参照することとしても良い。
【0035】
以上説明したように、実空間内に移動物体が含まれる場合においても、時刻tにおける最適カメラポーズを算出後、この最適カメラポーズと、最適カメラポーズ算出時に決定されたアウトライヤから実空間中の移動物体上が時刻tにおけるフレーム画像において撮像された点を検出し、検出した点に対応する3次元座標情報を次時刻以降の処理で利用しないように3次元リスト上で移動物体フラグを立てることによって、次時刻以降で入力される3次元座標情報と実際の実空間との乖離が解消され、時々刻々に亘って正確に移動物体上の動きベクトルを検出することができる。
【0036】
なお、図1における各処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりカメラポーズ推定処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0037】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【産業上の利用可能性】
【0038】
実空間を移動する物体を含むシーンを撮像するカメラによって入力されたフレーム画像列から、実空間におけるカメラの位置・姿勢を示すカメラポーズを算出することが不可欠な用途に適用できる。
【符号の説明】
【0039】
1・・・カメラポーズ推定装置、11・・・3次元点対応付け部、12・・・カメラポーズ算出部、13・・・3次元リスト更新部、2・・・3次元リスト記憶部
【技術分野】
【0001】
本発明は、実空間を移動する物体を含むシーンを撮像するカメラによって入力されたフレーム画像列から、実空間におけるカメラの位置・姿勢を示すカメラポーズを算出するカメラポーズ推定装置、カメラポーズ推定方法及びカメラポーズ推定プログラムに関する。
【背景技術】
【0002】
実空間を撮像するカメラによって入力されたフレーム画像から、実空間におけるカメラの位置・姿勢を示すカメラポーズを算出するカメラポーズ推定装置では、算出したカメラポーズを用いて、例えばフレーム画像中にコンピュータグラフィクス等を合成することを可能にしている。
【0003】
従来のカメラポーズ推定装置では、撮影対象である実空間が静止していることを前提に、例えば、最新時刻のフレーム画像と、撮影対象である実空間の3次元座標情報、最新時刻以前のカメラポーズ列から算出した仮のカメラポーズを入力し、(1)実空間の3次元点がフレーム画像で観測された画像点を決定、(2)3次元点の3次元座標と画像点の座標の組から非線形最小自乗法によってカメラポーズ算出、を時々刻々繰り返すことによって長時間に亘っても正確にカメラポーズを算出し続ける方法について記載されている(例えば、非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Parallel Tracking and Mapping for Small AR Workspaces,Georg Klein and David Murray,In Proc. International Symposium on Mixed and Augmented Reality (ISMAR'07, Nara),pp. 225-234,2007
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら従来の方法では、撮影対象である実空間が静止していることが前提としてカメラポーズ算出を行うため、実空間に移動物体が含まれる場合にはカメラポーズ精度が低下するという問題がある。その理由は、時々刻々に亘ってカメラポーズ算出を行っている間に、実際の実空間と、カメラポーズ推定装置に入力される実空間の3次元座標情報との間に乖離が生じ、3次元点の3次元座標と画像点の座標の組から非線形最小自乗法によって算出されるカメラポーズが正確性に欠けるからである。
【0006】
本発明は、このような事情に鑑みてなされたもので、カメラポーズ推定装置において、実空間中に移動物体が含まれる場合においても正確にカメラポーズを算出することができるカメラポーズ推定装置、カメラポーズ推定方法及びカメラポーズ推定プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明は、実空間中の点の3次元座標と、3次元座標が有するテクスチャ情報と、3次元座標が移動物体上か否かを示す移動物体フラグとが3次元点IDに関連付けられた3次元リスト情報を記憶する3次元リスト記憶手段と、フレーム画像と、暫定カメラポーズ情報とを入力するとともに、前記3次元リスト情報を3次元リスト記憶手段から読み込み、前記3次元リスト情報内の前記移動物体フラグが0である3次元座標に対応する点をフレーム画像から決定し、決定した対応点座標と3次元座標とのペアを3次元点IDに関連付けた対応点リスト情報を生成し、前記対応点リスト情報と前記暫定カメラポーズ情報とを出力する3次元点対応付け手段と、前記対応点リスト情報と前記暫定カメラポーズ情報とを入力し、前記対応点リスト情報の3次元座標と対応点座標のペア全てからロバスト推定法を用いて最適カメラポーズ情報を算出し、ロバスト推定時に外れ値に判断された全てについて、3次元座標と対応点座標のペアと、該ペアの3次元点IDをペアIDに関連付けたアウトライヤ対応点リスト情報と、前記最適カメラポーズ情報を出力するカメラポーズ算出手段と、前記最適カメラポーズ情報と前記アウトライヤ対応点リスト情報とを入力するとともに、前記3次元リスト情報を前記3次元リスト記憶手段から読み込み、前記最適カメラポーズ情報を用いてアウトライヤ対応点リスト情報内の3次元座標が前記フレーム画像に射影される再射影点を決定し、該再射影点とアウトライヤ対応点リスト情報内の対応点座標から算出する動きベクトルを用いて対象の3次元座標が移動物体上か否か判定し、移動物体と判定された場合は、処理対象のアウトライヤ対応点リスト情報内の3次元点IDに対応する3次元リスト情報の移動物体フラグを1に更新して、最終的な前記最適カメラポーズを出力する3次元リスト更新手段とを備えることを特徴とする。
【0008】
本発明は、実空間中の点の3次元座標と、3次元座標が有するテクスチャ情報と、3次元座標が移動物体上か否かを示す移動物体フラグとが3次元点IDに関連付けられた3次元リスト情報を記憶する3次元リスト記憶手段と、3次元点対応付け手段と、カメラポーズ算出手段と、3次元リスト更新手段とを備えるカメラポーズ推定装置におけるカメラポーズ推定方法であって、前記3次元点対応付け手段が、フレーム画像と、暫定カメラポーズ情報とを入力するとともに、前記3次元リスト情報を3次元リスト記憶手段から読み込み、前記3次元リスト情報内の前記移動物体フラグが0である3次元座標に対応する点をフレーム画像から決定し、決定した対応点座標と3次元座標とのペアを3次元点IDに関連付けた対応点リスト情報を生成し、前記対応点リスト情報と前記暫定カメラポーズ情報とを出力する3次元点対応付けステップと、前記カメラポーズ算出手段が、前記対応点リスト情報と前記暫定カメラポーズ情報とを入力し、前記対応点リスト情報の3次元座標と対応点座標のペア全てからロバスト推定法を用いて最適カメラポーズ情報を算出し、ロバスト推定時に外れ値に判断された全てについて、3次元座標と対応点座標のペアと、該ペアの3次元点IDをペアIDに関連付けたアウトライヤ対応点リスト情報と、前記最適カメラポーズ情報を出力するカメラポーズ算出ステップと、前記3次元リスト更新手段が、前記最適カメラポーズ情報と前記アウトライヤ対応点リスト情報とを入力するとともに、前記3次元リスト情報を前記3次元リスト記憶手段から読み込み、前記最適カメラポーズ情報を用いてアウトライヤ対応点リスト情報内の3次元座標が前記フレーム画像に射影される再射影点を決定し、該再射影点とアウトライヤ対応点リスト情報内の対応点座標から算出する動きベクトルを用いて対象の3次元座標が移動物体上か否か判定し、移動物体と判定された場合は、処理対象のアウトライヤ対応点リスト情報内の3次元点IDに対応する3次元リスト情報の移動物体フラグを1に更新して、最終的な前記最適カメラポーズを出力する3次元リスト更新ステップとを有することを特徴とする。
【0009】
本発明は、実空間中の点の3次元座標と、3次元座標が有するテクスチャ情報と、3次元座標が移動物体上か否かを示す移動物体フラグとが3次元点IDに関連付けられた3次元リスト情報を記憶する3次元リスト記憶手段を備えるカメラポーズ推定装置上のコンピュータにカメラポーズ推定処理を行わせるカメラポーズ推定プログラムであって、フレーム画像と、暫定カメラポーズ情報とを入力するとともに、前記3次元リスト情報を3次元リスト記憶手段から読み込み、前記3次元リスト情報内の前記移動物体フラグが0である3次元座標に対応する点をフレーム画像から決定し、決定した対応点座標と3次元座標とのペアを3次元点IDに関連付けた対応点リスト情報を生成し、前記対応点リスト情報と前記暫定カメラポーズ情報とを出力する3次元点対応付けステップと、前記対応点リスト情報と前記暫定カメラポーズ情報とを入力し、前記対応点リスト情報の3次元座標と対応点座標のペア全てからロバスト推定法を用いて最適カメラポーズ情報を算出し、ロバスト推定時に外れ値に判断された全てについて、3次元座標と対応点座標のペアと、該ペアの3次元点IDをペアIDに関連付けたアウトライヤ対応点リスト情報と、前記最適カメラポーズ情報を出力するカメラポーズ算出ステップと、前記最適カメラポーズ情報と前記アウトライヤ対応点リスト情報とを入力するとともに、前記3次元リスト情報を前記3次元リスト記憶手段から読み込み、前記最適カメラポーズ情報を用いてアウトライヤ対応点リスト情報内の3次元座標が前記フレーム画像に射影される再射影点を決定し、該再射影点とアウトライヤ対応点リスト情報内の対応点座標から算出する動きベクトルを用いて対象の3次元座標が移動物体上か否か判定し、移動物体と判定された場合は、処理対象のアウトライヤ対応点リスト情報内の3次元点IDに対応する3次元リスト情報の移動物体フラグを1に更新して、最終的な前記最適カメラポーズを出力する3次元リスト更新ステップとを前記コンピュータに行わせることを特徴とする。
【発明の効果】
【0010】
本発明によれば、実空間内に移動物体が含まれる場合においても、ある時刻におけるカメラポーズを算出後、算出したカメラポーズと、カメラポーズ算出時に決定されたアウトライヤから実空間中の移動物体上がフレーム画像において撮像された点を検出し、検出した点に対応する3次元座標情報を除去するため、次時刻以降で入力される3次元座標情報と実際の実空間との乖離が解消され、時々刻々に亘って正確に移動物体上の動きベクトルを検出することができるという効果が得られる。
【図面の簡単な説明】
【0011】
【図1】本発明の一実施形態の構成を示すブロック図である。
【図2】図1に示す3次元点対応付け部11の動作を示すフローチャートである。
【図3】図1に示すカメラポーズ算出部12の動作を示すフローチャートである。
【図4】図1に示す3次元リスト更新部13の動作を示すフローチャートである。
【図5】カメラポーズ推定処理を示す説明図である。
【図6】3次元点対応付け処理を示す説明図である。
【図7】3次元点対応付け処理を示す説明図である。
【図8】3次元リスト更新処理を示す説明図である。
【図9】3次元リスト更新処理を示す説明図である。
【図10】3次元リスト更新処理を示す説明図である。
【図11】3次元リストの一例を示す説明図である。
【図12】対応点リストの一例を示す説明図である。
【図13】アウトライヤ対応点リストの一例を示す説明図である。
【図14】3次元リストの一例を示す説明図である。
【発明を実施するための形態】
【0012】
以下、図面を参照して、本発明の一実施形態によるカメラポーズ推定装置を説明する。図1は同実施形態の構成を示すブロック図である。この図において、符号1は、コンピュータ装置で構成するカメラポーズ推定装置であり、暫定カメラポーズの情報とフレーム画像を入力し、最適カメラポーズの情報を出力する。符号2は、3次元リストの情報を記憶する3次元リスト記憶部である。ここでいう「カメラポーズ」とは、実空間の三次元空間において予め設定したワールド座標系に対するカメラの併進、回転を示す姿勢情報である。カメラポーズ推定装置1は、3次元点対応付け部11と、カメラポーズ算出部12と、3次元リスト更新部13とを備える。
【0013】
3次元点対応付け部11は、最新時刻のフレーム画像と、前時刻から算出された暫定カメラポーズを入力するとともに、実空間中の点の3次元座標、及び3次元座標が有するテクスチャ情報、及び3次元座標が移動物体上か否かを示す移動物体フラグが唯一に付与された3次元点IDに関連付けられて記録された3次元リストを3次元リスト記憶部2から読み込み、3次元リスト内の3次元座標に対応する点をフレーム画像から決定し、決定した対応点座標と3次元座標とのペアを3次元点IDに関連付けて記録した対応点リストを生成し、暫定カメラポーズと併せて出力する。
【0014】
カメラポーズ算出部12は、3次元点対応付け部11から出力される対応点リストと暫定カメラポーズを入力し、対応点リストの3次元座標と対応点座標のペア全てからロバスト推定法を用いて最適カメラポーズを算出し、ロバスト推定時に外れ値を示すアウトライヤに判断された全てについて、3次元座標と対応点座標のペアと、このペアの3次元点IDを、唯一に付与されたペアIDに関連付けてアウトライヤ対応点リストとして記録し、このアウトライヤ対応点リストと、最適カメラポーズを出力する。
【0015】
3次元リスト更新部13は、カメラポーズ算出部12が出力する最適カメラポーズ及びアウトライヤ対応点リストを入力し、3次元リストを3次元リスト記憶部2から読み込み、最適カメラポーズを用いてアウトライヤ対応点リスト内の3次元座標がフレーム画像に射影される点を再射影点を決定し、当該再射影点とアウトライヤ対応点リスト内の対応点座標から算出する動きベクトルを用いて対象の3次元座標が移動物体上か否か判定し、移動物体と判定された場合は、処理対象のアウトライヤ対応点リスト内の3次元点IDに対応する3次元リストの移動物体フラグを1に更新するとともに、最終的に最適カメラポーズを出力する。
【0016】
次に、図5、図11を参照して、図1に示すカメラポーズ推定装置1で実行される処理動作について説明する。図5は、カメラポーズ推定処理を示す説明図である。図11は、3次元リストの一例を示す説明図である。ここではカメラポーズ推定装置1が時刻tに起動されたものとする。暫定カメラポーズは、時刻t以前のカメラポーズ列の遷移から予測した時刻tにおけるカメラポーズの仮値であり、例えば時刻t以前のカメラポーズ列から加速度、速度を算出しておき、当該加速度、速度から時刻t−1のカメラポーズを算出することで決定する(図5参照)。フレーム画像は、対象となる実空間を時刻tにおいて撮像したカメラから出力される画像である(図5参照)。3次元リスト記憶部2の3次元リストは、時刻tより以前のカメラポーズ推定によって出力された実空間の3次元点情報(図5参照)に関するリストであり、唯一に付与された3次元点IDに関連付けられて、少なくとも3次元座標、当該3次元座標近辺のテクスチャ情報、移動物体フラグが記録されている(図11参照)。
【0017】
次に、図2を参照して、図1に示す3次元点対応付け部11の処理動作を説明する。カメラポーズ推定装置1は、まず3次元点対応付け部11が起動される。3次元点対応付け部11は、暫定カメラポーズとフレーム画像を入力する(ステップS1)。続いて、3次元点対応付け部11は、3次元リスト記憶部2から3次元リストを読み込み(ステップS2)、3次元リストの移動物体上フラグが0である3次元点ID全てについて処理済みであるか否かを判定し(ステップS3)、処理済みでなければ、3次元点対応付け部11は、3次元リストで移動物体フラグが0のものうち、未だ処理を行っていない3次元点IDを1つ選択し、選択した3次元点IDに関連付けられた3次元座標を暫定カメラポーズを用いフレーム画像に射影することで射影点を決定する(ステップS4)。
【0018】
ここで、射影点を決定する射影方法について説明する。実空間の3次元空間の座標(Xw,Yw,Zw)とカメラのフレーム画像への射影点の座標(u,v)とは、(1)式に示すように、p11からp34の12個のパラメータによって関係付けられる(例えば、文献「ディジタル画像処理編集委員会著,「ディジタル画像処理」,CG−ARTS協会,2004年,p.252〜256.」参照)。ただし、演算子〜は、その両辺が定数倍の違いを許して等しいことを表している。
【数1】
【0019】
ここで、(1)式は、非特許文献2に示されるように、(2)式のように分解できる。
【数2】
ただし、Aは、(3)式に示すカメラの内部パラメータからなる3×3の行列である。また、fはカメラの焦点距離であり、δuとδvは、カメラの撮像素子の横方向と縦方向の画素の物理的な間隔である。
【数3】
【0020】
また、(2)式に示すRとtはそれぞれ3×3の回転行列と3次元の平行移動ベクトルである。カメラポーズ推定装置1の3次元点対応付け部11においては、入力された暫定カメラポーズをR、tとして、3次元点IDに関連付けられた3次元座標を ̄xw( ̄はxの頭に付く)として、それぞれ(2)式に代入することで、射影点の座標(u,v)を決定する。なお、カメラの内部パラメータAは、予め定められた値がカメラポーズ推定装置1に入力されているものとする。
【0021】
ここで注意すべきは、暫定カメラポーズは時刻t以前のカメラポーズ列の遷移から予測した時刻tにおけるカメラポーズの仮値であり、真値と異なることである。このため、3次元座標に対応するフレーム画像上での実際の観測点と射影点の位置は異なる可能性がある。そこで、3次元点対応付け部11は、決定した射影点近傍で、3次元点IDに関連付けられた3次元座標に対応するフレーム画像上での実際の観測点である対応点をテンプレートマッチングを用いることで検出する。この処理を図2、図6、図7、図12を参照して説明する。
【0022】
図2に戻り、3次元点対応付け部11は、3次元点IDに関連付けられたテクスチャ情報をテンプレートとして設定し(ステップS5)、続いて、図6の×印で示す射影点近傍にテンプレートマッチング処理におけるテンプレートの走査範囲を示す対応点探索領域を設定する。当該対応点探索領域のサイズ・形状は予め決められているものとし、サイズについては前記探索ウィンドウより大きいものとする。例えば、図6に示すとおり、半径が所定のサイズの円形を対応点探索領域として用いることができる。
【0023】
次に、3次元点対応付け部11は、対応点探索領域内の画像データに対するテンプレートマッチング処理を行うことで、この対応点探索領域内から設定したテンプレートに類似する点を対応点として決定する(ステップS7)。この類似する点の決定処理はテンプレートマッチングで算出される各点の類似度のうち、最も類似度が高い点を選択することで実現できる。
【0024】
次に、3次元点対応付け部11は、3次元点IDに関連付けられた3次元座標と決定した対応点座標のペアを3次元点IDと関連付けて対応点リストとして記録する(ステップS8)。そして、前述のステップS4〜S8の処理を、読み込んだ3次元リストで移動物体フラグが0の3次元点ID全てに亘って行なう。ここでは、最終的に例えば図7に●印で示すように対応点がそれぞれ決定され、図12に示す対応点リストが生成されることになる。最後に3次元点対応付け部11は、この対応点リストを、暫定カメラポーズと併せて出力し処理を終える(ステップS9)。
【0025】
次に、図3を参照して、図1に示すカメラポーズ算出部12の処理動作を説明する。まず、カメラポーズ算出部12は、3次元点対応付け部11から出力される暫定カメラポーズの情報と、対応点リストとを入力する(ステップS11)。続いて、カメラポーズ算出部12は、対応点リストの3次元座標と対応点座標のペア全てから、暫定カメラポーズを初期値とした再投影誤差と重みで表現されるエラー関数をロバスト推定の枠組みで最小化することによって最適カメラポーズを算出する(ステップS12)。このカメラポーズ算出処理は公知の処理方法を用いることができるため、ここでは詳細な説明を省略する。例えば非特許文献1に記載されている方法を適用可能である。
【0026】
再投影誤差とは、あるカメラポーズを用いて3次元座標値をフレーム画像上に射影した点の位置と、実際の観測点の位置のずれを示す値であり、本実施形態における最適カメラポーズの算出処理の初期段階では暫定カメラポーズを用いて処理対象ペアの3次元座標を射影した点の座標と、処理対象ペアの対応点座標のユークリッド距離によって表現される。また、重みとは測定データに対するモデル当て嵌め問題において、測定データに含まれる誤差の影響をできるだけ受けないようにする手法の一つであるロバスト推定法で用いられる重み関数によって決定される値であり、例えば非特許文献1では、(4)式で示す重み関数w(d)を用いている。
【数4】
【0027】
ただし、Wは予め定められた誤差の許容範囲、dは3次元座標と対応点座標のペア毎の再投影誤差値をそれぞれ示す。誤差の許容範囲Wを小さくしながら、重みと再投影誤差で表現されるエラー関数値が小さくなるまで繰り返すことで最適なカメラポーズが算出される。またカメラポーズ算出に(4)式で示す重み関数を用いた場合は、最終的な最適カメラポーズを算出した際の重みw(d)の値が0である3次元座標と対応点座標のペアがアウトライヤとして判定できる。
【0028】
次に、カメラポーズ算出部12は、ロバスト推定時にアウトライヤと判断された3次元座標と対応点座標のペア全てについて、このペアの3次元点IDを、唯一に付与されたペアIDに関連付けて3次元座標と対応点座標とともにアウトライヤ対応点リストとして記録する(ステップS13)。ここでは、最終的に例えば図13に示すアウトライヤ対応点リストが生成されたものとする。そして、最後にカメラポーズ算出部12は、最適カメラポーズ及びアウトライヤ対応点リストを出力して処理を終了する(ステップS14)。
【0029】
次に、図4を参照して、図1に示す3次元リスト更新部13の処理動作を説明する。ここでは、図8に示すとおり、カメラで観測する実空間の3次元空間内の複数の点が移動物体上に属しており、時刻t−1から時刻tにおいてこの点群が移動しているものとして説明する。まず、3次元リスト更新部13は、最適カメラポーズ、アウトライヤ対応点リストを入力し(ステップS21)、続いて、3次元リスト記憶部2から3次元リストを読み込む(ステップS22)。
【0030】
次に、3次元リスト更新部13は、アウトライヤ対応点リストの全ペアIDについて処理済みか否かを判定する(ステップS23)。この判定の結果、処理済みでなければ、3次元リスト更新部13は、アウトライヤ対応点リストのうち、未だ処理を行っていないペアIDを1つ選択し、選択したペアIDに関連付けられた3次元座標を最適カメラポーズとして用いフレーム画像に射影することで再射影点を決定する(ステップS24)。この射影方法については、3次元点対応付け部11における処理(ステップS3)と同様に、入力された最適カメラポーズをRとtとして、ペアIDに関連付けられた3次元座標を ̄xw( ̄はxの頭に付く)として、それぞれ(2)式に代入することで、再射影点の座標(u’,v’)を決定する。
【0031】
次に、3次元リスト更新部13は、再射影点の座標(u’,v’)とペアIDに関連付けられた対応点座標を用い動きベクトルを算出する(ステップS25)。この処理は、例えば再射影点pが(u’,v’)、対応点座標qが (l’,m’)であったとすると、動きベクトルv=(u’−l,v’−m)Tとすることで実現できる。ここでTは転置を意味する。続いて、3次元リスト更新部13は、ペアIDに関連付けられた3次元座標で表現される3次元点が移動物体か否かを算出した動きベクトルを用いて判定する(ステップS26、S27)。この判定処理は、例えば動きベクトルの大きさ|v|を算出し、この大きさ|v|が所定値(例えば1)より大きければ移動物体上を示す移動物体上動きベクトルであると判定することによって実現できる。この判定の結果、移動物体上でなければ、ステップS23に戻り、一方、処理対象のペアIDに関連付けられた3次元座標で表現される3次元点が移動物体上と判定された場合、このペアIDに関連付けられた3次元点IDに対応する3次元リストの移動物体フラグを1に更新する(ステップS28)。
【0032】
次に、3次元リスト更新部13は、ステップS23〜S28の処理を、アウトライヤ対応点リストのペアID全てに亘って行なう。ここでは、最終的に例えば図9に示す×印に示すよう再射影点が、図10に示すように移動物体上動きベクトルがそれぞれ決定され、移動物体上動きベクトルと判定された処理対象のペアIDに関連付けられた3次元点IDに対応する3次元リストの移動物体フラグを1に更新した結果、図14に示す3次元リストが生成されることになる。最後に、3次元リスト更新部13は、最適カメラポーズを出力し、更新した3次元リストを3次元リスト記憶部2に書き出して処理を終了する(ステップS29)。
【0033】
以上、本発明を実施形態に基づき具体的に説明したが、上記実施の形態の説明は、本発明を説明するためのものであって、特許請求の範囲に記載の発明を限定し、或は範囲を減縮する様に解すべきではない。また、本発明の各手段構成は上記実施の形態に限らず、特許請求の範囲に記載の技術的範囲内で種々の変形が可能であることは勿論である。
【0034】
例えば、対応点リストは3次元ID、対応点座標のみ保持し、3次元座標は3次元リストに記載の値を前記3次元IDをもとに参照することとしても良い。またアウトライヤ対応点リストは3次元IDのみ保持し、3次元座標は3次元リストに記載の値を、対応点座標は対応点リストの値を、3次元IDをもとにそれぞれ参照することとしても良い。
【0035】
以上説明したように、実空間内に移動物体が含まれる場合においても、時刻tにおける最適カメラポーズを算出後、この最適カメラポーズと、最適カメラポーズ算出時に決定されたアウトライヤから実空間中の移動物体上が時刻tにおけるフレーム画像において撮像された点を検出し、検出した点に対応する3次元座標情報を次時刻以降の処理で利用しないように3次元リスト上で移動物体フラグを立てることによって、次時刻以降で入力される3次元座標情報と実際の実空間との乖離が解消され、時々刻々に亘って正確に移動物体上の動きベクトルを検出することができる。
【0036】
なお、図1における各処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりカメラポーズ推定処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0037】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【産業上の利用可能性】
【0038】
実空間を移動する物体を含むシーンを撮像するカメラによって入力されたフレーム画像列から、実空間におけるカメラの位置・姿勢を示すカメラポーズを算出することが不可欠な用途に適用できる。
【符号の説明】
【0039】
1・・・カメラポーズ推定装置、11・・・3次元点対応付け部、12・・・カメラポーズ算出部、13・・・3次元リスト更新部、2・・・3次元リスト記憶部
【特許請求の範囲】
【請求項1】
実空間中の点の3次元座標と、3次元座標が有するテクスチャ情報と、3次元座標が移動物体上か否かを示す移動物体フラグとが3次元点IDに関連付けられた3次元リスト情報を記憶する3次元リスト記憶手段と、
フレーム画像と、暫定カメラポーズ情報とを入力するとともに、前記3次元リスト情報を3次元リスト記憶手段から読み込み、前記3次元リスト情報内の前記移動物体フラグが0である3次元座標に対応する点をフレーム画像から決定し、決定した対応点座標と3次元座標とのペアを3次元点IDに関連付けた対応点リスト情報を生成し、前記対応点リスト情報と前記暫定カメラポーズ情報とを出力する3次元点対応付け手段と、
前記対応点リスト情報と前記暫定カメラポーズ情報とを入力し、前記対応点リスト情報の3次元座標と対応点座標のペア全てからロバスト推定法を用いて最適カメラポーズ情報を算出し、ロバスト推定時に外れ値に判断された全てについて、3次元座標と対応点座標のペアと、該ペアの3次元点IDをペアIDに関連付けたアウトライヤ対応点リスト情報と、前記最適カメラポーズ情報を出力するカメラポーズ算出手段と、
前記最適カメラポーズ情報と前記アウトライヤ対応点リスト情報とを入力するとともに、前記3次元リスト情報を前記3次元リスト記憶手段から読み込み、前記最適カメラポーズ情報を用いてアウトライヤ対応点リスト情報内の3次元座標が前記フレーム画像に射影される再射影点を決定し、該再射影点とアウトライヤ対応点リスト情報内の対応点座標から算出する動きベクトルを用いて対象の3次元座標が移動物体上か否か判定し、移動物体と判定された場合は、処理対象のアウトライヤ対応点リスト情報内の3次元点IDに対応する3次元リスト情報の移動物体フラグを1に更新して、最終的な前記最適カメラポーズを出力する3次元リスト更新手段と
を備えることを特徴とするカメラポーズ推定装置。
【請求項2】
実空間中の点の3次元座標と、3次元座標が有するテクスチャ情報と、3次元座標が移動物体上か否かを示す移動物体フラグとが3次元点IDに関連付けられた3次元リスト情報を記憶する3次元リスト記憶手段と、3次元点対応付け手段と、カメラポーズ算出手段と、3次元リスト更新手段とを備えるカメラポーズ推定装置におけるカメラポーズ推定方法であって、
前記3次元点対応付け手段が、フレーム画像と、暫定カメラポーズ情報とを入力するとともに、前記3次元リスト情報を3次元リスト記憶手段から読み込み、前記3次元リスト情報内の前記移動物体フラグが0である3次元座標に対応する点をフレーム画像から決定し、決定した対応点座標と3次元座標とのペアを3次元点IDに関連付けた対応点リスト情報を生成し、前記対応点リスト情報と前記暫定カメラポーズ情報とを出力する3次元点対応付けステップと、
前記カメラポーズ算出手段が、前記対応点リスト情報と前記暫定カメラポーズ情報とを入力し、前記対応点リスト情報の3次元座標と対応点座標のペア全てからロバスト推定法を用いて最適カメラポーズ情報を算出し、ロバスト推定時に外れ値に判断された全てについて、3次元座標と対応点座標のペアと、該ペアの3次元点IDをペアIDに関連付けたアウトライヤ対応点リスト情報と、前記最適カメラポーズ情報を出力するカメラポーズ算出ステップと、
前記3次元リスト更新手段が、前記最適カメラポーズ情報と前記アウトライヤ対応点リスト情報とを入力するとともに、前記3次元リスト情報を前記3次元リスト記憶手段から読み込み、前記最適カメラポーズ情報を用いてアウトライヤ対応点リスト情報内の3次元座標が前記フレーム画像に射影される再射影点を決定し、該再射影点とアウトライヤ対応点リスト情報内の対応点座標から算出する動きベクトルを用いて対象の3次元座標が移動物体上か否か判定し、移動物体と判定された場合は、処理対象のアウトライヤ対応点リスト情報内の3次元点IDに対応する3次元リスト情報の移動物体フラグを1に更新して、最終的な前記最適カメラポーズを出力する3次元リスト更新ステップと
を有することを特徴とするカメラポーズ推定方法。
【請求項3】
実空間中の点の3次元座標と、3次元座標が有するテクスチャ情報と、3次元座標が移動物体上か否かを示す移動物体フラグとが3次元点IDに関連付けられた3次元リスト情報を記憶する3次元リスト記憶手段を備えるカメラポーズ推定装置上のコンピュータにカメラポーズ推定処理を行わせるカメラポーズ推定プログラムであって、
フレーム画像と、暫定カメラポーズ情報とを入力するとともに、前記3次元リスト情報を3次元リスト記憶手段から読み込み、前記3次元リスト情報内の前記移動物体フラグが0である3次元座標に対応する点をフレーム画像から決定し、決定した対応点座標と3次元座標とのペアを3次元点IDに関連付けた対応点リスト情報を生成し、前記対応点リスト情報と前記暫定カメラポーズ情報とを出力する3次元点対応付けステップと、
前記対応点リスト情報と前記暫定カメラポーズ情報とを入力し、前記対応点リスト情報の3次元座標と対応点座標のペア全てからロバスト推定法を用いて最適カメラポーズ情報を算出し、ロバスト推定時に外れ値に判断された全てについて、3次元座標と対応点座標のペアと、該ペアの3次元点IDをペアIDに関連付けたアウトライヤ対応点リスト情報と、前記最適カメラポーズ情報を出力するカメラポーズ算出ステップと、
前記最適カメラポーズ情報と前記アウトライヤ対応点リスト情報とを入力するとともに、前記3次元リスト情報を前記3次元リスト記憶手段から読み込み、前記最適カメラポーズ情報を用いてアウトライヤ対応点リスト情報内の3次元座標が前記フレーム画像に射影される再射影点を決定し、該再射影点とアウトライヤ対応点リスト情報内の対応点座標から算出する動きベクトルを用いて対象の3次元座標が移動物体上か否か判定し、移動物体と判定された場合は、処理対象のアウトライヤ対応点リスト情報内の3次元点IDに対応する3次元リスト情報の移動物体フラグを1に更新して、最終的な前記最適カメラポーズを出力する3次元リスト更新ステップと
を前記コンピュータに行わせることを特徴とするカメラポーズ推定プログラム。
【請求項1】
実空間中の点の3次元座標と、3次元座標が有するテクスチャ情報と、3次元座標が移動物体上か否かを示す移動物体フラグとが3次元点IDに関連付けられた3次元リスト情報を記憶する3次元リスト記憶手段と、
フレーム画像と、暫定カメラポーズ情報とを入力するとともに、前記3次元リスト情報を3次元リスト記憶手段から読み込み、前記3次元リスト情報内の前記移動物体フラグが0である3次元座標に対応する点をフレーム画像から決定し、決定した対応点座標と3次元座標とのペアを3次元点IDに関連付けた対応点リスト情報を生成し、前記対応点リスト情報と前記暫定カメラポーズ情報とを出力する3次元点対応付け手段と、
前記対応点リスト情報と前記暫定カメラポーズ情報とを入力し、前記対応点リスト情報の3次元座標と対応点座標のペア全てからロバスト推定法を用いて最適カメラポーズ情報を算出し、ロバスト推定時に外れ値に判断された全てについて、3次元座標と対応点座標のペアと、該ペアの3次元点IDをペアIDに関連付けたアウトライヤ対応点リスト情報と、前記最適カメラポーズ情報を出力するカメラポーズ算出手段と、
前記最適カメラポーズ情報と前記アウトライヤ対応点リスト情報とを入力するとともに、前記3次元リスト情報を前記3次元リスト記憶手段から読み込み、前記最適カメラポーズ情報を用いてアウトライヤ対応点リスト情報内の3次元座標が前記フレーム画像に射影される再射影点を決定し、該再射影点とアウトライヤ対応点リスト情報内の対応点座標から算出する動きベクトルを用いて対象の3次元座標が移動物体上か否か判定し、移動物体と判定された場合は、処理対象のアウトライヤ対応点リスト情報内の3次元点IDに対応する3次元リスト情報の移動物体フラグを1に更新して、最終的な前記最適カメラポーズを出力する3次元リスト更新手段と
を備えることを特徴とするカメラポーズ推定装置。
【請求項2】
実空間中の点の3次元座標と、3次元座標が有するテクスチャ情報と、3次元座標が移動物体上か否かを示す移動物体フラグとが3次元点IDに関連付けられた3次元リスト情報を記憶する3次元リスト記憶手段と、3次元点対応付け手段と、カメラポーズ算出手段と、3次元リスト更新手段とを備えるカメラポーズ推定装置におけるカメラポーズ推定方法であって、
前記3次元点対応付け手段が、フレーム画像と、暫定カメラポーズ情報とを入力するとともに、前記3次元リスト情報を3次元リスト記憶手段から読み込み、前記3次元リスト情報内の前記移動物体フラグが0である3次元座標に対応する点をフレーム画像から決定し、決定した対応点座標と3次元座標とのペアを3次元点IDに関連付けた対応点リスト情報を生成し、前記対応点リスト情報と前記暫定カメラポーズ情報とを出力する3次元点対応付けステップと、
前記カメラポーズ算出手段が、前記対応点リスト情報と前記暫定カメラポーズ情報とを入力し、前記対応点リスト情報の3次元座標と対応点座標のペア全てからロバスト推定法を用いて最適カメラポーズ情報を算出し、ロバスト推定時に外れ値に判断された全てについて、3次元座標と対応点座標のペアと、該ペアの3次元点IDをペアIDに関連付けたアウトライヤ対応点リスト情報と、前記最適カメラポーズ情報を出力するカメラポーズ算出ステップと、
前記3次元リスト更新手段が、前記最適カメラポーズ情報と前記アウトライヤ対応点リスト情報とを入力するとともに、前記3次元リスト情報を前記3次元リスト記憶手段から読み込み、前記最適カメラポーズ情報を用いてアウトライヤ対応点リスト情報内の3次元座標が前記フレーム画像に射影される再射影点を決定し、該再射影点とアウトライヤ対応点リスト情報内の対応点座標から算出する動きベクトルを用いて対象の3次元座標が移動物体上か否か判定し、移動物体と判定された場合は、処理対象のアウトライヤ対応点リスト情報内の3次元点IDに対応する3次元リスト情報の移動物体フラグを1に更新して、最終的な前記最適カメラポーズを出力する3次元リスト更新ステップと
を有することを特徴とするカメラポーズ推定方法。
【請求項3】
実空間中の点の3次元座標と、3次元座標が有するテクスチャ情報と、3次元座標が移動物体上か否かを示す移動物体フラグとが3次元点IDに関連付けられた3次元リスト情報を記憶する3次元リスト記憶手段を備えるカメラポーズ推定装置上のコンピュータにカメラポーズ推定処理を行わせるカメラポーズ推定プログラムであって、
フレーム画像と、暫定カメラポーズ情報とを入力するとともに、前記3次元リスト情報を3次元リスト記憶手段から読み込み、前記3次元リスト情報内の前記移動物体フラグが0である3次元座標に対応する点をフレーム画像から決定し、決定した対応点座標と3次元座標とのペアを3次元点IDに関連付けた対応点リスト情報を生成し、前記対応点リスト情報と前記暫定カメラポーズ情報とを出力する3次元点対応付けステップと、
前記対応点リスト情報と前記暫定カメラポーズ情報とを入力し、前記対応点リスト情報の3次元座標と対応点座標のペア全てからロバスト推定法を用いて最適カメラポーズ情報を算出し、ロバスト推定時に外れ値に判断された全てについて、3次元座標と対応点座標のペアと、該ペアの3次元点IDをペアIDに関連付けたアウトライヤ対応点リスト情報と、前記最適カメラポーズ情報を出力するカメラポーズ算出ステップと、
前記最適カメラポーズ情報と前記アウトライヤ対応点リスト情報とを入力するとともに、前記3次元リスト情報を前記3次元リスト記憶手段から読み込み、前記最適カメラポーズ情報を用いてアウトライヤ対応点リスト情報内の3次元座標が前記フレーム画像に射影される再射影点を決定し、該再射影点とアウトライヤ対応点リスト情報内の対応点座標から算出する動きベクトルを用いて対象の3次元座標が移動物体上か否か判定し、移動物体と判定された場合は、処理対象のアウトライヤ対応点リスト情報内の3次元点IDに対応する3次元リスト情報の移動物体フラグを1に更新して、最終的な前記最適カメラポーズを出力する3次元リスト更新ステップと
を前記コンピュータに行わせることを特徴とするカメラポーズ推定プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2012−221042(P2012−221042A)
【公開日】平成24年11月12日(2012.11.12)
【国際特許分類】
【出願番号】特願2011−83700(P2011−83700)
【出願日】平成23年4月5日(2011.4.5)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
【公開日】平成24年11月12日(2012.11.12)
【国際特許分類】
【出願日】平成23年4月5日(2011.4.5)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
[ Back to top ]