2012-04-17 21 views
3

私はC++で画像検出をしようとしています。ターゲット検出 - アルゴリズムの提案

イメージシーン:1024x786 人:私は2枚の画像を持っている36x49

をそして私は、シーンから、この特定の個人を識別する必要があります。相関を使用しようとしましたが、画像にノイズが多く、正しい/正確な結果が得られません。

私は最高のこのタスクを解決し、これらが最も論理的と思われる方法を研究/考えてきた:

  • ガウスフィルタ
  • コンボリューション
  • FFT

基本的に、私は画像の周りのノイズを移動したいので、相関を使って人をより効果的に見つけることができます。

FFTは実装が難しく、使用している画像のサイズが特に遅くなることがあります。

誰でもこれを解決するための指針を提供できますか?最良の技術/アルゴリズムは何でしょうか?

+5

画像を見せて、私たちが見るものの後に答えることができます:0 –

+0

ちょっと - 私は画像をアップロードできないと言っていますか?基本的には、それはグレイスケールのウォーリー(シーン)とウォーリー自身です。 – Phorce

+0

サイズを変更してください。サイズ制限またはフォーマットでなければなりません。 300x300以下のJpegを試してください –

答えて

0

FFTは、すでにkd-treeまたは階層ツリーでイメージをソートしている場合にのみ意味があります。私は、画像2d rgbの値を1dカーブにマッピングし、周波数分析の前に複雑さを減らすことを提案します。

我々はニューラルネットワークを使用して、この正確な問題とスライディングウィンドウなかったアンドリュー・ウの Machine Learning class
2

  1. はあなたがイメージがある何のためにタグを使用してデータを使用して探している特定の機能を認識するようにニューラルネットワークを訓練36x49のウィンドウ(または他のどのサイズでもよい)を使用します。
  2. 新しい画像を認識するには、36x49の矩形を取り、それを画像全体にスライドさせ、各位置でテストします。新しい場所に移動するときは、ウィンドウを特定のピクセル数だけ右に移動し、jump_size(たとえば5ピクセル)と呼んでください。画像の右側に来たら、0に戻ってjump_sizeでウィンドウのyを増やしてください。

ノイズは大きな問題ではないため、ニューラルネットワークはこれに適しています。ノイズを除去する必要はありません。前に見たものに似た画像を認識することができますが、少し違っています(顔の角度が違う、照明が少し違うなど)。

もちろん、欠点は、トレーニングデータが必要なことです。あなたがFacebookのアカウントを持っているなら、多分あなたとあなたの友人のタグ付き写真を引っ張ってそれを使うためのスクリプトを書くことができますが、事前にタグ付けされた画像のセットを持っていなければ運が悪いかもしれません。

+0

ご回答いただきありがとうございます。それは本当に顔ではありません(実際の顔のように)それは基本的にWhere's Wallyの仕事です。だから、私は同じサイズのブロックに画像を分割し、次に画像を移動して最も相関が高いものを見ることができ、これが位置です。私はこれを試して、私が望む期待された結果を与えていない、私はブロックを見ていて、ノイズが原因でシーンにマトリックスが存在しない。 – Phorce

+0

相関は実際には機能しません。たとえ画像が数ピクセルだけずらされていても、正確に同じ画像であっても相関はあまり強くないことがあります。 – robbrit

+0

相関関係以外何をお勧めしますか? http://codepad.org/Bvxwkqwmは私のアルゴリズムです。何か案は?おかげで – Phorce

0

ターゲット検出方法が特定の状況に大きく依存していることがわかったため、私は提案する正確なアルゴリズムがありません。代わりに、私はいくつかのヒントとアドバイスを持っています。ここに私が示唆していることがあります:あなたの目標の特定の特性を見つけて、その周りにあなたのコードを設計してください。

たとえば、カラー画像にアクセスできる場合は、Wallyの緑色と青色があまりないことを使用します。赤い画像から青と緑の平均を差し引くと、より良い出発点が得られます。 (イメージとターゲットの両方に同じ操作を適用します)。ただし、ノイズが色に依存する場合(つまり、各色で異なる場合)は機能しません。

変換した画像に相関を使用すると、より良い結果を得ることができます。相関の否定的な点は、最初の画像の正確な切り抜きでのみ機能するということです。ターゲットを見つけるためにターゲットを見つける必要がある場合はあまり役に立ちません。代わりに、私はあなたの目標の平均化されたバージョン(多くのウォリーピクチャの組み合わせ)がある時点まで機能すると思います。

私の最終的なアドバイスノイズの多い画像を扱った私の個人的な経験では、ノイズは特定のスケールのみを汚染する傾向があるため、スペクトル分析は通常良いことです(これはWally'sとは異なるスケールです)相関は、画像のスペクトル特性とターゲットを比較することと数学的に等価です。

関連する問題