JP4418726B2 - 文字列探索装置、探索方法およびこの方法のプログラム - Google Patents

文字列探索装置、探索方法およびこの方法のプログラム Download PDF

Info

Publication number
JP4418726B2
JP4418726B2 JP2004289881A JP2004289881A JP4418726B2 JP 4418726 B2 JP4418726 B2 JP 4418726B2 JP 2004289881 A JP2004289881 A JP 2004289881A JP 2004289881 A JP2004289881 A JP 2004289881A JP 4418726 B2 JP4418726 B2 JP 4418726B2
Authority
JP
Japan
Prior art keywords
character
candidate
characters
search
character string
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
JP2004289881A
Other languages
English (en)
Other versions
JP2006106931A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2004289881A priority Critical patent/JP4418726B2/ja
Publication of JP2006106931A publication Critical patent/JP2006106931A/ja
Application granted granted Critical
Publication of JP4418726B2 publication Critical patent/JP4418726B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Character Input (AREA)
  • Character Discrimination (AREA)

Description

本発明は、濃淡画像から指定された文字列が存在する位置を探索する文字列探索装置、および方法に関する。
景観の濃淡画像に写った文字列の認識技術の一つに、画像を2値化せずに濃淡のままで用い、ずらしマッチングにより各文字カテゴリの基準となる形状を表す認識辞書と画像の各領域の近さを算出し、算出された近さの値のマップから局所的なピークを全て取り出し、それらピークの中であらかじめ決められた文字列の図形的な配置規則に従うピークの列を抽出する技術がある(例えば、特許文献1参照)。
この探索技術では濃淡画像を2値化しないため、撮影条件が悪く画像のコントラストが低い場合、部分的な隠蔽がある場合、文字間の接触、複雑な背景、文字の陰影等に対して強いという特徴がある。
特開2001−307021号公報
前記の特許文献1の詳細な説明では、図38に「電話会社」という文字列が写った濃淡画像の例を示すように、認識対象とする文字が変形しうる場合についての対策は記載されていないが、その[請求項7]には抽出の対象である画像もしくは認識辞書を変形させることで認識対象とする文字の変形に対処する方法が記載されている。
また、特許文献1の詳細な説明では、認識対象を数字の集合に限定しているが、これは他の場合、例えば漢字の集合に容易に拡張できる。
また、特許文献1の詳細な説明では、認識辞書と画像の各領域との近さの距離値としては相関を用いているが、これは他の距離値、例えばユークリッド距離、該特徴空間における少数の特徴ベクトルで近似された部分空間への投影距離(田村秀行:「コンピュータ画像処理」pp282-286、オーム社出版局、2002)、カーネル関数により定義された非線形変換を利用して作成した該部分空間への投影距離(前田英作、村瀬洋:「カーネル非線形部分空間法によるパターン認識」、電子情報通信学会論文誌D-II、VOL.J82-D-II、NO.4、pp600-612、1999年4月)、ベイズ推定や最尤推定等の特徴ベクトル空間における生起確率(Richard O.Duda、Peter E.Hart、David G.Stork:「パターン識別」84-101、新技術コミュニケーションズ、2001)が使用できることは容易に類推できる。
また、認識辞書と画像の各領域との近さの算出の際に、両者の画像をそのまま用いているが、これを他の特徴量、例えば画素値の2乗の合計が一定値になるように正規化したものや、濃淡の加重方向ヒストグラム特徴の各特徴量の2乗の合計値が一定値になるように正規化したものを用いることもできる。
ここで、説明のために、従来技術において、対象とする画像の解像度を複数段階に変化させることとし、またアフィン変換によって様々な歪を加えたテンプレートをあらかじめ用意しておき、それらのテンプレートを用いて解像度を複数段階に変化させた各画像に対してずらしマッチングを行なうこととする。また認識辞書と画像の各領域との近さの距離値としてはユークリッド距離を用いることとする。
複数段階の解像度の例として、図39の(a)〜(d)は、各々図38の原画像を、0.7倍、0.8倍、1.0倍、1.2倍したものであり、各々の左上の矩形は、例とする観測窓の大きさ(40画素×40画素)を表している。走査の結果、各解像度毎に候補文字の検出結果が生成されるが、図40は原画像を0.7倍に縮小した図39(a)に対する走査結果の模式図である。図において、[]と■で表される点が正しい候補文字、()と×で表される点が偽の候補文字である。[]、()内の情報は、第1が候補文字、第2が認識結果の距離値である。このような結果が複数の解像度分だけ生成される。
従来技術においては、この後に、それらピークの中であらかじめ決められた文字列の図形的な配置規則に従うピークの列を抽出する処理を行なうが、認識対象がナンバープレート以外の場合(例えば日本語の看板等)には、この処理ではうまく働かないことがある。理由は、認識対象カテゴリを漢字のように大きなセット(JIS第1水準のセットで2965個)にすると非常に多くの偽のピークが発生することと、文字の背景が無地であるナンバープレートとは異なり看板の文字の背景には模様がある場合がありその場合には模様の部分からやはり非常に多くの偽のピークが発生するため、文字列の図形的な配置規則に従う偽のピークの列が数多く抽出されることによる。
ここで、画像を検索するためであれば、必ずしも正しい文字列だけが抽出できなくとも、ピーク(以降、これを候補文字と呼ぶ)の集合をまとめたものをインデクスとし、このようなインデクスを用いて文字列をキーとして(例えば「電話会社」をキーとして入力して)画像を検索できればよいことに注目する。そのためには、背景からの偽の候補文字も大量に出現することを前提として「電話会社」のような文字列が空間的な規則性を持ってインデクスの中に存在する個所を探索する手段が必要である。これを行なうためには、検索キーとされた文字列の文字数をLとした場合、候補文字の総数をMとすると、M個の中からL個を選ぶML個全ての組み合わせに対して、検索文字列と一致するか否か、さらに空間的に直線的に低ピッチで並んでいるか否か、を調べる必要があり、膨大な処理時間が必要であった。
本発明の目的は、濃淡画像を2値化することなく、濃淡画像から指定される文字列を探索する方式において、探索処理時間を大幅に短縮できる文字列探索装置、探索方法およびこの方法のプログラムを提供することにある。
本発明は、前記の課題を解決するため、探索の際に、探索キーとされた長さLの文字列から、該文字列の前から後の方向に存在する全ての2個の文字の組である文字ペアを選び、各々の文字ペアに対して、候補文字集合中から文字カテゴリが一致する全ての2個の候補文字の組を探索する処理を行い、該処理の結果探索された全ての2個の候補文字の組に対して、ピッチが一定でかつ直線的に並ぶ文字列を特定するパラメータの組を算出し、該2個の候補文字の組と該パラメータの組の情報を投票空間に投票する処理を基本とする。
以上の処理の処理量の期待値は、下記の2つの数値A,B、
・長さLの文字列から抽出される文字ペアの個数:A=L2
・M個の候補文字集合中に存在する、文字ペアと文字カテゴリが一致する全ての2個の候補文字の組の数の期待値:B=(M/全認識対象カテゴリ数)2
の積に比例するため、従来の探索方法での処理量がMLに比例するのに比べて処理量を非常に小さくするもので、以下の装置、方法およびプログラムを特徴とする。
(装置の発明)
(1)画像に対する注目位置および注目サイズを変更しながら、注目する領域と複数カテゴリの文字認識辞書との距離を算出する文字走査処理を行い、この文字走査処理により得られた候補文字集合に対して、探索を指定された文字列を構成する文字が一定のピッチで直線状に並んでいる個所を探索処理する文字列探索装置において、
前記探索を指定された文字列の任意の2個の文字に対応する候補文字のペアについて、2個の文字の文字位置から前記候補文字のペアで想定される文字列における先頭文字の座標位置と文字間ピッチを求め、2つの候補文字の大きさの関係が所定の範囲内で、かつ、前記文字間ピッチで定まる文字の並びの方向が決められた方向の範囲内で、かつ、候補文字の大きさと前記文字間ピッチの関係が所定の範囲内という条件を満足するものだけを選ぶ投票手段と、
前記候補文字のペアについて、その先頭文字の座標位置を定数で調整した始点の概値が一致し、かつ、文字間ピッチを定数で調整したピッチの概値が一致するものをまとめる投票空間格納手段と、
前記投票空間格納手段によりまとまったもののうち、探索文字列の文字数から定まる所定数以上の候補文字があるものを抽出する候補点群作成手段と、
前記候補点群作成手段で抽出された候補文字の中から、なるべく直線的に並ぶ候補文字に絞る候補点選択手段とを備えたことを特徴とする。
(2)画像に対する注目位置および注目サイズを変更しながら、注目する領域と複数カテゴリの文字認識辞書との距離を算出する文字走査処理を行い、この文字走査処理により得られた候補文字集合に対して、探索を指定された文字列を構成する文字が一定のピッチで直線状に並んでいる個所を探索処理する文字列探索装置において、
前記候補文字集合に含まれる候補文字を互いに比較し、解像度と空間的距離が近い候補文字の集合を選択し、該集合の中で相対的に認識結果の距離値が大きい候補文字を削除する候補文字絞込み手段と、
前記探索を指定された文字列から、該文字列の前から後の方向に存在する全ての2個の文字の組である文字ペアを選び、各々の文字ペアに対して前記候補文字集合中から文字カテゴリが一致する全ての2個の候補文字の組を探索する処理を行い、該処理の結果探索された全ての2個の候補文字の組に対して、前記候補文字のペアで想定される文字列における先頭文字の座標位置と文字間ピッチを求め、2つの候補文字の大きさの関係が所定の範囲内で、かつ、前記文字間ピッチで定まる文字の並びの方向が決められた方向の範囲内で、かつ、候補文字の大きさと前記文字間ピッチの関係が所定の範囲内という条件を満足するものだけを選ぶ投票手段と、
前記候補文字のペアについて、その先頭文字の座標位置を定数で調整した始点の概値が一致し、かつ、文字間ピッチを定数で調整したピッチの概値が一致するものをまとめる投票空間格納手段と、
前記投票空間格納手段によりまとまった固まりのうち、記録された回数が探索を指定された文字列の長さ別に指定された閾値を越える固まりを抽出し、各抽出された固まりに対して、当該固まりに含まれる全ての候補文字の情報のリストである候補文字・文字位置リストを作成し、当該固まりに含まれる全ての候補文字の前記先頭文字の座標位置、および前記文字間ピッチの平均値を算出して候補文字・文字位置リストに記入する処理を行う候補点群作成手段と、
前記候補点群作成手段が作成した候補文字・文字位置リストに対して、それに含まれる前記平均値から、探索を指定された文字列の全ての文字位置に該当する画像中の座標を仮想座標として算出し、該候補文字・文字位置リストに、同一の文字位置の複数の候補文字が含まれる場合には、該文字位置に該当する前記仮想座標とのユークリッド距離が最小の候補文字を残して他を削除する処理を行なう候補点選択手段とを備えたことを特徴とする。
(3)上記の(2)に記載の文字列探索装置において、
複数の単語を含む単語辞書と、
前記候補文字絞込み手段によって得られる候補文字集合について、前記単語辞書中の単語の各々に対して、該単語を探索文字列として該探索文字列を構成する文字が一定のピッチで直線状に並んでいる個所を探索する処理を行い、該処理結果に該単語の文字数から定まる所定数以上の候補文字が存在する全ての単語について、各々の該探索処理における前記候補点選択手段の処理結果の情報を該単語と共にまとめて出力する単語辞書制御手段とを備えたことを特徴とする。
(方法の発明)
(4)画像に対する注目位置および注目サイズを変更しながら、注目する領域と複数カテゴリの文字認識辞書との距離を算出する文字走査処理を行い、この文字走査処理により得られた候補文字集合に対して、探索を指定された文字列を構成する文字が一定のピッチで直線状に並んでいる個所を探索処理する文字列探索方法において、
前記探索を指定された文字列の任意の2個の文字に対応する候補文字のペアについて、2個の文字の文字位置から前記候補文字のペアで想定される文字列における先頭文字の座標位置と文字間ピッチを求め、2つの候補文字の大きさの関係が所定の範囲内で、かつ、前記文字間ピッチで定まる文字の並びの方向が決められた方向の範囲内で、かつ、候補文字の大きさと前記文字間ピッチの関係が所定の範囲内という条件を満足するものだけを選ぶ投票ステップと、
前記候補文字のペアについて、その先頭文字の座標位置を定数で調整した始点の概値が一致し、かつ、文字間ピッチを定数で調整したピッチの概値が一致するものをまとめる投票空間格納ステップと、
前記投票空間格納ステップによりまとまったもののうち、探索文字列の文字数から定まる所定数以上の候補文字があるものを抽出する候補点群作成ステップと、
前記候補点群作成ステップで抽出された候補文字の中から、なるべく直線的に並ぶ候補文字に絞る候補点選択ステップとを備えたことを特徴とする。
(5)画像に対する注目位置および注目サイズを変更しながら、注目する領域と複数カテゴリの文字認識辞書との距離を算出する文字走査処理を行い、この文字走査処理により得られた候補文字集合に対して、探索を指定された文字列を構成する文字が一定のピッチで直線状に並んでいる個所を探索処理する文字列探索方法において、
前記候補文字集合に含まれる候補文字を互いに比較し、解像度と空間的距離が近い候補文字の集合を選択し、該集合の中で相対的に認識結果の距離値が大きい候補文字を削除する候補文字絞込みステップと、
前記探索を指定された文字列から、該文字列の前から後の方向に存在する全ての2個の文字の組である文字ペアを選び、各々の文字ペアに対して前記候補文字集合中から文字カテゴリが一致する全ての2個の候補文字の組を探索する処理を行い、該処理の結果探索された全ての2個の候補文字の組に対して、前記候補文字のペアで想定される文字列における先頭文字の座標位置と文字間ピッチを求め、2つの候補文字の大きさの関係が所定の範囲内で、かつ、前記文字間ピッチで定まる文字の並びの方向が決められた方向の範囲内で、かつ、候補文字の大きさと前記文字間ピッチの関係が所定の範囲内という条件を満足するものだけを選ぶ投票ステップと、
前記候補文字のペアについて、その先頭文字の座標位置を定数で調整した始点の概値が一致し、かつ、文字間ピッチを定数で調整したピッチの概値が一致するものをまとめる投票空間格納ステップと、
前記投票空間格納ステップによりまとまった固まりのうち、記録された回数が探索を指定された文字列の長さ別に指定された閾値を越える固まりを抽出し、各抽出された固まりに対して、当該固まりに含まれる全ての候補文字の情報のリストである候補文字・文字位置リストを作成し、当該固まりに含まれる全ての候補文字の前記先頭文字の座標位置、および前記文字間ピッチの平均値を算出して候補文字・文字位置リストに記入する処理を行う候補点群作成ステップと、
前記候補点群作成ステップが作成した候補文字・文字位置リストに対して、それに含まれる前記平均値から、探索を指定された文字列の全ての文字位置に該当する画像中の座標を仮想座標として算出し、該候補文字・文字位置リストに、同一の文字位置の複数の候補文字が含まれる場合には、該文字位置に該当する前記仮想座標とのユークリッド距離が最小の候補文字を残して他を削除する処理を行なう候補点選択ステップとを備えたことを特徴とする。
(6)上記の(5)に記載の文字列探索方法において、
複数の単語を含む単語辞書と、
前記候補文字絞込みステップによって得られる候補文字集合について、前記単語辞書中の単語の各々に対して、該単語を探索文字列として該探索文字列を構成する文字が一定のピッチで直線状に並んでいる個所を探索する処理を行い、該処理結果に該単語の文字数から定まる所定数以上の候補文字が存在する全ての単語について、各々の該探索処理における前記候補点選択ステップの処理結果の情報を該単語と共にまとめて出力する単語辞書制御ステップとを備えたことを特徴とする。
(プログラムの発明)
(7)上記の(1)〜(6)のいずれか1項に記載の文字列探索装置または探索方法における処理手順をコンピュータで実行可能に構成したことを特徴とする。
以上、詳細に説明した如く、本発明によれば、文字列探索の際に、探索キーとされた長さLの文字列から、該文字列の前から後の方向に存在する全ての2個の文字の組である文字ペアを選び、各々の文字ペアに対して、候補文字集合中から文字カテゴリが一致する全ての2個の候補文字の組を探索する処理を行い、該処理の結果探索された全ての2個の候補文字の組に対して、ピッチが一定でかつ直線的に並ぶ文字列を特定するパラメータの組を算出し、該2個の候補文字の組と該パラメータの組の情報を投票空間に投票する処理を基本とする。
以上の処理の処理量の期待値は、下記の2つの数値A,Bの積に比例するため、従来の考え方の方法の処理量がMLに比例するのに比べると処理量が非常に小さいという顕著な効果を奏するものである。
・長さLの文字列から抽出される文字ペアの個数:A=L2
・M個の候補文字集合中に存在する、文字ペアと文字カテゴリが一致する全ての2個の候補文字の組の数の期待値:B=(M/全認識対象カテゴリ数)2
また、請求項3等によれば、画像に対してメタデータとして単語及び該単語が存在する場所の情報を付与することが可能となる。
図1は、本発明の一実施形態に係わる処理ブロック図である。同図において、1は候補文字絞込み手段、2は投票手段、3は投票空間格納手段、4は候補点群作成手段、5は候補点選択手段である。以下、図1のブロックの詳細な動作について説明する。
なお、本実施形態では、前記の図40に示す解像度を0.7倍した画像からの候補文字集合の例で説明するが、他の解像度(0.8倍、1.2倍、1.4倍)からの候補文字集合も使用した候補文字集合を処理対象とする。
(1)候補文字絞込み手段
文字列探索には、最初に、候補文字絞込み手段1での処理が行なわれる。候補文字絞込み手段1は様々な構成が考えられるが、本実施形態では説明のために、図2に示す構成をとる。単一解像度候補文字絞込み手段11は、候補文字集合を画像の解像度別に分け、各々の候補文字集合の中で絞込みを行なう処理である。それに対して、複数解像度候補文字絞込み手段12は、全ての解像度の候補文字集合に対して絞込みを行なう処理である。本実施形態ではこの2つの手段を直列に接続して候補文字を絞込む。
まず、単一解像度候補文字絞込み手段11は、ある解像度の画像に対して、1つの小ブロックにある候補文字数を距離によって絞込む。この絞込みは、升目の仕切位置を変更しても行う。この処理の詳細を説明する。ここでは、ある解像度における候補文字集合を、その中心座標によりブロック分割する。本実施形態では解像度が原画像の0.7倍の場合のみを図3〜図9を用いて説明する。他の解像度については単一解像度候補文字絞込み手段11の処理内容の説明は省略するが、同様の処理である。
図3は、0.7倍の画像の場合の基本的なブロック分割の様子を示しており、各升目が40画素×40画素のブロックを表している。実際のブロック分割は、この基本的なブロック分割を基に、ブロック配列の位置を縦および横方向にずらした分割方法を複数用意する。図4(a)〜(d)はその例で、これらのうち、太線で囲まれた正方形の閉領域が1つのブロックである。図4(a)は、図3の基本的なブロック分割をずらさずに用いたブロック分割結果であり、(b)、(c)はそれぞれ縦方向、横方向に20画素ずらしたもの、(d)は縦横に両方とも20画素ずらしたものである。
単一解像度候補文字絞込み手段11は、これらのブロック分割結果を順番に適用して絞込みを行なう。まず、図4(a)を用いた例を説明する。図40の候補文字集合を図4(a)のブロック分割方法に従って分割したのが図5である。ここで、1ブロックの中での絞込みの方法を、候補文字を距離値の小さい順に並び替え、上位の候補文字から一定個数(この実施形態では2個)だけ採用して他を削除するものとする。他にも、候補文字を距離値の小さい順に並び替え、最小の距離値を持つ候補文字からの距離値の差分が一定閾値を越える候補文字を削除する方法もありうる。
図5の場合、複数の候補文字が存在するブロックは左上端から1ブロック分右下のブロックだけであり、このブロックにおける処理内容を説明する。このブロックには、(電、600)と[電、420]と(黄、780)の3個が存在する。これを距離の小さい順に並び替えると、[電、420]、(電、600)、(黄、780)となり、これを上位から2個だけ採用し他を削除すると、[電、420]、(電、600)が残る。これを図示したのが図6である。
1ブロックの中での絞込みの方法としては、以上の他に、候補文字を距離値の小さい順に並び替えた後、上位の候補文字と同一の文字カテゴリを有する下位の候補文字を削除した後に、上位の候補文字から一定個数個(この実施形態では2個)だけ採用して他を削除する方法もある。図7は図5に対してこの方法を適用した結果である。
さて、単一解像度候補文字絞込み手段11は、図6の結果に対して、次に、他のブロック分割方法を適用して絞込みを行なう。図8は、図6の結果に対して図4(b)のブロック分割方法を当てはめた時のブロック分割の様子であり、図9はその絞込み結果である。これに対してさらに、図4(c)、図4(d)を当てはめるが、候補文字はこれ以上削減されない。従って、図9が解像度0.7倍の場合の単一解像度候補文字絞込み手段11の処理結果である。同様に、他の解像度に対しても同様の処理結果が単一解像度候補文字絞込み手段11から出力される。
次に、単一解像度候補文字絞込みの終了で、複数解像度候補文字絞込み手段12の処理に移る。複数解像度候補文字絞込み手段12は、距離が小さい候補文字は残す方針で、近さ判定関数を用いて、近くにある同じカテゴリ文字となる候補を削除する文字絞込みを行うもので、以下詳細に説明する。
複数解像度候補文字絞込み手段12は、まず、単一解像度候補文字絞込み手段11から出力された各解像度の絞込み結果を一つにまとめる。まとめた結果の例を図10と図11に示す。図10において、[]と■は正しい候補文字(■は中心座標)、()と×は誤った候補文字(×は中心座標)である。また、実線の正方形は正しい候補文字の窓の大きさを、破線の正方形は誤った候補文字の窓の大きさを表す。さらに[]、()内の情報は、PID(単一解像度候補文字絞込み手段11の処理の結果残った候補文字の0から始まる通し番号)、候補文字カテゴリ、中心点のX座標、中心点のY座標、観測窓の大きさを表す。ここで、観測窓の大きさは、基本的な観測窓の大きさ(縦40画素、横40画素)を画像の解像度の倍率で割った値である。
例えば、原画像を0.7倍した画像から検出された候補文字の観測窓の大きさは、縦40画素、横40画素を0.7で割った値であり、縦横共通に57.1≒57である。すなわち、図10において観測窓の大きさ=57である候補文字が図9のデータ(解像度が0.7倍)に由来する。
図11は、図10の各候補文字をリストにまとめたものであり、図10の情報に加えて候補文字の認識結果の距離値が情報として加わっている。また、図11には「正誤」の情報が書かれているが、これは本実施形態の説明のために、正しい候補文字(正誤=1)と誤った候補文字(正誤=0)を区別するために便宜上書いたものであり、実際の処理とは無関係である。この図11に例を示すリストを「入力データ配列」と呼ぶ。
次に、複数解像度候補文字絞込み手段12では、入力データ配列のデータに対して図12のフローチャートで示した処理を行なう。図12の処理において、関数F1とは2つの候補文字が「近い」か「遠い」かを判定する関数である。具体的には、
(1)2つの候補文字の文字カテゴリが一致するか否か
(2)2つの候補文字の中心座標のユークリッド距離の近さ
(3)2つの候補文字の大きさの近さ
の3つの「近さ」を総合判断して決定する。総合判断の方法は様々に考えられるが、ここでは例として、(3)は無視して、(1)の文字カテゴリが一致し、かつ(2)のユークリッド距離が一定の閾値(この例では40)以下である場合に、F1は「近い」と判断し、それ以外の場合は「遠い」と判断するものとし、その結果が図14と図15であり、途中経過を示すのが図13である。
図12のフローチャートでは、まず図11で示す入力データ配列に対して、距離値の小さい順にソートするが、この場合の結果が図13(a)である。またこの後に、入力データ配列の上位レコードから順次「大きさ」が−1でないものを取り出して行く。この実施形態では、入力データ配列のレコードの「大きさ」に「−1」を記入することは「削除」を意味しており、これはレコードの他の欄を用いてもよい。また、図12におけるレコードバッファとは、入力データ配列におけるレコードの情報を複数個分コピーして一時格納しておくメモリである。
図13(a)の例では、i=1から初めてi=6までは、レコードバッファに格納されるのは入力データ配列のi番目のレコード1個だけであり、入力データ配列のデータは削除されない(すなわちいずれのレコードの「大きさ」も−1が書き込まれない)。これに対して、i=7の時には、レコードバッファに計3個のレコードが書き込まれる。これは図13(b)の網掛けで示した3つのレコード(i=7、9、10)であり、書き込まれたレコードバッファが図13(c)である。このレコードバッファから上位一定個数(ここでは例として2個)のレコードを削除すると、この例ではPID=0のレコードだけが残り、このレコードのPID=0に該当する入力データ配列のレコードの「大きさ」の欄に−1を書き込んだのが図13(d)である。
さて、入力データ配列のi=7に対する上記の処理の後、i=8から11まで処理を行なった後でも入力データ配列の内容は図13(d)と変わらない。最後に入力データ配列をPIDの小さい順にソートした結果が図14、それを画像上に重畳して表示したのが図15である。
なお、F1における総合判断の方法としては上記以外にも、(1)を無視することが考えられる。また(3)を無視せずに、2つの候補文字の大きさの近さが一定閾値以下である、という条件をF1の判断に論理積の形で加えることも考えられる。すなわち、(1)の文字カテゴリが一致し、かつ(2)のユークリッド距離が一定の閾値以下であり、かつ(3)の2つの候補文字の大きさの近さが一定閾値以下である場合にF1は「近い」と判断する。その場合の「大きさの近さ」とは例えば、具体的には大きい方の「大きさ」を小さい方の「大きさ」で割った値を尺度とすることが考えられる。この尺度を用いる場合には、この尺度は両者の大きさが最も近い場合には1となり、大きさが離れていくにつれて1よりも大きな値になっていくので、2つの候補文字の大きさの近さの閾値は1よりも大きい値に設定する必要がある(例えば、1.5など)。あるいは、1つの閾値を用いる代わりに、2つの候補文字の大きさの順序は考慮せずに機械的に片方の「大きさ」をもう片方の「大きさ」で割った値を尺度として、その値に2つの値で決定される範囲を設定する方法もある。この場合、この尺度は両者の大きさが最も近い場合には1となり、大きさが離れていくにつれて1よりも小さくなるか大きくなっていくので、1より小さい値(例えば、0.7)と大きい値(例えば、1.5)の2つの値によって設定された範囲に入っていれば(例えば、0.7以上かつ1.5以下の範囲)F1は「近い」と判定し、そうでなければ「近い」と判定しない。
また(2)と(3)の2つの「近さ」を個別に扱う代わりに、この2つの尺度を一つにまとめる、具体的には、2つの候補文字の(中心点のX座標、中心点のY座標、大きさ)の3次元ベクトル間のユークリッド距離、もしくは各次元に重みをつけたユークリッド距離が一定閾値以下であることを「近い」と判定する尺度とすることも考えられる。
また、以上の関数F1の説明では、比較する2つの候補文字の「大きさ」が等しい場合も「近い」と判定する可能性があるが、これを比較する2つの候補文字の「大きさ」が等しい場合は「近い」と判定しない、とすることも可能である。これは、単一解像度候補文字絞込み手段11において既に「大きさ」が等しい候補文字の絞込みは既に済んでいるので不要、という考え方による。
また、候補文字絞込み手段1を単一解像度候補文字絞込み手段11だけで構成することも可能である。その具体的な処理内容は、上記の候補文字絞込み手段1の説明において、単一解像度候補文字絞込み手段11の未処理を行い、複数解像度候補文字絞込み手段12では何もせずに単一解像度候補文字絞込み手段11から受け取った処理結果をそのまま出力する処理に等しい。
また、以上の候補文字絞込み手段1の構成を、まず複数解像度候補文字絞込み手段12を行って、その次に単一解像度候補文字絞込み手段11を行う、という順番に構成することも可能である。例えば、複数解像度候補文字絞込み手段12のF1の総合判定において、上記の(1)、(2)、(3)の3つの「近さ」の判定結果の論理積を用いることにすると、この複数解像度候補文字絞込み手段12の処理によって、解像度と空間的な距離が近い同一カテゴリの候補文字を統合する効果となる。
(2)投票手段
候補文字絞込みの終了で、投票手段2の処理に移る。投票手段2は、探索キー(探索文字列)の2つの文字要素を取り出して、文字要素と候補のカテゴリが一致する組み合わせを求める。そして、文字の方向(縦書き、横書き)や文字間隔から適切な候補の組み合わせだけを残す。この処理はあらゆる2つの文字要素について行う。
この投票手段2の処理手順を示したのが図16のフローチャートである。以下、図14の入力データ配列を対象として動作を説明する。入力データ配列のレコード数をK個と置く。図16のフローチャートは、以下の表記を用いている。まず、入力データ配列のK個の点をP1,P2,・・・,PKで表し、この集合をPGで表す。また、探索キーとされた文字列をW(長さL)とし、Wを構成する文字をC1,C2,・・・,CLで表す。さらに、m,nを自然数(1≦m<n≦L)とする。
ここで、Wを「電話会社」としたとき(すなわちC1=電、C2=話、C3=会、C4=社、とする)、図16のフローチャートの中で、全てのnとmの可能な組み合わせにおいてK0とK1の処理(カテゴリ番号が一致する集合PGM、PGNの作成処理)を図14の入力データ配列に対して行い、各々を全ての組み合わせた結果を図17に示す。図17において、左側は集合PGMから抽出した要素、右側は集合PGNから抽出した要素である。ただし、各々の要素には、文字位置を表すm,nの数値を追加してある。このように、候補文字の情報に単語内の文字位置の情報を追加したデータを、以後「候補点」と呼ぶ。また、集合PGMから抽出した1個の「候補点」をR1,集合PGNから抽出した1個の「候補点」をR2と呼ぶ。また、図17の各レコードには、説明のための通し番号が先頭に振ってある。
図16のフローチャートのK2の処理では、これらの組み合わせに対して、
(A1)文字列の中心位置座標の配列を規定する4つのパラメータ値(a,b,c,d)の計算。
(B1)パラメータ値(a,b,c,d)から、投票空間格納手段3に登録するための座標ベクトル(Ra,Rb,Rc,Rd)を算出。
(C1)各々の候補点R1とR2の組み合わせの可否を判定する関数(組み合わせ判定関数)を適用。
(D1)組み合わせ判定関数が合格と判定した組み合わせを投票空間格納手段3に追加。
の4つの処理を行なう。なお(B1)におけるRa,Rb,Rc,Rdは、それぞれa,b,c,dの概値として算出される値である。また、(C1)における「R1とR2」は、集合PGMから抽出した1個の「候補点」と、集合PGNから抽出した1個の「候補点」を意味する。
以下、各々の処理を例を用いて説明する。
(A1)における4つのパラメータ値(a,b,c,d)は、それぞれ以下の意味である。
a:仮想的な開始点のX座標
b:仮想的な開始点のY座標
c:仮想的なX方向のピッチ(仮想的ピッチベクトルのX成分)
d:仮想的なY方向のピッチ(仮想的ピッチベクトルのY成分)
これらを説明する模式図を図18に示す。これは図17における番号=11、(m,n)=(2、3)のレコードを用いた時の模式図である。このレコードには、集合PGMから取り出した候補点R1=(カテゴリ=話、X1=160、Y1=190、窓の大きさ=50、距離374、単語内文字位置=2、PID=9)と、集合PGNから取り出した候補点R2=(カテゴリ=会、X2=230、Y2=170、窓の大きさ=50、距離=450、単語内文字位置=3、PID=5)が存在する。
ここで、R1の中心のX座標=X1,中心のY座標=Y1,単語内文字位置=iとし、R2の中心のX座標=X2,中心のY座標=Y2,単語内文字位置=jとすると、a,b,c,dは下式で計算される。
c=(X2−X1)/(j−i)
d=(Y2−Y1)/(j−i)
a=X1−c×(i−1)
b=Y1−d×(i−1)
図18の各レコードに対して上記の式により(a,b,c,d)を計算した結果を図19に示す。
次に(B1)の処理であるが、ここでは(Ra,Rb,Rc,Rd)を(a,b,c,d)の値から算出する。本実施形態では、
Ra=a/Ca (Caは定数) 小数点1位を四捨五入
Rb=b/Cb (Cbは定数) 小数点1位を四捨五入
Rc=c/Cc (Ccは定数) 小数点1位を四捨五入
Rd=d/Cd (Cdは定数) 小数点1位を四捨五入
の演算で算出する。Ca,Cb,Cc,Cdは例として、60、60、90、90を用いる。ここで、Ca,Cb,Cc,Cdはそれぞれ、a,b,c,dを概値にするための値であり、同一文字列上に存在する候補文字のペアができるだけ同一の(Ra,Rb,Rc,Rd)ベクトルの値をとるように、かつ同一文字列上に存在しない候補文字のペアができるだけ同一の(Ra,Rb,Rc,Rd)ベクトルの値をとらないような大きさに調整する。図19に対してこの処理を行なった結果を図20に示す。
次に(C1)の処理における組み合わせ判定関数であるが、これは本実施形態ではまず、下記の3つの評価尺度を計算する。
・s=(R2の「大きさ」)÷(R1の「大きさ」)
・α=仮想ピッチベクトルの角度(角度の取り方については図22(a)を参照)
・Ps=(c×c+d×d)0.5/{0.5×(R2の「大きさ」+R1の「大きさ」)}
そして、組み合わせ判定関数は、
s1<s<s2 かつ α∈α1 かつ Ps1<ps<Ps2
の条件を満足した時に「組み合わせ可」、満足しない時に「組み合わせ不可」とする。上式において、s1とs2はsの範囲を表す数値で、本実施形態ではs1=0.8、s2=1.2を用いる。また、Ps1とPs2はPsの範囲を表す数値で、本実施形態ではPs1=0.9、Ps2=3.0を用いる。
また、α1は許容されるαの範囲である。本実施形態では、左から右に書かれた、多少傾きがあり得る文字列を読み取り対象としており、そのためにα1は図22(b)のように(この図における、太い円弧で示した角度の範囲が該当)、X軸のプラス方向に対して±20度の範囲内とした。ただし、この範囲は読み取りを想定する文字列の角度によって設定すればよい。例えば、左から右方向だけでなく、上から下に並んだ文字列も許容しようとすれば、図22(c)のように、Y軸のマイナス方向の周囲にも許容する角度の範囲を設ければよい。
また、上記の「s」は、2つの候補文字の大きさの比を意味する。同一文字列上に存在する候補文字は、通常は大きさが近いはずであり、この「s」の範囲を限定することで候補文字の組み合わせを絞込むことができる。
また、Psは、R1の「大きさ」とR2の「大きさ」の平均値に対する、R1とR2から算出されるピッチの大きさの相対値であり、一般的な文字列はこの大きさに範囲があるので、この範囲を限定することで候補文字の組み合わせを絞込むことができる。
図20の結果に対して、以上の処理(C1)を施した結果が図21である。ここで、各レコードにおけるs,α,Psの欄に書かれた数値が算出された値であり、網掛けとなっているのが「組み合わせ不可」となった欄、3つの評価尺の中で1個でも「組み合わせ不可」となった場合には、「判定結果」が「×」となっており、これが組み合わせ判定関数の判定結果(この場合には「組み合わせ不可」)である。また「○」は3つの評価尺が全て「組み合わせ可」となり、組み合わせ判定関数が「組み合わせ可」と判定した結果である。
次に(D1)の処理であるが、ここでは組み合わせ判定関数が合格と判定した組み合わせを投票空間格納手段3に追加する。図21の結果において、組み合わせ判定関数の判定結果が「組み合わせ可」(図21では「○」)となったレコードだけを集めたものが図23である。
なお、(C1)における組み合わせ判定関数であるが、上記の3つの条件に加えて、「R1とR2の距離値の合計が一定閾値以内」という判定を用いることも可能である。例えば、図21の中のm=1、n=2の表において、番号=3の行におけるR1とR2の組み合わせは、集合PGMから取り出した要素の「正誤」の欄が「0」となっている(すなわち、誤った候補文字)にもかかわらず、判定結果は「○」となってしまい、誤った投票が行われてしまっている。これに対して、判定条件にさらに「R1とR2の距離値の合計が一定閾値(ここでは例として「900」を用いる)以内であること」という判定条件を論理的な積として追加すると、番号=3の行のR1とR2の組み合わせにおける両者の距離値の合計は「924」であるため、この判定条件を満足せず、判定結果は「×」となり、誤った投票を防ぐことができる。これに対して、それ以外の正しい組み合わせ、すなわち、図21の全ての表における、集合PGMから取り出した要素と集合PGNから取り出した要素の「正誤」の欄が両方とも「1」となっている組み合わせでは、両者の距離値の合計はいずれも「900」を下回るので、上記の新たな判定条件を満足するため、これらの正しい投票は妨げられない。
(3)投票空間格納手段
投票空間格納手段3は、2つの候補の組み合わせを、さらに組み合わせて整合するものを選択する。つまり、始点位置の概数(Ra,Rb)とピッチの概数(Rc,Rd)が一致すれば整合すると判定する。
この投票空間格納手段の構成について説明する。投票空間格納手段3は、2個の候補点R1とR2の情報と、該2個の候補点の、探索を指定された文字列内の文字位置の情報と、ピッチが一定でかつ直線的に並ぶ文字列を特定するパラメータの組の情報とから構成されるレコードである投票レコードを複数格納する投票レコード格納手段と、該手段の中で該パラメータの組を持つ投票レコードが格納されているアドレスを示すインデクスを全て格納するインデクス格納手段とを有している。何も情報が登録されていない状態の投票空間格納手段3の実現例を図24に示す。
(D1)の処理では、次の(D1−1)から(D1−5)の処理を行なう。
(D1−1)図23に示す組み合わせ判定関数の判定結果が「組み合わせ可」(図21では「○」)となったレコードを1個ずつ取り出す。
(D1−2)そのレコードの情報を投票レコード格納手段のまだ書き込まれていない最末端のレコードのエリアに書き込む。
(D1−3)この書き込んだ投票レコード格納手段のレコードのアドレスを一時保存する。
(D1−4)(D1−3)で書き込んだレコードの(Rc,Rd,Ra,Rb)を調べ、これを(Rc0,Rd0,Ra0,Rb0)とする。
(D1−5)投票空間格納手段3のインデクス格納手段における(D1−4)で調べた(Rc0,Rd0,Ra0,Rb0)を持つレコードにアクセスし、該レコードの「投票数」を+1し、該レコードの「アドレス格納部」に、(D1−3)で一時保存した投票レコード格納手段のレコードのアドレスを追加する。
以上の処理(D1)を図23のデータ全てに対して行なった結果の投票空間格納手段3のデータを図25に示す。
上記の(D1−5)の代わりに、次の(D1−50)を行なう方法もある。
(D1−50)投票空間格納手段3のインデクス格納手段における(D1−4)で調べた(Rc0,Rd0,Ra0,Rb0)を持つレコード、および(Rc0,Rd0,Ra0,Rb0)の近傍の(Rc,Rd,Ra,Rb)を持つレコードにアクセスし、それらのレコードの「投票数」を+1し、かつ「アドレス格納部」に、(D1−3)で一時保存した投票レコード格納手段のレコードのアドレスを追加する。
(D1−50)において、(Rc0,Rd0,Ra0,Rb0)の近傍の(Rc,Rd,Ra,Rb)とは、Rc0,Rd0,Ra0,Rb0の一部ないし全てに一定範囲に含まれる整数(例えば−1から1までの整数)を加えたものである。例えば、Rc0とRd0の一方だけに−1から+1の整数を加えることとした場合、(Rc0,Rd0,Ra0,Rb0)=(1、0、1、2)の近傍の(Rc,Rd,Ra,Rb)は、(0、0、1、2)、(2、0、1、2)、(1、−1、1、2)、(1、1、1、2)の4個となる。
図25は(D1−5)を用いた処理の結果であり、(Rc0,Rd0,Ra0,Rb0)=(1、0、1、2)のレコードに正しい組み合わせの多くが集まっているが、(B1)の処理で用いるCa,Cb,Cc,Cdの値がさらに小さく設定されている場合には、接近した複数の(Rc,Rd,Ra,Rb)に分かれてしまう可能性があり、それが原因で「投票数」が小さくなり、候補点群作成手段4の処理で正しくレコードが抽出されない危険がある。これに対して、例えば正しい組み合わせが(1、0、1、2)と(0、0、1、2)の2つ分かれたとしても、例えば、Rc0とRd0の一方だけに−1から+1の整数を加えるとしておけば、それぞれ
・(1、0、1、2)、(0、0、1、2)、(2、0、1、2)、(1、−1、1、2)、(1、1、1、2)
・(0、0、1、2)、(−1、0、1、2)、(1、0、1、2)(0、−1、1、2)、(0、1、1、2)
に投票し、(0、0、1、2)と(1、0、1、2)の(Rc,Rd,Ra,Rb)を持つインデクスには、正しい組み合わせのレコードの「アドレス格納部」のアドレスが全て書き込まれることとなる。
(4)候補点群作成手段
投票空間格納処理の終了で、候補点群作成手段4の処理に移る。候補点群作成手段4は、探索キー(探索文字列)の文字数により、投票空間格納手段3の処理で所定文字数以上の固まりになったものを選択する。
この候補点群作成手段は、まず、投票空間格納手段3におけるインデクス格納手段の中から、投票数が探索キーとして指定された文字列の長さ別に設定された閾値を越えるインデクスを全て抽出する。この「投票数が探索キーとして指定された文字列の長さ別の閾値の設定方法」であるが、これには様々な方法が考えられるが、本実施形態では、下記のように設定する。まず、探索キーとして指定された文字列の中で、何文字の欠落まで許容するかを文字列の長さ毎に人手で設定する。本実施形態では、
単語長=1は扱わない。
単語長=2の場合:許容する最大欠落文字数=0
単語長=3の場合:許容する最大欠落文字数=0
単語長=4の場合:許容する最大欠落文字数=1
単語長=5の場合:許容する最大欠落文字数=1
単語長=6の場合:許容する最大欠落文字数=2
単語長=7の場合:許容する最大欠落文字数=2
単語長≧8の場合:許容する最大欠落文字数=単語長×一定数(例:0.2)を小数点1位切り上げ(例えば単語長=8では、8×0.2=1.6→2)
とする。
これに対して、「投票数が探索キーとして指定された文字列の長さ別の閾値」は、
(単語長−許容する最大欠落文字数)×(単語長−許容する最大欠落文字数−1)÷2
で計算する。すると、本実施形態における「電話会社」の単語長は4なので、閾値は「3」となる。すなわち、インデクス格納手段の中から「投票数」が3以上のインデクスを残らず抽出する。この場合、図25のインデクス格納手段において「投票数」が3以上のインデクスは、(Rc,Rd,Ra,Rb)=(1、0、1、2)のレコードだけでありこれが抽出される。
次に、抽出されたインデクスに対して、該インデクスから手繰られる全てのレコード格納手段中の投票レコードを抽出し、それらに含まれる全ての候補点の情報および該候補文字の、探索を指定された文字列内の文字位置の情報を探索してそれらのリストである候補文字・文字位置リストを作成する。
図23の(Rc,Rd,Ra,Rb)=(1、0、1、2)のインデクスのアドレス格納部の格納されたアドレスは、(1、3、4、5、7、9、10、11)であり、これらに該当する投票レコード格納手段のレコードを全て抽出した結果(候補文字・文字位置リスト)を図26に示す。また、図26にあるように、候補文字・文字位置リストには、全レコードのa,b,c,dの平均値を格納するエリアも末端部に付属している。ただし、図26ではまだ書き込まれていない。
次に、候補点群作成手段4は、全レコードのaの平均値を求め、次いで全レコードのbの平均値を求め、次いで全レコードのcの平均値を求め、次いで全レコードのdの平均値を求め、各々の平均値を候補文字・文字位置リストの末端部の全レコードのa,b,c,dの平均値を格納するエリアに書き込む。その結果が図27である。
この例では、c,d,a,bの平均値は各々74.4、−10、81.3、195となっている。次に、候補文字・文字位置リストに含まれる全てのR1とR2を抜き出し、リスト化する。これを候補点群リストと呼ぶ。図27から作成した候補点群リストを図28(a)に示す。
(5)候補点選択手段
候補点群作成手段4の処理の終了で、候補点選択手段5の処理に移る。候補点選択手段5は、候補点で重複するものは除いて、最後は候補の座標位置から1つに絞り込む。
図28(a)から分かるように、候補点群作成手段4の処理結果には多くの候補点が重複して含まれているので、候補点選択手段5はまずこの重複を排除する処理を行なう。そのためにまず、候補点群リストを、PIDの小さい順に(PIDが等しい場合には「文字位置」の小さい順に)ソートする。この結果を図28(b)に示す。次に、候補点群リストのレコードを上位側から1個ずつ選び、自分自身のPIDと文字位置の値が1つ下位のレコードのPIDと文字位置の値と両方とも一致するか否かを調べ、一致していれば自分の「大きさ」の値に−1を記入する。この処理を逐次的に、下から2番目のレコードまで行なう。これを図28(b)に対して行なった結果が図28(c)である。次に、図28(c)に示す結果から、「大きさ」が−1のレコードを削除すると、図28(d)の結果となる。この結果を画像に重畳した表示したのが図29である。この時点でまだ、文字位置=1の候補点が2個残っていることが分かる。この中から正しい候補点を選択するために、候補点選択手段5は以下の処理を行なう。
まず、候補文字・文字位置リストに付属している全レコードのa,b,c,dの平均値を格納するエリアから、c,d,a,bの平均値を取り出す。これを各々、c0,d0,a0,b0と表記する。本実施形態での値は図27から分かるように各々、74.4、−10、81.3、195となる。
次に、このc0,d0,a0,b0の値から算出される仮想的な文字位置の中心座標を、複数の候補点が存在している文字位置について算出する(この場合には文字位置=1)。文字位置iの仮想的な中心座標を(Xei,Yei)と表記すると、
Xei=a0+c0(i−1)、Yei=b0+d0(i−1)
で計算する。従って、i=1の場合には、Xel=81.3、Yel=195となる。
次に、複数の候補点が存在している文字位置について、各々の候補点の実際の中心座標と上記で計算された仮想的な中心座標のユークリッド距離を計算する。この実施形態での計算結果を図28(e)に示す。そして、この距離が最も小さい候補点を選択する。図28(e)では、PID=1のレコードがこの(Xel,Yel)との距離が最も小さいので、このレコードが正しく選ばれる。そして、ここで選択されなかったレコードは、すべて候補点群リストから削除する(図28(e)ではPID=2のレコード)。図28(d)に対して、このPID=2のレコードを削除した結果が図30(a)であり、これを原画像上に重畳表示したのが図30(b)である。
なお、投票空間格納手段3の(D1)の処理において(D1−5)の代わりに(D1−50)を用いた場合には、候補点選択手段5からの出力中に、同じ候補点を持つ候補点群が重複して存在する可能性がある。その場合には、候補点選択手段5からの出力中の候補点群が同じ候補点を持つか否かを調べる処理と、重複している候補点群が存在している場合には候補点の個数が最も多い候補点群1個を残し、残りを削除する処理を候補点選択手段5の後で行なう。
(6)他の実施形態
図31に本発明の請求項3等に対応する実施形態例を示す。図31の中で、個別の要素1〜5は図1の実施形態のものと同一である。以下、図31の動作を具体的に説明する。
まず、単語辞書61の具体例を図32に示す。図32の単語辞書には4個の単語が含まれている。
図31の動作は、最初に候補文字絞込み手段1から始まるが、この部分は図1と全く同じである。そこで、この部分の説明は省略し、候補文字絞込み手段1の処理の結果、図14に示す入力データ配列が生成されたものとし、以降の説明を行なう。
図31の実施形態では、候補文字絞込み手段1の処理の結果は単語辞書制御手段62に送られる。単語辞書制御手段62は、単語辞書61から1個ずつ単語を取り出して、その単語を探索文字列として、候補文字絞込み手段1の処理の結果と共に投票手段2に送る。以降の、投票手段2から候補点選択手段5までの処理の内容は、図1の場合と全く同じである。
従って、まず図32の辞書における単語番号=1である単語「電話会社」が図14に示す入力データ配列と共に投票手段2に送られると、投票手段2から候補点選択手段5までの処理の結果、候補点選択手段5からは図30(a)の結果が単語辞書制御手段62に送られる。単語辞書制御手段62は、単語長別の下記の基準に照らして(例を下記に示す)、欠落文字数が最大欠落文字数以下であるか否かを調べ、欠落文字数が最大欠落文字数以下である単語だけを採用してまとめる。
単語長=2の場合:許容する最大欠落文字数=0
単語長=3の場合:許容する最大欠落文字数=0
単語長=4の場合:許容する最大欠落文字数=1
単語長=5の場合:許容する最大欠落文字数=1
単語長=6の場合:許容する最大欠落文字数=2
単語長=7の場合:許容する最大欠落文字数=2
単語長≧8の場合:許容する最大欠落文字数=単語長×一定数(例:0.2)を小数点1位切り上げ(例えば単語長=8では、8×0.2=1.6→2)
単語番号=1である単語「電話会社」の単語長は4であり、この場合の最大欠落文字数は1であるが、図30(a)の結果では欠落文字数は0であることから、この単語は採用される。
また、単語番号=2の「会社」の単語は、「電話会社」の後半2文字と同じ文字の組み合わせであり、「電話会社」の後半2文字と同様の処理過程を辿り、候補点選択手段5の結果は図33のようになる。この結果、候補点選択手段5からは図33(a)のデータが候補点選択手段5に送られる。
単語長=2の場合、許容する最大欠落文字数は0だが、図33(a)の結果における欠落文字数は0であるため、この単語は採用される。これに対して単語番号=3の単語と単語番号=4の単語は、図14に示す入力データ配列の中に該当する候補文字が1個も含まれないため、投票手段2の処理の段階で投票数は全て0であり、候補点選択手段5からは空のデータが単語辞書制御手段62に送られる。これらの場合には、単語の全ての文字が欠落されているため欠落文字数は単語長に等しく(両方とも6)、単語長=6の場合の許容する最大欠落文字数=2を上回るため、この2つの単語は採用されない。
単語辞書制御手段62は、単語辞書61に含まれる全ての単語に対して以上の処理を行なった後で、採用した単語とその候補点選択手段5から送られたデータをまとめてから出力する。本実施形態では、図34がまとめられた結果である。
本実施形態によれば、画像に対してメタデータとして単語および該単語が存在する場所の情報を付与することが可能となる。
次に、本実施形態を用いた応用例について述べる。本実施形態を用いることによりい求項3。、、画像に対してメタデータとして単語および該単語が存在する場所の情報を付与することが可能となる。
具体例としては、まず、多くの画像を蓄積し、検索する画像データベースシステムにおいて、画像中に写った文字列をキーワードとして画像の検索が可能な検索技術が実現する。ブロック図の例を図35に示す。このシステムでは、新規の画像を登録する際には、画像は画像蓄積手段200と文字走査処理手段300に送られる。説明の例として、このシステムに画像が1件も登録されていない状態のときに、図38の画像が登録されるときの処理内容を説明する。画像蓄積手段200では、画像は画像番号(管理するための通し番号)を振られて蓄積されるが、この場合は図38の画像に画像番号「1」(1番目の登録画像の意味)が振られる。また、画像蓄積手段200は、この画像番号をキーワード蓄積手段500に送る。
次に、文字走査処理手段300の処理に移る。この文字走査処理手段300の処理内容は、「従来技術」で説明した文字走査処理をそのまま用い、その結果はキーワード付与手段100に送られる。また、キーワード付与手段100は、請求項3等で説明した文字列探索装置をそのまま用い、単語辞書は図32の例を用いる。したがって、キーワード付与手段100の結果としては、「電話会社」と「会社」の2つの単語が出力される。このキーワードはキーワード蓄積手段500に送られる。
キーワード蓄積手段500では画像蓄積手段200から送られた画像番号とキーワード付与手段100から送られたキーワードを関係付けて内部のテーブルに追加登録する。画像番号「1」とキーワード「電話会社」と「会社」が登録された内部のテーブルの模式図を図36(a)に示す。
また、それ以降に画像3枚が図35のシステムに登録のために入力され、その結果としてキーワード蓄積手段500の内部のテーブルが図36(b)の模式図になったとする。この時点で、例として操作者が「電話会社」という文字列が写っている画像を検索したい場合、キーワード検索手段400にキーボードなどで「電話会社」と入力すると、図36(b)のテーブルの中でキーワードの欄に「電話会社」と記入されたレコードを探し(この場合は画像番号=1のレコードが検索される)、その画像番号に相当する画像を画像蓄積手段200から取り寄せて検索結果として操作者に表示する。
別の具体例としては、表示装置とカメラを備えた携帯端末(カメラ付きのPDA、カメラ付きの携帯電話、カメラ付きの小型ノートPCなど)で撮影された文字列パターンを認識して機械翻訳した結果を表示する技術が実現される。ブロック図の例を図37(a)に示す。画像撮影手段201は、端末が備えるカメラであり、結果表示手段501は、端末が備える液晶等のディスプレイである。それ以外の文字走査処理手段300,キーワード付与手段100、機械翻訳手段401は、携帯端末のCPUで実行されるプログラム、もしくは携帯端末に内蔵された専用のハードウェア、もしくは携帯端末から送信された画像を受信する機能および結果を携帯端末に送信する機能を有するサーバー上のプログラムにより実現される。
まず、操作者が画像撮影手段201で文字列を撮影すると、その画像に対して文字走査処理手段300とキーワード付与手段100が画像中に写っている文字列を読み取ってキーワードとして出力される。例として、図38の画像が撮影されたものとし、文字走査処理手段300とキーワード付与手段100として、上記の「画像データベースシステム」の説明で用いたものをそのまま用いたとすると、キーワード付与手段100からは「電話会社」と「会社」が出力され、機械翻訳手段401に送られる。機械翻訳手段401は、その文字列を他の言語(例えば英語)に翻訳し、結果は結果表示手段501に送られて操作者に表示される。
また、図37(b)は、図37(a)における機械翻訳機能401を、キーワード付与手段100によって画像に付与されたキーワードを用いてそのキーワードに関連した情報を検索する「キーワードによる情報検索手段402」に置き換えたものであり、他の機能は図37(a)と同じである。キーワードによる情報検索手段402の具体例としては、単語辞書、インターネットの検索エンジンなどがある。
なお、本発明は、図1等に示した装置又は図12等に示した方法の一部又は全部の処理機能をプログラムとして構成してコンピュータで実行可能にすることができる。
本発明の一実施形態を示すブロック図。 候補文字絞込み手段1の構成の例を示すブロック図。 単一解像度候補文字絞込み手段11の処理過程を示す模式図。 単一解像度候補文字絞込み手段11の処理過程を示す模式図。 単一解像度候補文字絞込み手段11の処理過程を示す模式図。 単一解像度候補文字絞込み手段11の処理過程を示す模式図。 単一解像度候補文字絞込み手段11の処理過程を示す模式図。 単一解像度候補文字絞込み手段11の処理過程を示す模式図。 単一解像度候補文字絞込み手段11の処理過程を示す模式図。 複数解像度候補文字絞込み手段12による絞込み処理過程を示す模式図。 複数解像度候補文字絞込み手段12の絞込み処理による入力データ配列の例。 複数解像度候補文字絞込み手段12における途中からのフローチャート。 複数解像度候補文字絞込み手段12におけるデータの処理過程を示す模式図。 複数解像度候補文字絞込み手段12におけるデータの処理過程を示す模式図。 複数解像度候補文字絞込み手段12におけるデータの処理過程を示す模式図。 投票手段2の処理手順を示すフローチャート。 投票手段2におけるデータの途中経過を示す図。 投票手段2における、2個の候補点から算出される、仮想的な開始点のX座標、仮想的な開始点のY座標、仮想的なX方向のピッチ、仮想的なY方向のピッチ、仮想的ピッチベクトルのX成分、仮想的ピッチベクトル、等の概念を説明する模式図。 投票手段2における途中でのデータ処理過程を示す模式図。 投票手段2における途中でのデータ処理過程を示す模式図。 投票手段2における途中でのデータ処理過程を示す模式図。 投票手段2における途中でのデータ処理過程を示す模式図。 投票手段2における途中でのデータ処理過程を示す模式図。 投票空間格納手段3の初期状態を示す模式図。 投票手段2の処理後の投票空間格納手段3の状態を示す模式図。 候補文字・文字位置リストの例を示す模式図。 候補文字・文字位置リストの例を示す模式図。 候補点群リストの処理過程を示す図。 候補点選択手段5における途中段階のデータを示す図。 候補点選択手段5における最終結果を示す図。 本発明の他の実施形態を示すブロック構成図。 単語辞書の例。 単語「会社」に対する候補点選択手段の処理結果例。 単語辞書選択手段の最終的な結果の例。 画像データベースシステムの画像中に写った文字列をキーワードとして画像を検索する装置のブロック図。 キーワード蓄積手段500に登録されたテーブルの模式図。 カメラ付き携帯端末で撮影された文字列パターンを認識して機械翻訳する装置のブロック図。 入力された原画像の例。 原画像を複数の解像度に変換した例。 原画像の中を0.7倍した解像度の画像から出力された候補文字を重畳表示した模式図。
符号の説明
1 候補文字絞込み手段
2 投票手段
3 投票空間格納手段
4 候補点群作成手段
5 候補点選択手段
11 単一解像度候補文字絞込み手段
12 複数解像度候補文字絞込み手段
61 単語辞書
62 単語辞書制御手段
100 キーワード付与手段
200 画像蓄積手段
201 画像撮影手段
300 文字走査処理手段
400 キーワード検索手段
401 機械翻訳手段
402 キーワードによる情報検索手段
500 キーワード蓄積手段
501 結果表示手段

Claims (7)

  1. 画像に対する注目位置および注目サイズを変更しながら、注目する領域と複数カテゴリの文字認識辞書との距離を算出する文字走査処理を行い、この文字走査処理により得られた候補文字集合に対して、探索を指定された文字列を構成する文字が一定のピッチで直線状に並んでいる個所を探索処理する文字列探索装置において、
    前記探索を指定された文字列の任意の2個の文字に対応する候補文字のペアについて、2個の文字の文字位置から前記候補文字のペアで想定される文字列における先頭文字の座標位置と文字間ピッチを求め、2つの候補文字の大きさの関係が所定の範囲内で、かつ、前記文字間ピッチで定まる文字の並びの方向が決められた方向の範囲内で、かつ、候補文字の大きさと前記文字間ピッチの関係が所定の範囲内という条件を満足するものだけを選ぶ投票手段と、
    前記候補文字のペアについて、その先頭文字の座標位置を定数で調整した始点の概値が一致し、かつ、文字間ピッチを定数で調整したピッチの概値が一致するものをまとめる投票空間格納手段と、
    前記投票空間格納手段によりまとまったもののうち、探索文字列の文字数から定まる所定数以上の候補文字があるものを抽出する候補点群作成手段と、
    前記候補点群作成手段で抽出された候補文字の中から、なるべく直線的に並ぶ候補文字に絞る候補点選択手段と、
    を備えたことを特徴とする文字列探索装置。
  2. 画像に対する注目位置および注目サイズを変更しながら、注目する領域と複数カテゴリの文字認識辞書との距離を算出する文字走査処理を行い、この文字走査処理により得られた候補文字集合に対して、探索を指定された文字列を構成する文字が一定のピッチで直線状に並んでいる個所を探索処理する文字列探索装置において、
    前記候補文字集合に含まれる候補文字を互いに比較し、解像度と空間的距離が近い候補文字の集合を選択し、該集合の中で相対的に認識結果の距離値が大きい候補文字を削除する候補文字絞込み手段と、
    前記探索を指定された文字列から、該文字列の前から後の方向に存在する全ての2個の文字の組である文字ペアを選び、各々の文字ペアに対して前記候補文字集合中から文字カテゴリが一致する全ての2個の候補文字の組を探索する処理を行い、該処理の結果探索された全ての2個の候補文字の組に対して、前記候補文字のペアで想定される文字列における先頭文字の座標位置と文字間ピッチを求め、2つの候補文字の大きさの関係が所定の範囲内で、かつ、前記文字間ピッチで定まる文字の並びの方向が決められた方向の範囲内で、かつ、候補文字の大きさと前記文字間ピッチの関係が所定の範囲内という条件を満足するものだけを選ぶ投票手段と、
    前記候補文字のペアについて、その先頭文字の座標位置を定数で調整した始点の概値が一致し、かつ、文字間ピッチを定数で調整したピッチの概値が一致するものをまとめる投票空間格納手段と、
    前記投票空間格納手段によりまとまった固まりのうち、記録された回数が探索を指定された文字列の長さ別に指定された閾値を越える固まりを抽出し、各抽出された固まりに対して、当該固まりに含まれる全ての候補文字の情報のリストである候補文字・文字位置リストを作成し、当該固まりに含まれる全ての候補文字の前記先頭文字の座標位置、および前記文字間ピッチの平均値を算出して候補文字・文字位置リストに記入する処理を行う候補点群作成手段と、
    前記候補点群作成手段が作成した候補文字・文字位置リストに対して、それに含まれる前記平均値から、探索を指定された文字列の全ての文字位置に該当する画像中の座標を仮想座標として算出し、該候補文字・文字位置リストに、同一の文字位置の複数の候補文字が含まれる場合には、該文字位置に該当する前記仮想座標とのユークリッド距離が最小の候補文字を残して他を削除する処理を行なう候補点選択手段と、
    を備えたことを特徴とする文字列探索装置。
  3. 請求項2に記載の文字列探索装置において、
    複数の単語を含む単語辞書と、
    前記候補文字絞込み手段によって得られる候補文字集合について、前記単語辞書中の単語の各々に対して、該単語を探索文字列として該探索文字列を構成する文字が一定のピッチで直線状に並んでいる個所を探索する処理を行い、該処理結果に該単語の文字数から定まる所定数以上の候補文字が存在する全ての単語について、各々の該探索処理における前記候補点選択手段の処理結果の情報を該単語と共にまとめて出力する単語辞書制御手段と、
    を備えたことを特徴とする文字列探索装置。
  4. 画像に対する注目位置および注目サイズを変更しながら、注目する領域と複数カテゴリの文字認識辞書との距離を算出する文字走査処理を行い、この文字走査処理により得られた候補文字集合に対して、探索を指定された文字列を構成する文字が一定のピッチで直線状に並んでいる個所を探索処理する文字列探索方法において、
    前記探索を指定された文字列の任意の2個の文字に対応する候補文字のペアについて、2個の文字の文字位置から前記候補文字のペアで想定される文字列における先頭文字の座標位置と文字間ピッチを求め、2つの候補文字の大きさの関係が所定の範囲内で、かつ、前記文字間ピッチで定まる文字の並びの方向が決められた方向の範囲内で、かつ、候補文字の大きさと前記文字間ピッチの関係が所定の範囲内という条件を満足するものだけを選ぶ投票ステップと、
    前記候補文字のペアについて、その先頭文字の座標位置を定数で調整した始点の概値が一致し、かつ、文字間ピッチを定数で調整したピッチの概値が一致するものをまとめる投票空間格納ステップと、
    前記投票空間格納ステップによりまとまったもののうち、探索文字列の文字数から定まる所定数以上の候補文字があるものを抽出する候補点群作成ステップと、
    前記候補点群作成ステップで抽出された候補文字の中から、なるべく直線的に並ぶ候補文字に絞る候補点選択ステップと、
    を備えたことを特徴とする文字列探索方法。
  5. 画像に対する注目位置および注目サイズを変更しながら、注目する領域と複数カテゴリの文字認識辞書との距離を算出する文字走査処理を行い、この文字走査処理により得られた候補文字集合に対して、探索を指定された文字列を構成する文字が一定のピッチで直線状に並んでいる個所を探索処理する文字列探索方法において、
    前記候補文字集合に含まれる候補文字を互いに比較し、解像度と空間的距離が近い候補文字の集合を選択し、該集合の中で相対的に認識結果の距離値が大きい候補文字を削除する候補文字絞込みステップと、
    前記探索を指定された文字列から、該文字列の前から後の方向に存在する全ての2個の文字の組である文字ペアを選び、各々の文字ペアに対して前記候補文字集合中から文字カテゴリが一致する全ての2個の候補文字の組を探索する処理を行い、該処理の結果探索された全ての2個の候補文字の組に対して、前記候補文字のペアで想定される文字列における先頭文字の座標位置と文字間ピッチを求め、2つの候補文字の大きさの関係が所定の範囲内で、かつ、前記文字間ピッチで定まる文字の並びの方向が決められた方向の範囲内で、かつ、候補文字の大きさと前記文字間ピッチの関係が所定の範囲内という条件を満足するものだけを選ぶ投票ステップと、
    前記候補文字のペアについて、その先頭文字の座標位置を定数で調整した始点の概値が一致し、かつ、文字間ピッチを定数で調整したピッチの概値が一致するものをまとめる投票空間格納ステップと、
    前記投票空間格納ステップによりまとまった固まりのうち、記録された回数が探索を指定された文字列の長さ別に指定された閾値を越える固まりを抽出し、各抽出された固まりに対して、当該固まりに含まれる全ての候補文字の情報のリストである候補文字・文字位置リストを作成し、当該固まりに含まれる全ての候補文字の前記先頭文字の座標位置、および前記文字間ピッチの平均値を算出して候補文字・文字位置リストに記入する処理を行う候補点群作成ステップと、
    前記候補点群作成ステップが作成した候補文字・文字位置リストに対して、それに含まれる前記平均値から、探索を指定された文字列の全ての文字位置に該当する画像中の座標を仮想座標として算出し、該候補文字・文字位置リストに、同一の文字位置の複数の候補文字が含まれる場合には、該文字位置に該当する前記仮想座標とのユークリッド距離が最小の候補文字を残して他を削除する処理を行なう候補点選択ステップと、
    を備えたことを特徴とする文字列探索方法。
  6. 請求項5に記載の文字列探索方法において、
    複数の単語を含む単語辞書と、
    前記候補文字絞込みステップによって得られる候補文字集合について、前記単語辞書中の単語の各々に対して、該単語を探索文字列として該探索文字列を構成する文字が一定のピッチで直線状に並んでいる個所を探索する処理を行い、該処理結果に該単語の文字数から定まる所定数以上の候補文字が存在する全ての単語について、各々の該探索処理における前記候補点選択ステップの処理結果の情報を該単語と共にまとめて出力する単語辞書制御ステップと、
    を備えたことを特徴とする文字列探索方法。
  7. 請求項1〜6のいずれか1項に記載の文字列探索装置または探索方法における処理手順をコンピュータで実行可能に構成したことを特徴とするプログラム。
JP2004289881A 2004-10-01 2004-10-01 文字列探索装置、探索方法およびこの方法のプログラム Expired - Fee Related JP4418726B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004289881A JP4418726B2 (ja) 2004-10-01 2004-10-01 文字列探索装置、探索方法およびこの方法のプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004289881A JP4418726B2 (ja) 2004-10-01 2004-10-01 文字列探索装置、探索方法およびこの方法のプログラム

Publications (2)

Publication Number Publication Date
JP2006106931A JP2006106931A (ja) 2006-04-20
JP4418726B2 true JP4418726B2 (ja) 2010-02-24

Family

ID=36376629

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004289881A Expired - Fee Related JP4418726B2 (ja) 2004-10-01 2004-10-01 文字列探索装置、探索方法およびこの方法のプログラム

Country Status (1)

Country Link
JP (1) JP4418726B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8611661B2 (en) * 2007-12-26 2013-12-17 Intel Corporation OCR multi-resolution method and apparatus
JP5414631B2 (ja) * 2010-06-28 2014-02-12 日本電信電話株式会社 文字列探索方法、文字列探索装置、記録媒体
US8611662B2 (en) * 2011-11-21 2013-12-17 Nokia Corporation Text detection using multi-layer connected components with histograms
JP5831420B2 (ja) 2012-09-28 2015-12-09 オムロン株式会社 画像処理装置および画像処理方法
CN113792739B (zh) * 2021-08-25 2023-05-30 电子科技大学 一种通用型车牌文本识别方法

Also Published As

Publication number Publication date
JP2006106931A (ja) 2006-04-20

Similar Documents

Publication Publication Date Title
CN110738207B (zh) 一种融合文字图像中文字区域边缘信息的文字检测方法
US20200065601A1 (en) Method and system for transforming handwritten text to digital ink
JP7044898B2 (ja) ナンバープレート認識方法、および、そのシステム
CN110032998B (zh) 自然场景图片的文字检测方法、系统、装置和存储介质
EP1598770B1 (en) Low resolution optical character recognition for camera acquired documents
JPH05217019A (ja) ビジネスフォーム識別システム及び画像処理システム
WO2010092952A1 (ja) パターン認識装置
JP2012123845A (ja) 連続する記事部分の媒体資料解析
JP3943638B2 (ja) Ocrを利用しない文書画像中のドロップワードの自動認識方法
JP6900164B2 (ja) 情報処理装置、情報処理方法及びプログラム
CN113011144B (zh) 表单信息的获取方法、装置和服务器
CN103577818A (zh) 一种图像文字识别的方法和装置
CN110852311A (zh) 一种三维人手关键点定位方法及装置
US11475688B2 (en) Information processing apparatus and information processing method for extracting information from document image
WO2001054054A9 (en) Word recognition using silhouette bar codes
CN115240213A (zh) 表格图像识别方法、装置、电子设备及存储介质
CN111090817A (zh) 书籍扩展信息的展示方法、电子设备及计算机存储介质
CN111488732A (zh) 一种变形关键词检测方法、系统及相关设备
US20150139547A1 (en) Feature calculation device and method and computer program product
JP4418726B2 (ja) 文字列探索装置、探索方法およびこの方法のプログラム
CN115131693A (zh) 文本内容识别方法、装置、计算机设备和存储介质
JP5414631B2 (ja) 文字列探索方法、文字列探索装置、記録媒体
CN110689063B (zh) 一种基于神经网络的证件识别的训练方法及装置
CN113806472A (zh) 一种对文字图片和图像型扫描件实现全文检索的方法及设备
JP5278093B2 (ja) 記事関連情報提供方法、装置、プログラム、記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070214

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090804

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090925

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20121204

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121204

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131204

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees