(57)【特許請求の範囲】
【請求項１】
撮像装置によって撮像される画像から、前記撮像装置の位置姿勢を導出するために用いられる特徴を取得する取得手段と、
前記画像に含まれる複数の部分領域を、前記画像に存在しない新たな特徴を追加するための複数の候補領域として設定する設定手段と、
前記設定された複数の候補領域を評価する評価手段と、
前記評価された複数の候補領域に基づいて、前記新たな特徴を追加すべき位置と向きの少なくとも何れかを決定する決定手段と、
前記決定された位置と向きの少なくとも何れかを示す情報を前記画像に重畳して出力する出力手段とを備えることを特徴とする情報処理装置。
【請求項２】
更に、前記取得された特徴に基づいて前記画像内における前記特徴の分布を取得する分布取得手段を備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記決定手段は、前記分布がより均一になるように、前記位置と向きの少なくとも何れかを決定することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記決定手段は、前記候補領域ごとに、前記取得された特徴の数をカウントし、前記カウントされた候補領域ごとの特徴の数に基づいて、前記画像内における前記特徴の分布がより均一になるように、前記追加すべき位置と向きの少なくとも何れかを決定することを特徴とする請求項１に記載の情報処理装置。
【請求項５】
更に、前記特徴の三次元位置を求める手段を備え、
前記決定手段は、前記特徴の三次元位置の分布がより均一になるように、前記追加すべき位置と向きの少なくとも何れかを決定することを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記決定手段は、前記取得された特徴の分布がより拡がるように、前記追加すべき位置と向きの少なくとも何れかを決定することを特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記決定手段は、前記取得された特徴の分布に新たに特徴を追加して得られる分布に基づいて導出される前記撮像装置の位置姿勢の精度が高くなるように、前記追加すべき位置と向きの少なくとも何れかを決定することを特徴とする請求項１に記載の情報処理装置。
【請求項８】
更に、前記特徴の分布の評価値を求める評価手段を備えることを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記決定手段は、前記評価値が増大するように、前記追加すべき位置と向きの少なくとも何れかを決定することを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
更に、前記評価値の目標値を取得する手段を備え、
前記決定手段は、前記評価値が、前記目標値を超える位置と向きの少なくとも何れかを、前記追加すべき位置と向きの少なくとも何れかとして決定する特徴とする請求項８に記載の情報処理装置。
【請求項１１】
前記決定手段は、前記評価値の向上量が所定の値よりも多い位置と向きの少なくとも何れかを、前記追加すべき位置と向きの少なくとも何れかとして決定することを特徴とする請求項８に記載の情報処理装置。
【請求項１２】
更に、現実のシーンのうち、前記特徴を追加可能な領域を設定する設定手段を備え、
前記決定手段は、前記設定された領域の中から、前記追加すべき位置を決定することを特徴とする請求項１乃至１１のいずれか１項に記載の情報処理装置。
【請求項１３】
更に、現実のシーンのうち、前記特徴を追加しない領域を設定する第２の設定手段を備え、
前記決定手段は、前記第２の設定手段で設定された領域を除いた領域から、前記追加すべき位置を決定することを特徴とする請求項１乃至１１のいずれか１項に記載の情報処理装置。
【請求項１４】
前記出力手段は、前記追加すべき位置と向きの少なくとも何れかに関する情報を、前記撮像装置で撮像した画像に重畳して外部の表示部に表示させることを特徴とする請求項１に記載の情報処理装置。
【請求項１５】
前記撮像装置は、頭部装着型表示装置に備え付けられていることを特徴とする請求項１乃至１４のいずれか１項に記載の情報処理装置。
【請求項１６】
更に、前記特徴に基づいて前記撮像装置の位置姿勢を導出する導出手段を更に備えることを特徴とする請求項１乃至１５のいずれか１項に記載の情報処理装置。
【請求項１７】
撮像装置によって撮像される現実のシーンに含まれ、前記撮像装置の位置姿勢を導出するために用いられる特徴を取得する手段と、
前記取得された特徴の分布に基づいて、新たに、前記現実のシーンに含まれる特徴のうち、削除すべき特徴を決定する手段と、
前記決定された特徴を出力する手段とを備えることを特徴とする情報処理装置。
【請求項１８】
撮像装置によって撮像される画像から、前記撮像装置の位置姿勢を導出するために用いられる特徴を取得する取得工程と、
前記画像に含まれる複数の部分領域を、前記画像に存在しない新たな特徴を追加するための複数の候補領域として設定する設定工程と、
前記設定された複数の候補領域を評価する評価工程と、
前記評価された複数の候補領域に基づいて、前記新たな特徴を追加すべき位置と向きの少なくとも何れかを決定する決定工程と、
前記決定された位置と向きの少なくとも何れかを示す情報を前記画像に重畳して出力する出力工程とを備えることを特徴とする情報処理方法。
【請求項１９】
コンピュータを、
撮像装置によって撮像される画像から、前記撮像装置の位置姿勢を導出するために用いられる特徴を取得する取得手段と、
前記画像に含まれる複数の部分領域を、前記画像に存在しない新たな特徴を追加するための複数の候補領域として設定する設定手段と、
前記設定された複数の候補領域を評価する評価手段と、
前記評価された複数の候補領域に基づいて、前記新たな特徴を追加すべき位置と向きの少なくとも何れかを決定する決定手段と、
前記決定された位置と向きの少なくとも何れかを示す情報を前記画像に重畳して出力する出力手段とを備えることを特徴とする情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラによって撮影された画像中の特徴に基づいてカメラの位置姿勢を導出する技術に関する。
【背景技術】
【０００２】
カメラで撮像した画像に映り込んだ特徴（自然特徴点やマーカーなど）に基づいてカメラの位置姿勢を算出する技術はＭｉｘｅｄ  Ｒｅａｌｉｔｙ（ＭＲ）、Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ（ＡＲ）などで広く用いられている。
【０００３】
このような技術では一般的にシーン中における特徴の配置状況で算出されるカメラの位置姿勢の精度が変動する為、所望の精度でカメラの位置姿勢を算出するためには事前にカメラの位置姿勢の計算精度が高くなるように特徴の配置を調整する必要がある。しかしながらカメラの位置姿勢の計算精度を高くすることができる特徴の配置をユーザーが決めるのは難しい。
【０００４】
このためカメラの位置姿勢の計算精度を高くする為に特徴を配置する作業を補助する技術が開発されている。特許文献１は、特徴としてマーカー（識別子を所定の幾何模様にコーディングした印刷物）を用いてカメラ位置姿勢の推定を行う場合において、マーカーの配置を補助する技術を開示している。この技術では、現在のマーカーの配置における、カメラ位置姿勢を高精度に計算可能な空間領域を可視化する。ユーザーはカメラ位置姿勢を高精度に計算可能な空間領域を確認しながら、この領域が所望の領域をカバーするように対話的にマーカーを追加する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１２７４６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながらこの方法では試しにマーカーを配置してその結果を確認する試行錯誤を繰り返す必要があり特徴の設置作業に時間がかかる。
【０００７】
本発明は以上の課題を鑑みてなされたものであり、特徴の設置作業に要する時間を短縮することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の情報処理装置は、例えば、撮像装置によって撮像される画像から、前記撮像装置の位置姿勢を導出するために用いられる特徴を取得する取得手段と、前記画像に含まれる複数の部分領域を、前記画像に存在しない新たな特徴を追加するための複数の候補領域として設定する設定手段と、前記設定された複数の候補領域を評価する評価手段と、前記評価された複数の候補領域に基づいて、前記新たな特徴を追加すべき位置と向きの少なくとも何れかを決定する決定手段と、前記決定された位置と向きの少なくとも何れかを示す情報を前記画像に重畳して出力する出力手段とを備える。
【発明の効果】
【０００９】
本発明により、特徴の設置作業に要する時間を短縮できる。
【図面の簡単な説明】
【００１０】
【図１】本発明に係る情報処理装置のハードウェア構成を示す。
【図２】本発明に係る装置の処理モジュールの構成を示す。
【図３】本発明に係るフローチャートを示す。
【図４】本発明に係る取得画像と特徴検出結果の一例を示す。
【図５】本発明に係る特徴追加位置の決定方法のフローチャートを示す。
【図６】本発明に係る特徴追加位置を提示する画面の一例を示す。
【図７】本発明に係る装置の処理モジュールの構成を示す。
【図８】本発明に係る特徴追加位置の決定方法のフローチャートを示す。
【図９】本発明に係る特徴追加位置を提示する画面の一例、特徴物体の追加位置姿勢を提示する画面の一例を示す。
【図１０】本発明に係る特徴追加位置候補を設定する画面の一例、特徴物体追加位置姿勢候補を設定する画面の一例、特徴を追加し得る領域を設定する画像の一例を示す。
【図１１】本発明に係る取得画像と特徴検出結果の一例、及び除去すべき特徴を提示する画面の一例を示す。
【発明を実施するための形態】
【００１１】
本発明にかかる各実施形態を説明するのに先立ち、各実施形態に示す情報処理装置が実装されるハードウェア構成について、図１を用いて説明する。
【００１２】
図１は、本実施形態における情報装置２００のハードウェア構成図である。同図において、ＣＰＵ１１０は、バス１００を介して接続する各デバイスを統括的に制御する。ＣＰＵ１１０は、読み出し専用メモリ（ＲＯＭ）１２０に記憶された処理ステップやプログラムを読み出して実行する。オペレーティングシステム（ＯＳ）をはじめ、本実施形態に係る各処理プログラム、デバイスドライバ等はＲＯＭ１２０に記憶されており、ランダムアクセスメモリ（ＲＡＭ）１３０に一時記憶され、ＣＰＵ１１０によって適宜実行される。また、入力Ｉ／Ｆ１４０は、外部の装置（表示装置や操作装置など）から情報処理装置２００で処理可能な形式で入力信号として入力する。また、出力Ｉ／Ｆ１５０は、外部の装置（表示装置）へ表示装置が処理可能な形式で出力信号として出力する。（第１の実施形態）
本実施形態ではカメラ位置姿勢に基づいて現実世界の画像に仮想コンテンツを重畳表示するＭＲシステムの事前セットアップにおける本発明の実施形態の一例を説明する。本ＭＲシステムはヘッドマウントディスプレイ（以下、頭部装着型表示装置またはＨＭＤ）に搭載されているカメラでシーンの画像を取得し（画像取得）、画像から特徴としてコーナー点を検出する。そして時系列で取得した画像間のコーナー点の対応に基づいてカメラの位置姿勢を算出しカメラ位置姿勢に基づいて取得画像上に仮想コンテンツを重畳して表示する。本実施形態ではユーザーがＭＲシステムを使用するシーンをＨＭＤを装着して観察し、観察したシーンにおいてカメラ位置姿勢を高精度に計算するために好適な特徴追加位置、すなわちコーナー点が検出可能な模様を付与すべき位置を提示する方法を説明する。
【００１３】
本実施形態ではカメラが観測し得る特徴の分布として画像中のコーナー点の位置の分布をユーザーがＨＭＤを装着して撮影した画像から取得する。コーナー点の検出位置は画像中に均一に分布している方がカメラ位置姿勢を高精度に計算できる。そこでコーナー点の分布の良し悪しをコーナー点の分布の均一度を表す評価値で評価し、評価値が高くなるように特徴追加位置を決定し、ＨＭＤのディスプレイ（表示部）上に出力する。以降本実施形態の詳細を説明する。
【００１４】
図２は本実施形態に係る情報処理装置２００のモジュール構成と外部装置であるＨＭＤ２１０との接続を示した図である。
【００１５】
ＨＭＤ２１０には撮像装置２１１として画像を撮影可能なカメラと表示装置２１２として液晶ディスプレイが搭載されている。
【００１６】
特徴分布取得部２０１は、カメラが観測し得る特徴の分布を取得するモジュールでありＨＭＤ２１０の撮像装置２１１で撮影された画像からコーナー点を検出し、検出位置の分布を取得する。
【００１７】
特徴追加位置決定部２０２は、特徴分布取得部２０１が取得した特徴の分布に基づいて特徴を追加すべき位置を決定するモジュールであり特徴の分布の評価値を大きく向上させる特徴追加位置を算出する。
【００１８】
特徴追加位置出力部２０３は、特徴追加位置決定部２０２が決定した特徴追加位置を出力するモジュールであり、特徴追加位置をＨＭＤ２１０の表示装置２１２に出力する。
【００１９】
これらの各機能部は、ＣＰＵ１１０が、ＲＯＭ１２０に格納されたプログラムをＲＡＭ１３０に展開し、後述する各フローチャートに従った処理を実行することで実現されている。また例えば、ＣＰＵ１５１０を用いたソフトウェア処理の代替としてハードウェアを構成する場合には、ここで説明する各機能部の処理に対応させた演算部や回路を構成すればよい。
【００２０】
次に本実施形態の処理の詳細を図３のフローチャートに沿って説明する。
【００２１】
（ステップＳ３０１）
ステップＳ３０１では、特徴分布取得部２０１が、カメラが観測し得る特徴の分布を取得する。本実施形態においてはＨＭＤ２１０に内蔵された撮像装置２１１から画像を取得し、その画像からコーナー点特徴を検出して得られるコーナー点の座標値のリストを、カメラが観測し得る特徴の分布とする。図４（ａ）は取得した画像の一例であり図４（ｂ）は取得画像から検出したコーナー点を図示したものである。図中の黒丸が検出したコーナー点である。コーナー点を検出する方法は様々な方法が提案されているが、本実施形態では非特許文献１で開示されているコーナー点検出方法を用いる。
【００２２】
＜非特許文献１＞  Ｅ．Ｒｏｓｔｅｎ  ａｎｄ  Ｔ．Ｄｒｕｍｍｏｎｄ（Ｍａｙ  ２００６）．“Ｍａｃｈｉｎｅ  ｌｅａｒｎｉｎｇ  ｆｏｒ  ｈｉｇｈ−ｓｐｅｅｄ  ｃｏｒｎｅｒ  ｄｅｔｅｃｔｉｏｎ”．Ｅｕｒｏｐｅａｎ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ．
（ステップＳ３０２）
ステップＳ３０２では、特徴追加位置決定部２０２が、特徴の分布、具体的には画像上におけるコーナー点の位置の分布に基づいて特徴追加位置を決定する。本ステップの詳細な処理内容については、図５を用いて後述する。
【００２３】
（ステップＳ３０３）
ステップＳ３０３では、特徴追加位置出力部２０３が、ステップＳ３０２で決定した特徴追加位置を図示する画像、具体的にはステップＳ３０２で算出した追加位置に対応する矩形領域に半透明の色を付けた画像を生成しＨＭＤ２１０の表示装置２１２に出力する。ＨＭＤ２１０は、撮像装置２１１で撮像した画像に特徴追加位置を図示する画像を重畳してディスプレイに出力することで特徴追加位置を提示する。図６（ａ）は図４（ａ）で示した画像がカメラで撮影されたときに特徴追加位置を提示する画像の一例である。６０１のように色付けされた分割領域が特徴を追加すべき位置を表す。なお、分割領域を色付けして提示する以外にも、例えば円や吹き出しといった領域を囲む図形や矢印で追加すべき位置を指示しても良い。また、ステップＳ３０３で決定した特徴追加すべき位置が一つもない場合は、特徴を追加しなくてもカメラ位置姿勢計算の品質が十分に高い旨を表示してもよい。
【００２４】
次に図５のフローチャートを用いてステップＳ３０２の処理内容を説明する。
【００２５】
（ステップＳ５０１）
ステップＳ５０１では、特徴追加位置決定部２０２が、ステップＳ３０１で取得した特徴の分布に対して良し悪しを評価する評価値を算出して保持する。評価値は画像中のコーナー点の位置の分布の均一度を表す値であり次の手順で任意の特徴の分布に対して算出できる。すなわち画像を互いに重複しない所定のサイズの矩形領域に分割しそれぞれの分割領域に対して当該領域にコーナー点が一つ以上含まれる場合は評価値に１を加算して得られる総和を評価値とする。すなわち、矩形領域ごとにコーナー点の数をカウントし、１つ以上の場合に、評価値を１加算する。ここで矩形領域の大きさは小さくすればするほど、細かく評価できるようになるが、少なくともコーナー点が検出できる程度の大きさになるようにすることが必要であるし計算負荷も増える。また、矩形領域の大きさを画像全体に対してあまりにも大きくしてしまうと矩形領域の数が少なくなりすぎて（例えば５以下など）カメラの位置姿勢の計算において安定しなくなる。以上に鑑みて矩形領域をどのような大きさで設定するかを決定すればよい。
【００２６】
（ステップＳ５０２）
ステップＳ５０２では、特徴追加位置決定部２０２が、特徴を追加し得る複数の位置を特徴追加位置候補として生成する。具体的には、ステップＳ５０１と同様に画像を互いに重複しない所定のサイズの矩形領域に分割し、それぞれの矩形領域の中央を特徴追加位置候補として保持する。
【００２７】
（ステップＳ５０３）
ステップＳ５０３は、特徴追加位置決定部２０２が、ステップＳ５０２で生成した各特徴追加位置候補に対して処理を行うループである。
【００２８】
（ステップＳ５０４）
ステップＳ５０４では、特徴追加位置決定部２０２が、ステップＳ３０１で取得した特徴の分布に対して各特徴追加位置候補に特徴を追加した場合の分布に対してステップＳ５０１と同様に評価値を算出して保持する。
【００２９】
（ステップＳ５０５）
ステップＳ５０５では、特徴追加位置決定部２０２が、ステップＳ５０２で生成した特徴追加位置候補の中から各特徴追加位置候補において特徴を追加した場合の評価値の向上量（ステップＳ５０４で算出した評価値のステップＳ５０１で算出した評価値からの増分）が所定の値以上となる特徴追加位置候補を取り出す。本実施形態のステップＳ５０１で説明した方法で評価値を計算した場合、評価値の向上量は０か１である。ここでは上記所定の値を１として評価値の向上量が１である特徴追加位置候補を取り出す。
【００３０】
以上、高精度にカメラの位置姿勢を算出することを可能にするために特徴を追加すべき位置を決定し、ユーザーに提示する方法を説明した。こうすることでユーザーは試行錯誤をせずに特徴を追加すべき位置が分かるようになり特徴の設置作業を短縮することができる。
【００３１】
（第２の実施形態）
第１の実施形態では特徴の分布として画像上における二次元位置の分布を取得して特徴追加位置を決定したが、本実施形態では特徴の三次元位置の分布を取得して特徴追加位置を決定する。本実施形態では、第１の実施形態と特徴の分布の算出、特徴追加位置の決定方法が異なる。本実施形態ではＨＭＤに、さらに三次元情報計測装置を備えることで撮像装置から取得した画像から検出されたコーナー点の三次元位置情報を取得する。そしてコーナー点の三次元位置の分布の均一度を表す評価値を算出し、この評価値を高くする特徴追加位置を決定する。以下、本実施形態の処理の詳細を説明する。
【００３２】
図７は本実施形態に係る情報処理装置７００のモジュール構成と外部装置であるＨＭＤ７１０との接続を示した図である。本実施形態では第１、第２の実施形態におけるＨＭＤの構成に三次元計測装置７１１が追加されている。三次元計測装置は内部に所定のパターンの赤外光を投光する装置と赤外画像を撮像する装置を有し、アクティブステレオ法によってＨＭＤ７１０の撮像装置２１１が撮像する画像の各画素の距離値を計測する装置である。
【００３３】
本実施形態の処理の詳細を図３のフローチャートに沿って説明する。
【００３４】
（ステップＳ３０１）
ステップＳ３０１では、特徴分布取得部２０１が、ユーザーが装着しているＨＭＤが観測し得る特徴の分布を取得する。本実施形態においてはＨＭＤが観測するコーナー点の三次元位置の分布を取得する。具体的にはＨＭＤ７１０に内蔵された撮像装置２１１から画像を取得し、その画像からコーナー点特徴を検出する。そして三次元計測装置７１１からコーナー点が検出された画素の距離値を取得することでコーナー点のカメラから見た三次元位置を算出する。
【００３５】
（ステップＳ３０２）
ステップＳ３０２では、特徴追加位置決定部２０２が、特徴の分布、具体的にはカメラから見たコーナー点の三次元位置の分布に基づいて特徴追加位置を決定する。本ステップの処理内容については図５を用いて後述する。
【００３６】
（ステップＳ３０３）
ステップＳ３０３では、特徴追加位置出力部２０３が、ステップＳ３０２で決定した特徴追加位置を図示する画像を生成してＨＭＤ７１０の表示装置２１２に出力することで提示する。具体的な方法は第１の実施形態と同様の方法で提示する。
【００３７】
次に図５のフローチャートを用いてステップＳ３０２の処理内容を説明する。
【００３８】
（ステップＳ５０１）
ステップＳ５０１では、ステップＳ３０１で取得した特徴の分布の良し悪しを評価する評価値を算出して保持する。評価値は、画像中のコーナー点の三次元位置の分布の均一度を表す値であり次の手順で任意の特徴の分布に対して算出できる。
【００３９】
具体的には、まず、カメラが観測し得る空間を分割したボクセル空間を生成する。ボクセル空間を生成する範囲は、ＭＲシステムがカメラ位置姿勢の計算に使用する特徴が存在し得る範囲である。各ボクセルに対して当該ボクセルにコーナー点が一つ以上含まれる場合は評価値に１を加算して得られる総和を評価値とする。
【００４０】
（ステップＳ５０２）
ステップＳ５０２では、特徴追加位置決定部２０２が、特徴を追加し得る複数の位置を、特徴追加位置候補として生成する。具体的には画像を所定の数の互いに重複しない矩形領域に分割し、それぞれの矩形領域に属する画素の三次元位置を三次元計測装置７１１から取得し、その平均をとることで算出した三次元位置のうち、カメラから見た距離が所定の範囲内に収まる三次元位置を特徴追加位置候補として保持する。矩形領域の分割については第１の実施形態と同様に行えばよい。
【００４１】
（ステップＳ５０３）
ステップＳ５０３は、特徴追加位置決定部２０２が、ステップＳ５０２で生成した各特徴追加位置候補に対して処理を行うループを開始する。
【００４２】
（ステップＳ５０４）
ステップＳ５０４では、特徴追加位置決定部２０２が、ステップＳ３０１で取得した特徴の分布に対して各特徴追加位置候補において特徴を追加した場合の分布においてステップＳ５０１と同様に評価値を算出して保持する。
【００４３】
（ステップＳ５０５）
ステップＳ５０５では、特徴追加位置決定部２０２が、ステップＳ５０２で生成した特徴追加位置候補の中から各特徴追加位置候補において特徴を追加した場合の評価値の向上量（ステップＳ５０４で算出した評価値のステップＳ５０１で算出した評価値からの増分）が所定の値以上となる特徴追加位置候補を取り出す。本実施形態のステップＳ５０１で説明した方法で評価値を計算した場合、評価値の向上（増大）量は０か１である。ここでは上記所定の値を１として評価値の向上量が１である特徴追加位置候補を取り出す。
【００４４】
以上、高精度にカメラの位置姿勢を算出することを可能にするために特徴を追加すべき位置を特徴の三次元位置の分布に基づいて決定する方法を説明した。このように特徴の三次元の分布を考慮することで高精度にカメラの位置姿勢を算出することを可能にするために特徴を追加すべき位置をより正確に決定することができる。
【００４５】
［変形例２−１］
（分布の均一さに加えて数を考慮した評価値とする）
第２の実施形態では、ステップＳ３０２において、コーナー点特徴を用いてカメラ位置姿勢計算するときのコーナー点の分布は空間中での位置が均一に分布している方が望ましいと考えたが、コーナー点の分布は空間中での位置が均一に且つ多数分布しているときに良好であると考えてもよい。カメラ位置姿勢を計算する場合、第２の実施形態で定義した分布の均一さを表す評価値が同じである特徴分布においてはその分布している特徴の数が多い方が各対応点間距離のランダムな誤差の影響を受けにくくなる。このため分布数も考慮することでより適切に特徴追加位置を決定することが可能になる。
【００４６】
本変形例では分布が均一で且つ数が多いことを表す評価値ｅを次のように定義する。
【００４７】
【数１】
0006723798.tif 000002
ここでｒは各ボクセル、Ｒは全ボクセルの集合、ｃｒはｒに含まれるコーナー点数、α、βはそれぞれカメラ位置姿勢精度に対して特徴の分布の広さの影響と数の影響のバランスを決定する正の実数のパラメータである。第２の実施形態のステップＳ５０１で用いた評価値の定義を上記で説明した評価値の定義に置き換える。
【００４８】
なお、上記評価値は第１の実施形態においても同様に適用可能である。その場合はｒを第１の実施形態のステップＳ５０２で生成したそれぞれの矩形領域、Ｒを第１の実施形態のステップＳ５０２で生成した全矩形領域の集合とすることでコーナー点の画像中での位置の均一さを評価する。
【００４９】
以上のように特徴の分布の均一さに加えて数の多さも考慮することで高精度にカメラの位置姿勢を算出することを可能にするために特徴を追加すべき位置をより正確に決定することができる。
【００５０】
［変形例２−２］
（向きの分布の均一さも考慮して特徴追加位置を決定）
第２の実施形態では特徴の三次元位置の分布に基づいて特徴の分布を評価したが、特徴の向きの分布も考慮して特徴を追加位置と向きを決定し提示してもよい。本変形例では第２の実施形態で説明した装置構成において特徴が存在する面の法線方向を特徴の向きとして算出し、特徴の三次元位置と向きの分布が均一になるように特徴の追加位置・向きを決定する方法についてこれまでと処理内容が異なる部分を説明する。
【００５１】
（ステップＳ３０１）
ステップＳ３０１では、特徴分布取得部２０１が、ＭＲシステムを使用するシーンにおいてカメラが観測し得る特徴の分布、具体的にはコーナー点の三次元位置と向きの分布を取得する。コーナー点の三次元位置については三次元計測装置７１１からコーナー点が検出された画素の距離値を取得することで算出する。コーナー点の向きについては三次元計測装置７１１からコーナー点が検出された近傍画素の距離値から検出した面の法線方向とする。
【００５２】
（ステップＳ３０２）
ステップＳ３０２では、特徴追加位置決定部２０２がコーナー点の三次元位置と向きの分布が均一になるように特徴追加位置・向きを決定する。
【００５３】
まず第２の実施形態のステップＳ５０５までの処理を行い取り出した特徴追加位置候補を特徴の位置に基づく特徴追加候補として保持し、これらをさらに特徴の向きに基づいて評価する。まず、各特徴の位置に基づく特徴追加候補についてその近傍画素の距離値からステップＳ３０１と同様の方法で特徴追加位置の向きを計算する。次に、各特徴追加候補にコーナー点を追加した場合のコーナー点の向きの分布の均一度の評価値を算出する。具体的には原点を起点としてステップＳ３０１で算出した観測した特徴の向きと当該特徴追加候補の向きに直線を延ばしたときの単位球面との交点をそれぞれ三次元座標値として算出し、算出された全座標値に対して主成分分析を行い、３軸の寄与率を算出する。このうち最小寄与率の値を最大寄与率の値で除した値を評価値とする。この評価値が高い程コーナー点の向きが均一に分布していることを表す。特徴の位置に基づいて算出した各特徴追加候補について、上記方法で特徴の向きの均一度の評価値を算出し、特徴の向きの評価値が高い特徴追加候補を取り出す。
【００５４】
なお、本変形例では先に第２の実施形態のステップＳ５０４までの処理で特徴の位置の分布を評価してからさらに特徴の向きに基づいて評価を行う方法を説明したが、先に特徴の向きの分布を評価してからさらに特徴の位置の分布を評価してもよい。また、特徴の位置の分布の評価値と向きの分布の評価値に所定の重み付けをした和を評価値として同時に評価してもよいし、特徴の向きのみで評価してもよい。特徴の向きのみで評価する場合は、特徴追加向きの候補として単位球の原点から球面を所定の数でサンプリングして生成した点を指す複数の方向ベクトルを用いる。それぞれの特徴追加向き候補に対して、当該向きに特徴が追加した時の特徴の向きの均一度の評価値を算出し、評価値が高い特徴追加向き候補を取り出す。
【００５５】
以上、特徴の位置と向きが共に均一になるような特徴追加位置を決定する方法を説明した。こうすることで高精度にカメラの位置姿勢を算出することを可能にするために特徴を追加すべき位置をより正確に決定することができる。
【００５６】
（第３の実施形態）
（分布範囲の広さを評価値とする。）
第１の実施形態では、ステップＳ３０２においてコーナー点の位置または向きの分布が均一になるよう特徴追加位置を決定したが本実施形態ではコーナー点の分布は画像中での位置または向きが広範囲に分布するよう特徴追加位置を決定する。これはコーナー点の位置または向きが固まって分布するよりも広範囲に分布している方がカメラ位置姿勢をより高精度に算出できるためである。この考えに基づき本実施形態ではコーナー点の分布の良し悪しを、コーナー点の分布範囲の広さを表す評価値で評価する。具体的には第１の実施形態においてステップＳ５０１の特徴の分布の良し悪しを評価する評価値をコーナー点の画像中における二次元位置の分散として定義する。
【００５７】
本実施形態で説明した評価値を用いる場合はステップＳ５０５で算出される評価値の向上（増大）量は（第１、２の実施形態では０か１の離散的な値をとったのに対して）連続的な値を取る。よって第１の実施形態で説明したように図６のような画面で特徴追加位置をユーザーに提示する際には、特徴追加位置を表す領域６０１にさらにその特徴追加位置に特徴を追加した場合の評価値の向上量（もしくは向上量の順位）を表示する。こうすることでユーザーは特徴追加位置候補の重要度も把握することが出来る。
【００５８】
本実施形態で画像中の特徴の位置の分布範囲の広さに基づいて特徴追加位置を決定する方法説明したが、空間中の特徴の三次元位置の分布の広さに基づいて特徴を追加する三次元位置を決定しても良い。具体的には第２の実施形態においてステップＳ５０１の特徴の分布の良し悪しを評価する評価値をコーナー点の画像中における三次元位置の分散として定義する。さらに、空間中の特徴の向きの分布の広さに基づいて特徴を追加する向きを決定しても良い。具体的には変形例２−２において特徴の向きの分布の良し悪しを評価する評価値を特徴の向きの分散として定義する。向きの分散についてはここでは分布している各特徴の向きを半径１の半球面を指し示す単位ベクトルに変換し、全ての単位ベクトルの和ベクトルの大きさを要素数で除した値をＲとして１−Ｒを分散とする。
【００５９】
以上、特徴の分布範囲の広さに基づいて特徴追加位置を決定する方法を説明した。こうすることで分布範囲が広くなるように特徴追加位置を提示することができる。
【００６０】
（第４の実施形態）
精度を評価値とする。精度は三次元の誤差伝搬で算出。
【００６１】
第１〜３の実施形態では特徴の分布として画像内あるいは三次元空間中における位置や向きの分布を取得し、カメラ位置姿勢を計算する場合における特徴の分布の良し悪しを表す評価値を分布の均一度や分布範囲の広さに基づいて定義した。
【００６２】
本実施形態では現在の特徴の分布においてカメラ位置姿勢を計算した場合の位置姿勢計算精度を評価値として定義し、この評価値が高くなるように特徴追加位置を決定する。具体的には三次元位置と画像中における検出位置の精度の分布を取得する。そして特徴の位置と検出位置の精度の分布に基づいて、カメラ位置姿勢を計算（導出）した場合の計算精度を算出して現在の特徴の分布の評価値とし、この評価値を高くする特徴追加位置を決定する。以下、第２の実施形態と同様の装置構成において実施する本実施形態の処理内容のうちこれまでの実施形態と異なる部分を図３のフローチャートに沿って説明する。
【００６３】
（ステップＳ３０１）
ステップＳ３０１では、特徴分布取得部２０１が、ユーザーが装着しているＨＭＤの撮像装置２１１が観測し得る特徴の分布、具体的にはコーナー点の三次元位置とその検出精度を表す共分散行列の分布を取得する。コーナー点の三次元位置については第２の実施形態で説明した方法と同様の方法で取得する。コーナー点の検出精度を表す共分散行列については画像の量子化誤差に起因する各コーナー点の画像上での検出位置の最大誤差０。５ｐｘを３σとしたガウス分布で近似し、σ２を対角成分に持つ行列とする。なお、検出位置の最大誤差の要因として量子化誤差以外の要因も考慮したい場合はカメラを静止させた状態で複数枚撮影した画像で特徴を検出し検出位置のばらつきを算出してもよい。
【００６４】
（ステップＳ３０２）
ステップＳ３０２では、特徴追加位置決定部２０２が特徴の分布、具体的にはコーナー点の三次元位置とその検出精度を表す共分散行列の分布に基づいて特徴追加位置を決定する。本ステップの処理内容については後述する。
【００６５】
（ステップＳ３０３）
ステップＳ３０３では、特徴追加位置出力部２０３がステップＳ３０２で決定した特徴追加位置を図示する画像を生成してＨＭＤの表示装置２１２に出力する。具体的な方法は第２の実施形態と同様の方法で提示する。
【００６６】
次に図５のフローチャートを用いてステップＳ３０２の処理内容を説明する。
【００６７】
（ステップＳ５０１）
ステップＳ５０１では、ステップＳ３０１で取得した特徴の分布の良し悪しを評価する評価値を算出して保持する。評価値はコーナー点の三次元位置とその検出精度を表す共分散行列の分布に基づいてカメラ位置姿勢を計算した場合の計算精度を表す値であり次の手順で任意の特徴の分布に対して算出できる。すなわち、（式２）により算出したカメラ位置姿勢の計算精度を表す共分散行列Ｓを評価値とする。
【００６８】
【数２】
0006723798.tif 000003
ここでＮはコーナー点の総数であり
【００６９】
【数３】
0006723798.tif 000004
はｎ番目のコーナー点のｘ軸成分、ｙ軸成分の分散である。Ｊ＋はＪの擬似逆行列である。Ｊはカメラ位置姿勢のヤコビ行列であり各コーナー点の画像上で観測される位置をカメラ位置姿勢を表す並進移動と回転の６パラメータで偏微分した係数行列である。
【００７０】
（ステップＳ５０２）
ステップＳ５０２では、特徴を追加し得る複数の位置を特徴追加位置候補として生成する（複数生成）。具体的には画像を互いに重複しない所定のサイズの矩形領域に分割し、それぞれの矩形領域に属する画素の三次元位置を三次元計測装置７１１から取得し、その平均をとることで算出した三次元位置のうち、カメラから見た距離が所定の範囲内に収まる三次元位置を特徴追加位置候補として保持する。
【００７１】
（ステップＳ５０３）
ステップＳ５０３では、ステップＳ５０２で生成した各特徴追加位置候補に対して処理を行うループである。
【００７２】
（ステップＳ５０４）
ステップＳ５０４では、ステップＳ３０１で取得した特徴の分布に対して各特徴追加位置候補において特徴を追加した場合の分布においてステップＳ５０１と同様に評価値を算出して保持する。
【００７３】
（ステップＳ５０５）
ステップＳ５０５では、ステップＳ５０２で生成した特徴追加位置候補の中から各特徴追加位置候補において特徴を追加した場合の評価値の向上量が所定の値以上となる特徴追加位置候補を取り出す。本実施形態においては評価値であるカメラ位置姿勢の計算精度を表す共分散行列を次の計算でスカラー値化して向上量を算出する。まず、カメラ位置姿勢の計算精度を表す共分散行列Ｓを所定の位置にある仮想的な基準点を算出したカメラ位置姿勢に基づいてカメラで撮影した画像に重畳する場合の描画位置の共分散行列に換算する。次に換算された共分散行列の最大固有値の二乗根を算出しこの値の特徴追加前後の差を評価値の向上量とする。
【００７４】
以上、カメラが観測し得る特徴の三次元位置と検出精度の分布に基づいて算出したカメラ位置姿勢の計算精度が高くなるように特徴追加位置を決定する方法を説明した。こうすることで高精度にカメラの位置姿勢を算出することを可能にするために特徴を追加すべき位置をより正確に決定することができる。
【００７５】
（第５の実施形態）
第１〜４の各実施形態では、ステップＳ３０２で特徴の分布の評価値に基づいて特徴追加位置を決定する際に評価値の向上量が所定の値よりも大きい特徴追加位置を取り出したが、本実施形態ではその他の取り出し基準として特徴追加位置候補の中から評価値の向上量の大きい上位所定の個数の特徴追加を取り出す方法と、別途目標評価値を取得し目標評価値を少量の特徴の追加で達成するために必要な特徴追加位置を特徴追加位置候補から取り出す方法をそれぞれ説明する。
【００７６】
［特徴追加位置候補の中から評価値の向上量の大きい上位所定の個数の特徴追加を取り出して提示する］
各特徴追加位置候補に対して算出した評価値で特徴追加位置候補をソートし、上位所定の個数の特徴追加位置候補を取り出して提示する。上位所定の個数はユーザーが入力した値を用いてもよい。
【００７７】
［別途目標評価値を設定し、目標評価値を少量の特徴の追加で達成するために必要な特徴追加位置を特徴追加位置候補から取り出す］
所定の目標評価値を設定し、現在の特徴の分布においてその目標値に満たない場合に少量の特徴の追加で目標値を満たすために必要な特徴追加位置を取り出す。
【００７８】
この方法ではあらかじめＵＩを通してユーザーが入力した目標評価値を取得する。そしてステップＳ３０２の処理内容を以降説明する図８のフローチャートのように変更して特徴追加位置を決定する。以降図８のフローチャートに沿って処理内容を説明する。
【００７９】
（ステップＳ８０１）
ステップＳ８０１では、複数の特徴追加位置を保存するための特徴追加位置リストを空のリストで、特徴分布をステップＳ３０１で取得した特徴の分布で初期化する。
【００８０】
（ステップＳ８０２）
ステップＳ８０２は、ステップＳ３０１で取得した現在の特徴分布における特徴分布の評価値を計算し、評価値が目標評価値に満たない間繰り返し実行するループである。評価値はこれまでに説明した任意の実施形態のステップＳ５０１の方法で計算する。
【００８１】
（ステップＳ５０２）
ステップＳ５０２では、特徴を追加し得る複数の位置を特徴追加位置候補として生成する。具体的な方法はこれまでに説明したそれぞれの実施形態における図５のステップＳ５０２と同じである。
【００８２】
（ステップＳ５０３）
ステップＳ５０３はステップＳ５０２で生成した各特徴追加位置候補に対して処理を行うループである。
【００８３】
（ステップＳ５０４）
ステップＳ５０４では現在の特徴分布に対して各特徴追加位置候補において特徴を追加した場合の分布において、これまでに説明した各実施形態における図５のステップＳ５０１と同様の方法で評価値を算出して保持する。
【００８４】
（ステップＳ８０３）
ステップＳ８０３では、特徴追加位置候補の中から評価値が最も高い特徴追加位置候補を取り出し、特徴追加位置リストに追加する。
【００８５】
（ステップＳ８０４）
ステップＳ８０４では、ステップＳ８０３で追加した評価値が最も高い特徴追加位置候補を現在の特徴分布に追加する。
【００８６】
（ステップＳ８０５）
特徴追加位置リストに入っている全ての特徴追加位置をステップＳ３０３で提示する特徴追加位置として取り出す。
【００８７】
図９（ａ）は、以上の方法で特徴追加位置を決定する場合に特徴追加位置をユーザーに提示する画面の一例である。領域９００は、ＨＭＤの撮像装置２１１が撮影した画像に特徴追加位置を重畳して図示する領域である。領域９０１は、ユーザーが設定する目標評価値が示されている。領域９０２は、ＨＭＤの撮像装置２１１が観測した特徴の分布に対して算出した評価値が示されている。領域９０３〜９０５は目標評価値を達成するための特徴追加位置を表す領域であり、領域内に表示されている数値はステップＳ８０３で特徴追加リストに追加された順序を表す数値である。数値が小さいほど評価値を向上させる効果が大きい特徴追加位置であることを表す。また、評価値が既に目標評価値よりも大きく、特徴を追加する必要がない時はその旨を画面に表示する。
【００８８】
なお、ここに表示する数値は評価値そのものであったり、評価値を追加した場合の追加前に対する向上量であってもよい。また、その際に数値ではなく色や透明度を用いて表示しても良い。領域９０６は、提示されている特徴追加位置９０３〜９０５それぞれに仮に特徴を追加した時の評価値が示されている。それぞれの特徴追加位置をマウスカーソル９０７で選択することにより、領域９０８には属性情報が表示される。
【００８９】
本変形例では、ユーザーが目標評価値を直接数値で設定したが、目標評価値を決めやすいようにユーザーにはＭＲシステムが描画するＣＧコンテンツの許容振動量を表す画素数とユーザーがＣＧコンテンツに最も近づいたときの距離を入力してもらい、その値を第４の実施形態で定義した評価値であるカメラ位置姿勢の計算精度に変換してもよい。さらにその時の振動量でＣＧコンテンツが振動している様子を画面で確認しながら振動量を調整するＵＩを備えてもよい。こうすることでユーザーが直感的に理解しやすい方法で評価値を設定することができる。
【００９０】
本変形例ではユーザーが目標評価値を設定したが、ユーザーに目標評価値の設定作業を要求せずにあらかじめ決められた目標評価値を保存しておきその値を取得してもよい。その時のあらかじめ決められた目標評価値はカメラ位置姿勢計算が破綻しないために目標評価値としてもよい。
【００９１】
本変形例ではステップＳ８０４で評価値の最も高い特徴追加位置から順に特徴追加位置リストに追加したが必ずしもこの方法に限るものではない。例えば評価値の高い順に所定の個数の特徴をまとめて特徴追加位置リストに追加してもよい。
【００９２】
以上に説明した方法により所望の目標値を少ない追加量で達成するのに必要な特徴追加位置を提示することができる。
【００９３】
（第６の実施形態）
（分布の取得方法のバリエーション。実測画像ではなく三次元情報から生成した画像から取得）
第１〜５の実施形態では、ステップＳ３０１において特徴の分布をＨＭＤで撮像した実写画像から取得したが、本実施形態では特徴の分布をシーンの三次元情報とカメラ位置姿勢に基づいて生成した画像から取得する。本実施形におけるステップＳ３０１の処理を説明する。
【００９４】
まずＭＲシステムを使用するシーンの三次元情報を取得する。具体的にはシーンをＲＧＢＤスキャナでくまなくスキャンし、シーンの色情報を伴う距離情報を取得する。次にユーザーが設定した特徴追加位置を調べたい視点を表すカメラ位置姿勢を取得する。取得したカメラ位置姿勢で観測される画像面にシーンの三次元情報を投影することで、設定したカメラ位置姿勢でシーンを実際に観測した時に得られるであろう画像を生成する。そしてこの画像からコーナー点を検出しコーナー点の分布を取得する。
【００９５】
本実施形態ではシーンの三次元情報をスキャンして取得したが、特徴追加位置を調べたい視点において観測されるであろう画像を生成するためのシーンの三次元情報が取得できれば必ずしもスキャンする必要はなく例えば３Ｄモデリングソフトウェアでユーザーが作成したシーンの三次元モデルを用いてもよい。
【００９６】
以上、特徴の分布をシーンの三次元情報とカメラ位置姿勢から生成した画像から取得する方法を説明した。こうすることで特徴追加位置を調べたい任意のカメラ位置姿勢において特徴の追加位置を決定・提示することができる。
【００９７】
（第７の実施形態）
第１〜６の実施形態では一つのカメラの視点において特徴を追加すべき位置を決定し提示したが本実施形態ではＭＲシステムを使用するシーンにおいてＨＭＤが取りうる複数のカメラ視点において特徴を追加すべき位置を決定・提示する方法を説明する。
【００９８】
本実施形態では第１〜５の実施形態のようにＭＲシステムを使用するシーンの三次元情報を取得していない場合における本実施形態の詳細を説明する。ＨＭＤが取りうる位置姿勢の範囲をユーザーが実際に動きまわりながら指定し、指定された複数の視点においてその都度第１〜第５の実施形態で説明したいずれかの方法で特徴追加位置を決定する。ステップＳ３０３で得られた決定した特徴追加位置を提示する画像はユーザーが動き回っている最中に即座にＨＭＤの表示装置に提示してもよいし、ユーザーがシーン中を動き回る動作を終えた後に一覧できるようまとめて提示してもよい。
【００９９】
以上、ＭＲシステムを使用するシーンにおいてＨＭＤが取りうる複数のカメラ視点において特徴を追加すべき位置を決定・提示する方法を説明した。こうすることでＭＲシステムを使用するシーン中でＨＭＤが取り得る位置姿勢の範囲に応じた特徴追加位置を提示することができる。
【０１００】
［変形例７−１］
第７の実施形態ではＭＲシステムを使用するシーンの三次元情報を取得していない場合に、複数のカメラ視点においてそれぞれ特徴を追加すべき位置を決定したが、本変形例では第６の実施形態のようにシーンの三次元情報を取得している場合に、位置姿勢の範囲全体を考慮して特徴を追加すべき位置を決定・提示する方法を説明する。
【０１０１】
本変形例では、ステップＳ３０１に入る前にまずシーンの三次元情報とシーン中でＨＭＤの撮像装置２１１が取り得る位置姿勢の範囲を取得する。シーンの三次元情報は第６の実施形態で説明した方法で取得する。シーン中でカメラが取り得る位置姿勢の範囲はユーザーがカメラ位置姿勢が取りうる６パラメータの範囲をＵＩを介して数値で設定したものを取得する。取得したカメラ位置姿勢の範囲を所定の間隔でサンプリングしてカメラが取り得る複数の位置姿勢を生成する。以降の処理は図３で示したフローチャートに従い下記のように実施する。
【０１０２】
ステップＳ３０１では、特徴分布取得部２０１が、上記サンプリングして生成した各カメラ位置姿勢においてカメラが観測した時に得られるであろう画像を生成する。そしてこの画像からコーナー点を検出しコーナー点の分布を取得し保持する。この結果サンプリングした各カメラ位置姿勢の特徴分布が保持される。
【０１０３】
ステップＳ３０２では、特徴追加位置決定部２０２が特徴の保持されている各カメラ位置姿勢の分布に基づいて特徴追加位置を決定する。まず、シーンの三次元空間中に特徴追加位置候補を生成する。シーンの三次元空間をボクセルに分割し、シーンの三次元情報が持つ距離点やモデル情報が含まれるボクセルの中央の三次元位置を特徴追加位置候補として保持する。次にステップＳ３０１で保持している各カメラ位置姿勢において、これまでの実施形態で説明した図５のステップＳ５０１、Ｓ５０３、Ｓ５０４を実行して評価値を算出し保持する。この結果、各カメラ位置姿勢、各特徴追加位置候補の全組み合わせに対して評価値が保持される。次に保持されている評価値の集合を特徴追加位置候補毎に評価値の総和を算出し、この総和値を各特徴追加位置候補の評価値として保持する。そして各特徴追加位置候補の評価値の中から評価値の高い特徴追加位置候補を取り出す。この取り出し基準自体はこれまでの実施形態で説明した図５のステップＳ５０５と同様である。
【０１０４】
以上、ＨＭＤが取りうる位置姿勢の範囲全体を考慮することで、高精度にカメラの位置姿勢を算出することを可能にするために特徴を追加すべき位置をより正確に決定することができる。
【０１０５】
（第８の実施形態）
第１〜７の実施形態では自動的に特徴追加位置候補を生成したが、本実施形態ではユーザーが手動で複数の特徴追加位置候補を設定してその中から特徴分布の評価値を高くする特徴追加位置を決定する方法を説明する。本実施形態ではユーザーが特徴追加位置候補をＨＭＤの撮像装置２１１が撮像取得した画像中で指定する方法を説明する。
【０１０６】
本変形例では、ステップＳ３０１に入る前にＨＭＤの撮像装置２１１が撮像取得した画像をディスプレイに表示し、ユーザーが画像中で特徴を追加可能な領域をマウス操作で複数指定する。指定された複数の領域を特徴追加位置候補として第１〜７の実施形態のステップＳ５０２で生成する特徴追加位置候補に置き換えて以降の処理を行う。
【０１０７】
図１０（ａ）は本実施形態に係る特徴追加位置候補を設定する画面の一例である。１０００はＨＭＤの撮像装置２１２で撮影した画像上で特徴追加位置候補を設定する領域である。１００１、１００２は特徴追加位置候補であり、このうち１００１はマルスカーソル１００３によって選択されている状態を表している。１００４は現在選択されている特徴追加位置候補の属性として位置を表示する領域であり、１００５は選択されている特徴追加位置候補を削除するボタンである。１００６は特徴追加位置候補を追加するボタンである。１００７は現在の特徴追加位置候補で確定させる決定ボタンである。決定ボタン１００７を押下することで図９（ａ）に示した特徴追加位置の提示画面に遷移する。
【０１０８】
本実施形態では図１０（ａ）の特徴追加位置候補設定画面と図９（ａ）の特徴追加位置提示画面を分けたが、特徴追加位置候補設定画面に、現在の特徴追加位置候補に特徴を追加した時の評価値９０６を表示してもよい。
【０１０９】
以上、ユーザーが設定した複数の特徴追加位置または位置姿勢の候補を取得してその中から特徴分布の評価値を高くする特徴追加位置または位置姿勢を決定する方法を説明した。こうすることで環境の制約によって観測可能な空間の中で特徴を追加し得る位置が限定されている状況においてもユーザーが環境の制約を考慮した特徴の追加位置を決定・提示することができる。
【０１１０】
［変形例８−１］
第８の実施形態では、ＨＭＤの撮像装置２１１が撮影した画像上における特徴追加位置を二次元で指定している。
【０１１１】
本変形例では、第６の実施形態のようにシーンの三次元情報を取得している場合に、自立する看板のような所定の物体（以降、特徴物体と呼ぶ）をシーンに新たに追加配置する場合に複数の配置位置姿勢候補を指定し、最適な配置位置姿勢を求める方法を説明する。
【０１１２】
本変形例では、ステップＳ３０１に入る前に、第６の実施形態と同様の方法で取得したＭＲシステムを使用するシーンの三次元情報と、特徴物体のモデル情報及びカメラ位置姿勢を取得する。ユーザーはＵＩを介してシーン中における特徴物体の配置され得る複数の位置姿勢を特徴物体の追加位置姿勢候補として設定する。ステップＳ５０３ではそれぞれの特徴物体の配置されうる位置姿勢についてループ処理を行い、ステップＳ５０４ではループ処理の対象となる位置姿勢で特徴物体が配置されているときにカメラが観測するであろう画像をシーンの三次元情報とカメラ位置姿勢、及び特徴物体の位置姿勢候補に基づいて生成する。生成した画像から特徴分布を取得し、その分布の評価値を算出して保持する。ステップＳ５０５では保持された特徴物体の各追加位置姿勢候補の評価値の中から評価値の高い位置姿勢候補を選択する。
【０１１３】
図１０（ｂ）は、選択された評価値の高い位置姿勢候補で特徴物体を表示した例である。ユーザーは、この画面を操作することで、特徴物体を配置する位置姿勢を決定する。
【０１１４】
領域１０１０はシーンの三次元情報を見ながら特徴追加位置候補を設定する画面領域である。三次元情報を表示する視点はマウスカーソル１０１４で任意の視点に操作することができる。領域１０１１、１０１２、１０１３は、特徴物体の追加位置姿勢候補を示している。図１０（ｂ）の例では、特徴物体として領域１０１１、１０１２に示されるような看板状の物体と領域１０１３に示されるようなポスター状の物体を配置している。このように、特徴物体には複数の種類の物体を設定できてもよい。このうち実線で描画される領域１０１１は、マウスカーソル１０１４によって選択されている状態を表しており、領域１０１５は選択されている特徴物体１０１１の位置姿勢を示している。ボタン１０１６は、現在の特徴追加位置候補で確定させる決定ボタンである。決定ボタン１０１６を押下することで図９（ｂ）に示した特徴物体追加位置姿勢の提示画面に遷移する。
【０１１５】
図９（ｂ）は、特徴物体の追加位置姿勢を提示する画面の一例である。領域１０１０はシーンの三次元情報の上に特徴物体の追加位置姿勢を重畳して図示する領域である。三次元情報を表示する視点はマウスカーソル９１３で任意の視点に操作することができる。９１１〜９１２は目標評価値を達成するための特徴物体の追加位置姿勢を表すオブジェクトでありオブジェクト上の数値は図８のステップＳ８０３で特徴追加リストに追加された順序を表す数値である。その他の画面要素は図９（ａ）と同様である。
【０１１６】
以上、ユーザーが設定した複数の特徴物体の位置姿勢の候補を取得してその中から特徴分布の評価値を高くする特徴物体の追加位置姿勢を決定する方法を説明した。こうすることでカメラの位置姿勢を高精度に算出できるように追加すべき特徴物体の位置姿勢を決定・提示することができる。
【０１１７】
［変形例８−２］
（特徴追加可能領域、不可能領域を仮想空間で指定。）
第８の実施形態では、特徴追加位置候補をそれぞれユーザーが指定したが、本変形例ではユーザーが特徴を追加し得る領域を指定する方法を説明する。
【０１１８】
特徴を追加し得る領域をＨＭＤの撮像装置が撮影した画像中またはシーンの三次元情報中の領域として指定する。図５のステップＳ５０２においては指定された特徴を追加し得る領域の中で特徴追加位置候補を生成するようにする。
【０１１９】
図１０（ｃ）はＨＭＤの撮像装置２１１が撮影した画像中で特徴を追加し得る領域を設定する画面の一例である。領域１０２１はマウスカーソル１０２２を用いて指定された特徴を追加し得る領域である。領域１０２３は指定された特徴を追加し得る領域の属性を表示しており、ここでは属性として画像上における領域の中心位置を表示している。ボタン１０２４は現在指定している特徴を追加し得る領域を削除するボタンであり、ボタン１０２５は特徴を追加し得る領域を追加するボタンである。なお、本変形例では特徴を追加し得る領域を設定したが、特徴追加不可能領域を設定して特徴追加不可能領域外でのみ特徴追加位置候補を生成してもよい。
【０１２０】
以上説明したようにユーザーが特徴を追加し得る領域を指定し、その領域内で特徴追加位置を決定する方法を説明した。こうすることで環境の制約を考慮して特徴の追加位置や位置姿勢を決定・提示することができる。
【０１２１】
（第９の実施形態）
第８の実施形態の［変形例８−１］においてはユーザーが特徴物体の追加位置姿勢の候補を設定する際に特徴物体のモデル種類と位置姿勢を指定していた。
【０１２２】
本実施形態ではユーザーが特徴物体の位置姿勢のみを設定してモデルはあらかじめ登録された複数の中から最適なモデル種別を自動的に決定して提示する方法を説明する。具体的には指定された各特徴物体追加位置姿勢候補であらかじめ登録されている各モデルを配置したときの評価値を算出して保持し、評価値の高い特徴物体の追加位置姿勢の候補と、モデル種別の組み合わせを決定・提示する。
【０１２３】
これにより、カメラの位置姿勢を高精度に算出できるように追加すべき特徴物体の種別も提示することができる。
【０１２４】
（第１０の実施形態）
これまで説明した実施形態では特徴を追加すべき位置を提示したが、本実施形態では特徴を移動すべき位置を提示する方法を説明する。
【０１２５】
本実施形態における装置構成は第２の実施形態の図７で説明したものを用いる。まず環境内にある移動可能な特徴を持つポスターをあらかじめ登録し、テンプレートとして保存しておく。そしてＨＭＤの撮像装置２１１が撮像した画像の中から予め登録したポスターをテンプレートマッチングをすることでポスターの現在の位置を認識する。また，ポスターの移動先になり得る壁面を三次元情報計測装置７１１が計測した距離点群情報の中から平面検出することで特定する。そして検出された壁面領域内でサンプリングすることで認識されたポスターの移動先候補を複数生成する。次に生成したポスターの各移動先候補にポスターが移動した場合の特徴分布の評価値をこれまでに説明した各実施形態における図５のステップＳ５０１と同様の方法で算出する。そして評価値が上位にある所定の数のポスターの移動先を評価値の順位と共に図示する。
【０１２６】
以上説明した方法により既に設定してある特徴の位置を移動する際においても特徴の移動先を提示することができる。
【０１２７】
（第１１の実施形態）
これまでの実施形態では特徴を追加すべき位置を特定しユーザーに提示する方法を説明した。本実施形態ではコーナー点の分布、具体的にはコーナー点の密集度に基づいてカメラ位置姿勢を算出する精度を向上させる為に除去すべき特徴を決定して提示する方法を説明する。
【０１２８】
本実施形態ではカメラ位置姿勢の計算は画像中のコーナー点とそのコーナー点と対応付けられた三次元点もしくは他の画像中におけるコーナー点との距離を最小化することで算出することを前提とする。この場合、所定の範囲に存在するコーナー点が多すぎると本来対応付けられるべきでないコーナー点に偶然誤対応してしまう確率が高くなりこの結果カメラ位置姿勢の計算精度が低下する。そこでコーナー点が密集しすぎている場合は密集しているコーナー点の一部を除去すべきコーナー点として提示する。本実施形態では取得画像から検出した対応点の所定の範囲内での分布密度を計算し、分布密度が所定の値より高い場合は、当該範囲内のコーナー点の中から必要な個数を選択し除去すべきコーナー点として提示する。以降この方法の詳細について説明する。
【０１２９】
まず第１の実施形態と同様にＨＭＤの撮像装置から画像を取得しコーナー点を検出する図１１（ａ）は取得した画像の一例であり、図１１（ｂ）は取得画像からコーナー点を検出した結果である。次に取得画像を所定の範囲でサンプリングし、各範囲におけるコーナー点の分布密度を算出する。各範囲に存在するコーナー点の個数が基準個数より大きい場合は超過している個数だけコーナー点を除去するべきであると判定する。このようにして各範囲から除去すべきコーナー点を取り出したものを提示する。図１１（ｃ）は提示画像の一例である。白丸で示されたコーナー点が除去すべきコーナー点である。
【０１３０】
以上説明したように、カメラ位置姿勢を高精度に計算するために除去すべき特徴を提示する。これにより、ユーザーは試行錯誤をせずに除去すべき特徴が分かるようになり特徴の除去作業を効率化することができる。
【０１３１】
（実施形態のその他のバリエーション）
（マーカー、ｂｌｏｂ特徴、エッジ特徴、輝度勾配の大きい画素などの特徴でもよい）
第１〜１０の実施形態においては特徴としてコーナー点を用いた。しかし、カメラ位置姿勢を計算することができる特徴であり、属性として検出位置が取得できる特徴であれば本発明は同様の方法で実施可能である。例えば特許文献１に開示されているような識別子をコーディングしたマーカーを特徴としてもよい。
【０１３２】
この場合、ステップＳ３０１において画像からコーナー点を検出する代わりにマーカーを検出し、画像上におけるマーカー検出位置の分布を取得することで第１〜１０の実施形態で説明した方法で同様にマーカーを追加すべき位置を決定・提示することが可能である。また、同様に位置を検出できる特徴であればエッジ特徴やＳＩＦＴのようなＢｌｏｂ特徴、輝度勾配が大きい画素を特徴としてもステップＳ３０１においてその検出位置の分布を取得することで本発明の実施が可能である。さらに画像のエッジ特徴を用いる場合はエッジ特徴の検出された位置と向きを用いて［変形例２−２］で説明した方法と同様にエッジ特徴の位置と向きが均一になるように特徴位置を決定することができる。このようにコーナー点特徴以外の特徴を用いたカメラ位置姿勢計算を行うシステムにも広く本発明の適用は可能である。
【０１３３】
（特徴追加位置候補の生成は矩形領域をサンプリングするのではなくセグメントでもよい）
第１〜７の実施形態においてはステップＳ５０１で生成またはユーザーが指定する特徴追加位置候補は画像を矩形領域でサンプリングして生成した。しかし特徴を追加し得る複数の候補をもれなく生成できる方法であれば他の方法でも本発明の実施は可能である。例えば画像を色情報でセグメンテーションして得た各セグメントのうち一定の広さを持つセグメントの中央を特徴追加位置の候補としてもよい。また、第６の実施形態のようにシーンの距離情報を取得できる構成であれば距離情報から面でセグメンテーションして得た各セグメントのうち一定の広さを持つセグメントの中央を特徴追加位置候補としてもよい。このように一定の広さを持つセグメントの中央を特徴追加位置候補とすることで特徴を追加することが容易な特徴追加位置を提示することができる。
【０１３４】
（提示した結果でカメラ位置合わせを行って結果を提示する構成を備えてもよい。）
カメラで撮像した画像中で検出された特徴に基づいてカメラ位置姿勢を計算する装置に第１〜９の実施形態では特徴を追加すべき位置や位置姿勢を提示する機能を搭載させてもよい。こうすることでシーン中を動いてカメラの位置姿勢を計算する時の計算結果が悪かった時に適宜、カメラ位置姿勢計算結果を良くするために追加すべき特徴の位置や位置姿勢を提示させることができる。
【０１３５】
＜定義＞
本発明における特徴分布取得手段はカメラが観測し得る特徴の分布を取得できるものであればなんでもよい。その一例が第１〜４の実施形態で説明したカメラが撮影した画像から取得する方法である。その他に第６の実施形態で説明したようにシーンの三次元情報とカメラ位置姿勢に基づいてカメラが観測するであろう画像を生成して、その画像から取得してもよい。
【０１３６】
本発明における特徴追加位置及び／または向きを決定する決定手段は特徴の分布がカメラ位置姿勢の計算に適するように特徴追加位置及び／または向きを決定する手段であればなんでもよい。決定手段の構成要素には特徴追加位置及び／または向きの候補を生成する方法と、特徴追加位置及び／または向きの候補に特徴を追加したときの特徴の分布がカメラ位置姿勢の計算に適している度合いを評価する評価尺度と、評価尺度で算出された評価値に基づいて特徴追加位置及び／または向きの候補の中から提示する特徴追加位置及び／または向きを取り出す基準がある。
【０１３７】
特徴追加位置及び／または向きの候補を生成する方法の一例が第１、２、７の実施形態で説明したカメラが撮影した画像もしくは観測し得る三次元空間を矩形領域に分割やボクセルに分割して、それぞれの領域の二次元位置または三次元位置を特徴追加位置候補とする方法である。その他に（実施形態のその他のバリエーション）で説明したようにカメラが撮影した画像やシーンの三次元情報をセグメンテーションして各セグメントを特徴追加位置候補としてもよい。さらに第８の実施形態で説明したようにユーザーが設定した特徴追加位置及び／または向きの候補を取得してもよい。
【０１３８】
評価尺度の一例が第１の実施形態で説明した特徴の分布の均一さである。この他に第２の実施形態で説明したように特徴の分布の広さを評価尺度としてもよい。また、第４の実施形態で説明したようにその分布においてカメラ位置姿勢を計算した場合の計算精度を算出して評価尺度としてもよい。
【０１３９】
特徴追加位置及び／または向きの候補の中から提示する特徴追加位置及び／または向きを取り出す基準の一例が第１の実施形態で説明した特徴を追加することによる評価値の向上量が大きい特徴追加位置を取り出す方法である。その他に第５の実施形態で説明したように評価値の向上量の大きい上位所定の個数の特徴追加を取り出してもよい。また、同じく第５の実施形態で説明したように目標評価値を達成するために必要な特徴追加位置を取り出してもよい。
【０１４０】
本発明における特徴追加位置及び／または向きを提示する手段は決定した特徴追加位置を提示するものであればなんでもよい。その一例が第１の実施形態で説明した特徴の追加位置を画像上に重畳して提示する方法である。この他に第８の実施形態で説明したように追加配置する特徴物体の位置姿勢をシーンの三次元情報に重畳して提示してもよい。
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0006723798.tif 000005
【図２】
0006723798.tif 000006
【図３】
0006723798.tif 000007
【図４】
0006723798.tif 000008
【図５】
0006723798.tif 000009
【図６】
0006723798.tif 000010
【図７】
0006723798.tif 000011
【図８】
0006723798.tif 000012
【図９】
0006723798.tif 000013
【図１０】
0006723798.tif 000014
【図１１】
0006723798.tif 000015