JP2024007754A - 情報処理システム、情報処理装置、端末装置および情報処理システムの制御方法 - Google Patents
情報処理システム、情報処理装置、端末装置および情報処理システムの制御方法 Download PDFInfo
- Publication number
- JP2024007754A JP2024007754A JP2022109047A JP2022109047A JP2024007754A JP 2024007754 A JP2024007754 A JP 2024007754A JP 2022109047 A JP2022109047 A JP 2022109047A JP 2022109047 A JP2022109047 A JP 2022109047A JP 2024007754 A JP2024007754 A JP 2024007754A
- Authority
- JP
- Japan
- Prior art keywords
- information
- orientation
- information processing
- terminal device
- key frame
- 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
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 141
- 238000000034 method Methods 0.000 title claims description 40
- 238000000605 extraction Methods 0.000 claims abstract description 153
- 239000000284 extract Substances 0.000 claims abstract description 39
- 238000004891 communication Methods 0.000 claims abstract description 36
- 238000012545 processing Methods 0.000 claims abstract description 34
- 238000003860 storage Methods 0.000 claims abstract description 22
- 238000003384 imaging method Methods 0.000 claims description 75
- 230000002093 peripheral effect Effects 0.000 claims description 11
- 238000005259 measurement Methods 0.000 claims description 6
- 230000000737 periodic effect Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 16
- 238000005457 optimization Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
【課題】処理能力および記憶容量が制限される端末装置で、好適な位置姿勢の推定が可能となる。
【解決手段】情報処理装置と端末装置とを有し、端末装置の位置姿勢を推定するための情報処理システムであって、情報処理装置は、第1撮像手段と第1撮像手段による撮像画像を用いて情報処理装置の位置姿勢の情報を取得する第1取得手段と、情報処理装置の位置姿勢の情報と、当該位置姿勢で撮像された撮像画像であるキーフレーム画像とに基づいてマップ情報を生成する生成手段と、マップ情報の一部を抽出する抽出手段と、抽出手段によって抽出された抽出マップ情報を端末装置に送信する通信手段とを有し、端末装置は、第2撮像手段と、第2撮像手段による撮像画像および情報処理装置から送信された抽出マップ情報を用いて、端末装置の位置姿勢の情報を取得する第2取得手段とを有することを特徴とする情報処理システムである。
【選択図】図2
【解決手段】情報処理装置と端末装置とを有し、端末装置の位置姿勢を推定するための情報処理システムであって、情報処理装置は、第1撮像手段と第1撮像手段による撮像画像を用いて情報処理装置の位置姿勢の情報を取得する第1取得手段と、情報処理装置の位置姿勢の情報と、当該位置姿勢で撮像された撮像画像であるキーフレーム画像とに基づいてマップ情報を生成する生成手段と、マップ情報の一部を抽出する抽出手段と、抽出手段によって抽出された抽出マップ情報を端末装置に送信する通信手段とを有し、端末装置は、第2撮像手段と、第2撮像手段による撮像画像および情報処理装置から送信された抽出マップ情報を用いて、端末装置の位置姿勢の情報を取得する第2取得手段とを有することを特徴とする情報処理システムである。
【選択図】図2
Description
本発明は、情報処理システム、情報処理装置、端末装置および情報処理システムの制御方法に関する。
近年、端末装置に撮像装置を搭載し、SLAM(Simultaneous Localization and Mapping)による自己位置推定および環境地図作成の技術が、様々な用途に用いられている。例えば、特許文献1は、SLAMによるマップ更新機能を備え、自律走行が可能な無人搬送車であって、走行路に投影されたランドマーク画像の座標情報を用いて自律走行の精度を高める無人搬送車を開示する。
Rainer Kummerle, et al.,"g2o: A General Framework for Graph Optimization",[online],2011年5月9日,2011 IEEE International Conference on Robotics and Automation,Shanghai International Conference Center,[令和4年6月27日検索],インターネット<URL:http://ais.informatik.uni-freiburg.de/publications/papers/kuemmerle11icra.pdf>
R. Mur-Artal, et al.,"ORB-SLAM: A Versatile and Accurate Monocular SLAM System",[online],2015年10月5日,IEEE Transactions on Robotics, vol. 31, no. 5, pp. 1147-1163,[令和4年7月5日検索],インターネット<URL:https://ieeexplore.ieee.org/document/7219438>
HMD(ヘッドマウントディスプレイ)またはゲーム機等のコントローラ(端末装置)は、SLAMによって作成したマップを参照することで位置と姿勢を高精度に推定することができる。しかし、コントローラは、重量およびサイズを抑えるために処理能力および記憶容量が制限され、SLAMによる位置姿勢の推定には限界がである。コントローラは、オドメトリ(自律航法)により位置と姿勢(位置姿勢)を推定することができるが、誤差が蓄積される。このため、コントローラは処理負荷を軽減するとともに高精度な位置と姿勢の推定をすることは困難である。
本発明は、処理能力および記憶容量が制限される端末装置で、好適な位置姿勢の推定を可能とする技術を提供することを目的とする。
上記目的を達成するために、本発明の情報処理システムは、情報処理装置と端末装置とを有し、前記端末装置の位置姿勢を推定するための情報処理システムであって、前記情報処理装置は、第1撮像手段と前記第1撮像手段による撮像画像を用いて前記情報処理装置の位置姿勢の情報を取得する第1取得手段と、前記情報処理装置の位置姿勢の情報と、当該位置姿勢で撮像された撮像画像であるキーフレーム画像とに基づいてマップ情報を生成する生成手段と、前記マップ情報の一部を抽出する抽出手段と、前記抽出手段によって抽
出された抽出マップ情報を前記端末装置に送信する通信手段とを有し、前記端末装置は、第2撮像手段と、前記第2撮像手段による撮像画像および前記情報処理装置から送信された前記抽出マップ情報を用いて、前記端末装置の位置姿勢の情報を取得する第2取得手段とを有することを特徴とする。
出された抽出マップ情報を前記端末装置に送信する通信手段とを有し、前記端末装置は、第2撮像手段と、前記第2撮像手段による撮像画像および前記情報処理装置から送信された前記抽出マップ情報を用いて、前記端末装置の位置姿勢の情報を取得する第2取得手段とを有することを特徴とする。
本発明によれば、処理能力および記憶容量が制限される端末装置で、好適な位置姿勢の推定が可能となる。
以下、図面を参照して本発明の実施形態を説明する。なお、以下に説明する実施の形態は、本発明の実現方法としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正または変更されてもよい。また、各実施の形態は適宜組み合わされることも可能である。
<実施形態1>
図1は、本発明の実施形態に係る情報処理システムの構成を例示するブロック図である。情報処理システムは、情報処理装置としての頭部装着型表示装置(HMD:Head Mounted Display)100および端末装置としてのコントローラ200を含む。
図1は、本発明の実施形態に係る情報処理システムの構成を例示するブロック図である。情報処理システムは、情報処理装置としての頭部装着型表示装置(HMD:Head Mounted Display)100および端末装置としてのコントローラ200を含む。
HMD100は、ビデオシースルー方式のHMDであり、外界(現実空間)の画像を、必要に応じてグラフィック(例えば仮想物体)を合成して表示する。コントローラ200は、例えば、HMD100に表示される仮想物体等を操作することができる。
図1(A)は、HMD100の構成を例示するブロック図である。CPU101は、HMD100が備える各ブロックに対する制御プログラムをROM102から読み出し、RAM103に展開して実行する。これにより、CPU101は、HMD100が備える各ブロックの動作を制御する。CPU101によって実行される処理の一部は、ハードウェア回路により実行されてもよい。
ROM102は、電気的に消去および記録可能な不揮発性メモリである。ROM102は、HMD100が備える各ブロックの動作プログラムに加え、各ブロックの動作に使用されるパラメータ等を記憶する。
RAM103は、書き換え可能な揮発性メモリである。RAM103は、例えば、CPU101等が実行するプログラムを展開したり、HMD100が備える各ブロックの動作で生成されたデータを一時的に記憶したりするために用いられる。
撮像部104は、光学系(レンズ)、CCDまたはCMOSセンサといった撮像素子、A/D変換器等を有するカメラである。撮像部104は、光学系により撮像面上に結像された光学像を光電変換し、アナログ画像信号を出力する。アナログ画像信号は、A/D変換器によりデジタル画像データに変換され、RAM103に一時的に記憶される。
表示部105は、撮像部104による撮像画像およびその他の視覚的オブジェクトの表示制御を行う。入力部106は、ユーザからの操作を受け付ける。記憶部107は、撮像部104によって撮像された撮像画像、アプリケーションプログラム、アプリケーションプログラムにより生成された各種データ等を記憶する。
通信部108は、外部機器と有線または無線により通信するためのインタフェースである。通信部108は、例えば、Wi-Fiおよび/またはBLE(Bluetooth(登録商標) Low Energy)等の通信規格により、コントローラ200等の他の機器との無線通信が可能である。
CPU101は、機能ブロックとして位置姿勢取得部109、マップ生成部110、およびマップ抽出部111を有する。位置姿勢取得部109は、HMD100の位置姿勢の情報を取得する。位置姿勢取得部109は、SLAM技術を用いて、撮像部104による撮像画像から位置姿勢の情報を取得することができる。
マップ生成部110は、位置姿勢取得部109がHMD100の位置姿勢の情報を取得するために使用するSLAMのマップ情報を生成する。マップ生成部110は、例えば、定期的に撮像されたキーフレーム画像を、画像上の特徴点の情報および撮像時のHMD100の位置姿勢の情報等と対応づけ、マップ情報(地図情報)として記憶部107に記録する。位置姿勢取得部109は、非特許文献2に開示されるように、撮像画像から検出した特徴点を追跡しつつ、適宜キーフレームを作成・最適化しながら、キーフレーム情報の集合であるマップ情報の特徴点を使ってHMD100の位置姿勢の最適化を行うことを通じて、HMD100の位置姿勢の情報を推定することができる。
マップ抽出部111は、マップ生成部110が生成したHMD100のマップ情報から、コントローラ200の位置指定の推定に用いるマップ情報を抽出する。抽出されたマップ情報は、抽出マップ情報とも称される。抽出マップ情報は、コントローラ200に送信される。抽出マップ情報は、HMD100のマップ情報の一部を抽出して生成されるため、コントローラ200に送信するデータ量が抑制され、コントローラ200の処理負荷は軽減される。
図1(B)は、コントローラ200の構成を例示するブロック図である。CPU201は、コントローラ200が備える各ブロックに対する制御プログラムをROM202から読み出し、RAM203に展開して実行する。これにより、CPU201は、コントローラ200が備える各ブロックの動作を制御する。CPU201によって実行される処理の一部は、ハードウェア回路により実行されてもよい。
ROM202は、電気的に消去および記録可能な不揮発性メモリである。ROM202は、コントローラ200が備える各ブロックの動作プログラムに加え、各ブロックの動作に使用されるパラメータ等を記憶する。
RAM203は、書き換え可能な揮発性メモリである。RAM203は、例えば、CPU201等が実行するプログラムを展開したり、コントローラ200が備える各ブロックの動作で生成されたデータを一時的に記憶したりするために用いられる。
撮像部204は、HMD100の撮像部104と同様に、光学系、CCDまたはCMOSセンサといった撮像素子、A/D変換器等を有するカメラである。撮像部204は、複数のカメラを備えてもよい。撮像部204は、例えば、モノクロの単眼カメラである。
入力部206は、ユーザからの操作を受け付ける。記憶部207は、撮像部204によって撮像された撮像画像、アプリケーションプログラム、アプリケーションプログラムにより生成された各種データ等を記憶する。通信部208は、外部機器と有線または無線により通信するためのインタフェースであり、Wi-Fiおよび/またはBLE等の通信規格により、HMD100等の他の機器との無線通信が可能である。
CPU201は、機能ブロックとして位置姿勢取得部209を有する。位置姿勢取得部209は、コントローラ200の位置姿勢の情報を取得する。位置姿勢取得部209は、撮像部204による撮像画像からコントローラ200の位置姿勢の情報を取得する。また、コントローラ200は不図示のIMU(Inertial Measurement Unit、慣性計測装置)を有し、位置姿勢取得部209は、IMUで計測された加速度および角速度に基づいて、コントローラ200の位置姿勢を推定してもよい。
位置姿勢取得部209は、撮像部204による撮像画像またはIMUを用いたオドメトリ(自律航法)によりコントローラ200の位置姿勢の情報を取得し、所定のタイミングで、抽出マップ情報を用いて位置姿勢の情報を取得してもよい。すなわち、位置姿勢取得部209は、所定のタイミングで、撮像部204による撮像画像およびマップ抽出部111が抽出した抽出マップ情報を用いてコントローラ200の位置姿勢の情報を取得する。
所定のタイミングは、例えば、定期的または定時的なタイミングである。抽出マップ情報を用いてコントローラ200の位置姿勢の情報を取得する頻度は、コントローラ200の処理能力に応じて決定されてもよく、処理能力が低いほど頻度は少なくしてもよい。また、所定のタイミングは、コントローラ200の移動速度の上昇または不規則な動き等により、オドメトリによる位置姿勢情報の精度が低下したタイミングであってもよい。
オドメトリによる位置姿勢情報の取得では誤差が蓄積されるが、位置姿勢取得部209は、撮像部204による撮像画像と抽出マップ情報とを用いることで、蓄積された誤差を解消し、精度良くコントローラ200の位置姿勢の情報を取得することができる。
図2は、実施形態1に係る情報処理システムを説明する図である。情報処理システム1は、HMD100およびコントローラ200を有する。HMD100の位置姿勢取得部109は、撮像部104による撮像画像を用いて、HMD100の位置姿勢の情報を取得する。HMD100は、HMD100の位置姿勢の情報と、当該位置姿勢で撮像された撮像画像であるキーフレーム画像とに基づいて、マップ120(マップ情報)を生成する。また、マップ120は、キーフレーム画像から検出された特徴点の情報を含む。HMD100は、マップ120の一部を抽出して抽出マップ121(抽出マップ情報)を生成する。生成された抽出マップ121は、コントローラ200に送信される。
コントローラ200の位置姿勢取得部209は、撮像部204による撮像画像を用いて、コントローラ200の位置姿勢の情報を取得する。また、位置姿勢補正部210は、所定のタイミングで、撮像部204による撮像画像およびHMD100から受信した抽出マップ121を用いて、コントローラ200の位置姿勢の情報を取得する。
図3は、キーフレーム情報を説明する図である。図3の例は、HMD100の軌跡上のキーフレームKF1からキーフレームKF6までの分布を示す。各キーフレームは、HM
D100の位置姿勢の情報と、当該位置姿勢で撮像されたキーフレーム画像とを対応づけたキーフレーム情報を有する。マップ120は、キーフレーム情報を複数含んでおり、図3では簡略化するために一部のキーフレームのみが示されている。また、キーフレームの位置は2次元上に図示されるが、実際には3次元空間での位置に対応する。
D100の位置姿勢の情報と、当該位置姿勢で撮像されたキーフレーム画像とを対応づけたキーフレーム情報を有する。マップ120は、キーフレーム情報を複数含んでおり、図3では簡略化するために一部のキーフレームのみが示されている。また、キーフレームの位置は2次元上に図示されるが、実際には3次元空間での位置に対応する。
キーフレーム情報は、例えば、所定の時間ごと、または所定の移動距離ごとに作成される。所定の時間および所定の移動距離は、例えば、HMD100の移動速度および処理能力等に応じて決定することができる。作成されたキーフレーム情報は、マップ120として記憶部107に記憶される。
キーフレーム情報は、キーフレーム画像、位置姿勢の情報、キーフレーム木構造情報、複数の特徴点情報等を含む。キーフレーム画像は、キーフレーム情報の作成時に、撮像部104によって撮像された画像である。キーフレーム画像は、メタ情報としてキーフレーム画像の作成日時の情報を含んでもよい。なお、キーフレーム画像の作成日時は、キーフレーム情報として保持されてもよい。
位置姿勢の情報は、キーフレーム画像を撮像したときのHMD100の位置姿勢の情報であり、例えば、XYZの座標系で表される。キーフレーム木構造情報は、撮影順および位置関係等のキーフレーム間の関係を示す情報である。特徴点情報は、キーフレーム画像に撮像された特徴点の位置の情報である。
図4~図6を参照して、HMD100のマップ抽出部111が、マップ120からキーフレーム情報を抽出し、抽出マップ121を生成する方法について説明する。
(第1の抽出方法)
図4は、抽出マップ121の第1の抽出方法を説明する図である。マップ抽出部111は、コントローラ200の周辺領域で作成されたキーフレーム情報をマップ120から抽出する。図4の例では、コントローラ200の周辺領域が矩形401の場合、キーフレームKF1およびキーフレームKF2のキーフレーム情報が抽出マップ121として抽出され、コントローラ200に送信される。
図4は、抽出マップ121の第1の抽出方法を説明する図である。マップ抽出部111は、コントローラ200の周辺領域で作成されたキーフレーム情報をマップ120から抽出する。図4の例では、コントローラ200の周辺領域が矩形401の場合、キーフレームKF1およびキーフレームKF2のキーフレーム情報が抽出マップ121として抽出され、コントローラ200に送信される。
コントローラ200が矢印410の向きに移動すると、マップ抽出部111は、矩形402に含まれるキーフレームKF2~KF4のキーフレーム情報を抽出して抽出マップ121を生成する。コントローラ200の移動に応じて、周辺領域は、さらに矩形403、矩形404に変更され、それぞれの矩形領域に含まれるキーフレーム情報が抽出マップ121として抽出される。マップ抽出部111は、例えば、コントローラ200が所定時間または所定距離の移動をした場合に、抽出マップ121を生成する。生成された抽出マップ121は、通信部108により、コントローラ200に送信される。
コントローラ200の周辺領域は、例えば、コントローラ200の位置を中心とした直方体や球体等の領域とすることができる。コントローラ200の位置は、例えば、周辺領域を決定する際にコントローラ200から取得する。周辺領域の大きさは、例えば、CPU201の処理能力、記憶部207の記憶容量、周辺領域内のキーフレーム情報の数に基づいて決定することができる。
HMD100のマップ抽出部111は、例えば、撮像部104による撮像画像からコントローラ200を検出することにより、コントローラ200の位置を取得し、周辺領域を決定することができる。また、マップ抽出部111は、コントローラ200から受信した位置情報を用いて周辺領域を決定してもよい。
なお、マップ抽出部111がマップ120から抽出してコントローラ200に送信する送信割合は、コントローラ200の処理能力および記憶容量に基づいて変更されてもよい。すなわち、マップ抽出部111は、コントローラ200の処理能力および記憶容量の少なくともいずれかに基づいて、マップ120から抽出するキーフレーム情報の抽出量または抽出割合を変更する。
また、マップ抽出部111は、コントローラ200の移動速度に基づいて、マップ120から抽出するキーフレーム情報の抽出量または抽出割合を変更してもよい。例えば、コントローラ200で実行されるアプリケーションの種類、過去の使用時の移動速度の履歴等の情報に基づいて、移動速度が速くなることが想定される場合、HMD100は、抽出マップ121の抽出量または抽出割合を多くすることが好ましい。この場合、抽出マップ121の抽出量または抽出割合は、アプリケーションの種類などに応じて、あらかじめ設定しておいてもよい。
また、コントローラ200が静止したタイミングで、HMD100は、コントローラ200の次の移動に備えて抽出マップ121の抽出量を増やしてもよい。
また、マップ抽出部111は、コントローラ200の位置姿勢の情報の取得状況に基づいて、マップ120から抽出するキーフレーム情報の抽出量または抽出割合を変更してもよい。例えば、コントローラ200が、撮像部204による撮像画像のブラー等により位置姿勢の情報が取得されなくなるロスト状態となった場合に、マップ抽出部111は、抽出量または抽出割合を増やしてもよい。
(第2の抽出方法)
図5は、抽出マップ121の第2の抽出方法を説明する図である。マップ抽出部111は、キーフレーム(キーフレーム画像を撮像した位置)が分布する領域全体(体験領域)を複数に分割した分割領域ごとに、代表となるキーフレーム情報を抽出することにより、抽出マップ121を生成する。
図5は、抽出マップ121の第2の抽出方法を説明する図である。マップ抽出部111は、キーフレーム(キーフレーム画像を撮像した位置)が分布する領域全体(体験領域)を複数に分割した分割領域ごとに、代表となるキーフレーム情報を抽出することにより、抽出マップ121を生成する。
図5の例では、マップ抽出部111は、分割領域501~分割領域504から、それぞれキーフレームKF1、キーフレームKF2、キーフレームKF4、キーフレームKF6を選択してキーフレーム情報を抽出する。マップ抽出部111は、分割領域ごとに代表となるキーフレーム情報を抽出することで抽出量を減らすことができる。
マップ抽出部111は、キーフレーム情報の品質に基づいて、各分割領域から代表となるキーフレーム情報を選択することができる。キーフレーム情報の品質は、例えば、キーフレームの最適化処理(非特許文献1を参照)を行った時に発生したキーフレーム位置の修正量、キーフレーム画像に映る特徴点数(特徴点を後から削る処理がある場合には残存特徴点数)、キーフレーム画像におけるブラーの割合、キーフレーム画像における移動物体の数、またはキーフレーム情報の生成時期などである。マップ抽出部111は、分割領域内のキーフレーム情報のうち、キーフレーム位置の修正量がより少ないキーフレーム情報、キーフレーム画像に紐づく特徴点数が多いキーフレーム情報、ブラーがより少ないキーフレーム情報、移動物体がより少ないキーフレーム情報、作成日時がより新しいキーフレーム情報を代表として選択することができる。
分割領域の数および分割領域の大きさは、キーフレームが分布する領域全体(体験領域)の大きさに基づいて変更されてもよい。体験領域が大きくなって分割領域の数が増えると抽出量が増加するため、マップ抽出部111は、分割領域の大きさを大きくすることで分割数を少なくしてもよい。分割領域の数および分割領域の大きさが変更されると、マップ抽出部111は抽出マップ121を生成し、通信部108を介して、生成した抽出マッ
プ121をコントローラ200に送信するようにしてもよい。
プ121をコントローラ200に送信するようにしてもよい。
(第3の抽出方法)
図6~図8を参照して、抽出マップ121の第3の抽出方法を説明する。マップ抽出部111は、キーフレーム画像に撮像された特徴点の位置の分散、または特徴点の再投影誤差に基づいて、キーフレーム情報を抽出する。
図6~図8を参照して、抽出マップ121の第3の抽出方法を説明する。マップ抽出部111は、キーフレーム画像に撮像された特徴点の位置の分散、または特徴点の再投影誤差に基づいて、キーフレーム情報を抽出する。
図6および図7は、キーフレーム画像に撮像された特徴点の位置の分散に基づいてキーフレーム情報を抽出する第3の抽出方法の第1の例を説明する図である。キーフレーム画像には複数の特徴点が映っており、第1の例では、マップ抽出部111は、キーフレーム画像に撮像された複数の特徴点について、それぞれ位置の分散を計算する。マップ抽出部111は、例えば、各特徴点の分散の平均値を、キーフレーム情報を抽出するための指標値として用いることができる。マップ抽出部111は、キーフレーム画像に含まれる各特徴点の位置の分散の平均がより小さいキーフレーム画像を優先して抽出する。図6は、キーフレーム情報を抽出するために個々のキーフレームの品質を測る指標値の算出方法の第1の例を説明するフローチャートである。
マップ抽出部111は、マップ120に含まれるすべてのキーフレーム画像i(図6の例ではi=1,…,N、Nは自然数)に対し、キーフレーム画像iにおける特徴点の位置の分散の平均を計算する処理L1を実行する。
処理L1のステップS101において、マップ抽出部111は、キーフレーム画像iに撮像された特徴点の情報を取得する。この時の特徴点の情報は非特許文献1に示すような最適化処理を施す前の情報であり、キーフレームから観測した時の奥行値と画像中の座標の情報を含む。同一の特徴点であっても、観測するキーフレームによって三次元位置は微小に異なる。
マップ抽出部111は、キーフレーム画像iに撮像されたすべての特徴点j(図6の例ではj=1,…,Mi、Miはキーフレーム画像iごとに異なる自然数)に対し、特徴点jの位置の分散を計算する処理L2を実行する。
処理L2のステップS102において、マップ抽出部111は、特徴点jの位置の分散を計算する。マップ抽出部111は、キーフレーム画像iに撮像されたすべての特徴点j(j=1,…,Mi)の位置の分散を計算すると、ステップS103に進む。
処理L1のステップS103において、マップ抽出部111は、キーフレーム画像iについて、ステップS102で得られた各特徴点jの位置の分散の平均を指標値として計算する。なお、各特徴点jの位置の分散から一つの指標値が得られればよく、指標値の計算方法は必ずしも平均を計算する方法に限られない。指標値の計算方法は、単純加算平均の他、中央値、重みづけをした平均など、多様な方法を用いることができる。
マップ抽出部111は、マップ120に含まれるすべてのキーフレーム画像i(i=1,…,N)について特徴点の位置の分散の平均を計算すると、ステップS104に進む。ステップS104において、マップ抽出部111は、ステップS103で計算した特徴点の位置の分散の平均が閾値以下のキーフレーム情報を抽出する。抽出されたキーフレーム情報は、通信部108によりコントローラ200に送信される。
図7の例では、マップ抽出部111は、指標値として算出された特徴点の位置の分散の平均が0.40未満であるキーフレームKF1およびキーフレームKF4のキーフレーム情報を抽出する。このように、マップ抽出部111は、閾値を設定して分散が閾値未満の
キーフレーム情報を抽出してもよく、分散が低い方から所定の割合の数のキーフレーム情報を抽出してもよい。
キーフレーム情報を抽出してもよく、分散が低い方から所定の割合の数のキーフレーム情報を抽出してもよい。
図8は、キーフレーム画像に撮像された特徴点の再投影誤差に基づいてキーフレーム情報を抽出する第3の抽出方法の第2の例を説明する図である。マップ抽出部111は、特徴点の再投影誤差がより小さいキーフレーム画像を優先して抽出する。図8は、キーフレーム情報を抽出するために個々のキーフレームの品質を測る指標値の算出方法の第2の例を説明するフローチャートである。
マップ抽出部111は、マップ120に含まれるすべてのキーフレーム画像i(図8の例ではi=1,…,N、Nは自然数)に対し、キーフレーム画像iにおける特徴点の再投影誤差の平均を計算する処理L3を実行する。処理L3のステップS201の処理は、図6のステップS101と同様である。
マップ抽出部111は、キーフレーム画像iに撮像されたすべての特徴点j(図8の例ではj=1,…,Mi、Miはキーフレーム画像iごとに異なる自然数)に対し、特徴点jの再投影誤差を計算する処理L4を実行する。
処理L4のステップS202において、マップ抽出部111は、特徴点jの再投影誤差を計算する。位置姿勢取得部109が取得したHMD100の位置姿勢を元に、仮に1m先などに投影面を設定してマップに含まれる各特徴点を再投影した際に、現在位置姿勢で見える特徴点の画像座標と、投影面に再投影した特徴点の2次元座標との差分が再投影誤差である。マップ抽出部111は、キーフレーム画像iに撮像されたすべての特徴点j(j=1,…,Mi)の再投影誤差を計算すると、ステップS203に進む。
処理L3のステップS203において、マップ抽出部111は、キーフレーム画像iについて、ステップS202で得られた各特徴点jの再投影誤差の平均を指標値として計算する。なお、一つの指標値が得られればよく、指標値の計算方法は必ずしも平均を計算する方法に限られない。指標値の計算方法は、単純加算平均の他、中央値、重みづけをした平均など、多様な方法を用いることができる。
マップ抽出部111は、マップ120に含まれるすべてのキーフレーム画像i(i=1,…,N)について特徴点の再投影誤差の平均を計算すると、ステップS204に進む。ステップS204において、マップ抽出部111は、ステップS203で計算した特徴点の再投影誤差の平均が閾値以下のキーフレーム情報を抽出する。抽出されたキーフレーム情報は、通信部108によりコントローラ200に送信される。
なお、マップ抽出部111は、キーフレーム画像に撮像された特徴点の位置の分散および特徴点の再投影誤差に限られず、キーフレームの品質を示す各種指標値に基づいてキーフレーム情報を抽出することができる。
(その他の抽出方法)
上記の第1~3の抽出方法の他、第2の抽出方法で、分割領域から代表となるキーフレーム情報を選択した場合と同様に、キーフレーム情報の品質に基づいて、マップ120から抽出マップ121を生成してもよい。キーフレーム情報の品質は、例えば、キーフレームの最適化処理(非特許文献1を参照)を行った時に発生したキーフレーム位置の修正量、キーフレーム画像に映る特徴点数(特徴点を後から削る処理がある場合には残存特徴点数)、キーフレーム画像におけるブラーの割合、キーフレーム画像における移動物体の数、またはキーフレーム情報の生成時期などである。
上記の第1~3の抽出方法の他、第2の抽出方法で、分割領域から代表となるキーフレーム情報を選択した場合と同様に、キーフレーム情報の品質に基づいて、マップ120から抽出マップ121を生成してもよい。キーフレーム情報の品質は、例えば、キーフレームの最適化処理(非特許文献1を参照)を行った時に発生したキーフレーム位置の修正量、キーフレーム画像に映る特徴点数(特徴点を後から削る処理がある場合には残存特徴点数)、キーフレーム画像におけるブラーの割合、キーフレーム画像における移動物体の数、またはキーフレーム情報の生成時期などである。
マップ抽出部111は、マップ120のキーフレーム情報のうち、キーフレームの最適化処理の結果キーフレーム位置の修正量が小さい方から所定数(所定割合)のキーフレーム情報、またはキーフレーム位置の修正量が閾値以上のキーフレーム情報を抽出してもよい。また、マップ抽出部111は、キーフレーム画像に映る特徴点数が多い方から所定数(所定割合)のキーフレーム情報、またはキーフレーム画像に紐づく特徴点数が閾値以上のキーフレーム情報を抽出してもよい。また、マップ抽出部111は、キーフレーム画像においてブラーの領域の割合が閾値以下であるキーフレーム情報を抽出してもよい。また、マップ抽出部111は、キーフレーム画像で検出された移動物体の数が所定数以下、またはキーフレーム画像において移動物体が占める領域の割合が閾値以下であるキーフレーム情報を抽出してもよい。また、マップ抽出部111は、キーフレーム情報の作成日時が新しい方から所定数(所定割合)のキーフレーム情報を抽出してもよい。
また、マップ抽出部111は、特定の位置を示すマーカを含むキーフレーム情報を抽出してもよい。さらに、マップ抽出部111は、コントローラ200の撮像部204による撮像方向に基づいて、マップ120からキーフレーム情報を抽出してもよい。撮像部204がよく向けられる方向のキーフレーム情報が優先して抽出されるようにするため、例えば3軸の正負の方向に対し、あらかじめ重み付けをする。撮像部204がよく向けられる方向には、より大きい重みが設定される。マップ抽出部111は、各方向の重みに比例する数のキーフレーム情報をそれぞれの方向から抽出して抽出マップ121を生成することができる。マップ抽出部111は、以上の条件から選択された複数の条件を組み合わせてキーフレーム情報を抽出してもよい。
抽出マップ121は、抽出方法に応じて複数回コントローラ200に送信されるが、コントローラ200は、過去に受信した抽出マップ121のうち、コントローラ200の記憶容量に応じて、古い抽出マップ121から順次削除してもよい。
上記の実施形態1によれば、コントローラ200は、HMD100で生成された抽出マップ121を用いてコントローラ200の位置姿勢の情報を取得することで、精度よくコントローラ200の位置姿勢を推定することができる。また、マップ120の一部を抽出した抽出マップ121をHMD100から受信するため、HMD100よりも処理能力および記憶容量が小さいコントローラ200であっても、好適に位置姿勢を推定することができる。
なお、上記の第1~第3の抽出方法およびその他の抽出方法は、適宜組み合わせて適用することが可能である。また、HMD100は、1つのコントローラ200に限られず、複数のコントローラ200のそれぞれに対して抽出マップ121を生成し、複数のコントローラ200に対し、それぞれに対応する抽出マップ121を送信してもよい。
<実施形態2>
実施形態1では、コントローラ200は、HMD100から抽出マップ121を受信し、撮像部204による撮像画像と受信した抽出マップ121とに基づいて、コントローラ200の位置姿勢の情報を取得する。これに対し、実施形態2では、コントローラ200は、撮像部204による撮像画像をHMD100に送信し、HMD100にコントローラ200の位置姿勢の情報を取得させる。
実施形態1では、コントローラ200は、HMD100から抽出マップ121を受信し、撮像部204による撮像画像と受信した抽出マップ121とに基づいて、コントローラ200の位置姿勢の情報を取得する。これに対し、実施形態2では、コントローラ200は、撮像部204による撮像画像をHMD100に送信し、HMD100にコントローラ200の位置姿勢の情報を取得させる。
実施形態2に係るHMD100の構成は図1(A)と同様であるが、通信部108の処理は実施形態1と異なる。実施形態2に係るコントローラ200の構成は図1(B)と同様であるが、通信部208および位置姿勢取得部209の処理は実施形態1と異なる。以下、実施形態1と異なる処理について説明する。
図9は、実施形態2に係る情報処理システムを説明する図である。コントローラ200の通信部208は、撮像部204による撮像画像をHMD100に送信する。HMD100は、コントローラ200から受信した撮像部204による撮像画像と、マップ生成部110が生成したマップ120とに基づいて、コントローラ200の位置姿勢の情報を取得する。マップ120は、実施形態1と同様に、HMD100の位置姿勢の情報と当該位置姿勢で撮像されたキーフレーム画像とに基づいて生成されたマップ情報である。HMD100の通信部108は、取得したコントローラ200の位置姿勢の情報を、コントローラ200に送信する。
コントローラ200は、所定の時間間隔でHMD100に撮像画像を送信し、HMD100で取得されたコントローラ200の位置姿勢の情報を受信する。HMD100からコントローラ200の位置姿勢の情報を受信し、次にHMD100に撮像画像を送信するまでの間、コントローラ200は、オドメトリによりコントローラ200の位置姿勢の情報を取得してもよい。
上記の実施形態2によれば、コントローラ200は、マップ120を用いてHMD100において取得されたコントローラ200の位置姿勢の情報を受信するため、精度よくコントローラ200の位置姿勢を推定することができる。また、コントローラ200は、マップ120の生成、コントローラ200の位置姿勢の情報取得の処理を実行しないため、処理負荷が軽減される。また、マップ情報を保持しないため、記憶容量は、実施形態1のコントローラ200より少なくてもよい。
<実施形態3>
実施形態2では、コントローラ200は、撮像部204による撮像画像をHMD100に送信し、HMD100にコントローラ200の位置姿勢の情報を取得させる。これに対し、実施形態3では、コントローラ200は、撮像部204による撮像画像をHMD100に送信し、HMD100にコントローラ200用のマップを生成させる。
実施形態2では、コントローラ200は、撮像部204による撮像画像をHMD100に送信し、HMD100にコントローラ200の位置姿勢の情報を取得させる。これに対し、実施形態3では、コントローラ200は、撮像部204による撮像画像をHMD100に送信し、HMD100にコントローラ200用のマップを生成させる。
実施形態3に係るHMD100の構成は、図1(A)の構成のうちマップ抽出部111を除く構成と同様であるが、通信部108、位置姿勢取得部109、マップ生成部110の処理は実施形態1と異なる。実施形態2に係るコントローラ200の構成は図1(B)と同様であるが、通信部208および位置姿勢取得部209の処理は実施形態1と異なる。以下、実施形態1と異なる処理について説明する。
図10は、実施形態3に係る情報処理システムを説明する図である。コントローラ200の通信部208は、撮像部204による撮像画像をHMD100に送信する。HMD100の位置姿勢取得部109は、コントローラ200から受信した撮像画像を用いてコントローラ200の位置姿勢の情報を取得する。マップ生成部110は、コントローラ200の位置姿勢の情報と、当該位置姿勢で撮像された撮像画像であるキーフレーム画像とに基づいてコントローラ用マップ130を生成する。通信部108は、生成されたコントローラ用マップ130をコントローラ200に送信する。
コントローラ200は、撮像部204による撮像画像およびHMD100から受信したコントローラ用マップ130を用いて、コントローラ200の位置姿勢の情報を取得する。コントローラ200は、コントローラ200よりも処理能力が高いHMD100で生成されたコントローラ用マップ130を用いることで、精度よくコントローラ200の位置姿勢の情報を取得することができる。なお、HMD100は、コントローラ200から受信した撮像部204による撮像画像を用いて非リアルタイムでコントローラ用マップ130を生成し、コントローラ200に送信してもよい。
また、HMD100は、実施形態1で生成したHMD100用のマップ120、およびコントローラ用マップ130を組み合わせることにより、新たなコントローラ用マップ130を生成してもよい。HMD100は、例えば、マップ120およびコントローラ用マップ130から品質を示す各種指標が所定の条件を満たすキーフレーム情報を抽出して組み合わせることにより、新たなコントローラ用マップ130を生成することができる。また、HMD100は、公知のSLAMによるマップの統合処理によって、マップ120とコントローラ用マップ130とを統合してもよい。
また、HMD100の位置姿勢取得部109はコントローラ200から受信した撮像画像からHMD100を検出することにより、コントローラ200の位置姿勢の情報を取得してもよい。具体的には、HMD100は、マップ120を用いてHMD100の位置姿勢の情報を取得し、コントローラ200から受信した撮像画像でのHMD100の検出結果からコントローラ200の相対的な位置姿勢を取得する。HMD100は、HMD100の位置姿勢とコントローラ200の相対的な位置姿勢とに基づいて、コントローラ200の位置姿勢の情報を取得することができる。
上記の実施形態3によれば、コントローラ200は、HMD100で生成されたコントローラ用マップ130を用いて、コントローラ200の位置姿勢の情報を取得するため、精度よくコントローラ200の位置姿勢を推定することができる。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本実施形態の開示は、以下の構成、方法、およびプログラムを含む。
(構成1)
情報処理装置と端末装置とを有し、前記端末装置の位置姿勢を推定するための情報処理システムであって、
前記情報処理装置は、
第1撮像手段と
前記第1撮像手段による撮像画像を用いて前記情報処理装置の位置姿勢の情報を取得する第1取得手段と、
前記情報処理装置の位置姿勢の情報と、当該位置姿勢で撮像された撮像画像であるキーフレーム画像とに基づいてマップ情報を生成する生成手段と、
前記マップ情報の一部を抽出する抽出手段と、
前記抽出手段によって抽出された抽出マップ情報を前記端末装置に送信する通信手段と
を有し、
前記端末装置は、
第2撮像手段と、
前記第2撮像手段による撮像画像および前記情報処理装置から送信された前記抽出マップ情報を用いて、前記端末装置の位置姿勢の情報を取得する第2取得手段と
を有することを特徴とする情報処理システム。
(構成2)
前記第2取得手段は、第2撮像手段による撮像画像を用いて前記端末装置の位置姿勢の情報を取得し、所定のタイミングで、前記第2撮像手段による撮像画像および前記情報処理装置から送信された前記抽出マップ情報を用いて前記端末装置の位置姿勢の情報を取得する
ことを特徴とする構成1に記載の情報処理システム。
(構成3)
前記所定のタイミングは、定期的または定時的なタイミングである
ことを特徴とする構成2に記載の情報処理システム。
(構成4)
前記マップ情報は、前記情報処理装置の位置姿勢の情報と、当該位置姿勢で撮像された前記キーフレーム画像とを対応づけたキーフレーム情報を複数含む
ことを特徴とする構成1~3のいずれか1項に記載の情報処理システム。
(構成5)
前記抽出手段は、前記端末装置の周辺領域で作成された前記キーフレーム情報を、前記マップ情報から抽出する
ことを特徴とする構成4に記載の情報処理システム。
(構成6)
前記周辺領域の大きさは、前記端末装置の処理能力、前記端末装置の記憶部の記憶容量、前記周辺領域内の前記キーフレーム情報の数の少なくともいずれかに基づいて決定される
ことを特徴とする構成5に記載の情報処理システム。
(構成7)
前記抽出手段は、前記キーフレーム画像を撮像した位置が分布する領域を複数に分割した分割領域ごとに、代表となる前記キーフレーム情報を抽出する
ことを特徴とする構成4に記載の情報処理システム。
(構成8)
前記抽出手段は、前記キーフレーム画像を撮像した位置が分布する領域の大きさに基づいて、前記分割領域の数または前記分割領域の大きさを変更する
ことを特徴とする構成7に記載の情報処理システム。
(構成9)
前記通信手段は、前記分割領域の数または前記分割領域の大きさが変更された場合に、前記端末装置に前記抽出マップ情報を送信する
ことを特徴とする構成7または8に記載の情報処理システム。
(構成10)
前記抽出手段は、前記キーフレーム画像に撮像された特徴点の位置の分散、または前記特徴点の再投影誤差に基づいて、前記キーフレーム情報を抽出する
ことを特徴とする構成4に記載の情報処理システム。
(構成11)
前記抽出手段は、前記キーフレーム画像におけるブラーの割合、前記キーフレーム画像における移動物体の数、または前記キーフレーム情報の生成時期に基づいて、前記マップ情報から前記キーフレーム情報を抽出する
ことを特徴とする構成4~10のいずれか1項に記載の情報処理システム。
(構成12)
前記抽出手段は、前記端末装置の撮像方向に基づいて、前記マップ情報から前記キーフレーム情報を抽出する
ことを特徴とする構成4~11のいずれか1項に記載の情報処理システム。
(構成13)
前記端末装置は、慣性計測手段をさらに有し、
前記第2取得手段は、前記慣性計測手段によって前記端末装置の位置姿勢の情報を取得し、所定のタイミングで、前記第2撮像手段による撮像画像および前記情報処理装置から送信された前記抽出マップ情報を用いて前記端末装置の位置姿勢の情報を取得する
ことを特徴とする構成1に記載の情報処理システム。
(構成14)
前記抽出手段は、前記端末装置の処理能力および記憶容量の少なくともいずれかに基づ
いて、前記マップ情報から抽出する抽出量または抽出割合を変更する
ことを特徴とする構成1~13のいずれか1項に記載の情報処理システム。
(構成15)
前記抽出手段は、前記端末装置の移動速度または前記端末装置の位置姿勢の情報の取得状況に基づいて、前記マップ情報から抽出する抽出量または抽出割合を変更する
ことを特徴とする構成1~14のいずれか1項に記載の情報処理システム。
(構成16)
前記抽出手段は、複数の前記端末装置のそれぞれに対して前記抽出マップ情報を生成し、
前記通信手段は、前記複数の前記端末装置に対し、それぞれに対応する前記抽出マップ情報を送信する
構成1~15のいずれか1項に記載の情報処理システム。
(構成17)
情報処理装置と端末装置とを有し、前記端末装置の位置姿勢を推定するための情報処理システムであって、
前記端末装置は、
第2撮像手段と、
前記第2撮像手段による撮像画像を前記情報処理装置に送信する送信手段と
を有し
前記情報処理装置は、
第1撮像手段と
前記第1撮像手段による撮像画像を用いて前記情報処理装置の位置姿勢の情報を取得する第1取得手段と、
前記情報処理装置の位置姿勢の情報と、当該位置姿勢で撮像された撮像画像であるキーフレーム画像とに基づいてマップ情報を生成する生成手段と、
前記第2撮像手段による撮像画像と前記マップ情報とに基づいて、前記端末装置の位置姿勢の情報を取得する取得手段と、
前記端末装置の位置姿勢の情報を前記端末装置に送信する通信手段と
を有することを特徴とする情報処理システム。
(構成18)
情報処理装置と端末装置とを有し、前記端末装置の位置姿勢を推定するための情報処理システムであって、
前記情報処理装置は、
前記端末装置から受信した撮像画像を用いて前記端末装置の位置姿勢の情報を取得する第1取得手段と、
前記端末装置の位置姿勢の情報と、当該位置姿勢で撮像された撮像画像であるキーフレーム画像とに基づいてマップ情報を生成する生成手段と、
前記マップ情報を前記端末装置に送信する通信手段と
を有し、
前記端末装置は、
第2撮像手段と、
前記第2撮像手段による撮像画像および前記情報処理装置から送信された前記マップ情報を用いて、前記端末装置の位置姿勢の情報を取得する第2取得手段と
を有することを特徴とする情報処理システム。
(構成19)
前記第1取得手段は、前記情報処理装置による撮像画像を用いて前記情報処理装置の位置姿勢の情報を取得し、
前記生成手段は、前記端末装置の位置姿勢の情報と、当該位置姿勢で撮像された撮像画像であるキーフレーム画像とに基づく第1マップ情報、および、前記情報処理装置の位置姿勢の情報と、当該位置姿勢で撮像された撮像画像であるキーフレーム画像とに基づく第
2マップ情報を組み合わせて前記マップ情報を生成する
ことを特徴とする構成18に記載の情報処理システム。
(構成20)
前記第1取得手段は、前記端末装置による撮像画像から、前記情報処理装置を検出することにより、前記端末装置の位置姿勢の情報を取得する
ことを特徴とする構成18または19に記載の情報処理システム。
(構成21)
端末装置が位置姿勢を推定するためのマップ情報を生成する情報処理装置であって、
撮像手段と
前記撮像手段による撮像画像を用いて前記情報処理装置の位置姿勢の情報を取得する取得手段と、
前記情報処理装置の位置姿勢の情報と、当該位置姿勢で撮像された撮像画像であるキーフレーム画像とに基づいて前記マップ情報を生成する生成手段と、
前記マップ情報の一部を抽出し、前記端末装置の姿勢情報を取得するために用いられる抽出マップ情報を生成する抽出手段と、
前記抽出マップ情報を前記端末装置に送信する通信手段と
を有することを特徴とする情報処理装置。
(構成22)
情報処理装置から受信したマップ情報を用いて位置姿勢を推定する端末装置であって、
撮像手段と、
前記情報処理装置の位置姿勢の情報と、当該位置姿勢で撮像された撮像画像であるキーフレーム画像とに基づいて生成されたマップ情報の一部を抽出した抽出マップ情報を、前記情報処理装置から受信する通信手段と、
前記撮像手段による撮像画像および前記情報処理装置から送信された前記抽出マップ情報を用いて、前記端末装置の位置姿勢の情報を取得する取得手段と
を有することを特徴とする端末装置。
(方法)
情報処理装置と端末装置とを有し、前記端末装置の位置姿勢を推定するための情報処理システムの制御方法であって、
前記情報処理装置の第1撮像手段による撮像画像を用いて前記情報処理装置の位置姿勢の情報を取得する第1取得ステップと、
前記情報処理装置の位置姿勢の情報と、当該位置姿勢で撮像された撮像画像であるキーフレーム画像とに基づいてマップ情報を生成する生成ステップと、
前記マップ情報の一部を抽出する抽出ステップと、
前記抽出ステップで抽出された抽出マップ情報を前記端末装置に送信する通信ステップと、
前記端末装置の第2撮像手段による撮像画像および前記情報処理装置から送信された前記抽出マップ情報を用いて、前記端末装置の位置姿勢の情報を取得する第2取得ステップと
を有することを特徴とする制御方法。
(プログラム)
構成23に記載の制御方法の各ステップをコンピュータに実行させるためのプログラム。
(構成1)
情報処理装置と端末装置とを有し、前記端末装置の位置姿勢を推定するための情報処理システムであって、
前記情報処理装置は、
第1撮像手段と
前記第1撮像手段による撮像画像を用いて前記情報処理装置の位置姿勢の情報を取得する第1取得手段と、
前記情報処理装置の位置姿勢の情報と、当該位置姿勢で撮像された撮像画像であるキーフレーム画像とに基づいてマップ情報を生成する生成手段と、
前記マップ情報の一部を抽出する抽出手段と、
前記抽出手段によって抽出された抽出マップ情報を前記端末装置に送信する通信手段と
を有し、
前記端末装置は、
第2撮像手段と、
前記第2撮像手段による撮像画像および前記情報処理装置から送信された前記抽出マップ情報を用いて、前記端末装置の位置姿勢の情報を取得する第2取得手段と
を有することを特徴とする情報処理システム。
(構成2)
前記第2取得手段は、第2撮像手段による撮像画像を用いて前記端末装置の位置姿勢の情報を取得し、所定のタイミングで、前記第2撮像手段による撮像画像および前記情報処理装置から送信された前記抽出マップ情報を用いて前記端末装置の位置姿勢の情報を取得する
ことを特徴とする構成1に記載の情報処理システム。
(構成3)
前記所定のタイミングは、定期的または定時的なタイミングである
ことを特徴とする構成2に記載の情報処理システム。
(構成4)
前記マップ情報は、前記情報処理装置の位置姿勢の情報と、当該位置姿勢で撮像された前記キーフレーム画像とを対応づけたキーフレーム情報を複数含む
ことを特徴とする構成1~3のいずれか1項に記載の情報処理システム。
(構成5)
前記抽出手段は、前記端末装置の周辺領域で作成された前記キーフレーム情報を、前記マップ情報から抽出する
ことを特徴とする構成4に記載の情報処理システム。
(構成6)
前記周辺領域の大きさは、前記端末装置の処理能力、前記端末装置の記憶部の記憶容量、前記周辺領域内の前記キーフレーム情報の数の少なくともいずれかに基づいて決定される
ことを特徴とする構成5に記載の情報処理システム。
(構成7)
前記抽出手段は、前記キーフレーム画像を撮像した位置が分布する領域を複数に分割した分割領域ごとに、代表となる前記キーフレーム情報を抽出する
ことを特徴とする構成4に記載の情報処理システム。
(構成8)
前記抽出手段は、前記キーフレーム画像を撮像した位置が分布する領域の大きさに基づいて、前記分割領域の数または前記分割領域の大きさを変更する
ことを特徴とする構成7に記載の情報処理システム。
(構成9)
前記通信手段は、前記分割領域の数または前記分割領域の大きさが変更された場合に、前記端末装置に前記抽出マップ情報を送信する
ことを特徴とする構成7または8に記載の情報処理システム。
(構成10)
前記抽出手段は、前記キーフレーム画像に撮像された特徴点の位置の分散、または前記特徴点の再投影誤差に基づいて、前記キーフレーム情報を抽出する
ことを特徴とする構成4に記載の情報処理システム。
(構成11)
前記抽出手段は、前記キーフレーム画像におけるブラーの割合、前記キーフレーム画像における移動物体の数、または前記キーフレーム情報の生成時期に基づいて、前記マップ情報から前記キーフレーム情報を抽出する
ことを特徴とする構成4~10のいずれか1項に記載の情報処理システム。
(構成12)
前記抽出手段は、前記端末装置の撮像方向に基づいて、前記マップ情報から前記キーフレーム情報を抽出する
ことを特徴とする構成4~11のいずれか1項に記載の情報処理システム。
(構成13)
前記端末装置は、慣性計測手段をさらに有し、
前記第2取得手段は、前記慣性計測手段によって前記端末装置の位置姿勢の情報を取得し、所定のタイミングで、前記第2撮像手段による撮像画像および前記情報処理装置から送信された前記抽出マップ情報を用いて前記端末装置の位置姿勢の情報を取得する
ことを特徴とする構成1に記載の情報処理システム。
(構成14)
前記抽出手段は、前記端末装置の処理能力および記憶容量の少なくともいずれかに基づ
いて、前記マップ情報から抽出する抽出量または抽出割合を変更する
ことを特徴とする構成1~13のいずれか1項に記載の情報処理システム。
(構成15)
前記抽出手段は、前記端末装置の移動速度または前記端末装置の位置姿勢の情報の取得状況に基づいて、前記マップ情報から抽出する抽出量または抽出割合を変更する
ことを特徴とする構成1~14のいずれか1項に記載の情報処理システム。
(構成16)
前記抽出手段は、複数の前記端末装置のそれぞれに対して前記抽出マップ情報を生成し、
前記通信手段は、前記複数の前記端末装置に対し、それぞれに対応する前記抽出マップ情報を送信する
構成1~15のいずれか1項に記載の情報処理システム。
(構成17)
情報処理装置と端末装置とを有し、前記端末装置の位置姿勢を推定するための情報処理システムであって、
前記端末装置は、
第2撮像手段と、
前記第2撮像手段による撮像画像を前記情報処理装置に送信する送信手段と
を有し
前記情報処理装置は、
第1撮像手段と
前記第1撮像手段による撮像画像を用いて前記情報処理装置の位置姿勢の情報を取得する第1取得手段と、
前記情報処理装置の位置姿勢の情報と、当該位置姿勢で撮像された撮像画像であるキーフレーム画像とに基づいてマップ情報を生成する生成手段と、
前記第2撮像手段による撮像画像と前記マップ情報とに基づいて、前記端末装置の位置姿勢の情報を取得する取得手段と、
前記端末装置の位置姿勢の情報を前記端末装置に送信する通信手段と
を有することを特徴とする情報処理システム。
(構成18)
情報処理装置と端末装置とを有し、前記端末装置の位置姿勢を推定するための情報処理システムであって、
前記情報処理装置は、
前記端末装置から受信した撮像画像を用いて前記端末装置の位置姿勢の情報を取得する第1取得手段と、
前記端末装置の位置姿勢の情報と、当該位置姿勢で撮像された撮像画像であるキーフレーム画像とに基づいてマップ情報を生成する生成手段と、
前記マップ情報を前記端末装置に送信する通信手段と
を有し、
前記端末装置は、
第2撮像手段と、
前記第2撮像手段による撮像画像および前記情報処理装置から送信された前記マップ情報を用いて、前記端末装置の位置姿勢の情報を取得する第2取得手段と
を有することを特徴とする情報処理システム。
(構成19)
前記第1取得手段は、前記情報処理装置による撮像画像を用いて前記情報処理装置の位置姿勢の情報を取得し、
前記生成手段は、前記端末装置の位置姿勢の情報と、当該位置姿勢で撮像された撮像画像であるキーフレーム画像とに基づく第1マップ情報、および、前記情報処理装置の位置姿勢の情報と、当該位置姿勢で撮像された撮像画像であるキーフレーム画像とに基づく第
2マップ情報を組み合わせて前記マップ情報を生成する
ことを特徴とする構成18に記載の情報処理システム。
(構成20)
前記第1取得手段は、前記端末装置による撮像画像から、前記情報処理装置を検出することにより、前記端末装置の位置姿勢の情報を取得する
ことを特徴とする構成18または19に記載の情報処理システム。
(構成21)
端末装置が位置姿勢を推定するためのマップ情報を生成する情報処理装置であって、
撮像手段と
前記撮像手段による撮像画像を用いて前記情報処理装置の位置姿勢の情報を取得する取得手段と、
前記情報処理装置の位置姿勢の情報と、当該位置姿勢で撮像された撮像画像であるキーフレーム画像とに基づいて前記マップ情報を生成する生成手段と、
前記マップ情報の一部を抽出し、前記端末装置の姿勢情報を取得するために用いられる抽出マップ情報を生成する抽出手段と、
前記抽出マップ情報を前記端末装置に送信する通信手段と
を有することを特徴とする情報処理装置。
(構成22)
情報処理装置から受信したマップ情報を用いて位置姿勢を推定する端末装置であって、
撮像手段と、
前記情報処理装置の位置姿勢の情報と、当該位置姿勢で撮像された撮像画像であるキーフレーム画像とに基づいて生成されたマップ情報の一部を抽出した抽出マップ情報を、前記情報処理装置から受信する通信手段と、
前記撮像手段による撮像画像および前記情報処理装置から送信された前記抽出マップ情報を用いて、前記端末装置の位置姿勢の情報を取得する取得手段と
を有することを特徴とする端末装置。
(方法)
情報処理装置と端末装置とを有し、前記端末装置の位置姿勢を推定するための情報処理システムの制御方法であって、
前記情報処理装置の第1撮像手段による撮像画像を用いて前記情報処理装置の位置姿勢の情報を取得する第1取得ステップと、
前記情報処理装置の位置姿勢の情報と、当該位置姿勢で撮像された撮像画像であるキーフレーム画像とに基づいてマップ情報を生成する生成ステップと、
前記マップ情報の一部を抽出する抽出ステップと、
前記抽出ステップで抽出された抽出マップ情報を前記端末装置に送信する通信ステップと、
前記端末装置の第2撮像手段による撮像画像および前記情報処理装置から送信された前記抽出マップ情報を用いて、前記端末装置の位置姿勢の情報を取得する第2取得ステップと
を有することを特徴とする制御方法。
(プログラム)
構成23に記載の制御方法の各ステップをコンピュータに実行させるためのプログラム。
100:HMD(情報処理装置)、101:CPU、104:撮像部、108:通信部、109:位置姿勢取得部、110:マップ生成部、111:マップ抽出部、120:マップ、121:抽出マップ
200:コントローラ(端末装置)、204:撮像部、209:位置姿勢取得部
200:コントローラ(端末装置)、204:撮像部、209:位置姿勢取得部
Claims (24)
- 情報処理装置と端末装置とを有し、前記端末装置の位置姿勢を推定するための情報処理システムであって、
前記情報処理装置は、
第1撮像手段と
前記第1撮像手段による撮像画像を用いて前記情報処理装置の位置姿勢の情報を取得する第1取得手段と、
前記情報処理装置の位置姿勢の情報と、当該位置姿勢で撮像された撮像画像であるキーフレーム画像とに基づいてマップ情報を生成する生成手段と、
前記マップ情報の一部を抽出する抽出手段と、
前記抽出手段によって抽出された抽出マップ情報を前記端末装置に送信する通信手段と
を有し、
前記端末装置は、
第2撮像手段と、
前記第2撮像手段による撮像画像および前記情報処理装置から送信された前記抽出マップ情報を用いて、前記端末装置の位置姿勢の情報を取得する第2取得手段と
を有することを特徴とする情報処理システム。 - 前記第2取得手段は、第2撮像手段による撮像画像を用いて前記端末装置の位置姿勢の情報を取得し、所定のタイミングで、前記第2撮像手段による撮像画像および前記情報処理装置から送信された前記抽出マップ情報を用いて前記端末装置の位置姿勢の情報を取得する
ことを特徴とする請求項1に記載の情報処理システム。 - 前記所定のタイミングは、定期的または定時的なタイミングである
ことを特徴とする請求項2に記載の情報処理システム。 - 前記マップ情報は、前記情報処理装置の位置姿勢の情報と、当該位置姿勢で撮像された前記キーフレーム画像とを対応づけたキーフレーム情報を複数含む
ことを特徴とする請求項1~3のいずれか1項に記載の情報処理システム。 - 前記抽出手段は、前記端末装置の周辺領域で作成された前記キーフレーム情報を、前記マップ情報から抽出する
ことを特徴とする請求項4に記載の情報処理システム。 - 前記周辺領域の大きさは、前記端末装置の処理能力、前記端末装置の記憶部の記憶容量、前記周辺領域内の前記キーフレーム情報の数の少なくともいずれかに基づいて決定される
ことを特徴とする請求項5に記載の情報処理システム。 - 前記抽出手段は、前記キーフレーム画像を撮像した位置が分布する領域を複数に分割した分割領域ごとに、代表となる前記キーフレーム情報を抽出する
ことを特徴とする請求項4に記載の情報処理システム。 - 前記抽出手段は、前記キーフレーム画像を撮像した位置が分布する領域の大きさに基づいて、前記分割領域の数または前記分割領域の大きさを変更する
ことを特徴とする請求項7に記載の情報処理システム。 - 前記通信手段は、前記分割領域の数または前記分割領域の大きさが変更された場合に、前記端末装置に前記抽出マップ情報を送信する
ことを特徴とする請求項7に記載の情報処理システム。 - 前記抽出手段は、前記キーフレーム画像に撮像された特徴点の位置の分散、または前記特徴点の再投影誤差に基づいて、前記キーフレーム情報を抽出する
ことを特徴とする請求項4に記載の情報処理システム。 - 前記抽出手段は、前記キーフレーム画像におけるブラーの割合、前記キーフレーム画像における移動物体の数、または前記キーフレーム情報の生成時期に基づいて、前記マップ情報から前記キーフレーム情報を抽出する
ことを特徴とする請求項4に記載の情報処理システム。 - 前記抽出手段は、前記端末装置の撮像方向に基づいて、前記マップ情報から前記キーフレーム情報を抽出する
ことを特徴とする請求項4に記載の情報処理システム。 - 前記端末装置は、慣性計測手段をさらに有し、
前記第2取得手段は、前記慣性計測手段によって前記端末装置の位置姿勢の情報を取得し、所定のタイミングで、前記第2撮像手段による撮像画像および前記情報処理装置から送信された前記抽出マップ情報を用いて前記端末装置の位置姿勢の情報を取得する
ことを特徴とする請求項1に記載の情報処理システム。 - 前記抽出手段は、前記端末装置の処理能力および記憶容量の少なくともいずれかに基づいて、前記マップ情報から抽出する抽出量または抽出割合を変更する
ことを特徴とする請求項1~3のいずれか1項に記載の情報処理システム。 - 前記抽出手段は、前記端末装置の移動速度または前記端末装置の位置姿勢の情報の取得状況に基づいて、前記マップ情報から抽出する抽出量または抽出割合を変更する
ことを特徴とする請求項1~3のいずれか1項に記載の情報処理システム。 - 前記抽出手段は、複数の前記端末装置のそれぞれに対して前記抽出マップ情報を生成し、
前記通信手段は、前記複数の前記端末装置に対し、それぞれに対応する前記抽出マップ情報を送信する
請求項1~3のいずれか1項に記載の情報処理システム。 - 情報処理装置と端末装置とを有し、前記端末装置の位置姿勢を推定するための情報処理システムであって、
前記端末装置は、
第2撮像手段と、
前記第2撮像手段による撮像画像を前記情報処理装置に送信する送信手段と
を有し
前記情報処理装置は、
第1撮像手段と
前記第1撮像手段による撮像画像を用いて前記情報処理装置の位置姿勢の情報を取得する第1取得手段と、
前記情報処理装置の位置姿勢の情報と、当該位置姿勢で撮像された撮像画像であるキーフレーム画像とに基づいてマップ情報を生成する生成手段と、
前記第2撮像手段による撮像画像と前記マップ情報とに基づいて、前記端末装置の位
置姿勢の情報を取得する取得手段と、
前記端末装置の位置姿勢の情報を前記端末装置に送信する通信手段と
を有することを特徴とする情報処理システム。 - 情報処理装置と端末装置とを有し、前記端末装置の位置姿勢を推定するための情報処理システムであって、
前記情報処理装置は、
前記端末装置から受信した撮像画像を用いて前記端末装置の位置姿勢の情報を取得する第1取得手段と、
前記端末装置の位置姿勢の情報と、当該位置姿勢で撮像された撮像画像であるキーフレーム画像とに基づいてマップ情報を生成する生成手段と、
前記マップ情報を前記端末装置に送信する通信手段と
を有し、
前記端末装置は、
第2撮像手段と、
前記第2撮像手段による撮像画像および前記情報処理装置から送信された前記マップ情報を用いて、前記端末装置の位置姿勢の情報を取得する第2取得手段と
を有することを特徴とする情報処理システム。 - 前記第1取得手段は、前記情報処理装置による撮像画像を用いて前記情報処理装置の位置姿勢の情報を取得し、
前記生成手段は、前記端末装置の位置姿勢の情報と、当該位置姿勢で撮像された撮像画像であるキーフレーム画像とに基づく第1マップ情報、および、前記情報処理装置の位置姿勢の情報と、当該位置姿勢で撮像された撮像画像であるキーフレーム画像とに基づく第2マップ情報を組み合わせて前記マップ情報を生成する
ことを特徴とする請求項18に記載の情報処理システム。 - 前記第1取得手段は、前記端末装置による撮像画像から、前記情報処理装置を検出することにより、前記端末装置の位置姿勢の情報を取得する
ことを特徴とする請求項18または19に記載の情報処理システム。 - 端末装置が位置姿勢を推定するためのマップ情報を生成する情報処理装置であって、
撮像手段と
前記撮像手段による撮像画像を用いて前記情報処理装置の位置姿勢の情報を取得する取得手段と、
前記情報処理装置の位置姿勢の情報と、当該位置姿勢で撮像された撮像画像であるキーフレーム画像とに基づいて前記マップ情報を生成する生成手段と、
前記マップ情報の一部を抽出し、前記端末装置の姿勢情報を取得するために用いられる抽出マップ情報を生成する抽出手段と、
前記抽出マップ情報を前記端末装置に送信する通信手段と
を有することを特徴とする情報処理装置。 - 情報処理装置から受信したマップ情報を用いて位置姿勢を推定する端末装置であって、
撮像手段と、
前記情報処理装置の位置姿勢の情報と、当該位置姿勢で撮像された撮像画像であるキーフレーム画像とに基づいて生成されたマップ情報の一部を抽出した抽出マップ情報を、前記情報処理装置から受信する通信手段と、
前記撮像手段による撮像画像および前記情報処理装置から送信された前記抽出マップ情報を用いて、前記端末装置の位置姿勢の情報を取得する取得手段と
を有することを特徴とする端末装置。 - 情報処理装置と端末装置とを有し、前記端末装置の位置姿勢を推定するための情報処理システムの制御方法であって、
前記情報処理装置の第1撮像手段による撮像画像を用いて前記情報処理装置の位置姿勢の情報を取得する第1取得ステップと、
前記情報処理装置の位置姿勢の情報と、当該位置姿勢で撮像された撮像画像であるキーフレーム画像とに基づいてマップ情報を生成する生成ステップと、
前記マップ情報の一部を抽出する抽出ステップと、
前記抽出ステップで抽出された抽出マップ情報を前記端末装置に送信する通信ステップと、
前記端末装置の第2撮像手段による撮像画像および前記情報処理装置から送信された前記抽出マップ情報を用いて、前記端末装置の位置姿勢の情報を取得する第2取得ステップと
を有することを特徴とする制御方法。 - 請求項23に記載の制御方法の各ステップをコンピュータに実行させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022109047A JP2024007754A (ja) | 2022-07-06 | 2022-07-06 | 情報処理システム、情報処理装置、端末装置および情報処理システムの制御方法 |
PCT/JP2023/015064 WO2024009581A1 (ja) | 2022-07-06 | 2023-04-13 | 情報処理システム、情報処理装置、端末装置および情報処理システムの制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022109047A JP2024007754A (ja) | 2022-07-06 | 2022-07-06 | 情報処理システム、情報処理装置、端末装置および情報処理システムの制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024007754A true JP2024007754A (ja) | 2024-01-19 |
Family
ID=89453063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022109047A Pending JP2024007754A (ja) | 2022-07-06 | 2022-07-06 | 情報処理システム、情報処理装置、端末装置および情報処理システムの制御方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2024007754A (ja) |
WO (1) | WO2024009581A1 (ja) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5471626B2 (ja) * | 2010-03-09 | 2014-04-16 | ソニー株式会社 | 情報処理装置、マップ更新方法、プログラム及び情報処理システム |
JP6922348B2 (ja) * | 2017-03-31 | 2021-08-18 | 富士通株式会社 | 情報処理装置、方法、及びプログラム |
JP7341652B2 (ja) * | 2018-01-12 | 2023-09-11 | キヤノン株式会社 | 情報処理装置、情報処理方法、プログラム、およびシステム |
JP6860620B2 (ja) * | 2018-07-06 | 2021-04-14 | キヤノン株式会社 | 情報処理装置、情報処理方法、及びプログラム |
WO2020054498A1 (ja) * | 2018-09-13 | 2020-03-19 | ソニー株式会社 | 情報処理装置、端末装置、情報処理システム、情報処理方法及びプログラム |
JP7182976B2 (ja) * | 2018-09-27 | 2022-12-05 | キヤノン株式会社 | 情報処理装置、情報処理方法、およびプログラム |
-
2022
- 2022-07-06 JP JP2022109047A patent/JP2024007754A/ja active Pending
-
2023
- 2023-04-13 WO PCT/JP2023/015064 patent/WO2024009581A1/ja unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024009581A1 (ja) | 2024-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112567201B (zh) | 距离测量方法以及设备 | |
KR101725060B1 (ko) | 그래디언트 기반 특징점을 이용한 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법 | |
US8798387B2 (en) | Image processing device, image processing method, and program for image processing | |
KR101776621B1 (ko) | 에지 기반 재조정을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법 | |
US9001222B2 (en) | Image processing device, image processing method, and program for image processing for correcting displacement between pictures obtained by temporally-continuous capturing | |
CN108335337B (zh) | 一种正射影像图的生成方法及装置 | |
US10150485B2 (en) | Method and device for processing image data, and driver-assistance system for a vehicle | |
WO2022193508A1 (zh) | 位姿优化方法、装置、电子设备、计算机可读存储介质、计算机程序及程序产品 | |
CN108519102B (zh) | 一种基于二次投影的双目视觉里程计算方法 | |
JP2019124538A (ja) | 情報処理装置、システム、情報処理方法 | |
JP6499047B2 (ja) | 計測装置、方法及びプログラム | |
EP3529978B1 (en) | An image synthesis system | |
CN113029128B (zh) | 视觉导航方法及相关装置、移动终端、存储介质 | |
CN111507132B (zh) | 一种定位方法、装置及设备 | |
CN103900473A (zh) | 一种基于摄像头与重力感应器融合的智能移动设备六自由度位姿估计方法 | |
CN113240813A (zh) | 三维点云信息确定方法及装置 | |
CN111105467A (zh) | 一种图像标定方法、装置及电子设备 | |
CN111553342B (zh) | 一种视觉定位方法、装置、计算机设备和存储介质 | |
WO2024009581A1 (ja) | 情報処理システム、情報処理装置、端末装置および情報処理システムの制御方法 | |
US20230104937A1 (en) | Absolute scale depth calculation device, absolute scale depth calculation method, and computer program product | |
US20210256732A1 (en) | Image processing method and unmanned aerial vehicle | |
WO2020223868A1 (zh) | 地面信息处理方法、装置和无人驾驶车辆 | |
JP2022011821A (ja) | 情報処理装置、情報処理方法、移動ロボット | |
JP2021103410A (ja) | 移動体及び撮像システム | |
JP2021043486A (ja) | 位置推定装置 |