KR101746736B1 - 카드 ocr 이미지들의 클라이언트 사이드 필터링 - Google Patents

카드 ocr 이미지들의 클라이언트 사이드 필터링 Download PDF

Info

Publication number
KR101746736B1
KR101746736B1 KR1020167015826A KR20167015826A KR101746736B1 KR 101746736 B1 KR101746736 B1 KR 101746736B1 KR 1020167015826 A KR1020167015826 A KR 1020167015826A KR 20167015826 A KR20167015826 A KR 20167015826A KR 101746736 B1 KR101746736 B1 KR 101746736B1
Authority
KR
South Korea
Prior art keywords
image
character recognition
card
optical character
ocr
Prior art date
Application number
KR1020167015826A
Other languages
English (en)
Other versions
KR20160085343A (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 구글 인코포레이티드
Publication of KR20160085343A publication Critical patent/KR20160085343A/ko
Application granted granted Critical
Publication of KR101746736B1 publication Critical patent/KR101746736B1/ko

Links

Images

Classifications

    • G06K9/00463
    • 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/12Detection or correction of errors, e.g. by rescanning the pattern
    • G06V30/133Evaluation of quality of the acquired characters
    • G06K9/036
    • G06K9/18
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/95Hardware or software architectures specially adapted for image or video understanding structured as a network, e.g. client-server architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/98Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns
    • G06V10/993Evaluation of the quality of the acquired pattern
    • 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/22Character recognition characterised by the type of writing
    • G06V30/224Character recognition characterised by the type of writing of printed characters having additional code marks or containing code marks
    • 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/414Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text
    • G06K2209/01
    • 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)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Artificial Intelligence (AREA)
  • Character Input (AREA)
  • Character Discrimination (AREA)

Abstract

본 발명의 기술은 광학 문자 인식(OCR)을 위해 시스템으로 전송하기 전에 이미지들을 필터링하기 위한 컴퓨터로 구현되는 방법들, 컴퓨터 프로그램 물들 및 시스템들을 포함한다. 사용자 컴퓨팅 디바이스는 물리적 카드의 디지털 스캔으로부터 카드의 제1 이미지를 획득하고, 제1 이미지의 특징들을 분석하며, 상기 분석은 제1 이미지가 OCR 알고리즘에 의해 사용가능하게 될 가망이 있는지 결정하는데 충분하다. 만약 사용자 컴퓨팅 디바이스가 제1 이미지가 사용가능하게 될 가망이 있다고 결정하면, 제1 이미지는 OCR 알고리즘과 관련된 OCR 시스템에 전송된다. 제1 이미지가 사용가능하게 될 가망이 없다는 결정에 따라, 물리적 카드의 디지털 스캔으로부터 카드의 제2 이미지가 분석된다. 광학 문자 인식 시스템은 상기 필터링된 카드 상에서 광학 문자 인식 알고리즘을 수행한다.

Description

카드 OCR 이미지들의 클라이언트 사이드 필터링{CLIENT SIDE FILTERING OF CARD OCR IMAGES}
관련 출원
본 출원은 2013년 12월 18일에 출원되고 "카드 OCR 이지지들의 클라이언트 사이트 필터링"이라고 명명된 미국 특허출원번호 14/133,232호에 대해 우선권을 주장하며, 상기 출원은 2013년 11월 15일 출원되고 "카드 OCR 이미지들의 클라이언트 사이드 필터링"이라고 명명된 미국 가출원번호 61/904,801호에 대해 우선권을 주장한다. 상기 식별된 출원들의 전체 내용들은 본 명세서에 참조로서 전체적으로 통합된다.
본 명세서에 개시된 기술은 금융 카드 정보를 추출하는 것과 관련되며, 더 구체적으로는 광학 문자 인식을 위해 이미지들을 업로딩하기 전에 사용자 디바이스로 이미지들을 필터링하는 것과 관련된다.
소비자들이 온라인 구매들을 하거나 모바일 디바이스들을 사용하여 구매할 때, 그들은 리워드들이나 결제를 위해 로열티 카드 정보 또는 신용카드 정보를 모바일 디바이스에 입력하도록 흔히 강제된다. 모바일 디바이스의 작은 스크린 사이즈 및 키보드 인터페이스 때문에, 상기 입력은 일반적으로 번거롭고 오류들 범하기 쉽다. 사용자들은 구매들을 위해 신용카드들, 직불카드들, 선불카드들 및 기타 카드들과 같이 서로 다른 많은 카드들을 사용한다. 정보 입력 어려움들은 다수의 거래들을 위해 모바일 디바이스들 상에서 모바일 결제들을 진행하기 위해 시도하는 거래자에 대해 크게 증가된다.
카드로부터 결제 정보 또는 기타 카드 데이터를 획득하기 위한 현재 출원들은 스캔에서 카드의 정확한 포지셔닝을 요구한다. 일반적으로, 박스가 사용자 컴퓨팅 디바이스의 사용자 인터페이스 상에 제시된다. 사용자는 사용자 컴퓨팅 디바이스로 하여금 카드의 이미지를 캡처하게 하기 위해 박스에 카드를 정확하게 정렬할 것을 요한다.
특정 시스템들에서, 사용자 디바이스는 프로세스 하기 위해 시스템에 다수의 이미지들을 업로드한다. 시스템은 적당한 결과들이 획득되지 않았을 때 추가적 이미지들을 요청한다. 업로딩하기 위해 사용가능한 이미지를 획득하기 위해, 사용자는 이미지 캡처링 디바이스의 포지션을 변경하거나, 조명을 바꾸거나 또는 이미지를 개선하기 위해 임의의 기능을 수행한다. 만약 사용자 디바이스가 좋은 이미지가 캡처되기 전에 이미지들을 시스템에 전송하면, 다수의 이미지들을 업로드하기 위해 요구되는 프로세싱 용량은 부담스러워진다. 현재 출원들은 사용가능하지 않은 이미지들을 전송할 필요를 감소시키기 위해 사용자 컴퓨팅 디바이스로 하여금 이미지들을 필터링하게 하지 않는다.
본 발명의 기술은 광학 문자 인식(OCR, optical character recognition)을 위해 시스템에 전송하기 전에 이미지들을 필터링하기 위한 컴퓨터로 구현되는 방법들, 컴퓨터 프로그램물 및 시스템들을 포함한다. 사용자 컴퓨팅 디바이스는 물리적 카드의 디지털 스캔으로부터 카드의 제1 이미지를 획득하고, 제1 이미지의 특징들(features)을 분석하며, 상기 분석은 제1 이미지가 OCR 알고리즘에 의해 사용될 가망이 있는지 결정하는데 충분하다. 만약 사용자 컴퓨팅 디바이스가 제1 이미지가 사용될 가망이 있다고 결정하면, 제1 이미지는 OCR 알고리즘과 관련된 OCR 시스템에 전송된다. 제1 이미지가 사용될 가망이 없다는 결정에 따라, 물리적 카드의 디지털 스캔으로부터 카드의 제2 이미지가 분석된다. 광학 문자 인식 시스템은 상기 필터링된 카드 상에서 광학 문자 인식 알고리즘을 수행한다.
예시적 실시예들의 이들 및 다른 양태들, 오브젝트들, 구성들 및 이점들은 도시된 예시적 실시예들의 후속하는 상세한 설명의 고려에 따라 통상의 기술자에게 분명해질 것이다.
도 1은 본 명세서에 개시된 기술의 특정 예시적 실시예들에 따라, 카드 OCR 이미지들을 필터링하기 위한 시스템을 도시하는 블록 다이어그램이다.
도 2는 특정 예시적 실시예들에 따라, 카드 OCR 이미지들을 필터링하기 위한 방법들을 도시하는 블록 흐름도이다.
도 3은 특정 예시적 실시예들에 따라, 이미지 필터링 요구사항들을 만족하는지 결정하기 위한 방법들을 도시하는 블록 흐름도이다.
도 4는 특정 예시적 실시예들에 따라, 로열티 카드의 이미지를 디스플레이하는 사용자 컴퓨팅 디바이스의 도시이다.
도 5는 특정 예시적 실시예들에 따라, 컴퓨팅 기계 및 모듈을 도시하는 블록 다이어그램이다.
개요
본 명세서의 실시예들은 광학 문자 인식(OCR)을 사용하여 로열티 카드들, 결제 카드들 또는 기타 카드들로부터 카드 정보를 추출하기 위해 사용자 컴퓨팅 디바이스로 하여금 이미지들이 시스템에 업로딩되기 전에 이미지들을 필터링하게 하기 위한 컴퓨터로 구현되는 기법들을 제공한다. 사용자 컴퓨팅 디바이스는 이미지를 프로세싱을 위한 OCR 시스템으로 전송하기 전에 스캔된 이미지가 요구사항들의 세트를 만족하는지 결정한다. 예를 들면, OCR 어플리케이션은 이미지가 흐릿한지 또는 선명한지 여부, 이미지가 데이터 추출을 위해 충분히 밝은지 여부 및/또는 이미지의 예상 부분들에서 텍스트가 존재하는지 여부를 결정한다. 만약 이미지가 프로세싱을 위한 요구사항들을 만족하며, 이미지는 OCR 프로세싱을 받기 위해 OCR 시스템에 전송된다. 상기 절차는 결과들의 세트가 구성된 임계치를 초과할 때까지 추가적인 이미지들과 함께 반복된다.
명세서 전체에 걸쳐서, 일반적 용어 "카드"는 자기 스트라이프 카드와 같은 임의의 타입의 물리적 카드 도구를 나타내기 위해 사용될 것이다. 예시적 실시예들에서, "카드"에 의해 표현되는 서로 다른 타입들의 카드는 신용카드들, 직불카드들, 선불카드들, 로열티 카드들, 신분증 카드들 또는 계좌 또는 사용자의 기타 기록 또는 그것의 기타 정보를 나타내는 임의의 기타 적절한 카드를 포함한다. 본 명세서에서 기술된 예시적 실시예들은 영수증들, 탑승권들, 티켓들 및 기타 적절한 아이템들과 같은 기타 아이템들의 이미지들에 대해 적용된다. 또한 카드는 이미지 또는 카드의 팩시밀리이다. 예를 들면, 카드는 디스플레이 스크린 상의 카드의 표현 또는 카드의 인쇄된 이미지이다.
사용자는 구매, 유료 입장, 로열티 체크인과 같은 거래 또는 기타 적절한 거래를 할 때 카드를 이용한다. 사용자는 카드에 의해 나타나는 계좌를 디지털 지갑 어플리케이션 모듈로 가져오기 위한 목적으로 또는 기타 디지털 계좌 목적들을 위해 카드 정보를 획득한다. 카드는 일반적으로 계좌 정보 및 카드 상에서 기타 데이터를 포함하는 플라스틱 카드이다. 많은 카드 실시예들에서, 고객명, 만료일자 및 카드 번호들은 물리적으로 카드 상에 물리적으로 양각되어 있다. 비록 양각된 정보는 카드의 뒷면에서 일반적으로 반전되어 있지만, 양각된 정보는 카드의 앞면 및 뒷면 둘 다에서 볼 수 있다.
사용자는 예를 들면, 로열티 카드를 물리적인 가맹점 위치에서 또는 온라인에서 사용하기 위해, 온라인 구매를 수행하기 위해, 가맹점 위치에서 구매를 하기 위해, 상기 정보를 사용자 컴퓨팅 디바이스 상의 지갑 어플리케이션에 추가하기 위해, 또는 임의의 기타 적절한 이유를 위해 카드로부터의 정보를 모바일 사용자 컴퓨팅 디바이스 또는 기타 컴퓨팅 디바이스에 입력하기를 원한다. 예시에서, 사용자는 모바일 사용자 컴퓨팅 디바이스에서 실행되는 디지털 지갑 어플리케이션 모듈을 사용하여 구매 거래를 수행하기 위해 모바일 사용자 컴퓨팅 디바이스를 사용하기 원한다. 디지털 지갑 어플리케이션 모듈은 특정 사용자 결제 계좌로의 거래를 수행하기 위해 또는 계좌를 설정하기 위해 특정 사용자 결제 계좌의 세부사항들의 입력을 요구한다. 모바일 디바이스 상의 작은 스크린 사이즈 및 키보드 인터페이스 때문에, 상기 입력은 번거롭고 오류들 범하기 쉽다. 추가적으로, 가맹점 시스템은 거래를 수행하기 위해 또는 다른 이유들로 카드 정보를 캡처해야만 한다.
사용자는 사용자가 사용자 컴퓨팅 디바이스에 입력하기 원하는 계좌와 관련된 카드의 스캔을 캡처하기 위해 모바일 폰, 디지털 카메라 또는 기타 사용자 컴퓨팅 디바이스를 이용한다.
사용자 컴퓨팅 디바이스 상의 OCR 어플리케이션은 카드의 스캔을 수신한다. 스캔 또는 디지털 스캔은 카드의 비디오, 카드의 이미지들의 시리즈들 또는 임의의 기타 적절한 스캐닝 기술로부터의 데이터이다. 특정 실시예들에서, OCR 어플리케이션은 후속적 이미지가 요청될 때까지 프로세싱하기 위한 단일의 이미지를 수신한다. 이미지 또는 이미지들은 모바일 폰 상의 카메라와 같은 사용자 컴퓨팅 디바이스의 카메라 모듈로부터 획득된다. 이미지들은 사용자 컴퓨팅 디바이스와 연결된 임의의 디지털 이미지 디바이스 또는 임의의 기타 적절한 디지털 이미징 디바이스로부터 획득된다. 이미지들은 사용자 저장 디바이스 상의 저장 위치로부터, 원격 저장 위치로부터 또는 임의의 적절한 위치로부터 사용자 컴퓨팅 디바이스 상의 OCR 어플리케이션에 의해 엑세스된다. 이미지를 제공할 능력이 있는 모든 소스들은 "카메라"로 지칭된다.
OCR 어플리케이션은 카메라로부터의 카드의 이미지들을 수신한다. OCR 어플리케이션의 기능들은 임의의 적절한 모듈, 하드웨어, 소프트웨어 또는 사용자 컴퓨팅 디바이스 상에서 동작하는 어플리케이션에 의해 수행된다. OCR 어플리케이션의 기능들의 전부 또는 일부는 원격 서버 또는 OCR 시스템에서 동작하는 서버와 같은 기타 컴퓨팅 디바이스에 의해 수행된다. 예를 들면, 사용자 컴퓨팅 디바이스 상의 디지털 지갑 어플리케이션 모듈은 카드의 이미지들을 획득하고 상기 이미지들을 프로세싱을 위해 OCR 시스템으로 전송한다. 다른 예시에서, OCR 기능들의 일부는 사용자 컴퓨팅 디바이스에 의해, 그리고 일부는 OCR 시스템 또는 다른 원격 서버에 의해 처리된다. 본 명세서에서 제공되는 예시들은 많은 기능들이 사용자 컴퓨팅 디바이스 상의 OCR 어플리케이션에 의해, 그리고 OCR 시스템에 의해 수행되나, 기능들의 전부 또는 일부는 임의의 적절한 컴퓨팅 디바이스에 의해 수행된다는 것을 나타낸다.
예시에서, 카드의 이미지는 금융 카드의 라이브 비디오 이미지로서 사용자 컴퓨팅 디바이스의 사용자 인터페이스에 제시된다. OCR 어플리케이션은 카메라의 비디오 피드(video feed)로부터 하나 이상의 이미지들을 분리(isolate)하고 저장한다. OCR 어플리케이션은 비디오 또는 카드의 다수의 이미지들을 포함하는 기타 적절한 포맷으로 카드의 스캔을 저장한다. 예를 들면, 사용자는 사용자 컴퓨팅 디바이스의 카메라 기능을 금융 카드 위에 떠있게(hover) 하고, 사용자 컴퓨팅 디바이스의 사용자 인터페이스에서 금융 카드의 표현을 관찰한다. 사용자는 선호하는 이미지 또는 이미지들의 그룹을 캡처하기 위해 사용자 컴퓨팅 디바이스 상의 실제 또는 가상 버튼을 작동시킨다. OCR 어플리케이션은 선호하는 이미지들을 자동적으로 선택한다. 대안적 실시예에서, OCR 어플리케이션은 한번에 단지 하나의 이미지만 저장한다.
특정 예시들에서, 기술된 기능들의 전부 또는 일부는 스캔이 작동하는 동안 수행된다. 예를 들면, 사용자는 사용자 컴퓨팅 디바이스의 카메라를 카드 위에 떠있게 하고 본 명세서에 기술된 방법들이 카드의 라이브 이미지들과 함께 수행된다. 즉, OCR 어플리케이션은 카메라의 액티브 피드(active feed)로부터 이미지들을 캡처하고 활용한다.
OCR 어플리케이션은 이미지가 프로세싱을 위해 OCR 시스템으로 전송되기 위한 최소 요구사항들을 만족하는지 결정한다. 유용하지 않은 이미지들을 필터링하기 위해 사용되는 이미지의 특징들의 예시들은 이미지의 흐릿함(blurriness), 이미지의 밝기, 이미지가 텍스트를 포함하는지 여부이다.
예를 들면, OCR 어플리케이션, 카메라 모듈, 또는 사용자 컴퓨팅 디바이스, 또는 기타 컴퓨팅 디바이스는 이미지들 상에서 블러(blur) 감지를 수행한다. 이미지가 흐릿거나 너무 밝거나, 너무 어둡거나 또는 이와 다르게 고해상도 이미지를 획득하는 것을 방해하는 방식으로 불명료한 것으로 인식될 수 있다. 흐릿함(blurriness)의 감지에 응답하여, OCR 어플리케이션 또는 사용자 컴퓨팅 디바이스 또는 카메라의 기타 기능은 이미지에서 블러를 감소시키기 위해 이미지를 캡처하는 방법을 조절한다. 예를 들면, OCR 어플리케이션은 카메라가 금융 카드 상의 초점을 조절하게 한다. 다른 예시에서, OCR 어플리케이션은 사용자가 카메라를 금융 카드에 더 가깝게 또는 더 멀게 움직이게 한다. 다른 예시에서, OCR 어플리케이션은 블러를 제거하기 위해 디지털 이미지 조작을 수행한다. 블러화된 이미지를 수정하는 임의의 기타 방법이 활용될 수 있다.
OCR 어플리케이션은 너무 밝은 영역들을 포함하지 않으면서도 이미지가 OCR 시스템이 텍스트를 판별하기에는 너무 밝은지 결정한다. 예를 들면, 이미지의 일부 부분들은 적절한 밝기를 가지나, 이미지의 다른 부분은 플래시, 반사 또는 다른 광원 때문에 밝기를 가진다. OCR 어플리케이션은 전체 이미지가 적절한 밝기일 것을 요구한다.
OCR 어플리케이션은 이미지가 텍스트를 포함하는지 결정한다. 추가로 OCR 어플리케이션 텍스트가 이미지의 예상 영역에 위치되었는지 결정한다. 예를 들면, OCR 어플리케이션은 신용카드 번호가 사용자 계정 번호를 표시하는 카드의 아래에 한 줄의 숫자들을 포함해야한다는 것을 예측한다. OCR 어플리케이션은 텍스트가 이미지의 예측된 영역들에 포함될 가망이 있는지 결정하기 위해 이미지에서 분류를 실행한다.
각 요구사항의 특징 레벨들(feature levels)은 원하는 결과를 성취하기 위해 구성할 수 있다. 예를 들면, 이미지에서 증가된 밝기는 일반적으로 더 나은 이미지 품질과 동일하므로 OCR 시스템은 수용 가능한 결과들을 획득할 가망이 더 많다. 따라서, 구성 가능한 임계치를 넘는 밝기 레벨은 낮은 신뢰수준을 가지는 OCR 결과를 생산할 가망이 더 적다. 각 특징에 대해 구성된 임계치들은 유용한 이미지가 OCR 시스템에 전송될 가능성을 최적화하도록 구성된다. 다른 예시에서, 적은 블러, 더 선명한 이미지는 OCR 시스템에 의해 거절될 가망을 더 적게 한다. 임의의 기타 요구사항이 OCR 시스템에 의해 거절될 가망이 없는 이미지들을 생산하기 위해 유사하게 구성될 수 있다.
만약 요구사항들이 만족되면, OCR 어플리케이션은 이미지가 OCR 시스템에 의해 프로세싱되도록 업로드한다. OCR 어플리케이션은 이미지를 네트워크 상에서 인터넷 연결, 문자, 이메일 또는 임의의 적절한 방식을 통해 전송한다.
OCR 시스템은 필터링된 이미지를 수신하고 이미지에서 OCR 프로세스를 수행하기 위해 진행한다.
OCR 시스템은 카드로부터 단지 원하는 정보만 디스플레이하기 위해 이미지들을 크롭(crop)한다. 예시에서, 이미지에서 카드가 신용카드이면, OCR 시스템은 신용카드의 계좌번호의 예상 위치와 관련된 정보에 엑세스한다. 예상 위치는 사용자 컴퓨팅 디바이스에 또는 다른 적절한 위치에 저장된 카드 레이아웃들의 데이터베이스로부터 획득된다. 예를 들면, 신용카드들, 운전면허증들, 로열티 카드들 및 다른 카드들은 일반적으로 데이터 위치들 및 카드의 레이아웃에 대한 산업 표준을 만족한다. 산업 표준들은 OCR 어플리케이션에 또는 OCR 어플리케이션에 의해 엑세스가능한 위치에 저장된다.
OCR 시스템은 카드 상의 정보를 식별하기 위해 카드 이미지에 OCR 알고리즘을 적용한다. 정보는 숫자들, 문자들 또는 기타 데이터 또는 정보이다. 정보의 각 예는 "숫자"로 지칭될 것이다. OCR 알고리즘은 임의의 프로세스, 프로그램, 방법 또는 카드 이미지에 표현된 숫자들을 인식하는 기타 방식을 나타낸다. OCR 시스템은 숫자들을 추출하고 추출된 숫자들을 사용자 컴퓨팅 디바이스의 사용자 인터페이스에 디스플레이한다. OCR 시스템은 숫자들의 그룹들을 계좌번호들, 사용자 이름, 만료일자, 카드 발급자 또는 기타 적절한 데이터와 같은 카테고리들로 카테고리화 한다. OCR 시스템은 숫자들의 그룹들의 포맷들을 포맷들의 데이터베이스와 비교함으로써 숫자들의 그룹들을 카테고리화한다. 예를 들면, 만약 숫자들의 그룹에서 OCR 알고리즘의 결과들이 "10/15"이면, OCR 시스템은 상기 포맷을 만료일자와 관련된 것으로 해석한다.
OCR 시스템은 OCR 프로세스의 결과들의 신뢰 수준을 결정한다. 예시에서, OCR 시스템은 상위 2개의 숫자 후보들 간의 신뢰 수준의 차이를 결정함으로써 각 숫자에 대한 신뢰 수준을 결정한다. 즉, OCR 시스템은 숫자가 "1"의 많은 특성들을 만족한다고 결정하고, 80%의 특정 숫자에 대한 점수를 산정한다. OCR 시스템은 동일한 숫자가 "7"의 많은 특성들을 만족한다고 결정하고 60%의 특정 숫자에 대한 점수를 산정한다. 그 후, OCR 시스템은 2개의 숫자 점수들 간의 차이에 기초하여 특정 신뢰 수준을 산정한다.
OCR 시스템은 개별적 숫자들의 신뢰 수준들 또는 점수들에 기초하여 카드 상의 모든 데이터에 대해 신뢰 수준을 결정한다. 예를 들면, OCR 시스템은 숫자 점수들의 평균을 내고, 숫자 점수들을 총합하거나 또는 숫자 점수들에 대해 임의의 기타 적절한 액션을 수행한다. 20개의 숫자들을 포함하는 카드 이미지의 예시에서, OCR 시스템은 10개의 숫자들의 정확도의 신뢰 수준이 90%였고, 다른 10개의 숫자들의 정확도의 신뢰 수준은 80%였다는 것을 결정한다. OCR 시스템은 신뢰 수준들의 평균을 내고, 전반적 신뢰 수준이 85%였다는 것을 결정한다.
OCR 어플리케이션, 사용자, OCR 시스템, 결제 프로세싱 시스템 또는 임의의 적절한 파티(party)는 OCR 알고리즘의 결과들에 대한 임계 신뢰 수준을 결정한다. 예를 들면, 사용자는 OCR 시스템은 반드시 숫자들이 정확할 90%의 가망이 있는 신뢰 수준의 결과를 생산해야 한다는 요구사항을 OCR 시스템에 입력할 수 있다.
OCR 알고리즘의 결과들이 구성된 임계치 이상이면, OCR 시스템은 추출된 데이터를 디지털 지갑 어플리케이션 모듈, POS(point of sale) 단말, 결제 프로세싱 시스템, 웹사이트 또는 임의의 적절한 어플리케이션 또는 사용자가 원하는 시스템에 공급한다. 추출된 데이터는 사용자 컴퓨팅 디바이스 상의 어플리케이션에 의해 사용된다. 추출된 데이터는 네트워크 상의 인터넷 연결을 통해, NFC(near field communication) 기술, 이메일, 문자를 통해 전송되거나 또는 임의의 적절한 방식으로 전송된다.
만약 OCR 알고리즘의 결과들이 구성된 임계치 미만이면, OCR 시스템은 OCR 어플리케이션으로부터 새로운 이미지를 획득한다. 예를 들면, OCR 어플리케이션은 사용자 컴퓨팅 디바이스에 또는 다른 적절한 위치에 저장된 스캔으로부터 추가적인 이미지들에 엑세스한다. OCR 어플리케이션은 카메라로부터의 라이브 스캔으로부터 추가적인 이미지들을 엑세스한다. 다른 예시에서, OCR 어플리케이션은 카드를 다시 스캔하고 분석을 위한 추가적인 이미지들을 캡처한다. 임의의 기타 적절한 방법이 추가적인 이미지들을 획득하기 위해 활용될 수 있다.
OCR 어플리케이션은 본 명세서에 기술된 프로세스를 사용하여 이미지들을 필터링한다. 요구사항들을 만족하는 새로운 이미지를 식별함에 따라, OCR 어플리케이션은 새로운 이미지를 프로세싱하기 위해 OCR 시스템에 전송한다.
OCR 시스템은 OCR 알고리즘을 새로운 이미지들에 적용한다. OCR 어플리케이션은 신뢰 수준 임계치를 만족하거나 초과될 때까지 새로운 이미지들을 요청하고 이미지를 프로세싱하는 프로세스를 계속한다. OCR 시스템은 본 명세서에 기술된 방법을 구성된 시도들의 횟수만큼 반복한다. 예를 들면, OCR 시스템은 5 또는 10개의 추가적 이미지들에 대해 일치하는 결과들을 획득하기 위해 시도한다. 그 후, OCR 시스템 또는 OCR 어플리케이션은 결과들을 거절하거나 추가적 명령들을 사용자에게 제공한다.
예시적 시스템 아키텍처
이제 도면들로 돌아가면, 예시적 실시예들이 상세히 기술되며, 도면들에서 도면들 전체에 걸쳐서 동일한 번호들은 유사한(그러나 필수적으로 동일하지는 않은) 엘리먼트들을 나타낸다.
도 1은 특정 예시적 실시예에 따라 카드 OCR 이미지를 필터링하기 위한 컴퓨팅 시스템을 도시하는 블록 다이어그램이다. 도 1에 도시된 바와 같이, 시스템(100)은 하나 이상의 네트워크들(105)을 통해 상호 통신하도록 구성된 네트워크 컴퓨팅 디바이스들(110, 120, 140 및 170)을 포함한다. 일부 실시예들에서, 디바이스와 관련된 사용자(101)는 어플리케이션을 반드시 설치해야하고 및/또는 본 명세서에 기술된 기법들의 이익들을 얻기 위해서는 구성 선택을 해야한다.
각 네트워크(105)는 유선 또는 무선 텔레커뮤니케이션 수단들을 포함하며, 그에 의해 네트워크 디바이스들(디바이스들(110, 120, 140 및 170)을 포함하는) 데이터를 교환한다. 예를 들면, 각 네트워크(105)는 LAN(local area network), WAN(wide area network), 인트라넷, 인터넷, 모바일 전화 네트워크 또는 그것들의 임의의 조합을 포함한다. 예시적 실시예들의 논의 전체에 걸쳐서, 용어 "데이터" 및 "정보"는 텍스트, 이미지들, 오디오, 비디오 또는 컴퓨터 기반 환경에서 존재하는 임의의 기타 형태의 정보를 지칭하기 위해 본 명세서에서 상호 교환적으로 사용될 수 있다는 것을 이해해야 한다.
각 네트워크 컴퓨팅 디바이스들(110, 120, 140 및 170)은 네트워크(105) 상에서 데이터를 송신하고 수신할 수 있는 통신 모듈을 구비한 디바이스를 포함한다. 예를 들면, 각 네트워크 컴퓨팅 디바이스들(110, 120, 140 및 170)은 서버, 데스크톱 컴퓨터, 랩톱 컴퓨터, 타블렛 컴퓨터, 하나 이상의 프로세서들이 그 안에 내장되거나 및/또는 그에 연결된 텔레비전, 스마트폰, 핸드헬드 컴퓨터, PDA(personal digital assistant) 또는 임의의 기타 유선 또는 무선 프로세서 구동 디바이스를 포함한다. 도 1에 도시된 예시적 실시예에서, 네트워크 디바이스들(110, 120, 140 및 170)은 최종 사용자들 또는 소비자들, OCR 시스템 운영자들, 결제 프로세싱 시스템 운영자들, 카드 발급자 운영자들 각각에 의해 동작된다.
사용자(101)는 예를 들면, 분산된 네트워크(105)를 통해 문서들 또는 웹 페이지들을 보고, 다운로드하고, 업로드하고 또는 이와 다르게 엑세스하기 위한 웹 브라우저 어플리케이션 또는 단독형 어플리케이션인 통신 어플리케이션(112)을 사용한다.
사용자 컴퓨팅 디바이스(110)는 OCR 시스템(120)의 웹 서버(124) 또는 기타 서버들과 통신하기 위해 통신 모듈(112)을 이용한다. 통신 모듈(112)은 디바이스들로 하여금 네트워크(105)가 아닌 기술들을 통해 통신하게 할 수 있다. 예시들은 셀룰러 네트워크, 라디오 네트워크 또는 기타 통신 네트워크를 포함한다.
사용자 디바이스(110)는 디지털 지갑 어플리케이션 모듈(111)을 포함한다. 디지털 지갑 어플리케이션 모듈(111)은 사용자 디바이스(110)가 구매를 완료하기에서 사용자(101)를 보조하기 위해 이용할 수 있는 임의의 어플리케이션, 하드웨어, 소프트웨어 또는 프로세스를 포함한다. 디지털 지갑 어플리케이션 모듈(111)은 통신 어플리케이션(112)과 인터렉션하거나 또는 통신 어플리케이션(112)의 동반 어플리케이션으로서 수록된다. 동반 어플리케이션으로서, 디지털 지갑 어플리케이션 모듈(111)은 통신 어플리케이션(112) 내에서 실행된다. 즉, 디지털 지갑 어플리케이션 모듈(111)은 통신 어플리케이션(112)에 내장된 어플리케이션 프로그램이다.
사용자 디바이스(110)는 광학 문자 인식(OCR, optical character recognition) 어플리케이션(115)을 포함한다. OCR 어플리케이션(115)은 통신 어플리케이션(112)과 인터렉션하거나 또는 통신 어플리케이션(112)의 동반 어플리케이션으로서 수록되고 통신 어플리케이션(112) 내에서 실행된다. 대표적인 실시예에서, OCR 어플리케이션(115)은 추가적으로 또는 대안적으로 디지털 지갑 어플리케이션 모듈(111)의 동반 어플리케이션으로서 수록되고, 디지털 지갑 어플리케이션 모듈(111) 내에서 실행된다. OCR 어플리케이션(115)은 디지털 지갑 어플리케이션(111)에서 오픈되거나 또는 통신 어플리케이션(112)에서 오픈되는 소프트웨어 인터페이스를 이용한다. 상기 인터페이스는 사용자(101)로 하여금 OCR 어플리케이션(115)을 구성하게 한다.
OCR 어플리케이션(115)은 카드를 분석하고 정보 또는 카드로부터의 기타 데이터를 추출하는데 사용된다. OCR 시스템(120) 또는 OCR 알고리즘들 또는 방법들을 개발하는 기타 시스템은 예를 들면, JavaScript를 사용하는, OCR 시스템(120)이 OCR 어플리케이션(115)과 인터렉션하게 하는 컴퓨터 판독가능 프로그램 명령들의 세트를 포함한다.
OCR 어플리케이션(115)에 의해 수행되는 것으로 본 명세서에 기술된 임의의 기능들은 결제 프로세싱 시스템(140), OCR 시스템(120), 사용자 컴퓨팅 디바이스(110), 디지털 지갑 어플리케이션 모듈(111), 가맹점 시스템(도시되지 않음) 또는 임의의 기타 적절한 하드웨어 또는 소프트웨어 시스템 또는 어플리케이션에 의해 수행될 수 있다. 예시에서, 사용자 컴퓨팅 디바이스(110) 상의 OCR 어플리케이션(115)은 카드(102)의 이미지를 획득하고, 카드(102)에서 정보를 추출하기 위해 상기 이미지를 OCR 시스템(120)에 전송한다.
사용자 디바이스(110)는 OCR 어플리케이션(115), 웹 브라우저 어플리케이션(112) 또는 임의의 적절한 컴퓨팅 디바이스 또는 어플리케이션에 의해 엑세스 가능한 데이터 저장 유닛(114)을 포함한다. 대표적인 데이터 저장 유닛(113)은 하나 이상의 유형적 컴퓨터 판독가능 미디어를 포함한다. 데이터 저장 유닛(113)은 사용자 디바이스(110)에 저장되거나 또는 사용자 디바이스(110)예 논리적으로 연결된다. 예를 들면, 데이터 저장 유닛(113)은 온보드 플래시 메모리 및/또는 하나 이상의 이동식 메모리 카드들 또는 이동식 플래시 메모리를 포함한다.
사용자 디바이스(110)는 카메라(114)를 포함한다. 카메라는 디지털 이미지를 획득하는 사용자 컴퓨팅 디바이스(110)의 임의의 모듈 또는 기능이다. 카메라(114)는 사용자 컴퓨팅 디바이스(110)에 탑재되어 있거나 또는 사용자 컴퓨팅 디바이스(110)에 임의의 방식으로 논리적으로 연결되어 있다. 카메라(114)는 개별적 이미지들 또는 비디오 스캔을 획득할 수 있다. 임의의 기타 적절한 이미지 캡처링 디바이스가 카메라(114)에 의해 표현된다.
결제 프로세싱 컴퓨팅 시스템(140)은 웹 서버(144)에 의해 엑세스 가능한 데이터 저장 유닛(147)을 포함한다. 예시적 데이터 저장 유닛(147)은 하나 이상의 유형적 컴퓨터 판독가능 저장 디바이스들을 포함한다. 결제 프로세싱 시스템(140)은 사용자(101)와 가맹점 시스템(도시되지 않음) 간의 결제들을 수행하기 위해 동작가능하다. 또한 결제 프로세싱 시스템(140)은 사용자(101)의 결제 계좌를 관리하고, 가맹점 시스템 및 사용자(101)의 거래들을 저장하기 위한 데이터베이스를 유지하고, 거래들을 인증하고 기타 적절한 기능들을 관리하기 위해 동작가능하다.
사용자(101)는 웹사이트(도시되지 않음) 및 통신 네트워크(105)를 통해 결제 프로세싱 시스템(140)을 보고, 등록하고, 다운로드하고, 업로드하고 또는 이와 다르게 엑세스하기 위해 결제 프로세싱 시스템(140) 상의 웹 서버(144)를 사용한다. 사용자(101)는 은행 계좌 직불카드들, 신용카드들, 기프트카드들, 로열티카드들, 쿠폰들, 오퍼들, 선불 오퍼들, 가게 보상 카드들 또는 사용자(101)의 결제 계좌로 구매하거나 또는 부가가치 서비스들로 교환하는데 사용될 수 있는 기타 타입의 금융 계좌를 포함하는 하나 이상의 등록된 금융 카드 계좌들과 관련된다.
은행 또는 기타 기관과 같은 카드 발급자는 등록되어 있는 금융 계좌의 발급자다. 예를 들면, 카드 발급자는 신용카드 발급자, 직불카드 발급자, 선불카드 발급자, 계좌를 제공하는 금융 기관 또는 금융 계좌의 임의의 기타 제공자이다. 또한 결제 프로세싱 시스템(140)은 관련된 금융 계좌의 발급자로서 기능한다. 사용자(101)의 등록 정보는 결제 프로세싱 시스템(140)의 데이터 저장 유닛(147)에 저장되고 웹 서버(144)에 의해 엑세스가능하다. 카드 발급자는 카드들을 발행하고 사용자 계좌를 관리하고, 그리고 임의의 기타 적절한 기능들을 수행하기 위해 카드 발급자 컴퓨팅 시스템(170)을 이용한다. 카드 발급자 컴퓨팅 시스템(170)은 대안적으로 신분증, 엑세스, 인증, 티켓팅을 위해 사용되는 카드들 또는 임의의 적절한 목적을 위한 카드들을 발급한다. 카드 발급자 컴퓨팅 시스템(170)은 사용자 계정을 관리하고 카드들(102)을 발급하기 위해 웹 서버(177)를 이용한다. 카드 발급자 컴퓨팅 시스템(170)은 데이터 저장 유닛(147)을 포함한다. 대표적인 데이터 저장 유닛(147)은 하나 이상의 유형적 컴퓨터 판독가능 미디어를 포함한다. 데이터 저장 유닛(147)은 카드 발급자 시스템(170)에 저장되거나 또는 카드 발급자 시스템(170)에 논리적으로 연결된다. 예를 들면, 데이터 저장 유닛(147)은 온-보드 플래시 메모리 및/또는 하나 이상의 이동식 메모리 카드들 또는 이동식 플래시 메모리를 포함한다.
OCR 컴퓨팅 시스템(120)은 OCR 알고리즘들, 방법들, 프로세스들 또는 서비스들을 생산하고 관리하고 저장하고 유지하는 시스템을 운영하는 OCR 시스템 웹 서버(124)를 활용한다. OCR 시스템 웹 서버(124)는 OCR 시스템(120)이 OCR 서비스들을 사용자 컴퓨팅 디바이스들(110), 가맹점들 또는 임의의 적절한 부분들에 제공하기 위해 이용하는 컴퓨터로 구현되는 시스템을 나타낸다. OCR 시스템 웹 서버(124)는 하나 이상의 결제 프로세싱 시스템들(140), 사용자 디바이스(110) 또는 기타 컴퓨팅 디바이스들과 임의의 사용가능한 기술들을 통해 통신한다. 이들 기술들은 네트워크(105)를 통한 인터넷 연결, 이메일, 문자, 인스턴트 메시징 또는 기타 적절한 통신 기술들을 포함하나, 그에 제한되지 않는다. OCR 시스템(120)은 OCR 시스템(120)의 웹 서버(124)에 의해 엑세스 가능한 데이터 저장 유닛(127)을 포함한다. 데이터 저장 유닛(127)은 하나 이상의 유형적 컴퓨터 판독가능 저장 디바이스들을 포함한다.
OCR 시스템(120)에 의해 수행되는 것으로 본 명세서에서 기술된 임의의 기능들은 OCR 어플리케이션(115), 사용자 컴퓨팅 디바이스(110), 또는 임의의 기타 적절한 하드웨어 또는 소프트웨어 시스템 또는 어플리케이션에 의해 수행될 수 있다.
사용자(101)는 구매, 유료 입장, 로열티 체크인과 같은 거래 또는 기타 적절한 거래를 할 때 카드(102)를 이용한다. 사용자(101)는 카드(102)에 의해 표현된 계좌를 컴퓨팅 디바이스(110)의 디지털 지갑 어플리케이션 모듈(111)로 가져오기 위한 목적으로 또는 기타 디지털 계좌 목적들로 카드 정보를 획득한다. 카드(102)는 일반적으로 계좌 정보 및 카드(102) 상의 다른 정보를 포함하는 플라스틱 카드이다. 많은 카드(102) 실시예들에서, 고객명, 만료일자, 카드 번호들은 카드(102) 상에 물리적으로 양각된다. 비록 양각된 정보는 카드(102)의 뒷면에서 일반적으로 반전되어 있지만, 양각된 정보는 카드(102)의 앞면 및 뒷면 둘 다에서 볼 수 있다.
도시된 네트워크 연결들은 예시적이며 컴퓨터들 및 디바이스들 간에 통신 링크를 설정하는 기타 메커니즘들이 사용될 수 있다는 것을 인식할 것이다. 추가적으로, 본 발명의 이익을 가지는 통상의 기술자는 도 1에 도시된 사용자 디바이스(110), OCR 시스템(120), 결제 프로세싱 시스템(140), 카드 발급자 시스템(170)은 임의의 여러 개의 기타 적절한 컴퓨터 시스템 구성들을 가질 수 있다는 것을 인식할 것이다. 예를 들면, 모바일 폰 또는 핸드헬드 컴퓨터로서 내장된 사용자 디바이스(110)는 상기 기술된 모든 컴포넌트들을 포함하지 않을 수 있다.
예시적 프로세스들
도 2 내지 3에 도시된 예시적 방법들은 예시적 동작 환경(100)의 컴포넌트들과 관련하여 이하에서 기술된다. 또한 도 2 내지 3의 예시적 방법들은 다른 시스템들과 함께 그리고 다른 환경들에서 수행될 수 있다.
도 2는 특정 예시적 실시예들에 따라, 카드 광학 문자 인식(OCR) 이미지들을 필터링하기 위한 방법(200)을 도시하는 블록 흐름도이다.
도 1 및 2와 관련하여, 블록(205)에서, 사용자 디바이스(110) 상의 OCR 어플리케이션(115)은 카드(102)의 디지털 스캔을 시작한다. 스캔은 모바일폰 상의 카메라(114)와 같은 사용자 컴퓨팅 디바이스(110)의 카메라 모듈(1140로부터 획득된다. 스캔은 사용자 컴퓨팅 디바이스(110)와 연결된 임의의 디지털 이미지 디바이스 또는 임의의 기타 적절한 디지털 이미징 디바이스로부터 획득된다. 이미지들은 사용자 저장 디바이스(110) 상의 저장 위치로부터, 원격 저장 위치로부터 또는 임의의 적절한 위치로부터 사용자 컴퓨팅 디바이스(110) 상의 OCR 어플리케이션(115)에 의해 엑세스된다. 스캔을 제공할 수 있는 모든 소스들은 "카메라"로 지칭된다.
OCR 어플리케이션(115)의 기능들은 임의의 적절한 모듈, 하드웨어, 소프트웨어 또는 사용자 컴퓨팅 디바이스(110) 상에서 동작하는 어플리케이션에 의해 수행된다. OCR 어플리케이션(115)의 기능들의 전부 또는 일부는 원격 서버 또는 OCR 시스템(120)에서 동작하는 서버(124)와 같은 기타 컴퓨팅 디바이스에 의해 수행된다. 예를 들면, 사용자 컴퓨팅 디바이스(110) 상의 디지털 지갑 어플리케이션 모듈(111)은 카드(102)의 이미지들을 획득하고 프로세싱을 위해 상기 이미지들을 OCR 시스템(120)에 전송한다. 다른 예시에서, OCR 기능들의 일부는 사용자 컴퓨팅 디바이스(110)에 의해 수행되고 일부는 OCR 시스템(120)에 의해 또는 다른 원격 서버에 의해 수행된다. 본 명세서에서 제공된 예시들은 많은 기능들이 사용자 컴퓨팅 디바이스(110) 상의 OCR 어플리케이션(115)에 의해 수행되나 기능들의 전부 또는 일부는 임의의 적절한 컴퓨팅 디바이스에 의해 수행된다는 것을 나타낸다.
카드(102)의 이미지는 예를 들면, 카드(102)의 라이브 비디오 이미지로서 사용자 컴퓨팅 디바이스(110)의 사용자 인터페이스에 제시된다. OCR 어플리케이션(115)은 카메라(114)의 비디오 피드로부터 하나 이상의 이미지들을 분리하고 저장한다. OCR 어플리케이션(115)은 카드(102)의 스캔을 비디오 또는 카드(102)의 다수의 이미지들을 포함하는 기타 적절한 포맷으로서 저장한다. 예를 들면, 사용자(101)는 금융 카드(102) 위에서 사용자 컴퓨팅 디바이스(110)의 카메라(114)를 떠 있게(hover) 하고, 사용자 컴퓨팅 디바이스(110)의 사용자 인터페이스에서 금융 카드(102)의 표현을 관찰한다. 사용자(101)는 선호하는 이미지 또는 이미지들의 그룹 또는 디지털 스캔을 캡처하기 위해 사용자 컴퓨팅 디바이스(110) 상의 실제 또는 가상 버튼을 작동시킨다. OCR 어플리케이션(115)은 선호하는 이미지들을 자동적으로 선택한다.
특정 예시들에서, 기술된 기능들의 전부 또는 일부는 스캔이 작동하는 동안 수행된다. 예를 들면, 사용자(101)는 사용자 컴퓨팅 디바이스(110)의 카메라(114)를 카드 위에 떠있게 하고 본 명세서에 기술된 방법들이 카드(102)의 라이브 이미지들과 함께 수행된다. 즉, OCR 어플리케이션(115)은 카메라(114)의 액티브 피드(active feed)로부터 이미지들을 캡처하고 활용한다.
사용자 컴퓨팅 디바이스(110)에 디스플레이된 카드(102)의 도시가 도 4에서 제시된다.
도 4는 특정 예시적 실시예들에 따라, 로열티 카드의 이미지를 디스플레이하는 사용자 컴퓨팅 디바이스(110)의 도시이다. 사용자 컴퓨팅 디바이스(110)는 모바일 스마트폰으로서 도시된다. 사용자 컴퓨팅 디바이스(110)는 사용자 인터페이스로서 디스플레이 스크린(405)과 함께 도시된다. 카드(102)는 사용자(101)이 카드(102)의 이미지를 캡처하고 있는 것으로서 디스플레이된 사용자 컴퓨팅 디바이스(110)에 도시된다.
도 2로 돌아가면, 블록(210)에서, OCR 어플리케이션(115)은 필터링하기 위해 카드(102)의 이미지들을 분리한다. 분리된 이미지는 카드(102)의 스캔으로부터 추출된다. 이미지는 저장된 스캔으로부터 또는 카드(102)의 라이브 스캔으로부터 추출된다. OCR 어플리케이션(115)은 카드(102)의 제1 이미지를 분리한다. 대안적으로, OCR 어플리케이션(115)은 카메라(114)가 구성된 기간의 시간 동안 안정된 후에 이미지를 분리한다. OCR 어플리케이션(115)은 임의의 구성된 절차에 따라 스캔으로부터 임의의 단일의 이미지를 분리한다.
블록(215)에서, OCR 어플리케이션(115)은 이미지가 OCR 프로세싱을 위해 OCR 시스템(120)에 보내지기 위한 요구사항들의 세트를 만족하는지 결정한다. 블록(215)은 도 3의 방법(215)에서 더 상세히 기술된다.
도 3은 특정 예시적 실시예들에 따라, 이미지 필터링 요구사항들을 만족하는지 결정하기 위한 방법들을 도시하는 블록 흐름도이다.
블록(305)에서, OCR 어플리케이션(115)은 이미지 품질 및 내용들을 평가한다. 이미지 품질에 대한 각 요구사항의 특징 레벨들은 원하는 결과를 달성하기 위해 구성 가능하다. 예를 들면, 이미지에서 증가된 밝기는 일반적으로 더 나은 이미지 품질과 동등하며, 따라서 OCR 시스템(120)은 수용 가능한 결과들을 획득할 가망이 더 크다. 따라서, 구성 가능한 임계치를 넘는 밝기 레벨은 낮은 신뢰 수준을 가지는 OCR 결과를 생산할 가망이 더 적다. 각 특징에 대한 구성된 임계치들은 유용한 이미지가 OCR 시스템(120)에 전송될 가능성을 최적화하기 위해 구성된다. 다른 예시에서, 덜 흐릿하고, 그리고 더 선명한 이미지는 OCR 시스템(120)에 전송될 가망이 더 있게 한다. 임의의 기타 요구사항이 OCR 시스템(120)에 전송될 가망이 있는 이미지들을 생산하도록 유사하게 구성된다.
예시에서, OCR 어플리케이션(115), 카메라 모듈(114) 또는 사용자 컴퓨팅 디바이스(110) 또는 기타 컴퓨팅 디바이스는 이미지들에서 블러 감지를 수행한다. 이미지가 흐릿거나 너무 밝거나, 너무 어둡거나 또는 이와 다르게 고해상도 이미지를 획득하는 것을 방해하는 방식으로 불명료한 것으로 인식될 수 있다. 블러 감지는 임의의 이미지 프로세싱 프로그램, 어플리케이션 또는 이미지 선명도를 결정할 수 있는 알고리즘에 의해 수행된다.
예시에서, OCR 어플리케이션(115)은 이미지의 밝기를 감지한다. OCR 어플리케이션(115)은 너무 밝은 영역들을 포함하지 않으면서도 이미지가 OCR 시스템이 텍스트를 파악하기에 너무 밝은지 결정한다. 예를 들면, 이미지의 일부 부분들은 적절한 밝기를 가지나, 이미지의 다른 부분은 플래시, 반사 또는 다른 광원 때문에 밝기를 가진다. OCR 어플리케이션(115)은 이미지의 밝기를 결정하기 위해 임의의 하드웨어, 소프트웨어, 방법 또는 프로세스를 이용한다.
예시에서, OCR 어플리케이션(115)은 이미지에 텍스트가 표시되어 있는지를 결정한다. 또한, OCR 어플리케이션(115)은 텍스트가 이미지의 예상 영역에 위치되었는지 결정한다. 예를 들면, OCR 어플리케이션(115)은 신용카드 번호가 사용자 계정 번호를 표시하는 카드의 아래에 한 줄의 숫자들을 포함해야한다는 것을 예측한다. OCR 어플리케이션(115)은 텍스트가 이미지의 예측된 영역들에 포함될 가망이 있는지 결정하기 위해 이미지에서 분류를 실행한다. 분류는 텍스트의 표시일 수 있는 이미지의 모서리들, 라인들 또는 기타 특성들을 분류하는 임의의 알고리즘 또는 프로그램이다. 분류기(classifier)는 이미지의 주어진 섹션이 텍스트일 가망이 있는 라인들을 포함한다는 것을 결정한다.
OCR 어플리케이션(115)은 분류의 결과들의 신뢰 수준을 결정한다. 예를 들면, OCR 어플리케이션(115)은 분류기가 이미지가 적절한 양의 텍스트를 포함할 80%의 확률을 표시한다는 것을 결정한다. OCR 어플리케이션(115)은 신뢰 수준이 구성된 임계치 보다 큰지 결정한다.
임의의 기타 적절한 필터링 요구사항이 OCR 어플리케이션(115)에 의해 활용될 수 있다. 필터링 요구사항들은 OCR 시스템(120)에 전송될 가망이 없는 이미지들이 전송되는 것을 방지하는 이미지의 임의의 특성들과 관련된다.
블록(310)에서, OCR 어플리케이션(115)은 선명도가 수용 가능한지 결정한다. 만약 블러의 양이 임계치 이하이고 이미지가 OCR 시스템(120)이 수용하기에 충분히 선명할 것으로 예측되면, 방법(215)는 블록(315)으로 진행한다. 만약 이미지가 너무 흐릿하면, 방법(215)은 도 2의 블록(210)을 다시 진행한다.
블록(315)에서, OCR 어플리케이션(115)은 밝기가 수용 가능한지 결정한다. 만약 밝기가 최소 및 최대 임계치 내에 있고 이미지가 OCR 시스템(120)이 수용하기에 충분히 밝을 것으로 예측되면, 방법(215)는 블록(315)으로 진행한다. 만약 이미지가 너무 밝거나, 충분히 밝기 않거나, 밝은 스팟들을 포함하거나 또는 이와 달리 수용 가능하지 않으면, 방법(215)은 도 2의 블록(210)을 다시 진행한다.
블록(320)에서, OCR 어플리케이션(115)은 이미지에 텍스트가 표시되었는지 결정한다. 만약 텍스트의 양 및/또는 위치가 결정되는 확률이 임계치 미만이면, 방법(215)은 도 2의 블록(220)으로 진행한다. 만약 이미지가 적절한 양의 텍스트를 포함하는 확률이 임계치 미만이면, 방법(215)은 도 2의 블록(210)을 다시 진행한다.
방법(215)이 블록(210)으로 되돌아가는 경우, OCR 어플리케이션(115)은 본 명세서에 기술된 바와 같이 카드(102)의 추가적인 이미지를 분리한다. 추가적인 이미지는 방법(215)에서 기술된 바와 같이 필터링된다. 프로세스는 이미지가 분석되고 요구사항들을 만족하는 것으로 결정될 때까지 반복된다. 그 후, 수용가능한 이미지는 OCR 시스템(120)에 전송된다. 특정 실시예에서, OCR 어플리케이션(115)은은 사용자 디바이스(110)의 사용자 인터페이스를 통해, 사용자(101), 카메라(114) 또는 임의의 적절한 엔터티에게 실패의 이유를 알린다. 예를 들면, 만약 이미지가 흐릿한 것을 결정되면, OCR 어플리케이션(115)은 사용자(101)가 카메라(114)의 위치를 조절할 것을 요청한다. OCR 어플리케이션(115)은 카메라(114)가 카드(102)에서 초점을 조절할 것을 요청할 수 있다. 임의의 적절한 요청 또는 추천이 후속 이미지를 개선하기 위해 OCR 어플리케이션(115)에 의해 발행된다.
도 2로 돌아가면, 블록(220)에서, OCR 어플리케이션(115)은 요구사항들을 만족하는 이미지를 OCR 시스템(120)으로 전송한다. OCR 어플리케이션(115)은 네트워크 상에서 인터넷 연결, 문자, 이메일 또는 기타 적절한 방식을 통해 이미지를 전송한다.
블록(225)에서, OCR 시스템(120)은 OCR 알고리즘을 이미지에 적용한다. OCR 시스템(120)은 카드(102)로부터 단지 원하는 정보만 디스플레이하기 위해 이미지를 크롭한다. 예를 들면, 이미지에서 카드(102)가 신용카드이면, OCR 어플리케이션(115)은 신용카드의 계좌번호의 예상 위치와 관련된 정보에 엑세스한다. 예상 위치는 사용자 컴퓨팅 디바이스(11) 또는 다른 적절한 위치에 저장된 카드 레이아웃들의 데이터베이스로부터 획득된다. 신용카드들, 운전면허증, 로열티 카드들 및 기타 카드들은 데이터 위치들 및 카드의 레이아웃에 대한 산업 표준을 일반적으로 만족한다. 산업 표준들은 OCR 시스템(120)에 또는 OCR 시스템(120)에 의해 엑세스될 수 있는 위치에 저장된다. 특정 환경들에서, 데이터 위치들은 카드(102)의 발급자에 의해 제공된다.
카드 상의 정보는 숫자들, 문자들 또는 기타 데이터 또는 정보이다. 정보 또는 데이터의 각 예는 "숫자"로 지칭될 것이다. OCR 알고리즘은 임의의 프로세스, 프로그램, 방법 또는 카드 이미지에 표현된 숫자들을 인식하는 기타 방식을 나타낸다. 그룹들을 계좌번호들, 사용자 이름, 만료일자, 카드 발급자 또는 기타 적절한 데이터와 같은 카테고리들로 분류된다. OCR 시스템(120)은 숫자들의 그룹들의 포맷들을 포맷들의 데이터베이스와 비교함으로써 숫자들의 그룹들을 카테고리화한다. 예를 들면, 만약 숫자들의 그룹에서 OCR 시스템(120)의 결과들이 "10/15"이면, OCR 시스템(120)은 상기 포맷을 만료일자와 관련된 것으로 해석한다.
블록(230)에서, OCR 어플리케이션(115)은 OCR 알고리즘에 임계치를 적용하는 것으로부터의 결과들의 신뢰 수준을 비교한다. 예시에서, OCR 시스템(120)은 상위 2개의 숫자 후보들 간의 신뢰 수준의 차이를 결정함으로써 각 숫자에 대한 신뢰 수준을 결정한다. 즉, OCR 시스템(120)은 숫자가 "1"의 많은 특성들을 만족한다고 결정하고, 80%의 특정 숫자에 대한 점수를 산정한다. OCR 시스템(120)은 동일한 숫자가 "7"의 많은 특성들을 만족한다고 결정하고 60%의 특정 숫자에 대한 점수를 산정한다. 그 후, OCR 시스템(120)은 2개의 숫자 점수들 간의 차이에 기초하여 특정 신뢰 수준을 산정한다.
OCR 시스템(120)은 개별적 숫자들의 신뢰 수준들 또는 점수들에 기초하여 카드(102) 상의 모든 데이터에 대해 신뢰 수준을 결정한다. 신뢰 수준을 산정하는 임의의 방식이 사용될 수 있다. 예를 들면, OCR 어플리케이션(115)은 숫자가 맞을 가능성을 결정하기 위해 기계 학습 알고리즘을 사용할 수 있다. 기계 학습 알고리즘은 사용자(101), OCR 시스템(120)의 운영자 또는 임의의 적절한 사람에 의한 결과들의 인증들 또는 개정들의 전부 또는 일부와 함께 업데이트될 수 있다.
예를 들면, OCR 시스템(120)은 숫자 점수들의 평균을 내고, 숫자 점수들을 총합하거나 또는 숫자 점수들에 대해 임의의 기타 적절한 액션을 수행한다. 20개의 숫자들을 포함하는 카드 이미지의 예시에서, OCR 시스템(120)은 10개의 숫자들의 정확도의 신뢰 수준이 90%였고, 다른 10개의 숫자들의 정확도의 신뢰 수준은 80%였다는 것을 결정한다. OCR 시스템(120)은 신뢰 수준들의 평균을 내고, 전반적 신뢰 수준이 85%였다는 것을 결정한다.
OCR 어플리케이션(115), 사용자(101), OCR 시스템(120), 결제 프로세싱 시스템 또는 임의의 적절한 파티는 OCR 알고리즘(115)의 결과들에 대한 임계 신뢰 수준을 결정한다. 예를 들면, 사용자(101)는 OCR 시스템(120)은 반드시 숫자들이 정확할 90%의 가망이 있는 신뢰 수준의 결과를 생산해야 한다는 요구사항을 OCR 시스템(120)에 입력할 수 있다.
방법(200)은 OCR 알고리즘의 결과들의 신뢰 수준이 구성된 임계치 이상인지 결정한다. 만약 결과가 구성된 임계치 이상이면, 방법(200)은 블록(235)으로 진행한다. 만약 결과가 구성된 임계치 미만이면, 방법(200)은 블록(210)으로 진행한다.
방법(200)이 블록(210)으로 돌아가는 경우, OCR 어플리케이션(115)은 본 명세서에 기술된 바와 같이 카드(102)의 추가적인 이미지를 분리한다. 추가적인 이미지는 방법(215)에서 기술된 바와 같이 필터링되고, 새로운 이미지는 프로세싱을 위해 OCR 시스템(120)으로 전송된다. 프로세스는 이미지가 신뢰 수준 임계치를 만족한다고 결정될 때까지 반복된다.
블록(235)으로 돌아가면, OCR 시스템(120)은 추출된 데이터를 OCR 어플리케이션(115), 디지털 지갑 어플리케이션 모듈(111), POS 단말, 결제 프로세싱 시스템(140), 웹사이트 또는 임의의 적절한 어플리케이션 또는 사용자(101)가 원하는 시스템에 공급한다. 추출된 데이터는 사용자 컴퓨팅 디바이스(110)의 어플리케이션에 의해 사용된다. 추출된 데이터는 네트워크(105) 상의 인터넷 연결을 통해, NFC 기술을 통해 전송되거나, 이메일로 보내지거나, 문자로 전송되거나 또는 임의의 적절한 방식으로 전송된다.
기타 예시적 실시예들
도 5는 특정 예시적 실시예들에 따라, 컴퓨팅 기계(2000) 및 모듈(2050)을 도시한다. 컴퓨팅 기계(2000)는 본 명세서에 제시된 임의의 다양한 컴퓨터들, 서버들, 모바일 디바이스들, 임베디드 시스템들 또는 컴퓨팅 시스템들에 대응한다. 모듈(2050)은 본 명세서에 제시된 기능들을 프로세싱하고 다양한 방법들을 수행하는 것에서 컴퓨팅 기계(2000)를 지원하도록 구성된 하나 이상의 하드웨어 또는 소프트웨어 엘리먼트들을 포함한다. 컴퓨팅 기계(2000)는 프로세서(2010), 시스템 버스(2020), 시스템 메모리(2030), 저장 미디어(2040), 입력/출력 인터페이스(2060) 및 네트워크(2080)와 통신하기 위한 네트워크 인터페이스(2070)와 같은 다양한 내부적 또는 부착된 컴포넌트들을 포함한다.
컴퓨팅 기계(2000)는 통상적 컴퓨터 시스템, 임베디드 컨트롤러, 랩톱, 서버, 모바일 디바이스, 스마트폰, 셋톱 박스, 키오스크, 차량형 정보 시스템, 텔레비전과 관련된 하나 이상의 프로세서들, 커스터마이징된 기계, 임의의 기타 하드웨어 플랫폼 또는 그것들의 임의의 조합 또는 다수로서 구현된다. 컴퓨팅 기계(2000)는 데이터 네트워크 또는 버스 시스템을 통해 상호 연결된 다수의 컴퓨팅 기계들을 사용하여 기능하도록 구성된 분산 시스템이다.
프로세서(2010)는 본 명세서에 기술된 동작들 및 기능을 수행하고, 요청 플로우 및 주소 맵핑들을 관리하고, 계산들을 수행하고 명령들을 생성하기 위해 코드 또는 명령들을 실행하도록 구성된다. 프로세서(2010)는 컴퓨팅 기계(2000)에서 컴포넌트들의 동작을 모니터링하고 제어하도록 구성된다. 프로세서(2010)는 범용 프로세서, 프로세서 코어, 멀티프로세서, 재설정가능한 프로세서, 마이크로컨트롤러, DSP(digital signal processor), ASIC(application specific integrated circuit), GPU(graphics processing unit), FPGA(field programmable gate array), PLD(programmable logic device), 컨트롤러, 스테이트 머신, 게이트 로직, 이산 하드웨어 컴포넌트들, 임의의 기타 프로세싱 유닛 또는 그것들의 임의의 조합 또는 다수이다. 프로세서(2010)는 단일의 프로세싱 유닛, 다수의 프로세싱 유닛들, 단일의 프로세싱 코어, 다수의 프로세싱 코어들, 전용 프로세싱 코어들, 공동-프로세서들, 또는 그것들의 임의의 조합이다. 특정 실시예들에 따르면, 컴퓨팅 기계(2000)의 다른 컴포넌트들과 함께 프로세서(2010)는 하나 이상의 다른 컴퓨팅 기계들 내에서 실행하는 가상화된 컴퓨팅 기계이다.
시스템 메모리(2030)는 ROM(read-only memory), PROM(programmable read-only memory), EPROM(erasable programmable read-only memory), 플래시 메모리 또는 인가된 전원으로 또는 전원 없이 프로그램 명령들 또는 데이터를 저장할 수 있는 임의의 기타 디바이스와 같은 비-휘발성 메모리들을 포함한다. 또한 시스템 메모리(2030)는 RAM(random access memory), SRAM(static random access memory), DRAM(dynamic random access memory) 및 SDRAM(synchronous dynamic random access memory)와 같은 휘발성 메모리들을 포함한다. 시스템 메모리(2030)는 단일의 메모리 모듈 또는 다수의 메모리 모듈들을 사용하여 구현된다. 시스템 메모리(2030)는 컴퓨팅 기계(2000)의 부분으로서 도시되었지만, 통상의 기술자는 시스템 메모리(2030)가 본 발명의 범위로부터 벗어남 없이 컴퓨팅 기계(2000)으로부터 분리될 수 있다는 것을 인식할 것이다. 또한, 시스템 메모리(2030)는 저장 미디어(2040)와 같은 비-휘발성 저장 디바이스를 포함하거나, 그와 함께 동작한다는 것을 인식해야 한다.
저장 미디어(2040)는 하드 디스크, 플로피 디스크, CD-ROM, DVD, 블루-레이 디스크, 자기 테이프, 플래시 메모리, 기타 비-휘발성 메모리 디바이스, SSD, 임의의 자기적 저장 디바이스, 임의의 광학적 저장 디바이스, 임의의 전기적 저장 디바이스, 임의의 반도체 저장 디바이스, 임의의 물리-기반 저장 디바이스, 임의의 기타 데이터 저장 디바이스 또는 그것들의 임의의 조합 또는 다수를 포함한다. 저장 미디어(2040)는 하나 이상의 운영 체제, 어플리케이션 프로그램들 및 모듈(2050)과 같은 프로그램 모듈들, 데이터 또는 임의의 기타 정보를 저장한다. 저장 미디어(2040)는 컴퓨팅 기계(2000)의 일부이거나 또는 그와 연결된다. 또한 저장 미디어(2040)는 서버들, 데이터베이스 서버들, 클라우드 스토리지, NAS(network attached storage) 등과 같은 컴퓨팅 기계(2000)과 통신하는 하나 이상의 다른 컴퓨팅 기계들의 일부이다.
모듈(2050)은 컴퓨팅 기계(2000)가 본 명세서에 제시된 기능들을 프로세싱하고 다양한 방법들을 수행하는 것을 지원하도록 구성된 하나 이상의 하드웨어 또는 소프트웨어 엘리먼트들을 포함한다. 모듈(2050)은 시스템 메모리(2030), 저장 미디어(2040) 또는 둘 다와 관련된 소프트웨어 또는 펌웨어로서 저장된 하나 이상의 명령들의 시퀀스들을 포함한다. 그러므로 저장 미디어(2040)는 명령들 또는 코드가 프로세서(2010)에 의한 실행을 위해 저장되는 기계 또는 컴퓨터 판독가능 매체의 예시들을 나타낸다. 기계 또는 컴퓨터 판독가능 매체는 일반적으로 프로세서(2010)에 명령들을 제공하는데 사용되는 임의의 매체 또는 매체들을 지칭한다. 모듈(2050)과 관련된 상기 기계 또는 컴퓨터 판독가능 매체는 컴퓨터 소프트웨어 제품을 포함한다. 또한, 모듈(2050)을 포함하는 컴퓨터 소프트웨어 제품은 모듈(2050)을 네트워크(2080), 임의의 신호-베어링 매체 또는 임의의 기타 통신 또는 전달 기술을 통해 컴퓨팅 기계(200)에 전달하기 위한 하나 이상의 프로세스들 또는 방법들과 관련된다는 것이 인식되어야 한다. 또한 모듈(2050)은 하드웨어 회로들 또는, 마이크로코드 또는 FPGA또는 기타 PLD에 대한 구성 정보와 같은 하드웨어 회로들을 구성하기 위한 정보를 포함한다.
입력/출력(I/O) 인터페이스(2060)는 하나 이상의 외부 디바이스들로부터 데이터를 수신하고, 데이터를 하나 이상의 외부 디바이스들에 보내기 위해 하나 이상의 외부 디바이스들에 연결되도록 구성된다. 또한 다양한 내부 디바이스들과 함께 상기 외부 디바이스들은 주변장치들로도 알려져 있다. I/O 인터페이스(2060)는 다양한 주변 장치들을 컴퓨팅 기계(2000) 또는 프로세서(2010)에 동작적으로 연결하기 위한 전기적 및 물리적 연결들을 포함한다. I/O 인터페이스(2060)는 주변장치들, 컴퓨팅 기계(2000) 또는 프로세서(2010) 간 데이터, 주소들, 및 제어 신호들과 통신하도록 구성된다. I/O 인터페이스(2060)는 SCSI(small computer system interface), SAS(serial-attached SCSI), 섬유 채널, PCI(peripheral component interconnect), PCIe(PCI express), 직렬버스, 병렬버스, ATA(advanced technology attached), SATA(serial ATA), USB(universal serial bus), 썬더볼트, 파이어와이어, 다양한 비디오 버스들 및 그와 유사한 것들 과 같은 임의의 표준 인터페이스를 구현하도록 구성된다. I/O 인터페이스(2060)는 단지 하나의 인터페이스 또는 버스 기술을 구현하도록 구성된다. 대안적으로 I/O 인터페이스(2060)는 다수의 인터페이스들 또는 버스 기술들을 구현하도록 구성된다. I/O 인터페이스(2060)는 시스템 버스(2020)와 함께, 또는 그 일부로서, 또는 그 전부로서 구성된다. I/O 인터페이스(2060)는 하나 이상의 외부 디바이스들, 내부 디바이스들, 컴퓨팅 기계(2000) 또는 프로세서(2010) 사이의 전송들을 버퍼링하기 위한 하나 이상의 버퍼들을 포함한다.
I/O 인터페이스(2060)는 컴퓨팅 기계(2000)를 마우스들, 터치-스크린들, 스캐너들, 전자 디지타이저들, 센서들, 수신기들, 터치패드들, 트랙볼드, 카메라들, 마이크들, 키보드들, 임의의 기타 포인팅 디바이스들 또는 그것들의 임의의 조합을 포함하는 다양한 입력 디바이스들에 연결한다. I/O 인터페이스(2060)는 컴퓨팅 기계(2000)를 비디오 디스플레이들, 스피커들, 프린터들, 프로젝터들, 촉각적 피드백 디바이스들, 자동 제어, 로보틱 컴포넌트들, 액츄에이터들, 모터들, 팬들, 솔레노이드들, 밸브들, 펌프들, 전송기들, 신호 생략기들, 라이트들 등을 포함하는 다양한 출력 디바이스들에 연결한다.
컴퓨팅 기계(2000)는 네트워크 인터페이스(2070)을 통해 하나 이상의 다른 시스템들 또는 네트워크(2080) 상의 컴퓨팅 기계들에게로 논리적 연결들을 사용하여 네트워크화된 환경에서 동작한다. 네트워크(2080)는 WAN들(wide area networks), LAN들(local area networks), 인트라넷들, 인터넷, 무선 엑세스 네트워크들, 유선 네트워크들, 모바일 네트워크들, 전화 네트워크들, 광학 네트워크들 또는 그것들의 조합들을 포함한다. 네트워크(2080)는 스위칭된 패킷, 스위칭된 회로 또는 임의의 토폴로지이고, 임의의 통신 프로토콜을 사용한다. 네트워크(2080) 내의 통신 링크들은 광섬유 케이블들, 프리-스페이스 옵틱들, 웨이브가이드들, 전기적 컨덕터들, 무선 링크들, 안테나들, 라디오-주파수 통신들 등과 같은 다양한 디지털 또는 아날로그 통신 매체를 수반한다.
프로세서(2010)는 시스템 버스(2020)를 통해 본 명세서에서 논의된 컴퓨팅 기계(2000) 또는 다양한 주변장치들의 다른 엘리먼트들에 연결된다. 시스템 버스(2020)는 프로세서(2010) 내, 프로세서(2010) 외, 또는 둘 다에 있다는 것을 인식해야만 한다. 일부 실시예들에 따르면, 임의의 프로세서(2010), 컴퓨팅 기계(2000)의 다른 엘리먼트들 또는 본 명세서에서 논의되는 다양한 주변장치들은 시스템 온 칩(SOC), 시스템 온 패키지(SOP), 또는 ASIC 디바이스와 같은 단일의 디바이스에 통합된다.
본 명세서에서 논의된 시스템들이 사용자들에 관한 개인 정보를 수집하거나 또는 개인 정보를 사용하는 경우들에 있어서, 사용자들에게 프로그램들 또는 구성들이 사용자 정보(예를 들면, 사용자의 소셜 네트워크, 소셜 액션들 또는 활동들, 직업, 사용자의 선호들 또는 사용자의 현재 위치에 관한 정보)를 수집할 것인지 여부를 제어할, 사용자와 더 관련된 컨텐츠 서버로부터의 컨텐츠를 수신할지 및/또는 어떻게 수신할지 제어할 기회 또는 옵션이 제공된다. 추가로, 특정 데이터는 그것이 저장되거나 사용되기 전에 하나 이상의 다양한 방식들로 취급되어, 개인적으로 식별가능한 정보는 제거된다. 예를 들면, 사용자의 아이덴티티는 사용자에 대한 개인적으로 식별가능한 정보가 결정될 수 없도록 취급되거나, 또는 사용자의 지리적 위치는 위치 정보가 획득된 곳에서 일반화되어(도시, 우편번호, 또는 주 레벨로와 같이), 사용자의 특정 위치가 결정될 수 없게 된다. 따라서, 사용자는 사용자에 관한 정보가 어떻게 수집되는지 그리고 컨텐츠 서버에 의해 사용되는지에 관한 제어를 가진다.
실시예들은 본 명세서에 기술되고 도시된 기능들을 수록한 컴퓨터 프로그램을 포함하며, 상기 컴퓨터 프로그램은 기계-판독가능 매체에 저장된 명령들 및 명령들을 실행하는 프로세서를 포함하는 컴퓨터 시스템에서 구현된다. 그러나, 컴퓨터 프로그래밍에서 실시예들을 구현하는 많은 서로 다른 방식들이 있으며, 실시예들은 컴퓨터 프로그램 명령들의 임의의 하나의 세트에 대한 제한으로서 여겨져서는 안된다는 것은 명백하다. 게다가, 숙련된 프로그래머는 첨부된 흐름도들 및 관련된 어플리케이션 텍스트 내의 기술에 기초하여 개시된 실시예들의 실시예를 구현하기 위해 그러한 컴퓨터 프로그램을 작성할 수 있다. 그러므로, 프로그램 코드 명령들의 특정 세트의 개시는 실시예들을 어떻게 만들고 사용할지에 관한 적절한 이해를 위해 필요하지 않다고 여겨진다. 추가로, 통상의 기술자들은 본 명세서에 기술된 실시예들의 하나 이상의 양태들은 하나 이상의 컴퓨팅 시스템들에 수록된 것과 같이, 하드웨어, 소프트웨어 또는 그것들의 조합에 의해 수행될 수 있다는 것을 인식할 것이다. 게다가, 컴퓨터에 의해 수행되는 동작에 대한 임의의 참조는 하나 이상의 컴퓨터가 동작을 수행할 수 있으므로, 단일의 컴퓨터에 의해 수행되는 것으로 여겨져서는 안된다.
본 명세서에 기술된 예시적 실시예들은 본 명세서에 기술된 방법들을 수행하고 기능들을 프로세싱하는 컴퓨터 하드웨어 및 소프트웨어와 함께 사용된다. 본 명세서에 기술된 시스템들, 방법들, 및 절차들은 프로그래머블 컴퓨터, 컴퓨터 실행가능 소프트웨어 또는 디지털 회로에 수록된다. 소프트웨어는 컴퓨터 저장 매체에 저장된다. 예를 들면, 컴퓨터 판독가능 매체는 플로피 디스크, RAM, ROM, 하드 디스크, 이동식 미디어, 플래시 메모리, 메모리 스틱, 광학 미디어, 자기-광학적 미디어, CD-ROM 등을 포함한다. 디지털 회로는 집적회로들, 게이트 어레이들, 빌딩 블록 로직, FPGA 등을 포함한다.
이전에 제시된 실시예들에서 기술된 예시적 시스템들, 방법들 및 동작들은 도시적이며, 대안적인 실시예들에서, 특정 동작들은 다양한 실시예들의 범위와 정신으로부터 벗어남 없이, 다른 순서로, 다른 것과 병력적으로, 전체적으로 생략되어, 및/또는 서로 다른 예시적 실시예들 사이에 조합되어 수행될 수 있고 및/또는 특정 추가적인 동작들이 수행될 수 있다. 따라서, 상기 대안적 실시예들도 본 명세서의 청구된 발명에 포함된다.
비록 구체적 실시예들이 상기에 상세히 기술되었지만, 상기 기술은 단지 도시적인 목적들이다. 그러므로 상기 기술된 많은 양태들은 명시적으로 다르게 언급되지 않는 한 필요적인 또는 기본적인 엘리먼트들로서 의도되지 않았다는 것을 인식해야 한다. 상기 기술된 것들에 더하여, 후속하는 청구항들에서 정의된 실시예들의 정신과 범위로부터 벗어남 없이, 본 발명의 이익을 가지는, 예시적 실시예들의 개시된 양태들의 변경들 및 그에 대응하는 균등한 컴포넌트들 또는 동작들이 통상의 기술자에 의해 만들어질 수 있고, 청구항들의 범위는 상기 변경들 및 균등한 구조들을 포함하도록 가장 넓은 해석이 적용된다.

Claims (20)

  1. 컴퓨터로 구현되는, 이미지들을 필터링하기 위한 방법에 있어서,
    하나 이상의 컴퓨팅 디바이스들에 의해, 카드의 제1 이미지를 캡처(capture)하는 단계;
    상기 하나 이상의 컴퓨팅 디바이스들에 의해, 상기 제1 이미지가 광학 문자 인식 알고리즘(optical character recognition algorithm)에 의해 사용가능하게 될 할 가망이 있는지 여부를 결정하기 위해 상기 제1 이미지의 특징들(features)을 분석하는 단계;
    상기 하나 이상의 컴퓨팅 디바이스들에 의해, 상기 제1 이미지가 사용가능하게 될 가망이 없다고 결정하는 것에 응답하여, 상기 제1 이미지를 전송하지 않는 단계;
    상기 하나 이상의 컴퓨팅 디바이스들에 의해, 상기 제1 이미지를 전송하지 않는 것에 응답하여, 상기 카드의 제2 이미지를 캡처하는 단계;
    상기 하나 이상의 컴퓨팅 디바이스들에 의해, 상기 제2 이미지가 광학 문자 인식 알고리즘에 의해 사용가능하게 될 가망이 있는지 여부를 결정하기 위해 상기 제2 이미지의 특징들을 분석하는 단계; 및
    상기 하나 이상의 컴퓨팅 디바이스들에 의해, 상기 제2 이미지가 사용가능하게 될 가망이 있다고 결정하는 것에 응답하여, 상기 광학 문자 인식 알고리즘과 관련된 광학 문자 인식 시스템에 상기 제2 이미지를 전송하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 청구항 1에 있어서,
    상기 하나 이상의 컴퓨팅 디바이스들에 의해, 상기 제2 이미지는 상기 광학 문자 인식 시스템으로부터, 상기 광학 문자 인식 알고리즘이 구성된 임계 신뢰 수준(threshold confidence level) 미만인 결과들을 생성했다는 표시를 수신함에 따라 캡처되는 것을 특징으로 하는 방법.
  3. 청구항 1에 있어서,
    상기 분석하는 단계는:
    상기 하나 이상의 컴퓨팅 디바이스들에 의해, 상기 이미지에서 블러(blur)를 감지하는 단계; 및
    상기 하나 이상의 컴퓨팅 디바이스들에 의해, 상기 이미지에서 감지된 블러의 양이 구성된 임계치 미만이라는 결정에 따라, 상기 이미지가 상기 광학 문자 인식 알고리즘에 의해 사용가능하게 될 가망이 있다는 것을 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  4. 청구항 1에 있어서,
    상기 분석하는 단계는:
    상기 하나 이상의 컴퓨팅 디바이스들에 의해, 상기 이미지의 밝기의 레벨을 감지하는 단계; 및
    상기 하나 이상의 컴퓨팅 디바이스들에 의해, 상기 이미지에서 감지된 상기 밝기의 레벨이 구성된 임계치들 사이에 있다는 결정에 따라, 상기 이미지가 광학 문자 인식 알고리즘에 의해 사용가능하게 될 가망이 있다는 것을 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  5. 청구항 1에 있어서,
    상기 분석하는 단계는:
    상기 하나 이상의 컴퓨팅 디바이스들에 의해, 상기 이미지에서 텍스트를 감지하는 단계; 및
    상기 하나 이상의 컴퓨팅 디바이스들에 의해, 상기 이미지에서 감지된 텍스트의 양이 구성된 임계치를 초과한다는 결정에 따라, 상기 이미지가 광학 문자 인식 알고리즘에 의해 사용가능하게 될 가망이 있다는 것을 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  6. 청구항 5에 있어서,
    상기 하나 이상의 컴퓨팅 디바이스들에 의해, 상기 이미지에서 감지된 상기 텍스트가 구성된 예상 위치에 대응하는 상기 이미지의 위치에 있다는 결정에 따라, 상기 이미지가 광학 문자 인식 알고리즘에 의해 사용가능하게 될 가망이 있다는 것을 결정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  7. 청구항 1에 있어서,
    상기 카드는 신용카드(credit card), 직불카드(debit card), 신분증카드(identification card), 로열티카드(loyalty card), 엑세스카드(access card) 또는 선불카드(stored value card)인 것을 특징으로 하는 방법.
  8. 비-일시적 컴퓨터-판독가능 저장 디바이스에 저장된 컴퓨터 프로그램에 있어서, 상기 컴퓨터 프로그램은 컴퓨터-실행가능 명령들을 포함하며, 상기 명령들은 컴퓨터에 의해 실행될 때, 상기 컴퓨터로 하여금 이미지들을 필터링하기 위한 동작들을 수행하게 하며, 상기 동작들은:
    카드의 제1 이미지를 캡처(capture)하는 동작;
    상기 제1 이미지가 광학 문자 인식 알고리즘(optical character recognition algorithm)에 의해 사용가능하게 될 가망이 있는지 여부를 결정하기 위해 상기 제1 이미지의 특징들(features)을 분석하는 동작;
    상기 제1 이미지가 사용가능하게 될 가망이 없다고 결정하는 것에 응답하여, 상기 제1 이미지를 전송하지 않는 동작;
    상기 카드의 제2 이미지를 캡처하는 동작;
    상기 제2 이미지가 광학 문자 인식 알고리즘에 의해 사용가능하게 될 가망이 있는지 여부를 결정하기 위해 상기 제2 이미지의 특징들을 분석하는 동작; 및
    상기 제2 이미지가 사용가능하게 될 가망이 있다고 결정하는 것에 응답하여, 상기 광학 문자 인식 알고리즘과 관련된 광학 문자 인식 시스템에 상기 제2 이미지를 전송하는 동작을 포함하는 것을 특징으로 하는 컴퓨터 프로그램.
  9. 청구항 8에 있어서,
    상기 제2 이미지는 상기 광학 문자 인식 시스템으로부터, 상기 광학 문자 인식 알고리즘이 구성된 임계 신뢰 수준(threshold confidence level) 미만인 결과들을 생성했다는 표시를 수신함에 따라 캡처되는 것을 특징으로 하는 컴퓨터 프로그램.
  10. 청구항 8에 있어서,
    상기 분석하는 동작은:
    상기 이미지에서 블러(blur)를 감지하는 동작; 및
    상기 이미지에서 감지된 블러의 양이 구성된 임계치 미만이라는 결정에 따라, 상기 이미지가 상기 광학 문자 인식 알고리즘에 의해 사용가능하게 될 가망이 있다는 것을 결정하는 동작을 포함하는 것을 특징으로 하는 컴퓨터 프로그램.
  11. 청구항 8에 있어서,
    상기 분석하는 동작은:
    상기 이미지의 밝기의 레벨을 감지하는 동작; 및
    상기 이미지에서 감지된 상기 밝기의 레벨이 구성된 임계치들 사이에 있다는 결정에 따라, 상기 이미지가 광학 문자 인식 알고리즘에 의해 사용가능하게 될 가망이 있다는 것을 결정하는 동작을 포함하는 것을 특징으로 하는 컴퓨터 프로그램.
  12. 청구항 8에 있어서,
    상기 분석하는 동작은:
    상기 이미지에서 텍스트를 감지하는 동작; 및
    상기 이미지에서 감지된 텍스트의 양이 구성된 임계치를 초과한다는 결정에 따라, 상기 이미지가 광학 문자 인식 알고리즘에 의해 사용가능하게 될 가망이 있다는 것을 결정하는 동작을 포함하는 것을 특징으로 하는 컴퓨터 프로그램.
  13. 청구항 12에 있어서,
    상기 이미지에서 감지된 상기 텍스트가 구성된 예상 위치에 대응하는 상기 이미지의 위치에 있다는 결정에 따라, 상기 이미지가 광학 문자 인식 알고리즘에 의해 사용가능하게 될 가망이 있다는 것을 결정하는 동작을 더 포함하는 것을 특징으로 하는 컴퓨터 프로그램.
  14. 이미지들을 필터링하기 위한 시스템에 있어서, 상기 시스템은:
    저장 리소스; 및
    상기 저장 리소스에 통신적으로 연결된 프로세서를 포함하며, 상기 프로세서는 컴퓨터 판독가능 명령들을 실행하도록 구성되며, 상기 명령들 상기 저장 리소스에 저장되고 상기 시스템으로 하여금 동작들을 수행하게 하며, 상기 동작들은:
    카드의 제1 이미지 및 제2 이미지를 수신하는 동작;
    상기 제1 이미지가 광학 문자 인식 알고리즘(optical character recognition algorithm)에 의해 사용가능하게 될 가망이 있는지 여부를 결정하기 위해 상기 제1 이미지의 특징들(features)을 분석하는 동작;
    상기 제1 이미지가 사용가능하게 될 가망이 없다고 결정하는 것에 응답하여, 상기 제1 이미지를 전송하지 않는 동작;
    상기 제2 이미지가 광학 문자 인식 알고리즘에 의해 사용가능하게 될 가망이 있는지 여부를 결정하기 위해 상기 제2 이미지의 특징들을 분석하는 동작; 및
    상기 제1 이미지가 사용가능하게 될 가망이 있다고 결정하는 것에 응답하여, 상기 광학 문자 인식 알고리즘과 관련된 광학 문자 인식 시스템에 상기 제1 이미지를 전송하는 동작을 포함하는 것을 특징으로 하는 시스템.
  15. 청구항 14에 있어서,
    상기 제2 이미지는 상기 광학 문자 인식 시스템으로부터, 상기 광학 문자 인식 알고리즘이 구성된 임계 신뢰 수준(threshold confidence level) 미만인 결과들을 생성했다는 표시를 수신함에 따라 수신되는 것을 특징으로 하는 시스템.
  16. 청구항 14에 있어서,
    상기 분석하는 동작은:
    상기 이미지에서 블러(blur)를 감지하는 동작; 및
    상기 이미지에서 감지된 블러의 양이 구성된 임계치 미만이라는 결정에 따라, 상기 이미지가 상기 광학 문자 인식 알고리즘에 의해 사용가능하게 될 가망이 있다는 것을 결정하는 동작을 포함하는 것을 특징으로 하는 시스템.
  17. 청구항 14에 있어서,
    상기 분석하는 동작은:
    상기 이미지의 밝기의 레벨을 감지하는 동작; 및
    상기 이미지에서 감지된 상기 밝기의 레벨이 구성된 임계치들 사이에 있다는 결정에 따라, 상기 이미지가 광학 문자 인식 알고리즘에 의해 사용가능하게 될 가망이 있다는 것을 결정하는 동작을 포함하는 것을 특징으로 하는 시스템.
  18. 청구항 14에 있어서,
    상기 분석하는 동작은:
    상기 이미지에서 텍스트를 감지하는 동작; 및
    상기 이미지에서 감지된 텍스트의 양이 구성된 임계치를 초과한다는 결정에 따라, 상기 이미지가 광학 문자 인식 알고리즘에 의해 사용가능하게 될 가망이 있다는 것을 결정하는 동작을 포함하는 것을 특징으로 하는 시스템.
  19. 청구항 18에 있어서,
    상기 이미지에서 감지된 상기 텍스트가 구성된 예상 위치에 대응하는 상기 이미지의 위치에 있다는 결정에 따라, 상기 이미지가 광학 문자 인식 알고리즘에 의해 사용가능하게 될 가망이 있다는 것을 결정하는 동작을 더 포함하는 것을 특징으로 하는 시스템.
  20. 삭제
KR1020167015826A 2013-11-15 2014-10-14 카드 ocr 이미지들의 클라이언트 사이드 필터링 KR101746736B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361904801P 2013-11-15 2013-11-15
US61/904,801 2013-11-15
US14/133,232 2013-12-18
US14/133,232 US8903136B1 (en) 2013-11-15 2013-12-18 Client side filtering of card OCR images
PCT/US2014/060547 WO2015073154A1 (en) 2013-11-15 2014-10-14 Client side filtering of card ocr images

Publications (2)

Publication Number Publication Date
KR20160085343A KR20160085343A (ko) 2016-07-15
KR101746736B1 true KR101746736B1 (ko) 2017-06-13

Family

ID=51948461

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167015826A KR101746736B1 (ko) 2013-11-15 2014-10-14 카드 ocr 이미지들의 클라이언트 사이드 필터링

Country Status (7)

Country Link
US (3) US8903136B1 (ko)
EP (1) EP3069300A4 (ko)
JP (1) JP2016541049A (ko)
KR (1) KR101746736B1 (ko)
CN (1) CN105874471B (ko)
CA (1) CA2930543C (ko)
WO (1) WO2015073154A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2516004A (en) * 2013-05-20 2015-01-14 Reward Technology Ltd Database registration
US8903136B1 (en) 2013-11-15 2014-12-02 Google Inc. Client side filtering of card OCR images
US20160110999A1 (en) * 2014-10-15 2016-04-21 Xerox Corporation Methods and systems for parking monitoring with vehicle identification
US20160125387A1 (en) 2014-11-03 2016-05-05 Square, Inc. Background ocr during card data entry
US9836456B2 (en) * 2015-01-12 2017-12-05 Google Llc Techniques for providing user image capture feedback for improved machine language translation
US9830508B1 (en) 2015-01-30 2017-11-28 Quest Consultants LLC Systems and methods of extracting text from a digital image
US10229314B1 (en) * 2015-09-30 2019-03-12 Groupon, Inc. Optical receipt processing
JP6705290B2 (ja) * 2016-06-01 2020-06-03 大日本印刷株式会社 マルチペイメントカード発行システム,端末装置およびコンピュータプログラム
US10255516B1 (en) 2016-08-29 2019-04-09 State Farm Mutual Automobile Insurance Company Systems and methods for using image analysis to automatically determine vehicle information
US10223812B2 (en) * 2016-09-30 2019-03-05 Amazon Technologies, Inc. Image validation
KR102402148B1 (ko) * 2017-08-22 2022-05-26 삼성전자주식회사 전자 장치 및 그의 문자 인식 방법
SG10201707094VA (en) * 2017-08-30 2019-03-28 Mastercard International Inc System and Method for Transmitting Payment Card Information, and Payment Card
US11757818B2 (en) * 2022-01-19 2023-09-12 Capital One Services, Llc Storage space optimization for emails
US10242283B1 (en) 2018-10-03 2019-03-26 Capital One Services, Llc Government ID card validation systems

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060072822A1 (en) 2004-10-06 2006-04-06 Iuval Hatzav System for extracting information from an identity card
US20130004076A1 (en) 2011-06-29 2013-01-03 Qualcomm Incorporated System and method for recognizing text information in object
US20130022231A1 (en) 2008-01-18 2013-01-24 Mitek Systems Systems and methods for mobile image capture and remittance processing

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05334330A (ja) * 1992-06-03 1993-12-17 Nec Corp 金融機関における諸届業務処理装置
JPH11203411A (ja) * 1998-01-20 1999-07-30 Fuji Xerox Co Ltd 文書読み取り装置
US6922487B2 (en) 2001-11-02 2005-07-26 Xerox Corporation Method and apparatus for capturing text images
EP1398726B1 (en) * 2002-09-11 2008-07-30 Samsung Electronics Co., Ltd. Apparatus and method for recognizing character image from image screen
JP2004118643A (ja) * 2002-09-27 2004-04-15 Hitachi Ltd Idカード真偽判別補助装置
JP4064196B2 (ja) * 2002-10-03 2008-03-19 株式会社リコー クライアントコンピュータ、サーバコンピュータ、プログラム、記憶媒体、画像データ処理システム及び画像データ処理方法
JP2004213141A (ja) * 2002-12-27 2004-07-29 Casio Comput Co Ltd データ処理装置及びプログラム
JP2005311766A (ja) * 2004-04-22 2005-11-04 Fuji Xerox Co Ltd 画像読み取り装置
US8610966B2 (en) * 2004-10-06 2013-12-17 Iuval Hatzav System for template based extracting information from an identity card
US7587066B2 (en) * 2005-12-15 2009-09-08 Pitney Bowes Inc. Method for detecting fraud in a value document such as a check
JP2008262281A (ja) * 2007-04-10 2008-10-30 Fuji Xerox Co Ltd 文字認識システム、情報処理装置、および情報処理プログラム
US8433127B1 (en) * 2007-05-10 2013-04-30 United Services Automobile Association (Usaa) Systems and methods for real-time validation of check image quality
JP2009146171A (ja) * 2007-12-14 2009-07-02 Citigroup Inc カード発行方法、カード発行システム、カード有効化装置および与信用のカード
US20130120595A1 (en) * 2008-01-18 2013-05-16 Mitek Systems Systems for Mobile Image Capture and Remittance Processing of Documents on a Mobile Device
JP2010136221A (ja) * 2008-12-05 2010-06-17 Bankutekku Japan Kk イメージ処理システム及びイメージ処理方法
US8515185B2 (en) * 2009-11-25 2013-08-20 Google Inc. On-screen guideline-based selective text recognition
US9349063B2 (en) * 2010-10-22 2016-05-24 Qualcomm Incorporated System and method for capturing token data with a portable computing device
US20120239542A1 (en) * 2011-03-17 2012-09-20 Dan Richard Preston Systems and methods for capturing payment information using mobile devices
CA2787676A1 (en) * 2011-09-22 2013-03-22 Moneytree, Inc. Method and system of rapidly cashing a check and loading the proceeds onto a consumer electronic access device via a mobile smart device
JP2013070212A (ja) * 2011-09-22 2013-04-18 Fuji Xerox Co Ltd 画像処理装置、画像処理プログラム
WO2013103912A1 (en) * 2012-01-05 2013-07-11 Visa International Service Association Transaction visual capturing apparatuses, methods and systems
US8903136B1 (en) 2013-11-15 2014-12-02 Google Inc. Client side filtering of card OCR images

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060072822A1 (en) 2004-10-06 2006-04-06 Iuval Hatzav System for extracting information from an identity card
US20130022231A1 (en) 2008-01-18 2013-01-24 Mitek Systems Systems and methods for mobile image capture and remittance processing
US20130004076A1 (en) 2011-06-29 2013-01-03 Qualcomm Incorporated System and method for recognizing text information in object

Also Published As

Publication number Publication date
US8903136B1 (en) 2014-12-02
CA2930543A1 (en) 2015-05-21
EP3069300A4 (en) 2017-10-18
EP3069300A1 (en) 2016-09-21
US9626556B2 (en) 2017-04-18
WO2015073154A1 (en) 2015-05-21
CN105874471B (zh) 2019-08-23
JP2016541049A (ja) 2016-12-28
CA2930543C (en) 2019-10-01
US9740929B2 (en) 2017-08-22
US20170185833A1 (en) 2017-06-29
CN105874471A (zh) 2016-08-17
US20150139506A1 (en) 2015-05-21
KR20160085343A (ko) 2016-07-15

Similar Documents

Publication Publication Date Title
KR101746736B1 (ko) 카드 ocr 이미지들의 클라이언트 사이드 필터링
US10586100B2 (en) Extracting card data from multiple cards
US10387742B2 (en) Extracting card data for simultaneous display with an image
US10296799B2 (en) Extracting card identification data
US20170046668A1 (en) Comparing An Extracted User Name with Stored User Data
US20170053162A1 (en) Card art display
WO2015002906A1 (en) Payment card ocr with relaxed alignment

Legal Events

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