こんにちは、Takaです。
今回は、Azure が提供する Custom Vision について株式会社キカガクのトレーニングを受けたので、その内容を元に Custom Vision についてまとめようと思います。
キカガクは Udemy でも AI コースを提供している AI・機械学習に関する教育・人材育成・コンサルティングを行う会社です。僕が受けたトレーニングは代表取締役社長の吉崎 亮介さんが講師を務めており、新規事業における AI の活用で理解しておくべき概念や Custom Visionと Azure ML Studio のハンズオンでしたがとても勉強になりました。
what you learn
Microsoft Cognitive Service は、画像や音声を認識する機械学習モデルを Web API として提供しています。機械学習を導入する上で困難な教師データの準備やモデルの構築をせず利用できることが最大のメリットです。Custom Vision はこの Cognitive Service の1つですが、画像の分類とオブジェクトの検出に特化した API です。
引用元:Microsoft Custom Vision Service
今回のトレーニングでは、キカガクが事前用意している犬と猫の画像を読み込んで教師データとし、その後猫や犬、もしくは関係のない画像をテストすることで、画像を分類するという処理を行います。
まずは Custom Vision をリソースとして Azure 上で作成しましょう。もし Azure 無料アカウントを持っていない場合は、MacでWindowsを使うの記事をご参考ください。まずは、「+リソースの作成」で新しいリソースを作成します。”Custom Vision” を検索しましょう。
見つかったら「作成」ボタンをクリックします。
名前などを任意で入力します。Prediction や Training の価格で使われる tier は F0 にしておきます。「作成」をクリックしましょう。
作成に時間はかからないので、すぐできると思います。作成した Custom Vision をクリックして、「Custom Vision ポータル」をクリックします。
「Sign In」をクリックします。
チェックをいれて「I agree」をクリックします。
これで Custom Vision のポータルにアクセスできました。
「NEW PROJECT」をクリックします。
詳細を入力します。「Project Types」では、写真の分類を行うので “Classification” 「Classification Types」では “Multiclass” を選択します。「Domain」は “General” にします。「Create project」をクリックしましょう。
「Add images」で画像をアップロードしていきます。トレーニングではキカガクさんが提供している猫と犬の画像データをアップロードしました。
※もし自身で試すのであれば、事前に猫や犬の画面を用意して利用してみてください。マイクロソフトの公式ドキュメント「Custom Vision で分類子を構築する方法」を読むと、最低 30 枚の画像が必要と記載されています。
アップロードしたら「My Tags」でタグをつけましょう。ここでは “ネコ” としました。
アップロードが完了したら、+ボタンで今度はイヌの画像をアップロードしましょう。
「My Tags」は “イヌ” としました。
アップロードした画像データをもとに、Cognitive Service のモデルをトレーニングします。画面上の緑のボタンで「Train」をクリックします。
すると、訓練の結果が表示されます。Precision は精度、Recall は 再現率を表していますが、99.2% の精度で「イヌ」か「ネコ」かを判断できるようになりました。
トレーニングされて精度が上がったモデルを実際に使ってみましょう。例えば、ジブリの “猫バス” の画像を検索してみて、画像をローカルにダウンロードします。
引用元:「ネコバス」の画像をひたすら集めてみた(NAVER)
「Quick Test」をクリックして、先ほどの “猫バス” をテストしてみました。
おぉ!!猫バスは 96.1% ネコとして判断されました。すごい!
その他にも、トラをテストしてみると。
画像引用元:ウィキペディア(Wikipedia) 「トラ」
やっぱりトラはネコ科だもんね。そうだよね。
自分はどうかな?
99% ネコ…もうネコですよ(笑)これはおもしろいなぁ~。他にもいろいろな画像をアップロードしてテストしてみるといいですね。
これは結構高度なので、公式ページのリンクだけ載せておきます。Visual Studio で C# のアプリケーションに 予測 API の使用に記載があるコードを貼り付けて使うことでCustom Vision のプロジェクトにアクセスすることもできるようです。ここでは試してみませんが、もし気になる方はサイトをみて動作確認してみてください。
今回のトレーニングでは Custom Vision 以外にも Azure ML Studio を使って賃料予想も行いましたが、ML Studio についてはまた別の機会に書こうと思います。
今回講師をしていただいた吉崎 亮介さんのおかげで Custom Vision に触れることができました。キカガクの Udemy コースも受講してみようと思います。
それでは、今回はここまで!