(57)【要約】【課題】撮像部および慣性センサーの第１の空間関係並びに撮像部および画像表示部の第２の空間関係の較正の成功率を上げる。【解決手段】第１の実物マーカーに対する撮像部の相対位置が第１の位置と、第２の位置とにおいて前記撮像部に前記第１の実物マーカーを撮像させて得られる撮像画像を取得する機能と、前記第１の位置から前記第２の位置における慣性センサーの動きを、前記慣性センサーの出力に基づき導出する機能と、第２の実物マーカーに対応したマーカー画像を画像表示部に表示する機能と、前記マーカー画像と前記第２の実物マーカーとが一致するようにユーザーに視認される状態において、前記撮像部に前記第２の実物マーカーを撮像させて得られる撮像画像を取得する機能と、第１及び第２の空間関係を、前記第１の実物マーカーの撮像画像と、前記慣性センサーの動きと、前記第２の実物マーカーの撮像画像と、に基づき導出する機能と、を実現させる。【選択図】図１０
2018009836.tif 000002
【特許請求の範囲】
【請求項１】
撮像部と、慣性センサーと、光学透過型の画像表示部と、処理部と、を備えた頭部装着型表示装置の前記処理部に、
前記第１の実物マーカーに対する前記撮像部の相対位置が第１の位置と、第２の位置との場合において前記撮像部に前記第１の実物マーカーを撮像させて得られる撮像画像を取得する機能と、
前記第１の位置から前記第２の位置への前記慣性センサーの動きを、前記慣性センサーの出力に基づき導出する機能と、
第２の実物マーカーに対応したマーカー画像を前記画像表示部に表示する機能と、
前記マーカー画像と前記第２の実物マーカーとが一致するようにユーザーに視認される状態において、前記撮像部に前記第２の実物マーカーを撮像させて得られる撮像画像を取得する機能と、
前記撮像部および前記慣性センサーの間の第１の空間関係、並びに前記撮像部および前記画像表示部の間の第２の空間関係を、前記第１の実物マーカーの撮像画像と、前記慣性センサーの動きと、前記第２の実物マーカーの撮像画像と、に基づき導出する機能と、
を実現させるためのプログラム。
【請求項２】
前記撮像部は、前記慣性センサーに対する相対位置が可動である
請求項１に記載のプログラム。
【請求項３】
前記撮像部は、前記画像表示部に対する相対位置が可動である
請求項１又は請求項２に記載のプログラム。
【請求項４】
撮像部と、慣性センサーと、光学透過型の画像表示部と、処理部と、を備える頭部装着型表示装置であって、
前記処理部は、
前記第１の実物マーカーに対する前記撮像部の相対位置が第１の位置と、第２の位置との場合において前記撮像部に前記第１の実物マーカーを撮像させて得られる撮像画像を取得する機能と、
前記第１の位置から前記第２の位置への前記慣性センサーの動きを、前記慣性センサーの出力に基づき導出する機能と、
第２の実物マーカーに対応したマーカー画像を前記画像表示部に表示する機能と、
前記マーカー画像と前記第２の実物マーカーとが一致するようにユーザーに視認される状態において、前記撮像部に前記第２の実物マーカーを撮像させて得られる撮像画像を取得する機能と、
前記撮像部および前記慣性センサーの間の第１の空間関係、並びに前記撮像部および前記画像表示部の間の第２の空間関係を、前記第１の実物マーカーの撮像画像と、前記慣性センサーの動きと、前記第２の実物マーカーの撮像画像と、に基づき導出する機能と、を実現する
頭部装着型表示装置。
【請求項５】
撮像部と、慣性センサーと、光学透過型の画像表示部と、処理部と、を備える頭部装着型表示装置の前記処理部が実行するキャリブレーション方法であって、
第１の実物マーカーの撮像画像と、前記慣性センサーの動きと、第２の実物マーカーの撮像画像と、を取得することと、
前記撮像部および前記慣性センサーの間の第１の空間関係、並びに前記撮像部および前記画像表示部の間の第２の空間関係を、前記第１の実物マーカーの撮像画像と、前記慣性センサーの動きと、前記第２の実物マーカーの撮像画像と、に基づき導出することと、を含み、
前記第１の実物マーカーの撮像画像を取得することは、前記第１の実物マーカーに対する前記撮像部の相対位置が第１の位置と、第２の位置との場合において前記撮像部に前記第１の実物マーカーを撮像させることを含み、
前記慣性センサーの動きを取得することは、前記第１の位置から前記第２の位置への前記慣性センサーの動きを、前記慣性センサーの出力に基づき導出することを含み、
前記第２の実物マーカーの撮像画像を取得することは、
前記第２の実物マーカーに対応したマーカー画像を前記画像表示部に表示することと、
前記マーカー画像と前記第２の実物マーカーとが一致するようにユーザーに視認される状態において、前記撮像部に前記第２の実物マーカーを撮像させて得られる撮像画像を取得することと、を含む
キャリブレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、空間関係のキャリブレーションに関する。
【背景技術】
【０００２】
ユーザーの頭部に装着される頭部装着型表示装置（以下、ＨＭＤともいう）が知られている。例えば、特許文献１には、支持手段を介して支持された撮像手段が、ＨＭＤの本体に対して上下にスライドするビデオシースルー型ＨＭＤが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−３８３２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
以下では、シースルー型の表示装置の一例として、ＡＲ（拡張現実）機能を提供できるように、トラッキングカメラを備えるＨＭＤを例として説明する。ＨＭＤは、トラッキングカメラを介して、ＨＭＤ（またはトラッキングカメラ）に対する実オブジェクトの位置を検出し、追跡する（この方式による実オブジェクトの追跡を「光学トラッキング」と表記する）。ＨＭＤは、当該実オブジェクトの位置に追従するように、ＣＧ等の仮想オブジェクトを表示する。このときユーザーは、実オブジェクトの位置に、仮想オブジェクトの位置が対応付けられるように、仮想オブジェクトを視認する。
【０００５】
トラッキングカメラの視野における実オブジェクトの位置と姿勢は、実オブジェクトの動きだけでなく、ユーザーの頭部の動き（特に回転）によっても変化する。そして、頭部の回転の角速度が速く、および／または角度が大きい場合には、光学トラッキングだけでは、仮想オブジェクトの表示に、実オブジェクトの位置、さらには姿勢の変化が反映されるまでの時間差（レイテンシー）が目立つようになる場合がある。
【０００６】
技術的に、トラッキングカメラの時間分解能（画像のフレームレート）より、慣性センサーの時間分解能を高くしやすい。そこで、上記レイテンシー対策として、ＨＭＤが、トラッキングカメラだけでなく、慣性センサーを搭載し、トラッキングカメラと慣性センサーとによって、ＨＭＤに対する実オブジェクトの位置・姿勢（実オブジェクトとＨＭＤとの間の空間的位置関係）を推定することが効果的であると考えられる（この方式による実オブジェクトの追跡を「慣性・光学融合トラッキング」と表記する）。
【０００７】
上記場合のように、トラッキングカメラと慣性センサーとが協働して「トラッカー（追跡装置）」として機能する場合には、トラッキングカメラの座標系と慣性センサーの座標系とが、対応付けられている（較正されている）ことが望まれる。また、上記「トラッカー」として利用される場合以外でも、例えば、ユーザーの眼（網膜）を基準にしてトラッキングカメラと画像表示部とが較正される場合に、トラッキングカメラの座標系と慣性センサーの座標系とが較正されていることは、有用である。そして、較正方法は簡易で、かつ較正結果が高精度であることが望ましい。
【０００８】
さらに、光学シースルー型の頭部装着型表示装置を含む画像表示装置が、カメラによって撮像された特定の対象物の位置に画像を精度良く重畳させて表示させる技術を備えれば、ＡＲ機能に関して、向上した利便性を提供することができる。ただし、カメラで撮像した特定の対象物に表示画像を正しく重畳させる際には、カメラと画像表示部との間の空間的関係を較正することが望まれる。
【０００９】
上記の通り、２つの較正を実施することが好ましいものの、２つの較正をそれぞれ成功させるのは難しい。本願発明は、上記を踏まえ、撮像部（トラッキングカメラ）および慣性センサーの間の空間関係（第１の空間関係）、並びに撮像部および画像表示部の間の空間関係（第２の空間関係）の較正の成功率を高めることを解決課題とする。
【課題を解決するための手段】
【００１０】
本発明は、上記課題を解決するためのものであり、以下の形態として実現できる。
【００１１】
本発明の一形態は、撮像部と、慣性センサーと、光学透過型の画像表示部と、処理部と、を備えた頭部装着型表示装置の前記処理部に；前記第１の実物マーカーに対する前記撮像部の相対位置が第１の位置と、第２の位置との場合において前記撮像部に前記第１の実物マーカーを撮像させて得られる撮像画像を取得する機能と；前記第１の位置から前記第２の位置への前記慣性センサーの動きを、前記慣性センサーの出力に基づき導出する機能と；第２の実物マーカーに対応したマーカー画像を前記画像表示部に表示する機能と；前記マーカー画像と前記第２の実物マーカーとが一致するようにユーザーに視認される状態において、前記撮像部に前記第２の実物マーカーを撮像させて得られる撮像画像を取得する機能と；前記撮像部および前記慣性センサーの間の第１の空間関係、並びに前記撮像部および前記画像表示部の間の第２の空間関係を、前記第１の実物マーカーの撮像画像と、前記慣性センサーの動きと、前記第２の実物マーカーの撮像画像と、に基づき導出する機能と；を実現させるためのプログラムである。この形態によれば、第１及び第２の空間関係の較正の成功率が上がる。なお、第１の実物マーカー及び第２の実物マーカーは、同じ物であってもよいし、違う物であってもよい。
【００１２】
上記形態において、前記撮像部は、前記慣性センサーに対する相対位置が可動であってもよい。
【００１３】
上記形態において、前記撮像部は、前記画像表示部に対する相対位置が可動であってもよい。
【００１４】
本発明は、上記以外の種々の形態で実現できる。例えば、上記のプログラムを記憶した一時的でない記憶媒体の形態で実現できる。或いは、上記のプログラムを実行することで動作する装置や、上記のプログラムによって実現される方法等の形態で実現できる。
【図面の簡単な説明】
【００１５】
【図１】ＨＭＤの外観構成図。
【図２】ＨＭＤの外観構成図。
【図３】ＨＭＤの外観構成図。
【図４】ＨＭＤの機能ブロック図。
【図５】実物マーカーを示す図。
【図６】実物マーカーを示す図。
【図７】実物マーカーを示す図。
【図８】実物マーカーを示す図。
【図９】ＩＭＵにおける融合部を示す機能ブロック図。
【図１０】キャリブレーション処理を示すフローチャートである。
【図１１】モデル化された空間関係を示す図。
【図１２】オフラインキャリブレーションを示すフローチャート。
【図１３】オフラインキャリブレーションのための装置構成図。
【図１４】回転データ収集処理を示すフローチャート。
【図１５】回転データ収集処理のタイミングチャート。
【図１６】アライメントデータ収集処理を示すフローチャート。
【図１７】マーカー画像が表示された場合の右光学像表示部のイメージ図。
【図１８】アライメントデータ収集処理のタイミングチャート。
【図１９】算出処理を示すフローチャート。
【図２０】マーカー画像が表示された状態での空間的な位置関係を示す概略図。
【図２１】しらみつぶし計算を示すフローチャート。
【発明を実施するための形態】
【００１６】
図１〜図３は、頭部装着型表示装置１００（ＨＭＤ１００）の外観構成を示す。ＨＭＤ１００は、画像表示部２０が表示する表示画像をユーザーに視認させ、画像表示部２０（図１）を透過する外景からの光によって当該外景もユーザーに視認させることができる。詳細な構成については後述するが、本実施形態のＨＭＤ１００は、画像表示部２０を装着したユーザーの右眼と左眼とのそれぞれに対応する画像表示部を有しており、ユーザーの右眼と左眼とに別々の画像を視認させることができる。
【００１７】
図２に示すように、ＨＭＤ１００は、ユーザーの頭部装着型表示装置に装着される装着帯９０と、装着帯９０に接続されている画像表示部２０と、画像表示部２０を制御する制御部１０と、制御部１０と装着帯９０とを接続する接続部４０と、を備えている。図１に示すように、装着帯９０は、樹脂製の装着基部９１と、装着基部９１に連結される布製のベルト部９２と、カメラ６０と、ＩＭＵ７１と、を備える。装着基部９１は、人の前頭部の形に合った湾曲した形状を有する。ベルト部９２は、ユーザーの頭部の周りに装着されるためのベルトである。なお、接続部４０は、装着帯９０と制御部１０側とを有線で接続しているが、図２では、接続している部分については、図示を省略している。
【００１８】
カメラ６０は、外景を撮像可能で、装着基部９１の中心部分に配置されている。換言すると、カメラ６０は、装着帯９０がユーザーの頭部に装着された状態で、ユーザーの額の中央に対応する位置に配置されている。そのため、カメラ６０は、ユーザーが装着帯９０を頭部に装着した状態において、ユーザーの視線方向の外部の景色である外景を撮像し、撮像された画像である撮像画像を取得する。図２に示すように、カメラ６０は、装着基部９１に対して、円弧ＲＣに沿って所定の範囲で可動する。換言すると、カメラ６０は、撮像範囲を所定の範囲で変更できる。
【００１９】
ＩＭＵ７１（Inertial Measurement Unit）は、加速度を検出する慣性センサーである。また、本実施形態のＩＭＵ７１は、加速度に加えて、角速度と、地磁気とを検出できる。ＩＭＵ７１は、装着基部９１におけるカメラ６０の近くに内蔵されている。そのため、ＩＭＵ７１は、装着帯９０の加速度と角速度と地磁気とを検出する。
【００２０】
図２に示すように、画像表示部２０は、連結部９３を介して装着基部９１に接続され、眼鏡形状を有している。連結部９３は、装着基部９１および画像表示部２０の両側に対称的に配置され、連結部９３を中心として、装着基部９１に対する画像表示部２０の位置を円弧ＲＡに沿って回転可能に支持する。図２において二点鎖線で示す位置Ｐ１１は、画像表示部２０が円弧ＲＡに沿った最も下端である。また、図２において実線で示す位置Ｐ１２は、画像表示部２０が円弧ＲＡに沿った最も上端である。
【００２１】
図３に示すように、画像を表示可能な表示パネルを有する光学像表示部２６，２８は、保持部２１，２３に対して、直線ＴＡに沿って所定の範囲で平行移動して位置を変更する。図３において二点鎖線で示す位置Ｐ１３は、光学像表示部２６，２８が直線ＴＡに沿った最も下端である。図３において実線で示す位置Ｐ１１は、光学像表示部２６，２８が直線ＴＡに沿った最も上端である。なお、図２における位置Ｐ１１と、図３における位置Ｐ１１とは、同じ位置を示している。
【００２２】
図１に示すように、画像表示部２０は、右保持部２１と、右表示駆動部２２と、左保持部２３と、左表示駆動部２４と、右光学像表示部２６と、左光学像表示部２８と、を含んでいる。右光学像表示部は、ユーザーが画像表示部２０を装着した際にユーザーの右の眼前に位置するように配置されている。左光学像表示部２８は、ユーザーが画像表示部２０を装着した際にユーザーの左の眼前に位置するように配置されている。右光学像表示部２６の一端と左光学像表示部２８の一端とは、ユーザーが画像表示部２０を装着した際のユーザーの眉間に対応する位置で、互いに接続されている。
【００２３】
右保持部２１は、右光学像表示部２６の他端から装着基部９１と接続されている連結部９３に延伸して設けられた部材である。同様に、左保持部２３は、左光学像表示部２８の他端から連結部９３に延伸して設けられた部材である。右表示駆動部２２と左表示駆動部２４とは、ユーザーが画像表示部２０を装着した際のユーザーの頭部に対向する側に配置されている。
【００２４】
表示駆動部２２，２４は、図４で後述する液晶ディスプレイ２４１，２４２（Liquid Crystal Display、以下「ＬＣＤ２４１，２４２」とも呼ぶ）や投写光学系２５１，２５２等を含む。表示駆動部２２，２４の構成の詳細な説明は後述する。光学像表示部２６，２８は、後述する導光板２６１，２６２（図４参照）と調光板とを含んでいる。導光板２６１，２６２は、光透過性の樹脂材料等によって形成され、表示駆動部２２，２４から出力された画像光をユーザーの眼に導く。調光板は、薄板状の光学素子であり、ユーザーの眼の側とは反対の側である画像表示部２０の表側を覆うように配置されている。調光板の光透過率を調整することによって、ユーザーの眼に入る外光量を調整して虚像の視認のしやすさを調整できる。
【００２５】
制御部１０は、ＨＭＤ１００を制御するための装置である。制御部１０は、静電式のトラックパッドや押下可能な複数のボタンなどを含む操作部１３５を有する。
【００２６】
図４は、ＨＭＤ１００の構成を機能的に示すブロック図である。図４に示すように、制御部１０は、ＲＯＭ１２１と、ＲＡＭ１２２と、電源１３０と、操作部１３５と、マーカー画像記憶部１３８と、ＣＰＵ１４０と、インターフェース１８０と、送信部５１（Ｔｘ５１）および送信部５２（Ｔｘ５２）と、を有している。
【００２７】
電源１３０は、ＨＭＤ１００の各部に電力を供給する。ＲＯＭ１２１には、種々のプログラムが格納されている。後述するＣＰＵ１４０は、ＲＯＭ１２１に格納された各種プログラムを、ＲＡＭ１２２に展開することで、各種プログラムを実行する。
【００２８】
マーカー画像記憶部１３８は、キャリブレーションに用いられるモデルマーカー（マーカーモデルとも呼ぶ）のデータおよび／または右光学像表示部２６または左光学像表示部２８に表示されるキャリブレーション用画像としてのマーカー画像ＩＭＧを記憶している。マーカー画像記憶部１３８は、右光学像表示部２６に表示されるマーカー画像と左光学像表示部２８に表示されるマーカー画像とを同じマーカー画像ＩＭＧとして記憶している。マーカー画像ＩＭＧとしては、２次元のモデルマーカーの画像であったり、３次元モデル空間（３Ｄコンピューターグラフィックス空間）で表現された上記モデルマーカー（２Ｄ）のデータ、またはそのモデルマーカーを、右光学像表示部２６及び左光学像表示部２８の写像パラメーターに基づいて写像したものなどが用いられる。換言すると、マーカー画像ＩＭＧは、実物として存在する２次元または３次元の実物マーカーＭＫ１の形状を、２次元として表した画像である。
【００２９】
図５〜図８は、紙面ＰＰに印刷された２次元の実物マーカーを示す。図５には、本実施形態のキャリブレーションに用いられる２つのマーカーとしての実物マーカーＭＫ１，ＭＫ２が示されている。図５に示すように、実物マーカーＭＫ１は、４つの頂点Ｐ０，Ｐ１，Ｐ２，Ｐ３を直線で結んだ正方形の中に、１０個の正円を含むマーカーである。１０個の円の内の５個の円は、頂点Ｐ０と頂点Ｐ２とを結んだ対角線ＣＬ１上に円の中心が存在する。当該５個の円は、対角線ＣＬ１に沿って、頂点Ｐ０に近い円から、円Ｃ１，Ｃ２，Ｃ３，Ｃ４，Ｃ５である。同じように、１０個の円の内の５個の円は、頂点Ｐ１と頂点Ｐ３とを結んだ対角線ＣＬ２上に円の中心が存在する。当該５個の円は、対角線ＣＬ２に沿って、頂点Ｐ１に近い円から、円Ｃ６，Ｃ７，Ｃ３，Ｃ８，Ｃ９である。円Ｃ３は、対角線ＣＬ１と対角線ＣＬ２との交点であると共に、正方形の重心である点を中心とする円である。１０個の円の内の１個の円である円Ｃ１０は、正方形の重心を通り、かつ、Ｐ１とＰ２とを結ぶ直線に平行なＹ軸上に中心を有する。円Ｃ１０は、正方形の重心を通り、Ｙ軸に直交するＸ軸に沿って、円Ｃ５および円Ｃ９と同じ位置に中心を有する。換言すると、円Ｃ１０は、円Ｃ５の中心と円Ｃ９の中心との中間に中心を有する円である。
【００３０】
本実施形態では、対角線ＣＬ１上に中心を有する５個の円における隣接する円の中心間の距離は、同じ距離になるように設定されている。同じように、対角線ＣＬ２上に中心を有する５個の円における隣接する円の中心間の距離は、同じ距離になるように設定されている。また、対角線ＣＬ１に中心を有する隣接する円の中心間の距離と、対角線ＣＬ２に中心を有する隣接する円の中心間の距離とは、同じ距離である。なお、１０個の内の円Ｃ１０のみ、他の円との中心間との距離が異なる。１０個の円の大きさは、同じ大きさである。なお、対角線ＣＬ１、対角線ＣＬ２、Ｘ軸、およびＹ軸は、実物マーカーＭＫ１を説明するために、便宜上、図５に示しているのであり、実際の実物マーカーＭＫ１には含まれない直線である。
【００３１】
図５では、色の違いを、ハッチングを変えることで表している。具体的には、図５におけるハッチングが施された部分は、黒色であり、その他の部分は、白色である。そのため、図５に示すように、実物マーカーＭＫ１は、白色の紙面ＰＰに、白色によって周囲が囲まれた黒色の正方形によって形成され、その正方形の中に１０個の円が白色で形成されている。
【００３２】
図５に示す実物マーカーＭＫ２は、実物マーカーＭＫ１を元に作成されたマーカーである。実物マーカーＭＫ２は、実物マーカーＭＫ１の大きさを縮小させ、かつ、黒色と白色との反転させたマーカーである。そのため、図５に示すように、実物マーカーＭＫ２は、黒色によって周囲が囲まれた白色の正方形によって形成され、その正方形の中に１０個の円が黒色で形成されている。本実施形態では、マーカー画像記憶部１３８は、実物マーカーＭＫ１の２次元の画像であるマーカー画像ＩＭＧを記憶している。なお、実物マーカーＭＫ２は、図６に示すように、実物マーカーＭＫ１から分離されていてもよい。また、図７に示すように、実物マーカーＭＫ２（ＭＫ１）に代えて、対角線上にない円を省略された実物マーカーＭＫ１Ａが採用されてもよい。なお、図８に示すように、実物マーカーＭＫ１，ＭＫ２，ＭＫ１Ａの裏面には、形状、模様、または色彩の特徴は必要ない。
【００３３】
図４に示すＣＰＵ１４０は、ＲＯＭ１２１に格納されているプログラムを、ＲＡＭ１２２に展開することにより、オペレーティングシステム１５０（ＯＳ１５０）、表示制御部１９０、音声処理部１７０、画像処理部１６０、表示設定部１６５、マーカー特定部１６６、およびパラメーター設定部１６７として機能する。
【００３４】
表示制御部１９０は、右表示駆動部２２および左表示駆動部２４を制御する制御信号を生成する。表示制御部１９０は、右表示駆動部２２および左表示駆動部２４のそれぞれによる画像光の生成および射出を制御する。表示制御部１９０は、右ＬＣＤ制御部２１１と左ＬＣＤ制御部２１２とに対する制御信号のそれぞれを、送信部５１および５２を介して送信する。また、表示制御部１９０は、右バックライト制御部２０１と左バックライト制御部２０２とに対する制御信号のそれぞれを送信する。
【００３５】
画像処理部１６０は、コンテンツに含まれる画像信号を取得し、送信部５１，５２を介して、取得した画像信号を画像表示部２０の受信部５３，５４へと送信する。音声処理部１７０は、コンテンツに含まれる音声信号を取得し、取得した音声信号を増幅して、連結部材４６に接続された右イヤホン３２内のスピーカー（図示しない）および左イヤホン３４内のスピーカー（図示しない）に対して供給する。
【００３６】
表示設定部１６５は、マーカー画像記憶部１３８に記憶されたマーカー画像ＩＭＧを右光学像表示部２６または左光学像表示部２８に表示させる。表示設定部１６５は、キャリブレーションが実行されているとき（キャリブレーション実行時）に、操作部１３５が受け付けた操作に基づいて、マーカー画像ＩＭＧを右光学像表示部２６に表示する場合と、マーカー画像ＩＭＧを左光学像表示部２８に表示する場合とを制御する。表示設定部１６５は、カメラ６０が実物マーカーＭＫ１を撮像してキャリブレーションを実行するときと、カメラ６０が実物マーカーＭＫ２を撮像してキャリブレーションを実行するときとで異なる大きさのマーカー画像ＩＭＧを右光学像表示部２６または左光学像表示部２８に表示させる。また、表示設定部１６５は、キャリブレーション実行時に、後述する文字画像等を光学像表示部２６，２８に表示させる。
【００３７】
マーカー特定部１６６は、カメラ６０によって撮像された撮像画像の中に実物マーカーＭＫ１，ＭＫ２が印刷された紙面ＰＰが含まれる場合に、撮像された紙面ＰＰから、実物マーカーＭＫ１，ＭＫ２を特定する。実物マーカーＭＫ１，ＭＫ２を特定するための具体的な処理については、後述するが、マーカー特定部１６６は、実物マーカーＭＫ１，ＭＫ２の４つの頂点、１０個の円の中心の座標値を抽出することで、撮像画像の中から実物マーカーＭＫ１，ＭＫ２を特定する。マーカー特定部１６６は、例えば、撮像画像の色の階調値を２値化することで、実物マーカーＭＫ１，ＭＫ２における白色と黒色との部分を区別して、円の中心の座標を抽出する。
【００３８】
パラメーター設定部１６７は、カメラ６０によって撮像された特定のオブジェクト（以下、「特定オブジェクト」ともいう）に対応付けられた状態で光学像表示部２６，２８に表示されるＡＲ（Augmented Reality）画像の表示領域内での位置などを設定するために必要なパラメーター群を設定する。具体的には、パラメーター設定部１６７は、光学像表示部２６，２８に表示されるＡＲ画像の位置と大きさと向きと奥行感との少なくとも１つと、特定オブジェクトの位置と大きさと向きと奥行感との１つと、が対応した状態のＡＲ画像をユーザーに視認させるパラメーター群を設定する。換言すると、パラメーター設定部１６７は、カメラ６０に原点が固定された３次元座標系（３Ｄ）と、光学像表示部２６，２８の表示領域（２Ｄ）とを対応付けるためのパラメーター群の少なくとも１つを、キャリブレーションによって算出する。なお、以降では、カメラ６０に原点が固定された３次元座標系をカメラ座標系と呼ぶ。本実施形態では、カメラ座標系以外の座標系として、実物マーカーＭＫ１または実物マーカーＭＫ２の原点を基準とする実物マーカー座標系、特定オブジェクトを基準とするオブジェクト座標系、右光学像表示部２６の原点または左光学像表示部２８の原点を基準とする表示部座標系などを定義する。
【００３９】
ここで、パラメーター群は、「検出系パラメーターセット」と、「表示系パラメーターセット」と、を含む。「検出系パラメーターセット」は、カメラ６０に関するカメラパラメーターを含む。「表示系パラメーターセット」は、カメラ６０と光学像表示部２６，２８との間の空間関係を表す３Ｄから３Ｄへの「変換パラメーター」と、任意の３Ｄモデル（３次元座標で表されたＣＧモデル）を画像（つまり２Ｄ）として表示するための３Ｄから２Ｄへの「写像パラメーター」と、を含む。これらのパラメーターは、必要に応じて行列またはベクトルの態様で表される。「１つのパラメーター」との表記は、１つの行列または１つのベクトルを示すこともあるし、１つの行列またはベクトルに含まれる複数の要素の１つを示すこともある。パラメーター設定部１６７は、パラメーター群のうち、必要なパラメーターを導出し、ＡＲ画像の表示の際に用いる。この結果、ＨＭＤ１００は、ユーザーに、画像表示部２０を介して、ＡＲ画像（ＡＲモデル）の位置、大きさ、向き、奥行感の少なくとも１つと、特定オブジェクトのそれらと、がほぼ一致する状態で当該ＡＲ画像を視認させることができる。もちろん、これらに加えて、ＨＭＤ１００は、色やテクスチャーなどの見え方が互いに一致するようにしてもよい。
【００４０】
表示設定部１６５は、キャリブレーションが実行されているときに、ＡＲ画像または設定画像ＳＩＭ（後述）を右光学像表示部２６または左光学像表示部２８に表示させる。設定画像ＳＩＭを用いた詳細な処理については後述する。
【００４１】
インターフェース１８０は、制御部１０に対して、コンテンツの供給元となる種々の外部機器ＯＡを接続するためのインターフェースである。外部機器ＯＡとしては、例えば、ＡＲシナリオを記憶している記憶装置、パーソナルコンピューター（ＰＣ）や携帯電話端末、ゲーム端末等、がある。インターフェース１８０としては、例えば、ＵＳＢインターフェース、マイクロＵＳＢインターフェース、メモリーカード用インターフェース等を用いることができる。
【００４２】
図４に示すように、画像表示部２０は、右表示駆動部２２と、左表示駆動部２４と、右光学像表示部２６としての右導光板２６１と、左光学像表示部２８としての左導光板２６２と、を備えている。
【００４３】
右表示駆動部２２は、受信部５３（Ｒｘ５３）と、光源として機能する右バックライト制御部２０１（右ＢＬ制御部２０１）および右バックライト２２１（右ＢＬ２２１）と、表示素子として機能する右ＬＣＤ制御部２１１および右ＬＣＤ２４１と、右投写光学系２５１と、を含んでいる。右バックライト制御部２０１と右バックライト２２１とは、光源として機能する。右ＬＣＤ制御部２１１と右ＬＣＤ２４１とは、表示素子として機能する。
【００４４】
受信部５３は、制御部１０と画像表示部２０との間におけるシリアル伝送のためのレシーバーとして機能する。右バックライト制御部２０１は、入力された制御信号に基づいて、右バックライト２２１を駆動する。右バックライト２２１は、例えば、ＬＥＤやエレクトロルミネセンス（ＥＬ）等の発光体である。右ＬＣＤ制御部２１１は、画像処理部１６０および表示制御部１９０から送信された制御信号に基づいて、右ＬＣＤ２４１を駆動する。右ＬＣＤ２４１は、複数の画素をマトリックス状に配置した透過型液晶パネルである。
【００４５】
右投写光学系２５１は、右ＬＣＤ２４１から射出された画像光を平行状態の光束にするコリメートレンズによって構成される。右光学像表示部２６としての右導光板２６１は、右投写光学系２５１から出力された画像光を、所定の光路に沿って反射させつつユーザーの右眼ＲＥに導く。なお、左表示駆動部２４は、右表示駆動部２２と同様の構成を有し、ユーザーの左眼ＬＥに対応するため、説明を省略する。
【００４６】
図９は、ＩＭＵ７１における融合部３００を示す。融合部３００は、ＩＭＵ７１の外部にあってもよい。融合部３００は、拡張カルマンフィルター（ＥＫＦ）に基づいて、内部の各センサーの計測（値または信号）を融合する。本実施形態では、ＩＭＵ配向は、４元数により表記される。４元数による表記は、回転行列へ変換可能である。拡張カルマンフィルターは、以下のように表される状態ベクトルに適用される。
X=[qs2w，bgyro]・・・（a）
【００４７】
制御入力ベクトルは、ジャイロセンサーの入力によって決定される。
u=[ws]・・・（b）
インターバルΔｔの間のＫ−１からＫへ状態遷移モデルは、次式のように表される。
xk=f(xk-1，uk-1，wk-1)・・・（c）
wk-1は、ノイズベクトルである。
【００４８】
図９に示すように、融合部３００は、測定部３１０と、予測部３２０と、更新部３３０と、重力キャンセル部３４０と、回転変換部３５０と、遅延器３６０とを含む。
【００４９】
測定部３１０は、加速度センサーから出力された加速度と、磁気センサーから出力された地磁気の計測ask,mskとの入力を受けることによって機能する。測定部３１０は、ローパスフィルター３１１，３１２を含む。ローパスフィルター３１１は、計測された加速度askにおけるノイズを低減する。ローパスフィルター３１２は、計測された地磁気mskにおけるノイズを低減する。
【００５０】
予測部３２０は、所定時間に亘って、ＩＭＵ７１によって検出された角速度ωsk-1を積分することによって、角度変化の量（または姿勢）を推定し、予測された角度変化（または姿勢）を、更新部３３０へ出力する。更新部３３０は、予測された角度変化（または姿勢）を用いて、計測されたものzk（加速度および地磁気）を、フィルターすなわち融合する。そうすると、融合されたＩＭＵ配向qs2wkが更新されて出力され、そして、融合されたＩＭＵ配向qs2wkが、次のサイクルのために、遅延器３６０を介して、予測部３２０へフィードバックされる。融合されたＩＭＵ配向qs2wkが計算されると、重力キャンセル部３４０による重力のキャンセルよって、ＩＭＵ７１の動的または線形な加速度awkが計算される。
【００５１】
回転変換部３５０は、ＩＭＵ配向qs2wkを受け取り、回転行列Rs2wkに変換し出力する。加速度センサーからの計測された加速度askは、重力キャンセル部３４０に入力される。重力キャンセル部３４０は、回転行列Rs2wkで表されたＩＭＵ配向を用いて地球の重力加速度を打ち消し、重力加速度の成分を含まないＩＭＵ７１の線形加速度awkを計算して出力する。
【００５２】
上述した拡張カルマンフィルターに基づく検出値の融合のための調整は、ＨＭＤ１００を製造する工場で実施される。カメラ６０及びＩＭＵ７１のキャリブレーションも、ＨＭＤ１００を製造する工場で実施される。
【００５３】
図１０は、キャリブレーション処理を示すフローチャートである。この処理は、共同キャリブレーションを目的としている。共同キャリブレーションとは、変換行列Tcam2imuと変換行列Tcam2displayとをまとめて求めることである。変換行列Tcam2imuとは、カメラ６０に固定された座標系からＩＭＵ７１に固定された座標系への変換行列（つまり座標変換行列）である。変換行列Tcam2imuは、カメラ６０とＩＭＵ７１との間の空間関係を示す。添え字のcam2imuは、camera to imuを意味する。変換行列Tcam2imuを決定することを、ＩＭＵ−カメラキャリブレーションとも呼ぶ。変換行列Tcam2imuは、第１の空間関係を表す。
【００５４】
変換行列Tcam2displayは、カメラ６０に固定された座標系から光学像表示部２６，２８に固定された座標系への変換行列である。変換行列Tcam2displayは、カメラ６０と光学像表示部２６，２８との間の空間関係を示す。変換行列Tcam2displayを決定することを、ＯＳＴＣキャリブレーションとも呼ぶ。変換行列Tcam2displayは、第２の空間関係を表す。
【００５５】
ＣＰＵ１４０は、ユーザーからの指示を契機として、ＲＯＭ１２１に格納されたプログラムを実行することで、キャリブレーション処理を実現する。キャリブレーション処理は、オフラインキャリブレーション（Ｓ６００）と、回転データ収集処理（Ｓ７００）と、アライメントデータ収集処理（Ｓ８００）と、算出処理（Ｓ９００）と、改善処理（Ｓ１０００）とから構成される。Ｓ７００，Ｓ８００、Ｓ９００及びＳ１０００は、オンラインキャリブレーションのための処理である。
【００５６】
図１１は、オフラインキャリブレーションにおいて、モデル化された空間関係を示す。光学像表示部２６，２８に直交する方向をＺ方向と定義し、外部からユーザーへの眼への向きをＺ方向プラス向きと定義する。保持部２１，２３は、Ｚ軸上に配置される。Ｘ方向は、保持部２１，２３と装着基部９１との回転軸と平行な方向である。Ｘ方向プラス向きは、保持部２１，２３と装着基部９１との間の回転角（以下、角度α）が大きくなる向きに回転すると右ねじが進む向きである。Ｙ方向は、Ｘ方向およびＺ方向から定まる。
【００５７】
カメラ６０は、回転できる。カメラ６０の回転軸は、Ｘ軸と平行である。この回転によって、カメラ６０が最も上を向いた位置を、位置０と呼ぶ。カメラ６０が上を向くとは、右ねじがＸ方向プラス向きに進むように回転する向きに、カメラ６０を回転させることで実現される移動のことである。一方、カメラ６０が最も下を向いた位置を、位置１と呼ぶ。カメラ６０が下を向くことは、カメラ６０が上を向くことの逆のことである。位置０を基準とした回転角を、角度θと呼ぶ。このため、位置０における角度θは、０度である。本実施形態においては、位置１における角度θは、２８度である。
【００５８】
Ｓ６００は、オフラインキャリブレーションなので、工場において出荷前に実施される。Ｓ６００は、空間関係と制約条件とを探索するために実施される。以下の３つの内容は、固定されているか、CADモデル、製造仕様から既知である。
ＩＭＵ７１とカメラ６０との並進位置の関係
装着基部９１上のＩＭＵ７１の位置
ＨＭＤ１００上の右光学像表示部２６と左光学像表示部２８との位置
【００５９】
先述したように、ＨＭＤ１００は、以下の可動を実現する。
装着基部９１及びＩＭＵ７１に対して、カメラ６０は回転可能である。
保持部２１，２３に対して、装着基部９１は傾斜可能である。
保持部２１，２３に対して、光学像表示部２６，２８は、上下（Ｙ方向）に動き得る。
【００６０】
次のように空間関係をモデル化する。
カメラ６０とＩＭＵ７１との間は、角度θの関数である。
保持部２１，２３と装着基部９１との間、または保持部２１，２３とＩＭＵ７１との間は、角度αの関数である。
保持部２１，２３と、光学像表示部２６，２８の２つの両端位置との間は、光学像表示部２６，２８のＹ座標値の関数である。
【００６１】
図１２は、オフラインキャリブレーション（Ｓ６００）を示すフローチャートである。まず、ＩＭＵ７１に対するカメラ６０の回転についてのキャリブレーション（ＩＭＵ−カメラキャリブレーション）を実行する（Ｓ６１０）。カメラ６０とＩＭＵ７１との間の回転位置（角度θ）は、変わり得る。なぜなら、先述したように、ＩＭＵ７１は装着基部９１に固定されている一方で、カメラ６０は２８度まで一軸の回りで動くことができるからである。
【００６２】
ＩＭＵ−カメラキャリブレーションツールボックス、例えば、InerVis Toolboxを用いて、ＩＭＵ７１に対するカメラの空間関係を調整（キャリブレート）し、カメラ６０の回転位置を離散的に求める。
【００６３】
カメラ６０の角度範囲の学習として、カメラが２つの両端（位置０及び位置１）にあるときにＩＭＵ−カメラキャリブレーションを実行する。
【００６４】
位置０にあるときのＩＭＵ７１−カメラ６０の間の回転を４元数表現でq0であるとし、位置１にあるときのＩＭＵ７１−カメラ６０の間の回転を４元数表現でq1であるとすると、これら２つの位置の間の回転変化は、次式で表される。
q=q0-1q1・・・（d）及び
q=qw+qxi+qyj+qzk・・・（e）
【００６５】
カメラ６０に対するＩＭＵ７１の回転の範囲は、θ=2acos(qw)である。回転の中心軸を単位ベクトルで表すと、次式になる。
[ux,uy,uz]=[qx,qy,qz]/√(qx2+qy2+qz2)・・・（f）
そうすると、カメラ６０に対するＩＭＵ７１の配向の位置０と位置１との間の任意のカメラの角度は、以下の補間式によって得られる。
qcam2imu(tθ)=q0-1q(tθ),t∈[0,1]・・・（g）
q(tθ)=cos(tθ/2)+{sin(tθ/2)}(uxi+uyj+uzk)・・・（h）
【００６６】
Ｓ６２０〜Ｓ６７０は、変換行列Timu2d0(α)を推定するためのステップである。変換行列Timu2d0(α)は、ＩＭＵ７１の座標系から、デフォルト位置d0における光学像表示部２６，２８の座標系への変換行列である。変換行列Timu2d0(α)は、角度αで決定される。先述したように角度αは、[αmin,αmax]の範囲内で可変である。
【００６７】
図１３は、Ｓ６２０〜Ｓ６７０を実行するための装置構成を示す。図１３は、図１１を基礎にした図である。図１１の内容に追加されたのは、実物マーカーＭＫ１とカメラ９００とである。図１３に示された構成においては、保持部２１，２３は三脚に固定されており、光学像表示部２６，２８はデフォルト位置d0に配置されている。なお、三脚が鉛直に立っているとは限らない。三脚が鉛直に立っていなければ、保持部２１，２３は水平にはならない。
【００６８】
Ｓ６２０では、実物マーカーＭＫ１をアライメントする。ユーザーは、光学像表示部２６，２８の背後に設置されたカメラ９００によって観察できる画像を見て、光学像表示部２６，２８に表示されたマーカー画像と、実物マーカーＭＫ１とが重畳して見えるように、実物マーカーＭＫ１の配置を決定する。この配置は、光学像表示部２６，２８と実物マーカーＭＫ１とが平行であることを条件とする。アライメントが成立した後でも、マーカー画像の表示を続ける。
【００６９】
次に、装着基部９１の位置（角度α）を変化させる（Ｓ６３０）。本実施形態においては、ユーザーが、αmaxからαminへ向けて動かす。Ｓ６３０の間、ＣＰＵ１４０が、ＩＭＵ配向を順次、取得する（Ｓ６４０）。つまり、Ｓ６４０では、装着基部９１の離散的な各位置（角度α）で、ＩＭＵ配向が獲得され、ローカル世界座標系におけるＩＭＵ７１の配向が計算される。
【００７０】
ここで、全体の計測は、Ｓ６３０における角度αの変化のさせ方から、装着基部９１が光学像表示部２６，２８から最も遠い位置にある時刻tminから始まり、最も近い位置にある時刻tmaxで終わる。ＩＭＵ７１の配向は、次の集合として取得される。
Rimu2world(tmin)・・・Rimu2world(ti)・・・Rimu2world(tmax)・・・（i）
【００７１】
そして、Ｓ６３０の間、ＣＰＵ１４０が、カメラ６０によって、実物マーカーＭＫ１を撮像する（Ｓ６５０）。Ｓ６５０の間、カメラは、位置０若しくは位置１又はその両方の位置にある。つまり、Ｓ６３０の間、カメラ６０を位置０及び位置１の何れかに固定し、連続的に撮像を実行する。位置０及び位置１の両方の位置で撮像を実行するためには、Ｓ６３０を２回、実行する。
【００７２】
次に、ＣＰＵ１４０が、各サンプリング位置における角度αを計算する（Ｓ６６０）。角度αは、Rimu2world(ti)及びRimu2world(tmin)の角度差として計算される。ここで、次に列挙する各式が成立し、角度αが求まる。
αmin=0・・・（j）
…
αi=acos([trace{Rimu2world(tmin)-1*Rimu2world(ti)}-1]/2)・・・（k）
…
αmax=acos([trace{Rimu2world(tmin)-1*Rimu2world(tmax)}-1]/2)・・・（l）
【００７３】
次に、ＣＰＵ１４０が、変換行列Timu2d0(α)を計算する（Ｓ６７０）。変換行列Timu2d0(α)は、次式によって計算できる。
Timu2d0(αi)=Tmaker2displayTcam2marker(αi)Timu2cam・・・（m）
Tmaker2displayは、Ｓ６２０において表示されるマーカー画像の姿勢として、予め定めされた姿勢を表す行列である。Tcam2markerは、撮像画像の処理から推定される実物マーカーＭＫ１の姿勢を表す行列である。Timu2camは、位置０又は位置１におけるＩＭＵ−カメラキャリブレーションのパラメーターを表す行列である。位置０及び位置１は、Ｓ６１０において決定されている。
【００７４】
次に、ＣＰＵ１４０が、モデルフィッティングを行う（Ｓ６８０）。このモデルフィッティングでは、αとTimu2d0との関係をモデル化する。つまり、αの関数としてのTimu2d0を決定する。Ｓ６８０では、各サンプリング点（離散的に取得された各角度α）についてのＩＭＵ７１の配向α（Ｓ６６０）と変換行列Timu2d0の計算結果（Ｓ６７０）とを用いる。このように、Ｓ６８０では実測値を用いるため、モデルフィッティングは、完全ではなく、おおよそのものとなる。
【００７５】
Ｓ６８０では、例えば、以下に列挙する関係を用いる。
Timu2d0(αi)=[q(αi),t(αi)]・・・（n）
なお、前式に含まれるq(αi)は回転の成分であり、t(αi)は並進の成分である。
角度αの回転軸[Ux,Uy,Uz]・・・（o）
前式の[Ux,Uy,Uz]はベクトルである。
qimu2display(αi)=q0q(αi)・・・（p）
前式の場合、光学像表示部２６，２８が地表に対して垂直でなくてもよい。つまり、Ｙ方向が鉛直方向に一致していなくてもよい。さらに言い換えると、Ｚ方向が水平でなくてもよい。
tx(αi)=tx(0)・・・（q）
ty(αi)=ty(0)+Lsin(α)・・・（r）
前式の場合、光学像表示部２６，２８が地表に対して垂直であることを仮定している。前式に含まれるLは、図１３に示されるように、ＩＭＵ７１から回転中心までの距離である。ここでいう回転中心とは、保持部２１，２３と装着基部９１との回転の中心である。
tz(αi)=tz(0)+L{1-cos(α)}・・・（s）
前式の場合、光学像表示部２６，２８が地表に対して垂直でなくてもよい。
α=kαi+b・・・（t）
前式に含まれるk及びbは、モデルフィッティングにより解かれる。
【００７６】
変換行列Timu2d0と角度αとの間の関係は、ルックアップテーブル（LUT）によっても表記され得る。角度αに対応する変換行列Timu2d0は、LUTにおけるサンプリング値の線形補間により計算され得る。
【００７７】
次に、ＣＰＵ１４０が、光学像表示部２６，２８の変位を求める（Ｓ６９０）。光学像表示部２６，２８は、保持部２１，２３に対する移動として、Ｙ軸に沿った上下動しかしない。デフォルト位置d0に対する光学像表示部２６，２８の変位を変位dと表記すると、変位dは、以下によって直接にモデル化され得る。
【００７８】
【数１】
2018009836.tif 000003
【００７９】
オフラインキャリブレーションが終わると、図１０に示すように、回転データ収集処理が実行される（Ｓ７００）。
【００８０】
図１４は、回転データ収集処理を示すフローチャートである。回転データ収集処理は、ＣＰＵ１４０によって実行される。初めに、マーカー特定部１６６が撮像を開始する（ＳＣ２１１）。マーカー特定部１６６は、カメラ６０が撮像した各撮像フレームに対して、２値化を実行して、実物マーカーＭＫ２を抽出する。マーカー特定部１６６は、撮像範囲の中に、実物マーカーＭＫ２があるか否かを判定する（ＳＣ２１２）。マーカー特定部１６６は、撮像範囲の中に実物マーカーＭＫ２がないと判定した場合には（ＳＣ２１２，ＮＯ）、引き続き、撮像範囲の中から実物マーカーＭＫ２の抽出を試行する。
【００８１】
マーカー特定部１６６は、撮像範囲の中に、実物マーカーＭＫ２があると判定した場合には（ＳＣ２１２，ＹＥＳ）、カメラ６０に対する実物マーカーＭＫ２の位置と姿勢を導出し、それらの追跡を開始する（ＳＣ２１２Ａ）。
【００８２】
ＳＣ２１２Ａの後で、パラメーター設定部１６７は、カメラ６０の撮像範囲に実物マーカーＭＫ２が存在している状態であり、かつ、ユーザーの頭部が所定期間、例えば２秒、に亘って安定的な状態か否かを判定する（ＳＣ２１５Ｂ）。頭部が安定的な状態であるとは、頭部の移動が停止していることを意味する。パラメーター設定部１６７がカメラ６０の撮像範囲に実物マーカーが存在する状態であり、かつ、ユーザーの頭部が２秒間に亘って安定的な状態であると判定した場合には（ＳＣ２１５Ｂ，ＹＥＳ）、処理はＳＣ２１７へ移行する。ＳＣ２１５Ｂの判定が「否」である場合には、この判定が満足されるまで、パラメーター設定部１６７は、撮像画像とユーザーの頭部の動きとを継続的に監視する。
【００８３】
パラメーター設定部１６７は、カメラ６０による実物マーカーＭＫ２の撮像画像及びＩＭＵ配向を、キャリブレーションデータとして取得する（ＳＣ２１７）。取得される撮像画像は１フレームであってもよいし、連続する複数フレームであってもよい。複数フレームが取得される場合には、パラメーター設定部１６７は、当該複数フレームに基づいたフィルタ処理を行うことにより、上述の円１〜９の中心座標の導出において、頭部の微小な動きの影響を低減することができる。
【００８４】
頭部が安定な状態にあるか否か、または実質的に静止しているか否かは、パラメーター設定部１６７が、カメラ６０の撮像画像における実物マーカーＭＫ２の特徴点の位置、ＩＭＵ７１の出力、およびこれらの組み合わせから判定できる。
【００８５】
次に、キャリブレーションデータを既に２回、取得したかを判定する（ＳＣ２１８）。１回しか取得していない場合（ＳＣ２１８，ＮＯ）、ユーザーに頷く動作を催促する（ＳＣ２１９）。この催促は、具体的には、音声や画像表示によって実行される。
【００８６】
そして、頷きが開始されたかを判定する（ＳＣ２１９Ａ）。この判定は、頭部が安定な状態にあるかの判定と同様、パラメーター設定部１６７が、カメラ６０の撮像画像における実物マーカーＭＫ２の特徴点の位置、ＩＭＵ７１の出力、およびこれらの組み合わせに基づき実行される。
【００８７】
頷きが開始されていない場合（ＳＣ２１９Ａ，ＮＯ）、ＳＣ２１９を繰り返し実行する。頷きが開始された場合（ＳＣ２１９Ａ，ＹＥＳ）、ＳＣ２１２Ａに戻り、ＳＣ２１２Ａ〜ＳＣ２１８を再び実行する。
【００８８】
２回目にＳＣ２１８の判定を実行する場合には、キャリブレーションデータを既に２回、取得したと判定することになり（ＳＣ２１８，ＹＥＳ）、回転データ収集処理を終える。
【００８９】
図１５は、回転データ収集処理のタイミングチャートである。図１５は、図１４と共に説明したように、頷き動作の前後それぞれにおいて、動作の停止中にデータが収集されていることを示している。１回目のＳＣ２１７の時点においては、実物マーカーＭＫ２に対するカメラ６０の相対位置が第１の位置である。２回目のＳＣ２１７の時点においては、上記相対位置が第２の位置である。回転データ収集処理において用いられる実物マーカーＭＫ２は、第１の実物マーカーである。
【００９０】
回転データ収集処理を終えると、図１０に示すように、アライメントデータ収集処理を実行する（Ｓ８００）。
【００９１】
図１６は、アライメントデータ収集処理を示すフローチャートである。アライメントデータ収集処理では、パラメーター設定部１６７が、右光学像表示部２６に関するアライメントを成立させた状態でキャリブレーションデータを収集し、左光学像表示部２８に関するアライメントを成立させた状態でキャリブレーションデータを収集する。
【００９２】
アライメントデータ収集処理では、初めに、表示設定部１６５が右光学像表示部２６にマーカー画像ＩＭＧを表示させる（ＳＣ２０１）。図１７は、マーカー画像ＩＭＧが表示された場合の右光学像表示部２６のイメージ図である。図１７に示すように、表示設定部１６５は、マーカーの正方形の外枠と、正方形の中に含まれる１０個の円の外枠と、を右光学像表示部２６に表示させる。表示設定部１６５は、マーカー画像ＩＭＧを、赤色の線として右光学像表示部２６に表示させる。なお、図１７では、画像表示部２０の内の右光学像表示部２６以外の部分の図示を省略する。
【００９３】
右光学像表示部２６にマーカー画像ＩＭＧが表示されると、パラメーター設定部１６７は、マーカー画像ＩＭＧと実物マーカーＭＫ２とが一致して視認されるように、ＨＭＤ１００を装着したままユーザーに位置と姿勢を合わせることを促す（ＳＣ２１０）。
【００９４】
右光学像表示部２６にはさらにメッセージが表示されてもよい。ＨＭＤ１００は、ユーザーがマーカー画像ＩＭＧと実物マーカーＭＫ２とが一致するように視認した場合に、ユーザーは、タッチパッドの操作、ボタンの押下、または音声コマンドの発声をするように指示する。パラメーター設定部１６７がこれら操作または音声コマンドを受け付けた場合に、カメラ６０が実物マーカーＭＫ２を撮像、すなわちキャリブレーションデータの収集をする（ＳＣ２０２）。音声コマンドに基づいて、パラメーター設定部１６７がキャリブレーションデータを収集する場合には、ユーザーの頭部の動きが少ないことが期待される。そのため、音声コマンドに基づく操作では、タッチ操作やボタンの押下の場合に比べて、ユーザーが成立させたアライメントからのずれが少ない状態でのキャリブレーションデータの収集が可能となり、結果として、ＡＲ画像の重畳精度のよいＨＭＤ１００が得られる。
【００９５】
ＳＣ２１０のマーカー画像ＩＭＧと実物マーカーＭＫ２との位置と姿勢を合わせる処理（目視によるアライメント処理）およびキャリブレーションデータの収集が実行されると、表示設定部１６５は、ＳＣ２０１の処理と同じく図１７に示すように、右光学像表示部２６にマーカー画像ＩＭＧを表示させる（ＳＣ２０３）。その後、パラメーター設定部１６７は、マーカー画像ＩＭＧと実物マーカーＭＫ１とが一致して視認されるように、ＨＭＤ１００を装着したままユーザーに位置と姿勢を合わせることを促す（ＳＣ２２０）。この状態で実物マーカーＭＫ１が撮像されることで、パラメーター設定部１６７は、キャリブレーションデータを収集する（ＳＣ２０４）。ここで、実物マーカーＭＫ１は、実物マーカーＭＫ２よりも大きい。そのため、ＳＣ２２０の処理では、ユーザーがマーカー画像ＩＭＧと実物マーカーＭＫ１とが一致するように視認する場合には、右光学像表示部２６と実物マーカーＭＫ１との距離は、実物マーカーＭＫ２の場合と比べて大きくなる。
【００９６】
パラメーター設定部１６７は、左光学像表示部２８に関して、右光学像表示部２６におけるＳＣ２０１からＳＣ２０４までの処理と同じ処理として、図１６のＳＣ２０５からＳＣ２０８までの処理を実行し、アライメントデータ収集処理を終える。
【００９７】
図１８は、アライメントデータ収集処理のタイミングチャートである。図１８は、図１６と共に説明したように、アライメントが成立した場合に、キャリブレーションデータ（撮像データ）が収集されていることを示している。アライメントデータ収集処理において用いられる実物マーカーＭＫ１，ＭＫ２のそれぞれは、第２の実物マーカーである。
【００９８】
次に、図１０に示すように、算出処理を実行する（Ｓ９００）。図１９は、算出処理を示すフローチャートである。まず、初期推定値[α0  θ0  d0]Tと、収集データとを基に、エラー値とヤコビ行列を計算する（Ｓ９１０）。収集データとは、回転データ収集処理によって収集されたデータと、アライメントデータ収集処理によって収集されたデータとのことである。以下、Ｓ９１０について説明を補足する。
【００９９】
ＩＭＵ-カメラキャリブレーションは、変換行列Tcam2imuの決定によって実現される。ＯＳＴＣキャリブレーションは、変換行列Tcam2displayの決定によって実現される。Tcam2displayは、回転と並進とを含むカメラ６０と光学像表示部２６，２８との間のパラメーターである。これら２つの変換行列を、角度θ、角度α及び変位dを用いて結合させると、共同キャリブレーションを実現するための次式が得られる。
Tcam2display=Td02d(d)T(imu2d0)(α)Tcam2imu(θ)・・・（u）
【０１００】
角度θ、角度α及び変位dを、オフラインルックアップテーブルまたは次の関数によって決定する。
Tcam2imu=Tcam2imu(θ)・・・（v）
Timu2d0=Timu2d0(α)・・・（w）
Td02d=Td02d(d)・・・（x）
【０１０１】
角度θ,角度αおよび変位dの初期推定値が与えられると、コスト関数を最適化するための最適な角度θ,角度αおよび変位dを見つけることができる。最適な角度θ,角度αおよび変位dが見つかると、式(u)に、式(v)，式(w)，式(x)を代入することで、次式が得られる。
Tcam2display=Td02dTimu2d0Tcam2imu・・・（y）
【０１０２】
コスト関数について説明する。まず、頷き（頭部の回転）がある場合と頭部の回転がない場合とを含む期間の一組の回転エラーは、次式で定義される。
Erot=Σ||ωc-Rimu2camωI||2・・・（z）
【０１０３】
Rimu2camは、ＩＭＵ座標系からカメラ座標系への回転行列である。前式におけるωc及びωIは何れも、回転データ収集処理における１回目のＳＣ２１７の時点から、２回目のＳＣ２１７の時点までにおけるＨＭＤ１００の角速度ベクトルである。角速度ベクトルωcは、ＳＣ２１７において収集された撮像データから算出される。角速度ベクトルωIは、ＳＣ２１７において収集されたＩＭＵ配向から算出される。角速度ωIは、第１位置から第２の位置へのＩＭＵ７１の動きを表す。
【０１０４】
一方、左右の眼のアライメントエラーは、次式で定義される。次式については、後で説明を補足する。
Ealign=Σ||p-Proj(CP,Tcam2display)||2・・・（aa）
【０１０５】
ここで、式（aa）に含まれる小文字のpは、アライメントデータ収集処理において収集された撮像データから得られる円１〜９の位置情報であり、イメージセンサーに固定された２次元の画像座標系で表されている。「Proj」は、モデルに原点が固定された３次元座標系で表されたモデルマーカーの円１〜９の位置を、当該３次元座標系から上記画像座標系へ写像変換する変換行列を意味する。ここで、当該写像変換のパラメーターは、カメラ６０のカメラパラメーターCP、およびカメラ６０と光学像表示部２６，２８との間の空間関係を表す変換行列Tcam2displayである。変換行列Tcam2displayは、式(u)〜式(y)により、角度θ、角度及び変位ｄから求められる。
【０１０６】
共同推定（つまり共同キャリブレーション）のためのコスト関数は、次式のように定義される。λは、重み付けのための定数である。Ｓ９１０において計算されるエラー値とは、次式によって算出される左辺の値のことである。
E=Ealign+λErot・・・（bb）
【０１０７】
そして、エラー値を用いて、以下のヤコビアン（ヤコビ行列）Ｊを計算する。
J=[∂E/∂α  ∂E/∂θ  ∂E/∂d]・・・（cc）
【０１０８】
本実施形態では、ガウスニュートン法による繰り返し計算を用いて、コスト関数（エラー値）を最小化するために、キャリブレーションパラメーターを更新する（Ｓ９２０）。Ｓ９２０は、次式のように実行する。
[αn;θn;dn]=[αn-1;θn-1;dn-1]+inv(JTinv(JTJ)JTe・・・（dd）
前式における制約条件は、以下の通りである。
αmin<αn<αmax・・・（ee）
θmin<θn<θmax・・・（ff）
dmin<dn<dmax・・・（gg）
【０１０９】
式(dd)に含まれるeは、式(z)及び式（aa）それぞれのノルムの中身である。つまり、「ωc-Rimu2camωI」及び「p-Proj(P,Tcam2display)」である。
【０１１０】
続いて、算出したエラー値が基準値Ｔｅ未満であるかを判定する（Ｓ９３０）。算出したエラー値が基準値Ｔｅ以上の場合（Ｓ９３０，ＮＯ）、Ｓ９１０，Ｓ９２０の実行回数が上限値に達したかを判定する（Ｓ９４０）。Ｓ９１０，Ｓ９２０の実行回数が上限値に達していない場合（Ｓ９４０，ＮＯ）、Ｓ９１０，Ｓ９２０を再び実行する。
【０１１１】
一方、算出したエラー値が基準値Ｔｅ未満の場合（Ｓ９３０，ＹＥＳ）、又はＳ９１０，Ｓ９２０の実行回数が上限値に達した場合（Ｓ９４０，ＹＥＳ）、現状の角度α、角度θ及び変位dの値、および／または式(u)〜式(y)の関係に基づいて変換パラメーターTcam2displayを出力して（Ｓ９５０）、算出処理を終える。
【０１１２】
パラメーターの改善処理（Ｓ１０００）：
次に、パラメーター設定部１６７が、Ｓ９００によって導出されたカメラ６０と光学像表示部との間の空間関係（変換パラメーターとも呼ぶ。Tcam2display）を改善する処理を説明する。本実施形態による改善処理では、上記空間関係の改善と併せて、カメラ６０のカメラパラメーターが導出される。なお、他の実施形態の改善処理では、カメラパラメーターは、必ずしも最適化される必要がなく、設計値に固定されていてよい。ただし、以下に示す本実施形態では、ユーザーが必要に応じてカメラパラメーターを最適化することができるように、カメラパラメーターを最適化変数として含んだアルゴリズムを提示している。他の実施形態において、カメラパラメーターを最適化する必要がない場合には、これらを定数（固定値）として以下の式を扱えばよい。
【０１１３】
カメラパラメーターについて：
カメラ６０に関するカメラパラメーターとして、本実施形態では、４個のカメラパラメーター（ｆｘ、ｆｙ、Ｃｘ、Ｃｙ）が利用される。（ｆｘ、ｆｙ）は撮像部であるカメラ６０の焦点距離であり、画素密度に基づいて画素数に換算されている。（Ｃｘ、Ｃｙ）は、カメラ主点位置と呼ばれ、撮像画像の中心位置を意味する。（Ｃｘ、Ｃｙ）は、例えばカメラ６０のイメージセンサーに固定された２Ｄ座標系で表され得る。
【０１１４】
カメラパラメーターは、撮像部の主要部分を構成するカメラ６０の製品仕様から知ることができる（以下ではこれをデフォルトカメラパラメーターとも表記する）。ただし、実際のカメラのカメラパラメーターがデフォルトカメラパラメーターから大きくずれていることが多い。しかも、同じ仕様のカメラであっても、製品が異なれば、製品ごとのカメラ間で、カメラパラメーターがばらついている（揃っていない）ことがある。
【０１１５】
ＡＲ画像として光学像表示部２６，２８に表示されるＡＲモデルにおける位置、大きさ、姿勢の少なくとも１つが実物体にアライン（重畳）するようにユーザーに視認させる場合、カメラ６０は、当該実物体の位置および姿勢を検出する検出機として機能する。このとき、パラメーター設定部１６７は、カメラパラメーターを用いて、カメラ６０に撮像された実物体のカメラ６０に対する位置および姿勢を推定する。さらに、パラメーター設定部１６７は、当該位置および姿勢を、カメラ６０と左光学像表示部２８（右光学像表示部２６）との間の相対位置関係を用いて、左光学像表示部２８に対する実物体の位置および姿勢に変換する。さらに、パラメーター設定部１６７は、当該変換された位置および姿勢に基づいて、ＡＲモデルの位置および姿勢を決定する。そして、画像処理部１６０は、当該位置および姿勢を有するＡＲモデルを、写像パラメーターを用いて表示領域に写像（変換）し、表示バッファー（例えばＲＡＭ１２２）に書き込む。そして、表示制御部１９０は、表示バッファーに書き込まれたＡＲモデルを左光学像表示部２８に表示する。このため、カメラパラメーターがデフォルトカメラパラメーターである場合には、推定される実物体の位置および姿勢に誤差が含まれることとなる。そうすると、推定された位置および姿勢の誤差に由来して、表示されたＡＲモデルと実物体との重畳に誤差があるようにユーザーに視認される。
【０１１６】
そこで、本実施形態では、ＡＲモデルが対象物に重畳してユーザーに視認されるようにするためのキャリブレーションの際に、パラメーター設定部１６７は、カメラパラメーターを、実物マーカーＭＫ２および実物マーカーＭＫ１の撮像データを用いて、最適化して設定する。そして、設定されたカメラパラメーターが用いられて、対象物の位置および姿勢が検出（推定）されるようにする。そうすれば、ＡＲモデルの表示において、表示されるＡＲモデルと実物体との間に発生するずれがユーザーに視認される度合いが低くなる。後述するように、同じＨＭＤ１００のユーザーが同一人であっても、カメラパラメーターの設定は、キャリブレーションが実行されるごとに実行され、当該キャリブレーションに引き続いて行われる対象物とＡＲモデルとの間での位置、大きさ、向きの少なくとも１つが一致した表示のために使用されることが好ましい。これは、キャリブレーションの際に、必ずしもユーザーは、実物マーカーＭＫ２または実物マーカーＭＫ１と、実物マーカーＭＫ２または実物マーカーＭＫ１に対応したマーカー画像ＩＭＧとを、同じ精度で位置および姿勢を合わせるとは限らないことによる。たとえユーザーが違う精度で位置および姿勢を合わせたとしても、それに応じたカメラパラメーターが設定されることから、実物体に対するＡＲモデルの重畳表示がされる場合に重畳表示のずれの増大が抑制される。
【０１１７】
変換パラメーターについて：
ＨＭＤ１００は、カメラ６０と光学像表示部２６，２８との間の相対位置関係が変化する構造を有する。デフォルトカメラパラメーターについての説明からも理解されるように、ＡＲモデルにおける位置、大きさ、姿勢の少なくとも１つが実物体にアライン（重畳）するようにユーザーに視認させる場合、実際のカメラ６０と光学像表示部２６，２８との間の相対位置関係とは異なる相対位置関係に基づいてＡＲモデルを表示すると、表示されたＡＲモデルと実物体との重畳に誤差が視認される。
【０１１８】
そこで、本実施形態では、ＡＲモデルが対象物に重畳してユーザーに視認されるようにするためのキャリブレーションの際に、カメラ６０の座標系と、右光学像表示部２６の座標系および左光学像表示部２８の座標系と、の間の相対位置関係（回転および並進の少なくとも１つ）を表す変換パラメーターを調整または設定する。そして、設定された当該変換パラメーターが表す空間関係（相対位置関係）を用いてＡＲモデルの表示をすると、ユーザーにずれが視認される度合いが低くなる。
【０１１９】
本実施形態では、パラメーター設定部１６７は、右光学像表示部２６に対応する右変換パラメーター［Rcam2right，tcam2right］と、左光学像表示部２８に対応する左変換パラメーター［Rcam2left，tcam2left］と、を設定する。回転行列Rcam2rightは、直交する３軸の回転によって決定される３つのパラメーターであり、並進行列tcam2rightは、３軸に沿った並進のそれぞれに対応する３つのパラメーターである。すなわち、右光学像表示部２６に対応する右変換パラメーターＰＭＲは、計６つのパラメーターを含んでいる。同じように、左光学像表示部２８に対応する変換パラメーターは、回転行列Rcam2leftと並進行列Tcam2leftとであり、計６つのパラメーターを含んでいる。以上の通り、本実施形態では、カメラパラメーターに含まれる４個のパラメーターと、空間関係を表す１２個の変換パラメーターとの１６個のパラメーターが算出される。
【０１２０】
パラメーター導出処理：
パラメーター設定部１６７は、アライメントデータ収集処理において取得された撮像画像に基づいて、後述の式（ss）を用いて、カメラパラメーターおよび変換パラメーターを算出する。本実施形態では、設定パラメーターを設定する場合の初期値（ｉ=０）として、ステップＳ９００で得られた変換パラメーターTcam2displayが用いられる。
【０１２１】
図２０は、右光学像表示部２６のみにマーカー画像ＩＭＧが表示された状態での空間的な位置関係を示す概略図である。図２０には、ユーザーが、予めＨＭＤ１００を装着したユーザーの仮想の右眼の位置として設定された右眼位置ＲＰから、右光学像表示部２６に表示されたマーカー画像ＩＭＧを視認した場合の概略が示されている。つまり、図２０は、アライメントデータ収集処理におけるＳＣ２０１又はＳＣ２０３の様子を示す。なお、図２０には、ＨＭＤ１００の内の画像表示部２０のみを図示し、装着帯９０や制御部１０などについては図示を省略している。図２０には、撮像される３次元空間である外景の座標軸を表す座標軸ＣＤ２と、座標軸ＣＤ２を投影した二次元画像の座標軸を表す座標軸ＣＤ１と、が示されている。ユーザーは、右光学像表示部２６に表示されたマーカー画像ＩＭＧを、画像表示部２０から距離Ｌ１離れた位置に存在する実物マーカーＭＫ１として視認する。
【０１２２】
図２０に示すように、右光学像表示部２６に表示されたマーカー画像ＩＭＧと、外景に含まれ前方に位置する実物マーカーＭＫ１と、が位置、大きさ、向きが一致するようにユーザーが視認するとき（以下、ユーザーが右眼ＲＥ（左眼ＬＥ）でアライメントを成立させるときともいう）、座標系の間には、次式の関係が成り立つ。なお、以降では、右光学像表示部２６ではなく、左光学像表示部２８にマーカー画像ＩＭＧが表示された場合について説明する。
CP×[Ro2dl,to2dl]×ModelMatrix
=CP×[Rcam2left,tcam2left]×[Robj2cam,tobj2cam]×ModelMatrix・・・（hh）
【０１２３】
ここで、左辺および右辺のＣＰは、カメラ６０のカメラパラメーターである。［Ro2dl，to2dl］は、実オブジェクト（この場合、実物マーカーＭＫ２または実物マーカーＭＫ１）に固定された座標系から左光学像表示部２８に固定された座標系への変換行列である。Ro2dlは、回転を表す３×３の行列である。to2dlは、並進を表す３×１の行列である。［Ro2dl，to2dl］は、左光学像表示部２８に対する実オブジェクトの位置および姿勢を表している。ModelMatrixは、モデルマーカー上の任意の１点を表す３×１の行列である。モデルマーカーは、マーカー画像ＩＭＧが左光学像表示部２８に表示される場合の基礎となる３次元データ（３次元モデル：ただし本実施形態では平面）である。［Ro2dl,to2dl］×ModelMatrixの表記は、次式の規則に従っている。
[Ro2dl,to2dr]×ModelMatrix=[Ro2dl]×ModelMatrix+[to2dl]・・・（ii）
前式の表記規則は、式（hh）の他の部分にも適用される。
【０１２４】
式（hh）の右辺における［Rcam2left，tcam2left］は、カメラ６０の座標系から左光学像表示部２８の座標系への変換行列である。当該変換行列は、パラメーター設定部１６７によって設定される複数の変換パラメーターで構成される。式（hh）の右辺における［Robj2cam，tobj2cam］は、実オブジェクト（実物マーカーＭＫ２または実物マーカーＭＫ１）の座標系からカメラ６０の座標系への変換行列である。［Robj2cam，tobj2cam］は、カメラ６０に対する実オブジェクトの位置および姿勢を表している。
【０１２５】
式（hh）の関係から、左光学像表示部２８について、マーカー画像ＩＭＧと実物マーカーＭＫ２または実物マーカーＭＫ１とのアライメントが成立しているとき、次の２つの式が成り立つ。
Robj2cam=inv(Rcam2left)*Ro2dl・・・（jj）
tobj2cam=inv(Rcam2left)*(to2dl-tcam2left)・・・（kk）
【０１２６】
左眼ＬＥのアライメントが成立すると仮定したとき、実物マーカーＭＫ２または実物マーカーＭＫ１のカメラ６０に対する姿勢をモデルマーカーに適用すると、カメラ６０の座標系に変換されたモデルマーカー上の任意の点は次式のPcl（Xcl，Ycl，Zcl）のようになる。
Pcl=[Xcl  Ycl  Zcl]T=Robj2cam×ModelMatrix+tobj2cam・・・（ll）
【０１２７】
式（jj）および式（kk）により、Robj2cam,tobj2camを消去すると式（ll）は次式のようになる。
Pcl=[Xcl  Ycl  Zcl]T
=inv(Rcam2left)(Ro2dl×ModelMatrix+to2dl-tcam2left)・・・（mm）
【０１２８】
Ro2dlおよびto2dlは、実物マーカーＭＫ２または実物マーカーＭＫ１の座標系から左光学像表示部２８の座標系への回転および並進である。本実施形態では、ユーザーが左光学像表示部２８に表示されたマーカー画像ＩＭＧを実物マーカーＭＫ２または実物マーカーＭＫ１に位置合わせしたときに、Ro2dlおよびto2dlが所定の回転および並進となるように、マーカー画像ＩＭＧが左光学像表示部２８上の所定位置（例えば中央）に所定の配向かつ所定の大きさで、固定されて表示される。tcam2leftは、カメラの座標系から左光学像表示部２８の座標系への並進である。なお、Ro2dlは、次に示すように単位行列である。つまり、実物マーカーＭＫ２または実物マーカーＭＫ１の座標系から左光学像表示部２８の座標系へ変換しても、回転は発生しない。
【０１２９】
【数２】
2018009836.tif 000004
【０１３０】
to2dl=[0  0  -a]T・・・（nn）
tcam2left=[D1  D2  D3]T・・・（oo）
【０１３１】
式（２）および式（nn）における要素は本実施形態では定数である。式（nn）における-aの絶対値は、図２０に示される距離Ｌ１である。式（oo）における要素D1，D2，D3は本実施形態ではステップＳ９００で得られた変換パラメーターTcam2displayに含まれる並進成分であり、パラメーター導出処理の間に変化し得る。なお、図２０からわかるように、本実施形態では、画像表示部２０に固定された座標系では、光学像表示部２６，２８（画像表示部２０）からユーザーの眼へと射出される光の方向がＺ軸方向と平行である。
【０１３２】
式（ll）で表されるモデルマーカーをカメラ６０の撮像画像上に写像するとき、撮像画像上のモデルマーカーの座標は、次のようになる。
ximl=Fx(Xcl/Zcl)+Cx・・・（pp）
yiml=Fy(Ycl/Zcl)+Cy・・・（qq）
ここで、（Fx,Fy）はカメラ６０の焦点距離であり、（Cx,Cy）はカメラ６０の主点位置座標である。
【０１３３】
カメラ６０が実際に実物マーカーＭＫ２または実物マーカーＭＫ１を撮像した場合の撮像画像におけるマーカーの特徴要素の座標を（ul,vl）と表記すると、（ul,vl）と（ximl,yiml）との差は以下のようになる。
ei=[ex  ey]T=[uli-ximlj  vli-yimlj]T，j=1〜9・・・（rr）
前式における添え字jは、マーカーにおける特徴要素を示す値として１から９までの整数を取る。パラメーター設定部１６７は、左眼ＬＥのアライメントについて、次式で表される２乗和を導出する。
【０１３４】
【数３】
2018009836.tif 000005
【０１３５】
ユーザーが、右眼ＲＥで右光学像表示部２６に表示されたマーカーと、実物マーカーＭＫ２または実物マーカーＭＫ１と、のアライメントを成立させた場合についても、同様に次式で表される２乗和を導出する。
【０１３６】
【数４】
2018009836.tif 000006
【０１３７】
ELとERとの和としてEalignを定義する。
Ealign=EL+ER・・・（ss）
式（ss）は、式（aa）と比較して、形は異なるものの、実質的に同じである。以上の内容によって、改善処理（Ｓ１０００）が実行される。
【０１３８】
本実施形態によれば、少なくとも以下の効果を得ることができる。カメラ６０とＩＭＵ７１との空間関係を導出することができることから、実物オブジェクトの慣性・光学融合トラッキングがうまくいく。つまり、実物オブジェクトの相対位置が変わっても、ユーザーは、実物オブジェクトと対応画像とが精度よく一致した状態を視認し続けることができる。
【０１３９】
さらに、実物マーカーＭＫ１（制御部１０）側に、ＩＭＵは不要である。また、ＯＳＴＣ（ARの重畳表示に必要なキャリブレーション）とＩＭＵ-カメラキャリブレーションとを同時に実行することから、一般のユーザーに対してキャリブレーションの高い成功率が得られる。このため、作業支援や、美術館の案内として用いるAR等に好適である。
【０１４０】
本発明は、本明細書の実施形態や実施例、変形例に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現できる。例えば、発明の概要の欄に記載した各形態中の技術的特徴に対応する実施形態、実施例、変形例中の技術的特徴は、先述の課題の一部又は全部を解決するために、あるいは、先述の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせができる。その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除できる。例えば、以下のものが例示される。
【０１４１】
繰り返し計算を伴う非線形最適化に代えて、しらみつぶし計算（exhaustive search）が用いられて、低精度から高精度となる用法で、θ、α、dを求めてもよい。具体的には、次のように求めてもよい。球面線形補完（ＳＬＥＲＰ）および４元数（ｐ、ｑ、γ、ｔ）を用いて、次式が導出される。
SLERP(p,q,t)=[psin{(1-t)γ}+qsinγ]/sinγ・・・（tt）
【０１４２】
前式に含まれるパラメーターｔを０から１までの０．２５毎（t=0,0.25,0.5,0.75,1）に検索する（サーチする）荒いコスト関数と、パラメーターとを０から１までを０．１毎（t=0,0.1,0.2,・・・,1）にサーチする高精度のコスト関数と、の何れのコスト関数によってキャリブレーションが実行されてもよい。
【０１４３】
荒いコスト関数では、最適化した後のパラメーターｔに相当するパラメーターｔ*は、次式で表される。
Rcam2imu=quantion2Rot(SLERP(p,q,t*))・・・（uu）
【０１４４】
図２１は、しらみつぶし計算を示すフローチャートである。初めに、０から１までを０．２５毎にパラメーターｔについてサーチする（Ｓ９１）。次に、パラメーター設定部１６７は、サーチの結果を用いて、コスト関数（式（bb））を計算する（Ｓ９３）。続いて、コスト関数を計算することによって、グローバルミニマムに対応するパラメーターｔ*を算出する（Ｓ９５）。
【０１４５】
次に、算出したｔ*を、さらに高精度のサーチによってより最適化するか否かを、予め設定された指令に従い決定する（Ｓ９７）。高精度のサーチを行うと決定した場合には（Ｓ９７，ＹＥＳ）、算出したｔ*の近くの値に対して高精度のサーチを行い（Ｓ９９）、Ｓ９３以降の処理を実行する。高精度のサーチを行わないと決定した場合には（Ｓ９７，ＮＯ）、算出したパラメーターｔ*を出力する（Ｓ１０１）。
【０１４６】
上記実施形態において、ソフトウエアによって実現された機能及び処理の一部又は全部は、ハードウエアによって実現されてもよい。また、ハードウエアによって実現された機能及び処理の一部又は全部は、ソフトウエアによって実現されてもよい。ハードウエアとしては、例えば、集積回路、ディスクリート回路、または、それらの回路を組み合わせた回路モジュールなど、各種回路を用いてもよい。
【０１４７】
ＯＳＴＣキャリブレーションとＩＭＵ-カメラキャリブレーションとをまとめて実行することから、ＯＳＴＣキャリブレーションのためのアライメントデータ収集処理において、左右の眼のそれぞれについて１回のアライメントでもよい。こうすれば、ユーザーが実行すべきアライメントの回数を減らせる。
【０１４８】
回転データ収集処理よりもアライメントデータ収集処理を先に実行してもよい。
【０１４９】
回転データ収集処理におけるキャリブレーション収集（ＳＣ２１７）として実行される撮像は、動画の撮像によって実現されてもよい。例えば、回転データ収集処理の実行中は、常に、カメラによって動画の撮像を継続してもよい。
【０１５０】
角速度ωIの導出は、ＩＭＵ７１の角速度の検出機能を用いて実施してもよい。例えば、頷き動作の開始時から終了時までにおける角速度を平均した値を、角速度ωIとして導出してもよい。
【０１５１】
キャリブレーション処理から、改善処理（Ｓ１０００）を省略してもよい。
【符号の説明】
【０１５２】
ＭＫ１…実物マーカー、ＭＫ１Ａ…実物マーカー、ＭＫ２…実物マーカー、ＯＡ…外部機器、１０…制御部、２０…画像表示部、２１…右保持部、２２…右表示駆動部、２３…左保持部、２４…左表示駆動部、２６…右光学像表示部、２８…左光学像表示部、４０…接続部、４６…連結部材、５１…送信部、５２…送信部、５３…受信部、６０…カメラ、９０…装着帯、９１…装着基部、９２…ベルト部、９３…連結部、１００…頭部装着型表示装置、１２１…ＲＯＭ、１２２…ＲＡＭ、１３０…電源、１３５…操作部、１３８…マーカー画像記憶部、１４０…ＣＰＵ、１５０…オペレーティングシステム、１６０…画像処理部、１６５…表示設定部、１６６…マーカー特定部、１６７…パラメーター設定部、１７０…音声処理部、１８０…インターフェース、１９０…表示制御部、２０１…右バックライト制御部、２０２…左バックライト制御部、２１１…右ＬＣＤ制御部、２１２…左ＬＣＤ制御部、２２１…右バックライト、２４１…液晶ディスプレイ、２５１…右投写光学系、２６１…右導光板、２６２…左導光板、３００…融合部、３１０…測定部、３１１…ローパスフィルター、３１２…ローパスフィルター、３２０…予測部、３３０…更新部、３４０…重力キャンセル部、３５０…回転変換部、３６０…遅延器、９００…カメラ
【図１】
2018009836.tif 000007
【図２】
2018009836.tif 000008
【図３】
2018009836.tif 000009
【図４】
2018009836.tif 000010
【図５】
2018009836.tif 000011
【図６】
2018009836.tif 000012
【図７】
2018009836.tif 000013
【図８】
2018009836.tif 000014
【図９】
2018009836.tif 000015
【図１０】
2018009836.tif 000016
【図１１】
2018009836.tif 000017
【図１２】
2018009836.tif 000018
【図１３】
2018009836.tif 000019
【図１４】
2018009836.tif 000020
【図１５】
2018009836.tif 000021
【図１６】
2018009836.tif 000022
【図１７】
2018009836.tif 000023
【図１８】
2018009836.tif 000024
【図１９】
2018009836.tif 000025
【図２０】
2018009836.tif 000026
【図２１】
2018009836.tif 000027