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
What's new in Vision
Search
Sato Takeshi
June 24, 2022
Technology
0
1.9k
What's new in Vision
集まれSwift好き!Swift愛好会スピンオフ WWDC22セッション要約会 @オンライン
https://love-swift.connpass.com/event/247317/
の資料
Sato Takeshi
June 24, 2022
Tweet
Share
More Decks by Sato Takeshi
See All by Sato Takeshi
まさかのバグ!SwiftUIプレビューでハマった国際化対応の落とし穴
satotakeshi
0
350
Swift愛好会 の 思い出
satotakeshi
0
100
Xcode 15, Swift 5.9で変わる開発体験
satotakeshi
3
3k
Meet passkeys
satotakeshi
2
380
Swift Concurrency入門
satotakeshi
11
5.4k
複数端末のつらさを乗り越えてiOS UITestを実行
satotakeshi
1
440
Xcodegenを個人アプリに導入
satotakeshi
3
840
SwiftUIで作る開閉式メニュー
satotakeshi
2
3.1k
swift-snapshot-testingでVisual Testingを効率化
satotakeshi
0
1.3k
Other Decks in Technology
See All in Technology
ソフトウェアエンジニアとデータエンジニアの違い・キャリアチェンジ
mtpooh
1
740
エンジニア採用と 技術広報の取り組みと注力点/techpr1112
nishiuma
0
130
コンピューティングリソース何を使えばいいの?
tomokusaba
1
130
Copilotの精度を上げる!カスタムプロンプト入門.pdf
ismk
10
3.3k
内部品質・フロー効率・コミュニケーションコストを悪化させ現場を苦しめかねない16の組織設計アンチパターン[超簡易版] / 16 Organization Design Anti-Patterns for Software Development
mtx2s
2
190
ユーザーストーリー x AI / User Stories x AI
oomatomo
0
170
フライトコントローラPX4の中身(制御器)を覗いてみた
santana_hammer
1
140
ソフトウェア開発現代史: 55%が変化に備えていない現実 ─ AI支援型開発時代のReboot Japan #agilejapan
takabow
1
1.6k
旧から新へ: 大規模ウェブクローラの Perl から Go への移行 / YAPC::Fukuoka 2025
motemen
1
560
Introducing RFC9111 / YAPC::Fukuoka 2025
k1low
1
210
[mercari GEARS 2025] Keynote
mercari
PRO
0
160
今、MySQLのバックアップを作り直すとしたら何がどう良いのかを考える旅
yoku0825
0
140
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
331
21k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Side Projects
sachag
455
43k
How GitHub (no longer) Works
holman
315
140k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
4 Signs Your Business is Dying
shpigford
186
22k
A Modern Web Designer's Workflow
chriscoyier
697
190k
Become a Pro
speakerdeck
PRO
29
5.6k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Designing for humans not robots
tammielis
254
26k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Transcript
What’s new in Vision 2022 年 6 月 24 日
集まれ Swift 好き! Swift 愛好会スピンオフ WWDC22 セッション要約会 @ オンライン
Who am I • Name • 佐藤タケシ ( さとうたけし )
• Company • Merpay, Inc.(2019/01 ~) • Role • Software Engineer (iOS) • Account • Twitter: @hatakenokakashi • Facebook: 佐藤剛士 • GitHub: SatoTakeshiX
近著 商業誌 Amazon で販売中 同人誌 BOOTH で 販売中 商業誌 Amazon
で販売中
Vision/VisionKit Frameworkの新機能
VisionとVisionKitの違い Vision Framework • 画像分析ができる Framework • 画像データを渡し、画像を分析する • 分析する種類によってクラスが分か
れている • https://developer.apple.com/jp/mac hine-learning/api/ VisionKit Framework • Live Text • カメラを通してテキスト分析 • ドキュメントスキャン ◦ VNDocumentCameraViewCo ntroller ◦ iOS 13 ◦ Note アプリのようにドキュメント スキャンする
Vision VisionKit
Visionの新機能 • テキスト認識の言語に日本語と韓国語が追加! • テキスト認識・バーコード検出・オプティカルフロー検出の精度が向上 • 顔検出の Revision 1 のコード、モデルを削除
• Quick Look Preview のサポート
https://developer.apple.com/videos/play/wwdc2022/10024/
https://developer.apple.com/videos/play/wwdc2022/10024/
テキスト認識の言語に日本語と韓国語が追加! • iOS 16 で使える言語 ◦ 英語、フランス語、イタリア語、ドイツ語、スペイン語、ポルトガル語、中国語(繁 体字、簡体字)、日本語、韓国語が利用できる • VNRecognizeTextRequest
の supportedRecognitionLanguages メソッドで言語が 取得できる
顔検出のRevision 1のコード、モデルを削除 • Vision はアルゴリズムのバージョンを Revision で指定できる • 顔の特徴点を検出する VNDetectFaceRectanglesRequest
◦ VNDetectFaceLandmarksRequestRevision1 が非推奨 • 顔の矩形を検出する VNDetectFaceLandmarksRequest ◦ VNDetectFaceRectanglesRequestRevision1 が非推奨 • Revision1 を指定している場合 Revision2 として扱われる
Revision 1を指定してRevision 2になる影響 • Revision 1 の挙動は変わらない ◦ いきなり上下ひっくり返った顔結果が来ることはない •
実行時間は変わらず • 正確さが向上 • コードの修正は不要
Quick Look Previewのサポート • デバッカーに Vision の検出結果が表示されるようになった • 分析対象の画像に検出結果を表示 •
Xcode Playground でも結果を表示
VisionKitの新機能
VisionKitの新機能 • DataScannerViewController が iOS 16 で登場 • カメラ画像からテキストやバーコード、 QR
コードを読み取る
今までのカメラ映像からテキスト読み取り
DataScannerViewController
DataScannerViewControllerの機能 • ライブカメラプレビュー • 案内 • 項目のハイライト
DataScannerViewControllerの機能 • タップで焦点合わせ • ピンチアウト、ズームイン
DataScannerViewControllerの使い方 • 端末が利用できるかのチェック ◦ isSupported ▪ A12 Bionic chip 以上の端末なら
true ▪ 2018 年以降の端末 ◦ isAvailable ▪ 設定アプリでカメラ利用がオンになっていれば true ▪ またカメラ利用の制限がない場合
DataScannerViewControllerの使い方 • info.plist に Privacy usage description を追加 ◦ カメラ実装するときと同じ
DataScannerViewControllerの初期化
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
None
DataScannerViewControllerDelegate アイテムをタップしたら呼ばれる
DataScannerViewControllerDelegate アイテムが追加されたら呼ばれる
DataScannerViewController 画像を取得
DataScannerViewController for await in でデリゲートなしで結果取得
Live Text
Live Text • 静止画像も開発者がテキ ストを読み込める実装で きるようになる https://developer.apple.com/d ocumentation/visionkit/enabl ing_live_text_interactions_wi th_images
広がるアイディア 日本語テキスト認識 • 家計簿アプリでレシート読み込み • メモアプリで印刷物の読み込み • ハッシュタグキャンペーン ◦ SNS
に投稿された住所にいってドーナツを配るキャンペーン QR コード読み込み • 配送センターアプリ • ライブイベントの会場受付アプリ
まとめ
まとめ • Vision がアップデート ◦ テキスト認識に日本と韓国が追加 ◦ バーコード検出・オプティカルフロー検出の精度が向上 ◦ 顔検出の
Revision 1 のコード、モデルを削除 ◦ Quick Look Preview のサポート • DataScannerViewController でビデオ画像によるテキストスキャンが簡単に 実装可能になる • Live Text で静止画もテキストスキャンの実装簡単になる
参考資料 • 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