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
Vision Frameworkを使ってクレジットカードを スキャンする話
Search
hexarf
September 12, 2022
Programming
0
2.6k
Vision Frameworkを使ってクレジットカードを スキャンする話
hexarf
September 12, 2022
Tweet
Share
More Decks by hexarf
See All by hexarf
Taxi App GO Fast development
hexarf
0
77
Taxi App GO Fast Dev for iOS
hexarf
0
140
localization-saas-for-ios
hexarf
2
850
Other Decks in Programming
See All in Programming
Instrumentsを使用した アプリのパフォーマンス向上方法
hinakko
0
230
七輪ライブラリー: Claude AI で作る Next.js アプリ
suneo3476
1
170
今話題のMCPサーバーをFastAPIでサッと作ってみた
yuukis
0
110
個人開発の学生アプリが企業譲渡されるまで
akidon0000
2
1.2k
プロダクト横断分析に役立つ、事前集計しないサマリーテーブル設計
hanon52_
3
540
エンジニア向けCursor勉強会 @ SmartHR
yukisnow1823
3
12k
Rubyの!メソッドをちゃんと理解する
alstrocrack
1
120
実践Webフロントパフォーマンスチューニング
cp20
45
10k
大LLM時代にこの先生きのこるには-ITエンジニア編
fumiyakume
8
3.3k
Jakarta EE Meets AI
ivargrimstad
0
780
20250429 - CNTUG Meetup #67 / DevOps Taiwan Meetup #69 - Deep Dive into Tetragon: Building Runtime Security and Observability with eBPF
tico88612
0
170
プロフェッショナルとしての成長「問題の深掘り」が導く真のスキルアップ / issue-analysis-and-skill-up
minodriven
8
1.9k
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Statistics for Hackers
jakevdp
798
220k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
690
KATA
mclloyd
29
14k
Navigating Team Friction
lara
185
15k
Build The Right Thing And Hit Your Dates
maggiecrowley
35
2.7k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
13
830
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
How to Think Like a Performance Engineer
csswizardry
23
1.6k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Fontdeck: Realign not Redesign
paulrobertlloyd
84
5.5k
Code Review Best Practice
trishagee
67
18k
Transcript
Mobility Technologies Co., Ltd. Vision Frameworkを使ってクレジットカードを スキャンする話 2022/9/10 Byungjun, Park
Mobility Technologies Co., Ltd. 2 パク ビョンジュン(Byungjun, Park) 出⾝地 :
韓国(⼤邱) 現在: 横浜 iOSエンジニアとして 2015~2019 Fintech系サービス開発 2019~ Mobility Technologies (MoT) タクシーアプリ「GO」の iOS アプリ開 発 Side project: React Nativeアプリ開発 趣味: サイクリング・ランニング、旅⾏、 レトロゲーム ⾃⼰紹介
Mobility Technologies Co., Ltd. GO Payの⽀払い⼿段登録のため、クレジットカー ド情報を⼊⼒する必要がある。 ユーザーが⼊⼒する⼿間を減らす機能、カメラでク レジットカードをスキャンして以下の項⽬を検出し て⾃動⼊⼒させる。
- カード番号 - 有効期限 タクシーアプリ「GO」のクレジットカード登録 3
Mobility Technologies Co., Ltd. CardIO SDK for iOS, Android OpenCVを利⽤したカードスキャナー
・認識率・認識速度問題 ・SPMに対応されていない ・最後のリリースが2016年、メンテナンスされていない カードをスキャンするために使っているライブラリ 4 GOのクレジットカード読み込み画⾯
Mobility Technologies Co., Ltd. Vision Framework 画像分析フレームワーク iOS11から利⽤可能 テキスト認識は(iOS13から) VisionとVisionKit
Framework 5 VisionKit Framework iOS13から利⽤可能 ドキュメントをスキャンするフレームワーク 動物認識 書類検出 ⼿の形 顔トラッキング 矩形検出 類似性判定
Mobility Technologies Co., Ltd. クレジットカードから情報を読み込む流れ 6 NUMBER: 1234 5678 1234
5678 NAME: CARDHOLDER NAME EXP: 00/00 1.カメラなどからカードをスキャン 2.イメージから⽂字を抽出 3.パーシング
Mobility Technologies Co., Ltd. ドキュメント部分を検知して対象を スキャンする VNDocumentCameraViewControl ler ドキュメントのスキャン -
VisionKit Framework 7 DataScannerViewController(iOS 16) ImageAnalyzer(iOS16)
Mobility Technologies Co., Ltd. VisionKit Frameworkを使ってスキャンする 8
Mobility Technologies Co., Ltd. 画像からテキストを検出 - Vision Framework 9
Mobility Technologies Co., Ltd. VNRecognizeTextRequest ・recognitionLevel: - accuracy: 精度(default) -
fast: 速度 *iPhone 12 Pro基準 accuracy: 0.2〜3sec、 fast: 〜0.1sec (画像種類、プロセッサー、実⾏ スレッド区分によって処理時間は変わる) ・revision: - revision1: iOS13 - revision2: iOS14〜15 - revision3: iOS16(ここから⽇本語も対応) *revsionによって同じイメージでも結果が違う可能性がある テキスト検知リクエストオプション - Vision Framework 10
Mobility Technologies Co., Ltd. 画像からテキストを認識結果 - Vision Framework 11 VNRecognizedTextObservation
open func topCandidates(_ maxCandidateCount: Int) -> [VNRecognizedText] 最⼤10個の検出候補を取得 VNRecognizedText - string : 検出テキスト - confidence : 信頼度のスコア 0.0~1.0 *スコアが1.0だとしても結果が保証 されるわけではない
Mobility Technologies Co., Ltd. 抽出したテキストからカード番号を判定 12
Mobility Technologies Co., Ltd. テキスト検知難易度が⾼いイメージの場合、認識率が下 がる ・露出 ・オブジェクトの⾓度 ・オブジェクトの⼤きさ ・⼿ブレ
・フォーカシング ・反射 問題 13 プロダクトレベルとしてはちょっと微妙・・・ サンプリングイメージ⼀枚だけでは信頼度の確 保が厳しい
Mobility Technologies Co., Ltd. ・ AVFoundationを使ってカメラから複数イメージをサンプリングする 認識率を上げるための実装 14 ・UX的な対策 ガイドフレームと合わせることでインターラクションが発⽣
するようにする
Mobility Technologies Co., Ltd. 15 タクシーアプリ「GO」の開発を⼀緒にしませんか https://hrmos.co/pages/ mo-t/jobs/2100002
Mobility Technologies Co., Ltd. 16 iOSDC Japan 2022 After Talk
のご参加お待ちしています 2022年10⽉5⽇ (⽔) 19:00〜20:50 https://sansan.connpass.com/event/255645/
⽂章·画像等の内容の無断転載及び複製等の⾏為はご遠慮ください。 Mobility Technologies Co., Ltd. 17