画像認識

OpenCVを使ったロゴ認識

こんにちは。エンベデッドソリューション事業部の瀧澤と申します。

”文書などに添付されているロゴ画像が適切なフォーマット(サイズ、余白 etc)で使用されているかの確認を画像処理を使って出来ないか”、という問い合わせを社内にて受けました。

“特徴点抽出を行った画像認識を行ったらどうか”という回答をしましたが、私自身も聞きかじり程度の知識でしたので、実際に使用してみようと思い立ったのが本記事を投稿する経緯になります。

GUIベースでのテストアプリケーションを作り、考え方が正しかったか、アルゴリズムの精度はどこまで許容できるかという点で調査を行いましたので、結果を報告します。

特徴点とは

画像上における、ある法則に基づいた特徴の点群になります。(例えば画素間のエッジなど)
この”ある法則”という点において幾つかのアルゴリズムが存在します。

特徴点検出を使ったロゴ認識の流れ

  1. 検出したい画像(以下、query)と検索対象画像(以下、train)それぞれで特徴点を抽出する。
  2. query-train間で類似する特徴点を調べる。(マッチング)
  3. マッチング結果を元に画像の情報を求める。

1.、2.についてはOpenCVのAPIを使用して実現します。
3.については自前で計算を行い、結果を確認することとします。
また、3.で取り出す情報は下記の情報とします。

  • 拡縮情報
  • 回転情報
  • アスペクト比

続きを読む