Amazon Lookout for Visionで異常検出 その1

はじめに

Amazon AI by ナレコム アドベントカレンダー 2020の13日目の記事です。
Amazon Lookout for Visionは、画像から欠陥のある製品を検出する新しいMLサービスになります。
早速使ってみましょう!

導入

1.MVTEC ANOMALY DETECTION DATASETを用います。Capsule (385 MB)をダウンロードしてください。

2.AWS Consoleを開き、「Amazon Lookout for Vision」を検索し、開始方法をクリックします。
image.png

3.初回セットアップでは、S3にバケットを作成します。
image.png

4.ダッシュボードを開いたら、プロジェクトを作成します。
image.png

5.プロジェクト名を適当に入力し、プロジェクトを作成します。
image.png

6.まずは、データセットを作成しましょう。
image.png

7.「1つのデータセットを作成する」を選択、
image.png

8.「コンピュータからイメージをアップロードする」を選択し、データセットを作成します。
image.png

9.イメージを追加します。最低でも10枚の異常イメージと、20枚の正常イメージが必要みたいです。
image.png

10.30個まで一度にアップロードできます。
image.png

11.画像を確認したらアップロードしましょう。capsule\train\goodから欠陥のない画像を30枚アップロードしました。
image.png

12.アップロードしたら、ラベルを追加します。
image.png

13.画像を選んで、Normal(正常)かAnomaly(異常)に分類します。30枚はすべて正常に分類します。
image.png

14.右上のアクションからトレーニングデータセットにイメージを追加していきます。
image.png

15.capsule\test\scratchフォルダから欠陥のある画像を11枚アップロードしました。
image.png

16.11枚を異常に分類します。
image.png

17.30枚の正常な画像と11枚の異常な画像のトレーニングデータが集まったので、モデルをトレーニングします。
image.png

18.モデルをトレーニングします。
image.png

19.確認事項が表示されますが、モデルをトレーニングします。
image.png

20.トレーニングが進行しています。
image.png

21.40分ほどでトレーニングが完了しました。スコアは90.9%となっています。
image.png

22.約半数(21枚)テストされ、11枚正常と予測したもののうち1枚が不正解、10枚異常として予測したもののうち1枚が不正解となりました。
image.png

image.png image.png image.png image.png

23.トライアル検出では、作ったモデルのテストを行うことができます。
image.png

24.タスク名を入力し、「モデル1」を選択、「コンピュータからイメージをアップロードする」を選択、
image.png

25.「異常を検出」をクリックします。
image.png

26.確認事項が表示されるので、「トライアル検出を実行」をクリックします。
image.png

27.30個まで画像をアップロードします。capsule\test\crackから10枚アップロードしました。すべて異常となる必要があります。(crackは学習していないため期待はできません。)
image.png

28.8割異常と予測されました。なかなか優秀ではないでしょうか。
image.png

image.png image.png
image.png image.png

29.「マシン予測を検証」から結果が正しいか誤りかを教えてあげましょう。今回はすべて異常でないといけません。
image.png

30.検証済みイメージをデータセットに追加します。
image.png

31.データセットに移動したら、検証済みイメージが追加されているので、再学習することができます。
image.png

まとめ

Amazon Lookout for Visionを用いて、カプセルの欠陥検出を行いました。このサービスを利用することで、簡単に学習・評価・改善のサイクルをまわせますね。
作ったモデルは、AWS SDKまたはCLIから使えるようです。これはまた次回ご紹介したいと思います。
お疲れ様でした。

参考