(57)【要約】  方法、システム、および装置が開示される。ターゲット環境の単眼画像系列に応答してターゲット環境を自己位置推定およびマッピングの同時実行を行う方法は、単眼画像系列を第1のニューラルネットワークおよび別のニューラルネットワークに提供するステップであって、第1のニューラルネットワークおよび別のニューラルネットワークが、ステレオ画像対の系列、およびステレオ画像対の幾何学的特性を定義する1つまたは複数の損失関数を使用して事前トレーニングされた、教師なしニューラルネットワークである、ステップと、単眼画像系列をさらに別のニューラルネットワーク内に提供するステップであって、さらに別のニューラルネットワークが、ループ閉じ込みを検出するように事前トレーニングされる、ステップと、第1のニューラルネットワーク、別のニューラルネットワーク、およびさらに別のニューラルネットワークの出力に応答してターゲット環境の自己位置推定およびマッピングの同時実行を行うステップとを含む。
2021518622.tif 000002
【特許請求の範囲】
【請求項１】
ターゲット環境の単眼画像系列に応答して前記ターゲット環境を自己位置推定およびマッピングの同時実行を行う方法であって、
前記単眼画像系列を第1のニューラルネットワークおよび別のニューラルネットワークに提供するステップであって、前記第1のニューラルネットワークおよび前記別のニューラルネットワークが、ステレオ画像対の系列、および前記ステレオ画像対の幾何学的特性を定義する1つまたは複数の損失関数を使用して事前トレーニングされた、教師なしニューラルネットワークである、ステップと、
前記単眼画像系列をさらに別のニューラルネットワーク内に提供するステップであって、前記さらに別のニューラルネットワークが、ループ閉じ込みを検出するように事前トレーニングされる、ステップと、
前記第1のニューラルネットワーク、前記別のニューラルネットワーク、および前記さらに別のニューラルネットワークの出力に応答して前記ターゲット環境の自己位置推定およびマッピングの同時実行を行うステップと
を含む、方法。
【請求項２】
前記1つまたは複数の損失関数が、前記ステレオ画像対の対応する特徴間の関係を定義する空間的制約、および前記ステレオ画像対の系列の連続画像の対応する特徴間の関係を定義する時間的制約を含むことをさらに含む、請求項1に記載の方法。
【請求項３】
前記第1のニューラルネットワークおよび前記別のニューラルネットワークがそれぞれ、3つ以上のステレオ画像対からなるバッチを前記第1のニューラルネットワークおよび前記別のニューラルネットワークに入力することによって事前トレーニングされることをさらに含む、請求項1または2に記載の方法。
【請求項４】
前記第1のニューラルネットワークが前記ターゲット環境の深度表現をもたらし、前記別のニューラルネットワークが前記ターゲット環境における姿勢表現をもたらすことをさらに含む、請求項1から3のいずれか一項に記載の方法。
【請求項５】
前記別のニューラルネットワークが、前記姿勢表現に関連する不確実性の大きさをもたらすことをさらに含む、請求項4に記載の方法。
【請求項６】
前記第1のニューラルネットワークが、エンコーダ-デコーダタイプのニューラルネットワークであることをさらに含む、請求項1から5のいずれか一項に記載の方法。
【請求項７】
前記別のニューラルネットワークが、長短期記憶を含んだ再帰型畳み込みニューラルネットワークタイプのニューラルネットワークであることをさらに含む、請求項1から6のいずれか一項に記載の方法。
【請求項８】
前記さらに別のニューラルネットワークが、前記ターゲット環境の疎特徴表現をもたらすことをさらに含む、請求項1から7のいずれか一項に記載の方法。
【請求項９】
前記さらに別のニューラルネットワークが、ResNetベースのDNNタイプのニューラルネットワークであることをさらに含む、請求項1から8のいずれか一項に記載の方法。
【請求項１０】
前記第1のニューラルネットワーク、前記別のニューラルネットワーク、および前記さらに別のニューラルネットワークの出力に応答して前記ターゲット環境の自己位置推定およびマッピングの同時実行を行うステップが、
前記別のニューラルネットワークからの出力および前記さらに別のニューラルネットワークからの出力に応答して姿勢出力をもたらすステップ
をさらに含む、請求項1から9のいずれか一項に記載の方法。
【請求項１１】
前記姿勢出力を姿勢の局所的接続および大域的接続に基づいてもたらすステップをさらに含む、請求項10に記載の方法。
【請求項１２】
前記姿勢出力に応答して、姿勢グラフオプティマイザを使用して、改良された姿勢出力をもたらすステップをさらに含む、請求項11に記載の方法。
【請求項１３】
ターゲット環境の単眼画像系列に応答して前記ターゲット環境の自己位置推定およびマッピングの同時実行を行うためのシステムであって、
第1のニューラルネットワークと、
別のニューラルネットワークと、
さらに別のニューラルネットワークと
を備え、
前記第1のニューラルネットワークおよび前記別のニューラルネットワークが、ステレオ画像対の系列、および前記ステレオ画像対の幾何学的特性を定義する1つまたは複数の損失関数を使用して事前トレーニングされた、教師なしニューラルネットワークであり、前記さらに別のニューラルネットワークが、ループ閉じ込みを検出するように事前トレーニングされる、
システム。
【請求項１４】
前記1つまたは複数の損失関数が、前記ステレオ画像対の対応する特徴間の関係を定義する空間的制約、および前記ステレオ画像対の系列の連続画像の対応する特徴間の関係を定義する時間的制約を含むことをさらに含む、請求項13に記載のシステム。
【請求項１５】
前記第1のニューラルネットワークおよび前記別のニューラルネットワークがそれぞれ、3つ以上のステレオ画像対からなるバッチを前記第1のニューラルネットワークおよび前記別のニューラルネットワークに入力することによって事前トレーニングされることをさらに含む、請求項13または14に記載のシステム。
【請求項１６】
前記第1のニューラルネットワークが前記ターゲット環境の深度表現をもたらし、前記別のニューラルネットワークが前記ターゲット環境における姿勢表現をもたらすことをさらに含む、請求項13から15のいずれか一項に記載のシステム。
【請求項１７】
前記別のニューラルネットワークが、前記姿勢表現に関連する不確実性の大きさをもたらすことをさらに含む、請求項16に記載のシステム。
【請求項１８】
前記ステレオ画像対の系列の各画像対が、トレーニング環境の第1の画像および前記トレーニング環境の別の画像を備え、前記別の画像が、前記第1の画像に対する所定のオフセットを有し、前記第1の画像および前記別の画像が、実質的に同時に捕捉されたものであることをさらに含む、請求項13から17のいずれか一項に記載のシステム。
【請求項１９】
前記第1のニューラルネットワークが、エンコーダ-デコーダタイプニューラルネットワークのニューラルネットワークであることをさらに含む、請求項13から18のいずれか一項に記載のシステム。
【請求項２０】
前記別のニューラルネットワークが、長短期記憶を含んだ再帰型畳み込みニューラルネットワークタイプのニューラルネットワークであることをさらに含む、請求項13から19のいずれか一項に記載のシステム。
【請求項２１】
前記さらに別のニューラルネットワークが、前記ターゲット環境の疎特徴表現をもたらすことをさらに含む、請求項13から20のいずれか一項に記載のシステム。
【請求項２２】
前記さらに別のニューラルネットワークが、ResNetベースのDNNタイプのニューラルネットワークであることをさらに含む、請求項13から21のいずれか一項に記載のシステム。
【請求項２３】
ターゲット環境の単眼画像系列に応答して前記ターゲット環境の自己位置推定およびマッピングの同時実行を行うために、1つまたは複数の教師なしニューラルネットワークをトレーニングする方法であって、
ステレオ画像対の系列を準備するステップと、
第1のニューラルネットワークおよび別のニューラルネットワークを準備するステップであって、前記第1のニューラルネットワークおよび前記別のニューラルネットワークが、前記ステレオ画像対の幾何学的特性を定義する1つまたは複数の損失関数と関連付けられた教師なしニューラルネットワークである、ステップと、
前記ステレオ画像対の系列を、前記第1のニューラルネットワークおよび前記別のニューラルネットワークに提供するステップと
を含む、方法。
【請求項２４】
前記第1のニューラルネットワークおよび前記別のニューラルネットワークが、3つ以上のステレオ画像対からなるバッチを前記第1のニューラルネットワークおよび前記別のニューラルネットワークに入力することによってトレーニングされることをさらに含む、請求項23に記載の方法。
【請求項２５】
前記ステレオ画像対の系列の各画像対が、トレーニング環境の第1の画像および前記トレーニング環境の別の画像を備え、前記別の画像が、前記第1の画像に対する所定のオフセットを有し、前記第1の画像および前記別の画像が、実質的に同時に捕捉されたものであることをさらに含む、請求項23または24に記載の方法。
【請求項２６】
コンピュータプログラムであって、命令を備え、前記命令が、コンピュータによって前記プログラムが実行されると前記コンピュータに請求項1から12または請求項23から25のいずれか一項に記載の方法を遂行させる、コンピュータプログラム。
【請求項２７】
コンピュータ可読媒体であって、命令を備え、前記命令が、コンピュータによって実行されると前記コンピュータに請求項1から12または請求項23から25のいずれか一項に記載の方法を遂行させる、コンピュータ可読媒体。
【請求項２８】
ターゲット環境の単眼画像系列に応答して前記ターゲット環境の自己位置推定およびマッピングの同時実行を行うためのシステムであって、
第1のニューラルネットワークと、
別のニューラルネットワークと、
ループ閉じ込み検出部と
を備え、
前記第1のニューラルネットワークおよび前記別のニューラルネットワークが、ステレオ画像対の系列、および前記ステレオ画像対の幾何学的特性を定義する1つまたは複数の損失関数を使用して事前トレーニングされた、教師なしニューラルネットワークである、
システム。
【請求項２９】
請求項13から22のいずれか一項に記載のシステムを備えたビークル。
【請求項３０】
自動車両、鉄道車両、船舶、航空機、ドローン、または宇宙機である、請求項29に記載のビークル。
【請求項３１】
請求項13から22のいずれか一項に記載のシステムを備えた仮想現実および/または拡張現実を提供するための装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ターゲット環境における自己位置推定およびマッピングの同時実行(simultaneous localisation and mapping)(SLAM)のためのシステムおよび方法に関する。詳細には、それに限定されないが、本発明は、ターゲット環境の単眼画像系列を使用したSLAMを可能にすることのできる、事前トレーニングされた教師なしニューラルネットワークの使用に関する。
【背景技術】
【０００２】
ビジュアルSLAM技法は、典型的にはカメラから取得された環境の画像系列を使用して、その環境の3次元深度表現を生成し、現在の視点の姿勢を決定するものである。ビジュアルSLAM技法は、ロボットやビークルなどのエージェントが環境内を移動する、ロボティクス、ビークル自律性、仮想現実/拡張現実(VR/AR)、およびマッピングなどの応用分野に広く使用される。環境は、現実環境または仮想環境とすることができる。
【０００３】
高精度で高信頼のビジュアルSLAM技法を開発することは、ロボティクスおよびコンピュータビジョンのコミュニティにおける多大な取組みの焦点になっている。多くの従来のビジュアルSLAMシステムでは、モデルベースの技法を使用している。これらの技法は、連続画像内の対応する特徴の変化を特定し、その変化を数学モデルに入力して深度および姿勢を決定することによって、機能するものである。
【０００４】
一部のモデルベースの技法は、ビジュアルSLAM応用分野における可能性を示しているが、これらの技法の精度および信頼性は、低光量レベル、高いコントラスト、および未知の環境に遭遇したときのような困難な状況において劣っていることがある。モデルベースの技法はまた、経時的に性能を変化または向上させることができない。
【０００５】
最近の研究では、人工ニューラルネットワークとして知られる深層学習アルゴリズムが、いくつかの既存の技法のもつ問題の一部に対処できることが示されている。人工ニューラルネットワークは、接続された「ニューロン」の層で構成された、脳に似たトレーニング可能なモデルである。人工ニューラルネットワークは、それらがどのようにトレーニングされるかに応じて、教師ありまたは教師なしに分類することができる。
【０００６】
最近の研究では、教師ありニューラルネットワークがビジュアルSLAMシステムに有用となり得ることが実証されている。しかし、教師ありニューラルネットワークの主要な欠点は、ラベルありデータを使用してトレーニングしなければならない、ということである。ビジュアルSLAMシステムでは、そのようなラベルありデータは、典型的には、深度および姿勢がすでに分かっている1つまたは複数の画像系列からなる。そのようなデータを生成することは、しばしば困難であり高コストである。実際のところ、これがしばしば意味するのは、教師ありニューラルネットワークをより少量のデータを使用してトレーニングしなければならない、ということであり、このため、特に困難な状況または未知の状況において、教師ありニューラルネットワークの精度および信頼性が低下するおそれがある。
【０００７】
他の研究では、教師なしニューラルネットワークがコンピュータビジョン応用分野に使用できることが実証されている。教師なしニューラルネットワークの利点の1つが、ラベルなしデータを使用してトレーニングできる、ということである。これにより、ラベルありトレーニングデータを生成するという問題が解消し、またこれが意味するのは、しばしば、これらのニューラルネットワークをより大量のデータセットを使用してトレーニングできる、ということである。しかし、コンピュータビジョン応用分野では今日まで、教師なしニューラルネットワークは、(SLAMではなく)ビジュアルオドメトリに限定されており、また累積ドリフトを低減または解消することができていない。これが、教師なしニューラルネットワークのより幅広い使用を阻む大きな障壁となっている。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述した問題を少なくとも一部軽減することが、本発明の一目的である。
【０００９】
ターゲット環境の自己位置推定およびマッピングの同時実行を、ターゲット環境の単眼画像系列を使用して行うことが、本発明のいくつかの実施形態の一目的である。
【００１０】
シーンについての姿勢および深度の推定を行い、それによって、困難な環境または未知の環境においてさえ姿勢および深度の推定が高精度および高信頼であることが、本発明のいくつかの実施形態の一目的である。
【００１１】
自己位置推定およびマッピングの同時実行を1つまたは複数の教師なしニューラルネットワークを使用して行い、それによって、1つまたは複数の教師なしニューラルネットワークがラベルなしデータを使用して事前トレーニングされることが、本発明のいくつかの実施形態の一目的である。
【００１２】
深層学習ベースのSLAMシステムをラベルなしデータを使用してトレーニングする方法を提供することが、本発明のいくつかの実施形態の一目的である。
【課題を解決するための手段】
【００１３】
本発明の第1の態様によれば、ターゲット環境の単眼画像系列に応答してターゲット環境を自己位置推定およびマッピングの同時実行を行う方法であって、単眼画像系列を第1のニューラルネットワークおよび別のニューラルネットワークに提供するステップであって、第1のニューラルネットワークおよび別のニューラルネットワークが、ステレオ画像対の系列、およびステレオ画像対の幾何学的特性を定義する1つまたは複数の損失関数を使用して事前トレーニングされた、教師なしニューラルネットワークである、ステップと、単眼画像系列をさらに別のニューラルネットワーク内に提供するステップであって、さらに別のニューラルネットワークが、ループ閉じ込みを検出するように事前トレーニングされる、ステップと、第1のニューラルネットワーク、別のニューラルネットワーク、およびさらに別のニューラルネットワークの出力に応答してターゲット環境の自己位置推定およびマッピングの同時実行を行うステップとを含む、方法が提供される。
【００１４】
適宜、方法は、1つまたは複数の損失関数が、ステレオ画像対の対応する特徴間の関係を定義する空間的制約、およびステレオ画像対の系列の連続画像の対応する特徴間の関係を定義する時間的制約を含むことをさらに含む。
【００１５】
適宜、方法は、第1のニューラルネットワークおよび別のニューラルネットワークがそれぞれ、3つ以上のステレオ画像対からなるバッチを第1のニューラルネットワークおよび別のニューラルネットワークに入力することによって事前トレーニングされることをさらに含む。
【００１６】
適宜、方法は、第1のニューラルネットワークがターゲット環境の深度表現をもたらし、別のニューラルネットワークがターゲット環境における姿勢表現をもたらすことをさらに含む。
【００１７】
適宜、方法は、別のニューラルネットワークが、姿勢表現に関連する不確実性の大きさをもたらすことをさらに含む。
【００１８】
適宜、方法は、第1のニューラルネットワークが、エンコーダ-デコーダタイプのニューラルネットワークであることをさらに含む。
【００１９】
適宜、方法は、別のニューラルネットワークが、長短期記憶を含んだ再帰型畳み込みニューラルネットワークタイプのニューラルネットワークであることをさらに含む。
【００２０】
適宜、方法は、さらに別のニューラルネットワークが、ターゲット環境の疎特徴表現をもたらすことをさらに含む。
【００２１】
適宜、方法は、さらに別のニューラルネットワークが、ResNetベースのDNNタイプのニューラルネットワークであることをさらに含む。
【００２２】
適宜、第1のニューラルネットワーク、別のニューラルネットワーク、およびさらに別のニューラルネットワークの出力に応答してターゲット環境の自己位置推定およびマッピングの同時実行を行うステップが、別のニューラルネットワークからの出力およびさらに別のニューラルネットワークからの出力に応答して姿勢出力をもたらすステップをさらに含む。
【００２３】
適宜、方法は、前記姿勢出力を姿勢の局所的接続および大域的接続に基づいてもたらすステップをさらに含む。
【００２４】
適宜、方法は、前記姿勢出力に応答して、姿勢グラフオプティマイザを使用して、改良された姿勢出力をもたらすステップをさらに含む。
【００２５】
本発明の第2の態様によれば、ターゲット環境の単眼画像系列に応答してターゲット環境の自己位置推定およびマッピングの同時実行を行うためのシステムであって、第1のニューラルネットワークと、別のニューラルネットワークと、さらに別のニューラルネットワークとを備え、第1のニューラルネットワークおよび別のニューラルネットワークが、ステレオ画像対の系列、およびステレオ画像対の幾何学的特性を定義する1つまたは複数の損失関数を使用して事前トレーニングされた、教師なしニューラルネットワークであり、さらに別のニューラルネットワークが、ループ閉じ込みを検出するように事前トレーニングされる、システムが提供される。
【００２６】
適宜、システムは、1つまたは複数の損失関数が、ステレオ画像対の対応する特徴間の関係を定義する空間的制約、およびステレオ画像対の系列の連続画像の対応する特徴間の関係を定義する時間的制約を含むことをさらに含む。
【００２７】
適宜、システムは、第1のニューラルネットワークおよび別のニューラルネットワークがそれぞれ、3つ以上のステレオ画像対からなるバッチを第1のニューラルネットワークおよび別のニューラルネットワークに入力することによって事前トレーニングされることをさらに含む。
【００２８】
適宜、システムは、第1のニューラルネットワークがターゲット環境の深度表現をもたらし、別のニューラルネットワークがターゲット環境における姿勢表現をもたらすことをさらに含む。
【００２９】
適宜、システムは、別のニューラルネットワークが、姿勢表現に関連する不確実性の大きさをもたらすことをさらに含む。
【００３０】
適宜、システムは、ステレオ画像対の系列の各画像対が、トレーニング環境の第1の画像およびトレーニング環境の別の画像を備え、前記別の画像が、第1の画像に対する所定のオフセットを有し、前記第1の画像および前記別の画像が、実質的に同時に捕捉されたものであることをさらに含む。
【００３１】
適宜、システムは、第1のニューラルネットワークが、エンコーダ-デコーダタイプニューラルネットワークのニューラルネットワークであることをさらに含む。
【００３２】
適宜、システムは、別のニューラルネットワークが、長短期記憶を含んだ再帰型畳み込みニューラルネットワークタイプのニューラルネットワークであることをさらに含む。
【００３３】
適宜、システムは、さらに別のニューラルネットワークが、ターゲット環境の疎特徴表現をもたらすことをさらに含む。
【００３４】
適宜、システムは、さらに別のニューラルネットワークが、ResNetベースのDNNタイプのニューラルネットワークであることをさらに含む。
【００３５】
本発明の第3の態様によれば、ターゲット環境の単眼画像系列に応答してターゲット環境の自己位置推定およびマッピングの同時実行を行うために、1つまたは複数の教師なしニューラルネットワークをトレーニングする方法であって、ステレオ画像対の系列を準備するステップと、第1のニューラルネットワークおよび別のニューラルネットワークを準備するステップであって、第1のニューラルネットワークおよび別のニューラルネットワークが、ステレオ画像対の幾何学的特性を定義する1つまたは複数の損失関数と関連付けられた教師なしニューラルネットワークである、ステップと、ステレオ画像対の系列を、第1のニューラルネットワークおよび別のニューラルネットワークに提供するステップとを含む、方法が提供される。
【００３６】
適宜、方法は、第1のニューラルネットワークおよび別のニューラルネットワークが、3つ以上のステレオ画像対からなるバッチを第1のニューラルネットワークおよび別のニューラルネットワークに入力することによってトレーニングされることをさらに含む。
【００３７】
適宜、方法は、ステレオ画像対の系列の各画像対が、トレーニング環境の第1の画像およびトレーニング環境の別の画像を備え、前記別の画像が、第1の画像に対する所定のオフセットを有し、前記第1の画像および前記別の画像が、実質的に同時に捕捉されたものであることをさらに含む。
【００３８】
本発明の第4の態様によれば、コンピュータプログラムであって、命令を備え、命令が、コンピュータによってプログラムが実行されるとコンピュータに第1の態様または第3の態様の方法を遂行させる、コンピュータプログラムが提供される。
【００３９】
本発明の第5の態様によれば、コンピュータ可読媒体であって、命令を備え、命令が、コンピュータによって実行されるとコンピュータに第1の態様または第3の態様の方法を遂行させる、コンピュータ可読媒体が提供される。
【００４０】
本発明の第6の態様によれば、ターゲット環境の単眼画像系列に応答してターゲット環境の自己位置推定およびマッピングの同時実行を行うためのシステムであって、第1のニューラルネットワークと、別のニューラルネットワークと、ループ閉じ込み検出部とを備え、第1のニューラルネットワークおよび別のニューラルネットワークが、ステレオ画像対の系列、およびステレオ画像対の幾何学的特性を定義する1つまたは複数の損失関数を使用して事前トレーニングされた、教師なしニューラルネットワークである、システムが提供される。
【００４１】
本発明の第7の態様によれば、第2の態様のシステムを備えたビークルが提供される。
【００４２】
適宜、ビークルは、自動車両、鉄道車両、船舶、航空機、ドローン、または宇宙機である。
【００４３】
本発明の第8の態様によれば、第2の態様のシステムを備えた仮想現実および/または拡張現実を提供するための装置が提供される。
【００４４】
本発明の別の態様によれば、教師なし深層学習法を利用する単眼ビジュアルSLAMシステムが提供される。
【００４５】
本発明のさらに別の態様によれば、単眼カメラによって捕捉された画像データに基づいて姿勢および深度とオプションで点群を推定するための、教師なし深層学習アーキテクチャが提供される。
【００４６】
本発明のいくつかの実施形態は、単眼画像を利用したターゲット環境の自己位置推定およびマッピングの同時実行を可能にする。
【００４７】
本発明のいくつかの実施形態は、後にターゲット環境におけるエージェントの自己位置推定およびマッピングの同時実行に使用することのできる1つまたは複数のニューラルネットワークをトレーニングするための方法を提供する。
【００４８】
本発明のいくつかの実施形態では、ターゲット環境のマップのパラメータがその環境におけるエージェントの姿勢とともに推論されることが可能である。
【００４９】
本発明のいくつかの実施形態では、環境の表現としてトポロジカルマップが作成されることが可能である。
【００５０】
本発明のいくつかの実施形態は、教師なし深層学習技法を使用して、姿勢、深度マップ、および3D点群を推定する。
【００５１】
本発明のいくつかの実施形態は、ラベルありトレーニングデータを必要とせず、つまり、トレーニングデータの収集が容易である。
【００５２】
本発明のいくつかの実施形態は、単眼画像系列から決定された、推定された姿勢および深度に対して、スケーリングを利用する。このようにして、トレーニング段階動作モード中に絶対スケールが学習される。
【００５３】
本発明のいくつかの実施形態は、ループ閉じ込みを検出する。ループ閉じ込みが検出された場合、姿勢グラフが構築され得、グラフ最適化アルゴリズムが実行され得る。これが、姿勢推定における累積ドリフトの低減を助け、教師なし深層学習法と組み合わされたときに推定精度の向上を助けることができる。
【００５４】
本発明のいくつかの実施形態は、教師なし深層学習を利用してネットワークをトレーニングする。したがって、ラベルありデータセットではなく、収集がより容易なラベルなしデータセットを使用することができる。
【００５５】
本発明のいくつかの実施形態は、姿勢、深度、および点群を同時に推定する。いくつかの実施形態では、これを各入力画像について生成することができる。
【００５６】
本発明のいくつかの実施形態は、困難なシーンにおいてロバストに機能することができる。例えば、歪んだ画像および/または露出過度のいくつかの画像および/または夜間もしくは降雨時に収集されたいくつかの画像を使用するように強いられているときである。
【００５７】
ここで、本発明のいくつかの実施形態について、ほんの一例として、添付の図面を参照して以下に説明する。
【図面の簡単な説明】
【００５８】
【図１】第1のニューラルネットワークおよび少なくとも1つの別のニューラルネットワークをトレーニングするトレーニングシステムおよび方法を示す図である。
【図２】第1のニューラルネットワークの構成を示す概略図である。
【図３】別のニューラルネットワークの構成を示す概略図である。
【図４】ターゲット環境の単眼画像系列に応答してターゲット環境の自己位置推定およびマッピングの同時実行を行うためのシステムおよび方法を示す概略図である。
【図５】姿勢グラフ構築技法を示す概略図である。
【発明を実施するための形態】
【００５９】
図面では、同様の参照番号が同様の部分を示す。
【００６０】
図1は、第1の教師なしニューラルネットワークおよび別の教師なしニューラルネットワークをトレーニングするトレーニングシステムおよび方法の図を示す。そのような教師なしニューラルネットワークは、ターゲット環境におけるロボットやビークルなどのエージェントの自己位置推定およびマッピングのためのシステムの一部として利用することができる。図1に示すように、トレーニングシステム100は、第1の教師なしニューラルネットワーク110、および別の教師なしニューラルネットワーク120を含む。第1の教師なしニューラルネットワークは、本明細書では、マッピングネット110と呼ばれることがあり、別の教師なしニューラルネットワークは、本明細書では、トラッキングネット120と呼ばれることがある。
【００６１】
下でより詳細に説明するように、トレーニング後、マッピングネット110およびトラッキングネット120は、ターゲット環境の単眼画像系列に応答してターゲット環境の自己位置推定およびマッピングの同時実行を行うのを助けるために使用することができる。マッピングネット110は、ターゲット環境の深度表現(深度)をもたらすことができ、トラッキングネット120は、ターゲット環境における姿勢表現(姿勢)をもたらすことができる。
【００６２】
マッピングネット110によってもたらされる深度表現は、ターゲット環境の物理的構造物の表現とすることができる。深度表現は、入力画像と同じ比率を有するアレイとしての、マッピングネット110からの出力としてもたらされ得る。このようにして、アレイ内の各要素が入力画像内の画素と対応する。アレイ内の各要素は、最も近い物理的構造物までの距離を表す数値を含むことができる。
【００６３】
姿勢表現は、視点の現在の位置および配向の表現とすることができる。これは、位置/配向の6自由度(6DOF)表現としてもたらされ得る。デカルト座標系では、6DOF姿勢表現は、x軸、y軸、およびz軸に沿った位置、ならびにx軸、y軸、およびz軸の周りの回転を表したものに対応することができる。姿勢表現は、時間にわたる視点の動きを示す姿勢マップ(姿勢グラフ)を構築するために使用することができる。
【００６４】
姿勢表現と深度表現はどちらも、(相対値ではなく)絶対値として、すなわち、現実世界の物理的寸法に対応する値として、もたらされ得る。
【００６５】
トラッキングネット120は、姿勢表現に関連する不確実性の大きさをもたらすこともできる。これは、トラッキングネットから出力された姿勢表現の推定精度を表す統計値とすることができる。
【００６６】
トレーニングするトレーニングシステムおよび方法は、1つまたは複数の損失関数130も含む。損失関数は、マッピングネット110およびトラッキングネット120をラベルなしトレーニングデータを使用してトレーニングするために使用される。損失関数130にラベルなしトレーニングデータが提供され、損失関数130はこれを使用して、マッピングネット110およびトラッキングネット120の期待される出力(すなわち深度および姿勢)を計算する。トレーニング中、マッピングネット110およびトラッキングネット120の実際の出力が、それらの期待される出力と絶えず比較されて、現在の誤差が計算される。次いで、現在の誤差が、マッピングネット110およびトラッキングネット120をバックプロパゲーションとして知られるプロセスによってトレーニングするために使用される。このプロセスは、現在の誤差を、マッピングネット110およびトラッキングネット120のトレーニング可能なパラメータを調整することによって最小限に抑えようと試みるものである。誤差を低減させるようにパラメータを調整するためのそのような技法には、勾配降下など、当技術分野で知られている1つまたは複数のプロセスが関与し得る。
【００６７】
本明細書において下でより詳細に説明するように、トレーニング中、マッピングネットおよびトラッキングネットに、ステレオ画像対1400,1...nの系列が提供される。系列は、3つ以上のステレオ画像対からなるバッチを備えることができる。系列は、トレーニング環境のものとすることができる。系列は、トレーニング環境中を移動するステレオカメラから取得され得る。他の実施形態では、系列は、仮想トレーニング環境のものとすることができる。画像は、カラー画像とすることができる。
【００６８】
ステレオ画像対の系列の各ステレオ画像対は、トレーニング環境の第1の画像1500,1...nおよびトレーニング環境の別の画像1550,1...nを備えることができる。初期時間tに関連する第1のステレオ画像対が準備される。t+1についての次の画像対が準備され、ここで1は、予め設定された時間間隔を示す。別の画像は、第1の画像に対して所定のオフセットを有することができる。第1の画像および別の画像は、実質的に同時に、すなわち実質的に同じ時点で捕捉されたものとすることができる。したがって、図1に示すシステムトレーニング方式では、マッピングネットおよびトラッキングネットへの入力は、現在の時間ステップtにおける左画像系列(Il,t+n,...,Il,t+1,Il,t)および右画像系列(Ir,t+n,...,Ir,t+1,Ir,t)として表されたステレオ画像系列である。各時間ステップにおいて、入力系列の始めに新たな画像の対が加えられ、入力系列から最終対が除去される。入力系列のサイズは一定に保たれる。単眼画像系列の代わりにステレオ画像系列をトレーニングに使用する目的は、姿勢および深度の推定の絶対スケールを取り戻すことである。
【００６９】
図1に示す損失関数130は、本明細書において説明するようにマッピングネット110およびトラッキングネット120をバックプロパゲーションプロセスを介してトレーニングするために使用される。損失関数は、トレーニング中に使用される特定のステレオ画像対の系列のステレオ画像対の幾何学的特性についての情報を含む。このようにして、損失関数は、トレーニング中に使用される画像系列に特有の幾何学的情報を含む。例えば、ステレオ画像系列が特定のステレオカメラセットアップによって生成される場合、損失関数は、そのセットアップの幾何形状に関係する情報を含むことになる。これは、損失関数が、ステレオトレーニング画像から物理的環境についての情報を抽出できる、ということを意味する。適宜、損失関数は、空間的損失関数および時間的損失関数を含むことができる。
【００７０】
(本明細書では空間的制約とも呼ばれる)空間的損失関数は、トレーニング中に使用されるステレオ画像対の系列のステレオ画像対の対応する特徴間の関係を定義することができる。空間的損失関数は、左右画像対における対応する点間の幾何学的な投影制約を表すことができる。
【００７１】
空間的損失関数はそれら自体が、3つのサブセット損失関数を含むことができる。これらは、空間的光学的整合性損失関数(spatial photometric consistency loss function)、視差整合性損失関数(disparity consistency loss function)、および姿勢整合性損失関数(pose consistency loss function)と呼ばれる。
【００７２】
1.空間的光学的整合性損失関数
ステレオ画像の対140について、一方の画像内のオーバーラップする各画素iには、他方の画像内に対応する画素がある。オリジナルの右画像Irから左画像
【数１】
2021518622.tif 000003
を合成するには、画像Ir内のオーバーラップされるどの画素iも、画像Il内のその対応物を、水平距離Hiを用いて見出さなければならない。マッピングネットからその推定された深度値
【数２】
2021518622.tif 000004
が与えられると、距離Hiは
【数３】
2021518622.tif 000005
によって計算することができ、ここで、Bはステレオカメラの基線であり、fは焦点距離である。
【００７３】
計算されたHiに基づいて、画像Ilを画像Irから空間トランスフォーマを通じてワーピングさせることによって、
【数４】
2021518622.tif 000006
を合成することができる。同じプロセスを、右画像
【数５】
2021518622.tif 000007
を合成するために適用することができる。
【００７４】
【数６】
2021518622.tif 000008
および
【数７】
2021518622.tif 000009
がそれぞれ、オリジナルの右画像Irおよび左画像Ilから合成された左画像および右画像であると仮定されたい。空間的光学的整合性損失関数は、
【数８】
2021518622.tif 000010
と定義され、ここで、λsは重みであり、||・||1はL1ノルムであり、fs(・)=(1-SSIM(・))/2であり、SSIM(・)は、合成された画像の質を評価するための構造的類似性(SSIM)メトリックである。
【００７５】
2.視差整合性損失関数
視差マップは、
Q=H×W
によって定義することができ、ここで、Wは画像の幅である。
【００７６】
QlおよびQrが、左視差マップおよび右視差マップであると仮定されたい。視差マップは、推定された深度マップから計算される。
【数９】
2021518622.tif 000011
および
【数１０】
2021518622.tif 000012
をそれぞれ、QrおよびQlから合成することができる。視差整合性損失関数は、
【数１１】
2021518622.tif 000013
と定義される。
【００７７】
3.姿勢整合性損失関数
左画像系列および右画像系列が、トラッキングネットを使用して6自由度変換を別々に推定するために使用される場合、これらの相対的な変換が全く同じになることが望ましい場合がある。これら2グループの姿勢推定間の差異を、左-右姿勢整合性損失として導入することができる。
【数１２】
2021518622.tif 000014
および
【数１３】
2021518622.tif 000015
が、トラッキングネットによって左画像系列および右画像系列から推定された姿勢であり、λpおよびλrが、平行移動重みおよび回転重みであると仮定されたい。これら2つの推定間の差異が、姿勢整合性損失
【数１４】
2021518622.tif 000016
と定義される。
【００７８】
(本明細書では時間的制約とも呼ばれる)時間的損失関数は、トレーニング中に使用されるステレオ画像対の系列の連続画像の対応する特徴間の関係を定義する。このようにして、時間的損失関数は、2つの連続する単眼画像における対応する点間の幾何学的な投影制約を表す。
【００７９】
時間的損失関数はそれら自体が、2つのサブセット損失関数を含むことができる。これらは、時間的光学的整合性損失関数(temporal photometric consistency loss function)、および3D幾何学的位置合わせ損失関数(3D geometric registration loss function)と呼ばれる。
【００８０】
1.時間的光学的整合性損失関数
lkおよびlk+1が、時間kおよびk+1における2つの画像であると仮定されたい。
【数１５】
2021518622.tif 000017
および
【数１６】
2021518622.tif 000018
がそれぞれ、lk+1およびlkから合成される。光学的誤差マップは、
【数１７】
2021518622.tif 000019
および
【数１８】
2021518622.tif 000020
である。時間的光学的損失関数は、
【数１９】
2021518622.tif 000021
と定義され、ここで、
【数２０】
2021518622.tif 000022
および
【数２１】
2021518622.tif 000023
は、対応する光学的誤差マップのマスクである。
【００８１】
画像合成プロセスに先立って、幾何学的モデルおよび空間トランスフォーマを使用する。画像Ik+1から画像
【数２２】
2021518622.tif 000024
を合成するには、画像Ik内のオーバーラップされるどの画素pkも、画像Ik+1内のその対応物
【数２３】
2021518622.tif 000025
を、
【数２４】
2021518622.tif 000026
によって見出さなければならず、ここで、Kは既知のカメラ固有の行列であり、
【数２５】
2021518622.tif 000027
は、マッピングネットから推定された画素の深度であり、
【数２６】
2021518622.tif 000028
は、トラッキングネットによって推定された、画像Ikから画像Ik+1へのカメラ座標変換行列である。この式に基づいて、画像Ikを画像Ik+1から空間トランスフォーマを通じてワーピングさせることによって、
【数２７】
2021518622.tif 000029
が合成される。
【００８２】
同じプロセスを、画像
【数２８】
2021518622.tif 000030
を合成するために適用することができる。
【００８３】
2.3D幾何学的位置合わせ損失関数
【００８４】
PkおよびPk+1が、時間kおよびk+1における2つの3D点群であると仮定されたい。
【数２９】
2021518622.tif 000031
および
【数３０】
2021518622.tif 000032
がそれぞれ、Pk+1およびPkから合成される。幾何学的誤差マップは、
【数３１】
2021518622.tif 000033
および
【数３２】
2021518622.tif 000034
である。3D幾何学的位置合わせ損失関数は、
【数３３】
2021518622.tif 000035
と定義され、ここで、
【数３４】
2021518622.tif 000036
および
【数３５】
2021518622.tif 000037
は、対応する幾何学的誤差マップのマスクである。
【００８５】
上で説明したように、時間的画像損失関数は、マスク
【数３６】
2021518622.tif 000038
、
【数３７】
2021518622.tif 000039
、
【数３８】
2021518622.tif 000040
、
【数３９】
2021518622.tif 000041
を使用する。マスクは、画像内の移動物体の存在を除去するかまたは低減させ、それにより、ビジュアルSLAM技法にとっての主な誤差源のうちの1つを低減させるために使用される。マスクは、トラッキングネットから出力される、姿勢の推定された不確実性から計算される。このプロセスについて、下でより詳細に説明する。
【００８６】
不確実性損失関数
光学的誤差マップ
【数４０】
2021518622.tif 000042
、
【数４１】
2021518622.tif 000043
、ならびに幾何学的誤差マップ
【数４２】
2021518622.tif 000044
および
【数４３】
2021518622.tif 000045
は、オリジナル画像Ik、Ik+1および推定された点群Pk、Pk+1から計算される。
【数４４】
2021518622.tif 000046
、
【数４５】
2021518622.tif 000047
、
【数４６】
2021518622.tif 000048
、
【数４７】
2021518622.tif 000049
がそれぞれ、
【数４８】
2021518622.tif 000050
、
【数４９】
2021518622.tif 000051
、
【数５０】
2021518622.tif 000052
、
【数５１】
2021518622.tif 000053
の平均であると仮定されたい。姿勢推定の不確実性は、
【数５２】
2021518622.tif 000054
と定義され、ここで、S(・)はシグモイド関数であり、λeは、幾何学的誤差と光学的誤差との間の正規化係数である。シグモイドは、不確実性を0と1の間で正規化して姿勢推定の精度に関する信頼を表す関数である。
【００８７】
不確実性損失関数は、
【数５３】
2021518622.tif 000055
と定義され、
【数５４】
2021518622.tif 000056
は、推定された姿勢および深度マップの不確実性を表す。推定された姿勢および深度マップが、光学的誤差および幾何学的誤差を低減させるのに十分なほど高精度であるとき、
【数５５】
2021518622.tif 000057
は小さい。
【数５６】
2021518622.tif 000058
は、σk,k+1を用いてトレーニングされるトラッキングネットによって推定される。
【００８８】
マスク
シーン中の移動物体は、それにより、深度および姿勢推定のための、シーンの根底にある物理的構造についての高信頼の情報が得られないので、SLAMシステムおいて問題となり得る。したがって、このノイズをできるだけ除去することが望ましい。いくつかの実施形態では、画像のノイズのある画素が、その画像がニューラルネットワークに入力される前に除去され得る。これは、本明細書において説明するマスクを使用して達成され得る。
【００８９】
姿勢表現をもたらすことに加えて、別のニューラルネットワークは、推定された不確実性をもたらすことができる。推定された不確実性値が高いと、姿勢表現の精度は通常は低くなる。
【００９０】
トラッキングネットおよびマッピングネットの出力は、ステレオ画像対の幾何学的特性およびステレオ画像対の系列の時間的制約に基づく誤差マップを計算するために使用される。誤差マップはアレイであり、アレイ内の各要素が、入力画像の画素に対応する。
【００９１】
マスクマップは、値「1」または「0」のアレイである。各要素は、入力画像の画素に対応する。要素の値が「0」であるとき、値「0」はノイズ画素を表すため、入力画像内の対応する画素は除去すべきである。ノイズ画素は、画像内の移動物体に関係する画素であり、それは、静的な特徴のみが推定に使用されるように画像から除去すべきである。
【００９２】
推定された不確実性および誤差マップは、マスクマップを構築するために使用される。マスクマップ内の要素の値は、対応する画素の推定された誤差が大きく、推定された不確実性が高いとき、「0」である。そうでない場合、その値は「1」である。
【００９３】
入力画像は、到着すると、最初にマスクマップを使用することによってフィルタリングされる。このフィルタリングステップの後で、入力画像内の残りの画素が、ニューラルネットワークへの入力として使用される。
【００９４】
マスクは、qthパーセンタイルの画素を1とし、(100-qth)パーセンタイルの画素を0として構築される。不確実性σk,k+1に基づいて、画素のqthパーセンタイルは、
qth=q0+(100-q0)(1-σk,k+1)
によって決まり、ここで、q0∈(0,100)は、基本定数パーセンタイル(basic constant percentile)である。マスク
【数５７】
2021518622.tif 000059
、
【数５８】
2021518622.tif 000060
、
【数５９】
2021518622.tif 000061
、
【数６０】
2021518622.tif 000062
は、対応する誤差マップ内の(アウトライアとしての)(100-qth)の大きな誤差をフィルタリング除去することによって、計算される。生成されたマスクは、異なるパーセンテージのアウトライアに自動的に適合されるだけでなく、シーン中の動的物体を推論するために使用することもできる。
【００９５】
いくつかの実施形態では、トラッキングネットおよびマッピングネットを、TensorFlowフレームワークを用いて実装し、Tesla P100アーキテクチャを備えたNVIDIA DGX-1上でトレーニングする。必要なGPUメモリは、40Hz実時間性能で400MB未満とすることができる。トラッキングネットおよびマッピングネットを最大20〜30エポックにわたってトレーニングするために、Adamオプティマイザを使用することができる。開始学習率は、0.001であり、総反復回数の1/5ごとに半減される。パラメータβ_1は0.9であり、β_1は0.99である。トラッキングネットに供給される画像の系列長は5である。画像サイズは416×128である。
【００９６】
トレーニングデータは、11個のステレオビデオ系列を含むKITTIデータセットとすることができる。公的なRobotCarデータセットも、ネットワークのトレーニングに使用することができる。
【００９７】
図2は、本発明のいくつかの実施形態によるトラッキングネット200のアーキテクチャをより詳細に示す。本明細書において説明するように、トラッキングネット200は、ステレオ画像系列を使用してトレーニングすることができ、トレーニング後は、単眼画像系列に応答してSLAMを行うために使用することができる。
【００９８】
トラッキングネット200は、再帰型畳み込みニューラルネットワーク(RCNN)とすることができる。再帰型畳み込みニューラルネットワークは、畳み込みニューラルネットワーク、および長短期記憶(LSTM)アーキテクチャを備えることができる。ネットワークの畳み込みニューラルネットワーク部は、特徴抽出に使用することができ、ネットワークのLSTM部は、連続する画像間の時間的ダイナミクスの学習に使用することができる。畳み込みニューラルネットワークは、University of OxfordのVisual Geometry Groupから入手可能なVGGnetアーキテクチャなどのオープンソースアーキテクチャに基づいてよい。
【００９９】
トラッキングネット200は、複数の層を含むことができる。図2に示す例示的アーキテクチャでは、トラッキングネット200は11層(2201-11)を含んでいるが、他のアーキテクチャおよび層数を使用できることが理解されよう。
【０１００】
最初の7層は、畳み込み層である。図2に示すように、各畳み込み層は、特定のサイズのいくつかのフィルタを含む。フィルタは、画像がネットワークの層を通って移動するときにそこから特徴を抽出するために使用される。第1の層(2201)は、各入力画像対について16個の7×7画素フィルタを含む。第2の層(2202)は、32個の5×5画素フィルタを含む。第3の層(2203)は、64個の3×3画素フィルタを含む。第4の層(2204)は、128個の3×3画素フィルタを含む。第5の層(2205)および第6の層(2206)はそれぞれ、256個の3×3画素フィルタを含む。第7の層(2207)は、512個の3×3画素フィルタを含む。
【０１０１】
畳み込み層の後に、長短期記憶層がある。図2に示す例示的アーキテクチャでは、この層は第8の層(2208)である。LSTM層は、連続する画像間の時間的ダイナミクスを学習するために使用される。このようにして、LSTM層は、いくつかの連続する画像内に含まれる情報に基づいて学習することができる。LSTM層は、入力ゲート、忘却ゲート、記憶ゲート、および出力ゲートを含むことができる。
【０１０２】
長短期記憶層の後に、3つの完全接続層(2209-11)がある。図2に示すように、回転および平行移動を推定するために、別々の完全接続層を設けることができる。回転のほうが平行移動よりも高度の非線形性を有するので、この構成は姿勢推定の精度を向上できる、ということが分かっている。回転と平行移動の推定を別々にすることにより、回転および平行移動に与えられるそれぞれの重みを正規化することが可能になり得る。第1の完全接続層および第2の完全接続層(2209,10)は、512個のニューロンを含んでおり、第3の完全接続層(22011)は、6個のニューロンを含んでいる。第3の完全接続層が、6DOF姿勢表現(230)を出力する。回転と平行移動が別々にされた場合、この姿勢表現は、3DOF平行移動姿勢表現および3DOF回転姿勢表現として出力され得る。トラッキングネットは、姿勢表現に関連する不確実性も出力することができる。
【０１０３】
トレーニング中、トラッキングネットにステレオ画像対(210)の系列が提供される。画像は、カラー画像とすることができる。系列は、ステレオ画像対からなるバッチ、例えば3、4、5、またはそれよりも多くのステレオ画像対からなるバッチを備えることができる。図示の例では、各画像は416×256画素の分解能を有する。画像は、第1の層に提供され、最終層から6DOF姿勢表現がもたらされるまで、後続の層を通って移動する。本明細書において説明するように、トラッキングネットから出力された6DOF姿勢は、損失関数によって計算された6DOF姿勢と比較され、トラッキングネットは、この誤差をバックプロパゲーションを介して最小限に抑えるようにトレーニングされる。このトレーニングプロセスには、当技術分野において知られる技法に従って誤差を最小限に抑えようとすべくトラッキングネットの重みおよびフィルタを修正することが関与し得る。
【０１０４】
使用時には、トレーニング済みのトラッキングネットに単眼画像系列が提供される。単眼画像系列は、ビジュアルカメラからリアルタイムで取得され得る。単眼画像は、ネットワークの第1の層に提供され、最終の6DOF姿勢表現がもたらされるまで、ネットワークの後続の層を通って移動する。
【０１０５】
図3は、本発明のいくつかの実施形態によるマッピングネット300のアーキテクチャをより詳細に示す。本明細書において説明するように、マッピングネット300は、ステレオ画像系列を使用してトレーニングすることができ、トレーニング後は、単眼画像系列に応答してSLAMを行うために使用することができる。
【０１０６】
マッピングネット300は、エンコーダ-デコーダ(またはオートエンコーダ)タイプのアーキテクチャとすることができる。マッピングネット300は、複数の層を含むことができる。図3に示す例示的アーキテクチャでは、マッピングネット300は、13層(3201-13)を含んでいるが、他のアーキテクチャを使用できることが理解されよう。
【０１０７】
マッピングネット300の最初の7層は、畳み込み層である。図3に示すように、各畳み込み層は、特定の画素サイズのいくつかのフィルタを含む。フィルタは、画像がネットワークの層を通って移動するときにそこから特徴を抽出するために使用される。第1の層(3201)は、32個の7×7画素フィルタを含む。第2の層(3202)は、64個の5×5画素フィルタを含む。第3の層(3203)は、128個の3×3画素フィルタを含む。第4の層(3204)は、256個の3×3画素フィルタを含む。第5の層(3205)、第6の層(3206)、および第7の層(3207)はそれぞれ、512個の3×3画素フィルタを含む。
【０１０８】
畳み込み層の後に、6つの逆畳み込み層がある。図3の例示的アーキテクチャでは、逆畳み込み層は、第8の層から第13の層(3208-13)を備える。上で説明した畳み込み層と同様に、各逆畳み込み層も、特定の画素サイズのいくつかのフィルタを含む。第8の層(3208)および第9の層(3209)は、512個の3×3画素フィルタを含む。第10の層(32010)は、256個の3×3フィルタを含む。第11の層(32011)は、128個の3×3画素フィルタを含む。第12の層(32012)は、64個の5×5フィルタを含む。第13の層(32013)は、32個の7×7画素フィルタを含む。
【０１０９】
マッピングネット300の最終層(32013)が、深度マップ(深度表現)330を出力する。これは、密な深度マップとすることができる。深度マップは、入力画像とサイズが対応していてよい。深度マップは、(逆深度マップまたは視差深度マップではなく)直接的な深度マップを提供する。直接的な深度マップを提供すると、トレーニング中のシステムの収束を向上させることによってトレーニングが向上し得ることが分かっている。深度マップは、深度の絶対的な大きさを提供する。
【０１１０】
トレーニング中、マッピングネット300にステレオ画像対(310)の系列が提供される。画像は、カラー画像とすることができる。系列は、ステレオ画像対からなるバッチ、例えば3、4、5、またはそれよりも多くのステレオ画像対からなるバッチを備えることができる。図示の例では、各画像は416×256画素の分解能を有する。画像は、第1の層に提供され、最終層から最終深度表現がもたらされるまで、後続の層を通って移動する。本明細書において説明するように、マッピングネットから出力された深度は、誤差(空間的損失)を特定するために、損失関数によって計算された深度と比較され、マッピングネットは、この誤差をバックプロパゲーションを介して最小限に抑えるようにトレーニングされる。このトレーニングプロセスには、誤差を最小限に抑えようとすべくマッピングネットの重みおよびフィルタを修正することが関与し得る。
【０１１１】
使用時には、トレーニング済みのマッピングネットに単眼画像系列が提供される。単眼画像系列は、ビジュアルカメラからリアルタイムで取得され得る。単眼画像は、ネットワークの第1の層に提供され、最終層から深度表現が出力されるまで、ネットワークの後続の層を通って移動する。
【０１１２】
図4は、ターゲット環境の単眼画像系列に応答してターゲット環境の自己位置推定およびマッピングの同時実行を行うためのシステム400および方法を示す。システムは、自動車両、鉄道車両、船舶、航空機、ドローン、または宇宙機などのビークルの一部として提供することができる。システムは、単眼画像系列をシステムに提供する前向きカメラを含むことができる。他の実施形態では、システムは、仮想現実および/または拡張現実を提供するためのシステムとすることができる。
【０１１３】
システム400は、マッピングネット420およびトラッキングネット450を含む。マッピングネット420およびトラッキングネット450は、図1から図3を参照して本明細書において説明したように構成および事前トレーニングすることができる。マッピングネットおよびトラッキングネットは、マッピングネットおよびトラッキングネットにステレオ画像系列ではなく単眼画像系列が提供されるという点、ならびにマッピングネットおよびトラッキングネットがどんな損失関数とも関連付けられる必要がないという点を除き、図1から図3を参照して説明したように動作することができる。
【０１１４】
システム400は、さらに別のニューラルネットワーク480も含む。さらに別のニューラルネットワークは、本明細書では、ループネットと呼ばれることがある。
【０１１５】
図4に示すシステムおよび方法に戻ると、使用時には、ターゲット環境の単眼画像系列(4100、4101、410n)が、事前トレーニングされたマッピングネット420、トラッキングネット450、およびループネット480に提供される。画像は、カラー画像とすることができる。画像系列は、ビジュアルカメラからリアルタイムで取得され得る。画像系列は、別法として、ビデオ録画とすることもできる。いずれの場合も、画像はそれぞれ、一定時間間隔だけ隔てられ得る。
【０１１６】
マッピングネット420は、単眼画像系列を使用して、ターゲット環境の深度表現430をもたらす。本明細書において説明したように、深度表現430は、入力画像とサイズが対応しており、かつ深度マップ内の各点までの絶対距離を表す、深度マップとしてもたらされ得る。
【０１１７】
トラッキングネット450は、単眼画像系列を使用して、姿勢表現460をもたらす。本明細書において説明したように、姿勢表現460は6DOF表現とすることができる。姿勢表現の累積が、姿勢マップを構築するために使用され得る。姿勢マップは、トラッキングネットから出力され得、大域的な姿勢整合性ではなく相対的な(または局所的な)姿勢整合性をもたらし得る。したがって、トラッキングネットから出力された姿勢マップは、累積ドリフトを含むことがある。
【０１１８】
ループネット480は、ループ閉じ込みを検出するように事前トレーニングされたニューラルネットワークである。ループ閉じ込みとは、画像系列内の現在の画像の特徴が、以前の画像の特徴に少なくとも部分的に対応するときを特定することを指すことができる。実際のところ、現在の画像と以前の画像の特徴間のある程度の一致が、典型的には、SLAMを実施しているエージェントがそのすでに遭遇した位置に戻ったことを示唆する。ループ閉じ込みが検出されると、下で説明するように、累積した任意のオフセットを解消するように姿勢マップが調整され得る。したがって、ループ閉じ込みは、単なる局所的な整合性ではなく大域的な整合性によって、姿勢の正確な大きさをもたらすのを助けることができる。
【０１１９】
いくつかの実施形態では、ループネット480は、Inception-Res-Net V2アーキテクチャとすることができる。これは、事前トレーニングされた重み付けパラメータを備えたオープンソースアーキテクチャである。入力は、サイズが416×256画素の画像とすることができる。
【０１２０】
ループネット480は、各入力画像について特徴ベクトルを計算することができる。次いで、2つの画像の特徴ベクトル間の類似性を計算することによって、ループ閉じ込みが検出され得る。これは、ベクトル対間距離と呼ばれることがあり、2つのベクトル間のコサイン距離として、次のように計算することができ、
dcos=cos(v1,v2)
ここで、v1、v2は、2つの画像の特徴ベクトルである。dcosがしきい値よりも小さいとき、ループ閉じ込みが検出され、2つの対応するノードが大域的接続によって接続される。
【０１２１】
ループ閉じ込みをニューラルネットワークベースの手法を使用して検出することは、システム全体が幾何学的モデルベースの技法にもはや依存しないようになり得るので、有益である。
【０１２２】
図4に示すように、システムは、姿勢グラフ構築アルゴリズムおよび姿勢グラフ最適化アルゴリズムも含むことができる。姿勢グラフ構築アルゴリズムは、累積ドリフトを低減させることによって大域的に整合性のある姿勢グラフを構築するために使用される。姿勢グラフ最適化アルゴリズムは、姿勢グラフ構築アルゴリズムから出力された姿勢グラフをさらに改良するために使用される。
【０１２３】
姿勢グラフ構築アルゴリズムの動作を、図5により詳細に示す。図示のように、姿勢グラフ構築アルゴリズムは、ノード系列(X1,X2,X3,X4,X5,X6,X7...,Xk-3,Xk-2,Xk-1,Xk,Xk+1,Xk+2,Xk+3...)およびそれらの接続からなる。各ノードは特定の姿勢に対応する。実線は局所的接続を表し、点線は大域的接続を表す。局所的接続は、2つの姿勢が連続することを示す。換言すれば、2つの姿勢は、隣接する時点において捕捉された画像と対応する、ということである。大域的接続は、ループ閉じ込みを示す。上で説明したように、ループ閉じ込みは通常、2つの画像の特徴間に(それらの特徴ベクトルによって示される)しきい値を上回る類似性があるときに検出される。姿勢グラフ構築アルゴリズムは、別のニューラルネットワークおよびさらに別のニューラルネットワークからの出力に応答して、姿勢出力をもたらす。この出力は、姿勢の局所的接続および大域的接続に基づいたものとすることができる。
【０１２４】
姿勢グラフが構築された後、姿勢推定を微調整し、任意の累積ドリフトをさらに低減させることによって姿勢マップの精度を向上させるために、姿勢グラフ最適化アルゴリズム(姿勢グラフオプティマイザ)495が使用され得る。姿勢グラフ最適化アルゴリズム495は、図4に概略的に示されている。姿勢グラフ最適化アルゴリズムは、「g2o」フレームワークなど、グラフベースの非線形誤差関数を最適化するためのオープンソースフレームワークとすることができる。姿勢グラフ最適化アルゴリズムは、改良された姿勢出力470をもたらすことができる。
【０１２５】
姿勢グラフ構築アルゴリズム490は、図4に別個のモジュールとして示されているが、いくつかの実施形態では、姿勢グラフ構築アルゴリズムの機能が、ループネットによって提供され得る。
【０１２６】
姿勢グラフ構築アルゴリズムから出力された姿勢グラフ、または姿勢グラフ最適化アルゴリズムから出力された改良された姿勢グラフは、マッピングネットから出力された深度マップと組み合わされて、3D点群440を生成することができる。3D点群は、それらの推定された3D座標を表す1組の点を備えることができる。各点は、関連するカラー情報を有することもできる。いくつかの実施形態では、この機能は、ビデオ系列から3D点群を生成するために使用され得る。
【０１２７】
使用時には、データ要件および計算時間が、トレーニング中のデータ要件および計算時間よりもはるかに少ない。GPUは不要である。
【０１２８】
トレーニングモードと比較して、使用モードでは、システムのメモリおよび計算の需要が著しく低くなり得る。システムは、GPUをもたないコンピュータ上で動作することができる。NVIDIA GeForce GTX 980MおよびIntel Core i7 2.7GHz CPUが装備されたラップトップを使用することができる。
【０１２９】
ビジュアルオドメトリなどの他のコンピュータビジョン技法と比較して、上で説明した、本発明のいくつかの実施形態によるビジュアルSLAM技法によってもたらされる利点に留意されたい。
【０１３０】
ビジュアルオドメトリ技法では、先行するフレームの各々間の推定された動きを組み合わせることによって、視点の現在の姿勢を特定しようと試みる。しかし、ビジュアルオドメトリ技法にはループ閉じ込みを検出するすべがなく、それは、ビジュアルオドメトリ技法が累積ドリフトを低減または解消できないことを意味する。これはまた、フレーム間の推定された動きのわずかな誤差でさえも累積して、推定された姿勢のスケールの不正確さが大きくなるおそれがあることを意味する。このため、そのような技法は、自律ビークルおよびロボティクス、マッピング、VR/ARにおいてなど、高精度で絶対的な姿勢配向が望ましい応用分野において、問題のあるものになる。
【０１３１】
対照的に、本発明のいくつかの実施形態によるビジュアルSLAM技法は、累積ドリフトを低減または解消するためのステップ、および更新された姿勢グラフをもたらすためのステップを含む。これにより、SLAMの信頼性および精度が向上し得る。適宜、本発明のいくつかの実施形態によるビジュアルSLAM技法は、深度の絶対的な大きさを提供する。
【０１３２】
本明細書の説明および特許請求の範囲全体を通して、「備える」および「含む」という語、ならびにそれらの変形は、「〜を含むがそれに限定されない」を意味し、それらは、他の部分、追加物、構成要素、整数、またはステップを除外するものではない(また除外しない)。本明細書の説明および特許請求の範囲全体を通して、文脈上別段の解釈を要する場合を除き、単数形は複数形も包含する。具体的には、不定冠詞が使用されている場合、文脈上別段の解釈を要する場合を除き、本明細書は単数性のみならず複数性をも企図するものとして理解されるべきである。
【０１３３】
本発明の特定の態様、実施形態、または例に関連して説明した特徴、整数、特色、またはグループは、本明細書において説明した他の任意の態様、実施形態、または例に、それと矛盾しない限り適用可能であることを理解されたい。(任意の添付の請求項、要約書、および図面を含む)本明細書において開示した全ての特徴、ならびに/またはそのように開示した任意の方法もしくはプロセスの全てのステップは、それらの特徴および/またはステップのうちの少なくとも一部が相互に排他的である組合せを除き、任意の組合せで組み合わせることができる。本発明は、任意の前述の実施形態の任意の詳細に限定されない。本発明は、(任意の添付の請求項、要約書、および図面を含む)本明細書において開示した特徴のうちの任意の新規な1つ、もしくはその特徴の新規な組合せに、またはそのように開示した任意の方法もしくはプロセスのステップのうちの任意の新規な1つ、もしくはそのステップの任意の新規な組合せに及ぶ。
【０１３４】
読者の注意は、本出願に関連して、本明細書と同時に、または本明細書に先行して提出され、本明細書とともに公衆の閲覧に付される、あらゆる論文および文献に向けられよう。そのようなあらゆる論文および文献の内容は、参照により本明細書に組み込まれる。
【符号の説明】
【０１３５】
100  トレーニングシステム
110  第1の教師なしニューラルネットワーク、マッピングネット
120  別の教師なしニューラルネットワーク、トラッキングネット
130  損失関数
1400,1...n  ステレオ画像対
1500,1...n  第1の画像
1550,1...n  別の画像
200  トラッキングネット
210  ステレオ画像対
2201  第1の層
2202  第2の層
2203  第3の層
2204  第4の層
2205  第5の層
2206  第6の層
2207  第7の層
2208  第8の層
2209  第1の完全接続層
22010  第2の完全接続層
22011  第3の完全接続層
230  6DOF姿勢表現
300  マッピングネット
310  ステレオ画像対
3201  第1の層
3202  第2の層
3203  第3の層
3204  第4の層
3205  第5の層
3206  第6の層
3207  第7の層
3208  第8の層
3209  第9の層
32010  第10の層
32011  第11の層
32012  第12の層
32013  第13の層、最終層
330  深度マップ(深度表現)
400  システム
420  マッピングネット
430  深度表現
440  3D点群
450  トラッキングネット
460  姿勢表現
470  改良された姿勢出力
480  さらに別のニューラルネットワーク、ループネット
490  姿勢グラフ構築アルゴリズム
495  姿勢グラフ最適化アルゴリズム(姿勢グラフオプティマイザ)
【図１】
2021518622.tif 000063
【図２】
2021518622.tif 000064
【図３】
2021518622.tif 000065
【図４】
2021518622.tif 000066
【図５】
2021518622.tif 000067
【国際調査報告】
2021518622.tif 000068
2021518622.tif 000069