TPTブログ

テックポート株式会社のブログです。 技術情報や製品・サービス情報、 また未経験社員がデータサイエンティストを 目指す奮闘記など、更新していきます。

▲お手軽!画像判別してみよう【Custom Vision Service】

f:id:TBT_matsu:20200428142829p:plain
こんにちは!
テービーテックの村松です。

本日ご紹介するのはMicrosoft Azureの画像認識サービス「Custom Vision Service」です。
プログラミング?やったことないよ。
機械学習?なにそれ。
そんな方でも自分の持っている画像を学習させることで画像の分類とオブジェクト検出の機械学習モデルが作成できちゃうサービスです。

今回は画像分類を実際に試してみます。

簡単な流れ

①無料アカウントの作成
まずアカウントを持っていない方はAzure の無料アカウントを作成しましょう。
②判別したい画像を用意
今回は5種類のオブジェクトをトレーニング用に10枚ずつ、テスト用に1枚ずつ用意しました。
クイックスタートではタグごとに少なくとも30の画像を使用することを推奨しています。
③画像をアップロード&タグ付け
④トレーニング
⑤テスト

使ってみよう

1.無料アカウントの作成

既にアカウントをお持ちの方は飛ばしてくださいませ。
お持ちでない方はこちらから無料アカウントを作成しましょう。
f:id:TBT_matsu:20200428145239p:plain
!クレジットカードの登録が必要です。無料枠を使っている限り請求されるとこはありません!
※無料アカウント詳細はこちらのFAQにも詳しく載っています。

2.画像を用意

判別したい画像を用意しました。
今回は
・マフィン
・シュークリーム
・クロッカン
・プードルの顔
・干ばつのひび割れ
トレーニングとテスト合わせて11枚ずつ用意しました。
この5種類の判別を行います。

f:id:TBT_matsu:20200428151308p:plain
例:トレーニング用2種類

2.5準備

ここからはAzureでの作業になります。
先ほど作ったアカウントでログインしましょう。

一番初めと想定して、まずはリソースをAzure上で作成します。
もう色々そろってるよーって方はさらさらと飛ばしてください。

リソースの作成

「+リソースの作成」をクリック。
f:id:TBT_matsu:20200428152425p:plain
「Custom Vision」を検索。
f:id:TBT_matsu:20200428153039p:plain
「作成」をクリック。
f:id:TBT_matsu:20200428153233p:plain
名前などの各項目を埋めていってください。
入力できたら「確認および作成」をクリック。
f:id:TBT_matsu:20200428154041p:plain
確認画面で内容を確認したら「作成」をクリック。
「デプロイ完了しました」と表示されればリソース作成は完了です。

プロジェクトの作成

続きまして「Custom Vision ポータル」に移動してSign Inしてください。
f:id:TBT_matsu:20200428155323p:plain
Custom Vision プロジェクトを作成します。
f:id:TBT_matsu:20200428155504p:plain
適当な名前と説明文を入力して、リソースは先ほど作成したものを選びましょう。
今回は、
プロジェクトのタイプ→分類
分類のタイプ→マルチクラス
ドメイン→一般
とします。
ドメインの詳しいことを知りたい方はは「もっと詳しく知る」をクリックしてみてください。
f:id:TBT_matsu:20200428155801p:plain
入力できたら「プロジェクトを作成する」をクリック。

3.画像のアップロード&タグ付け

「画像を追加」もしくは左上付近にある「+」から画像をアップロードします。
画像は.JPG、.PNG、.BMP形式が対応可能です。
f:id:TBT_matsu:20200428160602p:plain
「私のタグ」に任意のタグ名を入力して、「○○件のファイルをアップロード」をクリック。
f:id:TBT_matsu:20200428161430p:plain
これを画像の種類分繰り返します。

4.トレーニング

右上に歯車のマークのボタンをクリック。
f:id:TBT_matsu:20200428162143p:plain
今回はお手軽がモットーなので「クイックトレーニング」を選択します。
ちょっと日本語訳違和感ありますが「列車」(train)をクリックすればあとは ちょこっと待つのみです。
画像の大きさ合わせたりとか、グレースケールに変換したりとか、よくわからない数学にご対面したりとか全くないんですよね。すごい。。。

さて、少し待つとトレーニングの結果が下のように表示されます。
Precision は精度、Recall は 再現率の意味ですね。
f:id:TBT_matsu:20200428163038p:plain
f:id:TBT_matsu:20200428163055p:plain
ホントかよ、って一回疑うのは私だけじゃないはず・・・。
信じるために確かめましょう。

テスト

先ほどのトレーニングの時に使った歯車ボタンの横にチェックマークのボタン「クイックテスト」がありますのでそちらをクリック。
f:id:TBT_matsu:20200428163636p:plain
今回はローカルファイルから画像を参照します。
f:id:TBT_matsu:20200428163918p:plain
まずはシュークリーム↓↓を試しにテストしてみましょう。
f:id:TBT_matsu:20200428164030j:plain
結果は・・・・
f:id:TBT_matsu:20200428164230p:plain
おおお。
結構はっきり判別してくれていますね。
因みに
プードル→プードル99,9%
マフィン→マフィン99,9%
クロッカン→クロッカン100%
干ばつ→干ばつ100%
と完璧でした・・・。
恐るべし、Custom Vision・・・。

因みに弊社社員の愛犬白いプードルちゃんの写真も拝借させてもらってテストしてみました。
f:id:TBT_matsu:20200428164916p:plain



以上、お手軽!画像判別してみよう【Custom Vision Service】でした!
いかがでしょうか?
これならこれまで機械学習に関わったことのない人でも触れそうな気がしませんか?
本当に簡単に画像判別ができる時代になったんですね。

初めての場合は準備が長く感じますが、画像をアップロードしてからトレーニングして結果が出るまであっという間です。
画像枚数が少ないとはいえ、トレーニングの時間も思っていた以上に早かったので驚きでした。
お遊び感覚からお仕事への展開まで色々なことに活用していくことができそうなコンテンツです。
他のコンテンツも今後紹介していこうと思いますのでお楽しみに。