JP2017156162A - 情報処理装置、情報処理方法、及びプログラム - Google Patents

情報処理装置、情報処理方法、及びプログラム Download PDF

Info

Publication number
JP2017156162A
JP2017156162A JP2016038042A JP2016038042A JP2017156162A JP 2017156162 A JP2017156162 A JP 2017156162A JP 2016038042 A JP2016038042 A JP 2016038042A JP 2016038042 A JP2016038042 A JP 2016038042A JP 2017156162 A JP2017156162 A JP 2017156162A
Authority
JP
Japan
Prior art keywords
key frame
image
orientation
data
imaging device
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.)
Granted
Application number
JP2016038042A
Other languages
English (en)
Other versions
JP6775969B2 (ja
JP2017156162A5 (ja
Inventor
小竹 大輔
Daisuke Kotake
大輔 小竹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2016038042A priority Critical patent/JP6775969B2/ja
Priority to US15/441,086 priority patent/US10643347B2/en
Publication of JP2017156162A publication Critical patent/JP2017156162A/ja
Publication of JP2017156162A5 publication Critical patent/JP2017156162A5/ja
Application granted granted Critical
Publication of JP6775969B2 publication Critical patent/JP6775969B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • G06T2207/10021Stereoscopic video; Stereoscopic image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20004Adaptive image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Abstract

【課題】 撮像装置が決められた範囲から外れてしまう場合でも位置及び姿勢計測の精度や安定性を保つ。
【解決手段】 情報処理装置に、撮像された画像と、撮像装置の位置及び姿勢と、空間中の幾何特徴の三次元情報とを対応付けたキーフレームのデータを、複数のキーフレームについて保持する手段と、保持された複数のキーフレームのデータと、入力された画像とに基づいて、撮像装置の位置及び姿勢を導出する手段と、前記位置及び姿勢に基づいて、前記複数のキーフレームのデータから選択されたキーフレームのデータにおける幾何特徴の三次元情報を、前記入力された画像を撮像したときの撮像装置を基準とする座標系の三次元情報に変換して新たなキーフレームのデータを生成する手段と、生成されたキーフレームのデータを追加して複数のキーフレームのデータを更新する手段とを備える。
【選択図】 図2

Description

本発明は、撮像装置の位置及び姿勢を計測する方法に関する。
画像情報に基づく撮像装置の位置及び姿勢の計測は、複合現実感/拡張現実感における現実空間と仮想物体の位置合わせ、ロボットや自動車の自己位置推定、物体や空間の三次元モデリングなど様々な目的で利用される。
非特許文献1では、画像から検出される特徴点を用いて画像撮像時の撮像装置の位置及び姿勢を計測する方法が開示されている。この方法では、シーン中に規定された世界座標系における特徴点の三次元座標とともに、仮想的に設定された複数の視点(以下、仮想視点と呼ぶ)において観察可能な特徴点の情報を予め三次元マップとして保持している。撮像装置が撮像した画像が入力されると、撮像画像から検出される特徴点に対応する三次元マップ中の特徴点を各仮想視点が保持する特徴点の情報をもとに探索し、特徴点の画像座標と三次元座標との対応をもとに撮像装置の位置及び姿勢を算出する。
A.Wendel,A.Irschara,and H.Bischof, "Natural landmark−based monocular localization for MAVs," Proc. 2011 IEEE International Conference on Robotics and Automation (ICRA 2011), pp.5792−5799, 2011.
非特許文献1では、シーン中の予め決められた範囲内に仮想視点を配置するため、撮像装置がその範囲から外れてしまう場合には、位置及び姿勢計測の精度や安定性を損ねてしまうことがある。
本発明の1態様によれば、情報処理装置に、撮像された画像と、該画像を撮像したときの撮像装置の位置及び姿勢と、空間中の幾何特徴の三次元情報とを対応付けたキーフレームのデータを、複数のキーフレームについて保持する保持手段と、撮像装置により撮像された画像を入力する入力手段と、前記保持手段に保持された複数のキーフレームのデータと、前記入力手段により入力された画像とに基づいて、該画像を撮像した撮像装置の位置及び姿勢を導出する導出手段と、導出された前記位置及び姿勢に基づいて、前記複数のキーフレームのデータから1つ以上のキーフレームのデータを選択する選択手段と、選択された前記キーフレームのデータにおける幾何特徴の三次元情報を、前記入力された画像を撮像したときの撮像装置を基準とする座標系の三次元情報に変換して新たなキーフレームのデータを生成する生成手段と、生成された前記キーフレームのデータを追加して前記複数のキーフレームのデータを更新する更新手段とを備える。
本発明によれば、撮像装置があらかじめ仮想視点が生成された範囲から外れた場合であっても、精度や安定性を損ねることなく位置及び姿勢の計測ができる。
本実施形態における情報処理装置のハードウェア構成図である。 第1の実施形態における情報処理装置の機能構成を示す図である。 第1の実施形態における位置及び姿勢の導出、三次元マップ更新の処理手順を示すフローチャートである。 位置及び姿勢の導出処理における処理手順を示すフローチャートである。 三次元マップ更新処理における処理手順を示すフローチャートである。 第1の実施形態における仮想キーフレームの生成の処理手順を示すフローチャートである。 変形例における仮想キーフレーム生成の処理手順を示すフローチャートである。 本実施形態における現実空間の三次元マップを示す図である。 三次元マップ表示部が表示する画面の一例を示す図である。
本発明にかかる各実施形態を説明するのに先立ち、各実施形態に示す情報処理装置が実装されるハードウェア構成について、図1を用いて説明する。
図1は、本実施形態における情報処理装置のハードウェア構成図である。同図において、CPU110は、バス100を介して接続する各デバイスを統括的に制御する。CPU110は、読み出し専用メモリ(ROM)120に記憶された処理ステップやプログラムを読み出して実行する。オペレーティングシステム(OS)をはじめ、本実施形態に係る各処理プログラム、デバイスドライバ等はROM120に記憶されており、ランダムアクセスメモリ(RAM)130に一時記憶され、CPU110によって適宜実行される。また、入力I/F140は、外部の装置(表示装置や操作装置など)から情報処理装置1で処理可能な形式で入力信号として入力する。また、出力I/F150は、外部の装置(表示装置)へ表示装置が処理可能な形式で出力信号として出力する。
(第1の実施形態)
第1の実施形態では、複合現実感システムにおける現実空間と仮想物体との位置合わせ、すなわち仮想物体の描画に利用するための現実空間における撮像装置(カメラ)の位置及び姿勢の計測に本発明の方法を適用した場合について説明する。複合現実感を体験するユーザは、頭部装着型表示装置HMD(Head−Mounted Display)を装着し、HMDを通して仮想物体が重畳された現実空間を観察するものとする。HMDには撮像装置としてステレオカメラが搭載されており、ステレオカメラが撮像した画像上にステレオカメラの現実空間における位置及び姿勢に基づいて描画された仮想物体が重畳されてユーザに提示される。撮像装置の位置及び姿勢の計測に利用する現実空間中の特徴点の三次元マップは事前に生成しておき、体験時には撮像装置が撮像した画像と三次元マップを用いて撮像装置の位置及び姿勢の計測を算出する。
本実施形態では、複合現実感の体験中に撮像された画像を三次元マップにキーフレームとして追加し、以後の位置及び姿勢計測で利用できるようにする。これにより、予め生成された三次元マップによって位置及び姿勢の計測が可能な範囲から撮像装置が外れる場合であっても精度や安定性を損なわずに位置及び姿勢の計測ができるようになる。キーフレームについては後述する。
本実施形態における撮像装置の位置及び姿勢とは、現実空間中に規定された世界座標系における撮像装置の位置を表す3パラメータ、及び撮像装置の姿勢を表す3パラメータを合わせた6パラメータのことを表す。ここでは、姿勢は回転軸と回転角によって表すものとし、姿勢を表す3パラメータは回転軸の傾きを表す2パラメータと該回転軸まわりの回転角を表す1パラメータであるとする。本実施形態では、特に断りがない限りステレオカメラのうち左側のカメラの位置及び姿勢を撮像装置の位置及び姿勢と呼ぶ。また、撮像装置の光軸をZ軸、画像の水平方向をX軸、垂直方向をY軸とする撮像装置上に規定される三次元の座標系を撮像装置座標系と呼ぶ。
図2は、本実施形態における情報処理装置1の構成を示す図である。情報処理装置1は、三次元情報保持部10、画像入力部20、位置姿勢導出部30、三次元マップ更新部40から構成されている。画像入力部20はHMDに搭載されている撮像部50と接続されている。撮像装置50はステレオカメラである。画像入力部20、位置姿勢導出部30は画像合成部60と接続されている。画像合成部60は表示部70と接続されている。
三次元情報保持部10は、位置姿勢導出部30で利用する現実空間の三次元マップを保持する。図8に示すように、本実施形態では、現実空間の三次元マップはキーフレーム(keyframe)の集合として保持されるものとする。キーフレームは、撮像装置が撮像した撮像画像(濃淡画像)I、撮像画像と同じ画像サイズのデプスマップD、分散マップVを対応付けて保持するものとする。デプスマップDの各画素には、撮像装置から見た奥行きの逆数、すなわち撮像座標系におけるZ座標の逆数が保持されているものとする。分散マップVの各画素には、撮像装置から見た奥行きの逆数の分散が保持されているものとする。
以下では、I(u,v)により画像座標(u,v)における画素の輝度値を、D(u,v)により画像座標(u,v)における画素の奥行きの逆数をそれぞれ参照するものとする。また、V(u,v)により画像座標(u,v)における画素の奥行きの逆数の分散を参照するものとする。なおD(u,v)に0が登録されている画素は無効な点として位置及び姿勢の導出に利用されないものとする。さらにキーフレームは、画像撮像時の撮像装置の世界座標系における位置及び姿勢を持つものとする。
以下では、この位置及び姿勢を「キーフレームの位置及び姿勢」と呼ぶ。撮像装置が撮像する画像がカラー画像である場合には濃淡画像に変換して保持する。図8に示すように、三次元情報保持部10は、キーフレームとして実キーフレーム及び仮想キーフレームの2種類のキーフレームを保持する。実キーフレームは、ユーザが複合現実感を体験する前に予め生成しておく。
本実施形態では、Engelらの方法(J.Engel,J.Stuckler(uはウムラウトつき),D.Cremers,“Large−Scale Direct SLAM with Stereo Cameras,” Proc.2015 IEEE/RSJ International Conference on Intelligent Robots and Systems,pp.1935−1942,2015.)を用いる。これにより事前の三次元マップ生成を行い、実キーフレームを生成するものとする。
Engelらの方法では、濃淡画像上の画素のうち輝度勾配が大きい画素のみ奥行き値がデプスマップDに登録される。一方仮想キーフレームは、ユーザが複合現実感を体験する際に生成されるキーフレームである。仮想キーフレームの生成方法は後述する。
画像入力部20は、ステレオカメラ50が撮像する画像を位置姿勢導出部30に入力する。本実施形態では、撮像画像に仮想物体を重畳してHMDに表示するため、ステレオカメラ50が撮像する画像はカラー画像であるとする。カラー画像が入力される場合には濃淡画像に変換する。なお、ロボットや自動車の自己位置推定のように撮像画像がカラーである必要がない場合には、入力する画像は濃淡画像であってもよい。
画像入力部20は、ステレオカメラ50から時系列(例えば毎秒30フレーム)に画像を入力し、情報処理装置1は画像入力部20から入力される各々のステレオ画像を撮像した時の世界座標系におけるステレオカメラの位置及び姿勢を計測する。以下では、情報処理装置1に入力された最新の画像を現フレームと呼ぶ。また、現フレームの直前に入力された画像を前フレームと呼ぶ。
ステレオカメラ50を構成する二台のカメラの内部パラメータ(焦点距離f(画像の水平方向)、f(画像の垂直方向)、画像中心位置c(画像の水平方向)、c(画像の垂直方向)、レンズ歪みパラメータ)は既知であるとする。簡単のため、本実施形態では二台のカメラの内部パラメータは共通であるとする。
カメラの内部パラメータは、例えばZhangの方法(Z.Zhang,“A flexible new technique for camera calibration,” IEEE Trans. on Pattern Analysis and Machine Intelligence,vol.22,no.11,pp.1330−1334,2000.)によって事前に校正する。
また、ステレオカメラ50を構成する二台のカメラ間の相対的な位置及び姿勢(以下、外部パラメータと呼ぶ)も既知であるとする。ステレオカメラの外部パラメータは、例えば三次元形状が既知のパターンを同時に左右のカメラで撮像してパターンを基準とした各カメラの位置及び姿勢を求め、夫々の位置及び姿勢をステレオカメラの左側カメラを基準とした位置及び姿勢に変換して求める。ステレオカメラ50の内部パラメータと外部パラメータは不図示の記憶手段に保持されるものとする。
位置姿勢導出部30は、画像入力部20によって入力された画像、三次元情報保持部10が保持する三次元マップに基づいて世界座標系におけるステレオカメラの位置及び姿勢を導出する。位置及び姿勢の導出方法については後述する。
三次元マップ更新部40は、撮像画像及び位置姿勢導出部30によって導出されたステレオカメラの位置及び姿勢を用いて仮想キーフレームを生成し、三次元マップに追加する。仮想キーフレームの生成方法については後述する。生成された仮想キーフレームは、予め三次元マップに保持されていた実キーフレームとともにステレオカメラの位置及び姿勢の導出に利用される。
画像合成部60は、位置姿勢導出部30が導出したステレオカメラの位置及び姿勢とステレオカメラの内部・外部パラメータを用いて仮想物体のCG画像をレンダリングし、撮像されたステレオ画像上に重畳した画像を合成する。
表示部70はHMDであり、画像合成部60が合成した画像を表示する。本実施形態ではHMDはステレオHMDであり、左右の表示デバイスに異なる画像を表示することでユーザによる現実空間と仮想物体の立体視が可能であるものとする。
これらの各機能部は、CPU110が、ROM120に格納されたプログラムをRAM130に展開し、後述する各フローチャートに従った処理を実行することで実現されている。また例えば、CPU110を用いたソフトウェア処理の代替としてハードウェアを構成する場合には、ここで説明する各機能部の処理に対応させた演算部や回路を構成すればよい。
次に、本実施形態における位置及び姿勢の導出、三次元マップ更新の処理手順について説明する。図3は、本実施形態における位置及び姿勢の導出、三次元マップ更新の処理手順を示すフローチャートである。
ステップS1000では、システムの初期化を行う。システムの初期化では、不図示の記憶装置から三次元マップを三次元情報保持部10に読み込む。また、位置姿勢導出部30は未計測フラグFをTRUEに設定する。未計測フラグFがTRUEであることはステレオカメラの位置及び姿勢が不明であることを意味する。
ステップS1010では、画像入力部20は、ステレオカメラ50が撮像したステレオ画像を入力する。本実施形態ではステレオカメラはカラー画像を撮像するため、入力されたカラー画像を濃淡画像に変換し、さらに左右のカメラの内部パラメータを用いてレンズ歪みの影響を除去した画像に変換する。
ステップS1020では、画像入力部20によって入力されたステレオ画像、三次元情報保持部10が保持する三次元マップに基づいてステレオカメラの位置及び姿勢を導出する。位置及び姿勢の導出方法については後述する。
ステップS1030では、必要に応じて仮想キーフレームを追加することで三次元マップの更新を行う。三次元マップの更新方法については後述する。
ステップS1040では、ステップS1050で導出した撮像装置の位置及び姿勢を用いて仮想物体のCG画像をレンダリングし、ステレオ画像の各画像に重畳合成してHMDの表示部に表示する。
ステップS1050では、システムを終了するか否かの判定を行う。マウスやキーボードなどを介してユーザからシステムを終了するコマンドが入力されている場合にはシステムを終了し、さもなければステップS1020に戻り位置及び姿勢の計測処理を継続する。
(位置及び姿勢の導出処理の詳細)
次に、ステップS1020における位置及び姿勢の導出処理について詳細に説明する。図4は、ステップS1020における処理手順を示すフローチャートである。
ステップS1110において未計測フラグFがTRUEであればステップS1120に進んでリローカライゼーション(relocalization)を行い、さもなければステップS1130に進む。
ステップS1120では、リローカライゼーションを行う。入力された画像に基づいて初期化処理を行って撮像装置の位置及び姿勢を導出する。リローカライゼーションとは、位置及び姿勢に関する事前情報(例えば前フレームでの撮像装置の位置及び姿勢)なしに撮像装置の位置及び姿勢を求める処理のことである。リローカライゼーションはシステム起動時と、システム動作中に位置及び姿勢の計測に失敗した場合に行う。リローカライゼーションに成功したら、未計測フラグFをFALSEに変更してステップS1130に進む。リローカライゼーションで得られる撮像装置の位置及び姿勢は概略の位置及び姿勢であることが多いため、さらにステップS1130以降で高精度な位置及び姿勢を導出する。リローカライゼーションの詳細については後述する。
ステップS1130では、位置姿勢導出部30は、現フレームの位置及び姿勢の予測値に最も近い位置及び姿勢を保持するキーフレーム(以下、最近傍キーフレーム)を実キーフレーム、仮想キーフレームの中から選択する。このキーフレーム選択において、現フレームの位置及び姿勢の予測値としては、前フレームで導出された位置及び姿勢を用いる。なお、前フレームでの位置及び姿勢の導出に失敗し、現フレームでリローカライゼーションを行った場合は、リローカライゼーションで得られた位置及び姿勢を現在の位置及び姿勢の予測値とする。
本実施形態では、予測値の姿勢との差が閾値Tr以内の姿勢を保持するキーフレームのうち、予測値の位置との差が最小となる位置を保持するキーフレームを最近傍キーフレームとして選択する。本実施形態では、予測値の姿勢との差を、姿勢の予測値とキーフレームが保持する姿勢との相対姿勢を回転軸・回転角で表した時の回転角であるとする。予測値の姿勢との差がTr以内の姿勢を保持するキーフレームがない場合は閾値Trを増やして再度選択する。閾値Trを増やしても見つからない場合、前フレームで用いたキーフレームを利用する。
ステップS1140では、位置姿勢導出部30は、ステップS1130で選択したキーフレームから、位置及び姿勢の導出に利用する特徴点を選択する。ここで「特徴点」とは、選択されたキーフレームのデプスマップDにおいて有効な値が登録されている画素のことを表すものとする。またこれらの特徴点のことを「キーフレーム上の特徴点」と呼ぶ。複合現実感システムには実時間処理が要求されるため、位置及び姿勢の導出に利用できる時間は限られている。また、位置及び姿勢の導出にかかる時間は位置及び姿勢の導出に利用する特徴点の個数に依存する。そのため、予め位置及び姿勢の導出に利用する特徴点の個数の最大値Pmaxを定めておき、選択したキーフレームから最大Pmax個の特徴点を選択することで実時間での位置及び姿勢の導出を行えるようにする。なお、キーフレーム上の特徴点の数がPmaxより小さい場合には全ての特徴点を選択し利用することで、定められた最大の個数以内の特徴点を使用するようにする。
ステップS1150では、位置姿勢導出部30は、ステップS1140で選択された特徴点を用いて位置及び姿勢の予測値の修正を行う。本実施形態では、前述のEngelらの方法と同様の方法により位置及び姿勢の導出を行う。すなわち、導出対象である位置及び姿勢を用いて特徴点の画像上での位置を算出した時に、算出された位置の入力画像上の輝度値とキーフレームの濃淡画像上での輝度値との誤差が小さくなるように位置及び姿勢の予測値を修正する。
ステップS1160では、位置姿勢導出部30は、位置及び姿勢導出の収束判定を行う。収束判定は、例えば前述の輝度値の誤差が十分小さくなったかどうかに基づき行う(例えば、誤差が閾値よりも小さくなったかどうかに基づいて判断する)。また、例えば一つ前の繰返しステップ後の誤差と現繰返しステップ後の誤差の差分値が閾値よりも小さくなったかどうかに基づいて判断してもよい。収束したと判断されたら図4のフローチャートの処理を終了する。収束していないと判断された場合、ステップS1150に処理を戻す。なお、ステップS1160では、さらに位置及び姿勢の導出の失敗判定を行ってもよい。位置及び姿勢の導出の失敗判定は、例えば位置及び姿勢の導出に用いる評価関数の値をもとに行う。位置及び姿勢の導出に失敗していると判断された場合には未計測フラグFをTRUEに設定する。
(リローカライゼーション処理の詳細)
本実施形態では、Kleinらの方法(G.Klein,D.Murray,“Improving the Agility of Keyframe−Based SLAM,” Proc.10th European Conference on Computer Vision,vol.2,pp.802−815,2008.)によりリローカライゼーションを行う。
Kleinらの方法では、入力画像の各画素の輝度値と三次元マップが持つ各キーフレームの濃淡画像の各画素の輝度値とを比較し、最も差が小さいキーフレームが保持する撮像装置の位置及び姿勢を入力画像撮像時の撮像装置の位置及び姿勢とする。
本実施形態では、予め生成された実キーフレームだけでなく複合現実感体験時に生成された仮想キーフレームも比較の対象とすることで、リローカライゼーション可能な範囲を拡大する。なお、リローカライゼーションを高速に行うため、キーフレーム画像は予め所定のサイズに縮小しておき、入力画像も同じサイズに縮小して比較を行う。比較の尺度としては輝度差の二乗和を利用し、輝度差の二乗和が所定の閾値以下の場合にリローカライゼーションに成功したものとする。リローカライゼーションに失敗した場合には次に入力される画像を用いて再度リローカライゼーションを行う。
(三次元マップの更新処理の詳細)
次に、ステップS1030における三次元マップの更新方法について詳細に説明する。図5は、ステップS1030における処理手順を示すフローチャートである。
ステップS1210では、ステップS1020で導出された位置及び姿勢に最も近い位置及び姿勢を保持するキーフレーム(最近傍キーフレーム)を実キーフレームの中から選択する。最近傍キーフレームの選択はステップS1130と同一の方法により行う。
ステップS1220では、ステップS1020で導出された現フレーム撮像時の撮像装置の位置と最近傍キーフレーム撮像時の撮像装置の位置の差をもとに仮想キーフレームの追加の判断を行う。具体的には、ステップS1020で導出された位置と最近傍キーフレームとの位置との距離算出を行い、距離distが閾値Tt以上であればステップS1240に進み仮想キーフレームを追加する。さもなければステップS1230に進みステップS1220とは異なる指標で仮想キーフレーム追加の判断を行う。
ステップS1230では、最近傍キーフレームと現フレームの間に十分なオーバーラップがあるかに基づいて仮想キーフレームの追加判断を行う。具体的には、最近傍キーフレーム上の全ての特徴点を現フレームの画像に投影したときに、画像内部に投影される特徴点の割合算出を行い、割合が閾値Tp未満であれば、仮想キーフレームを追加すると判断する。ここで現フレームの画像とは、ステレオカメラの左側カメラの画像であるとする。
ここでは、最近傍キーフレーム上の各特徴点について次に示す処理を行うことで現フレームの画像内部に投影されるか判断する。処理対象の特徴点の最近傍キーフレーム上の画像座標を(u,v)とする。まず、デプスマップDを参照して該特徴点の奥行きZの逆数1/Zを読み出す。次に画像座標(u,v)とカメラの内部パラメータ(f、f、c、c)を用いて該特徴点の最近傍キーフレームの撮像装置座標系における三次元座標(X,Y,Z)を算出する。(X,Y,Z)は数1により算出する。
Figure 2017156162

次に、数2により最近傍キーフレームの撮像装置座標系における三次元座標(X,Y,Z)を現フレームの撮像装置座標系における三次元座標(X,Y,Z)に変換する。
Figure 2017156162

ここでtwk、Rwkはそれぞれ世界座標系における最近傍キーフレームの位置を表す3次元ベクトル、姿勢を表す3×3回転行列である。また、twc、Rwcはそれぞれ世界座標系における現フレーム撮像時の撮像装置の位置を表す3次元ベクトル、姿勢を表す3×3回転行列である。次に、数3により現フレームの撮像装置座標系における三次元座標(X,Y,Z)を現フレームの画像座標(u,v)に変換する。
Figure 2017156162

このようにして算出される画像座標(u,v)が現フレームの画像内部にある特徴点の割合Rpを算出する。割合Rpが閾値Tp未満の場合には最近傍キーフレームと現フレームとの間のオーバーラップが不十分であるため、位置及び姿勢計測の精度や安定性が低下しないように、ステップS1240に進んで仮想キーフレームを追加する。さもなければ処理を終了する。なおステップS1230の処理は、ステップS1220の処理よりも時間がかかるため、ステップS1220で仮想キーフレームを追加しないと判断した場合にのみステップS1230で追加判断を行っている。
ステップS1240では、仮想キーフレームの生成を行う。ステップS1240における仮想キーフレームの生成処理の詳細については後述する。
ステップS1250では、生成した仮想キーフレーム(現フレームの濃淡画像、デプスマップ、分散マップ、画像撮像時の撮像装置の位置及び姿勢)を三次元情報保持手段10が保持する三次元マップに追加し、図5のフローチャートの処理を終了する。
(仮想キーフレーム生成処理の詳細)
図6は仮想キーフレームの生成(ステップS1240)の処理手順を示すフローチャートである。ステップS1210で選択された最近傍キーフレームが保持する特徴点の数をNpとする。
ステップS1310では、仮想キーフレームの初期化を行う。具体的には、仮想キーフレームが保持するデプスマップの各画素の奥行きの逆数の値を0に、分散マップの各画素の奥行きの逆数の分散の値を所定のデフォルト値に設定する。ステップS1320では、最近傍キーフレーム上の特徴点を指定する変数iを1にセットする。
ステップS1330では、最近傍キーフレームのi番目の特徴点の現フレームの撮像装置座標系における三次元座標(X,Y,Z)及び現フレームの画像座標(u,v)をステップS1230で述べた方法により座標算出を行う。なお、ステップS1230で算出した値を保持しておき、ステップS1330ではその値を流用してもよい。
ステップS1340では、S1330で画像座標を算出した特徴点を仮想キーフレームに追加するか否かの判定を行う。本実施形態では
(1)(u,v)が現フレームの画像内部にあり、
(2)かつ奥行きZが予め設定される奥行きの上限値・下限値の間にあり、
(3)かつ現フレームの画像座標(u,v)における特性が所定の条件を満たす
場合に特徴点を仮想キーフレームに追加する。
本実施形態では、前述の特性として画像上での輝度値を利用する。ここでは、処理対象の特徴点の最近傍キーフレームの濃淡画像上での輝度値と、現フレームの濃淡画像の画像座標(u,v)における輝度値の差が予め決められた閾値Ti未満であることを(3)の条件とする。
特徴点の画像座標(u,v)が整数値である場合には該当する画素の輝度値を比較に利用する。画像座標が整数値でない場合には、周辺の画素の輝度値から線形補間により算出した輝度値を比較に利用する。本ステップで特徴点を追加すると判断された場合、ステップS1350に進み、さもなければステップS1360に進む。
ステップS1350では、仮想キーフレーム画像に特徴点を追加する。まず、現フレームにおける画像座標(u,v)を四捨五入により整数化((uc’,vc’))し、該当する画素の奥行きの逆数の値D(uc’,vc’)を参照する。
(A)D(uc’,vc’)が0の場合には、ステップS1330で算出した現フレームの撮像装置座標系を基準とした奥行き値Zの逆数をD(uc’,vc’)に登録する。また分散マップのV(uc’,vc’)には最近傍キーフレームにおける該特徴点の分散から算出される分散を登録する。
(B)D(uc’,vc’)が0以外の場合、すなわち別の特徴点によって該当画素のデプスマップ、分散マップが更新されている場合、以下のようにする。すなわち1/ZがD(uc’,vc’)の1σの範囲内にある場合には確率的に同じ点とみなして分散の逆数を重みとした1/Zの加重平均をD(uc’,vc’)に登録する。V(uc’,vc’)にも同様に分散の加重平均を登録する。1/Zが1σの範囲外でかつD(uc’,vc’)より大きい(すなわち手前にある)場合には、1/ZでD(uc’,vc’)を上書きする。V(uc’,vc’)には最近傍キーフレームにおける該特徴点の分散から算出される分散を登録する。
ステップS1360では、iに1を加算しステップS1370に進む。ステップS1370では、iがNpより大きい場合には全ての特徴点に対する処理を完了したと判断し、ステップS1380に進む。さもなければステップS1330に戻り仮想キーフレームの生成処理を継続する。
以上述べたように第1の実施形態では、複合現実感の体験中に撮像装置によって撮像された画像を仮想キーフレームとして三次元マップに追加することで、精度や安定性を損なわずに位置及び姿勢の計測が可能な範囲を広げることができる。
(第1の実施形態バリエーション)
なお、画像を撮像する撮像装置はステレオカメラに限るものではなく、現実空間の画像を撮像するカメラであれば何でもよい。例えば、単眼カメラであってもよいし、リジッドに固定されてカメラ間の相対的な位置及び姿勢が既知な三台以上のカメラであってもよい。また、撮像装置はカラー画像を撮像するカメラに限るものではなく、濃淡画像を撮像するカメラであってもよい。また、特徴点を仮想キーフレームに追加するか否かの判定に用いる特性は輝度値に限るものではなく、撮像装置がカラー画像を撮像するカメラである場合にはカラー値を比較することにより特徴点の追加の判断を行ってもよい。
キーフレーム上の特徴点は、位置及び姿勢の導出に利用可能であれば何でもよい。例えば、キーフレーム上の特徴点は濃淡画像上の画素のうち輝度勾配が大きい画素であってもよい。また、例えば、Newcombeらの方法(R.A.Newcombe,S.J.Lovegrove,A.J.Davison,“DTAM:Dense Tracking and Mapping in Real−Time,” Proc. 13th International Conference on Computer Vision,pp.2320−2327,2011.)のようにしてもよい。すなわち、キーフレーム上の全画素を特徴点としてもよい。
位置及び姿勢計測のリローカライゼーション方法は、位置及び姿勢の事前情報なしに撮像装置の位置及び姿勢の方法を計測するものであれば、撮像画像とキーフレームとの画像マッチングに限るものではない。例えば、撮像画像上で検出される特徴点毎にキーフレーム上で検出される特徴点とマッチングを行い、得られる特徴点の対応を用いて初期化を行ってもよい。また、撮像画像上で検出される特徴点や領域を複数のクラスに分類し、各クラスに分類された特徴点や領域の頻度をもとに類似したキーフレームを選択することで初期化を行ってもよい。
第1の実施形態では、現フレームを用いた三次元マップの更新処理が終わってから次フレームの位置及び姿勢の導出する逐次的な処理を行っていた。しかしながら、三次元マップ更新は必ずしも逐次的に行う必要はなく、次フレームの位置及び姿勢の導出と並行して行ってもよい。具体的には、各フレームの位置及び姿勢の導出を行うスレッドと三次元マップの更新を行うスレッドを分けて並列に処理を行い、位置及び姿勢の導出はその時点で得られる最新の三次元マップを用いて行ってもよい。
第1の実施形態では、デプスマップには奥行き値の逆数、分散マップには奥行き値の逆数の分散を保持していた。しかしながら、デプスマップに保持するデータは、キーフレームの撮像座標系における三次元座標に変換可能であれば、いかなるデータであってもよい。例えば、デプスマップに保持するデータは奥行きであってもよいし、キーフレームの撮像座標系における三次元座標を直接保持してもよい。
第1の実施形態では、仮想キーフレームを生成する際に選択するキーフレームは実キーフレームのみであった。しかしながら、選択するキーフレームはキーフレームであれば何でもよく、実キーフレームであっても、仮想キーフレームであってもよい。但し、位置及び姿勢の精度低下を抑えるため、仮想キーフレームには最近傍キーフレームとして選択したキーフレームの種類を属性として保持させる。
そして、最近傍キーフレームが仮想キーフレームである仮想キーフレームは、他の仮想キーフレームの最近傍キーフレームとして選択されないようにしてもよい。それ以外にも、最近傍キーフレームの最近傍キーフレームが仮想キーフレームであるキーフレームは最近傍キーフレームとして選択しないなど、仮想キーフレームの世代を考慮してもよい。
仮想キーフレーム上の特徴点の位置及び姿勢の計測における寄与度は、特徴点が仮想キーフレームに追加されるための条件を満たした特徴点の重みは大きく、満たしていない特徴点の重みは小さくなるようにするものであれば何でもよい。例えば第1の実施形態のように、特徴点が仮想キーフレームに追加されるための条件を満たさない場合には仮想キーフレームに登録しないようにしてもよい。また、最近傍キーフレームと現フレームにおける該特徴点の輝度差が大きいほど重みを小さくするようにしてもよい。
第1の実施形態では、現フレームの位置及び姿勢の予測値として前フレームの位置及び姿勢を用いた。しかしながら、現フレームの位置及び姿勢の予測値は、実際の現フレームの位置及び姿勢に近い値であれば何でもよい。例えば、等速度運動、等加速度運動などの運動モデルから予測される位置及び姿勢であってもよい。また、位置や位置変化を計測するセンサや、姿勢や姿勢変化を計測するセンサなどのカメラ以外のセンサによって計測される位置や位置変化、姿勢や姿勢変化から予測してもよい。
(第2の実施形態)
第1の実施形態では、特徴点を仮想キーフレームに追加すべきかどうか判断する際に最近傍キーフレーム、仮想キーフレームにおける特徴点の輝度値の差を用いることで光学的に整合する特徴点のみを仮想キーフレームに追加するようにしていた。第2の実施形態では、撮像装置がステレオカメラであることを利用し、特徴点の奥行きの差を用いることで幾何的に整合する特徴点のみを仮想キーフレームに追加できるようにする。これによって、仮想キーフレームを用いた場合の位置及び姿勢の計測を高精度化・安定化が可能になる。
第2の実施形態における情報処理装置の構成は第1の実施形態で説明した情報処理装置1と同一であるため説明を省略する。また、第1の実施形態と第2の実施形態では図6におけるステップS1340における処理だけが異なるため、以下ではステップS1340についてのみ説明する。
第2の実施形態におけるステップS1340では、
(1)(u,v)が現フレームの画像内部にあり、
(2)かつ奥行きZ予め設定される奥行きの上限値・下限値の間にあり、
(3)かつ現フレームの画像座標(u,v)における特性が所定の条件を満たす
場合に特徴点を仮想キーフレームに追加する。
第2の実施形態では、前述の特性として特徴点の奥行きを利用する。特徴点の奥行きはステレオカメラが撮像するステレオ画像をもとに算出する。具体的には、現フレームの左側カメラの画像における画像座標(u,v)に対応する右側カメラの画像上の点(u,v)を探索する。画像座標(u,v)とステレオカメラの内部・外部パラメータから算出される右側カメラの画像上のエピポーラ線上において、N×N画素領域の輝度の二乗誤差の和が最も小さい点を探索することにより対応点の座標(u,v)が得られる。
さらに(u,v)、(u,v)、ステレオカメラの内部・外部パラメータをもとに、三角測量によって現フレームの撮像装置座標系における特徴点の奥行きZ’を求める。このようにして得られた特徴点の奥行きZ’と、最近傍キーフレームにおける特徴点の現フレームの撮像装置座標系における奥行きZとの差が予め決められた閾値Td未満であることを(3)の条件とする。本ステップで特徴点を追加すると判断された場合、ステップS1350に進み、さもなければステップS1360に進む。
以上述べたように、第2の実施形態では、複合現実感の体験中に撮像装置によって撮像された画像を仮想キーフレームとして三次元マップに追加することで、精度や安定性を損なわずに位置及び姿勢の計測が可能な範囲を広げることができる。さらに、最近傍キーフレームに保持されている奥行きと現フレームで得られる奥行きの差が小さい点のみを仮想キーフレームに追加することで、仮想キーフレームを用いた場合の位置及び姿勢の計測を高精度化・安定化が可能になる。
(第2の実施形態バリエーション)
第2の実施形態では、特徴点の奥行きの差が小さい点を仮想キーフレームに追加した。しかしながら、仮想キーフレームに追加する特徴点の選択方法はこれに限るものではなく、特徴点の奥行きの差が小さくかつ第1の実施例で述べたように輝度値の差が小さい特徴点を仮想キーフレームに追加してもよい。この場合、現フレームにおける特徴点の奥行きZ’と、最近傍キーフレームにおける特徴点の現フレームの撮像装置座標系における奥行きZとの差が閾値Td未満であり、かつ輝度値の差が閾値Ti未満である点を仮想キーフレームに追加する。
第2の実施形態では撮像装置としてステレオカメラの利用を想定した。しかしながら、利用する撮像装置はステレオカメラに限るものではなく、特徴点の奥行きを計測できる撮像装置であれば他の撮像装置であってもよい。例えば、デプス画像を撮像するデプスカメラであってもよいし、カラー画像とデプス画像を取得できるRGBDカメラであってもよい。さらには、デプス画像ではなく計測対象の表面の点群の三次元座標を計測するLiDARなどの三次元計測装置を利用してもよい。また、濃淡画像やカラー画像を撮影するカメラに、デプスカメラや三次元計測装置を固定した撮像装置であってもよい。
(第3の実施形態)
以上述べた実施形態では、仮想キーフレームを生成する時に最近傍のキーフレームをもとに生成していた。第3の実施形態では、特徴点データベースに保持される特徴点の世界座標系における三次元座標を直接現フレームの三次元座標に変換することで仮想キーフレームを生成する。これによって、最近傍キーフレームの位置及び姿勢の計測誤差の影響を受けずに仮想キーフレームを生成することで、位置及び姿勢計測の精度低下を防止する。
第3の実施形態における情報処理装置の構成は第1の実施形態で説明した情報処理装置1と同一であるため説明を省略する。また、第1、第2の実施形態と第3の実施形態では、三次元情報保持部10の三次元マップの保持方法と、図6におけるステップS1320、S1330の処理だけが異なる。以下では三次元マップの保持方法と、第3の実施形態におけるステップS1320、S1330の処理手順について詳細に説明する。
(三次元マップの保持方法)
三次元情報保持部10は、キーフレームの集合に加えて特徴点の世界座標系における三次元座標を保持する特徴点データベースを保持する。特徴点データベースは、例えばFurukawaらの方法(Y.Furukawa,B.Curless,S.M.Seitz,R.Szeliski,“Reconstructing Building Interiors from Images,” Proc. 12th International Conference on Computer Vision,pp.80−87,2009.)によって生成する。
Furukawaらの方法では多数の画像を入力として特徴点ベースのStructure−from−motionを行い、さらにMulti−View Stereoを行うことで密な三次元復元を行っている。これらの復元された密な三次元点を三次元座標とともに特徴点データベースに登録する。
(仮想キーフレーム生成)
第3の実施形態では、特徴点データベースに登録されている特徴点の数をNpとする。ステップS1320では、特徴点データベース中の特徴点を指定する変数iを1にセットする。
ステップS1330では、特徴点データベース中のi番目の特徴点の現フレームの撮像装置座標系における三次元座標(X,Y,Z)及び現フレームの画像座標(u,v)を算出する。まず、数4により該特徴点の世界座標系における三次元座標(X,Y,Z)を現フレームの撮像装置座標系における三次元座標(X,Y,Z)に変換する。
Figure 2017156162

前述したように、twc、Rwcはそれぞれ世界座標系における現フレーム撮像時の撮像装置の位置を表す3次元ベクトル、姿勢を表す3×3回転行列である。次に数3により現フレームの撮像装置座標系における三次元座標(X,Y,Z)を現フレームの画像座標(u,v)に変換する。
以上述べたように、第3の実施形態では、複合現実感の体験中に撮像装置によって撮像された画像を仮想キーフレームとして三次元マップに追加することで、精度や安定性を損なわずに位置及び姿勢の計測が可能な範囲を広げることができる。さらに、第3の実施形態では、特徴点の世界座標系における三次元座標を保持する特徴点データベースをもとに仮想キーフレームを生成することで、キーフレームの位置及び姿勢の計測誤差による精度低下を防止できる。
(第3の実施形態バリエーション)
三次元マップにさらにシーンのメッシュモデルを保持してもよい。メッシュモデルを保持する場合、仮想キーフレームへの特徴点追加可否の判定の際に特徴点の可視判定を行い、該特徴点がメッシュに隠蔽されないことを追加可能な条件として利用してもよい。
特徴点データベースは必ずしも多数の画像をもとに生成しなくてもよく、特徴点の三次元座標を計測可能であれば何でもよい。例えば、LiDARなどの三次元スキャナによって直接シーンの三次元計測を行ってもよい。また、三次元計測を行わずに設計データをもとに生成してもよい。さらには、カメラによって撮影された画像を三次元計測や設計データから得られる三次元データにテクスチャマッピングして生成される三次元モデルから特徴点データベースを生成してもよい。
(変形例)
以上述べた実施形態では、仮想キーフレームは単一のキーフレーム(最近傍キーフレーム)を用いて生成した。しかしながら、仮想キーフレームの生成に用いるキーフレームは一つである必要はなく、複数のキーフレームを使って生成してもよい。
図7は本変形例における仮想キーフレーム生成の処理手順を示すフローチャートである。このフローチャートは第1の実施形態における図6に相当する。
ステップS4310、S4320、S4340、S4350、S4360、S4370は図6のステップS1310、S1320、S1340、S1350、S1360、S1370と同一であるので説明を省略する。
ステップS4315では、ステップS1050で導出された位置及び姿勢に近い位置及び姿勢を保持する実キーフレーム(近傍キーフレーム)を一つ以上選択する。ここでは、位置の差が閾値Ts未満でかつ第1の実施形態のステップS1230で説明した方法により現フレームに投影されるキーフレーム上の特徴点がNs個以上であるキーフレームを選択する。本変形例では、選択されたキーフレーム上の特徴点の総数をNpとする。
ステップS4330では、各近傍キーフレームの各特徴点の現フレームの撮像装置座標系における三次元座標(X,Y,Z)及び現フレームの画像座標(u,v)をステップS1230で述べた方法により算出する。但し、最近傍キーフレームの位置及び姿勢ではなく、各近傍キーフレームの位置及び姿勢を用いて算出する。
以上述べたように、本変形例では仮想キーフレームを複数のキーフレームを使って生成する。これによって、既存のキーフレームの間にキーフレームを生成する場合であっても十分な特徴点を追加することが可能になるため、位置及び姿勢の計測を高精度化・安定化することができる。
(変形例)
以上述べた実施形態における情報処理装置は、さらに三次元マップ表示部を備えていてもよい。三次元マップ表示部は、表示部70であるユーザが装着するHMDでもよいし、他のディスプレイであってもよい。三次元マップ表示部は、三次元マップに含まれるキーフレームの情報を表示する。
図9は、三次元マップ表示部が表示する画面の一例を示す図である。図9に示すように、画面には三次元マップに含まれるキーフレームを表す仮想物体とキーフレーム上の特徴点が表示される。キーフレームを表す仮想物体は、現実空間におけるキーフレーム撮像時の撮像装置の位置及び姿勢を表すように表示され、実キーフレームと仮想キーフレームでは色を変えて表示される。
また、現フレームで位置及び姿勢の導出に使われた最近傍キーフレームはさらに別の色で表示してもよい。さらには、現フレーム撮像時の撮像装置の位置及び姿勢を表す仮想物体を表示してもよい。キーフレーム上の特徴点の三次元座標は現実空間に規定される世界座標系における三次元座標に変換し、世界座標系における点として描画する。描画される特徴点の色として、撮像画像上の色や輝度を直接利用してもよいし、キーフレームの撮像装置座標系における奥行き(Z座標)を色に変換した値を利用してもよい。描画される特徴点は、現フレームの最近傍キーフレームなど一部のキーフレーム上の特徴点だけでもよいし、全てのキーフレーム上の特徴点でもよい。さらには、仮想キーフレームと仮想キーフレームの生成に用いた近傍/最近傍キーフレームとの接続関係を仮想物体の位置を結ぶ線分によって表してもよい。
以上説明した実施形態によれば、事前に用意されたキーフレームに加えて撮像装置によって撮像された画像を仮想キーフレーム画像として三次元マップに追加することで、精度や安定性を損なわずに位置及び姿勢の計測が可能な範囲を広げることができる。
また、仮想キーフレームに特徴点を追加する際に、特徴点の画像上の輝度や距離を比較することで、光学的・幾何的な整合性の高い特徴点のみを追加することで、高精度かつ安定した撮像装置の位置及び姿勢の計測が可能になる。
さらに、特徴点の世界座標系における三次元座標を保持する特徴点データベースをもとに仮想キーフレームを生成することで、近傍キーフレームの位置及び姿勢の計測誤差に起因する位置及び姿勢計測の精度低下を防止できる。
上述した実施形態における三次元情報保持部が保持する三次元マップは、撮像画像、画像撮像時の撮像装置の位置及び姿勢、現実空間中の幾何特徴の三次元情報から構成されるキーフレーム群によって表されるものであれば何でもよい。例えば、現実空間中の幾何特徴の三次元情報は、現実空間を基準とした座標系における三次元座標であってもよいし、撮像時の現実空間における位置及び姿勢が既知な撮像装置を基準とした座標における三次元座標であってもよい。
上述した実施形態における画像入力部が入力する画像を撮像するカメラは、現実空間の画像を撮像するカメラであれば何でもよい。例えば、濃淡画像を撮影するカメラでもよいし、カラー画像を撮影するカメラであってもよい。さらには、カメラは1台であってもよいし、ステレオカメラなどの複数台のカメラによって構成される撮像装置であってもよい。
上述した実施形態における位置姿勢導出部は、入力画像と三次元マップをもとに入力画像撮像時のカメラの位置及び姿勢を導出するものであれば何でもよい。例えば、輝度値の差を評価関数として位置及び姿勢を導出するものでもよいし、特徴点の画像上の位置の差を評価関数として位置及び姿勢を導出するものでもよい。
上述した実施形態における三次元マップ更新部は、撮像時の撮像装置の位置及び姿勢を位置姿勢導出部が位置及び姿勢を導出した画像を用いて仮想キーフレームを生成し三次元マップに加えるものであれば何でもよい。例えば、導出された位置及び姿勢をもとに、既存の三次元マップ中の特徴点の三次元座標を変換することによって仮想キーフレーム上の特徴点の三次元座標を算出してもよい。既存の三次元マップ中の特徴点の三次元座標は、現実空間に設定された世界座標系を基準としたものでもよいし、キーフレーム撮像時の撮像装置の座標系を基準としたものでもよい。
また、導出された位置及び姿勢をもとに算出される入力画像上の位置を算出し、入力画像上の属性に基づいて特徴点の位置及び姿勢導出における寄与度を決定してもよい。入力画像上の属性として、輝度を用いてもよいし距離を用いてもよい。
(その他の実施形態)
以上、実施形態を詳述したが、本発明は、例えば、システム、装置、方法、コンピュータ読み取り可能なプログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
更に、本発明は、ソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによって前述した実施形態の機能が達成される場合を含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したコンピュータプログラムである。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどとの協働で実施形態の機能が実現されてもよい。この場合、OSなどが、実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
10 三次元情報保持部
20 画像入力部
30 位置姿勢導出部
40 三次元マップ更新部
50 撮像装置
60 画像合成部
70 表示部

Claims (15)

  1. 撮像された画像と、該画像を撮像したときの撮像装置の位置及び姿勢と、空間中の幾何特徴の三次元情報とを対応付けたキーフレームのデータを、複数のキーフレームについて保持する保持手段と、
    撮像装置により撮像された画像を入力する入力手段と、
    前記保持手段に保持された複数のキーフレームのデータと、前記入力手段により入力された画像とに基づいて、該画像を撮像した撮像装置の位置及び姿勢を導出する導出手段と、
    導出された前記位置及び姿勢に基づいて、前記複数のキーフレームのデータから1つ以上のキーフレームのデータを選択するキーフレーム選択手段と、
    選択された前記キーフレームのデータにおける幾何特徴の三次元情報を、前記入力された画像を撮像したときの撮像装置を基準とする座標系の三次元情報に変換して新たなキーフレームのデータを生成する生成手段と、
    生成された前記キーフレームのデータを追加して前記複数のキーフレームのデータを更新する更新手段とを備えることを特徴とする情報処理装置。
  2. 前記キーフレームのデータは前記幾何特徴の属性を更に含み、
    前記生成手段は、導出された前記位置及び姿勢と、前記選択されたキーフレームのデータにおける幾何特徴との三次元情報とに基づいて、該幾何特徴の前記入力された画像上での位置を算出する算出手段を備え、
    前記幾何特徴の属性と前記入力された画像上での位置の属性とを比較して、生成される前記キーフレームのデータの寄与度を決定する決定手段とを備え、
    前記導出手段は、前記更新手段により更新された複数のキーフレームのデータと、決定された前記寄与度とを用いて、前記撮像装置の位置及び姿勢を導出することを特徴とする請求項1に記載の情報処理装置。
  3. 前記幾何特徴の属性は輝度または色を含むことを特徴とする請求項2に記載の情報処理装置。
  4. 前記幾何特徴の属性は前記撮像装置を基準とした距離であることを特徴とする請求項2に記載の情報処理装置。
  5. 前記導出手段は、
    前記撮像装置の現在の位置及び姿勢の予測値を求める予測手段と、
    前記複数のキーフレームのデータのそれぞれの位置及び姿勢と前記予測値との差に基づいて1つのキーフレームのデータを選択する第2のキーフレーム選択手段と、
    前記第2のキーフレーム選択手段により選択されたキーフレームにおける特徴点を用いて前記予測値を修正することで、前記導出される位置及び姿勢を求める修正手段とを備えることを特徴とする請求項1に記載の情報処理装置。
  6. 前記予測手段は、前フレームにおける前記撮像装置の位置及び姿勢が得られていれば、当該前フレームにおける位置及び姿勢を前記予測値とすることを特徴とする請求項5に記載の情報処理装置。
  7. 前記予測手段は、前フレームにおける前記撮像装置の位置及び姿勢が得られていなければ、リローカライゼーションを行って前記予測値を求めることを特徴とする請求項6に記載の情報処理装置。
  8. 前記修正手段は、前記第2のキーフレーム選択手段により選択されたキーフレームから所定の個数以内の特徴点を選択し、該選択された特徴点を用いて前記予測値を修正することを特徴とする請求項5に記載の情報処理装置。
  9. 前記導出手段により導出された前記撮像装置の位置と、前記キーフレーム選択手段により選択されたキーフレームの撮像時における前記撮像装置の位置との距離を算出する距離算出手段と、
    前記距離に基づいて、前記生成手段によりキーフレームを生成するか否かを判定する判定手段とを備えることを特徴とする請求項1に記載の情報処理装置。
  10. 前記キーフレーム選択手段により選択されたキーフレームの内部の特徴点を前記入力された画像に投影した場合に、画像内部に投影される割合を算出する割合算出手段と、
    前記距離に基づいて、前記生成手段によりキーフレームを生成するか否かを判定する判定手段とを備えることを特徴とする請求項1に記載の情報処理装置。
  11. 前記生成手段は、
    前記選択されたキーフレーム上で特徴点を順に指定する指定手段と、
    指定された特徴点の前記撮像装置を基準とした座標系における現フレームの三次元座標及び画像座標を算出する座標算出手段と、
    前記三次元座標及び画像座標に基づいて前記指定された特徴点を追加するか否かを判定する判定手段と、
    追加すると判定された前記特徴点を仮想キーフレームに追加する追加手段とを備えることを特徴とする請求項1に記載の情報処理装置。
  12. 撮像された画像と、該画像を撮像したときの撮像装置の位置及び姿勢と、空間中の幾何特徴の該空間で規定された第1の座標系における三次元情報と、前記幾何特徴の前記撮像装置を基準とする第2の座標系における三次元情報とを対応付けたキーフレームのデータを、複数のキーフレームについて保持する保持手段と、
    撮像装置により撮像された画像を入力する入力手段と、
    前記保持手段に保持された複数のキーフレームのデータと、前記入力手段により入力された画像とに基づいて、該画像を撮像した撮像装置の位置及び姿勢を導出する導出手段と、
    導出された前記位置及び姿勢に基づいて、前記複数のキーフレームのデータから1つ以上のキーフレームのデータを選択するキーフレーム選択手段と、
    選択された前記キーフレームのデータにおける幾何特徴の前記第1の座標系における三次元情報を、前記第2の座標系における三次元情報に変換して新たなキーフレームのデータを生成する生成手段と、
    生成された前記キーフレームのデータを追加して前記複数のキーフレームのデータを更新する更新手段とを備えることを特徴とする情報処理装置。
  13. 撮像された画像と、該画像を撮像したときの撮像装置の位置及び姿勢と、空間中の幾何特徴の三次元情報とを対応付けたキーフレームのデータを、複数のキーフレームについて保持する保持手段を備えた情報処理装置における情報処理方法であって、
    撮像装置により撮像された画像を入力する入力工程と、
    前記保持手段に保持された複数のキーフレームのデータと、前記入力工程で入力された画像とに基づいて、該画像を撮像した撮像装置の位置及び姿勢を導出する導出工程と、
    導出された前記位置及び姿勢に基づいて、前記複数のキーフレームのデータから1つ以上のキーフレームのデータを選択する選択工程と、
    選択された前記キーフレームのデータにおける幾何特徴の三次元情報を、前記入力された画像を撮像したときの撮像装置を基準とする座標系の三次元情報に変換して新たなキーフレームのデータを生成する生成工程と、
    生成された前記キーフレームのデータを追加して前記複数のキーフレームのデータを更新する更新工程とを備えることを特徴とする情報処理方法。
  14. 撮像された画像と、該画像を撮像したときの撮像装置の位置及び姿勢と、空間中の幾何特徴の該空間で規定された第1の座標系における三次元情報と、前記幾何特徴の前記撮像装置を基準とする第2の座標系における三次元情報とを対応付けたキーフレームのデータを、複数のキーフレームについて保持する保持手段を備えた情報処理装置における情報処理方法であって、
    撮像装置により撮像された画像を入力する入力工程と、
    前記保持手段に保持された複数のキーフレームのデータと、前記入力工程で入力された画像とに基づいて、該画像を撮像した撮像装置の位置及び姿勢を導出する導出工程と、
    導出された前記位置及び姿勢に基づいて、前記複数のキーフレームのデータから1つのキーフレームのデータを選択するキーフレーム選択工程と、
    選択された前記キーフレームのデータにおける幾何特徴の前記第1の座標系における三次元情報を、前記第2の座標系における三次元情報に変換して新たなキーフレームのデータを生成する生成工程と、
    生成された前記キーフレームのデータを追加して前記複数のキーフレームのデータを更新する更新工程とを備えることを特徴とする情報処理方法。
  15. コンピュータを請求項1乃至12のいずれか1項に記載の情報処理装置の各手段として機能させることを特徴とするプログラム。
JP2016038042A 2016-02-29 2016-02-29 情報処理装置、情報処理方法、及びプログラム Active JP6775969B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016038042A JP6775969B2 (ja) 2016-02-29 2016-02-29 情報処理装置、情報処理方法、及びプログラム
US15/441,086 US10643347B2 (en) 2016-02-29 2017-02-23 Device for measuring position and orientation of imaging apparatus and method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016038042A JP6775969B2 (ja) 2016-02-29 2016-02-29 情報処理装置、情報処理方法、及びプログラム

Publications (3)

Publication Number Publication Date
JP2017156162A true JP2017156162A (ja) 2017-09-07
JP2017156162A5 JP2017156162A5 (ja) 2019-03-28
JP6775969B2 JP6775969B2 (ja) 2020-10-28

Family

ID=59679129

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016038042A Active JP6775969B2 (ja) 2016-02-29 2016-02-29 情報処理装置、情報処理方法、及びプログラム

Country Status (2)

Country Link
US (1) US10643347B2 (ja)
JP (1) JP6775969B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019087229A (ja) * 2017-11-02 2019-06-06 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム
WO2019138834A1 (ja) * 2018-01-12 2019-07-18 キヤノン株式会社 情報処理装置、情報処理方法、プログラム、およびシステム
JP2020013560A (ja) * 2018-07-06 2020-01-23 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
JP2020098114A (ja) * 2018-12-17 2020-06-25 カシオ計算機株式会社 自己位置推定装置、自己位置推定方法及びプログラム
US20210232845A1 (en) * 2018-07-06 2021-07-29 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium
JP2022075583A (ja) * 2020-11-03 2022-05-18 ネイバーラボス コーポレーション マップの生成方法及びそれを用いた画像ベースの測位システム
WO2022107245A1 (ja) * 2020-11-18 2022-05-27 日本電気株式会社 マップ生成装置、マップ生成方法、及びプログラムが格納された非一時的なコンピュータ可読媒体

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3633407A4 (en) * 2017-05-24 2020-06-10 Sony Corporation INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND PROGRAM
JP7011472B2 (ja) * 2018-01-15 2022-01-26 キヤノン株式会社 情報処理装置、情報処理方法
WO2019205069A1 (en) * 2018-04-27 2019-10-31 Beijing Didi Infinity Technology And Development Co., Ltd. Systems and methods for updating 3d model of building
US11170224B2 (en) * 2018-05-25 2021-11-09 Vangogh Imaging, Inc. Keyframe-based object scanning and tracking
CN111694423B (zh) * 2019-03-12 2023-05-26 阿里巴巴集团控股有限公司 定位、抓取、数据处理与用于增强现实的显示方法及设备
US10855303B1 (en) * 2020-03-16 2020-12-01 Semiconductor Components Industries, Llc Propagation delay compensation and interpolation filter
CN113865481A (zh) * 2020-06-30 2021-12-31 北京小米移动软件有限公司 对象尺寸测量方法、装置及存储介质
US20220092334A1 (en) * 2020-09-22 2022-03-24 Apple Inc. Contextual Matching
US11830218B2 (en) 2020-10-16 2023-11-28 SLAMcore Limited Visual-inertial localisation in an existing map
GB2599947B (en) * 2020-10-16 2022-10-19 Slamcore Ltd Visual-inertial localisation in an existing map
US20240020920A1 (en) * 2022-07-15 2024-01-18 Snap Inc. Incremental scanning for custom landmarkers

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140002597A1 (en) * 2012-06-29 2014-01-02 Mitsubishi Electric Research Laboratories, Inc. Tracking Poses of 3D Camera Using Points and Planes
US20140320593A1 (en) * 2013-04-30 2014-10-30 Qualcomm Incorporated Monocular visual slam with general and panorama camera movements
US20150125045A1 (en) * 2013-11-04 2015-05-07 Steffen Gauglitz Environment Mapping with Automatic Motion Model Selection
JP2015114905A (ja) * 2013-12-12 2015-06-22 ソニー株式会社 情報処理装置、情報処理方法およびプログラム
JP2016527574A (ja) * 2013-06-19 2016-09-08 三菱電機株式会社 プリミティブの組を用いてデータをレジストレーションする方法

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100208033A1 (en) * 2009-02-13 2010-08-19 Microsoft Corporation Personal Media Landscapes in Mixed Reality
EP2413286A1 (en) * 2010-07-29 2012-02-01 LiberoVision AG Image processing method and device for instant replay
US9013550B2 (en) * 2010-09-09 2015-04-21 Qualcomm Incorporated Online reference generation and tracking for multi-user augmented reality
US9020187B2 (en) * 2011-05-27 2015-04-28 Qualcomm Incorporated Planar mapping and tracking for mobile devices
US8913055B2 (en) * 2011-05-31 2014-12-16 Honda Motor Co., Ltd. Online environment mapping
KR101850027B1 (ko) * 2011-12-08 2018-04-24 한국전자통신연구원 실시간 3차원 실 환경 복원장치 및 그 방법
US9183631B2 (en) * 2012-06-29 2015-11-10 Mitsubishi Electric Research Laboratories, Inc. Method for registering points and planes of 3D data in multiple coordinate systems
GB2506338A (en) * 2012-07-30 2014-04-02 Sony Comp Entertainment Europe A method of localisation and mapping
EP3502621B1 (en) * 2012-09-21 2023-06-07 NavVis GmbH Visual localisation
US9685003B2 (en) * 2013-06-03 2017-06-20 Microsoft Technology Licensing, Llc Mixed reality data collaboration
US10262462B2 (en) * 2014-04-18 2019-04-16 Magic Leap, Inc. Systems and methods for augmented and virtual reality
AU2013237718A1 (en) * 2013-10-04 2015-04-23 Canon Kabushiki Kaisha Method, apparatus and system for selecting a frame
US9524434B2 (en) * 2013-10-04 2016-12-20 Qualcomm Incorporated Object tracking based on dynamically built environment map data
US9811731B2 (en) * 2013-10-04 2017-11-07 Qualcomm Incorporated Dynamic extension of map data for object detection and tracking
US20150103183A1 (en) * 2013-10-10 2015-04-16 Nvidia Corporation Method and apparatus for device orientation tracking using a visual gyroscope
US9390344B2 (en) * 2014-01-09 2016-07-12 Qualcomm Incorporated Sensor-based camera motion detection for unconstrained slam
US9948911B2 (en) * 2014-09-05 2018-04-17 Qualcomm Incorporated Method and apparatus for efficient depth image transformation
US9607388B2 (en) * 2014-09-19 2017-03-28 Qualcomm Incorporated System and method of pose estimation
US9626803B2 (en) * 2014-12-12 2017-04-18 Qualcomm Incorporated Method and apparatus for image processing in augmented reality systems
US10185775B2 (en) * 2014-12-19 2019-01-22 Qualcomm Technologies, Inc. Scalable 3D mapping system
US9911242B2 (en) * 2015-05-14 2018-03-06 Qualcomm Incorporated Three-dimensional model generation
JP6789624B2 (ja) * 2015-11-20 2020-11-25 キヤノン株式会社 情報処理装置、情報処理方法
JP6575325B2 (ja) * 2015-11-27 2019-09-18 富士通株式会社 カメラ位置姿勢推定装置、カメラ位置姿勢推定方法およびカメラ位置姿勢推定プログラム
US9807365B2 (en) * 2015-12-08 2017-10-31 Mitsubishi Electric Research Laboratories, Inc. System and method for hybrid simultaneous localization and mapping of 2D and 3D data acquired by sensors from a 3D scene
US20170161546A1 (en) * 2015-12-08 2017-06-08 Mitsubishi Electric Research Laboratories, Inc. Method and System for Detecting and Tracking Objects and SLAM with Hierarchical Feature Grouping
CA3008886A1 (en) * 2015-12-18 2017-06-22 Iris Automation, Inc. Real-time visual situational awareness system
JP6701930B2 (ja) * 2016-04-28 2020-05-27 富士通株式会社 オーサリング装置、オーサリング方法およびオーサリングプログラム
US9807359B1 (en) * 2016-11-11 2017-10-31 Christie Digital Systems Usa, Inc. System and method for advanced lens geometry fitting for imaging devices
WO2018136753A1 (en) * 2017-01-19 2018-07-26 Vtrus Inc. Indoor mapping and modular control for uavs and other autonomous vehicles, and associated systems and methods
US11127203B2 (en) * 2018-05-16 2021-09-21 Samsung Electronics Co., Ltd. Leveraging crowdsourced data for localization and mapping within an environment

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140002597A1 (en) * 2012-06-29 2014-01-02 Mitsubishi Electric Research Laboratories, Inc. Tracking Poses of 3D Camera Using Points and Planes
US20140320593A1 (en) * 2013-04-30 2014-10-30 Qualcomm Incorporated Monocular visual slam with general and panorama camera movements
JP2016526313A (ja) * 2013-04-30 2016-09-01 クアルコム,インコーポレイテッド 総体的カメラ移動およびパノラマカメラ移動を使用した単眼視覚slam
JP2016527574A (ja) * 2013-06-19 2016-09-08 三菱電機株式会社 プリミティブの組を用いてデータをレジストレーションする方法
US20150125045A1 (en) * 2013-11-04 2015-05-07 Steffen Gauglitz Environment Mapping with Automatic Motion Model Selection
JP2015114905A (ja) * 2013-12-12 2015-06-22 ソニー株式会社 情報処理装置、情報処理方法およびプログラム

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7190842B2 (ja) 2017-11-02 2022-12-16 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム
JP2019087229A (ja) * 2017-11-02 2019-06-06 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム
WO2019138834A1 (ja) * 2018-01-12 2019-07-18 キヤノン株式会社 情報処理装置、情報処理方法、プログラム、およびシステム
JP2019125345A (ja) * 2018-01-12 2019-07-25 キヤノン株式会社 情報処理装置、情報処理方法、プログラム、およびシステム
JP7341652B2 (ja) 2018-01-12 2023-09-11 キヤノン株式会社 情報処理装置、情報処理方法、プログラム、およびシステム
JP2020013560A (ja) * 2018-07-06 2020-01-23 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
US20210232845A1 (en) * 2018-07-06 2021-07-29 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium
JP2021106025A (ja) * 2018-07-06 2021-07-26 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
US11830216B2 (en) 2018-07-06 2023-11-28 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium
JP7225762B2 (ja) 2018-12-17 2023-02-21 カシオ計算機株式会社 自己位置推定装置、自己位置推定方法及びプログラム
JP2020098114A (ja) * 2018-12-17 2020-06-25 カシオ計算機株式会社 自己位置推定装置、自己位置推定方法及びプログラム
JP2022075583A (ja) * 2020-11-03 2022-05-18 ネイバーラボス コーポレーション マップの生成方法及びそれを用いた画像ベースの測位システム
JP7365385B2 (ja) 2020-11-03 2023-10-19 ネイバーラボス コーポレーション マップの生成方法及びそれを用いた画像ベースの測位システム
US11941755B2 (en) 2020-11-03 2024-03-26 Naver Labs Corporation Method of generating map and visual localization system using the map
WO2022107245A1 (ja) * 2020-11-18 2022-05-27 日本電気株式会社 マップ生成装置、マップ生成方法、及びプログラムが格納された非一時的なコンピュータ可読媒体

Also Published As

Publication number Publication date
JP6775969B2 (ja) 2020-10-28
US10643347B2 (en) 2020-05-05
US20170249752A1 (en) 2017-08-31

Similar Documents

Publication Publication Date Title
JP6775969B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP4216824B2 (ja) 3次元モデル生成装置、3次元モデル生成方法および3次元モデル生成プログラム
US11830216B2 (en) Information processing apparatus, information processing method, and storage medium
US20120257016A1 (en) Three-dimensional modeling apparatus, three-dimensional modeling method and computer-readable recording medium storing three-dimensional modeling program
US20120069018A1 (en) Ar process apparatus, ar process method and storage medium
JP6584208B2 (ja) 情報処理装置、情報処理方法、プログラム
JP6894707B2 (ja) 情報処理装置およびその制御方法、プログラム
JP2020024142A (ja) 計測校正装置、計測校正方法、及びプログラム
JP6762913B2 (ja) 情報処理装置、情報処理方法
JP7116262B2 (ja) 画像深度推定方法および装置、電子機器、ならびに記憶媒体
US20230298344A1 (en) Method and device for determining an environment map by a server using motion and orientation data
JP2020013560A (ja) 情報処理装置、情報処理方法、及びプログラム
JP2017037426A (ja) 情報処理装置、情報処理方法、プログラム
US20220383589A1 (en) Image processing apparatus, image processing method, method for generating learned model, and storage medium
CN110428461B (zh) 结合深度学习的单目slam方法及装置
JP4102386B2 (ja) 3次元情報復元装置
CN110969706B (zh) 增强现实设备及其图像处理方法、系统以及存储介质
CN111742352A (zh) 3d对象建模方法以及相关设备和计算机程序产品
Buck et al. Capturing uncertainty in monocular depth estimation: Towards fuzzy voxel maps
JP2002032744A (ja) 3次元モデリング及び3次元画像作成のための装置及び方法
CN114255285B (zh) 视频与城市信息模型三维场景融合方法、系统及存储介质
JP6991700B2 (ja) 情報処理装置、情報処理方法、プログラム
JP2021152764A (ja) 情報処理装置、情報処理方法、およびプログラム
KR101804157B1 (ko) 개선된 sgm 기반한 시차 맵 생성 방법
JP7029501B2 (ja) 情報処理装置、情報処理方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190213

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200331

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200908

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201007

R151 Written notification of patent or utility model registration

Ref document number: 6775969

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151