問題タブ [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 投票する
2 に答える
1636 参照

matlab - SIFT でのスコアの解釈

私はmatlabでSIFTアルゴリズムを使用して、テンプレート画像と一連の画像との類似性を判断しています。最終的には、スコアに基づいて一連の画像間の最適な一致を判断する必要があります。スコアが高いと言うのは本当ですか画像の一致が良いですか?完全一致の場合はスコアがゼロになることは承知していますが、画像が似ている場合はどうなりますか?

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

algorithm - SIFT アルゴリズムは、PC 上でリアルタイムの速度で機能を抽出できますか?

2004 年の David Lowe の論文「Distinctive Image Features from Scale-Invariant Keypoints」の 25 ページで、彼は次のように主張しています。ハードウェア。」リンクは次のとおりです。 http://www.cs.ubc.ca/~lowe/papers/ijcv04.pdf

ただし、C++ 実装である Andrea Vedaldi の sift++ (別名 VLFeat) を使用して SIFT アルゴリズムを 640x480 画像でテストしたところ、1 つの画像から約 3000 個のキーポイントを抽出するのに 0.839 秒かかりました。私の PC は Intel i7 2600k で、RAM は 16GB です。コードのリンクは次のとおりです。http://www.vlfeat.org/~vedaldi/code/siftpp.html

正直なところ、SIFT が 1 つの画像から非常に多くのキーポイントを抽出する必要があるため、リアルタイムの速度を達成できるとしたら、かなり奇妙だと思います。

最新の PC での SIFT の速度を知っている人はいますか?

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

opencv - opencvでの大きな画像のキーポイント検出とマッチング

私はopencvでキーポイントの検出とマッチングを行って2つの画像をつなぎ合わせています。

画像が小さい場合はうまくいきます。しかし、より大きな画像を扱う場合、検出されるキーポイントの数が増えるため、それらを一致させるのに多くの時間がかかります。しかし、画像をつなぎ合わせるために、それほど多くのキーポイントは必要ないようです。効率を上げるために、限られた数のキーポイントのみを検出する方法はありますか?

コードでは、SiftFeatureDetectorとSiftDiscriptorExtractorを使用して、キーポイントを検出し、記述子を抽出します。

よろしく。

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

android - FAST検出でSURF記述が速くなりますか?

私の修士論文では、スマートフォンでのロゴ検出のために、SIFT SURFenFASTアルゴリズムでいくつかのテストを実行しています。

単に検出の時間を計ると、いくつかのメソッドに一致する説明が次の結果になります。

SURF検出器とSURF記述子の場合:

180個のキーポイントが見つかりました

  • 1,994秒のキーポイント計算時間(SURF)

  • 4,516秒の記述時間(SURF)

  • 0.282秒のマッチング時間(SURF)

SURF検出器の代わりにFAST検出器を使用する場合

319個のキーポイントが見つかりました

  • 0.023秒のキーポイント計算時間(FAST)

  • 1.295秒の記述時間(SURF)

  • 0.397秒のマッチング時間(SURF)

FAST検出器はSURF検出器よりもはるかに高速であり、100倍高速でほぼ2倍のキーポイントを検出します。これらの結果は予測可能です。

ただし、次のステップは予測された結果ではありません。319 FASTキーポイントの方が180SURFキーポイントよりもdeSURF記述子が高速である可能性はありますか?

私の知る限り、この説明は検出アルゴリズムとは関係ありません...それでもこれらの結果は予測どおりではありません。

これがどのように可能か知っている人はいますか?

コードは次のとおりです。

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

computer-vision - SIFTと同様の機能を備えたCBIR、離散アプローチと連続アプローチ

現在、オブジェクト認識(オブジェクト分類の詳細)のためのCBIRシステムの実装を扱っていますが、機能検出器と記述子が機能しているので、コンテンツベースのタスクでこれらの機能を処理するための最良の方法を見つけようとしています。画像検索。

私の知る限り、このタスクには2つの主要な傾向があります。それは、離散的アプローチと連続的アプローチです。ここで、discreteは、テキスト検索を参照するメソッドを適用するための転置インデックスを構築するためのbag-of-visualワードやコードブックなどのメソッドを表し、continuousは、kdツリーと最近傍分類を使用したBestBinFirst検索などのメソッドを表します。

したがって、これら両方のアプローチの主な違いの1つは、1つは視覚的な単語などの機能の追加表現で機能し、もう1つは記述子から計算されたnD機能で機能することです。

私の質問は今、私のタスクに最適なアプローチを見つけるのに役立つ可能性のあるCBIRの2つの方法の比較はありますか?

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

matlab - Matlabは、1つの画像に表示される複数の画像をキーポイントシフトします

4つの同時ビデオフレームからのシフトキーポイントを1つの画像に表示しようとしています。各画像のキーポイントを特定することはできましたが、表示されているトラックの動きを追跡するために、4つの個別の画像ではなく、最後の画像にこれらのキーポイントのセットをすべて表示したいと思います。私が書いたコードは次のとおりです。

画像I4にのみ表示される画像I1、I2、I3、およびI4からSIFTキーポイントを取得するにはどうすればよいですか?

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

opencv - 単一の画像でシフト キーポイントを複製する

画像内のSIFTキーポイントを検出するためにopencv2.3.1を使用しています。しかし、検出結果に重複したポイントがあることがわかりました。つまり、同じ座標 (ピクセル単位) を持つ 2 つのキーポイントがありますが、対応する記述子は大きく異なります。次のコードは、SIFT 抽出手順を示しています。使用されている「box.png」に慣れる必要があると思います。興味のある方は、次のコードを試して、私と同じ問題があるかどうかを確認してください。

}

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

c++ - OpenCVでのシンプルなSIFT検出器の問題

OpenCvとSIFTに慣れるために、この簡単な例を実装しています。

非常に単純であると期待していましたが、次のエラーが発生します。

  • undefined reference to 'cv::SIFT::CommonParams::CommonParams()'11行目
  • undefined reference to 'cv::FeatureDetector::detect(cv::Mat const&, std::vector<cv::KeyPoint, std::allocator<cv::KeyPoint> >&, cv::Mat const&) const'13行目
  • undefined reference to 'cv::drawKeypoints(cv::Mat const&, std::vector<cv::KeyPoint, std::allocator<cv::KeyPoint> > const&, cv::Mat&, cv::Scalar_<double> const&, int)'17行目

何が悪いのか教えていただけますか?それはコードの問題ですか、それとも私はいくつかを逃していheadersますか?


完全なビルド出力:

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

c++ - OpenCV を使用してセル イメージの外れ値 SIFT キー ポイントを破棄する

私はバイオインフォマティクスのタスクに近づいており、いくつかの細胞画像からいくつかの特徴を抽出する必要があります.

写真でわかるように、SIFT アルゴリズムを使用して画像内のキー ポイントを抽出しました。

ここに画像の説明を入力

写真 (赤丸で囲んだ部分) にも見られるように、いくつかの重要なポイントは外れ値であり、それらの特徴を計算したくありません。

cv::KeyPoint次のコードでベクトルを取得しました。

vectorしかし、たとえば、画像の中心にある特定の関心領域 (ROI) 内に 3 つ未満のキー ポイントがあるすべてのキー ポイントから破棄したいと思います。

したがって、入力として指定された特定の ROI 内のキー ポイントの数を返す関数を実装する必要があります。

3 つの質問があります。

  1. 同様のことを行う既存の機能はありますか?
  2. そうでない場合は、自分で実装する方法を理解するのに役立ちますか?
  3. このタスクに円形または長方形の ROI を使用しますか?また、それを入力でどのように指定しますか?

ノート:

関数の効率的な実装が必要であることを指定するのを忘れていました。つまり、キーポイントごとに他のすべての相対位置をチェックすることは、良い解決策ではありません (別の方法が存在する場合)。

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

cluster-analysis - SIFT ベクトルの階層的 k-means クラスタリング

全て

私はhttp://www.wisdom.weizmann.ac.il/~bagon/CVspring07/files/scalable.pdfで David Nister と Henrik Stewenius の同じアプローチを適用することを探しています。

この論文では、彼らは階層的な k-means クラスタリングへの入力として多数の SIFT ベクトル (128-D) を使用して、階層的なビジュアル語彙ツリーを構築します。

このクラスタリングを行うために使用できる優れたライブラリを知っている人はいますか?

Ps: 入力 SIFT 記述子の数が多く (70,000,000)、結果が 1,000,000 の葉ノードを持つ語彙ツリーになることを望んでいます。

どうもありがとう。よろしく。