Windows10 InsiderPreview Build 17110以降にはWindowsMLという機能が搭載されました。
これはAIモデル(onnx形式に対応)を使用するための実行環境です。
今回はCustom Vision Seviceを使ってAIモデル(野菜の判別)を作成し、出力したモデルを使って野菜をリアルタイムで認識するUWPアプリを作成してみます。
##今回開発に使った環境
・Windows10 Pro Insider Preview Build 17110以降(Hyper-V上にVM環境を用意)
・Windows10 SDK Insider Preview 17110以降(こちらからダウンロード)
・VisualStudio 2017 Community
・Python2.7 or Python 3.6
・Azure サブスクリプション
・Windows10 IoT Core Insider Preview 17110以降 + RaspberryPi3
・Webカメラ
・学習に使う画像(1種類毎に5枚以上、サイズは6MBまで、プロジェクト毎に5000枚まで)
##参考
こちらのブログの記事を参考にさせてもらいました。
[Mike Taulty : First Experiment with Image Classification on Windows ML from UWP]
(https://mtaulty.com/2018/03/11/first-experiment-with-image-classification-on-windows-ml-from-uwp/)
サイトオーナーは MS UK のエンジニアさんみたいです。
公式ドキュメント
https://docs.microsoft.com/en-us/windows/uwp/machine-learning/
##Custom Vison ServiceでAIモデルを作成する
・Custom VisonサイトからSIGN INします。
・Name欄にはプロジェクト名を入力します。(半角英数の方がトラブルが少ないと思います。)
Domainsは「General (compact)」を選択します。
「Create project」ボタンをクリックするとプロジェクトが作成されます。
・「Browse local files」をクリックしてトレーニング用の画像ファイルをアップロードします。今回は種類ごとに20枚の画像を準備しました。
・「My Tags」にタグ名(ラベル)を入力してまとめてアップロードできます。
(種類ごとにフォルダに分けておいてアップロードするのがいいでしょう)
・アップロードが完了して「Done」をクリックします。種類ごとに繰り返してアップロードします。
・アップロードが完了したら緑色の「Train」をクリックします。
・トレーニングが完了すると下記のような画面に変わります。「Quick Test」をクリックしてトレーニングの結果を試してみます。
・「Browse local file」をクリックして、トレーニングでは使っていない画像(4MBまで)を選択します。
・Predicions欄にテスト画像を推定したタグ一覧がパーセント表示されます。
・これでAIモデルが完成しました。「Export」をクリックしてモデルを出力します。
・再び「Export」をクリックして、プラットフォームの「iOS」を選択すると「Download」ボタンが
表示されるので、それをクリックしてモデルファイルをローカルにダウンロードします。
以上でCustom Visonで作成したAIモデルを出力できました。
次は作成したモデルをonnxに変換して、UWPアプリで使用してみます。
Custom Vision Serviceから出力したモデルを使ってWindowsML上で物体認識をする(その2 モデルデータの変換とクラスの生成)に続きます。
WindowsMLネタ一番乗りだけど、結局Custom Vision Serviceの使い方になっちゃった・・・
次はちゃんとWindowsML出てきます。