JP7131994B2 - 自己位置推定装置、自己位置推定方法、自己位置推定プログラム、学習装置、学習方法及び学習プログラム - Google Patents

自己位置推定装置、自己位置推定方法、自己位置推定プログラム、学習装置、学習方法及び学習プログラム Download PDF

Info

Publication number
JP7131994B2
JP7131994B2 JP2018127460A JP2018127460A JP7131994B2 JP 7131994 B2 JP7131994 B2 JP 7131994B2 JP 2018127460 A JP2018127460 A JP 2018127460A JP 2018127460 A JP2018127460 A JP 2018127460A JP 7131994 B2 JP7131994 B2 JP 7131994B2
Authority
JP
Japan
Prior art keywords
self
input image
imaging device
reliability
correspondence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018127460A
Other languages
English (en)
Other versions
JP2020008984A (ja
Inventor
諒 中島
友樹 渡辺
晃仁 関
佑典 田副
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Electronic Devices and Storage Corp
Original Assignee
Toshiba Corp
Toshiba Electronic Devices and Storage Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Electronic Devices and Storage Corp filed Critical Toshiba Corp
Priority to JP2018127460A priority Critical patent/JP7131994B2/ja
Priority to US16/291,493 priority patent/US11062475B2/en
Publication of JP2020008984A publication Critical patent/JP2020008984A/ja
Application granted granted Critical
Publication of JP7131994B2 publication Critical patent/JP7131994B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)

Description

本発明の実施形態は自己位置推定装置、自己位置推定方法、自己位置推定プログラム、学習装置、学習方法及び学習プログラムに関する。
カメラ等で撮像された画像から、撮像時のカメラの位置及び姿勢等により表されるカメラの自己位置を推定する技術が従来から知られている。
特開2017-21427号公報
しかしながら、従来の技術では、撮像時のカメラの自己位置の推定精度をより向上させることが難しかった。
実施形態の自己位置推定装置は、入力画像取得部と参照データ取得部と類似度算出部と対応算出部と自己位置算出部と信頼度算出部とを備える。入力画像取得部は、移動体に取り付けられた第1の撮像装置によって撮像された画像を入力画像として取得する。参照データ取得部は、第2の撮像装置によって撮像された参照画像と、前記参照画像が撮像された際の第2の撮像装置の位置及び姿勢とが関連付けられた参照データを取得する。類似度算出部は、前記入力画像と前記参照画像との類似度を、第1のパラメータの連続的な変動に応じて、前記類似度を連続的に変動可能な演算により算出する。対応算出部は、前記入力画像の画素と前記参照画像の画素との対応を、第2のパラメータの連続的な変動に応じて、前記対応を連続的に変動可能な演算により算出する。自己位置算出部は、前記参照データを使用して、前記入力画像が撮像された際の前記第1の撮像装置の位置及び姿勢の少なくとも一方を示す第1の自己位置を、前記対応の連続的な変動に応じて、前記第1の自己位置を連続的に変動可能な演算により算出する。信頼度算出部は、前記第1の自己位置の信頼度を、前記第1の自己位置、前記対応及び前記類似度の連続的な変動に応じて、前記信頼度を連続的に変動可能な演算により算出する。
第1実施形態の自己位置推定装置の機能構成の例を示す図。 第1実施形態の自己位置推定処理の例を示すフローチャート。 第1実施形態の参照データを記憶するデータベースの例を示す図。 第1実施形態の類似度の算出処理の例を示すフローチャート。 第1実施形態の類似度の算出処理の例を示す図。 第1実施形態の対応の算出処理の例を示す図。 第1実施形態の第1の自己位置の算出処理の例を示す図。 第1実施形態の入力画像の画素と対応した空間内での位置を決定する方法を示す図。 第2実施形態の自己位置推定装置の機能構成の例を示す図。 第2実施形態の第1の決定部の動作例を示す図。 第3実施形態の自己位置推定装置の機能構成の例を示す図。 第3実施形態の第2の決定部の動作例を示す図。 第4実施形態の学習装置の機能構成の例を示す図。 第4実施形態の第1のパラメータ更新部の動作例を示す図。 第5実施形態の学習装置の機能構成の例を示す図。 第5実施形態の第2のパラメータ更新部の動作例を示す図。 第1乃至第3実施形態の自己位置推定装置、並びに、第4及び第5実施形態の学習装置のハードウェア構成の例を示す図。
以下に添付図面を参照して、自己位置推定装置、自己位置推定方法、自己位置推定プログラム、学習装置、学習方法及び学習プログラムの実施形態を詳細に説明する。
(第1実施形態)
第1実施形態の自己位置推定装置1は、カメラなどの撮像装置により撮影された画像から、当該画像が撮像された際の撮像装置の位置及び姿勢の少なくとも一方を示す自己位置を推定する。自己位置推定装置1は、例えば自動車及び移動ロボット等の移動体に使用される。
[自己位置推定装置の概要]
第1実施形態の自己位置推定装置1は、撮像位置が既知である画像のデータベースから、入力画像と類似している参照画像を検索し、検索された参照画像と入力画像との対応を求め、求められた対応の幾何学的な関係から、自己位置とその信頼度を推定する。第1実施形態の自己位置推定装置1により実施される自己位置推定処理は、連続な演算の組み合わせによって実現される。連続な演算とは、演算結果に影響するパラメータ(入力画像、参照画像、撮像条件、及び、演算処理の変数等)を連続的に変動させたときに、演算結果の出力が連続的に変動することを意味する。第1実施形態の自己位置推定装置1によれば、パラメータを少しずつ変動させていくことにより、出力される自己位置及び信頼度を所望の値に近づけることが可能となる。
はじめに、第1実施形態の自己位置推定装置100の機能構成の例について説明する。
[機能構成の例]
図1は第1実施形態の自己位置推定装置1の機能構成の例を示す図である。第1実施形態の自己位置推定装置1は、入力画像取得部11と、参照データ取得部12と、類似度算出部13と、対応算出部14と、自己位置算出部15と、信頼度算出部16とを備える。
入力画像取得部11は、移動体に取り付けられた第1の撮像装置によって撮像された画像を入力画像として取得する。
参照データ取得部12は、第2の撮像装置によって撮像された参照画像と、当該参照画像が撮像された際の第2の撮像装置の位置及び姿勢とが関連付けられた参照データを取得する。
類似度算出部13は、入力画像と参照画像との類似度を、第1のパラメータの連続的な変動に応じて、類似度を連続的に変動可能な演算により算出する。類似度の算出処理の詳細については後述する。
対応算出部14は、入力画像の画素と参照画像の画素との対応を、第2のパラメータの連続的な変動に応じて、当該対応を連続的に変動可能な演算により算出する。対応の算出処理の詳細については後述する。
自己位置算出部15は、入力画像が撮像された際の第1の撮像装置の位置及び姿勢の少なくとも一方を示す第1の自己位置を、対応算出部14により算出された対応の連続的な変動に応じて、第1の自己位置を連続的に変動可能な演算により算出する。第1の自己位置の算出処理の詳細については後述する。
信頼度算出部16は、第1の自己位置の信頼度を、自己位置算出部15により算出された第1の自己位置、対応算出部14により算出された対応、及び、類似度算出部13により算出された類似度の連続的な変動に応じて、信頼度を連続的に変動可能な演算により算出する。信頼度の算出処理の詳細については後述する。
次に、フローチャートを参照して第1実施形態の自己位置推定処理の例について説明する。
[自己位置推定処理の例]
図2は第1実施形態の自己位置推定処理の例を示すフローチャートである。なお、各ステップの詳細な説明については後述する。はじめに、入力画像取得部11が、移動体に搭載された第1の撮像装置から、入力画像を取得する(S101)。
次に、参照データ取得部12が、上述の参照データを取得する(S102)。
次に、類似度算出部13が、第1のパラメータを使用した連続な演算により入力画像と参照画像との類似度を算出する(S103)。第1のパラメータは、例えば入力データ(入力画像及び参照画像)、及び、類似度算出の基準(類似度算出方法)を定める変数等を含む。類似度算出の基準を定める変数は、例えば類似度を算出するニューラルネットワークの重み係数である。
次に、対応算出部14が、第2のパラメータを使用した連続な演算により入力画像と参照画像との画素間の対応を算出する(S104)。第2のパラメータは、例えば入力データ(入力画像及び参照画像)、及び、対応付けの基準(対応付け方法)を定める変数等を含む。対応付けの基準を定める変数は、例えば入力画像の画素と参照画像の画素との対応を算出するニューラルネットワークの重み係数である。
次に、自己位置算出部15が、ステップS104の処理によって算出された対応の幾何学的な関係から、入力画像が撮影されたときのカメラの位置及び姿勢の少なくとも一方を示す第1の自己位置を算出する(S105)。
次に、信頼度算出部16が、入力画像と参照画像との類似度、並びに、入力画像及び参照画像の画素間の対応から、自己位置算出部15によって算出(推定)された自己位置の信頼度を算出する(S106)。
次に、図2の各ステップの詳細について説明する。
<ステップS101>
ステップS101については、上述の説明と同じである。
<ステップS102>
参照データ取得部12は、参照画像と、当該参照画像を撮像した第2の撮像装置の位置及び姿勢とを関連付けて保持するデータベースから、上述の参照データを取得する。なお、第2の撮像装置の位置及び姿勢は、例えば全ての参照画像に共通な基準座標系のもとで表現される。具体的には、基準座標系の選び方として、緯度及び経度で表されるグローバルな座標系を使用してもよいし、特定の参照画像の撮像位置を原点とした座標系を使用してもよい。
図3は第1実施形態の参照データを記憶するデータベース102の例を示す図である。図3の例では、移動体200aが、カメラ101a(第2の撮像装置)、センサ201a及びデータベース102を備える。カメラ101aは、参照画像を取得する。センサ201aは、カメラ101aの位置及び姿勢を取得する。データベース102は、同一の時刻における参照画像と、センサ201により取得された位置及び姿勢を示すセンサデータとを関連付けて記憶する。
ここで、センサ201aは、例えばGPS(Global Positioning System)、及び、GNSS(Global Navigation Satellite System)等の測位システムである。また例えば、センサ201aは、IMU(Inertial Measurement Unit)等の慣性センサである。
なお、図3では、三次元空間中での位置を三次元空間中の座標(x,y,z)で表現し、三次元空間中での姿勢を、三次元空間中での回転を表す四元数の組み合わせ(q_x,q_y,q_z,q_w)で表現している。しかしながら、第1実施形態の自己位置推定装置1は、任意の自由度で表される位置及び姿勢の任意の表現方法に対して適用が可能である。
例えば、床面での移動など、移動が平面上で行われると仮定できる場合には、並進に関する2自由度と、回転に関する1自由度を合わせた3自由度で、位置及び姿勢を表現することができる。また例えば、三次元空間中の姿勢を表現するために、四元数のかわりに、回転行列、回転軸と回転方向を表すベクトル、及び、オイラー角等が使用されてもよい。
また、データベース102の別の構成方法として、カメラ101aにより取得された複数の画像に、SfM(Structure from Motion)を適用することによって、それぞれの画像が撮像されたときのカメラの位置及び姿勢を推定してもよい。また、データベース102の別の構成方法として、移動体200aを移動させながら参照画像を取得し、取得された参照画像にSLAM(Simultaneous Localization and Mapping)を適用することにより、参照画像を撮像したときのカメラ101aの位置及び姿勢が推定されてもよい。
参照データ取得部12は、データベース102内の参照画像、位置及び姿勢の組の全てを取得してもよいし、データベース102内の参照画像、位置及び姿勢の組の一部を取得してもよい。例えば、複数のフロアからなる建物内を撮影したデータベース102が存在するときに、データベース102全体を自己位置推定に利用してもよい。参照データ取得部12は、移動ロボット等の移動体200aが存在するフロア、及び、当該移動体200aが存在する部屋等についての事前情報が得られる場合には、その事前情報に基づいて特定のフロア及び部屋等に近い参照画像、位置及び姿勢の組のみを取得してもよい。
<ステップS103>
図4及び図5を参照してステップS103(類似度の算出処理)の詳細について説明する。
図4は第1実施形態の類似度の算出処理の例を示すフローチャートである。図5は第1実施形態の類似度の算出処理の例を示す図である。
類似度算出部13が、まず、ニューラルネットワーク105を使用して、入力画像103から入力特徴ベクトルを算出し、参照画像104から参照特徴ベクトルを算出する(ステップS201)。次に、類似度算出部13は、入力特徴ベクトルと、参照特徴ベクトルとが類似しているほど、類似度を高く算出する(ステップS202)。
なお、類似度は、例えば、入力画像103と参照画像104とが、第1の撮像装置の自己位置の推定に有用な手がかりを共有している程度を表す。具体的には、市街地で第1の撮像装置の自己位置を推定する場合、建物、標識及び信号などは時間が異なっても変化しないので、自己位置の推定に有用な手がかりとなりうる。一方、歩行者及び車両などは、移動するため自己位置推定に有用な手がかりではない。そのため、歩行者や車両などの、自己位置推定に有用な手がかりでないものを除くように特徴ベクトルの算出処理を調整したものを類似度として用いることもできる。また、一般には入力画像103及び参照画像104の見た目が近ければ、自己位置推定に有用な手がかりを共有する可能性も高いため、入力画像103及び参照画像104の見た目を単に特徴ベクトルとして表現し、その比較に基づいて類似度を定義してもよい。
次に、ステップS201及びS202の詳細について図5を用いて説明する。
<ステップS201>
画像の特徴ベクトルは、第1のパラメータにより動作を連続的に変更できる特徴抽出機を画像に適用することにより算出される。例えば、図5では、画像を入力とするニューラルネットワーク105を特徴抽出機として用いている。このニューラルネットワーク105のパラメータとしては、画像検索及び物体認識などのタスクに関する学習であらかじめ求められたものを用いてもよいし、オートエンコーダなどによってあらかじめ学習されたものを用いてもよい。ニューラルネットワーク105は連続な関数の組み合わせにより実現されるため、本実施形態の特徴抽出機に使用することができる。
また例えば、画像(入力画像103及び参照画像104)をあらかじめ定められた基底の線形結合として表現し、当該線形結合の係数を特徴として用いる特徴抽出機が用いられてもよい。基底としては、ウェーブレット変換及び離散コサイン変換などの解析的に定義される関数を用いてもよいし、画像から学習された基底関数を用いてもよい。このときにも、線形結合の係数は、連続な演算の組み合わせで求めることができるため、この方式を用いても連続な特徴抽出機を実現できる。
また例えば、入力画像103を分割して複数のパッチ(分割画像)を得て、それぞれのパッチに特徴抽出機を適用して得られる複数の特徴ベクトルを結合してもよい。ただし、入力画像103自体も一種のパッチとして考えるものとする。複数の特徴ベクトルを結合するときには、特徴ベクトルを連結してもよく、対応する要素の代表値、すなわち和、平均及び最大値などを用いてもよい。
さらに、特徴抽出機により得られたベクトルに対してPCA(Principal Component Analysis)、及び、LDA(Linear Discriminant Analysis)など、入力に対して連続な次元削減を適用してもよい。
なお、入力画像103を得る前に参照画像104が得られている場合には、参照特徴ベクトルが、データベース102に格納されている参照画像104に対してあらかじめ算出されていてもよい。すなわち、参照ベクトルが、参照画像104と対応付けられて、データベース102にあらかじめ格納されていてもよい。
また、類似度算出部13が、KD(K-Dimensional)木などの構造、及び、LSH(Locality Sensitive Hashing)などのハッシュをあらかじめ計算しておき、あらかじめ算出された参照特徴ベクトルから、入力画像103と類似した参照画像104をより高速に計算できるようにしてもよい。
<ステップS202>
類似度算出部13は、さらに入力特徴ベクトルと、参照特徴ベクトルとを連続な演算によって比較して、類似度を算出する。例えば、図5では、比較の基準としてベクトル間のユークリッド距離が用いられる。なお、比較の基準として用いられる連続な演算として、マハラノビス距離、ベクトルの内積、及び、ベクトルのなす角などを算出する演算が用いられてもよい。
<ステップS104>
対応算出部14は、連続な演算により、例えば図6に示すように、入力画像103と参照画像104の対応106を算出する。
図6は第1実施形態の対応106の算出処理の例を示すフローチャートである。図6では、一部の画素についてのみ、対応106を図示しているが、対応106は入力画像103の全ての画素、又は、参照画像104の全ての画素に対して算出されてもよい。
対応算出部14は、例えば図6に示すように、ニューラルネットワーク107を使用して、対応106を算出する。ニューラルネットワーク107は、入力画像103及び参照画像104を受け付けると、入力画像103の各画素について、参照画像104の対応点の座標を回帰する。前述したように、ニューラルネットワークは連続な演算の組み合わせにより実現されるため、本実施形態における対応算出部14に利用することができる。ニューラルネットワーク107としては、オプティカルフローなどのタスクに対して事前に学習しておいたニューラルネットワークを利用することができる。また、類似度算出部13に用いられるニューラルネットワーク105と、一部の層及びその層のパラメータを共有していてもよい。
なお、対応点の座標を求めるニューラルネットワーク107の入力は、例えば入力画像103の全体を入力としてもよい。また例えば、対応算出部14が、入力画像103と参照画像104とをそれぞれパッチ(分割画像)に分割し、それぞれのパッチをニューラルネットワーク107に独立に入力してもよい。
また、対応算出部14は、計算量を削減するために、入力画像103から、入力画像103より低い解像度で画素間の対応106を求めてもよい。また、対応算出部14は、対応106を算出するときに、それぞれの対応106が正しいかどうかを判定する評価値を算出してもよい。
<ステップS105>
自己位置算出部15は、入力画像103と参照画像104との対応関係から、第1の自己位置を算出する。第1の自己位置の算出方法の一例として、再投影誤差を最小化する方法が利用できる。
具体的には、自己位置算出部15は、参照データから特定される参照画像104の画素に対応する空間内の位置、及び、入力画像103の画素と参照画像104の画素との対応106から、入力画像103の画素に対応する空間内の位置を算出する。そして、自己位置算出部15は、当該空間内の位置から第1の自己位置に基づいて対応付けられた入力画像103の点と、当該空間内の位置の算出に使用された参照画像104の画素に対応する入力画像103の画素との距離を示す画素距離が最小になるように第1の自己位置を算出する。再投影誤差(上述の画素距離)を最小化して、第1の自己位置を算出する方法の詳細について、図7を用いて説明する。
図7は第1実施形態の第1の自己位置108の算出処理の例を示すフローチャートである。再投影誤差109とは、図7に示すように、入力画像103の画素112と対応している空間内での位置110の点が第1の自己位置108の位置を仮定したときに撮像されるはずの画像上の画素位置111と、入力画像の画素112との差を表す。
再投影誤差109は、以下の数式(1)により定式化することができる。
Figure 0007131994000001
ただし、pは入力画像103の画素112を表す。Pは画素pと対応する空間中での点の位置110を表す。Pは基準座標系で表される。Pは、入力画像103と参照画像104との対応106から求めることができる。pとPの具体的な求め方については後述する。
また、Tは、入力画像103を撮像したカメラの位置を示す第1の自己位置108を表す。π(P,T)は、第1の自己位置108の位置がTであると仮定したときに、点Pが撮像される入力画像103上の画素位置111を表す。π(P,T)は、入力画像103を撮像したカメラの焦点距離及び歪係数などを含む内部パラメータなどから求めることが可能である。
ここで、入力画像103の画素p(112)と対応した空間内での位置P(110)の求め方について述べる。以下では二つの方法を例として説明するが、他の方法が使用されてもよい。
第一の方法は、参照画像104の視点における奥行きデータを利用して、入力画像の画素p(112)と対応した空間内での位置P(110)を求める方法である。なお、ここでの奥行きデータとしては、特徴点などから得られる疎な奥行きマップ、及び、ステレオ法などにより得られる密な奥行きマップのいずれも用いることが可能である。
奥行きデータは、例えば参照画像104を取得するためのカメラとしてRGB-Dカメラを用いることにより取得できる。
また例えば、奥行きデータは、参照画像104を取得する移動体200aにLiDARなどの周辺の三次元構造を計測可能なセンサを搭載し、計測された三次元構造を参照画像104の視点に投影することによって作成してもよい。
また例えば、奥行きデータは、参照画像104と同一の物体が写っている複数の画像を組み合わせて、SfM及び多視点ステレオ法などを適用することにより取得されてもよい。
また例えば、奥行きデータは、ニューラルネットワークなどによって参照画像104から推定されてもよい。
図8は第1実施形態の入力画像103の画素p(112)と対応した空間内での位置P(110)を決定する方法を示す図である。自己位置算出部15は、図8に示すように、入力画像103の画素p(112)と対応している参照画像104の画素を対応106によって求める。そして、自己位置算出部15は、参照画像104の画素における奥行きデータを利用することによって、空間内での位置P(110)を決定する。
具体的には、自己位置算出部15は、参照画像104が撮影されたときのカメラ101aの位置及び姿勢、カメラ101aの内部パラメータ、並びに、奥行きデータから、以下の数式(2)及び(3)により位置P(110)を決定する。
Figure 0007131994000002
Figure 0007131994000003
ただし、C(p)は、入力画像103の画素pと対応する参照画像104の位置を表す。v(C(p))は、参照画像104の画素C(p)と対応する光線の方向を表す単位ベクトルであり、カメラの内部パラメータから求められる。dは参照画像104を撮影した視点から位置P(110)までの距離であり、奥行きデータから得られる。すなわち、Pi,Rは参照画像104の座標系を基準として、画素pと対応する空間内の座標を表現した座標となる。また、Tは参照画像104の座標系から基準座標系への変換を表す。Tは参照画像104の位置及び姿勢から求められる。
なお、疎な奥行きデータを利用する場合には、奥行きが定義されない画素については空間中での位置を求めることができない。しかしながら、自己位置推定に必要な点の数は一般に少なく、例えば三次元空間内での並進及び回転は4点以上の点によって決定することができる。そのため、疎な奥行きデータも利用することが可能である。
第二の方法は、複数の参照画像104を利用して、入力画像の画素p(112)と対応した空間内での位置P(110)を求める方法である。自己位置算出部15は、複数の参照画像104を利用する場合、それぞれの参照画像104ごとに入力画像103の画素112と対応した点を求める。そして、自己位置算出部15は、求められた点から三角測量を行うことで、空間内の点の位置P(110)を決定する。第2の方法を利用する場合には、奥行きデータを参照画像104と対応付けて持つ必要がなくなる。
なお、自己位置算出部15は、上述の第一の方法及び第ニの方法など、複数の方法の組み合わせによって空間内での位置P(110)を決定してもよい。
また、自己位置算出部15は、画素ごとに重み付けを行い、以下の数式(4)により定義される重みつき再投影誤差を最小化してもよい。
Figure 0007131994000004
ここで、wは画素ごとの重み付け係数である。例えば、重み付け係数wとして類似度算出部13により算出された類似度を用いることが可能である。具体的には、自己位置算出部15は、類似度が高い参照画像104から算出された点ほど、大きな重みを割り当てて、類似度が低い参照画像から算出された点ほど、小さな重みを割り当てる。類似度が高いほど、対応の精度が高くなりやすいため、このような精度の高い対応を重視することによって自己位置の精度を高めることができる。
また例えば、自己位置算出部15は、対応算出部14によって算出された対応の評価値を利用して重み付け係数wを決定してもよい。
また例えば、自己位置算出部15は、類似度算出部13及び対応算出部14などがニューラルネットワークを含む場合には、類似度算出部13及び対応算出部14などに含まれるニューラルネットワークの隠れ層の情報を、重み付け係数wとして用いてもよい。
また例えば、自己位置算出部15は、類似度による重みと、対応の信頼度による重みとを複数組み合わせて重み付け係数wを決定してもよい。
また例えば、自己位置算出部15は、画素間の対応の一部のみを利用して、第1の自己位置108の位置推定を行なってもよい。例えば、LMedS(Least Median of Squares)及びRANSAC(Random Sample Consensus)などにより外れ値除去を行なってもよい。このような構成により、対応関係に外れ値が含まれる場合にも、ロバストに自己位置推定を行なうことができる。
<ステップS106>
信頼度算出部16は、入力画像103及び参照画像104の類似度と、入力画像103及び参照画像104の画素間の対応106とから自己位置算出部15により算出された第1の自己位置108の信頼度を評価する。
まず、類似度による評価について述べる。類似度算出部13の説明において前述したように、入力画像103及び参照画像104の類似度が高いほど、第1の自己位置108の推定精度は高いと期待される。そのため、信頼度算出部16は類似度が高いほど信頼度が高くなるようにする。
次に、画素間の対応106による評価について述べる。評価方法の一例として、推定された第1の自己位置108における再投影誤差を用いることができる。第1の自己位置108が正確に推定できていれば、ほとんどの画素において再投影誤差は小さくなることが期待できる。そのため、信頼度算出部16は、上述の画素距離が近いほど、第1の自己位置108の信頼度を高く算出する。具体的には、信頼度算出部16は、例えば再投影誤差109(上述の画素距離)の平均を用いることで、信頼度を評価することができる。また例えば、信頼度算出部16は、再投影誤差に対してシグモイド関数などの関数を適用した上で和をとってもよい。また例えば、信頼度算出部16は、対応106の信頼度、並びに、入力画像103及び参照画像104の類似度等によって、再投影誤差に対して重み付けを行なってもよい。
また例えば、信頼度算出部16は、再投影誤差の微分値を利用して信頼度を評価してもよい。すなわち、自己位置推定が行ないやすい対応関係が得られていれば、再投影誤差は正しい自己位置では低くなり、そこから自己位置を少しずつ変化させるにつれて急激に大きくなるはずである。信頼度算出部16は、この変化の度合いを再投影誤差の自己位置に関する微分値、例えばヤコビ行列やヘッセ行列を用いて評価することにより、再投影誤差の不確実性を評価することができる。
第1の自己位置108の信頼度は、これらの2つの基準(類似度による評価、及び、画素間の対応106による評価)を考慮することにより定義される。具体的には、第1の自己位置108の信頼度は、例えば類似度に基づく評価と、対応106に基づく評価との積及び和などによって定義される。
以上、説明したように、第1実施形態の自己位置推定装置1では、入力画像取得部11が、移動体に取り付けられた第1の撮像装置によって撮像された画像を入力画像103として取得する。参照データ取得部12が、第2の撮像装置(カメラ101a)によって撮像された参照画像104と、当該参照画像104が撮像された際の第2の撮像装置の位置及び姿勢とが関連付けられた参照データを取得する。類似度算出部13が、入力画像103と参照画像104との類似度を、第1のパラメータの連続的な変動に応じて、類似度を連続的に変動可能な演算により算出する。対応算出部14が、入力画像103の画素と参照画像104の画素との対応106を、第2のパラメータの連続的な変動に応じて、対応106を連続的に変動可能な演算により算出する。自己位置算出部15が、入力画像103が撮像された際の第1の撮像装置の位置及び姿勢の少なくとも一方を示す第1の自己位置108を、対応106の連続的な変動に応じて、第1の自己位置108を連続的に変動可能な演算により算出する。そして、信頼度算出部16が、第1の自己位置108の信頼度を、第1の自己位置108、対応106及び類似度の連続的な変動に応じて、信頼度を連続的に変動可能な演算により算出する。
これにより第1実施形態の自己位置推定装置1によれば、撮像時のカメラの自己位置の推定精度をより向上させることができる。具体的には、第1実施形態の自己位置推定装置1は、演算結果に影響するパラメータ(入力画像103、参照画像104、及び、処理の変数等)について、連続な演算の組み合わせによって第1の自己位置108及び信頼度を推定する。そのため、例えば類似度を算出する方法(例えば、画像の特徴点を取得する方法等)を定めるパラメータ、入力画像103の撮像条件、及び、参照画像104の撮像条件などを微小に変化させたときには、第1の自己位置108及び信頼度はやはり微小に変化し、とびとびに変化することはない。そのため、パラメータを少しずつ変動させていくことにより、出力される第1の自己位置108及び信頼度を所望の値に近づけることが可能となる。そのため、対象シーンに応じて自己位置推定装置1の動作を適応させることができ、自己位置推定の精度を高めることができる。
一方、従来の自己位置推定装置では、連続でない処理が含まれているため、自己位置推定の動作を対象シーンに対して適応させることができない。例えば、撮像された画像から特徴点を抽出する処理、及び、抽出した特徴点と対応しているデータベース内の特徴点を決定する処理などが連続でない処理として含まれている場合、処理のパラメータを変えると、検索される画像、及び、抽出される特徴点の位置がとびとびに変化する。その結果、出力されるカメラの自己位置はとびとびに変化することになる。
また、従来の自己位置推定装置では、入力画像、及び、データベースに格納する画像の撮像条件(例えば、移動体との相対的な位置姿勢、及び、カメラのズーム等)を少しずつ変化させた際にも、上述の処理の結果がとびとびに変化するために、出力されるカメラの自己位置はとびとびに変化することになる。
ある特定されたシーン(建物及び地域など)で、カメラの自己位置推定を行なうときには、精度及びロバスト性などを高めるために、シーンに合わせて、演算処理のパラメータ(例えば、画像の撮像条件など)を最適化することが望ましい。しかしながら、すでに述べたように、従来の自己位置推定装置では、パラメータを変化させると推定されるカメラの自己位置がとびとびに変化する。そのため、演算のパラメータをどのように変動させれば、自己位置推定の精度が最適になるのかを判定することができない。そのため、従来の自己位置推定装置では、自己位置推定の動作を対象シーンに対して適応させることができない。
一方、第1実施形態の自己位置推定装置1の自己位置推定処理には、連続でない処理が含まれていない。そのため、第1実施形態の自己位置推定装置1によれば、対象シーンに応じて自己位置推定装置1の動作を適応させることができるので、自己位置推定の精度をより高めることができる。
第1実施形態の自己位置推定装置1によれば、自己位置推定方法を定めるパラメータ、及び、画像の撮像条件等が連続的に変動した際に、自己位置及び信頼度が連続的に変動するため、自己位置の精度及び信頼度を高めるように各種パラメータを調整することが可能になる。
(第2実施形態)
次に第2実施形態について説明する。第2実施形態の説明では、第1実施形態と同様の説明については省略する。
[機能構成の例]
図9は第2実施形態の自己位置推定装置1-2の機能構成の例を示す図である。第2実施形態の自己位置推定装置1-2は、自己位置推定の信頼度を最大化するために、入力画像103の撮像条件を決定する機能を備える点が、第1実施形態の自己位置推定装置1と異なる。ここで、撮像条件とは、焦点距離及びズームなどの光学系に関する条件、並びに、撮像装置の移動体に対する相対的な位置及び姿勢を含む。
第2実施形態の自己位置推定装置1-2は、入力画像取得部11と、参照データ取得部12と、類似度算出部13と、対応算出部14と、自己位置算出部15と、信頼度算出部16と、教師データ取得部21と、第1の決定部22とを備える。入力画像取得部11、参照データ取得部12、類似度算出部13、対応算出部14、自己位置算出部15及び信頼度算出部16の動作は第1実施形態と同一であるため、説明を省略する。
教師データ取得部21は、入力画像103を撮像した際の第1の撮像装置の位置及び姿勢の少なくとも一方を示す第2の自己位置を、教師データとして取得する。
第1の決定部22は、第1の自己位置108が第2の自己位置に近づくように第1の撮像条件を決定する。第1の撮像条件は、例えば第1の撮像装置の焦点距離、第1の撮像装置のフォーカス、第1の撮像装置のズーム、第1の撮像装置の位置、及び、第1の撮像装置の姿勢の少なくともいずれか1つを含む。
第1の撮像条件の使用方法は任意でよい。第1の決定部22が、例えば、決定された第1の撮像条件を、第1の撮像装置に入力することにより、第1の撮像装置の撮像条件が制御されてもよい。また例えば、第1の決定部22が、決定された第1の撮像条件を表示部等のユーザインタフェースを介してユーザに提示することにより、第1の撮像装置の撮像条件の変更を促してもよい。
また、第1の決定部22は、教師データを使用せずに、第1の撮像条件を決定してもよい。例えば、第1の決定部22は、第1の自己位置108の信頼度がより高くなるように、第1の撮像装置の第1の撮像条件を決定してもよい。
図10は第2実施形態の第1の決定部22の動作例を示す図である。教師データ取得部21は、第1実施形態のステップS102と同様な方法により、入力画像103を撮像した際のカメラ101b(第1の撮像装置)の位置及び姿勢を取得する。第1の決定部22は、信頼度算出部16によって算出された信頼度が高くなるように第1の撮像条件(焦点及びズームなど)を決定し、当該第1の撮像条件をカメラ101bに入力する。
自己位置推定装置1-2による自己位置の推定処理は、連続な演算によって構成されているから、信頼度を、撮像条件を決めるパラメータ(例えば、カメラの焦点距離、及び、ズームなど)で微分して微分係数を求めることができる。この微分係数は、微分の連鎖律を用いて求めてもよいし、条件を微小に変動させた上で再度入力画像103の取得と、自己位置推定と、信頼度の算出とを行い、変動する前の信頼度との差分を変動の大きさで除算して評価してもよい。
ある値に対する微分係数が正であれば、値を増加させれば信頼度を増加させることができる。一方、微分係数が負であるときには、値を減少させればよい。また、増加(減少)の大きさについては、微分係数の絶対値に比例させるようにしてもよいし、急激な変動を避けるために、変動の幅に上限を設けてもよい。
具体的に第1の撮像条件を適用するためには、例えばカメラの焦点距離及びズームなどは、オートフォーカス及び電動ズームの機構などを用いることができる。また、カメラ101bと移動体200bとの相対的な位置及び姿勢を制御するためには、位置及び姿勢を制御可能な雲台にカメラ101bを搭載して、雲台を制御することができる。また、第1の撮像条件の変動に関する指示をディスプレイ及び音声などによりユーザに伝達し、ユーザが伝達された指示に基づいて変動を加えるようにしてもよい。
第1の決定部22は、さらに、教師データ取得部21(センサ201b)によって取得された教師データTGT(位置及び姿勢)に、自己位置算出部15により出力された第1の自己位置T(108)が近づくように、第1の撮像条件を決定してもよい。自己位置推定装置1-2による自己位置の推定処理は、連続な演算によって構成されているから、出力された位置及び姿勢を各パラメータで微分することができ、上述の方法によって第1の撮像条件の変動を決定することが可能になる。
以上、説明したように、第2実施形態の自己位置推定装置1-2によれば、自己位置推定の信頼度を高めるための、入力画像103の撮像条件(第1の撮像条件)を決定することが可能となる。第2実施形態によれば、対象となるシーンに入力画像103を撮影するカメラ101b(第1の撮像装置)を適応させることにより、自己位置推定の精度を更に向上させることが可能となる。
(第3実施形態)
次に第3実施形態について説明する。第3実施形態の説明では、第1又は第2実施形態と同様の説明については省略する。
[機能構成の例]
図11は第3実施形態の自己位置推定装置1-3の機能構成の例を示す図である。第3実施形態の自己位置推定装置1-3は、入力画像103に対する自己位置推定の信頼度を最大化するために、参照画像104の撮像条件を決定する機能を備える点が、第1実施形態の自己位置推定装置1と異なる。ここで、撮像条件とは、焦点距離及びズームなどの光学系に関する条件、並びに、撮像装置の移動体に対する相対的な位置及び姿勢を含む。
第3実施形態の自己位置推定装置1-3は、入力画像取得部11と、参照データ取得部12と、類似度算出部13と、対応算出部14と、自己位置算出部15と、信頼度算出部16と、教師データ取得部21と、第2の決定部23とを備える。入力画像取得部11、参照データ取得部12、類似度算出部13、対応算出部14、自己位置算出部15及び信頼度算出部16の動作は第1実施形態と同一であるため、説明を省略する。
教師データ取得部21は、入力画像103を撮像した際の第1の撮像装置の位置及び姿勢の少なくとも一方を示す第2の自己位置を、教師データとして取得する。
第2の決定部23は、第1の自己位置108が第2の自己位置に近づくように第2の撮像条件を決定する。第2の撮像条件は、例えば第2の撮像装置の焦点距離、第2の撮像装置のフォーカス、第2の撮像装置のズーム、第2の撮像装置の位置、及び、第2の撮像装置の姿勢の少なくともいずれか1つを含む。
また、第2の決定部23は、教師データを使用せずに、第2の撮像条件を決定してもよい。例えば、第2の決定部23は、教師データを使用しない場合は、第1の自己位置108の信頼度がより高くなるように、第2の撮像装置(カメラ101a)の第2の撮像条件を決定する。
図12は第3実施形態の第2の決定部23の動作例を示す図である。自己位置推定装置1-3による自己位置の推定処理は、連続な演算によって構成されているから、信頼度を、第2の撮像装置の撮像条件を決めるパラメータ(例えば、カメラの焦点距離、及び、ズームなど)で微分して微分係数を求めることができる。この微分係数を利用して、第2実施形態で述べた制御と同様な制御を行なうことにより、信頼度が高くなるようにカメラ101a(第2の撮像装置)を制御することができる。
第2の決定部23は、教師データ取得部21(センサ201b)により取得された教師データTGT(位置及び姿勢)から、入力画像103が撮影されたときのカメラ101b(第1の撮像装置)の位置及び姿勢を取得する。そして、第2の決定部23は、取得された位置及び姿勢に、自己位置算出部15により出力された第1の自己位置T(108)が近づくように、第2の撮像条件を決定する。第2の撮像条件を使用したカメラ101a(第2の撮像装置)の制御方法については、第2実施形態と同様な方法を用いることができる。
次に、具体的に第2の撮像条件を制御する方法について述べる。ここでは、移動体200aにカメラ101aを設置し、移動体200aを移動させて参照画像104を取得する場合を例に挙げる。このとき、カメラ101aのズーム及び焦点等、移動体200aとの位置関係については第2実施形態と同様の方法で調整することができる。また、撮像位置に関しては、移動体200aを移動させることによって調整ことができる。この移動体200aの移動は自律的に行なわれてもよいし、移動する方向及び距離等の指示をディスプレイなどによりユーザに指示し、ユーザが指示に基づいて移動させるようにしてもよい。
以上、説明したように、第3実施形態の自己位置推定装置1-3によれば、自己位置推定の精度を高めるための、参照画像104の撮像条件(第2の撮像条件)を決定することが可能となる。第3実施形態によれば、対象となるシーンに適応した画像から参照画像のデータベースを構築することにより、自己位置推定の精度を向上させることが可能となる。
(第4実施形態)
次に第4実施形態について説明する。第4実施形態では、類似度算出部13のパラメータ(第1のパラメータ)を学習する学習装置2について説明する。学習装置2により学習されたパラメータを使用することにより、類似度算出部13のパラメータを自己位置推定の対象となるシーンに対して適応させることができる。
なお、学習装置2は、自己位置推定装置1とは異なるハードウェアにより実現されていてもよいし、自己位置推定装置1に学習部として組み込まれていてもよい。
[機能構成の例]
図13は第4実施形態の学習装置2の機能構成の例を示す図である。第4実施形態の学習装置2は、推定データ取得部41と、教師データ取得部42と、第1のパラメータ更新部43とを備える。
推定データ取得部41は、自己位置推定装置1から、第1の自己位置108と信頼度とを含む推定データを取得する。
教師データ取得部42は、入力画像103を撮像した際のカメラ101b(第1の撮像装置)の位置及び姿勢の少なくとも一方を示す第2の自己位置を、教師データとして取得する。
第1のパラメータ更新部43は、第1の自己位置108と第2の自己位置との差が小さいほど、信頼度が高くなるように、第1のパラメータを更新する。
図14は第4実施形態の第1のパラメータ更新部43の動作例を示す図である。推定データ取得部41は、第1実施形態の自己位置推定装置1(又は第2実施形態の自己位置推定装置1-2)によって入力画像103から算出された自己位置T(第1の自己位置108)と信頼度Rとを含む推定データを取得する。
教師データ取得部42は、入力画像103を撮像した際のカメラ101bの位置及び姿勢を第2の自己位置として取得する。具体的には、第1実施形態のステップS102と同様な方法により第2の自己位置を取得する。
第1のパラメータ更新部43は、自己位置算出部15によって算出された第1の自己位置が、教師データTGT(第2の自己位置)に近いほど、信頼度が高くなるように(自己位置算出部15によって算出された第1の自己位置が、教師データTGT(第2の自己位置)から遠いほど、信頼度が低くなるように)第1のパラメータを更新する。
具体的には、第1のパラメータ更新部43は、例えば、以下の数式(5)のような損失関数Lが最小になるように、第1のパラメータを更新する。
Figure 0007131994000005
ここで、Tは推定された第1の自己位置108、TGTは教師データ(第2の自己位置)、Rは推定された信頼度を表す。δは閾値である。ただし、式内のTとTGTの差は、自己位置を任意の方法によって表現したものの差を表す。例えば、三次元空間中での位置を三次元空間中の座標で表現し、三次元空間中の姿勢を三次元空間中の回転を表す四元数で表現した場合には、三次元空間中の座標の差と、四元数の差とを組み合わせたものを用いることができる。また、推定された自己位置Tから教師データTGTへの相対的な自己位置を求め、原点との乖離度を上述の方法により評価したものを使用してもよい。この損失関数Lは、誤差がδより大きい場合にはRが小さいほど小さくなる一方で、誤差がδより小さい場合にはRが大きいほど小さくなる。
自己位置推定装置1による第1の自己位置108の推定処理は、連続な演算で構成されているため、損失関数Lを類似度算出部13の第1のパラメータで微分し、損失関数Lを減少させる方向を決定することができる。決定された方向に第1のパラメータを変動させることを繰り返すことで、入力画像103と、自己位置推定の誤差を大きくするような参照画像104との類似度は低くなる。一方で、入力画像103と、自己位置推定の誤差を小さくするような参照画像104との類似度は高くなる。このようにして更新された類似度算出部13を用いることで、自己位置推定の誤差を小さくするような参照画像104が優先して自己位置推定に用いられるようになる。
さらに、上述した損失関数Lは、推定された第1の自己位置108と、教師データTGT(第2の自己位置)との誤差を最小化する働きも併せ持っている。そのため、類似度を自己位置の推定に利用するように自己位置算出部15を構成する場合には、自己位置の精度も同時に向上させることができる。すなわち、第1のパラメータ更新部43は、上述した損失関数Lを使用することにより、更に、第1の自己位置108と第2の自己位置との差をより小さくするように、第1のパラメータを更新することができる。
以上、説明したように、第4実施形態の学習装置2によれば、自己位置推定装置1の類似度算出部13を自己位置推定の対象シーンに適応させ、自己位置推定の誤差を小さくするような参照画像104を用いることが可能となる。そのため、自己位置推定の精度を向上させることが可能となる。
(第5実施形態)
次に第5実施形態について説明する。第5実施形態では、対応算出部14のパラメータ(第2のパラメータ)を学習する学習装置2-2について説明する。学習装置2-2により学習されたパラメータを使用することにより、対応算出部14のパラメータを自己位置推定の対象となるシーンに対して適応させることができる。
なお、学習装置2-2は、自己位置推定装置1とは異なるハードウェアにより実現されていてもよいし、自己位置推定装置1に学習部として組み込まれていてもよい。
[機能構成の例]
図15は第5実施形態の学習装置2-2の機能構成の例を示す図である。第5実施形態の学習装置2-2は、推定データ取得部41と、教師データ取得部42と、第2のパラメータ更新部44とを備える。推定データ取得部41、及び、教師データ取得部42の動作は第4実施形態と同一であるため、説明を省略する。
図16は第5実施形態の第2のパラメータ更新部44の動作例を示す図である。第2のパラメータ更新部44は、第1の自己位置108と教師データTGT(第2の自己位置)との差が小さいほど、信頼度が高くなるように、第2のパラメータを更新する。また、第2のパラメータ更新部44は、更に、第1の自己位置108と教師データTGT(第2の自己位置)との差を小さくするように、第2のパラメータを更新する。
具体的には、第4実施形態で述べた損失関数Lを減少させるように第2のパラメータを更新することができる。この損失関数Lは、類似度により推定(算出)された第1の自己位置108と教師データTGT(第2の自己位置)との差を重み付けしている。そのため、類似度が低く、原理的に自己位置推定が不可能であるようなデータが学習に及ぼす影響を小さくすることができる。
自己位置推定装置1による第1の自己位置108の推定処理は、連続な演算で構成されている。そのため、第4実施形態と同様に、微分法における連鎖律を用いることで、損失関数Lを第2のパラメータで微分し、損失関数Lが減少する第2のパラメータの変動方向を決定することができる。その結果として、より精度の高い自己位置を推定できるような第2のパラメータが得られる。
以上、説明したように、第5実施形態の学習装置2-2によれば、対応算出部14を自己位置推定の対象シーンに適応させ、より精度の高い対応106を算出することが可能となる。そのため、自己位置推定の精度を向上させることが可能となる。
最後に、第1乃至第3実施形態の自己位置推定装置1(1-2,1-3)、並びに、第4及び第5実施形態の学習装置2(2-2)のハードウェア構成の例について説明する。
[ハードウェア構成の例]
図17は第1乃至第3実施形態の自己位置推定装置1(1-2,1-3)、並びに、第4及び第5実施形態の学習装置2(2-2)のハードウェア構成の例を示す図である。以下では、第1実施形態の自己位置推定装置1の場合を例にして説明する。
第1実施形態の自己位置推定装置1は、制御装置301、主記憶装置302、補助記憶装置303、表示装置304、入力装置305及び通信装置306を備える。制御装置301、主記憶装置302、補助記憶装置303、表示装置304、入力装置305及び通信装置306は、バス310を介して接続されている。
制御装置301は、補助記憶装置303から主記憶装置302に読み出されたプログラムを実行する。主記憶装置302は、ROM(Read Only Memory)、及び、RAM(Random Access Memory)等のメモリである。補助記憶装置303は、HDD(Hard Disk Drive)、及び、メモリカード等である。
表示装置304は表示情報を表示する。表示装置304は、例えば液晶ディスプレイ等である。入力装置305は、自己位置推定装置1を操作するためのインタフェースである。入力装置305は、例えばキーボードやマウス等である。自己位置推定装置1がスマートフォン及びタブレット型端末等のスマートデバイスの場合、表示装置304及び入力装置305は、例えばタッチパネルである。通信装置306は、他の装置と通信するためのインタフェースである。
第1実施形態の自己位置推定装置1で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、メモリカード、CD-R及びDVD(Digital Versatile Disc)等のコンピュータで読み取り可能な記憶媒体に記録されてコンピュータ・プログラム・プロダクトとして提供される。
また第1実施形態の自己位置推定装置1で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また第1実施形態の自己位置推定装置1で実行されるプログラムをダウンロードさせずにインターネット等のネットワーク経由で提供するように構成してもよい。
また第1実施形態の自己位置推定装置1のプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
第1実施形態の自己位置推定装置1で実行されるプログラムは、上述の機能ブロックのうち、プログラムによっても実現可能な機能ブロックを含むモジュール構成となっている。当該各機能ブロックは、実際のハードウェアとしては、制御装置301が記憶媒体からプログラムを読み出して実行することにより、上記各機能ブロックが主記憶装置302上にロードされる。すなわち上記各機能ブロックは主記憶装置302上に生成される。
なお上述した各機能ブロックの一部又は全部をソフトウェアにより実現せずに、IC(Integrated Circuit)等のハードウェアにより実現してもよい。
また複数のプロセッサを用いて各機能を実現する場合、各プロセッサは、各機能のうち1つを実現してもよいし、各機能のうち2以上を実現してもよい。
また第1実施形態の自己位置推定装置1の動作形態は任意でよい。第1実施形態の自己位置推定装置1を、例えばネットワーク上のクラウドシステムとして動作させてもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 自己位置推定装置
2 学習装置
11 入力画像取得部
12 参照データ取得部
13 類似度算出部
14 対応算出部
15 自己位置算出部
16 信頼度算出部
21 教師データ取得部
22 第1の決定部
23 第2の決定部
41 推定データ取得部
42 教師データ取得部
43 第1のパラメータ更新部
44 第2のパラメータ更新部
101a,b カメラ
102 データベース
105 ニューラルネットワーク
107 ニューラルネットワーク
200a,b 移動体
201a,b センサ
301 制御装置
302 主記憶装置
303 補助記憶装置
304 表示装置
305 入力装置
306 通信装置
310 バス

Claims (23)

  1. 移動体に取り付けられた第1の撮像装置によって撮像された画像を入力画像として取得する入力画像取得部と、
    第2の撮像装置によって撮像された参照画像と、前記参照画像が撮像された際の第2の撮像装置の位置及び姿勢とが関連付けられた参照データを取得する参照データ取得部と、
    前記入力画像と前記参照画像との類似度を、第1のパラメータの連続的な変動に応じて、前記類似度を連続的に変動可能な演算により算出する類似度算出部と、
    前記入力画像の画素と前記参照画像の画素との対応を、第2のパラメータの連続的な変動に応じて、前記対応を連続的に変動可能な演算により算出する対応算出部と、
    前記参照データを使用して、前記入力画像が撮像された際の前記第1の撮像装置の位置及び姿勢の少なくとも一方を示す第1の自己位置を、前記対応の連続的な変動に応じて、前記第1の自己位置を連続的に変動可能な演算により算出する自己位置算出部と、
    前記第1の自己位置の信頼度を、前記第1の自己位置、前記対応及び前記類似度の連続的な変動に応じて、前記信頼度を連続的に変動可能な演算により算出する信頼度算出部と、
    を備える自己位置推定装置。
  2. 前記第1の自己位置の信頼度がより高くなるように、前記第1の撮像装置の第1の撮像条件を決定する第1の決定部、
    を更に備える請求項1に記載の自己位置推定装置。
  3. 前記入力画像を撮像した際の前記第1の撮像装置の位置及び姿勢の少なくとも一方を示す第2の自己位置を、教師データとして取得する教師データ取得部を更に備え、
    前記第1の決定部は、前記第1の自己位置が前記第2の自己位置に近づくように前記第1の撮像条件を決定する、
    請求項2に記載の自己位置推定装置。
  4. 前記第1の撮像条件は、前記第1の撮像装置の焦点距離、前記第1の撮像装置のフォーカス、前記第1の撮像装置のズーム、前記第1の撮像装置の位置、及び、前記第1の撮像装置の姿勢の少なくともいずれか1つを含む、
    請求項2又は3に記載の自己位置推定装置。
  5. 前記第1の自己位置の信頼度がより高くなるように、前記第2の撮像装置の第2の撮像条件を決定する第2の決定部、
    を更に備える請求項1乃至4のいずれか1項に記載の自己位置推定装置。
  6. 前記入力画像を撮像した際の前記第1の撮像装置の位置及び姿勢の少なくとも一方を示す第2の自己位置を、教師データとして取得する教師データ取得部を更に備え、
    前記第2の決定部は、前記第1の自己位置が前記第2の自己位置に近づくように前記第2の撮像条件を決定する、
    請求項5に記載の自己位置推定装置。
  7. 前記第2の撮像条件は、前記第2の撮像装置の焦点距離、前記第2の撮像装置のフォーカス、前記第2の撮像装置のズーム、前記第2の撮像装置の位置、及び、前記第2の撮像装置の姿勢の少なくともいずれか1つを含む、
    請求項5又は6に記載の自己位置推定装置。
  8. 前記自己位置算出部は、前記参照データから特定される参照画像の画素に対応する空間内の位置、及び、前記入力画像の画素と前記参照画像の画素との対応から、前記入力画像の画素に対応する空間内の位置を算出し、前記空間内の位置から前記第1の自己位置に基づいて対応付けられた前記入力画像の点と、前記空間内の位置の算出に使用された前記参照画像の画素に対応する入力画像の画素との距離を示す画素距離が最小になるように前記第1の自己位置を算出する、
    請求項1乃至7のいずれか1項に記載の自己位置推定装置。
  9. 前記信頼度算出部は、
    前記画素距離が近いほど、前記第1の自己位置の信頼度を高く算出する、
    請求項8に記載の自己位置推定装置。
  10. 前記類似度算出部は、前記入力画像から前記入力画像の特徴を示す第1の特徴ベクトルを算出し、前記参照画像から前記参照画像の特徴を示す第2の特徴ベクトルを算出し、前記第1の特徴ベクトルと前記第2の特徴ベクトルとが類似しているほど、前記類似度を高く算出する、
    請求項1乃至9のいずれか1項に記載の自己位置推定装置。
  11. 前記類似度算出部は、前記類似度を第1のニューラルネットワークにより算出し、前記第1のパラメータは前記第1のニューラルネットワークの重み係数を含む、
    請求項1乃至10のいずれか1項に記載の自己位置推定装置。
  12. 前記対応算出部は、前記対応を第2のニューラルネットワークにより算出し、前記第2のパラメータは前記第2のニューラルネットワークの重み係数を含む、
    請求項1乃至11のいずれか1項に記載の自己位置推定装置。
  13. 請求項1に記載の自己位置推定装置のパラメータを学習する学習装置であって、
    前記自己位置推定装置から、前記第1の自己位置と前記信頼度とを含む推定データを取得する推定データ取得部と、
    前記入力画像を撮像した際の前記第1の撮像装置の位置及び姿勢の少なくとも一方を示す第2の自己位置を、教師データとして取得する教師データ取得部と、
    前記第1の自己位置と前記第2の自己位置との差が小さいほど、前記信頼度が高くなるように、前記第1のパラメータを更新する第1のパラメータ更新部と、
    を備える学習装置。
  14. 前記第1のパラメータ更新部は、更に、前記第1の自己位置と前記第2の自己位置との差をより小さくするように、前記第1のパラメータを更新する、
    請求項13に記載の学習装置。
  15. 前記第1の自己位置と前記第2の自己位置との差が小さいほど、前記信頼度が高くなるように、前記第2のパラメータを更新する第2のパラメータ更新部、
    を更に備える請求項13又は14に記載の学習装置。
  16. 前記第2のパラメータ更新部は、更に、前記第1の自己位置と前記第2の自己位置との差を小さくするように、前記第2のパラメータを更新する、
    請求項15に記載の学習装置。
  17. 移動体に取り付けられた第1の撮像装置によって撮像された画像を入力画像として取得するステップと、
    第2の撮像装置によって撮像された参照画像と、前記参照画像が撮像された際の第2の撮像装置の位置及び姿勢とが関連付けられた参照データを取得するステップと、
    前記入力画像と前記参照画像との類似度を、第1のパラメータの連続的な変動に応じて、前記類似度を連続的に変動可能な演算により算出するステップと、
    前記入力画像の画素と前記参照画像の画素との対応を、第2のパラメータの連続的な変動に応じて、前記対応を連続的に変動可能な演算により算出するステップと、
    前記参照データを使用して、前記入力画像が撮像された際の前記第1の撮像装置の位置及び姿勢の少なくとも一方を示す第1の自己位置を、前記対応の連続的な変動に応じて、前記第1の自己位置を連続的に変動可能な演算により算出するステップと、
    前記第1の自己位置の信頼度を、前記第1の自己位置、前記対応及び前記類似度の連続的な変動に応じて、前記信頼度を連続的に変動可能な演算により算出するステップと、
    を含む自己位置推定方法。
  18. 前記第1の自己位置を連続的に変動可能な演算により算出するステップは、
    前記参照データから特定される参照画像の画素に対応する空間内の位置、及び、前記入力画像の画素と前記参照画像の画素との対応から、前記入力画像の画素に対応する空間内の位置を算出するステップと、
    前記空間内の位置から前記第1の自己位置に基づいて対応付けられた前記入力画像の点と、前記空間内の位置の算出に使用された前記参照画像の画素に対応する入力画像の画素との距離を示す画素距離が最小になるように前記第1の自己位置を算出するステップと、
    を含む請求項17に記載の自己位置推定方法。
  19. 前記信頼度を連続的に変動可能な演算により算出するステップは、
    前記画素距離が近いほど、前記第1の自己位置の信頼度を高く算出するステップ、
    を含む請求項18に記載の自己位置推定方法。
  20. 前記類似度を連続的に変動可能な演算により算出するステップは、
    前記入力画像から前記入力画像の特徴を示す第1の特徴ベクトルを算出するステップと、
    前記参照画像から前記参照画像の特徴を示す第2の特徴ベクトルを算出するステップと、
    前記第1の特徴ベクトルと前記第2の特徴ベクトルとが類似しているほど、前記類似度を高く算出するステップと、
    を含む請求項17乃至19のいずれか1項に記載の自己位置推定方法。
  21. 請求項17乃至20のいずれか1項に記載の自己位置推定方法で使用されるパラメータを学習する学習方法であって、
    前記第1の自己位置と前記信頼度とを含む推定データを取得するステップと、
    前記入力画像を撮像した際の前記第1の撮像装置の位置及び姿勢の少なくとも一方を示す第2の自己位置を、教師データとして取得するステップと、
    前記第1の自己位置と前記第2の自己位置との差が小さいほど、前記信頼度が高くなるように、前記第1のパラメータを更新するステップと、
    を含む学習方法。
  22. コンピュータを、
    移動体に取り付けられた第1の撮像装置によって撮像された画像を入力画像として取得する入力画像取得部と、
    第2の撮像装置によって撮像された参照画像と、前記参照画像が撮像された際の第2の撮像装置の位置及び姿勢とが関連付けられた参照データを取得する参照データ取得部と、
    前記入力画像と前記参照画像との類似度を、第1のパラメータの連続的な変動に応じて、前記類似度を連続的に変動可能な演算により算出する類似度算出部と、
    前記入力画像の画素と前記参照画像の画素との対応を、第2のパラメータの連続的な変動に応じて、前記対応を連続的に変動可能な演算により算出する対応算出部と、
    前記参照データを使用して、前記入力画像が撮像された際の前記第1の撮像装置の位置及び姿勢の少なくとも一方を示す第1の自己位置を、前記対応の連続的な変動に応じて、前記第1の自己位置を連続的に変動可能な演算により算出する自己位置算出部と、
    前記第1の自己位置の信頼度を、前記第1の自己位置、前記対応及び前記類似度の連続的な変動に応じて、前記信頼度を連続的に変動可能な演算により算出する信頼度算出部、
    として機能させるための自己位置推定プログラム。
  23. 請求項22に記載の自己位置推定プログラムのパラメータを学習する学習プログラムであって、
    コンピュータを、
    前記第1の自己位置と前記信頼度とを含む推定データを取得する推定データ取得部と、
    前記入力画像を撮像した際の前記第1の撮像装置の位置及び姿勢の少なくとも一方を示す第2の自己位置を、教師データとして取得する教師データ取得部と、
    前記第1の自己位置と前記第2の自己位置との差が小さいほど、前記信頼度が高くなるように、前記第1のパラメータを更新する第1のパラメータ更新部、
    として機能させるための学習プログラム。
JP2018127460A 2018-07-04 2018-07-04 自己位置推定装置、自己位置推定方法、自己位置推定プログラム、学習装置、学習方法及び学習プログラム Active JP7131994B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018127460A JP7131994B2 (ja) 2018-07-04 2018-07-04 自己位置推定装置、自己位置推定方法、自己位置推定プログラム、学習装置、学習方法及び学習プログラム
US16/291,493 US11062475B2 (en) 2018-07-04 2019-03-04 Location estimating apparatus and method, learning apparatus and method, and computer program products

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018127460A JP7131994B2 (ja) 2018-07-04 2018-07-04 自己位置推定装置、自己位置推定方法、自己位置推定プログラム、学習装置、学習方法及び学習プログラム

Publications (2)

Publication Number Publication Date
JP2020008984A JP2020008984A (ja) 2020-01-16
JP7131994B2 true JP7131994B2 (ja) 2022-09-06

Family

ID=69101666

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018127460A Active JP7131994B2 (ja) 2018-07-04 2018-07-04 自己位置推定装置、自己位置推定方法、自己位置推定プログラム、学習装置、学習方法及び学習プログラム

Country Status (2)

Country Link
US (1) US11062475B2 (ja)
JP (1) JP7131994B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7085646B2 (ja) * 2018-12-28 2022-06-16 株式会社Nttドコモ 位置推定システム
CN111627051B (zh) * 2019-02-27 2023-12-15 中强光电股份有限公司 电子装置及用以估计光流的方法
EP3938919A4 (en) * 2019-04-02 2022-05-18 Buildots Ltd. DETERMINING THE POSITION OF AN IMAGE CAPTURE DEVICE
US20220215567A1 (en) * 2019-05-10 2022-07-07 Nippon Telegraph And Telephone Corporation Depth estimation device, depth estimation model learning device, depth estimation method, depth estimation model learning method, and depth estimation program
WO2021065594A1 (ja) * 2019-10-01 2021-04-08 ソニーセミコンダクタソリューションズ株式会社 自己位置推定装置、自律移動体、自己位置推定方法及びプログラム
JP7221897B2 (ja) 2020-03-03 2023-02-14 株式会社東芝 推定装置、移動体、推定方法及びプログラム
US11398048B2 (en) * 2020-07-30 2022-07-26 Apical Limited Estimating camera pose
JP7453175B2 (ja) 2021-03-25 2024-03-19 Kddi株式会社 位置推定装置、方法及びプログラム
JP7498134B2 (ja) 2021-03-25 2024-06-11 Kddi株式会社 類似画像抽出装置、方法及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007322138A (ja) 2006-05-30 2007-12-13 Toyota Motor Corp 移動装置及び移動装置の自己位置推定方法
JP2017037426A (ja) 2015-08-07 2017-02-16 キヤノン株式会社 情報処理装置、情報処理方法、プログラム
JP2018060296A (ja) 2016-10-03 2018-04-12 グローリー株式会社 画像処理装置、画像処理システム及び画像処理方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6645051B2 (ja) 2015-07-07 2020-02-12 トヨタ自動車株式会社 自己位置推定装置、自己位置推定方法及びプログラム
JP6842039B2 (ja) * 2017-03-02 2021-03-17 富士通株式会社 カメラ位置姿勢推定装置、方法およびプログラム
JP6826010B2 (ja) 2017-08-09 2021-02-03 株式会社東芝 カメラ運動推定装置、カメラ運動推定方法及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007322138A (ja) 2006-05-30 2007-12-13 Toyota Motor Corp 移動装置及び移動装置の自己位置推定方法
JP2017037426A (ja) 2015-08-07 2017-02-16 キヤノン株式会社 情報処理装置、情報処理方法、プログラム
JP2018060296A (ja) 2016-10-03 2018-04-12 グローリー株式会社 画像処理装置、画像処理システム及び画像処理方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
安倍 満,対応点探索のための特徴量表現,電子情報通信学会技術研究報告 Vol.115 No.388,日本,一般社団法人電子情報通信学会,2015年,Vol.115 No.388,53~73
菅原 佑介,ディープラーニングを用いたJPEG2000コードストリームレベルでの類似画像検索法,電子情報通信学会技術研究報告 Vol.116 No.96,日本,一般社団法人電子情報通信学会,2016年,Vol.116 No.96,79~84

Also Published As

Publication number Publication date
JP2020008984A (ja) 2020-01-16
US20200013188A1 (en) 2020-01-09
US11062475B2 (en) 2021-07-13

Similar Documents

Publication Publication Date Title
JP7131994B2 (ja) 自己位置推定装置、自己位置推定方法、自己位置推定プログラム、学習装置、学習方法及び学習プログラム
JP5987823B2 (ja) 画像センサおよび運動または位置センサから生じたデータを融合するための方法およびシステム
CN107990899B (zh) 一种基于slam的定位方法和***
JP6760114B2 (ja) 情報処理装置、データ管理装置、データ管理システム、方法、及びプログラム
US10636168B2 (en) Image processing apparatus, method, and program
KR101776621B1 (ko) 에지 기반 재조정을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
JP4984650B2 (ja) 移動装置及び移動装置の自己位置推定方法
CN110717927A (zh) 基于深度学习和视惯融合的室内机器人运动估计方法
AU2021206838A1 (en) Self-supervised training of a depth estimation model using depth hints
KR100855657B1 (ko) 단안 줌 카메라를 이용한 이동로봇의 자기위치 추정 시스템및 방법
JP5444952B2 (ja) センサフュージョンによる地図の自動生成、およびそのように自動生成された地図を用いて移動体の移動をするための、装置、方法、ならびにプログラム
Michot et al. Bi-objective bundle adjustment with application to multi-sensor slam
CN113916243A (zh) 目标场景区域的车辆定位方法、装置、设备和存储介质
CN112444246B (zh) 高精度的数字孪生场景中的激光融合定位方法
Tomažič et al. Fusion of visual odometry and inertial navigation system on a smartphone
US20230377197A1 (en) Joint camera and inertial measurement unit calibration
JP7114686B2 (ja) 拡張現実装置及び位置決め方法
WO2023050634A1 (zh) 定位方法及装置、设备、存储介质及计算机程序产品
KR20200037502A (ko) 포즈 정보를 출력하는 방법 및 장치
CN110989619B (zh) 用于定位对象的方法、装置、设备和存储介质
US20230350418A1 (en) Position determination by means of neural networks
CN115930937A (zh) 一种多传感器的同时定位和建图方法、终端及存储介质
KR20210051002A (ko) 포즈 추정 방법 및 장치, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램
US20230260149A1 (en) Position-posture estimation device, position-posture estimation method, and storage medium storing program
US20230030596A1 (en) Apparatus and method for estimating uncertainty of image coordinate

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181022

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210114

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220201

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220726

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220825

R150 Certificate of patent or registration of utility model

Ref document number: 7131994

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150