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
10k
生成AI時代に必要な検索とレコメンドをざっくり抑える
cmnakamurashogo
0
1.4k
実践AI/ML ~よくあるユースケースとレコメンデーションの効果的な活用戦略~
cmnakamurashogo
0
1.7k
re:Invent 2023 機械学習、アナリティクス系 "推し" アップデート紹介
cmnakamurashogo
0
4.6k
脱ブラックボックス化!LLMと一緒に使われるLangChainやLlamaIndexを徹底解説
cmnakamurashogo
10
15k
Other Decks in Programming
See All in Programming
A2UI という光を覗いてみる
satohjohn
1
150
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
930
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.8k
AIだと陥りがちなJakarta EE最新技術への移行時の落とし穴と解決策
tnagao7
0
120
スマートグラスで並列バイブコーディング
hyshu
0
260
Spring Security 実践 ─ GraphQL APIで実務に役立つ 認証・認可 を学ぶ
wagyu
0
260
技術的負債解消で開発者の未来を開く- AIの力でコード刷新
kmd2kmd
0
120
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
14
5.8k
エンジニア向け会社紹介/Findy Company Profile
findyinc
6
350k
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
5.4k
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
180
そのテスト、説明できますか?~LWテスト戦略FW~のご紹介
nakahara
0
160
Featured
See All Featured
How GitHub (no longer) Works
holman
316
150k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
230
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
240
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
RailsConf 2023
tenderlove
30
1.5k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
400
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
780
From π to Pie charts
rasagy
0
220
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
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 ぜひお試しください! おしまい