機械学習(Custom Vison)で指名手配犯を探せるか試してみた
以前、Google Cloud PlatformのCloud AutoML Visionを使って指名手配犯を探せるか試してみました。 最近Microsoft Azureを使った際に、Custom Visionという同様のサービスがあることを思い出したので、Cloud AutoML VisionとCustom Visionで結果に違いがでるのか試してみました。
目次
- Custom Visionとは?
- 学習用データ
- Custom Visionにサインイン
- Project作成
- 学習用画像のアップロード
- 学習させる
- テストする
- テスト結果について
- Cloud AutoML Visionとの差分について
- APIの利用について
- 最後に
Custom Visionとは?
引用
Azure Custom Vision は、独自の画像分類器を構築、デプロイ、改良できるようにする認識サービスです。 画像分類器は、視覚特性に基づいて画像にラベル ("クラス" を表す) を適用する AI サービスです。 Computer Vision サービスとは異なり、Custom Vision では適用するラベルをユーザーが決定できます。
誤解を恐れずに要約すると、画像をアップロードするだけで、機械学習を活用した画像の判別をすることができます。
学習用データ
学習用データは、Cloud AutoML Visionを試す際に作ったデータと同じものを使います。
機械学習(Cloud AutoML Vision)で指名手配犯を探せるか試してみた - kapieciiのブログ
Keras,TensorFlowでCloud AutoML Visionの学習用画像データを拡張した - kapieciiのブログ
Custom Visionにサインイン
Custom Vision
Custom Vision Service | Microsoft Azure
にアクセスし、「はじめる」-->「SIGN IN」します。
https://azure.microsoft.com/ja-jp/services/cognitive-services/custom-vision-service/
Project作成
Custom Visionを使うためのProjectとResource Groupを作成します。
今回は無料試用版を使います。
必要な情報を入力してProjectを作成します。
学習用画像のアップロード
Projectが作成されました。 「Add images」から学習用画像をアップロードします。
アップロードが完了しました。
同じ要領で別のタグをつけた学習用画像をアップロードします。
学習させる
アップロードした画像を元に、学習させます。
Training Typeとして「Fast Training」と「Advanced Training」が選択できます。
Advanced Trainingを選択するとTraining時間の上限を設定することができます。今回はFast Trainingで実行します。
Fast Trainingを選択した場合、Trainingはかなり早く終わります。今回合計200枚程度の画像を使ったTrainingでは、10秒-20秒くらいで学習が完了しました。
GCPのCloud AutoML Visionの場合は、全く同じ学習用データで10分程度かかっていました。実行しているTrainingの内容が異なっている可能性もあると思いますが、AzureのCustom Visionの方がかなり早い印象です。
テストする
「Quick Test」からテストをします。
「Browse local files」からテスト用の画像をアップロードします。
判定結果が表示されます。
テスト結果について
風貌が大きく変わっているものについては、間違った判定をしました。
画像が荒れていた場合でも、風貌が大きく変わっていなければ正しい判定をしました。
Cloud AutoML Visionとの差分について
Training時間と判定精度
今回はFast Trainingを選択したこともありますが、Trainingにかかる時間はCustom Visonの方が短かったです。
『3.TRANINGする』
機械学習(Cloud AutoML Vision)で指名手配犯を探せるか試してみた - kapieciiのブログ
タグ付け方法
Cloud AutoML Visionの場合は、画像を個別にタグ付けするか、zipファイルのディレクトリ名で複数の画像にタグ付けをする必要がありました。
「アップロードする画像を複数選択して、ブラウザ上から一括でタグ付け」をできるCustom Visionの方が、タグをつけるのが楽だなと感じました。
『2.学習データのアップロード』
機械学習(Cloud AutoML Vision)で指名手配犯を探せるか試してみた - kapieciiのブログ
判定精度
判定の精度については、Cloud AutoML Visionと大きな差はありませんでした。しかし、今回テストに使った画像の場合では、荒れた画像の判定で、Custom Visonの方が若干精度が高いように感じました。
APIの利用について
他の方の記事を参照していると、「Prediction URL」からAPI経由で利用するための情報が得られるらしいです。今回は「Prediction URL」のリンクが有効になっておらず、利用できないようでした。
今回は無料試験版を使っていたので、有償版ではAPIが利用できるようになるのだと思います。
最後に
custom visionは学習速度も早く、タグ付けも簡単でとても好印象でした。
自分で何か作るとなったら、API利用は必須になると思います。APIの使いやすさについてもCloud AutoML VisionとCustom Visonで比較をしてみたいなと思いました。