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
80
Taxi App GO Fast Dev for iOS
hexarf
0
150
localization-saas-for-ios
hexarf
2
860
Other Decks in Programming
See All in Programming
Enterprise Web App. Development (2): Version Control Tool Training Ver. 5.1
knakagawa
1
110
Cline指示通りに動かない? AI小説エージェントで学ぶ指示書の書き方と自動アップデートの仕組み
kamomeashizawa
1
510
Effect の双対、Coeffect
yukikurage
5
1.4k
Practical Tips and Tricks for Working with Compose Multiplatform Previews (mDevCamp 2025)
stewemetal
0
120
Javaに鉄道指向プログラミング (Railway Oriented Pro gramming) のエッセンスを取り入れる/Bringing the Essence of Railway-Oriented Programming to Java
cocet33000
2
570
Datadog RUM 本番導入までの道
shinter61
1
280
TypeScript LSP の今までとこれから
quramy
1
500
生成AIで日々のエラー調査を進めたい
yuyaabo
0
580
人には人それぞれのサービス層がある
shimabox
3
680
複数アプリケーションを育てていくための共通化戦略
irof
10
3.9k
FormFlow - Build Stunning Multistep Forms
yceruto
1
170
從零到一:搭建你的第一個 Observability 平台
blueswen
1
930
Featured
See All Featured
Navigating Team Friction
lara
186
15k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Automating Front-end Workflow
addyosmani
1370
200k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
6
690
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
GitHub's CSS Performance
jonrohan
1031
460k
Become a Pro
speakerdeck
PRO
28
5.4k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.3k
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