(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-07-09
(45)【発行日】2025-07-17
(54)【発明の名称】端末装置、情報処理システム、情報処理方法、および、コンピュータプログラム
(51)【国際特許分類】
G06T 7/70 20170101AFI20250710BHJP
G06T 7/20 20170101ALI20250710BHJP
【FI】
G06T7/70 Z
G06T7/20 100
(21)【出願番号】P 2021040937
(22)【出願日】2021-03-15
【審査請求日】2024-02-29
(73)【特許権者】
【識別番号】504139662
【氏名又は名称】国立大学法人東海国立大学機構
(74)【代理人】
【識別番号】110001911
【氏名又は名称】弁理士法人アルファ国際特許事務所
(72)【発明者】
【氏名】石黒 祥生
【審査官】長谷川 素直
(56)【参考文献】
【文献】特開2021-039586(JP,A)
【文献】特開2020-129272(JP,A)
【文献】特開2001-116564(JP,A)
【文献】国際公開第2019/234936(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
H04N 7/18
H04N 23/60
G08G 1/00
(57)【特許請求の範囲】
【請求項1】
ユーザに保持されて前記ユーザと共に移動する端末装置であって、
撮像部と、
3次元絶対位置を示す情報が付与された点群から構成された3次元点群地図上における自己の位置および姿勢を特定しつつ移動する移動体であって、マーカとして機能するマーカ部を有する前記移動体について、前記3次元点群地図上における前記マーカ部の位置および姿勢を示すマーカ位置姿勢情報を取得するマーカ情報取得部と、
前記マーカ部が撮像された画像と、前記マーカ部に対する
前記撮像部の相対位置および相対姿勢と、を対応付ける画像対応情報を取得する画像対応情報取得部と、
前記撮像部により撮像された前記マーカ部の画像と前記画像対応情報とに基づき、前記マーカ部に対する前記端末装置の相対位置および相対姿勢を示す相対関係情報を特定する相対関係特定部と、
前記マーカ位置姿勢情報と前記相対関係情報とに基づき、前記3次元点群地図上における前記端末装置の位置および姿勢を推定する端末位置姿勢推定部と、
を備える、端末装置。
【請求項2】
請求項1に記載の端末装置であって、さらに、
前記端末装置の位置および姿勢が推定された時点からの前記端末装置の位置および姿勢の変化を追跡するトラッキング部と、
前記変化に基づき、前記端末装置の位置および姿勢の推定結果を更新する推定結果更新部と、
を備える、端末装置。
【請求項3】
請求項2に記載の端末装置であって、
前記トラッキング部は、前記撮像部により撮像された画像を用いて、前記端末装置の位置および姿勢の変化を追跡する、端末装置。
【請求項4】
請求項1から請求項3までのいずれか一項に記載の端末装置であって、さらに、
表示部と、
前記端末装置の位置および姿勢の推定結果に応じて変化する仮想画像を、前記撮像部により撮像された現実画像に重畳して、前記表示部に表示させる拡張現実処理部と、
を備える、端末装置。
【請求項5】
請求項1から請求項4までのいずれか一項に記載の端末装置と、
前記移動体と、
を備え、
前記端末装置は、さらに、前記端末装置の位置および姿勢の推定結果を、直接または他の装置を介して、前記移動体に送信する推定結果送信部を備え、
前記移動体は、前記端末装置の位置および姿勢の推定結果を用いて、特定の処理を実行する特定処理実行部を備える、情報処理システム。
【請求項6】
請求項5に記載の情報処理システムであって、
前記特定の処理は、前記端末装置に近接するハザードの存在を前記端末装置に通知するハザード通知処理を含む、情報処理システム。
【請求項7】
請求項5または請求項6に記載の情報処理システムであって、
前記移動体は、センサによる周辺検知情報と前記3次元点群地図とを用いて自律移動する自律移動体である、情報処理システム。
【請求項8】
請求項5から請求項7までのいずれか一項に記載の情報処理システムであって、さらに、
サーバ装置を備え、
前記移動体は、前記マーカ位置姿勢情報を前記サーバ装置に送信し、
前記端末装置の前記マーカ情報取得部は、前記サーバ装置を介して、前記マーカ位置姿勢情報を取得する、情報処理システム。
【請求項9】
撮像部を有し、ユーザに保持されて前記ユーザと共に移動する端末装置の位置および姿勢を推定するための情報処理方法であって、
3次元絶対位置を示す情報が付与された点群から構成された3次元点群地図上における自己の位置および姿勢を特定しつつ移動する移動体であって、マーカとして機能するマーカ部を有する前記移動体について、前記3次元点群地図上における前記マーカ部の位置および姿勢を示すマーカ位置姿勢情報を取得する工程と、
前記マーカ部が撮像された画像と、前記マーカ部に対する
前記撮像部の相対位置および相対姿勢と、を対応付ける画像対応情報を取得する工程と、
前記撮像部により撮像された前記マーカ部の画像と前記画像対応情報とに基づき、前記マーカ部に対する前記端末装置の相対位置および相対姿勢を示す相対関係情報を特定する工程と、
前記マーカ位置姿勢情報と前記相対関係情報とに基づき、前記3次元点群地図上における前記端末装置の位置および姿勢を推定する工程と、
を備える、情報処理方法。
【請求項10】
撮像部を有し、ユーザに保持されて前記ユーザと共に移動する端末装置の位置および姿勢を推定するためのコンピュータプログラムであって、
前記端末装置に、
3次元絶対位置を示す情報が付与された点群から構成された3次元点群地図上における自己の位置および姿勢を特定しつつ移動する移動体であって、マーカとして機能するマーカ部を有する前記移動体について、前記3次元点群地図上における前記マーカ部の位置および姿勢を示すマーカ位置姿勢情報を取得する処理と、
前記マーカ部が撮像された画像と、前記マーカ部に対する
前記撮像部の相対位置および相対姿勢と、を対応付ける画像対応情報を取得する処理と、
前記撮像部により撮像された前記マーカ部の画像と前記画像対応情報とに基づき、前記マーカ部に対する前記端末装置の相対位置および相対姿勢を示す相対関係情報を特定する処理と、
前記マーカ位置姿勢情報と前記相対関係情報とに基づき、前記3次元点群地図上における前記端末装置の位置および姿勢を推定する処理と、
を実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書に開示される技術は、端末装置、情報処理システム、情報処理方法、および、コンピュータプログラムに関する。
【背景技術】
【0002】
近年、人間が知覚する現実環境をコンピュータにより拡張する拡張現実(Augmented Reality、AR)の技術が普及しつつある。例えば、ユーザに保持されてユーザと共に移動する端末装置(スマートフォン等)において、撮像部により生成された現実環境の画像に仮想画像(コンピュータグラフィックス)を重畳させて表示部に表示するAR型情報提示が、例えば歩行ナビゲーション、観光案内、保守点検のガイド、位置ゲーム等の形態で利用されている。
【0003】
AR型情報提示では、端末装置の位置および姿勢に基づき、端末装置の撮像部が何処をどの距離および角度から見ているかの情報が特定され、該情報に基づき、表示部に表示する仮想画像の種類、大きさ、位置等が決定される。そのため、AR型情報提示において、現実環境にマッチした仮想画像の表示を行うためには、端末装置(より詳細には端末装置の撮像部、以下同様)の位置および姿勢を高精度に推定することが求められる。
【0004】
従来、GPS、GLONASS、Galileo、QZSS等のGNSS(Global Navigation Satelite System、全球測位衛星システム)からの信号を端末装置によって受信することにより、端末装置の位置および姿勢を推定する方法が知られている。また、現実環境における位置および姿勢が既知のマーカを設置し、端末装置の撮像部によりマーカを撮像することによってマーカに対する端末装置の相対的な位置および姿勢の情報を特定し、該情報に基づき、現実環境における端末装置の位置および姿勢を推定する方法が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
GNSSを利用して端末装置の位置および姿勢を推定する方法では、推定誤差が比較的大きい上に(例えば、誤差数m程度)、屋内では信号を良好に受信することができないために屋内での利用が困難であるという課題がある。また、マーカを利用して端末装置の位置および姿勢を推定する方法では、位置および姿勢が既知であるマーカを事前に大量に設置する必要がある、という課題がある。
【0007】
なお、端末装置に、自律走行移動体による自己位置姿勢推定に用いられるセンサ(例えば、LiDAR)および3次元点群地図データベースを搭載し、それらを用いて端末装置の位置および姿勢を推定することも可能である。しかしながら、ユーザに保持されてユーザと共に移動する端末装置にそのようなセンサやデータベースを搭載すると、端末装置が大型化・重量化したり、端末装置の記憶容量が不足したりする、という課題がある。
【0008】
このように、従来は、端末装置の大型化・重量化や記憶容量の不足を抑制しつつ、また、マーカを事前に大量に設置することを要することなく、屋内外において高い精度で端末装置の位置および姿勢を推定することが困難である、という課題がある。
【0009】
なお、このような課題は、AR型情報提示のための端末装置の位置および姿勢の推定に限らず、他の用途のための端末装置の位置および姿勢の推定にも共通の課題である。
【0010】
本明細書では、上述した課題を解決することが可能な技術を開示する。
【課題を解決するための手段】
【0011】
本明細書に開示される技術は、例えば、以下の形態として実現することが可能である。
【0012】
(1)本明細書に開示される端末装置は、ユーザに保持されて前記ユーザと共に移動する装置である。端末装置は、撮像部と、マーカ情報取得部と、画像対応情報取得部と、相対関係特定部と、端末位置姿勢推定部とを備える。マーカ情報取得部は、3次元絶対位置を示す情報が付与された点群から構成された3次元点群地図上における自己の位置および姿勢を特定しつつ移動する移動体であって、マーカとして機能するマーカ部を有する前記移動体について、前記3次元点群地図上における前記マーカ部の位置および姿勢を示すマーカ位置姿勢情報を取得する。画像対応情報取得部は、前記マーカ部が撮像された画像と、前記マーカ部に対する相対位置および相対姿勢と、を対応付ける画像対応情報を取得する。相対関係特定部は、前記撮像部により撮像された前記マーカ部の画像と前記画像対応情報とに基づき、前記マーカ部に対する前記端末装置の相対位置および相対姿勢を示す相対関係情報を特定する。端末位置姿勢推定部は、前記マーカ位置姿勢情報と前記相対関係情報とに基づき、前記3次元点群地図上における前記端末装置の位置および姿勢を推定する。
【0013】
このように、本端末装置では、3次元点群地図上における移動体のマーカ部の位置および姿勢を示すマーカ位置姿勢情報と、マーカ部に対する端末装置の相対位置および相対姿勢を示す相対関係情報とに基づき、3次元点群地図上における端末装置の位置および姿勢を推定することができる。そのため、本端末装置によれば、移動体のマーカ部が撮像部によって撮像可能な位置であれば屋内外を問わずシームレスに、また、位置および姿勢が既知であるマーカを事前に大量に設置する必要もなく、さらに、端末装置に撮像部以外のセンサ(例えば、LiDAR)や3次元点群地図データベースを搭載することなく、高い精度で端末装置の位置および姿勢を推定することができる。
【0014】
(2)上記端末装置において、さらに、前記端末装置の位置および姿勢が推定された時点からの前記端末装置の位置および姿勢の変化を追跡するトラッキング部と、前記変化に基づき、前記端末装置の位置および姿勢の推定結果を更新する推定結果更新部と、を備える構成としてもよい。本端末装置によれば、一旦、マーカ位置姿勢情報と相対関係情報とに基づき3次元点群地図上における端末装置の位置および姿勢(初期位置および初期姿勢)を推定した後は、移動体のマーカ部が撮像部によって撮像可能であるか否かにかかわらず、端末装置単独で、端末装置の位置および姿勢の推定結果を更新することができる。このとき、初期位置および初期姿勢の推定精度が高いため、その後の更新によっても、端末装置の位置および姿勢の推定精度は一定以上に保たれる。従って、本端末装置によれば、移動体とは独立して移動する端末装置について、継続的に、高い精度で端末装置の位置および姿勢を推定することができる。
【0015】
(3)上記端末装置において、前記トラッキング部は、前記撮像部により撮像された画像を用いて、前記端末装置の位置および姿勢の変化を追跡する構成としてもよい。本端末装置によれば、撮像部以外のセンサを必要とすることなく、継続的に、高い精度で端末装置の位置および姿勢を推定することができる。
【0016】
(4)上記端末装置において、さらに、表示部と、前記端末装置の位置および姿勢の推定結果に応じて変化する仮想画像を、前記撮像部により撮像された現実画像に重畳して、前記表示部に表示させる拡張現実処理部と、を備える構成としてもよい。本端末装置によれば、高い精度で推定された端末装置の位置および姿勢に基づき、仮想画像を表示させることができ、高精度なAR型情報提示を実現することができる。
【0017】
(5)本明細書に開示される情報処理システムは、上記端末装置と、前記移動体と、を備える。前記端末装置は、さらに、前記端末装置の位置および姿勢の推定結果を、直接または他の装置を介して、前記移動体に送信する推定結果送信部を備え、前記移動体は、前記端末装置の位置および姿勢の推定結果を用いて、特定の処理を実行する特定処理実行部を備える構成としてもよい。本情報処理システムによれば、高い精度で推定された3次元点群地図上における端末装置の位置および姿勢を利用して、特定の処理を実行することができ、該特定の処理の精度を向上させることができる。
【0018】
(6)上記情報処理システムにおいて、前記特定の処理は、前記端末装置に近接するハザードの存在を前記端末装置に通知するハザード通知処理を含む構成としてもよい。本情報処理システムによれば、高い精度で推定された3次元点群地図上における端末装置の位置および姿勢を利用して、移動体から端末装置へハザードの存在を通知することができ、高精度なハザード通知を実現することができる。
【0019】
(7)上記情報処理システムにおいて、前記移動体は、センサによる周辺検知情報と前記3次元点群地図とを用いて自律移動する自律移動体である構成としてもよい。本情報処理システムによれば、人間の運転操作を要さずにマーカ部を移動させることによって、広い範囲において、移動するマーカ部を利用した高い精度での端末装置の位置および姿勢の推定を実現することができる。
【0020】
(8)上記情報処理システムにおいて、さらに、サーバ装置を備え、前記移動体は、前記マーカ位置姿勢情報を前記サーバ装置に送信し、前記端末装置の前記マーカ情報取得部は、前記サーバ装置を介して、前記マーカ位置姿勢情報を取得する構成としてもよい。本情報処理システムによれば、移動体と直接的に通信ができない端末装置においても、移動体のマーカ部を利用した高い精度での端末装置の位置および姿勢の推定を実現することができる。
【0021】
なお、本明細書に開示される技術は、種々の形態で実現することが可能であり、例えば、端末装置、情報処理システム、情報処理方法、それらの方法を実現するコンピュータプログラム、そのコンピュータプログラムを記録した一時的でない記録媒体等の形態で実現することができる。
【図面の簡単な説明】
【0022】
【
図1】第1実施形態における情報処理システム10の構成を概略的に示す説明図
【
図2】第1実施形態における端末装置100の構成を概略的に示すブロック図
【
図3】第1実施形態における自律移動体200の構成を概略的に示すブロック図
【
図4】第1実施形態におけるサーバ装置300の構成を概略的に示すブロック図
【
図5】第1実施形態の情報処理システム10において実行されるAR型情報提示処理の流れを示す説明図
【
図6】第1実施形態の情報処理システム10において実行されるAR型情報提示処理を概念的に示す説明図
【
図7】第1実施形態の情報処理システム10において実行されるAR型情報提示処理を概念的に示す説明図
【
図8】ユーザ座標系から世界座標系への変換方法を示す説明図
【
図9】第2実施形態における情報処理システム10aの構成を概略的に示す説明図
【
図10】第2実施形態における端末装置100aの構成を概略的に示すブロック図
【
図11】第2実施形態における自律移動体200aの構成を概略的に示すブロック図
【
図12】第2実施形態におけるサーバ装置300aの構成を概略的に示すブロック図
【
図13】第2実施形態の情報処理システム10aにおいて実行されるハザード通知処理の流れを示す説明図
【
図14】第2実施形態の情報処理システム10aにおいて実行されるハザード通知処理を概念的に示す説明図
【発明を実施するための形態】
【0023】
A.第1実施形態:
A-1.情報処理システム10の構成:
図1は、第1実施形態における情報処理システム10の構成を概略的に示す説明図である。本実施形態の情報処理システム10は、3次元点群地図上における端末装置100(より詳細には後述する撮像部154、以下同様)の位置および姿勢(向き)を高精度に推定し、推定された端末装置100の位置および姿勢に基づき、端末装置100においてAR型情報提示を実行するためのシステムである。本実施形態では、ショッピングモールの屋内および屋外において案内表示を行うAR型情報提示を例に挙げて説明する。
【0024】
情報処理システム10は、複数のユーザUのそれぞれが使用する端末装置100と、複数の自律移動体200と、サーバ装置300とを備える。情報処理システム10を構成する各装置は、通信ネットワークNETを介して互いに通信可能に接続されている。
【0025】
端末装置100は、ユーザUに保持されてユーザUと共に移動する装置であり、例えば、スマートフォンやタブレット型端末といったハンドヘルドデバイスや、頭部装着型画像表示装置(Head Mounted Display、HMD)等である。以下では、端末装置100として、スマートフォンを用いた例について説明する。
【0026】
図2は、第1実施形態における端末装置100の構成を概略的に示すブロック図である。端末装置100は、制御部110と、記憶部120と、表示部151と、操作入力部152と、音声出力部153と、撮像部154と、通信部155とを備える。これらの各部は、バス190を介して互いに通信可能に接続されている。
【0027】
端末装置100の表示部151は、例えば液晶ディスプレイや有機ELディスプレイ等により構成され、各種の画像や情報を表示する。操作入力部152は、例えばボタンやマイク等により構成され、ユーザUの操作や指示を受け付ける。なお、表示部151がタッチパネルを備えることにより、操作入力部152として機能するとしてもよい。音声出力部153は、例えばスピーカにより構成され、音声を出力(再生)する。撮像部154は、例えばカメラにより構成され、被写体を撮像して該被写体を表す静止画像や動画像を生成する。本実施形態では、撮像部154は、端末装置100における表示部151の表示面とは反対側の面(背面)にレンズが配置されたカメラ(背面カメラ)である。通信部155は、通信ネットワークNETを介して、所定の通信方式で他の装置との通信を行う通信インターフェースである。
【0028】
端末装置100の記憶部120は、例えばROMやRAM等により構成され、各種のプログラムやデータを記憶したり、各種のプログラムを実行する際の作業領域やデータの一時的な記憶領域として利用されたりする。例えば、記憶部120には、後述するAR型情報提示処理を行うための拡張現実処理プログラムCP11が格納されている。拡張現実処理プログラムCP11は、例えば、CD-ROMやDVD-ROM、USBメモリ等のコンピュータ読み取り可能な記録媒体(不図示)に格納された状態で提供され、あるいは外部装置から通信ネットワークNETを介してダウンロードされ、端末装置100にインストールすることにより記憶部120に格納される。
【0029】
また、記憶部120には、拡張現実処理プログラムCP11のインストールの際に、または、後述するAR型情報提示処理の際に、マーカ画像情報MIと、マーカ位置姿勢情報LIと、画像対応情報IIと、相対関係情報CIとが格納される。これらの情報の内容については、後述のAR型情報提示処理の説明に合わせて説明する。
【0030】
端末装置100の制御部110は、例えばCPU等により構成され、記憶部120から読み出したコンピュータプログラムを実行することにより、端末装置100の動作を制御する。例えば、制御部110は、記憶部120から拡張現実処理プログラムCP11を読み出して実行することにより、AR型情報提示処理を行う拡張現実処理部111として機能する。拡張現実処理部111は、端末位置姿勢推定部112を含み、端末位置姿勢推定部112は、マーカ情報取得部113と、画像対応情報取得部114と、相対関係特定部115と、トラッキング部116と、推定結果更新部117とを含む。これら各部の機能については、後述のAR型情報提示処理の説明に合わせて説明する。
【0031】
自律移動体200は、人による運転操作を必要とせずに自律的に走行する移動体である。自律移動体200は、例えば、自律走行車両や自律移動ロボットである。本実施形態では、自律移動体200として、ショッピングモール内で荷物を搬送する自律移動ロボットを用いた例について説明する。自律移動体200は、特許請求の範囲における移動体の一例である。
【0032】
図3は、第1実施形態における自律移動体200の構成を概略的に示すブロック図である。自律移動体200は、制御部210と、記憶部220と、センサ230と、駆動部250と、通信部255と、マーカ部260とを備える。
【0033】
自律移動体200のセンサ230は、例えば、LiDAR、RADAR、可視光カメラ、遠赤外線カメラ、超音波センサ等により構成され、自律移動体200の周辺環境(他の車両、歩行者、自転車、路面障害物、街路樹、道路の段差等)の状態(位置、姿勢、形状、移動速度等)や自律移動体200自身の状態を認識する。駆動部250は、例えば、モータ、エンジン、ステアリング、ブレーキ等により構成され、自律移動体200の走行動作(加速、操舵、制動等)を行う。通信部255は、通信ネットワークNETを介して、所定の通信方式で他の装置との通信を行う通信インターフェースである。また、マーカ部260は、マーカとして機能する部分である。本実施形態では、マーカ部260は、自律移動体200の側面に付された所定の平面画像である。
【0034】
自律移動体200の記憶部220は、例えばROMやRAM、ハードディスクドライブ(HDD)等により構成され、各種のプログラムやデータを記憶したり、各種のプログラムを実行する際の作業領域やデータの一時的な記憶領域として利用されたりする。例えば、記憶部220には、自律移動制御プログラムCP21と、位置姿勢情報提供プログラムCP22と、3次元点群地図データベースMDとが格納されている。3次元点群地図データベースMDには、道路や通路、街路樹、ガードレール、建物等についての3次元絶対位置(緯度、経度、高度)を示す情報が付与された点群から構成された高精度な3次元点群地図が含まれている。3次元点群地図データベースMDに含まれた3次元点群地図は、自律移動体200の移動可能範囲の全体をカバーしている。なお以下では、3次元点群地図の座標系を「世界座標系」ともいい、3次元点群地図上における位置および姿勢を「絶対位置」および「絶対姿勢」ともいう。
【0035】
自律移動体200の制御部210は、例えばCPU等により構成され、記憶部220から読み出したコンピュータプログラムを実行することにより、自律移動体200の動作を制御する。例えば、制御部210は、記憶部220から自律移動制御プログラムCP21を読み出して実行することにより、自律移動体200の自律的な走行を制御する自律移動制御部212として機能する。自律移動制御部212は、管理者から発せられた指令に基づき、移動経路を設定する。また、自律移動制御部212は、センサ230から出力される各種信号と3次元点群地図データベースMDに含まれる3次元点群地図とのマッチングを行うことによって、3次元点群地図上における自律移動体200(より詳細には、自律移動体200のセンサ230、以下同様)の位置(絶対位置)および姿勢(絶対姿勢)を推定する。さらに、自律移動制御部212は、センサ230から出力される各種信号に基づき、周辺環境の状態を検知・認識する。自律移動制御部212は、これらの情報に基づき駆動部250による走行動作を制御することにより、周辺物体との衝突を回避しつつ、設定された移動経路に沿って自律移動体200を走行させる。
【0036】
また、自律移動体200の制御部210は、記憶部220から位置姿勢情報提供プログラムCP22を読み出して実行することにより、位置姿勢情報提供部214として機能する。位置姿勢情報提供部214の機能については、後述のAR型情報提示処理の説明に合わせて説明する。
【0037】
サーバ装置300は、端末装置100および自律移動体200から情報を取得すると共に、端末装置100および自律移動体200に情報を提供するための装置である。
図4は、第1実施形態におけるサーバ装置300の構成を概略的に示すブロック図である。サーバ装置300は、制御部310と、記憶部320と、表示部351と、操作入力部352と、通信部355とを備える。これらの各部は、バス390を介して互いに通信可能に接続されている。
【0038】
サーバ装置300の表示部351は、例えば液晶ディスプレイや有機ELディスプレイ等により構成され、各種の画像や情報を表示する。操作入力部352は、例えばキーボードやマウス、ボタン、マイク等により構成され、管理者の操作や指示を受け付ける。通信部355は、通信ネットワークNETを介して、所定の通信方式で他の装置との通信を行う通信インターフェースである。
【0039】
サーバ装置300の記憶部320は、例えばROMやRAM、ハードディスクドライブ(HDD)等により構成され、各種のプログラムやデータを記憶したり、各種のプログラムを実行する際の作業領域やデータの一時的な記憶領域として利用されたりする。例えば、記憶部320には、後述するAR型情報提示処理を行うための拡張現実サーバプログラムCP31が格納されている。拡張現実サーバプログラムCP31は、例えば、CD-ROMやDVD-ROM、USBメモリ等のコンピュータ読み取り可能な記録媒体(不図示)に格納された状態で提供され、あるいは外部装置から通信ネットワークNETを介してダウンロードされ、サーバ装置300にインストールすることにより記憶部320に格納される。
【0040】
また、サーバ装置300の記憶部320には、拡張現実サーバプログラムCP31のインストールの際に、または、後述するAR型情報提示処理の際に、仮想画像データベースIDと、マーカ位置姿勢情報LIとが格納される。仮想画像データベースIDでは、後述するAR型情報提示処理において端末装置100に提供する複数の仮想画像が、端末装置100の位置および姿勢に対応付けて設定されている。本実施形態では、仮想画像は、ショッピングモール内の案内表示を行うための画像である(後述する
図6および
図7参照)。また、マーカ位置姿勢情報LIの内容については、後述するAR型情報提示処理の説明に合わせて説明する。
【0041】
サーバ装置300の制御部310は、例えばCPU等により構成され、記憶部320から読み出したコンピュータプログラムを実行することにより、サーバ装置300の動作を制御する。例えば、制御部310は、記憶部320から拡張現実サーバプログラムCP31を読み出して実行することにより、AR型情報提示処理を行う拡張現実サーバ処理部312として機能する。拡張現実サーバ処理部312は、位置姿勢サーバ処理部314を含む。これら各部の機能については、後述のAR型情報提示処理の説明に合わせて説明する。
【0042】
A-2.AR型情報提示処理:
次に、第1実施形態の情報処理システム10において実行されるAR型情報提示処理について説明する。本実施形態のAR型情報提示処理は、端末装置100において、撮像部154により撮像された現実環境の画像に仮想画像を重畳して表示部151に表示させる処理である。本実施形態では、ショッピングモールの屋内および屋外において案内表示を行うAR型情報提示を例に挙げて説明する。
【0043】
図5は、第1実施形態の情報処理システム10において実行されるAR型情報提示処理の流れを示す説明図である。また、
図6および
図7は、第1実施形態の情報処理システム10において実行されるAR型情報提示処理を概念的に示す説明図である。
図6には、ショッピングモールの屋外においてAR型情報提示がなされている場面が示されており、
図7には、ショッピングモールの屋内においてAR型情報提示がなされている場面が示されている。
【0044】
図5に示すように、処理が開始されると、自律移動体200は、ショッピングモールの屋外および屋内における自律移動を開始する(S210)。すなわち、自律移動体200の自律移動制御部212(
図3)が、3次元点群地図データベースMDに含まれる3次元点群地図上における自律移動体200の位置(絶対位置)および姿勢(絶対姿勢)を推定しつつ、自律移動体200を自律的に走行させる。なお、自律移動制御部212は、センサ230から出力される各種信号と3次元点群地図とのマッチングを行うことによって、3次元点群地図上における自律移動体200の位置および姿勢を推定しており、その推定精度は、例えば誤差数cm程度の非常に高い精度である。
【0045】
自律移動体200が自律移動を開始すると、自律移動体200の位置姿勢情報提供部214(
図3)は、3次元点群地図上におけるマーカ部260の位置および姿勢を示すマーカ位置姿勢情報LIを、サーバ装置300に向けて送信する(S220)。自律移動体200においては、自律移動制御部212が把握する自律移動体200(のセンサ230)の位置および姿勢と、マーカ部260の位置および姿勢との対応関係を示す情報が、予め記憶部220に格納されている。位置姿勢情報提供部214は、該対応関係を参照して、自律移動制御部212により把握された自律移動体200の位置および姿勢を、マーカ部260の位置および姿勢に変換することによってマーカ位置姿勢情報LIを生成し、該マーカ位置姿勢情報LIをサーバ装置300に送信する。マーカ位置姿勢情報LIは、自律移動体200を識別するための移動体IDと、位置および姿勢の推定時刻を示すタイムスタンプと、位置および姿勢を特定する情報とを含んでいる(
図4参照)。
【0046】
また、自律移動体200の位置姿勢情報提供部214は、自律移動体200の自律移動が終了されたか否かを判定し(S230)、自律移動体200の自律移動が終了されていないと判定された場合には(S230:NO)、再度、マーカ位置姿勢情報LIの送信処理(S220)を実行する。すなわち、位置姿勢情報提供部214は、自律移動体200による自律移動の実行中、周期的に(例えば、1Hz~100Hz程度で)、マーカ位置姿勢情報LIの送信処理(S220)を繰り返し実行する。本実施形態では、多数の自律移動体200が、ショッピングモールの屋内および屋外において、このような処理を実行している。自律移動体200の自律移動が終了されたと判定された場合には(S230:YES)、自律移動体200は動作を終了する。
【0047】
また、サーバ装置300の位置姿勢サーバ処理部314(
図4)は、S220において自律移動体200から送信されたマーカ位置姿勢情報LIを受信し、受信したマーカ位置姿勢情報LIを記憶部320に格納する(S310)。位置姿勢サーバ処理部314は、複数の自律移動体200から時々刻々と送信されてくるマーカ位置姿勢情報LIを、記憶部320に蓄積する。
【0048】
また、端末装置100のユーザUは、ショッピングモールの屋内外において、AR型情報提示のためのアプリケーションプログラム(拡張現実処理プログラムCP11)の実行を指示すると共に、近くの自律移動体200を探し、撮像部154が自律移動体200のマーカ部260の方向を向くように、端末装置100を構える(
図6および
図7参照)。ユーザUによるこのような動作を契機として、端末装置100の端末位置姿勢推定部112(
図2)は、撮像部154により生成された画像から、マーカ部260の画像を検出する(S110)。上述したように、制御部110の記憶部120には、マーカ画像情報MIが格納されている。マーカ画像情報MIは、マーカ部260として使用される画像を特定する情報である。端末位置姿勢推定部112は、マーカ画像情報MIを参照して、パターンマッチング等の公知の手法により、撮像画像からマーカ部260の画像の検出を行う。
図6に示す例では、ショッピングモール屋外のエントランス付近を移動する自律移動体200のマーカ部260が、ユーザUが保持する端末装置100の撮像部154により撮像され、表示部151に表示されている。また、
図7に示す例では、ショッピングモールの屋内を移動する自律移動体200のマーカ部260が、ユーザUが保持する端末装置100の撮像部154により撮像され、表示部151に表示されている。
【0049】
また、端末装置100の画像対応情報取得部114は、記憶部120から画像対応情報IIを取得し、端末装置100の相対関係特定部115は、撮像部154により撮像されたマーカ部260の画像と、画像対応情報IIとに基づき、マーカ部260に対する端末装置100(の撮像部154)の相対位置および相対姿勢を示す相対関係情報CIを特定する(S120)。
【0050】
より詳細には、画像対応情報IIは、マーカ部260が撮像された画像と、マーカ部260に対する相対位置および相対姿勢と、を対応付ける情報である。マーカ部260に対する端末装置100の撮像部154の相対位置および相対姿勢に応じて、撮像部154により撮像された画像におけるマーカ部260の表れ方は変化する。例えば、撮像部154とマーカ部260との間の距離が比較的近ければ、撮像画像においてマーカ部260は比較的大きく表れ、反対に、撮像部154とマーカ部260との間の距離が比較的遠ければ、撮像画像においてマーカ部260は比較的小さく表れる。また、撮像部154がマーカ部260に正対した状態と、撮像部154がマーカ部260に対して斜め方向に位置する状態とでは、撮像画像におけるマーカ部260の表れ方は異なる。画像対応情報IIは、このようなマーカ部260に対する端末装置100の撮像部154の相対位置および相対姿勢と、撮像画像におけるマーカ部260の表れ方と、を対応付ける情報である。そのため、相対関係特定部115は、マーカ部260の画像と画像対応情報IIとに基づき、マーカ部260に対する端末装置100(の撮像部154)の相対位置および相対姿勢を特定することができる。なお、本実施形態では、マーカ部260に対する端末装置100の相対位置および相対姿勢は、端末装置100によって用いられる座標系(以下、「ユーザ座標系」という。)におけるマーカ部260の位置および姿勢として表現される。特性された相対関係情報CIは、記憶部120に格納される。
【0051】
また、端末装置100のマーカ情報取得部113(
図1)は、サーバ装置300に対してマーカ位置姿勢情報LIを要求し、サーバ装置300からマーカ位置姿勢情報LIを取得する(S130)。本実施形態では、自律移動体200のマーカ部260に、自律移動体200を識別する情報(移動体ID)が含まれている。そのため、マーカ情報取得部113は、S120において相対位置および相対姿勢が特定された自律移動体200の移動体IDを指定し、かつ、相対位置および相対姿勢の特定時刻を指定して、サーバ装置300に対してマーカ位置姿勢情報LIを要求する。サーバ装置300の位置姿勢サーバ処理部314(
図4)は、端末装置100からの要求に含まれる移動体IDの指定および時刻の指定に対応するマーカ位置姿勢情報LIを選択し、端末装置100に向けて送信する(S320)。端末装置100により取得されたマーカ位置姿勢情報LIは、記憶部120に格納される。
【0052】
次に、端末装置100の端末位置姿勢推定部112(
図2)は、S130において取得されたマーカ位置姿勢情報LIと、S120において取得された相対関係情報CIとに基づき、3次元点群地図上における端末装置100(の撮像部154)の位置(絶対位置)および姿勢(絶対姿勢)を推定する(S140)。上述したように、マーカ位置姿勢情報LIは、3次元点群地図上におけるマーカ部260の位置(絶対位置)および姿勢(絶対姿勢)を示す情報であり、相対関係情報CIは、マーカ部260に対する端末装置100の相対位置および相対姿勢を示す情報である。そのため、端末位置姿勢推定部112は、両情報を用いて座標変換(ユーザ座標系から世界座標系への変換)を行うことにより、3次元点群地図上における端末装置100の位置および姿勢を推定することができる。このとき用いられる座標変換については、後に詳述する。以下では、S140における推定が実行された時点を「トラッキング開始点」といい、S140において推定された端末装置100の位置および姿勢を「初期位置」および「初期姿勢」という。
【0053】
その後、端末装置100のトラッキング部116(
図2)は、トラッキング開始点における初期位置および初期姿勢からの端末装置100の位置および姿勢の変化を追跡し、推定結果更新部117は、該変化に基づき、端末装置100の位置および姿勢の推定結果を更新する(S150)。トラッキング部116による端末装置100の位置および姿勢の変化の追跡(以下、「トラッキング」ともいう。)は、公知の手法により実現される。例えば、トラッキング部116は、移動体の自己位置推定と環境地図作成とを同時に行う技術であるSLAM(Simultaneous Localization and Mapping)の1つであるVisual-SLAMを利用して、端末装置100の位置および姿勢の変化を追跡する。すなわち、トラッキング部116は、撮像部154により撮像された画像に基づき、周辺環境の地図(ユーザ座標系の地図)を作成すると共に、撮像部154により撮像された画像における特徴量の推移に基づき、ユーザ座標系における端末装置100の移動量および姿勢変化量を推定し、該周辺環境地図上における撮像部154の位置および姿勢を追跡する。このように、トラッキング部116によるトラッキングは、自律移動体200のマーカ部260が撮像部154の撮像範囲に存在しなくても、継続的に実行することができる。また、推定結果更新部117は、該周辺環境地図上における撮像部154の位置および姿勢に対して座標変換(ユーザ座標系から世界座標系への変換)を行うことにより、3次元点群地図上における端末装置100の撮像部154の位置および姿勢の推定結果を更新する。
【0054】
ここで、ユーザ座標系から世界座標系への変換について説明する。
図8は、ユーザ座標系から世界座標系への変換方法を示す説明図である。上述したように、世界座標系は、3次元点群地図の座標系であり、ユーザ座標系は、端末装置100によって用いられる座標系である。また、以下では、自律移動体200の位置を原点とする座標系を「移動体座標系」といい、端末装置100の撮像部154の位置を原点とする座標系を「撮像部座標系」という。
【0055】
図8のA欄には、世界座標系(原点:O
w)における移動体座標系の原点O
V
Wの位置および移動体座標系の向きが示されており、
図8のB欄には、ユーザ座標系(原点:O
U)における撮像部座標系の原点O
C
Uの位置および撮像部座標系の向きと、移動体座標系の原点O
V
Uの位置および移動体座標系の向きとが示されており、
図8のC欄には、世界座標系におけるユーザ座標系の原点O
U
Wの位置およびユーザ座標系の向きと、撮像部座標系の原点O
C
Wの位置および撮像部座標系の向きと、移動体座標系の原点O
V
Wの位置および移動体座標系の向きとが示されている。ユーザ座標系の原点O
Uは、S140における推定が実行されたトラッキング開始点における撮像部154の位置である。そのため、トラッキング開始点においては、撮像部座標系はユーザ座標系に一致する。トラッキング開始点以降、端末装置100の撮像部154の位置および姿勢の変化(
図8において細い破線で示す)に伴い、撮像部座標系の原点位置および撮像部座標系の向きは、ユーザ座標系の原点の位置およびユーザ座標系の向きから変化する。
【0056】
下記の式(1)に示すように、ユーザ座標系の点の世界座標系への直線変換行列T
OU
wは、世界座標系の原点O
wから移動体座標系の原点O
V
WへのベクトルT
OV
Wから、世界座標系におけるユーザ座標系の原点O
U
Wから移動体座標系の原点O
V
WへのベクトルT
O
U
Vを引くことにより求めることができる。
【数1】
【0057】
また、下記の式(2)に示すように、ユーザ座標系の点の世界座標系への回転変換行列R
OU
wは、世界座標系の原点O
wから見た、移動体座標系の原点O
V
Wの回転量とユーザ座標系から見た移動体座標系の回転量の逆クオータニオンとのクオータニオン積により求めることができる。
【数2】
【0058】
これらの変換行列を用いることにより、トラッキング開始点において、端末位置姿勢推定部112は、3次元点群地図上における端末装置100の位置および姿勢を推定することができ(S140)、また、トラッキング開始点の後において、推定結果更新部117は、3次元点群地図上における端末装置100の位置および姿勢の推定結果を更新することができる(S150)。これにより、端末装置100は、トラッキング開始点以降において、3次元点群地図上における端末装置100の位置および姿勢(すなわち、世界座標系における絶対位置および絶対姿勢)を継続的に把握することができる。
【0059】
図5に示すように、トラッキング開始点以降、端末装置100の拡張現実処理部111(
図2)は、サーバ装置300に対して、3次元点群地図上における端末装置100の位置および姿勢に応じた仮想画像VIを要求し、サーバ装置300から仮想画像VIを取得する(S160)。すなわち、拡張現実処理部111は、3次元点群地図上における端末装置100の位置および姿勢を指定して、サーバ装置300に対して仮想画像VIを要求する。上述したように、サーバ装置300においては、複数の仮想画像VIが端末装置100の位置および姿勢に対応付けて設定された仮想画像データベースID(
図4)が構築されている。サーバ装置300の拡張現実サーバ処理部312は、仮想画像データベースIDから、端末装置100からの要求に含まれる端末装置100の位置および姿勢に対応する仮想画像VIを選択し、該仮想画像VIを端末装置100に向けて送信する(S330)。
【0060】
端末装置100の拡張現実処理部111は、S160において取得された仮想画像VIを、撮像部154により撮像された現実画像RIに重畳して、表示部151に表示させる(S170)。例えば、
図6に示す例では、ユーザUが保持する端末装置100の表示部151に、ショッピングモールのエントランス付近の外観を表す現実画像RIに重畳して、案内表示のための仮想画像VI(「Main Entrance(メインエントランス」、「Parking(駐車場)」、「Cafe(カフェ)」等)が表示されている。また、
図7に示す例では、ユーザUが保持する端末装置100の表示部151に、ショッピングモールの建物内を表す現実画像RIに重畳して、案内表示のための仮想画像VI(「Downstair(下階へ)」、「Ivent Space(イベントスペース)」、「Food Court(フードコート)」等)が表示されている。ユーザUは、表示部151に表示された仮想画像VIを参照することにより、ショッピングモール内の各施設の位置を把握することができる。
【0061】
トラッキング開始点以降、端末装置100の拡張現実処理部111(
図2)は、撮像部154により生成された画像からマーカ部260の画像が検出されたか否かを監視すると共に(S180)、AR型情報提示処理の終了指示があったか否かを監視する(S190)。マーカ部260の画像が検出されず(S180:NO)、かつ、終了指示もないと判定された場合には(S190:NO)、端末装置100は、上述したS150からS170の処理を繰り返し実行する。すなわち、ユーザUの移動や姿勢変化に伴い端末装置100の位置および姿勢は時々刻々と変化するため、端末装置100の位置および姿勢の推定結果が更新され(S150)、更新結果に応じて仮想画像VIの要求・取得処理(S160)が再度実行され、表示される仮想画像VIが更新される(S170)。これにより、ユーザUの移動や姿勢変化があっても、端末装置100の表示部151に、現実画像RIにマッチした適切な仮想画像VIが表示される。
【0062】
また、撮像部154による撮像画像においてマーカ部260の画像が検出されたと判定された場合には(S180:YES)、端末装置100は、上述したS120以降の処理を再度実行する。すなわち、マーカ部260の画像と画像対応情報IIとに基づき、マーカ部260に対する端末装置100の相対位置および相対姿勢が特定され(S120)、3次元点群地図上におけるマーカ部260の位置および姿勢を示すマーカ位置姿勢情報LIが取得され(S130)、3次元点群地図上における端末装置100の位置および姿勢が推定される(S140)。すなわち、端末装置100の初期位置および初期姿勢が更新される。トラッキング開始点の後の端末装置100によるトラッキングでは、端末装置100の位置および姿勢の推定誤差が蓄積されるおそれがあるが、端末装置100の初期位置および初期姿勢が更新されることによって該誤差が解消されるため、継続的な端末装置100の位置および姿勢の高精度な推定が実現される。なお、自律移動体200の自律移動が終了された後(S230:YES)であっても、自律移動の終了の直前にサーバ装置300に送信されたマーカ位置姿勢情報LIを利用することができるため、マーカ位置姿勢情報LIを用いた端末装置100の初期位置および初期姿勢の推定または更新は実行可能である。また、端末装置100がトラッキングに失敗したり、途中でトラッキングができなくなったりした場合に、サーバ装置300が、端末装置100の近くにいる自律移動体200の位置を提示したり、自律移動体200の経路を変更して端末装置100の近くに移動させたりしてもよい。その後、S150以降の処理(トラッキング等)が同様に実行される。
【0063】
端末装置100による上述のような処理の実行中、AR型情報提示処理の終了指示があったと判定された場合には(S190:YES)、端末装置100の拡張現実処理部111は、AR型情報提示処理を終了する。なお、同様に、サーバ装置300においても、AR型情報提示処理の終了指示があったと判定された場合には(S340:YES)、サーバ装置300の拡張現実サーバ処理部312は、AR型情報提示処理を終了する。
【0064】
A-3.第1実施形態の効果:
以上説明したように、第1実施形態の情報処理システム10を構成する端末装置100は、ユーザUに保持されてユーザUと共に移動する装置であり、撮像部154と、マーカ情報取得部113と、画像対応情報取得部114と、相対関係特定部115と、端末位置姿勢推定部112とを備える。マーカ情報取得部113は、3次元絶対位置を示す情報が付与された点群から構成された3次元点群地図上における自己の位置および姿勢を特定しつつ移動する自律移動体200であって、マーカとして機能するマーカ部260を有する自律移動体200について、3次元点群地図上におけるマーカ部260の位置および姿勢を示すマーカ位置姿勢情報LIを取得する。画像対応情報取得部114は、マーカ部260が撮像された画像と、マーカ部260に対する相対位置および相対姿勢と、を対応付ける画像対応情報IIを取得する。相対関係特定部115は、撮像部154により撮像されたマーカ部260の画像と画像対応情報IIとに基づき、マーカ部260に対する端末装置100の相対位置および相対姿勢を示す相対関係情報CIを特定する。端末位置姿勢推定部112は、マーカ位置姿勢情報LIと相対関係情報CIとに基づき、3次元点群地図上における端末装置100の位置および姿勢を推定する。
【0065】
このように、本実施形態の端末装置100では、3次元点群地図上における自律移動体200のマーカ部260の位置および姿勢を示すマーカ位置姿勢情報LIと、マーカ部260に対する端末装置100の相対位置および相対姿勢を示す相対関係情報CIとに基づき、3次元点群地図上における端末装置100の位置および姿勢を推定することができる。そのため、本実施形態の端末装置100によれば、自律移動体200のマーカ部260が撮像部154によって撮像可能な位置であれば屋内外を問わずシームレスに、また、位置および姿勢が既知であるマーカを事前に大量に設置する必要もなく、さらに、端末装置100に撮像部154以外のセンサ(例えば、LiDAR)や3次元点群地図データベースを搭載することなく、高い精度で端末装置100の位置および姿勢を推定することができる。
【0066】
また、本実施形態の端末装置100は、さらに、トラッキング部116と、推定結果更新部117とを備える。トラッキング部116は、端末装置100の位置および姿勢が推定された時点(トラッキング開始点)からの端末装置100の位置および姿勢の変化を追跡する。推定結果更新部117は、該変化に基づき、端末装置100の位置および姿勢の推定結果を更新する。そのため、本実施形態の端末装置100によれば、一旦、マーカ位置姿勢情報LIと相対関係情報CIとに基づき3次元点群地図上における端末装置100の位置および姿勢(初期位置および初期姿勢)を推定した後は、自律移動体200のマーカ部260が撮像部154によって撮像可能であるか否かにかかわらず、端末装置100単独で、端末装置100の位置および姿勢の推定結果を更新することができる。このとき、初期位置および初期姿勢の推定精度が高いため、その後の更新によっても、端末装置100の位置および姿勢の推定精度は一定以上に保たれる。従って、本実施形態の端末装置100によれば、自律移動体200とは独立して移動する端末装置100について、継続的に、高い精度で端末装置100の位置および姿勢を推定することができる。
【0067】
なお、本実施形態の端末装置100では、トラッキング部116は、撮像部154により撮像された画像を用いて、端末装置100の位置および姿勢の変化を追跡する。そのため、本実施形態の端末装置100では、撮像部154以外のセンサを必要とすることなく、継続的に、高い精度で端末装置100の位置および姿勢を推定することができる。
【0068】
また、本実施形態の端末装置100は、さらに、表示部151と、拡張現実処理部111とを備える。拡張現実処理部111は、端末装置100の位置および姿勢の推定結果に応じて変化する仮想画像VIを、撮像部154により撮像された現実画像RIに重畳して、表示部151に表示させる。そのため、本実施形態の端末装置100によれば、高い精度で推定された端末装置100の位置および姿勢に基づき、仮想画像VIを表示させることができ、高精度なAR型情報提示を実現することができる。
【0069】
また、本実施形態の情報処理システム10は、端末装置100と、自律移動体200とを備える。自律移動体200は、センサ230による周辺検知情報と3次元点群地図とを用いて自律移動する移動体である。そのため、本実施形態の情報処理システム10によれば、人間の運転操作を要さずにマーカ部260を移動させることによって、広い範囲において、移動するマーカ部260を利用した高い精度での端末装置100の位置および姿勢の推定を実現することができる。
【0070】
また、本実施形態の情報処理システム10は、さらに、サーバ装置300を備える。自律移動体200は、マーカ位置姿勢情報LIをサーバ装置300に送信し、端末装置100のマーカ情報取得部113は、サーバ装置300を介して、マーカ位置姿勢情報LIを取得する。そのため、本実施形態の情報処理システム10によれば、自律移動体200と直接的に通信ができない端末装置100においても、自律移動体200のマーカ部260を利用した高い精度での端末装置100の位置および姿勢の推定を実現することができる。
【0071】
B.第2実施形態:
図9は、第2実施形態における情報処理システム10aの構成を概略的に示す説明図であり、
図10は、第2実施形態における端末装置100aの構成を概略的に示すブロック図であり、
図11は、第2実施形態における自律移動体200aの構成を概略的に示すブロック図であり、
図12は、第2実施形態におけるサーバ装置300aの構成を概略的に示すブロック図である。以下では、第2実施形態の情報処理システム10a、端末装置100a、自律移動体200aおよびサーバ装置300aの構成や各装置による処理内容のうち、上述した第1実施形態と同一の構成および処理内容については、同一の符号を付すことによってその説明を適宜省略する。
【0072】
第2実施形態の情報処理システム10aは、第1実施形態の情報処理システム10と同様に、3次元点群地図上における端末装置100aの位置および姿勢を高精度に推定するシステムであるが、該推定された位置および姿勢を用いて、AR型情報提示を実行するのではなく、ハザード通知を実行するためのシステムである。本実施形態では、公道上の見通しの悪い交差点等において、端末装置100aに近接するハザードの存在を通知するハザード通知を例に挙げて説明する。
【0073】
図9に示すように、情報処理システム10aは、複数の端末装置100aと、複数の自律移動体200aと、サーバ装置300aとを備える。第2実施形態では、自律移動体200aは、乗員を乗せて公道上を自律的に走行する自律走行車両である。
【0074】
図10に示すように、第2実施形態における端末装置100aの記憶部120には、後述するハザード通知処理を行うためのハザード通知プログラムCP12が格納されている。端末装置100aの制御部110は、記憶部120からハザード通知プログラムCP12を読み出して実行することにより、後述するハザード通知処理を行うハザード通知部119として機能する。ハザード通知部119は、第1実施形態と同様の端末位置姿勢推定部112aを含んでいる。ただし、第2実施形態の端末位置姿勢推定部112aは、推定結果送信部118を含んでいる。また、端末装置100aの記憶部120には、後述するハザード通知処理の際に、ハザード情報HIが格納される。
【0075】
図11に示すように、第2実施形態における自律移動体200aの記憶部220には、後述するハザード通知処理を行うためのハザード通知プログラムCP23が格納されている。自律移動体200aの制御部210は、記憶部220からハザード通知プログラムCP23を読み出して実行することにより、後述するハザード通知処理を行うハザード通知部216として機能する。また、自律移動体200aの記憶部220には、後述するハザード通知処理の際に、端末位置姿勢情報TIが格納される。なお、ハザード通知処理は、特許請求の範囲における特定処理の一例であり、ハザード通知部216は、特許請求の範囲における特定処理実行部の一例である。
【0076】
図12に示すように、第2実施形態におけるサーバ装置300aの記憶部320には、後述するハザード通知処理を行うためのハザード通知サーバプログラムCP32が格納されている。サーバ装置300aの制御部310は、記憶部320からハザード通知サーバプログラムCP32を読み出して実行することにより、後述するハザード通知処理を行うハザード通知サーバ処理部318として機能する。ハザード通知サーバ処理部318は、第1実施形態と同様の位置姿勢サーバ処理部314を含む。また、サーバ装置300aの記憶部320には、後述するハザード通知処理の際に、端末位置姿勢情報TIと、ハザード情報HIとが格納される。
【0077】
次に、第2実施形態の情報処理システム10aにおいて実行されるハザード通知処理について説明する。本実施形態のハザード通知処理は、自律移動体200aが認識した端末装置100aに近接するハザードの存在を、端末装置100aに通知し、端末装置100aの音声出力部153により報知する処理である。本実施形態では、公道上の見通しの悪い交差点等において、端末装置100aに近接するハザードの存在を通知するハザード通知処理を例に挙げて説明する。
【0078】
図13は、第2実施形態の情報処理システム10aにおいて実行されるハザード通知処理の流れを示す説明図である。また、
図14は、第2実施形態の情報処理システム10aにおいて実行されるハザード通知処理を概念的に示す説明図である。
図14に示す例では、公道上の見通しの悪い交差点において、ユーザUが保持する端末装置100aの撮像部154の撮像範囲に自律移動体200aが走行している。また、ビルBuの陰には、ユーザUからは視認できないが、自律移動体200aのセンサ230からは認識可能なハザードHaとしての自転車が存在しており、該自転車がユーザUの前に飛び出そうとしている。
【0079】
図13に示すハザード通知処理において、自律移動体200aによるS210,S220の処理、サーバ装置300aによるS310,S320の処理、端末装置100aによるS110からS140の処理内容は、
図5に示す第1実施形態のAR型情報提示処理における各ステップの処理内容と同じである。これらの処理により、端末装置100aは、3次元点群地図上における端末装置100a(の撮像部154)の位置(初期位置)および姿勢(初期精度)を高精度に推定することができる。
【0080】
その後、端末装置100aの推定結果送信部118(
図10)は、3次元点群地図上における端末装置100aの位置および姿勢の推定結果を示す端末位置姿勢情報TIを、サーバ装置300aを介して、自律移動体200aに送信する。すなわち、推定結果送信部118は、端末位置姿勢情報TIをサーバ装置300aに向けて送信し(S142)、サーバ装置300aの位置姿勢サーバ処理部314(
図12)は、受信した端末位置姿勢情報TIを自律移動体200aに向けて送信し(S322)、自律移動体200aのハザード通知部216(
図11)は、端末位置姿勢情報TIを受信する(S222)。端末位置姿勢情報TIは、端末装置100aを識別するための端末IDと、位置および姿勢の推定時刻を示すタイムスタンプと、位置および姿勢を特定する情報とを含んでいる(
図12参照)。なお、本実施形態では、端末位置姿勢情報TIは、推定された端末装置100aの位置から所定の距離内に存在する(すなわち、端末装置100aの近くに存在する)自律移動体200aを対象として送信される。
【0081】
端末装置100aは、端末位置姿勢情報TIの送信後、第1実施形態と同様に、初期位置および初期姿勢からの端末装置100aの位置および姿勢の変化に基づき端末装置100aの位置および姿勢の推定結果を更新しつつ(S150)、ハザード情報HIが受信されたか否かを判定する(S152)。
【0082】
端末位置姿勢情報TIを受信した自律移動体200aのハザード通知部216(
図11)は、端末位置姿勢情報TIに基づき、3次元点群地図上における端末装置100aの位置および姿勢を特定し、端末装置100aの周辺のハザードHaを探索する(S224)。すなわち、ハザード通知部216は、センサ230により認識された周辺物体と端末装置100aとの相対位置関係や相対速度関係に基づき、端末装置100aに対するハザードHaとなり得る周辺物体の有無を判定する。
【0083】
自律移動体200aのハザード通知部216は、端末装置100aの周辺にハザードHaを検出した場合には(S224:YES)、検出したハザードHaを特定するハザード情報HIを作成し、該ハザード情報HIを、サーバ装置300aを介して、対象の自律移動体200aに送信する。すなわち、ハザード通知部216は、ハザード情報HIをサーバ装置300aに向けて送信し(S226)、サーバ装置300aのハザード通知サーバ処理部318(
図12)は、受信したハザード情報HIを自律移動体200aに向けて送信し(S324)、端末装置100aのハザード通知部119(
図10)は、ハザード情報HIを受信する(S152:YES)。ハザード情報HIは、例えば、ハザードHaの位置や速度、名称等を示す情報である。なお、自律移動体200aにおいてハザードHaが検出されなかった場合には(S224:NO)、S226の処理はスキップされる。
【0084】
ハザード情報HIを受信した端末装置100aのハザード通知部119は、ハザードHaの存在をユーザUに報知する報知処理を実行する(S154)。例えば、
図14の例では、端末装置100aの音声出力部153から、「attention!(注意!)」という音声が出力されている。報知処理により、端末装置100aのユーザUは、例えば、自らは視認できないものの、自律移動体200aによって認識されているハザードHaの存在を認識することができる。なお、報知処理では、端末装置100aから見たハザードHaの方向(例えば、前方)や、ハザードHaの名称(例えば、自転車)が報知されてもよい。また、音声による報知に代えて、あるいは、音声による報知と共に、画像による報知や振動による報知が実行されてもよい。端末装置100aにおいてハザード情報HIが受信されなかった場合には(S152:NO)、S154の処理はスキップされる。その後の処理は、第1実施形態と同様である。
【0085】
以上説明したように、第2実施形態の情報処理システム10aは、端末装置100aと自律移動体200aとを備える。端末装置100aは、端末装置100aの位置および姿勢の推定結果を、直接または他の装置を介して、自律移動体200aに送信する推定結果送信部118を備える。自律移動体200aは、端末装置100aの位置および姿勢の推定結果を用いて、端末装置100aに近接するハザードHaの存在を端末装置100aに通知するハザード通知処理を実行するハザード通知部216を備える。そのため、第2実施形態の情報処理システム10aによれば、高い精度で推定された3次元点群地図上における端末装置100aの位置および姿勢を利用して、自律移動体200aから端末装置100aへハザードHaの存在を通知することができ、高精度なハザード通知を実現することができる。
【0086】
C.変形例:
本明細書で開示される技術は、上述の実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の形態に変形することができ、例えば次のような変形も可能である。
【0087】
上記実施形態における情報処理システム10の構成は、あくまで一例であり、種々変形可能である。例えば、上記実施形態では、マーカ部260を有する移動体は、センサ230による周辺検知情報と3次元点群地図とを用いて自律移動する自律移動体200であるが、3次元点群地図上における自己の位置および姿勢を特定しつつ移動する移動体である限りにおいて、必ずしも自律移動する移動体である必要はなく、人による運転操作に従い移動する移動体であってもよい。また、上記実施形態では、自律移動体200は、センサ230による周辺認識結果と3次元点群地図とのマッチングにより自己の位置および姿勢を推定しているが、他の手法(例えば、Visual-SLAMやGNSSを利用した手法)を組み合わせて、より高精度に自己の位置および姿勢を推定するとしてもよい。
【0088】
上記実施形態では、自律移動体200が、車体の側面に付された画像をマーカ部260として有するが、マーカ部260の態様はこれに限られない。例えば、マーカ部260は、3次元の物体であってもよく、自律移動体200自体の形状がマーカ部260として機能するとしてもよい。
【0089】
上記実施形態におけるAR型情報提示処理やハザード通知処理の内容は、あくまで一例であり、種々変更可能である。例えば、上記実施形態では、自律移動体200の位置姿勢情報提供部214が、3次元点群地図上におけるマーカ部260の位置および姿勢を示すマーカ位置姿勢情報LIをサーバ装置300に向けて送信し(
図5のS220)、サーバ装置300の位置姿勢サーバ処理部314がマーカ位置姿勢情報LIを端末装置100に送信しているが(S320)、自律移動体200の位置姿勢情報提供部214が、マーカ位置姿勢情報LIではなく、3次元点群地図上における自律移動体200(のセンサ230)の位置および姿勢を示す情報をサーバ装置300に向けて送信し、サーバ装置300の位置姿勢サーバ処理部314が、該情報に基づきマーカ部260の位置および姿勢を示すマーカ位置姿勢情報LIを生成して端末装置100に送信するとしてもよい。また、上記実施形態では、自律移動体200と端末装置100との間のマーカ位置姿勢情報LI等の情報のやり取りが、サーバ装置300を介して実行されているが、自律移動体200と端末装置100との間で直接的に情報のやり取りが実行されてもよい。
【0090】
上記実施形態では、トラッキング開始点以降の端末装置100の位置および姿勢の変化の追跡(トラッキング)が、Visual-SLAMを利用して実行されているが、トラッキングは、LiDAR-SLAM等の他のSLAMを利用して実行されてもよいし、GNSSを利用する手法等の他の公知の手法を利用して実行されてもよい。
【0091】
上記第1実施形態では、ショッピングモールの屋内および屋外において案内表示を行うAR型情報提示を例に挙げて説明したが、本明細書に開示される技術は、他の目的(例えば、歩行ナビゲーション、観光案内、保守点検のガイド、位置ゲーム等)のためのAR型情報提示にも同様に適用可能である。
【0092】
上記第2実施形態では、端末位置姿勢情報TIを受信した自律移動体200aが、端末装置100aの位置および姿勢の推定結果を用いて、端末装置100aに近接するハザードHaの存在を端末装置100aに通知するハザード通知処理を実行しているが、端末位置姿勢情報TIを受信した自律移動体200aが、端末装置100aの位置および姿勢の推定結果を用いて、他の処理(例えば、移動体の精密な誘導処理)を実行してもよい。また、反対に、自律移動体200aに対するハザードが端末装置100aの撮像部154により認識された場合に、端末装置100aが、自律移動体200aに対して、端末位置姿勢情報TIと共に該ハザードの情報を通知するとしてもよい。これにより、自律移動体200aによりハザードの認識を端末装置100aが補うことができ、自律移動体200aの走行の安全性を向上させることができる。
【0093】
上記実施形態において、ハードウェアによって実現されている構成の一部をソフトウェアに置き換えるようにしてもよく、反対に、ソフトウェアによって実現されている構成の一部をハードウェアに置き換えるようにしてもよい。
【符号の説明】
【0094】
10:情報処理システム 100:端末装置 110:制御部 111:拡張現実処理部 112:端末位置姿勢推定部 113:マーカ情報取得部 114:画像対応情報取得部 115:相対関係特定部 116:トラッキング部 117:推定結果更新部 118:推定結果送信部 119:ハザード通知部 120:記憶部 151:表示部 152:操作入力部 153:音声出力部 154:撮像部 155:通信部 190:バス 200:自律移動体 210:制御部 212:自律移動制御部 214:位置姿勢情報提供部 216:ハザード通知部 220:記憶部 230:センサ 250:駆動部 255:通信部 260:マーカ部 300:サーバ装置 310:制御部 312:拡張現実サーバ処理部 314:位置姿勢サーバ処理部 318:ハザード通知サーバ処理部 320:記憶部 351:表示部 352:操作入力部 355:通信部 390:バス Ha:ハザード RI:現実画像 U:ユーザ VI:仮想画像