(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2025-02-12
(45)【発行日】2025-02-20
(54)【発明の名称】位置特定システム及びプログラム
(51)【国際特許分類】
G06T 7/70 20170101AFI20250213BHJP
G06T 7/00 20170101ALI20250213BHJP
G06V 10/74 20220101ALI20250213BHJP
G06T 1/00 20060101ALI20250213BHJP
G06Q 50/10 20120101ALI20250213BHJP
G01C 21/30 20060101ALI20250213BHJP
【FI】
G06T7/70 A
G06T7/00 350B
G06V10/74
G06T7/00 C
G06T1/00 200E
G06Q50/10
G01C21/30
(21)【出願番号】P 2024032182
(22)【出願日】2024-03-04
【審査請求日】2024-03-04
(73)【特許権者】
【識別番号】524082694
【氏名又は名称】株式会社Nefront
(74)【代理人】
【識別番号】100092598
【氏名又は名称】松井 伸一
(72)【発明者】
【氏名】今村 翔太
【審査官】豊田 好一
(56)【参考文献】
【文献】特開2023-045010(JP,A)
【文献】特開2015-170266(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/70
G06T 7/00
G06V 10/74
G06T 1/00
G06Q 50/10
G01C 21/30
(57)【特許請求の範囲】
【請求項1】
取得した画像が撮影された位置を特定する位置特定システムであって、
前記画像に基づき抽象化した特徴データを用いて検索対象の3Dマップの候補を絞り込むマップ絞り込み機能と、
前記画像を、その絞り込んだ前記3Dマップの候補と形状のマッチングを行い、前記画像を撮影した位置を特定するマップマッチング機能と、
を備え、
前記マップ絞り込み機能は、前記画像と前記3Dマップのコンテクスト情報を入力として大規模言語モデルを用いて前記抽象化を行い、前記3Dマップの候補を絞り込む
位置特定システム。
【請求項2】
取得した画像が撮影された位置を特定する位置特定システムであって、
前記画像に基づき抽象化した特徴データを用いて検索対象の3Dマップの候補を絞り込むマップ絞り込み機能と、
前記画像を、その絞り込んだ前記3Dマップの候補と形状のマッチングを行い、前記画像を撮影した位置を特定するマップマッチング機能と、
を備え、
前記マップ絞り込み機能は、前記画像に基づく情報をベクトル化して前記特徴データを作成する
位置特定システム。
【請求項3】
取得した画像が撮影された位置を特定する位置特定システムであって、
前記画像に基づき抽象化した特徴データを用いて検索対象の3Dマップの候補を絞り込むマップ絞り込み機能と、
前記画像を、その絞り込んだ前記3Dマップの候補と形状のマッチングを行い、前記画像を撮影した位置を特定するマップマッチング機能と、
を備え、
前記マップ絞り込み機能は、前記画像に関するテキスト情報をベクトル化して前記特徴データを作成する
位置特定システム。
【請求項4】
取得した画像が撮影された位置を特定する位置特定システムであって、
前記画像に基づき抽象化した特徴データを用いて検索対象の3Dマップの候補を絞り込むマップ絞り込み機能と、
前記画像を、その絞り込んだ前記3Dマップの候補と形状のマッチングを行い、前記画像を撮影した位置を特定するマップマッチング機能と、
を備え、
前記マップ絞り込み機能が行う前記抽象化は、前記画像と、その画像に関係するコンテクスト情報を用いて行う
位置特定システム。
【請求項5】
請求項1から4のいずれかに記載の位置特定システムの機能をコンピュータに実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、位置特定システム及びプログラムに関する。
【背景技術】
【0002】
画像情報に基づく撮像装置の位置及び姿勢の計測は、複合現実感/拡張現実感における現実空間と仮想物体の位置合わせ、撮像装置を携帯するユーザ、ロボット、自動車・ドローンなどのモビリティの位置推定など様々な目的で利用される。VPS(Visual Positioning System)を用いた位置検出は、GPS衛星信号を受信できない環境下であっても位置を特定できる。したがって、例えば、撮影装置を携帯するユーザが、建物内や地下空間に存在している場合に、その空間内での存在位置の特定が可能となる。
【0003】
この種の撮影した画像情報を利用した位置を特定するシステムは、例えば特許文献1等に開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
スーパーマーケットやコンビニエンスストアなどの売り場は、同じような陳列棚が似たレイアウトで配置されている。また、複合商業施設における屋内で出店される各店舗は、通路に沿って用意された同じ大きさの部屋を利用し、門構えが似たものがある。展示場で開催される展示会は、同じ寸法形状で区切られたブースが、同じ配置レイアウトで多数用意されることがある。
【0006】
このような場合、例えば同一のスーパーマーケット内で似たような形状の売り場が多数存在し、各売り場で撮影した画像の特徴点が似てしまう。このように特徴点が似ているものが存在すると、VPSを用いた位置特定の精度が低下する。このことは、複合商業施設や展示場等の屋内でも同様に発生する。
【0007】
さらに、屋内の広範囲の領域内で画像に基づいて位置特定をする場合、対象となる比較対象の画像が多数存在する。システムは、特徴点が似ている画像が多数存在すると、正しい位置検出が行えず、また、1つに特定できずにフリーズしてしまうおそれがある。
【0008】
上述した課題はそれぞれ独立したものとして記載しているものであり、本発明は、必ずしも記載した課題の全てを解決できる必要はなく、少なくとも一つの課題が解決できればよい。またこの課題を解決するための構成についても単独で分割出願・補正等により権利取得する意思を有する。
【課題を解決するための手段】
【0009】
(1)取得した画像が撮影された位置を特定する位置特定システムであって、前記画像に基づき抽象化した特徴データを用いて検索対象の3Dマップの候補を絞り込むマップ絞り込み機能と、前記画像を、その絞り込んだ前記3Dマップの候補と形状のマッチングを行い、前記画像を撮影した位置を特定するマップマッチング機能と、を備えた位置特定システムとするとよい。
【0010】
このようにすることで、内容面でのエリアの絞り込み(3Dマップの絞り込み)を行った上で、形状の特徴点マッチングを精度良く行える。3Dマップの候補の絞り込み処理は、例えば、複数の3Dマップの中から、形状のマッチングを行う3Dマップを所定数選択する場合、1つの3Dマップ内で形状のマッチングを行うエリアの3Dマップの部分を所定数選択する場合、あるいはそれら組み合わせなどを含む。
【0011】
(2)前記マップ絞り込み機能は、前記画像と前記3Dマップのコンテクスト情報を入力として大規模言語モデルを用いて前記抽象化を行い、前記3Dマップの候補を絞り込むように構成するとよい。
【0012】
大規模言語モデルを用いた検索は、ピンポイントでの位置特定や姿勢・向きの特定まではできないが、似た形状でもその内容を加味して識別できる。よって、3Dマップの候補を精度良くピックアップできる。そして、3Dマップの候補を絞り込むことで、後段のマップマッチング機能にて、形状のマッチングを用いて精度良く位置特定等を行うことができる。
【0013】
(3)前記マップ絞り込み機能は、前記画像に基づく情報をベクトル化して前記特徴データを作成するように構成するとよい。
【0014】
(4)前記マップ絞り込み機能は、前記画像に関するテキスト情報をベクトル化して前記特徴データを作成するように構成するとよい。画像に関するテキスト情報は、画像に含まれる文字を文字認識して作成したもの、画像認識して画像中に存在する物体を示すもの、画像の説明文書などがある。説明文書は、予め人が作成したものや画像を生成AIに与え生成したものなどとするとよい。
【0015】
(5)前記マップ絞り込み機能が行う前記抽象化は、前記画像と、その画像に関係するコンテクスト情報を用いて行うように構成するとよい。
【0016】
(6)前記マップ絞り込み機能は、前記画像を撮影した端末が検出する位置情報を利用して行うように構成するとよい。
【0017】
(7)比較対象となる特徴データと、3Dマップを記憶し、前記マップ絞り込み機能及び前記マップマッチング機能がアクセス可能なデータベースを備えるように構成するとよい。
【0018】
(8)カメラと通信機能を有する端末を備え、前記端末は、前記通信機能を用いて前記カメラが撮影した画像を前記マップ絞り込み機能を備えるサーバに送信するように構成するとよい。また、端末は、前記マップマッチング機能が特定した位置を取得し、その取得した位置を報知する機能を備えるとよい。
【0019】
(9)本発明のプログラムは、(1)から(8)のいずれかに記載の位置特定システムの機能をコンピュータに実現させるためのプログラムとするとよい。
【0020】
上記(1)から(8)に記載の各発明の構成要素は、それぞれ2つ或いは3つ以上の任意の組み合わせをすることができ、その組み合わせにより発明を構成することができる。
【発明の効果】
【0021】
本発明は、例えば、ベクター検索や大規模言語モデルによる推論等の抽象化した特徴データを用いて検索対象の3Dマップ候補を絞り込んだ後、その絞り込んだ3Dマップとの特徴点のマッチングで、似た形状が存在する空間内であっても正確に位置を特定することができる。
【図面の簡単な説明】
【0022】
【
図1】本発明に係る位置特定システムの好適な一実施形態を示す図である。
【
図3】サーバの制御部の処理を説明するフローチャートである。
【
図4】屋内の位置を特定する場所の一例を示す図である。
【
図5】屋内の位置を特定する場所の一例を示す図である。
【
図6】屋内の位置を特定する場所の一例を示す図である。
【
図7】屋内の位置を特定する場所の一例を示す図である。
【
図8】屋内の位置を特定する場所の一例を示す図である。
【
図9】屋内の位置を特定する場所の一例を示す図である。
【発明を実施するための形態】
【0023】
以下、本発明の好適な実施形態について図面に基づき、詳細に説明する。なお、本発明は、これに限定されて解釈されるものではなく、本発明の範囲を逸脱しない限りにおいて、当業者の知識に基づいて、種々の変更、修正、改良を加え得るものである。
【0024】
本発明に係る位置特定システムは、展示場、商業施設、各種の建物内、地下街、地下駐車場などのGPS信号を精度良く受信できない屋内における位置特定を精度良く行うものである。位置特定を行う屋内のエリアについて、事前にカメラやLiDAR(Light Detection And Ranging)を用いて取得した情報を元に、各種の計算処理、統計モデル、機械学習モデルを用いて、屋内の所定の領域を示す3Dマップと、その3Dマップに関連する特徴データ等を作成したものを記憶保持する。そして、位置特定システムは、実際に現場で撮影した画像データを取得し、取得した画像データと記憶保持した特徴データ等から、屋内における存在位置の絞り込みを行い、さらに記憶保持した3Dマップとの特徴点のマッチングで正確に位置を特定する機能を備える。
【0025】
図1は、本発明に係る位置特定システム1の好適な一実施形態を示す構成図であり、
図2は実際の構成の一例を示す図である。
図1に示すように、位置特定システム1は、端末装置10で撮影した画像データを、ネットワーク2を経由して取得したサーバ20が、その取得した画像データに基づきその端末装置10の存在位置を特定する機能を有する。ネットワーク2は、例えば公衆回線、インターネット等であり、相互に離れた場所にいてもアクセス可能なものとするとよい。
【0026】
端末装置10は、制御部11、カメラ12、入力部13、通信部14、表示部15、GPS受信部16等を備える。端末装置10は、例えば、人が携帯する場合、スマートフォン、スマートグラス等を用いるとよい。端末装置10がスマートフォンの場合、端末装置10を構成するハードウェア(制御部11、カメラ12、入力部13、通信部14、表示部15、GPS受信部16)は、スマートフォンに標準装備される機器を用いる。
【0027】
制御部11は、端末装置10の各部を制御する。制御部11は、例えば、プロセッサ及びメモリを含むコンピュータである。メモリは、例えば、RAM(Random Access Memory)、及びROM(Read Only Memory)等を有する主記憶装置である。プロセッサは、メモリのROMから読み出したプログラムをRAMに一時的に記憶させる。また、メモリのRAMは、プロセッサに作業領域を提供する。プロセッサは、プログラムの実行中に生成されるデータをRAMに一時的に記憶させながら演算処理を行うことにより、各種の制御を行う。そして、端末装置10がスマートフォンの場合、位置特定を行うための処理は、例えば、制御部がスマホアプリを起動することで行うとよい。
【0028】
通信部14は、上記のネットワーク2に接続し、ネットワーク2に接続される他の装置とデータ・情報を送受信する機能、Wi-Fiのアクセスポイントに接続する機能等を備える。
【0029】
制御部11は、カメラ12で撮影した画像を表示部15に表示する。また制御部11は、撮影中の画像データを、ネットワーク2を用いてサーバ20に送信する。また、制御部11は、現在位置に基づくセンサ情報を、ネットワーク2を用いてサーバ20に送信する。センサ情報は、例えばGPS受信部16が受信し取得した位置情報(経度緯度)や、通信部14が取得したWi-Fiのアクセスポイントを特定する情報等を備える。これらの情報を送信するタイミングは、所定の間隔で定期的に、或いは入力部13で受け付けた送信指示を契機とするとよい。さらに、制御部11は、サーバ20から取得した現在位置に基づき、表示部15に所定の情報を表示する機能等を備える。
【0030】
サーバ20は、インターネット接続機能等のネットワーク2に接続し通信するインタフェース等を有する通信部21と、サーバ20の動作を司る制御部22と、位置特定をするためのデータを記憶するデータベース23等を備える。また、
図1では、サーバ20は、1台のサーバコンピュータから構成される例を図示しているが、
図2に示すように、直接或いはネットワークを介して接続される複数台のコンピュータから構成されるものとしてもよい。また、データベースを実装するサーバは、物理的なサーバに限ることなく、ソフトウエアプログラムで構成したり、クラウドに実装したりするなど各種の形態のものを利用するとよい。
【0031】
データベース23は、端末装置10のカメラ12で撮影した画像に基づき位置を特定するためのデータを記憶する。データベース23は、3Dマップ記憶部231と、特徴データ記憶部232を備える。3Dマップ記憶部231は、事前に作成した位置特定を行う対象エリアについての3Dマップを記憶する。すなわち、3Dマップは、多数の画像、さらには各画像と紐付くLiDARの深度データを用いて作成される特徴点(x,y,z)の集合体もしくはポリゴンメッシュから構成される3次元形状に基づくデータである。そこで、システム管理者等は、事前に位置特定を行う屋内のエリア内を移動しながら、カメラを用いて撮影して各地点の画像データを取得し、必要に応じてLiDAR(Light Detection And Ranging)を用いて深度データを取得する。屋内のある地点で取得した複数の画像データ並びに深度データに基づき、各種の計算処理等を行い、3Dマップを作成する。この3Dマップの作成処理は、既存の技術を用いて行うことができる。
【0032】
同じ屋内には、似た形状からなるエリアが複数存在することがある。その結果、異なる場所における3Dマップの形状、特徴点のうち、類似するものが存在する。特に、展示場は、同一の展示会の場合、同じような寸法形状のブースが多数存在し、会場内での複数のブースの配置レイアウトが同じになることが多い。また、大型商業施設やショッピングモール内では、同じような門構えの店が複数存在することがある。また、同一の店舗内においても、同じ陳列棚を多数用意し、同じレイアウトで配置した場合、類似する3Dマップが多数存在してしまう。
【0033】
所定の地点における3Dマップの作成処理は、例えば、3Dマップデータの特徴が一意に定まるように範囲を分割する。その分割したエリアで取得した少しずつ重なり合った画像のシークエンスと各画像に紐づく姿勢情報から三次元再構成を行い、分割した範囲の3Dマップを作成するとよい。また、LiDARを用いて取得した震度データが存在する場合、それも利用して分割した範囲の3Dマップを作成するとよい。なお、LiDARのデータが無い場合、画像データのみに基づいて3Dマップを作成する。
【0034】
この分割する範囲は、例えば展示場の場合、イベント会場のコーナー単位、ブース単位など一定のエリアとする。また、ショッピングモールの場合の分割する範囲は、例えば店舗単位で門構えが含まれるエリア等とする。また、店舗の内部における分割する範囲は、例えば、1または複数の陳列棚を含むエリア等とする。この分割の範囲は適宜選択するとよく、何れの場合も、分割した各エリアに対し1つずつ3Dマップを作成する。各3Dマップには、IDが付与され、また、屋内の実際のエリアを特定する位置情報も関連付けて登録する。
【0035】
このように3Dマップは、屋内の所定の領域を複数に分割した各エリアに対して作成するため、例えば、1つの展示場で開催される同一の展示会・イベント会場において多数の3Dマップが用意される。1つの商業施設の屋内においても区分けされた複数の領域に対しそれぞれ3Dマップが作成される。
【0036】
サーバ20は、異なる建物・施設内における複数の領域についての3Dマップを記憶する。そこで、サーバ20は、どの展示場や商業施設についての3Dマップであるかがわかるように記憶する。例えば、建物毎に記憶領域を分けて3Dマップを記憶したり、3Dマップの付記情報として、建物等を特定する識別情報を登録したりするとよい。また展示場が同じであっても、開催される展示会が異なると3Dマップは異なるため、3Dマップは、展示会毎に分けて3Dマップ記憶部231に記憶する。
【0037】
特徴データ記憶部232は、3Dマップを作成したエリアを撮像した1または複数枚の画像データ等を中間表現に抽象化した特徴データを記憶する。この特徴データは、それぞれの3Dマップに関連付けられ、1または複数有する。抽象化した特徴データは、例えば、3Dマップを作成した際に使用した画像をマルチモーダルの埋め込みモデルでベクトル化したデータ、また、各分割範囲の画像中に存在する説明情報(コンテクスト)、おおよその位置を特定するための付随する位置情報などがある。コンテクストは、テキストデータとしてもよいがベクトル化した多次元ベクトルとするとよい。特徴データを表すベクトルは、例えば、画像から文字検出や物体検出して説明文を生成した上で、テキスト情報を埋め込みモデルでベクトル化して作成するとよい。また、特徴データを表すベクトルは、テキスト情報を用いるものに限ることなく、例えば、画像を畳み込んで特徴ベクトルを直接的に生成するとよい。画像に基づきベクトルを生成することで、文字検出では生成できない例えば壁の様相などの情報に基づく特徴データを生成することができ、情報量的に漏れが少なくなるのでよい。また、同一範囲内の別角度から撮影した複数枚の画像の説明情報を結合した情報を、単一の3Dマップのコンテクスト情報としてもよい。この説明情報を作成するに際に使用するテキストは、例えば画像データを画像認識し、OCRの技術を用いて作成するとよい。また、説明情報は、マルチモーダルの大規模言語モデルを用い、画像を入力に説明テキストを生成するとより好ましい。これにより画像の情報を人間が説明するかのように記述した文章が作成され、形状や色など文字以外の見た目の情報なども含めて文字にできるため、他の場所との識別がより精度よくできる特徴データを生成できる。さらにまた、作成した説明情報(説明テキスト)を見た作業員が、テキストを補正し、再撮影して再度説明情報を作成する処理を行うとよい。
【0038】
また付随する位置情報は、例えばWi-Fiのアクセスポイント、GPS情報等がある。例えば屋内であってもGPS信号を受信できるエリアがあるため、GPSに基づく位置情報からおおよその存在位置を特定できる。また、地下街などでは適宜位置にWi-Fiのアクセスポイントが設置されている。Wi-Fiのアクセスポイントは、通信可能なエリアが狭い。よって、アクセスポイントと通信可能なエリア内の3Dマップに関連付ける特徴データとして、そのアクセスポイントを特定する情報を用いる。
【0039】
データベース23に記憶する3Dマップと特徴データの作成は、何れを先に行ってもよく、同一の範囲に基づくものであればよい。
【0040】
制御部22は、例えば、プロセッサ及びメモリを含むコンピュータである。メモリは、例えば、RAM(Random Access Memory)、及びROM(Read Only Memory)等を有する主記憶装置である。プロセッサは、メモリのROMから読み出したプログラムをRAMに一時的に記憶させる。また、メモリのRAMは、プロセッサに作業領域を提供する。プロセッサは、プログラムの実行中に生成されるデータをRAMに一時的に記憶させながら演算処理を行うことにより、各種の制御を行う。
【0041】
制御部22は、位置特定を行う機能として、マップマッチング部221と、マップ絞り込み部222を備える。マップマッチング部221は、形状に基づくマッチングを行う。すなわち、マップマッチング部221は、端末装置10が撮影した画像データ等に基づき抽出した特徴点と、3Dマップ記憶部231に記憶された3Dマップ群とマッチングし、一致度の高い3Dマップを1つ特定し、端末装置10のカメラ12で撮影時の位置や姿勢を導出する。さらにマップマッチング部221は、導出した撮影位置や姿勢をもとに端末装置10の3Dマップ上の座標や3Dマップ群全体の中での座標を求める機能を備えるとよい。また、形状に基づくマッチング処理は、例えばVPS等の撮影した画像データと、予め用意した3Dマップの対比に基づく既存の位置特定のアルゴリズムを利用するとよい。そして制御部22は、特定した位置や姿勢等に関する位置情報を、ネットワーク2経由で端末装置10に送る。
【0042】
マップ絞り込み部222は、マップマッチング部221による形状マッチングを行うに先立ち、その前段として取得した画像データ等を用い、画像が撮影されたエリアの絞り込み処理を行う。すなわち、マップ絞り込み部222は、画像データが表す内容を抽象化してマップの絞り込みを行う。マップ絞り込み部222は、取得した画像データ等と特徴データ記憶部232に記憶された特徴データに基づいて3Dマップの候補を抽出する。このマップ絞り込み部222の詳細な機能は、後述する。
【0043】
図3は、実際にシステムを利用するユーザが、現場で端末装置10のカメラ12で撮影した画像を取得した場合の制御部22の処理を説明するフローチャートである。システムを利用するユーザは、端末装置10の一例であるスマートフォンにインストールされた所定のスマホアプリを起動する。スマホアプリは、所定の入力指示を受け付け、カメラ12を起動し、常時撮影するモードにし、撮影中の画像を表示部15に表示する。また、スマホアプリは、所定のタイミングで撮影中の画像をサーバ20に送る。この所定タイミングは、決められた時間間隔、画面のタップなどの入力部13から与えられる送信指示の受け付け等とするとよい。また、制御部11は、画像データとともに所定のセンサ情報を送信する。
【0044】
サーバ20の制御部22は、端末装置10で撮影した画像並びにセンサ情報を取得する(S1)。制御部22は、取得した画像データを所定の記憶部に記憶する。記憶部は、例えば揮発性のメモリなど一時記憶部とするとよい。
【0045】
制御部22のマップ絞り込み部222は、取得した画像をマルチモーダルの大規模言語モデルでコンテクストと照合してエリアの判別を行い、機械学習モデルを用いた処理で特徴情報に落とし込んだ上で、撮影した位置を検出する画像の位置する3Dマップ候補を絞り込む(S2)。マップ絞り込み部222は、絞り込んだ3Dマップ候補のIDをマップマッチング部221に送る。
【0046】
次いで、マップマッチング部221は、一時記憶部に記憶する画像データを読み出し、機械学習モデルやSLAMの手法を用いて特徴点を抽出する(S3)。そしてマップマッチング部221は、求めた特徴点と、マップ絞り込み部222が絞り込んだ候補の3Dマップとのマッチングを行い、最も一致する3Dマップを特定し、その3Dマップ内の位置や姿勢を導出する(S4)。
【0047】
制御部22は、導出した撮影位置や姿勢をもとに端末の3Dマップ上の座標や3Dマップ群全体の中での座標を求める(S5)。そしてこの求めた座標データを、端末装置10に送る。スマホアプリは、受け取った座標データで特定される位置に基づき、例えば道案内などをする。
【0048】
上記の処理S2を実施するマップ絞り込み部222は、マップ絞り込み部222は、(1)画像認識とベクトル検索機能と、(2)マルチモーダルLLM(Large Language Models)を用いる検索機能を備える。
【0049】
(1)の画像認識とベクトル検索機能は、各種情報をいずれかの方法で特徴ベクトルにし、そのベクトル検索を元に位置特定を行うものであり、類似度検索である。このベクトル検索機能は、取得した入力画像(シークエンス)をベクトル化し、特徴データ記憶部232に記憶した3Dマップに関連付けたベクトルとの一致度を求め、所定の基準を満たす特徴データを抽出する。制御部22は、抽出した特徴データに関連付けられた3Dマップを、マップ候補に決定する。所定の基準は、例えば、一致度が閾値を超えるものや、一致度の高いものから所定数のものとするとよい。入力画像のベクトル化処理は、画像をそのままマルチモーダルの埋め込みモデルを用いてベクトル化する(複数の情報から1つの抽象的な特徴データを生成する)ものや、画像中の文字を検出して得られたテキスト情報を抽象化してベクトル化するものなどがある。抽象化する対象のテキスト情報は、例えば画像認識処理を行い抽出した画像中に存在する文字を用いることができる。また、そのテキスト情報は、画像を直接或いは画像認識して画像中に存在する物体の名称等を生成AIに与え、生成AIが生成した画像の説明文を用いるとよい。このベクトル検索は、高速に処理できるため、比較対象の3Dマップが多い場合に効率よく3Dマップが対象になるか否かの判断を短時間で行える。
【0050】
(2)のLLMを用いる検索機能は、画像と文字情報を入力として大規模言語モデルを用いて論理的に推論して位置特定を行うものである。このLLMを用いる検索機能は、特徴データ記憶部232に記憶された候補マップの情報(説明文など)をマルチモーダルLLMにコンテクストとして与え、端末装置10が撮影しネットワーク2を経由して取得した画像を入力に与え、候補の3Dマップを推定する。すなわち、3Dマップのコンテクスト情報と、端末装置10が撮影した画像情報をLLMに与え、LLMが3Dマップ候補を求める。LLMのモデル自体をファインチューニングしてもよい。LLMを用いる検索は、ベクトル検索と比較すると精度は高いが処理時間がかかるという特徴を有する。LLMを用いた検索は、対応できるエリアの数に制約がある。
【0051】
また、実際にシステムを利用するユーザが、現場で端末装置10のカメラ12で撮影した場合、予め特徴データ等の作成時に同じ位置にいてもカメラ12の向きが異なると、撮影される画像データは異なる。このような場合でも、例えば、マルチモーダル大規模言語モデルの場合は、3Dマップが該当する範囲をうまく説明する特徴データとなるように複数の角度の画像の情報を結合・編集して取り扱うため、特に角度の違いには強くなる。よって、カメラ12の向きが異なっていても多少の範囲であればマップの絞り込みで3Dマップ候補として抽出される。
【0052】
一方、ベクトル検索の場合、同じ位置から撮影しても向きが異なると、一致度は低くなり、異なる角度が大きくなると検出できなくなる。そこで、ベクトル検索の場合には、一つの3Dマップの範囲の中で複数の向きの画像について特徴ベクトルを作成し、各ベクトルを同一マップのIDに関連付けるとよい。つまり、事前に特徴データを作成し、データベース23に記憶する際に、1つの3Dマップに複数の特徴ベクトルを関連付ける。このようにすると、利用時の撮影した画像に紐づく3Dマップを特徴ベクトルのマッチングから適切に特定することができる。
【0053】
(1)と(2)の機能は、いずれか一方を用いてもよく、両方を組み合わせてもよい。一方を用いる場合、汎用性の高い(2)を用いるとよい。また、(2)は処理速度や処理可能なエリア数に制限があるため、(1)の画像認識とベクトル検索のみで絞り込みを行うようにしてもよい。また、組み合わせる場合、例えば、3Dマップ群の数が多い場合に、(1)で絞り込み、(2)で最終判断を下すとよい。また、このように使用する順番を分けるのではなく、(1)と(2)の検索機能を並列で動作させ、それぞれについて信頼度を算出し、信頼度をもとに複数の3Dマップ候補を求めるとよい。
【0054】
また、上述したように(1)の検索は高速処理ができるので、広いエリアに対して対応させることができるという特徴を有する。一方、(2)の検索は、凝った趣向、高精度に検出はできるが、その分時間が掛かり、対象を広くするとリアルタイムで絞り込みができなくなる恐れがある。そこで、位置特定を行う場所に応じて、いずれかを使い分ける機能を備えるとよい。例えば、ある建物A内のエリアは比較的狭く、比較対象の3Dマップや特徴データの数が少ない場合には、(2)の検索を用いて絞り込みを行う。一方、建物B内のエリアは比較的広く、比較対象の3Dマップや特徴データの数が多い場合には、(1)の検索を用いて絞り込みを行う。何れの検索を行うかは、例えば、GPS信号やWi-Fiのアクセスポイント等のセンサ情報に基づく現在位置から、制御部22は建物Aと建物Bのどちらにいるかを認識し、現在位置に基づき動作する検索機能を切替えるとよい。
【0055】
また、マップ絞り込み部222は、GPS(GNSS)情報、Wi-Fi情報、地磁気情報など各種センサ情報から事前に対象とする3Dマップ群を絞り込む機能を備えるとよい。さらに、制御部22は、送られた画像データが対応エリア外と判定した場合、その旨を端末装置10に送信し、必要な処理を促す機能を備える。対象エリア外か否かの判定は、例えば、センサ情報に基づき、端末装置10が存在する現在位置の周囲に、位置特定を行う対象の施設等が存在するか否かにより行うとよい。また、対象エリア外か否かの判定は、マップ絞り込み部222が検索した結果、3Dマップ候補が検出されなかった場合に、対象エリア外と判定するようにしてもよい。
【0056】
マップ絞り込み部222は、抽出した1または複数の3Dマップ候補の情報、例えばIDをマップマッチング部221に送る。そして、マップマッチング部221は、3Dマップ候補に対してのみマッチング処理を行う。このようにすると、マッチング対象が絞り込まれているため、マップマッチング部221は、正確な位置や姿勢(3次元的な向き)を特定することがでる。
【0057】
このように、本実施形態の制御部22は、内容面でのエリアの絞り込み(3Dマップの絞り込み)を行った上で、形状の特徴点マッチングを行う。また、マップ絞り込み部222は、ベクター検索やLLMも含めて、特定の事物ではなくて、周辺情報も含めた総合的な特徴を、一度をベクターや大規模言語モデルにおける中間表現(これもベクター)に抽象化した上で、総合的に比較推論等することで絞り込みを行うことができる。そして、その後にマップマッチング部221が、形状に基づくマッチングを行うことで、精度良く現在位置を特定できる。
【0058】
すなわち、上述したように形状が似ているエリアの3Dマップは、特徴量が似ているため、形状の特徴点マッチングのみではその識別を精度良く行うことができない場合がある。一方、そのように形状が似ていても、色や文字などを含めた画像を抽象化すると、その特徴は異なる。例えば、ベクトルの方向は異なるため、両者を弁別できる。
【0059】
そこで、マップ絞り込み部222が絞り込むことで、異なるエリアの3Dマップを排除することができる。一方、抽象化した検索処理は、類似する3Dマップなど大まかな存在位置は絞り込むことができるが、正確な位置や姿勢を特定することはできない。そこで、事前に似たような3Dマップを排除することで、マップマッチング部221は、精度良く位置を特定できる。
【0060】
よって、制御部22は、反復形状、類似形状の判別が行える。例えば、制御部22は、3Dマップの特徴点マッチングだけでは判別ができないところを判別できる。また、3Dマップの特徴点マッチングを行う処理対象の3Dマップを削減できるため、マップマッチング部221が行う点群マッチング処理の負荷低減や高速化ができ、それに伴い対応エリアを拡大できる。
【0061】
つまり、形状が似たものでも抽象化すると特徴が相違し、似た3Dマップも弁別でき、正しい3Dマップを候補として抽出できる。よって特定のランドマークや物だけでなくて、マルチモーダルLLM(大規模言語モデル)や全体の特徴を認識する画像認識処理や機械学習モデルを用いて、総合的に判断を行うことで複雑なエリアの判別が可能となる。
【0062】
例えば、3Dマップが類似するケースとしては、例えば展示会の場合、
図4と
図5に示すように、類似したブースのパッケージを使用している場合がある。この2つの図では、入口側に同じようなカウンター51があり、周囲との仕切り壁52も似た形状のものを用いている。従って、形状のみに基づいて判断すると、識別できない恐れがある。一方、2つのブースは、壁に貼り付けるポスター等の展示物53の大きさや、数、設置位置が異なり、社名などを文字情報54も異なる。そこで、それらの情報を抽象化した特徴データは、異なる。よって、マップ絞り込み部222により絞り込みにより、2つのブースを適切に識別ができる。
【0063】
また、例えば商業施設の場合、ショッピングモール内の似たような門構えの店の場合でも、色や店舗名が異なっていたり、あるいは扱っている商品が異なっていたりする時に、マップマッチング部221を用いた形状の特徴点マッチングの前段階でマップ絞り込み部222による判別を行い、対象となる3Dマップ候補を絞り込むことで、適切かつ効率的に形状の特徴点マッチングを行えます。例えば、
図6と
図7に示す店舗は、直線的な通路に沿って配置され、出入り口が大きく開放された門構えであり、似た形状となっている。しかし、店のロゴ(文字情報)55や、壁面の配色などが異なるため、それらを加味した特徴データは異なる。よって、マップ絞り込み部222による絞り込みにより、2つの店舗を適切に識別ができる。
【0064】
また、
図8と
図9に示す店舗は、曲線形状と天井の照明57などの構成や形状が類似するが扱っている商品58が異なる(例えば、書籍と洋服)。同じような棚であっても、陳列されている商品が違えば、商品の形状・色なども異なり、文字も違う。よって、マップ絞り込み部222による絞り込みにより、2つの店舗を適切に識別ができる。
【0065】
本実施形態によれば、おおまかな特徴を捉えるのに適した画像認識処理・ベクトル検索と、精度良く位置を検出するのに適した3Dマップの特徴マッチングを組み合わせることで、複雑な建物の中等、GPSでは検出できない位置特定が可能になる。
【0066】
本実施形態では、画像とスマートフォンのセンサ情報を活用して屋内での位置特定を行うことができる。そして、端末装置10は、サーバ20が特定した位置情報を取得することで、例えば指定されたアイテムや目的地への誘導やARコンテンツ提示を行う機能を備えるとよい。
【0067】
本実施形態の位置特定システムは、既存のVPSが苦手とする似た形状が存在する屋内であっても精度良く位置を特定することができる。その結果、大型商業施設やイベント会場などで特別な機器なく現在位置を特定し、案内や場所に応じたARコンテンツの提供が可能となる。また、コンテンツや目的地の情報を管理アプリやAPIを通じてリアルタイム更新できるシステムを構築し、小売店舗やイベント会場のような流動的な配置の場所でも利用可能となる。
【0068】
[変形例]
位置特定システムは、以下に示す各種の変形実施が可能となる。
図2は、実際の構成の一例を示す図である。この例では、サーバ20を複数のクライアントサーバシステムで実現している。マップ絞り込み部222は、第1クラウドシステム31に実装する。マップマッチング部221は、第2クラウドシステム32に実装する。この第2クラウドシステム32は、画像から特徴点を抽出する処理や、特徴点から現在の姿勢を推定する処理を行う。また、3Dマップの実体データは、第2クラウドシステム32に関連したストレージ33に記憶保持する。さらに3Dマップの特徴データと3DマップのIDとはデータベース34で結合する。
【0069】
3Dマップの絞り込み処理と3Dマップとのマッチング処理の一部もしくは全部を、撮影機器のある端末装置10上で行っても、データセンターや外部のサービスなどの計算資源(これを総称してクラウド)で行ってもよい。
【0070】
また、撮影機器のある端末装置と計算処理を行う端末装置が別に存在し、有線通信もしくは無線通信で接続する構成としてもいい(これを総称して端末とする)。マップの絞り込み処理をクラウドで行い、その結果を端末が取得したのち、再度3Dマップとのマッチング処理をクラウドで行ってもよいし、マップの絞り込み処理と3Dマップとのマッチング処理の全てをクラウド上で行ってその結果を取得してもよい。また、クラウドの処理も複数のクラウドにまたがって処理を行ってもよい。
【0071】
マップを絞り込む処理は、クラウド上で行っても、端末上で行ってもよい。端末上でマップの絞り込み処理を行うために必要な計算処理や機械学習モデル、特徴データなどを事前にダウンロードしておくことができる。ダウンロードする範囲はGPSやWi-Fiなどのセンサ情報を用いて絞り込むことができる。また、ユーザの操作によっても絞り込みが可能である。
【0072】
画像もしくは画像シークエンスから特徴点を抽出する処理もクラウド上で行っても、端末上で行ってもよい。
【0073】
画像もしくは画像シークエンスから特徴点を抽出する処理は、マップの絞り込みの処理の前に行っても、同時もしくは後に行ってもよい。また、マップ絞り込みと同じ画像を用いて特徴点を抽出してもいい。
【0074】
3Dマップと画像の特徴点とをマッチングする処理はクラウド上で行っても、端末上で行ってもよい。端末上でマッチング処理を行うために3Dマップを事前にダウンロードしておくか、マップの絞り込み処理の結果を返す際に取得することができる。
【0075】
特徴データと3Dマップを保持するデータベースは単一のものではなくて、特定の3Dマップの特徴データと3Dマップとを対応付けた上で、別々のデータベースやクラウドシステム上で保存されていてもよい。
【0076】
最終的な位置の情報を端末に返さず、クラウド上での記録や活用だけに利用することもできる。また、すでに撮影されている画像を用いて、マップの絞り込み処理や3Dマップとのマッチング処理を行うことも考えられる。
【0077】
また、上述した各実施形態並びに変形例では、本実施形態では、屋内の所定の領域を示す3Dマップは、その領域を複数に分割した各エリアに対して作成したが、屋内の所定の領域の全体に対し単一の3Dマップを作成してもよい。この場合、単一の3Dマップ内の各位置に対しそれぞれ所定の特徴データを関連付け、特徴データ記憶部に記憶する。マップ絞り込み部は、取得した画像データ等に基づき生成した特徴データと、特徴データ記憶部に記憶された特徴データとに基づき、形状のマッチングを行うべき候補の地点を絞り込む。すなわち、単一の3Dマップ内の絞り込んだ地点に対応する3Dマップの部分を3Dマップの候補として選択する。そして、マップマッチング部は、候補となった単一の3Dマップ内の一部の3Dマップに対して形状のマッチングを行う。
【0078】
このようにすることで、単一の比較的広く類似する形状の3Dマップの要素を含む3Dマップの全体に対して形状のマッチングを行うと、検索できないような場合であっても、単一の3Dマップ内で絞り込んだ範囲で形状のマッチングを行うことができ、精度よく位置を特定することができる。
【0079】
この場合、単一の3Dマップは、上述した実施形態における複数の3Dマップの集合体ととらえてもよい。
【0080】
[カメラを搭載する装置]
上述した実施形態では、端末装置10は、主にスマートフォンを用いた例を説明したが、実施例で例示列挙したスマートグラスなど、カメラを備えた端末とするとよい。また、端末は、スマートフォンやスマートグラスのように人が持ち歩くものに限ることはなく、自ら移動する移動体としてもよい。移動体は、自動車やドローンといったモビリティや、ロボット等から構成するとよい。ドローンやロボットなどの移動体へ適用は、例えば、複数階の建物内で、今何階にいるか、そのフロアのどこにいるかなどを認識し、自動走行などに利用できるとよい。また自動車の場合、例えば地下駐車場などにおいて現在位置を認識し自動走行に利用できる。
【0081】
端末は、表示部分を備えていることは必須ではなく、単に撮影機器を備えるものでもよい。
【0082】
また、位置特定システムは、現在リアルタイムで撮影して取得した画像に基づいて現在の位置を特定するものに限ることはない。例えば、位置特定システムは、すでに撮影されている画像を用いて一連の処理を行い、処理対象の画像が撮影された位置の推定を行うものに適用してもよい。
【0083】
以上、本発明の様々な側面を実施形態並びに変形例を用いて説明してきたが、これらの実施形態や説明は、本発明の範囲を制限する目的でなされたものではなく、本発明の理解に資するために提供されたものであることを付言しておく。本発明の範囲は、明細書に明示的に説明された構成や製法に限定されるものではなく、本明細書に開示される本発明の様々な側面の組み合わせをも、その範囲に含むものである。本発明のうち、特許を受けようとする構成を、添付の特許請求の範囲に特定したが、現在の処は特許請求の範囲に特定されていない構成であっても、本明細書に開示される構成を、将来的に特許請求する可能性があることを、念のために申し述べる。
【符号の説明】
【0084】
1 :位置特定システム
2 :ネットワーク
10 :端末装置
11 :制御部
12 :カメラ
13 :入力部
14 :通信部
15 :表示部
16 :GPS受信部
20 :サーバ
21 :通信部
22 :制御部
23 :データベース
31 :第1クラウドシステム
32 :第2クラウドシステム
33 :ストレージ
34 :データベース
221 :マップマッチング部
222 :マップ絞り込み部
231 :3Dマップ記憶部
232 :特徴データ記憶部
【要約】
【課題】 屋内であっても、画像に基づく位置の特定を精度良く行うこと
【解決手段】 端末装置10が撮影した画像を取得したサーバ20の制御部22が、端末装置の位置を特定するシステムである。サーバには、各エリアを示す多数の3Dマップと、その3Dマップに関連する特徴データを記憶するデータベース23を備える。特徴データは、3Dマップの画像及びそれに関連するテキスト情報をベクトル化したものや、3Dマップのコンテクスト情報等がある。制御部のマップ絞り込み部222は、取得した画像等をベクトル化し、データベースに記憶する特徴データとベクトル検索し、また、取得した画像と3Dマップのコンテクスト情報をLLMに与えて3Dマップの候補を絞り込む(似た形状についての3Dマップを排除)。マップマッチング部221は、絞り込まれた3Dマップ候補と形状のマッチングを採ることで精度良く位置や姿勢を特定できる。
【選択図】
図1