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

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

▶ シック アイヴィピー エービーの特許一覧

特許7201751物体マッチングにおいて使用するための第1の物体モデルに基づく第2の物体モデルの生成
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-26
(45)【発行日】2023-01-10
(54)【発明の名称】物体マッチングにおいて使用するための第1の物体モデルに基づく第2の物体モデルの生成
(51)【国際特許分類】
   G06T 7/00 20170101AFI20221227BHJP
【FI】
G06T7/00 300F
G06T7/00 350B
【請求項の数】 15
【外国語出願】
(21)【出願番号】P 2021107587
(22)【出願日】2021-06-29
(65)【公開番号】P2022013853
(43)【公開日】2022-01-18
【審査請求日】2021-08-27
(31)【優先権主張番号】20183322
(32)【優先日】2020-06-30
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】504048696
【氏名又は名称】シック アイヴィピー エービー
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】オーラ・フリマン
(72)【発明者】
【氏名】アンデシュ・モエ
(72)【発明者】
【氏名】クリストッフェル・エフィエール
【審査官】真木 健彦
(56)【参考文献】
【文献】米国特許出願公開第2012/0170835(US,A1)
【文献】特開2018-195282(JP,A)
【文献】特開2018-165966(JP,A)
【文献】国際公開第2012/101717(WO,A1)
【文献】特開2002-304415(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06T 1/00
G06F 16/50
(57)【特許請求の範囲】
【請求項1】
物体マッチングアルゴリズム(450)による物体マッチングのために、第1の物体モデル(420)に基づく第2の物体モデル(480)の生成をサポートするための、1つまたは複数のデバイス(1200)によって行われる方法であって、前記第1の物体モデル(420)が、画像化された参照物体(411)の物体特徴(421-1…421-N)を含み、
- 前記第1の物体モデル(420)に含まれる前記物体特徴(421-1…421-N)の異なるサブ特徴(421-1…421-N)をそれぞれ含むサブモデル(425-1…425-N)を取得するステップ(1101)と、
- 前記サブモデル(425-1…425-N)に対してそれぞれ寄与インジケータ(475-1…475-N)を提供するステップ(1103)であって、前記寄与インジケータ(475-1…475-N)の各寄与インジケータ(475-n)が、前記サブモデル(425-n)の前記サブ特徴(421-n)の正しくないマッチへの寄与を示し、前記寄与インジケータ(475-1…475-N)が前記物体マッチングアルゴリズム(450)に従ったマッチングに基づき、前記第1の物体モデル(420)および少なくとも1つのモデル最適化画像(MOI)(440)を有する前記サブモデル(425-1…425-N)が、前記第1の物体モデル(420)とマッチングされるとき、少なくとも前記正しくないマッチをもたらす、あらかじめ定義されたトレーニング特徴を含む、提供するステップ(1103)と
を含む、方法。
【請求項2】
前記方法が、
- 前記提供された寄与インジケータ(475-1…475-N)によれば、他のサブ特徴(421-N)よりも前記正しくないマッチにより寄与する1つまたは複数のサブ特徴(421-1)の影響を削減した前記第1の物体モデル(420)の変更に基づいて前記第2の物体モデル(480)を生成するステップ(1104)であって、前記削減された影響が、前記他のサブ特徴(421-N)に関連している、生成するステップ(1104)
をさらに含む、請求項1に記載の方法。
【請求項3】
前記1つまたは複数のサブ特徴(421-1)の削減された影響が、前記第2の物体モデル(480)における異なるサンプル密度の適用を含み、他のサブ特徴(421-N)よりも前記正しくないマッチにより寄与する前記1つまたは複数のサブ特徴(421-1)に対応する前記第2の物体モデル(480)の物体特徴が、前記他のサブ特徴(421-N)に対応する、前記第2の物体モデル(480)の物体特徴を形成するサンプルよりも低いサンプル密度を有するサンプルによって形成されるようにする、請求項1または2に記載の方法。
【請求項4】
前記少なくとも1つのMOI(440)が、前記第1の物体モデル(420)とマッチングされるとき、1つまたは複数の正しいマッチをもたらす、あらかじめ定義されたトレーニング特徴をさらに含み、各寄与インジケータ(475-n)が、前記正しいマッチへの前記サブモデル(425-n)の前記サブ特徴(421-n)の寄与に対して、前記正しくないマッチへの前記サブモデル(425-n)の前記サブ特徴(421-n)の前記寄与を示す、請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記方法が、
- MOI(440)ごとに、前記サブモデル(425-1…425-N)それぞれに対して少なくともサブモデルのスコアマップ(465-1…465-N)を含むスコアマップ(460、465-1…465-N)を取得するステップ(1102)であって、各スコアマップ(460;465-n)が異なるポーズの対応するモデル(420;425-n)を前記MOI(440)とマッチングすることに基づき、各スコアマップ(460;465-n)が、前記スコアマップ(460;465-n)の異なる位置(p1…pK)のスコアを含み、前記位置(p1…pK)の各々が、前記ポーズの1つまたは複数と関連付けられ、ある位置(pk)の前記スコアが、前記位置(pk)と関連付けられた前記モデル(420;425-n)の前記ポーズの前記1つまたは複数と、前記MOI(440)との間のマッチングのレベルを示す、取得するステップ(1102)と
をさらに含み、
前記寄与インジケータ(475-1…475-N)の前記提供(1103)が、前記取得されたスコアマップ(460、465-1…465-N)に基づいて前記寄与インジケータ(475-1…475-N)を計算するステップ(1103a)を含む、請求項1から4のいずれか一項に記載の方法。
【請求項6】
MOI(440)ごとに取得された前記スコアマップ(460、465-1…465-N)が、前記第1の物体モデル(420)に対する第1のモデルのスコアマップ(460)をさらに含む、請求項5に記載の方法。
【請求項7】
各寄与インジケータ(475-n)の前記計算が、MOI(440)ごとに、第1の和を計算するステップを含み、前記第1の和の項が、それぞれ、前記正しくないマッチに対応する、前記サブモデルのスコアマップの少なくとも位置からのスコアを含む、請求項6に記載の方法。
【請求項8】
各寄与インジケータ(475-n)の前記計算が、MOI(440)ごとに、第2の和を計算するステップをさらに含み、前記第2の和の項が、それぞれ、正しいマッチに対応する、前記サブモデルのスコアマップの1つまたは複数の位置からのスコアを含む、請求項7に記載の方法。
【請求項9】
各寄与インジケータの前記計算が、MOIごとに、前記第1の和を前記第2の和に関係付けることに基づいている、請求項8に記載の方法。
【請求項10】
前記第1の和の前記項が、それぞれ、もしあれば正しいマッチに対応するものを除いて、前記サブモデルのスコアマップのすべての位置からのスコアを含む、請求項7から9のいずれか一項に記載の方法。
【請求項11】
前記第1の和の項、および第2の和が計算された場合は同じく第2の和の項の各々が、同じ位置の前記第1のモデルのスコアマップの前記スコアに基づいて重み関数を掛けられた前記項に対応する位置の前記サブモデルのスコアマップの前記スコアを含み、重み関数が、他の項に対して、正しくないマッチおよびもしあれば正しいマッチに対応する位置の前記サブモデルのスコアマップの前記スコアを増やす、請求項10に記載の方法。
【請求項12】
前記重み関数が、前記第1のモデルのスコアマップの前記スコアと共に指数関数的に増える、請求項11に記載の方法。
【請求項13】
物体マッチングアルゴリズム(450)による物体マッチングのために、第1の物体モデル(420)に基づく第2の物体モデル(480)の生成をサポートするための1つまたは複数のデバイス(1200)であって、前記第1の物体モデル(420)が、画像化された参照物体(411)の物体特徴(421-1…421-N)を含み、前記1つまたは複数のデバイス(1200)が、
前記第1の物体モデル(420)に含まれる前記物体特徴(421-1…421-N)の異なるサブ特徴(421-1…421-N)をそれぞれ含むサブモデル(425-1…425-N)を取得すること(1101)と、
前記サブモデル(425-1…425-N)に対してそれぞれ寄与インジケータ(475-1…475-N)を提供すること(1103)であって、前記寄与インジケータ(475-1…475-N)の各寄与インジケータ(475-n)が、前記サブモデル(425-n)の前記サブ特徴(421-n)の正しくないマッチへの寄与を示し、前記寄与インジケータ(475-1…475-N)が前記物体マッチングアルゴリズム(450)に従ったマッチングに基づき、前記第1の物体モデル(420)および少なくとも1つのモデル最適化画像(MOI) (440)を有する前記サブモデル(425-1…425-N)が、前記第1の物体モデル(420)とマッチングされるとき、少なくとも前記正しくないマッチをもたらす、あらかじめ定義されたトレーニング特徴を含む、提供すること(1103)と
を行うように構成される、1つまたは複数のデバイス(1200)。
【請求項14】
前記1つまたは複数のデバイス(1200)によって実行されると、前記1つまたは複数のデバイス(1200)に請求項1から12のいずれか一項に記載の方法を行わせる命令を含む、1つまたは複数のコンピュータプログラム(1203)。
【請求項15】
請求項14に記載のコンピュータプログラム(1203)を含む1つまたは複数のコンピュータ可読記憶媒体(1301)。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書の実施形態は、物体マッチングアルゴリズムによる物体マッチングにおいて使用するための物体モデルの生成に関する。物体モデルは、参照物体を画像化した少なくとも1つのモデル教示画像から抽出された物体特徴を含む。
【背景技術】
【0002】
視覚物体マッチングは、画像、すなわちライブ画像中のある物体の1つまたはいくつかのインスタンスを見つけようとする、すなわち、その物体が画像中に存在するか否かを識別し、かつ/またはそれの位置、向き、および/もしくはスケールなど、画像中のその物体に関係する属性を見つけようとするものである。物体マッチングを行うことができるように、物体マッチングに使用されるマッチングアルゴリズムは、物体の1つまたはいくつかの画像を使用して、見つける物体について「教示される」、すなわち知らされる必要がある。これらの画像は、参照画像、またはモデル教示画像と呼ばれてもよく、それらが画像化している物体は、参照物体と呼ばれてもよい。参照物体は、したがって、見つける物体についてマッチングアルゴリズムに「教示する」または知らせるために使用される物体に対応し得る。
【0003】
参照物体の物体モデルが、一般的には、参照物体を画像化した参照画像から、すなわちモデル教示画像から生成される。物体モデルは、上記のモデル教示画像によって画像化された参照物体の物体特徴を抽出することによって生成される。どの特徴を抽出するかは、適用領域に応じて変化する場合があり、モデル教示画像からどの特徴が抽出可能であるか、物体を見つけるにはどの特徴が特徴をなしているか、および/またはライブ画像中の物体を後で識別できるように、どの種類の特徴を使用するのが最良であると考えられるかによって決まる場合もある。抽出する一般的な特徴は、たとえば、各々が周囲点を有する隅角点(corner point)に対応する隅角部など、画像化された参照物体のエッジまたは特徴的なランドマークポイントである。
【0004】
抽出された物体特徴を有する物体モデルは、次いで、たとえばライブ画像とマッチングするために、物体マッチングにおいてマッチングアルゴリズムによって使用される。マッチングアルゴリズムは、物体モデルの異なるポーズをライブ画像とマッチングすることに基づいており、次いで結果を、すなわち各ポーズがいかに良くライブ画像とマッチングするかを評価するのが一般的である。たとえば、各ポーズが、物体モデルのある平行移動、回転、スケール、またはそれらのいくつかの組合せに対応し得る。いくつかの基準に従って十分に有効なマッチがある場合、マッチである、すなわち物体はライブ画像中に存在していると考えられる。そのようなマッチに使用されるポーズは、識別される物体が画像中にどのように位置付けられているか、たとえばライブ画像中のそれの位置、向き、および/またはスケールを識別するために使用されてもよい。
【0005】
理想的には、すべてのマッチが正しいものであるはずであり、すなわち、マッチが十分に有効である場合、マッチは常に正しいはずである。しかしながら、実際には、これは必ずしもそうではない。物体を見つけるためにマッチングアルゴリズムで物体モデルが使用されるとき、正しくないマッチが発生し、問題を引き起こすことがある。正しくないマッチは、たとえば、背景および/もしくは正しくない物体でのマッチのために、物体が存在しないにもかかわらず、画像中に物体が存在すると識別する場合があり、かつ/または、画像中にいくつかのマッチがある場合があるが、それらのうちの1つだけが正しく、したがって、それらの間で見分けること、すなわちどのマッチが正しいかもしくは正しくないかを知ることが困難もしくは不可能である場合がある。別の問題は、正しくないマッチが、正しい物体上にあるが、正しくないポーズ、たとえば正しくない位置および/または向きおよび/またはスケールに対応することである場合がある。
【0006】
したがって正しくないマッチが、マッチとして記述される可能性があり、マッチングアルゴリズムが、正しいマッチではないにもかかわらず、マッチに対応する結果をもたらすことになり、すなわち、少なくとも実際に発生し得る現実的な環境下ではない、たとえば干渉、ノイズ時などに、正しいマッチと区別できないマッチが、正しいマッチと考えられるには、一般に、ある範囲内またはしきい値を超えるすべてのマッチを必要とする。
【0007】
物体マッチングにおいておよび物体モデルと共にマッチングアルゴリズムが使用されるとき、正しくないマッチの発生を減らすことが望ましいようである。
【0008】
従来技術には、マッチングアルゴリズム自体、物体モデルに含むモデル教示画像から抽出する物体特徴のタイプを改善すること、およびモデル教示画像からの特徴の抽出、すなわち、たとえば、物体モデルに含まれるようにモデル教示画像から抽出されているものを制御する、特徴抽出に使用される1つまたは複数のパラメータを制御することによって、物体モデルにどの特徴を含むべきかを、改善することを目指す解決策がある。たとえばエッジ強度しきい値を制御することによって、どのエッジが抽出され、含まれるか、または微分の大きさなど、エッジがどんな強さで物体モデルに含まれなければならないかを決定する。
【0009】
従来技術の解決策の一例は、US 2012170835 A1に見つけることができる。
【先行技術文献】
【特許文献】
【0010】
【文献】US 2012170835 A1
【発明の概要】
【発明が解決しようとする課題】
【0011】
上記に鑑みて、従来技術に対する1つまたは複数の改善案または代替案を提供すること、特に、正しくないマッチをより少なくすることができる物体モデルなど、物体マッチングのための改善された物体モデルの提供をサポートすることが目的である。
【課題を解決するための手段】
【0012】
本明細書の実施形態の第1の態様によれば、この目的は、1つまたは複数のデバイスによって行われる、物体マッチングアルゴリズムによる物体マッチングのための、第1の物体モデルに基づく、第2の物体モデルの生成をサポートするための方法によって達成される。第1の物体モデルは、画像化された参照物体の物体特徴を含む。上記のデバイスが、第1の物体モデルに含まれる上記の物体特徴の異なるサブ特徴(sub-feature)をそれぞれ含むサブモデルを取得する。さらに、上記のデバイスが、サブモデルそれぞれに対する寄与インジケータ(contribution indicators)を提供する。上記の寄与インジケータの各寄与インジケータが、正しくないマッチへのサブモデルのサブ特徴の寄与を示す。物体マッチングアルゴリズムによる、第1の物体モデルおよびサブモデルの、少なくとも1つのモデル最適化画像(MOI)とのマッチングに基づく寄与インジケータは、第1の物体モデルとマッチングされるとき、少なくとも上記の正しくないマッチをもたらす、あらかじめ定義されたトレーニング特徴を含む。
【0013】
本明細書の実施形態の第2の態様によれば、この目的は、物体マッチングアルゴリズムによる物体マッチングのための、第1の物体モデルに基づく、第2の物体モデルの生成をサポートするための1つまたは複数のデバイスによって達成される。第1の物体モデルは、画像化された参照物体の物体特徴を含む。上記のデバイスが、第1の物体モデルに含まれる上記の物体特徴の異なるサブ特徴をそれぞれ含むサブモデルを取得するように構成される。さらに、上記のデバイスが、サブモデルそれぞれに対する寄与インジケータを提供するように構成される。上記の寄与インジケータの各寄与インジケータが、正しくないマッチへのサブモデルのサブ特徴の寄与を示す。物体マッチングアルゴリズムによる、第1の物体モデルおよびサブモデルの、少なくとも1つのモデル最適化画像(MOI)とのマッチングに基づく寄与インジケータは、第1の物体モデルとマッチングされるとき、少なくとも上記の正しくないマッチをもたらす、あらかじめ定義されたトレーニング特徴を含む。
【0014】
本明細書の実施形態の第3の態様によれば、この目的は、上記の1つまたは複数のデバイスによって実行されると、1つまたは複数のデバイスに第1の態様による方法を行わせる命令を含むコンピュータプログラムによって達成される。
【0015】
本明細書の実施形態の第4の態様によれば、この目的は、第3の態様によるコンピュータプログラムを含むキャリアによって達成される。
【0016】
第2の物体モデルは、次いで、提供された寄与インジケータによれば、他のサブ特徴よりも正しくないマッチにより寄与する1つまたは複数のサブ特徴の影響を削減した、第1の物体モデルの変更に基づいて生成されてもよい。削減された影響は、上記の他のサブ特徴に関連している。
【0017】
言い換えれば、寄与インジケータによれば、残っているサブ特徴に比べて正しくないマッチにより寄与するサブ特徴の影響は削減される。したがって第2の物体モデルは、第1の物体モデルに比べて正しくないマッチにあまり寄与しない物体特徴を含むことになる。一般に、寄与インジケータによれば、正しくないマッチに最も寄与するサブ特徴からの影響を削減することが望ましい。サブ特徴の影響を削減することは、いくつかの実施形態では、そのようなサブ特徴を第1の物体モデルから除去すること、またはそれの一部を除去することを含んでもよい。たとえば、物体マッチングにおいて、特徴のサンプルが少ないことが、その特徴からの寄与が少ないことを意味するとき、そのようなサブ特徴をより疎にサンプリングする、またはそのようなサブ特徴の、ピクセルなどのサンプルを少なく保つ。これは、残りの物体特徴またはサンプルが、すなわち第2の物体モデルにおいて、正しくないマッチにあまり寄与しないこと、および/または正しいマッチに比較的より寄与することを可能にする。第2の物体モデルは、それによってより正確な結果を可能にするだけでなく、サイズを縮小することができ、より高速な実装を可能にするより効率的なモデルとなり得る。言い換えれば、本明細書の実施形態によって、物体マッチングのための改善された物体モデルの提供がサポートされる。
【0018】
本明細書の実施形態の例について、以下で簡単に説明する添付の概略図を参照しながらより詳細に説明する。
【図面の簡単な説明】
【0019】
図1A】参照物体を画像化したモデル教示画像を示す図である。
図1B】参照物体の特徴に基づく第1の物体モデルを示す図である。
図1C】第1の物体モデルの疎にサンプリングされたバージョンを示す図である。
図1D】正しいマッチをもたらす第1の物体モデルに基づく物体マッチングからのマッチ結果例を示す図である。
図2A】第1の物体モデルとマッチングするためのライブ画像を示す図である。
図2B】正しいマッチおよび正しくないマッチをもたらす第1の物体モデルおよびライブ画像に基づく物体マッチングからの別のマッチ結果例を示す図である。
図3】参照物体を画像化したモデル教示画像の一例を概略的に示す図である。
図4】第1の物体モデルからサブモデルを形成することを示すブロック図である。
図5】第1の物体モデルおよびそれのサブモデルをモデル最適化画像とマッチングすることを示すブロック図である。
図6】モデル最適化画像、MOIとのモデルの各マッチングがMOIごとにマッチ結果をもたらす方法を示すブロック図である。
図7A】第1の物体モデルに対するMOIごとのマッチ結果が何に基づいているかを示すブロック図である。
図7B】サブモデルについてのMOIごとのマッチ結果が何に基づいているか、およびマッチ結果がサブモデルについての寄与インジケータを提供するために使用されることを示すブロック図である。
図8】第1の物体モデルのスコアマップおよびサブモデルのスコアマップを示すブロック図である。
図9】サブモデルごとに寄与インジケータが提供されることを示すブロック図である。
図10A】第1の物体モデルおよび本明細書の実施形態に基づく第2の物体モデルを示す図である。
図10B図2Bと比較するために第2の物体モデルおよびライブ画像に基づく物体マッチングからの別のマッチ結果例を示す図である。
図11】本明細書の実施形態による方法の実施形態を概略的に示すフローチャートである。
図12】本明細書の実施形態による1つまたは複数のデバイスの実施形態、および図11に関して説明した方法およびアクションを実行するためにどのように構成できるかを示すための機能ブロック図である。
図13】上記の1つまたは複数のデバイスに図11に関して説明した方法およびアクションを行わせるために、コンピュータプログラム、およびそれのキャリアに関係する実施形態を示す概略図である。
【発明を実施するための形態】
【0020】
本明細書の実施形態は、例示的な実施形態である。これらの実施形態は必ずしも相互排他的ではないことに留意されたい。1つの実施形態に由来する構成要素および部分は、別の実施形態に存在すると暗黙のうちに仮定される場合があり、それらの構成要素または部分が他の例示的な実施形態においてどのように使用されるかは当業者には明らかであろう。
【0021】
本明細書の実施形態への展開として、背景技術において示した状況および問題を、最初にいくつかの図に関してさらに詳しく述べ、いくつかの図の支援によって説明する。
【0022】
図1Aは、参照物体111を画像化したモデル教示画像110を概略的に示す。
【0023】
図1Bは、参照物体111の特徴に基づく物体モデル120を概略的に示す。物体モデル120は、モデル教示画像110から生成され得る。物体モデル120は、モデル教示画像110内の画像参照物体の、本明細書ではエッジの形の、物体特徴を含む。物体モデル120は、上記のモデル教示画像110によって画像化された参照物体111の物体特徴の抽出によって生成され得る。図では、参照物体111のより特徴をなしている部分121に対応する物体特徴の一部が、一例として指摘されている。
【0024】
図1Cは、物体モデル120の疎にサンプリングされたバージョン120aを示している。ピクセルで形成されるデジタル画像が一般的に使用されるので、物体モデル120の物体特徴、たとえばエッジは、高密度の、一様に分布したサンプリングに対応するピクセルで形成される。疎にサンプリングされたバージョン120aは、したがって、物体モデル120のエッジからいくつかのピクセルを除去することによって、またはそれのエッジをサンプリングすることによってもたらされ得る。いずれの場合も、物体モデルの疎にサンプリングされたバージョンを使用することが実装の理由で望ましい場合があり、データ量を削減し、そのようなモデルを使用したより高速な物体マッチングを可能にする。
【0025】
物体モデル120は、たとえばライブ画像とマッチングするために、物体マッチングにおいてマッチングアルゴリズムによって使用される場合がある。マッチングアルゴリズムは、物体モデル120の異なるポーズをライブ画像とマッチングすることに基づいており、その場合、たとえば各ポーズがいかに良くライブ画像とマッチングするかを見るために、得られたマッチ結果を評価してもよい。たとえば、各ポーズが、物体モデル120のある平行移動、回転、スケール、またはそれらのいくつかの組合せに対応し得る。いくつかの基準に従って十分に有効なマッチがある場合、マッチである、すなわち参照物体111に対応する物体がライブ画像中に存在していると考えられる。そのようなマッチに使用されるポーズは、識別される物体が画像中にどのように位置付けられているか、たとえばライブ画像中のそれの位置、向き、および/またはスケールを識別するために使用されてもよい。
【0026】
物体マッチングにおいて異なるポーズのスコアを表すために、スコアマップの形成がしばしば使用される。いくつかのマッチングアルゴリズムは、スコアマップの提供に基づいている。スコアマップは、マッチングアルゴリズムに従って、物体モデル、たとえば物体モデル120を画像、たとえばライブ画像とマッチングすることから得られるマッチ結果の形である。スコアマップは、異なるポーズ(たとえば平行移動、回転、および/またはスケール)の物体モデルを画像、たとえばライブ画像とマッチングすることによって形成されてもよい。
【0027】
スコアマップは、マップの異なる位置にスコアを含む。各位置が、物体モデルの1つまたは複数のポーズに対応する、またはマップする。各スコアは、いかに良くマッチがあるかの、したがってライブ画像中の物体が、位置が対応する物体モデルの1つまたは複数のポーズといかに良くマッチングするかの、一般的には値または数の形の測度であると考えることができる。一般的には、スコアが高くなるほど、マッチに近づく。スコアマップの最高スコアは、したがって最良の潜在的な正しいマッチに対応し得る。最高スコアが十分にある場合、実際のマッチは、スコアがあるあらかじめ定義された、またはあらかじめ決定された範囲またはしきい値内であるか、これを超えるかによって決まってもよく、マッチングアルゴリズムが使用される、またはそれおよび物体モデルから導くことができるように構成されてもよい。スコアマップは、使用されるマッチングアルゴリズムに従って、マッチングが画像、たとえばライブ画像とマッチングする物体モデルの複数のポーズを試すこと、またはテストすることを含み、次いでどのポーズが実際のマッチ、すなわち特定のポーズでの物体モデルに従った物体が画像、たとえばライブ画像に存在していることを示す結果をもたらしたかを評価するために、物体モデルの複数のポーズを試すことまたはテストすることを含むとき、しばしばマッチ結果に使用される。各ポーズのマッチ結果は、スコアマップの位置におけるスコアに対応してもよく、たとえば、ピクセルごとの比較または仮説検証(hypothesis testing)に基づいてもよい。ピクセルごとの比較は、たとえば、物体モデルの各ポーズで、物体モデルおよびマッチングされている画像の重複ピクセル間で2進乗算を行うことを含んでもよく、次いで結果を加算して、ポーズに対応するスコアマップ位置のスコアを形成する。「1」などの、すなわちピクセルレベルでマッチに対応する、同じである重複ピクセルのみが、スコアが増えることになる。
【0028】
図1Dは、第1の物体モデル120を、参照物体111を画像化しているモデル教示画像110とマッチングすることに基づく物体マッチングからのマッチ結果例を示して、明確なマッチをもたらす一例を提供する。この例では、物体モデルの平行移動であるポーズのみが使用されている。図示のマッチ結果は、ここでは、グラフィック表現を可能にするために、スコア画像130の形のスコアマップであり、すなわち各ピクセルが、スコアに対応する値を有し、スコアが高くなるほど、この例ではピクセルが暗くなる。明確な正しいマッチ131が、正しいマッチに対応すると予想され、わかっている、モデル教示画像110上の中心に位置する物体モデル120のポーズに対応するピクセルについて識別され得る。
【0029】
理想的には、スコアマップのスコアに従ったすべてのマッチが、正しいマッチであるはずである。しかしながら、背景技術においてすでに説明したように、実際には、これは必ずしもそうではない。背景技術において説明したように、物体を見つけるためにマッチングアルゴリズムで物体モデルが使用されるとき、正しくないマッチが発生し、問題を引き起こす可能性がある。
【0030】
図2Aは、第1の物体モデル120とマッチングするための画像215、たとえばライブ画像の一例を示し、この画像215は、2つの物体、すなわち第1の物体215aと、第2の物体215bとを画像化している。了解されるように、物体モデル120は、単に第2の物体215bと正しくマッチングするのが望ましい。
【0031】
図2Bは、第1の物体モデルおよび画像215およびマッチングアルゴリズム、たとえば上記で使用した、スコア画像130をもたらすマッチングアルゴリズムに基づく、物体マッチングからの別のマッチ結果例を示す。マッチ結果は、やはりここではスコア画像、すなわちスコア画像230である。図示のように、2つのマッチ、すなわち正しくないマッチ231aと、正しいマッチ231bとが見つけられる。これらのマッチに対応する位置の等しく暗いピクセルは、スコアが等しい、または非常に近く、どの位置が正しいマッチに対応するかを、スコアだけから区別することができないことを示した。実際的な状況では、マッチングアルゴリズムが画像215中に2つの物体111があるという結果をもたらし得るが、明らかにそうではない。
【0032】
したがって、スコアマップでは、マッチに対応する同様に高いスコアを有する多くの位置がある場合があるが、正しいマッチは1つしかない、またはないことさえある。これは、使用される物体モデルの特性、マッチングアルゴリズム、およびノイズを含む、マッチングされる画像が示し、含んでいるものに起因している可能性がある。これは、どの位置が最良のまたは正しいマッチであるかを知ることをしばしば困難にする。したがって高いスコアを有する他の位置は、おそらく最高のスコアを有するものでさえ、誤った、または正しくないマッチである可能性がある。正しくないマッチと正しいマッチを区別することは困難または不可能である場合がある。これは、物体マッチングにおける望ましくないエラーを生じる。
【0033】
本明細書の実施形態は、物体マッチングのための改善された物体モデル、すなわち、正しくないマッチを少なくする能力を有する物体モデルの支援提供によってこの問題に対処しようと努める。
【0034】
本明細書の実施形態の根底にある見解は、いくつかのエッジ、エッジのセットおよび/または特徴的なランドマークポイントなど、物体モデル、たとえば120のいくつかのサブ特徴が、他のものよりも正しくないマッチにより寄与すること、ならびにそのようなサブ特徴を識別することができ、正しくないマッチを引き起こすことにおけるそれらの影響を、第1の物体モデルの変更によって減らすことができる場合、得られる新しい第2の物体モデルは、正しくないマッチを少なくすることができるはずであり、潜在的にサイズを縮小することもできるということである。
【0035】
次に本明細書の実施形態について例示し、図の支援によって少し詳細に説明する。最初にいくつかの概念および関係について説明し、次いでこれらを以下でさらに、より完全な実施形態の説明において使用する。
【0036】
図3は、参照物体411を画像化したモデル教示画像410の一例を概略的に示す。上記で説明した状況との本明細書の実施形態の比較を容易にするために、本明細書のモデル教示画像410および参照物体411は、それぞれモデル教示画像110および参照物体111に対応する。
【0037】
図4は、たとえば、第1の物体モデル420に基づく、サブモデル425-1…425-Nの形成を概略的に示すブロック図であり、ただしNは、1より大きい整数であり、第1の物体モデル420の物体特徴の数に対応し得る。第1の物体モデル420は、モデル教示画像410に基づいてもよく、上記で説明した状況との本明細書の実施形態の比較を容易にするために、本明細書では上記の物体モデル120に対応する。第1の物体モデル420は、従来の物体モデルに対応してもよい。各サブモデル、たとえば、第1の物体モデル420のサブモデル425-nが、サブ特徴、すなわち、第1の物体モデル420の1つまたは複数の、ただし全部ではない特徴を備える。たとえば、第1の物体モデルの各エッジまたはエッジのグループが、サブモデルを形成してもよい。サブモデル425-1…425-Nの全体のサブ特徴は、第1の物体モデル420の物体特徴の全体に対応すべきであり、したがって、エッジの形の例において、サブ特徴421-1…421-Nがあってもよい。図では、エッジの形のサブ特徴421-1および別のエッジの形の別のサブ特徴421-Nが、理解を容易にするために、および後で比較するために示されている。これらの例には示されていないが、(単一の)サブ特徴が、物体特徴のいくつかのエッジ部分を含む、かつ/またはたとえば物体特徴の特徴のあるランドマークポイント部分を含む可能性があることに留意されたい。
【0038】
本明細書の例に示すモデルは、物体特徴としてエッジを有するが、画像化された物体のどんな種類の特徴も追加または代替として使用でき、たとえば、上述のランドマークポイントまたはエリア、たとえば、コーナーなど、参照物体の特徴をなしている特徴をカバーしている局所エリアのピクセルが、使用できることにさらに留意されたい。物体特徴を構成するものは、したがって、実施形態間で異なることがあり、含まれる特徴のタイプだけでなく、各物体特徴に含まれるものが異なることがある。たとえば、特徴のタイプがエッジである場合、物体特徴は単一のエッジまたはいくつかのエッジである場合がある。したがって、この例では、物体特徴の全体の単一のサブ特徴が、上記ですでに示したように、物体エッジの全体の単一のエッジに対応するか、物体エッジの全体のいくつかのエッジおよび/または1つもしくは複数のエッジの一部に対応する場合がある。
【0039】
図5は、第1の物体モデル420およびそれのサブモデル425-1…425-Nを少なくとも1つのモデル最適化画像(MOI)440とマッチングすることを概略的に示すブロック図である。したがってマッチングは、使用するマッチングアルゴリズム450、たとえば第1の物体モデル420で従来使用されるマッチングアルゴリズム450に従っている。たとえば、マッチングアルゴリズムは、図1に関して述べたように、ピクセル比較または仮説検証(hypothesis testing)によって、ピクセルに基づいてもよい。同じマッチングアルゴリズムは、図に示すすべての物体マッチングに使用される。各モデルがMOI440とマッチングされる。いくつかのMOI440がある場合、したがって、MOIと同数の、モデルごとの物体マッチングがある。
【0040】
単一のモデルの一般的な関係もまた、図6に概略的に示す。
【0041】
図6は、モデル、たとえばサブモデル425-1…425-Nのうちのいずれか1つであるサブモデル425-nまたは第1の物体モデル420の各マッチングが、マッチングアルゴリズム450に従ってMOI440とどのようにマッチングされるか、およびMOIごとのマッチ結果、たとえばMOIごとのスコアマップがあるので、結果は少なくとも1つのマッチ結果460;465-n、すなわち(1つまたは複数の)マッチ結果であることを概略的に示すブロック図である。マッチ結果460は、第1の物体モデル420についてであり、マッチ結果465-nは、サブモデル425-1…425-Nのいずれか1つについてである。
【0042】
MOIは、たとえば、物体モデルとマッチングするための、少なくとも1つまたは複数の正しくないマッチを引き起こし得る、好適な物体および/または背景の画像化から得られるパターンを各々有する、1つまたは複数の画像であってもよい。MOIは、たとえば、マッチングアルゴリズムで使用されるとき、正しくないマッチを引き起こすと思われるかつ/または知られている、参照物体および/または他の物体と同様の1つまたは複数の物体、背景パターンなどを画像化した画像を含んでもよい。MOI440中の画像化された物体の1つまたは複数は、必ずしもそうではないが、1つまたは複数のポーズ、たとえば平行移動、回転、および/またはスケーリングでの参照物体411に対応してもよい。そのような場合、1つまたは複数の正しくないマッチに加えて、第1の物体モデル420との物体マッチングにおいて少なくとも1つの正しいマッチがあると予想されることがある、または知られている場合がある。MOIは、必ずしもそうではないが、モデル教示画像の1つまたは複数、さらにすべてに基づいても、またはこれらを含んでもよい。
【0043】
当業者は参照物体および/またはマッチングされる第1の物体モデルの知識、使用されるマッチングアルゴリズムおよび/または動作状態、たとえば動作中に、すなわち物体マッチングがライブ画像で行われるとき発生し、正しくないマッチのリスクを引き起こす可能性がある状況に関する情報に基づき、実際の事例において好適なMOIを選択または形成してもよい。
【0044】
いくつかの実施形態では、MOIは、モデル教示画像のゆがめられたバージョンを含み、それによってたとえば特徴の不動性がマッチングの問題の原因となるときのトレーニングを可能にする。これは、そのようなマッチングの問題を回避するのにより優れている第2の物体モデルを可能にする。いくつかの実施形態では、MOIは、他の物体および/または背景上の偽のマッチでのトレーニングを可能にするために、参照物体および/または背景以外の物体を画像化し、したがって、そのようなマッチングの問題を回避するのにより優れている第2の物体モデルを可能にする。
【0045】
図7Aは、第1の物体モデル420に対するMOI440ごとのマッチ結果460、たとえばスコアマップが、第1の物体モデル420、マッチングアルゴリズム450、およびMOI440に基づいていることを概略的に示すブロック図である。MOIごとのマッチ結果460は、MOIに存在する場合、第1の物体モデル420のどのポーズが正しくないマッチおよび正しいマッチをもたらすかを識別するために使用することができる。マッチ結果がスコアマップである場合、ポーズは、マッチに対応するようにあらかじめ定義されたまたはあらかじめ決定されたスコアを有するMOIごとのスコアマップにおける位置を識別することによって見つけられてもよい。以下のスコアマップのさらなる説明を参照されたい。最良の考えられるマッチに対応するマッチ結果、たとえばスコアは、第1の物体モデルをそれ自体とマッチングすることに関するので、完全な物体モデル、たとえば第1の物体モデル420および使用されるマッチングアルゴリズムを知ることから見つけることができる。そのように理論上最良のものに関していくつかのあらかじめ定義されたマージンが、実際にマッチと見なされるものを定義してもよく、理論上完全なマッチはしばしば予想できず、実際の状況でマッチであることを必要とされない。
【0046】
図7Bは、各サブモデル425-1…425-Nに対するMOI440ごとのマッチ結果465-n、たとえばスコアマップが、サブモデル425-n、マッチングアルゴリズム450、およびMOI440に基づいていることを概略的に示すブロック図である。マッチングアルゴリズムおよびMOIは、図7Aと同じである。したがって図7Aの例の第1の物体モデル420に使用されるものと同じポーズが、各サブモデル465-nに使用される。マッチ結果が、スコアマップの形態である場合、各サブモデルのスコアマップおよび第1の物体スコアマップにおける対応する位置は、同じポーズにマッピングすべきである。正しくないマッチおよびもしあれば正しいマッチを引き起こすポーズは、第1の物体モデルのマッチングからわかるので、マッチ結果は、これらのポーズのサブモデルについて同様に見つけることができる。マッチ結果が、以下でさらに説明するスコアマップの形であるとき、サブモデルのスコアは、マッチの位置に見つけることができる。サブモデルに関係するそのようなマッチ結果、たとえばスコアは、サブモデルしたがって関連するサブ特徴の、図7Aの例など、第1の物体モデルとの、すなわち第1の物体モデル420とのマッチングに従ってマッチへの寄与に対応する場合があり、またはこれを識別するために使用される場合がある。
【0047】
サブモデルについてのMOIごとのマッチ結果は、次いで、一般的には計算によって、寄与インジケータを提供するために使用されてもよい。寄与インジケータについては、以下でさらに説明するが、最初にスコアマップの概念について、本明細書の実施形態に照らしてさらに説明する。
【0048】
図8は、すでに上述したようにマッチ結果としてのスコアマップの背後の一般的原理を単により良く説明するために、第1の物体モデルのスコアマップ460aおよびサブモデルのスコアマップ465a~nを概略的に示すブロック図である。したがってスコアマップは、マッチ結果の例、たとえば図7A図7Bのマッチ結果460および465-nの例である。
【0049】
各スコアマップは、物体モデルまたはサブモデル425-1…425-Nのいずれか1つと、当該のモデルの異なるポーズ、たとえば平行移動、回転、および/またはスケーリングでのMOIとの間のマッチングから得られる。各位置が、スコアの形でMOIとの特定の1つまたは複数のポーズのマッチングから結果を記憶する。
【0050】
したがって、モデルおよびMOIごとに1つのスコアマップがあり、言い換えれば、1つのMOIについて、たとえば第1の物体モデル420用の1つのスコアマップ460aと、サブモデル425-n用のスコアマップ465a~nとがある。各スコアマップに、マッチングにおいて使用されるポーズ、または各位置がいくつかのポーズのマッチングの結果を保持する場合はポーズのセットの数に対応するK個のスコアおよび位置がある。したがってK個の位置p1…pKがあり、それの任意の位置が位置pkと呼ばれもよく、ただしkは1からKの範囲にわたってもよく、Kは整数>1である。スコアマップの各位置に、1つまたは複数の特定のポーズをMOIとマッチングした上記の結果であるスコアが記憶される。たとえば、図では、第1の物体モデルのスコアマップ460aの位置p1…pKにそれぞれスコアFOM_score_1…FOM_score_Kがあり、図示のサブモデルのスコアマップ465a~nの位置p1…pKにそれぞれスコアSM_score_1…SM_score_Kがある。スコアマップの位置から、スコアをもたらしたマッチングにおいてモデルのどのポーズが使用されたかを見つけることができ、すなわち各位置が、1つまたは複数のポーズと関連付けられる。正確には、各位置がどのポーズに関係するかが、あらかじめ定義されまたはあらかじめ決定され、関係が維持されることが暗に示され、すなわち、マッチングにおいて使用されたどのポーズがその位置のスコアをもたらしたかを、スコアマップの位置から後で識別できるようにする。
【0051】
スコアマップの各スコアは、一般的には値、たとえば整数の形で、当該のポーズがMOIといかに良くマッチングするかを示す、マッチングレベルインジケータとして記述されてもよい。整数の形のスコアが、たとえば、位置と関連するポーズにおけるMOIとモデルとの間で、いくつのピクセルがマッチしているかなど、マッチングのレベルまたは度合いを示してもよい。
【0052】
上述のように、同じMOIおよびモデルポーズがサブモデルおよび完全な第1の物体モデルに使用されるので、スコアマップには同数の位置pkがあり、すべてのスコアマップ460aおよび465-1…465-Nの対応する位置、たとえば位置p1が、1つまたは複数の同じポーズに対応する。これは、モデル間でスコア、ひいてはマッチを関連付け、それによってあるサブモデルのサブ特徴が、あるポーズにおける完全な第1のモデルスコアに、詳細には正しくないマッチなどのマッチをもたらすような1つまたは複数のポーズに、どのくらい寄与するかを見つけ出すことも可能にする。上記で説明したように、各モデルが完全な第1の物体モデルの物体特徴からのサブ特徴で形成されるので、サブモデル425-nの寄与は、実際には第1の物体モデル420のサブ特徴421-nの寄与である。
【0053】
言い換えれば、各スコアは、したがって、モデルおよびMOIの関連するポーズ間のマッチがいかに良くあるか、したがって対応するポーズのモデルがMOIといかに良くマッチングするかの測度である。これは、スコアマップが従来生成される方法と同様であるが、たとえばライブ画像の代わりにMOIを用いる。サブモデルの使用に違いがあり、これらは、サブモデルがベースとする元の物体モデル、たとえば、第1の物体モデル420と同じMOIとマッチングされる。別の違いは、やはりMOIが制御され、たとえばあらかじめ定義またはあらかじめ決定され得ることであり、当然これは、従来の物体マッチングおよびライブ画像ではそうではない。サブモデルのスコアマップの各スコアは、マッチがいかに良くあるか、ひいてはサブモデル、たとえば第1の物体モデルのあるエッジが、対応するポーズにおいて、MOIといかに良くマッチングするかの測度である。
【0054】
了解されるように、複数のMOIの場合、各MOIについて、第1のモデルのスコアマップ、およびサブモデルごとに1つのサブモデルのスコアマップが作成されるべきである。すなわち、MOIごとに、第1の物体モデルに対してサブモデル+1と同数のスコアマップを有するセットがあることになる。複数のMOIがある場合、したがって、MOIごとに1セットの、スコアマップの複数のセットがあることになる。
【0055】
元の物体モデル、たとえば第1の物体モデル420のマッチへのサブモデルおよびそれらのそれぞれの寄与、およびそれによって第1の物体モデルの物体特徴へのサブ特徴の寄与を比較することができるように、好ましくは正しいマッチへの寄与に関連して、またはそれと比較して、正しくないマッチへの寄与を示し、どのサブモデルが他のものに比べてより多く/少なく寄与しているかを見るためのサブモデル間の単純な比較を可能にする測度またはインジケータを有するのが望ましい。したがって、すでに上述したように、サブモデルについてのMOIごとのマッチ結果に対する寄与インジケータが提供されてもよい。たとえば、図に示したサブモデル425-nは、次いで、一般的には計算によって、寄与インジケータ475-nを提供するために使用され得る。寄与インジケータについては、以下でさらに説明するが、最初にスコアマップの概念について、本明細書の実施形態に照らしてさらに説明する。
【0056】
元のモデル、たとえば第1の物体モデル420、それのサブモデル、使用されるマッチングアルゴリズム、MOI、およびマッチ結果、たとえばスコアマップに基づいて、そのような測度またはインジケータを、一般的には値または数の形で、各サブモデルについて、たとえばこのサブモデルが、もしあれば正しいマッチと関係して、またサブモデル間の比較のために、正しくないマッチをどのくらい生成するまたはもたらす傾向があるかを示して、計算され得る。それによって、もっとも寄与が少ないと思われるサブ特徴を有するサブモデル、およびこれらのサブ特徴の影響を、元の、第1の物体モデルから減らし、たとえば取り除き、正しくないマッチをより少なくすること、または少なくともマッチングエラーを引き起こす正しくないマッチのリスクを減らすことができる新しい第2の物体モデルを形成することができることがわかる。また、了解されるように、サブモデルのマッチ結果、たとえばサブモデルのスコアマップは、たとえば、第1の物体モデル420の元の物体モデルのスコアマップにマッチへのサブ特徴の寄与に関する情報を含んでいるが、それらは扱ういくつかのスコア、たとえば値などで比較することが困難である場合がある。これはまた、本明細書の実施形態が代わりに、サブモデルとそれぞれ関連する、それらの間の比較のための上述の寄与インジケータを適用する理由である。
【0057】
サブモデル、したがってそれのサブ特徴に関する、たとえば寄与測度の形の各寄与インジケータは、したがって、サブモデルのサブ特徴が、元の、第1の物体モデルについての正しくないマッチにどのくらい寄与するかを示すはずである。これは、サブモデル間で寄与インジケータを比較すること、および他のサブモデルと比べて、正しくないマッチにより寄与しているものを見つけ出すことを可能にする。
【0058】
したがって、スコアマップに関して、サブモデルでは、それのスコアマップ、すなわちサブモデルのスコアマップが、第1の物体スコアマップが正しくないマッチを有する位置で高いスコアを有する場合、好都合ではないが、第1の物体スコアマップが正しいマッチを有する位置で同様に高いスコアを有する場合、好都合である。寄与インジケータがこれを反映することが望ましい。そのような寄与インジケータの例については以下の例を参照されたい。MOIが第1の物体の参照物体を画像化し、たとえば、それでノイズが追加された少なくとも1つの正しいマッチがある場合、ロバストなサブモデルが有利である。言い換えれば、ノイズにもかかわらず、他のサブモデルよりも正しいマッチにより寄与し、正しくないマッチ(そのMOIにもしあれば)にあまり寄与しないサブモデル、したがって第1の物体モデルの対応するサブ特徴は、そうではないものよりも有利である。
【0059】
図9は、上記ですでに示したように、サブモデル425-1…425-Nに対してそれぞれ寄与インジケータ475-1…475-Nが提供される、一般的には計算されることを示すブロック図である。各サブモデル425-nに対して、したがって寄与インジケータ475-nが提供される。サブモデルの寄与インジケータは、すべてのサブモデルに対して同じである何らかの基準に関連して、そのサブモデルのサブ特徴が正しくないマッチにどのくらい寄与するかの測度として記述されてもよい。
【0060】
複数のMOI、したがって各サブモデルに対するマッチ結果、たとえばMOIごとのスコアマップの場合、サブモデルに対する単一の寄与インジケータが、サブ寄与インジケータの和から計算されてもよく、各サブ寄与インジケータはマッチ結果ごとに、たとえばスコアマップごとに、したがってMOIごとに計算される。たとえば、いくつかのMOIの場合、各サブモデルに対して、MOIごとのサブ寄与インジケータ、たとえばMOIごとのサブ寄与スコアが提供されてもよく、次いでこれらの部分的なサブ寄与スコアが加算されて、その後サブモデル間の比較に使用され得るサブモデルごとの全体的な寄与スコアを形成してもよい。この手法を用い、複数のMOIを使用する利点は、サブモデルのより良い選択、それによって抑制または除去するのに「最良」であるサブ特徴をもたらすことができ、改善された選択、およびそれによって改善された第2の物体モデルを可能にすることであり得る。
【0061】
寄与インジケータの計算には、どのマッチ結果、たとえばスコアマップのスコアがマッチに対応するか、およびマッチが正しいか、正しくないかを知ることが望ましい。
【0062】
サブモデルのあるポーズが、たとえば、MOIが参照物体のこのポーズを含むことがわかっているので、正しいマッチに対応することがわかっている場合、スコアマップ内のこのポーズの位置は、正しいマッチに対応する。上記ですでに示したように、正しくないマッチは、たとえば、正しいマッチに近い、スコアマップのスコアを有する、たとえば、あるあらかじめ定義されたもしくはあらかじめ決定されたしきい値を超える、または正しいマッチをカバーしているあらかじめ定義されたもしくはあらかじめ決定された範囲内である、他のすべての位置であると見出すことができる。
【0063】
MOIでは正しいマッチであるが正確には正しいマッチに対応するポーズではないとわかっている場合、いくつかの実施形態では、元のモデルの最も高いスコア、たとえば第1の物体モデルのスコアマップ460aが正しいマッチであり、他のすべてのマッチが正しくないマッチであると仮定され得ることに留意されたい。MOIはあらかじめ定義され、あるいはさらにあらかじめ決定され、正しいマッチは制御可能であり、参照物体に基づいていて、それによって「完全な」マッチをもたらし得るので、これは合理的仮定であり得る。また、本明細書の実施形態による方法は、改善された、またはさらに最適化された第2の物体モデルを可能にするための「トレーニング」に関するものであるので、制御された条件で行うことができ、トレーニング中には、望ましくない干渉の影響、たとえばノイズは、一般的には制御され、たとえば削減され、またはさらに最小限に抑えられ得る。対称的な参照物体がある場合は、最高スコアによって区別できない1つまたは複数のさらなる正しいマッチがあり得る。しかしながら、そのような場合、または一般的に、MOI内の参照物体がいくつの正しいマッチをもたらすかがわかっているとき、最高のスコアの対応する数は、正しいマッチに対応すると仮定され得る。
【0064】
本明細書の実施形態は、すでに示したように、どのMOIにも正しいマッチがなくても機能することに留意されたい。その場合、したがって正しくないマッチであるマッチを見つけ、抑制することが目的であるものであると考えることができる。
【0065】
マッチ結果がスコアマップの形であるとき、寄与インジケータは寄与スコアと呼ばれてもよく、以下ではこれを使用する。
【0066】
寄与スコアを計算するためのアルゴリズムでは、正しいマッチに報酬を与え、正しくないマッチには逆のことをする、たとえば、サブモデルが正しいマッチに寄与するとき/場合、サブモデルの寄与スコアを増やし、正しくないマッチには対応する程度にそれを減らすことが望ましい。たとえば、第1のサブモデルにおける正しいマッチへの寄与が正しくないマッチのそれと等しい場合、これらの寄与は、互いに釣り合っていると考えられてもよい。第2のサブモデルでは正しくないマッチへの2倍の寄与がある場合、第2のサブモデルは保持するにはあまり好ましくない。
【0067】
これを成し遂げる一方法は、サブモデルおよびMOIごとに、正しくないマッチについてのすべてのマッチ結果、たとえばスコアの第1の和を作成し、次いで正しいマッチについての第2の和を作成し、次いで和を互いに関係付ける、たとえば第2の和を第1の和で割ることであってもよい。したがって、単にマッチ(正しいものおよび正しくないもの)を使用する、たとえば、元の物体モデルのスコアマップ、たとえば第1の物体モデルのスコアマップ460aにおいて、マッチを示す位置に対するスコアを使用することが望ましい可能性があり、それらは最も高いスコア、たとえばすでに上述したスコアしきい値を上回るすべてのスコアを有する位置である。スコアしきい値は、正しいマッチがもたらすもの、またはもたらし得るものに基づいて設定されてもよい。
【0068】
正しくないマッチスコアおよび正しいマッチスコアを第1および第2の和で別々に合計する以外の別のオプションは、正しいマッチの数および正しくないマッチの数を別々に合計し、次いで正しいマッチの数を正しくないマッチの数で割ることであってもよい。
【0069】
しかしながら、すべてのスコアが、すなわちすべての位置について、寄与スコアの計算に使用される場合は、正しくないおよび正しいマッチに対応する位置のスコアを選択する必要がなく、すなわち、上記のようにスコアしきい値を見つけ出し、適用する必要がなく、計算が単純になり、実装が容易になり得る。
【0070】
これは、元のモデルマッチ結果、たとえば第1の物体モデルのスコアマップ460aのスコアを含むこと、およびこれらを、正しいまたは正しくないマッチに対応するサブモデルのスコアの影響を強化し、他のサブモデルの影響を抑制する重み付けに使用することによって成し遂げられ得る。たとえば、上記の合計の各サブモデルのスコアに、第1のモデルのスコアマップの関数Fを掛けることにより、この関数は、たとえば各位置のそのスコアに応じて、同じ位置のサブモデルのスコアを強化または抑制する。そのような関数Fの一例およびそれをどのように使用できるかを以下に示す。実際には、単に合計の正しいおよび正しくないマッチを使用する上記の状況は、その位置の第1のモデルスコアに応じて対応するサブモデルスコアに、第1のモデルスコアが上記のスコアしきい値を下回るか、上回るかに応じて0または1を掛ける関数Fで実現され得る。しかしながらこれは、依然としてスコアしきい値が与えられる、たとえば計算される必要がある。したがって別のオプションは、定義による、正しいまたは正しくないマッチでの第1のモデルのスコアマップが、それの最高のスコアを有し、他のすべての位置でより低いスコアを有することを利用することである。したがって、サブモデルスコアに同じ位置の第1のモデルスコアを掛けることによって、各位置で簡単に重み付けを成し遂げることができる。しかしながら、関数が、第1のモデルスコアと共に指数関数的に増える場合、効果は向上し、すなわち関数Fは、m>1とすると、スコア>mである。たとえば、第1のモデルスコアの2乗、すなわちm=2は、十分で好適な重み関数Fである可能性が示されているが、さらに高いn:sはさらによく機能する可能性がある。
【0071】
以下は、寄与スコア、CSの形の寄与インジケータが、MOIごとにサブモデルに対して計算され得る方法、すなわち本明細書のいくつかの実施形態により計算され得る方法の式の一例、式1である。
【数1】
ただし、SM_score(pk)およびFOM_score(pk)は、位置pkに対するそれぞれ、サブモデルのスコアマップおよび完全なまたは第1の物体スコアマップに従ったスコアであり、各合計は、「すべてのk」、すなわちk=1…Kにわたる、または言い換えれば、それぞれのスコアマップのすべての位置pに対するものである。Fは、FOM_scoreに、すなわち第1の物体スコアマップに基づく、上記で説明し、さらに以下で説明する関数である。Pcorrは、位置pkが正しいマッチに対応するときは1、その他は0と評価する関数である。
【0072】
了解されるように、式1の例示の寄与スコアCSは、正しいマッチで増加し、正しくないマッチで減少し、したがって、最も高いCSを有するサブモデルと比べて、サブモデルが有するこの種のCSがより低くなると、「より悪く」なる。当然、CSを逆にすることができ、その場合CSがより高くなると、「より悪く」なる。MOIに正しいマッチがなく、すべてのCSが0となり、したがってその場合、分子が1に設定される、すなわちすべてのkに対してP=0の場合、式1を有する特定の場合に留意されたい。
【0073】
上記で説明したように、マッチ(正しくないマッチおよび正しいマッチ)であるスコアを有する位置は、あらかじめ定義される、あらかじめ決定される、または決定可能であり、MOIは制御可能である、たとえばあらかじめ定義またはあらかじめ決定可能であるので、Pもまた容易に決定できる。
【0074】
MOIには正しくないマッチのみであり、正しいマッチがないことがわかっている場合、すなわちすべてのpkがP=0である式1では、式1の分子は、すでに述べたようにこの場合1に置き換えられる。この場合、したがって、以下に従って各サブモデルの寄与スコアCSを計算すれば十分である。
CS=Σk(SM_score(pk)*F(FOMscore(pk)) 式2
【0075】
したがって、正しくないマッチを含むが正しいマッチを含まないMOIを使用することによって、計算がより単純になり、それによって実装が容易にされ、かつ/または実行がより高速になり得る。しかしながら、他の理由で、式1の場合など、MOIに正しいマッチがある場合と、正しいマッチがない場合の両方で機能する寄与スコアを計算するためのアルゴリズムを用いると望ましい場合がある。いずれの場合も、使用されるMOIは、完全な第1の物体モデルおよびサブモデルをそのように使用して「トレーニング」を可能にするために、少なくとも正しくないマッチを含み、第2のモデルが、一般的には正しいマッチも含まれるのが望ましいが、少なくとも、正しくないマッチを抑制するのにより優れたものとなり得るようにする。
【0076】
上述のように、式1および式2の利点は、スコアマップのすべての位置pについて、マッチに対応していない位置も、寄与スコアが計算されることである。Fによる重み付けはこれをサポートする。すでに上記で説明したように、いくつかの実施形態では、Fはスコアの2乗であり、すなわち、
F(FOMscore(pk))=(FOMscore(pk))2 式3
【0077】
図10Aは、上記で説明したものおよび本明細書の実施形態による、第1の物体モデル420に基づく第2の物体モデル480を示す。より詳細には、第2の物体モデル480は、式1および式3の適用に基づいている。
【0078】
認識されるように、図示の第2の物体モデル480は、物体モデルの疎にサンプリングされたバージョンであり、第1の物体モデル420に対応する、物体モデル120の従来の疎にサンプリングされたバージョンである図1Cの疎にサンプリングされた物体モデル120aと比較されてもよい。従来の疎にサンプリングされた物体モデル120aは、実質的に一様に、満遍なく広げられたサンプルを含む。
【0079】
式1および式3の適用から得られた寄与スコアは、サブ特徴をそれらの寄与スコアに従って互いに対して優先順位を付けるのに使用されている。より低い寄与スコアを有するサブ特徴は、より高い寄与スコアを有するサブ特徴がサンプリングされるよりも疎にサンプリングされ、第2の物体モデル480をもたらす。第2の物体モデル480は、したがって、与えられた寄与インジケータ、たとえば475-1…475-Nに従って、他のサブ特徴、たとえば421-Nよりも正しくないマッチにより寄与するサブ特徴、たとえばサブ特徴421-1の影響を削減した、第1の物体モデル420の変更に基づいている。図10Aでわかるように、特徴をなしている特徴121に対応する部分は、それに関係する寄与スコアによれば、他の特徴ほど正しくないマッチに寄与していないので、より密にサンプリングされる。たとえば、第1の物体モデル420のサブ特徴421-1に対応する第2の物体モデル480のサブ特徴481-1は、第1の物体モデル420のサブ特徴421-Nに対応する第2の物体モデル480のサブ特徴481-Nほど密にサンプリングされない。より密なサンプリングは、この場合に使用されるマッチングアルゴリズムを用いると、第2の物体モデル480でのそのような特徴の影響は、より密でないサンプリング部分からの影響と比べてより大きくなることを意味する。
【0080】
図10Bは、図2Bの結果との比較のために、本明細書の実施形態により生成された第2の物体モデル、および図2Aの画像215に基づく物体マッチングから得たスコア画像1030であるスコアマップの形のマッチ結果例を示す。図10Bでわかるように、本明細書の実施形態を適用し、それによって他の物体特徴に比べて特徴をなしている特徴121に対応する部分に与えられた影響が増大した結果、図2Bの正しくないマッチ231aの位置が現在、図10Bでは、より低いスコアを有し、それをマッチとしないことになる。したがってそれは、図2Bの正しいマッチ231bの位置でのただ1つのマッチ、すなわち正しいマッチ1031であり、正しくないマッチはない。言い換えれば、スコア画像1030から、本明細書の実施形態の結果、画像215において、代わりにまたは同様に物体215aとマッチングするリスクをおかすことなく、正しい物体、すなわち物体215bについての情報を識別し、見つけることが可能である。本明細書で使用し、本明細書の実施形態により生成する第2の物体は、したがって第1の物体モデル420に比べて改善される。
【0081】
図11は、本明細書の実施形態による方法の実施形態を概略的に示すフローチャートである。この方法を形成し得る以下のアクションは、第1の物体モデル、たとえば420に基づく第2の物体モデル、たとえば480の生成をサポートするためのものである。第2の物体モデル、および第1の物体モデルは、物体マッチングアルゴリズム、たとえば450による物体マッチング用である。第1の物体モデルは、画像化された参照物体、たとえば411の、一般的にはそれから抽出された物体特徴、たとえば421-1…421-Nを含む。
【0082】
以下のアクションは、任意の適切な順序で起こされ、かつ/または、これが可能で、適切であるとき、完全にもしくは部分的に時間が重なって行われる場合があることに留意されたい。
【0083】
アクション1101
第1の物体モデルに含まれる上記の物体特徴の異なるサブ特徴、たとえば421-1…421-Nをそれぞれ含むサブモデル、たとえば425-1…425-Nが取得される。
【0084】
物体特徴は、参照物体を画像化している少なくとも1つのモデル教示画像、たとえば410から抽出されてもよい。物体マッチングアルゴリズムは、物体モデル、ここでは第1の物体モデルを、マッチングする物体を画像化し得る1つまたは複数の画像、たとえばライブ画像とマッチングすることに基づく従来の物体マッチングアルゴリズムであってもよい。たとえば、物体マッチングアルゴリズムは、本明細書で説明するスコアマップの形成にそのように基づいてもよい。
【0085】
参照物体の上記物体特徴は、一般的に、参照物体を画像化した1つまたは複数のモデル教示画像から抽出され、各モデル教示画像は、参照物体の少なくとも一部の画像を含んでいる。抽出は、たとえば、特徴がエッジであるときは、エッジ抽出のための、いくつかの従来の方法により行われてもよい。
【0086】
各サブ特徴は、第1の物体モデルによって含まれる物体特徴の1つまたは複数に対応する。サブモデルの全体の特徴は、第1の物体モデルのすべての特徴を含むべきであり、かつ/または物体特徴は、2つ以上のサブ特徴の一部であるべきではなく、したがって、2つ以上のサブモデルの一部であるべきではないが、これは常にそうであるとは限らない。
【0087】
サブモデルは、リモートの他のデバイスから受け取られることによって取得される、かつ/またはいくつかのストレージから取得される、もしくは第1の物体モデルに基づいて、たとえばそこから抽出もしくは選択された物体特徴に基づいて形成されることによって取得されてもよい。
【0088】
アクション1102
MOIごとに、サブモデル、たとえば425-1…425-Nに対してそれぞれ、少なくともサブモデルのスコアマップ、たとえば465-1…465-Nを含むスコアマップ、たとえば460、465-1…465-Nが、取得されてもよい。各スコアマップは、マッチングに基づいてもよく、たとえば異なるポーズの、対応するモデル、たとえば420;425-nをMOIとマッチングすることからから得られてもよい。各スコアマップは、スコアマップの異なる位置、たとえばp1…pKにスコアを含む。上記の位置の各々は、上記のポーズの1つまたは複数と関連付けられるべきである。位置、たとえばpkのスコアは、位置およびMOIと関連するモデル、たとえば420;425-nの上記ポーズの上記の1つまたは複数の間のマッチングのレベルを示す。
【0089】
MOIごとに取得される、上記のスコアマップは、第1の物体モデル、たとえば420に対する第1のモデルのスコアマップ、たとえば460をさらに含んでもよい。
【0090】
上記の異なるポーズは、一般に、物体モデルの異なる平行移動および/または回転を含む。異なるポーズはまた、物体モデルの異なるスケーリングを含んでもよい。スコアマップの各スコアは、したがって、一般的には値、たとえば整数の形で、当該のポーズがMOIといかに良くマッチングするかを示す、マッチングレベルインジケータと考えられてもよい。整数の形のスコアが、たとえば、位置と関連するポーズにおけるMOIとモデルとの間で、いくつのピクセルがマッチしているかを示してもよい。
【0091】
アクション1103
上記のサブモデル、たとえば425-1…425-Nに対してそれぞれ寄与インジケータ、たとえば475-1…475-Nが与えられる、たとえば、計算される。上記の寄与インジケータの各寄与インジケータ、たとえば475-nが、サブモデル、たとえば425-nのサブ特徴、たとえば421-nの、正しくないマッチへの寄与を示す。寄与インジケータ、たとえば、475-1…475-Nは、物体マッチングアルゴリズムに従って、第1の物体モデル、たとえば420を、およびサブモデル、たとえば425-1…425-Nを、少なくとも1つのモデル最適化画像(MOI)、たとえば440とマッチングすることに基づいている。MOIは、第1の物体モデル、たとえば420とマッチングされるとき、少なくとも上記の正しくないマッチをもたらす、あらかじめ定義されたトレーニング特徴を含む。
【0092】
本明細書で使用する、正しくないマッチとは、一般に誤ったマッチ、すなわち、物体マッチングアルゴリズムが、マッチに対応する、またはマッチと解釈され得る結果を、これが正しくない、すなわち正しくないマッチである、または言い換えれば誤ったマッチであるにもかかわらず、与えることになるマッチである。MOIとの正しくないマッチは、第1の物体モデルが少なくともそれのいくつかのポーズに従って、たとえば、平行移動、回転、および/またはスケールで、MOIとのマッチングに使用されるとき発生する場合があり、正しいマッチの場合のマッチング結果であるものに十分に近く、マッチング結果自体から結果が正しいマッチであるか否かを知ることは困難または不可能である。一般に、これは、正しくないマッチが、正しいマッチが入り得るまたは入ることになるあらかじめ定義されたまたはあらかじめ決定された範囲内にあるマッチング結果に対応することを意味する。そのような範囲は、あらかじめ定義されたまたはあらかじめ決定された数および/またはしきい値によって定義されてもよい。本明細書で述べるスコアしきい値は、そのようなしきい値の一例である。
【0093】
MOIは、たとえば、参照画像と類似しているが、同じではない物体を画像化してもよく、かつ/または、正しくないマッチをもたらすことが知られているかつ/またはもたらしそうである物体および/または特徴の組合せを含んでもよい。いくつかの実施形態では、MOIは、参照物体の1つもしくは複数の画像、または一般には、1つもしくは複数の正しいマッチももたらすことになる1つもしくは複数の画像を含む。
【0094】
寄与インジケータは、本明細書の他の場所でも説明したように、一般には値または数である。寄与インジケータは、ストレージから受け取られるかつ/または取得されることによって、または計算されることによって、取得されてもよい。
【0095】
上記の1つまたは複数のサブ特徴、たとえば421-1の上記の影響の削減は、第2の物体モデル、たとえば480での異なるサンプル密度の適用を含んでもよい。異なるサンプル密度は、上記の他のサブ特徴、たとえば421-Nよりも正しくないマッチにより寄与する上記の1つまたは複数のサブ特徴、たとえば421-1に対応する第2の物体モデルの物体特徴が、上記の他のサブ特徴、たとえば421-Nに対応する第2の物体モデルの物体特徴を形成するサンプルよりも低いサンプル密度を有するサンプルによって形成されるように、適用されるべきである。
【0096】
サンプルは、たとえばピクセルであってもよい。異なるサンプル密度の適用は、第1の物体モデルからサンプルを除去することおよび/または第1の物体モデルにサンプルを追加することを含んでもよい。これは、第1の物体オブジェクトがすでに、サンプリングされた物体特徴を、たとえば単一または均一のサンプル密度で含む場合であってもよい。いくつかの実施形態では、異なるサンプル密度の適用は、第1の物体モデルの特徴を異なるサンプル密度でサンプリングすること、または第1の物体モデルの特徴をサンプリングし、次いでサンプルを除去し、かつ/もしくは追加することを含む。
【0097】
上記の少なくとも1つのMOI、たとえば440は、第1の物体モデル、たとえば420とマッチングされるとき、1つまたは複数の正しいマッチをもたらす、あらかじめ定義されたトレーニング特徴をさらに含んでもよい。その場合各寄与インジケータ、たとえば475-nは、正しいマッチへのサブモデルのサブ特徴の寄与に対して、正しくないマッチへのサブモデル、たとえば425-nのサブ特徴、たとえば421-nの上記の寄与を示すべきである。各寄与インジケータは、本明細書ではたとえば、1つが正しくないマッチに関し、1つが正しいマッチに関する、互いに対する2つの値もしくは数、または上記の2つの値もしくは数に基づく計算された差もしくは比に基づく単一の得られる数に対応してもよい。
【0098】
アクション1103a
アクション1102の場合、すなわち、このアクションが行われ、スコアマップが取得されるとき、アクション1103の寄与インジケータを与えることは、上記の取得されたスコアマップ、たとえば460、465-1…465-Nに基づいて寄与インジケータ、たとえば、475-1…475-Nを計算することを含んでもよい。
【0099】
いくつかの実施形態では、各寄与インジケータ、たとえば475-nの計算は、MOIごとに、たとえば式1の分母または式2の和のように、第1の和を計算することを含む。第1の和の項は、少なくとも上記の正しくないマッチに対応するサブモデルのスコアマップの位置からのスコアをそれぞれ含む。
【0100】
さらに、いくつかの実施形態では、各寄与インジケータ、たとえば475-nの計算は、MOIごとに、たとえば式1の分子のように、第2の和を計算することをさらに含む。第2の和の項は、正しいマッチに対応するサブモデルのスコアマップの1つまたは複数の位置からのスコアをそれぞれ含む。これらの実施形態では、各寄与インジケータの計算は、MOIごとに、式1のように、第2の和を第1の和で割るなど、第1の和を第2の和に関係付けることに基づいてもよい。
【0101】
さらに、いくつかの実施形態では、第1の和の項は、もしあれば、正しいマッチに対応するものを除いて、サブモデルのスコアマップのすべての位置からのスコアをそれぞれ含む場合がある。
【0102】
いくつかの実施形態では、第1の和の項、および第2の和が計算された場合は同じく第2の和の項の各々が、同じ位置の第1のモデルのスコアマップのスコアに基づいて、重み関数、たとえば関数Fを掛けられた項に対応する位置のサブモデルのスコアマップのスコアを含む。重み関数は、他の項に対して、正しくないマッチおよび、もしあれば正しいマッチに対応する位置でサブモデルのスコアマップのスコアを増やすはずである。重み関数、たとえばFは、第1のモデルのスコアマップのスコアと共に指数関数的に増えるはずである。たとえば、重み関数は、第1のモデルのスコアマップのスコアの2乗であってもよい。
【0103】
上記の少なくとも1つのMOIが複数のMOIであるとき、MOIごとの上記の第1の和、および第2の和が計算された場合は同じくMOIごとの上記の第2の和が、MOIごとのサブインジケータを計算するために使用されてもよく、各寄与インジケータの計算は、すべてのMOIに対してサブインジケータを追加することを含む。別のオプションは、第1のサブサム(sub-sum)をMOIごとに1つ計算することであり、各第1のサブサムが、式1の分母の和に対応し、第1のサブサムを加算してトータルの第1の和を形成する。このオプションの下では、第2のサブサムもまた、MOIごとに1つ計算されることになり、各々が、式1の分子の和に対応し、第2のサブサムを加算してトータルの第2の和を形成する。すべてのMOIに対するサブモデルの寄与インジケータは、その場合、トータルの第1の和をトータルの第2の和に関係付けること、たとえば、第1の和を第2の和で割ることに基づいてもよい。
【0104】
アクション1104
いくつかの実施形態では、第2の物体モデル、たとえば480は、与えられた寄与インジケータ、たとえば475-1…475-Nに従って、他のサブ特徴、たとえば421-Nよりも正しくないマッチにより寄与する1つまたは複数のサブ特徴、たとえば421-1の影響を削減した、第1の物体モデル、たとえば420の変更に基づいて生成される。削減された影響は、上記の他のサブ特徴、たとえば421-Nに関連している。
【0105】
言い換えれば、寄与インジケータによれば、残っているサブ特徴に比べて正しくないマッチにより寄与するサブ特徴の影響は削減される。したがって第2の物体モデルは、第1の物体モデルに比べて正しくないマッチにあまり寄与しない物体特徴を含むことになる。一般に、寄与インジケータによれば、正しくないマッチに最も寄与するサブ特徴からの影響を削減することが望ましい。サブ特徴の影響を減らすことは、いくつかの実施形態では、そのようなサブ特徴を第1の物体モデルから除去すること、またはそれの一部を除去することを含んでもよく、たとえばそのようなサブ特徴をより疎にサンプリングする、またはそのようなサブ特徴のサンプルの保持がより少なくてもよい。いくつかの実施形態では、上記の影響の削減を成し遂げるために、サブ特徴に、それらの寄与インジケータにより異なる重み付けが適用されてもよい。
【0106】
第2の物体モデルは、したがって、正しくないマッチにあまり寄与せず、かつ/または正しいマッチに比較的より寄与することになる。第2の物体モデルは、それによってより正確な結果を可能にするだけでなく、より高速な実装を可能にするより効率的なモデルとなり得る。言い換えれば、物体マッチングのための改善された物体モデルの提供が、本明細書の実施形態によってサポートされる。
【0107】
図11に関して上記で説明した方法および/またはアクションは、一般に、1つまたは複数のデバイス、たとえばコンピュータおよび/または処理能力を有するハードウェアユニット、たとえば、汎用コンピュータおよび/または特に物体マッチングで使用するために少なくとも部分的に専用のかつ/もしくは構成された、処理能力を有するハードウェアによって行われる。いくつかの実施形態では、方法は、分散されたユニット、たとえば、マシンビジョンシステムの一部によって行われてもよく、かつ/またはリモートデバイス、たとえばリモートコンピュータネットワークの一部、たとえばコンピュータクラウドを含む。方法のアクションは、その場合たとえば、クラウドサービスの一部として行われてもよい。たとえば、第1の物体モデルは、場合によっては使用されるそれのサブモデルに関する情報も、第1のデバイスから、好適なあらかじめ定義されたMOIにアクセスできるコンピュータへアップロードされてもよく、寄与インジケータを、たとえばそれらを計算することによって提供する。寄与インジケータは、次いで、第2の物体モデルの生成に使用するために提供され、たとえば戻され、または第2の物体モデル自体は、生成され、戻される、または適用されることになるまた別のデバイスに提供される。
【0108】
図12は、上記で、たとえば図11に関して説明した方法および/またはアクションを行うための1つまたは複数のデバイス1200の実施形態を示すための概略ブロック図である。デバイス1200は、特に物体マッチングで使用するために特化され、かつ/または構成され、たとえば、物体マッチングに関係するカメラユニットの一部として実装され得るコンピュータおよび/または処理能力を有するハードウェアユニットに対応する、またはこれらを含む場合がある。いくつかの実施形態では、たとえば、方法およびアクション、またはそれの一部が、クラウドまたはクラウドベースのサービスによって実行されるとき、デバイス1200は、いわゆるコンピュータクラウドまたはそれのコンピュータに対応してもよく、またはそれを含んでもよい。その場合、方法またはアクションは、クラウドの少なくとも1つのコンピュータ部分によって、クラウドサービスを提供するために行われるが、その場所および関係するコンピュータを識別することは困難またはさらには不可能である場合があることが示される。たとえば、考えられるそのような実装形態は、クラウドサービスを介して第1の物体モデルをアップロードし、次いで本発明の実施形態によりクラウドサービスによってこのようにして提供される、第2の物体モデルを受け取ること、または第1の物体モデルをアップロードし、サブ特徴もしくはサブモデルを示し、次いでそれに応じて、これらに対する寄与インジケータを受け取り、それらを第2の物体モデルを生成するために使用できることを含む。
【0109】
したがって、デバイス1200は、物体マッチングアルゴリズム、たとえば450による物体マッチングのために、第1の物体モデル、たとえば420に基づいて、第2の物体モデル、たとえば480の生成をサポートするためのものであり得る。第1の物体モデル、たとえば420は、画像化された参照物体、たとえば411の物体特徴、たとえば421-1…421-Nを含む。
【0110】
デバイス1200は、例示のハードウェアモジュールおよび/または回路のような、処理ならびにたとえば信号およびデータの符号化に関係する少なくとも1つの処理回路1201を備えてもよく、1つもしくは複数のプロセッサまたは処理回路を備えても、またはそれらに対応してもよい。
【0111】
デバイス1200は、少なくとも1つのコンピュータプログラム1203を含有または記憶するなど、含む場合がある少なくとも1つのメモリ1202をさらに備えてもよい。コンピュータプログラム1203は、上記の方法および/またはアクションの少なくとも一部を行うために、デバイス1200によって直接的または間接的に実行可能な「命令」または「コード」を含む。メモリ1202は、1つまたは複数のメモリユニットを備えてもよく、さらに、本明細書の実施形態の機能およびアクションに関係するまたはそれらを行うための、コンフィギュレーション、データ、および/または値などのデータを記憶するように構成されてもよい。いくつかの実施形態では、メモリ1202は、処理回路1201によって実行可能なコンピュータプログラム1203を含んでもよく、それによってデバイス1200は、上記の方法および/またはそれのアクションを行うように動作可能である、または構成される。
【0112】
デバイス1200、たとえば処理回路1201は、デバイス1200の外にあるデバイスに情報を送ることおよび/またはそれらから情報を受け取ることなど、他のユニットおよび/またはデバイスへのおよび/またはそれらからの通信に、たとえば、それを行うことによって、関係するように構成された、少なくとも1つの入力/出力(I/O)回路1204を備えてもよい。I/O回路1204は、適用できる場合、モジュールを取得すること、たとえば受け取ることによって、かつ/またはモジュールを提供すること、たとえば送ることによって例示され得る。
【0113】
さらに、いくつかの実施形態では、デバイス1200、たとえば処理回路1201は、処理モジュール、取得モジュール、提供モジュール、生成モジュール、およびコンピューティングモジュールのうちの1つまたは複数を、本明細書の実施形態のアクションを実行するための例示のハードウェアおよび/またはソフトウェアモジュールとして備える。これらのモジュールは、処理回路1201によって完全にまたは部分的に実装されてもよい。
【0114】
したがって、
デバイス1200、および/または処理回路1201、および/またはI/O回路1204、および/または取得モジュールは、第1の物体モデル、たとえば420に含まれる上記の物体特徴、たとえば421-1…421-Nの上記の異なるサブ特徴、たとえば421-1…421-Nをそれぞれ含む上記のサブモジュール、たとえば425-1…425-Nを取得するように動作可能である、または構成される。
【0115】
デバイス1200、および/または処理回路1201、および/またはI/O回路1204、および/または提供モジュールはさらに、サブモデル、たとえば425-1…425-Nに対してそれぞれ上記の寄与インジケータ、たとえば475-1…475-Nを提供する、たとえば計算するように動作可能である、または構成される。
【0116】
さらに、いくつかの実施形態では、デバイス1200、および/または処理回路1201、および/または生成モジュールはさらに、提供された寄与インジケータ、たとえば475-1…475-Nに従って、他のサブ特徴、たとえば421-Nよりも正しくないマッチにより寄与する1つまたは複数のサブ特徴、たとえば421-1の影響が削減され、上記の削減された影響が、上記の他のサブ特徴、たとえば421-Nに関連している、第1の物体モデル、たとえば420の上記の変更に基づいて、第2の物体モデル、たとえば480を生成するように動作可能である、または構成される。
【0117】
その上、いくつかの実施形態では、デバイス1200、および/または処理回路1201、および/またはI/O回路1204、および/または取得モジュールはさらに、サブモデル、たとえば425-1…425-Nに対してそれぞれ少なくとも上記のサブモデルのスコアマップ、たとえば465-1…465-Nを含む上記スコアマップ、たとえば460、465-1…465-Nを、MOI、たとえば440ごとに取得するように動作可能である、または構成される。これらの実施形態では、デバイス1200、および/または処理回路1201、および/またはI/O回路1204、および/またはコンピューティングモジュールは、上記の取得されたスコアマップ、たとえば460、465-1…465-Nに基づいて、寄与インジケータ、たとえば475-1…475-Nを計算するように動作可能である、または構成される。
【0118】
図13は、上記で説明した上記のデバイス1200に図11に関して説明した上記の方法およびアクションを行わせるために、1つまたは複数のコンピュータプログラム、およびそれのキャリアに関係するいくつかの実施形態を示す概略図である。
【0119】
コンピュータプログラムは、コンピュータプログラム1203であってもよく、処理回路1201および/または処理モジュールによって実行されると、デバイス1200に上記のように行わせる命令を含む。いくつかの実施形態では、1つまたは複数のキャリア、またはより具体的にはデータキャリア、たとえば、コンピュータプログラム1203を含むコンピュータプログラム製品が提供される。キャリア、または上記のキャリアの各1つは、電子信号、光信号、無線信号、およびコンピュータ可読記憶媒体、たとえば図に概略的に示すコンピュータ可読記憶媒体1301のうちの1つであってもよい。コンピュータプログラム1203は、したがってコンピュータ可読記憶媒体1301に記憶され得る。一時的な、伝搬信号はキャリアから除外されてもよく、それに対応してデータキャリアは、非一時的データキャリアと呼ばれてもよい。コンピュータ可読記憶媒体であるデータキャリアの非限定的な例は、メモリカードもしくはメモリスティック、CDもしくはDVDなどのディスク記憶媒体、または一般にハードドライブもしくはソリッドステートドライブ(SSD)に基づいている大容量記憶デバイスである。コンピュータ可読記憶媒体1301は、コンピュータネットワーク1302、たとえばインターネットまたはローカルエリアネットワーク(LAN)上でアクセス可能なデータを記憶するために使用され得る。コンピュータプログラム1303はさらに、純粋なコンピュータプログラムとして提供されるか、1つまたは複数のファイルに含まれる場合がある。ファイルは、コンピュータ可読記憶媒体1301に記憶されて、たとえばサーバを介して、たとえば図に示すようにコンピュータネットワーク1302上で、たとえばダウンロードによって利用可能であってもよい。サーバは、たとえば、ウェブまたはファイル転送プロトコル(FTP)サーバであってもよい。1つまたは複数のファイルは、たとえば、処理回路1201による実行によって、たとえば上記のデバイスを上述のように機能させるために、上記のデバイスに直接または間接ダウンロードし、上記のデバイス上で実行するための、実行可能ファイルであってもよい。1つまたは複数のファイルは、同様にまたは代替的に、中間ダウンロード、およびコンパイル用であってもよく、それらを実行可能にする同じまたは別のプロセッ
サを含み、さらなるダウンロードおよび上記のデバイス1200に上述のように機能させる実行を行う。
【0120】
上記で述べた処理モジュールおよび回路は、たとえば既存のハードウェア内のソフトウェアおよび/またはハードウェアモジュールとして、および/または特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)などとして、実装され得ることに留意されたい。また上記で述べたハードウェアモジュールおよび/または回路は、たとえば、単一のASICもしくはFPGAに含まれるか、または個々にパッケージングされるか、またはシステムオンチップ(SoC)に組み立てられ、いくつかの別個のハードウェアコンポーネントの間で分散される場合があることに留意されたい。
【0121】
本明細書で説明するモジュールおよび回路は、ハードウェアモジュール、ソフトウェアモジュール、アナログおよびデジタル回路、ならびに/または、1つまたは複数のプロセッサによって実行されると、デバイス、センサーなどに上述の方法およびアクションを行うように構成させる、かつ/または行わせる、たとえばメモリに記憶されたソフトウェアおよび/もしくはファームウェアと共に構成された1つもしくは複数のプロセッサの組合せを指す場合があることもまた、当業者は了解されよう。
【0122】
本明細書のどの識別子による識別も、暗黙的または明示的である場合がある。識別は、ある文脈においては、たとえばあるコンピュータプログラムまたはプログラム提供者では、一意であり得る。
【0123】
本明細書で使用する「メモリ」という用語は、デジタル情報を記憶するためのデータメモリ、一般にハードディスク、磁気ストレージ、媒体、ポータブルコンピュータディスケットまたはディスク、フラッシュメモリ、ランダムアクセスメモリ(RAM)などを指し得る。さらに、メモリは、プロセッサの内部レジスタメモリであってもよい。
【0124】
また、第1の値、第2の値、第1のデバイス、第2のデバイスなどの列挙する用語は、正確には非限定的であると考えられるべきであり、正確には用語は、ある階層的関係を暗示しないことに留意されたい。反対に、明示的な情報がなければ、列挙による命名は、異なる名前を与える方法にすぎないと考えられるべきである。
【0125】
本明細書で使用する「数」または「値」という用語は、一般に、2値、実数、虚数、または有理数など、任意の種類の数字を指し得る。さらに、「数」または「値」は、文字または文字列など、1つまたは複数のキャラクターであってもよい。また、「数」または「値」は、ビット列によって表されてもよい。
【0126】
本明細書で使用する「ように構成される」という表現は、処理回路が、ソフトウェアまたはハードウェア構成によって、本明細書で説明するアクションの1つまたは複数を行うように構成される、または適合されることを意味し得る。
【0127】
本明細書で使用する「場合がある」および「いくつかの実施形態では」という表現は、一般に、説明する特徴が、本明細書で開示する他の実施形態と結び付けられる場合があることを示すために使用されている。
【0128】
図面では、いくつかの実施形態のみに存在し得る特徴が、一般に点線または破線を使用して描かれている。
【0129】
「含む」または「含んでいる」という語を使用するとき、非限定的、すなわち「少なくとも~から成る」と解釈されるものとする。
【0130】
本明細書の実施形態は、上記で説明した実施形態に限定されない。様々な代替形態、変更形態、および同等形態が使用され得る。したがって、上記の実施形態は、本開示の範囲を限定するものと見なされるべきではなく、本開示の範囲は、添付の特許請求の範囲によって定義される。
【符号の説明】
【0131】
110 モデル教示画像
111 参照物体
120 第1の物体モデル
121 特徴
130 スコア画像
131 正しいマッチ
215 物体
230 スコア画像
231 マッチ
410 モデル教示画像
411 参照物体
420 物体モデル
421 サブ特徴
425 サブモデル
440 モデル最適化画像(MOI)
450 マッチングアルゴリズム
460 マッチ結果
465 マッチ結果
475 寄与インジケータ
480 第2の物体モデル
481 サブ特徴
1200 デバイス
1301 コンピュータ可読記憶媒体
図1A
図1B
図1C
図1D
図2A
図2B
図3
図4
図5
図6
図7A
図7B
図8
図9
図10A
図10B
図11
図12
図13