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

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

▶ オムロン株式会社の特許一覧 ▶ 国立大学法人京都大学の特許一覧

特開2023-135615俯瞰データ生成装置、学習装置、俯瞰データ生成プログラム、俯瞰データ生成方法、及びロボット
<>
  • 特開-俯瞰データ生成装置、学習装置、俯瞰データ生成プログラム、俯瞰データ生成方法、及びロボット 図1
  • 特開-俯瞰データ生成装置、学習装置、俯瞰データ生成プログラム、俯瞰データ生成方法、及びロボット 図2
  • 特開-俯瞰データ生成装置、学習装置、俯瞰データ生成プログラム、俯瞰データ生成方法、及びロボット 図3
  • 特開-俯瞰データ生成装置、学習装置、俯瞰データ生成プログラム、俯瞰データ生成方法、及びロボット 図4
  • 特開-俯瞰データ生成装置、学習装置、俯瞰データ生成プログラム、俯瞰データ生成方法、及びロボット 図5
  • 特開-俯瞰データ生成装置、学習装置、俯瞰データ生成プログラム、俯瞰データ生成方法、及びロボット 図6
  • 特開-俯瞰データ生成装置、学習装置、俯瞰データ生成プログラム、俯瞰データ生成方法、及びロボット 図7
  • 特開-俯瞰データ生成装置、学習装置、俯瞰データ生成プログラム、俯瞰データ生成方法、及びロボット 図8
  • 特開-俯瞰データ生成装置、学習装置、俯瞰データ生成プログラム、俯瞰データ生成方法、及びロボット 図9
  • 特開-俯瞰データ生成装置、学習装置、俯瞰データ生成プログラム、俯瞰データ生成方法、及びロボット 図10
  • 特開-俯瞰データ生成装置、学習装置、俯瞰データ生成プログラム、俯瞰データ生成方法、及びロボット 図11A
  • 特開-俯瞰データ生成装置、学習装置、俯瞰データ生成プログラム、俯瞰データ生成方法、及びロボット 図11B
  • 特開-俯瞰データ生成装置、学習装置、俯瞰データ生成プログラム、俯瞰データ生成方法、及びロボット 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023135615
(43)【公開日】2023-09-28
(54)【発明の名称】俯瞰データ生成装置、学習装置、俯瞰データ生成プログラム、俯瞰データ生成方法、及びロボット
(51)【国際特許分類】
   G05D 1/02 20200101AFI20230921BHJP
   G06N 20/00 20190101ALI20230921BHJP
   G06T 7/00 20170101ALI20230921BHJP
   G01C 21/26 20060101ALI20230921BHJP
   G08G 1/00 20060101ALI20230921BHJP
   G08G 1/01 20060101ALI20230921BHJP
【FI】
G05D1/02 H
G06N20/00
G06T7/00 650B
G01C21/26 C
G08G1/00 X
G08G1/01 F
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2023022034
(22)【出願日】2023-02-15
(31)【優先権主張番号】P 2022039936
(32)【優先日】2022-03-15
(33)【優先権主張国・地域又は機関】JP
【新規性喪失の例外の表示】新規性喪失の例外適用申請有り
(71)【出願人】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(71)【出願人】
【識別番号】504132272
【氏名又は名称】国立大学法人京都大学
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】黒瀬(西村) 真衣
(72)【発明者】
【氏名】延原 章平
(72)【発明者】
【氏名】西野 恒
【テーマコード(参考)】
2F129
5H181
5H301
5L096
【Fターム(参考)】
2F129AA02
5H181AA01
5H181AA21
5H181AA27
5H181BB13
5H181BB20
5H181CC03
5H181CC04
5H181CC12
5H181CC14
5H181FF10
5H181FF27
5H301AA01
5H301AA10
5H301BB14
5H301CC03
5H301CC06
5H301CC10
5H301GG09
5H301QQ08
5L096AA06
5L096BA05
5L096CA04
5L096DA01
5L096FA69
5L096HA05
5L096HA08
5L096KA04
5L096KA15
(57)【要約】
【課題】静的なランドマークが検出されない状況であっても、動的な環境において観測装置を搭載した観測移動体からの視点で観測された2次元観測情報から、観測移動体の地面上の移動軌跡、及び移動体の各々の地面上の移動軌跡を表す俯瞰データを生成することができる。
【解決手段】俯瞰データ生成装置は、動的な環境において観測装置を搭載した観測移動体からの視点で観測された少なくとも1つの移動体を表す2次元観測情報の時系列データを取得する取得部22と、前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きを推定する学習済みモデルを用いて、前記2次元観測情報の時系列データから、前記観測移動体を俯瞰した位置から観測した場合に得られる、前記観測移動体の地面上の移動軌跡、及び前記移動体の各々の地面上の移動軌跡を表す俯瞰データを生成する生成部26と、を含む。
【選択図】図1
【特許請求の範囲】
【請求項1】
動的な環境において観測装置を搭載した観測移動体からの視点で観測された少なくとも1つの移動体を表す2次元観測情報の時系列データを取得する取得部と、
前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きを推定する学習済みモデルを用いて、
前記2次元観測情報の時系列データから、前記観測移動体を俯瞰した位置から観測した場合に得られる、前記観測移動体の地面上の移動軌跡、及び前記移動体の各々の地面上の移動軌跡を表す俯瞰データを生成する生成部と、
を含む俯瞰データ生成装置。
【請求項2】
前記生成部は、
前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きの分布を推定する学習済みモデルを用いて、
前記2次元観測情報の時系列データから、前記観測移動体を俯瞰した位置から観測した場合に得られる、前記観測移動体の地面上の移動軌跡、及び前記移動体の各々の地面上の位置分布を表す移動軌跡を表す俯瞰データを生成する請求項1記載の俯瞰データ生成装置。
【請求項3】
前記2次元観測情報の時系列データから、前記移動体の各々を追跡し、前記2次元観測情報上の前記移動体の各々の各時刻の位置及び大きさを取得する追跡部を更に含み、
前記生成部は、前記2次元観測情報上の前記移動体の各々の各時刻の位置及び大きさを入力として、前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きを推定する前記学習済みモデルを用いて、前記俯瞰データを生成する請求項1記載の俯瞰データ生成装置。
【請求項4】
前記学習済みモデルは、
前記移動体の各々の対象時刻の位置及び大きさを入力とし、ベクトルを出力する第1エンコーダと、
一時刻前について得られた、前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きを入力とし、ベクトルを出力する第2エンコーダと、
前記第1エンコーダによって出力された前記ベクトル、及び前記第2エンコーダによって出力された前記ベクトルを入力とし、前記対象時刻についての前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きを出力するデコーダとを含む請求項3記載の俯瞰データ生成装置。
【請求項5】
動的な環境において観測装置を搭載した観測移動体からの視点で観測された少なくとも1つの移動体を表す2次元観測情報上の前記移動体の各々の各時刻の位置及び大きさの時系列データと、前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きの時系列データとの組み合わせを教師データとして取得する取得部と、
前記教師データに基づいて、前記2次元観測情報上の前記移動体の各々の各時刻の位置及び大きさを入力として、前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きを推定するモデルを学習する学習部と、
を含む学習装置。
【請求項6】
前記モデルは、
前記移動体の各々の対象時刻の位置及び大きさを入力とし、ベクトルを出力する第1エンコーダと、
一時刻前について得られた、前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きを入力とし、ベクトルを出力する第2エンコーダと、
前記第1エンコーダによって出力された前記ベクトル、及び前記第2エンコーダによって出力された前記ベクトルを入力とし、対象時刻についての前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きを出力するデコーダとを含む請求項5記載の学習装置。
【請求項7】
動的な環境において観測装置を搭載した観測移動体からの視点で観測された少なくとも1つの移動体を表す2次元観測情報の時系列データを取得する取得部と、
前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きを予測する学習済みモデルを用いて、
前記2次元観測情報の時系列データから、前記観測移動体を俯瞰した位置から観測した場合に得られる、前記観測移動体の地面上の移動軌跡、及び前記移動体の各々の地面上の移動軌跡を表す俯瞰データの予測結果を生成する生成部と、
を含む俯瞰データ生成装置。
【請求項8】
前記生成部は、
前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きの分布を予測する学習済みモデルを用いて、
前記2次元観測情報の時系列データから、前記観測移動体を俯瞰した位置から観測した場合に得られる、前記観測移動体の地面上の移動軌跡、及び前記移動体の各々の地面上の位置分布を表す移動軌跡を表す俯瞰データの予測結果を生成する請求項7記載の俯瞰データ生成装置。
【請求項9】
コンピュータに、
動的な環境において観測装置を搭載した観測移動体からの視点で観測された少なくとも1つの移動体を表す2次元観測情報の時系列データを取得する取得工程と、
前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きを推定する学習済みモデルを用いて、
前記2次元観測情報の時系列データから、前記観測移動体を俯瞰した位置から観測した場合に得られる、前記観測移動体の地面上の移動軌跡、及び前記移動体の各々の地面上の移動軌跡を表す俯瞰データを生成する生成工程と、
を含む処理を実行させるための俯瞰データ生成プログラム。
【請求項10】
コンピュータが、
動的な環境において観測装置を搭載した観測移動体からの視点で観測された少なくとも1つの移動体を表す2次元観測情報の時系列データを取得する取得工程と、
前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きを推定する学習済みモデルを用いて、
前記2次元観測情報の時系列データから、前記観測移動体を俯瞰した位置から観測した場合に得られる、前記観測移動体の地面上の移動軌跡、及び前記移動体の各々の地面上の移動軌跡を表す俯瞰データを生成する生成工程と、
を含む処理を実行する俯瞰データ生成方法。
【請求項11】
動的な環境において観測装置を搭載したロボットからの視点で観測された少なくとも1つの移動体を表す2次元観測情報の時系列データを取得する取得部と、
前記ロボットの地面上の動き、及び前記移動体の各々の地面上の動きを推定する学習済みモデルを用いて、
前記2次元観測情報の時系列データから、前記ロボットを俯瞰した位置から観測した場合に得られる、前記ロボットの地面上の移動軌跡、及び前記移動体の各々の地面上の移動軌跡を表す俯瞰データを生成する生成部と、
前記ロボットを自律走行させる自律走行部と、
前記俯瞰データを用いて、前記ロボットが目的地に移動するように前記自律走行部を制御する制御部と、
を含むロボット。
【請求項12】
コンピュータに、
動的な環境において観測装置を搭載した観測移動体からの視点で観測された少なくとも1つの移動体を表す2次元観測情報の時系列データを取得する取得工程と、
前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きを予測する学習済みモデルを用いて、
前記2次元観測情報の時系列データから、前記観測移動体を俯瞰した位置から観測した場合に得られる、前記観測移動体の地面上の移動軌跡、及び前記移動体の各々の地面上の移動軌跡を表す俯瞰データの予測結果を生成する生成工程と、
を含む処理を実行させるための俯瞰データ生成プログラム。
【請求項13】
コンピュータが、
動的な環境において観測装置を搭載した観測移動体からの視点で観測された少なくとも1つの移動体を表す2次元観測情報の時系列データを取得する取得工程と、
前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きを予測する学習済みモデルを用いて、
前記2次元観測情報の時系列データから、前記観測移動体を俯瞰した位置から観測した場合に得られる、前記観測移動体の地面上の移動軌跡、及び前記移動体の各々の地面上の移動軌跡を表す俯瞰データの予測結果を生成する生成工程と、
を含む処理を実行する俯瞰データ生成方法。
【請求項14】
動的な環境において観測装置を搭載したロボットからの視点で観測された少なくとも1つの移動体を表す2次元観測情報の時系列データを取得する取得部と、
前記ロボットの地面上の動き、及び前記移動体の各々の地面上の動きを予測する学習済みモデルを用いて、
前記2次元観測情報の時系列データから、前記ロボットを俯瞰した位置から観測した場合に得られる、前記ロボットの地面上の移動軌跡、及び前記移動体の各々の地面上の移動軌跡を表す俯瞰データの予測結果を生成する生成部と、
前記ロボットを自律走行させる自律走行部と、
前記俯瞰データの予測結果を用いて、前記ロボットが目的地に移動するように前記自律走行部を制御する制御部と、
を含むロボット。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、俯瞰データ生成装置、学習装置、俯瞰データ生成プログラム、俯瞰データ生成方法、及びロボットに関する。
【背景技術】
【0002】
従来より、一人称視点で撮影された映像で観測した人物骨格に基づき、俯瞰視点での人物位置分布を推定する技術が知られている(非特許文献1)。
【0003】
また、静的なランドマーク基準の自己位置推定(Simultaneously Localization and Mapping:SLAM)の最適化対象に移動体を加えて逐次最適化を行う技術が知られている(非特許文献2)。
【0004】
また、GNSS(Global Navigation Satellite System)により位置を推定する技術が知られている(非特許文献3)。
【0005】
また、俯瞰視点映像中における一人称映像の撮影位置を推定する技術が知られている(特許文献1)。この技術では、推定のために俯瞰視点及び一人称視点の両視点から抽出された動き特徴の照合を行っている。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】"MonoLoco: Monocular 3D Pedestrian Localization and Uncertainty Estimation",インターネット検索<URL: https://arxiv.org/abs/1906.06059>, Jun 2019
【非特許文献2】"CubeSLAM: Monocular 3D Object SLAM",インターネット検索<URL: https://arxiv.org/abs/1806.00557>,Jun 2018
【非特許文献3】「フィールドロボティクスの現状と展望」、インターネット検索<URL: https://committees.jsce.or.jp/opcet_sip/system/files/0130_01.pdf>
【特許文献】
【0007】
【特許文献1】特開2021-77287号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、上記非特許文献1記載の技術では、観測カメラの運動や周辺の移動体の移動軌跡を復元することはできない。
【0009】
また、上記非特許文献2記載の技術は、移動体と共に静的なランドマークが安定して観測可能な環境でしか適用できない。また、移動体の動きモデルが単純な剛体運動に限られ、相互作用を考慮した移動体の動きに対応できない。
【0010】
また、上記非特許文献3記載の技術では、GNSSを搭載した装置自身の自己位置の復元のみを対象とし、周辺の移動体の位置を復元できない。また、高層ビルなどによる遮蔽が生じる環境では、GPS(Global Positioning System)電波の受信が不安定となり、位置復元結果が不正確となる。
【0011】
また、上記特許文献1記載の技術は、俯瞰視点の映像が手に入らない場合には適用できない。
【0012】
本発明は、上記の点に鑑みてなされたものであり、静的なランドマークが検出されない状況であっても、動的な環境において観測装置を搭載した観測移動体からの視点で観測された2次元観測情報から、観測移動体の地面上の移動軌跡、及び移動体の各々の地面上の移動軌跡を表す俯瞰データを生成することができる俯瞰データ生成装置、学習装置、俯瞰データ生成プログラム、俯瞰データ生成方法、及びロボットを提供することを目的とする。
【課題を解決するための手段】
【0013】
開示の第1態様は、俯瞰データ生成装置であって、動的な環境において観測装置を搭載した観測移動体からの視点で観測された少なくとも1つの移動体を表す2次元観測情報の時系列データを取得する取得部と、前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きを推定する学習済みモデルを用いて、前記2次元観測情報の時系列データから、前記観測移動体を俯瞰した位置から観測した場合に得られる、前記観測移動体の地面上の移動軌跡、及び前記移動体の各々の地面上の移動軌跡を表す俯瞰データを生成する生成部と、を含む。
【0014】
上記第1態様において、前記生成部は、前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きの分布を推定する学習済みモデルを用いて、前記2次元観測情報の時系列データから、前記観測移動体を俯瞰した位置から観測した場合に得られる、前記観測移動体の地面上の位置分布を表す移動軌跡、及び前記移動体の各々の地面上の位置分布を表す移動軌跡を表す俯瞰データを生成するようにしてもよい。
【0015】
上記第1態様において、前記2次元観測情報の時系列データから、前記移動体の各々を追跡し、前記2次元観測情報上の前記移動体の各々の各時刻の位置及び大きさを取得する追跡部を更に含み、前記生成部は、前記2次元観測情報上の前記移動体の各々の各時刻の位置及び大きさを入力として、前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きを推定する前記学習済みモデルを用いて、前記俯瞰データを生成するようにしてもよい。
【0016】
上記第1態様において、前記学習済みモデルは、前記移動体の各々の対象時刻の位置及び大きさを入力とし、ベクトルを出力する第1エンコーダと、一時刻前について得られた、前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きを入力とし、ベクトルを出力する第2エンコーダと、前記第1エンコーダによって出力された前記ベクトル、及び前記第2エンコーダによって出力された前記ベクトルを入力とし、前記対象時刻についての前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きを出力するデコーダとを含むようにしてもよい。
【0017】
開示の第2態様は、学習装置であって、動的な環境において観測装置を搭載した観測移動体からの視点で観測された少なくとも1つの移動体を表す2次元観測情報上の前記移動体の各々の各時刻の位置及び大きさの時系列データと、前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きの時系列データとの組み合わせを教師データとして取得する取得部と、前記教師データに基づいて、前記2次元観測情報上の前記移動体の各々の各時刻の位置及び大きさを入力として、前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きを推定するモデルを学習する学習部と、を含む。
【0018】
上記第2態様において、前記モデルは、前記移動体の各々の対象時刻の位置及び大きさを入力とし、ベクトルを出力する第1エンコーダと、一時刻前について得られた、前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きを入力とし、ベクトルを出力する第2エンコーダと、前記第1エンコーダによって出力された前記ベクトル、及び前記第2エンコーダによって出力された前記ベクトルを入力とし、対象時刻についての前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きを出力するデコーダとを含むようにしてもよい。
【0019】
開示の第3態様は、俯瞰データ生成装置であって、動的な環境において観測装置を搭載した観測移動体からの視点で観測された少なくとも1つの移動体を表す2次元観測情報の時系列データを取得する取得部と、前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きを予測する学習済みモデルを用いて、前記2次元観測情報の時系列データから、前記観測移動体を俯瞰した位置から観測した場合に得られる、前記観測移動体の地面上の移動軌跡、及び前記移動体の各々の地面上の移動軌跡を表す俯瞰データの予測結果を生成する生成部と、を含む。
【0020】
上記第3態様において、前記生成部は、前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きの分布を予測する学習済みモデルを用いて、前記2次元観測情報の時系列データから、前記観測移動体を俯瞰した位置から観測した場合に得られる、前記観測移動体の地面上の位置分布を表す移動軌跡、及び前記移動体の各々の地面上の位置分布を表す移動軌跡を表す俯瞰データの予測結果を生成するようにしてもよい。
【0021】
開示の第4態様は、俯瞰データ生成プログラムであって、コンピュータに、動的な環境において観測装置を搭載した観測移動体からの視点で観測された少なくとも1つの移動体を表す2次元観測情報の時系列データを取得する取得工程と、前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きを推定する学習済みモデルを用いて、前記2次元観測情報の時系列データから、前記観測移動体を俯瞰した位置から観測した場合に得られる、前記観測移動体の地面上の移動軌跡、及び前記移動体の各々の地面上の移動軌跡を表す俯瞰データを生成する生成工程と、を含む処理を実行させるためのプログラムである。
【0022】
開示の第5態様は、俯瞰データ生成方法であって、コンピュータが、動的な環境において観測装置を搭載した観測移動体からの視点で観測された少なくとも1つの移動体を表す2次元観測情報の時系列データを取得する取得工程と、前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きを推定する学習済みモデルを用いて、前記2次元観測情報の時系列データから、前記観測移動体を俯瞰した位置から観測した場合に得られる、前記観測移動体の地面上の移動軌跡、及び前記移動体の各々の地面上の移動軌跡を表す俯瞰データを生成する生成工程と、を含む処理を実行する。
【0023】
開示の第6態様は、ロボットであって、動的な環境において観測装置を搭載したロボットからの視点で観測された少なくとも1つの移動体を表す2次元観測情報の時系列データを取得する取得部と、前記ロボットの地面上の動き、及び前記移動体の各々の地面上の動きを推定する学習済みモデルを用いて、前記2次元観測情報の時系列データから、前記ロボットを俯瞰した位置から観測した場合に得られる、前記ロボットの地面上の移動軌跡、及び前記移動体の各々の地面上の移動軌跡を表す俯瞰データを生成する生成部と、前記ロボットを自律走行させる自律走行部と、前記俯瞰データを用いて、前記ロボットが目的地に移動するように前記自律走行部を制御する制御部と、を含む。
【0024】
開示の第7態様は、俯瞰データ生成プログラムであって、コンピュータに、動的な環境において観測装置を搭載した観測移動体からの視点で観測された少なくとも1つの移動体を表す2次元観測情報の時系列データを取得する取得工程と、前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きを予測する学習済みモデルを用いて、前記2次元観測情報の時系列データから、前記観測移動体を俯瞰した位置から観測した場合に得られる、前記観測移動体の地面上の移動軌跡、及び前記移動体の各々の地面上の移動軌跡を表す俯瞰データの予測結果を生成する生成工程と、を含む処理を実行させるためのプログラムである。
【0025】
開示の第8態様は、俯瞰データ生成方法であって、コンピュータが、動的な環境において観測装置を搭載した観測移動体からの視点で観測された少なくとも1つの移動体を表す2次元観測情報の時系列データを取得する取得工程と、前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きを予測する学習済みモデルを用いて、前記2次元観測情報の時系列データから、前記観測移動体を俯瞰した位置から観測した場合に得られる、前記観測移動体の地面上の移動軌跡、及び前記移動体の各々の地面上の移動軌跡を表す俯瞰データの予測結果を生成する生成工程と、を含む処理を実行する。
【0026】
開示の第9態様は、ロボットであって、動的な環境において観測装置を搭載したロボットからの視点で観測された少なくとも1つの移動体を表す2次元観測情報の時系列データを取得する取得部と、前記ロボットの地面上の動き、及び前記移動体の各々の地面上の動きを予測する学習済みモデルを用いて、前記2次元観測情報の時系列データから、前記ロボットを俯瞰した位置から観測した場合に得られる、前記ロボットの地面上の移動軌跡、及び前記移動体の各々の地面上の移動軌跡を表す俯瞰データの予測結果を生成する生成部と、前記ロボットを自律走行させる自律走行部と、前記俯瞰データの予測結果を用いて、前記ロボットが目的地に移動するように前記自律走行部を制御する制御部と、を含む。
【発明の効果】
【0027】
本発明によれば、静的なランドマークが検出されない状況であっても、動的な環境において観測装置を搭載した観測移動体からの視点で観測された2次元観測情報から、観測移動体の地面上の移動軌跡、及び移動体の各々の地面上の移動軌跡を表す俯瞰データを生成することができる。
【図面の簡単な説明】
【0028】
図1】第1実施形態に係るロボットの概略構成を示す図である。
図2】カメラにより撮影される画像の一例を示す図である。
図3】画像から人物を検出した結果の一例を示す図である。
図4】学習済みモデルの一例を示す図である。
図5】俯瞰データの一例を示す図である。
図6】第1、第2実施形態に係る俯瞰データ生成装置及び学習装置のハードウェア構成を示すブロック図である。
図7】第1、第2実施形態に係る学習装置の概略構成を示す図である。
図8】第1、第2実施形態に係る学習装置による学習処理の流れを示すフローチャートである。
図9】第1、第2実施形態に係る俯瞰データ生成装置による俯瞰データ生成処理の流れを示すフローチャートである。
図10】第2実施形態に係る情報処理端末の概略構成を示す図である。
図11A】俯瞰データの一例を示す図である。
図11B】俯瞰データの他の例を示す図である。
図12】画像から人物を検出した結果の一例を示す図である。
【発明を実施するための形態】
【0029】
以下、本発明の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法比率は、説明の都合上誇張されている場合があり、実際の比率とは異なる場合がある。
【0030】
[第1実施形態]
図1は、本発明の第1実施形態に係るロボット100の概略構成を示す図である。図1に示すように、ロボット100は、カメラ10、俯瞰データ生成装置20、報知部50、及び自律走行部60を備える。俯瞰データ生成装置20は、取得部22、追跡部24、生成部26、モデル記憶部27、及び制御部28を備える。なお、ロボット100が、観測移動体の一例であり、カメラ10が、観測装置の一例である。
【0031】
カメラ10は、スタート地点から目的地に移動するまでの間、ロボット100の周囲を予め定めた間隔で撮影し、撮影した画像を俯瞰データ生成装置20の取得部22に出力する。なお、画像が、2次元観測情報の一例である。
【0032】
例えば、動的な環境においてロボット100からの視点で観測された少なくとも1人の人物を表す画像が、カメラ10により撮影される(図2参照)。
【0033】
カメラ10として、透視投影のRGBカメラを用いてもよいし、魚眼カメラや360度カメラを用いてもよい。
【0034】
取得部22は、カメラ10によって撮影された画像の時系列データを取得する。
【0035】
追跡部24は、取得した画像の時系列データから、人物の各々を追跡し、画像上の人物の各々の各時刻の位置及び大きさを取得する。
【0036】
例えば、図3に示すように、画像上の人物の各々について、当該人物を表すバウンディングボックスを検出して追跡し、画像上の人物の中心位置(バウンディングボックスの中心位置)及び高さ(バウンディングボックスの高さ)を時刻毎に取得する。
【0037】
生成部26は、ロボット100の地面上の動き、及び人物の各々の地面上の動きを推定する学習済みモデルを用いて、画像の時系列データから取得した画像上の人物の各々の各時刻の位置及び大きさから、ロボット100を俯瞰した位置から観測した場合に得られる、ロボット100の地面上の移動軌跡、及び人物の各々の地面上の移動軌跡を表す俯瞰データを生成する。
【0038】
具体的には、生成部26は、画像上の人物の各々の各時刻の位置及び大きさを入力として、ロボット100の地面上の動き、及び人物の各々の地面上の動きを推定する学習済みモデルを用いて、俯瞰データを生成する。
【0039】
ここで、学習済みモデルは、人物の各々の対象時刻の位置及び大きさを入力とし、ベクトルを出力する第1エンコーダと、一時刻前について得られた、ロボット100の地面上の動き、及び人物の各々の地面上の動きを入力とし、ベクトルを出力する第2エンコーダと、第1エンコーダによって出力されたベクトル、及び第2エンコーダによって出力されたベクトルを入力とし、対象時刻についてのロボット100の地面上の動き、及び人物の各々の地面上の動きを出力するデコーダとを含む。
【0040】
より具体的には、図4に示すように、学習済みモデル70は、第1エンコーダ72と、第2エンコーダ74と、デコーダ76とを備えている。
【0041】
第1エンコーダ72は、ロボット100が一人称視点で観測した各人物の位置及び大きさを入力とし、人物間のセルフアテンションをとり、得られたベクトルを出力する。
【0042】
具体的には、画像上の人物の各々の時刻tの位置及び大きさを表すベクトルを、多層パーセプトロン(MLP:Multilayer perceptron)720に入力して得られたベクトルを、第1エンコーダ72の入力ベクトルとする。
【0043】
第1エンコーダ72のマルチヘッドセルフアテンション層722が、第1エンコーダ72の入力ベクトルを、Query、Key、Valueの各々として受け付け、セルフアテンションをとってベクトルを出力する。
【0044】
第1エンコーダ72の第1正規化層724は、第1エンコーダ72の入力ベクトルと、マルチヘッドセルフアテンション層722の出力ベクトルとを加算した後に、正規化を行い、ベクトルを出力する。
【0045】
順伝播型ニューラルネットワーク726は、第1正規化層724の出力ベクトルを入力とし、ベクトルを出力する。
【0046】
第2正規化層728は、第1正規化層724の出力ベクトルと、順伝播型ニューラルネットワーク726の出力ベクトルとを加算した後に、正規化を行い、ベクトルを出力し、これを第1エンコーダ72の出力ベクトルとする。この出力ベクトルは、一人称視点の埋め込みを表している。
【0047】
第2エンコーダ74は、一時刻前について得られた、ロボット100の地面上の動き、及び人物の各々の地面上の動きを入力とし、ロボット100の位置に対する各人物の相対位置及び速度をエンコーディングし、得られたベクトルを出力する。
【0048】
具体的には、時刻t-1について得られた、ロボット100の地面上の動き、及び人物の各々の地面上の動きから、ロボット100の位置に対する人物の各々の地面上の動きを表すベクトルを求め、このベクトルを、多層パーセプトロン740に入力して得られたベクトルを、第2エンコーダ74の入力ベクトルとする。
【0049】
第2エンコーダ74のマルチヘッドセルフアテンション層742が、第2エンコーダ74の入力ベクトルを、Query、Key、Valueの各々として受け付け、セルフアテンションをとってベクトルを出力する。
【0050】
第2エンコーダ74の正規化層744は、第2エンコーダ74の入力ベクトルと、マルチヘッドセルフアテンション層742の出力ベクトルとを加算した後に、正規化を行い、ベクトルを出力する。このベクトルは、俯瞰視点の埋め込みを表している。
【0051】
デコーダ76は、第1エンコーダ72の出力ベクトルと第2エンコーダ74の出力ベクトルとの間で、クロスアテンションをとり、クロスアテンションの結果から得られたベクトルを出力する。このベクトルは、ロボット100の地面上の動き、及び人物の各々の地面上の動きをマルチヘッドで予測した結果を表している。
【0052】
具体的には、第1エンコーダ72の出力ベクトルと第2エンコーダ74の出力ベクトルを、デコーダ76の入力とする。
【0053】
デコーダ76のマルチヘッドクロスアテンション層760が、第1エンコーダ72の出力ベクトルを、Key、Valueの各々として受け付け、第2エンコーダ74の出力ベクトルを、Queryとして受け付け、クロスアテンションをとってベクトルを出力する。
【0054】
デコーダ76の第1正規化層762は、第2エンコーダ74の出力ベクトルと、マルチヘッドクロスアテンション層760の出力ベクトルとを加算した後に、正規化を行い、ベクトルを出力する。
【0055】
順伝播型ニューラルネットワーク764は、第1正規化層762の出力ベクトルを入力とし、ベクトルを出力する。
【0056】
第2正規化層766は、第1正規化層762の出力ベクトルと、順伝播型ニューラルネットワーク764の出力ベクトルとを加算した後に、正規化を行い、ベクトルを出力し、これをデコーダ76の出力ベクトルとする。
【0057】
順伝播型ニューラルネットワーク768は、デコーダ76の出力ベクトルを入力とし、時刻tのロボット100の動きを表すベクトルを出力する。
【0058】
また、順伝播型ニューラルネットワーク770は、デコーダ76の出力ベクトルを入力とし、時刻tの人物の各々の動きを表すベクトルを出力する。
【0059】
ここで、動きを表すベクトルは、例えば、一時刻前に対する相対位置及び相対速度を表すベクトルである。なお、動きを表すベクトルは、一時刻前に対する相対位置を表すベクトル、又は一時刻前に対する相対速度を表すベクトルであってもよい。
【0060】
本実施形態では、生成部26は、画像上の人物の各々の時刻tの位置及び大きさを表すベクトル、並びに時刻t-1について得られた、ロボット100の地面上の動きを表すベクトル、及び人物の各々の地面上の動きを表すベクトルから、学習済みモデル70を用いて、時刻tにおける、ロボット100の地面上の動きを表すベクトル、及び人物の各々の地面上の動きを表すベクトルを求めることを、各時刻tについて繰り返すことにより、俯瞰データを生成する。
【0061】
生成部26は、例えば、図5に示すような俯瞰データを生成する。図5は、黒丸をつないだ線でロボット100の地面上の移動軌跡を示し、破線で人物の地面上の移動軌跡を示す例を示している。
【0062】
制御部28は、俯瞰データを用いて、ロボット100が目的地に移動するように自律走行部60を制御する。例えば、制御部28は、ロボット100の移動方向及び速度を指定し、指定された移動方向及び速度で移動するように自律走行部60を制御する。
【0063】
また、制御部28は、俯瞰データを用いて、介入行動が必要と判断した場合には、「道を空けてください」等のメッセージを音声出力したり、警告音を鳴らすよう報知部50を制御する。
【0064】
次に、ロボット100の俯瞰データ生成装置20のハードウェア構成について説明する。
【0065】
図6に示すように、俯瞰データ生成装置20は、CPU(Central Processing Unit)61、ROM(Read Only Memory)62、RAM(Random Access Memory)63、ストレージ64、及び通信インタフェース(I/F)65を有する。各構成は、バス66を介して相互に通信可能に接続されている。
【0066】
本実施形態では、ストレージ64には、俯瞰データ生成プログラムが格納されている。CPU61は、中央演算処理ユニットであり、各種プログラムを実行したり、各構成を制御したりする。すなわち、CPU61は、ストレージ64からプログラムを読み出し、RAM63を作業領域としてプログラムを実行する。CPU61は、ストレージ64に記録されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。
【0067】
ROM62は、各種プログラム及び各種データを格納する。RAM63は、作業領域として一時的にプログラム又はデータを記憶する。ストレージ64は、HDD(Hard Disk Drive)又はSSD(Solid State Drive)により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
【0068】
通信インタフェース65は、他の機器と通信するためのインタフェースであり、例えば、イーサネット(登録商標)、FDDI又はWi-Fi(登録商標)等の規格が用いられる。
【0069】
上記学習済みモデル70は、図7に示す学習装置120によって予め学習される。以下、この学習装置120について説明する。
【0070】
図7は、本発明の第1実施形態に係る学習装置120の概略構成を示す図である。図7に示すように、学習装置120は、教師データ記憶部122、取得部124、学習部126、及びモデル記憶部128を備える。
【0071】
教師データ記憶部122には、動的な環境においてロボット100からの視点で観測された画像上の人物の各々の各時刻の位置及び大きさの時系列データと、ロボット100の地面上の動き、及び人物の各々の地面上の動きの時系列データとの組み合わせが、教師データとして複数記憶されている。
【0072】
取得部124は、教師データ記憶部122から、複数の教師データを取得する。
【0073】
学習部126は、複数の教師データに基づいて、教師データの画像上の人物の各々の各時刻の位置及び大きさの時系列データを入力としたときに、学習済みモデル70と同様の構成を有するモデルが、教師データのロボット100の地面上の動き、及び人物の各々の地面上の動きの時系列データを出力するように、当該モデルのパラメータを学習する。
【0074】
モデル記憶部128には、学習部126による学習結果が、学習済みモデルとして記憶される。
【0075】
次に、学習装置120のハードウェア構成について説明する。
【0076】
上記図6に示すように、学習装置120は、俯瞰データ生成装置20と同様に、CPU61、ROM62、RAM63、ストレージ64、及び通信インタフェース65を有する。各構成は、バス66を介して相互に通信可能に接続されている。本実施形態では、ストレージ64には、学習プログラムが格納されている。
【0077】
次に、学習装置120の作用について説明する。
【0078】
まず、学習装置120に、動的な環境においてロボット100からの視点で観測された画像上の人物の各々の各時刻の位置及び大きさの時系列データと、ロボット100の地面上の動き、及び人物の各々の地面上の動きの時系列データとの組み合わせが、教師データとして複数入力され、教師データ記憶部122に記憶される。
【0079】
図8は、学習装置120による学習処理の流れを示すフローチャートである。CPU61がストレージ64から学習プログラムを読み出して、RAM63に展開し実行することにより、学習処理が行なわれる。
【0080】
ステップS100では、CPU61が、取得部124として、教師データ記憶部122から、複数の教師データを取得する。
【0081】
ステップS102では、CPU61が、学習部126として、複数の教師データに基づいて、教師データの画像上の人物の各々の各時刻の位置及び大きさの時系列データを入力としたときに、学習済みモデル70と同様の構成を有するモデルが、教師データのロボット100の地面上の動き、及び人物の各々の地面上の動きの時系列データを出力するように、当該モデルのパラメータを学習する。
【0082】
そして、学習部126による学習結果が、学習済みモデルとしてモデル記憶部128に記憶される。
【0083】
次に、ロボット100の作用について説明する。
【0084】
まず、学習装置120によって学習された学習済みモデルが、俯瞰データ生成装置20のモデル記憶部27に記憶される。
【0085】
そして、ロボット100が、自律走行部60により目的地まで移動する際に、カメラ10は、ロボット100の周囲を予め定めた間隔で撮影し、俯瞰データ生成装置20は、定期的に、図9に示す俯瞰データ生成処理により俯瞰データを生成し、俯瞰データに基づいて、ロボット100が目的地に移動するように自律走行部60を制御する。
【0086】
図9は、俯瞰データ生成装置20による俯瞰データ生成処理の流れを示すフローチャートである。CPU61がストレージ64から俯瞰データ生成プログラムを読み出して、RAM63に展開し実行することにより、俯瞰データ生成処理が行なわれる。
【0087】
ステップS110では、CPU61が、取得部22として、カメラ10によって撮影された画像の時系列データを取得する。
【0088】
ステップS112では、CPU61が、追跡部24として、取得した画像の時系列データから、人物の各々を追跡し、画像上の人物の各々の各時刻の位置及び大きさを取得する。
【0089】
ステップS114では、CPU61が、生成部26として、取得した画像の時系列データの最初の時刻より一時刻前についての、ロボット100の地面上の動きを表すベクトル、及び人物の各々の地面上の動きを表すベクトルに対し、初期値を設定する。また、画像の時系列データの最初の時刻を時刻tとする。
【0090】
ステップS116では、CPU61が、生成部26として、画像上の人物の各々の時刻tの位置及び大きさを表すベクトル、並びに時刻t-1について得られた、ロボット100の地面上の動きを表すベクトル、及び人物の各々の地面上の動きを表すベクトルから、学習済みモデル70を用いて、時刻tにおける、ロボット100の地面上の動きを表すベクトル、及び人物の各々の地面上の動きを表すベクトルを推定する。
【0091】
ステップS118では、CPU61が、生成部26として、予め定められた反復終了条件を満たしたか否かを判定する。例えば、画像の時系列データの最後の時刻に到達したことを、反復終了条件として用いればよい。反復終了条件を満たした場合には、CPU61は、ステップS120へ移行する。一方、反復終了条件を満たしていない場合には、CPU61は、ステップS116へ戻り、次の時刻を時刻tとして、処理を繰り返す。
【0092】
ステップS120では、CPU61が、生成部26として、各時刻について得られた、ロボット100の地面上の動きを表すベクトル、及び人物の各々の地面上の動きを表すベクトルから、各時刻についての、ロボット100の地面上の位置、カメラ10の観測方向、及び人物の各々の地面上の位置を表す俯瞰データを生成し、制御部28に出力し、俯瞰データ生成処理を終了する。
【0093】
制御部28は、生成された俯瞰データを用いて、ロボット100が目的地に移動するように、ロボット100の移動方向及び速度を指定し、指定された移動方向及び速度で移動するように自律走行部60を制御する。また、制御部28は、俯瞰データを用いて、介入行動が必要と判断した場合には、「道を空けてください」等のメッセージを音声出力したり、警告音を鳴らすよう報知部50を制御する。
【0094】
このように、本実施形態では、ロボット100の地面上の動き、及び人物の各々の地面上の動きを推定する学習済みモデルを用いて、画像の時系列データから、ロボット100を俯瞰した位置から観測した場合に得られる、ロボット100の地面上の移動軌跡、及び人物の各々の地面上の移動軌跡を表す俯瞰データを生成する。これにより、静的なランドマークが検出されない状況であっても、動的な環境においてカメラ10を搭載したロボット100からの視点で観測された画像から、ロボット100の地面上の移動軌跡、及び人物の各々の地面上の移動軌跡を表す俯瞰データを生成することができる。
【0095】
また、学習済みモデルを用いた計算で実現できるため、計算量が少なくなり、リアルタイムでの俯瞰データの生成が可能となる。
【0096】
また、教師データとして、画像上の人物の各々の各時刻の位置及び大きさの時系列データを用いるため、実画像を用いる必要がない。これにより、教師データを作成する負担が軽減される。
【0097】
[第2実施形態]
次に、第2実施形態に係る俯瞰データ生成装置について説明する。なお、第1実施形態と同様の構成となる部分については、同一符号を付して詳細な説明を省略する。
【0098】
第2実施形態では、ユーザが保持している情報処理端末が、俯瞰データ生成装置を備えている場合を例に説明する。
【0099】
図10は、本発明の第2実施形態に係る情報処理端末200の概略構成を示す図である。図10に示すように、情報処理端末200は、カメラ10、俯瞰データ生成装置220、及び出力部250を備える。俯瞰データ生成装置220は、取得部22、追跡部24、生成部26、及びモデル記憶部27を備える。なお、ユーザが、観測移動体の一例であり、カメラ10が、観測装置の一例である。
【0100】
情報処理端末200は、ユーザにより直接保持されているか、あるいは、ユーザが保持する保持物体(例えば、スーツケース)に搭載されている。
【0101】
カメラ10は、ユーザの周囲を予め定めた間隔で撮影し、撮影した画像を俯瞰データ生成装置220の取得部22に出力する。
【0102】
生成部26は、ユーザの地面上の動き、及び人物の各々の地面上の動きを推定する学習済みモデルを用いて、画像の時系列データから取得した画像上の人物の各々の各時刻の位置及び大きさから、ユーザを俯瞰した位置から観測した場合に得られる、ユーザの地面上の移動軌跡、及び人物の各々の地面上の移動軌跡を表す俯瞰データを生成し、出力部250へ出力する。
【0103】
モデル記憶部27には、上記第1実施形態と同様に学習装置120によって学習された、ユーザの地面上の動き、及び人物の各々の地面上の動きを推定する学習済みモデルが、記憶されている。
【0104】
出力部250は、生成された俯瞰データをユーザに提示したり、インターネットを介してサーバ(図示省略)へ俯瞰データを送信する。
【0105】
また、俯瞰データ生成装置220は、図6に示すように、上記第1実施形態の俯瞰データ生成装置20と同様のハードウェア構成を有する。
【0106】
なお、俯瞰データ生成装置220の他の構成及び作用については、第1実施形態と同様であるため、説明を省略する。
【0107】
また、上記図7に示すように、第2実施形態に係る学習装置120は、教師データ記憶部122、取得部124、学習部126、及びモデル記憶部128を備える。
【0108】
教師データ記憶部122には、動的な環境においてユーザからの視点で観測された画像上の人物の各々の各時刻の位置及び大きさの時系列データと、ユーザの地面上の動き、及び人物の各々の地面上の動きの時系列データとの組み合わせが、教師データとして複数記憶されている。
【0109】
学習部126は、複数の教師データに基づいて、教師データの画像上の人物の各々の各時刻の位置及び大きさの時系列データを入力としたときに、学習済みモデル70と同様の構成を有するモデルが、教師データのユーザの地面上の動き、及び人物の各々の地面上の動きの時系列データを出力するように、当該モデルのパラメータを学習する。
【0110】
なお、学習装置120の他の構成及び作用については、第1実施形態と同様であるため、説明を省略する。
【0111】
このように、本実施形態では、情報処理端末200を保持したユーザの地面上の動き、及び人物の各々の地面上の動きを推定する学習済みモデルを用いて、画像の時系列データから、ユーザを俯瞰した位置から観測した場合に得られる、ユーザの地面上の移動軌跡、及び人物の各々の地面上の移動軌跡を表す俯瞰データを生成する。これにより、静的なランドマークが検出されない状況であっても、動的な環境においてカメラ10を有する情報処理端末200を保持したユーザからの視点で観測された画像から、ユーザの地面上の移動軌跡、及び人物の各々の地面上の移動軌跡を表す俯瞰データを生成することができる。
【0112】
本発明は、自動運転車両にも応用することができる。この場合、観測移動体は自動運転車両であり、観測装置は、カメラ、レーザーレーダー、ミリ波レーダーであり、移動体は他の車両、オートバイ、歩行者等である。
【0113】
[第3実施形態]
次に、第3実施形態に係る俯瞰データ生成装置について説明する。なお、第3実施形態に係る俯瞰データ生成装置は、第1実施形態と同様の構成であるため、同一符号を付して詳細な説明を省略する。
【0114】
第3実施形態では、ユーザの地面上の動きの分布、及び人物の各々の地面上の動きの分布を予測する点が、第1実施形態と異なっている。
【0115】
第3実施形態に係る俯瞰データ生成装置20の生成部26は、ロボット100の地面上の動き、及び人物の各々の地面上の動きの分布を予測する学習済みモデルを用いて、画像の時系列データから取得した画像上の人物の各々の各時刻の位置及び大きさから、ロボット100を俯瞰した位置から観測した場合に得られる、ロボット100の地面上の移動軌跡、及び人物の各々の地面上の位置分布を表す移動軌跡を表す俯瞰データの予測結果を生成する。
【0116】
具体的には、生成部26は、画像上の人物の各々の各時刻の位置及び大きさを入力として、一時刻先のロボット100の地面上の動き、及び人物の各々の地面上の動きの分布を予測する学習済みモデルを用いて、俯瞰データの予測結果を生成する。
【0117】
ここで、学習済みモデルは、人物の各々の対象時刻の位置及び大きさを入力とし、ベクトルを出力する第1エンコーダと、対象時刻について得られた、ロボット100の地面上の動き、及び人物の各々の地面上の動きの分布を入力とし、ベクトルを出力する第2エンコーダと、第1エンコーダによって出力されたベクトル、及び第2エンコーダによって出力されたベクトルを入力とし、対象時刻より一時刻先についてのロボット100の地面上の動き、及び人物の各々の地面上の動きの分布を出力するデコーダとを含む。
【0118】
より具体的には、学習済みモデル70の第1エンコーダ72は、ロボット100が一人称視点で観測した各人物の位置及び大きさを入力とし、人物間のセルフアテンションをとり、得られたベクトルを出力する。
【0119】
第2エンコーダ74は、対象時刻について得られた、ロボット100の地面上の動き、及び人物の各々の地面上の動きの分布を入力とし、ロボット100の位置に対する各人物の相対位置の分布及び速度の分布をエンコーディングし、得られたベクトルを出力する。
【0120】
具体的には、時刻tについて得られた、ロボット100の地面上の動き、及び人物の各々の地面上の動きの分布から、ロボット100の位置に対する人物の各々の地面上の動きの分布を表すベクトルを求め、このベクトルを、多層パーセプトロン740に入力して得られたベクトルを、第2エンコーダ74の入力ベクトルとする。
【0121】
デコーダ76は、第1エンコーダ72の出力ベクトルと第2エンコーダ74の出力ベクトルとの間で、クロスアテンションをとり、クロスアテンションの結果から得られたベクトルを出力する。このベクトルは、ロボット100の地面上の動き、及び人物の各々の地面上の動きの分布をマルチヘッドで予測した結果を表している。
【0122】
ここで、動きの分布を表すベクトルは、例えば、対象時刻に対する相対位置のガウス分布(平均及び分散)、並びに相対速度のガウス分布(平均及び分散)を表すベクトルである。なお、動きの分布を表すベクトルは、対象時刻に対する相対位置のガウス分布(平均及び分散)を表すベクトル、又は対象時刻に対する相対速度のガウス分布(平均及び分散)を表すベクトルであってもよい。
【0123】
本実施形態では、生成部26は、画像上の人物の各々の時刻tの位置及び大きさを表すベクトル、並びに時刻tについて得られた、ロボット100の地面上の動きを表すベクトル、及び人物の各々の地面上の動きの分布を表すベクトルから、学習済みモデル70を用いて、時刻t+1における、ロボット100の地面上の動きを表すベクトル、及び人物の各々の地面上の動きの分布を表すベクトルを求めることを、各時刻tについて繰り返すことにより、俯瞰データの予測結果を生成する。
【0124】
生成部26は、例えば、図11Aに示すような俯瞰データの予測結果を生成する。図11Aは、相対位置から求まる位置を示す黒丸をつないだ線でロボット100の地面上の移動軌跡を示している。また、図11Aは、相対位置の平均から求まる平均位置を示す×印をつないだ線で人物の各々の地面上の移動軌跡を示し、×印の周りの楕円で、相対位置の分布から求まる位置の分布を示す例を示している。分布を示す楕円は、円であってもよいし、等高線、高さの分布を示す色分けをして表示してもよい。また、ロボット100の位置は、ロボット100の制御や位置を特定するセンサの誤差を含むため、その不確定性の分布を含み計算し、分布と共に表示してもよい
また、図11Bに示すような、次の時刻の人物の各々の地面上の位置の分布を表す俯瞰データを生成してもよい。図11Bでは、縦軸、横軸は距離を表し、ロボット(逆三角)、人の位置の分布を含む俯瞰図の例を示している。等高線の楕円は、不確かさの分布を伴う人の位置を示し、点線はロボット100のカメラの視界を示している。図11Bの例は、ロボット100内の情報を表した図のため、ロボットの位置は固定(不確かさの分布はない)され、人のみが不確かさの分布を持つ。
【0125】
制御部28は、俯瞰データを用いて、ロボット100が人物と衝突せず、かつ、ロボット100が目的地に移動するように自律走行部60を制御する。例えば、制御部28は、ロボット100の移動方向及び速度を指定し、指定された移動方向及び速度で移動するように自律走行部60を制御する。このとき、上記図11の俯瞰データの楕円の範囲を回避するように、ロボット100の移動方向及び速度を指定することにより、ロボット100と人物との衝突をより回避することができる。
【0126】
第3実施形態に係る学習装置120の教師データ記憶部122には、動的な環境においてロボット100からの視点で観測された画像上の人物の各々の各時刻の位置及び大きさの時系列データと、ロボット100の地面上の動き、及び人物の各々の地面上の動きの時系列データとの組み合わせが、教師データとして複数記憶されている。ここで、教師データでは、動的な環境においてユーザからの視点で観測された画像上の人物の各々の当該時刻の位置及び大きさと、ユーザの次時刻の地面上の動き、及び人物の各々の次時刻の地面上の動きとが対応付けられている。
【0127】
取得部124は、教師データ記憶部122から、複数の教師データを取得する。
【0128】
学習部126は、複数の教師データに基づいて、教師データの画像上の人物の各々の各時刻の位置及び大きさの時系列データを入力としたときに、学習済みモデル70と同様の構成を有するモデルが、教師データのロボット100の地面上の動きに対応する動きの時系列データ、及び教師データの人物の各々の地面上の動きに対応する動きの分布の時系列データを出力するように、当該モデルのパラメータを学習する。
【0129】
モデル記憶部128には、学習部126による学習結果が、学習済みモデルとして記憶される。
【0130】
なお、第3実施形態に係る俯瞰データ生成装置20及び学習装置120の他の構成及び作用については、第1実施形態と同様であるため、説明を省略する。
【0131】
このように、本実施形態によれば、ロボット100の次時刻の地面上の動き、及び人物の各々の次時刻の地面上の動きを予測する学習済みモデルを用いて、画像の時系列データから、ロボット100を俯瞰した位置から観測した場合に得られる、ロボット100の地面上の移動軌跡、及び人物の各々の地面上の移動軌跡を表す俯瞰データの予測結果を生成する。これにより、静的なランドマークが検出されない状況であっても、動的な環境においてカメラ10を搭載したロボット100からの視点で観測された画像から、ロボット100の地面上の移動軌跡、及び人物の各々の地面上の移動軌跡を表す俯瞰データの予測結果を生成することができる。
【0132】
[実施例]
上記第1実施形態の俯瞰データ生成装置20により、画像の時系列データから、俯瞰データを生成した例について説明する。
【0133】
比較例として、各時刻についての、ロボットからの人物の相対位置と、動きモデルとを用いて表される事後分布であって、一時刻前のロボット及び人物の各々の地面上の位置、並びに現時刻における画像上の人物の各々の位置及び大きさが与えられた下での、ロボット及び人物の各々の地面上の位置の事後分布を最大化するように、俯瞰データを生成する方法を用いた。
【0134】
「Hotel」、「ETH」、「Students」という異なるシーンのデータベースに対して、計算量を測定した。また、比較例では、CPUを用い、実施例では、CPU、GPUを用いた場合について計算量を測定した。計算量を測定した結果を、表1に示す。
【0135】
【表1】
【0136】
表1に示すように、比較例(GeoVB)に比べて、実施例(ViewBirdiformer)の方が、計算量が少なくなることが分かった。また、デバイスとしてGPUを用いると、更に計算量が少なくなることが分かった。
【0137】
[変形例]
なお、上記の実施形態では、ロボット100や情報処理端末200が俯瞰データ生成装置20、220を備えた場合について説明したが、俯瞰データ生成装置20、220の機能を外部サーバに設けてもよい。この場合、ロボット100や情報処理端末200は、カメラ10で撮影した画像の時系列データを外部サーバに送信する。外部サーバは、送信された画像の時系列データから、俯瞰データを生成し、ロボット100や情報処理端末200に送信する。
【0138】
また、生成部26は、カメラ10により撮影される画像から静的なランドマークが検出される条件下では、画像が表す静的なランドマークを用いて俯瞰データを生成してもよい。例えば、上記の非特許文献2に記載の技術を用いてもよい。この場合、カメラ10により撮影される画像から静的なランドマークが検出される条件下では、画像が表す静的なランドマークを用いて俯瞰データを生成するようにし、カメラ10により撮影される画像から静的なランドマークが検出されない条件下(例えば、混雑した環境)では、上記の実施形態で説明した手法により、俯瞰データを生成してもよい。また、画像が表す静的なランドマークを用いて生成された俯瞰データと、上記の実施形態で説明した手法により生成された俯瞰データとを統合するようにしてもよい。
【0139】
また、追跡部24は、画像上の人物の各々について、当該人物を表すバウンディングボックスを検出して追跡し、画像上の人物の中心位置(バウンディングボックスの中心位置)及び高さ(バウンディングボックスの高さ)を時刻毎に取得する場合を例に説明したが、これに限定されるものではない。例えば、追跡部24は、画像上の人物の各々について、当該人物を表す人物骨格を検出して追跡し、画像上の人物の中心位置(人物骨格の中心位置)及び高さ(人物骨格の高さ)を時刻毎に取得するようにしてもよい。また、図12に示すように、追跡部24は、画像上の人物の各々について、当該人物を表す高さを示す線を検出して追跡し、画像上の人物の中心位置(線の中心位置)及び高さ(線の高さ)を時刻毎に取得するようにしてもよい。
【0140】
また、2次元観測情報が、画像である場合を例に説明したが、これに限定されるものではない。例えば、観測装置がイベントカメラであれば、各画素について、動きに応じた画素値を有するデータを、2次元観測情報として用いてもよい。
【0141】
また、俯瞰データが表す移動体が人物である場合を例に説明したが、これに限定されるものではない。例えば、俯瞰データが表す移動体が、自転車、車両などのパーソナルモビリティであってもよい。
【0142】
また、上記第1実施形態において、上記第3実施形態と同様に、ロボットの地面上の動き、及び人物の各々の地面上の動きの分布を推定する学習済みモデルを用いて、2次元観測情報の時系列データから、ロボットを俯瞰した位置から観測した場合に得られる、ロボットの地面上の移動軌跡、及び人物の各々の地面上の位置分布を表す移動軌跡を表す俯瞰データを生成するようにしてもよい。
【0143】
また、上記各実施形態でCPUがソフトウェア(プログラム)を読み込んで実行し俯瞰データ生成処理及び学習処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、俯瞰データ生成処理及び学習処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
【0144】
また、上記各実施形態では、俯瞰データ生成プログラム及び学習プログラムがストレージ64に予め記憶されている態様を説明したが、これに限定されない。プログラムは、CD-ROM(Compact Disc Read Only Memory)、DVD-ROM(Digital Versatile Disc Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の記録媒体に記録された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
【0145】
以上の実施形態に関し、更に以下の付記を開示する。
【0146】
[付記1]
動的な環境において観測装置を搭載した観測移動体からの視点で観測された少なくとも1つの移動体を表す2次元観測情報の時系列データを取得する取得部と、
前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きを推定する学習済みモデルを用いて、
前記2次元観測情報の時系列データから、前記観測移動体を俯瞰した位置から観測した場合に得られる、前記観測移動体の地面上の移動軌跡、及び前記移動体の各々の地面上の移動軌跡を表す俯瞰データを生成する生成部と、
を含む俯瞰データ生成装置。
【0147】
[付記2]
前記生成部は、
前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きの分布を推定する学習済みモデルを用いて、
前記2次元観測情報の時系列データから、前記観測移動体を俯瞰した位置から観測した場合に得られる、前記観測移動体の地面上の移動軌跡、及び前記移動体の各々の地面上の位置分布を表す移動軌跡を表す俯瞰データを生成する付記1記載の俯瞰データ生成装置。
【0148】
[付記3]
前記2次元観測情報の時系列データから、前記移動体の各々を追跡し、前記2次元観測情報上の前記移動体の各々の各時刻の位置及び大きさを取得する追跡部を更に含み、
前記生成部は、前記2次元観測情報上の前記移動体の各々の各時刻の位置及び大きさを入力として、前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きを推定する前記学習済みモデルを用いて、前記俯瞰データを生成する付記1又は2記載の俯瞰データ生成装置。
【0149】
[付記4]
前記学習済みモデルは、
前記移動体の各々の対象時刻の位置及び大きさを入力とし、ベクトルを出力する第1エンコーダと、
一時刻前について得られた、前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きを入力とし、ベクトルを出力する第2エンコーダと、
前記第1エンコーダによって出力された前記ベクトル、及び前記第2エンコーダによって出力された前記ベクトルを入力とし、前記対象時刻についての前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きを出力するデコーダとを含む付記3記載の俯瞰データ生成装置。
【0150】
[付記5]
動的な環境において観測装置を搭載した観測移動体からの視点で観測された少なくとも1つの移動体を表す2次元観測情報上の前記移動体の各々の各時刻の位置及び大きさの時系列データと、前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きの時系列データとの組み合わせを教師データとして取得する取得部と、
前記教師データに基づいて、前記2次元観測情報上の前記移動体の各々の各時刻の位置及び大きさを入力として、前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きを推定するモデルを学習する学習部と、
を含む学習装置。
【0151】
[付記6]
前記モデルは、
前記移動体の各々の対象時刻の位置及び大きさを入力とし、ベクトルを出力する第1エンコーダと、
一時刻前について得られた、前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きを入力とし、ベクトルを出力する第2エンコーダと、
前記第1エンコーダによって出力された前記ベクトル、及び前記第2エンコーダによって出力された前記ベクトルを入力とし、対象時刻についての前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きを出力するデコーダとを含む付記5記載の学習装置。
【0152】
[付記7]
動的な環境において観測装置を搭載した観測移動体からの視点で観測された少なくとも1つの移動体を表す2次元観測情報の時系列データを取得する取得部と、
前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きを予測する学習済みモデルを用いて、
前記2次元観測情報の時系列データから、前記観測移動体を俯瞰した位置から観測した場合に得られる、前記観測移動体の地面上の移動軌跡、及び前記移動体の各々の地面上の移動軌跡を表す俯瞰データの予測結果を生成する生成部と、
を含む俯瞰データ生成装置。
【0153】
[付記8]
前記生成部は、
前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きの分布を予測する学習済みモデルを用いて、
前記2次元観測情報の時系列データから、前記観測移動体を俯瞰した位置から観測した場合に得られる、前記観測移動体の地面上の移動軌跡、及び前記移動体の各々の地面上の位置分布を表す移動軌跡を表す俯瞰データの予測結果を生成する付記7記載の俯瞰データ生成装置。
【0154】
[付記9]
コンピュータに、
動的な環境において観測装置を搭載した観測移動体からの視点で観測された少なくとも1つの移動体を表す2次元観測情報の時系列データを取得する取得工程と、
前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きを推定する学習済みモデルを用いて、
前記2次元観測情報の時系列データから、前記観測移動体を俯瞰した位置から観測した場合に得られる、前記観測移動体の地面上の移動軌跡、及び前記移動体の各々の地面上の移動軌跡を表す俯瞰データを生成する生成工程と、
を含む処理を実行させるための俯瞰データ生成プログラム。
【0155】
[付記10]
コンピュータが、
動的な環境において観測装置を搭載した観測移動体からの視点で観測された少なくとも1つの移動体を表す2次元観測情報の時系列データを取得する取得工程と、
前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きを推定する学習済みモデルを用いて、
前記2次元観測情報の時系列データから、前記観測移動体を俯瞰した位置から観測した場合に得られる、前記観測移動体の地面上の移動軌跡、及び前記移動体の各々の地面上の移動軌跡を表す俯瞰データを生成する生成工程と、
を含む処理を実行する俯瞰データ生成方法。
【0156】
[付記11]
動的な環境において観測装置を搭載したロボットからの視点で観測された少なくとも1つの移動体を表す2次元観測情報の時系列データを取得する取得部と、
前記ロボットの地面上の動き、及び前記移動体の各々の地面上の動きを推定する学習済みモデルを用いて、
前記2次元観測情報の時系列データから、前記ロボットを俯瞰した位置から観測した場合に得られる、前記ロボットの地面上の移動軌跡、及び前記移動体の各々の地面上の移動軌跡を表す俯瞰データを生成する生成部と、
前記ロボットを自律走行させる自律走行部と、
前記俯瞰データを用いて、前記ロボットが目的地に移動するように前記自律走行部を制御する制御部と、
を含むロボット。
【0157】
[付記12]
コンピュータに、
動的な環境において観測装置を搭載した観測移動体からの視点で観測された少なくとも1つの移動体を表す2次元観測情報の時系列データを取得する取得工程と、
前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きを予測する学習済みモデルを用いて、
前記2次元観測情報の時系列データから、前記観測移動体を俯瞰した位置から観測した場合に得られる、前記観測移動体の地面上の移動軌跡、及び前記移動体の各々の地面上の移動軌跡を表す俯瞰データの予測結果を生成する生成工程と、
を含む処理を実行させるための俯瞰データ生成プログラム。
【0158】
[付記13]
コンピュータが、
動的な環境において観測装置を搭載した観測移動体からの視点で観測された少なくとも1つの移動体を表す2次元観測情報の時系列データを取得する取得工程と、
前記観測移動体の地面上の動き、及び前記移動体の各々の地面上の動きを予測する学習済みモデルを用いて、
前記2次元観測情報の時系列データから、前記観測移動体を俯瞰した位置から観測した場合に得られる、前記観測移動体の地面上の移動軌跡、及び前記移動体の各々の地面上の移動軌跡を表す俯瞰データの予測結果を生成する生成工程と、
を含む処理を実行する俯瞰データ生成方法。
【0159】
[付記14]
動的な環境において観測装置を搭載したロボットからの視点で観測された少なくとも1つの移動体を表す2次元観測情報の時系列データを取得する取得部と、
前記ロボットの地面上の動き、及び前記移動体の各々の地面上の動きを予測する学習済みモデルを用いて、
前記2次元観測情報の時系列データから、前記ロボットを俯瞰した位置から観測した場合に得られる、前記ロボットの地面上の移動軌跡、及び前記移動体の各々の地面上の移動軌跡を表す俯瞰データの予測結果を生成する生成部と、
前記ロボットを自律走行させる自律走行部と、
前記俯瞰データの予測結果を用いて、前記ロボットが目的地に移動するように前記自律走行部を制御する制御部と、
を含むロボット。
【符号の説明】
【0160】
10 カメラ
20 俯瞰データ生成装置
22 取得部
24 追跡部
26 生成部
28 制御部
50 報知部
60 自律走行部
70 学習済みモデル
72 第1エンコーダ
74 第2エンコーダ
76 デコーダ
100 ロボット
120 学習装置
122 教師データ記憶部
124 取得部
126 学習部
200 情報処理端末
220 俯瞰データ生成装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11A
図11B
図12