KR102613255B1 - 화상 처리 방법 및 화상 처리 시스템 - Google Patents

화상 처리 방법 및 화상 처리 시스템 Download PDF

Info

Publication number
KR102613255B1
KR102613255B1 KR1020190169381A KR20190169381A KR102613255B1 KR 102613255 B1 KR102613255 B1 KR 102613255B1 KR 1020190169381 A KR1020190169381 A KR 1020190169381A KR 20190169381 A KR20190169381 A KR 20190169381A KR 102613255 B1 KR102613255 B1 KR 102613255B1
Authority
KR
South Korea
Prior art keywords
image
processing
handwritten
area
data
Prior art date
Application number
KR1020190169381A
Other languages
English (en)
Other versions
KR20200076627A (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 KR20200076627A publication Critical patent/KR20200076627A/ko
Application granted granted Critical
Publication of KR102613255B1 publication Critical patent/KR102613255B1/ko

Links

Images

Classifications

    • 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/413Classification of content, e.g. text, photographs or tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00326Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a data reading, recognizing or recording apparatus, e.g. with a bar-code apparatus
    • H04N1/00328Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a data reading, recognizing or recording apparatus, e.g. with a bar-code apparatus with an apparatus processing optically-read information
    • H04N1/00331Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a data reading, recognizing or recording apparatus, e.g. with a bar-code apparatus with an apparatus processing optically-read information with an apparatus performing optical character recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00249Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a photographic apparatus, e.g. a photographic printer or a projector
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/21Intermediate information storage
    • H04N1/2104Intermediate information storage for one or a few pictures
    • H04N1/2112Intermediate information storage for one or a few pictures using still video cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3261Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of multimedia information, e.g. a sound signal
    • H04N2201/3266Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of multimedia information, e.g. a sound signal of text or character information, e.g. text accompanying an image

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Character Input (AREA)

Abstract

촬상 화상의 수기 문자에 대해 미리결정된 화상 처리를 행할 수 있는 화상 처리 시스템이 제공된다. 화상 처리 방법은 배경 화상 및 수기 화상을 포함하는 합성 화상 데이터와, 상기 합성 화상 데이터에 대응하는 정해 화상 데이터를 사용하여 신경망을 학습시키는 단계, 수기 문자를 포함하는 원고의 촬상 화상을 취득하는 단계, 및 상기 신경망을 사용하여 상기 촬상 화상에 대해 미리결정된 화상 처리를 행하는 단계를 포함한다.

Description

화상 처리 방법 및 화상 처리 시스템{METHOD FOR IMAGE PROCESSING, AND IMAGE-PROCESSING SYSTEM}
본 개시내용은 화상 처리 방법 및 화상 처리 시스템에 관한 것이다.
근년, 컴퓨터의 보급에 수반하는 노동 환경의 변화에 따라, 업무 자료의 전자화가 진행되고 있다. 이러한 전자화의 대상은 수기 문자가 기입된 문서를 포함하고, 수기 문자를 추출하는 기술이 검토되고 있다. 일본 특허 제6140946호에서는, 의료 문서에서 사용되는 스키마(schema)라고 불리는 도형 정보를 미리 등록해 두는 방식으로, 종이 의료 차트의 스캔 화상으로부터 수기 문자만을 추출하는 기술을 개시하고 있다. 이 기술에 의하면, 인쇄 문서의 여백 부분에 기입되고, 정보로서 가치가 있는 수기 문자를 추출하는 것이 가능하게 된다.
그러나, 일본 특허 제6140946호의 기술은, 수기 문자를 추출가능한 원고에 관하여 개선의 여지가 있다. 그 이유는, 일본 특허 제6140946호의 기술은 미리 등록해 둔 도형 정보를 사용해서 수기 문자를 추출하기 때문에, 도형 정보가 등록되어 있지 않은 종류의 원고로부터 수기 문자를 정확하게 추출할 수 없기 때문이다. 따라서, 화상 처리 시스템은 미리 등록되어 있지 않은 도형을 포함하는 원고의 촬상 화상에서도 여백 영역에 입력된 수기 문자(수기 기호 또는 수기 도형)에 대하여 화상 처리를 행할 수 있는 것이 바람직하다.
본 개시내용은, 배경 화상 및 수기 화상을 포함하는 합성 화상 데이터와, 상기 합성 화상 데이터에 대응하는 정해 화상 데이터(correct image data)를 사용하여 신경망을 학습시키는 단계, 수기 문자를 포함하는 원고의 촬상 화상을 취득하는 단계, 및 상기 신경망을 사용하여 상기 촬상 화상에 대해 미리결정된 화상 처리를 행하는 단계를 포함하는 화상 처리 방법을 제공한다.
본 개시내용의 추가적인 특징은 첨부된 도면을 참고한 예시적인 실시예에 대한 이하의 설명으로부터 명확해질 것이다.
도 1은 화상 처리 시스템의 구성을 도시한다.
도 2a는 화상 처리 장치의 구성을 도시한다.
도 2b는 학습 장치 구성을 도시한다.
도 2c는 화상 처리 서버의 구성을 도시한다.
도 3a는 화상 처리 시스템의 학습 시퀀스를 도시한다.
도 3b는 화상 처리 시스템의 이용 시퀀스를 도시한다.
도 4a는 샘플 화상 생성 처리의 플로우를 도시한다.
도 4b는 샘플 화상 수신 처리의 플로우를 도시한다.
도 5는 학습 데이터 생성 처리의 플로우를 도시한다.
도 6a 내지 도 6h는 화상 합성에 의해 생성되는 입력 화상의 구성예를 도시한다.
도 7은 학습 처리의 플로우를 도시한다.
도 8a는 수기 제거 의뢰 처리의 플로우를 도시한다.
도 8b는 수기 제거 처리의 플로우를 도시한다.
도 9a는 제2 실시예에 따른 샘플 화상 취득 처리의 플로우를 도시한다.
도 9b는 제2 실시예에 따른 샘플 화상 수신 처리의 플로우를 도시한다.
도 10은 제2 실시예에 따른 학습 데이터 생성 처리의 플로우를 도시한다.
도 11은 제3 실시예에 따른 학습 데이터 생성 처리의 플로우를 도시한다.
도 12는 배경 샘플 화상 생성 처리의 개요를 도시한다.
도 13은 제4 실시예에 따른 학습 데이터 생성 처리의 플로우를 도시한다.
도 14a는 학습 데이터의 구성예를 도시한다.
도 14b는 학습 데이터의 변형예를 도시한다.
도 14c는 학습 데이터의 변형예를 도시한다.
도 14d는 학습 데이터의 변형예를 도시한다.
도 15a는 수기 검출 결과에 대한 정보를 도시한다.
도 15b는 수기 검출 결과에 대한 정보를 도시한다.
도 16a는 제5 실시예에 따른 화상 처리 시스템의 구성을 도시한다.
도 16b는 제5 실시예에 따른 화상 처리 시스템의 이용 시퀀스를 도시한다.
도 17a는 데이터 생성 의뢰 처리의 플로우를 도시한다.
도 17b는 OCR 처리의 플로우를 도시한다.
도 18은 배경 샘플 화상으로부터 추출된 배경 부분 영역의 예를 도시한다.
도 19a는 배경 부분 영역을 도시한다.
도 19b는 생성되는 입력 화상의 구성을 도시한다.
도 19c는 생성되는 입력 화상의 구성을 도시한다.
도 20a는 인쇄 작업 선택 화면을 도시한다.
도 20b는 학습 원고 스캔 화면을 도시한다.
도 21은 수기 인식 기능이 조작되는 조작 화면을 도시한다.
도 22a 내지 도 22d는 수기 화상 변환 처리의 개요를 도시한다.
도 23a는 수기 문자를 포함하는 문서의 예를 도시한다.
도 23b는 검색가능 PDF가 조작되는 조작 화면을 도시한다.
도 24는 폼 데이터 생성 처리(form data generating process)의 개요를 도시한다.
이하, 본 개시내용을 실시하기 위한 양태를 구체적인 구성을 갖는 실시예에 의해 도면을 참조하여 설명한다. 본 개시내용을 달성하기 위한 특징은 실시예에 따라 기재된 특징으로 한정되지 않는다. 동일한 효과가 달성되는 범위 내에서 실시예에 따라 기재된 특징의 일부를 생략하거나 또는 균등물로 치환해도 된다.
제1 실시예
화상 처리 시스템
도 1은 화상 처리 시스템의 구성을 도시한다. 화상 처리 시스템(100)은, 화상 처리 장치(101), 학습 장치(102), 및 화상 처리 서버(103)를 포함한다. 화상 처리 장치(101), 학습 장치(102), 및 화상 처리 서버(103)는 네트워크(104)를 사용하여 접속되어 있다.
화상 처리 장치(101)의 예는, 예를 들어 MFP라고 불리는 디지털 다기능 장치이며, 인쇄 기능 및 스캔 기능(화상 취득 유닛(111)으로서의 기능)을 갖는다. 화상 처리 장치(101)는, 백지에 수기만을 입력하여 취득된 원고를 스캔 기능에 의해 스캔해서 화상 데이터를 생성한다(이후 이 화상을 "전경 샘플 화상"이라고 칭한다). 원고를 스캔해서 전경 샘플 화상을 취득한다. 화상 처리 장치(101)는 디지털 문서를 인쇄하여 인쇄 원고를 출력한다. 인쇄 원고를 스캔해서 화상 데이터를 생성한다(이후 이 화상을 "배경 샘플 화상"이라 칭한다). 인쇄 원고를 스캔하고, 배경 샘플 화상을 취득한다. 화상 처리 장치(101)는, 네트워크(104)를 통해서 전경 샘플 화상과 배경 샘플 화상을 학습 장치(102)에 송신한다. 화상 처리 장치(101)는, 수기를 추출할 때에, 수기 문자(수기 기호 또는 수기 도형)를 포함하는 원고를 스캔해서 처리 대상이 되는 스캔 화상 데이터(미변환 화상)를 취득한다(이후 이 스캔 화상 데이터를 "처리 대상 화상"이라 칭한다). 처리 대상 화상은, 네트워크(104)를 통해서 화상 처리 서버(103)에 송신된다.
학습 장치(102)는, 화상 처리 장치(101)가 생성한 전경 샘플 화상과 배경 샘플 화상을 축적하는 화상 축적 유닛(115)으로서 기능한다. 학습 장치(102)는 이와 같이 하여 축적된 화상으로부터 학습 데이터를 생성하는 학습 데이터 생성 유닛(112)으로서도 기능한다. 학습 데이터 생성 유닛은 수기 추출을 위한 신경망을 학습하기 위해서 사용되는 데이터를 생성한다. 학습 장치(102)는, 생성된 학습 데이터를 사용해서 신경망을 학습하는 학습 유닛(113)으로서 기능한다. 학습 유닛(113)의 학습에 의한 학습의 결과로서, 학습 결과(예를 들어, 신경망의 파라미터)가 생성된다. 학습 장치(102)는, 학습 결과(학습 모델)를, 네트워크(104)를 통해서 화상 처리 서버(103)에 송신한다. 신경망을 사용하는 기계 학습 방법의 하나로서, 다층 신경망을 사용하는 딥 트레이닝이 있다.
화상 처리 서버(103)는, 화상 처리 장치(101)가 생성한 처리 대상 화상에 대하여 수기 추출을 행한다. 이때, 화상 처리 장치(101)는, 학습 장치(102)가 생성한 학습 결과를 사용한 신경망의 추론에 의해 처리 대상 화상 중의 수기 화소(화소 위치)를 추출(특정)한다. 화상 처리 서버(103)는, 추출한 수기 화소에 대하여 각종 화상 처리를 실시하는 화상 변환 유닛(114)으로서 기능한다. 본 실시예에 따르면, 추출된 수기 화소를 백색 화소로 변환하여 수기를 제거한다. 화상 처리 서버(103)는, 수기를 제거한 처리 후 화상(변환 후 화상)을 화상 처리 장치(101)에 송신한다. 화상 처리 장치(101)는, 수신된, 수기가 제거된 처리 후 화상을 인쇄하거나 또는 화상을 유저가 원하는 송신처에 송신함으로써 화상을 출력한다.
학습 시퀀스
본 시스템에서의 학습 시퀀스에 대해서 설명한다. 도 3a는 화상 처리 시스템의 학습 시퀀스를 도시한다.
단계 301(이하, 예를 들어 S301로 표기한다)에서, 오퍼레이터가 수기 화상의 판독 지시를 행하면, 화상 취득 유닛(111)은, 수기 화상을 판독하고, 이 화상에 수기 플래그를 부여한다(S302). S303에서, 오퍼레이터가 배경 화상의 판독 지시를 행하면, 화상 취득 유닛(111)은, 배경 화상을 판독하고, 이 화상에 배경 플래그를 부여한다(S303).
이와 같이 판독된 수기 화상 및 배경 화상은 학습 데이터 생성 유닛(112)에 송신된다. 이때, 수기 화상 및 배경 화상에 ID 정보를 부여하는 것이 바람직하다. ID 정보의 예는, 화상 취득 유닛(111)으로서 기능하는 화상 처리 장치(101)를 식별하기 위한 정보이다. ID 정보는, 화상 처리 장치(101)를 조작하는 유저를 식별하기 위한 유저 식별 정보 또는 유저가 소속하는 그룹을 식별하기 위한 그룹 식별 정보이어도 된다.
학습 데이터 생성 유닛(112)은 송신된 화상을 화상 축적 유닛(115)에 축적한다(S306). 학습 데이터 생성 유닛(112)은 축적된 데이터에 기초하여 학습 데이터를 생성한다(S307). 이때, 특정한 ID 정보에 기초하는 화상만을 사용해서 학습 데이터를 생성해도 된다. 그 후, 학습 데이터 생성 유닛(112)은 학습 유닛(113)에 학습 데이터를 송신한다(S308). 특정한 ID 정보에 기초하는 화상만을 사용하여 학습 데이터를 생성한 경우에는, ID 정보도 송신된다. 학습 유닛(113)은, 수신된 학습 데이터에 기초하여 학습 모델을 갱신한다(S309). 학습 유닛(113)은, ID 정보마다 학습 모델을 유지하고, 대응하는 학습 데이터만을 학습에 사용해도 된다. ID 정보와 학습 모델을 서로 연관시킴으로써 특정한 이용 환경에 특화된 학습 모델을 구축할 수 있다.
이용 시퀀스
본 시스템의 이용 시퀀스에 대해서 설명한다. 도 3b는 화상 처리 시스템의 이용 시퀀스를 도시한다. 도 22a 내지 도 22d는 수기 화상 변환 처리의 개요를 도시한다.
S351에서, 오퍼레이터의 처리 대상 화상의 판독 지시에 응답하여, 화상 취득 유닛(111)은, 처리 대상 화상을 판독하고, 이 화상에 처리 대상 플래그를 부여한다(S352). 판독되는 화상의 예는 화상(2201)이다. 화상(2201)은 수기 문자(2205)를 포함한다.
S353에서, 오퍼레이터의 수기 문자의 가공 지시(변환 지시)에 응답하여, 화상 취득 유닛(111)은 수기 문자의 가공 설정에 대한 정보를 취득한다(S354).
이와 같이 판독된 처리 대상 화상은, 가공 설정에 대한 정보와 함께 화상 변환 유닛(114)에 송신된다(S355). 이때, 송신되는 데이터에 ID 정보를 부여하는 것이 바람직하다.
화상 변환 유닛(114)은 데이터를 수신하고, 수기 문자의 가공 지시를 접수한다(S356). 이때, 화상 변환 유닛(114)은, 화상 취득 유닛(111)이 데이터의 회신처라고 기억한다. 수기 문자의 가공 지시를 접수한 화상 변환 유닛(114)은 최신의 학습 모델을 학습 유닛(113)에 요구한다(S357). 이에 응답하여, 학습 유닛(113)은 최신의 학습 모델을 화상 변환 유닛에 송신한다. 화상 변환 유닛(114)으로부터의 요구 시에 ID 정보가 지정되어 있을 경우에는, ID 정보에 대응하는 학습 모델을 송신한다(S358). 화상 변환 유닛(114)은, 취득한 학습 모델에 기초하여, 미변환 화상으로부터 수기 문자를 추출하는 처리(식별 처리)를 행한다(S359). 추출 처리에서는, 예를 들어 화상(2202)이 취득된다. 추출 결과에 기초하여, 수기 문자를 가공하여 화상을 생성한다. 화상 변환 유닛(114)은 생성된 변환 후 화상을 화상 취득 유닛(111)에 송신한다(S361). 변환 후 화상을 취득한, 화상 취득 유닛은, 이 데이터에 기초하는 출력 처리를 행한다. 출력 처리의 예는, 변환 후 화상에 기초하는 인쇄 또는 변환 후 화상에 기초하는 화면의 표시를 포함한다.
장치 구성
상기 시스템을 실현하기 위해서, 각 장치는 다음과 같은 구성을 갖는다. 도 2a는 화상 처리 장치의 구성을 도시한다. 도 2b는 학습 장치의 구성을 도시한다. 도 2c는 화상 처리 서버의 구성을 도시한다. 도 2a에 도시되는 바와 같이, 화상 처리 장치(101)는 다음을 구비한다: CPU(201), ROM(202), RAM(204), 프린터 디바이스(205), 스캐너 디바이스(206), 원고 반송 디바이스(207), 스토리지(208), 입력 디바이스(209), 표시 디바이스(210) 및 외부 인터페이스(211). 디바이스는 데이터 버스(203)를 사용하여 서로 통신할 수 있도록 접속되어 있다.
CPU(201)는 화상 처리 장치(101)를 통괄적으로 제어하기 위한 컨트롤러이다. CPU(201)는, ROM(202)에 저장되어 있는 부트 프로그램을 사용하여 OS(오퍼레이팅 시스템)를 기동한다. OS는 스토리지(208)에 저장되어 있는 제어 프로그램을 실행한다. 제어 프로그램은 화상 처리 장치(101)를 제어하기 위해 사용된다. CPU(201)는, 데이터 버스(203)에 의해 접속되어 있는 각 디바이스를 통괄적으로 제어한다. RAM(204)은, CPU(201)의 주메모리 또는 워크 에어리어 등의 일시 저장 영역으로서 동작한다.
프린터 디바이스(205)는 화상 데이터를 용지(기록재 또는 시트) 상에 인쇄한다. 이를 위해, 감광 드럼 또는 감광 벨트를 사용하는 전자사진 인쇄 방식 또는 미소 노즐 어레이로부터 잉크를 토출해서 용지 상에 직접 화상을 인쇄하는 잉크젯 방식이 있다. 그러나, 어느 방식도 상관없다. 스캐너 디바이스(206)는, CCD 등의 광학 판독 장치를 사용해서 종이 등의 원고를 주사하고, 취득된 전기 신호 데이터를 변환하며, 스캔 화상 데이터를 생성한다. ADF(자동 문서 공급기) 등의 원고 반송 디바이스(207)는, 원고 반송 디바이스(207) 상의 원고대에 적재된 원고를 1매씩 스캐너 디바이스(206)에 반송한다.
스토리지(208)는 HDD 또는 SSD 등의 판독과 기입이 가능한 불휘발성 메모리이다. 상기 제어 프로그램 등의 각종 데이터가 여기에 기록된다. 입력 디바이스(209)는 터치 패널 또는 하드 키를 포함한다. 입력 디바이스(209)는 유저로부터 조작 지시를 접수한다. 지시 위치를 포함하는 지시 정보를 CPU(201)에 전달한다. 표시 디바이스(210)의 예는 LCD 및 CRT를 포함한다. 표시 디바이스(210)는 CPU(201)에 의해 생성된 표시 데이터를 표시한다. CPU(201)는, 입력 디바이스(209)로부터 수신된 지시 정보와 표시 디바이스(210)에 표시되는 표시 데이터로부터 어떤 조작이 이루어졌는지를 판정한다. 판정 결과에 따라, 화상 처리 장치(101)가 제어되며, 새로운 표시 데이터를 생성하여 표시 디바이스(210)에 표시한다.
외부 인터페이스(211)는, LAN 또는 전화 회선 등의 네트워크를 통해 또는 적외선과 같은 근접 무선에 의해 외부 기기에 및 그로부터 화상 데이터 등의 각종 데이터를 송신 및 수신한다. 외부 인터페이스(211)는, 학습 장치(102) 또는 PC(도시되지 않음) 등의 외부 기기로부터 PDL 데이터를 수신한다. CPU(201)는, 외부 인터페이스(211)가 수신한 PDL 데이터를 해석하고 화상을 생성한다. 생성된 화상은, 프린터 디바이스(205)에 의해 인쇄되거나 또는 스토리지(108)에 저장된다. 외부 인터페이스(211)는, 화상 처리 서버(103) 등의 외부 기기로부터 화상 데이터를 수신한다. 수신된 화상 데이터는 프린터 디바이스(205)에 의해 인쇄되거나, 스토리지(108)에 저장되거나, 또는 외부 인터페이스(211)에 의해 다른 외부 기기에 송신된다.
도 2b의 학습 장치(102)는, CPU(231), ROM(232), RAM(234), 스토리지(235), 입력 디바이스(236), 표시 디바이스(237), 외부 인터페이스(238) 및 GPU(239)를 포함한다. 이들 구성요소는 데이터 버스(233)를 통해서 서로 데이터를 송신 및 수신할 수 있다.
CPU(231)는 학습 장치(102)의 전체를 제어하기 위한 컨트롤러이다. CPU(231)는, 불휘발성 메모리인 ROM(232)에 저장되어 있는 부트 프로그램을 사용하여 OS를 기동한다. OS는, 스토리지(235)에 저장되어 있는 학습 데이터 생성 프로그램 및 학습 프로그램을 실행한다. CPU(231)는 학습 데이터 생성 프로그램을 실행하여 학습 데이터를 생성한다. CPU(231)는 학습 프로그램을 실행하여 수기 추출을 위한 신경망을 학습한다. CPU(231)는 데이터 버스(233) 등의 버스를 사용하여 구성요소를 제어한다.
RAM(234)은, CPU(231)의 메인 메모리나 워크 에어리어 등의 일시 저장 영역으로서 동작한다. 스토리지(235)는, 판독과 기입이 가능한 불휘발성 메모리이며, 상기 학습 데이터 생성 프로그램 및 학습 프로그램을 기록한다.
입력 디바이스(236)는 마우스 또는 키보드를 포함한다. 표시 디바이스(237)는 도 2a를 참고하여 설명한 표시 디바이스(210)와 동일하다.
외부 인터페이스(238)는, 도 2a를 참고해서 설명한 외부 인터페이스(211)와 동일하다.
GPU(239)는, 화상 처리를 위한 프로세서이고, CPU(231)와 협조해서 화상 데이터를 생성하며 신경망을 학습한다.
도 2c의 화상 처리 서버(103)는, CPU(261), ROM(262), RAM(264), 스토리지(265), 입력 디바이스(266), 표시 디바이스(267), 및 외부 인터페이스(268)를 포함한다. 이들 구성요소는 데이터 버스(263)를 통해서 서로 데이터를 송신 및 수신할 수 있다.
CPU(261)는, 화상 처리 서버(103)의 전체를 제어하기 위한 컨트롤러이다. CPU(261)는, 불휘발성 메모리인 ROM(262)에 저장되어 있는 부트 프로그램을 사용하여 OS를 기동한다. OS는 스토리지(265)에 저장되어 있는 화상 처리 서버 프로그램을 실행한다. CPU(261)는 화상 처리 서버 프로그램을 실행하여 처리 대상 화상으로부터 수기 화소를 추출해서 제거한다. CPU(261)는, 데이터 버스(263) 등의 버스를 통해서 구성요소를 제어한다.
RAM(264)은, CPU(261)의 메인 메모리 또는 워크 에어리어 등의 일시 저장 영역으로서 동작한다. 스토리지(265)는, 판독과 기입이 가능한 불휘발성 메모리이며, 상기 화상 처리 서버의 프로그램을 기록한다.
입력 디바이스(266)는, 도 2b를 참고해서 설명한 입력 디바이스(236)와 동일하다. 표시 디바이스(267)는, 도 2a를 참고해서 설명한 표시 디바이스(210)와 동일하다.
외부 인터페이스(268)는, 도 2a를 참고해서 설명한 외부 인터페이스(211)와 동일하다.
조작 화면
S301 및 S303의 오퍼레이터의 지시는 다음과 같은 조작 화면에서 입력된다. 도 20a는 인쇄 작업 선택 화면을 도시한다. 도 20b는 학습 원고 스캔 화면을 도시한다.
학습 원고 스캔 화면(2050)은 표시 디바이스(210)에 표시되는 화면의 일례이다. 도 20b에 도시하는 바와 같이, 학습 원고 스캔 화면(2050)은, 프리뷰 영역(2051), 화상 속성 지정 버튼(2052, 2053, 및 2054), 스캔 버튼(2055), 및 송신 개시 버튼(2056)을 포함한다.
스캔 버튼(2055)은 스캐너 디바이스(206)에 세트된 원고의 판독을 개시하기 위해 사용된다. 스캔이 완료되면, 프리뷰 영역(2051)에 촬상 화상의 프리뷰가 표시된다. 스캐너 디바이스(206)에 다른 원고를 세트하고, 스캔 버튼(2055)을 다시 누르는 것으로, 복수의 화상 데이터를 통합해서 유지할 수 있다.
화상 속성 지정 버튼(2052, 2053, 및 2054)은 촬상 화상의 속성을 지정하기 위해 사용된다. 화상 속성 지정 버튼(2052)을 선택하면 촬상 화상에 수기 화상 속성이 부여된다. 화상 속성 지정 버튼(2053)을 선택하면 촬상 화상에 배경 화상 속성이 부여된다. 화상 속성 지정 버튼(2054)을 선택하면 촬상 화상에 여백 화상 속성이 부여된다. 선택된 버튼은 식별 가능하게 강조되어 표시된다.
화상이 판독되어 화상의 종류가 선택되면, 송신 개시 버튼(2056)이 선택될 수 있다.
송신 개시 버튼(2056)을 선택하면, 선택된 화상 속성이 부여된 촬상 화상이 학습 장치(102)에 송신되기 시작한다.
인쇄 작업 선택 화면(2000)은 표시 디바이스(210)에 표시되는 화면의 일례이다. 도 20a에 도시하는 바와 같이, 인쇄 작업 선택 화면(2000)은, 작업 정보(2001 및 2002), 인쇄 설정 버튼(2003), 화상 표시 버튼(2004), 작업 삭제 버튼(2005), 학습 서버 송신 버튼(2006), 및 인쇄 개시 버튼(2007)을 포함한다. 작업 정보(2001 및 2002)는 화상 처리 장치(101)에 의해 보유지지된 인쇄 작업을 식별하기 위해 사용된다. 인쇄 작업 선택 화면(2000)에서는, 인쇄하고 싶은 인쇄 작업의 작업 정보를 선택하고 나서 인쇄 개시 버튼(2007)을 선택함으로써, 프린터 디바이스(205)를 사용한 인쇄 처리를 개시할 수 있다. 인쇄 작업 선택 화면(2000)에서 작업을 선택하고 인쇄 설정 버튼(2003)을 선택하면, 인쇄 설정을 변경하기 위한 인쇄 설정 화면(도시되지 않음)이 표시된다. 인쇄 작업 선택 화면(2000)에서 작업을 선택하고 화상 표시 버튼(2004)을 선택하면, 인쇄 작업의 프리뷰 화상을 표시하기 위한 프리뷰 화면(도시되지 않음)이 표시된다. 인쇄 작업 선택 화면(2000)에서 작업을 선택하고 작업 삭제 버튼(2005)을 선택하면, 선택된 작업이 삭제된다. 인쇄 작업 선택 화면(2000)에서 작업을 선택하고 학습 서버 송신 버튼(2006)을 선택하면, 학습 원고 스캔 화면(2050)이 표시된다. 인쇄 작업 선택 화면(2000)에서 선택된 작업이, 스캔 화상과 마찬가지로 유지되고, 프리뷰 영역(2051)에 표시된다. 오퍼레이터가 이어서 화상 속성 지정 버튼(2052, 2053, 및 2054) 및 송신 개시 버튼(2056)을 선택하면, 인쇄 작업이 샘플 화상으로서 학습 장치에 송신될 수 있다.
S351 및 S353의 오퍼레이터의 지시는 다음과 같은 조작 화면 상에 입력된다. 도 21은 수기 인식 기능이 조작되는 조작 화면을 도시한다. 수기 인식 기능이 조작되는 조작 화면(2100)에서는, 수기 인식 기능에 관련된 각종 조작이 가능하다. 도 21에 도시하는 바와 같이, 조작 화면(2100)은, 프리뷰 영역(2101), 처리 지정 버튼(2102, 2103, 2104, 및 2105), 스캔 버튼(2107), 및 송신 개시 버튼(2108)을 포함한다.
스캔 버튼(2107)은 스캐너 디바이스(206)에 세트된 원고의 판독을 개시하기 위해 사용된다. 스캔이 완료되면, 프리뷰 영역(2051)에 촬상 화상의 프리뷰가 표시된다. 스캐너 디바이스(206)에 다른 원고를 세트하고, 스캔 버튼(2107)을 다시 누르는 것에 의해, 복수의 화상 데이터를 통합해서 유지할 수 있다. 처리 지정 버튼(2102, 2103, 2104, 및 2105)은, 촬상 화상에 기초하여 실행되는 처리를 지정(의뢰 정보를 부여)하기 위해 사용된다. 처리 지정 버튼(2102)을 선택하면 촬상 화상에 수기 강조 설정이 부여된다. 처리 지정 버튼(2105)을 선택하면 촬상 화상에 수기 제거 설정이 부여된다. 처리 지정 버튼(2103)을 선택하면 촬상 화상에 폼 데이터 설정이 부여된다. 처리 지정 버튼(2104)을 선택하면 촬상 화상에 검색가능 PDF 설정이 부여된다. 선택된 버튼은 식별 가능하게 강조되어 표시된다.
샘플 화상 생성 처리
도 4a는 샘플 화상 생성 처리의 플로우를 도시한다.
이제, 화상 처리 장치(101)의 샘플 화상 생성 처리에 대해서 설명한다. 도 4a는 샘플 화상 생성 처리의 흐름도이다. 처리는, CPU(201)가, 스토리지(208)에 기록되어 있는 제어 프로그램을 판독하고, 제어 프로그램을 RAM(204)에 로딩하는 방식으로 실행된다. 이것은 유저가 화상 처리 장치(101)의 입력 디바이스(209)를 조작할 때 개시된다.
CPU(201)는, S401에서, 수기만을 포함하는 원고의 스캔이 지시되었는지의 여부를 판정한다. 유저가 입력 디바이스(209)를 사용하여 수기만을 포함하는 원고를 스캔하기 위한 미리결정된 조작을 행하는 경우에는, 판정의 결과는 예이며, 플로우는 S402로 진행된다. 그렇지 않으면, 판정의 결과는 아니오이며, 플로우는 S404로 진행된다.
CPU(201)는, S402에서, 스캐너 디바이스(206) 및 원고 반송 디바이스(207)를 제어하여 원고를 스캔함으로써 전경 샘플 화상을 생성한다. 원고는, 백지에 사람이 수기 문장 또는 도형(예를 들어, 선 또는 화살표)을 입력하고, 그 내부에는 수기만이 포함되는 방식으로 취득된다. 전경 샘플 화상은 풀컬러(3 채널: RGB) 화상 데이터로서 생성된다.
CPU(201)는, S403에서, S402에서 생성된 전경 샘플 화상을, 외부 인터페이스(211)를 통해서 학습 장치(102)에 송신한다. 이때, 전경 샘플 화상은 송신되는 화상 데이터가 전경 샘플 화상의 데이터인 것을 나타내는 정보가 부여된 상태로 송신된다.
CPU(201)는, S404에서, 인쇄 내용만을 포함하는 원고의 스캔이 지시되었는지의 여부를 판정한다. 유저가 입력 디바이스(209)를 사용하여 인쇄 내용만을 포함하는 원고의 스캔을 위한 미리결정된 조작을 행하는 경우에는, 판정의 결과는 예이며 플로우는 S405로 진행된다. 그렇지 않으면, 판정의 결과는 아니오이며, 플로우는 S407로 진행된다.
CPU(201)는, S405에서, 원고의 스캔을 위해 스캐너 디바이스(206) 및 원고 반송 디바이스(207)를 제어하여 배경 샘플 화상을 생성한다. 원고는, 예를 들어 디지털 문서를 용지에 인쇄함으로써 취득되며, 인쇄 내용만이 포함된다. 배경 샘플 화상은 풀컬러(3 채널: RGB) 화상 데이터로서 생성된다.
CPU(201)는, S406에서, S405에서 생성되는 배경 샘플 화상을 외부 인터페이스(211)를 통해서 학습 장치(102)에 송신한다. 이때, 배경 샘플 화상은, 송신하는 화상 데이터가 배경 샘플 화상의 데이터인 것을 나타내는 정보가 부여된 상태로 송신된다.
CPU(201)는, S407에서, 처리를 종료할 것인지의 여부를 판정한다. 유저가 샘플 화상 생성 처리를 위해 미리결정된 조작을 행하는 경우, 판정의 결과는 예이며 처리가 종료된다. 그렇지 않으면, 판정의 결과는 아니오이며, 플로우는 S401로 진행된다.
상기 처리를 통해, 화상 처리 장치(101)는 전경 샘플 화상 및 배경 샘플 화상을 생성하며 화상을 학습 장치(102)에 송신한다. 유저의 조작, 및 원고 반송 디바이스(207)에 적재되는 원고의 매수에 따라, 전경 샘플 화상 및 배경 샘플 화상이 획득된다.
샘플 화상 수신 처리
이제, 학습 장치(102)의 샘플 화상 수신 처리에 대해서 설명한다. 도 4b는 샘플 화상 수신 처리의 플로우를 도시한다. 이 처리는, CPU(231)가, 스토리지(235)에 기록되어 있는 학습 데이터 생성 프로그램을 판독하고, 학습 데이터 생성 프로그램을 RAM(234)에 로딩하는 방식으로 실행된다. 이는 유저가 학습 장치(102)의 전원을 ON으로 할 때 개시된다.
CPU(231)는, S451에서, 전경 샘플 화상을 수신했는지의 여부를 판정한다. CPU(231)는, 외부 인터페이스(238)를 통해서 화상 데이터를 수신하고, 당해 화상 데이터가 전경 샘플 화상의 데이터인 것을 나타내는 정보가 부여되고 있으면, 결과는 예라고 판정하고, 플로우는 S452로 진행된다. 그렇지 않으면, 판정의 결과는 아니오이며, 플로우는 S453로 진행된다.
CPU(231)는, S452에서, 스토리지(235)가 수신된 전경 샘플 화상을 미리결정된 영역에 기록하게 한다.
CPU(231)는, S453에서, 배경 샘플 화상을 수신되었는지의 여부를 판정한다. CPU(231)는, 외부 인터페이스(238)를 통해서 화상 데이터를 수신하고, 당해 화상 데이터가 배경 샘플 화상의 데이터인 것을 나타내는 정보가 부여되어 있으면, 결과가 예라고 판정하고 플로우는 S454로 진행된다. 그렇지 않으면, 판정의 결과는 아니오이며, 플로우는 S455로 진행된다.
CPU(231)는, S454에서, 스토리지(235)가 수신된 배경 샘플 화상을 미리결정된 영역에 기록하게 한다.
CPU(231)는, S455에서, 처리를 종료할 것인지의 여부를 판정한다. 유저가 샘플 화상 수신 처리의 종료를 위한 미리결정된 조작을 행한 경우, 예를 들어 학습 장치(102)의 전원이 OFF된 경우, 판정의 결과는 예이며 처리가 종료된다. 그렇지 않으면, 판정의 결과는 아니오이며, 플로우는 S451로 진행된다.
학습 데이터 생성 처리
이제, 학습 장치(102)의 학습 데이터 생성 처리에 대해서 설명한다. 도 5는 학습 데이터 생성 처리의 플로우를 도시한다. 도 6a 내지 도 6h는 화상 합성에 의해 생성되는 입력 화상의 구성예를 도시한다.
이 처리는 학습 장치(102)의 학습 데이터 생성 유닛(112)에 의해 행해진다. 이것은, 유저가 화상 처리 장치(101)의 입력 디바이스(209)를 사용하여 미리결정된 조작을 행할 때 개시된다.
CPU(231)는, S501에서, 스토리지(235)에 저장되어 있는 전경 샘플 화상 중 하나를 선택해서 판독한다. 도 4b의 흐름도의 S452의 처리 단계에서, 스토리지(235)에는 전경 샘플 화상이 기록된다. 따라서, 그로부터 전경 샘플 화상 중 하나가 랜덤하게 선택된다.
CPU(231)는, S502에서, S501에서 판독되는 전경 샘플 화상을 회전시켜서 전경 샘플 화상을 가공한다. 회전 각도는 미리결정된 범위(예를 들어, -10도 내지 10도의)로부터 랜덤하게 선택되어 결정된다.
CPU(231)는, S503에서, 전경 샘플 화상 중의 일부(예를 들어, 길이×폭=512×512의 사이즈)를 잘라낸 화상 데이터를 생성한다(이하 화상 데이터를 "전경 패치"라 칭한다). 일부가 잘리는 위치는 랜덤하게 결정된다.
CPU(231)는, S504에서, S503에서 생성되는 전경 패치를 배율 변경하여 가공한다. 배율 변경율은 미리결정된 범위(예를 들어, 50% 내지 150%)로부터 랜덤하게 선택되어 결정된다. 또한, 배율 변경 후의 전경 패치의 중앙부(예를 들어, 길이×폭=256×256의 사이즈)를 잘라내서 전경 패치를 갱신한다.
CPU(231)는, S505에서, 각 화소의 휘도를 변경하여 전경 패치를 가공한다. CPU(231)는, 전경 패치로부터 그레이스케일 전경 패치를 생성하고, 감마 보정을 사용하여 전경 패치의 휘도를 변경한다. 감마치는 미리결정된 범위(예를 들어, 0.1 내지 10.0)로부터 랜덤하게 선택되어 결정된다.
CPU(231)는, S506에서, 스토리지(235)에 저장되어 있는 배경 샘플 화상 중 하나를 선택해서 판독한다. 도 4b의 흐름도의 S454의 처리 단계에서, 스토리지(235)에는 배경 샘플 화상이 기록된다. 따라서, 그로부터 배경 샘플 화상 중 하나가 랜덤하게 선택된다.
CPU(231)는, S507에서, S506에서 판독된 배경 샘플 화상을 회전시켜 배경 샘플 화상을 가공한다. 회전 각도는 미리결정된 범위(예를 들어, -10도 내지 10도)로부터 랜덤하게 선택되어 결정된다.
CPU(231)는, S508에서, 배경 샘플 화상의 일부(S503에서 전경 패치를 잘라냈을 때와 동일한 사이즈)를 잘라내서 화상 데이터를 생성한다(이하 이 화상 데이터를 "배경 패치"라 칭한다). 일부가 잘리는 위치는 랜덤하게 결정된다.
CPU(231)는, S509에서, S508에서 생성된 배경 패치를 배율 변경에 의해 가공한다. 배율 변경율은 미리결정된 범위(예를 들어, 50% 내지 150%)로부터 랜덤하게 선택되어 결정된다. 또한, 배율 변경 후의 배경 패치의 중앙부(S504에서 전경 패치를 잘라냈을 때와 동일한 사이즈)를 잘라내서 배경 패치를 갱신한다.
CPU(231)는, S510에서, 각 화소의 휘도를 변경함으로써 배경 패치를 가공한다. CPU(231)는, 배경 패치로부터 그레이스케일 배경 패치를 생성하며, 감마 보정을 사용해서 배경 패치의 휘도를 변경한다. 감마치는 미리결정된 범위(예를 들어, 0.1 내지 10.0)로부터 랜덤하게 선택되어 결정된다.
상기 처리 단계를 통해, 전경 패치와 배경 패치가 취득된다. 전경 패치와 배경 패치를, 회전, 배율 변경, 및 휘도의 변경에 의해 가공하는 이유는, 학습 데이터의 다양성이 학습 데이터를 사용하여 학습되는 신경망의 범용 성능을 향상시키기 때문이다. 전경 샘플 화상 및 배경 샘플 화상은, 예를 들어 A4 용지를 300 dpi의 해상도로 스캔함으로써 생성된다. 이 경우, 화소의 수는 2480×3508로, 크다. 이는, 후술하는 학습 처리에서, RAM(234)으로의 로딩 및 CPU(231) 및 GPU(239)에 의한 판독에 대해 처리 효율의 저하를 초래한다. 따라서, 상술한 바와 같이, 감소된 사이즈를 갖는 부분 화상을 잘라내서 사용한다. 부분 화상은 랜덤하게 결정된 위치에서 잘리며, 전경 샘플 화상으로부터 각종 학습 데이터를 생성할 수 있다.
CPU(231)는, S511에서, 전경 패치에 대하여 정해 라벨 화상(교사 데이터 또는 정해 화상 데이터)를 생성한다. CPU(231)는, 전경 패치에 대하여 2치화 처리를 행한다. 미리결정된 임계치보다 낮은 화소값을 수기값(예를 들어, 255)으로서 규정한다. 이하의 설명에도 마찬가지이다. 다른 화소값이 비수기값(예를 들어, 0)으로서 규정된다. 이하의 설명에도 마찬가지이다. 이렇게 규정된 화소값의 화상 데이터를 전경 패치에 대한 정해 라벨 화상으로서 생성한다.
CPU(231)는, S512에서, 화상 합성에 의해 생성되는 화상 데이터의 구성을 결정한다. 당해 화상 데이터는, 전경 화상 영역, 배경 화상 영역, 여백 화상 영역을 포함한다(이하에서는, "전경 영역", "배경 영역", 및 "여백 영역"이라 칭한다). 본 처리 단계에서는, 이들 영역의 위치 및 면적을 결정한다. 먼저, 배경에 대한 전경의 방향을 결정한다. 방향은 상 방향, 우측 상위 방향, 우측 방향, 우측 하위 방향, 하 방향, 좌측 하위 방향, 좌측 방향, 및 좌측 상위 방향의 8개의 방향으로부터 랜덤하게 선택되어 결정된다. 이어서, 전경과 배경 사이의 여백의 폭을 결정한다. 폭은 미리결정된 범위(예를 들어, 1 화소 내지 50 화소)로부터 랜덤하게 선택되어 결정한다. 전경 영역을 결정한다. 이에 대해 도 6a 내지 도 6h를 참조하여 설명한다. 화상 합성에 의해 생성되는 화상 데이터의 사이즈는 전경 패치(및 배경 패치)의 사이즈와 동일하다. 각 도면에서, 전경 영역을 사선에 의해 나타내고, 배경 영역을 수평선에 의해 나타내며, 여백 영역을 백색 배경에 의해 나타낸다.
배경에 대한 전경의 방향이 상 방향일 경우, 도 6a의 영역(601)에 도시하는 바와 같이, 전경 영역은 화상 합성에 의해 생성되는 화상의 상위 단부 영역이다. 이 경우, 전경 영역의 폭은 전경 패치의 폭과 동일하다. 전경 영역의 높이는, MIN_VAL 내지 전경 패치의 높이-여백의 폭-MIN_VAL의 범위로부터 랜덤하게 선택되어 결정된다. MIN_VAL은, 전경 영역 및 배경 영역의 폭 또는 높이의 최소값을 나타내는 미리결정된 값이다(예를 들어, MIN_VAL=10 화소).
배경에 대한 전경의 방향이 우측 상위 방향일 경우에는, 도 6b의 영역(611)에 도시하는 바와 같이, 전경 영역은 화상 합성에 의해 생성되는 화상의 우측 상위 단부 영역이다. 이 경우, 전경 영역의 폭은, MIN_VAL 내지 전경 패치의 폭-여백의 폭-MIN_VAL의 범위로부터 랜덤하게 선택되어 결정된다. 전경 영역의 높이는, MIN_VAL 내지 전경 패치의 높이-여백의 폭-MIN_VAL의 범위로부터 랜덤하게 선택되어 결정된다.
배경에 대한 전경의 방향이 우측 방향일 경우에는, 도 6c의 영역(621)에 도시하는 바와 같이, 전경 영역은 화상 합성에 의해 생성되는 화상의 우측 단부 영역이다. 이 경우, 전경 영역의 폭은, MIN_VAL 내지 전경 패치의 폭-여백의 폭-MIN_VAL의 범위로부터 랜덤하게 선택되어 결정된다. 전경 영역의 높이는 전경 패치의 높이와 동일하다.
배경에 대한 전경의 방향이 우측 하위 방향일 경우에는, 도 6d의 영역(631)에 도시하는 바와 같이, 전경 영역은 화상 합성에 의해 생성하는 화상의 우측 하위 단부 영역이다. 이 경우, 전경 영역의 폭은, MIN_VAL 내지 전경 패치의 폭-여백의 폭-MIN_VAL의 범위로부터 랜덤하게 선택되어 결정된다. 전경 영역의 높이는, MIN_VAL 내지 전경 패치의 높이-여백의 폭-MIN_VAL의 범위로부터 랜덤하게 선택되어 결정된다.
배경에 대한 전경의 방향이 하 방향일 경우에는, 도 6e의 영역(641)에 도시하는 바와 같이, 전경 영역은 화상 합성에 의해 생성되는 화상의 하위 단부 영역이다. 이 경우, 전경 영역의 폭은 전경 패치의 폭과 동일하다. 전경 영역의 높이는, MIN_VAL 내지 전경 패치의 높이-여백의 폭-MIN_VAL의 범위로부터 랜덤하게 선택되어 결정된다.
배경에 대한 전경의 방향이 좌측 하위 방향일 경우에는, 도 6f의 영역(651)에 도시하는 바와 같이, 전경 영역은 화상 합성에 의해 생성되는 화상의 좌측 하위 단부 영역이다. 이 경우, 전경 영역의 폭은, MIN_VAL 내지 전경 패치의 폭-여백의 폭-MIN_VAL의 범위로부터 랜덤하게 선택되어 결정된다. 전경 영역의 높이는, MIN_VAL 내지 전경 패치의 높이-여백의 폭-MIN_VAL의 범위로부터 랜덤하게 선택되어 결정된다.
배경에 대한 전경의 방향이 좌측 방향일 경우에는, 도 6g의 영역(661)에 도시되는 바와 같이, 전경 영역은 화상 합성에 의해 생성되는 화상의 좌측 단부 영역이다. 이 경우, 전경 영역의 폭은, MIN_VAL 내지 배경 패치의 폭-여백의 폭-MIN_VAL의 범위로부터 랜덤하게 선택되어 결정된다. 전경 영역의 높이는 전경 패치의 높이와 동일하다.
배경에 대한 전경의 방향이 좌측 상위 방향일 경우에는, 도 6h의 영역(671)에 도시하는 바와 같이, 전경 영역은 화상 합성에 의해 생성되는 화상의 좌측 상위 단부 영역이다. 이 경우, 전경 영역의 폭은, MIN_VAL 내지 전경 패치의 폭-여백의 폭-MIN_VAL의 범위로부터 랜덤하게 선택되어 결정된다. 전경 영역의 높이는, MIN_VAL 내지 전경 패치의 높이-여백의 폭-MIN_VAL의 범위로부터 랜덤하게 선택되어 결정된다.
상술한 바와 같이 결정된 폭을 갖는 여백 영역을 전경 영역에 인접하도록 형성한다. 여백 영역은, 배경에 대한 전경의 방향에 있어서, 예로서 도 6a 내지 도 6h의 영역(602), 영역(612), 영역(622), 영역(632), 영역(642), 영역(652), 영역(662), 및 영역(672)에 예시된 바와 같이 결정된다.
도 6a 내지 도 6h의 영역(603), 영역(613), 영역(623), 영역(633), 영역(643), 영역(653), 영역(663), 및 영역(673)에 예시된 바와 같이, 화상 합성에 의해 생성되는 화상에서, 전경 영역 및 여백 영역 이외의 영역이 배경 영역이다.
배경에 대한 전경의 방향이 우측 상위 방향, 우측 하위 방향, 좌측 하위 방향, 또는 좌측 상위 방향인 경우에는, 전경 영역의 2변이 여백 영역과 접한다. 상기 설명에서는, 2변에 접하는 여백 영역의 폭은 일정하지만, 각 변에 대해 랜덤하게 결정되어도 된다.
CPU(231)는, S513에서, 전경 패치 및 전경 패치에 대한 정해 라벨 화상으로부터, S512에서 결정된 전경 영역에 대응하는 부분 화상을 잘라낸다.
CPU(231)는, S514에서, 배경 패치로부터, S512에서 결정된 배경 영역에 대응하는 부분 화상을 잘라낸다.
CPU(231)는, S515에서, 학습 데이터에 사용되는 입력 화상을 화상 합성에 의해 생성한다. CPU(231)는, 전경 패치와 동일한 사이즈의 화상 데이터로서, 화소의 값 모두가 백색(화소값이 255 또는 255 내지 255와 약간 상이한 값의 범위, 예를 들어 255 내지 250로부터 랜덤하게 선택)의 화상 데이터를 베이스 화상으로서 생성한다. CPU(231)는, S512에서 결정된 전경 영역의 위치에, S513에서 베이스 화상으로 잘라낸 전경 패치의 부분 화상을 붙여서 합성한다. CPU(231)는, S512에서 결정된 배경 영역의 위치에, S514에서 베이스 화상으로 잘라낸 배경 패치의 부분 화상을 붙여서 합성한다. 이와 같이 하여 화상 합성에 의해 생성된 합성 화상 데이터를 학습 데이터용의 입력 화상으로서 사용한다.
CPU(231)는, S516에서, 화상 합성에 의해 학습 데이터용의 정해 라벨 화상을 생성한다. CPU(231)는, 입력 화상과 동일 사이즈의 화상 데이터로서, 화소 모두가 비수기값을 나타내는 화상 데이터를 생성한다. CPU(231)는, S512에서 결정된 전경 영역의 위치에, S513에서 화상 데이터로 잘라낸 정해 라벨 화상의 부분 화상을 붙여서 합성한다. 이와 같이 하여 화상 합성에 의해 생성된 화상 데이터를 학습 데이터용의 정해 라벨 화상으로서 사용한다. 학습 데이터의 구성은 도 14a에 도시된다. 도 14a는 학습 데이터의 구성예를 도시한다.
CPU(231)는, S517에서, S515에서 화상 합성에 의해 생성된 입력 화상과, S516에서 화상 합성에 의해 생성된 정해 라벨 화상을 서로 연관짓고, 이들 화상을 학습 데이터로서 스토리지(235)의 미리결정된 영역에 보존한다. 본 실시예에 따르면, 도 14a에 도시된 학습 데이터가 보존된다.
CPU(231)는, S518에서, 학습 데이터 생성 처리를 종료할지의 여부를 판정한다. CPU(231)는, 생성된 학습 데이터의 수가 (흐름도의 개시 시에 화상 처리 장치(101)의 입력 디바이스(209)를 사용하여 유저가 지정 및 결정한) 미리결정된 수인 경우, 결과가 예라고 판정하고, 처리를 종료한다. 그렇지 않으면, 판정의 결과는 아니오이고, 플로우는 S501로 진행된다.
학습 처리
이제, 학습 장치(102)의 학습 처리에 대해서 설명한다. 도 7은 학습 처리의 플로우를 도시한다.
이 처리는 학습 장치(102)의 학습 유닛(113)에 의해 수행된다. 이것은, 유저가 화상 처리 장치(101)의 입력 디바이스(209)를 사용하여 미리결정된 조작을 행할 때 개시된다. 본 실시예에 따르면, 신경망의 학습에는 미니-배치법을 사용한다.
먼저, CPU(231)는 S701에서 신경망을 초기화한다. 즉, CPU(231)는, 신경망을 구축하고, 당해 신경망의 파라미터를 랜덤하게 결정해서 초기화한다. 구축되는 신경망의 구조는 다양한 구조 중 하나일 수 있으며, 그 예는 공지 기술인 FCN(Fully Convolutional Network)의 형태일 수 있다.
CPU(231)는, S702에서 학습 데이터를 취득한다. CPU(231)는, 도 5의 흐름도에 나타낸, 학습 데이터 생성 처리를 실행하여, 미리결정된 수의 학습 데이터(미니-배치 사이즈, 예를 들어, 10)를 취득한다.
CPU(231)는, S703에서, 신경망의 오차를 산출한다. 즉, 학습 데이터에 포함되는 입력 화상을 신경망에 입력해서 출력을 취득한다. 출력은, 입력 화상과 동일한 화상 사이즈를 갖는 화상으로서, 추정적으로 수기라고 판정된 화소의 화소값이 수기값이고, 추정적으로 수기가 아니라고 판정된 화소의 화소값이 비수기값인 화상이다. 당해 출력과 정해 라벨 화상 사이의 차이를 평가해서 오차를 구한다. 교차 엔트로피를 평가의 지표로서 사용할 수 있다.
CPU(231)는, S704에서, 신경망의 파라미터를 조정한다. 즉, S703에서 산출된 오차에 기초하여, 역전파법(backpropagation method)에 의해 신경망의 파라미터 값을 변경한다.
CPU(231)는, S705에서, 학습을 종료할 것인지의 여부를 판정한다. 이것은 다음과 같은 방식으로 행해진다. CPU(231)는, S702 내지 S704의 처리를 미리결정된 횟수(예를 들어, 60000회) 행했는지의 여부를 판정한다. 미리결정된 횟수는 본 흐름도의 개시 시에 유저에 의해 입력되어 결정될 수 있다. 처리가 미리결정된 횟수 행해진 경우에는, 판정의 결과가 예이며, 플로우는 S706로 진행된다. 그렇지 않을 경우에는, 플로우는 S702로 진행되며, 신경망의 학습이 계속된다.
CPU(231)는, S706에서, 학습 결과로서, S704에서 조정된 신경망의 파라미터를 화상 처리 서버(103)에 송신한다.
수기 제거 의뢰 처리
이제, 화상 처리 장치(101)의 수기 제거 의뢰 처리에 대해서 설명한다. 화상 처리 장치(101)는 수기를 포함하는 원고를 스캔한다. 스캔 화상 데이터를 화상 처리 서버(103)에 송신하고, 수기의 제거를 의뢰한다. 도 8a는 수기 제거 의뢰 처리의 플로우를 도시한다. 이 처리는, 화상 처리 장치(101)의 CPU(201)가, 스토리지(208)에 기록되어 있는 제어 프로그램을 판독하고, 제어 프로그램을 RAM(204)에 로딩하는 방식으로 수행된다. 이것은, 유저가 화상 처리 장치(101)의 입력 디바이스(209)를 사용하여 미리결정된 조작을 행할 때 개시된다.
먼저, CPU(201)는, S801에서, 스캐너 디바이스(206) 및 원고 반송 디바이스(207)를 제어하고, 원고를 스캔해서 처리 대상 화상을 생성한다. 처리 대상 화상은 풀컬러(3 채널: RGB)의 화상 데이터로서 생성된다.
CPU(201)는, S802에서, S801에서 생성되며 수기가 처리되는 대상인 오브젝트를, 외부 인터페이스(211)를 통해서 화상 처리 서버(103)에 송신한다.
CPU(201)는, S803에서, 화상 처리 서버(103)로부터, 처리 결과를 수신했는지의 여부를 판정한다. 화상 처리 서버(103)로부터 외부 인터페이스(211)를 통해서 처리 결과를 수신한 경우에는, 판정의 결과는 예이며 플로우는 S804로 진행된다. 그렇지 않을 경우에는, 판정의 결과가 아니오이며, S803의 처리 단계를 반복한다.
CPU(201)는, S804에서, 화상 처리 서버(103)로부터 수신한 처리 결과, 즉 S801에서 생성되는 처리 대상 화상으로부터 수기가 제거된 화상 데이터를 출력한다. 즉, 촬상 화상 중의 수기만을 삭제하여 취득한 화상 데이터를 출력한다. 출력 방법으로서, 프린터 디바이스(205)를 사용하여 수기가 제거된 화상 데이터를 인쇄할 수 있다. 혹은, 유저가 입력 디바이스(209)를 조작해서 설정한 송신 수신처에, 외부 인터페이스(211)를 통해서 수기가 제거된 화상 데이터를 송신할 수 있다.
수기 제거 처리
이제, 화상 처리 서버(103)의 수기 제거 처리에 대해서 설명한다. 화상 처리 서버(103)는, 화상 처리 장치(101)로부터 수신되는 처리 대상 화상에 대하여 수기 제거 처리를 행한다. 도 8b는 수기 제거 처리의 플로우를 도시한다. 이 처리는, CPU(261)가, 스토리지(265)에 저장되어 있는 화상 처리 서버 프로그램을 판독하고, 화상 처리 서버 프로그램을 RAM(264)에 로딩하는 방식으로 수행된다. 이것은, 유저가 화상 처리 서버(103)의 전원을 ON으로 하면 개시된다.
먼저, CPU(261)는, S851에서 수기 추출을 위한 신경망을 로딩한다. CPU(261)는, 도 7의 흐름도의 S701의 경우와 동일한 신경망을 구축한다. 도 7의 흐름도의 S706에서 학습 장치(102)로부터 송신된 학습 결과(신경망의 파라미터)를 구축된 신경망에 반영한다.
CPU(261)는, S852에서, 처리 대상 화상이 화상 처리 장치(101)로부터 수신되었는지를 판정한다. 외부 인터페이스(268)를 통해서 처리 대상 화상이 수신된 경우, 판정의 결과는 예이며 플로우는 S853로 진행된다. 그렇지 않으면, 판정의 결과는 아니오이며, 플로우는 S856로 진행된다.
CPU(261)는, S853에서, 화상 처리 장치(101)로부터 수신되는 처리 대상 화상으로부터 수기 화소를 추출한다. CPU(261)는 처리 대상 화상으로부터 그레이스케일 화상을 생성한다. 처리 대상 화상으로부터의 그레이스케일 화상을 S851에서 구축한 신경망에 입력하여, 수기 화소를 추정한다. 신경망의 출력으로서 획득되는 화상 데이터는 다음과 같다: 처리 대상 화상과 동일한 사이즈를 갖는 화상 데이터, 및 추정적으로 수기라고 판정된 화소의 화소값이 수기값이며, 추정적으로 수기가 아니라고 판정된 화소의 화소값이 비수기값인 화상 데이터. 화상 데이터를 "수기 추출 화상"이라 칭한다.
CPU(261)는, S854에서, S853에서 취득한 수기 추출 화상에 기초하여 처리 대상 화상으로부터 수기를 제거한다. CPU(261)는, 수기 추출 화상에서 화소값이 수기값인 화소의 것과 동일한 위치에 위치되는 처리 대상 화상의 화소의 색을 백색(RGB = (255, 255, 255))으로 변경한다.
CPU(261)는, S855에서, 수기를 제거한 처리 후 화상을, 외부 인터페이스(268)를 통해서 화상 처리 장치(101)에 송신한다.
CPU(261)는, S856에서, 처리를 종료할 것인지의 여부를 판정한다. 유저가 미리결정된 조작을 행한 경우, 예를 들어 화상 처리 서버(103)의 전원이 OFF된 경우, 판정의 결과는 예이며 처리를 종료한다. 그렇지 않으면, 판정의 결과는 아니오이며, 플로우는 S852로 되돌아간다.
비고
이상 본 실시예에 따라 설명한 바와 같이, 수기만을 포함하는 화상 데이터와 인쇄 내용만을 포함하는 화상 데이터를, 수기와 인쇄 내용이 겹치지 않도록 합성해서 수기 추출을 위한 신경망을 학습하기 위한 학습 데이터를 생성할 수 있다. 이 학습 데이터를 사용해서 신경망을 학습한다. 학습의 결과를 사용하여, 스캔 화상 데이터로부터 수기를 추출해서 제거할 수 있다.
본 실시예에 따르면, S360에서의 처리 대상 화상의 가공에서 수기 문자를 제거한다. 그러나, 처리 대상 화상의 가공은 수기 문자의 제거로 한정되지 않는다. 예를 들어, 화상(2204)에서와 같이 수기 문자를 강조하도록 가공을 행해도 된다.
제2 실시예
본 실시예에 따라 설명된 경우에서는, 학습 데이터를 화상 합성에 의해 생성하는 방법으로서 제1 실시예에 따른 것과는 상이한 방법이 사용된다. 본 실시예에 따르면, 학습 데이터용의 입력 화상을 합성할 때에, 화상 처리 장치(101)에 의해 스캔한 화상을 베이스 화상으로서 사용한다. 이러한 처리에 의해 실제 스캔 화상 데이터에 근접한 화상을 화상 합성에 의해 생성할 수 있다. 제2 실시예에 따른 화상 처리 시스템 구성은, 일부 특징을 제외하고 제1 실시예에 따른 화상 처리 시스템 구성과 동일하다. 따라서, 동일 구성은 동일 문자로 지정하고, 그에 대한 상세한 설명은 생략한다.
샘플 화상 취득 처리
본 실시예에 따른 화상 처리 장치(101)의 샘플 화상 취득 처리에 대해서 설명한다. 도 9a는 제2 실시예에 따른 샘플 화상 취득 처리의 플로우를 도시한다. 처리는, CPU(201)가, 스토리지(208)에 기록되어 있는 제어 프로그램을 판독하고, 제어 프로그램을 RAM(204)에 로딩하는 방식으로 실행된다. 이것은 유저가 화상 처리 장치(101)의 입력 디바이스(209)를 조작할 때 개시된다.
S401 내지 S406의 처리 단계는, 도 4a의 흐름도에서 동일한 참조 부호로 지정한 처리 단계와 동일하다. 본 실시예에 따르면, S404에서 판정 결과가 아니오인 경우, 플로우는 S901로 진행된다.
CPU(201)는, S901에서, 여백에 사용되는 원고의 스캔 지시가 이루어졌는지의 여부를 판정한다. 유저가 입력 디바이스(209)를 사용하여 여백에 사용되는 원고를 스캔하는 미리결정된 조작을 행하는 경우에는, 판정 결과는 예이며 플로우는 S902로 진행된다. 그렇지 않으면, 판정의 결과는 아니오이며, 플로우는 S407로 진행된다.
CPU(201)는, S902에서, 스캐너 디바이스(206) 및 원고 반송 디바이스(207)를 제어하고, 원고를 스캔해서 화상 데이터(이후 이 화상 데이터를 "여백 샘플 화상"이라고 칭한다)를 생성한다. 이 원고는 수기도 인쇄 내용도 포함하지 않는 용지이다. 여백 샘플 화상은 풀컬러(3 채널: RGB) 화상 데이터로서 생성된다.
CPU(201)는, S903에서, S902에서 생성된 여백 샘플 화상을, 외부 인터페이스(211)를 통해서 학습 장치(102)에 송신한다. 이때, 여백 샘플 화상은 송신되는 화상 데이터가 여백 샘플 화상의 데이터인 것을 나타내는 정보가 부여된 상태로 송신된다.
S407의 처리의 처리 단계는 도 4a의 흐름도에서 동일한 참조 부호로 지정한 처리 단계와 동일하다.
이상의 처리를 통해, 화상 처리 장치(101)는, 전경 샘플 화상 및 배경 샘플 화상에 추가하여, 여백 샘플 화상을 생성하고 여백 샘플 화상을 학습 장치(102)에 송신한다. 유저의 조작, 및 원고 반송 디바이스(207)에 적재된 원고 매수에 따라, 전경 샘플 화상, 배경 샘플 화상, 및 여백 샘플 화상이 취득된다.
샘플 화상 수신 처리
이제, 본 실시예에 따른 학습 장치(102)에 의한 샘플 화상 수신 처리에 대해서 설명한다. 도 9b는 제2 실시예에 따른 샘플 화상 수신 처리의 플로우를 도시한다. 이 처리는, CPU(231)가, 스토리지(235)에 기록되어 있는 학습 데이터 생성 프로그램을 판독하고, 학습 데이터 생성 프로그램을 RAM(234)에 로딩하는 방식으로 실행된다. 이는 유저가 학습 장치(102)의 전원을 ON으로 할 때 개시된다.
S451 내지 S454의 처리의 처리 단계는, 도 4b의 흐름도에서 동일한 참조 문자로 지정된 처리 단계와 동일하다. 본 실시예에 따르면, S453에서 판정의 결과가 아니오인 경우, 플로우는 S951로 진행된다.
CPU(231)는, S951에서, 여백 샘플 화상을 수신했는지의 여부를 판정한다. CPU(231)는, 외부 인터페이스(238)를 통해서 화상 데이터를 수신하며, 당해 화상 데이터가 여백 샘플 화상의 데이터인 것을 나타내는 정보가 부여되어 있으면, 결과가 예라고 판정하고, 플로우는 S952로 진행된다. 그렇지 않으면, 판정의 결과는 아니오이며, 플로우는 S455로 진행된다.
CPU(231)는, S952에서, 수신한 여백 샘플 화상을 스토리지(235)가 미리결정된 영역에 보존하게 한다.
학습 데이터 생성 처리
이제, 본 실시예에 따른 학습 장치(102)의 학습 데이터 생성 처리에 대해서 설명한다.
도 10은 제2 실시예에 따른 학습 데이터 생성 처리의 플로우를 도시한다. 이 처리는 학습 장치(102)의 학습 데이터 생성 유닛(112)에 의해 행해진다. 이것은, 유저가, 학습 장치(102)의 입력 디바이스(236)를 사용하여 미리결정된 조작을 행할 때 개시된다.
S501 내지 S504의 처리의 처리 단계는, 도 5의 흐름도에 동일한 참조 문자로 지정된 처리 단계와 동일하다.
CPU(231)는, S1001에서, 각 화소의 휘도를 변경함으로써 전경 패치를 가공한다. CPU(231)는, 감마 보정을 사용해서 전경 패치의 휘도를 변경한다. 감마치는 미리결정된 범위(예를 들어, 0.1 내지 10.0)로부터 랜덤하게 선택되어 결정된다.
S506 내지 S509의 처리의 처리 단계는 도 5의 흐름도에서 동일한 참조 문자로 지정된 처리 단계와 동일하다.
CPU(231)는, S1002에서, 각 화소의 휘도를 변경함으로써 배경 패치를 가공한다. CPU(231)는, 감마 보정을 사용해서 배경 패치의 휘도를 변경한다. 감마치는 미리결정된 범위(예를 들어, 0.1 내지 10.0)로부터 랜덤하게 선택되어 결정된다.
CPU(231)는, S1003에서, 스토리지(235)에 저장되어 있는 여백 샘플 화상 중 하나를 선택해서 판독한다. 도 9b의 흐름도의 S952의 처리 단계에서, 스토리지(235)에 여백 샘플 화상이 기록된다. 따라서, 그로부터 여백 샘플 화상 중 하나가 랜덤하게 선택된다.
CPU(231)는, S1004에서, 여백 샘플 화상의 일부(S503에서 전경 패치를 잘라냈을 때와 동일한 사이즈)를 잘라내어 화상 데이터를 생성하고, 화상 데이터를 베이스 화상으로서 사용한다. 일부가 잘리는 위치는 랜덤하게 결정된다.
S511 내지 S514의 처리의 처리 단계는, 도 5의 흐름도에 동일한 참조 문자로 지정된 처리 단계와 동일하다.
CPU(231)는, S1005에서, 학습 데이터용의 입력 화상을 화상 합성에 의해 생성한다. CPU(231)는, S513에서 잘라낸 전경 패치의 부분 화상을 S512에서 결정된 전경 영역의 위치에서 S1004에서 생성한 베이스 화상에 붙여서 합성한다. CPU(231)는, S514에서 잘라낸 배경 패치의 부분 화상을 S512에서 결정된 배경 영역의 위치에서 베이스 화상에 붙여서 합성한다. 화상 합성에 의해 생성된 화상으로부터 그레이스케일 화상을 생성한다. 이와 같이 하여 생성된 화상을 학습 데이터용의 입력 화상으로서 사용한다.
CPU(231)는, S1006에서, 학습 데이터용의 정해 라벨 화상을 화상 합성에 의해 생성한다. 이 처리 단계는, 도 5의 흐름도에서의 S516의 처리 단계와 동일하다. 또한, 화상 합성에 의해 생성된 정해 라벨 화상으로부터 그레이스케일 정해 라벨 화상을 생성한다.
S517 및 S518의 처리의 처리 단계는 도 5의 흐름도에서 동일한 참조 문자에 의해 지정된 처리 단계와 동일하다.
비고
이상과 같이, 베이스 화상에, 수기도 인쇄 내용도 포함되지 않는 용지를 스캔해서 생성한 스캔 화상 데이터를 사용할 수 있다. 이에 의해, 화상 합성에 의해 생성되는 학습 데이터용의 입력 화상을, 실제의 스캔 화상 데이터에 근접하게 할 수 있다.
일부 경우에, 인쇄 내용을 포함하는 용지의 백색이 아닌 여백 영역에도 수기가 입력된다. 예를 들어, 얇은 솔리드 색 영역에 수기가 입력되는 것이 생각된다. 이러한 영역의 수기를 추출하기 위해서, S902에서 스캔되는 원고는, 백지뿐만 아니라, 얇은 솔리드 색이 인쇄된 원고 및 색지일 수도 있다. 이 경우에는, S1005에서, 전경 패치의 부분 화상의 비수기 화소를 투과하도록 알파 블렌딩(alpha blending)을 행함으로써 학습 데이터용의 입력 화상을 베이스 화상과 합성한다.
제3 실시예
본 실시예에 따라 설명되는 경우에서는, 학습 데이터용의 화상을 화상 합성에 의해 생성하기 위한 방법으로서, 제1 및 제2 실시예에 따른 방법과는 상이한 방법을 사용한다. 본 실시예에 따르면, 배경 샘플 화상으로부터 여백을 검출하고, 당해 여백의 위치에 전경 패치를 합성한다. 이러한 처리에 의해, 화상 합성에 의해 생성되는 학습 데이터용의 화상을 여백에 수기 문자가 기입된 화상에 근접시킬 수 있다. 제3 실시예에 따른 화상 처리 시스템 구성은 일부 특징을 제외하고 제1 및 제2 실시예에 따른 화상 처리 시스템 구성과 동일하다. 따라서, 동일 구성은 동일 문자로 지정하고, 그에 대한 상세한 설명은 생략한다.
학습 데이터 생성 처리
본 실시예에 따른 학습 장치(102)의 학습 데이터 생성 처리에 대해서 설명한다. 도 11은 제3 실시예에 따른 학습 데이터 생성 처리의 플로우를 도시한다. 이 처리는 학습 장치(102)의 학습 데이터 생성 유닛(112)에 의해 행해진다. 이것은, 유저가, 학습 장치(102)의 입력 디바이스(236)를 사용하여 미리결정된 조작을 행할 때 개시된다.
먼저 CPU(231)는, S1101에서, 화상 합성에 의해 생성되는 화상 데이터의 구성을 결정한다. 이것은 도 5의 흐름도의 S512의 처리 단계와 동일하다. 본 실시예에 따르면, 배경에 대한 전경의 방향은 상위 방향, 우측 방향, 하 방향, 및 좌측 방향의 4개의 방향으로부터 랜덤하게 선택되어 결정된다. 화상 합성에 의해 생성되는 화상 데이터의 구성은 도 6a, 도 6c, 도 6e, 및 도 6g에 도시된 바와 같이 결정된다.
S506의 처리의 처리 단계는 도 5의 흐름도에서 동일한 참조 문자에 의해 지정된 처리 단계와 동일하다.
CPU(231)는, S1102에서, 선택 및 판독된 배경 샘플 화상으로부터 부분 영역을 추출한다. 부분 영역은 인쇄 내용의 모임(오브젝트)에 대응하며, 오브젝트의 예는 문자를 포함하는 문자열, 문자열을 포함하는 문장, 도형, 사진, 표, 및 그래프를 포함한다. 부분 영역을 추출하는 방법은 예를 들어 다음과 같을 수 있다. 배경 샘플 화상의 흑색 및 백색 2치화에 의해 2치 화상을 생성한다. 2치 화상에서 흑색 화소가 서로 연결되는 부분(연결 흑색 화소)을 추출하고, 이것의 외접 직사각형을 생성한다. 각각의 직사각형의 형상 및 사이즈가 평가된다. 이에 의해 문자 또는 문자의 일부인 직사각형 군을 취득할 수 있다. 직사각형 군에서의 직사각형 사이의 거리를 평가하고, 미리결정된 임계치 이하인 거리의 직사각형을 통합한다. 이에 의해 문자의 직사각형 군을 취득할 수 있다. 동일한 사이즈의 문자의 직사각형이 서로 근처에 배열되어 있을 경우에는, 직사각형을 통합해서 문자열의 직사각형 군을 취득할 수 있다. 동일한 짧은 변 길이를 갖는 문자열의 직사각형이 등간격으로 배열되어 있을 경우에는, 직사각형을 통합해서 문장의 직사각형 군을 취득할 수 있다. 도형, 사진, 표, 및 그래프 등의 문자, 문자열, 및 문장 이외의 오브젝트를 포함하는 직사각형도 취득할 수 있다. 이와 같이 추출된 직사각형으로부터 단일 문자 또는 문자의 일부의 직사각형을 제외한다. 남은 직사각형은 부분 영역에 대응한다. 도 18은, 배경 샘플 화상으로부터 추출된 부분 영역의 예를 도시한다. 도 18은 배경 샘플 화상으로부터의 부분 영역의 추출 결과의 예를 도시한다. 부분 영역의 예를 파선으로 나타낸다. 이 처리 단계에서 배경 샘플 화상으로부터 추출되는 부분 영역을 "배경 부분 영역"이라 칭한다. 본 처리 단계에서는, 배경 샘플 화상으로부터 배경 부분 영역을 추출할 수 있다.
CPU(231)는, S1103에서, S1102에서 추출된 배경 부분 영역 중 하나를 랜덤하게 선택한다.
CPU(231)는, S1104에서, S1103에서 선택된 배경 부분 영역이, S1101에서 결정된 위치 관계를 충족하는 여백에 인접하고 있는지를 판정한다. 여백이란, 배경 샘플 화상 내에 있으며 어느 배경 부분 영역에도 속하지 않는 화소의 집합이다. 본 처리 단계에서는, 당해 배경 부분 영역의 일부 또는 전부를 합성해서 생성되는 화상의 배경 영역으로 할 경우에, 근방에 전경을 합성할 수 있는 여백이 존재하는지를 판정한다. 예를 들어, S1101에서, 배경에 관한 전경의 방향이 좌측 방향이라고 결정되는 경우에, 이는 다음과 같이 판정된다. 배경 부분 영역의 좌측 단부와 배경 샘플 화상의 좌측 단부 사이의 거리(화소수)가, 화상 합성에 의해 생성되는 화상에서의 전경 영역의 폭과 여백 영역의 폭을 가산하여 취득한 값보다 크다. 또한, 배경 부분 영역의 좌측 단부와 전경 영역의 폭 및 여백 영역의 폭을 가산하여 취득한 값만큼 떨어진 위치 사이에, 다른 배경 부분 영역이나 S1102에서 추출된 단일 문자 또는 문자의 일부의 직사각형이 존재하지 않는다. 도 19a 내지 도 19c를 참고해서 예에 대해서 설명한다. 도 19a는 배경 부분 영역을 도시한다. 도 19b는 생성되는 입력 화상의 구성을 도시한다. 도 19c는 생성되는 입력 화상의 구성을 도시한다.
예에서는, S1103에서 배경 부분 영역(1901)이 선택된다. 배경 부분 영역(1901)의 좌측 단부와 배경 샘플 화상의 좌측 단부 사이의 거리를 도시된 바와 같이 d1으로 지정한다. S1101에서, 합성되는 화상의 구성이 도 19b에 도시된 바와 같이 결정된다(전경 영역(1911), 여백 영역(1912), 및 배경 영역(1913)). 도시된 바와 같이, 전경 영역(1911)의 폭을 d3으로 지정하고, 여백 영역(1912)의 폭을 d4로 지정한다. 도시된 바와 같이, 배경 부분 영역(1901)의 좌측 단부와 그로부터 d3+d4의 거리 떨어진 위치 사이에는, 다른 배경 부분 영역이나 단일 문자 또는 문자의 일부의 직사각형은 존재하지 않는다. 이때, d1≥d3+d4가 충족되면, 배경 부분 영역(1901)은 S1101에서 결정된 위치 관계를 충족하는 여백에 인접하고 있다고 판정된다. d1<d3+d4가 충족되면, 배경 부분 영역(1901)은 거기에 인접하지 않는다고 판정된다. S1101에서 배경에 관한 전경의 방향이 상 방향, 우측 방향, 또는 하 방향인 것으로 결정되는 경우에도, 동일한 판정이 이루어진다. 다른 예에서, S1101에서, 배경에 관한 전경의 방향이 우측 방향이라고 결정되며, 합성되는 화상의 구성은 도 19c에 도시된 바와 같이 결정된다(전경 영역(1921), 여백 영역(1922), 및 배경 영역(1923)). 전경 영역의 폭(d5) 및 여백 영역의 폭(d6)은 d2 > d5 + d6를 충족하며, d2는 배경 부분 영역(1901)의 우측 단부와 배경 샘플 화상의 우측 단부 사이의 거리이다. 그러나, 배경 부분 영역(1901)의 우측 단부와 그로부터 d5+d6의 거리 떨어진 위치 사이에 배경 부분 영역(1902)이 존재한다. 따라서, 이 경우는, S1103에서 선택된 배경 부분 영역은 S1101에서 결정된 위치 관계를 충족하는 여백에 인접하지 않는다고 판정된다. 이상 설명한 바와 같이, S1103에서 선택된 배경 부분 영역이 S1101에서 결정된 위치 관계를 충족하는 여백에 인접하고 있는 경우, 판정의 결과는 예이며, 플로우는 S501로 진행된다. 그렇지 않으면, 판정의 결과는 아니오이며, 플로우는 S1105로 진행된다.
CPU(231)는, S1105에서, S506에서 선택된 배경 샘플 화상에 대해서 S1102에서 추출된 모든 배경 부분 영역에 대하여, S1104의 판정이 이루어졌는지의 여부를 판정한다. 판정이 이루어지는 경우, 판정의 결과는 예이며, 플로우는 S1106로 진행된다. 이것은, 현재 선택된 배경 샘플 화상으로부터 추출되는 어느 배경 부분 영역에서도, S1101에서 결정된 위치 관계가 충족되지 않는 경우이다. 그렇지 않을 경우에는, 판정의 결과는 아니오이며, 플로우는 S1103로 진행된다. 이것은 즉, 현재 선택된 배경 부분 영역에서는, S1101에서 결정된 위치 관계가 충족되지 않기 때문에, 플로우가 S1103로 되돌아가서 다른 배경 부분 영역을 선택하는 경우이다. S1104에서 판정의 결과가 예이거나 S1101에서 다시 화상 합성에 의해 생성되는 화상 데이터의 구성을 결정할 때까지, 다시 S1103의 처리 단계를 실행할 때에는, 이전에 선택된 배경 부분 영역은 선택되지 않는다.
CPU(231)는, S1106에서, 스토리지(235)에 저장되어 있는 모든 배경 샘플 화상에 대해서, S1104의 판정이 이루어졌는지의 여부를 판정한다. 판정이 이루어지는 경우에는, 판정의 결과는 예이며, 플로우는 S1101로 되돌아간다. 이것은, 스토리지(235)에 저장되어 있는 모든 배경 샘플 화상은, S1101에서 결정된 위치 관계를 충족하는 배경 부분 영역을 포함하지 않기 때문에, 플로우는 S1101로 되돌아가서 위치 관계를 다시 결정하는 경우이다. 그렇지 않을 경우에는, 판정의 결과는 아니오이며, 플로우는 S506로 되돌아간다. 이것은, 현재 선택된 배경 샘플 화상은 S1101에서 결정된 위치 관계를 충족하는 배경 부분 영역을 포함하지 않기 때문에, 플로우는 단계 506로 되돌아가서 다른 배경 샘플 화상을 선택하는 경우이다. S1104에서 판정의 결과가 예가 되거나 S1101에서 다시 화상 합성에 의해 생성되는 화상 데이터의 구성을 결정할 때까지, 다시 S506의 처리 단계를 실행할 때에는, 이전에 선택한 배경 샘플 화상은 선택되지 않는다.
S501의 처리의 처리 단계는, 도 5의 흐름도에서 동일한 참조 문자에 의해 지정된 처리 단계와 동일하다.
CPU(231)는, S1107에서, 선택되어 판독된 전경 샘플 화상으로부터 부분 영역을 추출한다. S1102의 처리에서와 마찬가지로, 연결 흑색 화소와 그 외접 직사각형을 추출해서 평가함으로써, 수기 문장 또는 도형을 포함하는 부분 영역을 추출한다. 본 처리 단계에서 전경 샘플 화상으로부터 추출되는 부분 영역을 "전경 부분 영역"이라 칭한다.
CPU(231)는, S1108에서, S1107에서 추출된 전경 부분 영역 중 하나를 랜덤하게 선택한다.
CPU(231)는, S1109에서, S1108에서 선택한 전경 부분 영역으로부터, S1101에서 결정된 전경 영역에 대응하는 부분 화상을 잘라낸다. S1101에서 배경에 관한 전경의 방향이 상 방향이라고 결정되는 경우에는, 전경 부분 영역의 하위 단부 부분으로부터 전경 영역의 형상 및 면적에 따른 영역을 잘라낸다. 배경에 관한 전경의 방향이 우측 방향인 경우에는, 전경 부분 영역의 좌측 단부 부분으로부터 전경 영역의 형상 및 면적에 따른 영역을 잘라낸다. 배경에 관한 전경의 방향이 하 방향인 경우에는, 전경 부분 영역의 상위 단부 부분으로부터 전경 영역의 형상 및 면적에 따른 영역을 잘라낸다. 배경에 관한 전경의 방향이 좌측 방향인 경우에는, 전경 부분 영역의 우측 단부 부분으로부터 전경 영역의 형상 및 면적에 따른 영역을 잘라낸다.
CPU(231)는, S1110에서, S1109에서 잘라낸 전경 영역을, S1101에서 결정된 위치에서, 배경 샘플 화상의 S1103에서 선택된 배경 부분 영역에 인접하는 여백과 합성한다.
CPU(231)는, S1111에서, S1101에서 결정된 구성이 달성되도록, S1103에서 합성된 전경 영역을 포함하는, 배경 샘플 화상의 부분 영역을 학습 데이터용의 입력 화상으로서 잘라낸다.
CPU(231)는, S1112에서, S1111에서 생성된 입력 화상을 회전시켜 입력 화상을 가공한다. 회전 각도는 미리결정된 범위(예를 들어, -10도 내지 10도)로부터 랜덤하게 선택되어 결정된다.
CPU(231)는, S1113에서, 배율을 변경하여 입력 화상을 가공한다. 배율 변경율은 미리결정된 범위(예를 들어, 50% 내지 150%)로부터 랜덤하게 선택되어 결정된다. 또한, 배율 변경 후의 입력 화상의 중앙부(예를 들어, 길이×폭=256×256의 사이즈)를 잘라내서 입력 화상을 갱신한다. S1111에서 입력 화상을 잘라내는 때에는, 본 처리 단계에서 잘라내서 갱신하는 사이즈의 2배의 사이즈(예를 들어, 길이×폭=512×512 화소)로 입력 화상을 잘라낸다. 따라서, 화상 합성에 의해 생성되는 화상 데이터의 구성은 본 실시예에 따른 S1101의 처리 단계에서는 2배의 사이즈를 전제로 결정된다.
CPU(231)는, S1114에서, 각 화소의 휘도를 변경함으로써 입력 화상을 가공한다. CPU(231)는, 입력 화상으로부터 그레이스케일 입력 화상을 생성하며, 감마 보정을 사용해서 전경 패치의 휘도를 변경한다. 감마치는 미리결정된 범위(예를 들어, 0.1 내지 10.0)로부터 랜덤하게 선택되어 결정된다.
CPU(231)는, S1115에서, 입력 화상에 대한 정해 라벨 화상을 생성한다. CPU(231)는, 미리결정된 임계치보다 낮은 화소값이 수기값이 되고, 다른 화소값은 비수기값이 되도록, 입력 화상의 2치화에 의해 정해 라벨 화상을 생성한다. 입력 화상을 S1112에서 회전시키고 S1113에서 배율을 변경하는 CPU(231)는, 회전 각도 및 배율 변경율을 사용하여, 회전 및 배율 변경 후의 입력 화상에서의 전경 영역에 대응하는 영역을 산출한다. 이것을 사용하여, 당해 영역에 대응하지 않는 정해 라벨 화상의 화소 모두의 값을 비수기값으로 변경한다.
S517 및 S518의 처리의 처리 단계는 도 5의 흐름도에서 동일한 참조 문자에 의해 지정된 처리 단계와 동일하다.
비고
본 실시예에 따라 상술한 바와 같이, 배경 샘플 화상으로부터 여백 영역을 추출하고, 당해 영역에 전경 샘플 화상의 부분 화상을 합성한다. 화상 합성에 의해 생성되는 학습 데이터용의 화상을 여백에 수기가 기입된 실제 화상에 근접시킬 수 있으며, 수기 추출을 위한 신경망을 학습하기 위한 학습 데이터를 생성할 수 있다.
제4 실시예
본 실시예에 따라 설명되는 경우에서는, 학습 데이터용의 화상을 화상 합성에 의해 생성하는 방법으로서, 제1 내지 제3 실시예에 따른 방법과는 상이한 방법이 사용된다. 본 실시예에 따르면, 화상 합성에 의해 생성되는 학습 데이터용의 화상은 폼에 기입된 수기 문자를 추출하는데 적합하다. 구체적으로는, 아무것도 기입되지 않은 폼의 배경 샘플 화상의 기입란에서 여백을 검출하고, 검출된 위치에 전경 패치를 합성한다. 제4 실시예에 따른 화상 처리 시스템 구성은, 일부 특징을 제외하고 제1 내지 제3 실시예에 따른 화상 처리 시스템의 구성과 동일하다. 따라서, 동일 구성은 동일 문자로 지정하고, 그에 대한 상세한 설명은 생략한다.
폼 화상
배경 샘플 화상 생성 처리는 도 4a를 참조하여 제1 실시예에 따라 설명한다. 본 실시예에 따르면, S405에서 배경 샘플 화상을 생성할 때에는, 아무것도 기입되지 않은 신청 용지 등의 폼이 스캔된다. 미지의 스타일을 갖는 폼 원고에 대응하기 위해서 다양한 종류의 폼 원고가 스캔되는 것이 바람직하다.
배경 샘플 화상을 생성하기 위해서 다양한 종류의 폼이 스캔된다. 폼의 일례가 도 12에 도시되어 있다. 도 12는 배경 샘플 화상 생성 처리의 개요를 도시하는 도면이다. 폼(1200)의 수기 문자의 기입란은, 성명이 기입되는 성명 기입란(1201), 주소가 기입되는 주소 기입란(1202), 및 전화 번호가 기입되는 전화 번호 기입란(1203)을 포함한다. 이들 기입란에 대한 표제는, 성명 표제(1204)("성명"), 주소 표제(1205)("주소"), 및 전화 번호 표제(1206)("전화 번호")를 포함한다. S402에서 전경 샘플 화상을 생성할 때에는, 폼의 기입란에 기입될 수 있는 내용을 상정하고, 수기 문장이 1줄 또는 약 2줄로 기입된 용지를 스캔한다.
학습 데이터 생성 처리
본 실시예에 따른 학습 장치(102)의 학습 데이터 생성 처리에 대해서 설명한다. 도 13은 제4 실시예에 따른 학습 데이터 생성 처리의 플로우를 도시한다. 이 처리는 학습 장치(102)의 학습 데이터 생성 유닛(112)에 의해 행해진다. 이것은, 유저가, 학습 장치(102)의 입력 디바이스(236)를 사용하여 미리결정된 조작을 행할 때 개시된다.
S501의 처리의 처리 단계는, 도 5의 흐름도에서 동일한 참조 문자에 의해 지정된 처리 단계와 동일하다.
S1107, S1108, 및 S1109의 처리의 처리 단계는, 도 11의 흐름도에서의 동일한 참조 문자에 의해 지정된 처리 단계와 동일하다.
S506의 처리의 처리 단계는 도 5의 흐름도에서 동일한 참조 문자에 의해 지정된 처리 단계와 동일하다.
CPU(231)는, S1301에서, 선택 및 판독된 배경 샘플 화상으로부터 배경 부분 영역을 추출한다. 본 실시예에 따르면, 배경 부분 영역은 아무것도 기입되지 않은 폼의 기입란에 대응한다. 배경 부분 영역으로서 기입란을 추출하는 방법은 예를 들어 다음과 같을 수 있다. 배경 샘플 화상의 흑색 및 백색 2치화에 의해 2치 화상을 생성한다. 2치 화상에서 흑색 화소가 서로 연결되는 부분(연결 흑색 화소)을 추출한다. 미리결정된 임계치(예를 들어, 50 화소)보다 길고 미리결정된 임계치(예를 들어, 5 화소)보다 얇은 화소 블록이 추출된 연결 흑색 화소의 블록으로부터 괘선으로서 추출된다. 이때, 괘선의 추출 조건은, 괘선이 화상의 상위 및 하위 에지에 실질적으로 평행한 것, 및 괘선이 화상의 좌측 및 우측 에지에 실질적으로 평행한 것일 수 있다. 4개의 괘선에 의해 둘러싸이고, 4개의 괘선을 포함하며, 연결 흑색 화소의 다른 블록을 포함하지 않는 영역이 배경 부분 영역(기입란)으로서 추출된다. 이 처리에 의해 하나 이상의 배경 부분 영역이 추출될 수 있다.
CPU(231)는, S1302에서, S1301에서 추출되는 배경 부분 영역 중 하나를 랜덤하게 선택한다.
CPU(231)는, S1303에서, 각 화소의 휘도를 변경해서 배경 샘플 화상을 가공한다. CPU(231)는, 배경 샘플 화상으로부터 그레이스케일 배경 샘플 화상을 생성하며, 감마 보정을 사용해서 전경 패치의 휘도를 변경한다. 감마치는 미리결정된 범위(예를 들어, 0.1 내지 10.0)로부터 랜덤하게 선택되어 결정된다.
CPU(231)는, S1304에서, 배율을 변경함으로써 전경 패치를 가공한다. 배율 변경율은, 예를 들어 다음과 같이 결정된다. S1302에서 선택된 배경 부분 영역의 폭에 대한 전경 패치의 폭의 비율(RW)과, 배경 패치의 높이에 대한 전경 패치의 높이의 비율(RH)을 구한다. RW와 RH의 값 중, 큰 값이 비율(R1)로서 사용된다. 배율 변경 후의 전경 패치의 것에 대한 배경 패치의 폭(R1이 RW과 동일한 경우) 또는 높이(R1이 RH와 동일한 경우)의 비율을 미리결정된 범위(예를 들어, 0.5 내지 0.95)로부터 랜덤하게 선택해서 결정한다(이 비율을 R2로 지정한다). 배율 변경율은 R2/R1이다.
CPU(231)는, S1305에서, 각 화소의 휘도를 변경함으로써 전경 패치를 가공한다. CPU(231)는, 전경 패치로부터 그레이스케일 전경 패치를 생성하고, 감마 보정을 사용해서 전경 패치의 휘도를 변경한다. 감마치는 미리결정된 범위(예를 들어, 0.1 내지 10.0)로부터 랜덤하게 선택되어 결정된다.
CPU(231)는, S1306에서, 전경 패치를 배경 샘플 화상의 선택된 배경 부분 영역과 합성한다. 합성의 위치는, 전경 패치가 배경 부분 영역 내에 있도록 랜덤하게 결정된다.
CPU(231)는, S1307에서, 전경 패치를 합성한 배경 부분 영역을 포함하는 부분 영역을 잘라내서 입력 화상을 생성한다. 잘라내는 위치는 이하와 같이 결정된다. 입력 화상은 배경 부분 영역의 4개의 괘선 중 적어도 하나를 포함한다. 입력 화상은 합성된 전경 패치를 미리결정된 비율 이상 포함한다(예를 들어, 면적에서 25% 이상). 위치를 이상의 조건을 충족하는 범위 내에서 랜덤하게 결정한다. 많은 전형적인 경우에, 폼의 기입란은 길게 늘여진 직사각형 형상을 갖는다. 따라서, 비율과 관련하여, 많은 경우에 기입 영역의 좌측 및 우측 에지를 따른 괘선이 포함되지 않는다. 이러한 이유로, 잘라내는 위치는 좌측 및 우측 에지를 따른 괘선이 명시적으로 포함되도록 결정될 수 있다.
CPU(231)는, S1308에서, 정해 라벨 화상을 생성한다. CPU(231)는, S1307에서 생성된 입력 화상의 전체의 2치화에 의해 정해 라벨 화상을 취득한다. S1306에서, 배경 부분 영역에 전경 패치를 합성하는 위치 및 S1307에서 입력 화상을 잘라내는 위치로부터, 입력 화상 중의 어느 영역이 이전의 전경 패치에 대응하는지를 산출한다. 정해 라벨 화상에서의, 산출된 영역 이외의 영역의 화소값은 비수기값으로 변경된다. 이렇게 정해 라벨 화상을 취득한다.
CPU(231)는, S1309에서, 입력 화상 및 정해 라벨 화상을 회전시킴으로써 입력 화상 및 정해 라벨 화상을 가공한다. 입력 화상에 대한 회전 각도와 정해 라벨 화상에 대한 회전 각도는 서로 동일하며, 미리결정된 범위(예를 들어, -5도 내지 5도)로부터 랜덤하게 선택되어 결정된다.
CPU(231)는, S1310에서, 입력 화상과 정해 라벨 화상을 배율을 변경해서 가공한다. 입력 화상에 대한 배율 변경율과 정해 라벨 화상에 대한 배율 변경율은 서로 동일하며, 미리결정된 범위(예를 들어, 90% 내지 110%)로부터 랜덤하게 선택되어 결정된다. 배율 변경 후의 전경 패치의 일부(예를 들어, 길이×폭=256×256의 사이즈)를 잘라내서 전경 패치를 갱신한다. 이때, 이전의 전경 샘플 화상의 영역, 이전의 배경 샘플 화상의 영역, 및 괘선이 포함되도록 잘라내기 위치를 결정한다.
S517 및 S518의 처리의 처리 단계는 도 5의 흐름도에서 동일한 참조 문자에 의해 지정된 처리 단계와 동일하다.
비고
본 실시예에 따라 위에서 설명된 바와 같이, 배경 샘플 화상으로부터 폼의 기입란에 대응하는 여백 영역을 추출하며, 당해 영역에 전경 샘플 화상의 부분 화상을 합성한다. 이에 의해, 수기와 인쇄 내용이 겹치지 않도록 합성에 의해 수기 추출을 위한 신경망을 학습하기 위한 학습 데이터를 생성할 수 있다.
제5 실시예
본 실시예에 따라 설명된 경우에서는, 수기의 인식 결과를 이용하는 방법으로서, 제1 실시예에 따른 방법과는 상이한 방법이 사용된다. 본 실시예에 따른 수기의 인식 결과를 사용하는 방법에서는, 처리 대상 화상으로부터 유익한 정보를 추출한다. 구체적으로는, 활자 및 수기 문자를 포함하는 원고로부터 텍스트 정보를 추출하는 처리(OCR 처리)를 행하고, 텍스트 정보를 예를 들어 데이터 검색에 사용한다. 본 실시예에 따르면, 수기 문자 화상과 활자 화상을 서로 분리하여 OCR 처리의 정밀도를 향상시킨다. 본 실시예에 따르면, 페이지 구성 정보, 예를 들어 페이지를 구비하는 문서에서 어느 페이지가 수기 문자를 포함하는지를 취득하기 위한 처리가 행해진다. 상술한 바와 같이 검색가능한 데이터를 검색가능 데이터라 칭한다. 검색가능 데이터의 예는 검색가능 PDF 및 폼 데이터를 포함한다. 제5 실시예에 따른 화상 처리 시스템의 구성은 일부 특징을 제외하고 제1 내지 제4 실시예에 따른 화상 처리 시스템의 구성과 동일하다. 따라서, 동일 구성은 동일 문자로 지정하고, 그에 대한 상세한 설명은 생략한다.
화상 처리 시스템
본 실시예에 따르면, 화상 처리 시스템은 추가의 장치를 포함한다. 도 16a는 제5 실시예에 따른 화상 처리 시스템의 구성을 도시한다. 화상 처리 시스템(1600)은, 화상 처리 장치(101), 학습 장치(102), 및 화상 처리 서버(103) 이외에 OCR 서버(1604)를 포함한다.
화상 처리 장치(101), 학습 장치(102), 및 화상 처리 서버(103)는 도 1을 참고하여 설명한 것과 동일하다. OCR 서버(1604)는 활자 OCR 유닛(1617) 및 수기 OCR 유닛(1616)으로서 기능한다.
수기 OCR 유닛(1616)은, 처리 대상 화상에 포함되는 수기 문자에 대하여 OCR을 행한다. 수기 OCR 유닛(1616)은, 화상 처리 서버(103)로부터, 처리 대상 화상과, 처리 대상 화상 내에 있으며 OCR이 실행되는 수기 문자를 포함하는 영역(이하 이 영역을 "수기 OCR 영역"이라 칭한다)에 대한 정보를 수신한다. 스캔 화상 중의 수기 OCR 영역에 대하여 OCR 처리를 행해서 텍스트 데이터를 취득한다. 수기 OCR 유닛(1616)은 당해 텍스트 데이터를 화상 처리 서버(103)에 송신한다.
활자 OCR 유닛(1617)은, 처리 대상 화상에 포함되는 활자에 대하여 OCR(광학 문자 인식)을 행할 수 있다. 활자 OCR 유닛(1617)은, 화상 처리 서버(103)로부터, 처리 대상 화상과, 처리 대상 화상 내에 있으며 OCR이 행해지는 활자를 포함하는 영역(이하 이 영역을 "활자 OCR 영역"이라 칭한다)에 대한 정보를 수신한다. 처리 대상 화상 중의 활자 OCR 대상 영역에 대하여 OCR을 행해서 텍스트 데이터를 취득한다. 당해 텍스트 데이터를 화상 처리 서버(103)에 송신한다.
이용 시퀀스
본 시스템의 이용 시퀀스에 대해서 설명한다. 도 16b는 제5 실시예에 따른 화상 처리 시스템의 이용 시퀀스를 도시한다.
S1651에서, 오퍼레이터가 처리 대상 화상의 판독 지시를 행하면, 화상 취득 유닛(111)은, 처리 대상 화상을 판독하고, 이 화상에 처리 대상 플래그를 부여한다(S1652). 판독되는 화상은, 예를 들어 도 23a에 도시되는 화상 군에 속한다. 도 23a에 나타내는 화상 군은 11 페이지째의 화상에 수기 문자(2301)를 포함한다. 화상은 도 24에 도시된 폼 원고(2400)일 수 있다. 폼 원고(2400)는 성명 기입란(1201), 주소 기입란(1202), 및 전화 번호 기입란(1203)을 포함한다. 성명, 주소, 및 전화 번호가 수기로 기입되어 있다.
S1653에서, 오퍼레이터가 검색가능 데이터의 생성 지시(변환 지시)를 행하면, 화상 취득 유닛(111)은 검색가능 데이터의 생성 지시 정보를 취득한다(S1654).
상술한 바와 같이 판독된 처리 대상 화상은, 지시 정보와 함께 화상 변환 유닛(114)에 송신된다(S1655). 이때, 송신 데이터에 ID 정보를 부여하는 것이 바람직하다.
화상 변환 유닛(114)은, 데이터를 수신하며, 수기 문자의 가공 지시를 접수한다(S1656). 이때, 화상 변환 유닛(114)은, 화상 취득 유닛(111)이 데이터의 회신처라고 기억한다. 수기 문자의 가공 지시를 접수한 화상 변환 유닛(114)은 최신의 학습 모델을 학습 유닛(113)에 요구한다(S1657). 이에 응답하여, 학습 유닛(113)은 최신의 학습 모델을 화상 변환 유닛(114)에 송신한다. 화상 변환 유닛(114)으로부터의 요구 시에 ID 정보가 지정되어 있는 경우에는, ID 정보에 대응하는 학습 모델이 송신된다(S1658). 화상 변환 유닛(114)은, 취득된 학습 모델에 기초하여, 미변환 화상으로부터 수기 문자를 추출하는 처리(식별 처리)를 행한다(S1659). 추출 처리에서 생성되고 수기 문자만을 포함하는 수기 화상을 수기 OCR 유닛(1616)에 송신한다. 수기 OCR 유닛(1616)은, 수기 화상에 수기 OCR 처리를 실시하여, 텍스트 데이터(수기)를 취득한다(S1661). 수기 OCR 유닛(1616)은, 취득한 텍스트 데이터(수기)를 화상 변환 유닛(114)에 송신한다(S1662). 계속해서, 화상 변환 유닛(114)은 처리 대상 화상으로부터 수기 문자를 제거하여 활자 화상을 생성한다(S1663). 활자 화상을 활자 OCR 유닛(1617)에 송신한다(S1664). 활자 화상을 취득한 활자 OCR 유닛(1617)은, 활자 화상에 활자 OCR 처리를 실시하여, 텍스트 데이터(활자)를 취득한다(S1665). 취득된 텍스트 데이터(활자)는 화상 변환 유닛(114)에 송신된다(S1666). 그 후, 화상 변환 유닛(114)은 적어도 텍스트 데이터(수기) 및 텍스트 데이터(활자)에 기초하여 검색가능 데이터를 생성한다(S1667). 화상 변환 유닛(114)은, 검색가능 데이터를 화상 취득 유닛(111)에 송신한다(S1668). 검색가능 PDF 데이터를 취득한 화상 취득 유닛(111)은, 검색가능 데이터가 이용되는 화면을 오퍼레이터에게 제시한다(S1669).
조작 화면
이제, 본 실시예에 따른 검색가능 데이터를 이용하는 방법에 대해서 설명한다. 도 23b는 검색가능 PDF가 조작되는 조작 화면을 도시한다.
검색가능 PDF를 취득하는 처리가 완료되면, 화상 처리 장치(101)의 표시 디바이스(210)에 조작 화면(2300)이 표시된다. 축적된 검색가능 PDF는, 검색가능 PDF가 리스트 화면(도시되지 않음)에서 지정되었을 때에, 화면에 표시될 수 있다. 조작 화면은, 상세 정보 영역(2302), 프리뷰 영역(2303), 입력란(2304), 및 검색 버튼(2305)을 포함한다.
상세 정보 영역(2302)에는, 문서명, 페이지 수, 카피 매수, 및 유저명 등의 PDF 파일의 상세 정보가 표시된다. 본 실시예에 따르면, 페이지 구성 정보도 추출된다. 따라서, 어느 페이지가 수기 문자를 포함하는지를 나타내는 정보인 "수기 포함 페이지"의 항목도 표시된다.
프리뷰 영역(2303)에는, PDF 데이터의 프리뷰 화상이 표시된다.
입력란(2304)에는, 문자가 유저 조작에 의해 자유롭게 입력될 수 있다. 문자는, 예를 들어 소프트웨어 키보드(도시되지 않음) 또는 외장형 하드웨어 키보드를 사용하여 입력된다.
검색 버튼(2305)은 PDF 데이터 내의 문자 검색을 개시하기 위해 사용된다. 입력란(2304)에 "이해하기 쉬운 표현"이 입력된 상태에서 검색 버튼(2305)이 선택되면, 프리뷰 영역(2303)에는 11페이지째의 프리뷰 화상이 표시된다. 이 프리뷰 화상에서는, 수기 문자(2301)가 강조(예를 들어, 적색 프레임에 의해 강조)된다. 강조 처리는, 화상 중의 좌표 정보(x 속성 및 y 속성, 폭 속성, 및 높이 속성)에 OCR에 의해 취득된 텍스트 데이터가 연관지어지는 것에 의해 수행된다.
데이터 생성 의뢰 처리
이제, 화상 처리 장치(101)의 데이터 생성 의뢰 처리에 대해서 설명한다. 도 17a는 데이터 생성 의뢰 처리의 플로우를 도시한다. 이 처리는, 화상 처리 장치(101)의 CPU(201)가, 스토리지(208)에 기록되어 있는 제어 프로그램을 판독하고, 제어 프로그램을 RAM(204)에 로딩하는 방식으로 수행된다. 이것은, 유저가 화상 처리 장치(101)의 입력 디바이스(209)를 사용하여 미리결정된 조작을 행할 때 개시된다.
S801 및 S802의 처리의 처리 단계는, 도 8a의 흐름도에서 동일한 참조 문자에 의해 지정되는 처리 단계와 동일하다. 본 실시예에 따르면, 처리 대상 화상의 송신에 수반하여, 검색가능 데이터 생성 처리의 의뢰 정보가 부여된다. 의뢰 정보의 예는 검색가능 PDF의 생성 의뢰 및 폼 데이터의 생성 의뢰를 포함한다.
데이터 생성 처리
이제, 화상 처리 서버(103)의 OCR 처리에 대해서 설명한다. 도 17b는 데이터 생성 처리의 플로우를 도시한다. 화상 변환 유닛(114)으로서 기능하는 화상 처리 서버(103)는, 화상 처리 장치(101)로부터 처리 대상 화상을 수신하고, 당해 스캔 화상 데이터에 포함되는 활자나 수기 문자에 대해 OCR을 수행하여 텍스트 데이터를 취득한다. 활자 OCR 유닛(1617)은 활자에 대해 OCR을 수행한다. 수기 OCR 유닛(1616)은 수기 문자에 대해 OCR을 수행한다. 도 17b는 OCR 처리의 흐름도를 도시한다. 이 처리는, CPU(261)가, 스토리지(265)에 저장되어 있는 화상 처리 서버 프로그램을 판독하고, 화상 처리 서버 프로그램을 RAM(264)에 로딩하는 방식으로 수행된다. 이것은, 유저가 화상 처리 서버(103)의 전원을 ON으로 하면 개시된다.
S851, S852, 및 S853의 처리의 처리 단계는 도 8b의 흐름도에서 동일한 참조 문자에 의해 지정되는 처리 단계와 동일하다.
CPU(261)는, S1751에서, 처리 대상 화상으로부터 수기 OCR 영역을 추출한다. CPU(261)는, S853에서 취득된 수기 추출 결과 화상에 대하여, 도 11에 도시된 흐름도의 S1107의 처리와 동일한 방식으로, 수기인 것을 나타내는 화소가 서로 연결되는 부분과 그 외접 직사각형을 추출해서 평가한다. 이에 의해, 수기 문자를 포함하는 부분 영역을 추출한다. 처리 대상 화상 내에 있으며 수기 추출 화상에서의 당해 부분 영역의 위치 및 사이즈에 대응하는 위치 및 사이즈를 갖는 영역이 수기 OCR 영역에 대응한다.
CPU(261)는, S1752에서, S1751에서 추출된 수기 OCR 영역과 처리 대상 화상을, 외부 인터페이스(268)를 통해서 수기 OCR 유닛(1616)에 송신하고, 수기 OCR을 수행한다. 수기 OCR은 공지의 기술을 사용하여 수행될 수 있다.
CPU(261)는, S1753에서, 수기 OCR 유닛(1616)으로부터, 수기 OCR 결과를 수신했는지의 여부를 판정한다. 수기 OCR 결과란, 수기 OCR 유닛(1616)이, 수기 OCR 영역에 포함되는 수기 문자를 인식함으로써 획득되는 텍스트 데이터를 의미한다. 외부 인터페이스(268)를 통해서 수기 OCR 유닛(1616)으로부터 수기 OCR 결과를 수신하는 경우, 판정의 결과는 예이며, 플로우는 S1754로 진행된다. 그렇지 않으면, S1753의 처리를 반복한다.
CPU(261)는, S1754에서, 처리 대상 화상으로부터 활자 OCR 영역을 추출한다. CPU(261)는, 처리 대상 화상에 대하여, 도 11의 흐름도의 S1102의 처리와 동일한 방식으로, 연결 흑색 화소와 그 외접 직사각형을 추출해서 평가함으로써, 활자를 포함하는 부분 영역을 추출한다. 이때, S1751에서 추출된 수기 OCR 영역을 처리 대상 화상으로부터 제외한다.
CPU(261)는, S1755에서, S1754에서 추출된 활자 OCR 영역과 처리 대상 화상을, 외부 인터페이스(268)를 통해서 활자 OCR 유닛(1617)에 송신하고, 활자 OCR을 수행한다. 활자 OCR은 공지의 기술을 사용하여 수행될 수 있다.
CPU(261)는, S1756에서, 활자 OCR 유닛(1617)으로부터, 활자 OCR 결과를 수신했는지의 여부를 판정한다. 활자 OCR 결과란, 활자 OCR 유닛(1617)이, 활자 OCR 영역에 포함되어 있는 활자를 인식함으로써 취득되는 텍스트 데이터를 의미한다. 외부 인터페이스(268)를 통해서 활자 OCR 유닛(1617)으로부터 활자 OCR 결과를 수신하는 경우, 판정의 결과는 예이며, 플로우는 S1757로 진행된다. 그렇지 않으면, S1756의 처리를 반복한다.
CPU(261)는, S1757에서, 의뢰 내용을 판정한다. 의뢰 내용이 검색가능 PDF의 생성일 경우, CPU(261)는 S1758의 처리를 수행한다. 의뢰 내용이 폼 데이터의 생성일 경우, CPU(261)는 S1760의 처리를 수행한다. 검색가능 PDF 생성 처리 및 폼 데이터 생성 처리에 대해서 상세하게 설명한다.
검색가능 PDF 생성 처리
이제, 화상 처리 서버(103)의 검색가능 PDF 생성 처리에 대해서 설명한다. 도 15a 및 도 15b는 수기 검출 결과 정보를 도시한다. 조작 화면(2100)에서 버튼(2104)이 선택된 경우, 검색가능 PDF 생성 처리가 의뢰된다. 검색가능 PDF 생성 처리는, 예를 들어 도 23b에 도시된 바와 같이, 수기 문자를 포함하는 페이지를 갖는 원고를 판독하는 때에 의뢰된다.
의뢰 내용이 검색가능 PDF 생성 처리인 경우, CPU(261)는 S1758에서 페이지 구성 정보를 생성하기 위한 처리를 행한다. CPU(261)는, 페이지 구성 정보의 하나로서, 수기 문자를 검출하는 처리를 행한다. 이 처리에서, CPU(261)는, 수기 추출 결과 화상에서, 수기인 것으로 추정된 화소가 서로 연결되는 부분을 추출한다. 이것에 외접하는 직사각형 생성하고, 각 직사각형의 형상 및 사이즈와 직사각형 사이의 거리를 평가한다. 이에 의해, 수기 단어 또는 문장 등의 수기 화소의 블록의 세트를 포함하는 직사각형이 취득될 수 있다. 당해 직사각형은 수기 영역에 대응한다. CPU(261)는, 수기 검출 결과 정보를 나타내는 XML 데이터를 생성하고, 취득된 수기 영역의 수와 동일한 수의 "<handwriting>" 태그를 삽입한다. <handwriting>의 각각의 태그에는, x 속성 및 y 속성이 추가되고, 대응하는 수기 영역의 시점 위치의 x 좌표 값 및 y 좌표 값이 기록된다. 또한, 폭 속성 및 높이 속성을 추가하고, 대응하는 수기 영역의 폭의 화소수 및 높이의 화소수를 기록한다. 이는 도 15a에 도시된다. 수기 추출 화상에 수기 화소가 포함되지 않는 경우에는, 수기 영역은 취득되지 않고, 수기 검출 결과 정보에 "<handwriting>" 태그는 삽입되지 않는다. 이는 도 15b에 도시되어 있다. 이와 같이 하여, CPU(261)는 수기 문자를 검출하고, 수기 문자를 페이지 구성 정보에 첨가한다.
CPU(261)는, S1759에서, 처리 대상 화상, OCR 결과(수기 및 활자), 및 페이지 구성 정보를 통합하여, 검색가능 PDF를 생성한다. 생성된 검색가능 PDF는, S1762에서, 화상 취득 유닛(111)에 송신된다.
폼 데이터 생성 처리
이제, 폼 데이터 생성 처리에 대해서 상세하게 설명한다. 조작 화면(2100)에서 버튼(2103)이 선택된 경우, 폼 데이터 생성 처리가 의뢰된다. 폼 데이터 생성 처리는, 예를 들어 도 24에 도시된 바와 같이, 수기 문자가 기입된 폼 원고(2400)를 판독할 때에 의뢰된다. 이 경우, S1659에서는 수기 추출 화상(2410)이 생성되며, S1663에서는 수기 제거 화상(2420)이 생성된다. 즉, 성명 기입란(1201), 주소 기입란(1202), 및 전화 번호 기입란(1203)에 기입된 수기 문자를 포함하는 영역이 수기 OCR 대상 영역으로서 추출된다. 또한, 성명 표제(1204), 주소 표제(1205), 및 전화 번호 표제(1206) 내에 인쇄된 활자를 포함하는 영역이 활자 OCR 영역으로서 추출된다.
CPU(261)는, S1760에서, 수기 OCR 유닛(1616) 및 활자 OCR 유닛(1617)으로부터 수신된 수기 OCR 결과 및 활자 OCR 결과를 통합한다.
CPU(261)는, 이전의 수기 OCR 대상 영역 및 활자 OCR 대상 영역의 위치 관계와, 수기 OCR 결과 및 활자 OCR 결과에 대응하는 텍스트 데이터의 의미적인 관계를 평가함으로써, 수기 OCR 결과와 활자 OCR 결과 사이의 관계를 추정한다. 이 추정은, 수기 좌표 테이블(2430) 및 활자 좌표 테이블(2440)에 기초한다.
성명 표제(1204) 내의 활자 OCR 대상 영역에 가장 가까운 수기 OCR 영역으로서, 성명 기입란(1201) 내의 수기 OCR 영역이 특정된다. 이에 추가로, 수기 OCR 대상 영역의 수기 OCR 결과에 대응하는 텍스트 데이터가 인명을 포함하는 문자열이라면, 이는 성명이라고 특정될 수 있다. 따라서, 활자 OCR 결과와 수기 OCR 결과를 성명에 관한 항목과 값의 쌍의 관계로서 평가한다. 마찬가지로, 주소에 관해서도, 활자 OCR 영역과 수기 OCR 영역 사이의 거리 및 수기 OCR 결과가 지명을 포함한다는 사실로부터, 이들 사이의 관계가 평가된다. 전화 번호에 관해서도, 활자 OCR 영역과 수기 OCR 영역 사이의 거리 및 수기 OCR 결과가 숫자로 구성된다는 사실로부터, 이들 사이의 관계가 평가된다. 이렇게 해서, 수기 OCR 결과와 활자 OCR 결과가 하나 이상의 항목과 값의 쌍으로 통합되고, 폼 데이터(2450)(테이블 데이터)가 생성된다(S1761). 생성된 폼 데이터는, S1762에서, 화상 취득 유닛(111)에 송신된다. 폼 데이터는, 가공될 수 있는 문서 데이터로서 예를 들어 사무 처리에 사용된다.
비고
이상 본 실시예에 따라 설명한 바와 같이, 신경망의 학습 결과를 사용함으로써 처리 대상 화상으로부터 유익한 정보를 추출할 수 있다. 예를 들어, 스캔 화상 데이터로부터 수기 OCR 영역을 추출하고, 수기 OCR을 행할 수 있다. 수기 OCR 영역을 추출하고 수기 OCR 처리에 입력하여 처리할 수 있으며, 폼마다 수기 OCR 영역을 사전에 등록할 필요가 없다. 사전에 등록될 수 없는 불규칙한 폼에 대해서, 수기 OCR 영역을 추출하고 수기 OCR 처리에 입력해서 처리할 수 있으며, 사람이 수기 OCR 영역을 지정할 필요가 없다. 또한, 스캔 화상 데이터로부터 수기를 추출함으로써, 원고로부터 수기를 포함하는 원고를 검출할 수 있다. 따라서, 교정 원고와 같이 많은 불규칙한 원고로부터 수기를 포함하는 원고를 용이하게 검출할 수 있다.
다른 실시예
본 개시내용은, 상기 실시예에 따른 하나 이상의 기능을 수행하는 프로그램을, 네트워크 또는 저장 매체를 통해서 시스템 또는 장치에 제공하고, 그 시스템 또는 장치의 컴퓨터의 하나 이상의 프로세서가 프로그램을 판독 및 실행하는 방식으로 실행될 수도 있다. 본 개시내용은 또한 하나 이상의 기능을 수행하는 회로(예를 들어, ASIC)에 의해서도 실행될 수 있다.
본 개시내용은 복수의 기기를 포함하는 시스템 또는 단일 기기를 포함하는 장치를 위해 사용될 수 있다. 예를 들어, 실시예에 따르면, 학습 장치(102)는 학습 데이터 생성 유닛(112) 및 학습 유닛(113)으로서 기능한다. 그러나, 다른 장치가 학습 데이터 생성 유닛(112) 및 학습 유닛(113)으로서 별도로 기능할 수 있다. 이 경우, 학습 데이터 생성 유닛(112)으로서 기능하는 장치는, 학습 데이터 생성 유닛(112)에 의해 생성된 학습 데이터를, 학습 유닛(113)으로서 기능하는 장치에 송신한다. 학습 유닛(113)은 수신된 학습 데이터에 기초하여 신경망을 학습한다. 상기 설명에서는, 화상 처리 장치(101)와 화상 처리 서버(103)는 상이한 장치이다. 그러나, 화상 처리 장치(101)는 화상 처리 서버(103)의 기능을 가질 수 있다. 상기 설명에서는, 화상 처리 서버(103) 및 OCR 서버는 상이한 장치이다. 그러나, 화상 처리 서버(103)는 OCR 서버의 기능을 가질 수 있다.
본 개시내용은 상기 실시예로 한정되지 않는다. 다양한 변형(실시예의 유기적인 조합을 포함)이 본 개시내용의 사상에 기초하여 이루어질 수 있으며 본 개시내용의 범위로부터 제외되지 않는다. 즉, 본 개시내용은 상기 실시예 및 변형의 모든 조합을 포함한다.
실시예에 따르면, 학습 데이터는 학습 데이터 생성 처리에서 생성된다. 그러나, 사전에 학습 데이터 생성 처리에서 대량의 학습 데이터를 생성할 수 있으며, 학습 처리 동안 그로부터 언제라도 미니-배치 사이즈의 학습 데이터를 샘플링할 수 있다.
실시예에 따르면, 입력 화상은 그레이스케일 화상으로서 생성된다. 그러나, 입력 화상은 풀컬러 화상 등의 다른 형식을 갖는 화상으로서 생성될 수 있다.
실시예에 따르면, 전경 샘플 화상으로서 수기 문자 화상을 사용함으로써 수기 문자를 검출하기 위한 학습 처리를 행한다. 그러나, 전경 샘플 화상으로서 다른 화상을 사용해도 된다. 예를 들어, 전경 샘플 화상으로서 압인이 이루어진 원고의 화상을 촬상할 수 있다. 이에 의해, 압인의 검출이 가능한 신경망을 생성할 수 있다. 전경 화상을 취득하기 위해 박지를 인쇄면의 반대측의 이면으로부터 스캔할 수 있고, 이를 전경 샘플 화상으로서 사용할 수 있다. 이에 의해, 비쳐 보임 화소(show-through pixel)의 검출이 가능한 신경망을 생성할 수 있다.
실시예에 따르면, 학습 데이터로서 도 14a에 도시되는 화상의 쌍을 사용하여 학습한다. 그러나, 상이한 종류의 화상 쌍이 학습에 사용될 수 있다. 예를 들어, 도 14b에 도시된 화상의 쌍이 학습 데이터로서 사용될 수 있다. 도 14b는 학습 데이터의 변형예를 도시한다. 도 14b에 도시되는 바와 같이, 입력 화상의 수기 문자의 직사각형 영역을 흑색으로 채워서 얻은 정해 라벨 화상이 등록된다. 이러한 학습 데이터에 의하면, 수기 문자의 직사각형 영역을 추출할 수 있는 학습을 행할 수 있다. 수기 문자의 직사각형 영역의 검출은 수기 문자의 제거 등의 광범위한 가공이 행해질 수 있게 한다. 도 14c에 도시된 화상의 쌍을 학습 데이터로서 사용할 수 있다. 도 14c에 도시된 바와 같이, 입력 화상의 수기 문자를 강조하여 얻은 정해 라벨 화상이 등록되어 있다. 이러한 학습 데이터에 의하면, 수기 문자를 강조하기 위한 학습을 행할 수 있다. 즉, 학습 데이터는 도 14a의 학습 데이터와 달리 범용성은 없지만, 적은 단계 수로 수기 문자가 강조된 화상을 취득할 수 있다. 도 14d에 도시한 바와 같은 화상의 쌍이 학습 데이터로서 사용될 수 있다. 도 14d에 도시된 바와 같이, 입력 화상에서 수기 문자를 삭제하여 얻은 정해 라벨 화상이 등록되어 있다. 이러한 학습 데이터에 의하면, 수기 문자를 삭제하기 위한 학습을 행할 수 있다. 즉, 학습 데이터는 도 14a의 학습 데이터와 달리 범용성은 없지만, 적은 단계수로 수기 문자가 삭제된 화상을 취득할 수 있다. 도 14c 및 도 14d에 도시된 데이터에 의한 화상 변환에서는, S701의 FCN 대신에, 화상-대-화상(Image-to-Image)이라 불리는 신경망 기술을 사용한다.
실시예에서 설명되는 약어의 정의는 다음과 같다. MFP는 복합기(multi-function peripheral)의 약어다. ASIC는 주문형 집적 회로(application specific integrated circuit)의 약어이다. CPU는 중앙 처리 유닛(central processing unit)의 약어이다. RAM은 랜덤-액세스 메모리(random-access memory)의 약어이다. ROM은 리드 온리 메모리(read only memory)의 약어이다. HDD는 하드 디스크 드라이브(hard disk drive)의 약어이다. SSD는 솔리드 스테이트 드라이브(solid state drive)의 약어이다. LAN은 근거리 네트워크(local area network)의 약어이다. PDL은 페이지 기술 언어(page description language)의 약어이다. PDF는 포터블 문서 포맷(portable document format)의 약어이다. OS는 운영 체제(operating system)의 약어이다. PC는 개인용 컴퓨터(personal computer)의 약어이다. OCR은 광문자 인식 또는 판독기(optical character recognition or reader)의 약어이다. CCD는 전하 결합 디바이스(charge-coupled device)의 약어이다. LCD는 액정 디스플레이(liquid crystal display)의 약어이다. ADF는 자동 문서 공급기(auto document feeder)의 약어이다. CRT는 음극선관(cathode ray tube)의 약어이다. DPI는 1인치당 도트(dots per inch)의 약어이다. GPU는 그래픽 처리 유닛(graphics processing unit)의 약어이다. ID는 식별(identification)의 약어이다.
다른 실시예
본 개시내용의 실시예(들)는, 전술한 실시예(들) 중 하나 이상의 기능을 실행하기 위해 저장 매체(보다 완전하게는 '비일시적 컴퓨터 판독가능 저장 매체'라 칭할수도 있음)에 기록된 컴퓨터 실행가능 명령어(예를 들어, 하나 이상의 프로그램)를 판독 및 실행하고 그리고/또는 전술한 실시예(들) 중 하나 이상의 기능을 실행하는 하나 이상의 회로(예를 들어, 주문형 집적 회로(ASIC))를 포함하는 시스템 또는 장치의 컴퓨터에 의해, 그리고 예를 들어 전술한 실시예(들) 중 하나 이상의 기능을 실행하기 위해 저장 매체로부터 컴퓨터 실행가능 명령어를 판독 및 실행함으로써 그리고/또는 전술한 실시예(들) 중 하나 이상의 기능을 실행하기 위해 하나 이상의 회로를 제어함으로써 상기 시스템 또는 장치의 컴퓨터에 의해 실행되는 방법에 의해 실현될 수도 있다. 컴퓨터는 하나 이상의 프로세서(예를 들어, 중앙 처리 유닛(CPU), 마이크로 처리 유닛(MPU))를 포함할 수 있고 컴퓨터 실행가능 명령어를 판독 및 실행하기 위한 별도의 컴퓨터 또는 별도의 프로세서의 네트워크를 포함할 수 있다. 컴퓨터 실행가능 명령어는 예를 들어 네트워크 또는 저장 매체로부터 컴퓨터에 제공될 수 있다. 저장 매체는, 예를 들어 하드 디스크, 랜덤 액세스 메모리(RAM), 리드 온리 메모리(ROM), 분산형 컴퓨팅 시스템의 스토리지, 광디스크(예를 들어, 콤팩트 디스크(CD), 디지털 다기능 디스크(DVD) 또는 블루레이 디스크(BD)TM), 플래시 메모리 디바이스, 메모리 카드 등 중 하나 이상을 포함할 수 있다.
(기타의 실시예)
본 발명은, 상기의 실시형태의 1개 이상의 기능을 실현하는 프로그램을, 네트워크 또는 기억 매체를 개입하여 시스템 혹은 장치에 공급하고, 그 시스템 혹은 장치의 컴퓨터에 있어서 1개 이상의 프로세서가 프로그램을 읽어 실행하는 처리에서도 실현가능하다.
또한, 1개 이상의 기능을 실현하는 회로(예를 들어, ASIC)에 의해서도 실행가능하다.
본 개시내용을 예시적인 실시예를 참고하여 설명하였지만, 본 개시내용은 개시된 예시적인 실시예로 한정되지 않음을 이해해야 한다. 이하의 청구항의 범위는 이러한 모든 변형과 동등한 구조 및 기능을 포함하도록 최광의로 해석되어야 한다.

Claims (14)

  1. 하나 이상의 프로세서에 의해 수행되는 화상 처리 방법으로서,
    배경 화상과 수기 화상이 여백 영역을 사이에 둔 상태로 배열되도록 상기 배경 화상과 상기 수기 화상의 조합에 기초하여 합성 화상 데이터를 생성하는 단계;
    상기 생성된 합성 화상 데이터에 대응하며 수기 추출을 위한 미리결정된 화상 처리에 대응하는 정해 화상 데이터를 생성하는 단계;
    상기 생성된 합성 화상 데이터와 상기 생성된 정해 화상 데이터를 사용하여 신경망을 학습시키는 단계;
    수기 문자를 포함하는 원고의 촬상 화상을 취득하는 단계; 및
    상기 신경망을 사용하여 상기 촬상 화상에 대해 상기 수기 추출을 위한 상기 미리결정된 화상 처리를 수행하는 단계를 포함하는, 화상 처리 방법.
  2. 제1항에 있어서,
    상기 미리결정된 화상 처리에서는, 상기 촬상 화상의 화소로부터 상기 수기 문자의 화소 위치가 추출되는, 화상 처리 방법.
  3. 제1항에 있어서,
    상기 미리결정된 화상 처리에서는, 상기 촬상 화상으로부터 상기 수기 문자를 포함하는 직사각형 영역이 추출되는, 화상 처리 방법.
  4. 제1항에 있어서,
    상기 미리결정된 화상 처리에서는, 상기 촬상 화상 중의 상기 수기 문자를 강조함으로써 화상이 생성되는, 화상 처리 방법.
  5. 제1항에 있어서,
    상기 미리결정된 화상 처리에서는, 상기 촬상 화상 중의 상기 수기 문자를 제거함으로써 화상이 생성되는, 화상 처리 방법.
  6. 제2항에 있어서,
    상기 촬상 화상의 화소들로부터 추출된 상기 수기 문자의 화소 위치에 기초하여, 상기 촬상 화상 중의 상기 수기 문자를 제거함으로써 화상을 생성하는 단계를 더 포함하는, 화상 처리 방법.
  7. 제2항에 있어서,
    상기 촬상 화상의 화소들로부터 추출된 상기 수기 문자의 화소 위치에 기초하여, 상기 촬상 화상으로부터 수기 OCR 처리가 실시될 영역을 특정하는 단계를 더 포함하는, 화상 처리 방법.
  8. 제2항에 있어서,
    상기 촬상 화상의 화소들로부터 추출된 상기 수기 문자의 화소 위치에 기초하여, 상기 촬상 화상이 상기 수기 문자를 포함하는 것을 나타내는 정보를 저장 영역에 저장하는 단계를 더 포함하는, 화상 처리 방법.
  9. 제1항에 있어서,
    상기 배경 화상은 배경 샘플 화상의 일부를 잘라냄으로써 생성되고,
    상기 수기 화상은 수기 샘플 화상의 일부를 잘라냄으로써 생성되는, 화상 처리 방법.
  10. 하나 이상의 프로세서에 의해 수행되는 화상 처리 방법으로서,
    수기 화상이 배경 샘플 화상에 포함된 여백 영역과 합성되도록 상기 배경 샘플 화상과 상기 수기 화상의 조합에 기초하여 합성 화상 데이터를 생성하는 단계;
    상기 생성된 합성 화상 데이터에 대응하고 수기 추출을 위한 미리결정된 화상 처리에 대응하는 정해 화상 데이터를 생성하는 단계;
    상기 생성된 합성 화상 데이터 및 상기 생성된 정해 화상 데이터를 사용하여 신경망을 학습시키는 단계;
    수기 문자를 포함하는 원고의 촬상 화상을 취득하는 단계; 및
    상기 신경망을 사용하여 상기 촬상 화상에 대해 상기 수기 추출을 위한 상기 미리결정된 화상 처리를 수행하는 단계를 포함하는, 화상 처리 방법.
  11. 화상 처리 시스템으로서,
    명령어를 저장하는 적어도 하나의 메모리; 및
    적어도 하나의 프로세서를 포함하고,
    상기 프로세서는, 상기 명령어의 실행에 의해,
    배경 화상과 수기 화상이 여백 영역을 사이에 둔 상태로 배열되도록 상기 배경 화상과 상기 수기 화상의 조합에 기초하여 합성 화상 데이터를 생성하고;
    상기 생성된 합성 화상 데이터에 대응하며 수기 추출을 위한 미리결정된 화상 처리에 대응하는 정해 화상 데이터를 생성하고;
    상기 생성된 합성 화상 데이터와 상기 생성된 정해 화상 데이터를 사용하여 신경망을 학습시키고;
    수기 문자를 포함하는 원고의 촬상 화상을 취득하고;
    상기 신경망을 사용하여 상기 촬상 화상에 대해 상기 수기 추출을 위한 상기 미리결정된 화상 처리를 수행하도록 구성된, 화상 처리 시스템.
  12. 화상 처리 시스템으로서,
    명령어를 저장하는 적어도 하나의 메모리; 및
    적어도 하나의 프로세서를 포함하고,
    상기 프로세서는, 상기 명령어의 실행에 의해,
    수기 화상이 배경 샘플 화상에 포함된 여백 영역과 합성되도록 상기 배경 샘플 화상과 상기 수기 화상의 조합에 기초하여 합성 화상 데이터를 생성하고;
    상기 생성된 합성 화상 데이터에 대응하고 수기 추출을 위한 미리결정된 화상 처리에 대응하는 정해 화상 데이터를 생성하고;
    상기 생성된 합성 화상 데이터 및 상기 생성된 정해 화상 데이터를 사용하여 신경망을 학습시키고;
    수기 문자를 포함하는 원고의 촬상 화상을 취득하고; 및
    상기 신경망을 사용하여 상기 촬상 화상에 대해 상기 수기 추출을 위한 상기 미리결정된 화상 처리를 수행하도록 구성된, 화상 처리 시스템.
  13. 삭제
  14. 삭제
KR1020190169381A 2018-12-19 2019-12-18 화상 처리 방법 및 화상 처리 시스템 KR102613255B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018237512A JP7262993B2 (ja) 2018-12-19 2018-12-19 画像処理システム、画像処理方法、画像処理装置
JPJP-P-2018-237512 2018-12-19

Publications (2)

Publication Number Publication Date
KR20200076627A KR20200076627A (ko) 2020-06-29
KR102613255B1 true KR102613255B1 (ko) 2023-12-14

Family

ID=68731833

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190169381A KR102613255B1 (ko) 2018-12-19 2019-12-18 화상 처리 방법 및 화상 처리 시스템

Country Status (4)

Country Link
US (1) US11341733B2 (ko)
EP (1) EP3671539B1 (ko)
JP (1) JP7262993B2 (ko)
KR (1) KR102613255B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10984558B2 (en) * 2019-05-09 2021-04-20 Disney Enterprises, Inc. Learning-based sampling for image matting
US11061626B2 (en) * 2019-05-24 2021-07-13 Kyocera Document Solutions Inc. Machine learning printer control system including pre-press action predictor
CN113743360B (zh) * 2021-09-16 2024-03-05 京东科技信息技术有限公司 智能化印章解析的方法和装置
CN113869168B (zh) * 2021-09-18 2022-06-28 珠海读书郎软件科技有限公司 一种融合笔尖轨迹和书写墨迹的实时文字识别方法
CN114333038B (zh) * 2022-03-03 2022-06-07 百度在线网络技术(北京)有限公司 对象识别模型的训练方法和对象识别方法、装置、设备
CN116051366A (zh) * 2023-02-28 2023-05-02 北京字跳网络技术有限公司 一种图像处理方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080144131A1 (en) * 2006-12-14 2008-06-19 Samsung Electronics Co., Ltd. Image forming apparatus and method of controlling the same
US20080240569A1 (en) * 2007-03-29 2008-10-02 Kabushiki Kaisha Toshiba Character input apparatus and method and computer readable storage medium
US20100095204A1 (en) * 2008-09-18 2010-04-15 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5744879A (en) 1980-08-30 1982-03-13 Matsushita Electric Works Ltd Timepiece with automatic date correction type calendar
US6931589B2 (en) * 2001-11-29 2005-08-16 Orbograph Ltd. Distributed document processing
JP2006092027A (ja) 2004-09-21 2006-04-06 Fuji Xerox Co Ltd 文字認識装置、文字認識方法および文字認識プログラム
US7617164B2 (en) * 2006-03-17 2009-11-10 Microsoft Corporation Efficiency of training for ranking systems based on pairwise training with aggregated gradients
US8482827B2 (en) * 2009-06-03 2013-07-09 Hewlett-Packard Development Company, L.P. Annotation on media sheet indicating functionality to be performed in relation to image on media sheet
US8442319B2 (en) 2009-07-10 2013-05-14 Palo Alto Research Center Incorporated System and method for classifying connected groups of foreground pixels in scanned document images according to the type of marking
US8452086B2 (en) 2009-07-10 2013-05-28 Palo Alto Research Center Incorporated System and user interface for machine-assisted human labeling of pixels in an image
JP6140946B2 (ja) 2012-07-26 2017-06-07 キヤノン株式会社 文字認識システム及び文字認識装置
WO2014184417A1 (en) * 2013-05-13 2014-11-20 Nokia Corporation Method, apparatus and computer program product to represent motion in composite images
JP6373664B2 (ja) * 2014-07-09 2018-08-15 株式会社東芝 電子機器、方法及びプログラム
US9977976B2 (en) * 2016-06-29 2018-05-22 Konica Minolta Laboratory U.S.A., Inc. Path score calculating method for intelligent character recognition
JP2018185552A (ja) 2017-04-24 2018-11-22 公益財団法人鉄道総合技術研究所 画像解析装置および画像解析方法、ならびにプログラム
US10764448B1 (en) * 2019-04-24 2020-09-01 Kyocera Document Solutions Inc. Information processing apparatus and image forming apparatus performing file conversion of handwriting comment and comment extraction method
US11568623B2 (en) * 2019-08-22 2023-01-31 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and storage medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080144131A1 (en) * 2006-12-14 2008-06-19 Samsung Electronics Co., Ltd. Image forming apparatus and method of controlling the same
US20080240569A1 (en) * 2007-03-29 2008-10-02 Kabushiki Kaisha Toshiba Character input apparatus and method and computer readable storage medium
US20100095204A1 (en) * 2008-09-18 2010-04-15 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium

Also Published As

Publication number Publication date
EP3671539B1 (en) 2024-09-04
JP7262993B2 (ja) 2023-04-24
KR20200076627A (ko) 2020-06-29
EP3671539A1 (en) 2020-06-24
JP2020101843A (ja) 2020-07-02
US11341733B2 (en) 2022-05-24
US20200202155A1 (en) 2020-06-25

Similar Documents

Publication Publication Date Title
KR102613255B1 (ko) 화상 처리 방법 및 화상 처리 시스템
US8320019B2 (en) Image processing apparatus, image processing method, and computer program thereof
JP7387339B2 (ja) 画像処理システム、画像処理方法、及びプログラム
US8355578B2 (en) Image processing apparatus, image processing method, and storage medium
CN111385424B (zh) 图像处理系统和图像处理方法
JP4960817B2 (ja) 画像処理装置、および画像処理方法
JP2009294788A (ja) 情報処理装置、情報処理方法、制御プログラム及び記録媒体
US9973654B1 (en) Methods and devices for enhancing edges of a graphic object
US9614984B2 (en) Electronic document generation system and recording medium
JP2021179848A (ja) 画像処理システム、画像処理方法、及びプログラム
US8355577B2 (en) Image processing apparatus and method
US10609249B2 (en) Scanner and scanning control program which outputs an original image and an extracted image in a single file
US8181108B2 (en) Device for editing metadata of divided object
JP7379876B2 (ja) 文字認識装置、文書ファイル生成方法、文書ファイル生成プログラム
US10602019B2 (en) Methods and systems for enhancing image quality for documents with highlighted content
JP7379063B2 (ja) 画像処理システム、画像処理方法、及びプログラム
US11693825B2 (en) Information processing apparatus, control method, and recording medium storing program
JP2020099031A (ja) 情報処理装置、及び情報処理方法
JP2020099030A (ja) 情報処理装置、及び情報処理方法
JP5464157B2 (ja) 画像処理装置及び画像処理プログラム
JP2021131784A (ja) 画像処理システム、プログラム、画像処理方法
JP5935376B2 (ja) 複写装置
JP2023015483A (ja) 画像処理装置、画像処理システム、画像処理方法、及びプログラム
JP2006018509A (ja) 文書管理支援装置
JP2021033577A (ja) 画像処理システムと画像処理方法、及びプログラム

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right