Upgrade to Pro — share decks privately, control downloads, hide ads and more …

freeeのOCR開発における Amazon SageMaker Ground Truthの活...

freeeのOCR開発における Amazon SageMaker Ground Truthの活用 / SageMaker Ground Truth for OCR at freee

ymicky06

May 16, 2022
Tweet

More Decks by ymicky06

Other Decks in Technology

Transcript

  1.   3 経歴 2017年 通信会社で機械学習に関する研究開発 2021年 freee入社 freee での役割 OCRモデルの開発・運用

    YUKI MIKI 機械学習エンジニア@AI Lab Twitter: @ymicky06 プロフィール画像の トリミング方法
  2. カスタムラベリングワークフロー • おおまかな流れ ◦ 1.カスタムウェブテンプレート (UI)を構築 ◦ 2.プレラベリングタスクのAWS Lambda関数をデプロイ ◦

    3.ポストラベリングタスクのAWS Lambda関数をデプロイ ◦ 4.入力マニフェストを作成してS3に置く ◦ 5.ワークフォース作成 ◦ 6.ラベリングジョブ開始 ◦ 7.結果がS3に吐かれる https://aws.amazon.com/jp/blogs/news/build-a-custom-data-labeling-workflow-with-amazon-sagemaker-ground-truth/
  3. OCR用カスタムウェブテンプレート作成 • SageMakerが提供するCrowd HTMLを使用 ◦ コンポーネントを組み合わせることで独自UIを作れる ◦ Bounding Boxを描画するcrowd-bounding-boxを ベースに使用

    • OCR用にアノテーションしたい項目 ◦ 画像ごとに文書の種類 ◦ bounding boxごとに ▪ クラス ▪ 文字列 ▪ 座標 ▪ その他メタ情報 crowd-bounding-box:https://docs.aws.amazon.com/sagemaker/latest/dg/sms-ui-template-crowd-bounding-box.html
  4. プレ・ポストラベリングタスクのAWS Lambda関数作成 • プレラベリングタスクのAWS Lambda関数 ◦ input manifestの内容をGround Truthが使用するjson形式に変換する •

    ポストラベリングタスクのAWS Lambda関数 ◦ ワーカーがラベリングした情報を統合するために使用 • 今回はサンプルにあるものをそのまま使用した サンプル:https://github.com/aws-samples/aws-sagemaker-ground-truth-recipe/tree/master/aws_sagemaker_ground_truth_sample_lambda
  5. ラベリングワークフォースの作成 • プライベートワークフォースを使用 ◦ データの機密性が高く、データを社内に留めておきたかったため • ワーカーはAmazon Cognito + 外部のIDプロバイダで管理

    ◦ より厳密なワーカー管理 ◦ ラベリングポータルの認証に二段階認証 • ラベリングポータルへのIP制限 ◦ VPN内のみからアクセス可能
  6. 構築した環境で実際にアノテーションをしてみた所感 • よかったこと ◦ 複数人でアノテーションできるので効率が良い ◦ UIをカスタマイズできるのでPDCAが回しやすい ◦ データをAWS外に出さずにセキュアな環境でアノテーションできる •

    大変だったこと ◦ カスタムワークフローを使った事例があまりネットにないのでUIづくりに苦労した ◦ 権限周りで少しハマった • 要望的なこと ◦ ラベリングジョブの最大期限が1ヶ月なのでもっと長くしてほしい ◦ submitした後に前の画面に戻りたいときがある ◦ ラベリングジョブを削除できるようにしてほしい