JP5699570B2 - 画像処理装置及び画像処理プログラム - Google Patents

画像処理装置及び画像処理プログラム Download PDF

Info

Publication number
JP5699570B2
JP5699570B2 JP2010265968A JP2010265968A JP5699570B2 JP 5699570 B2 JP5699570 B2 JP 5699570B2 JP 2010265968 A JP2010265968 A JP 2010265968A JP 2010265968 A JP2010265968 A JP 2010265968A JP 5699570 B2 JP5699570 B2 JP 5699570B2
Authority
JP
Japan
Prior art keywords
character
link
value
node
image
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
JP2010265968A
Other languages
English (en)
Other versions
JP2012118650A (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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation 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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2010265968A priority Critical patent/JP5699570B2/ja
Priority to US13/083,174 priority patent/US20120134591A1/en
Priority to CN201110129215.XA priority patent/CN102479332B/zh
Publication of JP2012118650A publication Critical patent/JP2012118650A/ja
Application granted granted Critical
Publication of JP5699570B2 publication Critical patent/JP5699570B2/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/15Cutting or merging image elements, e.g. region growing, watershed or clustering-based techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/29Graphical models, e.g. Bayesian networks
    • G06F18/295Markov models or related models, e.g. semi-Markov models; Markov random fields; Networks embedding Markov models
    • 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/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19187Graphical models, e.g. Bayesian networks or Markov models
    • 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)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Character Discrimination (AREA)
  • Character Input (AREA)

Description

本発明は、画像処理装置及び画像処理プログラムに関する。
画像から文字を切り出す技術がある。
これに関連する技術として、例えば、特許文献1には、文書に記入された文字列から文字パターンを切り出す文字パターン切り出し装置に関するものであって、用紙などに記入された文字列から1文字ずつ文字パターンを切り出す文字パターン切り出し装置において、用紙上の文字列を光学的に走査し光電変換する走査手段と、光電変換された上記文字列のパターンを記憶する文字列パターン記憶手段と、上記文字列の方向と直交する方向に上記文字列パターンを走査して求めた周辺分布値の連続性に基づいて文字列パターンを分割し、分割して得た基本パターンの左右端と上下端との座標より基本パターン領域を決める基本パターン領域検出手段と、単独の基本パターン領域の文字形状評価値と連続する複数個の基本パターン領域を結合した結合パターン領域の文字形状評価値とを上記基本パターン領域の左右端と上下端の座標から各々算出する文字形状評価値算出手段と、読取り対象文字の基準パターンを格納した文字認識辞書記憶手段と、単独の基本パターンに対する文字認識評価値と連続する複数個の基本パターンを結合した結合パターンに対する文字認識評価値とを上記文字認識辞書記憶手段に記憶した基準パターンとの整合により求める文字認識評価値算出手段と、上記文字形状評価値算出手段で算出した文字形状評価値と上記文字認識評価値算出手段で算出した文字認識評価値とを加え合わせることにより、すべての基本パターンと結合パターンとに対応する文字評価値を算出する評価値加算手段と、上記基本パターン領域の位置情報に基づいて切り出し候補位置のあらゆる可能な組み合せを求め、各々の切り出し候補位置の組み合せについて、切り出し候補位置で切り出された基本パターンと結合パターンとに対応する上記評価値加算手段で求めた文字評価値に基づいて切り出し評価値を求め、この切り出し評価値に基づいて最適な文字切り出し位置の組み合せを決定する文字切り出し手段と、上記文字切り出し手段の結果に基づいて上記文字列パターン記憶手段に格納した1行の文字列パターンから1文字ずつ文字パターンを切り出して出力する出力手段とを具備することを特徴とする文字パターン切り出し装置が開示されている。
特開昭62−190575号公報
本発明は、画像から文字を認識する場合にあって、各文字画像の1つだけの文字認識結果によって認識文字列を決定してしまうことを防止するようにした画像処理装置及び画像処理プログラムを提供することを目的としている。
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、画像から文字画像を切り出す位置を抽出する切出位置抽出手段と、前記切出位置抽出手段によって抽出された位置によって分けられた文字画像に対して文字認識を行った結果である複数の文字候補を抽出する文字候補抽出手段と、前記文字候補抽出手段によって抽出された複数の文字候補の各々をノードとし、隣接する文字画像のノード間にリンクを構築することによってグラフを生成するグラフ生成手段と、前記リンクによって接続されたノードの文字候補間の関係による文字列らしさを表す値に基づいて、リンク値を生成するリンク値生成手段と、前記リンク値生成手段によって生成されたリンク値に基づいて、前記グラフ生成手段によって生成されたグラフ内のパスを選択するパス選択手段と、前記パス選択手段によって選択されたパス内の文字候補列を文字認識結果として出力する出力手段を具備し、前記リンク値生成手段は、リンク値として、リンクの内部に存在する値と、該リンクの一方のノードのみに存在する値を用い、他方のノードに存在する値は用いないことを特徴とする画像処理装置である。
請求項2の発明は、前記パス選択手段は、ダイナミックプログラミング手法を用いて処理途中のパスを削減しながら、リンク値の和に基づいてパスを選択することを特徴とする請求項1に記載の画像処理装置である。
請求項3の発明は、前記リンク値生成手段は、前記リンクを構成しているノードに対する文字らしさを表す値に基づいて、前記リンク値を生成することを特徴とする請求項1又は2に記載の画像処理装置である。
請求項4の発明は、前記切出位置抽出手段は、複数の切り出し位置を抽出し、前記グラフ生成手段は、前記切出位置抽出手段によって抽出された複数の切り出し位置によって分けられた文字画像に対して文字認識を行った結果である複数の文字候補の各々をノードとし、隣接する文字画像のノード間にリンクを構築することによってグラフを生成することを特徴とする請求項1から3のいずれか一項に記載の画像処理装置である。
請求項5の発明は、コンピュータを、画像から文字画像を切り出す位置を抽出する切出位置抽出手段と、前記切出位置抽出手段によって抽出された位置によって分けられた文字画像に対して文字認識を行った結果である複数の文字候補を抽出する文字候補抽出手段と、前記文字候補抽出手段によって抽出された複数の文字候補の各々をノードとし、隣接する文字画像のノード間にリンクを構築することによってグラフを生成するグラフ生成手段と、前記リンクによって接続されたノードの文字候補間の関係による文字列らしさを表す値に基づいて、リンク値を生成するリンク値生成手段と、前記リンク値生成手段によって生成されたリンク値に基づいて、前記グラフ生成手段によって生成されたグラフ内のパスを選択するパス選択手段と、前記パス選択手段によって選択されたパス内の文字候補列を文字認識結果として出力する出力手段として機能させ、前記リンク値生成手段は、リンク値として、リンクの内部に存在する値と、該リンクの一方のノードのみに存在する値を用い、他方のノードに存在する値は用いないことを特徴とする画像処理プログラムである。
請求項1の画像処理装置によれば、画像から文字を認識する場合にあって、各文字画像の1つだけの文字認識結果によって認識文字列を決定してしまうことを防止することができる。
請求項2の画像処理装置によれば、本構成を有していない場合に比較して、処理負荷を軽減することができる。
請求項3の画像処理装置によれば、文字列らしさを表す値と文字らしさを表す値を用いてリンク値を生成することができる。
請求項4の画像処理装置によれば、複数の切り出し位置に対しても文字認識結果を出力することができる。
請求項5の画像処理プログラムによれば、画像から文字を認識する場合にあって、各文字画像の1つだけの文字認識結果によって認識文字列を決定してしまうことを防止することができる。
本実施の形態の構成例についての概念的なモジュール構成図である。 リンク値生成モジュール内の構成例についての概念的なモジュール構成図である。 パス選択モジュール内の構成例についての概念的なモジュール構成図である。 本実施の形態による処理例を示すフローチャートである。 複数の文字候補がある場合のグラフ例を示す説明図である。 記号例を示す説明図である。 記号例を示す説明図である。 記号例を示す説明図である。 記号例を示す説明図である。 記号例を示す説明図である。 ノード内情報を用いる例を示す説明図である。 ノードとリンクの例を示す説明図である。 文字切り出し位置が複数ある場合の処理例を示す説明図である。 記号例を示す説明図である。 文字切り出し位置が複数ある場合の処理例を示す説明図である。 重み付けの例を示す説明図である。 重み決定モジュール内のモジュール構成例を示す説明図である。 重み付けの例を示す説明図である。 重み付けの例を示す説明図である。 重み付けの例を示す説明図である。 重み決定モジュール内のモジュール構成例を示す説明図である。 本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。 文字列画像の例を示す説明図である。 文字境界候補の例を示す説明図である。 外接矩形の例を示す説明図である。 文字切り出し結果の例を示す説明図である。 文字切り出し位置を示すグラフ表現の例を示す説明図である。 グラフ表現内のパターンの例を示す説明図である。 グラフの例を示す説明図である。
本実施の形態は、文字列が含まれている画像を対象として、その画像内の文字認識の結果を確定するものである。
まず、本実施の形態を説明する前に、その前提又は本実施の形態を利用する画像処理装置について説明する。なお、この説明は、本実施の形態の理解を容易にすることを目的とするものである。
例えば、図23の例に示すような文字列画像を対象とする。まず、この文字列画像を文字セグメントに分割する。文字セグメントとは、文字そのもの、あるいは文字の一部となる可能性がある文字部分である。ここでは、図23の例に示すような横書きの文字列画像を例にとる。横書きの画像では、垂直な線(あるいは垂直に近い線)で分割を行うことにより、文字セグメントに分割する。例えば図24に示した縦線(切れ目候補2410、切れ目候補2420)で、文字列画像を分割して、3つの文字セグメント「イ」、「ヒ」、及び、「学」を得ることができる。図24の例に示した縦線を切れ目候補と呼ぶこととする。切れ目候補2410が「イ」と「ヒ」を分け、切れ目候補2420が「ヒ」と「学」を分けている。
次に、図25の例に示すように、各文字セグメントに対し、その外接矩形(外接矩形2510、外接矩形2520、外接矩形2530)を抽出する。
以下、特許文献1に記載されている技術内容を例にして説明する。なお、以下の説明で用いる用語は、特許文献1で用いる用語とは異なっている場合がある。ただし、内容は特許文献1と同じである。
前述の文字セグメントを統合して、文字画像を決定する。複数の文字セグメントを統合して1つの文字画像を形成する場合もあれば、1つの文字セグメントが1つの文字となる場合もある。文字画像を決定するとは、文字の切り出し位置を決定することと同値であるから、以下では文字切り出し位置の決定という場合もある。
文字セグメントの統合のパターンは複数存在する。複数存在するパターンの中で、最も文字画像として評価の高いものを選択することによって、最終的な文字切り出し位置を決定する。
図25の例に対しては、すべての文字切り出しパターンは、図26に示す例のようになる。つまり、図26(a)の例では、パターン1として3つの文字画像(外接矩形2510、外接矩形2520、外接矩形2530)、図26(b)の例では、パターン2として2つの文字画像(外接矩形2510と2520、外接矩形2530)、図26(c)の例では、パターン3として1つの文字画像(外接矩形2510と2520と2530)、図26(d)の例では、パターン4として2つの文字画像(外接矩形2510、外接矩形2520と2530)を示している。
文字切り出し位置を示すグラフ表現として、図26の例に示した複数の切り出しパターンを表すことができる。図27の例において、グラフは、始点ノード2700、終点ノード2790、中間ノード2710(ノード1)、中間ノード2720(ノード2)の4つのノードと、ノード間を接続するアークで構成されている(ノード間の接続線をアークと呼ぶこととする)。始点は、文字列画像の左端、終点は文字列画像の右端にあたる。中間ノード2710(ノード1)、中間ノード2720(ノード2)は、それぞれ、文字の切れ目候補位置(すなわち、図24の例に示した切れ目候補2410、切れ目候補2420)を示す。中間ノード2710(ノード1)は、切れ目候補2410に対応している。また、中間ノード2720(ノード2)は、切れ目候補2420に対応している。
始点から、各ノードを通って、終点に至る経路を以下、「パス」と呼ぶ。パスは、1又は複数のアークから構成される。通常、複数のパスが存在する。図26の例に示した文字切り出しパターンは、これらの複数のパスに対応している。例えば、図26(b)の例に示したパターン2は、図28の太線で示したパス(文字切り出しパターン2704、文字切り出しパターン2722)と対応している。
ここで、どれか1つのアークには、1つの文字画像の候補が対応している。例えば、始点ノード2700と中間ノード2720(ノード2)を結ぶアークには、「化」という文字画像(文字切り出しパターン2704)が対応している。1つのアークに対応する文字に対して、その文字の評価値を決定することができる。これを「アーク評価値」と呼ぶこととする。
アーク評価値は、文字の形状情報や、文字認識における認識確度などから算出する。アーク評価値の算出方法はさまざまある。例えば、(1)特開平9−185681号公報、(2)特開平8−161432号公報、(3)特開平10−154207号公報、(4)特開昭61−175878号公報、(5)特開平3−37782号公報、(6)特開平11−203406号公報等に記載の従来技術に示されている手法等がある。
1つのパスは、複数のアークから構成されている。複数のアーク評価値を用いて、そのアークから構成されるパスの評価値を計算することができる。これを「パス評価値」と呼ぶこととする。
文字切り出し位置を決定するため、複数のパスの中で、最もパス評価値の高いパスを選択する。パスが選択できれば、文字切り出し位置が確定して、文字を切り出すことができる。そして、切り出した文字(文字画像)を文字認識した結果も確定することになる。
例えば、図28の例で、太線のパスが選択されたとする。この場合、文字切り出し位置は、始点2700と、中間ノード2720(ノード2)と、終点2790の3点となる。そして、確定した文字認識結果は、「化」(文字切り出しパターン2704)、「学」(文字切り出しパターン2722)となる。
ここで、パス評価値の算出方法について説明する。基本的には、パス評価値は、アーク評価値の重み付け和が用いられる。i番目のアークのアーク評価値をViとし、i番目のアーク評価値に対する重みをwiとし、アークの数をN、パス評価値をPとすると、Pは次の(1)式で与えられる。
Figure 0005699570
パスの数が複数存在すると前述したが、実際の文字列には、多くの文字セグメントが存在しているため、存在するパスの数は膨大となる。
そこで、特開平3−225579号公報では、図27の例に示されたようなグラフ内の複数のパスから最も評価値の高いパスを探索する方法として、ダイナミックプログラミング手法を用いることが述べられている。
ここでは、ダイナミックプログラミング手法の中で、このようなグラフの最良パスを探索するのに適したビタビ法の説明を行う。
図29に示す例において、始点ノード2900から終点ノード2990までのグラフを説明する。なお、ノード間のリンクは、図29に示したものに限らず、さまざまな場合がある。図29のように対称の結線でなくてもかまわない。
このグラフにおいて、途中に複数のノード(中間ノード2911、中間ノード2912、中間ノード2913等)を介して始点ノードから終点ノードに達するとする。途中のノードを中間ノードと呼ぶこととする。
各ノードとノードの間にはリンクが張られている。このリンクにはそのリンク固有の評価値(リンク値)が割り当てられている。始点ノード2900から終点ノード2990に向かうパスは複数存在する。パスは、複数のリンクから成り立つことになる。パスが含む複数のリンクのリンク値の和が、パスの評価値となる。
例えば、リンク値は、ノード間の距離であるとする。この場合、パス評価値が最小のパスは、始点ノードから終点ノードに向かうパスの中で、最小距離のパスということになる。あるいは、パス評価値が最大のパスを求める問題とすることも可能である。
ここで、ビタビ法は、あるノードにある方向から入力されるリンクを1に限定することによって、最適ではないパスを削減する。これにより、演算処理量と所要メモリ量を削減する手法である。
例えば、今、ノードx(中間ノード2921)に左から入力されるリンクがすでに、1に限定されているとする。同様に、ノードy(中間ノード2922)、ノードz(中間ノード2923)に関しても1に限定されているとする。このとき、ノードX(中間ノード2931)に左から入力されるリンクを限定する。ノードX(中間ノード2931)には、ノードx(中間ノード2921)、ノードy(中間ノード2922)、ノードz(中間ノード2923)の3つのノードからリンクが張られている。このとき、ノードX(中間ノード2931)を通るパスとして、最適な可能性があるのは、ノードx(中間ノード2921)、ノードy(中間ノード2922)、ノードz(中間ノード2923)からノードX(中間ノード2931)に向かうリンクのいずれかである。この3つのうちで最適なものだけを残し、残りの2つを削除する。このようにして、ノードX(中間ノード2931)に左から入力されるパス(リンク)を1に限定する。ノードY(中間ノード2932)、ノードZ(中間ノード2933)に関しても同様に左から入力されるパスを1に限定する。
このような手順を左のノードA(中間ノード2911)、ノードB(中間ノード2912)、ノードC(中間ノード2913)から順に右の方向に行う。最終的にノードP(中間ノード2981)、ノードQ(中間ノード2982)、ノードR(中間ノード2983)に入る3つのパスに限定する。この3つのパスの中で最適なものを選択すればよい。
このようなビタビ法を用いた最適パス選定方法を、図27に例示のグラフにも同様に適用し得る。文字切り出し位置をノードとする。また、アーク評価値を前述のリンク値とすればよい。
従来技術が扱っていた図27に例示するようなグラフは、ひとつのアークに対し、ひとつの文字候補が存在しているものである。しかし、実際には1つのアークに対して、複数の文字候補が存在している。つまり、文字認識結果が複数ある場合である。例えば、図5のように、複数の文字候補を割り当てることになる。図5は、複数の文字候補がある場合のグラフ例を示す説明図である。図5の例では、「化学」(文字画像502)という画像を1文字として認識したときの認識結果が、文字候補502Aの「梢」、文字候補502Bの「際」、文字候補502Cの「傾」の3種類ある。「化」(文字画像504)という画像を1文字として認識したときの認識結果が、文字候補504Aの「化」、文字候補504Bの「比」、文字候補504Cの「任」の3種類ある。同様に、他の文字画像に対しても文字認識結果としての文字候補が複数ある。なお、図5の例では、各文字画像に対して3種類の文字候補があるが、異なる数の文字候補を割り当ててもよい。例えば、認識確度が予め定められた値以上である文字を文字候補とした場合は、各文字画像に対して文字候補の数が異なる場合がある。
従来技術では、このような場合に、ビタビ法(又は、一般的にはダイナミックプログラミング手法)を適用して、文字認識結果を得ることはされていない。
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
本実施の形態である画像処理装置は、画像から文字を認識するものであって、図1の例に示すように、画像受付モジュール110、文字列抽出モジュール120、切出位置抽出モジュール130、文字候補抽出モジュール140、グラフ生成モジュール150、リンク値生成モジュール160、パス選択モジュール170、出力モジュール180を有している。
画像受付モジュール110は、文字列抽出モジュール120と接続されている。画像受付モジュール110は、画像を受け付けて、その画像を文字列抽出モジュール120へ渡す。画像を受け付けるとは、例えば、スキャナ、カメラ等で画像を読み込むこと、ファックス等で通信回線を介して外部機器から画像を受信すること、ハードディスク(コンピュータに内蔵されているものの他に、ネットワークを介して接続されているもの等を含む)等に記憶されている画像を読み出すこと等が含まれる。画像は、2値画像、多値画像(カラー画像を含む)であってもよい。受け付ける画像は、1枚であってもよいし、複数枚であってもよい。また、画像の内容として、文字列が含まれているのであれば、ビジネスに用いられる文書、広告宣伝用のパンフレット等であってもよい。
文字列抽出モジュール120は、画像受付モジュール110、切出位置抽出モジュール130と接続されている。文字列抽出モジュール120は、画像受付モジュール110が受け付けた画像から文字列を抽出する。
切出位置抽出モジュール130が対象とする画像は横書きあるいは縦書きの、1列のみの文字列画像を対象としている。なお、ここで、列とは、横書きの場合は横に並ぶ列であり、縦書きの場合は縦に並ぶ列である。
したがって、文字列抽出モジュール120は、画像受付モジュール110が受け付けた画像が1列のみの文字列画像であれば、そのまま用いればよい。画像受付モジュール110が受け付けた画像が、複数の文字列が存在するものがあり、このような複数文字列を単一の文字列になるように分離する手法としては、従来よりさまざまものが提案されているため、それらを用いればよい。単一の文字列となるように分離する例としてもさまざまな方式があるため、そのうちのいずれかを用いればよい。例えば、(1)特開平4−311283号公報、(2)特開平3−233789号公報、(3)特開平5−73718号公報、(4)特開2000−90194号公報、等を用いればよい。これ以外の方法であってもよい。
切出位置抽出モジュール130は、文字列抽出モジュール120、文字候補抽出モジュール140、パス選択モジュール170と接続されている。切出位置抽出モジュール130は、文字列抽出モジュール120が抽出した文字列画像から文字画像を切り出す位置を抽出する。つまり、文字列画像を複数の文字セグメントに分割する。この文字切り出し位置の抽出方法としてもさまざまな方式があるため、そのうちのどれかを用いればよい。例えば、(1)特開平5−114047号公報、(2)特開平4−100189号公報、(3)特開平4−92992号公報、(4)特開平4−68481号公報、(5)特開平9−54814号公報、(6)特開平9−185681号公報の0021段落に記載の文字の境界候補抽出方式、(7)特開平5−128308号公報の0005段落に記載の文字切り出し位置決定方法等を用いればよい。これ以外の方法であってもよい。なお、ここでの文字画像とは、いわば文字候補画像であり、必ずしもその文字画像が1つの文字を表す画像でなくてもよい。
また、切出位置抽出モジュール130は、複数の切り出し位置を抽出してもよい。複数の切り出し位置を抽出することによって、1つの文字列画像に対して、文字切出位置群が複数ある。文字切出位置群とは、1つの文字列画像に対して、1つ以上の文字切り出し位置があることをいう。例えば、2つの文字切り出し位置があれば、3つの文字画像に分けられることになる。また、文字切出位置群が複数あるとは、1つの文字列画像に対して、文字切出位置で分けられた文字画像列が複数あることをいう。例えば、2つの文字切り出し位置で3つの文字画像からなる文字画像列と、3つの文字切り出し位置で4つの文字画像からなる文字画像列となる。具体例で説明すると、「化学」という文字列に対して、「イ」「ヒ」「学」からなる文字画像列と「化」「学」からなる文字画像列を生成することである。
文字候補抽出モジュール140は、切出位置抽出モジュール130、グラフ生成モジュール150、リンク値生成モジュール160と接続されている。文字候補抽出モジュール140は、切出位置抽出モジュール130によって抽出された位置によって分けられた文字画像に対して文字認識を行った結果である複数の文字候補を抽出する。この抽出処理を行うために、文字認識処理を行ってもよい。そのために、文字候補抽出モジュール140内に文字認識モジュールを含んでいてもよい。文字認識処理による認識結果は、前述のように、1つの文字画像に対して複数の文字候補が対応する。つまり、その文字画像を文字認識して、第1位の認識確度を有している文字候補、第2位の認識確度を有している文字候補等のように、複数の文字候補を文字認識結果とする。そして、文字認識結果として、文字候補の他に、その文字候補の認識確度を有していてもよい。また、抽出するのに、1つの文字画像に対して予め定められた数の文字候補を抽出してもよいし、予め定められた値以上の認識確度を有している文字候補を抽出してもよい。なお、認識確度は、文字認識処理において、その認識結果としての信頼性を表す値であってもよいし、文字画像の外接矩形のサイズ、縦横比等によって定められる文字らしさを表す値であってもよい。
グラフ生成モジュール150は、文字候補抽出モジュール140、リンク値生成モジュール160と接続されている。グラフ生成モジュール150は、文字候補抽出モジュール140によって抽出された複数の文字候補の各々をノードとし、隣接する文字画像のノード間にリンクを構築することによってグラフを生成する。隣接する文字画像のノード間とは、隣接する文字画像があり、その文字画像に対応するノード間ということである。
また、切出位置抽出モジュール130が複数の切り出し位置を抽出した場合は、グラフ生成モジュール150は、切出位置抽出モジュール130によって抽出された複数の切り出し位置によって分けられた文字画像に対して文字認識を行った結果である複数の文字候補の各々をノードとし、隣接する文字画像のノード間にリンクを構築することによってグラフを生成するようにしてもよい。
リンク値生成モジュール160は、文字候補抽出モジュール140、グラフ生成モジュール150、パス選択モジュール170と接続されている。リンク値生成モジュール160は、グラフ生成モジュール150によって生成されたグラフ内のリンクによって接続されたノードの文字候補間の関係による文字列らしさを表す値に基づいて、リンク値を生成する。また、リンク値生成モジュール160は、リンクを構成しているノードに対する文字らしさを表す値に基づいて、前記リンク値を生成するようにしてもよい。
図2は、リンク値生成モジュール160内の構成例についての概念的なモジュール構成図である。リンク値生成モジュール160は、Nグラム値算出モジュール210、ノード値算出モジュール220、リンク値算出モジュール230を有している。
Nグラム値算出モジュール210は、リンク値算出モジュール230と接続されており、リンクによって接続されたノードの文字候補間の関係による文字列らしさを表す値に基づいて、リンク値を生成する。例えば、そのノードに対応する文字候補によって構成される文字列が、日本語の文章中に出現する確率をリンク値として用いる。例えば、リンクの左にあるノードと右にあるノードに対応する文字によって構成される文字列の確率は、バイグラムと言われる。また、2文字に限られず、リンクによってN文字以上の文字列の確率は、Nグラム(N>2)と言われる。
ノード値算出モジュール220は、リンク値算出モジュール230と接続されており、文字候補抽出モジュール140からリンクの片方のノードに対応する文字候補の文字らしさを表す値である認識確度をノード値として抽出する。前述のように、ノードに対応する文字認識結果に含まれている認識確度を抽出すればよい。
リンク値算出モジュール230は、Nグラム値算出モジュール210、ノード値算出モジュール220と接続されており、Nグラム値算出モジュール210によって算出された文字列らしさを表す値をリンク値として算出してもよいし、Nグラム値算出モジュール210によって算出された文字列らしさを表す値及びノード値算出モジュール220によって算出された認識確度に基づいて(例えば、2つの値の加算等)リンク値として算出してもよい。
パス選択モジュール170は、切出位置抽出モジュール130、リンク値生成モジュール160、出力モジュール180と接続されている。パス選択モジュール170は、リンク値生成モジュール160によって生成されたリンク値に基づいて、グラフ生成モジュール150によって生成されたグラフ内のパスを選択する。パス選択モジュール170が選択するパスは、グラフ内で文字画像の文字認識結果として採用すべき文字列を表すことになる。パスが通る各ノードは文字認識結果を表しているためである。パス選択モジュール170は、ダイナミックプログラミング手法を用いて処理途中のパスを削減しながら、リンク値の和に基づいてパスを選択するようにしてもよい。
図3は、パス選択モジュール170内の構成例についての概念的なモジュール構成図である。パス選択モジュール170は、重み決定モジュール310、リンク重み量乗算モジュール320、加算モジュール330を有している。
重み決定モジュール310は、リンク重み量乗算モジュール320と接続されており、切出位置抽出モジュール130によって抽出された文字切り出し位置によって定められる距離に基づいて、重みを決定する。
また、重み決定モジュール310は、切出位置抽出モジュール130によって抽出された文字切り出し位置の間にある画像の外接矩形の大きさに基づいて重みを決定するようにしてもよい。
また、重み決定モジュール310は、切出位置抽出モジュール130によって抽出された文字切り出し位置の間に複数の画像がある場合は、その画像の外接矩形の大きさの和に基づいて重みを決定するようにしてもよい。なお、重み決定モジュール310内のモジュール構成、処理については、図16から図21の例を用いて後述する。
リンク重み量乗算モジュール320は、重み決定モジュール310、加算モジュール330と接続されており、リンク値生成モジュール160によって生成されたリンク値に対して、重み決定モジュール310によって決定された対応する重みを乗算する。
加算モジュール330は、リンク重み量乗算モジュール320と接続されており、リンク重み量乗算モジュール320によって算出されたリンク値と重みの乗算結果を加算する。加算処理の結果は、対象としている文字列画像内の一連の文字切り出し位置毎(パス単位)となる。
したがって、リンク重み量乗算モジュール320、加算モジュール330の処理は、重み決定モジュール310によって決定された重みに基づいて、リンク値生成モジュール160によって生成されたリンク値の重み付き和を算出することとなる。
出力モジュール180は、パス選択モジュール170と接続されている。出力モジュール180は、パス選択モジュール170によって選択されたパス内の文字候補列を文字認識結果として出力する。文字認識結果を出力するとは、例えば、プリンタ等の印刷装置で印刷すること、ディスプレイ等の表示装置に表示すること、メモリーカード等の記憶媒体に記憶すること、他の情報処理装置へ渡すこと等が含まれる。
例えば、
(1)「イ」「ヒ」「学」
と、
(2)「化」「学」
では、文字認識における認識確度ではほとんど変わらない(各単文字の文字らしさは大体同じである)ため、認識確度だけで判断すると(1)のように切り出し位置を間違うことが多い。
しかし、リンク値生成モジュール160が、Nグラム情報を用いたリンク値を生成することで、パス選択モジュール170は(2)の方を選択することになる。「イ」「ヒ」、又は「ヒ」「学」の生起確率よりは、「化」「学」の生起確率の方が高いためである。
図4は、本実施の形態による処理例を示すフローチャートである。
ステップS402では、画像受付モジュール110が、対象となる画像を受け付ける。
ステップS404では、文字列抽出モジュール120が、画像から文字列画像を抽出する。
ステップS406では、切出位置抽出モジュール130が、文字列画像を対象として切り出し位置を抽出する。
ステップS408では、文字候補抽出モジュール140が、切り出された文字画像を文字認識する。
ステップS410では、文字候補抽出モジュール140が、複数の文字認識結果を文字画像の文字候補として抽出する。
ステップS412では、グラフ生成モジュール150が、グラフを生成する。
ステップS414では、リンク値生成モジュール160が、リンク値を生成する。
ステップS416では、パス選択モジュール170が、重みを決定する。
ステップS418では、パス選択モジュール170が、重み付け線形和を算出する。
ステップS420では、パス選択モジュール170が、グラフ内のパスを選択する。
ステップS422では、出力モジュール180が、文字認識結果を出力する。
次に、図6から図15を用いて、グラフ生成モジュール150、リンク値生成モジュール160、パス選択モジュール170による処理を説明する。
本実施の形態は、パス評価値の高いパスを出力することによって、文字切り出し位置の確定、又は文字認識を行うものである。また、パスの探索にダイナミックプログラミングの手法を用いてもよい。
本実施の形態のグラフにおいては、始点ノード、終点ノード、複数の中間ノードがある。また、各ノード間のリンクには、リンク値を与える。始点ノードから1あるいは複数の中間ノードを介して、終点ノードに至るパスは、介するノードに依存したリンクを通ることになる。始点ノードから終点ノードに至るパスのパス評価値は、そのパスが通ったリンクのリンク値の重み付け和として表すことができる。
本実施の形態のグラフ生成モジュール150は、一つの文字画像に対して、複数の文字認識結果が存在しているときに、前述のノード、リンク、パスの構成(グラフ構造)を生成するものである。グラフ構造が与えられれば、パス選択モジュール170によってビタビ法などの手法を用いて、最適パスを探索することが可能となる。
<A1.文字切り出し位置が固定の場合>
まず、切出位置抽出モジュール130の抽出する文字切り出し位置が固定(一種類)の場合について説明する。
図6は、記号例を示す説明図である。記号の種類として、長方形610、横棒である接続線620、622、624、626、628、円弧630、丸である文字候補642、644、646がある。
図6の例において、長方形610A、610B、610C、610D(図7に例示する長方形610)は、それぞれ文字セグメントを表す。
また、横棒である接続線620、622、624、626、628は、文字切り出し位置を示す(図8に例示する接続線620、接続線622)。文字セグメントは文字切り出し位置を介して、隣接する文字セグメントにつながっている。
さらに、丸で表されている文字候補642A、644A等は、ひとつの文字セグメントを1文字として認識したときの、複数の文字候補を示す。円弧630A、630B、630C、630Dは、下の一つの文字セグメントだけを対象に文字認識を行っていることを示している。
図9の例では、文字候補642、644、646は、その下の長方形610が示す1文字の文字セグメントを認識したときの複数の文字候補であることを示している。また、円弧630は、その下の長方形610ひとつだけを対象に文字認識を行うことを示している。
本実施の形態では、文字セグメントの複数の文字候補をノードとして捉える。さらに、隣接する文字セグメントの文字候補と、リンクを接続する。図10の例にリンクを太線で記入して示す。
ここでリンク値生成モジュール160が生成するリンク値としては、リンク左右のノードの相互作用を示すものを使ってもよい。具体的には、リンクの左の文字候補とリンクの右の文字候補が連続して日本語の文章中に出現する確率(バイグラム)を用いる。
このようにノードとリンクを構成することによって、すべてのグラフ構造が規定できる。グラフ構造が規定できれば、ビタビ法等により、最適パスを選択できる。
<A2.ノード内情報も用いる場合>
前述では、リンク値として、ノード間の相互作用を示すもの(文章中に出現する確率)だけを用いたが、さらにノード単独の評価値を用いるようにしてもよい。ここでは、ビタビ法を用いて最適パスを探索するものとする。左から順にノードの左から入るリンクを各ノード毎にひとつだけに限定していく処理を行う。
図11は、ノード内情報を用いる例を示す説明図である。今、図11の例で矢印で示す文字候補642B、644B、646B(ノードD、E、F)のリンクを限定する段階であるとする。
ここで、矢印が示す文字候補642B、644B、646B(ノードD、E、F)と、矢印のノードの左側にある文字候補642A、644A、646A(ノードA、B、C)間のリンク値を生成する。リンク値としては、各ノード間の相互作用を表すバイグラムなどの値と、各ノード内部の値の両方を用いる。ノード内部の値とは、例えば、文字候補642B(ノードD)の文字の認識確度などがある。
ここで、リンクは、文字候補642B、644B、646B(ノードD、E、F)と文字候補642A、644A、646A(ノードA、B、C)間にあるため、リンク値としては、文字候補642B、644B、646B(ノードD、E、F)と文字候補642A、644A、646A(ノードA、B、C)間の評価値を算出するのが簡単である。しかし、ノード内部の値は、文字候補642B、644B、646B(ノードD、E、F)と文字候補642A、644A、646A(ノードA、B、C)間にあるのではなく、この場合、文字候補642B、644B、646B(ノードD、E、F)に存在する。
つまり、ノード間情報はリンクの内部に存在していて、ノード内情報はリンクの端点に存在する。このような発生位置、又は概念が異なる値を一度に扱うことは従来なかった点である。
従来では、図27に示す始点ノード2700、中間ノード2710(ノード1)、中間ノード2720(ノード2)、終点ノード2790など(つまり、文字切り出し位置)をノードとして、ノード間のアーク評価値を算出している。本実施の形態のように、複数の文字コードをノードとして、ノード間のリンク値を算出するわけではない。そのため、従来技術をそのまま用いることはできない。
本実施の形態では、リンクの評価値として、リンクの内部に存在する値(例えば、バイグラムの値)と、リンクの一方の端点のみに存在する値(例えば、ノードDの文字認識確度)を用いる。他方の端点に存在する値(例えば、ノードAの文字認識確度)は用いない。このようにすることで、リンクの内部の値と、リンクの端点の値をともに用いる評価が可能となる。
最終的には、文字列の評価値(パス評価値)として、(1)式で、すべてのリンクの評価値を加算することになる。そのため、リンクの評価値の中に、リンクの内部の評価値と、リンクの一方の端点の評価値が含まれていれば、パス評価値の中にすべてのリンク内部の評価値とリンク端点の評価値が一つずつ含まれることになる。
この関係の模式図を図12に示す。図12は、ノードとリンクの例を示す説明図である。図12の例に示すノード1212等の丸はノードを示す。リンク1222等の横棒はリンクを示す。図12(b)の例に示すように、一つのリンク値(リンク評価単位1230)は、ノード一つ(ノード1214)の評価とリンク一つ(リンク1222)の評価を示すことになる。
そのため、図12の例では、3回のリンク評価結果を合わせることで、最も左の端点ノード(ノード1212)以外を評価できることになる。左の端点処理として、左の端点のノードのノード内部評価値のみを算出してパス評価値に加算する。あるいは、左の端点のノード内部評価値と最も左のリンク値を加算するなどの処理を行えばよい。
リンク値生成モジュール160では、前述のリンク内部の値と、リンク端点の値のように、複数の値(バイグラムや認識確度)などを特徴量として、リンク値を算出すればよい。このように複数の値から、ひとつのリンク値を算出する方法としては、(1)特開平9−185681号公報、(2)特開昭61−175878号公報、(3)特開平3−37782号公報、(4)特開平11−203406号公報等に記載の技術を用いればよい。これ以外の方法であってもよい。
なお、複数の値を特徴量ベクトルとして把握し、リンク値は、特徴量ベクトルを対象として、リンク評価値(スカラー値)を出力する関数で実現できる。
<A3.リンク情報として2以上のノードを用いる場合>
前述では、リンク左右のノードの相互情報としてバイグラムを用いていた。この場合、リンク情報として2つのノード間の関係情報を用いていることになる。
ビタビ法を用いる場合、例えば、ノードA、B、Cの左側のリンク数はすでに1個に限定されていることになる。この場合には、2以上のノードの情報を用いてリンク情報を構築することが可能となる。
例えば、2つの連続する文字の生起確率であるバイグラムではなく、3つの連続する文字の生起確率であるトライグラムを用いることも可能となる。
今、リンク値生成モジュール160が、ノードD、E、Fの左側のリンク値を生成しようとする。
例えば、ノードA−ノードD間のリンク値を算出する。バイグラムであれば、ノードAとノードDが連続する生起確率を求めればよい。ここで、トライグラムを求める場合を説明する。ノードAの左側のリンクは一つに限定されているため、実は、ノードAの左の文字も確定していることになる。この文字を保持するノードをGとする。トライグラムとしては、ノードG−ノードA−ノードDの3つの文字に関する生起確率を求めればよい。
以上のように求めたトライグラムをノードA−ノードD間のリンク値として生成すればよい。同様に、Ngramであっても、求めることが可能となる。
<A4.文字切り出し位置が確定していない場合>
文字切り出し位置が確定していない場合(つまり、切出位置抽出モジュール130が複数の文字切り出し位置を抽出した場合)、文字候補の選択と、文字切り出し位置の選択を行うようにしてもよい。
図13は、文字切り出し位置が複数ある場合の処理例を示す説明図である。ここでは、円弧の記号の意味が追加されている。円弧が下にある複数の文字セグメント(長方形)を指し示す場合、その円弧はその複数の文字セグメントを統合した画像を1文字とみなして認識することを示す。円弧1310Aは、長方形610Aと長方形610Bを統合した画像を1文字とみなして文字認識結果として文字候補1322A、1324A、1326Aを有している。また、円弧1310Cは、長方形610A、610B、610C、610Dを統合した画像を1文字とみなして文字認識結果として文字候補1322C、1324C、1326Cを有している。
図14の例に示すように、円弧630Aと円弧630Bの下に二つの文字セグメント(長方形610A、長方形610B)「イ」と「ヒ」がある場合に、その2つを含む円弧1310の上の文字候補(文字候補1322、1324、1326)は、「イ」と「ヒ」を統合した1つの文字セグメント「化」を認識したときの複数の文字候補に相当する。
文字切り出し位置が確定していない場合のリンクの接続は、図15の例に示すようになる。図15は、文字切り出し位置が複数ある場合の処理例を示す説明図である。
ここでは、文字切り出し位置に注目する。今、図15の矢印で示す文字切り出し位置に関連するノードのリンクを対象とする。この文字切り出し位置でリンクされるノードには、
(1)左側ノード:矢印の文字切り出し位置に円弧の右側が存在するノード(斜線でハッチングしたノード、文字候補1542A、文字候補1544A、文字候補1562A、文字候補1564A、文字候補1572A、文字候補1574A等)と、
(2)右側ノード:矢印の文字切り出し位置に円弧の左側が存在するノード(内部が白のノード、文字候補1542B、文字候補1544B、文字候補1562B、文字候補1564B、文字候補1572B、文字候補1574B等)
の2種類がある。このとき、左側ノードと、右側ノード間にリンクを形成することによって、グラフ構造を構築することができる。
例えば、すべての左側ノードが、すべての右側ノードに直接接続できるようにリンクを形成すればよい。さらに、すべての文字切り出し位置において、前述のように、左側ノードと右側ノードのリンクを形成し、さらに、左側が文字列の端点の場合には始点ノードに接続し、また、右側が文字列の端点の場合には終端ノードに接続すれば、すべてのグラフ構造を構築することができる。
この場合においても、リンク値は、リンク左右のノードの相互作用を示すものを使ってもよいし、ノード内部の評価値を用いてもよい。
特に、この場合には、文字切り出し位置が確定していないため、ノード内部の評価値として、文字の形状情報を用いることができる。文字形状情報の例として、文字の縦横比や、文字左右の空白量、等を用いることができる。
次に、図16から図21を用いて、パス選択モジュール170の重み決定モジュール310による重み付け処理について説明する。
<B1>
図16は、重み付けの例を示す説明図である。
ここでは、図23に例示した「化学」という文字列画像を対象として説明する。なお、重みは画素数とする。図16(a)、(b)、(c)に例示するように、「イ」の幅は10画素、「ヒ」の幅は20画素、「学」の幅は40画素、「化」の幅は40画素であるとする。また、文字セグメント間の空白の幅は10画素であるとする。このとき、各パターンにおけるアーク評価値に対する重みは、図16(d)から(g)の例のようになる。つまり、文字切り出し位置決定モジュール110によって設定された位置の候補(以下、「切り出し位置候補」ともいう)によって定められる距離が重みとなっている。なお、切り出し位置候補によって定められる距離とは、この例の場合、隣り合う切り出し位置候補の間には1つの文字画像があるとして、その文字画像の外接矩形の幅である。また、切り出し位置候補によって定められる距離を、隣り合う切り出し位置候補間の距離としてもよい。
なお、図16(e)の例に示す重みよりも、図16(f)の例に示す重みが大きくなっているが、アーク評価値(「化」、「学」のそれぞれをひとつの文字とした場合の文字らしさ評価値と、「化学」をひとつの文字とした場合の文字らしさ評価値)によって、図16(e)の例のパス評価値が高くなることが多い。
図17は、重み決定モジュール310内のモジュール構成例を示す説明図である。
重み決定モジュール310は、文字切り出し間距離算出モジュール1710を有している。文字切り出し間距離算出モジュール1710は、隣り合う切り出し位置候補の間にある1つの文字画像の外接矩形の幅に基づいて、重みを決定する。また、隣り合う切り出し位置候補間の距離に基づいて、重みを決定するようにしてもよい。
<B2>
前述の<B1>では、文字画像の外接矩形の幅又は隣り合う切り出し位置候補間の距離をそのまま、重みとした。この場合には、内部で空白の大きな文字が必要以上に大きな重みを持つことになってしまう。
例えば、図18に例示するように、文字切り出し間距離1810の内部に大きな空白を持つ文字を選択してしまうと、この重みが必要以上に大きな値となってしまう。図18の例では、文字切り出し間距離1810内の画像「1 1」を文字認識した結果が「い」となる場合がある。この場合の重みの値は大きくなるので、「1 1」をひとつの文字(つまり、文字認識結果が「い」)として選択されてしまうことがある。
又は、文字セグメントが重なっている場合には、必要以上に小さな重みになってしまう。図19の例のように、文字セグメントの外接矩形が重なってしまっている場合、二つに分割した方が重みの値が大きくなってしまうため、「II」(ローマ数字の2)ではなくて、「I」、「I」となってしまう可能性が高くなる。つまり、外接矩形幅1910と外接矩形幅1920の和は、文字切り出し間距離1930より大きくなってしまうので、各文字セグメントの切り出し位置が文字切り出し位置として採用されてしまうことになってしまう可能性が高いことになる。
そこで、文字内部(隣り合う切り出し位置候補の間にある画像)の文字セグメントの外接矩形の大きさ(横書きの文字列画像を対象としている場合は幅、縦書き文字列画像を対象としている場合は高さ)に基づいて重みを決定する。
そして、文字内部に複数の文字セグメントがある場合は、その文字セグメントの外接矩形の大きさの和に基づいて重みを決定するようにしてもよい。
図20(a)、(b)、(c)に例示するように、「イ」の幅は10画素、「ヒ」の幅は20画素、「学」の幅は40画素、「化」の幅は40画素であるとする。また、文字セグメント間の空白の幅は10画素であるとする。このとき、各パターンにおけるアーク評価値に対する重みは、図20(d)から(g)の例のようになる。つまり、文字セグメントの外接矩形の幅(文字セグメントが複数ある場合は、その和)が重みとなっている。
図21は、重み決定モジュール310内のモジュール構成例を示す説明図である。
重み決定モジュール310は、文字塊抽出モジュール2110、文字塊幅算出モジュール2120を有している。
文字塊抽出モジュール2110は、文字塊幅算出モジュール2120と接続されており、隣り合う切り出し位置候補の間にある文字セグメント(画素塊)を抽出する。例えば、4連結又は8連結の画素塊を文字セグメントとして抽出してもよい。また、横方向に文字のプロファイルをとるようにしてもよい。すなわち、横方向に黒画素数のヒストグラムを算出する。そして、その黒画素ヒストグラムを用いて、文字セグメントを抽出するようにしてもよい。
文字塊幅算出モジュール2120は、文字塊抽出モジュール2110と接続されており、文字塊抽出モジュール2110によって抽出された文字セグメントの外接矩形の大きさを算出して、重みを決定する。
図22を参照して、本実施の形態の画像処理装置のハードウェア構成例について説明する。図22に示す構成は、例えばパーソナルコンピュータ(PC)などによって構成されるものであり、スキャナ等のデータ読み取り部2217と、プリンタなどのデータ出力部2218を備えたハードウェア構成例を示している。
CPU(Central Processing Unit)2201は、前述の実施の形態において説明した各種のモジュール、すなわち、文字列抽出モジュール120、切出位置抽出モジュール130、文字候補抽出モジュール140、グラフ生成モジュール150、リンク値生成モジュール160、パス選択モジュール170等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
ROM(Read Only Memory)2202は、CPU2201が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memory)2203は、CPU2201の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバスなどから構成されるホストバス2204により相互に接続されている。
ホストバス2204は、ブリッジ2205を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス2206に接続されている。
キーボード2208、マウス等のポインティングデバイス2209は、操作者により操作される入力デバイスである。ディスプレイ2210は、液晶表示装置又はCRT(Cathode Ray Tube)などがあり、各種情報をテキストやイメージ情報として表示する。
HDD(Hard Disk Drive)2211は、ハードディスクを内蔵し、ハードディスクを駆動し、CPU2201によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、受け付けた画像、文字認識結果、グラフ構造などが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
ドライブ2212は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体2213に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース2207、外部バス2206、ブリッジ2205、及びホストバス2204を介して接続されているRAM2203に供給する。リムーバブル記録媒体2213も、ハードディスクと同様のデータ記録領域として利用可能である。
接続ポート2214は、外部接続機器2215を接続するポートであり、USB、IEEE1394等の接続部を持つ。接続ポート2214は、インタフェース2207、及び外部バス2206、ブリッジ2205、ホストバス2204等を介してCPU2201等に接続されている。通信部2216は、ネットワークに接続され、外部とのデータ通信処理を実行する。データ読み取り部2217は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部2218は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
なお、図22に示す画像処理装置のハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図22に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図22に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。
前述の実施の形態においては、対象として日本語の文字を示したが、中国語、英語等の文字を対象としてもよい。
前述の実施の形態においては、横書きの文字列を前提として、左が始点で右が終点であるような記述の仕方を行ってきた。しかし、前述の説明は、縦書きや、右から左に記述する文字列でも同様に成り立つ。例えば、縦書きの場合は、「左」を「上」、「右」を「下」とする変換を行えばよい。右から左に記述する文字列の場合は、「左」を「右」、「右」を「左」とする変換を行えばよい。
なお、数式を用いて説明したが、数式には、その数式と同等のものが含まれる。同等のものとは、その数式そのものの他に、最終的な結果に影響を及ぼさない程度の数式の変形、又は数式をアルゴリズミックな解法で解くこと等が含まれる。
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray Disc(登録商標))、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合せ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
110…画像受付モジュール
120…文字列抽出モジュール
130…切出位置抽出モジュール
140…文字候補抽出モジュール
150…グラフ生成モジュール
160…リンク値生成モジュール
170…パス選択モジュール
180…出力モジュール
210…Nグラム値算出モジュール
220…ノード値算出モジュール
230…リンク値算出モジュール
310…重み決定モジュール
320…リンク重み量乗算モジュール
330…加算モジュール

Claims (5)

  1. 画像から文字画像を切り出す位置を抽出する切出位置抽出手段と、
    前記切出位置抽出手段によって抽出された位置によって分けられた文字画像に対して文字認識を行った結果である複数の文字候補を抽出する文字候補抽出手段と、
    前記文字候補抽出手段によって抽出された複数の文字候補の各々をノードとし、隣接する文字画像のノード間にリンクを構築することによってグラフを生成するグラフ生成手段と、
    前記リンクによって接続されたノードの文字候補間の関係による文字列らしさを表す値に基づいて、リンク値を生成するリンク値生成手段と、
    前記リンク値生成手段によって生成されたリンク値に基づいて、前記グラフ生成手段によって生成されたグラフ内のパスを選択するパス選択手段と、
    前記パス選択手段によって選択されたパス内の文字候補列を文字認識結果として出力する出力手段
    を具備し、
    前記リンク値生成手段は、リンク値として、リンクの内部に存在する値と、該リンクの一方のノードのみに存在する値を用い、他方のノードに存在する値は用いない
    ことを特徴とする画像処理装置。
  2. 前記パス選択手段は、ダイナミックプログラミング手法を用いて処理途中のパスを削減しながら、リンク値の和に基づいてパスを選択する
    ことを特徴とする請求項1に記載の画像処理装置。
  3. 前記リンク値生成手段は、前記リンクを構成しているノードに対する文字らしさを表す値に基づいて、前記リンク値を生成する
    ことを特徴とする請求項1又は2に記載の画像処理装置。
  4. 前記切出位置抽出手段は、複数の切り出し位置を抽出し、
    前記グラフ生成手段は、前記切出位置抽出手段によって抽出された複数の切り出し位置によって分けられた文字画像に対して文字認識を行った結果である複数の文字候補の各々をノードとし、隣接する文字画像のノード間にリンクを構築することによってグラフを生成する
    ことを特徴とする請求項1から3のいずれか一項に記載の画像処理装置。
  5. コンピュータを、
    画像から文字画像を切り出す位置を抽出する切出位置抽出手段と、
    前記切出位置抽出手段によって抽出された位置によって分けられた文字画像に対して文字認識を行った結果である複数の文字候補を抽出する文字候補抽出手段と、
    前記文字候補抽出手段によって抽出された複数の文字候補の各々をノードとし、隣接する文字画像のノード間にリンクを構築することによってグラフを生成するグラフ生成手段と、
    前記リンクによって接続されたノードの文字候補間の関係による文字列らしさを表す値に基づいて、リンク値を生成するリンク値生成手段と、
    前記リンク値生成手段によって生成されたリンク値に基づいて、前記グラフ生成手段によって生成されたグラフ内のパスを選択するパス選択手段と、
    前記パス選択手段によって選択されたパス内の文字候補列を文字認識結果として出力する出力手段
    として機能させ
    前記リンク値生成手段は、リンク値として、リンクの内部に存在する値と、該リンクの一方のノードのみに存在する値を用い、他方のノードに存在する値は用いない
    ことを特徴とする画像処理プログラム。
JP2010265968A 2010-11-30 2010-11-30 画像処理装置及び画像処理プログラム Expired - Fee Related JP5699570B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010265968A JP5699570B2 (ja) 2010-11-30 2010-11-30 画像処理装置及び画像処理プログラム
US13/083,174 US20120134591A1 (en) 2010-11-30 2011-04-08 Image processing apparatus, image processing method and computer-readable medium
CN201110129215.XA CN102479332B (zh) 2010-11-30 2011-05-18 图像处理装置和图像处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010265968A JP5699570B2 (ja) 2010-11-30 2010-11-30 画像処理装置及び画像処理プログラム

Publications (2)

Publication Number Publication Date
JP2012118650A JP2012118650A (ja) 2012-06-21
JP5699570B2 true JP5699570B2 (ja) 2015-04-15

Family

ID=46091969

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010265968A Expired - Fee Related JP5699570B2 (ja) 2010-11-30 2010-11-30 画像処理装置及び画像処理プログラム

Country Status (3)

Country Link
US (1) US20120134591A1 (ja)
JP (1) JP5699570B2 (ja)
CN (1) CN102479332B (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102788591B (zh) * 2012-08-07 2015-05-13 郭磊 基于视觉信息的机器人沿引导线巡线导航方法
JP6003705B2 (ja) * 2013-02-14 2016-10-05 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
CN104573683B (zh) * 2013-10-21 2018-02-16 富士通株式会社 字符串识别方法和装置
JP6352695B2 (ja) * 2014-06-19 2018-07-04 株式会社東芝 文字検出装置、方法およびプログラム
US9424668B1 (en) * 2014-08-28 2016-08-23 Google Inc. Session-based character recognition for document reconstruction
WO2016181468A1 (ja) * 2015-05-11 2016-11-17 株式会社東芝 パターン認識装置、パターン認識方法およびプログラム
JP6580381B2 (ja) * 2015-06-12 2019-09-25 オリンパス株式会社 画像処理装置および画像処理方法
CN105447508A (zh) * 2015-11-10 2016-03-30 上海珍岛信息技术有限公司 一种字符图像验证码识别的方法及系统
JP6759306B2 (ja) * 2018-11-26 2020-09-23 キヤノン株式会社 画像処理装置及びその制御方法、プログラム
CN110717483B (zh) * 2019-09-19 2023-04-18 浙江善政科技有限公司 网络图像识别处理方法,计算机可读存储介质和移动终端
CN110796140B (zh) * 2019-10-17 2022-08-26 北京爱数智慧科技有限公司 一种字幕检测方法和装置
CN113283432A (zh) * 2020-02-20 2021-08-20 阿里巴巴集团控股有限公司 图像识别、文字排序方法及设备
JP7468103B2 (ja) * 2020-04-15 2024-04-16 株式会社リコー Fax受信装置、fax受信方法およびプログラム
CN111598093B (zh) * 2020-05-25 2024-05-14 深圳前海微众银行股份有限公司 图片中文字的结构化信息生成方法、装置、设备及介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63182793A (ja) * 1987-01-26 1988-07-28 Sharp Corp 文字切り出し方式
US5020117A (en) * 1988-01-18 1991-05-28 Kabushiki Kaisha Toshiba Handwritten character string recognition system
JP3260843B2 (ja) * 1992-08-25 2002-02-25 株式会社リコー 文字認識方法
US6246794B1 (en) * 1995-12-13 2001-06-12 Hitachi, Ltd. Method of reading characters and method of reading postal addresses
TW490643B (en) * 1996-05-21 2002-06-11 Hitachi Ltd Estimated recognition device for input character string
JP3080066B2 (ja) * 1998-05-18 2000-08-21 日本電気株式会社 文字認識装置、方法及び記憶媒体
US6662180B1 (en) * 1999-05-12 2003-12-09 Matsushita Electric Industrial Co., Ltd. Method for searching in large databases of automatically recognized text
CN100347723C (zh) * 2005-07-15 2007-11-07 清华大学 基于几何代价与语义-识别代价结合的脱机手写汉字字符的切分方法
US8050500B1 (en) * 2006-07-06 2011-11-01 Senapps, LLC Recognition method and system
JP5125573B2 (ja) * 2008-02-12 2013-01-23 富士通株式会社 領域抽出プログラム、文字認識プログラム、および文字認識装置
JP2009199102A (ja) * 2008-02-19 2009-09-03 Fujitsu Ltd 文字認識プログラム、文字認識装置及び文字認識方法
JP5227120B2 (ja) * 2008-09-03 2013-07-03 日立コンピュータ機器株式会社 文字列認識装置及び方法、並びにプログラム

Also Published As

Publication number Publication date
JP2012118650A (ja) 2012-06-21
CN102479332A (zh) 2012-05-30
CN102479332B (zh) 2017-08-25
US20120134591A1 (en) 2012-05-31

Similar Documents

Publication Publication Date Title
JP5699570B2 (ja) 画像処理装置及び画像処理プログラム
JP6003705B2 (ja) 情報処理装置及び情報処理プログラム
JP6119952B2 (ja) 画像処理装置及び画像処理プログラム
AU2008246275B2 (en) Image processor, image processing method and image processing program
US20100211871A1 (en) Information processor, information processing method, and computer readable medium
JP5942361B2 (ja) 画像処理装置及び画像処理プログラム
US8787676B2 (en) Image processing apparatus, computer readable medium storing program, and image processing method
JP2009251872A (ja) 情報処理装置及び情報処理プログラム
JP5365440B2 (ja) 画像処理装置及び画像処理プログラム
JP6260350B2 (ja) 画像処理装置及び画像処理プログラム
JP2013246473A (ja) 画像処理装置及び画像処理プログラム
JP6003375B2 (ja) 画像処理装置及び画像処理プログラム
JP6187307B2 (ja) 画像処理装置及び画像処理プログラム
JP5062076B2 (ja) 情報処理装置及び情報処理プログラム
US8923635B2 (en) Image processing apparatus and image processing program
JP2010039810A (ja) 画像処理装置及び画像処理プログラム
JP6281309B2 (ja) 画像処理装置及び画像処理プログラム
JP5636766B2 (ja) 画像処理装置及び画像処理プログラム
JP5942661B2 (ja) 情報処理装置及び情報処理プログラム
JP4973536B2 (ja) 画像処理装置及び画像処理プログラム
JP5935324B2 (ja) 情報処理装置及び情報処理プログラム
JP5853495B2 (ja) 画像処理装置及び画像処理プログラム
JP5991076B2 (ja) 画像処理装置及び画像処理プログラム
JP5673033B2 (ja) 画像処理装置及び画像処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131024

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140612

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140617

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140814

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150202

R150 Certificate of patent or registration of utility model

Ref document number: 5699570

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees