6

私は画像処理とパターン認識の初心者です。DoG ピラミッドを作成し、各オクターブで局所的な最大値または最小値を特定できる SIFT アルゴリズムを実装しようとしています。私が理解していないのは、各オクターブでこれらのローカル最大/最小を使用する方法です。これらのポイントをどのように組み合わせますか?

私の質問は非常に些細なことに聞こえるかもしれません。私は Lowe の論文を読みましたが、DoG ピラミッドを構築した後に彼が何をしたかを本当に理解できませんでした。どんな助けでも大歓迎です。

ありがとうございました

4

3 に答える 3

4

基本的に、DoG ピラミッドを構築した後に彼が行うことは、それらの画像の極値を検出することです。その後、検出された局所極値の一部はおそらく不安定であるため、それらを破棄します。これらの不安定なキーポイント/機能を特定するプロセスは、次の 2 つの手順で行われます。

  1. コントラストの低いポイントを拒否する
  2. エッジに沿ってローカライズされていないポイントを拒否します (これは、一方向のみに強いエッジ応答があることを意味します)。

これらの手順を実行できるようにするには、まずテイラー級数展開を行って極値の真の位置を取得する必要があります。この 2 つのステップを解決するための情報を提供します。

最後のステップは、記述子を構築することです...

私もこのアルゴリズムを研究中ですが、理解するのはそれほど簡単ではありません。Lowe の論文には含まれていない詳細がいくつかあるため、理解が難しくなっています。このアルゴリズムをより深く説明する多くの追加リソースは見つかりませんでしたが、オープンソースの実装がいくつかあるので、それらを利用することもできます.

編集:詳細情報:)

リンクした論文は彼の初期の作品であり、いくつかの変更があるため、最新バージョンの論文を入手する必要があります。さらにリソースを探して彼の特許も読みましたが、古い情報も含まれているため、そちらも参照しないでください。

したがって、このスケール空間の極値ステップに関する私の理解は次のとおりです。まず、ガウス ピラミッドを構築する必要があります。論文によると、局所極値の完全性を得るには、各オクターブでs+3ガウス画像を構築する必要があります。いくつかのテストを行った Lowe は、 s = 3 の場合に最良の結果が得られると結論付けました。つまり、各オクターブに 6 つのガウス画像があり、そこから 5 つの DoG 画像が得られることを意味します。これらの DoG 画像はすべて同じ解像度であることに注意してください。リサンプリングは、次のオクターブに移行するときにのみ行われます。

次のステップは、極値を見つけることです。Lowe は 26 近傍内で検索することを提案しています。これは、2 番目の画像から検索を開始する必要があることを意味します。これは、26 近傍が存在する最初の画像だからです。同様に、4 番目の画像で検索を停止します。このプロセスは、オクターブごとに個別に繰り返されます。見つかった極値ごとに、少なくともその位置とスケールを保存する必要があります。次のステップで極値を見つけることは、テイラー級数で行われるより正確なローカリゼーションになります。

これは、このステップがどのように機能するかを理解しているものであり、真実からかけ離れていないことを願っています:)

これがもう少し役に立てば幸いです。

于 2010-05-06T13:59:51.130 に答える
1

vlfeatは、SIFT を含むいくつかのコンピューター ビジョン アルゴリズムを実装するオープン ソース ライブラリです。そのソースコードを見て、何が行われているのかをよりよく理解できるはずです。

各オクターブで極値を適切に見つけている場合は、次のことができます。

  1. 極値のスケールと位置について、より詳細な適合を実行します
  2. 低コントラストおよびエッジ応答の拒否

この時点で残っている各機能について、

  1. 検出された特徴のスケールに関連するウィンドウ サイズ内の主要な方向を計算します
  2. SIFT 記述子表現を構築します (勾配を方向ヒストグラムの空間 4x4 グリッドに蓄積することによって)。これについては、論文の 6.1 で説明されています。

あなたがどこで電話を切っているのかわからないので、これがどれだけ役に立ったかわかりません。

于 2010-05-08T22:15:29.630 に答える
0

2 つのピラミッドがあります。ガウスと DoG ピラミッド。ガウス ピラミッドには 6 つのぼやけた画像があります。DoG はこれらの画像の差分なので、DoG には 5 つの画像があります。ガウスピラミッドとは何の関係もありません。これらはすべて最初のオクターブにあることに注意してください。最初のピラミッドを作成するときは、イメージのサイズを変更し、2 番目のオクターブ用の新しいピラミッドの構築を開始します。

元の画像が 512x512 だとしましょう。最初のオクターブではすべての画像が 512x512 ですが、2 番目のオクターブではすべての画像が 256x256 です。ここでも、ガウス ピラミッドに 6 つの画像、DoG ピラミッドに 5 つの画像があります。しかし、それらはすべて 2 番目のオケーブで 256x256 です。3オクターブは言うまでもありません。

次に、最小値と最大値の一致について:(最初のオクターブにいます) 最初のオクターブで最大値を見ているとしましょう。DoG ピラミッドを使用し、2 番目の画像から開始する必要があります。ピクセルを取り、それが最大かどうかを計算します。この計算では、DoG ピラミッドの ​​1 番目、2 番目、3 番目の画像を使用する必要があります。完了したら、2 番目、3 番目、4 番目の画像を考慮して、3 番目の画像の最大値を見つけます。最後に、3 番目、4 番目、5 番目の画像を考慮して、4 番目の画像の最大値を見つけます。

これで、最初のオカタブでの mixama の検索が完了しました。次のオクターブに移動して、これらの手順を繰り返します。

于 2010-10-18T02:40:45.860 に答える