(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024165836
(43)【公開日】2024-11-28
(54)【発明の名称】制御装置、移動体、経路計画装置、プログラム、及び、学習済みモデルを生成するための方法
(51)【国際特許分類】
G05D 1/43 20240101AFI20241121BHJP
【FI】
G05D1/02 P
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2023082369
(22)【出願日】2023-05-18
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り 令和5年1月17日に、2023 IEEE/SICE International Symposium on System Integration (SII 2023)予稿集において、「相対カメラ姿勢推定に基づく廊下環境用の単眼ナビゲーションシステム:SLAMを用いないアプローチ」(″Monocular Navigation System for Corridor Environments Based on Relative Camera Pose Estimation: An Approach without SLAM″)に関する技術の要旨を公開した また、令和5年1月19日に、2023 IEEE/SICE International Symposium on System Integration (SII 2023)において、上記の技術を公開した。
(71)【出願人】
【識別番号】801000027
【氏名又は名称】学校法人明治大学
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】黒田 洋司
(72)【発明者】
【氏名】平川 康則
【テーマコード(参考)】
5H301
【Fターム(参考)】
5H301AA02
5H301BB14
5H301CC03
5H301CC06
5H301CC10
5H301DD07
5H301GG08
5H301GG09
5H301KK03
5H301KK08
5H301KK18
5H301LL01
5H301LL06
5H301LL12
(57)【要約】
【解決手段】 自律移動する移動体を制御するための制御装置が、移動体の出発地点から目的地点までの予定経路を決定する経路計画部を備える。経路計画部は、複数の地点のそれぞれに対応する複数のノード、及び、複数のノードのそれぞれを結合する1以上のエッジを含む重み付きグラフを記憶する第2記憶装置を参照して、出発地点又は出発地点の近傍に配された地点に対応するノードである始点ノードから、目的地点又は目的地点の近傍に配された地点に対応するノードである終点ノードまでのエッジの重みの和が最も小さくなるようなノード列を導出することで、予定経路を決定する。重み付きグラフにおいて、1以上のエッジのそれぞれの重みは、各エッジが結合する2個のノードのそれぞれに対応する2個の地点のそれぞれの参照画像が類似する度合いを示す。
【選択図】
図1
【特許請求の範囲】
【請求項1】
予め定められた地理的範囲の内部を自律移動する移動体を制御するための制御装置であって、
前記移動体は、前記移動体の周囲を撮像する第1撮像装置を備え、
前記制御装置は、前記地理的範囲の内部に配される複数の地点のそれぞれにおいて予め撮像された画像である複数の参照画像を、前記複数の地点の識別情報と対応付けて記憶する第1記憶装置にアクセス可能に構成されており、
前記制御装置は、
前記移動体の出発地点から目的地点までの予定経路を決定する経路計画部と、
前記複数の地点のうち、前記予定経路を構成する1以上の地点である1以上の中継地点を示す経路情報を取得する経路情報取得部と、
前記1以上の中継地点のうち、前記移動体の目標となる目標地点を決定する目標地点決定部と、
前記第1記憶装置を参照して、前記複数の参照画像のうち、前記目標地点に対応付けられた参照画像である目標画像を取得する目標画像取得部と、
前記移動体の現在の位置及び姿勢において前記第1撮像装置が撮像した画像である現在画像を取得する現在画像取得部と、
前記目標画像及び前記現在画像に基づいて、前記移動体の現在の位置及び姿勢と、前記目標地点において目標となる前記移動体の位置及び姿勢との間の相対的な関係を示す指標である相対指標の値を導出する相対指標導出部と、
を備え、
前記相対指標導出部は、(i)前記目標画像及び前記現在画像を、学習済みの推定モデルに入力し、(ii)前記推定モデルから、前記相対指標に関する推定結果に対応する出力を導出し、
前記経路計画部は、前記複数の地点のそれぞれに対応する複数のノード、及び、前記複数のノードのそれぞれを結合する1以上のエッジを含む重み付きグラフを記憶する第2記憶装置を参照して、前記出発地点又は前記出発地点の近傍に配された地点に対応するノードである始点ノードから、前記目的地点又は前記目的地点の近傍に配された地点に対応するノードである終点ノードまでのエッジの重みの和が最も小さくなるようなノード列を導出することで、前記予定経路を決定し、
前記重み付きグラフにおいて、前記1以上のエッジのそれぞれの重みは、各エッジが結合する2個のノードのそれぞれに対応する2個の地点のそれぞれの参照画像が類似する度合いを示す、
制御装置。
【請求項2】
前記推定モデルは、
前記目標画像及び前記現在画像を入力とし、前記目標画像の特徴量及び前記現在画像の特徴量を抽出する特徴量抽出部と、
前記目標画像の特徴量及び前記現在画像の特徴量を入力とし、前記相対指標に関する前記推定結果を出力する相対指標推定部と、
を有する、
請求項1に記載の制御装置。
【請求項3】
前記特徴量抽出部は、
前記目標画像を入力し、前記目標画像の特徴量を抽出する第1抽出部と、
前記現在画像を入力し、前記現在画像の特徴量を抽出する第2抽出部と、
を含み、
前記第1抽出部は、(i)前記目標画像を学習済みの第1抽出モデルに入力し、(ii)前記第1抽出モデルから、前記目標画像の特徴量に関する推定結果に対応する出力を導出し、
前記第2抽出部は、(i)前記現在画像を学習済みの第2抽出モデルに入力し、(ii)前記第2抽出モデルから、前記現在画像の特徴量に関する推定結果に対応する出力を導出し、
前記第1抽出モデル及び前記第2抽出モデルは、画像を入力とし、当該画像の特徴ベクトルを出力とする距離学習により生成された学習済みモデルである、
請求項2に記載の制御装置。
【請求項4】
複数の第1学習用データを含む第1学習用データセットを取得する第1データセット取得部と、
前記第1学習用データセットに含まれる2個の第1学習用データの組み合わせを用いて機械学習を実行することにより、学習済みの前記推定モデルを生成する推定モデル生成部と、
をさらに備え、
前記第1学習用データのそれぞれは、画像と、当該画像を撮像した第2撮像装置の位置である撮像位置と、前記第2撮像装置の姿勢である撮像姿勢とが対応付けられたデータであり、
前記推定モデル生成部は、複数の前記組み合わせのそれぞれについて、前記2個の第1学習用データの一方に含まれる第1画像と、前記2個の第1学習用データの他方に含まれる第2画像とを入力とし、前記第1画像に対応する撮像位置及び撮像姿勢と、前記第2画像に対応する撮像位置及び撮像姿勢との間の相対的な関係の推定結果に関する値を出力とする機械学習により、前記推定モデルを生成する、
請求項1に記載の制御装置。
【請求項5】
前記相対指標導出部が導出した前記相対指標に基づいて前記移動体を移動させる移動制御部をさらに備える、
請求項1に記載の制御装置。
【請求項6】
パーティクルフィルタ又は逐次モンテカルロ法により前記移動体の現在位置を推定し、当該推定された現在位置に基づいて前記相対指標の値を補正する補正部をさらに備え、
前記移動制御部は、前記補正部が補正した前記相対指標の値に基づいて前記移動体を移動させる、
請求項5に記載の制御装置。
【請求項7】
前記出発地点において前記第1撮像装置が撮像した画像である出発地画像を取得する出発地画像取得部と、
前記複数の参照画像のそれぞれが前記出発地画像に類似する度合いを導出する類似度導出部と、
前記出発地画像に最も類似する参照画像に対応するノードを、前記始点ノードとして決定する始点ノード決定部と、
をさらに備える、
請求項1に記載の制御装置。
【請求項8】
ユーザからの入力に基づいて、前記終点ノードを決定する終点ノード決定部をさらに備える、
請求項1に記載の制御装置。
【請求項9】
自律的に移動可能な移動体であって、
請求項1から請求項8までの何れか一項に記載の制御装置と、
前記制御装置の指示に従って前記移動体を移動させる駆動部と、
を備える、
移動体。
【請求項10】
コンピュータを、請求項1から請求項8までの何れか一項に記載の制御装置として機能させるためのプログラム。
【請求項11】
予め定められた地理的範囲の内部を自律移動する移動体の出発地点から目的地点までの予定経路を決定する経路計画装置であって、
前記経路計画装置は、前記地理的範囲の内部に配される複数の地点のそれぞれに対応する複数のノード、及び、前記複数のノードのそれぞれを結合する1以上のエッジを含む重み付きグラフを記憶する記憶装置にアクセス可能に構成されており、
前記重み付きグラフにおいて、前記1以上のエッジのそれぞれの重みは、各エッジが結合する2個のノードのそれぞれに対応する2個の地点のそれぞれにおいて予め撮像された画像である参照画像が類似する度合いを示し、
前記経路計画装置は、前記予定経路を決定する経路計画部を備え、
前記経路計画部は、前記記憶装置を参照して、前記出発地点又は前記出発地点の近傍に配された地点に対応するノードである始点ノードから、前記目的地点又は前記目的地点の近傍に配された地点に対応するノードである終点ノードまでのエッジの重みの和が最も小さくなるようなノード列を導出することで、前記予定経路を決定する、
経路計画装置。
【請求項12】
複数の学習用データを含む学習用データセットを取得する段階と、
前記学習用データセットを用いて距離学習を実行することにより、画像を入力し、当該画像の特徴量の推定結果に関する値を出力するための特徴量出力モデルを生成する段階と、
を有し、
前記複数の学習用データのそれぞれは、基準画像、1以上の類似画像、及び、1以上の非類似画像が対応付けられたデータであり、
前記1以上の類似画像のそれぞれが撮像された地理的な位置と、前記基準画像が撮像された地理的な位置との関係は、予め定められた条件に合致し、
前記1以上の非類似画像のそれぞれが撮像された地理的な地点と、前記基準画像が撮像された地理的な位置との関係は、前記予め定められた条件に合致しない、
学習済みモデルを生成するための方法。
【請求項13】
前記予め定められた条件は、
各画像が撮像された位置の間の地理的な距離が、予め定められた第1閾値以下である又は前記第1閾値よりも小さいという条件、及び/又は、
各画像が撮像された時刻の間の期間の長さが、予め定められた第2閾値以下である又は前記第2閾値よりも小さいという条件、
を含む、
請求項12に記載の方法。
【請求項14】
前記特徴量出力モデルは、ニューラルネットワークを含み、
前記距離学習を実行することにより前記特徴量出力モデルを生成する段階は、
各学習用データに含まれる前記基準画像、前記1以上の類似画像及び前記1以上の非類似画像のそれぞれから特徴ベクトルを生成する段階と、
各学習用データに含まれる前記基準画像及び前記1以上の類似画像の組と、各学習用データに含まれる前記基準画像及び前記1以上の非類似画像の組とのそれぞれについて、特徴ベクトル間の距離を導出する段階と、
前記距離及び予め定められたマージン値に基づいて導出される損失を用いて、前記ニューラルネットワークの距離学習を実行する段階と、
を含む、
請求項12に記載の方法。
【請求項15】
前記学習用データセットを取得する段階は、前記学習用データセットを生成する段階を含み、
前記学習用データセットを生成する段階は、
予め定められた地理的範囲の内部で撮像された複数の画像の画像データと、前記複数の画像のそれぞれが撮像された地理的な位置又は前記複数の画像のそれぞれが撮像された時刻を示す補助データとを対応付けて取得する段階と、
前記複数の画像のそれぞれについて、各画像の前記画像データに対応付けられた前記補助データにより示される前記地理的な位置又は前記時刻に基づいて、各画像が撮像された地理的な位置と、前記複数の画像に含まれる少なくとも1つの他の画像が撮像された地理的な位置との関係が前記予め定められた条件に合致するか否かを判定する段階と、
各画像が撮像された地理的な位置との関係が前記予め定められた条件に合致すると判定された前記他の画像を、各画像に対応する前記1以上の類似画像として決定する段階と、
各画像が撮像された地理的な位置と関係が前記予め定められた条件に合致しないと判定された前記他の画像を、各画像に対応する前記1以上の非類似画像として決定する段階と、
を含む、
請求項12に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御装置、移動体、経路計画装置、プログラム、及び、学習済みモデルを生成するための方法に関する。
【背景技術】
【0002】
特許文献1には、画像及び位置姿勢のデータベースを用いてロボットの現在位置姿勢を決定する方法が開示されている。特許文献2には、画像及び位置のデータベースを用いて移動体の自己位置を推定する方法が開示されている。特許文献3には、環境地図及び自己位置推定手段を備えない自律移動システムが開示されている。
(先行技術文献)
(特許文献)
(特許文献1) 特許第6632173号公報
(特許文献2) 特開2016-162013号公報
(特許文献3) 特開2022-187529号公報
【発明の概要】
【課題を解決するための手段】
【0003】
本発明の第1の態様においては、制御装置が提供される。上記の制御装置は、例えば、予め定められた地理的範囲の内部を自律移動する移動体を制御する。上記の制御装置において、移動体は、例えば、移動体の周囲を撮像する第1撮像装置を備える。上記の制御装置は、例えば、地理的範囲の内部に配される複数の地点のそれぞれにおいて予め撮像された画像である複数の参照画像を、複数の地点の識別情報と対応付けて記憶する第1記憶装置にアクセス可能に構成される。
【0004】
上記の制御装置は、例えば、移動体の出発地点から目的地点までの予定経路を決定する経路計画部を備える。上記の制御装置は、例えば、複数の地点のうち、予定経路を構成する1以上の地点である1以上の中継地点を示す経路情報を取得する経路情報取得部を備える。上記の制御装置は、例えば、1以上の中継地点のうち、移動体の目標となる目標地点を決定する目標地点決定部を備える。上記の制御装置は、例えば、第1記憶装置を参照して、複数の参照画像のうち、目標地点に対応付けられた参照画像である目標画像を取得する目標画像取得部を備える。上記の制御装置は、例えば、移動体の現在の位置及び姿勢において第1撮像装置が撮像した画像である現在画像を取得する現在画像取得部を備える。上記の制御装置は、例えば、目標画像及び現在画像に基づいて、移動体の現在の位置及び姿勢と、目標地点において目標となる移動体の位置及び姿勢との間の相対的な関係を示す指標である相対指標の値を導出する相対指標導出部を備える。
【0005】
上記の何れかの制御装置において、相対指標導出部は、例えば、(i)目標画像及び現在画像を、学習済みの推定モデルに入力し、(ii)推定モデルから、相対指標に関する推定結果に対応する出力を導出する。上記の何れかの制御装置において、経路計画部は、例えば、複数の地点のそれぞれに対応する複数のノード、及び、複数のノードのそれぞれを結合する1以上のエッジを含む重み付きグラフを記憶する第2記憶装置を参照して、出発地点又は出発地点の近傍に配された地点に対応するノードである始点ノードから、目的地点又は目的地点の近傍に配された地点に対応するノードである終点ノードまでのエッジの重みの和が最も小さくなるようなノード列を導出することで、予定経路を決定する。上記の制御装置に係る重み付きグラフにおいて、1以上のエッジのそれぞれの重みは、例えば、各エッジが結合する2個のノードのそれぞれに対応する2個の地点のそれぞれの参照画像が類似する度合いを示す。
【0006】
上記の何れかの制御装置において、推定モデルは、目標画像及び現在画像を入力とし、目標画像の特徴量及び現在画像の特徴量を抽出する特徴量抽出部を有してよい。上記の何れかの制御装置において、推定モデルは、目標画像の特徴量及び現在画像の特徴量を入力とし、相対指標に関する推定結果を出力する相対指標推定部を有してよい。
【0007】
上記の何れかの制御装置において、特徴量抽出部は、目標画像を入力し、目標画像の特徴量を抽出する第1抽出部を含んでよい。上記の何れかの制御装置において、特徴量抽出部は、現在画像を入力し、現在画像の特徴量を抽出する第2抽出部を含んでよい。上記の何れかの制御装置において、第1抽出部は、(i)目標画像を学習済みの第1抽出モデルに入力し、(ii)第1抽出モデルから、目標画像の特徴量に関する推定結果に対応する出力を導出してよい。上記の何れかの制御装置において、第2抽出部は、(i)現在画像を学習済みの第2抽出モデルに入力し、(ii)第2抽出モデルから、現在画像の特徴量に関する推定結果に対応する出力を導出してよい。上記の何れかの制御装置において、第1抽出モデル及び第2抽出モデルは、画像を入力とし、当該画像の特徴ベクトルを出力とする距離学習により生成された学習済みモデルであってよい。
【0008】
上記の何れかの制御装置は、複数の第1学習用データを含む第1学習用データセットを取得する第1データセット取得部を備えてよい。上記の何れかの制御装置は、第1学習用データセットに含まれる2個の第1学習用データの組み合わせを用いて機械学習を実行することにより、学習済みの推定モデルを生成する推定モデル生成部を備えてよい。上記の何れかの制御装置において、第1学習用データのそれぞれは、画像と、当該画像を撮像した第2撮像装置の位置である撮像位置と、第2撮像装置の姿勢である撮像姿勢とが対応付けられたデータであってよい。上記の何れかの制御装置において、推定モデル生成部は、複数の組み合わせのそれぞれについて、2個の第1学習用データの一方に含まれる第1画像と、2個の第1学習用データの他方に含まれる第2画像とを入力とし、第1画像に対応する撮像位置及び撮像姿勢と、第2画像に対応する撮像位置及び撮像姿勢との間の相対的な関係の推定結果に関する値を出力とする機械学習により、推定モデルを生成してよい。
【0009】
上記の何れかの制御装置は、相対指標導出部が導出した相対指標に基づいて移動体を移動させる移動制御部を備えてよい。上記の何れかの制御装置は、パーティクルフィルタ又は逐次モンテカルロ法により移動体の現在位置を推定し、当該推定された現在位置に基づいて相対指標の値を補正する補正部を備えてよい。上記の何れかの制御装置において、移動制御部は、補正部が補正した相対指標の値に基づいて移動体を移動させてよい。
【0010】
上記の何れかの制御装置は、出発地点において第1撮像装置が撮像した画像である出発地画像を取得する出発地画像取得部を備えてよい。上記の何れかの制御装置は、複数の参照画像のそれぞれが出発地画像に類似する度合いを導出する類似度導出部を備えてよい。上記の何れかの制御装置は、出発地画像に最も類似する参照画像に対応するノードを、始点ノードとして決定する始点ノード決定部を備えてよい。上記の何れかの制御装置は、ユーザからの入力に基づいて、終点ノードを決定する終点ノード決定部を備えてよい。
【0011】
本発明の第2の態様においては、自律的に移動可能な移動体が提供される。上記の移動体は、例えば、上記の第1の態様に係る何れかの制御装置を備える。上記の移動体は、例えば、制御装置の指示に従って移動体を移動させる駆動部を備える。
【0012】
本発明の第3の態様においては、経路計画装置が提供される。上記の経路計画装置は、例えば、予め定められた地理的範囲の内部を自律移動する移動体の出発地点から目的地点までの予定経路を決定する。上記の経路計画装置は、例えば、地理的範囲の内部に配される複数の地点のそれぞれに対応する複数のノード、及び、複数のノードのそれぞれを結合する1以上のエッジを含む重み付きグラフを記憶する記憶装置にアクセス可能に構成される。上記の経路計画装置に係る重み付きグラフにおいて、1以上のエッジのそれぞれの重みは、例えば、各エッジが結合する2個のノードのそれぞれに対応する2個の地点のそれぞれにおいて予め撮像された画像である参照画像が類似する度合いを示す。
【0013】
上記の経路計画装置は、例えば、予定経路を決定する経路計画部を備える。上記の経路計画装置において、経路計画部は、例えば、上記の記憶装置を参照して、出発地点又は出発地点の近傍に配された地点に対応するノードである始点ノードから、目的地点又は目的地点の近傍に配された地点に対応するノードである終点ノードまでのエッジの重みの和が最も小さくなるようなノード列を導出することで、予定経路を決定する。
【0014】
本発明の第4の態様においては、学習済みモデルを生成するための方法が提供される。上記の方法は、例えば、複数の学習用データを含む学習用データセットを取得する段階を有する。上記の方法は、例えば、学習用データセットを用いて距離学習を実行することにより、画像を入力し、当該画像の特徴量の推定結果に関する値を出力するための特徴量出力モデルを生成する段階を有する。上記の方法において、複数の学習用データのそれぞれは、例えば、基準画像、1以上の類似画像、及び、1以上の非類似画像が対応付けられたデータである。上記の方法において、1以上の類似画像のそれぞれが撮像された地理的な位置と、基準画像が撮像された地理的な位置との関係は、例えば、予め定められた条件に合致する。上記の方法において、1以上の非類似画像のそれぞれが撮像された地理的な地点と、基準画像が撮像された地理的な位置との関係は、例えば、上記の予め定められた条件に合致しない。
【0015】
上記の何れかの方法において、予め定められた条件は、各画像が撮像された位置の間の地理的な距離が、予め定められた第1閾値以下である又は第1閾値よりも小さいという条件、及び/又は、各画像が撮像された時刻の間の期間の長さが、予め定められた第2閾値以下である又は第2閾値よりも小さいという条件を含んでよい。
【0016】
上記の何れかの方法において、特徴量出力モデルは、ニューラルネットワークを含んでよい。上記の何れかの方法において、距離学習を実行することにより特徴量出力モデルを生成する段階は、各学習用データに含まれる基準画像、1以上の類似画像及び1以上の非類似画像のそれぞれから特徴ベクトルを生成する段階を含んでよい。上記の何れかの方法において、上記の特徴量出力モデルを生成する段階は、各学習用データに含まれる基準画像及び1以上の類似画像の組と、各学習用データに含まれる基準画像及び1以上の非類似画像の組とのそれぞれについて、特徴ベクトル間の距離を導出する段階を含んでよい。上記の何れかの方法において、上記の特徴量出力モデルを生成する段階は、距離及び予め定められたマージン値に基づいて導出される損失を用いて、ニューラルネットワークの距離学習を実行する段階を含んでよい。
【0017】
上記の何れかの方法において、学習用データセットを取得する段階は、学習用データセットを生成する段階を含んでよい。上記の何れかの方法において、学習用データセットを生成する段階は、予め定められた地理的範囲の内部で撮像された複数の画像の画像データと、複数の画像のそれぞれが撮像された地理的な位置又は複数の画像のそれぞれが撮像された時刻を示す補助データとを対応付けて取得する段階を含んでよい。上記の何れかの方法において、学習用データセットを生成する段階は、複数の画像のそれぞれについて、各画像の画像データに対応付けられた補助データにより示される地理的な位置又は時刻に基づいて、各画像が撮像された地理的な位置と、複数の画像に含まれる少なくとも1つの他の画像が撮像された地理的な位置との関係が予め定められた条件に合致するか否かを判定する段階を含んでよい。上記の何れかの方法において、学習用データセットを生成する段階は、各画像が撮像された地理的な位置との関係が予め定められた条件に合致すると判定された他の画像を、各画像に対応する1以上の類似画像として決定する段階を含んでよい。上記の何れかの方法において、学習用データセットを生成する段階は、各画像が撮像された地理的な位置と関係が予め定められた条件に合致しないと判定された他の画像を、各画像に対応する1以上の非類似画像として決定する段階を含んでよい。
【0018】
本発明の第5の態様においては、プログラムが提供される。上記のプログラムを格納するコンピュータ可読媒体が提供されてもよい。コンピュータ可読媒体は、非一時的コンピュータ可読媒体であってもよく、コンピュータ可読記録媒体であってもよい。上記のプログラムは、コンピュータを、上記の第1の態様に係る制御装置として機能させるためのプログラムであってよい。上記のプログラムは、コンピュータを、上記の第3の態様に係る経路計画装置として機能させるためのプログラムであってよい。上記のプログラムは、コンピュータに、上記の第4の態様に係る学習済みモデルを生成するための方法を実行させるためのプログラムであってもよい。
【0019】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0020】
【
図1】移動体管理システム100のシステム構成の一例を概略的に示す
【
図2】移動体管理システム100における情報処理の一例を概略的に示す。
【
図4】制御量推定モデル400の一例を概略的に示す。
【
図5】各種モデルの生成処理の一例を概略的に示す。
【
図6】自律移動体110の内部構成の一例を概略的に示す。
【
図7】経路案内部650の内部構成の一例を概略的に示す。
【
図8】大域的経路計画部720の内部構成の一例を概略的に示す。
【
図9】制御量決定部754の内部構成の一例を概略的に示す。
【
図10】管理サーバ120の内部構成の一例を概略的に示す。
【
図11】変換モデル用教師データ生成部1042の一例を概略的に示す。
【
図12】トポロジカルマップの概念図の一例を概略的に示す。
【
図14】コンピュータ3000のシステム構成の一例を概略的に示す。
【発明を実施するための形態】
【0021】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。なお、図面において、同一または類似の部分には同一の参照番号を付して、重複する説明を省く場合がある。
【0022】
(移動体管理システム100の概要)
図1は、移動体管理システム100のシステム構成の一例を概略的に示す。本実施形態において、移動体管理システム100は、自律移動体110と、管理サーバ120とを備える。本実施形態において、自律移動体110は、カメラ112と、制御部114とを有する。
【0023】
本実施形態において、自律移動体110及び管理サーバ120は、通信ネットワーク(図示されていない。)を介して情報を送受可能に構成される。通信ネットワークは、有線通信の伝送路であってもよく、無線通信の伝送路であってもよく、それらの組み合わせであってもよい。通信ネットワークは、インターネット、専用回線、無線通信網又はそれらの組み合わせであってもよい。通信ネットワークは、アドホックネットワークなどのP2Pネットワークを含んでもよい。
【0024】
無線通信網における通信方式は、移動体通信方式であってもよく、無線データ通信方式であってもよい。移動体通信方式としては、3G方式、LTE方式、4G方式、5G方式などが例示される。無線データ通信方式としては、無線PAN方式、無線LAN方式、無線MAN方式、無線WAN方式などが例示される。無線通信網における通信方式は、各種の近距離無線通信方式であってもよい。
【0025】
図1において、xw及びywは、ワールド座標系を示す。また、xm及びymは、自律移動体110の重心Moを原点とする直交座標を示す。本実施形態においては、説明を簡単にすることを目的として、自律移動体110の重心を原点とする直交座標と、カメラ112の重心を原点とする直交座標とが一致する場合を例として、移動体管理システム100の詳細が説明される。
【0026】
本実施形態においては、移動体管理システム100の理解を容易にすることを目的として、自律移動体110及び管理サーバ120が協働して、自律移動体110の自律移動を制御する場合を例として、移動体管理システム100の詳細が説明される。同様に、本実施形態においては、移動体管理システム100の理解を容易にすることを目的として、自律移動体110が、管理区域10の内部で二次元的に走行する場合を例として、移動体管理システム100の詳細が説明される。しかしながら、移動体管理システム100及び自律移動体110は、本実施形態に限定されないことに留意すべきである。
【0027】
本実施形態に係る移動体管理システム100は、管理区域10の内部に配される複数の地点(参照地点20と称される。)において予め撮像された複数の画像(参照画像22と称される。)を用いて、自律移動体110の自律走行を制御する。具体的には、移動体管理システム100は、2つの画像の類似する度合いを示す指標である類似度に基づいて、自律移動体110の自律走行を制御する。上記の類似度としては、コサイン類似度、ユークリッド距離、マンハッタン距離などが例示される。なお、ユークリッド距離及びマンハッタン距離は、その値が小さいほど類似度が大きいことを示す。
【0028】
例えば、移動体管理システム100は、自律移動体110の大域的な経路(予定経路と称される場合がある。)の上に配された地点であって、自律移動体110の局所的な目標となる地点(目標地点と称される場合がある。)の参照画像22(目標画像と称される場合がある。)と、自律移動体110が予定経路に従って移動している期間中に自律移動体110に搭載されたカメラ112が撮像した画像(現在画像と称される場合がある。)との類似度に基づいて、当該目標地点に対する自律移動体110の相対的な位置及び姿勢(位置姿勢と称される場合がある。)を推定又は認識する。
【0029】
移動体管理システム100は、上記の相対的な位置姿勢に基づいて、自律移動体110の制御量を決定する。上記の制御量としては、目標地点までの移動量及び/又は回転量が例示される。これにより、画像ベースの経路案内が実現される。
【0030】
自律移動体110の自律移動を制御するための他のシステムとして、例えば、自律移動体110の位置座標に基づいて自律移動体110の自律走行を制御するシステムを利用することが考えられる。しかしながら、上記のシステムを利用した場合、例えば、GPS信号を受信できない区域又は内界センサの誤差が大きくなる区域において、自律移動体110の移動を精度よく制御することが難しい。また、上記のシステムにおいては、(i)広範囲にわたる正確な地図を構築したり、当該地図を更新したりするために膨大な手間がかかる、(ii)地図と独立して経路情報を管理する必要がある、(iii)自律移動体110のセンサ構成に対する制約及び/又は依存度が大きいなどの課題がある。
【0031】
自律移動体110の自律移動を制御するための他のシステムとして、例えば、自律移動体110の移動経路として予め与えられた複数の画像を用いて、当該画像の特徴点に基づいて自律移動体110の自律走行を制御するシステムを利用することが考えられる。このようなシステムとしては、Visual SimultaneousLocalization and Mapping(SLAM)が知られている。しかしながら、上記のシステムを利用した場合、例えば、視覚的な変化が比較的少ない区画又は照度が比較的小さい区画において、自律移動体110の移動を精度よく制御することが難しい。また、上記のシステムにおいても、地図及び/又は経路の構築及び管理に膨大な手間がかかる。
【0032】
これに対して、本実施形態に係る移動体管理システム100によれば、例えば、自律移動体110の位置座標を用いることなく、自律移動体110の予定経路に対する自律移動体110の相対的な位置姿勢を推定又は認識することができる。また、本実施形態に係る移動体管理システム100によれば、少なくとも一方の画像から特徴点を抽出することが難しい場合であっても、画像の類似度が導出され得る。加えて、本実施形態に係る移動体管理システム100の一実施形態によれば、何らかの手順に従って自律移動体110の目的地点の画像が指定されれば、大局的な経路が自動的に計画され得る。
【0033】
(移動体管理システム100に関連する各部の概要)
本実施形態において、管理区域10は、例えば、予め定められた地理的範囲を有する。管理区域10の内部には、自律移動体110の走行が許可された区域である走行許可区域12が設定されてよい。管理区域10の内部には、自律移動体110の走行が禁止された区域である走行禁止区域14が設定されてよい。
【0034】
本実施形態において、自律移動体110は自律走行機能を有していればよく、自律移動体110の種類及び構造は、特に限定されない。自律移動体110としては、例えば、車輪又は無限軌道を利用して走行する各種の車両が用いられ得る。車輪又は無限軌道の個数は特に限定されない。自律移動体110の詳細は後述される。
【0035】
本実施形態において、カメラ112は、自律移動体110の周囲を撮像する。カメラ112は、全天球カメラであってもよく、複数の撮像素子を含んでもよい。カメラ112は、可視光カメラを含んでもよく、赤外線カメラを含んでもよい。
【0036】
本実施形態において、制御部114は、自律移動体110の各種の動作を制御する。制御部114は、例えば、自律移動体110の自律走行を制御する。制御部114の詳細は後述される。
【0037】
本実施形態において、管理サーバ120は、自律移動体110に関する各種の情報を管理する。管理サーバ120は、自律移動体110と協働して、自律移動体110の自律走行を管理してもよい。管理サーバ120の詳細は後述される。
【0038】
(移動体管理システム100の各部の具体的な構成)
移動体管理システム100の各部は、ハードウェアにより実現されてもよく、ソフトウェアにより実現されてもよく、ハードウェア及びソフトウェアにより実現されてもよい。移動体管理システム100の各部は、その少なくとも一部が、パーソナルコンピュータ又は携帯端末によって実現されてもよい。例えば、パーソナルコンピュータ又は携帯端末が、移動体管理システム100のユーザインターフェースとして利用され得る。携帯端末としては、携帯電話、スマートフォン、PDA(登録商標)、タブレット、ノートブック・コンピュータ又はラップトップ・コンピュータ、ウェアラブル・コンピュータなどが例示される。
【0039】
移動体管理システム100を構成する構成要素の少なくとも一部がソフトウェアにより実現される場合、当該ソフトウェアにより実現される構成要素は、一般的な構成の情報処理装置において、当該構成要素に関する動作を規定したプログラムを起動することにより実現されてよい。上記の情報処理装置は、例えば、(i)各種プロセッサ(プロセッサとしては、CPU、GPUなどが例示される)、ROM、RAM、通信インターフェースなどを有するデータ処理装置と、(ii)メモリ、HDDなどの記憶装置(外部記憶装置を含む。)とを備える。上記の情報処理装置は、(iii)キーボード、タッチパネル、カメラ、マイク、各種センサ、GPS受信機などの入力装置を備えてもよく、(iv)表示装置、スピーカ、振動装置などの出力装置を備えてもよい。
【0040】
上記の情報処理装置において、上記のデータ処理装置又は記憶装置は、プログラムを格納してよい。上記のプログラムに記述された情報処理は、例えば、当該プログラムがコンピュータに読込まれることにより、当該プログラムに関連するソフトウェアと、移動体管理システム100の少なくとも一部を構成する各種のハードウェア資源とが協働した具体的手段として機能する。そして、上記の具体的手段が、本実施形態におけるコンピュータの使用目的に応じた情報の演算又は加工を実現することにより、当該使用目的に応じた移動体管理システム100又はその一部が構築される。
【0041】
上記のプログラムは、コンピュータ可読媒体に格納されていてもよい。上記のプログラムは、非一時的なコンピュータ可読記録媒体に格納されていてもよい。上記のプログラムは、CD-ROM、DVD-ROM、メモリ、ハードディスクなどのコンピュータ読み取り可能な媒体に記憶されていてもよく、ネットワークに接続された記憶装置に記憶されていてもよい。上記のプログラムは、コンピュータ読み取り可能な媒体又はネットワークに接続された記憶装置から、移動体管理システム100の少なくとも一部を構成するコンピュータにインストールされてよい。
【0042】
上記のプログラムが実行されることにより、コンピュータが、移動体管理システム100の各部の少なくとも一部として機能してもよい。上記のプログラムが実行されることにより、コンピュータが、移動体管理システム100の少なくとも一部における情報処理方法を実行してもよい。上記のコンピュータは、機械学習によって学習済みのデータを記憶するための記憶部と、上記のプログラムを実行するための実行部とを備えてよい。
【0043】
コンピュータを移動体管理システム100の少なくとも一部として機能させるためのプログラムは、例えば、移動体管理システム100の少なくとも一部の動作を規定したモジュールを備える。上記のプログラム又はモジュールが実行されると、上記のプログラム又はモジュールは、データ処理装置、入力装置、出力装置、記憶装置等に働きかけて、コンピュータを移動体管理システム100の少なくとも一部として機能させたり、コンピュータに移動体管理システム100の少なくとも一部における情報処理方法を実行させたりする。
【0044】
一実施形態において、上記の情報処理方法は、移動体を制御するための制御方法であってよい。上記の制御方法において、移動体は、例えば、予め定められた地理的範囲の内部を自律移動する。移動体は、例えば、移動体の周囲を撮像する第1撮像装置を備える。上記の制御方法の各段階の動作主体は、コンピュータであってよい。上記のコンピュータは、例えば、第1記憶装置にアクセス可能に構成される。第1記憶装置は、例えば、地理的範囲の内部に配される複数の地点のそれぞれにおいて予め撮像された画像である複数の参照画像を、複数の地点の識別情報と対応付けて記憶する。
【0045】
上記の制御方法は、例えば、移動体の出発地点から目的地点までの予定経路を決定する経路計画段階を有する。上記の制御方法は、例えば、複数の地点のうち、予定経路を構成する1以上の地点である1以上の中継地点を示す経路情報を取得する経路情報取得段階を有する。上記の制御方法は、例えば、1以上の中継地点のうち、移動体の目標となる目標地点を決定する目標地点決定段階を有する。上記の制御方法は、例えば、第1記憶装置を参照して、複数の参照画像のうち、目標地点に対応付けられた参照画像である目標画像を取得する目標画像取得段階を有する。上記の制御方法は、例えば、移動体の現在の位置及び姿勢において第1撮像装置が撮像した画像である現在画像を取得する現在画像取得段階を有する。上記の制御方法は、例えば、目標画像及び現在画像に基づいて、移動体の現在の位置及び姿勢と、目標地点において目標となる移動体の位置及び姿勢との間の相対的な関係を示す指標である相対指標の値を導出する相対指標導出段階を有する。
【0046】
上記の制御方法において、相対指標導出段階は、例えば、(i)目標画像及び現在画像を、学習済みの推定モデルに入力し、(ii)推定モデルから、相対指標に関する推定結果に対応する出力を導出する段階を含む。経路計画段階は、例えば、複数の地点のそれぞれに対応する複数のノード、及び、複数のノードのそれぞれを結合する1以上のエッジを含む重み付きグラフを記憶する第2記憶装置を参照して、出発地点又は出発地点の近傍に配された地点に対応するノードである始点ノードから、目的地点又は目的地点の近傍に配された地点に対応するノードである終点ノードまでのエッジの重みの和が最も小さくなるようなノード列を導出することで、予定経路を決定する段階を含む。重み付きグラフにおいて、1以上のエッジのそれぞれの重みは、例えば、各エッジが結合する2個のノードのそれぞれに対応する2個の地点のそれぞれの参照画像が類似する度合いを示す。
【0047】
他の実施形態において、上記の情報処理方法は、移動体の出発地点から目的地点までの予定経路を決定するための経路計画方法であってよい。上記の経路計画方法において、移動体は、例えば、予め定められた地理的範囲の内部を自律移動する。上記の経路計画方法の各段階の動作主体は、コンピュータであってよい。上記のコンピュータは、例えば、記憶装置にアクセス可能に構成される。上記の記憶装置は、例えば、重み付きグラフを記憶する。上記の重み付きグラフは、例えば、地理的範囲の内部に配される複数の地点のそれぞれに対応する複数のノードと、複数のノードのそれぞれを結合する1以上のエッジとを含む。重み付きグラフにおいて、1以上のエッジのそれぞれの重みは、例えば、各エッジが結合する2個のノードのそれぞれに対応する2個の地点のそれぞれにおいて予め撮像された画像である参照画像が類似する度合いを示す。
【0048】
上記の経路計画方法は、例えば、予定経路を決定する経路計画段階を有する。上記の経路計画方法において、経路計画段階は、例えば、上記の記憶装置を参照して、出発地点又は出発地点の近傍に配された地点に対応するノードである始点ノードから、目的地点又は目的地点の近傍に配された地点に対応するノードである終点ノードまでのエッジの重みの和が最も小さくなるようなノード列を導出することで、予定経路を決定する段階を含む。
【0049】
さらに他の実施形態において、上記の情報処理方法は、学習済みモデルを生成するための方法であってよい。上記の方法の各段階の動作主体は、コンピュータであってよい。上記の方法は、例えば、複数の学習用データを含む学習用データセットを取得する段階を有する。上記の方法は、例えば、学習用データセットを用いて距離学習を実行することにより、画像を入力し、当該画像の特徴量の推定結果に関する値を出力するための特徴量出力モデルを生成する段階を有する。上記の方法において、複数の学習用データのそれぞれは、例えば、基準画像、1以上の類似画像、及び、1以上の非類似画像が対応付けられたデータである。上記の方法において、例えば、1以上の類似画像のそれぞれが撮像された地理的な位置と、基準画像が撮像された地理的な位置との関係は、予め定められた条件に合致する。上記の方法において、例えば、1以上の非類似画像のそれぞれが撮像された地理的な地点と、基準画像が撮像された地理的な位置との関係は、予め定められた条件に合致しない。
【0050】
さらに他の実施形態において、上記の情報処理方法は、機械学習又は距離学習に用いられるデータセットを生成するための方法であってよい。上記の方法の各段階の動作主体は、コンピュータであってよい。上記の方法は、例えば、予め定められた地理的範囲の内部で撮像された複数の画像の画像データと、複数の画像のそれぞれが撮像された地理的な位置又は複数の画像のそれぞれが撮像された時刻を示す補助データとを対応付けて取得する段階を有する。上記の方法は、例えば、複数の画像のそれぞれについて、各画像が撮像された地理的な位置と、複数の画像に含まれる少なくとも1つの他の画像が撮像された地理的な位置との関係が予め定められた条件に合致するか否かを判定する段階を有する。上記の方法は、例えば、各画像が撮像された地理的な位置との関係が予め定められた条件に合致すると判定された他の画像を、各画像に対応する正例である類似画像として決定する段階を有する。上記の方法は、例えば、各画像が撮像された地理的な位置との関係が予め定められた条件に合致しないと判定された他の画像を、各画像に対応する負例である非類似画像として決定する段階を有する。上記の方法は、例えば、複数の画像のそれぞれについて、各画像、各画像に対応する正例、及び、各画像に対応する負例を対応付けて、データセットを生成する段階を有する。上記の方法において、予め定められた条件は、例えば、(i)各画像が撮像された地理的な位置と、各画像に対応する他の画像が撮像された地理的な位置との間の地理的な距離が、予め定められた第1閾値以下である又は第1閾値よりも小さいという条件、及び/又は、(ii)各画像が撮像された時刻と、各画像に対応する他の画像が撮像された時刻との間の期間の長さが、予め定められた第2閾値以下である又は第2閾値よりも小さいという条件を含む。
【0051】
管理区域10は、地理的範囲の一例であってよい。走行許可区域12は、地理的範囲の一例であってよい。参照地点20は、地理的範囲の内部に配される地点の一例であってよい。参照画像22は、参照画像の一例であってよい。移動体管理システム100は、制御装置又は経路計画装置の一例であってよい。自律移動体110は、移動体、制御装置又は経路計画装置の一例であってよい。カメラ112は、撮像装置、第1撮像装置又は第2撮像装置の一例であってよい。制御部114は、制御装置又は経路計画装置の一例であってよい。制御部114は、記憶装置、第1記憶装置又は第2記憶装置の一例であってよい。管理サーバ120は、制御装置又は経路計画装置の一例であってよい。管理サーバ120は、記憶装置、第1記憶装置又は第2記憶装置の一例であってよい。
【0052】
(別実施形態の一例)
本実施形態においては、移動体管理システム100が、自律移動体110及び管理サーバ120が協働して、自律移動体110の自律移動を制御する場合を例として、移動体管理システム100の詳細が説明された。しかしながら、移動体管理システム100は、本実施形態に限定されない。他の実施形態において、自律移動体110が、単独で、自律移動体110の自律移動を制御してよい。この場合、自律移動体110は、管理サーバ120の機能及び/又は構成の少なくとも一部を有してよい。さらに他の実施形態において、本実施形態における自律移動体110の機能及び/又は構成の一部が、管理サーバ120により実現されてもよく、本実施形態における管理サーバ120の機能及び/又は構成の一部が、自律移動体110により実現されてもよい。
【0053】
本実施形態においては、移動体管理システム100が、自律移動体110の自律走行を制御する場合を例として、移動体管理システム100の詳細が説明された。また、自律移動体110として、車輪又は無限軌道を利用して走行する各種の車両が用いられ得ることが説明された。しかしながら、移動体管理システム100の制御対象は、上記の自律移動体110に限定されない。
【0054】
他の実施形態において、移動体管理システム100は、任意の種類の移動体の自律移動を制御してよい。移動体の種類としては、車両の他に、船舶、飛行体などが例示される。船舶としては、船、ホバークラフト、水上バイク、潜水艦、潜水艇、水中スクータなどが例示される。飛行体としては、飛行機、飛行船又は風船、気球、ヘリコプター、ドローンなどが例示される。
【0055】
図2は、移動体管理システム100における情報処理の一例を概略的に示す。本実施形態によれば、まず、ステップ212(ステップがSと省略される場合がある。)において、移動体管理システム100において用いられる各種のモデルの生成処理が実行される。S212は、例えば、管理サーバ120により実行される。
【0056】
一実施形態によれば、S212において、各画像の特徴量を抽出するためのモデル(変換モデルと称される場合がある。)が生成される。上述されたとおり、本実施形態に係る移動体管理システム100は、2つの画像の類似度を導出するための処理を実行する。この時、移動体管理システム100は各画像の特徴量を抽出し、抽出された2つの特徴量を比較することで、2つの画像の類似度を導出する。
【0057】
変換モデルは、(i)各画像が入力され、(ii)各画像の特徴量の推定結果に関する値を出力する。具体的には、変換モデルは、(i)2次元のRGB画像が入力され、(ii)当該RGB画像の特徴ベクトルを出力する。特徴ベクトルは、例えば、一次元テンソルである。変換モデルは、例えば、適切な教師データを用いた距離学習により生成される。上記の距離学習は、深層距離学習であってもよい。これにより、変換モデルは、識別性の高い特徴量を抽出することができる。
【0058】
他の実施形態によれば、S212において、自律移動体110を目標地点に移動させるための制御量を推定するためのモデル(制御量推定モデルと称される場合がある。)が生成される。上述されたとおり、本実施形態に係る移動体管理システム100は、自律移動体110の現在の位置姿勢と、目標地点において目標となる自律移動体110の位置姿勢との間の相対的な関係を推定し、当該推定結果に基づいて自律移動体110の制御量を決定する。
【0059】
制御量推定モデルは、(i)目標画像と、現在画像とが入力され、(ii)自律移動体110の現在の位置姿勢と、目標地点において目標となる自律移動体110の位置姿勢との間の相対的な関係を示す指標(相対指標と称される場合がある。)の推定結果に関する値を出力する。相対指標は、上述された制御量であってよい。制御量推定モデルは、例えば、適切な教師データを用いた機械学習により生成される。制御量推定モデルは、上記の変換モデルを含んでもよい。
【0060】
次に、S214において、トポロジカルマップが作成される。トポロジカルマップは、例えば、複数の参照地点20のそれぞれに対応する複数のノードと、当該複数のノードのそれぞれを結合する1以上のエッジとを含む重み付きグラフとして表現される。上記の重み付きグラフにおいて、1以上のエッジのそれぞれの重みは、例えば、各エッジが結合する2個のノードのそれぞれに対応する2個の参照地点20のそれぞれの参照画像22の類似度を示す。これにより、位置座標を用いることなく、複数の参照地点20の関係が表現され得る。S214は、例えば、管理サーバ120により実行される。
【0061】
次に、S222において、自律移動体110の出発地点から目的地点までの大局的な経路(上述されたとおり、予定経路と称される場合がある。)が計画される。上記の大局的な経路は、上述されたトポロジカルマップに基づいて計画される。
【0062】
具体的には、出発地点又は出発地点の近傍に配された参照地点20に対応するノード(始点ノードと称される場合がある。)から、目的地点又は目的地点の近傍に配された参照地点20に対応するノード(終点ノードと称される場合がある。)までのエッジの重みの和が最も小さくなるようなノード列を導出することで、予定経路が決定される。
【0063】
始点ノードは、出発地点の最近傍に配された参照地点20に対応するノードであってよい。終点ノードは、目的地点の最近傍に配された参照地点20に対応するノードであってよい。1以上のノードを含む。ノード列に含まれる1以上のノードのそれぞれは、予定経路上の参照地点20(中継地点と称される場合がある。)に対応する。これにより、予定経路を構成する1以上の中継地点を示す情報(経路情報と称される場合がある。)が作成される。S222は、例えば、自律移動体110により実行される。
【0064】
次に、S224において、ナビゲーション処理が実行される。具体的には、まず、予定経路上に配された1以上の中継地点が目標地点として決定される。次に、目標地点の参照画像22と、カメラ112が撮像した現在画像とに基づいて、自律移動体110の制御量が決定される。次に、上記の制御量に基づいて、自律移動体110の位置及び姿勢が制御される。これにより、自律移動体110が、目標地点に向かって走行する。その後、例えば、自律移動体110が目標地点に到達すると、次の目標地点が決定される。次の目標地点は、自律移動体110が目標地点に向かって走行している期間中の適切なタイミングで決定されてもよい。上記の処理が繰り返されることにより、目的地点までの経路案内が実行される。S224は、例えば、自律移動体110により実行される。
【0065】
変換モデルは、特徴量出力モデルの一例であってよい。制御量推定モデルは、推定モデルの一例であってよい。制御量は、相対指標の一例であってよい。
【0066】
(別実施形態の一例)
本実施形態においては、S212及びS214が管理サーバ120により実行され、S222及びS224が自律移動体110により実行される場合を例として、移動体管理システム100における情報処理の詳細が説明される。しかしながら、移動体管理システム100における情報処理は、本実施形態に限定されない。自律移動体110及び管理サーバ120が任意の態様で協働することにより上記の情報処理が実行されてもよく、上記の情報処理が自律移動体110及び管理サーバ120の一方により実行されてもよい。例えば、他の実施形態によれば、全てのステップが自律移動体110により実行される。さらに他の実施形態においては、S222が管理サーバ120により実行されてもよく、S224の少なくとも一部が管理サーバ120により実行されてもよい。
【0067】
図3は、変換モデル300の一例を概略的に示す。本実施形態において、変換モデル300は、(i)画像32が入力され、(ii)画像32の特徴量34の推定結果に関する値を出力する。具体的には、変換モデル300は、(i)2次元のRGB画像が入力され、(ii)当該RGB画像の特徴ベクトルを出力する。特徴ベクトルは、例えば、一次元テンソルである。変換モデル300は、ニューラルネットワークを含んでよい。
【0068】
図4は、制御量推定モデル400の一例を概略的に示す。上述されたとおり、制御量推定モデル400は、例えば、(i)目標画像42と、現在画像44とが入力され、(ii)自律移動体110の現在の位置姿勢と、目標地点において目標となる自律移動体110の位置姿勢との間の相対的な関係を示す指標の推定結果46に関する値を出力する。
【0069】
本実施形態において、制御量推定モデル400は、例えば、特徴量抽出部420と、相対指標推定部460とを備える。本実施形態において、特徴量抽出部420は、例えば、第1抽出部430と、第2抽出部440とを有する。本実施形態において、第1抽出部430は、第1抽出モデル432を含む。第2抽出部440は、第2抽出モデル442を含む。本実施形態において、相対指標推定部460は、例えば、全結合層462、全結合層464及び全結合層466を含む。
【0070】
本実施形態において、特徴量抽出部420は、目標画像42及び現在画像44を入力とし、目標画像42の特徴量及び現在画像44の特徴量を抽出する。特徴量抽出部420は、例えば、目標画像42を入力とし、目標画像42の特徴量を抽出する。特徴量抽出部420は、例えば、現在画像44を入力とし、現在画像44の特徴量を抽出する。上記の特徴量は、特徴ベクトルであってよい。特徴ベクトルは、例えば、一次元テンソルである。
【0071】
本実施形態において、第1抽出部430は、目標画像42を入力し、目標画像42の特徴量52を抽出する。第1抽出部430は、例えば、第1抽出部430は、(i)目標画像42を学習済みの第1抽出モデル432に入力し、(ii)第1抽出モデル432から、目標画像42の特徴量52に関する推定結果に対応する出力を導出する。
【0072】
本実施形態において、第1抽出モデル432は、例えば、画像を入力とし、当該画像の特徴ベクトルを出力とする距離学習により生成された学習済みモデルである。第1抽出モデル432は、変換モデル300と同様の構成を有してよい。例えば、第1抽出モデル432は、ニューラルネットワークを含む。
【0073】
本実施形態において、第2抽出部440は、現在画像44を入力し、現在画像44の特徴量54を抽出する。第2抽出部440は、例えば、(i)現在画像44を学習済みの第2抽出モデル442に入力し、(ii)第2抽出モデル442から、現在画像44の特徴量54に関する推定結果に対応する出力を導出する。
【0074】
本実施形態において、第2抽出モデル442は、例えば、画像を入力とし、当該画像の特徴ベクトルを出力とする距離学習により生成された学習済みモデルである。第2抽出モデル442は、変換モデル300と同様の構成を有してよい。例えば、第2抽出モデル442は、ニューラルネットワークを含む。
【0075】
本実施形態において、相対指標推定部460は、目標画像42の特徴量52及び現在画像44の特徴量54を入力とし、相対指標に関する推定結果46を出力する。相対指標推定部460は、例えば、目標画像42の特徴ベクトルである特徴量52と、現在画像44の特徴ベクトルである特徴量54とを連結又は結合(concatenateと称される場合がある。)して得られたベクトルを入力とし、上述された相対指標の推定結果46に関する値を出力する。
【0076】
相対指標に関する推定結果46は、例えば、相対位置の推定結果と、相対姿勢に関する推定結果とを含む。相対指標の推定結果46に関する値としては、x座標の差を示す値、y座標の差を示す値、クオータニオンのz成分qzの値、クオータニオンのw成分qwの値などが例示される。
【0077】
本実施形態において、全結合層462は、特徴量抽出部420の出力を入力とし、当該入力の次元と等しい次元又は当該入力の次元よりも小さな次元を有するベクトルを出力とする。本実施形態において、全結合層464は、全結合層462の出力を入力とし、当該入力の次元と等しい次元又は当該入力の次元よりも小さな次元を有するベクトルを出力とする。本実施形態において、全結合層466は、全結合層464の出力を入力とし、上述された相対指標の推定結果46に関する値を出力とする。
【0078】
図5は、各種モデルの生成処理の一例を概略的に示す。本実施形態によれば、まず、S510において、複数の参照地点20の撮像データが取得される。撮像データは、複数の参照地点20のそれぞれにおいて撮像された複数の参照画像22の画像データと、複数の参照地点20のそれぞれの地理的な位置又は複数の参照画像22のそれぞれが撮像された時刻を示す補助データとが対応付けられたデータであってよい。
【0079】
例えば、まず、手動操作又は遠隔操作により、自律移動体110を管理区域10の内部を走行させながら、カメラ112を用いて自律移動体110の周囲を撮像する。このとき、自律移動体110に搭載された各種のセンサの出力に基づいて、(i)カメラ112が撮像した画像と、(ii)当該画像が撮像された地理的な位置(撮像位置と称される場合がある。)及び/又は当該画像が撮像された時刻(撮像時刻と称される場合がある。)とが対応付けられる。
【0080】
これにより、自律移動体110は、複数の参照地点20のそれぞれの参照画像22を取得することができる。また、自律移動体110は、複数の参照地点20のそれぞれの撮像データを取得することができる。その後、自律移動体110は、上記の撮像データを管理サーバ120に送信する。これにより、管理サーバ120は、複数の参照地点20のそれぞれの撮像データを取得することができる。
【0081】
次に、S522において、変換モデル300を生成するための教師データセットが生成される。上記の教師データの生成手順の詳細は後述される。その後、S524において、変換モデル300の深層距離学習が実行される。
【0082】
また、S532において、制御量推定モデル400を生成するための教師データセットが生成される。上記の教師データの生成手順の詳細は後述される。その後、S534において、制御量推定モデル400の機械学習が実行される。
【0083】
図6は、自律移動体110の内部構成の一例を概略的に示す。本実施形態において、自律移動体110は、カメラ112と、センス部622と、通信部624と、入出力部626と、駆動部628と、制御部114とを備える。本実施形態において、制御部114は、データ格納部630と、データ収集部642と、通信制御部644と、入出力制御部646と、駆動制御部648と、経路案内部650とを有する。
【0084】
本実施形態において、センス部622は、各種のセンサを備える。センス部622は、例えば、各種の内界センサを備える。センス部622は、例えば、各種の外界センサを備える。内界センサとしては、ロータリーエンコーダ、速度、角速度センサ、角加速度センサ、重力センサなどが例示される。外界センサとしては、カメラ、マイク、距離センサ、障害物検出センサ、LiDAR、GPS信号受信機などが例示される。
【0085】
本実施形態において、通信部624は、外部の通信装置との間で情報を送受する。通信部624は、例えば、管理サーバ120との間で情報を送受する。
【0086】
本実施形態において、入出力部626は、ユーザとのインタフェースとして機能する。入出力部626は、例えば、ユーザからの入力を受け付ける。入出力部626は、例えば、ユーザに情報を提示する。入出力部626としては、各種の入力装置、各種の出力装置が例示される。入力装置としては、タッチパネル、キーボード、ポインティングデバイス、カメラ、マイクなどが例示される。出力装置としては、ディスプレイ、プロジェクタ、スピーカなどが例示される。
【0087】
本実施形態において、駆動部628は、自律移動体110を移動させる。駆動部628は、例えば、駆動制御部648からの指示に従って自律移動体110を移動させる。駆動部628としては、モータ、エンジンなどの動力発生装置、車輪、無限軌道などの推進力発生装置などが例示される。
【0088】
本実施形態において、データ格納部630は、自律移動体110に関する各種の情報を格納する。一実施形態において、データ格納部630は、自律移動体110における情報処理に用いられる各種の情報を格納する。他の実施形態において、データ格納部630は、自律移動体110における情報処理において生成された各種の情報を格納する。
【0089】
データ格納部630は、例えば、複数の参照地点20のそれぞれの識別情報と、複数の参照地点20のそれぞれの参照画像22の画像データ又は撮像データとを対応付けて格納する。データ格納部630は、例えば、複数の参照地点20のそれぞれの識別情報と、複数の参照地点20のそれぞれの参照画像22の特徴量を対応付けて格納する。上記の特徴量は、複数の参照画像22のそれぞれに対する変換モデル300の推定結果であってよい。上述されたとおり、上記の特徴量は、特徴ベクトルであってよい。
【0090】
本実施形態において、データ収集部642は、自律移動体110に関する各種の情報を収集する。一実施形態において、データ収集部642は、カメラ112が撮像した画像の画像データを取得する。他の実施形態において、データ収集部642は、センス部622が出力した各種のデータを取得する。例えば、データ収集部642は、上述された補助データ又は補助データを生成するためのデータを取得する。
【0091】
本実施形態において、通信制御部644は、通信部624の動作を制御する。本実施形態において、入出力制御部646は、入出力部626の動作を制御する。本実施形態において、駆動制御部648は、駆動部628の動作を制御する。駆動制御部648は、経路案内部650が導出した制御量に基づいて、駆動部628の動作を制御してよい。本実施形態において、経路案内部650は、上述されたナビゲーション処理を実行する。経路案内部650の詳細は後述される。
【0092】
駆動制御部648は、移動制御部の一例であってよい。経路案内部650は、移動制御部、制御装置又は経路計画装置の一例であってよい。
【0093】
図7は、経路案内部650の内部構成の一例を概略的に示す。本実施形態において、経路案内部650は、大域的経路計画部720と、局所的経路計画部740とを備える。本実施形態において、局所的経路計画部740は、経路情報取得部742と、目標地点決定部744と、目標画像取得部746と、現在画像取得部752と、制御量決定部754とを有する。
【0094】
本実施形態において、大域的経路計画部720は、自律移動体110の出発地点から目的地点までの経路である大局的経路(上述されたとおり、予定経路と称される場合がある。)を計画する。大域的経路計画部720は、予定経路を構成する1以上の中継地点を示す経路情報を生成してよい。大域的経路計画部720の詳細は後述される。
【0095】
本実施形態において、局所的経路計画部740は、自律移動体110の現在の位置又は位置姿勢から上述された目標地点までの経路である局所的経路を計画する。また、局所的経路計画部740は、自律移動体110の具体的な制御量を決定し、当該制御量を示す情報を駆動制御部648に出力する。これにより、局所的経路計画部740は、自律移動体110の移動を制御することができる。
【0096】
本実施形態において、経路情報取得部742は、例えば、大域的経路計画部720から、上述された経路情報を取得する。本実施形態において、目標地点決定部744は、上述された目標地点を決定する
【0097】
一実施形態において、経路案内部650が経路案内を開始することを決定した場合、目標地点決定部744は、出発地点の近傍に配された参照画像22のうちの1つを、次の目標地点として決定する。目標地点決定部744は、出発地点の最近傍に配された参照画像22を、次の目標地点として決定してもよい。上記の出発地点は、例えば、経路案内部650が経路案内を開始することを決定した時点における自律移動体110の位置又は位置姿勢である。
【0098】
他の実施形態において、経路案内部650による経路案内が開始され、自律移動体110が移動を開始した後、目標地点決定部744は、例えば、上記の経路情報により示される1以上の中継地点のうち、現在の目標地点である中継地点のN個先の中継地点(Nは1以上の整数である。)を、次の目標地点として決定する。上記のNの値は、例えば、複数の参照地点20の地理的な間隔に基づいて決定される。
【0099】
本実施形態において、目標画像取得部746は、目標画像を取得する。目標画像取得部746は、例えば、データ格納部630を参照して、複数の参照画像22のうち、目標地点となる参照地点20に対応付けられた参照画像22を目標画像として取得する。
【0100】
本実施形態において、現在画像取得部752は、現在画像を取得する。具体的には、現在画像取得部752は、例えば、データ収集部642にアクセスして、自律移動体110の現在の位置姿勢においてカメラ112が撮像した画像の画像データを取得する。
【0101】
本実施形態において、制御量決定部754は、例えば、目標画像及び現在画像に基づいて、上述された相対指標の値を導出する。制御量決定部754は、例えば、目標画像及び現在画像を、学習済みの制御量推定モデル400に入力する。制御量決定部754は、例えば、制御量推定モデル400から、相対指標に関する推定結果に対応する出力を導出する。制御量決定部754は、制御量推定モデル400からの出力により示される相対指標の値を、上述された制御量として決定してよい。
【0102】
本実施形態において、制御量決定部754は、制御量推定モデル400による推定結果を補正してよい。制御量決定部754は、例えば、パーティクルフィルタ又は逐次モンテカルロ法により、制御量推定モデル400による推定結果を補正する。
【0103】
具体的には、制御量決定部754は、まず、パーティクルフィルタ又は逐次モンテカルロ法により自律移動体110の現在位置を推定する。次に、制御量決定部754は、当該推定された現在位置に基づいて、上述された相対指標の値を補正する。制御量決定部754は、補正後の相対指標の値を、上述された制御量として決定してよい。
【0104】
大域的経路計画部720は、経路計画部又は経路計画装置の一例であってよい。局所的経路計画部740は、移動制御部、制御装置又は経路計画装置の一例であってよい。制御量決定部754は、相対指標導出部又は補正部の一例であってよい。
【0105】
図8は、大域的経路計画部720の内部構成の一例を概略的に示す。
図8は、データ格納部630の内部構造の一例とともに、大域的経路計画部720の内部構成の一例を概略的に示す。
図8に示されるとおり、本実施形態において、データ格納部630は、変換モデル300を格納する。本実施形態において、データ格納部630は、参照情報格納部812と、トポロジカルマップ格納部814とを備える。
【0106】
本実施形態において、大域的経路計画部720は、特徴ベクトル生成部822と、類似度導出部824とを備える。大域的経路計画部720は、ユーザ入力取得部842と、目的地画像取得部844と、終点ノード決定部846とを備える。大域的経路計画部720は、出発地画像取得部864と、始点ノード決定部866とを備える。本実施形態において、大域的経路計画部720は、大局的経路決定部880を備える。
【0107】
本実施形態において、参照情報格納部812は、参照地点20及び/又は参照画像22に関する各種の情報を格納する。参照情報格納部812は、例えば、複数の参照地点20のそれぞれの識別情報と、複数の参照地点20のそれぞれの参照画像22の画像データ又は撮像データとを対応付けて格納する。参照情報格納部812は、複数の参照地点20のそれぞれの識別情報と、複数の参照地点20のそれぞれの参照画像22の識別情報とを対応付けて格納してもよい。これにより、複数の参照地点20のそれぞれの識別情報と、複数の参照地点20のそれぞれの参照画像22の画像データ又は撮像データとが対応付けられ得る。参照情報格納部812は、複数の参照地点20のそれぞれの識別情報と、複数の参照地点20のそれぞれの位置情報とをさらに対応付けて格納してもよい。
【0108】
参照情報格納部812は、例えば、複数の参照地点20のそれぞれの識別情報と、複数の参照地点20のそれぞれの参照画像22の特徴量を対応付けて格納する。上記の特徴量は、複数の参照画像22のそれぞれに対する変換モデル300の推定結果であってよい。上述されたとおり、上記の特徴量は、特徴ベクトルであってよい。参照情報格納部812は、複数の参照地点20のそれぞれの識別情報と、複数の参照地点20のそれぞれの位置情報とをさらに対応付けて格納してもよい。
【0109】
本実施形態において、トポロジカルマップ格納部814は、上述されたトポロジカルマップを格納する。上述されたとおり、トポロジカルマップは、例えば、複数の参照地点20のそれぞれに対応する複数のノードと、当該複数のノードのそれぞれを結合する1以上のエッジとを含む重み付きグラフとして表現される。上記の重み付きグラフにおいて、1以上のエッジのそれぞれの重みは、例えば、各エッジが結合する2個のノードのそれぞれに対応する2個の参照地点20のそれぞれの参照画像22の類似度を示す。
【0110】
本実施形態において、特徴ベクトル生成部822は、画像を入力とし、当該画像の特徴量の推定結果に関する値を出力する。特徴ベクトル生成部822は、上記の推定結果に関する値を、例えば、類似度導出部824に出力する。
【0111】
具体的には、特徴ベクトル生成部822は、(i)特徴ベクトル生成部822における情報処理の対象となる画像(対象画像と称される場合がある。)を、学習済みの変換モデル300に入力し、(ii)変換モデル300から、対象画像の特徴量に対応する出力を導出する。上述されたとおり、対象画像は、例えば、二次元のRGB画像であり、対象画像の特徴量は、例えば、特徴ベクトルである。
【0112】
特徴ベクトル生成部822は、例えば、参照情報格納部812にアクセスして、複数の参照画像22の画像データを取得する。特徴ベクトル生成部822は、複数の参照画像22のそれぞれを入力とし、当該複数の参照画像22のそれぞれの特徴量の推定結果に関する値を、類似度導出部824に出力する。
【0113】
特徴ベクトル生成部822は、例えば、目的地画像取得部844から、自律移動体110の目的地点の画像(目的地画像と称される場合がある。)の画像データを取得する。特徴ベクトル生成部822は、目的地画像を入力とし、当該目的地画像の特徴量の推定結果に関する値を、類似度導出部824に出力する。
【0114】
特徴ベクトル生成部822は、例えば、出発地画像取得部864から、自律移動体110の出発地点の画像(出発地画像と称される場合がある。)の画像データを取得する。特徴ベクトル生成部822は、出発地画像を入力とし、当該出発地画像の特徴量の推定結果に関する値を、類似度導出部824に出力する。
【0115】
本実施形態において、類似度導出部824は、2つの画像の類似度を導出する。具体的には、類似度導出部824は、2つの画像の特徴量に基づいて、当該2つの画像の類似度を導出する。2つの画像の特徴量が特徴ベクトルである場合、類似度導出部824は、例えば、当該2つの画像の特徴ベクトルのコサイン類似度を、当該2つの画像の類似度として導出する。
【0116】
一実施形態において、類似度導出部824は、管理区域10に配された複数の参照地点20の参照画像22のそれぞれと、目的地画像との類似度を導出する。具体的には、類似度導出部824は、上記の複数の参照画像22のそれぞれの特徴量と、目的地画像の特徴量とに基づいて、上記の複数の参照画像22のそれぞれと、目的地画像との類似度を導出する。類似度導出部824は、特徴ベクトル生成部822から各画像の特徴量を取得してもよく、参照情報格納部812にアクセスして各画像の特徴量を取得してもよい。
【0117】
類似度導出部824は、管理区域10に配された複数の参照地点20の参照画像22のそれぞれと、目的地画像との類似度を示す情報を、終点ノード決定部846に出力してよい。これにより、終点ノード決定部846は、複数の参照画像22のうち、目的地画像との類似度が最も大きな参照画像22の撮像位置又は上記の参照画像22の撮像位置及び撮像姿勢を、目的地点として決定することができる。
【0118】
他の実施形態において、類似度導出部824は、管理区域10に配された複数の参照地点20の参照画像22のそれぞれと、出発地画像との類似度を導出する。具体的には、類似度導出部824は、上記の複数の参照画像22のそれぞれの特徴量と、出発地画像の特徴量とに基づいて、上記の複数の参照画像22のそれぞれと、出発地画像との類似度を導出する。類似度導出部824は、特徴ベクトル生成部822から各画像の特徴量を取得してもよく、参照情報格納部812にアクセスして各画像の特徴量を取得してもよい。
【0119】
類似度導出部824は、管理区域10に配された複数の参照地点20の参照画像22のそれぞれと、出発地画像との類似度を示す情報を、始点ノード決定部866に出力してよい。これにより、始点ノード決定部866は、複数の参照画像22のうち、出発地画像との類似度が最も大きな参照画像22の撮像位置又は上記の参照画像22の撮像位置及び撮像姿勢を、出発地点として決定することができる。
【0120】
本実施形態において、ユーザ入力取得部842は、自律移動体110の目的地点に関するユーザからの入力を取得する。ユーザ入力取得部842は、例えば、入出力部626及び入出力制御部646と協働して、上記のユーザからの入力を取得する。
【0121】
一実施形態において、ユーザは、入出力部626を操作して、ユーザインタフェース画面に表示される地図上の地点を選択することで、目的地点に関する指示を入力することができる。他の実施形態において、ユーザは、入出力部626を操作して、ユーザインタフェース画面上で目的地点の参照画像22を選択することで、目的地点に関する指示を入力することができる。さらに他の実施形態において、ユーザは、入出力部626を操作して、ユーザが事前に取得しておいた目的地点の画像の画像データを移動体管理システム100に入力することで、目的地点に関する指示を入力することができる。
【0122】
本実施形態において、目的地画像取得部844は、自律移動体110の目的地点の画像を取得する。具体的には、ユーザが事前に取得しておいた目的地点の画像の画像データを移動体管理システム100に入力した場合、目的地画像取得部844は、ユーザが移動体管理システム100に入力した画像データにより示される画像を目的地画像として取得する。
【0123】
目的地画像取得部844は、目的地画像の画像データを特徴ベクトル生成部822に出力してよい。上述されたとおり、特徴ベクトル生成部822が目的地画像を取得すると、特徴ベクトル生成部822は、目的地画像を入力とし、当該目的地画像の特徴量の推定結果に関する値を、類似度導出部824に出力する。目的地画像の特徴量の推定結果に関する値は、例えば、目的地画像の特徴ベクトルである。
【0124】
類似度導出部824が目的地画像の特徴ベクトルを取得すると、類似度導出部824は、管理区域10に配された複数の参照地点20の参照画像22のそれぞれと、目的地画像との類似度を導出する。類似度導出部824は、2つの画像の組み合わせのそれぞれの類似度を示す情報を、終点ノード決定部846に出力する。
【0125】
本実施形態において、終点ノード決定部846は、終点ノードを決定する。終点ノード決定部846は、例えば、ユーザからの各種の入力に基づいて終点ノードを決定する。
【0126】
一実施形態において、ユーザ入力取得部842が、入出力部626に表示されるユーザインタフェース画面を介して目的地点に関するユーザからの指示を取得した場合、終点ノード決定部846は、当該指示により目的地点として選択された参照地点20に対応するノードを、終点ノードとして決定する。
【0127】
他の実施形態において、ユーザ入力取得部842が、ユーザが事前に取得しておいた目的地点の画像の画像データを取得した場合、終点ノード決定部846は、例えば、類似度導出部824から、管理区域10に配された複数の参照地点20の参照画像22のそれぞれと、目的地画像との類似度を示す情報を取得する。終点ノード決定部846は、複数の参照画像22のうち、目的地画像との類似度が最も大きな参照画像22の撮像位置又は上記の参照画像22の撮像位置及び撮像姿勢を、目的地点として決定する。終点ノード決定部846は、目的地画像との類似度が最も大きな参照画像22が撮像された参照地点20に対応するノードを、終点ノードとして決定する。これにより、例えば、目的地点又は目的地点の近傍に配された地点に対応するノードが、終点ノードとして決定される。
【0128】
本実施形態において、出発地画像取得部864は、出発地画像の画像データを取得する。出発地画像取得部864は、例えば、データ収集部642にアクセスして、出発地点における自律移動体110の位置姿勢においてカメラ112が撮像した画像の画像データを取得する。
【0129】
出発地画像取得部864は、出発地画像の画像データを特徴ベクトル生成部822に出力してよい。上述されたとおり、特徴ベクトル生成部822が出発地画像を取得すると、特徴ベクトル生成部822は、出発地画像を入力とし、当該出発地画像の特徴量の推定結果に関する値を、類似度導出部824に出力する。出発地画像の特徴量の推定結果に関する値は、例えば、出発地画像の特徴ベクトルである。
【0130】
類似度導出部824が出発地画像の特徴ベクトルを取得すると、類似度導出部824は、管理区域10に配された複数の参照地点20の参照画像22のそれぞれと、出発地画像との類似度を導出する。類似度導出部824は、2つの画像の組み合わせのそれぞれの類似度を示す情報を、始点ノード決定部866に出力する。
【0131】
本実施形態において、始点ノード決定部866は、始点ノードを決定する。始点ノード決定部866は、例えば、出発地点又は出発地点の近傍に配された参照地点20に対応するノードを、始点ノードとして決定する。出発地点が特定の参照地点20である場合、始点ノード決定部866は、当該特定の参照地点20に対応するノードを、始点ノードとして決定する。出発地点が複数の参照地点20の何れでもない場合、始点ノード決定部866は、例えば、出発地点の最近傍に配された参照地点20に対応するノードを、始点ノードとして決定する。
【0132】
始点ノード決定部866は、例えば、類似度導出部824から、管理区域10に配された複数の参照地点20の参照画像22のそれぞれと、出発地画像との類似度を示す情報を取得する。始点ノード決定部866は、複数の参照画像22のうち、出発地画像との類似度が最も大きな参照画像22の撮像位置又は上記の参照画像22の撮像位置及び撮像姿勢を、出発地点として決定する。始点ノード決定部866は、出発地画像との類似度が最も大きな参照画像22が撮像された参照地点20に対応するノードを、始点ノードとして決定する。
【0133】
本実施形態において、大局的経路決定部880は、上述された予定経路を決定する。大局的経路決定部880は、上述されたトポロジカルマップを構成する重み付きグラフを用いて、始点ノードから終点ノードまでのエッジの重みの和が最も小さくなるようなノード列を導出する。上記のノード列は、例えば、公知の最短経路計画法により導出される。これにより、予定経路が決定される。
【0134】
大局的経路決定部880は、一度決定された予定経路を変更するための処理(リルート処理と称される場合がある。)を実行してもよい。大局的経路決定部880は、例えば、自律移動体110が、大局的経路決定部880により決定された予定経路に従って走行している期間中に、予め定められた種類のイベントの発生が検出された場合に、リルート処理を実行する。上記のイベントとしては、(i)予定経路上に障害物が検出されたこと、(ii)前回のリルート処理が実施された時刻から予め定められた期間が経過したこと、(iii)前回のリルート処理が実施された時刻からの自律移動体110の移動距離が予め定められた閾値に等しくなった又は当該閾値よりも大きくなったこと、(iv)予め定められた時刻が到来したこと、(v)自律移動体110が予め定められた地点に到達したことなどが例示される。リルート処理の詳細は後述される。
【0135】
参照情報格納部812は、記憶装置又は第1記憶装置の一例であってよい。トポロジカルマップ格納部814は、第2記憶装置の一例であってよい。特徴ベクトル生成部822は、特徴量出力部の一例であってよい。大局的経路決定部880は、経路計画部の一例であってよい。目的地画像との類似度が最も大きな参照画像22は、目的地画像に最も類似する参照画像22の一例であってよい。出発地画像との類似度が最も大きな参照画像22は、出発地画像に最も類似する参照画像22の一例であってよい。
【0136】
図9は、制御量決定部754の内部構成の一例を概略的に示す。
図9は、データ格納部630の内部構造の一例とともに、制御量決定部754の内部構成の一例を概略的に示す。
図9に示されるとおり、本実施形態において、データ格納部630は、制御量推定モデル400を格納する。
【0137】
本実施形態において、制御量決定部754は、制御量導出部922と、制御量補正部924とを備える。一実施形態において、制御量決定部754は、制御量導出部922の演算結果を上述された制御量として決定する。他の実施形態において、制御量決定部754は、制御量補正部924の演算結果を上述された制御量として決定する。
【0138】
制御量導出部922は、例えば、目標画像及び現在画像に基づいて、上述された相対指標の値を導出する。制御量導出部922は、例えば、目標画像及び現在画像を、学習済みの制御量推定モデル400に入力する。制御量導出部922は、例えば、制御量推定モデル400から、相対指標に関する推定結果に対応する出力を導出する。
【0139】
本実施形態において、制御量補正部924は、制御量推定モデル400による推定結果を補正してよい。制御量補正部924は、例えば、パーティクルフィルタ又は逐次モンテカルロ法により、制御量推定モデル400による推定結果を補正する。制御量補正部924は、例えば、Frank Dellaert、Dieter Fox、Wolfram Burgard及びSebastian Thrun、「Monte carlo localization for mobile robots」、Proceedings 1999 IEEE international conference on robotics and automation、Vol. 2、 1322-1328、 IEEE、 1999に記載された手順に従って、又は、当該手順に準じて、制御量推定モデル400による推定結果を補正する。
【0140】
制御量導出部922は、相対指標導出部の一例であってよい。制御量補正部924は、補正部の一例であってよい。
【0141】
図10は、管理サーバ120の内部構成の一例を概略的に示す。本実施形態において、管理サーバ120は、データ格納部1020と、トポロジカルマップ生成部1030と、撮像データ取得部1040と、変換モデル用教師データ生成部1042と、推定モデル用教師データ生成部1044と、変換モデル生成部1052と、制御量推定モデル生成部1054とを備える。
【0142】
本実施形態において、データ格納部1020は、自律移動体110に関する各種の情報を格納する。一実施形態において、データ格納部630は、自律移動体110及び/又は管理サーバ120における情報処理に用いられる各種の情報を格納する。他の実施形態において、データ格納部630は、自律移動体110及び/又は管理サーバ120における情報処理において生成された各種の情報を格納する。
【0143】
本実施形態において、トポロジカルマップ生成部1030は、上述されたトポロジカルマップを生成する。具体的には、トポロジカルマップ生成部1030は、管理区域10の内部に配された複数の参照地点20の中から選択される2個の参照地点20の組み合わせのそれぞれについて、当該2個の参照地点20に対応する2個の参照画像22の類似度を導出する。2個の参照画像22の類似度は、例えば、特徴ベクトル生成部822及び類似度導出部824における類似度の導出処理と同様の手順により、導出される。
【0144】
具体的には、トポロジカルマップ生成部1030は、まず、上記の複数の組み合わせのそれぞれについて、(i)各組を構成する2個の参照画像22のそれぞれを学習済みの変換モデル300に入力し、(ii)変換モデル300から、2個の参照画像22のそれぞれの特徴量に対応する出力を導出する。上述されたとおり、参照画像22は、例えば、二次元のRGB画像であり、参照画像22の特徴量は、例えば、特徴ベクトルである。次に、トポロジカルマップ生成部1030は、2個の参照画像22のそれぞれの特徴量に基づいて、上記の2個の参照画像22の類似度を導出する。上記の類似度は、コサイン類似度であってよい。
【0145】
本実施形態において、撮像データ取得部1040は、自律移動体110から、カメラ112が撮像した画像の撮像データを取得する。上述されたとおり、撮像データは、カメラ112が撮像した画像の画像データと、当該画像の撮像位置及び/又は撮像時刻を示す補助データとが対応付けられたデータであってよい。補助データは、上記の画像の撮像姿勢をさらに含んでもよい。
【0146】
変換モデル用教師データ生成部1042は、変換モデル300の距離学習に用いられる教師データを生成する。変換モデル用教師データ生成部1042は、複数の教師データを含むデータセットを生成してもよい。変換モデル用教師データ生成部1042の詳細は後述される。
【0147】
変換モデル300の距離学習に用いられる複数の教師データのそれぞれは、基準画像、1以上の類似画像、及び、1以上の非類似画像が対応付けられたデータであってよい。基準画像、1以上の類似画像、及び、1以上の非類似画像のそれぞれとして、複数の参照画像22のうちの互いに異なる3以上の参照画像22が用いられてもよい。
【0148】
1以上の類似画像のそれぞれが撮像された地点と、基準画像が撮像された地点との地理的な位置関係は、予め定められた条件に合致する。一方、1以上の非類似画像のそれぞれが撮像された地点と、基準画像が撮像された地点との地理的な位置関係は、予め定められた条件に合致しない。予め定められた条件としては、各画像が撮像された位置の間の地理的な距離が、予め定められた第1閾値以下である又は第1閾値よりも小さいという条件、及び/又は、各画像が撮像された時刻の間の期間の長さが、予め定められた第2閾値以下である又は第2閾値よりも小さいという条件が例示される。
【0149】
本実施形態において、推定モデル用教師データ生成部1044は、制御量推定モデル400の機械学習に用いられる教師データを生成する。推定モデル用教師データ生成部1044は、複数の教師データを含むデータセットを生成してもよい。
【0150】
制御量推定モデル400の機械学習に用いられる複数の教師データのそれぞれは、例えば、画像と、当該画像を撮像した撮像装置の位置である撮像位置と、当該撮像装置の姿勢である撮像姿勢とが対応付けられたデータである。上記の撮像装置は、自律移動体110のカメラ112であってもよく、他の自律移動体110のカメラ112であってもよく、カメラ112とは異なる撮像機器であってもよい。
【0151】
本実施形態において、変換モデル生成部1052は、学習済みの変換モデル300を生成する。例えば、変換モデル生成部1052は、まず、変換モデル用教師データ生成部1042から、変換モデル300の距離学習用の教師データのデータセットを取得する。上述されたとおり、上記のデータセットは、複数の教師データを含む。
【0152】
次に、変換モデル生成部1052は、上記のデータセットを用いて距離学習を実行することにより、学習済みの変換モデル300を生成する。具体的には、変換モデル生成部1052は、データセットに含まれる各画像を入力し、各画像の特徴量の推定結果に関する値を出力とする距離学習を実行することで、学習済みの変換モデル300を生成する。
【0153】
本実施形態において、制御量推定モデル生成部1054は、学習済みの制御量推定モデル400を生成する。例えば、制御量推定モデル生成部1054は、まず、推定モデル用教師データ生成部1044から、制御量推定モデル400の機械学習用の教師データのデータセットを取得する。上述されたとおり、上記のデータセットは、複数の教師データを含む。
【0154】
次に、制御量推定モデル生成部1054は、上記のデータセットに含まれる2個の教師データの組み合わせを用いて機械学習を実行することにより、学習済みの制御量推定モデル400を生成する。上述されたとおり、各組を構成する2個の教師データのそれぞれにおいては、画像と、当該画像の撮像位置と、当該画像の撮像姿勢とが対応づけられている。そこで、具体的には、制御量推定モデル生成部1054は、複数の組み合わせのそれぞれについて、2個の教師データの一方に含まれる画像(第1画像と称される場合がある。)と、2個の教師データの他方に含まれる画像(第2画像と称される場合がある。)とを入力とし、第1画像に対応する撮像位置及び撮像姿勢と、第2画像に対応する撮像位置及び撮像姿勢との間の相対的な関係の推定結果に関する値を出力とする機械学習により、学習済みの制御量推定モデル400を生成する。
【0155】
撮像データ取得部1040は、画像データ取得部の一例であってよい。変換モデル用教師データ生成部1042は、画像データ取得部又は第2データセット生成部の一例であってよい。推定モデル用教師データ生成部1044は、画像データ取得部又は第1データセット生成部の一例であってよい。変換モデル生成部1052は、第2データセット取得部又は特徴量出力モデル生成部の一例であってよい。制御量推定モデル生成部1054は、第1データセット取得部又は推定モデル生成部の一例であってよい。
【0156】
変換モデル用の教師データは、第2学習用データの一例であってよい。変換モデル用の教師データのデータセットは、第2学習用データセットの一例であってよい。制御量推定モデル用の教師データは、第1学習用データの一例であってよい。制御量推定モデル用の教師データのデータセットは、第1学習用データセットの一例であってよい。
【0157】
図11は、変換モデル用教師データ生成部1042の内部構成の一例を概略的に示す。本実施形態において、変換モデル用教師データ生成部1042は、撮像データ抽出部1120と、判定部1130と、類似画像決定部1142と、非類似画像決定部1144と、データセット生成部1146とを備える。
【0158】
本実施形態において、撮像データ抽出部1120は、撮像データ取得部1040が取得した複数の画像の撮像データの中から、教師データとして用いられる複数の画像の撮像データを抽出する。例えば、撮像データ抽出部1120は、連続して撮像された複数の画像の画像データの中から、予め定められたサンプリング間隔で画像データを抽出する。
【0159】
この場合、サンプリングされた順番が近い画像同士は、地理的な位置が比較的近い位置において撮像された画像となる。同様に、サンプリングされた順番の離れた画像同士は、地理的な位置が比較的離れた位置において撮像された画像となる。これにより、サンプリング間隔を適切に設定することで、サンプリングされた順番が近い画像同士が比較的類似し、サンプリングされた順番の離れた画像同士が比較的異なるように、複数の画像が抽出され得る。
【0160】
本実施形態において、判定部1130は、撮像データ抽出部1120が抽出した複数の画像のそれぞれについて、各画像が撮像された地理的な位置と、当該複数の画像に含まれる少なくとも1つの他の画像が撮像された地理的な位置との関係が予め定められた条件に合致するか否かを判定する。予め定められた条件としては、各画像が撮像された地理的な位置と、各画像に対応する他の画像が撮像された地理的な位置との間の地理的な距離が、予め定められた第1閾値以下である又は第1閾値よりも小さいという条件、及び/又は、各画像が撮像された時刻と、各画像に対応する他の画像が撮像された時刻との間の期間の長さが、予め定められた第2閾値以下である又は第2閾値よりも小さいという条件が例示される。
【0161】
一実施形態において、判定部1130は、各画像の補助データにより示される各画像が撮像された地理的な位置に基づいて、上記の判定処理を実行する。他の実施形態において、判定部1130は、各画像の補助データにより示される各画像が撮像された時刻に基づいて、上記の判定処理を実行する。
【0162】
例えば、上記の画像が、手動操作又は遠隔操作により管理区域10の内部を走行する自律移動体110に搭載されたカメラ112を用いて撮像された画像である場合、2つの画像の撮像時刻の差は、2つの画像の地理的な位置の距離に略比例する。これにより、各画像が撮像された時刻に基づいて、特定の画像と、他の画像との位置関係が予め定められた条件に合致するか否かを判定することができる。
【0163】
一実施形態において、判定部1130は、撮像データ抽出部1120におけるサンプリング処理により抽出された複数の画像に含まれる特定の画像と、当該複数の画像に含まれる他の全ての画像との間で上記の判定処理を実行する。他の実施形態において、判定部1130は、撮像データ抽出部1120におけるサンプリング処理により抽出された複数の画像に含まれる特定の画像と、当該複数の画像に含まれる他の画像の一部との間で上記の判定処理を実行する。例えば、判定部1130は、特定の画像と、当該特定の画像の撮像位置又は撮像時刻を基準として、撮像位置又は撮像時刻が予め定められた範囲内に含まれる他の画像との間で、上記の判定処理を実行する。
【0164】
本実施形態において、類似画像決定部1142は、特定の画像が撮像された地理的な位置との関係が予め定められた条件に合致すると判定された他の画像を、当該特定の画像に対応する1以上の類似画像として決定する。特定の画像に対応する1以上の類似画像のそれぞれは、当該特定の画像に対応する正例として用いられる。
【0165】
本実施形態において、非類似画像決定部1144は、特定の画像が撮像された地理的な位置との関係が予め定められた条件に合致しないと判定された他の画像を、当該特定の画像に対応する1以上の非類似画像として決定する。特定の画像に対応する1以上の非類似画像のそれぞれは、当該特定の画像に対応する負例として用いられる。
【0166】
本実施形態において、データセット生成部1146は、上述された教師データのデータセットを生成する。具体的には、データセット生成部1146は、撮像データ抽出部1120におけるサンプリング処理により抽出された複数の画像のそれぞれについて、各画像、各画像に対応する正例、及び、各画像に対応する負例を対応付けて、教師データのデータセットを生成する。
【0167】
撮像データ抽出部1120は、画像データ取得部の一例であってよい。
【0168】
図12は、トポロジカルマップの概念図の一例を概略的に示す。上述されたとおり、トポロジカルマップは、例えば、複数の参照地点20のそれぞれに対応する複数のノードと、当該複数のノードのそれぞれを結合する1以上のエッジとを含む重み付きグラフとして表現される。上記の重み付きグラフにおいて、1以上のエッジのそれぞれの重みは、例えば、各エッジが結合する2個のノードのそれぞれに対応する2個の参照地点20のそれぞれの参照画像22の類似度を示す。これにより、位置座標を用いることなく、複数の参照地点20の関係が表現され得る。
【0169】
図8に関連して説明されたとおり、本実施形態において、データ格納部630は、参照情報格納部812と、トポロジカルマップ格納部814とを備える。本実施形態においては、参照情報格納部812が画像データベース1212を格納し、トポロジカルマップ格納部814がトポロジカルマップ1214を格納する場合を例として、トポロジカルマップの概念が説明される。
【0170】
本実施形態において、画像データベース1212は、例えば、管理区域10の内部に配された複数の参照地点20のそれぞれの識別情報(参照地点IDと称される場合がある。)と、複数の参照地点20のそれぞれの位置情報と、複数の参照地点20のそれぞれの参照画像22の識別情報(画像IDと称される場合がある。)とを対応付けて格納する。これにより、例えば、ユーザがゴール地点の位置又は参照地点IDを指定することで、当該ゴール地点に対応する参照画像22が抽出され得る。
【0171】
本実施形態において、トポロジカルマップ1214は、複数の参照地点20のそれぞれに対応する複数のノード1220から選択される2個のノード1220の組み合わせのそれぞれについて、当該組み合わせを構成する2個のノードの識別情報と、当該組み合わせに対応するエッジ1240に割り当てられた重みとを対応付けて格納する。これにより、複数の参照地点20のそれぞれに対応する複数のノード1220と、当該複数のノードのそれぞれを結合する1以上のエッジ1240とを含む重み付きグラフが表現される。
【0172】
上述されたとおり、本実施形態において、各エッジに割り当てられる重みの大きさは、当該エッジが結合する2個のノード1220のそれぞれに対応する2個の参照地点20のそれぞれの参照画像22の類似度に基づいて決定される。例えば、各エッジが結合する2個のノード1220のそれぞれに対応する2個の参照地点20のそれぞれの参照画像22の類似度が、各エッジに割り当てられる重みとして用いられる。
【0173】
図12に関連して説明される実施形態においては、8個のノード1220のそれぞれに対して、他の7個のノード1220との間に配される7個のエッジが設定される。8個のノード1220のそれぞれは、管理区域10の内部に配された8個の参照地点20に対応する。なお、
図12においては、トポロジカルマップ1214の理解を容易にすることを目的として、8個のノード1220のそれぞれが、8個の参照地点20のそれぞれの地理的関係を模した位置に配されている。しかしながら、本実施形態において、トポロジカルマップ1214には、各ノードの位置情報が含まれていないことに留意されたい。
【0174】
図13は、リルート処理の一例を概略的に示す。
図8に関連して説明されたとおり、大局的経路決定部880は、必要に応じてリルート処理を実行する。本実施形態においては、自律移動体110が、予定経路を構成する中継地点Aから中継地点Bに向かって移動している期間中に、大局的経路決定部880がリルート処理を実行する場合を例として、リルート処理の詳細が説明される。
【0175】
本実施形態によれば、まず、S1312において、大局的経路決定部880が、リルートに関連するイベントの発生を検出する。上記のイベントとしては、(i)予定経路上に障害物が検出されたこと、(ii)前回のリルート処理が実施された時刻から予め定められた期間が経過したこと、(iii)前回のリルート処理が実施された時刻からの自律移動体110の移動距離が予め定められた閾値に等しくなった又は当該閾値よりも大きくなったこと、(iv)予め定められた時刻が到来したこと、(v)自律移動体110が予め定められた地点に到達したことなどが例示される。
【0176】
次に、S1314において、大局的経路決定部880は、中継地点Aから中継地点Bの間の通行が困難であるか否かを判定する。例えば、センス部622に配された障害物検出センサ又はLiDARが予定経路上に障害物を検出した場合、大局的経路決定部880は、予定経路に沿って自律移動体110を移動させることができるか否かを判定する。
【0177】
中継地点Aから中継地点Bの間の通行が困難であると判定された場合(S1314のYesの場合)、S1316において、大局的経路決定部880は、トポロジカルマップの重みを変更する。具体的には、大局的経路決定部880は、トポロジカルマップにおける、中継地点A及び中継地点Bの間の経路に対応するエッジの重みを変更する。大局的経路決定部880は、中継地点A及び中継地点Bの間の経路が予定経路に含まれにくくなるように、上記のエッジの重みを大きくする。大局的経路決定部880は、上記のエッジの重みを無限大又は設定可能な値の上限値に設定してよい。
【0178】
次に、S1318において、大局的経路決定部880は、現在位置から目的地点までの大域的経路を計画する。例えば、大局的経路決定部880は、中継地点Aに対応するノードを新たな始点ノードとして決定し、当該新たな始点ノードから終点ノードまでのエッジの重みの和が最も小さくなるようなノード列を導出する。これにより、中継地点A及び中継地点Bの間の経路を含まない予定経路が導出され得る。
【0179】
一方、中継地点Aから中継地点Bの間の通行が困難であると判定されなかった場合(S1314のNoの場合)、S1316が実行されることなく、S1318が実行される。この場合、新たな予定経路には、中継地点A及び中継地点Bの間の経路が含まれ得る。これにより、リルート処理が終了する。
【0180】
図14は、本発明の複数の態様が全体的又は部分的に具現化されてよいコンピュータ3000の一例を示す。移動体管理システム100の少なくとも一部は、コンピュータ3000により実現されてよい。例えば、自律移動体110の少なくとも一部が、コンピュータ3000により実現される。制御部114の少なくとも一部が、コンピュータ3000により実現されてよい。例えば、管理サーバ120の少なくとも一部が、コンピュータ3000により実現される。
【0181】
コンピュータ3000にインストールされたプログラムは、コンピュータ3000に、本発明の実施形態に係る装置に関連付けられるオペレーション又は当該装置の1又は複数の「部」として機能させ、又は当該オペレーション又は当該1又は複数の「部」を実行させることができ、及び/又はコンピュータ3000に、本発明の実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ3000に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつか又はすべてに関連付けられた特定のオペレーションを実行させるべく、CPU3012によって実行されてよい。
【0182】
本実施形態によるコンピュータ3000は、CPU3012、RAM3014、グラフィックコントローラ3016、及びディスプレイデバイス3018を含み、それらはホストコントローラ3010によって相互に接続されている。コンピュータ3000はまた、通信インターフェース3022、ハードディスクドライブ3024、DVD-ROMドライブ3026、及びICカードドライブのような入出力ユニットを含み、それらは入出力コントローラ3020を介してホストコントローラ3010に接続されている。コンピュータはまた、ROM3030及びキーボード3042のようなレガシの入出力ユニットを含み、それらは入出力チップ3040を介して入出力コントローラ3020に接続されている。
【0183】
CPU3012は、ROM3030及びRAM3014内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ3016は、RAM3014内に提供されるフレームバッファ等又はそれ自体の中に、CPU3012によって生成されるイメージデータを取得し、イメージデータがディスプレイデバイス3018上に表示されるようにする。
【0184】
通信インターフェース3022は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブ3024は、コンピュータ3000内のCPU3012によって使用されるプログラム及びデータを格納する。DVD-ROMドライブ3026は、プログラム又はデータをDVD-ROM3001から読み取り、ハードディスクドライブ3024にRAM3014を介してプログラム又はデータを提供する。ICカードドライブは、プログラム及びデータをICカードから読み取り、及び/又はプログラム及びデータをICカードに書き込む。
【0185】
ROM3030はその中に、アクティブ化時にコンピュータ3000によって実行されるブートプログラム等、及び/又はコンピュータ3000のハードウェアに依存するプログラムを格納する。入出力チップ3040はまた、様々な入出力ユニットをパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入出力コントローラ3020に接続してよい。
【0186】
プログラムが、DVD-ROM3001又はICカードのようなコンピュータ可読記憶媒体によって提供される。プログラムは、コンピュータ可読記憶媒体から読み取られ、コンピュータ可読記憶媒体の例でもあるハードディスクドライブ3024、RAM3014、又はROM3030にインストールされ、CPU3012によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ3000に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置又は方法が、コンピュータ3000の使用に従い情報のオペレーション又は処理を実現することによって構成されてよい。
【0187】
例えば、通信がコンピュータ3000及び外部デバイス間で実行される場合、CPU3012は、RAM3014にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インターフェース3022に対し、通信処理を命令してよい。通信インターフェース3022は、CPU3012の制御の下、RAM3014、ハードディスクドライブ3024、DVD-ROM3001、又はICカードのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、又はネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
【0188】
また、CPU3012は、ハードディスクドライブ3024、DVD-ROMドライブ3026(DVD-ROM3001)、ICカード等のような外部記録媒体に格納されたファイル又はデータベースの全部又は必要な部分がRAM3014に読み取られるようにし、RAM3014上のデータに対し様々なタイプの処理を実行してよい。CPU3012は次に、処理されたデータを外部記録媒体にライトバックしてよい。
【0189】
様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU3012は、RAM3014から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM3014に対しライトバックする。また、CPU3012は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU3012は、当該複数のエントリの中から、第1の属性の属性値が指定されている条件に一致するエントリを検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0190】
上で説明したプログラム又はソフトウェアモジュールは、コンピュータ3000上又はコンピュータ3000近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワーク又はインターネットに接続されたサーバシステム内に提供されるハードディスク又はRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それにより、上記のプログラムを、ネットワークを介してコンピュータ3000に提供する。
【0191】
上記実施形態におけるフローチャート及びブロック図におけるブロックは、オペレーションが実行されるプロセスの段階又はオペレーションを実行する役割を持つ装置の「部」を表わしてよい。特定の段階及び「部」が、専用回路、コンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、及び/又はコンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタル及び/又はアナログハードウェア回路を含んでよく、集積回路(IC)及び/又はディスクリート回路を含んでよい。プログラマブル回路は、例えば、フィールドプログラマブルゲートアレイ(FPGA)、及びプログラマブルロジックアレイ(PLA)等のような、論理積、論理和、排他的論理和、否定論理積、否定論理和、及び他の論理演算、フリップフロップ、レジスタ、並びにメモリエレメントを含む、再構成可能なハードウェア回路を含んでよい。
【0192】
コンピュータ可読記憶媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読記憶媒体は、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読記憶媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読記憶媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。
【0193】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1又は複数のプログラミング言語の任意の組み合わせで記述されたソースコード又はオブジェクトコードのいずれかを含んでよい。
【0194】
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路が、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を生成するために当該コンピュータ可読命令を実行すべく、ローカルに又はローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路に提供されてよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【0195】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。また、技術的に矛盾しない範囲において、特定の実施形態について説明した事項を、他の実施形態に適用することができる。また、各構成要素は、名称が同一で、参照符号が異なる他の構成要素と同様の特徴を有してもよい。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0196】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【0197】
例えば、本願明細書には下記の事項が開示されている。
(項目1)
予め定められた地理的範囲の内部を自律移動する移動体を制御するための制御装置であって、
上記移動体は、上記移動体の周囲を撮像する第1撮像装置を備え、
上記制御装置は、上記地理的範囲の内部に配される複数の地点のそれぞれにおいて予め撮像された画像である複数の参照画像を、上記複数の地点の識別情報と対応付けて記憶する第1記憶装置にアクセス可能に構成されており、
上記制御装置は、
上記複数の地点のうち、上記移動体の出発地点から目的地点までの予定経路を構成する1以上の地点である1以上の中継地点を示す経路情報を取得する経路情報取得部と、
上記1以上の中継地点のうち、上記移動体の目標となる目標地点を決定する目標地点決定部と、
上記第1記憶装置を参照して、上記複数の参照画像のうち、上記目標地点に対応付けられた参照画像である目標画像を取得する目標画像取得部と、
上記移動体の現在の位置及び姿勢において上記第1撮像装置が撮像した画像である現在画像を取得する現在画像取得部と、
上記目標画像及び上記現在画像に基づいて、上記移動体の現在の位置及び姿勢と、上記目標地点において目標となる上記移動体の位置及び姿勢との間の相対的な関係を示す指標である相対指標の値を導出する相対指標導出部と、
を備え、
上記相対指標導出部は、
上記目標画像及び上記現在画像を、学習済みの推定モデルに入力し、
上記推定モデルから、上記相対指標に関する推定結果に対応する出力を導出する、
制御装置。
(項目2)
上記推定モデルは、
上記目標画像及び上記現在画像を入力とし、上記目標画像の特徴量及び上記現在画像の特徴量を抽出する特徴量抽出部と、
上記目標画像の特徴量及び上記現在画像の特徴量を入力とし、上記相対指標に関する上記推定結果を出力する相対指標推定部と、
を有する、
項目1に記載の制御装置。
(項目3)
上記特徴量抽出部は、
上記目標画像を入力し、上記目標画像の特徴量を抽出する第1抽出部と、
上記現在画像を入力し、上記現在画像の特徴量を抽出する第2抽出部と、
を含み、
上記第1抽出部は、(i)上記目標画像を学習済みの第1抽出モデルに入力し、(ii)上記第1抽出モデルから、上記目標画像の特徴量に関する推定結果に対応する出力を導出し、
上記第2抽出部は、(i)上記現在画像を学習済みの第2抽出モデルに入力し、(ii)上記第2抽出モデルから、上記現在画像の特徴量に関する推定結果に対応する出力を導出し、
上記第1抽出モデル及び上記第2抽出モデルは、画像を入力とし、当該画像の特徴ベクトルを出力とする距離学習により生成された学習済みモデルである、
項目2に記載の制御装置。
(項目4)
複数の第1学習用データを含む第1学習用データセットを取得する第1データセット取得部と、
上記第1学習用データセットに含まれる2個の第1学習用データの組み合わせを用いて機械学習を実行することにより、学習済みの上記推定モデルを生成する推定モデル生成部と、
をさらに備え、
上記第1学習用データのそれぞれは、画像と、当該画像を撮像した第2撮像装置の位置である撮像位置と、上記第2撮像装置の姿勢である撮像姿勢とが対応付けられたデータであり、
上記推定モデル生成部は、複数の上記組み合わせのそれぞれについて、上記2個の第1学習用データの一方に含まれる第1画像と、上記2個の第1学習用データの他方に含まれる第2画像とを入力とし、上記第1画像に対応する撮像位置及び撮像姿勢と、上記第2画像に対応する撮像位置及び撮像姿勢との間の相対的な関係の推定結果に関する値を出力とする機械学習により、上記推定モデルを生成する、
項目1に記載の制御装置。
(項目5)
上記相対指標導出部が導出した上記相対指標に基づいて上記移動体を移動させる移動制御部をさらに備える、
項目1に記載の制御装置。
(項目6)
パーティクルフィルタ又は逐次モンテカルロ法により上記移動体の現在位置を推定し、当該推定された現在位置に基づいて上記相対指標の値を補正する補正部をさらに備え、
上記移動制御部は、上記補正部が補正した上記相対指標の値に基づいて上記移動体を移動させる、
項目5に記載の制御装置。
(項目7)
上記予定経路を決定する経路計画部をさらに備え、
上記経路計画部は、上記複数の地点のそれぞれに対応する複数のノード、及び、上記複数のノードのそれぞれを結合する1以上のエッジを含む重み付きグラフを記憶する第2記憶装置を参照して、上記出発地点又は上記出発地点の近傍に配された地点に対応するノードである始点ノードから、上記目的地点又は上記目的地点の近傍に配された地点に対応するノードである終点ノードまでのエッジの重みの和が最も小さくなるようなノード列を導出することで、上記予定経路を決定し、
上記重み付きグラフにおいて、上記1以上のエッジのそれぞれの重みは、各エッジが結合する2個のノードのそれぞれに対応する2個の地点のそれぞれの参照画像が類似する度合いを示す、
項目1に記載の制御装置。
(項目8)
上記出発地点において上記第1撮像装置が撮像した画像である出発地画像を取得する出発地画像取得部と、
上記複数の参照画像のそれぞれが上記出発地画像に類似する度合いを導出する類似度導出部と、
上記出発地画像に最も類似する参照画像に対応するノードを、上記始点ノードとして決定する始点ノード決定部と、
をさらに備える、
項目7に記載の制御装置。
(項目9)
上記複数の参照画像のそれぞれ及び上記出発地画像を入力とし、上記複数の参照画像のそれぞれの特徴量及び上記出発地画像の特徴量の推定結果に関する値を出力する特徴量出力部をさらに備え、
上記特徴量出力部は、(i)上記特徴量出力部における情報処理の対象となる画像である対象画像を、学習済みの特徴量出力モデルに入力し、(ii)上記特徴量出力モデルから、上記対象画像の特徴量に対応する出力を導出し、
上記類似度導出部は、上記複数の参照画像のそれぞれの特徴量及び上記出発地画像の特徴量に基づいて、上記複数の参照画像のそれぞれが上記出発地画像に類似する度合いを導出する、
項目8に記載の制御装置。
(項目10)
上記対象画像は、2次元RGB画像であり、
上記特徴量は、特徴ベクトルである、
項目9に記載の制御装置。
(項目11)
複数の第2学習用データを含む第2学習用データセットを取得する第2データセット取得部と、
上記第2学習用データセットを用いて距離学習を実行することにより、画像を入力し、当該画像の特徴量の推定結果に関する値を出力するための上記特徴量出力モデルを生成する特徴量出力モデル生成部と、
をさらに備え、
上記複数の第2学習用データのそれぞれは、基準画像、1以上の類似画像、及び、1以上の非類似画像が対応付けられたデータであり、
上記1以上の類似画像のそれぞれが撮像された地理的な位置と、上記基準画像が撮像された地理的な位置との関係は、予め定められた条件に合致し、
上記1以上の非類似画像のそれぞれが撮像された地理的な位置と、上記基準画像が撮像された地理的な位置との関係は、上記予め定められた条件に合致しない、
項目9に記載の制御装置。
(項目12)
上記予め定められた条件は、
各画像が撮像された位置の間の地理的な距離が、予め定められた第1閾値以下である又は上記第1閾値よりも小さいという条件、及び/又は、
各画像が撮像された時刻の間の期間の長さが、予め定められた第2閾値以下である又は上記第2閾値よりも小さいという条件、
を含む、
項目11に記載の制御装置。
(項目13)
上記第2学習用データセットを取得する第2データセット生成部をさらに備え、
上記第2データセット生成部は、
上記地理的範囲の内部で撮像された複数の画像の画像データと、上記複数の画像のそれぞれが撮像された
上記地理的範囲の内部で撮像された複数の画像の画像データと、上記複数の画像のそれぞれが撮像された地理的な位置又は上記複数の画像のそれぞれが撮像された時刻を示す補助データとを対応付けて取得する画像データ取得部と、
上記複数の画像のそれぞれについて、各画像の上記画像データに対応付けられた上記補助データにより示される上記地理的な位置又は上記時刻に基づいて、各画像が撮像された地点と、上記複数の画像に含まれる少なくとも1つの他の画像が撮像された地点との地理的な関係が上記予め定められた条件に合致するか否かを判定する判定部と、
各画像が撮像された地点との地理的な関係が上記予め定められた条件に合致すると判定された上記他の画像を、各画像に対応する上記1以上の類似画像として決定する類似画像決定部と、
各画像が撮像された地点との地理的な関係が上記予め定められた条件に合致しないと判定された上記他の画像を、各画像に対応する上記1以上の非類似画像として決定する非類似画像決定部と、
を有する、
項目11に記載の制御装置。
(項目14)
ユーザからの入力に基づいて、上記終点ノードを決定する終点ノード決定部をさらに備える、
項目7に記載の制御装置。
(項目15)
予め定められた地理的範囲の内部を自律移動する移動体を制御するための制御装置であって、
上記移動体は、上記移動体の周囲を撮像する撮像装置を備え、
上記制御装置は、上記地理的範囲の内部に配される複数の地点のそれぞれにおいて予め撮像された画像である複数の参照画像を記憶する記憶装置にアクセス可能に構成されており、
上記制御装置は、
上記移動体の目的地点の画像である目的地画像を取得する目的地画像取得部と、
上記撮像装置が撮像した画像と、上記目的地画像取得部が取得した上記目的地画像との類似する度合いが予め定められた程度を超える地点まで、上記移動体を移動させる移動制御部と、
を備え、
上記移動制御部は、上記複数の地点のうち、上記移動体の出発地点から上記目的地点までの上記移動体の経路の上又は近傍に配される地点である複数の中継地点が予め定められた条件を満足するように、上記移動体の移動を制御し、
上記予め定められた条件は、上記経路の少なくとも一部において、隣接する2つの中継地点のそれぞれに対応する参照画像の類似する度合いが、隣接しない2つの中継地点のそれぞれに対応する参照画像の類似する度合いよりも大きいという条件を含む、
制御装置。
(項目16)
自律的に移動可能な移動体であって、
項目1から項目15までの何れか一項に記載の制御装置と、
上記制御装置の指示に従って上記移動体を移動させる駆動部と、
を備える、
移動体。
(項目17)
コンピュータを、項目1から項目15までの何れか一項に記載の制御装置として機能させるためのプログラム。
(項目18)
予め定められた地理的範囲の内部を自律移動する移動体の出発地点から目的地点までの予定経路を決定する経路計画装置であって、
上記経路計画装置は、上記地理的範囲の内部に配される複数の地点のそれぞれに対応する複数のノード、及び、上記複数のノードのそれぞれを結合する1以上のエッジを含む重み付きグラフを記憶する記憶装置にアクセス可能に構成されており、
上記重み付きグラフにおいて、上記1以上のエッジのそれぞれの重みは、各エッジが結合する2個のノードのそれぞれに対応する2個の地点のそれぞれにおいて予め撮像された画像である参照画像が類似する度合いを示し、
上記経路計画装置は、上記予定経路を決定する経路計画部を備え、
上記経路計画部は、上記記憶装置を参照して、上記出発地点又は上記出発地点の近傍に配された地点に対応するノードである始点ノードから、上記目的地点又は上記目的地点の近傍に配された地点に対応するノードである終点ノードまでのエッジの重みの和が最も小さくなるようなノード列を導出することで、上記予定経路を決定する、
経路計画装置。
(項目19)
複数の学習用データを含む学習用データセットを取得する段階と、
上記学習用データセットを用いて距離学習を実行することにより、画像を入力し、当該画像の特徴量の推定結果に関する値を出力するための特徴量出力モデルを生成する段階と、
を有し、
上記複数の学習用データのそれぞれは、基準画像、1以上の類似画像、及び、1以上の非類似画像が対応付けられたデータであり、
上記1以上の類似画像のそれぞれが撮像された地理的な位置と、上記基準画像が撮像された地理的な位置との関係は、予め定められた条件に合致し、
上記1以上の非類似画像のそれぞれが撮像された地理的な地点と、上記基準画像が撮像された地理的な位置との関係は、上記予め定められた条件に合致しない、
学習済みモデルを生成するための方法。
(項目20)
上記予め定められた条件は、
各画像が撮像された位置の間の地理的な距離が、予め定められた第1閾値以下である又は上記第1閾値よりも小さいという条件、及び/又は、
各画像が撮像された時刻の間の期間の長さが、予め定められた第2閾値以下である又は上記第2閾値よりも小さいという条件、
を含む、
項目19に記載の学習済みモデルを生成するための方法。
(項目21)
上記特徴量出力モデルは、ニューラルネットワークを含み、
上記距離学習を実行することにより上記特徴量出力モデルを生成する段階は、
各学習用データに含まれる上記基準画像、上記1以上の類似画像及び上記1以上の非類似画像のそれぞれから特徴ベクトルを生成する段階と、
各学習用データに含まれる上記基準画像及び上記1以上の類似画像の組と、各学習用データに含まれる上記基準画像及び上記1以上の非類似画像の組とのそれぞれについて、特徴ベクトル間の距離を導出する段階と、
上記距離及び予め定められたマージン値に基づいて導出される損失を用いて、上記ニューラルネットワークの距離学習を実行する段階と、
を含む、
項目19に記載の学習済みモデルを生成するための方法。
(項目22)
上記学習用データセットを取得する段階は、上記学習用データセットを生成する段階を含み、
上記学習用データセットを生成する段階は、
予め定められた地理的範囲の内部で撮像された複数の画像の画像データと、上記複数の画像のそれぞれが撮像された地理的な位置又は上記複数の画像のそれぞれが撮像された時刻を示す補助データとを対応付けて取得する段階と、
上記複数の画像のそれぞれについて、各画像の上記画像データに対応付けられた上記補助データにより示される上記地理的な位置又は上記時刻に基づいて、各画像が撮像された地理的な位置と、上記複数の画像に含まれる少なくとも1つの他の画像が撮像された地理的な位置との関係が上記予め定められた条件に合致するか否かを判定する段階と、
各画像が撮像された地理的な位置との関係が上記予め定められた条件に合致すると判定された上記他の画像を、各画像に対応する上記1以上の類似画像として決定する段階と、
各画像が撮像された地理的な位置と関係が上記予め定められた条件に合致しないと判定された上記他の画像を、各画像に対応する上記1以上の非類似画像として決定する段階と、
を含む、
項目19に記載の学習済みモデルを生成するための方法。
(項目23)
機械学習又は距離学習に用いられるデータセットを生成するための方法であって、
予め定められた地理的範囲の内部で撮像された複数の画像の画像データと、上記複数の画像のそれぞれが撮像された地理的な位置又は上記複数の画像のそれぞれが撮像された時刻を示す補助データとを対応付けて取得する段階と、
上記複数の画像のそれぞれについて、各画像が撮像された地理的な位置と、上記複数の画像に含まれる少なくとも1つの他の画像が撮像された地理的な位置との関係が予め定められた条件に合致するか否かを判定する段階と、
各画像が撮像された地理的な位置との関係が上記予め定められた条件に合致すると判定された上記他の画像を、各画像に対応する正例である類似画像として決定する段階と、
各画像が撮像された地理的な位置との関係が上記予め定められた条件に合致しないと判定された上記他の画像を、各画像に対応する負例である非類似画像として決定する段階と、
上記複数の画像のそれぞれについて、各画像、各画像に対応する正例、及び、各画像に対応する負例を対応付けて、上記データセットを生成する段階と、
を有し、
上記予め定められた条件は、
上記各画像が撮像された地理的な位置と、上記各画像に対応する上記他の画像が撮像された地理的な位置との間の地理的な距離が、予め定められた第1閾値以下である又は上記第1閾値よりも小さいという条件、及び/又は、
上記各画像が撮像された時刻と、上記各画像に対応する上記他の画像が撮像された時刻との間の期間の長さが、予め定められた第2閾値以下である又は上記第2閾値よりも小さいという条件、
を含む、
データセットを生成するための方法。
【符号の説明】
【0198】
10 管理区域、12 走行許可区域、14 走行禁止区域、20 参照地点、22 参照画像、32 画像、34 特徴量、42 目標画像、44 現在画像、46 推定結果、52 特徴量、54 特徴量、100 移動体管理システム、110 自律移動体、112 カメラ、114 制御部、120 管理サーバ、300 変換モデル、400 制御量推定モデル、420 特徴量抽出部、430 第1抽出部、432 第1抽出モデル、440 第2抽出部、442 第2抽出モデル、460 相対指標推定部、462 全結合層、464 全結合層、466 全結合層、622 センス部、624 通信部、626 入出力部、628 駆動部、630 データ格納部、642 データ収集部、644 通信制御部、646 入出力制御部、648 駆動制御部、650 経路案内部、720 大域的経路計画部、740 局所的経路計画部、742 経路情報取得部、744 目標地点決定部、746 目標画像取得部、752 現在画像取得部、754 制御量決定部、812 参照情報格納部、814 トポロジカルマップ格納部、822 特徴ベクトル生成部、824 類似度導出部、842 ユーザ入力取得部、844 目的地画像取得部、846 終点ノード決定部、864 出発地画像取得部、866 始点ノード決定部、880 大局的経路決定部、922 制御量導出部、924 制御量補正部、1020 データ格納部、1030 トポロジカルマップ生成部、1040 撮像データ取得部、1042 変換モデル用教師データ生成部、1044 推定モデル用教師データ生成部、1052 変換モデル生成部、1054 制御量推定モデル生成部、1120 撮像データ抽出部、1130 判定部、1142 類似画像決定部、1144 非類似画像決定部、1146 データセット生成部、3000 コンピュータ、3001 DVD-ROM、3010 ホストコントローラ、3012 CPU、3014 RAM、3016 グラフィックコントローラ、3018 ディスプレイデバイス、3020 入出力コントローラ、3022 通信インターフェース、3024 ハードディスクドライブ、3026 DVD-ROMドライブ、3030 ROM、3040 入出力チップ、3042 キーボード