(57)【要約】【課題】符号語を精度良く認識する。【解決手段】生成装置は、画像形成装置および認識装置が用いる複数の符号語を含む符号表を生成する。画像形成装置は、符号表から選択した符号語を表す符号画像を対象物に形成する。認識装置は、対象物に形成された符号画像を文字認識した認識結果と、符号表と、予め生成された混同行列とに基づき、符号画像に表された符号語を特定する。混同行列は、画像形成装置がそれぞれの文字を表す画像を対象物に形成し、認識装置が画像を文字認識した場合に、それぞれの文字として認識される確率を表する。生成装置は、符号表を変更する変更部と、変更された符号表に含まれる符号語が誤認識される可能性を表す評価値を混同行列を用いて算出する評価値算出部と、評価値が小さくなるように符号表の変更および評価値の算出を繰り返し実行させて、予め定められた条件に達した段階において、符号表を出力する制御部とを有する。【選択図】図１
2018147391.tif 000002
【特許請求の範囲】
【請求項１】
画像形成装置および認識装置が用いる、複数の符号語を含む符号表を生成する生成装置であって、
前記画像形成装置は、前記符号表から選択した符号語を表す符号画像を対象物に形成し、
前記認識装置は、前記対象物に形成された前記符号画像を文字認識した認識結果と、前記符号表と、予め生成された混同行列とに基づき、前記符号画像に表された符号語を特定し、
前記混同行列は、前記画像形成装置がそれぞれの文字を表す画像を前記対象物に形成し、前記認識装置が前記画像を文字認識した場合に、それぞれの文字として認識される確率を表し、
前記生成装置は、
前記符号表を変更する変更部と、
変更された前記符号表に含まれる符号語が誤認識される可能性を表す評価値を前記混同行列を用いて算出する評価値算出部と、
前記評価値が小さくなるように前記符号表の変更および前記評価値の算出を繰り返し実行させて、予め定められた条件に達した段階において、前記符号表を出力する制御部と、
を有する生成装置。
【請求項２】
前記制御部は、予め定められた条件に達した段階において、前記評価値が最も小さい前記符号表を出力する
請求項１に記載の生成装置。
【請求項３】
前記評価値算出部は、前記符号表に含まれる複数の符号語のそれぞれに対する個別評価値を合計した値を前記評価値として算出し、
前記個別評価値は、対応する符号語について、前記認識装置によって異なる符号語が特定される確率の近似値である
請求項１または２に記載の生成装置。
【請求項４】
前記評価値算出部は、下記の式（１）により前記評価値を算出する
請求項３に記載の生成装置。
【数１】
2018147391.tif 000024
Ｅは、前記評価値であり、
ｊは、１からｍまでの整数を表し、前記符号表に含まれる符号語を指定する番号であり、
ｍは、前記符号表に含まれる符号語の個数であり、
Ｅ（ｊ）は、前記符号表に含まれるｊ番目の符号語に対する前記個別評価値である。
【請求項５】
前記認識装置は、前記認識結果に対する、前記符号表に含まれる複数の符号語のそれぞれの対数尤度を下記の式（２）により算出し、算出した前記対数尤度が最小の符号語を、前記符号画像に表された符号語として特定する
請求項４に記載の生成装置。
【数２】
2018147391.tif 000025
Ｄ（ｊ）は、前記認識結果に対する、前記符号表に含まれるｊ番目の符号語の前記対数尤度であり、
ａ（ｊ，ｘ）は、前記符号表に含まれるｊ番目の符号語における、ｘ番目（ｘは１からｎまでの整数）の文字を指定する番号であり、
ｒ（ｘ）は、前記認識結果におけるｘ番目の文字を指定する番号であり、
Ｃ（ａ，ｒ）は、前記混同行列に含まれる、ａ番目の文字を表す第１画像を前記対象物の表面に形成した場合にｒ番目の文字に文字認識される確率を表す。
【請求項６】
前記評価値算出部は、下記の式（３）により前記個別評価値を算出する
請求項５に記載の生成装置。
【数３】
2018147391.tif 000026
ｈは、１からｍまでの整数を表し、前記符号表に含まれる符号語を指定する番号であり、
Ｅ（ｊ，ｈ）は、前記画像形成装置がｊ番目の符号語を表す前記符号画像を前記対象物に形成し、前記認識装置が前記符号画像を文字認識した場合において、前記認識結果に対するｊ番目の符号語の前記対数尤度が、前記認識結果に対するｈ番目の符号語の前記対数尤度より大きくなる確率の推定値を表す。
【請求項７】
前記変更部は、前記符号表の一部を変更し、
前記制御部は、
変更後の前記符号表の前記評価値が、変更前の前記符号表の前記評価値より減少した場合、前記符号表の変更を確定し、変更が確定した前記符号表をさらに前記変更部により変更させ、
変更後の前記符号表の前記評価値が、変更前の前記符号表の前記評価値より減少しなかった場合、前記符号表の変更を取り消して、再度、前記変更部により前記符号表を変更させる
請求項１から６の何れか１項に記載の生成装置。
【請求項８】
前記制御部は、前記評価値の減少が停止した場合に、前記符号表を出力する
請求項７に記載の生成装置。
【請求項９】
前記制御部は、複数の前記符号表を含む符号表集合を世代毎に管理し、
前記変更部は、現世代の符号表集合から次の符号表世代の集合を、遺伝的アルゴリズムにより生成し、
前記制御部は、予め定められた条件に達した世代の符号表集合に含まれる前記符号表のうち、前記評価値が基準条件を満たす前記符号表を出力する
請求項１から６の何れか１項に記載の生成装置。
【請求項１０】
画像形成装置および認識装置が用いる、複数の符号語を含む符号表を生成する生成装置であって、
前記画像形成装置は、前記符号表から選択した符号語を表す符号画像を対象物に形成し、
前記認識装置は、前記対象物に形成された前記符号画像を文字認識した認識結果と、前記符号表と、予め生成された混同行列とに基づき、前記符号画像に表された符号語を特定し、
前記混同行列は、前記画像形成装置がそれぞれの文字を表す画像を前記対象物に形成し、前記認識装置が前記画像を文字認識した場合に、それぞれの文字として認識される確率を表し、
前記生成装置は、
前記符号表を変更する変更部と、
変更後の前記符号表に含まれる符号語が誤認識される可能性を表す第１の評価値と、変更前の前記符号表に含まれる符号語が誤認識される可能性を表す第２の評価値との差分を表す差分評価値を、前記混同行列を用いて算出する評価値算出部と、
前記差分評価値が０より小さくなるように前記符号表の変更および前記差分評価値の算出を繰り返し実行させて、予め定められた条件に達した段階において前記符号表を出力する制御部と、
を有する生成装置。
【請求項１１】
前記変更部は、前記符号表の一部を変更し、
前記制御部は、
前記差分評価値が０より小さくなった場合、前記符号表の変更を確定し、変更が確定した前記符号表をさらに前記変更部により変更させ、
前記差分評価値が０より小さくならなかった場合、前記符号表の変更を取り消して、再度、前記変更部により前記符号表を変更させる
請求項１０に記載の生成装置。
【請求項１２】
前記制御部は、評価値の減少が停止した場合に、前記符号表を出力する
請求項１１に記載の生成装置。
【請求項１３】
請求項１から１２の何れか１項に記載の生成装置としてコンピュータを機能させるためのプログラム。
【請求項１４】
複数の符号語を含む符号表から選択した符号語を表す符号画像を対象物に形成する画像形成装置と、
前記対象物に形成された前記符号画像を文字認識した認識結果と、前記符号表と、予め生成された混同行列とに基づき、前記符号画像に表された符号語を特定する認識装置と、
前記画像形成装置および前記認識装置が用いる、前記符号表を生成する生成装置と、
を備える認識システムであって、
前記混同行列は、前記画像形成装置がそれぞれの文字を表す画像を前記対象物に形成し、前記認識装置が前記画像を文字認識した場合に、それぞれの文字として認識される確率を表し、
前記生成装置は、
前記符号表を変更する変更部と、
変更された前記符号表に含まれる符号語が誤認識される可能性を表す評価値を前記混同行列を用いて算出する評価値算出部と、
前記評価値が小さくなるように前記符号表の変更および前記評価値の算出を繰り返し実行させて、予め定められた条件に達した段階において、前記符号表を出力する制御部と、
を有する認識システム。
【請求項１５】
画像形成装置および認識装置が用いる、複数の符号語を含む符号表を生成する生成装置において実行される生成方法であって、
前記画像形成装置は、前記符号表から選択した符号語を表す符号画像を対象物に形成し、
前記認識装置は、前記対象物に形成された前記符号画像を文字認識した認識結果と、前記符号表と、予め生成された混同行列とに基づき、前記符号画像に表された符号語を特定し、
前記混同行列は、前記画像形成装置がそれぞれの文字を表す画像を前記対象物に形成し、前記認識装置が前記画像を文字認識した場合に、それぞれの文字として認識される確率を表し、
前記生成装置が、
前記符号表を変更する変更ステップと、
変更された前記符号表に含まれる符号語が誤認識される可能性を表す評価値を前記混同行列を用いて算出する評価値算出ステップと、
前記評価値が小さくなるように前記符号表の変更および前記評価値の算出を繰り返し実行させて、予め定められた条件に達した段階において、前記符号表を出力する制御ステップと、
を実行する生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、生成装置、プログラム、認識システムおよび生成方法に関する。
【背景技術】
【０００２】
従来より、帳票または物品等の対象物に印字された識別番号を用いて、対象物を識別したり、追跡したり、管理したり、検索したりするシステムが知られている。このようなシステムでは、撮像処理および光学的文字認識処理を用いて、対象物に印字された識別番号を自動認識する。
【０００３】
このようなシステムでは、文字認識処理を実行する場合、何らかの方法を用いて誤認識の訂正処理を行うことが多い。一般的な誤認識の訂正処理として、例えば、単語後処理、ｎ−ｇｒａｍ後処理、ＢＣＨ符号等の代数学的な誤り訂正符号を用いた訂正処理等が知られている。
【０００４】
しかし、認識対象が識別番号の場合、訂正処理として、単語後処理およびｎ−ｇｒａｍ後処理を用いることができない。また、代数学的な誤り訂正符号を用いた訂正処理では、使用できる文字の種類に制約が発生してしまう。また、単語後処理、ｎ−ｇｒａｍ後処理および代数学的な誤り訂正符号を用いた訂正処理では、光学的文字認識処理等による特有の誤認識の傾向を訂正処理に反映することができない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０７−１５２８５４
【特許文献２】特開昭５８−１６５１８０
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明が解決しようとする課題は、対象物に形成した符号語を精度良く認識することにある。
【課題を解決するための手段】
【０００７】
実施形態に係る生成装置は、画像形成装置および認識装置が用いる、複数の符号語を含む符号表を生成する。前記画像形成装置は、前記符号表から選択した符号語を表す符号画像を対象物に形成する。前記認識装置は、前記対象物に形成された前記符号画像を文字認識した認識結果と、前記符号表と、予め生成された混同行列とに基づき、前記符号画像に表された符号語を特定する。前記混同行列は、前記画像形成装置がそれぞれの文字を表す画像を前記対象物に形成し、前記認識装置が前記画像を文字認識した場合に、それぞれの文字として認識される確率を表する。前記生成装置は、前記符号表を変更する変更部と、変更された前記符号表に含まれる符号語が誤認識される可能性を表す評価値を前記混同行列を用いて算出する評価値算出部と、前記評価値が小さくなるように前記符号表の変更および前記評価値の算出を繰り返し実行させて、予め定められた条件に達した段階において、前記符号表を出力する制御部と、を有する。
【図面の簡単な説明】
【０００８】
【図１】図１は、第１実施形態に係る認識システム１０を示す図である。
【図２】図２は、認識システム１０の処理の流れを示すシーケンス図である。
【図３】図３は、符号表の一例を示す図である。
【図４】図４は、文字集合の一例を示す図である。
【図５】図５は、画像形成装置１４が、符号表から選択した符号語を印字している状態を示す図である。
【図６】図６は、認識装置１６の機能構成を示す図である。
【図７】図７は、文字認識処理を示すフローチャートである。
【図８】図８は、連結成分のグループの一例を示す図である。
【図９】図９は、外接矩形の一例を示す図である。
【図１０】図１０は、符号認識部４６の機能構成を示す図である。
【図１１】図１１は、混同行列の要素の配置を示す図である。
【図１２】図１２は、符号認識処理を示すフローチャートである。
【図１３】図１３は、生成装置１２の機能構成を示す図である。
【図１４】図１４は、第１実施形態に係る生成装置１２の処理の流れを示すフローチャートである。
【図１５】図１５は、第２実施形態に係る生成装置１２の処理の流れを示すフローチャートである。
【図１６】図１６は、第３実施形態に係る生成装置１２の処理の流れを示すフローチャートである。
【図１７】図１７は、実施形態に係るコンピュータ２００の構成を示す図である。
【発明を実施するための形態】
【０００９】
（第１実施形態）
図１は、第１実施形態に係る認識システム１０を示す図である。
【００１０】
第１実施形態に係る認識システム１０は、帳票または物品等の対象物２０の表面に、対象物２０を識別するための情報である符号語を表す符号画像を形成する。そして、対象物２０が加工または搬送等をされた後、認識システム１０は、対象物２０の表面に形成した符号画像を撮像し、撮像した画像に対して認識処理をして、符号画像に含まれる符号語を特定する。これにより、認識システム１０は、加工または搬送等された対象物２０を識別したり、追跡したり、管理したり、検索したりすることができる。
【００１１】
認識システム１０は、生成装置１２と、画像形成装置１４と、認識装置１６と、データベースサーバ１８とを備える。
【００１２】
生成装置１２は、異なる複数の符号語を含む符号表を生成する。なお、符号表の詳細については、図３および図４等を参照して後述する。
【００１３】
生成装置１２は、生成した符号表を画像形成装置１４および認識装置１６に与える。生成装置１２は、符号表をネットワークを介して画像形成装置１４および認識装置１６に送信してもよいし、符号表を記録媒体に記録して画像形成装置１４および認識装置１６に読み取らせてもよい。
【００１４】
画像形成装置１４は、対象物２０を受け取る。例えば、画像形成装置１４は、搬送装置により搬送された対象物２０を受け取る。画像形成装置１４は、対象物２０が所定の場所に配置されたタイミングで、画像形成装置１４は、生成装置１２により生成された符号表から、その対象物２０に割り当てるべき符号語を選択する。そして、画像形成装置１４は、選択した符号語を表す符号画像を対象物２０における所定の位置に形成する。
【００１５】
例えば、画像形成装置１４は、選択した符号語を表す符号画像を対象物２０における所定の位置に印刷する。この場合、画像形成装置１４は、第１センサ装置２２と、印刷装置２４と、第１情報処理装置２６とを有する。第１センサ装置２２は、所定の場所に、対象物２０が配置されたことを検出する。印刷装置２４は、対象物２０の表面の所定の位置に、第１情報処理装置２６から与えられた符号語を表す符号画像を印刷する。
【００１６】
第１情報処理装置２６は、コンピュータ等であり、所定のアプリケーションプログラムを実行して、第１センサ装置２２および印刷装置２４を制御する。第１情報処理装置２６は、生成装置１２から符号表を予め受け取り、受け取った符号表を記憶する。対象物２０が所定の場所に配置されたことが第１センサ装置２２により検出されたタイミングで、第１情報処理装置２６は、対象物２０に割り当てるべき符号語を符号表から選択し、印刷装置２４により、選択した符号語を表す符号画像を対象物２０の所定の位置に印刷させる。
【００１７】
なお、画像形成装置１４は、印刷装置２４に代えて、対象物２０の表面等を削り出すカッティング装置を有してもよい。この場合、カッティング装置は、対象物２０の表面等にレーザ等で符号語を表す凹凸を形成する。画像形成装置１４は、このようなカッティング装置を用いても、符号語を表す符号画像を対象物２０に形成することができる。
【００１８】
認識装置１６は、符号画像が形成された対象物２０を受け取る。例えば、認識装置１６は、搬送装置により搬送された対象物２０を受け取る。対象物２０が所定の撮像位置に配置されたタイミングで、認識装置１６は、対象物２０に形成された符号画像を撮像する。認識装置１６は、撮像して得られた符号画像に対して文字認識処理をして、文字列である認識結果を取得する。そして、認識装置１６は、符号画像を文字認識した認識結果と、生成装置１２により生成された符号表と、予め生成された混同行列とに基づき、符号画像に表された符号語を特定する。
【００１９】
なお、画像形成装置１４が用いる符号表と、認識装置１６が用いる符号表は、同一である。また、混同行列の詳細については、図１１等を参照して後述する。
【００２０】
例えば、認識装置１６は、第２センサ装置２８と、撮像装置３０と、第２情報処理装置３２とを有する。第２センサ装置２８は、対象物２０が、所定の撮像位置に配置されたことを検出する。撮像装置３０は、対象物２０の表面の所定の位置を撮像する。
【００２１】
第２情報処理装置３２は、コンピュータ等であり、所定のアプリケーションプログラムを実行して、第２センサ装置２８および撮像装置３０を制御する。第２情報処理装置３２は、符号表および混同行列を予め記憶する。第２情報処理装置３２は、対象物２０が所定の撮像位置に配置されたことが第２センサ装置２８により検出されたタイミングで、撮像装置３０に対象物２０の表面の所定の位置を撮像させて、符号画像を取得する。第２情報処理装置３２は、符号画像に対して文字認識処理をして、文字列である認識結果を取得する。そして、第２情報処理装置３２は、認識結果と、符号表と、混同行列とに基づき、符号画像に表された符号語を特定する。
【００２２】
データベースサーバ１８は、認識装置１６から、特定された符号語等をネットワークを介して取得して、内部に格納する。
【００２３】
図２は、認識システム１０の処理の流れを示すシーケンス図である。認識システム１０は、例えば図２に示す流れで処理を実行する。
【００２４】
生成装置１２は、符号表を生成する（Ｓ１１）。続いて、生成装置１２は、生成した符号表を、画像形成装置１４および認識装置１６に与える（Ｓ１２，Ｓ１３）。
【００２５】
続いて、画像形成装置１４は、対象物２０が所定の場所に配置されたことを検出する（Ｓ１４）。続いて、画像形成装置１４は、所定の場所に配置された対象物２０に割り当てるべき符号語を、符号表から選択する（Ｓ１５）。続いて、画像形成装置１４は、選択した符号語を表す符号画像を、対象物２０の表面に形成する（Ｓ１６）。なお、画像形成装置１４は、新たな対象物２０が所定の場所に配置される毎に、Ｓ１４〜Ｓ１６の処理を繰り返す。
【００２６】
続いて、符号画像が形成された対象物２０は、認識装置１６へ移動する（Ｓ１７）。
【００２７】
続いて、認識装置１６は、対象物２０が所定の撮像位置に配置されたことを検出する（Ｓ１８）。続いて、認識装置１６は、対象物２０における表面の所定の位置を撮像して符号画像を取得する（Ｓ１９）。続いて、認識装置１６は、取得した符号画像に対して認識処理をして、符号画像に表された符号語を特定する（Ｓ２０）。続いて、認識装置１６は、特定した符号語を出力する（Ｓ２１）。続いて、認識装置１６は、例えば、データベースサーバ１８へ特定した符号語を送信する。なお、認識装置１６は、新たな対象物２０が所定の撮像位置に配置される毎に、Ｓ１８〜Ｓ２１の処理を繰り返す。
【００２８】
図３は、符号表の一例を示す図である。図４は、文字集合の一例を示す図である。
【００２９】
符号表は、異なる複数の符号語を含む。符号表は、ｍ個（ｍは、２以上の整数）の符号語を含む。符号表は、例えば、１番目からｍ番目までの番号（符号インデックス）に対応付けてそれぞれの符号語を格納する。符号表は、例えば配列であってよい。
【００３０】
それぞれの符号語は、予め定められた文字集合の中から選択された複数の文字の並びである。符号語は、例えば、予め定められたｎ個（ｎは、２以上の整数）の文字の並びである。文字集合に含まれる文字は、数字であってもよいし、アルファベットであってもよいし、日本語のひらがなであってもよいし、日本語の漢字であってもよいし、これらの組み合わせであってもよい。例えば、図４に示すように、文字集合は、０から９までの数字と、ａ、ｂ、ｃ、ｄ、ｅおよびｆのアルファベットとを含んでよい。
【００３１】
文字集合に含まれるそれぞれの文字を、Ｓ（ｉ）と表す。
【００３２】
ｉは、文字集合の中の文字を指定する番号（文字インデックス）であり、１以上、ｚ以下の整数である。ｚは、文字集合に含まれる文字の個数である。例えば、図４に示す文字集合の場合、それぞれの文字は、Ｓ（１）＝０、Ｓ（２）＝１、Ｓ（３）＝２、…、Ｓ（１５）＝ｅ、Ｓ（１６）＝ｆとなる。
【００３３】
符号表におけるｊ番目の符号語を、下記のようにＡ（ｊ）と表す。
Ａ（ｊ）＝Ｓ（ａ（ｊ，１）），Ｓ（ａ（ｊ，２）），Ｓ（ａ（ｊ，３）），…，Ｓ（ａ（ｊ，ｎ））
【００３４】
ｊは、符号インデックスであり、１以上、ｍ以下の整数である。ａ（ｊ，ｋ）は、符号表におけるｊ番目の符号語のｋ番目（ｋは、１以上、ｎ以下の整数）の文字を、文字集合中において指定する文字インデックスである。
【００３５】
図５は、画像形成装置１４が、符号表から選択した符号語を印字している状態を示す図である。画像形成装置１４は、例えば内部にカウンタを保持する。画像形成装置１４は、対象物２０が所定の場所に配置される毎に、カウンタの値を１ずつインクリメントする。画像形成装置１４は、カウンタの値と一致する符号インデックスの符号語を、符号表から取得する。そして、画像形成装置１４は、取得した符号語を表す符号画像を、対象物２０に印刷する。これにより、画像形成装置１４は、複数の対象物２０のそれぞれに、異なる符号語を表す符号画像を形成することができる。
【００３６】
図６は、認識装置１６の第２情報処理装置３２の機能構成を示す図である。認識装置１６の第２情報処理装置３２は、画像取得部４２と、文字認識部４４と、符号認識部４６とを有する。
【００３７】
画像取得部４２は、撮像装置３０が撮像した符号画像を取得する。文字認識部４４は、光学的文字認識処理を用いて、符号画像に含まれる文字列を認識する。文字認識部４４は、文字列である認識結果を符号認識部４６に与える。なお、文字認識部４４が認識して得られた認識結果には、誤りが含まれている可能性がある。
【００３８】
符号認識部４６は、符号画像を文字認識した認識結果と、符号表と、予め生成された混同行列とに基づき、符号画像に表された符号語を特定する。そして、符号認識部４６は、特定した符号語を出力する。なお、符号認識部４６の詳細については、図１０等を参照して後述する。
【００３９】
図７は、文字認識部４４による文字認識処理の一例を示すフローチャートである。図８は、連結成分のグループの一例を示す図である。図９は、外接矩形の一例を示す図である。
【００４０】
文字認識部４４は、例えば、図７に示すフローチャートに従って、符号画像に対して認識処理を実行する。まず、文字認識部４４は、文字を構成する画素（例えば黒画素）が連結した成分（領域）を、符号画像の中から検出する（Ｓ３１）。
【００４１】
続いて、文字認識部４４は、連結成分のうち、距離が予め定められた閾値以下の連結成分同士をまとめてグループ化する（Ｓ３２）。例えば、文字認識部４４は、図８に示すように、連結成分をグループ化する。
【００４２】
続いて、文字認識部４４は、それぞれのグループについて、黒画素に外接する矩形（外接矩形）を算出する（Ｓ３３）。例えば、文字認識部４４は、図９に示すように、それぞれのグループについて、外接矩形を算出する。
【００４３】
続いて、文字認識部４４は、それぞれのグループについて、外接矩形の内部を例えば部分空間法で認識処理して、外接矩形内の文字を取得する（Ｓ３４）。続いて、文字認識部４４は、それぞれのグループから取得した文字を所定の方向に連結して複数の文字から構成された文字列を生成する（Ｓ３５）。そして、文字認識部４４は、生成した文字列を認識結果として符号認識部４６へと出力する（Ｓ３６）。
【００４４】
図１０は、符号認識部４６の機能構成を示す図である。符号認識部４６は、符号表記憶部５２と、第１混同行列記憶部５４と、尤度算出部５６と、特定部５８とを有する。
【００４５】
符号表記憶部５２は、生成装置１２により予め生成された符号表を記憶する。第１混同行列記憶部５４は、予め生成された混同行列を記憶する。混同行列については、図１１を参照して後述する。
【００４６】
尤度算出部５６は、対象物２０に形成された符号画像を文字認識した文字列である認識結果を、文字認識部４４から取得する。尤度算出部５６は、認識結果に対する、符号表に含まれる複数の符号語のそれぞれの尤度を、混同行列を用いて算出する。尤度算出部５６は、認識結果に対する、符号表に含まれる複数の符号語のそれぞれの対数尤度を算出してもよい。
【００４７】
特定部５８は、尤度算出部５６により算出された尤度に基づき、符号表に含まれる複数の符号語のうち、認識結果に対する尤度が最も大きい１つの符号語を特定する。例えば、特定部５８は、符号表に含まれる複数の符号語のうち、認識結果に対する対数尤度が最小の符号語を特定する。そして、特定部５８は、特定した符号語を出力する。
【００４８】
図１１は、混同行列の要素の配置を示す図である。混同行列は、画像形成装置１４が文字集合に含まれるそれぞれの文字を表す画像を対象物２０に形成し、認識装置１６が対象物２０に形成された画像を文字認識した場合に、文字集合に含まれるそれぞれの文字として認識される確率を表す。
【００４９】
混同行列は、例えば、予め画像形成装置１４により実際に多数の文字を対象物２０に形成して実際に認識装置１６により文字認識することにより算出する。また、混同行列は、形成処理と認識処理をシミュレーションすることにより算出してもよいし、文字の形状等から推定してもよい。
【００５０】
混同行列は、例えば、文字集合に含まれる複数の文字の個数（ｎ個）を行数および列数とする正方行列であってよい。例えば、混同行列は、各列が正解である文字を示す文字インデックス（ａ）に対応し、各行が認識結果の文字を示す文字インデックス（ｒ）に対応する。
【００５１】
さらに、混同行列におけるａ列、ｒ行の要素を、Ｃ（ａ，ｒ）と表す。Ｃ（ａ，ｒ）は、画像形成装置１４が、文字インデックス（ａ）で示される文字（Ｓ（ａ））を表す第１画像を対象物２０に形成し、認識装置１６が対象物２０に形成された第１画像を文字認識した場合に、文字インデックス（ｒ）で示される文字（Ｓ（ｒ））と認識される確率を表す。
【００５２】
尤度算出部５６は、認識結果に対する、符号表に含まれる複数の符号語のそれぞれの尤度を算出する。具体的には、尤度算出部５６は、認識結果｛Ｒ＝ｒ（１），ｒ（２），…，ｒ（ｎ）｝に対する、ｊ番目の符号語｛Ａ（ｊ）＝Ｓ（ａ（ｊ，１）），Ｓ（ａ（ｊ，２）），…，Ｓ（ａ（ｊ，ｎ））｝の尤度（Ｌ（ｊ））を、下記の式（１）により算出する。
【数１】
2018147391.tif 000003
【００５３】
すなわち、尤度算出部５６は、認識結果に含まれるそれぞれの文字についてｊ番目の符号語における対応する文字を正解とする確率を混同行列から取得し、取得した確率を全て乗算することにより、認識結果に対するｊ番目の符号語の尤度を算出する。
【００５４】
なお、尤度算出部５６は、対数尤度を算出してもよい。この場合、尤度算出部５６は、認識結果｛Ｒ＝ｒ（１），ｒ（２），…，ｒ（ｎ）｝に対する、ｊ番目の符号語｛Ａ（ｊ）＝Ｓ（ａ（ｊ，１）），Ｓ（ａ（ｊ，２）），…，Ｓ（ａ（ｊ，ｎ））｝の対数尤度（Ｄ（ｊ））を下記の式（２）により算出する。
【数２】
2018147391.tif 000004
【００５５】
すなわち、尤度算出部５６は、認識結果に含まれるそれぞれの文字についてｊ番目の符号語における対応する文字を正解とする確率を混同行列から取得し、取得した確率の対数値に−１を乗算し、−１を乗算した確率の対数値を全て加算することにより、認識結果に対するｊ番目の符号語の対数尤度を算出する。なお、対数尤度を算出する場合、混同行列は、それぞれの要素に、対応する確率の対数値を格納してもよい。
【００５６】
図１２は、符号認識部４６による符号認識処理を示すフローチャートである。符号認識部４６は、例えば、図１２に示すフローチャートに従って、符号認識処理を実行する。
【００５７】
まず、Ｓ４１において、符号認識部４６は、文字列である認識結果を、文字認識部４４から取得する。続いて、符号認識部４６は、符号表に含まれる符号語毎に、Ｓ４３の処理を実行する（Ｓ４２とＳ４４との間のループ処理）。Ｓ４３において、符号認識部４６は、認識結果に対する対象の符号語の尤度を、混同行列を用いて算出する。具体的には、符号認識部４６は、上述した式（１）により尤度を算出する。これに代えて、符号認識部４６は、上述した式（２）により対数尤度を算出してもよい。
【００５８】
全ての符号語についてＳ４３の処理を終了した場合、符号認識部４６は、処理をＳ４５に進める。Ｓ４５において、符号認識部４６は、符号表に含まれる複数の符号語のうち、尤度が最大となる１つの符号語を特定して出力する。なお、符号認識部４６は、対数尤度を算出した場合に、対数尤度が最小となる１つの符号語を特定して出力する。
【００５９】
図１３は、生成装置１２の機能構成を示す図である。生成装置１２は、初期符号表生成部６２と、変更部６４と、第２混同行列記憶部６６と、評価値算出部６８と、制御部７０とを有する。
【００６０】
初期符号表生成部６２は、初期段階の符号表を生成する。例えば、初期符号表生成部６２は、文字集合からランダムに文字を選択して複数の符号語を生成する。そして、初期符号表生成部６２は、生成した複数の符号語を含む初期段階の符号表を生成する。また、初期符号表生成部６２は、予め登録された符号表を初期段階の符号表として出力してもよい。
【００６１】
変更部６４は、符号表を変更して、新たな符号表を生成する。例えば、変更部６４は、１回目において、初期符号表生成部６２により生成された初期段階の符号表を変更して、新たな符号表を生成する。また、変更部６４は、２回目以降において、直前の回において変更された符号表をさらに変更して、新たな符号表を生成する。この場合において、変更部６４は、過去に生成済みの符号表と同一とならないように、符号表を変更する。
【００６２】
なお、本実施形態においては、変更部６４は、符号表に含まれる一部の符号語に含まれる文字を変更して、新たな符号表を生成する。例えば、変更部６４は、符号表に含まれる１つの符号語における１つの文字を変更して、新たな符号表を生成する。
【００６３】
第２混同行列記憶部６６は、予め生成された混同行列を記憶する。第２混同行列記憶部６６は、認識装置１６が記憶している混同行列と、同一の混同行列を記憶する。
【００６４】
評価値算出部６８は、初期符号表生成部６２により生成された初期段階の符号表、および、変更部６４により変更された後の符号表について、混同行列を用いて評価値を算出する。評価値は、符号表に含まれる符号語が誤認識される可能性を表す値である。従って、評価値が小さい符号表は、評価値が大きい符号表と比較して、実際に使用された場合に、認識装置１６での誤認識を少なくすることができる。
【００６５】
なお、評価値の算出方法については、詳細を後述する。
【００６６】
制御部７０は、評価値が小さくなるように、変更部６４および評価値算出部６８に符号表の変更および評価値の算出を繰り返し実行させる。例えば、制御部７０は、山登り法を用いて、評価値が小さくなるように、変更部６４および評価値算出部６８に処理を実行させる。
【００６７】
具体的には、制御部７０は、変更後の符号表の評価値が、変更前の符号表の評価値より減少した場合、符号表の変更を確定し、変更が確定した符号表をさらに変更部６４により変更させる。一方、制御部７０は、変更後の符号表の評価値が、変更前の符号表の評価値より減少しなかった場合、符号表の変更を取り消して、再度、変更部６４により符号表を変更させる。これにより、制御部７０は、評価値が小さくなるように符号表を変更させることができる。
【００６８】
そして、制御部７０は、予め定められた条件に達した段階において、符号表を出力する。例えば、制御部７０は、評価値の減少が停止した場合に、符号表を出力する。より具体的には、制御部７０は、予め定められた回数以上、符号表を変更しても、評価値が減少しなかった場合、評価値が最も小さかった符号表を出力する。また、制御部７０は、一定時間以上、符号表を変更した場合に強制的に処理を終了して、その時点で評価値が最も小さかった符号表を出力してもよい。
【００６９】
図１４は、第１実施形態に係る生成装置１２の処理の流れを示すフローチャートである。第１実施形態に係る生成装置１２は、図１４に示すフローチャートに従って符号表を生成する。
【００７０】
まず、Ｓ５１において、初期符号表生成部６２は、初期段階における第１の符号表を生成する。続いて、Ｓ５２において、評価値算出部６８は、第１の符号表に対する評価値（第１の評価値）を混同行列を用いて算出する。
【００７１】
続いて、Ｓ５３において、変更部６４は、第１の符号表の一部を変更して、第２の符号表を生成する。例えば、変更部６４は、第１の符号表に含まれる１つの符号語における、１つの文字を変更する。
【００７２】
続いて、Ｓ５４において、評価値算出部６８は、第２の符号表に対する評価値（第２の評価値）を混同行列を用いて算出する。続いて、Ｓ５５において、制御部７０は、第１の評価値より第２の評価値の方が小さいか否かを判断する。第１の評価値より第２の評価値の方が小さい場合、すなわち、評価値が小さくなるように符号表が変更された場合（Ｓ５５のＹｅｓ）、制御部７０は、処理をＳ５６に進める。第１の評価値より第２の評価値の方が小さくない場合、すなわち、評価値が小さくなるように符号表が変更されていない場合（Ｓ５５のＮｏ）、制御部７０は、処理をＳ５８に進める。
【００７３】
Ｓ５６において、制御部７０は、第２の符号表を、第１の符号表に置き換える。すなわち、制御部７０は、第１の符号表を、評価値が小さい符号表に置き換える。続いて、Ｓ５７において、制御部７０は、第２の評価値を、第１の評価値に置き換える。そして、制御部７０は、処理をＳ５３に戻して、Ｓ５３から処理を繰り返す。これにより、制御部７０は、変更後の符号表の評価値が変更前の符号表の評価値より減少した場合、符号表の変更を確定し、変更が確定した符号表をさらに変更させることができる。
【００７４】
Ｓ５８において、制御部７０は、予め定められた条件に達したか否かを判断する。例えば、制御部７０は、予め定められた回数以上第１の符号表を変更しても、評価値が小さくならなくなったかを判断する。予め定められた条件に達していない場合（Ｓ５８のＮｏ）、制御部７０は、何ら処理を実行せずに、処理をＳ５３に戻して、Ｓ５３から処理を繰り返す。これにより、制御部７０は、変更後の符号表の評価値が変更前の符号表の評価値より減少しなかった場合、符号表の変更を取り消して、再度、符号表を変更させることができる。
【００７５】
予め定められた条件に達した場合（Ｓ５８のＹｅｓ）、制御部７０は、処理をＳ５９に進める。Ｓ５９において、制御部７０は、現時点で評価値が最も小さい符号表である第１の符号表を出力する。
【００７６】
以上のように処理をすることにより、生成装置１２は、認識装置１６において誤認識が少なくなる符号表を生成することができる。これにより、本実施形態に係る認識システム１０は、対象物２０に形成した符号語を精度良く認識することができる。
【００７７】
（評価値）
つぎに、評価値についてさらに説明をする。
【００７８】
評価値は、符号表に含まれる符号語が誤認識される可能性を表す値である。より詳しくは、評価値は、画像形成装置１４によって符号表に含まれるそれぞれの符号語を表す符号画像を対象物２０に形成し、認識装置１６が対象物２０に形成された符号画像を文字認識した場合に、誤認識される可能性の大きさを表す値である。
【００７９】
生成装置１２の評価値算出部６８は、下記の式（１１）により評価値を算出する。
【数３】
2018147391.tif 000005
【００８０】
Ｅは、符号表の評価値である。ｊは、１からｍまでの整数を表し、符号表に含まれる符号語を指定する番号である。ｍは、符号語に含まれる符号語の個数である。Ｅ（ｊ）は、符号表におけるｊ番目の符号語（Ａ（ｊ））に対する個別評価値である。
【００８１】
すなわち、生成装置１２は、符号表に含まれる複数の符号語のそれぞれに対する個別評価値を合計した値を評価値として算出する。
【００８２】
個別評価値は、対応する符号語について、認識装置１６によって異なる符号語が特定される確率の近似値である。より詳しくは、個別評価値は、画像形成装置１４によって、対応する符号語を表す符号画像を対象物２０に形成し、認識装置１６が対象物２０に形成された符号画像を文字認識し、文字認識して得られた認識結果から符号語を特定した場合に、対応する符号語と異なる符号語が特定される確率の近似値を表す。
【００８３】
生成装置１２の評価値算出部６８は、下記の式（１２）により個別評価値を算出する。
【数４】
2018147391.tif 000006
【００８４】
ｈは、１からｍまでの整数を表し、符号表に含まれる符号語を指定する番号である。
【００８５】
Ｅ（ｊ，ｈ）は、画像形成装置１４がｊ番目の符号語を表す符号画像を対象物２０に形成し、認識装置１６が符号画像を文字認識した場合において、認識結果に対するｊ番目の符号語の対数尤度が、認識結果に対するｈ番目の符号語の対数尤度より大きくなる確率の推定値を表す。
【００８６】
より具体的には、Ｅ（ｊ，ｈ）は、下記の式（１３）により表される。
【数５】
2018147391.tif 000007
【００８７】
Ｄ（ｊ）は、画像形成装置１４がｊ番目の符号語を表す符号画像を対象物２０に形成し、認識装置１６が符号画像を文字認識した場合において、認識結果に対する、符号表に含まれるｊ番目の符号語の対数尤度である。Ｄ（ｈ）は、画像形成装置１４がｊ番目の符号語を表す符号画像を対象物２０に形成し、認識装置１６が符号画像を文字認識した場合において、認識結果に対する、符号表に含まれるｈ番目の符号語の対数尤度である。Ｐ（Ｄ（ｈ）＜Ｄ（ｊ））は、Ｄ（ｈ）がＤ（ｊ）より小さくなる確率である。
【００８８】
なお、符号表に含まれる３つの任意の符号語であるＡ（ｊ），Ａ（ｈ），Ａ（ｇ）について、“Ｄ（ｈ）＜Ｄ（ｊ）”且つ“Ｄ（ｇ）＜Ｄ（ｊ）”となる確率は、０ではない。しかし、本実施形態に係る生成装置１２は、“Ｄ（ｈ）＜Ｄ（ｊ）”且つ“Ｄ（ｇ）＜Ｄ（ｊ）”となる確率が十分に小さいと想定して、Ｅ（ｊ）を算出する。従って、生成装置１２は、異なる符号語が選択される確率の真値ではなく、近似値を、Ｅ（ｊ）として算出する。
【００８９】
以下、Ｅのより具体的な算出方法についてさらに説明する。
【００９０】
Ｅを表す式（１１）に、Ｅ（ｊ）を表す式（１２）を代入すると、下記の式（１４）のようになる。
【数６】
2018147391.tif 000008
【００９１】
また、Ｅ（ｊ，ｈ）は、下記の式（１５）のように表される。
【数７】
2018147391.tif 000009
【００９２】
ｄ（ｈ，ｊ）を下記の式（１６）のように定義する。
【数８】
2018147391.tif 000010
【００９３】
式（１６）の定義を用いると、式（１５）は、下記の式（１７）のように変形される。
【数９】
2018147391.tif 000011
【００９４】
ここで、ｄ（ｋ，ｈ，ｊ）を下記の式（１８）のように定義する。
【数１０】
2018147391.tif 000012
【００９５】
式（１６）に、式（１８）を代入すると、下記の式（１９）のように変形される。
【数１１】
2018147391.tif 000013
【００９６】
独立な確率変数の和の確率密度関数は、元の確率密度関数を畳み込み積分することにより算出される。本実施形態では、認識結果の文字であるＳ（ｒ（１）），Ｓ（ｒ（２）），…，Ｓ（ｒ（ｎ））は、互いに独立であると想定する。また、確率変数であるｄ（１，ｈ，ｊ），ｄ（２，ｈ，ｊ），…，ｄ（ｎ，ｈ，ｊ）も互いに独立であると想定する。
【００９７】
ｄ（ｈ，ｊ）の確率密度関数であるｐ（ｄ（ｈ，ｊ）＝ｘ）は、下記の式（２０）のように表される。
【数１２】
2018147391.tif 000014
【００９８】
なお、*は、左右の式に対する畳み込み積分演算を表す。
【００９９】
生成装置１２の評価値算出部６８は、式（２０）に示す確率密度関数を、ｄ（ｈ，ｊ）＜０の範囲で積分することにより、Ｅ（ｊ，ｈ）＝Ｐ（ｄ（ｈ，ｊ）＜０）を算出することができる。
【０１００】
ここで、確率密度関数（ｐ（ｄ（ｋ，ｈ，ｊ）＝ｘ））は、ディラックのデルタ関数（δ（・））を用いて、下記の式（２１）のように表される。
【数１３】
2018147391.tif 000015
【０１０１】
確率密度関数（ｐ（ｄ（ｋ，ｈ，ｊ）＝ｘ））および確率密度関数（ｐ（ｄ（ｈ，ｊ）＝ｘ））は、変数ｘの連続関数であり、コンピュータにより取り扱うことができない。従って、生成装置１２の評価値算出部６８は、変数ｘに対して下限値ｘｍｉｎ、上限値ｘｍａｘおよび量子化階級数ｎｘを設定して、確率密度関数（ｐ（ｄ（ｋ，ｈ，ｊ）＝ｘ））および確率密度関数（ｐ（ｄ（ｈ，ｊ）＝ｘ））を配列で取り扱う。
【０１０２】
配列で表された確率密度関数を、ｐ（ｘ）とした場合、配列のα番目（αは、１以上の整数）の要素（Ｐ（α））は、下記の式（２２）により表される。
【数１４】
2018147391.tif 000016
【０１０３】
従って、確率密度関数（ｐ（ｄ（ｋ，ｈ，ｊ）＝ｘ））を表す配列における、α番目の要素（Ｐ（α；ｄ（ｋ，ｈ，ｊ）））は、下記の式（２３）により表される。
【数１５】
2018147391.tif 000017
【０１０４】
生成装置１２の評価値算出部６８は、Ｐ（α；ｄ（ｋ，ｈ，ｊ））を、つぎの、第１ステップから第４ステップを実行することにより算出することができる。
【０１０５】
まず、第１ステップにおいて、評価値算出部６８は、Ｐ（α；ｄ（ｋ，ｈ，ｊ））（α＝１，…，ｎｘ）を０に初期化する。
【０１０６】
次の第２ステップにおいて、評価値算出部６８は、ｓ＝１，…，Ｚについて、以下の第３ステップおよび第４ステップを実行する。
【０１０７】
第３ステップにおいて、評価値算出部６８は、αに下記の式（２４）の値を代入する。
【数１６】
2018147391.tif 000018
【０１０８】
第４ステップにおいて、評価値算出部６８は、Ｐ（α；ｄ（ｋ，ｈ，ｊ））に、Ｃ（ａ（（ｊ，ｋ），ｓ））を加算する。
【０１０９】
評価値算出部６８は、以上の処理を実行することにより、確率密度関数（ｐ（ｄ（ｋ，ｈ，ｊ）＝ｘ））を表す配列を算出することができる。
【０１１０】
また、確率密度関数（ｐ（ｘ））と、確率密度関数（ｑ（ｘ））との畳み込み積分は、下記の式（２５）により表される。
【数１７】
2018147391.tif 000019
【０１１１】
そこで、生成装置１２の評価値算出部６８は、配列で表されたｐ（ｘ）と、配列で表されたｑ（ｘ）との畳み込み積分を、下記の式（２６）により算出する。
【数１８】
2018147391.tif 000020
【０１１２】
生成装置１２の評価値算出部６８は、以上のような演算を実行することにより、符号表に対する評価値を算出することができる。
【０１１３】
（第２実施形態）
つぎに、第２実施形態に係る認識システム１０について説明する。第２実施形態に係る認識システム１０は、符号表の生成方法が異なるが、他の部分については第１実施形態と略同一の機能および構成を有する。従って、第２実施形態については、略同一の機能および構成のブロックには同一の符号を付けて、相違点を除き詳細な説明を省略する。第３実施形態についても同様である。
【０１１４】
図１５は、第２実施形態に係る生成装置１２の処理の流れを示すフローチャートである。第２実施形態に係る生成装置１２は、図１５に示すフローチャートに従って符号表を生成する。
【０１１５】
まず、Ｓ６１において、初期符号表生成部６２は、初期段階における第１の符号表を生成する。続いて、Ｓ６２において、変更部６４は、第１の符号表の一部を変更して、第２の符号表を生成する。
【０１１６】
続いて、Ｓ６３において、評価値算出部６８は、差分評価値を混同行列を用いて算出する。差分評価値は、変更後の符号表に含まれる符号語が誤認識される可能性を表す第１の評価値と、変更前の符号表に含まれる符号語が誤認識される可能性を表す第２の評価値との差分を表す値である。差分評価値の具体的な算出方法については後述する。
【０１１７】
続いて、Ｓ６４において、制御部７０は、差分評価値が０より小さいかを判断する。すなわち、制御部７０は、第１の評価値より第２の評価値の方が小さいか否かを判断する。
【０１１８】
差分評価値が０より小さい場合、すなわち、評価値が小さくなるように符号表が変更された場合（Ｓ６４のＹｅｓ）、制御部７０は、処理をＳ６５に進める。差分評価値が０より小さくない場合、すなわち、評価値が小さくなるように符号表が変更されていない場合（Ｓ６４のＮｏ）、制御部７０は、処理をＳ６６に進める。
【０１１９】
Ｓ６５において、制御部７０は、第２の符号表を、第１の符号表に置き換える。すなわち、制御部７０は、第１の符号表を、評価値が小さい符号表に置き換える。そして、制御部７０は、処理をＳ６２に戻して、Ｓ６２から処理を繰り返す。これにより、制御部７０は、変更後の符号表の評価値が変更前の符号表の評価値より減少した場合、符号表の変更を確定し、変更が確定した符号表をさらに変更させることができる。
【０１２０】
Ｓ６６において、制御部７０は、予め定められた条件に達したか否かを判断する。例えば、制御部７０は、予め定められた回数以上第１の符号表を変更しても、評価値が小さくならなくなったかを判断する。予め定められた条件に達していない場合（Ｓ６６のＮｏ）、制御部７０は、何ら処理を実行せずに、処理をＳ６２に戻して、Ｓ６２から処理を繰り返す。これにより、制御部７０は、変更後の符号表の評価値が変更前の符号表の評価値より減少しなかった場合、符号表の変更を取り消して、再度、符号表を変更させることができる。
【０１２１】
予め定められた条件に達した場合（Ｓ６６のＹｅｓ）、制御部７０は、処理をＳ６７に進める。Ｓ６７において、制御部７０は、現時点で評価値が最も小さい符号表である第１の符号表を出力する。
【０１２２】
以上のように、第２実施形態に係る評価値算出部６８は、変更後の符号表に含まれる符号語が誤認識される可能性を表す第１の評価値と、変更前の符号表に含まれる符号語が誤認識される可能性を表す第２の評価値との差分を表す差分評価値を、混同行列を用いて算出する。そして、制御部７０は、差分評価値が０より小さくなるように符号表の変更および差分評価値の算出を繰り返し実行させて、予め定められた条件に達した段階において符号表を出力する。
【０１２３】
以上のように処理をすることにより、生成装置１２は、認識装置１６において誤認識が少なくなる符号表を生成することができる。これにより、本実施形態に係る認識システム１０は、対象物２０に形成した符号語を精度良く認識することができる。
【０１２４】
（差分評価値）
差分評価値を、ΔＥ＝（Ｅｎｅｗ−Ｅ）と表す。Ｅｎｅｗは、変更後の符号表に含まれる符号語が誤認識される可能性を表す第１の評価値である。Ｅは、変更前の符号表に含まれる符号語が誤認識される可能性を表す第２の評価値である。ΔＥを式変形すると、下記の式（２７）のようになる。
【数１９】
2018147391.tif 000021
【０１２５】
Ｅｎｅｗ（ｂ，ｈ）は、画像形成装置１４が、変更後の符号表におけるｂ番目の符号語を表す符号画像を対象物２０に形成し、認識装置１６がその符号画像を文字認識した場合において、認識結果に対するｂ番目の符号語の対数尤度が、認識結果に対するｈ番目の符号語の対数尤度より大きくなる確率の推定値を表す。また、Ｅ（ｂ，ｈ）は、画像形成装置１４が変更前の符号表におけるｂ番目の符号語を表す符号画像を対象物２０に形成し、認識装置１６がその符号画像を文字認識した場合において、認識結果に対するｂ番目の符号語の対数尤度が、認識結果に対するｈ番目の符号語の対数尤度より大きくなる確率の推定値を表す。
【０１２６】
Ｅｎｅｗ（ｂ，ｈ）とＥ（ｂ，ｈ）との差は、符号表の中のｊ番目の符号語のｋ番目の文字を、ａ（ｊ，ｋ）から、ａｎｅｗ（ｊ，ｋ）に置き換えることにより生じる。従って、ｂ，ｈの何れもｊと等しくない場合、Ｅｎｅｗ（ｂ，ｈ）−Ｅ（ｂ，ｈ）＝０となる。従って、式（２７）は、下記の式（２８）のように変形される。
【数２０】
2018147391.tif 000022
【０１２７】
生成装置１２の評価値算出部６８は、このような式（２８）に基づき、差分評価値を算出する。
【０１２８】
このように、生成装置１２の評価値算出部６８は、変化させた文字に関する演算を実行することにより差分評価値を算出することができる。従って、生成装置１２は、変更前の符号表における評価値と、変更後の符号表における評価値のそれぞれを個別に算出する場合よりも少ない演算で、差分評価値を算出することができる。
【０１２９】
（第３実施形態）
つぎに、第３実施形態に係る認識システム１０について説明する。第３実施形態に係る生成装置１２は、複数の符号表を含む符号表集合を遺伝的アルゴリズムを用いて更新して、評価値の小さい符号表を生成する。
【０１３０】
第３実施形態において、符号表をベクトル形式で表現する。また、符号表の環境等への適応度を、符号表の評価値とする。これにより、生成装置１２は、それぞれの符号表を、選択処理、交叉処理および突然変異処理等の遺伝的アルゴリズムで用いられる処理方法により、進化させることができる。
【０１３１】
符号表におけるｊ番目の符号語は、下記のように表される。
Ａ（ｊ）＝Ｓ（ａ（ｊ，１）），Ｓ（ａ（ｊ，２）），…，Ｓ（ａ（ｊ，ｎ））
【０１３２】
ｊ番目の符号語は、下記のように、文字集合中における文字を指定する文字インデックスの並びにより表すこともできる。
ａ（ｊ，１），ａ（ｊ，２），…，ａ（ｊ，ｎ）
【０１３３】
そこで、符号表は、１番目からｍ番目の符号語における文字インデックスを並べた下記の式（２９）のようなベクトルにより表すことができる。
【数２１】
2018147391.tif 000023
【０１３４】
生成装置１２は、このようにベクトル表現がされた複数の符号表を含む符号表集合（Ｔ１，Ｔ２，Ｔ３，…，ＴＭ）を生成する。そして、生成装置１２は、このような符号表集合を評価値が小さくなるように遺伝的アルゴリズムで進化させて、評価値の小さい符号表を生成する。
【０１３５】
図１６は、第３実施形態に係る生成装置１２の処理の流れを示すフローチャートである。第３実施形態に係る生成装置１２は、図１６に示すフローチャートに従って符号表を生成する。
【０１３６】
まず、Ｓ７１において、初期符号表生成部６２は、第１世代の符号表集合を生成して、生成した第１世代の符号表集合を、現世代の符号表集合とする。例えば、初期符号表生成部６２は、ランダムに文字を選択して複数の符号表を生成し、これら複数の符号表を含む符号表集合を第１世代の符号表集合とする。
【０１３７】
続いて、Ｓ７２において、評価値算出部６８は、現世代の符号表集合に含まれる、それぞれの符号表について、混同行列を用いて評価値を算出する。続いて、Ｓ７３において、制御部７０は、予め定められた条件に達したか否かを判断する。
【０１３８】
例えば、制御部７０は、符号表集合に含まれる複数の符号表の評価値のうちの最小の評価値を検出する。そして、制御部７０は、予め定められた世代数以上、最小の評価値が変わっていないか否かを判断する。予め定められた世代数以上、最小の評価値が変わっていない場合、制御部７０は、予め定められた条件に達したと判断する。
【０１３９】
予め定められた条件に達していない場合（Ｓ７３のＮｏ）、制御部７０は、処理をＳ７４に進める。予め定められた条件に達した場合（Ｓ７３のＹｅｓ）、制御部７０は、処理をＳ７６に進める。
【０１４０】
Ｓ７４において、変更部６４は、現世代の符号表集合から次世代の符号表集合を、遺伝的アルゴリズムにより生成する。例えば、変更部６４は、現世代の符号表集合の中から適応度の高い（評価値の小さい）複数の符号表を選択し、選択した複数の符号表に対して交叉処理および突然変異処理等をして、次世代の符号表集合を生成する。
【０１４１】
続いて、Ｓ７５において、制御部７０は、次世代の符号表集合を、現世代の符号表集合に置き換える。続いて、制御部７０は、処理をＳ７２に戻して、Ｓ７２から処理を繰り返す。これにより、制御部７０は、評価値が小さくなるように、遺伝的アルゴリズムにより符号表集合を更新させることができる。
【０１４２】
また、Ｓ７６において、制御部７０は、予め定められた条件に達した世代の符号表集合に含まれる符号表のうち、評価値が基準条件を満たす符号表を出力する。例えば制御部７０は、予め定められた条件に達した世代の符号表集合に含まれる符号表のうち、評価値が最小の符号表を出力する。
【０１４３】
以上のように処理をすることにより、生成装置１２は、誤認識を少なくした符号表を生成することができる。従って、本実施形態に係る認識システム１０は、対象物２０に形成した符号語を精度良く認識することができる。
【０１４４】
（実施形態に係るコンピュータの構成）
図１７は、実施形態に係るコンピュータ２００の構成を示す図である。各実施形態において説明した、生成装置１２、画像形成装置１４の第１情報処理装置２６、および、認識装置１６の第２情報処理装置３２は、例えば図１７に示すようなコンピュータ２００により実現することができる。
【０１４５】
コンピュータ２００は、通常のコンピュータと同様の構成をしている。すなわち、コンピュータ２００は、処理回路２０２と、ＲＯＭ２０４と、ＲＡＭ２０６と、記憶装置２０８と、ネットワークＩＦ部２１０と、デバイスＩＦ部２１２とを有する。処理回路２０２、ＲＯＭ２０４、ＲＡＭ２０６、記憶装置２０８、ネットワークＩＦ部２１０およびデバイスＩＦ部２１２は、バスにより接続されている。
【０１４６】
処理回路２０２は、１または複数のプロセッサ（例えば、ＣＰＵ（Central  Processing  Unit））を有する。処理回路２０２は、記憶装置２０８に記憶されたプログラムをＲＡＭ２０６に展開して実行し、各部を制御して入出力を行ったり、データの加工を行ったりする。ＲＯＭ２０４には、起動用プログラムを記憶装置２０８からＲＡＭ２０６に読み出すスタートプログラムが記憶されている。ＲＡＭ２０６は、処理回路２０２の作業領域としてデータを記憶する。
【０１４７】
記憶装置２０８は、例えば、ハードディスクドライブまたはフラッシュメモリ等である。記憶装置２０８は、オペレーティングシステム、アプリケーションプログラムおよびデータを記憶している。これらのプログラムは、インストール可能な形式または実行可能な形式のファイルで、コンピュータで読み取り可能な記録メディアに記録して配布される。また、プログラムは、サーバからダウンロードすることにより配布されてもよい。
【０１４８】
ネットワークＩＦ部２１０は、ネットワークに接続するためのインターフェイス装置である。デバイスＩＦ部２１２は、外部機器と接続するためのインターフェイス装置である。外部機器は、例えば、第１センサ装置２２、印刷装置２４、第２センサ装置２８および撮像装置３０等である。
【０１４９】
本実施形態のコンピュータ２００で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録されて提供される。また、本実施形態のコンピュータ２００で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態のコンピュータ２００で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。また、本実施形態のプログラムを、ＲＯＭ２０４等に予め組み込んで提供するように構成してもよい。
【０１５０】
コンピュータ２００を生成装置１２として機能させるためのプログラムは、初期符号表生成モジュールと、変更モジュールと、評価値算出モジュールと、制御モジュールとを有する。コンピュータ２００は、１または複数のプロセッサ（処理回路２０２）が記憶媒体（記憶装置２０８等）からプログラムを読み出して実行することにより各モジュールが主記憶装置（ＲＡＭ２０６）上にロードされ、１または複数のプロセッサ（処理回路２０２）が、初期符号表生成部６２、変更部６４、評価値算出部６８および制御部７０として機能する。また、ＲＡＭ２０６または記憶装置２０８は、第２混同行列記憶部６６として機能する。なお、初期符号表生成部６２、変更部６４、評価値算出部６８および制御部７０は、一部または全部がプロセッサ以外のハードウェアにより実現されてもよい。
【０１５１】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。
【０１５２】
例えば、実施形態において、山登り法を用いて符号表の評価値を小さくする方法および遺伝的アルゴリズムを用いて符号表の評価値を小さくする方法を説明した。しかし、生成装置１２は、評価値を小さくする符号表を生成するという趣旨から外れない限り、最適化のメタヒューリスティクスとして、山登り法および遺伝的アルゴリズムに限らず、例えば焼きなまし法やタブーサーチ等の他の方法を用いてもよい。
【符号の説明】
【０１５３】
１０  認識システム
１２  生成装置
１４  画像形成装置
１６  認識装置
１８  データベースサーバ
２０  対象物
２２  第１センサ装置
２４  印刷装置
２６  第１情報処理装置
２８  第２センサ装置
３０  撮像装置
３２  第２情報処理装置
４２  画像取得部
４４  文字認識部
４６  符号認識部
５２  符号表記憶部
５４  第１混同行列記憶部
５６  尤度算出部
５８  特定部
６２  初期符号表生成部
６４  変更部
６６  第２混同行列記憶部
６８  評価値算出部
７０  制御部
２００  コンピュータ
２０２  処理回路
２０４  ＲＯＭ
２０６  ＲＡＭ
２０８  記憶装置
２１０  ネットワークＩＦ部
２１２  デバイスＩＦ部
【図１】
2018147391.tif 000027
【図２】
2018147391.tif 000028
【図３】
2018147391.tif 000029
【図４】
2018147391.tif 000030
【図５】
2018147391.tif 000031
【図６】
2018147391.tif 000032
【図７】
2018147391.tif 000033
【図８】
2018147391.tif 000034
【図９】
2018147391.tif 000035
【図１０】
2018147391.tif 000036
【図１１】
2018147391.tif 000037
【図１２】
2018147391.tif 000038
【図１３】
2018147391.tif 000039
【図１４】
2018147391.tif 000040
【図１５】
2018147391.tif 000041
【図１６】
2018147391.tif 000042
【図１７】
2018147391.tif 000043