(58)【調査した分野】(Int.Cl.,DB名)
前記撮影視線分算出手段は、カメラ視点Pcamと、当該カメラ視点Pcamからの撮影方向に伸びる半直線に対して前記参照対象の世界座標値Ptargetから下した垂線との交点であるカメラ注視点Plookatとを結ぶ撮影視線分ベクトルを算出する
ことを特徴とする請求項1から3のいずれか1項に記載の装置。
前記類似度算出手段における前記撮影視線分ベクトルの類似度は、視線分ベクトルにおけるカメラ視点(x,y,z)間の距離とカメラ注視点(u,v,w)間の距離との和である
ことを特徴とする請求項1から5のいずれか1項に記載の装置。
前記類似度算出手段における前記撮影視線分ベクトルの類似度は、異なるカメラ視点Pcam(x,y,z)間のユークリッド距離と、異なるカメラ注視点Plookat(u,v,w)間のユークリッド距離との和である
ことを特徴とする請求項1から5のいずれか1項に記載の装置。
【発明の開示】
【発明が解決しようとする課題】
【0006】
図1は、従来技術における位置姿勢の評価を表す説明図である。
【0007】
例えば以下のような距離関数を用いて、この距離が短いほど、カメラの位置姿勢は類似する(近い)と判定される。
位置姿勢ベクトルに基づく第1の距離関数
画像特徴量に基づく第2の距離関数
【0008】
<位置姿勢ベクトルに基づく第1の距離関数>
第1の距離関数として、カメラと参照対象との相対的な位置姿勢を表す並進ベクトルt及び回転ベクトルθのユークリッド距離を用いる。
【0009】
図1(a)によれば、世界座標系上で、カメラCAMに対して、カメラcam1又はcam2のいずれの位置姿勢が近いか、を判定している。
CAMとcam1との並進の差:Δt
1=100mm
CAMとcam1との回転の差:Δθ
1=45°
CAMとcam2との並進の差:Δt
2=120mm
CAMとcam1との回転の差:Δθ
2=10°
重みw(=1)を付けて、回転tと並進θとを加算すると、例えば以下のようになる。
D
1=Δt
1+w・Δθ
1=100+1*45=145
D
2=Δt
2+wvΔθ
2=120+1*10=130
この場合、D
1>D
2となり、カメラCAMの位置姿勢には、カメラcam2の位置姿勢の方が近いと推定される。
一方で、撮影環境のスケールが変わって、例えば並進tが10000mmオーダとなった場合、以下のようになる。
D
1=Δt
1+w・Δθ
1=10000+45=10045
D
2=Δt
2+w・Δθ
2=12000+10=12010
この場合、D
1<D
2となり、カメラCAMの位置姿勢には、カメラcam1の位置姿勢の方が近いと推定される。
【0010】
このように、撮影環境の並進t及び回転θのスケールに応じて、パラメータに与える相対的な重みwを調整する必要がある。また、そもそも、重みwをどのように適切に決定するかも不明となる。
【0011】
<画像特徴量に基づく第2の距離関数>
第2の距離関数として、局所領域(画像特徴量)同士の画像座標のユークリッド距離を用いる。
【0012】
画像座標でのユークリッド距離と、世界座標でのユークリッド距離との関係は、非線形となる。画像特徴量の画像座標での距離が小さいにも関わらず、世界座標での位置姿勢が大きく異なる場合がある。即ち、撮影画像における横ずれや拡大縮小の変化があると、距離が遠い(類似度が低い)と推定される。
【0013】
図1(b)によれば、カメラCAMの位置姿勢に最も近い(類似度が高い)カメラを推定しようとしている。
カメラcam1は、画像内での拡大による影響で、画像特徴量間の距離が長い(類似度が低い)と推定される。
カメラcam2は、画像内での平行移動による影響で、画像特徴量間の距離が長い(類似度が低い)と推定される。
一方で、カメラcam3は、画像内で画像特徴量が幾何的に大きく歪んでいるにも関わらず、画像特徴量間の距離が短い(類似度が高い)と推定される。
結果的に、
図1(b)によれば、カメラCAMには、カメラcam3が、位置姿勢としては最も近いと推定される。このとき、実際の位置姿勢から乖離した形で、提示情報(コンテンツ)を撮影画像に重畳させた場合、ユーザに対して不自然な印象を与えてしまう。
【0014】
これに対し、本願の発明者らは、カメラの位置姿勢の類似度評価について、以下の2点の問題点を除去することができないか、と考えた。
(1)撮影対象物との相対的なカメラの位置姿勢を表すベクトルのユークリッド距離を用いる場合に、撮影環境における並進及び回転のスケールへの依存性の問題
(2)画像特徴量の画像座標でのユークリッド距離を用いる場合に、世界座標系における距離との非線形の問題
【0015】
そこで、本発明は、撮影環境における並進及び回転のスケールに依存することなく、世界座標系における距離との線形性を維持して、撮影画像からカメラの位置姿勢の類似度を算出する装置、プログラム及び方法を提供することを目的とする。
【課題を解決するための手段】
【0016】
本発明によれば、世界座標値Ptargetを既知とする参照対象が映る撮影画像から、異なるカメラの位置姿勢の類似度を算出する装置であって、
参照対象が映る参照画像と、当該参照対象の参照世界座標値とを対応付けて予め記憶した参照対象記憶手段と、
参照対象が映る撮影画像の画像座標値と当該参照対象の参照画像の参照世界座標値との座標変換に基づいて、当該撮影画像におけるカメラと参照対象との相対的な撮影位置姿勢ベクトル(並進t及び回転θ)を推定する撮影位置姿勢推定手段と、
撮影位置姿勢ベクトルを用いて、カメラの世界座標値を表すカメラ視点Pcam(x,y,z)から、参照対象の世界座標値Ptargetに対するカメラ注視点Plookat(u,v,w)に向けた撮影視線分ベクトルを算出する撮影視線分算出手段と、
異なる撮影画像における撮影視線分ベクトルの類似度を、カメラの位置姿勢の類似度として算出する類似度算出手段と
を有することを特徴とする。
【0017】
本発明の装置における他の実施形態によれば、
提示情報と、当該提示情報の提示視線分ベクトルとを対応付けて予め記憶した提示視線分記憶手段と、
類似度算出手段で検索された提示視線分ベクトルに対応する提示情報を、撮影画像に重畳的に表示する提示情報表示手段と
を更に有し、
類似度算出手段は、撮影位置姿勢推定手段で用いられた参照対象について、撮影視線分ベクトルに最も類似する提示視線分ベクトルを、提示視線分記憶手段から検索することも好ましい。
【0018】
本発明の装置における他の実施形態によれば、
提示視線分記憶手段は、同一の参照対象について異なる複数の提示情報それぞれに提示視線分ベクトルを予め記憶していることも好ましい。
【0019】
本発明の装置における他の実施形態によれば、
撮影視線分算出手段は、カメラ視点Pcamと、当該カメラ視点Pcamからの撮影方向に伸びる半直線に対して参照対象の世界座標値Ptargetから下した垂線との交点であるカメラ注視点Plookatとを結ぶ撮影視線分ベクトルを算出することも好ましい。
【0020】
本発明の装置における他の実施形態によれば、
参照画像の世界座標値Ptargetは、対称面Stargetに基づくものであり、
撮影視線分算出手段は、カメラ視点Pcamと、当該カメラ視点Pcamからの撮影方向に伸びる半直線と対称面Stargetとの交点であるカメラ注視点Plookatとを結ぶ撮影視線分ベクトルを算出することも好ましい。
【0021】
本発明の装置における他の実施形態によれば、
類似度算出手段における撮影視線分ベクトルの類似度は、視線分ベクトルにおけるカメラ視点(x,y,z)間の距離とカメラ注視点(u,v,w)間の距離との和であることも好ましい。
【0022】
本発明の装置における他の実施形態によれば、
類似度算出手段における撮影視線分ベクトルの類似度は、視線分ベクトル間のユークリッド距離であることも好ましい。
【0023】
本発明の装置における他の実施形態によれば、
類似度算出手段における撮影視線分ベクトルの類似度は、異なるカメラ視点Pcam(x,y,z)間のユークリッド距離と、異なるカメラ注視点Plookat(u,v,w)間のユークリッド距離との和であることも好ましい。
【0024】
本発明の装置における他の実施形態によれば、
撮影画像は、時間軸上の所定フレームレートにおける連続的なものであり、
類似度算出手段は、時刻tの撮影画像の撮影視線分ベクトルと、類似度算出対象となる提示視線分ベクトルとの類似度に、時刻tの撮影画像の撮影視線分ベクトルと、時刻t-1の撮影画像によって検索された提示視線分ベクトルとの類似度を重み付けて算出することも好ましい。
【0025】
本発明の装置における他の実施形態によれば、
撮影画像は、時間軸上の所定フレームレートにおける連続的なものであり、
類似度算出手段は、時刻tの撮影画像の撮影視線分ベクトルと、類似度算出対象となる提示視線分ベクトルとの類似度に、時刻t-1の撮影画像の撮影視線分ベクトルと、時刻tの撮影画像の撮影視線分ベクトルとの移動量を、時刻t-1の撮影画像によって検索された提示視線分ベクトルに加算して得られる時刻tの提示視線分ベクトルの予想値と、類似度算出対象となる提示視線分ベクトルとの類似度を重み付けて算出することも好ましい。
【0026】
本発明によれば、世界座標値Ptargetを既知とする参照対象が映る撮影画像から、異なるカメラの位置姿勢の類似度を算出するようにコンピュータを機能させるプログラムであって、
参照対象が映る参照画像と、当該参照対象の参照世界座標値とを対応付けて予め記憶した参照対象記憶手段と、
参照対象が映る撮影画像の画像座標値と当該参照対象の参照画像の参照世界座標値との座標変換に基づいて、当該撮影画像におけるカメラと参照対象との相対的な撮影位置姿勢ベクトルを推定する撮影位置姿勢推定手段と、
撮影位置姿勢ベクトルを用いて、カメラの世界座標値を表すカメラ視点Pcam(x,y,z)から、参照対象の世界座標値Ptargetに対するカメラ注視点Plookat(u,v,w)に向けた撮影視線分ベクトルを算出する撮影視線分算出手段と、
異なる撮影画像における撮影視線分ベクトルの類似度を、カメラの位置姿勢の類似度として算出する類似度算出手段と
してコンピュータを機能させることを特徴とする。
【0027】
本発明によれば、世界座標値Ptargetを既知とする参照対象が映る撮影画像から、異なるカメラの位置姿勢の類似度を算出する装置の位置姿勢類似度算出方法であって、
装置は、
参照対象が映る参照画像と、当該参照対象の参照世界座標値とを対応付けて予め記憶した参照対象記憶部を有し、
参照対象が映る撮影画像の画像座標値と当該参照対象の参照画像の参照世界座標値との座標変換に基づいて、当該撮影画像におけるカメラと参照対象との相対的な撮影位置姿勢ベクトルを推定する第1のステップと、
撮影位置姿勢ベクトルを用いて、カメラの世界座標値を表すカメラ視点Pcam(x,y,z)から、参照対象の世界座標値Ptargetに対するカメラ注視点Plookat(u,v,w)に向けた撮影視線分ベクトルを算出する第2のステップと、
異なる撮影画像における撮影視線分ベクトルの類似度を、カメラの位置姿勢の類似度として算出する第3のステップと
を実行することを特徴とする。
【発明の効果】
【0028】
本発明の装置、プログラム及び方法によれば、撮影環境における並進及び回転のスケールに依存することなく、世界座標系における距離との線形性を維持して、撮影画像からカメラの位置姿勢の類似度を算出することができる。
【発明を実施するための形態】
【0030】
以下では、図面を用いて、本発明を実施するための形態について詳細に説明する。
【0031】
図2は、本発明における仮想現実の提示情報を表示する説明図である。
【0032】
図2(a)によれば、撮影対象物に、マーカ(参照対象)が貼り付けられている。マーカは、例えば2次元的なQRコード(登録商標)であってもよい。その撮影対象物は、位置姿勢が異なる4台のカメラcam1、cam2、cam3、cam4によって撮影されている。
図2(b)によれば、各カメラの撮影画像が表されている。撮影画像にマーカが映り込む場合、そのマーカは、カメラ毎に異なる角度から映る。本発明によれば、マーカが映り込む撮影画像から、そのカメラの位置姿勢が抽出される。
図2(c)によれば、カメラの位置姿勢に応じた提示情報(コンテンツ)が表されている。コンテンツが立体形状の場合、カメラの位置姿勢に応じて、異なる形状の提示情報が選択される。
図2(d)によれば、仮想現実画像には、撮影画像に映るマーカの上に、例えば直方体のコンテンツが重畳的に表示される。
図2(e)によれば、ユーザは、カメラcam1,cam2,cam4によって撮影された撮影画像について、撮影対象物にコンテンツが重畳されているように視認することができる。
【0033】
図3は、本発明における装置の機能構成図である。
図4は、本発明におけるフローチャートである。
【0034】
図3(a)によれば、本発明の装置1は、例えばスマートフォンのような、カメラとディスプレイとを搭載した端末として表されている。勿論、スマートフォンに限られず、タブレットやパーソナルコンピュータであってもよい。
図3(b)によれば、本発明の装置1は、サーバとして表されている。サーバは、通信インタフェースを介して、ユーザ端末のカメラによって撮影された撮影画像を受信し、提示情報(コンテンツ)を重畳した仮想現実画像をそのユーザ端末へ返信する。
尚、本発明を1台の装置のみで実現することなく、本発明の機能を区分して、ネットワークを介したサーバ及び端末のシステムとして構成することもできる。
【0035】
装置1は、参照対象記憶部101と、提示視線分記憶部102と、撮影位置姿勢推定部11と、撮影視線分算出部12と、類似度算出部13と、提示情報表示部14とを有する。これら機能構成部は、装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現される。また、これら機能構成部の処理の流れは、カメラの位置姿勢の類似度を算出する方法としても理解できる。
【0036】
[参照対象記憶部101]
参照対象記憶部101は、参照対象が映る「参照画像」と、当該参照対象の「参照世界座標値」とを対応付けて予め記憶したものである。
図4によれば、参照対象記憶部101のテーブルには、参照画像と参照世界座標とが対応付けて記憶されている。
【0037】
参照画像は、回転やスケールの変化にロバストな、例えばSIFT(Scale-Invariant Feature Transform)やSURF(Speeded Up Robust Features)の特徴量であってもよいしコンパクトな局所特徴を高速に抽出するORB(Oriented FAST and Rotated BRIEF)の特徴量であってもよい(例えば非特許文献2、3、4参照)。
例えばSIFTの場合、1枚の画像からは128次元の局所特徴の集合が抽出される。SIFTとは、スケールスペースを用いて特徴的な局所領域を解析し、そのスケール変化及び回転に不変となる局所特徴を記述する技術である。
また、SURFの場合、SIFTよりも高速処理が可能であって、1枚の画像から64次元の局所特徴の集合が抽出される。SIFTは、処理コストが高く且つリアルタイムマッチングが困難であるのに対し、SURFは、積分画像を利用することによって処理を高速化している。
更に、ORBの場合、スマートフォンやタブレットのようなモバイル端末が普及する中で、拡張現実感の用途について、省メモリ化及び高速マッチング化に適する。
【0038】
[撮影位置姿勢推定部11]
撮影位置姿勢推定部11は、最初に、カメラで撮影された撮影画像から、局所特徴量抽出アルゴリズムによって、参照対象記憶部101に記憶された参照画像を抽出する。
局所特徴量抽出アルゴリズムは、前述したSIFT、SURF、ORBのような周知の既存技術である。具体的には、撮影画像の中から、相対的な輝度勾配に基づく局所特徴量を用いて、参照画像の特徴量に類似する局所領域を抽出する。抽出される局所領域は、回転、拡大縮小、射影変化(射影変換による歪み)のいずれか又はその任意の組み合わせに対して、不変な性質を有する。
但し、参照画像を抽出できない場合、その撮影画像に重畳的に表示される提示情報(コンテンツ)はなく、提示情報表示部14からその撮影画像のままで出力される。
【0039】
そして、撮影位置姿勢推定部11は、参照対象が映る「撮影画像の画像座標値」と、当該参照対象の「参照世界座標値」との座標変換に基づいて、当該撮影画像におけるカメラと参照対象との相対的な「撮影位置姿勢ベクトル」を推定する。
「撮影位置姿勢ベクトル」は、撮影対象物に貼り付けられたマーカ(参照対象)を基準として、カメラの相対的な位置姿勢(並進t及び回転θ)である。
そして、撮影位置姿勢ベクトルは、撮影視線分算出部12へ出力される。
【0040】
[撮影視線分算出部12]
撮影視線分算出部12は、マーカ(参照対象)の世界座標値Ptargetを、ユーザによって又は別途の機能によって予め登録している。
そして、撮影視線分算出部12は、撮影位置姿勢ベクトルを用いて、カメラの世界座標値を表すカメラ視点Pcam(x,y,z)から、参照対象の世界座標値Ptargetに対するカメラ注視点Plookat(u,v,w)に向けた「撮影視線分ベクトル」を算出する。視線分ベクトルは、(x,y,z,u,v,w)の6要素からなる。
そして、撮影視線分算出部12は、算出した視線分ベクトル(x,y,z,u,v,w)を、類似度算出部13へ出力する。
【0041】
図5は、本発明におけるカメラ注視点の決定方法を表す説明図である。
【0042】
<カメラ注視点の第1の決定方法>
図5(a)によれば、撮影視線分算出部12は、カメラ視点Pcam(x,y,z)と、当該カメラ視点Pcam(x,y,z)からの撮影方向に伸びる半直線に対して参照対象の世界座標値Ptarget(u,v,w)から下した垂線との交点であるカメラ注視点Plookat(u,v,w)とを結ぶ「撮影視線分ベクトル(x,y,z,u,v,w)」を算出する。
<カメラ注視点の第2の決定方法>
図5(b)によれば、参照画像の世界座標値Ptargetは、対称面Starget(平面)に基づくものであるとする。ここで、撮影視線分算出部12は、カメラ視点Pcam(x,y,z)と、当該カメラ視点Pcam(x,y,z)からの撮影方向に伸びる半直線と対称面Stargetとの交点であるカメラ注視点Plookat(u,v,w)とを結ぶ「撮影視線分ベクトル(x,y,z,u,v,w)」を算出する。
【0043】
[提示視線分記憶部102]
提示視線分記憶部102は、「提示視線分ベクトル」と、「提示情報」とを予め記憶したものである。
図4によれば、提示視線分記憶部102は、同一の参照対象について異なる複数の提示情報それぞれに提示視線分ベクトルを予め記憶している
「提示視線分ベクトル」は、提示情報(コンテンツ)に対する、カメラの視線分ベクトルである。これは、提示情報について、前述した撮影視線分算出部12と同様に算出されたものである。
【0044】
[類似度算出部13]
類似度算出部13は、異なる撮影画像における撮影視線分ベクトルの類似度を、カメラの位置姿勢の類似度として算出する。
類似度算出部13は、撮影位置姿勢推定部11で用いられた参照対象について、撮影視線分ベクトルに最も類似する提示視線分ベクトルを、提示視線分記憶部102から検索する。このとき、類似度算出部13は、撮影視線分ベクトルCと提示視線分ベクトルC
i'との類似度d(C
i',C)を算出する。
i_min=arg
imin d(C
i',C)
C:撮影視線分ベクトル
C
i':検索対象となる提示視線分ベクトル(i∈N、検索対象となる総数)
C
i_min':撮影視線分ベクトルに最も類似する提示視線分ベクトル
arg
imin d :dを最小化するiの集合
そして、類似度算出部13は、検索された提示視線分ベクトルC
i_min'に対応する提示情報を、提示情報表示部14へ出力する。
【0045】
撮影画像は、時間軸上の所定フレームレートにおける連続的なものであってもよい。この場合、時刻範囲Δt毎に、カメラの撮影画像I(t)が入力され、その都度、リアルタイムに、撮影位置姿勢推定部11、撮影視線分算出部12、類似度算出部13及び提示情報表示部14が実行される。
i_min(t)=arg
imin d(C
i',C(t))
【0046】
ここで、類似度算出における異なる実施形態について説明する。
<類似度算出の第1の実施形態>
類似度算出部13における撮影視線分ベクトルの類似度は、視線分ベクトルにおけるカメラ視点(x,y,z)間の距離とカメラ注視点(u,v,w)間の距離との和である。
d(C',C)=r+g
=|P'cam(x,y,z)−Pcam(x,y,z)|
+|P'lookat(u,v,w)−Plookat(u,v,w)|
r:カメラ視点(x,y,z)間の距離|P'cam(x,y,z)−Pcam(x,y,z)|
g:カメラ注視点(u,v,w)間の距離|P'lookat(u,v,w)−Plookat(u,v,w)|
【0047】
<類似度算出の第2の実施形態>
類似度算出部13における撮影視線分ベクトルの類似度は、視線分ベクトル間のユークリッド距離である。即ち、6次元空間における距離として算出することができる。
d(C',C)=√((x'-x)
2+(y'-y)
2+(z'-z)
2+(u'-u)
2+(v'-v)
2+(w'-w)
2)
【0048】
<類似度算出の第3の実施形態>
類似度算出部13における撮影視線分ベクトルの類似度は、異なるカメラ視点Pcam(x,y,z)間のユークリッド距離と、異なるカメラ注視点Plookat(u,v,w)間のユークリッド距離との和である。
d(C',C)=√((x'-x)
2+(y'-y)
2+(z'-z)
2)+√((u'-u)
2+(v'-v)
2+(w'-w)
2)
【0049】
<類似度算出の第4の実施形態>
撮影画像が、時間軸上の所定フレームレートにおける連続的なものである場合、類似度算出部13は、時刻tの撮影画像の撮影視線分ベクトルと、類似度算出対象となる提示視線分ベクトルとの類似度に、時刻tの撮影画像の撮影視線分ベクトルと、時刻t-1によって検索された提示視線分ベクトルとの類似度を重み付けて算出する。
【0050】
時系列の撮影画像をリアルタイムに処理する場合、時刻t毎に、撮影画像の撮影視線分ベクトルC(t)に最も類似する提示視線分ベクトルC
i_min(t)'を検索する。一方で、提示視線分ベクトルC
i'は、不規則かつ離散的な位置姿勢に基づいて予め記憶されたものである。そのために、最も類似すると判定された提示視線分ベクトルC
i_min(t)'は、直近の過去時刻t-1における既に判定された提示視線分ベクトルC
i_min(t-1)'から大きく変動したものとなる可能性がある。そのような突発的な変動は、時刻tにおける過去の撮影視線分ベクトルC(t-1)から、突発的に乖離した形で提示視線分ベクトルC
i_min(t)'を選択することとなる。このとき、時系列上で連続してリアルタイムに提示視線分ベクトルを選択する場合、鋸歯状に変動する選択結果となってしまうこともある。
【0051】
そのために、時刻t毎に判定される提示視線分ベクトルC
i_min(t)'が、時間軸上で滑らかに変動するように、直近の過去時刻t-1における既に判定された提示視線分ベクトルC
i_min(t-1)'から、時刻tにおける提示視線分ベクトルC
i_min(t)'が極端に変動することを抑制するべく、コスト項を追加した以下のような式とする。
i_min(t)=arg
imin{αd(C
i',C(t))+(1-α)d(C
i',C
i_min(t-1)')}
α:0<α<1
【0052】
<類似度算出の第5の実施形態>
類似度算出部13は、時刻t毎に判定される提示視線分ベクトルC
i_min(t)'が、時間軸上で滑らかに変動するように、直近の過去時刻t-1における既に判定された提示視線分ベクトルC
i_min(t-1)'から、時刻tにおける提示視線分ベクトルC
i_min(t)'が極端に変動することを抑制するべく、時刻t-1の撮影画像の撮影視線分ベクトルC(t-1)と、時刻tの撮影画像の撮影視線分ベクトルC(t)との移動量(C(t)-C(t-1))を、C
i_min(t-1)'に加算して得られるC
i_min(t)'の予想値と、類似度算出対象となる提示視線分ベクトルとの類似度を、コスト項として追加した以下のような式とする。
i_min(t)=arg
imin{αd(C
i',C(t))+
(1−α)d(C
i',C
i_min(t-1)'+{C(t)−C(t-1)})}
α:0<α<1
これによって、時刻tの提示視線分ベクトルC
i_min(t)'の変動を平滑化することができる。この場合、提示視線分記憶部102の中で、平滑化された提示視線分ベクトルC
i_min(t)'に対応する提示情報が選択される。
【0053】
[提示情報表示部14]
提示情報表示部14は、類似度算出部13で検索された提示視線分ベクトルに対応する提示情報を、撮影画像に重畳的に表示する。
これによって、撮影画像にコンピュータグラフィックでコンテンツを描画することによって、高品位な仮想現実画像をユーザに提供することができる。
【0054】
図6は、
図1に対応した本発明の位置姿勢の類似度を表す説明図である。
【0055】
図6(a)は、
図1(a)と比較して、回転を、カメラ注視点の座標として扱うことによって、回転と並進との間の重み付けが不要となる。
カメラCAMの視線分ベクトルとカメラcam1の視線分ベクトルとの類似度は、例えば以下のように算出される。
D
1=r
1+g
1=100mm+300mm=400mm
カメラCAMの視線分ベクトルとカメラcam2の視線分ベクトルとの類似度は、例えば以下のように算出される。
D
2=r
2+g
2=120mm+100mm=220mm
この場合も、D
1>D
2となり、カメラcam2の位置姿勢の方が近いと推定される。
一方で、撮影環境のスケールが変わって、例えば並進tが10000mmオーダとなっても、以下のようになる。
D
1=r
1+g
1=10000+30000=40000
D
2=r
2+g
2=12000+10000=22000
この場合も、D
1>D
2となり、カメラcam2の位置姿勢の方が近いと推定され、位置姿勢の比較に変化がなく、スケールを考慮しなくても、カメラcam2の位置姿勢の方が近いと推定される。
【0056】
図6(b)は、
図1(b)と比較して、カメラCAMに対して、cam1及びcam2が同程度の類似度であり、cam3は類似度が低い(距離が長い)と判定される。本発明によれば、拡大縮小、横ずれ、視線軸に対する回転の影響によって、位置姿勢の類似度が低くなることがない。
【0057】
図7は、斜方撮影における本発明の位置姿勢の類似度を表す説明図である。
【0058】
図7によれば、カメラCAMとカメラcam1、cam2、cam3の類似度の変化は、回転角の変化に対して、線形に近い関係となる。カメラのアングルによって回転の類似度への寄与率が変わりづらく、正対していても回転変化への感度が悪くならない。
【0059】
以上、詳細に説明したように、本発明の装置、プログラム及び方法によれば、撮影環境における並進及び回転のスケールに依存することなく、世界座標系における距離との線形性を維持して、撮影画像からカメラの位置姿勢の類似度を算出することができる。
【0060】
前述した本発明における種々の実施形態によれば、当業者は、本発明の技術思想及び見地の範囲における種々の変更、修正及び省略を容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。