(57)【特許請求の範囲】
【請求項１】
認識対象の文字を含む画像を入力する画像入力手段と、
前記画像における、前記文字が存在する領域である文字領域を検出する文字領域検出手段と、
前記文字領域を一文字単位で分割する文字領域分割手段と、
前記文字領域分割手段が分割した分割領域に存在する前記文字に対して、一文字ごとの文字認識処理を行い、一文字に付き１つ以上の文字認識処理結果の候補を出力する文字認識手段と、
前記候補を入力し、前記候補への遷移に対する重み値を計算し、前記候補および前記重み値の組に基づく文字列遷移データである第１文字列遷移データを作成する第１文字列遷移データ作成手段と、
前記第１文字列遷移データに基づき状態遷移を順次行い、各状態遷移における重み値を累積して状態遷移ごとの累積重み値を算出し、一つ以上の前記状態遷移の結果を前記累積重み値に基づき出力する有限状態変換手段と、
を備え、
ユーザからキーワードを入力し、前記キーワードの文字列遷移データである第２文字列遷移データを作成する第２文字列遷移データ作成手段を更に備え、
前記有限状態変換手段は、前記第１文字列遷移データおよび前記第２文字列遷移データに対して合成演算を行うことにより、前記画像に前記キーワードが存在するか否かを判定する、
ことを特徴とする文字認識装置。
【請求項２】
認識対象の文字を含む画像を入力する画像入力手段と、
前記画像における、前記文字が存在する領域である文字領域を検出する文字領域検出手段と、
前記文字領域を一文字単位で分割する文字領域分割手段と、
前記文字領域分割手段が分割した分割領域に存在する前記文字に対して、一文字ごとの文字認識処理を行い、一文字に付き１つ以上の文字認識処理結果の候補を出力する文字認識手段と、
前記候補を入力し、前記候補への遷移に対する重み値を計算し、前記候補および前記重み値の組に基づく文字列遷移データである第１文字列遷移データを作成する第１文字列遷移データ作成手段と、
前記第１文字列遷移データに基づき状態遷移を順次行い、各状態遷移における重み値を累積して状態遷移ごとの累積重み値を算出し、一つ以上の前記状態遷移の結果を前記累積重み値に基づき出力する有限状態変換手段と、
を備え、
語彙データベースに存在する各語彙の文字列遷移データである第３文字列遷移データを作成する第３文字列遷移データ作成手段を更に備え、
前記有限状態変換手段は、前記第１文字列遷移データおよび前記第３文字列遷移データに対して合成演算を行うことにより、前記画像に存在する語彙を検出する、
ことを特徴とする文字認識装置。
【請求項３】
前記文字認識手段は、複数の前記候補に対してそれぞれ優先順位を付けて出力し、
前記第１文字列遷移データ作成手段は、前記優先順位に基づき前記重み値を計算する、
ことを特徴とする請求項１または２に記載の文字認識装置。
【請求項４】
前記文字認識手段は、少なくとも２種類以上の異なる認識方式を用いて前記文字認識処理を行い、
前記第１文字列遷移データ作成手段は、前記異なる認識方式における前記候補の出力数および前記優先順位に基づき、前記重み値を計算する、
ことを特徴とする請求項３に記載の文字認識装置。
【請求項５】
前記第１文字列遷移データ作成手段は、言語データベースに登録されている単語の文字列遷移を加味して、前記重み値を計算する、
ことを特徴とする請求項１〜４の何れか１項に記載の文字認識装置。
【請求項６】
前記第１文字列遷移データ作成手段は、前記候補の前記画像内における位置、または前記候補の文字サイズに基づき、前記重み値を修正する、
ことを特徴とする請求項１〜５の何れか１項に記載の文字認識装置。
【請求項７】
前記文字領域分割手段が、複数の分割パターンを用いて前記文字領域を分割し、複数種類の前記分割領域を生成した場合に、
前記文字認識手段は、前記複数種類の分割領域それぞれに対して前記文字認識処理を行い、
前記第１文字列遷移データ作成手段は、前記複数種類の分割領域それぞれにおける前記候補に対して前記第１文字列遷移データを作成し、
前記有限状態変換手段は、前記複数種類の分割領域を通じて前記累積重み値が上位のものを前記結果として出力する、
ことを特徴とする請求項１〜６の何れか１項に記載の文字認識装置。
【請求項８】
前記第１文字列遷移データ作成手段は、文字列遷移の初期状態から前記候補への空の遷移である第１空遷移と、前記候補から文字列遷移の最終状態への空の遷移である第２空遷移と、前記候補を一文字単位でスキップするための空の遷移である第３空遷移と、を含んで前記第１文字列遷移データを作成する、
ことを特徴とする請求項１〜７の何れか１項に記載の文字認識装置。
【請求項９】
前記文字認識手段は、前記文字認識処理結果の前記候補を出力する際に、単語間の区切りを示す識別情報をともに出力し、
前記第１文字列遷移データ作成手段は、前記識別情報を付加して、前記第１文字列遷移データを作成し、
前記有限状態変換手段は、前記状態遷移を行う際に、二つの前記識別情報により区切られた部分を単位として前記状態遷移を行う、
ことを特徴とする請求項１〜８の何れか１項に記載の文字認識装置。
【請求項１０】
前記文字認識手段は、前記文字認識処理結果の前記候補を出力する際に、当該候補の前記画像内における位置情報をともに出力し、
前記第１文字列遷移データ作成手段は、前記位置情報を付加して、前記第１文字列遷移データを作成し、
前記有限状態変換手段は、前記位置情報を付加して、前記結果を出力する、
ことを特徴とする請求項１〜９の何れか１項に記載の文字認識装置。
【請求項１１】
前記語彙データベースは、語彙に対する分類情報を有し、
前記第３文字列遷移データ作成手段は、前記分類情報を付加して、前記第３文字列遷移データを作成し、
前記有限状態変換手段は、前記分類情報を付加して、前記結果を出力する、
ことを特徴とする請求項２に記載の文字認識装置。
【請求項１２】
語彙と前記分類情報との関連性を示す語彙分類関連性ベクトルを格納する語彙分類関連性ベクトル格納手段を備え、
前記第１文字列遷移データ作成手段は、前記第１文字列遷移データにおける前記候補および前記重み値に対して、前記語彙分類関連性ベクトルの値を加算し、最も大きな値となる分類情報を前記候補に対応する分類情報とし、該分類情報を基に当該候補に対する前記重み値を修正する、
ことを特徴とする請求項１１に記載の文字認識装置。
【請求項１３】
画像入力手段が、認識対象の文字を含む画像を入力する画像入力ステップと、
文字領域検出手段が、前記画像における、前記文字が存在する領域である文字領域を検出する文字領域検出ステップと、
文字領域分割手段が、前記文字領域を一文字単位で分割する文字領域分割ステップと、
文字認識手段が、前記文字領域分割手段が分割した分割領域に存在する前記文字に対して、一文字ごとの文字認識処理を行い、一文字に付き１つ以上の文字認識処理結果の候補を出力する文字認識ステップと、
第１文字列遷移データ作成手段が、前記候補を入力し、前記候補への遷移に対する重み値を計算し、前記候補および前記重み値の組に基づく文字列遷移データである第１文字列遷移データを作成する第１文字列遷移データ作成ステップと、
有限状態変換手段が、前記第１文字列遷移データに基づき状態遷移を順次行い、各状態遷移における重み値を累積して状態遷移ごとの累積重み値を算出し、一つ以上の前記状態遷移の結果を前記累積重み値に基づき出力する有限状態変換ステップと、
を備え、
第２文字列遷移データ作成手段が、ユーザからキーワードを入力し、前記キーワードの文字列遷移データである第２文字列遷移データを作成する第２文字列遷移データ作成ステップを更に備え、
前記有限状態変換ステップにおいて、前記有限状態変換手段は、前記第１文字列遷移データおよび前記第２文字列遷移データに対して合成演算を行うことにより、前記画像に前記キーワードが存在するか否かを判定する、
ことを特徴とする文字認識方法。
【請求項１４】
画像入力手段が、認識対象の文字を含む画像を入力する画像入力ステップと、
文字領域検出手段が、前記画像における、前記文字が存在する領域である文字領域を検出する文字領域検出ステップと、
文字領域分割手段が、前記文字領域を一文字単位で分割する文字領域分割ステップと、
文字認識手段が、前記文字領域分割手段が分割した分割領域に存在する前記文字に対して、一文字ごとの文字認識処理を行い、一文字に付き１つ以上の文字認識処理結果の候補を出力する文字認識ステップと、
第１文字列遷移データ作成手段が、前記候補を入力し、前記候補への遷移に対する重み値を計算し、前記候補および前記重み値の組に基づく文字列遷移データである第１文字列遷移データを作成する第１文字列遷移データ作成ステップと、
有限状態変換手段が、前記第１文字列遷移データに基づき状態遷移を順次行い、各状態遷移における重み値を累積して状態遷移ごとの累積重み値を算出し、一つ以上の前記状態遷移の結果を前記累積重み値に基づき出力する有限状態変換ステップと、
を備え、
第３文字列遷移データ作成手段が、語彙データベースに存在する各語彙の文字列遷移データである第３文字列遷移データを作成する第３文字列遷移データ作成ステップを更に備え、
前記有限状態変換ステップにおいて、前記有限状態変換手段は、前記第１文字列遷移データおよび前記第３文字列遷移データに対して合成演算を行うことにより、前記画像に存在する語彙を検出する、
ことを特徴とする文字認識方法。
【請求項１５】
端末およびサーバを含む文字認識システムであって、
前記端末は、
認識対象の文字を含む画像を入力する画像入力手段と、
前記画像における、前記文字が存在する領域である文字領域を検出する文字領域検出手段と、
前記文字領域を一文字単位で分割する文字領域分割手段と、
前記文字領域分割手段が分割した分割領域に存在する前記文字に対して、一文字ごとの文字認識処理を行い、一文字に付き１つ以上の文字認識処理結果の候補を出力する文字認識手段と、
前記候補を入力し、前記候補への遷移に対する重み値を計算し、前記候補および前記重み値の組に基づく文字列遷移データである第１文字列遷移データを作成する第１文字列遷移データ作成手段と、
を備え、
前記サーバは、
前記第１文字列遷移データに基づき状態遷移を順次行い、各状態遷移における重み値を累積して状態遷移ごとの累積重み値を算出し、一つ以上の前記状態遷移の結果を前記累積重み値に基づき出力する有限状態変換手段と、
を備え、
前記端末は、
ユーザからキーワードを入力し、前記キーワードの文字列遷移データである第２文字列遷移データを作成する第２文字列遷移データ作成手段を更に備え、
前記有限状態変換手段は、前記第１文字列遷移データおよび前記第２文字列遷移データに対して合成演算を行うことにより、前記画像に前記キーワードが存在するか否かを判定する、
ことを特徴とする文字認識システム。
【請求項１６】
端末およびサーバを含む文字認識システムであって、
前記端末は、
認識対象の文字を含む画像を入力する画像入力手段と、
前記画像における、前記文字が存在する領域である文字領域を検出する文字領域検出手段と、
前記文字領域を一文字単位で分割する文字領域分割手段と、
前記文字領域分割手段が分割した分割領域に存在する前記文字に対して、一文字ごとの文字認識処理を行い、一文字に付き１つ以上の文字認識処理結果の候補を出力する文字認識手段と、
前記候補を入力し、前記候補への遷移に対する重み値を計算し、前記候補および前記重み値の組に基づく文字列遷移データである第１文字列遷移データを作成する第１文字列遷移データ作成手段と、
を備え、
前記サーバは、
前記第１文字列遷移データに基づき状態遷移を順次行い、各状態遷移における重み値を累積して状態遷移ごとの累積重み値を算出し、一つ以上の前記状態遷移の結果を前記累積重み値に基づき出力する有限状態変換手段と、
を備え、
前記サーバは、
語彙データベースに存在する各語彙の文字列遷移データである第３文字列遷移データを作成する第３文字列遷移データ作成手段を更に備え、
前記有限状態変換手段は、前記第１文字列遷移データおよび前記第３文字列遷移データに対して合成演算を行うことにより、前記画像に存在する語彙を検出する、
ことを特徴とする文字認識システム。
【請求項１７】
コンピュータを、
認識対象の文字を含む画像を入力する画像入力手段と、
前記画像における、前記文字が存在する領域である文字領域を検出する文字領域検出手段と、
前記文字領域を一文字単位で分割する文字領域分割手段と、
前記文字領域分割手段が分割した分割領域に存在する前記文字に対して、一文字ごとの文字認識処理を行い、一文字に付き１つ以上の文字認識処理結果の候補を出力する文字認識手段と、
前記候補を入力し、前記候補への遷移に対する重み値を計算し、前記候補および前記重み値の組に基づく文字列遷移データである第１文字列遷移データを作成する第１文字列遷移データ作成手段と、
前記第１文字列遷移データに基づき状態遷移を順次行い、各状態遷移における重み値を累積して状態遷移ごとの累積重み値を算出し、一つ以上の前記状態遷移の結果を前記累積重み値に基づき出力する有限状態変換手段、
として動作させ、
ユーザからキーワードを入力し、前記キーワードの文字列遷移データである第２文字列遷移データを作成する第２文字列遷移データ作成手段として更に動作させ、
前記有限状態変換手段は、前記第１文字列遷移データおよび前記第２文字列遷移データに対して合成演算を行うことにより、前記画像に前記キーワードが存在するか否かを判定する、
ことを特徴とする文字認識プログラム。
【請求項１８】
コンピュータを、
認識対象の文字を含む画像を入力する画像入力手段と、
前記画像における、前記文字が存在する領域である文字領域を検出する文字領域検出手段と、
前記文字領域を一文字単位で分割する文字領域分割手段と、
前記文字領域分割手段が分割した分割領域に存在する前記文字に対して、一文字ごとの文字認識処理を行い、一文字に付き１つ以上の文字認識処理結果の候補を出力する文字認識手段と、
前記候補を入力し、前記候補への遷移に対する重み値を計算し、前記候補および前記重み値の組に基づく文字列遷移データである第１文字列遷移データを作成する第１文字列遷移データ作成手段と、
前記第１文字列遷移データに基づき状態遷移を順次行い、各状態遷移における重み値を累積して状態遷移ごとの累積重み値を算出し、一つ以上の前記状態遷移の結果を前記累積重み値に基づき出力する有限状態変換手段、
として動作させ、
語彙データベースに存在する各語彙の文字列遷移データである第３文字列遷移データを作成する第３文字列遷移データ作成手段として更に動作させ、
前記有限状態変換手段は、前記第１文字列遷移データおよび前記第３文字列遷移データに対して合成演算を行うことにより、前記画像に存在する語彙を検出する、
ことを特徴とする文字認識プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字認識装置、文字認識方法、文字認識システム、および文字認識プログラムに関するものである。
【背景技術】
【０００２】
下記の特許文献１〜２、非特許文献１〜３で例示されるように、従来、情景画像の中から、看板等の３次元空間中に存在する文字を認識する技術が知られている。これらの技術では、明暗の変動や文字の歪みなど、情景画像特有の問題に対応するため、単語知識や撮影場所の位置情報などの外部データを使用して認識精度を高めている。
【０００３】
例えば、特許文献１では、画像中の看板などから抽出した文字列と電話帳データベースとを照合し、電話帳データベースに含まれる広告主データや電話番号データとの一致度を判定することで、抽出した文字列が広告主に関連するものかどうかを判定している。
【０００４】
また、特許文献２では、文字認識装置に装備されている位置情報取得手段、および方位情報取得手段を用いて、撮影している位置及び方向を特定し、特定した位置、方位を用いて地図データベースと照合を行い、合致した店舗名や地名情報を単語知識として用いることで、認識精度を高めている。
【０００５】
また、記号列変換と重みの集合を状態遷移として表現した重み付き有限状態トランスデューサ（Weighted Finite State Transducer、以下「ＷＦＳＴ」ともいう。）が、音声認識や言語処理の分野における高速かつ高い汎用性と拡張性を持つ手法として使われている。このＷＦＳＴに関連して、文字認識の分野では、非特許文献１、非特許文献２で例示されるように、英語のような分ちが書きでの語彙単位の文字列取得を前提として、文字認識の結果を取得する手法が提案されている。また、非特許文献３では、日本語において、文字認識結果として出力した後に、ＷＦＳＴを用いたエラー訂正を行う手法が提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第３３６００３０号公報
【特許文献２】特許第４５９１３５３号公報
【非特許文献】
【０００７】
【非特許文献１】”A Weighted Finite-State Framework for Correcting Errors in NaturalScene OCR”、ICDAR 2007 Vol. 2、 pp. 889-893
【非特許文献２】”The image Text Recognition Graph (iTRG)”、 ICME 2009、 pp. 266-269
【非特許文献３】重み付き有限状態トランスデューサを用いた文字誤り訂正、言語処理学会年次大会発表論文集、C2-5、pp.332-335、2009
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に記載の方法では、電話帳データベースなどに含まれる大量の単語知識との照合が必要となり、文字認識処理の高速化が十分に行えない可能性がある。また、特許文献２に記載の方法では、位置情報取得手段や方位情報取得手段が別途必要となり、装置構成が複雑化するおそれがある。
【０００９】
更に、非特許文献１および非特許文献２については、語彙の間に区切りがある分ち書きの言語を前提とする。つまり、ＷＦＳＴ処理にかける語彙の切り出しがあらかじめできていることが前提となる。また、非特許文献２では、文字認識の文字単位での切り出しにおいて、重複する切り出し位置を利用して文字認識を行い、ＷＦＳＴで表現しているが、文字認識の結果に誤認識が現れた場合には対応ができないおそれがある。
【００１０】
また、非特許文献１および非特許文献３では、文字の融合・分離によって、重複する切り出し位置による誤認識の問題に対応しているが、日本語は文字種が多く、また実環境では多種多様な文字のデザインが存在しているため、膨大な組み合わせを網羅する必要がある。更に、非特許文献３では一旦文字認識を行った結果を用いており、ある程度精度よく文字認識結果が得られていることが前提となる。このため、元々の文字認識において言語処理による修正が多く行われた場合において、文字形状に基づく修正を行うことが難しくなるおそれがある。また、元々の文字認識における文字領域の検出漏れの修正に対応できないおそれがある。
【００１１】
そこで、本発明は上記に鑑みてなされたもので、外部の電話帳等のデータベースを用いず、簡素化された装置構成を用いて、精度よく且つ高速で、情景画像から文字認識を行うことが可能な文字認識装置、文字認識方法、文字認識システム、および文字認識プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明の文字認識装置は、認識対象の文字を含む画像を入力する画像入力手段と、前記画像における、前記文字が存在する領域である文字領域を検出する文字領域検出手段と、前記文字領域を一文字単位で分割する文字領域分割手段と、前記文字領域分割手段が分割した分割領域に存在する前記文字に対して、一文字ごとの文字認識処理を行い、一文字に付き１つ以上の文字認識処理結果の候補を出力する文字認識手段と、前記候補を入力し、前記候補への遷移に対する重み値を計算し、前記候補および前記重み値の組に基づく文字列遷移データである第１文字列遷移データを作成する第１文字列遷移データ作成手段と、前記第１文字列遷移データに基づき状態遷移を順次行い、各状態遷移における重み値を累積して状態遷移ごとの累積重み値を算出し、一つ以上の前記状態遷移の結果を前記累積重み値に基づき出力する有限状態変換手段と、を備えることを特徴とする。
【００１３】
また、本発明の文字認識方法は、画像入力手段が、認識対象の文字を含む画像を入力する画像入力ステップと、文字領域検出手段が、前記画像における、前記文字が存在する領域である文字領域を検出する文字領域検出ステップと、文字領域分割手段が、前記文字領域を一文字単位で分割する文字領域分割ステップと、文字認識手段が、前記文字領域分割手段が分割した分割領域に存在する前記文字に対して、一文字ごとの文字認識処理を行い、一文字に付き１つ以上の文字認識処理結果の候補を出力する文字認識ステップと、第１文字列遷移データ作成手段が、前記候補を入力し、前記候補への遷移に対する重み値を計算し、前記候補および前記重み値の組に基づく文字列遷移データである第１文字列遷移データを作成する第１文字列遷移データ作成ステップと、有限状態変換手段が、前記第１文字列遷移データに基づき状態遷移を順次行い、各状態遷移における重み値を累積して状態遷移ごとの累積重み値を算出し、一つ以上の前記状態遷移の結果を前記累積重み値に基づき出力する有限状態変換ステップと、を備えることを特徴とする。
【００１４】
また、本発明の文字認識システムは、端末およびサーバを含む文字認識システムであって、前記端末は、認識対象の文字を含む画像を入力する画像入力手段と、前記画像における、前記文字が存在する領域である文字領域を検出する文字領域検出手段と、前記文字領域を一文字単位で分割する文字領域分割手段と、前記文字領域分割手段が分割した分割領域に存在する前記文字に対して、一文字ごとの文字認識処理を行い、一文字に付き１つ以上の文字認識処理結果の候補を出力する文字認識手段と、を備え、前記サーバは、前記候補を入力し、前記候補への遷移に対する重み値を計算し、前記候補および前記重み値の組に基づく文字列遷移データである第１文字列遷移データを作成する第１文字列遷移データ作成手段と、前記第１文字列遷移データに基づき状態遷移を順次行い、各状態遷移における重み値を累積して状態遷移ごとの累積重み値を算出し、一つ以上の前記状態遷移の結果を前記累積重み値に基づき出力する有限状態変換手段と、を備えることを特徴とする。
【００１５】
また、本発明の文字認識プログラムは、コンピュータを、認識対象の文字を含む画像を入力する画像入力手段と、前記画像における、前記文字が存在する領域である文字領域を検出する文字領域検出手段と、前記文字領域を一文字単位で分割する文字領域分割手段と、前記文字領域分割手段が分割した分割領域に存在する前記文字に対して、一文字ごとの文字認識処理を行い、一文字に付き１つ以上の文字認識処理結果の候補を出力する文字認識手段と、前記候補を入力し、前記候補への遷移に対する重み値を計算し、前記候補および前記重み値の組に基づく文字列遷移データである第１文字列遷移データを作成する第１文字列遷移データ作成手段と、前記第１文字列遷移データに基づき状態遷移を順次行い、各状態遷移における重み値を累積して状態遷移ごとの累積重み値を算出し、一つ以上の前記状態遷移の結果を前記累積重み値に基づき出力する有限状態変換手段、として動作させることを特徴とする。
【００１６】
このような本発明の文字認識装置、文字認識方法、文字認識システム、および文字認識プログラムによれば、外部の電話帳等のデータベースを利用しないことから、当該電話帳データベースなどに含まれる大量の単語知識との照合が必要なく、文字認識処理の高速化を図ることができる。また、位置情報取得手段や方位情報取得手段等も不要であるため、装置構成を簡素化することができる。このような装置構成を用いて、精度よく且つ高速で、情景画像から文字認識を行うことが可能である。
【００１７】
また、本発明においては、ユーザからキーワードを入力し、前記キーワードの文字列遷移データである第２文字列遷移データを作成する第２文字列遷移データ作成手段を更に備え、前記有限状態変換手段は、前記第１文字列遷移データおよび前記第２文字列遷移データに対して合成演算を行うことにより、前記画像に前記キーワードが存在するか否かを判定してもよい。
【００１８】
この発明によれば、文字認識候補群の第１文字列遷移データそのものを画像に対する検索用テーブルとして利用し、本発明の文字認識装置を、画像にユーザ入力キーワードが存在するか否かを判定する装置として活用することができる。
【００１９】
また、本発明においては、語彙データベースに存在する各語彙の文字列遷移データである第３文字列遷移データを作成する第３文字列遷移データ作成手段を更に備え、前記有限状態変換手段は、前記第１文字列遷移データおよび前記第３文字列遷移データに対して合成演算を行うことにより、前記画像に存在する語彙を検出してもよい。
【００２０】
この発明によれば、文字認識候補群の第１文字列遷移データおよび語彙データベースにおける第３文字列遷移データに対し合成演算を行うことにより、本発明の文字認識装置を語彙検出装置として活用することができる。
【００２１】
また、本発明においては、前記文字認識手段は、複数の前記候補に対してそれぞれ優先順位を付けて出力し、前記第１文字列遷移データ作成手段は、前記優先順位に基づき前記重み値を計算してもよい。
【００２２】
この発明によれば、第１文字列遷移データ作成手段が重み値を計算するための具体的な手法が提供される。
【００２３】
また、本発明においては、前記文字認識手段は、少なくとも２種類以上の異なる認識方式を用いて前記文字認識処理を行い、前記第１文字列遷移データ作成手段は、前記異なる認識方式における前記候補の出力数および前記優先順位に基づき、前記重み値を計算してもよい。
【００２４】
この発明によれば、第１文字列遷移データ作成手段が重み値を計算するための具体的な手法が提供される。
【００２５】
また、本発明においては、前記第１文字列遷移データ作成手段は、言語データベースに登録されている単語の文字列遷移を加味して、前記重み値を計算してもよい。
【００２６】
この発明によれば、第１文字列遷移データ作成手段が重み値を計算するための具体的な手法が提供される。
【００２７】
また、本発明においては、前記第１文字列遷移データ作成手段は、前記候補の前記画像内における位置、または前記候補の文字サイズに基づき、前記重み値を修正してもよい。
【００２８】
この発明によれば、第１文字列遷移データ作成手段が重み値を修正するための具体的な手法が提供される。また、重み値の修正により語彙の検出精度を上げることができる。
【００２９】
また、本発明においては、前記文字領域分割手段が、複数の分割パターンを用いて前記文字領域を分割し、複数種類の前記分割領域を生成した場合に、前記文字認識手段は、前記複数種類の分割領域それぞれに対して前記文字認識処理を行い、前記第１文字列遷移データ作成手段は、前記複数種類の分割領域それぞれにおける前記候補に対して前記第１文字列遷移データを作成し、前記有限状態変換手段は、前記複数種類の分割領域を通じて前記累積重み値が上位のものを前記結果として出力してもよい。
【００３０】
この発明によれば、文字領域分割手段がオーバーセグメンテーションを行った場合でも適切な対応が可能である。
【００３１】
また、本発明においては、前記第１文字列遷移データ作成手段は、文字列遷移の初期状態から前記候補への空の遷移である第１空遷移と、前記候補から文字列遷移の最終状態への空の遷移である第２空遷移と、前記候補を一文字単位でスキップするための空の遷移である第３空遷移と、を含んで前記第１文字列遷移データを作成してもよい。
【００３２】
この発明によれば、第１空遷移、第２空遷移、および第３空遷移を第１文字列遷移データに含ませることで、第１文字列遷移データと第２文字列遷移データまたは第３文字列遷移データとの合成演算の精度を高めることができる。
【００３３】
また、本発明においては、前記文字認識手段は、前記文字認識処理結果の前記候補を出力する際に、単語間の区切りを示す識別情報をともに出力し、前記第１文字列遷移データ作成手段は、前記識別情報を付加して、前記第１文字列遷移データを作成し、前記有限状態変換手段は、前記状態遷移を行う際に、二つの前記識別情報により区切られた部分を単位として前記状態遷移を行ってもよい。
【００３４】
この発明によれば、区切りを示す識別情報を用いることにより、分かち書き言語の対しても、精度よく文字認識を行うことができる。
【００３５】
また、本発明においては、前記文字認識手段は、前記文字認識処理結果の前記候補を出力する際に、当該候補の前記画像内における位置情報をともに出力し、前記第１文字列遷移データ作成手段は、前記位置情報を付加して、前記第１文字列遷移データを作成し、前記有限状態変換手段は、前記位置情報を付加して、前記結果を出力してもよい。
【００３６】
この発明によれば、位置情報を用いることにより、文字認識の結果が画像内のどこに位置しているのかを特定することができる。
【００３７】
また、本発明においては、前記語彙データベースは、語彙に対する分類情報を有し、前記第２文字列遷移データ作成手段または前記第３文字列遷移データ作成手段は、前記分類情報を付加して、前記第２文字列遷移データまたは前記第３文字列遷移データを作成し、前記有限状態変換手段は、前記分類情報を付加して、前記結果を出力してもよい。
【００３８】
この発明によれば、分類情報を用いることにより、文字認識の結果がどのジャンルに属するかを特定することができる。
【００３９】
また、本発明においては、語彙と前記分類情報との関連性を示す語彙分類関連性ベクトルを格納する語彙分類関連性ベクトル格納手段を備え、前記第１文字列遷移データ作成手段は、前記第１文字列遷移データにおける前記候補および前記重み値に対して、前記語彙分類関連性ベクトルの値を加算し、最も大きな値となる分類情報を前記候補に対応する分類情報とし、該分類情報を基に当該候補に対する前記重み値を修正してもよい。
【００４０】
この発明によれば、第１文字列遷移データ作成手段が重み値を修正するための具体的な手法が提供される。また、重み値の修正により語彙の検出精度を上げることができる。
【発明の効果】
【００４１】
本発明によれば、外部の電話帳等のデータベースを用いず、簡素化された装置構成を用いて、精度よく且つ高速で、情景画像から文字認識を行うことが可能な文字認識装置、文字認識方法、文字認識システム、および文字認識プログラムを提供することができる。
【図面の簡単な説明】
【００４２】
【図１】文字認識装置１の機能的な構成要素を示す構成概要図である。
【図２】文字認識装置１のハードウェア構成図である。
【図３】本実施形態の全体処理フローを示すフローチャートである。
【図４】文字領域分割部１０４の動作を説明するための図である。
【図５】第１文字列遷移データ作成部１０６が作成した第１ＷＦＳＴデータの一例を示す図である。
【図６】文字領域分割部１０４がオーバーセグメンテーションを行った場合の処理を示す図である。
【図７】第１文字列遷移データ作成部１０６が文字の大きさ・位置等により重み値を調整することを説明するための図である。
【図８】ＷＦＳＴ演算処理を示すフローチャートである。
【図９】ＷＦＳＴ合成演算のイメージを示す図である。
【図１０】ＷＦＳＴ合成演算のバリエーション１における処理の一例を示す。
【図１１】ＷＦＳＴ合成演算のバリエーション１における処理の一例を示す。
【図１２】ＷＦＳＴ合成演算のバリエーション１における処理の一例を示す。
【図１３】ＷＦＳＴ合成演算のバリエーション２における文字認識装置１の機能的な構成要素を示す構成概要図である。
【図１４】ＷＦＳＴ合成演算のバリエーション２における処理の一例を示す。
【図１５】ＷＦＳＴ合成演算のバリエーション２における処理の一例を示す。
【図１６】ＷＦＳＴ合成演算のバリエーション３における処理の一例を示す。
【図１７】ＷＦＳＴ合成演算のバリエーション４における処理の一例を示す。
【図１８】ＷＦＳＴ合成演算のバリエーション４における処理の一例を示す。
【図１９】文字認識システム１００の機能的な構成要素を示す構成概要図である。
【発明を実施するための形態】
【００４３】
以下、添付図面を参照して本発明にかかる文字認識装置、文字認識方法、文字認識システム、および文字認識プログラムの好適な実施形態を詳細に説明する。なお、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。
【００４４】
（文字認識装置１の全体構成）
本発明の実施形態に係る文字認識装置１は、情景画像から文字領域を検出し、文字認識（例えば、キーワード検出、検索用テーブル作成など）を行うものである。図１は文字認識装置１の機能的な構成要素を示す構成概要図であり、図２は文字認識装置１のハードウェア構成図である。図２に示すように、文字認識装置１は、物理的には、ＣＰＵ１１、ＲＯＭ１２及びＲＡＭ１３等の主記憶装置、キーボード、マウスをはじめ、カメラ等の画像を読み込むための装置または外部装置からデータを読み込むための装置である入力デバイス１４、ディスプレイ等の出力デバイス１５、他の装置との間でデータの送受信を行うためのネットワークカード等の通信モジュール１６、ハードディスク等の補助記憶装置１７などを含む通常のコンピュータシステムとして構成される。入力デバイス１４による画像の読み込みは、自装置で撮影された画像であってもよく、または他装置で撮影された画像であってもよい。後述する文字認識装置１の各機能は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、ＣＰＵ１１の制御の元で入力デバイス１４、出力デバイス１５、通信モジュール１６を動作させると共に、主記憶装置１２、１３や補助記憶装置１７におけるデータの読み出し及び書き込みを行うことで実現される。
【００４５】
図１に示すように、文字認識装置１は、機能的な構成要素として、画像読み込み部１０１（特許請求の範囲における「画像入力手段」に相当）、画像二値化部１０２、文字領域検出部１０３（特許請求の範囲における「文字領域検出手段」に相当）、文字領域分割部１０４（特許請求の範囲における「文字領域分割手段」に相当）、文字認識部１０５（特許請求の範囲における「文字認識手段」に相当）、第１文字列遷移データ作成部１０６（特許請求の範囲における「第１文字列遷移データ作成手段」に相当）、第２文字列遷移データ作成部１０７（特許請求の範囲における「第２文字列遷移データ作成手段」に相当）、第３文字列遷移データ作成部１０８（特許請求の範囲における「第３文字列遷移データ作成手段」に相当）、ＷＦＳＴ処理部１０９（特許請求の範囲における「有限状態変換手段」に相当）、文字列検出部１１０（特許請求の範囲における「文字列検出手段」に相当）、語彙ＤＢ１１１（特許請求の範囲における「語彙データベース」に相当）を備える。以下、文字認識装置１の各構成要素の動作について、図３のフローチャートを参照しながら説明する。
【００４６】
（１）画像の読み込み
画像読み込み部１０１が認識対象の文字を含む画像を入力する（ステップＳ１、特許請求の範囲における「画像入力ステップ」に相当）。活字文書をスキャナーで取り込んだようなドキュメント画像については既に技術が確立され、高速・高精度の認識が可能であるので、既存のドキュメントＯＣＲエンジンにより、ドキュメント画像としての文字認識を行う（ステップＳ２）。そして、第１文字列遷移データ作成部１０６が、認識結果の候補群からＷＦＳＴで表されたデータ（以下「第１ＷＦＳＴデータ」ともいう。特許請求の範囲における「第１文字列遷移データ」に相当）を生成する（ステップＳ３、特許請求の範囲における「第１文字列遷移データ作成ステップ」に相当）。なお、既存のドキュメントＯＣＲエンジンにより得られた認識結果の文字数が規定数以上で、認識精度が規定値以上の場合は、ドキュメントと判定して、ステップＳ１０のＷＦＳＴ演算処理は行わない。小さすぎる解像度、大きすぎる解像度の画像については、文字認識に適したサイズにスケールを調整する。
【００４７】
（２）画像二値化
ステップＳ１で入力した画像がドキュメント画像でない場合に、画像二値化部１０２が画像二値化を行う（ステップＳ４）。画像二値化は局所的な明暗により行い、低コントラストの状況にも対応する。白地に黒の文字の検出を行い、元画像の明暗を反転して、黒地に白の文字の検出も行う。また、明らかな文字以外の領域は膨張収縮等のマスク処理によりノイズ除去を行う。
【００４８】
（３）文字領域検出
文字領域検出部１０３が文字領域を検出する（ステップＳ５、特許請求の範囲における「文字領域検出ステップ」に相当）。「文字領域」は、ステップＳ１で入力した画像において、認識対象の文字が存在する領域、またはその可能性のある領域をいう。この文字領域の検出については、下記の参考文献１のように、形状の特徴を統計的に学習することで検出する手法が知られている。本装置では、ラベリング処理を行うことにより領域毎にラベルを付け、各領域の形状特徴（円形度、穴の数、構成する領域数、外周矩形サイズ・アスペクト比、ラベル領域と非ラベル領域の面積比等）から文字領域かどうかを判定して検出する。
【００４９】
＜参考文献１＞
“A learning-based method to detect andsegment text from scene images”、 JOURNAL OF ZHEJIANG UNIVERSITY - SCIENCE A Volume 8、 Number 4、 pp. 568-574
【００５０】
本実施形態では、後述するＷＦＳＴ処理によりフィルタリングを行うため、文字ではないノイズの領域をはじめから検出しないことよりも、洩れがないように可能性のある文字領域をできる限り多く検出しておくことを優先する。このため、膨張収縮処理により近接領域を連結したパターン、連結領域を分解したパターン、文字周辺のノイズを除去したパターンについても、文字領域を検出するものとする。また、この検出パターンについては様々な手法（エッジや色合いを利用した手法、高度な文字領域連結処理等）を追加することもできる。
【００５１】
（４）文字列候補検出、一文字単位での切り出し
文字領域分割部１０４が文字領域内の文字列候補を検出し、文字領域を一文字単位で分割（以下「切り出し」ともいう。）する（ステップＳ６、特許請求の範囲における「文字領域分割ステップ」に相当）。具体的に、文字領域分割部１０４は最初に文字ラインを検出する。文字ラインは３文字以上で構成されると想定し、文字領域の領域サイズ・間隔・角度の推移から検出する。検出した文字ライン毎にラベリング処理を行い、ラベルを付けた領域毎の角度の中央値、平均値、最頻値等を元にして、文字ラインを絞り込む。図４は文字領域分割部１０４の動作を説明するための図である。図４に示されるように、文字ラインＬ毎に文字ラインの角度に基づく探索により水平方向・垂直方向のせん断変形を行うとともに、文字のせん断・回転の両方の変形ゆがみを補正する。図４では、画像Ａ１は回転した文字列が書かれた補正前の画像を示し、画像Ａ２は文字ラインに対して垂直方向にせん断変形することで文字列方向の傾きを補正した後の画像を示す。
【００５２】
文字領域分割部１０４は、ゆがみを補正した画像Ａ２からノイズを除去した後に、文字ラインの方向の文字間隔を求め、一文字単位で切り出す。一文字単位での切り出しは、文字列方向に対して垂直方向の画素を足し合わせたヒストグラムにより、文字の間となる候補を求め、文字ライン検出時に求まった領域サイズの中央値、平均値、最頻値等を基準に、複数の重なり合う切り出し位置を決定することにより行われる。図４では、補正後の画像Ａ２における文字列Ｍに対して少しずつ角度を変えながら水平方向のせん断変形を行うことにより、複数の文字列Ｍ１、Ｍ２、Ｍ３を生成し、これらの文字列Ｍ１、Ｍ２、Ｍ３に対して一文字単位で切り出しを行った様子が示されている。文字列Ｙ２は文字列Ｍ２に対して一文字単位での切り出しを行った後の文字列を示し、この場合の空白領域数は４である。「空白領域」とは、文字の間の領域をいい、図４では符号Ｋで示されている。また、符号Ｙ３は文字列Ｍ３に対して一文字単位での切り出しを行った後の文字列を示し、この場合の空白領域数は７である。本実施形態において文字領域分割部１０４は、空白領域の数、および面積が最大となる場合を文字領域分割の結果として採用する。図４の例では、文字列Ｙ３が最終的に選択された文字領域分割後の文字列である。そのほか、既存のＯＣＲエンジンにより文字ライン一つ分の文字認識を行う等、複数の手法・パラメータによる文字位置検出・文字認識処理を行い、文字の可能性のある切り出し位置毎に一文字単位の切り出しを行い、位置が重複することを許容するような、オーバーセグメンテーションとなる状態遷移を求める。
【００５３】
（５）文字認識
文字認識部１０５は、文字領域分割部１０４がステップＳ６にて分割した分割領域（図４では符号Ｄで表示）に存在する各文字に対して、一文字ごとの文字認識処理を行い、一文字に付き１つ以上の文字認識処理結果の候補（以下、「文字認識候補群」、または単に「候補」ともいう。）を出力する（ステップＳ７、特許請求の範囲における「文字認識ステップ」に相当）。一文字単位の文字認識は複数のエンジンにより文字認識結果を取得するように行われる。
【００５４】
（６）ＷＦＳＴデータ生成
第１文字列遷移データ作成部１０６は、ステップＳ７で得られた認識結果の候補群から重複候補をまとめ、ＷＦＳＴデータ（以下「第１ＷＦＳＴデータ」ともいう。特許請求の範囲における「第１文字列遷移データ」に相当）を生成する（ステップＳ８、特許請求の範囲における「第１文字列遷移データ作成ステップ」に相当）。つまり、第１文字列遷移データ作成部１０６は、文字認識部１０５より文字認識処理結果の候補（一文字に付き１つ以上の候補）を入力し、当該候補への遷移に対する重み値を計算し、それら候補および重み値の組に基づく第１ＷＦＳＴデータを作成する。
【００５５】
文字認識部１０５が複数の文字認識処理結果の候補に対してそれぞれ優先順位を付けて出力した場合に、第１文字列遷移データ作成部１０６は当該優先順位に基づき、上記重み値を計算する。更に、文字認識部１０５が少なくとも２種類以上の異なる認識方式を用いて文字認識処理を行った場合に、第１文字列遷移データ作成部１０６は、当該異なる認識方式における文字認識処理結果の候補の出力数および上記優先順位に基づき、上記重み値を計算する。ここで、重複候補の重み値は積／和で合成することで、各文字認識結果で同一候補の登場数が多いほど、重み値が小さくなるようにする。つまり、本実施形態においては、重み値が小さいほど、実際の正解に近い候補であることがいえる。更に、第１文字列遷移データ作成部１０６は、言語データベースに登録されている単語の文字列遷移を加味して、上記重み値を計算してもよい。
【００５６】
図５は第１文字列遷移データ作成部１０６が作成した第１ＷＦＳＴデータの一例を示す。第１ＷＦＳＴデータは、図５に示されるように、複数の候補とその重み値が付けられた状態遷移となっている。文字認識結果が複数ある場合は、同一の初期状態を持つ状態遷移が並列で並ぶ形となる。図５の例は、文字認識処理の実際の正解が例えば「ドコモ」であった場合に、文字認識処理における複数の候補が例えば「ド」、「ト」、「人」、「コ」、「二」、「口」、「モ」、「毛」、「ｔ」、等であり、それぞれの重み値が「０．２」、「０．４」、「０．６」、「０．２」、「０．５」、「０．６」、「０．２」、「０．４」、「０．５」であった場合を示す。
【００５７】
文字認識候補群から生成された第１ＷＦＳＴデータには、文章途中のキーワードを検出するために、文字列遷移の初期状態から各文字候補へのε遷移（入出力を持たない空の遷移、特許請求の範囲における「第１空遷移」に相当）、各文字候補から文字列遷移の最終状態へのε遷移（特許請求の範囲における「第２空遷移」に相当）、ノイズを文字として捉えることを回避するために重み値を付け且つ各文字候補を一文字単位でスキップするためのε遷移（特許請求の範囲における「第３空遷移」に相当）が含まれている。図５では、第１空遷移が符号Ｅ１で示されており、第２空遷移が符号Ｅ２で示されており、第３空遷移が符号Ｅ３で示されており、第３空遷移の重み値が例えば「２．０」と示されている。なお、第１ＷＦＳＴデータは、最適な処理サイズでの演算ができるように、複数行単位や一定文字数単位に分割した上で演算を行い、その結果を組み合わせて利用することもできるものとする。
【００５８】
ここで、ステップＳ６にてオーバーセグメンテーションとなった場合は、図６で示されるように、重複位置毎に一文字単位の文字認識を行い、重複する文字切り出し位置の遷移を一つの第１ＷＦＳＴデータとして表現する。言い換えれば、文字領域分割部１０４が複数の分割パターンを用いて文字領域を分割し、複数種類の分割領域を生成した場合に（つまりオーバーセグメンテーションの場合に）、文字認識部１０５は、当該複数種類の分割領域それぞれに対して文字認識処理を行い、第１文字列遷移データ作成部１０６は、当該複数種類の分割領域それぞれにおける文字候補に対して第１ＷＦＳＴデータを作成する。
【００５９】
図６の例は、文字認識処理の実際の正解が例えば「Ｆｏｒｕｍ」であった場合に（図６の（Ａ））、複数の手法、切り出しパラメータで分割位置を決定し、且つ複数の分割位置で一文字認識処理を行った結果を示している（図６の（Ｂ）および（Ｃ））。図６の（Ｂ）で示している結果では「ｆｂｎｉｍ」との認識結果が出ており、図６の（Ｃ）で示している結果では「石ｒｕｒｎ」との認識結果が出ている。なお、図６の（Ｂ）の結果における「ｂ」の部分では、ノイズのため、第一候補が「ｂ」であり、第二候補が「ｏ」である。ノイズの原因は切り出しの際に「Ｆ」の右上の一部が入ってしまったことによると考えられる。このような２つの結果に対して、第１文字列遷移データ作成部１０６は図６の（Ｄ）に示されるような一つの第１ＷＦＳＴデータを作成する。なお、図６の例では、初期状態から途中状態へのε遷移、途中状態から最終状態へのε遷移、文字スキップのための重み値付きε遷移は省略している。また、作成された一つの第１ＷＦＳＴデータは、その後語彙データとのＷＦＳＴ合成演算に用いられ（図６の（Ｅ）および（Ｆ）参照）、ＷＦＳＴ処理部１０９が複数種類の分割領域の全体を通じて累積重み値が上位のもの（図６の例では語彙データとマッチングする「ｆｏｒｕｍ」）を結果として出力するが、これについては後述する。
【００６０】
また、第１文字列遷移データ作成部１０６は、情景画像等からより有意な語彙の検出精度を上げるため、文字認識結果の候補の画像内における位置、または文字認識結果の候補の文字サイズ等に基づき、重み値を修正する。図７の例において、図７の（Ａ）は文字の入った画像Ａ３を示す。図７の（Ｂ）は第１文字列遷移データ作成部１０６が当初計算した重み値を示す。文字候補「この先」に対して重み値「０．１３」が計算されている。同様に、「株式会社」に対して「０．１５」、「１０ｋｍ」に対して「０．１５」、「清水寺」に対して「０．２０」、「旅館」に対して「０．２１」の重み値がそれぞれ計算されている。
【００６１】
ここで、第１文字列遷移データ作成部１０６は、図７の（Ｃ）と（Ｄ）で示される情報を用いて、当初計算した重み値を調整する。図７の（Ｃ）はキーワードとしての価値の統計的な空間分布を示す情報である。この例において、画像の中央、左上、右下等がキーワードとしての価値が高い部分であり、図７の（Ｃ）ではこれが濃淡で表示されている。濃く表示された部分には、キーワードとしての価値が高いことから、重み係数として「１」が割り当てられている。薄く表示された部分には、キーワードとしての価値が低いことから、重み係数として「２．５」が割り当てられている。図７の（Ｄ）は文字サイズに応じた重み係数テーブルを示す。サイズ「２４」の文字は、サイズが大きい分だけキーワードとしての価値が高いと想定され、重み係数としては「１」が割り当てられている。サイズ「８」の文字は、サイズが小さい分だけキーワードとしての価値が低いと想定され、重み係数としては「２．２」が割り当てられている。
【００６２】
図７の（Ｅ）は、第１文字列遷移データ作成部１０６が図７の（Ｃ）と（Ｄ）で示される情報を用いて、当初計算した重み値を調整した結果を示す。当初計算した重み値に、図７の（Ｃ）および（Ｄ）の重み係数をかけることにより、大きい文字領域や、語彙として価値の高い位置にある語彙の優先順位が上がるように重み付けされている。例えば、語彙「清水寺」に対しては、当初計算した重み値「０．２０」に図７の（Ｃ）の空間分布重み値「１．５」と文字サイズ重み値「１．０」が掛け算され、調整後の重み値として「０．３」が付与されている。以上の処理により、重み値調整前には、例えば語彙「この先」が語彙「清水寺」より小さい重み値を有していたが、重み値調整により、語彙「この先」の重み値が語彙「清水寺」の重み値より大きくなっている。すなわち、重み値調整により、実際にキーワードとして価値のある語彙が小さい重み値を有するよう調整されたといえる。
【００６３】
（７）ＷＦＳＴ演算処理
（ＷＦＳＴ演算処理全体の流れ）
ＷＦＳＴ処理部１０９および文字列検出部１１０が、ステップＳ３およびＳ８で生成された第１ＷＦＳＴデータをまとめて一つの第１ＷＦＳＴデータにした後に（ステップＳ９）、ＷＦＳＴ演算処理を行う（ステップＳ１０、特許請求の範囲における「有限状態変換ステップ」に相当）。ＷＦＳＴ処理部１０９および文字列検出部１１０が行う「ＷＦＳＴ演算処理」は、ＷＦＳＴ合成演算（特許請求の範囲における「合成演算」に相当）を含む処理であって、ＷＦＳＴ処理部１０９がＷＦＳＴデータに基づき状態遷移を順次行い、各状態遷移における重み値を累積して状態遷移ごとの累積重み値を算出し、一つ以上の状態遷移の結果を累積重み値に基づき文字列検出部１１０に出力すると、文字列検出部１１０は当該累積重み値に基づき１つ以上の文字列を文字列認識結果として検出する、といった一連の処理を含む。図８は、ＷＦＳＴ演算処理を示すフローチャートである。文字認識候補群から生成された第１ＷＦＳＴデータは、語彙ＤＢ１１１（図１参照）とのＷＦＳＴ演算処理による語彙検出に用いられる他、文字認識候補群の第１ＷＦＳＴデータそのものを画像に対する検索用テーブルとして利用することもできる。
【００６４】
図８においては、ステップＳ１０−１、Ｓ１０−２、Ｓ１０−３、およびＳ１０−４からなる処理フローが、文字認識候補群の第１ＷＦＳＴデータそのものを画像に対する検索用テーブルとして利用し、画像にユーザ入力キーワードが存在するか否かを判定する場合の処理フローである。この場合に、ＷＦＳＴ処理部１０９は、ステップＳ１〜Ｓ９の一連の処理によって作成された第１ＷＦＳＴデータ、およびユーザが入力したキーワードに対するＷＦＳＴデータ（特許請求の範囲における「第２文字列遷移データ」に相当、以下「第２ＷＦＳＴデータ」という。）に対してＷＦＳＴ演算処理を行うことにより、画像にキーワードが存在するか否かを判定する。
【００６５】
具体的には、まず、第２文字列遷移データ作成部１０７が、ユーザからキーワードを入力し、当該キーワードに対する第２ＷＦＳＴデータを作成する（ステップＳ１０−１）。図８の（Ａ）にはユーザ入力のキーワード（検索語彙）に対して作成した第２ＷＦＳＴデータがイメージされている。次に、ＷＦＳＴ処理部１０９が、ステップＳ１０−１で作成した第２ＷＦＳＴデータと、ステップＳ１〜Ｓ９の一連の処理によって作成された第１ＷＦＳＴデータとを用いてＷＦＳＴ合成演算を行う（ステップＳ１０−２）。次に、ＷＦＳＴ処理部１０９がステップＳ１０−２でのＷＦＳＴ合成演算の結果に基づき、ベストパスを求める演算を行う（ステップＳ１０−３）。最後に、文字列検出部１１０がベストパスの演算結果からユーザ入力キーワードの有無の判定結果、または当該判定結果における重みを出力する（ステップＳ１０−４）。
【００６６】
また、図８において、ステップＳ１０−５、Ｓ１０−６、Ｓ１０−７、Ｓ１０−８、およびＳ１０−９からなる処理フローが、語彙ＤＢ１１１とのＷＦＳＴ演算処理による語彙検出の場合の処理フローである。この場合に、ＷＦＳＴ処理部１０９は、ステップＳ１〜Ｓ９の一連の処理によって作成された第１ＷＦＳＴデータ、および語彙ＤＢ１１１に存在する各語彙のＷＦＳＴデータ（特許請求の範囲における「第３文字列遷移データ」に相当、以下「第３ＷＦＳＴデータ」という。）に対してＷＦＳＴ演算処理を行うことにより、画像に存在する語彙を検出する。
【００６７】
具体的には、まず、第３文字列遷移データ作成部１０８が、語彙ＤＢ１１１に存在する各語彙の第３ＷＦＳＴデータを作成する（ステップＳ１０−５）。次に、ＷＦＳＴ処理部１０９が、ステップＳ１０−５で作成した第３ＷＦＳＴデータと、ステップＳ１〜Ｓ９の一連の処理によって作成された第１ＷＦＳＴデータとを用いてＷＦＳＴ合成演算を行う（ステップＳ１０−６）。次に、ＷＦＳＴ処理部１０９がステップＳ１０−６でのＷＦＳＴ合成演算の結果に基づき、ベストパスを求める演算を行う（ステップＳ１０−７）。最後に、文字列検出部１１０がベストパスにおける重み値順に語彙を出力する（ステップＳ１０−８）。これとともに、辞書が分類別にある場合や、分類情報辞書がある場合には、分類情報を出力する（ステップＳ１０−９）。
【００６８】
（ＷＦＳＴ合成演算）
図９にＷＦＳＴ合成演算（図８のステップＳ１０−２および１０−６）のイメージを示す。ＷＦＳＴ合成演算は、二つのＷＦＳＴデータで表現された状態遷移を比較し、共通する一文字単位の語彙の遷移を取り出す演算である。ＷＦＳＴ合成演算の結果、各遷移の持つ重み値は合成する二つの遷移の重み値から再計算され、ＷＦＳＴ合成演算の結果は状態遷移の重み値からベストパス（重みの小さい遷移）上位を算出したものとなる。なお、オーバーセグメンテーションの場合に、ＷＦＳＴ処理部１０９は複数種類の分割領域の全体を通じて累積重み値が上位のものを、ＷＦＳＴ合成演算の結果として出力する。
【００６９】
語彙検出（ステップＳ１０−５〜Ｓ１０−９からなる処理フロー）では、図９の（Ａ）で示したような文字認識候補群の第１ＷＦＳＴデータ（図５に示したものと同一）と、図９の（Ｂ）で示したような語彙ＤＢ１１１における語彙データの第３ＷＦＳＴデータとのＷＦＳＴ合成演算を行い、遷移の重みが上位の語彙を取り出す（つまり語彙データとマッチするパスだけを取り出す）ことで、重み値の順に語彙を検出する。図９の（Ｃ）は、ＷＦＳＴ合成演算の結果として、「ドコモ」、「人毛」、「人口」が取り出されており、それぞれの重み値が「０．２＋０．２＋０．２＝０．６」、「０．６＋２．０＋０．４＝２．８」、「０．６＋０．６＝１．２」である様子を示している。したがって、ベストパスとしては重み値が最も小さい「ドコモ」が検出され、文字列検出部１１０は「ドコモ」を語彙検出の結果として出力する。また、文字をスキップするためのε遷移の存在により、“天ぷらおむすび“を“天むす“として検出するなど、略称を検出することもできる。また、語彙ＤＢ１１１が大規模な構成の場合、完全に一致する語彙がなくても語彙の一部分を正解語彙として取り出せる場合がある。
【００７０】
検索用テーブルの場合（ステップＳ１０−１〜Ｓ１０−４からなる処理フロー）、画像中から探したい検索キーワードを第２ＷＦＳＴデータで表現し、文字認識候補郡の第１ＷＦＳＴデータとのＷＦＳＴ合成演算を行う。このＷＦＳＴ合成演算では、合成する二つのＷＦＳＴデータの遷移で初期状態から最終状態への遷移が得られるかどうかを判定する。これにより、検索キーワードが文字認識候補郡にあるかどうか、つまり画像中にユーザ入力のキーワードが存在するかどうかが判定できる。更に、遷移の重み値から複数画像に対する順位付けを行うこともできる。図９の例においては、ユーザ入力のキーワードが例えば「ドコモ」、「人毛」、「人口」の何れかであった場合に、合成する二つのＷＦＳＴデータの遷移で初期状態から最終状態への遷移が得られるため、当該ユーザ入力のキーワードが画像中に存在していると判定される。ただし、「ドコモ」、「人毛」、「人口」のそれぞれの重み値が「０．２＋０．２＋０．２＝０．６」、「０．６＋２．０＋０．４＝２．８」、「０．６＋０．６＝１．２」であるため、ベストパスとしては重み値が最も小さい「ドコモ」が検出される。文字列検出部１１０は、ユーザ入力のキーワードが「ドコモ」である場合に、最も小さい重み値を語彙検索の結果として出力する。
【００７１】
図９の（Ｂ）に例示した語彙データは、図９の（Ｃ）に示されるように初期状態を同一とする一文字ずつの語彙の遷移により表される。更に、別途統計処理等により得られた頻度情報、利用者が入力した学習情報や、語彙の文字列長等により重み付けされていてもよい。また、比較の対象である第１ＷＦＳＴデータおよび第２ＷＦＳＴデータ、そして第１ＷＦＳＴデータおよび第３ＷＦＳＴデータのそれぞれは、必ず同じ形式のデータである必要はなく、文字の状態遷移を表すデータであって、比較が可能な程度のデータ形式であればよい。
【００７２】
（ＷＦＳＴ合成演算、バリエーション１）
本実施形態では、ＷＦＳＴ合成演算において種々のバリエーションを想定しており、以下、バリエーション１について説明する。バリエーション１では、語彙ＤＢ１１１は、語彙に対する分類情報を有し、第２文字列遷移データ作成部１０７または第３文字列遷移データ作成部１０８は、当該分類情報を付加して、第２ＷＦＳＴデータまたは第３ＷＦＳＴデータを作成し、ＷＦＳＴ処理部１０９は、当該分類情報を付加して、ＷＦＳＴ合成演算を行い、その結果を出力する。すなわち、バリエーション１では、語彙ＤＢ１１１として、入力を語彙とし、出力を分類情報としたＷＦＳＴデータや、分類情報を付加した語彙ＤＢ１１１のＷＦＳＴデータとの合成演算により、キーワードを検出すると同時に、分類のための情報取得や、キーワードへの分類情報の付加ができる。その場合、同一語彙に複数の分類情報を持たせることができるように、語彙ＤＢ１１１の最終状態の入力に分類情報の一連番号を付加し、出力に分類情報（つまり分類情報の内容）を付加する。また、文字認識から生成された第１ＷＦＳＴデータの最終状態には語彙ＤＢ１１１上の同一語彙に使われる分類情報の最大数分だけの一連番号への遷移を付加する。
【００７３】
図１０はバリエーション１における処理の一例を示す。図１０の（Ａ）は、分類情報を付加した語彙データの一例を示す。検索用テーブルの場合であれば、図１０の（Ａ）は第２文字列遷移データ作成部１０７が作成した分類情報付きの第２ＷＦＳＴデータを示す。語彙検出の場合であれば、図１０の（Ａ）は第３文字列遷移データ作成部１０８が作成した分類情報付きの第３ＷＦＳＴデータを示す。分類情報は、同一語彙の複数ジャンルを識別するための情報である。例えば、語彙「つばめ」には、一連番号が「００００」および「０００１」の二つの分類情報である「新幹線」および「鳥類」が付加されている。なお、図１０の（Ａ）における「＜ｅｐｓ＞」とは、ＷＦＳＴ演算処理における空の遷移を示すものであり、各文字（例えば「つ」、「ば」、「め」など）が入力である場合の出力である。図１０の（Ｂ）は、文字認識の結果に分類情報の一連番号を付加して第１ＷＦＳＴデータに変換した様子を示す。例えば、文字認識の結果「つばめ」には、そのＷＦＳＴデータの最終状態に、語彙ＤＢ１１１上において語彙「つばめ」に使われる分類情報の最大数分だけの一連番号（図１０の例では一連番号「００００」および「０００１」の２つ）への遷移が付加されている。図１０の（Ａ）に示す第２ＷＦＳＴデータまたは第３ＷＦＳＴデータと、図１０の（Ｂ）に示す第１ＷＦＳＴデータとの合成演算が行われ、図１０の（Ｃ）は合成演算の結果を示す。両ＷＦＳＴデータが比較された後に、マッチするパス２つだけが取り出されるが、＜ｅｐｓ＞空遷移により、図１０の（Ｃ）における結果としては分類情報のみが示されている。
【００７４】
図１１は、図１０の場合と同様の場合を示しているが、文字認識の結果が「すずめ」である点で異なる。図１１の（Ｃ）には合成演算の結果が示されており、両ＷＦＳＴデータが比較された後に、マッチするパス１つだけが取り出されるが、図１０の（Ｃ）と同様に、＜ｅｐｓ＞空遷移により、結果としては分類情報のみが示されている。
【００７５】
図１２は、図１０の場合と同様の場合を示しているが、＜ｅｐｓ＞遷移がない点で異なる。図１２の（Ｃ）には合成演算の結果が示されており、両ＷＦＳＴデータが比較された後に、マッチするパス２つだけが取り出され、＜ｅｐｓ＞遷移がないことから、結果としては語彙と分類情報の両方が示されている。
【００７６】
（ＷＦＳＴ合成演算、バリエーション２）
次に、バリエーション２について説明する。バリエーション２では、図１３に示されるように、文字認識装置１が語彙分類関連性ベクトル格納部１１２（特許請求の範囲における「語彙分類関連性ベクトル格納手段」に相当）を更に備える。語彙分類関連性ベクトル格納部１１２は、語彙と分類情報との関連性を示す語彙分類関連性ベクトルを格納するものである。第１文字列遷移データ作成部１０６は、自ら作成した第１ＷＦＳＴデータにおける文字認識処理結果の候補および当該候補の重み値に対して、語彙分類関連性ベクトルの値を加算する。次に、第１文字列遷移データ作成部１０６は、最も大きな値となる分類情報を当該候補に対応する分類情報とし、該分類情報を基に当該候補に対する重み値を修正する。そして、ＷＦＳＴ処理部１０９は、当該修正された重み値に基づき、ＷＦＳＴ合成演算を行う。
【００７７】
すなわち、バリエーション２では、類義関係データベースを利用して分類情報と語彙の関連性をテーブルとして用意しておくことで、分類情報の優先度を変更することができる。例えば、図１４のように語彙として料理メニュー、分類情報として料理ジャンルの関係性をベクトルで表した配列（図１４の（Ｂ）、語彙分類関連性ベクトル）があれば、検出語彙のベクトルを加算し、最もベクトルの大きくなる料理ジャンルを検出語彙の料理ジャンルとして検出することができる。逆に、取得したジャンルの順序やベクトル値により語彙の重みを再決定することで、検出された料理メニューの優先度を変更することもできる。
【００７８】
図１４の（Ａ）は文字認識で検出された語彙（「餃子」、「スープ」など、料理メニューのそれぞれ）を示しており、図１４の（Ｂ）は各料理メニューと料理ジャンルとの対応テーブル（語彙分類関連性ベクトル）を示している。図１４の（Ｃ）は、図１４の（Ｂ）の対応テーブルを参照して、図１４の（Ａ）の各料理メニューに対応するベクトル値を計算した例を示す。この例においては、「中華」に対して最も高いベクトル値が計算されたため、図１４の（Ａ）に示された語彙のジャンルは「中華」と判断される。最後に、図１４の（Ｄ）は、図１４の（Ｃ）で判断されたジャンル「中華」が反映されて、図１４の（Ａ）の各料理メニューに対する重み値が修正された様子を示す。
【００７９】
図１５は、図１４の（Ｄ）に示された修正重み値の計算過程を示す図である。図１５の（Ａ）〜（Ｄ）の手順を経ることにより、図１４の（Ｄ）に示された修正重み値が計算される。図１５の（Ａ）は、検出したジャンル重み値の和を示しており、図１４の（Ｂ）および（Ｃ）に相当する。図１５の（Ｂ）は図１４の（Ａ）に示された語彙重み値を逆数にして、つまり（１／語彙重み値）にして、各語彙のジャンル重み値をかけた様子を示す。例えば、「餃子」に対しては、図１４の（Ａ）に示された語彙重み値である「０．３」を逆数にして、つまり「１／０．３」にして、図１５の（Ａ）に示されたジャンル重み値「０、１．０、０」をそれぞれかけることにより、「０、３．３３、０」の計算結果を得る。同様に、「スープ」に対しては、図１４の（Ａ）に示された語彙重み値である「０．４５」を逆数にして、つまり「１／０．４５」にして、図１５の（Ａ）に示されたジャンル重み値「０、０．３、０．７」をそれぞれかけることにより、「０、０．６７、１．５６」の計算結果を得る。
【００８０】
図１５の（Ｃ）は、図１５の（Ｂ）の結果に、図１５の（Ａ）の和をかけた様子を示す。例えば、「餃子」に対しては、図１５の（Ｂ）の結果である「０、３．３３、０」に図１５の（Ａ）の和である「０．５、２．８、０．７」をそれぞれかけることにより、「０、９．３３、０」の計算結果を得る。同様に、「スープ」に対しては、図１５の（Ｂ）の結果である「０、０．６７、１．５６」に図１５の（Ａ）の和である「０．５、２．８、０．７」をそれぞれかけることにより、「０、１．８７、１．０９」の計算結果を得る。
【００８１】
最後に、図１５の（Ｄ）は各語彙に対して図１５の（Ｃ）の計算結果をジャンルごとにそれぞれ足し合わせ、その逆数を修正重み値とする様子を示す。例えば、「餃子」に対しては、図１５の（Ｃ）の結果である「０、９．３３、０」に対してジャンルごとの数値を全て足し合わせて「９．３３」の計算結果を得る。そして、これを逆数にして修正重み値「０．１１」の計算結果を得る。同様に、「スープ」に対しては、図１５の（Ｃ）の結果である「０、１．８７、１．０９」に対してジャンルごとの数値を全て足し合わせて「２．９６」の計算結果を得る。そして、これを逆数にして修正重み値「０．３４」の計算結果を得る。
【００８２】
（ＷＦＳＴ合成演算、バリエーション３）
次に、バリエーション３について説明する。バリエーション３では、ＷＦＳＴデータに「位置情報」が付加される。すなわち、文字認識部１０５が、文字認識処理結果の候補を出力する際に、当該候補の画像内における位置情報をともに出力する。画像内における位置情報を取得するための別途の手段を設けてもよく、文字認識部１０５が当該取得を行ってもよい。そして、第１文字列遷移データ作成部１０６は、当該位置情報を付加して、第１ＷＦＳＴデータを作成し、ＷＦＳＴ処理部１０９および文字列検出部１１０は、当該位置情報を付加して、ＷＦＳＴ合成演算を行い、その結果を出力する。バリエーション３では、ＷＦＳＴ合成演算そのものによっては検出語彙の位置までは特定できないので、元の位置情報を別途テーブル（下記の図１６の（Ｃ）を参照）として用意し、そのテーブル番号を状態遷移に付加する。そうすることで、検出された結果にもそのテーブル番号が付くので、元の位置情報が特定できるようになる（図１６の（Ｄ）および（Ｅ）を参照）。
【００８３】
図１６はバリエーション３における各機能要素の動作を示すための図である。図１６の（Ｃ）は、文字認識部１０５が出力した位置情報を示す。位置情報は位置情報テーブルとして出力されており、ｘ１およびｙ１により各文字の左上の座標が示され、ｘ２およびｙ２により各文字の右下の座標が示される。また、各位置情報は「００００」、「０００１」等の一連番号で識別される。文字認識部１０５は、文字認識処理結果の候補を出力する際に、図１６の（Ｃ）に示したような一連番号をともに出力する。図１６の（Ｂ）は、第１文字列遷移データ作成部１０６が作成した位置情報付きの第１ＷＦＳＴデータを示す。図５の第１ＷＦＳＴデータと比べると、位置情報の一連番号が付加されている点で異なる。なお、文字スキップのための重み値付きε遷移は省略している。
【００８４】
図１６の（Ａ）は、位置情報（より正確には位置情報の一連番号）を付加した語彙データの一例を示す。検索用テーブルの場合であれば、図１６の（Ａ）は第２文字列遷移データ作成部１０７が作成した位置情報付きの第２ＷＦＳＴデータを示す。語彙検出の場合であれば、図１６の（Ａ）は第３文字列遷移データ作成部１０８が作成した位置情報付きの第３ＷＦＳＴデータを示す。図１６の（Ａ）で示されるように、遷移の最初と最後に位置情報の一連番号が付加されており、付加された一連番号の数は図１６の（Ｃ）に示した位置情報の数の最大数と同じである。この例において位置情報の数の最大数は、「００００」から「９９９９」までの１万個である。
【００８５】
図１６の（Ｄ）は、図１６の（Ａ）の第２ＷＦＳＴデータまたは第３ＷＦＳＴデータと、図１６の（Ｂ）の第１ＷＦＳＴデータとの合成演算を行った結果を示す。合成演算の結果に位置情報の一連番号が付加されている。そして、図１６の（Ｅ）に示されるように、合成演算の結果に付加された一連番号と図１６の（Ｃ）の位置情報テーブルとを照らし合わせることで、「ライン」、「スソ」等の文字認識の結果が画像内のどこに位置しているのかを特定することができる。
【００８６】
重複位置の語彙を一つだけ利用する場合は、文字位置の検出済み判定用配列を別途作成し、ベストパス上位から検出語彙の文字位置に対応する配列位置を検出済みとしていく。すでに配列が検出済みとなっていた場合は、語彙が重なったと判定し、同一位置から検出されたキーワードの優先順位の高いものだけを利用する。このように隙間を埋めるように語彙を配置していくことで、優先順位の高い語彙により文字認識結果の補正が行える。
【００８７】
（ＷＦＳＴ合成演算、バリエーション４）
次に、バリエーション４について説明する。分かち書きが前提の言語の場合、日本語に比べて構成する文字のバリエーションが少ないため、図５のような文字認識候補群のＷＦＳＴデータを利用する場合、例えば「ｐｅｎｃｉｌ」の一部から「ｐｅｎ」だけを検出するというように、単語の一部分だけを検出してしまうおそれがある。そこで、バリエーション４では、ＷＦＳＴデータに「区切り識別情報（特許請求の範囲における「識別情報」に相当）」を付加する。
【００８８】
すなわち、文字認識部１０５が、文字認識処理結果の候補を出力する際に、単語間の区切りを示す区切り識別情報をともに出力する。区切り識別情報は、文字認識において区切りの文字であると認識された場合に、つまり認識した文字が例えばスペース、ピリオド、括弧等の記号であった場合に、出力される。そして、第１文字列遷移データ作成部１０６は、当該区切り識別情報を付加して、区切り識別情報付きの第１ＷＦＳＴデータを作成する。また、第２文字列遷移データ作成部１０７および第３文字列遷移データ作成部１０８も区切り識別情報を付加して、区切り識別情報付きの第２ＷＦＳＴデータおよび第３ＷＦＳＴデータのそれぞれを作成する。区切り識別情報は上記したスペース、ピリオド、括弧等の記号の場合に付加されるほか、単語の最初と最後にも付加される。そして、ＷＦＳＴ処理部１０９は、ＷＦＳＴ処理のための状態遷移を行う際に、二つの区切り識別情報により区切られた部分を単位として当該状態遷移を行う。
【００８９】
図１７はバリエーション４における各機能要素の動作を示すための図である。図１７の（Ｂ）は、画像における文字列が「｛ｔｗｏ  ｐｅｎｓ｝」であった場合に、第１文字列遷移データ作成部１０６が作成した区切り識別情報付きの第１ＷＦＳＴデータを示す。記号「｛」を認識した文字認識部１０５がその文字認識処理結果を出力するとともに、区切り識別情報を出力する。これを受け取った第１文字列遷移データ作成部１０６は記号「｛」を入力とし、区切り識別情報「＜ｓｐ＞」を出力とする識別情報付きの第１ＷＦＳＴデータを作成する。記号「｝」についても同様である。「ｔｗｏ」と「ｐｅｎｓ」の間のスペースについても、文字認識の結果がスペースである旨を文字認識部１０５が出力すると、第１文字列遷移データ作成部１０６は当該スペースに対して区切り識別情報を割り当てた区切り識別情報付きの第１ＷＦＳＴデータを作成する。なお、図１７においては、初期状態から途中状態へのε遷移、途中状態から最終状態へのε遷移、文字スキップのための重み値付きε遷移は省略されている。
【００９０】
図１７の（Ａ）は、区切り識別情報を付加した分かち書き用の語彙データの一例を示す。検索用テーブルの場合であれば、図１７の（Ａ）は第２文字列遷移データ作成部１０７が作成した区切り識別情報付きの第２ＷＦＳＴデータを示す。語彙検出の場合であれば、図１７の（Ａ）は第３文字列遷移データ作成部１０８が作成した区切り識別情報付きの第３ＷＦＳＴデータを示す。図１７の（Ａ）で示されるように、単語の最初と最後に区切り識別情報「＜ｓｐ＞」が付加されている。また、英語において複数形を示す「ｓ」に対しては、出力が「＜ｅｓｐ＞」となるようにする。これにより、複数形の「ｓ」が合成演算の結果で影響しないようにすることができる。
【００９１】
図１７の（Ｂ）に示される第１ＷＦＳＴデータと、図１７の（Ａ）に示される第２ＷＦＳＴデータまたは第３ＷＦＳＴデータとの合成演算を行った結果が、図１７の（Ｃ）に示されている。ＷＦＳＴ処理部１０９が、状態遷移を行う際に、二つの区切り識別情報により区切られた部分を単位として当該状態遷移を行ったため、つまり図１７の（Ｂ）に示される「ｔｗｏ」や「ｐｅｎｓ」を単位として当該状態遷移を行い、図１７の（Ａ）の第１ＷＦＳＴデータとの合成演算を行ったため、結果としては「ｐｅｎ」が出力される。
【００９２】
これに対し、図１７の（Ｄ）は、画像における文字列が「ｐｅｎｃｉｌ．」であった場合に、第１文字列遷移データ作成部１０６が作成した区切り識別情報付きの第１ＷＦＳＴデータを示す。記号「．」を認識した文字認識部１０５がその文字認識処理結果を出力するとともに、区切り識別情報を出力する。これを受け取った第１文字列遷移データ作成部１０６は記号「．」を入力とし、区切り識別情報「＜ｓｐ＞」を出力とする識別情報付きの第１ＷＦＳＴデータを作成する。図１７の（Ｄ）に示される第１ＷＦＳＴデータと、図１７の（Ａ）に示される第２ＷＦＳＴデータまたは第３ＷＦＳＴデータとの合成演算を行った結果が、図１７の（Ｅ）に示されている。ＷＦＳＴ処理部１０９が、状態遷移を行う際に、二つの区切り識別情報により区切られた部分を単位として当該状態遷移を行ったため、つまり図１７の（Ｄ）に示される「ｐｅｎｃｉｌ」を単位として当該状態遷移を行い、図１７の（Ａ）の第１ＷＦＳＴデータとの合成演算を行ったため、マッチングする語彙が検出されていない。これにより、「ｐｅｎｃｉｌ」の一部から「ｐｅｎ」だけが検出されるなど、単語の部分的なスペルのみが検出されることを防止できる。
【００９３】
図１８は、分かち書き言語の語彙と、分かち書きでない言語の語彙とが組み合わさった場合に対して、バリエーション４における各機能要素の動作を示すための図である。以下に説明する方法では、アルファベットとそれ以外の文字間の遷移に、区切りの識別情報の遷移とε遷移を付加する。これにより、アルファベットとそれ以外の文字が区切りなく存在する場合でも、アルファベットで構成された語彙の検出と、アルファベットとそれ以外の文字が組み合わさった語彙の検出を同時に行うことができる。
【００９４】
図１８の（Ａ）は、第１文字列遷移データ作成部１０６が当初作成した区切り識別情報付きの第１ＷＦＳＴデータを示す。図１７と同様の要領で第１ＷＦＳＴデータが作成され、単語の最初と最後に区切り識別情報「＜ｓｐ＞」が付加されている。図１８の（Ｂ）は、第１文字列遷移データ作成部１０６が図１８の（Ａ）を修正して作成した区切り識別情報付きの第１ＷＦＳＴデータを示す。アルファベットとそれ以外の文字間の遷移に、つまり分かち書き言語の語彙と、分かち書きでない言語の語彙との間の遷移に、区切り識別情報が付加されている。
【００９５】
更に、区切り識別情報とあわせてε遷移「＜ｅｐｓ＞」を付加することで、アルファベットとそれ以外の文字が組み合わさった語彙にも対応している。つまり、アルファベットで構成された遷移と、それ以外の文字で構成された遷移とが並列に並んでいると考え、文字間の遷移に図１８の（Ｃ）に示すような状態遷移を付加する。これにより、アルファベットとそれ以外の文字間の遷移に区切り識別情報「＜ｓｐ＞」の遷移が付加される構造となる。なお、図１８においては、初期状態から途中状態へのε遷移、途中状態から最終状態へのε遷移、文字スキップのための重み値付きε遷移は省略されている。
【００９６】
（文字認識システム１００としての構成例）
続いて、本実施形態の他の構成例について説明する。以上では、本発明が文字認識装置１として構成された場合を説明したが、これに限らず、本発明は、図１９に示されるように、端末２００およびサーバ３００を備えた文字認識システム１００として構成されることもできる。図１９はこの場合の構成概要図であり、端末２００とサーバ３００とは通信ネットワークにより互いに通信可能に接続されている。
【００９７】
端末２００は、機能的構成要素として、画像読み込み部１０１（特許請求の範囲における「画像入力手段」に相当）、画像二値化部１０２、文字領域検出部１０３（特許請求の範囲における「文字領域検出手段」に相当）、文字領域分割部１０４（特許請求の範囲における「文字領域分割手段」に相当）、文字認識部１０５（特許請求の範囲における「文字認識手段」に相当）、第１文字列遷移データ作成部１０６（特許請求の範囲における「第１文字列遷移データ作成手段」に相当）、第２文字列遷移データ作成部１０７（特許請求の範囲における「第２文字列遷移データ作成手段」に相当）を備える。
【００９８】
サーバ３００は、機能的構成要素として、第３文字列遷移データ作成部１０８（特許請求の範囲における「第３文字列遷移データ作成手段」に相当）、ＷＦＳＴ処理部１０９（特許請求の範囲における「有限状態変換手段」に相当）、文字列検出部１１０（特許請求の範囲における「文字列検出手段」に相当）、語彙ＤＢ１１１（特許請求の範囲における「語彙データベース」に相当）を備える。
【００９９】
端末２００およびサーバ３００が備える機能的構成要素それぞれの説明については、文字認識装置１において説明した内容と重複するため、ここでは説明を省略する。なお、本実施形態では第１文字列遷移データ作成部１０６および第２文字列遷移データ作成部１０７が端末２００内に存在し、第３文字列遷移データ作成部１０８がサーバ３００内に存在している構成例を挙げているが、これに限らず、第１文字列遷移データ作成部１０６、第２文字列遷移データ作成部１０７、第３文字列遷移データ作成部１０８が端末２００、サーバ３００の何れに存在していてもよい。
【０１００】
図２は端末２００のハードウェア構成図としても参照することができる。図２に示すように、端末２００は、物理的には、ＣＰＵ２１、ＲＯＭ２２及びＲＡＭ２３等の主記憶装置、キーボード、マウスをはじめ、カメラ等の画像を読み込むための装置または外部装置からデータを読み込むための装置である入力デバイス２４、ディスプレイ等の出力デバイス２５、他の装置との間でデータの送受信を行うためのネットワークカード等の通信モジュール２６、ハードディスク等の補助記憶装置２７などを含む通常のコンピュータシステムとして構成される。入力デバイス２４による画像の読み込みは、自装置で撮影された画像であってもよく、または他装置で撮影された画像であってもよい。上述した端末２００の各機能は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、ＣＰＵ２１の制御の元で入力デバイス２４、出力デバイス２５、通信モジュール２６を動作させると共に、主記憶装置２２、２３や補助記憶装置２７におけるデータの読み出し及び書き込みを行うことで実現される。
【０１０１】
図２はサーバ３００のハードウェア構成図としても参照することができる。図２に示すように、サーバ３００は、物理的には、ＣＰＵ３１、ＲＯＭ３２及びＲＡＭ３３等の主記憶装置、キーボード、マウスをはじめ、外部装置からデータを読み込む装置である入力デバイス３４、ディスプレイ等の出力デバイス３５、他の装置との間でデータの送受信を行うためのネットワークカード等の通信モジュール３６、ハードディスク等の補助記憶装置３７などを含む通常のコンピュータシステムとして構成される。上述したサーバ３００の各機能は、ＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、ＣＰＵ３１の制御の元で入力デバイス３４、出力デバイス３５、通信モジュール３６を動作させると共に、主記憶装置３２、３３や補助記憶装置３７におけるデータの読み出し及び書き込みを行うことで実現される。
【０１０２】
（文字認識プログラムとしての構成例）
本発明は、文字認識プログラムとして構成されることもでき、以上の文字認識装置１に関する説明は、コンピュータを文字認識装置１として動作させる文字認識プログラムに関する説明としても捉えることができる。重複する説明は省略するが、文字認識プログラムは、コンピュータを、以上で説明した画像読み込み部１０１、画像二値化部１０２、文字領域検出部１０３、文字領域分割部１０４、文字認識部１０５、第１文字列遷移データ作成部１０６、第２文字列遷移データ作成部１０７、第３文字列遷移データ作成部１０８、ＷＦＳＴ処理部１０９、および文字列検出部１１０として機能させる。文字認識プログラムは、例えば、記録媒体に格納されて提供される。なお、記録媒体としては、フレキシブルディスク、ＣＤ、ＤＶＤ等の記録媒体、ＲＯＭ等の記録媒体、または半導体メモリ等が例示される。
【０１０３】
（本実施形態の作用及び効果）
続いて、本実施形態にかかる文字認識装置１の作用及び効果について説明する。本実施形態の文字認識装置１によれば、外部の電話帳等のデータベースを利用しないことから、当該電話帳データベースなどに含まれる大量の単語知識との照合が必要なく、文字認識処理の高速化を図ることができる。つまり、本実施形態によれば、文字認識結果から単語を検出して外部の単語データベースとの照合を行うのではなく、文字認識装置１内に存在する単語・分類情報データベースと文字認識候補群を有限状態トランスデューサ（ＷＦＳＴ）で表現し、ＷＦＳＴの合成演算を行うことで、高速に単語抽出・分類情報抽出・文字位置抽出処理を行うことが可能となる。また、位置情報取得手段や方位情報取得手段等も不要であるため、装置構成を簡素化することができる。つまり、位置情報取得装置や方位情報取得装置を用いず、文字認識装置１内の情報のみを用いて文字認識が可能となる。このような装置構成を用いて、精度よく且つ高速で、情景画像から文字認識を行うことが可能である。
【０１０４】
また、本実施形態では、画像にノイズが現れる形で文字領域を抽出しても、ＷＦＳＴ演算処理による高度な言語的制約を加えることが可能である。これにより当該ノイズを取り除くことができるほか、優先順位を下げることができる。このため、明暗の変動や文字の歪みなど、情景画像特有の問題を有する場合にも認識精度を高めることができる。
【０１０５】
また、既存手法による文字認識結果に、本実施形態によって検出した語彙を当てはめることで、本実施形態の文字認識装置１等を既存手法の文字認識結果に対してエラー訂正を行うための装置として利用することができる。
【０１０６】
また、本実施形態によれば、文字認識候補群の第１ＷＦＳＴデータそのものを画像に対する検索用テーブルとして利用し、本実施形態の文字認識装置１等を、画像にユーザ入力キーワードが存在するか否かを判定する装置等として活用することができる。
【０１０７】
また、本実施形態によれば、文字認識候補群の第１ＷＦＳＴデータおよび語彙ＤＢ１１１における第３ＷＦＳＴデータに対し合成演算を行うことにより、本実施形態の文字認識装置１等を語彙検出装置等として活用することができる。
【０１０８】
また、本実施形態によれば、第１文字列遷移データ作成部１０６が重み値を計算するための具体的な手法が提供される。
【０１０９】
また、本実施形態によれば、第１文字列遷移データ作成部１０６が重み値を修正するための具体的な手法が提供される。また、重み値の修正により語彙の検出精度を上げることができる。
【０１１０】
また、本実施形態によれば、文字領域分割部１０４がオーバーセグメンテーションを行った場合でも適切な対応が可能である。
【０１１１】
また、本実施形態によれば、第１空遷移、第２空遷移、および第３空遷移を第１ＷＦＳＴデータに含ませることで、第１ＷＦＳＴデータと第２ＷＦＳＴデータまたは第３ＷＦＳＴデータとの合成演算の精度を高めることができる。
【０１１２】
また、本実施形態によれば、区切りを示す識別情報を用いることにより、分かち書き言語の対しても、精度よく文字認識を行うことができる。更に、英語のような分かち書きをする言語、日本語のような分かち書きをしない言語の辞書を、語彙を共通にして扱うことができる。
【０１１３】
また、本実施形態によれば、位置情報を用いることにより、文字認識の結果が画像内のどこに位置しているのかを特定することができる。
【０１１４】
また、本実施形態によれば、分類情報を用いることにより、文字認識の結果がどのジャンルに属するかを特定することができる。
【符号の説明】
【０１１５】
１…文字認識装置、１００…文字認識システム、１０１…画像読み込み部、１０２…画像二値化部、１０３…文字領域検出部、１０４…文字領域分割部、１０５…文字認識部、１０６…第１文字列遷移データ作成部、１０７…第２文字列遷移データ作成部、１０８…第３文字列遷移データ作成部、１０９…処理部、１１０…文字列検出部、１１１…語彙ＤＢ、２００…端末、３００…サーバ。
【図１】
0005647919.tif 000002
【図２】
0005647919.tif 000003
【図３】
0005647919.tif 000004
【図５】
0005647919.tif 000005
【図６】
0005647919.tif 000006
【図８】
0005647919.tif 000007
【図９】
0005647919.tif 000008
【図１０】
0005647919.tif 000009
【図１１】
0005647919.tif 000010
【図１２】
0005647919.tif 000011
【図１３】
0005647919.tif 000012
【図１４】
0005647919.tif 000013
【図１５】
0005647919.tif 000014
【図１６】
0005647919.tif 000015
【図１７】
0005647919.tif 000016
【図１８】
0005647919.tif 000017
【図１９】
0005647919.tif 000018
【図４】
0005647919.tif 000019
【図７】
0005647919.tif 000020