2021年10月21日
画像解析サンプルアプリ開発の事例紹介
弊社紹介
初めまして、パーソルAVCテクノロジー株式会社の上田と申します。
弊社は普段Vieurekaプラットフォームの請負開発を担当させて頂いておりますが、今回、Vieurekaのサンプルアプリ開発も担当させて頂きましたので、その一例 として「ロゴ認識アプリ」のご紹介をさせて頂きます。
なお、弊社担当のVieurekaプラットフォームは下図の赤丸を指します。
ロゴ認識システム概要 及び 構成図
Vieurekaカメラ (VRK-C301)にロゴ認識アプリをインストールし、カメラ画角に映ったロゴとパッケージ内に包含している認識対象のロゴデータで特徴点マッチングを行い、認識結果を描画します。(具体的な手法については後述)
ロゴ画像解析 及び 認識
ロゴの認識は具体的には以下のステップで行われています。
1.アプリケーションパッケージに包含されているロゴ画像の解析
アプリケーションパッケージに包含されている認識対象のロゴ画像に対して、画像内に含まれる特徴点を抽出するアルゴリズムとして近年注目されているAKAZE (Accelerated-KAZE) を適用します。
AKAZEを用いて抽出した特徴点はスケール・回転などの変化に対して頑健という特徴があります。
例えば、以下の様なロゴを予めロゴ認識アプリに包含しておきます。
抽出後の特徴点を描画すると以下の図のようになります。
2.カメラ画角画像の特徴点抽出
1.と同様の手法を用いてカメラ画角から取得した画像に対して特徴点抽出を行います。(以下に抽出された特徴点を示します)
3.特徴点マッチング
1.及び 2.で取得した各特徴点に対して、特徴点マッチングを行う。
特徴点マッチングに関しては、総当たりのBrute-Force、または、最近傍探索のFLANN (Fast Library for Approximate Nearest Neighbors)のいずれかを用いて行っています。
本サンプルアプリでは、Vieurekaアプリの設定値変更機能によってインストール後に手法の変更が可能です。
4.マッチング結果の解析
マッチング結果には誤マッチング(アウトライヤ)が含まれている可能性があります。よって、マッチング結果に対してクロスチェックや、レシオテストを適用することで可能な限り誤マッチングを除外します。
最終的なマッチング結果を以下の図に示します。
5.矩形描画 及び 各種情報をJSONで出力
4.の工程を通過したマッチングが最終的な特徴点マッチング結果です。
最終的にマッチングした特徴点の集合に対して矩形を描画することで、カメラ画角に映っているロゴの認識結果を視覚的に表すことが可能となります。
次のように複数のロゴも同時にリアルタイムに認識することが出来ます。
特徴点マッチングによる効果
今回はロゴの認識を行っていますが、特徴点マッチングの手法はロゴ認識だけでなくあらゆるモノに応用可能な技術となります。例として、工場のラインにおいて特徴点マッチングを行うことで不良物と正常物の分類を行う。工場において特定の物体の追跡を行うことで、生産性の可視化、人の動きの可視化を行う。
少し飛躍すると、空港において預けた荷物を受け取る際に、自身の荷物の写真を登録することで、特徴点マッチングからレーン上の荷物を探し出し、到着予測を行う。
等々、多くの事に利用可能と考えられますので、是非本サンプルアプリをお試し頂けたらと存じます。
なお、本サンプルアプリでは最終の認識結果のみ取得可能で、図4のようなマッチング経過の取得は出来ませんのでご注意ください。
パーソルAVCテクノロジー株式会社 (PERSOL AVC TECHNOLOGY CO., LTD.)
住所:大阪府高槻市幸町1番1号
電話番号:072-690-7535(代表)
URL:https://www.persol-avct.co.jp/