(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2022-05-17
(45)【発行日】2022-05-25
(54)【発明の名称】情報処理システム、及び、情報処理方法
(51)【国際特許分類】
G06T 7/70 20170101AFI20220518BHJP
【FI】
G06T7/70 Z
(21)【出願番号】P 2021153179
(22)【出願日】2021-09-21
【審査請求日】2021-09-21
【早期審査対象出願】
(73)【特許権者】
【識別番号】518144986
【氏名又は名称】シンメトリー・ディメンションズ・インク
【日本における営業所】東京都渋谷区代々木3-45-2西参道Kハウス4F
(74)【代理人】
【識別番号】110002000
【氏名又は名称】特許業務法人栄光特許事務所
(72)【発明者】
【氏名】ケラネン トンミ
(72)【発明者】
【氏名】瀬古 保次
(72)【発明者】
【氏名】沼倉 正吾
【審査官】間野 裕一
(56)【参考文献】
【文献】特開2015-228050(JP,A)
【文献】特開2020-42447(JP,A)
【文献】特開2018-14579(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
端末及びサーバを備える情報処理システムであって、
前記端末は、
GNSS信号に基づいて現実空間における前記端末の
第1の位置を測定し、
電子コンパスを用いて前記現実空間における前記端末の第1の姿勢を測定し、
LiDARを用いて前記現実空間を
3D点群データとして3Dスキャンし
、前記現実空間の3Dスキャンデータを生成し、
前記端末の
第1の位置
及び第1の姿勢の測定結果を含む端末位置姿勢情報と前記3Dスキャンデータとを前記サーバへ送信し、
前記サーバは、
前記端末から前記端末位置姿勢情報及び前記3Dスキャンデータを受信し、
前記現実空間を
3D点群データによって3Dモデル化したデータである空間モデルデータ
における、前記端末位置姿勢情報が示す前記端末の第1の位置を含み、かつ、前記端末位置姿勢情報が示す前記端末の第1の姿勢の方向に所定の距離だけ延びた領域を、部分空間モデルデータとして抽出し、
前記部分空間モデルデータから前記3Dスキャンデータとマッチングする部分を検出することにより、前記空間モデルデータ内における前記端末の
第2の位置
及び第2の姿勢を特定し、
前記空間モデルデータ内における前記端末の
第2の位置
及び第2の姿勢を示すモデル内端末位置姿勢情報を前記端末に送信する、
情報処理システム。
【請求項2】
前記第1の位置は、前記GNSS信号に基づいて測定された前記端末の緯度及び経度
であり、
前記第1の姿勢は、前記電子コンパスを用いて測定された前記端末の方位角及び仰俯角
であり、
前記第2の位置は、前記部分空間モデルデータと前記3Dスキャンデータとのマッチングによって特定された前記端末の経度、緯度及び高度
であり、
前記第2の姿勢は、前記部分空間モデルデータと前記3Dスキャンデータとのマッチングによって特定された前記端末の方位角及び仰俯角
である、
請求項
1に記載の情報処理システム。
【請求項3】
前記サーバは、
前記部分空間モデルデータに含まれる3D点群データの特徴点と、前記3Dスキャンデータに含まれる3D点群データの特徴点とのマッチングを行うことにより、前記空間モデルデータにおける前記端末の位置を特定する、
請求項
1又は2に記載の情報処理システム。
【請求項4】
前記サーバは、
前記部分空間モデルデータにおける、前記3Dスキャンデータの移動体を除くデータにマッチングする部分を特定することにより、前記空間モデルデータにおける前記端末の位置を特定する、
請求項1から
3のいずれか1項に記載の情報処理システム。
【請求項5】
前記端末は、
前記3Dスキャンと共通の方向を撮像する撮像部をさらに備え、
前記モデル内端末位置姿勢情報に基づいて、前記撮像部によって撮像された撮像画像に対する所定の仮想オブジェクト画像の重畳位置を特定し、
前記撮像画像の前記重畳位置に前記仮想オブジェクト画像を重畳した画像を所定の表示部に表示する、
請求項1から
4のいずれか1項に記載の情報処理システム。
【請求項6】
前記端末は、
前記3Dスキャンと共通の方向を透視可能な表示部を備え、
前記モデル内端末位置姿勢情報に基づいて、前記表示部における所定の仮想オブジェクト画像の表示位置を特定し、
前記表示部の前記表示位置に前記仮想オブジェクト画像を表示する、
請求項1から
5のいずれか1項に記載の情報処理システム。
【請求項7】
端末及びサーバによる情報処理方法であって、
前記端末は、
GNSS信号に基づいて現実空間における前記端末の
第1の位置を測定し、
電子コンパスを用いて前記現実空間における前記端末の第1の姿勢を測定し、
LiDARを用いて前記現実空間を
3D点群データとして3Dスキャンし
、前記現実空間の3Dスキャンデータを生成し、
前記端末の
第1の位置
及び第1の姿勢の測定結果を含む端末位置姿勢情報と前記3Dスキャンデータとを前記サーバへ送信し、
前記サーバは、
前記端末から前記端末位置姿勢情報及び前記3Dスキャンデータを受信し、
前記現実空間を
3D点群データによって3Dモデル化したデータである空間モデルデータ
における、前記端末位置姿勢情報が示す前記端末の第1の位置を含み、かつ、前記端末位置姿勢情報が示す前記端末の第1の姿勢の方向に所定の距離だけ延びた領域を、部分空間モデルデータとして抽出し、
前記部分空間モデルデータから前記3Dスキャンデータとマッチングする部分を特定することにより、前記空間モデルデータ内における前記端末の
第2の位置
及び第2の姿勢を特定し、
特定した前記空間モデルデータ内における前記端末の
第2の位置
及び第2の姿勢を示すモデル内端末位置姿勢情報を前記端末に送信する、
情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理システム、及び、情報処理方法に関する。
【背景技術】
【0002】
現実空間に仮想オブジェクトがあたかも存在しているかのようにユーザに視認させるAR(拡張現実:Augmented Reality)又はMR(複合現実:Mixed Reality)の技術が知られている。仮想オブジェクトを現実空間にずれなく視認させるためには、AR又はMRの体験をユーザに提供する端末の現実空間での位置及び姿勢を高精度に推定することが求められる。
【0003】
特許文献1には、次の端末が開示される。すなわち、端末は、周辺の実画像を撮影するカメラによって撮影された現在の実画像とサーバから取得した3D点群データとを基にし、それぞれの特徴点をマッチングすることにより当該端末の現実空間での位置を推定し、カメラによって撮影された設備の実画像上にサーバから取得した設備情報の3次元画像をAR技術を用いて重畳表示する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、端末が現実空間を撮像又はスキャンして得たデータと、現実空間を模したデータとのマッチングによって現実空間での端末の位置を推定する処理は、マッチング対象のデータ量が大きくなると、処理時間が長くなる傾向にある。
【0006】
本開示の目的は、端末が現実空間をスキャンして得たデータと現実空間を模したデータとのマッチングによって端末の位置を推定する処理にかかる時間を短縮することにある。
【課題を解決するための手段】
【0007】
本開示の一態様は、端末及びサーバを備える情報処理システムであって、前記端末は、現実空間における前記端末の位置を測定し、前記現実空間を3Dスキャンし、前記端末の位置の測定結果を含む端末位置姿勢情報と前記現実空間の3Dスキャンの結果を含む3Dスキャンデータとを前記サーバへ送信し、前記サーバは、前記端末から前記端末位置姿勢情報及び前記3Dスキャンデータを受信し、前記端末位置姿勢情報に基づいて、前記現実空間を3Dモデル化したデータである空間モデルデータの一部を部分空間モデルデータとして抽出し、前記部分空間モデルデータから前記3Dスキャンデータとマッチングする部分を検出することにより、前記空間モデルデータ内における前記端末の位置を特定し、前記空間モデルデータ内における前記端末の位置を示すモデル内端末位置姿勢情報を前記端末に送信する、情報処理システムを提供する。
【0008】
本開示の一態様は、端末及びサーバによる情報処理方法であって、前記端末は、現実空間における前記端末の位置を測定し、前記現実空間を3Dスキャンし、前記端末の位置の測定結果を含む端末位置姿勢情報と、前記現実空間の3Dスキャンの結果を含む3Dスキャンデータとを前記サーバへ送信し、前記サーバは、前記端末から前記端末位置姿勢情報及び前記3Dスキャンデータを受信し、前記端末位置姿勢情報に基づいて、前記現実空間を3Dモデル化したデータである空間モデルデータの一部を部分空間モデルデータとして抽出し、前記部分空間モデルデータから前記3Dスキャンデータとマッチングする部分を特定することにより、前記空間モデルデータ内における前記端末の位置を特定し、特定した前記空間モデルデータ内における前記端末の位置を示すモデル内端末位置姿勢情報を前記端末に送信する、情報処理方法を提供する。
【0009】
なお、これらの包括的又は具体的な態様は、システム、装置、方法、集積回路、コンピュータプログラム又は記録媒体で実現されてもよく、システム、装置、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【0010】
本開示によれば、端末が現実空間をスキャンして得たデータと現実空間を模したデータとのマッチングによって端末の位置を推定する処理にかかる時間を短縮することができる。
【図面の簡単な説明】
【0011】
【
図1】本実施の形態に係る情報処理システムの構成例を示すブロック図である。
【
図2】本実施の形態に係る空間モデルデータの一例を示す模式図である。
【
図3】本実施の形態に係る3D(three Dimensions)スキャンデータの一例を示す模式図である。
【
図4】本実施の形態に係る端末のハードウェア構成例を示すブロック図である。
【
図5】本実施の形態に係るサーバのハードウェア構成例を示すブロック図である。
【
図6】本実施の形態に係る情報処理システムの動作例を示すフローチャートである。
【
図7】部分空間モデル抽出処理の詳細例を示すフローチャートである。
【
図8】移動体除去処理の詳細例を示すフローチャートである。
【
図9】マッチング処理の詳細例を示すフローチャートである。
【
図10】モデル内端末位置姿勢算出処理の詳細例を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、図面を参照して、本開示の実施の形態について詳細に説明する。ただし、公知の事項又は重複する事項については説明を省略する場合がある。また、図面及び以下の記載は一例に過ぎず、特許請求の範囲の記載の主題を限定することは意図されていない。
【0013】
(本実施の形態)
<情報処理システムの構成>
図1は、本実施の形態に係る情報処理システムの構成例を示すブロック図である。
図2は、本実施の形態に係る空間モデルデータの一例を示す模式図である。
図3は、本実施の形態に係る3Dスキャンデータの一例を示す模式図である。
【0014】
本実施の形態に係る情報処理システム1は、端末100及びサーバ200を含んで構成される。サーバ200は、情報処理装置と読み替えられてもよい。端末100とサーバ200は、所定の通信ネットワーク3を介して、データを送受信できる。通信ネットワーク3の例として、移動体通信網(例えばLTE(Long Term Evolution)、4G、5G、Wi-Fi(登録商標)等)、又は、インターネット網等が挙げられる。端末100の例として、スマートフォン、タブレット端末、VR(仮想現実:Virtual Reality)装置、AR眼鏡等が挙げられる。
【0015】
情報処理システム1は、端末100が現実空間を3Dスキャンして3Dスキャンデータ120(
図3参照)を生成し、サーバ200がその3Dスキャンデータ120と空間モデルデータ220(
図2参照)とのマッチング処理を行って空間モデルデータ220内での端末100の位置、高度及び姿勢を算出することにより、現実空間における端末100の位置、高度及び姿勢を高精度に特定する。以下、このように高精度に特定された端末100の位置、高度及び姿勢を示す情報を、高精度端末位置姿勢情報122と称する。これにより、例えば、端末100は、現実空間の所定の位置にあたかも所定の仮想オブジェクトが存在するようにユーザに視認させる場合、高精度端末位置姿勢情報122を用いて、現実空間に対する仮想オブジェクトの位置合わせを精度良く行うことができる。
【0016】
3Dスキャンデータ120は、
図3に示すように、LiDAR(Light Detection And Ranging)又はステレオカメラ等によって現実空間を3Dスキャンして得られた3D点群データであってよい。
【0017】
空間モデルデータ220は、
図2に示すように、現実空間における物体を3Dモデル化したデータであってよい。現実空間は、屋外及び屋内の両方を含んでよい。屋外の現実空間において3Dモデル化される物体の例として、建造物、道路、地形、道路標識等が含まれる。屋内の現実空間において3Dモデル化される物体の例として、部屋の床、天井、壁、ドア、家具、調度品等が含まれる。空間モデルデータ220は、デジタルツインデータと読み替えられてもよい。空間モデルデータ220は、3D点群データであってもよいし、テクスチャマッピングされた3Dデータであってもよいし、他の3Dデータであってもよい。3D点群データは、物体表面の1点の3次元座標を示す3D点の集合体(つまり3D点群)として構成されるデータであってよい。
【0018】
空間モデルデータ220は、国土全体、地域全体、街全体、道路全体、又は、建物全体等を3Dモデル化したデータであってよく、データ量が非常に大きい。そのため、3Dスキャンデータ120と空間モデルデータ220とのマッチング処理にかかる時間は長くなる傾向にある。マッチング処理にかかる時間が長くなると、端末100において、現実空間に対して仮想オブジェクトをリアルタイムに重畳させることが難しくなる。そこで、本実施の形態では、3Dスキャンデータ120と空間モデルデータ220とのマッチング処理にかかる時間を短縮する方法について説明する。
【0019】
<端末の構成>
図4は、本実施の形態に係る端末100のハードウェア構成例を示すブロック図である。
【0020】
端末100は、位置計測部101、姿勢計測部102、3Dスキャン部103、撮像部104、入力部105、表示部106、メモリ107、ストレージ108、通信部109、及び、プロセッサ110を備える。
【0021】
位置計測部101は、GNSS(Global Navigation Satellite System)信号及び/又はRTK(Real Time Kinematic)信号等を受信し、現実空間における端末100の位置を計測する。端末100の位置は、経度及び緯度によって表現されてよい。
【0022】
姿勢計測部102は、電子コンパス、ジャイロセンサ、及び、加速センサ等の少なくとも1つによって、現実空間における端末100の姿勢を計測する。端末100の姿勢は、方位角及び仰俯角によって表現されてよい。本実施の形態では、現実空間において計測された端末100の位置及び姿勢を含む情報を、端末位置姿勢情報121と称する。
【0023】
3Dスキャン部103は、LiDAR又はステレオカメラ等によって構成される。3Dスキャン部103は、現実空間を3Dスキャンし、現実空間の3Dスキャンデータ120(
図3参照)を生成する。3Dスキャンデータ120は、3D点群データによって構成されてよい。
【0024】
撮像部104は、レンズ及びイメージセンサを含んで構成される。撮像部104は、カメラと読み替えられてもよい。撮像部104は、現実空間における端末100の姿勢の方向を撮像し、撮像画像を生成する。
【0025】
入力部105は、例えば、タッチパネル、ボタン、及び/又は、マイク等によって構成される。入力部105は、ユーザからの入力操作を受け付ける。
【0026】
表示部106は、例えば、ディスプレイ装置によって構成される。端末100がAR眼鏡の場合、ディスプレイ装置は、AR眼鏡をかけたユーザが現実空間を視認できる透明ディスプレイ装置であってよい、表示部106は、例えば、撮像画像及び仮想オブジェクト画像等を表示する。
【0027】
メモリ107は、揮発性記憶媒体及び/又は不揮発性記憶媒体を含んで構成される。メモリ107は、ROM(Read Only Memory)及びRAM(Random Access Memory)を含んで構成されてよい。メモリ107は、端末100が有する機能を実現するコンピュータプログラム及びデータが格納されてよい。
【0028】
ストレージ108は、不揮発性記憶媒体を含んで構成される。ストレージ108は、例えば、フラッシュメモリ、SSD(Solid State Drive)及びHDD(Hard Disk Drive)の少なくとも1つによって構成されてよい。ストレージ108は、端末100が有する機能を実現するコンピュータプログラム及びデータが格納されてよい。
【0029】
通信部109は、通信ネットワーク3を介するデータの送受信を制御する。通信部109は、通信インタフェース、通信回路、又は、通信モジュールといった他の用語に読み替えられてもよい。
【0030】
プロセッサ110は、各構成要素101~109と協働して、端末100が有する機能を実現する。例えば、プロセッサ110は、メモリ107又はストレージ108からコンピュータプログラムを読み出して実行することにより、端末100が有する機能を実現する。したがって、本実施の形態において、端末100を主体として説明される処理は、端末100のプロセッサ110を主体とする処理に読み替えられてよい。なお、プロセッサ110は、CPU(Central Processing Unit)、LSI(Large Scale Integrated Circuit)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、コントローラ、制御回路とった他の用語に読み替えられてもよい。
【0031】
<サーバの構成>
図5は、本実施の形態に係るサーバ200のハードウェア構成例を示すブロック図である。
【0032】
サーバ200は、入力部201、表示部202、メモリ203、ストレージ204、通信部205、及び、プロセッサ206を備える。
【0033】
入力部201は、例えば、キーボード、マウス、及び、マイク等によって構成される。入力部201は、サーバ200の管理者からの入力操作を受け付ける。
【0034】
表示部202は、例えばディスプレイ装置によって構成される。表示部202は、管理者向けに各種情報を表示する。
【0035】
メモリ203は、揮発性記憶媒体及び/又は不揮発性記憶媒体を含んで構成される。メモリは、ROM及びRAMを含んで構成されてよい。メモリ203は、サーバ200が有する機能を実現するコンピュータプログラム及びデータが格納されてよい。
【0036】
ストレージ204は、不揮発性記憶媒体を含んで構成される。ストレージ204は、例えば、フラッシュメモリ、SSD及びHDDの少なくとも1つによって構成されてよい。ストレージ204は、サーバ200が有する機能を実現するコンピュータプログラム及びデータが格納されてよい。
【0037】
通信部205は、通信ネットワーク3を介するデータの送受信を制御する。
【0038】
プロセッサ206は、各構成要素201~205と協働して、サーバ200が有する機能を実現する。例えば、プロセッサ206は、メモリ203又はストレージ204からコンピュータプログラムを読み出して実行することにより、サーバ200が有する機能を実現する。したがって、本実施の形態において、サーバ200を主体として説明される処理は、サーバ200のプロセッサ206を主体とする処理に読み替えられてよい。
【0039】
<情報処理システムの動作>
図6は、本実施の形態に係る情報処理システム1の動作例を示すフローチャートである。
【0040】
端末100は、位置計測部101によって現実空間における当該端末100の位置(経度及び緯度)を計測し、姿勢計測部102によって現実空間における当該端末100の姿勢(方位角及び仰俯角)を計測する(ステップS101)。
【0041】
端末100は、ステップS101で計測した端末100の位置及び姿勢を含む端末位置姿勢情報121を生成し、サーバ200へ送信する(ステップS102)。
【0042】
サーバ200は、端末100から端末位置姿勢情報121を受信する(ステップS103)。
【0043】
サーバ200は、端末位置姿勢情報121に基づいて空間モデルデータ220に抽出領域230を設定し、その抽出領域230(
図2参照)から部分空間モデルデータ221を抽出する(ステップS104)。このステップS104の処理を部分空間モデル抽出処理と称する。なお、部分空間モデル抽出処理の詳細については後述する。
【0044】
また、端末100は、撮像部104によって現実空間の当該端末100の姿勢の方向を撮像し、撮像画像を生成する(ステップS105)。
【0045】
端末100は、3Dスキャン部103によって現実空間の当該端末100の姿勢の方向を3Dスキャンし、3Dスキャンデータ120(3D点群データ)を生成する(ステップS106)。
【0046】
端末100は、3Dスキャンデータ120をサーバ200へ送信する(ステップS107)。
【0047】
サーバ200は、端末100から3Dスキャンデータ120を受信する(ステップS108)。
【0048】
サーバ200は、3Dスキャンデータ120から移動体240を除去し、移動体240を除去した3Dスキャンデータ120(以下、移動体除去後の3Dスキャンデータと称する)を生成する(ステップS109)。このステップS109の処理を移動体除去処理と称する。なお、移動体除去処理の詳細については後述する。
【0049】
サーバ200は、部分空間モデルデータ221から移動体除去後の3Dスキャンデータ120にマッチングする部分(以下、マッチング部分と称する)を検出する(ステップS110)。このステップS110の処理をマッチング処理と称する。なお、マッチング処理の詳細については後述する。
【0050】
サーバ200は、検出したマッチング部分に基づいて、空間モデルデータ220内での端末100の位置、高度及び姿勢を特定する(ステップS111)。このステップS111の処理をモデル内端末位置姿勢算出処理と称する。なお、モデル内端末位置姿勢算出処理の詳細については後述する。
【0051】
サーバ200は、ステップS111で特定した空間モデルデータ220内での端末100の位置、高度及び姿勢を含むモデル内端末位置姿勢情報222を生成し、端末100へ送信する(ステップS112)。
【0052】
端末100は、サーバ200からモデル内端末位置姿勢情報222を受信する(ステップS113)。
【0053】
端末100は、モデル内端末位置姿勢情報222に基づいて、現実空間における高精度な端末100の位置、高度及び姿勢を特定する(ステップS114)。つまり、端末100は、現実空間における高精度な端末100の位置、高度及び姿勢を示す情報を含む高精度端末位置姿勢情報122を生成する。
【0054】
端末100は、高精度端末位置姿勢情報122に基づいて、撮像画像に対する仮想オブジェクト画像の重畳位置を特定し、その特定した重畳位置に仮想オブジェクト画像を重畳して表示部に表示する(ステップS115)。
【0055】
これにより、端末100は、現実空間を撮像した撮像画像の所定の位置にあたかも仮想オブジェクトが存在しているような画像を、表示部106に表示することができる。また、高精度端末位置姿勢情報122を用いて仮想オブジェクト画像の重畳位置を特定しているため、ステップS101での計測精度が不十分な場合であっても、端末100は、現実空間に対する仮想オブジェクト画像の位置合わせを高精度に行うことができる。例えば、屋内のようにGNSS信号を精度良く受信できない場所であっても、端末100は、その屋内の空間モデルデータ220を用いて、仮想オブジェクト画像の位置合わせを高精度に行うことができる。
【0056】
なお、端末100がAR眼鏡である場合、端末100は、ステップS115として、次のステップS115aの処理を行ってよい。
【0057】
端末100は、高精度端末位置姿勢情報122に基づいて、表示部106を透視して見える現実空間に対する仮想オブジェクト画像の表示位置を特定し、表示部106の当該特定した表示位置に仮想オブジェクト画像を表示する(ステップS115a)。
【0058】
これにより、端末100は、AR眼鏡を装着しているユーザに対して、表示部106を透視して見えている現実空間の所定の位置にあたかも仮想オブジェクトが存在しているように視認させることができる。
【0059】
なお、
図6では、説明をわかり易くするために、端末100の処理及びサーバ200の処理を直列処理として示したが、端末100の処理及びサーバ200の処理の少なくとも一部は、並列処理であってもよい。例えば、端末100は、ステップS101及びステップS102の処理と、ステップS105の処理と、ステップS106の処理とを、並列に行ってもよい。この場合、サーバ200は、ステップS103及びステップS104の処理と、ステップS108~ステップS112の処理とを、並列に行ってもよい。
【0060】
<部分空間モデル抽出処理の詳細>
図7は、部分空間モデル抽出処理の詳細例を示すフローチャートである。次に、
図7を参照して、
図6に示すステップS104の部分空間モデル抽出処理について詳細に説明する。
【0061】
(ステップS201)サーバ200は、端末100から受信した端末位置姿勢情報121に基づいて、空間モデルデータ220に抽出領域230(
図2参照)を設定する。
【0062】
例えば、サーバ200は、空間モデルデータ220における端末位置姿勢情報121が示す端末100の位置(以下、モデル内端末位置131と称する)を特定し、その特定したモデル内端末位置131を含む所定サイズの抽出領域230を空間モデルデータ220に対して設定する。
【0063】
抽出領域230は水平に設定されてよい。その場合、抽出領域230の形状は、正方形、長方形、円形、又は、楕円形等であってよい。抽出領域230が正方形の場合において、抽出領域230の一辺の長さは100m程度であってよい。ただし、抽出領域230の一辺の長さは、どのような長さであってもよいし、抽出領域230が設定される空間モデルデータ220が屋外又は屋内の何れであるかによって変化してもよい。
【0064】
また、
図2に示すように、サーバ200は、モデル内端末位置131から端末位置姿勢情報121が示す端末100の方位角の方向(つまり端末100の前方。以下、モデル内端末の方位角方向と称する)の境界までの距離d1の方が、モデル内端末位置からモデル内端末の方位角方向と反対の方向(つまり端末100の後方)の境界までの距離d2よりも長くなるように、抽出領域230を設定してよい。端末100の前方を3Dスキャンするマッチング処理では、端末100の前方の空間モデルデータ220が主に使用され、端末100の後方の空間モデルデータ220はほぼ使用されないためである。これにより、サーバ200は、空間モデルデータ220における、主に端末100の前方に延びる抽出領域230から部分空間モデルデータ221を抽出できるので、例えば端末100を中心とする抽出領域230から部分空間モデルデータ221を抽出する場合と比較して、部分空間モデルデータ221のデータ量を抑制できる。
【0065】
(ステップS202)サーバ200は、ステップS201にて設定した抽出領域230に含まれる空間モデルデータ220を、部分空間モデルデータ221として抽出する。なお、サーバ200は、抽出領域230の高さ方向の空間モデルデータ220についてはすべて部分空間モデルデータ221として抽出してよい。あるいは、サーバ200は、抽出領域230の所定の高さまでの空間モデルデータ220を部分空間モデルデータ221として抽出してもよい。
【0066】
このように、サーバ200は、端末100から送信された端末位置姿勢情報121に基づいて、空間モデルデータ220から部分空間モデルデータ221を抽出し、ステップS110のマッチング処理において、その部分空間モデルデータ221を3Dスキャンデータ120のマッチング対象とする。これにより、空間モデルデータ200をそのまま3Dスキャンデータ120のマッチング対象とする場合と比較して、マッチング対象のデータ量が小さくなるので、サーバ200は、マッチング処理にかかる時間を短縮できる。よって、サーバ200は、端末100の位置を推定する処理にかかる時間を短縮できる。
【0067】
<移動体除去処理の詳細>
図8は、移動体除去処理の詳細例を示すフローチャートである。次に、
図8を参照して、
図6に示すステップS109の移動体除去処理について詳細に説明する。
【0068】
(ステップS301)サーバ200は、端末100から受信した3Dスキャンデータ120から移動体240のオブジェクトデータを除去し、移動体除去後の3Dスキャンデータ120を生成する。移動体240の例として、自動車、バイク、自転車、電車、歩行者、動物等が挙げられる。
【0069】
サーバ200は、例えば、次の(A1)、(A2)、又は、(A3)の何れかの方法によって、3Dスキャンデータ120から移動体240のオブジェクトデータを除去する。
【0070】
(A1)サーバ200は、様々な移動体240の3Dデータを予め保持しておく。そして、サーバ200は、移動体240の3Dデータとのパターンマッチングにより、3Dスキャンデータ120から移動体240と推定されるセグメントデータ(つまり、移動体240のオブジェクトデータ)を検出する。そして、サーバ200は、その検出した移動体240のオブジェクトデータを3Dスキャンデータ120から除去する。
【0071】
(A2)サーバ200は、3Dスキャンデータ120から移動体240のオブジェクトデータを検出する所定の移動体検出用AI(Artificial Intelligence)を予め保持しておく。そして、サーバ200は、移動体検出用AIを用いて、3Dスキャンデータ120から移動体のオブジェクトデータを検出する。そして、サーバ200は、その検出した移動体240のオブジェクトデータを3Dスキャンデータ120から除去する。移動体検出用AIは、機械学習、ニューラルネットワーク、又は、ディープラーニング等によって移動体240のオブジェクトデータの特徴等を予め学習させたものであってよい。
【0072】
(A3)サーバ200は、時刻t1に3Dスキャンされた第1の3Dスキャンデータ120と、時刻t2(>t1)に3Dスキャンされた第2の3Dスキャンデータ120とを取得する。そして、サーバ200は、第1の3Dスキャンデータ120から第2の3Dスキャンデータ120への変化に基づいて、移動体240のオブジェクトデータを検出する。典型的に、移動体240の時間変化量は大きく、建築物、道路、標識のような静止体の時間変化量は小さいため、上記の処理により、サーバ200は、移動体240のオブジェクトデータを検出できる。そして、サーバ200は、その検出した移動体240のオブジェクトデータを第1又は第2の3Dスキャンデータ120から除去する。
【0073】
典型的には、空間モデルデータ220は、移動体240を含まない。そのため、このように、3Dスキャンデータ120から移動体240のオブジェクトデータを除去しておくことにより、マッチング処理において、移動体除去後の3Dスキャンデータ120と部分空間モデルデータ221とのマッチング精度が向上すると共に、マッチングのロバスト性が向上する。
【0074】
なお、空間モデルデータ220が移動体240を含む場合、サーバ200は、当該移動体除去処理において、ステップS104にて抽出した部分空間モデルデータ221から移動体240を除去し、その移動体を除去した部分空間モデルデータ221を、ステップS110のマッチング処理に用いてもよい。
【0075】
<マッチング処理の詳細>
図9は、マッチング処理の詳細例を示すフローチャートである。次に、
図9を参照して、
図6に示すステップS110のマッチング処理について詳細に説明する。
【0076】
(ステップS401)サーバ200は、部分空間モデルデータ221の各特徴点の特徴量を算出する。なお、サーバ200は、部分空間モデルデータ221の各特徴点の特徴量を予め算出し、メモリ203又はストレージ204に保持しておいてもよい。
【0077】
(ステップS402)サーバ200は、移動体除去後の3Dスキャンデータ120の各特徴点の特徴量を算出する。
【0078】
(ステップS403)サーバ200は、移動体除去後の3Dスキャンデータ120の特徴点とマッチングする部分空間モデルデータ221の特徴点をマッチング部分として検出する。例えば、サーバ200は、移動体除去後の3Dスキャンデータ120の特徴点の特徴量と類似する特徴量を有する部分空間モデルデータ221の特徴点を検出することにより、マッチング部分の検出を行う。特徴量は、多元ベクトルにて表現されてよい。この場合、2つの特徴量が類似するとは、2つの多元ベクトルの内積が所定の閾値未満であること、あるいは、2つの多元ベクトルの各要素の差の絶対値が所定の閾値未満であることであってよい。
【0079】
このように、空間モデルデータ220全体よりもデータ量の小さな部分空間モデルデータ221と移動体除去後の3Dスキャンデータ120とをマッチングすることにより、空間モデルデータ220全体と移動体除去後の3Dスキャンデータ120とをマッチングする場合と比較して、マッチング処理に要する時間を短縮することができる。
【0080】
また、典型的には空間モデルデータ220は移動体を含まないので、移動体除去後の3Dスキャンデータ120と部分空間モデルデータ221とをマッチングすることにより、移動体除去を行わない3Dスキャンデータ120と部分空間モデルデータ221とをマッチングする場合と比較して、マッチングのミスが発生する確率が低下する。つまり、マッチングのロバスト性が向上する。
【0081】
なお、上記の移動体除去処理において、部分空間モデルデータ221から移動体240を除去した場合、サーバ200は、その移動体240を除去した部分空間モデルデータ221を用いてマッチング処理を行ってもよい。
【0082】
<モデル内端末位置姿勢算出処理の詳細>
図10は、モデル内端末位置姿勢算出処理の詳細例を示すフローチャートである。次に、
図10を参照して、
図6に示すステップS111のモデル内端末位置姿勢算出処理について詳細に説明する。
【0083】
(ステップS501)サーバ200は、空間モデルデータ220内に仮想的な端末130を配置して仮想的な3Dスキャンを行った場合に、空間モデルデータ220からマッチング処理にて検出されたマッチング部分を得ることができる空間モデルデータ220内における当該仮想的な端末130の位置、高度及び姿勢を算出する。
【0084】
これにより、サーバ200は、高精度な端末100の位置、高度及び姿勢を示す高精度端末位置姿勢情報122を生成することができる。
【0085】
<変形例>
サーバ200は、ステップS109において、3Dスキャンデータ120から移動体240を除去する処理に代えて、3Dスキャンデータ120から移動体240を検出し、その検出した移動体240に対して移動体情報を付与してもよい。この場合、サーバ200は、ステップS110において、3Dスキャンデータ120の移動体情報が付与されている部分をマッチング処理の対象外として、マッチング処理を行う。これによっても、上述同様、マッチングのロバスト性が向上する。
【0086】
また、上述においてサーバ200が行っている処理の少なくとも一部を端末100が行ってもよい。例えば、端末100は、ステップS109の移動体除去処理を行い、移動体除去後の3Dスキャンデータ120をサーバ200に送信してもよい。例えば、端末100は、部分空間モデルデータ221をサーバ200から受信し、その部分空間モデルデータ221を用いてステップS110のマッチング処理及びステップS111のモデル内端末位置姿勢算出処理を行ってもよい。
【0087】
(本開示のまとめ)
本開示は以下のように表現できる。
【0088】
<項目1>
本開示に係る情報処理システム1は、端末100及びサーバ200を備える。端末100は、現実空間における端末100の位置を測定し、現実空間を3Dスキャンし、端末100の位置の測定結果を含む端末位置姿勢情報121と現実空間の3Dスキャンの結果を含む3Dスキャンデータ120とをサーバ200へ送信する。サーバ200は、端末100から端末位置姿勢情報121及び3Dスキャンデータ120を受信し、端末位置姿勢情報121に基づいて、現実空間を3Dモデル化したデータである空間モデルデータ220の一部を部分空間モデルデータ221として抽出し、部分空間モデルデータ221から3Dスキャンデータとマッチングする部分を検出することにより、空間モデルデータ220内における端末100の位置を特定し、空間モデルデータ220内における端末100の位置を示すモデル内端末位置姿勢情報222を端末100に送信する。
このように、サーバ200は、端末100から送信された端末位置姿勢情報121に基づいて、空間モデルデータ200から部分空間モデルデータ221を抽出し、その部分空間モデルデータ221を3Dスキャンデータ120のマッチング対象とする。これにより、空間モデルデータ200をそのまま3Dスキャンデータ120のマッチング対象とする場合と比較して、マッチング対象のデータ量が小さくなるので、サーバ200は、マッチング処理にかかる時間を短縮できる。よって、サーバ200は、端末100の位置を推定する処理にかかる時間を短縮できる。
【0089】
<項目2>
項目1に記載の情報処理システム1において、端末100は、現実空間における端末100の姿勢を測定し、端末100の姿勢の測定結果を端末位置姿勢情報121に含めてよい。
これにより、サーバ200は、端末100から送信された端末位置姿勢情報121に基づいて、端末100の姿勢を認識できるので、端末100の姿勢に応じた部分空間モデルデータ221を抽出できる。
【0090】
<項目3>
項目2に記載の情報処理システム1において、サーバ200は、空間モデルデータ220における、端末位置姿勢情報121が示す端末100の位置を含み、かつ、端末位置姿勢情報121が示す端末100の姿勢の方向に延びる所定の領域から、部分空間モデルデータ221を抽出してよい。
これにより、サーバ200は、空間モデルデータ220における、主に端末100の前方に延びる領域から部分空間モデルデータ221を抽出できるので、端末100を中心とする領域から部分空間モデルデータ221を抽出する場合と比較して、部分空間モデルデータ221のデータ量を抑制できる。
【0091】
<項目4>
項目2又は3に記載の情報処理システム1において、端末位置姿勢情報121は、現実空間における端末100の位置を示す緯度及び経度と、端末100の姿勢を示す方位角及び仰俯角とを含み、モデル内端末位置姿勢情報222は、空間モデルデータ220内における端末100の位置を示す経度、緯度及び高度と、端末100の姿勢を示す方位角及び仰俯角とを含んでよい。
これにより、サーバ200は、端末100から送信された端末位置姿勢情報121に基づいて、現実空間における端末100が位置する経度及び緯度と、端末100が向いている方位角及び仰俯角とを認識できる。また、端末100は、サーバ200から送信されたモデル内端末位置姿勢情報222に基づいて、現実空間において端末100が位置する経度、緯度及び高度と、端末が向いている方位角及び仰俯角とを精度良く認識できる。
【0092】
<項目5>
項目1から4のいずれか1項に記載の情報処理システム1において、3Dスキャンデータ120、及び、空間モデルデータ220は、3D点群データによって構成されてよい。
これにより、サーバ200は、3D点群データ同士のマッチング処理により、部分空間モデルデータ221と3Dスキャンデータ120とのマッチングを行うことができる。
【0093】
<項目6>
項目5に記載の情報処理システム1において、サーバ200は、部分空間モデルデータ221に含まれる3D点群データの特徴点と、3Dスキャンデータ120に含まれる3D点群データの特徴点とのマッチングを行うことにより、空間モデルデータ220における端末100の位置を特定してよい。
これにより、サーバ200は、3D点群データの特徴点のマッチング処理により、空間モデルデータ220における端末100の位置を特定することができる。
【0094】
<項目7>
項目1から6のいずれか1項に記載の情報処理システム1において、サーバ200は、部分空間モデルデータ221における、3Dスキャンデータ120の移動体を除くデータにマッチングする部分を特定することにより、空間モデルデータ220における端末100の位置を特定してよい。
これにより、マッチング処理おける、移動体除去後の3Dスキャンデータ120と部分空間モデルデータ221とのマッチング精度が向上すると共に、マッチングのロバスト性が向上する。
【0095】
<項目8>
項目1から7のいずれか1項に記載の情報処理システム1において、端末100は、3Dスキャンと共通の方向を撮像する撮像部104をさらに備え、モデル内端末位置姿勢情報222に基づいて、撮像部104によって撮像された撮像画像に対する所定の仮想オブジェクト画像の重畳位置を特定し、撮像画像の当該重畳位置に仮想オブジェクト画像を重畳した画像を所定の表示部106に表示してよい。
これにより、端末100は、モデル内端末位置姿勢情報222に基づいて、仮想オブジェクト画像を精度良く撮像画像に重畳することができる。
【0096】
<項目9>
項目1から7のいずれか1項に記載の情報処理システム1において、端末100は、3Dスキャンと共通の方向を透視可能な表示部106を備え、モデル内端末位置姿勢情報222に基づいて、表示部106における所定の仮想オブジェクト画像の表示位置を特定し、表示部106の表示位置に仮想オブジェクト画像を表示してよい。
これにより、端末100は、モデル内端末位置姿勢情報222に基づいて、表示部106から透視して視認される現実空間に、仮想オブジェクト画像を精度良く重畳表示することができる。
【0097】
<項目10>
端末100及びサーバ200による情報処理方法は次の通りである。端末100は、現実空間における端末100の位置を測定し、現実空間を3Dスキャンし、端末100の位置の測定結果を含む端末位置姿勢情報121と、現実空間の3Dスキャンの結果を含む3Dスキャンデータ120とをサーバ200へ送信する。、サーバ200は、端末100から端末位置姿勢情報121及び3Dスキャンデータ120を受信し、端末位置姿勢情報121に基づいて、現実空間を3Dモデル化したデータである空間モデルデータ220の一部を部分空間モデルデータ221として抽出し、部分空間モデルデータ221から前記3Dスキャンデータとマッチングする部分を特定することにより、空間モデルデータ220内における端末100の位置を特定し、特定した空間モデルデータ220内における端末100の位置を示すモデル内端末位置姿勢情報222を端末100に送信する。
このように、サーバ200は、端末100から送信された端末位置姿勢情報121に基づいて、空間モデルデータ200から部分空間モデルデータ221を抽出し、その部分空間モデルデータ221を3Dスキャンデータ120のマッチング対象とする。これにより、空間モデルデータ200をそのまま3Dスキャンデータのマッチング対象とする場合と比較して、マッチング対象のデータ量が小さくなるので、サーバ200は、マッチング処理にかかる時間を短縮できる。よって、サーバ200は、端末100の位置を推定する処理にかかる時間を短縮できる。
【0098】
上述した実施の形態の各構成要素は、発明の趣旨を逸脱しない範囲において、変更、修正、置換、付加、削除、均等等が可能である。加えて、上述した実施の形態の各構成要素は、発明の趣旨を逸脱しない範囲において、任意に組み合わせが可能である。
【産業上の利用可能性】
【0099】
本開示の技術は、現実空間をスキャンして得たデータと現実空間を模したデータとのマッチングに有用であり、例えば、現実空間における端末の位置及び姿勢の高精度な特定に利用可能である。
【符号の説明】
【0100】
1 情報処理システム
3 通信ネットワーク
100 端末
101 位置計測部
102 姿勢計測部
103 3Dスキャン部
104 撮像部
105 入力部
106 表示部
107 メモリ
108 ストレージ
109 通信部
110 プロセッサ
120 3Dスキャンデータ
121 端末位置姿勢情報
122 高精度端末位置姿勢情報
131 モデル内端末位置
200 サーバ
201 入力部
202 表示部
203 メモリ
204 ストレージ
205 通信部
206 プロセッサ
220 空間モデルデータ
221 部分空間モデルデータ
222 モデル内端末位置姿勢情報
230 抽出領域
240 移動体
【要約】
【課題】端末が現実空間をスキャンして得たデータと現実空間を模したデータとのマッチングによって端末の位置を推定する処理にかかる時間を短縮する。
【解決手段】情報処理システムにおいて、端末は、現実空間における端末の位置を測定し、現実空間を3Dスキャンし、端末の位置の測定結果を含む端末位置姿勢情報と現実空間の3Dスキャンの結果を含む3Dスキャンデータとをサーバへ送信し、サーバは、端末から端末位置姿勢情報及び前記3Dスキャンデータを受信し、端末位置姿勢情報に基づいて、現実空間を3Dモデル化したデータである空間モデルデータの一部を部分空間モデルデータとして抽出し、部分空間モデルデータから3Dスキャンデータとマッチングする部分を検出することにより、空間モデルデータ内における端末の位置を特定し、空間モデルデータ内における端末の位置を示すモデル内端末位置姿勢情報を端末に送信する。
【選択図】
図1