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

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

▶ ネイバー コーポレーションの特許一覧

<>
  • 特許-連帯的な検出と記述システムおよび方法 図1
  • 特許-連帯的な検出と記述システムおよび方法 図2
  • 特許-連帯的な検出と記述システムおよび方法 図3
  • 特許-連帯的な検出と記述システムおよび方法 図4
  • 特許-連帯的な検出と記述システムおよび方法 図5
  • 特許-連帯的な検出と記述システムおよび方法 図6
  • 特許-連帯的な検出と記述システムおよび方法 図7
  • 特許-連帯的な検出と記述システムおよび方法 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-07
(45)【発行日】2024-10-16
(54)【発明の名称】連帯的な検出と記述システムおよび方法
(51)【国際特許分類】
   G06T 7/00 20170101AFI20241008BHJP
   G06V 10/764 20220101ALI20241008BHJP
【FI】
G06T7/00 350C
G06V10/764
【請求項の数】 26
【外国語出願】
(21)【出願番号】P 2020101352
(22)【出願日】2020-06-11
(65)【公開番号】P2021093117
(43)【公開日】2021-06-17
【審査請求日】2023-06-07
(31)【優先権主張番号】16/710,547
(32)【優先日】2019-12-11
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】505205812
【氏名又は名称】ネイバー コーポレーション
【氏名又は名称原語表記】NAVER Corporation
(74)【代理人】
【識別番号】110004381
【氏名又は名称】弁理士法人ITOH
(72)【発明者】
【氏名】ジェロム ルボー
(72)【発明者】
【氏名】セザール ドゥ スーザ
(72)【発明者】
【氏名】マルテン ユーマンベルゼ
(72)【発明者】
【氏名】フィリップ バインザエペル
【審査官】小池 正彦
(56)【参考文献】
【文献】欧州特許出願公開第02631845(EP,A1)
【文献】特開2016-177804(JP,A)
【文献】Quan Miao; Yanfeng Gu,Kernel-Based Online Object Tracking via Gaussian Mixture Model Learning,2016 Sixth International Conference on Instrumentation & Measurement, Computer, Communication and Control (IMCCC),米国,IEEE,2016年07月21日,p.522-525,https://doi.org/10.1109/IMCCC.2016.130
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06V 40/764
(57)【特許請求の範囲】
【請求項1】
イメージ内の特徴点を検出し、記述するためのシステムであって、
複数のピクセルを含むイメージをキャプチャするように構成されたカメラと、
連帯的で同時にそれぞれのピクセルの記述子を生成し、前記それぞれのピクセルの信頼性スコアを生成し、前記それぞれのピクセルの反復性スコアを生成するように構成された全層畳み込みネットワークと、
前記ピクセルの前記信頼性スコアおよび前記反復性スコアに基づいて、前記それぞれのピクセルのスコアを生成するように構成されたスコアリングモジュールと、
上位X個のスコアを有する前記ピクセルのうちX個を選択し、ここで、前記Xは、1より大きい整数であり、前記選択されたX個のピクセルの位置および前記選択されたX個のピクセルの記述子を含む特徴点リストを生成するように構成された特徴点リストモジュールとを含む、システム。
【請求項2】
前記スコアリングモジュールは、前記ピクセルのうち1つのピクセルのスコアを、前記ピクセルのうち前記1つのピクセルの反復性スコアと前記ピクセルのうち前記1つのピクセルの信頼性スコアを乗じたものと同一に設定する、請求項1に記載のシステム。
【請求項3】
前記全層畳み込みネットワークは、前記信頼性スコアおよび前記反復性スコアを0と1の間に制限するように構成された、請求項2に記載のシステム。
【請求項4】
前記Xは、1,000以上の整数である、請求項1に記載のシステム。
【請求項5】
前記全層畳み込みネットワークは、
前記イメージを受信し、前記イメージに基づいて第1の出力を生成するように構成された第1の畳み込み層と、
前記第1の出力を受信し、前記第1の出力に基づいて第2の出力を生成するように構成された第2の畳み込み層と、
前記第2の出力を受信し、前記第2の出力に基づいて第3の出力を生成するように構成された第3の畳み込み層と、
前記第3の出力を受信し、前記第3の出力に基づいて第4の出力を生成するように構成された第4の畳み込み層と、
前記第4の出力を受信し、前記第4の出力に基づいて第5の出力を生成するように構成された第5の畳み込み層と、
前記第5の出力を受信し、前記第5の出力に基づいて第6の出力を生成するように構成された第6の畳み込み層と、
前記第6の出力を受信し、前記第6の出力に基づいて第7の出力および第8の出力を生成するように構成された第7の畳み込み層とを含み、
前記全層畳み込みネットワークは、
前記第7の出力に基づいて前記それぞれのピクセルの記述子を生成し、
前記第8の出力に基づいて前記それぞれのピクセルの信頼性スコアを生成し、
前記第8の出力に基づいて前記それぞれのピクセルの反復性スコアを生成するように構成された、請求項1に記載のシステム。
【請求項6】
前記第1の畳み込み層は、3x3畳み込み層を含む、請求項5に記載のシステム。
【請求項7】
前記第2の畳み込み層は、少なくとも1つの拡張層を有する3x3畳み込み層を含む、請求項5に記載のシステム。
【請求項8】
前記第3の畳み込み層は、3x3畳み込み層を含む、請求項5に記載のシステム。
【請求項9】
前記第4の畳み込み層は、少なくとも1つの拡張層を有する3x3畳み込み層を含む、請求項5に記載のシステム。
【請求項10】
前記第5の畳み込み層は、2x2畳み込み層を含む、請求項5に記載のシステム。
【請求項11】
前記第6の畳み込み層は、2x2畳み込み層を含む、請求項5に記載のシステム。
【請求項12】
前記第7の畳み込み層は、2x2畳み込み層を含む、請求項5に記載のシステム。
【請求項13】
前記第7の出力を受信し、前記第7の出力を正規化して、第9の出力を生成するように構成された正規化モジュールをさらに含む、請求項5に記載のシステム。
【請求項14】
前記正規化モジュールは、L2正規化を使用して前記第7の出力を正規化するように構成された、請求項13に記載のシステム。
【請求項15】
前記第9の出力に基づいて前記それぞれのピクセルの記述子を生成するように構成された記述子モジュールをさらに含み、
前記それぞれのピクセルの記述子は、該当のピクセル内の特徴点の数学的表現を含む、請求項13に記載のシステム。
【請求項16】
前記第8の出力を要素別に2乗し、第10の出力を生成するように構成された2乗モジュールと、
前記第10の出力を受信し、前記第10の出力に基づいて第11の出力および第12の出力を生成するように構成された第8の畳み込み層と、
前記第11の出力を受信し、前記第11の出力に基づいて第13の出力を生成するように構成された第9の畳み込み層と、
前記第13の出力に基づいて信頼性スコアを生成するように構成された第10の畳み込み層と、
前記第12の出力を受信し、前記第12の出力に基づいて第14の出力を生成するように構成された第11の畳み込み層と、
前記第14の出力に基づいて反復性スコアを生成するように構成された第12の畳み込み層とをさらに含む、請求項5に記載のシステム。
【請求項17】
前記第8の畳み込み層は、3x3畳み込み層を含む、請求項16に記載のシステム。
【請求項18】
前記第8の畳み込み層は、少なくとも1つの拡張層をさらに含む、請求項17に記載のシステム。
【請求項19】
前記第9の畳み込み層は、1x1畳み込み層および3x3畳み込み層のうち1つの層または他の適切なタイプの層を含む、請求項16に記載のシステム。
【請求項20】
前記第10の畳み込み層は、1x1畳み込み層および3x3畳み込み層のうち1つを含む、請求項16に記載のシステム。
【請求項21】
前記第11の畳み込み層は、1x1畳み込み層および3x3畳み込み層のうち1つを含む、請求項16に記載のシステム。
【請求項22】
前記第12の畳み込み層は、1x1畳み込み層および3x3畳み込み層のうち1つを含む、請求項16に記載のシステム。
【請求項23】
学習データセットを使用して平均精度(AP)を最大化することによって、前記全層畳み込みネットワークを学習させるように構成された学習モジュールをさらに含む、請求項1に記載のシステム。
【請求項24】
イメージから特徴点を検出し、記述する方法であって、
複数のピクセルを含むイメージを受信するステップと、
連帯的で同時に、それぞれのピクセルの記述子を生成し、前記それぞれのピクセルの信頼性スコアを生成し、前記それぞれのピクセルの反復性スコアを生成するステップと、
前記ピクセルの前記信頼性スコアおよび前記反復性スコアに基づいて、前記それぞれのピクセルのスコアを生成するステップと、
上位X個のスコアを有する前記ピクセルのうちX個を選択するステップ-前記Xは、1より大きい整数である-と、
前記選択されたX個のピクセルの位置および前記選択されたX個のピクセルの記述子を含む特徴点リストを生成するステップとを含む、方法。
【請求項25】
前記位置および前記記述子に基づいて前記イメージ内のオブジェクトを識別するステップをさらに含む、請求項24に記載の方法。
【請求項26】
イメージ内の特徴点を検出し、記述するためのシステムであって、
複数のピクセルを含むイメージを受信し、連帯的で同時に、それぞれのピクセルの記述子を生成し、前記それぞれのピクセルの信頼性スコアを生成し、前記それぞれのピクセルの反復性スコアを生成する手段と、
前記ピクセルの前記信頼性スコアおよび前記反復性スコアに基づいて、前記それぞれのピクセルのスコアを生成する手段と、
上位X個のスコアを有する前記ピクセルのうちX個を選択し、ここで、前記Xは、1より大きい整数であり、前記選択されたX個のピクセルの位置および前記選択されたX個のピクセルの記述子を含む特徴点リストを生成する手段とを含む、システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、イメージングシステムおよび方法に関し、より詳細には、連帯的にイメージから特徴点を検出して特徴点の記述子を生成するためのシステムおよび方法に関するものである。
【背景技術】
【0002】
ここに設けられた背景技術の記載は本開示の背景を概略的に示すためのものである。現在記載されている発明者の研究は、出願時に先行技術としての資格を有しない明細書の態様と同様に、背景技術に記載される範囲で、明示または黙示を問わず、本開示に対する先行技術として認めるものではない。
【0003】
関心点(point of interest)の検出および特徴の記述(description)は、コンピュータビジョンで使用される。検出後記述のアプローチは、イメージから関心点を検出し、一旦検出されると、関心点を記述するために使用されることができる。このような方式で、関心点が検出され、関心点が記述される。
【先行技術文献】
【特許文献】
【0004】
【文献】韓国登録特許第10-1814553号
【発明の概要】
【課題を解決するための手段】
【0005】
一特徴において、イメージで特徴点を検出し、記述するためのシステムが説明される。カメラは、複数のピクセルを含むイメージをキャプチャするように構成される。全層畳み込みネットワーク(fully convolutional network)は、連帯的で同時に、それぞれのピクセルの記述子を生成し、それぞれのピクセルの信頼性スコアを生成し、それぞれのピクセルの反復性スコアを生成するように構成される。スコアリングモジュールは、それぞれのピクセルの信頼性スコアおよび反復性スコアに基づいて、ピクセルのスコアを生成するように構成される。特徴点リストモジュールは、上位X個のスコアを有するX個のピクセルを選択し、ここでXは、1より大きい整数であり、選択されたX個のピクセルの位置および選択されたX個のピクセルの記述子を含む特徴点リストを生成するように構成される。
【0006】
他の特徴において、スコアリングモジュールは、ピクセルのうち1つのピクセルの反復性スコアとピクセルのうち1つのピクセルの信頼性スコアを乗じたものと同一なピクセルのうち1つのピクセルのスコアを設定する。
【0007】
他の特徴において、全層畳み込みネットワークは、信頼性スコアおよび反復性スコアを0~1に制限するように構成される。
【0008】
他の特徴において、Xは、1,000以上の整数である。
【0009】
他の特徴において、全層畳み込みネットワークは、イメージを受信し、イメージに基づいて第1の出力を生成するように構成された第1の畳み込み層と、第1の出力を受信し、第1の出力に基づいて第2の出力を生成するように構成された第2の畳み込み層と、第2の出力を受信し、第2の出力に基づいて第3の出力を生成するように構成された第3の畳み込み層と、第3の出力を受信し、第3の出力に基づいて第4の出力を生成するように構成された第4の畳み込み層と、第4の出力を受信し、第4の出力に基づいて第5の出力を生成するように構成された第5の畳み込み層と、第5の出力を受信し、第5の出力に基づいて第6の出力を生成するように構成された第6の畳み込み層と、第6の出力を受信し、第6の出力に基づいて第7の出力および第8の出力を生成するように構成された第7の畳み込み層とを含み、全層畳み込みネットワークは、第7の出力に基づいてそれぞれのピクセルの記述子を生成し、第8の出力に基づいてそれぞれのピクセルの信頼性スコアを生成し、第8の出力に基づいてそれぞれのピクセルの反復性スコアを生成するように構成される。
【0010】
他の特徴において、第1の畳み込み層は、3x3畳み込み層を含む。
【0011】
他の特徴において、第2の畳み込み層は、少なくとも1つの拡張層を有する3x3畳み込み層を含む。
【0012】
他の特徴において、第3の畳み込み層は、3x3畳み込み層を含む。
【0013】
他の特徴において、第4の畳み込み層は、1つ以上の拡張層を有する3x3畳み込み層を含む。
【0014】
他の特徴において、第5の畳み込み層は、2x2畳み込み層を含む。
【0015】
他の特徴において、第6の畳み込み層は、2x2畳み込み層を含む。
【0016】
他の特徴において、第7の畳み込み層は、2x2畳み込み層を含む。
【0017】
他の特徴において、正規化モジュールは、第7の出力を受信し、第7の出力を正規化して第9の出力を生成するように構成される。
【0018】
他の特徴において、正規化モジュールは、L2正規化(L2-Norm)を使用して第7の出力を正規化するように構成される。
【0019】
他の特徴において、記述子モジュールは、第9の出力に基づいてそれぞれのピクセルの記述子を生成するように構成され、それぞれのピクセルの記述子は、該当のピクセル内の特徴点の数学的表現を含む。
【0020】
他の特徴において、2乗モジュールは、第8の出力を要素別に2乗し、第10の出力を生成するように構成され、第10の出力を受信し、第10の出力に基づいて第11の出力および第12の出力を生成するように構成された第8の畳み込み層と、第11の出力を受信し、第11の出力に基づいて第13の出力を生成するように構成された第9の畳み込み層と、第13の出力に基づいて信頼性スコアを生成するように構成された第10の畳み込み層と、第12の出力を受信し、第12の出力に基づいて第14の出力を生成するように構成された第11の畳み込み層および第14の出力に基づいて反復性スコアを生成するように構成された第12の畳み込み層とを含む。
【0021】
他の特徴において、第8の畳み込み層は、3x3畳み込み層を含む。
【0022】
他の特徴において、第8の畳み込み層は、少なくとも1つの拡張層をさらに含む。
【0023】
他の特徴において、第9の畳み込み層は、1x1畳み込み層および3x3畳み込み層のうち1つの層または他の適切なタイプの層を含む。
【0024】
他の特徴において、第10の畳み込み層は、1x1畳み込み層および3x3畳み込み層のうち1つを含む。
【0025】
他の特徴において、第11の畳み込み層は、1x1畳み込み層および3x3畳み込み層のうち1つを含む。
【0026】
他の特徴において、第12の畳み込み層は、1x1畳み込み層および3x3畳み込み層のうち1つを含む。
【0027】
他の特徴において、学習モジュールは、学習データセットを使用して平均精度(AP)を最大化することによって、全層畳み込みネットワークを学習するように構成される。
【0028】
他の特徴において、イメージ内の特徴点を検出および記述する方法は、複数のピクセルを含むイメージを受信するステップと、連帯的で同時に、それぞれのピクセルの記述子を生成するステップと、それぞれのピクセルの信頼性スコアを生成するステップと、それぞれのピクセルの反復性スコアを生成するステップと、それぞれのピクセルの信頼性スコアおよび反復性スコアに基づいて、それぞれのピクセルのスコアを生成するステップと、上位X個のスコアを有するX個のピクセルを選択するステップであって、Xは、1より大きい整数であるステップと、選択したX個のピクセルの位置および選択されたX個のピクセルの記述子を含む特徴点リストを生成するステップとを含む。
【0029】
他の特徴において、本方法は、位置および記述子に基づいてイメージ内のオブジェクトを識別するステップをさらに含む。
【0030】
他の特徴において、イメージ内の特徴点を検出および記述するためのシステムは、複数のピクセルを含むイメージを受信し、連帯的で同時に、それぞれのピクセルの記述子を生成し、それぞれのピクセルの信頼性スコアを生成し、それぞれのピクセルの反復性スコアを生成する手段と、それぞれのピクセルの信頼性スコアおよび反復性スコアに基づいて、それぞれのピクセルのスコアを生成する手段と、上位X個のスコアを有するX個のピクセルを選択し、ここでXは、1より大きい整数であり、選択されたX個のピクセルの位置および選択されたX個のピクセルの記述子を含む特徴点リストを生成する手段とを含む。
【0031】
本開示内容の追加的な適用分野は、詳細な説明、請求の範囲及び図面から明らかになるものである。詳細な説明および特定の例は、単に例示のためのものであり、本開示の範囲を制限しようとするものではない。
【図面の簡単な説明】
【0032】
特許または出願ファイルは、カラーで仕上げられた少なくとも1つの図面を含む。カラーの図面を含む本特許または特許出願の公開公報の写しは、請求および必要な料金の支払いで庁(Office)より提供される。
【0033】
本開示は、詳細な説明および添付図面からより完全に理解されるであろう。
図1】ナビゲートロボットの例示的な具現の機能的なブロック図である。
図2】記述および検出モジュールの例示的な具現の機能的なブロック図である。
図3】記述および検出モジュールの例示的な具現の機能的なブロック図である。
図4】例示的な学習および評価システムの機能的なブロック図である。
図5】例示的な入力イメージおよび異なるパッチサイズを使用した入力イメージに基づいて生成された多様な反復性マッピング(S)を含む。
図6】イメージ別に保有した特徴点の数の関数として異なるパッチサイズの例示的な点数グラフを含む。
図7】例示的な入力イメージおよび入力イメージに基づいて生成された反復性マッピングおよび信頼性マッピングを含む。
図8】イメージの特徴点リストを生成する例示的な方法を示すフローチャートを含む。
【0034】
図面において、参照番号は、類似で/類似または同一の要素を識別するために再使用されることができる。
【発明を実施するための形態】
【0035】
検出後記述のアプローチは、イメージの特徴を検出し、検出された特徴を記述するために使用されることができる。まず、イメージは、ピクセル単位にスキャンされ、各ピクセルが特徴点を示すか否かを決定する。ピクセルが特徴点を示す場合、ピクセル周囲の予め決定された次元の近傍が定義される(例えば、近傍の中心にピクセルがある)。その後、近傍の記述子が生成される。このような方式で、イメージの特徴点が先に検出され、その次にイメージの特徴点が記述される。特徴点は、該当の特徴点に対する記述と一緒に特徴として称される。イメージの特徴点の組み合わせは、イメージ内に存在するオブジェクトを検出するのに使用されることができる。
【0036】
本出願は、イメージの特徴を連帯的に(そして同時に)検出と記述することを含む。記述および検出モジュールは、連帯的にそして同時に、各ピクセルの記述子、各ピクセルの信頼性スコアおよび各ピクセルの反復性スコアを生成する。信頼性スコアおよび反復性スコアは、それぞれ信頼性マッピングおよび反復性マッピングを示す。
【0037】
信頼性スコアと反復性スコアは、各ピクセルの全体スコアを生成するために一緒に使用される。上位Y個の全体スコアを有するY個のピクセルは、イメージ内の最も信頼可能で、反復可能なY個の特徴点の位置および記述子を示す特徴点リストに含まれ、維持される。
【0038】
図1は、ナビゲートロボットの例示的な具現の機能的なブロック図である。ナビゲートロボット(100)は、ナビゲートロボット(100)前の所定の視野角(FOV:field of view)内のイメージをキャプチャするカメラ(104)を含む。所定のFOVは、ナビゲートロボット(100)を中心に360度と同一、またはもっと小さいことができる。したがって、ナビゲートロボット(100)は、ナビゲートロボット(100)周囲の360度と同一、またはもっと小さいFOVを有することができる。多様な具現において、1つ以上のカメラが単一のカメラよりもっと大きいFOVまたは完全な360FOVをキャプチャするために使用されることができる。ナビゲートロボット(100)の動作環境は、室内空間、すなわち建物、駐車場、洞窟または他のエンクロージャ(enclosure)、屋外空間または屋内および屋外空間の組み合わせであることができる。
【0039】
例えば、カメラ(104)は、グレースケール(grayscale)カメラ、grayscale-Dカメラ、RGB(Red、Green、Blue)カメラ、RGB-Dカメラまたは他の適切なタイプのカメラであることができる。grayscale-Dカメラは、深度(D)要素を含む。また、RGB-Dカメラは、深度(D)要素を含む。多様な具現において、ナビゲートロボット(100)は、(1つの)カメラ(104)のみを含むことができ、任意の他のビジュアル画像処理カメラおよび/またはセンサを含まないことができる。
【0040】
ナビゲートロボット(100)は、ナビゲートロボット(100)を前方、右、左、上および/または下に進むようにする1つ以上の推進装置(108)、例えば、1つ以上のホイール、1つ以上のトレッド(tread)、1つ以上の移動レッグ(leg)および/または1つ以上の他のタイプの装置を含む。推進装置(108)のうち2以上の組み合わせが、ナビゲートロボット(100)を前に推進させ、ナビゲートロボット(100)を右に回転させ、ナビゲートロボット(100)を左に回転させ、および/またはナビゲートロボット(100)を垂直に上げたり下ろしたりするのに使用され得る。
【0041】
ナビゲートロボット(100)は、カメラ(104)からの入力に基づいて、任意の物体と衝突することなく動作環境を走行するために、推進装置(108)を制御するように構成された制御モジュール(112)を含む。制御モジュール(112)は、記述および検出モジュール(116)によって生成された特徴点および位置のリストに基づいて、推進装置(108)を通じてナビゲートロボット(100)が進むようにする方法を決定する。例えば、制御モジュール(112)は、特徴点に基づいて1つ以上のオブジェクトを識別して、ナビゲートロボット(100)がオブジェクトに向かったり、オブジェクトから遠ざかったりするように推進装置(108)を制御することができる。例えば、制御モジュール(112)は、オブジェクト検出アルゴリズムを使用することにより、特徴点に基づいてオブジェクトを識別することができる。他の例において、制御モジュール(112)は、特徴点に基づいた動作環境でナビゲートロボット(100)の位置を決定し、ナビゲートロボット(100)が目標位置などに移動するように推進装置(108)を制御することができる。
【0042】
記述および検出モジュール(116)は、カメラ(104)によってキャプチャされたイメージから特徴点を連帯的に(および同時に)検出および記述することによって特徴点リストを生成する。特徴点の連帯的な検出および記述は、以下でさらに説明される。ビジュアルナビゲーションでの特徴点リストの使用例が提供されるが、本出願は、関心点の検出などのような他の用途にも特徴点リストを適用することができる。
【0043】
カメラ(104)は、60Hz、120Hzまたは他の適切な周波数のような予め決定された周波数でイメージをキャプチャすることができる。記述および検出モジュール(116)は、カメラ(104)がイメージを出力するたびに、またはn番目のイメージを出力するたびに、特徴点および位置のリストを生成することができ、ここでnは、1より大きい整数である。
【0044】
制御モジュール(112)は、所与の時間に、第1の状態(1歩または1/3メートルのような予め決定された距離だけ前方に移動することに対応する)、第2の状態(45度または90度などの予め決定された角度だけ右に回転することに対応する)、第3の状態(45度または90度などの予め決定された角度だけ左に回転することに対応する)、第4の状態(移動しないことに対応する)、第5の状態(第1の所定量だけ垂直に上昇することに対応する)または第6の状態(第2の所定量だけ垂直に下降することに対応する)で構成されるグループのうち1つに該当する状態を設定するように構成される。
【0045】
制御モジュール(112)は、状態に基づいて推進装置(108)を制御するように構成される。例えば、制御モジュール(112)は、第1の状態にある状態に対応して、推進装置(108)を作動させてナビゲートロボット(100)を予め決定された距離だけ前方に移動させることができる。制御モジュール(112)は、第2の状態にある状態に対応して、推進装置(108)を作動させてナビゲートロボット(100)を予め決定された角度だけ右に回転させることができる。制御モジュール(112)は、第3の状態にある状態に対応して、推進装置(108)を作動させてナビゲートロボット(100)を予め決定された角度だけ左に回転させることができる。制御モジュール(112)は、第4の状態にある状態に対応して、ナビゲートロボット(100)が動かないように推進装置(108)を作動させないことができる。制御モジュール(112)は、第5の状態にある状態に対応して、推進装置(108)を作動させてナビゲートロボット(100)を第1の所定量だけ垂直に上昇させることができる。制御モジュール(112)は、第6の状態にある状態に対応して、推進装置(108)を作動させてナビゲートロボット(100)を第2の所定量だけ垂直に下降させることができる。
【0046】
図2および図3は共に、記述および検出モジュール(116)の例示的な具現の機能的なブロック図である。ニューラルネットワーク(204)は、カメラからイメージを受信する。ニューラルネットワーク(204)は、全層畳み込みネットワーク(FCN)を含む。ニューラルネットワーク(204)は、イメージを処理し、イメージに基づいてイメージから特徴点の記述子を生成するための第1の出力を生成する。また、ニューラルネットワーク(204)は、イメージに基づいてイメージの特徴点の信頼性マッピングおよびイメージの特徴点の反復性マッピングを生成するための第2の出力を生成する。例えば、ニューラルネットワーク(204)は、畳み込みニューラルネットワーク(CNN)または他の適切なタイプのニューラルネットワークを含むことができる。例えば、ニューラルネットワーク(204)は、L2-Netニューラルネットワークを含んだり、これをベースにしたりすることができる。
【0047】
図2におけるニューラルネットワーク(204)の例示的な構造が図1に提供される。第1の層(206)は、3x3畳み込み層または他の適切なタイプの層を含むことができる。イメージは、第1の層(206)に入力される。第2の層(208)は、第1の層(206)の出力を受信し、1つ以上の拡張層(例えば、2つの拡張層)または他の適切なタイプの層を有する3x3畳み込み層を含むことができる。
【0048】
第3の層(212)は、第2の層(208)の出力を受信し、3x3畳み込み層または他の適切なタイプの層を含むことができる。第4の層(216)は、第3の層(212)の出力を受信し、1つ以上の拡張層(例えば、1つの拡張層)または他の適切なタイプの層を有する3x3畳み込み層を含むことができる。第5の層(220)は、第4の層(216)の出力を受信し、2x2畳み込み層または他の適切なタイプの層を含むことができる。第6の層(224)は、第5の層(220)の出力を受信し、2x2畳み込み層または他の適切なタイプの層を含むことができる。第7の層(228)は、第6の層(224)の出力を受信し、2x2畳み込み層または他の適切なタイプの層を含むことができる。
【0049】
第7の層(228)は、第1の出力および第2の出力を生成する。第1の出力は記述子を生成するのに使用され、第2の出力は信頼性マッピングおよび反復性マッピングを生成するのに使用される。正規化モジュール(232)は、第1の出力を受信して第1の出力を正規化する。例えば、正規化は、L2正規化(L2-Norm)または他の適切なタイプの正規化であることができる。
【0050】
記述子モジュール(236)は、正規化モジュール(232)の出力に基づいてイメージの各ピクセルの記述子を生成する。それぞれの記述子は、ピクセル内の1つの特徴点を表すベクトルを含む。このように、ピクセルの記述子は、該当のピクセル内の特徴点の数学的表現を含む。
【0051】
第2の出力は、2乗モジュール(240)に提供される。2乗モジュール(240)は、第2の出力を2乗する。例えば、2乗モジュール(240)は、要素別に2乗を行うことができる。
【0052】
第8の層(244)は、2乗モジュール(240)の出力に基づいて信頼性の出力および反復性の出力を生成する。第8の層(244)は、3x3畳み込み層または他の適切なタイプの層を含むことができる。また、第8の層(244)は、2つの拡張層のような1つ以上の拡張層を含むことができる。
【0053】
第9の層(248)は、信頼性の出力を受信し、1x1畳み込み層、3x3畳み込み層または他の適切なタイプの層を含むことができる。多様な具現においてソフトマックス(softmax)モジュールは、出力が第10の層(252)に提供される前に第9の層(248)の出力にソフトマックスを適用することができる。第10の層(252)は、第9の層(248)の出力を受信して(ソフトマックスは適用されたり、適用されなかったりすることができる)、1x1畳み込み層、3x3畳み込み層または他の適切なタイプの層を含むことができる。第10の層(252)は、信頼性マッピングを出力する。信頼性マッピングは、それぞれのピクセルの信頼性スコアのピクセル別マップを含む。信頼性スコアは、ピクセル内で検出される任意の特徴が正確であるとの信頼度を表す。例えば、信頼性スコアは、0と1の間の値であることができる。ピクセルの信頼度は、ピクセルの信頼性スコアが増加するにつれて増加することができ、その逆も同様である。
【0054】
第11の層(256)は、信頼性の出力を受信し、1x1畳み込み層、3x3畳み込み層または他の適切なタイプの層を含むことができる。多様な具現においてソフトマックスモジュールは、出力が第12の層(260)に提供される前に第11の層(256)の出力にソフトマックスを適用することができる。第12の層(260)は、(ソフトマックスは適用されたり、適用されなかったりすることができる)第11の層(256)の出力を受信し、1x1畳み込み層、3x3畳み込み層または他の適切なタイプの層を含むことができる。第12の層(260)は、反復性マッピングを出力する。反復性マッピングは、それぞれのピクセルの反復性スコアのピクセル別マップを含む。反復性スコアは、特徴がピクセルに含まれるたびに検出され得るピクセル内の任意の特徴が検出される可能性を表す。反復性スコアは、例えば、0と1の間の値であることができる。ピクセルの反復性スコアが増加するにつれて可能性が増加することができ、その逆も同様である。
【0055】
上述した内容においては、HxWサイズのイメージIに対して3つの出力を生成する全層畳み込みネットワーク(FCN)について説明した。第1の出力(記述子)は、密なD-次元アイテムセットに対応する3次元(3D)テンソル
【0056】
【数1】
である。
第2の出力(反復性マッピング/スコア、S)は、疎で反復可能な特徴点の位置を提供する、次のような式で説明されることができる。
【0057】
【数2】
記述および検出モジュール(116)は、ピクセル当たり1つの反復性スコアおよびピクセル当たり1つの記述子を生成する。第3の出力(信頼性マッピング/スコア、R)は、次のように説明されることができる。
【0058】
【数3】
これは、各ピクセルの記述子Xijの信頼度(区別性)を表す(i、j、i=1...Wおよびj=1、...、H)。記述および検出モジュール(116)は、ピクセル当たり1つの信頼性スコアを生成する。L2-Netに比べて、上述した方法は、使用された加重値の数を減らし(例えば、5の倍数によって)、類似またはより優れた正確性を生成する。
【0059】
図3に図示されるように、スコアリングモジュール(280)は、ピクセルのスコアを決定する。スコアリングモジュール(280)は、ピクセルの信頼性スコアおよびピクセルの反復性スコアのそれぞれに基づいて、ピクセルのスコアを決定する。例えば、スコアリングモジュール(280)は、該当のピクセルの信頼性スコアおよび該当のピクセルの反復性スコアに基づいて、ピクセルのスコアを決定する。スコアリングモジュール(280)は、信頼性スコアおよび反復性スコアを関連付ける式およびルックアップテーブルのうち1つを使用してスコアを決定することができる。例えば、スコアリングモジュール(280)は、ピクセルの反復性スコアを乗じたピクセルの信頼性スコアに基づいてピクセルのスコアを設定したり、ピクセルの反復性スコアを乗じたピクセルの信頼性スコアと同一にしたりして、ピクセルのスコアを設定することができる。
【0060】
特徴点リストモジュール(284)は、各ピクセルのスコアに基づいてイメージに対する特徴点リストを生成する。例えば、特徴点リストモジュール(284)は、上位Y個のスコアを有するY個のピクセルを選択し、ここで、Yは1よりも大きい整数である。例えば、Yは、1,000、5,000、10,000または他の適切な数であることができる。特徴点リストモジュール(284)は、選択されたピクセルのピクセル位置(例えば、i、j)およびイメージに対する特徴点リストから選択されたピクセルの記述子を含む。
【0061】
学習および評価(テスト)
図4は、例示的な学習および評価システムの機能的なブロック図である。学習モジュール(404)は、学習データセット(408)に格納されたデータを使用して記述および検出モジュール(116)を学習させる。反復性は、自己-教師ありタスク(self-supervised task)として扱われ、学習モジュール(404)は、記述および検出モジュール(116)を学習させてSにおける局部最大値(反復性マッピング)の位置が、視点または照明の変化のような自然イメージ変換に共変されるようにする。
【0062】
IイメージとI’イメージは、同じ場面の2つのイメージであるとし、
【0063】
【数4】
は、2つのイメージ間のグランドトゥルース(ground-truth)対応であるとする。すなわち、第1のイメージIのピクセル(i、j)が第2のイメージI’のピクセル(i'、j')と対応する場合、Uij=(i'、j')である。学習モジュール(404)は、IおよびI’が自然的なイメージである場合、オプティカルフローアルゴリズムまたはステレオマッチングアルゴリズムを使用してUを推定することができたり、第2のイメージI’がホモグラフィ(homography)のような公知の変換で合成的に生成されたりした場合に取得されることができる。
【0064】
SおよびS'をそれぞれ第1のイメージIおよび第2のイメージI’の反復性マッピングであるとする。S'をイメージIからのUに応じて歪んだイメージI’に対する反復性マッピングであるとする。学習モジュール(404)は、記述および検出モジュール(116)を学習させて、Sにおけるすべての局部最大値がS'における局部最大値(local maxima)に対応するという事実を強制する。
【0065】
学習モジュール(404)は、SとS'間のコサイン類似度を最大化する。コサイン類似度は、以下においてcosimと表示される。cosim(S、S')が最大化される場合、両信頼性マッピングが同一であり、最大値が正確に一致する。しかし、このプロセスは、性能に影響を与えることができるオクルージョン、変形アーティファクトまたは境界効果はないと仮定する。
【0066】
学習モジュール(404)は、全体イメージよりも小さいパッチ(patch)のコサイン類似度を平均化することによってこれを解決する。重なるパッチのセットは、[1、...W]x[1、...H]でNxNパッチを含むP={p}に定義されることができる。学習モジュール(404)は、第1の損失を次のように定義する:
【0067】
【数5】
ここで、
【0068】
【数6】
は、Sから抽出されてベクトル化された(平坦化された)NxNパッチpであり、同様にS'[p]である。SおよびS'を一定に維持することによって、Lcosimが最小化されることができる。
【0069】
これを防止するために、学習モジュール(404)は、反復性マッピングの局部最高点(local peakiness)を最大化するために第2の損失を使用する。第2の損失は、次のように説明されることができる。
【0070】
【数7】
第2の機能は、パッチのサイズNを変化させることによって、局部最大値の周波数が選択され得るようにする。例えば、図5は、Nの異なる値に基づいて生成された入力イメージおよび多様な反復性マッピング(S)を含む。図5において、赤色は低い値を示し、緑色は高い値を表す。図5の例示は、他のパッチサイズNを有する反復性の損失LpeakyおよびLrepを学習させる場合に取得される。
【0071】
学習モジュール(404)は、第1の損失および第2の損失に基づいて反復性の損失を決定する。学習モジュール(404)は、第1の損失および第2の損失を反復性の損失と関連付ける式およびルックアップテーブルのうち1つを使用して、反復性の損失を決定することができる。例えば、学習モジュール(404)は、第1の損失および第2の損失の加重された合に基づいて、または第1の損失および第2の損失の加重された合と同一の反復性の損失を設定することができる。反復性の損失(Lrep)を決定するための例示的な式は次の通りである。
【0072】
【数8】
【0073】
信頼性を強化するために、学習モジュール(404)は、反復性マッピング(S)を計算するだけでなく、連帯的に稠密な局部記述子(X)を抽出し、それぞれの記述子
【0074】
【数9】
に対して、それぞれの記述子の信頼性(区別性)を推定する信頼値、Rij∈[0,1]を推定する。学習モジュール(404)は、十分に区別され得ない領域に対するもののように損失が記述子に及ぼす影響が少ない、低い信頼度を有する記述子を生成すること、または可能な限り区別される高い信頼度を有する記述子を生成することを選択することを学習する。
【0075】
次のように学習モジュール(404)は、ランキング最適化問題として記述子マッチングを扱う。2つのイメージIとI’が与えられる場合、学習モジュール(404)は、I’内のIから各記述子をクエリとして検索し、距離を増加させることによって、I’からのすべての記述子のランクを付ける。学習モジュール(404)は、三重項損失またはペアワイズランキング損失のようなランキング損失を使用することができる。このような損失は、平均精度(AP)のようなグローバルメトリックと関連があったり、なかったりすることができる学習サンプルのペア、三重項または四重項をベースに局部最適化(local optimization)を遂行する。パッチ記述子マッチングのためにAPを直接最適化すると、性能が向上されることができる。リストワイズ損失の使用は、学習モジュール(404)が学習する間に、直接最適化できるランキングメトリックであるAPの差別化可能な近似を定義することができる。一連のイメージパッチのグランドトゥルースのバッチが与えられると、学習モジュール(404)は、畳み込みニューラルネットワークを使用して記述子を計算することができる。学習モジュール(404)は、バッチからすべてのパッチ記述子間のユークリッド距離の行列を計算することができる。行列の各行は、データベース文書の役割をする第1のイメージのクエリのパッチおよび第2のイメージのすべてのパッチ間の距離が含まれる。学習モジュール(404)による学習は、バッチ(batch)Bでそれぞれのクエリqに対して計算され、全体のバッチに対して平均化されたAPを最大化することを含む。
【0076】
【数10】
【0077】
【数11】
ここで、LAPはAP損失である。
【0078】
第1のイメージのそれぞれのピクセル(i、j)は、学習モジュール(404)が第2のイメージ内の他のすべてのパッチと比較するサイズMのパッチを定義する。グランドトゥルース対応Uに基づいて、学習モジュール(404)は、LAPと類似したAPを計算する。学習モジュール(404)は、すべてのところで局部記述子を抽出することができるが、すべての位置が同一に興味深いものではない。均一な領域および延長された1次元(1D)のパターンは、良好な特徴マッチングのための区別性が不足することがある。よく構成された領域であっても、葉や波のような意味論的性質(semantic nature)から信頼できない可能性がある。イメージの無意味な領域でもパッチ記述子を強制的に最適化すると、学習およびランタイム性能が低下され得る。
【0079】
したがって、本開示は、次のように不明な領域での努力を無駄にするネットワークを節約するために、学習モジュール(404)による新たな損失の使用を含む:
【0080】
【数12】
ここで、k∈[0,1]は、パッチ当たり予想される最小APを表すハイパーパラメータである。LAPk(i,j)を最小化するために、学習モジュール(404)は、AP(i、j)<kおよびRij=1である場合、逆にRij=0を予測する(AP(i、j)がkより大きいか、または同一である場合)。学習モジュール(404)は、Rijを0と1の間に設定し、パッチi、jの信頼性に対する学習モジュール(404)の信頼度を反映する。kは、予め決定された値である。例えば、kは、0.5または他の適切な値であることができる。k=0.5は、実際に好ましい結果を示す。
【0081】
(学習の)評価のために、評価モジュール(412)は、入力イメージに対して、初期スケールからスタートしてイメージが128ピクセルより小さくなるまでに毎回21/4ずつダウンサンプリングして、他のスケールで複数回実行することができる。評価モジュール(412)は、評価データセット(416)に格納されたイメージを使用して、(学習された)記述および検出モジュール(116)を評価することができる。多様な実施例において、評価データセット(416)は、評価のために予約されて学習データセット(408)の一部であることができる。
【0082】
それぞれのスケールに対して、学習モジュール(404)は、Sから局部最大値を探し、対応する位置にあるXからの記述子を収集することができる。上述したように、学習モジュール(404)は、記述子の(全体)スコアが積Sijijとして計算されるすべてのスケールにわたって、最高のK個の記述子リストを保管することができる。
【0083】
学習のために、学習モジュール(404)は、関心領域が事前に知られていないときに、すべてのイメージの位置(ピクセル)での損失を決定することができる。密なグランドトゥルースマッチングを生成するために、学習モジュール(404)は、(a)第1のイメージに予め決定された変換(例えば、ホモグラフィック変換(homographic transform)、カラージッタリング(color jittering)または他の適切な変換)を適用することによって、第2のイメージが取得されるペアのイメージを使用したり、(b)イメージシーケンスまたは一連の整列されていないイメージのセットからのペアを使用したりして実行することができる。ペアのイメージを使用する例において、学習モジュール(404)は、1つのイメージのペアおよび少数のスパースSfM(structure from motion)検証された対応に対して与えられた密な対応を信頼性高く抽出可能な、オプティカルフローツールに基づいたパイプラインを使用することができる。
【0084】
まず、学習モジュール(404)は、それぞれのイメージに対応する3次元(3D)ポイントおよび6次元(6D)カメラポーズのリストを出力するSfMパイプラインを実行することができる。十分な重畳(例えば、少なくとも予め決定された数の共通する3Dポイント)を有するそれぞれのイメージのペアに対して、学習モジュール(404)は、基礎行列を決定する。直接2DSfM対応からの基礎行列を決定することは、直接6Dカメラポーズを使用するよりもさらに信頼できる。次に、学習モジュール(404)は、対応のエッジ保存補間(EpicFlow)アルゴリズムを使用して対応(例えば、高品質および稠密)を決定する。また、学習モジュール(404)は、DeepMatchingアルゴリズムにエピポーラ制約(epipolar constraint)を追加することができる。EpicFlowアルゴリズムの第1のステップは、半スパースマッチ(semi-sparse match)を生成する。また、学習モジュール(404)は、フローが信頼できるマスクを予測することができる。定義により、オプティカルフローは、隠蔽領域を含むすべてのところで定義される。しかし、学習は、隠蔽領域に対しては有用でないことができる。学習モジュール(404)は、次のようにDeepMatchingアルゴリズムの出力を後処理することができる:連結された一貫性のある近傍のグラフを計算し、大きな連結されたコンポーネントに属するマッチ(例えば、少なくとも50個のマッチ)だけを維持する。マスクは、検証されたマッチにおいてしきい値カーネル密度推定器を使用して定義される。学習モジュール(404)は、インターネットからのイメージを含むオックスフォード(Oxford)およびパリ(Paris)の検索データセットに最近追加されたディストラクタからランダムに変換されたイメージのペアを使用することができる。学習モジュール(404)は、ドイツのアーヘン(Aachen)市からのイメージを含むアーヘンデイ-ナイト(Aachen Day-Night)のデータセットから抽出された(例えば、SfMを使用して)ペアを使用する。
【0085】
例えば、学習モジュール(404)は、192x192ピクセル解像度のクロップされたイメージから、8x8ピクセルのグリッド(grid)上の第1のイメージのクエリピクセルを、サブサンプリングすることができる。第2のイメージにおいて、学習モジュール(404)は、クエリに対応するピクセルおよび8つのピクセルの段階で規則的なグリッド上でサンプリングされたピクセルを考慮することができる。フローおよびマッチの不完全性を処理するために、学習モジュール(404)は、オプティカルフロー精度から予め決定された距離(例えば、4ピクセル)の半径内にあるピクセルとしてポジティブを定義することができ、位置から第2の予め決定された距離(例えば、8ピクセル)よりも遠いところにあるすべてのピクセルとしてネガティブを定義することができる。最適化(Optimization)は、8のバッチサイズ、0.001の学習率、0.0005の重み減衰で実行されることができる。
【0086】
学習後の評価結果を測定するために、以下の測定方法(metrics)が使用されることができる。
【0087】
ペアのイメージに対する反復性スコアは、2つのイメージ間のポイント対応の数を1対の最小特徴点検出数で割った値であることができる。すべてのイメージペアに対する平均スコアが使用されることができる。
【0088】
マッチングスコア(M-Score)は、第1のイメージから第2のイメージへのポイントマッチングのときおよび第2のイメージから第1のイメージへのポイントマッチングのときに、全体のパイプラインによって回復され得るグランドトゥルース対応および共有された視点領域内の推定された特徴の総数との間の平均比率であることができる。
【0089】
平均マッチング精度(Mean Matching Accuracy、MMA)は、多数のピクセルエラーしきい値を考慮したイメージペアでの正確なマッチの平均百分率であることができる。すべてのイメージペアに対する各しきい値の平均が使用されることができる。
【0090】
反復性の損失LrepのパッチサイズNは、反復性の損失がサイズNxNのウィンドウ(window)別に単一の局部最大値を出力するように推奨することによって、特徴点の数を表す。Nが大きい場合、反復性の高い数個の特徴点が検出されることができる。Nが小さい場合、特徴点の数が増加する反面、反復性は減少する。Nが小さい場合には、空の領域(empty region)(例えば、空)が感知されることができるが、Nが大きい場合には、空の領域を避けることができる。
【0091】
図6は、イメージ別に保有された特徴点(K)の数の関数として、Nの異なるパッチサイズに対するMMA(3pxエラーしきい値)とM-Scoreの例示的なグラフを含む。特徴点の品質が高くて保有した特徴点の数が低い場合、大きなN値で学習された記述および検出モジュールは、小さいN値で学習された記述および検出モジュールを凌駕した。保有した特徴点の数が多い場合、不良局部最大値が選択され始め、マッチング性能が低下される。特徴点の数およびマッチング性能の間にはトレードオフ(trade-off)がある。N=16および5000保有した特徴点は、トレードオフを考慮すると、より好ましい結果を提供することができる。
【0092】
以下は、記述および検出モジュールが反復性マッピングを決定せず、信頼性マッピングを決定する例示において、上段の行にM-scoreおよびMMAを含む例示的なテーブルである。中間の行は、記述および検出モジュールが信頼性マッピングを決定せず、反復性マッピングを決定する例示において、M-scoreおよびMMAを含む。下段の行は、記述および検出モジュールが、信頼性マッピングおよび反復性マッピングの両方を決定する例示において、M-scoreおよびMMAを含む。
【0093】
【表1】
【0094】
上述の観点から、反復性および信頼性は、検出および記述を連帯的に決定するのを助けるために個別に予測されることができる。上の表は、反復性がないとMMAおよびM-scoreの両側面で性能が低下することを表している。これは、反復性が記述子の信頼性と関連がないことを示している。記述子の信頼性なしに学習する場合、M-scoreは約3%減少し、MMAは約0.6%減少する。
【0095】
図7は、入力イメージおよび入力イメージに基づいて生成された反復性マッピングの例を含む。上段のイメージは、オーバーレイされた緑色の十字形を含む入力イメージである。中間イメージは、記述および検出モジュール(116)によって入力イメージに基づいて生成された反復性マッピングを含む。下段のイメージは、入力イメージに基づいて記述および検出モジュール(116)によって生成された信頼性マッピングを含む。(最も高いスコアを有する)特徴点リストの保有した特徴点は、図7の上段のイメージにおいて十字形で識別される。図示されたように、記述および検出モジュール(116)は、空の領域はほとんどマッチングされずに、特徴点リストで識別されてはならないと正確に決定した。また、記述および検出モジュール(116)は、1Dパターン(例えば、ブリッジの下)およびグリッドパターン(例えば、建物の窓)のような複雑なパターンを拒否した。該当の地域のスコアは低かったため、特徴点リストに含まれなかった。
【0096】
記述および検出モジュール(116)の使用例がナビゲートロボット(100)と関連して上述されたが、記述および検出モジュール(116)は、他の状況で使用されることができる。例えば、記述および検出モジュール(116)は、イメージを使用して与えられた環境内のカメラの位置(camera position)が推定される視覚的ローカリゼーションに使用されることができる。ロバスト局部特徴マッチングは、学習、評価および実際の環境との間の昼間-夜間の切り替えおよび重要な視点差異のような問題がある実際の環境で視覚的ローカリゼーションを行うことができるように助けることができる。しかし、特徴点リストに使用されたNのサイズおよび特徴点の数は多様であることができる。例えば、視覚的ローカリゼーションのために、イメージ当たりより多くの特徴点が使用されることができる。より多くの特徴点は、オクルージョン、視点の変更、照明の変化などにもかかわらず、少なくとも数個の特徴点が正確にマッチングされ得る可能性を増加させることができ、結果的に測位精度を向上させる。例えば、視覚的ローカリゼーションで10,000個の特徴点が含まれることができるのに対し、N=8(8x8ピクセル)のパッチサイズが使用されることができる。視覚的ローカリゼーションのために、記述および検出モジュール(116)も多様であることができる。例えば、記述および検出モジュール(116)は、畳み込み層の加重値の2倍を含むことができる。これは視覚的ローカリゼーションにおいてより優れた性能を提供することができる。
【0097】
図8は、入力イメージの記述子、信頼性マッピングおよび反復性マッピングを連帯的に(同時に)生成する例示的な方法を示すフローチャートである。制御は、804において記述および検出モジュール(116)が、イメージが受信されたかを決定することにより開始される。804が真(true)であれば、808に制御が継続される。804が偽(false)であれば、制御は804に維持される。
【0098】
808において、記述および検出モジュール(116)は、受信されたイメージにおいて各ピクセルの記述子を生成する。また808において、記述および検出モジュール(116)は、ピクセルの信頼性スコアおよびピクセルの反復性スコアを生成する。ピクセルの信頼性スコアおよびピクセルの反復性スコアは、それぞれ信頼性マッピングおよび反復性マッピングを構成する。
【0099】
812において、記述および検出モジュール(116)は、それぞれのピクセルのスコアを決定する。記述および検出モジュール(116)は、ピクセルの信頼性スコアおよびピクセルの反復性スコアそれぞれに基づいて、ピクセルのスコアを決定する。例えば、記述および検出モジュール(116)は、該当のピクセルの信頼性スコアおよび該当のピクセルの反復性スコアに基づいて、ピクセルのスコアを決定する。記述および検出モジュール(116)は、信頼性スコアおよび反復性スコアをスコアに関連付ける式およびルックアップテーブルのうち1つを使用してスコアを決定することができる。例えば、記述および検出モジュール(116)は、ピクセルの反復性スコアおよびピクセルの信頼性スコアを乗じたものに基づいて、またはピクセルの反復性スコアおよびピクセルの信頼性スコアを乗じたものと同一に、ピクセルのスコアを設定することができる。
【0100】
816において、記述および検出モジュール(116)は、それぞれ上位Y個のスコアを有するイメージのY個のピクセルを選択する。Yは、1より大きい整数であり、例えば、1,000、5,000、10,000または他の適切な数であることができる。820において、記述および検出モジュール(820)は、Y個のピクセルに基づいてイメージに対する特徴点リストを生成する。これは、選択されたY個のピクセルのピクセル位置(例えば、i、j)および選択されたY個のピクセルの記述子をそれぞれ含む。特徴点リストに基づいて、1つ以上の動作が遂行されることができる。視覚的ローカリゼーションの例において、(例えば、ナビゲートロボット(100)の)視覚的ローカリゼーションモジュールは、特徴点リストの情報に基づいて環境でのカメラの位置を決定することができる。視覚的ナビゲーションの例において、制御モジュール(112)は、特徴点リストの情報に基づいて、1つ以上の推進装置(108)を動作させることができる。
【0101】
上述した説明は、本質的に単なる例示的なものであって、本開示、その応用、または使用を制限するものではない。本開示の広範な教示は、多様な形態で具現されることができる。したがって、本開示は、特定の例示を含むが、本開示の範囲は、図面、明細書及び請求の範囲内で変形が可能であるため、特定の例示に限定されてはならない。本方法の1つ以上のステップは、本開示の原理を変更せずに異なる順序で(または同時に)実行され得ることを理解しなければならない。また、それぞれの実施例は、特定の特徴を有するものとして説明されたが、本開示の任意の実施例に関連して説明されたこれらの特徴のうち、任意の1つ以上は、その組み合わせが明示的に記述されていなくても、他の実施例の特徴で具現および/または結合されることができる。言い換えると、説明された実施例は、相互に排他的ではなく、1つ以上の実施例を他の実施例と置換することは、本開示の範囲内にある。
【0102】
構成要素(例えば、モジュール、回路要素、半導体層など)間の空間的および機能的関係は、「連結された」、「連携された」、「結合された」、「隣接した」、「次に」、「上に」、「下に」、「最初」を含む多様な用語を使用して説明される。「直接的な」ものとして明示的に言及されない限り、第1および第2の要素の間の関係が上述された開始で説明されるとき、その関係は、第1および第2の要素の間に他の中間要素が存在しない直接的な関係であることができ、また、1つの以上の中間要素が第1および第2の要素の間に(空間的にまたは機能的に)存在する間接的な関係であることができる。本明細書で使用されたように、「A、BおよびCのうち少なくとも1つ」の表現は、非排他的な論理ORを使用してAまたはBまたはCを意味するものとして解釈されるべきであり、「Aのうち少なくとも1つ、Bのうち少なくとも1つおよびCのうち少なくとも1つ」を意味するものとして解釈されてはならない。
【0103】
図面において、矢印で表示される矢印の方向は、一般的に例示の対象である情報(例えば、データまたは命令語)の流れを示す。例えば、要素Aおよび要素Bが多様な情報を交換するが、要素Aから要素Bに送信される情報が例示と関連がある場合、矢印は、要素Aから要素Bを指すことができる。単方向の矢印は、要素Bから要素Aに送信される他の情報がないことを意味するのではない。また、要素Aから要素Bに送信された情報に対して、要素Bは、情報の要請または受信確認を要素Aに送信することができる。
【0104】
次の定義を含め、本出願において「モジュール」または「コントローラ」という用語は、「回路」という用語に置換されることができる。「モジュール」という用語は、ASIC(Application Specific Integrated Circuit)、デジタル、アナログ、または混合アナログ/デジタル離散回路、デジタル、アナログまたは混合アナログ/デジタル集積回路、組み合わせ論理回路、FPGA(Field Programmable Gate Array)、コードを実行するプロセッサ回路(共有、専用、またはグループ)、プロセッサ回路によって実行されるコードを格納するメモリ回路(共有、専用、またはグループ)、説明された機能を提供する他の適切なハードウェア構成要素、またはシステム-オン-チップ(system-on-chip)のように前記一部または全部の組み合わせを含んだり、またはその一部であったりすることができる。
【0105】
モジュールは、1つ以上のインターフェース回路を含むことができる。一部の例示において、インターフェース回路は、ローカルエリアネットワーク(LAN)、インターネット、ワイドエリアネットワーク(WAN)またはこれらの組み合わせに接続された有線または無線インターフェースを含むことができる。本開示の任意のモジュールの機能は、インターフェース回路を介して接続された多数のモジュールに分散されることができる。例えば、複数のモジュールによって負荷の調節が可能であることができる。他の例示において、サーバー(リモートまたはクラウドともいう)モジュールは、クライアントモジュールの代わりに一部の機能を遂行することができる。
【0106】
使用されるコードは、ソフトウェア、ファームウェアおよび/またはマイクロコードを含むことができ、プログラム、ルーチン、機能、クラス、データ構造および/またはオブジェクトを称することができる。共有プロセッサ回路は、複数のモジュールで一部またはすべてのコードを実行する単一プロセッサ回路を含む。グループプロセッサ回路は、追加的なプロセッサ回路と結合して1つ以上のモジュールから一部またはすべてのコードを実行するプロセッサ回路を含む。多重プロセッサ回路という表現は、離散したダイ(discrete die)上の多重プロセッサ回路、単一のダイ(single die)上の多重プロセッサ回路、単一プロセッサ回路の多重コア、単一プロセッサ回路の多重スレッド、またはこれらの組み合わせを含む。共有メモリ回路という用語は、複数のモジュールの一部またはすべてのコードを格納する単一メモリ回路を含む。グループメモリ回路という用語は、追加のメモリと結合して1つ以上のモジュールからの一部またはすべてのコードを格納するメモリ回路を含む。
【0107】
メモリ回路という用語は、コンピュータ読み取り可能な媒体のサブセットである。本明細書において使用されるコンピュータ読み取り可能な媒体という用語は、媒体を介して(例えば、搬送波上で)伝播される一時的な電気または電磁気信号を含まず、したがってコンピュータで読み取り可能な媒体という用語は、有形(tangible)および非一時的な(non-transitory)ものとして見なされることができる。非一時的で有形のコンピュータ読み取り可能な媒体の非制限的例は、不揮発性メモリ回路(例えば、フラッシュメモリ回路、消去可能プログラム可能読み取り専用メモリ回路またはマスク読み取り専用メモリ回路)、揮発性メモリ回路(例えば、スタティックランダムアクセスメモリ回路またはダイナミックランダムアクセスメモリ回路)、磁気記憶媒体(例えば、アナログまたはデジタル磁気テープやハードディスクドライブ)および光学記憶媒体(例えば、CD、DVDまたはBlu-ray(登録商標)ディスク)に該当する。
【0108】
本出願において説明されたデバイスおよび方法は、コンピュータプログラムで具現された1つ以上の特定の機能を実行するように汎用コンピュータを構成することで生成された特殊目的のコンピュータによって、部分的にまたは完全に具現されることができる。上述した機能ブロック、フローチャートの構成要素およびその他の要素は、熟練した技術者やプログラマーのルーチン作業によって、コンピュータプログラムに変換され得るソフトウェア仕様として機能する。
【0109】
コンピュータプログラムは、少なくとも1つの非一時的で有形のコンピュータ読み取り可能な媒体に格納されたプロセッサ実行可能命令語を含む。また、コンピュータプログラムは、格納されたデータを含んだり、依存したりすることができる。コンピュータプログラムは、特殊目的コンピュータのハードウェアと相互作用する基本入/出力システム(BIOS)、特殊目的コンピュータの特定のデバイスと相互作用するデバイスドライバ、1つ以上のオペレーティングシステム、ユーザーアプリケーション、バックグラウンドサービス、バックグラウンドアプリケーションなどを含むことができる。
【0110】
コンピュータプログラムは、以下を含むことができる:(i)HTML(hypertext markup language)、XML(extensible markup language)またはJSON(JavaScript Object Notation)のような構文解析される述語、(ii)アセンブリコード、(iii)コンパイラによってソースコードから生成されたオブジェクトコード、(iv)インタプリタによって実行されるソースコード、(v)JIT(just-in-time)コンパイラによるコンパイルおよび実行のためのソースコードなど。例えば、ソースコードは、C、C++、C#、ObjectiveC、Swift、Haskell、Go、SQL、R、Lisp、Java(登録商標)、Fortran、Perl、Pascal、Curl、OCaml、Javascript(登録商標)、HTML5(ハイパーテキストマークアップランゲージ5)、Ada、ASP(Active Server Pages)、PHP(PHP:ハイパーテキストプリプロセッサ)、Scala、Eiffel、Smalltalk、Erlang、Ruby、Flash(登録商標)、VisualBasic(登録商標)、Lua、MATLAB、SIMULINKおよびPython(登録商標)を含む言語の構文(syntax)を使用して作成されることができる。
【符号の説明】
【0111】
100:ナビゲートロボット
104:カメラ
108:推進装置
112:制御モジュール
116:記述および検出モジュール
図1
図2
図3
図4
図5
図6
図7
図8