1

私は現在、構築中のUAVのビジョンシステムに取り組んでいます。このシステムの目標は、地面の2Dフライオーバービューとなるビデオストリームで、かなり明確に定義されたターゲットオブジェクト(以下を参照)を見つけることです。これまでのところ、検出を行うために、Haarのような機能ベースのカスケードであるラビオラジョーンズをトレーニングして使用してみました。さまざまな角度(遠近法のシフト)と範囲(フレーム内のサイズ)でのターゲットの5000以上の画像を使用してトレーニングしていますが、「背景」画像は1900枚のみです。いくつかの誤検知と少数の誤検知のバランスをとるカスケードに適切な数のステージを見つけることができないため、これではまったく良い結果が得られません。

この分野の経験がある人から、次のことを行うべきかどうかについてアドバイスを求めています。1)カスケードを捨てて、輪郭と色で定義されたオブジェクトにより適したものを選びます(VJカスケードを読んだことがあります)いいえ)。2)ポジティブ、バックグラウンドフレームを追加する、それらをより適切に整理/撮影するなどして、カスケードのトレーニングセットを改善します。3)現在理解できない他のアプローチ。

ターゲットの説明:

  • 主な形状:三角形、正方形、円、楕円など。
  • はっきりとした、単色の、プライマリ(またはそれに近い)色。
  • 2〜8フィートの最小寸法(数百フィートのAGLから簡単に確認できる大きさ)
  • オブジェクトの中央にある大きな単一の英数字で、独自の明確な単色、原色、またはほぼ原色があります。

私の目標は、VJカスケードなどの非常に高速なものを使用して、可能なオブジェクトとそれに関連する境界ボックスを見つけ、それらをより細かい処理ルーチンに渡して、プロパティ(オブジェクトの色とAN、ANの値、実際の形状、およびGPS位置)。この目標を達成するために私にアドバイスをいただければ幸いです。私が現在持っているソースコードは、ここに投稿するには少し長いですが、参照用に見たい場合は無料で入手できます。前もって感謝します!

-JB

4

2 に答える 2

2

オブジェクトについてよく知っているので、Haar分類を捨てることをお勧めします。このような場合、使用できる機能を確認することから始める必要があります。

1)頭上飛行とは、あなたが言ったように、基本的にこれらを2D平面上の固定形状として扱うことができることを意味します。スケーリング、回転、およびいくつかのマイナーなアフィン変換があります。これは、カメラの角度に大きく依存します。特に広角でなければ、その部分は無視できるでしょう。また、あなたはおそらくあなたの高度を知っているでしょう、それによってあなたはおそらくまた目標サイズ(スケーリング)について非常に良い仮定をすることができます。

2)あなたは色を知っているので、オブジェクトを見つけるのも非常に簡単です。これらが原色として非常に定義されている場合は、色に基づいて画像をフィルタリングし、それらの輪郭を見つけることができます。もう少し高度なことをしたい場合(私には必要ではないようですが...)、逆投影を行うことができます。これは、私の経験では非常に効果的で高速です。オブジェクトを作成する場合は、原色(赤緑と黄色)の代わりに赤緑と青を使用することをお勧めします。次に、画像をそれぞれのチャネルに分割し、非常に高いしきい値を使用できます。

3)あなたは幾何学的形状を知っています。私はこれを自分で行ったことがありませんが、私が知る限り、オプションはモーメントまたはハフ変換を使用しています(ただし、openCVには線と円のハフアルゴリズムしかないため、他の形状については独自に作成する必要があります。 。)。ただし、この手順がなくても、すでに十分に良い結果が得られている可能性があります...

より具体的な推奨事項が必要な場合は、いくつかのサンプル画像をアップロードすると非常に便利です。:)

于 2012-06-27T08:21:25.947 に答える
1

解決されるかもしれませんが、最近、正規化された勾配機能を使用した一般的なオブジェクト検出のオープンソースライセンスに関する論文に出くわしました:http://mmcheng.net/bing/comment-page-9/

照明、回転、スケールに対するアルゴリズムのパフォーマンスの詳細については、少し掘り下げる必要があります。頭のてっぺんに元の紙がどこにあるのか思い出せません。

于 2015-08-07T10:29:29.003 に答える