kapieciiのブログ

日々学んだことを残しておくためのブログです。このブログはGoogle Analyticsを利用しています。

機械学習(Custom Vison)で指名手配犯を探せるか試してみた

f:id:kapiecii:20190816115636p:plain

kapiecii.hatenablog.com

以前、Google Cloud PlatformのCloud AutoML Visionを使って指名手配犯を探せるか試してみました。 最近Microsoft Azureを使った際に、Custom Visionという同様のサービスがあることを思い出したので、Cloud AutoML VisionとCustom Visionで結果に違いがでるのか試してみました。

目次

Custom Visionとは?

azure.microsoft.com

docs.microsoft.com

引用

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/

f:id:kapiecii:20190816111917p:plain

Project作成

Custom Visionを使うためのProjectとResource Groupを作成します。

f:id:kapiecii:20190816112040p:plain

今回は無料試用版を使います。

f:id:kapiecii:20190816112107p:plain

必要な情報を入力してProjectを作成します。

f:id:kapiecii:20190816112734p:plain

学習用画像のアップロード

Projectが作成されました。 「Add images」から学習用画像をアップロードします。

f:id:kapiecii:20190816112855p:plain

f:id:kapiecii:20190816112928p:plain

アップロードが完了しました。

f:id:kapiecii:20190816112956p:plain

同じ要領で別のタグをつけた学習用画像をアップロードします。

学習させる

アップロードした画像を元に、学習させます。

f:id:kapiecii:20190816113050p:plain

Training Typeとして「Fast Training」と「Advanced Training」が選択できます。

f:id:kapiecii:20190816113124p:plain

Advanced Trainingを選択するとTraining時間の上限を設定することができます。今回はFast Trainingで実行します。

f:id:kapiecii:20190816113211p:plain

Fast Trainingを選択した場合、Trainingはかなり早く終わります。今回合計200枚程度の画像を使ったTrainingでは、10秒-20秒くらいで学習が完了しました。

GCPのCloud AutoML Visionの場合は、全く同じ学習用データで10分程度かかっていました。実行しているTrainingの内容が異なっている可能性もあると思いますが、AzureのCustom Visionの方がかなり早い印象です。

テストする

「Quick Test」からテストをします。

f:id:kapiecii:20190816113403p:plain

「Browse local files」からテスト用の画像をアップロードします。

f:id:kapiecii:20190816113431p:plain

判定結果が表示されます。

f:id:kapiecii:20190816113528p:plain

テスト結果について

風貌が大きく変わっているものについては、間違った判定をしました。
画像が荒れていた場合でも、風貌が大きく変わっていなければ正しい判定をしました。

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が利用できるようになるのだと思います。

f:id:kapiecii:20190816113700p:plain

最後に

custom visionは学習速度も早く、タグ付けも簡単でとても好印象でした。
自分で何か作るとなったら、API利用は必須になると思います。APIの使いやすさについてもCloud AutoML VisionとCustom Visonで比較をしてみたいなと思いました。

kapieciiのブログについてお問い合わせがある場合、下記のフォームからご連絡をお願い致します。
お問い合わせはこちら