写真の中から楽々オブジェクト検出 15分でできるCustom Vision

はじめに
Custom Visionを用いて、オブジェクト検出を行った件のまとめです。 最終的な目標は画像1枚入力したら、写真の中のフォークとはさみを認識することです。
データの入手
ここから学習データなどを入手しておきます。
git clone https://github.com/Azure-Samples/cognitive-services-node-sdk-samples.git
Custom Visionでの学習
1. このページにアクセスし、「NEW PROJECT」をクリック

2. 以下のように入力し、「Create project」をクリック

しばらくすると、以下の画面に遷移します。

3. 「Add images」から複数の画像を追加
指示に従って進めると、以下のように追加した画像が表示されます。

4. 画像をクリックして検知したい画像を四角で囲うようにドラッグ&ドロップしてタグ付け


ちなみに初めからフォークの上にオンマウスすると、オブジェクト検知した結果が点線であらわされるので、これをクリック&調整してタグ付けする方法もあります。


以下のように15個ずつフォークとはさみを登録します。

15個に満たない場合、学習時に以下のようなエラーがでます。

5. 右上の「Train」をクリックし、「Fast Training」を行う

すると、以下のような画面に遷移します。

3分ほどで以下のようにPrecision、Recall、mAPが表示されます。

Custom Visionでのテスト
右上の「Quick Test」をクリックし、テスト画像をアップロードします。

すぐに以下のようにオブジェクト検出した結果が返ってきます。

まだまだ精度はいまいちなようです。


右下のPredicted Object Filterのスライドバーを弄ると、オブジェクトの確率を絞っていけます。

また、「Predict」タブをクリックすると、今までのテストの結果を見ることができます。

おわりに
Custom Visionを用いて、写真の中のフォークとはさみを認識させました。
次回はCustom Visionにプログラムで学習データを一括登録したいと思います。