(57)【特許請求の範囲】
【請求項１】
画像から文字を切り出す位置の候補を設定する設定手段と、
前記設定手段によって設定された位置の候補によって切り出される画像の文字らしさを評価した値を決定する評価値決定手段と、
前記設定手段によって設定された位置の候補によって定められる距離に基づいて、重みを決定する重み決定手段と、
前記重み決定手段によって決定された重みに基づいて、前記評価値決定手段によって決定された評価値の重み付き和を算出する算出手段と、
前記算出手段によって算出された値に基づいて、前記画像から文字を切り出す切り出し手段と
を具備し、
前記評価値決定手段は、
画像内に存在する１つの文字画像を切り出す位置の候補に関する複数の特徴量に対して、重み付き線形和を計算する第１の計算手段と、
前記第１の計算手段による計算結果を引数として、該引数が極限の値の場合に予め定められた値に収束するようになる、又は該引数と予め定められた値との距離が大きくなると出力の傾きの絶対値が小さくなるようになる非線形単調関数又は該非線形単調関数に近似する関数によって、前記１つの文字画像を切り出す位置の候補の評価値を計算し、該評価値を前記文字らしさを評価した値とする第２の計算手段
を有していることを特徴とする画像処理装置。
【請求項２】
前記重み決定手段は、前記設定手段によって設定された位置の候補の間にある画像の外接矩形の大きさに基づいて重みを決定する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記重み決定手段は、前記設定手段によって設定された位置の候補の間にある画像が複数である場合は、該画像の外接矩形の大きさの和に基づいて重みを決定する
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
コンピュータを、
画像から文字を切り出す位置の候補を設定する設定手段と、
前記設定手段によって設定された位置の候補によって切り出される画像の文字らしさを評価した値を決定する評価値決定手段と、
前記設定手段によって設定された位置の候補によって定められる距離に基づいて、重みを決定する重み決定手段と、
前記重み決定手段によって決定された重みに基づいて、前記評価値決定手段によって決定された評価値の重み付き和を算出する算出手段と、
前記算出手段によって算出された値に基づいて、前記画像から文字を切り出す切り出し手段
として機能させ、
前記評価値決定手段は、
画像内に存在する１つの文字画像を切り出す位置の候補に関する複数の特徴量に対して、重み付き線形和を計算する第１の計算手段と、
前記第１の計算手段による計算結果を引数として、該引数が極限の値の場合に予め定められた値に収束するようになる、又は該引数と予め定められた値との距離が大きくなると出力の傾きの絶対値が小さくなるようになる非線形単調関数又は該非線形単調関数に近似する関数によって、前記１つの文字画像を切り出す位置の候補の評価値を計算し、該評価値を前記文字らしさを評価した値とする第２の計算手段
を有していることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理プログラムに関する。
【背景技術】
【０００２】
画像から文字を切り出す技術がある。
これに関連する技術として、例えば、特許文献１には、文書に記載された文字の画像を読取り、その読み取り画像に基づいて文字を認識する文書読取り装置において、１つの文字を構成する文字要素を基本パターンとして検出する基本パターン検出手段と、この基本パターン検出手段で検出した基本パターンが単独の文字として成立するか否かを定量的に示す文字評価値を求める文字評価値演算手段と、この演算手段で算出された文字評価値に基づき文字要素を単独の文字として切り出したときと複数の文字要素を結合して切り出したときの切り出し評価値を求める切り出し評価値演算手段と、切り出し評価値が最大となる文字要素の組み合わせを１つの文字として切り出す文字切り出し手段とを備えてなる文書読取り装置が開示されている。
【０００３】
また、例えば、特許文献２には、用紙等に記入又は印刷された文字列を光学的に走査し、光電変換して得られた文字列イメージから１文字ずつ文字パターンを切り出す文字パターン切り出し装置において、上記文字列の方向と直交する方向に上記文字列イメージを走査して求めた周辺分布値の連続性に基づいて上記文字列イメージを分割して得た基本パターンの左右端と上下端との座標より基本パターン領域を検出する基本パターン領域検出手段と、上記基本パターン領域の文字列の方向の長さが所定のしきい値を越える場合は該基本パターン領域において文字間の接触があると判定し、該基本パターンの分離位置の候補を該基本パターン領域内の周辺分布値の極小値を与える位置と大きさの情報に基づいて検出する接触分離候補位置検出手段と、上記基本パターンを上記分離位置の候補で分割して得られた基本パターンに対して単独の基本パターンに対する文字らしさを示す文字評価値と連続する複数個の基本パターンを結合した結合パターンに対する文字らしさを示す文字評価値とを算出する文字評価値算出手段と、上記基本パターン領域の位置情報に基づいて文字切り出し候補位置のすべての可能な組み合わせを求め、各文字切り出し候補位置の組み合わせについて文字切り出し候補位置で切り出した基本パターンと結合パターンとに対応する上記文字評価値算出手段で算出された文字評価値に基づいて文字切り出し評価値を求め、該文字切り出し評価値に基づき最適な文字切り出し位置の組み合わせを決定する文字切り出し位置決定手段とを備えたことを特徴とする文字パターン切り出し装置が開示されている。
【０００４】
また、例えば、特許文献３には、文字識別や文字列照合で、文字の切り出し方が確定できない場合でも、高い精度で文字を切り出し文字列を認識することを課題とし、多重仮説検定型の文字切り出し処理において、まず従来の方法で全部の切り出し方の中からより正しいと判断される複数の切り出し方の候補を選別し、次いで本発明の方法である各文字パターンの大きさや前後のパターンとの位置関係に基づき切り出し方の仮説の妥当性を評価するための評価値（概形ペナルティ）を求め、この仮定は予め収集登録しサンプルを学習して求めた線形識別関数により行い、このようにして正しい切り出し方を判別することにより、大きさや位置関係の情報を容易に扱えるようになることが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開昭６１−１７５８７８号公報
【特許文献２】特開平０３−０３７７８２号公報
【特許文献３】特開平０９−１８５６８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、画像内に存在する文字を切り出す位置を決定する場合にあって、文字数による影響を抑制するようにした画像処理装置及び画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００７】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、画像から文字を切り出す位置の候補を設定する設定手段と、前記設定手段によって設定された位置の候補によって切り出される画像の文字らしさを評価した値を決定する評価値決定手段と、前記設定手段によって設定された位置の候補によって定められる距離に基づいて、重みを決定する重み決定手段と、前記重み決定手段によって決定された重みに基づいて、前記評価値決定手段によって決定された評価値の重み付き和を算出する算出手段と、前記算出手段によって算出された値に基づいて、前記画像から文字を切り出す切り出し手段とを具備し、前記評価値決定手段は、画像内に存在する１つの文字画像を切り出す位置の候補に関する複数の特徴量に対して、重み付き線形和を計算する第１の計算手段と、前記第１の計算手段による計算結果を引数として、該引数が極限の値の場合に予め定められた値に収束するようになる、又は該引数と予め定められた値との距離が大きくなると出力の傾きの絶対値が小さくなるようになる非線形単調関数又は該非線形単調関数に近似する関数によって、前記１つの文字画像を切り出す位置の候補の評価値を計算し、該評価値を前記文字らしさを評価した値とする第２の計算手段を有していることを特徴とする画像処理装置である。
【０００８】
請求項２の発明は、前記重み決定手段は、前記設定手段によって設定された位置の候補の間にある画像の外接矩形の大きさに基づいて重みを決定することを特徴とする請求項１に記載の画像処理装置である。
【０００９】
請求項３の発明は、前記重み決定手段は、前記設定手段によって設定された位置の候補の間にある画像が複数である場合は、該画像の外接矩形の大きさの和に基づいて重みを決定することを特徴とする請求項１又は２に記載の画像処理装置である。
【００１０】
請求項４の発明は、コンピュータを、画像から文字を切り出す位置の候補を設定する設定手段と、前記設定手段によって設定された位置の候補によって切り出される画像の文字らしさを評価した値を決定する評価値決定手段と、前記設定手段によって設定された位置の候補によって定められる距離に基づいて、重みを決定する重み決定手段と、前記重み決定手段によって決定された重みに基づいて、前記評価値決定手段によって決定された評価値の重み付き和を算出する算出手段と、前記算出手段によって算出された値に基づいて、前記画像から文字を切り出す切り出し手段として機能させ、前記評価値決定手段は、画像内に存在する１つの文字画像を切り出す位置の候補に関する複数の特徴量に対して、重み付き線形和を計算する第１の計算手段と、前記第１の計算手段による計算結果を引数として、該引数が極限の値の場合に予め定められた値に収束するようになる、又は該引数と予め定められた値との距離が大きくなると出力の傾きの絶対値が小さくなるようになる非線形単調関数又は該非線形単調関数に近似する関数によって、前記１つの文字画像を切り出す位置の候補の評価値を計算し、該評価値を前記文字らしさを評価した値とする第２の計算手段を有していることを特徴とする画像処理プログラムである。
【発明の効果】
【００１１】
請求項１の画像処理装置によれば、画像内に存在する文字を切り出す位置を決定する場合にあって、文字数による影響を抑制することができる。
【００１２】
請求項２の画像処理装置によれば、切り出す位置の候補の間に空白がある場合の影響を抑制することができる。
【００１３】
請求項３の画像処理装置によれば、切り出す位置の候補の間に空白があり、複数の画像がある場合の影響を抑制することができる。
【００１４】
請求項４の画像処理プログラムによれば、画像内に存在する文字を切り出す位置を決定する場合にあって、文字数による影響を抑制することができる。
【図面の簡単な説明】
【００１５】
【図１】第Ａ１の実施の形態の構成例についての概念的なモジュール構成図である。
【図２】本実施の形態を利用したシステム構成例についての概念的なモジュール構成図である。
【図３】重み付けの例を示す説明図である。
【図４】重み決定モジュール内のモジュール構成例を示す説明図である。
【図５】重み付けの例を示す説明図である。
【図６】重み付けの例を示す説明図である。
【図７】重み付けの例を示す説明図である。
【図８】重み決定モジュール内のモジュール構成例を示す説明図である。
【図９】第Ｂ１の実施の形態のアーク評価値決定モジュール内の構成例についての概念的なモジュール構成図である。
【図１０】教師用データテーブルのデータ構造例を示す説明図である。
【図１１】第Ｂ２の実施の形態のアーク評価値決定モジュール内の構成例についての概念的なモジュール構成図である。
【図１２】第Ｂ３の実施の形態のアーク評価値決定モジュール内の構成例についての概念的なモジュール構成図である。
【図１３】第Ｂ３の実施の形態のアーク評価値算出モジュール内の構成例についての概念的なモジュール構成図である。
【図１４】教師用データテーブルのデータ構造例を示す説明図である。
【図１５】アーク候補決定モジュール、アーク評価値決定モジュール、文字切り出し位置決定モジュールの関係例を示す説明図である。
【図１６】第Ｂ４の実施の形態の構成例についての概念的なモジュール構成図である。
【図１７】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【図１８】文字列画像の例を示す説明図である。
【図１９】文字境界候補の例を示す説明図である。
【図２０】外接矩形の例を示す説明図である。
【図２１】文字切り出し結果の例を示す説明図である。
【図２２】文字切り出し位置を示すグラフ表現の例を示す説明図である。
【図２３】グラフ表現内のパターンの例を示す説明図である。
【図２４】対象とする文字の画像例を示す説明図である。
【図２５】重み付けの例を示す説明図である。
【発明を実施するための形態】
【００１６】
本実施の形態は、例えば文字認識等のように文字画像を対象とした処理を行う場合に、画像内に存在する文字画像を切り出すためのものである。
まず、本実施の形態を説明する前に、その前提又は本実施の形態を利用する画像処理装置について説明する。なお、この説明は、本実施の形態の理解を容易にすることを目的とするものである。
【００１７】
例えば、図１８の例に示すような文字列画像を対象とする。まず、この文字列画像を文字セグメントに分割する。文字セグメントとは、文字そのもの、あるいは文字の一部となる可能性がある文字部分である。ここでは、図１８の例に示すような横書きの文字列画像を例にとる。横書きの画像では、垂直な線（あるいは垂直に近い線）で分割を行うことにより、文字セグメントに分割する。例えば図１９に示した縦線（切れ目候補１９１０、切れ目候補１９２０）で、文字列画像を分割して、３つの文字セグメント「イ」、「ヒ」、及び、「学」を得ることができる。図１９の例に示した縦線を切れ目候補と呼ぶこととする。切れ目候補１９１０が「イ」と「ヒ」を分け、切れ目候補１９２０が「ヒ」と「学」を分けている。
【００１８】
次に、図２０の例に示すように、各文字セグメントに対し、その外接矩形（外接矩形２０１０、外接矩形２０２０、外接矩形２０３０）を抽出する。
以下、特許文献３に記載されている技術内容を例にして説明する。なお、以下の説明で用いる用語は、特許文献３で用いる用語とは異なっている場合がある。
前述の文字セグメントを統合して、文字画像を決定する。複数の文字セグメントを統合して１つの文字画像を形成する場合もあれば、１つの文字セグメントが１つの文字となる場合もある。文字画像を決定するとは、文字の切り出し位置を決定することと同値であるから、以下では文字切り出し位置の決定という場合もある。
文字セグメントの統合のパターンは複数存在する。複数存在するパターンの中で、最も文字画像として評価の高いものを選択することによって、最終的な文字切り出し位置を決定する。
図２０の例に対しては、すべての文字切り出しパターンは、図２１に示す例のようになる。つまり、図２１（ａ）の例では、パターン１として３つの文字画像（外接矩形２０１０、外接矩形２０２０、外接矩形２０３０）、図２１（ｂ）の例では、パターン２として２つの文字画像（外接矩形２０１０と２０２０、外接矩形２０３０）、図２１（ｃ）の例では、パターン３として１つの文字画像（外接矩形２０１０と２０２０と２０３０）、図２１（ｄ）の例では、パターン４として２つの文字画像（外接矩形２０１０、外接矩形２０２０と２０３０）を示している。
【００１９】
文字切り出し位置を示すグラフ表現として、図２１の例に示した複数の切り出しパターンを表すことができる。図２２の例において、グラフは、始点ノード２２００、終点ノード２２９０、中間ノード２２１０（ノード１）、中間ノード２２２０（ノード２）の４つのノードと、ノード間を接続するアークで構成されている（ノード間の接続線をアークと呼ぶこととする）。始点は、文字列画像の左端、終点は文字列画像の右端にあたる。中間ノード２２１０（ノード１）、中間ノード２２２０（ノード２）は、それぞれ、文字の切れ目候補位置（すなわち、図１９の例に示した切れ目候補１９１０、切れ目候補１９２０）を示す。中間ノード２２１０（ノード１）は、切れ目候補１９１０に対応している。また、中間ノード２２２０（ノード２）は、切れ目候補１９２０に対応している。
【００２０】
始点から、各ノードを通って、終点に至る経路を以下、「パス」と呼ぶ。パスは、１又は複数のアークから構成される。通常、複数のパスが存在する。図２１の例に示した文字切り出しパターンは、これらの複数のパスに対応している。例えば、図２１（ｂ）の例に示したパターン２は、図２３の太線で示したパス（文字切り出しパターン２２０４、文字切り出しパターン２２２２）と対応している。
ここで、どれか１つのアークには、１つの文字画像の候補が対応している。例えば、始点ノード２２００と中間ノード２２２０（ノード２）を結ぶアークには、「化」という文字画像（文字切り出しパターン２２０４）が対応している。１つのアークに対応する文字に対して、その文字の評価値を決定することができる。これを「アーク評価値」と呼ぶこととする。
アーク評価値は、文字の形状情報や、文字認識における認識確度などから算出する。この詳細に関しては後述する。
【００２１】
１つのパスは、複数のアークから構成されている。複数のアーク評価値を用いて、そのアークから構成されるパスの評価値を計算することができる。これを「パス評価値」と呼ぶこととする。
文字切り出し位置を決定するため、複数のパスのなかで、最もパス評価値の高いパスを選択する。パスが選択できれば、文字切り出し位置が確定して、文字を切り出すことができる。そして、切り出した文字（文字画像）を文字認識することができる。また、後述するように、文字らしさを評価するのに文字認識を行っていた場合は、その文字認識の結果を確定することになる。
例えば、図２３の例で、太線のパスが選択されたとする。この場合、文字切り出し位置は、始点２２００と、中間ノード２２２０（ノード２）と、終点２２９０の３点となる。そして、文字認識結果は、「化」（文字切り出しパターン２２０４）、「学」（文字切り出しパターン２２２２）となる。
【００２２】
ここで、パス評価値の算出方法について説明する。基本的には、パス評価値は、アーク評価値の重み付け和が用いられる。ｉ番目のアークのアーク評価値をＶｉとし、ｉ番目のアーク評価値に対する重みをｗｉとし、アークの数をＮ、パス評価値をＰとすると、Ｐは次の（１）式で与えられる。
【数１】
0005673033.tif 000002
例えば、すべての重みを１として、単純にアーク評価値を加算したものをパス評価値とする考え方がある。
また、例えば、特開昭６１−１７５８７８号公報、特開平１１−２０３４０６号公報に記載の技術では、「重みｗｉ＝１／Ｎ」として、アーク評価値の平均値をパス評価値としている。
また、例えば、特開平９−１８５６８１号公報、特開平８−１６１４３２号公報、特開平１０−１５４２０７号公報、特開平３−３７７８２号公報に記載の技術では、「重みｗｉ＝文字セグメントの数」としている。例えば、図２１（ｄ）の例に示すパターン４は左右二つの文字から構成される。左側の文字「イ」は、ひとつだけの文字セグメントから構成されているので、「重みｗｉ＝１」となる。右側の文字「ヒ学」は、２つの文字セグメントから構成されているので、「重みｗｉ＝２」となる。
【００２３】
まず、単純にアーク評価値を加算したものをパス評価値とする場合は、文字数Ｎが大きなほど、パス評価値が大きくなってしまう。すなわち、より細かく分割して、文字数を多くするようなバイアスがかかってしまう。図２０に示したような例では、文字切り出しの結果として、「イ」、「ヒ」、「学」となってしまう可能性が高くなる。
次に、特開昭６１−１７５８７８号公報、特開平１１−２０３４０６号公報に記載の技術のように、アーク評価値の平均値を用いる場合は、列内のすべての文字切り出し位置を確定しないと、パス評価値を計算できないこととなる。平均値を算出するためには、文字数Ｎを確定する必要があるためである。
この場合、いったん、すべてのパスに関して始点から終点まで確定してから、パス評価値を計算する必要がある。文字列が長くなると、すべてのパスの本数は莫大になるため、このような計算手法は非現実的なものとなる。
【００２４】
すべてのパスを抽出する代わりに、局所的に選択する可能性のないアークを削減することによって、総処理量を削減する手法がある。一般的にはダイナミックプログラミング法と呼ばれるものである。
ここでは、ダイナミックプログラミング法の一例としてビタビ手法の説明を行う。
まず、始点とあるノード間を結ぶ部分パスの評価値を部分パス評価値と呼ぶこととする。
例えば、図２２の例に示すグラフにおいて、始点から終点に向かうパスを対象とする。中間ノード２２１０（ノード１）に左から入るアークは、ひとつに限定されている。中間ノード２２２０（ノード２）に左から入るアークは、２本ある。このうち、最も始点２２００からの部分パス評価値が最もよいものだけを生き残らせておく。ノードがさらに続く場合は、同様に、中間ノード毎に左から入るアークが複数ある場合に、その複数のアークの中で、始点からの部分パス評価値が最もよいものだけを生き残らせておく。そして、最終的に、終点２２９０に入るパスの中で、パス評価値が最もよいものを選択する。
このようなビタビ法を用いた選択手法において、途中のノードにおける部分パス評価値を算出する必要がある。このとき、途中のノードまでのパスしか確定していないため、最終的な文字数は分からない。よって、特開昭６１−１７５８７８号公報、特開平１１−２０３４０６号公報に記載の技術のように、アーク評価値の平均値を用いる場合は、ビタビ法のような、高速化させるためのダイナミックプログラミング法を用いることができないこととなる。
【００２５】
次に、特開平９−１８５６８１号公報、特開平８−１６１４３２号公報、特開平１０−１５４２０７号公報、特開平３−３７７８２号公報に記載の技術の場合について説明する。これらの場合、重みは文字セグメント数であるため、途中のノードでも部分パス評価値を算出することが可能である。
ただし、特開平９−１８５６８１号公報、特開平８−１６１４３２号公報、特開平１０−１５４２０７号公報に記載の技術の場合、幅の大きな文字セグメントと、幅の小さな文字セグメントを同様に扱っている。
例えば、図２４に例示した文字列画像を対象とする。この場合、分割時のアーク評価値が図２５の例のようになると仮定する。つまり、図２５（ａ）に例示する左側の文字セグメント（「奈」の文字画像）のアークに対する重みが１００、右側の文字セグメント（「川」の文字画像）のアークに対する重みが５０、図２５（ｂ）に例示する左側の文字セグメント（「奈１」（なお、「川」の各線を「１」と表現する）の文字画像）のアークに対する重みが９０、右側の文字セグメント（「１１」の文字画像）のアークに対する重みが５０である。この場合、図２５（ａ）では、パス評価値は、１００＋５０×３＝２５０となる。図２５（ｂ）では、パス評価値は、９０×２＋５０×２＝２８０となる。つまり、図２５（ｂ）が文字切り出し結果として採用されてしまうことになる。
【００２６】
図２５（ｂ）の例では、左側の文字「奈１」の文字セグメント数は２である。これは、「奈」に「１」のノイズが入った画像であり、文字としては、「奈」の可能性が高い文字となる。そのため、「奈１」のアーク評価値はそこそこ高い数値９０となる。さらに、幅の細い文字セグメント「１」が接続されただけではあるが、文字セグメント数が２となっているので重みは２となり、重み付け評価値は９０×２となる。
このように、文字セグメント数を重みとしてパス評価値を算出する場合、幅の小さなゴミのような文字セグメントと共に一つの文字となった場合、そのアークの評価値が必要以上に大きな値となって、文字切り出し位置を誤ってしまうということが生じる。
【００２７】
以下、図面に基づき本発明を実現するにあたっての好適な各種の実施の形態の例を説明する。
図１は、第Ａ１の実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム（コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム）、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（社会システム）にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、外部記憶媒体、通信回線を介した記憶装置、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）内のレジスタ等を含んでいてもよい。
【００２８】
本実施の形態である画像処理装置は、パスの評価値を決定するものであって、図１の例に示すように、パス評価値決定モジュール１００は、前述の（１）式を計算するものであり、文字切り出し位置決定モジュール１１０、アーク評価値決定モジュール１２０、重み決定モジュール１３０、アーク重み量乗算モジュール１４０、加算モジュール１５０を有している。
【００２９】
文字切り出し位置決定モジュール１１０は、アーク評価値決定モジュール１２０、重み決定モジュール１３０と接続されている。文字切り出し位置決定モジュール１１０は、文字列画像を受け取って、その文字列画像に対して文字を切り出す位置の候補を設定する。ここで、文字列画像は、後述する文字列抽出モジュール２２０によって抽出される画像であり、文字切り出しの対象となる画像である。
文字切り出し位置決定モジュール１１０が行う文字の切り出す位置候補の設定は例えば次のように行う。
１列の文字列である文字列画像を対象として、複数の文字セグメントに分割する。この文字セグメント分割方式としてもさまざまな方式があるため、そのうちのいずれかを用いればよい。例えば、（１）特開平５−１１４０４７号公報、（２）特開平４−１００１８９号公報、（３）特開平４−９２９９２号公報、（４）特開平４−６８４８１号公報、（５）特開平９−５４８１４号公報、（６）特開平９−１８５６８１の００２１段落に記載の文字の境界候補抽出方式、（７）特開平５−１２８３０８の０００５段落に記載の文字切り出し位置決定方式、等を用いればよい。これ以外の方法であってもよい。
【００３０】
アーク評価値決定モジュール１２０は、文字切り出し位置決定モジュール１１０、アーク重み量乗算モジュール１４０と接続されている。アーク評価値決定モジュール１２０は、文字切り出し位置決定モジュール１１０によって設定された位置の候補によって切り出される画像の文字らしさを評価した値（文字評価値）を決定する。ここでの文字らしさを評価した値とは、前述のアーク評価値に該当する。アーク評価値は、文字の形状情報（その文字画像を解析した結果、文字らしい形状であることを示す値）や、文字認識における認識確度（文字認識結果に対する信頼度）等の特徴量を用いて算出する。
アーク評価値決定モジュール１２０が行う文字らしさの評価値の決定は例えば次のように行う。
文字切り出し位置を設定したときの、１文字分の評価値（アーク評価値）に関しても、さまざまな方式があるため、そのうちのいずれかを用いればよい。例えば、前述した（１）特開平９−１８５６８１号公報、（２）特開平８−１６１４３２号公報、（３）特開平１０−１５４２０７号公報、（４）特開昭６１−１７５８７８号公報、（５）特開平３−３７７８２号公報、（６）特開平１１−２０３４０６号公報、等を用いればよい。これ以外の方法であってもよい。なお、これらの特徴量を用いて、アーク評価値を決定する処理の詳細については、図９から図１６を用いて後述する。
【００３１】
重み決定モジュール１３０は、文字切り出し位置決定モジュール１１０、アーク重み量乗算モジュール１４０と接続されている。重み決定モジュール１３０は、文字切り出し位置決定モジュール１１０によって設定された位置の候補によって定められる距離に基づいて、重みを決定する。
また、重み決定モジュール１３０は、文字切り出し位置決定モジュール１１０によって設定された位置の候補の間にある画像の外接矩形の大きさに基づいて重みを決定するようにしてもよい。
また、重み決定モジュール１３０は、文字切り出し位置決定モジュール１１０によって設定された位置の候補の間にある画像が複数である場合は、その画像の外接矩形の大きさの和に基づいて重みを決定するようにしてもよい。
なお、重み決定モジュール１３０が行う処理の詳細については、図３から図８を用いて後述する。
【００３２】
アーク重み量乗算モジュール１４０は、アーク評価値決定モジュール１２０、重み決定モジュール１３０、加算モジュール１５０と接続されている。アーク重み量乗算モジュール１４０は、アーク評価値決定モジュール１２０によって決定された評価値に対して、重み決定モジュール１３０によって決定された対応する重みを乗算する。
加算モジュール１５０は、アーク重み量乗算モジュール１４０と接続されている。加算モジュール１５０は、アーク重み量乗算モジュール１４０によって算出された評価値と重みの乗算結果を加算する。加算処理の結果は、対象としている文字列画像内の一連の文字切り出し位置毎（パス単位）となる。
したがって、アーク重み量乗算モジュール１４０、加算モジュール１５０の処理は、重み決定モジュール１３０によって決定された重みに基づいて、アーク評価値決定モジュール１２０によって決定された評価値の重み付き和を算出することとなる。
【００３３】
なお、前述したビタビ法を用いる場合は、各ノードにおいて、そのノードにおける部分パス評価値を保持すればよい。そして、各ノードでは、そのノードに始点方向からのアークが接続されているノードに保持されている部分パス評価値に、算出されたアーク加算値を加算することで、そのノードの部分パス評価値を得るようにすればよい。そして、前述したように、算出の途中でパスの選択を行えばよい。
又は、前述の（１）式のｗｉを重み決定モジュール１３０で算出してもよい。つまり、すべての切り出し位置を設定したうえで、（１）式を用いたパス評価値算出を行ってもよい。
なお、これまでの説明では、始点方向から終点方向にビタビ法の部分パス評価値を算出していく説明をしていたが、終点から始点に向かってもよいことは自明である。
【００３４】
図２は、本実施の形態を利用したシステム構成例についての概念的なモジュール構成図である。このシステムは、画像受付モジュール２１０、文字列抽出モジュール２２０、パス評価値決定モジュール１００、文字切り出しモジュール２４０、文字認識モジュール２５０を有している。
【００３５】
画像受付モジュール２１０は、文字列抽出モジュール２２０と接続されている。画像受付モジュール２１０は、画像を受け付けて、その画像を文字列抽出モジュール２２０へ渡す。画像を受け付けるとは、例えば、スキャナ、カメラ等で画像を読み込むこと、ファックス等で通信回線を介して外部機器から画像を受信すること、ハードディスク（コンピュータに内蔵されているものの他に、ネットワークを介して接続されているもの等を含む）等に記憶されている画像を読み出すこと等が含まれる。画像は、２値画像、多値画像（カラー画像を含む）であってもよい。受け付ける画像は、１枚であってもよいし、複数枚であってもよい。また、画像の内容として、文字列が含まれているのであれば、ビジネスに用いられる文書、広告宣伝用のパンフレット等であってもよい。
【００３６】
文字列抽出モジュール２２０は、画像受付モジュール２１０、パス評価値決定モジュール１００と接続されている。文字列抽出モジュール２２０は、画像受付モジュール２１０が受け付けた画像から文字列画像を抽出する。
パス評価値決定モジュール１００は、対象とする画像は横書きあるいは縦書きの、１列のみの文字列画像を対象としている。なお、ここで、列とは、横書きの場合は横に並ぶ列であり、縦書きの場合は縦に並ぶ列である。
文字列抽出モジュール２２０は、画像受付モジュール２１０が受け付けた画像が１列のみの文字列画像であれば、そのまま用いればよい。画像受付モジュール２１０が受け付けた画像が、複数の文字列が存在するものがあり、このような複数文字列を単一の文字列になるように分離する手法としては、従来よりさまざまものが提案されているため、それらを用いればよい。単一の文字列となるように分離する例としてもさまざまな方式があるため、そのうちのいずれかを用いればよい。例えば、（１）特開平４−３１１２８３号公報、（２）特開平３−２３３７８９号公報、（３）特開平５−７３７１８号公報、（４）特開２０００−９０１９４号公報、等を用いればよい。これ以外の方法であってもよい。
【００３７】
パス評価値決定モジュール１００は、文字列抽出モジュール２２０、文字切り出しモジュール２４０と接続されており、図１の例に示すようなモジュール構成である。
文字切り出しモジュール２４０は、パス評価値決定モジュール１００、文字認識モジュール２５０と接続されている。文字切り出しモジュール２４０は、パス評価値決定モジュール１００の加算モジュール１５０によって算出された値に基づいて、文字列画像から文字画像を切り出す。パス評価値決定モジュール１００によって決定されたパス評価値が最も大きいものであるパスの文字切り出し位置を採用して、文字列画像から文字画像を１文字ずつ切り出す。
文字認識モジュール２５０は、文字切り出しモジュール２４０と接続されている。文字切り出しモジュール２４０によって切り出された文字画像を文字認識する。なお、パス評価値決定モジュール１００内のアーク評価値決定モジュール１２０が文字認識を行った場合は、その文字認識結果のうち、文字切り出しモジュール２４０によって採用されたパスの文字認識結果を採用すればよい。
【００３８】
重み決定モジュール１３０の処理について、詳細に説明する。
＜Ａ１＞
図３は、重み付けの例を示す説明図である。
ここでは、図１８に例示した「化学」という文字列画像を対象として説明する。なお、重みは画素数とする。図３（ａ）、（ｂ）、（ｃ）に例示するように、「イ」の幅は１０画素、「ヒ」の幅は２０画素、「学」の幅は４０画素、「化」の幅は４０画素であるとする。また、文字セグメント間の空白の幅は１０画素であるとする。このとき、各パターンにおけるアーク評価値に対する重みは、図３（ｄ）から（ｇ）の例のようになる。つまり、文字切り出し位置決定モジュール１１０によって設定された位置の候補（以下、「切り出し位置候補」ともいう）によって定められる距離が重みとなっている。なお、切り出し位置候補によって定められる距離とは、この例の場合、隣り合う切り出し位置候補の間には１つの文字画像があるとして、その文字画像の外接矩形の幅である。また、切り出し位置候補によって定められる距離を、隣り合う切り出し位置候補間の距離としてもよい。
なお、図３（ｅ）の例に示す重みよりも、図３（ｆ）の例に示す重みが大きくなっているが、アーク評価値（「化」、「学」のそれぞれをひとつの文字とした場合の文字らしさ評価値と、「化学」をひとつの文字とした場合の文字らしさ評価値）によって、図３（ｅ）の例のパス評価値が高くなることが多い。
【００３９】
図４は、重み決定モジュール１３０内のモジュール構成例を示す説明図である。
重み決定モジュール１３０は、文字切り出し間距離算出モジュール４１０を有している。文字切り出し間距離算出モジュール４１０は、隣り合う切り出し位置候補の間にある１つの文字画像の外接矩形の幅に基づいて、重みを決定する。また、隣り合う切り出し位置候補間の距離に基づいて、重みを決定するようにしてもよい。
【００４０】
＜Ａ２＞
前述の＜Ａ１＞では、文字画像の外接矩形の幅又は隣り合う切り出し位置候補間の距離をそのまま、重みとした。この場合には、内部で空白の大きな文字が必要以上に大きな重みを持つことになってしまう。
例えば、図５に例示するように、文字切り出し間距離５１０の内部に大きな空白を持つ文字を選択してしまうと、この重みが必要以上に大きな値となってしまう。図５の例では、文字切り出し間距離５１０内の画像「１      １」を文字認識した結果が「い」となる場合がある。この場合の重みの値は大きくなるので、「１      １」をひとつの文字（つまり、文字認識結果が「い」）として選択されてしまうことがある。
又は、文字セグメントが重なっている場合には、必要以上に小さな重みになってしまう。図６の例のように、文字セグメントの外接矩形が重なってしまっている場合、二つに分割したほうが重みの値が大きくなってしまうため、「ＩＩ」（ローマ数字の２）ではなくて、「Ｉ」、「Ｉ」となってしまう可能性が高くなる。つまり、外接矩形幅６１０と外接矩形幅６２０の和は、文字切り出し間距離６３０より大きくなってしまうので、各文字セグメントの切り出し位置が文字切り出し位置として採用されてしまうことになってしまう可能性が高いことになる。
【００４１】
そこで、文字内部（隣り合う切り出し位置候補の間にある画像）の文字セグメントの外接矩形の大きさ（横書きの文字列画像を対象としている場合は幅、縦書き文字列画像を対象としている場合は高さ）に基づいて重みを決定する。
そして、文字内部に複数の文字セグメントがある場合は、その文字セグメントの外接矩形の大きさの和に基づいて重みを決定するようにしてもよい。
図７（ａ）、（ｂ）、（ｃ）に例示するように、「イ」の幅は１０画素、「ヒ」の幅は２０画素、「学」の幅は４０画素、「化」の幅は４０画素であるとする。また、文字セグメント間の空白の幅は１０画素であるとする。このとき、各パターンにおけるアーク評価値に対する重みは、図７（ｄ）から（ｇ）の例のようになる。つまり、文字セグメントの外接矩形の幅（文字セグメントが複数ある場合は、その和）が重みとなっている。
【００４２】
図８は、重み決定モジュール１３０内のモジュール構成例を示す説明図である。
重み決定モジュール１３０は、文字塊抽出モジュール８１０、文字塊幅算出モジュール８２０を有している。
文字塊抽出モジュール８１０は、文字塊幅算出モジュール８２０と接続されており、隣り合う切り出し位置候補の間にある文字セグメント（画素塊）を抽出する。例えば、４連結又は８連結の画素塊を文字セグメントとして抽出してもよい。また、横方向に文字のプロファイルをとる。すなわち、横方向に黒画素数のヒストグラムを算出する。そして、その黒画素ヒストグラムを用いて、文字セグメントを抽出するようにしてもよい。
文字塊幅算出モジュール８２０は、文字塊抽出モジュール８１０と接続されており、文字塊抽出モジュール８１０によって抽出された文字セグメントの外接矩形の大きさを算出して、重みを決定する。
【００４３】
次に、アーク評価値決定モジュール１２０について説明する。
＜第Ｂ１の実施の形態＞
図９は、第Ｂ１の実施の形態のアーク評価値決定モジュール１２０内の構成例についての概念的なモジュール構成図である。アーク評価値決定モジュール１２０は、線形重み付け加算モジュール９１０、非線形関数モジュール９２０を有している。線形重み付け加算モジュール９１０と非線形関数モジュール９２０は接続されている。
なお、線形重み付け加算モジュール９１０は、図示していないアーク特徴量抽出モジュールから特徴ベクトルとして、特徴量１〜Ｎ（画像内に存在する１つの文字画像を切り出す位置の候補に関する複数の特徴量）を受け取る。アーク特徴量抽出モジュールが抽出するアークの特徴量ベクトルの内容としては、文字らしさを評価するための特徴量であればよい。例えば、前述した文字の形状情報や、文字認識における認識確度等がある。また、文字を切り出した後に文字認識を行い、その文字認識確度をアークの特徴量の１つとして用いる場合の具体例に関して補足する。これは、特開平９−１８５６８１号公報に記載の技術では文字類似度として示していた量である。
文字認識確度としては、文字認識時に出力した文字コードの確信度合いあるいは尤度のようなものを得ることができればよい。このような文字認識確度を得る手法としても、従来よりさまざまな手法が提案されているため、そのうちのいずれかを用いればよい。例えば、特開平９−１８５６８１号公報の００２４段落に記載の方式、特開平８−１６１４３２号公報の００５１段落に記載の認識評価値取得方式等を用いてもよい。その他の手法を用いてもよい。
【００４４】
線形重み付け加算モジュール９１０は、アーク特徴量抽出モジュールから特徴ベクトルとして、特徴量１〜Ｎ（画像内に存在する１つの文字画像を切り出す位置の候補に関する複数の特徴量）を受け取り、重み付き線形和の計算処理を行う。その結果を非線形関数モジュール９２０へ渡す。
非線形関数モジュール９２０は、線形重み付け加算モジュール９１０から計算結果を引数として受け取り、その引数が極限の値の場合に予め定められた値に収束するようになる、又はその引数と予め定められた値との距離が大きくなると出力の傾きの絶対値が小さくなるようになる非線形単調関数又はその非線形単調関数に近似する関数によって、１つの文字画像を切り出す位置の候補の評価値（アーク評価値）を計算する。つまり、アーク評価関数によって計算する。
【００４５】
アーク評価値関数をＶ（ｆ）とすると、この構成の演算は、（２）式となる。入力特徴量ベクトルをｆ、重みベクトルをｗ、重みのスカラー値をｃとしている。σ（）は非線形関数である。なお、ここでの、重みは、（２）式における重みであり、（１）式における重みとは異なる。
【数２】
0005673033.tif 000003
【００４６】
このような構成を採ることによって、特徴量が極端に大きな（あるいは極端に小さな）値をとった場合の影響を少なくする。
図２２に示した例で、文字切り出しパターン２２０２の特徴量が１、文字切り出しパターン２２０４の特徴量が１０、文字切り出しパターン２２０６の特徴量が１、文字切り出しパターン２２１２の特徴量が１００、文字切り出しパターン２２２２の特徴量が１０、文字切り出しパターン２２１４の特徴量が１であるとする。このように、文字切り出しパターン２２１２の特徴量が１００となり、他の比べると特徴量が極端に大きな値となっている。ここで、非線形関数（線形重み付け加算モジュール９１０）の入出力を、例えば、下記のような場合について説明する。
入力：１      出力：１
入力：１０    出力：２
入力：１００  出力：３
このようにすると、
パス１：「化（文字切り出しパターン２２０４）」「学（文字切り出しパターン２２２２）」の場合のパス評価値は、２×２＋２＝６
パス２：「イ（文字切り出しパターン２２０６）」「ヒ（文字切り出しパターン２２１２）」「学（文字切り出しパターン２２２２）」の場合のパス評価値は、１＋３＋２＝６となって、値１００の影響を小さくすることができて、パス１とパス２の評価値が同程度の値となる。
【００４７】
非線形関数の例としては、ハイパーボリックタンジェント関数、ロジスティックシグモイド関数など、前述の「非線形関数条件」に合致するものであれば、どのような関数であってもよい。
【００４８】
第Ｂ１の実施の形態を実際に使用する場合には、線形重み付け加算モジュール９１０における重み（すなわち、ｗとｃ）を決定しなければならない。そのため、図１０の例に示すような教師用データテーブル１０００を用意する。
教師用データテーブル１０００は、データ番号欄１０１０、特徴量１欄１０２０、特徴量２欄１０３０、特徴量Ｎ欄１０８０、正解／非正解欄１０９０等を有している。データ番号欄１０１０は、アークを一意に識別するデータ番号を記憶する。例えば、各アークに対して個別のデータ番号を１から順に与えることにする。特徴量１欄１０２０から特徴量Ｎ欄１０８０は、アーク特徴量抽出モジュールが抽出した特徴量を記憶する。つまり、あるアークの特徴量をアーク特徴量抽出モジュールが抽出し、それを教師用データテーブル１０００の表の横に並べて入力する。さらに、そのアークが正解の文字の切れ目を表している場合には正解／非正解欄１０９０に例えば１と入力する。そのアークが正解の文字の切れ目を表していない場合には正解／非正解欄１０９０に例えば０と入力する。
【００４９】
以上のように作成したデータを教師データとして、特徴量を入力したときに、前述の正解／非正解データとできるだけ近い値を得ることができるように重みを決定すればよい。
できるだけ近い値の評価方法としては、以下のような手法がある。まず、各アークに番号を与えるデータ番号をｋとする。データ番号ｋのアークに対して、アーク評価値決定モジュール１２０を用いて算出したアーク評価値をＶｋとする。また、番号ｋのアークの教師データをｔｋとする。ここでは、例えば、
・正解のとき  ｔｋ＝１
・不正解のとき  ｔｋ＝０
とする。
このとき、（３）式を最小とするように重みを決定すればよい。
【数３】
0005673033.tif 000004
又は、（４）式を最小とするように重みを決定すればよい。
【数４】
0005673033.tif 000005
又は、（５）式を最小とするように重みを決定すればよい。
【数５】
0005673033.tif 000006
これらに限らず、Ｖｋとｔｋの値の差が小さいとき小さくなるような評価値を最小とするように重みを決定する方法であれば、どのようなものでもよい。
重み決定方式としては、一般的なロジスティック回帰の回帰係数決定方式や、単層パーセプトロンの重み決定方式を利用すればよい。
【００５０】
＜第Ｂ２の実施の形態＞
第Ｂ１の実施の形態では、非線形関数を単調関数としたため、出力のアーク評価値の大きさは変わるが、その相対的な順番を変えることはない。
第Ｂ２の実施の形態は、アーク評価値決定モジュール１２０が線形重み付け加算と非線形関数の組による処理を２度繰り返す構成を採る。
【００５１】
図１１は、第Ｂ２の実施の形態のアーク評価値決定モジュール１２０内の構成例についての概念的なモジュール構成図である。
アーク評価値決定モジュール１２０は、線形重み付け加算モジュール１−１：１１１１、線形重み付け加算モジュール１−２：１１１２、・・・、線形重み付け加算モジュール１−Ｍ：１１１Ｍ、非線形関数σ１−１モジュール１１２１、非線形関数σ１−２モジュール１１２２、・・・、非線形関数σ１−Ｍモジュール１１２Ｍ、線形重み付け加算モジュール２：１１３０、非線形関数σ２モジュール１１４０を有している。図１１において、複数の特徴量（特徴量１〜特徴量Ｎ）を特徴量ベクトルとして１本の線で記述している。
線形重み付け加算モジュール１−１：１１１１は、非線形関数σ１−１モジュール１１２１と接続されている。
線形重み付け加算モジュール１−２：１１１２は、非線形関数σ１−２モジュール１１２２と接続されている。
線形重み付け加算モジュール１−Ｍ：１１１Ｍは、非線形関数σ１−Ｍモジュール１１２Ｍと接続されている。
非線形関数σ１−１モジュール１１２１は、線形重み付け加算モジュール１−１：１１１１、線形重み付け加算モジュール２：１１３０と接続されている。
非線形関数σ１−２モジュール１１２２は、線形重み付け加算モジュール１−２：１１１２、線形重み付け加算モジュール２：１１３０と接続されている。
非線形関数σ１−Ｍモジュール１１２Ｍは、線形重み付け加算モジュール１−Ｍ：１１１Ｍ、線形重み付け加算モジュール２：１１３０と接続されている。
線形重み付け加算モジュール１−１：１１１１と非線形関数σ１−１モジュール１１２１の組み合わせ、線形重み付け加算モジュール１−２：１１１２と非線形関数σ１−２モジュール１１２２の組み合わせ、線形重み付け加算モジュール１−Ｍ：１１１Ｍと非線形関数σ１−Ｍモジュール１１２Ｍの組み合わせは、第Ｂ１の実施の形態における線形重み付け加算モジュール９１０と非線形関数モジュール９２０の組み合わせに該当する。
線形重み付け加算モジュール２：１１３０は、非線形関数σ１−１モジュール１１２１、非線形関数σ１−２モジュール１１２２、非線形関数σ１−Ｍモジュール１１２Ｍ、非線形関数σ２モジュール１１４０と接続されている。
非線形関数σ２モジュール１１４０は、線形重み付け加算モジュール２：１１３０と接続されている。
線形重み付け加算モジュール２：１１３０は第Ｂ１の実施の形態における線形重み付け加算モジュール９１０に該当し、非線形関数σ２モジュール１１４０は第Ｂ１の実施の形態における非線形関数モジュール９２０に該当する。
【００５２】
線形重み付け加算モジュール１−ｉと非線形関数σ１−ｉモジュールの組み合わせでは（ただし、ｉ＝１，２，…，Ｍ）、（６）式による演算を行って、出力値Ｕｉを得る。ｗ１−ｉ及びｃ１−ｉは、線形重み付け加算モジュール１−ｉで用いる重みである。なお、Ｍは、１段目の線形重み付け加算モジュールの数である。
【数６】
0005673033.tif 000007
さらに、（７）式に示すようにＵを定義する。
【数７】
0005673033.tif 000008
線形重み付け加算モジュール２：１１３０と非線形関数σ２モジュール１１４０の組み合わせでは、（８）式による演算を行って、出力値Ｖを得る。ｗ２及びｃ２は、線形重み付け加算モジュール２：１１３０で用いる重みである。
【数８】
0005673033.tif 000009
前述において、非線形関数σは非線形関数σ１−１モジュール１１２１等の関数σ１−ｉ（ただし、ｉ＝１，２，…，Ｍ）、及び関数σ２の複数存在している。これらの関数は同じであってもよいし、異なっていてもよい。典型的にはハイパーボリックタンジェント関数やロジスティックシグモイド関数などを共通に用いればよい。
第Ｂ２の実施の形態においては、その構成が３層のパーセプトロンと同等となる。そのため、正解アークと非正解アークが非線形な分離面を持っていても対応が可能となる。また、通常の誤差逆伝播方式を用いて重み係数を決定するようにしてもよい。その際の教師データとしては、図１０の例に示した教師用データテーブル１０００を用いればよい。第Ｂ２の実施の形態のアーク評価値決定モジュール１２０を用いて算出したアーク評価値ｙｉと教師データｔｉの値の差が小さいとき小さくなるような評価値の例も、第Ｂ１の実施の形態と同等である。
【００５３】
＜第Ｂ３の実施の形態＞
第Ｂ３の実施の形態は、アーク評価値決定モジュール１２０内で、第Ｂ２の実施の形態のアーク評価値決定モジュール１２０を複数用いて、その和を取るものである。
１つの推定器であるアーク評価値決定モジュール１２０の性能が悪くても、複数の推定器を用いることによって、性能を上げることが可能である。例えば、３つの推定器があるとする。そのうち、１つの推定器が不正解で、残り２つの推定器が正解であるとする。この３つの多数決を取って、正解のほうを採用することによって、正解の推定を行うことが可能となる。
本実施の形態の例では、多数決の演算を加算によって行う。
【００５４】
図１２は、第Ｂ３の実施の形態のアーク評価値決定モジュール１２０内の構成例についての概念的なモジュール構成図である。
アーク評価値決定モジュール１２０は、アーク評価値算出モジュール１：１２１１、アーク評価値算出モジュール２：１２１２、アーク評価値算出モジュールＫ：１２１Ｋ、アーク評価値加算モジュール１２２０を有している。
アーク評価値算出モジュール１：１２１１、アーク評価値算出モジュール２：１２１２、アーク評価値算出モジュールＫ：１２１Ｋは、それぞれアーク評価値加算モジュール１２２０と接続されている。
第Ｂ３の実施の形態では、複数のアーク評価値算出モジュール（アーク評価値算出モジュール１〜アーク評価値算出モジュールＫ）を用いる。アーク評価値算出モジュールｊの出力は、Ｖｊとする。
【００５５】
アーク評価値算出モジュールｊは、第Ｂ２の実施の形態のアーク評価値決定モジュール１２０と同等の構成を採る。
図１３は、第Ｂ３の実施の形態のアーク評価値算出モジュール内の構成例についての概念的なモジュール構成図である。
線形重み付け加算モジュールｊ−１−１：１３１１、線形重み付け加算モジュールｊ−１−２：１３１２、線形重み付け加算モジュールｊ−１−Ｍｊ：１３１Ｍ、非線形関数σｊ−１−１モジュール１３２１、非線形関数σｊ−１−２モジュール１３２２、非線形関数σｊ−１−Ｍｊモジュール１３２Ｍ、線形重み付け加算モジュールｊ−２：１３３０、非線形関数σｊ−２モジュール１３４０を有している。
線形重み付け加算モジュールｊ−１−１：１３１１は、非線形関数σｊ−１−１モジュール１３２１と接続されている。
線形重み付け加算モジュールｊ−１−２：１３１２は、非線形関数σｊ−１−２モジュール１３２２と接続されている。
線形重み付け加算モジュールｊ−１−Ｍｊ：１３１Ｍは、非線形関数σｊ−１−Ｍｊモジュール１３２Ｍと接続されている。
非線形関数σｊ−１−１モジュール１３２１は、線形重み付け加算モジュールｊ−１−１：１３１１、線形重み付け加算モジュールｊ−２：１３３０と接続されている。
非線形関数σｊ−１−２モジュール１３２２は、線形重み付け加算モジュールｊ−１−２：１３１２、線形重み付け加算モジュールｊ−２：１３３０と接続されている。
非線形関数σｊ−１−Ｍｊモジュール１３２Ｍは、線形重み付け加算モジュールｊ−１−Ｍｊ：１３１Ｍ、線形重み付け加算モジュールｊ−２：１３３０と接続されている。
線形重み付け加算モジュールｊ−２：１３３０は、非線形関数σｊ−１−１モジュール１３２１、非線形関数σｊ−１−２モジュール１３２２、非線形関数σｊ−１−Ｍｊモジュール１３２Ｍ、非線形関数σｊ−２モジュール１３４０と接続されている。
非線形関数σｊ−２モジュール１３４０は、線形重み付け加算モジュールｊ−２：１３３０と接続されている。
アーク評価値算出モジュールｊは、各構成要素に添え字ｊが付与されていることを除いて、第Ｂ２の実施の形態と動作は同等である。以下、動作を示す。線形重み付け加算器ｊ−１−ｉと非線形関数σｊ−１−ｉの組み合わせでは（ただし、ｉ＝１，２，…，Ｍｊ）、（９）式による演算を行って、出力値Ｕｊ−ｉを得る。ｗｊ−１−ｉ及びｃｊ−１−ｉは、線形重み付け加算モジュールｊ−１−ｉが用いる重みである。Ｍｊは、１段目の線形重み付け加算モジュールの数である。
【数９】
0005673033.tif 000010
さらに、（１０）式に示すようにＵを定義する。
【数１０】
0005673033.tif 000011
線形重み付け加算モジュールｊ−２と非線形関数σｊ−２モジュールの組み合わせでは、（１１）式による演算を行って、出力値Ｖｊを得る。ｗｊ−２及びｃｊ−２は、線形重み付け加算モジュールｊ−２が用いる重みである。
【数１１】
0005673033.tif 000012
アーク評価値加算モジュール１２２０では、アーク評価値算出モジュール１：１２１１、アーク評価値算出モジュール２：１２１２、・・・、アーク評価値算出モジュールＫ：１２１Ｋによって計算されたアーク評価値の和を計算する。具体的には、例えば、（１２）式を用いて、アーク評価値Ｖを算出する。
【数１２】
0005673033.tif 000013
このＶが、第Ｂ３の実施の形態のアーク評価値決定モジュール１２０がアーク重み量乗算モジュール１４０へ渡すアーク評価値である。
【００５６】
第Ｂ３の実施の形態においては、重みｗｊ−１−ｉ、ｃｊ−１−ｉ、ｗｊ−２及びｃｊ−２を決定する必要がある。ただし、ｉ＝１，２，…，Ｍｊ、ｊ＝１，２，…，Ｋである。
前記の重み決定方法としては、文献「Ｊ．  Ｆｒｉｅｄｍａｎ，  Ｔ．  Ｈａｓｔｉｅ，  Ｒ．  Ｔｉｂｓｈｉｒａｎｉ著  “Ａｄｄｉｔｉｖｅ  Ｌｏｇｉｓｔｉｃ  Ｒｅｇｒｅｓｓｉｏｎ：  ａ  Ｓｔａｔｉｓｔｉｃａｌ  Ｖｉｅｗ  ｏｆ  Ｂｏｏｓｔｉｎｇ”、Ａｎｎａｌｓ  ｏｆ  Ｓｔａｔｉｓｔｉｃｓ、Ｖｏｌ．  ２８，  Ｎｏ．  ２，  ｐｐ．  ３３７−４０７，  ２０００」に記載のジェントルアダブースト方式と呼ばれる方式を用いるようにしてもよい。
以下、ここでは、説明の都合上、非線形関数σとして、例えば、入力がマイナス無限大で０、プラス無限大で１になる関数を用いることとする。実際にはマイナス無限大やプラス無限大で収束する値に応じて線形変換を行えば、入力がマイナス無限大で−１、プラス無限大で１になる関数などに変更してもよい。
次に、教師用データとして、図１４の例に示す教師用データテーブル１４００を用意する。教師用データテーブル１４００は、データ番号欄１４１０、特徴量１欄１４２０、特徴量２欄１４３０、特徴量Ｎ欄１４７０、正解／非正解欄１４８０、ウエイト欄１４９０等を有している。これは、図１０の例に示す教師用データテーブル１０００にウエイト欄１４９０を追加したものである。ここで、「ウエイト」と「重み」は、意味的には同じである。しかし、これまで、線形重み付け加算モジュールにおける係数に対して「重み」という用語を用いていたため、その用語と区別をするため、教師データの重みに関しては「ウエイト」という用語を用いることとする。また、データの量をＧとする。
【００５７】
さらに、以下に示す手法を用いて重みを決定していく。
ここで、データ番号ｋに対して、正解／非正解を表す記号をｙｋとする。第Ｂ３の実施の形態においては、例えば、
・正解のとき  ｙｋ＝＋１
・不正解のとき  ｙｋ＝−１
とする。
さらに、非線形関数σとして、ロジスティックシグモイド関数を採用する。このとき、Ｖｊは０〜１までの値を取る。
１．まず、図１４の例に示した教師用データテーブル１４００内のデータのウエイトを全て等しく１／Ｇとする。
２．ｊ＝１とする。
（ア）各教師データのウエイトを用いて、その重み付け２乗誤差を最小とするように、アーク評価値算出モジュールｊの重みを決定する。決定方法は、第Ｂ２の実施の形態の説明で記載したものと同等である。通常は単なる２乗誤差を最小化するように重みを決定するのに対して、ウエイトで重み付けした重み付け２乗誤差を最小とするように重みを決定する点が異なる。
つまり、第Ｂ１の実施の形態又は第Ｂ２の実施の形態では、（１３）式を最小とするように重みを決定していたのに対し、ここでは、（１４）式を最小とするように重みを決定する。ただし、ここで、ｔｋ＝（ｙｋ＋１）／２の関係がある。
【数１３】
0005673033.tif 000014
【数１４】
0005673033.tif 000015
（イ）教師データのウエイトを更新する。
（イ−１）ｋ番目のデータに対するアーク評価値をＶｊｋとする。
（イ−２）ウエイトを（１５）式で更新する。これは、アーク評価値の推定が間違ったデータのウエイトを大きくして、合っていたデータのウエイトを小さくする操作を示している。
【数１５】
0005673033.tif 000016
（ウ）もしｊが所定の値以上になっているか、あるいは、評価値推定精度が十分であれば終了する。
（エ）ｊを１増大させて、（ア）に戻る。
【００５８】
前記（ア）では、２乗誤差を最小としているが、第Ｂ１の実施の形態の説明でも述べたように、（４）式、（５）式その他の評価値を最小としてもよい。その場合のウエイトのつけ方も同等であり、各ｋに対してａｋを乗じればよい。具体的には（１６）式のようになる。この（１６）式を最小とするように重みを決定すればよい。
【数１６】
0005673033.tif 000017
又は、（１７）式を最小とするように重みを決定すればよい。
【数１７】
0005673033.tif 000018
【００５９】
前述では、非線形関数σとして、ロジスティックシグモイド関数を採用する。このとき、Ｖｊは０〜１までの値を取るため、２Ｖｊｋ−１の計算を行った。これは値域を−１〜＋１の範囲に変更するためである。この変更は単に線形変換を行っているにすぎない。他の非線形関数を用いる場合においても、単に値域を−１〜＋１の範囲にするように線形変換を行えばよい。
【００６０】
また、前述では、各アーク評価値算出モジュール（アーク評価値算出モジュール１：１２１１、アーク評価値算出モジュール２：１２１２、・・・、アーク評価値算出モジュールＫ：１２１Ｋ）に入力する特徴量ベクトルを同じものとしていたが、その内容を異なるものにしてもよい。
すなわち、
・アーク評価値算出モジュール１の入力を、文字セグメント外接矩形の高さのみとする。
・アーク評価値算出モジュール２の入力を、全ての特徴量とする。
・アーク評価値算出モジュール３の入力を、文字セグメント外接矩形の幅のみとする。
・  …
等としてもよい。
【００６１】
また、前述では、各アーク評価値算出器の構成は第Ｂ２の実施の形態のアーク評価値決定モジュール１２０の構成（図１１の例参照）としていたが、第Ｂ１の実施の形態のアーク評価値決定モジュール１２０の構成（図９の例参照）を混在させて含んでもよいし、全てが第Ｂ１の実施の形態のアーク評価値決定モジュール１２０の構成であってもよい。すなわち、
・アーク評価値算出器１が第Ｂ２の実施の形態のアーク評価値決定モジュール１２０の構成
・アーク評価値算出器２が第Ｂ１の実施の形態のアーク評価値決定モジュール１２０の構成
・アーク評価値算出器３が第Ｂ２の実施の形態のアーク評価値決定モジュール１２０の構成
・  …
としてもよいし、
・アーク評価値算出器１が第Ｂ１の実施の形態のアーク評価値決定モジュール１２０の構成
・アーク評価値算出器２が第Ｂ１の実施の形態のアーク評価値決定モジュール１２０の構成
・アーク評価値算出器３が第Ｂ１の実施の形態のアーク評価値決定モジュール１２０の構成
・  …
としてもよいし、
・アーク評価値算出器１が第Ｂ２の実施の形態のアーク評価値決定モジュール１２０の構成
・アーク評価値算出器２が第Ｂ２の実施の形態のアーク評価値決定モジュール１２０の構成
・アーク評価値算出器３が第Ｂ２の実施の形態のアーク評価値決定モジュール１２０の構成
・  …
としてもよい。
【００６２】
＜第Ｂ４の実施の形態＞
前述の第Ｂ１の実施の形態〜第Ｂ３の実施の形態では、アーク評価値決定モジュール１２０において、アーク評価値を推定していることになる。
推定するアーク評価値の教師データとしては、例えば、そのアークが文字の正解切り出し位置に相当している場合は１として、不正解切り出し位置に相当している場合は０としていた。
その場合、以下の２通りの最適化（重み決定）となっていることになる。
・クラス０とクラス１の２クラス分類問題として、クラス分類の誤りができるだけ小さくなるように重みを決定する。
・０〜１の間に存在する推定値と、教師データ（０又は１）との２乗誤差（絶対値誤差、クロスエントロピー等の誤差を示すような評価値であってもよい）を最小化するように重みを決定する。
【００６３】
しかし、アーク評価値が不正確であっても、文字切り出し位置が正確であればよい。逆に、アーク評価値が正確であったとしても、文字切り出し位置が不正確ではいけない。
アーク評価値と、文字切り出し位置の正確さは、複雑な関係になっており、単調な関係ではない。図１５に、アーク候補決定モジュール１５１０、アーク評価値決定モジュール１５２０、文字切り出し位置決定モジュール１５３０の関係例を示す。
アーク候補決定モジュール１５１０は、アーク評価値決定モジュール１５２０と接続されている。
アーク評価値決定モジュール１５２０は、アーク候補決定モジュール１５１０、文字切り出し位置決定モジュール１５３０と接続されている。
文字切り出し位置決定モジュール１５３０は、アーク評価値決定モジュール１５２０と接続されている。
文字認識の処理において、まずアーク候補決定モジュール１５１０において、画像を受け付け、前述したように複数のアーク候補が抽出される。さらに、アーク評価値決定モジュール１５２０において、アークの評価値が決定され、文字切り出し位置決定モジュール１５３０において、複数のアーク候補の集合としての複数のパスの中から、最適なパスを選択されることによって、文字切り出し位置が確定する。なお、図１、図２の例に示したモジュール構成と比較すると、アーク候補決定モジュール１５１０は画像受付モジュール２１０、文字列抽出モジュール２２０、パス評価値決定モジュール１００内の文字切り出し位置設定モジュール１１０、パス評価値決定モジュール１００内の図示していないアーク特徴量抽出モジュールに該当し、アーク評価値決定モジュール１５２０はアーク評価値決定モジュール１２０に該当し、文字切り出し位置決定モジュール１５３０はパス評価値決定モジュール１００内のアーク重み量乗算モジュール１４０、パス評価値決定モジュール１００内の重み決定モジュール１３０、パス評価値決定モジュール１００内の加算モジュール１５０、文字切り出しモジュール２４０に該当する。
第Ｂ１の実施の形態〜第Ｂ３の実施の形態では、アーク評価値決定モジュール１２０におけるアーク評価値決定を、アークの中だけを参照して行っていたが、第Ｂ４の実施の形態では、アーク評価値決定モジュール１５２０で用いられる重みを決定する例を示す。
以下、アーク評価値決定モジュール１５２０の構成は、第Ｂ１の実施の形態〜第Ｂ３の実施の形態の説明で述べたもののいずれかであるとする。
【００６４】
第Ｂ４の実施の形態は、第Ｂ１の実施の形態〜第Ｂ３の実施の形態の重みを決定する方法に関するものである。アーク評価値決定モジュール１５２０の構成は第Ｂ１の実施の形態〜第Ｂ３の実施の形態の例で示したアーク評価値決定モジュール１２０である。
図１６は、第Ｂ４の実施の形態の構成例についての概念的なモジュール構成図である。
第Ｂ４の実施の形態の画像処理装置は、図１６の例に示すように、アーク候補決定モジュール１６１０、重み変更モジュール１６２０、アーク評価値決定モジュール１６３０、文字切り出し位置決定モジュール１６４０、切り出し位置正解個数算出モジュール１６５０を有している。なお、アーク候補決定モジュール１６１０は図１５の例に示したアーク候補決定モジュール１５１０に該当し、アーク評価値決定モジュール１６３０は図１５の例に示したアーク評価値決定モジュール１５２０に該当し、文字切り出し位置決定モジュール１６４０は図１５の例に示した文字切り出し位置決定モジュール１５３０に該当する。
【００６５】
アーク候補決定モジュール１６１０は、アーク評価値決定モジュール１６３０と接続されており、画像を受け付け、アーク候補を決定する。
重み変更モジュール１６２０は、アーク評価値決定モジュール１６３０、切り出し位置正解個数算出モジュール１６５０と接続されており、切り出し位置正解個数算出モジュール１６５０によって算出された切り出し位置の正解個数に基づいて、１文字分の文字切り出し位置におけるアーク評価値決定モジュール１６３０で用いる重みを変更する。そして、現在の重みでの場合の正解個数から変更後の重みでの正解個数への変更量から次の重みを決定する。
【００６６】
アーク評価値決定モジュール１６３０は、アーク候補決定モジュール１６１０、重み変更モジュール１６２０、文字切り出し位置決定モジュール１６４０と接続されており、アーク候補決定モジュール１６１０からのアーク候補を受け取り、重み変更モジュール１６２０からの重みを用いて、アーク評価値を決定する。
文字切り出し位置決定モジュール１６４０は、アーク評価値決定モジュール１６３０、切り出し位置正解個数算出モジュール１６５０と接続されており、アーク評価値決定モジュール１６３０からのアーク評価値に基づいて、画像内に存在する文字画像を切り出す位置を決定し、その決定された切り出し位置を切り出し位置正解個数算出モジュール１６５０へ渡す。
切り出し位置正解個数算出モジュール１６５０は、重み変更モジュール１６２０、文字切り出し位置決定モジュール１６４０と接続されており、文字切り出し位置決定モジュール１６４０から切り出し位置と文字画像を切り出す位置の教師データを受け付け、文字切り出し位置決定モジュール１６４０からの切り出し位置と教師データを比較して、切り出し位置の正解個数を算出する。
【００６７】
次に処理の流れを説明する。
まず、アーク候補決定モジュール１６１０は画像を受け付け、アーク候補を決定する。
アーク評価値決定モジュール１６３０が用いる初期の重みは、乱数であってもよいし、第Ｂ１の実施の形態〜第Ｂ３の実施の形態の説明に記載した手法で定めた重みであってもよい。いずれにせよ、重み変更モジュール１６２０では、初期の重みを保持する。
次に、アーク評価値決定モジュール１６３０はアーク評価値を決定する。そして、文字切り出し位置決定モジュール１６４０が、そのアーク評価値を用いて、文字切り出し位置を決定する。
決定後の文字切り出し位置は、切り出し位置正解個数算出モジュール１６５０に渡される。それとは別に、文字切り出し教師データが切り出し位置正解個数算出モジュール１６５０に入力される。
ここで、文字切り出し結果とは、例えば、画像中の文字の外接矩形の位置、サイズと、文字コードのペアからなっている。文字切り出し教師データも同様である。
切り出し位置正解個数算出モジュール１６５０では、
・教師文字：文字切り出し教師データ内に存在する、複数の文字（外接矩形の位置、サイズと、文字コードを持っている）
と、
・推定文字：文字切り出し位置決定モジュール１６４０で決定した文字
との比較を行う。
教師文字と推定文字の文字切り出し位置、サイズと文字コードが一致した個数を、切り出し位置正解個数算出モジュール１６５０では算出する。ここで、文字切り出し位置、サイズの一致の判定に関しては、微小なずれを許容するようにしてもよい。なお、文字コードの一致を判定せずに、文字切り出し位置、サイズの一致だけを判定してもよい。
【００６８】
以上のように判定した正解個数が、重み変更モジュール１６２０に渡される。
重み変更モジュール１６２０では、正解個数と、重み変更モジュール１６２０内で保持している過去の重みを用いて、次の重みを決定する。
ここで、アーク評価値決定モジュール１６３０で用いる重み（すなわち全てのｗやｃ）を並べた重みベクトルをＷとする。Ｗの要素を（Ｗ１，Ｗ２，…）とする。
また、初期重みをＷ０とする。次の重みをＷ１とする。このように次々に重みを更新していく。正解個数が増加しなくなった時点や、正解個数の増加率が所定の値以下になった時点、又は、繰り返し回数が予め定められた回数となった時点で重み変更の処理を終了して、その時点の重みをアーク評価値決定モジュール１６３０に出力する。
【００６９】
次に、重み変更モジュール１６２０の処理の詳細を説明する。
まず、文字切り出し正解個数をＡとする。Ａは、Ｗの関数である。すなわち、Ａ（Ｗ）と記すことができる。Ａを最大化するようにＷを決定すればよい。さて、現在の重みをＷｍとする。また、変更後の重みをＷｍ＋１とする。
重みの更新式は、（１８）式となる。
【数１８】
0005673033.tif 000019
ここでαは重み更新の速度を規定するパラメタである。∇は、（１９）式を示す演算子である。
【数１９】
0005673033.tif 000020
∇Ａは、Ｗｍを変更したときのＡの変化量を示す。この変化の方向にＷを動かせばＡを増大させることができる。
【００７０】
ただし、関数Ａ（Ｗ）の内容が不明であるため、∇Ａを解析的に計算することは不可能である。そこで、適当なεを定めて、（２０）式又は（２１）式として、数値演算的に∇Ａを計算する。
【数２０】
0005673033.tif 000021
【数２１】
0005673033.tif 000022
又は、重みの更新の別の方法として下記の方法を用いる。ランダム、網羅的、又は予め定められたアルゴリズムを用いて更新量ｄＷを設定して、（２２）式とする。
【数２２】
0005673033.tif 000023
このＷｍ＋１を用いて、（２３）式の関係を有しているならば、ＷをＷｍ＋１に更新する。（２３）式の関係を有していなければ、更新せずに、次のｄＷを試す。
【数２３】
0005673033.tif 000024
以上で、正解個数を最大化する。
【００７１】
前述の説明では、正解個数を最大化していたが、誤り個数を最小化してもよい。又は、誤り率（すなわち、誤り個数／正解個数、又は誤り個数／（誤り個数＋正解個数））を最小化してもよい。又は正解率（すなわち、正解個数／誤り個数、又は正解個数／（誤り個数＋正解個数））を最大化してもよい。つまり、正解個数又は誤り個数に基づいた値として、正解個数、誤り個数、正解率、誤り率がある。
【００７２】
なお、第Ｂ１の実施の形態から第Ｂ４の実施の形態は、次のような発明として把握してもよい。
＜＜１＞＞
画像内に存在する１つの文字画像を切り出す位置の候補に関する複数の特徴量に対して、重み付き線形和を計算する第１の計算手段と、
前記第１の計算手段による計算結果を引数として、該引数が極限の値の場合に予め定められた値に収束するようになる、又は該引数と予め定められた値との距離が大きくなると出力の傾きの絶対値が小さくなるようになる非線形単調関数又は該非線形単調関数に近似する関数によって、前記１つの文字画像を切り出す位置の候補の評価値を計算する第２の計算手段と、
前記第２の計算手段によって計算された評価値に基づいて、前記画像内に存在する文字画像を切り出す位置を決定する切出位置決定手段
を具備することを特徴とする画像処理装置。
＜＜１＞＞の画像処理装置によれば、画像内に存在する文字画像を切り出す位置を決定する場合にあって、切り出す位置の候補の評価値が特異の値となった場合に、その特異な評価値だけによって切り出す位置が決定されてしまうことを防ぐことができる。
【００７３】
＜＜２＞＞
＜＜１＞＞に記載の前記第１の計算手段と前記第２の計算手段による組を複数有し、
前記複数の第２の計算手段によって計算された評価値に対して、重み付き線形和を計算する第３の計算手段と、
前記第３の計算手段による計算結果を引数として、該引数が極限の値の場合に予め定められた値に収束するようになる、又は該引数と予め定められた値との距離が大きくなると出力の傾きの絶対値が小さくなるようになる非線形単調関数又は該非線形単調関数に近似する関数によって、前記１つの文字画像を切り出す位置の候補の評価値を計算する第４の計算手段
を具備し、
前記切出位置決定手段は、前記第４の計算手段によって計算された評価値に基づいて、前記画像内に存在する文字画像を切り出す位置を決定する
ことを特徴とする＜＜１＞＞に記載の画像処理装置。
＜＜２＞＞の画像処理装置によれば、本構成を有していない場合に比較して、画像内に存在する文字画像を切り出す位置を精度よく決定することができる。
【００７４】
＜＜３＞＞
＜＜１＞＞に記載の前記第１の計算手段と前記第２の計算手段による組を複数有し、
前記複数の第２の計算手段によって計算された評価値の和を計算する第５の計算手段
を具備し、
前記切出位置決定手段は、前記第５の計算手段によって計算された評価値の和に基づいて、前記画像内に存在する文字画像を切り出す位置を決定する
ことを特徴とする＜＜１＞＞に記載の画像処理装置。
＜＜３＞＞の画像処理装置によれば、本構成を有していない場合に比較して、画像内に存在する文字画像を切り出す位置を精度よく決定することができる。
【００７５】
＜＜４＞＞
＜＜２＞＞に記載の前記第１の計算手段と前記第２の計算手段による複数の組と、前記第３の計算手段と前記第４の計算手段による組を複数有し、
前記複数の第４の計算手段によって計算された評価値の和を計算する第６の計算手段
を具備し、
前記切出位置決定手段は、前記第６の計算手段によって計算された評価値の和に基づいて、前記画像内に存在する文字画像を切り出す位置を決定する
ことを特徴とする＜＜２＞＞に記載の画像処理装置。
＜＜４＞＞の画像処理装置によれば、本構成を有していない場合に比較して、画像内に存在する文字画像を切り出す位置を精度よく決定することができる。
【００７６】
＜＜５＞＞
＜＜１＞＞に記載の前記第２の計算手段によって計算された評価値、＜＜２＞＞に記載の前記第４の計算手段によって計算された評価値、＜＜３＞＞に記載の前記第５の計算手段によって計算された評価値の和、又は＜＜４＞＞に記載の前記第６の計算手段によって計算された評価値の和に基づいて、画像内に存在する文字画像を切り出す位置を決定する切出位置決定手段と、
文字画像の切り出し位置の教師データを受け付ける受付手段と、
前記切出位置決定手段によって決定された切り出し位置と前記受付手段によって受け付けられた教師データを比較して、切り出し位置の正解個数又は誤り個数を算出する個数算出手段と、
前記個数算出手段によって算出された切り出し位置の正解個数又は誤り個数に基づいて、１文字分の文字切り出し位置における＜＜１＞＞に記載の前記第１の計算手段、又は＜＜２＞＞に記載の前記第３の計算手段で用いる重みを変更する重み変更手段
を具備し、
前記重み変更手段は、現在の重みでの場合の正解個数又は誤り個数に基づいた値から変更後の重みでの正解個数又は誤り個数に基づいた値への変更量から次の重みを決定する
ことを特徴とする＜＜１＞＞から＜＜４＞＞のいずれか一項に記載の画像処理装置。
＜＜５＞＞の画像処理装置によれば、画像内に存在する文字画像を切り出す位置を決定する場合にあって、評価値を計算するために利用する重みを決定することができる。
【００７７】
＜＜６＞＞
コンピュータを、
画像内に存在する１つの文字画像を切り出す位置の候補に関する複数の特徴量に対して、重み付き線形和を計算する第１の計算手段と、
前記第１の計算手段による計算結果を引数として、該引数が極限の値の場合に予め定められた値に収束するようになる、又は該引数と予め定められた値との距離が大きくなると出力の傾きの絶対値が小さくなるようになる非線形単調関数又は該非線形単調関数に近似する関数によって、前記１つの文字画像を切り出す位置の候補の評価値を計算する第２の計算手段と、
前記第２の計算手段によって計算された評価値に基づいて、前記画像内に存在する文字画像を切り出す位置を決定する切出位置決定手段
として機能させることを特徴とする画像処理プログラム。
＜＜６＞＞の画像処理プログラムによれば、画像内に存在する文字画像を切り出す位置を決定する場合にあって、切り出す位置の候補の評価値が特異の値となった場合に、その特異な評価値だけによって切り出す位置が決定されてしまうことを防ぐことができる。
【００７８】
図１７を参照して、本実施の形態の画像処理装置のハードウェア構成例について説明する。図１７に示す構成は、例えばパーソナルコンピュータ（ＰＣ）などによって構成されるものであり、スキャナ等のデータ読み取り部１７１７と、プリンタなどのデータ出力部１７１８を備えたハードウェア構成例を示している。
【００７９】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１７０１は、前述の実施の形態において説明した各種のモジュール、すなわち、パス評価値決定モジュール１００、文字切り出し位置決定モジュール１１０、アーク評価値決定モジュール１２０、重み決定モジュール１３０、アーク重み量乗算モジュール１４０、加算モジュール１５０、画像受付モジュール２１０、文字列抽出モジュール２２０、文字切り出しモジュール２４０、文字認識モジュール２５０、文字切り出し間距離算出モジュール４１０、文字塊抽出モジュール８１０、文字塊幅算出モジュール８２０、線形重み付け加算モジュール９１０、非線形関数モジュール９２０等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【００８０】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１７０２は、ＣＰＵ１７０１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１７０３は、ＣＰＵ１７０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバスなどから構成されるホストバス１７０４により相互に接続されている。
【００８１】
ホストバス１７０４は、ブリッジ１７０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス１７０６に接続されている。
【００８２】
キーボード１７０８、マウス等のポインティングデバイス１７０９は、操作者により操作される入力デバイスである。ディスプレイ１７１０は、液晶表示装置又はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）などがあり、各種情報をテキストやイメージ情報として表示する。
【００８３】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１７１１は、ハードディスクを内蔵し、ハードディスクを駆動し、ＣＰＵ１７０１によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、画像、文字列画像、グラフデータ、重み、アーク評価値、パス評価値などが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【００８４】
ドライブ１７１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体１７１３に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース１７０７、外部バス１７０６、ブリッジ１７０５、及びホストバス１７０４を介して接続されているＲＡＭ１７０３に供給する。リムーバブル記録媒体１７１３も、ハードディスクと同様のデータ記録領域として利用可能である。
【００８５】
接続ポート１７１４は、外部接続機器１７１５を接続するポートであり、ＵＳＢ、ＩＥＥＥ１３９４等の接続部を持つ。接続ポート１７１４は、インタフェース１７０７、及び外部バス１７０６、ブリッジ１７０５、ホストバス１７０４等を介してＣＰＵ１７０１等に接続されている。通信部１７１６は、ネットワークに接続され、外部とのデータ通信処理を実行する。データ読み取り部１７１７は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部１７１８は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【００８６】
なお、図１７に示す画像処理装置のハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図１７に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図１７に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）などに組み込まれていてもよい。
【００８７】
前述の実施の形態においては、横書きの場合を主に例示して説明したが、縦書きの場合は幅の代わりに高さを用いる。縦書きであれば、「横」を「縦」、「幅」を「高さ」等の読み替えを行えばよい。
また、収縮演算等を行って、ノイズを除去してから、外接矩形の大きさ（幅、高さ）を算出してもよい。
また、距離、大きさ（幅、高さ）の数値としては、画素数の他に、実際の長さ（ｍ、ｃｍ、ｍｍ、ｉｎｃｈ等）を用いてもよい。
なお、前述の各種の実施の形態を組み合わせてもよく（例えば、ある実施の形態内のモジュールを他の実施の形態内に追加する、入れ替えをする等も含む）、また、各モジュールの処理内容として背景技術で説明した技術を採用してもよい。
なお、数式を用いて説明したが、数式には、その数式と同等のものが含まれる。同等のものとは、その数式そのものの他に、最終的な結果に影響を及ぼさない程度の数式の変形、又は数式をアルゴリズミックな解法で解くこと等が含まれる。
【００８８】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ（登録商標））、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００８９】
１００…パス評価値決定モジュール
１１０…文字切り出し位置決定モジュール
１２０…アーク評価値決定モジュール
１３０…重み決定モジュール
１４０…アーク重み量乗算モジュール
１５０…加算モジュール
２１０…画像受付モジュール
２２０…文字列抽出モジュール
２４０…文字切り出しモジュール
２５０…文字認識モジュール
４１０…文字切り出し間距離算出モジュール
８１０…文字塊抽出モジュール
８２０…文字塊幅算出モジュール
９１０…線形重み付け加算モジュール
９２０…非線形関数モジュール
１１１１…線形重み付け加算モジュール１−１
１１１２…線形重み付け加算モジュール１−２
１１２１…非線形関数σ１−１モジュール
１１２２…非線形関数σ１−２モジュール
１１３０…線形重み付け加算モジュール２
１１４０…非線形関数σ２モジュール
１１１Ｍ…線形重み付け加算モジュール１−Ｍ
１１２Ｍ…非線形関数σ１−Ｍモジュール
１２１１…アーク評価値算出モジュール１
１２１２…アーク評価値算出モジュール２
１２１Ｋ…アーク評価値算出モジュールＫ
１２２０…アーク評価値加算モジュール
１３１１…線形重み付け加算モジュールｊ−１−１
１３１２…線形重み付け加算モジュールｊ−１−２
１３１Ｍ…線形重み付け加算モジュールｊ−１−Ｍｊ
１３２１…非線形関数σｊ−１−１モジュール
１３２２…非線形関数σｊ−１−２モジュール
１３２Ｍ…非線形関数σｊ−１−Ｍｊモジュール
１３３０…線形重み付け加算モジュールｊ−２
１３４０…非線形関数σｊ−２モジュール
１５１０…アーク候補決定モジュール
１５２０…アーク評価値決定モジュール
１５３０…文字切り出し位置決定モジュール
１６１０…アーク候補決定モジュール
１６２０…重み変更モジュール
１６３０…アーク評価値決定モジュール
１６４０…文字切り出し位置決定モジュール
１６５０…切り出し位置正解個数算出モジュール
【図１】
0005673033.tif 000025
【図２】
0005673033.tif 000026
【図３】
0005673033.tif 000027
【図４】
0005673033.tif 000028
【図５】
0005673033.tif 000029
【図６】
0005673033.tif 000030
【図７】
0005673033.tif 000031
【図８】
0005673033.tif 000032
【図９】
0005673033.tif 000033
【図１０】
0005673033.tif 000034
【図１１】
0005673033.tif 000035
【図１２】
0005673033.tif 000036
【図１３】
0005673033.tif 000037
【図１４】
0005673033.tif 000038
【図１５】
0005673033.tif 000039
【図１６】
0005673033.tif 000040
【図１７】
0005673033.tif 000041
【図１８】
0005673033.tif 000042
【図１９】
0005673033.tif 000043
【図２０】
0005673033.tif 000044
【図２１】
0005673033.tif 000045
【図２２】
0005673033.tif 000046
【図２３】
0005673033.tif 000047
【図２４】
0005673033.tif 000048
【図２５】
0005673033.tif 000049