問題タブ [sift]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
4275 参照

image - OpenCV を使用した SURF または SIFT アルゴリズムの外れ値の検出

2 つの画像を比較して外れ値を破棄するのに最適な方法はどれですか? find_obj.cpp opencv の例では、FLANN を使用していますが、外れ値は破棄していません。

Kmeans やグラフを使用するようないくつかの方法を見てきました。

0 投票する
2 に答える
12637 参照

matlab - Matlab での Scale Invariant Feature Transform (SIFT) の実装

matlab で SIFT を実装しようとしています。私は Lowe の 2004 年の論文に従っています。キーポイントの計算とそれらへの方向の割り当てまで完了しました(つまり、すべてのオクターブに対して)。ここで、記述子を実装する前に 1 つの疑問が生じました。他のサイズのオクターブでキーポイントの記述子を見つけるにはどうすればよいでしょうか。(元の画像サイズが 256*256 の場合、他のサイズのオクターブは 128*128,64*64 のようになります)。

私のアプローチを以下に説明します。

  1. ここでは、256*256 の画像とオクターブを 256*256,128*128,64*64,32*32 の画像として撮影しました。各オクターブに 5 枚の画像 (元の画像 1 枚とぼやけた画像 4 枚)。

  2. すべてのオクターブのキーポイントと方向を計算しました。(これには、各オクターブに2つの画像があります)。

  3. サイズ 128*128、64*64、32*32 のオクターブ単位のキーポイント。これらのキーポイントを 256*256 の画像で表現したい場合、どのように表現できますか? (私の疑問は、たとえば 64*64 画像のキーポイント範囲が (64,64) までであるということです)。

    答えが 64*64 画像の 256*256 への補間である場合。キーポイント (位置、縮尺、向き) はどのように補間されますか?

どんなアドバイスでも大歓迎です。ありがとう。

0 投票する
1 に答える
1276 参照

image-processing - SIFT でのエッジ応答除去

Lowe の論文のセクション 4.1 では、ヘッセ行列を使用した主曲率の比率を使用して、エッジに属する可能性のある点を削除しています。

この論文では、ヘッセ行列が元の画像と DoG のどちらで計算されるかは指定されていません。Rob Hess の実装では、指定されたオクターブと間隔で DoG に適用されます。

私の質問は、ヘッセ行列が DoG に適用されて、潜在的なエッジであるポイントを特定するのはなぜですか?

Utkarsh のチュートリアルから、ヘシアンはハリスのコーナー検出に似ているはずだと理解しています。違いは、ヘッセ行列が 2 次導関数であることです。そこで、元の画像にヘシアンを適用する必要があると結論付けました。

Hessian の使用方法を説明している関連リソースを教えてください。

0 投票する
1 に答える
275 参照

computer-vision - サブイメージのSIFT記述子は、イメージ全体のSIFT記述子と合計されませんか?

OpenCV 2.3でSIFT検出器と抽出機能を使用しましたが、サブイメージで検出されたキーポイントの数が、イメージ全体のキーポイントの数と合計されていないことがわかりました。

具体的には、画像AでSIFT検出器を使用すると、検出器はN個のSIFTキーポイントを検出します。Aを4つのサブ領域A_1、A_2、A_3、A_4に分割し、それらの領域でそれぞれ検出器を実行すると、検出器はそれに応じてN_1、N_2、N_3、N_4SIFTキーポイントを検出します。驚いたことに、N_1 + N_2 + N_3 + N_4はNと等しくありません!

この現象はSIFTアルゴリズムに対して正しいですか?それとも、これはOpenCV 2.3の実装が不十分なためですか?

0 投票する
1 に答える
297 参照

opencv - シフト機能をトレーニングするためのマトリックスを取得する問題

OpenCV オープンソースを使用して機能を抽出しました。

これらの2つの関数を使用してこれらの手順を実行しました

記述子から128 * 128のマトリックスを取得しました。これは、このマトリックスを使用して機能をトレーニングすることも考えています...

私が混乱しているのは、次のことです。

機能をトレーニングしたいときは、機能の数のマトリックスを使用する必要があり、すべての行にはその機能に関する情報が含まれています..これは、のマトリックスである可能性があります

たとえば、画像に 344 個の特徴がありました...そして、記述子用に 128*128 の行列を取得しました。これは、特徴をトレーニングするためにこの行列が必要です。

しかし、私が言ったように、私はちょうど 128*128 マトリックスを取得しています..それで、何が問題なのですか?

そして、後で何を訓練する必要がありますか?

0 投票する
1 に答える
5240 参照

opencv - アフィン-SIFT(ASIFT)特徴検出器

私は、オブジェクトの特徴を(ビデオフレーム内で)検出し、それを他のオブジェクト(他のフレーム内)と照合して、追跡のために同じオブジェクトを認識しなければならないプロジェクトに取り組んでいます。私は多くの機能検出器アルゴリズムをグーグルで検索しました。また、それらの間でいくつかの比較を行いました(SIFT、SURF、およびASIFT)。

ASIFTは計算コストが少し高くなりますが、SIFT&SURFと比較すると結果はより正確です。私はASIFTについて多くのことをググったが、私のプロジェクトに関しては何の成功も得られなかった。

誰かが私のプロジェクトでASIFTを使用するのを手伝ってくれませんか?

ASIFTリファレンス: http ://www.ipol.im/pub/algo/my_affine_sift/

プロジェクトにどのファイルを含める必要がありますか?私はOPENCV2.1、IDEVS2010に取り組んでいます。このプラットフォームでの最初の投稿です。誰かが私を助けてくれることを願っています。

0 投票する
3 に答える
1665 参照

matlab - MATLABでのOCRのSIFT実装

そのため、最終年度のプロジェクトでは、ユーザーが携帯電話から名刺の写真を撮り、それにOCRを適用して、必要なすべての情報を印刷可能な形式で取得できる、気の利いたlilアプリを作成しています...私の問題は、SIFTがローテーションであるということです。不変、つまり「u」と「n」および他のそのような単語や数字を区別することはできません。この問題を克服するために、皆さんが持っている、または思いついたアイデアを共有していただければ幸いです。:) ありがとうございました。

0 投票する
5 に答える
14661 参照

computer-vision - 密なふるい vs ふるい?

sift と比較して、dense sift の実装の違いは何ですか? お互いの長所/短所は何ですか? 特に VLFeat の実装について話しています。

0 投票する
1 に答える
801 参照

matlab - kdtreeとヒストグラムエンコーディング

私はVLSiftを使用してオブジェクト認識に取り組んでいますが、これを機能させるにはさまざまな方法があるように思われます。1つの方法は次のとおりです。-SIFT機能を抽出します-既存のSIFT機能データベースを保持するkdtreeで機能を検索します-返される最良のビン機能

もう1つは次のようです:-SIFT機能の抽出-ヒストグラムの作成

つまり、オブジェクト認識の分類部分を無視します。これらは2つの正当なアプローチであると私は正しいですか?私の知る限り、ヒストグラムも最良のビンを取得します。もしそうなら、どちらが良いですか?長所と短所は何ですか?

0 投票する
1 に答える
1335 参照

c++ - Rob Hess の SIFT ライブラリ (C で、OpenCV を使用) を C++ とリンクする

C++ プロジェクトでRob Hess の SIFT ライブラリを使用しようとしています。他の SIFT 実装 (のコード) も調べましたが、これは元の Lowe の論文のように最も段階的に分割されていて、私が慣れ親しんでいる OpenCV も使用しているように見えたので、これを選択しました。

残念ながら、C++ で使用して以来、問題が発生しただけです。ライブラリは、もともと OpenCV を使用して C で記述されています。

C ライブラリの include-s を で囲む場合としない場合の両方でコードをコンパイルしようとしましexternたが、どちらも機能しません。どちらの場合も問題が何であるかを診断したと思いますが、それらを解決する方法がわかりません。助けていただければ幸いです。

問題(または少なくとも、私が問題だと思うもの):

  • withouth extern: C++ の名前マングリングが原因で動作しません (私はチェックしましたが、もちろんすべての関数名は装飾されています)

  • with extern: OpenCV は C または C++ 用にコンパイルされた天気を検出できるため、機能しません。SIFT ライブラリ関数のいずれにもリンケージの問題はありませんが、現在 OpenCV には C++ ヘッダーが含まれており、メイン プログラムでは最終的にexternブロックに含まれているため、次のような (文字通り何百もの) エラーが発生します。

    /usr/local/include/opencv2/core/mat.hpp:2361: error: template with C linkage

私はこの数日間、これを機能させようとしてきたので、誰かが C++ で同じ SIFT ライブラリを使用しようとした場合、または別のライブラリで同様の問題を経験したことがある場合は、助けていただければ幸いです。