(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-02
(45)【発行日】2024-12-10
(54)【発明の名称】文字認識におけるテキスト復元のための方法およびシステム
(51)【国際特許分類】
G06V 30/194 20220101AFI20241203BHJP
G06V 10/82 20220101ALI20241203BHJP
G06V 20/62 20220101ALI20241203BHJP
G06T 7/00 20170101ALI20241203BHJP
G06N 20/00 20190101ALI20241203BHJP
G06N 3/044 20230101ALI20241203BHJP
G06N 3/0464 20230101ALI20241203BHJP
G06N 3/08 20230101ALI20241203BHJP
【FI】
G06V30/194
G06V10/82
G06V20/62
G06T7/00 350C
G06N20/00
G06N3/044
G06N3/0464
G06N3/08
【外国語出願】
(21)【出願番号】P 2023160043
(22)【出願日】2023-09-25
【審査請求日】2024-01-23
(32)【優先日】2022-09-30
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】519448326
【氏名又は名称】コニカ ミノルタ ビジネス ソリューションズ ユー.エス.エー., インコーポレイテッド
(74)【代理人】
【識別番号】110001254
【氏名又は名称】弁理士法人光陽国際特許事務所
(72)【発明者】
【氏名】ウェイ, ジュンチャオ
【審査官】秦野 孝一郎
(56)【参考文献】
【文献】米国特許出願公開第2021/0133503(US,A1)
【文献】特開2020-154600(JP,A)
【文献】米国特許出願公開第2020/0302220(US,A1)
【文献】特開2020-173669(JP,A)
【文献】中国特許出願公開第112819724(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06V 30/00-30/12
G06V 30/18-30/222
G06V 30/226-30/32
G06V 30/42-30/424
G06V 10/00-20/90
G06T 7/00-7/90
G06N 20/00
G06N 3/044
G06N 3/0464
G06N 3/08
(57)【特許請求の範囲】
【請求項1】
光学式/画像文字認識(OICR)エンジンおよび機械学習システムを備えるOICRシステムにおいて、前記機械学習システムをトレーニングする方法であって、前記方法は、
入力テキストおよび/または画像データを受信することと、
前記入力テキストおよび/または画像データを変更し、劣化したデータを生成することと、
前記劣化したデータを使用して前記機械学習システムをトレーニングすることと、
前記劣化したデータを前記機械学習システムに受信することと、
前記劣化したデータを、前記機械学習システムを用いて修正し、修正されたデータを生成することと、
前記修正されたデータを読み取った後、前記機械学習システムの調整が必要であることを検出したことに応じて、前記機械学習システムにおける1つまたは複数のノードの重みを調整することと、
前記調整がもはや必要ではないと判定されるまで、前記修正および調整を繰り返すこととを備え、
前記調整は、前記OICRエンジンに対する改良または他の変更を必要とせずに実行される、方法。
【請求項2】
前記機械学習システムは、トレーニングのために、前記劣化したデータに加えて、追加のデータを使用する、請求項1に記載の方法。
【請求項3】
前記機械学習システムは、畳込み回帰型ニューラルネットワーク(CRNN)であり、前記CRNNは、畳込みニューラルネットワーク(CNN)および回帰型ニューラルネットワーク(RNN)を備える、請求項1
又は2に記載の方法。
【請求項4】
前記CNNは、前記劣化したデータを生成し、前記RNNは、前記修正されたデータを生成する、請求項3に記載の方法。
【請求項5】
前記CNNは、敵対的生成ネットワーク(GAN)損失を用いてトレーニングされ、前記RNNは、コネクショニスト時間カテゴリカル(CTC)損失を用いてトレーニングされる、請求項3に記載の方法。
【請求項6】
光学式/画像文字認識(OICR)エンジンおよび機械学習システムを備えるOICRシステムにおいて、劣化したデータを復元する方法であって、前記方法は、前記機械学習システムにおいて、
前記劣化したデータを受信することと、
前記劣化したデータを、前記機械学習システムを用いて修正し、修正されたデータを生成することと、
前記修正されたデータを読み取った後、前記機械学習システムの調整が必要であることを検出したことに応じて、前記機械学習システムにおける1つまたは複数のノードの重みを調整することと、
前記調整がもはや必要ではないと判定されるまで、前記修正および調整を繰り返すこととを備える、方法。
【請求項7】
前記劣化したデータは、結合または欠落しているストローク、および背景ノイズのうちの1つまたは複数を有する文字を備える、請求項6に記載の方法。
【請求項8】
前記機械学習システムの内容が、前記機械学習システムの1つまたは複数の態様の、前記OICRシステムへの組み込みを正当化するという判定に応じて、前記1つまたは複数の態様を組み込むために、前記OICRシステムに変更を加えることを備える、請求項6
又は7に記載の方法。
【請求項9】
前記機械学習システムは、畳込み回帰型ニューラルネットワーク(CRNN)であり、前記CRNNは、畳込みニューラルネットワーク(CNN)および回帰型ニューラルネットワーク(RNN)を備える、請求項6
又は7に記載の方法。
【請求項10】
前記CNNは、前記劣化したデータを生成し、前記RNNは、前記修正されたデータを生成する、請求項9に記載の方法。
【請求項11】
光学式/画像文字認識(OICR)エンジンおよび機械学習システムを備えるOICRシステムであって、前記機械学習システムは、
入力テキストおよび/または画像データを受信することと、
前記入力テキストおよび/または画像データを変更し、劣化したデータを生成することと、
前記劣化したデータを使用して前記機械学習システムをトレーニングすることと、
前記劣化したデータを前記機械学習システムに受信することと、
前記劣化したデータを、前記機械学習システムを用いて修正し、修正されたデータを生成することと、
前記修正されたデータを読み取った後、前記機械学習システムの調整が必要であることを検出したことに応じて、前記機械学習システムにおける1つまたは複数のノードの重みを調整することと、
前記調整がもはや必要ではないと判定されるまで、前記修正および調整を繰り返すこととを備え、
前記調整は、前記OICRエンジンに対する改良や他の変更を必要とせずに実行される、方法を実行するようにプログラムされた、システム。
【請求項12】
前記機械学習システムは、トレーニングのために、前記劣化したデータに加えて、追加のデータを使用する、請求項11に記載のシステム。
【請求項13】
前記機械学習システムは、畳込み回帰型ニューラルネットワーク(CRNN)であり、前記CRNNは、畳込みニューラルネットワーク(CNN)および回帰型ニューラルネットワーク(RNN)を備える、請求項11
又は12に記載のシステム。
【請求項14】
前記CNNは、前記劣化したデータを生成し、前記RNNは、前記修正されたデータを生成する、請求項13に記載のシステム。
【請求項15】
前記CNNは、敵対的生成ネットワーク(GAN)損失を用いてトレーニングされ、前記RNNは、コネクショニスト時間カテゴリカル(CTC)損失を用いてトレーニングされる、請求項13に記載のシステム。
【請求項16】
前記方法はさらに、前記機械学習システムにおいて、劣化したデータを復元する方法を備え、前記方法は、
劣化したエンドユーザデータを受信することと、
前記劣化したエンドユーザデータを、前記機械学習システムを用いて修正し、修正されたエンドユーザデータを生成することと、
前記修正されたエンドユーザデータを読み取った後、前記機械学習システムの調整が必要であることを検出したことに応じて、前記機械学習システムにおける1つまたは複数のノードの重みを調整することと、
前記調整がもはや不要と判定されるまで、前記修正および調整を繰り返すことと、
前記修正されたエンドユーザデータを出力することとを備える、請求項11
又は12に記載のシステム。
【請求項17】
前記劣化した
エンドユーザデータは、結合または欠落しているストローク、および背景ノイズのうちの1つまたは複数を有する文字を備える、請求項16に記載のシステム。
【請求項18】
前記機械学習システムの内容が、前記機械学習システムの1つまたは複数の態様の、前記OICRシステムへの組み込みを正当化するという判定に応じて、前記1つまたは複数の態様を組み込むために、前記OICRシステムに対する変更を行うことをさらに備える、請求項16に記載のシステム。
【請求項19】
前記機械学習システムは、畳込み回帰型ニューラルネットワーク(CRNN)であり、前記CRNNは、畳込みニューラルネットワーク(CNN)および回帰型ニューラルネットワーク(RNN)を備える、請求項16に記載のシステム。
【請求項20】
前記CNNは、前記劣化したデータを生成し、前記RNNは、前記修正されたデータを生成する、請求項19に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願への相互参照
本出願は、「Method and Apparatus for Customized Deep Learning-Based Text Correction」(カスタマイズされたディープラーニングベースのテキスト修正のための方法及び装置)と名称の2021年9月30日に出願された米国出願第17/491,122号に関連する。上記参照された出願の全内容は、本明細書において参照により組み込まれる。
【0002】
本発明の態様は、画像処理に関し、より詳細には、文字認識に関する。
【発明の概要】
【発明が解決しようとする課題】
【0003】
印刷されたエンドユーザデータは、損傷および/または劣化した文字(たとえば、にじみ、汚れ、ぼやけ、傷つき、または部分的に欠落している字または数字)を含む場合がある。そのような文字は、スキャンエラーから、書面上の湿気や他の異物に至るまで、様々な理由で発生する可能性がある。これらの問題はいずれも、光学式文字認識(OCR)または画像文字認識(ICR)に課題をもたらす。そのようなエラーに対処するために、文字認識システムを再トレーニングしたり、微調整したりするのは、困難な場合がある。たとえば、再トレーニングまたは微調整を行うための例の数が制限され得る。また、トレーニングデータに偏りがあり、再トレーニングまたは微調整後にパフォーマンスの低下や、および/または、ドリフトが生じる可能性があるという懸念もあり得る。そのような問題を回避するために、より大きなトレーニングセットを適用できるが、トレーニングセットの実行の観点のみならず、トレーニングセットの生成およびチェックの時間の観点でも、多くの時間および費用がかかる可能性がある。既存のデータセットを拡張すると、ドリフトおよび/または偏りが生じる可能性がある。
【課題を解決するための手段】
【0004】
上記を考慮して、1つの態様では、本発明の実施形態は、文字データを含むデータ生成および復元へのアプローチを提供する。実施形態では、日本語またはより一般的な東アジアの文字データの生成および復元における問題は、光学式/画像文字認識(OICR)システム全体の一部として、OICRエンジンと連携して動作できる機械学習(ML)システムをトレーニングするためのデータを作成することによって対処され、OICRエンジンは、特定のタイプのデータを読み取り、MLシステムは、より特殊化され得るデータを読み取る。MLシステムおよびOICRエンジンをともに動作させると、OICRエンジンの大幅な再トレーニングまたは微調整を実行する必要がなくなる。
【0005】
実施形態では、MLシステムは、欠陥を含む文字を生成する畳込みニューラルネットワーク(CNN)と、欠陥のある文字を識別して修正する回帰型ニューラルネットワーク(RNN)とを備える。実施形態では、CRNNシステム全体は、低レベルのノイズのあるパターンを学習して認識し、それらを高レベルの内容から区別する生成ネットワークモデルを備える。実施形態では、CRNNシステムが動作する文字およびフォントは、エンドユーザに固有であり得るが、OICRエンジンが動作する文字およびフォントは、より一般的であり得る。実施形態では、OICRエンジンは、ベースモデルと称され得、CRNNシステムは、エンドユーザモデルと称され得る。実施形態では、OICRエンジンは、MLシステムであり得る。実施形態では、OICRエンジンは、異なるエンドユーザのために複数のCRNNシステムとともに動作し得る。
【0006】
この生成ネットワークモデルには、光学式文字認識および画像文字認識の文脈において、2つの主要な応用分野がある。1つは、データ生成において、CRNNシステムのためのトレーニングセットを生成する。データ生成のために、たとえば、文字や文字の一部が欠落している、または文字がかすれているなど、様々な欠陥のある文字を生成するために、生成ネットワークが適用される。別のものは、画像復元において、データをクリーンにして、データ内のノイズを低減する。画像復元のために、特定のフォントでひどく損傷した文字、たとえば、ストロークが結合または欠落している文字、ぼやけた、または汚れた文字などを復元し、背景ノイズを除去するために、生成ネットワークが適用される。実施形態では、フォントおよび背景ノイズは、エンドユーザに固有であり得る。したがって、CRNNは、エンドユーザに固有のデータに基づいてトレーニングされ得る。OICRエンジンの代わりにこのデータを使用してCRNNをトレーニングすることにより、極端であり得るか、または、OICRエンジンのために使用される他のトレーニングデータとは非常に異なり得る、エンドユーザデータを用いて、OICRエンジンの歪みや偏りを回避することが可能である。
【0007】
生成ネットワークモデルの別の応用分野は、ひどく損傷したテキストの認識を可能にするエンドユーザモデルを生成することである。エンドユーザモデルのために、トレーニングされた弁別器も、サブモデルとして使用でき、エンドユーザサンプルにおける異なるタイプの劣化を認識するために適用できる。
【0008】
次に、添付図面に例示される実施形態を参照して、本発明の態様が説明される。
【図面の簡単な説明】
【0009】
【
図1A】実施形態にしたがってCRNNシステムを構成する、異なるニューラルネットワーク内のフローの高レベル図である。
【
図1B】実施形態にしたがってCRNNシステムを構成する、異なるニューラルネットワーク内のフローの高レベル図である。
【
図2A】実施形態にしたがうデータ生成の例を示す図である。
【
図2B】実施形態にしたがうデータ生成の例を示す図である。
【
図2C】実施形態にしたがうデータ復元の例を示す図である。
【
図2D】実施形態にしたがうデータ復元の例を示す図である。
【
図3A】実施形態にしたがうデータ復元のさらなる例を示す図である。
【
図3B】実施形態にしたがうデータ復元のさらなる例を示す図である。
【
図3C】実施形態にしたがうデータ復元のさらなる例を示す図である。
【
図3D】実施形態にしたがうデータ復元のさらなる例を示す図である。
【
図4A】実施形態にしたがうデータ復元の別の例を示す図である。
【
図4B】実施形態にしたがうデータ復元の別の例を示す図である。
【
図4C】実施形態にしたがうデータ復元の別の例を示す図である。
【
図5A】実施形態にしたがうデータ復元の別の例を示す図である。
【
図5B】実施形態にしたがうデータ復元の別の例を示す図である。
【
図5C】実施形態にしたがうデータ復元の別の例を示す図である。
【
図6A】実施形態にしたがうデータ復元の別の例を示す図である。
【
図6B】実施形態にしたがうデータ復元の別の例を示す図である。
【
図6C】実施形態にしたがうデータ復元の別の例を示す図である。
【
図7A】実施形態にしたがうデータ復元の別の例を示す図である。
【
図7B】実施形態にしたがうデータ復元の別の例を示す図である。
【
図7C】実施形態にしたがうデータ復元の別の例を示す図である。
【
図8A】実施形態にしたがうデータ復元の別の例を示す図である。
【
図8B】実施形態にしたがうデータ復元の別の例を示す図である。
【
図8C】実施形態にしたがうデータ復元の別の例を示す図である。
【
図9A】実施形態にしたがうデータ復元の別の例を示す図である。
【
図9B】実施形態にしたがうデータ復元の別の例を示す図である。
【
図9C】実施形態にしたがうデータ復元の別の例を示す図である。
【
図10】実施形態にしたがうCRNNシステムの一般的な動作のフローチャートである。
【
図11】実施形態にしたがって入力データを受信し、OICRエンジンまたはエンドユーザモデルのいずれかをトレーニングするためのシステムの高レベルの例を示す図である。
【
図12】実施形態にしたがうモデルトレーニングのためのディープラーニングシステムの一部の高レベル図である。
【
図13】実施形態にしたがうモデルトレーニングのためのディープラーニングシステムの高レベルの例を示す図である。
【発明を実施するための形態】
【0010】
本発明の態様は、光学式/画像文字認識(OICR)エンジンおよび機械学習システムを備えるOICRシステムにおいて、機械学習システムをトレーニングする方法を提供し、この方法は、入力テキストおよび/または画像データを受信することと、入力テキストおよび/または画像データを変更し、劣化したデータを生成することと、劣化したデータを使用して機械学習システムをトレーニングすることと、劣化したデータを機械学習システムに受信することと、劣化したデータを、機械学習システムを用いて修正し、修正されたデータを生成することと、修正されたデータを読み取った後、機械学習システムの調整が必要であることを検出したことに応じて、機械学習システムにおける1つまたは複数のノードの重みを調整することと、調整がもはや必要ではないと判定されるまで、修正および調整を繰り返すこととを備え、調整は、OICRエンジンに対する改良または他の変更を必要とせずに実行される。
【0011】
さらなる態様では、機械学習システムは、トレーニングのために、劣化したデータに加えて追加のデータを使用する。さらに別の態様では、機械学習システムは、畳込み回帰型ニューラルネットワーク(CRNN)であり、CRNNは、畳込みニューラルネットワーク(CNN)および回帰型ニューラルネットワーク(RNN)を備える。また別のさらなる態様では、CNNは、劣化したデータを生成し、RNNは、修正されたデータを生成する。CNNは、敵対的生成ネットワーク(GAN)損失を用いてトレーニングすることができ、RNNは、コネクショニスト時間カテゴリカル(CTC)損失を用いてトレーニングすることができる。
【0012】
本発明の他の態様は、光学式/画像文字認識(OICR)エンジンおよび機械学習システムを備えるOICRシステムにおいて、劣化したデータを復元する方法を提供し、この方法は、機械学習システムにおいて、劣化したデータを受信することと、劣化したデータを、機械学習システムを用いて修正し、修正されたデータを生成することと、修正されたデータを読み取った後、機械学習システムの調整が必要であることを検出したことに応じて、機械学習システムにおける1つまたは複数のノードの重みを調整することと、調整がもはや必要ではないと判定されるまで、修正および調整を繰り返すこととを備える。さらなる態様では、劣化したデータは、結合または欠落しているストロークおよび背景ノイズのうちの1つまたは複数を有する文字を備える。さらに別の態様では、方法は、機械学習システムの内容が、機械学習システムの1つまたは複数の態様の、OICRシステムへの組み込みを正当化するという判定に応じて、1つまたは複数の態様を組み込むために、OICRシステムに変更を加えることを含む。また別のさらなる態様では、機械学習システムは、畳込み回帰型ニューラルネットワーク(CRNN)であり、CRNNは、畳込みニューラルネットワーク(CNN)および回帰型ニューラルネットワーク(RNN)を備える。実施形態では、CNNは、劣化したデータを生成し、RNNは、修正されたデータを生成する。
【0013】
本発明のさらに他の態様は、光学式/画像文字認識(OICR)エンジンおよび機械学習システムを備えるOICRシステムを提供し、機械学習システムは、入力テキストおよび/または画像データを受信することと、入力テキストおよび/または画像データを変更し、劣化したデータを生成することと、劣化したデータを使用して機械学習システムをトレーニングすることと、劣化したデータを機械学習システムに受信することと、劣化したデータを、機械学習システムを用いて修正し、修正されたデータを生成することと、修正されたデータを読み取った後、機械学習システムの調整が必要であることを検出したことに応じて、機械学習システムにおける1つまたは複数のノードの重みを調整することと、調整がもはや必要ではないと判定されるまで、修正および調整を繰り返すこととを備え、この調整は、OICRエンジンに対する改良または他の変更を必要とせずに実行される、方法を実行するようにプログラムされる。さらなる態様では、機械学習システムは、トレーニングのために、劣化したデータに加えて、追加のデータを使用する。また別のさらなる態様では、機械学習システムは、畳込み回帰型ニューラルネットワーク(CRNN)であり、CRNNは、畳込みニューラルネットワーク(CNN)および回帰型ニューラルネットワーク(RNN)を備える。実施形態では、CNNは、劣化したデータを生成し、RNNは、修正されたデータを生成する。また別のさらなる態様では、CNNは、敵対的生成ネットワーク(GAN)損失を用いてトレーニングされ、RNNは、コネクショニスト時間カテゴリカル(CTC)損失を用いてトレーニングされる。
【0014】
本発明のさらに他の態様は、機械学習システムにおいて、劣化したデータを復元する方法を提供し、方法は、劣化したエンドユーザデータを受信することと、劣化したエンドユーザデータを、機械学習システムを用いて修正し、修正されたエンドユーザデータを生成することと、修正されたエンドユーザデータを読み取った後、機械学習システムの調整が必要であることを検出したことに応じて、機械学習システムにおける1つまたは複数のノードの重みを調整することと、調整がもはや必要ではないと判定されるまで、修正および調整を繰り返すことと、修正されたエンドユーザデータを出力することとを備える。追加の態様によれば、劣化したエンドユーザデータは、結合または欠落しているストローク、および背景ノイズのうちの1つまたは複数を有する文字を備える。さらに追加の態様によれば、機械学習システムの内容が、機械学習システムの1つまたは複数の態様の、OICRシステムへの組み込みを正当化するという判定に応じて、1つまたは複数の態様を組み込むために、OICRシステムに対する変更が行われる。さらに別の追加の態様によれば、機械学習システムは、畳込み回帰型ニューラルネットワーク(CRNN)であり、CRNNは、畳込みニューラルネットワーク(CNN)および回帰型ニューラルネットワーク(RNN)を備える。実施形態では、CNNは、劣化したデータを生成し、RNNは、修正されたデータを生成する。
【0015】
前述したように、実施形態によれば、本明細書において説明される本発明の方法およびシステムは、東洋言語文字の生成および復元に特に適用可能である。実施形態では、本発明の方法およびシステムは、日本語における文字の生成および復元を実行する。実施形態では、畳込み再帰型ニューラルネットワーク(CRNN)は、次の2つのレベルの情報、すなわち、(1)印刷されたテキストにおけるノイズまたは他の劣化と、(2)高レベルのフォントまたは手書き内容とを学習して分離する。
【0016】
実施形態では、畳込みニューラルネットワーク(CNN)は、より早い段階でノイズに対処する。後の段階では、回帰型ニューラルネットワーク(RNN)が、高レベルのフォント情報を学習する。実施形態では、畳込み再帰型ニューラルネットワーク(CRNN)全体が、CNNについては関連する敵対的生成ネットワーク(GAN)の損失、およびRNNについてはコネクショニスト時間カテゴリカル(CTC)損失を含む、特定の損失関数を用いてトレーニングされる。当業者が理解するように、各損失関数は、特定のインスタンスに関連付けられる。
【0017】
異なる実施形態によれば、CRNNのいくつかの態様がある。1つの態様では、CRNNは、エンドユーザデータ内の画像に類似した劣化画像を提供するために、劣化したテキストおよび/または画像を生成する。劣化画像を生成するために、フォントが選択され得る。劣化は、フォントに応じて異なる影響を有し得る。
【0018】
別の態様では、CRNNは、入力された劣化画像からテキストおよび/または画像を復元する。最初に説明された態様において生成された劣化画像は、入力された劣化画像に何が不足しているか、何が欠落しているかを認識するようにCRNNをトレーニングするために使用され得る。
【0019】
実施形態では、CRNNは、文字を認識するようにネットワークをトレーニングするために、ノイズの多いサンプルまたは画像テンプレートを受信する。ネットワークは、入力された画像から、維持される内容を伴う新しい画像を出力する。
【0020】
図1Aおよび
図1Bは、実施形態によるCRNNベースの生成ネットワークを図示する。
図1Aにおいて、生成モジュール110は、説明される方式で、劣化されたテキストを生成する。生成モジュール110において、ラベル付けモジュール112は、入力されている内容を説明する。114において、ラベル付けモジュール112の出力に基づいて、適切なテキストまたは画像データが生成される。CNN特徴エンコーダ116は、データを取得し、適切な特徴セットを生成する。CNNは、ノイズパターンまたはスタイルなどの低レベルの特徴を学習する。テキストの場合、実施形態では、CNNは、フォントの形状(たとえば、鮮明さ、丸み)を学習し得る。
【0021】
次に、CNN特徴エンコーダ116からの特徴セットは、結合器125において、特徴セットを劣化させる様々なタイプのデータと結合される。実施形態では、ランダムノイズブロック120は、劣化特徴を提供する。結合器125の結果を劣化テキストとして受信するRNN130は、生成された画像/劣化テキストにおける内容を保存する。
【0022】
生成ネットワーク140は、RNN130の出力を受信し、劣化した文字またはテキストを備える出力150を提供する。
図1Bが図示するように、生成ネットワーク140は、逆畳込みデコーダ146、アップサンプリングモジュール142、および投影モジュール144(モジュール142および144は、ともにアップサンプリングプロジェクタと称される)を含む。逆畳込みデコーダ146は、入力として受信したデータに関する高レベルの情報を作成し得る。アップサンプリングプロジェクタ142/144は、データのいくつかの特徴、およびいくつかの基本的な内容スタイルを保存し得る。
【0023】
実施形態では、生成ネットワーク140内で、逆畳込みデコーダ146は、文字の基本内容を保存する。たとえば、実施形態では、逆畳込みデコーダ146は、基本的な形状を有し得るが、フォントなどの外観の詳細が欠落している可能性がある、対応する一般に汎用的な文字を提供することによって、劣化した文字またはテキストの入力に応答し得る。アップサンプリングプロジェクタ142/144は、フォントの鮮明さや丸みなどの特定の特徴を追加し得る。生成ネットワーク140の動作の結果として、生成/復元された画像は、ターゲット画像、すなわちグランドトゥルースに類似することになろう。
【0024】
図1Bは、生成されたデータと実際のデータとを区別することを学習する弁別モジュールの一部を図示する。
図1Bでは、160において、復元されるべき文字のテキストまたは画像が入力される。実施形態では、
図1Aにおける出力150は、画像入力160に直接供給され得る。画像入力160からのデータは、CNN特徴エンコーダ170に送られ、CNN特徴エンコーダ170は、適切な特徴セットを生成し、内容保存モジュール180に渡す。弁別モジュールは、画像入力160において入力されているデータが、実際のデータではなく、生成されたデータであることを識別し得る。実際のデータではなく生成されたデータの判定は、GAN損失として反映され、その後、エンコーダ172において、CNNをトレーニングするために使用される。内容保存モジュール180は、復元された画像における内容を保存するRNN182と、CTCブロック184とを含む。CTCブロック184から生じるCTC損失は、RNNをトレーニングするために使用される。
【0025】
実施形態では、
図1Aおよび
図1Bのネットワークは、競合的貧富最適化(CPRO)ベースのディープラーニングモデルであり得る。
【0026】
実施形態では、エンドユーザのデータセットに現れる可能性のある劣化したサンプルが生成される。必要に応じて、これら劣化したサンプルを使用してOICRエンジンを微調整し、パフォーマンスを向上させることができる。そのような合成データの生成は、ノイズパターンの識別と、既存のフォントの適用とを必要とする、現在の合成データの生成とは対照的である。したがって、プロセスはより単純になり、合成データの生成および拡張のためのエンドツーエンドの学習を提供する。実施形態では、特定のエンドユーザデータおよび要件をサポートするために、プロセスが自動化され、OICRエンジン微調整および再トレーニングプロセス自体に統合され得る。そのような統合は、CRNNシステムが満たす特定の要件と、OICRエンジン自体との間にかなりの重複がある特定のエンドユーザに対して行われる場合がある。
【0027】
CRNNでは、CRNNエンコーダ/デコーダが、トレーニングプロセス全体を通じて内容情報を維持するために使用される。GAN損失は、内容からノイズを分離できるように、低レベルのノイズパターンを学習する。その結果、生成されたサンプルにおける劣化レベルを、より適切に制御できる。この制御の改善により、トレーニングデータの分布がずれたり、ドリフトなどの可能性によるOICRエンジンの全体的な機能が損なわれることを回避できる。
【0028】
図2Aおよび
図2Bは、実施形態によるデータ拡張の例を図示する。
図2Aは、関連するフォントのテンプレートを使用して電子的に生成された、入力された画像である。
図2Bは、システムが提供した文字の劣化を伴う出力である。
図2Bには、
図2Aと比較して、様々な汚れやぼやけ、さらには大きく欠けた文字さえも見られる場合がある。
【0029】
図2Cおよび
図2Dは、実施形態によるデータ復元の例を図示する。
図2Cは、実際のデータから取得された、破損した文字を含む、入力された画像である。
図2Dは、入力された画像から復元された文字を含む画像である。
【0030】
図3Aおよび
図3B、ならびに
図3Cおよび3Dは、画像復元の例である。
図3Aは、入力テキストであり、多くの行における汚れたまたはぼやけた文字、およびいくつかの行における欠落した文字を有する単語を含む。
図3Bは、CRNNシステムによって復元されたテキストである。欠落している、または大幅に不完全な文字が埋められていることが簡単にわかり、汚れたまたはぼやけた文字が、かなりより鮮明に表示される。したがって、実施形態によれば、画像データの欠落部分を追加したり、無関係な背景や周囲のデータを除去することができる。
【0031】
図3Aおよび
図3Bと同様に、
図3Cは、入力テキストであり、
図3Dは、エンジンによって復元されたテキストである。実施形態では、より長いデータ列が、CRNNに文脈を提供し、欠落した、汚れた、またはぼやけた画像データを復元するためのより多くの情報を提供することができる。
【0032】
図4A~
図4Cは、実施形態による入力サンプル、モデル推論、およびグランドトゥルースを図示する。
図4Aにおいて、左側の最初の文字が、非常にひどく汚れている。
図4Bは、実施形態によるCRNNシステムの適用の結果を図示する。すべての文字、特に左側の最初の文字が、より鮮明になる。
図4Bを、グランドトゥルース、すなわち、フォントを含む画像が実際に表示される方式である
図4Cと好適に比較する。
【0033】
図5A~
図5Cは、実施形態によるさらなるサンプル、モデル推論、およびグランドトゥルースを図示する。
図5Aにおいて、すべての文字、特に左側の2つの文字が非常にぼやけている。
図5Bは、
図5Aにおける文字のより明瞭なバージョンを図示する。
【0034】
図6A~
図6Cは、実施形態によるさらなるサンプル、モデル推論、およびグランドトゥルースを図示する。
図6Aでは、入力された画像データの上方または先頭に現れ、
図6Bでは除去されているマークが存在する。
図4Cおよび
図5Cと同様に、
図6Cは、グランドトゥルースを表す。
【0035】
図7A~
図7Cは、実施形態によるさらなるサンプル、モデル推論、およびグランドトゥルースを図示する。これら図は、
図7Aではほぼ完全に欠落しているが、
図7Bでは大部分が置き換えられている文字(ここでは「FAX」の「F」)を置き換える能力の例を図示する。「F」がはっきりと読み取れる。繰り返すが、ここで
図7Cは、グランドトゥルースを表す。
【0036】
図8A~
図8Cは、実施形態によるさらなる入力サンプル、モデル推論、およびグランドトゥルースを図示する。
図8Aは、文字が容易に区別できるように見えない、非常にひどい背景を図示する。
図8Bは、背景が除去され、その下の文字が再現されたことを図示する。いかなる理論にも束縛されることなく、CRNNシステムが、背景を文字と区別する方法を学習し、背景を除去できるようになると、文字自体の再現が容易になり得ることが可能である。また、文字が出現する文脈が、文字の正しい識別を伝えることができる可能性がある。
図8Cのグランドトゥルースとの
図8Bの比較は、良好な再現を図示するが、特に一番左の文字に関して、完全な再現ではない。
【0037】
図9A~
図9Cは、実施形態によるさらなるサンプル、モデル推論、およびグランドトゥルースを図示する。
図9Aにおいて、左側の文字がかすれているほか、ほぼすべての文字に濃いマークが見られる。ここでも、特定の理論に束縛されるものではないが、たとえ文字がぼやけていても、文字が現れる順序によってその文字が何であるかを伝えることができる可能性がある。文字の表示方法を知ると、表示された濃いマークを削除するのが簡単になる場合がある。あるいは、注釈を部分的に削除することで、文字の解読が容易になる場合がある。
図9Bは、
図9Cにおけるグランドトゥルースとの非常によい一致を図示する。
【0038】
実施形態では、特定のフィールドにおけるデータの位置、または破損した字のすぐ周囲の文字に応じて、周囲のデータが、破損した字の正しい特定情報をCRNNに伝え得る。
【0039】
図10は、実施形態によるCRNNシステムにおけるフローの高レベルの概要を提供する。1005において、劣化が適用される内容が識別され、1010において、その識別された内容に対応するテキストまたは画像が出力される。1015において、出力テキスト/画像に基づいて、適切な特徴セットが生成される。1020において、特徴セットは、他のデータ(たとえば、ランダムノイズ、背景色など)と結合され、1025において、劣化特徴を有する内容(劣化されたテキスト)が出力される。この内容は保存される。特徴セットは、テキストの復元に使用するために保持され得る。
【0040】
実施形態では、1030において、(1005~1025から生じたものであっても、修正されるべき実際の劣化テキストから生じたものであっても)劣化したテキストが、エンコーダ(
図1BにおけるCNN特徴エンコーダ170など)に提供される。1035において、GAN損失として反映される、劣化したテキスト(生成されたデータ)と、実際のデータとの比較を使用して、CNN特徴エンコーダをトレーニングすることができる。1040において、復元された画像における内容の保存を検討することによって、データ復元が提供される。データを復元する際に、
図4Aおよび
図5Aにおけるように、汚れたまたはぼやけたデータを、クリーンアップすることができ、
図7Aにおけるように、不完全なデータを完成することができ、
図8Aにおけるように、背景色または他の背景ノイズを除去することができ、および/または、
図9Aにおけるように、データの途中にある無関係なマークを除去することができる。(
図1Bにおける内容保存モジュールなど)内容保存の過程における欠落データの補充および無関係な背景または前景の除去は、入力された画像テキストの分析の一部であり得る。
【0041】
1045において、画像が復元されたか否かを判定するためのチェックが行われる。画像が復元されていないと判定された場合、フローは、さらなる修正のために1040に戻る。画像が復元されると、1050において、復元された画像が出力される。
【0042】
図11は、実施形態によるCRNNシステムの上位レベル図である。
図11において、入力テキスト1110は、実行されるテキスト認識プロセスに応じて、スキャナまたは他の入力デバイス1120を介して、ICRモジュール1150またはOCRモジュール1170に提供され得る。処理システム1140は、1つまたは中央処理装置(CPU)またはグラフィックス処理装置(GPU)および関連する非一時的ストレージおよび/または非一時的メモリを介して、必要な処理能力を提供するために、必要に応じて、ICRモジュール1150またはOCRモジュール1170と通信し得る処理モジュール1190を含み得る。実施形態では、処理システム1140は、コンピュータ1130またはスキャナ/入力デバイス1120のいずれかと直接通信し得る。処理システム1140は、内蔵型であってもよいし、ネットワークまたはクラウド1160を介して接続されたその様々な要素を有し得る。ICRモジュール1150またはOCRモジュール1170の一方または両方は、おのおのが独自のCPUおよび/またはGPUを有し得、ネットワークまたはクラウド1160を介して処理モジュール1190と通信し得る。
【0043】
処理システムにおける様々な要素は、
図12および
図13を参照して以下でより詳細に説明されるCRNN1200と通信し得る。
【0044】
図12は、実施形態によるCRNN1200におけるノード層の上位レベルの図である。
図12において、CRNN1200は、複数のノードを備える入力層1210を有する。システムに応じて、1つまたは複数の中間層1220~1240(
図12は、P個のそのような層を示し、Pは、正の整数である)があり得、中間層のおのおのは、複数のノードを備える。最後の層1250は、出力を提供する。実施形態では、当業者が理解するように、CRNN1200をトレーニングすることは、特定のエンドユーザのための入力トレーニングデータに基づいて、様々な層における様々なノードに、重みを割り当てることを含む。
【0045】
図13は、CRNN1200をもう少し詳細に図示する。モデルデータベース1260は、重みおよびデータを格納する。ノード重み付けモジュール
1280は、とりわけ、結果との比較に基づいて、様々な層における様々なノードの重みを計算し、それに応じて、それら重みを、層1270-1,1270-2,・・・1270-N-2,1270-N-1,1270-Nに割り当てる。
【0046】
実施形態では、前述のように、CRNN1200およびOICRエンジンは、両方ともディープラーニングシステムであり得る。実施形態では、CRNN1200およびOICRエンジンは、
図12におけるノードの1つまたは複数の層を共有することができる。そのような実施形態では、CRNNシステムは、CRNN1200に特有のノードの層を管理し、OICRエンジンのどのノード層にも影響を与えない。
【0047】
以上、上記において、本発明の態様による実施形態を説明したが、本発明は、それらの実施形態または態様に限定されるものとみなされるべきではない。当業者であれば、添付の特許請求の範囲および精神の範囲内で本発明の変形を理解するであろう。