(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024163533
(43)【公開日】2024-11-22
(54)【発明の名称】画像処理装置、画像処理方法およびプログラム
(51)【国際特許分類】
G06V 30/194 20220101AFI20241115BHJP
G06V 30/148 20220101ALI20241115BHJP
G06V 30/14 20220101ALI20241115BHJP
【FI】
G06V30/194
G06V30/148
G06V30/14 340K
【審査請求】未請求
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2023079242
(22)【出願日】2023-05-12
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】戸田 航平
【テーマコード(参考)】
5B029
5B064
【Fターム(参考)】
5B029AA01
5B029BB02
5B029CC22
5B029CC23
5B029CC28
5B029EE08
5B064AA01
5B064AB02
5B064BA01
5B064CA08
5B064DA10
5B064DA27
(57)【要約】
【課題】文書画像に対するOCR精度を向上させる。
【解決手段】画像処理装置は、文字認識用の学習モデルを得るための画像処理装置であって、文書を読み取って得られた文書画像における文字領域の特徴に基づき当該文書画像を分類する分類手段と、分類した前記文書画像の文字領域の特徴ごとに、正解データと対をなす学習データを生成する生成手段と、前記文字領域の特徴ごとに生成された前記学習データを用いて、前記学習モデルを学習する学習手段と、を有する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
文字認識用の学習モデルを得るための画像処理装置であって、
文書を読み取って得られた文書画像における文字領域の特徴に基づき当該文書画像を分類する分類手段と、
分類した前記文書画像の文字領域の特徴ごとに、正解データと対をなす学習データを生成する生成手段と、
前記文字領域の特徴ごとに生成された前記学習データを用いて、前記学習モデルを学習する学習手段と、
を有する、ことを特徴とする画像処理装置。
【請求項2】
前記文書画像を解析して前記文字領域の特徴を取得する解析手段をさらに有し、
前記分類手段は、取得した前記文字領域の特徴に基づき当該文書画像を分類する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記文書画像から行単位の部分画像を取得する取得手段をさらに有し、
前記解析手段は、取得した前記部分画像を構成する画素の画素値毎の偏りを示す分布データを、前記文字領域の特徴として取得し、
前記分類手段は、取得した前記分布データを基に、前記文字領域の特徴ごとに前記部分画像を分類し、
前記学習手段は、分類した前記部分画像の文字領域の特徴ごとに生成された前記学習データを用いて、前記学習モデルを学習する
ことを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記文書画像から行単位の部分画像を取得する取得手段をさらに有し、
前記解析手段は、取得した前記部分画像を文字で区切った区切り数と、前記部分画像における隣接する前記区切り同士の間隔とを示す文字列情報を、前記文字領域の特徴として取得し、
前記分類手段は、取得した前記文字列情報を基に、前記文字領域の特徴ごとに前記部分画像を分類し、
前記学習手段は、分類した前記部分画像の文字領域の特徴ごとに生成された前記学習データを用いて、前記学習モデルを学習する
ことを特徴とする請求項2に記載の画像処理装置。
【請求項5】
前記文書画像から行単位の部分画像を取得する取得手段をさらに有し、
前記解析手段は、取得した前記部分画像を構成する画素の画素値毎の偏りを示す分布データと、取得した前記部分画像を文字で区切った区切り数および前記部分画像における隣接する前記区切り同士の間隔を示す文字列情報とを、前記文字領域の特徴として取得し、
前記分類手段は、取得した前記分布データおよび取得した前記文字列情報を基に、前記文字領域の特徴ごとに前記部分画像を分類し、
前記学習手段は、分類した前記部分画像の文字領域の特徴ごとに生成された前記学習データを用いて、前記学習モデルを学習する
ことを特徴とする請求項2に記載の画像処理装置。
【請求項6】
前記解析手段は、
前記部分画像に存在し得る文字の数と前記部分画像に存在し得る文字の横方向の大きさを基に、前記区切り数および前記間隔を推定した推定情報を取得し、
前記文字列情報の前記区切り数と前記推定情報の前記区切り数とを比較すると共に、前記文字列情報の前記間隔と前記推定情報の前記間隔とを比較し、
前記分類手段は、前記解析手段による前記比較で得られた比較結果に基づき前記文字領域の特徴ごとに前記部分画像を分類する
ことを特徴とする請求項4に記載の画像処理装置。
【請求項7】
前記解析手段は、
前記文書画像がグレイスケール画像でない場合、前記文書画像をグレイスケール処理してグレイスケール画像を生成し、
生成した前記グレイスケール画像を解析して、前記文字領域の特徴を取得する
ことを特徴とする請求項2に記載の画像処理装置。
【請求項8】
前記学習モデルは、活字文字を認識する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項9】
文字認識用の学習モデルを用いて文字認識を行う画像処理装置であって、
学習用の文書画像における文字領域の特徴ごとに学習した複数の学習モデルのうち、処理対象の文書画像における文字領域の特徴に従い学習モデルを選択する選択手段と、
選択した前記学習モデルを用いて、前記処理対象の文書画像に対して文字認識を行う文字認識手段と、
を有する、ことを特徴とする画像処理装置。
【請求項10】
前記文書画像を解析して前記文字領域の特徴を取得する解析手段をさらに有し、
前記選択手段は、取得した前記文字領域の特徴に基づき前記学習モデルを選択する
ことを特徴とする請求項9に記載の画像処理装置。
【請求項11】
前記処理対象の文書画像から行単位の部分画像を取得する取得手段をさらに有し、
前記解析手段は、前記部分画像を構成する画素の画素値毎の偏りを示す分布データを、前記文字領域の特徴として取得し、
前記選択手段は、取得した前記分布データを基に、前記文字領域の特徴ごとに分類した前記部分画像に対応する前記学習モデルを選択し、
前記文字認識手段は、分類した前記部分画像の文字領域の特徴ごとに選択された前記学習モデルを用いて、前記処理対象の文書画像に対して文字認識を行う
ことを特徴とする請求項10に記載の画像処理装置。
【請求項12】
前記文書画像から行単位の部分画像を取得する取得手段をさらに有し、
前記解析手段は、取得した前記部分画像を文字で区切った区切り数と、前記部分画像における隣接する前記区切り同士の間隔とを示す文字列情報を、前記文字領域の特徴として取得し、
前記選択手段は、取得した前記文字列情報を基に、前記部分画像の特徴ごとに分類した前記部分画像に対応する前記学習モデルを選択し、
前記文字認識手段は、分類した前記部分画像の文字領域の特徴ごとに選択された前記学習モデルを用いて、前記処理対象の文書画像に対して文字認識を行う
ことを特徴とする請求項10に記載の画像処理装置。
【請求項13】
前記文書画像から行単位の部分画像を取得する取得手段をさらに有し、
前記解析手段は、取得した前記部分画像を構成する画素の画素値毎の偏りを示す分布データと、取得した前記部分画像を文字で区切った区切り数および前記部分画像における隣接する前記区切り同士の間隔を示す文字列情報とを、前記文字領域の特徴として取得し、
前記文字認識手段は、分類した前記部分画像の文字領域の特徴ごとに選択された前記学習モデルを用いて、前記処理対象の文書画像に対して文字認識を行う
ことを特徴とする請求項10に記載の画像処理装置。
【請求項14】
前記解析手段は、
前記部分画像に存在し得る文字の数と前記部分画像に存在し得る文字の横方向の大きさを基に、前記区切り数および前記間隔を推定した推定情報を取得し、
前記文字列情報の前記区切り数と前記推定情報の前記区切り数とを比較すると共に、前記文字列情報の前記間隔と前記推定情報の前記間隔とを比較し、
前記選択手段は、前記解析手段による前記比較で得られた比較結果に基づき前記文字領域の特徴ごとに前記学習モデルを選択する
ことを特徴とする請求項12に記載の画像処理装置。
【請求項15】
前記解析手段は、
前記文書画像がグレイスケール画像でない場合、前記文書画像をグレイスケール処理してグレイスケール画像を生成し、
生成した前記グレイスケール画像を解析して、前記文字領域の特徴を取得する
ことを特徴とする請求項10に記載の画像処理装置。
【請求項16】
前記学習モデルは、活字文字を認識する
ことを特徴とする請求項9に記載の画像処理装置。
【請求項17】
文字認識用の学習モデルを得るための画像処理方法であって、
文書を読み取って得られた文書画像における文字領域の特徴に基づき当該文書画像を分類する分類工程と、
分類した前記文書画像の文字領域の特徴ごとに、正解データと対をなす学習データを生成する生成工程と、
前記文字領域の特徴ごとに生成された前記学習データを用いて、前記学習モデルを学習する学習工程と、
を含む、ことを特徴とする画像処理方法。
【請求項18】
文字認識用の学習モデルを用いて文字認識を行う画像処理方法であって、
学習用の文書画像における文字領域の特徴ごとに学習した複数の学習モデルのうち、処理対象の文書画像における文字領域の特徴に従い学習モデルを選択する選択工程と、
選択した前記学習モデルを用いて、前記処理対象の文書画像に対して文字認識を行う文字認識工程と、
を含む、ことを特徴とする画像処理方法。
【請求項19】
コンピュータに、請求項17に記載の画像処理方法を実行させるためのプログラム。
【請求項20】
コンピュータに、請求項18に記載の画像処理方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像処理装置、画像処理方法およびプログラムに関する。
【背景技術】
【0002】
従来、文書をスキャンして得られた文書画像に対し、機械学習を行った文字認識用の学習モデルを用いて文字認識(OCR:Optical Character Recognition)処理を行う仕組みがある。特許文献1は、より高精度の学習モデルを得るための技術として、例えば文字の一部が掠れるなど様々な劣化状態の画像(劣化画像)の学習データを容易に生成する技術を開示している。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記様々な劣化画像のうち、一部分に影が発生した劣化画像、白飛びが発生した劣化画像、前記一部分よりも大きい部分に影が発生した劣化画像などタイプの異なる劣化画像を一緒に用いて学習モデルを学習すると、学習モデルのOCR精度の低下を生じる。そのため、上記学習モデルの学習では、適切なタイプの劣化画像を一緒に用いる必要がある。
【課題を解決するための手段】
【0005】
本開示の一態様に係る画像処理装置は、文字認識用の学習モデルを得るための画像処理装置であって、文書を読み取って得られた文書画像における文字領域の特徴に基づき当該文書画像を分類する分類手段と、分類した前記文書画像の文字領域の特徴ごとに、正解データと対をなす学習データを生成する生成手段と、前記文字領域の特徴ごとに生成された学習データを用いて、前記学習モデルを学習する学習手段と、を有することを特徴とする。
【発明の効果】
【0006】
本開示の技術によれば、文書画像に対するOCR精度を向上させることができる。
【図面の簡単な説明】
【0007】
【
図2】情報処理装置の機能構成例を示すブロック図である。
【
図3】文字認識モデルの学習処理の流れを示すフローチャートである。
【
図4】第一の画像解析処理の詳細な流れを示すフローチャートである。
【
図5】第一の画像解析処理の対象画像と処理結果例を示す図である。
【
図6】部分画像を構成する画素の画素値の階級ごとの分析例を示す図である。
【
図7】第一の画像分類における判定条件例を示す図である。
【
図8】第二の画像解析処理の詳細な流れを示すフローチャートである。
【
図9】第二の画像解析処理を説明するための図である。
【
図10】第二の画像分類における判定条件例を示す図である。
【
図11】文字認識処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0008】
以下、本開示の技術の実施形態について図面に基づいて説明する。なお、以下の実施形態は本開示の技術を限定するものではなく、また、以下の実施形態で説明されている全ての構成が本開示の課題を解決するため必須の手段であるとは限らない。本開示の技術は、以下の実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【0009】
<実施形態1>
[ハードウェア構成]
図1は、本実施形態に係る情報処理システムのハードウェア構成例を示す図である。本実施形態の情報処理システムは、複写機100と、情報処理装置110と、を有する。
【0010】
複写機100は、スキャナ101と、複写機側通信部102とを有する。スキャナ101は、文書のスキャンを行い、文書画像のデータ(以下、文書画像ともいう)を生成する。複写機側通信部102は、ネットワークを介して情報処理装置110を含む外部装置との通信処理を行う。
【0011】
情報処理装置110は、システム制御部111、ROM112、RAM113、HDD114、表示部115、入力部116と、情報処理装置側通信部117を有する。システム制御部111は、CPU(Central Processing Unit)などの演算装置で構成され、ROM(Read Only Memory)112に記憶された制御プログラムを読み出して各種処理を実行する。RAM(Random Access Memory)113は、システム制御部111の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD(Hard Disk Drive)114は、各種データや各種プログラム等を記憶する大容量記憶装置である。なお、後述する情報処理装置110の機能や処理は、システム制御部111がROM112又はHDD114に記憶されているプログラムを読み出してRAM113に展開してこれを実行することにより実現される。情報処理装置側通信部117は、ネットワークを介して複写機100を含む外部装置との通信処理を行う。表示部115は、各種情報を表示する。入力部116は、キーボードやマウスを有し、ユーザによる各種操作を受け付ける。なお、表示部115と入力部116は、タッチパネルのように一体に設けられてもよい。表示部115は、プロジェクタによる投影を行うものであってもよく、入力部116は、投影された画像に対する指先の位置を、カメラで認識するものであってもよい。
【0012】
本実施形態においては、複写機100のスキャナ101が帳票等の紙文書をスキャンし、文書画像を生成する。文書画像は、複写機側通信部102により情報処理装置110に送信される。情報処理装置110においては、情報処理装置側通信部117が文書画像を受信し、受信した文書画像をHDD114などの記憶装置に記憶する。情報処理装置110は、文書画像などの画像を処理することから画像処理装置ともいえる。
【0013】
なお、
図1のハードウェア構成は本実施形態を実現する構成の一例であり、例えば表示部115と入力部116の一部機能は、複写機100にあってもよい。また複写機100と情報処理装置110とを一体化した構成であってもよい。
【0014】
[ソフトウェア構成]
図2は、情報処理装置110のソフトウェア構成例を示す図である。情報処理装置110は、取得部201、部分画像生成部202、画像解析部203、画像分類部204、学習データ生成部205、モデル学習部206、モデル選択部207、文字認識部208を有する。
【0015】
取得部201は、複写機100の通信部102と情報処理装置110の通信部117を介して複写機100から受信した文書画像を取得する。なお、複写機100から受信した文書画像のデータを情報処理装置110のHDD114に記憶しておき、取得部201は、HDD144に記憶された文書画像のデータを取得してもよい。
【0016】
部分画像生成部202は、文書画像のデータが表す文書画像の全体から一部分を切り出す処理を行い、文書画像全体から切り出した一部分の画像を部分画像として生成する。画像解析部203は、文書画像のデータに対し画像状態を解析する画像解析処理を実行する。画像解析処理では、例えば、部分画像について各画素値の画素数を算出して当該各画素値の画素数の偏りを分析したり、部分画像内の区切りの数と隣接する区切り同士の間隔を推定して当該部分画像内に存在する文字列の結合度を算出したりする。画像分類部204は、画像解析部203による出力である画像解析結果を基に画像を分類する。
【0017】
学習データ生成部205は、学習用の画像データと当該画像データと対をなす正解データとの組を学習データとして生成する。なお、正解データは、ユーザ操作により指定されたデータであるとする。モデル学習部206は、上記学習データを用いて機械学習を行うことにより、文字認識用の学習モデルである、OCRを行う文字認識モデルをトレーニングする。上記文字認識モデルは、例えば、活字文字を文字認識する。モデル選択部207は、モデル学習部206により学習された複数の文字認識モデル(学習モデル)の中から、処理対象の文書画像における文字領域の特徴に応じた文字認識モデル(学習モデル)を選択する。文字認識部208は、モデル選択部207により選択された文字認識モデルを用いて、上記処理対象の文書画像に対してOCR処理を実行する。
【0018】
[文字認識モデルの学習処理]
図3は、文字認識モデルを学習する処理の流れを示すフローチャートである。
図3のフローチャートに示すS301~S306、S308およびS309の処理は、システム制御部111が所定のプログラムをROM112等から読み出してRAM113に展開して実行することで実現される。なお、HDD114は、文字認識モデルの学習処理に利用する文書画像のデータを記憶しているとする。以下の説明において記号「S」はステップを意味する。
【0019】
S301では、取得部201は、文字認識モデルの学習処理用である文書画像のデータをHDD114から取得する。この際、画像のbit深度などのプロパティ情報も同時に取得する。なお、文書画像のデータは、例えば、文書を読み取って得られた文書画像のデータである。
【0020】
S302では、部分画像生成部202は、S301にて取得した文書画像のデータが表す文書画像から部分画像を生成する。部分画像は、例えば文書画像に対し射影をとることにより行と思われる領域を特定する行切りを行い一連の文字列部分を切り出すことにより生成される。すなわち、部分画像は、行単位の画像ともいえる。部分画像の生成方法は、上記行切りに限定されない。予め文書画像のフォーマットが決まっている場合、特定の領域に行が存在すると考えられるため、部分画像の生成方法として、例えば、座標情報によって指定された文書画像内の特定の領域に対応する画像を部分画像として生成する方法を用いてもよい。
【0021】
S303では、画像解析部203は、S302にて生成された部分画像に対して第一の画像解析処理を実行する。これにより、S302にて生成された部分画像の解析結果を取得する。第一の画像解析処理の詳細は図を用いて後述する。
【0022】
S304では、画像分類部204は、S303にて得られた解析結果を基に第一の画像分類を行う。これにより、文書画像における文字領域の特徴ごとに分類した画像データセットを作成することができる。第一の画像分類の詳細は図を用いて後述する。
【0023】
S305では、画像解析部203は、S302にて生成された部分画像に対して第二の画像解析処理を実行する。これにより、S302にて生成された部分画像の解析結果を取得する。第二の画像解析処理の詳細は図を用いて後述する。
【0024】
S306では、画像分類部204は、S305にて取得された解析結果を基に第二の画像分類を行う。これにより、文書画像における文字領域の特徴ごとに分類した画像データセットを作成することができる。第二の画像分類の詳細は図を用いて後述する。
【0025】
ここまでのS301~S306の処理を繰り返すことで、学習用の文書画像における文字領域の特徴ごとに分類した画像データが作成される。画像データを多数集めることで画像データセットとなる。
【0026】
S307では、上記画像データセットに対応する正解データが作成される。正解データは、各画像に記載される文字列であって、ユーザ操作によって指定された上記文字列を示す文字列情報である。文字列情報は文字コードや文字の大きさや座標情報を含む。
【0027】
S308では、学習データ生成部205は、作成された画像データと作成された正解データとで組をなす学習データを生成する。すなわち、学習データ生成部205は、分類した部分画像の文字領域の特徴ごとに、正解データと対をなす学習データを生成する。上記学習データは、条件A~Cと条件D~Fの全ての組み合わせそれぞれの学習データでもよいし、条件A~Cと条件D~Fの一部の組み合わせの学習データでもよい。また、上記学習データは、条件A~Cそれぞれの学習データでもよいし、条件D~Fそれぞれの学習データでもよい。学習データを多数集めることで学習データセットとなる。
【0028】
S309では、モデル学習部206は、S308にて文字領域の特徴ごとに生成された学習データセットを用いて、文字認識モデルを学習する。これにより文字領域の特徴ごとに学習を行った文字認識モデル(学習モデル)が取得される。
【0029】
[第一の画像解析処理]
図4は、第一の画像解析処理(S303)の詳細な流れを示すフローチャートである。
図5(a)から(d)は、第一の画像解析処理を説明するための図である。
図6(a)および(b)は、部分画像を構成する画素の画素値の階級ごとの偏りを示す分布データ例を示す図である。なお、
図5(b)、(d)において、横方向に画素値を示し、縦方向に各画素値における画素数を示している。画素数は、該当する画素値を示す画素の個数を示している。
図6(a)は、
図5(b)に示す部分画像の場合を示し、
図6(b)は、
図5(d)に示す部分画像の場合を示している。
【0030】
S401では、画像解析部203は、S302にて生成された部分画像がグレイスケール画像であるか否か判定する。この判定は、S301にて取得された画像のプロパティ情報を用いて行う。例えば、上記プロパティ情報が、画像のチャンネル数が1でありbit深度が8であることを示している場合に、解析対象の部分画像がグレイスケール画像であると判定する。上記部分画像がグレイスケール画像でないとの判定結果が得られた場合(S401のNO)、処理はS402へ移行される。上記部分画像がグレイスケール画像であるとの判定結果が得られた場合(S401のYES)、処理はS403へ移行される。
【0031】
S402では、画像解析部203は、S302にて生成された部分画像をグレイスケール化してグレイスケール画像を生成する。すなわち、画像解析部203は、文書画像から取得された部分画像をグレイスケール処理してグレイスケールを生成するともいえる。
なお、グレイスケール化には、例えば、部分画像のカラーがRGB色空間の色値(RGB値)で表される場合、RGB値に対し重み付け演算を行い、得られた値をカラーのRGB値に対応するグレーの色値(グレー値)とする変換方法が採用される。重み付け演算には、例えば、RGB値を0.299R+0.587G+0.114Bで変換するNTSC変換がある。
【0032】
S403では、画像解析部203は、S302にて生成された部分画像(グレイスケール画像)について各画素値の画素数を算出して取得する。もしくは、画像解析部203は、S402にて生成された部分画像(グレイスケール画像)について各画素値の画素数を算出して取得する。すなわち、画像解析部203は、部分画像を構成する画素の画素値を基に、部分画像について各画素値を持つ画素の個数を算出して取得する。
図5(b)に
図5(a)に示す部分画像(グレイスケール画像)について各画素値と画素数との関係例を示す。また
図5(d)に
図5(c)に示す部分画像(グレイスケール画像)について各画素値と画素数との関係例を示す。
【0033】
S404では、画像解析部203は、S403にて取得された各画素値の画素数を基に各画素値の画素数の偏りを分析する。ここでは、度数分布を分析し、予め定められた画素値の範囲を階級として度数と相対度数と累積度数と累積相対度数とを算出する。画素値の範囲として、例えば、0~50、51~190、191~200、201~225、226~250、251~255のそれぞれの範囲を1つの階級とする。
図5(b)に示す各画素値の画素数を基に、
図6(a)に示すように、0~50、51~190、191~200、201~225、226~250、251~255のそれぞれの階級について度数と相対度数と累積度数と累積相対度数を算出する。
図5(d)に示す各画素値の画素数を基に、
図6(b)に示すように、0~50、51~190、191~200、201~225、226~250、251~255のそれぞれの階級について度数と相対度数と累積度数と累積相対度数を算出する。すなわち、画像解析部203は、部分画像を構成する画素の画素値毎の偏りを示す分布データを、文書画像における文字領域の特徴として取得する。
【0034】
[第一の画像分類]
図7は、上記第一の画像分類(S304)における判定条件例を示す図である。
【0035】
上記第一の画像分類では、まず、部分画像を分類するための条件について、度数分布を示す分布データから得られる情報に関する条件で予め定めておき、S303にて取得された分布データがどの条件にあてはまるか判定する。判定した結果に従って部分画像を分類する。例えば、
図7に示すように、画素値が251~255の範囲となる階級にて相対度数が0.6~1.0の範囲内であるという条件を満たす部分画像を画像データセットAに分類する。画素値が51~200の範囲となる階級にて相対度数が0.5~1.0の範囲内であるという条件を満たす部分画像を画像データセットBに分類する。画素値が191~255の範囲となる階級にて相対度数が0.5~1.0の範囲内であるという条件を満たす部分画像を画像データセットCに分類する。なお、上記条件を満たさない部分画像は、上記画像データセットA~Cと異なる画像データセットGに分類して学習に利用してもよいし、画像データセット対象外として学習に利用しなくてもよい。
【0036】
例えば、
図5(b)に示される各画素値と画素数の関係は画像データセットAの条件に当てはまるため、S302にて生成された部分画像は画像データセットAに分類される。
図5(d)に示される各画素値と画素数の関係は画像データセットCの条件に当てはまるため、S302にて生成された部分画像は画像データセットCに分類される。なお、
図7に記載される条件は、部分画像を分類する条件の一例であり、必ずしもこの条件である必要はない。
【0037】
[第二の画像解析処理]
図8は、第二の画像解析処理(S305)の詳細な流れを示すフローチャートである。なお、
図5(c)および
図5(d)に示す部分画像を行画像例とする。
【0038】
S801では、画像解析部203は、S302にて生成された部分画像を行画像とし、当該行画像の情報を取得する。ここでは、上記部分画像の幅方向の大きさおよび高さ方向の大きさを、上記行画像の幅方向の大きさである行幅、上記行画像の高さ方向の大きさである行高さを示す情報として取得する。
【0039】
S802では、画像解析部203は、S801にて取得された情報を基に行内に存在できる文字数と文字の横幅を推定する。行高さから一文字の横幅を算出し、行内に存在できる文字数を推定する。この際行内に存在する文字がすべて半角英数である場合とすべて全角である場合とのそれぞれについて推定を行う。行内に存在する文字がすべて全角である場合、例えば、
図9(a)に示すように、全ての文字は、幅方向の大きさが同じとなり、高さ方向の大きさが同じとなる。行内に存在する文字がすべて半角である場合、例えば、
図9(b)に示すように、全ての文字は、幅方向の大きさが同じとなり、高さ方向の大きさが同じとなる。
【0040】
S803では、画像解析部203は、S801にて取得された文字数と文字の横幅の情報を基に行内の区切りの数と隣接する区切り同士の間隔を推定する。S801にて得られた半角英数と全角の場合の文字数の平均をとり、その値を区切りの数の推定値とする。また、S801にて取得された半角英数と全角の場合の文字の横幅の平均をとり、隣接する区切り同士の間隔の推定値とする。すなわち、画像解析部203は、前記区切り数および前記間隔を推定した推定情報を取得する。
【0041】
S804では、画像解析部203は、部分画像(行画像)の区切りの数と隣接する区切り同士の間隔を取得する。行画像の横方向の射影をとり空白位置を取得し、区切りの数と隣接する区切り同士の間隔の値を取得する。
図9(c)および
図9(d)は、行画像の横方向の射影をとった際に行画像から取得される、隣接する区切り同士の間隔の例を示す図である。
図9(c)に示す部分画像(行画像)からは、区切りの数として、14が取得されることになる。
図9(d)に示す部分画像(行画像)からは、区切りの数として、9が取得されることになる。
【0042】
S805では、画像解析部203は、S803にて推定された区切りの数とS804にて取得された区切りの数とを比較する。また、画像解析部203は、S803にて推定された、隣接する区切り同士の間隔と、S804にて取得された、隣接する区切り同士の間隔とを比較する。すなわち、画像解析部203は、区切りの数についての比較結果と、隣接する区切り同士の間隔についての比較結果とを取得する。
【0043】
[第二の画像分類]
図10は、上記第二の画像分類(S306)における判定条件例を示す図である。
【0044】
上記第二の画像分類では、S805にて取得された比較結果をもとに対象の部分画像を分類する。例えば、部分画像を分類するための分類表を用いて、区切りの数と間隔から得られる結合度の情報がどの条件にあてはまるか判定する。判定結果に従って部分画像を分類する。例えば、
図10に示すように、結合度が小であるという条件を満たす部分画像を画像データセットDに分類する。すなわち、間隔の差が閾値(第1の閾値)範囲内であり、かつ、その間隔の数の割合が閾値(第2の閾値)未満であるという条件を満たす部分画像を画像データセットDに分類する。結合度が中であるという条件を満たす部分画像を画像データセットEに分類する。すなわち、間隔の差が閾値(第1の閾値)範囲内であり、かつ、その間隔の数の割合が閾値(第2の閾値)以上であるという条件を満たす部分画像を画像データセットEに分類する。結合度が大であるという条件を満たす部分画像を画像データセットFに分類する。すなわち、間隔の差が閾値(第1の閾値)以上であり、かつ、その間隔の数の割合が閾値(第2の閾値)以上であるという条件を満たす部分画像を画像データセットFに分類する。
【0045】
ここで、S803にて取得された区切りの数の推定値は15であり、S803にて取得された、隣接する区切り同士の間隔(区切りの間隔)の推定値は30であり、S804にて下記の値が取得された場合について説明する。
【0046】
【表1】
画像データセットEと判定する条件が、最も多い区切り間隔の差(間隔の差)が15以下であり、その間隔の数の割合が8割以上だとする。
【0047】
上記の表において、間隔の数の合計は14(=12+1+1)であり、最も多い区切り幅は20であり、その数は12個存在する。
【0048】
この場合、間隔の差は15以下(|30-20|=10)であり、数は8割以上(10/14=0.85)存在する。
【0049】
よって、画像データセットEと判定する条件にあてはまるので画像データセットEと判定する。
【0050】
図10に記載されるように区切りの数と間隔に関する条件を結合度の度合いとして予め定めておき、あてはまる度合いに分類する。
【0051】
このように結合度に応じて部分画像である行画像を分類することで、行内に存在する文字の結合度に応じた画像データセットを作成することができる。
【0052】
[文字認識処理]
図11は、文字認識処理の流れを示すフローチャートである。なお、
図11のフローチャートに示すS1101~S1105の処理は、システム制御部111が所定のプログラムをROM112等から読み出してRAM113に展開して実行することで実現される。
図11に示す文字認識処理では、
図3に示す学習処理で学習した文字認識モデルが用いられる。
【0053】
S1101では、取得部201は、文字認識処理対象である文書画像のデータをHDD114から取得する。
【0054】
S1102では、部分画像生成部202は、S1101にて取得した文書画像のデータで表される文書画像から部分画像を生成する。部分画像は、例えば、上記S302と同様、文書画像に対し射影をとることにより行と思われる領域を特定する行切りを行い一連の文字列部分を切り出すことにより生成される。部分画像の生成方法は、上記行切りに限定されない。予め文書画像のフォーマットが決まっている場合、特定の領域に行が存在すると考えられるため、部分画像の生成方法として、例えば、座標情報によって指定された文書画像内の特定の領域に対応する画像を部分画像として生成する方法を用いてもよい。
【0055】
S1103では、画像解析部203は、S1102にて生成された部分画像に対して画像解析を行う。S1103の画像解析は、上記S303の第一の画像解析、上記S305の第二の画像解析と同様の処理である。または、S1103の画像解析は、上記S303の第一の画像解析と同様な処理である。画像解析部203は、上記画像解析処理を行うことで、S1102にて生成された部分画像の解析結果を取得する。
【0056】
S1104では、モデル選択部207は、S1103にて取得された解析結果に対応した文字認識モデルの選択を行う。文字認識モデルの選択は、上記S304の第一の画像分類と同様の判定条件を用いる処理である。または、文字認識モデルの選択は、上記S306の第二の画像分類と同様の判定条件を用いる処理である。上記S304または上記S306にて予め定められた条件で部分画像を各画像データセットに分類していたところを、各画像データセットで学習を行った文字認識モデルを選択する処理に置き換えた処理である。これにより、複数の文字認識モデルのうち、文書画像における文字領域の特徴ごとに最適な文字認識モデルを選択する。なお、上記S1103において、上記画像データセットA~Fの何れにも該当しない画像解析結果が得られた場合、従来と同様、文書画像における文字領域の特徴ごとに分類されていない画像データセットを用いて学習した文字認識モデルを選択することになる。
【0057】
S1105では、文字認識部208は、S1104にて選択した文字認識モデルを用いて、S1001にて取得した文書画像に対して文字認識処理を実行する。
【0058】
以上説明した通り、本実施形態では、文書画像から部分画像を取得し、部分画像を画像解析して得られた部分画像における文字領域の特徴ごとの画像データセットを作成し、文字領域の特徴ごとに画像データセットを用いて文字認識モデルを学習する。OCR処理対象の文書画像に対し、文字領域の特徴ごとに対応する文字認識モデルを用いてOCR処理を実行する。これにより、文字認識結果として適切な文字列を取得できる。すなわち、文書画像が劣化画像であっても、文書画像における文字領域の特徴ごとに、対応する文字認識モデルを用いてOCR処理を行って文字を認識することができる。よって、文書画像に対するOCR精度を向上させることができる。
【0059】
<その他の実施形態>
上記では、第一の画像解析処理および画像分類、第二の画像解析処理および画像分類を行い、文字領域の特徴ごとに生成した学習データセットを用いて、文字領域の特徴ごとに、文字認識モデルを学習する場合について説明したが、これに限定されない。第一の画像解析処理および第一の画像分類を行い、文書画像における文字領域の特徴ごとに分類した画像データセットに対応した学習データセットを作成し、文字領域の特徴ごとに生成した学習データセットを用いて文字認識モデルを学習してもよい。
【0060】
上記では、第一および第二の画像解析、第一および第二の画像分類の条件を用いた文字認識モデルの選択、選択した文字認識モデルを用いた文字認識処理を実行する場合について説明したが、これに限定されない。第一の画像解析、第一の画像分類の条件を用いた文字認識モデルの選択、選択した文字認識モデルを用いた文字認識処理を実行してもよい。
【0061】
本開示は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0062】
本実施形態の開示は、以下の構成例を含む。
【0063】
(構成1)
文字認識用の学習モデルを得るための画像処理装置であって、
文書を読み取って得られた文書画像における文字領域の特徴に基づき当該文書画像を分類する分類手段と、
分類した前記文書画像の文字領域の特徴ごとに、正解データと対をなす学習データを生成する生成手段と、
前記文字領域の特徴ごとに生成された前記学習データを用いて、前記学習モデルを学習する学習手段と、
を有する、ことを特徴とする画像処理装置。
【0064】
(構成2)
前記文書画像を解析して前記文字領域の特徴を取得する解析手段をさらに有し、
前記分類手段は、取得した前記文字領域の特徴に基づき当該文書画像を分類する
ことを特徴とする構成1に記載の画像処理装置。
【0065】
(構成3)
前記文書画像から行単位の部分画像を取得する取得手段をさらに有し、
前記解析手段は、取得した前記部分画像を構成する画素の画素値毎の偏りを示す分布データを、前記文字領域の特徴として取得し、
前記分類手段は、取得した前記分布データを基に、前記文字領域の特徴ごとに前記部分画像を分類し、
前記学習手段は、分類した前記部分画像の文字領域の特徴ごとに生成された前記学習データを用いて、前記学習モデルを学習する
ことを特徴とする構成2に記載の画像処理装置。
【0066】
(構成4)
前記文書画像から行単位の部分画像を取得する取得手段をさらに有し、
前記解析手段は、取得した前記部分画像を文字で区切った区切り数と、前記部分画像における隣接する前記区切り同士の間隔とを示す文字列情報を、前記文字領域の特徴として取得し、
前記分類手段は、取得した前記文字列情報を基に、前記文字領域の特徴ごとに前記部分画像を分類し、
前記学習手段は、分類した前記部分画像の文字領域の特徴ごとに生成された前記学習データを用いて、前記学習モデルを学習する
ことを特徴とする構成2に記載の画像処理装置。
【0067】
(構成5)
前記文書画像から行単位の部分画像を取得する取得手段をさらに有し、
前記解析手段は、取得した前記部分画像を構成する画素の画素値毎の偏りを示す分布データと、取得した前記部分画像を文字で区切った区切り数および前記部分画像における隣接する前記区切り同士の間隔を示す文字列情報とを、前記文字領域の特徴として取得し、
前記分類手段は、取得した前記分布データおよび取得した前記文字列情報を基に、前記文字領域の特徴ごとに前記部分画像を分類し、
前記学習手段は、分類した前記部分画像の文字領域の特徴ごとに生成された前記学習データを用いて、前記学習モデルを学習する
ことを特徴とする構成2に記載の画像処理装置。
【0068】
(構成6)
前記解析手段は、
前記部分画像に存在し得る文字の数と前記部分画像に存在し得る文字の横方向の大きさを基に、前記区切り数および前記間隔を推定した推定情報を取得し、
前記文字列情報の前記区切り数と前記推定情報の前記区切り数とを比較すると共に、前記文字列情報の前記間隔と前記推定情報の前記間隔とを比較し、
前記分類手段は、前記解析手段による前記比較で得られた比較結果に基づき前記文字領域の特徴ごとに前記部分画像を分類する
ことを特徴とする構成4または5に記載の画像処理装置。
【0069】
(構成7)
前記解析手段は、
前記文書画像がグレイスケール画像でない場合、前記文書画像をグレイスケール処理してグレイスケール画像を生成し、
生成した前記グレイスケール画像を解析して、前記文字領域の特徴を取得する
ことを特徴とする構成2から6の何れか一つに記載の画像処理装置。
【0070】
(構成8)
前記学習モデルは、活字文字を認識する
ことを特徴とする構成1から7の何れか一つに記載の画像処理装置。
【0071】
(構成9)
文字認識用の学習モデルを用いて文字認識を行う画像処理装置であって、
学習用の文書画像における文字領域の特徴ごとに学習した複数の学習モデルのうち、処理対象の文書画像における文字領域の特徴に従い学習モデルを選択する選択手段と、
選択した前記学習モデルを用いて、前記処理対象の文書画像に対して文字認識を行う文字認識手段と、
を有する、ことを特徴とする画像処理装置。
【0072】
(構成10)
前記文書画像を解析して前記文字領域の特徴を取得する解析手段をさらに有し、
前記選択手段は、取得した前記文字領域の特徴に基づき前記学習モデルを選択する
ことを特徴とする構成9に記載の画像処理装置。
【0073】
(構成11)
前記処理対象の文書画像から行単位の部分画像を取得する取得手段をさらに有し、
前記解析手段は、前記部分画像を構成する画素の画素値毎の偏りを示す分布データを、前記文字領域の特徴として取得し、
前記選択手段は、取得した前記分布データを基に、前記文字領域の特徴ごとに分類した前記部分画像に対応する前記学習モデルを選択し、
前記文字認識手段は、分類した前記部分画像の文字領域の特徴ごとに選択された前記学習モデルを用いて、前記処理対象の文書画像に対して文字認識を行う
ことを特徴とする構成10に記載の画像処理装置。
【0074】
(構成12)
前記文書画像から行単位の部分画像を取得する取得手段をさらに有し、
前記解析手段は、取得した前記部分画像を文字で区切った区切り数と、前記部分画像における隣接する前記区切り同士の間隔とを示す文字列情報を、前記文字領域の特徴として取得し、
前記選択手段は、取得した前記文字列情報を基に、前記部分画像の特徴ごとに分類した前記部分画像に対応する前記学習モデルを選択し、
前記文字認識手段は、分類した前記部分画像の文字領域の特徴ごとに選択された前記学習モデルを用いて、前記処理対象の文書画像に対して文字認識を行う
ことを特徴とする構成10に記載の画像処理装置。
【0075】
(構成13)
前記文書画像から行単位の部分画像を取得する取得手段をさらに有し、
前記解析手段は、取得した前記部分画像を構成する画素の画素値毎の偏りを示す分布データと、取得した前記部分画像を文字で区切った区切り数および前記部分画像における隣接する前記区切り同士の間隔を示す文字列情報とを、前記文字領域の特徴として取得し、
前記文字認識手段は、分類した前記部分画像の文字領域の特徴ごとに選択された前記学習モデルを用いて、前記処理対象の文書画像に対して文字認識を行う
ことを特徴とする構成10に記載の画像処理装置。
【0076】
(構成14)
前記解析手段は、
前記部分画像に存在し得る文字の数と前記部分画像に存在し得る文字の横方向の大きさを基に、前記区切り数および前記間隔を推定した推定情報を取得し、
前記文字列情報の前記区切り数と前記推定情報の前記区切り数とを比較すると共に、前記文字列情報の前記間隔と前記推定情報の前記間隔とを比較し、
前記選択手段は、前記解析手段による前記比較で得られた比較結果に基づき前記文字領域の特徴ごとに前記学習モデルを選択する
ことを特徴とする構成12または13に記載の画像処理装置。
【0077】
(構成15)
前記解析手段は、
前記文書画像がグレイスケール画像でない場合、前記文書画像をグレイスケール処理してグレイスケール画像を生成し、
生成した前記グレイスケール画像を解析して、前記文字領域の特徴を取得する
ことを特徴とする構成10から14の何れか一つに記載の画像処理装置。
【0078】
(構成16)
前記学習モデルは、活字文字を認識する
ことを特徴とする構成9から15の何れか一つに記載の画像処理装置。
【0079】
(構成17)
文字認識用の学習モデルを得るための画像処理方法であって、
文書を読み取って得られた文書画像における文字領域の特徴に基づき当該文書画像を分類する分類工程と、
分類した前記文書画像の文字領域の特徴ごとに、正解データと対をなす学習データを生成する生成工程と、
前記文字領域の特徴ごとに生成された前記学習データを用いて、前記学習モデルを学習する学習工程と、
を含む、ことを特徴とする画像処理方法。
【0080】
(構成18)
文字認識用の学習モデルを用いて文字認識を行う画像処理方法であって、
学習用の文書画像における文字領域の特徴ごとに学習した複数の学習モデルのうち、処理対象の文書画像における文字領域の特徴に従い学習モデルを選択する選択工程と、
選択した前記学習モデルを用いて、前記処理対象の文書画像に対して文字認識を行う文字認識工程と、
を含む、ことを特徴とする画像処理方法。
【0081】
(構成19)
コンピュータに、構成17に記載の画像処理方法を実行させるためのプログラム。
【0082】
(構成20)
コンピュータに、構成18に記載の画像処理方法を実行させるためのプログラム。
【符号の説明】
【0083】
204 画像分類部
205 学習データ生成部
206 モデル学習部