(57)【要約】【課題】マーカを用いてＣＧをカメラ画像に合成する技術において、合成する候補のＣＧの数を増加させても確実にＣＧを合成させることを可能とする技術を提供する。【解決手段】画像処理装置に、マーカ情報を一時的に格納するためのマーカ情報一時格納手段と、複数のマーカのマーカ情報から、当該複数のマーカのうちの一部のマーカのマーカ情報を抽出し、抽出したマーカ情報を前記マーカ情報一時格納手段に格納するマーカ情報抽出格納手段と、前記マーカ情報一時格納手段に格納されたマーカ情報を用いて、カメラ画像からマーカを検出し、当該マーカの３次元位置を計算する３次元位置計算手段と、前記３次元位置計算手段による計算結果に基づき、前記カメラ画像におけるマーカの位置に当該マーカに対応する画像を合成し、画像表示手段に出力する画像合成手段とを備える。【選択図】  図２
2005267094.tif 000002
【特許請求の範囲】
【請求項１】
マーカを含む被写体をカメラで撮影した画像に、当該マーカに対応する画像を合成するための画像処理装置であって、
マーカ情報を一時的に格納するためのマーカ情報一時格納手段と、
複数のマーカのマーカ情報から、当該複数のマーカのうちの一部のマーカのマーカ情報を抽出し、抽出したマーカ情報を前記マーカ情報一時格納手段に格納するマーカ情報抽出格納手段と、
前記マーカ情報一時格納手段に格納されたマーカ情報を用いて、前記カメラで撮影された画像からマーカを検出し、当該マーカの３次元位置を計算する３次元位置計算手段と、
前記３次元位置計算手段による計算結果に基づき、前記カメラで撮影した画像におけるマーカの位置に当該マーカに対応する画像を合成し、画像表示手段に出力する画像合成手段と
を備えたことを特徴とする画像処理装置。
【請求項２】
前記マーカ情報抽出格納手段は、前記カメラもしくは前記カメラとは別のカメラで撮影されたマーカの画像を取得し、当該マーカの画像を前記複数のマーカの画像と比較することにより、前記複数のマーカの画像の中から、取得したマーカの画像と最も類似度が高いマーカの画像を検出し、検出されたマーカのマーカ情報を前記マーカ情報一時格納手段に格納する請求項１に記載の画像処理装置。
【請求項３】
前記複数のマーカの各々にはバーコードが対応付けられており、前記マーカ情報抽出格納手段は、前記複数のマーカの中から、バーコード読み取り手段により読み取られたバーコードに対応するマーカのマーカ情報を前記マーカ情報一時格納手段に格納する請求項１に記載の画像処理装置。
【請求項４】
前記マーカ情報は、マーカの画像情報と、マーカ内の少なくとも３箇所の特徴点に対応する位置情報と、３次元ＣＧデータとを含む請求項１ないし３のうちいずれか１項に記載の画像処理装置。
【請求項５】
マーカを含む被写体をカメラで撮影した画像に、当該マーカに対応する画像を合成するための画像処理装置が実行する画像処理方法であって、
複数のマーカのマーカ情報から、当該複数のマーカのうちの一部のマーカのマーカ情報を抽出し、抽出したマーカ情報を、マーカ情報を一時的に格納するためのマーカ情報一時格納手段に格納するマーカ情報抽出格納ステップと、
前記マーカ情報一時格納手段に格納されたマーカ情報を用いて、前記カメラで撮影された画像からマーカを検出し、当該マーカの３次元位置を計算する３次元位置計算ステップと、
前記３次元位置計算ステップの計算結果に基づき、前記カメラで撮影した画像におけるマーカの位置に当該マーカに対応する画像を合成し、画像表示手段に出力する画像合成ステップと
を有することを特徴とする画像処理方法。
【請求項６】
前記マーカ情報抽出格納ステップにおいて、前記画像処理装置は、前記カメラもしくは前記カメラとは別のカメラで撮影されたマーカの画像を取得し、当該マーカの画像を前記複数のマーカの画像と比較することにより、前記複数のマーカの画像の中から、取得したマーカの画像と最も類似度が高いマーカの画像を検出し、検出されたマーカのマーカ情報を前記マーカ情報一時格納手段に格納する請求項５に記載の画像処理方法。
【請求項７】
前記複数のマーカの各々にはバーコードが対応付けられており、前記マーカ情報抽出格納ステップにおいて、前記画像処理装置は、前記複数のマーカの中から、バーコード読み取り手段により読み取られたバーコードに対応するマーカのマーカ情報を前記マーカ情報一時格納手段に格納する請求項５に記載の画像処理方法。
【請求項８】
前記マーカ情報は、マーカの画像情報と、マーカ内の少なくとも３箇所の特徴点に対応する位置情報と、３次元ＣＧデータとを含む請求項５ないし７のうちいずれか１項に記載の画像処理方法。
【請求項９】
コンピュータを、マーカを含む被写体をカメラで撮影した画像に、当該マーカに対応する画像を合成するための画像処理装置として機能させるためのプログラムであって、コンピュータを、
マーカ情報を一時的に格納するためのマーカ情報一時格納手段、
複数のマーカのマーカ情報から、当該複数のマーカのうちの一部のマーカのマーカ情報を抽出し、抽出したマーカ情報を前記マーカ情報一時格納手段に格納するマーカ情報抽出格納手段、
前記マーカ情報一時格納手段に格納されたマーカ情報を用いて、前記カメラで撮影された画像からマーカを検出し、当該マーカの３次元位置を計算する３次元位置計算手段、
前記３次元位置計算手段による計算結果に基づき、前記カメラで撮影した画像におけるマーカの位置に当該マーカに対応する画像を合成し、画像表示手段に出力する画像合成手段
として機能させるためのプログラム。
【請求項１０】
前記マーカ情報抽出格納手段は、前記カメラもしくは前記カメラとは別のカメラで撮影されたマーカの画像を取得し、当該マーカの画像を前記複数のマーカの画像と比較することにより、前記複数のマーカの画像の中から、取得したマーカの画像と最も類似度が高いマーカの画像を検出し、検出されたマーカのマーカ情報を前記マーカ情報一時格納手段に格納する請求項９に記載のプログラム。
【請求項１１】
前記複数のマーカの各々にはバーコードが対応付けられており、前記マーカ情報抽出格納手段は、前記複数のマーカの中から、バーコード読み取り手段により読み取られたバーコードに対応するマーカのマーカ情報を前記マーカ情報一時格納手段に格納する請求項９に記載のプログラム。
【請求項１２】
前記マーカ情報は、マーカの画像情報と、マーカ内の少なくとも３箇所の特徴点に対応する位置情報と、３次元ＣＧデータとを含む請求項９ないし１１のうちいずれか１項に記載のプログラム。
【請求項１３】
請求項９ないし１２のうちいずれか１項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、実空間に仮想物があるかのように見せるAugmented Reality技術に関し、特に所定の場所に仮想物を配置するレイアウトシミュレーションに係るシステムに関する。
【背景技術】
【０００２】
Augmented Realityは、実世界の情報を計算機内部に構築した仮想世界データ（ＣＧ：Computer Graphics）で補強する技術であり、ＣＧだけの世界を扱うVirtual Realityとは全く異なるアプリケーション分野を切り開くことが期待され、多くの研究がなされている。
【０００３】
例えば、非特許文献１には、内側に絵柄が書かれた黒枠のマーカを用い、カメラで目の前の空間を撮影し、カメラ画像内にマーカを検出するとその位置に３次元ＣＧを合成した画像を生成する技術が開示されている。当該技術では、カメラ画像に写っている黒枠の大きさや形でカメラと黒枠との３次元の相対位置を計算し、黒枠の内側に書かれた絵柄と、合成するＣＧと対応付けられた予め格納した絵柄とを比較し、黒枠の内側に書かれた絵柄に対応するＣＧを合成する。これにより、マーカの絵柄を変えることで複数の異なるＣＧを合成することを可能としている。
【非特許文献１】Billinghust＆Kato，“Collaborative Mixed Reality．”, IN Proceedings of the First International Symposium on Mixed Reality (ISMR’99). Mixed Reality -Merging Real and Virtual Worlds, pp. 261-284.
【非特許文献２】加藤、汐崎、橘啓、「テクスチャー画像からオンライン生成されたテンプレートのマッチングに基づく拡張現実感のための位置合わせ手法」、日本バーチャルリアリティ学会論文誌、Ｖｏｌ．７、Ｎｏ．２、ｐｐ１１９−１２８（２００２）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上記の従来技術において、合成しようとするＣＧの数を多くすると、これらに対応してマーカに使用する絵柄の数を多くする必要があるが、絵柄の数を増やすと、システムにおいて絵柄を誤認識し、意図するＣＧと異なるＣＧが合成されてしまうという問題があった。すなわち、多数のマーカを用いることによりマーカ同士の区別が付き難くなる場合が発生し易く、また、多数のマーカを置くとマーカの距離や向きによってマーカの面積が小さくなることから、更にマーカ同士の区別が付き難くなる。従って、誤認識が発生し易くなるという問題がある。また、多数のマーカを用いると、検索すべき情報が多くなり、高速処理が困難になるという問題もある。
【０００５】
本発明は上記の点に鑑みてなされたものであり、マーカを用いてＣＧを合成する技術において、合成する候補のＣＧの数を増加させても確実にＣＧを合成させることを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の課題は、マーカを含む被写体をカメラで撮影した画像に、当該マーカに対応する画像を合成するための画像処理装置であって、マーカ情報を一時的に格納するためのマーカ情報一時格納手段と、複数のマーカのマーカ情報から、当該複数のマーカのうちの一部のマーカのマーカ情報を抽出し、抽出したマーカ情報を前記マーカ情報一時格納手段に格納するマーカ情報抽出格納手段と、前記マーカ情報一時格納手段に格納されたマーカ情報を用いて、前記カメラで撮影された画像からマーカを検出し、当該マーカの３次元位置を計算する３次元位置計算手段と、前記３次元位置計算手段による計算結果に基づき、前記カメラで撮影した画像におけるマーカの位置に当該マーカに対応する画像を合成し、画像表示手段に出力する画像合成手段とを備えたことを特徴とする画像処理装置によって解決できる。
【０００７】
本発明によれば、複数のマーカの中から抽出した一部のマーカのマーカ情報を用いてマーカの検出及び画像合成を行うので、前記複数のマーカの数が非常に多い場合でも、マーカ画像検出時に使用する照合対象マーカの数を予め定めた数以下に抑えることができる。従って、マーカの誤認識を減少させることができる。
【０００８】
前記マーカ情報抽出格納手段は、前記カメラもしくは前記カメラとは別のカメラで撮影されたマーカの画像を取得し、当該マーカの画像を前記複数のマーカの画像と比較することにより、前記複数のマーカの画像の中から、取得したマーカの画像と最も類似度が高いマーカの画像を検出し、検出されたマーカのマーカ情報を前記マーカ情報一時格納手段に格納することができる。
【０００９】
このような構成により、マーカ情報一時格納手段への所望のマーカ情報の格納を容易に行うことができる。
【００１０】
また、前記複数のマーカの各々にバーコードが対応付け、前記マーカ情報抽出格納手段が、前記複数のマーカの中から、バーコード読み取り手段により読み取られたバーコードに対応するマーカのマーカ情報を前記マーカ情報一時格納手段に格納するようにしてもよい。バーコードを用いることにより、確実にマーカ情報を抽出することができる。
【００１１】
なお、前記マーカ情報は、マーカの画像情報と、マーカ内の少なくとも３箇所の特徴点に対応する位置情報と、３次元ＣＧデータとを含む情報として構成できる。
【発明の効果】
【００１２】
本発明によれば、マーカを用いてＣＧを画像に合成する技術において、合成する候補のＣＧの数を増加させても、確実にＣＧをそれに対応するマーカの位置に合成することが可能となる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態を図面を参照して説明する。
【００１４】
まず、図１を用いて本発明の実施の形態の概要構成について説明する。図１において、画像処理装置３には予め複数のマーカの情報と、そのマーカに対応付けられた３次元ＣＧを格納しておく（図１の例では４種類のマーカを示している）。
【００１５】
画像処理装置３にはカメラ１とカメラ２が接続されている。まず、カメラ１により、格納されているマーカのうちの１つのマーカを撮影する。画像処理装置３は、カメラ１で撮影したマーカが、予め格納した複数のマーカのうちのどのマーカかを認識し、そのマーカの情報と対応する３次元ＣＧのみを、格納した複数のマーカの情報とは別の領域に格納する。
【００１６】
そして、カメラ２を用いて、そのマーカを配置した実際の風景を撮影する。画像処理装置３は、その風景の画像の中から、前記の別の領域に格納してあるマーカを検出する。そして、画像に写っているマーカの位置、形状等と、そのマーカに対応して格納してあるマーカの情報とから、そのマーカのカメラ２に対する３次元位置を算出する。そして、画像処理装置３は、画像内のその３次元位置に当該マーカに対応付けられている３次元ＣＧを合成し、ディスプレイ４に出力する。
【００１７】
このように、予め使用するであろうマーカの情報のみを別の領域に格納し、別の領域に格納したマーカのみを照合対象とすることにより、照合対象を減少させることができ、誤認識の減少及び処理の高速化を達成できる。
【００１８】
図２は、本発明の実施の形態における画像処理装置３の構成をより詳細に示した図である。本実施の形態における画像処理装置３では、実空間に仮想物を置く目標とするマーカとしてｎ枚のマーカを用い、画像処理装置３にはそのマーカ情報Ｉ１〜ｎを予め記憶させておくものとする。１つのマーカ情報Iｘ（１≦ｘ≦ｎ）は、マーカの画像情報Ｍｘ、マーカの３次元位置を特定するための３次元位置特定情報Ｄｘ、マーカ上に合成する３次元ＣＧデータＧｘからなる。なお、マーカの３次元位置を特定するための３次元位置特定情報Ｄｘとは、例えば当該マーカの少なくとも３点の特徴点のマーカ内の座標値である。各特徴点はそのマーカが写った画像から識別可能な点である。
【００１９】
図２に示すように、画像処理装置３は、マーカ認識用のカメラ１、マーカ情報Ｉ１〜ｎを格納するマーカ情報格納部５、マーカ情報格納部５に格納されたマーカ情報を用いてカメラ１に写っているマーカを特定する比較部６、比較結果に基づき特定されたマーカ情報を一時的に保存するｍ個のレジスタＲｙ（１≦ｙ≦ｍ，ｍ≦ｎ）、全景撮影用のカメラ２、全景撮影用カメラ２の画像Ｐ２に写ったマーカの３次元位置をレジスタＲ内の情報を基に計算する３次元位置計算部８、３次元位置計算部８により求められた３次元位置情報を基にレジスタＲ内に格納されている当該マーカに対応する３次元ＣＧデータをカメラ画像上に描画する画像合成部９、合成画像を表示する画像表示部４を有している。
【００２０】
次に、図２に示す構成における動作の概要を説明する。
【００２１】
ユーザがマーカをカメラ１にかざすと、画像処理装置３はそのカメラ画像とｎ枚のマーカ画像情報とを比較部６で比較し、最も近いマーカ画像情報に対応するマーカ情報を選び出す。選ばれたマーカ情報（マーカ画像情報、３次元位置特定情報、３次元ＣＧデータ）は、レジスタＲに保存される。例えばこの操作を異なるｍ枚のマーカの各々に対して行うことにより、ｍ個のレジスタＲの各々にマーカ情報が格納されることになる。また、ｍ枚のマーカの各々をカメラ１にかざす代わりに、ｍ個のマーカをカメラ１で同時に撮影してもよい。
【００２２】
次にユーザは、カメラ２にマーカを含む風景を写す。３次元位置計算部８は、レジスタＲに格納されたマーカ画像情報に基づき、カメラ２のカメラ画像Ｐ２からマーカを検出する。そして、そのマーカに対応するレジスタＲに格納された３次元位置特定情報を基に、カメラ２に対する当該マーカの相対的な３次元位置を求める。求めた結果は画像合成部９に与えられ、画像合成部９はその値から、カメラ画像Ｐ２と当該マーカに対応する３次元ＣＧデータとを合成し画像表示部４にて表示を行う。
【００２３】
比較部６による処理、及びカメラ画像Ｐ２からマーカを検出する処理は、ＤＰマッチングなどの画像比較アルゴリズムで実現可能である。比較部６による処理では、マーカをある程度の解像度（ＶＧＡ程度）で映し出すと数千程度の枚数の登録マーカ画像との比較が可能である。また、３次元位置特定情報とカメラ画像Ｐ２におけるマーカの画像を基に３次元位置を計算する手法は、加藤らにより提案されている（非特許文献２参照）。１秒に３０〜１５フレームといった処理を行う場合、３次元位置計算で扱えるマーカの個数は高々数十個であり、レジスタの数ｍは、この数より少ない値とすればよい。
【００２４】
次に、図３を参照して、画像処理装置３における処理をより詳細に説明する。
【００２５】
まず、比較部６によるマーカ情報のレジスタＲへの格納処理について説明する。まず、ｊ＝１とする（ステップ１）。ここでｊはカメラ１で撮影するマーカに対応する変数である。比較部６がカメラ１の画像を取得し（ステップ２）、ｉ＝１とする（ステップ３）。ここでｉはマーカ情報格納部５に格納されているマーカ情報に対応する変数である。
【００２６】
比較部６は、マーカ情報格納部５に格納されているｉ番目のマーカ画像情報とステップ２で取得したカメラ画像とを比較し、類似度を計算する（ステップ４）。ｉ＝ｉ＋１とし（ステップ５）、ｉがｎより大きくなければ（ステップ６のｎｏ）、比較対象のマーカ画像情報がまだ残っていること意味するので、ステップ４からの処理を再び行う。ｉがｎより大きければ（ステップ６のｙｅｓ）、ｎ個の比較結果のうち最も類似度の高いマーカ情報をｊ番目のレジスタＲに格納する（ステップ７）。そして、ｊ＝ｊ＋１とし、ｊがｍ（レジスタＲの個数）より大きくなければ（ステップ８のｎｏ）、ステップ２に戻る。ｊがｍより大きければ（ステップ８のｙｅｓ）、ステップ１に戻る。
【００２７】
上記のようなレジスタＲへの格納処理の後、カメラ２の画像と３次元ＣＧの合成処理が行われる。なお、レジスタＲへのマーカ情報の格納個数がｍに満たない場合でも、適宜合成処理を行うことができる。
【００２８】
まず、３次元位置計算部８がカメラ２により撮影された画像を取得し（ステップ１１）、ｊ＝１とする（ステップ１２）。３次元位置計算部８は、ｊ番目のレジスタＲに格納されたマーカ画像情報を用いて、カメラ２によるカメラ画像から、当該マーカ画像に対応するマーカの検出を行う。（ステップ１３）。マーカの検出がなされた場合（ステップ１４のｙｅｓ）、カメラ画像における当該マーカの特徴点３箇所を検出し（ステップ１５）、カメラ画像に写った特徴点の位置等と、レジスタＲに格納されているｊ番目の３次元位置特定情報とから、当該マーカのカメラ２を基準とする３次元位置（マーカのカメラ座標）を計算する（ステップ１６）。そして、カメラ画像における当該マーカの位置に、レジスタＲに格納されているｊ番目の３次元ＣＧを描画する（ステップ１７）。続いてｊ＝ｊ＋１とし、ｊがｍより大きくなければステップ１３に戻り（ステップ１８のｎｏ）、レジスタＲに格納された次のマーカを対象として上記と同様の処理を行う。ｊがｍより大きければ（ステップ１８のｙｅｓ）、レジスタＲのｍ個のマーカに対して処理が終了したことになり、マーカ位置に３次元ＣＧが合成されたカメラ画像を画像表示部４に出力する（ステップ１９）。
【００２９】
本実施の形態に係る方法を用いることにより、３次元ＣＧ合成のために用いられ得るマーカが数千種類程度であったとしても、予めカメラ１を用いることにより、撮影に用いようとしているマーカを画像処理装置３内のレジスタＲに記録し、その後、カメラ２の画像と３次元ＣＧを合成するので、全てのマーカを対象に検索処理を行う必要があった従来のシステムより多くの種類の３次元ＣＧを扱うことができる。また、カメラ１に写すマーカの数がｍ個を超えるとレジスタＲはオーバーフローするが、その場合は、登録が最も古いものから削除していけば、この問題は回避される。本実施の形態に係る方法では、画像表示部４内に同時に表示できるＣＧの数はｍ個に限定されるが、多くのアプリケーションでは、高々ｍ個を表示できれば十分である。
【００３０】
なお、上記の実施の形態では、カメラ１を用いた画像比較により、レジスタＲにマーカを登録するためのマーカの認識を行っている。このような方法に代えて、マーカにバーコードを付け、カメラ１の代わりにバーコードリーダを用いることにより、画像比較の手法に比べてマーカの認識をより確実に行うことができる。
【００３１】
また、カメラ１と２を共用し、カメラの特定エリアの画像を比較部６に与えることにより、カメラ一台で上記の方法を実現することも可能である。また、計算処理能力が十分高い比較部６を用いれば、特定エリアでなく全画面の画像を比較部６に与えても十分処理可能である。すなわち、この場合は、マーカを含む風景を撮影し、その画像からマーカを検出し、それらのマーカのマーカ情報をレジスタＲに登録し、その後にＣＧ合成のための撮影を行う。
【００３２】
本実施の形態における画像処理装置３は、本実施の形態で説明した処理を行うプログラムを、ＣＰＵ、メモリ、ハードディスク等を備えたコンピュータに実行させることにより実現できる。すなわち、比較部６、３次元位置計算部８、画像合成部９等は、コンピュータにプログラムを実行させることにより実現される機能部である。図３におけるｊやｉはそのプログラムにおける変数となるものである。また、マーカ情報格納部５、レジスタＲは、メモリもしくはハードディスク等の、コンピュータにおける記憶装置により実現されるものである。また、上記のプログラムは、ＣＤ−ＲＯＭ、ＳＤカード等の記録媒体に格納し、当該記録媒体からコンピュータにインストールすることができる。
【００３３】
また、図１、図２に示す構成に代え、例えば、比較部６とマーカ情報格納部５を１台のコンピュータに備え、３次元位置計算部８、レジスタＲ、画像合成部９、画像表示部４を他のコンピュータに備え、これらのコンピュータをネットワークを介して接続する構成とすることもできる。このような場合でも、両コンピュータを含めて画像処理装置と称する。
【００３４】
上記のように、本発明の実施の形態によれば、画像合成に使用するマーカ情報を、予め保存した多量なマーカ情報から抽出して別の領域に保持し、その別の領域に保持したマーカ情報のみを用いてマーカの検出及びＣＧ合成を行うこととしたので、マーカの種類が多くなっても検出対象のマーカは一定数に抑えられ照合対象が減少することから、照合に係る誤認識を減少させ、処理を高速化できる。
【００３５】
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【図面の簡単な説明】
【００３６】
【図１】本発明の実施の形態の概要構成について説明するための図である。
【図２】本発明の実施の形態における画像処理装置３の構成を示す図である。
【図３】画像処理装置３における処理のフローチャートである。
【符号の説明】
【００３７】
１、２  カメラ
３  画像処理装置
４  画像表示部（ディスプレイ）
５  マーカ情報格納部
６  比較部
８  ３次元位置計算部
９  画像合成部
Ｒ  レジスタ
【図１】
2005267094.tif 000003
【図２】
2005267094.tif 000004
【図３】
2005267094.tif 000005