(57)【要約】【課題】  文字検出用のニューラルネットワークを用いることなく複数行の文字認識を行うこと【解決手段】  画像から文字列を検出する学習済みモデルであって、畳み込み層により出力された特徴量を形状変換して、当該形状変換された特徴量を再帰型ニューラルネットワーク層に入力することを特徴とする学習済みモデル。【選択図】  図１
2020197796.tif 000002
【特許請求の範囲】
【請求項１】
画像から文字列を検出する学習済みモデルであって、
畳み込み層により出力された特徴量を形状変換して、当該形状変換された特徴量を再帰型ニューラルネットワーク層に入力することを特徴とする学習済みモデル。
【請求項２】
前記特徴量の形状変換に係る処理は、畳み込み層により出力された特徴量の次元数を分割し、幅方向に結合させる処理であることを特徴とする請求項１に記載の学習済みモデル。
【請求項３】
前記形状変換処理は、畳み込み層により出力された特徴量の次元数を、前記画像の文字列の行数に応じて分割し、分割された特徴量を幅方向に結合する処理であることを特徴とする請求項１に記載の学習済みモデル。
【請求項４】
画像と、当該画像に係る文字列とを対応付けた学習用データを用いて生成された学習済みモデルを用いて、画像から文字列を検出する情報処理装置であって、
前記学習済みモデルは、畳み込み層により出力された特徴量を形状変換して、当該形状変換された特徴量を再帰型ニューラルネットワーク層に入力することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習済みモデル、プログラムに関する。
【背景技術】
【０００２】
近年多層ニューラルネットワーク（ディープラーニング）による画像認識の有効性が広く認知されるようになっている。
【０００３】
このような多層ニューラルネットワークを構築し、文字認識を行う手法として畳み込みニューラルネットワーク（ＣＮＮ）と再帰型ニューラルネットワーク（ＲＮＮ）を組み合わせ方法（ＣＲＮＮ）が知られている（例えば、非特許文献１）。非特許文献１におけるＣＲＮＮを用いた手法は、１行の文字列画像を入力とし、ＣＮＮにより特徴抽出を行い、後段のＲＮＮにより文脈を考慮して文字認識を行うことを特徴としている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】“Ａｎ  Ｅｎｄ−ｔｏ−Ｅｎｄ  Ｔｒａｉｎａｂｌｅ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ  ｆｏｒ  Ｉｍａｇｅ−ｂａｓｅｄ  Ｓｅｑｕｅｎｃｅ  Ｒｅｃｏｇｎｉｔｉｏｎ  ａｎｄ  Ｉｔｓ  Ａｐｐｌｉｃａｔｉｏｎ  ｔｏ  Ｓｃｅｎｅ  Ｔｅｘｔ  Ｒｅｃｏｇｎｉｔｉｏｎ”  Ｂａｏｇｕａｎｇ  Ｓｈｉ、Ｘｉａｎｇ  Ｂａｉ、Ｃｏｎｇ  Ｙａｏ、  ２０１５
【非特許文献２】“ＳＴＮ−ＯＣＲ：  Ａ  ｓｉｎｇｌｅ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ  ｆｏｒ  Ｔｅｘｔ  Ｄｅｔｅｃｔｉｏｎ  ａｎｄ  Ｔｅｘｔ  Ｒｅｃｏｇｎｉｔｉｏｎ”、Ｃｈｒｉｓｔｉａｎ  Ｂａｒｔｚ、Ｈａｏｊｉｎ  Ｙａｎｇ、Ｃｈｒｉｓｔｏｐｈ  Ｍｅｉｎｅｌ、  ２０１７
【発明の開示】
【発明が解決しようとする課題】
【０００５】
非特許文献１の文字認識手法では、文脈を考慮しながら認識を行えることによって、より正確な文字認識を行えるということが分かっている。しかしながら、非特許文献１の方法では複数行の文字列画像を入力した際には、認識ができないという問題点があった。
【０００６】
非特許文献２の文字認識手法では、文字列検出用のニューラルネットワーク構造を用いて１行ずつ文字列画像を切り出し、非特許文献１の手法を適用することによって複数行の認識を行うというものである。しかしながら、非特許文献２の方法では文字列検出用のニューラルネットワーク構造を用いるため認識速度が遅くなるという問題点や、後段の文字認識が文字検出用のニューラルネットワーク構造に依存するという問題点があった。
【０００７】
そこで、本発明は、文字検出用のニューラルネットワークを用いることなく複数行の文字認識を行う仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、画像から文字列を検出する学習済みモデルであって、畳み込み層により出力された特徴量を形状変換して、当該形状変換された特徴量を再帰型ニューラルネットワーク層に入力することを特徴とする学習済みモデルである。
【発明の効果】
【０００９】
本発明によれば、文字検出用のニューラルネットワークを用いることなく複数行の文字認識を行うことが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本発明の文字認識システムのシステム構成を示す図である。
【図２】図１の各装置のハードウェア構成を示すブロック図である。
【図３】図１のサーバ装置の機能構成を示すブロック図である。
【図４】図３の出力部のニューラルネットワーク構造の一例を示す図である。
【図５】図４の形状変換処理の役割を説明するための図である。
【図６】属性情報テーブルを示す図である。
【図７】画像情報テーブルを示す図である。
【図８】正解文字列情報テーブルを示す図である。
【図９】サーバ装置による学習フェーズでの処理の流れの一例を示すフローチャートである
【図１０】サーバ装置による推論フェーズでの処理の流れの一例を示すフローチャートである
【図１１】形状変換処理を行わない場合の畳み込み層の出力結果に関する概念図
【図１２】形状変換処理を行う場合の畳み込み層の出力結果に関する概念図
【発明を実施するための形態】
【００１１】
以下、図面を参照して、本発明の実施形態を詳細に説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施形態の１つである。
【００１２】
まず、図１を説明する。図１は、本実施形態に係る文字認識システムの一例を示すシステム構成図である。
【００１３】
サーバ装置１０１は、データベースサーバ１０２で管理するデータをデータベースサーバから取得し、取得したデータに含まれる画像データを解析して、対象文字列画像の認識を行う。
【００１４】
サーバ装置１０１は、本実施形態に係る文字認識を行う情報処理装置の一例である。
【００１５】
データベースサーバ１０２は、図６〜８に示されるようなテーブルのデータを読み出し、書き出しするデータベースとして管理するサーバであり、サーバ装置１０１からの要求に従って、当該データベースサーバ１０２が管理するデータをサーバ装置１０１に送信する。
【００１６】
なお、本実施形態ではサーバ装置１０１とデータベースサーバ１０２を別々の装置としたが、他の実施形態として、サーバ装置１０１とデータベースサーバ１０２はひとつの装置であっても良い。
【００１７】
以下、図２を用いて図１に示したサーバ装置１０１、データベースサーバ１０２に適用可能な情報処理装置のハードウェア構成について説明する。
図２において、２０１はＣＰＵで、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。また、ＲＯＭ２０２あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳ）や、ＰＣの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【００１８】
２０３はＲＡＭで、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０２あるいは外部メモリ２１１からＲＡＭ２０３にロードして、ロードしたプログラムを実行することで各種動作を実現するものである。
【００１９】
また、２０５は入力コントローラで、キーボード（ＫＢ）２０９等のポインティングデバイス等からの入力を制御する。２０６はビデオコントローラで、ＣＲＴディスプレイ（ＣＲＴ）２１０等の表示器への表示を制御する。なお、図２では、ＣＲＴ２１０と記載しているが、表示器はＣＲＴだけでなく、液晶ディスプレイ等の他の表示器であってもよい。
【００２０】
２０７はメモリコントローラで、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶する外部記憶装置（ハードディスク（ＨＤ））や、フレキシブルディスク（ＦＤ）、或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ２１１へのアクセスを制御する。
【００２１】
２０８は通信Ｉ／Ｆコントローラで、ネットワークを介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いた通信等が可能である。
【００２２】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ＣＲＴ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ＣＲＴ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００２３】
本発明を実現するための後述する各種プログラムは、外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、上記プログラムの実行時に用いられる設定ファイル等も外部メモリ２１１に格納されており、これらについての詳細な説明も後述する。
【００２４】
次に、図３を参照して、サーバ装置１０１の機能構成について説明する。図３はサーバ装置１０１の機能構成を示すブロック図である。
【００２５】
図３に示されるように、サーバ装置１０１には、機能的には、学習画像取得部３０１と、正解情報取得部３０２と出力部３０３と、解析画像取得部３０４と、属性決定部３０５と、を備える。
【００２６】
本実施形態において、学習画像取得部３０１、正解情報取得部３０２、及び出力部３０３は、画像に含まれる文字列を認識するためのモデルを学習させるための学習部３００Ａとして機能する。解析画像取得部３０４、出力部３０３、属性決定部３０５は、学習部３００Ａにより学習を行った学習済みモデルを用いて未知の画像の文字列認識を行うための推定部３００Ｂとして機能する。すなわち、サーバ装置１０１は、学習フェーズの機能である学習部３００Ａと、推論フェーズの機能である推論部３００Ｂとを含む。
【００２７】
学習画像取得部３０１は、データベースサーバ１０２（図１参照）から、出力部３０３におけるモデル学習に用いるための画像情報を取得する。画像情報は、画像と、画像を識別する識別子である画像ＩＤとを含む。画像は、例えば高さ、幅、及びＲＧＢ（３ｃｈ）を有する３次元のデータである。
【００２８】
学習画像取得部３０１は、データベースサーバ１０２から、例えば図７に示される画像情報テーブルを読み込むことにより、画像情報を取得する。図７は、データベースサーバ１０２の外部メモリ２１１に記憶された画像情報テーブルの一例である。図７の画像情報テーブルには、画像ＩＤ７０１、及び画像データパス７０２が格納されている。学習画像取得部３０１は、図７の画像情報テーブルにおける画像データパスに配置されている画像を読み込むことにより、画像を取得する。
【００２９】
学習画像取得部３０１は、取得した画像の画像ＩＤを正解情報取得部３０２に出力する。また、学習画像取得部３０１は、取得した画像を出力部３０３に出力する。
【００３０】
また、学習画像取得部３０１は出力部３０３からの指示に応じて画像を再度取得して、出力部３０３に出力する。
【００３１】
正解情報取得部３０２は、学習画像取得部３０１から出力された画像ＩＤに基づき、当該画像ＩＤに対応する正解情報を、データベースサーバ１０２から取得する。正解情報は、画像に含まれる文字列に関する正解情報であって、画像毎に設定されている。
【００３２】
正解情報取得部３０２は、データベースサーバ１０２から、例えば図８に示される正解文字列情報テーブルを読み込むことにより、正解情報を取得する。図８は、データベースサーバ１０２の外部メモリ２１１に記憶された正解文字列情報テーブルの一例である。正解文字列情報テーブルには、画像ＩＤ８０１、正解文字列情報８０２が格納されている。
【００３３】
正解情報取得部３０２は、図８の正解文字列情報テーブルから、正解情報として、正解文字列情報８０２を取得し、出力部３０３に出力する。
【００３４】
出力部３０３は、入力された画像を、ニューラルネットワーク（以下、「ＮＮ」という）に入力し、前方伝搬を行い、画像に含まれる文字列に関する出力情報を取得する。
【００３５】
本実施形態において、出力部３０３は複数行の読み取りを考慮したＮＮを用いて情報を出力する。複数行読み取りを考慮したＮＮの詳細は、後述する。
【００３６】
出力部３０３は、学習部３００Ａとして機能する学習フェーズと、推論部３００Ｂとして機能する推論フェーズとを含んでいる。まず、出力部３０３の学習フェーズについて説明する。
【００３７】
学習フェーズにおいて、出力部３０３は、学習画像取得部３０１から出力された画像を複数行読み取りを考慮したＮＮに入力し、画像毎に出力情報を取得する。そして、出力部３０３は、正解情報取得部３０２から出力された正解情報と、出力情報との誤差を算出し、当該誤差に基づき逆伝搬を行い、ＮＮのパラメータを補正する。ここで、ＮＮのパラメータを補正するとは、例えば、ＮＮの畳み込み層のフィルターの重みを変更することや、全結合層の重みを変更すること、再帰型ＮＮの隠れ層の重みを変更することをいう。
【００３８】
出力部３０３は、たとえば、算出した誤差が大きいほどＮＮのパラメータの補正値を大きくし、算出した誤差が小さいほどＮＮのパラメータの補正値を小さくしても良い。出力部３０３は、誤差が０である場合には（誤差がない場合には）パラメータの補正を行わなくてよい。
【００３９】
また、学習フェーズにおいて、出力部３０３は、所定の条件を満たすか否かを判定し、この判定結果に基づき学習を繰り返すか否かを決定する。例えば、出力部３０３は、算出した誤差が所定値以下であるか否かを判定する。
【００４０】
出力部３０３は、誤差が所定値以下でないと判定した場合には、誤差が所定値以下でないと判定された画像を再取得する支持を学習画像取得部３０１に出力する。出力部３０３は、学習画像取得部３０１で取得された全ての画像について、誤差が所定値以下であると判定した場合には、学習を終了する。
【００４１】
なお、出力部３０３が判定する所定の条件は、前述した誤差の条件に限らず、他の条件であっても良い。例えば、出力部３０３は、学習の回数（画像をＮＮに入力して出力情報を出力してＮＮのパラメータを補正した回数）が所定の回数以上であるか否かを判定しても良い。この場合、出力部３０３は、学習回数が所定の回数以上でない場合には、画像を再取得する指示を学習画像取得部３０１に出力し、学習回数が所定の回数以上である場合には、学習を終了する。
【００４２】
続いて、出力部３０３の推論フェーズについて説明する。推論フェーズにおいて、出力部３０３は、解析対象となる画像、すなわち解析画像取得部３０４から出力された画像を、複数行の読み取りを考慮したＮＮに入力し、出力情報を取得する。出力部３０３は、取得した出力情報を属性決定部３０５に出力する。
【００４３】
解析画像取得部３０４は、例えば、画像が記憶された内部または外部の記憶装置から、解析対象となる画像を取得する。また、解析画像取得部３０４は、外部の撮影装置等によって撮影された画像を、ネットワーク等を介して受信することにより取得しても良い。解析画像取得部３０４は、取得した画像を出力部３０３に出力する。
【００４４】
属性決定部３０５は、出力部３０３から出力された出力情報に基づき、対象物の属性を決定する。属性決定部４０５は、データベースサーバ１０２から、例えば図６に示される属性情報テーブルを読み込むことにより、出力された文字列の属性を決定する。
【００４５】
図６の属性情報テーブルには属性ＩＤ６０１、及び属性６０２が格納されている。属性決定部３０５は、出力情報に含まれる属性ＩＤに対応付けられた属性を、推定結果の属性として決定する。
【００４６】
以下、サーバ装置１０１による学習フェーズでの処理の流れを、図９のフローチャートを参照して説明する。また、図１０のフローチャートを参照して、サーバ装置１０１による推論フェーズでの処理の流れを説明する。
【００４７】
図９は、サーバ装置１０１による学習フェーズでの処理の流れの一例を示すフローチャートである。図９に示されるように、サーバ装置１０１による学習フェーズにおける処理が開始されると、まず、サーバ装置１０１の学習画像取得部３０１は、出力部３０３におけるモデル学習用の画像情報を取得する（ステップＳ９０１）。
【００４８】
具体的には、図７に示される画像情報テーブルを読み込み、画像ＩＤ７０１と、当該画像ＩＤに対応付けられた画像データパス７０２に配置された画像とを取得する。
【００４９】
続いて、サーバ装置１０１の正解情報取得部３０２は、正解情報を取得する（ステップＳ９０２）
具体的には、ステップＳ９０１で取得した画像ＩＤに基づき、図８の正解文字列情報テーブルを読み込むことにより、当該画像ＩＤに対応付けられた正解文字列８０２を取得する。
【００５０】
例えば、画像ＩＤ：１の画像の場合、正解文字列として「東京都港区三田１−２−３  三田タワー」が取得される。
【００５１】
続いて、サーバ装置１０１の出力部３０３は、ステップＳ９０３で取得された画像を入力画像として、複数行読み取を考慮したＮＮを用いて、出力情報（推定文字列情報）を取得する（ステップＳ９０３）。
【００５２】
続いて、サーバ装置１０１の出力部３０３は、ステップＳ９０２で取得した正解情報（正解文字列９０２）と出力情報（推定文字列情報）との誤差を算出し、当該誤差に基づき、ＮＮにおけるパラメータを補正する（ステップＳ９０４）
続いて、サーバ装置１０１の出力部３０３は、所定の条件を満たすか否かを判定する（ステップＳ９０５）。例えば、出力部３０３は、ステップＳ９０４で算出した誤差が所定値以下であるか否かを判定する。
【００５３】
誤差が所定値以下でないと判定された場合には（ステップＳ９０５：ＮＯ）、ステップＳ９０１に戻り、サーバ装置１０１の学習画像取得部３０１が、誤差が所定値以下でないと判定された画像情報を再度取得する。そして、ステップＳ９０２〜ステップＳ９０５の処理を繰り返す。
【００５４】
ステップＳ９０１で取得された画像の全てについて、誤差が所定値以下であると判定された場合には（ステップＳ９０５：ＹＥＳ）、処理を終了する。
【００５５】
以上説明したように、学習フェーズにおいては、画像と当該画像に対応付けられた正解情報（正解文字列）とを用いて、ニューラルネットワークの学習を行うことで、画像から文字列を検出する学習済みモデルが生成される。
【００５６】
次に、図１０のフローチャートを参照して、サーバ装置１０１による推論フェーズでの処理の流れの一例を説明する。
【００５７】
図１０は、サーバ装置１０１による推論フェーズでの処理の流れの一例を示すフローチャートである。図１０に示されるように、サーバ装置１０１による推論フェーズにおける処理が開始すると、まず、サーバ装置１０１の解析画像取得部３０４は出力部３０３による解析対象となる画像を取得する（ステップＳ１００１）
続いて、サーバ装置１０１の出力部は、ステップＳ１００１において取得した画像を、ステップＳ９０３において学習済みのＮＮに入力し、出力情報（推定文字列情報）を取得する（ステップＳ１００２）
続いて、サーバ装置１０１の属性決定部３０５はステップ１００２において取得された出力情報に含まれる属性ＩＤに基づき、図６の属性情報テーブルから、属性ＩＤ６０１に対応付けられた属性６０２を、対象物の属性として決定する（ステップＳ１００３）
例えば、ステップＳ１００２において、属性ＩＤ：１が出力された場合は、「あ」という文字が検出されたこととなる。すなわち、Ｓ１００１で取得した解析対象の画像から、「あ」という文字を検出したことを意味する。
【００５８】
次に、図４を参照して、出力部３０３における、複数行の読み取りを考慮したＮＮの一例を示す。図４は、出力部３０３の複数行読み取りを考慮したＮＮの一例を示す図である。
【００５９】
図４に示されるように、複数行読み取りを考慮したＮＮは、畳み込み層（４０１〜４０５）と、形状変換処理４０６と、再帰型ＮＮ（ＲＮＮ）層４０７と、全結合層４０８と、を備える。
【００６０】
本発明では、形状変換処理４０６があることで、複数行を考慮した文字列の読み取りが可能となる。
【００６１】
畳み込み層（４０１〜４０５）は、画像取得部３０１又は解析画像取得部３０４から出力された画像に対して、特徴抽出を行う。
【００６２】
図４において畳み込み層は５層としているが、異なる層数でも構わない、たとえばＲｅｓｉｄｕａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ（ＲｅｓＮｅｔ）やＶＧＧのような公知のＮＮ構造の畳み込み層やＦＰＮ構造を有するものでも良い。
【００６３】
畳み込み層（４０１−４０５）によって抽出された特徴量に対して形状変換処理４０６は、複数行を考慮して文字列を読み取れるようにするための形状変換処理を行う。詳細は後述する。
【００６４】
形状変換処理４０６によって変換された特徴量に対して再帰型ＮＮ（ＲＮＮ）層４０７は、画像の幅方向の順序を考慮した特徴抽出を行う。再帰型ＮＮは、例えば公知技術であるＬＳＴＭ（Ｌｏｎｇ  Ｓｈｏｒｔ  Ｔｅｒｍ  Ｍｅｍｏｒｙ）や、ＧＲＵ（Ｇａｔｅ  Ｒｅｃｕｒｒｅｎｔ  Ｕｎｉｔ）のような構造を有するものを用いる。
【００６５】
再帰型ＮＮ（ＲＮＮ）層４０７によって抽出された特徴量に対して全結合層４０８は、全ての入力（特徴量）からすべての出力への結合重みを持ち、どの特徴がどれくらい重要かを算出する。
【００６６】
全結合層４０８で出力された値に対して、ソフトマックス層４０９は出力の総和が１になるような変換を行い、どの文字（属性）である確率がどれくらいなのかを算出する。
【００６７】
次に、図５を用いて、画像が複数行読み取りを考慮したＮＮに入力された際の形状変換処理の役割について詳しく説明していく。なお、図５の例では２行の読み取りを想定して形状変換処理を行っている。
【００６８】
５０１は入力画像の例であり、次元数：３、高さ：３２、幅：１９２０のＲＧＢ画像である。
【００６９】
この画像を畳み込み層５０２に通すことにより、次元数：５１２、高さ：１、幅：６０の特徴量が出力される。
【００７０】
この特徴量に対して、次元数を２分の１に分割し、幅を２倍にするような形状変換処理５０３を行う。この処理を行うことにより、次元数：２５６、高さ：１、幅：１２０の特徴量が出力される。
【００７１】
なお、３行、４行の読み取りを行うＮＮ構造を作成する場合には、次元数を３分の１、４分の１に分割するものとし、幅を３倍、４倍とする形状変換処理を行う。すなわち、読み取り対象の行数に応じて、次元数と幅とを変換する。
【００７２】
形状変換処理５０３によって変換された特徴量を再帰型ＮＮ５０４、全結合層５０５、ソフトマックス層５０６に通すことにより、例えば次元数：１０２４、高さ：１、幅：１２０の結果が出力され、１０２４の文字種のうちのどの文字なのかの確率を持った結果が出力される。
【００７３】
次に、図１１と図１２用いて、形状変換処理を行うことの意図について詳しく説明していく。なお、図１２の例は図５と同様の処理を行ったと仮定している。
【００７４】
図１１は形状変換処理を行わない場合の畳み込み層の出力結果に関する概念図である。図１１の例において形状変換処理を行わないで文字認識を行う場合、畳み込み層１１０２は、「文字特徴」を５１２次元分出力するフィルターを作成する。この畳み込み層１１０２は、１１０４の斜線部に着目した１１０３のような出力（次元数：５１２、高さ：１、幅：６０の特徴量）を得る。
【００７５】
後段の処理においては幅毎に１つずつ文字確率を出力していくため、複数行の文字列のように高さ方向に重なりがある文字情報はうまく処理ができず認識ができない。
【００７６】
図１２は形状変換処理を行う場合の出力結果に関する概念図である。図１２の例において形状変換処理を行い文字認識を行う場合の畳み込み層１２０２は、「行ごとの文字特徴」を出力するためのフィルターを作成する。これは形状変換処理１２０５を行うことにより、次元方向に伸びた畳み込み出力を幅方向につなげたためである。つまり、形状変換処理を行うニューラルネットワークの場合、畳み込み層１２０２は、学習フェーズによる学習により行ごとの文字特徴を出力する役割を果たすようになる。
【００７７】
図１２の１２０３で示すように、畳み込み層において出力される特徴量は、図１１と同様に「次元数：５１２、高さ：１、幅：６０の特徴量」であるが、次元数方向の手前半分（１２０３における斜線部分）と奥半分（１２０３における縦線部分）とを幅方向に結合することで形状変換を行う。形状変換後の特徴量のイメージを図１２の１２０８に示す。
【００７８】
なお、上述の通り、３行の文字列を認識する場合は、次元数を３分の１にし、手前３分の１と中間３分の１と奥３分の１を幅方向に結合することで、形状変換を行う。
【００７９】
このような形状変換処理１２０５を行うことで、文字列に対して１２０７のような行ごとの特徴抽出が可能となり、複数行に対する文字認識が可能となる。
【００８０】
以上のように、特徴抽出を行う畳み込みニューラルネットワーク（ＣＮＮ）とＲＮＮとの間に形状変換処理を入れることにより、文字列の位置情報を必要とせずに複数行の文字認識を高速かつ正確に行うことが可能となる。
【００８１】
本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００８２】
また、本発明におけるプログラムは、図９、図１０に示すフローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は図９、図１０の処理方法をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは図９、図１０の各装置の処理方法ごとのプログラムであってもよい。
【００８３】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
【００８４】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【００８５】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク等を用いることが出来る。
【００８６】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８７】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８８】
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【００８９】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【００９０】
１０１  サーバ装置
１０２  データベースサーバ
【図１】
2020197796.tif 000003
【図２】
2020197796.tif 000004
【図３】
2020197796.tif 000005
【図４】
2020197796.tif 000006
【図５】
2020197796.tif 000007
【図６】
2020197796.tif 000008
【図７】
2020197796.tif 000009
【図８】
2020197796.tif 000010
【図９】
2020197796.tif 000011
【図１０】
2020197796.tif 000012
【図１１】
2020197796.tif 000013
【図１２】
2020197796.tif 000014
【手続補正書】
【提出日】令和2年9月1日(2020.9.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
画像から文字列を検出する学習済みモデルであって、
畳み込み層により出力された特徴量を、当該特徴量の次元数を前記画像の文字列の行数に応じて分割し、分割された特徴量を幅方向に結合することで形状変換して、当該形状変換された特徴量を再帰型ニューラルネットワーク層に入力することを特徴とする学習済みモデル。
【請求項２】
画像と、当該画像に係る文字列とを対応付けた学習用データを用いて生成された学習済みモデルを用いて、画像から文字列を検出する情報処理装置であって、
前記学習済みモデルは、畳み込み層により出力された特徴量を、当該特徴量の次元数を前記画像の文字列の行数に応じて分割し、分割された特徴量を幅方向に結合することで形状変換して、当該形状変換された特徴量を再帰型ニューラルネットワーク層に入力することを特徴とする情報処理装置。