新GravioはAI画像推論機能がすごい!ワイン大好きライターが「ワインラベルを自動で読み取るAIシステム」を作ってみた

Gravioを使ってみた
このエントリーをはてなブックマークに追加

ワイン大好きライターの山田井です。

皆さんは、ワインはお好きでしょうか? ワインの魅力はなんといっても種類が豊富なところ。世界中でたくさんのワインが作られており、商品数でいうと数十万では足りないほどのワインが世の中にあります。

自宅で毎日のようにワインを飲んでいる筆者ですが、セット買いしたワインや福袋で買ったワイン(世間には“ワイン福袋”なるものがあるのです!)などの中には、ラベルを見てもよくわからず、自分で買っておきながら「これ、なんだっけ……?」なんてことも……。

そんなとき、ワインのラベルを自動的に読み取って、なんというワインなのかを教えてくれるAIシステムがあったら便利じゃないですか!?

Gravio

アステリア株式会社が提供するAI搭載IoT総合エッジウェア「Gravio(グラヴィオ)」を使うと、そんなワインAIシステムが簡単に作れてしまうんです。しかも、難しいプログラミングなど一切なしに、ノーコードで作成できるというのですから、非エンジニアの筆者にもぴったりです。

さっそく、実際に作ってみることにしましょう!

 



Gravio画像認識サービスについての調査資料


「Gravio」新バージョンはAI画像推論機能が劇的に進化!

Gravio

必要なものは、まずGravio Hubと呼ばれるエッジゲートウェイです。またGravioは、多彩なセンサーやカメラとの接続が可能で、さらにうれしいことに、必要なセンサーやライト、エッジゲートウェイも無償で利用できるのが特長なんです。

Gravio
Gravioのセンサー類無料貸出が可能なセンサー類

たとえば、人を感知して何かアクションを設定したいときは人感センサーを使いますし、距離を計測して何かをしたいときはディスタンスセンサーを使うといった具合です。

そして、こうしたセンサーやカメラの情報をとりまとめて処理を行う“脳”がGravio Hubというわけです。

関連記事:人感センサーや開閉センサー、カメラAI(人数検知)などを使い、オフィスの利用状況を可視化しているアステリア本社オフィスツアー👇

関連記事:ディスタンスセンサーを使い、トイレットペーパーの在庫切れを知らせるシステムを構築してみた👇

Gravioにつなぐネットワークカメラ

今回はワインのラベルを読み取ってワイン名を教えてくれるAIシステムですから、ラベルを読み取るためのネットワークカメラを使用します。アイ・オー・データ機器の「TS-NA220W」を利用しました。

あらかじめ、Gravioを操作するためのアプリケーション「Gravio Studio」の最新版であるバージョン4.5を、検証するPCにMicrosoft StoreもしくはApple App Store経由でインストールしておきます。

実は、この最新バージョンからGravioは劇的な進化を遂げました。AIによる画像推論機能がさらに強化され、プリインストールの推論モデルに加え、オリジナルの画像推論モデルもノーコードで利用可能になったんです。

バージョン4.5からはGoogleの「TensorFlow Lite Ver.1」にも対応。世界中のユーザーが作成した学習済みモデルをGravioで使用できるようになりました。ちなみに「TensorFlow」とは、Googleが開発した機械学習/ディープラーニングのライブラリで、「TensorFlow Hub」ではトレーニング済みのモデルが公開されています。

Tensor Flow Hub  https://www.tensorflow.org/hub
 
このTensorFlow Hubの中に、今回利用する「ワインのラベルを読み取る学習済みモデル」があります。さすがに自分自身でワインラベルを何千枚、何万枚も用意してオリジナルの画像推論モデルを作成するのは大変ですから、ここはありがたくTensorFlowの学習済みモデルを活用しましょう。

TensorFlow Hubからダウンロードした学習済みモデルをGravioで利用

Gravioの設定画面

先ほどインストールしたアプリGravio Studioを立ち上げます。まずは、Gravio Hubとカメラを接続します。

TensorFlow Hubにあるワインラベルのモデル

続いて、TensorFlow Hubのサイトを開き、今回使用する学習モデル「popular_wine_V1」をダウンロードします。このモデルは、すでに40万種類(!)のワインのラベルを学習済みとのこと。このモデルをGravioで使います。

つまり、カメラ(目)を備えたGravio(脳)に、ワインラベルのAI画像推論モデルという“知識”をインプットしてやるようなイメージです。

Gravioの設定画面

再びGravio Studioに戻り、ダウンロードした学習モデルをインポートします。ポイントは「信頼度の閾(しきい)値」のところ。この閾値を初期値の0.5から下げると、画像認識の判定基準が甘くなります。逆に上げてやると判定基準が厳しくなるというわけです。ただ、実際に判定してみなければ、適切な閾値はわからないので、ひとまず初期値のままでいきましょう。

これで、学習モデルをGravioに取り込めました。次に、カメラとの接続を行います。

そのために、「エリア」「レイヤー」「論理デバイス」という3つの要素を設定してやります。

Gravioの設定画面

「エリア」はデバイスの設置場所を表しています。

Gravioの設定画面

「レイヤー」は、その設置場所にどのタイプのデバイスを置くのかを指定します。最後に「論理デバイス」で、具体的なデバイスを指定します。今回はカメラですね。

このように、「エリア」と「レイヤー」と「論理デバイス」を組み合わせることで、「リビングに設置したカメラで、ワインラベルを読み取る学習モデルを使用する」という一連の流れを実行するAIシステムが完成しました。この3つの要素をさらに追加すれば、他にもさまざまなAIシステムを同時に走らせられるというわけですね。

いや、しかし、本当にコードなど一切書かないままAIシステムが完成してしまった……! これはすごいですね。ちょっと感動しました。

はたしてワインのラベルは読み取れるのか!?

ワインを手に持っている男性

さあ、それではさっそくワインのラベルを読み取ってみましょう!

ワインラベルをカメラで読み取っている男性

ワインラベルが映った画像

読み取ったワインの名称

おお……!

すごい! 合ってる!

学習モデルの都合上、ヴィンテージ(年号)表記までは読み取れないようです。まぁ、年号はラベルを見れば誰でもわかるので、わざわざAIに判別してもらわなくても問題ないでしょう。

楽しくなってきた! もう1つ、試してみましょう!

ワインラベルをカメラで読み取っている男性

先ほどのワインとは違って、文字成分がかなり少なめのラベルですが、はたして……。

読み取ったワインラベルの画像

読み取ったワインの名称

これも合っています!

さすが40万件のラベルデータを持っている学習モデルですね。筆者が所持しているような一般的なワインは瞬時に判別し、正しいワイン名を返してくれました。

ちなみに、今回使用した学習モデルの場合は、できるだけボトルをカメラに近づけて、画面内にラベルが占める割合を大きくしたほうが認識率は高くなる傾向でした。あくまでも、今回の学習モデルの場合は、ですが。

たとえば、人からもらったワインや、福袋に入っていたワイン、スーパーやワインショップでジャケ買いしたワインなど、銘柄がわからずに手に入れたワインについて、それが何なのかを知りたいときなどは、カメラの前にワインをかざせば銘柄を教えてくれるので便利です!

Gravioの「アクション」機能でLINEに通知が届く!

GravioからLINEへ通知したメッセージとスタンプ

さらに、Gravioの「アクション」機能を使うと、読み取ったワインの銘柄をLINEやSlackなどに通知することも可能です。上記の写真は、読み取ったワインの銘柄を、LINEへスタンプと一緒に通知が届くように設定してみたところです。

LINEへ通知を送るための「アクション」と「トリガー」の設定方法については、こちらの記事を参考にしてください。

他にも、自宅で飲んだワインの銘柄をGoogleスプレッドシートへ送って、自動的にリスト化するなんて使い方も面白いかもしれませんね。

バージョンアップにより、TensorFlowの学習モデルおよびオリジナルの学習モデルが利用可能になったGravio。今回はワイン好きライターとしてワインのラベル自動読み取りAIシステムを作ってみましたが、Gravioは他にもいろいろな可能性を秘めています。

ぜひ皆さんもGravioとTensorFlowを活用して、便利なAIシステムを作ってみてはいかがでしょうか。