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
1.8k
Vision Frameworkを使ってクレジットカードを スキャンする話
hexarf
September 12, 2022
Tweet
Share
More Decks by hexarf
See All by hexarf
Taxi App GO Fast development
hexarf
0
63
Taxi App GO Fast Dev for iOS
hexarf
0
120
localization-saas-for-ios
hexarf
2
740
Other Decks in Programming
See All in Programming
pixivアプリでマルチモジュールを実現するまで
gatosyocora
1
130
SwiftUI Performance 不要なViewの再描画と更新を抑える
bigamitiongit
1
160
DMMプラットフォームがTiDB Cloudを採用した背景
pospome
8
3.6k
StoreKit2によるiOSのアプリ内課金のリニューアル
kangnux
0
100
品質とスピードを両立: TypeScriptの柔軟な型システムをバックエンドで活用する
kosui
8
2.2k
Java 22 Overview
kishida
1
170
TYPO3 v13 – The road to LTS: What's new and new APIs
luisasofie_xoxo
0
180
ログラスを支える設計標準について / loglass-design-standards
urmot
10
2.1k
Hanami and htmx
bkuhlmann
0
190
Designing for tomorrow's programming workflows
honnibal
PRO
2
110
甘い香りに誘われてVanilla Extractを1年間運用してみた
miyahkun
1
110
雑に思考を整理する技術と効能
konifar
55
25k
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
36
2.1k
How to train your dragon (web standard)
notwaldorf
72
5.1k
Being A Developer After 40
akosma
56
580k
How STYLIGHT went responsive
nonsquared
92
4.8k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
124
32k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
Debugging Ruby Performance
tmm1
70
11k
What's in a price? How to price your products and services
michaelherold
237
11k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
658
120k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
18
6.9k
The Cost Of JavaScript in 2023
addyosmani
14
3.8k
Into the Great Unknown - MozCon
thekraken
10
980
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