以下、図面と併せて本開示の例示的な実施例を説明し、理解を容易にするためにその中には本開示の実施例の様々な詳細事項が含まれており、それらは単なる例示的なものと見なされるべきである。したがって、当業者は、本開示の範囲及び精神から逸脱することなく、ここで説明される実施例に対して様々な変更と修正を行うことができることを認識されたい。同様に、明確及び簡潔にするために、以下の説明では、周知の機能及び構造の説明を省略する。
図1を参照すると、図1は、本開示の実施例によって提供される第1のモデルトレーニング方法の概略フローチャートである。上記方法は以下のステップS101~S105を含む。
ステップS101、第1の構築画像と第1の構築画像における第1の実際の文字を用いて初期ニューラルネットワークモデルをトレーニングしてトレーニング対象モデルと支援トレーニングモデルを得る。
上記第1の構築画像とは、シーンに対して画像収集装置によって収集された画像ではなく、人為的に構築された画像を指す。上記の第1の構築画像には、様々な異なるタイプの構築画像が含まれることができ、具体的なタイプについては、以下の図6a、6bに示される画像及び対応する実施例を参照することができる。
画像を構築する中に、様々な異なる画像生成アルゴリズムを用いて画像を構築することができる。上記の画像生成アルゴリズムは、従来技術において画像を生成するための様々なアルゴリズムであってもよく、本開示の実施例はこれを限定しない。
上記第1の実際の文字とは、第1の構築画像に実際に含まれる文字を指す。当該第1の実際の文字は、第1の構築画像を構築する時に一括して得ることができる。
図2aを例として、図2aに示される画像は構築画像である。当該構築画像における「KD89RT299UDFJ26」は、構築画像に実際に含まれる文字、すなわち第1の実際の文字である。
上記の初期ニューラルネットワークモデルは、トレーニングなしのニューラルネットワークモデルであってもよい。例えば、初期ニューラルネットワークモデルは、CNN(Convolutional Neural Networks、畳み込みニューラルネットワーク)モデル、RNN(Recurrent Neural Network、リカレントニューラルネットワーク)モデルなどであってもよい。
第1の構築画像と上記第1の実際の文字用いて初期ニューラルネットワークモデルをトレーニングするトレーニングプロセスは予めトレーニングプロセスと呼ばれ、トレーニング後の初期ニューラルネットワークモデルは事前トレーニングモデルと呼ばれる。
第1の構築画像と第1の実際の文字を用いて初期ニューラルネットワークモデルをトレーニングする場合、第1の実際の文字を監督情報として、監督トレーニングを行うことができる。このように監督トレーニングを行って得られた事前トレーニングモデルは、画像に対して文字認識を行う能力を学習したものである。第1の構築画像と第1の実際の文字を用いて初期ニューラルネットワークモデルをトレーニングするプロセスを予めトレーニングプロセスと呼びことができる。予めトレーニングされていない初期ニューラルネットワークモデルと比較すると、事前トレーニングモデルは、学習された文字認識能力に基づいて、シーン画像、第2の構築画像、第3の構築画像を迅速かつ正確に処理することができ、これによってトレーニング対象モデルのトレーニング時間を短縮し、トレーニング効率を向上させる。
また、事前トレーニングモデルが構築画像をトレーニングサンプルとしてトレーニングして得られたモデルであり、構築画像が上限なしで構築されることができるため、初期ニューラルネットワークモデルをトレーニングする場合、大量の第1の構築画像をトレーニングサンプルとして取得することができ、大量のトレーニングサンプルで初期ニューラルネットワークモデルをトレーニングすることにより、トレーニング終了後に得られた事前トレーニングモデルに優れた文字認識能力を持たせる。
上記の事前トレーニングモデルは、以下の2種類の方式で取得することができる。
第1の実現形態では、上記事前トレーニングモデルは予めトレーニングして得られたモデルであってもよく、この場合、上記予めトレーニングして得られた事前トレーニングモデルを直接取得することができる。
第2の実現形態では、第1の構築画像と第1の実際の文字を取得することができ、第1の構築画像を初期ニューラルネットワークモデルに入力して、初期ニューラルネットワークモデルから出力された認識文字を得て、認識文字と第1の実際の文字に基づいて、初期ニューラルネットワークモデルで文字認識を行う時の損失値を計算し、損失値に基づいて初期ニューラルネットワークモデルのモデルパラメータを調整し、第1の終了条件を満たすまで上記のプロセスを繰り返すことにより、初期ニューラルネットワークモデルのトレーニングを実現し、事前トレーニングモデルを得る。
上記第1の終了条件は、構築画像が形成されたバリデーションセットにおいて、第1の構築画像に対するネットワークモデルの文字認識精度が100%に近いなどであってもよい。
具体的に、勾配降下法などのパラメータ調整アルゴリズムを用いてモデルパラメータの調整を行うことができる。
トレーニング対象モデル、支援トレーニングモデルは事前トレーニングモデルと同じモデルであり、いずれも文字認識の能力を備える。1つの実施形態では、取得された事前トレーニングモデルをトレーニング対象モデルとして、事前トレーニングモデルを複製することによって支援トレーニングモデルを得ることができる。
ステップS102、シーン画像、シーン画像における第2の実際の文字および第2の構築画像を取得する。
シーン画像とは、実際のシーンに対して画像収集を行って得られた画像である。上記のシーン画像に対応する実際のシーンが、トレーニングして得られたモデルの、後続の実際の適用の際における適用シーンであるため、上記の実際のシーンは、トレーニングして得られたモデルの適用シーンに対応する。
例えば、道路のシーンに適用され、ナンバープレート画像に対して文字認識を行うモデルをトレーニングして得る必要がある場合、上記シーン画像は上記道路シーンにおけるナンバープレート画像である。教育のシーンに適用され、書籍画像に対して文字認識を行うモデルをトレーニングして得る必要がある場合、上記シーン画像は上記教育のシーンにおける書籍画像である。
第2の実際の文字とは、シーン画像に実際に含まれる文字を指す。当該第2の実際の文字は、人為的にマークを付ける方式で得ることができる。
第2の構築画像とは、シーンに対して画像収集装置によって収集された画像ではなく、人為的に構築された画像を指す。
上記第2の構築画像における文字は、第2の実際の文字と同じである。図2b、図2cを例として、図2bに示される画像はシーン画像であり、図2cに示される画像は第2の構築画像である。図2bに示されるシーン画像は、金融のシーンにおけるインボイスに対して画像収集を行って得られた画像であり、上記画像における「1490984」はインボイスの番号を表し、シーン画像における第2の実際の文字である。図2bに示される第2の構築画像に含まれる文字は「1490984」であり、第2の実際の文字と同じである。
一実施形態では、データベースには、シーン画像、シーン画像における実際の文字、および含まれる文字の上記実際の文字と同じである構築画像が予め記憶されており、これに基づいて、シーン画像、第2の実際の文字、および第2の構築画像を上記のデータベースから得ることができる。
上記ステップS101、ステップS102は、並列に実行されてもよく、シリアルに実行されてもよく、例えば、ステップS101を先に実行し、ステップS102を後に実行してもよく、あるいは、ステップS102を先に実行し、ステップS101を後に実行してもよい。
ステップS103、トレーニング対象モデルを用いてシーン画像に対して文字認識を行い、文字認識プロセス中に抽出された文字の第1の特徴と第1の認識文字を得る。
トレーニング対象モデルを用いてシーン画像に対して文字認識を行う場合、まずシーン画像をトレーニング対象モデルに入力し、その後でトレーニング対象モデルにおけるネットワーク層はシーン画像の文字に対して特徴抽出を行い、抽出された特徴に基づいて文字認識を行い、識別結果を得る。
具体的に、上記ネットワーク層は、アテンション(Attention)メカニズムに基づいてシーン画像の文字に対して特徴抽出を行うことができる。
上記の場合に鑑みて、上記の第1の特徴は、トレーニング対象モデルによってシーン画像における文字に対して特徴抽出を行って得られた特徴である。上記の第1の特徴は、シーン画像における各文字の特徴であってもよい。
上記第1の認識文字は、トレーニング対象モデルによってシーン画像に対して文字認識を行って得られた認識結果である。
ステップS104、支援トレーニングモデルを用いて第2の構築画像に対して文字認識を行い、文字認識プロセス中に抽出された文字の第2の特徴を得る。
支援トレーニングモデルを用いて第2の構築画像に対して文字認識を行う場合、まず第2の構築画像を支援トレーニングモデルに入力し、その後、支援トレーニングモデルにおけるネットワーク層が第2の構築画像の文字に対して特徴抽出を行い、抽出された特徴に基づいて文字認識を行い、認識結果を得る。
上記の場合に鑑みて、上記第2の特徴は、支援トレーニングモデルによって第2の構築画像における文字に対して特徴抽出を行って得られた特徴である。
上記ステップS103、ステップS104は、並列に実行されてもよく、シリアルに実行されてもよく、例えば、ステップS103を先に実行し、ステップS104を後に実行してもよく、あるいは、ステップS103を先に実行し、ステップS104を後に実行してもよい。
ステップS105、第1の認識文字、第2の実際の文字、第1の特徴及び第2の特徴に基づいて、トレーニング対象モデルのモデルパラメータを調整して、文字認識モデルを得る。
モデルパラメータを調整する際、第1の特徴と第2の特徴を用いる。第1の特徴と第2の特徴との差異は、同じ文字が含まれる2枚の画像における文字に対する2つのモデルの特徴抽出能力を反映する。第1の特徴と第2の特徴を比較することにより、トレーニング対象モデルをトレーニングし、比較学習を実現することができる。
比較学習プロセス中に、含まれる文字が同じである画像を比較学習の基準として、この2枚の画像における文字の特徴に基づいて比較学習を行う。したがって、本実施例で比較学習を行う場合、2枚の画像が同じ画像であるとする判定原則は、含まれる文字が同じ、すなわち、画像および画像の意味が同じであることであり、このように、画像の特徴が同じである場合、同じ画像であるという判定原則と比較すると、画像における文字の情報が効果的かつ十分に使用される。
具体的に、第1の特徴と第2の特徴を比較する際、BYOL(Bootstrap Your Own Latent、独自のライセンスがある)のアルゴリズム思想に基づいて特徴比較を実現することができる。
モデルパラメータを調整するための他の実施形態は、後続の図5に対応する実施例を参照することができ、ここでは詳細に説明しない。
モデルトレーニングプロセス中に、第2の終了条件を満たすまで、上記ステップS 102、S103、S104、S105を繰り返して実行することができる。上記第2の終了条件は、予め設定されたトレーニング回数に達すること、トレーニング対象モデルが収束し、トレーニング対象がシーン画像に対するモデルの認識精度が
上昇しない。
以上より、本開示の実施例によって提供される技術案を用いてモデルトレーニングを行う場合、第1の認識文字、第2の実際の文字、第1の特徴及び第2の特徴に基づいて、トレーニング対象モデルのモデルパラメータを調整し、モデルトレーニングを実現する。
一方、第1の識別文字は、レーニング対象モデルがシーン画像に対して文字認識を行って得られた認識文字であり、第2の実際の文字がシーン画像に実際に含まれる文字であるため、第1の識別文字と第2の実際の文字との差異は、トレーニング対象モデルがシーン画像に対して文字認識を行う能力を反映することができる。他方、第1の特徴はトレーニング対象モデルによって抽出して得られたシーン画像における文字の特徴であり、第2の特徴は支援トレーニングモデルによって抽出して得られた第2の構築画像における文字の特徴であり、支援トレーニングモデルが構築画像を用いてトレーニングして得られたものであるため、第2の特徴は第2の構築画像における文字を正確に特徴づけることができる。また、第2の構築画像における文字とシーン画像における文字とは同じであるため、第1の特徴と第2の特徴との差異はレーニング対象モデルがシーン画像における文字に対して特徴抽出を行う能力を反映することができる。
上記の2つの点をまとめると、第1の認識文字、第2の実際の文字、第1の特徴及び第2の特徴に基づいてトレーニングして得られたトレーニング対象モデルは、シーン画像における文字の特徴を抽出する法則を学習することができ、シーン画像に対して文字認識を行う法則を学習することもできる。従って、本開示の実施例によって提供される技術案は、トレーニングして文字認識を行うためのモデルを得ることができる。
また、トレーニング対象モデルが文字特徴を抽出する能力は文字認識の能力に影響するため、本開示の実施例によって提供される技術案はモデルトレーニングプロセス中に、文字特徴を抽出する角度からモデルパラメータの調整を行ったため、トレーニングして得られたトレーニング対象モデルが文字認識を行う精度を向上させることができる。また、トレーニング対象モデルをトレーニングする際、第1の特徴と第2の特徴に基づいて比較学習を実現し、このプロセスでは、2枚の画像が同じ画像であるとする判定原則は、含まれる文字が同じであることであり、画像特徴が同じである場合、同じ画像であるという判定原則と比較すると、画像における文字の情報が効果的かつ十分に使用される。画像における非文字情報の干渉を排除し、トレーニングして得られたトレーニング対象モデルが文字認識を行う精度をさらに向上させる。さらに、モデルトレーニングプロセス中に比較学習が導入されたため、モデルトレーニングプロセスに必要なネガティブサンプルの数を減らすことができる。
トレーニング対象モデルをトレーニングする中に、支援トレーニングモデルを導入してトレーニングを支援するほか、トレーニング後のトレーニング対象モデルがより正確に文字認識を行うように、マルチターントレーニングでモデルトレーニングを完成することができる。
具体的に、図3を参照すると、図3は、本開示の実施例によって提供される第2のモデルトレーニング方法の概略フローチャートである。上記図1に示される実施例に加えて、トレーニング対象モデルがトレーニング終了条件を満たした後、支援トレーニングモデルをトレーニングすることもできて、支援トレーニングモデルは支援トレーニング対象モデルがマルチターンモデルトレーニングを完了するようにより正確に、かつよりよく支援する。これに加えて、上記方法は、以下のステップS306~S 307をさらに含むこともできる。
具体的に、本実施例のモデルトレーニング方法は、以下のステップS301~S307を含む。
ステップS301、第1の構築画像と第1の構築画像における第1の実際の文字を用いて初期ニューラルネットワークモデルをトレーニングしてトレーニング対象モデルと支援トレーニングモデルを得る。
ステップS302、シーン画像、シーン画像における第2の実際の文字および第2の構築画像を取得する。
第2の構築画像における文字と第2の実際の文字とは同じである。
ステップS303、トレーニング対象モデルを用いてシーン画像に対して文字認識を行い、文字認識プロセス中に抽出された文字の第1の特徴と第1の認識文字を得る。
ステップS304、支援トレーニングモデルを用いて第2の構築画像に対して文字認識を行い、文字認識プロセス中に抽出された文字の第2の特徴を得る。
ステップS305、第1の認識文字、第2の実際の文字、第1の特徴及び第2の特徴に基づいて、トレーニング対象モデルのモデルパラメータを調整して、文字認識モデルを得る。
上記ステップS301~S305はそれぞれ上記図1に記載の実施例のステップS101~S105と同じである、ここで詳細な説明を省略する。
ステップS306、トレーニング対象モデルがトレーニング終了条件を満たした後、トレーニング後のトレーニング対象モデルのモデルパラメータに基づいて、支援トレーニングモデルのモデルパラメータを調整する。
トレーニング後のトレーニング対象モデルがシーン画像における文字の特徴を抽出する法則を学習し、シーン画像に対して文字認識を行う法則も学習したため、トレーニング後のトレーニング対象モデルのモデルパラメータに基づいて、支援トレーニングモデルのモデルパラメータを調整することにより、支援トレーニングモデルはシーン画像における文字の特徴を抽出する能力も備え、さらにシーン画像に対して文字認識を行う能力も備える。
具体的に、以下の2種類の異なる方式で支援トレーニングモデルのモデルパラメータを調整することができる。
第1の実現形態では、支援トレーニングモデルのモデルパラメータをトレーニング後のトレーニング対象モデルのモデルパラメータに調整する。
具体的に、トレーニング後のトレーニング対象モデルのモデルパラメータを複製し、支援トレーニングモデルのモデルパラメータを複製して得られたモデルパラメータに調整することができる。
支援トレーニングモデルのモデルパラメータをトレーニング後のトレーニング対象モデルのモデルパラメータに調整するため、支援トレーニングモデルのモデルパラメータはトレーニング後のトレーニング対象モデルの完全なモデルパラメータとなり、このように支援トレーニングモデルは、トレーニング後のトレーニング対象モデルの文字認識と文字特徴抽出能力も備える。
第2の実現形態では、トレーニング後のトレーニング対象モデルのモデルパラメータと支援トレーニングモデルのモデルパラメータとを融合させ、支援トレーニングモデルのモデルパラメータを融合後のモデルパラメータに調整する。
具体的に、予め設定された重みに従って、トレーニング後のトレーニング対象モデルのモデルパラメータと支援トレーニングモデルのモデルパラメータとを、重み付け加算し、融合後のモデルパラメータとする。
例えば、トレーニング後のトレーニング対象モデルのモデルパラメータがM1であり、支援トレーニングモデルのモデルパラメータがM2であり、トレーニング対象モデルのモデルパラメータに対応する予め設定された重みが0.8であり、支援トレーニングモデルのモデルパラメータに対応する予め設定された重みが0.2であり、上記2つのモデルパラメータを重み付け加算して、(0.8*M1+0.2*M2)を得て、融合後のモデルパラメータとする。
トレーニング後のトレーニング対象モデルのモデルパラメータと支援トレーニングモデルのモデルパラメータとを融合させ、融合後のモデルパラメータはトレーニング対象モデルのモデルパラメータだけでなく、支援トレーニングモデルのモデルパラメータにも関連する。上記融合後のモデルパラメータに基づいて支援トレーニングモデルのモデルパラメータを調整する時、調整されたパラメータは支援トレーニングモデル自体のモデルパラメータに関連し、支援トレーニングモデルのモデルパラメータを大幅に調整する必要がなく、上記のモデルパラメータのスムーズな移行を実現する。
ステップS307、第3の構築画像と第3の構築画像における第3の実際の文字を用いて、モデルパラメータが調整された後の支援トレーニングモデルをトレーニングする。支援トレーニングモデルがトレーニング終了条件を満たした後、ステップS302に戻り、トレーニング対象モデルを再トレーニングする。
上記第3の構築画像は、第2の構築画像と同じ画像であってもよく、この場合、第2の構築画像を第3の構築画像として決定し、第1の実際の文字を第3の実際の文字として決定することができる。
上記第3の構築画像は第2の構築画像と異なる画像であってもよく、この場合、第3の構築画像を取得し、第3の構築画像における第3の実際の文字を取得する必要がある。
第3の構築画像と第3の実際の文字を取得する際、予め記憶された構築画像ライブラリから第3の構築画像及び第3の構築画像における第3の実際の文字を取得することができる。画像生成アルゴリズムを用いて、第3の構築画像として画像を生成し、生成された画像における実際の文字を、第3の実際の文字として決定することもできる。
モデルパラメータが調整された後の支援トレーニングモデルをトレーニングする際、第3の構築画像を上記支援トレーニングモデルに入力し、上記支援トレーニングモデルから出力された認識文字を得ることができ、認識文字と第3の実際の文字に基づいて、上記支援トレーニングモデルが文字認識を行う時の損失値を計算し、損失値に基づいて上記支援トレーニングモデルのモデルパラメータを調整し、トレーニング終了条件を満たしてない場合、第3の構築画像と第3の実際の文字を再取得し、第3の終了条件を満たすまで、上記のプロセスを繰り返して実行し、モデルパラメータが調整された後の支援トレーニングモデルに対するトレーニングを実現する。
上記の支援トレーニングモデルをトレーニングするほかの実施形態は、図4aに示される実施例のステップS407~S408を参照することができ、ここで詳細に説明しない。
上記第3の終了条件は、上記ステップ307で言及されたトレーニング終了条件である。上記第3の終了条件は、支援トレーニングモデルが収束し、予め設定されたトレーニング回数に達することなどであってもよい。
支援トレーニングモデルがトレーニング終了条件を満たす場合、上記ステップS302に戻り、ステップS302~S307を繰り返して実行し、トレーニング対象モデルを再トレーニングする。
本実施例では、トレーニング対象モデルがトレーニング終了条件を満たすように、トレーニング対象モデルに対して複数回のパラメータ調整を行うプロセスは、1ラウンドのトレーニングと呼ぶ。
具体的に、循環ラウンド数を設定することができ、設定された循環ラウンド数に達した後、トレーニング後のトレーニング対象モデルを得て、トレーニング対象モデルのトレーニングを実現する。例えば、上記の循環回数は、2回、3回などであってもよい。
上記から分かるように、本実施例によって提供される技術案ではトレーニング対象モデルに対して複数ラウンドのトレーニングを行い、各ラウンドのトレーニングにおいて、トレーニング対象モデルに対して複数段階のパラメータ調整を行う。次の段階のパラメータ調整は、1つ前の段階のパラメータ調整をもとにして行われ、1つ前の段階でパラメータ調整後のトレーニング対象モデルがすでにより良い文字特徴抽出能力及び文字認識能力を備えており、且つ1つ前の段階でトレーニングして得られた支援トレーニングモデルがシーン画像、構築画像に対して、より良い文字特徴抽出能力を備えるため、次の段階で上記支援トレー
ニングモデルに基づいて上記トレーニング対象モデルを支援的にトレーニングする際、より正確な比較結果を得ることができ、トレーニング対象モデル特徴抽出と文字認識の能力をさらに強化し、トレーニング対象モデルが文字認識を行う精度を向上させる。
当業者であれば、ニューラルネットワークモデルが一般的にネットワーク層を含むため、支援トレーニングモデルが複数のネットワーク層を含むこともでき、この場合、上記ステップS307でパラメータ調整後の支援トレーニングモデルをトレーニングすることが、図4aに示す実施例のステップS407-S409に従って実現できることを理解することができる。
具体的には、本実施例の画像検索方法は、以下のステップS401~S409を含む。
ステップS401、第1の構築画像と第1の構築画像における第1の実際の文字を用いて初期ニューラルネットワークモデルをトレーニングしてトレーニング対象モデルと支援トレーニングモデルを得る。
ステップS402、シーン画像、シーン画像における第2の実際の文字および第2の構築画像を取得する。
第2の構築画像における文字と第2の実際の文字とは同じである。
ステップS403、トレーニング対象モデルを用いてシーン画像に対して文字認識を行い、文字認識プロセス中に抽出された文字の第1の特徴と第1の認識文字を得る。
ステップS404、支援トレーニングモデルを用いて第2の構築画像に対して文字認識を行い、文字認識プロセス中に抽出された文字の第2の特徴を得る。
ステップS405、第1の認識文字、第2の実際の文字、第1の特徴及び第2の特徴に基づいて、トレーニング対象モデルのモデルパラメータを調整して、文字認識モデルを得る。
ステップS406、トレーニング対象モデルがトレーニング終了条件を満たした後、トレーニング後のトレーニング対象モデルのモデルパラメータに基づいて、支援トレーニングモデルのモデルパラメータを調整する。
上記ステップS401~S406は、それぞれ上記図3に前記の実施例のステップS301~S306と同じであり、ここで詳細な説明を省略する。
ステップS407、複数のネットワーク層から調整層を決定する。
上記調整層とは、現在調整対象モデルパラメータのネットワーク層を指す。
具体的に、以下の2つの異なる方式で調整層を決定することができる。
第1の実現形態では、各ネットワーク層間の接続順序に従って、ネットワーク層を調整層として選択する。毎回ネットワーク層を選択する際、接続順序に従って、予め設定された数の調整層として決定されていないネットワーク層を選択することができる。上記予め設定された数は1、2などであってもよい。
例えば、支援トレーニングモデルがネットワーク層1、ネットワーク層2、ネットワーク層3を含み、各ネットワーク層間の接続順序が、ネットワーク層1→ネットワーク層2→ネットワーク層3であり、予め設定された数が1であると仮定すると、上記の接続順序に従って、1回目はネットワーク層1を調整層、2回目はネットワーク層2を調整層、3回目はネットワーク層3を調整層として決定する。現在2回目で調整層を決定する場合、ネットワーク層2を調整層として選択する。
第2の実現形態では、複数のネットワーク層から予め設定された数のネットワーク層を調整層としてランダムに選択する。
ステップS408、第3の構築画像と第3の構築画像における第3の実際の文字を用いて、調整層のモデルパラメータを調整する方式で、支援トレーニングモデルをトレーニングする。
支援トレーニングモデルをトレーニングする際、支援トレーニングモデルに含まれるすべてのネットワーク層のうちの一部のネットワーク層である調整層のモデルパラメータを調整することによってトレーニングする。したがって、モデルパラメータを調整するたびに、調整層として決定されていないネットワーク層のモデルパラメータを調整せず、一部のネットワーク層のモデルパラメータのみを調整する。したがって、本実施例によって提供される技術案では、支援トレーニングモデルをトレーニングする中に、毎回モデルパラメータを調整する方式は、一部のネットワーク層のモデルパラメータのみを調整し、他のネットワーク層のモデルパラメータを一定とすることである。
一実現形態では、第3の構築画像をモデルパラメータが調整された後の支援トレーニングモデルに入力して、上記支援トレーニングモデルから出力された認識文字を得て、認識文字と第3の実際の文字に基づいて、上記支援トレーニングモデルが文字認識を行う時の損失値を計算し、損失値に基づいて調整層のモデルパラメータを調整し、第4の終了条件を満たさない場合、第3の構築画像及び第3の実際の文字を取得するステップに戻り、第4の終了条件を満たすまで、第3の構築画像をモデルパラメータが調整された後の支援トレーニングモデルに入力するステップを実行し、支援トレーニングのレーニングを実現する。
上記第4の終了条件は、上記支援トレーニングモデルが収束すること、予め設定されたトレーニング回数に達すること、構築画像から形成されたバリデーションセットにおいて支援トレーニングモデルの第3の構築画像に対する認識精度がそれ以上上昇しないまたは100%近くになるなどであってもよい。
ステップS409、支援トレーニングモデルがトレーニング終了条件を満たした後、調整層として決定されていないネットワーク層から調整層を決定し、すべてのネットワーク層をトラバースするまで、ステップS408に戻る。
調整層として決定されていないネットワーク層から調整層を決定するには、ステップS408において調整層を決定することと同じ方式で決定することができ、ここでは説明を省略する。
支援トレーニングモデルがトレーニング終了条件を満たす場合、現在決定された調整層に対するモデルパラメータの調整が終了したことを表し、この場合、引き続き調整層として決定されていないネットワーク層から調整層を決定し、決定された調整層のモデルパラメータを調整する。すべてのネットワーク層をトラバースすると、支援トレーニングモデルに対するトレーニングを実現する。支援トレーニングモデルに対するトレーニングを実現した後、ステップS402に戻り、ステップS402~S405の実行を開始し、トレーニング対象モデルに対するトレーニングを実現する。
本開示の一実施例では、支援トレーニングモデルをトレーニングする中に、学習率を導入し、学習率により、支援トレーニングモデルのトレーニングの進捗状況を制御することもできる。
上記学習率は、予め設定された学習率閾値未満の値に設定することができる。
上記から分かるように、モデルパラメータが調整された後の支援トレーニングモデルをトレーニングする際、毎回モデルパラメータを調整する方式は以下通りである。一部のネットワーク層のモデルパラメータのみを調整し、他のネットワーク層のモデルパラメータを一定とする。上記の一部のネットワーク層のモデルパラメータを調整した後、他のネットワーク層をトラバースする。1つのトラバースサイクル内に、一部のネットワーク層のみに対してモデルパラメータを調整することにより、上記の一部のネットワーク層のモデルパラメータを調整する精度を向上させ、支援トレーニングモデルをトレーニングする精度をさらに向上させる。
以下、図4bに示される支援トレーニングモデルと併せて、図4aの支援トレーニングモデルのトレーニングの具体的なプロセスに対して詳細に説明する。
図4bの支援トレーニングモデルは、2つのネットワーク層を含み、それぞれ特徴抽出層と文字認識層である。
特徴抽出層は、入力された画像における文字に対して特徴抽出を行い、抽出して得られた特徴を文字認識層に入力する。
文字認識層は、特徴抽出層から入力された特徴に基づいて文字認識を行って、認識結果を得る。
上記支援トレーニングモデルをトレーニングする中に、
ステップ1、標準順不同文字画像及び上記画像における実際の文字を取得する。
標準順不同文字画像とは、画像のバックグラウンドが予め設定されたバックグラウンドであり且つ画像に含まれる文字がランダムな組み合わせである画像を指すものであり、上記予め設定されたバックグラウンドは白一色のバックグラウンドであってもよい。上記の標準順不同文字画像は、第3の構築画像である。
ステップ2、文字認識層を調整層として決定し、文字認識層のモデルパラメータを調整し、特徴抽出層のモデルパラメータを一定とする。
モデルパラメータを調整する中に、標準順不同文字画像を支援トレーニングモデルに入力し、支援トレーニングモデルから出力された認識文字を得て、上記認識文字と標準順不同文字画像における実際の文字に基づいて、支援トレーニングモデルが文字認識を行う時の損失値を計算し、損失値に基づいて文字認識層のモデルパラメータを調整し、第5の終了条件を満たさない場合、順不同文字画像を支援トレーニングモデルに入力するステップに戻り、第5の終了条件を満たすまで、文字認識層のモデルパラメータの調整を実現する。
ステップ3、特徴抽出層を調整層として決定し、特徴抽出層のモデルパラメータを調整し、ステップ2の調整後の特徴抽出層のモデルパラメータを一定とする。
モデルパラメータを調整する中に、上記ステップ2と同じ方式を用いて、特徴抽出層に対するモデルパラメータの調整を実現する。
これまでに、支援トレーニングモデルの各ネットワーク層のトラバースとモデルパラメータの調整が完了し、支援トレーニングモデルのトレーニングを実現する。
本開示の一実施例では、上記支援トレーニングモデルをトレーニングするプロセスに応じて、トレーニング対象モデルをトレーニングする際、同じトレーニング構想を用いてトレーニング対象モデルをトレーニングすることもできる。
具体的に、トレーニング対象モデルに含まれる複数のネットワーク層における調整層を決定し、上記ステップS405において、第1の認識文字、第2の実際の文字、第1の特徴及び第2の特徴に基づいて、決定された調整層のモデルパラメータを調整する方式で、トレーニング対象モデルをトレーニングする。トレーニング対象モデルがトレーニング終了条件を満たした後、調整層として決定されていないネットワーク層から調整層を決定し、すべてのネットワーク層をトラバースするまで、第1の認識文字、第2の実際の文字、第1の特徴及び第2の特徴に基づいて、決定された調整層のモデルパラメータを調整する方式で、トレーニング対象モデルをトレーニングするステップに戻り、トレーニング対象モデルのトレーニングを実現する。
上記図1に示す実施例のステップS105において、トレーニング対象モデルのモデルパラメータを調整する具体的な実施形態は図5のステップS505~S508を参照することができる。
具体的に、本実施例のモデルトレーニング方法は、以下のステップS501~S508を含む。
ステップS501、第1の構築画像と第1の構築画像における第1の実際の文字を用いて初期ニューラルネットワークモデルをトレーニングしてトレーニング対象モデルと支援トレーニングモデルを得る。
ステップS502、シーン画像、シーン画像における第2の実際の文字および第2の構築画像を取得する。
第2の構築画像における文字と第2の実際の文字とは同じである。
ステップS503、トレーニング対象モデルを用いてシーン画像に対して文字認識を行い、文字認識プロセス中に抽出された文字の第1の特徴と第1の認識文字を得る。
ステップS504、支援トレーニングモデルを用いて第2の構築画像に対して文字認識を行い、文字認識プロセス中に抽出された文字の第2の特徴を得る。
上記ステップS501~S504はそれぞれ上記図1に記載の実施例のステップS101~S104と同じであり、ここで詳細な説明を省略する。
ステップS505、第1の認識文字と第2の実際の文字に基づいて、トレーニング対象モデルが文字認識を行う第1の損失値を決定する。
一実施形態では、第1の認識文字と第2の実際の文字を、第1の損失関数入力パラメータの値とし、第1の損失関数を入力し、第1の損失関数に基づいて計算して得られた第1の損失値を取得する。
上記第1の損失関数は、交差エントロピー損失関数、感知損失関数などであってもよい。
ステップS506、第1の特徴と第2の特徴との類似度を計算する。
一実施形態では、第1の特徴と第2の特徴との間の距離を計算し、上記の距離を類似度に変換して、第1の特徴と第2の特徴との類似度とする。
上記距離は、ユークリッド距離、コサイン距離などであってもよい。
予め設定された距離と類似度との対応関係に基づいて、計算して得られた距離を対応する類似度に変換することができる。
ステップS507、類似度に基づいて、トレーニング対象モデルが文字認識を行う第2の損失値を決定する。
一実施形態では、第1の特徴と第2の特徴との実際の類似度を決定し、計算して得られた類似度と実際の類似度に基づいて、トレーニング対象モデルが文字認識を行う第2の損失値を決定する。
第2の構築画像における文字とシーン画像における第2の実際の文字とは同じであるため、シーン画像における文字の特徴は実際に第2の構築画像における文字の特徴と同じである。
これに基づいて、第1の特徴と第2の特徴との実際の類似度を、予め設定された類似度以上である類似度として決定することができ、上記予め設定された類似度は95%、98%などであってもよい。
具体的に、計算して得られた類似度と実際の類似度を、第1の損失函数入力パラメータの値とし、第2の損失函数を入力し、第2の損失函数に基づいて計算して得られた第2の損失値を取得することができる。上記第2の損失函数は交差エントロピー損失函数、感知損失函数などであってもよい。
ステップS508、第1の損失値と第2の損失値に基づいて、トレーニング対象モデルのモデルパラメータを調整して、文字認識モデルを得る。
具体的に、以下の2つの異なる方式でトレーニング対象モデルのモデルパラメータを調整することができる。
一実施形態では、第1の損失値と第2の損失値に対してデータ融合を行い、融合後の損失値に基づいてトレーニング対象モデルのモデルパラメータを調整する。
具体的に、第1の損失値に対応する第1の重み及び第2の損失値に対応する第2の重みに従って、第1の損失値と第2の損失値を重み付けと加算し、計算して得られた損失値を融合後の損失値として決定し、融合後の損失値に基づいてトレーニング対象モデルのモデルパラメータを調整することができる。
別の実施形態では、第1の損失値と第2の損失値を調整し、調整後の第1の損失値と第2の損失値に対してデータ融合を行い、融合後の損失値に基づいてトレーニング対象モデルのモデルパラメータを調整する。
上記から分かるように、第1の損失値は、第1の認識文字と第2の実際の文字に基づいて決定して得られたものであり、第1の損失値はトレーニング対象モデルが文字認識を行う能力をより正確に反映することができる。第2の損失値は、第1の特徴と第2の特徴との類似度に基づいて決定して得られたものであり、第2の損失値はトレーニング対象モデルが特徴抽出を行う能力を比較的に正確に反映することができる。第1の損失値と第2の損失値に基づいて、トレーニング対象モデルのモデルパラメータを調整することは、トレーニング対象モデルが文字認識を行う能力を反映する角度からトレーニング対象モデルのモデルパラメータを調整することができ、トレーニング対象モデルに対して特徴抽出を行う能力を反映する角度からトレーニング対象モデルのモデルパラメータを調整することもできることにより、調整後のトレーニング対象モデルパラメータの総合能力が高く、トレーニング対象モデルの文字認識の精度が向上する。
上記図1に記載の実施例の第1の構築画像は、複数の異なるタイプの構築画像を含むことができ、以下、第1の構築画像に含まれる構築画像に対して説明する。
本開示の一実施例では、上記第1の構築画像は、以下の2種類の画像のうちの少なくとも1種類を含むことができる。
1つ目は、シーンのバックグラウンドを有しなく、且つ含まれる文字がシーンコーパスに属していない構築画像である。
画像にシーンバックグラウンドがないとは、画像のバックグラウンドが適用シーンのバックグラウンドではないことを指す。例えば、適用シーンのバックグラウンドに地模様があり、画像のバックグラウンドが白一色または黒一色である場合、当該バックグラウンドは適用シーンのバックグラウンドではないため、当該画像にはシーンバックグラウンドがない。
文字がシーンコーパスに属しないとは、文字が適用シーンにおける文字ではないことを指す。例えば、適用シーンにおける文字は、予め設定されたルールに従って配置されており、画像における文字がランダムに組み合わされた文字である場合、当該文字は適用シーンにおける文字ではないため、画像に含まれる文字はシーンコーパスに属しない。
図6aを例として、図6aに示される画像は構築画像である。上記画像のバックグラウンドが白一色であり、適用シーンのシーンではないため、当該画像にはシーンバックグラウンドがない。かつ、画像に含まれる文字が、ランダムに組み合わせられたものであり、適用シーンにおける文字ではないため、当該画像に含まれる文字はシーンコーパスに属しない。
構築画像が、シーンのバックグラウンドを有しなく、且つ含まれる文字がシーンコーパスに属していない構築画像である場合、上記画像を構築する際、あまり多くの情報を考慮する必要はなく、短時間内に大量の画像を迅速に構築して得ることがき、これによって構築画像の取得の効率を向上させることができる。
その上で、トレーニングサンプルとしてモデルをトレーニングする十分な画像があるため、モデルをよくトレーニングすることができ、文字認識能力の高いモデルを得ることができる。
2つ目は、シーンのバックグラウンドを有し、且つ含まれる文字がシーンコーパスに属していない構築画像である。
画像にシーンバックグラウンドがあるとは、画像のバックグラウンドが適用シーンのシーンであることを指す。例えば、適用シーンのバックグラウンドにはバックグラウンドを有し、画像のバックグラウンドに地模様がある場合、当該バックグラウンドが適用シーンのバックグラウンドであることが表明される。
上記構築画像のバックグラウンドは、上記シーン画像のバックグラウンドの類似バックグラウンドであってもよい。このように、上記構築画像に基づいてモデルを予めトレーニングする場合、類似バックグラウンド画像に対して文字認識を行う法則を学習することができ、その後モデルトレーニングを行う場合、モデルはシーン画像に対して文字認識を行う法則を比較的早く学習することができる。
図6bを例とすると、図6bに示される画像は構築画像である。上記画像において、バックグラウンドは金融シーンにおけるインボイス画像のシーンであり、シーンバックグラウンドがある。画像に含まれる文字はランダムに組み合わせられたものであり、金融シーンにおけるインボイス画像内の文字ではない。
上記構築画像を用いてモデルを予めトレーニングする際、構築画像が、シーンのバックグラウンドを有し、且つ含まれる文字がシーンコーパスに属していない構築画像である場合、予めトレーニングして得られたモデルが、シーンバックグラウンドがある画像文字に対する認識の能力を備えるため、その後にモデルトレーニングを行う際、シーン画像における文字を認識する法則を迅速に学習することができる。
以下、図7に示されるモデル構成図と併せて、本開示の実施例によって提供されるモデルトレーニング方法に対して具体的に説明する。
図7には2つのモデルが含まれ、左側のモデルはトレーニング対象モデルであり、右側のモデルは支援トレーニングモデルである。トレーニング対象モデルと支援トレーニングモデルとは同じモデルであり、初期ニューラルネットワークモデルを予めトレーニングして得られた事前トレーニングモデルと同じである。
上記トレーニング対象モデル、支援トレーニングモデルにはいずれも、特徴抽出層と文字認識層が含まれる。
特徴抽出層は、入力された画像における文字に対して特徴抽出を行い、抽出して得られた特徴を文字認識層に入力する。
文字認識層は、入力された特徴に基づいて文字認識を行って、認識文字を得る。
上記特徴抽出層には、視覚特徴抽出サブネットワーク層、符号化サブネットワーク層、復号サブネットワーク層が含まれる。
視覚特徴抽出サブネットワーク層は、入力された画像を極めて抽象的な特徴シーケンスに変換し、得られた特徴シーケンスを符号化ユニットに入力する。視覚特徴抽出ユニットは、ResNet(Residual Network、残差ネットワーク)のネットワーク構造に基づいてシーケンスの変換を行うことができる。さらに、特徴シーケンスに変換する際、まず入力された画像を矯正し、画質が悪いかスケールが歪んでいる画像を画質が高く、文字配置が平らな画像に矯正することができる。
符号化サブネットワーク層は、視覚特徴間の意味関係を強化し、画像における文字の意味情報を得て、得られた意味情報を復号化ユニットに入力する。符号化ユニットは、RNNネットワーク構造に基づいて意味関係を強化することができる。
復号サブネットワーク層は、意味情報をコンピュータ理解可能な文字に変換し、画像における文字の特性を得る。復号ユニットは、CTC(Connectionist Temporal Classification、接続時間分類アルゴリズム)アルゴリズム、またはアテンションメカニズムに基づくアルゴリズムに基づくことができる。
トレーニング対象モデルをトレーニングする際、ステップ1、シーン画像をトレーニング対象モデルに入力し、第2の構築画像を支援トレーニングモデルに入力する。
シーン画像に含まれる実際の文字と第2の構築画像に含まれる実際の文字とは同じである。
ステップ2、トレーニング対象モデルから出力された第1の認識文字を得て、トレーニング対象モデルにおける特徴抽出層から出力された第1の特徴、及び支援トレーニングモデルにおける特徴抽出層から出力された第2の特徴を得る。
ステップ3、第1の認識文字、シーン画像に含まれる実際の文字、第1の特徴及び第2の特徴に基づいて、トレーニング対象モデルのモデルパラメータを調整し、トレーニング終了条件を満たさない場合、トレーニング終了条件を満たすまで、第1のステップに戻る。
ステップ4、トレーニング後のトレーニング対象モデルのモデルパラメータに基づいて、支援トレーニングモデルのモデルパラメータを調整する。
ステップ5、第3の構築画像と第3の構築画像における第3の実際の文字を用いて、パラメータが調整された後の支援トレーニングモデルをトレーニングする。
ステップ6、支援トレーニングモデルがトレーニング終了条件を満たした後、ステップ1に戻り、トレーニング対象モデルを再トレーニングする。
上記モデルトレーニング方法に対応して、本開示は文字認識方法をさらに提供する。
図8を参照すると、図8は、本開示の実施例によって提供される文字認識方法の概略フローチャートである。上記方法は、以下の下ステップS801~S802を含む。
ステップS801、認識対象画像を取得する。
ステップS802、認識対象画像を文字認識モデルに入力して、文字認識モデルから出力された認識文字を得る。
上記文字認識モデルは、本開示の実施例によって提供されるモデルトレーニング方法でトレーニングして得られたモデルである。
上記から分かるように、本開示の実施例によって提供される技術案を用いて文字認識を行う場合、文字認識モデルが大量のシーン画像、構築画像を用いて、トレーニングサンプルとしてモデルトレーニングして得られるものであるため、文字認識モデルは優れた画像における文字を認識する能力を備え、上記の文字認識モデルを応用する際、認識対象画像における文字をより正確に認識することができる。
上記モデルトレーニング方法に対応して、本開示の実施例は、モデルトレーニング装置を提供する。
図9を参照すると、図9は、本開示の実施例によって提供される第1のモデルトレーニング装置の概略構成図である。上記装置は以下のモジュール901~905を含む。
モデル取得モジュール901は、第1の構築画像と前記第1の構築画像における第1の実際の文字を用いて初期ニューラルネットワークモデルをトレーニングしてトレーニング対象モデルと支援トレーニングモデルを得る。
第1の画像取得モジュール902は、シーン画像、前記シーン画像における第2の実際の文字および第2の構築画像を取得し、前記第2の構築画像における文字と前記第2の実際の文字とは同じである。
文字決定モジュール903は、前記トレーニング対象モデルを用いて前記シーン画像に対して文字認識を行って、文字認識プロセス中に抽出された文字の第1の特徴と第1の認識文字を得る。
特徴決定モジュール904は、前記支援トレーニングモデルを用いて前記第2の構築画像に対して文字認識を行って、文字認識プロセス中に抽出された文字の第2の特徴を得る。
第1のモデルトレーニングモジュール905は、前記第1の認識文字、第2の実際の文字、第1の特徴及び第2の特徴に基づいて、前記トレーニング対象モデルのモデルパラメータを調整して、文字認識モデルを得る。
以上より、本開示の実施例によって提供される技術案を用いてモデルトレーニングを行う場合、第1の認識文字、第2の実際の文字、第1の特徴及び第2の特徴に基づいて、トレーニング対象モデルのモデルパラメータを調整し、モデルトレーニングを実現する。
一方、第1の識別文字は、レーニング対象モデルがシーン画像に対して文字認識を行って得られた認識文字であり、第2の実際の文字がシーン画像に実際に含まれる文字であるため、第1の識別文字と第2の実際の文字との差異は、トレーニング対象モデルがシーン画像に対して文字認識を行う能力を反映することができる。他方、第1の特徴はトレーニング対象モデルによって抽出して得られたシーン画像における文字の特徴であり、第2の特徴は支援トレーニングモデルによって抽出して得られた第2の構築画像における文字の特徴であり、支援トレーニングモデルが構築画像を用いてトレーニングして得られたものであるため、第2の特徴は第2の構築画像における文字を正確に特徴づけることができるまた、第2の構築画像における文字とシーン画像における文字とは同じであるため、第1の特徴と第2の特徴との差異はレーニング対象モデルがシーン画像における文字に対して特徴抽出を行う能力を反映することができる。
上記の2つの点をまとめると、第1の認識文字、第2の実際の文字、第1の特徴及び第2の特徴に基づいてトレーニングして得られたトレーニング対象モデルは、シーン画像における文字の特徴を抽出する法則を学習することができ、シーン画像に対して文字認識を行う法則を学習することもできる。従って、本開示の実施例によって提供される技術案は、トレーニングして文字認識を行うためのモデルを得ることができる。
図10を参照すると、図10は、本開示の実施例によって提供される第2のモデルトレーニング装置の概略構成図である。上記装置は以下のモジュール1001~1008を含む。
モデル取得モジュール1001は、第1の構築画像と前記第1の構築画像における第1の実際の文字を用いて初期ニューラルネットワークモデルをトレーニングしてトレーニング対象モデルと支援トレーニングモデルを得る。
第1の画像取得モジュール1002は、シーン画像、前記シーン画像における第2の実際の文字および第2の構築画像を取得し、前記第2の構築画像における文字と前記第2の実際の文字とは同じである。
文字決定モジュール1003は、前記トレーニング対象モデルを用いて前記シーン画像に対して文字認識を行って、文字認識プロセス中に抽出された文字の第1の特徴と第1の認識文字を得る。
特徴決定モジュール1004は、前記支援トレーニングモデルを用いて前記第2の構築画像に対して文字認識を行って、文字認識プロセス中に抽出された文字の第2の特徴を得る。
第1の損失値決定サブモジュール1005は、前記第1の認識文字と前記第2の実際の文字に基づいて、前記トレーニング対象モデルにより文字認識を行う第1の損失値を決定する。
類似度計算サブモジュール1006は、前記第1の特徴と前記第2の特徴との類似度を計算する。
第2の損失値決定サブモジュール1007は、前記類似度に基づいて、前記トレーニング対象モデルにより文字認識を行う第2の損失値を決定する。
パラメータ調整サブモジュール1008は、前記第1の損失値と前記第2の損失値に基づいて、前記トレーニング対象モデルのモデルパラメータを調整して、文字認識モデルを得る。
上記から分かるように、第1の損失値は、第1の認識文字と第2の実際の文字に基づいて決定して得られたものであり、第1の損失値はトレーニング対象モデルが文字認識を行う能力をより正確に反映することができる。第2の損失値は、第1の特徴と第2の特徴との類似度に基づいて決定して得られたものであり、第2の損失値はトレーニング対象モデルが特徴抽出を行う能力を比較的に正確に反映することができる。第1の損失値と第2の損失値に基づいて、トレーニング対象モデルのモデルパラメータを調整することは、トレーニング対象モデルが文字認識を行う能力を反映する角度からトレーニング対象モデルのモデルパラメータを調整することができ、トレーニング対象モデルに対して特徴抽出を行う能力を反映する角度からトレーニング対象モデルのモデルパラメータを調整することもできることにより、調整後のトレーニング対象モデルパラメータの総合能力が高く、トレーニング対象モデルの文字認識の精度が向上する。
図11を参照すると、図11は、本開示の実施例によって提供される第3のモデルトレーニング装置の概略構成図である。上記装置は、以下のモジュール1101~1107を含む。
モデル取得モジュール1101は、第1の構築画像と前記第1の構築画像における第1の実際の文字を用いて初期ニューラルネットワークモデルをトレーニングしてトレーニング対象モデルと支援トレーニングモデルを得る。
第1の画像取得モジュール1102は、シーン画像、前記シーン画像における第2の実際の文字および第2の構築画像を取得し、前記第2の構築画像における文字と前記第2の実際の文字とは同じである。
文字決定モジュール1103は、前記トレーニング対象モデルを用いて前記シーン画像に対して文字認識を行って、文字認識プロセス中に抽出された文字の第1の特徴と第1の認識文字を得る。
特徴決定モジュール1104は、前記支援トレーニングモデルを用いて前記第2の構築画像に対して文字認識を行って、文字認識プロセス中に抽出された文字の第2の特徴を得る。
第1のモデルトレーニングモジュール1105は、前記第1の認識文字、第2の実際の文字、第1の特徴及び第2の特徴に基づいて、前記トレーニング対象モデルのモデルパラメータを調整して、文字認識モデルを得る。
パラメータ調整モジュール1106は、前記トレーニング対象モデルがトレーニング終了条件を満たした後、トレーニング後のトレーニング対象モデルのモデルパラメータに基づいて、前記支援トレーニングモデルのモデルパラメータを調整する。
第2のモデルトレーニングモジュール1107は、第3の構築画像と前記第3の構築画像における第3の実際の文字を用いて、モデルパラメータが調整された後の支援トレーニングモデルをトレーニングする。前記支援トレーニングモデルがトレーニング終了条件を満たした後、前記第1の画像取得モジュールをトリガして、前記トレーニング対象モデルを再トレーニングする。
上記から分かるように、本実施例によって提供される技術案ではトレーニング対象モデルをマルチターントレーニングし、各ラウンドトレーニングにおいて、トレーニング対象モデルに対して複数段階のパラメータ調整を行う。後段階のパラメータ調整は、前段階のパラメータ調整に加えて行われ、前段階でパラメータ調整後のトレーニング対象モデルがすでにより良い文字特徴抽出能力及び文字認識能力を備えており、前段階でトレーニングして得られた支援トレーニングモデルがシーン画像、構築画像に対して、より良い文字特徴抽出能力を備えるため、このように、後段階で上記支援トレーニングモデルに基づいて上記トレーニング対象モデルを支援的にトレーニングする際、より正確な比較結果を得ることができ、トレーニング対象モデル特徴抽出と文字認識の能力をさらに強化し、トレーニング対象モデルが文字認識を行う精度を向上させる。
図12を参照すると、図12は、本開示の実施例によって提供される第4のモデルトレーニング装置の概略構成図である。前記支援トレーニングモデルが複数のネットワーク層を含み、上記モジュール1107は、以下のモジュール1201~1209を含む。
モデル取得モジュール1201は、第1の構築画像と前記第1の構築画像における第1の実際の文字を用いて初期ニューラルネットワークモデルをトレーニングしてトレーニング対象モデルと支援トレーニングモデルを得る。
第1の画像取得モジュール1202は、シーン画像、前記シーン画像における第2の実際の文字および第2の構築画像を取得し、前記第2の構築画像における文字と前記第2の実際の文字とは同じである。
文字決定モジュール1203は、前記トレーニング対象モデルを用いて前記シーン画像に対して文字認識を行って、文字認識プロセス中に抽出された文字の第1の特徴と第1の認識文字を得る。
特徴決定モジュール1204は、前記支援トレーニングモデルを用いて前記第2の構築画像に対して文字認識を行って、文字認識プロセス中に抽出された文字の第2の特徴を得る。
第1のモデルトレーニングモジュール1205は、前記第1の認識文字、第2の実際の文字、第1の特徴及び第2の特徴に基づいて、前記トレーニング対象モデルのモデルパラメータを調整して、文字認識モデルを得る。
パラメータ調整モジュール1206は、前記トレーニング対象モデルがトレーニング終了条件を満たした後、トレーニング後のトレーニング対象モデルのモデルパラメータに基づいて、前記支援トレーニングモデルのモデルパラメータを調整する。
第1の調整層決定サブモジュール1207は、前記複数のネットワーク層から調整層を決定する。
モデルトレーニングサブモジュール1208は、第3の構築画像と前記第3の構築画像における第3の実際の文字を用いて、前記調整層のモデルパラメータを調整することにより、前記支援トレーニングモデルをトレーニングする。
第2の調整層決定サブモジュール1209は、前記支援トレーニングモデルがトレーニング終了条件を満たした後、すべてのネットワーク層をトラバースするまで、調整層として決定されていないネットワーク層から調整層を決定し、モデルトレーニングサブモジュールをトリガする。
上記から分かるように、モデルパラメータが調整された後の支援トレーニングモデルをトレーニングする際、毎回モデルパラメータを調整する方式は以下通りである。一部のネットワーク層のモデルパラメータのみを調整し、他のネットワーク層のモデルパラメータを一定とする。上記の一部のネットワーク層のモデルパラメータを調整した後、他のネットワーク層をトラバースする。1つのトラバースサイクル内に、一部のネットワーク層のみに対してモデルパラメータを調整することにより、上記の一部のネットワーク層のモデルパラメータを調整する精度を向上させ、支援トレーニングモデルをトレーニングする精度をさらに向上させる。
本開示の一実施例では、上記パラメータ調整モジュールは、具体的に、前記支援トレーニングモデルのモデルパラメータをトレーニング後のトレーニング対象モデルのモデルパラメータに調整し、あるいは、トレーニング後のトレーニング対象モデルのモデルパラメータと前記支援トレーニングモデルのモデルパラメータとを融合させ、前記支援トレーニングモデルのモデルパラメータを融合後のモデルパラメータに調整する。
支援トレーニングモデルのモデルパラメータをトレーニング後のトレーニング対象モデルのモデルパラメータに調整するため、支援トレーニングモデルのモデルパラメータはトレーニング後のトレーニング対象モデルの完全なモデルパラメータとなり、このように支援トレーニングモデルは、トレーニング後のトレーニング対象モデルの文字認識と文字特徴抽出能力も備える。トレーニング後のトレーニング対象モデルのモデルパラメータと支援トレーニングモデルのモデルパラメータとを融合させ、融合後のモデルパラメータはトレーニング対象モデルのモデルパラメータだけでなく、支援トレーニングモデルのモデルパラメータにも関連する。上記融合後のモデルパラメータに基づいて支援トレーニングモデルのモデルパラメータを調整する時、調整されたパラメータは支援トレーニングモデル自体のモデルパラメータに関連し、支援トレーニングモデルのモデルパラメータを大幅に調整する必要がなく、上記のモデルパラメータのスムーズな移行を実現する。
本開示の一実施例では、上記第1の構築画像は、シーンのバックグラウンドを有しなく、且つ含まれる文字がシーンコーパスに属していない構築画像、シーンのバックグラウンドを有し、且つ含まれる文字がシーンコーパスに属していない構築画像のうちの少なくとも1種を含む。
構築画像はシーンのバックグラウンドを有しなく、且つ含まれる文字がシーンコーパスに属していない構築画像である場合、上記画像を構築する際、あまり多くの情報を考慮する必要はなく、短時間内に大量の画像を迅速に構築することがき、これによって構築画像の取得の効率を向上させることができる。
その上で、トレーニングサンプルとしてモデルをトレーニングする十分な画像があるため、モデルをよくトレーニングすることができ、文字認識能力の高いモデルを得ることができる。
構築画像はシーンのバックグラウンドを有し、且つ含まれる文字がシーンコーパスに属していない構築画像である場合、構築画像を用いてモデルを予めトレーニングする際、予めトレーニングして得られたモデルはシーンバックグラウンドがある画像文字を認識する能力を備え、その後にモデルトレーニングを行う際、シーン画像における文字を認識する法則を迅速に学習することができる。
上記文字認識方法に対応して、本開示の実施例文字認識装置を提供する。
図13を参照すると、図13は、本開示の実施例によって提供される文字認識装置の概略構成図である。上記装置は以下のモジュール1301~1302を含む。
第2の画像取得モジュール1301は、認識対象画像を取得する。
文字認識モジュール1302は、前記認識対象画像を文字認識モデルに入力して、前記文字認識モデルから出力された認識文字を得て前記文字認識モデルが上記モデルトレーニング装置によってトレーニングして得られるモデルである。
上記から分かるように、本開示の実施例によって提供される技術案を用いて文字認識を行う場合、文字認識モデルが大量のシーン画像、構築画像を用いて、トレーニングサンプルとしてモデルトレーニングして得られるものであるため、文字認識モデルは優れた画像における文字を認識する能力を備え、上記の文字認識モデルを応用する際、認識対象画像における文字をより正確に認識することができる。
なお、本開示の技術案では、関連するユーザ個人情報の収集、記憶、使用、加工、伝送、提供、公開などの処理は、いずれも関連法律法規の規定に合致し、かつ公序良俗に違反しない。
本開示の実施例によれば、本開示は、電子機器、読み取り可能な記憶媒体、及びコンピュータプログラムをさらに提供する。
本開示の実施例は、電子機器を提供し、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサと通信可能に接続されるメモリと、を含み、
前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶されており、前記命令は、前記少なくとも1つのプロセッサがモデルトレーニングまたは文字認識方法を実行できるように、前記少なくとも1つのプロセッサによって実行される。
本開示の実施例は、コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体を提供し、前記コンピュータ命令は、コンピュータにモデルトレーニングまたは文字認識方法を実行させる。
本開示の実施例は、コンピュータプログラムを提供し、前記コンピュータプログラムはプロセッサによって実行される場合、モデルトレーニングまたは文字認識方法を実現する。
以上より、本開示の実施例によって提供される技術案を用いてモデルトレーニングを行う場合、第1の認識文字、第2の実際の文字、第1の特徴及び第2の特徴に基づいて、トレーニング対象モデルのモデルパラメータを調整し、モデルトレーニングを実現する。
一方、第1の識別文字は、レーニング対象モデルがシーン画像に対して文字認識を行って得られた認識文字であり、第2の実際の文字がシーン画像に実際に含まれる文字であるため、第1の識別文字と第2の実際の文字との差異は、トレーニング対象モデルがシーン画像に対して文字認識を行う能力を反映することができる。他方、第1の特徴はトレーニング対象モデルによって抽出して得られたシーン画像における文字の特徴であり、第2の特徴は支援トレーニングモデルによって抽出して得られた第2の構築画像における文字の特徴であり、支援トレーニングモデルが構築画像を用いてトレーニングして得られたものであるため、第2の特徴は第2の構築画像における文字を正確に特徴づけることができるまた、第2の構築画像における文字とシーン画像における文字とは同じであるため、第1の特徴と第2の特徴との差異はレーニング対象モデルがシーン画像における文字に対して特徴抽出を行う能力を反映することができる。
上記の2つの点をまとめると、第1の認識文字、第2の実際の文字、第1の特徴及び第2の特徴に基づいてトレーニングして得られたトレーニング対象モデルは、シーン画像における文字の特徴を抽出する法則を学習することができ、シーン画像に対して文字認識を行う法則を学習することもできる。従って、本開示の実施例によって提供される技術案は、トレーニングして文字認識を行うためのモデルを得ることができる。
図14は、本開示の実施例を実行するための例示的な電子機器1400の概略ブロック図である。電子機器は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレームコンピュータ、および他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すことを目的とする。電子機器は、パーソナルデジタル処理、携帯電話、スマートフォン、ウェアラブルデバイス、および他の同様のコンピューティングデバイスなどの様々な形態のモバイルデバイスを表すこともできる。本明細書で示される部品、それらの接続と関係、およびそれらの機能は、単なる例であり、本明細書の説明および/または求められる本開示の実現を制限することを意図したものではない。
図14に示すように、電子機器1400は、読み取り専用メモリ(ROM)1402に記憶されているコンピュータプログラムまたは記憶ユニット1408からランダムアクセスメモリ(RAM)1403にロードされたコンピュータプログラムに従って様々な適切な動作および処理を実行できる計算ユニット1401を含む。RAM 1403には、電子機器1400の動作に必要な各種のプログラムやデータも記憶されてもよい。計算ユニット1401、ROM 1402 、及びRAM 1403は、バス1404を介して互いに接続されている。パス1404には、入力/出力(I/O)インターフェース1405も接続されている。
電子機器1400の複数のコンポーネントはI/Oインターフェース1405に接続され、キーボード、マウスなどの入力ユニット1406、各タイプのディスプレイ、スピーカなどの出力ユニット1407、磁気ディスク、光ディスクなどの記憶ユニット1408、およびネットワークカード、モデム、無線通信トランシーバなどの通信ユニット1409を含む。通信ユニット1409は、電子機器1400が、インターネットなどのコンピュータネットワークおよび/または各種の電信ネットワークを介して他のデバイスと情報/データを交換することを可能にする。
計算ユニット1401は、前文に記載の各方法及び処理、例えば、モデルトレーニングまたは文字認識方法を実行する。例えば、いくつかの実施例では、モデルトレーニングまたは文字認識方法を、記憶ユニット1408などの機械読み取り可能な媒体に有形的に含まれるコンピュータソフトウェアプログラムとして実現することができる。いくつかの実施形態では、コンピュータプログラムの一部または全部は、ROM1402および/または通信ユニット1409を介して電子機器1400にロードおよび/またはインストールすることができる。コンピュータプログラムがRAM1403にロードされ、計算ユニット1401によって実行される場合、前文に記載のモデルトレーニングまたは文字認識方法の1つのまたは複数のステップが実行されてもよい。代替的に、他の実施例では、計算ユニット1401はモデルトレーニングまたは文字認識方法を実行するように、他のいずれかの適切な方式(例えば、ファームウェアを介して)によって構成されてもよい。
本明細書で上記記載のシステムと技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、システムオンチップ(SOC)、コンプレックス・プログラマブル・ロジック・デバイス(CPLD)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組み合わせで実現することができる。これらの様々な実施形態は、1つ又は複数のコンピュータプログラムで実施されることを含むことができ、当該1つ又は複数のコンピュータプログラムは、少なくとも1つのプログラマブルプロセッサを含むプログラム可能なシステムで実行および/または解釈されることができ、当該プログラマブルプロセッサは、特定用途向け又は汎用プログラマブルプロセッサであってもよく、ストレージシステム、少なくとも1つの入力装置、および少なくとも1つの出力装置からデータおよび命令を受信し、データおよび命令を当該ストレージシステム、当該少なくとも1つの入力装置、および当該少なくとも1つの出力装置に伝送することができる。
本開示の方法を実行するためのプログラムコードは、1つ又は複数のプログラミング言語の任意の組み合わせで書くことができる。これらのプログラムコードは、プロセッサ又はコントローラによって実行された際に、フローチャートおよび/またはブロック図に規定された機能/操作が実施されるように、汎用コンピュータ、専用コンピュータ、又は他のプログラマブルデータ処理装置のプロセッサ又はコントローラに提供されてもよい。プログラムコードは、完全に機械上で実行されるか、部分的に機械上で実行されるか、スタンドアロンソフトウェアパッケージとして、部分的に機械上で実行され、部分的にリモート機械上で実行され又は完全にリモート機械又はサーバ上で実行されてもよい。
本開示のコンテクストでは、機械読み取り可能な媒体は、命令実行システム、装置、またはデバイスによって使用されるために、又は命令実行システム、装置、またはデバイスと組み合わせて使用するためのプログラムを含むか、又は記憶することができる有形の媒体であってもよい。機械読み取り可能な媒体は、機械読み取り可能な信号媒体または機械読み取り可能な記憶媒体であってもよい。機械読み取り可能な媒体は、電子的、磁気的、光学的、電磁気的、赤外線的、又は半導体システム、装置又はデバイス、または上記コンテンツの任意の適切な組み合わせを含むことができるが、これらに限定されない。機械読み取り可能な記憶媒体のより具体的な例は、1つ又は複数のラインに基づく電気的接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、消去可能プログラマブルリードオンリーメモリ(EPROM又はフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスクリードオンリーメモリ(CD-ROM)、光学記憶装置、磁気記憶装置、または上記コンテンツの任意の適切な組み合わせを含む。
ユーザとのインタラクションを提供するために、ここで説明されるシステム及び技術をコンピュータ上で実施することができ、当該コンピュータは、ユーザに情報を表示するためのディスプレイ装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ)と、キーボード及びポインティングデバイス(例えば、マウス又はトラックボール)とを有し、ユーザは、当該キーボード及び当該ポインティングデバイスによって入力をコンピュータに提供することができる。他の種類の装置も、ユーザとのインタラクションを提供することができ、例えば、ユーザに提供されるフィードバックは、任意の形式のセンシングフィードバック(例えば、ビジョンフィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよく、任意の形式(音響入力と、音声入力、または、触覚入力とを含む)でユーザからの入力を受信することができる。
ここで説明されるシステムおよび技術は、バックエンドコンポーネントを含むコンピューティングシステム(例えば、データサーバとする)、又はミドルウェアコンポーネントを含むコンピューティングシステム(例えば、アプリケーションサーバ)、又はフロントエンドコンポーネントを含むコンピューティングシステム(例えば、グラフィカルユーザインタフェース又はウェブブラウザを有するユーザコンピュータ、ユーザは、当該グラフィカルユーザインタフェース又は当該ウェブブラウザによってここで説明されるシステムおよび技術の実施形態とインタラクションできる)、又はこのようなバックエンドコンポーネントと、ミドルウェアコンポーネントと、フロントエンドコンポーネントのいずれかの組み合わせを含むコンピューティングシステムで実行することができる。任意の形態又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によってシステムのコンポーネントを相互に接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)と、ワイドエリアネットワーク(WAN)と、インターネットと、を含む。
コンピュータシステムは、クライアントとサーバを含むことができる。クライアントとサーバは、一般に、互いに離れており、通常に通信ネットワークを介してインタラクションする。対応するコンピュータ上で実行され、互いにクライアント-サーバ関係を有するコンピュータプログラムによってクライアントとサーバとの関係が生成される。サーバはクラウドサーバであってもよく、分散システムのサーバであってもよく、ブロックチェーンを組み込んだサーバであってもよい。
なお、上記に示される様々な形式のフローを使用して、ステップを並べ替え、追加、又は削除することができることを理解されたい。例えば、本開示に記載の各ステップは、並列に実行されてもよいし、順次実行されてもよいし、異なる順序で実行されてもよいが、本開示で開示されている技術案が所望の結果を実現することができれば、本明細書では限定されない。
上記具体的な実施形態は、本開示の保護範囲を制限するものではない。当業者は、設計要件と他の要因に応じて、様々な修正、組み合わせ、サブコンビネーション、及び代替を行うことができることを理解されたい。任意の本開示の精神と原則内で行われる修正、同等の置換、及び改善などは、いずれも本開示の保護範囲内に含まれなければならない。