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
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
10k
生成AI時代に必要な検索とレコメンドをざっくり抑える
cmnakamurashogo
0
1.4k
実践AI/ML ~よくあるユースケースとレコメンデーションの効果的な活用戦略~
cmnakamurashogo
0
1.6k
re:Invent 2023 機械学習、アナリティクス系 "推し" アップデート紹介
cmnakamurashogo
0
4.6k
脱ブラックボックス化!LLMと一緒に使われるLangChainやLlamaIndexを徹底解説
cmnakamurashogo
10
15k
Other Decks in Programming
See All in Programming
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
570
Contextとはなにか
chiroruxx
1
360
Spring Security 実践 ─ GraphQL APIで実務に役立つ 認証・認可 を学ぶ
wagyu
0
250
JavaDoc 再入門
nagise
1
380
Vite+ Unified Toolchain for the Web
naokihaba
0
330
過去最大のMCPアップデート! 2026-07-28 RC版の謎に迫る
licux
6
380
A2UI という光を覗いてみる
satohjohn
1
140
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
170
AIだと陥りがちなJakarta EE最新技術への移行時の落とし穴と解決策
tnagao7
0
120
DynamoDBには集計系のクエリがないけどなんとかしたい
musan
1
180
Language Server 使ってる? 〜VSCode と Zed の場合〜 / Are you using a Language Server? ~For VS Code and Zed~
handlename
0
800
技術的負債解消で開発者の未来を開く- AIの力でコード刷新
kmd2kmd
0
110
Featured
See All Featured
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
210
Thoughts on Productivity
jonyablonski
76
5.2k
The Pragmatic Product Professional
lauravandoore
37
7.3k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
540
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
We Are The Robots
honzajavorek
0
250
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
220
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
The Language of Interfaces
destraynor
162
27k
How to Ace a Technical Interview
jacobian
281
24k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
430
Abbi's Birthday
coloredviolet
3
8.2k
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 ぜひお試しください! おしまい