IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

<>
  • -位置推定システム 図1
  • -位置推定システム 図2
  • -位置推定システム 図3
  • -位置推定システム 図4
  • -位置推定システム 図5
  • -位置推定システム 図6
  • -位置推定システム 図7
  • -位置推定システム 図8
  • -位置推定システム 図9
  • -位置推定システム 図10
  • -位置推定システム 図11
  • -位置推定システム 図12
  • -位置推定システム 図13
  • -位置推定システム 図14
  • -位置推定システム 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2025-03-10
(45)【発行日】2025-03-18
(54)【発明の名称】位置推定システム
(51)【国際特許分類】
   G06T 7/70 20170101AFI20250311BHJP
   G06T 7/579 20170101ALI20250311BHJP
   G01C 21/28 20060101ALI20250311BHJP
   G01C 21/26 20060101ALI20250311BHJP
【FI】
G06T7/70 A
G06T7/579
G01C21/28
G01C21/26 P
【請求項の数】 13
(21)【出願番号】P 2024192216
(22)【出願日】2024-10-31
【審査請求日】2024-11-07
【早期審査対象出願】
(73)【特許権者】
【識別番号】524402249
【氏名又は名称】合同会社NO NAMES
(74)【代理人】
【識別番号】110002273
【氏名又は名称】弁理士法人インターブレイン
(72)【発明者】
【氏名】田中 将希
(72)【発明者】
【氏名】田中 梨恵
【審査官】菊池 伸郎
(56)【参考文献】
【文献】特開2023-062575(JP,A)
【文献】特開2022-109527(JP,A)
【文献】特開2020-080147(JP,A)
【文献】米国特許出願公開第2023/0112456(US,A1)
【文献】米国特許出願公開第2024/0265631(US,A1)
【文献】国際公開第2018/038131(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00-7/90
G06V 10/00-40/70
G01C 21/28
G01C 21/26
(57)【特許請求の範囲】
【請求項1】
現実空間に対応する三次元の仮想空間として構成される統合空間のデータを格納する統合空間格納部と、
ユーザ端末から取得される撮像画像であるユーザ画像と、前記統合空間を構成する複数の空間画像を比較することにより、前記ユーザ画像に対応する地点の現実空間における三次元位置を示す位置情報を特定する位置特定部と、
前記ユーザ端末に対して、前記特定された位置情報を提供する案内部と、
現実空間の第1地点において前記ユーザ端末により取得される複数のユーザ画像から、三次元の仮想空間としてユーザ空間のデータを生成するユーザ空間生成部と、
前記統合空間の一部である前記第1地点を含む部分空間を前記第1地点に対応するユーザ空間により更新することにより、前記統合空間のデータを更新する統合空間管理部と、を備える位置推定システム。
【請求項2】
前記ユーザ空間生成部は、ユーザが第2地点から所定方向に移動して第3地点に到達したとき、前記第3地点において前記ユーザ端末により取得される複数のユーザ画像から前記第3地点を含むユーザ空間を生成し、
前記統合空間管理部は、前記統合空間に前記第2地点を対象とした部分空間が含まれており、かつ、前記第3地点を対象とした部分空間が含まれていないときには、前記統合空間における前記第2地点から前記所定方向に隣接する部分空間として前記第3地点に対応するユーザ空間を新規登録することにより、前記統合空間を拡大する、請求項1に記載の位置推定システム。
【請求項3】
前記統合空間の一部がユーザ空間により更新されたとき、または、前記統合空間の一部としてユーザ空間が追加されたとき、ユーザに特典を付与する特典付与部、を更に備える請求項2に記載の位置推定システム。
【請求項4】
前記位置特定部は、更に、ユーザ画像と、前記統合空間を構成する複数の空間画像を比較することにより、前記ユーザ画像の撮像方向を特定し、
前記ユーザ空間生成部は、ユーザ画像と撮像方向を対応づけて保存し、複数の撮像方向に対応する複数のユーザ画像から、ユーザ空間のデータを生成する、請求項1に記載の位置推定システム。
【請求項5】
前記統合空間に含まれるオブジェクトには、あらかじめ案内情報が対応づけられており、
前記案内部は、前記ユーザ端末に位置情報を提供するとき、前記ユーザ端末のいる地点に関連する案内情報を提供する、請求項1に記載の位置推定システム。
【請求項6】
前記ユーザ画像に含まれるオブジェクトを画像分析することにより、オブジェクトに対する案内情報を生成する画像分析部、を更に備え、
前記統合空間管理部は、前記統合空間に含まれるオブジェクトに対して、前記ユーザ画像をマッピングするとともに前記案内情報を対応づけて登録する、請求項5に記載の位置推定システム。
【請求項7】
前記統合空間管理部は、複数のユーザ空間の組み合わせにより前記統合空間を構築し、同一地点を対象として複数のユーザ空間が得られたときには、前記複数のユーザ空間のうちのいずれかを前記統合空間の一部である正規の部分空間として設定し、他のユーザ空間を予備の部分空間として保存する、請求項1に記載の位置推定システム。
【請求項8】
前記統合空間管理部は、
所定の更新条件が成立するときには、前記第1地点に対応する正規の部分空間を予備の部分空間に登録変更するとともに、前記第1地点に対応するユーザ空間を前記統合空間の正規の部分空間として設定し、
前記更新条件が成立しないときには、前記第1地点に対応する正規の部分空間を維持するとともに、前記第1地点に対応するユーザ空間を予備の部分空間として保存する、請求項7に記載の位置推定システム。
【請求項9】
前記統合空間管理部は、前記第1地点のユーザ空間に存在する検証面と、前記第1地点に対応する正規の部分空間に含まれる面であって前記検証面から所定範囲内に存在する比較面の一致度を計算し、複数の検証面と複数の比較面それぞれの一致度に基づいて、前記更新条件の成否を判定する、請求項8に記載の位置推定システム。
【請求項10】
前記統合空間管理部は、
前記一致度が第1閾値未満であれば前記更新条件の成立として判定し、
前記一致度が前記第1閾値よりも大きい第2閾値未満であれば、前記第1地点に対応する1以上の予備の部分空間それぞれに含まれる複数の面と前記ユーザ空間に含まれる複数の面の一致度に基づいて更新条件の成否を判定し、
前記一致度が前記第2閾値以上であれば、前記更新条件を不成立と判定する、請求項9に記載の位置推定システム。
【請求項11】
ユーザ空間および部分空間には、データの取得日時が対応づけて登録されており、
前記統合空間管理部は、更に、ユーザ空間の取得日時と部分空間の取得日時の差分に基づいて、前記更新条件の成否を判定する、請求項9に記載の位置推定システム。
【請求項12】
前記案内部は、ユーザから目的地点および経路条件が設定されたとき、前記経路条件にしたがって、ユーザの現在地点から前記目的地点までの経路を案内する、請求項1に記載の位置推定システム。
【請求項13】
現実空間に対応する三次元の仮想空間として構成される統合空間のデータを格納する統合空間格納部と、
ユーザ端末から取得される撮像画像であるユーザ画像と、前記統合空間を構成する複数の空間画像を比較することにより、前記ユーザ画像に対応する地点の現実空間における三次元位置を示す位置情報を特定する位置特定部と、
前記ユーザ端末に対して、前記特定された位置情報を提供する案内部と、を備え、
前記位置特定部は、現実空間における既知点がユーザ画像に含まれているとき、前記統合空間のうち前記既知点を含む部分空間のデータから優先的に前記ユーザ画像に対応する地点を検索する、位置推定システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像に基づいて位置を推定するための技術、に関する。
【背景技術】
【0002】
自己が存在する位置の推定と自己の周りの環境を示す地図の作成を同時実行する技術として、SLAM(Simultaneous Localization And Mapping)とよばれる技術がある。SLAMには、レーザーやToF(Time of Flight)センサを使う方式のほか、カメラを使うVisualSLAMなどさまざまな方式がある。
【0003】
また、複数枚の撮像画像から、撮像対象物の三次元形状を復元する技術としてSfM(Structure from Motion)とよばれる技術も知られている。このような技術か可能になったのは、AI(Artificial Intelligence)、特に、ディープラーニング技術の進展に負うところが大きい。VisualSLAMとSfMを比べると、リアルタイム処理性能ではVisualSLAMの方がすぐれており、画像分析力ではSfMの方がすぐれているといわれる。
【先行技術文献】
【特許文献】
【0004】
【文献】特許第6662979号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
VisualSLAM技術等を活用すれば、三次元の地図を作成できる。三次元地図を実現できれば、二次元地図以上に有益な情報をユーザに提供できると考えられる。
【0006】
その一方、三次元地図を作成するための計算負担は二次元地図よりもはるかに大きいため、現状では、地図の対象範囲も限定的にならざるを得ない。また、仮に広大な現実空間を網羅する三次元地図をつくることができたとしても、現実空間は刻々と変化していく。したがって、いったん三次元地図を作ることができたとしても、現実空間の変化に合わせて三次元地図を更新し続けなければならない。
【0007】
本発明は、上記課題認識に基づいて完成された発明であり、その主たる目的は、撮像画像に基づいて三次元の現実空間における位置推定を実現し、その上で、さまざまな案内情報をユーザに提供するための技術、を提供することにある。
【課題を解決するための手段】
【0008】
本発明のある態様における位置推定システムは、現実空間に対応する三次元の仮想空間として構成される統合空間のデータを格納する統合空間格納部と、ユーザ端末から取得される撮像画像であるユーザ画像と統合空間のデータを比較することにより、ユーザ画像に対応する地点の現実空間における三次元位置を示す位置情報を特定する位置特定部と、ユーザ端末に対して、特定された位置情報を提供する案内部と、を備える。
【発明の効果】
【0009】
本発明によれば、現実空間に対応する三次元地図による位置推定を実現し、その上で、ユーザに対してさまざまな案内情報を提供可能となる。
【図面の簡単な説明】
【0010】
図1】統合空間の生成方法を説明するための模式図である。
図2】統合空間の拡大と更新を説明するための模式図である。
図3】位置推定の原理を説明するための模式図である。
図4】空間管理サーバのハードウェア構成図である。
図5】ユーザ端末および空間管理サーバの機能ブロック図である。
図6】ユーザ空間の生成過程を説明するための模式図である。
図7】空間構成情報のデータ構造図である。
図8】オブジェクト情報のデータ構造図である。
図9】統合空間の拡大方法を説明するための概念図である。
図10】ユーザ画像の方向補正と時間視差を説明するための模式図である。
図11】案内画面の画面図である。
図12】ユーザ画像に基づく位置推定の処理過程を示すフローチャートである。
図13】ユーザ空間の生成過程を示すフローチャートである。
図14】更新条件を説明するための概念図である。
図15】統合空間の拡大・更新過程を示すフローチャートである。
【発明を実施するための形態】
【0011】
本実施形態においては、さまざまなユーザから大量の撮像画像を集め、これらの撮像画像から現実空間に対応する三次元の仮想空間(以下、「統合空間100」とよぶ)を構成する。
【0012】
図1は、統合空間100の生成方法を説明するための模式図である。
まず、あるユーザR1が、ユーザ端末200により自分の周囲を撮像したとする。ユーザ端末200は、スマートフォン、スマートグラス、全天球カメラなど、撮像機能および通信機能を備える携帯可能なデバイスであればよい。スマートグラスとは、メガネの形状にて構成され、レンズにディスプレイが内蔵されているウェアラブルデバイスである。このディスプレイは、視界に画像情報を重ねて表示できる。
【0013】
ユーザ端末200により、複数の撮像画像が取得される(以下、「ユーザ画像102」とよぶ)。より詳細には、ユーザR1は、自分の周囲をユーザ端末200により動画にて撮像し、この動画像から大量のユーザ画像102が取得される。
詳細は後述するが、本実施形態における位置推定システム500は、インターネットを介して相互接続される空間管理サーバ400と、複数のユーザ端末200を含む。
【0014】
さまざまな撮像方向に対応するユーザ画像102から、SfM技術により、ユーザR1の周辺環境を示す三次元の仮想空間が生成される。多数のユーザ画像102により生成される三次元の仮想空間のことを「ユーザ空間104」とよぶ。ユーザ空間104は、半球形あるいは円筒形の空間として構築されてもよいが、図1図2においては説明の都合上、立方体形状として表現する。
【0015】
このようにして生成される多数のユーザ空間104の集合体として巨大な統合空間100が構成される。たとえば、地点P1におけるユーザ空間104と、地点P1に隣接する地点P2におけるユーザ空間104が得られれば、2つのユーザ空間104をつなげることにより地点P1,P2をカバーするより大きな統合空間100を構築できる。
【0016】
ユーザ画像102には、さまざまな情報が対応づけられる。具体的には、ユーザID、撮像日時、撮像角度、解像度などであり、これらの情報をまとめて「画像属性情報」とよぶ。ユーザ空間104にも、ユーザID、取得日時、画質、現実空間における三次元の撮像位置(緯度・経度・高度)が対応づけられる。ユーザ空間104に対応付けられるこれらの属性情報を「空間属性情報」とよぶ。なお、ユーザ空間104の取得日時とは、ユーザ空間104の元になったユーザ画像102の撮像日時であってもよいし、ユーザ空間104の生成日時であってもよいが、本実施形態の取得日時は、ユーザ空間104の生成日であるとして説明する。
【0017】
まとめると、各地のユーザ端末200から得られるユーザ画像102から、多数のユーザ空間104が生成される。そして、多数のユーザ空間104から巨大な統合空間100が生成される。このような仕組みにより、究極的には、地球の大部分を覆う巨大な統合空間100が構成される。
【0018】
図2は、統合空間100の拡大と更新を説明するための模式図である。
上述したように、統合空間100は、複数のユーザ空間104の組み合わせとして構成される。統合空間100の一部となっているユーザ空間104、いいかえれば、統合空間100の一部分を示す三次元仮想空間のことを「部分空間106」とよぶ。ユーザ空間104と部分空間106は同じものであるが、以下においては統合空間100に統合される前を「ユーザ空間104」、統合されたあとを「部分空間106」と分けて表記する。
【0019】
部分空間106には、正規の部分空間106(以下、「正規空間」とよぶ)と予備の部分空間106(以下、「予備空間」とよぶ)が含まれる。統合空間100は、正規空間の集合として表現されるが、正規空間として採用されなかった部分空間106も予備空間として付属している。
以下、正規空間と部分空間を区別するときには、正規空間としての部分空間106を「部分空間106(正規)」、予備空間としての部分空間106を「部分空間106(予備)」のように表記することがある。
【0020】
図2においては、地点P1について、取得日時t2に生成された部分空間106(以下、「部分空間106(P1、t2)」のように表記する)が正規空間となっている。一方、地点P2については、部分空間106(P2,t11)、部分空間106(P2,t7)、部分空間106(P2,t9)という3つの部分空間106が存在する。このうち、部分空間106(P2,t11)が正規空間であり、残りの2つは予備空間となる。このように、ある地点において正規空間は1つだけであり、同じ地点にある他の部分空間106はすべて予備空間となる。予備空間の数には制限はない。
【0021】
ここで、地点P7について、ユーザ空間104(P7,t14)が新たに生成されたとする。統合空間100には地点P7の部分空間106が含まれていないので、ユーザ空間104(P7,t14)は、そのまま新たな部分空間106(P7,t14:正規)として追加され、統合空間100は拡大される。
【0022】
別例として、地点P3について、ユーザ空間104(P3,t15)が新たに生成されたとする。統合空間100には、地点P3については、部分空間106(P3,t3:正規)、部分空間106(P3,t1:予備)、部分空間106(P3,t8:予備)、部分空間106(P3,t10:予備)がすでに含まれている。ユーザ空間104(P3,t15)について更新条件が成立するときには、ユーザ空間104(P3,t15)は統合空間100の正規空間として登録され、元の正規空間である部分空間106(P3,t3)は予備空間に変更される。一方、更新条件が成立しなければ、ユーザ空間104(P3,t15)は統合空間100の予備空間として登録される。更新条件の詳細については、図14に関連して後述する。
【0023】
以上のような処理過程を経て、統合空間100は適宜拡大し、適宜更新される。同一地点について複数の予備空間、いいかえれば、複数時点での予備空間が含まれるので、統合空間100は空間方向だけでなく時間方向にも拡大する「時空間」とみなすこともできる。
【0024】
図3は、位置推定の原理を説明するための模式図である。
統合空間100を作成する目的の一つは「位置推定」である。ユーザR2がある地点、ある撮像方向においてユーザ画像102を撮像したとする。空間管理サーバ400は、統合空間100内において、ユーザ画像102と同一または類似する空間画像108を探す。詳細は後述するが、統合空間100は、撮像画像(現実の景色)がテクスチャマッピングされた、現実空間と相似の仮想空間、いわゆる、デジタルツインとして構成されている。地点P1からある視線方向で見たときの空間画像108が、このユーザ画像102と類似していたとする。このとき、ユーザR2の所在地点は「地点P1」であると推定できる。
【0025】
統合空間100の各部には、あらかじめ位置情報(緯度・経度・高度)が対応づけられている。したがって、ユーザR2による撮像画像と類似する空間画像108を統合空間100内から探し出すことで、ユーザR2の位置を特定(位置推定)できる。
【0026】
実際には、計算負荷を抑制するため、ユーザ画像102から抽出される点群データと、空間画像108から抽出される点群データが比較される。点群データの類似判定は、VisualSLAM等で確立されている既知技術の応用により実現される。
【0027】
本実施形態においては、位置推定についてはリアルタイム性が求められるため、VisualSLAM技術を利用する。一方、ユーザ空間104には精度が求められるので、ユーザ空間104の生成にはSfM技術が利用される。また、1枚の撮像画像のみによって位置推定するのではなく、動画撮像される複数の撮像画像から位置推定がなされてもよい。
【0028】
図4は、空間管理サーバ400のハードウェア構成図である。
空間管理サーバ400は、コンピュータプログラムを格納する不揮発性メモリとしてのストレージ312、プログラムおよびデータを展開する揮発性のメモリ304と、図示しないレジスタ、演算器、命令デコーダ等を内蔵し(不図示)、メモリ304からプログラムを読み出して実行するプロセッサ300(CPU)等を含む。プロセッサ300は、比較的高速な第1バス302と接続される。第1バス302には、メモリ304のほかNIC(Network Interface Card)が接続される。第1バス302には、このほか、GPU等の他のデバイスが接続されてもよい。
【0029】
第1バス302は、ブリッジ308を介して比較的低速な第2バス310と接続される。第2バス310には、ストレージ312のほか、モニタあるいはスピーカなどの出力デバイス316が接続される。また、第2バス310には、マウスやキーボードなどの入力デバイス314、プリンタなどの周辺機器318が接続されてもよい。
ユーザ端末200のハードウェア構成についても基本的に同様である。
なお、図4に示した第1バス302と第2バス310の接続方法は一例であり、他の接続方法、あるいは、他のバスを含む構成してもよいことは当業者には理解されるところである。
【0030】
図5は、ユーザ端末200および空間管理サーバ400の機能ブロック図である。
ユーザ端末200および空間管理サーバ400の各構成要素は、CPUおよび各種コプロセッサ(co-processor)などの演算器、メモリやストレージといった記憶装置、それらを連結する有線または無線の通信線を含むハードウェアと、記憶装置に格納され、演算器に処理命令を供給するソフトウェアによって実現される。コンピュータプログラムは、デバイスドライバ、オペレーティングシステム、それらの上位層に位置する各種アプリケーションプログラム、また、これらのプログラムに共通機能を提供するライブラリによって構成されてもよい。
以下に説明する各ブロックは、ハードウェア単位の構成ではなく、機能単位のブロックを示している。
【0031】
(ユーザ端末200)
ユーザ端末200は、ユーザインタフェース処理部206、撮像部202、通信部204、データ処理部208およびデータ格納部210を含む。
ユーザインタフェース処理部206は、タッチパネル等の入力デバイスを介してユーザからの操作を受け付けるほか、画像表示や音声出力など、ユーザインタフェースに関する処理を担当する。撮像部202は、カメラにより外部環境を動画として撮像する。通信部204は、空間管理サーバ400との通信処理を担当する。データ格納部210は各種データを格納する。データ処理部208は、ユーザインタフェース処理部206から入力されたデータ、撮像部202により撮像されたユーザ画像、通信部204により受信されたデータおよびデータ格納部210に格納されているデータに基づいて各種処理を実行する。データ処理部208は、撮像部202、通信部204、ユーザインタフェース処理部206およびデータ格納部210のインタフェースとしても機能する。
【0032】
(空間管理サーバ400)
空間管理サーバ400は、データ処理部402、通信部404およびデータ格納部406を含む。
通信部404は、ユーザ端末200との通信処理を担当する。データ格納部406は各種情報を格納する。データ処理部402は、通信部404により取得されたデータおよびデータ格納部406に格納されているデータに基づいて各種処理を実行する。データ処理部402は、通信部404およびデータ格納部406のインタフェースとしても機能する。
【0033】
データ処理部402は、位置特定部408、案内部410、画像分析部414、ユーザ空間生成部416、統合空間管理部418および特典付与部424を含む。
位置特定部408は、図3に関連して説明したように、ユーザ画像102と空間画像108を比較することにより、ユーザ端末200の現在地点を特定する。案内部410は、ユーザの現在地点に応じて各種の案内情報を提供する。案内部410は、経路生成部412を含む。経路生成部412は、ユーザの現在位置から目的地点までの経路を特定する。案内部410は、案内情報の一部として経路情報をユーザに提供する。経路情報を含む案内情報については、図11に関連して後述する。
【0034】
画像分析部414は、統合空間100に含まれる画像を分析し、案内情報を生成する。ユーザ空間生成部416は、ユーザ画像102に基づいてユーザ空間104を生成する。
【0035】
統合空間管理部418は、統合空間100を管理する。統合空間管理部418は、拡大部420および更新部422を含む。拡大部420は、統合空間100に未登録の地点(以下、「未知地点」とよぶ)についてユーザ空間104が生成されたとき、統合空間100にユーザ空間104を追加することにより、統合空間100を拡大する。更新部422は、新たに生成されたユーザ空間104について更新条件(後述)の成否を判定し、必要に応じて統合空間100の一部を更新する。特典付与部424は、統合空間100の拡大および更新に協力してくれたユーザに特典(後述)を付与する。
データ格納部406は、統合空間100の空間データを格納する統合空間格納部426を含む。
【0036】
図6は、ユーザ空間104の生成過程を説明するための模式図である。
ユーザ空間104の生成に際しては、まず、ユーザ端末200は、動画として複数のユーザ画像102を撮像する。ユーザ端末200の撮像部202は、各ユーザ画像102に上述した画像属性情報を追加する。ユーザ端末200の撮像部202は、画像属性情報を追加されたユーザ画像102を空間管理サーバ400に送信する。
【0037】
空間管理サーバ400のユーザ空間生成部416は、ユーザ画像102から特徴点を抽出し、三次元の点群データを生成する(S1)。特徴点とは、SfM技術において既知の方法により抽出される点であり、たとえば、建物のエッジ点など画像上において目印になる点として抽出される。点群データは三次元データである。
【0038】
次に、ユーザ空間生成部416は、点群データに含まれる特徴点を結ぶフレーム(線分)を追加する(S2)。フレームの追加により、三次元のフレーム画像が生成される。ユーザ空間生成部416は、フレームによる閉領域を「面」として特定する(S3)。最後に、ユーザ空間生成部416は、ユーザ画像102をS3において特定された面にテクスチャマッピングすることにより、現実空間と相似の仮想空間として、ユーザ空間104を生成する(S4)。このようにして生成されたユーザ空間104は、統合空間100に部分空間106として統合される。
【0039】
空間管理サーバ400は自らユーザ空間104を生成してもよいし、他のサーバ群にユーザ空間104の生成を依頼してもよい。ユーザ空間104は、ユーザ画像102の撮像と同時にリアルタイムにて生成される必要はない。ユーザ空間生成部416は計算負荷の少ない時間帯において、あらかじめ受信していたユーザ画像102をバッチ処理することによりユーザ空間104を生成する。
【0040】
図7は、空間構成情報110のデータ構造図である。
空間構成情報110は、空間管理サーバ400の統合空間格納部426に格納される。部分空間106には位置IDが対応づけられており、位置IDには部分空間106の中心点の三次元の位置情報が対応づけられている。図7に示す空間構成情報110は、位置ID=A01に対応する部分空間106(以下、「部分空間106(A01)」のように表記する)のリストを示す。部分空間106(A01)は複数あり、1つが正規空間となり、残りは予備空間である。空間構成情報110においては、部分空間106と空間属性情報が対応づけられる。
【0041】
部分空間106は、空間IDにより識別される。部分空間106(A01)として、空間ID=T01の部分空間106(以下、「部分空間106(T01)」のように表記する)、部分空間106(T05)、部分空間106(T08)、部分空間106(T11)等が対応づけられている。統合空間管理部418は、ユーザ空間104(A01)が取得されたとき、ユーザ空間104(A01)に空間IDを付与し、部分空間106(A01)として登録する。
【0042】
図7によれば、部分空間106(A01,T01)は「2024年10月15日」に取得されたユーザ空間104に対応する。この部分空間106(A01,T01)の元になったユーザ画像102を撮像したユーザのユーザIDは「R01」であり、ユーザ画像102の画質は「A(高画質)」である。ユーザ空間生成部416は、ユーザ画像102の枚数(フレームレート)、解像度(画素数)、鮮明度等に基づいて、画質を複数のランクに分類する。このように、ユーザ空間生成部416はユーザ画像102の画像属性情報から、部分空間106の空間属性情報を生成する。
【0043】
部分空間106(A01,T05)は、ユーザ(R11)のユーザ画像102から、2021年6月4日に取得(生成)されたユーザ空間104に対応する。同様にして、部分空間106(A01,T08)は、ユーザ(R04)のユーザ画像102から、2024年10月18日に取得(生成)されたユーザ空間104に対応する。統合空間管理部418は、このうち、部分空間106(A01,T08)を正規空間として設定し、他の部分空間106を予備空間として設定している。正規空間の選択方法の詳細は後述する。
【0044】
図8は、オブジェクト情報120のデータ構造図である。
オブジェクト情報120は、空間管理サーバ400の統合空間格納部426に格納される。統合空間100にはさまざまな「オブジェクト」が含まれる。ここでいうオブジェクトとは、建物、樹木、噴水、信号機などの物体を意味する。各オブジェクトにはオブジェクトIDが付与される。
【0045】
統合空間管理部418は、部分空間106に含まれるオブジェクトを特定する。統合空間管理部418は、「面」によって閉鎖された空間をオブジェクトとして特定する。統合空間管理部418は、オブジェクトにオブジェクトIDを付与するとともに、オブジェクトIDとオブジェクトの位置情報を対応づける。オブジェクトは、統合空間管理部418により自動的に特定されてもよいし、空間管理サーバ400の運営者が部分空間106に含まれるオブジェクトを手動で指定してもよい。
【0046】
図8によれば、オブジェクトID=J01のオブジェクト(以下、「オブジェクト(J01)」のように表記する)の位置情報は(36,133,10)である。たとえば、オブジェクト(J01)は「五重塔」であるとする。位置推定時において、ユーザ画像102に五重塔が映っていれば、位置特定部408はユーザが五重塔付近にいるとわかるので、オブジェクト(J01:五重塔)に対応づけられる位置情報により、ユーザの現在地点をすみやかに特定できる。
【0047】
オブジェクトには、オブジェクトに関するさまざまな付属情報としての案内情報が対応づけられる。各案内情報は、案内IDにより識別される。オブジェクト(J01:五重塔)には、案内ID=G01の案内情報(以下、「案内情報(G01)」のように表記する)が対応づけられている。案内情報(G01)は「下の塔から順番に地、水、火、風、空という5つの世界を表している」という五重塔についての解説情報である。したがって、ユーザは五重塔の近くに行けば、上記の案内情報(G01)により五重塔についての解説を知ることができる。案内情報については、図11に関連して更に詳述する。なお、案内情報は、空間管理サーバ400の管理者が設定してもよいし、画像分析部414が自動生成してもよい(後述)。
【0048】
図9は、統合空間100の拡大方法を説明するための概念図である。
統合空間100は、部分空間106(A01)を含んでいるが、部分空間106(A02)を含んでいないとする。あるユーザが、A01地点の中心から、図9に示すようにV1方向に距離Eだけ移動して、A02地点に到達したとする。ユーザ端末200は、ユーザ画像102(A02)を空間管理サーバ400に送信する。ユーザ空間生成部416は、ユーザ空間104(A02)を生成する。
【0049】
位置特定部408は、時系列で得られるユーザ画像102からユーザの移動方向V1と移動距離Eを推定する。統合空間管理部418は、統合空間100に部分空間106(A02)が含まれているか、いいかえれば、ユーザ画像102(A02)が「既知の景色であるか」を確認する。部分空間106(A02)が存在しなければ、拡大部420はユーザ空間104(A02)を部分空間106(A02:正規)として統合空間100に追加する。移動方向V1、移動距離Eは推定されているので、拡大部420はA02地点の位置情報も推定可能である。拡大部420は、部分空間106(A02:正規)に空間IDを設定し、空間構成情報110に登録する。また、拡大部420は、A02地点に位置情報を対応づけて登録する。
【0050】
更に、このユーザはA02地点からV2方向に距離Eだけ移動して、A03地点に到達したとする。ユーザ空間生成部416は、同様にして、ユーザ空間104(A03)を生成する。部分空間106(A03)が存在しなければ、拡大部420はユーザ空間104(A03)を部分空間106(A03:正規)として統合空間100に追加する。拡大部420は、部分空間106(A03)に空間IDを設定し、空間構成情報110に登録する。拡大部420は、A03に位置情報を対応づけて登録する。
【0051】
以上の処理過程を経て、統合空間100は少しずつ拡大されていく。ユーザは、統合空間100にすでに含まれているA01地点においては位置推定サービスを受けることができる。A02地点に移動したときには、拡大部420は既知地点であるA01地点からの移動方向V1および移動距離Eに基づいて未知地点であるA02地点を特定し、統合空間100に部分空間106(A02:正規)を追加することで、統合空間100を拡大する。部分空間106(A02:正規)の追加後は、他のユーザがA02地点に入ったときには位置推定サービスを受けることができるようになる。A03地点についても同様である。
【0052】
なお、ユーザ端末200が、加速度センサ、歩数計等を搭載しているときには、ユーザ空間生成部416はこれらのセンサから得られる情報をもとに移動方向V1、移動距離Eを推定してもよい。
【0053】
図10は、ユーザ画像102の方向補正と時間視差を説明するための模式図である。
図10においては、ユーザの現在地点をPとしている。ユーザは、あるタイミングT1において、方向D1に向いており、方向D1についてのユーザ画像102(以下、「ユーザ画像102(D1:T1)」のように表記する)を撮像したとする。次に、タイミングT2において、ユーザは方向D2に向いて、ユーザ画像102(D2:T2)を取得する。このとき、ユーザ画像102(D1:T1)、ユーザ画像102(D2:T2)には、オブジェクト130が映る。
【0054】
ユーザ画像102(D1:T1)とユーザ画像102(D2:T2)では、オブジェクト130の撮像方向が異なる。このため、ユーザ画像102(D1:T1)とユーザ画像102(D2:T2)によりオブジェクト130の三角測量が可能となる。方向D1と方向D2の角度差(以下、「時間視差」とよぶ)を特定できれば、オブジェクト130の三次元計測が可能となる。三次元計測の原理は上記の通りであるが、実際には、VisualSLAMあるいはSfMでは、撮像方向が少しずつ異なる大量のユーザ画像102からオブジェクト130の立体形状を推定している。
【0055】
上述した「時間視差」による三次元計測は、方向D1から方向D2への変化がおおむね一定速度であることを前提としている。このため、撮像方向が急変化したときには三次元計測が不正確になる。図10においては、方向D2(タイミングT2)から方向D3(タイミングT3)に撮像方向が急変化している。ユーザ画像102(D2:T2)にはオブジェクト130が映っているが、ユーザ画像102(D3:T3)にはオブジェクト130がまったく映っていない。ユーザ画像102(D2:T2)とユーザ画像102(D3:T3)の角度差(時間視差)が小さいと想定してしまうと、部分空間106(D2:T2)から部分空間106(D3:T3)の付近においてユーザ空間104を適切に生成するのが難しくなる。
時間視差に基づく三次元計測は、ユーザ画像102の急な変化、特に、撮像方向の急な変化に弱いという問題がある。
【0056】
本実施形態においては、ユーザ空間生成部416は、ユーザ画像102と空間画像108を比較し、ユーザ画像102の正しい撮像方向を特定した上で、ユーザ空間104を生成する。P地点の部分空間106が統合空間100に登録済みであることが前提となるが、まず、ユーザ空間生成部416はユーザ画像102(D1:T1)と空間画像108を比較することにより、撮像方向D1を特定する。同様にして、撮像方向D2,D3も特定する。
【0057】
統合空間100を参照しながら、各ユーザ画像102の正しい撮像方向を特定できるため、ユーザ空間生成部416はユーザ画像102(D2)とユーザ画像102(D3)の撮像方向が大きく異なること、いいかえれば、各ユーザ画像102の角度差を正しく認識できる。各ユーザ画像102の撮像方向を確認することにより(以下、「方向補正」とよぶ)、ユーザ空間生成部416は適切なユーザ空間104を生成できる。
【0058】
ただし、未知地点におけるユーザ空間104を生成する場合には、ユーザ画像102と空間画像108の比較による方向補正はできない。したがって、未知地点のユーザ空間104を生成するときには、慎重かつ丁寧な撮像が求められる。もし、未知地点について生成されるユーザ空間104が不適切であったとしても、図2に関連して説明したように、新たに取得されるユーザ空間104によって部分空間106は更新されるので、統合空間100はいずれ適正化されていく。
【0059】
なお、方向補正に限らず、ユーザが急加速するときにも、あるタイミングで得られるユーザ画像102と次のタイミングで得られるユーザ画像102の撮像地点が大きくずれるという問題がある。この場合にも、ユーザ空間生成部416は、ユーザ画像102と空間画像108を比較することで、各ユーザ画像102の正しい撮像地点を特定できる(以下、「位置補正」とよぶ)。
【0060】
図11は、案内画面140の画面図である。
案内画面140は、ユーザ端末200のユーザインタフェース処理部206により、AR(Augmented Reality)画像として表示される。図11は、ユーザがある鉄道駅の地下街にいるときに表示される案内画面140を示す。ユーザ端末200がスマートグラスの場合には、ユーザの視野画像として案内画面140が表示される。
【0061】
ユーザは、ユーザ端末200において、移動先となる目的地点を設定する。ここでは、駅改札が目的地点として設定されている。ユーザインタフェース処理部206はユーザからの入力を受け付け、通信部204は目的地点「改札」を空間管理サーバ400に送信する。目的地点を指定する情報を「経路条件」とよぶ。
【0062】
位置特定部408は、まず、ユーザ画像102に基づいてユーザの現在地点を特定する。経路生成部412は、統合空間100を参照し、ユーザの現在地点から目的地点までの移動経路を示す経路情報を生成する。案内部410は、経路情報をユーザ端末200に伝えることで、経路案内142を案内画面140に表示させる。このとき、案内部410は、現在地点から目的地点までの距離として「改札まで50m」という案内情報144も画面表示させている。ユーザは、案内画面140に映る経路案内142にしたがって移動することにより、目的地点「改札」にたどり着くことができる。
【0063】
案内画面140に映るさまざまな建造物のいくつかは、統合空間100においてあらかじめオブジェクト130として登録されている。たとえば、図11のオブジェクト130(J01)は「寿司屋」であり、案内情報144(J01)が対応づけられている。案内情報144(J01)は「スシ」である。案内部410は、案内画面140に映るオブジェクト130(J01)の近くに案内情報144(J01)である「スシ」を表示させる。同様にして、「パスタ屋」のオブジェクト130(J11)には案内情報144(J11)、「本屋」のオブジェクト130(J08)には案内情報144(J08)が表示されている。ユーザは地下街を歩きながら、視認中の各種施設(オブジェクト130)についての情報も同時に受け取ることができる。
【0064】
画像分析部414は、統合空間100に含まれる各種オブジェクト130を画像解析することにより案内情報144を自動生成してもよい。たとえば、統合空間100内にあるオブジェクト130(J11)の画像(たとえば、看板の部分)に「パスタ」という文字を検出したとき、画像分析部414は「パスタ屋」という案内情報144(J11)を生成してもよい。
【0065】
空間管理サーバ400のデータ格納部406に、あらかじめ世界中の有名商標を登録しておいてもよい。オブジェクト130にテクスチャマッピングされている撮像画像から、有名なパスタ屋「SX」のロゴが検出されたときには、画像分析部414はこのパスタ屋のブランド「SX」を特定できる。
【0066】
画像分析部414は、商標あるいは建物の外見画像等に基づいて、インターネットのサイトからさまざまな情報を検索し、外部サイトに掲載されている情報を案内情報144として生成してもよい。たとえば、「五重塔」に対応するオブジェクト130については、画像分析部414は「五重塔」の外見画像に基づいて画像検索を実行し、「下の塔から順番に地、水、火、風、空という5つの世界を表している」という解説記事を得ることができる。画像分析部414は、この解説記事を案内情報144として「五重塔」オブジェクト130に対応づけてもよい。
【0067】
図12は、ユーザ画像102に基づく位置推定の処理過程を示すフローチャートである。
位置推定に際しては、まず、空間管理サーバ400は、ユーザ端末200から複数のユーザ画像102を取得する(S10)。位置特定部408は、統合空間100に含まれる空間画像108と、受信したユーザ画像102を比較し、ユーザ画像102に類似する空間画像108を探す(S12)。ユーザ画像102に類似する空間画像108が検出できれば、位置特定部408はこの空間画像108を含む部分空間106に基づいて、ユーザの現在地点を特定する(S14)。このとき、位置特定部408は、部分空間106における現在地点(撮像地点)の三次元の位置情報だけでなく撮像方向も特定する。空間管理サーバ400の通信部404は、現在地点に対応する位置情報をユーザ端末200に通知する(S16)。
【0068】
オブジェクト情報120に登録済みのオブジェクト130がユーザ画像102に映っていれば(S18のY)、案内部410はこのオブジェクト130に対応づけられている案内情報144をユーザ端末200に送信する。図11の案内画面140に示したように、ユーザ端末200が表示する案内画面140には、案内情報144が重ねて表示される(S20)。登録済みのオブジェクト130が映っていないときには(S18のN)、S20の処理はスキップされる。
なお、ユーザが目的地点を設定しているときには、案内情報144の一種として、空間管理サーバ400からは経路案内142も通知される。
【0069】
位置特定部408は、1枚のユーザ画像102を対象として位置推定をするのではなく、複数のユーザ画像102に基づいて現在地点を位置推定する。たとえば、10枚目のユーザ画像102のうち、9枚のユーザ画像102により部分空間106(A01)が位置推定され、残り1枚のユーザ画像102により部分空間106(A02)が位置推定されたとする。このときには、位置特定部408は、ユーザの現在地点を部分空間106(A01)として推定する。このように、位置特定部408は、多数のユーザ画像102によって位置推定を行い、もっとも確からしい位置、いいかえれば、もっとも多くのユーザ画像102によって推定される位置を現在地点として推定する。
【0070】
図13は、ユーザ空間104の生成過程を示すフローチャートである。
空間管理サーバ400は、計算負荷が低い時間帯、より具体的には、CPU、メモリ、ストレージの使用率が所定閾値以下となる時間帯において、あらかじめ収集していたユーザ画像102に基づいてユーザ空間104を生成する。本実施形態においては、案内部410は、適宜取得されるユーザ画像102から、VisualSLAM技術に基づいて位置推定を行う。一方、このように取得されたユーザ画像102はデータ格納部406に保存される。ユーザ空間生成部416は、データ格納部406に蓄積されるユーザ画像102に基づいて、適切な時間帯にユーザ空間104を生成する。
【0071】
ユーザ空間生成部416は、統合空間100に含まれる空間画像108と比較することにより、各ユーザ画像102の撮像方向および撮像位置を補正する(S32)。すなわち、既に得られている空間画像108に基づいて、ユーザ画像102の方向補正および位置補正が行われる。ユーザ空間生成部416は、補正後のユーザ空間104から点群データを生成する(S34)。ユーザ空間生成部416は、続いて、点群データからフレームを特定し(S36)、面を生成する(S38)。最後に、ユーザ空間生成部416は、ユーザ画像102をユーザ空間104の面にテクスチャマッピングする(S40)。
以上の処理過程を経て、現実空間を模したユーザ空間104が作られる。
【0072】
図14は、更新条件を説明するための概念図である。
同一地点、たとえば、A01地点についてすでに部分空間106(A01)が得られているとする。ここで、新たにユーザ空間104(A01)が取得されたとする。通常、部分空間106(A01:正規)と新規生成されたユーザ空間104(A01)が完全に一致することはない。より具体的には、部分空間106(A01:正規)で検出されるすべての特徴点と、ユーザ空間104(A01)で検出されるすべての特徴点が同一位置にあるとは限らない。
【0073】
部分空間106(A01:正規)とユーザ空間104(A01)の差分(特徴点の位置のずれの大きさ)は、測定誤差の可能性もあるし、現実空間が大きく変化したことに起因するのかもしれない。もし、現実空間が変化しているのであれば、最新のユーザ空間104(A01)を正規空間として登録することが望ましい。一方、ユーザ空間104(A01)と部分空間106(A01:正規)の差分がそれほど大きくないのであれば、最新のユーザ空間104(A01)をわざわざ正規空間として登録する必要はない。
【0074】
たとえば、部分空間106(A01:正規)の画質がユーザ空間104(A01)の画質よりも良いのであれば、部分空間106(A01:正規)をそのまま正規空間として維持する方が合理的である。
【0075】
更新部422は、部分空間106(A01:正規)に含まれる面146aと、ユーザ空間104(A01)において面146aと接触する、または、面146aから所定距離以内にある面146bを比較することにより、差分の大きさを示す後述のZ4値を計算し、Z4値に基づいて更新条件を判定する。
【0076】
面146a(正規空間)の4頂点(特徴点)は、Q1~Q4である。更新部422は、面146b(ユーザ空間104)を面146aの対応面として特定する。面146bの4頂点(特徴点)は、B1~B4である。
【0077】
次に、更新部422は、対応する頂点を結ぶ4つのベクトルV1~V4を特定する。ベクトルV1は、始点を頂点Q1、終点を頂点B1とするベクトルである。ベクトルV2~V4についても同様である。更新部422は、ユーザ空間104および部分空間106に含まれる面について、
Z1=ベクトルの平均角度からのずれの合計値
を算出する。
具体的には、まず、面146a、面146bを対象として、4つのベクトルV1~V4の平均角度、たとえば、垂直軸からの角度差の平均値を計算する。次に、更新部422は、ベクトルV1と平均角度とのずれ(絶対値)を計算する。他のベクトルについても同様であり、4つのベクトルの平均角度からのずれの合計値として、更新部422はZ1値を算出する。面146aと面146bが同一サイズであれば、4つのベクトルは同方向を向くため、Z1値はゼロに近い値となる。一方、面146aと面146bのサイズが大きく異なる場合には、Z1値は大きくなる。
【0078】
更新部422は、すべての面についてZ1値を計算し、
Z2=(Z1値の合計)/面数
を算出する。ユーザ空間104(A01)と部分空間106(A01:正規)に含まれる各面が同一サイズに近いほど、Z2値は小さくなる。いいかえれば、Z2値は、ユーザ空間104(A01)と部分空間106(A01:正規)の類似度を示す指標値である。
【0079】
次に、更新部422は、
Z3=Z2×インターバル係数k
を算出する。ここでいうインターバル係数kとは、部分空間106(A01:正規)の取得日時からユーザ空間104(A01)の取得日時までの時間差を意味する。具体的には、1時間以内ならk=1.0、1日以内ならk=1.2、1ヶ月以内ならk=1.5、1年以内ならk=2.0、5年以内ならk=3.0、5年以上ならk=10.0であるとする。すなわち、部分空間106(A01:正規)が古いほど、Z3値は大きくなりやすい。
【0080】
更に、更新部422は、
Z4=Z3×補正係数m
を算出する。補正係数mは、部分空間106(A01:正規)の画質よりもユーザ空間104(A01)の画質の方が良好であるとき、(1+画質差)として定義される係数である。たとえば、ユーザ空間104(A01)の画質が「A」で、部分空間106(A01:正規)の画質が「B」であるときには、画質差は「1」なので、補正係数m=1+1=2となる。画質差が同一であるとき、または、部分空間106(A01:正規)の画質がユーザ空間104(A01)の画質よりも高いときには、補正係数m=1となる。すなわち、正規空間に比べてユーザ空間104の画質が高いほど、Z4値は大きくなりやすい。
【0081】
まとめると、Z4値は、以下のときに大きな値となる。
・部分空間106(A01:正規)とユーザ空間104(A01)の差分が大きい(現実が大きく変化した可能性がある)
・部分空間106(A01:正規)がユーザ空間104(A01)に比べると古い。
・部分空間106(A01:正規)の画質よりもユーザ空間104(A01)の画質の方がよい。
【0082】
更新部422は、Z4値が所定の閾値D1よりも大きいとき、更新条件が成立したと判定する。更新条件が成立したとき、更新部422はユーザ空間104(A01)を新たな正規空間として統合空間100に登録し、正規空間だった部分空間106(A01)を予備空間に設定変更する。
【0083】
図15は、統合空間100の拡大・更新過程を示すフローチャートである。
ユーザ空間生成部416は、図13に関連して説明した処理過程を経て、ユーザ空間104を生成する(S50)。ユーザ空間104と同一地点についての部分空間106が存在しないときには、すなわち、未知地点のユーザ空間104が得られたときには(S52のY)、拡大部420はこのユーザ空間104を新たな部分空間106(正規)として追加することにより、統合空間100を拡大する(S54)。
【0084】
ユーザ空間104に対応する地点の部分空間106がすでに存在するときには(S52のN)、更新部422は更新条件の成否を判定する(S64)。更新条件が成立するときには(S64のY)、更新部422はユーザ空間104を部分空間106(正規)に登録し、正規空間として登録されていた部分空間106を予備空間に変更することで統合空間100を更新する(S66)。更新条件が成立しないときには(S64のN)、更新部422はユーザ空間104を予備空間として統合空間100に追加する(S68)。
【0085】
部分空間106の更新または追加がなされたときには(S54,S66)、画像分析部414は新規の部分空間106(正規)を画像解析し、オブジェクト130を特定する(S56)。画像分析部414は、更に、部分空間106に含まれるオブジェクト130の画像データから、オブジェクト130に関する案内情報144を生成する(S58)。画像分析部414は、オブジェクト130および案内情報144をオブジェクト情報120に登録する(S60)。
【0086】
特典付与部424は、部分空間106(正規)の元になるユーザ画像102を提供したユーザに対して特典を付与する(S62)。ここでいう特典とは、ユーザに利益をもたらすモノ、情報または権利であればよく、たとえば、画像、音楽、ゲームなどのデジタルコンテンツ、暗号通貨、さまざまなサービスまたは商品と引き換え可能なポイント、暗号通貨などであってもよい。
【0087】
[総括]
以上、実施形態に基づいて、位置推定システム500を説明した。
本実施形態によれば、世界各地のさまざまなユーザからユーザ画像102を収集し、収集したユーザ画像102からユーザ空間104を生成することで、統合空間100を適宜拡大・更新できる。統合空間100は、新陳代謝しながら拡大を続ける三次元地図なので、時間経過にともなって統合空間100の位置推定機能は自然に強化されていく。
【0088】
位置推定システム500は、ユーザ画像102と空間画像108を比較することにより、ユーザの現在地点を特定する。位置推定技術の一種としてよく使われているGPS(Global Positioning System)は、人工衛星と通信する必要があるため屋内や地下での位置推定が難しく、ジャイロセンサ等の他のセンサによる補完が必要となる。一方、位置推定システム500は、現実空間と相似の統合空間100を生成し、現実空間におけるユーザ画像102と、統合空間100(現実相似の仮想空間)における空間画像108を比較することで、ユーザの現在地点を特定するため、屋内でも対応可能である。
また、GPSの推定精度は±30メートル程度であるが、SLAMの推定精度は±0.5メートル程度であり、SLAMの位置推定精度はGPSに比べると格段にすぐれている。このため、位置推定システム500はGPSに比べると高さ方向だけでなく、水平方向についても高精度にて位置推定できる。
【0089】
統合空間100は三次元空間なので、三次元での経路案内が可能となる。たとえば、ビルの3階にあるオフィス「YX」が目的地点として設定された場合には、ビルの入口からエレベータの位置、エレベータから降りたあとの道順まで立体的で丁寧な案内が可能となる。また、撮像画像に基づく三次元地図の長所として、段差、障害物、ドア、柵などの細かな情報を統合空間100に取り込むことができる。
【0090】
ユーザ空間104が新たに取得されても、更新条件が成立しなければこのユーザ空間104が正規空間として登録されることはない。空間管理サーバ400は、情報価値のあるユーザ空間104のみを正規空間として統合空間100に登録し、情報価値の低いユーザ空間104は予備空間として登録する。このような分別により、統合空間100の更新にともなう計算負荷を合理的に抑制できる。たとえば、正規空間と最新のユーザ空間104にほとんど違いがないときには、ユーザ空間104を新たな正規空間として取り込む必要性が薄い。また、精度や画質についても考慮に入れると、最新のユーザ空間104が必ずしも正規空間として適切であるとは限らない。
【0091】
更新条件の判定要素にインターバル係数kを取り込むことにより、古い部分空間106が正規空間として長期間にわたって維持されにくい仕組みになっている。たとえば、部分空間106(A15)において、久しぶりに同一地点についてのユーザ空間104(A15)が取得されたときには、新しく生成されたユーザ空間104(A15)が正規空間に採用されやすくなる。インターバル係数kにより、統合空間100の新陳代謝(更新)が促進される。
【0092】
ユーザ空間104が正規空間として追加されたときには、特典付与部424はユーザに特典を付与する。ユーザは、未知地点を撮像し、統合空間100の拡大に貢献することで、特典を得ることができる。あるいは、既知地点であっても、正規空間以上に高品質なユーザ空間104を生成できれば、ユーザは特典を取得できる。特典を付与することにより、統合空間100の品質向上への協力意欲を喚起しやすくなる。また、好適なユーザ空間104を生成するために必要な良質なユーザ画像102を集めやすくなる。たとえば、解像度の高いカメラを保有するユーザ、周辺環境をゆっくりとくまなく撮像するユーザは、特典を獲得しやすくなる。
【0093】
統合空間100に含まれるオブジェクト130には案内情報144を付属させることができる。画像分析部414は、たとえば、オブジェクト130の看板等に映る文字あるいは画像を解析することにより、オブジェクト130が何であるかを特定する。このようにして特定された情報を案内情報144としてもよいし、特定された情報に基づいて関連情報を検索することにより案内情報144を生成してもよい。ユーザは、案内画面140に映るさまざまなオブジェクト130について案内情報144を見ることができるので、現在自分が見ているものが何なのかをリアルタイムにて把握できる。
【0094】
統合空間100は、正規空間とともに予備空間も含まれる。同一地点においてさまざまな予備空間を保存することにより、さまざまな時点の現実空間を再現できる。予備空間を保存することにより、統合空間100は空間的に広がるだけでなく、時間的にも多層化される。
【0095】
なお、本発明は上記実施形態や変形例に限定されるものではなく、要旨を逸脱しない範囲で構成要素を変形して具体化することができる。上記実施形態や変形例に開示されている複数の構成要素を適宜組み合わせることにより種々の発明を形成してもよい。また、上記実施形態や変形例に示される全構成要素からいくつかの構成要素を削除してもよい。
【0096】
[変形例]
本実施形態においては、1台の空間管理サーバ400により統合空間100の生成・更新・管理等が行われるとして説明したが、複数台の空間管理サーバ400により統合空間100の管理が分担されてもよい。たとえば、広島県の統合空間100を担当する空間管理サーバ400と、岐阜県の統合空間100を担当する空間管理サーバ400のように地域ごとに空間管理サーバ400を用意してもよい。
【0097】
本実施形態においては、VisualSLAMおよびSfMによる画像計測を前提として説明した。変形例として、LiDAR(Light Detection And Ranging)により周辺環境を計測することで、ユーザ空間104を生成してもよい。あるいは、LiDARとカメラの併用により、ユーザ空間104を生成してもよい。撮像画像に基づく画像計測は暗い地点での計測を苦手とするが、LiDARを併用すればこのような地点でも三次元計測が可能となる。赤外線カメラによる三次元計測を併用してもよい。
【0098】
本実施形態においては、部分空間106は互いに重なり合わないものとして説明したが、部分空間106は重複してもよい。たとえば、A01地点を中心とする部分空間106(A01)の一部は、隣りのA02地点を中心とする部分空間106(A02)の一部と重複してもよい。部分空間106の一部を重複させることにより、隙間のない統合空間100を形成しやすくなる。
【0099】
本実施形態においては、ユーザ画像102と空間画像108を比較することにより位置推定をするとして説明した。変形例としてGPS、IMU(Inertial Measurement Unit)等の既存のセンサを活用することにより位置推定を支援してもよい。たとえば、GPSにより「A01地点付近」という位置情報が得られたときには、位置特定部408は統合空間100のうちA01地点から所定範囲内を対象として、ユーザ画像102に類似する空間画像108を探索し、ユーザの現在地点を特定してもよい。広大な統合空間100のうち、ユーザが存在する可能性が高い地点の周辺に探索範囲を絞ることにより、位置推定を高速化できる。
【0100】
ユーザ端末200が、方位計および高度計を搭載しているときには、ユーザ空間生成部416は方位計等から得られる情報をもとにユーザ画像102の撮像方向を推定してもよい。ユーザ端末200に方位計等が搭載されているときには、ユーザ画像102の撮像方向を画像属性情報の一部として含めることができるので、図10に関連して説明した方位補正をしなくても適切なユーザ空間104を生成できる。
【0101】
現実空間にあらかじめQRコード(登録商標)等のマークを設定してもよい。たとえば、ビルAにマークX1を貼付しておく。マークX1には、マークを識別するためのマークIDが含まれている。ユーザ画像102にマークX1が映っていれば、ユーザ端末200のデータ処理部208はマークX1からマークIDをユーザ画像102から抽出する。通信部204は、ユーザ画像102とマークIDを空間管理サーバ400に送信する。データ格納部406においては、マークIDと位置情報があらかじめ対応づけられている。位置特定部408は、マークIDに対応する位置情報によりユーザの現在地点を特定できる。位置特定部408は、ユーザ画像102に映るマークX1の大きさと形状に基づいて、マークX1からユーザまでの距離、マークX1に対するユーザの相対位置も推定できる。
マークX1を既知点として利用することにより、ユーザの現在地点を推定できるので、位置特定部408は統合空間100のうちマークX1のある地点から所定範囲内を対象として、ユーザ画像102に類似する空間画像108を探索すればよい。
【0102】
いったんユーザの現在地点を特定できれば、そのあとにユーザが移動しても、位置特定部408はユーザがどのあたりにいるかを把握しやすくなる。たとえば、ユーザの現在地点がA03地点であると特定できれば、位置特定部408はユーザが移動しても、A03地点付近の統合空間100から空間画像108を探索すればよいので、位置推定が容易となる。
位置特定部408は、ユーザがユーザ端末200を立ち上げて位置推定を開始したときには、ユーザの現在位置として最後に推定された地点を中心として位置推定を開始してもよい。
【0103】
ランドマークとなる構造物を既知点として位置推定してもよい。たとえば、東京タワーの位置は既知なので、ユーザ端末200または空間管理サーバ400は、ユーザ画像102に東京タワーが映っているときには、少なくとも、ユーザが東京タワーの周辺にいることを推定できる。このようにランドマークを利用することにより、位置特定部408をいっそう効率的に実行できる。
【0104】
位置特定部408は、複数のユーザ画像102のうち、多数のユーザ画像102に基づいて推定される現在地点をユーザの現在地点として特定してもよい。たとえば、50枚のユーザ画像102が得られたとして、位置特定部408はこれらのユーザ画像102のうち、40枚が部分空間106(A05)にある空間画像108と類似し、その他は他の地点の部分空間106にある空間画像108と類似していたとする。このときには、位置特定部408は、ユーザはA05地点を現在地点と推定する。このように、多数のユーザ画像102からみてもっとも確からしい地点を現在地点と推定することにより、位置推定精度を高めることができる。多数のユーザ画像102を使うほど、位置推定精度が高くなる。
【0105】
本実施形態においては、Z4値が閾値D1よりも大きいとき、更新条件が成立するとして説明した。変形例として、2つの閾値D1,D2を設定してもよい。Z4値が閾値D1よりも大きいときには更新条件が成立し、閾値D2以下のときには更新条件は成立しない。
【0106】
D2<Z4≦D1のときには(以下、この範囲を「中間範囲」とよぶ)、更新部422は予備空間とユーザ空間104の比較により更新条件を判定する。たとえば、ユーザ空間104(A08)と部分空間106(A08:正規)についてのZ4値が中間範囲にあるとする。このとき、更新部422は、部分空間106(A08:正規)だけでなく、部分空間106(A08:予備)も対象としてZ4値を計算する。複数の予備空間それぞれについてのZ4値のうちの所定割合以上、たとえば、過半数が閾値D2以下であれば、更新部422は更新条件成立と判定する。
【0107】
より具体的には、部分空間106(A08:予備1)とユーザ空間104(A08)についてのZ4値(予備1)、部分空間106(A08:予備2)とユーザ空間104(A08)についてのZ4値(予備2)・・・部分空間106(A08:予備5)とユーザ空間104(A08)についてのZ4値(予備5)を計算したとする。Z4値(予備1)~Z4値(予備5)のうち、3以上(過半数)のZ4値が閾値D2以下であれば、更新条件成立となり、更新部422はユーザ空間104(A08)を正規空間として統合空間100に登録する。
【0108】
正規空間を対象としたZ4値が中間範囲にある場合であって、ユーザ空間104(A08)が多くの予備空間と類似しているのならば、むしろ部分空間106(A08:正規)が異常であったと考えられる。このときには、ユーザ空間104(A08)を新たな正規空間として設定することが適切であるといえる。このようなメカニズムにより、不適切な正規空間がいつまでも残ってしまうリスクを排除できる。
【0109】
本実施形態においては、ベクトルV1~V4の方向のずれによりZ1値を計算し、Z1値からZ2値、Z3値、Z4値を計算し、Z4値に基づいて更新条件の成否を判定するとして説明した。変形例として、ベクトルの方向ではなく長さに基づいて後述のC3値を計算し、C3値に基づいて更新条件を判定してもよい。具体的には、更新部422は、ユーザ空間104および部分空間106に含まれるすべてベクトルについて、
C1=ベクトルの長さの合計/ベクトル総数
を算出する。ユーザ空間104と部分空間106の類似度が高いときにはC1値は小さくなる(図14参照)。
【0110】
次に、更新部422は、
C2=C1値×インターバル係数k
C3=Z2×補正係数m
を算出する。更新部422は、このようにして計算したC3値と、閾値D1,D2を比較することにより、更新条件の成否を判定してもよい。
【0111】
更新部422は、Z4値とC3値の双方に基づいて更新条件を判定してもよい。たとえば、更新部422は、Z4値+C3値と、所定の閾値D1,D2を比較することにより更新条件の成否を判定してもよい。
【0112】
統合空間管理部418は、予備空間に基づいて、「過去の世界」に対応する統合空間100を再現してもよい。たとえば、2050年になったとき、「2024年を取得日時」とする部分空間106だけで統合空間100を構成すれば、「2024年の世界(過去)」を再現できる。統合空間100をいわゆるメタバースとして活用することにより、ユーザは「過去の世界」を体験できる。
【0113】
統合空間管理部418は、統合空間100のデータ量を削減するため、所定の削除条件を満たした予備空間を統合空間100から削除してもよい。削除条件としては、たとえば、「画質が所定レベル以下」「所定日時よりも以前に生成されている」などが考えられる。
【0114】
経路条件として、目的地点以外の条件を設定してもよい。たとえば、ユーザが目的地点として「最寄りのトイレ」を設定したとする。経路生成部412は、統合空間100内の「トイレ」に対応するオブジェクト130を探索し、ユーザの現在地点から最も近い「トイレ」への経路情報を生成する。
【0115】
ユーザは、「段差なく到達できるトイレのうち、最寄りのトイレ」という経路条件を設定してもよい。統合空間100は三次元空間なので、段差(高低差)という立体的な情報を含む。経路生成部412は、ユーザの現在地点からトイレまでの経路における段差の有無を確認した上で、段差なく到達できるトイレまでの経路をユーザに案内してもよい。このような制御によれば、たとえば、車椅子のユーザにとって有用な経路案内が可能となる。
【0116】
このほか、経路生成部412は「(電動カートで移動するための)段差のない経路」「高低差が大きく15分程度の時間がかかる散歩のための経路」「できるだけ屋外を通らない経路」などさまざまな経路条件に応じた経路情報を生成してもよい。
【0117】
ユーザ空間生成部416は、ユーザ画像102に映る人間の顔の部分に「ぼかし」を入れることでプライバシーに配慮したユーザ空間104を生成してもよい。ユーザ空間生成部416は、撮像禁止エリア(たとえば、トイレの内部、軍事基地、更衣室、プールなど)となる範囲(緯度・経度・高度の範囲)をあらかじめ設定しておき、撮影禁止エリアを対象としたユーザ画像102からはユーザ空間104を生成しないとしてもよい。
【0118】
同様にして、ユーザ空間生成部416は、侵入禁止エリア(たとえば、軍事基地、研究所、工場など)を設定してもよい。案内部410は、位置推定に際して、ユーザが侵入禁止エリアに入ったときには警告情報をユーザ端末200に通知してもよい。特典付与部424は、進入禁止エリアへの侵入、撮影禁止エリアでの撮影などあらかじめ設定した禁止事項に抵触したユーザに対しては、一定期間、特典を付与しないというペナルティを設定してもよい。
【0119】
統合空間管理部418は、自動車や人間など現実空間に含まれる「固定されていないもの」、すなわち、移動物体を部分空間106から削除してもよい。たとえば、部分空間106(A10:正規)、部分空間106(A10:予備1)・・・部分空間106(A10:予備10)において、2つの予備空間と1つの正規空間にだけ映るオブジェクトXが存在するとする。この場合、オブジェクトXは、この2つの予備空間と1つの正規空間の取得日時においてのみ存在していたものであるから、移動物体であると考えられる。この場合には、統合空間管理部418は2つの予備空間からオブジェクトXを削除する。
【0120】
より具体的には、統合空間管理部418は、同一地点を対象とした複数の部分空間106のうち、所定割合以下の部分空間106のみに映るオブジェクトを削除する。たとえば、統合空間管理部418は、10個の部分空間106のうち、20%以下、すなわち、2個以下の部分空間106にしか映っていないオブジェクトを削除するとしてもよい。位置推定の邪魔になる移動物体を部分空間106から削除することにより、位置推定の精度を高めることができる。
【符号の説明】
【0121】
100 統合空間、102 ユーザ画像、104 ユーザ空間、106 部分空間、108 空間画像、110 空間構成情報、120 オブジェクト情報、130 オブジェクト、140 案内画面、142 経路案内、144 案内情報、146a 面、146b 面、200 ユーザ端末、202 撮像部、204 通信部、206 ユーザインタフェース処理部、208 データ処理部、210 データ格納部、300 プロセッサ、302 第1バス、304 メモリ、308 ブリッジ、310 第2バス、312 ストレージ、314 入力デバイス、316 出力デバイス、318 周辺機器、400 空間管理サーバ、402 データ処理部、404 通信部、406 データ格納部、408 位置特定部、410 案内部、412 経路生成部、414 画像分析部、416 ユーザ空間生成部、418 統合空間管理部、420 拡大部、422 更新部、424 特典付与部、426 統合空間格納部、500 位置推定システム
【要約】
【課題】 撮像画像に基づいて三次元の現実空間における位置推定を実現し、その上で、さまざまな案内情報をユーザに提供する。
【解決手段】 空間管理サーバは、現実空間に対応する三次元の仮想空間として構成される統合空間100のデータを格納する。空間管理サーバは、ユーザ端末から取得される撮像画像であるユーザ画像102と統合空間100のデータを比較することにより、ユーザ画像102に対応する地点の現実空間における三次元位置を示す位置情報を特定する。空間管理サーバは、ユーザ端末に対してこの位置情報を提供する。
【選択図】図1
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15