(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-01
(45)【発行日】2024-02-09
(54)【発明の名称】場所認識のための視覚的オブジェクトインスタンス記述子
(51)【国際特許分類】
G06T 7/70 20170101AFI20240202BHJP
G06T 7/00 20170101ALI20240202BHJP
【FI】
G06T7/70 A
G06T7/00 300D
G06T7/00 350C
(21)【出願番号】P 2022520892
(86)(22)【出願日】2019-12-27
(86)【国際出願番号】 US2019068657
(87)【国際公開番号】W WO2021086422
(87)【国際公開日】2021-05-06
【審査請求日】2022-07-06
(32)【優先日】2019-11-01
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】596060697
【氏名又は名称】マサチューセッツ インスティテュート オブ テクノロジー
(73)【特許権者】
【識別番号】508139000
【氏名又は名称】エーテーハー・チューリッヒ
【氏名又は名称原語表記】ETH Zurich
(74)【代理人】
【識別番号】100117606
【氏名又は名称】安部 誠
(74)【代理人】
【識別番号】100121186
【氏名又は名称】山根 広昭
(74)【代理人】
【識別番号】100136423
【氏名又は名称】大井 道子
(74)【代理人】
【識別番号】100154449
【氏名又は名称】谷 征史
(74)【代理人】
【識別番号】100218084
【氏名又は名称】高橋 俊光
(72)【発明者】
【氏名】ルス, ダニエラ
(72)【発明者】
【氏名】カラマン, セルタチ
(72)【発明者】
【氏名】ギリトシェンスキ, イゴール
(72)【発明者】
【氏名】クラマリック, アンドレイ
(72)【発明者】
【氏名】カデナ, ツェザール
(72)【発明者】
【氏名】シーグワート, ローランド
【審査官】藤原 敬利
(56)【参考文献】
【文献】特開2011-215054(JP,A)
【文献】Yi Hou,Hong Zhang,Shilin Zhou,Evaluation of Object Proposals and ConvNet Features for Landmarkbased,Journal of Intelligent & Robotic Systems,2017年11月07日,第92巻,第505-520頁,https://link.springer.com/article/10.1007/s10846-017-0735-y
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00- 1/40
G06T 3/00- 7/90
G06V 10/00-20/90
G08G 1/00-99/00
H04N 7/18
H04N 23/00
H04N 23/60-23/61
(57)【特許請求の範囲】
【請求項1】
場所認識のための方法であって、
未知の場所について取得された画像を受信するステップと、
前記未知の場所についての前記画像から記述子のセットを計算するステップであって、
前記画像内の事前定義されたクラスの第1のセットから複数のオブジェクトの位置を特定することであって、位置が特定された各オブジェクトに対して前記画像の対応する領域を決定することを含むことと、
少なくとも前記画像
の関連付けられた領域に基づいて、それぞれ位置が特定されたオブジェクトを表す数値ベクトルを構成するように
、記述子生成器を用いて各記述子を計算すること
とを含
み、
ここで、前記記述子生成器は、第2の設定パラメータの値を用いて設定された第2の人工ニューラルネットワークを含み、
前記値は、オブジェクトクラスの第2のセットに従ってオブジェクトとともにアノテーションが付けられた画像と、前記クラス内のオブジェクトのインスタンスと、からなる第2の訓練コーパスから決定され、
前記第2の訓練コーパスは、オブジェクトの同じインスタンスを有する複数の画像と、前記オブジェクトクラスの第2のセットのうちのあるオブジェクトクラスの複数の異なるインスタンスを有する画像とを含む、
ステップと、
参照レコードのデータベースにアクセスするステップであって、各参照レコードは、既知の場所に関連付けられており、前記既知の場所の対応する画像内のオブジェクトに対して以前に計算された記述子のセットを含む、ステップと、
前記未知の場所についての前記画像からの前記記述子のセットを、前記データベースの前記参照レコードとマッチングするステップであって、
前記参照レコードの少なくとも一部の各参照レコードに対して、
前記未知の場所の前記画像から計算された記述子と前記参照レコードの記述子との間のマッチングを表すスコアを決定することと、
前記データベースのベストマッチング参照レコードを決定することと
を含む、ステップと、
前記未知の場所を、前記データベースの前記ベストマッチング
参照レコードに関連付けられた場所として認識するステップと
を含む、
方法。
【請求項2】
前記未知の場所についての前記画像から前記記述子のセットを計算するステップは、
オブジェクトロケータを用いて前記画像を処理して、
前記画像内の前記オブジェクトのセット、
前記オブジェクトのセットの各オブジェクトと関連付けられた前記画像の領域、および
各領域と関連付けられた前記画像の処理済み特徴
を決定
し、
ここで、前記記述子生成器を用いて前記記述子を計算すること
は、
前記オブジェクトのセットの各オブジェクトについて、
前記処理済み特徴を入力すること、および
前記対応する記述子を出力として生成すること
を含む、請求項1に記載の方法。
【請求項3】
前記オブジェクトロケータは、第1の人工ニューラルネットワークを構成する、請求項2に記載の方法。
【請求項4】
オブジェクトについての前記画像の前記処理済み特徴を決定することは、前記画像内の前記オブジェクトの前記決定された領域について、前記第1の人工ニューラルネットワーク内で生成された中間値を使用することを含む、請求項3に記載の方法。
【請求項5】
前記第1の人工ニューラルネットワークを、第1の設定パラメータの値を用いて設定することをさらに含み、前記値は
、オブジェクトクラスの第1のセットに従ってオブジェクトとともにアノテーションが付けられた画像を含む第1の訓練コーパスから決定されている、請求項3に記載の方法。
【請求項6】
前記オブジェクトクラスの第2のセットは、前記オブジェクトクラスの第1のセットとは異なり、前記第1の訓練コーパスは、前記第2の訓練コーパスとは異なる、請求項
5に記載の方法。
【請求項7】
前記第2の設定パラメータの前記値は、前記オブジェクトクラスの第2のセット内のオブジェクトクラスの異なるインスタンスを区別するために選択される、請求項
5に記載の方法。
【請求項8】
前記第1の設定パラメータの前記値を、前記第1の訓練コーパスを用いた人工ニューラルネットワーク訓練手順を用いて決定することをさらに含む、請求項
5に記載の方法。
【請求項9】
前記第2の設定パラメータの前記値を、前記第2の訓練コーパスを用いた人工ニューラルネットワーク訓練手順を用いて決定することをさらに含む、請求項
5に記載の方法。
【請求項10】
前記第2の設定パラメータの前記値を決定するために用いられ
る訓練手順は、前記オブジェクトクラスの第2のセットの各オブジェクトクラス内のオブジェクトインスタンスの区別性を最適化することを含む、請求項
9に記載の方法。
【請求項11】
前記未知の場所についての前記画像からの前記記述子のセットを、前記データベース
の前記参照レコードとマッチングするステップは、前記未知の場所についての前記記述子のセットを前記データベースの第1のレコードの記述子の第1のセットとマッチングすることを含み、
記述子の対の間でスコアを決定することであって、各対は、前記未知の場所についての前記画像からの前記記述子のセットのうちの1つの記述子と、前記データベースからの前記記述子の第1のセットのうちの1つの記述子とを含む、ことと、
前記未知の場所についての前記画像からの前記記述子のセットのうちの一部または全部の記述子のそれぞれと、前記記述子の第1のセットの対応する記述子とのベストマッチングを決定することであって、前記ベストマッチングは、記述子の対の間の前記スコアから決定された対応する最良のスコアを有する、ことと
を含む、請求項1に記載の方法。
【請求項12】
前記未知の場所についての前記記述子のセットを、前記データベースの第1のレコードの記述子の第1のセットとマッチングすることは、エッジ重みが記述子の対の間の前記スコアから決定された二部グラフにおけるグラフマッチング手順を実行することを含む、請求項11に記載の方法。
【請求項13】
コンピュータに実装される場所認識システムであって、
未知の場所の画像を受信するように構成され、前記画像内の事前定義されたクラスのセットからオブジェクトの位置を特定し、位置が特定された各オブジェクトについての前記画像の関連付けられた領域を決定するように構成されたオブジェクトロケータと、
前記オブジェクトロケータによって位置が特定された前記オブジェクトのセットの各オブジェクトについて、少なくとも前記画像の前記関連付けられた領域に基づいて、それぞれ位置が特定されたオブジェクトを表す数値ベクトルを構成する
ように、各記述子を計算するように構成可能な記述子生成器
であって、
ここで、第2の設定パラメータの値を用いて設定された第2の人工ニューラルネットワークを含み、
前記値は、オブジェクトクラスの第2のセットに従ってオブジェクトとともにアノテーションが付けられた画像と、前記クラス内のオブジェクトのインスタンスと、からなる第2の訓練コーパスから決定され、
前記第2の訓練コーパスは、オブジェクトの同じインスタンスを有する複数の画像と、前記オブジェクトクラスの第2のセットのうちのあるオブジェクトクラスの複数の異なるインスタンスを有する画像とを含む、
前記記述子生成器と、
各レコードが既知の場所と関連付けられている複数の参照レコードと、前記既知の場所に関連付けられたオブジェクトの記述子についてのセットとを格納するデータベースと、
前記参照レコードの少なくとも一部の各参照レコードについて、前記未知の場所の前記画像から計算された記述子と、前記参照レコードの記述子との間のマッチングを表すスコアを決定するように構成されたマッチャーと
を備え、
前記場所認識システムは、ベストマッチング
参照レコードに従って前記未知の場所を認識するように構成される、場所認識システム。
【請求項14】
前記オブジェクトロケータは、第1の設定パラメータの値に従って設定可能な第1の人工ニューラルネットワークを構成し、前記記述子生成器は、第2の設定パラメータの値に従って設定可能な第2の人工ニューラルネットワークを構成する、請求項13に記載の場所認識システム。
【請求項15】
前記第1の設定パラメータおよび前記第2の設定パラメータの値を用いて設定され、前記第1の設定パラメータの前記値は
、オブジェクトクラスの第1のセットに従ってオブジェクトとともにアノテーションが付けられた画像を含む第1の訓練コーパスから決定され、前記第2の設定パラメータの値は、オブジェクトクラスの第2のセットに従ってオブジェクトとともにアノテーションが付けられた画像からなる第2の訓練コーパスから決定される、請求項14に記載の場所認識システム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2019年11月1日出願の米国特許出願第16/671,525号の利益を請求するものであり、その内容全体は参照することにより本明細書に組み込まれる。
【背景技術】
【0002】
本出願は、場所認識に関し、より詳細には、そのような場所にあるオブジェクトの記述子に基づく場所認識に関する。
【0003】
低価格のカメラシステムの普及は、スマートフォン、バーチャルリアリティヘッドセット、または消費者向けドローンなど、多数の消費者製品に自己位置推定および地図作成の同時実行(Simultaneous Localization and Mapping、SLAM)アルゴリズムの搭載を可能にする。同時に、この技術は、自動運転におけるいくつかの位置決め情報源の1つとしても機能する。さらに商業的な応用範囲を広げるための主な科学的課題の1つは、依然として、動的環境下で動作したときであっても視点および外観の条件に依存しない、視覚的な場所認識システムを作り出すことである。
【0004】
視覚的場所認識アプローチによっては、スケール不変特徴変換(Scale Invariant Feature Transform、SIFT)記述子などの多数の局所記述子を用いるか、またはGISTなどの画像全体の記述子に依存する。局所記述子はノイズが多く、文脈情報をほとんど提供せず、照明条件が劇的に変化すると性能が低下する。しかし、局所記述子の利点は、マッチングした2つの画像間の変換行列を計算するために使用できることである。一方、グローバル記述子は同時に画像全体をコンパクトな形態で記述する。グローバル記述子は、文脈情報を含むが、より低速で視点変更により影響されやすい。
【0005】
近年のディープラーニングに基づくオブジェクトの検出の進歩により、検出されたオブジェクトを高レベルのナビゲーションランドマークとして利用することに大きな関心が持たれている。オブジェクト検出器は、オブジェクトクラスに関する情報を提供し得る。しかし、オブジェクトクラスは、場所認識のための探索空間を制約するのに十分に特徴的でない場合がある。その結果、オブジェクトに基づくループ閉じ込みおよび場所認識のためのアプローチは、典型的に、既存の3次元(3D)オブジェクトモデル、またはオブジェクトセグメンテーションのための深さ情報の利用可能性に依存する。しかし、大規模な環境、特にメモリ、電力、または帯域幅が限られたモバイル機器を使用する場合、非常に詳細なオブジェクトモデルを格納し検索することは非常にコストがかかり得る。したがって、フル3Dオブジェクトモデルを必要とせずに、オブジェクトインスタンスのマッチングに基づいて場所を認識することは大いに興味深い。
【発明の概要】
【0006】
一般的な態様では、画像(または画像のセット)から場所認識するためのアプローチは、既知の場所のセットでのオブジェクトの事前検出、ならびに未知の場所でのオブジェクトの検出を利用する。既知または未知の場所の画像内で検出されたオブジェクトの画像は、それぞれの数値記述子を得るために処理される。これらの計算された記述子を使用して、未知の場所を既知の場所と比較し、未知の場所を認識する。少なくともいくつかの実施形態は、訓練されたパラメータ化画像プロセッサを利用してオブジェクトの画像をオブジェクト記述子に変換し、プロセッサの訓練は、あるタイプのオブジェクトの異なるインスタンス間の区別、ならびにまったく異なるタイプのオブジェクト間の区別を保持することが意図されている。少なくともいくつかの実施形態は、ある場所におけるすべての既知のオブジェクトより少ないものを捉えることを可能にし、検出されたオブジェクトと既知の場所における既知のオブジェクトとの関連付けにおける曖昧性を許容する。いくつかのそのようなアプローチは、グラフマッチングアプローチを利用する。
【0007】
一態様では、一般に、場所認識のための方法は、未知の場所について取得された画像を受信することを伴う。記述子のセットが、未知の場所についての画像から計算される。この計算は、画像内の事前定義されたクラスの第1のセットからオブジェクトの位置を特定することと、位置が特定された各オブジェクトに対して画像の対応する領域を決定することとを含む。各記述子は、少なくとも画像の関連付けられた領域に基づいて、それぞれ位置が特定されたオブジェクトを表す数値ベクトルを構成するように計算される。参照レコードのデータベースがアクセスされ、各参照レコードは、既知の場所に関連付けられており、その既知の場所の対応する画像内のオブジェクトに対して以前に計算された記述子のセットを含む。未知の場所についての画像からの記述子のセットは、データベースの参照レコードとマッチングされる。このマッチングは、参照レコードの少なくとも一部の各参照レコードに対して、未知の場所の画像から計算された記述子と参照レコードの記述子との間のマッチングを表すスコアを決定することを含む。データベースのベストマッチング参照レコードが決定され、未知の場所は、データベースのベストマッチングレコードに関連付けられた場所であると認識される。
【0008】
別の態様では、一般に、コンピュータに実装される場所認識システムは、未知の場所の画像を受信するように構成され、画像内の事前定義されたクラスのセットからオブジェクトの位置を特定し、位置が特定された各オブジェクトに対して画像の関連付けられた領域を決定するように構成可能なオブジェクトロケータを備える。本システムは、オブジェクトロケータによって位置が特定されたオブジェクトのセットの各オブジェクトについて、少なくとも画像の関連付けられた領域に基づいて、それぞれ位置が特定されたオブジェクトを表す数値ベクトルを構成する記述子を計算するように構成可能な記述子生成器を備える。データベースは、各レコードが既知の場所と関連付けられている複数の参照レコードと、その既知の場所に関連付けられたオブジェクトの記述子についてのセットとを格納するために使用される。マッチャーは、参照レコードの少なくとも一部の各参照レコードについて、未知の場所の画像から計算された記述子と、参照レコードの記述子との間のマッチを表すスコアを決定するように構成される。場所認識システムは、ベストマッチングレコードに従って未知の場所を認識するように構成される。
【0009】
態様は、以下の特徴のうちの1つまたは複数を包含していてもよい。
【0010】
未知の場所についての画像から記述子のセットを計算することは、オブジェクトロケータを使用して画像を処理し、画像内のオブジェクトのセット、オブジェクトのセットの各オブジェクトに関連付けられた画像の領域、および各領域に関連付けられた画像の処理済み特徴を決定することを含む。
【0011】
記述子を計算することは、記述子生成器を用い、オブジェクトのセットの各オブジェクトについて、オブジェクトロケータから処理済み特徴を入力し、対応する記述子を出力として生成することを含む。
【0012】
オブジェクトロケータは、第1の人工ニューラルネットワークを構成し、記述子生成器は、第2の人工ニューラルネットワークを構成する。
【0013】
オブジェクトについて画像の処理済み特徴を決定することは、画像内のオブジェクトの決定された領域について、第1の人工ニューラルネットワーク内で生成された中間値を使用することを含む。
【0014】
第1の人工ニューラルネットワークは、第1の設定パラメータの値を用いて設定され、これらの値は、オブジェクトクラスの第1のセットに従ってオブジェクトとともにアノテーションが付けられた画像を含む第1の訓練コーパスから決定されている。
【0015】
第2の人工ニューラルネットワークは、第2の設定パラメータの値を用いて設定され、これらの値は、オブジェクトクラスの第2のセットに従ってオブジェクトとともにアノテーションが付けられた画像と、上記クラス内のオブジェクトのインスタンスと、からなる第2の訓練コーパスから決定されている。第2の訓練コーパスは、オブジェクトの同じインスタンスを有する複数の画像と、オブジェクトクラスの第2のセットのうちのあるオブジェクトクラスの複数の異なるインスタンスを有する画像とを含む。
【0016】
オブジェクトクラスの第2のセットは、オブジェクトクラスの第1のセットとは異なり、第1の訓練コーパスは、第2の訓練コーパスとは異なる。
【0017】
第2の設定パラメータの値は、オブジェクトクラスの第2のセット内のオブジェクトクラスの異なるインスタンスを区別するために選択される。
【0018】
第1の設定パラメータの値は、第1の訓練コーパスを用いた人工ニューラルネットワーク訓練手順を用いて決定される。
【0019】
第2の設定パラメータの値は、第2の訓練コーパスを用いた人工ニューラルネットワーク訓練手順を用いて決定される。
【0020】
第2の設定パラメータの値を決定するために用いられる訓練手順は、オブジェクトクラスの第2のセットの各オブジェクトクラス内のオブジェクトインスタンスの区別性を最適化する。
【0021】
未知の場所についての画像からの記述子のセットを、データベースのレコードとマッチングするステップは、未知の場所についての記述子のセットをデータベースの第1のレコードの記述子の第1のセットとマッチングすることを含む。記述子の第1のセットとマッチングすることは、記述子の対の間でスコアを決定することを含み、各対は、未知の場所についての画像からの記述子のセットのうちの1つの記述子と、データベースからの記述子の第1のセットのうちの1つの記述子とを含む。未知の場所についての画像からの記述子のセットのうちの一部または全部の記述子と、記述子の第1のセットの対応する記述子とのそれぞれのベストマッチは、記述子の対の間のスコアから決定された対応する最良のスコアを有する。
【0022】
未知の場所についての記述子のセットを、データベースの第1のレコードの記述子の第1のセットとマッチングすることは、エッジ重みが記述子の対の間のスコアから決定されている二部グラフにおけるグラフマッチング手順を実行することを含む。
【0023】
1つまたは複数の実施形態の利点は、ターゲットドメインからの広範囲な訓練データを必要とせずに、ターゲットドメインにおける各クラス内のオブジェクトの異なるインスタンスだけでなく、オブジェクトの異なるクラスを区別するように構成される一方で、オブジェクトの大規模なデータベースに対する訓練から恩恵を受けるオブジェクト記述子の生成器の使用に関する。大規模な訓練済みデータベースを用いる1つの利点は、オブジェクト記述子生成器が、照明、視点などの画像取得条件に対してよりロバストであり得ることである。
【0024】
別の利点は、既知の場所に関連付けられたオブジェクトのサブセットのうちのオブジェクトと、未知の場所の取得画像(または複数の画像)で見出されるオブジェクトのペアワイズマッチングから得られるロバストマッチングを含むことができる。さらに、オブジェクト間の幾何学的関係に依存しないことによって、このアプローチは、視点の変化、およびある場所におけるオブジェクトの位置の変化に対してロバストである。
【0025】
本発明の他の特徴および利点は、以下の発明を実施するための形態および特許請求の範囲から明らかである。
【図面の簡単な説明】
【0026】
【
図1】動作のために認識する部屋を含む、上記動作中の例示的場所認識システムである。
【0027】
【
図2】動作中の場所認識システムが行うステップを詳細に示すフローチャートである。
【0028】
【発明を実施するための形態】
【0029】
1 概要
図1を参照すると、場所認識システム100の例は、その場所の画像106を処理して画像内のオブジェクトを識別し、それらのオブジェクトを既知の場所に関連付けられたオブジェクトと比較することによって、未知の場所102を識別するために使用される。例えば、それらの既知の場所で以前に発見されたオブジェクトは、既知の場所をオブジェクトと関連付けるデータベース116に表されている。オブジェクトの識別は、画像内の識別されたオブジェクトの各インスタンスに対して数値記述子(例えば、固定長の実数値ベクトル)を決定することを含む。以下でさらに論じられるように、これらの記述子は、オブジェクトのタイプ(クラス)(例えば、植物と比較した時計)を区別できるとともに、同じクラス内のオブジェクトの異なるインスタンス(例えば、アラビア数字の時計とローマ数字の時計)を区別できるという特性を有する(または少なくともそのような特性を有するように設計されている)。所望により、記述子は、クラス間で区別されるように設計されてもよい。
【0030】
図1では、認識段階(すなわち、後述する事前訓練段階とは異なる)中のシステム100の動作は、画像が以前に取得された既知の部屋のセットから未知の部屋102を認識するという例示的な問題に適用されて示されている。
図1および
図2の対応するフローチャートを参照すると、識別プロセスは、カメラ104または他の撮像デバイスを用いて部屋102の画像106(またはより一般的には画像のセット、ビデオフレームのシーケンスなど)を取得するステップ310で開始される。例えば、画像106は、ユーザ、ロボットなどが部屋に入った後に取得される。
図1に示す例では、部屋102は、テーブル103a、ランプ103b、時計103c、第1の植物103d、および第2の植物103eを含む物理的オブジェクトのセット103を含むものとして示されている。部屋の画像106は、部屋の2次元表現であり、一般に、画像106が必ずしもオブジェクト103a~eそれぞれを捉えておらず、本質的に特定の視点からの部屋のビューのレンダリングであるという意味で、3次元の部屋の部分画像である。例えば、カメラの視点に基づいて、部屋の中のオブジェクトの一部のみが捉えられる。この説明例では、画像106は、時計103cおよび第1の植物103dの2D表現を含むが、テーブルランプ103bおよび第2の植物103eは撮像視野の外にあり、テーブル103aはビューから遮られている。さらに、画像は、必ずしも、システムを訓練するために使用されていた可能性のある部屋の以前の画像の視点または照明条件と一致している必要はない。
【0031】
オブジェクトロケータ/記述子生成器108は、画像106を処理して、画像内のオブジェクトのインスタンスを位置付け、位置が特定されたオブジェクトの記述子のセット112を生成する(ステップ320)。この例では、記述子のセットは、時計103cに対応する第1の記述子112aと、第1の植物103dに対応する第2の記述子112bとを含む。以下により詳細に説明されているように、本実施形態では、オブジェクトロケータ/記述子生成器108は、2つのステップのシーケンスを実行する。すなわち、まず画像内でどのオブジェクト(すなわち、オブジェクトのクラス)の位置を特定することができるかについての決定を行うステップ(ステップ322)と、次に、位置が特定された各オブジェクトと関連付けられた画像の部分を処理し、そのオブジェクトのインスタンスのための記述子を決定し(ステップ324)、前のステップで位置が特定された各オブジェクトに対して1つの記述子を生成するステップとが実行される。これらのステップは、それぞれ、ロケータ/記述子生成器108に提供される設定パラメータ110の値を用いて設定される機械学習モデルを利用する。これらの機械学習モデルの詳細、および設定パラメータの値を決定するプロセス(「訓練」)を以下で記述する。
【0032】
記述子のセット112を決定した後、システムはマッチャー114を適用して、決定したセットをデータベース116内のデータと比較する(ステップ330)。本実施形態では、データベースは、レコード118のセット(「参照レコード」)を含む。各レコード118は、特定の既知の部屋に対応し、その既知の部屋についての画像または画像のセットにおいて以前に発見されたオブジェクトの記述子120を含む。一般に、マッチャーは、データベースの各レコードを調べ(第1のレコードにアクセスするステップ332および後続の各レコードのためのステップ340)、未知の部屋のオブジェクトとそのレコードに表されるオブジェクトとをマッチングし(ステップ336)、データベースのどのレコード118が画像106から決定された記述子のセット112に最もマッチングするかを記録し(ステップ342)、そのベストマッチングレコードを用いてどの既知の部屋が未知の部屋に最もマッチングするかを決定して未知の部屋を認識する(ステップ350)。
【0033】
各既知の部屋についての記述子と同様に、未知の部屋についての各記述子は、記述子に関連付けられた関連オブジェクトクラス識別子を有する(
図1には示されていない)。これらのオブジェクトクラス識別子は、後述するように、マッチング手順においてマッチャー114によって使用される。
【0034】
マッチャー114は、未知の部屋についての画像106において決定された記述子のセット112におけるよりも多くのオブジェクトについての記述子120を有する既知の部屋のための参照レコード118を収容し、データベース内のレコード内にはないオブジェクトを含む記述子のセット112をさらに収容する。例えば、データベースが形成された後に、新しいオブジェクトが部屋に置かれた場合があり、上述したように、カメラの視点に基づいて特定のオブジェクトが省略される場合がある。さらに、マッチャー114は、例えば、2つの類似のオブジェクトが存在する場合(例えば、植物103dおよび植物103eのように2つの見た目が似ている植物)、記述子(およびそれらの対応するオブジェクトインスタンス)の最良の関連性を見つけ出すように構成される。
【0035】
2 オブジェクトロケータ/記述子生成器
図1を参照して上記で紹介したように、本実施形態のオブジェクトロケータ/記述子生成器108は、オブジェクトの位置を特定し、次いで記述子生成という2段階で動作する。これら2つの段階のそれぞれを後述する。
【0036】
2.1 オブジェクトロケータ
オブジェクトロケータは、画像106のピクセルを処理して、オブジェクトロケータの訓練で使用されるオブジェクトタイプのセットに対応するオブジェクトのバウンディングボックスを決定する畳み込みニューラルネットワークアプローチを利用する。しかしながら、オブジェクトロケータの訓練が、既知の部屋における特定のオブジェクトインスタンスの例を有していたこと、または部屋におけるオブジェクトクラスの例を有していたことさえも、要件ではないことに留意されたい。むしろ、オブジェクトロケータは、より一般的には画像内の関心区域のセットを識別すると考えることができ、その後、これらの関心区域は、後述する記述子生成器を含むさらなる処理に使用される。
【0037】
オブジェクトロケータは、参照することにより本明細書に組み込まれているRedmon,Joseph, and Ali Farhadi“YOLO9000:better,faster,stronger,”In Proceedings of the IEEE conference on computer vision and pattern recognition,pp.7263-7271,2017に記載の「YOLOv2」と呼ばれるアプローチに基づく畳み込みニューラルネットワーク(Convolutional Neural Network、CNN)アプローチを使用する。非常に一般的には、画像を処理したYOLOv2システムの出力は、位置が特定されたオブジェクトのセットを含み、ここで、出力中の各オブジェクトについて、バウンディングボックス(4つの値)、信頼度/オブジェクト検出スコア(1つの値)、およびオブジェクトクラス確率(クラスごとに1つの値、例えば、20のオブジェクトクラスに対して20の値)を含む。
【0038】
オブジェクトロケータでYOLOv2アプローチを使用する際、位置が特定されたオブジェクトごとにさらなる出力が抽出される。特に、ニューラルネットワークの出力層の出力ユニットで信頼度/オブジェクト検出値が計算され、その出力ユニットへの入力がさらなる処理のための特徴量として使用される。YOLOv2アーキテクチャでは、これらの値は、ニューラルネットワークの最後から2番目の層の出力と、「スキップ接続」アーキテクチャで前倒しされた1つまたは複数の下位層からの出力とを含むことに留意されたい。本実施形態では、このようにオブジェクトを表す値の数は1024の値をとる。オブジェクト全体のこれらのNNN次元表現は、オブジェクトの「特徴量」と呼ばれ、サイズM×Nのバウンディングボックスに対して、事実上、オブジェクトのインスタンスを表すM*N*NNNの値がある。
【0039】
2.2 記述子生成器
記述子生成器は、オブジェクトロケータの出力を受信する。本実施形態では、記述子生成器は、M*N*NNNの特徴量のみを使用し、クラス確率、信頼度、およびバウンディングボックスの特定の位置は無視する。
【0040】
図3を参照すると、記述子生成器は、2つの畳み込み層および2つの全結合層を有する畳み込みニューラルネットワークであり、最後の層の出力が出力記述子である。オブジェクトロケータによって決定された可変サイズのバウンディングボックスから生じる可変サイズの入力を考慮するために、グローバル「最大プーリング」が畳み込み層の出力に対して実行される。記述子生成器の出力は、512の実数値からなるベクトルである。
【0041】
3 マッチャー
上記で紹介したように、マッチャーの機能は、未知の部屋の記述子のセット112と、データベース内の各既知の部屋の記述子120のセットとを比較することである。マッチャーは、2つのそのようなセット間でスコアを形成し(
図2のステップ336)、そのスコアが大きいほど、記述子はより類似している。
【0042】
記述子の2つのセット、例えば、未知の部屋についてのN個の記述子と既知の部屋についてのM個の記述子のセットとの間のスコアは、まず、同じクラスの記述子、すなわち未知の部屋からのある記述子と既知の部屋からのある記述子との間のペアワイズ距離を計算することによって求められる。この実施態様では、記述子aと記述子bとの間のユークリッド距離||da-db||を距離として用いる。
【0043】
ユークリッド距離を直接用いるのではなく、オブジェクトクラスqに関連付けられた(すなわち、オブジェクトロケータによって決定される)未知の部屋からの記述子dは、データベース116の任意の既知の部屋における同じクラスのすべてのNq個の記述子(すなわち、全レコードからプーリングされたもの)と比較される。すなわち、そのクラスの既知の記述子は、d1,d2,...dNqと表すことができる。記述子dとデータベース内の特定の記述子diとの間のスコアは、距離||d-di||によって順序付けられるその記述子のランクによって定義される。ベストマッチをランク1、ワーストマッチをランクNqとするこのランクri=ランク(di,d,q)は、si=exp(-10riN-1
q)としてスコアに変換され、ここで、スケール値10は、実験的に決定される。すなわち、同じクラスのワーストマッチング記述子は、smin=exp(-10)(すなわち、ゼロに近い)スコアを有するのに対し、最もマッチングが良い記述子は、例えば、Nq=100であれば5x10-5~0.9までの、またはNq>1000であればおよそ1.0までの範囲のスコアsmax=exp(-10N-1
q)を有するであろう。
【0044】
少なくとも概念的には、未知の部屋の記述子と既知の部屋の記述子との間の関係は、未知の部屋についてのN個の記述子に対応するN個のノードが、最大N*M個のリンクを介して既知の部屋のM個のノードにリンクされてもよく、それぞれがそのリンクに関連付けられた記述子間のスコアによって重み付けされる2部グラフとして表すことができる。異なるクラスのノードはリンクされないことに留意されたい。次に、記述子の2つのセット間のスコアは、例えば、参照することにより本明細書に組み込まれているGalil,Zvi,“Efficient algorithms for finding maximum matching in graphs.”ACM Computing Surveys(CSUR)18,no.1(1986):23-38に記載されているマッチングアルゴリズムを用いて、ノードのマッチングに従って決定される。すなわち、目標は、各記述子が他のセットの0または1つの記述子とマッチングし得るという制約の下で、マッチングした記述子のスコアの合計を最大化することである(すなわち、未知の場所のセットからの記述子が既知の場所のセットからの複数の記述子とマッチングしてはならず、既知の場所のセットからの記述子が未知の場所のセットからの2つ以上の記述子とマッチングしてはならない)。このマッチングは、参照したZviの論文で説明されているように、最大フロー問題として効率的に実施できることを理解すべきである。したがって、未知の部屋についての記述子のセットと、既知の部屋のそれぞれについての記述子のセットとの間には、1つのスカラー実数値スコアが存在する。
【0045】
上記で紹介したように、マッチャーはデータベース内の各レコード(すなわち各部屋)を考慮し、最大グラフマッチングスコアを有するレコードを認識された部屋として戻す。
【0046】
4 訓練
上記で紹介したように、オブジェクトロケータ/記述子生成器108(
図1参照)は、設定パラメータ110の値を用いてパラメータ化されている。また、上述したように、オブジェクトロケータ/記述子生成器の2つのコンポーネント、すなわち、オブジェクトロケータおよび記述子生成器がある。これらのコンポーネントはそれぞれ、別個の訓練手順を用いて決定される別個の設定パラメータを有する。
【0047】
4.1 オブジェクトロケータの訓練
オブジェクトロケータは、画像のデータベースを用いて訓練され、各画像は、画像で見出され得る定義済みのオブジェクトクラスのセットからさまざまなオブジェクトのクラスラベルおよびバウンディングボックスアノテーションを含む。いくつかの実験では、オブジェクト検出器はCOCOデータセット(T.-Y.Lin,M.Maire,S.Belongie,J.Hays,P.Perona,D.Ramanan,P.Dollar,and C.L.Zitnick,“Microsoft COCO: Common Objects in Context,” In ECCV,2014)およびADE20Kデータセット(B.Zhou,H.Zhao,X.Puig,S.Fidler,A.Barriuso,and A.Torralba,“Scene Parsing through ADE20K Dataset,”In CVPR,2017)を用いて訓練される。これらのデータセットは、さまざまなオブジェクトカテゴリに対するバウンディングボックスアノテーションを有する画像を含む。80のオブジェクトカテゴリがアノテーションされているCOCOデータセットからは、室内環境に現れ、比較的静的な15カテゴリのみを使用した。さらに、ADE20Kデータセットのより具体的なカテゴリのいくつかを統合することによって、10個の異なるオブジェクトカテゴリを形成した。選択されたカテゴリは、COCOデータセットでは約45k画像、ADE20Kデータセットでは約10k画像で出現する。
【0048】
4.2 記述子生成器の訓練
記述子生成器の訓練の目標は、同じオブジェクトインスタンスを比較したときにユークリッド距離が小さく、異なるオブジェクトインスタンス由来の場合はユークリッド距離が大きくなる記述子を生成することである。上記マッチング手順では、オブジェクトロケータによって同じクラスだとみなされたオブジェクトの記述子のみが比較される。訓練手順は、
図3に示す構造を有するニューラルネットワークの重みを決定する。
【0049】
訓練手順は、F.Schroff,D.Kalenichenko,and J.Philbin,“FaceNet:A Unified Embedding for Face Recognition and Clustering,”In CVPR,2015に記載されているように、「トリプレット(triplet)」損失関数を使用する。トリプレット損失は、アンカー、ポジティブサンプルおよびネガティブサンプルから形成される画像トリプレットに基づく。本訓練アプローチでは、これらは、参照オブジェクト、異なる画像内の同じオブジェクトインスタンス、および他の任意のオブジェクトの特徴量である。ネガティブサンプルは、どのクラスの由来であってもよいため、誤分類に対するロバスト性を記述子に与えることができる。訓練が進むにつれて、適度に難しいトリプレット選択処理により、異なるクラス由来のネガティブサンプル中のオブジェクトの割合が減少する。
【0050】
トリプレット損失は、descaと表されるアンカー、descpと表されるポジティブサンプルおよびdescnと表されるネガティブサンプルから生成された記述子を用いて計算される。その後、アンカー記述子と他の2つの記述子との間のユークリッド距離が、
dp=||desca-descp||,およびdn=||desca-descn||
に従って計算され、dpおよびdnを用いて、トリプレット損失Lは、
L=max(0,dp-dn+M)
と定義され、式中、Mは、ポジティブサンプルとネガティブサンプルとの間の最小の望ましい分離を示すマージンパラメータである。
【0051】
記述子の訓練中、オブジェクト検出器ネットワークの重みは、トリプレット損失をネットワークのオブジェクト検出部に伝搬させないことによって固定されたままである(すなわち、オブジェクトロケータネットワークによって生成される特徴量は記述子生成器の訓練中に変化しない)。収束を保証し、訓練プロセスを高速化するために、上記で引用したSchroffの参考文献に従い、訓練法に対して2つの条件が用いられる。1つ目の条件は、適度に難しいトリプレット、すなわち、条件dp<dnを満たすトリプレットのみを用いて訓練を行うことである。この条件では、ポジティブサンプルとネガティブサンプルとの間に正しい分離が既に存在し、それがマージンよりも小さければ潜在的に改善され得るトリプレットのみを使用する。最も難しいトリプレットから開始しないことにより、分類器に早い段階で負担をかける(overwhelm)ことを避け、f(x)=0の一定のマッピングへと収束させる。その後、訓練中にネットワークの記述力が増大すると、形成されるトリプレットの難易度も高くなる。
【0052】
訓練プロセスに課された2つ目の条件は、ミニエポックの使用である。エポックとは、限られた数のオブジェクトインスタンスをランダムに選択し、選択されたオブジェクトのそれぞれを表す一定量の画像のみを撮影することによって形成される。これらの画像から、使用可能なすべてのポジティブペアリングが形成され、ネガティブサンプルはデータセット全体からランダムに選択される。同様に、この制限により、一度にデータセットのわずかな部分のみに焦点を当てることによって記述子に負担をかけることを避けることができる。
【0053】
記述子生成器は、オブジェクトロケータとは異なるデータで訓練される。その理由の1つは、オブジェクトロケータに使用されるデータセットが、画像間のオブジェクトインスタンスの関連付けに関する情報を含んでいないためである。そこで、主に住宅を含むアノテーション付き3Dメッシュおよび画像の集合であるMatterport3Dデータセットが使用された(Chang,Angel,Angela Dai,Thomas Allen Funkhouser,Maciej Halber,Matthias Niebner,Manolis Savva,Shuran Song,Andy Zeng, and Yinda Zhang.”Matterport3D: Learning from RGB-D data in indoor environments.” In 7th IEEE International Conference on 3D Vision,3DV 2017,pp.667-676.Institute of Electrical and Electronics Engineers Inc.,2018)。Matterport3Dデータは、オブジェクトロケータがバウンディングボックスのIntersection Over Union(IoU)が0.5超で類似オブジェクトを検出できたバウンディングボックスアノテーションのみを残すように制限された。この基準を用い、合計16kインスタンスの合計約2000個のオブジェクトが使用された。
【0054】
Matterport3Dデータセットはポーズが異なっていてもよいが、各家は一度だけ撮影されているため、同じオブジェクトの異なるインスタンスに対する照明に変化がないことに留意すべきである。
【0055】
5 データベース構築
既知の場所のデータベース116の構築は、オブジェクトロケータおよび記述子生成器の訓練とは独立している。いくつかの例では、既知の部屋についての画像が収集され、未知の部屋について
図1に示すのと同様に記述子が生成される。その既知の部屋についての記述子のセットは、その後、既知の部屋についての識別子と関連するデータベースに格納される。マッチング中、既知の部屋の1つの画像に対応する記述子のベストマッチングセットが決定された後、既知の部屋についてのその識別子は、認識結果として戻すために利用できる。
【0056】
6 代替案および実施態様
オブジェクトロケータ/記述子生成器の代替構造を使用してもよいと認識すべきである。例えば、オブジェクトロケータおよび記述子生成器は、1つのニューラルネットワークに組み込まれ、一緒に訓練されてもよい。さらに、(例えば、CNNsとは対照的に)他のタイプの機械学習技術がこれらのコンポーネントに使用されてもよい。
【0057】
代替的なマッチングスコアを使用してもよく、ならびに他の距離またはスコアアプローチを使用してもよく、好ましくは、単に検出されたオブジェクトのクラスに依存するのではなく、訓練されたインスタンス記述子を使用して、検出されたオブジェクトと参照されたオブジェクトとのマッチングに異なるアプローチを使用してもよい。
【0058】
いくつかの代替案では、場所の以前の最良の画像をマッチングするのではなく、場所の複数の画像を組み合わせて、場所の複数の視点で見出されるすべてのオブジェクトを含む複合参照レコードを形成してもよい。また、オブジェクトの記述子は、異なる参照画像から異なる記述子を維持するのではなく、複数の画像から導出(例えば、平均化)してもよい。
【0059】
他の代替的アプローチは、オブジェクト間の3Dの幾何学的関係を利用してもよいことに留意されたい。このような幾何学的考察は、例えば、オブジェクトが参照画像と未知の画像とで両立する幾何学的関係にある場合、より高いスコアを生成する。
【0060】
このアプローチは、単に既知の場所のセットから認識するのではなく、他のタイプの問題にも適用可能である。同様のスコアアプローチは、場所によってラベル付けされていない画像の教師なしクラスタリング、および場所の画像の類似性をマッピングタスクで以前の画像と比較できる自己位置推定および地図作成の同時実行(SLAM)などの用途で使用してもよい。
【0061】
上記技術は、ソフトウェア、ハードウェア、またはソフトウェアとハードウェアとの組み合わせで実施することができる。異なるシステムは、アプローチの異なる態様、例えば、オブジェクトロケータの訓練、記述子生成、および参照データベースの構築に使用してもよい。非一時的な機械可読媒体に格納され得るソフトウェアは、汎用プロセッサ、特定のプロセッサアーキテクチャ、例えば、グラフィックプロセッサユニット(GPU)に見出される並列アーキテクチャ、または仮想プロセッサ上で実行するための命令を含むことができる。ハードウェアとして、特定用途向け集積回路(ASIC)、または設定可能な回路(例えば、フィールドプログラマブルゲートアレイ、FPGA)を挙げることができ、ハードウェアは、機械可読媒体に格納された設計構造で表されてもよく、設計構造は、ハードウェアを製造するプロセスに用いるための命令(例えば、Verilog)を含む。
【0062】
上記の説明は例示を意図しており、添付の特許請求の範囲で定義される本発明の範囲を制限することを意図していないことを理解されたい。他の実施形態は以下の特許請求の範囲に包含される。