JP2017187667A - 頭部装着型表示装置およびコンピュータープログラム - Google Patents
頭部装着型表示装置およびコンピュータープログラム Download PDFInfo
- Publication number
- JP2017187667A JP2017187667A JP2016077136A JP2016077136A JP2017187667A JP 2017187667 A JP2017187667 A JP 2017187667A JP 2016077136 A JP2016077136 A JP 2016077136A JP 2016077136 A JP2016077136 A JP 2016077136A JP 2017187667 A JP2017187667 A JP 2017187667A
- Authority
- JP
- Japan
- Prior art keywords
- parameter
- unit
- image
- image display
- marker
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/332—Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
- H04N13/344—Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
- G02B27/0172—Head mounted characterised by optical features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/593—Depth or shape recovery from multiple images from stereo images
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/204—Image signal generators using stereoscopic image cameras
- H04N13/239—Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/271—Image signal generators wherein the generated image signals comprise depth maps or disparity maps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/398—Synchronisation thereof; Control thereof
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0101—Head-up displays characterised by optical features
- G02B2027/0127—Head-up displays characterised by optical features comprising devices increasing the depth of field
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0101—Head-up displays characterised by optical features
- G02B2027/0132—Head-up displays characterised by optical features comprising binocular systems
- G02B2027/0134—Head-up displays characterised by optical features comprising binocular systems of stereoscopic type
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0101—Head-up displays characterised by optical features
- G02B2027/0138—Head-up displays characterised by optical features comprising image capture systems, e.g. camera
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0101—Head-up displays characterised by optical features
- G02B2027/014—Head-up displays characterised by optical features comprising information/image processing systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Optics & Photonics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Controls And Circuits For Display Device (AREA)
- Processing Or Creating Images (AREA)
- Studio Devices (AREA)
Abstract
【課題】特定の対象物に対応付けて表示される対応画像の表示位置などの精度を向上させるためのパラメーター群を設定する。【解決手段】頭部装着型表示装置は、撮像対象となった外景に含まれる実オブジェクトのオブジェクト距離、および、撮像部に対する実オブジェクトの相対姿勢を導出する導出部と;オブジェクト距離に応じて、実オブジェクトに対応付けられた対応画像を画像表示部に表示させるための複数のパラメーター群から、一つのパラメーター群を選択するパラメーター選択部と;オブジェクト距離および実オブジェクトの相対姿勢と、選択された一つのパラメーター群と、に基づいて、対応画像の姿勢などと、実オブジェクトの姿勢などと、を対応させた表示画像を設定し、表示画像を画像表示部に表示させる表示設定部と、を備える。【選択図】図4
Description
本発明は、頭部装着型表示装置の技術に関する。
従来から、使用者の頭部に装着される頭部装着型表示装置(Head Mounted Display:HMD)が知られている。例えば、特許文献1には、支持手段を介して外景を撮像可能な撮像手段がHMDに対して上下にスライドするビデオシースルー型HMDが記載されている。
光学シースルー型の頭部装着型表示装置を含む画像表示装置が、カメラによって撮像された特定の対象物の位置に画像を精度良く重畳させて表示させる技術を備えれば、AR(拡張現実)機能に関して、向上した利便性を提供することができる。ただし、撮像部から特定の対象物までの距離は様々であり、特定の対象物に対応付けて表示される画像の、画像表示部における表示位置の精度を高くするために、画像を表示する際に用いられる各種パラメーターの設定に向上の余地があった。
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態として実現することが可能である。
(1)本発明の一形態によれば、頭部装着型表示装置が提供される。この頭部装着型表示装置は、光学透過型の画像表示部と;外景を撮像する撮像部および深度センサーの少なくとも一方と;実オブジェクトの前記撮像部および前記深度センサーの少なくとも一方から前記実オブジェクトまでのオブジェクト距離、および、前記撮像部および前記深度センサーの少なくとも一方に対する前記実オブジェクトの相対姿勢を導出する導出部と;入力情報または導出された前記オブジェクト距離に応じて、前記実オブジェクトに対応付けられた対応画像を前記画像表示部に表示させるために用いられ、予め設定された複数のパラメーター群から、一つのパラメーター群を選択するパラメーター選択部と;導出された前記オブジェクト距離および前記実オブジェクトの相対姿勢と、選択された前記一つのパラメーター群と、に基づいて、前記対応画像の位置と、大きさと、姿勢と、奥行感との少なくとも一つと、前記実オブジェクトの位置と、大きさと、姿勢と、奥行感との一つとを対応させた表示画像を設定し、前記表示画像を前記画像表示部に表示させる表示設定部と、を備える。この形態の頭部装着型表示装置によれば、表示設定部は、実オブジェクトの位置などに対応画像を高い精度で対応付けて、画像表示部に表示させることができる。
(2)上記形態の頭部装着型表示装置において、前記撮像部は、異なる位置に配置された複数のカメラであり;前記頭部装着型表示装置は、さらに;前記複数のカメラが撮像した複数の撮像画像を用いて、前記実オブジェクトまでの距離を特定する距離特定部を備えてもよい。
(3)上記形態の頭部装着型表示装置において、前記画像表示部は、左眼用画像表示部と右眼用画像表示部とを含み;前記表示設定部は、使用者に前記表示画像を立体画像として認識させることができ;前記パラメーター群は、前記撮像部のカメラパラメーターと、前記撮像部の位置と前記画像表示部の位置とによって決定される三次元の空間関係を表す変換パラメーターと、前記対応画像の元となるモデルとして設定された三次元オブジェクトを前記画像表示部に画像として表示させるために用いられる写像変換パラメーターとを含んでもよい。この形態の頭部装着型表示装置によれば、表示設定部が対応画像を立体画像として表示させることで、使用者に表示画像の奥行き感を認識させることができる。
(4)上記形態の頭部装着型表示装置において、前記複数のパラメーター群は、前記画像表示部から前記実オブジェクトまでの距離が4メートル未満の場合に対応するように設定された第1パラメーター群と、前記オブジェクト距離が4メートル以上の場合に対応するように設定された第2パラメーター群と、を含んでもよい。この形態の頭部装着型表示装置によれば、使用者が頻繁に行なう作業に応じたパラメーター群が設定されているため、使用者の利便性が向上する。
(5)上記形態の頭部装着型表示装置において、前記複数のパラメーター群は、前記画像表示部から前記実オブジェクトまでの距離が1メートル未満の場合に対応するように設定された第1パラメーター群と、前記オブジェクト距離が1メートル以上の場合に対応するように設定された第2パラメーター群と、を含んでもよい。この形態の頭部装着型表示装置によれば、使用者が頻繁に行なう作業に応じたパラメーター群が設定されているため、使用者の利便性が向上する。
本発明は、頭部装着型表示装置以外の種々の形態で実現することも可能である。例えば、画像表示装置、これらの装置を有するシステム、これらの装置の制御方法およびシステムを実現するためのコンピュータープログラム、そのコンピュータープログラムを記録した記録媒体、および、そのコンピュータープログラムを含み搬送波内に具現化されたデータ信号等の形態で実現できる。
本明細書では、以下の項目に沿って順番に説明する。
A.第1実施形態:
A−1.頭部装着型表示装置の構成:
A−2.キャリブレーション実行処理:
A−2−1.第1設定モード:
A−2−2.パラメーターの設定:
A−2−2−1.カメラパラメーターについて:
A−2−2−2.変換パラメーターについて:
A−2−2−3.パラメーター導出処理:
A−2−2−4.キャリブレーションデータの自動収集:
A−2−3.第2設定モード:
A−3.対応画像表示処理:
B.第2実施形態:
C.変形例:
A.第1実施形態:
A−1.頭部装着型表示装置の構成:
A−2.キャリブレーション実行処理:
A−2−1.第1設定モード:
A−2−2.パラメーターの設定:
A−2−2−1.カメラパラメーターについて:
A−2−2−2.変換パラメーターについて:
A−2−2−3.パラメーター導出処理:
A−2−2−4.キャリブレーションデータの自動収集:
A−2−3.第2設定モード:
A−3.対応画像表示処理:
B.第2実施形態:
C.変形例:
A.第1実施形態:
A−1.頭部装着型表示装置の構成:
図1ないし図3は、キャリブレーションを行なう頭部装着型表示装置100(HMD100)の外観構成を示す説明図である。HMD100は、画像表示部20が表示する表示画像を使用者に視認させ、画像表示部20(図1)を透過する外景からの光によって当該外景も使用者に視認させることができる。詳細な構成については後述するが、本実施形態のHMD100は、画像表示部20を装着した使用者の右眼と左眼とのそれぞれに対応する画像表示部を有しており、使用者の右眼と左眼とに別々の画像を視認させることができる。
A−1.頭部装着型表示装置の構成:
図1ないし図3は、キャリブレーションを行なう頭部装着型表示装置100(HMD100)の外観構成を示す説明図である。HMD100は、画像表示部20が表示する表示画像を使用者に視認させ、画像表示部20(図1)を透過する外景からの光によって当該外景も使用者に視認させることができる。詳細な構成については後述するが、本実施形態のHMD100は、画像表示部20を装着した使用者の右眼と左眼とのそれぞれに対応する画像表示部を有しており、使用者の右眼と左眼とに別々の画像を視認させることができる。
図2に示すように、HMD100は、使用者USの頭部装着型表示装置に装着される装着帯90と、装着帯90に接続されている画像表示部20と、画像表示部20を制御する制御部10(コントローラー10)と、制御部10と装着帯90とを接続する接続部40と、を備えている。図1に示すように、装着帯90は、樹脂製の装着基部91と、装着基部91に連結される布製のベルト部92と、カメラ60と、を備える。装着基部91は、人の前頭部の形に合った湾曲した形状を有する。ベルト部92は、使用者の頭部の周りに装着されるためのベルトである。なお、接続部40は、装着帯90と制御部10側とを有線で接続しているが、図2では、接続している部分については、図示を省略している。
カメラ60は、外景を撮像可能なステレオカメラである。カメラ60は、装着基部91の中心部分に配置されている。換言すると、カメラ60は、装着帯90が使用者の頭部に装着された状態で、使用者の額の中央に対応する位置に配置されている。そのため、カメラ60は、使用者が装着帯90を頭部に装着した状態において、使用者の視線方向の外部の景色である外景を撮像し、撮像された画像である撮像画像を取得する。図2に示すように、カメラ60は、装着基部91に対して、円弧RCに沿って所定の範囲で可動する。換言すると、カメラ60は、撮像範囲を所定の範囲で変更できる。
図2に示すように、画像表示部20は、連結部93を介して装着基部91に接続され、眼鏡形状を有している。連結部93は、装着基部91および画像表示部20の両側に対象的に配置され、連結部93を中心として、装着基部91に対する画像表示部20の位置を円弧RAに沿って回動可能に支持する。図2において二点鎖線で示す位置P11は、画像表示部20が円弧RAに沿った最も下端である。また、図2において実線で示す位置P12は、画像表示部20が円弧RAに沿った最も上端である。
また、図1および図3に示すように、画像を表示可能な表示パネルを有する光学像表示部26,28は、保持部21,23に対して、直線TAに沿って所定の範囲で平行移動して位置を変更する。図3において二点鎖線で示す位置P13は、光学像表示部26,28が直線TAに沿った最も下端である。図3において実線で示す位置P11は、光学像表示部26,28が直線TAに沿った最も上端である。なお、図2における位置P11と、図3における位置P11とは、同じ位置を示している。
図1に示すように、画像表示部20は、右保持部21と、右表示駆動部22と、左保持部23と、左表示駆動部24と、右光学像表示部26と、左光学像表示部28と、を含んでいる。右光学像表示部26および左光学像表示部28は、それぞれ、使用者が画像表示部20を装着した際に使用者の右および左の眼前に位置するように配置されている。右光学像表示部26の一端と左光学像表示部28の一端とは、使用者が画像表示部20を装着した際の使用者の眉間に対応する位置で、互いに接続されている。
右保持部21は、右光学像表示部26の他端から装着基部91と接続されている連結部93に延伸して設けられた部材である。同様に、左保持部23は、左光学像表示部28の他端から連結部93に延伸して設けられた部材である。右表示駆動部22と左表示駆動部24とは、使用者が画像表示部20を装着した際の使用者の頭部に対向する側に配置されている。
表示駆動部22,24は、図2で後述する液晶ディスプレイ241,242(Liquid Crystal Display、以下「LCD241,242」とも呼ぶ)や投写光学系251,252等を含む。表示駆動部22,24の構成の詳細な説明は後述する。光学像表示部26,28は、後述する導光板261,262(図4参照)と調光板とを含んでいる。導光板261,262は、光透過性の樹脂材料等によって形成され、表示駆動部22,24から出力された画像光を使用者の眼に導く。調光板は、薄板状の光学素子であり、使用者の眼の側とは反対の側である画像表示部20の表側を覆うように配置されている。調光板の光透過率を調整することによって、使用者の眼に入る外光量を調整して虚像の視認のしやすさを調整できる。
制御部10は、HMD100を制御するための装置である。制御部10は、静電式のトラックパッドや押下可能な複数のボタンなどを含む操作部135を有する。
図4は、HMD100の構成を機能的に示すブロック図である。図4に示すように、制御部10は、ROM121と、RAM122と、電源130と、操作部135と、マーカー画像記憶部138と、CPU140と、インターフェイス180と、送信部51(Tx51)および送信部52(Tx52)と、を有している。
電源130は、HMD100の各部に電力を供給する。ROM121には、種々のコンピュータープログラムが格納されている。後述するCPU140は、ROM121に格納された各種コンピュータープログラムを、RAM122に展開することで、各種コンピュータープログラムを実行する。
マーカー画像記憶部138は、キャリブレーションに用いられるモデルマーカー(マーカーモデルとも呼ぶ)のデータおよび/または右光学像表示部26または左光学像表示部28に表示されるキャリブレーション用画像としてのマーカー画像IMGを記憶している。マーカー画像記憶部138は、右光学像表示部26に表示されるマーカー画像と左光学像表示部28に表示されるマーカー画像とを同じマーカー画像IMGとして記憶している。マーカー画像IMGとしては、2次元のモデルマーカーの画像であったり、3次元モデル空間(3Dコンピューターグラフィックス空間)で表現された上記モデルマーカー(2D)のデータ、またはそのモデルマーカーを、右光学像表示部26または左光学像表示部28のそれぞれの写像パラメーターに基づいて写像したものなどが用いられる。換言すると、マーカー画像IMGは、実物として存在する2次元または3次元の実物マーカーMK1の形状を、2次元として表した画像である。なお、実物マーカーMK1は、請求項における識別マーカーに相当する。
マーカー画像記憶部138は、モデルマーカー以外の複数の特定オブジェクトの三次元モデルと、複数の特定オブジェクトのそれぞれに対応する対応画像と、を記憶している。後述する表示設定部165は、カメラ60によって特定オブジェクトが撮像対象としての外景に含まれると、撮像された特定オブジェクトに対応する対応画像を光学像表示部26,28に表示させる。
図5ないし図8は、紙面PPに印刷された2次元の実物マーカーを示す説明図である。図5には、本実施形態のキャリブレーションに用いられる2つのマーカーとしての実物マーカーMK1,MK2が示されている。図5に示すように、実物マーカーMK1は、4つの頂点P0,P1,P2,P3を直線で結んだ正方形の中に、10個の正円を含むマーカーである。10個の円の内の5個の円は、頂点P0と頂点P2とを結んだ対角線CL1上に円の中心が存在する。当該5個の円は、対角線CL1に沿って、頂点P0に近い円から、円C1,C2,C3,C4,C5である。同じように、10個の円の内の5個の円は、頂点P1と頂点P3とを結んだ対角線CL2上に円の中心が存在する。当該5個の円は、対角線CL2に沿って、頂点P1に近い円から、円C6,C7,C3,C8,C9である。円C3は、対角線CL1と対角線CL2との交点であると共に、正方形の重心である点を中心とする円である。10個の円の内の1個の円である円C10は、正方形の重心を通り、かつ、P1とP2とを結ぶ直線に平行なY軸上に中心を有する。円C10は、正方形の重心を通り、Y軸に直交するX軸に沿って、円C5および円C9と同じ位置に中心を有する。換言すると、円C10は、円C5の中心と円C9の中心との中間に中心を有する円である。
本実施形態では、対角線CL1上に中心を有する5個の円における隣接する円の中心間の距離は、同じ距離になるように設定されている。同じように、対角線CL2上に中心を有する5個の円における隣接する円の中心間の距離は、同じ距離になるように設定されている。また、対角線CL1に中心を有する隣接する円の中心間の距離と、対角線CL2に中心を有する隣接する円の中心間の距離とは、同じ距離である。なお、10個の内の円C10のみ、他の円との中心間との距離が異なる。10個の円の大きさは、同じ大きさである。なお、対角線CL1、対角線CL2、X軸、およびY軸は、実物マーカーMK1を説明するために、便宜上、図5に示しているのであり、実際の実物マーカーMK1には含まれない直線である。
図5では、色の違いを、ハッチングを変えることで表している。具体的には、図5におけるハッチングが施された部分は、黒色であり、その他の部分は、白色である。そのため、図5に示すように、実物マーカーMK1は、白色の紙面PPに、白色によって周囲が囲まれた黒色の正方形によって形成され、その正方形の中に10個の円が白色で形成されている。
図5に示す実物マーカーMK2は、実物マーカーMK1を元に作成されたマーカーである。実物マーカーMK2は、実物マーカーMK1の大きさを縮小させ、かつ、黒色と白色との反転させたマーカーである。そのため、図5に示すように、実物マーカーMK2は、黒色によって周囲が囲まれた白色の正方形によって形成され、その正方形の中に10個の円が黒色で形成されている。本実施形態では、マーカー画像記憶部138は、実物マーカーMK1の2次元の画像であるマーカー画像IMGを記憶している。なお、実物マーカーMK2は、図6に示すように、実物マーカーMK1から分離されていてもよい。また、図7に示すように、実物マーカーMK2(MK1)に代えて、対角線上にない円を省略された実物マーカーMK1Aが採用されてもよい。なお、図8に示すように、実物マーカーMK1,MK2,MK1Aの裏面には、形状、模様、または色彩の特徴は必要ない。
図4に示すCPU140は、ROM121に格納されているコンピュータープログラムを、RAM122に展開することにより、オペレーティングシステム150(OS150)、表示制御部190、音声処理部170、画像処理部160、表示設定部165、マーカー特定部166、およびパラメーター設定部167として機能する。
表示制御部190は、右表示駆動部22および左表示駆動部24を制御する制御信号を生成する。表示制御部190は、右表示駆動部22および左表示駆動部24のそれぞれによる画像光の生成および射出を制御する。表示制御部190は、右LCD制御部211と左LCD制御部212とに対する制御信号のそれぞれを、送信部51および52を介して送信する。また、表示制御部190は、右バックライト制御部201と左バックライト制御部202とに対する制御信号のそれぞれを送信する。
画像処理部160は、コンテンツに含まれる画像信号を取得し、送信部51,52を介して、取得した画像信号を画像表示部20の受信部53,54へと送信する。音声処理部170は、コンテンツに含まれる音声信号を取得し、取得した音声信号を増幅して、連結部材46に接続された右イヤホン32内のスピーカー(図示しない)および左イヤホン34内のスピーカー(図示しない)に対して供給する。
表示設定部165は、マーカー画像記憶部138に記憶されたマーカー画像IMGを右光学像表示部26または左光学像表示部28に表示させる。表示設定部165は、キャリブレーションが実行されているとき(キャリブレーション実行時)に、操作部135が受け付けた操作に基づいて、マーカー画像IMGを右光学像表示部26に表示する場合と、マーカー画像IMGを左光学像表示部28に表示する場合とを制御する。表示設定部165は、カメラ60が実物マーカーMK1を撮像してキャリブレーションを実行するときと、カメラ60が実物マーカーMK2を撮像してキャリブレーションを実行するときとで異なる大きさのマーカー画像IMGを右光学像表示部26または左光学像表示部28に表示させる。また、表示設定部165は、キャリブレーション実行時に、後述する文字画像等を光学像表示部26,28に表示させる。
マーカー特定部166は、カメラ60によって撮像された撮像画像の中に実物マーカーMK1,MK2が印刷された紙面PPが含まれる場合に、撮像された紙面PPから、実物マーカーMK1,MK2を特定する。実物マーカーMK1,MK2を特定するための具体的な処理については、後述するが、マーカー特定部166は、実物マーカーMK1,MK2の4つの頂点、10個の円の中心の座標値を抽出することで、撮像画像の中から実物マーカーMK1,MK2を特定する。マーカー特定部166は、例えば、撮像画像の色の階調値を2値化することで、実物マーカーMK1,MK2における白色と黒色との部分を区別して、円の中心の座標を抽出する。
パラメーター設定部167は、カメラ60によって撮像された特定のオブジェクト(以下、「特定オブジェクト」とも言う)に対応付けられた状態で光学像表示部26,28に表示されるAR(Augmented Reality)画像の表示領域内での位置などを設定するために必要なパラメーター群を設定する。具体的には、パラメーター設定部167は、光学像表示部26,28に表示されるAR画像の位置と大きさと向きとの少なくとも1つと、特定オブジェクトの位置と大きさと向きとの1つと、が対応した状態のAR画像を使用者USに視認させるパラメーター群を設定する。換言すると、パラメーター設定部167は、カメラ60に原点が固定された3次元座標系(3D)と、光学像表示部26,28の表示領域(2D)とを対応付けるためのパラメーター群の少なくとも1つを、キャリブレーションによって算出する。なお、以降では、カメラ60に原点が固定された3次元座標系をカメラ座標系と呼ぶ。本実施形態では、カメラ座標系以外の座標系として、実物マーカーMK1または実物マーカーMK2の原点を基準とする実物マーカー座標系、カメラ60によって撮像された特定オブジェクトを基準とするオブジェクト座標系、右光学像表示部26の原点または左光学像表示部28の原点を基準とする表示部座標系などを定義する。パラメーター設定部167は、請求項における導出部に相当する。
パラメーター設定部167は、カメラ60の2つの撮像画像を用いて三角法によって、カメラ60から撮像対象となった外景に含まれる特定オブジェクトまでのオブジェクト距離を算出できる。また、パラメーター設定部167は、オブジェクト距離または操作部135を介して入力された入力情報に応じて、複数のパラメーター群を設定する。詳細については後述するが、例えば、パラメーター設定部167は、オブジェクト距離が0.5メートル(m)以上1m未満の場合と1m以上4m未満の場合と4m以上の場合と3つの場合のそれぞれに対応するパラメーター群として、第1パラメーター群PM1と第2パラメーター群PM2と第3パラメーター群PM3(以降では、まとめて「パラメーター群PM1,PM2,PM3」とも呼ぶ)を設定する。パラメーター設定部167は、オブジェクト距離に対応するパラメーター群を選択する。表示設定部165は、選択されたパラメーター群を用いて特定オブジェクトに対応付けられた画像を光学像表示部26,28に表示させる。なお、カメラ60から特定オブジェクトまでのオブジェクト距離が特定できれば、カメラ60と画像表示部20(光学像表示部26,28)との位置関係が既知であるため、画像表示部20から特定オブジェクトまでの距離も算出される。
ここで、パラメーター群は、「検出系パラメーターセット」と、「表示系パラメーターセット」と、を含む。「検出系パラメーターセット」は、カメラ60に関するカメラパラメーターCPを含む。「表示系パラメーターセット」は、カメラ60と光学像表示部26,28との間の空間関係を表す3Dから3Dへの「変換パラメーター」と、任意の3Dモデル(3次元座標で表わされたCGモデル)を画像(つまり2D)として表示するための3Dから2Dへの「写像パラメーター」と、を含む。オブジェクト距離に応じて設定される複数のパラメーターでは、特に、「表示系パラメーターセット」の違いが大きく、表示画像の奥行きに関するパラメーターが、他のパラメーターよりも大きく異なってくる。これらのパラメーターは、必要に応じて行列またはベクトルの態様で表わされる。「一つのパラメーター」との表記は、一つの行列または一つのベクトルを示すこともあるし、一つの行列またはベクトルに含まれる複数の要素の一つを示すこともある。パラメーター設定部167は、パラメーター群のうち、必要なパラメーターを導出し、AR画像の表示の際に用いる。この結果、HMD100は、使用者USに、画像表示部20を介して、AR画像(ARモデル)の位置、大きさ、向き、奥行感の少なくとも一つと、特定オブジェクトのそれらにと、がほぼ一致する状態で当該AR画像を視認させることができる。もちろん、これらに加えて、HMD100は、色やテクスチャーなどの見えが互いに一致するようにしてもよい。
表示設定部165は、キャリブレーションが実行されているときに、AR画像または設定画像SIM(後述)を右光学像表示部26または左光学像表示部28に表示させる。設定画像SIMを用いた詳細な処理については後述する。
インターフェイス180は、制御部10に対して、コンテンツの供給元となる種々の外部機器OAを接続するためのインターフェイスである。外部機器OAとしては、例えば、ARシナリオを記憶している記憶装置、パーソナルコンピューター(PC)や携帯電話端末、ゲーム端末等、がある。インターフェイス180としては、例えば、USBインターフェイス、マイクロUSBインターフェイス、メモリーカード用インターフェイス等、を用いることができる。
図4に示すように、画像表示部20は、右表示駆動部22と、左表示駆動部24と、右光学像表示部26としての右導光板261と、左光学像表示部28としての左導光板262と、を備えている。
右表示駆動部22は、受信部53(Rx53)と、光源として機能する右バックライト制御部201(右BL制御部201)および右バックライト221(右BL221)と、表示素子として機能する右LCD制御部211および右LCD241と、右投写光学系251と、を含んでいる。右バックライト制御部201と右バックライト221とは、光源として機能する。右LCD制御部211と右LCD241とは、表示素子として機能する。
受信部53は、制御部10と画像表示部20との間におけるシリアル伝送のためのレシーバーとして機能する。右バックライト制御部201は、入力された制御信号に基づいて、右バックライト221を駆動する。右バックライト221は、例えば、LEDやエレクトロルミネセンス(EL)等の発光体である。右LCD制御部211は、画像処理部160および表示制御部190から送信された制御信号に基づいて、右LCD241を駆動する。右LCD241は、複数の画素をマトリクス状に配置した透過型液晶パネルである。
右投写光学系251は、右LCD241から射出された画像光を並行状態の光束にするコリメートレンズによって構成される。右光学像表示部26としての右導光板261は、右投写光学系251から出力された画像光を、所定の光路に沿って反射させつつ使用者の右眼REに導く。なお、左表示駆動部24は、右表示駆動部22と同様の構成を有し、使用者の左眼LEに対応するため、説明を省略する。
A−2.キャリブレーション実行処理:
図9は、本実施形態におけるキャリブレーション実行処理のフローチャートである。本実施形態のキャリブレーション実行処理は、2つのモード、すなわち、第1設定モードと第2設定モードとを含む。第1設定モードでは、HMD100は、使用者USに片眼ずつキャリブレーションを実施させる。第2設定モードでは、HMD100は、使用者USに両眼で調整を実施させる。
図9は、本実施形態におけるキャリブレーション実行処理のフローチャートである。本実施形態のキャリブレーション実行処理は、2つのモード、すなわち、第1設定モードと第2設定モードとを含む。第1設定モードでは、HMD100は、使用者USに片眼ずつキャリブレーションを実施させる。第2設定モードでは、HMD100は、使用者USに両眼で調整を実施させる。
キャリブレーション実行処理では、初めに、操作部135が所定の操作を受け付けると、パラメーター設定部167は、今から実行するキャリブレーションが最初のキャリブレーションの設定であるか否かを判定する(ステップS11)。マーカー画像記憶部138には、実行されるキャリブレーションが最初であるか否かのデータも記憶されている。本実施形態では、使用者US毎にキャリブレーションが最初であるか否かが判別されてもよい。具体的には、カメラ60が使用者USの掌の形状・模様を撮像し、CPU140が使用者USを特定し、キャリブレーションがその使用者USにとって最初に実行されるのか否かを判定してもよい。使用者USの特定は、近距離無線通信を用いたIDカードによる特定でもよい。パラメーター設定部167は、最初のキャリブレーションの設定であると判定した場合には(ステップS11:YES)、第1設定モードに移行する(ステップS20)。第1設定モードの詳細については後述するが、第1設定モードでは、パラメーター設定部167が右光学像表示部26と左光学像表示部28とに、別々にマーカー画像IMGを表示させる。その後、パラメーター設定部167は、マーカー画像IMGと実物マーカーMK1,MK2とが一致するように使用者USに視認された状態でカメラ60に撮像された実物マーカーMK1,MK2の撮像画像を用いて、変換パラメーターおよびカメラパラメーターCPを設定する。
ステップS20の処理として、パラメーター設定部167が第1設定モードにおいてキャリブレーションを実行すると、表示設定部165は、設定された変換パラメーターおよびカメラパラメーターCPを用いて、特定オブジェクトに対応付けられた設定画像SIMを光学像表示部26,28に表示させる(ステップS15)。本実施形態では、特定オブジェクトは実物マーカーMK1,MK2であるが、特定オブジェクトはこれらに限定されない。光学像表示部26,28に設定画像SIMが表示されると、パラメーター設定部167は、操作部135が受け付けた操作に応じて、変換パラメーターおよびカメラパラメーターCPの値がうまく調整されたか否かを決定する(ステップS17)。具体的には、特定オブジェクトの位置および向き(姿勢)に、設定画像SIMが対応付けられているように使用者USが視認しているか否かの判断を使用者USが行ない、当該判断に応じて、使用者USが操作部135を操作すればよい。パラメーター設定部167は、設定された変換パラメーターおよびカメラパラメーターCPでよいとの入力を受けた場合には(ステップS17:YES)、キャリブレーション実行処理を終了する。
ステップS17の処理において、操作部135が所定の操作を受け付けることで、パラメーター設定部167が、設定された変換パラメーターおよびカメラパラメーターCPではよくないとの入力を受けた場合、または大きさと奥行感の調整がさらに必要であるとの入力を受けた場合には(ステップS17:NO)、ステップS11以降の処理を繰り返す。パラメーター設定部167は、ステップS11の処理において、今から実行しようとするキャリブレーションが最初のキャリブレーションの設定ではないと判定した場合には(ステップS11:NO)、操作部135が所定の操作を受け付けることで、第2設定モードに移行するか否かを判定する(ステップS13)。パラメーター設定部167は、第2設定モードに移行しないと判定した場合には(ステップS13:NO)、以上で説明した第1設定モードに移行する(ステップS20)。
ステップS13の処理において、パラメーター設定部167は、第2設定モードに移行すると判定した場合には(ステップS13:YES)、第2設定モードに移行する(ステップS30)。第2設定モードの詳細については後述するが、第2設定モードでは、カメラ60が特定オブジェクトを撮像することで得られるカメラ60に対する特定オブジェクトの位置および姿勢を、表示設定部165は、既に実行された第1設定モードまたは第2設定モードにおいて設定されたパラメーター群を用いて特定オブジェクトの右光学像表示部26に対する位置および向き(姿勢)に変換する。そして、表示設定部165は、当該変換された位置および姿勢と同じ位置と姿勢で設定画像SIMを右光学像表示部26および左光学像表示部28に表示させる。その後、操作部135が受け付けた所定の操作に応じて、パラメーター設定部167は、特定オブジェクトに対応付けられた設定画像SIMを変更するように、パラメーター群のうちのいくつかをさらに調整させる。パラメーター設定部167は、第2設定モードにおいてキャリブレーションを実行すると、表示設定部165がステップS15の処理を実行して、その後の処理が繰り返される。
A−2−1.第1設定モード:
第1設定モードで実行される処理は、以下のような処理である。HMD100は、大きさの異なる2つの実物マーカーMK1,MK2を用いて、使用者USに、1つの眼について1度に1回のアライメントを2回実施させることで、合計4回のアライメントを実施させる。具体的には、まず、HMD100は、右光学像表示部26または左光学像表示部28に、マーカー画像IMGを表示させる。マーカー画像IMGは、右光学像表示部26または左光学像表示部28のそれぞれに対して、仮想的な位置と姿勢(3D)とを有するモデルマーカーを、光学像表示部26,28の表示領域(2D)へ写像、すなわちレンダリング、したものである。本実施形態では、当該仮想的な位置と姿勢とは、光学像表示部26,28に対して固定されているが、後述するように、可変であってもよい。使用者USは、右光学像表示部26または左光学像表示部28に表示されたマーカー画像IMGと、実物マーカーMK1または実物マーカーMK2とが、重複または一致して視認することが可能な位置および向き(姿勢)に移動する。使用者USがマーカーIMGと実物マーカーMK1,MK2とが一致するように視認する場合には、実物マーカーMK1,MK2は右光学像表示部26または左光学像表示部28に対して、実物マーカーMK1,MK2の大きさに応じた既定の距離となる位置と上記仮想的な姿勢とを取っていることとなる。マーカー画像IMGと、実物マーカーMK1または実物マーカーMK2とが一致している状態で、パラメーター設定部167が、カメラ60を用いて実物マーカーMK1または実物マーカーMK2を撮像する。パラメーター設定部167は、撮像画像に含まれる実物マーカーMK1または実物マーカーMK2を用いて、変換パラメーターおよびカメラパラメーターCPを設定することとなる。
第1設定モードで実行される処理は、以下のような処理である。HMD100は、大きさの異なる2つの実物マーカーMK1,MK2を用いて、使用者USに、1つの眼について1度に1回のアライメントを2回実施させることで、合計4回のアライメントを実施させる。具体的には、まず、HMD100は、右光学像表示部26または左光学像表示部28に、マーカー画像IMGを表示させる。マーカー画像IMGは、右光学像表示部26または左光学像表示部28のそれぞれに対して、仮想的な位置と姿勢(3D)とを有するモデルマーカーを、光学像表示部26,28の表示領域(2D)へ写像、すなわちレンダリング、したものである。本実施形態では、当該仮想的な位置と姿勢とは、光学像表示部26,28に対して固定されているが、後述するように、可変であってもよい。使用者USは、右光学像表示部26または左光学像表示部28に表示されたマーカー画像IMGと、実物マーカーMK1または実物マーカーMK2とが、重複または一致して視認することが可能な位置および向き(姿勢)に移動する。使用者USがマーカーIMGと実物マーカーMK1,MK2とが一致するように視認する場合には、実物マーカーMK1,MK2は右光学像表示部26または左光学像表示部28に対して、実物マーカーMK1,MK2の大きさに応じた既定の距離となる位置と上記仮想的な姿勢とを取っていることとなる。マーカー画像IMGと、実物マーカーMK1または実物マーカーMK2とが一致している状態で、パラメーター設定部167が、カメラ60を用いて実物マーカーMK1または実物マーカーMK2を撮像する。パラメーター設定部167は、撮像画像に含まれる実物マーカーMK1または実物マーカーMK2を用いて、変換パラメーターおよびカメラパラメーターCPを設定することとなる。
図10は、第1設定モードのフローチャートである。第1設定モードでは、パラメーター設定部167が、右光学像表示部26に関するアライメントを成立させた状態でキャリブレーションデータを収集し、左光学像表示部28に関するアライメントを成立させた状態でキャリブレーションデータを収集し、その後、変換パラメーターおよびカメラパラメーターCPを設定する。
第1設定モードでは、初めに、表示設定部165が右光学像表示部26にマーカー画像IMGを表示させる(ステップS201)。図11は、マーカー画像IMGが表示された場合の光学像表示部26のイメージ図である。図11に示すように、表示設定部165は、マーカーの正方形の外枠と、正方形の中に含まれる10個の円の外枠と、を右光学像表示部26に表示させる。表示設定部165は、マーカー画像IMGを、赤色の線として右光学像表示部26に表示させる。なお、図11では、画像表示部20の内の右光学像表示部26以外の部分の図示を省略し、以降の図面でも省略する。
右光学像表示部26にマーカー画像IMGが表示されると、パラメーター設定部167は、マーカー画像IMGと実物マーカーMK2とが一致して視認されるように、HMD100を装着したまま使用者USに位置と姿勢を合わせることを促す(図10のステップS210)。
右画像表示部26にはさらにメッセージが表示されてもよい。HMD100は、使用者USがマーカー画像IMGと実物マーカーMK2とが一致するように視認した場合に、使用者USは、タッチパッドの操作、ボタンの押下、または音声コマンドの発声をするように、指示する。パラメーター設定部167がこれら操作または音声コマンドを受け付けた場合に、カメラ60がマーカーMK2を撮像、すなわちキャリブレーションデータの収集をする(ステップS202)。音声コマンドに基づいて、パラメーター設定部167がキャリブレーションデータを収集する場合には、使用者USの頭部の動きが少ないことが期待される。そのため、音声コマンドに基づく操作では、タッチ操作やボタンの押下の場合に比べて、使用者USが成立させたアライメントからのずれが少ない状態でのキャリブレーションデータの収集が可能となり、結果として、AR画像の重畳精度のよいHMD100が得られる。
図10のステップS210のマーカー画像IMGと実物マーカーMK2との位置と姿勢を合わせる処理(目視によるアライメント処理)およびキャリブレーションデータの収集が実行されると、表示設定部165は、ステップS201の処理と同じく図11に示すように、右光学像表示部26にマーカー画像IMGを表示させる(ステップS203)。その後、パラメーター設定部167は、マーカー画像IMGと実物マーカーMK1とが一致して視認されるように、HMD100を装着したまま使用者USに位置と姿勢を合わせることを促す(ステップS220)。この状態で実物マーカーMK1が撮像されることで、パラメーター設定部167は、キャリブレーションデータを収集する(ステップS204)。ここで、実物マーカーMK1は、実物マーカーMK2よりも大きい。そのため、ステップS220の処理では、使用者USがマーカー画像IMGと実物マーカーMK1とが一致するように視認する場合には、右光学像表示部26と実物マーカーMK1との距離は、実物マーカーMK2の場合と比べて大きくなる。
パラメーター設定部167は、左光学像表示部28に関して、右光学像表示部26におけるステップS201からステップS204までの処理と同じ処理として、図10のステップS205からステップS208までの処理を実行する。左右の光学像表示部26、28に関して第1設定モードにおける各処理(ステップS201からステップS208までの処理)が実行されると、パラメーター設定部167は、後述する式(15)を最小化するような、右光学像表示部26に関するパラメーター群と、左光学像表示部28に関するパラメーター群とを設定できる(ステップS209)。
A−2−2.パラメーターの設定:
ここでは、第1設定モードにおいて、パラメーター設定部167が、カメラ60から得られた実物マーカーMK2の撮像データおよび実物マーカーMK1の撮像データを用いて、変換パラメーターおよびカメラパラメーターCPのパラメーターの設定する手順を説明する。なお、本実施形態の第1設定モードでは、カメラパラメーターCPは、必ずしも最適化される必要がなく、設計値に固定されていてよい。ただし、以下に示す本実施形態では、使用者USが必要に応じてカメラパラメーターCPを最適化することができるように、カメラパラメーターCPを最適化変数として含んだアルゴリズムを提示している。他の実施形態において、カメラパラメーターCPを最適化する必要がない場合には、これらを定数(固定値)として以下の式を扱えばよい。
ここでは、第1設定モードにおいて、パラメーター設定部167が、カメラ60から得られた実物マーカーMK2の撮像データおよび実物マーカーMK1の撮像データを用いて、変換パラメーターおよびカメラパラメーターCPのパラメーターの設定する手順を説明する。なお、本実施形態の第1設定モードでは、カメラパラメーターCPは、必ずしも最適化される必要がなく、設計値に固定されていてよい。ただし、以下に示す本実施形態では、使用者USが必要に応じてカメラパラメーターCPを最適化することができるように、カメラパラメーターCPを最適化変数として含んだアルゴリズムを提示している。他の実施形態において、カメラパラメーターCPを最適化する必要がない場合には、これらを定数(固定値)として以下の式を扱えばよい。
A−2−2−1.カメラパラメーターについて:
カメラ60に関するカメラパラメーターCPとして、本実施形態では、4個のカメラパラメーターCP(fx、fy、Cx、Cy)が利用される。(fx、fy)は撮像部であるカメラ60の焦点距離であり、画素密度に基づいて画素数に換算されている。(Cx、Cy)は、カメラ主点位置と呼ばれ、撮像画像の中心位置を意味し、たとえばカメラ60のイメージセンサーに固定された2D座標系で表わされ得る。
カメラ60に関するカメラパラメーターCPとして、本実施形態では、4個のカメラパラメーターCP(fx、fy、Cx、Cy)が利用される。(fx、fy)は撮像部であるカメラ60の焦点距離であり、画素密度に基づいて画素数に換算されている。(Cx、Cy)は、カメラ主点位置と呼ばれ、撮像画像の中心位置を意味し、たとえばカメラ60のイメージセンサーに固定された2D座標系で表わされ得る。
カメラパラメーターCPは、撮像部の主要部分を構成するカメラ60の製品仕様から知ることができる(以下ではこれをデフォルトカメラパラメーターとも表記する)。ただし、実際のカメラのカメラパラメーターCPがデフォルトカメラパラメーターから大きくずれていることが多い。しかも、同じ仕様のカメラであっても、製品が異なれば、製品ごとのカメラ間で、カメラパラメーターCPがばらついている(揃っていない)ことがある。
AR画像として光学像表示部26,28に表示されるARモデルにおける位置、大きさ、姿勢の少なくとも一つが実物体にアライン(重畳)するように使用者に視認させる場合、カメラ60は、当該実物体の位置および姿勢を検出する検出機として機能する。このとき、パラメーター設定部167は、カメラパラメーターCPを用いて、カメラ60に撮像された実物体のカメラ60に対する位置および姿勢を推定する。さらに、パラメーター設定部167は、当該位置および姿勢を、カメラ60と左光学像表示部28(右光学像表示部26)との間の相対位置関係を用いて、左光学像表示部28に対する実物体の位置および姿勢に変換する。さらに、パラメーター設定部167は、当該変換された位置および姿勢に基づいて、ARモデルの位置および姿勢を決定する。そして、画像処理部160は、当該位置および姿勢を有するARモデルを、写像パラメーターを用いて表示領域に写像(変換)し、表示バッファ(例えばRAM122)に書き込む。そして、表示制御部190は、表示バッファに書き込まれたARモデルを左光学像表示部28に表示する。このため、カメラパラメーターCPがデフォルトカメラパラメーターである場合には、推定される実物体の位置および姿勢に誤差が含まれることとなる。そうすると、推定された位置および姿勢の誤差に由来して、表示されたARモデルと実物体との重畳に誤差があるように使用者に視認される。
そこで、本実施形態では、ARモデルが対象物に重畳して使用者USに視認されるようにするためのキャリブレーションの際に、パラメーター設定部167は、カメラパラメーターCPを、実物マーカーMK2および実物マーカーMK1の撮像データを用いて、最適化して設定する。そして、設定されたカメラパラメーターCPが用いられて、対象物の位置および姿勢が検出(推定)されるようにする。そうすれば、ARモデルの表示において、表示されるARモデルと実物体との間に発生するずれが使用者USに視認される度合いが低くなる。後述するように、同じHMD100の使用者USが同一人であっても、カメラパラメーターCPの設定は、キャリブレーションが行なわれるごとに行なわれ、当該キャリブレーションに引き続いて行なわれる対象物とARモデルとの間での位置、大きさ、向きの少なくとも一つが一致した表示のために使用されることが好ましい。これは、キャリブレーションの際に、必ずしも使用者は、実物マーカーMK2または実物マーカーMK1と、実物マーカーMK2または実物マーカーMK1に対応したマーカー画像IMGとを、同じ精度で位置および姿勢を合わせるとは限らないことによる。たとえ使用者USが違う精度で位置および姿勢を合わせたとしても、それに応じたカメラパラメーターCPが設定されることから、実物体に対するARモデルの重畳表示がされる場合に重畳表示のずれの増大が抑制される。
A−2−2−2.変換パラメーターについて:
また、本実施形態のHMD100は、カメラ60と光学像表示部26,28との間の相対位置関係が変化する構造を有する。デフォルトカメラパラメーターについての説明からも理解されるように、ARモデルにおける位置、大きさ、姿勢の少なくとも一つが実物体にアライン(重畳)するように使用者に視認させる場合、実際のカメラ60と光学像表示部26,28との間の相対位置関係とは異なる相対位置関係に基づいてARモデルを表示すると、表示されたARモデルと実物体との重畳に誤差が視認される。
また、本実施形態のHMD100は、カメラ60と光学像表示部26,28との間の相対位置関係が変化する構造を有する。デフォルトカメラパラメーターについての説明からも理解されるように、ARモデルにおける位置、大きさ、姿勢の少なくとも一つが実物体にアライン(重畳)するように使用者に視認させる場合、実際のカメラ60と光学像表示部26,28との間の相対位置関係とは異なる相対位置関係に基づいてARモデルを表示すると、表示されたARモデルと実物体との重畳に誤差が視認される。
そこで、本実施形態では、ARモデルが対象物に重畳して使用者に視認されるようにするためのキャリブレーションの際に、カメラ60の座標系と、右光学像表示部26の座標系および左光学像表示部28の座標系と、の間の相対位置関係(回転および並進の少なくとも一つ)を表す変換パラメーターを調整または設定する。そして、設定された当該変換パラメーターが表す空間関係(相対位置関係)を用いてARモデルの表示をすると、使用者USにずれが視認される度合いが低くなる。
本実施形態では、パラメーター設定部167は、右光学像表示部26と左光学像表示部28とのそれぞれに対応する左変換パラメーターPML[Rcam2left, tcam2left]と、右変換パラメーターPMR[Rcam2lright, tcam2right]とを設定する。回転行列Rcam2rightは、直交する3軸の回転によって決定される3つのパラメーターであり、並進行列Tcam2rightは、3軸に沿った並進のそれぞれに対応する3つのパラメーターである。すなわち、右光学像表示部26に対応する右変換パラメーターPMRは、計6つのパラメーターを含んでいる。同じように、左光学像表示部28に対応する変換パラメーターは、回転行列Rcam2leftと並進行列Tcam2leftとであり、計6つのパラメーターを含んでいる。以上の通り、本実施形態では、カメラパラメーターCPに含まる4個のパラメーターと、空間関係を表す12個の変換パラメーターとの16個のパラメーターが算出される。
A−2−2−3.パラメーター導出処理:
以下における説明では、使用者USが実物マーカーMK2(または実物マーカーMK1)とマーカー画像IMGとが互いに一致するように視認する状態でカメラ60が実物マーカーMK2(または実物マーカーMK1)を撮像し、パラメーター設定部167がその撮像画像を取得する。パラメーター設定部167は、取得した当該撮像画像に基づいて、後述の式(15)を用いて、カメラパラメーターおよび変換パラメーターを算出する。本実施形態では、設定パラメーターを設定する場合の初期値(i=0)として、HMD100が製造される工場から出荷される前の計測値や検査値を用いる。一方で、他の実施形態では、カメラ60または光学像表示部26,28の最大可動した場合の一方の姿勢における値、または、可動域の中間の姿勢における値を初期値として用いてもよい。
以下における説明では、使用者USが実物マーカーMK2(または実物マーカーMK1)とマーカー画像IMGとが互いに一致するように視認する状態でカメラ60が実物マーカーMK2(または実物マーカーMK1)を撮像し、パラメーター設定部167がその撮像画像を取得する。パラメーター設定部167は、取得した当該撮像画像に基づいて、後述の式(15)を用いて、カメラパラメーターおよび変換パラメーターを算出する。本実施形態では、設定パラメーターを設定する場合の初期値(i=0)として、HMD100が製造される工場から出荷される前の計測値や検査値を用いる。一方で、他の実施形態では、カメラ60または光学像表示部26,28の最大可動した場合の一方の姿勢における値、または、可動域の中間の姿勢における値を初期値として用いてもよい。
図12は、右光学像表示部26のみにマーカー画像IMGが表示された状態での空間的な位置関係を示す概略図である。図12には、使用者USが、予め画像表示部20を装着した使用者USの仮想の右眼の位置として設定された右眼位置RPから、右光学像表示部26に表示されたマーカー画像IMGを視認した場合の概略が示されている。なお、図12には、HMD100の内の画像表示部20のみを図示し、装着帯90や制御部10などについては図示を省略している。つまり、図12に示す画像表示部20は、図1ないし図3に示す画像表示部20と同じ画像表示部である。また、図12には、撮像される三次元空間である外景の座標軸を表す座標軸CD2と、座標軸CD2を投影した二次元画像の座標軸を表す座標軸CD1と、が示されている。使用者USは、右光学像表示部26に表示されたマーカー画像IMGを、画像表示部20から距離L1離れた位置に存在するマーカーMK1として視認する。
図12に示すように、右光学像表示部26に表示されたマーカー画像IMGと、外景に含まれ前方に位置する実物マーカーMK1と、が位置、大きさ、向きが一致するように使用者が視認するとき(以下、使用者USが左眼LE(右眼RE)でアライメントを成立させるときともいう)、座標系の間には、次の式(1)の関係が成り立つ。なお、以降では、右光学像表示部26ではなく、左光学像表示部28にマーカー画像IMGが表示された場合について説明する。
ここで、左辺および右辺のCPは、カメラ60のカメラパラメーターCPである。[Ro2dl, to2dl]は、実オブジェクト(この場合、実物マーカーMK2または実物マーカーMK1)に固定された座標系から左光学像表示部28に固定された座標系への変換行列であり、このうち、[Ro2dl]が回転を表す3×3の行列であり、[to2dl]が並進を表す3×1の行列である。[Ro2dl, to2dl]は、左光学像表示部28に対する実オブジェクトの位置および姿勢を表している。ModelMatrixは、モデルマーカー上の任意の1点を表す3×1の行列である。モデルマーカーは、マーカー画像IMGが光学像表示部28に表示される場合の基礎となる3次元データ(3次元モデル:ただし本実施形態では平面)である。[Ro2dl, to2dl]×ModelMatrixの表記は、下記の式(2)の規則に従っている。
上記式(2)の表記規則は、式(1)の他の部分にも適用される。
式(1)の右辺における[Rcam2left, tcam2left]は、カメラ60の座標系から左光学像表示部28の座標系への変換行列である。当該変換行列は、パラメーター設定部167によって設定される複数の変換パラメーターで構成される。式(1)の右辺における[Robj2cam, tobj2cam]は、実オブジェクト(実物マーカーMK2または実物マーカーMK1)の座標系からカメラ60の座標系への変換行列である。[Robj2cam, tobj2cam]は、カメラ60に対する実オブジェクトの位置および姿勢を表している。
左眼LEのアライメントが成立すると仮定したとき、実物マーカーMK2または実物マーカーMK1のカメラ60に対する姿勢をモデルマーカーに適用すると、カメラ60の座標系に変換されたモデルマーカー上の任意の点Pcl(Xcl, Ycl, Zcl)は次の式(5)のようになる。
Ro2dlおよびto2dlは、実物マーカーMK2または実物マーカーMK1の座標系から左光学像表示部28の座標系への回転および並進である。本実施形態では、使用者USが左光学像表示部28に表示されたマーカー画像IMGを実物マーカーMK2または実物マーカーMK1に位置合わせしたときに、Ro2dlおよびto2dlが所定の回転および並進となるように、マーカー画像IMGが左光学像表示部28上の所定位置(例えば中央)に所定の配向かつ所定の大きさで、固定されて表示される。Tcam2leftは、カメラの座標系から左光学像表示部28の座標系への並進である。
上記式(7)および(8)における要素は本実施形態では定数(aは図12のL1)である。式(9)における要素D1, D2, D3は本実施形態では初期値であり、パラメーター導出処理の間に変化し得る。なお、図12からわかるように、本実施形態では、画像表示部20に固定された座標系では、光学像表示部26,28(画像表示部20)から使用者USの眼へと射出される光の方向がZ軸方向と平行である。
式(5)で表されるモデルマーカーをカメラ60の撮像画像上に写像するとき、撮像画像上のモデルマーカーの座標は、次のようになる。
ここで、(Fx, Fy)はカメラ60の焦点距離であり、(Cx, Cy)はカメラ60の主点位置座標である。
カメラ60が実際に実物マーカーMK2または実物マーカーMK1を撮像した場合の撮像画像におけるマーカーの特徴要素の座標を(ul, vl)と表記すると、(ul, vl)と(ximl, yiml)との差は以下のようになる。
式(12)における添え字iは、マーカーにおける特徴要素を示す整数であり、1から9までの値を取る。パラメーター設定部167は、左眼LEのアライメントについて、式(13)で表される二乗和を導出する。
本実施形態では、カメラ60のカメラパラメーターCPと、カメラ60の座標系から左光学像表示部28の座標系への回転(Rcam2left)および並進(Tcam2left)を表す変換パラメーターと、カメラ60の座標系から右光学像表示部26の座標系への回転(Rcam2right)および並進(Tcam2right)を表す変換パラメーターと、が最適化により設定される。
式(15)で表わされるコスト関数Eを最小化する繰り返し計算に用いられるヤコビ行列は、式(16)のようになる。
ここで、式(16)の右辺における変数xmliおよびymliはそれぞれ式(10)および(11)によって表され、さらに式(10)および(11)におけるxclおよびyclは式(6)によって表される。また、式(16)の右辺における変数pは、カメラ60のカメラパラメーターCPに含まれるFx,Fy,Cx,Cyと、カメラ60と光学像表示部26,28との間の空間関係を表す回転Rcam2left、Rcam2rightを構成する6つのオイラー角と、並進Tcam2left、 Tcam2rightを構成する6つの並進成分と、である。パラメーター設定部167は、式(16)のヤコビ行列と、変数pの微小変化量と、に基づいて、式(15)のグローバルミニマムを探索することができる。グローバルミニマムに対応する変数pによって、カメラパラメーターCPおよび変換パラメーターが求められる。
カメラパラメーターCPおよび変換パラメーターが設定されると、図9に示すキャリブレーション実行処理におけるステップS15の処理として、設定された変換パラメーターおよびカメラパラメーターCPを、使用者USに画像を用いて確認させる目的で、表示設定部165は設定画像SIMを光学像表示部26,28に表示させる。カメラ60の撮像範囲に特定オブジェクト(この例では実物マーカーMK1)が含まれる場合に、CPU140は、設定されたカメラパラメーターCPを用いてカメラ60に対する特定オブジェクトの位置および姿勢を導出する。また、CPU140は、設定された変換パラメーターを用いて、カメラ60に対する特定オブジェクトの位置および姿勢を、光学像表示部26、28に対する特定オブジェクトの位置および姿勢に変換する。そして、表示設定部165は、当該変換された位置および姿勢をARモデルに与えてから、当該ARモデルを写像し、そして、ARモデルを設定画像SIMとして光学像表示部26,28に表示させる。この例では、使用者USに、設定画像SIMの位置および姿勢が特定オブジェクトの位置および姿勢に一致し、かつ特定オブジェクトの動きに追跡するように設定画像SIMを視認させることができれば、変換パラメーターとカメラパラメーターCPの設定は十分である。実物マーカー、またはそれに対応したARモデルの内部座標をXと定義すると、変換パラメーターが用いられ、左光学像表示部28における表示画像の位置(u,v)は、式(17)のように表される。
ここで、[Robj2cam, Tobj2am]は実物マーカーMK2または実物マーカーMK1とカメラ60との間の空間関係を表すパラメーター(回転行列および並進行列)であり、これらは、カメラ60が撮像した実物マーカーMK2または実物マーカーMK1の撮像画像に、例えばホモグラフィーを適用することによってパラメーター設定部167によって算出される。マーカー特定部166が、実物マーカーMK2および実物マーカーMK1以外の特定オブジェクトを検出する場合には、パラメーター設定部167は、他の方法で特定オブジェクトとカメラ60との間の空間関係を設定する。なお、右光学像表示部26についても、式(17)と同様な関係式により、表示画像の位置(u,v)が導出される。式(17)に示す通り、実物マーカーMK2または実物マーカーMK1とカメラ60との間の空間関係、およびカメラ60と光学像表示部26、左光学像表示部28との間の空間関係に少なくとも基づいて定まる位置(u,v)に、表示設定部165は、AR画像としてのARモデルを表示させる。当該ARモデル(この場合、設定画像SIM)の位置、大きさおよび配向の少なくとも一つが、特定オブジェクトの位置、大きさ、配向の少なくとも一つに一致するように、表示設定部165は、使用者USに視認させることができる。なお、式(17)における右辺のRPは、ピンホールカメラモデルと同様な写像モデルを用いた場合に決定される写像パラメーター(またはレンダリングパラメーターとも呼ぶ)であり、本実施形態では下記の式(18)のように表される。
ここで、式(18)におけるFx, FyはHMD100におけるプロジェクターの画素数に換算された焦点距離であり、Wは水平方向の左光学像表示部28の画素数(解像度)であり、Hは垂直方向の左光学像表示部28の画素数(解像度)であり、CxおよびCyは、表示画像の中心位置である。写像パラメーターの上2行がu, vの導出に寄与する。fおよびnは、0と1の間で規格化された奥行を有する規格化デバイス座標との対応関係を決める係数である。すなわち、これらは、レンダリングバッファに(デプスバッファ)おいて奥行を調整するための係数であるが、表示画像の位置(u,v)の導出に直接関与しない。
ここで、特定オブジェクトまたはARモデルXがカメラ60で撮像されたとすると、特定オブジェクトまたはARモデルX上の点と撮像画像上の対応点との間には、式(19)が成り立つ。
式(19)の右辺における(R,T)は、カメラ60に対する特定オブジェクトの位置および姿勢を表す変換行列であり、カメラ座標系で表わされている。当該変換行列の左は、カメラパラメーターCPである。式(19)に模式的に表されるように、実空間または3次元座標系における点と撮像画像上の点との対応関係に基づいて(R,T)が推定されるから、実オブジェクトの正確な位置および姿勢の推定には、カメラパラメーターCPが適切であることが好ましい。
3次元におけるARモデルの同じ座標点は、画像処理部160におけるディスプレイバッファにレンダリングされるため、その規格化デバイス座標(NDC)は、式(18)を用いて、式(20)のように表される。
式(20)は同時座標表現で表わされている。式(20)の右辺のXは、モデルマーカーまたはARモデルの内部座標であり、モデルに固定された座標系で表わされている。式(20)におけるXの左の(R,T)は、カメラ座標系で表わされた特定オブジェクトの位置と姿勢とであり、式(19)における(R,T)と同じ位置と姿勢とを表す。式(19)における(R,T)の左の0,1、−1を要素とする4×4の行列は、座標軸の向きを変換するための変換行列であり、本実施形態ではカメラ座標系と表示部座標系との間での座標軸の正方向の定義が異なることから、便宜上、設けられている。式(19)における座標軸の向きを変換する変換行列の左の(I,d)は、カメラ60と光学像表示部26(28)との間の空間関係を表しており、光学像表示部26(28)の座標系で表わされた回転Iと並進dからなる4×4の変換行列である。式(20)で表される座標点は、光学像表示部26(28)の画像面において式(21)の(u’, v’)で表される位置である。
本実施形態では、キャリブレーションがうまく実施されていれば、HMD100を装着している使用者USは、光学像表示部26、28に表示された設定画像SIMの位置、大きさ、向き、奥行感が、撮像された特定オブジェクト(この例では実物マーカーMK1)の位置、大きさ、向き、奥行感に一致するように、視認する。
図13は、特定オブジェクトに対応付けられて設定画像SIMが表示された場合に使用者USが視認する使用者USの視野の一例の説明図である。図13に示す例では、特定オブジェクトとして実物マーカーMK1が採用されている。キャリブレーションが実行された後に、表示設定部165は、パラメーター設定部167によって設定された変換パラメーターおよびカメラパラメーターCPを用いて、撮像された実物マーカーMK1の位置および配向(姿勢)に合わせて、設定画像SIMを右左の光学像表示部26,28に表示させる。設定画像SIMは、立方体の各辺を形成する画像である。図13に示すように、設定画像SIMの立方体の底面は、実物マーカーMK1と合わさるように表示される。使用者USは、特定オブジェクトとしての実物マーカーMK1と設定画像SIMとの空間関係を視認することで、キャリブレーションの精度を認識できる。使用者USが実物マーカーMK1と設定画像SIMとが互いに一致するように視認しないときに、再度、キャリブレーションを第1設定モードまたは第2設定モードにおいてやり直すことができる。図13に示すように、光学像表示部26、28または音声処理部170は、キャリブレーションが成功しAR表示機能を続行すること(重畳して見えるか)、およびキャリブレーションをやり直すことのいずれかを促す文字画像または音声を使用者に提示してもよい。
A−2−2−4.キャリブレーションデータの自動収集:
まず、キャリブレーションデータの自動収集処理の説明に備えて、光学像表示部26,28に固定された座標系の座標軸を、右光学像表示部26の場合を例にとって説明する。本実施形態では、右光学像表示部26の座標系のZ軸は、使用者USがHMD100を適切に装着した場合に使用者USが視認する表示領域の法線方向に一致する。このため、Z軸は使用者USの顔面が向いている方向を示し得る。X軸は、Z軸に直交し、かつ右光学像表示部26と左光学像表示部28とが並ぶ方向にほぼ平行である。このため、X軸は使用者USの左右方向を示し得る。また、Y軸は、Z軸およびX軸の双方に直交する。このため、Y軸は、使用者USの上下方向を示し得る。
まず、キャリブレーションデータの自動収集処理の説明に備えて、光学像表示部26,28に固定された座標系の座標軸を、右光学像表示部26の場合を例にとって説明する。本実施形態では、右光学像表示部26の座標系のZ軸は、使用者USがHMD100を適切に装着した場合に使用者USが視認する表示領域の法線方向に一致する。このため、Z軸は使用者USの顔面が向いている方向を示し得る。X軸は、Z軸に直交し、かつ右光学像表示部26と左光学像表示部28とが並ぶ方向にほぼ平行である。このため、X軸は使用者USの左右方向を示し得る。また、Y軸は、Z軸およびX軸の双方に直交する。このため、Y軸は、使用者USの上下方向を示し得る。
上記で説明した第1設定モードにおいて、使用者USは、マーカー画像IMGと実物マーカーMK1,MK2との目視によるアライメントを成立させたことを、タッチパッドの操作、ボタンの押下、または音声コマンドの発声により、パラメーター設定部167に伝えている。そして、パラメーター設定部167がこれら操作または音声コマンドを受け付けた場合に、カメラ60がマーカーMK1,MK2を撮像し、すなわちキャリブレーションデータの収集をする。すなわち、HMD100は、キャリブレーションデータの収集のトリガーとして、使用者USによる操作または発声を利用している。しかしながら、以下で説明するように、HMD100は、このような構成に代えて、自動的にキャリブレーションデータを収集する構成を備えてもよい。
図14は、実施形態に係るキャリブレーションデータの自動収集処理のフローである。この処理では、初めに、マーカー特定部166が撮像を開始し、そして、光学像表示部26,28の一つ(以下では、右光学像表示部26)がマーカー画像IMGを表示し始める(ステップS211)。マーカー特定部166は、カメラ60が撮像した各撮像フレームに対して、2値化を実行して、実物マーカーMK2を抽出する。マーカー特定部166は、撮像範囲の中に、実物マーカーMK2があるか否かを判定する(ステップS212)。マーカー特定部166は、撮像範囲の中に実物マーカーMK2がないと判定した場合には(ステップS212:NO)、引き続き、撮像範囲の中から実物マーカーMK2の検出を監視する。
ステップS212の処理において、マーカー特定部166は、撮像範囲の中に、実物マーカーMK2があると判定した場合には(ステップS212:YES)、カメラ60に対する実物マーカーMK2の位置と姿勢を導出し、それらの追跡を開始する(ステップS212A)。
導出された実物マーカーMK2の位置および姿勢は、カメラ座標系で表わされている。つまり、その位置および姿勢は、カメラ60に対する位置および姿勢である。そこで、カメラ60と右光学像表示部26との間のデフォルトの空間関係を利用して、カメラ60に対する実物マーカーMK2の位置および姿勢を、右光学像表示部26の座標系で表わされた近似的、すなわち暫定的な位置および姿勢に変換する。「デフォルトの空間関係」とは、例えば、カメラ60と右光学像表示部26との間の相対可動範囲の両端間に存在する一つの空間関係である。位置および姿勢、すなわち回転および並進、を表す4×4の変換行列Tは、式(21A)のように表される。
ここで、左辺の「T (marker to display)」は右光学像表示部26に対する実物マーカーMK2の近似的な位置および姿勢であり、右辺の「T (camera to display)」は、カメラ60の座標系から右光学像表示部26の座標系へのデフォルトの変換行列であり、「Tracking pose」はカメラ60に対する実物マーカーMK2の位置および姿勢である。
モデルマーカーと実物マーカーMK2との間で、光学像表示部26の座標系におけるX軸およびY軸の回りの回転差が所定値未満か否かは、以下の式(21B)および式(21C)のように判定され得る。
ここで、「Ax」、「Ay」はそれぞれX軸、Y軸回りのモデルマーカーの回転角であり、「approximated Ax」、「approximated Ay」は、それぞれX軸、Y軸回りの実物マーカーMK2の近似的な回転角であり、いずれも度単位で表わされたオイラー角である。「Abs」は値の絶対値を取ることを意味する。なお、上述の通り、モデルマーカーとは、3次元座標で表わされたモデルであり、2Dへ写像されてマーカー画像IMGとして表示されるものである。
次に、右光学像表示部26の座標系において、実物マーカーMK2のX軸、Y軸に沿った近似的な並進(Tx’, Ty’)が、モデルマーカーの並進(tx、ty)に近いか否かが、以下の式(21D)および式(21E)の関係式を用いて判定され得る。
以下の説明においては、上記回転角の差を集合的に「回転差A」、上記並進の差を集合的に「並進差D」と表す。
図14のフローの説明に戻ると、マーカー特定部166は、回転差Aがその閾値(threshold)以上で、かつ並進差Dがその閾値以上か否かを判定する(ステップS213A)。回転差Aも並進差Dもそれぞれの閾値以上であると判定された場合には(ステップS213A:Yes)、表示設定部165は、マーカー画像の色を赤色に変え、右光学像表示部26に位置合わせ(アライメント)を促す文字画像を表示させる(ステップS214A)。ステップS213Aの判定が「否」の場合には(ステップS213A:No)、マーカー特定部166は、回転差Aが閾値未満で、かつ並進差Dが閾値以上であるか否かを判定する(ステップS213B)。回転差Aが閾値未満で、かつ並進差Dが閾値以上であると判定された場合には(ステップS213B:Yes)、表示設定部165は、マーカー画像の色を黄色に変え、右光学像表示部26に位置合わせ(アライメント)を促す文字画像を表示させる(ステップS214B)。ステップS213Bの判定が「否」の場合には(ステップS213B:No)、マーカー特定部166は、回転差Aが閾値未満で、かつ並進差Dが閾値未満であるか否かを判定する(ステップS213C)。回転差Aも並進差Dもそれぞれの閾値未満であると判定された場合には(ステップS213C:Yes)、表示設定部165は、マーカー画像の色を緑色に変える(ステップ214C)。ステップS213Cの判定が「否」の場合には(ステップS213C:No)、次に実行される処理はステップS213Aの判定に戻る。ステップS214Cの後で、マーカー特定部166は、回転差Aも並進差Dもそれぞれの閾値未満の状態と、使用者USの頭部が安定した状態とが、例えば2秒以上継続したか否かを判定する(ステップS215A)。ステップS215Aの判定が肯定的であると判定された場合には、パラメーター設定部167は、所定時間期間の計時または逆算計時を開始する。パラメーター設定部167が開始する逆算計時を、これをカウントダウン処理と呼ぶ。本実施形態の所定時間期間は1秒である。表示設定部165は、この1秒間を3分割し、時間の経過にしたがって表示または音声出力される「3」、「2」、「1」、「0」のカウントダウン情報を提示する。パラメーター設定部167は、「0」が提示されるタイミングで、カメラ60による実物マーカーMK2の撮像画像を、キャリブレーションデータとして取得する。
カウントダウン処理における所定時間期間は1秒に限らない。所定時間期間は、使用者USがマーカー画像IMGと実物マーカーMK2との間の目視によるアライメントを精度の点でより向上させることができる程度に長く、同時に、既に精度よく成立している目視によるアライメントを使用者USが維持することができる程度に短いことが好ましい。この点で「1秒」は経験的に好適な長さである。
頭部が安定な状態にあるか否か、または実質的に静止しているか否かは、パラメーター設定部167が、カメラ60の撮像画像における実物マーカーMK2の特徴点の位置、HMD100に搭載されたIMUの出力、およびこれらの組み合わせから、判定することができる。
図15は、他の実施形態に係るキャリブレーションデータの自動収集処理を説明するフローである。
図15のフローは、ステップS212とステップS216との間の部分が、図14のフローのそれとは異なっていて、その他の部分は図14のフローと実質的に同じである。したがって、以下では、異なっている部分のみ説明する。
図15に示すフローでは、ステップS212Aの後で、パラメーター設定部167は、カメラ60の撮像範囲に実物マーカーMK2が存在している状態であり、かつ、使用者USの頭部が所定期間、例えば2秒、に亘って安定的な状態か否かを判定する(ステップS215B)。パラメーター設定部167がカメラ60の撮像範囲に実物マーカーが存在する状態であり、かつ、使用者USの頭部が2秒間に亘って安定的な状態であると判定した場合には(ステップS215B:Yes)、処理はステップS216へ移行する。ステップS215Bの判定が「否」である場合には、この判定が満足されるまで、パラメーター設定部167は、撮像画像と使用者USの頭部の動きとを継続的に監視する。
図16は、他の実施形態に係るキャリブレーションデータの自動収集処理を説明するフローである。
図16のフローは、図14のフローと比較して、ステップS216とステップS217との間に、判定ステップS218とS219が加えられている点で、図14のフローとは異なっていて、その他の部分は図14のフローと実質的に同じである。したがって、以下では、異なっている部分のみ説明する。
図14の処理では、カウントダウン処理が開始されると(ステップS216)、使用者USが姿勢を大きく変えた結果、もはや目視によるアライメントが成立していない場合であっても、所定時間期間の経過時にキャリブレーションデータが収集される。この場合、正確なキャリブレーションデータを収集することができない。本実施形態では、カウントダウン処理における所定時間期間内に使用者USの頭部が閾値以上の動きを示した場合に、カウントダウン処理を中止して、キャリブレーションデータの収集処理を再度やり直すことができる。具体的には、パラメーター設定部167は、ステップS216のカウントダウン処理を開始された後に、所定時間期間(カウントダウン期間)が経過したか否かを判定する(ステップS218)。パラメーター設定部167がステップS218の判定が「否」と判定した場合には(ステップS218:No)、IMUが出力する角速度または加速度に基づいて、使用者USの頭部が閾値以上の大きさの動きをしたか否かを判定する(ステップS219)。パラメーター設定部167は、ステップS219の判定が「否」と判定した場合には、ステップS218の処理において、所定時間期間が経過した時点で(ステップS281:Yes)、キャリブレーションデータを収集する(ステップS217)。ステップS219において、パラメーター設定部167が使用者USの頭部が閾値以上の大きさの動きがあったと判定した場合には、ステップS213A以降の処理が実行される。
上述したように、パラメーター群を調整する際には、HMD100に表示されたマーカー画像IMGと実物マーカーMK2とが一致するように使用者USに視認させた(アライメントを成立させた)状態で、キャリブレーションデータを収集することが好ましい。使用者USがマーカー画像IMGと実物マーカーMK2とを精度よく一致して視認しているか否かは、パラメーター群を導出するキャリブレーションの精度に影響を与える。
ただし、せっかくユーザーが、マーカー画像と実物マーカーとが精度よく一致するよう視認していても、データ収集の指示またはトリガーのためにコントローラー10にタッチすると、その動作でアライメントがずれ、ずれたアライメントの状態でキャリブレーションデータが収集(実物マーカーが撮像)されることとなる。音声コマンドの場合にも、発声動作または発音動作により、アライメントがずれる可能性は皆無でない。このようなずれたアライメントの状態で得られたパラメーター群を使うと、AR画像の重畳表示が精度よく行われない。
図14、図15、図16を参照して説明したキャリブレーションデータの自動収集処理は、ユーザーがタッチや音声コマンドを必ずしも与えなくても、使用者がマーカー画像と実物マーカーとを一致して視認していることをHMD100が判定できる仕組みを提供することができる。そして、その判定をトリガーとしてキャリブレーションデータを収集できることから、精度のよいパラメーター群が得られ、結果として、AR画像の重畳表示の精度のよいHMD100が得られる。なお、本実施形態では、2つの回転角の差に基づいて、「回転差A」が閾値未満か否かが判定されるが、1つの軸の回りの回転角の差、または3つの軸の回りの回転角の差に基づいて、「回転差A」が閾値未満か否かが判定されてもよい。「並進差D」についても同様である。
A−2−3.第2設定モード:
第2設定モードでは、パラメーター設定部167が、第1設定モードにおいて実行したキャリブレーションの結果に対して、使用者USの操作を受け付けることで、さらに、キャリブレーションの結果を補正する。換言すると、パラメーター設定部167は、受け付けた操作に基づいて、特定オブジェクトに対応付けられて表示されるAR画像(ARモデル)の位置、大きさ、奥行感を補正する。
第2設定モードでは、パラメーター設定部167が、第1設定モードにおいて実行したキャリブレーションの結果に対して、使用者USの操作を受け付けることで、さらに、キャリブレーションの結果を補正する。換言すると、パラメーター設定部167は、受け付けた操作に基づいて、特定オブジェクトに対応付けられて表示されるAR画像(ARモデル)の位置、大きさ、奥行感を補正する。
図17は、第2設定モードに移行したときに使用者USが視認する視野VRの一例の説明図である。図17では、使用者USが、透過した外景に含まれる特定オブジェクトとしての実物マーカーMK1と、実物マーカーMK1に対応付けられて光学像表示部26,28に表示される設定画像SIMと、第2設定モードのときに光学像表示部26,28に表示される8個のアイコンおよびカーソル画像CSと、が示されている。8個のアイコンは、制御部10の操作部135が受け付けた操作によって、第2設定モードにおける設定モードを変更するためのアイコンである。図17に示す例では、使用者から見て、外景の実物マーカーMK1の位置と、表示された設定画像SIMの立方体の底面の位置と、が重なっていない。換言すると、キャリブレーションの精度がよくない。このような場合に、本実施形態では、第2設定モードにおいて、使用者USは、操作部135を操作することで、実物マーカーMK1と設定画像SIMとのキャリブレーションの結果を補正できる。
操作部135のトラックパッドが所定の操作を受け付けると、パラメーター設定部167は、光学像表示部26,28に表示させたカーソル画像CSの位置を移動させる。カーソル画像CSが8個のアイコンの内のいずれかに重なっている状態で、操作部135の決定ボタンが押下されると、パラメーター設定部167は、カーソル画像CSが重なっていたアイコンと対応付けられている設定モードへと移行する。
アイコンIC1は、選択されると、設定画像SIMの画像を拡大または縮小を実行するモードへと移行するためのアイコンである。アイコンIC1のモードでは、操作部135が所定の操作を受け付けることで、パラメーター設定部167は、上述したカメラパラメーターCPおよび変換パラメーターの一方または双方を補正して、光学像表示部26,28に表示された設定画像SIMの大きさを変更する。本実施形態では、パラメーター設定部167は、カメラパラメーターCPにおける焦点距離Fx,Fy,および写像パラメーターにおける焦点距離Fx,Fyの一方または両方を補正して、設定画像SIMの大きさを調整する。使用者USは、アイコンIC1を選択することで、実物マーカーMK1の大きさに合わせるように設定画像SIMの大きさを変更できる。
アイコンIC2は、選択されると、設定画像SIMの表示位置を上下に移動させるモードへと移行するためのアイコンである。アイコンIC2のモードでは、操作部135が所定の操作を受け付けることで、パラメーター設定部167は、光学像表示部26,28のそれぞれの変換パラメーターを補正して、光学像表示部26,28が設定画像SIMを表示可能な範囲で上下に移動させる。本実施形態では、パラメーター設定部が変換パラメーターのうち、X軸回りの回転を表すパラメーターRxを調整して、設定画像SIMを上下(すなわちY軸方向)に移動させる。なお、変換パラメーターの表示において、XおよびYは光学像表示部26,28に固定された座標系のX軸およびY軸をそれぞれ表し、さらに上述の通り、X軸はHMD100を装着した場合に使用者USの左右方向を表し、Y軸はその上下方向を表し得る。
アイコンIC3は、選択されると、設定画像SIMの表示位置を左右に移動させるモードへと移行するためのアイコンである。アイコンIC3のモードでは、操作部135が所定の操作を受け付けることで、パラメーター設定部167が光学像表示部26、28のそれぞれの変換パラメーターを補正して、光学像表示部26,28が設定画像SIMを表示可能な範囲で左右に移動させる。本実施形態では、パラメーター設定部167が変換パラメーターのうち、Y軸回りの回転を表すパラメーターRyを調整して、設定画像SIMを左右(すなわちX軸方向)に移動させる。使用者USは、アイコンIC2およびアイコンIC3を選択することで、実物マーカーMK1に対して、設定画像SIMの位置を合わせるように設定画像SIMの表示位置を変更できる。
アイコンIC4は、選択されると、使用者USに視認させる設定画像SIMの奥行感を調整するためのアイコンである。アイコンIC4のモードでは、操作部135が所定の操作を受け付けることで、パラメーター設定部167は、光学像表示部26、28のそれぞれの写像パラメーターおける表示主点のX成分であるCxを調整して、設定画像SIMの奥行感を変える。奥行感の調整量をΔCxとし、右光学像表示部26の表示主点をCx_ritghとし、左光学像表示部28の表示主点をCy_leftとすると、奥行感の調整後の表示主点は、以下の式(21F)および式(21G)のように表される。
写像パラメーターの表示において、Xは光学像表示部26,28に固定された座標系のX軸を表し、上述の通り、この場合のX軸はHMD100を装着した場合に使用者USの左右方向を表し得る。式(21F)および式(21G)により、左右の光学像表示部26、28に表示される左右の画像領域の中心位置が変わり、これにより、左右の画像領域が互いに近づいたり、離れたりする。この結果、使用者USが両眼で左右の画像領域を観察すると、特定オブジェクトの距離に応じた適切な輻輳角でAR画像(ARオブジェクト)を視認できるようになる。このため、特定オブジェクトとAR画像との間で、奥行感が一致する。
アイコンIC5は、選択されると、今まで実行してきたパラメーター群の補正を、実行前のパラメーター群の値に戻すためのアイコンである。アイコンIC6は、選択されると、今まで実行してきたパラメーター群の補正を、新たなパラメーター群(カメラパラメーターCP、変換パラメーターおよび写像パラメーター)として更新して記憶するためのアイコンである。
アイコンIC7は、選択されると、第2設定モードへと移行する1つ前のモードへと戻るためのアイコンである。換言すると、アイコンIC7が選択されると、表示設定部165は、図9のステップSS13に示す第2設定モードと第1設定モードとのどちらの設定モードへと移行するかの選択画面を光学像表示部26,28に表示させる。
アイコンIC8は、選択されると、表示設定部165が光学像表示部26,28に説明文である「ヘルプ」を表示させるためのアイコンである。「ヘルプ」が表示されると、第2設定モードおよびキャリブレーション実行処理におけるキャリブレーションを実行するための操作についての説明文が光学像表示部26,28に表示される。アイコンIC9は、選択されると、第2設定モードを含むキャリブレーション実行処理を終了するためのアイコンである。
図18は、第2設定モードにおいて設定画像SIMの表示位置が変更されたときに使用者USが視認する視野VRの一例を示す説明図である。この例では、設定画像SIMの向き、大きさ、および奥行感は実物マーカーMK1のそれらに既に合っており、上下左右の表示位置だけを調整することでAR画像の重畳精度を向上させる場合を示している。図18では、第2設定モードにおいて、アイコンIC2およびアイコンIC3が選択された後に操作部135が所定の操作を受け付けて、設定画像SIMの立方体の底面と、実物マーカーMK1との位置が合わさるように設定画像SIMの表示位置が設定された状態が示されている。具体的な操作としては、初めに、アイコンIC2が選択されて、実物マーカーMK1に対して、設定画像SIMの上下方向の表示位置が合わされた後、アイコンIC3が選択されて、実物マーカーMK1に対して、設定画像SIMの水平方向の表示位置が合わされている。この後、アイコンIC5が選択されると、変換パラメーターが更新されて記憶される。
A−3.対応画像表示処理:
図19は、対応画像表示処理のフローチャートである。図19に示す処理に先立って、使用者は、後述する図22に示す距離範囲のそれぞれの範囲においてモデルマーカーと実物マーカーとが一致するようにモデルマーカーの仮想的な距離を設定したうえで、上述の第1設定モードおよび第2設定モードの少なくとも一方のキャリブレーションをそれぞれの距離範囲について実施している。これにより、それぞれの距離範囲に対応したパラメーター群PM1,PM2,PM3が導出され、所定の記憶部に記憶されている。対応画像処理では、表示設定部165は、パラメーター設定部167がオブジェクト距離を用いて選択したパラメーター群を用いて、特定オブジェクトに予め対応付けられた対応画像を光学像表示部26,28に表示させる。本実施形態のパラメーター設定部167は、上述したキャリブレーションデータの取得方法によって、オブジェクト距離が0.5メートル(m)以上1m未満の場合と1m以上4m未満の場合と4m以上の場合と3つの場合のそれぞれに対応するパラメーター群を設定している。なお、対応画像表示処理では、特定オブジェクトの一例として実オブジェクトOB1と、実オブジェクトOB1に対応付けられた対応画像IG1と、を用いて説明する。
図19は、対応画像表示処理のフローチャートである。図19に示す処理に先立って、使用者は、後述する図22に示す距離範囲のそれぞれの範囲においてモデルマーカーと実物マーカーとが一致するようにモデルマーカーの仮想的な距離を設定したうえで、上述の第1設定モードおよび第2設定モードの少なくとも一方のキャリブレーションをそれぞれの距離範囲について実施している。これにより、それぞれの距離範囲に対応したパラメーター群PM1,PM2,PM3が導出され、所定の記憶部に記憶されている。対応画像処理では、表示設定部165は、パラメーター設定部167がオブジェクト距離を用いて選択したパラメーター群を用いて、特定オブジェクトに予め対応付けられた対応画像を光学像表示部26,28に表示させる。本実施形態のパラメーター設定部167は、上述したキャリブレーションデータの取得方法によって、オブジェクト距離が0.5メートル(m)以上1m未満の場合と1m以上4m未満の場合と4m以上の場合と3つの場合のそれぞれに対応するパラメーター群を設定している。なお、対応画像表示処理では、特定オブジェクトの一例として実オブジェクトOB1と、実オブジェクトOB1に対応付けられた対応画像IG1と、を用いて説明する。
CPU140は、操作部135を介して予め設定されたアプリケーションが選択されると、対応画像表示処理を実行する。対応画像表示処理では、初めに、パラメーター設定部167は、カメラ60を用いて、外景を撮像する(ステップS301)。パラメーター設定部167は、パターンマッチングなどによって撮像対象となった外景の中に、マーカー画像記憶部138に記憶された実オブジェクトOB1が含まれているか否かを判定する(ステップS303)。パラメーター設定部167は、撮像対象としての外景の中に実オブジェクトOB1が含まれていないと判定した場合には(ステップS303:NO)、撮像対象である外景中から実オブジェクトOB1を検出するまでステップS301以降の処理を繰り返す。
ステップS303の処理において、パラメーター設定部167は、撮像対象となった外景の中に実オブジェクトOB1が含まれていると判定した場合には(ステップS303:YES)、カメラ60の2つの撮像画像を用いて三角法によって、オブジェクト距離を算出する(ステップS305)。パラメーター設定部167は、算出したオブジェクト距離に対応するパラメーター群を選択する(ステップS307)。なお、本実施形態では、選択されたパラメーター群は、オブジェクト距離が0.5m以上1m未満に対応する第1パラメーター群PM1として説明する。表示設定部165は、第1パラメーター群PM1を用いて、実オブジェクトOB1の位置および姿勢に、対応画像IG1が一致して使用者USに視認される位置および姿勢で、光学像表示部26,28に対応画像IG1を表示させ(ステップS309)、CPU140は、対応画像表示処理を終了する。
図20は、第1パラメーター群PM1を用いた対応画像IG1が表示された場合に使用者USが視認する視野VRの一例を示す説明図である。図20では、使用者USが机の上に置かれた部品を用いた作業を行なう前の状態が示されている。使用者が視認する外景SCには、矩形状のカバーCVと、直方体形状で正面のカバーCVがはずされた状態の筐体(実オブジェクトOB1)と、複数のボルトBTと、ボルトBTと回すためのドライバーDVと、が含まれている。本実施形態では、パラメーター設定部167は、カバーCVがはずされた状態の筐体を実オブジェクトOB1として検出する。ボルトBTは、カバーCVを筐体に取り付けるために用いられる部品である。
図20に示すように、使用者USは、光学像表示部26,28を透過した外景SCに加えて、光学像表示部26,28に表示された対応画像IG1を視認する。対応画像IG1は、実オブジェクトOB1にカバーCVが装着された場合のカバーCVの画像である。換言すると、表示設定部165は、第1パラメーター群PM1を用いて、実オブジェクトOB1の位置および姿勢に対応付けて対応画像IG1を、光学像表示部26,28に表示させる。パラメーター設定部167は、右光学像表示部26に表示させる対応画像IG1と、左光学像表示部28に表示させる対応画像IG2とを異ならせて、輻輳角を形成させることで対応画像IG1の奥行きを使用者USに認識させることができる。
図21は、第3パラメーター群PM3を用いた対応画像IG1が表示された場合に使用者USが視認する視野VRの一例を示す説明図である。図21に示す視野VRでは、図20に示す視野VRと比較して、実オブジェクトOB1に対応付けられて光学像表示部26,28に表示される対応画像IG2が異なる。図21に示す例では、実オブジェクトOB1のオブジェクト距離が0.5m以上1m未満でもあるにも関わらず、表示設定部165は、オブジェクト距離が4m以上の場合の第3パラメーター群PM3を用いて、対応画像IG2を光学像表示部26,28に表示させている。そのため、対応画像IG2は、図20の対応画像IG1と比較して、表示位置や大きさが実オブジェクトOB1の位置および姿勢に一致していない。図21の対応画像IG1と図22の対応画像IG2とでは、同じ3Dモデルが異なる位置に、異なる大きさや異なる姿勢で表示されている。
図22は、複数のパラメーター群の用いられ方の一例を表す一覧表である。図22に示すように、オブジェクト距離が0m以上1m未満の場合に用いられる第1パラメーター群PM1は、使用者USが手元の作業を行なう場合の対応画像IG1の表示に用いられることが好ましい。オブジェクト距離が1m以上4m未満の場合に用いられるパラメーター群PM2は、使用者USが手元以遠の屋内作業を行なう場合の対応画像IG1の表示に用いられることが好ましい。オブジェクト距離が4m以上の場合に用いられる第3パラメーター群PM3は、使用者USが野外作業を行なう場合の対応画像IG1の表示に用いられることが好ましい。第3パラメーター群PM3は、野外作業以外として、美術館などで離れた距離にある絵画などを使用者USが視認する場合に用いられてもよい。なお、図22に示す距離では、小数点第1位で四捨五入している。また、上述のように、カメラ60と画像表示部20との間の空間関係が既知である場合、またはデフォルトの空間関係、当該空間関係に基づいてCPU140が画像表示部20から実オブジェクトまでの距離を導出できることから、CPUが、画像表示部20と実オブジェクトまでの距離に基づいて、パラメーター群PM1、PM2、PM3の一つを選択してもよい。
以上説明したように、本実施形態のHMD100では、パラメーター設定部167は、撮像対象となった外景に含まれる実オブジェクトOB1のオブジェクト距離および実オブジェクトOB1の姿勢を特定する。また、パラメーター設定部167は、オブジェクト距離に応じて、複数のパラメーター群から1つのパラメーター群を選択する。表示設定部165は、選択されたパラメーター群を用いて、実オブジェクトOB1の位置および姿勢と、実オブジェクトに対応付けられた対応画像IG1の位置および姿勢を設定して、対応画像IG1を光学像表示部26,28(画像表示部20)に表示させる。そのため、本実施形態のHMD100では、表示設定部165は、撮像対象となった外景に含まれる実オブジェクトOB1のオブジェクト距離に適したパラメーター群を用いて、対応画像IG1を画像表示部20に表示させる。これにより、HMD100は、実オブジェクトOB1の位置および姿勢により適合するように、位置および姿勢が設定された対応画像IG1を使用者USに視認させることができる。換言すると、使用者USに位置および姿勢の精度を向上させた対応画像IG1を視認させることができ、使用者の利便性が向上する。
また、本実施形態のHMD100では、パラメーター設定部167は、カメラ60の撮像画像を用いて三角法によって、実オブジェクトOB1のオブジェクト距離を算出する。パラメーター群PM1,PM2,PM3は、カメラパラメーターCPと変換パラメーターと写像パラメーターとを含む。表示設定部165は、写像変換パラメーターを用いて、光学像表示部26に表示する対応画像と左光学像表示部28に表示させる対応画像とを異ならせることで、輻輳角を形成して、使用者USに三次元画像としての対応画像IG1を視認させることができる。そのため、本実施形態のHMD100では、対応画像IG1の奥行きを使用者に認識させることができる。
また、本実施形態のHMD100では、パラメーター設定部167は、オブジェクト距離が0.5m以上1m未満と、1m以上4m未満と、4m以上との3つの場合に対応したパラメーター群PM1,PM2,PM3を設定する。そのため、本実施形態のHMD100では、使用者USが頻繁に行なう3種類の作業のオブジェクト距離に区別して、パラメーター群が設定されているため、使用者USの利便性が向上する。
B.第2実施形態:
図23は、第2実施形態の対応画像表示処理のフローチャートである。第2実施形態の対応画像表示処理では、第1実施形態の対応画像表示処理(図19)と比較して、操作部135が受け付けた入力によってオブジェクト距離が設定される点が異なり、他の処理については第1実施形態の対応画像表示処理と同じである。
図23は、第2実施形態の対応画像表示処理のフローチャートである。第2実施形態の対応画像表示処理では、第1実施形態の対応画像表示処理(図19)と比較して、操作部135が受け付けた入力によってオブジェクト距離が設定される点が異なり、他の処理については第1実施形態の対応画像表示処理と同じである。
第2実施形態の対応画像表示処理では、初めに、操作部135がオブジェクト距離の入力を受け付ける(ステップS311)。なお、他の実施形態では、音声入力によってオブジェクト距離が入力されてもよい。次に、パラメーター設定部167は、カメラ60を用いて外景を撮像する(ステップS313)。パラメーター設定部167は、撮像対象となった外景の中に実オブジェクトOB1が含まれるか否かを判定する(ステップS315)。パラメーター設定部167は、撮像対象となった外景の中に実オブジェクトOB1が含まれないと判定した場合には(ステップS315:NO)、ステップS313以降の処理を繰り返す。ステップS315の処理において、パラメーター設定部167は、撮像対象となった外景の中に実オブジェクトOB1が含まれると判定した場合には(ステップS315:YES)、入力されたオブジェクト距離に対応するパラメーター群を選択する(ステップS317)。表示設定部165は、選択されたパラメーター群を用いて、光学像表示部26,28に対応画像を表示させ(ステップS319)、CPU140は、対応画像表示処理を終了する。
以上説明したように、第2実施形態のHMD100では、パラメーター群を選択するために用いられるオブジェクト距離が操作によって入力される。このように、オブジェクト距離の設定については、実測の距離を用いずに、入力情報のようにその他の値が用いられてもよい。
C.変形例:
なお、この発明は上記実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば、次のような変形も可能である。
なお、この発明は上記実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば、次のような変形も可能である。
C−1.変形例1:
上記実施形態では、複数のパラメーター群として、図22に示す3つのパラメーター群を例に挙げて説明したが、複数のパラメーター群については、種々変形可能である。例えば、4mを境界として2つのパラメーター群が設定されてもよい。また、0.5m未満のパラメーター群として、パラメーター群PM1を用いてもよいし、3つより多い、または3つより少ない種類のパラメーター群が設定されてもよい。
上記実施形態では、複数のパラメーター群として、図22に示す3つのパラメーター群を例に挙げて説明したが、複数のパラメーター群については、種々変形可能である。例えば、4mを境界として2つのパラメーター群が設定されてもよい。また、0.5m未満のパラメーター群として、パラメーター群PM1を用いてもよいし、3つより多い、または3つより少ない種類のパラメーター群が設定されてもよい。
上記実施形態では、パラメーター設定部167が複数のパラメーター群PM1,PM2,PM3を、キャリブレーションデータを収集することで設定したが、複数のパラメーターについては、HMD100自身が設定せずに、例えば、サーバーなどのデータベースから通信によって取得してもよい。
上記実施形態では、パラメーター設定部167が、ステレオカメラであるカメラ60の撮像画像を用いて三角法によって、オブジェクト距離を算出したが、オブジェクト距離の特定方法については、種々変形可能である。例えば、赤外線を用いた測距センサーによってオブジェクト距離が特定されてもよい。
上記実施形態では、図20に示すように、実オブジェクトOB1の位置および姿勢と、対応画像IG1の位置および姿勢と、を一致させるように、表示設定部165は、対応画像IG1を光学像表示部26,28に表示させたが、一致させる要素は、種々変形可能である。例えば、表示設定部165は、実オブジェクトOB1の位置と、対応画像IG1の位置とを一致させて、姿勢を一致させないでもよい。換言すると、表示設定部165は、実オブジェクトOB1の位置と、大きさと、姿勢と、奥行き感の少なくとも1つと、光学像表示部26,28に表示される対応画像IG1の位置と、大きさと、姿勢と、奥行き感との1つとを対応させればよい。
上記実施形態では、カメラ60が使用されることでオブジェクト距離等が特定されたが、カメラ60以外の装置によってオブジェクト距離等が特定されてもよい。例えば、予めパラメーター群PM1、PM2、PM3が設定されていれば、カメラ60に代えた深度センサーを用いることで上記3つのパラメーター群の1つが選択され、その結果、表示画像が設定されえる。
C−2.変形例2:
上記実施形態では、図1ないし図3に示すように、光学像表示部26,28に対するカメラ60の位置や向きが変化するHMD100について説明した。光学像表示部26,28に対するカメラ60の位置が変化しないHMD101についても、上記実施形態で説明したキャリブレーションが有効である。なお、以降では、上記実施形態で説明したHMD100を、「カメラ可動型HMD」とも呼び、カメラ60の位置が固定であるHMD101を「カメラ固定型HMD」とも呼ぶ。
上記実施形態では、図1ないし図3に示すように、光学像表示部26,28に対するカメラ60の位置や向きが変化するHMD100について説明した。光学像表示部26,28に対するカメラ60の位置が変化しないHMD101についても、上記実施形態で説明したキャリブレーションが有効である。なお、以降では、上記実施形態で説明したHMD100を、「カメラ可動型HMD」とも呼び、カメラ60の位置が固定であるHMD101を「カメラ固定型HMD」とも呼ぶ。
図24は、第1設定モードで設定するパラメーターに関連する要素を示す表である。第1設定モードで変換パラメーターが設定される場合に、光学像表示部26,28から特定オブジェクトまでの距離の選択、いずれのパラメーターを優先的に最適化するかの選択などを設定できる。
図24に示すように、「マーカー画像IMGの表示」として、両眼表示と単眼表示との2つの表示が挙げられる。両眼表示は、右光学像表示部26および左光学像表示部28に同時にマーカー画像IMGを表示させて、使用者USにアライメントを実行させる場合を表す。単眼表示は、右光学像表示部26または左光学像表示部28にマーカー画像IMGを表示させて、使用者USに右光学像表示部26と左光学像表示部28とを別々にアライメントを実行させる場合を表す。HMD100であるカメラ可動型HMDおよびHMD101であるカメラ固定型HMDでは、単眼表示を採用している。
「実物マーカー、モデルマーカーの構造」とは、マーカー画像IMGの基となるモデルマーカーおよび実物マーカーMK1,MK2,MK3,MK4として、2次元のオブジェクト(図形など)を用いる「2D」と、3次元のオブジェクトを用いる「3D」とが挙げられる。HMD100であるカメラ可動型HMDおよびHMD101であるカメラ固定型HMDでは、上記実施形態に示すように、2次元の実物マーカーMK1,MK2、および2次元のモデルマーカーを写像したマーカー画像IMGを採用している。
「モデルマーカー(マーカー画像IMG)の位置と姿勢」は、使用者USがアライメントを実施する際に、光学像表示部26、28に表示されるマーカー画像IMGが光学像表示部26、28に対して固定で表示されるか、カスタマイズされるかを示している。以下、詳細に説明する。
画像処理部160は、モデルマーカーの表示に用いられるレンダリングエンジンを有し、そのレンダリングエンジンにおけるOpenGLは、「PVM」の行列積を利用しCGを生成する。ここで、Pは写像パラメーターであり、Vは、光学像表示部26、28に対するモデルマーカーの位置と姿勢であり、Mはモデルマーカー(3Dモデル)の内部座標である。使用者USの目視によるアライメントのためにモデルマーカーを写像したマーカー画像をレンダリング(描画)したい場合には、Vは、例えば、上記実施形態のように、[I:0,0,d1]のように既定にし得る。なお、ここで、Iは単位行列であり、光学像表示部26、28の座標系で表わされた回転であり、(0,0,d)のdはアライメントの距離であり、光学像表示部26、28の座標系で表わされた並進である。
カスタマイズアライメントは、固定されたVの使用に代えて、Vとして既存またはデフォルトのパラメーター群を使用することと、使用者USが実物マーカーMK1,MK2の位置・姿勢のトラッキングを固定した時点での当該トラッキングされた位置・姿勢(以下、トラッキングポーズ)を利用することを意味する。
式(21H)において、Tは、カメラ60を介したトラッキングにより得たトラッキング姿勢(カメラ60に対する位置と姿勢)を表し、Hは、現行またはデフォルトのカメラとディスプレイとの間の変換行列(空間関係)を表す。
カスタマイズアライメントの利点は、以下のように現れる。
(1)ユーザーの装着具合とARシナリオの距離範囲に依存して、カメラ60と光学像表示部26、28との間の空間関係が大きく変化するカメラ可動型HMDの場合:あるケースでは、上記実施形態のキャリブレーション処理が、対応する既定の距離にある大きさの異なる実物マーカーMK1およびMK2のいずれを用いてもうまく実施し得ない可能性がある。なぜなら、カメラ60が実物マーカーMK1,MK2を見ること(補足すること)ができない場合があるからである。実物マーカーMK1,MK2は、上部または下部において、カメラ60の撮像画像から外れ得る。このようなケースでは、使用者USにアライメントの距離を選択するよう促すことが解決策となる。
(2)使用者USが、特定のARシナリオの距離のために、よりよいAR画像の重畳精度を達成することを望む場合、特に、使用者USの関心のある距離が、キャリブレーション範囲内にない場合: 使用者USが大きい距離範囲において精度を求める場合には、ユーザーは、その範囲内においてむしろ複数の距離を選択し、複数回のアライメントを実施することができる。
(3)使用者USが使用者US自身で創作した3Dオブジェクトを実物マーカーとして用いる場合には、使用者USは、アライメント距離を定義(決定)する必要がある。
(1)ユーザーの装着具合とARシナリオの距離範囲に依存して、カメラ60と光学像表示部26、28との間の空間関係が大きく変化するカメラ可動型HMDの場合:あるケースでは、上記実施形態のキャリブレーション処理が、対応する既定の距離にある大きさの異なる実物マーカーMK1およびMK2のいずれを用いてもうまく実施し得ない可能性がある。なぜなら、カメラ60が実物マーカーMK1,MK2を見ること(補足すること)ができない場合があるからである。実物マーカーMK1,MK2は、上部または下部において、カメラ60の撮像画像から外れ得る。このようなケースでは、使用者USにアライメントの距離を選択するよう促すことが解決策となる。
(2)使用者USが、特定のARシナリオの距離のために、よりよいAR画像の重畳精度を達成することを望む場合、特に、使用者USの関心のある距離が、キャリブレーション範囲内にない場合: 使用者USが大きい距離範囲において精度を求める場合には、ユーザーは、その範囲内においてむしろ複数の距離を選択し、複数回のアライメントを実施することができる。
(3)使用者USが使用者US自身で創作した3Dオブジェクトを実物マーカーとして用いる場合には、使用者USは、アライメント距離を定義(決定)する必要がある。
図24に戻り、「調整するパラメーター」は、キャリブレーション処理において調整されるパラメーターを示している。後述するように、HMD100に含まれるカメラ60のカメラパラメーターCPは、必ずしも調整される必要はない。また、カメラ固定型HMDであっても、カメラ60と右光学像表示部26,28との間の空間関係(回転と並進)を表す変換パラメーターを調整することが好ましい場合がある。
C−3.変形例3:
光学像表示部26、28、およびカメラ60のファクトリーキャリブレーション(初期キャリブレーション):
例えば、サービスステーションにおいて、カメラ60のカメラパラメーターCP、カメラ60と光学像表示部26、28との間の空間関係(変換パラメーター)、光学像表示部26、28の写像パラメーターの初期値(デフォルト値)が、以下のステップを有するプロセスにより、導出され得る。
1.別途、高解像度な測定用カメラのキャリブレーションをする。
2.別途、HMD100に含まれるカメラ60のキャリブレーションをし、カメラパラメーターCPを導出する。
3.HMD100と測定用カメラとを特別なジグ上にセットアップする。ワールド座標系として平面パターンを設置する。
4.測定用カメラについてジグ上で数か所の位置を定義する。そして、それぞれの位置で、平面パターンに対する測定用カメラの位置と姿勢を推定する。
5.光学像表示部26に、光学像表示部26に対して仮想的な位置と姿勢を有する仮想パターンを写像する。なお、光学像表示部26に対する仮想的な位置と姿勢は、光学像表示部26に対する平面パターンの位置と姿勢と同じである。
6.測定用カメラを定義された複数の位置へ移動させ、それぞれの位置で、光学像表示部26に表示された仮想パターンの画像を撮像する。
7.撮像された画像を用いて写像されている3D位置を再構築する。
8.2D-3Dの対応関係を用いて光学像表示部26の内部パラメーター(写像パラメーター)を推定する。
9.平面パターンに対する2つのカメラ(カメラ60および測定用カメラ)の姿勢を計算し、そしてカメラ60と、光学像表示部26との間の変換パラメーターを解く。
10.4〜9のステップを、光学像表示部28について繰り返す。
光学像表示部26、28、およびカメラ60のファクトリーキャリブレーション(初期キャリブレーション):
例えば、サービスステーションにおいて、カメラ60のカメラパラメーターCP、カメラ60と光学像表示部26、28との間の空間関係(変換パラメーター)、光学像表示部26、28の写像パラメーターの初期値(デフォルト値)が、以下のステップを有するプロセスにより、導出され得る。
1.別途、高解像度な測定用カメラのキャリブレーションをする。
2.別途、HMD100に含まれるカメラ60のキャリブレーションをし、カメラパラメーターCPを導出する。
3.HMD100と測定用カメラとを特別なジグ上にセットアップする。ワールド座標系として平面パターンを設置する。
4.測定用カメラについてジグ上で数か所の位置を定義する。そして、それぞれの位置で、平面パターンに対する測定用カメラの位置と姿勢を推定する。
5.光学像表示部26に、光学像表示部26に対して仮想的な位置と姿勢を有する仮想パターンを写像する。なお、光学像表示部26に対する仮想的な位置と姿勢は、光学像表示部26に対する平面パターンの位置と姿勢と同じである。
6.測定用カメラを定義された複数の位置へ移動させ、それぞれの位置で、光学像表示部26に表示された仮想パターンの画像を撮像する。
7.撮像された画像を用いて写像されている3D位置を再構築する。
8.2D-3Dの対応関係を用いて光学像表示部26の内部パラメーター(写像パラメーター)を推定する。
9.平面パターンに対する2つのカメラ(カメラ60および測定用カメラ)の姿勢を計算し、そしてカメラ60と、光学像表示部26との間の変換パラメーターを解く。
10.4〜9のステップを、光学像表示部28について繰り返す。
C−4.変形例4:
HMD100のカメラ可動型HMDと、HMD101のカメラ固定型HMDとでは、光学像表示部26,28に対するカメラ60の位置および向きの変化の有無が異なる。そのため、カメラ固定型HMDとカメラ可動型HMDとでは、第1設定モードにおいて、優先的に最適化が実行されるパラメーターを、異なるパラメーターとして変更してもよい。例えば、カメラ可動型HMDに対して、カメラ固定型HMDでは、キャリブレーションによってカメラパラメーターCPを最適化してもよい。
HMD100のカメラ可動型HMDと、HMD101のカメラ固定型HMDとでは、光学像表示部26,28に対するカメラ60の位置および向きの変化の有無が異なる。そのため、カメラ固定型HMDとカメラ可動型HMDとでは、第1設定モードにおいて、優先的に最適化が実行されるパラメーターを、異なるパラメーターとして変更してもよい。例えば、カメラ可動型HMDに対して、カメラ固定型HMDでは、キャリブレーションによってカメラパラメーターCPを最適化してもよい。
最適化されるパラメーターとして、カメラパラメーターCPと、変換パラメーターとが挙げられる。カメラ固定型HMDでは、カメラパラメーターCPについて、HMD101の製造時の設計値を固定値として用いた上で、キャリブレーションによって最適化が実行される。最適化されるカメラパラメーターCPとしては、カメラ60の焦点距離およびカメラ60の主点位置(撮像画像の中心位置)である。カメラ固定型HMDでは、最適化される変換パラメーターとして、右光学像表示部26および左光学像表示部28のそれぞれのX,Y,Z軸のそれぞれの回転パラメーターおよび並進パラメーターを最適化する。
カメラ可動型HMDでは、カメラパラメーターCPについては、必ずしも最適化を行なう必要はない。カメラ可動型HMDでは、光学像表示部26、28に対してカメラ60が可動であるため、カメラパラメーターのずれよりも変換パラメーターのずれがAR画像の表示に大きく影響し得ることから、変換パラメーターを優先的に最適化するためである。
C−5.変形例5:
上記実施形態では、表示設定部165は、位置合わせを促す文字画像を右光学像表示部26に表示させたが、使用者に位置合わせを促す方法としては、種々変形可能である。例えば、表示設定部165は、「位置がずれています」の音声を、イヤホン32,34を介して出力することで、使用者に位置合わせを促してもよい。また、文字画像についても種々変形可能であり、表示設定部165は、文字画像に代えて、位置ずれを補正する方向を表す矢印の画像を、右光学像表示部26に表示させてもよい。
上記実施形態では、表示設定部165は、位置合わせを促す文字画像を右光学像表示部26に表示させたが、使用者に位置合わせを促す方法としては、種々変形可能である。例えば、表示設定部165は、「位置がずれています」の音声を、イヤホン32,34を介して出力することで、使用者に位置合わせを促してもよい。また、文字画像についても種々変形可能であり、表示設定部165は、文字画像に代えて、位置ずれを補正する方向を表す矢印の画像を、右光学像表示部26に表示させてもよい。
他の実施形態では、使用者に撮像までの時間を報知する方法として、種々変形可能である。例えば、表示設定部165は、撮像までの時間を表す数字を音声として、イヤホン32,34を介して出力することで、使用者に撮像までの時間を報知してもよい。また、表示設定部165は、例えば、カウントダウンの際に、「3」という数字のみを右光学像表示部26に表示させることで、使用者の撮像までの時間を報知してもよい。また、表示設定部165は、棒線を右光学像表示部26に表示させて、撮像までの時間の長さを表現するように、時間の経過と共に棒線の長さを減少させてもよい。
C−6.変形例6:
上記実施形態では、右光学像表示部26および左光学像表示部28のそれぞれについて、第1設定モードでは、2回のアライメントを実行することで、キャリブレーションが実行されたが、アライメントの回数については、種々変形可能である。アライメントの回数を増やすことで、ヤコビ行列を用いた各パラメーターの最適化において、より精度の高いキャリブレーションを実行するためのパラメーターが設定される。以下では、パラメーターの最適化の一例について説明する。
上記実施形態では、右光学像表示部26および左光学像表示部28のそれぞれについて、第1設定モードでは、2回のアライメントを実行することで、キャリブレーションが実行されたが、アライメントの回数については、種々変形可能である。アライメントの回数を増やすことで、ヤコビ行列を用いた各パラメーターの最適化において、より精度の高いキャリブレーションを実行するためのパラメーターが設定される。以下では、パラメーターの最適化の一例について説明する。
アライメントの回数をAとし、実物マーカーMK1,MK2の特徴要素(例えば、円の中心)の数をnとする。カメラ60と画像表示部とのペア(上記実施形態ではカメラ60と右と左のいずれかの光学像表示部26、28とのペア)について調整されるべきパラメーターの数をmとすると、最適化されるべきパラメーターの数はMであり、下記の式(22)を満たす。
それぞれの繰り返しについて、最適化の疑似コードは、以下の通りになる。まず、それぞれのアライメントについて、カメラ60と右光学像表示部26とのペアおよびカメラ60と左光学像表示部28とのペアについて、ヤコビ行列Jsを計算する。このヤコビ行列Jsは、2n×M行列として表すことができる。次に、2n×1の残差行列esを計算する。以上をA個のアライメントのそれぞれについて実施する。
次に、ヤコビ行列Jsを、4n×Mの大きさの行列Jへとマージする。残差行列esを連結して、4n×1の行列eを生成する。行列eの要素は式(12)で表わされ得る。そして、選択されたパラメーターの増加値dpを計算する。
式(23)におけるBは、修正行列であり、式(23)におけるtranspose(J)*Jがうまく調整されていない場合の収束問題を回避するために用いられる。なお、上記式において、「inverse()」はかっこ内の行列の逆行列を意味し、「transpose()」は、かっこ内の行列の転置行列を意味する。次に、パラメーターpについて、式(24)のように更新する。
更新されたパラメーターpが、終了条件を満たす場合には、最適化を終了し、終了条件を満たさない場合には、繰り返し、最適化を行なう。
C−7.変形例7:
上記実施形態では、パラメーター設定部167は、カメラパラメーターCPも最適化により導出したが、製造時の設計値からのばらつきが少ない場合には、カメラパラメーターCPについては設計値を設定し、カメラ60と光学像表示部26,28との間の空間関係だけを導出してもよい。この変形例のHMD100では、最適化するパラメーターの数が少なくなる。また、製造上、ばらつきの少ないパラメーターに対して、設計値を代入することで、コスト関数Eをより小さくするパラメーターの最適化を行ないつつ、パラメーターを最適化するための時間を短くできる。
上記実施形態では、パラメーター設定部167は、カメラパラメーターCPも最適化により導出したが、製造時の設計値からのばらつきが少ない場合には、カメラパラメーターCPについては設計値を設定し、カメラ60と光学像表示部26,28との間の空間関係だけを導出してもよい。この変形例のHMD100では、最適化するパラメーターの数が少なくなる。また、製造上、ばらつきの少ないパラメーターに対して、設計値を代入することで、コスト関数Eをより小さくするパラメーターの最適化を行ないつつ、パラメーターを最適化するための時間を短くできる。
上記実施形態では、右光学像表示部26に表示されるマーカーと左光学像表示部28に表示されるマーカーとは、同じマーカー画像IMGであったが、マーカー画像IMGおよび実物マーカーMK1,MK2については、種々変形可能である。例えば、右光学像表示部26と左光学像表示部28とのそれぞれに表示されるマーカーの画像は、異なるマーカーの画像であってもよい。また、マーカー画像IMGおよび実物マーカーMK1,MK2は、導出されるパラメーターの精度に応じて、種々変形可能である。例えば、実物マーカーMK1に含まれる円の数は、10個に限られず、10個よりも多くてよいし、10個よりも少なくてもよい。また、実物マーカーMK1に含まれる複数の特徴点は、円の中心でなくてもよく、単に三角形の重心であってもよい。また、実物マーカーMK1の内部に並行でない複数の直線が形成されて、直線の交点が複数の特徴点として特定されてもよい。また、マーカー画像IMGと実物マーカーMK1,MK2とは、異なるマーカーであってもよい。マーカー画像と実物マーカーとを重ねる場合に、どの部分を重ね合わせるのかが使用者に認識される範囲で、マーカー画像と実物マーカーとについては、種々変形可能である。例えば、矩形状のマーカー画像に対して、正円の実物マーカーの中心をマーカー画像の中心に合わせるような位置合わせであってもよい。
上記実施形態では、カメラ60のカメラパラメーターCPが最適化される場合に、焦点距離(Fx,Fy)と、カメラ主点位置(撮像画像の中心位置)(Cx,Cy)と、が最適化されたが、これらに代えて、またはこれらとともに、カメラ60のカメラパラメーターCPとして歪係数を最適化してもよい。
C−8. 変形例8:
上記実施形態において定義された式(15)のコスト関数に、以下の付加的な制約条件を加えてもよい。使用者USの目視によるアライメントは、それぞれの光学像表示部26,27に対して別々に行われることから、そのアライメントエラーは、必ずしも同じではない。このため、左および右の光学像表示部26、28に対するカメラ60の2つの並進のうち、Ty成分の推定が光学像表示部26,28の間で大きく異なることがあり得る。2つのTy成分が大きく異なる場合には、ユーザーが立体視の融合問題を経験する。カメラ60と光学像表示部26、28との間の並進Tyの最大の差が所定有限値であることから、左右のTy差の絶対値の関数として下記式(25)のように定義する関数を式(15)に加えてもよい。式(25)を式(15)に加えた場合には、式(15)は、下記の式(26)のように表される。
ここで、式(26)に含まれる要素は、下記の式(27)ないし式(29)で表される通りである。
上記式(28)および式(29)において、「acceptable difference」は許容されるTy差であり、「maximum difference」は、想定されるTy差の最大値である。
式(15)は以下のようになる。
「acceptable difference」と、「maximum difference」とは経験的にセットされ得る。Ty_leftとTy_rightとの差が大きくなればコスト関数Eは増大する。このため、変数p(特に左右のTy_left、Ty_right)が要求範囲内に収まるように強いられながら、コスト関数Eはグローバルミニマムに近づくことになる。最適化計算においては、新しいロウ(row:行列の横の並び)がヤコビ行列Jに追加され、e行列が最適化の各繰り返しステップで生成される。上記した関数から計算された誤差は、e行列の最後に追加される。ヤコビ行列Jにおける新しいロウは、Ty_leftとTy_rightとを除いて、すべてのパラメーターについてゼロ値を取る。また、これら2つのパラメーターに対応するエントリー(初期値)は、それぞれ1および−1にすればよい。
上記実施形態において定義された式(15)のコスト関数に、以下の付加的な制約条件を加えてもよい。使用者USの目視によるアライメントは、それぞれの光学像表示部26,27に対して別々に行われることから、そのアライメントエラーは、必ずしも同じではない。このため、左および右の光学像表示部26、28に対するカメラ60の2つの並進のうち、Ty成分の推定が光学像表示部26,28の間で大きく異なることがあり得る。2つのTy成分が大きく異なる場合には、ユーザーが立体視の融合問題を経験する。カメラ60と光学像表示部26、28との間の並進Tyの最大の差が所定有限値であることから、左右のTy差の絶対値の関数として下記式(25)のように定義する関数を式(15)に加えてもよい。式(25)を式(15)に加えた場合には、式(15)は、下記の式(26)のように表される。
式(15)は以下のようになる。
本発明は、上記実施形態や変形例に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現することができる。例えば、発明の概要の欄に記載した各形態中の技術的特徴に対応する実施形態、変形例中の技術的特徴は、上述の課題の一部または全部を解決するために、あるいは、上述の効果の一部または全部を達成するために、適宜、差し替えや、組み合わせを行なうことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
BT…ボルト、CD1,CD2…座標軸、CL1,CL2…対角線、CP…カメラパラメーター、CS…カーソル画像、CV…カバー、DV…ドライバー、IMG…マーカー画像、IG1,IG2…対応画像,RE…右眼、LE…左眼、MK1,MK1A,MK2,MK3,MK4,MK5…実物マーカー、OA…外部機器、OB1…実オブジェクト、PML…左変換パラメーター、PMR…右変換パラメーター、PM1…第1変換パラメーター、PM2…第2変換パラメーター、PM3…第3変換パラメーター、RP…右眼位置、SIM…設定画像、VR…視野、IC1,IC2,IC3,IC4,IC5,IC6,IC7,IC8,IC9…アイコン、10…制御部、20…画像表示部、21…右保持部、22…右表示駆動部、23…左保持部、24…左表示駆動部、26…右光学像表示部、28…左光学像表示部、32…右イヤホン、34…左イヤホン、40…接続部、46…連結部材、51,52…送信部、53,54…受信部、60…カメラ、90…装着帯、91…装着基部、92…ベルト部、93…連結部、100,101…HMD(頭部装着型表示装置)、121…ROM、122…RAM、130…電源、135…操作部、138…マーカー画像記憶部、140…CPU、150…オペレーティングシステム、160…画像処理部、165…表示設定部、166…マーカー特定部、167…パラメーター設定部、170…音声処理部、180…インターフェイス、190…表示制御部、201…右バックライト制御部、202…左バックライト制御部、211…右LCD制御部、212…左LCD制御部、221…右バックライト、222…左バックライト、241…右LCD、242…左LCD、251…右投写光学系、252…左投写光学系、261…右導光板、262…左導光板
Claims (6)
- 頭部装着型表示装置であって、
光学透過型の画像表示部と、
外景を撮像する撮像部および深度センサーの少なくとも一方と、
実オブジェクトの前記撮像部および前記深度センサーの少なくとも一方から前記実オブジェクトまでのオブジェクト距離、および、前記撮像部および前記深度センサーの少なくとも一方に対する前記実オブジェクトの相対姿勢を導出する導出部と、
入力情報または導出された前記オブジェクト距離に応じて、前記実オブジェクトに対応付けられた対応画像を前記画像表示部に表示させるために用いられ、予め設定された複数のパラメーター群から、一つのパラメーター群を選択するパラメーター選択部と、
導出された前記オブジェクト距離および前記実オブジェクトの相対姿勢と、選択された前記一つのパラメーター群と、に基づいて、前記対応画像の位置と、大きさと、姿勢と、奥行感との少なくとも一つと、前記実オブジェクトの位置と、大きさと、姿勢と、奥行感との一つとを対応させた表示画像を設定し、前記表示画像を前記画像表示部に表示させる表示設定部と、を備える、頭部装着型表示装置。 - 請求項1に記載の頭部装着型表示装置であって、
前記撮像部は、異なる位置に配置された複数のカメラであり、
前記頭部装着型表示装置は、さらに、
前記複数のカメラが撮像した複数の撮像画像を用いて、前記実オブジェクトまでの距離を特定する距離特定部を備える、頭部装着型表示装置。 - 請求項2に記載の頭部装着型表示装置であって、
前記画像表示部は、左眼用画像表示部と右眼用画像表示部とを含み、
前記表示設定部は、使用者に前記表示画像を立体画像として認識させることができ、
前記パラメーター群は、前記撮像部のカメラパラメーターと、前記撮像部の位置と前記画像表示部の位置とによって決定される三次元の空間関係を表す変換パラメーターと、前記対応画像の元となるモデルとして設定された三次元オブジェクトを前記画像表示部に画像として表示させるために用いられる写像変換パラメーターとを含む、頭部装着型表示装置。 - 請求項2または請求項3に記載の頭部装着型表示装置であって、
前記複数のパラメーター群は、前記画像表示部から前記実オブジェクトまでの距離が4メートル未満の場合に対応するように設定された第1パラメーター群と、前記オブジェクト距離が4メートル以上の場合に対応するように設定された第2パラメーター群と、を含む、頭部装着型表示装置。 - 請求項2または請求項3に記載の頭部装着型表示装置であって、
前記複数のパラメーター群は、前記画像表示部から前記実オブジェクトまでの距離が1メートル未満の場合に対応するように設定された第1パラメーター群と、前記オブジェクト距離が1メートル以上の場合に対応するように設定された第2パラメーター群と、を含む、頭部装着型表示装置。 - 光学透過型の画像表示部と、外景を撮像する撮像部および深度センサーの少なくとも一方と、を有する頭部装着型表示装置のためのコンピュータープログラムであって、
実オブジェクトの前記撮像部および前記深度センサーの少なくとも一方から前記実オブジェクトまでのオブジェクト距離、および、前記撮像部および前記深度センサーの少なくとも一方に対する前記実オブジェクトの相対姿勢を導出する導出機能と、
入力情報または導出された前記オブジェクト距離に応じて、前記実オブジェクトに対応付けられた対応画像を前記画像表示部に表示させるために用いられ、予め設定された複数のパラメーター群から、一つのパラメーター群を選択するパラメーター選択機能と、
導出された前記オブジェクト距離および前記実オブジェクトの相対姿勢と、選択された前記一つのパラメーター群と、に基づいて、前記対応画像の位置と、大きさと、姿勢と、奥行感との少なくとも一つと、前記実オブジェクトの位置と、大きさと、姿勢と、奥行感との一つとが対応させた表示画像を設定し、前記表示画像を前記画像表示部に表示させる表示設定機能と、を頭部装着型表示装置に実現させるためのコンピュータープログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016077136A JP2017187667A (ja) | 2016-04-07 | 2016-04-07 | 頭部装着型表示装置およびコンピュータープログラム |
US15/474,624 US10469836B2 (en) | 2016-04-07 | 2017-03-30 | Head-mounted display device and computer program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016077136A JP2017187667A (ja) | 2016-04-07 | 2016-04-07 | 頭部装着型表示装置およびコンピュータープログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017187667A true JP2017187667A (ja) | 2017-10-12 |
Family
ID=59999677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016077136A Pending JP2017187667A (ja) | 2016-04-07 | 2016-04-07 | 頭部装着型表示装置およびコンピュータープログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US10469836B2 (ja) |
JP (1) | JP2017187667A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021508109A (ja) * | 2017-12-19 | 2021-02-25 | テレフオンアクチーボラゲット エルエム エリクソン(パブル) | 頭部装着型ディスプレイデバイスおよびその方法 |
JP7200063B2 (ja) | 2018-08-07 | 2023-01-06 | アップル インコーポレイテッド | 2d/3d混在コンテンツの検出及び表示 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10365710B2 (en) * | 2017-06-23 | 2019-07-30 | Seiko Epson Corporation | Head-mounted display device configured to display a visual element at a location derived from sensor data and perform calibration |
US10338766B2 (en) | 2017-09-06 | 2019-07-02 | Realwear, Incorporated | Audible and visual operational modes for a head-mounted display device |
US10715746B2 (en) * | 2017-09-06 | 2020-07-14 | Realwear, Inc. | Enhanced telestrator for wearable devices |
JP6874855B2 (ja) * | 2017-11-06 | 2021-05-19 | 富士通株式会社 | 算出方法、算出プログラムおよび情報処理装置 |
GB2569785B (en) * | 2017-12-20 | 2022-07-13 | Sony Interactive Entertainment Inc | Data processing |
CN109643182B (zh) * | 2017-12-29 | 2022-01-07 | 达闼机器人有限公司 | 信息处理方法、装置、云处理设备及计算机程序产品 |
US11386572B2 (en) | 2018-02-03 | 2022-07-12 | The Johns Hopkins University | Calibration system and method to align a 3D virtual scene and a 3D real world for a stereoscopic head-mounted display |
WO2020020102A1 (zh) * | 2018-07-23 | 2020-01-30 | 广东虚拟现实科技有限公司 | 生成虚拟内容的方法、终端设备及存储介质 |
CN109274864A (zh) * | 2018-09-05 | 2019-01-25 | 深圳奥比中光科技有限公司 | 深度相机、深度计算系统与方法 |
US10776954B2 (en) | 2018-10-08 | 2020-09-15 | Microsoft Technology Licensing, Llc | Real-world anchor in a virtual-reality environment |
TWI725574B (zh) * | 2019-02-22 | 2021-04-21 | 宏達國際電子股份有限公司 | 頭戴式顯示裝置以及眼球追蹤游標的顯示方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005038321A (ja) | 2003-07-18 | 2005-02-10 | Canon Inc | ヘッドマウントディスプレイ装置 |
US9345957B2 (en) * | 2011-09-30 | 2016-05-24 | Microsoft Technology Licensing, Llc | Enhancing a sport using an augmented reality display |
US9477312B2 (en) * | 2012-11-05 | 2016-10-25 | University Of South Australia | Distance based modelling and manipulation methods for augmented reality systems using ultrasonic gloves |
US10203762B2 (en) * | 2014-03-11 | 2019-02-12 | Magic Leap, Inc. | Methods and systems for creating virtual and augmented reality |
CN106663411A (zh) * | 2014-11-16 | 2017-05-10 | 易欧耐特感知公司 | 用于增强现实准备、处理和应用的系统和方法 |
US20180176483A1 (en) * | 2014-12-29 | 2018-06-21 | Metaio Gmbh | Method and sytem for generating at least one image of a real environment |
-
2016
- 2016-04-07 JP JP2016077136A patent/JP2017187667A/ja active Pending
-
2017
- 2017-03-30 US US15/474,624 patent/US10469836B2/en active Active
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021508109A (ja) * | 2017-12-19 | 2021-02-25 | テレフオンアクチーボラゲット エルエム エリクソン(パブル) | 頭部装着型ディスプレイデバイスおよびその方法 |
JP7012163B2 (ja) | 2017-12-19 | 2022-01-27 | テレフオンアクチーボラゲット エルエム エリクソン(パブル) | 頭部装着型ディスプレイデバイスおよびその方法 |
US11380018B2 (en) | 2017-12-19 | 2022-07-05 | Telefonaktiebolaget Lm Ericsson (Publ) | Head-mounted display device and method thereof |
US11935267B2 (en) | 2017-12-19 | 2024-03-19 | Telefonaktiebolaget Lm Ericsson (Publ) | Head-mounted display device and method thereof |
JP7200063B2 (ja) | 2018-08-07 | 2023-01-06 | アップル インコーポレイテッド | 2d/3d混在コンテンツの検出及び表示 |
US11790871B2 (en) | 2018-08-07 | 2023-10-17 | Apple Inc. | Detection and display of mixed 2D/3D content |
Also Published As
Publication number | Publication date |
---|---|
US20170295360A1 (en) | 2017-10-12 |
US10469836B2 (en) | 2019-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10242504B2 (en) | Head-mounted display device and computer program | |
JP2017187667A (ja) | 頭部装着型表示装置およびコンピュータープログラム | |
JP6852355B2 (ja) | プログラム、頭部装着型表示装置 | |
US10424117B2 (en) | Controlling a display of a head-mounted display device | |
CN112926428B (zh) | 使用合成图像训练对象检测算法的方法和系统和存储介质 | |
JP6860488B2 (ja) | 複合現実システム | |
US10269139B2 (en) | Computer program, head-mounted display device, and calibration method | |
JP5923603B2 (ja) | 表示装置、ヘッドマウントディスプレイ、校正方法及び校正プログラム、並びに記録媒体 | |
US8704882B2 (en) | Simulated head mounted display system and method | |
EP2966863A1 (en) | Hmd calibration with direct geometric modeling | |
US10878285B2 (en) | Methods and systems for shape based training for an object detection algorithm | |
JP2017108370A (ja) | 頭部装着型表示装置およびコンピュータープログラム | |
JP6701694B2 (ja) | 頭部装着型表示装置およびコンピュータープログラム | |
JP6509101B2 (ja) | 眼鏡状の光学シースルー型の両眼のディスプレイにオブジェクトを表示する画像表示装置、プログラム及び方法 | |
US10296098B2 (en) | Input/output device, input/output program, and input/output method | |
JP7501044B2 (ja) | 表示システム、情報処理装置及び表示システムの表示制御方法 | |
WO2013179425A1 (ja) | 表示装置、ヘッドマウントディスプレイ、校正方法及び校正プログラム、並びに記録媒体 | |
JP6701693B2 (ja) | 頭部装着型表示装置およびコンピュータープログラム | |
JP2017134630A (ja) | 表示装置、表示装置の制御方法、及び、プログラム |