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
kasacchiful
December 08, 2023
Programming
0
650
Amazon Lookout for Vision デモ / 20231208-aws_seminar-02-lookout-vision-demo
2023/12/08 (金)
新潟県工業技術総合研究所様にてデモンストレーションした
Amazon Lookout for Visionの参考資料
kasacchiful
December 08, 2023
Tweet
Share
More Decks by kasacchiful
See All by kasacchiful
データファイルをAWSのDWHサービスに格納する / 20251115jawsug-tochigi
kasacchiful
2
170
テーブル定義書の構造化抽出して、生成AIでDWH分析を試してみた / devio2025tokyo
kasacchiful
0
600
ワイがおすすめする新潟の食 / 20250912jasst-niigata-lt
kasacchiful
0
33
WorkersでDiscord botを試してみた / 20250822workers-tech-talk-niigata
kasacchiful
1
61
地域コミュニティへの「感謝」と「恩返し」 / 20250726jawsug-tochigi
kasacchiful
0
230
Amazon Q Developer for CLI を使って PHP Conference 新潟 2025 参加者向けにグルメサイトを構築した話 / 20250620niigata-5min-tech
kasacchiful
1
130
ワイがおすすめする新潟の食 / 20250530phpconf-niigata-eve
kasacchiful
0
460
生成AIでメタデータを生成してみた / 20250525generate-metadata-using-generative-ai
kasacchiful
0
140
Strands Agents SDK で AIエージェント作成 を試してみた / 20250525strands-agents
kasacchiful
0
440
Other Decks in Programming
See All in Programming
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
3
630
Giselleで作るAI QAアシスタント 〜 Pull Requestレビューに継続的QAを
codenote
0
300
実はマルチモーダルだった。ブラウザの組み込みAI🧠でWebの未来を感じてみよう #jsfes #gemini
n0bisuke2
3
1.3k
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
6
4k
ゲームの物理 剛体編
fadis
0
380
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
430
LLM Çağında Backend Olmak: 10 Milyon Prompt'u Milisaniyede Sorgulamak
selcukusta
0
140
ELYZA_Findy AI Engineering Summit登壇資料_AIコーディング時代に「ちゃんと」やること_toB LLMプロダクト開発舞台裏_20251216
elyza
2
660
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
5
1.3k
Tinkerbellから学ぶ、Podで DHCPをリッスンする手法
tomokon
0
150
AI Agent Dojo #4: watsonx Orchestrate ADK体験
oniak3ibm
PRO
0
110
Basic Architectures
denyspoltorak
0
130
Featured
See All Featured
The Limits of Empathy - UXLibs8
cassininazir
1
190
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.2k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
74
What does AI have to do with Human Rights?
axbom
PRO
0
1.9k
Ruling the World: When Life Gets Gamed
codingconduct
0
100
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
980
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
57
41k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
67
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Building AI with AI
inesmontani
PRO
1
580
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 使用したサンプル画像