Loading
BLOG 開発者ブログ

2018年12月14日

Cloud AutoML Visionで超簡単に独自の画像認識モデルを作成してみた!

Google Cloud AutoML Visionのベータ板がリリースされたので、
どれほど簡単に独自の画像認識モデルを作成することができるか試してみました!

 


この記事は アイソルート Advent Calendar 14日目の記事です。

こんにちは!
モバイルソリューショングループのkobayashi.rです。

 

はじめに


 

Google Cloud AutoML Vision とは、
機械学習の知識がなくても独自の画像認識モデル作成、検証を行うことのできるサービスです。

Googleでは、今まで画像認識のサービスとして、Google Cloud Vision APIというものがありました。
Vision APIではGoogle が提供している画像認識モデルを利用して画像認識を行なっていたので、
例えば顔写真を読み込ませた場合、「人」「男」「女」などは分かっても、その人の名前は分かりませんでした。

しかし、AutoML Visionでは、上記の場合に名前を認識するモデルの作成が可能です。
今回はAutoML Visionを使用して、私の画像を読み込ませると「kobayashi」と分かる画像認識モデルを作成していきます。

 

1.準備


 

GCPコンソール上でCloud AutoML API を有効にします。

左上のメニューから、Visionを選択します。

以下の画面に遷移するので、プロジェクトIDを選択すると、設定画面に遷移します。

※https://beta-dot-custom-vision.appspot.com/vision/?project=(プロジェクトID名)
でも同じ画面が開きます。

上記画面で「SET UP NOW」 をクリックしてしばらく待つと、以下の画面が表示されます。

「NEW DATASET」からデータセットを作成します。(データセット=モデルと考えてください)
データセットの名前を入力し、画像は後からアップロードするのでImport image laterを選択し、
「CREATE DATASET」をクリックします。

以下の画面が表示されたら準備完了です!

 

2.画像のアップロード


 

それでは、画像をアップロードしていきます!
今回はPCから個別の画像ファイルをアップロードして、1枚ずつラベル付けしていきますが、
zipファイルでアップロードすることも可能です。
zipファイルをアップロードする場合、ファイル内のフォルダ名がラベルとして使用されます。

 

今回は私を識別するモデルを作成するので、私の写真をアップロードしていきます。
ラベル付けに必要な画像は最低で10枚なので、今回は30枚の画像をアップロードします。
(精度を上げるためには100枚以上の登録をした方が良いみたいです。)

精度を上げるために別の日本人女性の画像も適当に30枚アップロードします。

 

3.ラベル付け


 

先ほどアップロードした画像にラベル付けをしていきます!

まず左側の「ADD LABEL」をクリックし、ラベルを作成します。
今回は「kobayashi」「other」のラベルを作成しました。

ラベルの作成が完了したら、画像にラベルを付けていきます。
(全選択しかできないのでラベルごとに該当しない画像のチェックを外すのが結構めんどくさかったです。。。zipファイルでアップロードした方が良いですね)

さて、全ての画像のラベル付けが完了したらモデルを作成しましょう!

 

4.モデル作成


「TRAIN」タブをクリックすると、以下の画面が表示されます。
(100枚以上画像入れろって言われてますね。。。)

「START TRAINING」をクリックし、確認のダイアログでも「START TRAINING」をクリックすると、
モデルの作成が始まります。

AutoML Visionでは、このトレーニングの時間とこの後の検証の回数によって料金が発生します。
モデルごとに最初の1時間が無料となっています。
詳しくはこちら→Cloud AutoML vision 料金

今回は60枚と画像が少なかったので、5〜6分で完了しました。

 

5.検証


 

モデル作成が完成したら実際に作成したモデルを使用して画像分析を行ってみましょう!

「PREDICT」タブを選択し、「UPLOAD IMAGES」から検証する画像を読み込ませます。


以下、今回作成したモデルの検証結果になります。


①私が大きめに映った写真


kobayashi : 1.00(100%)

other : 0.00(0%)

→ちゃんと認識されていますね!



②私が中くらいに映った写真


kobayashi : 0.473(47.3%)

other : 0.527(52.7%)

→あまり私と認識されませんでした、、、



③私が小さめに映った写真


kobayashi : 0.788(78.8%)

other : 0.212(21.2%)

→認識されましたね!

上記と比べて大きさは関係なさそうですね



④私以外の女性の写真


kobayashi : 0.000(0%)

other : 1.000(100%)

→ちゃんとotherが100%になっていますね!



他にも何枚か試してみましたが、私以外の人はほぼother100%でしたが、
私の画像は何枚か認識されないものもありました、、、
やっぱり精度を出すにはもっと画像を登録しないといけないみたいですね!

先ほども言いましたがAutoML visionではこちらの検証回数によっても料金がかかります。
毎月1,000枚までの画像については無料ですので、あまり検証しすぎないように注意しましょう!
詳しくはこちら→Cloud AutoML vision 料金

 

最後に


 

本当に機械学習の知識なしで、簡単に独自の画像認識モデルが作成できましたね!
今回はかなり少ない枚数の画像だったので、認識にブレはありましたが、100枚単位でラベル付けを行なえば、とても実用的だと思いました。

AutoML visionは、実際にブランドの識別や建築物の属性の識別などに利用されています。

今まで機械学習の知識の習得にかかっていたコストがなくなるので、
今後は、このようなサービスを利用して何を作っていくかを考えていかないとですね。。。!

 

明日はokawa.mさんのVue.jsアプリをIP制限とBasic認証つけてFirebaseにHostingするです、よろしくお願いします。