WWDC25:Read documents using the Vision framework

Vision フレームワークによる文書スキャンと、そのほか Vision に追加された API について。文書構造を直感的な設計で抽出できるのは嬉しい。

今回の主題ではないが、画像の美的スコアを算出する API があるとは知らなかった。このスコアリングを用いて、フリマやマッチング系などユーザー投稿画像に対する評価ができるかも?どんな画像に対してどんな結果が返るのか気になった。


0:00 – Introduction

  • Vision は機械学習を簡単にアプリに統合できる API を提供
  • 人・オブジェクト検出、身体・手のポーズ追跡、軌道解析など多様な用途に対応
  • 全ての API は完全にオンデバイス動作で、高性能かつセキュア
  • iOS, macOS, iPadOS, tvOS, visionOS で利用可能
  • 現在31種類の画像解析 API があり、今回2つの新機能を追加

1:22 – Reading documents

  • RecognizeDocumentsRequest の登場
    • 従来の RecognizeTextRequest はテキストの行を抽出するが、構造情報が失われる
    • 新しい API は文書の構造要素と重要情報を抽出可能
    • 26言語のテキスト認識に対応
    • テーブル、リスト、段落、QR コード、メールアドレス、電話番号、URL を検出
      • テーブルの場合、従来は情報構造のないテキストとテキストボックスの位置情報を突合させる必要があった
      • RecognizeDocumentRequest はテーブルごとペーストする
  • DocumentObservation の構造
    • 階層構造でテキスト、テーブル、リスト、バーコードを含むコンテナを表現
    • テーブルは2次元配列のセルで構成([[Cell]] 行・列でアクセス可能)
    • リストはアイテムで構成
    • テーブル、各要素は boundingRegion で座標情報を提供
  • 実用例:顧客登録シートの処理
    • 従来:各セルが個別オブジェクトとして返され、位置情報で行を判断
    • 新機能:テーブル構造が自動解析され、セルが行単位でグループ化
  • テキストデータの取得方法
    • transcript:コンテナ内の全テキストを単一文字列として取得
    • lines:テキストを行の配列として表示
    • paragraphsline を段落にグループ化
    • words:個別の単語リスト(中国語、日本語、韓国語、タイ語は非対応)
    • detectedData:メール、日付、URL などの重要データを自動検出
  • DataDetection フレームワークの活用
    • 電話番号、メールアドレス、郵便住所を多様な形式で検出
    • URL はリンクとして、時刻・日付はカレンダーイベントとして検出
    • 測定値と単位、金額と通貨を一緒に検出
    • 追跡番号、支払い ID、フライト番号も識別可能

13:35 – Camera lens smudge detection

  • DetectLensSmudgeRequest の導入
    • レンズの汚れにより低品質な写真が撮影されることを防ぐ
    • 汚れた画像を検出してユーザーにレンズの清掃やより良い写真の提供を促す
    • 高品質な画像のみを処理することを保証
  • 使用方法
    • smudge observation を生成し、confidence score(0〜1)で汚れの確率を示す
    • 1に近いほど汚れている可能性が高い
    • 適切な閾値(例:0.9)を設定してフィルタリング
  • 注意点と制限
    • カメラの動きによるブラー、長時間露光、雲や霧の画像も高いスコアを示す可能性
    • 低いスコアでも必ずしも高品質とは限らない
    • 他の Vision API との組み合わせ推奨:
      • DetectFaceCaptureQualityRequest:顔を含む画像の品質評価
      • CalculateImageAestheticScoresRequest:全体的な画像スコア評価(ドキュメントや領収書画像などユーティリティ画像の判別が可能)

17:59 – Hand pose update

  • 手のポーズ検出の改良
    • 2020年から DetectHandPoseRequest で21個の関節位置を検出
    • HandPoseObservation として結果を返す
    • ML 手ポーズ分類器(MLHandPoseClassifier)と手動作分類器(MLHandActionClassifier)を強化
  • 新モデルの特徴
    • より小さく現代化されたモデルに置き換え
    • 21個の関節検出は変わらず、精度向上
    • メモリ使用量とレイテンシを削減
    • 関節位置が以前のモデルと異なるため、既存の分類器の再トレーニングを推奨
  • 活用例
    • アプリ機能を制御するジェスチャ認識
    • カスタム手ポーズ・動作の分類器トレーニング

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です