Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Amazon Lookout for Vision デモ / 20231208-aws_sem...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
kasacchiful
PRO
December 08, 2023
Programming
0
660
Amazon Lookout for Vision デモ / 20231208-aws_seminar-02-lookout-vision-demo
2023/12/08 (金)
新潟県工業技術総合研究所様にてデモンストレーションした
Amazon Lookout for Visionの参考資料
kasacchiful
PRO
December 08, 2023
Tweet
Share
More Decks by kasacchiful
See All by kasacchiful
Amazon Q Developer CLI (現Kiro CLI) で作った 新潟ランチマップWebアプリのこれまでとこれから / 20260207jawsug-tochigi
kasacchiful
PRO
0
36
Amazon SageMaker Catalogの、AIエージェントによる自動データ分類機能を試してみようとしたが、できなかったので、代わりに最近構築したデータ連携基盤を紹介します / 20260117jawsug-fukui
kasacchiful
PRO
0
35
データファイルをAWSのDWHサービスに格納する / 20251115jawsug-tochigi
kasacchiful
PRO
2
210
テーブル定義書の構造化抽出して、生成AIでDWH分析を試してみた / devio2025tokyo
kasacchiful
PRO
0
690
ワイがおすすめする新潟の食 / 20250912jasst-niigata-lt
kasacchiful
PRO
0
39
WorkersでDiscord botを試してみた / 20250822workers-tech-talk-niigata
kasacchiful
PRO
1
81
地域コミュニティへの「感謝」と「恩返し」 / 20250726jawsug-tochigi
kasacchiful
PRO
0
260
Amazon Q Developer for CLI を使って PHP Conference 新潟 2025 参加者向けにグルメサイトを構築した話 / 20250620niigata-5min-tech
kasacchiful
PRO
1
150
ワイがおすすめする新潟の食 / 20250530phpconf-niigata-eve
kasacchiful
PRO
0
480
Other Decks in Programming
See All in Programming
AI & Enginnering
codelynx
0
120
MUSUBIXとは
nahisaho
0
140
Rust 製のコードエディタ “Zed” を使ってみた
nearme_tech
PRO
0
210
CSC307 Lecture 04
javiergs
PRO
0
660
副作用をどこに置くか問題:オブジェクト指向で整理する設計判断ツリー
koxya
1
610
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
180
React 19でつくる「気持ちいいUI」- 楽観的UIのすすめ
himorishige
11
7.5k
IFSによる形状設計/デモシーンの魅力 @ 慶應大学SFC
gam0022
1
310
izumin5210のプロポーザルのネタ探し #tskaigi_msup
izumin5210
1
140
360° Signals in Angular: Signal Forms with SignalStore & Resources @ngLondon 01/2026
manfredsteyer
PRO
0
140
2026年 エンジニアリング自己学習法
yumechi
0
140
AI時代の認知負荷との向き合い方
optfit
0
170
Featured
See All Featured
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
170
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
250
For a Future-Friendly Web
brad_frost
182
10k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
170
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
110
The SEO identity crisis: Don't let AI make you average
varn
0
330
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
160
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
66
37k
Navigating Weather and Climate Data
rabernat
0
110
Faster Mobile Websites
deanohume
310
31k
GraphQLとの向き合い方2022年版
quramy
50
14k
My Coaching Mixtape
mlcsv
0
49
Transcript
Amazon Lookout for Vision デモ 2023-12-08
画像分類のデモ クッキーの割れ判別 データはAWSが公開しているサンプル を用います。
1. 画像の収集 「トレーニングデータセット」と「テストデータセット」を用意 画像はPNG形式またはJPEG形式である必要あり
2. 画像のインポート いずれかの方法で画像をインポートします。 今回はS3バケットからインポートします。 ローカルPCからインポート S3バケットからインポート 画像を含むフォルダ名を使用して画像のラベル付けが可能 Amazon SageMaker Ground
Truth マニフェストファイルをインポート
S3バケットに画像をアップロ ード S3バケットを作成します。 20231208-iri-lookout- vision-demo-kasahara とい う名前のバケットを作りまし た。
S3バケットに画像をアップロード バケットに画像をアップロードします。 以下のフォルダに分けてアップロード assets/train/normal/ assets/train/anomaly/ assets/test/normal/ assets/test/anomaly/
プロジェクトを作成 Amazon Lookout for Visionのプロジェクトを作成します。 左側メニューの「プロジェクト」から「プロジェクトを作成」をクリック プロジェクト名を適宜入力して「プロジェクトを作成」をクリック 例: 20231208-iri-lookout-vision-demo 「データセットを作成」をクリック
データセットを作成 データセットを作成の画面で以下のように設定する 「トレーニングデータセットとテストデータセットを作成する」を選択 「トレーニングデータセットの詳細」では「S3バケットからイメージをインポート する」を選択 S3 URIは以下のように設定する s3://< バケット名>/train までのフォルダパス/
例: s3://20231208-iri-lookout-vision-demo- kasahara/assets/train/ 自動ラベル付けは「フォルダ名に基づいてイメージに自動的にラベルをアタッチ」 にチェックをいれる
「データセットの詳細をテストする」では「S3バケットからイメージをインポートす る」を選択 S3 URIは以下のように設定する s3://< バケット名>/test までのフォルダパス/ 例: s3://20231208-iri-lookout-vision-demo-kasahara/assets/test/ 自動ラベル付けは「フォルダ名に基づいてイメージに自動的にラベルをアタッチ」にチ
ェックをいれる
「データセットを作成」ボタンをクリックする この時、S3バケットにまだバケットポリシーを設定してない場合は、ブラウザの別 タブで開いたS3の設定画面にてバケットポリシーを設定します。
データセットに「トレーニング」 と「テスト」の画像が登録されて いることを確認ください。
テスト用の異常画像を追加してラベル付け Amazon Lookout for Visionの画像分類では、トレーニング・テストの各分類において少なく ても10枚以上の画像が必要です。 サンプルで用意された画像は、テスト用の異常画像が8枚しか用意されていないため、追加で 2枚登録する必要があります。 今回はデモなので、トレーニング用の異常画像の中から2枚コピーして使おうと思います。
「アクション」から「テストデータセットを追加します」をクリックします。 トレーニング用の異常画像の中から2枚選択して、「画像をアップロード」をクリックし ます。 アップロードした画像はテスト用のところにあります。これらの画像を「異常として分 類」を設定します。 本来なら、テスト用にアップロードしたトレーニング用の異常画像は、トレーニング用の異 常画像から除いた状態でトレーニングすべきですが、今回はデモなので、このままトレーニ ングに使用します。
モデルのトレーニング データセットの画面から「モデルをトレーニング」ボタンをクリックします。 デフォルトのまま、「モデルをトレーニング」ボタンをクリックします。 「モデルをトレーニングしますか?」と表示されるので、「モデルをトレーニング」を クリックします。
モデルのトレーニングが始まりま した。トレーニング終了までしば らく待ちます。
モデルのトレーニングが完了しま した。
モデルの評価 トレーニングが完了したモデルのリンクをクリックします。 評価指標が表示されています。 Rekognitionより、詳細な結果が確認できます。 評価が悪い場合は、データセットの画像を増やす等の対応をしてモデルの再トレーニン グしてください。
モデルを使った推論 Amazon Lookout for Visionでは、APIサーバによる推論のほか、エッジデバイス側での推論 もサポートしています。 エッジデバイス側の推論では、AWS IoT Greengrass用のパッケージが作成されますので、 エッジデバイス側ではAWS
IoT Greengrassのライブラリを用いて推論します。 今回のデモは、APIサーバによる推論を実施します。 まず推論用のAPIサーバをAWS CLIまたはAWS SDKを使って立ち上げます。 その後、AWS CLIまたはAWS SDKを使って、画像の分類を行います。
推論用APIサーバの立ち上げ 「モデルを使用」をクリックし、「APIをクラウドに統合」をクリックします。 AWS CLIコマンドが表示されます。「モデルを開始」のCLIコマンド文字列をコピーし て、ターミナルで実行します。 aws lookoutvision start-model \ --project-name
20231208-iri-lookout-vision-demo \ --model-version 1 \ --min-inference-units 1 ## 出力結果 { "Status": "STARTING_HOSTING" }
モデルパフォーマンスメトリクスのステータスでは、「ホスティングを開始中」になっ ています。 ステータスが「ホスト済み」になるまで待ちます。 CLIでも確認できます。 aws lookoutvision describe-model \ --project-name 20231208-iri-lookout-vision-demo
\ --model-version 1
## 出力結果 { "ModelDescription": { "ModelVersion": "1", "ModelArn": "arn:aws:lookoutvision:ap-northeast-1:660035202545:model/20231208-iri-lookout-vision-demo/1", "CreationTimestamp":
"2023-12-07T13:50:39.990000+09:00", "Status": "HOSTED", "StatusMessage": "The model is running.", "Performance": { "F1Score": 1.0, "Recall": 1.0, "Precision": 1.0 }, "OutputConfig": { "S3Location": { "Bucket": "lookoutvision-ap-northeast-1-e5a7733458", "Prefix": "projects/20231208-iri-lookout-vision-demo/models/" } }, "EvaluationManifest": { "Bucket": "lookoutvision-ap-northeast-1-e5a7733458", "Key": "projects/20231208-iri-lookout-vision-demo/models/EvaluationManifest-20231208-iri-lookout-vision-demo-1.json" }, "EvaluationResult": { "Bucket": "lookoutvision-ap-northeast-1-e5a7733458", "Key": "projects/20231208-iri-lookout-vision-demo/models/EvaluationResult-20231208-iri-lookout-vision-demo-1.json" }, "EvaluationEndTimestamp": "2023-12-07T14:09:24.886000+09:00" } }
画像の分類 「モデルを使用」をクリックし、「APIをクラウドに統合」をクリックします。 AWS CLIコマンドが表示されます。「モデルを停止」のCLIコマンド文字列をコピーし て、ターミナルで実行します。 --body には、ローカルにある画像のパスを指定します。 aws lookoutvision detect-anomalies
\ --project-name 20231208-iri-lookout-vision-demo \ --model-version 1 \ --content-type image/jpeg \ --body /path/to/image.jpeg PNG画像の場合、 --content-type の値は image/png となります。
例1: aws lookoutvision detect-anomalies \ --project-name 20231208-iri-lookout-vision-demo \ --model-version 1
\ --content-type image/jpeg \ --body ./test-normal-1.jpg 結果: { "DetectAnomalyResult": { "Source": { "Type": "direct" }, "IsAnomalous": false, "Confidence": 0.9268283843994141 } }
例2: aws lookoutvision detect-anomalies \ --project-name 20231208-iri-lookout-vision-demo \ --model-version 1
\ --content-type image/jpeg \ --body ./test-anomaly-1.jpg 結果: { "DetectAnomalyResult": { "Source": { "Type": "direct" }, "IsAnomalous": true, "Confidence": 0.9038475751876831 } }
推論サーバの停止 「モデルを使用」をクリックし、「APIをクラウドに統合」をクリックします。 AWS CLIコマンドが表示されます。「モデルを停止」のCLIコマンド文字列をコピーし て、ターミナルで実行します。 aws lookoutvision stop-model \ --project-name
20231208-iri-lookout-vision-demo \ --model-version 1 ## 出力結果 { "Status": "STOPPING_HOSTING" }
ステータスが「トレーニングが完了しました」になれば、APIホスティングは終了しまし た。
参考 Getting started with Amazon Lookout for Vision - Amazon
Lookout for Vision 使用したサンプル画像