(57)【特許請求の範囲】
【請求項１】
撮像された画像から所定のマーカを検出し、当該マーカに重畳して所定の三次元モデルを画像上に描画した合成画像を表示するとともに、前記画像と前記三次元モデルを描画する位置を示す位置情報とを対応付けて記憶する拡張現実提供装置に対し、製品の情報をコンピュータが送信する情報配信方法であって、
前記拡張現実提供装置において画像上に描画された三次元モデルが示す製品の特徴に基づいて、前記拡張現実提供装置のユーザに推薦する製品を抽出する製品抽出ステップと、
前記拡張現実提供装置から受信した当該拡張現実提供装置の位置情報と、予め記憶部に保持されている店舗毎の製品の在庫情報とに基づいて、前記拡張現実提供装置から所定の距離以内に位置し、前記製品抽出ステップにおいて抽出された製品の在庫を有する店舗を抽出する店舗抽出ステップと、
前記製品抽出ステップにおいて抽出された製品の情報、及び前記店舗抽出ステップにおいて抽出された店舗の情報を前記拡張現実提供装置に送信するとともに、前記製品抽出ステップにおいて抽出された製品を示す三次元モデルを前記拡張現実提供装置に提供するステップと、
を含む情報配信方法。
【請求項２】
撮像された画像から所定のマーカを検出し、当該マーカに重畳して所定の三次元モデルを画像上に描画した合成画像を表示するとともに、前記画像と前記三次元モデルを描画する位置を示す位置情報とを対応付けて記憶する拡張現実提供装置に対し、製品の情報をコンピュータに送信させる情報配信プログラムであって、
前記拡張現実提供装置において画像上に描画された三次元モデルが示す製品の特徴に基づいて、前記拡張現実提供装置のユーザに推薦する製品を抽出する製品抽出ステップと、
前記拡張現実提供装置から受信した当該拡張現実提供装置の位置情報と、予め記憶部に保持されている店舗毎の製品の在庫情報とに基づいて、前記拡張現実提供装置から所定の距離以内に位置し、前記製品抽出ステップにおいて抽出された製品の在庫を有する店舗を抽出する店舗抽出ステップと、
前記製品抽出ステップにおいて抽出された製品の情報、及び前記店舗抽出ステップにおいて抽出された店舗の情報を前記拡張現実提供装置に送信するとともに、前記製品抽出ステップにおいて抽出された製品を示す三次元モデルを前記拡張現実提供装置に提供するス
テップと、
を含む情報配信プログラム。
【請求項３】
撮像された画像から所定のマーカを検出し、当該マーカに重畳して所定の三次元モデルを画像上に描画した合成画像を表示するとともに、前記画像と前記三次元モデルを描画する位置を示す位置情報とを対応付けて記憶する拡張現実提供装置に対し、製品の情報を送信する情報配信装置であって、
前記拡張現実提供装置において画像上に描画された三次元モデルが示す製品の特徴に基づいて、前記拡張現実提供装置のユーザに推薦する製品を抽出する推薦商品抽出部と、
前記拡張現実提供装置から受信した当該拡張現実提供装置の位置情報と、予め記憶部に保持されている店舗毎の製品の在庫情報とに基づいて、前記拡張現実提供装置から所定の距離以内に位置し、前記推薦商品抽出部が抽出した製品の在庫を有する店舗を抽出する周辺店舗抽出部と、
前記推薦商品抽出部が抽出した製品の情報、及び前記周辺店舗抽出部が抽出した店舗の情報を前記拡張現実提供装置に送信するとともに、前記推薦商品抽出部が抽出した製品を示す三次元モデルを前記拡張現実提供装置に提供する推薦情報出力部と、
を備える情報配信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、拡張現実プログラム、拡張現実提供方法、拡張現実提供装置、及び情報配信方法に関する。
【背景技術】
【０００２】
デジタルカメラによって取得した画像に情報を重畳表示するような、いわゆる拡張現実（Augmented Reality：ＡＲ）に関する技術が存在する。
【０００３】
例えば、マーカに対応する仮想オブジェクトについて、特定の組み合わせで表示する技術が提案されている（例えば特許文献１）。例えば、ＴＶとＴＶボードの組み合わせを登録しておき、配置情報で示される位置関係で表示するものである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−９２８８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＡＲによってモデルを表示できると、例えば室内に何らかの商品を配置した状態を視覚的に購入前に確認することができ、有用である。しかしながら、例えば一点物も多い家具のような分野の場合、ユーザが望む商品がすぐには見つからないこともある。
【０００６】
本発明は、上記のような問題に鑑みてなされたものであり、空間に配置する物品選択の長期的な検討を支援するための技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る拡張現実プログラムは、撮像された画像から所定のマーカを検出し、当該マーカに重畳して所定の三次元モデルを画像上に描画した合成画像を表示する拡張現実プログラムであって、画像中におけるマーカの位置及び形状の歪みに基づき、マーカを基準とする空間を規定する空間情報を算出するステップと、ユーザの操作によって空間における三次元モデルの位置及び向きを示す配置情報の入力を受け、撮像された画像と空間情報と配置情報とを関連付けて記憶部に記憶させる保存ステップと、ユーザの操作によってレイアウトの再現が指示された場合、撮像された画像と空間情報と配置情報とを記憶部から読み出し、空間情報及び配置情報に基づいて画像上に三次元モデルを描画する事後表示ステップとをコンピュータに実行させる。
【０００８】
画像と空間情報と配置情報とを対応付けて記憶させておくことにより、記憶されている画像上に三次元モデルを描画することができるようになる。従って、現地以外の場所においても、例えば室内の画像に対して配置する物品の三次元モデルを重畳してシミュレーションできるようになる。すなわち、空間に配置する物品の長期的な検討を支援することができる。
【０００９】
また、事後表示ステップの後、描画された三次元モデルを他の三次元モデルに変更する旨の指示を受けた場合、事後表示ステップにおいて描画された三次元モデルに代えて他の三次元モデルを描画するステップをさらに実行させるようにしてもよい。このようにすれば、事後表示ステップにおいて描画された三次元モデルとは別の三次元モデルを、記憶さ
れている画像上に描画することができるようになる。すなわち、画像上に描画する三次元モデルを差し替えることができるようになり、例えば室内の画像に対して配置する物品の三次元モデルを何度も変更してシミュレーションできるようになる。なお、他の三次元モデルに変更する旨の指示は、当該コンピュータのユーザからの入力によって行われるようにしてもよいし、他の装置から送信されるようにしてもよい。他の装置は、例えば、自動的に三次元モデルを提案するようにしてもよいし、第三者からの操作によって三次元モデルを送信するようにしてもよい。よって、室内に配置する物品の長期的な検討を支援することができる。また、配置情報は、画像中におけるマーカの位置及び向きを示す情報を含むようにしてもよい。このようにすれば、画像中に撮像されたマーカを検出したり、位置や姿勢を算出し直すことなく、画像上に三次元モデルを描画できるようになる。
【００１０】
本発明の他の側面に係る情報配信方法は、撮像された画像から所定のマーカを検出し、当該マーカに重畳して所定の三次元モデルを画像上に描画した合成画像を表示するとともに、画像と三次元モデルを描画する位置を示す位置情報とを対応付けて記憶する拡張現実提供装置に対し、製品の情報をコンピュータが送信する。具体的には、拡張現実提供装置において画像上に描画された三次元モデルが示す製品の特徴に基づいて、拡張現実提供装置のユーザに推薦する製品を抽出する製品抽出ステップと、拡張現実提供装置から受信した当該拡張現実提供装置の位置情報と、予め記憶部に保持されている店舗毎の製品の在庫情報とに基づいて、拡張現実提供装置から所定の距離以内に位置し、製品抽出ステップにおいて抽出された製品の在庫を有する店舗を抽出する店舗抽出ステップと、製品抽出ステップにおいて抽出された製品の情報、及び店舗抽出ステップにおいて抽出された店舗の情報を拡張現実提供装置に送信するとともに、製品抽出ステップにおいて抽出された製品を示す三次元モデルを拡張現実提供装置に提供するステップとを含む。
【００１１】
このようにすれば、拡張現実提供装置に対して推薦する製品の情報を、当該製品の在庫を有する店舗に拡張現実提供装置が近づいたときに、提供できるようになる。また、拡張現実提供装置は、画像と三次元モデルを描画する位置を示す位置情報とを対応付けて記憶しているため、推薦する製品を示す三次元モデルを提供するようにすれば、拡張現実提供装置は画像上に推薦された製品を示す三次元モデルを描画することができる。すなわち、拡張現実提供装置のユーザは、例えば室内の画像に対して推薦された製品を配置したときのシミュレーションができるようになる。
【００１２】
なお、課題を解決するための手段に記載の内容は、本発明の課題や技術的思想を逸脱しない範囲で可能な限り組み合わせることができる。また、課題を解決するための手段の内容は、コンピュータ等の装置若しくは複数の装置を含むシステム、コンピュータが実行する方法、又はコンピュータに実行させるプログラムとして提供することができる。なお、プログラムを保持する記録媒体を提供するようにしてもよい。
【発明の効果】
【００１３】
空間に配置する物品選択の長期的な検討を支援することができるようになる。
【図面の簡単な説明】
【００１４】
【図１】システム構成の一例を示す図である。
【図２】モバイル装置の一例を示す機能ブロック図である。
【図３】３Ｄモデルと配置情報との対応付けを説明するための図である。
【図４】ＡＲ処理を説明するための図である。
【図５】コンピュータの一例を示す装置構成図である。
【図６】配置情報登録処理の一例を示す処理フロー図である。
【図７】３Ｄモデルを表示する前のライブビュー画面の一例を示す図である。
【図８】３Ｄモデルが表示されたライブビュー画面の一例を示す図である。
【図９】配置情報が変更されたライブビュー画面の一例を示す図である。
【図１０】画像、空間情報、配置情報、及び３Ｄモデルの対応付けを説明するための図である。
【図１１】事後表示処理の一例を示す処理フロー図である。
【図１２】画像を読み出す前の画面の一例を示す図である。
【図１３】３Ｄモデルを読み出す前の画面の一例を示す図である。
【図１４】３Ｄモデルを読み出した後の画面の一例を示す図である。
【図１５】３Ｄモデルの配置を変更した後の画面の一例を示す図である。
【図１６】色違いの３Ｄモデルを読み出した後の画面の一例を示す図である。
【図１７】形状の異なる３Ｄモデルを読み出した後の画面の一例を示す図である。
【図１８】サーバの一例を示す機能ブロック図の一例を示す図である。
【図１９】ユーザが希望する家具の条件を保持するテーブルの一例を示す図である。
【図２０】画像と配置情報との対応付けを説明するための図である。
【図２１】製品と３Ｄモデルとの対応付けを説明するための図である。
【図２２】店舗と製品と在庫数との対応付けを説明するための図である。
【図２３】推薦処理の一例を示す処理フロー図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明を実施するための形態について説明する。なお、実施形態の構成は例示であり、本発明は実施形態に示す構成に限定されない。
【００１６】
＜システム構成＞
図１は、実施形態に係るシステム構成の一例を示す図である。本実施形態に係るシステムは、モバイル装置１と、サーバ２とを含み、モバイル装置１とサーバ２とはインターネット等のネットワーク３を介して接続されている。なお、本システムでは例えば家具のような商品（製品）を販売するサービスを提供し、製造者や販売者４は、ネットワーク３を介してサーバ２に商品の情報を登録するものとする。
【００１７】
モバイル装置１は、パーソナルコンピュータや、タブレット端末、スマートフォン等のようなユーザが携帯するコンピュータであり、通信端末やデジタルスチルカメラ又はウェブカメラとして機能する。また、モバイル装置１は、本実施形態に係る拡張現実プログラムを実行することにより、撮像された画像からいわゆる二次元コードのような所定のマーカを検出し、マーカに重畳（オーバレイ）して三次元モデルを画像上に描画した合成画像を表示する。なお、モバイル装置１は、撮像素子が継続的に出力する信号に基づき、ほぼリアルタイムに動画を生成してモニタに表示する機能（「ライブビュー」とも呼ぶ）を有している。本実施形態における画像（「ライブビュー画像」とも呼ぶ）とは、モバイル装置１が生成する動画を構成するフレームの少なくとも一部をいうものとする。
【００１８】
サーバ２は、商品に関する情報や商品の三次元（３Ｄ：three dimensions）モデルを配信したり、ユーザが希望する家具と似た家具を探し、店舗の在庫情報等をモバイル装置１に送信したりする。なお、モバイル装置１やサーバ２の数は複数であってもよい。
【００１９】
＜機能構成＞
図２は、実施形態に係るモバイル装置１の一例を示す機能ブロック図である。本実施形態に係るモバイル装置１は、大別するとＡＲ処理部と情報出力部とを有する。
【００２０】
ＡＲ処理部は、撮像部１０１と、一次記憶部１０２と、ライブビュー表示部１０３と、マーカ識別部１０４と、３Ｄモデル表示部１０５と、モデル記憶部１０６と、保存処理部１０７と、二次記憶部１０８と、画像表示部１０９とを含む。撮像部１０１は、モバイル装置１が備える撮像素子を利用して周囲の画像を取得し、一次記憶部１０２に記憶させる
。一次記憶部１０２は、例えば揮発性メモリ等で構成され、撮像された画像を一時的に保持する。また、ライブビュー表示部１０３は、一次記憶部１０２に記憶されている撮像された画像をほぼリアルタイムにモバイル装置１が備えるモニタに表示するライブビュー機能を提供する。マーカ識別部１０４は、一次記憶部１０２に記憶されている画像から撮像されているマーカを検出し、画像中におけるマーカの位置や大きさ、形状の歪み等に基づいて、例えばマーカの位置を原点とする座標系（「マーカ座標系」とも呼ぶ）からカメラ座標系へ座標変換するためのビュー行列や、画角等を算出する。なお、このようにして画像から取得される、マーカが載置された平面（床面）とカメラの位置や向き、画角との関係を示す情報を、本発明に係る「空間情報」とも呼ぶ。
【００２１】
３Ｄモデル表示部１０５は、当該空間における３Ｄモデルの配置情報に基づいてモデル記憶部１０６に予め記憶されている３Ｄモデルを描画する位置及び向きを決定し、マーカ識別部１０４が算出した空間情報に基づいて３Ｄモデルを画像上に重畳表示する。なお、配置情報は、例えば、マーカを原点とする座標系における３Ｄモデルの空間座標、及び３Ｄモデルの重心等の一点を原点とするオブジェクト座標系における各軸周りの回転角によって規定される。なお、本実施形態では室内の床面をＸＹ平面とし、高さ方向をＺ軸として説明する。また、本実施形態では、ユーザや第三者、サーバ２等が配置情報を変更することができる。モデル記憶部１０６は、補助記憶装置や不揮発性メモリ等で構成され、例えばユーザが室内に配置を検討する家具の３Ｄモデルを、予めサーバ２から取得して、保存しているものとする。すなわち、３Ｄモデル表示部１０５は、モデル記憶部１０６に保存されている複数の３Ｄモデルの中から、ライブビュー画像に重畳表示する３Ｄモデルを差し替えることができる。また、モデル記憶部１０６には、後にユーザが配置を検討する家具の３Ｄモデルや、サーバ２によって自動的に抽出される家具の３Ｄモデル、第三者によって提案される家具の３Ｄモデル等が保存される。なお、モデル記憶部１０６は、例えばサーバ２等、ネットワーク３に接続された他の装置（すなわち、クラウド上）に設けられるような構成としてもよい。
【００２２】
保存処理部１０７は、ユーザの操作に応じて、撮像された画像、空間情報、配置情報、及び３Ｄモデルを関連付けて二次記憶部１０８に記憶させる。ここで、空間情報及び配置情報は、例えば画像データに埋め込まれるメタデータとして保持するようにしてもよい。二次記憶部１０８は、ユーザが撮影した写真である画像データと、画像上に配置する３Ｄモデルとを分けて保存する。ただし、画像データと３Ｄモデルとは、空間情報及び配置情報によって関連付けられている。また、画像表示部１０９は、二次記憶部１０８に記憶されている画像データを読み出し、モバイル装置１が備えるモニタに表示する。このとき、上述した３Ｄモデル表示部１０５は、二次記憶部１０５に保存されている空間情報及び配置情報に基づき、画像データから再度マーカを識別し直すことなく３Ｄモデルを画像に重畳表示できる。また、このときも、３Ｄモデル表示部１０５は、３Ｄモデルを差し替えて表示させることができる。このように、本実施形態では、ライブビュー表示部１０３がほぼリアルタイムに表示する画像に３Ｄモデル表示部１０５がモデルを重畳表示するＡＲ処理と、画像表示部１０９が読み出した画像に３Ｄモデル表示部１０５がモデルを重畳表示する事後表示（差替表示）処理とを行うことができる。
【００２３】
なお、表示する３Ｄモデルは、ユーザが設定できるものとする。図３はライブビュー画像上や保存された画像上に表示する３Ｄモデルの識別情報と、配置情報との対応付けを保持するテーブルの一例を示す図である。図３のテーブルは、３Ｄモデルを一意に特定するモデル識別情報、及び配置情報の項目を含む。また、配置情報は、マーカを原点とする相対的な座標を示す位置、及び縦軸を中心とする回転角の項目を含む。なお、高さ（Ｚ座標）については、床上に設定を固定してもよい。マーカを基準とした配置情報に基づいて３Ｄモデルが表示されるため、ライブビュー画面においてはカメラ（すなわちモバイル装置１）の位置が移動しても、３Ｄモデルは設定された位置に固定されて表示される。このよ
うな３Ｄモデル及び配置情報の各々は、ユーザが任意に変更できるものとする。複数の３Ｄモデルは、それぞれマーカを原点として配置されるため、３Ｄモデルは複数登録されるようにしてもよい。なお、テーブルへの登録前に３Ｄモデル同士の衝突判定を行い、互いが重ならないように登録できるようにしてもよい。
【００２４】
また、マーカは、例えば、平面上に表される図形であり、前後左右表裏（すなわち、向き）が判別できるように、各軸に対して回転対称性を持たない。そして、マーカは、その存在を画像内から検出し易い特徴を持っていることが好ましい。例えば、マーカは、黒色等の矩形の枠で縁取りされていてもよいし、矩形の頂点に所定のパターンを含んでいてもよい。また、マーカが検出された場合、例えば領域内部のパターンの特徴量を算出し、事前に登録されている複数のマーカの特徴量の各々と比較して、画像から検出されたマーカの種類を識別する。
【００２５】
また、本実施形態では、マーカの大きさを予め定めておき、ユーザは定められた大きさでマーカを印刷等し、使用する。例えば、マーカの外形を表す矩形の枠は、一辺が予め定められた長さの正方形とする。マーカの大きさが予めわかっていれば、マーカの歪みと各辺の長さ（ピクセル数）から、カメラとマーカとの距離や、マーカが配置された平面とカメラとの位置関係を特定することができる。また、マーカと３Ｄモデルとの相対的な大きさを定めておくことで、ほぼ実寸大の３Ｄモデルを画像上に描画することができる。
【００２６】
具体的なマーカの例としては、領域内を所定の解像度で分割し、分割した領域ごとに色を数値化し、分割した領域全体の一致度からマーカの種類を特定するＡＲマーカや、その他、マトリックス式又はスタック式の二次元コード等が挙げられる。また、雑誌やチラシ等において、写真等の画像を符号部分に用いたマーカを掲載するようにしてもよい。
【００２７】
図４は、モバイル装置１のＡＲ処理を説明するための図である。図４は、マーカ５が配置された室内をユーザがモバイル装置１を介して撮影したときの光景を示している。室内の床にはマーカ５が配置されており、モバイル装置１のモニタには、マーカ５との相対的な位置及び向きに基づいて、家具の３Ｄモデル６が表示される。このように、本実施形態に係るモバイル装置１は、いわゆるマーカ型のＡＲ処理を行う。
【００２８】
また、情報出力部は、情報送信部１１０と、情報取得部１１１とを含む。情報送信部１１０は、例えばモバイル装置１が備えるＧＰＳ（Global Positioning System）受信機等
を用いて求められたモバイル装置１の位置を示す情報を、任意のタイミングでサーバ２に送信する。一方、サーバ２は、ユーザがダウンロードした３Ｄモデルに対応する商品の情報に基づき、例えば商品の種類や形状、大きさ、色といった属性によって似た商品を抽出するコンテンツベースフィルタリングや、同じ商品を表示させたユーザが多数参照している他の商品を抽出する協調フィルタリング等によって、ユーザに推薦する商品を特定する。また、サーバ２は店舗毎の商品の在庫を記憶し、ほぼリアルタイムに更新するものとする。そして、モバイル装置１から受信した位置情報が、ユーザに推薦する商品の在庫を有する店舗から所定の閾値以下に接近したことを示す場合、モバイル装置１に商品を推薦する情報を送信する。そして、モバイル装置１の情報取得部１１１は、サーバ２から商品を推薦する情報を受信し、ユーザに表示する。
【００２９】
＜装置構成＞
なお、モバイル装置１及びサーバ２は、図５に示すようなコンピュータである。図５は、コンピュータの一例を示す装置構成図である。例えば、コンピュータは、ＣＰＵ（Central Processing Unit）１００１、主記憶装置１００２、補助記憶装置１００３、通信Ｉ
Ｆ（Interface）１００４、入出力ＩＦ（Interface）１００５、ドライブ装置１００６、通信バス１００７を備えている。ＣＰＵ１００１は、プログラムを実行することにより本
実施の形態で説明する処理を行う。主記憶装置１００２は、ＣＰＵ１００１が読み出したプログラムやデータをキャッシュしたり、ＣＰＵの作業領域を展開したりする。主記憶装置は、具体的には、ＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）等である。補助記憶装置１００３は、ＣＰＵ１００１により実行されるプログラムや、本実施の形態で用いる設定情報などを記憶する。補助記憶装置１００３は、具体的には、ＨＤＤ（Hard-disk Drive）やＳＳＤ（Solid State Drive）、フラッシュメモリ等である。主記憶装置１００２は、図２に示した一次記憶部１０２として働く。また、補助記憶装置１００３は、図２に示したモデル記憶部１０６や二次記憶部１０８として働く。通信ＩＦ１００４は、他のコンピュータ装置との間でデータを送受信する。通信ＩＦ１００４は、具体的には、有線又は無線のネットワークカード等である。入出力ＩＦ１００５は、入出力装置と接続され、ユーザから入力を受け付けたり、ユーザへ情報を出力したりする。入出力装置は、具体的には、カメラ等の画像入力装置、キーボード、マウス、ディスプレイ、ＧＰＳ受信機等のセンサー類、又はタッチパネル等である。ドライブ装置１００６は、フレキシブルディスク、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disc）、ＢＤ（Blu-ray（登録商標） Disc）等の記憶媒体に記録されたデータを読み出したり、記憶媒体にデータを書き込んだりする。以上のような構成要素が、通信バス１００７で接続されている。なお、これらの構成要素は複数設けられていてもよいし、一部の構成要素（例えば、ドライブ装置１００６）を設けないようにしてもよい。また、入出力装置がコンピュータと一体に構成されていてもよい。そして、ドライブ装置で読み取り可能な可搬性の記憶媒体や、ＵＳＢメモリのような補助記憶装置、ネットワークＩＦなどを介して、本実施の形態で実行されるプログラムが提供されるようにしてもよい。そして、ＣＰＵ１００１がプログラムを実行することにより、上記のようなコンピュータをモバイル装置１やサーバ２として働かせる。
【００３０】
＜配置情報登録処理＞
図６は、配置情報登録処理の一例を示す処理フローを示す。モバイル装置１のマーカ識別部１０４は、撮像部１０１が生成して一次記憶部１０２に記憶させた画像を読み出し、画像中に含まれるマーカを検出する（図６：Ｓ１）。なお、当該画像はライブビュー表示部１０３によってモバイル装置１のモニタにも表示される。本ステップでは、画像を解析し、採用するマーカの性質に応じて、所定の輪郭やパターン、色等を認識することによりマーカを検出する。また、例えばマーカの頂点に基づいて射影変換し、空間情報を算出する。例えば、カメラからの角度や距離に応じて決まる、画像内のマーカの位置及び輪郭の歪みに基づいて、マーカを所定の矩形に射影変換し、マーカを原点とし、且つマーカの位置する平面を水平面（ＸＹ平面）とするマーカ座標系から、カメラ座標系への変換行列（ビュー行列）や画角を算出する。なお、マーカ座標系の原点は、例えば矩形のマーカの所定の頂点や重心等と定めておくものとする。また、このような変換行列の算出は既存の手法やライブラリを用いて行うことができる。画角については、例えばモバイル装置１の機種ごとに、備えているレンズの情報を予め記憶しておき、モバイル装置１の機種を特定するための情報に基づいて画角の情報を取得できるようにしてもよい。また、マーカ座標系からカメラ座標系への変換行列でなく、カメラ座標系を基準としたマーカ座標系への変換行列を算出するようにしてもよい。
【００３１】
次に、モバイル装置１の３Ｄモデル表示部は、ユーザからの入力を受け付け、３Ｄモデルの配置情報を設定する（Ｓ２）。本ステップでは、例えばマーカの位置（Ｘ座標，Ｙ座標，Ｚ座標）を基準（原点）とした３Ｄモデルの位置を示す相対的な空間座標、及び例えば重心等の一点を原点とするオブジェクト座標系における各軸周りの回転角を示す行列によって表される３Ｄモデルの向き（姿勢）を設定する。なお、上述のパラメータの少なくとも一部を固定値としてもよく、例えば配置情報の設定は、３Ｄモデルの高さを床面上に固定し、３Ｄモデルの向きを縦軸（Ｚ軸）周りの回転角のみに簡略化してもよい。
【００３２】
また、３Ｄモデル表示部１０５は、空間情報及び位置情報に基づき、３Ｄモデルをライブビュー画像に重畳して表示する（Ｓ３）。図７は、３Ｄモデルを表示する前のライブビュー画面の一例を示す図である。図７の例には、床にマーカ６を配置した室内が表示されている。また、図７に表示された「設定」ボタンを押下（タップ又はクリック）し、所定の情報を登録することにより、表示する３Ｄモデルの種類やその配置情報を変更できるものとする。なお、図示するボタンは一例であり、このような態様には限定されない。Ｓ１において空間情報が算出され、Ｓ２において配置情報が設定されると、例えば図８に示すように３Ｄモデルが重畳表示される。図８の例では、検出されたマーカ６上にソファの３Ｄモデル７が描画されている。また、本実施形態では、画像中にマーカ６が検出されると、画像、空間情報、及び配置情報を３Ｄモデルと対応付けて保存できるようになっている。図８の例では、ユーザが「レイアウト保存」ボタンを押下することにより、保存の指示を行うことができる。
【００３３】
そして、Ｓ４において保存指示がないと判断された場合（Ｓ４：ＮＯ）、又はＳ５の後、処理はＳ１に戻り、例えば本実施形態に係るプログラムの終了が指示されるまで、配置情報登録処理を繰り返す。このとき、ユーザが室内を移動すれば、モバイル装置１とマーカとの距離や向きが変わるが、３Ｄモデルは、マーカの座標及び姿勢に基づき、あたかも室内に載置されているように表示される。なお、上述の通り、本実施形態においてＳ２で設定される配置情報は、マーカ上には限定されない。図９は、配置情報をマーカ上以外に設定した場合のライブビュー画面の一例を示す図である。図９の例では、モニタ上で３Ｄモデルを図８に示したよりも右方向に移動させ、モデルの背面が窓に沿うように図８に示したよりも縦軸に沿って９０度程度回転させた状態を示している。
【００３４】
一方、Ｓ４において、モバイル装置１の保存処理部１０７は、ユーザから画像、空間情報、配置情報、及び３Ｄモデルを保存すべき旨の操作を受けた場合（Ｓ４：ＹＥＳ）、二次記憶部１０８に画像、空間情報、配置情報、及び３Ｄモデルを記憶させる（Ｓ５）。図１０は、画像と配置情報との対応付けを記憶するテーブルの一例を示す図である。図１０の例では、画像の識別情報に対応付けて、空間情報及び配置情報、並びに表示する３Ｄモデルを登録するようになっている。なお、１つの画像に対して複数の３Ｄモデルを登録できるようにしてもよい。上述の通り、本実施形態ではマーカとの相対的な位置によって３Ｄモデルを配置するため、１つのマーカを含む画像に対して、例えば椅子とテーブルのように複数の３Ｄモデルを配置することができる。なお、ここでは、図９に示した状態でレイアウトの保存指示がなされたものとして、以降の処理を説明する。
【００３５】
配置情報登録処理によれば、画像と３Ｄモデルとを分けて保存するため、事後的に３Ｄモデルを変更し、保存した画像上に表示することができるようになる。
【００３６】
＜事後表示処理＞
図１１は、事後表示処理の一例を示す処理フロー図である。図１１の処理では、配置情報登録処理によって保存されたレイアウトの状態を再現し、さらに配置する３Ｄモデルを変更したり、配置情報を変更したりできるようにする。モバイル装置１の画像表示部１０９は、二次記憶部１０８に記憶されている画像データを読み出し、モバイル装置１が備えるモニタに表示させる（図１１：Ｓ１１）。図１２は、画像を読み出す前の画面の一例を示す図である。ユーザは「画像読出」ボタンを押下し、二次記憶部１０８に記憶されている画像を選択することによって、図１３に示すように画像が表示される。
【００３７】
また、３Ｄモデル表示部１０５は、二次記憶部１０８において画像と対応付けて記憶されている空間情報、配置情報及び３Ｄモデルを読み出す（Ｓ１２）。本ステップでは、Ｓ１１で表示した画像に対応付けて記憶されている配置情報が読み出される。また、３Ｄモデル表示部１０５は、モデル記憶部１０６に記憶されている３Ｄモデルを読み出し、Ｓ１
１で表示された画像に重畳して、Ｓ１２で読み出した空間情報、配置情報及び３Ｄモデルに基づいて３Ｄモデルを描画する（Ｓ１３）。本ステップでは、例えば、ユーザがレイアウトを保存した際に、図１０のテーブルに識別情報を登録した３Ｄモデルを表示する。図１４は、画像に対応付けて保存されていた３Ｄモデルを、画像に対応付けて保存されていた配置情報に基づいて描画した例を示す。ここでは、図９において表示されていた３Ｄモデルが復元されている。
【００３８】
また、３Ｄモデル表示部１０５は、ユーザによって表示する３Ｄモデルの差し替え又は配置変更が指示されたか判断する（Ｓ１４）。本ステップでは、ユーザが図１４の「設定．．．」ボタンを押下し、二次記憶部１０８に記憶されている他の３Ｄモデルを選択（図示せず）した場合、新たに選択された３Ｄモデルへの差し替えが指示されたものと判断する。同様に、ユーザが図１４の「設定．．．」ボタンを押下し、表示する３Ｄモデルの位置又は向き（縦軸周りの回転角）を変更（図示せず）した場合、３Ｄモデルの配置変更が指示されたものと判断する。
【００３９】
３Ｄモデルの差し替え又は配置変更が指示された場合（Ｓ１４：ＹＥＳ）、Ｓ１２の処理に戻り、配置情報を読み直す（Ｓ１２）と共に、選択された３Ｄモデルを読み出し（Ｓ１３）、Ｓ１１で表示した画像に重畳して描画する。なお、図１１ではＳ１２及びＳ１３を繰り返すものとしているが、Ｓ１４において３Ｄモデルの差し替えが指示された場合にはＳ１３へ戻るようにしてもよい。図１５は、３Ｄモデルの位置及び向きを変更した場合の例を示す。また、図１６は、図１５の状態からさらに色違いのソファを表す３Ｄモデルに差し替えた場合の例を示す。また、図１７は、図１５又は図１６の状態から、異なる形状のソファを表す３Ｄモデルに差し替えた場合の例を示す。
【００４０】
一方、３Ｄモデルの差し替え及び配置変更が指示されない場合（Ｓ１４：ＮＯ）、ユーザによるアプリケーションの終了指示を待って、事後表示処理を終了する。なお、ユーザによって他の画像の読み出しが指示された場合（図示せず）は、Ｓ１１の処理に戻り、選択された画像を表示するものとする。
【００４１】
本実施形態によれば、例えばユーザが新たに見つけた家具について、その都度部屋にマーカを配置して撮像し直さなくても、部屋に家具を配置した場合のシミュレーションを行うことができるようになる。また、ユーザは、サーバ２が自動的に抽出したお勧めの家具や、インテリアコーディネータ等の第三者が提案する家具の３Ｄモデル若しくは配置情報、又は３Ｄモデルと配置情報との組み合わせをダウンロードし、事後表示処理によって表示させることもできる。また、サーバ２が自動的に抽出したお勧めの家具や、第三者が提案する家具の３Ｄモデルは、図６に示した配置情報登録処理のライブビュー画面に表示することもできる。すなわち、本システムによれば、室内に配置する物品の選択についてその場でＡＲ処理を行うだけでなく、長期間かけて行う検討を支援することができる。
【００４２】
＜サーバの機能構成＞
図１８は、サーバ２の一例を示す機能ブロック図である。サーバ２は、希望条件取得部２０１と、記憶部２０２と、推薦商品注出部２０３と、ユーザ位置取得部２０４と、周辺店舗抽出部２０５と、推薦情報出力部２０６とを有する。希望条件取得部２０１は、モバイル装置１からユーザが探している家具の条件や、ユーザが参照した家具の履歴等を取得し、記憶部２０２に格納する。
【００４３】
図１９は、ユーザが探している家具の条件を保存するテーブルの一例を示す図である。図１９のテーブルは、ユーザを一意に識別するユーザ識別情報、当該ユーザが探している家具の条件を示す物品名、大きさ、色、価格等の情報を保持する。また、図２０のテーブルは、例えばユーザが３ＤモデルをダウンロードしてＡＲ処理を行った商品の履歴を記憶
するテーブルの一例を示す図である。図２０のテーブルは、ユーザ識別情報と、製品を一意に特定する製品識別情報とを保持する。
【００４４】
記憶部２０２は、ユーザが探している家具の条件等のほか、家具の識別情報に対応付けて大きさや色、価格等の特徴や、対応する３Ｄモデル、店舗毎の在庫等を記憶する。図２０は、製品の情報を記憶するテーブルの一例を示す図である。図２１のテーブルは、製品識別情報と、当該製品の外観を表す３Ｄモデルを一意に特定するためのモデル識別情報、当該製品の物品名、大きさ、色、価格等の情報を保持する。これらの属性は、例えばコンテンツベースフィルタリングを行う際に利用することができる。また、図２２は、店舗毎の製品の在庫数を記憶するテーブルの一例を示す図である。図２２のテーブルは、店舗を一意に特定するための店舗識別情報と、店舗の所在地を示す位置情報、製品識別情報、当該製品の在庫数を保持する。なお、在庫数は、変動するたびに販売者が直接値を入力して更新してもよいし、図示しない販売者の在庫管理システムと連動して更新されるようにしてもよい。
【００４５】
推薦商品抽出部２０３は、ユーザが探している家具の条件や、ユーザが参照した家具の履歴等に基づいて、ユーザに推薦する商品を抽出する。推薦商品抽出部は、例えばコンテンツベースフィルタリングや協調フィルタリング等の既存技術を用いて商品を抽出することができる。また、ユーザ位置取得部２０４は、モバイル装置１から所定のタイミングでモバイル装置１の位置を示す情報を取得する。周辺店舗抽出部２０５は、モバイル装置１の移動する周辺に存在する店舗であって、且つユーザに推薦する商品の在庫を有する店舗を抽出する。そして、推薦情報出力部２０６は、ユーザに推薦する商品の情報と、当該商品の在庫を有する店舗の情報とをモバイル装置１に送信する。
【００４６】
＜推薦処理＞
図２３は、サーバ２が実行する推薦処理の一例を示す処理フロー図である。なお、サーバ２の記憶部２０２には、モバイル装置１の情報送信部１１０から受信したユーザの希望する商品の条件、ユーザがアクセスした商品の紹介ページの履歴、ユーザが３Ｄモデルをダウンロードした商品や３ＤモデルをＡＲ処理に用いた商品の履歴等が、希望条件取得部２０１によって蓄積されているものとする。
【００４７】
サーバ２の推薦商品抽出部２０３は、希望条件取得部２０１が収集した情報に基づき、図２１に示したような製品を格納するテーブルから、各ユーザに対して推薦する商品を抽出する（図２３：Ｓ２１）。本ステップでは、例えばコンテンツベースフィルタリングや協調フィルタリング等の既存技術を用いて商品を抽出する。
【００４８】
また、サーバ２のユーザ位置取得部２０４は、ネットワーク３を介し、所定のタイミングでモバイル装置１の情報送信部１１０からモバイル装置１の位置情報を取得する（Ｓ２２）。そして、モバイル装置１が位置する場所の周辺の店舗であって、Ｓ１で抽出された商品の在庫を有する店舗を検索する（Ｓ２３）。すなわち、モバイル装置１の位置から所定の閾値内に存在する店舗において、Ｓ１で抽出された商品の在庫を有するか判断し、在庫を有すると判断された場合（Ｓ２３：ＹＥＳ）、サーバ２の推薦情報出力部２０６は、ユーザに推薦する商品の情報と、当該商品の在庫を有する周辺の店舗の情報とを、ネットワーク３を介してモバイル装置１に送信する。このとき、商品の３Ｄモデルや、近隣の店舗で利用できるクーポン等をダウンロードできるようにしてもよい。
【００４９】
このようにすれば、何らかの理想の商品を探しているユーザに対し、候補となる商品の在庫を有する店舗にユーザが接近した場合に、サーバ２からモバイル装置１へその旨を通知することができる。特に店舗のオリジナル商品や、一点物の商品の場合、ユーザが商品を目にする機会は少ないが、本実施形態に係るシステムによれば、何らかの商品を探して
いるユーザに候補となる商品を提案することができる。例えば外出先で近隣の店舗や商品を提案されたユーザは、ＡＲ処理によって室内に商品を配置した場合のイメージを確認し、興味と時間的な余裕があれば近隣の店舗に足を運ぶことができる。このような推薦処理によっても、室内に配置する物品について、長期間かけて行う検討を支援することができる。
【００５０】
＜変形例＞
本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において変更することができる。例えば、実施の形態に示した処理フローは、結果が変わらない限りにおいて処理の順序を変更してもよい。また、上記の実施形態及び下記の変形例は、可能な限り組み合わせて実施することができる。
【００５１】
図２２に示したテーブルにおいて、在庫数に加え、店舗における当該製品の展示の有無を記憶させておくようにしてもよい。展示の有無は、例えば売り場の展示を変更するたびに販売者が更新する。特に家具のような商品は、ユーザが実物を見たり触ったりして検討した上で購入したいという要望も大きいところ、このようにすれば、ユーザに展示の有無を含めて商品を提案することができるようになる。
【００５２】
３Ｄモデルは、特に販売者のオリジナル製品や一点物の製品の場合、製品ごとに作成するとコストがかかる。よって、類似した形状の既存の３Ｄモデルを選択し、色や大きさを実物に合わせて変更した代用モデルを利用できるようにしてもよい。このようにしても、ユーザは、室内に物品を配置した場合のシミュレーションを行うことはできる。また、製造者や販売者が、ある製品に対して類似形状の３Ｄモデルを選択した場合、ある製品と３Ｄモデルとの対応付けを記憶させておき、推薦商品の抽出時に用いる情報の１つとしてもよい。すなわち、３Ｄモデルの元になった製品や、同一の３Ｄモデルを代用モデルとして登録した製品は互いに類似していると推定されるため、コンテンツベースフィルタリングにおいて例えば形状の類似性を示す値を高く設定する。
【００５３】
また、推薦処理においては、サーバ２又はネットワーク３に接続された図示していない他の装置を介して、製品の販売者やインテリアコーディネータ等の第三者が製品及び当該製品を表す３Ｄモデル若しくは配置情報、又は３Ｄモデルと配置情報との組み合わせを提案するようにしてもよい。この場合、ユーザが図６のＳ５で保存したレイアウト情報は、サーバ２又は他の装置等のようないわゆるクラウド上に保存され、例えばユーザの設定に基づいて第三者にも公開されるものとする。このようにすれば、モバイル装置１のユーザは、自己が撮影した画像に重畳して、第三者が提案する製品や第三者が配置したレイアウトを参照することができる。さらに、モバイル装置１は、図６のＳ３において第三者が提案する３Ｄモデルを描画し、いわゆるＡＲ処理を行うようにしてもよい。
【００５４】
なお、モバイル装置１は、二次記憶部１０８に配置情報を保存せず、画像のみを保存するようにしてもよい。この場合、図１０に示した事後表示処理のＳ１１では、画像データからマーカを検出し、空間情報及び配置情報を改めて算出する。
【００５５】
また、空間情報を算出せずに、３Ｄモデルをマーカ上に固定的に表示するようにしてもよい。この場合、３Ｄモデルの配置情報として、例えばマーカの位置及び姿勢（軸周りの回転角度）を算出する。この場合の配置情報も、配置情報登録処理において画像と対応付けて記憶させるようにしてもよいし、事後表示処理において算出し直すようにしてもよい。
【００５６】
また、上述の例では３Ｄモデルを描画する高さについて、空間内（室内）においてマーカが配置された床面としていたが、図６のＳ２や図１１のＳ１４において、配置情報とし
て高さを設定するようにしてもよい。例えば、室内にすでに実際に配置されている家具の上にマーカを置き、当該家具の高さをオフセットとして設定しておくことにより、３Ｄモデルは床面に重畳表示することができる。
【００５７】
また、空間情報は、マーカが載置された平面（床面）だけでなく、壁面や天井の情報を含むようにしてもよい。壁面は、マーカを原点とするマーカ座標系において、床面に垂直な平面として定義することができ、例えばユーザがその位置及び縦軸周りの回転角、並びに大きさを入力する。また、天井は、マーカ座標系において、床面に平行な平面として定義することができ、例えばユーザが床面からの高さを入力する。このようにすれば、壁面に絵画等を掛けたり、天井に照明器具等を取り付けたりするようなシミュレーションを行うことができる。また、配置する家具と壁面との衝突判定を行い、３Ｄモデルの移動範囲を規制すれば、事後表示処理において違和感のない３Ｄモデルの配置変更ができるようになる。また、壁面に貼ったマーカを基準とし、相対的な距離や角度を設定することにより、室内の床面等の空間情報を定義するようにしてもよい。
【００５８】
本発明は上述の処理を実行するコンピュータプログラムを含む。さらに、当該プログラムを記録した、コンピュータ読み取り可能な記録媒体も、本発明の範疇に属する。当該プログラムが記録された記録媒体については、コンピュータに、この記録媒体のプログラムを読み込ませて実行させることにより、上述の処理が可能となる。
【００５９】
ここで、コンピュータ読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータから読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータから取り外し可能なものとしては、フレキシブルディスク、光磁気ディスク、光ディスク、磁気テープ、メモリカード等がある。また、コンピュータに固定された記録媒体としては、ハードディスクドライブやＲＯＭ等がある。
【符号の説明】
【００６０】
１      モバイル装置
１０１  撮像部
１０２  一次記憶部
１０３  ライブビュー表示部
１０４  保存処理部
１０５  ３Ｄモデル表示部
１０６  モデル記憶部
１０７  保存処理部
１０８  二次記憶部
１０９  画像表示部
１１０  情報送信部
１１１  情報取得部
２      サーバ
２０１  希望条件取得部
２０２  記憶部
２０３  推薦商品抽出部
２０４  ユーザ位置取得部
２０５  周辺店舗抽出部
２０６  推薦情報出力部
３      ネットワーク
４      製造者又は販売者
【図１】
0006618700.tif 000002
【図２】
0006618700.tif 000003
【図３】
0006618700.tif 000004
【図４】
0006618700.tif 000005
【図５】
0006618700.tif 000006
【図６】
0006618700.tif 000007
【図７】
0006618700.tif 000008
【図８】
0006618700.tif 000009
【図９】
0006618700.tif 000010
【図１０】
0006618700.tif 000011
【図１１】
0006618700.tif 000012
【図１２】
0006618700.tif 000013
【図１３】
0006618700.tif 000014
【図１４】
0006618700.tif 000015
【図１５】
0006618700.tif 000016
【図１６】
0006618700.tif 000017
【図１７】
0006618700.tif 000018
【図１８】
0006618700.tif 000019
【図１９】
0006618700.tif 000020
【図２０】
0006618700.tif 000021
【図２１】
0006618700.tif 000022
【図２２】
0006618700.tif 000023
【図２３】
0006618700.tif 000024