KR101824600B1 - 단말장치를 이용한 신용카드 번호 및 유효기간 인식 시스템 및 방법 - Google Patents

단말장치를 이용한 신용카드 번호 및 유효기간 인식 시스템 및 방법 Download PDF

Info

Publication number
KR101824600B1
KR101824600B1 KR1020150127147A KR20150127147A KR101824600B1 KR 101824600 B1 KR101824600 B1 KR 101824600B1 KR 1020150127147 A KR1020150127147 A KR 1020150127147A KR 20150127147 A KR20150127147 A KR 20150127147A KR 101824600 B1 KR101824600 B1 KR 101824600B1
Authority
KR
South Korea
Prior art keywords
card
validity period
image
recognition
detecting
Prior art date
Application number
KR1020150127147A
Other languages
English (en)
Other versions
KR20170029947A (ko
Inventor
이지민
김한샘
최찬규
Original Assignee
에스케이플래닛 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이플래닛 주식회사 filed Critical 에스케이플래닛 주식회사
Priority to KR1020150127147A priority Critical patent/KR101824600B1/ko
Priority to US15/209,773 priority patent/US10121087B2/en
Priority to CN201610605512.XA priority patent/CN106503703B/zh
Publication of KR20170029947A publication Critical patent/KR20170029947A/ko
Application granted granted Critical
Publication of KR101824600B1 publication Critical patent/KR101824600B1/ko

Links

Images

Classifications

    • G06K9/66
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • G06V10/225Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition based on a marking or identifier characterising the area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24137Distances to cluster centroïds
    • G06K9/18
    • G06K9/32
    • G06K9/6201
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/56Extraction of image or video features relating to colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/62Text, e.g. of license plates, overlay texts or captions on TV images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19173Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/196Recognition using electronic means using sequential comparisons of the image signals with a plurality of references
    • G06V30/1983Syntactic or structural pattern recognition, e.g. symbolic string recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/412Layout analysis of documents structured with printed lines or input boxes, e.g. business forms or tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은 단말장치의 카드 번호 및 유효기간 번호 인식 수행 방법 및 시스템에 관한 것으로서, 보다 상세하게는, (a) 상기 단말장치의 카메라를 통하여 카드 이미지를 획득하는 단계, (b) 상기 (a)단계에서 획득한 이미지로부터 카드 번호의 위치 검출 및 숫자 인식을 수행하는 단계 및 (c) 상기 (a)단계에서 획득한 이미지로부터 유효기간 번호의 위치 검출 및 숫자 인식을 수행하는 단계를 포함한다.
본 발명에 따르면, 영상처리 기반의 기술에 비해 인식률을 향상시킬 수 있다.

Description

단말장치를 이용한 신용카드 번호 및 유효기간 인식 시스템 및 방법{A system and method credit card number and expiration date recognition using a terminal device}
본 발명은 단말장치의 카드 번호 및 유효기간 번호 인식 수행 시스템 및 방법에 관한 것으로서, 더욱 상세하게는 신용 카드의 카드 번호 및 유효기간 번호를 딥러닝의 한 종류인 컨볼루션 신경 네트워크를 이용하여 인식하는 시스템 및 방법에 관한 것이다.
신용 카드사, 결제사 등의 사업자는 필요에 따라 고객의 신용 카드 정보를 관리한다. 또한, 다양한 분야의 사업자는 필요에 따라 고객에게 신용 카드의 정보를 수집하여 고객의 신용 카드 번호를 저장한다.
한편, 신용 카드의 사업자는 카드를 발행한 후 고객에게 교부하기 전에 발행된 실물 카드를 확인한 후 카드 정보를 입력하여 관리할 수 있다.
또한, 고객의 신용 카드 정보를 관리할 필요가 있는 사업자는 고객의 동의를 얻어 고객의 신용 카드 번호를 관리할 수 있다. 예를 들어, 담당 직원은 고객에게 카드 정보를 요구하고, 고객이 제시한 신용 카드의 번호를 입력하여 카드 정보를 저장할 수 있다. 그리고 주기적으로 저장된 카드 정보를 이용하여 고객에게 대금을 청구할 수 있다.
하지만, 사업자가 많은 고객의 카드 정보를 관리하는 경우, 고객의 카드 정보를 수작업으로 입력하는 것은 매우 번거롭고 시간이 많이 소모된다. 또한, 수작업으로 입력되는 카드 정보의 입력 건수가 증가할수록 담당자의 입력 오류에 의해 카드 번호를 오입력할 가능성도 증가한다.
또한 최근 인터넷 상거래, 모바일 상거래 등의 발달로 사업자외에 개인들도 스마트폰의 애플리케이션을 통하여 신용카드 결제정보를 입력하는 경우, 입력된 정보에 따라 손쉽게 결제를 행할 수 있다. 다만, 수기로 카드 정보를 입력하는 경우 상대적으로 카메라 등으로 인식하는 것보다 시간이 많이 든다는 단점이 있다.
이러한 문제점을 해결하기 위해, 최근 신용카드 등에 적힌 번호를 인식시키기 위한 영상처리 기반의 인식 시스템 등이 많이 개발되었다.
신용 카드는 카드 번호, 유효 기간 및 이름 등 다양한 정보가 인쇄되어 있다. 다만, 상기 신용 카드의 카드 번호 포맷과 카드 정보의 레이 아웃은 카드사마다 조금씩 다른 포맷을 가지고 있다. 이렇게 카드사마다 서로 다른 카드 번호, 유효기간 포맷을 가지고 있는 바, 이를 획일적으로 영상처리만으로 구현하여 인식률을 향상시키는 것은 매우 어려운 것이 현실이다.
또한, 이러한 영상처리 기술은 구현하기에 많은 기술 지식이 필요할 뿐만 아니라, 카드의 배경 이미지가 복잡하거나 양각 숫자의 칠이 벗겨지는 등의 경우에 인식률이 떨어져 입력 오류에 의해 카드 번호를 잘못 입력할 가능성이 여전히 존재한다는 문제점이 있다.
본 발명은 상기한 문제점을 해결하기 위하여 안출된 것으로, 신용카드 번호 및 유효기간 번호의 인식률을 향상시키는 것을 목적으로 한다.
또한, 모바일에서 인식 시스템을 구동할 때에는, 용량 및 성능의 제약을 받기 때문에 인식 시스템의 컨볼루션 신경 네트워크가 차지하는 용량을 줄이는 것을 목적으로 한다.
또한, 모바일은 하드웨어 성능에 제약이 있으므로, 발생할 수 있는 속도 이슈를 UX/UI적으로 회피하는 것을 목적으로 한다.
한편, 본 발명이 이루고자 하는 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 이하에서 설명할 내용으로부터 통상의 기술자에게 자명한 범위 내에서 다양한 기술적 과제가 포함될 수 있다.
상술한 과제를 해결하기 위한 본 발명의 일 측면에 따르면, 단말장치가 카드 번호 및 유효기간 번호 인식 수행 방법에 있어서, (a) 상기 단말장치의 카메라를 통하여 카드 이미지를 획득하는 단계, (b) 상기 (a)단계에서 획득한 이미지로부터 카드 번호의 위치 검출 및 숫자 인식을 수행하는 단계 및 (c) 상기 (a)단계에서 획득한 이미지로부터 유효기간 번호의 위치 검출 및 숫자 인식을 수행하는 단계를 포함한다.
이때, 상기 단말장치가 카드 번호 및 유효기간 번호 인식 수행 시 컨볼루션 신경 네트워크를 이용하는 것을 특징으로 할 수 있다.
한편, 상기 (c) 단계에 이어서, (d) 상기 (c) 단계에서 유효기간 번호 인식에 실패한 경우, 액티비티 단계에서 상기 (a) 내지 (c) 단계에서 획득한 카드 이미지, 유효기간 번호의 위치, 유효기간 번호의 포맷을 이용하여 유효기간 번호의 위치 검출 및 숫자 인식을 재 수행하는 단계를 포함할 수 있다.
이때, 상기 (d) 단계는, 상기 유효기간 번호에서 첫 숫자의 위치 검출을 위한 관심영역(ROI)을 기 설정된 위치로 변경하여 상기 유효기간 번호의 위치 검출을 재 수행할 수 있다.
또한, 상기 (d) 단계는, 유효기간 번호의 위치 검출 및 숫자 인식을 재 수행함과 동시에 카드 번호의 인식을 함께 수행할 수 있다.
한편, 상기 (a) 단계는, 단말장치의 카메라가 카드의 이미지 프레임을 획득하는 단계, 상기 단말장치의 표시수단에 가이드라인을 표시하는 단계 및 상기 표시된 가이드라인에 중첩되는 카드의 이미지 프레임을 획득하는 프리뷰 단계로 이루어질 수 있다.
한편, 상기 (b) 단계는, (1) 카드 번호에서 첫 숫자의 위치를 검출하는 단계, (2) 카드 번호에서 첫 3개의 카드 번호의 위치를 검출하는 단계, (3) 상기 (2)단계에서 인식된 상기 첫 3개의 카드 번호에 대한 이미지 패치가 숫자가 아닌 이미지 패치인지 분류하는 단계, (4) 상기 (3) 단계에서 숫자임이 확인된 경우, 인식 확률 값을 기 설정된 문턱치 값과 비교하여 상기 첫 3개의 카드 번호를 인식하는 단계, (5) 상기 (4) 단계에서 인식된 상기 첫 3개의 카드 번호로부터 카드 종류, 카드 번호 포맷, 유효기간 번호의 위치 및 유효기간 번호의 포맷에 관한 정보를 추출해 내는 단계 및 (6) 상기 (5) 단계에서 추출한 정보를 이용하여, 첫 3개의 카드 번호를 제외한 나머지 카드번호의 위치 검출 및 숫자 인식을 수행하는 단계를 포함한다.
이때, 상기 (6) 단계는, 상기 (5) 단계에서 추출된 카드 종류, 카드 번호 포맷, 유효기간 번호의 위치 및 유효기간 번호의 포맷에 관한 정보를 이용하여 나머지 카드 번호의 위치를 검출하는 단계, 상기 나머지 숫자를 검출하는 단계에서 인식된 나머지 카드 번호에 대한 이미지 패치가 숫자가 아닌 이미지 패치인지 분류하는 단계, 상기 이미지 패치가 숫자가 아닌 이미지 패치인지 분류하는 단계에서 숫자임이 확인된 경우, 인식 확률 값을 기 설정된 문턱치 값과 비교하여 첫 3개의 카드 번호를 제외한 나머지 카드 번호를 인식하는 단계, 상기 인식된 첫 3개의 카드 번호와 나머지 카드 번호를 룬 알고리즘을 이용하여, 전체 카드 번호의 유효성을 판별하는 단계 및 상기 카드 번호 인식 결과 및 각 번호들의 위치 정보를 추출하는 단계를 포함한다.
한편, 상기 (c) 단계는, 상기 (5) 단계에서 추출된 상기 카드 종류, 카드 번호 포맷, 유효기간 번호의 위치 및 유효기간 번호의 포맷에 관한 정보를 이용하여 유효기간 번호의 첫 숫자의 위치를 검출하는 단계, 상기 유효기간 번호의 첫 숫자를 인식하여 1 또는 0인지 판별하는 단계 및 상기 유효기간 번호의 첫 숫자를 제외한 나머지 유효기간 번호의 숫자의 위치 검출 및 숫자 인식을 수행하는 단계를 포함한다.
이때, 상기 유효기간 번호의 첫 숫자를 제외한 나머지 유효기간 번호의 숫자의 위치 검출 및 숫자 인식을 수행하는 단계는 상기 유효기간 번호의 첫 숫자의 위치를 검출하는 단계에서 검출된 상기 유효기간 번호의 첫 숫자의 위치를 이용하여 나머지 유효기간 번호의 숫자의 위치를 검출해 내는 단계, 상기 나머지 유효기간 번호의 숫자를 검출하는 단계에서 인식된 나머지 유효기간 번호의 숫자에 대한 이미지 패치가 숫자가 아닌 이미지 패치인지 분류하는 단계, 상기 이미지 패치가 숫자가 아닌 이미지 패치인지 분류하는 단계에서 숫자임이 확인된 경우, 인식 확률 값을 기 설정된 문턱치 값과 비교하여 유효기간 번호의 첫 숫자를 제외한 나머지 유효기간 번호의 숫자를 인식하는 단계 및 상기 인식된 유효기간 번호의 첫 숫자와 나머지 숫자의 조합이 유효한 유효기간 번호인지 판별하는 단계를 포함한다.
상술한 과제를 해결하기 위한 본 발명의 다른 측면에 따르면, 본 발명의 단말장치가 카드 번호 및 유효기간 번호 인식을 수행할 때 이용하는 컨볼루션 신경 네트워크의 용량을 축소하는 방법에 있어서, (a) 네트워크의 각 레이어들의 Weight 값을 최소와 최대 사이에서 기 설정된 개수의 구간으로 나누는 단계, (b) 상기 (a) 단계에서 나뉜 각각의 구간에서 대표값들을 추출하는 단계, (c) 상기 (b) 단계에서 각각의 구간에서 추출된 대표값들을 코드북에 실수형으로 기록하는 단계 및 (d) 상기 코드북에 대한 인덱스 값들을 정수형으로 치환하여 기록하는 단계를 포함한다.
이때, 상기 (b) 단계에서, 상기 대표값들을 추출 시, k-means 알고리즘을 또는, 같은 너비를 같는 구간으로 나누고, 구간의 중간값을 대표값으로 정하여 사용할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 다른 측면에 따르면, 본 발명의 단말장치가 카드 번호 및 유효기간 번호 인식을 수행할 때 이용하는 컨볼루션 신경 네트워크의 훈련데이터를 수집하는 방법에 있어서, (a) 상기 단말장치가 카메라를 통해 서로 다른 종류의 카드 이미지를 촬영하는 단계, (b) 상기 (a) 단계에서 촬영된 복수의 카드 이미지에 대하여 각각 숫자의 위치가 지정된 이미지 패치를 추출해내고 상기 추출된 이미지 패치를 영상처리하는 단계 및, (c) 상기 (b) 단계에서 영상처리된 이미지 패치를 수집하는 단계를 포함한다.
한편, 상기 (a) 단계에서, 상기 카드 이미지 촬영 시, 주변 밝기를 고려하여 촬영할 수 있다.
또한, 상기 (a) 단계에서, 상기 단말장치의 카메라의 기울기를 고려하여 촬영할 수 있다.
또한, 상기 (b) 단계에서, 상기 영상처리는 밝기변화, 대비변화, 흐림효과 중 적어도 어느 하나의 영상처리 효과를 줄 수 있다.
또한, 상기 (b) 단계에서, 상기 카드 이미지의 바운딩박스에 대하여 이동(translation), 크기(Scale), 회전(rotation)의 변화를 줄 수 있다.
상술한 과제를 해결하기 위한 본 발명의 다른 측면에 따르면, 본 발명의 단말장치를 이용한 카드 번호 및 유효기간 번호 인식 시스템은 카드 이미지를 촬영하는 카메라, 상기 카드 이미지를 영상처리하는 영상처리부 컨볼루션 신경 네트워크를 이용하여 카드 번호 및 유효기간 번호 인식을 수행하는 인식수행장치를 포함한다.
한편, 상기 컨볼루션 신경 네트워크를 이용하여 카드 번호 및 유효기간 번호 인식을 수행하는 인식수행장치는, 카드 번호의 첫 숫자 주변으로 잘려진 이미지패치에서 상기 카드 번호의 첫 숫자의 위치를 검출하는 카드 번호 첫 숫자 위치 검출기, 상기 카드 번호의 주변으로 잘려진 이미지패치에서 상기 카드 번호, 유효기간 번호의 위치를 검출하는 카드 번호 및 유효기간 번호의 위치를 검출하는 숫자 위치 검출기, 상기 카드 번호 및 유효기간 번호의 숫자 위치 검출기로부터 찾아낸 위치 주변으로 잘려진 이미지패치를 입력으로 하여 카드 번호를 인식하는 카드 번호 숫자 인식기, 유효기간 번호의 첫 숫자 주변으로 잘려진 이미지패치에서 상기 유효기간 번호의 첫 숫자의 위치를 검출하는 유효기간 첫 숫자 검출기, 상기 카드 번호 및 유효기간 숫자 위치 검출기로부터 찾아낸 위치 주변으로 잘려진 이미지패치를 입력으로 하여 유효기간 번호를 인식하는 유효기간 번호의 숫자 인식기 및 상기 카드 번호 숫자 인식기 및 상기 유효기간 번호의 숫자 인식기에 입력된 각각의 이미지패치가 숫자가 맞는지 분류하는 숫자 이진 분류기를 포함할 수 있다.
한편, 이상에 살핀 상기 단말장치를 이용한 신용카드 번호 및 유효기간 인식 방법은, 프로그램의 형태로 구현된 뒤에 전자 장치에서 판독 가능한 기록 매체에 기록되거나, 프로그램 다운로드 관리 장치(서버 등)를 통해 배포될 수 있다.
본 발명에 따르면, 영상처리 기반의 기술에 비해 인식률을 향상시킬 수 있는 효과가 있다.
또한, 단말장치의 하드디스크 용량의 제약이 있더라도, 본 발명의 컨볼루션 신경 네트워크가 차지하는 용량을 Weight Quantization을 통하여 단말장치 내에 구비할 수 있도록 네트워크의 용량을 줄이는 효과가 있다.
또한, 단말장치가 본 발명의 인식시스템을 실행하는 경우 UX/UI적으로 효율적인 이미지 획득을 통하여 단말장치의 하드웨어 성능의 제약을 회피하도록 활용할 수 있는 효과가 있다.
또한, 단말장치가 본 발명의 인식시스템을 실행하는 경우 UX/UI적으로 프리뷰 단계, 액티비티(인식결과 창) 단계로 나누고, 각 단계별 이미지 인식을 통하여 단말장치의 하드웨어 성능의 제약을 회피하고, 인식 체감 속도를 빠르게 하는 효과가 있다.
한편, 본 발명의 효과는 이상에서 언급한 효과들로 제한되지 않으며, 이하에서 설명할 내용으로부터 통상의 기술자에게 자명한 범위 내에서 다양한 효과들이 포함될 수 있다.
도 1은 본 발명의 일 실시예에 따른 카드 번호의 숫자 및 유효기간 번호의 숫자 위치 검출 및 인식 방법을 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 카드 이미지 획득 방법을 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 카드 번호의 숫자 위치 검출 및 인식 방법을 나타낸 도면이다.
도 4는 본 발명에 일 실시예에 따른 첫 3개의 숫자를 제외한 나머지 카드 번호의 숫자 위치 검출 및 인식 방법을 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따른 유효기간 번호의 숫자 인식 방법을 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따른 첫 숫자를 제외한 나머지 유효기간 번호의 숫자 인식 방법을 나타낸 도면이다.
도 7은 본 발명의 다른 실시예에 따른 컨볼루션 신경 네트워크의 용량을 축소하는 방법을 나타낸 도면이다.
도 8은 본 발명의 다른 실시예에 따른 컨볼루션 신경 네트워크의 훈련데이터를 수집하는 방법을 나타낸 도면이다.
도 9는 본 발명의 일 실시예에 따른 카드 번호 및 유효기간 번호 인식 시스템을 나타낸 도면이다.
도 10는 본 발명의 일 실시예에 따른 컨볼루션 신경 네트워크의 첫 숫자 검출기를 나타낸 도면이다.
도 11는 본 발명의 일 실시예에 따른 컨볼루션 신경 네트워크의 숫자 검출기를 나타낸 도면이다.
도 12는 본 발명의 일 실시예에 따른 컨볼루션 신경 네트워크의 숫자 인식기(카드번호 인식기, 유효기간 인식기)를 나타낸 도면이다.
도 13은 본 발명의 일 실시예에 따른 컨볼루션 신경 네트워크의 숫자 이진 분류기를 나타낸 도면이다.
도 14는 본 발명의 일 실시예에 따른 카드 번호 및 유효기간 번호의 숫자 인식 모습을 나타낸 도면이다.
도 15는 본 발명의 일 실시예에 따른 UX를 좌로부터 순서대로 프리뷰 단, 카드이미지가 찍힌 프리뷰 단, 인식결과를 나타내는 액티비티 단의 결과 창을 나타낸 도면이다.
이하, 첨부된 도면들을 참조하여 본 발명에 따른 '단말장치를 이용한 신용카드 번호 및 유효기간 인식 시스템 및 방법'을 상세하게 설명한다. 설명하는 실시 예들은 본 발명의 기술 사상을 당업자가 용이하게 이해할 수 있도록 제공되는 것으로 이에 의해 본 발명이 한정되지 않는다. 또한, 첨부된 도면에 표현된 사항들은 본 발명의 실시 예들을 쉽게 설명하기 위해 도식화된 도면으로 실제로 구현되는 형태와 상이할 수 있다.
한편, 이하에서 표현되는 각 구성부는 본 발명을 구현하기 위한 예일 뿐이다. 따라서, 본 발명의 다른 구현에서는 본 발명의 사상 및 범위를 벗어나지 않는 범위에서 다른 구성부가 사용될 수 있다.
또한, 각 구성부는 순전히 하드웨어 또는 소프트웨어의 구성만으로 구현될 수도 있지만, 동일 기능을 수행하는 다양한 하드웨어 및 소프트웨어 구성들의 조합으로 구현될 수도 있다. 또한, 하나의 하드웨어 또는 소프트웨어에 의해 둘 이상의 구성부들이 함께 구현될 수도 있다.
또한, 어떤 구성요소들을 '포함'한다는 표현은, '개방형'의 표현으로서 해당 구성요소들이 존재하는 것을 단순히 지칭할 뿐이며, 추가적인 구성요소들을 배제하는 것으로 이해되어서는 안 된다.
본 발명을 설명하기에 앞서 본 발명에서 사용하는 기술 내지 용어에 대해서 간략히 설명한다.
컨벌루션 신경 네트워크(Convolutional neural network)는, 딥러닝 기술의 일종으로서, 이미지에 대한 학습 내지 훈련을 통하여 이미지의 특징에 대한 차이점을 구별할 수 있다. 또한, 이러한 학습 내지 훈련을 통하여 입력된 이미지 등을 이해하고 처리할 수 있다.
이때, 컨벌루션 신경 네트워크는 기존의 학습 알고리즘과 같이 한 단계의 데이터를 처리하는 것이 아니라, 여러 층의 형태로 구성되어 데이터를 처리하여 고차원적인 결과 값을 내놓을 수 있다.
네트워크의 구조에 대해서 설명하면 이미지 인식에서 사용될 때, 컨볼루션 신경 네트워크는 소규모 뉴런 집합인 레이어를 여러층 쌓아 만드는 multiple layer의 구조를 가지고 있으며, 이러한 컨벌루션 신경 네트워크는 다른 convolution layer들을 조합하거나, 연결함으로써 구성될 수 있다.
룬 알고리즘이란, 신용카드나 아이디 번호 등의 인증을 위한 Checksum 알고리즘으로, 카드 번호의 전체 자리를 순차적으로 읽어 들일 때 2번째에 해당하는 값을 2배 한 다음 그 값이 9보다 클 경우 10으로 나눈 나머지에 1를 더하고, 9보다 작으면 2배 곱한 수를 그대로 더 하는 식으로 전체 값을 계산 한다. 전체 값을 10으로 나눈 나머지가 0 일 때 유효성이 통과된다.
신용 카드의 카드번호가 잘못 입력되거나 잘못된 번호에서 유효 숫자를 구별하는 간단한 방법으로 임의의 악의적인 입력을 막는데 사용된다.
도 1은 본 발명의 일 실시예에 따른 카드 번호의 숫자 및 유효기간 번호의 숫자 위치 검출 및 인식 방법을 나타낸 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 카드 번호의 숫자 및 유효기간 번호의 숫자 위치 검출 및 인식 방법은 카드 이미지를 획득하는 단계(S100), 카드 번호의 위치 검출 및 숫자 인식 수행 단계(S200), 유효기간 번호의 위치 검출 및 숫자 인식을 수행하는 단계(S300)를 포함하며, 보다 상세하게는, (a) 상기 단말장치의 카메라를 통하여 카드 이미지를 획득하는 단계(S100), (b) 상기 (a)단계(S100)에서 획득한 이미지로부터 카드 번호의 위치 검출 및 숫자 인식을 수행하는 단계(S200) 및 (c) 상기 (a)단계(S100)에서 획득한 이미지로부터 유효기간 번호의 위치 검출 및 숫자 인식을 수행하는 단계(S200)를 포함한다.
(a) 단계에서는 단말장치에 설치된 애플리케이션에서 UX/UI가 구현되어 카메라가 인식한 이미지를 표시하여 이미지를 획득한다(S100). 이렇게 얻어진 이미지를 (b) 단계에서 컨볼루션 신경 네트워크를 이용하여 일련의 과정을 거쳐 카드 번호의 위치 및 숫자를 인식한 이후에(S200), (c) 단계에서 유효기간의 위치 및 숫자를 인식할 수 있다(S300).
이러한, 인식 프로세스는 인식 체감 속도를 빠르게 하기 위하여 프리뷰, 액티비티(인식결과 창) 단계로 나뉘어져 있다.
이때, (a) 내지 (c) 단계는, 인식 결과가 나오기 전에 프리뷰 단에서 인식을 수행하는 것이다. (도 15 참조)
프리뷰 단에서, 유효기간 번호의 인식을 실패한 경우, (c) 단계(S300)에 이어서, (d) 단계(S400)가 더 이어질 수 있으며, (d) 단계(S400)는 액티비티 단(인식결과 창)에서 (a) 내지 (c) 단계에서 획득한 카드 이미지, 유효기간 번호의 위치, 유효기간 번호의 포맷을 이용하여 유효기간 번호에 대한 위치 검출 및 숫자 인식을 재 수행할 수 있다(S400).
한편, 인풋된 프레임에 대해서 쓰레드가 작동 중인 경우, 새로 인풋된 프레임에 대해서는 인식을 진행하지 않는다.
유효기간 번호의 위치 검출 및 숫자 인식을 재 수행하는 단계(S400)에서, 상기 유효기간 번호에서 첫 숫자의 위치 검출을 위한 관심영역(ROI)을 변경하여 상기 유효기간 번호의 위치 검출을 재 수행할 수 있다.
이때, 관심영역의 위치를 기본 관심영역(ROI)에서 상, 하, 좌, 우, 대각선 방향으로 최대 8번을 이동하여 위치 검출을 수행할 수 있다. 한편, 단말장치가 카드 번호 및 유효기간 번호 인식을 수행할 때, 컨볼루션 신경 네트워크를 이용할 수 있다.
한편, 단말장치는 카메라를 구비하고, 영상처리, 컨볼루션 신경 네트워크의 구비가 가능한 장치로, 스마트폰, 태블릿, PC, 노트북, PDA 등의 전자 장치의 형태로 구현될 수 있으며, 이 외에도 연산 동작과 데이터 송수신 동작이 가능한 다양한 전자 장치의 형태로 구현될 수 있다.
이하, 프리뷰 단에서 카드 번호와 유효기간의 인식을 수행하는 구체적인 방법에 대해서 설명한다.
도 2는 본 발명의 일 실시예에 따른 카드 이미지 획득 방법을 나타낸 도면이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 카드 이미지 획득 방법은 단말장치의 카메라로부터 카드의 이미지 프레임을 수신하는 단계(S101), 단말장치의 표시수단에 가이드라인을 표시하는 단계(S102) 및 상기 표시된 가이드라인에 중첩되는 카드의 이미지 프레임을 획득하는 프리뷰 단계(S103)를 포함한다.
이때, 가이드라인을 표시하는 UX/UI를 이용함으로써, 카드 이미지 외에 불필요한 데이터가 입력되는 것을 방지하여 하드웨어 성능을 불필요하게 낭비하지 않도록 할 수 있다.
한편, 가이드라인은 도 15에 도시된 바와 같이 표시할 수 있으나, 카드의 이미지만을 얻어내기 위하여 다양한 방식으로 표시될 수 있다.
도 3은 본 발명의 일 실시예에 따른 카드 번호의 숫자 위치 검출 및 인식 방법을 나타낸 도면이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 카드 번호의 숫자 위치 검출 및 인식 방법은 첫 숫자 위치 검출 단계(S201), 첫 3개의 카드 번호 위치 검출 단계(S202), 숫자가 아닌 이미지 패치인지 분류하는 단계(S203), 첫 3개의 카드 번호를 인식하는 단계(S204), 카드에 관한 정보를 추출해 내는 단계(S205), 나머지 카드 번호의 위치 검출 및 숫자 인식을 수행하는 단계(S206)를 포함하며, 보다 상세하게는, (1) 카드 번호에서 첫 숫자의 위치를 검출하는 단계(S201), (2) 카드 번호에서 첫 3개의 카드 번호의 위치를 검출하는 단계(S202), (3) 상기 (2)단계에서 인식된 상기 첫 3개의 카드 번호에 대한 이미지 패치가 숫자가 아닌 이미지 패치인지 분류하는 단계(S203), (4) 상기 (3) 단계에서 숫자임이 확인된 경우, 인식 확률 값을 기 설정된 문턱치 값과 비교하여 상기 첫 3개의 카드 번호를 인식하는 단계(S204), (5) 상기 (4) 단계에서 인식된 상기 첫 3개의 카드 번호로부터 카드 종류, 카드 번호 포맷, 유효기간 번호의 위치 및 유효기간 번호의 포맷에 관한 정보를 추출해 내는 단계(S205) 및 (6) 상기 (5) 단계에서 추출한 정보를 이용하여, 첫 3개의 카드 번호를 제외한 나머지 카드번호의 위치 검출 및 숫자 인식을 수행하는 단계(S206)를 포함한다.
(1)단계에서는, 카드 번호의 첫 숫자의 위치를 검출한다(S201). 이때, 가이드라인을 따라 카드 영역만 잘린 영상을 입력 이미지로 하고, 이러한 입력 이미지에서 첫 숫자 검출을 위한 고정 ROI에 대해서 잘라내고, 잘린 이미지를 첫 숫자 검출기 네트워크에 통과시켜 마스크 값을 구한 후에 그 값을 이용하여 첫 숫자의 위치를 나타내는 사각형을 검출한다. 이때, 숫자 검출기를 추가적으로 사용하여 첫 숫자의 위치를 더 정확하게 보정할 수 있다.
(2) 단계에서는, (1) 단계에서 얻어낸 첫 숫자의 위치를 이용하여, 2번째, 3번째 숫자의 위치를 파악할 수 있다(S202). 먼저, 2번째, 3번째 숫자의 검출을 위한 관심영역(ROI)의 위치를 첫 숫자의 위치를 고려하여 기존 숫자의 너비만큼 오른쪽으로 옮기고, 기울기를 고려하여 위아래로 이동하면서 숫자 검출기를 사용하여 2번째, 3번째 숫자의 위치를 검출할 수 있는 것이다.
(3) 단계에서는, 이때, 얻어진 첫 3 숫자의 이미지 패치가 숫자에 해당하는지는 이진 분류기를 사용하여 분류해 낼 수 있다(S203). 만약 숫자에 해당하지 않는 결과 값이 나오는 경우에는 다음 프레임을 진행하거나, 인식 확률 값을 낮추는 것으로 설정할 수 있다.
(4) 단계에서는, 이미지 패치 분류 과정을 통하여 숫자 이미지 패치로 판별된 경우, 첫 3개의 숫자를 숫자 인식기를 통하여 인식한다(S204).
(5) 단계에서는, (4) 단계에서 인식된 상기 첫 3개의 카드 번호로부터 카드 종류, 카드 번호 포맷, 유효기간 번호의 위치 및 유효기간 번호의 포맷에 관한 정보를 추출한다(S205).
즉, 인식된 첫 3개의 숫자를 가지고, 유효한 카드 번호인지 판별할 수 있다. 비자카드, 마스터카드 등 카드 종류별로 카드 번호의 규칙이 정해져 있기 때문에 판별이 가능하다.
예를 들어, 카드사를 구별할 때, VISA는 첫 숫자가 4로 시작하고, Mastercard는 51~55로 중국은련카드는 622126-622925, 624-626, 6282-6288, 다이너스 클럽은 300-305, 3095, 36, 38-39, 디스커버 카드는 60110, 60112-60114, 601174-601179, 601186-601199, 644-649, 65, JCB 카드는 3528-3589를 사용한다. 또한, 카드사 별로 전체 카드 자릿수가 14~16으로 다양하고, 유효기간의 포맷이 (MM/YY, MM/YYYY) 다를 수 있다.
이러한 첫 3개의 숫자를 이용하면, 해당 카드사가 어느 곳인지 알 수 있으며, 카드 번호의 포맷 및 유효기간의 포맷을 알 수 있다.
(6) 단계에서는, 첫 3개의 카드 번호를 제외한 나머지 카드번호의 위치 검출 및 숫자 인식을 수행한다(S206).
도 4는 본 발명에 일 실시예에 따른 첫 3개의 숫자를 제외한 나머지 카드 번호의 숫자 위치 검출 및 인식 방법을 나타낸 도면이다.
도 4를 참조하면, 본 발명에 일 실시예에 따른 첫 3개의 숫자를 제외한 나머지 카드 번호의 숫자 위치 검출 및 인식 방법은 도 3에서 설명하는 첫 3개의 카드 번호로부터 카드 종류, 카드 번호 포맷, 유효기간 번호의 위치 및 유효기간 번호의 포맷에 관한 정보를 이용하여, 첫 3개의 카드 번호를 제외한 나머지 카드번호의 위치 검출 및 숫자 인식을 수행하는 단계는 나머지 카드 번호의 위치를 검출하는 단계(S206-1), 숫자가 아닌 이미지 패치인지 분류하는 단계(S206-2) 나머지 카드 번호를 인식하는 단계(S206-3), 전체 카드 번호의 유효성을 판별하는 단계(S206-4) 단계를 포함하며, 보다 상세하게는, 도 3에서 설명하는 (5) 단계에서 추출된 카드 종류, 카드 번호 포맷에 관한 정보를 이용하여 나머지 카드 번호의 위치를 검출하는 단계(S206-1), 상기 나머지 숫자를 검출하는 단계에서 인식된 나머지 카드 번호에 대한 이미지 패치가 숫자가 아닌 이미지 패치인지 분류하는 단계(S206-2), 상기 이미지 패치가 숫자가 아닌 이미지 패치인지 분류하는 단계에서 숫자임이 확인된 경우, 인식 확률 값을 기 설정된 문턱치 값과 비교하여 첫 3개의 카드 번호를 제외한 나머지 카드 번호를 인식하는 단계(S206-3), 상기 인식된 첫 3개의 카드 번호와 나머지 카드 번호를 룬 알고리즘을 이용하여, 전체 카드 번호의 유효성을 판별하는 단계(S206-4)를 포함한다.
이하 각 단계를 구체적으로 살펴보면, 첫째로, 나머지 카드 번호의 숫자와 위치를 검출한다(S206-1). 이때, 앞선 과정에서 얻어낸 카드의 첫 3개의 숫자를 이용하여 카드 종류 및 카드 번호의 규칙, 유효기간의 위치, 유효기간의 포맷 정보를 추출하고 추출한 정보를 이용한다.
이때, 나머지 카드 번호는 해당 카드사의 카드 번호의 포맷에 따라 위치를 검출할 수 있다. 한편, 첫 3개의 숫자의 위치를 검출하는 방식과 동일한 방식으로 진행될 수 있다. 다만, 나머지 카드 번호의 경우 일반적으로 16개의 카드 번호는 4개의 번호가 1세트로 총 4세트가 있으며, 각 번호 세트 사이에는 공백이 존재한다.
이러한 공백이 있는 경우, ROI를 X축 방향으로 기존 숫자 너비의 2배만큼 옮길 수 있다. 이런 과정을 통해, 다음 세트의 첫 숫자를 관심영역(ROI)에 넣을 수 있는 것이다.
둘째로, 얻어진 나머지 카드 번호의 이미지 패치가 숫자에 해당하는지는 이진 분류기를 사용하여 분류해 낼 수 있다(S206-2). 만약 숫자에 해당하지 않는 결과 값이 나오는 경우에는 다음 프레임을 진행하거나, 인식 확률 값을 낮추는 것으로 설정할 수 있다.
셋째로, 이미지 패치 분류 과정을 통하여 숫자 이미지 패치로 판별된 경우, 나머지 카드 번호를 숫자 인식기를 통하여 인식한다(S206-3).
넷째로, 인식된 전체 카드 번호에 대하여는 전술한 룬 알고리즘(Luhn algorithm)을 이용하여 카드 번호를 검증할 수 있다(S206-4).
도 5는 본 발명의 일 실시예에 따른 유효기간 번호의 숫자 인식 방법을 나타낸 도면이다.
도 5를 참조하면, 본 발명의 일 실시예에 따른 유효기간 번호의 숫자 인식 방법은 유효기간 번호의 첫 숫자의 위치를 검출하는 단계(S301), 유효기간 번호의 첫 숫자를 판별하는 단계(S302), 첫 숫자를 제외한 나머지 유효기간 번호의 위치 검출 및 숫자 인식을 수행하는 단계(S303)를 포함하며, 보다 상세하게는, 도 3에서 설명하는 (5) 단계에서 추출된 상기 카드 종류, 유효기간 번호의 위치 및 유효기간 번호의 포맷에 관한 정보를 이용하여 유효기간 번호의 첫 숫자의 위치를 검출하는 단계(S301), 상기 유효기간 번호의 첫 숫자를 인식하여 1 또는 0인지 판별하는 단계(S302) 및 상기 유효기간 번호의 첫 숫자를 제외한 나머지 유효기간 번호의 숫자의 위치 검출 및 숫자 인식을 수행하는 단계(S303)를 포함한다.
첫째로, 유효기간 번호의 첫 숫자의 위치를 검출한다(S301). 이때, 앞서 구한 첫 3개의 숫자 인식 결과로부터 추출해낸 정보 중 유효기간의 위치 정보를 이용한다. 보통, 신용카드의 유효기간의 첫숫자는 카드 번호의 8번째 숫자와 9번째 숫자 사이에 위치해 있는 것이 일반적인 바, 이를 이용하여 첫 숫자 검출을 위한 관심영역(ROI)의 위치 좌표를 계산하고, 상기 좌표에 해당하는 관심영역(ROI)을 잘라내고, 관심영역(ROI)에 따라 잘린 이미지를 첫 숫자 검출기 네트워크에 통과시켜 마스크 값을 구한 후에 그 값을 이용하여 첫 숫자의 위치를 나타내는 사각형을 검출한다. 이때, 숫자 검출기를 추가적으로 사용하여 첫 숫자의 위치를 더 정확하게 보정할 수 있다.
둘째로, 첫째 과정에서 얻어낸 유효기간의 첫 숫자를 인식한다(S302). 이때, 유효기간 번호의 01월부터 09월까지는 첫 숫자는 0이고, 10월부터 12월까지는 1이다. 따라서 유효기간 번호의 첫 숫자는 0 또는 1인지만을 판별하는 과정으로 진행된다.
셋째로, 유효기간 번호의 첫 숫자를 제외한 나머지 유효기간 번호의 숫자의 위치를 검출하고, 숫자 인식을 수행한다(S303).
도 6은 본 발명의 일 실시예에 따른 첫 숫자를 제외한 나머지 유효기간 번호의 숫자 인식 방법을 나타낸 도면이다.
도 6을 참조하면, 본 발명의 일 실시예에 따른 첫 숫자를 제외한 나머지 유효기간 번호의 숫자 인식 방법은 유효기간 번호의 숫자의 위치를 검출해 내는 단계(S303-1), 이미지 패치가 숫자가 아닌 이미지 패치인지 분류하는 단계(S303-2), 나머지 유효기간 번호의 숫자를 인식하는 단계(S303-3), 유효한 유효기간 번호인지 판별하는 단계(S303-4)를 포함하며, 보다 상세하게는, 상기 유효기간 번호의 첫 숫자의 위치를 검출하는 단계에서 검출된 상기 유효기간 번호의 첫 숫자의 위치를 이용하여 나머지 유효기간 번호의 숫자의 위치를 검출해 내는 단계(S303-1), 상기 나머지 유효기간 번호의 숫자를 검출하는 단계에서 인식된 나머지 유효기간 번호의 숫자에 대한 이미지 패치가 숫자가 아닌 이미지 패치인지 분류하는 단계(S303-2), 상기 이미지 패치가 숫자가 아닌 이미지 패치인지 분류하는 단계에서 숫자임이 확인된 경우, 인식 확률 값을 기 설정된 문턱치 값과 비교하여 유효기간 번호의 첫 숫자를 제외한 나머지 유효기간 번호의 숫자를 인식하는 단계(S303-3) 및 상기 인식된 유효기간 번호의 첫 숫자와 나머지 숫자의 조합이 유효한 유효기간 번호인지 판별하는 단계(S303-4)를 포함한다.
첫째로, 유효기간 첫 숫자의 위치를 이용하여 나머지 유효기간 번호의 숫자의 위치를 검출한다(S303-1). 이때, 첫 숫자의 관심영역(ROI)을 X축 방향으로 기존 숫자 너비만큼 옮길 수 있다. 이런 과정을 통해, 다음 숫자를 관심영역(ROI)에 넣을 수 있는 것이다. 다만, 유효기간의 포맷에 따라, MM/YYYY 또는 MM/YY가 있을 수 있으며, 이런 인식 포맷은 카드 번호의 첫 3숫자에서 얻은 정보로부터 이미 판단된 것이다. 한편, 월과 년 사이에 슬래쉬(/)가 있는 경우, ROI를 X축 방향으로 기존 숫자 너비의 두 배만큼 옮길 수 있다.
둘째로, 얻어진 나머지 유효기간 번호의 이미지 패치가 숫자에 해당하는지는 이진 분류기를 사용하여 분류해 낼 수 있다(S303-2). 만약 숫자에 해당하지 않는 결과 값이 나오는 경우에는 다음 프레임을 진행하거나, 인식 확률 값을 낮추는 것으로 설정할 수 있다.
셋째로, 이미지 패치 분류 과정을 통하여 숫자 이미지 패치로 판별된 경우, 나머지 유효기간 번호를 유효기간 숫자 인식기를 통하여 인식한다(S303-3).
넷째로, 인식된 전체 유효기간 번호에 대하여는 유효한 유효기간인지 판별한다(S303-4). 이때, 인식된 유효기간이 과거인 경우 또는 각 은행사마다 정한 최대 유효기간보다 더 긴 유효기간인 경우에는 유효하지 않은 기간으로 판별하고, 그 이외의 경우에는 유효한 유효기간으로 판별한다.
인식 확률 값에 대한 비교 대상인 문턱치 값(Thresh hold)은 설계자에 의한 설정에 따라 달라지나, 도 15를 참조하면, 도 15의 문턱치 값은 유효기간에 대하여는 각각의 유효기간 숫자에 대하여 75%, 평균에 대하여 90%로 설정되어 있으며, 카드 번호에 대하여서는 각각의 카드번호 숫자에 대하여 60%, 평균에 대하여 80%로 설정되어 있다.
이상 살펴본 바와 같이, 프리뷰 단계는 빠르게 카드번호와 유효기간을 모두 인식하고, 액티비티 단계에서는 프리뷰 단계에서 미처 유효기간을 인식하지 못한 경우에 있어, 재 인식을 수행하는 것이다. 이때, 더욱 효율적이고 빠른 인식을 위하여 프리뷰 단계, 액티비티 단계 모두 프로세스 중간에 카드 번호 및 유효기간의 위치 검출 및 숫자 인식에 실패하거나 이진 분류기에 의해 오검출로 판단되는 경우에는 해당 프레임을 바로 Reject하여 알고리즘을 종료하고 다음 프레임으로 넘어감으로써 빠른 재시도를 할 수 있다.
도 7은 본 발명의 다른 실시예에 따른 컨볼루션 신경 네트워크의 용량을 축소하는 방법을 나타낸 도면이다.
딥러닝 네트워크에는 수십만개의 파라미터(weight 값)들이 있으며, 이 파라미터값들은 실수 값(Float)이고, 단말 상에서 각각이 4byte를 차지한다. 본 발명에서 이용하는 컨볼루션 신경 네트워크의 총 용량은 약 2.7MB를 차지한다. 따라서, 용량을 최소화 하기 위해, weight quantization 기법을 사용하여 약 0.7MB 수준으로 용량을 줄일 필요성이 있다.
이를 해결하기 위한 방법을 도 7을 참조하여 설명하면, 본 발명의 다른 실시예에 따른 단말장치가 카드 번호 및 유효기간 번호 인식을 수행할 때 이용하는 컨볼루션 신경 네트워크의 용량을 축소하는 방법은 (a) 네트워크의 각 레이어들의 Weight 값을 최소와 최대 사이에서 기 설정된 개수의 구간으로 나누는 단계(S10), (b) 상기 (a) 단계에서 나뉜 각각의 구간에서 대표값들을 추출하는 단계(S20), (c) 상기 (b) 단계에서 각각의 구간에서 추출된 대표값들을 코드북에 실수형으로 기록하는 단계(S30) 및 (d) 상기 코드북에 대한 인덱스 값들을 정수형으로 치환하여 기록하는 단계(S40)를 포함한다.
(a) 단계에서는, 각 레이어들의 weight 값(파라미터)을 최소와 최대 사이에서 기 설정된 구간으로 나눈다(S10). 이때, 최소 weight 값과 최대 weight 값 사이에서 구간을 나눌 때 알고리즘에 따라 정해진 개수(n)로 나눌 수 있다. 이때 나뉠 수 있는 구간은 최대 256개가 한계이다.
(b) 단계에서는, 위에서 나뉘어진 구간에서의 대표 값들을 추출해 낸다(S20).
(c) 단계에서는, (b) 단계에서 추출해 낸 대표 값들을 실수형으로 코드북에 기록한다(S30). 이때, 코드북은 저장된 대표 값들이 있는 위치마다 인덱스를 가지고 있을 수 있다.
(d) 단계에서는, 코드북에 대한 인덱스 값들을 정수형으로 치환하여 기록한다(S40). 즉, 코드북에는 대표 값들이 실수형으로 기록되어 있고, 대표 값들이 저장된 위치를 나타내는 각 인덱스 값들을 정수형(byte형)으로 기록함으로써, 실수형이 차지하는 4byte를 1byte로 압축하는 효과가 생기게 된다.
한편, 상기 대표값들을 추출 시, k-means 알고리즘을 사용하거나, 같은 너비를 갖는 구간으로 나누고, 구간의 중간값을 대표값으로 정하여 사용할 수 있다. 이렇게 두 방법으로 대표값을 정할 수 있으며, 이러한 두 가지 방법에 따라 나뉘는 구간의 개수(n)는 달라질 수 있으며 이는 선택되는 알고리즘에 따라 가장 효율적인 범위 내에서 설계자에 의해 정해질 수 있다.
이때, 코드북의 용량은 압축되는 용량에 비해 상대적으로 적어 효율적인 weight quantization이 될 수 있다.
도 8은 본 발명의 다른 실시예에 따른 컨볼루션 신경 네트워크의 훈련데이터를 수집하는 방법을 나타낸 도면이다.
도 8을 참조하면, 컨볼루션 신경 네트워크의 훈련데이터를 수집하는 방법은 카드 이미지 촬영 단계(S1), 영상처리 단계(Data Augmentation 단계)(S2), 이미지 수집 단계(S3)를 포함하며, 보다 상세하게는, (a) 상기 단말장치가 카메라를 통해 서로 다른 종류의 카드 이미지를 촬영하는 단계(S1) 및 (b) 상기 (a) 단계에서 촬영된 복수의 카드 이미지에 대하여 각각 숫자의 위치가 지정된 이미지 패치를 추출해내고 상기 추출된 이미지 패치를 영상처리하는 단계(S2), (c) 상기 (b) 단계에서 영상처리된 이미지 패치를 수집하는 단계(S3)를 포함한다.
(a) 단계에서는, 단말장치가 카메라를 통해 카드 이미지를 촬영한다. 이때, 다양한 카드 종류의 이미지가 촬영될 수 있다(S1). 예를 들어, VISA, Master 등 여러 종류의 카드를 촬영할 수 있다. 이런 과정을 통해 카드 종류별 이미지를 수집할 수 있다. 이때, 촬영된 복수의 이미지에 대하여 설계자는 숫자의 위치를 지정하고 레이블을 다는 라벨링 작업을 수행한다. 이러한 라벨링 작업을 통하여 얻어낸 숫자의 위치를 이용하여 이미지 패치를 분리해낼 수 있다.
(b) 단계에서는, 상기 (a) 단계에서 촬영된 복수의 카드 이미지에 대하여 각각 숫자의 위치가 지정된 이미지 패치를 추출해내고, 상기 추출된 이미지 패치를 영상처리 한다(S2).
(c) 단계에서는, 영상처리된 이미지를 수집한다. 이렇게 수집된 이미지를 통하여 컨볼루션 신경 네트워크는 훈련될 수 있다(S3).
(a) 내지 (c) 단계를 거치면서, 카드의 종류와 이미지의 영상처리 과정을 통해 다양한 이미지가 생성될 수 있다.
한편, (a) 단계에서 카드 이미지 촬영 시, 주변 밝기를 고려하여 촬영할 수 있고, 단말장치의 카메라의 기울기를 고려하여 촬영할 수 있다.
구체적으로 설명하면, 서로 다른 여러 장의 신용카드를 확보한 후에 각각의 신용카드를 ‘백색광’,‘노란광’,‘주변광만 존재하는 어두운 곳에서 각각 촬영한다. 이때, 서로 다른 4대의 카메라로 촬영을 할 수 있고, 카메라의 기울기는 3단계로 각각 다르게 설정하여 촬영할 수 있다.
또한, (b) 단계에서 영상처리 시, 수집된 이미지 패치 데이터들에 대하여, 밝기변화, 대비변화, 흐림효과를 줌으로써 영상의 개수를 늘릴 수 있다.
뿐만 아니라, 카드 이미지의 바운딩박스에 대하여 이동(translation), 크기(Scale), 회전(rotation)의 변화를 주어 서로 다른 영상 데이터를 수집할 수 있다. 이렇게 수집된 영상 데이터는 신용카드를 인식하는 데 있어서, 다양한 상황들을 가정하여 고려된 사항들인 바, 이와 같이, 정제된 데이터 수집 과정을 통하여 과적합을 방지할 수 있는 것이다.
이때, 과적합(overfitting)이란, 표본집단을 통해 이를 해석할 수 있는 회기식이나 분류 모델을 도출한 경우 표본집단에 너무 과하게 적합하게 만드는 경우 실제 모집단에 적용하였을 경우에 오히려 분석력이 떨어지는 경우를 의미한다. 표본집단에 덜 적합한 모델일지라도 모집단에 적용했을 경우 오히려 더 적합한 경우가 많음으로 회기식이나 분류 모델을 도출할 경우 과적합 오류를 고려하여야 한다.
이렇게, 컨볼루션 신경 네트워크의 훈련 데이터를 적당한 수준에서 다양하게 수집함으로써, 과적합(Overfitting)의 문제를 방지할 수 있고, 인식 가능한 도메인을 최대로 하여 인식 성능을 향상시킬 수 있는 효과가 있다.
도 9는 본 발명의 일 실시예에 따른 카드 번호 및 유효기간 번호 인식 시스템을 나타낸 도면이다.
도 9를 참조하면, 본 발명의 일 실시예에 따른 카드 번호 및 유효기간 번호 인식 시스템은 카메라(100), 영상처리부(200), 컨볼루션 신경 네트워크를 이용하는 인식수행장치(300)를 포함하며, 보다 상세하게는, 카드 이미지를 촬영하는 카메라(100), 상기 카드 이미지를 영상처리하는 영상처리부(200), 카드 번호 및 유효기간 번호 인식을 수행하는 컨볼루션 신경 네트워크를 이용하는 인식수행장치(300)를 포함한다.
한편, 카메라(100), 영상처리부(200), 컨볼루션 신경 네트워크를 이용하는 인식수행장치(300) 각각은 컴퓨팅 장치상에서 프로그램을 실행하기 위해 필요한 프로세서 등에 의해 각각 구현될 수 있다.
이처럼 카메라(100), 영상처리부(200), 컨볼루션 신경 네트워크를 이용하는 인식수행장치(300)는 물리적으로 독립된 각각의 구성에 의해 구현될 수도 있고, 하나의 프로세서 내에서 기능적으로 구분되는 형태로 구현될 수도 있다.
또한 영상처리부(200), 컨볼루션 신경 네트워크를 이용하는 인식수행장치(300)는 적어도 하나의 연산 장치를 포함할 수 있는데, 여기서 상기 연산 장치는 범용적인 중앙연산장치(CPU), 특정 목적에 적합하게 구현된 프로그래머블 디바이스 소자(CPLD, FPGA), 주문형 반도체 연산장치(ASIC) 또는 마이크로 컨트롤러 칩 또는 그래픽 처리장치(GPU)일 수 있다.
도 10는 본 발명의 일 실시예에 따른 컨볼루션 신경 네트워크의 카드번호 및 유효기간 첫 숫자 검출기를 나타낸 도면이다.
도 11는 본 발명의 일 실시예에 따른 컨볼루션 신경 네트워크의 카드번호 및 유효기간 숫자 검출기를 나타낸 도면이다.
도 12는 본 발명의 일 실시예에 따른 컨볼루션 신경 네트워크의 카드번호 및 유효기간 숫자 인식기를 나타낸 도면이다.
도 13는 본 발명의 일 실시예에 따른 컨볼루션 신경 네트워크의 숫자 이진 분류기를 나타낸 도면이다.
도 10 내지 13을 참조하면, 본 발명의 일 실시예에 따른 컨볼루션 신경 네트워크를 이용하는 인식수행장치(300)는 카드 번호 첫 숫자 위치 검출기, 카드 번호 및 유효기간 숫자 위치 검출기, 카드 번호 숫자 인식기, 유효기간 첫 숫자 검출기, 유효기간 숫자 인식기, 숫자 이진 분류기를 포함하며, 보다 상세하게는, 카드 번호의 첫 숫자 주변으로 잘려진 이미지패치에서 상기 카드 번호의 첫 숫자의 위치를 검출하는 카드 번호 첫 숫자 위치 검출기, 상기 카드 번호의 주변으로 잘려진 이미지패치에서 상기 카드 번호, 유효기간 번호의 위치를 검출하는 카드 번호 및 유효기간 번호의 위치를 검출하는 숫자 위치 검출기, 상기 카드 번호 및 유효기간 번호의 숫자 위치 검출기로부터 찾아낸 위치 주변으로 잘려진 이미지패치를 입력으로 하여 카드 번호를 인식하는 카드 번호 숫자 인식기, 유효기간 번호의 첫 숫자 주변으로 잘려진 이미지패치에서 상기 유효기간 번호의 첫 숫자의 위치를 검출하는 유효기간 첫 숫자 검출기, 카드 번호 및 유효기간 숫자 위치 검출기로부터 찾아낸 위치 주변으로 잘려진 이미지패치를 입력으로 하여 유효기간 번호를 인식하는 유효기간 번호의 숫자 인식기 및 상기 카드 번호 숫자 인식기 및 상기 유효기간 번호의 숫자 인식기에 입력된 각각의 이미지패치가 숫자가 맞는지 분류하는 숫자 이진(positive/negative) 분류기를 포함한다.
컨볼루션 신경 네트워크를 이용하는 인식수행장치(300)는 multiple 레이어로 이루어져 있음은 전술한 바와 같다. 본 발명의 컨볼루션 신경 네트워크에 대해 자세히 설명하도록 한다.
도 10을 참조하여 설명하면, 카드 번호 첫 숫자 위치 검출기는 카드 번호의 첫 숫자 주변으로 잘려진 이미지패치에서 첫 숫자의 위치를 검출하기 위해 쓰인다. 24x24 사이즈의 이미지 패치를 인풋으로 하며, 16x16 사이즈의 마스크를 아웃풋으로 하는 회귀 네트워크(Regression Network)이다.
이러한 카드 번호 첫 숫자 위치 검출기는 입력 네트워크, 특징 추출 네트워크, 회귀 네트워크로 구성되며, 입력 네트워크는 입력 이미지의 R,G,B를 분리한다. 특징 추출 네트워크는 3개의 컨볼루션 레이어, 2개의 Max pooling 레이어를 가지고 있다.
이때, 2개의 컨볼루션 레이어는 5x5 kernel을 가지고 특징 추출부의 가장 마지막 컨볼루션 레이어는 3x3 kernel을 가지고 있으며, 5x5 kernel을 가지는 컨볼루션 사이에는 2개의 Max pooling 레이어가 존재하며 2x2 kernel, 2x2 stride를 가지고 있다.
구체적으로 설명하면, 컨볼루션 레이어는 nxn 픽셀 사이즈의 사각형 윈도우를 가지고, nxn보다 큰 임의 사이즈의 영상 위에서 위치를 옮겨 다니며 컨볼루션 연산을 하는 레이어다.
이때, 컨볼루션 레이어는 특정 모양의 edge 등을 추출하는 일종의 필터의 역할을 하는 것으로, 예를 들어 세로 edge를 추출하는 필터로 convolution을 수행하면, 세로 edge만 보이는 아웃풋 영상이 나오게 된다.
Max pooling(Subsampling) 레이어는, 인풋 영상 위에서 nxn픽셀 사이즈의 영역을 지정하여, 해당 영역에서 가장 값이 큰 값만을 취하여 새로운 아웃풋을 내는 레이어다. Maxpooling 레이어는, 영상에서 반응도가 높은 부분만 추출하여 영상의 사이즈를 줄이면서 숫자의 위치가 정 중앙에 있지 않고 약간 옆으로 치우쳐져 있더라도 숫자의 인식 및 위치 검출을 가능하게 하는 용도로 사용할 수 있다. 이러한 Max pooling 레이어는 최대값이 아닌 값들을 제거하여, 계산량을 줄일 수 있다.
회귀 네트워크(Regression Network)는 회귀 레이어를 가지고 있으며, 16x16 사이즈(256개)의 마스크 결과 값을 출력한다. 회귀 네트워크는 이미지 패치가 들어갔을 때 원하는 영역을 찾아주는 용도로 사용할 수 있다.
컨볼루션 레이어와 Max pooling 레이어에서 쓰이는 kernel과 stride에 대해 설명하면, 32x32 사이즈의 인풋 영상에서 5x5 kernel, 2x2 stride는 5x5짜리 윈도우를 영상 위에서 x축 2칸, y축 2칸씩 옮겨 다니며 컨볼루션 연산을 수행하는 것을 의미한다.
도 11을 참조하여 설명하면, 카드 번호 및 유효기간 숫자 검출기는 카드 번호의 숫자 주변으로 잘려진 이미지패치에서 숫자의 정확한 위치를 검출하기 위해 쓰인다. 32x32 사이즈의 이미지 패치를 인풋으로 하며, 16x16 사이즈의 마스크를 아웃풋으로 하는 회귀 네트워크(Regression Network)이다.
이러한 카드 번호 및 유효기간 숫자 검출기는 입력 네트워크, 특징 추출 네트워크, 회귀 네트워크로 구성되며, 입력 네트워크는 입력 이미지의 R,G,B를 분리한다.
특징 추출 네트워크는 3개의 컨볼루션 레이어, 2개의 Max pooling 레이어를 가지고 있다. 이때, 3개의 컨볼루션 레이어는 5x5 kernel을 가지고, 각각의 컨볼루션 레이어 사이에 존재하는 Max pooling 레이어는 2x2 kernel, 2x2 stride를 가지고 있다.
도 12를 참조하여 설명하면, 카드 번호 숫자 인식기는 2번 검출기로 찾아낸 카드 번호 숫자 위치 주변으로 잘려진 이미지패치를 인풋으로 하여, 해당 숫자를 분류하기 위해 쓰인다. 32x32 사이즈의 이미지 패치를 인풋으로 하며, 분류된 한자리 숫자(0 내지 9)를 아웃풋으로 한다.
한편, 도 12의 숫자 인식기의 경우, 카드번호 인식기와 유효기간 인식기가 별개이나, 네트워크 구조는 도 12로 동일하다.
이러한 카드 번호 숫자 인식기는 입력부, 특징 추출부, 분류부 구성되며, 입력부는 이미지의 R,G,B 채널을 각각 입력으로 받는다.
특징 추출 네트워크는 2개의 컨볼루션 레이어, 3개의 Max pooling 레이어, merge 레이어를 가지고 있다. 이때, 2개의 컨볼루션 레이어는 각각 5x5 kernel, 7x7 kernel을 가지고, 2개의 Max pooling 레이어는 2x2 kernel, 2x2 stride를 나머지 Max pooling 레이어는 5x5 kernel, 3x3 stride 가지고 있다.
이때, 제일 첫 레이어인 컨볼루션 레이어는 8x3(RGB), 5x5 kernel를 가지며, 그 다음 Max pooling layer는 2x2 kernel, 2x2 stride를 가지는데, 이러한 max pooling layer를 통과한 이미지는 각각 5x5 kernel, 3x3 stride를 가지는 max pooling 레이어와 7x7 kernel을 가지는 컨볼루션 레이어로 전달되며, 컨볼루션 레이어(7x7)을 통과한 후에 2x2 kernel, 2x2 stride를 가지는 max pooling 레이어를 통과한 후에 merge 레이어를 거쳐 분류 네트워크로 전달된다.
분류 네트워크는 20개의 히든 유닛을 가지고, 10개(0내지9)의 출력 값을 산출해 낸다.
이때, 히든 유닛은 히든 레이어에 존재한다. 히든 레이어는 컨볼루션 신경 네트워크를 이용하는 인식수행장치(300)에서 입력 레이어와 출력 레이어 사이에 존재하는 층으로, 입력 레이어로부터 전달되는 파라미터 값들의 선형 결합(linear combination)을 비선형 함수로 처리하여 출력 레이어 또는 다른 히든 레이어로 전달한다. 컨볼루션 신경 네트워크를 이용하는 인식수행장치(300)에서는 여러 레이어의 히든 레이어를 둘 수 있으며, 히든 레이어에는 여러 개의 히든 유닛을 둘 수 있다.
도 10을 참조하면, 유효기간 첫 숫자 검출기는 카드 유효기간의 첫 숫자 주변으로 잘려진 이미지패치를 인풋으로 하며, 나머지 사항은 카드 번호 첫 숫자 검출기와 같다.
도 12를 참조하면, 유효기간 번호의 숫자 인식기는 5번 검출기로 찾아낸 카드 유효기간 숫자 위치 주변으로 잘려진 이미지패치를 인풋으로 하며, 나머지 사항은 카드 번호 숫자 인식기와 같다.
도 13을 참조하면, 숫자 이진 분류기는 숫자 인식기를 보완하기 위한 목적으로 사용된다. 숫자 인식기의 이미지패치를 20x20으로 리사이징하여 분류기에 통과시킴으로써, 해당 이미지 패치가 숫자가 맞는지(positive), 혹은 배경 등 숫자가 아닌 잘못된 이미지 패치인지(negative)를 판별한다. 만약, negative로 분류될 경우, 숫자 인식기의 출력(Output)에 대한 confidence(확률 값)를 낮춘다.
이러한 숫자 이진 분류기는 입력부, 특징 추출부, 분류부 구성되며, 입력부는 이미지의 R,G,B 채널을 각각 입력으로 받는다.
특징 추출 네트워크는 3개의 컨볼루션 레이어, 2개의 Max pooling 레이어를 가지고 있다. 이때, 1개의 컨볼루션 레이어는 5x5 kernel을 가지고 2개의 컨볼루션 레이어는 3x3 kernel을 가지고 있으며, 특징 추출 네트워크의 첫번째 컨볼루션 레이어(5x5 kernel)이며, 각각의 컨볼루션 레이어 사이에는 Max pooling 레이어가 하나씩 존재하며 2x2 kernel, 2x2 stride를 가지고 있다.
분류 네트워크는 2개의 출력 값을 산출해 낸다. 이는 Positive/Negative인지 판별하는 것으로, 이미지 패치가 숫자인 경우 Positive 숫자가 아닌 배경 등 잘못된 이미지인 경우에는 Negative로 판별한다.
이와 같이 본 발명의 컨볼루션 신경 네트워크를 이용하는 인식수행장치(300)를 이용하면 영상처리 기반의 기술에 비해 인식률을 향상시킬 수 있으며, Weight quantization 기술을 이용하여 단말장치의 하드디스크 용량의 제약이 있더라도, 본 발명의 컨볼루션 신경 네트워크를 이용하는 인식수행장치(300)를 단말장치 내에 구비할 수 있도록 할 수 있다.
이때, 단말장치의 하드웨어 성능에 제약이 있을 수 있는 바, 단말장치가 본 발명의 인식시스템을 실행하는 경우 UX/UI적으로 필요한 부분에 대한 이미지 획득을 통하여 성능 제약 문제를 회피할 수 있다.
뿐만 아니라, 단말장치가 본 발명의 인식시스템을 실행하는 경우 UX/UI적으로 프리뷰 단계, 액티비티(인식결과 창) 단계로 나누고, 각 단계별 이미지 인식을 통하여 단말장치의 하드웨어 성능의 제약을 회피하고, 인식 체감 속도를 빠르게 할 수 있다. 또한, 보안의 측면에서, 단말장치가 본 발명의 인식시스템을 실행하는 경우, 프리뷰 단계에서 카드번호 및 유효기간 번호를 모두 인식하여, 사용자가 카드를 바꿔 본 발명을 남용하는 것을 방지할 수 있는 효과가 있다.
이러한 단말장치를 이용한 신용카드 번호 및 유효기간 인식 방법은 프로그램으로 작성 가능하며, 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 단말장치를 이용한 신용카드 번호 및 유효기간 인식 방법에 관한 프로그램은 전자장치가 읽을 수 있는 정보저장매체(Readable Media)에 저장되고, 전자장치에 의하여 읽혀지고 실행될 수 있다.
이하 다양한 실시예들을 살펴본다. 먼저 도 15에 대해서 설명한다. 도 15의 맨위 신용카드 그림에서부터 아래로 총 4개의 신용카드 그림을 순서대로 설명한다. 첫번째로, 빗금친 사각형 영역은 고정 관심영역(ROI)를 나타낸다. 이런 고정 관심영역 안에서 “1”이라는 카드 번호의 첫 숫자의 위치를 검출(실선 사각형)해 낼 수 있다. 이렇게 첫 숫자의 위치를 검출한 다음 두번째, 세번째 숫자인 2와 3의 위치를 검출한 후에, 두번째 그림과 같이 숫자 “1”,”2”,”3”을 인식한다. 도 15에서 화살표 모양이 가리키는 숫자는 인식된 숫자의 결과를 의미한다. 그 후 순서대로, 세번째 신용카드 그림에서 나머지 카드 번호 전체를 인식하는 과정으로 진행되며, 마지막 신용카드 그림에서 유효기간을 인식하는 것으로 신용카드 번호 및 유효기간 인식이 수행된다.
이하 실시예에서 제시된 신용카드 번호는 룬 알고리즘을 통과할 수 있는 샘플 신용카드 번호에 해당한다.
신용카드가 VISA 카드(카드번호 : 4111-1111-1111-1111 유효기간 : 08/16)인 경우, 첫번째로, 고정 관심영역 안에서 “4”라는 카드 번호의 첫 숫자의 위치를 검출(실선 사각형)해 낼 수 있다. 이렇게 첫 숫자의 위치를 검출한 다음 두번째, 세번째 숫자의 위치를 검출한 후에, 첫 3개의 숫자를 인식하여 해당 카드사가 VISA인 것을 확정할 수 있다. VISA의 유효기간 포맷 및 신용카드 번호의 포맷 정보를 획득하고, 나머지 카드 번호 숫자의 위치 검출 및 숫자 인식을 통하여전체 카드 번호인 “4111-1111-1111-1111”을 인식한다. 카드 번호 유효성 검증을 위하여 룬 알고리즘에 대입한다. 이는 유효한 카드번호인 바, 이후 유효기간의 첫 숫자의 위치를 검출한다. 유효기간의 첫 숫자의 위치를 검출하고, 숫자 인식을 한다. 첫 유효기간 숫자는“0”으로 판별되고, 나머지 유효기간 전체를 인식하여, “0”, “8”, “1”, “6”를 추출해 낸다. 지나간 유효기간이 아니고, VISA사에서 인정하는 기간을 넘어서는 유효기간이 아닌 바, 이는 유효한 신용카드 유효기간으로 전체 카드 번호 및 유효기간은 유효하게 전체가 인식될 수 있다.
신용카드가 Master 카드(카드번호 : 5111-1111-1111-1118 유효기간 : 08/16)인 경우, 첫번째로, 고정 관심영역 안에서 “5”라는 카드 번호의 첫 숫자의 위치를 검출(실선 사각형)해 낼 수 있다. 이렇게 첫 숫자의 위치를 검출한 다음 두번째, 세번째 숫자의 위치를 검출한 후에, 첫 3개의 숫자를 인식하여 해당 카드사가 Master 인 것을 확정할 수 있다. Master 의 유효기간 포맷 및 신용카드 번호의 포맷 정보를 획득하고, 나머지 카드 번호 숫자의 위치 검출 및 숫자 인식을 통하여전체 카드 번호인 “5111-1111-1111-1118”을 인식한다. 카드 번호 유효성 검증을 위하여 룬 알고리즘에 대입한다. 이는 유효한 카드번호인 바, 이후 유효기간의 첫 숫자의 위치를 검출한다. 유효기간의 첫 숫자의 위치를 검출하고, 숫자 인식을 한다. 첫 유효기간 숫자는“0”으로 판별되고, 나머지 유효기간 전체를 인식하여, “0”, “8”, “1”, “6”를 추출해 낸다. 지나간 유효기간이 아니고, Master사에서 인정하는 기간을 넘어서는 유효기간이 아닌 바, 이는 유효한 신용카드 유효기간으로 전체 카드 번호 및 유효기간은 유효하게 전체가 인식될 수 있다.
이와 같이, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 실시 형태로 실시될 수 있다는 것을 인지할 수 있을 것이다. 따라서 이상에서 기술한 실시 예들은 예시적인 것일 뿐이며, 그 범위를 제한해놓은 한정적인 것이 아닌 것으로 이해해야만 한다. 또한, 도면에 도시된 순서도들은 본 발명을 실시함에 있어서 가장 바람직한 결과를 달성하기 위해 예시적으로 도시된 순차적인 순서에 불과하며, 다른 추가적인 단계들이 제공되거나, 일부 단계가 삭제될 수 있음은 물론이다.
본 명세서에서 기술한 기술적 특징과 이를 실행하는 구현물은 디지털 전자 회로로 구현되거나, 본 명세서에서 기술하는 구조 및 그 구조적인 등가물 등을 포함하는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어로 구현되거나, 이들 중 하나 이상의 조합으로 구현 가능하다. 또한 본 명세서에서 기술한 기술적 특징을 실행하는 구현물은 컴퓨터 프로그램 제품, 다시 말해 처리 시스템의 동작을 제어하기 위하여 또는 이것에 의한 실행을 위하여 유형의 프로그램 저장매체 상에 인코딩된 컴퓨터 프로그램 명령어에 관한 모듈로서 구현될 수도 있다.
컴퓨터로 판독 가능한 매체는 기계로 판독 가능한 저장 장치, 기계로 판독 가능한 저장 기판, 메모리 장치, 기계로 판독 가능한 전파형 신호에 영향을 미치는 물질의 조성물 또는 이들 중 하나 이상의 조합일 수 있다.
한편, 본 명세서에서 "장치"나 "시스템"이라 함은 예를 들어, 프로세서, 컴퓨터 또는 다중 프로세서나 컴퓨터를 포함하여 데이터를 처리하기 위한 모든 기구, 장치 및 기계를 모두 포함한다. 처리 시스템은, 하드웨어에 부가하여 예를 들어, 프로세서 펌웨어를 구성하는 코드, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 제체 또는 이들 중 하나 이상의 조합 등 요청 시 컴퓨터 프로그램에 대한 실행 환경을 형성하는 모든 코드를 포함할 수 있다.
프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드 등으로 알려진 컴퓨터 프로그램은 컴파일 되거나 해석된 언어 또는 선험적, 절차적 언어를 포함하는 프로그래밍 언어의 어떠한 형태로도 작성될 수 있으며, 독립형 프로그램이나 모듈, 컴포넌트, 서브루틴 또는 컴퓨터 환경에서 사용하기에 적합한 다른 유닛을 포함하여 어떠한 형태로도 구현될 수 있다.
한편, 컴퓨터 프로그램은 파일 시스템의 파일에 반드시 대응되는 것은 아니며, 요청된 프로그램에 제공되는 단일 파일 내에 또는 다중의 상호 작용하는 파일(예를 들어, 하나 이상의 모듈, 하위 프로그램 또는 코드의 일부를 저장하는 파일)내에, 또는 다른 프로그램이나 데이터를 보유하는 파일의 일부(예를 들어, 마크업 언어 문서 내에 저장되는 하나 이상의 스크립트)내에 저장될 수 있다.
컴퓨터 프로그램은 하나의 사이트에 위치하거나 복수의 사이트에 걸쳐서 분산되어 유/무선 통신 네트워크에 의해 상호 접속된 다중 컴퓨터나 하나 이상의 컴퓨터 상에서 실행되도록 구현될 수 있다.
한편, 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체는, 예를 들어 EPROM, EEPROM 및 플래시메모리 장치와 같은 반도체 메모리 장치, 예컨대 내부 하드디스크나 외장형 디스크와 같은 자기 디스크, 자기광학 디스크 및 CD와 DVD 디스크를 포함하여 모든 형태의 비휘발성 메모리, 매체 및 메모리 장치를 포함할 수 있다. 프로세서와 메모리는 특수 목적의 논리 회로에 의해 보충되거나, 그것에 통합될 수 있다.
본 명세서에서 기술한 기술적 특징을 실행하는 구현물은 예를 들어, 데이터 서버와 같은 백엔드 컴포넌트를 포함하거나, 예를 들어, 애플리케이션 서버와 같은 미들웨어 컴포넌트를 포함하거나, 예컨대 사용자가 본 명세서에서 설명한 주제의 구현물과 상호 작용할 수 있는 웹 브라우저나 그래픽 유저 인터페이스를 갖는 클라이언트 컴퓨터와 같은 프론트엔드 컴포넌트 혹은 그러한 백엔드, 미들웨어 혹은 프론트엔드 컴포넌트의 하나 이상의 모든 조합을 포함하는 연산 시스템에서 구현될 수도 있다. 시스템의 컴포넌트는 예를 들어, 통신 네트워크와 같은 디지털 데이터 통신의 어떠한 형태나 매체에 의해서도 상호 접속 가능하다.
이하, 상기 기술한 내용과 더불어 본 명세서에 기술한 시스템과 MO 서비스 기반 혜택 제공 방법이 포함하는 구성들을 구현할 수 있는 보다 구체적인 실시 예에 대하여 자세히 기술하도록 한다.
본 명세서에서 기술한 시스템과 단말장치를 이용한 신용카드 번호 및 유효기간 인식 방법은 클라이언트 디바이스 또는 웹 기반의 스토리지 시스템과 관련된 서버 또는 서버에 포함된 하나 이상의 프로세서(Processor) 상에서 컴퓨터 소프트웨어, 프로그램 코드 또는 명령어를 실행하는 수단을 통해 부분적 또는 전체적으로 사용될 수 있다. 여기서 프로세서는 서버, 클라이언트, 네트워크 인프라 구조, 모바일 컴퓨팅 플랫폼, 고정 컴퓨팅 플랫폼 등과 같은 컴퓨팅 플랫폼 중 일부일 수 있으며, 구체적으로 프로그램 명령어, 코드 등을 실행할 수 있는 컴퓨터 또는 프로세싱 디바이스의 한 종류일 수 있다. 또한, 프로세서는 단말장치를 이용한 신용카드 번호 및 유효기간 인식 방법, 명령어, 코드 및 프로그램을 저장하는 메모리를 더 포함할 수 있으며, 메모리를 포함하지 않는 경우 별도의 인터페이스를 통해 단말장치를 이용한 신용카드 번호 및 유효기간 인식 방법, 명령어, 코드 및 프로그램이 저장된 CD-ROM, DVD, 메모리, 하드 디스크, 플래시 드라이브, RAM, ROM, 캐시 등과 같은 스토리지 디바이스에 접근(Access)할 수도 있다.
또한, 본 명세서에서 기술한 시스템과 단말장치를 이용한 신용카드 번호 및 유효기간 인식 방법은 서버, 클라이언트, 게이트웨이, 허브, 라우터 또는 네트워크 하드웨어 상의 컴퓨터 소프트웨어를 실행하는 장치를 통해 부분적 또는 전체적으로 사용될 수 있다. 여기서 소프트웨어는 파일 서버, 프린트 서버, 도메인 서버, 인터넷 서버, 인트라넷 서버, 호스트 서버, 분산 서버 등과같이 다양한 종류의 서버에서 실행될 수 있으며, 상기 언급한 서버들은 메모리, 프로세서, 컴퓨터에서 판독 가능한 저장매체, 스토리지 매체, 통신 디바이스, 포트, 클라이언트 그리고 다른 서버들을 유/무선 네트워크를 통해 접근할 수 있는 인터페이스를 더 포함할 수 있다.
또한, 단말장치를 이용한 신용카드 번호 및 유효기간 인식 방법, 명령어, 코드 등 역시 서버에 의해 실행될 수 있으며, 단말장치를 이용한 신용카드 번호 및 유효기간 인식 방법을 실행하기 위해 필요한 다른 디바이스들은 서버와 연관된 계층구조의 일 부분으로 구현될 수 있다.
아울러, 서버는 클라이언트, 다른 서버, 프린터, 데이터베이스 서버, 프린트 서버, 파일 서버, 통신 서버, 분산 서버 등을 제한 없이 포함하는 다른 디바이스에게 인터페이스를 제공할 수 있으며, 인터페이스를 통한 연결은 유/무선 네트워크를 통해 프로그램의 원격 실행을 용이하게 할 수 있다.
또한, 인터페이스를 통해 서버에 연결된 디바이스 중 어느 것이라도 단말장치를 이용한 신용카드 번호 및 유효기간 인식 방법, 명령어, 코드 등을 저장할 수 있는 적어도 하나의 스토리지 디바이스를 더 포함할 수 있으며, 서버의 중앙 프로세서는 상이한 디바이스 상에서 실행될 명령어, 코드 등을 디바이스에 제공하여 스토리지 디바이스에 저장되게 할 수 있다.
한편, 본 명세서에서 기술한 시스템과 단말장치를 이용한 신용카드 번호 및 유효기간 인식 방법은 네트워크 인프라구조를 통해 부분적 또는 전체적으로 사용될 수 있다. 여기서 네트워크 인프라구조는 컴퓨팅 디바이스, 서버, 라우터, 허브, 방화벽, 클라이언트, 개인용 컴퓨터, 통신 디바이스, 라우팅 디바이스 등과 같은 디바이스와 각각의 기능을 실행할 수 있는 별도의 모듈 등을 모두 포함할 수 있으며, 상기 언급한 디바이스와 모듈 외에 스토리 플래시 메모리, 버퍼, 스택, RAM, ROM 등과 같은 스토리지 매체를 더 포함할 수 있다. 또한, 단말장치를 이용한 신용카드 번호 및 유효기간 인식 방법, 명령어, 코드 등 역시 네트워크 인프라구조가 포함하는 디바이스, 모듈, 스토리지 매체 중 어느 하나에 의해 실행 및 저장될 수 있으며, 단말장치를 이용한 신용카드 번호 및 유효기간 인식 방법을 실행하기 위해 필요한 다른 디바이스 역시 네트워크 인프라구조의 일 부분으로 구현될 수 있다.
또한, 본 명세서에서 기술한 시스템과 단말장치를 이용한 신용카드 번호 및 유효기간 인식 방법은 하드웨어 또는 특정 애플리케이션(Application)에 적합한 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 여기서 하드웨어는 개인용 컴퓨터, 이동통신 단말기 등과 같은 범용 컴퓨터 디바이스와 기업형 특정 컴퓨터 디바이스를 모두 포함하며, 컴퓨터 디바이스는 메모리, 마이크로프로세서, 마이크로콘트롤러, 디지털 신호 프로세서, 애플리케이션 집적 회로, 프로그래머블 게이트 어레이, 프로그래머블 어레이 조직 등을 포함하는 디바이스 또는 이들의 조합으로 구현될 수 있다.
이상에서 기술한 컴퓨터 소프트웨어, 명령어, 코드 등은 판독 가능한 디바이스에 의해 저장 또는 접근될 수 있으며, 여기서 판독 가능한 디바이스는 일정 시간 간격 동안 컴퓨팅하는데 사용되는 디지털 데이터를 구비하는 컴퓨터 컴포넌트, RAM 또는 ROM과 같은 반도체 스토리지, 광디스크와 같은 영구적인 스토리지, 하드 디스크, 테이프, 드럼 등과 같은 대용량 스토리지, CD 또는 DVD와 같은 광 스토리지, 플래시 메모리, 플로피 디스크, 자기 테이프, 페이퍼 테이프, 독립형 RAM 디스크, 컴퓨터로부터 착탈 가능한 대용량 스토리지와 동적 메모리, 정적 메모리, 가변 스토리지, 클라우드와 같은 네트워크 접속형 스토리지 등과 같은 메모리를 포함할 수 있다. 한편, 여기서 명령어와 코드 등은 SQL, dBase 등과 같은 데이터 지향 언어, C, Objective C, C++, 어셈블리 등과 같은 시스템 언어, Java, NET 등과 같은 아키텍처 언어, PHP, Ruby, Perl, Python 등과 같은 애플리케이션 언어 등과 같은 언어들을 모두 포함하지만, 이에 한정되지는 않고 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 널리 알려진 언어들을 모두 포함할 수 있다.
또한, 본 명세서에서 기술한 "컴퓨터에서 판독 가능한 매체"는 프로그램 실행을 위해 명령어를 프로세서로 제공하는데 기여하는 모든 매체를 포함한다. 구체적으로 데이터 스토리지 디바이스, 광디스크, 자기 디스크 등과 같은 비휘발성 매체, 동적 메모리 등과 같은 휘발성 매체와 데이터를 전송하는 동축 케이블, 구리 와이어, 광섬유 등과 같은 전송 매체를 포함하지만 이에 한정되지는 않는다.
한편, 본 명세서에 첨부된 도면에 도시된 블록도와 순서도에 포함된 본 발명의 기술적 특징을 실행하는 구성들은 상기 구성들 사이의 논리적인 경계를 의미한다.
그러나 소프트웨어나 하드웨어의 실시 예에 따르면, 도시된 구성들과 그 기능들은 독립형 소프트웨어 모듈, 모놀리식 소프트웨어 구조, 코드, 서비스 및 이들을 조합한 형태로 실행되며, 저장된 프로그램 코드, 명령어 등을 실행할 수 있는 프로세서를 구비한 컴퓨터에서 실행 가능한 매체에 저장되어 그 기능들이 구현될 수 있으므로 이러한 모든 실시 예 역시 본 발명의 권리범위 내에 속하는 것으로 보아야 할 것이다.
따라서, 첨부된 도면과 그에 대한 기술은 본 발명의 기술적 특징을 설명하기는 하나, 이러한 기술적 특징을 구현하기 위한 소프트웨어의 특정 배열이 분명하게 언급되지 않는 한, 단순히 추론되어서는 안된다. 즉, 이상에서 기술한 다양한 실시 예들이 존재할 수 있으며, 그러한 실시 예들이 본 발명과 동일한 기술적 특징을 보유하면서 일부 변형될 수 있으므로, 이 역시 본 발명의 권리범위 내에 속하는 것으로 보아야 할 것이다.
또한, 순서도의 경우 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 가장 바람직한 결과를 얻기 위하여 도시된 것으로서, 도시된 특정한 순서나 순차적인 순서대로 그러한 동작들을 반드시 실행되어야 한다거나 모든 도시된 동작들이 반드시 실행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티 태스킹과 병렬 프로세싱이 유리할 수 있다. 아울러, 이상에서 기술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징될 수 있다는 점을 이해하여야 한다.
이와 같이, 본 명세서는 그 제시된 구체적인 용어에 의해 본 발명을 제한하려는 의도가 아니다. 따라서, 이상에서 기술한 실시 예를 참조하여 본 발명을 상세하게 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 본 발명의 범위를 벗어나지 않으면서도 본 실시 예들에 대한 개조, 변경 및 변형을 가할 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 권리범위에 포함되는 것으로 해석되어야 한다.
본 발명은 단말장치를 이용한 신용카드 번호 및 유효기간 인식 시스템 및 방법을 제공함으로써, 신용카드의 이미지 인식률의 정확성 문제를 해결할 수 있다.
즉, 영상처리 기반의 기술에 비해 인식률을 향상시킬 수 있어 산업상 이용가능성이 있다.
또한, 단말장치의 하드디스크 용량의 제약이 있더라도, 본 발명의 컨볼루션 신경 네트워크가 차지하는 용량을 Weight Quantization을 통하여 단말장치 내에 구비할 수 있도록 네트워크의 용량을 줄일 수 있어, 스마트폰 등에 사용이 가능한 바, 산업상 이용가능성이 있다.
또한, 단말장치가 본 발명의 인식시스템을 실행하는 경우 UX/UI적으로 효율적인 이미지 획득을 통하여 단말장치의 하드웨어 성능의 제약을 회피하도록 활용할 수 있어, 산업상 이용가능성이 있다.
또한, 단말장치가 본 발명의 인식시스템을 실행하는 경우 UX/UI적으로 프리뷰 단계, 액티비티(인식결과 창) 단계로 나누고, 각 단계별 이미지 인식을 통하여 단말장치의 하드웨어 성능의 제약을 회피하고, 인식 체감 속도를 빠르게 할 수 있어, 산업상 이용가능성이 있다.
또한, 단말장치가 본 발명의 인식시스템을 실행하는 경우, 액티비티 단계에서 각각 카드번호 및 유효기간 번호를 모두 재 인식하여, 사용자가 카드를 바꿔 본 발명을 남용하는 것을 방지할 수 있어, 산업상 이용가능성이 있다.
100 : 카메라
200 : 영상처리부
300 : 인식수행장치

Claims (11)

  1. 단말장치가 카드 번호 및 유효기간 번호 인식을 수행하는 방법에 있어서,
    (a) 카메라를 통하여 카드 이미지를 획득하는 단계;
    (b) 상기 (a) 단계에서 획득한 이미지로부터 카드 번호의 위치 검출 및 숫자 인식을 수행하는 단계; 및
    (c) 상기 (a) 단계에서 획득한 이미지로부터 유효기간 번호의 위치 검출 및 숫자 인식을 수행하는 단계를 포함하고,
    상기 단말장치가 카드 번호 및 유효기간 번호 인식 수행 시 컨볼루션 신경 네트워크를 이용하며,
    상기 (b) 단계는,
    (1) 카드 번호에서 첫 숫자의 위치를 검출하는 단계;
    (2) 카드 번호에서 첫 3개의 카드 번호의 위치를 검출하는 단계;
    (3) 상기 (2) 단계에서 인식된 상기 첫 3개의 카드 번호에 대한 이미지 패치가 숫자가 아닌 이미지 패치인지 분류하는 단계;
    (4) 상기 (3) 단계에서 숫자임이 확인된 경우, 인식 확률 값을 기 설정된 문턱치 값과 비교하여 상기 첫 3개의 카드 번호를 인식하는 단계;
    (5) 상기 (4) 단계에서 인식된 상기 첫 3개의 카드 번호로부터 카드 종류, 카드 번호 포맷, 유효기간 번호의 위치 및 유효기간 번호의 포맷에 관한 정보를 추출해 내는 단계; 및
    (6) 상기 (5) 단계에서 추출한 정보를 이용하여, 첫 3개의 카드 번호를 제외한 나머지 카드번호의 위치 검출 및 숫자 인식을 수행하는 단계를 포함하는 것을 특징으로 하는 단말장치의 카드 번호 및 유효기간 번호 인식 수행 방법.
  2. [청구항 2은(는) 설정등록료 납부시 포기되었습니다.]
    제 1항에 있어서,
    상기 (c) 단계에 이어서,
    (d) 상기 (c) 단계에서 유효기간 번호 인식에 실패한 경우, 액티비티 단계에서 상기 (a) 내지 (c) 단계에서 획득한 카드 이미지, 유효기간 번호의 위치, 유효기간 번호의 포맷을 이용하여 유효기간 번호의 위치 검출 및 숫자 인식을 재 수행하는 단계;
    를 포함하는 것을 특징으로 하는 단말장치의 카드 번호 및 유효기간 번호 인식 수행 방법.
  3. [청구항 3은(는) 설정등록료 납부시 포기되었습니다.]
    제 1항에 있어서,
    상기 (a) 단계는,
    상기 단말장치의 카메라가 카드의 이미지 프레임을 획득하는 단계;
    상기 단말장치의 표시수단에 가이드라인을 표시하는 단계; 및
    상기 표시된 가이드라인에 중첩되는 카드의 이미지 프레임을 획득하는 프리뷰 단계로 이루어지는 것을 특징으로 하는 단말장치의 카드 번호 및 유효기간 번호 인식 수행 방법.
  4. 삭제
  5. [청구항 5은(는) 설정등록료 납부시 포기되었습니다.]
    제 1항에 있어서,
    상기 (6) 단계는,
    상기 (5) 단계에서 추출한 카드 종류, 카드 번호 포맷에 관한 정보를 이용하여 나머지 카드 번호의 위치를 검출하는 단계;
    상기 나머지 카드 번호의 위치를 검출하는 단계에서 검출된 나머지 카드 번호에 대한 이미지 패치가 숫자가 아닌 이미지 패치인지 분류하는 단계;
    상기 이미지 패치가 숫자가 아닌 이미지 패치인지 분류하는 단계에서 숫자임이 확인된 경우, 인식 확률 값을 기 설정된 문턱치 값과 비교하여 첫 3개의 카드 번호를 제외한 나머지 카드 번호를 인식하는 단계;
    상기 인식된 첫 3개의 카드 번호와 나머지 카드 번호를 룬 알고리즘을 이용하여, 전체 카드 번호의 유효성을 판별하는 단계; 및
    상기 카드 번호 인식 결과 및 각 번호들의 위치 정보를 추출하는 단계;
    를 포함하는 것을 특징으로 하는 단말장치의 카드 번호 및 유효기간 번호 인식 수행 방법.
  6. [청구항 6은(는) 설정등록료 납부시 포기되었습니다.]
    제 1항에 있어서,
    상기 (c) 단계는,
    상기 (5) 단계에서 추출된 상기 유효기간 번호의 위치 및 유효기간 번호의 포맷에 관한 정보를 이용하여 유효기간 번호의 첫 숫자의 위치를 검출하는 단계;
    상기 유효기간 번호의 첫 숫자를 인식하여 1 또는 0인지 판별하는 단계; 및
    상기 유효기간 번호의 첫 숫자를 제외한 나머지 유효기간 번호의 숫자의 위치 검출 및 숫자 인식을 수행하는 단계;
    를 포함하는 것을 특징으로 하는 단말장치의 카드 번호 및 유효기간 번호 인식 수행 방법.
  7. [청구항 7은(는) 설정등록료 납부시 포기되었습니다.]
    제 6항에 있어서,
    상기 유효기간 번호의 첫 숫자를 제외한 나머지 유효기간 번호의 숫자의 위치 검출 및 숫자 인식을 수행하는 단계는,
    상기 유효기간 번호의 첫 숫자의 위치를 검출하는 단계에서 검출된 상기 유효기간 번호의 첫 숫자의 위치를 이용하여 나머지 유효기간 번호의 숫자의 위치를 검출해 내는 단계;
    상기 나머지 유효기간 번호의 숫자의 위치를 검출하는 단계에서 검출된 나머지 유효기간 번호의 숫자에 대한 이미지 패치가 숫자가 아닌 이미지 패치인지 분류하는 단계;
    상기 이미지 패치가 숫자가 아닌 이미지 패치인지 분류하는 단계에서 숫자임이 확인된 경우, 인식 확률 값을 기 설정된 문턱치 값과 비교하여 유효기간 번호의 첫 숫자를 제외한 나머지 유효기간 번호의 숫자를 인식하는 단계; 및
    상기 인식된 유효기간 번호의 첫 숫자와 나머지 숫자의 조합이 유효한 유효기간 번호인지 판별하는 단계;
    를 포함하는 것을 특징으로 하는 단말장치의 카드 번호 및 유효기간 번호 인식 수행 방법.
  8. 삭제
  9. 삭제
  10. [청구항 10은(는) 설정등록료 납부시 포기되었습니다.]
    카드 이미지를 촬영하는 카메라;
    상기 카드 이미지를 영상처리하는 영상처리부; 및
    컨볼루션 신경 네트워크를 이용하여 카드 번호 및 유효기간 번호 인식을 수행하는 인식수행장치를 포함하며,
    상기 인식수행장치는,
    카드 번호의 첫 숫자 주변으로 잘려진 이미지패치에서 상기 카드 번호의 첫 숫자의 위치를 검출하는 카드 번호 첫 숫자 위치 검출기;
    상기 카드 번호의 주변으로 잘려진 이미지패치에서 상기 카드 번호, 유효기간 번호의 위치를 검출하는 카드 번호 및 유효기간 숫자 위치 검출기;
    상기 카드 번호 및 유효기간 숫자 위치 검출기로부터 찾아낸 위치 주변으로 잘려진 이미지패치를 입력으로 하여 카드 번호를 인식하는 카드 번호 숫자 인식기;
    유효기간 번호의 첫 숫자 주변으로 잘려진 이미지패치에서 상기 유효기간 번호의 첫 숫자의 위치를 검출하는 유효기간 첫 숫자 검출기;
    상기 카드 번호 및 유효기간 숫자 위치 검출기로부터 찾아낸 위치 주변으로 잘려진 이미지패치를 입력으로 하여 유효기간 번호를 인식하는 유효기간 번호의 숫자 인식기; 및
    상기 카드 번호 숫자 인식기 및 상기 유효기간 번호의 숫자 인식기에 입력된 각각의 이미지패치가 숫자가 맞는지 분류하는 숫자 이진 분류기를 포함하는 것을 특징으로 하는 단말장치를 이용한 카드 번호 및 유효기간 번호 인식 시스템.
  11. 삭제
KR1020150127147A 2015-09-08 2015-09-08 단말장치를 이용한 신용카드 번호 및 유효기간 인식 시스템 및 방법 KR101824600B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020150127147A KR101824600B1 (ko) 2015-09-08 2015-09-08 단말장치를 이용한 신용카드 번호 및 유효기간 인식 시스템 및 방법
US15/209,773 US10121087B2 (en) 2015-09-08 2016-07-14 System and method for recognizing credit card number and expiration date using terminal device
CN201610605512.XA CN106503703B (zh) 2015-09-08 2016-07-28 使用终端设备来识别信用卡号码和到期日期的系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150127147A KR101824600B1 (ko) 2015-09-08 2015-09-08 단말장치를 이용한 신용카드 번호 및 유효기간 인식 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20170029947A KR20170029947A (ko) 2017-03-16
KR101824600B1 true KR101824600B1 (ko) 2018-03-14

Family

ID=58190562

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150127147A KR101824600B1 (ko) 2015-09-08 2015-09-08 단말장치를 이용한 신용카드 번호 및 유효기간 인식 시스템 및 방법

Country Status (3)

Country Link
US (1) US10121087B2 (ko)
KR (1) KR101824600B1 (ko)
CN (1) CN106503703B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021145466A1 (ko) * 2020-01-13 2021-07-22 엘지전자 주식회사 객체의 정보를 확인하는 이동 단말기 및 그 제어 방법

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101880140B1 (ko) * 2017-05-26 2018-07-20 주식회사 페이콕 결제 카드의 유효기간 판독 방법
US10740607B2 (en) * 2017-08-18 2020-08-11 Autel Robotics Co., Ltd. Method for determining target through intelligent following of unmanned aerial vehicle, unmanned aerial vehicle and remote control
EP3735658A1 (en) * 2018-07-12 2020-11-11 Huawei Technologies Co. Ltd. Generating a compressed representation of a neural network with proficient inference speed and power consumption
CN109087404A (zh) * 2018-07-13 2018-12-25 中国联合网络通信集团有限公司 不停车收费方法及系统
US11182967B2 (en) * 2018-09-28 2021-11-23 Mastercard International Incorporated Devices, computer-readable media, and systems for augmented reality of available resources
CN109460761A (zh) * 2018-10-17 2019-03-12 福州大学 基于维度聚类和多尺度预测的银行卡卡号检测与识别方法
EP3877885A4 (en) * 2018-11-07 2021-12-08 Element AI Inc. REMOVAL OF SENSITIVE DATA FROM DOCUMENTS FOR USE AS TRAINING KITS
CN109583493A (zh) * 2018-11-27 2019-04-05 上海交通大学 一种基于深度学习的信用卡检测和数字识别方法
KR102351578B1 (ko) * 2019-02-25 2022-01-14 네이버 주식회사 글자 인식 장치 및 이에 의한 글자 인식 방법
KR102206604B1 (ko) * 2019-02-25 2021-01-22 네이버 주식회사 글자 인식 장치 및 이에 의한 글자 인식 방법
CN110197179B (zh) * 2019-03-14 2020-11-10 北京三快在线科技有限公司 识别卡号的方法和装置、存储介质及电子设备
CN110766026A (zh) * 2019-10-11 2020-02-07 上海上湖信息技术有限公司 一种快速识别卡号的方法及装置、模型训练方法及装置
JP6989643B2 (ja) * 2020-03-13 2022-01-05 株式会社東芝 情報処理装置およびコンピュータプログラム
CN111783775A (zh) * 2020-06-30 2020-10-16 京东数字科技控股有限公司 一种图像采集方法、装置、设备和计算机可读存储介质
CN111814789A (zh) * 2020-07-15 2020-10-23 中国建设银行股份有限公司 一种卡号检测的方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101295000B1 (ko) 2013-01-22 2013-08-09 주식회사 케이지모빌리언스 카드 번호의 영역 특성을 이용하는 신용 카드의 번호 인식 시스템 및 신용 카드의 번호 인식 방법
JP2014049118A (ja) * 2012-08-31 2014-03-17 Fujitsu Ltd 畳み込みニューラルネットワーク分類器システム、その訓練方法、分類方法および用途

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100442835B1 (ko) * 2002-08-13 2004-08-02 삼성전자주식회사 인공 신경망을 이용한 얼굴 인식 방법 및 장치
CN110222687B (zh) * 2013-06-03 2021-02-26 支付宝(中国)网络技术有限公司 复杂背景卡面信息识别方法及系统
US20150006362A1 (en) * 2013-06-28 2015-01-01 Google Inc. Extracting card data using card art
CN103500337B (zh) * 2013-09-30 2018-10-09 上海合合信息科技发展有限公司 用于智能无线通信终端的识别四边形边框的方法及装置
CN104573616A (zh) * 2013-10-29 2015-04-29 腾讯科技(深圳)有限公司 一种信息识别方法、相关装置及系统
CN104065639B (zh) * 2013-11-06 2015-07-29 腾讯科技(深圳)有限公司 银行卡的绑定方法及系统
US20150347860A1 (en) * 2014-05-30 2015-12-03 Apple Inc. Systems And Methods For Character Sequence Recognition With No Explicit Segmentation
US9449239B2 (en) * 2014-05-30 2016-09-20 Apple Inc. Credit card auto-fill
US9251431B2 (en) * 2014-05-30 2016-02-02 Apple Inc. Object-of-interest detection and recognition with split, full-resolution image processing pipeline

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014049118A (ja) * 2012-08-31 2014-03-17 Fujitsu Ltd 畳み込みニューラルネットワーク分類器システム、その訓練方法、分類方法および用途
KR101295000B1 (ko) 2013-01-22 2013-08-09 주식회사 케이지모빌리언스 카드 번호의 영역 특성을 이용하는 신용 카드의 번호 인식 시스템 및 신용 카드의 번호 인식 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021145466A1 (ko) * 2020-01-13 2021-07-22 엘지전자 주식회사 객체의 정보를 확인하는 이동 단말기 및 그 제어 방법

Also Published As

Publication number Publication date
CN106503703A (zh) 2017-03-15
KR20170029947A (ko) 2017-03-16
US20170068867A1 (en) 2017-03-09
US10121087B2 (en) 2018-11-06
CN106503703B (zh) 2019-12-20

Similar Documents

Publication Publication Date Title
KR101824600B1 (ko) 단말장치를 이용한 신용카드 번호 및 유효기간 인식 시스템 및 방법
EP3437019B1 (en) Optical character recognition in structured documents
WO2021139324A1 (zh) 图像识别方法、装置、计算机可读存储介质及电子设备
CN111160335A (zh) 基于人工智能的图像水印处理方法、装置及电子设备
US11423633B2 (en) Image processing to detect a rectangular object
WO2022037541A1 (zh) 图像处理模型训练方法、装置、设备及存储介质
US10789712B2 (en) Method and system for image analysis to detect cancer
US20150339536A1 (en) Collaborative text detection and recognition
US20170083753A1 (en) Automated methods and systems for identifying and characterizing face tracks in video
US20150055857A1 (en) Text detection in natural images
KR20160132842A (ko) 플로우 문서를 생성하기 위한 이미지 문서 컴포넌트 검출 및 추출 기법
US8971646B1 (en) Face and license plate detection in street level images with 3-D road width features estimated from laser data
CN112529026A (zh) 提供ai模型的方法、ai平台、计算设备及存储介质
US11600088B2 (en) Utilizing machine learning and image filtering techniques to detect and analyze handwritten text
WO2020071558A1 (ja) 帳票レイアウト解析装置、その解析プログラムおよびその解析方法
JP2021135993A (ja) テキスト認識方法及びテキスト認識装置、電子設備、記憶媒体
US20210303905A1 (en) Method, system, and non-transitory computer readable record medium for extracting and providing text color and background color in image
CN115862113A (zh) 陌生人异常识别方法、装置、设备及存储介质
CN112966687B (zh) 图像分割模型训练方法、装置及通信设备
CN112464827B (zh) 口罩佩戴识别方法、装置、设备及存储介质
CN111738252A (zh) 图像中的文本行检测方法、装置及计算机系统
US20220382841A1 (en) Information authentication
KR102026280B1 (ko) 딥 러닝을 이용한 씬 텍스트 검출 방법 및 시스템
CN113486910B (zh) 用于提取数据信息区域的方法、设备和存储介质
KR102027786B1 (ko) 다수의 얼굴 이미지를 동시에 사용하는 얼굴 인식 및 인증 방법 및 시스템

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant