KR20060046128A - 카메라 입력된 문서들을 위한 저해상 ocr - Google Patents

카메라 입력된 문서들을 위한 저해상 ocr Download PDF

Info

Publication number
KR20060046128A
KR20060046128A KR1020050042600A KR20050042600A KR20060046128A KR 20060046128 A KR20060046128 A KR 20060046128A KR 1020050042600 A KR1020050042600 A KR 1020050042600A KR 20050042600 A KR20050042600 A KR 20050042600A KR 20060046128 A KR20060046128 A KR 20060046128A
Authority
KR
South Korea
Prior art keywords
character recognition
word
optical character
symbols
recognition system
Prior art date
Application number
KR1020050042600A
Other languages
English (en)
Other versions
KR101114135B1 (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 KR20060046128A publication Critical patent/KR20060046128A/ko
Application granted granted Critical
Publication of KR101114135B1 publication Critical patent/KR101114135B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • 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/14Image acquisition
    • G06V30/148Segmentation of character regions
    • G06V30/153Segmentation of character regions using recognition of characters or words
    • 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/18Extraction of features or characteristics of the image
    • G06V30/1801Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections
    • G06V30/18019Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections by matching or filtering
    • G06V30/18029Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections by matching or filtering filtering with Haar-like subimages, e.g. computation thereof with the integral image technique
    • 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/18Extraction of features or characteristics of the image
    • G06V30/1801Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections
    • G06V30/18019Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections by matching or filtering
    • G06V30/18038Biologically-inspired filters, e.g. difference of Gaussians [DoG], Gabor filters
    • G06V30/18048Biologically-inspired filters, e.g. difference of Gaussians [DoG], Gabor filters with interaction between the responses of different filters, e.g. cortical complex cells
    • G06V30/18057Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • 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/26Techniques for post-processing, e.g. correcting the recognition result
    • G06V30/262Techniques for post-processing, e.g. correcting the recognition result using context analysis, e.g. lexical, syntactic or semantic context
    • G06V30/268Lexical context
    • 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)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Character Discrimination (AREA)
  • Character Input (AREA)
  • Document Processing Apparatus (AREA)

Abstract

이진화-유형 프로세스, 분절(segmentation) 및 인식을 하나의 프로세스로 결합하는 저해상 사진 문서들의 광학 문자 인식을 위한 범용 최적화 프레임워크가 개시된다. 본 프레임워크는 대량의 데이타에서 훈련된 기계 학습 방법(machine learning approach)을 포함한다. 컨볼루션 신경망(convolutional neural network)을 채용함으로써 복수의 위치에서 분류화 함수를 계산하고 이진화를 불필요하게 하는 그레이 레벨(grey-level) 입력을 받을 수 있다. 본 프레임워크는 전처리, 레이아웃 분석, 문자 인식, 및 단어 인식을 사용하여 높은 인식율을 산출한다. 본 프레임워크는 또한 동적 프로그래밍과 언어 모델들을 채용하여 원하는 결과를 얻는다.
OCR, 컨볼루션 신경망, 분류화 함수, 동적 프로그래밍, 언어 모델

Description

카메라 입력된 문서들을 위한 저해상 OCR{LOW RESOLUTION OCR FOR CAMERA ACQUIRED DOCUMENTS}
도 1은 본 발명에 따른 카메라 입력된 문서들의 저해상 광학 문자 인식(Optical character recognition: OCR)을 위한 범용 최적화 프레임워크(global optimization framework)인 시스템을 도시한 도면.
도 2는 본 발명의 저해상 OCR 시스템의 주요 동작들의 흐름도를 도시한 도면.
도 3은 카메라를 사용하여 캡처한 후에 원래 문서와 이미지화된 문서의 샘플을 나타낸 도면.
도 4는 본 발명에 따른 전처리(preprocessing) 전과 후에 문서의 샘플 텍스트 및 한 단어를 도시한 도면.
도 5는 본 발명에 따른 전처리 훈련을 위한 한 방법을 도시한 도면.
도 6은 본 발명에 따른 레이블된(labeled) 데이타를 생성하는 전처리의 흐름도를 도시한 도면.
도 7은 스캔되어 그라운드 트루스 비트맵(ground truth bitmap)에 정렬된 샘플 텍스트를 나타낸 도면.
도 8은 본 발명에 따른 레이아웃 분석(layout analysis)을 위한 방법을 도시 한 도면.
도 9는 본 발명에 따른 텍스트 탐지를 위한 방법의 흐름도를 도시한 도면.
도 10은 본 발명에 따른 텍스트 탐지 필터들의 결과를 나타내는 도면을 나타낸 도면.
도 11은 본 발명에 따라, 제2 랜더링에서와 같이, 카메라 이미지에 추가되는 텍스트 탐지기의 출력과 비교하여 원래 카메라 이미지를 나타낸 도면.
도 12는 본 발명에 따른 문자들 간의 간격(gap)들을 탐지하는 프로세스의 흐름도를 도시한 도면.
도 13은 본 발명에 따른 간격 탐지를 사용하여 라인 추출(line extraction)이 프로세스된 샘플 텍스트를 나타낸 도면.
도 14는 본 발명에 따른 단어 간의 간격들을 탐지하는 방법을 도시한 도면.
도 15는 본 발명에 따른 컨볼루션 신경망(convolutional neural network)을 훈련시키는 일 구현의 흐름도를 도시한 도면.
도 16은 본 발명에 따른 컨볼루션 신경망-기반 문자 인식기를 사용하여 문자들을 인식하는 프로세스의 흐름도를 도시한 도면.
도 17은 본 발명에 따른 저해상 인쇄된 텍스트 OCR을 위한 컨볼루션 신경망도면을 도시한 도면.
도 18은 본 발명에 따른 컨볼루션 신경망을 위한 훈련 방법을 도시한 도면.
도 19는 본 발명에 따른 단어를 인식하는 동적 프로그래밍 방법을 도시한 도면.
도 20은 본 발명에 따른 샘플 단어 분절(segmentation)을 도시한 도면.
도 21은 본 발명에 따른 언어 모델이 사용되지 않을 때 동적 프로그래밍 문제의 부분 해법들을 보관하기 위해 사용되는 동적 프로그래밍 표를 도시한 도면.
도 22는 본 발명에 따른 특정 단어의 문자들에의 관찰들(observations)의 최적 지정(optimal assignment)을 결정하기 위해 사용되는 사전 모델 최적화(dictionary model optimization)를 위한 샘플 동적 프로그래밍 표를 도시한 도면.
도 23은 본 발명에 따른 트리-기반 사전 찾기(tri-based dictionary lookup) 도면을 나타낸 도면.
도 24는 본 발명에 따른 구두점(punctuation) 탐지 방법을 도시한 도면.
도 25는 본 발명의 구조에 따라 이미지화된 샘플의 결과들을 도시한 도면.
도 26은 본 발명의 구조에 따라 이미지화된 텍스트의 일부에 대해 언어 모델들의 비교를 도시한 도면.
도 27은 개시된 구조를 실행하기 위해 동작가능한 컴퓨터의 블럭도를 도시한 도면.
도 28은 본 발명에 따른 컴퓨팅 환경의 예의 간략한 블럭도를 도시한 도면.
<도면의 주요 부분에 대한 부호의 설명>
108: 문서
100: OCR 시스템
102: 컨볼루션 신경망
104: 동적 프로그래밍
106: 언어 모델
110: 디지털 표현
본 발명은 광학 문자 인식(optical character recognition; OCR)에 관한 것이며, 더 구체적으로, 저해상 디바이스들에 의해 이미지화된 문자들의 프로세싱을 개선하는 OCR 소프트웨어에 관한 것이다.
전자기기들의 기술 진보는 카메라의 크기, 무게, 비용 및 전력 소모를 신속히 감소시키고 있다. 그러므로, 셀폰, PDA 및 노트북 컴퓨터와 같은 휴대용 컴퓨팅 디바이스들은 이제 그것의 서브컴포넌트들로서 고안되는 소형의, 저비용의, 저해상 디지탈 카메라들을 사용하여 정보를 캡처할 수 있다. 이러한 값싸고 다용도의 카메라들은 현재 스캐너와 같은 성가신 주변 디바이스들을 사용하지 않고 넓고 다양한 문서들을 쉽게 사진에 담을 수 있게 한다. 책과 법률 문서에서부터 청구서와 명함에 이르는 범위의 문서들은 이제 셀폰, PDA 및 랩톱 컴퓨터에서 즉시 사진에 담을 수 있다.
그러나, 이러한 촬영된 문서들의 OCR은 다른 문제점들을 야기한다. 종이로부터 디지탈 표현들로의 변환 및 그 반대는 데스크톱 컴퓨터와 적합한 주변 스캐닝 디바이스를 사용할 때 쉽다. 반면, 휴대용 컴퓨팅의 지원에 적합한 기술들의 신속 한 진보는 이제 이러한 디바이스들로의 이러한 문서들의 이미지화를 더 복잡하게 만든다. 예를 들어, 적절한 주변 디바이스와 격리되었을 때, 문서들을 인쇄하고 스캔하는 것은 매우 어렵다. 휴대용 인쇄기들은 무겁고 전력소모가 크고 또한 비싸다. 휴대용 스캐너들도 다루기 힘든건 마찬가지다. 더욱이, 이들 저해상 카메라들은, 자립형이든 휴대용 컴퓨팅 디바이스에 실장되었든, 촬영된 문서들의 광학 문자 인식에 새로운 문제점을 제기한다. 종래 인쇄된 문자 시스템들은 먼저 이미지를 이진화하고 문자를 분절한 다음, 문자들을 인식하여 진행한다. 이들 시스템들이 단계들을 분리하므로, 원하는 것보다 더 낮은 인식율이 얻어져서, 이러한 디바이스 기능들을 사용하는 동기를 감소시킨다. OCR 프로세스가 인식 프로세스와 독립적으로 양질의 이진화 또는 문자 인식을 하는 것은 실제로 불가능하므로, 이들 저해상 카메라들을 사용할 때 OCR 프로세스는 더욱 복잡해진다. 분절은 OCR 엔진이 픽셀화된 스캔 이미지의 픽셀들을 문자들로 구조화하는 경우에 존재한다.
이제 문서 데이타의 캡처링과 프로세싱의 OCR 성능을 구비한 이러한 휴대용 기술이 제공되면, 사람들이 식당 청구서, 관심있는 기사, 보고서, 책 표지, 명함, 스크린 샷(screen shot), 벽에 투사되는 슬라이드, 지도 등의 범주의 다수의 다양한 유형의 문서들의 사진을 찍기 위해 카메라를 사용할 것이 기대된다. 이러한 디지탈 문서들은, 일단 전자 형태로 있게 되면, 나중에 대량으로 저장, 인덱스 및 보관(archive)되며, 다시 인쇄될 수도 있으므로, 넓고 다양한 문서들을 캡처하려는 동기는 매우 높다. 추가로, 이것은 정보 작업자에게 풍부한 기회를 제공한다.
현재 저가의 카메라들(즉, 약 50불)은 한 장에 11-포인트 폰트로 전체 문서 페이지를 캡처하고 문자 인식과 독립적으로 문자 분절을 수행하기에 충분한 해상도를 제공하지 않는다. 저해상 카메라 이미지들은 흐릿하고 질이 나빠서 이진화, 분절 및 인식이 독립적으로 수행될 수 없지만 여전히 높은 인식율을 유지한다. 예를 들어, 저해상도에서, 문자 "o"의 중간 열은 종종 문자들 사이의 다수의 이러한 다른 단절들보다 더 잘 단절된다. 분절 문제를 효과적으로 해결하지 않고는 좋은 성능을 기대할 수 없다. 저해상 OCR의 개선점들은 고해상도 카메라들도 이득을 보아서, 사용자들이 멀리서 촛점 밖의 사진들을 찍도록 한다.
그러므로, 저해상 심들을 분해할 수 있는 OCR 성능이 필요하다.
이하, 본 발명의 일부 양태들의 기본 이해를 제공하기 위해 본 발명의 개요가 제공된다. 이 개요는 본 발명의 넓은 범위의 개관이 아니다. 본 발명의 핵심/중요 요소들을 식별하거나 또는 본 발명의 범위를 한정하기 위한 것이 아니다. 이것은 단지 후술하는 상세한 설명의 서두로서 간략한 형태로 본 발명의 일부 개념들을 제공하기 위한 것이다.
본 발명의 일 양태에서, 본 명세서에 개시되고 청구되는 본 발명은, 카메라-입력된 심볼들과 문서들에 대한 저해상 OCR 성능들을 얻기 위해 필요한 단계들을 제공하는 기계 학습 기술(즉, 컨볼루션 신경망), 동적 프로그래밍 및 언어 모델을 결합하여 동시에 이들 문제들을 해결하는 구조를 포함한다. 컨볼루션 신경망에 기초하고 대량의 데이타로 훈련된 기계 학습 방법의 사용은 최대 견고성(robustness)을 용이하게 한다.
본 발명은 촬영된 페이지의 심볼들을 인식하기 위해 함께 동작하는 여러 부분들로 구성된다. 컨볼루션 신경망-기반의 문자 인식기는 입력 이미지의 주어진 위치에 어떤 문자들이 존재할 수 있는지를 예측하기 위해 사용된다. 범용 레이아웃 분석 컴포넌트는 페이지의 텍스트의 라인들의 위치들을 찾아내고 텍스트의 이들 라인들에 대한 바운딩 박스들(bounding rectangles)의 리스트를 반환하는 작업을 수행한다. 레이아웃 분석기는 라인들을 개별 단어들로 더 분해하여, 각각의 단어에 대한 경계들을 지시한다. 이들 전체를 함께 묶는 것은 페이지의 주어진 사각형 내에 가장 가능성 있는 단어를 찾는 단어 인식기이다. 단어 인식은 동적 프로그래밍을 사용하여 해결된 최적화 문제이다.
본 발명의 다른 양태에서, 그레이 레벨(grey level) 이미지로부터 직접 텍스트의 라인들을 탐지하는 알고리즘이 제공된다.
상술되고 관련된 목적들을 달성하기 위해, 본 발명의 특정 설명적 양태들이 본 명세서에 다음 설명 및 첨부 도면들과 연결하여 기재된다. 그러나, 이들 양태들은 본 발명의 원칙들이 채용될 수 있는 다양한 방식들 중 몇 가지만을 지시할 뿐이고, 본 발명은 모든 이러한 양태들과 그들의 동격들을 포함하려고 의도된다. 본 발명의 다른 장점들과 새 특징들은 도면들과 연결하여 고려될 때 다음 본 발명의 상세한 설명으로부터 명백해질 것이다.
<실시예>
본 발명은 이제 유사한 참조 부호들이 도면 전체에서 유사한 소자들을 참조하기 위해 사용되는 도면들을 참조하여 기재된다. 다음 설명에서, 설명 목적으로, 다수의 특정한 세부사항들이 본 발명의 철저한 이해를 제공하기 위해 기재된다. 그러나, 본 발명이 이들 특정한 세부사항들이 없이도 실행될 수 있음은 명백할 것이다. 다른 예들에서, 잘 공지된 구조들 및 디바이스들이 본 발명을 설명하기 위해 블럭도 형태로 보여진다.
본 명세서에서 사용되는 바와 같이, 용어 "컴포넌트" 및 "시스템"은 컴퓨터-관련 개체, 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어, 또는 실행의 소프트웨어를 참조하려고 의도된다. 예를 들어, 컴포넌트는 프로세서에서 실행하는 프로세서, 프로세스, 객체, 실행파일, 실행 스레드, 프로그램 및/또는 컴퓨터일 수 있지만, 이에 제한되지는 않는다. 설명으로서, 서버에서 실행하는 응용 프로그램 및 서버 모두는 컴포넌트일 수 있다. 한 개 이상의 컴포넌트들은 프로세서 및/또는 실행 스레드 내에 존재할 수 있고, 컴포넌트는 한 컴퓨터에 위치될 수 있고 및/또는 2개 이상의 컴퓨터들에 분산될 수 있다.
본 명세서에 사용되는 바와 같이, "추론한다(infer)" 또는 추론(inference)"이라는 용어는 일반적으로 이벤트들 및/또는 데이타를 통해 캡처된 바와 같이 일련의 관찰들로부터 시스템, 환경 및/또는 사용자의 상태들에 대해 추론하거나 또는 상태들을 추론하는 프로세스를 일컫는다. 추론은, 예를 들어, 특정 컨텍스트나 동작을 식별하기 위해 채용될 수 있거나, 또는 상태들에 대해 확률 분포를 생성할 수 있다. 추론은 확률적일 수 있다 -즉, 데이타와 이벤트들을 고려하여 관심의 상태들에 대한 확률 분포를 계산-. 추론은 또한 일련의 이벤트들 및/또는 데이타로부터 더 높은 수준 이벤트들을 구성하기 위해 채용된 기술들을 일컬을 수 있다. 이 벤트들이 근접 시간에 상관하는지 및 이벤트들과 데이타가 한 개 또는 여러 개의 이벤트 및 데이타 소스들로부터 발생되는지에 무관하게, 이러한 추론은 일련의 관찰된 이벤트들 및/또는 저장된 이벤트 데이타로부터 새 이벤트들이나 동작들을 구성하는 결과를 가져온다.
<카메라 입력된 문서들의 OCR>
본 발명은 저해상 심볼 및/또는 문서 이미지들을 사용할 때 캡처 및 심볼들과 텍스트의 정확한 OCR을 용이하게 한다. 이러한 성능은 또한, 매체가 어떤 방식으로 피해를 입거나 오염되어 연관된 심볼들을 인식하기가 더 어려운, 질이 저하된 심볼들, 텍스트 및/또는 문서들과 관련된 시나리오들로의 응용에 사용된다.
이제 도 1을 참조하면, 본 발명에 따른 카메라 입력된 문서들의 저해상 OCR을 위한 범용 최적화 프레임워크(global optimization framework)인 시스템(100)이 도시된다. 시스템(100)은 적어도 컨볼루션 신경망(102), 동적 프로그래밍 컴포넌트(104) 및 언어 모델(106)을 동시에 결합하여 종래 기술에서의 문제를 해결한다. 그러므로, 시스템(100)에 의해 캡처되고 프로세스되는 문서(108)에 대해, 인식율은 매우 높아서 사용자에게 적절한 출력 디지탈 표현(110)의 결과를 가져온다.
컨볼루션 신경망(102)은 인접 위치의 계산에서 한 위치의 부분 결과들을 재사용하여 복수의 위치에서 분류화 함수를 효과적으로 계산할 수 있다. 이것은 신경망이 그레이 레벨 입력을 프로세스할 수 있으므로 추가로 용이하게 될 수 있다. 대량 데이타로 훈련된 기계 학습 방법을 사용하여 견고한(robust) 시스템이 제공된다. 컨볼루션 신경망(102)은 복수의 위치에서 분류화 함수를 효과적으로 계산하 고, 대량의 훈련 데이타로 잘 확장될 수 있고, HMM(Hidden Markov Model) 알고리즘과 결합하기에 쉬운 확률들을 출력하므로 채용되고, 그것은 이진화를 불필요하게 하는 그레이 레벨 입력을 받는다. 다른 조명 조건, 폰트, 크기, 카메라, 각도, 촛점 등에서 데이타를 수집하여, 기계 학습 알고리즘은 이들 요소들에 불변하는 분류기를 구성하는 작업을 수행한다.
동적 프로그래밍 컴포넌트(104)는 단어 인식의 최적화를 해결하기 위해 사용된다. 단어 인식기는 동적 프로그래밍 컴포넌트(104)를 사용하여 레이아웃 분석(layout analysis)에 의해 반환된 주어진 단어 바운딩 박스에 어떤 단어가 위치되어 있는지를 판정한다. 동적 프로그래밍은 원래 문제의 서브문제들에 대한 일련의 최적 해법들을 구성하여 문제에 대한 최적 해법을 찾는다. 이것은 범용 최적 해법을 결정할 때 최적의 서브문제들을 찾는 계산의 많은 부분의 재사용을 용이하게 한다.
언어 모델 컴포넌트(106)는 문자 및 단어 인식을 용이하게 한다. 이제 도 2를 참조하면, 본 발명의 저해상 OCR 시스템의 주요 동작들(200)의 흐름도가 도시된다. 첫번째로, 전처리 함수(202)가 추가 프로세싱을 준비하기 위해 문서 이미지를 캡처하기 위해 수행된다. 범용 레이아웃 분석 함수(204)는 캡처된 문서의 텍스트 라인들의 위치들을 발견하여, 텍스트의 이들 라인들에 대한 바운딩 박스들의 리스트를 반환하는 작업을 수행한다. 그 다음, 레이아웃 분석기는 추가로 라인들을 개별 단어들로 절단하여, 각 단어의 경계들을 지시한다. 문자 인식기(206)는 입력 이미지의 주어진 위치에 어떤 문자가 존재할 수 있는지를 예측하기 위해 채용될 수 있다. 일 실시예에서, 컨볼루션 신경망-기반 문자 인식기는 문자 인식과 다른 기능들을 용이하게 하기 위해 사용된다. 이 모든 것들을 함께 묶는 것은 문서 상의 주어진 박스 내에서 가장 가능성이 있는 단어를 찾는 단어 인식기(208)이다. 단어 인식은 동적 프로그래밍을 사용하여 해결되는 최적화 문제이다.
이제 도 3을 참조하면, 카메라를 사용하여 캡처한 후에 원래 문서(300)와 이미지화된 문서(302)의 샘플이 도시된다. 이미지화된 문서(302)는 카메라의 저해상 기능들에 응답하여 더 어두운 배경색과 흐릿한 텍스트를 나타낸다.
<전처리>
이제 도 4를 참조하면, 본 발명에 따른 전처리 전과 후에 문서의 샘플 텍스트와 단어가 도시된다. 스캔된 문서는 사용자가 카메라(예를 들어, 웹캠(webcam))를 사용하여 문서를 캡처했을 때 통상적으로 직면할 다수의 문제를 제기할 수 있다. 예를 들어, 카메라가 문서에 너무 가까우면, 문서의 표면에 상대적으로 부정확한 회전과 촛점 축 배치 및 부정확하거나 균등치 않은 조명을 갖는다. 회전 배치는 텍스트 라인들이 이미지에서 완전히 수평적이지 않도록 한다. 원근 랩(perspective wrap)은 카메라가 문서를 바로 보고 있지 않을 때 원근법 때문에 왜곡을 발생시킨다. 추가로, 배럴 왜곡(barrel distortion)은 비교적 낮은 품질의 광학성 때문에 발생할 수 있다. 일부 조명 문제점들은 이미지의 영역들이나 블럭들에 대해 국소적으로 대비를 최대화하려는 적응형 화이트밸런싱 알고리즘(adaptive whitebalancing algorithm)으로 이미지들을 전처리하여 경감된다. 이 프로세스는 문서 이미지가 OCR 프로세싱을 위해 시스템에 제공되는 각각의 시간에 실행될 수 있다.
<훈련>
이제 도 5를 참조하면, 본 발명에 따른 전처리 훈련을 위한 한 방법이 도시된다. 설명의 단순성을 위해, 본 명세서에 보여진 하나 이상의 방법들, 즉, 흐름도의 형태로, 은 일련의 동작들로서 보여지고 설명되는 한편, 본 발명은 일부 동작들에서 이러한 것처럼 동작들의 순서에 의해 제한되지 않고, 본 발명에 따라 다른 순서로 발생할 수 있고, 및/또는 본 명세서에 도시되고 설명된 다른 동작들과 동시에 발생할 수도 있음을 이해할 수 있다. 예를 들어, 당업자는 방법이 상태도와 같은 일련의 상관된(interrelated) 상태들이나 이벤트들로서 번갈아 표현될 수 있음을 이해할 것이다. 더욱이, 도시된 동작들 전부가 본 발명에 따른 방법을 구현하기 위해 요구되는 것은 아니다.
다음 전처리는 도 4의 것과는 다르고, 거기서 그것은 신경망-기반 시스템을 초기화하기 위해 한 번 수행된다. (500)에서, 레이블된 데이타가 생성된다. (502)에서, 신경망 문자 인식기가 훈련된다. 그 다음, 프로세스는 중지 블럭에 도달한다. 신경망-기반 문자 인식기를 훈련시키기 위해, 대량의 레이블된 훈련 데이타가 필요하다. 이러한 데이타는 사람이 주석을 단 스캔된 페이지들을 가지며, 페이지의 각각의 문자에 대한 위치와 ASCII 코드를 식별하여 만들어질 수 있다. 그러나, 이것은 매우 시간 소비적이고 오류를 발생시키기 쉬운 프로세스이다. 그러므로, 반자동(semi-automated) 메커니즘이 레이블된 데이타를 생성하기 위해 제공된다.
이제 도 6을 참조하면, 본 발명에 따른 레이블된 데이타를 생성하는 전처리의 흐름도가 도시한다. 본 발명의 데이타 습득 시스템은 페이지의 문자들 각각에 대해 바운딩 박스와 문자 코드를 기록하는 특수 인쇄기 드라이버 및 스캔된 이미지에 이들 바운딩 박스들을 정렬하는 것을 돕는 도구를 포함한다. (600)에서, 인쇄기 드라이버가 제공된다. (602)에서, 문서는 인쇄기 드라이버에 의해 프로세스된다. (604)에서, 그라운드 트루스 데이타(GTD)는 문서의 고해상도 비트맵을 생성하고 문서의 각각의 문자에 대해 기하학적 정보를 기록하여 생성된다. 문서와 고해상도 비트맵은 "그라운드 트루스"이고, 여기서, 각각의 문자는 정확히 레이블되고 그것의 위치가 알려진다. (606)에서, 고해상도 비트맵은 인쇄되고 카메라 시스템으로 스캔된다. (608)에서, 스캔된 이미지는 스캔된 페이지의 각각의 문자에 대한 위치를 얻기 위해 그라운드 트루스 비트맵으로 정렬된다. 이 교정 단계를 수행하기 위해, (610)에서, 스캔된 이미지와 그라운드 트루스 비트맵 간의 대응하는 위치들은 문서의 4개의 점들 각각에 대해 식별된다. (612)에서, 최적-근사 원근 변환(best-fitting perspective transformation)은 스캔된 이미지를 랜더링된 이미지에 매핑하기 위해 계산된다. (614)에서, 스캔된 이미지는, 필요하면, 랜더링된 이미지에 정렬하기 위해 랩(wrap)된다. 그 다음, 이 프로세스는 중지 블럭에 도달한다.
불행히도, 스캔된 이미지들을 교정하기 위한 원근 변환의 사용은 스캔된 문자들에 바운딩 박스들을 정렬하기 위해 항상 충분한 것은 아니다. 매치들을 개선하기 위해, 각각의 문자는 각각의 방향으로 5개의 픽셀들까지 변환되고, 최상의 매 치는 최소 제곱근 거리법(least square distance measure)을 사용하여 기록된다. 그 다음, 대응하는 오프셋(offset) 바운딩 박스들은 각각의 훈련 예에 대해 랩된 스캔 이미지에서의 위치로서 사용된다.
이제 도 7을 참조하면, 스캔되어 그라운드 트루스 비트맵에 정렬된 샘플 텍스트가 도시된다. 스캔된 이미지에 문자 바운딩 박스들을 정렬하기 위한 원근 변환(perspective transformation)을 사용한 결과(도 6에 도시됨)를 나타낸다. 스캔된 텍스트(700)는 그라운드 트루스 데이타(702)에 정렬된다.
<레이아웃 분석>
이제 도 8을 참조하면, 본 발명에 따른 레이아웃 분석을 위한 방법이 도시된다. (800)에서, 카메라에 의한 이미지화를 위한 문서가 수신된다. (802)에서, 레이아웃 분석은 단어들, 라인들 및 열들을 찾아서 페이지 텍스트의 레이아웃을 탐지한다. 라인 정보를 사용하여, (804)에 지시된 바와 같이, 라인에 따른 문자들은 분절 및 스케일되며, 문자 분류기 알고리즘에 제공된다. 그 다음, 프로세스는 중지 블럭에 도달한다. 스캔된 이미지에서, 이런 종류의 레이아웃 분석은, 연결된 컴포넌트 분석(connected components(CC) analysis)과 같은, 단순하면서도 신뢰할 수 있는 이미지 프로세싱 동작들을 사용하여 처리할 수 있다. 그 다음, 이들 연결된 컴포넌트들은 레이아웃 프로세스의 기본 입력으로서 사용된다.
이전에 지적한 바와 같이, 사무실 환경의 카메라에서 캡처된 문서 이미지들은 스캐너와 같은 주변 컴퓨팅 디바이스에서 이미지화된 문서들과는 매우 다르다. 사진들에서 사용된 조명은 제어가 안되어 있어서 대비와 밝기에서 큰 차이를 결과 적으로 나타낸다. 이들 차이들은 단순한 텍스트 탐지 알고리즘들에게 문제를 제기한다. 연결된 컴포넌트 분석은 입력으로서 이진 이미지(즉, 흑백 이미지)를 요구한다. 그러므로, 배경 종이로부터 텍스트를 신뢰성있게 분리하는 적응형 임계치 알고리즘(adaptive thresholding algorithm)을 구성하는 것이 어려울 수 있다. 대비와 강도 모두에서의 차이들은 일부 텍스트가 배경으로 사라지도록 하는 한편, 다른 텍스트는 문자들의 대규모 블럭들로 병합된다.
이제 도 9를 참조하면, 본 발명에 따른 텍스트 탐지 방법의 흐름도가 도시된다. 일 실시예에서, 텍스트 탐지는 다음과 같이 진행된다. (900)에서, 2개의 선형 필터들은 입력 이미지의 각각의 위치에 적용된다. (902)에서, 각각의 필터에 임계치가 지정된다. 이 임계치보다 높은 값의 위치들은 "텍스트"라고 불리우고, 낮은 것들은 "논텍스트(non-text)"라고 불리운다. (904)에서, 양쪽 필터들에 의해 텍스트로 판정된 위치들은 가능한 텍스트 영역들로서 사용되고 유지된다. 그 다음, 프로세스는 중지 블럭에 도달한다.
일 실시예에서, 임계치들은 실험적으로 결정된다(예를 들어, 7개 픽셀들의 라인 높이와 1개 픽셀의 문자 간격은 각각 100과 6000). 다른 실시예에서, 추가 특징들이 포함될 수 있고, 임계치들은 "부스팅(boosting)"을 사용하여 자동 계산될 수 있다. 부스팅은 단지 랜덤 추정(random guessing)보다 조금 나은 수행을 할 필요가 있는 분류기들을 일관적으로 생성하는 임의의 학습 알고리즘의 성능을 향상시키기 위한 일반 방법이다.
이제 도 10을 참조하면, 본 발명에 따른 텍스트 탐지 필터들의 결과를 나타 내는 도면 (1000)이 도시된다. 제1 필터는 문자들 간의 간격들을 발견하기 위해 텍스트 "Now is"에 동작한다. 여기서, 문자들 "o"와 "w" 간의 간격이 탐지된다. 제2 필터는 연관된 라인들을 발견하기 위해 동일 텍스트에 동작한다. 그러므로, 제2 필터는 단어 "Now"의 위와 아래의 공간(space)들을 탐지한다.
이제 도 11을 참조하면, 본 발명에 따라, 제2 랜더링(1102)에서와 같이, 카메라 이미지에 추가된 텍스트 탐지기의 출력과 비교하여 원래 카메라 이미지(1100)가 도시된다. 제2 랜더링의 흰 영역들은 탐지된 텍스트를 지시한다.
이제 도 12를 참조하면, 본 발명에 따른 문자들 간의 간격들을 탐지하는 프로세스의 흐름도가 도시된다. (1200)에 지시된 바와 같이, 양쪽 필터들은 문자들 간의 간격들을 대충 탐지하는 결과를 낸다. (1202)에서, 연결된 컴포넌트(CC) 분석이 "간격 픽셀들(gap pixels)"에 대해 계산된다. (1204)에서, 레이아웃 분석은 결과적 "간격 CC들(gap CCs)"에 수행된다. 그 다음, (1206)에 지시된 바와 같이, 간격 CC들은 그들의 상대적 기하학적 관계들을 테스트하여 그룹화된다. 예를 들어, 예를 들어, 간격 CC들이 비교적 동일한 크기가고, 수평적으로 근접하고, 정렬되었으면, 라인이 탐지된다. 테스트들은 현재 라인의 CC들의 미디안 높이와 너비와 같은 견고한 통계를 사용하고, 알고리즘은 복수의 패스(passes)를 수행한다. (1208)에서, 임계치들은 증가적으로 더 큰 CC들의 세트에 대해서 및 다수의 문서에 대해 결정된다. 그 다음, 프로세스는 중지 블럭에 도달한다.
통계가 증가적으로 큰 CC들의 세트에 대해 수집되면서, 그룹화 테스트들은 더 활성화되어 수행된다. 임계치들은 수십 개의 문서들의 집성에 대해 실험적으로 결정된다. 간격 CC들이 주어지면, 간격 CC들의 바운딩 박스들의 상대 위치들만이 비교되므로, 라인 탐지 단계는 스케일 및 알파벳에 불변한다.
이제 도 13을 참조하면, 본 발명에 따른 간격 탐지를 사용한 라인 추출을 위해 프로세스된 샘플 텍스트(1300)가 도시된다. 본질적으로, 시스템은 텍스트의 탐지된 라인을 바운딩 박스로 둘러싼다. 이 2열(2-column) 문서들에서, 라인 탐지는 각 열의 각각의 탐지된 라인이 바운딩 박스로 둘러싸이는 결과를 가져온다. 그것이 1개의 열 문서이면, 페이지에 뻗어있는 각각의 텍스트 라인은 바운딩 박스로 둘러싸이게 될 것이고, 이것은 그 라인이 탐지되었음을 지시한다.
이제 도 14를 참조하면, 본 발명에 따른 단어 간 공간들을 탐지하는 방법이 도시된다. (1400)에서, 텍스트 라인들이 탐지된다. (1402)에 지시된 바와 같이, 텍스트 라인들이 탐지된 후, 이들 라인들은 문서의 단어들 각각을 포함하는 페이지 영역들로 더 분해된다. (1404)에 지시된 바와 같이, 각 라인의 단어 간 공간들의 위치들이 식별되고, 라인은 이들 공간들을 사용하여 분해된다. 공간들을 찾기 위해, 라인의 바운딩 박스를 가로지르는 여백의 수직 열들이 탐지된다. (1406)에서, 열의 모든 픽셀들이 어떤 임계치보다 더 밝으면, 그 열은 여백으로 분류된다. 임계치는 현재 라인의 중간을 가로질러 수평으로 스캐닝하고, 이 스캔라인을 따라 픽셀들에 대한 최소 및 최대 밝기 값들을 발견하고, 그것들로부터 임계치를 계산하여 결정된다. 일 실시예에서, 밝기가 (minBrightness+3*maxBrightness)/4보다 큰 픽셀은 여백 픽셀로서 분류된다. (1408)에서, 그 다음, 공간 탐색기(space finder)는 여백 픽셀들의 열들을 탐지하는 텍스트의 라인을 가로질러 스캔하고, 이들 공간 위치들을 사용하여 라인을 단어들로 분리한다. (1410)에서, 그 다음, 단어들은 문자 인식기에 전송된다. 그 다음, 프로세스는 중지 블럭에 도달한다.
<문자 인식기>
이제 도 15를 참조하면, 본 발명에 따른 컨볼루션 신경망-기반 문자 인식기를 훈련하는 프로세스의 흐름도가 도시된다. 컨볼루션 신경망-기반 문자인식기는 저해상 OCR 시스템의 중앙에 위치한다. (1500)에서, 제1 컨볼루션 층(convolution layer)은 고해상도에서 단순한 특징들을 추출하기 위해 제공된다. (1502)에서, 제2 컨볼루션 층은 단순한 특징들을 보다 낮은 해상도의 복잡한 특징들로 변환하기 위해 제공된다. (1504)에서, 2개의 추가적으로 완전 연결된 층들은 학습을 위한 다목적 분류기를 형성하기 위해 제공된다. (1506)에서, 4개의 층들은 동시에 훈련된다. (1508)에서, 통신망은 크로스-엔트로피(cross-entropy)를 최소화하기 위해 훈련된다. 그 다음, 프로세스는 중지 블럭에 도달한다.
이제 도 16을 참조하면, 본 발명에 따른 저해상도로 인쇄된 텍스트 OCR를 위한 컨볼루션 신경망(1600)의 도면이 도시된다. 컨볼루션 통신망의 일반 전략은 고해상도에서 단순한 특징들을 추출하고, 단순한 특징들을 보다 낮은 해상도의 보다 복잡한 특징들로 변환하는 것이다. 보다 낮은 해상도를 생성하기 위한 한 방법은 2배로 층을 서브샘플(subsample)하는 것이다. 통신망(1600)은 수신 데이타를 위한 29x29 픽셀 수신 필드를 갖는 입력 이미지(1602)를 포함한다. 제 1 층(1604)은 통상적으로 X와 Y의 미분, 로우 패스(low pass), X-Y 미분과 같은 매우 조악한 특징들을 추출한다. 제1 층(1604)은 5개의 13x13 픽셀 특징 탐지기 뉴론들(neurons)( 또는 지도들)을사용하여 입력 이미지(1602)를 스캔한다. 데이타에 대해 특징들이 얻어지므로, 훈련이 완료될 때까지 그들이 무엇을 실제로 산출하는지를 예측하기는 어렵다. 제2 컨볼루션 층(1606)은 낮은 해상도에서 보다 보다 복잡한 특징들을 추출한다. 제2 층(1606)은 50개의 5x5 픽셀 특징 탐지기 뉴론들을 사용하여 제1 층(1604)의 출력을 스캔한다. 분류 층들(1608, 1610)로 정보를 전달하는 충분한 특징들이 있는 한, 특징들의 수는 중요하지 않다. 이 시점에서, 특징들은 다수의 단위로 분산되어 있으므로 해석하기 어렵다. 특징들이 루프(loop), 교차점, 굴곡 등이라고 가정될 수 있다. 처음 2개의 층들(1604, 1606)은 훈련가능한 특징 추출기로서 볼 수 있다. 마지막 2개의 층들(1608 1610)은 완전히 연결되고, 2-층 완전 연결된 신경망은 임의의 함수를 학습할 수 있으므로 다목적 분류기를 형성하는 것으로 볼 수 있다. 4개의 층들(1604, 1606, 1608 및 1610)은 동시에 훈련된다. 그 다음, 통신망(1600)은 크로스-엔트로피를 최소화하기 위해 훈련된다.
이 컨볼루션 구조로의 이전 경험들은, 일 실시예에서, 제1 컨볼루션 층(1604)에 대한 5개의 특징들, 및 제2 컨볼루션 층(1606)에 대한 50개의 특징들 중 선택은, 본 발명의 저해상도로 인쇄된 OCR을 포함하는, 광범위의 이미지-기반 문자 인식에 적절함을 지시한다. 이 구현에서, 완전히 연결된 층들(1608, 1610)에 대한 76개의 출력 단위들 및 760개의 숨은 단위들이 사용된다. 숨은 단위들의 수는 변할 수 있고, 이 수를 제어하여 전체 분류기의 용량 및 일반화가 제어된다. 그러나, 당업자들은 추가 최적화를 위해 다른 값들이 채용될 수 있음을 이해할 것이다.
이제 도 17을 참조하면, 본 발명에 따른 컨볼루션 신경망-기반 문자 인식기 를 사용한 문자 인식 프로세스의 흐름도가 도시된다. (1700)에서, 훈련된 신경망이 제공된다. (1702)에서, 문자 이미지의 비트맵이 입력이다. 이 경우, 비트맵은 29x29 픽셀 수신 필드이다. (1704)에서, 통신망은 이미지에 의해 어떤 문자들이 표현될 수 있는지를 지시하는 확률들의 리스트를 출력한다. 그 다음, 프로세스는 중지 블럭에 도달한다.
이제 도 18을 참조하면, 본 발명에 따른 컨볼루션 신경망을 위한 훈련 방법이 도시된다. (1800)에서, 시스템은 훈련 이미지들의 데이타베이스로부터의 문자들의 예들을 받아서 훈련된다. 다음, (1802)에서, 훈련 이미지들은 입력 윈도우 내에서 랜덤하게 지터링(jittering)한다. (1804)에서, 훈련 이미지들의 밝기 및 대비는 랜덤하게 변경된다. (1806)에서, 각각의 훈련 기간(또는 완전한 패턴들의 세트에의 노출) 동안, 각 문자의 랜덤하게 지터링되고 대비-조절된 한 예가 통신망에 제공된다. 그 다음, 프로세스는 중지 블럭에 도달한다. 일 실시예에서, 훈련 데이타베이스는 문서 텍스트의 15 페이지들로부터 받은 57,555개의 문자들을 포함한다.
<단어 인식기>
이제 도 19를 참조하면, 본 발명에 따른 단어를 인식하는 동적 프로그래밍 방법이 도시된다. 문자 인식기는, 각각의 위치에서, 각 문자가 신경망의 입력 윈도우의 중앙에 나타나는 확률을 제공한다. 레이아웃 분석기는 페이지의 각 단어의 바운딩 박스들을 식별한다. 불행히도, 페이지의 개별 문자들에 대한 위치들은 알려지지 않았으므로, 문자 인식기가 각 문자의 최적 추정(best guess)을 읽어내기 위해 각 문자 중앙을 찾는 것은 불가능하다. 실제로, 문자 인식기는, 문자인지에 상관없이, 임의의 주어진 비트맵에 대해 어느 '문자'가 가장 가능성이 있는지를 보고하기를 마다하지 않을 것이다.
(1900)에서, 단어 인식기의 입력에서 일련의 문자 인식기 관찰들이 수신된다. 관찰들은 단어를 스캔하고 각각의 가능한 유효한 문자 위치에서 문자 인식기를 호출하여 생성된다. (1902)에서, 유효한 문자 위치들이 정의된다. (1904)에 지시된 바와 같이, 유효한 문자 위치들을 정의하기 위해, 시스템은 한 문자에 대해 허용된 최소 가능한 크기로 설정된 소형 단편들 또는 간격들로 단어를 분해한다. 일 실시예에서, 간격들은 2개 픽셀의 너비이다. (1906)에 지시된 바와 같이, 단어가 한 문자에 대해 가능한 최소 크기를 나타내는 간격들로 분리되므로, 문자를 나타내는 결합된 간격들의 시퀀스를 발견하기 위해서는 다수의 간격(즉, 4개의 간격까지 병합함)이 함께 결합될 필요가 있을 것이다. (1908)에서, 모든 유효한 간격들의 시퀀스들에 대한 문자 인식기의 결과들이 표에 채워진다. 그 다음, (1910)에서, 단어 인식기는 이 인식기 출력들의 시퀀스와 특정 단어를 타협하려는 시도를 한다. 그 다음, 프로세스는 중지 블럭에 도달한다.
단어 인식기는 동적 프로그래밍 알고리즘을 사용하여 레이아웃 분석 단계에서 반환된 주어진 단어 바운딩 박스에 어떤 단어가 위치되어 있는지를 판정한다. 동적 프로그래밍은 원래 문제의 서브문제들에 대한 일련의 최적 해법들을 구성하여 문제에 대한 최적 해법을 발견한다. 이것은 범용 최적 해법을 결정할 때 최적의 서브문제들을 발견하기 위한 계산 중 많은 부분의 재사용을 허용한다.
이제 도 20을 참조하면, 본 발명에 따른 샘플 단어 분절(2000)이 도시된다. 작은 해쉬마크들(hashmarks; 2002)은 단어 분절을 위한 간격 크기를 지시한다. 더 큰 해쉬마크들(2004)은 단어들 "private"와 "certainly"의 문자들 각각에 대해 실제 사용되는 간격들을 지시한다.
<언어 모델들>
일 실시예에서, 단어 인식기는 특정 언어 모델이 미리 구성되어 있지는 않지만(언어 중립적), 단순히 문자 인식기 관찰들의 시퀀스의 가장 가능성 있는 해석을 산출하려고 시도한다. 최대화될 객체 함수(objective function)가 단순히 문자 점수들의 합일 경우, 이 인식기는 단순한 1-차원 동적 프로그래밍 알고리즘을 사용한다. 문자 점수는, 가장 가능성 있는 문자의 평균 너비가 이 문자에 대해 고려되고 있는 이미지 부분의 너비와 얼마나 다른지에 따르는 스케일링 요소에 의해 곱해진, 가장 가능성 있는 문자에 대한(문자 인식기에 의해 반환된 바와 같이) 확률이다. 동적 프로그래밍 표의 각각의 셀은 해법의 그 끝점에 대한 문자, 이전 문자로의 링크 및 현재까지의 해법에 대해 축적된 점수를 포함한다. (역전된(reversed)) 가장 유망한 문자열은 최종 엔트리로부터 표를 통해 역추적하여 발견된다.
이제 도 21을 참조하면, 본 발명에 따른 언어 모델이 사용되지 않을 때 동적 프로그래밍 문제의 부분 해법들을 보관하기 위해 사용되는 동적 프로그래밍 표가 도시된다. 통상적으로, 동적 프로그래밍은 표를 채우고서 진행하고, 여기서, 표의 각각의 셀은 원래 문제의 서브문제를 나타낸다. 예를 들어, 동적 프로그래밍 문제의 부분 해법들을 보관하기 위해 사용되는 (1-차원) 표(2100)를 고려한다. 표 (2100)는 입력 시퀀스의 각각의 간격에 대해 셀(2102)을 포함한다. 이들 셀들(2102)의 각각은 그 셀에 대응하는 간격에서 끝나는 단어 부분에 대한 최적 해법인 끝점을 나타낸다. 각각의 해법은 더 작은 서브문제(연관된 화살표로 지시된 바와 같이)로의 최적 해법으로 표현된다. 이 예에서, 단어는 "FOOD"으로 인식된다. 각각의 셀(2102)은 그 특정 서브문제의 적합성의 측정치, 및 이 문자 이전의 단어 부분에 대한 최적 해법을 나타내는 표(2100)의 이전 셀로의 포인터를 포함한다. 표(2100)는 완전히 채워졌고, 최종 셀(2104)은 전체 관찰 시퀀스에 대한 최적 단어를 나타낸다.
이제 도 22를 참조하면, 본 발명에 따른 특정 단어의 문자들에 관찰의 최적치(2202)를 결정하기 위해 사용되는 사전 모델 최적화(dictionary model optimization)를 위한 샘플 동적 프로그래밍 표(2200)가 도시된다. 일 실시예에서, 단어 인식기는 단어 사전 중 어떤 단어가 주어진 입력 이미지에 가장 가능성 있는 매치인지를 발견하려고 시도한다. 이미지를 설명하는 어휘집(lexicon)에서 충분히 타당한 단어가 없으면, 시스템은 이전 방법으로 되돌아 간다.
제1 구현에서, 단순히 전체 어휘집을 선형 스캔하고, 각 단어에 대한 확률을 추정하고, 및 가장 유망한 단어를 출력하는 사전-기반 인식기의 한 버전이 채용된다. 제2 구현은 사전 트래버설(traversal)로 동적 프로그래밍 최적화의 인터리빙(interleaving)이 가장 가능성 있는 단어를 더 신속하게 계산하도록 하는 다른 구조를 설명한다.
이 문제에서, 동적 프로그래밍 표(2200)의 각각의 열은 입력 시퀀스의 특정 위치(간격)에서 끝나는 서브문제들을 나타내고, 표의 각각의 행은 논쟁중의 단어로부터의 문자를 나타낸다. 표(2200)의 열 c와 행 r의 엔트리는 간격 c, 및 행 r에 의해 표현된 문자로 끝나는 부분적으로 인식된 단어를 나타낸다. 이 표 위치에 이전 문자로의 포인터, 그 문자가 끝나는 간격, 및 축적된 점수가 저장된다.
유사한 스코어링 방법이 단어 인식기의 제2 구현에 사용된다 -현재 셀에 내포된, 관찰이 문자에 매치하는 확률은 간격 너비와 문자의 평균 너비에 따라 스케일링 요소를 곱함-. 부연하면, 축적된 스코어는 현재 셀에 대한 스코어와 이전 부분 해법을 나타내는 셀에 대한 축적된 스코어의 합이다. 일단 표 채우기를 완료하면, 단어에 대한 최적 스코어는 최종(우측상단) 셀에 저장된다. 그 다음, 이 스코어는 단어의 문자들의 수에 의해 나누어져 정규화된다. 이 정규화없이는, 비교적 저조한 스코어링 문자들을 갖는 긴 단어들이 높은 스코어들을 축적하고, 매우 좋은 문자 스코어들을 갖는 더 짧은 단어들을 능가할 수 있다. 그러므로, 각각의 문자에 대한 스코어를 최대화하는 것이 바람직하다.
사전의 많은 단어들이 다른 단어들과 접두어들을 공유하고, 각각의 단어에 대한 이 공유 정보를 계산하여 작업 중복이 된다. 예를 들어, 단어 "FOOL"에 대한 스코어를 발견하기 위해 채용된 동적 프로그래밍 표를 고려한다. 이전 "FOOD" 예와 같이 동일한 처음 3개의 행들을 갖는다. 그러므로, 공통 접두어들을 갖는 단어들에 대한 스코어들을 계산할 때 이들 동일 행들을 공유하는 방법이 필요하다. 제1 문자 이외의 임의의 문자가 제1 간격을 점유하는 것은 불가능하므로, 일부 셀들은 채워질 필요가 없고, 각각의 문자는 단지 4개의 간격들까지만 책임이 있을 수 있음을 주목한다. 최적 경로는 가장 높은 관찰 값들을 갖는 셀들을 따라 이동하는 화살표들에 의해 표현된다.
이제 도 23을 참조하면, 본 발명에 따른 트리-기반 사전 찾기(tri-based dictionary lookup) 도면(2200)이 도시된다. 트리(reTRIEval에서 유래됨)는 각각의 공통 접두어마다 한 개의 노드가 있는 문자열을 저장하기 위한 데이타 구조 또는 k-쌍(k-ary) 위치 트리 구조이다. 이 문자열들은 또 다른 종단 노드들에 저장된다. 트리들은 널만들기(makenull), 탐색, 삽입, 및 삭제와 같은 기본 동작들이 수행될 수 있는 사전 추상 데이타 유형(ADT)을 구현하기 위해 사용된다. 그들은 인코딩과 탐색, 및 정규 표현(regular expression) 탐색과 근사 문자열 매칭에 사용될 수 있다.
한 해법은 사전이 트래버스되는 시간에 표(2200)(도 22)의 한 행을 생성하여 평가하는 것이다. 재사용되는 계산 양을 최대화하는 순서로 사전을 트래버스하기 위해, 사전은 트리 구조(2300)로 배치된다. 트리(2300)의 임의의 노드(2302)는 부분 단어 또는 완전한 단어(또는 둘 다 -"fool"은 단어이고 또한 "foolish"의 접두어임)를 나타낸다. 사전 트리가 트래버스되면서, 동적 프로그래밍 표가 구성된다. 노드를 방문할 때, 트리에서 그 노드에 의해 표현되는 문자에 대응하는 새 "행"(2304)이 이 가상 표(2300)에 생성되고, 행이 스코어들로 채워진다.
그러므로, 결과적 트리(2300)는 도 22의 사전 표(2200)에 대한 값들의 "F" 행과 연관된 최상위 레벨 "F" 노드를 갖는다. 아래로 트래버스하면서, 제2 노드(제1 "o" 노드)는 표(2200)의 연관된 제1 "o" 행을 갖는다. 계속하여, 제3 노드(제 2 "o" 노드)는 표(2200)에 연관된 대응하는 행을 갖는다. 이 제3 노드는 단어 "FOOD"에 대한 "D" 노드에 대응하는 제1 분기, 및 단어 "FOOL"에 대한 "L" 노드에 대응하는 제2 분기를 갖는다. "D" 노드는 표(2200)의 "D" 행과 연관된다. 유사하지만, 더 낮은 행 평가가 되어지고, "L" 노드와 연관된다.
이 동작을 위해 필요한 단 한 가지 컨텍스트는 재귀적 트리 트래버스 루틴에 인자로서 전달되는 이전 행임을 주목한다. 문제의 노드가 전체 단어를 나타내면, 행의 최종 엔트리는 그 단어의 문자들에 대한 스코어들의 합을 발견하기 위해 관찰될 수 있다. 부연하면, 문자 스코어들의 합은 단어의 길이로 나누어져서 최종 단어 스코어를 유도한다. 트리 트래버스가 종결할 때, 대면된 가장 높은 스코어의 단어가 반환된다.
계산의 속도를 크게 증가시키는 몇 가지 휴리스틱 최적화가 있다. 첫번째로, 단지 단어의 처음 문자일 수 있는 문자들로 시작하는 단어들만을 방문한다. 이 최적화는, 특히 일반적이지 않은 문자들로 시작하는 단어들에 대해, 속도에서 몇 배의 증가를 제공한다. 속도를 증가시킬 수 있는 다른 방법은 검색을 절단(prune)해서 이고, 높은 스코어의 단어의 결과를 낼 가능성이 낮은 트리의 연결들이 후속되지 않도록 한다. 주어진 노드에서 단어 접두어의 문자들에 대한 평균 스코어(문자들의 수에 의해 나누어진 열의 최종 엔트리의 값)가 어떤 임계치보다 낮으면, 단어의 남은 문자들의 스코어가 얼마나 높을지라도, 그들은 평균이 현재까지 봐온 최고의 단어보다 더 높도록 하지는 못할 것이다. 이 제2 최적화는 결과들을 크게 저조시키지 않고 속도를 크게 증가시킬 것이다.
구두점이 뒤따르는 단어들이 어휘집에 존재하지 않을 수 있는 사전-기반 단어 인식기에서 구두점은 문제가 된다. 이제 도 24를 참조하면, 본 발명에 따른 구두점 탐지 방법이 도시된다. (2400)에 지시된 바와 같이, 단어 인식기에 인식 위치들의 시퀀스가 전달되기 전에, 시스템은 단어의 최종 문자가 구두점인 확률을 결정한다. 그렇다면, 문자 인식기는 특정 구두점을 식별하기 위해 사용된다. (2402)에 지시된 바와 같이, 최종 문자가 구두점인지를 판정하기 위해, 시스템은 각각의 가능한 최종 문자 위치에 대한 가장 유망한 문자를 찾는다. (2404)에서, 각각의 가장 유망한 문자에 대한 스코어가 생성된다. (2406)에서, 각각의 스코어는 미리 결정된 임계치에 비교된다. (2408)에서, 시스템은 스코어가 임계치를 초과했는지를 판정한다. 이들 문자 인식기 출력들 중 가장 높은 스코어가 임계치 이상이면, (2410)으로 진행하여 문자가 구두점일 가능성이 가장 높은지를 또한 고려한다. 둘 다이면, 구두점이 있는 단어로 가정되는 (2412)로 진행한다. (2414)에 지시된 바와 같이, 그 다음, 단어의 나머지 부분은 사전-기반 인식기로 전송된다. (2416)에서, 그 다음, 단어 인식기의 결과에 구두점이 첨부된다. 그 다음, 프로세스는 중지 블록에 도달한다. 스코어가 임계치를 초과하지 않으면, 또는 스코어가 임계치를 초과하지만 구두점이 아니면, (2408)과 (2410)으로부터 중지 블록으로 진행된다.
이제 도 25를 참조하면, 본 발명의 구조에 따라 이미지화된 샘플(2502)의 결과(2500)가 도시된다. 이미지화된 텍스트(2502)와 프로세스된 결과들(2500)을 나란히 옆에 놓아 비교하기 위해 윈도우(2506)를 생성하는 사용자 인터페이스에 의해 프로세싱이 용이하게 된다. 이 예에서, 시스템은 118개의 문자들과 구두점 중 104개가 OCR에 의해 정확히 인식되었다. 연관된 단어 단편들이 사전에 있지 않은 경우, 하이픈(hyphenation)이 무시되면, 더 나은 결과들을 가져온다. 이 특정 인터페이스에서, 사용자는 무 언어(no language) 모델, 주파수 모델, 및 사전 모델 중에 선택할 수 있다.
이제 도 26을 참조하면, 본 발명 구조에 따라 이미지화된 텍스트의 부분에 대해 언어 모델들의 비교가 도시된다. 좌측에 사전 모델이 사용되어 모델을 사용하지 않는 우측에 도시된 것보다 더 높은 인식율을 보인다.
<분류기>
위에 지시된 바와 같이, 본 발명은 본 발명의 다양한 양태들을 수행하기 위해 다양한 인공지능 기반의 스킴들(schemes)을 채용할 수 있다. 예를 들어, 문자가 구두점인지를 판정하는 임계치를 결정하는 프로세스는 자동 분류기 시스템 및 프로세스를 통해 용이하게 될 수 있다.
분류기는 입력 속성 벡터, x=(x1,x2,x3,x4,xn), 와 입력이 한 개의 클래스에 속하는 신뢰도를 매핑하는 함수이다, 즉, f(x)=confidence(class). 이러한 분류는 확률 및/또는 통계-기반 분석(즉, 분석 유틸리티들과 비용들을 사용하여)을 채용하여 사용자가 자동으로 수행되기를 바라는 동작을 예측하거나 추론할 수 있다.
서포트 벡터 머신(support vector machine; SVM)은 채용될 수 있는 분류기의 일 예이다. SVM은 가능한 입력들의 공간에서 초표면(hypersurface)을 발견하여 동작하고, 여기서, 초표면은 논트리거링(non-triggering) 이벤트들로부터 트리거링 (triggering) 기준들을 분리하려고 시도한다. 직관적으로, 이것은 훈련 데이타에 근접하지만, 동일하지는 않는 테스팅 데이타에 대해 분류를 정확하게 한다. 다른 지시되는(directed) 또는 지시되지 않는(undirected) 모델 분류 방법들은, 예를 들어, 나이브 베이즈(naive Bayes), 베이지안 네트워크(Bayesian Networks), 결정 트리(decision tree), 및 상이한 독립 패턴들을 제공하는 확률 분류 모델들을 포함하여 채용될 수 있다. 본 명세서에 사용되는 바와 같이 분류는 또한 우선순위 모델들을 개발하기 위해 사용되는 통계적 리그레션(statistical regression)을 포함한다.
본 명세서에서 쉽게 이해할 수 있을 것처럼, 본 발명은 명백한 훈련(즉, 일반 훈련 데이타를 통해) 및 내포적 훈련(즉, 사용자 행위의 관찰, 및 외부 정보의 수신을 통해)을 수행하는 분류기들을 채용할 수 있다. 예를 들어, SVM들은 분류기 구성자 및 특징 선택 모듈 내에 학습이나 훈련 단계를 통해 구성된다. 그러므로, 분류기(들)는 다음 것들을 포함하는, 하지만 거기에 제한적이지 않은, 다수의 기능을 자동으로 수행하기 위해 사용될 수 있다: 인식된 심볼을 더 잘 분해하기 위해 문서의 많은 컨텍스트를 결정하는 것, 현재 단어가 정확하다는 확률을 증가시키기 위해 바이그램(bi-gram), 트라이그램(tri-gram) 등의 프로세싱을 수행하는 것. 예를 들어, 단어가 초기에 "wosd"라고 인식되면, 이전이나 다음 단어(바이그램)가 또한 프로세스될 수 있다. 다음 단어가 processor이면, "wosd"는 "word"이어야 할 것이다.
다른 실시예에서, 단어 내용은 인식율을 높이기 위해 단어 내용이 분석될 수 있다. 예를 들어, 단어가 돈이고 나중에 인식된 단어가 보안이면, 내용은 재정, 보안 등을 다룰 수 있다는 추론을 할 수 있다. 그러므로, 시스템은 이러한 용어들을 분해하는 것과 관련된 용어들 및/또는 기능들을 포함하는 한 개 이상의 언어 모델들을 자동으로 가동시킬 수 있다. 더욱이, 이러한 언어 모델 모듈화는 감소된 데이타 요구사항들을 용이하게 할 것이고, 새로운 구조가 채용되는 컴퓨팅 디바이스가 재정 환경에 주로 사용되면, 단지 이러한 언어 모델(들)이 디바이스에 설치되거나 이용가능할 필요가 있다. 이것은 잡동사니 언어 모델이 설치되는 디바이스의 저장 능력 및/또는 프로세싱 능력에 너무 부담을 줄 수 있는 잡동사니 언어 모델을 제공하는 것에 대비된다.
다른 구현에서, 분류기는 분해될 심볼들의 수를 추정하기 위해 채용되어, 예를 들어, 심볼들의 수가 2이면, 그 단어는 대명사 또는 관사일 확률이 높다고 추론할 수 있다. 결과적으로, 이러한 관련 단어 전처리는 다른 언어 모델들이 가동되기 전에 채용될 수 있다.
분류기는 또한 구두점 및 인식될 다른 심볼들을 결정하기 위해 사용되는 임계치들을 자동으로 조정하기 위해 사용될 수 있다. 이 조정은 OCR 프로세스에서 정확히 인식된 내용에 기초할 수 있다. 즉, 이력(history)에 기초하여 임계치에 자동으로 영향을 주는 피드백 메커니즘이 있다.
임계치는 또한 내용의 중요성에 기초하여 자동으로 조절될 수 있다. 예를 들어, OCR 프로세스가 진행됨에 따라, 인식되는 단어들이 법적 계약 문서에 보다 더 관련되고 있다고 판단되면, 분류기는 시스템이 정확성을 향상하기 위해 임계치 를 증가시키도록 하고 (또한, 예를 들어, 의료 기록들), 또한 원하면, 프로세스를 다시 실행시키도록 할 수도 있다. 반면, 내용이 식료품 리스트에 더 관련된다고 판단되면, 임계치는 OCR 프로세스가 진행함에 따라 완화될 수 있다.
분류기의 다른 많은 사용들로는 심볼의 크기, 구두점의 유형, 문장들의 길이, 일련의 심볼들에서 그것의 위치에 관련된 심볼의 유형 등에 기초하여 추론들을 하는 것을 포함한다.
새 구조는 문자 인식을 위한 컨볼루션 신경망의 채용에 제한되지 않음을 주목한다. 문서 상의 각각의 위치의 결과들을 계산하거나 완전히 분류하는 프로세스를 채용할 수 있고, 컨볼루션 프로세싱이 없이 동적 프로그래밍을 수행할 수 있다. 그러나, 덜 견고한 구현에서, 이것은 시스템 성능에 영향을 미칠 수 있다.
이제 도 27을 참조하면, 개시된 구조를 실행시키기 위해 동작할 수 있는 컴퓨터의 블럭도가 도시된다. 본 발명의 다양한 양태들에 대한 추가 컨텍스트를 제공하기 위해, 도 27과 다음 논의는 본 발명의 다양한 양태들이 구현될 수 있는 적합한 컴퓨팅 환경(2700)의 간략하고, 일반적인 설명을 제공하려고 의도된다. 본 발명이 한 개 이상의 컴퓨터들에서 실행될 수 있는 컴퓨터-실행가능 명령어들의 일반 문맥으로 위에 기재되는 한편, 당업자들은 본 발명이 또한 다른 프로그램 모듈들과의 조합 및/또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있음을 인식할 것이다.
일반적으로, 프로그램 모듈은 특정 작업들을 수행하거나 특정 추상 데이타 유형들을 구현하는 루틴, 프로그램, 컴포넌트, 데이타 구조 등을 포함한다. 더욱 이, 당업자들은 본 발명의 방법들이, 각각이 한 개 이상의 연관된 디바이스들과 동작적으로 결합될 수 있는, 싱글프로세서나 멀티프로세서 컴퓨터 시스템, 미니컴퓨터, 메인프레임 컴퓨터, 개인용 컴퓨터, 핸드헬드 컴퓨팅 디바이스, 마이크로프로세서-기반이나 프로그램가능한 소비자 전자제품 등을 포함하는 다른 컴퓨터 시스템 구조들과 실시될 수 있음을 이해할 것이다.
본 발명의 도시된 양태들은 또한 통신망을 통해 링크된 원격 프로세싱 디바이스들에 의해 특정 작업들이 수행되는 분산 컴퓨팅 환경들에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈들은 로컬 및 원격 메모리 저장 디바이스들 모두에 위치될 수 있다.
컴퓨터는 통상적으로 다양한 컴퓨터 판독가능 매체를 포함할 수 있다. 컴퓨터 판독가능 매체는 컴퓨터에 의해 액세스가능한 임의의 이용가능한 매체일 수 있고, 휘발성과 비휘발성 매체, 분리형과 비분리형 매체 모두를 포함한다. 예를 들어, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있지만, 이에 제한되지는 않는다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이타 구조, 프로그램 모듈, 또는 기타 데이타와 같은 정보 저장을 위한 임의의 방법이나 기술로 구현된 휘발성과 비휘발성, 분리형과 비분리형 매체 모두를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래쉬 메모리나 다른 메모리 기술, CD-ROM, DVD(digital video disk)나 다른 광 디스크 저장장치, 자기 카세트, 자기 테이프, 자기 디스크 저장장치나 다른 자기 저장 디바이스들, 또는 원하는 정보를 저장하기 위해 사용될 수 있고 컴퓨터에 의해 액세스가능한 임의의 다른 매체를 포함하지만, 이에 제한되지는 않는다.
통신 매체는 통상적으로 컴퓨터 판독가능 명령어, 데이타 구조, 프로그램 모듈, 또는 반송파나 다른 전송 메커니즘과 같은 변조 데이타 신호의 다른 데이타를 구현하고, 임의의 정보 전달 매체를 포함한다. "변조 데이타 신호"라는 용어는 신호에 정보를 인코딩하는 방식에서 한 개 이상의 그것의 특성들이 설정되거나 변경되는 신호를 의미한다. 예를 들어, 통신 매체는 유선 통신망이나 직접 유선 접속과 같은 유선 매체, 및 음향, RF, 적외선, 및 기타 무선 매체와 같은 무선 매체를 포함한다. 상술된 것들 중 임의의 것들의 조합들은 또한 컴퓨터 판독가능 매체의 범주에 포함되어야 한다.
다시 도 27을 참조하면, 본 발명의 다양한 양태들을 구현하기 위해, 프로세싱 유닛(2704), 시스템 메모리(2706), 및 시스템 버스(2708)를 포함하는 컴퓨터(2702)를 포함하는 환경(2700)의 예가 도시된다. 시스템 버스(2708)는 프로세싱 유닛(2704)에 시스템 메모리(2706)를 포함하는 시스템 컴포넌트들을 결합하지만, 이에 제한되지는 않는다. 프로세싱 유닛(2704)은 다양하게 상업적으로 이용가능한 프로세서들 중 임의의 것일 수 있다. 듀얼(Dual) 마이크로프로세서들 및 기타 멀티프로세서 구조들이 또한 프로세싱 유닛(2704)으로서 채용될 수 있다.
시스템 버스(2708)는 다양하게 상업적으로 이용가능한 버스 구조들 중 임의의 것을 사용한 메모리 버스(메모리 제어기를 포함하거나 포함하지 않고), 주변기기 버스, 및 로컬 버스에 추가로 상호접속할 수 있는 여러 유형들의 버스 구조들 중 임의의 것일 수 있다. 시스템 메모리(2706)는 RAM(Random Access Memory; 2712)와 ROM(Read Only Memory; 2710)을 포함한다. 기본 입/출력 시스템(BIOS)은 ROM, EPROM, EEPROM과 같은 비휘발성 메모리(2710)에 저장되고, BIOS는 스타트업 동안 같은 때에 컴퓨터(2702) 내의 소자들 간의 정보 전송을 돕는 기본 루틴들을 포함한다. RAM(2712)은 또한 데이타 저장을 위해 정적 RAM(static RAM)과 같은 고속 RAM을 포함할 수 있다.
컴퓨터(2702)는, 또한 적합한 격자(도시 안됨)에서 외부 사용을 위해 구성될 수 있는 내부 하드 디스크 드라이브(HDD)(2714)(예를 들어, EIDE, SATA), 자기 플로피 디스크 드라이브(FDD)(2716)(예를 들어, 분리형 디스켓(2718)에 읽고 쓰기 위해), 및 광 디스크 드라이브(2720)(예를 들어, CD-ROM 디스크(2722)를 판독하거나, DVD와 같은 다른 고용량 광 매체에 읽고 쓰기 위해)를 추가로 포함한다. 하드 디스크 드라이브(2714), 자기 디스크 드라이브(2716), 및 광 디스크 드라이브(2720)는 하드 디스크 드라이브 인터페이스(2724), 자기 디스크 드라이브 인터페이스(2726), 및 광 드라이브 인터페이스(2728) 각각에 의해 시스템 버스(2708)에 접속될 수 있다. 외부 드라이브 구현들을 위한 인터페이스(2724)는 USB(Universal Serial Bus)와 IEEE 1394 인터페이스 기술들 중 적어도 하나 또는 둘 다를 포함한다.
드라이브들 및 그들의 연관된 컴퓨터 판독가능 매체는 데이타, 데이타 구조들, 컴퓨터-실행가능 명령어들 등의 비휘발성 저장을 제공한다. 컴퓨터(2702)에 대해, 드라이브들 및 매체는 적합한 디지탈 포맷으로 임의의 데이타의 저장을 포함한다. 상술된 컴퓨터 판독가능 매체의 설명은 HDD, 분리형 자기 디스크, 및 CD나 DVD와 같은 분리형 광 매체를 참조하지만, 당업자라면, 집(zip) 드라이브, 자기 카세트, 플래쉬 메모리 카드, 카트리지 등과 같은 컴퓨터에 의해 판독가능한 다른 유형들의 매체가 또한 운영 시스템의 예에서 사용될 수 있고, 또한, 임의의 이러한 매체는 본 발명의 방법들을 수행하기 위한 컴퓨터-실행가능 명령어들을 포함할 수 있음을 이해해야 한다.
운영 시스템(2730), 한 개 이상의 응용 프로그램들(2732), 다른 프로그램 모듈들(2734), 및 프로그램 데이타(2736)를 포함하는 다수의 프로그램 모듈이 드라이브들 및 RAM(2712)에 저장될 수 있다. 운영 시스템, 응용 프로그램들, 모듈들, 및/또는 데이타의 일부나 전부는 또한 RAM(2712)에 저장될 수 있다.
본 발명은 다양하게 상업적으로 이용가능한 운영 시스템들 또는 운영 시스템들의 조합들로 구현될 수 있음을 이해할 것이다.
사용자는, 예를 들어, 키보드(2738) 및 마우스(2740)와 같은, 포인팅 디바이스와 같은 한 개 이상의 유/무선 입력 디바이스들을 통해 컴퓨터(2702)에 커맨드들과 정보를 입력할 수 있다. 다른 입력 디바이스들(도시 안됨)은 마이크로폰, IR 원격 제어기, 조이 스틱, 게임 패드, 스타일러스 펜, 터치 스크린 등을 포함할 수 있다. 이들과 다른 입력 디바이스들은 종종 시스템 버스(2708)에 결합된 입력 디바이스 인터페이스(2742)를 통해 프로세싱 유닛(2704)에 접속되지만, 병렬 포트, IEEE 1394 직렬 포트, 게임 포트, USB 포트, IR 인터페이스 등과 같은 다른 인터페이스들에 의해 접속될 수도 있다.
모니터(2744) 또는 기타 유형의 디스플레이 디바이스는 또한, 비디오 어댑터 (2746)와 같은, 인터페이스를 통해 시스템 버스(2708)에 접속된다. 모니터(2744)에 추가하여, 컴퓨터는 통상적으로, 스피커, 프린터 등과 같은 다른 주변 출력 디바이스들(도시 안됨)을 포함한다.
컴퓨터(2702)는 원격 컴퓨터(들)(2748)와 같은 한 개 이상의 원격 컴퓨터들에 유선 및/또는 무선 통신을 통해 논리 접속을 사용하는 통신망 환경에서 동작할 수 있다. 원격 컴퓨터(들)(2748)는 워크스테이션, 서버 컴퓨터, 라우터, 개인용 컴퓨터, 휴대용 컴퓨터, 마이크로프로세서-기반 오락 기기, 피어 디바이스, 또는 기타 일반 통신망 노드일 수 있고, 단순성을 위해, 단지 메모리 저장 디바이스(2750)만이 도시되었지만, 통상적으로 컴퓨터(2702)에 관련되어 상술된 소자들의 다수 또는 전체를 포함한다. 도시된 로컬 접속들은 LAN(Local Area Network)(2752) 및/또는 예를 들어 WAN(Wide Area Network)(2754)과 같은, 광역 통신망들에의 유/무선 접속을 포함한다. 이러한 LAN 및 WAN 통신망 환경들은 사무실, 회사에서 일반적이고, 모든 통신망들이, 예를 들어, 인터넷과 같은, 범용 통신망에 접속될 수 있는, 인트라넷들과 같은, 기업-기반 컴퓨터 통신망들을 용이하게 한다.
LAN 통신망 환경에서 사용될 때, 컴퓨터(2702)는 유선 및/또는 무선 통신망 인터페이스 또는 어댑터(2756)를 통해 로컬 통신망(2752)에 접속된다. 무선 어댑터(2756)와의 통신을 위해 거기에 배치된 무선 액세스 포인트(access point)를 또한 포함할 수 있는 LAN(2752)에 유선이나 무선 통신을 어댑터(2756)가 용이하게 할 수 있다. WAN 통신망 환경에서 사용될 때, 컴퓨터(2702)는 모뎀(2758)을 포함할 수 있거나, LAN의 통신 서버에 접속되거나, 또는 인터넷을 통해서와 같이, WAN(2754)을 통해 통신을 개설하는 다른 수단을 갖는다. 내장이나 외장 및 유선이나 무선 디바이스일 수 있는 모뎀(2758)은 직렬 포트 인터페이스(2742)를 통해 시스템 버스(2708)에 접속된다. 통신망 환경에서, 컴퓨터(2702), 또는 그 일부에 관련하여 도시된 프로그램 모듈들은 원격 메모리/저장 디바이스(2750)에 저장될 수 있다. 도시된 통신망 접속들은 예일 뿐이고, 컴퓨터들 간의 통신 링크를 개설하는 다른 수단이 사용될 수 있음을 이해할 것이다.
컴퓨터(2702)는, 예를 들어, 프린터, 스캐너, 데스크탑 및/또는 휴대용 컴퓨터, 휴대용 데이타 단말기, 통신 위성, 무선으로 탐지가능한 태그와 연관된 기구의 임의의 부분이나 위치(예를 들어, 키오스크(kiosk), 뉴스 스탠드, 화장실), 및 전화와 같은, 무선 통신에서 동작적으로 배치된 임의의 무선 디바이스들이나 개체들과 통신하기 위해 동작가능하다. 이것은 적어도 Wi-Fi 및 Bluetooth™ 무선 기술들을 포함한다. 그러므로, 통신은 종래 통신망에서와 같이 미리 정의된 구조일 수 있고, 또는 단지 적어도 2개의 디바이스들 간의 특별 통신일 수도 있다.
Wi-Fi(Wireless Fidelity)는 무선으로 집의 소파, 호텔 방의 침대, 또는 직장의 회의실에서부터 인터넷으로 접속하도록 한다. Wi-Fi는 기지국의 범위 내에 어디서든지 집안과 집밖의 데이타를 송수신하기 위해, 예를 들어, 컴퓨터들과 같은, 디바이스들을 가동시키는 셀폰과 같은 무선 기술이다. Wi-Fi 통신망들은 IEEE 802.11(a,b, g 등)이라 불리우는 무선 기술들을 사용하여 안전하고, 신뢰성있고, 빠른 무선 접속을 제공한다. Wi-Fi 통신망은 컴퓨터들을 서로간에, 인터넷에, 및 무선 통신망들에(IEEE802.3 또는 이써넷을 사용함) 접속하기 위해 사용될 수 있다. Wi-Fi 통신망은 11Mbps(802.11b)나 54Mbps(802.11a) 데이타 비율로, 무면허의 2.4Ghz 및 5.4Ghz 무선 밴드들에서, 또는 양쪽 밴드들을 포함하는(듀얼 밴드) 제품과 동작하여, 통신망들은 다수의 사무실들에서 사용되는 기본 10BaseT 무선 이써넷 통신망들에 유사한 실환경(real-world) 성능을 제공할 수 있다.
이제 도 28을 참조하면, 본 발명에 따른 컴퓨팅 환경(2800)의 예의 간략한 블럭도가 도시된다. 시스템(2800)은 한 개 이상의 클라이언트(들)(2802)를 포함한다. 클라이언트(들)(2802)는 하드웨어 및/또는 소프트웨어(예를 들어, 스레드(thread), 프로세스, 컴퓨팅 디바이스)일 수 있다. 클라이언트(들)(2802)는, 예를 들어, 본 발명을 채용하여 쿠키(들) 및/또는 연관된 컨텍스트 정보를 포함할 수 있다. 시스템(2800)은 또한 한 개 이상의 서버(들)(2804)을 포함한다. 서버(들)(2804)는 또한 하드웨어 및/또는 소프트웨어(예를 들어, 스레드, 프로세스, 컴퓨팅 디바이스)일 수 있다. 서버(2804)는, 예를 들어, 본 발명을 채용하여 변환들을 수행하는 스레드들을 포함할 수 있다. 클라이언트(2802)와 서버(2804) 간의 한 가지 가능한 통신은 2개 이상의 컴퓨터 프로세스들 간에 전송되게 적응된 데이타 패킷의 형태일 수 있다. 데이타 패킷은, 예를 들어, 쿠키 및/또는 연관된 컨텍스트 정보를 포함할 수 있다. 시스템(2800)은 클라이언트(들)(2802)와 서버(들)(2804) 간에 통신을 용이하게 하기 위해 채용될 수 있는 통신 프레임워크(2806)(즉, 인터넷과 같은 범용 통신망)를 포함한다.
통신은 유선(광섬유를 포함함) 및/또는 무선 기술로 용이하게 될 수 있다. 클라이언트(들)(2802)는 클라이언트(들)(2802)에 로컬 정보(즉, 쿠키(들) 및/또는 연관된 컨텍스트 정보)를 저장하기 위해 채용될 수 있는 한 개 이상의 클라이언트 데이타 저장소(들)(2808)에 동작적으로 접속된다. 유사하게, 서버(들)(2804)는 서버들(2804)에 로컬 정보를 저장하기 위해 채용될 수 있는 한 개 이상의 서버 데이타 저장소(들)(2810)에 동작적으로 접속된다.
상술된 것은 본 발명의 예들을 포함한다. 물론, 본 발명을 설명하는 목적으로, 컴포넌트들이나 방법들의 조합의 모든 가능한 조합을 기재하기는 불가능하지만, 당업자라면, 본 발명의 다수의 추가 조합들 및 순열들이 가능함을 인식할 것이다. 따라서, 본 발명은 첨부된 청구범위의 취지 및 범위에 속하는 모든 변경, 수정 및 변형들을 포함하는 것이다. 더욱이, "포함한다(includes)"라는 용어가 상세한 설명이나 청구범위에서 사용된다는 점에서, 이러한 용어는 "구비하는(comprising)"이 청구범위의 전이어(transitional word)로서 채용될 때 해석되는 것처럼 "구비하는(comprising)"과 유사한 방식으로 포괄적이다.
전술한 바와 같이, 본 발명에 따르면 이진화-유형 프로세스, 분절 및 인식을 하나의 프로세스로 결합하는 저해상 사진 문서들의 광학 문자 인식을 위한 범용 최적화 프레임워크가 제공된다.

Claims (40)

  1. 저해상 심볼들의 광학 문자 인식(optical character recognition; OCR)을 용이하게 하는 시스템으로서,
    이미지에서 심볼의 분절(segmentation)을 용이하게 하는 분절 컴포넌트; 및
    상기 심볼의 분절과 실질적으로 동시에 상기 심볼을 인식하는 인식 컴포넌트
    를 포함하는 광학 문자 인식 시스템.
  2. 제1항에 있어서, 그레이 레벨(grey-level) 입력을 프로세스하고 심볼 위치에서 분류 함수(classification function)를 계산하여 상기 심볼의 인식을 용이하게 하는 기계 학습 분류 알고리즘(machine learning classification algorithm)을 더 포함하는 광학 문자 인식 시스템.
  3. 제1항에 있어서, 그레이 레벨 입력을 프로세스하고 복수의 심볼 위치에서 분류 함수를 계산하는 컨볼루션 신경망(convolutional neural network)인 기계 학습 분류 알고리즘을 더 포함하는 광학 문자 인식 시스템.
  4. 제1항에 있어서, 상기 심볼들의 그레이 레벨 이미지로부터 텍스트의 라인들의 탐지를 용이하게 하는 라인 탐지(line detection) 컴포넌트를 더 포함하는 광학 문자 인식 시스템.
  5. 제1항에 있어서, 상기 심볼을 단어나 그것의 일부로서 해석하는 것을 용이하게 하는 언어 모델과 프로그래밍 모델 중 적어도 하나를 더 포함하는 광학 문자 인식 시스템.
  6. 제1항에 있어서, 상기 인식 컴포넌트는 심볼과 일련의 심볼들을 모두 인식하고, 상기 심볼 또는 일련의 심볼들은 한 단어를 나타내는 광학 문자 인식 시스템.
  7. 제1항에 있어서, 상기 인식 컴포넌트는 컨볼루션 신경망, 언어 모델, 및 동적 프로그래밍 알고리즘(dynamic programming algorithm) 중 적어도 하나를 사용하는 광학 문자 인식 시스템.
  8. 제1항에 있어서, 상기 인식 컴포넌트는 다른 조명 조건, 폰트, 심볼 크기, 카메라 유형, 각도, 및 촛점 중 적어도 하나에 대해 불변적인 분류기(classifier)를 구성하는 광학 문자 인식 시스템.
  9. 제1항에 있어서, 상기 인식 컴포넌트는 상기 이미지의 주어진 위치에 있는 상기 심볼에 의해 어떤 문자가 표현되는지를 예측하는 광학 문자 인식 시스템.
  10. 제1항에 있어서, 주변 심볼들 간의 간격(gap) 및 주변 심볼 라인들 간의 간 격 중 적어도 하나를 탐지하는 필터를 더 포함하는 광학 문자 인식 시스템.
  11. 제10항에 있어서, 상기 필터는, 임계치가 실험적으로 또는 자동적으로 계산되는, 탐지시에 사용되는 미리 결정된 임계치를 포함하는 광학 문자 인식 시스템.
  12. 제1항에 있어서, 상기 인식기는 보다 높은 해상도에서 단순한 특징들을 추출하고, 상기 단순한 특징을 보다 낮은 해상도에서 보다 복잡한 특징으로 변환하는 광학 문자 인식 시스템.
  13. 저해상 카메라-입력된 문서들의 광학 문자 인식을 용이하게 하는 시스템으로서,
    이미지의 심볼의 분절을 용이하게 하는 분절 컴포넌트;
    문자열 내의 문자의 프로세싱을 용이하게 하는 언어 모델; 및
    상기 문자열을 단어로서 인식하는 것을 용이하게 하는 동적 프로그래밍 컴포넌트
    를 포함하는 광학 문자 인식 시스템.
  14. 제13항에 있어서, 상기 동적 프로그래밍 컴포넌트는 주어진 단어 바운딩 박스(bounding rectangle)에 어떤 단어가 위치되어 있는지를 판정하는 광학 문자 인식 시스템.
  15. 제13항에 있어서, 상기 언어 모델은 전체 어휘집(lexicon)을 스캔하고, 상기 어휘집의 각 단어에 대한 확률을 추정하고, 가장 유망한 단어를 출력하는 사전 모델인 광학 문자 인식 시스템.
  16. 제13항에 있어서, 상기 언어 모델은 문자 인식기 관찰들(observations)의 시퀀스의 가장 유망한 해석을 산출하는 언어 중립적인 것인 광학 문자 인식 시스템.
  17. 제13항에 있어서, 상기 언어 모델은 가장 유망한 단어를 계산하기 위해 어휘집을 트래버스함으로써 동적 프로그래밍 최적화를 인터리브(interleave)하는 광학 문자 인식 시스템.
  18. 제13항의 시스템을 실현하기 위한 컴퓨터-실행가능 명령어들을 저장한 컴퓨터 판독가능 매체.
  19. 제13항의 시스템을 채용한 컴퓨터.
  20. 제13항에 있어서, 상기 문자 및 상기 단어 중 적어도 하나의 인식과 연관된 한 개 이상의 관찰들에 기초하여 자동으로 추론하는 분류기를 더 포함하는 광학 문자 인식 시스템.
  21. 카메라-입력된 문서의 저해상 광학 문자 인식을 수행하는 방법을 위한 컴퓨터 실행가능 명령어들을 갖는 컴퓨터 판독가능 매체로서, 상기 방법은,
    복수의 이미지화된 심볼을 갖는 촬영된 문서를 수신하는 단계;
    상기 문서의 상기 이미지화된 심볼들의 연관된 배치를 탐지하는 레이아웃 분석(layout analysis)을 수행하는 단계;
    상기 이미지화된 심볼들 간의 공간(space)들을 탐지하여, 상기 연관된 배치를 상기 이미지화된 심볼들의 한 개 이상의 세트들로 분해하는 단계;
    상기 이미지화된 심볼들의 세트들을 개별 이미지화된 심볼들로 분절하는 단계;
    보다 높은 수평 해상도에서 수평 위치에서의 각 이미지화된 심볼에 대한 스코어를 계산하는 단계;
    상기 수평 위치에서의 상기 이미지화된 심볼들 각각에 대한 스코어를 단어를 판정하는데 사용되는 총 스코어에 결합하는 단계; 및
    상기 이미지화된 심볼들의 세트들 중 하나를 나타내는 단어를 출력하는 단계
    를 포함하는 컴퓨터 판독가능 매체.
  22. 제21항에 있어서,
    고해상도에서 상기 개별 심볼들의 단순한 특징들을 추출하는 단계; 및
    상기 단순한 특징들을 보다 낮은 해상도에서 보다 복잡한 특징들로 변환하는 단계
    의 동작들을 더 포함하고,
    상기 추출 단계와 변환 단계의 동작들 중 적어도 하나가 컨볼루션 신경망에 의해 수행되는 컴퓨터 판독가능 매체.
  23. 제21항에 있어서, 동적 프로그래밍을 사용하여 상기 연관된 배치에서 상기 심볼들의 세트의 위치를 파악하는 단계 -상기 연관된 배치는 라인임- 를 더 포함하는 컴퓨터 판독가능 매체.
  24. 제21항에 있어서, 상기 분절 단계, 추출 단계 및 변환 단계의 동작들은 실질적으로 동시에 수행되는 컴퓨터 판독가능 매체.
  25. 제21항에 있어서, 주어진 수평 위치들에서 상기 이미지화된 심볼들로부터 인식된 심볼들을 생성하는 기계 학습 알고리즘을 훈련하는 단계를 더 포함하는 컴퓨터 판독가능 매체.
  26. 제25항에 있어서, 상기 기계 학습 알고리즘에 대한 훈련 세트를 생성하는 단계를 더 포함하고, 상기 생성 단계 동작은,
    문서들의 집합을 종이 매체 및 전자 매체 양방에 인쇄하는 단계; 및
    레이블화된 문자 이미지들의 데이타베이스를 생성하기 위해, 상기 종이 매체 의 각 문자의 위치와 대응하는 이미지화된 심볼의 위치를 매칭시키는 단계
    의 동작들 중 적어도 하나를 더 포함하는 컴퓨터 판독가능 매체.
  27. 제21항에 있어서,
    간격 필터로 상기 심볼들 간의 간격을 탐지하는 단계;
    라인 필터를 사용하여 심볼들의 라인들을 탐지하는 단계; 및
    상기 간격 필터와 상기 라인 필터 양방의 결과에 기초하여 텍스트 영역을 정의하는 단계
    를 더 포함하는 컴퓨터 판독가능 매체.
  28. 제21항에 있어서, 상기 심볼들 간의 간격과 연관된 픽셀들에의 CC(connected components) 분석을 수행하는 단계를 더 포함하는 컴퓨터 판독가능 매체.
  29. 촬영된 문서의 저해상 광학 문자 인식을 수행하는 방법으로서,
    상기 촬영된 문서에 발생한 결함(imperfections)들을 조정하기 위해 상기 촬영된 문서를 전처리하는 단계;
    텍스트 라인들을 결정하기 위해 상기 문서의 레이아웃을 분석하는 단계;
    상기 텍스트 라인들을 개별 단어들로 분해하는 단계;
    상기 개별 단어들 각각에 대해 바운드들(bounds)을 지정하는 단계;
    기계 학습 분류 알고리즘을 사용하여 상기 개별 단어들 각각을 인식하는 단 계; 및
    주어진 위치에 어떤 개별 단어가 있는지를 판정하기 위한 동적 프로그래밍 알고리즘으로 상기 개별 단어들을 인식하는 단계
    를 포함하는 광학 문자 인식 방법.
  30. 제29항에 있어서, 구두점(punctuation)을 인식하는 단계를 더 포함하는 광학 문자 인식 방법.
  31. 제29항에 있어서, 상기 문서의 영역들에서 대비(contrast)를 최대화하기 위해 화이트밸런싱 알고리즘(whitebalancing algorithm)으로 상기 촬영된 문서를 전처리하는 단계를 더 포함하는 광학 문자 인식 방법.
  32. 제29항에 있어서, 상기 기계 학습 분류 알고리즘은 컨볼루션 신경망과 SVM(support vector machine) 중 하나인 광학 문자 인식 방법.
  33. 제29항에 있어서,
    재사용되는 계산의 양을 최대화하는 구조로 사전을 정렬하는 단계; 및
    상기 구조가 트래버스(traverse)되면서 상기 개별 단어의 문자의 관찰에 대한 최적의 지정을 결정하도록 동적 프로그래밍 표를 생성하는 단계
    의 동작들 중 적어도 하나를 더 포함하는 광학 문자 인식 방법.
  34. 제33항에 있어서, 상기 구조는 트리(trie) 구조인 광학 문자 인식 방법.
  35. 제29항에 있어서, 제1 단어를 인식하기 위해 상기 제1 단어와 제2 단어를 쌍으로서 분석하는 단계를 더 포함하는 광학 문자 인식 방법.
  36. 제29항에 있어서, 제1 언어 모델을 사용하여 출력 단어를 생성하는데 실패하면 제2 언어 모델이 자동으로 채용되도록, 상기 제1 및 제2 언어 모델들을 채용하는 단계를 더 포함하는 광학 문자 인식 방법.
  37. 제29항에 있어서, 부스팅(boosting)을 사용하여 자동으로 계산되는 임계치에 따라 단어의 문자들 간의 간격을 탐지하는 단계를 더 포함하는 광학 문자 인식 방법.
  38. 제29항에 있어서, 연결된 컴포넌트들의 상대적 기하학적 관계들을 테스트하여 상기 텍스트 라인들을 탐지하는 단계를 더 포함하는 광학 문자 인식 방법.
  39. 제38항에 있어서, 상기 연결된 컴포넌트 세트의 크기를 증가시켜 각 세트에 대한 통계들을 생성하는 단계를 더 포함하는 광학 문자 인식 방법.
  40. 제29항에 있어서, 훈련 이미지들로 상기 기계 학습 분류 알고리즘을 훈련하는 단계를 더 포함하고, 상기 훈련 단계는,
    입력 윈도우에서 상기 훈련 이미지들을 랜덤하게 지터(jitter)하는 단계; 및
    상기 입력 윈도우에 상기 훈련 이미지들의 밝기 및 대비를 랜덤하게 변경시키는 단계
    중 적어도 하나를 포함하는 광학 문자 인식 방법.
KR1020050042600A 2004-05-20 2005-05-20 카메라 입력된 문서들을 위한 저해상 ocr KR101114135B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/850,335 US7499588B2 (en) 2004-05-20 2004-05-20 Low resolution OCR for camera acquired documents
US10/850,335 2004-05-20

Publications (2)

Publication Number Publication Date
KR20060046128A true KR20060046128A (ko) 2006-05-17
KR101114135B1 KR101114135B1 (ko) 2012-02-20

Family

ID=34939897

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050042600A KR101114135B1 (ko) 2004-05-20 2005-05-20 카메라 입력된 문서들을 위한 저해상 ocr

Country Status (6)

Country Link
US (1) US7499588B2 (ko)
EP (1) EP1598770B1 (ko)
JP (2) JP4698289B2 (ko)
KR (1) KR101114135B1 (ko)
CN (1) CN100446027C (ko)
ES (1) ES2610467T3 (ko)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8340426B2 (en) 2007-11-22 2012-12-25 Samsung Electronics Co., Ltd. Apparatus and method for recognizing characters
KR20140059834A (ko) * 2011-08-29 2014-05-16 퀄컴 인코포레이티드 콘텍스트 정보를 이용한 모바일 디바이스 상에서의 광학적 문자 인식
KR20170021176A (ko) * 2015-08-17 2017-02-27 한국과학기술원 해파리 퇴치용 군집 로봇 시스템을 효율적으로 운용하기 위한 해파리 분포 인식 방법 및 시스템
KR20190142286A (ko) * 2017-05-04 2019-12-26 주식회사 매스프레소 가중치 기반의 유사 문제 필터링 방법
KR102104605B1 (ko) * 2019-04-24 2020-04-27 도프텍(주) 인공지능 기반 플랜트 도면 내 심볼 자동인식 방법 및 장치
KR20200076088A (ko) * 2018-12-19 2020-06-29 (주)린치핀 온라인 파츠북 서비스 제공 방법 및 시스템
KR102142238B1 (ko) * 2020-02-25 2020-08-07 주식회사 엔디소프트 소정 이미지에 포함된 축약어, 손글씨, 비정형 단어 및 문장과 같은 텍스트 정보를 추출한 후 그 추출 결과를 소정 언어로 자동 번역하는 방법
KR20200106471A (ko) * 2020-08-31 2020-09-14 (주)린치핀 온라인 파츠북 뷰어 시스템
KR20200106472A (ko) * 2020-08-31 2020-09-14 (주)린치핀 클라우드 기반 온라인 파츠북 서비스 제공 방법 및 시스템
KR20200108808A (ko) * 2020-08-31 2020-09-21 (주)린치핀 온라인 파츠북을 이용한 파츠 주문 배송 시스템
WO2021081562A3 (en) * 2021-01-20 2021-12-09 Innopeak Technology, Inc. Multi-head text recognition model for multi-lingual optical character recognition

Families Citing this family (165)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6823084B2 (en) * 2000-09-22 2004-11-23 Sri International Method and apparatus for portably recognizing text in an image sequence of scene imagery
WO2005048188A2 (en) 2003-11-11 2005-05-26 Sri International Method and apparatus for capturing paper-based information on a mobile computing device
US20100092095A1 (en) * 2008-10-14 2010-04-15 Exbiblio B.V. Data gathering in digital and rendered document environments
US20060095504A1 (en) * 2004-08-24 2006-05-04 Gelsey Jonathan I System and method for optical character information retrieval (OCR) via a thin-client user interface
US9495385B2 (en) 2004-10-01 2016-11-15 Ricoh Co., Ltd. Mixed media reality recognition using multiple specialized indexes
US9530050B1 (en) 2007-07-11 2016-12-27 Ricoh Co., Ltd. Document annotation sharing
US9384619B2 (en) 2006-07-31 2016-07-05 Ricoh Co., Ltd. Searching media content for objects specified using identifiers
US7812986B2 (en) 2005-08-23 2010-10-12 Ricoh Co. Ltd. System and methods for use of voice mail and email in a mixed media environment
US9373029B2 (en) 2007-07-11 2016-06-21 Ricoh Co., Ltd. Invisible junction feature recognition for document security or annotation
US9405751B2 (en) 2005-08-23 2016-08-02 Ricoh Co., Ltd. Database for mixed media document system
US8989431B1 (en) 2007-07-11 2015-03-24 Ricoh Co., Ltd. Ad hoc paper-based networking with mixed media reality
US7702673B2 (en) * 2004-10-01 2010-04-20 Ricoh Co., Ltd. System and methods for creation and use of a mixed media environment
US9171202B2 (en) 2005-08-23 2015-10-27 Ricoh Co., Ltd. Data organization and access for mixed media document system
US20060245654A1 (en) * 2005-04-29 2006-11-02 Microsoft Corporation Utilizing grammatical parsing for structured layout analysis
US20070077987A1 (en) * 2005-05-03 2007-04-05 Tangam Gaming Technology Inc. Gaming object recognition
US7640037B2 (en) * 2005-05-18 2009-12-29 scanR, Inc, System and method for capturing and processing business data
US8249344B2 (en) * 2005-07-01 2012-08-21 Microsoft Corporation Grammatical parsing of document visual structures
TWI265715B (en) * 2005-07-21 2006-11-01 Inventec Appliances Corp Method for collecting business card data in mobile communication apparatus
US7454063B1 (en) * 2005-09-22 2008-11-18 The United States Of America As Represented By The Director National Security Agency Method of optical character recognition using feature recognition and baseline estimation
WO2008048304A2 (en) 2005-12-01 2008-04-24 Firestar Software, Inc. System and method for exchanging information among exchange applications
US8509563B2 (en) 2006-02-02 2013-08-13 Microsoft Corporation Generation of documents from images
WO2007134008A2 (en) * 2006-05-08 2007-11-22 Firestar Software, Inc. System and method for exchanging transaction information using images
US7787697B2 (en) * 2006-06-09 2010-08-31 Sony Ericsson Mobile Communications Ab Identification of an object in media and of related media objects
US8098934B2 (en) 2006-06-29 2012-01-17 Google Inc. Using extracted image text
US7953295B2 (en) * 2006-06-29 2011-05-31 Google Inc. Enhancing text in images
US8031940B2 (en) * 2006-06-29 2011-10-04 Google Inc. Recognizing text in images using ranging data
US9176984B2 (en) 2006-07-31 2015-11-03 Ricoh Co., Ltd Mixed media reality retrieval of differentially-weighted links
US8489987B2 (en) 2006-07-31 2013-07-16 Ricoh Co., Ltd. Monitoring and analyzing creation and usage of visual content using image and hotspot interaction
US9063952B2 (en) 2006-07-31 2015-06-23 Ricoh Co., Ltd. Mixed media reality recognition with image tracking
US8201076B2 (en) 2006-07-31 2012-06-12 Ricoh Co., Ltd. Capturing symbolic information from documents upon printing
US7986843B2 (en) * 2006-11-29 2011-07-26 Google Inc. Digital image archiving and retrieval in a mobile device system
US8238624B2 (en) * 2007-01-30 2012-08-07 International Business Machines Corporation Hybrid medical image processing
US8326092B2 (en) * 2007-04-23 2012-12-04 International Business Machines Corporation Heterogeneous image processing system
US8462369B2 (en) * 2007-04-23 2013-06-11 International Business Machines Corporation Hybrid image processing system for a single field of view having a plurality of inspection threads
US8331737B2 (en) * 2007-04-23 2012-12-11 International Business Machines Corporation Heterogeneous image processing system
US9277090B2 (en) 2007-10-01 2016-03-01 Hewlett-Packard Development Company, L.P. System and method of document reproduction
US8675219B2 (en) * 2007-10-24 2014-03-18 International Business Machines Corporation High bandwidth image processing with run time library function offload via task distribution to special purpose engines
US20090132582A1 (en) * 2007-11-15 2009-05-21 Kim Moon J Processor-server hybrid system for processing data
US9135073B2 (en) * 2007-11-15 2015-09-15 International Business Machines Corporation Server-processor hybrid system for processing data
WO2009070142A1 (en) * 2007-11-30 2009-06-04 Hewlett-Packard Development Company, L.P. Method and system for measuring text-rendering quality
US20090150556A1 (en) * 2007-12-06 2009-06-11 Kim Moon J Memory to storage communication for hybrid systems
US9332074B2 (en) * 2007-12-06 2016-05-03 International Business Machines Corporation Memory to memory communication and storage for hybrid systems
US8229251B2 (en) * 2008-02-08 2012-07-24 International Business Machines Corporation Pre-processing optimization of an image processing system
US8379963B2 (en) * 2008-03-28 2013-02-19 International Business Machines Corporation Visual inspection system
KR100942257B1 (ko) 2008-04-11 2010-02-16 엔에이치엔(주) 이미지 전처리를 위한 방법, 장치 및 컴퓨터 판독 가능한기록 매체
US8131009B2 (en) * 2008-11-11 2012-03-06 Xerox Corporation Automatic spine creation from book covers without spines
US8719701B2 (en) 2009-01-02 2014-05-06 Apple Inc. Identification of guides and gutters of a document
US8290273B2 (en) * 2009-03-27 2012-10-16 Raytheon Bbn Technologies Corp. Multi-frame videotext recognition
US8331610B2 (en) * 2009-05-26 2012-12-11 Xerox Corporation Method for measurement of reflectance profiles of image surfaces
US8345106B2 (en) 2009-09-23 2013-01-01 Microsoft Corporation Camera-based scanning
EP2320390A1 (en) * 2009-11-10 2011-05-11 Icar Vision Systems, SL Method and system for reading and validation of identity documents
TWI420403B (zh) * 2009-11-13 2013-12-21 Primax Electronics Ltd 影像處理方法及影像處理裝置
CN102078186B (zh) * 2009-12-01 2013-02-13 深圳先进技术研究院 生理参数收集方法、手机及系统
US8560466B2 (en) * 2010-02-26 2013-10-15 Trend Micro Incorporated Method and arrangement for automatic charset detection
US8509534B2 (en) * 2010-03-10 2013-08-13 Microsoft Corporation Document page segmentation in optical character recognition
US8401293B2 (en) 2010-05-03 2013-03-19 Microsoft Corporation Word recognition of text undergoing an OCR process
US8218875B2 (en) * 2010-06-12 2012-07-10 Hussein Khalid Al-Omari Method and system for preprocessing an image for optical character recognition
US8655071B2 (en) 2011-02-24 2014-02-18 Sharp Laboratories Of America, Inc. Methods and systems for determining a document region-of-interest in an image
US8606010B2 (en) * 2011-03-18 2013-12-10 Seiko Epson Corporation Identifying text pixels in scanned images
US9058331B2 (en) 2011-07-27 2015-06-16 Ricoh Co., Ltd. Generating a conversation in a social network based on visual search results
US9576284B2 (en) 2011-09-29 2017-02-21 Paypal, Inc. Social proximity payments
US8996350B1 (en) 2011-11-02 2015-03-31 Dub Software Group, Inc. System and method for automatic document management
WO2013136295A1 (en) * 2012-03-15 2013-09-19 Northstar Telemetrics, S. L. Method for automatically reading a utility meter, retrofittable meter reader and automatic meter reading system using the same
US8983211B2 (en) * 2012-05-14 2015-03-17 Xerox Corporation Method for processing optical character recognizer output
US9519641B2 (en) * 2012-09-18 2016-12-13 Abbyy Development Llc Photography recognition translation
US9058536B1 (en) * 2012-09-26 2015-06-16 Amazon Technologies, Inc. Image-based character recognition
JP5840104B2 (ja) * 2012-10-19 2016-01-06 日立建機株式会社 作業車両の走行制御装置
KR20150028627A (ko) * 2013-09-06 2015-03-16 삼성전자주식회사 사용자 필기를 텍스트 정보로 변환하는 방법 및 이를 수행하기 위한 전자 기기
US9292739B1 (en) * 2013-12-12 2016-03-22 A9.Com, Inc. Automated recognition of text utilizing multiple images
KR102208893B1 (ko) 2013-12-30 2021-01-28 삼성전자주식회사 디스플레이 장치 및 디스플레이 장치의 채널 맵 관리 방법
US9189708B2 (en) 2013-12-31 2015-11-17 Google Inc. Pruning and label selection in hidden markov model-based OCR
US9251431B2 (en) 2014-05-30 2016-02-02 Apple Inc. Object-of-interest detection and recognition with split, full-resolution image processing pipeline
US9277123B2 (en) 2014-05-30 2016-03-01 Apple Inc. Systems and methods for exposure metering for timelapse video
US9992443B2 (en) 2014-05-30 2018-06-05 Apple Inc. System and methods for time lapse video acquisition and compression
US9565370B2 (en) 2014-05-30 2017-02-07 Apple Inc. System and method for assisting in computer interpretation of surfaces carrying symbols or characters
US9449239B2 (en) 2014-05-30 2016-09-20 Apple Inc. Credit card auto-fill
US9361531B2 (en) * 2014-07-21 2016-06-07 Optum, Inc. Targeted optical character recognition (OCR) for medical terminology
US9953425B2 (en) * 2014-07-30 2018-04-24 Adobe Systems Incorporated Learning image categorization using related attributes
US9239961B1 (en) * 2014-09-24 2016-01-19 Amazon Technologies, Inc. Text recognition near an edge
US9324376B2 (en) 2014-09-30 2016-04-26 Apple Inc. Time-lapse video capture with temporal points of interest
US9426409B2 (en) 2014-09-30 2016-08-23 Apple Inc. Time-lapse video capture with optimal image stabilization
US10409909B2 (en) * 2014-12-12 2019-09-10 Omni Ai, Inc. Lexical analyzer for a neuro-linguistic behavior recognition system
CN104537347A (zh) * 2014-12-25 2015-04-22 安徽寰智信息科技股份有限公司 一种基于云端分析和模型匹配的唇形识别文字输入方法
DE102015102369A1 (de) * 2015-02-19 2016-08-25 Bundesdruckerei Gmbh Mobilgerät zum Erfassen eines Textbereiches auf einem Identifikationsdokument
US9984287B2 (en) 2015-03-05 2018-05-29 Wipro Limited Method and image processing apparatus for performing optical character recognition (OCR) of an article
US10105051B2 (en) 2015-03-22 2018-10-23 Spect Inc. System and method for a portable eye examination camera
WO2017032427A1 (en) * 2015-08-27 2017-03-02 Longsand Limited Identifying augmented features based on a bayesian analysis of a text document
CN105512682B (zh) * 2015-12-07 2018-11-23 南京信息工程大学 一种基于Krawtchouk矩和KNN-SMO分类器的密级标识识别方法
US9799106B2 (en) 2015-12-16 2017-10-24 Dropbox, Inc. Enhancing a digital image
US9785855B2 (en) * 2015-12-17 2017-10-10 Conduent Business Services, Llc Coarse-to-fine cascade adaptations for license plate recognition with convolutional neural networks
JP6739937B2 (ja) 2015-12-28 2020-08-12 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム
CN107180220B (zh) * 2016-03-11 2023-10-31 松下电器(美国)知识产权公司 危险预测方法
US9984471B2 (en) * 2016-07-26 2018-05-29 Intuit Inc. Label and field identification without optical character recognition (OCR)
US10311330B2 (en) 2016-08-17 2019-06-04 International Business Machines Corporation Proactive input selection for improved image analysis and/or processing workflows
US10579741B2 (en) 2016-08-17 2020-03-03 International Business Machines Corporation Proactive input selection for improved machine translation
CN106446899A (zh) * 2016-09-22 2017-02-22 北京市商汤科技开发有限公司 文字检测方法和装置、及文字检测训练方法和装置
US10325148B2 (en) * 2016-09-30 2019-06-18 Wipro Limited Method and a system for optical character recognition
US20180101726A1 (en) * 2016-10-10 2018-04-12 Insurance Services Office Inc. Systems and Methods for Optical Character Recognition for Low-Resolution Documents
KR101805318B1 (ko) * 2016-11-01 2017-12-06 포항공과대학교 산학협력단 텍스트 영역 식별 방법 및 장치
US10276189B1 (en) * 2016-12-28 2019-04-30 Shutterstock, Inc. Digital audio track suggestions for moods identified using analysis of objects in images from video content
CN106845530B (zh) * 2016-12-30 2018-09-11 百度在线网络技术(北京)有限公司 字符检测方法和装置
WO2018152304A1 (en) * 2017-02-17 2018-08-23 The Coca-Cola Company System and method for character recognition model and recursive training from end user input
US10803378B2 (en) 2017-03-15 2020-10-13 Samsung Electronics Co., Ltd System and method for designing efficient super resolution deep convolutional neural networks by cascade network training, cascade network trimming, and dilated convolutions
US11354577B2 (en) 2017-03-15 2022-06-07 Samsung Electronics Co., Ltd System and method for designing efficient super resolution deep convolutional neural networks by cascade network training, cascade network trimming, and dilated convolutions
JP7102103B2 (ja) 2017-03-31 2022-07-19 キヤノン株式会社 携帯型の情報処理装置及び当該情報処理装置を用いた方法及びプログラム
WO2018213492A1 (en) 2017-05-16 2018-11-22 Spect Inc. Stereoscopic mobile retinal imager
WO2019009916A1 (en) 2017-07-07 2019-01-10 Hewlett-Packard Development Company, L.P. ALIGNMENTS OF IMAGES THROUGH OPTICAL RECOGNITION OF CHARACTERS
US10346702B2 (en) 2017-07-24 2019-07-09 Bank Of America Corporation Image data capture and conversion
US10192127B1 (en) 2017-07-24 2019-01-29 Bank Of America Corporation System for dynamic optical character recognition tuning
US10354132B2 (en) 2017-08-22 2019-07-16 Autonom8, Inc. System and method for generating a virtual assistant
US10482323B2 (en) 2017-08-22 2019-11-19 Autonom8, Inc. System and method for semantic textual information recognition
CN107704857B (zh) * 2017-09-25 2020-07-24 北京邮电大学 一种端到端的轻量级车牌识别方法及装置
JP7088661B2 (ja) * 2017-10-30 2022-06-21 株式会社インフォディオ 紙帳票データ化システム、ocrエンジン学習用画像生成装置および画像分析装置
US10679085B2 (en) * 2017-10-31 2020-06-09 University Of Florida Research Foundation, Incorporated Apparatus and method for detecting scene text in an image
US10810265B2 (en) * 2017-10-31 2020-10-20 Jpmorgan Chase Bank, N.A. Automatic note board data capture and export
US10592787B2 (en) * 2017-11-08 2020-03-17 Adobe Inc. Font recognition using adversarial neural network training
US11709854B2 (en) 2018-01-02 2023-07-25 Bank Of America Corporation Artificial intelligence based smart data engine
JP7234495B2 (ja) * 2018-01-25 2023-03-08 富士フイルムビジネスイノベーション株式会社 画像処理装置及びプログラム
CN108256493A (zh) * 2018-01-26 2018-07-06 中国电子科技集团公司第三十八研究所 一种基于车载视频的交通场景文字识别系统及识别方法
RU2695489C1 (ru) * 2018-03-23 2019-07-23 Общество с ограниченной ответственностью "Аби Продакшн" Идентификация полей на изображении с использованием искусственного интеллекта
GB2572386B (en) * 2018-03-28 2021-05-19 Canon Europa Nv An image processing system and an image processing method
CN108648748B (zh) * 2018-03-30 2021-07-13 沈阳工业大学 医院噪声环境下的声学事件检测方法
EP3776335A2 (en) * 2018-04-05 2021-02-17 Chevron U.S.A., Inc. Classification of piping and instrumental diagram information using machine-learning
US11823376B2 (en) 2018-05-16 2023-11-21 Benevis Informatics, Llc Systems and methods for review of computer-aided detection of pathology in images
EP3572972A1 (en) * 2018-05-23 2019-11-27 IDEMIA Identity & Security Germany AG Extendend convolutional neural network for document analysis
CN110163192B (zh) * 2018-05-28 2023-09-19 腾讯科技(深圳)有限公司 字符识别方法、装置及可读介质
US10824854B2 (en) * 2018-06-18 2020-11-03 Sap Se Systems and methods for extracting data from an image
US10922665B2 (en) 2018-06-27 2021-02-16 The Toronto-Dominion Bank Automatic generation and population of digital interfaces based on adaptively processed image data
US10915788B2 (en) * 2018-09-06 2021-02-09 Sap Se Optical character recognition using end-to-end deep learning
CN109117848B (zh) * 2018-09-07 2022-11-18 泰康保险集团股份有限公司 一种文本行字符识别方法、装置、介质和电子设备
CN109388404B (zh) * 2018-10-10 2022-10-18 北京如布科技有限公司 一种路径解码方法、装置、计算机设备及存储介质
WO2020079605A1 (en) * 2018-10-16 2020-04-23 Indian Institute Of Science Device and method for enhancing readability of a low-resolution binary image
RU2703270C1 (ru) 2018-10-31 2019-10-16 Общество с ограниченной ответственностью "Аби Продакшн" Оптическое распознавание символов посредством применения специализированных функций уверенности, реализуемое на базе нейронных сетей
US10846524B2 (en) * 2018-11-14 2020-11-24 Adobe Inc. Table layout determination using a machine learning system
US10824808B2 (en) * 2018-11-20 2020-11-03 Sap Se Robust key value extraction
WO2020132322A1 (en) * 2018-12-19 2020-06-25 Aquifi, Inc. Systems and methods for joint learning of complex visual inspection tasks using computer vision
CN111401099B (zh) * 2018-12-28 2023-04-07 中国电信股份有限公司 文本识别方法、装置以及存储介质
CN109670480B (zh) * 2018-12-29 2023-01-24 深圳市丰巢科技有限公司 图像判别方法、装置、设备及存储介质
JP2020123925A (ja) * 2019-01-31 2020-08-13 富士ゼロックス株式会社 情報処理装置及びプログラム
JP7298223B2 (ja) 2019-03-19 2023-06-27 富士フイルムビジネスイノベーション株式会社 画像処理装置及びプログラム
US11631266B2 (en) * 2019-04-02 2023-04-18 Wilco Source Inc Automated document intake and processing system
US11227176B2 (en) * 2019-05-16 2022-01-18 Bank Of Montreal Deep-learning-based system and process for image recognition
CN110349147B (zh) * 2019-07-11 2024-02-02 腾讯医疗健康(深圳)有限公司 模型的训练方法、眼底黄斑区病变识别方法、装置及设备
US11481605B2 (en) 2019-10-25 2022-10-25 Servicenow Canada Inc. 2D document extractor
WO2021079347A1 (en) * 2019-10-25 2021-04-29 Element Ai Inc. 2d document extractor
ES2849123B2 (es) 2020-02-13 2023-03-07 Univ Illes Balears Elemento de generación de señales estocásticas, neurona estocástica y red neuronal a partir de esta
US11270153B2 (en) 2020-02-19 2022-03-08 Northrop Grumman Systems Corporation System and method for whole word conversion of text in image
CN111492370B (zh) * 2020-03-19 2023-05-26 香港应用科技研究院有限公司 用于识别结构化布局的文本图像的装置和方法
US11790489B2 (en) 2020-04-07 2023-10-17 Samsung Electronics Co., Ltd. Systems and method of training networks for real-world super resolution with unknown degradations
US20220019932A1 (en) * 2020-07-14 2022-01-20 Sap Se Automatic generation of odata services from sketches using deep learning
KR102391068B1 (ko) 2020-07-24 2022-04-28 엄춘호 문서 인식 시스템 및 방법
US20230315478A1 (en) * 2020-08-13 2023-10-05 Google Llc Reducing power consumption by hardware accelerator during generation and transmission of machine learning inferences
US11281928B1 (en) * 2020-09-23 2022-03-22 Sap Se Querying semantic data from unstructured documents
WO2022081127A1 (en) * 2020-10-12 2022-04-21 Hewlett-Packard Development Company, L.P. Document language prediction
CN112434689A (zh) * 2020-12-01 2021-03-02 天冕信息技术(深圳)有限公司 识别图片中信息的方法、装置、设备及存储介质
KR20220084679A (ko) * 2020-12-14 2022-06-21 (주)윕스 도면 독해 및 검색 기능 제공방법 및 그 장치와 시스템
US12120279B2 (en) 2021-01-13 2024-10-15 Hewlett-Packard Development Company, L.P. Output resolution selections
CN112784857B (zh) * 2021-01-29 2022-11-04 北京三快在线科技有限公司 一种模型训练以及图像处理方法及装置
EP4047519B1 (en) 2021-02-22 2024-08-07 Carl Zeiss Vision International GmbH Devices and methods for processing eyeglass prescriptions
CN112949257A (zh) * 2021-02-26 2021-06-11 深圳市英威腾电气股份有限公司 字符显示方法、装置、设备以及计算机可读存储介质
EP4101367A1 (en) 2021-06-09 2022-12-14 Carl Zeiss Vision International GmbH Method and device for determining a visual performance
US20230237822A1 (en) * 2022-01-22 2023-07-27 Jpmorgan Chase Bank, N.A. System and method for generating best potential rectified data based on past recordings of data
CN114627482B (zh) * 2022-05-16 2022-08-12 四川升拓检测技术股份有限公司 基于图像处理与文字识别实现表格数字化处理方法及系统
CN115497106B (zh) * 2022-11-14 2023-01-24 合肥中科类脑智能技术有限公司 基于数据增强和多任务模型的电池激光喷码识别方法
CN116781771B (zh) * 2023-08-21 2023-11-17 南京粒聚智能科技有限公司 一种使用ocr技术的工位机自动截屏图片解析方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4173772A (en) 1977-12-30 1979-11-06 International Business Machines Corporation Solid state image scanning system for producing a binary output
JPH07117995B2 (ja) * 1989-07-21 1995-12-18 セイコーエプソン株式会社 文字認識装置
US5048097A (en) * 1990-02-02 1991-09-10 Eastman Kodak Company Optical character recognition neural network system for machine-printed characters
US5321770A (en) * 1991-11-19 1994-06-14 Xerox Corporation Method for determining boundaries of words in text
JP2979109B2 (ja) 1992-12-03 1999-11-15 日本アイ・ビー・エム 株式会社 認識文字の情報作成方法及び装置
GB9226137D0 (en) 1992-12-15 1993-02-10 Ibm Data entry system
JPH0728946A (ja) * 1993-07-15 1995-01-31 Hitachi Eng Co Ltd 文字認識装置及び方法
SG45100A1 (en) 1994-03-07 1998-01-16 Ibm Improvements in image processing
CA2155891A1 (en) 1994-10-18 1996-04-19 Raymond Amand Lorie Optical character recognition system having context analyzer
JPH08235312A (ja) * 1995-02-23 1996-09-13 Smk Corp 光学式文字認識における文字切り出し方法
JP3309174B2 (ja) * 1995-05-15 2002-07-29 日本電信電話株式会社 文字認識方法及び装置
US6128606A (en) * 1997-03-11 2000-10-03 At&T Corporation Module for constructing trainable modular network in which each module inputs and outputs data structured as a graph
JPH11232378A (ja) * 1997-12-09 1999-08-27 Canon Inc デジタルカメラ、そのデジタルカメラを用いた文書処理システム、コンピュータ可読の記憶媒体、及び、プログラムコード送出装置
EP0961218B1 (en) 1998-05-28 2004-03-24 International Business Machines Corporation Method of binarization in an optical character recognition system
US6192360B1 (en) 1998-06-23 2001-02-20 Microsoft Corporation Methods and apparatus for classifying text and for building a text classifier
US6553131B1 (en) * 1999-09-15 2003-04-22 Siemens Corporate Research, Inc. License plate recognition with an intelligent camera
US6687421B1 (en) 2000-03-17 2004-02-03 International Business Machines Corporation Skew detection of text in a noisy digitized image
US6735335B1 (en) 2000-05-30 2004-05-11 Microsoft Corporation Method and apparatus for discriminating between documents in batch scanned document files
US6738512B1 (en) 2000-06-19 2004-05-18 Microsoft Corporation Using shape suppression to identify areas of images that include particular shapes
JP2002032713A (ja) * 2000-07-17 2002-01-31 Victor Co Of Japan Ltd 文字認識処理方法
US6687697B2 (en) 2001-07-30 2004-02-03 Microsoft Corporation System and method for improved string matching under noisy channel conditions
JP4240859B2 (ja) * 2001-09-05 2009-03-18 株式会社日立製作所 携帯端末装置及び通信システム
CN1426017A (zh) * 2001-12-14 2003-06-25 全景软体股份有限公司 一种校对多个电子文件的方法及其系统
US20030164819A1 (en) * 2002-03-04 2003-09-04 Alex Waibel Portable object identification and translation system
US20030236104A1 (en) * 2002-06-21 2003-12-25 Gvc Corporation Method and device for quickly storing a telephone book in a mobile device

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8340426B2 (en) 2007-11-22 2012-12-25 Samsung Electronics Co., Ltd. Apparatus and method for recognizing characters
KR20140059834A (ko) * 2011-08-29 2014-05-16 퀄컴 인코포레이티드 콘텍스트 정보를 이용한 모바일 디바이스 상에서의 광학적 문자 인식
KR20170021176A (ko) * 2015-08-17 2017-02-27 한국과학기술원 해파리 퇴치용 군집 로봇 시스템을 효율적으로 운용하기 위한 해파리 분포 인식 방법 및 시스템
KR20190142286A (ko) * 2017-05-04 2019-12-26 주식회사 매스프레소 가중치 기반의 유사 문제 필터링 방법
KR20200076088A (ko) * 2018-12-19 2020-06-29 (주)린치핀 온라인 파츠북 서비스 제공 방법 및 시스템
KR102104605B1 (ko) * 2019-04-24 2020-04-27 도프텍(주) 인공지능 기반 플랜트 도면 내 심볼 자동인식 방법 및 장치
KR102142238B1 (ko) * 2020-02-25 2020-08-07 주식회사 엔디소프트 소정 이미지에 포함된 축약어, 손글씨, 비정형 단어 및 문장과 같은 텍스트 정보를 추출한 후 그 추출 결과를 소정 언어로 자동 번역하는 방법
KR20200106471A (ko) * 2020-08-31 2020-09-14 (주)린치핀 온라인 파츠북 뷰어 시스템
KR20200106472A (ko) * 2020-08-31 2020-09-14 (주)린치핀 클라우드 기반 온라인 파츠북 서비스 제공 방법 및 시스템
KR20200108808A (ko) * 2020-08-31 2020-09-21 (주)린치핀 온라인 파츠북을 이용한 파츠 주문 배송 시스템
WO2021081562A3 (en) * 2021-01-20 2021-12-09 Innopeak Technology, Inc. Multi-head text recognition model for multi-lingual optical character recognition

Also Published As

Publication number Publication date
CN1737822A (zh) 2006-02-22
JP2005346707A (ja) 2005-12-15
EP1598770A3 (en) 2008-12-10
US7499588B2 (en) 2009-03-03
JP4698289B2 (ja) 2011-06-08
JP2011008802A (ja) 2011-01-13
KR101114135B1 (ko) 2012-02-20
EP1598770A2 (en) 2005-11-23
ES2610467T3 (es) 2017-04-27
CN100446027C (zh) 2008-12-24
EP1598770B1 (en) 2016-10-12
US20050259866A1 (en) 2005-11-24
JP5073022B2 (ja) 2012-11-14

Similar Documents

Publication Publication Date Title
KR101114135B1 (ko) 카메라 입력된 문서들을 위한 저해상 ocr
US11188713B2 (en) Extracting structured information from a document containing filled form images
US10936862B2 (en) System and method of character recognition using fully convolutional neural networks
US10867171B1 (en) Systems and methods for machine learning based content extraction from document images
US7664325B2 (en) Framework for detecting a structured handwritten object
US9152883B2 (en) System and method for increasing the accuracy of optical character recognition (OCR)
EP2553625B1 (en) Detecting position of word breaks in a textual line image
US20090116736A1 (en) Systems and methods to automatically classify electronic documents using extracted image and text features and using a machine learning subsystem
US9911034B2 (en) Methods and systems that use hierarchically organized data structure containing standard feature symbols in order to convert document images to electronic documents
US11615244B2 (en) Data extraction and ordering based on document layout analysis
EP3539051A1 (en) System and method of character recognition using fully convolutional neural networks
Malakar et al. An image database of handwritten Bangla words with automatic benchmarking facilities for character segmentation algorithms
JP5942361B2 (ja) 画像処理装置及び画像処理プログラム
JP2004171316A (ja) Ocr装置及び文書検索システム及び文書検索プログラム
JP6310155B2 (ja) 文字認識装置、文字認識方法及び文字認識プログラム
Al-Barhamtoshy et al. Arabic OCR segmented-based system
Reza et al. Grouping of handwritten Bangla basic characters, numerals and vowel modifiers for multilayer classification
US20230343122A1 (en) Performing optical character recognition based on fuzzy pattern search generated using image transformation
Weber Extracting retrievable information from archival documents
Chen et al. MONSTERMASH: Multidirectional, Overlapping, Nested, Spiral Text Extraction for Recognition Models of Arabic-Script Handwriting
Sokerin et al. Object detection in financial reporting documents for subsequent recognition
Fujishima et al. Proposal of character recognition algorithm using database
Song et al. Free-Flow: Unintrusive Reading Device for a Printed Text

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150121

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160104

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170119

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180118

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190116

Year of fee payment: 8