AzureのCustom Visionを使ってみた

# ■はじめに
Azure初心者が兎にも角にもAzureのサービスを何か使って体験してみたいと思った人向けに書いた記事になります。当記事ではAzureアカウントの作成方法を省き、Azureサービスを簡単に体験できるCustom Visionを利用することに記載内容を絞っています。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820631/794fab1b-04f7-7af0-3859-d13cbdd48afb.jpeg" width=30%>

**Custom Visionとは**
独自の画像識別子モデルを構築、デプロイ、改良できるサービスを提供しています。Custom Visionを利用してトレーニング（学習）させることで画像判定のモデルを構築し、与えた画像が事前学習させたどのカテゴリに類似するかを判定させることができます。
今回の検証では、イチョウ（銀杏）とモミジ（紅葉）の２種類の画像を事前学習させてモデルを構築しています。
**<font color="RoyalBlue">※事前学習・テストで使用している画像は、インターネットから取得した素材を使用しているため、モザイク加工を施しております。</font>**

【学習済みのモデルにイチョウの画像を読み込ませると99.4% イチョウと判定】
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820631/00423ee4-0a6d-e0d7-7490-4c44cd6c0ef7.jpeg" width=80%>
**［手順］**
　1. AzureポータルでCustom Visionを作成
　2. Custom Visionポータルでプロジェクトを作成
　3. 学習させる画像をアップロード
　4. 学習（トレーニング） 
　5. Quick Test

# １．AzureポータルでCustom Visionを作成
AzureポータルでAzureサービス「Custom Vision」を作成する。
（すべてのサービスから「Custom Vision」を検索すると見つけやすい）
設定内容は用途に合わせて設定していく（必須項目を設定していく）。
（作成オプションは今回は「トレーニング」のみしか使わない）
「基本」タブ内の設定が完了したら、"確認と作成"を選択して、デプロイを実行する。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820631/a5872b1d-72d5-33d8-3c1a-ef496ba36696.jpeg" width=80%>
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820631/94e8fae0-6212-173c-8a4f-ff402bd2ad8c.jpeg" width=80%>

# ２．Custom Visionポータルでプロジェクトを作成
作成したリソースの詳細ページからCustom Visionポータルに移り、”NEW PROJECT”を作成する。
必須項目を設定して"Creat project"を押下する。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820631/761d4b97-f0db-4b18-a104-e3ef611ac2d8.jpeg" width=80%>
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820631/ab925fb6-30db-fe39-a82e-32937f73a246.jpeg" width=80%>
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820631/a2370492-5327-28ba-c31b-7f42ffd2adda.jpeg" width=70%>

# ３．学習させる画像をアップロード
"Add images"を押下し、学習させたい画像をカテゴリ毎にアップロードする。
ここでは学習用にイチョウの画像１０枚、モミジの画像１０枚をアップロードしている。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820631/d0668168-fb0a-aefd-79d2-210ba6d5ba25.jpeg" width=80%>
【イチョウ（銀杏）の画像をアップロード】
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820631/45427f48-e38e-5d4a-acdc-718783e606a7.jpeg" width=60%>
【モミジ（紅葉）の画像をアップロード】
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820631/04b02af4-8a1d-486c-b5d8-f5dfd1dcbd58.jpeg" width=60%>

# ４．学習（トレーニング）
学習用にアップロードした２０枚の画像を画面右上の"Train"を押下して、学習（トレーニング）させる。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820631/ad9f2af6-c48f-7d36-b795-84baccb2f46e.jpeg" width=80%>
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820631/09520abb-8af8-a260-effa-c443e1a33064.jpeg" width=80%>

# ５．Quick Test
学習（トレーニング）完了後、画面右上の"Quick Test"より学習モデルのテストを簡易に実施できる。ここでは、学習用の画像とは別の画像を使用してテストを実施している。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820631/13f6d9ce-0f92-7c36-2c86-f8e3ab98d331.jpeg" width=80%>

**TEST 1**
赤いモミジの場合（momiji判定：99.8%）
⇒正しく判定
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820631/c95aaeb1-846a-a14b-d789-5c7bab036960.jpeg" width=80%>
**TEST 2**
緑のモミジの場合（icho-判定：99.6%）
⇒正しく判定（モデルにも緑のモミジを学習済み）
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820631/7b0f3376-babc-58ef-df2f-621c8841d21d.jpeg" width=80%>
**TEST 3**
緑のイチョウの場合（icho-判定：98.6%）
⇒正しく判定（モデルにも緑のイチョウを学習済み）
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820631/95e9752b-8611-933b-af58-7b95d00b5dcb.jpeg" width=80%>
**TEST 4**
銀杏の実の場合（momiji判定：95.2%）
⇒誤った？判定（学習させていない画像に対してはもちろん判別ができない）
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2820631/2495a9d9-6522-707e-34ba-130a98e51b44.jpeg" width=80%>

# ■まとめ
・予備知識がなくても、Azureサービスの「Custom Vision」を利用できる
・リソースの作成から学習（トレーニング）時間まで５～１０分程度で完了できる