2022.11.08 / 更新日:2022.11.08
プログラム未経験の大学生でも旅行写真認識AIを構築できた!写真に映っている名所旧跡の名前をLINEに通知するシステムも作ってみた
編集部でインターンをしている大学4年生の松下です。
旅行が大好きで、国内あちこち出かけたり、海外にも何度か旅行したのですが、ここ2年ほど新型コロナウィルス感染拡大防止のため、なかなか自由に旅行ができない時期が続いてモヤモヤ……。
そこで、過去の旅行写真を見て「旅欲」を満たしているのですが、たまに写真を見ていて「あれ? ここってどこだっけ?」ということがあります。わかりやすく場所の名前が写っていればいいのですが、そうじゃないと昔の写真は詳細を忘れてしまっていることも。
そこで思いついたのが、写真に写っている建物や観光地を認識して、「ここがどこなのか」を教えてくれるAIシステムです。
……そんなAIシステムがあるのか、ですか?
あるかもしれませんが、探すのも大変です。
そこで、今回は自分で作ってみることにしました!
といっても、私はプログラミングの知識がまったくない文系大学生。そんな私でもAIシステムを簡単に作れてしまうのが、アステリア株式会社が提供するAI搭載IoT総合エッジウェア「Gravio(グラヴィオ)」なんです!
ノーコードツールなので、ソースコードを一切書かずに、AIを活用した仕組みを作れるのが特徴だとか。これは嬉しいですね!
さらにこのGravio、最新バージョンからAIによる画像推論機能がさらに強化され、プリインストールの推論モデルに加えて、オリジナルの画像推論モデルもノーコードで利用可能になったそうなんです。
あっ、ちなみに、AI画像認識の最近のトレンドとして、「クラウドAIからエッジAIへ」という流れがあるんですって。エッジAIは、端末側で解析するので(都度、通信する必要がない)、個人情報やプライバシー、機密情報の漏洩リスクも低減できるのがメリットだそう。要するにGravioなら、この「エッジAI」が簡単に実現できるんです!
というわけで、誰でも簡単にAIを活用できるGravio。さっそく挑戦してみたいと思います!
Gravioとネットワークカメラをつなぐ
まず必要なものは、Gravio Hubと呼ばれるエッジゲートウェイです。Gravioは、カメラやセンサーなどさまざまなデバイスを活用して取り込んだ情報をもとに、アクションと呼ばれるプログラムを実行するのですが、そうした情報を集約するハブとなるのがGravio Hubなのです。
今回の旅行写真認識AIは、ジャンルとしては「画像認識AI」となるので、画像を映すためのデバイス、つまりネットワークカメラを活用します。
TensorFlow Hubからダウンロードした学習済みモデルをGravioで利用
次に、「推論モデル」と呼ばれるものをダウンロードします。推論モデルは、AIの“脳”にあたります。
Gravioは最初からいくつもの推論モデルを搭載していますが、それに加えて新しいGravio(バージョン4.5)からは、Google Vision AI上でユーザーが作成したオリジナルAI推論モデル(画像分類、物体検出)もノーコードで利用可能となりました。
さらにGravioの最新バージョンは、Googleの「TensorFlow Lite Ver.1」にも対応。「TensorFlow」とは、Googleが開発した機械学習/ディープラーニングのライブラリで、「TensorFlow Hub」ではトレーニング済みのモデルが公開されています。世界中のユーザーが作成した学習済みモデルを利用できるのです。
今回は、このTensorFlow Hubにある推論モデルをダウンロードして使ってみたいと思います!
今回、使用したのは「TensorFlow Hub」にある「ランドマーク認識モデル(ヨーロッパ向け)」です。
ヨーロッパ各地の有名な観光スポットを学習した推論モデルとなっており、写真をカメラに映すだけで、その場所がどこなのかをAIが教えてくれるのです。
この推論モデルをGravioでノーコードで取り込んで、 旅行写真認識AIを作ってみます。
こんなに簡単!推論モデルの利用設定
まずはGravio HubをPCで動かすためのアプリ「Gravio Studio」をインストールします。
次に、先ほどダウンロードしたランドマーク認識モデルをGravio Studioに取り込みます。「モデルパッケージを作成」から読み込めばいいだけなので簡単です。
ランドマーク認識モデルは「画像分類」なので、そちらを選択。「モデルを配置」のボタンを押すと、推論モデルが取り込まれ、パッケージ作成がスタートします。それほど時間はかかりません。「モデルパッケージ名」は自分がわかりやすい名前をつけておきましょう。
「エリア」と「レイヤー」と「論理デバイス」の3つを設定していきます。この3つの設定だけで、簡単に推論結果をGravioで利用できるようになります。エリアはデバイスそのものを設置している場所で、レイヤーでは先ほど作成した推論モデルパッケージを、論理デバイスでは接続したカメラを選択します。レイヤーはその場所で何のAIを動作させているのか。論理デバイスはそのAIで使用しているデバイスを選択します。
今回は編集部の「オフィス」で、「ヨーロッパのランドマーク認識を行うAI」を「ネットワークカメラ」で活用するので、このように設定しました。
準備はこれだけです。ものすごく簡単!
名古屋城を認識できるのか!?
いつものようにiPadを活用して、過去の旅行の写真を見ていきます。どこなのかがパッと思い出せないときは、すかさずカメラにiPadの画面を見せてあげます!
たとえば、こちらの写真はフランス・パリのエッフェル塔。さすがにエッフェル塔は私も覚えていましたが、カメラに映してみると……。
しっかり「エッフェル塔」だと教えてくれました! すごい!
次に、こちらの大聖堂の写真はどうでしょうか。ヨーロッパの大聖堂って、似ているものが多くて、どこだったか、ぜんぜん思い出せない……。
AIが出した答えは、ドイツの「フランクフルト大聖堂」でした!
たしかに過去の旅行記録を調べると、この写真はフランクフルト大聖堂のようです。すごい! 大正解です!
ではでは、日本国内はどうでしょうか?
今度は、TensorFlow Hubにある「ランドマーク認識モデル(アジア向け)」を使ってみます。先ほどと同じようにGravio Studioで設定を行います。
まずは、これ!
日本のお城も、外観は似ているので、どこだったかわからなくなるんですよね!
AIならどうでしょうか?
ちゃんと名古屋城だと認識されました! このAIのほうが実際に訪れた私よりもずっとお城に詳しいですね(笑)。
他にも日本や海外の写真でいろいろやってみました!
ドイツの「ブランデンブルク門」! 正解! 私はドイツってことしか覚えていませんでした(笑)。
こちらはフランス・パリのカルーゼル広場ですね! すごいな〜!
こちらは、京都の渡月橋。きれいな川に橋がかかっている景色は、日本国内あちこちにあるので、あとで見ると「何橋だっけ!?」ってなりやすいんですよね。
LINEに通知がくるように設定してみた!
以上、旅行写真認識AIシステムを構築してみました。精度も高くて信頼性ばっちり! これなら、旅行の写真を見ているときにどこだかわからなくなっても、すぐ正解にたどりつけて便利ですね。
でも、もっともっと便利にしたい!
たとえば、AIが認識したランドマークの名前がLINEに通知されるような設定ができたら便利じゃないですか? 実は、GravioならそんなLINE通知設定も可能なんです!
さっそくやってみましょう。
LINEに通知するためには、LINE側での設定が必要です。まずは、PCでLINE Notifyにログインして、「アクセストークン」を取得します。
このトークンは後で使用するので、メモ帳などにペーストしておきましょう。
次にアクションと呼ばれるプログラムを設定します。Gravioには、さまざまなアクションが予めプリインストールされており、たとえばLINE以外にもSlackやTeamsに通知を送ったり、特定のタイミングでランプを光らせたり音を鳴らしたり、データをエクセルに自動で送ったりと、本当にいろいろなことをノーコードで設定することができます。工夫とアイデア次第でおもしろいアクションができるというわけです。
今回は「LINE Notify」を活用するので、アクションの一覧から選んで追加します。
アクションはこんなふうに設定しました。AIが写真に映ったランドマークを認識すると、LINEに「ここは○○です!」というメッセージが届く仕組みです。プロパティ内の「トークン」には先ほどLINE Notifyで取得したものを入力します。
また、今回はメッセージと一緒にスタンプも送ってみます。
まずは、こちらのサイトで送りたいスタンプの「パッケージID」と「スタンプID」を取得します。
送信可能なLINEスタンプリスト
https://developers.line.biz/ja/docs/messaging-api/sticker-list/
この「パッケージID」と「スタンプID」を、先ほどのプロパティに入力することで、メッセージとともにスタンプも届くようになります。
最後にトリガーの設定をします。トリガーとは「アクションが行われる条件」のことです。「エリア」「キーレイヤー」「物理デバイス」を設定し、先ほど設定したLINE通知のアクションを指定します。
これで、「AIが写真のランドマークを認識したらLINEに通知が送られるトリガー」が設定できました!
以上で設定が完了したので、LINEを見てみましょう。無事、通知が来ているでしょうか?
やったー! LINEにメッセージとスタンプの通知が届きました!
文系の大学生でも簡単にAIシステムを構築できた!
今回、Gravioを使って旅行写真に映った場所がどこなのかを判別する画像認識AIシステムを構築してみました。設定はとても簡単! プログラミングなどが必要ないので、文系大学生の私でも1人でできました。
今回と同じシステムをプログラミングを駆使して構築しようとすると、かなりの知識が必要になると思います。でもGravioならこの記事の手順通りに行えば 、誰でも簡単にAIシステムを実装できます。
ぜひ皆さんもGravioを活用して、便利なAIシステムを作ってみてくださいね。
人気記事RECOMMEND
-
ぺんてる株式会社 経営戦略室 デジタルシフト課 様 大手製造業におけるAI/IoTを活用したDXを一気に加速、ノーコードでオフィス内DXを短期間のうちに実現
-
伊藤忠テクノソリューションズが「提供すべき価値としてふさわしい」と語るAI・IoTを簡単に実装する“Gravio”とは
-
江戸時代より約400年続く老舗旅館「一の湯」、Gravio導入でDXを加速 顧客も従業員も快適な空間づくりへ
-
新GravioはAI画像推論機能がすごい!ワイン大好きライターが「ワインラベルを自動で読み取るAI」を作ってみた
-
「エッジAIの導入が加速」「ノーコード開発の重要性が高まる」AI画像認識サービス開発・利用の最新動向がわかる調査結果を無料公開