Mobility Technologies Co.,Ltd.Vision Frameworkを使ってクレジットカードをスキャンする話2022/9/10Byungjun, Park
View Slide
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, AndroidOpenCVを利⽤したカードスキャナー・認識率・認識速度問題・SPMに対応されていない・最後のリリースが2016年、メンテナンスされていないカードをスキャンするために使っているライブラリ4GOのクレジットカード読み込み画⾯
Mobility Technologies Co.,Ltd.Vision Framework画像分析フレームワークiOS11から利⽤可能テキスト認識は(iOS13から)VisionとVisionKit Framework5VisionKit FrameworkiOS13から利⽤可能ドキュメントをスキャンするフレームワーク動物認識 書類検出⼿の形顔トラッキング 矩形検出 類似性判定
Mobility Technologies Co.,Ltd.クレジットカードから情報を読み込む流れ6NUMBER: 1234 5678 12345678NAME: CARDHOLDER NAMEEXP: 00/001.カメラなどからカードをスキャン 2.イメージから⽂字を抽出 3.パーシング
Mobility Technologies Co.,Ltd.ドキュメント部分を検知して対象をスキャンするVNDocumentCameraViewControllerドキュメントのスキャン - VisionKit Framework7DataScannerViewController(iOS16)ImageAnalyzer(iOS16)
Mobility Technologies Co.,Ltd.VisionKit Frameworkを使ってスキャンする8
Mobility Technologies Co.,Ltd.画像からテキストを検出 - Vision Framework9
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 Framework10
Mobility Technologies Co.,Ltd.画像からテキストを認識結果 - Vision Framework11VNRecognizedTextObservationopen 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.16iOSDC Japan 2022 After Talk のご参加お待ちしています2022年10⽉5⽇ (⽔) 19:00〜20:50https://sansan.connpass.com/event/255645/
⽂章·画像等の内容の無断転載及び複製等の⾏為はご遠慮ください。Mobility Technologies Co., Ltd.17