9

私が持っているロゴ(テンプレート)をいくつかの画像と一致させようとしています。私の画像はすべて自然に色付けされており、openCV の cvMatchTemplate() を使用して、ソース画像上でテンプレート (ロゴ) を実行しています。テンプレートを複数のレベルにスケーリングして、最適なものを見つけます。シーンに存在するロゴではなく、画像にデジタルで刻印されたロゴを見つけているだけであることに注意してください. 例: この画像からスカイ スポーツを検出するhttp://i56.tinypic.com/2v3j3wx.jpg (この画像は純粋に私の仕事を表現し明確にするためのものであり、私が扱っている画像ではありません

私の画像は固定解像度ではないので、標準の 800x600 に拡大します。ソース画像の解像度が 300x300 と非常に悪い場合、結果は非常に普通です。テンプレート パラメーターで method=CV_TM_CCOEFF_NORMED を使用していますが、正確な一致の場合でもスコアが非常に低く (0 から 1.0 のスケールで 0.4 と低い)、ロゴが存在するかどうかを自信を持って言うのは困難です。これについて 2 つの質問があります。

1 - opencv テンプレート マッチングでは、カラー画像をどのように処理しますか。私はドキュメントから理解しようとしましたが、私の推論では、各チャネルのスコアが個別に計算され、最高のものが採用されました。その場合は、より良い結果を得るために 3 つのチャネルすべてを考慮したほうがよいでしょう。

2 - 代替アプローチ!! :)

不明な点があればお知らせください。

編集(追加情報):コメントで説明したように、スケーリングされたテンプレートマッチングである現在のマッチング手法を添付しています。添付の画像は純粋にテスト目的であり、私が実際に使用している画像のセットではないことに注意してください (画像は独自のものであるため投稿できません) ソース画像ユーチューブのスクリーンショット ロゴ画像ウィキペディアから入手 テンプレート マッチングを使用した出力画像最高スコアとのベストマッチを示す赤いブロック

テンプレートは一致していますが、ここで得られたスコアは、このベスト マッチで 0.59 です。マッチとしては比較的良いスコアですが、目的のロゴが存在するかどうかを確認するにはまだ十分ではありません. 画面上のロゴが透明な場合の私のテスト画像では、ロゴは検出されますが、スコアは 0.3 ~ 0.4 と低くなります。SURF/SIFT を使用すると、より良い結果が得られますか?

編集 (SURF での試行) opencv の公式ドキュメント (minHessian = 2000) で例として既に示されている SURF コードを実行しようとしました。ここにリンク ここ に出力があります。どのように解釈すればよいかわかりません (2,3 ポイントは予想される境界内にあるようです。これは良いと考えられますか?さらに提案はありますか? ここに画像の説明を入力 ありがとう

4

1 に答える 1

3

テンプレート マッチングを実行する前に、ソース イメージにガウスぼかしを使用してみましたか? これにより、より正確な結果が得られる可能性があります。ソース画像の品質が一致を悪化させていると思うからです。

OpenCV Docs の Gaussian Blur へのリンク:

OpenCV Python ガウスぼかし

または、返されたテンプレート マッチの相関関係が小さい場合でも正しい値であることを確認するために、エリア テンプレート マッチングが提案するヒストグラム比較手法を試すことができます。

ヒストグラムの描画

ヒストグラムの描画はオプションです。独自のアプリケーションに役立つ場合があります

ヒストグラムの比較

^ このメソッドは、画像 (ソースとテンプレート) のヒストグラムとそれらの間の相関関係を計算します... ただし、テンプレート マッチングが最適な相関関係であると判断した場所など、ソース全体のヒストグラムは必要ありません。代わりに関心領域 (ROI) のヒストグラムを取得したい場合は、次の C++ コードを参照してください。

Mat OriginalImage = imread("source.jpg", 0);
Rect RegionOfInterest = Rect(150, 150, 250, 250);
Mat ROIImage = OriginalImage(RegionOfInterest);

これにより、関心領域のヒストグラムを計算できます。テンプレートのヒストグラムと、テンプレートがソースにあるとテンプレート マッチングが判断した領域のヒストグラムを取得し、それらを比較して、テンプレート マッチングの出力を確認または反論する必要があります。

于 2013-03-12T16:40:48.770 に答える