(57)【要約】【課題】マーカーを用いた対象物の位置検出を安定した精度で行う。【解決手段】情報処理装置は対象物のオブジェクトモデルを仮想空間に配置し、マーカーのポリゴンを撮像面に射影する（Ｓ５０、Ｓ５２）。これにより取得したモデル上のマーカーの像の面積と、撮影画像上の対応するマーカーの像の面積から、当該マーカーが隠蔽されている度合いを表す可視度を算出する（Ｓ５４）。可視度がしきい値以上であれば、撮影画像から導出した当該マーカーの位置情報を有効として、重み係数を決定したうえ出力することにより対象物の位置座標算出に用いる（Ｓ５６のＹ、Ｓ５８、Ｓ６０）。可視度がしきい値より小さければ当該マーカーの位置情報を無効として出力しない（Ｓ５６のＮ）。【選択図】図１４
2019032599.tif 000002
【特許請求の範囲】
【請求項１】
複数のマーカーを備えた対象物の位置情報を取得する情報処理装置であって、
前記対象物を撮影した撮影画像から前記マーカーの像を抽出し、その代表点の３次元空間での位置座標を取得するマーカー位置取得部と、
前記マーカーの像の面積に基づき、当該マーカーが隠蔽されている度合いを表す可視度を評価することにより、当該マーカーの代表点の位置座標の有効性を判定する判定部と、
有効と判定された位置座標を用いて、前記対象物の位置座標を取得し出力する目標点位置算出部と、
を備えたことを特徴とする情報処理装置。
【請求項２】
前記判定部は、仮想３次元空間に配置した前記対象物のオブジェクトモデルを撮像面に射影してなるモデル上のマーカーの像に対する、前記撮影画像上のマーカーの像の面積比に基づき、前記可視度を算出することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記判定部は、前記オブジェクトモデルにおけるマーカーと撮像面との角度に対応するパラメータ、および、前記モデル上のマーカーの像を画素単位に拡張した面積を用いて前記可視度を正規化し、当該可視度としきい値との比較に基づき、前記有効性を判定することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記判定部は、前記オブジェクトモデルにおいて前記マーカーを構成するポリゴンの法線ベクトルと、前記撮像面に対する各ポリゴンの射影ベクトルとのなす角度を評価することにより、前記角度に対応するパラメータを前記マーカーごとに算出することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記対象物が内蔵するセンサの出力値に基づき、前記対象物の位置座標を推定する位置推定部と、
前記目標点位置算出部により出力された前記対象物の位置座標と、前記位置推定部により推定された前記対象物の位置座標とを所定の割合で合成することにより、前記対象物の最終的な位置座標を決定するフィルタリング部と、
をさらに備え、
前記フィルタリング部は、前記マーカーの代表点の位置座標の、有効および無効の切り替わりに応じて、前記推定された前記対象物の位置座標の合成割合を、所定時間増加させることを特徴とする請求項１から４のいずれかに記載の情報処理装置。
【請求項６】
前記フィルタリング部は、前記可視度に基づき前記合成割合を増加させるタイミングを決定することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
複数のマーカーを備えた対象物の位置情報を取得する情報処理装置が、
前記対象物を撮影した撮影画像から前記マーカーの像を抽出し、その代表点の３次元空間での位置座標を取得するステップと、
前記マーカーの像の面積に基づき、当該マーカーが隠蔽されている度合いを表す可視度を評価することにより、当該マーカーの代表点の位置座標の有効性を判定するステップと、
有効と判定された位置座標を用いて、前記対象物の位置座標を取得し出力するステップと、
を含むことを特徴とする位置情報取得方法。
【請求項８】
複数のマーカーを備えた対象物の位置情報を取得するコンピュータに、
前記対象物を撮影した撮影画像から前記マーカーの像を抽出し、その代表点の３次元空間での位置座標を取得する機能と、
前記マーカーの像の面積に基づき、当該マーカーが隠蔽されている度合いを表す可視度を評価することにより、当該マーカーの代表点の位置座標の有効性を判定する機能と、
有効と判定された位置座標を用いて、前記対象物の位置座標を取得し出力する機能と、
を実現させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像撮影により対象物の位置情報を取得する情報処理装置および位置情報取得方法に関する。
【背景技術】
【０００２】
ユーザの体やマーカーをカメラで撮影し、その像の領域を別の画像で置換してディスプレイに表示するゲームが知られている（例えば、特許文献１参照）。また、カメラで撮影された口や手の動きをアプリケーションの操作指示として受け取るユーザインタフェースシステムも知られている。このように、実世界を撮影しその動きに反応する仮想世界を表示させたり、何らかの情報処理を行ったりする技術は、携帯端末からレジャー施設までその規模によらず幅広い分野で利用されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】欧州特許出願公開第０９９９５１８号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のような技術において、撮影画像から実世界に係る情報をいかに正確に取得するかは常に重要な課題である。既知の形状のマーカーを拠り所に対象物の状態を認識する技術は、撮影視野にある他の物との区別や処理の効率性において有利である一方、拠り所であるマーカーの像が、本来の対象物の動きと異なる要因で変化した場合、認識精度に与える影響が大きい。精度を安定させるには、マーカーを球体として向きによらず像の形状が変化しないようにしたり、点状のマーカーを多数設け個々の情報を相補完的に扱ったりすることが考えられるが、デザインの自由度や製造コストの面で不利になりやすい。
【０００５】
本発明はこうした課題に鑑みてなされたものであり、その目的は、マーカーを用いた対象物の位置検出を安定した精度で行うことのできる技術を提供することにある。
【課題を解決するための手段】
【０００６】
本発明のある態様は情報処理装置に関する。この情報処理装置は、複数のマーカーを備えた対象物の位置情報を取得する情報処理装置であって、対象物を撮影した撮影画像からマーカーの像を抽出し、その代表点の３次元空間での位置座標を取得するマーカー位置取得部と、マーカーの像の面積に基づき、当該マーカーが隠蔽されている度合いを表す可視度を評価することにより、当該マーカーの代表点の位置座標の有効性を判定する判定部と、有効と判定された位置座標を用いて、対象物の位置座標を取得し出力する目標点位置算出部と、を備えたことを特徴とする。
【０００７】
本発明の別の態様は位置情報取得方法に関する。この位置情報取得方法は、複数のマーカーを備えた対象物の位置情報を取得する情報処理装置が、対象物を撮影した撮影画像からマーカーの像を抽出し、その代表点の３次元空間での位置座標を取得するステップと、マーカーの像の面積に基づき、当該マーカーが隠蔽されている度合いを表す可視度を評価することにより、当該マーカーの代表点の位置座標の有効性を判定するステップと、有効と判定された位置座標を用いて、対象物の位置座標を取得し出力するステップと、を含むことを特徴とする。
【０００８】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、コンピュータプログラムを記録した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００９】
本発明によると、マーカーを用いた対象物の位置検出を安定した精度で行える。
【図面の簡単な説明】
【００１０】
【図１】本実施の形態を適用できる情報処理システムの構成例を示す図である。
【図２】本実施の形態におけるＨＭＤの外観形状の例を示す図である。
【図３】本実施の形態において情報処理装置がマーカーの像から３元空間におけるＨＭＤの位置情報を得る基本的な処理手順を説明するための図である。
【図４】マーカーの本来の像と、撮像面のセンサ配列との関係に依存して、重心の位置に生じる誤差を説明するための図である。
【図５】本実施の形態における情報処理装置の内部回路構成を示す図である。
【図６】本実施の形態におけるＨＭＤの内部回路構成を示す図である。
【図７】本実施の形態における情報処理装置の機能ブロックの構成を示す図である。
【図８】本実施の形態における重み調整部が各マーカーに与える重み係数を算出する手法を説明するための図である。
【図９】本実施の形態における位置姿勢推定部による位置の推定と画像の撮影時刻の関係を説明するための図である。
【図１０】本実施の形態において、撮影画像から得た位置情報に対する、センサの出力値から推定された位置情報の合成割合の調整手法の例を説明するための図である。
【図１１】本実施の形態における情報処理装置が、撮影画像およびＩＭＵセンサの出力値を用いてＨＭＤの目標点の位置座標を出力する処理手順を示すフローチャートである。
【図１２】本実施の形態を適用した場合の効果を例示する図である。
【図１３】マーカーの隠蔽が発生する状況を模式的に示す図である。
【図１４】本実施の形態における重み調整部が、マーカーの隠蔽を確認し目標点の位置座標算出に用いることのできる情報に限定して目標点位置算出部に出力する処理手順を示すフローチャートである。
【図１５】マーカーの本来の像がデモザイク後の撮影画像において拡張される様子を模式的に示す図である。
【図１６】本実施の形態における正規化された可視度を用いることによる効果を示す図である。
【図１７】本実施の形態においてＨＭＤの姿勢を様々に変化させたときの可視度の変化を示す図である。
【図１８】本実施の形態における位置情報の有効／無効を判定するために可視度に設ける基準を例示する図である。
【図１９】本実施の形態において、可視度に基づく位置情報の有効／無効判定に基づき、推定位置情報の合成割合を制御するタイムチャートを例示する図である。
【発明を実施するための形態】
【００１１】
実施の形態１
図１は本実施の形態を適用できる情報処理システムの構成例を示す。この情報処理システムは、ユーザが装着して表示画像を鑑賞するヘッドマウントディスプレイ（以下、「ＨＭＤ」と呼ぶ）１８、ＨＭＤ１８を含む空間を撮影する撮像装置１２、撮影した画像に基づきＨＭＤ１８の位置を特定する処理を含む情報処理を行う情報処理装置１０を含む。
【００１２】
この例でＨＭＤ１８は、Bluetooth（登録商標）など既知の無線通信技術により情報処理装置１０と通信を確立する。また撮像装置１２と情報処理装置１０とは有線により通信を確立する。ただし接続方法をこれに限る主旨ではない。また情報処理装置１０と撮像装置１２、あるいは情報処理装置１０とＨＭＤ１８は、一体的に実現してもよい。またシステムにはさらに、ユーザが把持して操作する入力装置や、ＨＭＤ１８に表示する画像と同様の画像を表示する平板型ディスプレイなどを含めてもよい。
【００１３】
撮像装置１２は、ＨＭＤ１８を装着したユーザなどの対象物を所定のフレームレートで撮影するカメラと、その出力信号にデモザイク処理など一般的な処理を施すことにより撮影画像の出力データを生成し、情報処理装置１０に送出する機構とを含む。カメラはＣＣＤ（Charge Coupled Device）センサやＣＭＯＳ（Complementary Metal Oxide Semiconductor）センサなど、一般的なデジタルカメラ、デジタルビデオカメラで利用されている可視光センサを備える。撮像装置１２が備えるカメラは１つのみでもよいし、２つのカメラを既知の間隔で左右に配置したいわゆるステレオカメラでもよい。
【００１４】
ステレオカメラを導入した場合、３次元の実空間における対象物の位置を高精度に求めることができ、情報処理装置１０による情報処理や画像表示をより多様化させることができる。ステレオカメラが左右の視点から撮影したステレオ画像を用いて、三角測量の原理により被写体のカメラからの距離を特定する手法は広く知られている。
【００１５】
情報処理装置１０は、撮像装置１２から送信されたデータを用いて必要な情報処理を行い、画像や音声などの出力データを生成する。本実施の形態において情報処理装置１０は、撮像装置に写るマーカーの像に基づき、それを装着した対象物の位置や姿勢を特定する。例えばＨＭＤ１８の外面に複数のマーカーを設け、撮影画像からその像を抽出して、３次元空間におけるそれぞれの位置情報を取得する。それらの情報を統合すれば、ＨＭＤ１８、ひいてはユーザの頭部の位置や姿勢を特定できる。この処理を撮影画像のフレームごとに繰り返せば、ユーザの視点位置や視線の動きを特定できるため、例えばそれに応じた視野で仮想世界の画像を描画し、ＨＭＤ１８に表示させることで仮想現実（VR:Virtual Reality）を実現できる。
【００１６】
ただしマーカーはＨＭＤ１８に設けたものに限らず、ユーザが把持する入力装置に設けてもよいし、ユーザなどに直接装着してもよい。以後の説明ではＨＭＤ１８にマーカーを設ける態様について説明するが、マーカーを他の物に装着させる場合、ＨＭＤ１８は必須ではない。いずれにしろマーカーを装着した物あるいは人などを対象物とし、マーカーの像を用いて当該対象物の位置情報を取得する限りにおいて、マーカーの形態や対象物の種類は限定されない。またマーカーを利用して特定した対象物の位置や姿勢の情報を用いて情報処理装置１０が行う処理の内容も特に限定されず、ユーザが求める機能やアプリケーションの内容などによって適宜決定してよい。
【００１７】
ＨＭＤ１８は、ユーザが頭に装着することによりその眼前に位置する有機ＥＬパネルなどの表示パネルに画像を表示する表示装置である。例えば左右の視点から見た視差画像を生成し、表示画面を２分割してなる左右の領域にそれぞれ表示させることにより、画像を立体視させてもよい。ただし本実施の形態をこれに限る主旨ではなく、表示画面全体に１つの画像を表示させてもよい。ＨＭＤ１８はさらに、ユーザの耳に対応する位置に音声を出力するスピーカーやイヤホンを内蔵していてもよい。
【００１８】
図２はＨＭＤ１８の外観形状の例を示している。この例においてＨＭＤ１８は、出力機構部１０２および装着機構部１０４で構成される。装着機構部１０４は、ユーザが被ることにより頭部を一周し装置の固定を実現する装着バンド１０６を含む。装着バンド１０６は各ユーザの頭囲に合わせて長さの調節が可能な素材または構造とする。例えばゴムなどの弾性体としてもよいし、バックルや歯車などを利用してもよい。
【００１９】
出力機構部１０２は、ＨＭＤ１８をユーザが装着した状態において左右の目を覆うような形状の筐体１０８を含み、内部には装着時に目に正対するように表示パネルを備える。そして筐体１０８の外面には、所定の色で発光するマーカー１１０ａ、１１０ｂ、１１０ｃ、１１０ｄ、１１０ｅを設ける。マーカーの数、配置、形状は特に限定されないが、図示する例では、およそ矩形のマーカーを、出力機構部１０２の筐体前面の４隅および中央に設けている。
【００２０】
さらに装着バンド１０６後方の両側面にも、楕円形のマーカー１１０ｆ、１１０ｇを設けている。このようにマーカーを配置することにより、撮像装置１２に対しユーザが横を向いたり後ろを向いたりしても、撮影画像におけるマーカーの像の数や位置に基づきそれらの状況を特定できる。なおマーカー１１０ｄ、１１０ｅは出力機構部１０２の下側、マーカー１１０ｆ、１１０ｇは装着バンド１０６の外側にあり、図２の視点からは本来は見えないため、外周を点線で表している。マーカーは所定の色や形状を有し、撮影空間にある他の物からの識別が可能な形態であればよく、場合によっては発光していなくてもよい。
【００２１】
図３は、本実施の形態において情報処理装置１０がマーカーの像から３元空間におけるＨＭＤ１８の位置情報を得る基本的な処理手順を説明するための図である。撮像装置１２をステレオカメラで構成した場合、左右のカメラが同じタイミングで被写空間を撮影することにより、左視点の画像８０ａと右視点の画像８０ｂのデータが、情報処理装置１０に所定のフレームレートで送信される。図ではわかりやすさのために、ＨＭＤ１８の出力機構部１０２の像のみを模式的に表している。
【００２２】
図示するように左視点の画像８０ａに対し、右視点の画像８０ｂでは、ＨＭＤ１８の像が左寄りに表れる。情報処理装置１０はまず、画像８０ａ、８０ｂのそれぞれから、輝度や色などに基づきマーカーの像を抽出する（Ｓ１０ａ、Ｓ１０ｂ）。そして各マーカーの像の領域の重心を求める。図示する例では、左視点の画像８０ａの１つのマーカーの像を左側に拡大表示したように、重心８４の位置を黒丸で示している。
【００２３】
次に左右の画像８０ａ、８０ｂにおける同じマーカーの重心位置の対応を、画像上の位置などから特定したうえ、その水平方向の位置ずれを視差として三角測量の原理を適用することにより、重心の撮像面からの距離を求める。当該距離に基づき画像上での重心位置を３次元空間に逆射影することにより、各マーカーの重心の３次元空間での位置座標が得られる（Ｓ１２）。ＨＭＤ１８における各マーカーの配置は既知であることから、ＨＭＤ１８の所定の箇所、例えばユーザの眉間に相当するポイント８８の３次元空間での位置は、各マーカーの重心との相対的な位置関係から導出できる。
【００２４】
撮像装置１２を単眼のカメラとした場合も、マーカーの大きさや複数のマーカーの間隔等に基づき撮像面からの距離を求めれば、重心の３次元空間での位置を導出できる。なお本実施の形態ではマーカーの位置の代表値として重心の位置を用いているが、代表とする点は必ずしも重心でなくてよい。例えばマーカーの頂点、辺の中点などを用いて代表点を決定してもよい。
【００２５】
上記手法において導出される、目標とするポイント８８（以後、「目標点」と呼ぶ）の位置情報は、撮像装置からのマーカーの見え方に影響されやすい。例えばＨＭＤ１８の向きが変化すると、撮像装置１２からは見えづらくなったり完全に見えなくなったりする。図示する例では、ＨＭＤ１８の下側に配置されたマーカー９０ａ、９０ｂは撮像面に対する傾斜によってその像が細くなっている。
【００２６】
この場合、マーカーの像を構成する少ない画素数から重心を求めることになり、撮像面に正対しているマーカーと比較し多くの誤差を含む傾向となる。ここでユーザがさらに下を向くなどしてＨＭＤ１８の俯角が大きくなると、マーカー９０ａ、９０ｂは撮影画像に写らなくなる。するとポイント８８の位置を、残りのマーカーの像の重心のみから算出する必要が生じ、これによっても誤差を生みやすくなる。またマーカー９０ａ、９０ｂが撮像装置１２から見えなくなる瞬間を境に、目標点の位置を算出する根拠となる重心の数が変化するため、導出される位置情報が突然変化することがあり得る。
【００２７】
目標点の位置情報が不連続になると、それを用いて行う各種処理にも不連続性が生じる。例えば位置情報を用いて生成した画像をＨＭＤ１８に表示させる場合、画像の仮想的な視点が実際の頭部の動きと異なる不連続な動きとなり、鑑賞者に不快感を与えることが考えられる。マーカーの数を増やすなどの対応により、位置情報の精度を安定させることも考えられるが、製造コストや消費電力の面で課題が生じる。
【００２８】
また撮像装置１２を一般的なカラー画像を撮影するカメラとすると、各画素に対応するセンサが輝度値を取得する色と、マーカーからの光が及ぶ範囲、すなわちマーカーの本来の像との関係によっても、重心の位置に誤差が生じ得る。図４は、マーカーの本来の像と、撮像面のセンサ配列との関係に依存して、重心の位置に生じる誤差を説明するための図である。同図における９つの矩形は画像平面を表し、内部の格子で区切られた領域が画素を表している。
【００２９】
まず（ａ）の状態において、左端の「真値」で示された網掛けされた矩形領域を、本来のマーカーの像９２ａとする。このときの真の重心を黒点で示している。撮像装置１２のセンサが一般的なベイヤ配列であるとすると、図中、中央の「ベイヤ配列との関係」に示すように、各センサは、赤（Ｒ）、緑（Ｇ）、青（Ｂ）のいずれかの輝度を取得する。このため本来のマーカーの像９２ａの領域内のセンサのうち、マーカーからの光を正しく検出できるセンサは限定される。例えばマーカーの光を青色とすると、図示する例では網掛けされた青（Ｂ）のセンサによって、マーカーからの光に近い輝度が検出されるが、その他のセンサでは著しく低い輝度値となる。
【００３０】
ベイヤ配列で検出されたいわゆるＲＡＷ画像は、その後のデモザイク処理により色ごとに補間され、各画素が三色の情報を有するカラー画像が生成される。このとき本来のマーカーの像９２ａの領域内の青色を検出するセンサと、一画素を挟んで当該領域外にある青色を検出するセンサの出力輝度値が補間される。結果としてカラー画像においては、図の右端の「デモザイク後画像」に示すように、網掛けされた本来の青色の輝度値を示す画素９４ａと、その周囲の、補間された輝度値を示す画素からなる領域９６ａが、マーカーの色に近い領域、すなわちマーカーの像となる。ただし画素９４ａの周囲の画素は、画素９４ａより輝度が低くなる。
【００３１】
このようなカラー画像を用いて画像処理を行い、青色の領域９６ａをマーカーの像として検出すると、白点で表す位置が重心として算出されるため、黒点で示した本来の重心より下側に０．５画素ずれることになる。（ｂ）は、マーカーが（ａ）の状態から微小量変位した状態を示している。具体的には本来のマーカーの像９２ｂが、右方向および下方向に０．５画素ずつ変位している。このときの像とセンサ配列の関係を見ると、本来のマーカーの像９２ｂは、（ａ）と同じ青色のセンサとは別の青色のセンサにもかかっている。したがってこれらのセンサで、マーカーからの光に近い輝度を検出する。
【００３２】
これをデモザイク処理すると、本来の青色に近い輝度値を示す画素群９４ｂと、その周囲の画素からなる領域９６ｂがマーカーの像として表れる。この青色の領域９６ｂをマーカーの像として検出すると、白点で表す位置が重心として算出されるため、黒点で示した本来の重心より右側に０．５画素ずれることになる。マーカーがさらに右方向および下方向に０．５画素ずつ変位した（ｃ）の状態では、本来のマーカーの像９２ｃの領域内に青色のセンサ２つが完全に入っている。
【００３３】
これをデモザイク処理すると、本来の青色に近い輝度値を示す画素群９４ｃと、その周囲の画素からなる領域９６ｃがマーカーの像として表れる。この青色の領域９６ｃをマーカーの像として検出すると、白点で表す位置が重心として算出されるため、黒点で示した本来の重心より上側に０．５画素ずれることになる。マーカーの像は実際には、図示したものより大きいことが多いが、輪郭近傍に位置するセンサが検出する光の色によって、カラー画像上での像の輪郭が変化し重心がずれる原理は図示するのと同様である。
【００３４】
またマーカーが撮像装置１２から離れたり撮像面に対する角度が大きくなったりするほど像が小さくなり、図示するような状態に近づく。例えばＨＭＤ１８を装着したユーザ本人が気づかないような微小な揺れでも、図示するように算出される重心がずれると、その位置情報を用いて生成した表示画像が揺れ、ユーザに違和感を与えたり体調不良を生じさせたりすることが考えられる。
【００３５】
そこで本実施の形態では、マーカーと撮像面との角度に応じて、目標点の位置を求める際の重みをマーカーごとに調整することにより、撮像装置１２から見えにくいマーカーによって生じる誤差を軽減する。またＨＭＤ１８にＩＭＵ（Inertial Measuremen Unit)センサを設け、その出力値から推定されるＨＭＤ１８の位置情報と、撮影画像におけるマーカーの像から得た位置情報とを統合することにより、位置情報の振動や不連続性を抑制する。
【００３６】
図５は、情報処理装置１０の内部回路構成を示している。情報処理装置１０は、ＣＰＵ（Central Processing Unit）２２、ＧＰＵ（Graphics Processing Unit)２４、メインメモリ２６を含む。これらの各部は、バス３０を介して相互に接続されている。バス３０にはさらに入出力インターフェース２８が接続されている。入出力インターフェース２８には、ＵＳＢやＩＥＥＥ１３９４などの周辺機器インターフェースや、有線又は無線ＬＡＮのネットワークインターフェースからなる通信部３２、ハードディスクドライブや不揮発性メモリなどの記憶部３４、ＨＭＤ１８へデータを出力する出力部３６、撮像装置１２やＨＭＤ１８からデータを入力する入力部３８、磁気ディスク、光ディスクまたは半導体メモリなどのリムーバブル記録媒体を駆動する記録媒体駆動部４０が接続される。
【００３７】
ＣＰＵ２２は、記憶部３４に記憶されているオペレーティングシステムを実行することにより情報処理装置１０の全体を制御する。ＣＰＵ２２はまた、リムーバブル記録媒体から読み出されてメインメモリ２６にロードされた、あるいは通信部３２を介してダウンロードされた各種プログラムを実行する。ＧＰＵ２４は、ジオメトリエンジンの機能とレンダリングプロセッサの機能とを有し、ＣＰＵ２２からの描画命令に従って描画処理を行い、表示画像を図示しないフレームバッファに格納する。そしてフレームバッファに格納された表示画像をビデオ信号に変換して出力部３６に出力する。メインメモリ２６はＲＡＭ（Random Access Memory）により構成され、処理に必要なプログラムやデータを記憶する。
【００３８】
図６はＨＭＤ１８の内部回路構成を示している。ＨＭＤ１８は、ＣＰＵ５０、メインメモリ５２、表示部５４、音声出力部５６を含む。これらの各部はバス５８を介して相互に接続されている。バス５８にはさらに入出力インターフェース６０が接続されている。入出力インターフェース６０には、有線又は無線ＬＡＮのネットワークインターフェースからなる通信部６２、ＩＭＵセンサ６４、および発光部６６が接続される。
【００３９】
ＣＰＵ５０は、バス５８を介してＨＭＤ１８の各部から取得した情報を処理し、情報処理装置１０から取得した出力データを表示部５４や音声出力部５６に供給する。メインメモリ５２はＣＰＵ５０における処理に必要なプログラムやデータを格納する。ただし実行するアプリケーションや装置の設計によっては、情報処理装置１０がほぼ全ての処理を行い、ＨＭＤ１８では情報処理装置１０から送信されたデータを出力するのみで十分な場合がある。この場合、ＣＰＵ５０やメインメモリ５２は、より簡易なデバイスで置き換えることができる。
【００４０】
表示部５４は、液晶パネルや有機ＥＬパネルなどの表示パネルで構成され、ＨＭＤ１８を装着したユーザの眼前に画像を表示する。上述のとおり、左右の目に対応する領域に一対の視差画像を表示することにより立体視を実現してもよい。表示部５４はさらに、ＨＭＤ１８装着時に表示パネルとユーザの目との間に位置し、ユーザの視野角を拡大する一対のレンズを含んでもよい。
【００４１】
音声出力部５６は、ＨＭＤ１８の装着時にユーザの耳に対応する位置に設けたスピーカーやイヤホンで構成され、ユーザに音声を聞かせる。出力される音声のチャンネル数は特に限定されず、モノラル、ステレオ、サラウンドのいずれでもよい。通信部６２は、情報処理装置１０との間でデータを送受するためのインターフェースであり、Bluetooth（登録商標）などの既知の無線通信技術を用いて実現できる。ＩＭＵセンサ６４はジャイロセンサおよび加速度センサを含み、ＨＭＤ１８の角速度や加速度を取得する。センサの出力値は通信部６２を介して情報処理装置１０に送信される。発光部６６は、所定の色で発光する素子またはその集合であり、図２で示したＨＭＤ１８の外面の複数箇所に設けたマーカーを構成する。
【００４２】
図７は、情報処理装置１０の機能ブロックの構成を示している。図７に示す各機能ブロックは、ハードウェア的には、図５に示したＣＰＵ、ＧＰＵ、メモリなどの構成で実現でき、ソフトウェア的には、記録媒体などからメモリにロードした、データ入力機能、データ保持機能、画像処理機能、入出力機能などの諸機能を発揮するプログラムで実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００４３】
情報処理装置１０は、撮像装置１２から撮影画像のデータを取得する撮影画像取得部１３０、撮影画像からマーカーの像を抽出し重心の３次元空間での位置を取得するマーカー位置取得部１３２、マーカーの面と撮像面との関係から各マーカーの重み係数を調整する重み調整部１３４、調整された重み係数を用いて各マーカーの重心から目標点の位置を算出する目標点位置算出部１３６を含む。情報処理装置１０はさらに、ＨＭＤ１８からＩＭＵセンサ６４の出力値を取得するセンサデータ取得部１３８、センサの出力値に基づきＨＭＤ１８の位置および姿勢を推定する位置姿勢推定部１４０、ＨＭＤ１８の３次元オブジェクトモデルを格納するモデルデータ格納部１４４、位置姿勢推定部１４０の推定結果を用いて目標点位置算出部１３６が算出した目標点の位置をフィルタリングするフィルタリング部１４２、および、フィルタリングされた位置情報を表すデータ、あるいはそれを用いた表示画像などの出力データを生成し表示装置１６などに出力する出力データ生成部１４６を含む。
【００４４】
撮影画像取得部１３０は図５の入力部３８、ＣＰＵ２２、メインメモリ２６などで実現され、撮像装置１２が所定のフレームレートで撮影して得られる撮影画像のデータを順次取得し、マーカー位置取得部１３２に供給する。撮像装置１２をステレオカメラで構成する場合、左右のカメラがそれぞれ撮影する動画像のデータを順次取得する。
【００４５】
マーカー位置取得部１３２は図５のＣＰＵ２２、メインメモリ２６などで実現され、図３のＳ１０ａ、Ｓ１０ｂのように、撮影画像からマーカーの像を検出したうえ、画像上での各重心の位置座標を求める。そしてステレオ画像を用いる場合は、左右の画像で同じマーカーの像を対応づけ、それらの重心の水平方向の位置ずれに基づき、重心の３次元空間での位置座標を求める。
【００４６】
センサデータ取得部１３８は図５の入力部３８、通信部３２、ＣＰＵ２２、メインメモリ２６などで実現され、ＨＭＤ１８からＩＭＵセンサ６４の出力値、すなわち角速度および加速度を所定のレートで取得し、位置姿勢推定部１４０に供給する。位置姿勢推定部１４０は図５のＣＰＵ２２、ＧＰＵ２４、メインメモリ２６などで実現され、ＩＭＵセンサ６４の出力値とフィルタリング部１４２からの位置情報を用いて、次のフレームの撮影時刻におけるＨＭＤ１８の位置および姿勢を推定する。３軸の角速度を用いて積分演算により姿勢を求める手法は広く知られている。また当該姿勢情報を用いて出力値をセンサ座標系からワールド座標系に変換することにより、以前の位置姿勢情報からその後の位置姿勢情報を推定できる。
【００４７】
重み調整部１３４は図５のＣＰＵ２２、ＧＰＵ２４、メインメモリ２６などで実現され、モデルデータ格納部１４４に格納された、ＨＭＤ１８の３次元オブジェクトモデルのデータを読み出し、撮像装置１２の撮像面を配置した仮想３次元空間に、位置姿勢推定部１４０により推定された位置および姿勢でＨＭＤ１８を配置する。そして当該ＨＭＤ１８のオブジェクトモデルにおける各マーカーの法線と、各マーカーから撮像面へ向かう射影ベクトルとの角度に応じて、各マーカーの重心位置に与える重み係数を決定する。
【００４８】
目標点位置算出部１３６は図５のＣＰＵ２２、メインメモリ２６などで実現され、調整された重みを係数に用いて、各マーカーの重心位置に重み付けしたうえ、さらに目標点までの距離に基づく重みを与えたうえで平均をとることにより目標点の位置座標を算出する。フィルタリング部１４２は図５のＣＰＵ２２、メインメモリ２６などで実現され、目標点位置算出部１３６が算出した目標点の位置座標と、位置姿勢推定部１４０が推定した目標点の位置座標とを所定の比率で合成することによりフィルタリングを行い、最終的な目標点の位置座標を導出する。
【００４９】
この際、合成割合をＨＭＤ１８の動きに応じて調整してもよい。例えば頭部がほぼ止まっている状態では、上述したような位置情報の振動や不連続性が、表示画像など出力データを介してより認識されやすくなる。したがってそのような場合に位置姿勢推定部１４０が推定した位置情報の割合を上げて合成する。一方、位置姿勢推定部１４０が推定した位置情報の割合を高いままとすると、推定誤差が蓄積されて実際の位置と解離することが考えられる。そこで振動や不連続性が認識されにくい、頭部の動きが大きいときは、目標点位置算出部１３６が算出した位置情報の割合を上げて合成する。
【００５０】
そのようにしてフィルタリングされた位置情報を、位置姿勢推定部１４０に戻すことにより、次のフレームの撮影画像における位置および姿勢の推定に用いる。出力データ生成部１４６は図５のＣＰＵ２２、ＧＰＵ２４、メインメモリ２６、出力部３６、通信部３２などで実現され、フィルタリング部１４２が出力する目標点の位置情報を用いて所定の情報処理を実施し、その結果として出力すべき画像や音声のデータを生成する。例えば上述のように、ユーザの頭部の位置や姿勢に対応する視点から見た仮想世界を左右の視差画像とし描画する。このとき姿勢の情報は位置姿勢推定部１４０から取得する。
【００５１】
この視差画像をＨＭＤ１８において左右の目の前に表示させたり、仮想世界での音声を出力したりすれば、ユーザはあたかも仮想世界に入り込んだような感覚を得られる。あるいは単に、フィルタリング部１４２からの位置情報と、位置姿勢推定部１４０からの姿勢情報を出力データとして、別途設けた情報処理装置に出力するようにしてもよい。この場合、図示する情報処理装置１０は、ＨＭＤ１８の状態検出装置として機能する。
【００５２】
図８は、重み調整部１３４が各マーカーに与える重み係数を算出する手法を説明するための図である。同図は上述のとおり仮想３次元空間に撮像装置１２の撮像面１５０とＨＭＤ１８のオブジェクトモデルを配置した様子を示している。オブジェクトモデルにおける各マーカーの位置や傾斜は当然、既知のため、位置姿勢推定部１４０が推定した位置および姿勢に従いＨＭＤ１８のオブジェクトモデルを配置すれば、仮想３次元空間におけるマーカーの法線ベクトル（例えば法線ベクトル１５２ａ、１５２ｂ）が求められる。
【００５３】
一方、当該オブジェクトモデルを撮像面１５０に射影してなるＨＭＤ１８の像１５６は、撮影画像のいわば理想形である。撮像面に対するマーカーの面の角度は、オブジェクトモデルの各マーカーから像１５６の対応する位置までのベクトル、すなわち撮像装置１２の光学中心へ収束する射影ベクトル（例えば射影ベクトル１５４ａ、１５４ｂ）と法線ベクトルのなす角度（例えば角度θａ、θｂ）に対応する。すなわち当該角度が大きいほど像の面積が小さくなり、重心位置の誤差が大きくなる。また面の角度によらず、撮影画像に写るマーカーの面積が小さいほど重心位置が誤差を含みやすい。
【００５４】
したがって定性的には、法線ベクトルと射影ベクトルとのなす角度が大きいほど、またモデル上で像の面積が小さいほど、マーカーの重心位置に与える重みを小さくする。ここでオブジェクトモデルにおいてマーカーの面を構成するポリゴンごとに法線ベクトルと射影ベクトルの内積、および像の面積を求め、それらの積をマーカー単位で合計すると、マーカー表面が曲面の場合も含め、より厳密に重み係数を決定できる。すなわちｎ番目のマーカーに対する重み係数Ｗｎを次のように決定できる。
【００５５】
【数１】
2019032599.tif 000003
【００５６】
ここでｉ（１≦ｉ≦ａ）はｎ番目のマーカーを構成するａ個のポリゴンの識別番号、ｖｐｒｏ（ｉ）およびｖｎｏｒｍａｌ（ｉ）はそれぞれ、ｉ番目のポリゴンの射影ベクトルと法線ベクトル、Ｓ（ｉ）はｉ番目のポリゴンの像の面積である。目標点位置算出部１３６は、この重み係数Ｗｎを用いてｎ番目のマーカーの重心位置Ｐｎに重みづけすることにより、目標点の位置座標Positionimageを次のように求める。
【００５７】
【数２】
2019032599.tif 000004
【００５８】
ここでＮはマーカーの総数、ｏｆｆｓｅｔｎはｎ番目のマーカーの重心位置から目標点までの３次元空間での距離である。重み係数Ｗｎを精度よく求めるため、位置姿勢推定部１４０は画像が撮影された時刻と同じ時刻でのＨＭＤ１８の位置および姿勢を推定する。フィルタリング部１４２が、式２により求めた目標点の位置座標Positionimageをフィルタリングする際に用いる推定位置情報も、画像の撮影時刻と一致させる。図９は、位置姿勢推定部１４０による位置の推定と画像の撮影時刻の関係を説明するための図である。
【００５９】
フレームレートをΔｔとすると、各フレームは図の時間軸に示すように、ｔ−Δｔ、ｔ、ｔ＋Δｔ、ｔ＋２Δｔ、・・・の時刻で撮影される。したがって撮影画像から式２により得られる目標点の位置座標Positionimageも、それらの時刻に対し求められる。図ではその位置座標を白丸で表している。一方、位置姿勢推定部１４０は、ＩＭＵセンサ６４から角速度、加速度を取得し、それらを用いてＨＭＤ１８の位置や姿勢を取得する。
【００６０】
図示する位置座標の場合、黒丸で示した、各撮影時刻に対応する位置座標を始点とし、加速度の積分演算から得られるΔｔ分の変位量を加算することで、次の撮影時刻に対応する位置座標を、矢印で示すように推定できる。このときの推定値を網掛けの丸で示している。フィルタリング部１４２は、画像から得られた位置座標Positionimageと（白丸）、ＩＭＵセンサ６４からの出力値から推定した同じ時刻の位置座標（網掛けの丸）を、所定の割合で合成することにより、当該時刻のフィルタリング後の位置座標を黒丸で示すように求める。位置姿勢推定部１４０が推定した位置座標をPositionsensor、その合成割合をｋとすると、フィルタリング後の位置座標Positionoutは次のように求められる。
【００６１】
【数３】
2019032599.tif 000005
【００６２】
フィルタリング後の位置座標Positionoutはその時刻の最終的な位置座標として出力データ生成部１４６に供給されるとともに、位置姿勢推定部１４０に与えられ、次の撮影時刻の位置を推定するための始点として用いられる。また位置姿勢推定部１４０は、フィルタリング後の位置座標Positionoutを用いて、図８で示したＨＭＤ１８のオブジェクトモデルの次の撮影時刻における配置も決定する。
【００６３】
このとき、位置座標PositionoutにあるときのＨＭＤ１８のオブジェクトモデルのマーカーの重心が、撮影画像から得られた各マーカーの重心位置と合致するように、前の撮影時刻における姿勢を決定することで、それを始点として次の撮影時刻における姿勢も正しく推定できる。重み調整部１３４はこれらの推定値を用いて、図８で示したように各マーカーの重み係数を決定する。
【００６４】
式３における合成割合ｋは、撮影画像から得た位置情報に対するフィルタリングの強さを意味する一方、（１−ｋ）は、ＩＭＵセンサ６４の出力値から位置情報を推定する際の、撮影画像から得た位置情報の帰還率を意味する。したがって上述のとおり、合成割合ｋが１に近いほど、センサの出力値の積分演算による誤差の蓄積率が大きくなり、０に近いほど、撮影画像から取得する位置情報における上述のような誤差の影響が大きくなる。
【００６５】
したがって合成割合ｋを適切に調整することにより、それらのバランスを好適に保つ。図１０は、撮影画像から得た位置情報に対する、センサの出力値から推定された位置情報の合成割合の調整手法の例を説明するための図である。この例では、ＨＭＤ１８の速度によって合成割合ｋを変化させる。ここで速度Ｖは、ＩＭＵセンサ６４の出力値に基づき取得した値を用いる。これは、撮影画像から得られた位置情報から速度を得ると、上述のような誤差や他の物体による隠蔽によって、速度自体に誤差が含まれる可能性があるためである。
【００６６】
図示するように、速度Ｖには実験などにより第１のしきい値Ｖｔｈ１、第２のしきい値Ｖｔｈ２（ただしＶｔｈ１＜Ｖｔｈ２）の２つのしきい値を設定しておく。ＨＭＤ１８の速度Ｖが０≦Ｖ＜Ｖｔｈ１の範囲にあるときはｋ＝ｋ１とする。速度ＶがＶｔｈ２≦Ｖの範囲にあるときはｋ＝ｋ２とする（ただしｋ２＜ｋ１）。それらの中間速度であるＶｔｈ１≦Ｖ＜Ｖｔｈ２の範囲では、速度Ｖの増加に対し、ｋをｋ１からｋ０まで線形に減少させる。ここでｋの最大値ｋ１や最小値ｋ０も、実験などにより好適な値を設定する。
【００６７】
このような調整により、位置情報の誤差による不連続性や振動が認識されやすい低速領域では、フィルタが強く効くようにする。一方、不連続性や振動が認識されにくい高速領域では、撮影画像から得た位置情報の帰還率を上げることにより、センサの出力値から得る位置情報の累積誤差が解消されやすくする。これによりユーザの動きの有無を含めた長期的な観点で良好な状態を保つことができる。なお合成割合ｋの変化のさせ方は図示するものに限らず、しきい値を３つ以上設けてもよいし、ｋの変化を曲線としてもよい。また各速度範囲に対し定数を設定するなど、ｋを不連続に変化させてもよい。
【００６８】
次に、これまで述べた構成によって実現できる情報処理装置の動作を説明する。図１１は、情報処理装置１０が、撮影画像およびＩＭＵセンサの出力値を用いてＨＭＤ１８の目標点の位置座標を出力する処理手順を示すフローチャートである。このフローチャートは、ユーザが情報処理装置１０を起動させ、撮像装置１２が撮影を開始した状態で開始される。まず撮影画像取得部１３０は、撮像装置１２から最初のフレームの撮影画像を取得する（Ｓ３０）。次にマーカー位置取得部１３２は、撮影画像からマーカーの像を抽出する（Ｓ３２）。撮影画像をステレオ画像とする場合、その両者に対し像の抽出を行う。
【００６９】
さらにマーカー位置取得部１３２は、抽出したマーカーの像に基づき、マーカーの重心の３次元空間における位置を取得する（Ｓ３４）。ステレオ画像の場合、図３で説明したように、左右の画像の対応する像を特定し、それらの視差に基づき撮像面からの距離を導出したうえ、３次元空間に逆射影することにより３次元での位置座標を求められる。単眼カメラの画像であっても、マーカーの像の大きさから距離を推定すれば、３次元での位置座標を求められる。一方、位置姿勢推定部１４０は、ＩＭＵセンサ６４の出力値を用いて、ＨＭＤ１８の位置と姿勢を推定する（Ｓ３６）。
【００７０】
なお最初の撮影画像に対しては、位置や姿勢の始点を適宜設定してもよいし、推定処理自体は次の時刻のフレームから開始するようにしてもよい。後者の場合、最初のフレームについては撮影画像のみから位置情報を取得し、図示するフローチャートは次のフレームの撮影画像から開始する。またＳ３６の処理は、Ｓ３２やＳ３４の処理と並列に行ってよい。続いて重み調整部１３４は、位置姿勢推定部１４０が推定した位置および姿勢に従い、ＨＭＤ１８のオブジェクトモデルを仮想３次元空間に配置したうえ、式１により重み係数を決定する（Ｓ３８）。
【００７１】
次に目標点位置算出部１３６は、決定した重み係数を用いて、式２により撮影画像に基づく目標点の位置座標を取得する（Ｓ４０）。続いてフィルタリング部１４２は、Ｓ３６で位置姿勢推定部１４０がＩＭＵセンサ６４の出力値から推定した位置情報を用いて、Ｓ４０で取得した位置情報を式３によりフィルタリングする（Ｓ４２）。このときフィルタリング部１４２は、位置姿勢推定部１４０が推定に用いたＨＭＤ１８の速度の値を取得し、それに応じて合成割合ｋを決定する。
【００７２】
フィルタリング部１４２は、そのようにして得たフィルタリング後の位置情報を、出力データ生成部１４６に出力するとともに、位置姿勢推定部１４０に帰還させる（Ｓ４４）。出力データ生成部１４６は上述のとおり、取得した位置情報を用いて適宜情報処理を実施し、表示画像を生成して表示装置１６に出力してもよいし、位置情報そのものを別の情報処理装置に出力してもよいが、同図では図示を省略している。ユーザが処理の終了操作を行うなど処理を終了させる必要がなければ（Ｓ４６のＮ）、次のフレームの撮影画像に対しＳ３０からＳ４４の処理を繰り返す。処理を終了させる必要が生じたら、全ての処理を終了させる（Ｓ４６のＹ）。
【００７３】
図１２は、本実施の形態を適用した場合の効果を例示している。同図はパンチルタ上に固定したＨＭＤ１８をヨー軸周りに回転させたときに出力される位置情報を示しており、横軸が画像の水平方向、縦軸が撮像装置１２からの距離を表す。ＨＭＤ１８を回転させることにより、眉間に対応する目標点の位置座標はおよそ円形に近い変化を示す。（ａ）は撮影画像のみから求めた位置座標であり全体的に細かい振動が確認される。これに対し、本実施の形態を導入した（ｂ）の結果では、位置座標の振動が大幅に抑えられていることがわかる。
【００７４】
以上述べた本実施の形態によれば、撮影画像からマーカーの像を抽出することにより対象物の３次元での位置情報を取得する技術において、ＩＭＵセンサの出力値を用いて位置情報をフィルタリングする。ここでＩＭＵセンサの出力値から、撮影時刻に合わせた位置情報を推定することにより、時間的なずれなく正確なフィルタリングを行える。これにより、マーカーの本来の像と、各画素を構成するセンサが検出する色との位置関係や、マーカーの見かけ上の形状やサイズの変化に起因する誤差を軽減し、位置情報の取得精度を安定させることができる。
【００７５】
また、ＩＭＵセンサから推定される位置や姿勢の情報を用いて、対象物のオブジェクトモデルを仮想空間に配置し、各マーカーの面と撮像面との角度や、マーカーを撮像面に射影したときの像の面積から、対象物における目標点の位置座標の算出にどの程度寄与させるかを決定づける重み係数をマーカーごとに決定する。これにより、フィルタリング前の位置情報であっても、マーカーの見え方に起因する誤差を極力排除できる。すなわちフィルタリングを導入しない場合でも、撮影画像におけるマーカーの像から対象物の位置座標を取得する際の精度を安定させることができる。
【００７６】
これらの構成により、マーカーの数が少なくても、また見かけの形状が向きによって変化するようなマーカーであっても、それを装備した対象物の位置情報を安定して得ることができる。結果として、ＨＭＤなどマーカーを装備させる対象物のデザインに柔軟性を持たせたり、製造コストを抑えたりすることができる。またマーカーの数が少ないことから演算コストを軽減できるとともに、マーカーを発光体とする場合には消費電力を抑えることもできる。
【００７７】
実施の形態２
本実施の形態では、実施の形態１と同様の状況において、さらにマーカーの隠蔽を考慮する。図１３は、マーカーの隠蔽が発生する状況を模式的に示している。（ａ）の撮影画像は、ＨＭＤ１８全体が写った状態を表している。この場合、実施の形態１で説明したように、オブジェクトモデルを用いて各マーカーの見え方を特定することにより、マーカーの位置情報に含まれる誤差を見積もれるため、それに応じて目標点の位置座標の算出式を調整できた。一方、（ｂ）の撮影画像では、撮像面とＨＭＤ１８との間にユーザの手が入ることにより、本来見えるべき５つのマーカーのうち２つが隠蔽されている。
【００７８】
このような隠蔽は、オブジェクトモデルを用いた誤差評価では考慮されず、発生を予測することも難しい。マーカーのいくつかが突然、隠蔽されることにより、重心が得られるマーカーの数が急に変化し、誤差特性が変動することにより目標点の位置座標も不連続に変化することがあり得る。また、比較的大きいサイズのマーカーの場合、一部が隠蔽されることにより当該マーカーの重心の位置座標が大きな誤差を含むことになる。
【００７９】
そこで本実施の形態では、本来見えるべきマーカーの面積に対する、実際に写っているマーカーの像の面積の割合によって隠蔽の有無や割合を判定し、所定の基準以上、隠蔽されているマーカーの重心位置は、目標点の位置座標算出に用いないようにする。以後、実施の形態１と異なる点に主眼を置いて説明する。本実施の形態における情報処理装置の内部回路構成および機能ブロックの構成は、実施の形態１において図５、図７で示したのと同様でよい。
【００８０】
ここで本実施の形態における上記機能は、重み調整部１３４に割り当てる。図１４は、本実施の形態における重み調整部１３４が、マーカーの隠蔽を確認し目標点の位置座標算出に用いることのできる情報に限定して目標点位置算出部１３６に出力する処理手順を示すフローチャートである。まず実施の形態１と同様、位置姿勢推定部１４０が推定した、撮影時刻と同時刻のＨＭＤ１８の位置および姿勢の情報に基づき、撮像面を含む仮想３次元空間にＨＭＤ１８のオブジェクトモデルを配置する（Ｓ５０）。
【００８１】
次に、オブジェクトモデル上の各マーカーを構成するポリゴンをそれぞれ撮像面に射影する（Ｓ５２）。このとき、法線ベクトルと射影ベクトルの内積が所定のしきい値以下であるポリゴンは、撮像面からは見えないとして射影対象から除外する。次に、隠蔽の度合いを表す指標として、可視度をマーカーごとに算出する（Ｓ５４）。可視度は基本的には上述のとおり、本来あるべきマーカーの像に対する実際に撮影画像に写っているマーカーの像の面積割合を示す。ただしマーカーの位置や見え方によって可視度の特性が変化しないように正規化する。具体例は後に述べる。
【００８２】
Ｓ５４で求めた可視度が所定のしきい値以上であれば（Ｓ５６のＹ）、隠蔽の度合いは小さいとして、実施形態１で説明したように、式１を用いて当該マーカーの重み係数を決定したうえ（Ｓ５８）、重心の位置座標とともに目標点位置算出部１３６に出力する（Ｓ６０）。一方、可視度がしきい値を超えない場合、隠蔽の度合いが大きいとして、当該マーカーの重心の位置は出力しない（Ｓ５６のＮ）。これにより目標点位置算出部１３６では、遮蔽されていない、あるいはその度合いが小さいマーカーの重心位置のみを用いて目標点が算出される。
【００８３】
全てのマーカーに対しＳ５０からＳ６０の処理を繰り返し（Ｓ６２のＮ）、全てのマーカーについて処理が完了したら、その撮影画像に対する処理を終了する（Ｓ６２のＹ）。なおここで図示した処理手順は、図１１で示したフローチャートのＳ３８の代わりとすることにより、実施の形態１と組み合わせることができる。また本実施の形態の可視度による評価のみを行う場合、Ｓ５８の処理を省略し、Ｓ６０では除外されないマーカーの重心位置のみを出力してもよい。このようにしても、隠蔽による誤差を軽減させる効果がある。
【００８４】
次に可視度について説明する。上述のとおり、単に面積の割合で可視度を定義すると、隠蔽以外の要因でも値が変化し、厳密に隠蔽の度合いを表しているといえない場合がある。まず基本的に撮影画像上の像は、オブジェクトモデルを撮像面に射影して得られるモデル上の像より大きくなる傾向がある。これは図４で示したように、撮影画像では画素単位で像の面積が決まること、デモザイク後の像は周囲の画素との補間により、本来の像の周囲まで色が拡張されやすいこと、レンズ歪みの補正により像が拡大されやすいことなどに起因する。
【００８５】
また撮影画像における像のサイズによって、そのような要因により拡張される面積の割合が変化する。図１５は、マーカーの本来の像がデモザイク後の撮影画像において拡張される様子を模式的に示している。同図は（ａ）、（ｂ）ともに画像平面を表し、内部の格子で囲まれた領域が各画素を表している。網掛けで示した領域１６０ａ、１６０ｂは本来のマーカーの像であるが、撮影画像上では画素単位で色が決まるうえ周囲の画素との補間により、それぞれ領域１６２ａ、１６２ｂに拡張される。
【００８６】
ここで、領域１６０ａ、１６０ｂをモデル上の像の面積、領域１６２ａ、１６２ｂを実際の撮影画像上の像の面積として、拡張された面積の割合を計算すると、元々の像のサイズが大きい（ａ）の場合と比較し、像のサイズが小さい（ｂ）の場合の方が拡張面積の割合が大きくなりやすい。すなわち可視度を（実際の像の面積／モデル上の像の面積）と定義すると、隠蔽がない状態においても、像のサイズによって可視度が変化してしまう。また像のサイズが小さいと、当該像と画素の境界との位置関係によって拡張の割合に大きなばらつきが生じ、その結果として可視度もばらつくようになる。
【００８７】
像のサイズが小さくなるのは、撮像面に対する角度が大きいマーカー、あるいは撮像面からの距離が大きいマーカーである。そこでそれらの状況の差による影響を抑制するため、ｎ番目のマーカーの可視度Ｄｎを次のように定義する。
【００８８】
【数４】
2019032599.tif 000006
【００８９】
ここでｖｐｒｏ（ｎ）およびｖｎｏｒｍａｌ（ｎ）はそれぞれ、ｎ番目のマーカーの射影ベクトルと法線ベクトル、Ｓｉｍａｇｅ（ｎ）は実際の撮影画像におけるｎ番目のマーカーの像の面積である。式１では射影ベクトルと法線ベクトルがポリゴンごとであったが、式４ではマーカーごととしている。したがって、図１４のＳ５２において射影対象となったポリゴンの射影ベクトルの平均値、法線ベクトルの平均値を、マーカーごとの射影ベクトルｖｐｒｏ（ｎ）および法線ベクトルｖｎｏｒｍａｌ（ｎ）とする。
【００９０】
実際の像の面積Ｓｉｍａｇｅ（ｎ）に、マーカー全体の射影ベクトルと法線ベクトルの内積を乗算することにより、Ｓｉｍａｇｅ（ｎ）が大きい方向にばらついても、角度が大きく誤差を含みやすいマーカーほどその影響を抑えられる。また分母のＳ（ｎ）は、オブジェクトモデルを撮像面に射影したときの、ｎ番目のマーカーの像の面積である。これはＳ５２において射影したポリゴンの像の面積を、マーカーごとに合計した値である。ただし分解能を画素単位とする。
【００９１】
すなわちオブジェクトモデル上のマーカーを射影する撮像面に、実際の撮影画像と同じ解像度で画素領域を設定し、本来は画素より小さい分解能で得られているモデル上の像を、画素単位の像とする。図１５の例を用いると、モデル上の像の領域１６０ａ、１６０ｂから、画素単位の領域１６２ａ、１６２ｂを疑似的に作りだし、その面積をＳ（ｎ）とする。このように可視度を定義することにより、像のサイズによらず同じ条件で隠蔽の度合いを評価できる。
【００９２】
図１６は、正規化された可視度を用いることによる効果を示している。同図は、マーカーの像の面積および可視度の、ＨＭＤ１８の撮像面からの距離に対する変化を表しており、（ａ）と（ｂ）は、ＨＭＤ１８上での位置、ひいては撮像面に対する角度が異なるマーカーを対象としている。左側に示された面積を表すグラフにおいて、データ１７０ａ、１７０ｂは実際の撮影画像におけるマーカーの像の面積、データ１７２ａ、１７２ｂは、オブジェクトモデルを撮像面に射影してなるモデル上の像の面積である。
【００９３】
いずれも撮像面からの距離が大きくなるほど面積が減少するが、上述した理由により撮影画像上の像の面積は、モデル上の像の面積より常に大きくなるとともに、距離が大きいほどその解離の割合が大きくなる。これらの面積比をそのまま可視度として採用すると、右側のグラフにおけるデータ１７６ａ、１７６ｂのように、距離に対して可視度が増加してしまう。またデータ１７６ａとデータ１７６ｂでは、マーカーの角度が異なることにより、距離に対する可視度の依存性も異なっている。
【００９４】
すなわちこのような定義による可視度は、隠蔽の度合いのほかに、マーカーの距離や撮像面に対する角度にも依存することになる。そこでまず、上述のようにモデル上の像を画素単位に拡張すると、その面積は、面積を表すグラフにおけるデータ１７４ａ、１７４ｂのように、実際の像のデータ１７０ａ、１７０ｂに近づく。これをＳ（ｎ）として式４のように可視度を定義すると、右側の可視度のグラフのデータ１７８ａ、１７８ｂのように、距離に対する依存性や角度による差がほぼ解消される。
【００９５】
図１７は、ＨＭＤ１８の姿勢を様々に変化させたときの可視度の変化を示している。具体的には、姿勢のパラメータとして２軸の回転角を水平面の位置座標で表し、各姿勢における可視度を縦軸方向にプロットしている。また、プロットされた点群を近似した曲面も示している。（ａ）と（ｂ）はそれぞれ、図１６の（ａ）と（ｂ）で示したのと同じマーカーを対象としている。面１８０ａ、１８０ｂは、単純にモデル上の像に対する撮影画像上の像の面積比を可視度とした場合、平面１８２ａ、１８２ｂは式４を可視度とした場合である。式４の可視度によれば、ＨＭＤ１８の姿勢やマーカーの角度に対する依存性が小さく、純粋に隠蔽の度合いを表す指標として用いることができることがわかる。
【００９６】
図１８は、位置情報の有効／無効を判定するために可視度に設ける基準を例示している。上述のように正規化された可視度を用いることにより、マーカーの像のサイズによらず単純なしきい値判定により有効／無効の判定が可能になる。すなわち可視度には、実験などによりしきい値Ｄｔｈを設定しておく。そして各マーカーの可視度Ｄｎが０≦Ｄｎ＜Ｄｔｈの範囲にあるとき、そのマーカーの位置情報を無効とする。可視度ＤｎがＤｔｈ≦Ｄｎの範囲にあるとき、そのマーカーの位置情報を有効とし、目標点の位置の算出に用いる。なお図示するように可視度Ｄｎは、上述したような撮影画像上の像の膨張により１．０を超える場合がある。
【００９７】
本実施の形態においても実施の形態１で説明したのと同様に、位置姿勢推定部１４０が推定した位置座標を用いて目標点の位置座標をフィルタリングしてよい。この場合、目標点位置算出部１３６が算出する、撮影画像に基づく位置情報には、マーカーが隠蔽されたか否かの判定結果が反映されている。例えば５つのマーカーのうち３つのマーカーの位置情報が隠蔽により無効となると、残りの２つのマーカーの重心の位置座標のみから目標点の位置座標を算出することになる。このようにして誤差特性が突然変化した結果、表示画像など後段の処理結果が不連続に変化することが考えられる。
【００９８】
そこで、位置姿勢推定部１４０が推定する位置座標との合成割合ｋを、隠蔽が生じた時点あるいはその直前の段階から所定時間、増加させることにより、シームレスな状態移行を実現する。図１９は、可視度に基づく位置情報の有効／無効判定に基づき、推定位置情報の合成割合を制御するタイムチャートを例示している。同図上段は重み調整部１３４が、可視度のしきい値判定によって、あるマーカーの位置情報の有効、無効を切り替えるタイミングを例示している。下段はそれに応じて、フィルタリング部１４２が、位置姿勢推定部１４０が推定した位置情報の混合割合ｋを変化させるタイミングを示している。
【００９９】
図示するように、時刻ｔ０においてあるマーカーの隠蔽の度合いが大きくなったとして、その位置情報が有効から無効へ切り替えられたとする。このときフィルタリング部１４２は、当該時刻ｔ０において合成割合をｋ２からｋ３（ｋ３＞ｋ２）に増加させ、所定時間Δｔ経過後に元の合成割合ｋ２に戻す。さらにその後の時刻ｔ１において隠蔽が解消されたとして、位置情報が無効から有効に切り替えられた場合も、フィルタリング部１４２は当該時刻ｔ１において合成割合をｋ２からｋ３に増加させ、所定時間Δｔ経過後に元の合成割合ｋ２に戻す。
【０１００】
図示するような位置情報の有効／無効の判定は、マーカー個々になされるため、フィルタリング部１４２は、いずれかのマーカーで隠蔽が発生したり解消されたりする都度、合成割合ｋを所定時間Δｔだけ増加させる。このようにすることで、目標点の位置情報の算出に用いられるマーカーの数の増減によって、位置情報、ひいてはそれを用いた情報処理や表示画像の突発的な変化を抑えることができる。
【０１０１】
なおマーカーごとの位置情報の有効／無効の判定は可視度に対するしきい値Ｄｔｈによってなされるため、フィルタリング部１４２も可視度を確認するようにすれば、有効／無効が切り替えられるより前の段階で混合割合を調整できる。すなわち可視度に対し別のしきい値Ｄｔｈ１、Ｄｔｈ２（ただしＤｔｈ１＞Ｄｔｈ＞Ｄｔｈ２）を設定しておき、有効から無効への切り替え時は、可視度が第１のしきい値Ｄｔｈ１以下となったら混合割合ｋを所定時間、増加させる。無効から有効への切り替え時は、可視度が第２のしきい値Ｄｔｈ２以上となったら混合割合ｋを所定時間、増加させる。
【０１０２】
また図示する例では、混合割合ｋを定数ｋ２、ｋ３のどちらかとしたが、それに限る主旨ではなく、徐々に増減させてもよい。あるいは複数の混合割合ｋを設定し、段階的に増減させてもよい。無効となっているマーカーの数によって混合割合ｋを変化させてもよい。さらに、実施の形態１で説明したようにＨＭＤ１８の速度に基づく混合割合の調整と組み合わせてもよい。この場合、図示するような調整を、ＨＭＤ１８の速度が所定のしきい値より小さいときのみに行ってもよい。あるいは、ＨＭＤ１８の速度によらず図示するような調整を行い、さらに図１０で示したような速度に依存した調整を併存させてもよい。
【０１０３】
以上述べた本実施の形態によれば、マーカーの隠蔽の度合いを表す可視度を導入し、隠蔽の度合いが大きいマーカーの位置情報は、目標点の位置情報の算出に用いる対象から除外する。これにより信頼性の高いマーカーのみを用いて対象物の位置情報を取得できるため、比較的大きなサイズのマーカーを用いても精度を安定化できる。目標点の位置情報の算出に用いるマーカーの数が変化したときは、ＩＭＵセンサから推定される位置情報の合成割合を一時的に増加させる。これにより誤差特性が突然変化し、出力データが不連続に変動するのを抑えることができる。
【０１０４】
また隠蔽の度合いを評価する可視度として、マーカーの姿勢や距離による像のサイズの変化への依存が生じないよう正規化したパラメータを用いる。これにより位置情報の有効／無効を判定する処理がシンプルになり、処理の負荷を増大させることなく厳密な判定が行える。またマーカーのサイズや形状が異なっても、隠蔽発生の検出感度を均一化できるため、処理精度への影響を少なく、デザインの自由度を増やすことができる。さらに実施の形態１との組み合わせが可能なため、実施の形態１で上述した効果も同様に得られる。
【０１０５】
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【０１０６】
１０  情報処理装置、  １２  撮像装置、  １８  ＨＭＤ、  ２２  ＣＰＵ、  ２４  ＧＰＵ、  ２６  メインメモリ、  ６４  ＩＭＵセンサ、  １３０  撮影画像取得部、  １３２  マーカー位置取得部、  １３４  重み調整部、  １３６  目標点位置算出部、  １３８  センサデータ取得部、  １４０  位置姿勢推定部、  １４２  フィルタリング部、  １４４  モデルデータ格納部、  １４６  出力データ生成部。
【図１】
2019032599.tif 000007
【図２】
2019032599.tif 000008
【図３】
2019032599.tif 000009
【図４】
2019032599.tif 000010
【図５】
2019032599.tif 000011
【図６】
2019032599.tif 000012
【図７】
2019032599.tif 000013
【図８】
2019032599.tif 000014
【図９】
2019032599.tif 000015
【図１０】
2019032599.tif 000016
【図１１】
2019032599.tif 000017
【図１２】
2019032599.tif 000018
【図１３】
2019032599.tif 000019
【図１４】
2019032599.tif 000020
【図１５】
2019032599.tif 000021
【図１６】
2019032599.tif 000022
【図１７】
2019032599.tif 000023
【図１８】
2019032599.tif 000024
【図１９】
2019032599.tif 000025