3

黒/青/赤/緑のマーカーでホワイトボードに書かれた図形を検出しようとしています。形状は、円、長方形、または三角形にすることができます。画像はこの記事の一番下にあります。

画像認識のフレームワークとして OpenCV を使用しています。

私の最初の仕事は、検出に使用できるさまざまな戦略を調査してリストすることです。これまでのところ、次のことがわかりました。

1)グレースケール、ぼかし、キャニーエッジ、輪郭検出、そして検出された輪郭が形状であるかどうかを判断するためのロジック?

2) 形状ごとに特徴の異なるハールトレーニング

3) SVM分類

4) グレースケール、ブラー、キャニー エッジ、ハフ変換、およびある種のカラー セグメンテーション?

私が見逃した他の戦略はありますか?新しい記事やテスト済みのアプローチはありますか? どのようにしますか?

テスト写真の 1 つ: https://drive.google.com/file/d/0B6Fm7aj1SzBlZWJFZm04czlmWWc/view?usp=sharing

更新: 最初の戦略が最もうまく機能しているように見えますが、完璧には程遠いです。ボックスが閉じていない場合、またはホワイトボードにノイズが多い場合に問題が発生します。Haar トレーニングは、多くの特定の機能を持たない単純な形状を検出するため、あまり効果的ではないようです。私はまだ CNN を試していませんが、画像分類に最も適しているようで、大きな画像内の形状を検出するのにはあまり適していないようです (ただし、よくわかりません)。

4

1 に答える 1

1

最初のオプションが機能するはずだと思います。セグメント化された形状を分類するために、フーリエ記述子を使用できます。

http://www.isy.liu.se/cvl/edu/TSBB08/lectures/DBgrkX1.pdf

また、ここで役立つものを見つけることができるかもしれません:

http://www.pyimagesearch.com/2016/02/08/opencv-shape-detection/

より挑戦的で最新のアプローチを試してみたい場合は、ディープ ラーニング アプローチを検討してください (私なら CNN から始めます)。インターネット上で利用可能な多くの実装があります。この特定のプロジェクトにとってはおそらくやり過ぎですが、将来的には役立つかもしれません...

于 2016-09-22T12:37:42.950 に答える