問題タブ [object-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 - OpenCV cvFindContours - 輪郭のコンポーネントを分離する方法
私は OpenCV をいじってみましたが、多くの試行錯誤の結果、写真内の円 (コイン) を検出する方法を学ぶことができました。コインを互いに直接並べて配置する場合を除いて、すべてがうまく機能しています (以下に示すように、2 番目の画像が上下逆になっているという事実は無視してください)。
コインが非常に接近しているため、cvFindContours はそれらが同じオブジェクトであると考えているようです。私の質問は、これらの輪郭を個別のオブジェクトに分離する方法、または既に分離されている輪郭のリストを取得する方法です。
cvFindContours に使用したパラメーターは次のとおりです。
ヘルプやアドバイスをいただければ幸いです。
java - カスケードJavaによるOpenCVオブジェクト検出(顔検出ではありません)
親愛なる友人、私は Java で openCV を使用しています。すべて問題ありませんが、API に制限があるため、特定のタスク用に C ファイルを作成できません (C/C++ にそれほど熟練しておらず、長い間使用していませんでした)。したがって、解決する必要があります。 haar cascade xml ファイルに関する私の問題...
私の仕事は、顔ではなく単純なオブジェクトを検出することです。テーブルの上のカップ、壁の時計などの単純なオブジェクトだけを検出します...
エッジ検出で可能だと思いますが、この単純な検出用のカスケードは見つかりませんでした。オブジェクト検出を検索すると、常に顔検出が提供されるため、グーグルで検索するのは非常に困難です...
これに対する解決策を教えてください。あなたの助けに感謝します。よろしく。
c++ - OpenCV と機械学習を使用した単純な物体検出
OpenCV を使用してオブジェクト検出器 (この場合はボール) をコーディングする必要があります。問題は、Google で検索するたびに、FACE DETECTION を含む何かが返されることです。だから私はどこから始めるべきか、何を使うべきかなどについて助けが必要です..
いくつかの情報:
- ボールの色は決まっていません。おそらく白ですが、変わる可能性があります。
- 私は機械学習を使用する必要があります。複雑で信頼できるものである必要はありません。提案は KNN です (これははるかに単純で簡単です)。
- すべての検索の結果、サンプルのボールのみの画像のヒストグラムを計算し、それを ML に教えることが役立つことがわかりましたが、ここでの主な関心事は、ボールのサイズが変化する可能性があり、変化することです (カメラに近づいたり遠ざかったりします)。私のために分類するために ML に何を渡せばよいかわかりません。つまり、画像のすべてのピクセルをすべての可能なサイズ (たとえば、5x5 から WxH まで) でテストすることはできません (またはできますか?)。 ) そして、肯定的な結果が得られることを願っています。
- 人、ボールの後ろの布など、不均一な背景が存在する可能性があります.
- 私が言ったように、私は ML アルゴリズムを使用する必要があります。つまり、ハールまたはビオラのアルゴリズムはありません。
また、輪郭を使用してキャニー画像の円を見つけることを考えました。輪郭をデータの行に変換して KNN を教える方法を見つける必要があります。
だから...提案?
前もって感謝します。;)
javascript - Javascript xmlHttpRequest オブジェクトの検出と try..catch の比較
特定のブラウザーが AJAX をサポートしているかどうかを確認する場合、私は通常、オブジェクト検出を行います。
ただし、より上級の開発者によって記述されたコードを見ると、代わりに try-catch ブロックが表示される可能性が高くなります。
一部の人々が try..catch の方が遅いと言うのは知っていますが、これがほとんど好みの問題である場合、これを行うための規則/より「標準的な」方法はありますか? innerHTML(非標準)とDOM(標準)のどちらかを決定していたときも、ずっと前に同じ状況にありました。お時間をいただきありがとうございます。任意の提案をいただければ幸いです。
opencv - opencvによるオブジェクト検出の誤検出のフィルタリング
イメージ内のオブジェクトを検出するために opencv の HaarDetectObjects(...) を使用しています。関数は、オブジェクトを含む可能性のある画像内の領域の座標を返します。問題は、画像内のオブジェクトの単一のインスタンスのみを検出したいだけで、関数によって返される結果のどれが"一番"。オブジェクトを実際に含む確率でソートされた結果を取得する方法はありますか? または、結果が通過しなければならないある種のしきい値を定義しますか? 基本的に、誤検出を除外する方法が必要です。
私は opencv や HaarDetectObjects の使用に制限されていません。誰かが別のライブラリや別のオブジェクト検出方法を提案している場合は、それを歓迎します。
ありがとうございました。
opencv - 追跡によるOpencvモーション検出
Webカメラのビデオフレームでの堅牢なモーション検出と追跡が必要です。背景は常に同じです。目的は、可能であれば影なしでオブジェクトの位置を特定することですが、影を取り除くことはそれほど緊急ではありません。背景の減算としきい値処理にopencvアルゴリズムを試しましたが、これは背景として1つの画像のみに依存します。背景の明るさが少し変化した場合(またはカメラのオートフォーカス)、アルゴリズムを強力にする必要があります。明るさや影などの変化はほとんどありません。
opencv - opencv cvblob -- 白以外のブロブをレンダリングする
cvblob でオブジェクトを検出しようとしています。どういうわけか、私のコードは白いオブジェクトのみをマークします。ビールの缶や水のボトルなど、他の色のオブジェクトをマークする方法。
これが私のコードです:
どんなヒントでも大歓迎です。
ミロ
image - オブジェクト検出 + セグメンテーション
許容できる複雑さの効率的な方法を見つけようとしています
- 画像内のオブジェクトを検出して、周囲から分離できるようにする
- そのオブジェクトをそのサブパーツにセグメント化し、それらにラベルを付けて、自由に取得できるようにします
画像処理の世界に足を踏み入れてから 3 週間が経ちましたが、非常に多くのアルゴリズム (ふるい分け、スネーク、より多くのスネーク、フーリエ関連など) とヒューリスティックスについて読んだので、どこから始めてどれから始めればよいかわかりません。私が達成しようとしていることに「最適」です。対象の画像データセットがかなり大きいことを念頭に置いて、OpenCV で実装されたアルゴリズムを使用する必要があるのか、独自のアルゴリズムを実装する必要があるのかさえわかりません。
要約:
- どの方法論に焦点を当てる必要がありますか? なんで?
- そのようなものにOpenCVを使用する必要がありますか、それとも他の「より良い」代替手段がありますか?
前もって感謝します。
編集 -- データセットに関する詳細情報
各データセットは、同じ製品を共有する 80K の製品画像で構成されています。
- T シャツ、時計、靴などのコンセプト
- サイズ
- オリエンテーション (90%)
- バックグラウンド (95%)
各データセットのすべての写真は、製品自体を除けばほぼ同じに見えます。もう少し明確にするために、「監視データセット」のみを考えてみましょう。
セット内のすべての写真は、ほぼ同じように見えます。
(繰り返しますが、時計自体とは別に)。ストラップと文字盤を取り出したい。問題は、さまざまな時計のスタイルとその形状がたくさんあるということです。これまで読んだことから、さまざまなスタイルのストラップと文字盤を一致させるには、曲げたり伸ばしたりできるテンプレート アルゴリズムが必要だと思います。
3 つの異なるテンプレート (ストラップの上部、ストラップの下部、文字盤) を作成する代わりに、1 つだけ作成して 3 つの部分に分割するのが合理的です。そうすれば、各パーツが意図したとおりに相互に検出されたことに十分な自信が持てます。たとえば、文字盤がストラップの下部より下に検出されることはありません。
私が遭遇したすべてのアルゴリズム/方法論から、アクティブな形状|外観モデルが最も有望なもののようです。残念ながら、私は降下の実装を見つけることができず、それが最善のアプローチであり、自分で作成するのに十分な自信がありません.
私が本当に探しているもの(アルゴリズム/ヒューリスティック/ライブラリ/など)を誰かが指摘できれば、私は感謝しています。繰り返しますが、私の説明が少し曖昧であると思われる場合は、お気軽に、より詳細な説明を求めてください。
c++ - OpenCV-SURF記述子とBruteForceMatcherを使用したオブジェクトマッチング
OpenCVと一致するオブジェクトについて質問があります。私はopencv2.3に実装されたSURFアルゴリズムを使用して、最初に各画像の特徴を検出し、次にこれらの特徴の記述子を抽出しています。ブルートフォースマッチャーを使用したマッチングの問題、2つの画像が一致したかどうかを判断する方法がわかりません。これは、2つの異なる画像を使用している場合、2つの画像の記述子の間に線があるためです。
私のコードのこれらの出力は、2つの画像(私はそれらと比較します)が類似しているか異なっているかのどちらかであり、結果の画像は2つの画像が一致していることを示しています。
問題は、2つの画像をどのように区別できるかということです。
真のマッチング:
誤マッチング!! :
私のコード:
algorithm - 2d/3d での 2 つの線分の平均距離
はじめに: オブジェクトの 2 つの境界線を見つけようとする画像処理タスクに取り組んでいます。これは 2 つの直線セグメントで表すことができます。ハフ線変換のいくつかの変形を使用して、ターゲット画像の線分を見つけています。オブジェクトの境界ごとにハフ変換によって複数の線が検出され (非常に小さな角度を共有)、画像内のどこかにあるオブジェクトの境界に対応しない線が検出される場合があります (偽陽性)。オブジェクトの 2 つの境界線の間の空間的関係 (角度) はおおよそわかっているので、何らかのクラスタリング アプローチを使用して、誤検知を除外し、1 つずつ見つかった複数の線分から平均線分を計算すると考えました。国境。
アプローチ: 線分をクラスター化するには、各線分の位置の類似度を定義する必要があります。私は、2 つの線分間の角度のタプルと、2 つの線分間のある種の平均距離を使用すると考えました。これは、この平均距離測定を計算するための最良のアプローチが何であるかを考えている場所でもあります。やや単純なアプローチは、離散的な位置で各セグメントをサンプリングし、サンプリングされた各ポイントから他の線分までの最も近い距離 (L2) を測定し、距離を合計して、合計をサンプル数で割ることです。これを行うにはもっと賢い方法があると思いますが、何か提案はありますか?
ヒント: 私は LGPL/BSD ライセンスのツールキット (OpenCV、Boost) を使用して C++ で作業しているため、mathematica への統合などの特殊な数学演算は実装が難しい場合があります。