問題タブ [feature-detection]
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.
c++ - オブジェクトの異なる視点から良いホモグラフィを見つけますか?
特徴抽出(sift、orb)を使用してオブジェクト検出を行っています。
オブジェクト(列車画像)のさまざまな視点からORB機能を抽出し、それらすべてをクエリ画像と照合したいと考えています。
私が直面している問題は、もちろんサイズが異なる画像の異なる視点からのキーポイントからどのように良いホモグラフィを作成できるかということです。
編集
3〜4回の一致を取得した各列車の画像のホモグラフィを作成し、「平均」ホモグラフィを計算することを考えていました...
たとえば、各列車の画像から1〜2の一致があると言うと、問題が発生します。その時点で、ホモグラフィを1つも作成できません
ホモグラフィを作成するためのコード
c - ポリゴン近似のための cvCanny の最適なパラメーターを特定する方法
これは私のソース画像です(ポイントは無視してください。後で手動で追加されました):
私の目標は、2 つの手の大まかなポリゴン近似を取得することです。このようなもの:
これを行う方法についての一般的な考えがあります。cvCanny
エッジをcvFindContours
見つけ、輪郭を見つけ、そしてcvApproxPoly
.
私が直面している問題は、 を適切に使用する方法がわからないことですcvCanny
。特に、最後の 3 つのパラメーター (threshold1&2、apertureSize) には何を使用すればよいですか? 私はやってみました:
しかし、結果は理想的ではありません。左手は比較的きれいに見えますが、右手の場合はほとんど検出されませんでした。
一般的に、私が望むほど信頼できるものではありません。Canny の「最適な」パラメータを推測する方法はありますか、または少なくとも詳細な説明 (初心者でも理解できる) があるので、知識に基づいた推測を行うことができますか? それとも、これを完全に行うためのより良い方法がありますか?
opencv - OpenCV を使用した HoG 機能の抽出
OpenCV の HoG API を使用して機能を抽出しようとしていますが、それを可能にする API が見つからないようです。
私がやろうとしているのは、HoG を使用してすべてのデータセット (一定数の正と負の画像) から特徴を抽出し、独自の SVM をトレーニングすることです。
OpenCV の下で HoG.cpp をのぞき見しましたが、役に立ちませんでした。すべてのコードは複雑さの中に埋もれており、さまざまなハードウェア (Intel の IPP など) に対応する必要があります。
私の質問は:
- SVM に供給されるすべての機能/記述子を抽出するために使用できる OpenCV の API はありますか? それを使用して自分の SVM をトレーニングするにはどうすればよいですか?
- 存在しない場合、同じことを達成できる既存のライブラリはありますか?
これまでのところ、実際に既存のライブラリ (http://hogprocessing.altervista.org/) を Processing (Java) から C++ に移植していますが、それでも非常に遅く、検出には少なくとも 16 秒かかります。
HoG 機能の抽出に成功した人は他にいますか? そして、私が使用できるオープンソースコードはありますか?
前もって感謝します
c++ - AutotunedIndexParams での OpenCV Frann の問題
AutotunedIndexParams を使用した openCV 2.4.2 flann インデックス作成に問題があります。複数の画像を使用してインデックスを作成すると、プログラムは次の出力で終了します。
これは、エラーが次のJavaCVの同等のコードに対して発生する同様のエラーです。
openCVs miniflann.cpp でp["algorithm"]
、設定されている複数の行を見つけました。問題と関係があるのでしょうか?
ここで私の C++ コードをテストするために、必要に応じて Java コードも投稿します ;-)
画像はここにあります: images
matlab - SIFTによるデジタル画像のスタンプ(印鑑)の痕跡の検出
入力画像にスタンプの刻印が含まれているかどうかを判断し、その場所を返すアプリケーションに取り組んでいます。RGB画像の場合、カラーセグメンテーションを使用して検証を行っています(さまざまな形状係数を使用)。グレースケール画像の場合、SIFT +検証でうまくいくと思いましたが、SIFTを使用すると、入力画像で取得したスタンプのみが見つかりますデータベース。
理想的なケースでは、下の画像に示すように、非常にうまく機能します。
図 1. http://i.stack.imgur.com/JHkUl.png
この問題は、入力画像にデータベースに存在しないスタンプが含まれている場合に発生します。最初にやったのは、入力画像のスタンプと似たようなスタンプを比較すると、一致するキーポイントがあるかどうかを確認することでした。ほとんどの場合、一致するキー ポイントは 1 つではなく、図 2 に示すように、一致するキー ポイントがあれば、スタンプではなく入力画像の他の部分を参照します。
図 2. http://i.stack.imgur.com/coA4l.png
また、スタンプが円形であるため、入力画像と円画像の一致を見つけようとしましたが、円画像には重要なポイントがほとんどありません。
だから、この正確なケースでSIFTをもう少し便利にする別のアプローチがあるのだろうか? データベースからすべての記述子とキーポイントを使用してマトリックスを作成し、入力画像とマトリックスの間の最も近いユークリッド距離を探すことについて考えましたが、データベース全体に一致するキーポイント (不要な) がたくさんあるため、おそらく機能しません。 (図 2 参照)。
私は Matlab を使用しており、VLFeat と D. Lowe SIFT の両方の実装を試しました。
編集:
そこで、SIFT に画像上のユーザー定義点の記述子を強制的に計算させる方法を見つけました。私のテスト画像には円が含まれており、記述子が計算され、図 1 と 2 の下のものを含む入力画像と照合されました。このプロセスは 0 から 10 までのスケールで繰り返されました。
opencv - 重心楕円 MSER OPENCV
私は画像登録方法に取り組んでおり、領域ベースの特徴検出器を使用したいと考えています。代表として、すでにopencvで実装されているのでMSERを考えました。
MSER領域を検出する方法を知っています.MSER検出器は、点のベクトル、輪郭内のMSER領域を提供します.これらの輪郭の重心を取得したいと思います. それらに楕円を合わせることができましたが、これらの楕円の重心をどのように取得できるかはわかりません。このタスクを処理できる機能が既に実装されているかどうか誰かが知っていますか? それとも、アルゴリズムを開発する必要がありますか?
理由は、この重心点を興味深い点として点対応を行いたいからです。
ありがとう
イヴァン
matlab - オブジェクト検出用の HOG 記述子
「車」のようなオブジェクトの HOG 記述子の実装があり、MATLAB の人間の実装がないかどうかを知りたいですか?
ただし、人間用しかない場合は、そのコードを案内して、「車やオートバイなどのオブジェクト」に使用されるコードを改善するためのヒントを教えてください。
c - OpenCV で小さな円を検出する (画質が悪い)
この画像の中央にある 4 つのドットを検出しようとしています。
これは png に変換されたもので、実際には ppm 形式を使用しています (カメラからの生の出力からの変換後)。実際に加工した画像はこちら
私はopencvが初めてなので、これらのドットを検出するのに大きな問題があります。これが私のこれまでの最高の結果です。
ご覧のとおり、3 つのドットが検出されましたが、それ以外にも、画像内の他の多くのものが円として認識されています。
コードは次のとおりです。
それを助ける方法はありますか?大変ありがたく存じます。人間の目で点を見つけるのはとても簡単だと思うので、コンピューターを使って検出できるようになることを願っています。
c - OpenCV cvFindContours は 1 つの輪郭のみを検出します
ここで説明した最初の冒険である openCV の作業を続けています。順調に進んでいますが、別のトリッキーなことに出くわしました。適応しきい値を適用した画像の輪郭を見つけたい:
そのため、cvFindContours
非常にうまく機能しているようで、結果は次のとおりです。
問題は、見つかった輪郭を反復しようとすると、輪郭が 1 つしかないと表示されることです (contours->total
次のコードでは 1 に等しい)。コードは次のとおりです。
輪郭が1つしかないのは、このようにする必要がありますか?輪郭のopenCVの定義を理解していないのでしょうか?よろしくお願いします。
opencv - opencv - 特徴検出を使用したオブジェクト追跡
ビデオ内のオブジェクト (動くボールなど) を追跡したいと考えています。opencv チュートリアル - 「Features2D + 既知のオブジェクトを見つけるためのホモグラフィ」を参照すると、参照画像を提供することで、静止画像でオブジェクトを追跡できました。参照画像を使用して、入力ビデオの最初のフレームから動体を検出する予定です。次のフレームでは、前のフレームで検出されたオブジェクトが参照イメージとして機能する必要があります。
しかし、記述子からオブジェクトを見つける方法がわかりません。いくつかのオブジェクトを含む画像にはいくつかのキーポイントがありますが、キーポイントまたはキーポイントの束を見つける方法は、画像内のどのオブジェクトに属していますか。