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

What's new in Vision

What's new in Vision

集まれSwift好き!Swift愛好会スピンオフ WWDC22セッション要約会 @オンライン
https://love-swift.connpass.com/event/247317/

の資料

Sato Takeshi

June 24, 2022
Tweet

More Decks by Sato Takeshi

Other Decks in Technology

Transcript

  1. What’s new in Vision
    2022

    6

    24

    集まれ
    Swift
    好き!
    Swift
    愛好会スピンオフ
    WWDC22
    セッション要約会
    @
    オンライン

    View Slide

  2. Who am I

    Name
    ● 佐藤タケシ
    (
    さとうたけし
    )

    Company

    Merpay, Inc.(2019/01 ~)

    Role

    Software Engineer (iOS)

    Account

    Twitter: @hatakenokakashi

    Facebook:
    佐藤剛士

    GitHub: SatoTakeshiX

    View Slide

  3. 近著
    商業誌
    Amazon
    で販売中
    同人誌
    BOOTH

    販売中
    商業誌
    Amazon
    で販売中

    View Slide

  4. Vision/VisionKit Frameworkの新機能

    View Slide

  5. VisionとVisionKitの違い
    Vision Framework
    ● 画像分析ができる
    Framework
    ● 画像データを渡し、画像を分析する
    ● 分析する種類によってクラスが分か
    れている

    https://developer.apple.com/jp/mac
    hine-learning/api/
    VisionKit Framework

    Live Text
    ● カメラを通してテキスト分析
    ● ドキュメントスキャン

    VNDocumentCameraViewCo
    ntroller

    iOS 13

    Note
    アプリのようにドキュメント
    スキャンする

    View Slide

  6. Vision
    VisionKit

    View Slide

  7. Visionの新機能
    ● テキスト認識の言語に日本語と韓国語が追加!
    ● テキスト認識・バーコード検出・オプティカルフロー検出の精度が向上
    ● 顔検出の
    Revision 1
    のコード、モデルを削除

    Quick Look Preview
    のサポート

    View Slide

  8. https://developer.apple.com/videos/play/wwdc2022/10024/

    View Slide

  9. https://developer.apple.com/videos/play/wwdc2022/10024/

    View Slide

  10. テキスト認識の言語に日本語と韓国語が追加!

    iOS 16
    で使える言語
    ○ 英語、フランス語、イタリア語、ドイツ語、スペイン語、ポルトガル語、中国語(繁
    体字、簡体字)、日本語、韓国語が利用できる

    VNRecognizeTextRequest

    supportedRecognitionLanguages
    メソッドで言語が
    取得できる

    View Slide

  11. 顔検出のRevision 1のコード、モデルを削除

    Vision
    はアルゴリズムのバージョンを
    Revision
    で指定できる
    ● 顔の特徴点を検出する
    VNDetectFaceRectanglesRequest

    VNDetectFaceLandmarksRequestRevision1
    が非推奨
    ● 顔の矩形を検出する
    VNDetectFaceLandmarksRequest

    VNDetectFaceRectanglesRequestRevision1
    が非推奨

    Revision1
    を指定している場合
    Revision2
    として扱われる

    View Slide

  12. Revision 1を指定してRevision 2になる影響

    Revision 1
    の挙動は変わらない
    ○ いきなり上下ひっくり返った顔結果が来ることはない
    ● 実行時間は変わらず
    ● 正確さが向上
    ● コードの修正は不要

    View Slide

  13. Quick Look Previewのサポート
    ● デバッカーに
    Vision
    の検出結果が表示されるようになった
    ● 分析対象の画像に検出結果を表示

    Xcode Playground
    でも結果を表示

    View Slide

  14. VisionKitの新機能

    View Slide

  15. VisionKitの新機能

    DataScannerViewController

    iOS 16
    で登場
    ● カメラ画像からテキストやバーコード、
    QR
    コードを読み取る

    View Slide

  16. 今までのカメラ映像からテキスト読み取り

    View Slide

  17. DataScannerViewController

    View Slide

  18. DataScannerViewControllerの機能
    ● ライブカメラプレビュー
    ● 案内
    ● 項目のハイライト

    View Slide

  19. DataScannerViewControllerの機能
    ● タップで焦点合わせ
    ● ピンチアウト、ズームイン

    View Slide

  20. DataScannerViewControllerの使い方
    ● 端末が利用できるかのチェック

    isSupported

    A12 Bionic chip
    以上の端末なら
    true

    2018
    年以降の端末

    isAvailable
    ■ 設定アプリでカメラ利用がオンになっていれば
    true
    ■ またカメラ利用の制限がない場合

    View Slide

  21. DataScannerViewControllerの使い方

    info.plist

    Privacy usage description
    を追加
    ○ カメラ実装するときと同じ

    View Slide

  22. DataScannerViewControllerの初期化

    View Slide

  23. DataScannerViewController.RecognizedDataType
    ● スキャンするデータのタイプ
    ● 読み取れるコード一覧

    / Aztec / Codebar / Code 39 Checksum /Code 39 / Code 39 Full ASCII /Code 39
    Full ASCII Checksum /Code 93 / Code 93i / Code 128 / Matrix EAN-8 / Data
    /EAN-13 / GS1 DataBar Expanded / GS1 DataBar Limited / ITF/ ITF-14 /
    MicroPDF417 / MicroQR / PDF417 QR / UPC-E
    ● サポート言語

    English, French, Italian, German Spanish, Portuguese, Chinese, Japanese, Korian
    ● テキストの種類

    Full Street Address / Telephone Number / mail Address / URL / Shipment
    Tracking Number / Flight Number / Date, Time, and Duration

    View Slide

  24. View Slide

  25. DataScannerViewControllerDelegate
    アイテムをタップしたら呼ばれる

    View Slide

  26. DataScannerViewControllerDelegate
    アイテムが追加されたら呼ばれる

    View Slide

  27. DataScannerViewController
    画像を取得

    View Slide

  28. DataScannerViewController
    for await in
    でデリゲートなしで結果取得

    View Slide

  29. Live Text

    View Slide

  30. Live Text
    ● 静止画像も開発者がテキ
    ストを読み込める実装で
    きるようになる
    https://developer.apple.com/d
    ocumentation/visionkit/enabl
    ing_live_text_interactions_wi
    th_images

    View Slide

  31. 広がるアイディア
    日本語テキスト認識
    ● 家計簿アプリでレシート読み込み
    ● メモアプリで印刷物の読み込み
    ● ハッシュタグキャンペーン

    SNS
    に投稿された住所にいってドーナツを配るキャンペーン
    QR
    コード読み込み
    ● 配送センターアプリ
    ● ライブイベントの会場受付アプリ

    View Slide

  32. まとめ

    View Slide

  33. まとめ

    Vision
    がアップデート
    ○ テキスト認識に日本と韓国が追加
    ○ バーコード検出・オプティカルフロー検出の精度が向上
    ○ 顔検出の
    Revision 1
    のコード、モデルを削除

    Quick Look Preview
    のサポート

    DataScannerViewController
    でビデオ画像によるテキストスキャンが簡単に
    実装可能になる

    Live Text
    で静止画もテキストスキャンの実装簡単になる

    View Slide

  34. 参考資料
    ● Add Live Text interaction to your app

    What's new in Vision

    Capture machine-readable codes and text with VisionKit

    Scanning data with the camera

    View Slide