(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-29
(45)【発行日】2024-12-09
(54)【発明の名称】頭部装着型表示装置、画像処理装置、頭部装着型表示装置の制御方法、およびプログラム
(51)【国際特許分類】
H04N 13/366 20180101AFI20241202BHJP
H04N 13/239 20180101ALI20241202BHJP
H04N 13/344 20180101ALI20241202BHJP
【FI】
H04N13/366
H04N13/239
H04N13/344
(21)【出願番号】P 2022105685
(22)【出願日】2022-06-30
【審査請求日】2024-10-02
【早期審査対象出願】
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110002860
【氏名又は名称】弁理士法人秀和特許事務所
(72)【発明者】
【氏名】武本 和樹
【審査官】薄井 義明
(56)【参考文献】
【文献】特表2022-522579(JP,A)
【文献】国際公開第2017/117675(WO,A1)
【文献】米国特許第11507203(US,B1)
【文献】中国特許出願公開第111383266(CN,A)
【文献】特開2005-172851(JP,A)
【文献】米国特許出願公開第2023/0337776(US,A1)
【文献】米国特許出願公開第2017/0315365(US,A1)
【文献】特開2018-005778(JP,A)
【文献】特開2016-213663(JP,A)
【文献】特表2022-511257(JP,A)
【文献】韓国公開特許第10-2021-0022343(KR,A)
【文献】国際公開第2013/179427(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 13/366
H04N 13/239
H04N 13/344
H04N 23/60
(57)【特許請求の範囲】
【請求項1】
頭部装着型表示装置であって、
正面に設けられている第1撮像手段と、
前記正面に設けられており、前記第1撮像手段の撮像範囲にパターン画像を投影する投影手段と、
側面に設けられている第2撮像手段と、
前記第1撮像手段によって撮像され
た画像
から現実空間の特徴を検出することにより、前記頭部装着型表示装置の位置と姿勢の少なくとも一方を含んだ状態に関する第1情報を取得する第1取得手段と、
前記第2撮像手段によって撮像され
た画像
から現実空間の特徴を検出することにより、前記状態に関する第2情報を取得する第2取得手段と、
前記第1情報と前記第2情報に基づいて、
仮想物体の画像を生成する生成手段と
、を有
し、
前記第2取得手段は、前記パターン画像が写っていない画像から現実空間の特徴を検出することにより、前記第2情報を取得する
ことを特徴とする頭部装着型表示装置。
【請求項2】
前記第1撮像手段によって撮像された画像に基づいて、距離情報を取得する測距手段を有し、
前記測距手段は、前記パターン画像が写っている画像に基づいて、前記距離情報を取得する
ことを特徴とする請求項1に記載の頭部装着型表示装置。
【請求項3】
前記生成手段は、前記第1取得手段が所定の精度よりも高い精度で前記状態を取得できない場合、前記第2情報に基づいて、前記仮想物体の画像を生成する
ことを特徴とする請求項1または2に記載の頭部装着型表示装置。
【請求項4】
前記第2撮像手段は、前記第1撮像手段が設けられている位置よりも剛性が低い位置に設けられている
ことを特徴とする請求項1または2に記載の頭部装着型表示装置。
【請求項5】
前記第2撮像手段は、左側面と右側面のそれぞれに設けられている
ことを特徴とする請求項1または2に記載の頭部装着型表示装置。
【請求項6】
前記第1撮像手段による撮像のフレームレートは、前記第2撮像手段による撮像のフレームレートと同じである
ことを特徴とする請求項1または2に記載の頭部装着型表示装置。
【請求項7】
前記第1
撮像手段及び第2撮像手段はグローバルシャッター方式の撮像手段である
ことを特徴とする請求項1または2に記載の頭部装着型表示装置。
【請求項8】
正面に設けられている第1撮像手段と
、前記正面に設けられており、前記第1撮像手段の撮像範囲にパターン画像を投影する投影手段と、側面に設けられている第2撮像手段
と、を有する頭部装着型表示装置と共に使用可能な
画像処理装置であって、
前記第1撮像手段によって撮像され
た画像
から現実空間の特徴を検出することにより、前記頭部装着型表示装置の位置と姿勢の少なくとも一方を含んだ状態
に関する第1情報を
取得する第1
取得手段と、
前記第2撮像手段によって撮像され
た画像
から現実空間の特徴を検出することにより、前記状態
に関する第2情報を
取得する第2
取得手段と、
前記第1情報と前記第2情報に基づいて、
仮想物体の画像を生成する
生成手段と
を有
し、
前記第2取得手段は、前記パターン画像が写っていない画像から現実空間の特徴を検出することにより、前記第2情報を取得する
ことを特徴とする
画像処理装置。
【請求項9】
正面に設けられている第1撮像手段と、
前記正面に設けられており、前記第1撮像手段の撮像範囲にパターン画像を投影する投影手段と、
側面に設けられている第2撮像手段とを有する頭部装着型表示装置の制御方法であって、
前記第1撮像手段によって撮像され
た画像
から現実空間の特徴を検出することにより、前記頭部装着型表示装置の位置と姿勢の少なくとも一方を含んだ状態に関する第1情報を取得する第1取得ステップと、
前記第2撮像手段によって撮像され
た画像
から現実空間の特徴を検出することによりに基づいて
、前記状態に関する第2情報を取得する第2取得ステップと、
前記第1情報と前記第2情報に基づいて、
仮想物体の画像を生成する生成ステップと
、を有
し、
前記第2取得ステップでは、前記パターン画像が写っていない画像から現実空間の特徴を検出することにより、前記第2情報を取得する
ことを特徴とする制御方法。
【請求項10】
請求項
9に記載の制御方法の各ステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、頭部装着型表示装置、画像処理装置、頭部装着型表示装置の制御方法、およびプログラムに関する。
【背景技術】
【0002】
頭部装着型表示装置(例えばHMD(ヘッドマウントディスプレイ))として、カメラによって撮像された画像(撮像画像)に基づいて自身の位置と姿勢を推定可能な表示装置が提案されている。そのような頭部装着型表示装置に関する技術は、例えば、特許文献1に開示されている。推定した位置と姿勢を用いることによって、ユーザーに対して画像を好適に表示できるようになる。例えば、現実空間に対して仮想空間または仮想物体の画像を違和感なく合成できるようになる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の頭部装着型表示装置では、頭部装着型表示装置の位置と姿勢を高精度に推定できないことがある。例えば、頭部装着型表示装置を装着したユーザーが頭部を素早く動かした場合に、カメラで追跡する現実空間の特徴点が当該カメラの撮像範囲の外に出たり、撮像画像に特徴点の動きボケが発生したりする。その結果、特徴点が追跡できなくなり、頭部装着型表示装置の位置と姿勢が高精度に推定できなくなる。
【0005】
本発明は、頭部装着型表示装置の位置と姿勢の少なくとも一方を高精度に推定(判断)することのできる技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の第1態様は、頭部装着型表示装置であって、正面に設けられている第1撮像手段と、前記正面に設けられており、前記第1撮像手段の撮像範囲にパターン画像を投影する投影手段と、側面に設けられている第2撮像手段と、前記第1撮像手段によって撮像された画像から現実空間の特徴を検出することにより、前記頭部装着型表示装置の位置と姿勢の少なくとも一方を含んだ状態に関する第1情報を取得する第1取得手段と、前記第2撮像手段によって撮像された画像から現実空間の特徴を検出することにより、前記状態に関する第2情報を取得する第2取得手段と、前記第1情報と前記第2情報に基づいて、仮想物体の画像を生成する生成手段と、を有し、前記第2取得手段は、前記パターン画像が写っていない画像から現実空間の特徴を検出することにより、前記第2情報を取得することを特徴とする頭部装着型表示装置である。
【0007】
本発明の第2態様は、正面に設けられている第1撮像手段と、前記正面に設けられており、前記第1撮像手段の撮像範囲にパターン画像を投影する投影手段と、側面に設けられている第2撮像手段と、を有する頭部装着型表示装置と共に使用可能な画像処理装置であって、前記第1撮像手段によって撮像された画像から現実空間の特徴を検出することにより、前記頭部装着型表示装置の位置と姿勢の少なくとも一方を含んだ状態に関する第1情報を取得する第1取得手段と、前記第2撮像手段によって撮像された画像から現実空間の特徴を検出することにより、前記状態に関する第2情報を取得する第2取得手段と、前記第1情報と前記第2情報に基づいて、仮想物体の画像を生成する生成手段とを有し、前記第2取得手段は、前記パターン画像が写っていない画像から現実空間の特徴を検出することにより、前記第2情報を取得することを特徴とする画像処理装置である。
【0009】
本発明の第3態様は、正面に設けられている第1撮像手段と、前記正面に設けられており、前記第1撮像手段の撮像範囲にパターン画像を投影する投影手段と、側面に設けられている第2撮像手段とを有する頭部装着型表示装置の制御方法であって、前記第1撮像手段によって撮像された画像から現実空間の特徴を検出することにより、前記頭部装着型表示装置の位置と姿勢の少なくとも一方を含んだ状態に関する第1情報を取得する第1取得ステップと、前記第2撮像手段によって撮像された画像から現実空間の特徴を検出することによりに基づいて、前記状態に関する第2情報を取得する第2取得ステップと、前記第1情報と前記第2情報に基づいて、仮想物体の画像を生成する生成ステップと、を有し、前記第2取得ステップでは、前記パターン画像が写っていない画像から現実空間の特徴を検出することにより、前記第2情報を取得することを特徴とする制御方法である。
【0011】
本発明の第4態様は、上述した制御方法の各ステップをコンピュータに実行させるためのプログラムである。
【発明の効果】
【0012】
本発明によれば、頭部装着型表示装置の位置と姿勢の少なくとも一方を高精度に推定(判断)することができる。
【図面の簡単な説明】
【0013】
【
図2】本実施形態に係るCPUの機能構成を示すブロック図である。
【
図3】本実施形態に係る状態推定部の機能構成を示すブロック図である。
【
図4】本実施形態に係る状態推定処理のフローチャートである。
【発明を実施するための形態】
【0014】
本発明の実施形態について説明する。本実施形態ではHMD(ヘッドマウントディスプレイ)に本発明を適用した例を説明するが、本発明は他の頭部装着型表示装置にも適用可能である。例えば、ユーザーが手で保持して頭部に装着する(当てる)ハンドヘルド型表示装置は頭部装着型表示装置の一種であり、本発明はハンドヘルド型表示装置にも適用可能である。本発明は、ユーザーが両目で画像を見る頭部装着型表示装置にも、ユーザーが片目で画像を見る頭部装着型表示装置にも適用可能である。
【0015】
本発明は、ビデオシースルー方式にも光学シースルー方式にも適用可能である。ビデオシースルー方式の場合は、頭部装着型表示装置は、外界(現実空間)の画像を、必要に応じてグラフィック(例えば仮想物体)を合成して表示する。この場合は、ユーザーは、現実空間を直接見ることはできないが、表示された画像を見ることによって、現実空間を間接的に見たり、現実空間の画像に合成されたグラフィックを見たりすることができる。光学シースルー方式の場合は、頭部装着型表示装置は、例えば、通常の眼鏡のレンズと同様のレンズを有し、レンズに対し、必要に応じてグラフィックを投影する。この場合は、ユーザーは、レンズを介して現実空間を直接見たり、レンズに投影されたグラフィックを見たりすることができる。本発明は、現実空間の画像を表示せずに仮想空間の画像を表示す
る方式にも適用可能である。つまり、本発明は、様々なXR(Cross Reality)、例えばAR(Augmented Reality)、MR(Mixed Reality)、およびVR(Virtual Reality)に適用可能である。
【0016】
本発明は、頭部装着型表示装置と共に使用可能な電子機器であれば、頭部装着型表示装置とは異なる電子機器であっても適用可能である。本発明が適用された状態判断装置は、頭部装着型表示装置に設けられてもよいし、頭部装着型表示装置とは別体の電子機器に設けられてもよい。例えば、本発明は、HMDに対して有線または無線で接続されたコントローラーまたはパーソナルコンピュータ(PC)にも適用可能である。
【0017】
図1(A),1(B)は、本実施形態に係るHMD100の外観図である。
図1(A)はHMD100の前面斜視図であり、
図1(B)はHMD100の背面斜視図である。
図1(A)に示すように、HMD100にはヘッドバンド110が設けられている。ユーザーは、HMD100を眼部に接触させ、ヘッドバンド110で頭部に固定する。HMD100は、ステレオカメラ101、投影部102、サイドカメラ103、左表示部104L、および右表示部104Rを有する。HMD100は、内部に、CPU(Central
Processing Unit)105、ROM(Read Only Memory)106、およびRAM(Random Access Memory)107を有する。
【0018】
ステレオカメラ101は、外界を撮像するカメラ(撮像装置)であり、左撮像部101Lと右撮像部101Rを有する。例えば、ステレオカメラ101はグローバルシャッター方式のカメラである(左撮像部101Lと右撮像部101Rのそれぞれは、例えば、グローバルシャッター方式の撮像部である)。ステレオカメラ101(左撮像部101Lと右撮像部101Rのそれぞれ)によって得られる画像は、例えば、グレースケール画像である。投影部102は、ステレオカメラ101と同じ方向に向けられており、ステレオカメラ101の撮像範囲にパターン画像を投影する。本実施形態では、投影部102は、不可視光のパターン画像(例えば赤外光のドットパターン)を投影するとする。サイドカメラ103も、外界を撮像するカメラであり、例えばグローバルシャッター方式のカメラである。サイドカメラ103によって得られる画像も、例えば、グレースケール画像である。左表示部104Lは、HMD100を装着したユーザーの左目に正対するように配置されており、ユーザーの左目に見せる画像(表示画像、左表示画像)を表示する。右表示部104Rは、HMD100を装着したユーザーの右目に正対するように配置されており、ユーザーの右目に見せる画像(表示画像、右表示画像)を表示する。
【0019】
CPU105は、HMD100全体を制御する情報処理装置(画像処理装置)である。ROM106は、各種データ(例えば各種プログラムと各種パラメータ)を記憶する。RAM107も、各種データ(ステレオカメラ101によって撮像された画像と、サイドカメラ103によって撮像された画像とを含む)を記憶する。例えば、CPU105は、ROM106に格納されているプログラムをRAM107に展開して実行する。
【0020】
図2は、CPU105の機能構成を示すブロック図である。CPU105は、測距部201、状態推定部202、グラフィック生成部203、および表示制御部204を有する。
【0021】
測距部201は、ステレオカメラ101から、互いに視差を有する2つの画像(左撮像部101Lによって撮像された画像、および右撮像部101Rによって撮像された画像)を取得する。そして、測距部201は、取得した2つの画像から、距離マップ(距離情報、奥行マップ、奥行情報)を生成する。測距部201が使用する画像は、投影部102によって投影されたパターン画像が写った画像である。距離マップは、ステレオカメラ10
1から被写体までの距離(奥行)の分布を示す情報であり、例えば画素値として奥行の値を有する画像である。なお、ステレオカメラ101の代わりに単眼カメラを使用してもよい。例えば、ToF(Time of Flight)カメラを使用してもよい。その場合は、ToFカメラによって撮像された画像を、距離マップとして使用することができる。但し、各種処理の安定性の観点から、単眼カメラよりもステレオカメラ101のほうが好ましい。
【0022】
状態推定部202は、ステレオカメラ101の撮像画像(ステレオカメラ101によって撮像された画像)とサイドカメラ103の撮像画像(サイドカメラ103によって撮像された画像)とに基づいて、HMD100の状態を推定する。本実施形態では、HMD100の状態は、HMD100の位置と姿勢の少なくとも一方を含む。
【0023】
グラフィック生成部203はグラフィックを生成する。例えば、グラフィック生成部203は、測距部201によって生成された距離マップと、状態推定部202によって推定されたHMD100の状態とに基づく3次元位置に仮想物体が配置されるように、当該仮想物体の画像を生成する。
【0024】
表示制御部204は、左撮像部101Lによって撮像された画像に基づいて左表示画像を生成し、左表示画像を左表示部104Lに表示する。表示制御部204は、必要に応じて、グラフィック生成部203によって生成されたグラフィック(例えば仮想物体)の合成を行い、当該グラフィックが配置された左表示画像を生成する。同様に、表示制御部204は、右撮像部101Rによって撮像された画像に基づいて右表示画像を生成し、右表示画像を右表示部104Rに表示する。表示制御部204は、必要に応じて、グラフィック生成部203によって生成されたグラフィック(例えば仮想物体)の合成を行い、当該グラフィックが配置された右表示画像を生成する。表示制御部204が使用する画像は、投影部102によって投影されたパターン画像が写っていない画像であることが好ましい。
【0025】
ここで、ステレオカメラ101の撮像画像のみに基づいてHMD100の状態を推定する構成を考える。そのような構成では、HMD100の状態を高精度に推定できないことがある。例えば、HMD100を装着したユーザーが頭部を素早く動かした場合に、ステレオカメラ101で追跡する現実空間の特徴点がステレオカメラ101の撮像範囲の外に出たり、ステレオカメラ101の撮像画像に特徴点の動きボケが発生したりする。その結果、特徴点が追跡できなくなり、HMD100の状態が高精度に推定できなくなる。
【0026】
そこで、本実施形態では、サイドカメラ103の撮像画像をさらに用いる。サイドカメラ103は、パターン画像の投影範囲に重ならない範囲が撮像されるように配置される。パターン画像の投影範囲は、ステレオカメラ101の撮像範囲の一部であってもよいし、ステレオカメラ101の撮像範囲全体であってもよい。本実施形態では、投影部102は、ステレオカメラ101の撮像範囲全体にパターン画像を投影するとする。そのため、サイドカメラ103は、ステレオカメラ101の撮像範囲に重ならない範囲を撮像する。
【0027】
これによって、HMD100の状態を推定するために参照できる範囲がサイドカメラ103の撮像範囲によって広がるため、HMD100の状態が高精度に推定できるようになる。例えば、特徴点がステレオカメラ101の撮像範囲の外に出ても、サイドカメラ103によって特徴点が撮像されていれば、HMD100の状態を高精度に推定することができる。また、ステレオカメラ101の撮像画像に特徴点の動きボケが発生しても、サイドカメラ103の撮像画像に特徴点の動きボケが発生しなければ、HMD100の状態を高精度に推定することができる。
【0028】
なお、本実施形態ではステレオカメラ101とサイドカメラ103のそれぞれがグローバルシャッター方式のカメラであるとしたが、これに限られない。例えば、ステレオカメラ101としてローリングシャッター方式のカメラを用いてもよい。ローリングシャッター方式のカメラはグローバルシャッター方式のカメラに比べ安価で、高解像度化を行いやすい。そのため、ステレオカメラ101としてローリングシャッター方式のカメラを用いることによって、HMD100の価格を下げたり、表示画像の高解像度化を行ったりすることができる。サイドカメラ103としても、ローリングシャッター方式のカメラを用いてよい。但し、グローバルシャッター方式のほうがローリングシャッター方式よりも撮像画像に歪みが発生しにくいため、歪み抑制の観点では、グローバルシャッター方式のカメラを用いることが好ましい。例えば、サイドカメラ103では、ステレオカメラ101の撮像画像よりも歪みの少ない画像を撮像できることが好ましいため、サイドカメラ103としてグローバルシャッター方式のカメラを用いることが好ましい。
【0029】
ステレオカメラ101による撮像のフレームレートと、サイドカメラ103による撮像のフレームレートとは特に限定されないが、それらは同じ(例えば60fps、90fps、または120fps)であることが好ましい。ステレオカメラ101による撮像のフレームレートを、サイドカメラ103による撮像のフレームレートと同じであれば、それらの撮像のタイミングのずれを低減することによって、より好適に処理が行えるようになる。
【0030】
図3は、状態推定部202の機能構成を示すブロック図である。状態推定部202は、第1推定部301、特徴検出部302、第2推定部303、および状態判断部304を有する。
【0031】
第1推定部301は、ステレオカメラ101の撮像画像に基づいて、HMD100の状態に関する第1情報を取得する。本実施形態では、第1推定部301は、ステレオカメラ101の撮像画像に基づいて、HMD100の状態を推定することによって、推定した状態を示す第1情報を取得するとする。例えば、第1推定部301は、SLAM(Simultaneous Localization and Mapping)によってHMD100の状態を推定する。
【0032】
なお、第1情報は、HMD100の状態に関する情報であればよく、例えば所定の状態からの変化量を示す情報であってもよい。第1推定部301は、HMD100の状態の推定に、ステレオカメラ101の撮像画像に対応する距離情報(測距部201によって生成された距離マップ)を用いてもよい。例えば、第1推定部301は、RGB-D SLAMによってHMD100の状態を推定してもよい。第1推定部301は、距離情報のみを用いてHMD100の状態を推定してもよい。
【0033】
投影部102によって投影されたパターン画像がステレオカメラ101の撮像画像に写っていると、パターン画像の特徴(例えばドット)が現実空間の特徴(例えば特徴点)として誤検出され、HMD100の状態を高精度に推定できないことがある。そのため、投影部102は、パターン画像の投影と非投影を繰り返してもよい。そして、第1推定部301は、パターン画像が非投影の期間に得られたステレオカメラ101の撮像画像に基づいて、HMD100の状態を推定してもよい。
【0034】
なお、パターン画像が投影される期間でも、サイドカメラ103の撮像画像を用いたオドメトリによって、HMD100の状態を推定することができる。例えば、サイドカメラ103の撮像画像の時間変化(例えば特徴点の動きベクトル)に対応するHMD100の状態変化を、HMD100の前回の状態(推定した状態)に加えることによって、HMD100の現在の状態を推定することができる。
【0035】
特徴検出部302は、サイドカメラ103の撮像画像から特徴を検出する。検出する特徴は現実空間に関する特徴であればよく、本実施形態では、特徴検出部302は、サイドカメラ103の撮像画像から特徴点を検出するとする。特徴点は、例えば、現実空間に存在する点(物体の一部または全体)である。特徴点を示す特定の物体が設置されてもよいし、元々存在する物体の一部または全体が特徴点として検出されてもよい。特徴の検出には、種々の公知技術(例えばKLT(Kanade-Lucas-Tomasi) TrackerまたはgoodFeatures To Track)を用いることができる。
【0036】
第2推定部303は、サイドカメラ103の撮像画像に基づいて、HMD100の状態に関する第2情報を取得する。なお、第2情報は、HMD100の状態に関する情報であればよく、HMD100の状態を示す情報であってもよいし、そうでなくてもよい。
【0037】
上述したように、サイドカメラ103によって撮像された画像をさらに用いることによって、HMD100の状態を高精度に推定できるようになる。しかしながら、サイドカメラ103を配置することのできる範囲は限られているため、剛性の低い位置にサイドカメラ103が設けられることがある。剛性が低い位置にサイドカメラ103を設けると、温度または時間経過によって、ステレオカメラ101に対するサイドカメラ103の相対位置が変化することがある。サイドカメラ103の撮像画像に基づいてHMD100の状態を推定する構成において、サイドカメラ103の相対位置が変化すると、状態推定の精度が低下する。サイドカメラ103が、ステレオカメラ101が設けられている部材と異なる部材に設けられている場合には、それらの部材間のずれによっても、サイドカメラ103の相対位置の変化が生じる。
【0038】
本実施形態(
図1)では、ステレオカメラ101はHMD100の正面に設けられており、サイドカメラ103はHMD100の側面に設けられている。HMD100の側面は、ユーザーがHMD100を装着する際に把持する面であり、HMD100の全体重量を抑えるために正面よりも剛性が低い部材で構成されることが多い。また、正面の部材と側面の部材が同じであっても、一般的に、部材の端部分の剛性は、当該部材の中央部分の剛性よりも低くなる。そのため、本実施形態では、サイドカメラ103は、ステレオカメラ101が設けられている位置よりも剛性が低い位置に設けられている。なお、ステレオカメラ101とサイドカメラ103の配置は上記配置に限られない。
【0039】
そこで、本実施形態では、第2推定部303は、サイドカメラ103の撮像画像に基づいて、所定時間あたりのHMD100の状態変化を推定することによって、推定した状態変化を示す第2情報を取得するとする。例えば、第2推定部303は、特徴検出部302によって検出された特徴の時間変化(例えば特徴点の動きベクトル)に応じて、HMD100の状態変化を推定する。所定時間(短い時間)にサイドカメラ103の相対位置の変化は生じない(または小さい)と考えられるため、HMD100の状態変化を高精度に推定することができる。さらに、サイドカメラ103の相対位置の変化が無視できるので、サイドカメラ103の相対位置が変化しても、HMD100の状態推定のキャリブレーションは必要なく、高い利便性を実現できる。
【0040】
なお、本実施形態(
図1)ではHMD100の左側面と右側面のそれぞれにサイドカメラ103が設けられているが、サイドカメラ103の数は、1つであってもよいし、3つ以上であってもよい。複数のサイドカメラ103が設けられている場合には、例えば、第2推定部303は、各サイドカメラ103の撮像画像を個別に用いて複数の状態変化を推定し、複数の状態変化の平均を最終的な状態変化として決定する。
【0041】
また、サイドカメラ103の相対位置の変化が実質的に無視できれば、所定時間は特に限定されないが、所定時間は短いことが好ましい。そこで、本実施形態では、第2推定部303は、サイドカメラ103の撮像画像に基づいて、サイドカメラ103による前回の撮像からのHMD100の状態変化を推定するとする。
【0042】
状態判断部304は、第1情報と第2情報に基づいてHMD100の状態を判断する。一般的に、ステレオカメラ101の撮像画像のみに基づいてHMD100の状態を推定する構成では、ステレオカメラ101の撮像画像から検出される特徴点の数が多いほど、状態推定の精度が高い。そのため、本実施形態では、状態判断部304は、ステレオカメラ101の撮像画像から検出される特徴点の数が閾値よりも多い場合には、第1情報が示す状態(第1推定部301によって推定された状態)を、HMD100の状態として判断するとする。そして、状態判断部304は、ステレオカメラ101の撮像画像から検出される特徴点の数が閾値よりも少ない場合に、第1情報と第2情報に基づいてHMD100の状態を判断するとする。本実施形態では、状態判断部304は、現在から上記所定時間前のタイミングで判断した状態に、第2推定部303によって推定された状態変化(現在の第2情報が示す状態変化)を加えることによって、HMD100の現在の状態を判断するとする。現在から上記所定時間前のタイミングで(状態判断部304が)判断した状態は、例えば、当該タイミングで得られた第1情報が示す状態である。
【0043】
なお、HMD100の状態の判断方法は、上記方法に限られない。例えば、状態判断部304は、第2推定部303によって推定された状態変化と、上記所定時間前のタイミングから現在までの期間に第1推定部301によって推定された状態の変化(当該期間における第1情報が示す状態の変化)とを重みづけ合成してもよい。そして、状態判断部304は、現在から上記所定時間前のタイミングで判断した状態に、重みづけ合成によって得られた変化を加えることによって、HMD100の現在の状態を判断してもよい。重みづけ合成を行うことによって、第2情報を使用する前後での状態推定の結果の急激な変化を抑制することができる。
【0044】
状態判断部304は、上記重みづけ合成において、ステレオカメラ101の撮像画像から検出される特徴点の数と、サイドカメラ103の撮像画像から検出される特徴点の数とに基づく重みを使用してもよい。例えば、状態判断部304は、ステレオカメラ101の撮像画像の特徴点の数からサイドカメラ103の特徴点の数を減算して得られる差分値が大きいほど、第1推定部301によって推定された状態の変化の重みを大きくする。そして、状態判断部304は、差分値が小さいほど、第2推定部303によって推定された状態変化の重みを大きくする。
【0045】
図4は、HMD100の状態推定処理のフローチャートである。
図4の状態推定処理は、CPU105がROM106に格納されているプログラムをRAM107に展開して実行することによって実現される。例えば、HMD100が起動すると
図4の状態推定処理が開始する。CPU105は、
図4の状態推定処理を繰り返し実行する。1回目の状態推定処理では、例えば、ステップS409の処理によってHMD100の状態が判断される。
【0046】
ステップS401では、CPU105は、投影部102によってパターン画像が投影されているか否かを判定する。CPU105は、パターン画像が投影されていると判定した場合はステップS402に処理を進め、パターン画像が投影されていないと判定した場合はステップS405に処理を進める。
【0047】
ステップS402では、CPU105(特徴検出部302)は、サイドカメラ103の撮像画像を取得する。ステップS403では、CPU105(特徴検出部302)は、ス
テップS402で取得した撮像画像(サイドカメラ103の撮像画像)から特徴点を検出する。ステップS404では、CPU105(第2推定部303)は、ステップS403で検出した特徴点の時間変化(動きベクトル)に基づいて、HMD100の状態変化を推定する。その後、CPU105は、ステップS412に処理を進める。
【0048】
ステップS405では、CPU105(第1推定部301)は、ステレオカメラ101の撮像画像を取得する。ステップS406では、CPU105(特徴検出部302)は、サイドカメラ103の撮像画像を取得する。ステップS407では、CPU105(第1推定部301)は、ステップS405で取得した撮像画像(ステレオカメラ101の撮像画像)を用いたSLAMによって、HMD100の状態を推定する。ステップS407の処理は、ステレオカメラ101の撮像画像から特徴点を検出する処理を含む。ステップS408では、CPU105(特徴検出部302)は、ステップS406で取得した撮像画像(サイドカメラ103の撮像画像)から特徴点を検出する。ステップS409では、CPU105(第2推定部303)は、ステップS408で検出した特徴点の時間変化(動きベクトル)に基づいて、HMD100の状態変化を推定する。その後、CPU105は、ステップS410に処理を進める。
【0049】
ステップS410では、CPU105(状態判断部304)は、ステップS407でステレオカメラ101の撮像画像から検出された特徴点の数が閾値以上であるか否かを判定する。CPU105は、特徴点の数が閾値以上であると判定した場合はステップS411に処理を進め、特徴点の数が閾値未満であると判定した場合はステップS412に処理を進める。なお、特徴点の数が閾値と等しい場合にはステップS412に処理を進めてもよい。
【0050】
ステップS411では、CPU105(状態判断部304)は、ステップS407で第1推定部301によって推定された状態を、HMD100の状態として判断する。
【0051】
ステップS412では、CPU105(状態判断部304)は、状態判断部304が前回判断した状態に、ステップS404またはステップS409で第2推定部303によって推定された状態変化を加えることによって、HMD100の状態を判断する。
【0052】
以上述べたように、本実施形態によれば、頭部装着型表示装置の位置と姿勢の少なくとも一方を高精度に推定(判断)することができる。例えば、ステレオカメラ101に加え、パターン画像の投影範囲に重ならない範囲が撮像されるように配置されたサイドカメラ103を用いることにより、HMD100の状態を推定するために参照できる範囲を広げることができる。その結果、HMD100の状態が高精度に推定できるようになる。
【0053】
さらに、本実施形態によれば、ステレオカメラ101の撮像画像に基づいてはHMD100の状態が推定されるが、サイドカメラ103の撮像画像に基づいては所定時間あたりのHMD100の状態変化が推定される。そして、これら2つの推定結果に基づいてHMD100の状態が判断される。サイドカメラ103の撮像画像に基づいて所定時間あたりのHMD100の状態変化を推定するようにしたことによって、サイドカメラ103の相対位置の変化に起因した、HMD100の状態推定の精度悪化を抑制することができる。
【0054】
なお、上述した実施形態(変形例を含む)はあくまで一例であり、本発明の要旨の範囲内で上述した構成を適宜変形したり変更したりすることにより得られる構成も、本発明に含まれる。上述した構成を適宜組み合わせて得られる構成も、本発明に含まれる。
【0055】
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は
記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0056】
本実施形態の開示は、以下の構成、方法、およびプログラムを含む。
(構成1)
頭部装着型表示装置であって、
第1撮像手段と、
前記第1撮像手段の撮像範囲にパターン画像を投影する投影手段と、
前記パターン画像の投影範囲に重ならない範囲を撮像する第2撮像手段と、
前記第1撮像手段によって撮像された第1画像に基づいて、前記頭部装着型表示装置の位置と姿勢の少なくとも一方を含んだ状態に関する第1情報を取得する第1取得手段と、
前記第2撮像手段によって撮像された第2画像に基づいて、前記頭部装着型表示装置の前記状態に関する第2情報を取得する第2取得手段と、
前記第1情報と前記第2情報に基づいて、前記頭部装着型表示装置の前記状態を判断する判断手段と
を有することを特徴とする頭部装着型表示装置。
(構成2)
前記第1取得手段は、前記第1画像に基づいて、前記頭部装着型表示装置の前記状態を推定することによって、推定した前記状態を示す前記第1情報を取得する
ことを特徴とする構成1に記載の頭部装着型表示装置。
(構成3)
前記第2取得手段は、前記第2画像に基づいて、所定時間あたりの前記頭部装着型表示装置の前記状態の変化を推定することによって、推定した前記変化を示す前記第2情報を取得する
ことを特徴とする構成2に記載の頭部装着型表示装置。
(構成4)
前記第2取得手段は、前記第2画像に基づいて、前記第2撮像手段による前回の撮像からの前記頭部装着型表示装置の前記状態の変化を推定することによって、推定した前記変化を示す前記第2情報を取得する
ことを特徴とする構成3に記載の頭部装着型表示装置。
(構成5)
前記判断手段は、現在から前記所定時間前のタイミングで得られた前記第1情報が示す前記状態に、現在の前記第2情報が示す前記変化を加えることによって、現在の前記状態を判断する
ことを特徴とする構成3または4に記載の頭部装着型表示装置。
(構成6)
前記判断手段は、現在から前記所定時間前のタイミングで得られた前記第1情報が示す前記状態に、現在の前記第2情報が示す前記変化と、前記所定時間前の前記タイミングから現在までの期間における前記第1情報が示す前記状態の変化とを重みづけ合成した変化を加えることによって、現在の前記状態を判断する
ことを特徴とする構成3または4に記載の頭部装着型表示装置。
(構成7)
前記判断手段は、前記重みづけ合成において、前記第1画像から検出される特徴点の数と、前記第2画像から検出される特徴点の数とに基づく重みを使用する
ことを特徴とする構成6に記載の頭部装着型表示装置。
(構成8)
前記判断手段は、前記第1画像から検出される特徴点の数が閾値よりも多い場合には、前記第1情報が示す前記状態を、前記頭部装着型表示装置の前記状態として判断する
ことを特徴とする構成2~7のいずれか1項に記載の頭部装着型表示装置。
(構成9)
前記判断手段は、前記第1画像から検出される特徴点の数が閾値よりも少ない場合に、前記第1情報と前記第2情報に基づいて、前記頭部装着型表示装置の前記状態を判断することを特徴とする構成2~8のいずれか1項に記載の頭部装着型表示装置。
(構成10)
前記第1取得手段は、前記第1画像に対応する距離情報に基づいて、前記頭部装着型表示装置の前記状態を推定する
ことを特徴とする構成2~9のいずれか1項に記載の頭部装着型表示装置。
(構成11)
前記投影手段は、前記パターン画像の投影と非投影を繰り返し、
前記第1取得手段は、前記パターン画像が非投影の期間に得られた前記第1画像に基づいて、前記頭部装着型表示装置の前記状態を推定する
ことを特徴とする構成2~9のいずれか1項に記載の頭部装着型表示装置。
(構成12)
前記第1取得手段は、SLAMによって前記頭部装着型表示装置の前記状態を推定することを特徴とする構成2~11のいずれか1項に記載の頭部装着型表示装置。
(構成13)
前記パターン画像はドットパターンを表す
ことを特徴とする構成1~12のいずれか1項に記載の頭部装着型表示装置。
(構成14)
前記第1撮像手段はステレオカメラである
ことを特徴とする構成1~13のいずれか1項に記載の頭部装着型表示装置。
(構成15)
前記第2撮像手段は、前記第1撮像手段が設けられている位置よりも剛性が低い位置に設けられている
ことを特徴とする構成1~14のいずれか1項に記載の頭部装着型表示装置。
(構成16)
前記第1撮像手段は、前記頭部装着型表示装置の正面に設けられている
ことを特徴とする構成1~15のいずれか1項に記載の頭部装着型表示装置。
(構成17)
前記第2撮像手段は、前記頭部装着型表示装置の側面に設けられている
ことを特徴とする構成1~16のいずれか1項に記載の頭部装着型表示装置。
(構成18)
前記投影手段は、前記第1撮像手段の撮像範囲全体に前記パターン画像を投影し、
前記第2撮像手段は、前記第1撮像手段の撮像範囲に重ならない範囲を撮像する
ことを特徴とする構成1~17のいずれか1項に記載の頭部装着型表示装置。
(構成19)
前記第1撮像手段による撮像のフレームレートは、前記第2撮像手段による撮像のフレームレートと同じである
ことを特徴とする構成1~18のいずれか1項に記載の頭部装着型表示装置。
(構成20)
前記第1撮像手段はグローバルシャッター方式の撮像手段である
ことを特徴とする構成1~19のいずれか1項に記載の頭部装着型表示装置。
(構成21)
前記第1撮像手段はローリングシャッター方式の撮像手段である
ことを特徴とする構成1~20のいずれか1項に記載の頭部装着型表示装置。
(構成22)
前記第2撮像手段はグローバルシャッター方式の撮像手段である
ことを特徴とする構成1~21のいずれか1項に記載の頭部装着型表示装置。
(構成23)
第1撮像手段と第2撮像手段を有する頭部装着型表示装置と共に使用可能な状態判断装置であって、
前記第1撮像手段によって撮像された第1画像に基づいて、前記頭部装着型表示装置の位置と姿勢の少なくとも一方を含んだ状態を推定する第1推定手段と、
前記第2撮像手段によって撮像された第2画像に基づいて、所定時間あたりの前記頭部装着型表示装置の前記状態の変化を推定する第2推定手段と、
前記第1推定手段の推定結果と前記第2推定手段の推定結果とに基づいて、前記頭部装着型表示装置の前記状態を判断する判断手段と
を有することを特徴とする状態判断装置。
(構成24)
前記第1撮像手段と、
前記第2撮像手段と、
構成23に記載の状態判断装置と
を有することを特徴とする頭部装着型表示装置。
(方法1)
第1撮像手段と、前記第1撮像手段の撮像範囲にパターン画像を投影する投影手段と、前記パターン画像の投影範囲に重ならない範囲を撮像する第2撮像手段とを有する頭部装着型表示装置の制御方法であって、
前記第1撮像手段によって撮像された第1画像に基づいて、前記頭部装着型表示装置の位置と姿勢の少なくとも一方を含んだ状態に関する第1情報を取得する第1取得ステップと、
前記第2撮像手段によって撮像された第2画像に基づいて、前記頭部装着型表示装置の前記状態に関する第2情報を取得する第2取得ステップと、
前記第1情報と前記第2情報に基づいて、前記頭部装着型表示装置の前記状態を判断する判断ステップと
を有することを特徴とする制御方法。
(方法2)
第1撮像手段と第2撮像手段を有する頭部装着型表示装置と共に使用可能な状態判断装置の制御方法であって、
前記第1撮像手段によって撮像された第1画像に基づいて、前記頭部装着型表示装置の位置と姿勢の少なくとも一方を含んだ状態を推定する第1推定ステップと、
前記第2撮像手段によって撮像された第2画像に基づいて、所定時間あたりの前記頭部装着型表示装置の前記状態の変化を推定する第2推定ステップと、
前記第1推定ステップの推定結果と前記第2推定ステップの推定結果とに基づいて、前記頭部装着型表示装置の前記状態を判断する判断ステップと
を有することを特徴とする制御方法。
(プログラム)
方法1または2に記載の制御方法の各ステップをコンピュータに実行させるためのプログラム。
【符号の説明】
【0057】
100:HMD 101:ステレオカメラ 102:投影部
103:サイドカメラ 105:CPU