JP7065065B2 - 文字認識装置 - Google Patents
文字認識装置 Download PDFInfo
- Publication number
- JP7065065B2 JP7065065B2 JP2019184330A JP2019184330A JP7065065B2 JP 7065065 B2 JP7065065 B2 JP 7065065B2 JP 2019184330 A JP2019184330 A JP 2019184330A JP 2019184330 A JP2019184330 A JP 2019184330A JP 7065065 B2 JP7065065 B2 JP 7065065B2
- Authority
- JP
- Japan
- Prior art keywords
- character
- contour
- standard
- recognition target
- difference
- 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.)
- Active
Links
Images
Landscapes
- Character Discrimination (AREA)
Description
文字コードが付与された複数の標準文字の各々について当該標準文字の輪郭線に沿って抽出された複数の輪郭点を記憶した記憶装置にアクセス可能な文字認識装置であって、
ビットマップ画像である認識対象文字の画像をベクタ画像に変換し、前記ベクタ画像から当該認識対象文字の輪郭線に沿って第1の密度の複数の輪郭点を抽出する第1のモジュールと、
前記第1のモジュールで抽出された複数の輪郭点に含まれる第1の輪郭点と、前記複数の標準文字の各々についての複数の輪郭点に含まれる第2の輪郭点と、の組み合わせであって前記第1及び第2の輪郭点間の距離が最も近い組み合わせにおける当該距離の平均及び分散を当該標準文字と当該認識対象文字との差の第1の評価値として算出し、前記第1の評価値が予め設定された第1の所定値以下である標準文字を抽出する第2のモジュールと、
前記第2のモジュールで複数の標準文字が抽出された場合に、前記ベクタ画像から当該認識対象文字の輪郭線に沿って前記第1の密度より高い第2の密度の複数の輪郭点を抽出する第3のモジュールと、
前記第3のモジュールで抽出された複数の輪郭点に含まれる第3の輪郭点と、前記第2のモジュールで抽出された標準文字の各々についての複数の輪郭点に含まれる第4の輪郭点と、の組み合わせであって前記第3及び第4の輪郭点間の距離が最も近い組み合わせにおける当該距離の平均及び分散を当該標準文字と当該認識対象文字との差の第2の評価値として算出し、前記第2の評価値が前記第1の所定値未満の予め設定された第2の所定値以下である標準文字を認識結果とする第4のモジュールと、
を備える。
文字コードが付与された複数の標準文字の各々について当該標準文字の輪郭線に沿って抽出された複数の輪郭点の位置と各輪郭点における前記輪郭線の方向とを記憶した記憶装置にアクセス可能な文字認識装置であって、
ビットマップ画像である認識対象文字の画像をベクタ画像に変換し、前記ベクタ画像から当該認識対象文字の輪郭線に沿って抽出された複数の輪郭点の位置と各輪郭点における前記輪郭線の方向とを取得する第1のモジュールと、
前記第1のモジュールで取得された複数の輪郭点に含まれる第1の輪郭点と、前記複数の標準文字の各々についての複数の輪郭点に含まれる第2の輪郭点と、の組み合わせであって前記第1及び第2の輪郭点間の距離が最も近い組み合わせにおいて当該距離に各輪郭線の方向の違いを加味した輪郭点差の平均及び分散を、当該標準文字と当該認識対象文字との差の評価値として算出し、前記評価値が予め設定された所定値以下である標準文字を認識結果とする第2のモジュールと、
を備える。
本発明の他の1つの観点に係る文字認識装置は、
文字コードが付与された複数の標準文字の各々について当該標準文字の輪郭線に沿って抽出された複数の輪郭点の位置と各輪郭点における前記輪郭線の方向とを記憶した記憶装置にアクセス可能な文字認識装置であって、
ビットマップ画像である認識対象文字の画像をベクタ画像に変換し、前記ベクタ画像から当該認識対象文字の輪郭線に沿って抽出された複数の輪郭点の位置と各輪郭点における前記輪郭線の方向とを取得する第1のモジュールと、
前記第1のモジュールで取得された複数の輪郭点に含まれる第1の輪郭点と、前記複数の標準文字の各々についての複数の輪郭点に含まれる第2の輪郭点と、の組み合わせであって前記第1及び第2の輪郭点間の距離が最も近い組み合わせにおいて当該距離に各輪郭線の方向の違いを加味した輪郭点差の平均及び分散を、当該標準文字と当該認識対象文字との差の第1の評価値として算出し、前記第1の評価値が予め設定された第1の所定値以下である標準文字を抽出する第2のモジュールと、
前記第2のモジュールで複数の標準文字が抽出された場合に、当該認識対象文字の一部分であって前記第2のモジュールで抽出された複数の標準文字のいずれかについての前記第2の輪郭点との前記輪郭点差が予め設定された第3の所定値より大きい前記第1の輪郭点が連続する部分を含む前記一部分を、注目部分として抽出する第3のモジュールと、
前記注目部分における前記輪郭点差の平均及び分散を当該標準文字と当該認識対象文字との差の第2の評価値として算出し、前記第2の評価値が予め設定された第2の所定値以下である標準文字を認識結果とする第4のモジュールと、
を備える。
記憶装置40は、複数の標準文字の各々について、複数の輪郭点を記憶している(図2)。
文字認識装置30は、認識対象文字の画像から複数の輪郭点を抽出する(図3のS100、S110)。
文字認識装置30は、認識対象文字の複数の輪郭点と、複数の標準文字の各々についての複数の輪郭点と、の差を算出し(図3のS120~S160)、この差が所定値以下である標準文字を、認識結果とする(図3のS240)。
図1は、本発明の実施形態に係る文字認識装置30及びその周辺装置のブロック図である。図1に示される構成は、後述の第1の実施形態と第2の実施形態とで共通である。
文字認識装置30は、輪郭点抽出モジュール31と、判定モジュール32と、を含む。輪郭点抽出モジュール31は、認識対象文字の画像から複数の輪郭点を抽出する。判定モジュール32は、認識対象文字の複数の輪郭点と、複数の標準文字の各々についての複数の輪郭点と、の差を算出し、この差が所定値以下である標準文字を認識結果とする。なお、輪郭点抽出モジュール31は、本発明における「第1のモジュール」及び「第3のモジュール」の一例である。判定モジュール32は、本発明における「第2のモジュール」及び「第4のモジュール」の一例である。
文字認識装置30は、文書1ページ分の画像から、認識対象文字ごとのビットマップ画像を切り出すモジュールなどをさらに含んでもよい。
入出力装置10は、例えば、オペレーターがコマンドを入力するためのキーボードあるいはマウスを含む。また入出力装置10は、例えば、文字の認識結果を出力するためのディスプレイ装置、あるいは他のコンピューターとの通信装置を含む。
撮像装置20は、文書から認識対象文字をビットマップ画像として読み取るためのスキャナーあるいはカメラを含む。
記憶装置40は、認識対象文字と比較される複数の標準文字の輪郭点のデータを記憶している。標準文字の輪郭点のデータについては図2を参照しながら後述する。記憶装置40は、さらに、文字認識装置30が行う各種処理のためのパラメーターを記憶している。文字認識装置30は、記憶装置40にアクセスして各種データを読み出すことができる。
記憶装置40は複数の標準文字についてデータを記憶している。標準文字の総数は、例えば上記「大漢和辞典」を全文電子テキスト化する場合には、例えば5万字以上が必要である。「大漢和辞典」の親文字は上述の通り約5万字であり、全文電子テキスト化するためには親文字以外の文字も認識する必要があるためである。標準文字の集合をNとし、集合Nに属する複数の標準文字の各々を識別する番号をnとする。集合Nに属する標準文字の総数Nmaxは例えば5万以上の値となる。
標準文字nの輪郭点のデータは、以下の方法で取得することが望ましい。まず、全文電子テキスト化しようとする文書そのものの一部を撮像装置20で撮像し、ビットマップ画像を取得する。このビットマップ画像から、標準文字nとして登録すべき文字の画像を切り出す。そして、切り出された文字の画像から複数の輪郭点を抽出する。文字の画像から複数の輪郭点を抽出する手順は、認識対象文字の画像から複数の輪郭点を抽出する手順と同様でよく、その詳細は図4~図9を参照しながら後述する。
鋳造された活字を使って印刷された文書であれば、少なくともその文書内で、同一の文字に関しては同一の字形であることが期待できる。この字形の画像から標準文字nの輪郭点を抽出すれば、認識対象文字の輪郭点と高精度で一致することが期待できる。なお、同一の文字に関して異なる字形の活字が用いられている場合には、それぞれの字形の画像から標準文字nの輪郭点を別々に抽出すればよい。ここでは鋳造された活字を使って印刷された場合について説明したが、同一の写植原版を使って印刷された場合でも、同一のデジタルフォントを使って印刷された場合でも同様である。
図3は、第1の実施形態に係る文字認識装置30のフローチャートである。文字認識装置30は、以下の処理を行う。
(ベクタ画像へ変換)
S100:認識対象文字のビットマップ画像をベクタ画像に変換する。
(輪郭点を抽出)
S110:認識対象文字のベクタ画像から複数の輪郭点を抽出する。
(認識対象文字と標準文字との差を算出)
S120~S160:認識対象文字の複数の輪郭点と、複数の標準文字の各々についての複数の輪郭点と、の差を算出する。
(認識結果を決定)
S240:差が所定値以下である標準文字を認識結果とする。
以下、詳細に説明する。
S100において、文字認識装置30は、輪郭点抽出モジュール31により、認識対象文字のビットマップ画像をベクタ画像に変換する。
図4に、認識対象文字のビットマップ画像の例(一部のみ)が示されている。図4に示されるマス目の各々は、例えば、1200dpiの1ドットに相当する。以下に計算するように、1200dpiの1ドット分の長さ(ビットマップ画像の座標軸方向に隣接する2ドットの中心間の距離)は、1インチ(25.4mm)の1200分の1であるので、約0.021mmである。
25.4mm/1200 = 0.021mm
図4において、0.1mmは、約4.72ドット分の長さに相当し、0.05mmは、約2.36ドット分の長さに相当する(後述の図5、図7、図8においても同様である)。
0.1mm/0.021mm = 約4.72ドット
0.05mm/0.021mm = 約2.36ドット
図4において、ハッチングされたドットが黒(暗色)のドットであり、ハッチングされていないドットが白(明色)のドットである。
また、例えば、3.5mm角の文字の画像を1200dpiで読み取り、7.0mm角の文字の画像を600dpiで読み取るというように、文字の大きさに応じて解像度を変更することにより、1文字分のドット数を一致させることが望ましい。あるいは、7.0mm角の文字の画像を1200dpiで読み取ってから、その画像の解像度を600dpiに落とすことにより、1文字分のドット数を一致させてもよい。
図5に、ビットマップ画像をベクタ画像に変換して得られた認識対象文字の輪郭線の例(一部のみ)が示されている。ベクタ画像に含まれる輪郭線は、なめらかな曲線で構成される。ベクタ画像に含まれる輪郭線は、例えば、ベジェ曲線として記述される。ここでは白黒二値のビットマップ画像から輪郭線のデータを得る場合について説明したが、カラー又はグレースケールのビットマップ画像から輪郭線のデータを得てもよい。例えば、カラー又はグレースケールのビットマップ画像において微分値が大きい部分を検出して輪郭線としてもよい。
S110において、文字認識装置30は、輪郭点抽出モジュール31により、認識対象文字のベクタ画像から複数の輪郭点を抽出する。
図7に、輪郭線に沿って抽出された複数の点の例(一部のみ)を示す。複数の点は、ほぼ等間隔で、例えば約3.5ドットおきに抽出される。
図8に、複数の点について取得された座標の例(一部のみ)を示す。図8に示されるように、ビットマップ画像において黒(暗色)のドットであったか、白(明色)のドットであったかという区別に縛られることなく、なめらかなベクタ画像の輪郭線上の点が輪郭点として抽出される。
図9に、認識対象文字の輪郭点の例を示す。
S112の後、文字認識装置30は輪郭点抽出モジュール31による図6の処理を終了し、図3の処理に戻る。
図3を再び参照して説明を続ける。
S120において、文字認識装置30は、判定モジュール32により、標準文字の各々を識別する番号nの値を1にセットする。nの値は後述のS160において1ずつ加算され、nの値が集合Nに属する標準文字の総数Nmaxに達するまで、S130~S160の処理が繰り返される。
図10に、標準文字nの輪郭点と認識対象文字の輪郭点とを重ねて示す。文字認識装置30は、判定モジュール32により、これらの輪郭点の位置の差を以下の処理により算出する。
図12は、認識対象文字の輪郭点iから最も近い標準文字nの輪郭点までの距離について説明した図である。図12には、i=1からi=14までの認識対象文字の輪郭点iが示されている。それぞれの輪郭点iから最も近い標準文字nの輪郭点が選ばれ、その距離が算出される。i=7とi=8のように、最も近い標準文字nの輪郭点として同じ輪郭点が選ばれることもある。最も近い標準文字nの輪郭点として1度も選ばれない輪郭点があってもよい。輪郭点間の距離の単位は、例えばドット数である。例えば、輪郭点間の座標の差に三平方の定理を適用することにより、ユークリッド距離が算出される。
その後、文字認識装置30は、処理をS133に戻す。S133~S135の処理を繰り返すことにより、認識対象文字の輪郭点の各々について、最も近い標準文字nの輪郭点までの距離Diが算出される。
DIavg = {Σ(Di)}/Imax
DIσ^2 = {Σ((Di-DIavg)2)}/Imax
ここで、Σ(X)は、Xをi=1からi=Imaxまで合計した値を示す。
DJavg = {Σ(Dj)}/Jmax
DJσ^2 = {Σ((Dj-DJavg)2)}/Jmax
ここで、Σ(X)は、Xをj=1からj=Jmaxまで合計した値を示す。Jmaxは標準文字nの輪郭点の総数である。
以上のように、S132~S136で認識対象文字の輪郭点iから最も近い標準文字nの輪郭点までの距離Diを算出するだけでなく、S137~S141で標準文字nの輪郭点jから最も近い認識対象文字の輪郭点までの距離Djを算出する理由は、以下の通りである。
例えば、「大」と「犬」のように、一方の文字の構成要素のすべてを他方の文字が含んでいるような場合に、「大」の輪郭点から最も近い「犬」の輪郭点までの距離を算出するだけでは「犬」の構成要素の一部が無視されてしまい、正確な判定ができない可能性がある。「犬」の輪郭点から最も近い「大」の輪郭点までの距離も算出すれば、より正確な判定が可能となる。
S141の後、文字認識装置30は図11の処理を終了し、図3の処理に戻る。
次に、S150において、文字認識装置30は、判定モジュール32により、番号nの値が標準文字の総数Nmaxに達したか否かを判定する。番号nの値がNmaxに達していない場合(S150:NO)、文字認識装置30は、処理をS160に進める。番号nの値がNmaxに達した場合(S150:YES)、文字認識装置30は、処理をS240に進める。
その後、文字認識装置30は、処理をS130に戻す。S130~S160の処理を繰り返すことにより、集合Nに属する標準文字の各々について、認識対象文字との差が算出される。ここでは集合Nに属するNmax個の標準文字すべてについて認識対象文字との差を算出する場合について説明したが、本発明はこれに限定されない。例えば、一部の標準文字について認識対象文字との差を算出した時点で、明らかに認識対象文字と一致する標準文字が見つかった場合に、残りの標準文字については認識対象文字との差を算出しなくてもよい。また、認識対象文字との差を算出する前に、明らかに除外できる標準文字nがある場合には、そのような標準文字nを除外して他の標準文字のみについて認識対象文字との差を算出するようにしてもよい。
S240において、文字認識装置30は、判定モジュール32により、認識対象文字との差が所定値以下である標準文字を認識結果として出力する。
この所定値は、人間の解像限界未満であることが望ましい。視力の定義(視角1分を視認する視力を1.0とする)から、例えば、視力1.5の人が250mmの距離にある物体を見るときの解像限界は0.1mmである。そして、上述のように、0.1mmは、1200dpiの約4.72ドット分の長さに相当する。
認識対象文字との差は、例えば、平均(DIavg及びDJavg)及び分散(DIσ^2及びDJσ^2)で評価される。平均DIavg及びDJavgがいずれも所定値Tavg以下であり、分散DIσ^2及びDJσ^2がいずれも所定値Tσ^2以下である場合に、認識対象文字との差が所定値以下であると判定される。
平均とは別に分散を評価することにより、外れ値を強調できる。これにより、認識対象文字と一部だけ一致するが他の一部は一致しないような標準文字を、認識結果から除外することができる。
0.05mm ≦ Tavg < 0.10mm
1 ≦ Tσ^2 ≦ 3.5
所定値Tavg及び所定値Tσ^2は、以下の範囲内の値であることがさらに望ましい。
0.06mm ≦ Tavg ≦ 0.08mm
1.5 ≦ Tσ^2 ≦ 2.5
所定値をあまりに小さく設定しすぎると、同一活字であっても同一文字と判定されなくなる可能性が高くなり、人間による査読の負担が大きくなり得る。上述の数値範囲は、認識テストの試行錯誤を繰り返しながら経験的に得られたものである。
S240の後、文字認識装置30は、第1の実施形態に係る文字認識の処理を終了する。
図14は、第2の実施形態に係る文字認識装置30のフローチャートである。第2の実施形態は、認識対象文字との差が所定値以下である標準文字を1つに絞れなかった場合に、認識対象文字の輪郭点を取り直す点で、第1の実施形態と異なる。
(ベクタ画像へ変換)
S100:認識対象文字のビットマップ画像をベクタ画像に変換する。
(第1の密度の輪郭点を抽出)
S110a:認識対象文字のベクタ画像から第1の密度の複数の輪郭点を抽出する。
(標準文字との差を算出(第1の密度))
S120~S160:認識対象文字の第1の密度の複数の輪郭点と、複数の標準文字の各々についての複数の輪郭点と、の差を算出する。
(第2の密度の輪郭点を抽出)
S165a~S180a:差が第1の所定値以下である標準文字が1つの場合、その標準文字を認識結果とする。差が第1の所定値以下である標準文字が複数ある場合、認識対象文字のベクタ画像から第1の密度より高い第2の密度の複数の輪郭点を抽出する。
(標準文字との差を算出(第2の密度))
S200a~S230a:認識対象文字の第2の密度の複数の輪郭点と、複数の標準文字の各々についての複数の輪郭点と、の差を算出する。
(認識結果を決定)
S240a:差が第2の所定値以下である標準文字を認識結果とする。
以下、詳細に説明する。
S100において、認識対象文字のビットマップ画像をベクタ画像に変換する処理は、図3~図5を参照しながら説明した第1の実施形態の処理と同様である。
S110aにおいて、文字認識装置30は、輪郭点抽出モジュール31により、認識対象文字のベクタ画像から第1の密度の複数の輪郭点を抽出する。
S111aにおいて、文字認識装置30は、輪郭点抽出モジュール31により、認識対象文字のベクタ画像に含まれる輪郭点に沿って、複数の点を抽出する。複数の点は、認識対象文字のベクタ画像に含まれる輪郭点に沿って、例えば約3.5ドットおきに抽出される。S111aの処理は、図6及び図7を参照しながら説明した第1の実施形態のS111の処理と同様である。
次に、S112aにおいて、文字認識装置30は、輪郭点抽出モジュール31により、複数の点についてそれぞれの座標を、認識対象文字の輪郭点として取得する。このとき、例えば小数第1位を四捨五入した値をそれぞれの座標とする。S112aの処理は、図6及び図8を参照しながら説明した第1の実施形態のS112の処理と同様である。
S112aの後、文字認識装置30は輪郭点抽出モジュール31による図15の処理を終了し、図14の処理に戻る。
図14を再び参照して説明を続ける。
S120~S160において、文字認識装置30は、判定モジュール32により、集合Nに属する標準文字の総数Nmaxに達するまで番号nの値を更新しながら、標準文字nと認識対象文字との差を算出する。S120、S150、S160において、標準文字の総数Nmaxに達するまで番号nの値を更新する処理は、図3を参照しながら説明した第1の実施形態の処理と同様である。
輪郭点の記号「□」で示される文字は、例として「いち」という文字を撮像装置20で読み取って認識対象文字としたものである(なべぶた+「巾」)。これに対し、輪郭点の記号「◆」で示される文字は、例として「ひざかけ」という文字を撮像装置20で読み取って標準文字としたものである(「一」+「巾」)。これらは別の文字なので区別して認識されなければならないが、極めてよく似た形であるため、輪郭点の差が小さく、区別できない可能性がある。
そこで、第2の実施形態においては、S165a以降の処理により、認識対象文字の輪郭点を取り直して判定を行う。
S165aにおいて、文字認識装置30は、判定モジュール32により、認識対象文字との差が第1の所定値以下である標準文字が1つだけであるか否かを判定する。この第1の所定値は、第1の実施形態において説明した人間の解像限界未満であることが望ましい。
認識対象文字との差が第1の所定値以下である標準文字が1つだけである場合(S165a:YES)、文字認識装置30は、処理をS170aに進める。
S170aにおいて、文字認識装置30は、判定モジュール32により、認識対象文字との差が第1の所定値以下である標準文字を認識結果として出力する。
認識対象文字との差が第1の所定値以下である標準文字が1つだけではない場合(S165a:NO)、文字認識装置30は、処理をS180aに進める。このとき、認識対象文字との差が第1の所定値以下である標準文字の集合をMとし、集合Mに属する複数の標準文字の各々を識別する番号をmとする。例えば、認識対象文字との差が第1の所定値以下である標準文字が上述の「いち」と「ひざかけ」の2つである場合、集合Mに属する標準文字の総数Mmaxは2である。集合Mは集合Nの真部分集合である。
S181aにおいて、文字認識装置30は、輪郭点抽出モジュール31により、認識対象文字のベクタ画像に含まれる輪郭点に沿って、複数の点を抽出する。複数の点は、認識対象文字のベクタ画像に含まれる輪郭点に沿って、例えば約0.35ドットおきに抽出される。他の点については、S181aの処理は、図15を参照しながら説明したS111aの処理と同様である。
S182aの後、文字認識装置30は輪郭点抽出モジュール31による図17の処理を終了し、図14の処理に戻る。
図14を再び参照して説明を続ける。
S200a~S230aにおいて、文字認識装置30は、判定モジュール32により、集合Mに属する標準文字の総数Mmaxに達するまで番号mの値を更新しながら、標準文字mと認識対象文字との差を算出する。S200a、S220a、S230aにおいて、集合Mに属する標準文字の総数Mmaxに達するまで番号mの値を更新する処理は、S120、S150、S160と同様である。
あるいは、図18に示される例と異なり、第4の密度は、第3の密度と同じでもよい。その場合、集合Nの真部分集合である集合Mに属する標準文字mについては、記憶装置40には第3の密度の輪郭点を記憶していればよく、第4の密度の輪郭点を記憶していなくてもよい。
次に、S240aにおいて、文字認識装置30は、判定モジュール32により、S210aにおいて算出された認識対象文字との差が第2の所定値以下であった標準文字を認識結果として出力する。この第2の所定値は、人間の解像限界未満であり、且つ、第1の所定値未満であることが望ましい。
他の点については、S240aの処理は、図3を参照しながら説明した第1の実施形態のS240の処理と同様である。
S240aの後、文字認識装置30は、第2の実施形態に係る文字認識の処理を終了する。
図19は、第3の実施形態に係る文字認識装置30のフローチャートである。第3の実施形態は、認識対象文字との差が所定値以下である標準文字を1つに絞れなかった場合に、輪郭点の座標と輪郭点における輪郭線の方向とを用いて認識を行う点で、第1の実施形態と異なる。
S100~S160までの処理は、第1の実施形態と同様である。
(輪郭線の方向を取得)
S165a~S180b:差が第1の所定値以下である標準文字が1つの場合、その標準文字を認識結果とする。差が第1の所定値以下である標準文字が複数ある場合、認識対象文字の複数の輪郭点のそれぞれにおける輪郭線の方向Aiを取得する。
(輪郭点の座標と輪郭点における輪郭線の方向とを用いて標準文字との差を算出)
S200a~S230a:認識対象文字の複数の輪郭点と、複数の標準文字の各々についての複数の輪郭点と、のベクトル差を算出する。
(認識結果を決定)
S240a:差が第2の所定値以下である標準文字を認識結果とする。
以下、詳細に説明する。
S100において、認識対象文字のビットマップ画像をベクタ画像に変換する処理は、図3~図5を参照しながら説明した第1の実施形態の処理と同様である。
S110において、認識対象文字のベクタ画像から複数の輪郭点を抽出する処理は、図3及び図6~図9を参照しながら説明した第1の実施形態の処理と同様である。
S120~S160において、認識対象文字の複数の輪郭点と、複数の標準文字の各々についての複数の輪郭点と、の差を算出する処理は、図3及び図10~図13を参照しながら説明した第1の実施形態の処理と同様である。
S165aにおいて、文字認識装置30は、判定モジュール32により、認識対象文字との差が第1の所定値以下である標準文字が1つだけであるか否かを判定する。
S170aにおいて、文字認識装置30は、判定モジュール32により、認識対象文字との差が第1の所定値以下である標準文字を認識結果として出力する。
なお、S165aにおいて認識対象文字との差が第1の所定値以下である標準文字が0個であった場合、別の認識処理が行われてもよい。例えば、認識対象文字との差が第1の所定値より大きい第3の所定値以下である標準文字を、仮の認識結果として出力してもよい。また例えば、認識対象文字の画像に含まれる微小なドットを除去して標準文字と比較し、仮の認識結果を出力してもよい。
Ai = Arctan{((Yi+1)-(Yi-1))/((Xi+1)-(Xi-1))}
但し、(Xi+1)-(Xi-1)が0であるときは、輪郭線の方向Aiは90°とする。
図20に示される例においては、輪郭点i+1及びi-1の間で-6/1の傾斜になっているので、輪郭点iにおける輪郭線の方向Aiは-81°である。輪郭線の方向Aiは-90°より大きく、90°以下の範囲内となる。すなわち、輪郭線の方向Aiは、最大値と最小値との差が180°未満となる範囲で定義されているので、正反対方向の輪郭線は、異方向の輪郭線ではなく同一方向の輪郭線として扱われる。
また、輪郭線の方向Aiの単位を度(°)としたが、ラジアンでもよい。
図19を再び参照して説明を続ける。
S200a~S230aにおいて、文字認識装置30は、判定モジュール32により、集合Mに属する標準文字の総数Mmaxに達するまで番号mの値を更新しながら、標準文字mと認識対象文字とのベクトル差を算出する。S200a、S220a、S230aにおいて、集合Mに属する標準文字の総数Mmaxに達するまで番号mの値を更新する処理は、S120、S150、S160と同様である。
S2132において、文字認識装置30は、認識対象文字の輪郭点iと、輪郭点iから最も近い標準文字mの輪郭点と、における輪郭線の方向の違いADiを算出する。
S2133において、文字認識装置30は、認識対象文字の輪郭点iと、輪郭点iから最も近い標準文字mの輪郭点と、のベクトル差VDiを算出する。
S2133の後、文字認識装置30は図22の処理を終了し、図21の処理に戻る。
ADi = |Ai-Aj|/10
但し、Ajは、認識対象文字の輪郭点iから最も近い標準文字mの輪郭点における輪郭線の方向である。10で除算するのは輪郭線の方向の違いADiに適切な重みづけを付与するためであり、重みづけには別の値が用いられてもよい。
なお、|Ai-Aj|が90°より大きい場合には、輪郭線の方向の違いADiは以下の式により計算される。
ADi = (180-|Ai-Aj|)/10
VDi = Di+ADi
距離DiはS130で算出済みの値である。
ADi = |90-90|/10
= 0
距離Diは2であるとすると、ベクトル差VDiは以下のように計算される。
VDi = 2+0
= 2
ADi = |90-45|/10
= 4.5
距離Diは0であるとすると、ベクトル差VDiは以下のように計算される。
VDi = 0+4.5
= 4.5
S216bにおいて、文字認識装置30は、判定モジュール32により、ベクトル差VDiの平均VDIavgと分散VDIσ^2を以下の式で算出する。
VDIavg = {Σ(VDi)}/Imax
VDIσ^2 = {Σ((VDi-VDIavg)2)}/Imax
ここで、Σ(X)は、Xをi=1からi=Imaxまで合計した値を示す。
図24は、図21に示されるベクトル差VDjを算出する処理(S218b)の詳細を示すフローチャートである。
S2182において、文字認識装置30は、標準文字mの輪郭点jと、輪郭点jから最も近い認識対象文字の輪郭点と、における輪郭線の方向の違いADjを算出する。
S2183において、文字認識装置30は、標準文字mの輪郭点jと、輪郭点jから最も近い認識対象文字の輪郭点と、のベクトル差VDjを算出する。
S2183の後、文字認識装置30は図24の処理を終了し、図21の処理に戻る。
VDJavg = {Σ(VDj)}/Jmax
VDJσ^2 = {Σ((VDj-VDJavg)2)}/Jmax
ここで、Σ(X)は、Xをj=1からj=Jmaxまで合計した値を示す。Jmaxは標準文字mの輪郭点の総数である。
S222bの後、文字認識装置30は図21の処理を終了し、図19の処理に戻る。
図19を再び参照して説明を続ける。
S240aにおいて、文字認識装置30は、判定モジュール32により、S210bにおいて算出された認識対象文字との差が第2の所定値以下である標準文字を認識結果として出力する。第2の所定値は、第1の所定値と同じ値でもよいし、異なる値でもよい。
他の点については、S240aの処理は、図3を参照しながら説明した第1の実施形態のS240の処理と同様である。
S240aの後、文字認識装置30は、第3の実施形態に係る文字認識の処理を終了する。
このように、第3の実施形態によれば、文字を構成する線の位置のずれよりも、線の方向の違いを強調することができる。
図26は、第4の実施形態に係る文字認識装置30のフローチャートである。第4の実施形態は、輪郭点の座標及び当該輪郭点における輪郭線の方向を用いても標準文字を1つに絞れなかった場合に文字の部分同士の比較を行う点で、第3の実施形態と異なる。
(ベクタ画像へ変換)
S100:認識対象文字のビットマップ画像をベクタ画像に変換する。
(輪郭点を抽出し、座標と方向を取得)
S110c:認識対象文字のベクタ画像から複数の輪郭点を抽出し、複数の輪郭点のそれぞれの座標と輪郭線の方向Aiとを取得する。
(輪郭点の座標と輪郭点における輪郭線の方向とを用いて標準文字との差を算出)
S120~S160:認識対象文字の複数の輪郭点と、複数の標準文字の各々についての複数の輪郭点と、のベクトル差を算出する。
(注目部分を抽出)
S165a~S180c:ベクトル差が第1の所定値以下である標準文字が1つの場合、その標準文字を認識結果とする。ベクトル差が第1の所定値以下である標準文字が複数ある場合、ベクトル差が大きい輪郭点が連続する部分を注目部分として抽出する。
(注目部分における平均と分散を算出)
S216c、S221c:注目部分におけるベクトル差VDiの平均及び分散と、注目部分におけるベクトル差VDjの平均及び分散とを算出する。
(認識結果を決定)
S240a:差が第2の所定値以下である標準文字を認識結果とする。
以下、詳細に説明する。
S100において、認識対象文字のビットマップ画像をベクタ画像に変換する処理は、図3~図5を参照しながら説明した第1の実施形態の処理と同様である。
S110cにおいて、文字認識装置30は、輪郭点抽出モジュール31により、認識対象文字のベクタ画像から複数の輪郭点を抽出し、複数の輪郭点のそれぞれの座標と輪郭線の方向Aiとを取得する。
S111において、文字認識装置30は、輪郭点抽出モジュール31により、認識対象文字のベクタ画像に含まれる輪郭点に沿って、複数の点を抽出する。S111の処理は、図6及び図7を参照しながら説明した第1の実施形態のS111の処理と同様である。
S112において、文字認識装置30は、輪郭点抽出モジュール31により、複数の点についてそれぞれの座標を、認識対象文字の輪郭点として取得する。S112の処理は、図6及び図8を参照しながら説明した第1の実施形態のS112の処理と同様である。
S113cにおいて、文字認識装置30は、輪郭点抽出モジュール31により、S112で抽出された認識対象文字の複数の輪郭点について、それぞれの輪郭点iにおける輪郭線の方向Aiを取得する。S113cの処理は、図19及び図20を参照しながら説明した第3の実施形態のS180bの処理と同様である。
S113cの後、文字認識装置30は輪郭点抽出モジュール31による図27の処理を終了し、図26の処理に戻る。
図26を再び参照して説明を続ける。
S120~S160において、文字認識装置30は、判定モジュール32により、集合Nに属する標準文字の総数Nmaxに達するまで番号nの値を更新しながら、標準文字nと認識対象文字とのベクトル差を算出する。S120、S150、S160において、標準文字の総数Nmaxに達するまで番号nの値を更新する処理は、図3を参照しながら説明した第1の実施形態の処理と同様である。
図28に示される処理は、標準文字mではなく標準文字nと認識対象文字とのベクトル差を算出する点で、図21を参照しながら説明した第3の実施形態と異なる。図28のS131c~S141cの処理は、図21のS211b~222bの処理に対応する。
S1331において、文字認識装置30は、認識対象文字の輪郭点iから最も近い標準文字nの輪郭点までの距離Diを算出する。S1331の処理は、図11及び図12を参照しながら説明した第1の実施形態のS133の処理と同様である。
S1332において、文字認識装置30は、認識対象文字の輪郭点iと、輪郭点iから最も近い標準文字nの輪郭点と、における輪郭線の方向の違いADiを算出する。
S1333において、文字認識装置30は、認識対象文字の輪郭点iと、輪郭点iから最も近い標準文字nの輪郭点と、のベクトル差VDiを算出する。
S1332及びS1333の処理は、標準文字mではなく標準文字nと認識対象文字とのベクトル差を算出する点の他は、図22の対応する処理と同様である。
S1333の後、文字認識装置30は図29の処理を終了し、図28の処理に戻る。
S1381において、文字認識装置30は、標準文字nの輪郭点jから最も近い認識対象文字の輪郭点までの距離Djを算出する。S1381の処理は、図11及び図13を参照しながら説明した第1の実施形態のS138の処理と同様である。
S1382において、文字認識装置30は、標準文字nの輪郭点jと、輪郭点jから最も近い認識対象文字の輪郭点と、における輪郭線の方向の違いADjを算出する。
S1383において、文字認識装置30は、標準文字nの輪郭点jと、輪郭点jから最も近い認識対象文字の輪郭点と、のベクトル差VDjを算出する。
S1382及びS1383の処理は、標準文字mではなく標準文字nと認識対象文字とのベクトル差を算出する点の他は、図24の対応する処理と同様である。
S1383の後、文字認識装置30は図30の処理を終了し、図28の処理に戻る。
図26を再び参照して説明を続ける。
S165aにおいて、文字認識装置30は、判定モジュール32により、認識対象文字との差が第1の所定値以下である標準文字が1つだけであるか否かを判定する。
S170aにおいて、文字認識装置30は、判定モジュール32により、認識対象文字との差が第1の所定値以下である標準文字を認識結果として出力する。
なお、S165aにおいて認識対象文字との差が第1の所定値以下である標準文字が0個であった場合、別の認識処理が行われてもよい。例えば、認識対象文字との差が第1の所定値より大きい第3の所定値以下である標準文字を、仮の認識結果として出力してもよい。また例えば、認識対象文字の画像に含まれる微小なドットを除去して標準文字と比較し、仮の認識結果を出力してもよい。
図32は、図31の画像の中から抽出された注目部分XXXIIを示す。
図26に戻って説明を続ける。
S216cにおいて、文字認識装置30は、判定モジュール32により、注目部分XXXIIにおけるベクトル差VDiの平均VDIavgと分散VDIσ^2を以下の式で算出する。
VDIavg = {Σ(VDi)}/Ismax
VDIσ^2 = {Σ((VDi-VDIavg)2)}/Ismax
ここで、Σ(X)は、Xをi=1からi=Ismaxまで合計した値を示す。Ismaxは、認識対象文字の輪郭点のうち、注目部分XXXIIに含まれる輪郭点iの個数である。
VDJavg = {Σ(VDj)}/Jsmax
VDJσ^2 = {Σ((VDj-VDJavg)2)}/Jsmax
ここで、Σ(X)は、Xをj=1からj=Jsmaxまで合計した値を示す。Jsmaxは、標準文字の輪郭点のうち、注目部分XXXIIに含まれる輪郭点jの個数である。
S240aにおいて、文字認識装置30は、判定モジュール32により、S216c及びS221cにおいて算出された認識対象文字との差が第2の所定値以下である標準文字を認識結果として出力する。第2の所定値は、第1の所定値と同じ値でもよいし、異なる値でもよい。
他の点については、S240aの処理は、図3を参照しながら説明した第1の実施形態のS240の処理と同様である。
S240aの後、文字認識装置30は、第4の実施形態に係る文字認識の処理を終了する。
第3及び第4の実施形態において、輪郭線の方向Aiは、最大値と最小値との差が180°未満となる範囲で定義されているが、本発明はこれに限定されない。輪郭線の方向Aiが360°の範囲で定義されてもよい。この場合には、注目部分の比較(S216c、S221c)において、正反対方向の輪郭線を異方向の輪郭線として扱ってもよい。
Claims (3)
- 文字コードが付与された複数の標準文字の各々について当該標準文字の輪郭線に沿って抽出された複数の輪郭点を記憶した記憶装置にアクセス可能な文字認識装置であって、
ビットマップ画像である認識対象文字の画像をベクタ画像に変換し、前記ベクタ画像から当該認識対象文字の輪郭線に沿って第1の密度の複数の輪郭点を抽出する第1のモジュールと、
前記第1のモジュールで抽出された複数の輪郭点に含まれる第1の輪郭点と、前記複数の標準文字の各々についての複数の輪郭点に含まれる第2の輪郭点と、の組み合わせであって前記第1及び第2の輪郭点間の距離が最も近い組み合わせにおける当該距離の平均及び分散を当該標準文字と当該認識対象文字との差の第1の評価値として算出し、前記第1の評価値が予め設定された第1の所定値以下である標準文字を抽出する第2のモジュールと、
前記第2のモジュールで複数の標準文字が抽出された場合に、前記ベクタ画像から当該認識対象文字の輪郭線に沿って前記第1の密度より高い第2の密度の複数の輪郭点を抽出する第3のモジュールと、
前記第3のモジュールで抽出された複数の輪郭点に含まれる第3の輪郭点と、前記第2のモジュールで抽出された標準文字の各々についての複数の輪郭点に含まれる第4の輪郭点と、の組み合わせであって前記第3及び第4の輪郭点間の距離が最も近い組み合わせにおける当該距離の平均及び分散を当該標準文字と当該認識対象文字との差の第2の評価値として算出し、前記第2の評価値が前記第1の所定値未満の予め設定された第2の所定値以下である標準文字を認識結果とする第4のモジュールと、
を備えた、文字認識装置。 - 文字コードが付与された複数の標準文字の各々について当該標準文字の輪郭線に沿って抽出された複数の輪郭点の位置と各輪郭点における前記輪郭線の方向とを記憶した記憶装置にアクセス可能な文字認識装置であって、
ビットマップ画像である認識対象文字の画像をベクタ画像に変換し、前記ベクタ画像から当該認識対象文字の輪郭線に沿って抽出された複数の輪郭点の位置と各輪郭点における前記輪郭線の方向とを取得する第1のモジュールと、
前記第1のモジュールで取得された複数の輪郭点に含まれる第1の輪郭点と、前記複数の標準文字の各々についての複数の輪郭点に含まれる第2の輪郭点と、の組み合わせであって前記第1及び第2の輪郭点間の距離が最も近い組み合わせにおいて当該距離に各輪郭線の方向の違いを加味した輪郭点差の平均及び分散を、当該標準文字と当該認識対象文字との差の評価値として算出し、前記評価値が予め設定された所定値以下である標準文字を認識結果とする第2のモジュールと、
を備えた、文字認識装置。 - 文字コードが付与された複数の標準文字の各々について当該標準文字の輪郭線に沿って抽出された複数の輪郭点の位置と各輪郭点における前記輪郭線の方向とを記憶した記憶装置にアクセス可能な文字認識装置であって、
ビットマップ画像である認識対象文字の画像をベクタ画像に変換し、前記ベクタ画像から当該認識対象文字の輪郭線に沿って抽出された複数の輪郭点の位置と各輪郭点における前記輪郭線の方向とを取得する第1のモジュールと、
前記第1のモジュールで取得された複数の輪郭点に含まれる第1の輪郭点と、前記複数の標準文字の各々についての複数の輪郭点に含まれる第2の輪郭点と、の組み合わせであって前記第1及び第2の輪郭点間の距離が最も近い組み合わせにおいて当該距離に各輪郭線の方向の違いを加味した輪郭点差の平均及び分散を、当該標準文字と当該認識対象文字との差の第1の評価値として算出し、前記第1の評価値が予め設定された第1の所定値以下である標準文字を抽出する第2のモジュールと、
前記第2のモジュールで複数の標準文字が抽出された場合に、当該認識対象文字の一部分であって前記第2のモジュールで抽出された複数の標準文字のいずれかについての前記第2の輪郭点との前記輪郭点差が予め設定された第3の所定値より大きい前記第1の輪郭点が連続する部分を含む前記一部分を、注目部分として抽出する第3のモジュールと、
前記注目部分における前記輪郭点差の平均及び分散を当該標準文字と当該認識対象文字との差の第2の評価値として算出し、前記第2の評価値が予め設定された第2の所定値以下である標準文字を認識結果とする第4のモジュールと、
を備えた、文字認識装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018211069 | 2018-11-09 | ||
JP2018211069 | 2018-11-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020077396A JP2020077396A (ja) | 2020-05-21 |
JP7065065B2 true JP7065065B2 (ja) | 2022-05-11 |
Family
ID=70724234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019184330A Active JP7065065B2 (ja) | 2018-11-09 | 2019-10-07 | 文字認識装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7065065B2 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000231602A (ja) | 1999-02-12 | 2000-08-22 | Oki Electric Ind Co Ltd | 特徴抽出装置 |
JP2000293633A (ja) | 1999-04-02 | 2000-10-20 | Canon Inc | 画像読取装置と該画像読取装置の制御方法、及び文書管理システム |
JP2010231529A (ja) | 2009-03-27 | 2010-10-14 | Nippon Tokei Jimu Center:Kk | 判定装置、およびプログラム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0488489A (ja) * | 1990-08-01 | 1992-03-23 | Internatl Business Mach Corp <Ibm> | 一般化ハフ変換を用いた文字認識装置および方法 |
-
2019
- 2019-10-07 JP JP2019184330A patent/JP7065065B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000231602A (ja) | 1999-02-12 | 2000-08-22 | Oki Electric Ind Co Ltd | 特徴抽出装置 |
JP2000293633A (ja) | 1999-04-02 | 2000-10-20 | Canon Inc | 画像読取装置と該画像読取装置の制御方法、及び文書管理システム |
JP2010231529A (ja) | 2009-03-27 | 2010-10-14 | Nippon Tokei Jimu Center:Kk | 判定装置、およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP2020077396A (ja) | 2020-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100658119B1 (ko) | 문자 인식 장치 및 방법 | |
US7437001B2 (en) | Method and device for recognition of a handwritten pattern | |
JP6900164B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
Suresh et al. | Telugu Optical Character Recognition Using Deep Learning | |
RU2597163C2 (ru) | Сравнение документов с использованием достоверного источника | |
JP7065065B2 (ja) | 文字認識装置 | |
Khoddami et al. | Farsi and latin script identification using curvature scale space features | |
CN113421257B (zh) | 一种点阵字体文本行旋转校正方法及装置 | |
CN115171133A (zh) | 用于不规则表格图像拉平的表格结构检测方法 | |
JP6310155B2 (ja) | 文字認識装置、文字認識方法及び文字認識プログラム | |
CN114241486A (zh) | 一种提高识别试卷学生信息准确率的方法 | |
JPH0333990A (ja) | マスク処理を用いる光学式文字認識装置及び方法 | |
CN113537216A (zh) | 一种点阵字体文本行倾斜校正方法及装置 | |
JP3623992B2 (ja) | 文字認識装置及び方法 | |
JP5224156B2 (ja) | 文字認識システムの学習文字サンプルの不足を補う方法 | |
JP5913763B1 (ja) | 基準線設定装置、基準線設定方法及び基準線設定プログラム | |
JP4859027B2 (ja) | 文字パターン生成方法および文字認識方法 | |
CN106022393B (zh) | 一种基于笔划编码的印刷体汉字识别方法 | |
JP2917427B2 (ja) | 図面読取装置 | |
Kamal et al. | Braille to Text Translation for Bengali Language: A Geometric Approach | |
JP4697387B2 (ja) | 原稿画像判定装置、原稿画像判定方法及びそのプログラム | |
JP2697790B2 (ja) | 文字タイプ決定方法 | |
JP2677271B2 (ja) | 文字認識装置 | |
Soua et al. | Efficient multiscale and multifont optical character recognition system based on robust feature description | |
JPH08297718A (ja) | 文字切り出し装置及び文字認識装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20191007 |
|
A80 | Written request to apply exceptions to lack of novelty of invention |
Free format text: JAPANESE INTERMEDIATE CODE: A80 Effective date: 20191007 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200714 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210831 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211005 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211018 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220329 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220331 |
|
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: 20220412 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7065065 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |