Foundation Model × VisionKit で実現するローカル OCR
by
SansanTech
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Foundation Model × VisionKit で 実現するローカル OCR Sansan株式会社 技術本部 Eight Engineering Unit Mobile Application グループ 藤⾨ 莉⽣
Slide 2
Slide 2 text
2 © Sansan, Inc. ⾃⼰紹介 - 名前:藤⾨ 莉⽣(Rio Fujimon) - 所属:Eight Engineering Unit Mobile Application グループ - 担当:Eight の iOS 版アプリを開発 - 趣味:ランニング 🏃, 野球観戦 ⚾, etc
Slide 3
Slide 3 text
3 © Sansan, Inc. © Sansan, Inc.
Slide 4
Slide 4 text
4 © Sansan, Inc. 出典:Apple公式サイト(https://www.apple.com/jp/newsroom/2025/05/apples-worldwide-developers-conference-kicks-off-june-9/)
Slide 5
Slide 5 text
🗣 様々な内容が発表されましたね ✨
Slide 6
Slide 6 text
6 © Sansan, Inc. 出典:Apple公式サイト(https://www.apple.com/jp/newsroom/2025/06/apple-elevates-the-iphone-experience-with-ios-26/)
Slide 7
Slide 7 text
7 © Sansan, Inc. iOS 26 の登場 & Liquid Glass へのデザイン変更 出典:Apple公式サイト(https://www.apple.com/jp/newsroom/2025/06/apple-elevates-the-iphone-experience-with-ios-26/)
Slide 8
Slide 8 text
No content
Slide 9
Slide 9 text
Speech Analyzer による ⾼度な⾳声のテキスト変換が可能になった
Slide 10
Slide 10 text
⾊々発表されていますが、 やはり今後特に注⽬していくのは... 👀
Slide 11
Slide 11 text
11 © Sansan, Inc. 出典:Apple公式サイト(https://developer.apple.com/jp/machine- learning/) Foundation Models
Slide 12
Slide 12 text
12 © Sansan, Inc. - Foundation Models とは? - オンデバイスの⼤規模⾔語モデル(Local LLM) - メリット - オフラインで動作する - プライバシーを完全保護する - OS に組み込まれているため、アプリサイズが増加しない - 型安全な構造化データが⽣成できる - デメリット - Server Scale の LLM より性能が低い - 得意なこと - 要約・分類・抽出 - 苦⼿なこと - ⾼度な推論・最新の知識・⼤規模計算 → Server Scale の LLM に任せる Foundation Models の概要
Slide 13
Slide 13 text
本⽇の話を理解するために抑えるべき Foundation Models の内容は基本のみ 🔰
Slide 14
Slide 14 text
1. LanguageModelSession を作成 a. instructions:モデルの動作を制御する指⽰ 2. .respond(to: Prompt) で、結果を⽣成
Slide 15
Slide 15 text
1. .streamResponse(to: ) -> sending LanguageModelSession.ResponseSteram で、 レスポンスのストリームを取得 2. for await ループを利⽤することで、逐次的な⽣成結果として、 Optional な Generable.PartiallyGenerated を取得
Slide 16
Slide 16 text
Generable Macroを付与した型を Generable 型に変 換 プロパティの許可値を制御 Generable 型の ネストも扱える GenerationGuideで プロパティの⽣成⽅法を制御
Slide 17
Slide 17 text
「generating: 」に、Generable Macro を付与した型を指定すると、 指定した型が⽣成される
Slide 18
Slide 18 text
Foundation Models の基本はバッチリ 👍
Slide 19
Slide 19 text
ここからが本題です 🔥
Slide 20
Slide 20 text
VisionKit × Foundation Models で、 名刺撮影の ローカル OCR 機能を実装する
Slide 21
Slide 21 text
21 © Sansan, Inc. VisionKit(DataScannerViewController)
Slide 22
Slide 22 text
22 © Sansan, Inc. DataScannerViewController.init & RecognizedDataType
Slide 23
Slide 23 text
23 © Sansan, Inc. RecognizedDataType & TextContentType
Slide 24
Slide 24 text
テキストは取得できるが、 テキストの内容(意味)は ⼀部しか判定できない 😭
Slide 25
Slide 25 text
外部 API などを利⽤せずに 認識するテキスト内容の制限の 壁を超えたい 🧐
Slide 26
Slide 26 text
Foundation Models を 利⽤することで解決可能では 💡
Slide 27
Slide 27 text
27 © Sansan, Inc. 読み取り内容を @Generable や @Guide を付与した型として定義
Slide 28
Slide 28 text
No content
Slide 29
Slide 29 text
29 © Sansan, Inc. 実⾏結果
Slide 30
Slide 30 text
30 © Sansan, Inc. まとめ Foundation Models × Apple 標準の API で、 オンデバイスで可能な実装の幅が広がる 🔍
Slide 31
Slide 31 text
31 © Sansan, Inc. 採⽤募集中
Slide 32
Slide 32 text
32 © Sansan, Inc. Appendix(1枚の名刺と判定する処理の流れ)
Slide 33
Slide 33 text
33 © Sansan, Inc. Appendix(初期クラスタリング)
Slide 34
Slide 34 text
34 © Sansan, Inc. Appendix(クラスターの結合)
Slide 35
Slide 35 text
35 © Sansan, Inc. Appendix(読み順ソート)
Slide 36
Slide 36 text
No content