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

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

▶ 星際(重慶)智能装備技術研究院有限公司の特許一覧

特許7097641畳み込み知覚ハッシュアルゴリズムに基づくループ検出方法
<>
  • 特許-畳み込み知覚ハッシュアルゴリズムに基づくループ検出方法 図1
  • 特許-畳み込み知覚ハッシュアルゴリズムに基づくループ検出方法 図2
  • 特許-畳み込み知覚ハッシュアルゴリズムに基づくループ検出方法 図3
  • 特許-畳み込み知覚ハッシュアルゴリズムに基づくループ検出方法 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-06-30
(45)【発行日】2022-07-08
(54)【発明の名称】畳み込み知覚ハッシュアルゴリズムに基づくループ検出方法
(51)【国際特許分類】
   G06T 7/00 20170101AFI20220701BHJP
   G06T 11/60 20060101ALI20220701BHJP
【FI】
G06T7/00 350C
G06T11/60 300
G06T7/00 650A
【請求項の数】 1
(21)【出願番号】P 2021035168
(22)【出願日】2021-03-05
(65)【公開番号】P2022018066
(43)【公開日】2022-01-26
【審査請求日】2021-03-05
(31)【優先権主張番号】202010675615.X
(32)【優先日】2020-07-14
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】521095167
【氏名又は名称】星際(重慶)智能装備技術研究院有限公司
(74)【代理人】
【識別番号】110000383
【氏名又は名称】特許業務法人エビス国際特許事務所
(72)【発明者】
【氏名】宋 永端
(72)【発明者】
【氏名】方 磊
(72)【発明者】
【氏名】▲らい▼ 俊峰
(72)【発明者】
【氏名】譚 力▲ふい▼
(72)【発明者】
【氏名】張 杰
(72)【発明者】
【氏名】▲ちゃお▼ 佩▲ぶん▼
(72)【発明者】
【氏名】張 ▲つぉん▼毅
(72)【発明者】
【氏名】包 ▲かん▼
(72)【発明者】
【氏名】楊 魁龍
(72)【発明者】
【氏名】楊 雅▲てい▼
(72)【発明者】
【氏名】陳 ▲いん▼睿
【審査官】橋爪 正樹
(56)【参考文献】
【文献】特表2018-534710(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00- 7/90
G06T 11/60-11/80
(57)【特許請求の範囲】
【請求項1】
畳み込み知覚ハッシュアルゴリズムに基づくループ検出方法であって、以下のステップを含み、
1)地図を作成するために必要なシーンの画像データセットを作成し、前記画像データセットは、2セットの画像で構成されていて、第1セットの画像はすべてが類似した画像であり、第2セットの画像はすべてが異なる画像であり、画像データセットをトレーニングセットとテストセットに分割し、トレーニングセットには第1セットの画像の一部と第2セットの画像の一部が含まれ、トレーニングセットは、畳み込みニューラルネットワークのトレーニングに使用され、テストセットは、トレーニングされたニューラルネットワークが有効かどうかを検出するために使用され、前記画像データセットは複数の画像カテゴリを含み、互いに類似した画像とは、画像同士が同一の画像カテゴリに属していることを意味し、
2)畳み込みニューラルネットワークの構築とトレーニング、次のステップを含み、
a)同じ構造の2つの畳み込みニューラルネットワークモジュールを構築し、各畳み込みニューラルネットワークモジュールには、畳み込み層(Convolutional layer)、プーリング層(Pooling layer)、全結合層(Fully Connected layer)が含まれ、
b)トレーニングセット内の2つの画像セットから2つの画像をランダムに選択して、入力画像のセットを形成し、同時に構築された2つの畳み込みニューラルネットワークモジュールを入力し2つの畳み込みニューラルネットワークモジュールの出力は、2つのハッシュコードに変換され、畳み込みニューラルネットワークモジュールの出力とハッシュコードの関係は次のとおりであり、
【数1】
式中、Hはハッシュコード、Oは畳み込みニューラルネットワークの出力、lrはハイパーパラメータ、Lはクロスエントロピーであり、次に、2つの画像の最尤推定を計算し、2つの画像に対応する2つのハッシュコードの最尤関数は次のとおりであり、
【数2】
損失関数は最尤関数によって計算され、損失関数は次のように設定され、
【数3】
式中、nはハッシュコードのビット数を表し、iとjは、それぞれ2つの画像を表し、αはハイパーパラメータであり、hは第i枚目の画像に対応するハッシュコードであり、hは第j枚目の画像に対応するハッシュコードであり、si,jは入力された2つの画像が一つの画像のカテゴリに属しているかどうかであり、
【数4】
c)損失関数を畳み込みニューラルネットワークに置き換えて、バックプロパゲーションを行うことにより、畳み込みニューラルネットワークをトレーニングし、トレーニングされたニューラルネットワークをテストして、トレーニングされた畳み込みニューラルネットワークモデルを取得し、
3)トレーニングされた畳み込みニューラルネットワークモデルをSLAMシステムに適用し、地図を構築するためのキーフレームを2つのトレーニングされた畳み込みニューラルネットワークモデルの1つに継続的に入力し、キーフレームのハッシュコードを計算し、次に、計算されたハッシュコードのキーフレームを順序付けられていないグラフに保存し、
4)ループ検出:
次の式に従って、現在取得されているキーフレームハッシュコードと以前に保存された各ハッシュコードのハミング距離を計算し、
【数5】
式中、h、hは2つの画像のハッシュコードを表し、
【数6】
は排他的論理和演算を表し、計算して得られた最小ハミング距離を設定されたしきい値と比較し、設定されたしきい値よりも小さい場合、2つの画像は類似したシーンまたは同じシーンであると見なされ、ループが発生したと見なされる、
ことを特徴とする畳み込み知覚ハッシュアルゴリズムに基づくループ検出方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、リアルタイム測位と地図作成(SLAM)におけるループ検出の技術分野に関し、より具体的には、深い畳み込み知覚ハッシュに基づくループ検出方法に関する。
【背景技術】
【0002】
視覚SLAM(simultaneous localization and mapping,リアルタイム測位と地図作成)では、視覚オドメーターは隣接する時間のキーフレームのみを考慮し、前の瞬間にエラーが発生した場合、エラーは次の瞬間に累積され、SLAM全体が累積エラーになり、推定結果は必然的に信頼できない。SLAMバックエンドは最大事後誤差を推定できるが、隣接するキーフレームデータのみが存在する場合、累積誤差を排除できない。
【0003】
ループ検出の重要性は、隣接するキーフレームの制約に加えて、より長い時間の制約を与えることである。カメラが同じ場所を通過し、類似のデータを収集したことをロボットが検出すると、より適切な推定値を提供し、グローバルに知られている推定値を取得できる。ループ検出は、SLAMが推定した追跡と地図の長期間にわたる正確さに関連していて、ロボットに対して再測位を行わせ、SLAM地図作成の精度を効果的に向上させることができる。ループ検出で現在使用されている技術は、一般的に単語の袋法であり、画像上の特徴を認識して単語として保存し、2つのフレームの特徴の数を比較して、2つのフレームの類似度を取得し、類似度が一定のしきい値に達する場合、2つのフレームが同じ場所にあると見なし、ループが発生したと見なされる。
【0004】
単語の袋のループ検出アルゴリズムは、外観に完全に依存していて、図の幾何学的情報を使用していないため、外観が似ている画像はループと見なされやすくなる。また、単語の袋は単語の順序に影響されず、単語の表現の有無にのみ影響されるので、より知覚バイアスを引き起こし易い。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明の目的は、上記の技術的課題を克服できる畳み込み知覚ハッシュアルゴリズムに基づくループ検出方法を提供することであり、本発明の方法の特徴は、深層学習技術に基づいて、画像コーディング技術を使用して、ループ検出の精度と効率が低いという問題を解決することである。
【課題を解決するための手段】
【0006】
本発明の畳み込み知覚ハッシュアルゴリズムに基づくループ検出方法は、以下のステップを含む。
【0007】
1)地図を作成するために必要なシーンの画像データセットを作成し、前記画像データセットは、2セットの画像で構成されていて、第1セットの画像はすべてが類似した画像であり、第2セットの画像はすべてが異なる画像であり、画像データセットをトレーニングセットとテストセットに分割し、トレーニングセットには第1セットの画像の一部と第2セットの画像の一部が含まれ、トレーニングセットは、畳み込みニューラルネットワークのトレーニングに使用され、テストセットは、トレーニングされたニューラルネットワークが有効かどうかを検出するために使用される。
【0008】
2)畳み込みニューラルネットワークの構築とトレーニング、次のステップを含む。
【0009】
a)同じ構造の2つの畳み込みニューラルネットワークモジュールを構築し、各畳み込みニューラルネットワークモジュールには、畳み込み層(Convolutional layer)、プーリング層(Pooling layer)、全結合層(Fully Connected layer)が含まれる。
【0010】
b)トレーニングセット内の2つの画像セットから2つの画像をランダムに選択して、入力画像のセットを形成し、同時に構築された2つの畳み込みニューラルネットワークモジュールを入力する。2つの畳み込みニューラルネットワークモジュールの出力は、貪欲法によって2つのハッシュコードに変換され、畳み込みニューラルネットワークモジュールの出力とハッシュコードの関係は次のとおりである。
【0011】
【数1】
【0012】
式中、Hはハッシュコード、Oは畳み込みニューラルネットワークの出力、lrはハイパーパラメータ、Lはクロスエントロピーである。
【0013】
次に、2つの画像の最尤推定を計算する。2つの画像に対応する2つのハッシュコードの最尤関数は次のとおりである。
【0014】
【数2】
【0015】
損失関数は最尤関数によって計算され、損失関数は次のように設定される。
【0016】
【数3】
【0017】
式中、nはハッシュコードのビット数を表し、iとjは、それぞれ2つの画像を表し、αはハイパーパラメータであり、hは第i枚目の画像に対応するハッシュコードであり、hは第j枚目の画像に対応するハッシュコードであり、si,jは入力された2つの画像が一つの画像のカテゴリに属しているかどうかである。
【0018】
【数4】
【0019】
c)損失関数を畳み込みニューラルネットワークに置き換えて、バックプロパゲーションを行い、畳み込みニューラルネットワークをトレーニングし、トレーニングされたニューラルネットワークをテストして、トレーニングされた畳み込みニューラルネットワークモデルを取得する。
【0020】
3)トレーニングされた畳み込みニューラルネットワークモデルをSLAMシステムに適用し、地図を構築するためのキーフレームを2つのトレーニングされた畳み込みニューラルネットワークモデルの1つに継続的に入力し、キーフレームのハッシュコードを計算し、次に、計算されたハッシュコードのキーフレームを順序付けられていないグラフに保存する。
【0021】
4)ループ検出:
【0022】
次の式に従って、現在取得されているキーフレームハッシュコードと以前に保存された各ハッシュコードのハミング距離を計算する。
【0023】
【数5】
【0024】
式中、h、hは2つの画像のハッシュコードを表し、
【数6】
は排他的論理和演算を表し、計算して得られた最小ハミング距離を設定されたしきい値と比較し、設定されたしきい値よりも小さい場合、2つの画像は類似したシーンまたは同じシーンであると見なされ、ループが発生したと見なされる。
【発明の効果】
【0025】
本発明の有益な効果:
本発明の畳み込み知覚ハッシュアルゴリズムに基づくループ検出方法は、貪欲法により、畳み込みニューラルネットワークの出力とハッシュ値との間の結合問題を解決し、損失関数としてツインネットワーク出力のクロスエントロピーを使用し、畳み込みニューラルネットワークをトレーニングして、トレーニングされた畳み込みニューラルネットワークを取得する。視覚SLAMを介してリアルタイムに地図を作成し、キーフレームを地図データベースとして保存し、キーフレームをトレーニングされた畳み込みニューラルネットワークに入力して、対応するキーフレームのハッシュ値を計算し、地図データベースと比較し、ループバックが発生するかどうかを検出する。本発明は、高精度率及びリコール率を有し、異なるシーンに従ってトレーニングされたネットワークであり、異なるシーンを扱うときの優れた適応性を有し、ループ検出機能を十分に完了し、SLAMが正しい高精度地図を構築するのを支援できる。
【図面の簡単な説明】
【0026】
図1】畳み込みを意識したハッシュアルゴリズムに基づくループ検出法の流れ図である。
図2】畳み込みニューラルネットワークモジュールの構造図である。
図3】畳み込みネットワークハッシュアルゴリズムの学習プロセス図である。
図4】ループ検出のプロセス図である。
【発明を実施するための形態】
【0027】
本発明の実施形態は、図面と併せて以下に詳細に説明される。
【0028】
畳み込み知覚ハッシュアルゴリズムに基づくループ検出方法であって、以下のステップを含む。
【0029】
1)地図を作成するために必要なシーンの画像データセットを作成する。前記画像データセットは、2セットの画像で構成されていて、第1セットの画像はすべてが類似した画像であり、第2セットの画像はすべてが異なる画像である。画像データセットをトレーニングセットとテストセットに分割し、トレーニングセットには第1セットの画像の一部と第2セットの画像の一部が含まれる。トレーニングセットは、畳み込みニューラルネットワークのトレーニングに使用され、テストセットは、トレーニングされたニューラルネットワークが有効かどうかを検出するために使用される。
【0030】
本実施形態の画像データセットは20,000のカテゴリを含み、各カテゴリは類似の画像を含む。データセットは、8:2の比率に従ってトレーニングセットとテストセットに分割される。トレーニングセットは畳み込みニューラルネットワークのトレーニングに使用され、テストセットはトレーニングされたニューラルネットワークが有効かどうかを検出するために使用される。
【0031】
2)畳み込みニューラルネットワークの構築とトレーニングを行う。これらには、次のステップが含まれる。
【0032】
a)同じ構造の2つの畳み込みニューラルネットワークモジュールを構築する。各畳み込みニューラルネットワークモジュールには、畳み込み層(Convolutional layer)、プーリング層(Pooling layer)、全結合層(Fully Connected layer)が含まれる。
【0033】
特定の実装では、畳み込みカーネルのサイズ及び畳み込み層の数は、シーンの複雑さに応じて変更できる。畳み込みニューラルネットワークモジュールによって入力される画像サイズは224×224×3ピクセルの画像であり、さまざまなシーンに応じて5~22個の畳み込み層を人工的に選択できる。高次プーリング層は、標準偏差プーリング層として設計されていて、畳み込み層によって出力された特徴を標本共分散行列に変換する。
【0034】
シンプルなシーンや特徴が少ない場合、5層の畳み込みネットワークを構築し、11×11の畳み込みカーネルを選択できる。複雑なシーンや特徴が多い場合は、深い畳み込みネットワークを構築し、層の数が増えるにつれて、3×3の畳み込みカーネルの比率を増やして、より多くの特徴を抽出できる。同時に、「dropout」技術を使用して、各隠れ層ニューロンの出力を0.2の確率で0に設定し、過剰適合を回避する。
【0035】
本実施形態では、各畳み込みニューラルネットワークモジュールには、5つの層が含まれ、第1番目の稠密なブロックは、6つの1×1の畳み込みカーネルと6つの3×3の畳み込みカーネルを使用する。稠密なブロック内部の各層のネットワークの出力は、前の層のネットワークの直接出力と、畳み込みカーネルによって畳み込まれた出力で構成され、各稠密なブロックはこの操作計算を受ける。第1番目の稠密なブロックの出力サイズは56×56であり、プーリング層の後、出力サイズは28×28になる。第2番目の稠密なブロックは12個の1×1の畳み込みカーネルと12個の3×3の畳み込みカーネルを使用して出力し、稠密なブロックも上記の出力を経験する。第2番目の稠密なブロックの出力サイズは28×28であり、プーリング層の後で14×14になる。第3番目の稠密なブロックは24個の1×1の畳み込みカーネルと24個の3×3の畳み込みカーネルを使用し、同じ操作を実行して7×7を出力する。第4番目の稠密なブロックは16個の1×1の畳み込みカーネルと16個の3×3の畳み込みカーネルを使用し、最後に全結合層に接続する。
【0036】
b)トレーニングセット内の2つの画像セットから2つの画像をランダムに選択して、入力画像のセットを形成し、同時に構築された2つの畳み込みニューラルネットワークモジュールを入力する。2つの畳み込みニューラルネットワークモジュールの出力は、貪欲法によって2つのハッシュコードに変換され、畳み込みニューラルネットワークモジュールの出力とハッシュコードの関係は次のとおりである。
【0037】
【数7】
【0038】
式中、Hはハッシュコード、Oは畳み込みニューラルネットワークの出力、lrはハイパーパラメータ、Lはクロスエントロピーである。
【0039】
次に、2つの画像の最尤推定を計算する。2つの画像に対応する2つのハッシュコードの最尤関数は次のとおりである。
【0040】
【数8】
【0041】
損失関数は最尤関数によって計算され、損失関数は次のように設定される。
【0042】
【数9】
【0043】
式中、nはハッシュコードのビット数を表し、iとjは、それぞれ2つの画像を表し、αはハイパーパラメータであり、hは第i枚目の画像に対応するハッシュコードであり、hは第j枚目の画像に対応するハッシュコードであり、si,jは入力された2つの画像が一つの画像のカテゴリに属しているかどうかである。
【0044】
【数10】
【0045】
c)損失関数を畳み込みニューラルネットワークに置き換えて、バックプロパゲーションを行い、畳み込みニューラルネットワークをトレーニングする。トレーニングされたニューラルネットワークをテストして、トレーニングされた畳み込みニューラルネットワークモデルを取得する。
【0046】
畳み込みネットワークモジュールの出力により、類似画像のハッシュコードのハミング距離が十分に小さく、非類似画像のハミング距離が十分に大きい場合、ネットワークトレーニングが完了したことが証明され、ネットワークモデルが保存される。テストセットの画像を畳み込みネットワークに入力し、類似した画像のハッシュコードのハミング距離がまだ十分に小さいかどうか、及び非類似画像のハッシュコードのハミング距離が十分に大きいかどうかの結果を観察し、それが達成できれば、モデルのトレーニングが完了したことを説明し、モデルを保存する。
【0047】
3)トレーニングされた畳み込みニューラルネットワークモデルをSLAMシステムに適用し、地図を構築するためのキーフレームを2つのトレーニングされた畳み込みニューラルネットワークモデルの1つに継続的に入力し、キーフレームのハッシュコードを計算し、次に、計算されたハッシュコードのキーフレームを順序付けられていないグラフに保存する。
【0048】
具体的には、ロボットを起動してSLAM地図の作成を開始する。ロボットの両眼カメラの左右のカメラで写真を撮る。特定の条件に従って、一部の画像は地図を作成するためのキーフレームとして適切に選択される。地図を作成するキーフレームをトレーニング済みの畳み込みネットワークモジュールに入力し、キーフレームのハッシュコードを計算して取得する。計算して得られたハッシュコードのキーフレームを順序付けられていないグラフに格納する。順序付けられていないグラフは、ハッシュコードでソートされたコンテナである。
【0049】
ロボットが継続的に地図を作成する過程で、前のシーンを通過した場合、その際に撮影した写真も条件に応じてキーフレームとして選択される。
【0050】
4)ループ検出:
【0051】
次の式に従って、現在取得されているキーフレームハッシュコードと以前に保存された各ハッシュコードのハミング距離を計算する。
【0052】
【数11】
【0053】
式中、h、hは2つの画像のハッシュコードを表し、
【数12】
は排他的論理和演算を表し、計算して得られた最小ハミング距離を設定されたしきい値と比較し、設定されたしきい値よりも小さい場合、2つの画像は類似したシーンまたは同じシーンであると見なされ、ループが発生したと見なされる。ロボットは、これにより蓄積されたエラーを排除し、SLAMによって作成された地図のドリフトとサイズの変化を減らすことができる。
【0054】
最後に、上記の実施形態は、本発明の技術的解決策を説明するためにのみ使用され、それらを限定するものではないことに留意されたい。本発明は、好ましい実施形態を参照して詳細に説明されているが、当業者は、本発明の技術的解決策の目的及び範囲から逸脱することなく、本発明の技術的解決策を実施できることを理解すべきであり、本発明の技術的解決策の範囲は、本発明の特許請求の範囲によってカバーされるべきである。
図1
図2
図3
図4