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で 筆跡鑑定してみた
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
nakamura.shogo
August 05, 2022
Programming
15k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Amazon Lookout for Visionで 筆跡鑑定してみた
nakamura.shogo
August 05, 2022
More Decks by nakamura.shogo
See All by nakamura.shogo
AIF勉強会
cmnakamurashogo
2
11k
生成AI時代に必要な検索とレコメンドをざっくり抑える
cmnakamurashogo
0
1.4k
実践AI/ML ~よくあるユースケースとレコメンデーションの効果的な活用戦略~
cmnakamurashogo
0
1.8k
re:Invent 2023 機械学習、アナリティクス系 "推し" アップデート紹介
cmnakamurashogo
0
4.7k
脱ブラックボックス化!LLMと一緒に使われるLangChainやLlamaIndexを徹底解説
cmnakamurashogo
10
15k
Other Decks in Programming
See All in Programming
作るコストが小さくなった時代 幸せに働くために改めて考えたいこと 〜エンジニアとして価値を出し続けるために注視している二分野〜
yuppeeng
0
190
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
0
130
<title><a id="</title>君はこのHTMLをパースできるか"></a></title> #雑LT_study
pizzacat83
0
140
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
300
torikago - Ruby::Boxで照らすモジュラモノリスの実行境界
se4weed
1
350
PostgreSQL 18で考えるUUID主キー
kazuhiro1982
0
460
yield再入門 #phpcon
o0h
PRO
0
980
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
4.1k
【やさしく解説 設計編・中級 #4】ルールの寿命と、システムの年輪
panda728
PRO
2
180
S3 を使うアプリケーションをローカル完結で動かすことに全力を注いでみた / Running S3 Apps Offline
contour_gara
0
400
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
210
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
590
Featured
See All Featured
Utilizing Notion as your number one productivity tool
mfonobong
4
520
How STYLIGHT went responsive
nonsquared
100
6.2k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
66
57k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Bash Introduction
62gerente
615
220k
It's Worth the Effort
3n
188
29k
GitHub's CSS Performance
jonrohan
1033
470k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Why Our Code Smells
bkeepers
PRO
340
58k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Transcript
Amazon Lookout for Visionで 筆跡鑑定してみた 2022-08-04(木) データアナリティクス事業本部 中村 1
◆nakamura.shogo ◆2022年2月入社 ◆データアナリティクス事業本部機械学習チーム所属 ◆やっていること: 機械学習案件の分析・環境構築、論文読み 最近読んだ論文はYOLOv7で、ブログにもしてます https://dev.classmethod.jp/articles/yolov7-train-with-customize-dataset/ https://dev.classmethod.jp/articles/yolov7-architecture-overall/ 2 自己紹介
◆Amazon Lookout for Visionとは ・概要と主なフロー ◆自作データセットでの検証 ・署名を私自身かそれ以外かを判定するタスク ◆その他補足情報 ・検証を進める中で気づいた点などなど 3
今日のお話
4 Amazon Lookout for Visionとは
◆Amazon Lookoutシリーズの一つ ◆どんなものか? ・画像の異常検知ができるマネージドサービス ・一連の作業がマネジメントコンソール上で可能 ・データ準備(ラベル付け)⇒学習⇒推論⇒再学習 ◆対応リージョン ・us-east-1, us-east-2, us-west-2
・ap-northeast-1, ap-northeast-2 ・eu-central-1, eu-west-1 5 Amazon Lookout for Visionとは
◆フロー ・リージョンで初回使用時のみコンソールバケットを作成 ・プロジェクト作成 ・プロジェクトにデータセットを作成し、画像をアップロード ・データはコンソールバケットに保存 projects/<project-name>/assets/images/<unixtime>/*.jpg ・ラベル付けを実行(GUIで作業可能) ・この時点では、ラベル付け結果は保存されない ・トレーニング実行 ・結果がコンソールバケットに保存(結果ログのみ)
projects/<project-name>/models/EvaluationManifest-<project-name>-<version>.json projects/<project-name>/models/EvaluationResult-<project-name>-<version>.json 6 Amazon Lookout for Visionとは コンソールバケット作成 プロジェクト作成 データセット作成 画像データのアップロード ラベル付け トレーニング実行 トライアル推論 推論結果の検証(ラベル付け)
◆フロー ・トライアル推論(バッチ推論) ・結果はコンソールバケットに保存 projects/<project-name>/assets/images/<unixtime>/*.jpg projects/<project-name>/trial-detections/TrialDetectionInputManifest-<project-name>-<task-name>.manifest projects/<project-name>/trial-detections/TrialDetectionManifest-<task-name>.json ・推論結果の検証(ラベル付け) ・チェック結果はコンソールバケットに保存 projects/<project-name>/trial-detections/patches/<unixtime>/patch.manifest
・チェック済のデータは次回のトレーニングに 自動的に使用される 7 Amazon Lookout for Visionとは コンソールバケット作成 プロジェクト作成 データセット作成 画像データのアップロード ラベル付け トレーニング実行 トライアル推論 推論結果の検証(ラベル付け)
◆その他の機能 ・推論エンドポイント ・エッジ推論 AWS IoT Greengrassによりエッジへのデプロイが可能(今回は使用しないため詳細略) ◆費用(S3の費用を除く) ・トレーニング計算時間 ・推論エンドポイント ・エッジ推論ユニット
◆手っ取り早くやってみたい場合 ・公式で回路基盤のデータセットがある ・train, testともに40枚(正常:20, 異常:20)のデータ https://github.com/aws-samples/amazon-lookout-for-vision/tree/main/circuitboard 8 Amazon Lookout for Visionとは コンソールバケット作成 プロジェクト作成 データセット作成 画像データのアップロード ラベル付け トレーニング実行 トライアル推論 推論結果の検証(ラベル付け)
9 自作データセットで検証
◆必要な最低限データ数の把握 ・データセット構成により必要数が異なる ・全てのデータはの同一解像度である必要がある ・最小解像度は64x64、最大解像度は4096x4096。 10 自作データセットでの検証 データセットの構成 正例 負例 単一データセット
train ≧20 ≧10 複数データセット train ≧10 条件なし test ≧10 ≧10
◆「中村」を書いたデータを収集 ・1枚の紙に中村を何回か書いてもらった ・所感 ・本人が書いても結構ばらつきがある ・撮影データを切り出す場合の位置が悩み ・位置やサイズ調整、色調整などの前処理が必要な印象 11 自作データセットでの検証
◆前処理の実施 ・文字位置の検出(OpenCVでの輪郭検出) ・輪郭が同じサイズとなるようにリサイズ ・グレースケール化 ・コントラスト調整(Min-max正規化) 12 自作データセットでの検証 【詳細は弊社ブログに公開】 【機械学習の前処理】 OpenCVを使って文字位置を切り
出して色調整してみた https://dev.classmethod.jp/articles/opencv-preprocess- for-ml-training/
◆今回のデータセットの集計結果 ・複数データセット(train/test)の構成を使用 ・推論テスト用に未使用データを一部残す(test2と呼ぶ) 13 自作データセットでの検証 正例 負例 train 20 24
test 10 14 test2(未使用データ) 10 13 合計 40 51
14 さて、結果は…?
◆学習結果 ⇒test2の結果を見る限りある程度分類できていそう ・評価指標はいつものprecision/recall recall:「全部拾えたんだっけ?」 precision:「テキトーなこと言ってないよね?」 ・正規化ありなしで比較してみた ・testは100%の性能になるため、学習時に多少参照されていそう(完全なOPENではない) ・test2を見ると正規化ありのほうがバランスが良い(ただし試行毎に結果が変わる) 15 自作データセットでの検証 使用したデータ⇒ test
precision test recall test2 precision test2 recall 正規化なし 100%(14/14) 100%(14/14) 100%(7/7) 53.8%(7/13) 正規化あり(Minmax) 100%(14/14) 100%(14/14) 81.8%(9/11) 69.2%(9/13)
16 その他補足情報
◆学習時間について ・今回のデータセット規模では、学習時間は1時間以内に収まる傾向 ・データセット規模に依存するかどうかは未検証 ・数十オーダーでデータ規模を増やしても学習時間に変化なし ◆トライアル推論(バッチ推論)の検証 ・マネコンで推論結果を検証可能 ・検証済みのサンプルが自動でデータセットに組み込まれるため注意が必要 ・検証済みデータは推論結果も上書きされる 17 その他補足情報
◆再現性について ・同じデータセットでもトレーニング結果は異なる ・正確な性能比較を実施するには試行が必要 ◆位置ずれへの頑健性 ・画像の異常検知モデルは一般的に位置ずれに弱い可能性 (PaDiMなども位置ずれに弱い) ・前処理やデータ取得時にある程度先読みして考慮が必要 18 その他補足情報
◆AWS CLIでの構築 ・AWS CLIのAPIはとてもシンプル ・Manifestファイル(JSON)等を手動で作成が必要 ◆Lookout for Vision専用のSDKについて ・「pip install
lookoutvision」でインストール可能 ・コードはAWS CLIで構築する際の参考の実装にすることも可能 19 その他補足情報
◆Amazon Lookout for Visionの新機能 ・2022-07-29頃のアップデートでセグメンテーションモデルに対応 ・セグメンテーションモデルの場合、異常の種類にも対応 ・マネコン上でも、上記のアノテーションが可能となっている ・新しいデータセットとして「toy aliens dataset」が公開されている
20 その他補足情報 【アップデート】 https://aws.amazon.com/jp/about-aws/whats-new/2 022/07/amazon-lookout-vision-anomaly-localization- cpu-inference-edge/ 【上記に関するAWSブログ】 https://aws.amazon.com/jp/blogs/machine-learning/i dentify-the-location-of-anomalies-using-amazon-loo kout-for-vision-at-the-edge-without-using-a-gpu/
21 ぜひお試しください! おしまい