ネイティブアルゴリズム2.類似画像の検索

Habréに関する最初の記事で、類似画像を検索するアルゴリズムについて説明しました。 今日は、アルゴリズムの2番目の(改良された)バージョンについてお話します。

この記事は、前の記事よりも少し短くなります。 2つのアルゴリズムの違いについてのみ説明します。 したがって、 前の記事を読んで「主題に含まれる」ことをお勧めします。

キーポイント検出器


最初に別に注目したいのは、私のアルゴリズムでは、タスクや特定の画像により適したキーポイント検出器を使用できることです。 MODSアルゴリズムの作成者が行うように、最適な検出器を経験的に選択するか、アルゴリズムを使用して自動的に選択することができます( ヒントdevponyに感謝します)。

私のアルゴリズムと状況では、Harrisコーナー検出器を使用します。 ハリス検出器は、回転に対して不変であり、強度のアフィン変化に対して部分的に不変であり、単純で、十分に正確であり、キーポイントの有意性を評価することができる応答の尺度の指標を備えています。

必要なのは、最も重要なポイントのうち10個だけです!

記述子


前のバージョンとの違いは、セグメントではなく、三角形を構築することです。三角形は、頂点が見つかったキーポイントになります。

記述子は、三角形の3辺の長さのシリーズで、大きい方から小さい方へと記録されます。 A、B、C 、ここでA> B> C

ハッシュ


10ポイントから、10 * 9 * 8/6 = 120の三角形を作成できます。 したがって、ハッシュは3つの数字A1、B1、C1の120行で構成されます。 A2、B2、C2; ...; A120、B120、C120

ハッシュ比較


2つの画像を比較すると、重要なポイントを介して構築された類似の三角形を見つけることになります。

三角形の類似性の3番目の兆候に従って:

1つの三角形の3辺がそれぞれ他の三角形の3辺に比例する場合、そのような三角形は類似しています。

なぜなら ハッシュは、三角形の辺の長さの降順で構成されているため、そのような三角形の検索は、数値を分割して結果を比較することになります。

1つのハッシュのすべての三角形を、2番目のハッシュのすべての三角形と比較する必要があります。 同様の三角形が見つかった場合、これらの2つの三角形は(比較の速度を上げるために)追加の比較から除外されます。 そのような三角形が見つからない場合は、エラーカウンターを1増やします。すべての三角形をすべてと比較した後、エラーの数またはいわゆる数を取得します。 2つのハッシュPの距離

比較結果


結果を解釈するためのアルゴリズムの以前のバージョンと同様に、取得した距離Pを特定の推定値と比較する必要があります。

このバージョンのアルゴリズムはどうですか? コメントを待っています!

参照資料


前の記事で使用した資料に加えて。

MODSアルゴリズム開発者ページ

Source: https://habr.com/ru/post/J320994/


All Articles