説明

文字列認識装置、文字列認識方法及び文字列認識プログラム

【課題】複雑な背景に文字が重畳された場合でも高速に文字が認識できる技術を提供する。
【解決手段】文字列矩形推定部12により、文字らしさを表す特徴量を用いて文字列の位置と大きさを推定し、代表文字認識部14により、推定した文字列の位置と大きさから代表的な文字の認識を行い、個別文字認識部16により、代表文字の認識結果から文字の探索範囲を適切に設定して各文字の認識を行う。これにより、複雑な背景に文字が重畳された場合でも高速に文字を認識することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像中の文字を認識する技術に関する。
【背景技術】
【0002】
画像中の文字を認識する従来技術として、画像中の文字領域を切り出し、切り出された文字領域に対して辞書との照合を行うことで各文字の認識を行う方法がある。文字領域を切り出す方法として画像の領域分割を行う方法が一般的である。非特許文献1では、入力画像のエッジ分布から文字領域を推定し、推定した文字領域内の輝度画像を高輝度領域と低輝度領域に分割する2値化処理を行っている。
【0003】
また、画像から文字領域を切り出すことなく、画像全体に対し、文字の照合を行う方法もある。非特許文献2では、画像中のすべての位置について、文字の大きさを変えながら順次辞書との照合を行い、照合結果としての距離がしきい値以内であれば文字であると認識する全探索により文字認識を行っている。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】平松、外4名、「テロップ認識のための領域配置情報を用いた文字領域抽出」、電子情報通信学会総合大会講演論文集、2008年3月5日、D-12-70、p.201
【非特許文献2】草地、外4名、「景観画像中の文字候補群による画像インデクシング及び検索技術」、電子情報通信学会論文誌、2007年、Vol.90、No.2、p.2562-2572
【発明の概要】
【発明が解決しようとする課題】
【0005】
非特許文献1の方法では、白い背景上の黒色の文字のように、文字領域が背景と異なる色や輝度になっているときには、適切に文字の認識が行える。しかし、複雑な背景に文字が重畳されている場合には文字領域を精度良く切り出すことが困難であるという問題があった。
【0006】
非特許文献2の方法では、画像全体の位置や想定される文字の大きさについて全探索を行うので処理時間がかかるという問題があった。
【0007】
本発明は、上記に鑑みてなされたものであり、画像中の文字列の各文字を認識する技術において、複雑な背景に文字が重畳された場合でも高速に文字が認識できる技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
第1の本発明に係る文字列認識装置は、文字列を含む画像を入力する画像入力手段と、前記画像から文字らしさを表す特徴量を抽出し、前記特徴量を画素値とする特徴量抽出画像における局所領域内での前記特徴量の密集度から文字列領域を推定する文字列領域推定手段と、前記文字列領域の位置と大きさに基づいて文字の第1の探索範囲を設定し、前記画像における前記第1の探索範囲内の部分画像と文字認識辞書データとの照合を行って代表的な文字を認識する代表文字認識手段と、前記代表的な文字の位置と大きさに基づいて第2の文字探索範囲を設定し、前記画像における前記第2の文字探索範囲内の部分画像と文字認識辞書データとの照合を行って前記画像に含まれる各文字を認識する個別文字認識手段と、を有することを特徴とする。
【0009】
上記文字列認識装置において、前記文字列領域推定手段は、文字列方向に延び、認識対象の文字の大きさの定数倍の線分を前記局所領域とすることを特徴とする。
【0010】
上記文字列認識装置において、前記文字認識辞書データは複数の属性別辞書データで構成されるものであって、前記代表文字認識手段は、前記文字認識辞書データを構成する全ての属性別辞書データを利用して前記代表的な文字の照合を行い、前記個別文字認識手段は、前記代表文字認識手段が前記代表的な文字を認識した際に用いた前記属性別辞書データのみを利用して照合を行うことを特徴とする。
【0011】
第2の本発明に係る文字列認識方法は、文字列を含む画像を入力するステップと、前記画像から文字らしさを表す特徴量を抽出し、前記特徴量を画素値とする特徴量抽出画像における局所領域内での前記特徴量の密集度から文字列領域を推定するステップと、前記文字列領域の位置と大きさに基づいて第1の文字探索範囲を設定し、前記画像における前記第1の文字探索範囲内の部分画像と文字認識辞書データとの照合を行って代表的な文字を認識するステップと、前記代表的な文字の位置と大きさに基づいて第2の文字探索範囲を設定し、前記画像における前記第2の文字探索範囲内の部分画像と文字認識辞書データとの照合を行って前記画像に含まれる各文字を認識するステップと、を有することを特徴とする。
【0012】
第3の本発明に係る文字列認識プログラムは、上記文字列認識方法をコンピュータに実行させることを特徴とする。
【発明の効果】
【0013】
本発明によれば、画像中の文字列の各文字を認識する技術において、複雑な背景に文字が重畳された場合でも高速に文字が認識できる技術を提供することができる。
【図面の簡単な説明】
【0014】
【図1】本実施の形態における文字列認識装置の構成を示す機能ブロック図である。
【図2】文字列の位置と大きさを推定する処理を説明するための図である。
【図3】代表文字を認識する処理を説明するための図である。
【図4】本実施の形態における文字列認識装置の処理の流れを示すフローチャートである。
【図5】処理対象画像から文字列を認識する様子を示す図である。
【発明を実施するための形態】
【0015】
以下、本発明の実施の形態について図面を用いて説明する。
【0016】
図1は、本実施の形態における文字列認識装置の構成を示す機能ブロック図である。同図に示す文字列認識装置1は、画像取得部11、文字列矩形推定部12、画像管理部13、代表文字認識部14、辞書データ管理部15、および個別文字認識部16を備える。文字列認識装置1が備える各部は、演算処理装置、記憶装置等を備えたコンピュータにより構成して、各部の処理がプログラムによって実行されるものとしてもよい。このプログラムは文字列認識装置1が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。以下、各部について説明する。
【0017】
画像取得部11は、文字列を含む処理対象画像を取得して文字列矩形推定部12に出力する。
【0018】
文字列矩形推定部12は、処理対象画像から文字らしさを表す特徴量を抽出し、その特徴量を画素値とする特徴量抽出結果画像における局所領域内での特徴量の密集度から文字列の位置と大きさを推定する。そして、処理対象画像を画像管理部13に、推定した文字列の位置と大きさを代表文字認識部14にそれぞれ出力する。文字らしさを表す特徴量としては、下記の参考文献のペアエッジを用いる方法が有効である。なお、文字列の位置と大きさを推定する処理の詳細については後述する。
【0019】
[参考文献]長尾、嶌田、谷口、「映像インデクシングのためのテロップレイアウト情報抽出法」、第14回画像センシングシンポジウム、2008年、IN4−11
画像管理部13は、処理対象画像を管理し、代表文字認識部14および個別文字認識部16からの要求に応じて処理対象画像を転送する。
【0020】
代表文字認識部14は、代表文字探索範囲設定部141と代表文字認識処理部142を備え、代表文字探索範囲設定部141が文字列の位置と大きさに基づいて文字の探索範囲を設定し、代表文字認識処理部142が代表的な文字の認識を行うことで、処理対象画像中の代表的な1文字を認識する。
【0021】
代表文字探索範囲設定部141は、文字列矩形推定部12から、処理対象画像中の文字列の位置と大きさとして、文字列の垂直方向の中心位置Y0、文字列の高さH0、および文字列の水平方向の両端の位置Xs,Xeを受け取り、その中心位置Y0と高さH0から文字の探索範囲である位置、高さ、幅の範囲をいくつか設定する。例えば、垂直方向の位置としてY0+6,Y0+4,Y0+2,Y0,Y0−2,Y0−4,Y0−6の7通り、高さとしてH0+10,H0+5,H0,H0−5,H0−10の5通り、幅として高さの1.4倍、1.2倍、等倍、0.8倍、0.6倍の5通りの文字の探索範囲を設定する。
【0022】
代表文字認識処理部142は、代表文字探索範囲設定部141から文字の探索範囲を受け取ると、画像管理部13から処理対象画像を読み出し、辞書データ管理部15から全ての辞書データを取得して、文字の探索範囲を文字列の方向(水平方向)にずらしつつ、探索範囲内の画像と辞書データとを照合して文字列のなかの代表的な文字(代表文字)の認識を行う。照合には非特許文献2で用いられている濃度勾配の加重方向ヒストグラムを部分画像から求める方法が有効である。探索範囲内の部分画像と辞書データとの照合距離を求め、照合距離がしきい値以下の場合に、探索範囲内の部分画像を代表文字として認識する。代表文字認識処理部142が代表文字を認識すると、認識した代表文字の垂直方向の位置Y1と代表文字の高さH1、照合した辞書データ(例えばゴシック系辞書)、および文字列の水平方向の両端の位置Xs,Xeを個別文字認識部16に出力する。
【0023】
辞書データ管理部15は、文字認識を行うための字形を登録した辞書を管理し、代表文字認識処理部142や文字認識処理部162からの要求に応じて辞書データを出力する。辞書データ管理部15に文字フォントや文字飾りに対応した辞書データを管理しておくことも有効である。本実施の形態では、辞書データ管理部15にゴシック系と明朝系の2種類の辞書データを管理しておくものとする。代表文字の認識の際には、辞書データ管理部15に登録した全ての辞書、つまりゴシック系と明朝系のいずれの辞書データとも照合される。
【0024】
個別文字認識部16は、文字探索範囲設定部161と文字認識処理部162を備え、文字探索範囲設定部161が代表文字に基づいて文字の探索範囲を設定し、文字認識処理部162が文字列の各文字の認識を行うことで、処理対象画像中の各文字を認識する。
【0025】
文字探索範囲設定部161は、代表文字の垂直方向の位置Y1と高さH1を受け取り、代表文字の位置Y1と高さH1から文字の探索範囲である位置、高さ、幅の範囲をいくつか設定する。例えば、垂直方向の位置としてY1+2,Y1,Y1−2の3通り、高さとしてH1+5,H1,H1−5の3通り、幅として高さの1.4倍、1.2倍、等倍、0.8倍、0.6倍の5通りの文字の探索範囲を設定する。
【0026】
文字認識処理部162は、文字探索範囲設定部161から文字の探索範囲を受け取ると、画像管理部13から処理対象画像を読み出し、辞書データ管理部15から代表文字が照合された辞書データを取得して、文字の探索範囲の水平方向の位置を変えながら、文字の探索範囲内の部分画像と辞書データとの照合距離を求め、照合距離がしきい値以下の場合に探索範囲内の部分画像を文字として認識し、処理対象画像内の各文字を認識する。水平方向の位置を変える際には、XsからXeまで順次スキャンすることを基本とするが、文字が認識できた後、探索範囲の幅だけ飛ばしたところを始点として次の文字を認識する方法や、XsからXeの範囲外として高さH1の定数倍だけ外側をスキャンする方法などが有効である。
【0027】
なお、文字が垂直方向に並んだ文字列の場合は、処理対象画像中の文字列の位置と大きさとして、文字列の水平方向の中心位置、文字列の幅、および文字列の垂直方向の両端の位置を用い、代表文字、各文字の照合の際には探索範囲を垂直方向に変えながら処理を行う。
【0028】
次に、文字列の位置と大きさを推定する処理について説明する。本実施の形態では、文字らしさを表す特徴量としてペアエッジを用い、線分上のペアエッジ数を計数して文字列の位置と大きさを推定する。
【0029】
図2は、文字列矩形推定部12が文字列の位置と大きさを推定する処理を説明するための図である。
【0030】
まず、文字列矩形推定部12は、図2(a)に示す文字列を含む処理対象画像を処理し、図2(b)に示すエッジ画像を得る。
【0031】
エッジ画像で水平、垂直方向にしきい値より小さい距離でペアとなるペアエッジを残して図2(c)に示すペアエッジ画像を得る。図2(c)に示すように、ペアエッジ画像では、線図形の文字のエッジは残るが、円や長方形のエッジはペアとなるエッジが存在しないため削除される。
【0032】
続いて、ペアエッジ画像の各画素を計測点として、計測点を中心に文字列方向に延ばした線分を配置し、線分上のペアエッジの数を計数する。なお、線分の方向と長さは処理対象画像が含む文字列の方向や文字の大きさに応じて事前に設定しておく。縦書き、横書きの文字列が想定される場合は文字列方向に、水平方向、垂直方向の線分を設定しておけばよい。図2(d)では、計測点Aに、水平方向に延びる、想定される文字の3倍程度の長さの線分を配置した様子を示す。例えば、文字の大きさが60×60画素程度で、水平方向に文字が並ぶ横書きの文字列を想定している場合は、線分として、水平方向が121画素で垂直方向が3画素の矩形を設定すればよい。このように設定した線分上に存在するペアエッジの数を計数し、計測点毎に記録しておく。
【0033】
そして、計測した線分上のペアエッジの数がしきい値以上の計測点を文字列エリア画素として求め、文字列エリア画素を線分方向に射影したヒストグラムを算出し、文字列の位置と大きさを推定する。図2(e)に文字列エリア画素をプロットした図を示す。図2(e)の文字列エリア画像の右側に示したヒストグラムの凸部の中心を文字列の中心位置Y0、幅を文字列の高さH0とする。ここで、文字の高さに相当する範囲を事前に設定しておき、推定した高さH0が範囲内であれば文字列エリア、範囲外であればノイズとする。また、文字列エリアの画素の連結領域から文字列の水平方向の両端の位置Xs,Xeを推定する。
【0034】
次に、代表文字を認識する処理について説明する。
【0035】
図3は、代表文字認識処理部142が代表文字を認識する処理を説明するための図である。図3に示す例の文字の探索範囲は、垂直方向の位置Y0−4、高さH0+5、幅が高さの0.6倍であり、処理対象画像の座標(X,Y0−4)に文字照合矩形(高さH0+5,幅0.6×(H0+5))を当てはめた様子が図示されている。処理対象画像に文字照合矩形を当てはめた部分が文字の探索範囲となる。
【0036】
代表文字認識処理部142は、探索範囲の中心位置(X,Y0−4)の水平方向の位置XをXsからXeの範囲で適当に変えながら、探索範囲内の部分画像と辞書データとを照合する。例えば、探索範囲の水平方向の位置XをXsとXeの中点からXsとXeに向けて交互に、(Xs+Xe)/2,(2k+(Xs+Xe))/2,(−2k+(Xs+Xe))/2,k=1,2,・・・の順でずらして照合を行う。また、探索範囲の水平方向の位置XをXsからXeへ順次スキャンしてもよい。さらに、探索範囲の水平方向の位置Xをスキャンする別の実施例として、文字の存在する可能性の高いところからスキャンする方法も有効である。例えば、中心位置の水平方向の位置がXで垂直方向の位置がY0、高さと幅がH0の矩形を設定し、矩形の中心の水平方向の位置Xを、Xs+H0/2からXe−H0/2まで2画素間隔で変化させたときに各Xでの矩形内のペアエッジ数を計数し、ペアエッジ数が多い順にXをスキャンする。
【0037】
なお、処理対象画像の文字列の各文字を認識するときも上記と同様に、文字の探索範囲を設定し、探索範囲を変えながら、探索範囲内の部分画像と辞書データとを照合する。
【0038】
次に、本実施の形態における文字列認識装置の処理の流れについて説明する。
【0039】
図4は、本実施の形態における文字列認識装置の処理の流れを示すフローチャートである。
【0040】
まず、画像取得部11が処理対象画像を取得して文字列矩形推定部12に出力する(ステップS101)。図5(a)に処理対象画像の例を示す。
【0041】
続いて、文字列矩形推定部12が処理対象画像中の文字列の位置と大きさを推定する(ステップS102)。図5(a)の処理対象画像から文字列の位置と大きさを推定した結果を図5(b)に示す。本実施の形態では、ペアエッジの密集度判定に線分を用いることで文字列の上方にある図形の影響を受けることなく文字列の位置と大きさを推定できた。文字列の垂直方向の中心位置Y0、文字列の高さH0、および文字列の水平方向の両端の位置Xs,Xeが推定結果として代表文字探索範囲設定部141に出力される。
【0042】
代表文字探索範囲設定部141は、文字列矩形推定部12が推定した文字列の位置や大きさに基づいて代表文字を認識するための文字の探索範囲を設定し、設定した文字の探索範囲を代表文字認識処理部142に出力する(ステップS103)。
【0043】
代表文字認識処理部142は、画像管理部13から処理対象画像を読み出し、辞書データ管理部15からゴシック系と明朝系の全ての辞書データを読み出し、代表文字探索範囲設定部141から受け取った文字の探索範囲を用いて、文字の探索範囲を水平方向にずらしつつ、文字の探索範囲内の部分画像と全ての辞書データとの照合距離を求めて、照合距離がしきい値以下の場合を代表文字の認識結果とする(ステップS104)。図5(c)に、代表文字の認識結果を示す。同図では、ゴシック系の辞書データとの照合結果である「字」が認識され、代表文字の垂直方向の位置Y1と代表文字の高さH1が求められた。図5(b)で示した文字列矩形推定部12が推定した文字列の高さH0は実際の文字列の高さより小さい値となっているが、図5(c)で示した代表文字認識処理部142が求めた代表文字の高さH1は文字認識を行っているので実際の文字列の高さと等しくなっている。認識した代表文字の垂直方向の位置Y1、代表文字の高さH1、照合した辞書データ(ゴシック系辞書)、および文字列の水平方向の両端の位置Xs,Xeを文字探索範囲設定部161に出力する。
【0044】
文字探索範囲設定部161は、代表文字認識処理部142が認識した代表文字の位置や大きさに基づいて処理対象画像中の各文字を認識するための文字の探索範囲を設定し、設定した文字の探索範囲を文字認識処理部162に出力する(ステップS105)。
【0045】
文字認識処理部162は、画像管理部13から処理対象画像を読み出し、辞書データ管理部15から代表文字が照合された辞書データを読み出し、文字探索範囲設定部161から受け取った文字の探索範囲を用いて、文字の探索範囲を水平方向にずらしつつ、文字の探索範囲内の部分画像と読み出した辞書データとの照合距離を求めて、照合距離がしきい値以下の場合を文字として認識する(ステップS106)。代表文字の位置を(X1,Y1)とすると、文字の探索範囲の水平方向の位置は、X1+0.5H1からXe+H1まで、X1−0.5H1からXs−H1までそれぞれを一定間隔で変化させると有効である。図5(d)の網掛け部分が文字の探索範囲内の部分画像と辞書データとを照合する照合エリアとなる。
【0046】
以上説明したように、本実施の形態によれば、文字列矩形推定部12により、文字らしさを表す特徴量を用いて文字列の位置と大きさを推定し、代表文字認識部14により、推定した文字列の位置と大きさから代表的な文字の認識を行い、個別文字認識部16により、代表文字の認識結果から文字の探索範囲を適切に設定して各文字の認識を行うので、複雑な背景に文字が重畳された場合でも高速に文字を認識することができる。
【符号の説明】
【0047】
1…文字列認識装置
11…画像取得部
12…文字列矩形推定部
13…画像管理部
14…代表文字認識部
141…代表文字探索範囲設定部
142…代表文字認識処理部
15…辞書データ管理部
16…個別文字認識部
161…文字探索範囲設定部
162…文字認識処理部

【特許請求の範囲】
【請求項1】
文字列を含む画像を入力する画像入力手段と、
前記画像から文字らしさを表す特徴量を抽出し、前記特徴量を画素値とする特徴量抽出画像における局所領域内での前記特徴量の密集度から文字列領域を推定する文字列領域推定手段と、
前記文字列領域の位置と大きさに基づいて第1の文字探索範囲を設定し、前記画像における前記第1の文字探索範囲内の部分画像と文字認識辞書データとの照合を行って代表的な文字を認識する代表文字認識手段と、
前記代表的な文字の位置と大きさに基づいて第2の文字探索範囲を設定し、前記画像における前記第2の文字探索範囲内の部分画像と文字認識辞書データとの照合を行って前記画像に含まれる各文字を認識する個別文字認識手段と、
を有することを特徴とする文字列認識装置。
【請求項2】
前記文字列領域推定手段は、文字列方向に延び、認識対象の文字の大きさの定数倍の線分を前記局所領域とすることを特徴とする請求項1記載の文字列認識装置。
【請求項3】
前記文字認識辞書データは複数の属性別辞書データで構成されるものであって、
前記代表文字認識手段は、前記文字認識辞書データを構成する全ての属性別辞書データを利用して前記代表的な文字の照合を行い、
前記個別文字認識手段は、前記代表文字認識手段が前記代表的な文字を認識した際に用いた前記属性別辞書データのみを利用して照合を行うことを特徴とする請求項1又は2記載の文字列認識装置。
【請求項4】
文字列を含む画像を入力するステップと、
前記画像から文字らしさを表す特徴量を抽出し、前記特徴量を画素値とする特徴量抽出画像における局所領域内での前記特徴量の密集度から文字列領域を推定するステップと、
前記文字列領域の位置と大きさに基づいて第1の文字探索範囲を設定し、前記画像における前記第1の文字探索範囲内の部分画像と文字認識辞書データとの照合を行って代表的な文字を認識するステップと、
前記代表的な文字の位置と大きさに基づいて第2の文字探索範囲を設定し、前記画像における前記第2の文字探索範囲内の部分画像と文字認識辞書データとの照合を行って前記画像に含まれる各文字を認識するステップと、
を有することを特徴とする文字列認識方法。
【請求項5】
前記文字列領域を推定するステップは、文字列方向に延び、認識対象の文字の大きさの定数倍の線分を前記局所領域とすることを特徴とする請求項4記載の文字列認識方法。
【請求項6】
前記文字認識辞書データは複数の属性別辞書データで構成されるものであって、
前記代表的な文字を認識するステップは、前記文字認識辞書データを構成する全ての属性別辞書データを利用して前記代表的な文字の照合を行い、
前記各文字を認識するステップは、前記代表的な文字を認識するステップにおいて前記代表的な文字を認識した際に用いた前記属性別辞書データのみを利用して照合を行うことを特徴とする請求項4又は5記載の文字列認識方法。
【請求項7】
請求項4乃至6のいずれかに記載の文字列認識方法をコンピュータに実行させることを特徴とする文字列認識プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate