JP4945739B2 - 文字列認識方法及び文字列認識装置 - Google Patents

文字列認識方法及び文字列認識装置 Download PDF

Info

Publication number
JP4945739B2
JP4945739B2 JP2007092072A JP2007092072A JP4945739B2 JP 4945739 B2 JP4945739 B2 JP 4945739B2 JP 2007092072 A JP2007092072 A JP 2007092072A JP 2007092072 A JP2007092072 A JP 2007092072A JP 4945739 B2 JP4945739 B2 JP 4945739B2
Authority
JP
Japan
Prior art keywords
character string
character
threshold
threshold value
value
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.)
Expired - Fee Related
Application number
JP2007092072A
Other languages
English (en)
Other versions
JP2008250754A (ja
Inventor
宏 中村
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.)
Nidec Sankyo Corp
Original Assignee
Nidec Sankyo Corp
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 Nidec Sankyo Corp filed Critical Nidec Sankyo Corp
Priority to JP2007092072A priority Critical patent/JP4945739B2/ja
Priority to US12/059,390 priority patent/US8467608B2/en
Publication of JP2008250754A publication Critical patent/JP2008250754A/ja
Application granted granted Critical
Publication of JP4945739B2 publication Critical patent/JP4945739B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/148Segmentation of character regions
    • G06V30/158Segmentation of character regions using character size, text spacings or pitch estimation
    • 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)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Character Input (AREA)

Description

本発明は、紙やプラスチックなどの媒体上にある文字列を光学的に読み取る文字列認識方法及び文字列認識装置に関し、特に、認識精度低下を防ぐことが可能なものに関する。
従来から、例えば小切手などの媒体表面に印刷された文字列を認識するための装置がある。例えば特許文献1に開示された文字認識装置は、2値化された画像データから文字部分を検出して、その文字部分を外接矩形枠に沿って切り出す文字切出手段と、文字切出手段により得られた文字パターンから特徴ベクトルを抽出する特徴ベクトル抽出手段と、予め文字ごとの特徴を格納している特徴格納手段と、入力パターンの特徴ベクトルと特徴辞書中の文字ごとの基準ベクトルとの類似度を求める類似度計算手段と、類似度計算手段により得られた類似度の大きさにより候補文字を選択する候補文字選択手段と、候補文字選択手段により選択された候補文字が複数であった場合に更に詳細な識別を行う類似文字識別手段と、を有している。このような各種手段を有する文字認識装置によれば、媒体表面に印刷された文字列を的確に認識することができる。
一方で、上述した2値化された画像データは、媒体上にある文字列を光学的に読み取る光学センサによって得られる。具体的には、製造コスト削減の観点から、文字列を1次元で光学的に読み取るCCDラインセンサ(1次元撮像素子)を用いることが多い(例えば特許文献2参照)。この場合、CCDラインセンサによって媒体上にある文字列の主走査を行うとともに、手動又は機械駆動に基づく媒体移動によって副走査を行う。このようにして、CCDラインセンサと媒体移動の相互動作により、文字列の2次元画像データを取得し、この2次元画像データが2値化されると、上述した2値化された画像データが得られる。
また、例えば特許文献3に開示された文字認識方法では、文字配列が定ピッチでない場合であっても、認識辞書照合スコアや言語的な尤度に基づいて最尤解を選択するなどの文字認識処理により、適正な文字切り出しができるようになっている。
特開平05−120483号公報 特開平05−73722号公報 特開2004−46723号公報
しかしながら、特許文献2に開示された文字認識装置では、認識精度が低下する可能性がある、という問題がある。
具体的には、手動操作(スワイプ型のカードリーダであれば、スワイプ動作)に起因して媒体搬送速度が変動し、媒体移動方向への画像の歪みが発生した場合、それに伴って、媒体移動方向と垂直な方向にも画像歪みが発生する場合がある(傾いたりうねったりする場合がある)。また、媒体下辺部が撮像装置(文字認識装置)の搬送路面から浮き上がることによっても、媒体移動方向と垂直な方向に画像歪みが発生する場合がある。このような場合、画像歪みの方向が媒体移動方向と垂直な方向であるという関係上、一般的に補正するのは困難である。例えば、特許文献2に開示された文字認識装置を用いた場合であっても、画像歪みの方向が媒体移動方向であれば適切に補正し得るが、これが媒体移動方向と垂直な方向であるとき、補正は困難である。その結果、歪んだ画像をそのまま使って文字切り出し等を行うと、認識精度の低下を招くことになる。
この点、文字配列が定ピッチでない場合であっても適正な文字切り出しが可能な特許文献3によれば、文字列認識の精度低下を防ぐことができるとも考えられる。しかし、特許文献3に開示された文字認識方法は、あくまでも、文字ピッチや文字幅が一定の範囲内にあることを前提としており、手動搬送による文字認識装置など、媒体搬送速度がランダムに大きく変動する場合には対応することができず、文字切り出しが不正確となる結果、高い認識精度を確保するのは困難である。
本発明は、このような点に鑑みてなされたものであり、その目的は、たとえ画像歪みの方向が媒体移動方向と垂直な方向であったとしても、文字列認識の精度低下を防ぐことが可能な文字列認識方法及び文字列認識装置を提供することにある。
以上のような課題を解決するために、本発明は、以下のものを提供する。
(1) 媒体上の文字列を撮像して得られた画像データを処理することによって、前記文字列を認識する文字列認識方法において、前記文字列の方向にシフトさせながら、前記文字列の方向と直交する垂直方向への前記画像データの垂直射影を計算する第1ステップと、前記第1ステップにより得られた垂直射影データが所定の閾値を超えた箇所を、前記文字列を構成する文字の区切り位置として検出する第2ステップと、を含み、前記所定の閾値には、前記垂直射影データから検出された前記文字列の両端間の画素数に応じて決定される第1の閾値と、前記垂直射影データに含まれる正のピーク値のいずれかであって、前記文字列を構成する文字の個数に応じて決定される第2の閾値と、が含まれ、前記第1の閾値は、前記文字列の両端間の画素数が多くなるにつれて大きくなる一方、前記文字列の両端間の画素数が少なくなるにつれて小さくなるように決定され、前記第2の閾値は、前記垂直射影データに含まれる正のピーク値を大きい方から順に並べたとき、最も大きなピーク値から数えて、前記文字列を構成する文字の個数を越える個数番目に相当するピーク値であることを特徴とする文字列認識方法。
本発明によれば、文字列認識方法において、文字列の方向と直交する垂直方向(1次元スキャナの主走査方向)にシフトさせながら、文字列の方向(1次元スキャナの副走査方向)への画像データの水平射影を計算し、これにより得られた水平射影データに基づいて、垂直方向における文字列の位置を検出し、これにより検出された文字列の位置に基づいて、文字列の方向にシフトさせながら、垂直方向への画像データの垂直射影を計算し、これにより得られた垂直射影データが所定の閾値を超えた箇所を、文字列を構成する文字の区切り位置として検出する各ステップが含まれ、ここでいう所定の式位置には、垂直射影データから検出された文字列の両端間の画素数に応じて決定される第1の閾値と、垂直射影データに含まれる正のピーク値のいずれかであって、文字列を構成する文字の個数に応じて決定される第2の閾値と、が含まれることとしたので、文字列認識の精度低下を防ぐことができる。
すなわち、たとえ画像歪みの方向が媒体移動方向と垂直な方向であったとしても(その結果、検出すべき正のピーク値が小さくなったとしても)、文字列を構成する文字の個数に応じて第2の閾値が適切に決定されれば、小さくなったピーク値も検出できる可能性が高くなる。従って、文字列認識の精度低下を防ぐことができる。また、本発明は、上述した特許文献3に開示された文字認識方法のように、認識辞書照合スコアや言語的な尤度に基づいて最尤解を選択するなどの文字認識処理を伴うものではなく、第2の閾値を用いれば足りるものなので、手動搬送による文字認識装置など、媒体搬送速度がランダムに大きく変動する場合であっても、適正に文字切り出しを行うことができる。
ここで、「第1の閾値」とは、垂直射影データから検出された文字列の両端間の画素数に応じて決定される値であれば、如何なる値であってもよい。例えば、媒体移動速度が速い場合には、この画素数が少なくなるので(その結果、検出すべき正のピーク値も小さくなるので)、それに応じて第1の閾値も、より小さな値に決定される一方、媒体移動速度が遅い場合には、この画素数が多くなるので(その結果、検出すべき正のピーク値も大きくなるので)、それに応じて第1の閾値も、より大きな値に決定される。
また、「第2の閾値」とは、垂直射影データに含まれる正のピーク値のいずれかのうち、文字列を構成する文字の個数に応じて決定される値であれば、如何なる値であってもよい。例えば、正のピーク値を大きい順に並べたときに(正のピーク値ヒストグラムの最大値から最小値方向への累積度数を求めたとき)、大きい方から数えて、文字列を構成する文字の個数番目のピーク値を第2の閾値にしてもよいし、大きい方から数えて、文字列を構成する文字の個数+α番目(αは、想定される媒体移動速度を考慮して、最適な値に決定される)のピーク値を第2の閾値にしてもよい。
また、本発明では、「所定の閾値」に「第1の閾値」と「第2の閾値」が含まれていれば足り、「第2の閾値」を用いた文字の区切り位置検出が如何なるタイミングで行われていてもよい。すなわち、本発明における「第ステップ」においては、「第1の閾値」を用いた文字の区切り位置検出が行われた後に、必要に応じて、「第2の閾値」を用いた文字の区切り位置検出が行われるようにしてもよいし、或いは、これらの区切り位置検出のいずれもが常に行われるようにしてもよい。
なお、本明細書における「文字」は、一般的なアルファベットだけなく、記号文字や絵文字、バーコード、更には数字なども含むものとし、媒体上で視認できることを条件に如何なる形態・大きさであってもよい。
(2) 前記第2の閾値は、前記垂直射影データに含まれる正のピーク値を大きい方から順に並べたとき、最も大きなピーク値から数えて、前記文字列を構成する文字の個数に1を加えた個数番目に相当するピーク値であることを特徴とする文字列認識方法。
本発明によれば、上述した第2の閾値は、垂直射影データに含まれる正のピーク値を大きい方から順に並べたとき、最も大きなピーク値から数えて、文字列を構成する文字の個数に1を加えた個数番目に相当するピーク値であることとしたので、一般に、媒体移動速度がどのような速度であったとしても、小さくなったピーク値をより高い確率で適切に検出することができ、ひいては文字列認識の精度低下を防ぐことができる。特に、手動搬送による文字(列)認識装置の場合において、文字列を構成する文字の個数に1を加えた個数番目に相当するピーク値を第2の閾値として採用することによって、操作者が媒体を如何に素早くスワイプさせたときであっても、小さくなったピーク値をより的確に検出することができる。
(3) 前記第ステップは、前記第1の閾値を用いて前記区切り位置を検出できないときに、前記第2の閾値を用いて、前記区切り位置を再検出することを特徴とする文字列認識方法。
本発明によれば、上述した第ステップは、第1の閾値を用いて区切り位置を検出できないときに、第2の閾値を用いて、区切り位置を再検出することとしたので、第2の閾値を用いた文字の区切り位置検出は、必要に応じて行われることになる。すなわち、第1の閾値を用いた文字の区切り位置検出が適切に行われれば、第2の閾値を用いた文字の区切り位置検出は行われない。これにより、文字列認識処理の処理負荷(メモリ負荷を含む)を軽減することができる。なお、「第1の閾値を用いて区切り位置を検出できないとき」を判断する判断手法の如何は問わない。
(4) 前記第ステップは、前記第1の閾値が前記第2の閾値を下回った場合に、前記第2の閾値を用いて、前記区切り位置を検出することを特徴とする文字列認識方法。
本発明によれば、上述した第のステップは、第1の閾値が第2の閾値を下回った場合に、第2の閾値を用いて区切り位置を検出することとしたので、簡易な判断手法により、必要に応じて第2の閾値を用いた文字の区切り位置検出を行うことができる。従って、文字認識処理プログラムの簡素化を図りつつ、文字列認識の精度低下を防ぐことができる。
(5) (1)から(4)のいずれか記載の文字列認識方法を用いて、媒体上の文字列を認識する文字列認識手段を備えたことを特徴とする文字列認識装置。
本発明によれば、上述した文字列認識方法を用いて、媒体上の文字列を認識する文字列認識手段を備えた文字列認識装置を提供することができる。
本発明に係る文字列認識方法及び文字列認識装置によれば、文字列を撮像して得られた画像データに歪みや傾きがあったとしても、文字列認識の精度低下を防ぐことができる。
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。
[文字列認識装置]
図1は、本発明の実施の形態に係る文字列認識装置1の電気的構成を示すブロック図である。
図1において、文字列認識装置1は、密着型の(1次元)撮像素子11と、画像メモリ12と、データ処理部13と、を有している。また、データ処理部13は、行切り出し部13aと、文字切り出し部13bと、特徴抽出部13cと、特徴比較部13dと、特徴辞書格納部13eと、類似文字認識部13fと、を有している。なお、これらの各部は、記録担体2上の文字列を認識する文字列認識手段の一例として機能する。
撮像素子11は、記録担体2上のOCR文字列を撮像し、そのOCR文字列の光電変換を行う。そして、それによって得られた画像データは、一旦画像メモリ12に取り込まれる。その後、データ処理部13は、画像メモリ12から画像データを読み出して、上述した各部において様々な処理を施し、最終的に、記録担体2上のOCR文字列を認識するようにしている。
一方で、記録担体2は、JISに準拠している一般的なカードであってもよく、例えば、幅86mm,高さ54mm,厚み0.76mmというサイズのプラスチックカードでもよく、IDカードやパスポートブック、或いは運転免許証などでもよい。
このような電気的構成からなる文字列認識装置1において、まずは、文字列認識方法の全体的な流れについて説明し、その後、本実施形態特有の流れについて詳細に説明する。
[文字列認識方法]
図2は、本発明の実施の形態に係る文字列認識方法の全体的な流れを示すフローチャートである。
図2に示すように、本実施形態に係る文字列認識方法では、まず、2値化が行われる(ステップS1)。より具体的には、データ処理部13は、画像メモリ12から画像データを読み出して、その画像データが多諧調の濃淡画像である場合には、白黒2値の画像に変換を行う。なお、この画像メモリ12は、RAM,SDRAM,DDRSDRAM,RDRAMなど、画像データを記憶しうるものであれば如何なるものであってもよい。また、2値化するにあたっては、適当な方法によって閾値を求めるものとする。さらに、今後の処理では、この白黒2値化画像を用いることとする。
次いで、行切り出しが行われる(ステップS2)。より具体的には、データ処理部13内の行切り出し部13aは、2値化した文字列を水平方向に射影して、文字列の上下エッジを検出する。そして、上下エッジの中心位置を、文字列の中心ラインと識別して行切り出しを行う。
次いで、文字切り出しが行われる(ステップS3)。より具体的には、データ処理部13内の文字切り出し部13bは、ステップS2で検出された文字列ごとの画像データについて、垂直方向に射影計算を行う。そして、求められた垂直射影プロファイルを用いて、文字と文字との間のスペースを識別し、文字の切り出しを行う。なお、詳細については、後述する[文字切り出し]において説明する。
ステップS3の処理が終了すると、認識対象となっている文字の外接矩形領域(上下左右の座標値)が求められる。
次いで、特徴抽出が行われる(ステップS4)。より具体的には、データ処理部13内の特徴抽出部13cは、上述した外接矩形領域を任意のサブ領域に分割(例えば1個の外接矩形領域を5×5の領域に分割し、そのうち1個の領域をサブ領域とする)し、各サブ領域において、サブ領域内の全画素数に占める黒画素数の割合を求め、それらを要素とする特徴ベクトルを生成する。
次いで、特徴比較が行われる(ステップS5)。より具体的には、データ処理部13内の特徴比較部13dは、ステップS4で求めた特徴ベクトルを、あらかじめこの媒体で使用される全文字について求めておいた基準特徴ベクトルと比較して、類似度(例えば正規化相関係数)が最も高いものをその文字が該当する候補文字に設定する。
なお、基準特徴ベクトルは、予め特徴辞書格納部13eに格納されているものであって、特徴比較が行われる際に、特徴辞書格納部13eから類似度が高い文字のデータが読み出され、特徴比較が行われる。
最後に、文字認識が行われる(ステップS6)。より具体的には、ステップS5の特徴比較によって設定された候補文字を、媒体に用いられた文字として認識する。なお、類似度が一定値を超える候補文字が複数個存在する場合には、文字認識を行うことができないので、類似文字認識部13fにおいて、特徴ベクトルから導き出せる2次的な特徴量を利用して、類似文字の判別を行う。
例えば、任意に分割したサブ領域を左側半分と右側半分との2領域の左右線対称に分けて、部分特徴ベクトルを構成してそれらの間の類似性を調べたり、同様に上半分と下半分との2領域の上下線対称に分けて、類似性を調べたりしてもよい。また、左右線対称や上下線対象と同様に点対称で類似性を調べてもよい。
以下、本実施形態特有の流れについて説明する。
[文字切り出し]
図3は、図2に示すフローチャートにおいて、「文字切り出し」(ステップS3)の詳細な流れを示すフローチャートである。
まず、垂直射影計算が行われる(ステップS31)。より具体的には、文字列の方向にシフトさせながら、文字列の垂直方向(X軸)へ濃度投影を行い、垂直射影データを計算する。なお、濃度投影とは、いわばヒストグラム(濃度分布図)の一種であり、2値化によって「1」または「0」の濃度に変換された画素を、濃度別に合計したものであり、白または黒のどちらを合計値として計算してもよい。また、ステップS31は、文字列の方向にシフトさせながら、垂直方向への画像データの垂直射影を計算する「第ステップ」の一例となる。
このステップS31に関して、具体例を示す。図4は、記録担体2のOCR文字記憶領域(図1参照)に印刷された文字を撮像したときの画像データを示す図である。また、図5は、図4に示す画像データを垂直射影した結果を示す図である。
次いで、文字ライン長計算が行われる(ステップS32)。より具体的には、ステップS31において得られた垂直射影データを用いて検出された文字列の両端間の画素数に応じて、文字ライン長の計算が行われる。例えば図5に示す垂直射影データであれば、文字ライン長は、Ps地点からPe地点までの画素数が、文字列の両端間の画素数となる。
なお、このPs地点からPe地点までの画素数は、記録担体2をスワイプさせる速度と密接な関係がある。すなわち、スワイプ速度が低速の場合には、この画素数は多くなる(十分な分解能が得られる)一方で、スワイプ速度が高速の場合には、この画素数は少なくなる(十分な分解能が得られない)。
次いで、文字区切り位置検出が行われる(ステップS33)。より具体的には、垂直射影によって得られた垂直射影データには、文字列を構成する文字と文字間の空白部分が含まれているため、垂直射影データが所定の閾値を超えた箇所を、文字列を構成する文字の区切り位置として検出する。この過程については、図6及び図7を用いて詳しく説明する。なお、このステップS33は、上述した「第ステップ」により得られた垂直射影データが所定の閾値を超えた箇所を、文字列を構成する文字の区切り位置として検出する「第ステップ」の一例となる。
図6は、文字列を構成する文字(一部)に着目したときの画像データである。また、図7は、図6に示す画像データを垂直射影することによって得られた垂直射影データである。なお、図6は、図4中の「K」から「C」までの画像データを示している。
図6及び図7において、各文字間の空白部分は、SLEV(閾値)を超えている区間と一致している。従って、図7の場合には、SLEV(閾値)を超えている区間の画素を、空白部分の画素として正しく認識することができる。なお、記録担体2の相対移動速度が遅い場合には、文字間のスペースに相当する区間は十分な輝度強度と十分な長さをもっているため、また、低速の場合にはノイズが重畳しやすいため、SLEV(閾値)は高めに設定しておくのが一般的である。
ところが、記録担体2の相対移動速度が高速の場合には、相対的に画像の水平方向の分解能が減少し、文字間のスペースに相当する部分の出力が低下する。具体的には、図8に示すようになる。例えば、図8に示す矢印の部分の出力値は、SLEV(閾値)を超えていないことから、文字間のスペースではないと判定される。一方で、図7に示すように、この部分は、スペースに相当する部分である。
このようなことから、本実施形態では、SLEV(閾値)を、記録担体2の相対移動速度の関数として与えることとしている。すなわち、上述したように、記録担体2の相対移動速度と、垂直射影データから検出された文字列の両端間の画素数とは相関関係があることから、この画素数に応じてSLEV(閾値)を変動させるようにしている。
以下、閾値計算の一例を示す。なお、Lとは、文字列の両端間の画素数(Ps−Pe)を意味するものとする。
まず、相対移動速度が過渡に低速の場合を考慮して、閾値の上限値をSLEV=Amax(L≧Lmax)とする。また、相対移動速度が過渡に高速の場合を考慮して、閾値の下限値をSLEV=Amin(L≦Lmin)とする。
そして、相対移動速度の長さLが、Lminより大きくLmaxより小さい場合は、SLEV=Amin+Ad(L−Lmin)/(Lmax−Lmin)とする。関数値Adは、文字列の両端間の画素数が多くなるにつれて大きくなる一方で、文字列の両端間の画素数が少なくなるにつれて小さくなるような関数であり、文字列の両端間の画素数に応じて変化する関数であるが、その他、文字間スペースの出力値の低下率やノイズの発生率によって変化する関数であってもよく、最適な閾値を求めるために設定される。また、AminやAmaxは、安定的に文字間スペースが検出可能であるように決めるものとする。
しかしながら、図7及び図8を用いて説明した閾値は、平均的な媒体移動速度に基づくものであるため、局所的な画像変動や搬送速度の急激な変化があったような場合にまで対応できない可能性がある。例えば、カードを手動でスワイプさせる際の媒体移動速度は、最初はゆっくりで最後は速い、という人間の特性がある。また、印刷上の問題であるが、例えば品質の悪いパスポートなどでは、文字が滲んで太くなることもあり、このような場合には、文字間の間隔が短くなってピークが出にくいという問題がある。
そこで、本実施形態に係る文字列認識方法では、上述した閾値(第1の閾値)とは別に、第2の閾値を導入している。この第2の閾値を求めるためには、まず、垂直射影データに含まれる全ての正のピーク値を検出し、正ピーク値のヒストグラムを作成する(メモリ上で仮想的に考える)。そして、この正ピーク値のヒストグラムにおいて、最大値から最小値の方向への累積度数を求め、その累積度数が、想定される文字の個数を超えるポイントを検出し、そのポイントにおけるピーク値を第2の閾値として決定する。図9〜図11を用いて具体例を示す。
図9は、垂直射影データ(一部)において、第1の閾値(SLEV1)及び第2の閾値(SLEV2)が決定されている様子を示す図である。図10は、垂直射影データにおける正のピーク値のヒストグラムを示す図である。図11は、図10のヒストグラムについて、最大値から最小値の方向への累積度数を求めた図である。
図9において、媒体搬送速度が非常に速いために正のピーク値が低下すると、従来からの第1の閾値(SLEV1)では、それを下回るレベルのピーク値を検出することができず(図9中の丸印参照)、文字境界位置が決定できなくなってしまう。そこで、図9では、第1の閾値(SLEV1)よりも小さな第2の閾値(SLEV2)によって、再度、ピーク値検出を行うことによって、適切な文字切り出しが可能になる。
第2の閾値を決定する方法については、図10に示すように、まず、横軸をピーク値、縦軸を度数として、垂直射影データにおける正のピーク値をヒストグラムで表す。図10によれば、例えば、ピーク値が180前後となっているものが全部で3個存在している一方で、大半のピーク値は、240〜250近辺に密集していることが分かる。
図10のヒストグラムにおいて、最大値から最小値の方向へ累積度数を求めると、図11に示すようになる。図11では、横軸をピーク値、縦軸を累積度数としている。図11によれば(図11に示す折れ線を右端から左方へ辿っていくと)、240〜250あたりで正のピーク値の累積度数が急激に増え、その後、ピーク値が小さくなるにつれて、なだらかに増加している。
ここで、仮に認識すべき文字の個数が44個であったとすると、図11において累積度数が44を超える時点におけるピーク値、すなわち累積度数が45(認識すべき文字の個数+1)となる時点におけるピーク値180が、第2の閾値として決定される。
このようにして、図9に示す第2の閾値(SLEV2)が決定される。なお、第1の閾値及び第2の閾値を用いて、文字切り出しを行う情報処理の流れについては、後述の「情報処理の流れ」において詳述する。
あと、文字切り出し処理(図2のステップS3参照)によって、各文字の左右境界位置が暫定的に決定されると、図12に示すように外周矩形領域内における文字が求められる。図12は、文字列を構成する文字「<」の画像データを示す図である。
図12において、この「<」の文字の位置を正確に特定するために、垂直射影PX及び水平射影PYを計算する。こうして求められたPXに沿って、文字の左右境界位置の検出を行い、矩形領域の左端点を起点としてPXを右方向にスキャンして、そのレベル値(画素の検出)が連続して一定回数(例えば3回)閾値を下回ったら、その最初の地点を文字の左エッジとする。そして、同様に矩形領域の右端点を起点としてPXを左方向にスキャン行い、連続して一定回数、閾値を下回ったらその最初の地点を文字の右エッジとする。
次に、水平射影PYについても同様に、文字切り出し処理にて得られている左エッジ位置と右エッジ位置とで区切られた範囲を定義域として行い、矩形領域の上下両端を外側からスキャンして、各レベル値が連続して一定回数、閾値を下回ったら、その最初の地点を文字の上下エッジとする。
このようにして、文字列内の文字位置を特定することができ、特定された位置から特徴抽出を行い(図2のステップS4)、特徴比較を行った後(図2のステップS5)、文字認識が行われることになる(図2のステップS6)。
[情報処理の流れ]
図13は、図3で示した情報処理の流れを更に詳細に説明するためのフローチャートである。
図13において、まず、垂直射影計算及びライン長計算が行われる(ステップS11及びステップS12)。これらは図3のステップS31及びステップS32と同様なので、その説明を省略する。
次に、第1の閾値(第1閾値)が計算される(ステップS13)。より具体的には、上述したように、文字列の両端間の画素数に応じて第1の閾値が決定される。その後、射影の全ピーク検出が行われる(ステップS14)。
そして、ステップS14の処理結果に基づいて、正ピークに関する度数分布が生成され(ステップS15)、正ピークに関する累積度数計算が行われ(ステップS16)、第2の閾値(第2閾値)が計算される(ステップS17)。なお、これらの処理の具体例については、図10及び図11を用いて説明したとおりである。
ここで、第1の閾値と第2の閾値の大小を比較し(ステップS18)、第1の閾値が第2の閾値を下回った場合には(ステップS18:YES)、第2の閾値を優先的に採用する。具体的には、第1の閾値と第2の閾値を(メモリ上で)入れ替えておくことによって(ステップS19)、後述する図14又は図15に示すフローチャートにおいて、第2の閾値が優先されることになる。これにより、第1の閾値によって文字境界ピークが過剰に検出されるのを防ぐことができる。一方で、第1の閾値が第2の閾値を下回らなかった場合には(ステップS18:NO)、ステップS19の処理は行われない。
このように、第1の閾値が第2の閾値を下回った場合には、(最初に)第2の閾値を用いて、区切り位置を検出するようにしてもよい。なお、後述する図14及び図15の処理フローでは、第1の閾値は第2の閾値を下回らなかったものとして考える。
最後に、文字区切り位置検出が行われる(ステップS20)。より具体的には、後述する図14に示す処理フローであってもよいし、図15に示す処理フローであってもよい。
図14は、図13に示すフローチャート中、「文字区切り位置検出」(ステップS20)の一例を説明するためのフローチャートである。
図14において、まず、変数(任意のパラメータ)SLEVにSLEV1の値を代入する(ステップS21)。より具体的には、図13のステップS13において計算された第1の閾値(SLEV1)を、変数SLEVに代入する。なお、上述したように、図13のステップS19の処理が実行されている場合には、実質的に第2の閾値が変数SLEVに代入されることになる。
次に、一定区間内にPEAK>SLEVとなる正ピークが存在するか否かが判断される(ステップS22)。このようなピークが存在すれば(ステップS22:YES)、当該区間においてピークが検出されたものとして判断し、区間を次に進めて(ステップS23)、処理をステップS22に戻す。
一方で、このようなピークが存在しなければ(ステップS22:NO)、変数SLEVにSLEV2を代入する(ステップS24)。より具体的には、図13のステップS17において計算された第2の閾値(SLEV2)を、変数SLEVに代入する。なお、上述したように、図13のステップS19の処理が実行されている場合には、実質的に第1の閾値が変数SLEVに代入されることになる。
次に、同じ区間内にPEAK>SLEVとなるピークが存在するか否かが判断される(ステップS25)。このようなピーク値が存在すれば(ステップS25:YES)、当該区間においてピークが検出されたものとして判断し、このようなピーク値が存在しなければ(ステップS25:NO)、文字境界の強制設定を行う(ステップS26)。この文字境界の強制設定については、例えば、処理の中断などである。
次に、ステップS25又はステップS26の処理が終了すると、変数SLEVにSLEV1を代入して(ステップS27)、閾値をデフォルトのSLEV1に戻しておく。その後、全文字について境界が確定したか否かが判断され(ステップS28)、確定していなければ(ステップS28:NO)、区間を進めて(ステップS23)、処理はステップS22に戻される。一方、確定していれば(ステップS28:YES)、本サブルーチンを終了する。
図15は、図13に示すフローチャート中、「文字区切り位置検出」(ステップS20)の他の一例を説明するためのフローチャートである。図15に示すフローチャートの概要について説明すると、図14に示すフローチャートでは、任意の一定区間において、SLEV1でピーク検出に失敗したら(ステップS22:NO)、直ちにSLEV2でピーク検出を行うようにしたが(ステップS24,S25)、図15に示すフローチャートでは、SLEV1でのピーク検出で失敗する/しないに拘わらず、まずは、全区間をSLEV1でピーク検出するようにしている。そして、SLEV1でのピーク検出の成功回数と、文字列の文字の個数とが一致しなかった場合に、SLEV2でのピーク検出を試みるようにしている。
図15において、まず、変数(任意のパラメータ)SLEVにSLEV1の値を代入する(ステップS41)。そして、一定区間内にPEAK>SLEVとなる正ピークが存在するか否かが判断され(ステップS42)、正ピークが存在するならば(ステップS42:YES)、変数「有効区間数」(パラメータ)を1だけインクリメントする(ステップS43)。一方で、正ピークが存在しないならば(ステップS42;NO)、ステップS43の処理は行わない。
次に、全区間が終了したか否かが判断され(ステップS44)、全区間が終了していなければ(ステップS44:NO)、区間を進め(ステップS45)、処理をステップS42に戻す。一方で、全区間が終了していれば(ステップS44:YES)、上述した有効区間数が所定文字数(文字列の文字の個数)と一致しているか否かが判断される(ステップS46)。これが一致していれば(ステップS46:YES)、文字切り出しは成功した判断し(ステップS53)、本サブルーチンを終了する。
一方、これが一致していなければ(ステップS46:NO)、変数SLEVにSLEV2を代入する(ステップS47)。なお、この時点で変数「有効区間数」をリセットしておいてもよい(0を代入しておいてもよい)。
そして、後はステップS32〜ステップS35と同様の処理が行われる。すなわち、一定区間内にPEAK>SLEVとなる正ピークが存在するか否かが判断され(ステップS48)、正ピークが存在すれば有効区間数が1だけインクリメントされ(ステップS49)、その後に全区間が終了したか否かが判断され(ステップS50)、終了していなければ区間を進めて(ステップS51)、処理はステップS48に戻される。
また、全区間が終了していれば、上述した有効区間数が所定文字数(文字列の文字の個数)と一致しているか否かが判断され(ステップS52)、一致していれば(ステップS52:YES)、文字切り出しに成功したと判断し(ステップS53)、一致していなければ(ステップS52:NO)、文字切り出しに失敗したと判断し(ステップS54)、本サブルーチンを終了する。
このように、「文字区切り位置検出」を実行する方法としては、図14に示す処理フローでも、図15に示す処理フローでもよいが、図15に示す処理フローは、一旦SLEV1で全ての区間をサーチする必要がある。従って、図15に示す処理フローと比べて、図14に示す処理フローの方が、処理負荷が軽いというメリットがある(その結果、ハードウェア資源を効率的に使用することができる)。
[実施形態の効果]
以上説明したように本実施形態に係る文字列認識方法によれば、媒体移動方向に沿った文字列における文字の区切り位置を検出するために、文字の存在する画像領域に関して生成した主走査方向の射影プロファイル(垂直射影データ)に基づいて文字の境界を決定する処理において、境界判定のための閾値を2種類の異なる方法で算出し、第1の閾値において境界決定処理に失敗した場合、第2の閾値を用いて境界決定処理をやり直すようにした。これにより、局所的な画像変動などに起因して、第1の閾値によって境界ピークを見逃した場合であっても、第2の閾値で正しく検出することができるため、より正確な文字切り出しを行うことができ、ひいては文字列認識の精度低下を防ぐことができる。
また、認識すべき文字列の先頭と終端位置を検出し、その2点間の画素数の関数として第1の閾値を設定するようにしたことで、平均速度に応じた閾値設定ができ、また、計算負荷も軽いため、局所的な画像変動がない条件下では、低コストかつより高精度に文字境界決定処理を行うことができる。
また、文字境界判定のための第2の閾値を、垂直射影データに含まれる全てのピークを検出し、それらのうちの正ピーク値ヒストグラムに基づいて決定するようにしたため、局所的な画像変動があっても、より正確な文字境界決定処理を行うことができる。
さらに、上述したピーク値ヒストグラムにおける最大値から最小値方向への累積度数を求め、その値が想定される文字の個数を越えた地点のピーク値を第2の閾値として設定するようにしたため、局所的な画像変動があっても、より正確な文字境界決定処理を行うことができる。
なお、本実施形態では、1次元撮像素子11,リニア搬送機構を用いることとしたが、本発明はこれらに限定されるものではない。例えば、2次元CCDやCMOSイメージャなどのエリアセンサと被写体支持機構との組み合わせでもよい。また、認識対象としては、活字文字だけでなく、手書き文字にも適用できる。また、文字認識に止まらず、1次元及び2次元バーコードの復号などにも適用できる。
本発明に係る文字列認識方法及び文字列認識装置は、文字列認識の精度低下を防ぐことが可能なものとして有用である。
本発明の実施の形態に係る文字列認識装置の電気的構成を示すブロック図である。 本発明の実施の形態に係る文字列認識方法の全体的な流れを示すフローチャートである。 図2に示すフローチャートにおいて、「文字切り出し」(ステップS3)の詳細な流れを示すフローチャートである。 記録担体のOCR文字記憶領域(図1参照)に印刷された文字を撮像したときの画像データを示す図である。 図4に示す画像データを垂直射影した結果を示す図である。 文字列を構成する文字(一部)に着目したときの画像データである。 図6に示す画像データを垂直射影することによって得られた垂直射影データ(一例)である。 図6に示す画像データを垂直射影することによって得られた垂直射影データ(別例)である。 垂直射影データ(一部)において、第1の閾値(SLEV1)及び第2の閾値(SLEV2)が決定されている様子を示す図である。 垂直射影データにおける正のピーク値のヒストグラムを示す図である。 図10のヒストグラムについて、最大値から最小値の方向への累積度数を求めた図である。 文字列を構成する文字「<」の画像データを示す図である。 図3で示した情報処理の流れを更に詳細に説明するためのフローチャートである。 図13に示すフローチャート中、「文字区切り位置検出」(ステップS20)の一例を説明するためのフローチャートである。 図13に示すフローチャート中、「文字区切り位置検出」(ステップS20)の他の一例を説明するためのフローチャートである。
符号の説明
1 文字列認識装置
2 記録担体
11 撮像素子
12 画像メモリ
13 データ処理部
13a 行切り出し部
13b 文字切り出し部
13c 特徴抽出部
13d 特徴比較部
13e 特徴辞書格納部
13f 類似文字認識部

Claims (5)

  1. 媒体上の文字列を撮像して得られた画像データを処理することによって、前記文字列を認識する文字列認識方法において、
    前記文字列の方向にシフトさせながら、前記文字列の方向と直交する垂直方向への前記画像データの垂直射影を計算する第1ステップと、
    前記第1ステップにより得られた垂直射影データが所定の閾値を超えた箇所を、前記文字列を構成する文字の区切り位置として検出する第2ステップと、を含み、
    前記所定の閾値には、前記垂直射影データから検出された前記文字列の両端間の画素数に応じて決定される第1の閾値と、前記垂直射影データに含まれる正のピーク値のいずれかであって、前記文字列を構成する文字の個数に応じて決定される第2の閾値と、が含まれ
    前記第1の閾値は、前記文字列の両端間の画素数が多くなるにつれて大きくなる一方、前記文字列の両端間の画素数が少なくなるにつれて小さくなるように決定され、
    前記第2の閾値は、前記垂直射影データに含まれる正のピーク値を大きい方から順に並べたとき、最も大きなピーク値から数えて、前記文字列を構成する文字の個数を越える個数番目に相当するピーク値であることを特徴とする文字列認識方法。
  2. 前記第2の閾値は、前記垂直射影データに含まれる正のピーク値を大きい方から順に並べたとき、最も大きなピーク値から数えて、前記文字列を構成する文字の個数に1を加えた個数番目に相当するピーク値であることを特徴とする請求項1記載の文字列認識方法。
  3. 前記第2ステップは、前記第1の閾値を用いて前記区切り位置を検出できないときに、前記第2の閾値を用いて、前記区切り位置を再検出することを特徴とする請求項1又は2記載の文字列認識方法。
  4. 前記第2ステップは、前記第1の閾値が前記第2の閾値を下回った場合に、前記第2の閾値を用いて、前記区切り位置を検出することを特徴とする請求項1又は2記載の文字列認識方法。
  5. 請求項1から4のいずれか記載の文字列認識方法を用いて、媒体上の文字列を認識する文字列認識手段を備えたことを特徴とする文字列認識装置。
JP2007092072A 2007-03-30 2007-03-30 文字列認識方法及び文字列認識装置 Expired - Fee Related JP4945739B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007092072A JP4945739B2 (ja) 2007-03-30 2007-03-30 文字列認識方法及び文字列認識装置
US12/059,390 US8467608B2 (en) 2007-03-30 2008-03-31 Method and apparatus for character string recognition

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007092072A JP4945739B2 (ja) 2007-03-30 2007-03-30 文字列認識方法及び文字列認識装置

Publications (2)

Publication Number Publication Date
JP2008250754A JP2008250754A (ja) 2008-10-16
JP4945739B2 true JP4945739B2 (ja) 2012-06-06

Family

ID=39794483

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007092072A Expired - Fee Related JP4945739B2 (ja) 2007-03-30 2007-03-30 文字列認識方法及び文字列認識装置

Country Status (2)

Country Link
US (1) US8467608B2 (ja)
JP (1) JP4945739B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5334042B2 (ja) * 2008-11-23 2013-11-06 日本電産サンキョー株式会社 文字列認識方法及び文字列認識装置
JP5453594B2 (ja) * 2010-02-01 2014-03-26 日本電産サンキョー株式会社 シンボル情報読取装置及びシンボル情報読取方法
JP6171167B2 (ja) * 2012-12-28 2017-08-02 日本電産サンキョー株式会社 文字認識装置、文字認識方法、及び文字認識プログラム
CN104239880A (zh) * 2013-06-06 2014-12-24 北京物资学院 一种基于投影算子的古籍文档图像处理算法
JP6268023B2 (ja) 2014-03-31 2018-01-24 日本電産サンキョー株式会社 文字認識装置およびその文字切り出し方法
FR3038100A1 (fr) * 2015-06-26 2016-12-30 Orange Procede de reconnaissance d'ecriture manuscrite sur une surface physique
CN106203417A (zh) * 2016-07-12 2016-12-07 北京科技大学 一种粘连字符可分割的人民币冠字号识别方法
JP2020086847A (ja) 2018-11-22 2020-06-04 株式会社Pfu 画像処理装置、制御方法及び制御プログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4562594A (en) * 1983-09-29 1985-12-31 International Business Machines Corp. (Ibm) Method and apparatus for segmenting character images
JPH02268388A (ja) * 1989-04-10 1990-11-02 Hitachi Ltd 文字認識方法
US5825920A (en) * 1991-01-28 1998-10-20 Hitachi, Ltd. Method and unit for binary processing in image processing unit and method and unit for recognizing characters
JPH0573722A (ja) 1991-09-17 1993-03-26 Oki Electric Ind Co Ltd 文字認識装置
JPH05120483A (ja) 1991-10-25 1993-05-18 Seiko Epson Corp 文字認識装置
US5253304A (en) * 1991-11-27 1993-10-12 At&T Bell Laboratories Method and apparatus for image segmentation
US5680479A (en) * 1992-04-24 1997-10-21 Canon Kabushiki Kaisha Method and apparatus for character recognition
US5321768A (en) * 1992-09-22 1994-06-14 The Research Foundation, State University Of New York At Buffalo System for recognizing handwritten character strings containing overlapping and/or broken characters
JPH07325882A (ja) * 1994-05-30 1995-12-12 Nippon Steel Corp 文字認識装置及び文字認識方法
JPH08305795A (ja) * 1995-04-28 1996-11-22 Nippon Steel Corp 文字認識方法
JP3639126B2 (ja) * 1998-01-22 2005-04-20 富士通株式会社 住所認識装置及び住所認識方法
US6735337B2 (en) * 2001-02-02 2004-05-11 Shih-Jong J. Lee Robust method for automatic reading of skewed, rotated or partially obscured characters
US7339992B2 (en) * 2001-12-06 2008-03-04 The Trustees Of Columbia University In The City Of New York System and method for extracting text captions from video and generating video summaries
JP4194020B2 (ja) 2002-07-15 2008-12-10 株式会社リコー 文字認識方法、該方法の実行に用いるプログラム及び文字認識装置

Also Published As

Publication number Publication date
US8467608B2 (en) 2013-06-18
US20080240582A1 (en) 2008-10-02
JP2008250754A (ja) 2008-10-16

Similar Documents

Publication Publication Date Title
JP4658848B2 (ja) 文字列認識方法及び文字列認識装置
KR100852656B1 (ko) 이차원 코드 검출 시스템 및 이차원 코드 검출 프로그램
JP4945739B2 (ja) 文字列認識方法及び文字列認識装置
JP5334042B2 (ja) 文字列認識方法及び文字列認識装置
EP1619604B1 (en) Code type determining method and code boundary detecting method
US8315462B2 (en) Apparatus and method for character string recognition
US5784500A (en) Image binarization apparatus and method of it
US8254683B2 (en) Code image processing method
JP6268023B2 (ja) 文字認識装置およびその文字切り出し方法
JP6171167B2 (ja) 文字認識装置、文字認識方法、及び文字認識プログラム
US5081690A (en) Row-by-row segmentation and thresholding for optical character recognition
US8200016B2 (en) Method and apparatus for character string recognition
JP5630689B2 (ja) 文字認識方法及び文字認識装置
US8184895B2 (en) Method and apparatus for magnetic character recognition
JP4398498B2 (ja) コード境界検出方法
JPH10222602A (ja) 光学式文字読取装置
JP2998718B2 (ja) 光学式文字読取方法および装置
JP3334369B2 (ja) 選択項目認識装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091125

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110719

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: 20111206

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120208

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150316

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4945739

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150316

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150316

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees