特許第6820821号(P6820821)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ KDDI株式会社の特許一覧

特許6820821撮影画像からカメラの位置姿勢の類似度を算出する装置、プログラム及び方法
<>
  • 特許6820821-撮影画像からカメラの位置姿勢の類似度を算出する装置、プログラム及び方法 図000002
  • 特許6820821-撮影画像からカメラの位置姿勢の類似度を算出する装置、プログラム及び方法 図000003
  • 特許6820821-撮影画像からカメラの位置姿勢の類似度を算出する装置、プログラム及び方法 図000004
  • 特許6820821-撮影画像からカメラの位置姿勢の類似度を算出する装置、プログラム及び方法 図000005
  • 特許6820821-撮影画像からカメラの位置姿勢の類似度を算出する装置、プログラム及び方法 図000006
  • 特許6820821-撮影画像からカメラの位置姿勢の類似度を算出する装置、プログラム及び方法 図000007
  • 特許6820821-撮影画像からカメラの位置姿勢の類似度を算出する装置、プログラム及び方法 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6820821
(24)【登録日】2021年1月7日
(45)【発行日】2021年1月27日
(54)【発明の名称】撮影画像からカメラの位置姿勢の類似度を算出する装置、プログラム及び方法
(51)【国際特許分類】
   G06T 7/70 20170101AFI20210114BHJP
   G06T 19/00 20110101ALI20210114BHJP
【FI】
   G06T7/70 Z
   G06T19/00 600
【請求項の数】12
【全頁数】15
(21)【出願番号】特願2017-202220(P2017-202220)
(22)【出願日】2017年10月18日
(65)【公開番号】特開2019-75018(P2019-75018A)
(43)【公開日】2019年5月16日
【審査請求日】2019年11月24日
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100135068
【弁理士】
【氏名又は名称】早原 茂樹
(72)【発明者】
【氏名】三原 翔一郎
(72)【発明者】
【氏名】加藤 晴久
【審査官】 真木 健彦
(56)【参考文献】
【文献】 特開2016−071496(JP,A)
【文献】 国際公開第2016/002656(WO,A1)
【文献】 特開2006−237736(JP,A)
【文献】 特開2015−127903(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/70
G06T 15/20
G06T 19/00
(57)【特許請求の範囲】
【請求項1】
世界座標値Ptargetを既知とする参照対象が映る撮影画像から、異なるカメラの位置姿勢の類似度を算出する装置であって、
参照対象が映る参照画像と、当該参照対象の参照世界座標値とを対応付けて予め記憶した参照対象記憶手段と、
参照対象が映る撮影画像の画像座標値と当該参照対象の参照画像の参照世界座標値との座標変換に基づいて、当該撮影画像におけるカメラと参照対象との相対的な撮影位置姿勢ベクトル(並進t及び回転θ)を推定する撮影位置姿勢推定手段と、
前記撮影位置姿勢ベクトルを用いて、前記カメラの世界座標値を表すカメラ視点Pcam(x,y,z)から、参照対象の世界座標値Ptargetに対するカメラ注視点Plookat(u,v,w)に向けた撮影視線分ベクトルを算出する撮影視線分算出手段と、
異なる撮影画像における撮影視線分ベクトルの類似度を、カメラの位置姿勢の類似度として算出する類似度算出手段と
を有することを特徴とする装置。
【請求項2】
提示情報と、当該提示情報の提示視線分ベクトルとを対応付けて予め記憶した提示視線分記憶手段と、
前記類似度算出手段で検索された提示視線分ベクトルに対応する提示情報を、前記撮影画像に重畳的に表示する提示情報表示手段と
を更に有し、
前記類似度算出手段は、前記撮影位置姿勢推定手段で用いられた参照対象について、前記撮影視線分ベクトルに最も類似する提示視線分ベクトルを、前記提示視線分記憶手段から検索する
ことを特徴とする請求項1に記載の装置。
【請求項3】
前記提示視線分記憶手段は、同一の参照対象について異なる複数の提示情報それぞれに提示視線分ベクトルを予め記憶している
ことを特徴とする請求項2に記載の装置。
【請求項4】
前記撮影視線分算出手段は、カメラ視点Pcamと、当該カメラ視点Pcamからの撮影方向に伸びる半直線に対して前記参照対象の世界座標値Ptargetから下した垂線との交点であるカメラ注視点Plookatとを結ぶ撮影視線分ベクトルを算出する
ことを特徴とする請求項1から3のいずれか1項に記載の装置。
【請求項5】
前記参照画像の世界座標値Ptargetは、対称面Stargetに基づくものであり、
前記撮影視線分算出手段は、カメラ視点Pcamと、当該カメラ視点Pcamからの撮影方向に伸びる半直線と前記対称面Stargetとの交点であるカメラ注視点Plookatとを結ぶ撮影視線分ベクトルを算出する
ことを特徴とする請求項1から3のいずれか1項に記載の装置。
【請求項6】
前記類似度算出手段における前記撮影視線分ベクトルの類似度は、視線分ベクトルにおけるカメラ視点(x,y,z)間の距離とカメラ注視点(u,v,w)間の距離との和である
ことを特徴とする請求項1から5のいずれか1項に記載の装置。
【請求項7】
前記類似度算出手段における前記撮影視線分ベクトルの類似度は、視線分ベクトル間のユークリッド距離である
ことを特徴とする請求項1から5のいずれか1項に記載の装置。
【請求項8】
前記類似度算出手段における前記撮影視線分ベクトルの類似度は、異なるカメラ視点Pcam(x,y,z)間のユークリッド距離と、異なるカメラ注視点Plookat(u,v,w)間のユークリッド距離との和である
ことを特徴とする請求項1から5のいずれか1項に記載の装置。
【請求項9】
前記撮影画像は、時間軸上の所定フレームレートにおける連続的なものであり、
前記類似度算出手段は、時刻tの撮影画像の撮影視線分ベクトルと、類似度算出対象となる提示視線分ベクトルとの類似度に、時刻tの撮影画像の撮影視線分ベクトルと、時刻t-1の撮影画像によって検索された提示視線分ベクトルとの類似度を重み付けて算出する
ことを特徴とする請求項1から8のいずれか1項に記載の装置。
【請求項10】
前記撮影画像は、時間軸上の所定フレームレートにおける連続的なものであり、
前記類似度算出手段は、時刻tの撮影画像の撮影視線分ベクトルと、類似度算出対象となる提示視線分ベクトルとの類似度に、時刻t-1の撮影画像の撮影視線分ベクトルと、時刻tの撮影画像の撮影視線分ベクトルとの移動量を、時刻t-1の撮影画像によって検索された提示視線分ベクトルに加算して得られる時刻tの提示視線分ベクトルの予想値と、類似度算出対象となる提示視線分ベクトルとの類似度を重み付けて算出する
ことを特徴とする請求項1から8のいずれか1項に記載の装置。
【請求項11】
世界座標値Ptargetを既知とする参照対象が映る撮影画像から、異なるカメラの位置姿勢の類似度を算出するようにコンピュータを機能させるプログラムであって、
参照対象が映る参照画像と、当該参照対象の参照世界座標値とを対応付けて予め記憶した参照対象記憶手段と、
参照対象が映る撮影画像の画像座標値と当該参照対象の参照画像の参照世界座標値との座標変換に基づいて、当該撮影画像におけるカメラと参照対象との相対的な撮影位置姿勢ベクトルを推定する撮影位置姿勢推定手段と、
前記撮影位置姿勢ベクトルを用いて、前記カメラの世界座標値を表すカメラ視点Pcam(x,y,z)から、参照対象の世界座標値Ptargetに対するカメラ注視点Plookat(u,v,w)に向けた撮影視線分ベクトルを算出する撮影視線分算出手段と、
異なる撮影画像における撮影視線分ベクトルの類似度を、カメラの位置姿勢の類似度として算出する類似度算出手段と
してコンピュータを機能させることを特徴とするプログラム。
【請求項12】
世界座標値Ptargetを既知とする参照対象が映る撮影画像から、異なるカメラの位置姿勢の類似度を算出する装置の位置姿勢類似度算出方法であって、
前記装置は、
参照対象が映る参照画像と、当該参照対象の参照世界座標値とを対応付けて予め記憶した参照対象記憶部を有し、
参照対象が映る撮影画像の画像座標値と当該参照対象の参照画像の参照世界座標値との座標変換に基づいて、当該撮影画像におけるカメラと参照対象との相対的な撮影位置姿勢ベクトルを推定する第1のステップと、
前記撮影位置姿勢ベクトルを用いて、前記カメラの世界座標値を表すカメラ視点Pcam(x,y,z)から、参照対象の世界座標値Ptargetに対するカメラ注視点Plookat(u,v,w)に向けた撮影視線分ベクトルを算出する第2のステップと、
異なる撮影画像における撮影視線分ベクトルの類似度を、カメラの位置姿勢の類似度として算出する第3のステップと
を実行することを特徴とする装置の位置姿勢類似度算出方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のカメラの位置姿勢における類似度を算出する技術に関する。
【背景技術】
【0002】
従来、撮影対象物とカメラとの相対的な位置姿勢に応じて、撮影画像に別のコンテンツをリアルタイムに表示する技術がある(例えば特許文献1参照)。
この技術によれば、撮影対象物に、参照対象としての「マーカ」が貼り付けられており、そのマーカが映る撮影画像を用いて、カメラの位置姿勢を推定する。また、参照対象が映る参照画像毎に、そのカメラの位置姿勢に応じたコンテンツ(提示情報)を予め記憶している。ここでのコンテンツとは、拡張現実(Augmented Reality)画像として、撮影画像に重畳的に表示可能なものである。
そして、参照対象が映り込む撮影画像から、そのカメラの位置姿勢と、予め記憶された複数の参照対象が映る参照画像の位置姿勢とを、「距離関数」に基づいて比較する。距離が短い(位置姿勢が類似する)と推定された参照対象に紐づく提示情報を、撮影画像に重畳的に表示する。
【0003】
尚、カメラと参照対象との相対的な位置姿勢(並進ベクトルt及び回転ベクトルθ)を推定する技術もある(例えば非特許文献1参照)。この技術によれば、参照対象となるマーカの参照画像を予め記憶しており、撮影画像からその参照画像をマッチングによって位置姿勢を推定する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2016−71496号公報
【非特許文献】
【0005】
【非特許文献1】加藤, M. Billinghurst, 浅野, 橘, "マーカー追跡に基づく拡張現実感システムとそのキャリブレーション", 日本バーチャルリアリティ学会論文誌, vol.4, 20 no.4, pp.607-617, 1999.、[online]、[平成29年10月7日検索]、インターネット<URL:http://intron.kz.tsukuba.ac.jp/tvrsj/4.4/kato/p-99_VRSJ4_4.pdf>
【非特許文献2】D.G.Lowe, Distinctive image features from scale-invariant key points, Proc. of Int. Journal of Computer Vision (IJCV), 60(2) pp.91-110 (2004)
【非特許文献3】H.Bay, T.Tuytelaars, and L.V.Gool, SURF: Speed Up Robust Features, Proc. of Int. Conf. of ECCV, (2006)
【非特許文献4】Ethan Rublee, Vincent Rabaud, Kurt Konolige, Gary R. Bradski: ORB: An efficient alternative to SIFT or SURF. ICCV 2011: 2564-2571.
【発明の開示】
【発明が解決しようとする課題】
【0006】
図1は、従来技術における位置姿勢の評価を表す説明図である。
【0007】
例えば以下のような距離関数を用いて、この距離が短いほど、カメラの位置姿勢は類似する(近い)と判定される。
位置姿勢ベクトルに基づく第1の距離関数
画像特徴量に基づく第2の距離関数
【0008】
<位置姿勢ベクトルに基づく第1の距離関数>
第1の距離関数として、カメラと参照対象との相対的な位置姿勢を表す並進ベクトルt及び回転ベクトルθのユークリッド距離を用いる。
【0009】
図1(a)によれば、世界座標系上で、カメラCAMに対して、カメラcam1又はcam2のいずれの位置姿勢が近いか、を判定している。
CAMとcam1との並進の差:Δt1=100mm
CAMとcam1との回転の差:Δθ1=45°
CAMとcam2との並進の差:Δt2=120mm
CAMとcam1との回転の差:Δθ2=10°
重みw(=1)を付けて、回転tと並進θとを加算すると、例えば以下のようになる。
1=Δt1+w・Δθ1=100+1*45=145
2=Δt2+wvΔθ2=120+1*10=130
この場合、D1>D2となり、カメラCAMの位置姿勢には、カメラcam2の位置姿勢の方が近いと推定される。
一方で、撮影環境のスケールが変わって、例えば並進tが10000mmオーダとなった場合、以下のようになる。
1=Δt1+w・Δθ1=10000+45=10045
2=Δt2+w・Δθ2=12000+10=12010
この場合、D1<D2となり、カメラ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】
本発明の装置、プログラム及び方法によれば、撮影環境における並進及び回転のスケールに依存することなく、世界座標系における距離との線形性を維持して、撮影画像からカメラの位置姿勢の類似度を算出することができる。
【図面の簡単な説明】
【0029】
図1】従来技術における位置姿勢の評価を表す説明図である。
図2】本発明における仮想現実の提示情報を表示する説明図である。
図3】本発明における装置の機能構成図である。
図4】本発明におけるフローチャートである。
図5】本発明におけるカメラ注視点の決定方法を表す説明図である。
図6図1に対応した本発明の位置姿勢の類似度を表す説明図である。
図7】斜方撮影における本発明の位置姿勢の類似度を表す説明図である。
【発明を実施するための形態】
【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と提示視線分ベクトルCi'との類似度d(Ci',C)を算出する。
i_min=argimin d(Ci',C)
C:撮影視線分ベクトル
Ci':検索対象となる提示視線分ベクトル(i∈N、検索対象となる総数)
Ci_min':撮影視線分ベクトルに最も類似する提示視線分ベクトル
argimin d :dを最小化するiの集合
そして、類似度算出部13は、検索された提示視線分ベクトルCi_min'に対応する提示情報を、提示情報表示部14へ出力する。
【0045】
撮影画像は、時間軸上の所定フレームレートにおける連続的なものであってもよい。この場合、時刻範囲Δt毎に、カメラの撮影画像I(t)が入力され、その都度、リアルタイムに、撮影位置姿勢推定部11、撮影視線分算出部12、類似度算出部13及び提示情報表示部14が実行される。
i_min(t)=argimin d(Ci',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)に最も類似する提示視線分ベクトルCi_min(t)'を検索する。一方で、提示視線分ベクトルCi'は、不規則かつ離散的な位置姿勢に基づいて予め記憶されたものである。そのために、最も類似すると判定された提示視線分ベクトルCi_min(t)'は、直近の過去時刻t-1における既に判定された提示視線分ベクトルCi_min(t-1)'から大きく変動したものとなる可能性がある。そのような突発的な変動は、時刻tにおける過去の撮影視線分ベクトルC(t-1)から、突発的に乖離した形で提示視線分ベクトルCi_min(t)'を選択することとなる。このとき、時系列上で連続してリアルタイムに提示視線分ベクトルを選択する場合、鋸歯状に変動する選択結果となってしまうこともある。
【0051】
そのために、時刻t毎に判定される提示視線分ベクトルCi_min(t)'が、時間軸上で滑らかに変動するように、直近の過去時刻t-1における既に判定された提示視線分ベクトルCi_min(t-1)'から、時刻tにおける提示視線分ベクトルCi_min(t)'が極端に変動することを抑制するべく、コスト項を追加した以下のような式とする。
i_min(t)=argimin{αd(Ci',C(t))+(1-α)d(Ci',Ci_min(t-1)')}
α:0<α<1
【0052】
<類似度算出の第5の実施形態>
類似度算出部13は、時刻t毎に判定される提示視線分ベクトルCi_min(t)'が、時間軸上で滑らかに変動するように、直近の過去時刻t-1における既に判定された提示視線分ベクトルCi_min(t-1)'から、時刻tにおける提示視線分ベクトルCi_min(t)'が極端に変動することを抑制するべく、時刻t-1の撮影画像の撮影視線分ベクトルC(t-1)と、時刻tの撮影画像の撮影視線分ベクトルC(t)との移動量(C(t)-C(t-1))を、Ci_min(t-1)'に加算して得られるCi_min(t)'の予想値と、類似度算出対象となる提示視線分ベクトルとの類似度を、コスト項として追加した以下のような式とする。
i_min(t)=argimin{αd(Ci',C(t))+
(1−α)d(Ci',Ci_min(t-1)'+{C(t)−C(t-1)})}
α:0<α<1
これによって、時刻tの提示視線分ベクトルCi_min(t)'の変動を平滑化することができる。この場合、提示視線分記憶部102の中で、平滑化された提示視線分ベクトルCi_min(t)'に対応する提示情報が選択される。
【0053】
[提示情報表示部14]
提示情報表示部14は、類似度算出部13で検索された提示視線分ベクトルに対応する提示情報を、撮影画像に重畳的に表示する。
これによって、撮影画像にコンピュータグラフィックでコンテンツを描画することによって、高品位な仮想現実画像をユーザに提供することができる。
【0054】
図6は、図1に対応した本発明の位置姿勢の類似度を表す説明図である。
【0055】
図6(a)は、図1(a)と比較して、回転を、カメラ注視点の座標として扱うことによって、回転と並進との間の重み付けが不要となる。
カメラCAMの視線分ベクトルとカメラcam1の視線分ベクトルとの類似度は、例えば以下のように算出される。
1=r1+g1=100mm+300mm=400mm
カメラCAMの視線分ベクトルとカメラcam2の視線分ベクトルとの類似度は、例えば以下のように算出される。
2=r2+g2=120mm+100mm=220mm
この場合も、D1>D2となり、カメラcam2の位置姿勢の方が近いと推定される。
一方で、撮影環境のスケールが変わって、例えば並進tが10000mmオーダとなっても、以下のようになる。
1=r1+g1=10000+30000=40000
2=r2+g2=12000+10000=22000
この場合も、D1>D2となり、カメラcam2の位置姿勢の方が近いと推定され、位置姿勢の比較に変化がなく、スケールを考慮しなくても、カメラcam2の位置姿勢の方が近いと推定される。
【0056】
図6(b)は、図1(b)と比較して、カメラCAMに対して、cam1及びcam2が同程度の類似度であり、cam3は類似度が低い(距離が長い)と判定される。本発明によれば、拡大縮小、横ずれ、視線軸に対する回転の影響によって、位置姿勢の類似度が低くなることがない。
【0057】
図7は、斜方撮影における本発明の位置姿勢の類似度を表す説明図である。
【0058】
図7によれば、カメラCAMとカメラcam1、cam2、cam3の類似度の変化は、回転角の変化に対して、線形に近い関係となる。カメラのアングルによって回転の類似度への寄与率が変わりづらく、正対していても回転変化への感度が悪くならない。
【0059】
以上、詳細に説明したように、本発明の装置、プログラム及び方法によれば、撮影環境における並進及び回転のスケールに依存することなく、世界座標系における距離との線形性を維持して、撮影画像からカメラの位置姿勢の類似度を算出することができる。
【0060】
前述した本発明における種々の実施形態によれば、当業者は、本発明の技術思想及び見地の範囲における種々の変更、修正及び省略を容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【0061】
1 装置
101 参照対象記憶部
102 提示視線分記憶部
11 撮影位置姿勢推定部
12 撮影視線分算出部
13 類似度算出部
14 提示情報表示部
図1
図2
図3
図4
図5
図6
図7