Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
2017/02/11 CV勉強会@関東
クレジットカード番号認識
皆川卓也
自己紹介
2
テクニカル・ソリューション・アーキテクト
皆川 卓也(みながわ たくや)
フリーエンジニア(ビジョン&ITラボ)
「コンピュータビジョン勉強会@関東」主催
博士(工学)
略歴:
1999-2003年
日本HP(後にアジレント・テク...
プログラム概要
 入力としてクレジットカード画像を与えられた時、クレジッ
トカード番号を読み取り、その位置と認識結果を出力す
るプログラムをOpenCVを使って作成
 https://github.com/takmin/CreditNumb...
開発の経緯
4
2013年9月頃、とある企業から画像からクレジットカード番号を
認識するプログラムが欲しいと打診される。
必ずできる自信もなかったので、成功報酬として請ける。(はじ
めての成功報酬案件)
博士論文の執筆と重なり、しんどい思いをし...
地味に難しい問題
5
 浮かし彫りの文字で、背景画像に様々なパターンがある
ため、単純な文字領域の二値化ができない。(OCRが使
えない)
 光沢/反射がある
 学習画像を集めるのが困難
 お客さんが従業員のものを(加工して)集めて、7...
処理の流れ
6
数字列領域の検出
数字の切り取り
特徴量抽出
Support Vector Machine
数字領域(高さ)の切り出し
 エッジ画像の投影(プロジェクション)から算出(MSER)
数字の切り出し
 数列領域からエッジ画像のプロジェクションを用いて数
字を切り出し。
 コスト関数が最も小さくなる切り出し方を求める。
 文字の幅とプロジェクションの分布
 分枝限定法で全探索
 4-4-4-4(Visa, etc),...
特徴量の抽出
 5回の交差検定で実験 (%)
 One-vs-One SVM
Image Features 1st 2nd 3rd 4th 5th Average
Gray Scale
(Base line)
50.3% 52.3% 53....
特徴量の抽出
10
 Sobel Filterを用いて4方向のエッジ成分を取得
 Max Poolingで変形にロバストに
 最終的に1文字あたり240次元の特徴量
4方向の
エッジ
Max
Pooling
11
デモ
まとめ
12
 せっかく作ったのに誰にも使われないのは寂しいので宣
伝してみた
 案件は逃したが「案件の取り方」については学ばせても
らった
 限られた期間の中で開発したので、まだまだ精度を上げ
る余地がある
 傾きの補正
 動画の活...
Upcoming SlideShare
Loading in …5
×

20170211クレジットカード認識

3,700 views

Published on

2017/02/11 コンピュータビジョン勉強会@関東「CVでこんなもの作ってみた2」発表資料

Published in: Technology
  • Be the first to comment

20170211クレジットカード認識

  1. 1. 2017/02/11 CV勉強会@関東 クレジットカード番号認識 皆川卓也
  2. 2. 自己紹介 2 テクニカル・ソリューション・アーキテクト 皆川 卓也(みながわ たくや) フリーエンジニア(ビジョン&ITラボ) 「コンピュータビジョン勉強会@関東」主催 博士(工学) 略歴: 1999-2003年 日本HP(後にアジレント・テクノロジーへ分社)にて、ITエンジニアとしてシステム構築、プリ セールス、プロジェクトマネジメント、サポート等の業務に従事 2004-2009年 コンピュータビジョンを用いたシステム/アプリ/サービス開発等に従事 2007-2010年 慶應義塾大学大学院 後期博士課程にて、コンピュータビジョンを専攻 単位取得退学後、博士号取得(2014年) 2009年-現在 フリーランスとして、コンピュータビジョンのコンサル/研究/開発等に従事 http://visitlab.jp
  3. 3. プログラム概要  入力としてクレジットカード画像を与えられた時、クレジッ トカード番号を読み取り、その位置と認識結果を出力す るプログラムをOpenCVを使って作成  https://github.com/takmin/CreditNumberRecognizer  約3年前に作成 入力画像 文字+座標 開発プログラム 1234 5678 9876 5432
  4. 4. 開発の経緯 4 2013年9月頃、とある企業から画像からクレジットカード番号を 認識するプログラムが欲しいと打診される。 必ずできる自信もなかったので、成功報酬として請ける。(はじ めての成功報酬案件) 博士論文の執筆と重なり、しんどい思いをしながら開発を 進め、どうにかお客さんが気に入るものが出来上がる 半年以上放置された後、状況が変わったからとキャンセル される 2015年4月頃、売れる見込みもないためオープンソースに する
  5. 5. 地味に難しい問題 5  浮かし彫りの文字で、背景画像に様々なパターンがある ため、単純な文字領域の二値化ができない。(OCRが使 えない)  光沢/反射がある  学習画像を集めるのが困難  お客さんが従業員のものを(加工して)集めて、70枚程度
  6. 6. 処理の流れ 6 数字列領域の検出 数字の切り取り 特徴量抽出 Support Vector Machine
  7. 7. 数字領域(高さ)の切り出し  エッジ画像の投影(プロジェクション)から算出(MSER)
  8. 8. 数字の切り出し  数列領域からエッジ画像のプロジェクションを用いて数 字を切り出し。  コスト関数が最も小さくなる切り出し方を求める。  文字の幅とプロジェクションの分布  分枝限定法で全探索  4-4-4-4(Visa, etc), 4-6-5 (AMEX,etc), 4-6-4 (Diners)のうち、 最もコストの低かったものを採用
  9. 9. 特徴量の抽出  5回の交差検定で実験 (%)  One-vs-One SVM Image Features 1st 2nd 3rd 4th 5th Average Gray Scale (Base line) 50.3% 52.3% 53.8% 53.1% 52.0% 52.3% LBP 61.9% 70.1% 65.5% 66.3% 60.7% 64.9% HOG 92.4% 92.9% 92.9% 90.8% 91.8% 92.2% Sobel 98.5% 98.5% 95.9% 93.9% 94.4% 96.2% Gabor 50.8% 51.3% 52.3% 53.6% 50.0% 51.6% Sobel + MaxPooling 99.0% 97.5% 97.5% 96.4% 95.9% 97.3% Gabor + MaxPooling 96.4% 98.0% 97.0% 94.4% 95.4% 96.2%
  10. 10. 特徴量の抽出 10  Sobel Filterを用いて4方向のエッジ成分を取得  Max Poolingで変形にロバストに  最終的に1文字あたり240次元の特徴量 4方向の エッジ Max Pooling
  11. 11. 11 デモ
  12. 12. まとめ 12  せっかく作ったのに誰にも使われないのは寂しいので宣 伝してみた  案件は逃したが「案件の取り方」については学ばせても らった  限られた期間の中で開発したので、まだまだ精度を上げ る余地がある  傾きの補正  動画の活用  Data Augmentation  (Deepでない) CNN等特徴量の改良

×