(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022094471
(43)【公開日】2022-06-27
(54)【発明の名称】文字認識装置、文字認識方法、及びプログラム
(51)【国際特許分類】
G06V 30/24 20220101AFI20220620BHJP
G06V 30/12 20220101ALI20220620BHJP
G06V 30/14 20220101ALI20220620BHJP
【FI】
G06K9/62 620A
G06K9/03 D
G06K9/20 320J
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2020207370
(22)【出願日】2020-12-15
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(71)【出願人】
【識別番号】301063496
【氏名又は名称】東芝デジタルソリューションズ株式会社
(74)【代理人】
【識別番号】110001634
【氏名又は名称】特許業務法人 志賀国際特許事務所
(72)【発明者】
【氏名】田中 遼平
【テーマコード(参考)】
5B029
5B064
【Fターム(参考)】
5B029AA01
5B029AA03
5B029BB02
5B029CC21
5B064AA01
5B064AB02
5B064AB03
5B064BA01
5B064DA16
5B064EA08
5B064EA21
5B064EA26
(57)【要約】
【課題】取り消しを検出して検出結果に反映することができる文字認識装置、文字認識方法、及びプログラムを提供することである。
【解決手段】実施形態の文字認識装置は、画像取得部と、文字スコア算出部と、取消スコア算出部と、補正部と、デコード部と、を持つ。画像取得部は、文字の書かれた画像を取得する。文字スコア算出部は、画像取得部によって取得された画像が所定の方向に分割されたフレームに対して、認識対象の文字クラスらしさを表す文字クラススコアを算出する。取消スコア算出部は、フレームに対して取り消し文字らしさを表す取消スコアを算出する。補正部は、取消スコアが高いフレームほど文字クラスのスコアが相対的に小さくなるように文字クラスのスコアを補正する。デコード部は、補正後のフレームごとの文字クラスのスコアをもとに尤もらしい認識結果を推定する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
文字の書かれた画像を取得する画像取得部と、
前記画像取得部によって取得された画像が所定の方向に分割されたフレームに対して、認識対象の文字クラスらしさを表す文字クラススコアを算出する文字スコア算出部と、
前記フレームに対して取り消し文字らしさを表す取消スコアを算出する取消スコア算出部と、
前記取消スコアが高いフレームほど前記文字クラスのスコアが相対的に小さくなるように前記文字クラスのスコアを補正する補正部と、
補正後の前記フレームごとの文字クラスのスコアをもとに尤もらしい認識結果を推定するデコード部と、
を備える文字認識装置。
【請求項2】
文字の書かれた画像を取得する画像取得部と、
前記画像取得部によって取得された画像に対して、認識対象の文字クラスらしさを表す文字クラススコアを算出する文字スコア算出部と、
前記文字クラスごとに取り消し文字らしさを表す取消スコアを算出する取消スコア算出部と、
前記文字クラススコアと前記取消スコアをもとに尤もらしい認識結果を推定するデコード部と、
を備える文字認識装置。
【請求項3】
前記補正部は、前記文字クラススコアと前記取消スコアとを用いて、前記文字クラススコアを補正する、
請求項1に記載の文字認識装置。
【請求項4】
前記補正部は、前記認識対象の文字の字種毎に補正時の重みを設定する、
請求項3に記載の文字認識装置。
【請求項5】
比較部を更に備え、
前記デコード部は、前記文字クラススコアに基づいて、取り消しを想定しない場合の尤もらしい認識結果を推定し、
前記比較部は、前記補正された文字クラススコアに基づいて推定された尤もらしい認識結果と、前記文字クラススコアに基づいて推定された取り消しを想定しない場合の尤もらしい認識結果と、を比較し、前記比較した結果に基づいて、取り消し反映前の冗長な認識結果と取り消し情報とを推定する、
請求項3に記載の文字認識装置。
【請求項6】
前記取り消しは、複数の取消クラスを備え、
前記取消スコア算出部は、前記フレームと前記取消クラスとに対して取り消し文字らしさを表す取消クラススコアを算出し、
前記補正部は、前記文字クラススコアと前記取消クラススコアとを用いて、前記文字クラススコアを補正する、
請求項1に記載の文字認識装置。
【請求項7】
前記補正部は、前記文字クラススコアと、隣接フレーム間の前記取消スコアとを用いて、前記文字クラススコアを補正する、
請求項1に記載の文字認識装置。
【請求項8】
前記文字スコア算出部は、文字と文字との間のブランクのブランクスコアを算出し、
前記デコード部は、前記補正された文字クラススコアと、前記ブランクスコアとに基づいて、尤もらしい認識結果を推定する、
請求項1、3、4、6、7のうちのいずれか1項に記載の文字認識装置。
【請求項9】
前記文字スコア算出部は、文字と文字との間のブランクのブランクスコアを算出し、
前記デコード部は、前記文字クラススコアと、前記ブランクスコアとに基づいて、尤もらしい認識結果を推定する、
請求項2に記載の文字認識装置。
【請求項10】
画像取得部が、文字の書かれた画像を取得し、
文字スコア算出部が、前記画像取得部によって取得された画像が所定の方向に分割されたフレームに対して、認識対象の文字クラスらしさを表す文字クラススコアを算出し、
取消スコア算出部が、前記フレームに対して取り消し文字らしさを表す取消スコアを算出し、
補正部が、前記取消スコアが高いフレームほど前記文字クラスのスコアが相対的に小さくなるように前記文字クラスのスコアを補正し、
デコード部が、補正後の前記フレームごとの文字クラスのスコアをもとに尤もらしい認識結果を推定する、
文字認識方法。
【請求項11】
画像取得部が、文字の書かれた画像を取得し、
文字スコア算出部が、前記画像取得部によって取得された画像に対して、認識対象の文字クラスらしさを表す文字クラススコアを算出し、
取消スコア算出部が、前記文字クラスごとに取り消し文字らしさを表す取消スコアを算出し、
デコード部が、前記文字クラススコアと前記取消スコアをもとに尤もらしい認識結果を推定する、
文字認識方法。
【請求項12】
コンピュータに、
文字の書かれた画像を取得させ、
前記取得された画像が所定の方向に分割されたフレームに対して、認識対象の文字クラスらしさを表す文字クラススコアを算出させ、
前記フレームに対して取り消し文字らしさを表す取消スコアを算出させ、
前記取消スコアが高いフレームほど前記文字クラスのスコアが相対的に小さくなるように前記文字クラスのスコアを補正させ、
補正後の前記フレームごとの文字クラスのスコアをもとに尤もらしい認識結果を推定させる、
プログラム。
【請求項13】
コンピュータに、
文字の書かれた画像を取得させ、
前記取得された画像に対して、認識対象の文字クラスらしさを表す文字クラススコアを算出させ、
前記文字クラスごとに取り消し文字らしさを表す取消スコアを算出させ、
前記文字クラススコアと前記取消スコアをもとに尤もらしい認識結果を推定させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、文字認識装置、文字認識方法、及びプログラムに関する。
【背景技術】
【0002】
紙帳票に手書き記入又は印刷された文字列をデジタルデータ化するデータ入力システムがある。このようなデータ入力システムは、帳票中を例えば光学文字認識(OCR)技術を用いた文字認識器により帳票中の画像に対して文字認識処理を行ってデジタル化する。手書き記入又は印刷された文字列の上に、ユーザが取消線を引く場合がある。取消線が引かれた文字列はユーザが取り消す旨を指示しているものなので、文字認識処理では、その文字列が認識できたとしてもその認識結果を棄却する必要がある。このため、取り消し線を検知する技術が開発されている。しかしながら、従来技術では、取り消し線を検出するのみであり、デジタル化における修正を人が行う必要があった。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第4693825号公報
【特許文献2】特開2020-119289号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明が解決しようとする課題は、取り消しを検出して検出結果に反映することができる文字認識装置、文字認識方法、及びプログラムを提供することである。
【課題を解決するための手段】
【0005】
実施形態の文字認識装置は、画像取得部と、文字スコア算出部と、取消スコア算出部と、補正部と、デコード部と、を持つ。画像取得部は、文字の書かれた画像を取得する。文字スコア算出部は、前記画像取得部によって取得された画像が所定の方向に分割されたフレームに対して、認識対象の文字クラスらしさを表す文字クラススコアを算出する。取消スコア算出部は、前記画像取得部によって取得された画像に対して、前記フレームに対して取り消し文字らしさを表す取消スコアを算出する。補正部は、前記取消スコアが高いフレームほど前記文字クラスのスコアが相対的に小さくなるように前記文字クラスのスコアを補正する。デコード部は、補正後の前記フレームごとの文字クラスのスコアをもとに尤もらしい認識結果を推定する。
【図面の簡単な説明】
【0006】
【
図1】第1の実施形態に係る文字認識装置の構成の一例を示すブロック図。
【
図2】文字が取り消されていずかつ補正を行っていない場合の文字認識例を示す図。
【
図3】取り消しが行われている場合の補正前の認識結果と補正後の認識結果例を示す図。
【
図4】第1の実施形態に係る文字認識装置の処理手順例を示すフローチャート。
【
図5】第2の実施形態に係る文字認識装置の処理手順例を示すフローチャート。
【
図6】字種毎に補正時の重みを換えることのメリットを説明するための図。
【
図7】第3の実施形態に係る文字認識装置の構成の一例を示すブロック図。
【
図8】第3の実施形態に係るデコード部のデコードアルゴリズムの一例を説明するための図。
【
図9】第3の実施形態に係る文字認識装置の処理手順例を示すフローチャート。
【
図10】第4の実施形態に係る文字認識装置の構成の一例を示すブロック図。
【
図11】第4の実施形態に係る文字認識装置の処理手順例を示すフローチャート。
【
図13】第5の実施形態に係る文字認識装置の処理手順例を示すフローチャート。
【
図14】第6の実施形態に係る文字認識装置の処理手順例を示すフローチャート。
【発明を実施するための形態】
【0007】
以下、実施形態の文字認識装置、文字認識方法、及びプログラムを、図面を参照して説明する。
【0008】
(第1の実施形態)
まず、文字認識装置の構成例を説明する。
図1は、本実施形態に係る文字認識装置の構成の一例を示すブロック図である。
図1のように、文字認識装置1は、画像取得部2、文字スコア算出部4、取消スコア算出部5、補正部6、デコード部7、および出力部8を備える。文字スコア算出部4は、文字認識ネットワーク41を備える。取消スコア算出部5は、取消尤度予測ネットワーク51を備える。
【0009】
文字認識装置1は、取り消された文字を判定し、文字認識結果に反映する。
【0010】
画像取得部2は、文字の書かれた画像を取得し、取得した画像を文字スコア算出部4と取消スコア算出部5とに出力する。
【0011】
文字スコア算出部4は、画像取得部2の出力する画像を文字認識ネットワーク41へ入力して、画像全体の特徴量を算出する。次に、文字スコア算出部4は、画像全体の特徴量を、入力画像幅に応じた数のフレームに分割する。文字スコア算出部4は、例えば入力画像の高さ64ピクセルに対して幅8ピクセル等、予め定めた比率で分割する。その後、文字スコア算出部4は、分割したフレームごとの特徴量からフレームt(tは1以上の整数)におけるクラスk(kは2以上の整数)の文字尤度(文字クラススコア)Mt,kを算出する。なお、クラスkは、例えばアルファベットであれば、A~Zそれぞれである。すなわち、文字スコア算出部4は、画像取得部2によって取得された画像に対して、所定の方向に分割されたフレームに対して認識対象の文字クラスらしさを表す文字クラススコアを算出する。また、文字スコア算出部4は、画像取得部2の出力する画像を文字認識ネットワーク41へ入力して、フレームtにおけるブランククラスのブランク尤度(ブランクスコア)Btを算出する。文字スコア算出部4は、算出したフレーム毎の文字尤度Mt,kとブランク尤度Btとを補正部6に出力する。
【0012】
文字認識ネットワーク41は、入力された画像に含まれる文字の尤もらしさである文字尤度Mt,kを出力する。また、文字認識ネットワーク41は、入力された画像に含まれるブランクの尤もらしさであるブランク尤度Btを出力する。なお、文字認識ネットワーク41は、予め文字の画像とブランクの画像とを用いて文字尤度とブランク尤度を学習済みである。
【0013】
取消スコア算出部5は、画像取得部2の出力する画像を取消尤度予測ネットワーク51へ入力して、画像全体の特徴量を算出し、文字スコア算出部4と同じフレーム数の特徴量に分割する。その後、取消スコア算出部5は、フレームtにおける取消尤度(取消スコア)Rtを算出する。すなわち、取消スコア算出部5は、フレームに対して取り消し文字らしさを表す取消スコアを算出する。文字スコア算出部4は、算出したフレーム毎の取消尤度Rtを補正部6に出力する。
【0014】
取消尤度予測ネットワーク51は、入力された画像に含まれる文字が取り消した状態の画像において、取り消しであることの尤もらしさである取消尤度Rtを出力する。なお、取消尤度予測ネットワーク51は、予め文字を取り消した状態の画像を用いて取消尤度を学習済みである。
【0015】
補正部6には、文字認識ネットワーク41が出力するフレーム毎の文字尤度Mt,kとブランク尤度Bt、および取消スコア算出部5が出力するフレーム毎の取消尤度Rtが入力される。補正部6は、取消尤度Rtに基づいて、文字尤度Mt,kを補正して、補正後の文字尤度M’t,kを算出する。このように、補正部6は、取消スコアが高いフレームほど文字クラスのスコアが相対的に小さくなるように文字クラスのスコアを補正する。補正部6は、フレーム毎のブランク尤度Btと、補正したフレーム毎の文字尤度M’t,kとをデコード部7に出力する。
【0016】
デコード部7は、補正部6が出力するブランク尤度Btと文字尤度M’t,kとをデコードして、所定のルールに基づいて尤度(スコア)の高い文字列を計算する。なお、算出する文字列の候補は、尤度が高い順に1つ以上であればよく、2つ以上であってもよい。また、算出する文字列は、1文字であってもよい。なお、所定のルールは、例えば、連続するラベルとブランクを削除する。なお、デコード部7は、最も尤度の高い文字列を計算する際、バイグラムや単語リストなどの知識処理を考慮するようにしてもよい。
【0017】
出力部8は、デコード部7が算出した結果を反映して、認識された文字列(または文字)を、外部装置へ出力する。外部装置は、例えば画像表示装置、携帯端末等である。なお、出力される情報は、取り消し線で取り消された文字を除いた文字列、すなわち取り消されていない文字列の情報である。
【0018】
ここで、補正部6が行う補正方法の例を説明する。
補正部6は、例えば次式(1)を用いて文字尤度Mt,kを補正する。
【0019】
【0020】
(1)式において、αは0≦α≦1の定数である。この式の意味合いは、取消スコア(取消尤度Rt)が高いフレームほど、文字クラスのスコア(文字尤度Mt,k)が相対的に小さくなるように文字クラスのスコアを補正している。
【0021】
または、補正部6は、例えば次式(2)を用いて文字尤度Mt,kを補正する。
【0022】
【0023】
式(2)において、αは0≦α≦1の定数であり、βは0≦β≦1の定数であり、uはステップ関数である。式(2)を用いる場合は、指数部分が離散値であるため、離散値に応じて補正後の状態を設定する。
【0024】
次に、本実施形態の文字認識における処理の概要を、
図2と
図3を参照して説明する。
図2は、文字が取り消されていずかつ補正を行っていない場合の文字認識例を示す図である。なお、以下の各実施形態では、文字が書かれた(または印字された)画像を所定方向の一例として横方向のフレームに分割する例を説明する。
【0025】
図2の例では、入力画像g10に「A」と「B」が書かれている(または印字されている)。この例では、入力画像g10の横方向を3つのフレームf1~f3に分割して処理する例を説明する。
【0026】
各フレームを文字認識(含むブランク認識)した結果g20のように、フレームf1の場合は、クラスAの文字尤度g21が最も高く、次にブランク尤度g23が高く、クラスBの文字尤度g22が最も低い。フレームf2の場合は、ブランク尤度が最も高く、次にクラスBの文字尤度が高く、クラスAの文字尤度が最も低い。フレームf3の場合は、クラスBの文字尤度が最も高く、次にクラスAの文字尤度が高く、ブランク尤度が最も低い。
【0027】
このような場合は、フレーム順に尤度が高い「A」、ブランク、「B」からブランクを除外した認識結果g30である「AB」が出力される。このように、取り消しが行われていない場合は、補正を行わなくても適切に文字認識できる。
【0028】
次に、取り消しが行われている場合の補正前の認識結果と補正後の認識結果例を説明する。
図3は、取り消しが行われている場合の補正前の認識結果と補正後の認識結果例を示す図である。また、
図3の例では、入力画像g50に「A」と「二本の横棒で取り消しされたB」が書かれている(または印字されている)。
【0029】
各フレームを文字認識(含むブランク認識)と取消予測とを行った結果g50のように、フレームf1の場合は、クラスAの文字尤度g61が最も高く、次にブランク尤度g63が高く、次にクラスBの文字尤度g63が高く、取消尤度g64が最も低い。フレームf2の場合は、ブランク尤度と取消尤度とが同等で高く、クラスBの文字尤度とクラスAの文字尤度が同等で低い。フレームf3の場合は、取消尤度とクラスBの文字尤度が同等で高く、ブランク尤度とクラスAの文字尤度とが同等で低い。
【0030】
このように補正前の状態では、フレームf2で取消であるかブランクであるかを判定しにくい。
このため、本実施形態では、取消尤度を用いて、各クラスの尤度に対して、補正g66を行う。補正の結果g70のように、フレームf1の場合は、クラスAの文字尤度g71が最も高く、次にブランク尤度g73が高く、次にクラスBの文字尤度g73が高い。フレームf2の場合は、ブランク尤度が最も高く、クラスBの文字尤度とクラスAの文字尤度が同等で低い。フレームf3の場合は、ブランク尤度が尤も高く、クラスBの文字尤度とクラスAの文字尤度とが同等で低い。
【0031】
この結果、文字認識装置1は、フレーム順に尤度が高い「A」、ブランク、ブランクからブランクを除外した認識結果g80である「A」を出力する。このように、取り消しが行われている場合であっても、本実施形態によれば補正を行うことで適切に文字認識できる。
なお、
図3で用いた例では、文字が二重線で取り消されている例を説明したが、取り消しはこれに限らず、黒塗り、斜め線等であってもよい。取消尤度予測ネットワーク51は、このような各種の取り消し状態を予め学習しておく。
【0032】
次に、本実施形態における文字認識装置1の処理手順例を説明する。
図4は、本実施形態に係る文字認識装置の処理手順例を示すフローチャートである。
【0033】
画像取得部2は、文字の書かれた画像を取得する(ステップS11)。
【0034】
文字スコア算出部4と取消スコア算出部5は、入力画像全体の特徴量を算出し、入力画像幅に応じた数の特徴量に分割する(ステップS12)。
【0035】
文字スコア算出部4は、分割された特徴量からフレームtにおけるクラスkの文字尤度Mt,kと、フレームtにおけるブランククラスのブランク尤度Btとを算出する(ステップS13)。
【0036】
取消スコア算出部5は、分割された特徴量からフレームtにおける取消尤度Rtを算出する(ステップS14)。
【0037】
補正部6は、取消尤度Rtに基づいて、文字尤度Mt,kを補正して、補正後の文字尤度M’t,kを算出する(ステップS15)。
【0038】
デコード部7は、補正部6が出力するブランク尤度Btと文字尤度M’t,kとをデコードして、所定のルールに基づいて尤度の高い文字列を推定する(ステップS16)。
【0039】
出力部8は、デコード部7が推定した結果を反映して、認識された文字列を、外部装置へ出力する(ステップS17)。
【0040】
以上のように、本実施形態では、クラス毎の文字尤度と取消尤度を用いて、クラス毎の文字尤度を補正するようにした。また、本実施形態では、取消スコアが高いフレームほど、文字クラスのスコアが相対的に小さくなるように文字クラスのスコアを補正するようにした。
これにより、本実施形態によれば、取り消された文字を判定し、認識結果に反映させることができる。
【0041】
(第2の実施形態)
次に、第2の実施形態について説明する。本実施形態の文字認識装置1の構成例は、第1の実施形態と同じである。本実施形態では、補正時に字種毎に補正の重みを変える。
【0042】
次に、本実施形態における文字認識装置1の処理手順例を説明する。
図5は、本実施形態に係る文字認識装置の処理手順例を示すフローチャートである。
【0043】
文字認識装置1は、第1の実施形態と同様にステップS11~S14の処理を行う。
【0044】
次に、補正部6は、クラス毎に異なる強度にして、取消尤度Rtに基づいて文字尤度Mt,kを補正して、補正後の文字尤度M’t,kを算出する(ステップS21)。
【0045】
次に、文字認識装置1は、第1の実施形態と同様にステップS16~S17の処理を行う。
【0046】
ここで、ステップS21で補正部6が行う補正例を説明する。
補正部6は、例えば次式(3)を用いて、クラスごとに異なる強度とすることで、横線を含む文字の誤削除を抑制する。誤認識されやすい横線を含む文字とは、例えば、「¥」(エンマーク)、「キ」(カタカナの“き”)等である。
【0047】
【0048】
式(3)において、文字のクラスk毎のαkは0≦αk≦1の定数である。
補正部6は、このように誤認識されやすい字種に対して、定数αkを大きくする。
【0049】
ここで、定数αkの設定方法例を説明する。
補正部6は、それぞれの字種1文字の画像に対して、次式(4)を用いて取消尤度を計算することで定数αkの設定する。
【0050】
【0051】
ただし、式(4)において、Rt(xk)は、クラスkの画像xkを入力したときの取消尤度である。なお、式(4)において、N枚の画像xk,1,…,xk,Nの平均値や最大値、中央値などとしてもよい。
【0052】
ここで、字種毎に補正時の重みを換えることのメリットをさらに説明する。
図6は、字種毎に補正時の重み強度を換えることのメリットを説明するための図である。
図6の例は、「¥」、「3」、「0」、「3の取り消し」の入力画像g101を文字認識させて、「¥30」と認識させたい場合の処理と尤度の例である。
【0053】
表g111は、補正時の重みを変えなかった場合のフレーム毎の各尤度である。横方向はフレームf1~f4に対応し、縦方向は上から下に「¥」の文字尤度Mt,1、「3」の文字尤度Mt,2、「0」の文字尤度Mt,3、ブランク尤度Bt、および取消尤度Rtである。表g111のように、補正時の重みを変えない場合は、本来取り消しでは無い字種「¥」において、取消尤度Rtが高くなり誤認識することになる。
【0054】
表g112は、「¥」と「3」の補正時の重みをα¥=α3=0.1に変え補正した場合のフレーム毎の各尤度である。表g112の横方向はフレームf1~f4に対応し、縦方向は上から下に「¥」の文字尤度Mt,1、「3」の文字尤度Mt,2、「0」の文字尤度Mt,3、およびブランク尤度Btである。表g112の場合、補正により画像g101の認識した結果は、「¥30」の尤度が0.009(=0.1×0.09)、「30」の尤度が0.01(=0.1×0.1)となる。この例では、補正時の重みを同じにすると、第1候補が「30」となり「¥」も削除して認識され誤認識されることになる。
【0055】
表g113は、「¥」の補正時の重みをα¥=0.9とし、「3」の補正時の重みをα3=0.1に変え補正した場合のフレーム毎の各尤度である。表g113の横方向と縦方向は表g113と同じである。表g113の場合、補正により画像g101の認識した結果は、「¥30」の尤度が0.081(=0.81×0.1)、「30」の尤度が0.01(=0.1×0.1)となる。この例のように、補正時の重みを適切に設定することで、第1候補が「¥30」となり「¥」が削除されることを抑制できる。
【0056】
以上のように、本実施形態では、クラスごとに異なる強度とすることで、クラス毎の文字尤度を補正するようにした。
これにより、本実施形態によれば、例えば横線による取り消しと誤認されやすい文字種に対して補正を制御することができるので、誤認識を低減することができる。
【0057】
(第3の実施形態)
次に、第3の実施形態について説明する。本実施形態では、画像毎に入力して、フレーム毎では無く文字毎に尤度(スコア)を求めて、もっともらしい文字を推定する。
【0058】
図7は、本実施形態に係る文字認識装置の構成の一例を示すブロック図である。
図7のように、文字認識装置1Aは、画像取得部2、文字スコア算出部4A、取消スコア算出部5A、デコード部7A、および出力部8を備える。文字スコア算出部4Aは、文字認識ネットワーク41を備える。取消スコア算出部5Aは、取消尤度予測ネットワーク51を備える。
【0059】
文字スコア算出部4Aは、画像取得部2が出力する画像情報を文字認識ネットワーク41へ入力して、クラスkの文字尤度(スコア)Mkを算出する。文字スコア算出部4Aは、算出した文字尤度Mkをデコード部7Aに出力する。なお、文字認識装置1Aは、画像から周知の手法によって1文字(1クラス)毎の画像を抽出する。
【0060】
取消スコア算出部5Aは、画像取得部2が出力する画像情報を取消尤度予測ネットワーク51へ入力して、クラスの取消尤度(スコア)Rkを算出する。文字スコア算出部4Aは、算出した取消尤度Rtをデコード部7Aに出力する。
【0061】
デコード部7Aは、文字尤度Mkと取消尤度Rtとをデコードして、尤もらしい文字を推定する。
【0062】
次に、デコード部7Aのデコードアルゴリズムの一例を説明する。
図8は、本実施形態に係るデコード部7Aのデコードアルゴリズムの一例を説明するための図である。
なお、本実施形態では、取り消し無しのスコアをM
kとし、取り消し有りのスコアをγM
kR
k(ただしγは1以上の定数)とする。また、
図8の例は「¥」の画像を入力した場合の認識例である。
【0063】
デコード部7Aは、全クラス取り消し有りのスコアと、全クラス取り消し無しのスコアとを計算し、スコアが高い順に出力する。表g201は、クラスk毎に、文字スコア算出部4Aが算出した文字尤度Mkと、取消スコア算出部5Aが算出した取消尤度Rtとを算出した結果例である。
【0064】
表g202は、γが2.0と10.0の場合のスコアが第1位~第4位の候補である。
表g202のように、γが2.0の場合のスコアが高い順は、「¥」の取り消し無し、「Y」の取り消し有り、「Y」の取り消し無し、「¥」の取り消し有りであった。
また、表g202のように、γが10.0の場合のスコアが高い順は、「Y」の取り消し有り、「¥」の取り消し無し、「Y」の取り消し無し、「¥」の取り消し有りであった。
【0065】
このように、本実施形態では、デコード部7Aが取り消し無しのスコアを、重み係数γと、文字尤度Mkと、取り消し尤度Rkを算出し、取り消し有りのスコアと、取り消し無しのスコアとに基づいて、尤もらしい文字または取り消しを推定する。
【0066】
次に、本実施形態における文字認識装置1の処理手順例を説明する。
図9は、本実施形態に係る文字認識装置の処理手順例を示すフローチャートである。
【0067】
画像取得部2は、文字の書かれた画像(例えば画像g211)を取得する(ステップS31)。
【0068】
文字スコア算出部4Aは、画像取得部2が出力する画像情報を文字認識ネットワーク41へ入力して、クラスkの文字尤度Mkを算出する(ステップS32)。
【0069】
取消スコア算出部5Aは、画像取得部2が出力する画像情報を取消尤度予測ネットワーク51へ入力して、取消尤度Rtを算出する(ステップS33)。
【0070】
デコード部7Aが取り消し無しのスコアを、重み係数γと、文字尤度Mkと、取り消し尤度Rkを算出し、取り消し有りのスコアと、取り消し無しのスコアとに基づいて、尤もらしい文字または取り消しを推定する(ステップS34)。
【0071】
出力部8は、デコード部7Aが算出し推定した結果を反映して、認識された文字列を、外部装置へ出力する(ステップS35)。
【0072】
本実施形態では、文字毎に取り消し有りのスコアと取り消し無しのスコアとを算出し、算出したスコアと重み係数γ都に基づいて、尤もらしい文字や取り消し情報を推定して出力するようにした。
これにより、本実施形態によれば、取得した画像が文字であるか取り消しであるかを適切に認識することができる。
【0073】
(第4の実施形態)
次に、第4の実施形態について説明する。本実施形態では、第1の実施形態のように補正した文字尤度に基づいて文字列を推定し、さらに補正前の文字尤度とブランク尤度とに基づいて取り消しを想定していない文字列も推定して、推定結果を比較して、文字認識を行う。
【0074】
図10は、本実施形態に係る文字認識装置の構成の一例を示すブロック図である。
図10のように、文字認識装置1Bは、画像取得部2、文字スコア算出部4、取消スコア算出部5、補正部6、デコード部7B、比較部9、および出力部8Bを備える。文字スコア算出部4は、文字認識ネットワーク41を備える。取消スコア算出部5は、取消尤度予測ネットワーク51を備える。
【0075】
デコード部7Bは、補正された文字尤度M’t、kとブランク尤度Btとに基づいて、尤もらしい文字列を推定する。さらに、デコード部7Bは、文字尤度Mt、kとブランク尤度Btとに基づいて、取り消しを想定しない場合の尤もらしい文字列を推定する。
【0076】
比較部9は、補正された文字尤度M’t、kとブランク尤度Btとに基づいて推定された文字列と、文字尤度Mt、kとブランク尤度Btとに基づいて推定された文字列とを比較する。
【0077】
出力部8Bは、比較部が比較した結果に基づいて、取り消し反映前の冗長な文字列と取り消し情報を、外部装置へ出力する。
【0078】
次に、本実施形態における文字認識装置1Bの処理手順例を説明する。
図11は、本実施形態に係る文字認識装置の処理手順例を示すフローチャートである。
【0079】
画像取得部2は、文字の書かれた画像(例えば画像g311)を取得する(ステップS41)。
【0080】
続けて、文字認識装置1Bは、第1の実施形態と同様にステップS12~S16の処理を行う。
【0081】
続けて、デコード部7Bは、文字尤度Mt、kとブランク尤度Btとに基づいて、取り消しを想定しない場合の尤もらしい文字列を推定する(ステップS42)。なお、デコード部7Bは、ステップS42の処理を、ステップS12~S16と並行して行うようにしてもよく、ステップS12~S16より先に行うようにしてもよい。
【0082】
比較部9は、補正された文字尤度M’t、kとブランク尤度Btとに基づいて推定された文字列と、文字尤度Mt、kとブランク尤度Btとに基づいて推定された文字列とを比較する。比較部9は、比較した比較結果を出力部8Bに出力する(ステップS43)。
【0083】
出力部8Bは、比較部が比較した結果に基づいて、取り消し反映前の冗長な文字列と取り消し情報を、外部装置へ出力する(ステップS44)。例えば、補正された文字尤度M’t、kとブランク尤度Btとに基づいて推定された文字列が「¥30」であり、文字尤度Mt、kとブランク尤度Btとに基づいて推定された文字列が「¥300」である場合、出力部8Bは、「¥300」と4文字目が取り消しであると推定される文字列であることを含めて出力する。
【0084】
以上のように、本実施形態では、補正した文字尤度に基づいて文字列を推定し、さらに補正前の文字尤度とブランク尤度とに基づいて取り消しを想定していない文字列も推定して、推定結果を比較して、文字認識を行うようにした。
これにより、本実施形態によれば、このような認識結果を、例えば手書きした利用者に提示することで、正しく認識できたか否か、または認識が正しくない場合の修正の手がかりを提供することができる。
【0085】
(第5の実施形態)
次に、第5の実施形態について説明する。上述した各実施形態では、取り消しの一例として、二本の横線による取り消しを説明したが、取り消し方法は、
図12のように取消線g401、黒塗りg402、斜め線g403、およびバツ印g404等がある。
図12は、取り消しの例を示す図である。
【0086】
図12のように、複数の取り消しが想定される場合の取消は、取り消し有り無しの2つのクラスではなく、取り消し無し、取消線による取り消し、黒塗りによる取消、斜め線による取り消し、およびバツ印による取り消しの5つのクラスが必要になる。このため、本実施形態では、取り消しに対して3つ以上のクラスを用いて認識を行う。なお、本実施形態の文字認識装置1の構成例は、第1の実施形態と同じである。
【0087】
取消スコア算出部5は、画像取得部2の出力する画像を取消尤度予測ネットワーク51へ入力して、画像全体の特徴量を算出する。次に画像全体の特徴量を、入力画像幅に応じた数のフレームに分割する。その後、文字スコア算出部4は、分割したフレームごとの特徴量からフレームt、取消クラスjにおける取消尤度(スコア)Rt、jを算出する。文字スコア算出部4は、算出したフレーム毎の取消尤度Rt、jを補正部6に出力する。
【0088】
補正部6は、取消尤度Rt、jに基づいて、文字尤度Mt,kを補正して、補正後の文字尤度M’t,kを算出する。
【0089】
ここで、補正部6の行う縫製方法例を説明する。
補正部6は、例えば、次式(5)を用いて取消クラスj毎に異なる閾値や重みを設定する。例えば、黒塗り取消クラスの重みを低くする(βjを大きくする)。
【0090】
【0091】
なお、式(5)において、uはステップ関数であり、βjは取消クラスj毎の重みである。
【0092】
次に、本実施形態における文字認識装置の処理手順例を説明する。
図13は、本実施形態に係る文字認識装置の処理手順例を示すフローチャートである。
【0093】
文字認識装置1は、第1の実施形態と同様にステップS11~S13の処理を行う。
【0094】
取消スコア算出部5は、分割された特徴量からフレームt、取消クラスjにおける取消尤度Rt、jを算出する(ステップS51)。
【0095】
補正部6は、取消尤度Rt、jに基づいて、文字尤度Mt,kを補正して、補正後の文字尤度M’t,kを算出する(ステップS52)。
【0096】
続けて、文字認識装置1は、第1の実施形態と同様にステップS16~S17の処理を行う。
【0097】
なお、本実施形態の手法に、字種毎の補正時の重みを変える第2の実施形態の手法を組み合わせてもよい。
【0098】
以上のように、本実施形態では、複数の取り消しパターンに合わせて取消クラスを用いて、取消尤度を算出するようにした。
これにより、本実施形態によれば、取消尤度推定の高精度化と、説明性の向上とを行うことができる。
【0099】
(第6の実施形態)
次に、第6の実施形態について説明する。本実施形態の文字認識装置1の構成例は、第1の実施形態と同じである。本実施形態では、隣接フレームで取消か取消でないかは頻繁に変化しないことに基づいて、隣接フレームの取消尤度も考慮して認識を行う。
【0100】
補正部6は、補正時に、例えば取消尤度Rtにおいてtに関してガウス関数を用いて平滑化を行う。または、補正部6は、補正時に、例えば隣接フレームで、次式(6)を用いてOR演算を行う。
【0101】
【0102】
次に、本実施形態における文字認識装置の処理手順例を説明する。
図14は、本実施形態に係る文字認識装置の処理手順例を示すフローチャートである。
【0103】
文字認識装置1は、第1の実施形態と同様にステップS11~S14の処理を行う。
【0104】
補正部6は、補正時に隣接するフレームを考慮して、取消尤度Rtに基づいて、文字尤度Mt,kを補正して、補正後の文字尤度M’t,kを算出する(ステップS61)。
【0105】
続けて、文字認識装置1は、第1の実施形態と同様にステップS16~S17の処理を行う。
【0106】
以上のように、本実施形態では、隣接フレームの取消尤度も考慮して認識するようにした。
これにより、本実施形態によれば、取消判定の高精度化を行うことができる。
【0107】
上記各実施形態では、文字の取り消しを認識する例を説明したが、これに限らない。書かれた(または印字された)ものは、記号や数式等であってもよい。このように、本実施形態においては、文字は、例えば、アルファベット、数字、記号、ひらがな、カタカナ、漢字等を含む。
【0108】
また、上記実施形態のうちのいくつかの実施形態では、文字スコア算出部4がブランククラスの尤度Btを算出し、デコード部7が補正された文字尤度と取り消し尤度から尤もらしい文字列を推定する例を説明したが、ブランク尤度を用いずに推定するようにしてもよい。
【0109】
また、上記実施形態では、文字が書かれた(または印字された)画像を横方向のフレームに分割する例を説明したが、分割する方向は、例えば縦方向であってもよい。
【0110】
上記各実施形態では、文字認識装置1(1A,1B)は、LSI等のハードウェア機能部であるものとしたが、ソフトウェア機能部であってもよい。
【0111】
以上説明した少なくともひとつの実施形態によれば、取消スコア算出部5を持つことにより、取り消された文字を判定し認識結果に反映させることができる。また、以上説明した少なくともひとつの実施形態によれば、補正部6を持つことにより、クラス毎の文字尤度と取消尤度を用いて、クラス毎の文字尤度を補正することで、取り消された文字を判定し認識結果に反映させることができる。
【0112】
なお、本発明における文字認識装置1(1A,1B)の機能の全てまたは一部を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより文字認識装置1(1A,1B)の処理の全てまたは一部を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0113】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0114】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0115】
1,1A,1B…文字認識装置、2…画像取得部、4,4A…文字スコア算出部、5,5A…取消スコア算出部、6…補正部、7,7A,7B…デコード部、8…出力部、9…比較部、41…文字認識ネットワーク、51…取消尤度予測ネットワーク