JP2018014579A - カメラトラッキング装置および方法 - Google Patents

カメラトラッキング装置および方法 Download PDF

Info

Publication number
JP2018014579A
JP2018014579A JP2016142026A JP2016142026A JP2018014579A JP 2018014579 A JP2018014579 A JP 2018014579A JP 2016142026 A JP2016142026 A JP 2016142026A JP 2016142026 A JP2016142026 A JP 2016142026A JP 2018014579 A JP2018014579 A JP 2018014579A
Authority
JP
Japan
Prior art keywords
camera
image
reference image
key frame
camera tracking
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
JP2016142026A
Other languages
English (en)
Inventor
栗原 恒弥
Tsuneya Kurihara
恒弥 栗原
浩彦 佐川
Hirohiko Sagawa
浩彦 佐川
洋登 永吉
Hirotaka Nagayoshi
洋登 永吉
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2016142026A priority Critical patent/JP2018014579A/ja
Publication of JP2018014579A publication Critical patent/JP2018014579A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Studio Devices (AREA)

Abstract

【課題】カメラトラッキングのロストから効率よく復帰できるようにすること。【解決手段】カメラトラッキング装置1は、カメラの撮影した撮影画像と撮影時の位置および姿勢に関する情報とを対応付けて構成され、3次元モデル空間における画像データとして形成される基準画像を予め複数記憶する記憶部F13と、所定のタイミングが到来すると、記憶部に記憶された各基準画像の中からカメラの撮影した撮影画像に類似する所定の基準画像を選択する基準画像選択部F14と、撮影画像と所定の基準画像とを重畳して表示する重畳表示部F15と、重畳表示部により重畳表示される撮影画像と所定の基準画像とが一致するか否か判定し、一致すると判定した場合は、カメラトラッキング処理の実行を指示する判定部F16と、を備える。【選択図】図1

Description

本発明は、カメラトラッキング装置および方法に関する。
拡張現実(Augmented Reality:AR)とは、現実環境を撮影した画像に、現実環境に対応する画像や文字などの情報を付加する技術である。ユーザは、現実環境の画像と付加画像とが合成された画像を見ることにより、付加画像として表示されている物体または画像があたかも実際に存在しているかのような感覚を得る。
ARの応用は、教育、娯楽、広告、ナビゲーション、医療など多岐にわたるが、その応用の一つに、設備プラントの保守や建築の支援があげられる。
近年、海外で設備プラントの保守や建設の計画が進む一方、熟練者不足のため、経験の浅いユーザの割合が増加すると予測されている。そこで、ARを応用して作業者を支援する技術が期待されている。ARをプラントの保守や建設現場で応用することにより、機器の状態や内部構造を可視化し、状態把握を補助することができる。これにより、効率的に作業を支援することができる。
ARにおいて最も重要な課題の1つは、現実空間と仮想空間との位置合わせである。すなわち、撮像に用いるカメラの位置及び姿勢をいかに正確かつロバストに求めるかが重要である。このように、カメラの位置姿勢を連続的に求める処理は、カメラトラッキング処理と呼ばれている。この課題に対処するため、様々な方法が開発されている。
カメラの位置や姿勢を推定する第1の方法として、GPSおよび電子コンパスを用いた方法がある。下記特許文献1では、GPSと電子コンパスと焦点距離とに基づき、カメラの地図情報空間上での位置を取得し、3D−CAD上での視野空間を求め、その視野空間中に存在する構造物の属性情報をカメラで得た画像に重畳表示する。しかしながら、プラント保守などのように屋内においてARを実現する場合に、GPSや電子コンパスは使用できないか、使用できたとしても精度が低下する。
カメラの位置や姿勢を推定する第2の方法として、下記特許文献2がある。この特許文献では、情報提供したい箇所に2次元コードを記述した表示物を予め設置し、表示物上の2次元コードをカメラで読み取ってその位置を認識し、その位置に情報を提示する。しかしながら、2次元コードを作業場所に予め配置するには手間がかかり、場所によっては2次元コードの設置自体が困難なことがある。
以上のような問題を解決する方法として、2次元コードを用いない、画像を用いたカメラの位置および姿勢を推定する方法、すなわちマーカレスカメラトラッキング方法が提案されている。
マーカレスでカメラの位置と姿勢を推定する方法として、下記特許文献3には、モデルベースの方法が提案されている。モデルベースの方法では、3次元CADによって設計した物体のように形状が既知である物体に対し、仮想カメラを用いて画像を生成する。以下、既知の形状から生成される画像をCG画像と呼ぶ。CG画像がカメラで撮像されたカメラ画像と類似しているならば、そのCG画像を生成するときに用いた仮想カメラの位置および姿勢は、実際のカメラの位置および姿勢に対応していると考えられる。
マーカレスでカメラの位置と姿勢を推定する第2の方法として、下記特許文献4および非特許文献1には、画像特徴量を用いた方法が提案されている。これらの方法では、カメラトラッキングの前処理として、トラッキング対象を様々な方向から撮影し、3次元再構成処理によってトラッキング対象の3次元構造を復元する。さらに、撮影した各画像のカメラの位置・姿勢、および画像特徴点と特徴量とを求めて、データベースに保存する。カメラトラッキング処理では、撮影された入力画像の特徴点とデータベース上の特徴点とを比較することで、カメラの位置と姿勢を推定する。
さらに画像だけでなく、奥行き画像を用いたカメラトラッキング方法として、下記非特許文献2には、点群から3次元構造を表現するボリュームデータを作成することでカメラトラッキングを行う方法が提案されている。
なお、後述するキーフレーム画像の生成などに関する技術としては、非特許文献3〜5が知られている。
特開平10−267671号公報 特開2002−228442号公報 特開平07−146121号公報 特開2011−145856号公報
大江統子、他3名、「幾何学的位置合わせのための自然特徴点ランドマークデータベースを用いたカメラ位置・姿勢推定」、日本バーチャルリアリティ学会論文誌、Vol.10、No.3、2005 R. A. Newcombe, A. J. Davison, S. Izadi, P. Kohli, O. Hilliges, J. Shotton, D. Molyneaux, S. Hodges, D. Kim, and A. Fitzgibbon, "KinectFusion: Real-time dense surface mapping and tracking," in Mixed and augmented reality (ISMAR), 2011 10th IEEE international symposium on, 2011, pp. 127-136. Y. Furukawa, B. Curless, S. M. Seitz, and R. Szeliski, "Towards internet-scale multi-view stereo," CVPR 2010, pp. 1434-1441, 2010. B. Glocker, J. Shotton, A. Criminisi, and S. Izadi, "Real-Time RGB-D Camera Relocalization via Randomized Ferns for Keyframe Encoding," Visualization and Computer Graphics, IEEE Transactions on, vol. 21, no. 5, pp. 571-583, 2015. G. Csurka, C. Dance, L. Fan, J. Willamowski, and C. Bray, "Visual categorization with bags of keypoints," in Workshop on statistical learning in computer vision, ECCV, 2004, vol. 1, pp. 1-2.
画像ベースのカメラトラッキング方法では、直前のフレームのカメラの位置姿勢を初期値として、収束計算などによって現在の画像からのカメラの位置姿勢を推定する。しかしながら、カメラの急激な移動や遮蔽物の存在、カメラのぼけやブラーなどの理由で、カメラの位置や姿勢の推定に失敗(破綻)する場合がある。このような失敗をARの分野ではロストと呼ぶ。ロストはAR処理ではしばしば発生する。実用的なARアプリケーションを実現するためには、ロストからの回復が重要である。
しかしながら、ロストからの回復は難しい課題である。モデルベースのトラッキング方法では、様々な視点から生成されるCG画像は無数に存在するため、CG画像と入力カメラ画像とのマッチングには膨大な時間がかかる。画像特徴量を用いる方法では、データベース上の特徴量と入力画像上の特徴点とのマッチングが必要であるため、計算量が膨大となる。奥行き画像を用いた方法においても、奥行き画像と3次元構造を表すボリュームデータとのマッチングには膨大な計算が必要となる。
以上のようにトラッキングのロストからの復帰には多くの計算量が必要となるという問題がある。
さらに、ロストからの回復だけでなく、トラッキングの最初のフレームでは直前のフレームのカメラの位置姿勢の情報が存在しないため、初期値の推定はロストからの復帰と同様困難な課題である。
以上のようにカメラトラッキングのロストからの復帰、最初のフレームでの初期化を効率よく実現する方法が求められている。
本発明は上述の課題に鑑みてなされたもので、その目的は、カメラトラッキングのロストから効率よく復帰できるようにしたカメラトラッキング装置および方法を提供することにある。
上記課題を解決すべく、本発明に従うカメラトラッキング装置は、現実空間と3次元モデル空間を位置合わせするカメラトラッキング装置であって、カメラの撮影した撮影画像と撮影時の位置および姿勢に関する情報とを対応付けて構成され、3次元モデル空間における画像データとして形成される基準画像を予め複数記憶する記憶部と、所定のタイミングが到来すると、記憶部に記憶された各基準画像の中からカメラの撮影した撮影画像に類似する所定の基準画像を選択する基準画像選択部と、撮影画像と所定の基準画像とを重畳して表示する重畳表示部と、重畳表示部により重畳表示される撮影画像と所定の基準画像とが一致するか否か判定し、一致すると判定した場合は、カメラトラッキング処理の実行を指示する判定部と、を備える。
本発明によれば、予め用意された複数の基準画像の中から、カメラの撮影した撮影画像に類似する所定の基準画像を選択することができ、撮影画像と所定の基準画像とを重畳表示して両者が一致するか否か判定し、一致した場合はカメラトラッキング処理の実行を指示することができる。
実施形態の全体概要を示す説明図である。 一つのコンピュータから成るARシステムのハードウェア図である。 クライアント・サーバ型のARシステムのハードウェア図である。 HMD(Head Mounted Display)型のARシステムの概要図である。 タブレット型のARシステムの概要図である。 ARシステムのメモリに格納されるデータ類の説明図である。 キーフレームデータの構成例を示す図である。 キーフレーム画像とカメラで撮影した実際の画像とを重畳表示する様子を示す説明図である。 カメラの位置や姿勢を動かすことでキーフレーム画像と実際の画像との位置調整を行う様子を示す説明図である。 第1実施例に係り、キーフレームデータを生成して保存する処理を示すフローチャートである。 カメラトラッキング処理のフローチャートである。 第2実施例に係り、実際の画像上の特徴点とキーフレーム画像上の特徴点とが一致するようにキーフレーム画像を操作して、実際の画像に一致させる様子を示す説明図である。 カメラトラッキング処理のフローチャートである。 第3実施例に係り、複数のキーフレーム画像の候補をユーザへ提示し、ユーザにより選択させる様子を示す説明図である。 カメラトラッキング処理のフローチャートである。 第4実施例に係り、カメラトラッキング処理のフローチャートである。
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本実施形態の全体概要を示す説明図である。図1に示す構成は、本発明の理解および実施に必要な程度で本実施形態の概要を示しており、本発明の範囲は図示の構成に限定されない。図1から一部の構成を除いた構成も本発明の範囲に含まれる。
カメラトラッキング装置1は、カメラで撮影した現実空間の画像(実際の画像)と3次元モデル空間とを位置合わせし、追従させるコンピュータシステムである。カメラトラッキング装置1は、例えば、撮像部F11、キーフレーム生成部F12、キーフレーム記憶部F13、キーフレーム選択部F14、重畳表示部F15、判定部F16、AR処理部F17を備える。
撮像部F11は、後述のカメラ14,15(図2,図3参照)を用いて、現実空間の実際の画像を撮影し、画像データとして出力する機能である。
キーフレーム生成部F12は、対象とする物体について後述のキーフレームデータD4(図7参照)を生成し、保存する機能である。対象物体とは、カメラトラッキング処理の対象となる物体、AR処理の対象となる物体である。キーフレーム生成部F12は、撮像部F11の撮影画像から3次元空間モデルを復元してキーフレームデータを生成することもできるし、3次元CADなどの3次元モデルデータを用いてキーフレームデータを生成することもできる。キーフレーム画像は「基準画像」に該当する。
キーフレーム記憶部F13は、キーフレーム生成部F12で生成されたキーフレームデータをメモリ15,34または補助記憶装置17,37へ保存する機能である。キーフレーム記憶部F13は「記憶部」に該当する。
キーフレーム選択部F14は、キーフレーム記憶部F13に格納された複数のキーフレーム画像の中から、撮像部F11の撮影画像に類似する所定のキーフレーム画像を選択する機能である。キーフレーム選択部F14は「基準画像選択部」に該当し、キーフレーム選択部F14の選択するキーフレーム画像は「所定の基準画像」に該当する。
キーフレーム選択部F14は、以下に述べる複数の方法のうち少なくともいずれか一方または両方を用いて、所定のキーフレーム画像を選択する。第1の方法は、第1選択部F141を用いる。第1選択部F141は、キーフレーム記憶部F13に格納されたキーフレーム画像の中から、撮像部F11の撮影画像に類似する所定のキーフレーム画像を一つ選択する。第2の方法は、第2選択部F142を用いる。第2選択部F142は、キーフレーム記憶部F13に格納されたキーフレーム画像の中から、撮像部F11の撮影画像に類似するキーフレーム画像の候補を複数選択してユーザへ提示し、ユーザの指定したキーフレーム画像を所定のキーフレーム画像として選択する。
キーフレーム選択部F14は、第1選択部F141または第2選択部F142のいずれか一つを用いて所定のキーフレーム画像を選択することもできるし、所定の条件に基づいて第1選択部F141と第2選択部F142を切り替えて使用することもできる。
重畳表示部F15は、キーフレーム選択部F14で選択された所定のキーフレーム画像と撮像部F11の撮影画像とを重ねて表示する機能である。さらに、重畳表示部F15は、撮影画像と所定のキーフレーム画像とが一致するように、位置や姿勢を調整する複数のモードを備える。
第1調整モードF151は、実際のカメラ14,24の位置や姿勢を変化させることで所定のキーフレーム画像に一致させるモードである。第1調整モードF151では、撮像部F11から撮影画像を読み込むたびに、所定のキーフレーム画像と撮影画像とを重畳表示する。したがって、例えばユーザは、カメラ14,24の位置や姿勢を変えながら撮影を続けることで、所定のキーフレーム画像と一致させることができる。第2の調整モードF152では、所定のキーフレーム画像の位置や姿勢を操作することで、撮影画像に一致させるモードである。第2の調整モードF152では、位置合わせ用の特徴点を指定するなどして、所定のキーフレーム画像の位置や姿勢を対話的に操作する。
判定部F16は、重畳表示部F15により重畳表示された撮影画像と所定のキーフレーム画像とが一致しているか否かを判定する機能である。ここで、撮影画像と所定のキーフレーム画像とが一致するとは、両方の画像の相違が所定の誤差の範囲内に収まることを意味する。判定部F16は、撮影画像と所定のキーフレーム画像とが一致すると判定すると、カメラ14,24の位置と姿勢の推定が完了したと判断し、「カメラトラッキング処理部」としてのAR処理部F17へ実行を指示する。
これにより、AR処理部F17は、カメラの位置や姿勢の変化に追従しながら、撮影画像に対してテキストやコンピュータグラフィックスなどのAR情報を重ね合わせる。カメラ14,24の位置と姿勢の推定処理が完了した場合、つまりロスト状態ではなく、カメラで撮影した画像を3次元モデル空間内で正確にトラッキングできた場合、撮影画像に重ねられていた所定のキーフレーム画像は表示部13,23から消去される。位置と姿勢の調整が完了した後は、キーフレーム画像を重畳表示する必要はなく、作業時の視認性が低下するためである。
なお、AR処理部F17は、カメラトラッキング装置1の内部に設けてもよいし、外部に設けてもよい。
図1の下側には、実際の画像である撮影画像Grと所定のキーフレーム画像Gvとを重ね合わせることで、重畳表示画像Gsを得る様子が示されている。実際の撮影画像Grには、装置などのオブジェクトOBJ1が映っている。所定のキーフレーム画像Gvには、実際のオブジェクトOBJ1に対応する3次元空間モデルでのオブジェクトOBJ2が映っている。撮影画像Grと所定のキーフレーム画像Gvとを重ね合わせたときに、両方の画像が一致しているならば、カメラトラッキング処理を開始し、AR画像を表示部13,23(図2,図3参照)に表示させることができる。3次元空間モデルが現実空間(撮影対象の実際の空間)に追従している限り、AR処理を行うことができる。
このように構成される本実施形態によれば、AR対象の物体についての複数のキーフレーム画像を予め用意し、それら複数のキーフレーム画像の中からカメラで撮影した撮影画像に類似する所定のキーフレーム画像を選択し、撮影画像と所定のキーフレーム画像が一致するか判定する。したがって本実施形態によれば、キーフレーム画像の中から撮影画像に類似する所定のキーフレーム画像を抽出して、撮影画像との一致を判定するだけで、カメラトラッキングのロストから短時間かつ効率的に回復することができ、AR処理の使い勝手を向上できる。また、本実施形態によれば、カメラトラッキング処理の初期化時においても、速やかに対象物との位置合わせを完了して、カメラトラッキング処理を開始することができる。
図2〜図11を用いて第1実施例を説明する。まず最初に、カメラトラッキング装置1のハードウェア構成について説明する。
図2のハードウェア構成図に示すように、カメラトラッキング装置1は、単一のコンピュータシステムとして構成することができる。カメラトラッキング装置1は、例えば、マイクロプロセッサ(以下、CPU:Central Processing Unit)11、入力部12、表示部13、カメラ14、メモリ15、通信部16、補助記憶装置17を備える。
CPU11は、カメラトラッキング装置1の動作を制御する。CPU11は、補助記憶装置17に記憶された所定のコンピュータプログラムP11〜P13をメモリ15に読み込んで実行することで、カメラトラッキング装置1の各機能を実現する。なお、コンピュータプログラムの一部または全部は、メモリ15に格納されていてもよい。
入力部12は、ユーザがカメラトラッキング装置1へ指示や情報を入力するための装置である。入力部12は、例えば、手動スイッチ、操作ボタン、操作コントローラ、タッチパネル、動作検出スイッチ、音声認識装置などのように構成される。表示部13は、カメラトラッキング装置1からユーザへ情報を提供する装置であり、ディスプレイ装置として構成される。
カメラ14は、例えばCCD(Charge Coupled Device)カメラ、CMOS(Complementary MOS)カメラのようなカラーデジタルカメラとして構成されており、撮影した画像をデジタルデータとして出力する。カメラ14は、投射したレーザー光が対象物から戻ってくるまでの時間、あるいはパターンの照射やステレオカメラの原理などに基づいて、対象物までの距離を測定する機能を備えることができる。
メモリ15は、例えば、ROM(Read Only Memory)やRAM(Random Access Memory)を含む記憶装置である。メモリ15の記憶内容は、図6で後述する。
通信部16は、外部装置と無線通信あるいは有線通信するための装置である。通信部16は、例えば、インターネットやLAN(Local Area Network)などの通信ネットワークに接続し、テキストメッセージ、コンピュータプログラム、イメージファイルなどを送受信する。通信部16は、近距離無線通信機能を備えてもよい。この場合、入力部12または表示部13の少なくともいずれか一方をコンピュータ本体とは別に構成し、近距離無線通信でコンピュータ本体と接続することができる。
補助記憶装置17は、例えばハードディスク、フラッシュメモリデバイスのような比較的大容量の不揮発性記憶装置である。補助記憶装置17は、着脱可能な記録媒体を備えてもよい。補助記憶装置17には、カメラ14で撮影した画像や重畳表示された画面などを作業記録として保存することができる。なお、補助記憶装置17は、コンピュータプログラムを記憶してもよい。例えば、キーフレーム生成部P11、カメラトラッキング処理部P12、AR処理部P13を実現するコンピュータプログラムを補助記憶装置17へ格納してもよい。
図3のハードウェア構成図に示すように、カメラトラッキング装置1Aは、クライアント・サーバ型のコンピュータシステムとして構成することもできる。
カメラトラッキング装置1Aは、現場端末2とサーバ3とから構成されており、現場端末2はサーバ3と通信ネットワークCNを介して通信可能に接続されている。クライアント・サーバ型のカメラトラッキング装置1Aでは、現場端末2で撮影した画像をサーバ3で処理し、その処理結果を現場端末2へ送信して表示させる。
現場端末2は、例えば、CPU21、入力部22、表示部23、カメラ24、メモリ25、通信部26、補助記憶装置27を備えることができる。
サーバ3は、例えば、CPU31、入力部32、表示部33、メモリ35、通信部36、補助記憶装置37を備えることができる。現場端末2もサーバ3も、入力部、表示部、カメラ、メモリ、通信部、補助記憶装置については、図2の構成と基本的に同様であるため、その説明を省略する。
相違点を述べると、上述の通り、クライアント・サーバ型のカメラトラッキング装置1Aでは、現場端末2とサーバ3とで役割を分担するため、それぞれの役割に応じたコンピュータプログラムを保持する。
例えば、現場端末2は、撮影画像と所定のキーフレーム画像とを表示部23に重畳表示する画像処理部P21、サーバ3との間でデータを送受信するデータ送受信部P22を実現するためのコンピュータプログラムを有する。
例えば、サーバ3は、キーフレーム画像を事前に生成して登録するためのキーフレーム生成部P31、カメラトラッキング処理部P32、AR処理部P33を実現するためのコンピュータプログラムを備える。
図4は、HMD型のカメラトラッキング装置1Bを示す説明図である。このカメラトラッキング装置1Bは、図2で述べたように現場に持ち運び可能な単一のコンピュータシステムとして構成してもよいし、図3で述べたようにクライアント・サーバ型システムで使用する現場端末2として構成してもよい。
HMD型カメラトラッキング装置1Bは、例えば、ユーザ4の頭部にカメラ14,24と表示部13,23を着脱可能に装着し、タブレットや携帯端末として構成されるコンピュータ本体(CPU11,21、メモリ15,25、入力部12,22などを含む)とカメラおよび表示部とを無線または有線で接続してもよい。
ユーザは、入力部12,22を操作することで、表示部13,23にAR情報を表示させ、AR情報を見ながら作業等を行う。カメラ14,24から得られたカラーの撮影画像や奥行き情報は、カメラトラッキング処理部P12,P32により処理される。これにより、カメラトラッキング装置1Bは、ユーザ頭部に装着されたカメラ14,24の位置と姿勢を推定する。
そして、カメラトラッキング装置1Bは、推定した情報に基づいて、カメラ14,24から入力される画像(実際の撮影画像)に対応するキーフレーム画像をCG(Computer Graphics)データとして、カメラ14,24からの入力画像に重畳し、表示部13,23に表示する。入力画像と対応するキーフレーム画像(所定のキーフレーム画像)とが一致すると、カメラ14,24の位置と姿勢の調整が完了し、カメラトラッキングを開始するための準備が整う。カメラトラッキング装置1Bは、AR情報とカメラ14,24で撮影している画像とが重なるようにして表示部13,23に表示する。ユーザは、AR情報を参照しながら作業を行う。
ところでユーザ4の作業中にカメラ14,24の位置や姿勢を推定できなくなると(ロスト時)、カメラトラッキング装置1Bは、キーフレーム画像との照合により位置や姿勢を推定し、ロストから回復する。
図5は、タブレット型のカメラトラッキング装置1Cを示す。いわゆるタブレット型コンピュータとして構成されるカメラトラッキング装置1Cは、その背面にカメラ14,24が設けられており、表示部13,23と入力部12,22とはタブレット表面に設けられている。
最初にユーザが、タブレット型のカメラトラッキング装置1CをAR対象物へ向けて操作すると、図4のHMD型カメラトラッキング装置1Bで述べたと同様の初期設定が行われる。すなわちカメラトラッキング装置1Cは、カメラ14,24で撮影された画像に対し、その画像に対応するキーフレーム画像を重畳表示する。両方の画像が一致すると、カメラトラッキング処理の初期化が完了する。そして、カメラ14,24で撮影している画像に対してAR情報が重ねられて、表示部13,23に表示される。
図6は、メモリ15に記憶されたデータを示す。以下では、単一のコンピュータシステムからカメラトラッキング装置1を構成する場合を例に挙げて説明する。
メモリ15は、例えば、入力画像Gr、カメラの位置と姿勢の推定データD1、入力画像の画像特徴量D2、3次元モデルD3、キーフレーム画像Gv、重畳画像Gs、キーフレームデータD4を記憶する。
入力画像Grとは、カメラ14で実際に撮影された画像データである。カメラトラッキング装置1へ入力される画像データであるため、入力画像Grと呼ぶ。入力画像Grは、RGB画像データの場合でもよいし、さらに奥行き情報を含むRGB−D画像データであってもよい。
カメラの位置と姿勢の推定データD1は、カメラ14の位置および姿勢の推定値を示すデータである。カメラトラッキング処理とは、カメラ14の位置および姿勢の推定値を高精度に求める処理のことである。
入力画像の画像特徴量D2は、入力画像Grから求めた画像特徴量のデータである。画像特徴量の詳細については後述する。
3次元モデルD3は、3次元再構成によって生成される、トラッキング対象の3次元モデルのデータである。3次元モデルは、3次元再構成で求める場合には点群で表現される場合が多いが、ポリゴンやボリュームデータで3次元モデルを表現してもよい。3次元モデルD3は3次元再構成によって生成されるだけでなく、3次元CADデータから生成することも可能である。
キーフレーム画像Gvは、カメラトラッキング処理で使用するキーフレーム画像のデータであり、後述のように、入力画像GrとキーフレームデータD4とから求める。
重畳画像Gsは、入力画像Grにキーフレーム画像Gvを重畳表示した画像のデータである。
キーフレームデータD4は、入力画像Grに対応するカメラの位置および姿勢のデータの組が格納されている。キーフレームデータD4の詳細な例は、図7で後述する。
図7を用いて、キーフレームデータD4の詳細を説明する。キーフレームデータD4は、N個のキーフレーム(キーフレーム1、キーフレーム2、…、キーフレームN)を有するデータベースである。
各キーフレームは、入力画像Grから得られる画像データD41と、その入力画像Grを撮影したときのカメラ14の位置および姿勢を示すデータD42と、その入力画像Grの画像特徴量と、を備える。画像データD41は、実際の画像である入力画像Grから生成されるキーフレーム画像Gvのデータである。
カメラの位置および姿勢を示すデータD42は、世界座標系におけるカメラ14の位置(X,Y,Z)と方向とから構成される。カメラ14の方向の記述方法には様々な方法が存在するが、例えばX軸、Y軸、Z軸周りの回転角度(θx, θy, θz)でカメラ14の方向を記述することができる。
図8を用いて、本実施例のカメラトラッキング装置1の利用シーンを説明する。図8の最上部には、カメラ14の入力画像Grの例が示されている。ここでは、図8の最上部に示すような室内のシーンをカメラトラッキングしているものとする。そして、図8の入力画像Grに対してカメラトラッキングが失敗(ロスト)し、カメラトラッキングの復帰処理を実行する場合を説明する。
カメラ14は室内の装置OBJ1を撮影しており、入力画像Grには装置OBJ1が含まれている。この装置OBJ1を活用して、カメラトラッキングの復帰および初期化を行うことを考える。
本実施例では、カメラ14で撮影した画像Grとカメラ14の位置および姿勢とを対応付けた複数のキーフレームを予め記憶するキーフレームデータD4を備えている。このキーフレームデータD4に含まれている複数枚のキーフレーム画像と、現在のカメラ14からの入力画像Grとを比較し、カメラ14の入力画像Grと類似したキーフレーム画像を求める。この処理の詳細は後述する。入力画像Grに類似するとして求められたキーフレーム画像Gvの例を図8の最下部に示す。
カメラトラッキング装置1は、キーフレーム画像Gvに対応したカメラ14の位置および姿勢を初期値として、カメラ14の位置および姿勢を推定する。この推定処理が成功した場合はロストからの復帰は成功であるため、カメラトラッキングを継続し、対象物にAR情報を重ねるなどのAR処理を実行する。以下、カメラの位置と姿勢のことを、「位置姿勢」と呼ぶ場合がある。
上述のキーフレーム画像Gvに対応したカメラ14の位置姿勢を初期値としたロストからの復帰が失敗した場合、カメラ14の現在の位置姿勢とカメラ14の位置姿勢の推定値とが十分に類似していないことが考えられる。
このため、カメラ14の現在の位置姿勢と、カメラ14の位置姿勢の推定値とを近づける必要がある。カメラ14の現在の位置姿勢と、カメラ14の位置姿勢の推定値とを近づける方法として、以下の2つの方法がある。
第1の方法は、カメラ14の現在の位置姿勢をカメラ14の位置姿勢の推定値(キーフレームでのカメラの位置姿勢の推定値)に近づける方法である。第2の方法は、カメラ14の現在の位置姿勢に、カメラ14の位置姿勢の推定値を近づける方法である。
すなわち、第1の方法では、実際の画像である入力画像Grがキーフレーム画像Gvに近づくようにする。第2の方法では、キーフレーム画像Gvが入力画像Grに近づくようにする。第1実施例では、第1の方法を用いる。後述の第2実施例では、第1の方法に加えて、第2の方法も用いる場合を説明する。なお、第2の方法のみを用いる場合も、本発明の範囲に含まれる。
ユーザがカメラ14の位置姿勢を更新する第1の方法の場合には、重畳画像Gsにおいて、キーフレーム画像Gv中の装置OBJ2は固定であり、入力画像Gr中の装置OBJ1がカメラ14の現在の位置姿勢に対応して変更される。
図8の中央部に位置する重畳画像Gsに示すように、入力画像Grに重畳するキーフレーム画像Gvは、入力画像Grに類似している。このため、ユーザは容易に、キーフレーム画像Gvと入力画像Grとがより類似するように、カメラ14の位置姿勢を変化させることができる。
カメラ14の移動は、図4に示すHMDを用いたシステム構成の場合、ユーザ自体の移動に対応する。図5に示すタブレット端末を用いたシステム構成の場合、タブレットの移動がカメラの移動に対応する。
カメラ14の位置姿勢が更新されると、カメラトラッキング装置1は、キーフレーム画像Gvに対応したカメラ14の位置姿勢を初期値として、カメラ14の位置姿勢の推定処理を行う。この推定処理が成功した場合はロストからの復帰は成功であり、カメラトラッキングを継続し、AR処理を実行する。なお、一定時間ロストからの復帰が成功しない場合、AR処理は終了するものとする。
図9は、HMDを用いたカメラトラッキング装置1(ARシステム)の場合に、ユーザ4がその位置や姿勢を動かすことで、実際のトラッキング対象装置OBJ1と3次元モデルの装置OBJ2とを一致させる様子を示す。
ユーザが4(1)から4(2)または4(3)のいずれかに移動すると、HMDに組み込まれたカメラ14の位置や姿勢も変化する。これにより、実際のトラッキング対象装置OBJ1と3次元モデルの装置OBJ2との重なり方もGs(1)〜Gs(3)のように変化する。重畳画像Gs(3)に示すように、実際のトラッキング対象装置OBJ1と3次元モデルの装置OBJ2とのずれが所定範囲内に収まると、カメラ14の位置姿勢が一致したものと推定される。
次に、図8で述べた本実施例の利用シーンを実現するための方法を説明する。本実施例は、オフラインでの前処理と、リアルタイムのカメラトラッキング処理(およびAR処理の実行)との2つから構成される。
前処理では、事前にトラッキング対象の3次元モデルD3を復元し、キーフレームデータD4を構築する。リアルタイムのカメラトラッキング処理では、3次元モデルD3とキーフレームデータD4とを用いて、カメラ14の位置姿勢をリアルタイムで推定し、推定した位置姿勢D1を用いて、カメラ14の入力画像GrにさまざまなAR情報(例えばCG映像)を重畳する。
図10は、オフラインの前処理としての、キーフレームデータD4を生成して保存する処理を示すフローチャートである。
カメラトラッキング装置1は、トラッキング対象を複数枚撮影する(S10)。この撮影に使用するカメラは、ARシステムで使用するカメラ14であってもよいし、別のカメラシステムでもよい。
カメラトラッキング装置1は、ステップS10で取得した複数の画像から、公知のSfM処理(Structure from Motion)処理(非特許文献1)によって、各画像でのカメラの位置姿勢を推定する(S11)。さらに、カメラトラッキング装置1は、SfM処理および3次元復元処理(非特許文献3)によって、トラッキング対象の3次元モデルD3を復元する(S12)。
上述の例では、画像特徴点を用いた3次元復元(SfM)を想定して説明したが、これに代えて、非特許文献2に記載のように、RGB−Dデータを用いて密な点群として3次元形状を復元してもよい。
カメラトラッキング装置1は、入力された複数の画像から特徴的な画像を選択し、キーフレームデータD4の画像データD41として登録する。このために、カメラトラッキング装置1は、各入力画像に対して画像特徴量を算出する。
ここで、画像特徴量とは、各画像を少ないデータで記述したものであり、2つの画像の特徴量の距離が近い場合にはその2つの画像が類似しているようなデータである。画像特徴量には様々なものが存在するが、非特許文献4のrandomized fernsや非特許文献5のbag of keypointsなどが利用できる。画像特徴量は多次元ベクトルで表現され、ベクトル間の距離を求めることで画像間の非類似度を求めることが可能である。
カメラトラッキング装置1は、各画像について画像特徴量およびカメラの位置姿勢を求めると、これらを用いてキーフレーム画像を選択し、キーフレームデータD4を生成する(S14)。すなわち、カメラトラッキング装置1は、画像特徴量およびカメラの位置姿勢が類似している画像をキーフレームから除外する。これにより、キーフレームデータD4が構築される。
図11のフローチャートを用いて、リアルタイムのカメラトラッキング処理およびAR処理の実行方法を説明する。
カメラトラッキング装置1は、カメラ14から画像Grを取り込む(S20)。カメラトラッキング装置1は、入力されたカメラ画像Grと、3次元モデルD3と、1フレーム前のカメラの位置姿勢データとを用いて、カメラ14の位置姿勢を推定する処理(カメラトラッキング)を実行する(S21)。
カメラトラッキングに非特許文献1の方法を用いてもよい。その場合、入力画像Grから特徴点を抽出し、3次元モデルD3の画像特徴点とのマッチングを行うことでカメラ14の位置姿勢を推定する。この過程で、1フレーム前のカメラ14の位置姿勢データを用いる。また、非特許文献2の方法を用いる場合、入力画像Grの奥行きと3次元モデル3Dから得られた奥行きとを適合させることで、カメラ14の位置姿勢を推定する。
カメラトラッキング装置1は、カメラ14の位置姿勢の推定に成功したか判定する(S22)。カメラトラッキング装置1は、3次元モデルD3と推定されたカメラの位置姿勢D1とから生成される2次元画像と入力画像Grとの類似度が閾値以上の場合に、カメラ14の位置姿勢の推定が成功と判断し(S22:YES)、閾値以下の場合に推定は失敗と判断する(S22:No)。
カメラトラッキング装置1は、カメラトラッキングに成功すると、カメラの位置姿勢の推定値D1を用いて、AR処理部P12による処理を実行させる(S23)。AR処理では、入力画像Grに対してCG映像や文字などを重畳表示する。カメラトラッキング装置1は、AR処理が終了するか判定し(S24)、終了と判定すると(S24:YES)、AR処理部P12の動作を停止させる。AR処理が終了しない場合(S24:NO)、ステップS20へ戻る。
カメラトラッキング装置1は、カメラトラッキングに失敗したと判定した場合(S22:NO)、予め登録されているキーフレーム画像Gvの中から、入力画像Grに類似した所定のキーフレーム画像Gvを1つ選択する(S25)。
ステップS25の処理は、以下のように実行する。まずカメラトラッキング装置1は、入力画像Grから画像特徴量D2を求め、この画像特徴量D2とキーフレームデータD4に保存されている各キーフレーム画像Gvとの距離を求める。カメラトラッキング装置1は、この距離が最小のキーフレーム画像Gvを求める。
カメラトラッキング装置1は、入力画像Grに類似するキーフレーム画像Gvを選出できたか判定する(S26)。カメラトラッキング装置1は、ステップS25で抽出したキーフレーム画像GvとステップS20で取得した入力画像Grとの距離が閾値以下である場合、適切なキーフレーム画像Gvが選出されたと判断し(S26:YES)、ステップS30へ進む。
カメラトラッキング装置1は、抽出したキーフレーム画像Gvと入力画像Grとの距離が閾値以上である場合(S26:NO)、入力画像Grに類似するキーフレーム画像Gvの選出に失敗したと判断する(S26:NO)。カメラトラッキング装置1は、次の画像がカメラ14から入力されるのを待って(S27)、ステップS25へ戻る。
カメラトラッキング装置1は、入力画像Grに類似するキーフレーム画像Gvの選出に成功すると、そのキーフレーム画像Gvと入力画像Grとを重畳表示した画像Gsを表示部13に表示させる(S30)。重畳画像Gsの一例は図8に示した通りである。
ユーザは、図9で述べたように、重畳画像Gsを見ながら、カメラ14を移動させることで、カメラ14の位置姿勢と3次元モデル空間におけるカメラ(仮想カメラ)の位置姿勢の推定値とを近づける。このために、カメラトラッキング装置1は、カメラ14から最新の画像を取得する(S31)。カメラ画像入力はリアルタイムで更新される。
カメラ画像入力が更新されると(S31)、カメラトラッキング装置1は、カメラ14の位置姿勢を推定する処理を実行する(S33)。ステップS33は、ステップS21と同様の処理である。
次にカメラトラッキング装置1は、カメラ14の位置姿勢の推定に成功したか判定する(S34)。このステップS34は、ステップS22と同様の処理である。カメラトラッキング装置1は、カメラ14の位置姿勢の推定に成功した場合(S34:YES)、カメラトラッキングに成功したと判定し、ステップS20へ戻る。これにより、カメラトラッキングはロストから復帰し、ステップS21,S22を経てステップS23へ進み、AR処理が実行される。
これに対し、カメラ14の位置姿勢の推定に失敗した場合(S34:NO)、カメラトラッキング装置1は、ステップS30に戻って重畳画像Gsを表示する。そして、カメラトラッキング装置1は、再びカメラ14から最新画像を取込み(S31)、カメラ14の位置姿勢を推定し直し(S33)、その推定に成功したか判定する(S34)。
なお、図示は省略するが、カメラ14の位置姿勢を推定する処理(S33)が予め定められた一定時間内に成功しない場合、カメラトラッキング装置1は、カメラトラッキング処理に失敗したと判定し、本処理を終了する。
このように構成される本実施例によれば、カメラトラッキングの初期化時やロスト時に、カメラ14の入力画像Grに類似するキーフレーム画像Gvを自動的に抽出して重畳表示し、両方の画像が一致するときにカメラの位置姿勢の推定に成功したと判定する。したがって、本実施例では、事前に登録された複数のキーフレーム画像の中から入力画像Grに類似するキーフレーム画像Gvを選択するだけで、カメラの位置姿勢の推定を効率よく速やかに行うことができ、ARシステム(カメラトラッキング装置1)の使い勝手が向上する。
図12,図13を用いて第2実施例を説明する。本実施例を含む以下の各実施例は、第1実施例の変形例に相当するため、第1実施例との相違を中心に説明する。本実施例では、実際のカメラ14の位置姿勢と、カメラの位置姿勢の推定値(3次元モデル空間での仮想カメラの位置姿勢)とを近づける方法として、キーフレーム画像Gvの位置や向きを変化させる方法(上述の第2の方法)も使用する。
ユーザがカメラの位置姿勢の推定値を更新する第2の方法の場合には、重畳画像Gsの入力画像Grを固定し、キーフレーム画像Gvを対話的に更新することで、カメラの位置姿勢を推定する。キーフレーム画像Gvは、トラッキング対象をカメラの位置姿勢で撮影した画像である。トラッキング対象の3次元モデルを用いることで、カメラの位置姿勢を変更した場合の画像を生成することができる。
本実施例では、ユーザは、キーフレーム画像Gvに対応するカメラの位置姿勢から、マウスやタッチパネル等を用いて操作することにより重畳画像Gsを更新し、CG画像Gvと入力画像Grとを類似させる。
なお、実際のカメラの位置姿勢の更新(第1の方法)、カメラの位置姿勢の推定値の更新(第2の方法)の2つを別々に実行してもよいし、同時に実行してもよい。
図12は、固定された入力画像Grに対して、キーフレーム画像Gvをユーザが動かして一致させる例を示す。図8の最上部に示すように、ユーザは、入力画像Gr上の特徴的な点M11〜M14をマウスポインタ等で指定する。ここでは、ユーザは、実際の装置OBJ1の四隅を特徴点M11〜M14として指定したものとする。特徴点M11〜M14は「第1特徴点」に該当する。
図8の最下部に示すように、ユーザは、入力画像Gr上の特徴点M11〜M14に対応させるべく、キーフレーム画像Gv上の特徴点M21〜M24を指定する。ここでは、ユーザは、3次元モデル空間内の装置OBJ2の四隅を特徴点M21〜M24として指定したものとする。特徴点M21〜M24は「第2特徴点」に該当する。
カメラトラッキング装置1は、ユーザによって特徴点M11〜M14,M21〜M24が指定されると、重畳画像Gsにおいて、対応する特徴点同士が重なり合うように、キーフレーム画像Gvの位置や姿勢を自動的に変化させる。図8の中央部に示す重畳画像Gsは、キーフレーム画像Gvを入力画像Grに重ねた瞬間を示しており、両画像Gv,Grは未だ一致していない。
このように、ユーザが入力画像Grおよびキーフレーム画像Gvの両方において特徴的な点を指定することで、キーフレーム画像Gvの位置や姿勢を入力画像Grへ自動的に一致させることができる。特徴点のペアは少なくとも3つあればよい。
自動的にキーフレーム画像Gvの位置や姿勢を変化させる方法に限らず、ユーザがマウス等でキーフレーム画像Gvの位置や姿勢を手動で変化させることもできる。
図13は、本実施例によるカメラトラッキング処理およびAR処理の実行方法を示すフローチャートである。本フローチャートは、図11で述べたステップS20〜S27,S30,S31,S33,S34を全て含んでいる。さらに本実施例のフローチャートは、ステップS31とステップS33との間で、新規なステップS32を実行する。
カメラトラッキング装置1は、カメラ14の入力画像Grとキーフレーム画像Gvとを重畳した画像Gsを表示する(S30)。ユーザは、重畳画像Gsを見ながら、カメラ14を移動させたり姿勢を変えたりすることができる(S31)。
さらに、ユーザは、重畳されているキーフレーム画像Gvをマウス等を用いて対話的に操作し、キーフレーム画像Gvを移動させたり回転させたりして、カメラの位置姿勢の推定値を更新させる(S32)。入力画像Grとキーフレーム画像Gvとは、リアルタイムで更新される。
入力画像Grが更新されるか、あるいはカメラ位置姿勢の推定値D1が更新されるかのいずれかの場合、カメラ位置姿勢を推定する処理が実行される(S33)。カメラトラッキング装置1は、カメラ位置姿勢の推定が成功した場合(S34:YES)、カメラトラッキングが成功し、ロストからの復帰は成功と判定し、ステップS20へ移る。
カメラ位置姿勢の推定に失敗した場合(S34:NO)、カメラトラッキング装置1は、ステップS30へ戻る。
このように構成される本実施例も第1実施例と同様の作用効果を奏する。さらに本実施例によれば、ユーザは、入力画像Grをキーフレーム画像Gvに一致させるか(S31)、あるいは、キーフレーム画像をGvを入力画像Grに一致させるか(G32)、のいずれか一つまたは両方の方法を選択することができる。したがって、ユーザは、状況やトラッキング対象の形状などに応じて、適切な方法を採用することができる。この結果、本実施例は、第1実施例に比べて使い勝手がさらに向上する。
図14,図15を用いて第3実施例を説明する。本実施例では、入力画像Grに類似するキーフレーム画像Gvの候補(キーフレーム画像候補)を複数個ユーザへ提示し、ユーザにキーフレーム画像Gvを選択させる。これにより、本実施例では、ロストからの回復の成功率をさらに高める。
図14の上側に示すように、カメラトラッキング装置1は、入力画像Grに類似するキーフレーム画像候補を複数(ここでは4個)選択して、ユーザへ提示する。図14の例では、カメラトラッキング装置1は、4個のキーフレーム画像候補Gvc1〜Gvc4を表示部13に表示させる。
図14の下側に示すように、ユーザは、キーフレーム画像候補を提示されると、例えば周囲を見回し、現実のトラッキング対象に最も類似するキーフレーム画像候補を一つ選択する。ここでは、キーフレーム画像候補Gvc1が選択されたものとする。図14では、選択されたことが明確にわかるように、強調表示5を付している。ユーザは、入力部12を用いて、複数提示されたキーフレーム画像候補の中から任意のキーフレーム画像候補を一つ選択することができる。
図15のフローチャートを用いて、第3実施例によるリアルタイムのカメラトラッキング処理およびAR処理の実行方法を説明する。図15のフローチャートは、図11で述べたフローチャートと共通のステップS20〜S27,S30,S31,S33,S34を全て含んでいる。
また、本実施例では、新規なステップS28,S29を備える。さらに、図11のステップS25に代わる本実施例のステップS25Aでは、複数のキーフレーム画像候補を選出する。また、図11のステップS26に代わる本実施例のステップS26Aでは、適切なキーフレーム画像候補が選出されたか判定する。
カメラトラッキング装置1は、カメラの位置姿勢の推定に失敗すると(S22:NO)、入力画像Grに類似するキーフレーム画像の候補をm個選択する(S25A)。ステップS25Aの処理は、例えば以下のように実行する。カメラトラッキング装置1は、入力画像Grから画像特徴量D2を求める。続いて、カメラトラッキング装置1は、画像特徴量D2とキーフレームデータD4に保存されている各キーフレームの画像特徴量D43との距離を求める。そして、カメラトラッキング装置1は、その距離が小さいキーフレームに含まれている画像データD41をキーフレーム画像候補としてm個抽出する。
カメラトラッキング装置1は、所定数mの適切なキーフレーム画像候補を選出できたか判定する(S26A)。適切なキーフレーム画像候補とは、入力画像Grに類似する画像である。
カメラトラッキング装置は、上位m個のキーフレームが持つ画像データD41(キーフレーム画像候補)の画像特徴量D43と入力画像Grの画像特徴量D2との距離が所定の閾値以下である場合、適切なキーフレーム画像候補が選出されたと判定する(S26:YES)。
これに対し、カメラトラッキング装置1は、画像特徴量D43と画像特徴量D2との距離が所定の閾値以上である場合、キーフレーム画像候補の選出に失敗したと判定する(S26A:NO)。選出失敗の場合は、新たな画像がカメラ14から入力されるのを待って(S27)、キーフレーム画像候補を再び選出する(S25A)。
カメラトラッキング装置1は、m個のキーフレーム画像候補の選出に成功すると(S26A:YES)、キーフレーム画像候補を表示部13に提示する(S28)。表示部13は、図14で述べたように、m個のキーフレーム画像候補を表示する。ユーザは、周囲を見回し、トラッキング対象に最も類似すると考えるキーフレーム画像候補を一つ選択して、キーフレーム画像とする(S29)。
このように構成される本実施例も第1実施例と同様の作用効果を奏する。
さらに本実施例では、カメラトラッキング装置1が自動的に抽出した複数のキーフレーム画像候補をユーザへ提示することで、ユーザがトラッキング対象に最も類似するキーフレーム画像を手動で選択するため、カメラトラッキングのロストから回復する可能性を第1実施例よりも高めることができる。
なお、上述のステップS25Aでは、入力画像Grの画像特徴量D2とキーフレームデータD4の特徴量D43との間の距離に基づいて、入力画像Grに類似したキーフレーム画像候補を複数選出する場合を述べたが、本実施例はこの方法に限定されない。
例えば、他の一つの方法として、カメラトラッキングがロストする直前のカメラ14の位置姿勢を用いる方法がある。この方法では、カメラの位置姿勢を推定するステップS21において、カメラ位置姿勢の推定精度を評価する。そして、カメラの位置姿勢の推定値と推定精度のログを記録しておく。これにより、カメラトラッキングがロストした場合(S22:NO)、そのログを用いて、ロスト直前でありかつ、推定精度が所定の閾値以上であるカメラの位置姿勢の推定値を求める。
なお、ステップS25Aでは、画像特徴量を用いた距離だけでなく、カメラの位置姿勢間の距離も加算することで、キーフレーム画像候補を選択してもよい。さらに、カメラトラッキングのロスト時だけでなく、カメラトラッキングの開始時(初期化時)においても、複数のキーフレーム画像候補をユーザに提示して選択させてもよい。
なお,ステップS25A,ステップS26Aではm個のキーフレーム画像候補の選出に成功することを判定の条件としていたが、1個以上のキーフレーム画像候補の選出に成功することを判定の条件とすることも可能である。この場合には,ユーザに提示するキーフレーム画像候補の数は選出されたキーフレーム画像となり,所定数m個が提示されるわけではない。
図16を用いて第4実施例を説明する。本実施例では、入力画像Grに類似するキーフレーム画像(所定のキーフレーム画像)Gvを選択する方法を複数用意し、状況に応じて切り替える。すなわち、本実施例では、最初はカメラトラッキング装置1により自動的に一つのキーフレーム画像を選択するが(S25)、自動的に選択したキーフレーム画像ではカメラトラッキングを開始できない場合に、キーフレーム画像候補を複数個ユーザへ提示し、その中からキーフレーム画像をユーザに選択させる(S35〜S37)。
図16のフローチャートを用いて、第4実施例によるリアルタイムのカメラトラッキング処理およびAR処理の実行方法を説明する。図16のフローチャートは、図11で述べたフローチャートと共通のステップS20〜S27,S30,S31,S33,S34を全て含んでいる。さらに、図16のフローチャートは、新規なステップS35〜S36を備えている。
最初は、第1実施例と同様に、カメラトラッキング装置1が入力画像Grに類似するキーフレーム画像を自動的に一つ選択して(S25,S26)、カメラの位置姿勢を推定する(S30,S31,S33)。
しかし、自動的に選択されたキーフレーム画像ではカメラの位置姿勢の推定に成功しない場合(S34:NO)、カメラトラッキング装置1は、第3実施例で述べた選択方法に切り替える。
カメラトラッキング装置1は、入力画像Grに類似するキーフレーム画像候補を所定数だけ抽出し(S35)、表示部13を介してユーザへ提示する(S36)。ユーザは、入力部12を使用して、提示された各キーフレーム画像候補の中からトラッキング対象に最も似ていると考えるキーフレーム画像候補を一つ選択する(S37)。カメラトラッキング装置1は、ユーザの選択したキーフレーム画像候補をキーフレーム画像として使用し、カメラの位置姿勢を推定する(S33)。
このように構成される本実施例も第1実施例と同様の作用効果を奏する。さらに本実施例では、最初はカメラトラッキング装置1がキーフレーム画像を自動的に選択してカメラの位置姿勢を推定し、カメラの位置姿勢の推定に失敗した場合には、キーフレーム画像候補を複数抽出してユーザへ提示し、ユーザにキーフレーム画像を選択させる。したがって、自動的なキーフレーム画像選択と手動によるキーフレーム画像選択とを状況に応じて切り替えることができ、ユーザの使い勝手がさらに向上する。
本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。上記実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることもできる。また、ある実施形態の構成に他の実施形態の構成を加えることもできる。また、各実施形態の構成の一部について、他の構成を追加・削除・置換することもできる。
上記各構成、機能、処理部、処理手段等は、それらの一部や全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記録装置、ICカード、SDカード、DVD等の記録媒体に格納することができる。
なお、キーフレーム画像の選択方法としては、ロスト直前のカメラの位置姿勢に最も近いキーフレーム画像を選択する方法や、ジャイロセンサやコンパスなどのセンサからカメラ14の位置姿勢を推定し、その推定した位置姿勢に最も近いキーフレーム画像を選択する方法などが考えられる。これらの方法を採用するカメラトラッキング装置も、本発明の範囲に含まれる。
1,1A,1B,1C:カメラトラッキング装置、12,22:入力部、13,23:表示部、14,24:カメラ、F11:撮像部、F12:キーフレーム生成部、F13:キーフレーム記憶部、F14:キーフレーム選択部、F15:重畳表示部、F16:判定部、F17:AR処理部、Gr:カメラで撮影した実際の画像、Gv:キーフレーム画像、Gs:重畳画像

Claims (12)

  1. 現実空間と3次元モデル空間を位置合わせするカメラトラッキング装置であって、
    カメラの撮影した撮影画像と撮影時の位置および姿勢に関する情報とを対応付けて構成され、3次元モデル空間における画像データとして形成される基準画像を予め複数記憶する記憶部と、
    所定のタイミングが到来すると、前記記憶部に記憶された前記各基準画像の中から前記カメラの撮影した撮影画像に類似する所定の基準画像を選択する基準画像選択部と、
    前記撮影画像と前記所定の基準画像とを重畳して表示する重畳表示部と、
    前記重畳表示部により重畳表示される前記撮影画像と前記所定の基準画像とが一致するか否か判定し、一致すると判定した場合は、カメラトラッキング処理の実行を指示する判定部と、
    を備えるカメラトラッキング装置。
  2. 前記所定のタイミングは、前記カメラトラッキング処理が中断した場合である、
    請求項1に記載のカメラトラッキング装置。
  3. 前記基準画像選択部は、前記記憶部に記憶された前記各基準画像の中から前記カメラの撮影した撮影画像に類似すると判断した基準画像を前記所定の基準画像として一つ選択する第1選択部を備える、
    請求項2に記載のカメラトラッキング装置。
  4. 前記基準画像選択部は、前記記憶部に記憶された前記各基準画像の中から前記カメラの撮影した撮影画像に類似すると判断した基準画像候補を複数選択し、前記複数の基準画像候補をユーザに提示し、前記複数の基準画像候補のうちユーザにより指定された一つの基準画像候補を前記所定の基準画像として選択する第2選択部を備える、
    請求項2に記載のカメラトラッキング装置。
  5. 前記第2選択部は、前記カメラトラッキング処理が中断する直前における前記カメラの位置および姿勢に基づいて、前記記憶部に記憶された前記各基準画像の中から前記基準画像候補を少なくとも一つ選択する、
    請求項4に記載のカメラトラッキング装置。
  6. 前記基準画像選択部は、
    前記記憶部に記憶された前記各基準画像の中から前記カメラの撮影した撮影画像に類似すると判断した基準画像を前記所定の基準画像として一つ選択する第1選択部と、
    前記記憶部に記憶された前記各基準画像の中から前記カメラの撮影した撮影画像に類似すると判断した基準画像候補を複数選択し、前記複数の基準画像の候補をユーザに提示し、前記複数の基準画像の候補のうちユーザにより指定された基準画像の候補を前記所定の基準画像として選択する第2選択部とを備え、
    所定の条件に従って、前記第1選択部と前記第2選択部とを切替使用する、
    請求項2に記載のカメラトラッキング装置。
  7. 前記所定の条件とは、前記第1選択部を使用して選択された前記所定の基準画像と前記カメラで撮影した撮影画像とが一致しない場合であり、前記第1選択部を使用して選択された前記所定の基準画像と前記カメラで撮影した撮影画像とが一致しない場合には、前記第1選択部から前記第2選択部へ切り替える、
    請求項6に記載のカメラトラッキング装置。
  8. 前記重畳表示部は、前記カメラから周期的に取り込まれる前記撮影画像と前記所定の基準画像とをリアルタイムで重畳表示することで前記撮影画像と前記所定の基準画像との位置調整を支援する第1調整モードを備える、
    請求項1〜7のいずれか一項に記載のカメラトラッキング装置。
  9. 前記重畳表示部は、前記所定の基準画像を画面内で操作することで前記撮影画像と前記所定の基準画像との位置調整を支援する第2調整モードを備える、
    請求項1〜7のいずれか一項に記載のカメラトラッキング装置。
  10. 前記第2調整モードでは、前記撮影画像上に指定される第1特徴点と、前記所定の基準画像上に指定される第2特徴点とが一致するように前記所定の基準画像を操作する、
    請求項9に記載のカメラトラッキング装置。
  11. 前記所定のタイミングは、前記カメラトラッキング処理の初期化時である、
    請求項1に記載のカメラトラッキング装置。
  12. 現実空間と3次元モデル空間を位置合わせするカメラトラッキング方法であって、
    カメラの撮影した撮影画像と撮影時の位置および姿勢に関する情報とを対応付けて構成され、3次元モデル空間における画像データとして形成される基準画像を記憶部に予め複数記憶するステップと、
    所定のタイミングが到来すると、前記記憶部に記憶された前記各基準画像の中から前記カメラの撮影した撮影画像に類似する所定の基準画像を選択するステップと、
    前記撮影画像と前記所定の基準画像とを重畳して表示するステップと、
    前記重畳表示部により重畳表示される前記撮影画像と前記所定の基準画像とが一致するか否か判定するステップと、
    重畳表示される前記撮影画像と前記所定の基準画像とが一致すると判定した場合は、カメラトラッキング処理の実行を指示するステップと、
    を備えるカメラトラッキング方法。
JP2016142026A 2016-07-20 2016-07-20 カメラトラッキング装置および方法 Pending JP2018014579A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016142026A JP2018014579A (ja) 2016-07-20 2016-07-20 カメラトラッキング装置および方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016142026A JP2018014579A (ja) 2016-07-20 2016-07-20 カメラトラッキング装置および方法

Publications (1)

Publication Number Publication Date
JP2018014579A true JP2018014579A (ja) 2018-01-25

Family

ID=61021282

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016142026A Pending JP2018014579A (ja) 2016-07-20 2016-07-20 カメラトラッキング装置および方法

Country Status (1)

Country Link
JP (1) JP2018014579A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019212138A (ja) * 2018-06-07 2019-12-12 コニカミノルタ株式会社 画像処理装置、画像処理方法及びプログラム
WO2020133204A1 (en) * 2018-12-28 2020-07-02 Qualcomm Incorporated Apparatus and method to correct the angle and location of the camera
JP2021520668A (ja) * 2018-03-28 2021-08-19 テレフオンアクチーボラゲット エルエム エリクソン(パブル) ヘッドマウントディスプレイおよびその方法
WO2021176947A1 (ja) * 2020-03-06 2021-09-10 ソニーグループ株式会社 情報処理装置、及び情報処理方法
JP2023045010A (ja) * 2021-09-21 2023-04-03 シンメトリー・ディメンションズ・インク 情報処理システム、及び、情報処理方法
US11967107B2 (en) 2020-03-24 2024-04-23 Canon Kabushiki Kaisha Information processing apparatus and method of estimating position and orientation of image capturing apparatus

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004227332A (ja) * 2003-01-23 2004-08-12 Hitachi Ltd 情報表示方法
JP2006033449A (ja) * 2004-07-16 2006-02-02 Nippon Hoso Kyokai <Nhk> カメラパラメータ算出較正装置およびカメラパラメータ算出較正プログラム
JP2008153998A (ja) * 2006-12-18 2008-07-03 Nikon Corp 電子カメラ
JP2010279023A (ja) * 2009-04-30 2010-12-09 Canon Inc 情報処理装置およびその制御方法
JP2012252477A (ja) * 2011-06-02 2012-12-20 Hitachi Ltd 画像検索装置及び画像検索システム
JP2014511591A (ja) * 2011-01-31 2014-05-15 マイクロソフト コーポレーション 奥行きマップを使用したモバイルカメラの自己位置推定
JP2014155086A (ja) * 2013-02-12 2014-08-25 Hitachi Ltd 画角調整装置および画角調整方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004227332A (ja) * 2003-01-23 2004-08-12 Hitachi Ltd 情報表示方法
JP2006033449A (ja) * 2004-07-16 2006-02-02 Nippon Hoso Kyokai <Nhk> カメラパラメータ算出較正装置およびカメラパラメータ算出較正プログラム
JP2008153998A (ja) * 2006-12-18 2008-07-03 Nikon Corp 電子カメラ
JP2010279023A (ja) * 2009-04-30 2010-12-09 Canon Inc 情報処理装置およびその制御方法
JP2014511591A (ja) * 2011-01-31 2014-05-15 マイクロソフト コーポレーション 奥行きマップを使用したモバイルカメラの自己位置推定
JP2012252477A (ja) * 2011-06-02 2012-12-20 Hitachi Ltd 画像検索装置及び画像検索システム
JP2014155086A (ja) * 2013-02-12 2014-08-25 Hitachi Ltd 画角調整装置および画角調整方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021520668A (ja) * 2018-03-28 2021-08-19 テレフオンアクチーボラゲット エルエム エリクソン(パブル) ヘッドマウントディスプレイおよびその方法
JP6993516B2 (ja) 2018-03-28 2022-01-13 テレフオンアクチーボラゲット エルエム エリクソン(パブル) ヘッドマウントディスプレイおよびその方法
JP2019212138A (ja) * 2018-06-07 2019-12-12 コニカミノルタ株式会社 画像処理装置、画像処理方法及びプログラム
WO2020133204A1 (en) * 2018-12-28 2020-07-02 Qualcomm Incorporated Apparatus and method to correct the angle and location of the camera
WO2021176947A1 (ja) * 2020-03-06 2021-09-10 ソニーグループ株式会社 情報処理装置、及び情報処理方法
US11967107B2 (en) 2020-03-24 2024-04-23 Canon Kabushiki Kaisha Information processing apparatus and method of estimating position and orientation of image capturing apparatus
JP7500238B2 (ja) 2020-03-24 2024-06-17 キヤノン株式会社 情報処理装置、情報処理方法、およびプログラム
JP2023045010A (ja) * 2021-09-21 2023-04-03 シンメトリー・ディメンションズ・インク 情報処理システム、及び、情報処理方法

Similar Documents

Publication Publication Date Title
JP2018014579A (ja) カメラトラッキング装置および方法
US20200267371A1 (en) Handheld portable optical scanner and method of using
CN103140879B (zh) 信息呈现装置、数字照相机、头戴式显示器、投影仪、信息呈现方法和信息呈现程序
JP4804256B2 (ja) 情報処理方法
CN110047104A (zh) 对象检测和跟踪方法、头戴式显示装置和存储介质
US20150125045A1 (en) Environment Mapping with Automatic Motion Model Selection
US20200097732A1 (en) Markerless Human Movement Tracking in Virtual Simulation
CN111127524A (zh) 一种轨迹跟踪与三维重建方法、系统及装置
KR20150013709A (ko) 컴퓨터 생성된 3d 객체들 및 필름 카메라로부터의 비디오 공급을 실시간으로 믹싱 또는 합성하기 위한 시스템
US10380758B2 (en) Method for tracking subject head position from monocular-source image sequence
US10785469B2 (en) Generation apparatus and method for generating a virtual viewpoint image
WO2014172484A1 (en) Handheld portable optical scanner and method of using
WO2023056544A1 (en) Object and camera localization system and localization method for mapping of the real world
JP2011085971A (ja) 画像処理装置、画像処理方法、画像処理プログラム、記録媒体及び画像処理システム
Oskiper et al. Augmented reality binoculars
US20160210761A1 (en) 3d reconstruction
JP6894707B2 (ja) 情報処理装置およびその制御方法、プログラム
JP2016006589A (ja) 表示装置、制御プログラム、および制御方法
JP2005256232A (ja) 3dデータ表示方法、装置、およびプログラム
Brunetto et al. Fusion of inertial and visual measurements for rgb-d slam on mobile devices
US20240078701A1 (en) Location determination and mapping with 3d line junctions
JP7095628B2 (ja) 座標系変換パラメータ推定装置、方法及びプログラム
CN114882106A (zh) 位姿确定方法和装置、设备、介质
US20200211275A1 (en) Information processing device, information processing method, and recording medium
US10977810B2 (en) Camera motion estimation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190820

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191001

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200602

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200731

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210105