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

CameraX × ML Kitで パスポートOCR機能を実装

Yuto Akaike
September 11, 2022

CameraX × ML Kitで パスポートOCR機能を実装

Yuto Akaike

September 11, 2022
Tweet

Other Decks in Programming

Transcript

  1. 自己紹介 • Yuto Akaike (@kaikecchi) • 株式会社 令和トラベル 所属 •

    海外旅行予約アプリ「NEWT」の開発 • 個人で競馬予想アプリ「ダビフレ」の開発・運営
  2. パスポートOCR機能を搭載するための選択肢 CameraX × ML Kit ライブラリA 精度・パフォーマンス 良 かなり良 工数

    標準 比較的小 費用 無料 数十万円 /year UIのカスタマイズ 可 一部可 ギャラリーから選択画像の OCR 対応 非対応 メンテナンス状況 Googleが随時更新 ここ数年更新無し 既存アーキテクチャへの組み込み 易 難
  3. パスポートOCR機能を搭載するための選択肢 CameraX × ML Kit ライブラリA 精度・パフォーマンス 良 かなり良 工数

    標準 比較的小 費用 無料 数十万円 /year UIのカスタマイズ 可 一部可 ギャラリーから選択画像の OCR 対応 非対応 メンテナンス状況 Googleが随時更新 ここ数年更新無し 既存アーキテクチャへの組み込み 易 難 →精度面での見通しがついたので、拡張性の高さを重視
  4. ML Kitの概要 • モバイルで機械学習の機能を利用できるSDK • 無料 • オンデバイスのSDKなのでオフラインでリアルタイムに動作 • 以前はML

    Kit for Firebaseとして提供されていたが非推奨になり、 現在はML Kitと、CloudベースのFirebase MLに分割 • Vision API と Natural Language API を提供 https://developers.google.com/ml-kit/guides
  5. Vision API • バーコードスキャン • 顔検出 • テキスト認識 • 画像ラベリング

    • 物体検出 & 追跡 • デジタルインク認識 • その他Beta版のAPIがいくつかある
  6. Vision API • バーコードスキャン • 顔検出 • テキスト認識 • 画像ラベリング

    • 物体検出 & 追跡 • デジタルインク認識 • その他Beta版のAPIがいくつかある
  7. テキスト認識 画像内のテキストを認識してくれるAPI ML 言語対応 ML Kit Text Recognition ラテン文字 ML

    Kit Text Recognition v2 (Beta) ラテン文字 日本語、中国語、韓国語 Firebase ML (Cloud) Text tRecongnition 日本語含む100言語以上
  8. パスポートMRZの仕様 • 44桁 x 2行 • パスポートの場合は必ず 「P<」 から始まる •

    発行国・氏名・パスポート番号・国籍・生年月日・性別・有効期限の 情報が入る • 各情報の位置は定められている。例えば氏名は6 - 44桁目に入り、 区切りや余白には<が使用される • 読み取りの整合性確認のためのCheck Digitも組み込まれている https://www.icao.int/publications/pages/publication.aspx?docnum=9303
  9. 変換ロジックやバリデーションを追加 P<<YAMADA<<1CHlR0<<<<<<c<<e<<<<<<<<<<<<<<<<< TT12345670JPN0001010F2201010<<<<<<<<<<<<<<01 P<<YAMADA<<ICHIRO<<<<<<<<<<<<<<<<<<<<<<<<<<< TT12345670JPN0001010F2201010<<<<<<<<<<<<<<01 0 → O 1,l →

    I c,e → < 変換 MRZの仕様的に問題無いものは変換。一つに絞れないなど勝手に変換したらまずいも のはバリデーションエラーで対応し、再試行や修正を促す。