ヤマムギ

growing hard days.

*

「はじめての Amazon Lookout for Vision ハンズオン」に参加しました

   

Amazon Lookout for Visionのハンズオンに参加しました。

Amazon Lookout for Vision

製品の欠陥検出をするAmazon Lookout for Vision。
少なくとも正常画像20枚以上、異常画像10枚以上が必要。
画像さえ用意して、学習すれば、あとは外観検査が行えると。
ソースコードを書いたり、機械学習の深い理解がなくても、自動的な欠陥検出ができるサービスとのことです。
楽しみです。

ハンズオン

ハンズオン手順

サンプル画像を用意いただいてるのでそれをダウンロードして。
Lookout for Visionの初回起動にはS3バケット作成が必要と。
バケット名は決められちゃうのですね。
できたS3バケットに、バケットポリシーとかできてるのかなと思ったら何もないデフォルトのバケットでした。

プロジェクト名をきめて作成してと。

マネジメントコンソールにナビゲートが表示されてます。
この順番で実行していくのですね。
わかりやすいですね。
まずはデータセット作成。

今回はローカルからアップロードします。
アップロードしたのがさきほどのS3バケットに保存されるんでしょうね。

20枚の画像がS3に保存されました。

画像を全部選択して、[正常として分類]しました。

次は異常として用意された画像をアップロードしました。

しみがあったり、汚れたり、ほつれてたりしているカーペットの画像です。

今度は[異常として分類]します。

正常20枚と異常10枚が揃ったので、「モデルをトレーニングするのに十分なラベル付きイメージがあります。」となりました。
[モデルをトレーニング]を押下しました。

ここから時間がかかるので、自己紹介タイムになりました。

待ってる間にS3バケットのポリシーが気になってたのでちょっとテストしてみました。

こんなポリシーでS3だけ使えないIAMユーザーでLookout For Visionでプロジェクトを作って、データセットを作ろうとしたら。

エラーになりました。
なので、操作しているIAMユーザーのポリシーによってS3バケットへのPutが行われるということですね。

そんなこんなことをしているうちにトレーニングが完了しました!

モデルを選択するとサンプルデータを使って、自動でテストされた結果が表示されます。

リコールが100%でしたので、異常が正常とされることはなかったと。
欠陥製品が正常と判断されることはなかったということですね。
安心です。

精度が83.3%で、正常な製品が2つ異常とされてしまったので、このままでは、不良品コストが増えるということになります。
なのでチューニングをしましょう。

[トライアル検出を実行]ボタンを押下しました。

トライアル用のサンプルデータを20枚アップロードしました。
10枚が異常と判断してほしい画像で、10枚が正常判断してほしい画像です。

このトライアル検出をした結果です。
10枚づつの正常、異常が正しい結果なので、まだまだ正しくないですね。

[マシン予測を検証]を押下しました。


正常、異常が正しい結果か、確認して補正します。
そして、データセットに追加してモデルを再学習しました。

こうやってモデルを賢くしていくのですね。

モデルは再学習すると上書きではなくて追加なのですね。
バージョン管理できていいですね。

このモデルを現場で実際に使う場合は、推論モデルを開始します。
そのためのコードスニペットが用意されています。

開始

実行してみました。
{
“Status”: “STARTING_HOSTING”
}

これでモデルがホスティング状態になり、推論課金がスタートします。

マネジメントコンソールで、モデル1が開始中になりました。

ホスト済になりました。

異常検出を実行するコマンドも用意されています。

結果です。
{
“DetectAnomalyResult”: {
“Source”: {
“Type”: “direct”
},
“IsAnomalous”: true,
“Confidence”: 0.6220576167106628
}
}

異常な画像をリクエストして異常と教えてくれました。

実際にはboto3とかで、画像がアップロードされるたびに検出するとかですよね。
今回勉強会で、お助けマンこばさんがPythonのコード用意していただいてたので、それを使ってローカルで実行してみました。

出力は以下でした。
Anomalous: True
Confidence: 0.6220576167106628

これ、使わないときホスティングしぱなっしにしたらコスト的にだめなやつですね。
停止忘れて放置とか最悪な未来しか見えないですね。
なのでちゃんと止めなければ!
停止するコマンドは以下でした。

停止中になりました。
{
“Status”: “STOPPING_HOSTING”
}

面白いデモなので、プロジェクトとモデルは置いておこうと思います。
トレーニングとホスティングしなければ、S3の保存料金ぐらいかなと思うので。

念のためですが、少しの間は課金状況は確認しておきましょう。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - event, study , ,

ad

ad

  関連記事

「Serverless Meetup Japan Virtual #15 – re:Cap」を視聴しました

オンラインで時間がかぶっていなかったので、はしごしました。 場所移動がないのもオ …

Developers Summit 2024「GitHub Copilotは開発者の生産性をどれだけ上げるのか? ZOZOでの全社導入とその効果」を見ました

株式会社ZOZO 技術本部 技術戦略部 CTOブロック テックリード 堀江 亮介 …

Cybozu Circus 2021で「 社長・青野のテレワーク術を大公開! 組織の一体感を高める「プロセス公開型マネジメント」って?」を見ました。

サイボウズさんのCybozu Circus 2021大阪グランフロントに行って、 …

ヤマムギ vol.8 (AWS)EC2でLinuxサーバー構築ハンズオン 手順

ヤマムギとは from Mitsuhiro Yamashita 「AWSではじめ …

「SendGrid Night in Osaka #2」でLTさせていただきました

SendGrid Night in Osaka #2でLTをしてきました。 会場 …

AlexaのSmart HomeをAWSで作る方法(Alexa Day 2019でのブログ)

以下は、気になったことのメモとか感想を書いています。 登壇者、発表者、主催企業な …

MySQL勉強会 in 大阪(第10回)に行ってきました

MySQL勉強会 in 大阪(第10回)に行ってきました。 オプティマイザー、G …

「第3回【関西ITベンチャー】開発ツール チラ見せ♡ナイト@大阪」に行ってきました

「第3回【関西ITベンチャー】開発ツール チラ見せ♡ナイト@大阪」に行ってきまし …

「JAWS-UG IoT専門支部『re:Invent 2020を味見する会』」に参加しました

本職のMTGで参加遅れちゃいましたので途中からのメモです。 運営のみなさん、発表 …

JBUG(Japan Backlog User Group) 記念すべき大阪開催の勉強会1回目に参加しました

JBUGが我らがマイタウン大阪で開催されるとのことで、お久しぶりのTAMさんにお …