JP2021039424A - 画像処理システム、画像処理方法、及びプログラム - Google Patents

画像処理システム、画像処理方法、及びプログラム Download PDF

Info

Publication number
JP2021039424A
JP2021039424A JP2019158665A JP2019158665A JP2021039424A JP 2021039424 A JP2021039424 A JP 2021039424A JP 2019158665 A JP2019158665 A JP 2019158665A JP 2019158665 A JP2019158665 A JP 2019158665A JP 2021039424 A JP2021039424 A JP 2021039424A
Authority
JP
Japan
Prior art keywords
image
handwritten
image processing
learning
cpu
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2019158665A
Other languages
English (en)
Other versions
JP7387339B2 (ja
JP2021039424A5 (ja
Inventor
裕介 村松
Yusuke Murakami
裕介 村松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2019158665A priority Critical patent/JP7387339B2/ja
Priority to US16/997,792 priority patent/US11574489B2/en
Publication of JP2021039424A publication Critical patent/JP2021039424A/ja
Publication of JP2021039424A5 publication Critical patent/JP2021039424A5/ja
Application granted granted Critical
Publication of JP7387339B2 publication Critical patent/JP7387339B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • 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
    • 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
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/148Segmentation of character regions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/1914Determining representative reference patterns, e.g. averaging or distorting patterns; Generating dictionaries, e.g. user dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19173Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink
    • G06V30/333Preprocessing; Feature extraction
    • 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/32Digital ink
    • G06V30/36Matching; Classification
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

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

Abstract

【課題】 図形情報があらかじめ登録されていない原稿については手書き文字の抽出を正確に行うことができない。
【解決手段】 手書き画像を取得する第1の取得手段と、
背景画像を取得する第2の取得手段と、
前記第1の取得手段によって取得された手書き画像と前記第2の取得手段によって取得された背景画像とを合成して合成画像を生成する合成手段と、
前記第1の取得手段によって取得された手書き画像から作成した正解ラベルと前記合成手段によって生成された合成画像とを学習データとして学習を行う学習手段と、
前記学習データに基づいて手書き画素を抽出する抽出手段とを有することを特徴とする画像処理システム。
【選択図】 図5

Description

本発明は、画像処理システム、画像処理方法、及びプログラムに関する。
近年、コンピュータの普及に伴う労働環境の変化により、業務資料の電子化が進んでいる。こうした電子化の対象は手書き文字が記入された文書にも及んでおり、手書き文字を抽出する技術が検討されている。
特許文献1では、保険書類点検において手書き領域を抽出し、その内容の文字認識の可否により人手によるチェックの回数を変える技術を開示している。この技術によれば、印刷文書の手書き領域に記入された、情報価値のある手書き文字を抽出することが可能となる。
特開2010−122791号公報
しかしながら、特許文献1の技術は、あらかじめ登録しておいた図形情報を用いて手書き文字の抽出をおこなうため、図形情報があらかじめ登録されていない原稿については手書き文字の抽出を正確に行うことができない。
本発明は、上述した課題に鑑みてなされたものであり、あらかじめ登録されていない図形が含まれる原稿の読取画像からでも、手書きされた個所に対して画像処理を行うことのできる仕組みを提供することを目的とする。
手書き画像を取得する第1の取得手段と、背景画像を取得する第2の取得手段と、前記第1の取得手段によって取得された手書き画像と前記第2の取得手段によって取得された背景画像とを合成して合成画像を生成する合成手段と、前記第1の取得手段によって取得された手書き画像から作成した正解ラベルと前記合成手段によって生成された合成画像とを学習データとして学習を行う学習手段と、前記学習データに基づいて手書き画素を抽出する抽出手段とを有することを特徴とする。
本発明によれば、あらかじめ登録されていない図形が含まれる原稿の読取画像からでも、手書きされた個所に対して画像処理を行うことができる。
画像処理システムの構成を示した図である。 画像処理装置および学習装置、画像処理サーバのハードウェア構成例を示すブロック図である。 学習装置の論理的な構成の概略を示したブロック図である。 実施例1における学習処理のフローチャートである。 実施例1における学習データ生成処理のフローチャートである。 実施例1における前景元画像の一例を示す図である。 実施例1における背景元画像の一例を示す図である。 実施例1における学習データ生成処理で作成される学習データの一例を示す図である。 実施例1におけるOCR依頼処理およびOCR処理および手書きOCR対象領域抽出処理のフローチャートである。 実施例1における処理対象画像の一例、および処理対象画像から手書き画素を推定した結果を示す図である。 実施例1における手書き抽出画像、および背景抽出画像を示す図である。 実施例1における手書きOCR対象領域、および活字OCR対象領域を示す図である。 実施例2における学習データ生成処理のフローチャートである。 実施例2における背景元画像と合成領域情報の一例を示す図である。 実施例2における前景元画像の一例を示す図である。 実施例2における学習データ生成処理で作成される学習データの一例を示す図である。 実施例3における学習データ生成処理のフローチャートである。 実施例3における背景元画像と合成領域情報の一例を示す図である。 実施例3における前景元画像の一例を示す図である。 実施例3における学習データ生成処理で作成される学習データの一例を示す図である。 実施例3におけるOCR処理のフローチャートである。 実施例3における処理対象画像の一例、および処理対象画像から手書き画素を推定した結果を示す図である。 実施例3における背景抽出画像、手書き文字抽出画像、手書き丸抽出画像、および手書きチェック抽出画像を示す図である。 実施例3における活字OCR対象領域、手書きOCR対象領域、手書き丸の外接矩形、および手書きチェックの外接矩形を示す図である。 本発明の有用性を検証する実験結果を示す表である。
以下、本発明を実施するための形態について図面を用いて説明する。
(実施例1)
以下、合成して生成した学習データを用いて学習した手書き抽出を行うニューラルネットワークを用いて、手書き記入された帳票から手書き文字を抽出し、記入内容に対して文字認識処理(OCR処理)を実行してデータベースに保存する方法について説明する。なお、OCRは、Optical Character Recognition/Readerの略である。
図1は、本実施例にかかる画像処理システムの構成を示した図である。
画像処理システム100は、画像処理装置101、学習装置102、画像処理サーバ103、活字OCRサーバ104、手書きOCRサーバ105、DBサーバ106を含む。画像処理装置101と学習装置102、画像処理サーバ103、活字OCRサーバ104、手書きOCRサーバ105、DBサーバ106は、ネットワーク107を介して接続されている。
画像処理装置101は、デジタル複合機などであり、印刷機能やスキャン機能を有する。画像処理装置101は、白紙に手書きのみが記入された原稿をスキャン機能によりスキャンして画像データを生成する(以降、この画像を「前景元画像」と呼称する)。複数枚の原稿をスキャンして前景元画像を複数得る。一方、画像処理装置101は、電子文書を印刷し印刷原稿を出力する。さらにこの印刷原稿をスキャンして画像データを生成する(以降この画像を「背景元画像」と呼称する)。複数の印刷原稿をスキャンして、背景元画像を複数得る。画像処理装置101は、ネットワーク107を介して、前景元画像と背景元画像を学習装置102に送信する。また、画像処理装置101は、手書き抽出を行う際に、手書きが含まれる原稿をスキャンして処理対象とするスキャン画像データ得る(以降このスキャン画像データを「処理対象画像」と呼称する)。そして、処理対象画像を、ネットワーク107を介して、画像処理サーバ103に送信する。
学習装置102は、画像処理装置101が生成した前景元画像と背景元画像とから、手書き抽出を行うニューラルネットワークを学習するための学習データを生成する。そして、生成した学習データを用いてニューラルネットワークの学習を行って、学習結果(ニューラルネットワークのパラメータなど)を生成する。学習装置102は、学習結果を、ネットワーク107を介して、画像処理サーバ103に送信する。
画像処理サーバ103は、画像処理装置101が生成した処理対象画像に対して手書き抽出を行う。この際、画像処理装置101は、学習装置102が生成した学習結果を用いることで、ニューラルネットワークにより推論して処理対象画像中の手書きの画素を抽出する。そして、画像処理サーバ103は、抽出結果を基に活字OCRの対象とする領域と手書きOCRの対象とする領域を判定し、それらを処理対象画像と共に活字OCRサーバ104と手書きOCRサーバ105に送信する。
活字OCRサーバ104は、処理対象画像含まれる活字に対してOCR(光学文字認識)を行うことができる。活字OCRサーバ104は、画像処理サーバ103より、処理対象画像と、処理対象画像上の領域であってOCRの対象とする活字を含む領域(以降この領域を「活字OCR対象領域」と呼称する)の情報を受信する。そして、処理対象画像中の活字OCR対象領域に対してOCRを行ってテキストデータを取得する。当該テキストデータを画像処理サーバ103に送信する。
手書きOCRサーバ105は、処理対象画像に含まれる手書き文字に対してOCRを行うことができる。手書きOCRサーバ105は、画像処理サーバ103より、処理対象画像と、処理対象画像上の領域であってOCRの対象とする手書き文字を含む領域(以降この領域を「手書きOCR対象領域」と呼称する)の情報を受信する。そして、スキャン画像中の手書きOCR対象領域に対してOCRを行ってテキストデータを取得する。当該テキストデータを画像処理サーバ103に送信する。
DBサーバ106は画像処理サーバ103より送信された帳票の記入内容を、データベースに保存する。こうして保存された情報は他のシステムから参照できるようになる。
図2は、画像処理装置101および学習装置102、画像処理サーバ103のハードウェア構成例を示すブロック図である。尚、活字OCRサーバ104、手書きOCRサーバ105、DBサーバ106のハードウェア構成は画像処理サーバ103と同様とし、説明を省略する。
図2(a)の画像処理装置101は、次を備える。CPU201、ROM202、RAM204、プリンタデバイス205、スキャナデバイス206、原稿搬送デバイス207、ストレージ208、入力デバイス209、表示デバイス210、及び外部インタフェース211を備える。各デバイスは、データバス203によって相互通信可能に接続されている。
CPU201は、画像処理装置101を統括的に制御するためのコントローラである。CPU201は、ROM202に格納されているブートプログラムによりOS(オペレーティングシステム)を起動する。このOS上で、ストレージ208に記憶されているコントローラプログラムが実行される。コントローラプログラムは、画像処理装置101を制御するためのプログラムである。CPU201は、データバス203によって接続されている各デバイスを統括的に制御する。RAM204は、CPU201の主メモリやワークエリア等の一時記憶領域として動作する。
プリンタデバイス205は、画像データを用紙(記録材)上に印刷するものである。これには感光体ドラムや感光体ベルトなどを用いた電子写真印刷方式や、微小ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式などがあるが、どの方式でもかまわない。スキャナデバイス206は、CCDなどの光学読取装置を用いて紙などの原稿上の走査を行い、電気信号データを得てこれを変換し、スキャン画像データを生成する。また、ADF(オート・ドキュメント・フィーダ)などの原稿搬送デバイス207は、原稿搬送デバイス207上の原稿台に載置された原稿を1枚ずつスキャナデバイス206に搬送する。
ストレージ208は、HDDなどの、読み出しと書き込みが可能な不揮発メモリであり、ここには、前述のコントローラプログラムなど、様々なデータが記録される。入力デバイス209は、タッチパネルやハードキーなどから構成さる入力装置である。入力デバイス209は、ユーザの操作指示を受け付ける。そして、指示位置を含む指示情報をCPU201に伝達する。表示デバイス210は、LCDやCRTなどの表示装置である。表示デバイス210は、CPU201が生成した表示データを表示する。CPU201は、入力デバイス209より受信した指示情報と、表示デバイス210に表示させている表示データとから、いずれの操作が成されたかを判定する。そしてこの判定結果に応じて、画像処理装置101を制御するとともに、新たな表示データを生成し表示デバイス210に表示させる。
外部インタフェース211は、LANや電話回線、赤外線といった近接無線などのネットワークを介して、外部機器と、画像データをはじめとする各種データの送受信を行う。外部インタフェース211は、学習装置102やPC(不図示)などの外部機器より、PDLデータを受信する。CPU201は、外部インタフェース211が受信したPDLデータを解釈し、画像を生成する。生成した画像は、プリンタデバイス205により印刷したり、ストレージ108に記憶したりする。また、外部インタフェース211は、画像処理サーバ103などの外部機器より画像データを受信する。受信した画像データをプリンタデバイス205により印刷したり、ストレージ108に記憶したり、外部インタフェース211により、他の外部機器に送信したりする。
図2(b)の学習装置102は、CPU231、ROM232、RAM234、ストレージ235、入力デバイス236、表示デバイス237、外部インタフェース238、GPU239を備える。各部は、データバス233を介して相互にデータを送受信することができる。
CPU231は、学習装置102の全体を制御するためのコントローラである。CPU231は、不揮発メモリであるROM232に格納されているブートプログラムによりOSを起動する。このOSの上で、ストレージ235に記憶されている学習データ生成プログラムおよび学習プログラムを実行する。CPU231が学習データ生成プログラムを実行することより、学習データを生成する。また、CPU231が学習プログラムを実行することにより、手書き抽出を行うニューラルネットワークを学習する。CPU231は、データバス233などのバスを介して各部を制御する。
RAM234は、CPU231のメインメモリやワークエリア等の一時記憶領域として動作するものである。ストレージ235は、読み出しと書き込みが可能な不揮発メモリであり、前述の学習データ生成プログラムや学習プログラムを記録する。
入力デバイス236は、マウスやキーボードなどから構成さる入力装置である。表示デバイス237は、図2(a)を用いて説明した表示デバイス210と同様である。
外部インタフェース238は、図2(a)を用いて説明した外部インタフェース211と同様である。
GPU239は、画像処理プロセッサであり、CPU231と協調して画像データの生成やニューラルネットワークの学習を行う。
図2(c)の画像処理サーバ103は、CPU261、ROM262、RAM264、ストレージ265、入力デバイス266、表示デバイス267、外部インタフェース268を備える。各部は、データバス263を介して相互にデータを送受信することができる。
CPU261は、画像処理サーバ103の全体を制御するためのコントローラである。CPU261は、不揮発メモリであるROM262に格納されているブートプログラムによりOSを起動する。このOSの上で、ストレージ265に記憶されている画像処理サーバプログラムを実行する。CPU261がこの画像処理サーバプログラムを実行することより、処理対象画像から手書きの画素を抽出して消去する。CPU261は、データバス263などのバスを介して各部を制御する。
RAM264は、CPU261のメインメモリやワークエリア等の一時記憶領域として動作するものである。ストレージ265は、読み出しと書き込みが可能な不揮発メモリであり、前述の画像処理プログラムを記録する。
入力デバイス266は、図2(b)を用いて説明した入力デバイス236と同様である。表示デバイス267は、図2(a)を用いて説明した表示デバイス210と同様である。
外部インタフェース268は、図2(a)を用いて説明した外部インタフェース211と同様である。
図3は、学習装置102の論理的な構成の概略を示したブロック図である。
学習データ生成部301は、ニューラルネットワークを学習するための学習データを生成する。CPU231が、学習データ生成プログラムをRAM234に展開して実行することによって、学習データ生成部301が実現される。
学習部302は、学習データ生成部301が生成した学習データを用いて、ニューラルネットワークを学習する。CPU231が、学習プログラムをRAM234に展開して実行することによって、学習部302が実現される。
また、CPU231は、学習データ部301や学習部302が実行する計算処理の一部を、GPU239と協調して実行する。
次に、学習装置102による学習処理について説明する。図4は、学習処理のフローチャートである。この処理は、学習装置102の学習部302により実現される。これは、ユーザが、画像処理装置101の入力デバイス209を介して、所定の操作を行うことで開始される。なお、本実施例において、ニューラルネットワークの学習には、ミニバッチ法を用いるものとする。
まずCPU231は、ステップS401において、ニューラルネットワークを初期化する。すなわち、CPU231は、ニューラルネットワークを構築し、当該ニューラルネットワークに含まれる各パラメータの値を、ランダムに決定して初期化する。構築するニューラルネットワークの構造は、様々なものを用いることができるが、例えば、非特許文献1に示されるFCN(Fully Convolutional Networks)の形態を取り得る。
CPU231は、ステップS402において、学習データを取得する。CPU231は、後述する学習データ生成処理を実行して、所定の数(ミニバッチサイズ、例えば10)の学習データを取得する。
CPU231は、ステップS403において、ニューラルネットワークの誤差を算出する。すなわち、各学習データに含まれる入力画像をニューラルネットワークに入力して出力を得る。当該出力は、入力画像と同じ画像サイズであり、予測結果として、手書きであると判定された画素は、画素の値が手書きを示す値、そうではないと判定された画素は、画素の値が手書きではないことを示す値である画像である。そして、当該出力と正解ラベル画像との差を評価して誤差を求める。当該評価には指標として交差エントロピーを用いることができる。
CPU231は、ステップS404において、ニューラルネットワークのパラメータを調整する。すなわち、ステップS403において算出した誤差をもとに、バックプロパゲーション法によってニューラルネットワークのパラメータ値を変更するものである。
CPU231は、ステップS405において、学習を終了するか否かを判定する。これは次のようにして行う。CPU231は、ステップS402〜ステップS404の処理を、所定回数(例えば、60000回)行ったか否かを判定する。当該所定回数は、本フローチャートの開始時にユーザが操作入力するなどして決定することができる。所定回数行った場合には、YESと判定し、ステップS406に遷移する。そうでない場合は、ステップS402に遷移し、ニューラルネットワークの学習を続ける。
CPU231は、ステップS406において、学習結果として、ステップS404において調整したニューラルネットワークのパラメータを、画像処理サーバ103に送信する。
次に、学習装置102による学習データ生成処理について説明する。図5は、学習データ生成処理のフローチャートである。この処理は、学習装置102の学習データ生成部301により実現される。
まずCPU231は、ステップS501において、ストレージ235に記憶している前景元画像を選択して読み出す。この前景元画像の例を図6に示す。前景元画像は手書きのみが書かれた画像であり、白紙に手書きのみが記入された原稿を画像処理装置101でスキャンすることで作成される。前景元画像はストレージ235に予め複数記録されているもととし、ここではその中からランダムにひとつを選択する。
CPU231は、ステップS502において、ステップS501で読みだした前景元画像を回転して加工する。回転角度は所定の範囲(例えば−10度〜10度の間)からランダムに選択して決定する。
CPU231は、ステップS503において、前景元画像の一部(例えば縦x横=512x512の大きさ)を切り出した画像データを生成する(以降この画像データを「前景画像」と呼称する)。切り出す位置はランダムに決定する。
CPU231は、ステップS504において、ステップS503で生成した前景画像を、変倍して加工する。変倍率は所定の範囲(例えば、50%〜150%の間)からランダムに選択して決定する。さらに、変倍後の前景画像の一部(例えば縦x横=256x256の大きさ)を中央から切り出して前景画像を更新する。
CPU231は、ステップS505において、前景画像の各画素の輝度を変更して加工する。CPU231は、前景画像をグレースケール化し、そしてガンマ補正を用いて前景画像の輝度を変更する。ガンマ値は所定の範囲(例えば、0.1〜10.0の間)からランダムに選択して決定する。この時点での前景画像の例を図8(a)に示す。
CPU231は、ステップS506において、ストレージ235に記憶している背景元画像を選択して読み出す。この背景元画像の例を図7に示す。背景元画像は画像処理装置101でプリントした電子文書をそのままスキャンしたものである。電子文書の内容は手書きを含まなければ何でも良いが、後述のOCR依頼処理でスキャンされる手書きを含む文書と似た特徴(活字の大きさ、罫線の有無など)のものが望ましい。本実施例では帳票に記入された手書き文字を対象とする為、帳票の手書き記入される領域を背景元画像とする。背景元画像はストレージ235に予め複数記録されているものとし、ここではその中からランダムにひとつを選択する。
CPU231は、ステップS507において、ステップS506で読みだした背景元画像を回転して加工する。回転角度は所定の範囲(例えば−10度〜10度の間)からランダムに選択して決定する。
CPU231は、ステップS508において、背景元画像の一部(ステップS503で前景画像を切り出したときと同じ大きさ)を切り出して画像データを生成する(以降この画像データを「背景画像」と呼称する)。切り出す位置はランダムに決定する。
CPU231は、ステップS509において、ステップS508で生成した背景画像を、変倍して加工する。変倍率は所定の範囲(例えば、50%〜150%の間)からランダムに選択して決定する。さらに、変倍後の背景画像の一部(ステップS504で前景画像を切り出したときと同じ大きさ)を中央から切り出して背景画像を更新する。
CPU231は、ステップS510において、背景画像の各画素の輝度を変更して加工する。CPU231は、背景画像をグレースケール化し、そしてガンマ補正を用いて背景画像の輝度を変更する。ガンマ値は所定の範囲(例えば、0.1〜10.0の間)からランダムに選択して決定する。この時点での前景画像の例を図8(b)に示す。
ここまでの処理ステップによって、前景画像と背景画像が得られた。前景画像と背景画像とで、それぞれ、回転や変倍、輝度の変更を行って加工したが、これは学習データに多様性を持たせることで、当該学習データを用いて学習するニューラルネットワークの汎化性能を向上させるためである。また、前景元画像も背景元画像も、学習処理でRAM234に展開したり、CPU231やGPU239が参照したりする際の効率を考慮し、そのままの大きさで使うのではなくより小さな部分画像を切り出して用いるようにする。また、位置をランダムに決定して部分画像を切り出すため、一枚の前景元画像から複数かつ様々な学習データを生成することができる。
CPU231は、ステップS511において、前景画像に対して正解ラベル画像を生成する。CPU231は、前景画像に対して二値化処理を行う。そして、予め定めた閾値よりも低い値である画素の値を、手書きを示す値(例えば255、以降も同様)とし、他の画素の値を、手書きではないことを示す値(例えば0、以降も同様)とした画像データを、前景画像に対する正解ラベル画像として生成する。ここで作成された正解ラベル画像の例を図8(c)に示す。
CPU231は、ステップS512において、学習データの入力画像を合成して生成する。CPU231は、前景画像と背景画像のそれぞれ同じ座標を比較し、輝度の低い方の画素値を採用した新しい画像を作る事で画像の合成を行う。ここで作成された入力画像の例を図8(d)に示す。
CPU231は、ステップS513において、ステップS512で合成して生成した入力画像と、ステップS511で生成した正解ラベル画像とを対応付け、学習データとしてストレージ235の所定の領域に保存する。
CPU231は、ステップS514において、学習データ生成処理を終了するか否かを判定する。CPU231は、予め決定した学習データの数だけ学習データを生成していたならば、YESと判定し、処理を終了する。そうでなければ、NOと判定し、ステップS501に遷移する。
次に、画像処理装置101による、OCR依頼処理について説明する。画像処理装置101は、活字および手書き文字を含む原稿をスキャンして処理対象画像を得る。そして、処理対象画像を画像処理サーバ103に送信して、活字および手書き文字のOCRを依頼する。図9(a)は、このOCR依頼処理のフローチャートである。この処理は、画像処理装置101のCPU201が、ストレージ208に記録されているコントローラプログラムを読み出し、RAM204に展開して実行することにより実現される。これは、ユーザが、画像処理装置101の入力デバイス209を介して、所定の操作を行うことで開始される。
CPU201は、ステップS901において、スキャナデバイス206や原稿搬送デバイス207を制御して、原稿をスキャンして処理対象画像を生成する。処理対象画像は、フルカラー(RGB3チャネル)の画像データとして生成される。ここでスキャンする原稿は、例えば図10(a)に示すような注文票などの帳票であり、各項目の右に手書きで値が記入されている。
CPU201は、ステップS902において、ステップS901で生成した手書き処理対象を、外部インタフェース211を介して、画像処理サーバ103に送信する。
次に、画像処理サーバ103によるOCR処理について説明する。画像処理サーバ103は、画像処理装置101から処理対象画像を受信し、当該スキャン画像データに含まれる活字や手書き文字をOCRしてテキストデータを得る。活字に対するOCRは、活字OCRサーバ104に実行させる。手書き文字に対するOCRは、手書きOCRサーバ105に実行させる。図9(b)は、このOCR処理のフローチャートである。この処理は、CPU261が、ストレージ265に記憶されている画像処理サーバプログラムを読み出し、RAM264に展開して実行することで実現される。これは、ユーザが、画像処理サーバ103の電源をON(オン)にすると開始される。
まずCPU261は、ステップS931において、手書き抽出を行うニューラルネットワークをロードする。CPU261は、図4のフローチャートのステップS401の場合と同一のニューラルネットワークを構築する。そして、図4のフローチャートのステップS406において、学習装置102から送信された学習結果(ニューラルネットワークのパラメータ)を、構築したニューラルネットワークに反映する。
CPU261は、ステップS932において、処理対象となる処理対象画像を、画像処理装置101より受信したかを判定する。外部インタフェース268を介して、処理対象画像を受信していたならば、YESと判定し、ステップS933に遷移する。そうでなければ、NOと判定し、ステップS944に遷移する。
CPU261は、ステップS933において、画像処理装置101から受信した処理対象画像から手書きの画素を抽出する。CPU261は、処理対象画像をグレースケール化する。そして、このグレースケール化した処理対象画像を、ステップS931で構築したニューラルネットワークに入力して、手書きの画素を推定させる。この結果として、処理対象画像と同じサイズであり、手書きであると判定された画素には、手書きであること示す値(例えば1)、手書きではないと判定された画素には、手書きではないことを示す値(例えば0)が、それぞれ記録された画像データが得られる。図10(a)の画像を処理対象画像として手書き画素を推定した結果の画像を図10(b)に示す(結果を見やすくするために、この図では値が0の画素を黒、値が1の画素を白で表現している)。以降この画像データを「推定結果」と呼称する。
CPU261は、ステップS934において、ステップS933で作成した推定結果をマスクとして、手書きだけの画像を作成する。具体的には、処理対象画像と同じサイズであり、推定結果が手書きの座標は処理対象画像の画素値を、推定結果が手書きではない座標は255をそれぞれ代入した画像を作る。以降この画像を「手書き抽出画像」と呼称する。ここで作成された手書き抽出画像を図11(a)に示す。
CPU261は、ステップS935において、手書きOCR対象領域抽出処理を行い、手書き抽出画像の中で手書きOCRの対象とする領域を決める。この処理の詳細は後述する。この処理の結果得られた手書きOCR対象領域を図11(b)の領域1201〜1208に示す。
CPU261は、ステップS936において、ステップS935で抽出した手書きOCR対象領域と手書き抽出画像とを、外部インタフェース268を介して、手書きOCRサーバ105に送信し、手書きOCRを実行させる。手書きOCRには公知の技術を適用し実現することができる。
CPU261は、ステップS937において、手書きOCRサーバ105から、手書きOCR結果を受信したか否かを判定する。手書きOCR結果とは、手書きOCRサーバ105が、手書きOCR対象領域に含まれていた手書き文字を認識して得たテキストデータである。外部インタフェース268を介して、手書きOCRサーバ105から、手書きOCR結果を受信していたならば、YESと判定し、ステップS939に遷移する。そうでなければ、ステップS937の処理を繰り返す。
CPU261は、ステップS938において、ステップS933で作成した推定結果をマスクとして、背景だけの画像を作成する。具体的には、処理対象画像と同じサイズであり、推定結果が手書きではない座標は処理対象画像の画素値を、推定結果が手書きの座標は255をそれぞれ代入した画像を作る。以降この画像を「背景抽出画像」と呼称する。ここで作成された背景抽出画像を図11(b)に示す。
CPU261は、ステップS939において、活字OCR対象領域抽出処理を行い、背景抽出画像の中で活字OCRの対象とする領域を決める。この処理は、例えば特許第5908825号に記載の技術によって実現される。この処理の結果得られたOCR対象領域を図12(b)の領域1211〜1219に示す。
CPU261は、ステップS940において、ステップS939で抽出した活字OCR対象領域と背景抽出画像とを、外部インタフェース268を介して、活字OCRサーバ104に送信し、活字OCRを実行させる。活字OCRには公知の技術を適用し実現することができる。
CPU261は、ステップS941において、活字OCRサーバ104から、活字OCR結果を受信したか否かを判定する。活字OCR結果とは、活字OCRサーバ104が、活字OCR対象領域に含まれていた活字を認識して得たテキストデータである。外部インタフェース268を介して、活字OCRサーバ104から、活字OCR結果を受信していたならば、YESと判定し、ステップS942に遷移する。そうでなければ、ステップS941の処理を繰り返す。
CPU261は、ステップS942において、手書きOCRサーバ105ないし活字OCRサーバ104から受信した手書きOCR結果および活字OCR結果を統合する。CPU261は、元となった手書きOCR対象領域および活字OCR対象領域の位置関係や、活字OCR結果を項目名、手書きOCRと結果を値とした時の意味的な妥当性を評価することで、項目と値のペアを推定する。例えば、手書き抽出画像の領域1201に対し、背景抽出画像で最も近い領域は領域1211であり、且つ領域1211のOCR結果「記入日」が項目名だとすると、領域1201のOCR結果「3/4」は日付を含むので値としての妥当性が高い。よって、領域1201のOCR結果と領域1211のOCR結果を、記入日に関する項目と値のペアであると推定する。同様の方法で、領域1202と領域1212、領域1203と領域1213、領域1204と領域1214、領域1205と領域1215もそれぞれ項目と値のペアであると推定する。また、同様の方法で、領域1206と領域1216、領域1207と領域1217、領域1208と領域1218のOCR結果もそれぞれ項目と値のペアであると推定する。
CPU261は、ステップS943において、手書きOCR結果および活字OCR結果を出力する。CPU261は、ステップS942で得た項目と値のペアを、外部インタフェース268を介して、DBサーバ106に送信して保存させる。
CPU261は、ステップS944において、処理を終了するか否かを判定する。ユーザが、画像処理サーバ103の電源のOFFなどの所定の操作を行った場合には、YESと判定し、処理を終了する。そうでなければ、NOと判定し、ステップS932に遷移する。
次に、画像処理サーバ103による手書きOCR対象領域抽出処理について説明する。図9(c)は、この手書きOCR対象領域抽出処理のフローチャートである。この処理は、CPU261が、ストレージ265に記憶されている画像処理サーバプログラムを読み出し、RAM264に展開して実行することで実現される。これは、OCR処理のステップS935又はステップS939で、それぞれ手書き抽出画像や背景抽出画像を入力として実行される。
まずCPU261は、ステップS961において、入力画像に収縮処理を掛ける。これは、文字を太らせる事で文字を構成する部首や点などの小さなパーツを周辺の文字と繋げ、後に行われる処理(ステップS963)でノイズとして扱われる事を抑止する為の処理である。
CPU261は、ステップS962において、黒画素が連結している領域の外接矩形を取得する。CPU261は、ステップS961で収縮処理した画像に対して、黒画素が連結している領域を探し、それら全ての領域について個別に外接矩形を作成する。
CPU261は、ステップS963において、ステップS962で作成した外接矩形の中から、文字のものである可能性の低い矩形を除外する。例えば矩形の辺の長さや面積に一定の範囲を設け、その範囲から外れるものについては文字ではないと推定して取り除く。こうすることで、図表を囲っている矩形や、小さなノイズを囲っている矩形を除外する。
CPU261は、ステップS964において、近接する外接矩形同士を連結する。CPU261は、ステップS963の結果残った各矩形について、その左右の一定の距離内に別の矩形がある場合は、それらの矩形を全て結合した新しい矩形に置き換える。こうすることで、文字単体ではなく文章全体を囲う矩形を形成できる。この結果得られた各矩形を、OCR対象領域とする。
以上、本実施例に示したとおり、手書きのみを含む画像データと印字内容のみを含む画像データとから、手書きと印刷内容が重なるように合成して手書き抽出を行うニューラルネットワークを学習するための学習データを生成することができる。そしてこの学習データを用いてニューラルネットワークを学習し、当該学習の結果を用いて、スキャン画像データから手書きOCRと活字OCRの対象領域を抽出し、項目と値のペアとして記入内容を抽出、保存することができる。帳票ごとに、手書きOCR対象領域を、事前に登録するなどの作業を必要とせずに、手書きOCR対象領域を抽出し、手書きOCR処理に入力して処理することができる。また、事前登録ができない不定型の帳票においても、人が手書きOCR対象領域を指定するなどの作業を必要とせずに、手書きOCR対象領域を抽出し、手書きOCR処理に入力して処理することができる。
なお、本実施例では、学習データ生成部301と学習部302は、学習装置102において実現されるものとしたが、それぞれ別体の装置において実現されるようにしても良い。この場合、学習データ生成部301を実現する装置は、学習データ生成部301が生成した学習データを、学習部302を実現する装置に送信する。そして、学習部302は受信した学習データをもとにニューラルネットワークを学習する。
また、実施例では、学習処理において、学習データ生成処理を呼び出して学習データを生成したが、事前に学習データ生成処理によって学習データを大量に生成しておいて、学習処理時にはそこから随時、ミニバッチサイズ分をサンプルするようにしてもよい。
また、印のみが成された原稿をスキャンして前景元画像を生成したり、電子文書を印字した薄紙の裏面をスキャンして前景元画像を生成したりしてもよい。これにより、押印や裏写りである画素を検出するニューラルネットワークを学習するための学習データを合成して生成することができる。
また、図5のフローチャートのステップS505やステップS511で得た前景画像およびこれに対する正解ラベル画像を学習データに含めてもよい。ステップS510で得た背景画像と、これに対する正解ラベル画像として、背景画像と同じ画像サイズであり、全ての画素が手書きではないことを示す値である画像を生成し、学習データに含めてもよい。
また、なお、本実施例においては、入力画像をグレースケール画像として生成したが、フルカラー画像など他の形式として生成してもよい。
(実施例2)
本実施例では、学習データを合成して生成するための別の方法について説明する。学習データの入力画像を合成する際に、背景画像のうち手書き画像を重ねる領域を予め指定することで、より実際のスキャン画像データと近しい学習データを合成して生成する(以降背景画像中に指定された手書きを重ねる領域を「合成領域」と呼称する)。実施例1との差分のみ説明する。
本実施例における学習データ生成処理を説明する。図13は、本実施例における学習データ生成処理のフローチャートである。この処理は、学習装置102の学習データ生成部301により実現される。具体的に、この処理は、CPU231が、ROM232に記憶されたプログラムをRAM234に読み出して実行することによって実現される。
まずCPU231は、ステップS1301において、ストレージ235に記憶している背景元画像を選択して読み出す。この背景元画像の例を図14(a)に示す。背景元画像はストレージ235に予め複数記録されているものとし、ここではその中からランダムにひとつを選択する。
CPU231は、ステップS1302において、ステップS1301で選択した背景元画像に対応する合成領域情報をストレージ235より読み出す。合成領域情報は、全ての背景元画像について、それぞれ対応するものが予め作成され、ストレージ235に記録されているものとする。ここで、合成領域情報について、図14(b)を用いて説明する。合成領域情報は、例えば、XML(Extensible Markup Language)などの形式で構成することができる。図14(b)に示すように、合成領域情報には背景元画像中の合成領域が<area>タグで記載されている。各<area>タグには、合成領域の四隅の座標を示すcoordinate属性と、合成領域に合成される前景の属性(種別)を示すcategory属性が含まれる。具体的には、例えば図14(b)の行1403は、図14(a)の領域1401を示す。この領域は文字列を記入する領域である為、category属性には文字列を示す「string」が指定されている。また一方、図14(b)の行1404は、図14(a)の領域1402を示す。この領域は数字を記入する領域である為、category属性には数字を示す「digit」が指定されている。
CPU231は、ステップS1303において、背景ラベル画像を作成する。ここでの背景ラベル画像は、背景元画像と同じサイズであり、すべての画素の値を手書きではないことを示す値(例えば0、以降も同様)にした画像である。
CPU231は、ステップS1304において、合成領域を選択する。CPU231は、ステップS1302で取得した合成領域情報から、まだ前景画像を合成していない合成領域をひとつ選択する。
CPU231は、ステップS1305において、合成領域に指定された属性の前景元画像をストレージ235より選択して読み出す。CPU231は、ステップS1304で選択した合成領域のcategory属性を参照し、対応する前景元画像の中からランダムに一つを選択する。前景元画像は属性別に分けて作成され、予めストレージ235に保存されているものとする。この前景元画像の例を図15に示す。図15(a)は属性が「string」である前景元画像、図15(b)は属性が「digit」である前景元画像である。
CPU231は、ステップS1306において、前景元画像を合成領域の大きさに合わせて変倍する。CPU231は、ステップS1304で選択した合成領域のcoordinate属性を参照して合成領域の縦横サイズを算出し、それに合わせてステップS1305で選択した前景元画像を変倍する。
CPU231は、ステップS1307において、前景ラベル画像を作成する。CPU231は、ステップS1306で変倍を行った前景画像に対して二値化処理を行う。そして、予め定めた閾値よりも低い値である画素の値を、手書きを示す値(例えば255、以降も同様)とし、他の画素の値を、手書きではないことを示す値とした画像データを、前景画像に対する正解ラベル画像として生成する。
CPU231は、ステップS1308において、背景元画像の合成領域を前景画像と合成する。CPU231は、背景元画像のうちステップS1304で選択した合成領域のcoordinate属性で示される領域に、ステップS1306で変倍を行った前景画像を合成する。ここでの合成はそれぞれ同じ座標を比較し、輝度の低い方の画素値を採用することで行う。
CPU231は、ステップS1309において、背景ラベル画像の合成領域を前景ラベル画像と合成する。CPU231は、背景ラベル画像のうちステップS1304で選択した合成領域のcoordinate属性で示される領域に、ステップS1307で作成した前景ラベル画像を合成する。ここでの合成は背景ラベル画像の合成領域に前景ラベル画像を上書きすることで行う。
CPU231は、ステップS1310において、ステップS1302で取得した合成領域情報に含まれる、全ての合成領域について前景画像の合成が完了したかを判断する。まだ前景画像を合成していない領域がある場合はNOと判断し、ステップS1304に遷移する。全ての合成領域で前景画像の合成が完了した場合はYESと判断し、ステップS1311に遷移する。尚これ以降、この時点で全ての合成領域に前景画像が合成された背景元画像、背景ラベル画像をそれぞれ合成画像、合成ラベル画像と呼称する。合成画像と合成ラベル画像の例をそれぞれ図16(a)、図16(b)に示す。
CPU231は、ステップS1311において、合成画像と合成ラベル画像を回転して加工する。回転角度は所定の範囲(例えば−10度〜10度の間)からランダムに選択して決定する。合成画像と合成ラベル画像は同じ回転角度で回転する。
CPU231は、ステップS1312において、S1311で回転した合成画像と合成ラベルの一部(例えば縦x横=512x512の大きさ)を切り出した画像データを生成する。切り出す位置はランダムに決定する。合成画像と合成ラベル画像は同じ位置を切り抜く。
CPU231は、ステップS1313において、ステップS1312で切り出した合成画像と合成ラベル画像を、変倍して加工する。変倍率は所定の範囲(例えば、50%〜150%の間)からランダムに選択して決定する。さらに、変倍後の各画像の一部(例えば縦x横=256x256の大きさ)を中央から切り出して、それぞれの画像を更新する。合成画像と合成ラベル画像は同じ変倍率で変倍する。
CPU231は、ステップS1314において、合成画像の各画素の輝度を変更して加工する。CPU231は、合成画像をグレースケール化し、そしてガンマ補正を用いて合成画像の輝度を変更する。ガンマ値は所定の範囲(例えば、0.1〜10.0の間)からランダムに選択して決定する。この時点での合成画像と合成ラベル画像の例を図16(c)、図16(d)に示す。
CPU231は、ステップS1315において、ステップS1314までで作成された合成画像と合成ラベル画像とを対応付け、学習データとしてストレージ235の所定の領域に保存する。
CPU231は、ステップS1316において、学習データ生成処理を終了するか否かを判定する。CPU231は、予め決定した学習データの数だけ学習データを生成していたならば、YESと判定し、処理を終了する。そうでなければ、NOと判定し、ステップS1301に遷移する。
以上に説明した学習データ生成処理によれば、より実際のスキャン画像データと近しい学習データを合成して生成する事が可能になる。
なお、本実施例の学習データ生成処理において、前景画像を合成領域より小さく変倍し、合成領域の中のランダムな位置に合成してもよい。これにより、学習データにおいて帳票の枠の中に記入される手書き文字の大きさや位置の多様さを増強させる事ができる。
なお、本実施例の学習データ生成処理において、前景画像を合成する領域を合成領域からずらして、或いは前景画像を合成領域より大きく変倍して、前景画像が背景元画像の罫線に重なるような合成画像を作成しても良い。これにより、帳票の枠からはみ出すような手書きの記入を再現した学習データを作成する事ができる。
なお、本実施例の学習データ生成処理において、背景元画像に含まれる全合成領域のうち一定の割合で前景画像を合成しない領域を設けても良い。これにより、帳票における空欄を再現した学習データを作成する事ができる。
(実施例3)
本実施例では、学習データ合成とOCR処理の別の方法について説明する。本実施例では、帳票において手書きの丸やチェックにより選択された項目の抽出もできるように学習、推論を行う。実施例1および2との差分のみ説明する。
まず、本実施例における学習データ生成処理を説明する。図17は、本実施例における学習データ生成処理のフローチャートである。この処理は、学習装置102の学習データ生成部301により実現される。具体的に、この処理は、CPU231が、ROM232に記憶されたプログラムをRAM234に読み出して実行することによって実現される。
ステップS1301の処理は図13のフローチャートにおける同符合の処理ステップと同様の処理ステップである。
CPU231は、ステップS1701において、ステップS1301で選択した背景元画像に対応する合成領域情報をストレージ235より読み出す。本実施例における背景元画像と、それに対応する合成領域情報を、それぞれ図18(a)と図18(b)に示す。本実施例における合成領域は、実施例2の合成領域(図14に示したもの)に加えて、手書きの丸やチェックが合成される領域も含む。すなわち、例えば図18(b)の行1804は、図18(a)の領域1801を示す。この領域は丸を記入する領域である為、category属性には、文字列を示す「circle」が指定されている。また一方、図18(b)の行1804は、図18(a)の領域1802を示す。この領域はチェックを記入する領域である為、category属性には数字を示す「check」が指定されている。
ステップS1303からステップS1304の処理は図13のフローチャートにおける同符合の処理ステップと同様の処理ステップである。
CPU231は、ステップS1702において、合成領域に指定された前景元画像を選択する。このとき、合成領域のcategory属性で「circle」が指定されている場合は図19(a)、「check」が指定されている場合は図19(b)に例示するような画像をそれぞれ選択する。
ステップS1306の処理は図13のフローチャートにおける同符合の処理ステップと同様の処理ステップである。
CPU231は、ステップS1703において、前景ラベル画像を作成する。CPU231は、ステップS1306で変倍を行った前景画像に対して二値化処理を行う。その後、合成領域のcategory属性で指定された属性に応じたラベル画像を作る。具体的には、category属性が「string」又は「digit」である場合は、予め定めた閾値よりも低い値の画素を、手書き文字を示す値(例えば255、以降も同様)としたラベル画像を作る。category属性が「circle」である場合は、予め定めた閾値よりも低い値の画素を、手書き丸を示す値(例えば165、以降も同様)としたラベル画像を作る。category属性が「check」である場合は、予め定めた閾値よりも低い値の画素を、手書きチェックを示す値(例えば127、以降も同様)としたラベル画像を作る。いずれの場合も、予め定めた閾値よりも高い値の画素は手書きではないことを示す値(例えば0、以降も同様)とする。
ステップS1308からステップS1309の処理は図13のフローチャートにおける同符合の処理ステップと同様の処理ステップである。
CPU231は、ステップS1704において、ステップS1701で取得した合成領域情報に含まれる、全ての合成領域について前景画像の合成が完了したかを判断する。まだ前景画像を合成していない領域がある場合はNOと判断し、ステップS1304に遷移する。全ての合成領域で前景画像の合成が完了した場合はYESと判断し、ステップS1311に遷移する。尚これ以降、この時点で全ての合成領域に前景画像が合成された背景元画像、背景ラベル画像をそれぞれ合成画像、合成ラベル画像と呼称する。本実施例において作成される合成画像と合成ラベル画像の例をそれぞれ図20(a)、図20(b)に示す。
ステップS1311からステップS1316の処理は図13のフローチャートにおける同符合の処理ステップと同様の処理ステップである。
次に、本実施例におけるOCR処理について説明する。図21は、本実施例におけるOCR処理のフローチャートである。この処理は、画像処理サーバ103において、CPU261が、ストレージ265に記憶されている画像処理サーバプログラムを読み出し、RAM264に展開して実行することで実現される。これは、ユーザが、画像処理サーバ103の電源をON(オン)にすると開始される。
ステップS931からステップS932の処理は図9(b)のフローチャートにおける同符合の処理ステップと同様の処理ステップである。
CPU261は、ステップS2101において、画像処理装置101から受信した処理対象画像から手書きの画素を抽出する。CPU261は、処理対象画像をグレースケール化する。そして、このグレースケール化した処理対象画像を、ステップS931で構築したニューラルネットワークに入力して、手書きの画素を推定させる。この結果として、処理対象画像と同じサイズであり、手書き文字と判定された画素には、手書き文字を示す値(例えば1)が記録された画像データが得られる。手書き丸と判定された画素には、手書き丸を示す値(例えば2)が記録された画像データが得られる。手書きチェックと判定された画素には、手書きチェックを示す値(例えば3)が記録された画像データが得られる。手書きではないと判定された画素には、手書きではないことを示す値(例えば0)が記録された画像データが得られる。図22(a)の画像を処理対象画像として手書き画素を推定した結果の画像を図22(b)に示す(結果を見やすくするために、この図では値が0の画素を黒、値が1の画素を白、値が2の画素を薄い灰色、値が3の画素を濃い灰色で表現している)。以降この画像データを「推定結果」と呼称する。
CPU261は、ステップS2102において、ステップS2101で作成した推定結果をマスクとして、背景だけの画像を作成する。具体的には、処理対象画像と同じサイズであり、推定結果が手書きではない座標は処理対象画像の画素値を、それ以外の座標は255をそれぞれ代入した画像を作る。以降この画像を「背景抽出画像」と呼称する。ここで作成された背景抽出画像を図23(a)に示す。
CPU261は、ステップS2103において、活字OCR対象領域抽出処理を行い、背景抽出画像の中で活字OCRの対象とする領域を決める。この処理は図9(b)のステップS939と同様である。この処理の結果得られた活字OCR対象領域を図24(a)の領域2401〜2415に示す。
ステップS940からステップS941の処理は図9(b)のフローチャートにおける同符合の処理ステップと同様の処理ステップである。
CPU261は、ステップS2104において、ステップS2101で作成した推定結果をマスクとして、手書き文字だけの画像を作成する。具体的には、処理対象画像と同じサイズであり、推定結果が手書き文字である座標は処理対象画像の画素値を、それ以外の座標は255をそれぞれ代入した画像を作る。以降この画像を「手書き文字抽出画像」と呼称する。ここで作成された手書き文字抽出画像を図23(b)に示す。
CPU261は、ステップS2105において、手書きOCR対象領域抽出処理を行い、手書き文字抽出画像の中で手書きOCRの対象とする領域を決める。この処理は図9(c)に示したものと同様である。この処理の結果得られた手書きOCR対象領域を図24(b)の領域2421〜2426に示す。
ステップS936からステップS937の処理は図9(b)のフローチャートにおける同符合の処理ステップと同様の処理ステップである。
CPU261は、ステップS2106において、ステップS2101で作成した推定結果をマスクとして、手書き丸だけの画像を作成する。具体的には、処理対象画像と同じサイズであり、推定結果が手書き丸である座標は処理対象画像の画素値を、それ以外の座標は255をそれぞれ代入した画像を作る。以降この画像を「手書き丸抽出画像」と呼称する。ここで作成された手書き丸抽出画像を図23(c)に示す。
CPU261は、ステップS2107において、手書き丸抽出画像に収縮処理を掛ける。これは、抽出の過程で分断された手書き丸の領域を復元する為の処理である。
CPU261は、ステップS2108において、手書き丸抽出画像の黒画素が連結している全ての領域について個別に外接矩形を作成する。ここで得られた外接矩形を図24(c)の領域2431に示す。
CPU261は、ステップS2109において、手書き丸で囲うことで選択された内容を取得する。具体的には、先ずステップS2108で得られた各外接矩形について、それぞれの重心を算出する。その後、それぞれの重心について、ステップS1756で受信した活字OCR結果を参照し、重心の座標を含む活字OCR対象領域のOCR結果を取得する。このOCR結果を、この外接矩形に含まれる手書き丸が選択した内容とする。図24(c)の領域2431を例にして説明すると、この領域心の座標を含む活字OCRの対象領域は領域2412であるので、領域2412のOCR結果である「午前中」が領域2431の手書き丸によって選択された内容となる。
CPU261は、ステップS2110において、ステップS2101で作成した推定結果をマスクとして、手書きチェックだけの画像を作成する。具体的には、処理対象画像と同じサイズであり、推定結果が手書きチェックである座標は処理対象画像の画素値を、それ以外の座標は255をそれぞれ代入した画像を作る。以降この画像を「手書きチェック抽出画像」と呼称する。ここで作成された手書きチェック抽出画像を図23(d)に示す。
CPU261は、ステップS2111において、手書きチェック抽出画像に収縮処理を掛ける。これは、抽出の過程で分断された手書きチェックの領域を復元する為の処理である。
CPU261は、ステップS2112において、手書きチェック抽出画像の黒画素が連結している全ての領域について個別に外接矩形を作成する。ここで得られた外接矩形を図24(d)の領域2441に示す。
CPU261は、ステップS2113において、手書きチェックで選択された内容を取得する。具体的には、先ずステップS2112で得られた各外接矩形について、それぞれの重心を算出する。その後、それぞれの重心について、ステップS1756で受信した活字OCR結果を参照し、重心の座標から最も近い活字OCR対象領域のOCR結果を取得する。このOCR結果を、この外接矩形に含まれる手書きチェックが選択した内容とする。図24(d)の領域2441を例にして説明すると、この領域の重心の座標をから最も近い活字OCRの対象領域は領域2409であるので、領域2409のOCR結果である「FJT98」が領域2441の手書きチェックによって選択された内容となる。
CPU261は、ステップS2114において、手書きOCR結果および活字OCR結果を統合する。CPU261は、元となった手書きOCR対象領域および活字OCR対象領域の位置関係や、活字OCR結果を項目名、手書きOCRと結果を値とした時の意味的な妥当性を評価することで、項目と値のペアを推定する。このとき、ステップS2108で取得した手書き丸の外接矩形と、ステップS2112取得した手書きチェックの外接矩形も、手書きOCRの対象領域として扱う。ステップS2109で取得した手書き丸で選択された内容と、ステップS2113で取得した手書きチェックで選択された内容も、手書きOCR結果として扱う。例えば手書き丸の外接矩形である領域2431に対し、背景抽出画像で最も近い領域は領域2407であり、且つその領域のOCR結果「お届け時間」を項目名とすると、領域2431の手書き丸の選択内容である「午前中」は時間を含むため値として妥当性が高い。よって、領域2407のOCR結果と領域2431の手書き丸の選択内容を、お届け時間に関する項目と値のペアであると推定する。
ステップS943からステップS944の処理は図9(b)のフローチャートにおける同符合の処理ステップと同様の処理ステップである。
以上に説明した学習データ生成処理とOCR処理によれば、帳票において手書きの丸やチェックにより選択された項目の抽出もできるような学習、推論が可能になる。
なお、本実施例の学習データ生成処理におけるステップS1309において、背景ラベルの合成領域全体を前景ラベルで上書きするのではなく、背景元画像の合成領域と前景画像を比較して、前景画像の方が輝度が低い領域のみを前景ラベルで上書きしてもよい。このラベルで学習する事で、手書きと背景の罫線や活字が重なっている領域は背景と推論されるようになる。これにより、OCR処理のステップS2102で背景だけの画像を作る際、手書き丸と重なった活字が分断されず、活字OCRの精度を上げることができる。
なお、本実施例では手書きを文字と丸とチェックの3つに分類し、ラベルにそれぞれ別の値を用いたが、分類はこれに限るものではなく、例えば手書き数字や記号に別のラベルを割り当てても良い。
最後に、本発明の学習データ生成方法が、帳票などに記入された手書きを抽出するにあたり有用である事を検証した実験結果を示す。
同一のニューラルネットワーク、前景元画像、背景元画像を用い、学習データ生成の処理だけを変えて学習を行った2つのモデルで検証を行った。片方は本発明により作成されるモデル、もう片方は学習データを生成する際に、前景元画像と背景元画像を重ねるように画像を合成するのではなく、上下または左右に並べるように画像を合成する方法を採用して学習を行ったモデルである。印刷した帳票に手書き文字、手書き丸、手書きチェックで値を記入し、スキャンした画像に対してそれぞれのモデルで手書き抽出を行い、どれだけ過不足なく手書きを抽出できたかを比較した。この比較には適合率(手書きではない画素を手書きと誤判定した割合の少なさを示す指標であり、1に近いほど誤判定が少ない)と再現率(手書きの画素を手書きではないと誤判定した割合の少なさを示す指標であり、1に近いほど誤判定が少ない)を用いる。
実験結果を図25に示す。図25は、内容の異なる16枚の帳票を対象として手書き抽出を行った際の、適合率と再現率の平均である。図25より、手書き文字、手書き丸、手書きチェックのそれぞれにおいて、本発明によるモデルがより高い適合率、再現率で抽出できた。以上より、本発明の学習データ生成方法によれば、帳票などに記入された手書きをより正確に抽出する事ができる。
<その他の実施例>
また、画像処理装置101、画像処理サーバ103、活字OCRサーバ104、手書きOCRサーバ105、DBサーバ106を全て別体の装置として説明したが、この構成に限らず、上述した一部または全部の機能を同じ装置で行うよう集約しても良い。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
231 CPU
232 ROM
234 RAM

Claims (21)

  1. 手書き画像を取得する第1の取得手段と、
    背景画像を取得する第2の取得手段と、
    前記第1の取得手段によって取得された手書き画像と前記第2の取得手段によって取得された背景画像とを合成して合成画像を生成する合成手段と、
    前記第1の取得手段によって取得された手書き画像から作成した正解ラベルと前記合成手段によって生成された合成画像とを学習データとして学習を行う学習手段と、
    前記学習データに基づいて手書き画素を抽出する抽出手段とを有することを特徴とする画像処理システム。
  2. 前記合成手段は、前記手書き画像と前記背景画像とが重なるように合成することを特徴とする請求項1に記載の画像処理システム。
  3. 前記合成手段は、前記背景画像のうち、予め指定された領域に前記手書き画像が重なるように合成することを特徴とする請求項2に記載の画像処理システム。
  4. 前記抽出手段によって抽出された手書き画素を含む領域を対象に第1の文字認識処理を実行し、手書き画素を含まない領域を対象に第2の文字認識処理を実行する処理手段と、
    前記第1の文字認識処理の結果と前記第2の文字認識処理の結果を統合する統合手段とをさらに有することを特徴とする請求項1乃至3のいずれか1項に記載の画像処理システム。
  5. 前記統合手段による統合によって得られる項目と値のペアを保存する保存手段をさらに有することを特徴とする請求項4に記載の画像処理システム。
  6. 手書きの種別に応じてラベルの値を作成する作成手段をさらに有し、
    前記抽出処理は、前記作成手段によって作成されたラベルの値に基づいて前記手書き画素を抽出することを特徴とする請求項1乃至5のいずれか1項に記載の画像処理システム。
  7. 前記種別は、文字列、または数字を含むことを特徴とする請求項6に記載の画像処理システム。
  8. 原稿を読み取る読取手段をさらに有し、
    前記抽出手段は、前記読取手段によって前記原稿を読み取って生成された画像データから、前記学習データに基づいて手書き画素を抽出することを特徴とする請求項1乃至7のいずれか1項に記載の画像処理システム。
  9. 原稿を読み取る読取手段をさらに有し、
    前記第1の取得手段は、前記読取手段によって前記原稿を読み取って生成された画像データに基づいて、前記手書き画像を取得することを特徴とする請求項1乃至7のいずれか1項に記載の画像処理システム。
  10. 原稿を読み取る読取手段をさらに有し、
    前記第2の取得手段は、前記読取手段によって前記原稿を読み取って生成された画像データに基づいて、前記背景画像を取得することを特徴とする請求項1乃至7のいずれか1項に記載の画像処理システム。
  11. 手書き画像を取得する第1の取得工程と、
    背景画像を取得する第2の取得工程と、
    前記第1の取得工程で取得された手書き画像と前記第2の取得工程で取得された背景画像とを合成して合成画像を生成する合成工程と、
    前記第1の取得工程で取得された手書き画像から作成した正解ラベルと前記合成工程で生成された合成画像とを学習データとして学習を行う学習工程と、
    前記学習データに基づいて手書き画素を抽出する抽出工程とを有することを特徴とする画像処理方法。
  12. 前記合成工程では、前記手書き画像と前記背景画像とが重なるように合成することを特徴とする請求項11に記載の画像処理方法。
  13. 前記合成工程では、前記背景画像のうち、予め指定された領域に前記手書き画像が重なるように合成することを特徴とする請求項12に記載の画像処理方法。
  14. 前記抽出工程で抽出された手書き画素を含む領域を対象に第1の文字認識処理を実行し、手書き画素を含まない領域を対象に第2の文字認識処理を実行する処理工程と、
    前記第1の文字認識処理の結果と前記第2の文字認識処理の結果を統合する統合工程とをさらに有することを特徴とする請求項11乃至13のいずれか1項に記載の画像処理方法。
  15. 前記統合工程における統合によって得られる項目と値のペアを保存する保存工程をさらに有することを特徴とする請求項14に記載の画像処理方法。
  16. 手書きの種別に応じてラベルの値を作成する作成工程をさらに有し、
    前記抽出処理は、前記作成工程で作成されたラベルの値に基づいて前記手書き画素を抽出することを特徴とする請求項11乃至15のいずれか1項に記載の画像処理方法。
  17. 前記種別は、文字列、または数字を含むことを特徴とする請求項6に記載の画像処理システム。
  18. 原稿を読み取る読取工程をさらに有し、
    前記抽出工程では、前記読取工程で前記原稿を読み取って生成された画像データから、前記学習データに基づいて手書き画素を抽出することを特徴とする請求項11乃至17のいずれか1項に記載の画像処理方法。
  19. 原稿を読み取る読取工程をさらに有し、
    前記第1の取得工程では、前記読取手段によって前記原稿を読み取って生成された画像データに基づいて、前記手書き画像を取得することを特徴とする請求項11乃至17のいずれか1項に記載の画像処理方法。
  20. 原稿を読み取る読取工程をさらに有し、
    前記第2の取得工程では、前記読取手段によって前記原稿を読み取って生成された画像データに基づいて、前記背景画像を取得することを特徴とする請求項11乃至17のいずれか1項に記載の画像処理方法。
  21. 請求項11乃至20のいずれか1項に記載の画像処理方法を、コンピュータに実行させるためのプログラム。
JP2019158665A 2019-08-30 2019-08-30 画像処理システム、画像処理方法、及びプログラム Active JP7387339B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019158665A JP7387339B2 (ja) 2019-08-30 2019-08-30 画像処理システム、画像処理方法、及びプログラム
US16/997,792 US11574489B2 (en) 2019-08-30 2020-08-19 Image processing system, image processing method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019158665A JP7387339B2 (ja) 2019-08-30 2019-08-30 画像処理システム、画像処理方法、及びプログラム

Publications (3)

Publication Number Publication Date
JP2021039424A true JP2021039424A (ja) 2021-03-11
JP2021039424A5 JP2021039424A5 (ja) 2022-09-02
JP7387339B2 JP7387339B2 (ja) 2023-11-28

Family

ID=74679760

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019158665A Active JP7387339B2 (ja) 2019-08-30 2019-08-30 画像処理システム、画像処理方法、及びプログラム

Country Status (2)

Country Link
US (1) US11574489B2 (ja)
JP (1) JP7387339B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114299184A (zh) * 2021-12-30 2022-04-08 青海师范大学 基于语义匹配的藏式建筑彩绘线稿图上色方法及装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022092119A (ja) * 2020-12-10 2022-06-22 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム
CN113221737B (zh) * 2021-05-11 2023-09-05 杭州海康威视数字技术股份有限公司 一种物料信息的确定方法、装置、设备及存储介质
CN113344198B (zh) * 2021-06-09 2022-08-26 北京三快在线科技有限公司 一种模型训练的方法及装置
JP2023067164A (ja) * 2021-10-29 2023-05-16 キヤノン株式会社 画像処理装置及び画像処理方法
EP4213115A1 (en) * 2022-01-18 2023-07-19 Accenture Global Solutions Limited Object detection using neural networks

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002133391A (ja) * 2000-10-25 2002-05-10 Raito Kogyo Co Ltd 地層判別方法及び地層判別システム
JP2006092027A (ja) * 2004-09-21 2006-04-06 Fuji Xerox Co Ltd 文字認識装置、文字認識方法および文字認識プログラム
CN107886514A (zh) * 2017-11-22 2018-04-06 浙江中医药大学 基于深度残差网络的乳腺钼靶图像肿块语义分割方法
CN108629768A (zh) * 2018-04-29 2018-10-09 山东省计算中心(国家超级计算济南中心) 一种食管病理图像中上皮组织的分割方法
JP2019016164A (ja) * 2017-07-06 2019-01-31 日本電信電話株式会社 学習データ生成装置、推定装置、推定方法及びコンピュータプログラム
CN109858488A (zh) * 2018-12-28 2019-06-07 众安信息技术服务有限公司 一种基于样本增强的手写样本识别方法与系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010122791A (ja) 2008-11-18 2010-06-03 Dai-Ichi Mutual Life Insurance Co 保険書類点検データ化処理システム
JP5908825B2 (ja) 2012-11-01 2016-04-26 日本電信電話株式会社 文字認識装置及び文字認識プログラムを記録したコンピュータ読取り可能な記録媒体
US11176361B2 (en) * 2018-06-21 2021-11-16 Raytheon Company Handwriting detector, extractor, and language classifier
US10671892B1 (en) * 2019-03-31 2020-06-02 Hyper Labs, Inc. Apparatuses, methods, and systems for 3-channel dynamic contextual script recognition using neural network image analytics and 4-tuple machine learning with enhanced templates and context data

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002133391A (ja) * 2000-10-25 2002-05-10 Raito Kogyo Co Ltd 地層判別方法及び地層判別システム
JP2006092027A (ja) * 2004-09-21 2006-04-06 Fuji Xerox Co Ltd 文字認識装置、文字認識方法および文字認識プログラム
JP2019016164A (ja) * 2017-07-06 2019-01-31 日本電信電話株式会社 学習データ生成装置、推定装置、推定方法及びコンピュータプログラム
CN107886514A (zh) * 2017-11-22 2018-04-06 浙江中医药大学 基于深度残差网络的乳腺钼靶图像肿块语义分割方法
CN108629768A (zh) * 2018-04-29 2018-10-09 山东省计算中心(国家超级计算济南中心) 一种食管病理图像中上皮组织的分割方法
CN109858488A (zh) * 2018-12-28 2019-06-07 众安信息技术服务有限公司 一种基于样本增强的手写样本识别方法与系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KIVANTIUM: "ポアソン画像合成 revisited", [ONLINE], JPN7023002284, 2 August 2017 (2017-08-02), ISSN: 0005091411 *
TAKUYA KITAZAWA: "Poisson Image Editingでいい感じの画像合成ができるやつを作る onWeb", [ONLINE], JPN7023002285, 8 December 2013 (2013-12-08), ISSN: 0005091410 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114299184A (zh) * 2021-12-30 2022-04-08 青海师范大学 基于语义匹配的藏式建筑彩绘线稿图上色方法及装置

Also Published As

Publication number Publication date
JP7387339B2 (ja) 2023-11-28
US20210064859A1 (en) 2021-03-04
US11574489B2 (en) 2023-02-07

Similar Documents

Publication Publication Date Title
JP7387339B2 (ja) 画像処理システム、画像処理方法、及びプログラム
JP5280425B2 (ja) 画像処理装置、画像読取装置、画像形成装置、画像処理方法、プログラムおよびその記録媒体
JP5274305B2 (ja) 画像処理装置、画像処理方法、コンピュータプログラム
US8320019B2 (en) Image processing apparatus, image processing method, and computer program thereof
JP7262993B2 (ja) 画像処理システム、画像処理方法、画像処理装置
US7551753B2 (en) Image processing apparatus and method therefor
JP4732315B2 (ja) 画像処理装置及び方法
EP2927843A1 (en) An image forming apparatus and system, and an image forming method
JP5972578B2 (ja) 画像処理装置、画像形成装置、プログラム、記録媒体
US9973654B1 (en) Methods and devices for enhancing edges of a graphic object
US9614984B2 (en) Electronic document generation system and recording medium
JP2021179848A (ja) 画像処理システム、画像処理方法、及びプログラム
JP2019008697A (ja) 電子文書作成装置、電子文書作成方法及び電子文書作成プログラム
US20180270387A1 (en) Printing apparatus, server, printing method, and control method
US20220269898A1 (en) Information processing device, information processing system, information processing method, and non-transitory computer readable medium
JP2011254397A (ja) 地紋画像合成装置、地紋画像合成方法、およびコンピュータプログラム
JP2006209353A (ja) 画像判断装置、画像形成装置、画像判断方法、画像判断プログラム、画像形成プログラムおよびコンピュータ読取り可能な記録媒体
JP5284994B2 (ja) 画像処理装置
JP2004334337A (ja) 画像処理装置
JP2023030811A (ja) 情報処理装置、抽出処理装置、画像処理システム、情報処理装置の制御方法、及びプログラム
JP7063121B2 (ja) 情報処理装置及びプログラム
JP5197464B2 (ja) 画像処理方法、画像処理装置、画像形成装置、コンピュータプログラム及び記録媒体
JP2006048245A (ja) 画像処理装置、画像形成装置、処理原稿検索方法、処理原稿検索プログラム、記録媒体
JP2023015483A (ja) 画像処理装置、画像処理システム、画像処理方法、及びプログラム
US20220078309A1 (en) Information processing apparatus and non-transitory computer readable medium

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220825

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220825

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230627

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230823

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231017

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231115

R151 Written notification of patent or utility model registration

Ref document number: 7387339

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151