Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
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
11k
生成AI時代に必要な検索とレコメンドをざっくり抑える
cmnakamurashogo
0
1.5k
実践AI/ML ~よくあるユースケースとレコメンデーションの効果的な活用戦略~
cmnakamurashogo
0
1.9k
re:Invent 2023 機械学習、アナリティクス系 "推し" アップデート紹介
cmnakamurashogo
0
4.8k
脱ブラックボックス化!LLMと一緒に使われるLangChainやLlamaIndexを徹底解説
cmnakamurashogo
10
16k
Other Decks in Programming
See All in Programming
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
470
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
510
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.8k
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
360
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
130
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
2.9k
Verilogで学ぶCPU自作入門
uyuki234
8
4.1k
Java 27新機能 / Java 27 new features
kishida
2
210
JRuby: Past, Present, and Future
headius
0
230
AI が書く Go コードの品質を劇的に向上させる Linter: “declscope”
mpyw
0
490
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.5k
Featured
See All Featured
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
840
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
520
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
2
6.3k
Exploring anti-patterns in Rails
aemeredith
4
530
Prompt Engineering for Job Search
mfonobong
0
500
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
260
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
780
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
320
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
350
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
940
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 ぜひお試しください! おしまい