問題タブ [feature-descriptor]

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 に答える
154 参照

image-processing - 2+1-D 時空間ビデオとは?

http://www.scholarpedia.org/article/SIFTを読んでいますが、このセグメントの定義について助けが必要です。

SIFT ディスクリプタは、グレー レベルからカラー イメージ、2-D 空間イメージから 2+1-D 時空間ビデオにも拡張されています。

2+1-D 時空間ビデオとは?

0 投票する
0 に答える
770 参照

opencv - SURF 記述子の実装

SURF 記述子(長さ 64 のベクトル)を生成したい。元の論文
で は、ここで次のように述べています。

領域は、規則的に小さな 4*4 の正方形のサブ領域に分割されます。サブ領域ごとに、5*5 の等間隔のサンプル ポイントで Haar ウェーブレット応答を計算します。

OpenCVのヘルプを使用すると、キーポイントとそれに関連する領域を ( と を使用KeyPoint::sizeしてangle) 取得できますが、私の質問は次のとおり
です。1. Haar ウェーブレット応答を計算する方法は?
2. 「5 x 5 の等間隔のサンプル ポイント」とはどういう意味ですか?

Harr ウェーブレットに関するwiki紹介を読みましたが、コードの書き方はまだわかりません。
OpenCV の使用方法は知っていましたSurfDescriptorExtractorが、元の領域を拡大または縮小して新しい記述子を取得する必要があるため、使用できません。

SURF記述子を生成する方法についてのヒントをありがとう。

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

opencv - MSER を興味深いキーポイントとして使用して、記述子のサイズを計算します。

私は、組織画像に適用される画像登録方法に取り組んでいます。

一つ質問があります。MSER 特徴検出器を使用して、画像のキーポイントを検出したいと考えています。opencv が提供する MSER 関数を使用して MSER 等高線を取得した後、興味深い点として使用するために、各等高線の重心を計算します。

興味深い点を直接、たとえば Surf ディスクリプタで説明すると、ディスクリプタのサイズは 1 であり、それらを比較することはできません。

したがって、記述子のサイズを適切なサイズに変更する必要があります。

誰にもアイデアはありますか?

ありがとう

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

opencv - Freak記述子パターンはどのように定義されていますか

宿題のために FREAK 記述子の独自の実装をコーディングする必要があります。私は実際に元の論文を読みましたが、パターンがどのように構築されたかについての説明はありません.

OpenCVコードでは buildPattern() 関数が定義されていますが、パターン自体のビルド方法に関するドキュメントも不足しています。

私の質問は、パターンがどのように定義され、パラメータ (半径、シグマ、座標) がどのように選択されるかを知っている人はいますか?

0 投票する
4 に答える
5970 参照

opencv - 特にORB検出器を使用して、opencv FREAKエクストラクタが非常に多くのキーポイントを削除するのはなぜですか

OpenCV 2.4.3 c++ インターフェイスを使用して、2 つの画像間の一致点を見つけています。最初の試みは SURF を使用することでした。唯一の問題は時間がかかることなので、新しい FREAK エクストラクタを試してみました。検出に SURF を使用し、説明に FREAK を使用したところ、FREAK ではキーポイントの数が検出されたキーポイントのほぼ半分に減少し、結果の一致は十分ではないことがわかりました。それが理由で、より多くのキーポイントを取得するために FAST を試しました。結果:

  1. SURF 検出器、SURF 抽出器、BFMatcher クロスチェック true、RANSAC: 70 キーポイントの最初の画像、50 キーポイントの 2 番目の画像、200 ミリ秒。250ms。15ms。15ms。
  2. SURF 検出器、FREAK 抽出器、BFMatcher クロスチェック true、RANSAC: 39 キーポイントの最初の画像、30 キーポイントの 2 番目の画像 (FREAK 後)、200 ミリ秒、50 ミリ秒。、0ミリ秒、0ミリ秒。その結果、適切なマッチングが少なすぎます。
  3. FAST 検出器、FREAK 抽出器、BFMatcher クロスチェック true、RANSAC: 120 キーポイント、90 キーポイント (FREAK 後の 69 および 48 キーポイント)、10 ミリ秒、450 ミリ秒、15 ミリ秒、10 ミリ秒。

その後、ORBFeatureDetector を使用し、FAST と同じ数のキーポイントを取得していますが、FREAK エクストラクタの後、結果のキーポイントは各画像で 0 です。私は何か間違ったことをしていますか?ORB のキーポイントは、FAST から取得したキーポイントとは異なりますか? これについて別の質問を開くこともできますが、最後の質問があります。SURF を使用した最初の実験と同じ結果を得ながら、処理時間を短縮するには、検出器と抽出器の最適な組み合わせは何でしょうか? FREAKを使用していますが、より多くのキーポイントを取得するにつれて、抽出部分にも時間がかかるためです。

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

opencv - キーポイント記述子の出力

機能キーポイントの記述子を出力します。私のメソッドは、入力でキーポイントのベクトルとそのポイントのマット記述子を受け取ります。誰かが簡単な解決策を知っていますか? ありがとう

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

opencv - SIFT opencv2.3.1/2.4.3 両方 非常に奇妙な記述子を与える.. 7., 29., 39., 11., 2.3.1 のように 非常に奇妙な記述子を与える

これは SIFT の非常に単純なコードですが、非常に奇妙な記述子が表示されます。それらは正しいですか?

記述子: [ 0., 7., 29., 39., 11., 0., 0., 0., 32., 30., 39., 52., 16., 0., 1., 12. , 38., 14., 10., 20., 28., 93., 45., 37., 93., 3., 6., 11., 23., 107., 24., 80., 0 ., 2., 47., 53., 0., 1., 9., 8., 104., 85., 35., 41., 1., 10., 32., 19., 130., 73., 0., 0., 8., 76., 31., 42., 61., 40., 10., 5., 83., 130., 28., 31., 3., 0. , 0., 0., 0., 2., 12., 17., 60., 4., 0., 0., 0., 31., 76., 83., 130., 38., 10 ., 6., 15., 10., 16., 89., 19., 21., 16., 23., 130., 94., 7., 3., 1. ]

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

c++ - OpenCVのSiftDescriptorExtractorは記述子値をどのように変換しますか?

SiftDescriptorExtractorジョブの最後の部分について質問があります。

私は次のことをしています:

ここで、descriptors_objectMatオブジェクトの要素を確認します。

出力は次のようになります。

しかし、ロウの論文では、次のように述べられています。

したがって、単位特徴ベクトルの値をそれぞれ0.2以下にしきい値処理し、次に単位長に再正規化することにより、大きな勾配の大きさの影響を減らします。これは、大きな勾配の大きさを一致させることはもはや重要ではなく、方向の分布がより重要であることを意味します。0.2の値は、同じ3Dオブジェクトの異なる照明を含む画像を使用して実験的に決定されました。

したがって、特徴ベクトルからの数値は0.2値以下である必要があります。

問題は、これらの値がMatオブジェクトでどのように変換されているかということです。

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

c++ - OpenCVのFlannBasedMatcherでトレーニングが正確に行われるのはどの段階ですか?

次のコードはC++であり、実験にOpenCVを使用しています。次のようにkd-tree(FlannBasedMatcher)を使用しているとします。

上記のコードでは、train()関数を呼び出すとトレーニングが行われる(つまり、kdツリーが構築される)ようです。しかし、train()関数の内部を見ると、ここに問題があります。

これらの操作の両方(トレーニング記述子とflannインデックスの設定、train()を呼び出す前にすでに行っています)。では、kdツリーはいつ構築されるのでしょうか。

0 投票する
0 に答える
161 参照

android - OpenCV: Android と OSx で同じコードを実行する際の問題

私は、OpenCV を使用して単純なテンプレート マッチング プログラムを作成しました。これは、Android と OSx で驚くほど異なる結果を生成します。

まず、私が何をしているかを見てください:


次に、私が得ているものを見てください:

Android 4.2.2 を実行している Nexus i9250 と OSx 10.7(Lion) で同じスニペットを実行すると、次の結果が得られます。

  • Mat オブジェクト: 両方の OS で同じ
  • キーポイント: [Android の場合][2]、[OSx の場合][3]、[違い][4]
  • 記述子: [Android の場合][5]、[OSx の場合][6]、[違い][7]
  • 一致: [Android の場合][8]、[OSx の場合][9]、[違い][10]

注: これらのファイルを並べ替えても違いはありません。それで、私が得ていないのは、なぜ異なる順序の結果が得られるのですか?? さらなる計算のために必要なので、それらを順番に取得することが私の要件です。さらに、同じプラットフォームで同じコード スニペットを実行すると、常に同じ順序の結果が生成されます。

Stackexchange では、私のアカウントは投稿に 2 つ以上のリンクを投稿するように制限されているため、リンクのコメントを確認してください。