JP6723743B2 - 情報処理装置、情報処理方法、およびプログラム - Google Patents

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

Info

Publication number
JP6723743B2
JP6723743B2 JP2015257146A JP2015257146A JP6723743B2 JP 6723743 B2 JP6723743 B2 JP 6723743B2 JP 2015257146 A JP2015257146 A JP 2015257146A JP 2015257146 A JP2015257146 A JP 2015257146A JP 6723743 B2 JP6723743 B2 JP 6723743B2
Authority
JP
Japan
Prior art keywords
virtual content
map
image
orientation
change
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.)
Active
Application number
JP2015257146A
Other languages
English (en)
Other versions
JP2017120558A (ja
Inventor
祐一郎 廣田
祐一郎 廣田
片山 昭宏
昭宏 片山
藤木 真和
真和 藤木
小竹 大輔
大輔 小竹
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 JP2015257146A priority Critical patent/JP6723743B2/ja
Priority to US15/389,206 priority patent/US10573073B2/en
Publication of JP2017120558A publication Critical patent/JP2017120558A/ja
Application granted granted Critical
Publication of JP6723743B2 publication Critical patent/JP6723743B2/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
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、情報処理装置、情報処理方法、およびプログラムに関し、特に、撮像装置で撮像した画像に仮想コンテンツを重畳して表示するために用いて好適なものである。
複合現実感(Mixed Reality)技術(以下、MR技術と称する)がある。MR技術は、カメラと、ディスプレイを搭載するヘッドマウントディスプレイ(HMD)やタブレットPC等のデバイスとを用いて、カメラが撮像した画像に仮想コンテンツを重畳してディスプレイに表示する技術である。
通常、MR技術では、カメラが撮像した画像と、シーン中にある画像と照合可能な指標の空間配置を表すマップとを照合することで推定したカメラの位置姿勢を用いて、仮想コンテンツの画像内における重畳位置を決定する。一般的にマップや、マップとカメラで撮像した画像とを照合する処理は誤差を含む。この為、マップとカメラで撮像した画像とを照合することで推定されたカメラの位置姿勢は誤差を含む。この誤差によって仮想コンテンツの重畳位置が変動してしまいユーザに違和感を与えることがある。特許文献1には、カメラの位置姿勢の時系列の履歴を考慮して仮想コンテンツの重畳位置を補正する技術が開示されている。
特許第3793158号公報
マップとカメラで撮像した画像とを照合する処理の誤差に起因する仮想コンテンツの表示位置は、比較的高周波で変化する。従って、特許文献1に記載の技術でも、当該変化を抑制することができる。しかしながら、照合時に参照するマップの変更によって生じる仮想コンテンツの表示位置の変化は、散発的に発生する。従って、特許文献1に記載の技術では、当該仮想コンテンツの表示位置の変化を除去することはできず、マップの変更時にユーザに違和感を与える虞がある。
本発明は以上の課題を鑑みてなされたものであり、撮像した画像に対する仮想コンテンツの重畳位置を決定するために参照するマップを変更する際にユーザに与える違和感を軽減することを目的とする。
本発明の情報処理装置は、撮像装置により撮像された画像と照合することが可能な指標の、前記画像が撮像される空間における配置を示すマップと、前記画像とを照合することにより前記撮像装置の位置姿勢を推定した結果に基づいて、前記画像に仮想コンテンツを重畳するための処理を行う情報処理装置であって、前記撮像装置により撮像される画像に重畳される前記仮想コンテンツの見え方を評価する指標である評価指標を取得する取得手段と、前記評価指標に基づいて、前記撮像装置の位置姿勢の推定に用いる前記マップを、前記空間を計測することにより更新して新しく生成されたマップに変更することの可否を判断する判断手段と、前記判断手段により、前記マップを変更可と判断されると、現在の前記マップを新しく生成されたマップに変更する変更手段と、を有することを特徴とする。
また、本発明の情報処理装置の他の例では、撮像装置により撮像された画像と照合することが可能な指標の、前記画像が撮像される空間における配置を示すマップと、前記画像とを照合することにより前記撮像装置の位置姿勢を推定した結果に基づいて、前記画像に仮想コンテンツを重畳するための処理を行う情報処理装置であって、前記撮像装置の位置姿勢の時間変化に基づいて、前記撮像装置の位置姿勢の推定に用いる前記マップを、前記空間を計測することにより更新して新しく生成されたマップに変更することの可否を判断する判断手段を有することを特徴とする。
本発明によれば、撮像した画像に対する仮想コンテンツの重畳位置を決定するために参照するマップを変更する際にユーザに与える違和感を軽減することができる。
情報処理装置のハードウェアの構成を示す図である。 MRシステムの構成の第1の例を示す図である。 MRシステムの処理の第1の例の示すフローチャートである。 MRシステムの構成の第2の例を示す図である。 MRシステムの構成の第3の例を示す図である。 MRシステムの処理の第2の例の示すフローチャートである。 MRシステムの構成の第4の例を示す図である。 MRシステムの処理の第3の例の示すフローチャートである。
各実施形態を説明するのに先立ち、各実施形態に示す情報処理装置が実装されるハードウェアの構成の一例について、図1を用いて説明する。
図1は、情報処理装置100のハードウェアの構成の一例を示す図である。同図において、CPU110は、バス160に接続される各デバイスを統括的に制御する。CPU110は、読み出し専用メモリ(ROM)120に記憶された処理ステップやプログラムを読み出して実行する。オペレーティングシステム(OS)をはじめ、本実施形態に係る各処理プログラム、デバイスドライバ等は、例えば、ROM120に記憶される。CPU110は、ROM120に記憶されている、各処理プログラムやデバイスドライバ等を、ランダムアクセスメモリ(RAM)130に一時的に記憶し、実行する。また、入力I/F140は、外部の装置(ディスプレイや操作装置等)から、情報処理装置100で処理可能な形式で入力信号を入力する。また、出力I/F150は、外部の装置(ディスプレイ)へ、当該装置が処理可能な形式で出力信号を出力する。
<第1の実施形態>
次に、第1の実施形態を説明する。
本実施形態では、マップの生成とカメラの位置姿勢の算出とを同時に行うSLAM(Simultaneous Localization and Mapping)を採用したMRシステムを例に挙げて説明する。SLAMでは、マップの生成および更新は散発的に行われる。本実施形態では、情報処理装置100は、新しいマップを生成すると、マップの切り替えによって生じる仮想コンテンツの表示位置の変化をユーザが気づきにくいか否かを判断する。この判断の結果、ユーザが気づきにくいと判断した場合、情報処理装置100は、参照するマップを新しく生成されたマップに即座に切り替える。一方、ユーザが気づきやすいと判断した場合、情報処理装置100は、マップの切り替えを行わず、新しいマップを保持しておき、一定時間が経過した後に、再度ユーザが気づきにくいか否かを判断する。このようにユーザが仮想コンテンツの表示位置の変化に気づきにくいタイミングにマップを切り替えることでユーザが感じる違和感を軽減できる。
本実施形態では、仮想コンテンツの表示位置の変化にユーザが気づきにくいか否かを判断するために、情報処理装置100は、カメラの視点で見た場合の仮想コンテンツの見え方を表す視界情報を取得する。そして、情報処理装置100は、視界情報に基づいて、カメラの視界に仮想コンテンツが含まれているか否かを判断し、含まれていない場合には、参照するマップを変更可と判断する。以下に、本実施形態の詳細を説明する。
図2は、本実施形態に係る情報処理装置100および情報処理装置100を搭載するMRシステムのモジュール構成の一例を示す図である。
ヘッドマウントディスプレイ(HMD)200には、カメラ201とディスプレイ202とが搭載される。ユーザがHMD200を装着してMR体験空間中を自由に動き回る。画像入力部210は、このときにカメラ201が連続して撮像したフレーム画像を逐次受け取る。カメラ位置姿勢管理部211は、現在参照しているマップである参照マップ212と、画像入力部210が受け取ったフレーム画像とを照合することで、当該フレーム画像の撮像時刻におけるカメラ201の位置姿勢を算出する。本実施形態では、マップは、周囲にある物体の表面を表す三次元点と、当該三次元点を観測した画像における当該三次元点の周辺の所定の範囲の画素の輝度情報とを含む。
視界情報管理部214は、視界情報を管理して、画像描画部217および情報処理装置100(視界情報取得部221)に逐次渡す。視界情報とは、カメラ201における仮想コンテンツの見え方を決定するための幾何情報・光学情報の少なくとも何れか一方を含む。例えば、視界情報は、カメラ位置姿勢管理部211から取得したカメラ201の位置姿勢と、仮想コンテンツ情報215と、カメラ201の内部パラメータ216とを含む。仮想コンテンツ情報215は、仮想コンテンツの位置姿勢と、形状情報(形状を表すポリゴンの頂点を示す情報である頂点情報や、そのポリゴンの面を示す情報である面情報等)と、光学情報(仮想コンテンツの透明度等)とを有する。
画像描画部217は、視界情報管理部214から受け取った視界情報に基づいて、画像入力部210から受け取ったフレーム画像に仮想コンテンツを重畳した画像を生成し、ディスプレイ202に出力する。以上説明したディスプレイ202への画像の描画までの一連の処理はカメラ201から連続して送られてくる毎フレーム画像に対してリアルタイムに行われる。一方、マップ管理部219は、画像入力部210から取得して蓄積した複数のフレーム画像と、カメラ位置姿勢管理部211から取得した、各フレーム画像に対応するカメラ201の位置姿勢とを用いてマップを生成する。
マップ管理部219は、生成したマップを参照マップ切り替え候補213として保持する。マップを生成する際に、マップ管理部219は、まず、複数のフレーム画像間で相互に対応付けが可能な特徴的な画素に対して三角測量の原理で三次元点の位置を算出する。次に、その三次元点を観測したフレーム画像の中から、撮影時刻が最も新しいフレーム画像における三次元点の周辺の所定の範囲の輝度情報を三次元点の位置に添付して配列として保持する。マップ管理部219は、情報処理装置100が出力した参照マップ変更判断結果218を確認し、その判断結果が切り替え可であるときに参照マップ212を参照マップ切り替え候補213に更新する。
本実施形態の情報処理装置100は、視界情報取得部221、参照マップ変更判断部222、および判断結果出力部223を有する。視界情報取得部221は、視界情報管理部214から視界情報として、カメラの位置姿勢、仮想コンテンツ情報215、およびカメラ201の内部パラメータ216とを取得する。参照マップ変更判断部222は、視界情報に基づいて、現在参照しているマップ(参照マップ212)の変更の可否を判断する。判断結果出力部223は、参照マップ変更判断部222が判断した最新の結果を参照マップ変更判断結果218として出力する。
尚、図2では、画像入力部210、カメラ位置姿勢管理部211、視界情報管理部214、および画像描画部217が情報処理装置100内に含まれる場合を例に挙げて示す。しかしながら、これらの少なくとも一部を情報処理装置100以外の装置(例えばHMD200)に含めてもよい。
次に、図3のフローチャートを参照しながら、MRシステムの処理の一例の詳細を説明する。
(ステップS301)
ステップS301では、MRシステムの初期化処理が行われる。具体的には、MRシステムを使用するシーン中に、画像から自動的に検出することが可能であり、且つ、特徴点が既知の寸法で配置されたマーカーボードを予めユーザに配置してもらう。ユーザは、HMD200のカメラ201でそのマーカーボードを撮像するための操作を行う。マップ管理部219は、この操作に基づいてカメラ201で撮像された画像を取得すると、取得した画像からマーカーボード上の特徴点の三次元位置を三次元点の位置として算出して、その周辺の画素の輝度情報と共に初期の参照マップ212として設定する。HMD200は、マップの計算処理を実行するステップS311以降のループ処理と、マップ切り替え処理を実行するステップS321以降のループ処理とを起動する。ステップS311以降のループ処理とステップS321以降のループ処理は、ステップS301〜S309の処理とは非同期に実行される。また、HMD200は、仮想コンテンツ情報215と、カメラ201の内部パラメータ216とを予め保存されているメモリ領域から取得する。
(ステップS302)
ステップS302は、以降ユーザがMR体験を終了するまで繰り返し実行されるループ処理である。ステップS303からステップS308までの処理を、ユーザがリアルタイムで認知できるフレームレートで、このループ処理は実行される。
(ステップS303)
ステップS303では、画像入力部210は、HMD200のカメラ201から画像を取得する。
(ステップS304)
ステップS304では、カメラ位置姿勢管理部211は、ステップS303で取得された画像を、参照マップ212と照合することで、当該画像が撮像されたときのカメラ201の位置姿勢を算出する。その具体例を説明すると、カメラ位置姿勢管理部211は、参照マップ212に保存されている三次元点とその周辺の輝度情報に、カメラ201の或る位置姿勢と、カメラ201の内部パラメータ行列とを乗じる。次に、カメラ位置姿勢管理部211は、このようにして輝度情報(輝度値)を、ステップS303で取得された画像の領域のうち、当該輝度情報が存在する領域に対応する領域に重ね合わせる。カメラ位置姿勢管理部211は、両者の画素の輝度値の差の合計が最小となるようなカメラ201の位置姿勢を最適化計算によって算出する。
(ステップS305)
ステップS305では、画像描画部217は、ステップS303で取得された画像に仮想コンテンツを重畳した画像を生成し、HMD200のディスプレイ202に出力する。その具体例を説明すると、まず画像描画部217は、ステップS304で算出されたカメラ201の位置姿勢と、仮想コンテンツ情報215とを視界情報管理部214から受け取る。次に、画像描画部217は、カメラ201の位置姿勢と仮想コンテンツの位置姿勢とに基づいて、カメラ201を基準にした仮想コンテンツの相対的な位置姿勢を算出する。そして、画像描画部217は、仮想コンテンツの相対的な位置姿勢と、カメラ201の内部パラメータ行列とを仮想コンテンツの形状情報に乗じることで、カメラ201で撮像された画像における仮想コンテンツの表示位置を決定する。そして、画像描画部217は、決定した位置に仮想コンテンツの光学情報に従ってレンダリングを行う。
(ステップS306)
ステップS306では、視界情報取得部221は、視界情報管理部214から、カメラ201の視点で見た場合の仮想コンテンツの見え方を決める視界情報として、以下の情報を取得する。即ち、視界情報取得部221は、カメラ201の位置姿勢と、仮想コンテンツ情報215と、カメラ201の内部パラメータ216とを取得する。
(ステップS307)
ステップS307では、参照マップ変更判断部222は、ステップS306で取得された視界情報に基づいて、参照マップ212の変更の可否を判断する。ここでは、ステップS306で取得された視界情報として、カメラ201の位置姿勢と、仮想コンテンツの位置姿勢および形状情報(ポリゴンの頂点情報)と、カメラ201の内部パラメータ216とを用いる。本実施形態では、参照マップ変更判断部222は、画像を撮像したときのカメラ201の視点において仮想コンテンツがカメラ201の視界(撮像範囲)に入っていない場合には、参照マップ212を変更可と判断し、そうでない場合には変更不可と判断する。
その具体例を説明すると、まず参照マップ変更判断部222は、カメラ201の位置姿勢と、仮想コンテンツの位置姿勢とに基づいて、カメラ201を基準にした仮想コンテンツの相対的な位置姿勢を算出する。そして、参照マップ変更判断部222は、仮想コンテンツの相対的な位置姿勢と、カメラ201の内部パラメータとを、仮想コンテンツの形状を表すポリゴンの各頂点の三次元座標に乗じる。参照マップ変更判断部222は、このようにして、カメラ画像投影面(カメラ201で撮像された画像の投影面)における仮想コンテンツの各頂点の二次元位置を算出する。参照マップ変更判断部222は、カメラ画像投影面における仮想コンテンツの各頂点の二次元位置のうち、カメラ201の視野内に収まっている点が一つもない場合には、参照マップ212を変更可と判断し、そうでない場合には、変更不可と判断する。そして、参照マップ変更判断部222は、その判断の結果を保持する。
(ステップS308)
ステップS308では、判断結果出力部223は、ステップS307で判断された結果を、参照マップ変更判断結果218を保持するメモリ領域に出力する。
(ステップS309)
ステップS309では、MRシステムの終了処理が行われる。具体的には、ステップS301で起動した、ステップS311以降のループ処理とステップS321以降のループ処理とを終了させ、図3に示すフローチャートを実行するプログラムの実行にあたって確保したリソースを開放する。
次に、ステップS301で起動されたマップ計算処理を表すステップS311以降のループ処理の一例を説明する。
(ステップS311)
ステップS311は、ステップS301で起動されて以降、ステップS309の終了処理が実行されるまで繰り返し実行されるループ処理である。
(ステップS312)
ステップS312では、マップ管理部219は、ステップS303で取得されて蓄積された所定の数の画像と、それらの画像に対応するステップS304で算出されたカメラ201の位置姿勢とのペアのそれぞれに対してマップを計算する。そして、マップ管理部219は、計算したマップを、参照マップ切り替え候補213を保持するメモリ領域に出力する。
次に、ステップS301で起動されたマップ切り替え処理を表すステップS321のループ処理の一例を説明する。
(ステップS321)
ステップS321は、ステップS301で起動されて以降、ステップS309の終了処理が実行されるまで繰り返し実行されるループ処理である。
(ステップS322)
ステップS322では、マップ管理部219は、参照マップ切り替え候補213を保持するメモリ領域を確認し、参照マップ切り替え候補の存在の有無を確認する。この確認の結果、参照マップ切り替え候補がある場合にはステップS323に進む。一方、参照マップ切り替え候補がない場合には、ループ処理の最初(ステップS321)に戻り、一定時間待ってから再度ループ処理を行う。
(ステップS323)
ステップS323では、マップ管理部219は、参照マップ変更判断結果218を保持するメモリ領域を確認し、参照マップ212の変更が可能であるか否かを判断する。この判断の結果、参照マップ212の変更が可能である場合には、ステップS324に進む。 一方、参照マップ212の変更が不可である場合には、ループ処理の最初(ステップS321)に戻り、一定時間待ってから再度ループ処理を行う。
(ステップS324)
ステップS324では、マップ管理部219は、参照マップ212を切り替える。その具体例を説明すると、マップ管理部219は、参照マップ切り替え候補213として保持されているマップを参照マップ212として設定した後に、参照マップ切り替え候補213を保持するメモリ領域を空にする。
以上のように本実施形態では、カメラ201の視界に仮想コンテンツが含まれるか否かに基づいて参照マップ212の変更の可否を判断する。従って、MR体験中の参照マップの切り替えによって生じる仮想コンテンツ表示位置の変化によってユーザに与える違和感を軽減することができる。
[変形例1−1]
本実施形態では、ステップS307において、仮想コンテンツがカメラ201の視野に含まれていないときに参照マップ212を変更すると判断する場合を例に挙げて説明した。しかしながら、必ずしもこのようにする必要はない。カメラ201で撮像された画像に仮想コンテンツを重畳した場合の、当該画像(の面積)における、仮想コンテンツの表示領域(の面積)が占める割合に基づいて、参照マップ212を変更するか否かを判断しても良い。ユーザは、カメラ201で撮像された画像における、仮想コンテンツの表示領域が占める割合が小さいとき程、参照マップ212の変更によって発生する仮想コンテンツの位置の変化に気づきにくい。従って、カメラ201で撮像された画像における、仮想コンテンツの表示領域が占める割合が小さいときに参照マップ212を変更することで、以下の効果が得られる。即ち、仮想コンテンツがカメラ201の視野内に長時間存在する場合においても、ユーザに与える違和感が比較的小さいタイミングで、参照マップ212を変更することができる。
以下に、本変形例に係る情報処理装置100の処理として、前述した第1の実施形態と異なる処理であるステップS307の処理の一例を説明する。
(ステップS307)
ステップS307では、参照マップ変更判断部222は、ステップS306で取得された視界情報に基づいて、参照マップ212の変更の可否を判断する。ここでは、ステップS306で取得された視界情報として、カメラ201の位置姿勢と、仮想コンテンツの位置姿勢と形状情報(ポリゴンの頂点情報および面情報)と、カメラ201の内部パラメータ216とを用いる。本変形例では、参照マップ変更判断部222は、カメラ201で撮像された画像における、仮想コンテンツの表示領域が占める割合が所定の値よりもが小さい場合には、参照マップ212を変更可と判断し、そうでない場合には変更不可と判断する。そして、参照マップ変更判断部222は、その判断の結果を保持する。
その具体例を説明すると、まず参照マップ変更判断部222は、カメラ201の位置姿勢と、仮想コンテンツの位置姿勢とに基づいて、カメラ201を基準にした仮想コンテンツの相対的な位置姿勢を算出する。そして、参照マップ変更判断部222は、仮想コンテンツの相対的な位置姿勢と、カメラ201の内部パラメータ行列とを、仮想コンテンツの形状を表すポリゴンの各面の面情報に乗じることで、仮想コンテンツをカメラ画像投影面に投影する。そして、参照マップ変更判断部222は、カメラ画像投影面のうち、カメラ201の視野範囲の領域において、仮想コンテンツのポリゴンの面が存在する画素の数をカウントし、カウントした画素の総数を、仮想コンテンツの表示領域の面積とする。参照マップ変更判断部222は、このようにして得た面積の、カメラ201で撮像された画像の全画素に対する割合を計算し、計算した割合が所定の値以下である場合には、参照マップ212を変更可と判断し、そうでない場合には変更不可と判断する。
以上のように本変形例では、カメラ201で撮像された画像における、仮想コンテンツの表示領域が占める割合が小さいときに参照マップ212を変更可と判断する。従って、仮想コンテンツが常にカメラ201の視野内にあるような場合においてもユーザに与える違和感が比較的小さいタイミングでマップを切り替えることができる。
[変形例1−2]
本実施形態および[変形例1−1]では、仮想コンテンツの見え方として、カメラ201の視点における仮想コンテンツの幾何的な見え方に基づいて、参照マップ212の変更可否を判断する場合を例に挙げて説明した。しかしながら、仮想コンテンツの見え方は、このようなものに限定されない。仮想コンテンツの幾何的な見え方だけではなく仮想コンテンツの光学的な見え方も併せて考慮した見え方に基づいて参照マップ212の変更可否を判断してもよい。こうすることで、ユーザが仮想コンテンツの表示位置の変化に気づきにくい状況(例えば、カメラ201で撮像された画像に重畳した仮想コンテンツが背景画像に溶け込んでいるような状況)を識別して参照マップ212を変更することができる。そこで、本変形例では、仮想コンテンツが背景画像に溶け込んでいることを画像の輝度勾配の大きさに基づいて判断する方法を例に挙げて説明する。
以下に、本変形例に係る情報処理装置100の処理として、前述した第1の実施形態と異なる処理であるステップS307の処理の一例を説明する。
(ステップS307)
ステップS307では、参照マップ変更判断部222は、ステップS306で取得された視界情報と、カメラ201で撮像された画像とに基づいて、参照マップ212の変更の可否を判断する。ここでは、ステップS306で取得された視界情報として、カメラ201の位置姿勢と、仮想コンテンツの位置姿勢と、形状情報(ポリゴンの頂点情報と面情報)と、仮想コンテンツの光学情報と、カメラ201の内部パラメータ216とを用いる。本変形例では、参照マップ変更判断部222は、視界情報に基づいて、カメラ201で撮像された画像に仮想コンテンツを重畳した画像を生成し、仮想コンテンツ表示領域の輝度とその周辺の輝度との変動の大きさを算出する。そして、参照マップ変更判断部222は、その輝度の変動が所定の値よりも小さい場合には、参照マップ212を変更可と判断し、そうでない場合には、変更不可と判断する。
その具体例を説明すると、まず参照マップ変更判断部222は、カメラ201で撮像された画像に仮想コンテンツを重畳した画像において、仮想コンテンツ表示領域の周囲の所定の範囲の画素を取り出した部分画像を生成する。次に、参照マップ変更判断部222は、生成した部分画像の各画素に対して輝度勾配値を算出する。次に、参照マップ変更判断部222は、部分画像の画素数に対する輝度勾配値が所定の値よりも大きい画素数の割合を算出する。そして、参照マップ変更判断部222は、算出した割合が所定の値より小さい場合には、参照マップ212を変更可と判断し、そうでない場合には、参照マップ212を変更不可と判断する。このときの、カメラ201で撮像された画像に仮想コンテンツを重畳した画像を生成する処理は、ステップS305において画像描画部217が、ステップS303で取得された画像に仮想コンテンツを重畳した画像を生成する処理と同じ処理で実現できる。尚、こうして生成される画像は、画像描画部217が生成する画像と同一なので、参照マップ変更判断部222が新たに生成せずに画像描画部217が生成した画像を共有することで計算量の節約が可能である。
本実施形態または[変形例1−1]の手法と[変形例1−2]の手法との双方で、参照マップ212を変更可と判断された場合に限り、参照マップ212を変更可と判断すれば、仮想コンテンツの幾何的な見え方だけではなく光学的な見え方も併せて考慮できる。このようにすることで、ユーザが仮想コンテンツの表示位置の変化に気づきにくいタイミングとして、仮想コンテンツが背景に溶け込んでいるようなタイミングで参照マップ212を切り替えることができる。ただし、本実施形態または[変形例1−1]の手法による判断を行わずに、[変形例1−2]の手法だけで、参照マップ212を変更可か否かを判断してもよい。
<第2の実施形態>
次に、第2の実施形態を説明する。第1の実施形態では、或る時点で取得した静的な視界情報に基づいて、参照マップ212の変更可否を判断する場合を例に挙げて説明したが、時系列で取得した視界情報の変化に基づいて参照マップ212の変更可否を判断してもよい。そこで、本実施形態では、視界情報の変化として仮想コンテンツの表示位置の移動速度を算出し、算出した移動速度の大きさが所定の値よりも大きい場合には参照マップを変更して良いと判断する。
ユーザは仮想コンテンツの表示位置が視野内で静止している時ほど参照マップ212の切り替えで生じる仮想コンテンツ表示位置の変化に気づきやすく、逆に仮想コンテンツの表示位置が動いている時は気づきにくい。従って、仮想コンテンツの表示位置の移動速度の大きさが大きいときに参照マップ212を変更することで仮想コンテンツがカメラ201の視野内にあるか否かに関わらずユーザが気づきにくいタイミングで参照マップ212を変更することができる。
このように本実施形態と第1の実施形態とは、参照マップ212の変更可否を判断する手法が主として異なる。従って、本実施形態の説明において、第1の実施形態と同一の部分については、図1〜図3に付した符号と同一の符号を付す等して詳細な説明を省略する。具体的に本実施形態と第1の実施形態とは図3のステップS307の処理が異なる。そこで、以下に、本実施形態に係る情報処理装置100の処理として、第1の実施形態と異なる処理であるステップS307の処理の一例を説明する。
(ステップS307)
ステップS307では、参照マップ変更判断部222は、ステップS306で取得された視界情報に基づいて、参照マップ212の変更の可否を判断する。ここでは、ステップS306で取得された視界情報として、カメラ201の位置姿勢と、仮想コンテンツの位置姿勢と、仮想コンテンツの形状情報(ポリゴンの頂点情報)と、カメラ201の内部パラメータ216とを用いる。本実施形態では、参照マップ変更判断部222は、時系列で取得した視界情報に基づいて、視界情報の変化として仮想コンテンツ表示位置の移動速度を算出する。そして、参照マップ変更判断部222は、算出した仮想コンテンツの表示位置の移動速度の大きさが所定の値よりも大きい場合には、参照マップ212を変更可と判断する。
その具体例を説明すると、まず参照マップ変更判断部222は、仮想コンテンツの基準位置を算出する。参照マップ変更判断部222は、仮想コンテンツの形状を表すポリゴンの頂点のX、Y、Z軸における最大値と最小値とをそれぞれ算出し、各軸の最大値と最小値を足して2で除すことで算出した三次元座標を仮想コンテンツの基準位置とする。次に、参照マップ変更判断部222は、カメラ201の位置姿勢と仮想コンテンツの位置姿勢とに基づいて、カメラ201を基準にした仮想コンテンツの相対的な位置姿勢を算出する。そして、参照マップ変更判断部222は、仮想コンテンツの相対的な位置姿勢とカメラの内部パラメータ行列とを仮想コンテンツの基準位置に乗じることで仮想コンテンツをカメラ画像投影面に投影する。これにより、カメラ画像投影面に二次元位置が得られる。参照マップ変更判断部222は、こうして得た二次元位置を仮想コンテンツの表示位置とする。参照マップ変更判断部222は、仮想コンテンツの表示位置を時系列に複数回算出することで、カメラ201で撮像された画像における仮想コンテンツの表示位置の移動速度を算出する。そして、参照マップ変更判断部222は、算出した移動速度の大きさが所定の値よりも大きい場合には、参照マップ212を変更可と判断し、そうでない場合には変更不可と判断する。
以上のように本実施形態では、仮想コンテンツの表示位置の移動速度の大きさが大きいときに参照マップ212を変更可と判断する。従って、仮想コンテンツが長時間カメラ201の視野内にある場合においてもユーザに与える違和感が比較的小さいタイミングで参照マップ212を切り替えることができる。
[変形例2−1]
本実施形態では、視界情報の時間変化として、カメラ画像投影面における仮想コンテンツの表示位置の移動速度に基づいて参照マップ212の変更の可否を判断する場合を例に挙げて説明した。しかしながら、視界情報の時間変化は、このようなものに限定されない。カメラ201の視点から見た場合の仮想コンテンツの姿勢の変化に基づいて参照マップ212の変更可否を判断しても良い。本変形例では、視界情報の変化として、仮想コンテンツの姿勢の変化の速度を算出し、仮想コンテンツの姿勢の変化の速度の大きさが所定の値よりも大きい場合には、参照マップ212を変更して良いと判断する。ユーザは、仮想コンテンツの姿勢が視野内で静止している時ほど仮想コンテンツの表示位置の変化に気づきやすく、逆に、仮想コンテンツの姿勢が視野内で変化している時には仮想コンテンツの表示位置の変化に気づきにくい。従って、仮想コンテンツの姿勢の変化の速度の大きさが大きいときに参照マップ212を変更することで、仮想コンテンツの表示位置が動いていないときでもユーザが気づきにくいタイミングで参照マップ212を変更することができる。
以下に、本変形例に係る情報処理装置100の処理として、前述した第2の実施形態と異なる処理であるステップS307の処理の一例を説明する。
(ステップS307)
ステップS307では、参照マップ変更判断部222は、ステップS306で取得された視界情報に基づいて、参照マップ212の変更の可否を判断する。ここでは、ステップS306で取得された視界情報として、カメラ201の位置姿勢と、仮想コンテンツの位置姿勢と、仮想コンテンツの形状情報(ポリゴンの頂点情報)と、カメラ201の内部パラメータ216とを用いる。本実施形態では、参照マップ変更判断部222は、時系列で取得した視界情報に基づいて、視界情報の変化として仮想コンテンツの姿勢の変化の速度を算出する。そして、参照マップ変更判断部222は、算出した仮想コンテンツの姿勢の変化の速度の大きさが所定の値よりも大きい場合には、参照マップ212を変更して良いと判断する。
その具体例を説明すると、参照マップ変更判断部222は、カメラ201の位置姿勢のうち、姿勢を表す回転行列の逆行列を、仮想コンテンツの位置姿勢のうち、姿勢を表す回転行列に乗じる。このようにすることで、カメラ201を基準にした仮想コンテンツの相対的な姿勢を表す回転行列が得られる。参照マップ変更判断部222は、このようにして算出される仮想コンテンツの、カメラ201の視点からの相対的な姿勢を表す回転行列を時系列に複数回算出することで、カメラ201の視点における仮想コンテンツの姿勢の変化の速度を回転行列として算出する。そして、参照マップ変更判断部222は、ロドリゲスの公式により、回転行列を回転ベクトルに変換して、その回転ベクトルの大きさを、仮想コンテンツの姿勢の変化の速度の大きさとする。参照マップ変更判断部222は、このようにして算出した仮想コンテンツの姿勢の変化の速度の大きさが所定の値より大きい場合には、参照マップ212を変更可と判断し、そうでない場合には、変更不可と判断する。
以上のように本変形例では、仮想コンテンツの姿勢の変化の速度の大きさが大きいときに参照マップ212を変更可と判断する。従って、仮想コンテンツの表示位置が動いていないときでもユーザが気づきにくいタイミングで参照マップ212を切り替えることができる。
<第3の実施形態>
次に、第3の実施形態を説明する。第1、2の実施形態では、現在参照している参照マップ212を用いて算出した視界情報のみに基づいて参照マップ212の変更の可否を判断する場合を例に挙げて説明した。しかしながら、切り替える参照マップ(参照マップ切り替え候補213)の情報も用いて実際に参照マップを切り替えた場合のカメラ201の視点からの仮想コンテンツの見え方の変化の大きさを算出して、参照マップ212の変更の可否を判断しても良い。このように、参照マップ切り替え候補213の情報も使って、参照マップ212の切り替え時に生じる仮想コンテンツの見え方の変化を実際に算出することで、ユーザに与える違和感が小さいタイミングを漏れなく検出できるようになる。
このように本実施形態と第1、2の実施形態とは、参照マップ212の変更可否を判断する手法が主として異なる。従って、本実施形態の説明において、第1、第2の実施形態と同一の部分については、図1〜図3に付した符号と同一の符号を付す等して詳細な説明を省略する。
本実施形態では、参照マップ212の切り替え時に生じる仮想コンテンツの見え方の変化を、以下のようにして算出する。即ち、現在参照している参照マップ212を用いて算出したカメラ201の位置姿勢に基づいて、カメラ201で撮像された画像における仮想コンテンツの表示位置を算出する。また、参照マップ切り替え候補213を用いて算出したカメラ201の位置姿勢に基づいて、カメラ201で撮像された画像における仮想コンテンツの表示位置を算出する。そして、それらの仮想コンテンツの表示位置の差を、参照マップ212の切り替え時に生じる仮想コンテンツの見え方の変化として算出する。算出した仮想コンテンツの表示位置の差の大きさが、所定の値よりも小さい場合には、参照マップ212を変更可と判断し、そうでない場合には、参照マップ212を変更不可と判断する。以下に、本実施形態の詳細を説明する。
図4は、本実施形態に係る情報処理装置400および情報処理装置400を搭載するMRシステムのモジュール構成の一例を示す図である。図4に示す各構成要素の機能は、図2に示す各構成要素の機能に対し変更はないので、ここでは、構成要素がやり取りする情報の差異について説明する。
第1の実施形態と同様に、カメラ位置姿勢管理部211は、画像入力部210が受け取ったフレーム画像と、参照マップ212とを照合して算出したカメラ201の位置姿勢を保持する。ただし、本実施形態のカメラ位置姿勢管理部211は、これに加えて、当該フレーム画像と、参照マップ切り替え候補213とを照合して算出したカメラ201の位置姿勢も保持する。視界情報管理部214は、これら2つのカメラ201の位置姿勢と、仮想コンテンツ情報215と、カメラ201の内部パラメータ216とを集約して、画像描画部217および情報処理装置100(視界情報取得部221)に逐次渡す機能を持つ。
尚、図4では、画像入力部210、カメラ位置姿勢管理部211、視界情報管理部214、および画像描画部217が情報処理装置400内に含まれる場合を例に挙げて示す。しかしながら、これらの少なくとも一部を情報処理装置400以外の装置(例えばHMD200)に含めてもよい。
次に、本実施形態に係る情報処理装置100の処理の詳細のうち、第1、第2の実施形態と異なる部分について図3のフローチャートに沿って説明する。
(ステップS304)
ステップS304では、カメラ位置姿勢管理部211は、ステップS303で取得された画像を、参照マップ212と照合することで、当該画像を撮像したときのカメラ201の位置姿勢を算出する。また、カメラ位置姿勢管理部211は、ステップS303で取得された画像を、参照マップ切り替え候補213と照合することで、当該画像を撮像したときのカメラ201の位置姿勢を算出する。それぞれのカメラ201の位置姿勢の算出方法は、第1の実施形態で説明した方法と同様である。
(ステップS306)
ステップS306では、視界情報取得部221は、視界情報管理部214から、参照マップ212を切り替え候補213に切り替えることで生じるカメラ201の視点から見た仮想コンテンツの見え方の変化を決める視界情報を取得する。ここでの視界情報は、ステップS304で算出されたカメラ201の位置姿勢(参照マップ212および参照マップ切り替え候補213を用いて算出されたカメラ201の位置姿勢)と、仮想コンテンツ情報215と、カメラ201の内部パラメータ216である。
(ステップS307)
ステップS307では、参照マップ変更判断部222は、ステップS306で取得された視界情報に基づいて、参照マップ212の変更可否を判断する。本実施形態では、参照マップ変更判断部222は、現在参照している参照マップ212を用いて算出したカメラ201の位置姿勢を用いて、カメラ201で撮像された画像における仮想コンテンツの表示位置を算出する。また、参照マップ変更判断部222は、参照マップ切り替え候補213を用いて算出したカメラ201の位置姿勢を用いて、カメラ201で撮像された画像における仮想コンテンツの表示位置を算出する。そして、参照マップ変更判断部222は、それらの仮想コンテンツの表示位置の差が所定の値よりも小さい場合には、参照マップ212を変更可と判断し、そうでない場合には、変更不可と判断し、その判断の結果を保持する。仮想コンテンツの表示位置は、例えば、それぞれのカメラ201の位置姿勢の逆行列を仮想コンテンツの位置姿勢に乗じることで算出したそれぞれのカメラ201の視点から見た仮想コンテンツの位置姿勢に、カメラ内部パラメータ行列を乗じることで算出される。
以上のように本実施形態では、現在参照している参照マップ212を参照マップ切り替え候補213に切り替える場合に生じる仮想コンテンツの表示位置の変化が小さいときに参照マップ212を変更可と判断する。従って、ユーザに与える違和感が小さいタイミングを漏れなく検出してマップを切り替えられるようになる。
[変形例3−1]
本実施形態では、参照マップ212を参照マップ切り替え候補213に切り替える場合に生じる仮想コンテンツの見え方の変化が、参照マップ212の切り替えで生じる仮想コンテンツの表示位置の変化である場合を例に挙げて説明した。しかしながら、参照マップ212を参照マップ切り替え候補213に切り替える場合に生じる仮想コンテンツの見え方の変化は、このようなものに限定されない。参照マップ212の切り替えで生じる仮想コンテンツの表示位置の移動方向の変化に基づいて、参照マップ212の変更の可否を判断しても良い。HMD200を装着したユーザの動きによって生じる仮想コンテンツの表示位置の移動方向に対して、参照マップ212の切り替えで生じる仮想コンテンツの表示位置の移動方向が大きく異なるほど、以下の傾向がある。即ち、ユーザは参照マップ212の切り替えによる仮想コンテンツの表示位置の変化に気づきやすい傾向がある。従って、ユーザの動きによって生じる仮想コンテンツの表示位置の移動方向について、参照マップ212を切り替えない場合と切り替えた場合の移動方向が成す角度が所定の値よりも小さいときに参照マップ212を変更可と判断する。このようにすることで、参照マップ212の切り替えによって生じる仮想コンテンツの表示位置の変化が大きい時でもユーザに与える違和感が小さいタイミングを検出してマップを切り替えらえるようになる。
以下に、本変形例に係る情報処理装置100の処理として、前述した第3の実施形態と異なる部分について図3のフローチャートに沿って説明する。
(ステップS307)
ステップS307では、参照マップ変更判断部222は、ステップS306で取得された視界情報に基づいて、参照マップ212の変更可否を判断する。本変形例では、参照マップ変更判断部222は、現在参照している参照マップ212を切り替えない場合の、カメラ201で撮像された画像における仮想コンテンツの表示位置の移動方向を導出する。また、参照マップ変更判断部222は、参照マップ212を参照マップ切り替え候補213に切り替えた場合の、カメラ201で撮像された画像における仮想コンテンツの表示位置の移動方向を導出する。そして、参照マップ変更判断部222は、それら2つの仮想コンテンツの表示位置の移動方向の成す角度が、所定の値よりも小さい場合には、参照マップ212を変更可と判断し、そうでない場合には、変更不可と判断する。
以上のように本変形例では、参照マップ212の切り替えで生じる、仮想コンテンツの表示位置の移動方向の変化に基づいて、参照マップ212の変更の可否を判断する。従って、参照マップ212の切り替えで生じる、仮想コンテンツの表示位置の移動量は大きくてもユーザに与える違和感が比較的小さいタイミングを検出して、参照マップ212を切り替えることができる。
<第4の実施形態>
次に、第4の実施形態を説明する。第1〜第3の実施形態では、カメラ201の視点から見た場合の仮想コンテンツの見え方を考慮して参照マップ212の変更の可否を判断する場合を例に挙げて説明した。しかしながら、カメラ201の位置姿勢のみから、参照マップ212の変更の可否を判断しても良い。ユーザは、自身がカメラ201の位置姿勢を変化させているとき程、仮想コンテンツの表示位置の変化に気づきにくい。従って、カメラ201の位置姿勢の変化が所定の値よりも大きいときに参照マップ212を切り替えることで、ユーザに与える違和感が小さいタイミングで参照マップ212を切り替えることができる。
このように本実施形態と第1〜3の実施形態とは、参照マップ212の変更可否を判断する手法が主として異なる。従って、本実施形態の説明において、第1〜第3の実施形態と同一の部分については、図1〜図4に付した符号と同一の符号を付す等して詳細な説明を省略する。
図5は、本実施形態に係る情報処理装置500および情報処理装置500を搭載するMRシステムのモジュール構成の一例を示す図である。本実施形態では、第1〜3の実施形態における視界情報取得部221が、カメラ位置姿勢取得部521に置き換わる。カメラ位置姿勢取得部521は、視界情報管理部214から、カメラ201の位置姿勢を取得する。
尚、図5では、画像入力部210、カメラ位置姿勢管理部211、視界情報管理部214、および画像描画部217が情報処理装置500内に含まれる場合を例に挙げて示す。しかしながら、これらの少なくとも一部を情報処理装置500以外の装置(例えばHMD200)に含めてもよい。
図6は、MRシステムの処理の一例を示すフローチャートである。本実施形態では、第1〜3の実施形態におけるステップS303の代わりに、ステップS606が実行される。ステップS606では、カメラ位置姿勢取得部521は、視界情報管理部214から、ステップS303で取得された画像を撮影した時刻における、カメラ201の位置姿勢の変化の速度を取得する。この速度は、カメラ位置姿勢管理部211が、ステップS304にて算出したカメラ201の位置姿勢の時系列変化から算出される。その具体例を説明すると、カメラ位置姿勢取得部521は、カメラ201の位置姿勢のうち、並進成分の速度の大きさと回転成分の速度(角速度)の大きさとをそれぞれ取得する。
ステップS307では、参照マップ変更判断部222は、カメラ201の位置姿勢の並進成分の速度の大きさと回転成分の速度の大きさとが共に所定の値よりも大きい場合には、参照マップ212を変更可と判断し、そうでない場合には、変更不可と判断する。
以上のように本実施形態では、カメラ201の位置姿勢のみという限られた情報から、ユーザに与える違和感が小さいタイミングを検出して参照マップ212を変更することができる。
[変形例4−1]
本実施形態では、カメラ201の位置姿勢の時間変化として、カメラ201の位置姿勢の速度に基づいて、参照マップ212の変更可否を判断する場合を例に挙げて説明した。しかしながら、カメラ201の位置姿勢の時間変化は、このようなものに限定されない。カメラ201の位置姿勢の変化として、カメラ201の位置姿勢の変化の加速度に基づいて、参照マップ212の変更の可否を判断してもよい。例えば、HMDを装着したユーザが首を往復させる動作をするときの切り返す瞬間においては、カメラ201の回転成分の速度は小さくても仮想コンテンツを注視していない傾向が強い。従って、カメラ201の位置姿勢の加速度の大きさが所定の値よりも大きい場合に参照マップを変更可と判断し、そうでない場合に変更不可と判断する。
その具体例を説明すると、カメラ位置姿勢取得部521は、連続するカメラ201の位置姿勢のうち、並進成分の加速度の大きさと回転成分の加速度(角加速度)の大きさとをそれぞれ算出する。参照マップ変更判断部222は、これらが共に所定の値より大きい場合に、参照マップ212を変更可と判断し、そうでない場合に変更不可と判断する。
以上のようにすることで、ユーザが動作を切り返すときのように、カメラの移動速度は遅いがユーザが仮想コンテンツの表示位置の変化に気づきにくいタイミングでマップを切り替えることができる。
<第5の実施形態>
次に、第5の実施形態を説明する。第1〜第4の実施形態では、カメラ201の視点に基づいて参照マップの変更の可否を判断する場合を例に挙げて説明した。しかしながら、仮想コンテンツの視認性を表す属性が時刻によって変化する場合には、カメラ201の視点を使わずに仮想コンテンツの視認性を表す属性のみから参照マップ212の変更の可否を判断しても良い。本実施形態では、仮想コンテンツの視認性を表す状態として、任意の時刻における仮想コンテンツの透明度が仮想コンテンツ情報215に記述されているときの参照マップ212の変更の可否の判断方法の一例を説明する。この場合、仮想コンテンツの透明度が高い場合には、仮想コンテンツの表示位置が変化しても、ユーザは、その変化に気づきにくい。従って、仮想コンテンツの透明度が高いときに、参照マップ212を切り替えることでユーザに与える違和感が比較的小さいタイミングでマップを切り替えることができる。
このように本実施形態と第1〜4の実施形態とは、仮想コンテンツ情報215の内容や、参照マップ212の変更可否を判断する手法が主として異なる。従って、本実施形態の説明において、第1〜第4の実施形態と同一の部分については、図1〜図6に付した符号と同一の符号を付す等して詳細な説明を省略する。
図7は、本実施形態に係る情報処理装置700および情報処理装置700を搭載するMRシステムのモジュール構成の一例を示す図である。本実施形態では、第1〜3の実施形態における視界情報取得部221が、仮想コンテンツ属性取得部721に置き換わる。仮想コンテンツ属性取得部721は、視界情報管理部214から、仮想コンテンツ情報215に含まれる仮想コンテンツの属性の値を取得する。
尚、図7では、画像入力部210、カメラ位置姿勢管理部211、視界情報管理部214、および画像描画部217が情報処理装置700内に含まれる場合を例に挙げて示す。しかしながら、これらの少なくとも一部を情報処理装置700以外の装置(例えばHMD200)に含めても良い。
図8は、MRシステムの処理の一例を示すフローチャートである。本実施形態では、第1〜3の実施形態におけるステップS306の代わりに、ステップS806が実行される。ステップS806では、仮想コンテンツ属性取得部721は、視界情報管理部214から、処理時刻における仮想コンテンツの透明度を仮想コンテンツの属性の値として取得する。
ステップS307では、参照マップ変更判断部222は、ステップS806で取得された属性の値(透明度)が、所定の値より大きい場合(透明度が所定の値より高い場合)には、参照マップ212を変更可と判断し、そうでない場合には、変更不可と判断する。
以上のように本実施形態では、仮想コンテンツの属性のみという限られた情報から、ユーザに与える違和感が小さいタイミングを検出して参照マップ212を切り替えることができる。
[変形例5−1]
本実施形態では、仮想コンテンツの視認性を表す属性として、仮想コンテンツの光学的な属性である透明度に基づいて、参照マップ212の変更の可否を判断する場合を例に挙げて説明した。しかしながら、仮想コンテンツの視認性を表す属性は、このようなものに限定されない。仮想コンテンツの視認性を表す属性として、仮想コンテンツの幾何的な情報(例えば、仮想コンテンツの世界座標系における移動速度)に基づいて、参照マップ212の変更の可否を判断してもよい。ユーザの動きに係わらず仮想コンテンツ自身の動きが激しいときは、参照マップ212の変更によって仮想コンテンツの表示位置が変化してもユーザは気づきにくい。従って、仮想コンテンツの世界座標系における移動速度の大きさが所定の値よりも大きい場合に、参照マップを変更可と判断し、そうでない場合に、変更不可と判断する。このようにすることで、ユーザに与える違和感が小さい適切なタイミングで参照マップ212を切り替えることができる。
<第6の実施形態>
次に、第6の実施形態を説明する。第1〜第5の実施形態では、新しく生成したマップにマップを切り替える場合のマップの変更の可否を判断する場合を例に挙げて説明した。しかしながら、切り替えるマップは必ずしも新しく生成したものである必要はない。例えば、一部にオーバーラップする領域を含む互いに異なる空間を記述した第1のマップと第2のマップとを保持しておく。そして、MRシステムを使用する環境内でユーザが第1のマップで記述された領域から第2のマップで記述された領域に移動する際にマップを切り替える場合においても、前述した各実施形態で説明した方法と同様に、参照マップ212の変更の可否を判断できる。このように既存の複数のマップをユーザの行動に合わせて切り替える方式のMRシステムにおいても、ユーザに与える違和感が小さいタイミングで参照マップ212を切り替えることができる。さらに、第1〜第5の実施形態では、マップを切り替える場合を例に挙げて説明した。しかしながら、前述した各実施形態において、マップを切り替えるタイミングではなく、マップの一部に修正や変更を加える修正処理や変更処理を実施するタイミングを判断するようにしても良い。
<第7の実施形態>
次に、第7の実施形態を説明する。本実施形態では、第1〜第5の実施形態で説明した参照マップ212の変更の判断方法の何れか2つ以上の判断結果を組み合わせて、参照マップ212の変更の可否の最終的な判断をする。こうすることで、MRシステムを使用する状況に応じて、参照マップ212の変更の判断方法を調整できる。
具体例を説明すると、以下の手法が挙げられる。第1の実施形態では、カメラ201の視野内に仮想コンテンツが含まれていないときに参照マップ212を変更する。その他に、仮想コンテンツが視野に含まれている場合でも、第2の実施形態で説明したように、仮想コンテンツの表示位置の移動速度が所定の値よりも大きければ、参照マップ212を変更しても良いと判断すべき状況がある。このような状況には、第1の実施形態で説明した判断方法と第2の実施形態で説明した判断方法によるそれぞれの結果の論理和を最終的な判断結果とする。
他の具体例を説明すると、以下の手法が挙げられる。[変形例1−1]で説明したように、仮想コンテンツの表示位置がカメラ201の投影面の中央から遠いときに参照マップ212を変更する。よりユーザに違和感を与えないために、第2の実施形態で説明したように仮想コンテンツの表示位置の位置速度が大きいことも条件にする状況が考えられる。このような状況では、[変形例1−1]で説明した判断方法と第2の実施形態で説明した判断方法によるそれぞれの結果の論理積を最終的な判断結果とする。同様の方法で第1〜第5の実施形態で説明した他の方法についても論理積や論理和をとることで様々な条件を設定することが可能である。尚、本実施形態を、第6の実施形態に適用しても良い。
以上、複数の判断方法による判断結果を組み合わせることにより、MRシステムを使用する状況に合うように、マップの変更の可否を判断する条件を設定することができる。
<総括>
前述した実施形態において、視界情報取得部221が取得する視界情報は、カメラ201の視点で見た場合の仮想コンテンツの見え方を表す情報であれば良い。第1の実施形態で取得する視界情報として説明したカメラ201の位置姿勢、仮想コンテンツの位置姿勢、仮想コンテンツの形状情報、およびカメラ201の内部パラメータ216の組み合わせはその一例である。[変形例1−2]に説明したように、さらに仮想コンテンツの光学情報を含んだ視界情報でも良い。その場合には、光学情報も併せて考慮することで参照マップ212を切り替えるタイミングをより漏れなく検出することができる。
前述した実施形態において、参照マップ変更判断部222は、視界情報に基づいて、参照マップ212の変更で生じ得る仮想コンテンツの見え方の変化に対してユーザが気づきにくいときに、参照マップ212を変更可と判断していれば、その手法は何でも良い。その一例が、視界情報から得られるカメラ201の視点からの仮想コンテンツの静的な見え方に基づいてカメラ201から仮想コンテンツが見えていない場合に、参照マップ212を変更可と判断する手法である。
具体的には第1の実施形態で説明したように、カメラ201の視界に仮想コンテンツが含まれない場合に参照マップ212を変更可と判断する手法がある。また、[変形例1−1]で説明したように、仮想コンテンツ表示領域が、カメラ201で撮像された画像に占める割合が小さい場合に参照マップ212を変更可と判断する手法がある。その他の一例が、視界情報から得られるカメラ201の視点から見た場合の仮想コンテンツの見え方の変化量が大きい場合に参照マップ212を変更可と判断する手法がある。具体的には第2の実施形態で説明したように、カメラ201で撮像された画像における仮想コンテンツの表示位置の単位時間当たりの変化量が大きい場合に参照マップ212を変更可と判断する手法がある。また、[変形例2−1]で説明したように、カメラ201の視点から見た仮想コンテンツの姿勢の単位時間当たりの変化量が大きい場合に参照マップ212を変更可と判断する手法がある。その他の一例が、実際にマップに所定の変更を加えることで生じる、カメラ201で撮像された画像における仮想コンテンツの見え方の単位時間当たりの変化量を算出し、算出した変化量が小さい場合に参照マップを変更可であると判断する手法である。具体的には第3の実施形態で説明したように、参照マップ212を変更することで生じる、カメラ201で撮像された画像における仮想コンテンツの表示位置の単位時間当たりの変化量が小さい場合に参照マップ212を変更可と判断する手法がある。また、[変形例3−1]で説明したように、参照マップ212を変更することで生じる、カメラ201で撮像された画像における仮想コンテンツの表示位置の移動方向の変化が小さい場合に、参照マップ212を変更可と判断する手法がある。
以上は、視界情報が、カメラ201と仮想コンテンツの配置や幾何情報だけで構成される場合の判断方法のバリエーションの一例である。しかしながら、視界情報は、このようなものに限定されない。例えば、視界情報が仮想コンテンツの光学情報を含む場合、[変形例1−2]で説明したようにしても良い。即ち、カメラ201で撮像された画像に仮想コンテンツを重畳した際に、当該仮想コンテンツが周囲の背景に溶け込んでいる場合に、参照マップ212を変更可と判断しても良い。
参照マップ212の変更の可否を判断するために用いる情報は、参照マップ212を他のマップに変更する場合に生じる、カメラ201で撮像される画像における仮想コンテンツの見え方の変化に対するユーザの気づきにくさを評価する評価指標であれば良い。その一例が、第1〜3の実施形態で説明したように、カメラ201の視点で見た場合の仮想コンテンツの見え方を表す情報である。その他の一例が、カメラ201の位置姿勢の単位時間当たりの変化が大きい場合に、参照マップ212を変更可と判断する手法である。具体的には、第4の実施形態で説明したように、カメラ201の位置姿勢の変化の速度の大きさが大きい場合に、参照マップ212を変更可と判断する手法がある。また、[変形例4−1]で説明したように、カメラ201の位置姿勢の変化の加速度の大きさが大きい場合に、参照マップ212を変更可と判断する手法がある。その他の一例が、仮想コンテンツの視認性を表す属性の値である。この場合、仮想コンテンツの視認性が低い場合に、参照マップ212を変更可と判断する。
仮想コンテンツの視認性を表す属性の値は、参照マップ212の変更によって生じる仮想コンテンツの表示位置の変化に対するユーザの気づきやすさを評価できる値であれば良い。その一例が、第5の実施形態で説明したように、仮想コンテンツの透明度(透明度が高い場合には視認性が低くユーザは仮想コンテンツの表示位置の変化に気づきにくい)である。また、その他の一例が、[変形例5−1]で説明したように、仮想コンテンツ自身の移動速度(仮想コンテンツの移動速度が速いほど視認性が低くユーザは仮想コンテンツの表示位置の変化に気づきにくい)である。
尚、前述した実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
(その他の実施例)
本発明は、以下の処理を実行することによっても実現される。即ち、まず、以上の実施形態の機能を実現するソフトウェア(コンピュータプログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)が当該コンピュータプログラムを読み出して実行する。
100・400・500・700:情報処理装置、200:HMD

Claims (17)

  1. 撮像装置により撮像された画像と照合することが可能な指標の、前記画像が撮像される空間における配置を示すマップと、前記画像とを照合することにより前記撮像装置の位置姿勢を推定した結果に基づいて、前記画像に仮想コンテンツを重畳するための処理を行う情報処理装置であって、
    前記撮像装置により撮像される画像に重畳される前記仮想コンテンツの見え方を評価する指標である評価指標を取得する取得手段と、
    前記評価指標に基づいて、前記撮像装置の位置姿勢の推定に用いる前記マップを、前記空間を計測することにより更新して新しく生成されたマップに変更することの可否を判断する判断手段と、
    前記判断手段により、前記マップを変更可と判断されると、現在の前記マップを新しく生成されたマップに変更する変更手段と、を有することを特徴とする情報処理装置。
  2. 前記評価指標は、前記撮像装置の視点で見た場合の前記仮想コンテンツの見え方を表す情報と、前記撮像装置の動きを示す情報と、前記仮想コンテンツの視認性を表す属性を示す情報と、の少なくとも何れか1つを含むことを特徴とする請求項に記載の情報処理装置。
  3. 前記判断手段は、前記評価指標として撮像装置の視点で見た場合の前記仮想コンテンツの見え方を表す情報に基づいて、前記撮像装置の撮像範囲に前記仮想コンテンツが含まれる否かを判断し、当該判断した結果に基づいて、前記マップの変更の可否を判断することを特徴とする請求項に記載の情報処理装置。
  4. 前記判断手段は、前記評価指標として撮像装置の視点で見た場合の前記仮想コンテンツの見え方を表す情報に基づいて、前記画像に前記仮想コンテンツを重畳させる場合の、前記画像の領域に対する前記仮想コンテンツの領域の割合を導出し、導出した割合と所定の値とを比較した結果に基づいて、前記マップの変更の可否を判断することを特徴とする請求項またはに記載の情報処理装置。
  5. 前記評価指標には、撮像装置の視点で見た場合の前記仮想コンテンツの見え方を表す前記仮想コンテンツの光学情報を含み、
    前記判断手段は、前記仮想コンテンツの光学情報に示される値と所定の値とを比較した結果に基づいて、前記マップの変更の可否を判断することを特徴とする請求項の何れか1項に記載の情報処理装置。
  6. 前記評価指標には、撮像装置の視点で見た場合の前記仮想コンテンツの見え方を表す前記画像の投影面における前記仮想コンテンツの時間変化を表す情報を含み、
    前記判断手段は、前記画像の投影面における前記仮想コンテンツの時間変化を表す情報に基づいて、前記マップの変更の可否を判断することを特徴とする請求項の何れか1項に記載の情報処理装置。
  7. 前記画像の投影面における前記仮想コンテンツの時間変化を表す情報は、前記仮想コンテンツの表示位置の移動速度と、前記仮想コンテンツの姿勢の変化の速度との少なくとも何れか一方を含み、
    前記判断手段は、前記評価指標として、前記仮想コンテンツの表示位置の移動速度と、前記仮想コンテンツの姿勢の変化の速度との少なくとも何れか一方と、所定の値を比較した結果に基づいて、前記マップの変更の可否を判断することを特徴とする請求項の何れか1項に記載の情報処理装置。
  8. 前記取得手段は、変更する前のマップを用いることにより前記画像に重畳される前記仮想コンテンツの見え方を評価する指標である前記評価指標と、変更する候補となるマップを用いることにより前記画像に重畳される前記仮想コンテンツの見え方を評価する指標である前記評価指標とを取得し、
    前記判断手段は、前記変更する前のマップを用いることにより前記画像に重畳される前記仮想コンテンツの見え方を評価する指標である前記評価指標と、前記変更する候補となるマップを用いることにより前記画像に重畳される前記仮想コンテンツの見え方を評価する指標である前記評価指標とを比較した結果に基づいて、前記マップの変更の可否を判断することを特徴とする請求項の何れか1項に記載の情報処理装置。
  9. 前記評価指標は、前記仮想コンテンツの表示位置と、前記仮想コンテンツの表示位置の移動方向との少なくとも何れか一方を含むことを特徴とする請求項に記載の情報処理装置。
  10. 前記仮想コンテンツの視認性を表す属性を示す情報は、前記仮想コンテンツの光学情報と、前記仮想コンテンツの幾何情報との少なくとも何れか一方を含むことを特徴とする請求項の何れか1項に記載の情報処理装置。
  11. 前記撮像装置の動きを示す情報は、前記撮像装置の位置姿勢の時間変化を示す情報を含み、
    前記判断手段は、前記撮像装置の位置姿勢の時間変化と所定の値とを比較した結果に基づいて、前記マップの変更の可否を判断することを特徴とする請求項10の何れか1項に記載の情報処理装置。
  12. 撮像装置により撮像された画像と照合することが可能な指標の、前記画像が撮像される空間における配置を示すマップと、前記画像とを照合することにより前記撮像装置の位置姿勢を推定した結果に基づいて、前記画像に仮想コンテンツを重畳するための処理を行う情報処理装置であって、
    前記撮像装置の位置姿勢の時間変化に基づいて、前記撮像装置の位置姿勢の推定に用いる前記マップを、前記空間を計測することにより更新して新しく生成されたマップに変更することの可否を判断する判断手段を有することを特徴とする情報処理装置。
  13. 前記判断手段により、前記マップの変更ができると判断されると、現在の前記マップを新たな前記マップに切り替えることと、現在の前記マップの一部の修正または変更を行うこととの何れかが行われることを特徴とする請求項12に記載の情報処理装置。
  14. 前記撮像装置の位置姿勢の時間変化を示す情報は、前記撮像装置の位置姿勢の変化の速度および加速度の少なくとも何れか一方を含むことを特徴とする請求項11〜13の何れか1項に記載の情報処理装置。
  15. 撮像装置により撮像された画像と照合することが可能な指標の、前記画像が撮像される空間における配置を示すマップと、前記画像とを照合することにより前記撮像装置の位置姿勢を推定した結果に基づいて、前記画像に仮想コンテンツを重畳するための処理を行う情報処理方法であって、
    前記撮像装置により撮像される画像に重畳される前記仮想コンテンツの見え方評価する指標である評価指標を取得する取得工程と、
    前記評価指標に基づいて、前記撮像装置の位置姿勢の推定に用いる前記マップを、前記空間を計測することにより更新して新しく生成されたマップに変更することの可否を判断する判断工程と、
    前記判断工程により、前記マップを変更可と判断されると、現在の前記マップを新しく生成されたマップに変更する変更工程と、を有することを特徴とする情報処理方法。
  16. 撮像装置により撮像された画像と照合することが可能な指標の、前記画像が撮像される空間における配置を示すマップと、前記画像とを照合することにより前記撮像装置の位置姿勢を推定した結果に基づいて、前記画像に仮想コンテンツを重畳するための処理を行う情報処理方法であって、
    前記撮像装置の位置姿勢の時間変化に基づいて、前記撮像装置の位置姿勢の推定に用いる前記マップを、前記空間を計測することにより更新して新しく生成されたマップに変更することの可否を判断する判断工程を有することを特徴とする情報処理方法。
  17. 請求項1〜1の何れか1項に記載の情報処理装置の各手段としてコンピュータを機能させることを特徴とするプログラム。
JP2015257146A 2015-12-28 2015-12-28 情報処理装置、情報処理方法、およびプログラム Active JP6723743B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015257146A JP6723743B2 (ja) 2015-12-28 2015-12-28 情報処理装置、情報処理方法、およびプログラム
US15/389,206 US10573073B2 (en) 2015-12-28 2016-12-22 Information processing apparatus, information processing method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015257146A JP6723743B2 (ja) 2015-12-28 2015-12-28 情報処理装置、情報処理方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2017120558A JP2017120558A (ja) 2017-07-06
JP6723743B2 true JP6723743B2 (ja) 2020-07-15

Family

ID=59087149

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015257146A Active JP6723743B2 (ja) 2015-12-28 2015-12-28 情報処理装置、情報処理方法、およびプログラム

Country Status (2)

Country Link
US (1) US10573073B2 (ja)
JP (1) JP6723743B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11468868B2 (en) 2017-12-20 2022-10-11 Sony Corporation Information processing apparatus and information processing method to perform transition display control

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9978181B2 (en) * 2016-05-25 2018-05-22 Ubisoft Entertainment System for virtual reality display
JP6859447B2 (ja) * 2017-09-27 2021-04-14 株式会社ソニー・インタラクティブエンタテインメント 情報処理システムおよび対象物情報取得方法
US10665028B2 (en) * 2018-06-04 2020-05-26 Facebook, Inc. Mobile persistent augmented-reality experiences
JP6716004B1 (ja) * 2019-09-30 2020-07-01 株式会社バーチャルキャスト 記録装置、再生装置、システム、記録方法、再生方法、記録プログラム、再生プログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3793158B2 (ja) 1997-09-01 2006-07-05 キヤノン株式会社 情報処理方法及び情報処理装置
JP2008245995A (ja) * 2007-03-30 2008-10-16 Namco Bandai Games Inc ゲーム装置、プログラム、及び情報記憶媒体
JP5732988B2 (ja) * 2011-04-08 2015-06-10 ソニー株式会社 画像処理装置、表示制御方法及びプログラム
US9292085B2 (en) * 2012-06-29 2016-03-22 Microsoft Technology Licensing, Llc Configuring an interaction zone within an augmented reality environment
US9245373B2 (en) * 2012-12-04 2016-01-26 Nintendo Co., Ltd. Caching in map systems for displaying panoramic images
JP6281496B2 (ja) * 2013-02-01 2018-02-21 ソニー株式会社 情報処理装置、端末装置、情報処理方法及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11468868B2 (en) 2017-12-20 2022-10-11 Sony Corporation Information processing apparatus and information processing method to perform transition display control

Also Published As

Publication number Publication date
JP2017120558A (ja) 2017-07-06
US20170186237A1 (en) 2017-06-29
US10573073B2 (en) 2020-02-25

Similar Documents

Publication Publication Date Title
JP6723743B2 (ja) 情報処理装置、情報処理方法、およびプログラム
CN109922354B9 (zh) 直播互动方法、装置、直播系统及电子设备
JP5871345B2 (ja) 3次元ユーザインタフェース装置及び3次元操作方法
US9607439B2 (en) Information processing apparatus and information processing method
US20160307374A1 (en) Method and system for providing information associated with a view of a real environment superimposed with a virtual object
KR102461232B1 (ko) 화상 처리 방법 및 장치, 전자 디바이스, 및 저장 매체
KR20170031733A (ko) 디스플레이를 위한 캡처된 이미지의 시각을 조정하는 기술들
JP6290754B2 (ja) 仮想空間表示装置、仮想空間表示方法及びプログラム
JP2014106543A (ja) 画像処理装置、画像処理方法及びプログラム
CN114742863A (zh) 具有滑动检测和校正功能的方法和装置
US11610381B2 (en) Information processing apparatus, system, and method for detecting collision between a physical and virtual object
WO2022174594A1 (zh) 基于多相机的裸手追踪显示方法、装置及系统
CN108629799B (zh) 一种实现增强现实的方法及设备
KR20160014601A (ko) 다수의 3d 디스플레이들에 대해 오브젝트를 렌더링하기 위한 방법 및 장치
JP2017142785A (ja) 情報処理装置、情報処理方法及びプログラム
US10573083B2 (en) Non-transitory computer-readable storage medium, computer-implemented method, and virtual reality system
JP2021135776A (ja) 情報処理装置、情報処理方法、およびプログラム
US11275434B2 (en) Information processing apparatus, information processing method, and storage medium
JP6683605B2 (ja) 車両の少なくとも1つの機能を制御するための位置又は運動情報を提供するための方法及びシステム
US20190318462A1 (en) Information processing apparatus
JP7341736B2 (ja) 情報処理装置、情報処理方法及びプログラム
CN112819970B (zh) 一种控制方法、装置及电子设备
US20200202627A1 (en) Information processing apparatus
CN112114659B (zh) 用于确定用户的精细的注视点的方法和系统
JP2006343953A (ja) 画像処理方法、画像処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200212

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: 20200526

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200624

R151 Written notification of patent or utility model registration

Ref document number: 6723743

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151