特許第6720385号(P6720385)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社メルカリの特許一覧

特許6720385プログラム、情報処理方法、及び情報処理端末
<>
  • 特許6720385-プログラム、情報処理方法、及び情報処理端末 図000002
  • 特許6720385-プログラム、情報処理方法、及び情報処理端末 図000003
  • 特許6720385-プログラム、情報処理方法、及び情報処理端末 図000004
  • 特許6720385-プログラム、情報処理方法、及び情報処理端末 図000005
  • 特許6720385-プログラム、情報処理方法、及び情報処理端末 図000006
  • 特許6720385-プログラム、情報処理方法、及び情報処理端末 図000007
  • 特許6720385-プログラム、情報処理方法、及び情報処理端末 図000008
  • 特許6720385-プログラム、情報処理方法、及び情報処理端末 図000009
  • 特許6720385-プログラム、情報処理方法、及び情報処理端末 図000010
  • 特許6720385-プログラム、情報処理方法、及び情報処理端末 図000011
  • 特許6720385-プログラム、情報処理方法、及び情報処理端末 図000012
  • 特許6720385-プログラム、情報処理方法、及び情報処理端末 図000013
  • 特許6720385-プログラム、情報処理方法、及び情報処理端末 図000014
  • 特許6720385-プログラム、情報処理方法、及び情報処理端末 図000015
  • 特許6720385-プログラム、情報処理方法、及び情報処理端末 図000016
  • 特許6720385-プログラム、情報処理方法、及び情報処理端末 図000017
  • 特許6720385-プログラム、情報処理方法、及び情報処理端末 図000018
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6720385
(24)【登録日】2020年6月19日
(45)【発行日】2020年7月8日
(54)【発明の名称】プログラム、情報処理方法、及び情報処理端末
(51)【国際特許分類】
   G06T 19/00 20110101AFI20200629BHJP
   G06F 3/01 20060101ALI20200629BHJP
【FI】
   G06T19/00 600
   G06F3/01 510
【請求項の数】13
【全頁数】28
(21)【出願番号】特願2019-91433(P2019-91433)
(22)【出願日】2019年5月14日
【審査請求日】2019年5月21日
(31)【優先権主張番号】特願2019-20953(P2019-20953)
(32)【優先日】2019年2月7日
(33)【優先権主張国】JP
【早期審査対象出願】
(73)【特許権者】
【識別番号】514053169
【氏名又は名称】株式会社メルカリ
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】▲柳▼澤 慧
【審査官】 村松 貴士
(56)【参考文献】
【文献】 特表2016−521391(JP,A)
【文献】 特開2014−109802(JP,A)
【文献】 国際公開第2010/073616(WO,A1)
【文献】 特開2011−081556(JP,A)
【文献】 特開2017−068851(JP,A)
【文献】 特開2011−095797(JP,A)
【文献】 特開2011−055250(JP,A)
【文献】 特開2009−104249(JP,A)
【文献】 特開2016−218615(JP,A)
【文献】 国際公開第2012/033095(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/00
G06F 3/01
G06F 3/048 − 3/0489
H04N 13/00 − 13/398
(57)【特許請求の範囲】
【請求項1】
情報処理端末に、
撮像部により撮像された画像、及び前記情報処理端末の位置を示す位置情報を取得することと、
前記画像及び前記位置情報を情報処理装置に送信することと、
前記情報処理装置から、前記画像及び前記位置情報を用いて特定された一つの物体の三次元モデルのデータを受信することであって、前記三次元モデルは、前記物体の内部を示す三次元モデルを含む、前記受信することと、
加速度センサ及び磁気センサにより測定されたセンサ情報に基づいて、前記情報処理端末を利用するユーザの視線方向を推定することと、
前記視線方向を用いて前記三次元モデルにより示される前記物体の内部の表示データを特定することと、
前記表示データを出力することと、
予め設定された所定操作を検知することと、
前記所定操作に応じて、前記表示データの表示倍率又は前記表示データに対応する視点位置を更新することと、
前記所定操作に応じて前記表示データに対応する視点位置が更新された状態で、予め設定された他の操作を検知することと、
前記他の操作に応じて、前記物体の内部の任意方向を出力可能な表示データに切り替えることと、を実行させるプログラム。
【請求項2】
前記情報処理端末に、
予め設定された第1操作を検知することをさらに実行させ、
前記送信することは、
前記第1操作に応じて、前記画像及び前記位置情報を情報処理装置に送信する、請求項1に記載のプログラム。
【請求項3】
前記情報処理端末に、
前記所定操作に応じて、前記物体に関する物体情報の情報量を変更して出力すること、をさらに実行させる、請求項に記載のプログラム。
【請求項4】
前記物体情報の情報を変更して出力することは、
前記物体に近づく方向に表示データが出力されると、前記物体情報の情報量を多くして出力することを含む、請求項に記載のプログラム。
【請求項5】
前記情報処理端末に、
前記物体の内部の各位置に対応する支配情報を管理する外部システムにより送信された前記支配情報を、前記情報処理装置を介して受信することと、
前記支配情報を、前記物体の内部の各位置に対応付けて出力することと、をさらに実行させる請求項1乃至のいずれか一項に記載のプログラム。
【請求項6】
前記物体が店舗である場合、前記三次元モデルは、各商品棚に陳列された各商品を含む、請求項1乃至のいずれか一項に記載のプログラム。
【請求項7】
前記表示データを出力することは、
前記撮像部により撮像された画像内の物体の位置を特定し、特定された当該位置に前記表示データを出力することを含む、請求項1乃至のいずれか一項に記載のプログラム。
【請求項8】
前記情報処理端末に、
消去対象の物体を示す消去物体情報を取得することをさらに実行させ、
前記特定することは、
前記消去物体情報に基づいて、前記消去対象の物体の背景に位置する前記三次元モデルの表示データを特定する、請求項1に記載のプログラム。
【請求項9】
前記出力することは、
前記消去物体情報が所定の物体情報の場合に、前記表示データを、所定のデータに置き換えて出力することを含む、請求項に記載のプログラム。
【請求項10】
情報処理端末が、
撮像部により撮像された画像、及び前記情報処理端末の位置を示す位置情報を取得することと、
前記画像及び前記位置情報を情報処理装置に送信することと、
前記情報処理装置から、前記画像及び前記位置情報を用いて特定された一つの物体の三次元モデルのデータを受信することであって、前記三次元モデルは、前記物体の内部を示す三次元モデルを含む、前記受信することと、
加速度センサ及び磁気センサにより測定されたセンサ情報に基づいて、前記情報処理端末を利用するユーザの視線方向を推定することと、
前記視線方向を用いて前記三次元モデルにより示される前記物体の内部の表示データを特定することと、
前記表示データを出力することと、
予め設定された所定操作を検知することと、
前記所定操作に応じて、前記表示データの表示倍率又は前記表示データに対応する視点位置を更新することと、
前記所定操作に応じて前記表示データに対応する視点位置が更新された状態で、予め設定された他の操作を検知することと、
前記他の操作に応じて、前記物体の内部の任意方向を出力可能な表示データに切り替えることと、を実行する情報処理方法。
【請求項11】
情報処理端末であって、
撮像部と、
前記撮像部により撮像された画像、及び前記情報処理端末の位置を示す位置情報を取得する取得部と、
前記画像及び前記位置情報を情報処理装置に送信する送信部と、
前記情報処理装置から、前記画像及び前記位置情報を用いて特定された一つの物体の三次元モデルのデータを受信する受信部であって、前記三次元モデルは、前記物体の内部を示す三次元モデルを含む、前記受信部と、
加速度センサ及び磁気センサにより測定されたセンサ情報に基づいて、前記情報処理端末を利用するユーザの視線方向を推定する推定部と、
前記視線方向を用いて前記三次元モデルにより示される前記物体の内部の表示データを特定する特定部と、
前記表示データを出力する出力部と、
予め設定された所定操作を検知する検知部と、を備え
前記特定部は、前記所定操作に応じて、前記表示データの表示倍率又は前記表示データに対応する視点位置を更新し、
前記検知部は、前記所定操作に応じて前記表示データに対応する視点位置が更新された状態で、予め設定された他の操作を検知し、
前記特定部は、前記他の操作に応じて、前記物体の内部の任意方向を出力可能な表示データに切り替えること、を含む、情報処理端末。
【請求項12】
情報処理装置に、
情報処理端末から、撮像部により撮像された画像、及び前記情報処理端末の位置を示す位置情報を受信することと、
記憶装置に記憶される複数の物体の三次元モデルのデータの中から、前記画像及び前記位置情報を用いて一の物体の三次元モデルのデータを特定することであって、前記三次元モデルは、前記物体の内部を示す三次元モデルを含む、前記特定することと、
前記情報処理端末に、特定された三次元モデルのデータを送信することと、
前記物体が店舗であって、当該店舗内に1又は複数の撮像装置がある場合、各撮像装置により撮像された画像を画像解析して特定された前記店舗内の商品位置情報や商品情報を、前記三次元モデルに対応付けることと、を実行させるプログラム。
【請求項13】
情報処理装置が、
情報処理端末から、撮像部により撮像された画像、及び前記情報処理端末の位置を示す位置情報を受信することと、
記憶装置に記憶される複数の物体の三次元モデルのデータの中から、前記画像及び前記位置情報を用いて一の物体の三次元モデルのデータを特定することであって、前記三次元モデルは、前記物体の内部を示す三次元モデルを含む、前記特定することと、
前記情報処理端末に、特定された三次元モデルのデータを送信することと、
前記物体が店舗であって、当該店舗内に1又は複数の撮像装置がある場合、各撮像装置により撮像された画像を画像解析して特定された前記店舗内の商品位置情報や商品情報を、前記三次元モデルに対応付けることと、を実行する情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報処理方法、及び情報処理端末に関する。
【背景技術】
【0002】
従来から、ユーザの頭部に装着して使用するメガネ型やヘッドマウントディスプレイ型のウェアラブル端末が存在する。これらのウェアラブル端末は、所定の情報をユーザに対して表示することが可能であり、ユーザは現実の景観を視認しつつ、現実の景観に重畳表示された情報を確認することができる。
【0003】
例えば、非特許文献1には、ヘルメット型のウェアラブル端末を装着したユーザが建設現場を歩くと、壁の向こう側を透視することが可能であり、例えば、暖房ダクトや送水管、制御盤などを確認し、また、三次元モデルのレイヤーを剥ぎ取れば、ビルの鉄骨構造や断熱、材料の加工や表面処理も確認することができる技術が開示されている。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Redshift、“建設現場でARを活用することで壁の向こう側を透視”、[online]、2017年6月14日、Mogura VR、[2019年2月7日検索]、インターネット〈URL:https://www.moguravr.com/ar-in-construction-redshift/〉
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述した従来技術では、ユーザは情報確認のために事前に建設現場のモデルを呼び出す必要があるため、建設現場が変わると、ユーザはその建設現場に対応するモデルを都度呼び出さなければならない。また、例えばユーザが街を散策中に、まだ知らない物体(例えば店舗やホテル、宅配便の配達員等)の中や現在の状態等の詳細な情報を、その物体の外にいながら知りたいというニーズがある。
【0006】
そこで、本開示は、ユーザの目の前にある物体について、その場にいながらユーザに物体内部等の詳細情報を容易に確認させることが可能なプログラム、情報処理方法、及び情報処理端末を提供することを目的とする。
【課題を解決するための手段】
【0007】
本開示の一態様に係るプログラムは、情報処理端末に、撮像部により撮像された画像、及び前記情報処理端末の位置を示す位置情報を取得することと、前記画像及び前記位置情報を情報処理装置に送信することと、前記情報処理装置から、前記画像及び前記位置情報を用いて特定された物体の三次元モデルのデータを受信することと、加速度センサ及び磁気センサにより測定されたセンサ情報に基づいて、前記情報処理端末を利用するユーザの視線方向を推定することと、前記視線方向を用いて前記三次元モデルの表示データを特定することと、前記表示データを出力することと、を実行させる。
【発明の効果】
【0008】
本開示によれば、ユーザの目の前にある物体について、その場にいながらユーザに物体内部等の詳細情報を容易に確認させることが可能である。
【図面の簡単な説明】
【0009】
図1】第1実施形態に係るシステム概要を説明するための図である。
図2】第1実施形態に係る通信システム1を示す図である。
図3】第1実施形態に係るサーバ110のハードウェア構成の一例を示す図である。
図4】第1実施形態に係る情報処理端末130のハードウェア構成の一例を示す図である。
図5】第1実施形態に係るウェアラブル端末130Aの外観の一例を示す図である。
図6】第1実施形態に係るサーバ110の各機能の一例を示す図である。
図7】第1実施形態に係る情報処理端末130の各機能の一例を示す図である。
図8】第1実施形態に係る透視機能及び表示倍率変更機能の一例を説明するための図である。
図9】第1実施形態に係るパノラマ機能の一例を説明するための図である。
図10】第1実施形態に係る文字表示機能の一例を説明するための図である。
図11】第1実施形態に係る支配情報確認機能の一例を説明するための図である。
図12】第1実施形態に係る通信システム1による処理の一例を示すシーケンス図である。
図13】第2実施形態に係るシステム概要を説明するための図である。
図14】第2実施形態に係るサーバ110のハードウェア構成の一例を示す図である。
図15】第2実施形態に係る通信システム1による処理の一例を示すシーケンス図である。
図16】第3実施形態に係るシステム概要を説明するための図である。
図17】第3実施形態に係る通信システム1による処理の一例を示すシーケンス図である。
【発明を実施するための形態】
【0010】
添付図面を参照して、本開示の実施形態について説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
【0011】
[第1実施形態]
<システム概要>
図1は、第1実施形態に係る通信システムの概要を説明するための図である。図1に示す例では、物体の一例として店舗を用い、情報処理端末130の一例として撮像部や出力部を有するメガネを用いる。情報処理端末130を装着したユーザUが街を散策中に、まだ行ったことがない店舗であるAAショップを発見したとする。このとき、ユーザUは、例えばAAショップを見ながら簡易な操作(例えば所定のジェスチャ)をすることで、情報処理端末130が位置情報とAAショップの画像とをサーバに送信する。
【0012】
次に、サーバは、位置情報と物体の画像とに基づいて、物体の内部を示す三次元モデルを取得し、情報処理端末130に三次元モデルのデータを送信する。情報処理端末130は、取得した三次元モデルの少なくとも一部の表示データD10を、実空間に重畳して表示する。実空間に重畳して表示することは、眼鏡などのレンズ越しに3Dモデルの表示データを表示して実空間に重畳することや、撮像部から撮像される映像を実空間として表示画面を介してユーザに視認させつつ、さらにその映像に3Dモデルの表示データを含めることなどを含む。
【0013】
図1に示す例では、情報処理端末130がプロジェクタタイプを使用してユーザの前方の空間上に表示データD10を出力することを示したが、これに限られず、情報処理端末130のレンズに表示データD10を表示してもよいし、網膜に表示データD10を表示してもよい。また、情報処理端末130は、メガネ型や、ヘッドマウントディスプレイ型や、スマートフォンなどの情報処理端末でもよい。
【0014】
これにより、ユーザは、内部が未知の物体の前に来ると、その物体の内部を示す表示データが実空間に重畳して表示されるため、物体内部を容易に確認すること、いわゆる透視機能を容易に実行することが可能になる。
【0015】
図2は、第1実施形態に係る通信システム1を示す図である。図1に示す例に関する処理を実行可能な通信システム1は、サーバ(情報処理装置)110、ウェアラブル端末130A及び端末130Bを備える。サーバ110、ウェアラブル端末130A及び端末130Bは、インターネットや無線LAN、Bluetooth(登録商標)、有線通信等の通信ネットワークNを介して互いに通信可能に接続される。なお、通信システム1が備えるサーバ110、ウェアラブル端末130及び端末120の数は一つに限られず、複数備えてもよい。また、サーバ110は、1つの機器から構成されてもよいし、複数の機器から構成されてもよいし、クラウド上で実現されるサーバであってもよい。
【0016】
ウェアラブル端末130Aは、ユーザが装着する電子デバイスである。ウェアラブル端末130Aは、例えば、拡張現実(AR: Augmented Reality)技術を利用可能なメガネ型端末(スマートグラス)、コンタクトレンズ型端末(スマートコンタクトレンズ)、ヘッドマウントディスプレイ、又は義眼等であってもよい。なお、ウェアラブル端末はAR技術を用いるものに限定されず、調整現実(Mediated Reality)や、複合現実(Mixed Reality)、人工現実(Virtual Reality)、減損現実(Diminished Reality)等の技術を用いるものでもよい。
【0017】
端末130Bは、例えば、撮影部と出力部とを有するスマートフォン、タブレット端末、携帯電話機、パーソナルコンピュータ(PC)、携帯情報端末(PDA:Personal Digital Assistant)、家庭用ゲーム機器等であってもよい。以下、ウェアラブル端末130Aと端末130Bとを区別しない場合は、まとめて情報処理端末130と称する。また、本実施形態においては、情報処理端末130の一例として、ウェアラブル端末130Aのメガネ型端末(スマートグラス)を用いて説明する。
【0018】
<ハードウェア構成>
通信システム1の各装置のハードウェアについて説明する。図3を用いて、位置情報と物体の画像とを用いて3Dモデルを特定するサーバ(情報処理装置)110のハードウェアを説明し、図4を用いて、サーバ110から取得した3Dモデルを出力する情報処理端末130のハードウェアを説明する。
【0019】
(サーバ110のハードウェア)
図3は、第1実施形態に係るサーバ110のハードウェア構成の一例を示す図である。サーバ110は、CPU(Central Processing Unit)112、通信IF(Interface)114及び記憶装置116を有する。これらの各構成は、相互にデータ送受信可能に接続される。
【0020】
CPU112は、記憶装置116に記憶されたプログラムの実行に関する制御やデータの演算、加工を行う制御部である。CPU112は、通信IF114からデータを受け取り、データの演算結果を出力デバイスに出力したり、記憶装置116に記憶したりしてもよい。
【0021】
通信IF114は、サーバ110を通信ネットワークNに接続するデバイスである。通信IF114は、サーバ110の外部に設けられてもよい。その場合、通信IF114は、例えばUSB(Universal Serial Bus)等のインタフェースを介してサーバ110に接続される。
【0022】
記憶装置116は、各種情報を記憶するデバイスである。記憶装置116は、データの書き換えが可能な揮発性の記憶媒体やデータの読み出しのみが可能な不揮発性の記憶媒体であってもよい。
【0023】
記憶装置116は、例えば、物体の外観、及び/又は内部を示す三次元モデル(3Dモデル)のデータや、物体に関する情報を示す物体情報を記憶する。3Dモデルは、例えば、所定のユーザが提供する内部の画像情報などに基づき生成される。所定のユーザは、店舗側のユーザでもよいし、店舗の利用者でもよいし、システム提供者であってもよい。また、3Dモデルは、システム提供者や、システム提供者により依頼されたベンダーなどが生成してもよい。さらに3Dモデルは、リアルタイムに生成されてもよい。また、3Dモデルは、後述するマッチング処理用に、内部だけではなく外観の画像データを保持しておいてもよい。
【0024】
物体情報は、例えば、物体の名称や物体内部に関する情報を含む。物体が店舗である場合、物体情報は、店舗名、販売商品、商品の金額などを含む。また、物体が宿泊施設である場合、物体情報は、宿泊施設名、宿泊施設のタイプ(旅館、ビジネスホテルなど)、各部屋の概要、各部屋の設備などを含む。また、物体が装置等である場合、物体情報は、この装置名、装置の内部の部品名などを含む。物体が人である場合、物体情報は、この人によって事前に登録された感情や洋服などを含む。また、物体情報は、後述する表示倍率と連動するため、上位層から下位層への階層構造を用いて保持されるようにしてもよい。
【0025】
また、記憶装置116は、後述する外部システムから、物体の各位置に関する支配情報を取得する場合に、この支配情報を記憶してもよい。支配情報は、例えば、ホテルの各部屋の空室情報や、飲食店の各席の空席情報である。
【0026】
(情報処理端末130のハードウェア)
図4は、第1実施形態に係る情報処理端末130のハードウェア構成の一例を示す図である。情報処理端末130は、CPU202、記憶装置204、通信IF206、出力デバイス208、撮像部210、及びセンサ212を有する。これらの各構成は、相互にデータ送受信可能に接続される。図4に示すCPU202、記憶装置204及び通信IF206は、図3に示すサーバ110が備えるCPU112、記憶装置116及び通信IF114と同様の構成を有するため説明を省略する。なお、情報処理端末130の記憶装置204は、サーバ110から3Dモデルデータや物体情報が取得された場合に、これらの情報を記憶する。
【0027】
出力デバイス208は、情報を出力するためのデバイスである。例えば、出力デバイス208は、液晶ディスプレイ、有機EL(Electronic Luminescent)ディスプレイ、スピーカ及び物体表面や空間、網膜上に情報を投影するプロジェクタ等であってもよい。
【0028】
撮像部210は、画像(静止画像及び動画像を含む)を撮像するためのデバイスである。例えば、撮像部210は、CCDイメージセンサ、CMOSイメージセンサ、レンズ等の撮像素子を含んでいてもよい。撮像部210は、スマートグラスタイプのウェアラブル端末130Aであれば、ユーザの視線方向を撮像するような位置に設けられる(例えば図5参照)。
【0029】
センサ212は、加速度センサ、及び磁気センサを少なくとも含むセンサであり、角速度センサをさらに含んでもよい。センサ212は、例えばセンサ情報として方位情報などを取得することが可能である。方位情報は、加速度センサからのデータを用いて磁気センサの傾き補正を行うことで、適切な方位情報が取得可能である。
【0030】
なお、情報処理端末130は、端末の種類に応じて、入力デバイスなどが備えられてもよい。例えば、情報処理端末130がスマートフォンなどの場合は、情報処理端末130は、入力デバイスを有する。入力デバイスは、ユーザから情報の入力を受け付けるためのデバイスである。入力デバイスは、例えばタッチパネル、ボタン、キーボード、マウス及びマイク等であってもよい。
【0031】
<ウェアラブル端末130Aの外観>
図5は、第1実施形態に係るウェアラブル端末130Aの外観の一例を示す図である。ウェアラブル端末130Aは、撮像部210、ディスプレイ136、フレーム137、ヒンジ部138及びテンプル139を備える。
【0032】
上述したように、撮像部210は、画像を撮像するためのデバイスである。撮像部210は、図示しないCCDイメージセンサ、CMOSイメージセンサ、レンズ等の撮像素子等を含んでいてもよい。撮像部210は、ユーザの視線方向が撮像できる位置に設けられるとよい。
【0033】
ディスプレイ136は、後述する出力部410の制御に基づいて、商品情報等の各種情報を表示する出力デバイス210である。ディスプレイ136は、ウェアラブル端末130Aを装着したユーザが実空間の景観を視認可能なように可視光を透過させる部材で形成されていてもよい。例えば、ディスプレイ136は、透明基板を用いた液晶ディスプレイや有機ELディスプレイであってもよい。
【0034】
フレーム137は、ディスプレイ136の外周を囲むように設けられ、ディスプレイ136を衝撃等から保護する。フレーム137は、ディスプレイ136の外周全域にわたって設けられていてもよいし、一部に設けられていてもよい。フレーム137は、例えば、金属や樹脂等で形成されていてもよい。
【0035】
ヒンジ部138は、テンプル139をフレーム137に対して回動可能に接続する。テンプル139は、フレーム137の両端から延在する蔓であり、例えば、金属や樹脂等で形成されていてもよい。ウェアラブル端末130Aは、フレーム137から離間するように開かれたテンプル139がユーザのこめかみ付近に位置するように装着される。
【0036】
テンプル139は、一部が窪んだ係止部139aを有している。係止部139aは、ウェアラブル端末130Aが装着された状態でユーザの耳に係るように位置し、ウェアラブル端末130Aがユーザの頭部から脱落することを防止する。
【0037】
<機能構成>
次に、通信システム1の各装置の機能について説明する。図6を用いて、位置情報と物体の画像とを用いて3Dモデルを特定するサーバ110の各機能を説明し、図7を用いて、サーバ110から取得した3Dモデルを出力する情報処理端末130の各機能を説明する。
【0038】
(サーバの機能構成)
図6は、第1実施形態に係るサーバ110の各機能の一例を示す図である。図6に示す例では、サーバ110は、送信部302、受信部304、特定部306、及び更新部308を備える。送信部302、受信部304、特定部306、及び更新部308は、サーバ110のCPU112が、記憶装置116に記憶されたプログラムを実行することにより実現することができる。
【0039】
送信部302は、通信ネットワークNを介して情報処理端末130に所定の情報を送信する。所定の情報は、例えば、物体の3Dモデルのデータや物体情報などである。
【0040】
受信部304は、通信ネットワークNを介して情報処理端末130から所定の情報を受信する。所定の情報は、例えば、情報処理端末130の位置情報、及び物体が撮像された画像などである。
【0041】
特定部306は、記憶装置116に記憶される複数の物体の三次元モデル(3Dモデル)のデータの中から、物体が撮像された画像及び位置情報を用いて一つの3Dモデルのデータを特定する。3Dモデルは、例えば、物体の3Dモデルであり、物体の外観から内部までを三次元でモデル化し、実空間で物体が存在する位置を示す位置情報(例えば、経度及び緯度の情報)に関連付けられている。また、位置情報と3Dモデルは、1対N(複数)で関連付けられてもよいし、1対1で関連付けられてもよい。
【0042】
また、3Dモデルは、物体の3Dモデルだけではなく、道路や街並みを含めた実空間に近い形で生成されてもよい。この場合、位置情報は、3Dモデルの特徴部分(物体や道路や建物など)に関連付けられる。
【0043】
例えば、特定部306は、情報処理端末130が送信した位置情報から所定範囲内にある物体を特定し、さらに、情報処理端末130から取得した物体の画像と、特定された物体に対応する3Dモデルの外観の画像とのマッチング処理により、一つの3Dモデルを特定する。
【0044】
これにより、簡便な処理で、つまり、位置情報で物体を絞り込み、絞り込まれた物体の画像を用いてマッチング処理を行うことで、ユーザの目の前にある物体に対応する3Dモデルを特定することができる。この場合、位置情報を用いて容易に物体に絞り込みができ、さらに限られた数の画像を用いてのマッチング処理が行われるため、サーバ110の処理に負荷をかけずに済む。
【0045】
また、特定部306は、3Dモデルが地球全体を示す3Dモデルの場合、情報処理端末130から取得した位置情報と、方位情報とを取得し、位置情報と方位情報とに基づいて、全体の3Dモデルの空間内で物体を特定し、この物体に対応する3Dモデルを特定する。なお、この場合でも、詳細な位置情報を用いれば一つの3Dモデルを特定することができるが、物体認識の精度を上げるために、画像のマッチング処理が実行されてもよい。
【0046】
また、特定部306は、特定された物体に対応する物体情報を特定してもよい。物体情報は、物体名や物体の内部に関する内部情報を含む。物体名は、例えば店舗名、施設名、装置名、設備名などを含み、内部情報は、例えば、店舗の業態、販売商品のカテゴリ、販売商品名、値段、措置内部の部品名、宿泊施設の部屋タイプなどを含む。
【0047】
更新部308は、3Dモデルを所定のタイミングで更新し、実際の物体や物体内部と、3Dモデルとに違いがなるべく生じないようにする。例えば、更新部308は、物体が店舗であって、この店舗内に1又は複数の撮像装置(例えば監視カメラ)がある場合、所定のタイミングで各撮像装置により撮像された画像を画像解析する。さらに、更新部308は、現在の画像と過去の画像との誤差を算出し、誤差が所定値以上であれば、画像解析を行ってもよい。
【0048】
更新部308は、画像解析をして特定された店舗内の商品位置情報や商品情報を、この物体の3Dモデルに対応付けて更新する。これにより、実空間の物体の変化に応じて、仮想空間の3Dモデルを変更することが可能になる。更新部308は、複数の物体内画像から3Dモデルを生成してもよい。
【0049】
また、サーバ110は、店舗やホテルの予約システムと連携してもよい。例えば、予約システムは、飲食店などの店舗やホテルなどの物体の内部の各位置(例えば席や部屋)に対応する支配情報を管理する。このとき、更新部308は、店舗の席やホテルの部屋の空き状況(支配情報)を3Dモデルの内部の各位置に対応付けることができ、送信部302は、3Dモデルのデータや物体情報とともに、この物体の支配情報を情報処理装置200に送信可能になる。
【0050】
これにより、物体内部の支配情報を出力することが可能になり、例えばユーザが店舗に入らなくても、そのユーザに対し、店舗の席の空席状況やホテルの部屋の予約状況を知らせることができる。
【0051】
(情報処理端末の機能構成)
図7は、第1実施形態に係る情報処理端末130の各機能の一例を示す図である。図7に示す例では、情報処理端末130は、送信部402、受信部404、取得部406、推定部408、特定部410、出力部412、及び受付部414を備える。送信部402、受信部404、取得部406、推定部408、特定部410、出力部412、及び受付部414は、情報処理端末130のCPU202が、記憶装置204に記憶されたプログラムを実行することにより実現することができる。このプログラムは、サーバ110からダウンロードされて情報処理端末130にインストール可能なプログラム(アプリケーション)であってもよい。
【0052】
送信部402は、通信ネットワークNを介してサーバ110に所定の情報を送信する。所定の情報は、例えば、情報処理端末130の位置情報、及び物体が撮像された画像などである。
【0053】
受信部404は、通信ネットワークNを介してサーバ110から所定の情報を受信する。所定の情報は、例えば、少なくとも物体の3Dモデルのデータを含み、物体情報や支配情報などを含んでもよい。
【0054】
取得部406は、撮像部210により撮像された画像、及び情報処理端末130の位置を示す位置情報を取得する。取得部406は、位置情報について、公知のGPSやBeacon、VPS(Visual Positioning Service)を用いて情報処理端末130の位置情報を取得してもよい。
【0055】
推定部408は、位置情報及び磁気センサを含むセンサ212により測定されたセンサ情報に基づいて、情報処理端末130を利用するユーザの視線方向を推定する。例えば、推定部408は、位置情報に基づいて、受信された3Dモデル内のユーザの位置を特定し、さらに、加速度センサや磁気センサからのセンサ情報に基づいて、3Dモデル内のユーザの位置からの方位方向を視線方向として推定する。また、推定部408は、視点位置について、例えば、3Dモデルのユーザの位置の地面から所定の高さの位置をユーザの視点位置と推定してもよい。推定部408は、所定の高さについて、予め165cmなどを設定しておいてもよいし、ユーザの身長を事前に設定しておいてもよい。さらに推定部408は、撮像された画像に基づいて視点位置を推定してもよい。
【0056】
特定部410は、推定部408により推定された視線方向を用いて3Dモデル内の表示データを特定する。例えば、特定部410は、3Dモデル内で、ユーザの位置と、視線方向とを決めることで、3Dモデル内の所定領域の表示データを特定することが可能になる。また、特定部410は、ユーザの視点位置からの視線方向を決めることで、より適切な表示データを特定することが可能になる。
【0057】
出力部412は、特定部410により特定された表示データを、出力デバイス208を用いて出力する。例えば、出力部412は、出力デバイス208がレンズのディスプレイである場合、ディスプレイ上に表示データを表示する。また、出力部412は、出力デバイス208がプロジェクタ等であれば、ユーザの目の前の空間に表示データを表示し、出力デバイス208が網膜プロジェクタであれば、ユーザの網膜に表示データが表示されるよう出力する。
【0058】
これにより、ユーザの位置と物体の画像とに基づいて、ユーザから離れた位置にある物体の内部を適切に特定し、表示することで、実空間の見え方と乖離を少なくして内部の情報をユーザに知らせることができる。例えば、ユーザは知らない街を歩いていても、店舗の外にいながら、その店舗の内部を透視することが可能な機能を利用することができる。
【0059】
検知部414は、撮像部210により撮像される画像や所定のデバイスを用いて、予め設定された第1ジェスチャ(第1操作の一例である)を検知する。所定のデバイスとして、ジェスチャを認識可能な公知のデバイス(例えば、Galaxy NoteのSペン、Ring Zero、Viveコントローラ、グローブ型のデバイス、筋電センサなど)を用いることが可能である。検知部414は、このデバイスから受け取る信号に応じてジェスチャを検知してもよい。第1ジェスチャは、例えば、手で丸を作るジェスチャである。
【0060】
送信部402は、この第1ジェスチャに応じて、画像及び位置情報をサーバ110に送信する。例えば、検知部414は、第1ジェスチャが検知されると、取得部406により取得される画像及び位置情報をサーバ110に送信するよう指示する。第1ジェスチャの検知がトリガになって、上述した透視機能が開始される。
【0061】
これにより、ユーザは、自分の好きなタイミングで第1ジェスチャをすることで、この透視機能を利用することができる。また、第1ジェスチャを手で丸を作ることに設定することで、ユーザは手で丸を作り、店舗内部をのぞき込むようなジェスチャをすることで、この透視機能を利用することができる。
【0062】
また、検知部414は、例えば、画像や所定のデバイスを用いて、ユーザの第2ジェスチャを検知してもよい。第2ジェスチャは、例えば、指をさして右回転、又は左回転させることである。
【0063】
出力部412は、第2ジェスチャに応じて、表示データの表示倍率又は表示データに対応する視点位置を更新してもよい。例えば、第2ジェスチャが右回転の場合、表示倍率は大きくなり、左回転の場合、表示倍率は小さくなる。
【0064】
この場合、出力部412は、検知部414から第2ジェスチャを検知したことを通知されると、表示データの表示倍率を、回転の向きに応じて変更する。また、表示倍率の程度は、第2ジェスチャの回数や、動作時間に応じて調整される。例えば、第2ジェスチャの回数が多い、又は動作時間が長いほど、表示倍率は大きくなる。また、表示倍率については、3Dモデル内の視点位置(仮想カメラの位置)を物体に近づけたり、遠ざけたりすることでも同様の機能を達成することができる。
【0065】
これにより、ユーザは、第2ジェスチャをすることで、ユーザはその場にいながら、物体内部を遠くから見たり、近くから見たりすることができる。
【0066】
また、出力部412は、第2ジェスチャに応じて、物体に関する物体情報の情報量を変更して出力してもよい。例えば、物体が店舗である場合、出力部412は、表示データに対応する店舗の店舗情報の情報量を変更して表示してもよい。より具体的には、出力部412は、第2ジェスチャに応じて、表示される店舗情報を多く表示したり、少なく表示したりする。
【0067】
これにより、第2ジェスチャの動作内容に応じて、表示データの表示倍率、及び表示される店舗情報の情報量が連動して変更されることを可能にする。
【0068】
また、出力部412は、第2ジェスチャに応じて物体に近づく方向に表示データが出力されると、物体情報の情報量を多くして出力してもよく、また、第2ジェスチャに応じて物体が遠ざかる方向に表示データが出力されると、物体の情報量を少なくして出力してもよい。
【0069】
例えば、店舗情報は、店舗名、商品ジャンル名、商品名、商品の金額などの文字情報が上位から下位に階層化して保存されており、表示倍率が大きくなる(物体に近づく)につれて、情報が上位から下位になり、より詳細な情報が表示されるようになる。他方、表示倍率が小さくなる(物体から遠ざかる)につれて、情報が下位から上位になり、より大まかな情報が表示されてもよい。店舗情報のデータの保持の仕方はこれに限られず、情報に優先順位が付与され、表示倍率が高くなるにつれて、優先順が低い店舗情報が表示されるようにしてもよい。最上位又は再下位の情報が表示された場合、それ以上のデータはないため、情報量の変化が停止する。
【0070】
これにより、第2ジェスチャに応じて表示倍率、及び表示される情報量を連動して変化させることができ、拡張現実の表示データが拡大すれば、より詳細な物体情報を表示させ、拡張現実の表示データが縮小すれば、より大まかな物体情報を表示させることができる。
【0071】
また、検知部414は、第2ジェスチャに応じて表示データに対応する視点位置が更新された状態で、予め設定された第3ジェスチャを検知してもよい。第3ジェスチャは、例えば手を開くジェスチャである。
【0072】
このとき、出力部412は、第3ジェスチャの検知に応じて、物体内部の任意方向を出力可能な表示データに切り替えてもよい。例えば、出力部412は、3Dモデル空間上のユーザの視点位置(仮想カメラの位置)を基点にすることで、その視点位置から360度の表示データを出力可能にする。
【0073】
第2ジェスチャと第3ジェスチャとにより実現される機能の違いについて、第2ジェスチャの場合は、3Dモデルの仮想空間上のユーザの位置と、物体の位置との間を視線方向を変えずに視線位置が移動するのに対し、第3ジェスチャの場合は、第3ジェスチャの検知時点の位置にある視点位置から視線方向を360度変更できることが異なる。
【0074】
これにより、ユーザは、例えば物体内部の仮想空間上の位置で第3ジェスチャを行うことで、物体内部を360度見渡すことができるようになる。ユーザは、実空間では物体の外側にいながら、仮想空間上で物体内部を360度見渡すことができるようになる。
【0075】
受信部404は、物体の内部の各位置に対応する支配情報を管理する外部システムにより送信された支配情報を、サーバ110を介して受信してもよい。例えば、サーバ110が、表示対象の物体を特定した際に、外部システムから、対応する物体の支配情報を取得する。一例として、物体がレストランやホテルとすると、支配情報は、席の予約情報や部屋の空室情報である。サーバ110は、この各位置に対応する支配情報と、物体の3Dモデル上での各位置とを関連付けて、情報処理端末130に送信する。
【0076】
この場合、出力部412は、受信された支配情報を、3Dモデルの物体の内部の各位置に対応付けて出力してもよい。例えば、出力部412は、レストランの空席情報を、3Dモデルの対応する位置に表示する。また、出力部412は、ホテルの空室情報を、3Dモデルの対応する部屋の位置に表示する。
【0077】
これにより、ユーザは、物体の外側にいながら、物体内部の支配情報を把握することができる。例えば、物体をレストランやホテルとすると、実際に行ったり電話したりしなくても、部屋の位置を確認しながら、その部屋の空き情報を把握することが可能になる。
【0078】
物体が店舗である場合、3Dモデルは、各商品棚に陳列された各商品を含んでもよい。店舗に監視カメラなどの撮像装置がある場合、その撮像装置からの画像、または、他のユーザから送信された画像などから物体認識をすることで、商品を特定することが可能である。この特定された商品は3Dモデルに含まれる。また、サーバ110の管理者等により、3Dモデルに商品棚や商品が設定されてもよい。
【0079】
これにより、ユーザは、物体が店舗である場合に、その店舗で何を販売しているかを外部から視覚的に把握することが可能になり、商品の位置等も店舗に入る前に把握することが可能になる。
【0080】
また、出力部412は、撮像部210により撮像された画像内の物体の位置を特定し、特定された位置に表示データを出力することを含んでもよい。例えば、出力部412は、実際に撮像されている物体の輪郭を、エッジ抽出処理などで特定することで、実空間の物体の輪郭に合わせて、重畳される3Dモデルの表示データの輪郭を調整して出力することが可能である。
【0081】
これにより、ユーザに対し、実空間上の物体と、仮想空間上の物体との位置が合うように表示されるため、実際に透視しているような感覚を受けつつ、物体内部を適切に把握させることができる。
【0082】
<具体例>
次に、図8〜11を用いて、実施形態に係る各機能を、3Dモデルの表示データの見え方とともに説明する。図8〜11に示す例では、ウェアラブル端末130Aをスマートグラスとした場合にレンズ越しにユーザが見る景色の例を表している。
【0083】
図8は、第1実施形態に係る透視機能及び表示倍率変更機能の一例を説明するための図である。レンズD12越しの景色には、実空間の店舗の外観と、手で第1ジェスチャG10をしている様子とが含まれる。この第1ジェスチャは、撮像部210により撮像される。
【0084】
レンズD14越しの景色には、第1ジェスチャに応じて、仮想空間上の店舗の3Dモデルの内部を示す表示データが表示される(透視機能が実行される)。実際には、D12に示す実空間の店舗の外観に、D14に示す仮想空間の表示データが重畳されるが、以降に示す例においても、実空間の景色を省略して説明する。
【0085】
このとき、D14に表示される表示データは、仮想空間上の3DモデルM10において、ユーザUの位置における視点位置V10から物体方向(視線方向)の表示データであり、3Dモデルの店舗S10の表示データである。
【0086】
レンズD16越しの景色には、仮想空間上の表示データと、手で第2ジェスチャG12をしている様子とが含まれる。この第2ジェスチャは、撮像部210により撮像される。第2ジェスチャは、例えば、指をさし、指先を右に回すジェスチャである。指先を右に回すジェスチャが拡大を示し、指先を左に回すジェスチャが縮小を示す。この時の仮想空間上の3DモデルM12は、3DモデルM10と同じである。
【0087】
レンズD18には、第2ジェスチャに応じて、仮想空間上の店舗の3Dモデルの内部を示す表示データの表示倍率が変更されて表示される(表示倍率変更機能が実行される)。
【0088】
このとき、仮想空間上の3DモデルM14において、仮想空間上ではユーザUの位置は変わらないが、視点位置V10から物体方向(視線方向)に近づく。レンズD18には、変更後の視点位置V10から見た物体の表示データであり、3Dモデルの店舗S10の表示データが表示される。
【0089】
図9は、第1実施形態に係るパノラマ機能の一例を説明するための図である。図9に示す例において、レンズD20越しの景色には、仮想空間上の表示データと、手で第3ジェスチャG14をしている様子とが含まれる。この第3ジェスチャは、撮像部210により撮像される。第3ジェスチャは、例えば、手を開くジェスチャである。この時の仮想空間上の3DモデルM20は、図8に示す3DモデルM14と同じである。
【0090】
レンズD22には、第3ジェスチャに応じて、仮想空間上の店舗の3Dモデルの視点位置から、360度のパノラマの表示データが表示可能になる(パノラマ機能が利用可能になる)。例えば、ユーザは、実空間で右を向くことで、3Dモデルの視点位置V10から、実空間と同じだけ右を向いた場合の仮想空間上の表示データが表示される。
【0091】
このとき、仮想空間上の3DモデルM22において、仮想空間上ではユーザUの位置が視点位置V10に移動することで、この仮想位置V10から360度の任意の方向の表示データが表示可能になる。
【0092】
図10は、第1実施形態に係る文字表示機能の一例を説明するための図である。図10に示す例において、レンズD30越しの景色には、仮想空間上の表示データと、その物体に関する物体情報I30とが含まれる。物体情報は、例えば、第1ジェスチャに応じて、表示データとともに表示されてもよいし、別のジェスチャが割り当てられ、この別のジェスチャが検知された場合に、物体情報が表示されるようにしてもよい。
【0093】
図10に示す例において、物体情報I30には、例えば店舗名「ABCショップ」、販売商品のカテゴリ「雑貨」が含まれる。図10に示す例はあくまでも一例であって、この例に限られない。
【0094】
レンズD32越しの景色には、レンズD30越しの景色にさらに、ユーザの手が第2ジェスチャをしている様子が含まれる。この第2ジェスチャの検知に応じて、出力部412は、レンズD34越しの景色が表示されるように制御する。
【0095】
レンズD34越しの景色には、表示倍率が大きくなった表示データと、より詳細な物体情報I32とが含まれる。物体情報I32には、店舗名「ABCショップ」と、販売商品とが含まれる。販売商品には、より詳細化されており、コスメ、文房具、お菓子などが含まれる。よって、1つのジェスチャに対し、表示倍率と表示される情報量の調整が設定されており、ユーザへの利便性を向上させた機能を提供することが可能である。
【0096】
図11は、第1実施形態に係る支配情報確認機能の一例を説明するための図である。図11に示す例において、レンズD40越しの景色には、実空間の景色(ホテルを含む景色)と、第1ジェスチャをしている様子とを含む。出力部412は、第1ジェスチャに応じて、3Dモデルの表示データと、物体内部の各位置の支配情報(ホテルの各部屋の空き情報)とを出力する。
【0097】
レンズD42越しの景色には、実空間に仮想上の支配情報が表示される例を示すが、さらに、物体内部の表示データが出力されてもよい。図11に示す例では、ユーザは、実際にどの部屋が空いているかを実空間上に重畳された支配情報で把握することができる。
【0098】
さらに、部屋を指定するジェスチャ、及び予約するジェスチャが予め設定されており、ユーザの氏名、住所、電話番号などのユーザ情報が予め設定されていれば、レンズD42越しの景色から、部屋を選択し、選択された部屋を予約するジェスチャをすることで、設定されたユーザ情報を、ホテルの部屋を管理する外部システムに送信することが可能になり、空き情報の確認から予約までをシームレスに実行することが可能になる。
【0099】
<動作>
図12は、第1実施形態に係る通信システム1による処理の一例を示すシーケンス図である。図12を用いて各ジェスチャに応じた情報処理端末130の各機能に係る処理を説明する。
【0100】
ステップS102で、ユーザは第1ジェスチャを行う。情報処理端末130の撮像部210は、この第1ジェスチャを撮像する。第1ジェスチャは、検知部414により検知される。
【0101】
ステップS104で、情報処理端末130の取得部406は、この情報処理端末130の位置情報を取得する。位置情報は、GPS機能やBeaconなどを用いて取得されればよい。
【0102】
ステップS106で、情報処理端末130の取得部406は、加速度センサ及び磁気センサを含むセンサ212を用いて、方位情報を取得する。磁気センサの傾きを加速度センサの情報を用いて傾き補正することで、適切な方位情報を取得することが可能になる。
【0103】
ステップS108で、情報処理端末130の送信部402は、方位情報及び位置情報とともに、撮像部210により撮像された画像をサーバ110に送信する。
【0104】
ステップS110で、サーバ110の特定部306は、受信された方位情報と位置情報と画像に基づいて、物体の3Dデータを取得する。例えば、特定部306は、位置情報及び方位情報により1又は複数の物体に絞り込み、画像のパターンマッチングを用いて一つの物体を特定する。
【0105】
ステップS112で、サーバ110の特定部306は、特定された物体に対応する物体情報を取得する。
【0106】
ステップS114で、サーバ110の送信部302は、物体の3Dモデルのデータと物体情報とを、情報処理端末130に送信する。
【0107】
ステップS116で、情報処理端末130の推定部408は、情報処理端末130の位置情報と方位情報とに基づいて、仮想空間内の視点位置と視線方向を推定し、特定部410は、推定された視点位置及び視線方向から3Dモデルにおいて表示される表示データを特定し、出力部412は、特定された表示データを、実空間に重畳して出力する(透視機能の実行)。出力の仕方は、上述したとおり様々なやり方がある。
【0108】
ステップS118で、ユーザは、第2ジェスチャを行う。情報処理端末130の撮像部210は、この第2ジェスチャを撮像する。第2ジェスチャは、検知部414により検知される。
【0109】
ステップS120で、情報処理端末130の出力部412は、第2ジェスチャに応じて表示倍率を変更した表示データを出力する(表示倍率変更機能の実行)。
【0110】
ステップS122で、ユーザは、第3ジェスチャを行う。情報処理端末130の撮像部210は、この第3ジェスチャを撮像する。第3ジェスチャは、検知部414により検知される。
【0111】
ステップS124で、情報処理端末130の出力部412は、第3ジェスチャに応じて、仮想空間の視点位置から360度表示可能にし、その後、ユーザの向きに応じてその向きの表示データを出力する(パノラマの機能の実行)。
【0112】
なお、ステップS110において、方位情報は、上述したとおり、3Dモデルの特定には必ずしも必要なデータではないため、ステップS108において、方位情報が送信されなくてもよい。また、表示倍率変更機能やパノラマ機能は、本実施形態において任意の機能である。
【0113】
[第2実施形態]
図13乃至図15を参照して、第2実施形態に係る通信システムの構成について、第1実施形態との差異点を中心に説明する。図13は、第2実施形態に係るシステム概要を説明するための図である。本実施形態では、情報処理端末130を装着したユーザUは、他の人物BBを見ながらジェスチャ等の簡易な操作をすることで、情報処理端末130Aが位置情報と人物BBの画像とをサーバ110に送信する。
【0114】
サーバ110は、位置情報と人物BBの画像とに基づいて、人物BBのユーザ情報を特定する。さらにサーバ110は、ユーザUのユーザ情報と、特定した人物BBのユーザ情報とに基づいて、人物BBに重畳させる服飾品の三次元モデルを取得し、情報処理端末130に三次元モデルのデータを送信する。その後の処理は第1実施形態と同様である。
【0115】
次に、図14は、第2実施形態に係るサーバ110のハードウェア構成の一例を示す図である。本実施形態にかかるサーバ110の記憶装置116は、第1実施形態における物体情報に代えてユーザ情報を記憶している。ユーザ情報は、ユーザの識別子や、属性(年齢、性別、居住地、所属コミュニティ)、お気に入りの商品等の情報を含む。ユーザ情報は、ユーザUや人物BBが自身の端末を操作して登録することができる。
その他のサーバ110のハードウェア構成は第1実施形態と同様である。
【0116】
次に、本実施形態に係るサーバ110の機能構成について説明する。本実施形態では、特定部306は、記憶装置116に記憶される複数の服飾品(例えば服、帽子、アクセサリー、靴等)の三次元モデル(3Dモデル)のデータの中から、物体(人物)が撮像された画像と、位置情報と、ユーザ情報とを用いて一つの3Dモデルのデータを特定する。なお、服飾品の三次元モデルはアニメーションやボーンの有無、リギングやスキニング済みかは問わない。
【0117】
例えば、特定部306は、ウェアラブル端末130Aを装着したユーザUと物体(人物BB)との関係(ユーザ情報に同じコミュニティ所属することが登録されているか、性別や年齢が同じか等)に基づいて、選択する3Dモデルを変更してもよい。より具体的には、例えば特定部306は、人物BBが学生で、ユーザUが、人物BBが応募した企業の面接官である場合には、スーツの3Dモデルを選択し、ユーザUが人物BBと同じ学校の学生である場合には、カジュアルなファッションの3Dモデルを選択してもよい。さらに例えば、特定部306は、ユーザUの位置情報が当該ユーザUの居住地であり、物体(人物BB)のユーザ情報に、ユーザUに荷物を届ける配達員であることが属性情報として記録されている場合には、配送会社の制服の3Dモデルを選択し、配達員であることが記録されていない場合には、3Dモデルを選択しなくてもよい。
【0118】
このように、特定部306が、ユーザ情報に応じて選択する3Dモデルを変更することで、ウェラブル端末130AのユーザUは、物体(人物BB)の属性や自分との関係性を、視認することができる。
その他のサーバ110の機能構成は第1実施形態と同様である。
【0119】
次に、本実施形態に係る情報処理端末130の機能構成について説明する。本実施形態に係る特定部410は、撮像部210により撮像された画像から物体(人物)の身体をリアルタイムにトラッキングし、3Dモデルの表示位置を特定することができる。具体的には、特定部410は、撮像部210に撮像された画像から、既存の人体姿勢推定技術を用いて、鼻、目、耳、首、肩、肘、手首、腰、膝、足首など人体の特徴点を検出する。なお、情報処理端末130に赤外線深度センサがある場合には、赤外線の奥行きを計算することで特徴点を検出してもよい。また、人体姿勢推定で検出した人体の特徴点の記憶方法は、二次元でも三次元でもよい。
【0120】
サーバ110から取得した3Dモデルに人体に関するボーンが対応付けられている場合には、当該ボーンと人体から検出した特徴点(肩や肘など)の位置とを紐付けて、3Dモデルの表示位置を特定する。他方、サーバ110から取得した3Dモデルに人体に関するボーンが対応づけられていない場合には、人物BBがあらかじめ設定した位置が3Dモデルの表示位置として特定される。この場合には、記憶装置116に記憶されるユーザ情報に表示位置に関する情報が紐付けられており、当該紐付けられた表示位置に関する情報をサーバ110から取得することが好ましい。
【0121】
なお、例えば服の3Dモデルを人物BB上に表示して正面からユーザUが見る場合、ユーザUからは服の背中の裏地部分は見えるべきではない。このため、特定部410は、撮像部210に撮像された画像から、セマンティック・セグメンテーション等の技術を用いて人体の表面を取得し、オクルージョン・カリング等の技術を用いて背中の裏地部分を表示しないことが好ましい。
その他の情報処理端末130の機能構成は第1実施形態と同様である。
【0122】
図15は、第2実施形態に係る通信システム1による処理の一例を示すシーケンス図である。図15を用いて第1実施形態との処理フローの差異点を説明する。
【0123】
ステップS108で、情報処理端末130の送信部402が、方位情報及び位置情報とともに、撮像部210により撮像された画像をサーバ110に送信すると、ステップS210で、サーバ110の特定部306は、受信された位置情報と画像とに基づいて、物体(人物)のユーザ情報を絞り込む。
【0124】
ステップS212で、特定部306は、位置情報と画像と絞り込んだユーザ情報とに基づいて物体(人物)に対応する3Dモデルを取得する。
【0125】
ステップS214で、サーバ110の送信部302は、物体(人物)に対応する3Dモデルのデータとユーザ情報とを、情報処理端末130に送信する。
【0126】
ステップS216で、情報処理端末130の特定部410は、撮影した画像から物体(人物)の身体をリアルタイムにトラッキングし、3Dモデルの表示位置を特定する。そして、ステップS217で、特定部410は、特定した表示位置(人物の身体の上)に、3Dモデルのデータとユーザ情報とを表示させる。
その他の通信システム1の処理フローは第1実施形態と同様である。
【0127】
[第3実施形態]
図16乃至図17を参照して、第3実施形態に係る通信システムの構成について、第1実施形態との差異点を中心に説明する。図16は、第3実施形態に係るシステム概要を説明するための図である。本実施形態では、情報処理端末130を装着したユーザUは、或る景色を見ながらジェスチャ等の簡易な操作をすることで、情報処理端末130Aが位置情報と景色の画像とをサーバ110に送信する。図16に示す例では、AAA、BBB、CCC、DDDという4つの看板が壁に設置されており、ユーザUが情報処理端末130を用いて、これらの看板を見るとする。このとき、ユーザUは、その景色から消去したい物体(例えば看板CCC)を指定する。サーバ110は、消去対象の物体を受け付けると、その消去対象の物体の背後に位置する3Dモデルの位置を特定し、その位置の3Dモデルの表示データD100(例えば、看板CCCの背後にある壁)を情報処理端末130に送信する。
【0128】
情報処理端末130は、サーバ110から消去対象の物体の表示データD100を取得すると、画像から消去対象の物体を消去し、その物体の位置に表示データD100を表示するよう制御する。なお、消去対象の物体は、ユーザによりその都度指定されてもよいし、事前に消去対象の物体のカテゴリや画像上の特徴などサーバ110に記憶させておき、物体検出などにより特定されてもよい。なお、情報処理端末130は、消去対象の物体を画像から消去しなくても、表示データをD100を重畳すればよい。
【0129】
これにより、ユーザにとって不要な情報や、他人が情報処理端末130を利用する場合に、その他人に見て欲しくない物体などの情報を消去することが可能になり、情報処理端末130を利用する視聴者側に情報の選別を行うことが可能になる。例えば、数多くの情報の中から、そのユーザにとって不要な情報を消去したり、子供が使用する場合に、子供の教育上ふさわしくない情報を消去したりすることができる。なお、不要な情報や教育上ふさわしくない情報を見せなくする方法として、該当する情報に例えば別の情報を重畳して隠す方法等も考えられる。しかし、別の情報を重畳して隠した場合、ユーザはなにかが隠されていることに気づいてしまう。この場合、ユーザは情報処理端末130を外して隠された情報を確認しようと考える場合がある。本実施形態のように不要な情報や教育上ふさわしくない情報に背景を重畳して消去することで、ユーザに情報が隠されたことさえ気づかせないことができる。
【0130】
第3実施形態において、サーバ110及び情報処理端末130のハードウェア構成は、第1実施形態に示すハードウェア構成と同様であるため、説明を省略する。次に、サーバ110の機能構成について説明する。第3実施形態に係るサーバ110の機能構成は、図6に示すサーバ110の機能構成と同様であるが、差異点を主に説明する。
【0131】
受信部304は、情報処理端末130から消去対象の物体情報(以下、「消去物体情報」とも称す。)を受信する。この消去物体情報が受信されると、特定部306は、この消去物体情報の位置の背景にある、3Dモデルの位置を特定する。なお、3Dモデル自体は、第1実施形態において説明したように、受信された画像や位置情報を用いて特定されればよい。送信部302は、特定された3Dモデルの位置に対応する表示データを、情報処理端末130に送信する。なお、第1実施形態と同様に、送信部302は、3Dモデルデータと、特定された3Dモデル内の位置情報とを情報処理端末130に送信してもよい。この場合、例えば、情報処理端末130は、受信された位置情報に基づいて、3Dモデルの表示データを特定して、消去物体情報に重畳して表示するよう制御する。
【0132】
また、サーバ110は、消去物体情報を、ユーザIDなどに関連付けて記憶しておいてもよい。この場合、受信部304は、第1実施形態と同様に画像と位置情報とを受信し、さらにユーザIDを受信する。ユーザIDについて、受信部304は、このアプリケーションへのログイン時に用いられたユーザIDなどを受信する。次に、特定部306は、ユーザIDに基づいて、このユーザの消去物体情報を予め設定しておき、画像から物体検索を行って、消去物体情報に対応する物体が画像内にあるか否かを判定する。画像内に消去物体情報があれば、上述した処理と同様の処理が行われる。
【0133】
なお、特定部306は、物体検出の一例として、Semantic Segmentationの手法を用いて、ピクセルごとにラベル付けを行い、このラベルに基づいて複数の領域に分類することで物体検出を行ってもよい。例えば、特定部306は、分類された領域に対応する領域を物体と特定してもよい。
【0134】
次に、第3実施形態に係る情報処理端末130の機能構成について説明する。第3実施形態に係る情報処理端末130の機能構成は、図7に示す情報処理端末130の機能構成と同様であるが、差異点を主に説明する。
【0135】
取得部406は、撮像部210により撮像される画像上で、ユーザから消去物体情報が指定された場合、指定された画像上の位置からエッジ検出等により指定された位置を含む物体情報を取得する。なお、物体を検出するための技術は、公知の技術を用いてもよい。消去物体情報の指定については、物体の位置を示して所定のジェスチャにより指定されてもよいし、ユーザが操作ボタンなどを用いることにより指定されてもよい。送信部402は、ユーザにより消去物体情報が指定された場合、この消去物体情報をサーバ110に送信する。
【0136】
受信部404は、サーバ110から、消去物体情報の背景に対応する表示データを受信する。この場合、推定部408及び特定部410の処理はなくてもよく、出力部412は、消去物体情報の位置に、受信された表示データを出力する。出力デバイス208がディスプレイである場合には、出力部412は、画像内の消去物体情報の位置に表示データを重畳して表示してもよい。また、出力部412は、画像内の消去物体情報を消去してから、その位置の表示データを出力するようにしてもよい。この場合、画像上で完全に物体を消去できるので、レンズのディスプレイを用いてリアルな世界を見る場合は、ユーザは物体が消去されていることに気づかずに、3Dモデルの表示データをユーザに見せることが可能になる。また、出力デバイス208がプロジェクタの場合、出力部412は、表示データの領域を可能な限り不透過に設定し、実際の消去対象の物体が視認できないようにする。
【0137】
また、受信部404は、3Dモデルデータと、特定された3Dモデル内の位置を示す位置情報とを受信してもよい。この場合、特定部410は、物体の位置情報に基づいて、3Dモデル内の位置を特定し、特定された位置と、消去物体情報のサイズとに基づいて表示データを特定する。出力部412は、特定された表示データを用いて、上述した出力処理を実行する。これにより、情報処理端末130側で、消去物体情報の位置を特定しておくことで、ユーザの立ち位置が変わり、消去対象の物体を見る角度が変わったとしても、情報処理端末130側で違和感のない3Dモデルの表示データを表示することが可能になる。
【0138】
次に、第3実施形態に係る処理について説明する。図17は、第3実施形態に係る通信システム1による処理の一例を示すシーケンス図である。図17を用いて、第1実施形態の処理フローとの差異点を説明する。
【0139】
ステップS302で、ユーザは、情報の要否を分類する否かに対する操作を行う。例えば、ユーザは、消去対象の物体を画面上で指定することで、情報の要否を分類することを情報処理端末130に指示する。情報処理端末130の取得部406は、ユーザから何も指示がなければ、情報の要否の分類は不要と判定してもよいし、ユーザから情報が必要な物体の指定を受け付けてもよい。また、取得部406は、ユーザの属性や行動履歴に応じて、情報の要否の分類が必要か否かを取得してもよい。例えば、予めユーザが情報の要否の分類が必要であると設定している場合は、取得部406は、このアプリケーションを起動した際に、情報の要否の分類が必要であることを取得する。また、ユーザの行動履歴として、所定回以上、情報の要否の分類が必要であると指示していた場合は、取得部406は、その回数以降、情報の要否の分類が必要であることを取得する。
【0140】
ステップS304、S306、S308は、図12に示すステップS102、S104、S106と同様である。なお、ステップS304の第1ジェスチャは、第1実施形態における第1ジェスチャとは異なるジェスチャにしてもよく、第1実施形態における処理と、第3実施形態における処理とをジェスチャにより区別して両方実装されるようにしてもよい。
【0141】
ステップS310で、情報処理端末130の送信部402は、撮像された画像と、情報の要否を分類するか否かを示す情報とをサーバ110に送信する。ここでは、情報の要否の分類が行われるとする。
【0142】
ステップS312で、サーバ110の特定部306は、情報の要否に基づき、画像に対して領域検出(物体検出)を行う。領域検出として、Semantic Segmentationが実行されてもよい。
【0143】
ステップS320で、サーバ110の特定部306は、検出された領域(又は物体)に対して、その領域の情報が要るか否かを特定する。例えば、ユーザにより消去対象の物体が指示されている場合は、その物体に対応する領域に関する情報は不要であり、その他の物体に対応する領域に関する情報は必要であるとし、検出された領域がなくなるまで、情報が必要な場合の処理(ステップS332〜S334)、又は情報が不要な場合の処理(ステップS342〜S346)を繰り返す。
【0144】
ステップ332で、サーバ110の特定部306は、検出された物体の領域と、その領域に関する情報(例えば、物体の名称等の関連付けられている情報)を特定し、送信部302は、これらの情報を情報処理端末130に送信する。
【0145】
ステップS334で、情報処理端末130の出力部412は、受信部404により取得された情報のうち、概要情報を出力してもよい。なお、概要情報は必ずしも出力しなくてもよい。
【0146】
ステップS342で、サーバ110の特定部306は、物体の領域(位置及びサイズ)と、その物体の背景の3Dモデルを特定し、送信部302は、これらの情報を情報処理端末130に送信する。
【0147】
ステップS344で、情報処理端末130の出力部412は、画像内において、受信された物体の領域を切り抜いて消去する。
【0148】
ステップS346で、情報処理端末130の出力部412は、方位、位置情報、及び物体の領域情報に基づいて、背景の3Dデータの表示データを表示するよう制御する。例えば、特定部410が、方位及び位置情報から3Dモデルに対する視点と視線方向を求め、3Dモデルの表示面を特定する。次に、特定部410は、物体の領域情報に含まれる位置及びサイズの情報に基づいて、表示面のうち、どの領域を表示するかを特定し、これを表示データとして特定する。
【0149】
ステップS350で、サーバ110の送信部302は、検出された領域について、情報の要否が設定されていなければ、nullを情報処理端末130に送信する。
【0150】
ステップS352で、サーバ110の特定部306は、物体の領域検出に失敗すれば、nullを情報処理端末130に送信する。
【0151】
ステップS362で、ユーザは、第2ジェスチャを行う。情報処理端末130の撮像部210は、この第2ジェスチャを撮像する。第2ジェスチャは、検知部414により検知される。
【0152】
ステップS364で、情報処理端末130の出力部412は、第2ジェスチャに応じて表示倍率を変更し、例えばその物体の詳細情報を表示するよう制御する。なお、第3ジェスチャが行われた場合には、図12に示す第3ジェスチャに関する処理が実行されればよい。
【0153】
次に、第3実施形態に係る具体的な適用例について説明する。第3実施形態では、不要な情報を消去することができるため、例えば、学校において、事前に校内の3Dモデルを用意しておき、新入生や保護者などに校内を説明する際に、不要な情報を、3Dモデルを用いて消去し、必要な情報を残して説明することが考えられる。
【0154】
また、ユーザが自宅の不用品をまとめて整理する際に、売りたいもの(出品物)だけを残して説明するために、出品しないものを消去して、出品しない家具等の領域には、家の3Dモデルの一部を表示することで、出品物だけを説明することが可能になる。
【0155】
また、ユーザがレストランで食事をする際に、関係者以外の他の客を消去して、プライベート感を演出することが可能になる。この場合、レストランの3Dモデルがなく、レストランに設置された監視カメラの映像をサーバ110が取得することが可能であれば、この映像を用いて、客がいない場合の背景画像等を保存しておくことで、客を消去した場合の背景画像を生成することが可能になる。
【0156】
また、自動運転車等から得られるカメラ画像を用いて、リアルタイムに屋外で3Dモデルを作成することができれば(例えばNvidia社の技術。参考URL:https://www.theverge.com/2018/12/3/18121198/ai-generated-video-game-graphics-nvidia-driving-demo-neurips)、その自動運転車の近隣にいるユーザに対し、リアルタイムに作成された3Dモデルを用いて不必要な情報を消去することが可能になる。
【0157】
また、ルート検索時や、加盟店又はユーザが行きたい店舗などの目的の場所を、レンズのディスプレイなどにマップ表示する際に、不必要な情報を消去することも可能である。
【0158】
また、自分の映像を映して商品説明などが行われる場合に、自分を消去して他のデータ(例えば小動物などのアバター)に置き換えて表示することも可能である。これは、上述した技術において、背景の3Dモデルの代わりにアバター等を用いることで実現することが可能である。つまり、このアバター等が自身に代わって商品説明を行うことになる。例えば、サーバ110は、所定のユーザIDに関連付けてアバターの3Dモデルを関連付けて記憶しておき、この所定のユーザから画像情報等が受信されれば、消去物体情報における位置にアバターが表示されるよう、このアバターのモデルを情報処理端末130に送信する。これにより、自分を表示したくないユーザに対して、このサービスの利用促進を図ることができる。
【0159】
また、上述した商品説明の場合において、自分の部屋を綺麗に見せるために、部屋の中の所定の物を消去し、部屋の3Dモデルの一部を代わりに表示することも可能である。
【0160】
また、工場見学が行われる際に、見学者に情報処理端末130を利用してもらい、工場内の秘密情報を削除することで、機密情報の漏洩リスクを低減することが可能になる。この場合、工場内の監視カメラ等の映像を利用することができれば、監視カメラの映像から、秘密情報の背景にある領域や物体を特定し、特定された領域や物体を表示させるとよい。
【0161】
なお、本開示は、上述した各実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において、他の様々な形で実施することができる。このため、上記各実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈されるものではない。例えば、上述した各処理ステップは処理内容に矛盾を生じない範囲で任意に順番を変更し、または並列に実行することができる。
【0162】
本開示の各実施形態に係るプログラムは、コンピュータに読み取り可能な記憶媒体に記憶された状態で提供されてもよい。 記憶媒体は、「一時的でない有形の媒体」に、プログラムを記憶可能である。プログラムは、限定でなく例として、ソフトウェアプログラムやコンピュータプログラムを含む。
【0163】
<変形例>
上述した各実施形態では、サーバ110は、特定した3Dモデルを情報処理端末130に送信するようにしたが、特定した3Dモデルの表示データの画面情報を送信するようにしてもよい。この場合、サーバ110は、情報処理端末130から、視点位置及び視線方向の情報を受信し、この情報を用いて更新した3Dモデルの表示データの画面情報を、情報処理端末130に送信してもよい。これにより、端末側の処理負荷を軽減させることができる。
【0164】
また、物体が店舗である場合、サーバ110は、その店舗の販売システムと連携することで、商品を購入できるようにしてもよい。例えば、実空間に重畳された3Dモデル内の商品をユーザが選択するジェスチャを行うことで、サーバ110は、ジェスチャ先の商品を、物体認識を行うことで特定する。物体認識は、商品の正解画像を有するデータベースなどを用いてパターンマッチングを行うことで、サーバ110は、誤差が一番小さい商品を特定する。その後、サーバ110は、特定した商品の識別情報(例えば商品名、商品のJANコード等)を、ユーザ情報とともに販売システムに送信する。ユーザ情報は、ユーザ名や住所、銀行口座やクレジット番号などの支払情報を含むとよい。これにより、ユーザは、店舗の外にいながら、店舗内の商品を特定し、購入することができるようになり、ユーザの時間と手間を省くことができる。
【0165】
また、視線方向の推定について、加速度センサ及び磁気センサを用いる以外にも、撮像装置がユーザの目を撮像することができれば、その撮像装置から取得される画像を情報処理端末130が取得し、その画像から目を認識し、認識した目から視線方向を推定してもよい。
【0166】
また、ウェアラブル端末130Aへの操作について、既述の実施形態では、検知部414がユーザのジェスチャを検知して、検知したジェスチャに応じて出力部412が出力する表示データを更新する構成について説明したが、これに限定されない。例えば、検知部414が音声認識機能を備える場合には、ユーザの音声(「内部を確認したい」「拡大したい」等)によってウェラブル端末130Aを操作可能にしてもよい。さらに、検知部414は、情報処理端末130の位置情報が更新されたこと(物体に近づく、または遠ざかること)を検知して、出力部412に出力する表示データを更新させてもよい。
【0167】
また例えば、サーバ110の特定部306は、情報処理端末130から取得した物体の画像と、特定された物体に対応する3Dモデルの外観の画像とのマッチング処理を行う際に、物体の特徴(建物の場合は例えば看板の文字やコーポレートカラー、人物の場合は例えば年齢や性別、身長、髪の毛の色や長さである。)を用いてもよい。この場合、あらかじめ物体の写真やユーザの入力に基づいて、物体の特徴を物体情報において設定しておくことが好ましい。
【0168】
また、既述の実施形態では、検知部414が第1操作を検知することで透視機能が有効になる例を説明したが、これに限定されない。透視機能は情報処理端末130の電源が入った際に自動で有効化されてもよい。
【符号の説明】
【0169】
1…通信システム、110…サーバ、112…CPU、114…通信IF、116…記憶装置、130…情報処理端末、202…CPU、204…記憶装置、206…通信IF、208…出力デバイス、210…撮像部、212…センサ、130A…ウェアラブル端末、136…ディスプレイ、137…フレーム、138…ヒンジ部、139…テンプル、139a…係止部、302…送信部、304…受信部、306…特定部、308…更新部、402…送信部、404…受信部、406…取得部、408…推定部、410…特定部、412…出力部、414…検知部
【要約】
【課題】ユーザの目の前にある物体について、その場にいながらユーザに物体内部等の詳細情報を容易に確認させること。
【解決手段】情報処理端末に、撮像部により撮像された画像、及び情報処理端末の位置を示す位置情報を取得することと、画像及び位置情報を情報処理装置に送信することと、情報処理装置から、画像及び位置情報を用いて特定された物体の三次元モデルのデータを受信することと、加速度センサ及び磁気センサにより測定されたセンサ情報に基づいて、情報処理端末を利用するユーザの視線方向を推定することと、視線方向を用いて三次元モデルの表示データを特定することと、表示データを出力することと、を実行させるプログラム。
【選択図】図12
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17