JP7439153B2 - 全方位場所認識のためのリフトされたセマンティックグラフ埋め込み - Google Patents

全方位場所認識のためのリフトされたセマンティックグラフ埋め込み Download PDF

Info

Publication number
JP7439153B2
JP7439153B2 JP2022045381A JP2022045381A JP7439153B2 JP 7439153 B2 JP7439153 B2 JP 7439153B2 JP 2022045381 A JP2022045381 A JP 2022045381A JP 2022045381 A JP2022045381 A JP 2022045381A JP 7439153 B2 JP7439153 B2 JP 7439153B2
Authority
JP
Japan
Prior art keywords
vector
node
generating
graph
representation
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
JP2022045381A
Other languages
English (en)
Other versions
JP2023059794A (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
Original Assignee
Toshiba 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 filed Critical Toshiba Corp
Publication of JP2023059794A publication Critical patent/JP2023059794A/ja
Application granted granted Critical
Publication of JP7439153B2 publication Critical patent/JP7439153B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • G06V10/7635Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks based on graphs, e.g. graph cuts or spectral clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/30Scenes; Scene-specific elements in albums, collections or shared content, e.g. social network photos or video
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/48Matching video sequences
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/80Recognising image objects characterised by unique random patterns
    • 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/20072Graph-based image processing
    • 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/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/97Determining parameters from multiple pictures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/35Categorising the entire scene, e.g. birthday party or wedding scene
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/70Labelling scene content, e.g. deriving syntactic or semantic representations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Image Analysis (AREA)
  • Television Signal Processing For Recording (AREA)

Description

本明細書で説明される実施形態は、一般に、場所認識のための方法及び装置、並びに場所認識のためにグラフ埋め込みネットワークをトレーニングするための方法及び装置に関する。
視覚的な場所認識では、カメラの現在のビューが与えられると、カメラのロケーションを決定することを備える。場所認識は、コンピュータビジョン及びロボット工学における重要な課題であり、限定はしないが、全自動運転及び拡張現実を含む、幅広い用途に適用可能である。
視覚的な場所認識に関する既知のアプローチでは、画像検索タスクとしてこの課題を定式化(formulate the problem)している。このアプローチは、一般に、キャプチャされた画像から特徴を抽出することを伴う。次いで、キャプチャされた画像の特徴は、参照データセット内の画像から抽出された特徴と比較され、ここで、参照データセット内の各画像は、場所を識別する情報(例えば、GPS座標)に関連付けられている。このアプローチでは、キャプチャされた画像に関連付けられた場所は、抽出された特徴に基づいて、参照データセット内のどの画像が、キャプチャされた画像に最も視覚的に類似しているかを決定することによって取得される。
場所認識のための視覚的な特徴ベースのアプローチは、一般に、キャプチャされた画像と、参照データセット内の関連付けられた画像との間の外観変化に苦慮する。これらの変化は、照明及び外観変化(例えば、1年の季節変動によるもの)、並びにキャプチャされた画像と参照画像との間の視点変動によるものであり得る。この点を踏まえると、視覚的な場所認識に対して新しいアプローチが必要とされる。
配置は、単なる例として成され且つ図面と共に考慮される以下の発明を実施するための形態から、より完全に理解及び認識される。
図1Aは、一例によるロボット100を示す。 図1Bは、視覚的な場所認識の例となるユースケースを示す。 図2は、一実施形態による視覚的な場所認識の方法を示す。 図3は、一例による「Mask R-CNN」を使用したインスタンスセグメンテーションの一実装形態を示す。 図4は、一例による検出のセットを生成するための方法を示す。 図5Aは、正距円筒画像の一例を示す。 図5Bは、一実施形態に従って生成されたインスタンスセグメンテーションの視覚的な表現を示す。 図5Cは、一実施形態に従って生成された深度情報の視覚的な表現を示す。 図6Aは、一実施形態に従って重ね合わされたノード及びエッジを有するシーンの3D表現を示す。 図6Bは、一例によるシーングラフの2D視覚化を示す。 図7は、一実施形態によるグラフ埋め込みネットワークを示す。 図8は、一実施形態によるグラフ埋め込みネットワーク701の伝播層703によって行われる方法を示す。 図9は、一実施形態によるグラフ埋め込みネットワークをトレーニングする方法を示す。 図10は、一実施形態による「GraphVLADt」の再現率(recalls)及び各検証タイプについての「OmniClevr」データセットでの「NetVLADt」を示す。 図11は、一実施形態によるシステムを示す。 図12は、実施形態に従って方法を実施するために使用され得るハードウェアの概略図を示す。
第1の態様によれば、場所認識のためのコンピュータ実装方法が提供される。方法は、第1のシーンの画像を識別する情報を取得することと、画像を識別する情報における複数のピクセルクラスタを識別することと、複数のピクセルクラスタは、第1のピクセルクラスタと、第2のピクセルクラスタと、を備え、画像を識別する情報から特徴ベクトルのセットを生成することと、特徴ベクトルのセットは、第1のピクセルクラスタに関連付けられた第1の特徴ベクトルと、第2のピクセルクラスタに関連付けられた第2の特徴ベクトルと、を備え、シーンのグラフを生成することと、グラフは、第1のピクセルクラスタを表す第1のノードと、第1のノードは、第1の特徴ベクトルに関連付けられており、第2のピクセルクラスタを表す第2のノードと、第2のノードは、第2の特徴ベクトルに関連付けられている、を備え、第1のピクセルクラスタに関連付けられた第1の特性が、第2のピクセルクラスタに関連付けられた第2の特性に類似していると決定することに応答して、第1のノードと第2のノードとの間に第1のエッジを追加することと、グラフのベクトル表現を生成することと、グラフのベクトル表現と、参照ベクトル表現との間の類似性の尺度(a measure of similarity)を計算することと、ここにおいて、参照ベクトル表現は、第2のシーンに関連付けられており、類似性の尺度が閾値より小さいと決定することに応答して、第1のシーンと第2のシーンとが、同じ場所に関連付けられていると決定することと、を備える。
一実施形態では、ピクセルクラスタは、ピクセルのグループである。
一実施形態では、複数のピクセルクラスタを識別することは、複数のオブジェクトインスタンスを識別することを備え、ここにおいて、第1のピクセルクラスタは、第1のオブジェクトインスタンスに対応し、第2のピクセルクラスタは、第2のオブジェクトインスタンスに対応する。
一実施形態では、画像を識別する情報における複数のオブジェクトインスタンスを識別することは、複数のオブジェクトインスタンスを識別するために、正距円筒画像(equirectangular images)でトレーニングされた機械学習モデルを使用することを備える。
一実施形態では、オブジェクトインスタンスは、オブジェクトの存在状況(an occurrence)であり、オブジェクトは、物理的オブジェクトである。
一実施形態では、特徴ベクトルは、オプションでオブジェクトである、ピクセルクラスタを表す数値的特徴のn次元ベクトルである。
一実施形態では、第1の特性は、第1のピクセルクラスタの3D座標位置であり、第2の特性は、第2のピクセルクラスタの3D座標位置であり、第1のピクセルクラスタの3D座標位置と第2のピクセルクラスタの3D座標位置との間の距離が距離閾値より小さいとき、第1の特性は、第2の特性に類似している。
一実施形態では、距離を決定することは、ユークリッド距離を決定することを備える。
一実施形態では、距離閾値は、3メートルである。
一実施形態では、第1のピクセルクラスタが、第1のオブジェクトインスタンスに対応し、第2のピクセルクラスタが、第2のオブジェクトインスタンスに対応し、第1の特性は、第1のオブジェクトインスタンスに関連付けられた第1のクラスラベルであり、第2の特性は、第2のオブジェクトインスタンスに関連付けられた第2のクラスラベルであり、ここにおいて、第1のクラスラベルが第2のクラスラベルと同じである(即ち、第1のオブジェクトインスタンスと第2のオブジェクトインスタンスとが、オブジェクトの同じクラスに関連する)とき、第1の特性は、第2の特性に類似している。
一実施形態では、第1のピクセルクラスタが、第1のオブジェクトインスタンスに対応し、第2のピクセルクラスタが、第2のオブジェクトインスタンスに対応し、それぞれ、第1の特性は、第1のオブジェクトインスタンスに関連付けられた第1のクラスラベルであり、第2の特性は、第2のオブジェクトインスタンスに関連付けられた第2のクラスラベルであり、ここにおいて、第1のクラスラベルと第2のクラスラベルとが、第1のクラスのグループに属するとき、第1の特性は、第2の特性に類似している(例えば、第1のクラスのグループが{「椅子」、「テーブル」}を備えるとき、第1の特性「椅子」は、第2の特性「テーブル」に類似している)。
一実施形態では、画像は、複数のピクセルを備え、画像を識別する情報は、複数のピクセルにおける各ピクセルについてのRGB値を備える。
一実施形態では、方法は、カメラを使用して、オプションでカメラを使用して写真を撮影することによって、第1のシーンの画像を識別する情報をキャプチャすることを更に備える。
一実施形態では、画像は、シーンの視覚的な表現であり、シーンの画像は、複数のピクセルに分割され、ここにおいて、画像を識別する情報は、各ピクセルに関連付けられた値(例えば、RGB値)を備え、ここで、各ピクセルについての値は、カメラを使用してシーンのピクチャを撮影し、カメラ内のセンサを読み取ることによって値を取得することによって生成される。
一実施形態では、方法は、類似性の尺度が閾値より小さいと決定することに応答して、第1のシーンの位置が、第2のシーンに関連付けられた位置であるというインジケーションを出力することを更に備える。
一実施形態では、方法は、ロボットによって行われ、方法は、屋内ナビゲーションのために現在の位置のインジケーションを使用することを更に備える。
一実施形態では、グラフ表現は、複数のノードと、オプションで、これらノードを接続している複数のエッジと、を備える。
一実施形態では、グラフのベクトル表現は、数値を使用してグラフの特徴(即ち、ノード、エッジ、及びノード間の空間的関係)を表す数値ベクトルである。
一実施形態では、グラフは、シーンのグラフ表現である。
一実施形態では、グラフのベクトル表現と、参照ベクトル表現との間の類似性の尺度は、2つのベクトル間のユークリッド距離である。
一実施形態では、方法は、参照セットから参照グラフ表現を取得することを更に備え、参照セットは、複数の他の参照グラフ表現を備える。
一実施形態では、方法は、グラフのベクトル表現と、参照セット内の各参照グラフ表現との間の類似性の尺度を計算することと、最も高い類似性を有するN個の参照グラフ表現をマッチとして選択することと、を更に備える。オプションで、ここにおいて、Nは、1又は5である。
一実施形態では、場所は、ロケーションである。
一実施形態では、グラフのベクトル表現は、グラフ埋め込みベクトルと同じである。
一実施形態では、画像は、複数のピクセルを備え、複数のピクセルは、第1のピクセルクラスタに関連付けられた第1のセットのピクセルと、第2のピクセルクラスタに関連付けられた第2のセットのピクセルと、を備え、特徴ベクトルのセットを生成することは、第1のセットのピクセルにおける第1のピクセルに関連付けられた第3の特徴ベクトルを生成することと、第1のセットのピクセルにおける第2のピクセルに関連付けられた第4の特徴ベクトルを生成することと、第3の特徴ベクトル及び第4の特徴ベクトルを集約することによって、第1の特徴ベクトルを生成することと、を備える。
一実施形態では、第1のピクセル及び第2のピクセルは、異なるピクセルである。
一実施形態では、第3の特徴ベクトル及び第4の特徴ベクトルを集約することは、第3の特徴ベクトルと第4の特徴ベクトルとを合計することを備える。
一実施形態では、グラフのベクトル表現を生成することは、第1のノードベクトルを生成することと、ここにおいて、第1のノードベクトルは、第1のノードに関連付けられており、第2のノードベクトルを生成することと、ここにおいて、第2のノードベクトルは、第2のノードに関連付けられており、第1のノードベクトルと第2のノードベクトルとの合計に基づいて、クエリグラフ表現を生成することと、を備える。
一実施形態では、シーンのグラフは、第1のノードに接続されたエッジを備えておらず、ここにおいて、第1のノードベクトルを生成することは、第1のノードベクトルを、第1の特徴ベクトルに等しく設定することを備える。
一実施形態では、グラフにおける第2のノードは、第1のエッジによって、グラフにおける第1のノードに接続されており、第1のノードベクトルを生成することは、第1のノードベクトルを、第1の特徴ベクトルに等しく設定することと、第1のノードベクトル及び第2のノードベクトルに基づいて、第2のノードと第1のノードとの間の第1のメッセージを生成することと、第1のノードベクトルの値及び第1のメッセージに基づいて、第1のノードベクトルを更新することと、を備える。
一実施形態では、第1のメッセージは、フィギュラティブメッセージ(figurative message)であり、即ち、第1のメッセージは、値の行列である。
一実施形態では、第1のメッセージは、機械学習モデルを使用して生成される。
一実施形態では、第1のノードベクトルを、第1の特徴ベクトルに等しく設定することは、時間tについての第1のノードベクトルの値を設定し、ここにおいて、第1のノードベクトルを更新することは、時間t+1についての第1のノードベクトルの値を設定する。
一実施形態では、第2のノードと第1のノードとの間の第1のメッセージを生成することは、第1の機械学習モデルを使用して、第1のノードベクトル及び第2のノードベクトルに基づいて、第1のセットのゲーティング重みを生成することと、第1のゲーティングされたベクトルを形成するために、第1のノードベクトルと第1のセットのゲーティング重みとを乗算することによって、第1のノードベクトルをゲーティングすることと、第2の機械学習モデルを使用して、第1のノードベクトル及び第2のノードベクトルに基づいて、第2のセットのゲーティング重みを生成することと、第2のゲーティングされたベクトルを形成するために、第2のノードベクトルと第2のセットのゲーティング重みとを乗算することによって、第2のノードベクトルをゲーティングすることと、第1のゲーティングされたベクトルと第2のゲーティングされたベクトルとの合計に基づいて、第1のメッセージを生成することと、を備える。一実施形態では、乗算は、要素ごとの乗算(element-wise multiplication)である。
一実施形態では、第1の機械学習モデル及び第2の機械学習モデルは、トレーニング可能である。
一実施形態では、方法は、第1のゲーティングされたベクトル及び第2のゲーティングされたベクトルをシグモイド関数に通すことと、第1のメッセージを生成するために、結果を合計することと、を更に備える。
一実施形態では、第1の機械学習モデル及び第2の機械学習モデルは、単一の線形層を備える。
一実施形態では、シーンのグラフは、第3のピクセルクラスタを表す第3のノードを更に備え、第3のノードは、第3の特徴ベクトルに関連付けられており、第3のノードは、第2のエッジによって、第1のノードに接続されており、方法は、第3のノードベクトルを生成することと、第3のノードベクトルは、第3のノードに関連付けられており、第1の機械学習モデルを使用して、第1のノードベクトル及び第3のノードベクトルに基づいて、第3のセットのゲーティング重みを生成し、第3のゲーティングされたベクトルを形成するために、第1のノードベクトルと第3のセットのゲーティング重みとを乗算することによって、第1のノードベクトルをゲーティングし、第2の機械学習モデルを使用して、第1のノードベクトル及び第3のノードベクトルに基づいて、第4のセットのゲーティング重みを生成し、第4のゲーティングされたベクトルを形成するために、第3のノードベクトルと第4のセットのゲーティング重みとを乗算することによって、第3のノードベクトルをゲーティングし、第3のゲーティングされたベクトルと第4のゲーティングされたベクトルとの合計に基づいて、第2のメッセージを生成する、ことによって、第1のノードベクトル及び第3のノードベクトルに基づいて、第3のノードと第1のノードとの間の第2のメッセージを生成することと、を更に備え、ここにおいて、第1のノードベクトルの値及び第1のメッセージに基づいて、第1のノードベクトルを更新することは、第1のノードベクトルの値及び第1のメッセージと第2のメッセージとの合計に基づいて、第1のノードベクトルを更新することを備える。
一実施形態では、第1のノードベクトルの値及び第1のメッセージに基づいて、第1のノードベクトルを更新することは、第3の機械学習モデルを使用して、第1のノードベクトル及び第1のメッセージに基づいて、第5のセットのゲーティング重みを生成することと、第5のゲーティングされたベクトルを形成するために、第1のノードベクトルと第5のセットのゲーティング重みとを乗算することによって、第1のノードベクトルをゲーティングすることと、第4の機械学習モデルを使用して、第1のノードベクトル及び第1のメッセージに基づいて、第6のセットのゲーティング重みを生成することと、第6のゲーティングされたベクトルを形成するために、第1のメッセージと第6のセットのゲーティング重みとを乗算することによって、第1のメッセージをゲーティングすることと、第5のゲーティングされたベクトルと第6のゲーティングされたベクトルとの合計に基づいて、第1のノードベクトルを更新することと、を備える。
一実施形態では、第3の機械学習モデル及び第4の機械学習モデルは、単一の線形層を備える。
一実施形態では、第1のノードベクトルと第2のノードベクトルとの合計に基づいて、クエリグラフ表現を生成することは、第5の機械学習モデルを使用して、第1のノードベクトルに基づいて、第7のセットのゲーティング重みを生成することと、第6の機械学習モデルを使用して、第1のノードベクトルに基づいて、第1のノードベクトルの第1のノード表現を生成することと、最終的な第1のノード表現を取得するために、第7のセットのゲーティング重みと第1のノードベクトルの第1のノード表現とを乗算することと、第5の機械学習モデルを使用して、第2のノードベクトルに基づいて、第8のセットのゲーティング重みを生成することと、第6の機械学習モデルを使用して、第2のノードベクトルに基づいて、第2のノードベクトルの第2のノード表現を生成することと、最終的な第2のノード表現を取得するために、第8のセットのゲーティング重みと第2のノードベクトルの第2のノード表現とを乗算することと、最終的な第1のノード表現と最終的な第2のノード表現とを合計することによって、クエリグラフ表現を生成することと、を備える。一実施形態では、第5の機械学習モデル及び第6の機械学習モデルは、単一の線形層を備える。
一実施形態では、第5の機械学習モデル及び第6の機械学習モデルは、最終的な第1のノード表現及び最終的な第2のノード表現が、単一列を有する行列をそれぞれ備えるように、行カーネル(row kernels)を実装する。一実施形態では、クエリグラフ表現を生成することは、最終的な第1のノード表現と最終的な第2のノード表現との合計を決定することと、クエリグラフ表現を形成するために、合計の次元数を削減することと、を備える。
一実施形態では、合計の次元数を削減することは、主成分分析(Principal Component Analysis)を使用することを備える。
一実施形態では、主成分分析は、第7の機械学習モデルを使用して実装される。
一実施形態では、第1のノードベクトルを生成することは、第1のノードベクトルを更新することに応答して、時間値を増分することと、時間値が時間閾値未満であるかどうかを決定することと、時間値が時間閾値未満であると決定することに応答して、第1のノードベクトル及び第2のノードベクトルに基づいて、第2のノードと第1のノードとの間の第1のメッセージを再生成することと、第1のノードベクトルの値及び第1のメッセージに基づいて、第1のノードベクトルを更新することと、を更に備える。
一実施形態では、方法は、時間値が時間閾値に等しいと決定することに応答して、第1のノードベクトルと第2のノードベクトルとの合計に基づいて、クエリグラフ表現を生成することを更に備える。
一実施形態では、画像は、正距円筒画像である。
一実施形態では、正距円筒画像は、水平方向に360度及び垂直方向に180度に及ぶ画像である。
一実施形態では、正距円筒画像は、入力画像の正距円筒投影(equirectangular projection)である。
一実施形態では、入力画像は、全方位画像である。
一実施形態では、全方位画像は、全方位カメラから取得される。
一実施形態では、画像を識別する情報における複数のピクセルクラスタを識別することは、画像に対してインスタンスセグメンテーションを行うことによって、第1の検出のセットを生成することと、第1の検出のセットは、第1のピクセルクラスタを備え、回転させた画像を形成するために、画像を回転させることと、回転させた画像に対してインスタンスセグメンテーションを行うことによって、第2の検出のセットを生成することと、第2の検出のセットは、第2のピクセルクラスタを備え、複数のピクセルクラスタを形成するために、第1の検出のセットと第2の検出のセットとを組み合わせることと、を備える。
一実施形態では、複数のピクセルクラスタを識別することは、複数のオブジェクトインスタンスを識別することを備え、第1のピクセルクラスタは、第1のオブジェクトインスタンスに対応し、ここにおいて、第1の検出のセットは、第1のオブジェクトインスタンス(及び同等に第1のピクセルクラスタ)に関連付けられた第1のオブジェクトネススコア(first objectness score)を備え、第1の検出のセットを組み合わせることは、第1のオブジェクトネススコアがオブジェクトネス閾値より大きいかどうかを決定することと、第1のオブジェクトネススコアがオブジェクトネス閾値より大きいと決定することに応答して、第1のピクセルクラスタを複数のピクセルクラスタに追加することと、を備える。
一実施形態では、複数のピクセルクラスタを識別することは、複数のオブジェクトインスタンスを識別することを備え、第1のピクセルクラスタは、第1のオブジェクトインスタンスであり、第1の検出のセットは、第1のオブジェクト境界ボックスと、第1のオブジェクトインスタンスに関連付けられた第1のオブジェクトネススコアと、を備え、第2の検出のセットは、第2のオブジェクト境界ボックスと、第2のオブジェクトインスタンスに関連付けられた第2のオブジェクトネススコアと、を備え、第1の検出のセットと第2の検出のセットとを組み合わせることは、第1の検出のセットと第2の検出のセットとを備える組み合わされたリストを形成することと、第2のオブジェクトネススコアを第1のオブジェクトネススコアと比較することと、第1のオブジェクトネススコアが第2のオブジェクトネススコアより高いと決定することに応答して、第1のオブジェクト境界ボックスを最終リストに追加することと、第1のオブジェクト境界ボックス及び第2のオブジェクト境界ボックスに基づいて、IoU(Intersection Over Union)値を生成することと、IoU値がIoU閾値より大きいと決定することに応答して、組み合わされたリストから第2のオブジェクトインスタンスを除去することと、を備える。
一実施形態では、画像は、垂直軸を中心に(即ち、水平面において)180度回転される。
一実施形態では、第1の特徴ベクトルは、局所集約記述子のベクトル(Vector of Locally Aggregated Descriptors)を使用して表される。
一実施形態では、特徴ベクトルのセットを生成することは、機械学習モデルを使用して、第1のシーンの画像を識別する情報に基づいて、第1の特徴ベクトルを生成することを備える。
一実施形態では、機械学習モデルは、特徴抽出層とVLAD層とを備え、ここにおいて、特徴抽出層は、画像から特徴を抽出するように構成されており、VLAD層は、各特徴を局所集約記述子のベクトルとして表すように構成されている。
一実施形態では、特徴抽出層は、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)を備える。
一実施形態では、局所集約記述子のベクトルにおける第1のエントリが、クラスタ中心と、特徴抽出層によって抽出された第1の特徴との間のベクトル差分(即ち、残差)を示し、ここにおいて、クラスタ中心は、特徴空間におけるある点を表す。
一実施形態では、特徴空間は、特徴の各可能な値を備える。
一実施形態では、クラスタ中心は、トレーニング可能である。
一実施形態では、第1のピクセルクラスタに関連付けられた第1の特性が、第2のピクセルクラスタに関連付けられた第2の特性に類似していると決定することは、第1のピクセルクラスタに関連付けられた第1のセットの3次元座標を決定することと、第2のピクセルクラスタに関連付けられた第2のセットの3次元座標を決定することと、第1のセットの3次元座標と第2のセットの3次元座標との間の距離を計算することと、距離が距離閾値より小さいとき、第1の特性が第2の特性に類似していると決定することと、を備える。
一実施形態では、距離は、ユークリッド距離である。
一実施形態では、第1のピクセルクラスタに関連付けられた第1のセットの3次元座標を決定することは、第1のピクセルクラスタの深度を推定することと、深度及び画像を識別する情報に基づいて、第1のセットの3次元座標を生成することと、を備える。
一実施形態では、第1のピクセルクラスタは、第1のオブジェクトインスタンスに関連付けられており、深度を推定することは、1)機械学習モデルを使用して深度を生成すること、2)センサから第1のオブジェクトインスタンスの深度測定値を取得し、深度測定値に等しい深度を割り当てること、又は3)画像を識別する情報から深度を取得すること、ここにおいて、画像を識別する情報は、各ピクセルに関連付けられた深度測定値を備える、のうちの少なくとも1つを備える。
第2の態様によれば、プロセッサによって実行されると、プロセッサに上記方法を実行させるコンピュータプログラム命令を備える非一時的なコンピュータ可読媒体が提供される。
第3の態様によれば、上記方法を行う/実装するように構成された装置が提供される。
第4の態様によれば、場所認識のためにグラフマッチングネットワークをトレーニングするためのコンピュータ実装方法が提供され、ここにおいて、グラフマッチングネットワークは、機械学習モデルを備え、コンピュータ実装方法は、トレーニングトリプレットを取得することと、トレーニングトリプレットは、クエリグラフと、ポジティブグラフと、ネガティブグラフと、を備え、機械学習モデルを使用して、クエリグラフのクエリベクトル表現を生成することと、機械学習モデルを使用して、ポジティブグラフのポジティブベクトル表現を生成することと、機械学習モデルを使用して、ネガティブグラフのネガティブベクトル表現を生成することと、クエリベクトル表現とポジティブベクトル表現との間の第1の類似性を決定することと、クエリベクトル表現とネガティブベクトル表現との間の第2の類似性を決定することと、第1の類似性及び第2の類似性に基づいて、トリプレット損失(triplet loss)を生成することと、トリプレット損失に基づいて、機械学習モデルをトレーニングすることと、を備える。
一実施形態では、クエリグラフは、第1のシーンに関連付けられており、ポジティブグラフは、第2のシーンに関連付けられており、ネガティブグラフは、第3のシーンに関連付けられており、ここにおいて、第1のシーン及び第2のシーンは、同じ場所に関連付けられており、第1のシーン及び第3のシーンは、異なる場所に関連付けられている。
一実施形態では、トリプレット損失に基づいて、機械学習モデルをトレーニングすることは、誤差逆伝播法及び勾配降下法を使用して、機械学習モデルの重みを決定することを備える。
一実施形態では、トリプレット損失は、下記に従って計算される:
第5の態様によれば、場所認識のためにグラフマッチングネットワークをトレーニングする上記方法を行う/実装するように構成された装置が提供される。
第6の態様によれば、プロセッサによって実行されると、プロセッサに、場所認識のためにグラフマッチングネットワークをトレーニングする方法を実行させるコンピュータプログラム命令を備える非一時的なコンピュータ可読媒体が提供される。
第7の態様によれば、場所認識のための装置が提供され、装置は、第1のシーンの画像を識別する情報を取得することと、画像を識別する情報における複数のピクセルクラスタを識別することと、複数のピクセルクラスタは、第1のピクセルクラスタと、第2のピクセルクラスタと、を備え、画像を識別する情報から特徴ベクトルのセットを生成することと、特徴ベクトルのセットは、第1のピクセルクラスタに関連付けられた第1の特徴ベクトルと、第2のピクセルクラスタに関連付けられた第2の特徴ベクトルと、を備え、シーンのグラフを生成することと、グラフは、第1のピクセルクラスタを表す第1のノードと、第1のノードは、第1の特徴ベクトルに関連付けられており、第2のピクセルクラスタを表す第2のノードと、第2のノードは、第2の特徴ベクトルに関連付けられている、を備え、第1のピクセルクラスタに関連付けられた第1の特性が、第2のピクセルクラスタに関連付けられた第2の特性に類似していると決定することに応答して、第1のノードと第2のノードとの間に第1のエッジを追加することと、グラフのベクトル表現を生成することと、グラフのベクトル表現と、参照ベクトル表現との間の類似性の尺度を計算することと、ここにおいて、参照ベクトル表現は、第2のシーンに関連付けられており、類似性の尺度が閾値より小さいと決定することに応答して、第1のシーンと第2のシーンとが、同じ場所に関連付けられていると決定することと、を行うように構成されている。
一実施形態では、画像は、複数のピクセルを備え、複数のピクセルは、第1のピクセルクラスタに関連付けられた第1のセットのピクセルと、第2のピクセルクラスタに関連付けられた第2のセットのピクセルと、を備え、装置は、特徴ベクトルのセットを生成するとき、第1のセットのピクセルにおける第1のピクセルに関連付けられた第3の特徴ベクトルを生成することと、第1のセットのピクセルにおける第2のピクセルに関連付けられた第4の特徴ベクトルを生成することと、第3の特徴ベクトル及び第4の特徴ベクトルを集約することによって、第1の特徴ベクトルを生成することと、を行うように更に構成されている。一実施形態では、装置は、グラフのベクトル表現を生成するとき、第1のノードベクトルを生成することと、ここにおいて、第1のノードベクトルは、第1のノードに関連付けられており、第2のノードベクトルを生成することと、ここにおいて、第2のノードベクトルは、第2のノードに関連付けられており、第1のノードベクトルと第2のノードベクトルとの合計に基づいて、クエリグラフ表現を生成することと、を行うように更に構成されている。
一実施形態では、グラフにおける第2のノードは、第1のエッジによって、グラフにおける第1のノードに接続されており、装置は、第1のノードベクトルを生成するとき、第1のノードベクトルを、第1の特徴ベクトルに等しく設定することと、第1のノードベクトル及び第2のノードベクトルに基づいて、第2のノードと第1のノードとの間の第1のメッセージを生成することと、第1のノードベクトルの値及び第1のメッセージに基づいて、第1のノードベクトルを更新することと、を行うように更に構成されている。
一実施形態では、装置は、第2のノードと第1のノードとの間の第1のメッセージを生成するとき、第1の機械学習モデルを使用して、第1のノードベクトル及び第2のノードベクトルに基づいて、第1のセットのゲーティング重みを生成することと、第1のゲーティングされたベクトルを形成するために、第1のノードベクトルと第1のセットのゲーティング重みとを乗算することによって、第1のノードベクトルをゲーティングすることと、第2の機械学習モデルを使用して、第1のノードベクトル及び第2のノードベクトルに基づいて、第2のセットのゲーティング重みを生成することと、第2のゲーティングされたベクトルを形成するために、第2のノードベクトルと第2のセットのゲーティング重みとを乗算することによって、第2のノードベクトルをゲーティングすることと、第1のゲーティングされたベクトルと第2のゲーティングされたベクトルとの合計に基づいて、第1のメッセージを生成することと、を行うように更に構成されている。
一実施形態では、シーンのグラフは、第3のピクセルクラスタを表す第3のノードを更に備え、第3のノードは、第3の特徴ベクトルに関連付けられており、第3のノードは、第2のエッジによって、第1のノードに接続されており、装置は、第3のノードベクトルを生成することと、第3のノードベクトルは、第3のノードに関連付けられており、第1の機械学習モデルを使用して、第1のノードベクトル及び第3のノードベクトルに基づいて、第3のセットのゲーティング重みを生成し、第3のゲーティングされたベクトルを形成するために、第1のノードベクトルと第3のセットのゲーティング重みとを乗算することによって、第1のノードベクトルをゲーティングし、第2の機械学習モデルを使用して、第1のノードベクトル及び第3のノードベクトルに基づいて、第4のセットのゲーティング重みを生成し、第4のゲーティングされたベクトルを形成するために、第3のノードベクトルと第4のセットのゲーティング重みとを乗算することによって、第3のノードベクトルをゲーティングし、第3のゲーティングされたベクトルと第4のゲーティングされたベクトルとの合計に基づいて、第2のメッセージを生成する、ことによって、第1のノードベクトル及び第3のノードベクトルに基づいて、第3のノードと第1のノードとの間の第2のメッセージを生成することと、を行うように更に構成されており、ここにおいて、第1のノードベクトルの値及び第1のメッセージに基づいて、第1のノードベクトルを更新することは、第1のノードベクトルの値及び第1のメッセージと第2のメッセージとの合計に基づいて、第1のノードベクトルを更新することを備える。
一実施形態では、装置は、第1のノードベクトルの値及び第1のメッセージに基づいて、第1のノードベクトルを更新するとき、第3の機械学習モデルを使用して、第1のノードベクトル及び第1のメッセージに基づいて、第5のセットのゲーティング重みを生成することと、第5のゲーティングされたベクトルを形成するために、第1のノードベクトルと第5のセットのゲーティング重みとを乗算することによって、第1のノードベクトルをゲーティングすることと、第4の機械学習モデルを使用して、第1のノードベクトル及び第1のメッセージに基づいて、第6のセットのゲーティング重みを生成することと、第6のゲーティングされたベクトルを形成するために、第1のメッセージと第6のセットのゲーティング重みとを乗算することによって、第1のメッセージをゲーティングすることと、第5のゲーティングされたベクトルと第6のゲーティングされたベクトルとの合計に基づいて、第1のノードベクトルを更新することと、を行うように更に構成されている。
一実施形態では、装置は、第1のノードベクトルと第2のノードベクトルとの合計に基づいて、クエリグラフ表現を生成するとき、第5の機械学習モデルを使用して、第1のノードベクトルに基づいて、第7のセットのゲーティング重みを生成することと、第6の機械学習モデルを使用して、第1のノードベクトルに基づいて、第1のノードベクトルの第1のノード表現を生成することと、最終的な第1のノード表現を取得するために、第7のセットのゲーティング重みと第1のノードベクトルの第1のノード表現とを乗算することと、第5の機械学習モデルを使用して、第2のノードベクトルに基づいて、第8のセットのゲーティング重みを生成することと、第6の機械学習モデルを使用して、第2のノードベクトルに基づいて、第2のノードベクトルの第2のノード表現を生成することと、最終的な第2のノード表現を取得するために、第8のセットのゲーティング重みと第2のノードベクトルの第2のノード表現とを乗算することと、最終的な第1のノード表現と最終的な第2のノード表現とを合計することによって、クエリグラフ表現を生成することと、を行うように更に構成されている。一実施形態では、第5の機械学習モデル及び第6の機械学習モデルは、最終的な第1のノード表現及び最終的な第2のノード表現が、単一列を有する行列をそれぞれ備えるように、行カーネルを実装する。
一実施形態では、装置は、クエリグラフ表現を生成するとき、最終的な第1のノード表現と最終的な第2のノード表現との合計を決定することと、クエリグラフ表現を形成するために、合計の次元数を削減することと、を行うように更に構成されている。
一実施形態では、装置は、第1のノードベクトルを生成するとき、第1のノードベクトルを更新することに応答して、時間値を増分することと、時間値が時間閾値未満であるかどうかを決定することと、時間値が時間閾値未満であると決定することに応答して、第1のノードベクトル及び第2のノードベクトルに基づいて、第2のノードと第1のノードとの間の第1のメッセージを再生成することと、第1のノードベクトルの値及び第1のメッセージに基づいて、第1のノードベクトルを更新することと、を行うように更に構成されている。
一実施形態では、画像は、正距円筒画像である。
一実施形態では、装置は、画像を識別する情報における複数のピクセルクラスタを識別するとき、画像に対してインスタンスセグメンテーションを行うことによって、第1の検出のセットを生成することと、第1の検出のセットは、第1のピクセルクラスタを備え、回転させた画像を形成するために、画像を回転させることと、回転させた画像に対してインスタンスセグメンテーションを行うことによって、第2の検出のセットを生成することと、第2の検出のセットは、第2のピクセルクラスタを備え、複数のピクセルクラスタを形成するために、第1の検出のセットと第2の検出のセットとを組み合わせることと、を行うように更に構成されている。
一実施形態では、第1の特徴ベクトルは、局所集約記述子のベクトルを使用して表される。
一実施形態では、装置は、第1のピクセルクラスタに関連付けられた第1の特性が、第2のピクセルクラスタに関連付けられた第2の特性に類似していると決定するとき、第1のピクセルクラスタに関連付けられた第1のセットの3次元座標を決定することと、第2のピクセルクラスタに関連付けられた第2のセットの3次元座標を決定することと、第1のセットの3次元座標と第2のセットの3次元座標との間の距離を計算することと、距離が距離閾値より小さいとき、第1の特性が第2の特性に類似していると決定することと、を行うように更に構成されている。
一実施形態では、装置は、第1のピクセルクラスタに関連付けられた第1のセットの3次元座標を決定するとき、第1のピクセルクラスタの深度を推定することと、深度及び画像を識別する情報に基づいて、第1のセットの3次元座標を生成することと、を行うように更に構成されている。
第8の態様によれば、場所認識のためにグラフマッチングネットワークをトレーニングするための装置が提供され、ここにおいて、グラフマッチングネットワークは、機械学習モデルを備え、装置は、トレーニングトリプレットを取得することと、トレーニングトリプレットは、クエリグラフと、ポジティブグラフと、ネガティブグラフと、を備え、機械学習モデルを使用して、クエリグラフのクエリベクトル表現を生成することと、機械学習モデルを使用して、ポジティブグラフのポジティブベクトル表現を生成することと、機械学習モデルを使用して、ネガティブグラフのネガティブベクトル表現を生成することと、クエリベクトル表現とポジティブベクトル表現との間の第1の類似性を決定することと、クエリベクトル表現とネガティブベクトル表現との間の第2の類似性を決定することと、第1の類似性及び第2の類似性に基づいて、トリプレット損失を生成することと、トリプレット損失に基づいて、機械学習モデルをトレーニングすることと、を行うように構成されている。
一実施形態では、装置は、トリプレット損失に基づいて、機械学習モデルをトレーニングするとき、誤差逆伝播法及び勾配降下法を使用して、機械学習モデルの重みを決定することを行うように更に構成されている。
一実施形態では、トリプレット損失は、下記に従って計算される:
第9の態様によれば、場所認識のためのコンピュータ実装方法が提供される。コンピュータ実装方法は、第1のシーンの画像を識別する情報を取得することと、画像を識別する情報における複数のオブジェクトインスタンスを識別することと、複数のオブジェクトインスタンスは、第1のオブジェクトインスタンスと、第2のオブジェクトインスタンスと、を備え、画像を識別する情報から特徴ベクトルのセットを生成することと、特徴ベクトルのセットは、第1のオブジェクトインスタンスに関連付けられた第1の特徴ベクトルと、第2のオブジェクトインスタンスに関連付けられた第2の特徴ベクトルと、を備え、シーンのグラフを生成することと、グラフは、第1のオブジェクトインスタンスを表す第1のノードと、第1のノードは、第1の特徴ベクトルに関連付けられており、第2のオブジェクトインスタンスを表す第2のノードと、第2のノードは、第2の特徴ベクトルに関連付けられている、を備え、第1のオブジェクトインスタンスと第2のオブジェクトインスタンスとの間の距離を決定し、距離が距離閾値より小さいと決定することに応答して、第1のノードと第2のノードとの間に、グラフに第1のエッジを追加することと、グラフのベクトル表現を生成することと、グラフのベクトル表現と、参照ベクトル表現との間の類似性の尺度を計算することと、ここにおいて、参照ベクトル表現は、第2のシーンに関連付けられており、類似性の尺度が第2の閾値より小さいと決定することに応答して、第1のシーンと第2のシーンとが、同じ場所に関連付けられていると決定することと、を備える。
第10の態様によれば、場所認識のための装置が提供され、装置は、第1のシーンの画像を識別する情報を取得することと、画像を識別する情報における複数のオブジェクトインスタンスを識別することと、複数のオブジェクトインスタンスは、第1のオブジェクトインスタンスと、第2のオブジェクトインスタンスと、を備え、画像を識別する情報から特徴ベクトルのセットを生成することと、特徴ベクトルのセットは、第1のオブジェクトインスタンスに関連付けられた第1の特徴ベクトルと、第2のオブジェクトインスタンスに関連付けられた第2の特徴ベクトルと、を備え、シーンのグラフを生成することと、グラフは、第1のオブジェクトインスタンスを表す第1のノードと、第1のノードは、第1の特徴ベクトルに関連付けられており、第2のオブジェクトインスタンスを表す第2のノードと、第2のノードは、第2の特徴ベクトルに関連付けられている、を備え、第1のオブジェクトインスタンスと第2のオブジェクトインスタンスとの間の距離を決定し、距離が距離閾値より小さいと決定することに応答して、第1のノードと第2のノードとの間に、グラフに第1のエッジを追加することと、グラフのベクトル表現を生成することと、グラフのベクトル表現と、参照ベクトル表現との間の類似性の尺度を計算することと、ここにおいて、参照ベクトル表現は、第2のシーンに関連付けられており、類似性の尺度が第2の閾値より小さいと決定することに応答して、第1のシーンと第2のシーンとが、同じ場所に関連付けられていると決定することと、を行うように構成されている。
導入として、本明細書で説明される方法の例となるユースケースが提示される。以下の例となるユースケースは、建物内でのロボットシステムの自律ナビゲーションに関連するが、本明細書で説明される方法は、異なる用途のために使用され得ることが強調される。例えば、本明細書で説明される視覚的な場所認識の方法は、自動車/ドローンの位置推定及び/又は制御のための車両位置特定(vehicle localization)のために使用され得る。
図1Aは、一例によるロボット100を示す。ロボット100は、ホロノミック駆動装置等の駆動手段101を備える。駆動手段101は、例えば、ロボット100が屋内環境を動き回るときに、ロボット100の動きを制御する。
ロボット100は、信号を送信及び受信するためにアンテナ103に通信可能に結合されたワイヤレス入力/出力ポート102を更に備える。入力/出力ポート102は、無線信号、好ましくは短距離無線通信信号を送信及び受信するように構成されている。
ロボット100は、不揮発性メモリ105に結合されたマイクロプロセッサ104を更に備える。マイクロプロセッサ104は、不揮発性メモリ105に記憶された命令を実行するように構成されている。これらの命令の実行は、ロボット100に、限定はしないが、本明細書で説明される視覚的な場所認識の方法を含む、本明細書で説明される方法のステップのうちのいくつかを行わせる。
例となるロボット100は、ロボットの環境の画像を取得するように構成されたカメラ106を更に備える。特に、カメラは、ロボットの局所環境のピクチャ(即ち、視覚的な表現)をキャプチャするように構成されている。一例では、ピクチャは、複数のピクセルを備え、各ピクセルは、データ値に関連付けられており、これは、ロボットの局所環境の視覚的な表現を生成するために使用され得る(例えば、赤緑青(Red-Green-Blue)の値、YUV-クロミナンス値及びルミナンス値等)。
図1Bは、視覚的な場所認識の例となるユースケースを示す。図1Bに示される例となる方法は、建物内をナビゲートしているロボット(例えば、図1Aのロボット)のコンテキストにおいて説明される。この例では、ナビゲーションの成功には、ロボットがその目的地までの経路を決定し得るように、ロボットが建物内でのその位置を位置特定することを必要とする。方法は、ステップ150において、ロボット100が位置情報の要求を受信することから開示する。例えば、要求は、そこに向かってナビゲートする行き先目的地を受信することに応答して、ロボット100自体によって生成され得る。
ステップ151において、ロボットは、その環境の視覚的な表現をキャプチャする。一例では、視覚的な表現は、ロボット100のカメラ106を使用して取得される。
ステップ152において、ロボット100は、ステップ151において取得された視覚的な表現(即ち、画像データ)を使用して、視覚的な場所認識を行う。視覚的な場所認識は、本明細書で説明される方法に従って行われる。視覚的な場所認識の出力は、ステップ151においてキャプチャされた画像の場所を識別する情報を含み得る。例えば、ロボット100は、屋内環境の画像を備える参照データセットを維持し得、ここで、各画像は、場所/ロケーションを識別する情報(例えば、「建物X、3階、部屋F」)に関連付けられている。一例では、本明細書で説明される視覚的な場所認識の方法は、ステップ151においてロボット100のカメラ106によってキャプチャされた画像に最も類似している、参照データセット内の画像を識別するように構成されている。参照セットからのマッチした画像に基づいて、ロボット100は、現在の位置を決定する。
ステップ153において、ロボット100は、要求元に応答を提供し、ここで、応答は、ステップ152において取得された位置情報を備える。一例では、要求元100もまた、このロボット(即ち、ロボット100によって実行されている異なるプロセス)である。更なる例では、ロボット100は、目的地行き先までのルートをプロットするために、ステップ153から受信された位置情報を使用する。その後、ロボット100は、目的地行き先まで(例えば、駆動手段101を使用して移動することによって)ナビゲートする。
図2は、一実施形態による視覚的な場所認識の方法を示す。方法は、ステップ201において、正距円筒画像を取得することによって開始する。
一例では、正距円筒画像を取得することは、画像データを取得し、正距円筒画像を生成すること(即ち、画像データの正距円筒投影)を備える。図5Aは、正距円筒画像の一例を示す。
画像データを取得することは、多くの形態をとり得る。一例では、画像データを取得することは、全方位画像を表す情報を受信することを備える。画像データは、画像における各ピクセルについてのRGB値を含む。当技術分野で知られているように、全方位画像は、ほぼ球全体をカバーするか、又は撮像装置を取り囲む水平面において少なくとも一周(at least a full circle)をカバーする画像である。オプションで、全方位画像を表す情報は、全方位カメラ等の全方位撮像装置によって生成される。全方位カメラの例は、限定はしないが、GoPro(登録商標)Max、Insta360及びRicoh(登録商標)Thetaを含む。
この例では、全方位画像を表す情報を取得した後、方法は、正距円筒投影を使用して、全方位画像を正距円筒画像に変換することを更に備える。当技術分野で知られているように、正距円筒画像は、水平方向に360度及び垂直方向に180度をカバーする(即ち、それについての画像データを含む)矩形画像(オプションで、幅対高さ比が2:1のもの)である。
別の例では、画像データを取得し、正距円筒画像を生成することは、(例えば、ピンホールカメラ等の透視カメラから)複数の画像を取得し、これら画像をつなぎ合わせることによって、正距円筒画像を生成することを備える。
別の例では、画像データは、魚眼カメラから取得される。当技術分野で知られているように、魚眼カメラは、超広角レンズを備える。
完全な正距円筒画像(即ち、画像の全角度範囲(例えば、水平方向に360度及び垂直方向に180度)に関連付けられた画像データ(例えば、ピクセル値)を有する画像)を生成することが有利であるが、(例えば、入力画像データが正距円筒画像の一部について欠落している)不完全な正距円筒画像が、ステップ201において生成され得ることが強調される。
別の例では、ステップ201は、(例えば、ストレージから、又は受信された要求の一部として)正距円筒画像を直接取得することを備える。
方法は、ステップ202に進む。ステップ202は、ステップ201において生成された正距円筒画像に対してインスタンスセグメンテーションを行うことを備える。
次に、図2の方法は、オブジェクトインスタンスが検出されて、画像内のピクセルをグループ化するために使用される、特定の例を使用して説明される。しかしながら、本発明は、そのように限定されるものではないことが、いかなる疑義も避けるために強調される。特に、より一般的な例では、入力画像内のピクセルは、ピクセルのクラスタ(即ち、換言すれば、ピクセルクラスタ)を形成するために、共にグループ化される。一例では、ピクセルクラスタは、オブジェクトインスタンスを表す。代替の例では、画像内のピクセルは、人間によって一般に理解されるであろう用語としてのオブジェクト(即ち、見て触れることができる物質)に関連付けられていること以外の基準を使用して、共にグループ化される。
以下で説明される特定の例では、インスタンスセグメンテーションを行うことは、画像内のオブジェクトのインスタンスを識別し、各識別されたオブジェクトインスタンスに関連付けられている、正距円筒画像のピクセルを識別することを備える。以下でより詳細に説明されるように、画像セグメンテーションコンポーネントによって識別されるオブジェクトのクラス(即ち、タイプ)は、「本棚」、「椅子」、「ドア」、「テーブル」等を含み得る。図5Bは、一実施形態に従って生成されたインスタンスセグメンテーションの視覚的な表現を示す。
一例では、インスタンスセグメンテーションは、インスタンスセグメンテーションコンポーネントを使用して行われる。インスタンスセグメンテーションコンポーネントは、画像を識別する情報(例えば、RGB値)を受信することと、検出されたオブジェクトインスタンスに関連付けられたオブジェクトマスク(即ち、入力画像内のどのピクセルが、識別されたオブジェクトインスタンスに対応するかのインジケーション)に加えて、入力画像内で検出されたオブジェクトの各インスタンスを識別する情報を出力することと、を行うように構成されている。
オプションで、インスタンスセグメンテーションコンポーネントは、機械学習モデルを使用して、オブジェクトマスク及び各オブジェクトインスタンスを識別する情報を生成するように構成されている。一例では、入力画像は、正距円筒画像である。このケースでは、機械学習モデルは、オブジェクトインスタンス及びそれらの関連付けられたオブジェクトマスクを検出するために、正距円筒画像に基づいてトレーニングされる。
別の例では、インスタンスセグメンテーションは、参照により本明細書に組み込まれる「K. He, G. Gkioxari, P. Dolla’r and R. Girshick, “Mask R-CNN,” 2017 IEEE International Conference on Computer Vision (ICCV), 2017, pp. 2980-2988, doi: 10.1109/ICCV.2017.322」に記載されている「Mask R-CNN」に従って行われる。
以下の例では「Mask R-CNN」が詳細に説明されるが、いかなる疑義も避けるために、インスタンスレベルセグメンテーションへの他のアプローチが代わりに使用され得ることが強調される。例えば、参照により本明細書に組み込まれる「Alejandro Newell, Zhiao Huang, & Jia Deng. (2017). Associative Embedding: End-to-End Learning for Joint Detection and Grouping, https://arxiv.org/abs/1611.05424」に記載されている「連想埋め込み(Associate Embedding)」が、ピクセルを異なるインスタンスにクラスタ化するために代わりに使用され得る。インスタンスレベルセグメンテーションのために使用され得る別の例となるアプローチが、参照により本明細書に組み込まれる「Bert De Brabandere, Davy Neven, & Luc Van Gool. (2017). Semantic Instance Segmentation with a Discriminative Loss Function, https://arxiv.org/abs/1708.02551」に記載されている「識別損失(Discriminate Loss)」を含む。
当技術分野で知られているように、画像は、インスタンスレベルセグメンテーション又はセマンティックセグメンテーションを使用してセグメント化され得る。簡潔に説明すると、セマンティックセグメンテーションは、全てのピクセルをクラスラベル(例えば、「テーブル」)に関連付ける。対照的に、インスタンスセグメンテーションは、同じクラスの複数のオブジェクトを、別個の個々のオブジェクト(例えば、第1の「テーブル」、第2の「テーブル」等)として扱う。インスタンスセグメンテーションは、シーンにおけるジオメトリック情報(即ち、オブジェクトが同じクラスのものであり得る場合でも、オブジェクト間の関係)を適正にキャプチャするために、本明細書の方法において使用される。
簡潔に説明すると、「Mask R-CNN」は、画像の表現を入力としてとるように構成されており且つオブジェクトを識別し、各候補オブジェクトについて、クラスラベル、オブジェクト境界ボックスを識別する情報、及びオブジェクトマスクを生成するように構成されている、領域ベースの畳み込みニューラルネットワーク(CNN)を使用する技法である。
当技術分野で知られているように、オブジェクトマスクは、オブジェクトの空間レイアウトを識別し、画像(又は、その一部)におけるどのピクセル(例えば、オブジェクト境界ボックス内のどのピクセル)が、識別されたオブジェクトに関連付けられているかを識別する情報を備える。
本明細書で開示される例に従ってトレーニングされた「Mask R-CNN」によって識別されるオブジェクトの例となるクラスラベルは、限定はしないが、「梁」、「ボード」、「本棚」、「天井」、「椅子」、「扉」、「床」、「テーブル」、「壁」、「窓」及び「不明」を含む。
図3は、一例による「Mask R-CNN」を使用したインスタンスセグメンテーションの実装形態を示す。ステップ301において、候補オブジェクト境界ボックス(「関心領域(Regions of Interest)」とも呼ばれる)と、関連付けられたオブジェクトネススコアとが生成される。
「Mask R-CNN」は、2つの段階で構成されている。第1段階(ステップ301)は、候補オブジェクト境界ボックス(関心領域とも呼ばれる)を提案するように構成された領域提案ネットワーク(RPN:Region Proposal Network)である。領域提案ネットワーク(RPN)は、完全畳み込みネットワークを使用して実装され、画像を入力としてとり、出力として、候補オブジェクト境界ボックス及び関連付けられたオブジェクトネス信頼スコア(即ち、候補オブジェクト境界ボックスが、背景ではなくオブジェクトクラスのセットに属しているという信頼性の尺度)を生成する。領域提案ネットワーク(RPN)の実装形態は、参照により本明細書に組み込まれる「S. Ren, K. He, R. Girshick, and J. Sun. Faster R-CNN: Towards real-time object detection with region proposal networks. In NIPS, 2015」に記載されている。
ステップ302において、クラスラベルが、各関心領域(RoI)について生成される。ステップ303において、オブジェクトマスクが、各関心領域(RoI)について生成される。
上記の2段階アナロジーを使用すると、第2段階は、各識別された関心領域(RoI)について、クラスラベル及び境界ボックスオフセットを識別することを備える。第2段階は、各関心領域(RoI)についてのオブジェクトマスクを並行して生成することを更に備える。
「Mask R-CNN」は、関心領域(RoI)と特徴マップとの間の位置ずれ(misalignments)を最小限にするような方法で、各候補オブジェクト境界ボックスから特徴を抽出するために、「RoIAlign」層を使用する。「RoIAlign」層の実装形態が、参照により本明細書に組み込まれる「Mask R-CNN, 2017 IEEE International Conference on Computer Vision (ICCV), 2017, pp. 2980-2988, doi: 10.1109/ICCV.2017.322」において提供されている。
「Mask R-CNN」の第2段階は、「RoIAlign」を使用して、各候補オブジェクト境界ボックスに関連付けられた画像データから特徴を抽出し、抽出された特徴に対して分類及びオブジェクト境界ボックス回帰(classification and object bounding box regression)を行うことを備える。分類及び境界ボックス回帰の実装形態が、同じく参照により本明細書に組み込まれる「R. Girshick, “Fast R-CNN,” 2015 IEEE International Conference on Computer Vision (ICCV), 2015, pp. 1440-1448, doi: 10.1109/ICCV.2015.169」を参照する「Mask R-CNN, 2017 IEEE International Conference on Computer Vision (ICCV), 2017, pp. 2980-2988, doi: 10.1109/ICCV.2017.322」において提供されている。
分類及びオブジェクト境界ボックス回帰と並行して、「Mask R-CNN」の第2段階はまた、「RoIAlign」層の出力に基づいて、各識別された関心領域(RoI)についてオブジェクトマスクを予測する(即ち、ステップ303)。一実施形態では、「Mask R-CNN」は、完全畳み込みネットワークを使用して、各関心領域(RoI)についてオブジェクトマスクを生成する。当技術分野で知られているように、完全畳み込みネットワークは、(プーリングに加えて)畳み込み及び逆畳み込みのみを行う(人工)ニューラルネットワークを含む。換言すれば、完全畳み込みネットワークは、畳み込みニューラルネットワークにおいて見られるような、いかなる全結合層も含まない。各関心領域(RoI)について生成されたオブジェクトマスクは、オブジェクトのインスタンスに関連付けられている、画像のピクセルを識別する。
一例では、完全畳み込みネットワークは、同じく参照により本明細書に組み込まれる「J. Long, E. Shelhamer, and T. Darrell. Fully convolutional networks for semantic segmentation. In CVPR, 2015」を参照する「Mask R-CNN」に記載されているように実装される。
様々な事前トレーニングされたモデルが「Mask R-CNN」のために存在する。しかしながら、これらのモデルは、平面画像を備えるデータセットでトレーニングされている(例えば、「Tsung-Yi Lin, Michael Maire, Serge Belongie, James Hays,Pietro Perona, Deva Ramanan, Piotr Dollar,´ and C. Lawrence Zitnick. Microsoft coco: Common objects in context. In ECCV, pages 740-755, 2014」に記載されている「COCO」データセットに基づいてトレーニングされている)。平面画像でトレーニングされた機械学習モデルを使用することは、正距円筒画像について不安定なセグメンテーション結果を生じることが分かった。
一例では、「Mask R-CNN」は、正距円筒画像を備えるトレーニングセットを使用して、画像セグメンテーションのためにトレーニングされる。この目的のための例となるトレーニングセットが、参照により本明細書に組み込まれる「Iro Armeni, Sasha Sax, Amir R. Zamir, and Silvio Savarese. (2017). Joint 2D-3D-Semantic Data for Indoor Scene Understanding」に記載されている「Stanford-2D3DS」データセットの少なくとも一部を備える。
「Stanford-2D3DS」データセットは、正距円筒画像と、関連付けられた意味的にセグメント化された画像と、を備える。「Stanford-2D3DS」データセットは、13個のオブジェクトクラスを使用し、それらは、「天井」、「床」、「壁」、「梁」、「柱」、「窓」、「扉」、「テーブル」、「椅子」、「ソファ」、「本棚」、「ボード」及び「クラッタ(clutter)」(「不明」とも呼ばれる)である。その結果、「Stanford-2D3DS」を使用してトレーニングされた機械学習モデルは、オブジェクトの13個のクラスを検出することが可能である。とはいえ、いかなる疑義も避けるために、異なるクラスを有する異なるデータセットが、機械学習モデルをトレーニングするために使用され得ることが強調される。「Mask R-CNN」をトレーニングする一例が、参照により本明細書に組み込まれる「Mask R-CNN, 2017 IEEE International Conference on Computer Vision (ICCV), 2017, pp. 2980-2988, doi: 10.1109/ICCV.2017.322」に記載されている。
ステップ304において、検出のセットが生成される。一例では、検出のセットは、各識別されたオブジェクトインスタンスについてのクラスラベルと、関連付けられたオブジェクトマスクと、関連付けられたオブジェクトネススコアと、関連付けられたオブジェクト境界ボックスと、を備える。
上記を要約すると、「Mask R-CNN」は、入力として画像を識別する情報(例えば、RGBピクセル値)を受け取るように構成されており、且つ関心領域(RoI)を識別する候補オブジェクト境界ボックスと、検出されたオブジェクトインスタンスが属するクラスを識別するクラスラベルと、識別されたオブジェクトインスタンスに関連付けられている、入力画像のピクセルを識別するオブジェクトマスクと、候補境界ボックスに関連付けられたオブジェクトネス信頼スコアと、を出力するように構成されている。
上述されたように、全方位画像は、水平面の周囲360度に及ぶ。しかしながら、全方位画像の正距円筒投影は、(例えば、Y緯度軸に沿って、即ち、換言すれば、正距円筒画像の垂直エッジにおいて)シーンにおける不連続性(discontinuity)を生じる。この不連続性は、インスタンスセグメンテーションの精度を低減し、いくつかのオブジェクトインスタンスが検出されないことをもたらし得る。
この点を踏まえ、正距円筒画像をセグメント化するときに、この不連続性の影響を低減させるアプローチが、以下に説明される。以下の例は、「Mask R-CNN」の出力を使用して提示されるが、以下のアプローチは、出力が候補オブジェクト境界ボックス及び関連付けられたオブジェクトネス信頼スコアを備えるという前提で、任意の画像セグメンテーション技法の出力と共に使用され得ることが理解されよう。
図4は、一例による検出のセットを生成するための方法を示す。一例では、インスタンスセグメンテーションを行うことは、2つの検出のセットを生成することを備える。検出のセットは、関心領域(RoI)を識別するオブジェクト境界ボックスと、オブジェクト境界ボックスに関連付けられたオブジェクトネス信頼スコアと、を備える。検出のセットはまた、検出されたオブジェクトインスタンスが属するクラスを識別するクラスラベルと、識別されたオブジェクトインスタンスに関連付けられている、入力画像のピクセルを識別するオブジェクトマスクと、を備える。
ステップ401は、入力画像の「元の(original)」正距円筒投影に対してインスタンスセグメンテーションを行うことによって、第1の検出のセットを生成することを備える。
ステップ402において、入力画像は、垂直軸を中心に回転される。回転に続いて、ステップ403において、「元の」正距円筒投影を回転させたバージョンに基づいて、第2の検出のセットが生成される。一例では、「元の」正距円筒投影は、元の正距円筒投影を回転させたバージョンを生成するために、垂直軸を中心に(即ち、水平面において)180度回転される。一般に、「元の」投影でのオブジェクトにおける不連続性は、回転させたバージョンでは生じないであろうという前提で、他の角度での回転もまた可能である。
第1のセットの投影及び第2のセットの投影は、最終的な検出のセットを生成するために比較される。ステップ404において、最終的な検出のセットが、NMS(Non-Maximum Suppression)を使用して、第1の検出のセット及び第2の検出のセットをフィルタリングすることによって生成される。
当技術分野で知られているように、NMS(Non-Maximum Suppression)は、オブジェクト検出器の予測をフィルタリングするための技法である。NMS(Non-Maximum Suppression)を使用して検出をフィルタリングすることは、第1の検出のセット及び第2の検出のセットからオブジェクト境界ボックスの組み合わされたリストを生成することを備える。次に、最も高いオブジェクトネス信頼スコアに関連付けられている、組み合わされたリストからのオブジェクト境界ボックスが選択され、オブジェクト境界ボックスの最終リストに追加される。方法は、選択されたオブジェクト境界ボックス及び組み合わされたリスト中の各残りのオブジェクト境界ボックスについてのIoU(Intersection Over Union)値を計算することを更に備える。一例では、IoU(Intersection Over Union)値は、比較されている各オブジェクト境界ボックスに共通のピクセルの数を決定し、これを比較されているオブジェクト境界ボックスの和集合によってカバーされるピクセルの数で除算することによって計算される。IoU(Intersection Over Union)が、第1の閾値より大きい場合には、比較に使用されている(組み合わされたリストからの)オブジェクト境界ボックスは、組み合わされたリストから除去される。方法は、組み合わされたリストから、最も高いオブジェクトネス信頼スコアに関連付けられている新しいオブジェクト境界ボックスを選択し、この候補を最終リストに追加し、組み合わされたリストから、第1の閾値より大きいIoU(Intersection Over Union)値を有する残りのオブジェクト境界ボックスを除去することによって繰り返す。第1の閾値は、IoU(Intersection Over Union)閾値とも呼ばれる。一実施形態では、IoU閾値は、0.5に設定される。
オプションで、第1の検出のセット及び第2の検出のセットは、第2の閾値よりも大きいオブジェクトネス信頼スコアに関連付けられたオブジェクト境界ボックスのみが、NMS(Non-Maximum Suppression)による後続のフィルタリングのために、組み合わされたリストに追加されるように、オブジェクト境界ボックスの組み合わされたリストを形成する前にフィルタリングされる。一例では、第2の閾値(オブジェクトネス信頼閾値とも呼ばれる)は、0.7以上のオブジェクトネス信頼スコアである。
最終リスト中のオブジェクト境界ボックスは、オブジェクトマスク及びクラスラベルにそれぞれ関連付けられている。これらは、第1/第2の検出のセットにおけるオブジェクト境界ボックスに関連付けられたものと同じオブジェクトマスク及びクラスラベルである。
ステップ405は、最終的な検出のセットを出力することを備える。
次いで、インスタンスセグメンテーションの出力(即ち、ステップ202の出力)が、検出の最終リストに基づいて生成される。リマインダとして、インスタンスセグメンテーションの出力は、入力画像内で検出された各オブジェクトインスタンスを識別する出力情報、及び検出されたオブジェクトインスタンスに関連付けられたオブジェクトマスク(即ち、入力画像内のどのピクセルが、識別されたオブジェクトインスタンスに対応するかのインジケーション)を備える。
別の例では、ステップ202におけるインスタンスセグメンテーションの出力は、第1の検出のセットのみに基づいて(即ち、図4に関連して説明されるような、「元の」画像を回転させたバージョンに基づいて第2の検出のセットを生成することなしに)生成される。
図2に戻る。ステップ203において、方法は、深度情報を取得する。以下の説明からより明らかになるように、オブジェクト間のカメラの不変な関係(camera invariant relationships)を抽出することは、部分的には、入力画像を3Dジオメトリにリフトすることによって達成される。ピクセルの深度が既知である場合、2D正距円筒入力画像に基づいて3Dシーンを生成することが可能である。この点を踏まえると、ステップ203は、2D正距円筒入力画像のピクセルについての深度情報を取得することを備える。図5Cは、一実施形態に従って生成された深度情報の視覚的な表現を示す。
深度情報は、多くの方法で取得され得る。一例では、シーンの深度情報は、LiDAR(光による検知と測距)を使用して取得される。別の例では、深度情報は、ステップ201において取得された画像データから直接取得される。特に、画像データが深度情報を備える(例えば、画像データがRGBD(赤、緑、青、深度)フォーマットで提供される)場合、ステップ203における深度情報は、ステップ201において取得された画像データから直接取得される。一例では、ステップ201において取得される情報は、RGBDカメラによってキャプチャされる。
別の例では、深度情報は、入力画像の正距円筒投影から深度マップ(即ち、各ピクセルが深度値に関連付けられている入力画像の表現)を生成することによって(即ち、明示的な深度データを提供されることなく)取得される。
オプションで、深度マップは、機械学習モデルを使用して生成される。例となる機械学習モデルは、参照により本明細書に組み込まれる「Nikolaos Zioulis, Antonis Karakottas, Dimitrios Zarpalas,and Petros Daras. Omnidepth: Dense depth estimation for in-doors spherical panoramas. In ECCV, pages 448-465, 2018」に記載されている「RectNet」である。
簡潔に説明すると、「RectNet」は、オートエンコーダ構造に従う畳み込みニューラルネットワーク(CNN)アーキテクチャであり、ここで、エンコーダは、入力の空間次元をより小さいサイズの表現に徐々に削減することによって、入力をエンコードし、デコーダは、この表現をアップスケーリングすることによって、所望の出力に回帰させる。「RectNet」の様々な層が、360度画像から深度マップを生成するために設計されてきた。
一例では、「RectNet」への入力は、ステップ201において生成された正距円筒画像であり、「RectNet」の出力は、正距円筒入力画像における各ピクセルを深度値に関連付ける深度マップである。
更なる例では、機械学習モデル、特に「RectNet」は、入力画像及び関連付けられた深度マップを備える「Stanford-2D3DS」データセットの少なくとも一部でトレーニングされる。オプションで、正距円筒画像は、「RectNet」への入力として提供される前に、512×256ピクセルにスケーリングされる。
画像データから深度情報を取得することは、「RectNet」に関連して上述したが、正距円筒投影から深度マップを生成するための任意の技法が代わりに使用され得ることが理解されよう。
図2に戻ると、ステップ204において、方法は、ステップ203において生成された深度マップを使用して、正距円筒画像における各ピクセルの3Dロケーションを生成する。
一例では、正距円筒画像のピクセルロケーションは、最初に球座標に変換される。当技術分野で知られているように、球座標系は、3次元空間のための座標系であり、ここで、点の位置は、半径方向距離(ρ)、方位角(θ)及び極角(φ)によって指定される。正距円筒画像のピクセルロケーションは、第1の変換を使用して、方位角(θ)及び極角(φ)に変換される。一例では、正距円筒画像がW×Hピクセルを備え、各ピクセルが画像座標(x,y)を有し、原点が画像の中心である場合には、θ=2πx/W及びφ=πy/Hである。
ステップ203において取得された深度情報は、各ピクセルについての半径方向距離(ρ)を決定するために使用される。結果として、各ピクセルは、完全な球座標に関連付けられる。次いで、球座標は、第2の変換を使用して、デカルト座標に変換される(例えば、x=ρcosφ sinθ、y=ρsinφ sinθ、z=ρcosθ)。
特定の例が上記で提供されたが、正距円筒画像のピクセルを3D(デカルト)座標に変換するための任意の方法が代わりに使用され得ることが理解されよう。別の例では、3Dデカルト座標は、参照により本明細書に組み込まれる「3D Geometry for Panorama, Jianxiong Xiao, Massachusetts Institute of Technology」に記載されているように生成される。
ステップ205において、方法は、入力画像の正距円筒投影から特徴を抽出する。当技術分野で知られているように、特徴抽出は、コンピュータビジョンパイプラインのコアコンポーネントであり、画像内のオブジェクトを明確に定義する有用な特徴を画像から抽出することを伴う。コンピュータビジョンでは、特徴は、オブジェクトを識別するために使用され得る測定可能なデータ片である。例えば、特徴は、画像内の別個の色であり得るか、又は線、エッジ、若しくは画像セグメント等の特定の形状であり得る。
ステップ205は、オプションで機械学習モデルを使用して、正距円筒画像における各ピクセルについて特徴を抽出することを備える。特徴抽出は「NetVLAD」に関連して詳細に説明されたが、疑義を避けるために、方法が、入力として、正距円筒画像を受け取り、出力として、正距円筒画像における各ピクセルについて、特徴マップを識別する情報を生成するという前提で、他の特徴抽出方法も使用され得ることに留意されたい。
一実施形態では、特徴抽出及びエンコーディングは、参照により本明細書に組み込まれる「Relja Arandjelovic, Petr Gronat, Akihiko Torii, Tomas Pa-jdla, and Josef Sivic. Netvlad: Cnn architecture for weakly supervised place recognition」に記載されている「NetVLAD」に基づいて行われる。有利には、「NetVLAD」は、場所認識のためにトレーニングされており、うまく機能することが分かっている。
「NetVLAD」は、(特徴抽出のための)畳み込みニューラルネットワークと、畳み込みニューラルネットワーク(CNN)フレームワークにおいてVLADを模倣するために、誤差逆伝播法を介してトレーニングすることに適したトレーニング可能なVLAD層と、を備える。
VLADは、局所集約記述子のベクトル(VLAD)を表し、参照により本明細書に組み込まれる「H. J´egou, M. Douze, C. Schmid, and P. P´erez. Aggregating local descriptors into a compact image representation. In Proc. CVPR, 2010」に記載されている。簡潔に説明すると、VLADは、記述子プーリング方法を提供し、ここで、残差(特徴の記述子と、特徴空間のクラスタ中心との間の差分ベクトル)が生成される。形式的に、(例えば、前の特徴抽出ステップから)入力としてN個のD次元局所画像記述子{x}、及びVLADパラメータとしてK個のクラスタ中心(「視覚的な単語(visual words)」){c}を与えられると、出力VLAD画像表現Vは、K×D次元行列である。Vの(j,k)要素は、以下のように計算される:
ここで、x(j)及びc(j)は、それぞれi番目の記述子及びk番目のクラスタ中心のj番目の次元であり、a(x)は、k番目の視覚的な単語に対する記述子xのメンバーシップ(membership)を示し、即ち、それは、クラスタcが記述子xに最も近いクラスタである場合は1であり、それ以外の場合は0である。
「NetVLAD」は、クラスタcに対する記述子xの重みが、それらの近さに比例するが、他のクラスタ中心の近さと相対的であるように、重み関数(a(x))を修正する。「NetVLAD」はまた、距離の大きさによる応答の減衰を制御するパラメータ(α)を導入する。更に、「NetVLAD」では、(そこから残差が計算される)クラスタのアンカー点がトレーニング可能である。標準のVLADでは、アンカーは、データベースにわたって残差を均等に分布させるために、クラスタ中心として選択される。しかしながら、「NetVLAD」では、クラスタ中心は、異なる画像に属することが既知である2つの記述子間のドット積が小さくなる(即ち、その結果、異なる画像についての残差がより異なる)ようにトレーニングされ得る。
「NetVLAD」で使用されるVLAD記述子は、次の通りである:
ここで、
「NetVLAD」では、{w}、{b}及び{c}は、トレーニング可能なパラメータである。
その結果、入力としてN個のD次元局所ピクセル記述子、及びK個の自動的に求められたクラスタ中心を与えられると、各ピクセルにおける「NetVLAD」の出力は、特徴空間における各クラスタ中心までの記述子距離に基づくK×D行列である。「NetVLAD」では、全てのピクセル行列は、単純に単一の行列に集約される。次いで、この行列は、平坦化され、画像検索のための画像埋め込みとして使用される。
しかしながら、本明細書で開示される方法では、全てのN個のピクセル行列を無秩序な方法で合計する代わりに、インスタンスレベル及びグラフレベルの集約が適用され得るように、空間的構造が維持される。したがって、本明細書で説明される例による修正された「NetVLAD」は、サイズH×Wの画像について、H×W×K×D特徴マップを生成する。即ち換言すれば、本明細書で修正された「NetVLAD」は、各ピクセルに関連付けられたVLAD記述子を識別する情報を出力する。
上述されたように、例において使用される「NetVLAD」の実装形態は、特徴抽出のための畳み込みニューラルネットワーク(CNN)を備える。オプションで、畳み込みニューラルネットワーク(CNN)は、参照により本明細書に組み込まれている「K. Simonyan and A. Zisserman. Very deep convolutional networks for large-scale image recognition. In Proc. ICLR, 2015」に記載されている事前トレーニングされたVGG-16バックボーンで実装される。一実施形態では、トレーニング可能なVLAD層のための重みは、参照により本明細書に組み込まれる「Titus Cieslewski, Siddharth Choudhary, and Davide Scara-muzza. Data-efficient decentralized visual slam. In ICRA, pages 2466-2473. IEEE, 2018」で使用されているものと同じである。
一例では、ステップ201からの正距円筒画像は、入力として「NetVLAD」特徴抽出器に供給される前に、最初に2048×1024ピクセルにアップサンプリングされる。畳み込みニューラルネットワーク(CNN)(即ち、VGG-16)の出力は、サイズが128×64まで低減されたときに得られ、ここで、各ピクセルは、記述子64×512を有する。
上記を要約する。ステップ202、203&204、及び205の完了後、方法は、202からの正距円筒画像における各ピクセルについてのクラスラベルを示すオブジェクトマスクと、ステップ203&204からの各ピクセルの3Dロケーションと、ステップ205からの各ピクセルに関連付けられた特徴ベクトルを識別する情報と、を生成した。
オプションで、ステップ202及び204は、サイズ変更ステップによってそれぞれ別々に後続され、ここで、情報は、各ステップ(即ち、202、204及び205)の出力画像サイズが同じになるようにサイズ変更される。例えば、特徴抽出が128×64の出力サイズで「NetVLAD」を使用して行われる場合、ステップ202及び204の出力のサイズもまた、128×64ピクセルにサイズ変更される。特に、インスタンスセグメンテーション情報及び深度情報が、「NetVLAD」空間次元(即ち、この例では128×64)にマッチするようにサイズ変更される。オプションで、ダウンサンプリングが、最近傍ダウンサンプリングを使用して行われる。最近傍ダウンサンプリングでは、最初に、出力マップにおける各ピクセルの座標が決定される。次いで、各出力ピクセルについて、出力マップにおけるこの座標に最も近い入力ピクセルのピクセル値が、出力値として選択される。
ステップ202、203&204、及び205は、これらのオペレーションが必ずしも互いの出力に依存せず、したがって、並列に実行され得ることを示すために、図2に並列に示されている。代替として、図2に示される各ブランチは、直列に実行され得る。
ステップ206において、方法は、シーングラフを生成する。シーングラフG=(V,E)は、ノードの集合V及びエッジの集合Eとして表される。オプションで、各ノードi∈Vが、特徴ベクトルxに関連付けられており、各エッジ(i,j)∈Eが、特徴ベクトルxijに関連付けられている。
ステップ206において、グラフのノードが生成される。グラフにおける各ノードは、ステップ202において検出されたオブジェクトインスタンスに関連付けられている。(ステップ202において生成されたオブジェクトマスクから識別される)オブジェクトに関連付けられた各ピクセルが決定され、決定されたピクセルに関連付けられた(ステップ205から識別される)対応する特徴ベクトルが、オブジェクトインスタンスについての単一の特徴ベクトルを決定するために、総和(summation)を通じて集約される。
(ステップ202において生成されたオブジェクトマスクから識別される)オブジェクトに関連付けられている(ステップ204において生成される)3D座標の各々もまた決定される。中央3D座標値が、オブジェクトに関連付けられた各ピクセルの3D座標に基づいて生成され、それによって、各オブジェクトインスタンスに関連付けられた単一の中央3D座標を生成している。
その結果、各オブジェクトがノードに関連付けられており、ノードに関連付けられた特徴ベクトルは、オブジェクトインスタンスの各ピクセルに関連付けられた特徴ベクトルの合計であり、ノードはまた、3D座標に関連付けられており、ここで、3D座標は、オブジェクトインスタンスに関連付けられた3D座標の中央値である。
その後、ノード間のエッジが構築される。一例では、距離(オプションで、ユークリッド距離)が距離閾値より小さい場合、エッジがノード間に追加される。識別されたエッジに関連付けられた記述子(即ち、特徴ベクトルxij)はない。有利には、良好なパフォーマンスが、3メートルの距離閾値で達成される。
別の例では、エッジは、異なる基準に基づいて、ノード間に追加される。一例では、各ノードが、オブジェクトインスタンスに関連付けられており、各オブジェクトインスタンスが、クラスラベルに関連付けられている。このケースでは、第1のノード及び第2のノードに関連付けられたオブジェクトインスタンスが同じクラスラベルを有する場合、これらノード間にエッジが追加される(例えば、「椅子」クラスのインスタンスに関連付けられている2つのノード間にエッジが追加される)。
更なる例では、2つのノードがクラスのグループからのクラスラベルに関連付けられている場合、これらノード間にエッジが追加される。例えば、クラスのグループが、{「椅子」、「テーブル」}を備える場合、「椅子」クラスラベルを有するオブジェクトインスタンスに関連付けられた第1のノードと、「テーブル」クラスラベルを有するオブジェクトインスタンスに関連付けられた第2のノードとの間にエッジが追加される。
より一般的には、一例では、2つのノードの関連付けられたオブジェクトインスタンスが、類似特性(例えば、3D座標、既知の関連ラベル、ラベルの類似性)を有する場合、2つのノード間にエッジが追加される。更なる例では、ノード特性のペアワイズチェックに基づいて、エッジがノード間に生成される。
図6Aは、一実施形態に従って重ね合わされたノード及びエッジを有するシーンの3D表現を示す。図6Bは、一例によるシーングラフの2D表現を示す。とはいえ、本明細書で説明される方法は、3Dシーングラフを使用することが強調される。
図2に戻る。シーングラフを生成すると、方法は、ステップ207に進む。
ステップ207において、生成されたシーングラフを(例えば、画像認識のための)後続の比較のために使用され得るベクトルに変換することによって、グラフ埋め込みが生成される。オプションで、グラフ埋め込みは、グラフ埋め込みネットワークによって生成される。
図7は、一実施形態によるグラフ埋め込みネットワークを示す。図7は、エンコーダ702と、伝播層703と、グラフアグリゲータ704と、を備えるグラフ埋め込みネットワーク701を示す。図7は、エンコーダ702と、伝播層703と、グラフアグリゲータ704とを別個のコンポーネントとして示しているが、それらの機能が1つのコンポーネントに組み合わされ得ることが理解されよう。
エンコーダ702は、ステップ206において生成されたシーングラフからのノード特徴及びエッジ特徴を、それぞれ
にマッピングするように構成されており、ここで、
は、i番目のノードに関連付けられた初期(即ち、時間=0)ノードベクトルであり、ここで、i∈Vであり、Vは、グラフを形成するノードの集合である。初期ノードベクトル
は、i番目のノードに関連付けられた特徴ベクトルxに等しく設定されており
一方、エッジベクトル
(ノードiとノードjとの間のエッジを表す)は、未使用である。
上述されたように、各ノードは、シーン(即ち、入力画像)におけるオブジェクトに関連付けられており、一例では、ノードに関連付けられた特徴ベクトルは、オブジェクトに関連付けられた各ピクセルにおける「NetVLAD」記述子の集約である(即ち、K×D行列としてD次元の特徴を有するK個のクラスタの留数(residues)の合計である)。その結果、この例では、初期ノードベクトル
は、K×D行列である。有利には、ピクセル当たりの特徴マップを抽出するために「NetVLAD」を使用することは、既に豊富な(already rich)エンコーディングをもたらす。
エンコーダ702は、各ノードについての初期ノードベクトル
を伝播層703に伝達する。伝播層の機能は、i番目のノードのためのノードベクトルh
に関連して説明され、ここで、i∈Vであり、Vは、グラフを形成するノードの集合である。しかしながら、同じ機能は、ノードの集合における他のノードにも適用されることが理解されよう。
伝播層703は、ノードの新しい表現を生成するために、ノードを接続しているエッジに沿って、グラフのノード間の(比喩的に)メッセージの受渡しを行うように構成されている。上述されたように、グラフ埋め込みネットワーク701の目的は、グラフ表現を後続の比較のために使用され得るベクトルに変換することである。以下でより詳細に説明されるように、グラフ埋め込みネットワークは、類似のシーンを表す2つの入力グラフが、非類似のシーンを表す2つの入力グラフから生成される出力ベクトルよりも、より類似した出力ベクトルを作り出すようにトレーニングされる。伝播層は、各ノードに関連付けられた特徴ベクトルを、最終的なノード表現に変換するプロセスを制御し、これら最終的なノード表現は、最終的なグラフ表現を生成するために最終的に使用される。
図8は、一実施形態によるグラフ埋め込みネットワーク701の伝播層703によって行われる方法を示す。ステップ801において、ノードiについての初期ノードベクトル
が取得される。上述されたように、初期ノードベクトル
は、エンコーダ702によって出力される。一例では、ノードiについての初期ノードベクトル
を取得することは、初期ノードベクトル
を、i番目のノードに関連付けられた特徴ベクトルx(特徴行列とも呼ばれる)に等しく設定することを備える。
加えて、ステップ801はまた、ノードiに接続しているエッジEを識別する情報を取得することを備える。一例では、ノードiに接続しているエッジを識別する情報は、シーングラフから取得される。
ステップ802において、ノードiに接続している任意のエッジが存在するかどうか(即ち、任意のエッジ(j,i)が存在するかどうか)を決定する。ノードiを別のノードに接続している少なくとも1つのエッジがある場合には、方法は、ステップ803に進む。
ステップ803において、メッセージmj→iが、下記に従って、ノードiに接続している各エッジについて生成される:
ここで:
σ(x)は、ロジスティックシグモイド関数
であり、
MLPgate(x)は、入力xに基づいてゲーティング重みを生成するように構成された多層パーセプトロンであり、
は、要素ごとの乗算である。
上記式から明らかであるように、f(メッセージ関数とも呼ばれる)は、ゲーティング関数の合計を使用する。当技術分野で知られているように、ゲーティング関数は、入力のどの割合が出力されるかを制御するように構成されている。これは、ゲーティング重み
とノードベクトル
との要素ごとの乗算によって達成される。ゲーティング重みは、入力に基づいて、機械学習モデルによって生成される。上記の例では、ゲーティング重みは、入力
に基づいて、多層パーセプトロンによって生成され、ここで、
は、i番目のノードについての現在のノードベクトルであり、
は、j番目のノードについての現在のノードベクトルである。
は、メッセージ(したがって、m)を生成するプロセス中に、i番目のノードからのノードベクトルをゲーティングするためのゲーティング重みを生成する多層パーセプトロンを表す。多層パーセプトロンは、
がi番目のノードについての現在のノードベクトルであり、
がj番目のノードについての現在のノードベクトルである、入力に基づいて、(出力において)ゲーティング重みを生成するために、トレーニング可能な重みを有する。同様に、
もまた、トレーニング可能な重みを有する。
有利には、各ノードベクトルについての表現をゲーティングすることによって、及びどのようにゲーティングを適用するかを学習することによって、メッセージ関数は、より信頼性の高い特徴をアクティブ化する。
ステップ803において、メッセージが、i番目のノードに接続している各エッジについて生成される。例えば、i番目のノードがエッジによって2つの他のノードj及びjに接続されているケースでは、2つのメッセージが、下記に従って計算される:
しかしながら、fにおける多層パーセプトロン重みの重みは、ノードに関係なく同じである(即ち、
の学習可能な重みは、jによって変化しない)。その結果、この例では、同じ
が、mj1→iとmj2→iとの両方のために使用される。当然ながら、
への入力が異なることになるので、
によって作り出されるゲーティング重み(即ち、出力)は、異なり得ることが理解されよう。
i番目のノードに接続している各エッジについてのメッセージを生成した後、方法は、ステップ804に進む。ステップ804において、更新されたノードベクトルが、下記に従って生成される:
ここで、E⊂Eであり、i番目のノードに接続している全てのエッジ(j,i)を含み、ここで、Eは、シーングラフにおけるエッジの集合であり、
は、Eのカーディナリティ(cardinality)(即ち、ノードiに接続しているエッジの数)である。上記から明らかであるように、ノード関数fは、パラメータとして、ステップ803において生成されたメッセージの合計をとる。
ノード関数fは、ゲーティング重みを生成するために異なる多層パーセプトロン
を使用することを除いて、メッセージ関数fに類似する。ノード関数fは、下記によって与えられる:
の両方が、学習可能な重みを有する。
更新されたノードベクトル
を生成した後、方法は、ステップ805に進み、ここで、時間t+1が、時間閾値Tに等しいかどうかを決定する。時間が時間閾値に等しくない場合には、方法は、ステップ807に進み、ここで、最終的なノード表現
が、伝播層703によって出力される。時間t+1が時間閾値に等しくない(即ち、時間が時間閾値T未満である)場合には、方法は、ステップ808に進み、ここで、時間ステップが増分され(即ち、t=t+1)、次いで、ステップ802に進み、ここで、更新されたノードベクトルが計算される。
ステップ802に戻る。ステップ802において、i番目のノードに接続しているエッジ(j,i)がないことが決定された場合には、方法は、ステップ806に進み、ここで、更新されたノードベクトル
は、現在のノードベクトル
に等しく設定される。上述されたように、方法は、その後、ステップ805に進む。
図8は、グラフの単一のノード(即ち、i番目のノード)に関連して示されているが、方法は、グラフにおける各ノードiについての最終的なノード表現
を生成するように適合され得ることが理解されよう。即ち、各ノードについて図8に示される方法を繰り返すことによって、又は図8のステップを適合させることによってであり、その結果、各オペレーションが、グラフにおける各ノードiにわたって行われる。
異なるエッジを説明したときに、メッセージ関数fに関連して説明されたように、ノードにわたって更新を生成するとき、同じ多層パーセプトロン(即ち、同じ重みを有する)が、グラフにおける各ノードiについて使用される。換言すれば、
の重みは、全てのiについて同じであり、ここで、i∈Vである。
要約すると、グラフ埋め込みネットワークのトレーニング可能なパラメータは、
の重みである。一実施形態では、上記で参照された様々な多層パーセプトロンの重みは、経時的に固定されている(即ち、時間tと共に変化しない)。有利には、経時的に同じパラメータを使用することは、必要とされるトレーニングの量を低減させる。別の実施形態では、多層パーセプトロンの重みは、経時的に変化する。
図7に戻ると、伝播層703は、伝播層703の出力に基づいて、グラフにおける各ノードiについての最終的なノード表現
を出力するように構成されている。特に、グラフアグリゲータ704は、グラフにおける各ノードiについての最終的なノード表現
に基づいて、グラフ表現hを生成するように構成されている。
一実施形態では、グラフアグリゲータ704は、下記に従ってグラフレベル表現を計算する:
ここで、MLPgate及びMLPnodeの両方が、(特徴ベクトルにおけるK個のクラスタの)各クラスタの特徴で畳み込まれる行カーネルである。MLPgateは、行カーネルによって、入力、即ち、i番目のノードの最終的な表現
を畳み込むことによって、その出力としてゲート重みを生成するように構成された多層パーセプトロンである。同様に、MLPnodeは、行カーネルによって、入力、即ち、i番目のノードの最終的な表現
を畳み込むことによって、出力を生成するように構成された多層パーセプトロンである。ロジスティックシグモイド関数が、MLPgateの出力に適用され、次いで、この出力は、MLPnodeの出力と要素ごとに乗算される。
ノード特徴
は、ノードに関連付けられた特徴ベクトル(即ち、x)と同じ次元を有し、これは、それがD次元の特徴を有するK個のクラスタを表すので、K×Dである。有利には、行カーネル(例えば、1×D行列)を使用することは、畳み込みが各クラスタ内で行われることを意味し、これは、ノード表現をK×1行列に削減しながらも、データにおける構造を保持するのに役立つ。
このオペレーションは、ノードの集合Vにおける各ノードiについて行われ、各ノードについての出力は合計される。次いで、変換に基づく主成分分析(PCA)が、シーンの最終的なコンパクト記述子を取得するために、合計に適用される。当技術分野で知られているように、主成分分析(PCA)は、大きい変数集合を、この大きい集合における情報の大部分を依然として含むより小さいものに変換することによって、大きいデータセットの次元数を削減するために使用される次元削減方法である。
上述された例では、PCAベースの変換は、多層パーセプトロン(即ち、MPL)を使用して実装される。PCAベースの変換を使用する一例が、「NetVlad」に記載されており、これは、上述されたように、参照により本明細書に組み込まれている。一実施形態では、MPLの重みは、予め決定されている(例えば、事前トレーニングされた「NetVlad」の重みの一部として取得される)。このケースでは、PCAベースの変換の重みは、他の重みがトレーニングされていたのと同時に、「NetVlad」システムのトレーニング中に生成された。
次元削減後、グラフアグリゲータ304は、グラフレベル表現hを出力する。
一例では、上述された多層パーセプトロン
の少なくともいくつか、オプションで全てが、単一の線形層を使用して実装される。更なる例では、多層パーセプトロンは、いくつか(例えば、1つ、2つ及び3つ)の伝播層をそれぞれ備える。
図2に戻ると、ステップ207においてグラフ埋め込みを生成した後、方法は、ステップ208に進む。
図2の方法は、推論に関連する。その結果、ステップ201における画像データは、画像データに対して場所認識及び/又は画像検索を行うためのクエリを受け取ることに応答して取得され得る。
ステップ208において、方法は、ステップ207において生成された入力画像のグラフ表現hと、画像の参照セットからの画像に関連付けられた複数のグラフ表現との間のユークリッド距離を決定する。
一例では、画像の参照セットが維持される。画像の参照セットは、複数の画像を備える。オプションで、各画像は、ロケーション情報に関連付けられている。一旦システムがトレーニングされると(例えば、一旦グラフ埋め込みネットワークがトレーニングされると)、グラフ埋め込みが、参照セット内の各画像について取得される。これは、ステップ201において、入力として画像を提供し、図2におけるステップ207から出力を取得することによって達成される。各画像に関連付けられたグラフ埋め込みは、参照セットの一部として記憶される。
推論中、ユークリッド距離は、クエリ画像に関連付けられたグラフ埋め込みと、参照セット内の各画像に関連付けられたグラフ埋め込みとの間で決定される。グラフ埋め込み間の最小のユークリッド距離に関連付けられた画像が、マッチした画像として選択され、画像検索の出力として提供される。オプションで、マッチした画像は、例えば、ステップ201を促した要求を受信することに応答して、ユーザに提供される。
システムが場所認識のために使用される場合、マッチした画像に関連付けられたロケーションが検索され、ロケーションはユーザに提供され、それによって、ステップ201において受信された入力画像に関連付けられた場所を識別する。
推論中、グラフ埋め込みネットワーク301のトレーニング可能な重み
は、予め決定されている。一実施形態では、推論は、システムをトレーニングすることに後続する(これは、以下でより詳細に説明される)。結果として、重みは、トレーニングフェーズ中に生成される。別の実施形態では、重みは、(例えば、異なる時間でのトレーニングフェーズから)事前計算され、(例えば、ストレージから検索されることによって)推論より前にシステムに提供される。
次に、グラフ埋め込みネットワークのトレーニング可能な重みをトレーニングすることを考慮する。トレーニングすることは、ベクトル表現を作り出すために、グラフ埋め込みネットワークの重みをトレーニングすることを備え、ここで、類似のシーンは、2つの非類似のシーンに関連付けられたベクトル表現よりも大きい類似性を有するベクトルに関連付けられている。
グラフ埋め込みネットワークが上記で説明されたように実装される一例では、グラフ埋め込みネットワークをトレーニングすることは、伝播層703の学習可能な重み
をトレーニングすることを備える。
疑義を避けるために、グラフ埋め込みネットワークをトレーニングすることは、特徴抽出のために使用される重み(例えば、「NetVLAD」パラメータ)、深度推定が機械学習モデルで実装される場合の、深度推定のために使用される重み、及びインスタンスセグメンテーションのために使用される重みをトレーニングすることを含まないことが強調される。上述されたように、これらのタスクの各々のために使用される重みは、予め決定され得、及び/又は、特に関連コンポーネントをトレーニングすることによって生成され得る。
図9は、一実施形態によるグラフ埋め込みネットワークをトレーニングする方法を示す。グラフ埋め込みネットワークをトレーニングすることは、ステップ901において、トレーニング可能な重み
を初期化することによって開始する。オプションで、トレーニング可能な重みは、ランダムな値で初期化される。
ステップ902において、方法は、トレーニングセットから、クエリグラフGと、ポジティブグラフGと、ネガティブグラフGと、を備えるトリプレットを取得する。トレーニングセットは、複数のトリプレットを備える。クエリグラフは、シーンのグラフ表現である。ポジティブグラフは、(例えば、同じ場所/ロケーションに関連付けられた)類似のシーンのグラフ表現である。ネガティブグラフは、(例えば、異なる場所/ロケーションに関連付けられた)非類似のシーンのグラフ表現である。様々なシーンのグラフ表現は、それぞれの画像に対してステップ201、202、203、204、205及び206を行うことによって取得され得る。
オプションで、グラフ埋め込みネットワークは、バッチトレーニング(即ち、より大きいトレーニングセットのサブセットでグラフ埋め込みネットワークをトレーニングすること)を使用してトレーニングされる。バッチトレーニングが使用されるとき、トリプレットは、トレーニングサンプルのバッチから取得される。一例では、バッチにおけるトレーニングサンプルの数は16である。
グラフ埋め込みネットワークは、教師あり学習を使用してトレーニングされ、損失関数を最小化する重みのセットを学習するように構成されている。トレーニングセットからトリプレットを取得した後、方法は、ステップ903に進む。
ステップ903において、グラフ埋め込みベクトルが、クエリグラフG、ポジティブグラフG、及びネガティブグラフGの各々について生成される。グラフ埋め込みベクトルは、グラフ埋め込みネットワークの現在設定されている重み(これは、最初のトレーニングエポックについては、ステップ901からの初期化された重みである)を使用して、図2のステップ207に従って生成され、それによって、クエリグラフG、ポジティブグラフG、及びネガティブグラフGの各々についてのグラフ埋め込みベクトルを生成する。疑義を避けるために、グラフ埋め込みネットワークは、各グラフのベクトル表現を生成するために、同じトレーニング可能な重みを使用することが強調される。
ステップ904において、トリプレット損失が、クエリグラフGについて生成されたグラフ埋め込みベクトル
ポジティブグラフGについて生成されたグラフ埋め込みベクトル
及びネガティブグラフGについて生成されたグラフ埋め込みベクトル
に基づいて生成される。一例では、このトレーニング方法は、参照により本明細書に組み込まれる「Florian Schroff, Dmitry Kalenichenko, and James Philbin. Facenet: A unified embedding for face recognition and clustering. In CVPR, pages 815-823, 2015」に記載されているマージンベースのトリプレット損失を最適化する。
一例では、方法は、下記に従って計算されるマージンベースのトリプレット損失(即ち、ポジティブグラフに対するクエリグラフの類似性が、クエリグラフとネガティブグラフとの類似性よりもマージン分だけ大きくなることを必要とするトリプレット損失)を使用する:
ここで:
であり、クエリグラフについてのグラフ埋め込みベクトル
と、ポジティブグラフについてのグラフ埋め込みベクトル
との間のユークリッド距離の2乗を表し、
γは、マージンであり、オプションで1.0に設定されており、
は、トリプレットベースの損失が、損失の期待値であることを示す。一例では、トレーニングサンプルのセットが、均一にサンプリングされ、計算された損失の合計が、サンプル数によって正規化され、それによって、損失の期待値(即ち、平均損失)が結果として得られる。損失の期待値を生成するために使用されるサンプル数は、1以上である。
その結果、損失関数は、d(G,G)が、マージンγ分だけd(G,G)より小さいとき、0の値を生成する。
ステップ904においてトリプレット損失を生成した後、方法は、ステップ905に進む。
ステップ905において、(トレーニング可能な重みの各々についての)トレーニング可能な重みに対する変更が、誤差逆伝播法を使用してトリプレット損失に基づいて決定される。
当技術分野で知られているように、「後方への誤差伝播」の略である誤差逆伝播法は、勾配降下法を使用する人工ニューラルネットワークの教師あり学習のためのアルゴリズムである。人工ニューラルネットワークと誤差関数とが与えられると、方法は、ニューラルネットワークの重みに関して誤差関数の勾配を計算し、学習率及び特定の重みについての計算された勾配に基づいて、重みデルタ(weight delta)(即ち、更新値)を生成する。
グラフ埋め込みネットワークにおける所与のトレーニング可能な重みについて、及び所与のトレーニングトリプレットについて、方法は、3つの調整値を生成するように構成されている。第1の調整値は、クエリグラフのベクトル表現
についての(with respect to)損失関数(L)の微分、及び所与の重み(w)についてのベクトル表現
の微分に基づく。第2の調整値は、ポジティブグラフのベクトル表現
についての損失関数(L)の微分、及び所与の重み(w)についてのベクトル表現
の微分に基づく。第3の調整値は、ネガティブグラフのベクトル表現
についての損失関数(L)の微分、及び所与の重み(w)についてのベクトル表現
の微分に基づく。第1の調整値、第2の調整値及び第3の調整値は、トレーニングトリプレットに基づいて所与の重みについての最終的な調整値を決定するために平均化され得る。
様々なグラフのベクトル表現についての損失関数の微分は、上記損失関数(L)を微分することによって取得され得る。所与の重みについてのベクトル表現の微分は、連鎖律(chain rule)を使用して、及びグラフ埋め込みネットワークの構造に基づいて決定され得る。
グラフ埋め込みネットワークが、バッチトレーニングを使用してトレーニングされる場合、各トレーニング例についての調整値は、トレーニングエポックについての最終的な重み調整値を生成するために、バッチにわたって平均化されることが理解されよう。
ステップ906において、トレーニング可能な重みの各々は、ステップ905において決定された各重みに対する決定された変更に基づいて調整される。
一実施形態では、グラフ埋め込みネットワークをトレーニングすることは、オプションで学習率が10-4に設定されたAdamオプティマイザを使用する。当技術分野で知られているように、Adamオプティマイザは、機械学習モデルをトレーニングするための確率的勾配降下法のための最適化アルゴリズムである。一例において使用されるAdamオプティマイザは、参照により本明細書に組み込まれる「Diederik P. Kingma, and Jimmy Ba. (2017). Adam: A Method for Stochastic Optimization」に記載されている。
グラフ埋め込みネットワークのトレーニング可能な重みを調整した後、トレーニング方法によって行われるトレーニングエポック数が1ずつ増分され(即ち、トレーニングエポック数=トレーニングエポック数+1)、方法は、ステップ907に進む。
ステップ907において、行われたトレーニングエポック数が、閾値トレーニングエポック数(最大トレーニングエポック)に等しいかどうかを決定する。当技術分野で知られているように、トレーニングエポックは、トレーニングデータセットのパス(即ち、データセット内のサンプルで機械学習モデルをトレーニングすることの繰り返し)を指す。バッチ学習が使用される場合、エポックは、バッチにおけるトレーニングサンプルの各々に基づいて完了されるトレーニングの反復を指す。一実施形態では、グラフマッチングネットワークは、最大1000エポックまでトレーニングされる(即ち、最大トレーニングエポック=1000)。
最大エポック数に達していない場合、方法は、ステップ902に進む。最大エポック数に達した場合、方法は、ステップ908に進み、ここで、トレーニングは終了する。
オプションで、図9の方法を完了した後に学習された重みは、推論において将来使用するためにストレージに記憶される。
一実施形態(「GraphVLAD」と名付けられた)が、画像検索/場所認識についての他のアプローチに対して比較された。「GraphVLAD」では、特徴は、上述されたように、参照により本明細書に組み込まれる「Titus Cieslewski, Siddharth Choudhary, and Davide Scaramuzza. Data-efficient decentralized visual slam. In ICRA, pages 2466-2473. IEEE, 2018」で使用されているものと同じ重みで、事前トレーニングされたVGG-16バックボーンでの「NetVLAD」を使用して抽出される。インスタンスセグメンテーション、3D座標生成、及び特徴抽出の出力は、必要に応じて128×64ピクセルにサイズ変更される。グラフ埋め込みネットワーク701は、上述された特定の例に従って実装される。全ての評価において、グラフマッチングネットワーク701は、学習率が10-4に設定されたAdamオプティマイザを使用して、16のバッチサイズで最大1000エポックまでトレーニングされる。
「GraphVLAD」を評価するために、「OmniClevr」と名付けられた新しいデータセットが形成される。「OmniClevr」は、参照により本明細書に組み込まれる「Justin Johnson, Bharath Hariharan, Laurens VanDer Maaten, Li Fei-Fei, C Lawrence Zitnick, and Ross Girshick. Clevr: A diagnostic dataset for compositional language and elementary visual reasoning. In CVPR, pages 2901-2910, 2017」に記載されているClevrデータセットから着想を得たものである。「OmniClevr」は、オブジェクトの構図(compositions)を有する合成環境の正距円筒画像を備える。
本明細書で提示される評価中、グラウンドトルースのインスタンスセグメンテーション及び深度情報が使用される(即ち、インスタンスセグメンテーション及び深度情報コンポーネントが完全な予測を生成する実施形態を作り出す)。
画像検索についての「Relja Arandjelovic, Petr Gronat, Akihiko Torii, Tomas Pa-jdla, and Josef Sivic. Netvlad: Cnn architecture for weakly supervised place recognition」に記載されている「NetVLAD」と、本明細書で説明される「GraphVLAD」とのパフォーマンスの比較を、下記表に示す。
上述されたように、「GraphVLAD」は、ノードにおいて「NetVLAD」特徴を有するシーングラフを生成し、ノードに関連付けられた中央3D座標が、閾値距離dより小さい距離で離れている場合、エッジがグラフのノード間に生成される。結果が、異なる距離閾値(即ち、変動するd)について生成された。3mのエッジを生成するための距離閾値(即ち、d=3m、ノード間にエッジを確立するために、これらノードが3m以下で離れていることを必要とする)が、最も良いパフォーマンスを示すことに留意されたい。
上記表では、組み合わされたオブジェクト分割(object split)及びカメラ分割(camera split)についての上位N個の検索された画像の再現率が報告されている。当技術分野で知られているように、再現率は、関連画像が上位N個の結果において検索された回数の(上記表ではパーセンテージとして表される)割合である。このケースでの関連画像は、同じ場所/ロケーションからの画像である。
「GraphVLAD」は、92.1対73.2のRecall@1で、「NetVLAD」を改善する。既製の「NetVLAD」は、実像で事前トレーニングされており、それは、OmniClevrデータセットに対してうまく機能することは期待されていないことに留意されたい。したがって、「NetVLAD」は、ゼロから「OmniClevr」でトレーニングされた。ゼロから「OmniClevr」でトレーニングされた「NetVLAD」のこのインスタンスは、「NetVLAD」として示されている。同様に、「GraphVLAD」も、特徴抽出のために、これらの再トレーニングされたNetVLAD特徴を使用する。
「NetVLAD」については、Recall@1は、83.2に改善し、一方、「GraphVLAD」は、93.2を記録した。全体的なパフォーマンスは、グラフ(それ自体)を使用することによって改善され、「GraphVLAD」は、改善された「NetVLAD」特徴から更に利益を享受することに留意されたい。
図10は、各検証タイプについて「OmniClevr」データセットでの、一実施形態による「GraphVLAD」の再現率及び「NetVLAD」の再現率を示す。図10は、「OmniClevr」検証セットの異なるグループでの「NetVLAD」及び「GraphVLAD」の受信者動作特性(ROC:Receiver Operating Characteristic)曲線を示す。
静止シーン(「なし」で示される)は、画像検索が比較的容易であり、一方、オブジェクト運動及び変化等のオブジェクトダイナミックス(objects dynamics)は、より難易度の高いタスクを課す。ここで、「NetVLAD」は、特にオブジェクトの追加又は削除に苦慮し、それぞれ71.6及び63.2のRecall@1が結果として得られる。対照的に、「GraphVLAD」は、外観単独よりもロバストであるグラフ埋め込みから利益を享受し、追加及び削除について、それぞれ78.4及び80.4のはるかに優れたRecall@1が結果として得られる。オブジェクト運動は、より難易度が低いが、本明細書で開示される方法は、依然として「NetVLAD」よりもパフォーマンスが優れている。
図10に示される別の重要なファクタの評価(critical factor evaluation)は、特に参照セット及びクエリセットにわたる、カメラ運動によるビュー変動(view variation)である。「NetVLAD」は、ロール回転及びズーム下のカメラについて特にパフォーマンスが悪いことが示されており、それぞれわずか72.4及び82.4のRecall@1に過ぎない。全く対照的に、「GraphVLAD」は、それぞれ96.0及び95.2のRecall@1を実現し、我々の回転及び並進不変グラフ埋め込み(rotation and translation invariant graph embedding)から利益を享受している。同様に、並進パフォーマンスもまた、「GraphVLAD」について改善されている。
グラフ類似性学習中のメッセージパッシングは、重要な役割を担う。具体的には、本明細書で説明される例では、我々は、我々のグラフにおけるエッジ距離閾値を介して、より大きい受容野(receptive field)を通じてコンテキストアウェアネスを制御する。上記表では、「GraphVLAD」は、変動する距離閾値dを使用して(事前トレーニングされた重みで)適用される。メッセージパッシングなし(d=0m)では、Recall@1は90.6に低減され、一方、d=1mは、パフォーマンスを90.9に改善する。全体的には、最良のパフォーマンスは、効率を犠牲にして、エッジのより大きい集合で達成される。上記評価における最良の結果は、92.1のRecall@1において、d=3mで達成される。したがって、近傍をアキュムレートすること(accumulating)は、有益であると考えられる。
「NetVLAD」と比較して、本明細書で説明される例による「GraphVLAD」は、難易度の高いシーン変化下でその強みを示す。特に、本明細書で開示される方法は、カメラ並進及び回転下での正しいマッチングを可能にする。更に、3D位置が推定され、グラフ構築において使用されるので、ズーミングによる外観歪みが対処される。最後に、新しいオブジェクトがシーンに追加されるとき、本明細書で開示される方法は、近くのオブジェクト間のメッセージパッシングにより、ダイナミックスに対してロバストである。
シーンをグラフとして表すことは、更なる利点を有する。例えば、シーンをグラフとして表すことは、ノード(即ち、オブジェクト)が、入力画像のシーングラフ表現へ追加され得るか、又はシーングラフ表現から除去され得るように、より容易な操作を可能にする。
一例では、(追加のオブジェクトに関連付けられた)追加のノードと、ノードをグラフの他のノードに接続するエッジとを追加するために、(例えば、ステップ206によって生成された)シーングラフを修正することを備える方法がある。このようにして、シーングラフは、ステップ201において取得された画像に存在していなかったオブジェクトを含めるように修正/拡張され得る。ノード間にエッジを追加することは、シーン内の追加のオブジェクトの位置を制御する。追加又は代替として、ステップ206によって生成されたシーングラフは、グラフ表現からノードを除去するために、(例えば、ステップ207において)グラフ埋め込みを生成する前に修正される。ノードを除去することは、例えば、ステップ201において取得された画像データが、参照セット内に存在しない可能性が高いであろう一時的なオブジェクトを含むことが知られている場合に有利であり得る。その結果、このノードを除去することによって、関連付けられたオブジェクトは、参照セット内のグラフ埋め込みとの類似性比較を行うときに考慮されないことになる。オプションで、修正/拡張されたシーングラフは、(シーングラフを生成する)ステップ206の出力に基づいて生成され、(グラフ埋め込みを生成する)ステップ207の入力に提供される。
図11は、一実施形態によるシステムを示す。図11は、画像フォーマッタ1101を備える場所認識システム1100を示す。画像フォーマッタ1101は、ステップ201に関連して説明された機能を実装するように構成されている。場所認識システム1100は、ステップ202に関連して説明された機能を実装するように構成されたインスタンスセグメンタ1102と、ステップ203に関連して説明された機能を実装するように構成された深度推定器1103と、ステップ204に関連して説明された機能を実装するように構成された3D座標生成器1104と、ステップ205に関連して説明された機能を実装するように構成された特徴抽出器1105と、ステップ206に関連して説明された機能を実装するように構成されたシーングラフ生成器1106と、ステップ207に関連して説明された機能を実装するように構成されたグラフ埋め込みネットワーク1107と、を更に備える。図11はまた、ステップ208に関連して説明された機能を実装する(即ち、場所/ロケーションを決定するために、生成されたグラフ埋め込みと、参照セットからのグラフ埋め込みとの間の距離、オプションでユークリッド距離を決定する)ように構成された類似性検出器1108を示す。オプションで、場所認識システムは、図9に関連して説明された方法を実施するように構成されたトレーニングコンポーネント1109を更に備え得る。上記コンポーネントの各々は、互いに通信可能に結合されている。システムは、別個のコンポーネントとして上記に示されたが、これらコンポーネントの機能は、単一のコンポーネントに組み合わされ得ることが理解されよう。また、上記で説明された方法を実施するように構成されたシステムが開示される。
上記に提示された特定の例では、画像のピクセルは、検出されたオブジェクトインスタンスに従ってグループ化された。しかしながら、上述されたように、本発明はそのように限定されるものではない。より一般的には、本明細書の方法は、入力画像が複数のピクセルクラスタにグループ化される場合に使用され得る。このケースでは、各ピクセルクラスタの3D座標は、ピクセルクラスタがオブジェクトインスタンスである場合について上述されたように生成される。同様に、特徴は、ピクセルクラスタがオブジェクトインスタンスである場合について上述されたように、(例えば、ピクセルクラスタにおける各ピクセルに関連付けられた特徴ベクトルを合計することによって)各ピクセルクラスタについて抽出される。同様に、シーングラフは、各ノードがピクセルクラスタに対応する場合に生成される。
図12は、実施形態に従って方法を実施するために使用され得るハードウェアの概略図を示す。ハードウェアは、コンピューティングシステム1200を備える。この特定の例では、システムのコンポーネントは、共に説明される。しかしながら、これらコンポーネントは、必ずしもコロケートされていないことが理解されよう。
コンピューティングシステム1200のコンポーネントは、限定はしないが、処理ユニット1213(さもなければ「プロセッサ」とも呼ばれる、中央処理ユニット、CPU等)と、システムメモリ1201と、システムメモリ1201を含む様々なシステムコンポーネントを処理ユニット1213に結合するシステムバス1211と、を含む。システムバス1211は、様々なバスアーキテクチャ等のいずれかを使用する、メモリバス又はメモリコントローラ、周辺機器用バス及びローカルバスを含む、いくつかのタイプのバス構造のいずれかであり得る。コンピューティングシステム1200はまた、システムバス1211に接続されたメモリ1215を備え得る。メモリ1215は、外部メモリであり得る。
システムメモリ1201は、揮発性メモリ/又は読み取り専用メモリ(ROM)等の不揮発性メモリの形態でコンピュータ記憶媒体を備える。システムメモリ1201は、コンピュータ可読命令を記憶し、これは、処理ユニット1213(例えば、プロセッサ)によって実行されると、処理ユニット1213(「プロセッサ」とも呼ばれる)に、本明細書で説明された機能を実施させ、特に、図2(推論)及び図9(トレーニング)に関連して説明されたように方法を実施する。
システムメモリ1201はまた、処理ユニット1213によって使用されている、オペレーティングシステム1205と、アプリケーションプログラム1207と、プログラムデータ1209と、を備え得る。一実施形態では、システムメモリ1201はまた、スタートアップ中等に、コンピュータ内の要素間での情報の転送に役立つルーチンを含む、基本入出力システム(BIOS)1203を備え、これは、典型的に、システムメモリ1201に記憶されている。
コンピューティングシステムは、システムバス1211に通信可能に接続されているインターフェース1225を更に備える。一例では、インターフェース1225は、特に他のデバイスから情報を受信し、また他のデバイスに情報を送信するための、ワイヤード接続及び/又はワイヤレス接続を介して通信するための機能を備える。追加又は代替として、インターフェース1225は、入力(例えば、シーンの画像)を受け取るためのカメラ入力と、ユーザに場所認識/画像検索の結果を提供するための出力と、を備える。別の例では、インターフェース1225は、ユーザがシステムと対話することを可能にする様々な形態でのユーザインターフェースであり得る。例えば、コマンド及び/又は質問を生成し、応答を受信することによってである。
図12の例では、ビデオインターフェース1217が提供される。ビデオインターフェース1217は、グラフィックス処理メモリ1221に通信可能に接続されているグラフィックス処理ユニット(GPU)1219を備える。
グラフィックス処理ユニット(GPU)1219は、データ並列オペレーションへのその適合により、ニューラルネットワークトレーニング等の、機械学習モデルのトレーニングに特に良く適している。したがって、一実施形態では、機械学習モデルをトレーニングするための処理は、CPU1213とGPU1219との間で分割され得る。
いくつかの実施形態では、異なるハードウェアが、機械学習モデルをトレーニングするため、及び状態更新を行うために使用され得ることに留意されたい。例えば、機械学習モデルのトレーニングは、1つ以上のローカルデスクトップ若しくはワークステーションコンピュータ上で行われ得るか、又はクラウドコンピューティングシステムのデバイス上で行われ得、これは、1つ以上のディスクリートデスクトップ又はワークステーションGPU、1つ以上のディスクリートデスクトップ又はワークステーションCPU、例えば、PC指向のアーキテクチャを有するプロセッサ、及び大容量の揮発性システムメモリ、例えば、16GB以上を含み得る。一方で、例えば、機械学習モデルのパフォーマンス(即ち、推論)は、他のハードウェアを使用し得る。
図12は、本明細書で説明された方法を実施するために使用され得るハードウェアの特定の例を示すが、これは一例に過ぎず、他の配置も使用され得ることが理解されよう。
上述されたように、本明細書で提示された例は、画像検索及び場所認識のために使用され得る。例となるユースケースは、ロボット/自動車/ドローンの位置推定及び/又は制御のための車両位置特定を含む。オプションで、画像は、スマートフォン、カメラ、及び/又はロボットから取得され、方法は、スマートフォン、カメラ、及び/又はロボットによって行われる。本明細書で開示される方法は、オブジェクトダイナミックス及びカメラの動きによって引き起こされる外観変化にロバストである。更なるユースケースは、車載カメラ及びドローンに搭載されたカメラを含み、これらは、様々な回転にさらされる。更に、トレーニングのために抽象データを使用することは、容易な拡張を可能にする。
ある特定の配置が説明されたが、これら配置は、例としてのみ提示されており、保護の範囲を限定することを意図するものではない。本明細書で説明された発明概念は、様々な他の形態で実装され得る。加えて、本明細書で説明された特定の実装形態に対する様々な省略、置換及び変更が、以下の特許請求の範囲において定義される保護の範囲から逸脱することなく行われ得る。

Claims (23)

  1. 場所認識のためのコンピュータ実装方法であって、
    第1のシーンの画像を識別する情報を取得することと、ここで、前記画像は複数のピクセルを備え、前記情報はピクセルごとの値を備え、
    前記画像を識別する前記情報における複数のピクセルクラスタを識別することと、前記画像は前記複数のピクセルクラスタにグループ化され、前記複数のピクセルクラスタは、第1のピクセルクラスタと、第2のピクセルクラスタと、を備え、ここで、ピクセルクラスタは1以上のピクセルからなり、
    前記画像を識別する前記情報から、ピクセルクラスタの特徴を数値により示す特徴ベクトルのセットを生成することと、前記特徴ベクトルのセットは、前記第1のピクセルクラスタに関連付けられた第1の特徴ベクトルと、前記第2のピクセルクラスタに関連付けられた第2の特徴ベクトルと、を備え、
    前記第1のシーンのグラフを生成することと、前記グラフは、複数のノードと、ある条件を満たす場合に2つのノードを接続するエッジと、を備え、前記第1のピクセルクラスタを表す第1のノードと、前記第1のノードは、前記第1の特徴ベクトルに関連付けられており、前記第2のピクセルクラスタを表す第2のノードと、前記第2のノードは、前記第2の特徴ベクトルに関連付けられている、を備え、
    前記第1のピクセルクラスタに関連付けられた第1の特性が、前記第2のピクセルクラスタに関連付けられた第2の特性に類似していることが前記条件であり、この条件を満たすと決定することに応答して、前記第1のノードと前記第2のノードとの間に第1のエッジを追加することと、ここで、前記特性は、ピクセルクラスタの座標位置、又はピクセルクラスタに関連付けられたオブジェクトのクラスのラベルであり、前記特性が前記座標位置の場合は2つのピクセルクラスタの座標位置が近いほど2つのピクセルクラスタの特性が類似し、前記特性がクラスの前記ラベルの場合は2つのラベルが同じクラスのグループに属すれば2つのラベルの特性は類似し、
    前記グラフのベクトル表現を生成することと、前記ベクトル表現は、前記ノードと前記エッジとの空間的関係、及びノード間の空間的関係をベクトルにより表し、
    前記グラフの前記ベクトル表現と、参照ベクトル表現との間の類似性の尺度を互いのベクトルにより計算することと、ここにおいて、前記参照ベクトル表現は、第2のシーンに関連付けられており、
    前記類似性の尺度が閾値より小さいと決定することに応答して、前記第1のシーンと前記第2のシーンとが、同じ場所に関連付けられていると決定することと、
    を備え
    前記グラフの前記ベクトル表現を生成することは、
    第1のノードベクトルを生成することと、ここにおいて、前記第1のノードベクトルは、前記第1のノードに関連付けられており、
    第2のノードベクトルを生成することと、ここにおいて、前記第2のノードベクトルは、前記第2のノードに関連付けられており、
    前記グラフにおける前記第2のノードは、前記第1のエッジによって、前記グラフにおける前記第1のノードに接続されており、前記第1のノードベクトルを生成することは、
    前記第1のノードベクトルを、前記第1の特徴ベクトルに等しく設定することと、
    前記第1のノードベクトル及び前記第2のノードベクトルに基づいて、前記第2のノードと前記第1のノードとの間の第1のメッセージを生成することと、ここで、前記第1のメッセージは、前記第1のノードベクトル及び前記第2のノードベクトルがどの割合で出力されるかを制御し、
    前記第1のノードベクトルの値及び前記第1のメッセージに基づいて、前記第1のノードベクトルを更新することと、
    を備えるコンピュータ実装方法。
  2. 前記画像は、複数のピクセルを備え、前記複数のピクセルは、前記第1のピクセルクラスタに関連付けられた第1のセットのピクセルと、を備え、前記特徴ベクトルのセットを生成することは、
    前記第1のセットのピクセルにおける第1のピクセルに関連付けられた第3の特徴ベクトルを生成することと、
    前記第1のセットのピクセルにおける第2のピクセルに関連付けられた第4の特徴ベクトルを生成することと、
    前記第3の特徴ベクトル及び前記第4の特徴ベクトルを総和することによって、前記第1の特徴ベクトルを生成することと、
    を備える、請求項1に記載のコンピュータ実装方法。
  3. 記第1のノードベクトルと前記第2のノードベクトルとの合計に基づいて、クエリグラフ表現を生成することと、ここで、前記クエリグラフ表現は、あるシーンのグラフ表現を示す、
    を備える、請求項1又は2に記載のコンピュータ実装方法。
  4. 前記第2のノードと前記第1のノードとの間の前記第1のメッセージを生成することは、
    第1の機械学習モデルを使用して、前記第1のノードベクトル及び前記第2のノードベクトルにより決定される第1のセットのゲーティング重みを生成することと
    記第1のノードベクトルと前記第1のセットのゲーティング重みとを乗算して、第1のゲーティングされたベクトルを形成することによって、前記第1のノードベクトルをゲーティングすることと、
    第2の機械学習モデルを使用して、前記第1のノードベクトル及び前記第2のノードベクトルにより決定される第2のセットのゲーティング重みを生成することと
    記第2のノードベクトルと前記第2のセットのゲーティング重みとを乗算して、第2のゲーティングされたベクトルを形成することによって、前記第2のノードベクトルをゲーティングすることと、
    前記第1のゲーティングされたベクトルと前記第2のゲーティングされたベクトルとの合計に基づいて、前記第1のメッセージを生成することと、
    を備える、請求項に記載のコンピュータ実装方法。
  5. 前記第1のシーンの前記グラフは、第3のピクセルクラスタを表す第3のノードを更に備え、前記第3のノードは、第の特徴ベクトルに関連付けられており、前記第3のノードは、第2のエッジによって、前記第1のノードに接続されており、
    前記方法は、
    第3のノードベクトルを生成することと、前記第3のノードベクトルは、前記第3のノードに関連付けられており、
    前記第1の機械学習モデルを使用して、前記第1のノードベクトル及び前記第3のノードベクトルにより決定される第3のセットのゲーティング重みを生成し
    記第1のノードベクトルと前記第3のセットのゲーティング重みとを乗算して、第3のゲーティングされたベクトルを形成することによって、前記第1のノードベクトルをゲーティングし、
    前記第2の機械学習モデルを使用して、前記第1のノードベクトル及び前記第3のノードベクトルにより決定される第4のセットのゲーティング重みを生成し
    記第3のノードベクトルと前記第4のセットのゲーティング重みとを乗算して、第4のゲーティングされたベクトルを形成することによって、前記第3のノードベクトルをゲーティングし、
    前記第3のゲーティングされたベクトルと前記第4のゲーティングされたベクトルとの合計に基づいて、第2のメッセージを生成する、
    ことによって、前記第1のノードベクトル及び前記第3のノードベクトルに基づいて、前記第3のノードと前記第1のノードとの間の前記第2のメッセージを生成することと、
    を更に備え、
    前記第1のノードベクトルの前記値及び前記第1のメッセージに基づいて、前記第1のノードベクトルを更新することは、
    前記第1のノードベクトルの前記値及び前記第1のメッセージと前記第2のメッセージとの合計に基づいて、前記第1のノードベクトルを更新することを備える、
    請求項に記載のコンピュータ実装方法。
  6. 前記第1のノードベクトルの前記値及び前記第1のメッセージに基づいて、前記第1のノードベクトルを更新することは、
    第3の機械学習モデルを使用して、前記第1のノードベクトル及び前記第1のメッセージにより決定される第5のセットのゲーティング重みを生成することと
    記第1のノードベクトルと前記第5のセットのゲーティング重みとを乗算して、第5のゲーティングされたベクトルを形成することによって、前記第1のノードベクトルをゲーティングすることと、
    第4の機械学習モデルを使用して、前記第1のノードベクトル及び前記第1のメッセージにより決定される第6のセットのゲーティング重みを生成することと
    記第1のメッセージと前記第6のセットのゲーティング重みとを乗算して、第6のゲーティングされたベクトルを形成することによって、前記第1のメッセージをゲーティングすることと、
    前記第5のゲーティングされたベクトルと前記第6のゲーティングされたベクトルとの合計に基づいて、前記第1のノードベクトルを更新することと、
    を備える、請求項又はに記載のコンピュータ実装方法。
  7. 前記第1のノードベクトルと前記第2のノードベクトルとの前記合計に基づいて、前記クエリグラフ表現を生成することは、
    第5の機械学習モデルを使用して、前記第1のノードベクトルにより決定される第7のセットのゲーティング重みを生成することと、
    第6の機械学習モデルを使用して、前記第1のノードベクトルに基づいて、前記第1のノードベクトルの第1のノード表現を生成することと、
    最終的な第1のノード表現を取得するために、前記第7のセットのゲーティング重みと前記第1のノードベクトルの前記第1のノード表現とを乗算することと、
    前記第5の機械学習モデルを使用して、前記第2のノードベクトルにより決定される第8のセットのゲーティング重みを生成することと、
    前記第6の機械学習モデルを使用して、前記第2のノードベクトルに基づいて、前記第2のノードベクトルの第2のノード表現を生成することと、
    最終的な第2のノード表現を取得するために、前記第8のセットのゲーティング重みと前記第2のノードベクトルの前記第2のノード表現とを乗算することと、
    前記最終的な第1のノード表現と前記最終的な第2のノード表現とを合計することによって、前記クエリグラフ表現を生成することと、
    を備える、請求項3乃至のいずれか一項に記載のコンピュータ実装方法。
  8. 前記第5の機械学習モデル及び前記第6の機械学習モデルは、前記最終的な第1のノード表現及び前記最終的な第2のノード表現が、単一列を有する行列をそれぞれ備えるように、行カーネルを実装する、請求項に記載のコンピュータ実装方法。
  9. 前記クエリグラフ表現を生成することは、
    前記最終的な第1のノード表現と前記最終的な第2のノード表現との合計を決定することと、
    前記クエリグラフ表現を形成するために、前記合計の次元数を削減することと、
    を備える、請求項又はに記載のコンピュータ実装方法。
  10. 前記第1のノードベクトルを生成することは、
    前記第1のノードベクトルを更新することに応答して、時間値を増分することと、
    前記時間値が時間閾値未満であるかどうかを決定することと、
    前記時間値が前記時間閾値未満であると決定することに応答して、
    前記第1のノードベクトル及び前記第2のノードベクトルに基づいて、前記第2のノードと前記第1のノードとの間の前記第1のメッセージを再生成することと、
    前記第1のノードベクトルの前記値及び前記第1のメッセージに基づいて、前記第1のノードベクトルを更新することと、
    を更に備える、請求項に記載のコンピュータ実装方法。
  11. 前記画像は、正距円筒画像である、請求項1乃至10のいずれか一項に記載のコンピュータ実装方法。
  12. 前記画像を識別する前記情報における前記複数のピクセルクラスタを識別することは、
    前記画像に対してインスタンスセグメンテーションを行うことによって、第1の検出のセットを生成することと、前記第1の検出のセットは、前記第1のピクセルクラスタを備え、
    回転させた画像を形成するために、前記画像を回転させることと、
    前記回転させた画像に対してインスタンスセグメンテーションを行うことによって、第2の検出のセットを生成することと、前記第2の検出のセットは、前記第2のピクセルクラスタを備え、
    前記複数のピクセルクラスタを形成するために、前記第1の検出のセットと前記第2の検出のセットとを組み合わせることと、
    を備える、請求項11に記載のコンピュータ実装方法。
  13. 前記第1の特徴ベクトルは、局所集約記述子のベクトルを使用して表される、請求項1乃至12のいずれか一項に記載のコンピュータ実装方法。
  14. 前記第1のピクセルクラスタに関連付けられた前記第1の特性が、前記第2のピクセルクラスタに関連付けられた前記第2の特性に類似していると決定することは、
    前記第1のピクセルクラスタに関連付けられた第1のセットの3次元座標を決定することと、
    前記第2のピクセルクラスタに関連付けられた第2のセットの3次元座標を決定することと、
    前記第1のセットの3次元座標と前記第2のセットの3次元座標との間の距離を計算することと、
    前記距離が距離閾値より小さいとき、前記第1の特性が前記第2の特性に類似していると決定することと、
    を備える、請求項1乃至13のいずれか一項に記載のコンピュータ実装方法。
  15. 前記第1のピクセルクラスタに関連付けられた第1のセットの3次元座標を決定することは、
    前記第1のピクセルクラスタの深度を推定することと、
    前記深度及び前記画像を識別する前記情報に基づいて、前記第1のセットの3次元座標を生成することと、
    を備える、請求項14に記載のコンピュータ実装方法。
  16. プロセッサによって実行されると、前記プロセッサに、請求項1乃至15のいずれか一項に記載の方法を実行させるコンピュータプログラム命令を備える非一時的なコンピュータ可読媒体。
  17. 場所認識のための装置であって、前記装置は、
    第1のシーンの画像を識別する情報を取得することと、ここで、前記画像は複数のピクセルを備え、前記情報はピクセルごとの値を備え、
    前記画像を識別する前記情報における複数のピクセルクラスタを識別することと、前記画像は前記複数のピクセルクラスタにグループ化され、前記複数のピクセルクラスタは、第1のピクセルクラスタと、第2のピクセルクラスタと、を備え、ここで、ピクセルクラスタは1以上のピクセルからなり、
    前記画像を識別する前記情報から、ピクセルクラスタの特徴を数値により示す特徴ベクトルのセットを生成することと、前記特徴ベクトルのセットは、前記第1のピクセルクラスタに関連付けられた第1の特徴ベクトルと、前記第2のピクセルクラスタに関連付けられた第2の特徴ベクトルと、を備え、
    前記第1のシーンのグラフを生成することと、前記グラフは、複数のノードと、ある条件を満たす場合に2つのノードを接続するエッジと、を備え、前記第1のピクセルクラスタを表す第1のノードと、前記第1のノードは、前記第1の特徴ベクトルに関連付けられており、前記第2のピクセルクラスタを表す第2のノードと、前記第2のノードは、前記第2の特徴ベクトルに関連付けられている、を備え、
    前記第1のピクセルクラスタに関連付けられた第1の特性が、前記第2のピクセルクラスタに関連付けられた第2の特性に類似していることが前記条件であり、この条件を満たすと決定することに応答して、前記第1のノードと前記第2のノードとの間に第1のエッジを追加することと、ここで、前記特性は、ピクセルクラスタの座標位置、又はピクセルクラスタに関連付けられたオブジェクトのクラスのラベルであり、前記特性が前記座標位置の場合は2つのピクセルクラスタの座標位置が近いほど2つのピクセルクラスタの特性が類似し、前記特性がクラスの前記ラベルの場合は2つのラベルが同じクラスのグループに属すれば2つのラベルの特性は類似し、
    前記グラフのベクトル表現を生成することと、前記ベクトル表現は、前記ノードと前記エッジとの空間的関係、及びノード間の空間的関係をベクトルにより表し、
    前記グラフの前記ベクトル表現と、参照ベクトル表現との間の類似性の尺度を互いのベクトルにより計算することと、ここにおいて、前記参照ベクトル表現は、第2のシーンに関連付けられており、
    前記類似性の尺度が閾値より小さいと決定することに応答して、前記第1のシーンと前記第2のシーンとが、同じ場所に関連付けられていると決定することと、
    を行うように構成され
    前記装置は、前記グラフの前記ベクトル表現を生成するとき、
    第1のノードベクトルを生成することと、ここにおいて、前記第1のノードベクトルは、前記第1のノードに関連付けられており、
    第2のノードベクトルを生成することと、ここにおいて、前記第2のノードベクトルは、前記第2のノードに関連付けられており、
    を行うように更に構成され、
    前記グラフにおける前記第2のノードは、前記第1のエッジによって、前記グラフにおける前記第1のノードに接続されており、前記装置は、前記第1のノードベクトルを生成するとき、
    前記第1のノードベクトルを、前記第1の特徴ベクトルに等しく設定することと、
    前記第1のノードベクトル及び前記第2のノードベクトルに基づいて、前記第2のノードと前記第1のノードとの間の第1のメッセージを生成することと、ここで、前記第1のメッセージは、前記第1のノードベクトル及び前記第2のノードベクトルがどの割合で出力されるかを制御し、
    前記第1のノードベクトルの値及び前記第1のメッセージに基づいて、前記第1のノードベクトルを更新することと、
    を行うように更に構成されている、装置。
  18. 前記画像は、複数のピクセルを備え、前記複数のピクセルは、前記第1のピクセルクラスタに関連付けられた第1のセットのピクセルと、を備え、前記装置は、前記特徴ベクトルのセットを生成するとき、
    前記第1のセットのピクセルにおける第1のピクセルに関連付けられた第3の特徴ベクトルを生成することと、
    前記第1のセットのピクセルにおける第2のピクセルに関連付けられた第4の特徴ベクトルを生成することと、
    前記第3の特徴ベクトル及び前記第4の特徴ベクトルを総和することによって、前記第1の特徴ベクトルを生成することと、
    を行うように更に構成されている、請求項17に記載の装置。
  19. 前記装置は、前記グラフの前記ベクトル表現を生成するとき
    記第1のノードベクトルと前記第2のノードベクトルとの合計に基づいて、クエリグラフ表現を生成することと、ここで、前記クエリグラフ表現は、あるシーンのグラフ表現を示す、
    を行うように更に構成されている、請求項17又は18に記載の装置。
  20. 前記装置は、前記第2のノードと前記第1のノードとの間の前記第1のメッセージを生成するとき、
    第1の機械学習モデルを使用して、前記第1のノードベクトル及び前記第2のノードベクトルにより決定される第1のセットのゲーティング重みを生成することと
    記第1のノードベクトルと前記第1のセットのゲーティング重みとを乗算して、第1のゲーティングされたベクトルを形成することによって、前記第1のノードベクトルをゲーティングすることと、
    第2の機械学習モデルを使用して、前記第1のノードベクトル及び前記第2のノードベクトルにより決定される第2のセットのゲーティング重みを生成することと
    記第2のノードベクトルと前記第2のセットのゲーティング重みとを乗算して、第2のゲーティングされたベクトルを形成することによって、前記第2のノードベクトルをゲーティングすることと、
    前記第1のゲーティングされたベクトルと前記第2のゲーティングされたベクトルとの合計に基づいて、前記第1のメッセージを生成することと、
    を行うように更に構成されている、請求項19に記載の装置。
  21. 前記第1のシーンの前記グラフは、第3のピクセルクラスタを表す第3のノードを更に備え、前記第3のノードは、第の特徴ベクトルに関連付けられており、前記第3のノードは、第2のエッジによって、前記第1のノードに接続されており、
    前記装置は、
    第3のノードベクトルを生成することと、前記第3のノードベクトルは、前記第3のノードに関連付けられており、
    前記第1の機械学習モデルを使用して、前記第1のノードベクトル及び前記第3のノードベクトルにより決定される第3のセットのゲーティング重みを生成し
    記第1のノードベクトルと前記第3のセットのゲーティング重みとを乗算して、第3のゲーティングされたベクトルを形成することによって、前記第1のノードベクトルをゲーティングし、
    前記第2の機械学習モデルを使用して、前記第1のノードベクトル及び前記第3のノードベクトルにより決定される第4のセットのゲーティング重みを生成し
    記第3のノードベクトルと前記第4のセットのゲーティング重みとを乗算して、第4のゲーティングされたベクトルを形成することによって、前記第3のノードベクトルをゲーティングし、
    前記第3のゲーティングされたベクトルと前記第4のゲーティングされたベクトルとの合計に基づいて、第2のメッセージを生成する、
    ことによって、前記第1のノードベクトル及び前記第3のノードベクトルに基づいて、前記第3のノードと前記第1のノードとの間の前記第2のメッセージを生成することと、
    を行うように更に構成されており、
    前記第1のノードベクトルの前記値及び前記第1のメッセージに基づいて、前記第1のノードベクトルを更新することは、前記第1のノードベクトルの前記値及び前記第1のメッセージと前記第2のメッセージとの合計に基づいて、前記第1のノードベクトルを更新することを備える、
    請求項20に記載の装置。
  22. 場所認識のためにグラフマッチングネットワークをトレーニングするためのコンピュータ実装方法であって、ここにおいて、前記グラフマッチングネットワークは、請求項4又は5に記載のコンピュータ実装方法に使用される前記第1の機械学習モデル又は前記第2の機械学習モデル、請求項6に記載のコンピュータ実装方法に使用される前記第3の機械学習モデル又は前記第4の機械学習モデル、又は、請求項7に記載のコンピュータ実装方法に使用される前記第5の機械学習モデル又は前記第6の機械学習モデル、のうちのいずれか1つの機械学習モデルを備え、前記グラフマッチングネットワークをトレーニングするためのコンピュータ実装方法は、
    トレーニングトリプレットを取得することと、前記トレーニングトリプレットは、クエリグラフと、ポジティブグラフと、ネガティブグラフと、を備え、
    前記1つの機械学習モデルを使用して、前記クエリグラフのクエリベクトル表現を生成することと、
    前記1つの機械学習モデルを使用して、前記ポジティブグラフのポジティブベクトル表現を生成することと、
    前記1つの機械学習モデルを使用して、前記ネガティブグラフのネガティブベクトル表現を生成することと、
    前記クエリベクトル表現と前記ポジティブベクトル表現との間の第1の類似性を決定することと、
    前記クエリベクトル表現と前記ネガティブベクトル表現との間の第2の類似性を決定することと、
    前記第1の類似性及び前記第2の類似性に基づいて、トリプレット損失を生成することと、
    前記トリプレット損失に基づいて、前記1つの機械学習モデルをトレーニングすることと、
    を備える、コンピュータ実装方法。
  23. 前記トリプレット損失に基づいて、前記1つの機械学習モデルをトレーニングすることは、
    誤差逆伝播法及び勾配降下法を使用して、前記1つの機械学習モデルの重みを決定すること
    を備える、請求項22に記載のコンピュータ実装方法。
JP2022045381A 2021-10-15 2022-03-22 全方位場所認識のためのリフトされたセマンティックグラフ埋め込み Active JP7439153B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB2114788.9A GB2612029A (en) 2021-10-15 2021-10-15 Lifted semantic graph embedding for omnidirectional place recognition
GB2114788.9 2021-10-15

Publications (2)

Publication Number Publication Date
JP2023059794A JP2023059794A (ja) 2023-04-27
JP7439153B2 true JP7439153B2 (ja) 2024-02-27

Family

ID=78718427

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022045381A Active JP7439153B2 (ja) 2021-10-15 2022-03-22 全方位場所認識のためのリフトされたセマンティックグラフ埋め込み

Country Status (4)

Country Link
US (1) US12087028B2 (ja)
JP (1) JP7439153B2 (ja)
CN (1) CN115995039A (ja)
GB (1) GB2612029A (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12008478B2 (en) 2019-10-18 2024-06-11 Unlearn.AI, Inc. Systems and methods for training generative models using summary statistics and other constraints
EP4116871A1 (en) * 2021-07-08 2023-01-11 Argo AI GmbH Method and processing unit for processing sensor data of several different sensors with an artificial neural network in a vehicle
US11830267B2 (en) * 2021-08-27 2023-11-28 Optum, Inc. Techniques for digital document analysis using document image fingerprinting
US12020789B1 (en) * 2023-02-17 2024-06-25 Unlearn.AI, Inc. Systems and methods enabling baseline prediction correction
US11966850B1 (en) 2023-02-22 2024-04-23 Unlearn.AI, Inc. Systems and methods for training predictive models that ignore missing features
CN117094895B (zh) * 2023-09-05 2024-03-26 杭州一隅千象科技有限公司 图像全景拼接方法及其系统
CN117292213B (zh) * 2023-11-27 2024-01-30 江西啄木蜂科技有限公司 多类型相机下样本不均衡的松林变色异木识别方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978505A (en) * 1997-03-13 1999-11-02 Massachusetts General Hospital System and method for image regularization in inhomogeneous environments using clustering in neural networks
US6400846B1 (en) * 1999-06-04 2002-06-04 Mitsubishi Electric Research Laboratories, Inc. Method for ordering image spaces to search for object surfaces
US7065242B2 (en) * 2000-03-28 2006-06-20 Viewpoint Corporation System and method of three-dimensional image capture and modeling
US7221794B1 (en) * 2000-12-18 2007-05-22 Sportsvision, Inc. Foreground detection
CN112069336B (zh) * 2020-08-04 2022-10-14 中国科学院软件研究所 一种基于场景草图的细粒度图像检索方法及系统
US11776129B2 (en) * 2020-12-16 2023-10-03 Qualcomm Incorporated Semantic refinement of image regions

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Shiqi Lin et al.,Topology Aware Object-Level Semantic Mapping Towards More Robust Loop Closure,IEEE ROBOTICS AND AUTOMATION LETTERS,米国,IEEE,2021年07月14日,VOL. 6, NO. 4,p.7041ーp.7048,https://ieeexplore.ieee.org/abstract/document/9484819
Xin Kong et al.,Semantic Graph Based Place Recognition for 3D Point Clouds,2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS),米国,IEEE,2021年02月10日,p.8216ーp.8223,https://ieeexplore.ieee.org/abstract/document/9341060

Also Published As

Publication number Publication date
US12087028B2 (en) 2024-09-10
CN115995039A (zh) 2023-04-21
GB202114788D0 (en) 2021-12-01
JP2023059794A (ja) 2023-04-27
US20230118864A1 (en) 2023-04-20
GB2612029A (en) 2023-04-26

Similar Documents

Publication Publication Date Title
JP7439153B2 (ja) 全方位場所認識のためのリフトされたセマンティックグラフ埋め込み
CN111862126B (zh) 深度学习与几何算法结合的非合作目标相对位姿估计方法
CN113537208B (zh) 一种基于语义orb-slam技术的视觉定位方法及系统
Zhang et al. Deep hierarchical guidance and regularization learning for end-to-end depth estimation
Liu et al. Bipartite differential neural network for unsupervised image change detection
CN111583263A (zh) 一种基于联合动态图卷积的点云分割方法
Košecka Detecting changes in images of street scenes
US20230326173A1 (en) Image processing method and apparatus, and computer-readable storage medium
Shi et al. An improved lightweight deep neural network with knowledge distillation for local feature extraction and visual localization using images and LiDAR point clouds
CN111581313A (zh) 一种基于实例分割的语义slam鲁棒性改进方法
Raza et al. Framework for estimating distance and dimension attributes of pedestrians in real-time environments using monocular camera
CN112396036A (zh) 一种结合空间变换网络和多尺度特征提取的遮挡行人重识别方法
CN116385660A (zh) 室内单视图场景语义重建方法及系统
CN116543217A (zh) 一种结构相似的小目标分类识别与位姿估计方法
CN113420648A (zh) 一种具有旋转适应性的目标检测方法及系统
WO2023222643A1 (en) Method for image segmentation matching
CN116664851A (zh) 一种基于人工智能的自动驾驶数据提取方法
Tan et al. A Review of Deep Learning-Based LiDAR and Camera Extrinsic Calibration
Li et al. Few-shot meta-learning on point cloud for semantic segmentation
Wang et al. So-perm: Pose estimation and robust measurement for small objects
Dadgostar et al. Gesture-based human–machine interfaces: a novel approach for robust hand and face tracking
Su et al. Omnidirectional depth estimation with hierarchical deep network for multi-fisheye navigation systems
Lin et al. Using Fully Convolutional Networks for Floor Area Detection.
Sun et al. A Topological Semantic Mapping Method Based on Text-Based Unsupervised Image Segmentation for Assistive Indoor Navigation
Shinohara et al. Image to point cloud translation using conditional generative adversarial network for airborne lidar data

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220620

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20230105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230905

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231102

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: 20240116

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240214

R151 Written notification of patent or utility model registration

Ref document number: 7439153

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151