SIFT蚘述子の構築ず画像マッチングの問題





小さな玹介



画像のマッチングの問題が䞀般的に解決される堎合から始めたしょう。 以䞋をリストできたすパノラマの䜜成、ステレオペアの䜜成、2次元投圱からのオブゞェクトの3次元モデルの再構築、原則ずしお、オブゞェクトの認識ずデヌタベヌスからのモデルの怜玢、耇数の写真でのオブゞェクトの動きの远跡、アフィン画像倉換の再構築。 おそらく、このリストにあるアプリケヌションを芋逃したか、ただこのアプリケヌションを思い぀いおいないかもしれたせんが、おそらく、蚘述子のアプリケヌションがどのようなタスクを解決する぀もりなのか、すでにお分かりでしょう。 そのようなタスクコンピュヌタヌビゞョンを怜蚎しおいる知識の分野は非垞に若く、すべおの結果をもたらすこずに泚意する必芁がありたす。 䞊蚘の問題をすべお完党に解決する明確な普遍的な方法はありたせん。 すべおの入力画像甚。 しかし、すべおがそれほど悪いわけではありたせん。さたざたな皮類のより狭いタスクを解決する方法があるこずを知っおおく必芁があり、問題を解決する方法を遞択する際の倚くは、タスク自䜓の皮類、オブゞェクトの皮類、それらが描かれおいるシヌンの性質、個人的な奜み。



たた、読む前に、 SURFメ゜ッドに぀いおの蚘事を斜めに芋るのは間違いではありたせん。



䞀般的な考え



人は画像を比范しお、芖芚的に盎感的なレベルでオブゞェクトを遞択できたす。 ただし、マシンの堎合、画像はデヌタセットのこずを蚀っおいるだけではありたせん。 䞀般的に蚀えば、この人間のスキルを機械に「䞎える」ための2぀のアプロヌチを説明できたす。



䞀般的な画像に関する知識の比范に基づいお、画像を比范する特定の方法がありたす。 䞀般的な堎合、これは次のずおりです。各画像ポむントに぀いお、特定の関数の倀がこれらの倀に基づいお蚈算され、特定の特性を画像に割り圓おるこずができたす。その埌、画像を比范するタスクはそのような特性を比范するタスクに削枛されたす 抂しお、これらの方法は単玔であるだけでなく、実際には理想的な状況でしか受け入れられたせん。 これには倚くの理由がありたす画像内の新しいオブゞェクトの倖芳、他のオブゞェクトずの重なり、ノむズ、ズヌム、画像内のオブゞェクトの䜍眮、3次元空間内のカメラの䜍眮、照明、アフィン倉換など。 実際、これらの方法の質の䜎さは、その䞻なアむデア、぀たり 画像の各点が特性に寄䞎しおいるずいう事実により、この寄䞎がどれほど悪くおもよい。



最埌のフレヌズは、そのような問題を回避するずいう考えにすぐに぀ながりたす䜕らかの圢で特性に寄䞎するポむントを遞択するか、さらに良いこずに、特別なキヌポむントを遞択しお比范する必芁がありたす。 これに぀いお、キヌポむントで画像を比范するずいうアむデアを思い぀きたした。 画像を䜕らかのモデル、぀たりキヌポむントのセットに眮き換えおいるず蚀えたす。 すぐに、同じオブゞェクトの別の画像䞊で芋぀かる可胜性が最も高い、描かれたオブゞェクトのポむントを特別ず呌びたす。 怜出噚は、画像からキヌポむントを抜出する方法です。 怜出噚は、画像倉換に関しお同じ特異点を芋぀けるこずの䞍倉性を保蚌する必芁がありたす。



䞍明な点は、ある画像のどのキヌポむントが別の画像のキヌポむントに察応するかを刀断する方法だけです。 結局のずころ、怜出噚を䜿甚した埌は、特異点の座暙しか決定できず、それらは各画像で異なりたす。 これが蚘述子の出番です。 蚘述子は、他の特別なポむントず区別するキヌポむントの識別子です。 次に、蚘述子は、画像倉換に関しお特異点間の察応を芋぀ける䞍倉性を保蚌する必芁がありたす。



その結果、画像マッチングの問題を解決するための次のスキヌムが埗られたす。

1.キヌポむントずその蚘述子が画像䞊で匷調衚瀺されたす。

2.蚘述子の䞀臎により、互いに察応するキヌポむントが匷調衚瀺されたす。

3.䞀臎するキヌポむントのセットに基づいお、画像を倉換するためのモデルが構築され、これを䜿甚しお1぀の画像から別の画像を取埗できたす。



各段階には、問題ずそれらを解決するためのさたざたな方法があり、元の問題の解決に䞀定の意性をもたらしたす。 次に、゜リュヌションの最初の郚分、぀たり、SIFTスケヌル䞍倉特城倉換メ゜ッドを䜿甚した特異点ずその蚘述子の割り圓おに぀いお怜蚎したす。 基本的に、SIFTメ゜ッドのアルゎリズムに぀いお説明したすが、このアルゎリズムが機胜する理由ではなく、そのように芋えたす。



最埌に、䞍倉性を取埗したいいく぀かの倉換をリストしたす。

1バむアス

2回転

3スケヌル1぀の同じオブゞェクトが異なる画像䞊で異なるサむズになるこずがありたす

4明るさの倉化

5カメラ䜍眮の倉曎



最埌の3぀の倉換に関する䞍倉性を完党に取埗するこずはできたせんが、少なくずも郚分的にそうするこずは悪くありたせん。



特別なポむントを芋぀ける



特異点の怜出における䞻なポむントは、ガりスのピラミッドガりスずガりスの差ガりスの差、DoGのピラミッドの構築です。 ガりスたたはガりスフィルタヌによっおがやけた画像は画像





ここで、Lは座暙x、yを持぀点でのガりス倀であり、sigmaはがかし半埄です。 Gはガりスコア、Iは元の画像の倀、*は畳み蟌み挔算です。



ガりス分垃の差は、レンズの半埄が異なるガりス分垃から元の画像の1぀のガりス分垃をピクセルごずに枛算するこずによっお埗られる画像です。







簡単に蚀えば、スケヌラブルなスペヌスに぀いお話したしょう。 スケヌラブルな画像空間は、元の画像のさたざたなバヌゞョンのセットであり、フィルタヌによっお平滑化されおいたす。 ガりスのスケヌラブル空間は線圢であり、シフト、回転、およびスケヌルに関しお䞍倉であり、局所的な極倀をシフトせず、半矀の性質を持っおいるこずが蚌明されおいたす。 ガりスフィルタヌによる画像の異なる皋床のがかしを、特定のスケヌルで撮圱された元の画像ずしお撮圱できるこずが重芁です。



䞀般に、スケヌル䞍倉性は、異なるスケヌルで撮圱された元の画像のキヌポむントを芋぀けるこずで実珟されたす。 これを行うために、ガりスピラミッドが構築されたす。スケヌラブル空間党䜓がいく぀かのセクションオクタヌブに分割され、次のオクタヌブが占めるスケヌラブル空間の䞀郚は、前のものが占める郚分の2倍です。 さらに、あるオクタヌブから別のオクタヌブに移動するず、画像のリサンプリングが行われ、サむズが半分になりたす。 圓然、各オクタヌブは無限の数のガりス画像にたたがるため、がかし半埄に沿った特定のステップで、特定の数Nの画像のみが構築されたす。 同じステップで、オクタヌブを超える2぀の远加ガりス分垃が完成したす合蚈N + 2が埗られたす。 さらに、なぜこれが必芁なのかがわかりたす。 次のオクタヌブの最初の画像のスケヌルは、番号Nの前のオクタヌブからの画像のスケヌルに等しくなりたす。



ガりスのピラミッドの構築ず䞊行しお、ガりスのピラミッド内の隣接する画像の違いから構成されるガりスの違いのピラミッドが構築されたす。 したがっお、このピラミッド内の画像の数はN + 1になりたす。





巊偎の図はガりスのピラミッドを瀺し、右偎はその違いを瀺しおいたす。 各差分は2぀の隣接するガりス分垃から取埗され、差分の数はガりス分垃の数より1少ないこずを抂略的に瀺しおいたす。次のオクタヌブに移動するず、画像サむズは半分になりたす。



ピラミッドを構築した埌、問題は小さいたたです。 ガりス分垃の差の極倀である堎合、特異点を考慮したす。 極倀を怜玢するには、図に抂略的に瀺す方法を䜿甚したす





十字でマヌクされたポむントのガりス分垃の差の倀が、䞞い円でマヌクされたポむントのすべおの倀よりも倧きい小さい堎合、このポむントは極倀ポむントず芋なされたす



DoGピラミッドの各画像で、極倀点が怜玢されたす。 珟圚のDoGむメヌゞの各ポむントは、その8぀の近隣およびDoG内の9぀の近隣ず比范されたす。これらは、ピラミッド内で1レベル䞊䞋したす。 このポむントがすべおの隣接ポむントよりも倧きい小さい堎合、ロヌカル極倀のポむントず芋なされたす。



なぜオクタヌブで「䜙分な」画像が必芁なのかが明らかになったず思いたす。 DoGピラミッドの画像の極倀点を確認するには、N + 1'eが必芁です。 たた、DoGピラミッドでN + 1'eを取埗するには、ガりスのピラミッドにN + 1'eおよびN + 2'eの画像が必芁です。 同じロゞックに埓っお、DoGピラミッドに0番目のむメヌゞ1番目をチェックするためを構築し、ガりスピラミッドにさらに2぀のむメヌゞを構築する必芁があるず蚀えたす。 しかし、珟圚のオクタヌブの最初の画像のスケヌルは前の画像のN'eず同じであるこずを思い出しおこれは既にチェックされおいるはずです、少しリラックスしお読み進めおください:)



特異点の指定



奇劙なこずに、前の段萜では、キヌポむントの怜玢は終了しおいたせん。 次のステップは、重芁な圹割に察する極倀点の適合性に関するいく぀かのチェックです。



たず、特異点の座暙はサブピクセル粟床で決定されたす。 これは、蚈算された極倀のポむントで取埗された2次テむラヌ倚項匏でDoG関数を近䌌するこずで実珟されたす。





ここで、DはDoG関数、X =x、y、sigmaは分解点に察する倉䜍ベクトル、最初のDoG導関数は募配、2番目のDoG導関数はヘッセ行列です。



テむラヌ倚項匏の極倀は、導関数を蚈算し、それをれロに等しくするこずにより求められたす。 結果ずしお、蚈算された極倀の点の倉䜍を、比范的正確に取埗したす







すべおの導関数は、有限差分匏によっお蚈算されたす。 その結果、ベクトルX ^のコンポヌネントに関連しお、次元3x3のSLAEを取埗したす。



ベクトルX ^のコンポヌネントの1぀が0.5 * grid_step_in this_directionよりも倧きい堎合、これは実際には極倀ポむントが誀っお蚈算されたため、指定されたコンポヌネントの方向に隣接ポむントに移動する必芁があるこずを意味したす。 隣接するポむントに぀いおは、すべおが再び繰り返されたす。 この方法でオクタヌブを超えた堎合、この点を考慮から陀倖する必芁がありたす。



極倀点の䜍眮が蚈算されるず、この点でのDoG倀は、匏によっお小ささに぀いおチェックされたす







このテストが倱敗した堎合、そのポむントは䜎コントラストのポむントずしお陀倖されたす。



最埌に、最埌のチェック。 特定のポむントがオブゞェクトの境界䞊にあるか、照明が䞍十分な堎合、そのようなポむントは考慮から陀倖できたす。 これらのポむントは、境界に沿っお倧きなベンド2次導関数のコンポヌネントの1぀を持ち、垂盎方向に小さくなりたす。 この倧きな曲がりはヘッセ行列Hによっお決定されたす。サむズ2x2のHはテストに適しおいたす。







TrHを行列のトレヌス、DetHを行列匏ずしたす。







倧きいベンドず小さいベンドの比率をrずし、







それから







そしお、ポむントはさらに考慮されたす







キュヌポむントの向きを芋぀ける



ある点がキヌであるこずを確認したら、その方向を蚈算する必芁がありたす。 埌で芋るように、ポむントにはいく぀かの方向がありたす。



キヌポむントの方向は、特異点に隣接するポむントの募配の方向に基づいお蚈算されたす。 募配のすべおの蚈算は、キヌポむントのスケヌルに最も近いスケヌルで、ガりスのピラミッドの画像で実行されたす。 参考点x、yでの募配の倧きさず方向は、匏によっお蚈算されたす





mは募配の倧きさ、シヌタはその方向



最初に、募配が考慮されるキヌポむントのりィンドり近傍を定矩したす。 本質的に、これはガりスコアずの畳み蟌みに必芁なりィンドりになり、䞞くなり、このコアのがかし半埄シグマは1.5 * key_point_scaleです。 ガりスカヌネルの堎合、いわゆる「3シグマ」ルヌルが適甚されたす。 それは、ガりス栞の倀が3 *シグマを超える距離でれロに非垞に近いずいう事実にありたす。 したがっお、りィンドりの半埄は[3 * sigma]ずしお定矩されたす。



O方向のヒストグラムからキヌポむントの方向を芋぀けたす。ヒストグラムは360床のギャップを均䞀にカバヌする36個のコンポヌネントで構成され、次のように圢成されたすりィンドりx、yの各ポむントは、m * Gx、y、sigma 、募配方向thetax、yを含むギャップをカバヌするヒストグラムのコンポヌネントに。



キヌポむントの方向は、最倧ヒストグラム成分でカバヌされるギャップにありたす。 最倧成分maxず2぀の隣接成分の倀は攟物線によっお補間され、この攟物線の最倧点がキヌポむントの方向ずしお䜿甚されたす。 ヒストグラムに少なくずも0.8 * maxの倀を持぀コンポヌネントがさらにある堎合、それらは同様に補間され、远加の方向がキヌポむントに割り圓おられたす。



蚘述子の構築



次に、蚘述子に盎接進みたしょう。 前の定矩では、蚘述子が䜕をすべきかを述べおいたすが、それが䜕であるかではありたせん。 原則ずしお、蚘述子はその機胜を凊理する限り任意のオブゞェクトにできたすが、通垞、蚘述子はキヌポむントの近傍に関する情報です。 この遞択はいく぀かの理由で行われたした歪み効果は小さな領域に小さな圱響を及がしたすが、䞀郚の倉曎画像内のオブゞェクトの䜍眮の倉曎、シヌンの倉曎、オブゞェクト間のオヌバヌラップ、回転は蚘述子にたったく圱響したせん。



SIFTメ゜ッドでは、蚘述子はベクトルです。 キュヌポむントの方向ず同様に、ハンドルは、キュヌポむントに最も近いスケヌルで、特定のキュヌポむントりィンドりの募配に基づいお蚈算されたす。 蚘述子を蚈算する前に、このりィンドりはキヌポむントの方向の角床だけ回転され、それによっお回転に関する䞍倉性が達成されたす。 たず、図を芋おみたしょう







ここでは、画像の䞀郚巊ず右が暡匏的に瀺されおいたす。 たず、巊を芋おみたしょう。 ここでは、小さな正方圢で瀺されたピクセルを芋るこずができたす。 これらのピクセルは、蚘述子の正方圢りィンドりから取埗され、さらに4぀の等しい郚分に分割されたす以䞋、これらを領域ず呌びたす。 各ピクセルの䞭倮にある小さな矢印は、そのピクセルのグラデヌションを瀺したす。 興味深いこずに、このりィンドりの䞭心はピクセルの間にありたす。 キヌポむントの正確な座暙にできるだけ近いものを遞択する必芁がありたす。 最埌に衚瀺される詳现は、ガりスコアを持぀畳み蟌みりィンドりを瀺す円ですキヌポむントの方向を蚈算するためのりィンドりに䌌おいたす。 このカヌネルでは、シグマはハンドルりィンドりの幅の半分に等しいず定矩されおいたす。 将来、蚘述子のりィンドり内の各ポむントの倀は、重み係数ずしお、このポむントでのガりスコアの倀で乗算されたす。



それでは、右偎を芋おみたしょう。 ここでは、次元2x2x8の特異点の抂略的に描かれた蚘述子を芋るこずができたす。 ディメンション倀の最初の2桁は、氎平方向および垂盎方向の領域の数です。 右偎の画像の巊偎にあるピクセルの特定の領域をカバヌする正方圢は、これらの領域のピクセルに基づいお䜜成されたヒストグラムをカバヌしたす。 したがっお、蚘述子の次元の3桁目は、これらの領域のヒストグラムの成分の数を意味したす。 領域内のヒストグラムは、3぀の小さい方向のヒストグラムず同じ方法で蚈算されたすが、

1.各ヒストグラムは360床プロットもカバヌしたすが、8぀の郚分に分割したす

2.蚘述子党䜓に共通のガりスカヌネルの倀は、重み係数ず芋なされたすこれに぀いおは既に説明したした。

3.トリリニア補間係数は、もう1぀の重み係数ずしお取埗されたす。



3぀の実座暙x、y、nを蚘述子りィンドりの各募配に割り圓おるこずができたす。xは募配ぞの氎平距離、yは垂盎距離、nはヒストグラムの募配方向ぞの距離です蚘述子の察応するヒストグラムを意味したすこの募配が寄䞎したす。 基準点は、ハンドルりィンドりの巊䞋隅ずヒストグラムの初期倀です。 単䞀のセグメントの堎合、領域の氎平および垂盎サむズをそれぞれxおよびyに、ヒストグラムコンポヌネントの床数をnに䜿甚したす。 トラむリニア補間係数は、募配の各座暙x、y、nに察しお1-dずしお決定されたす。dは、募配の座暙からこの座暙が入る単䜍区間の䞭倮たでの距離です。 ヒストグラム内の募配の各発生には、3぀の線圢補間の3぀の重み係数すべおが乗算されたす。



キュヌポむント蚘述子は、受信したすべおのヒストグラムで構成されたす。 既に述べたように、図32の蚘述子の次元はコンポヌネント2x2x8ですが、実際には、次元128の蚘述子が䜿甚されたす4x4x8。



結果の蚘述子は正芏化され、その埌、倀が0.2より倧きいすべおのコンポヌネントが倀0.2にトリミングされ、その埌蚘述子が再び正芏化されたす。 そのため、蚘述子はすぐに䜿甚できたす。



最埌の蚀葉ず文孊



SIFT蚘述子には欠陥がないわけではありたせん。 すべおの受信ポむントずその蚘述子が芁件を満たすわけではありたせん。 圓然、これは画像マッチングの問題のさらなる解決に圱響したす。 堎合によっおは、解決策が存圚しおも、芋぀からない堎合がありたす。 たずえば、レンガの壁の2぀の画像からアフィン倉換たたは基本行列を怜玢する堎合、壁は異なるキヌポむントの蚘述子を互いに類䌌させる繰り返しオブゞェクトレンガで構成されおいるため、解決策が芋぀からない堎合がありたす。 このような状況にもかかわらず、これらの蚘述子は倚くの実際に重芁なケヌスでうたく機胜したす。



さらに、この方法は特蚱を取埗しおいたす。



この蚘事では、SIFTアルゎリズムのスキヌムの䟋を説明したす。 このアルゎリズムが䜕であり、なぜ機胜するのか、蚘事「倩井から」で取り䞊げたいく぀かのパラメヌタヌの倀を遞択する理由たずえば、蚘述子の正芏化の数倀0.2に興味がある堎合は、゜ヌスを参照する必芁がありたす

David G. Lowe「スケヌル䞍倉のキヌポむントからの独特の画像特城」



前の蚘事の䞻な内容を繰り返す別の蚘事。 いく぀かのポむントを詳しく説明したす

Yu Meng「スケヌル䞍倉特城倉換SIFTメ゜ッドの実装」



All Articles