(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-01
(45)【発行日】2022-09-09
(54)【発明の名称】文書画像認識システム
(51)【国際特許分類】
G06V 30/12 20220101AFI20220902BHJP
【FI】
G06V30/12 C
(21)【出願番号】P 2022534682
(86)(22)【出願日】2020-08-24
(86)【国際出願番号】 JP2020031792
(87)【国際公開番号】W WO2022044067
(87)【国際公開日】2022-03-03
【審査請求日】2022-06-08
【早期審査対象出願】
(73)【特許権者】
【識別番号】000236056
【氏名又は名称】三菱電機ビルソリューションズ株式会社
(73)【特許権者】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】110001210
【氏名又は名称】特許業務法人YKI国際特許事務所
(72)【発明者】
【氏名】岩村 光貴
(72)【発明者】
【氏名】横田 守真
(72)【発明者】
【氏名】三輪 剛久
(72)【発明者】
【氏名】長谷川 康次
(72)【発明者】
【氏名】小田 仁己
(72)【発明者】
【氏名】奥村 誠司
(72)【発明者】
【氏名】小平 孝之
(72)【発明者】
【氏名】齊藤 啓太
(72)【発明者】
【氏名】榎本 嵩久
【審査官】新井 則和
(56)【参考文献】
【文献】特開2019-169025(JP,A)
【文献】特開2019-040417(JP,A)
【文献】特開2019-164687(JP,A)
【文献】特開2016-207039(JP,A)
【文献】特開2008-293354(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06V 30/00-30/424
(57)【特許請求の範囲】
【請求項1】
文書画像を取得するユーザ端末と、
前記ユーザ端末と通信回線で接続されたセンタサーバと、
前記センタサーバと通信回線で接続され、入力された文書画像の文字認識処理を行い、文字認識結果を出力する複数の文字認識クラウドAPIと、を含む文書画像認識システムであって、
前記センタサーバは、入力文書画像の特徴と、前記入力文書画像の文字認識処理を行った際に文字認識の正解率が複数の文字認識クラウドAPIの中で最大となる文字認識クラウドAPIとの組を格納した選択データベースを備え、
前記ユーザ端末は、取得した文書画像を処理対象文書画像として前記センタサーバに送信し、
前記センタサーバは、前記ユーザ端末から受信した前記処理対象文書画像から前記処理対象文書画像の特徴を抽出し、前記選択データベースに格納されている前記入力文書画像の特徴の中から前記処理対象文書画像の特徴と最も類似している前記入力文書画像の特徴を選択し、選択した前記入力文書画像の特徴と組になっている一の文字認識クラウドAPIを選択し、選択した一の文字認識クラウドAPIに前記処理対象文書画像を送信し、一の文字認識クラウドAPIから文字認識結果を受信し、受信した文字認識結果を前記ユーザ端末に送信
し、
前記ユーザ端末は、前記センタサーバから文字認識結果を受信した際に、ユーザが入力した前記処理対象文書画像に含まれる正解文字列を前記センタサーバに出力し、
前記センタサーバは、
前記ユーザ端末から前記正解文字列が入力された場合に、前記処理対象文書画像を各文字認識クラウドAPIに送信し、
各文字認識クラウドAPIからそれぞれ文字認識結果を受信し、
受信した文字認識結果の正解度に応じて前記選択データベースの各文字認識クラウドAPIと組となっている各入力文書画像の各特徴の更新、及び、入力文書画像の特徴と文字認識クラウドAPIの組の前記選択データベースへの追加のいずれか一方又は両方を行い、
前記センタサーバは、選択した一の文字認識クラウドAPIから受信した文字認識結果が正解で、且つ、選択した一の文字認識クラウドAPI以外の他の文字認識クラウドAPIから受信した文字認識結果の少なくとも1つが正解の場合で、且つ、処理対象文書画像の特徴と、選択した一の文字認識クラウドAPIと組になっている入力文書画像の特徴との類似値が所定の閾値以上の場合には、
処理対象文書画像の特徴に基づいて選択した一の文字認識クラウドAPIと組になっている入力文書画像の特徴を更新すること、
を特徴とする文書画像認識システム。
【請求項2】
請求項
1に記載の文書画像認識システムであって、
前記センタサーバは、選択した一の文字認識クラウドAPIから受信した文字認識結果が正解で、且つ、他の文字認識クラウドAPIから受信した文字認識結果の少なくとも1つが正解の場合で、且つ、処理対象文書画像の特徴と、選択した一の文字認識クラウドAPIと組になっている入力文書画像の特徴との類似値が所定の閾値未満の場合には、
処理対象文書画像の特徴と選択した一の文字認識クラウドAPIとの組を選択データベースに追加すること、
を特徴とする文書画像認識システム。
【請求項3】
文書画像を取得するユーザ端末と、
前記ユーザ端末と通信回線で接続されたセンタサーバと、
前記センタサーバと通信回線で接続され、入力された文書画像の文字認識処理を行い、文字認識結果を出力する複数の文字認識クラウドAPIと、を含む文書画像認識システムであって、
前記センタサーバは、入力文書画像の特徴と、前記入力文書画像の文字認識処理を行った際に文字認識の正解率が複数の文字認識クラウドAPIの中で最大となる文字認識クラウドAPIとの組を格納した選択データベースを備え、
前記ユーザ端末は、取得した文書画像を処理対象文書画像として前記センタサーバに送信し、
前記センタサーバは、前記ユーザ端末から受信した前記処理対象文書画像から前記処理対象文書画像の特徴を抽出し、前記選択データベースに格納されている前記入力文書画像の特徴の中から前記処理対象文書画像の特徴と最も類似している前記入力文書画像の特徴を選択し、選択した前記入力文書画像の特徴と組になっている一の文字認識クラウドAPIを選択し、選択した一の文字認識クラウドAPIに前記処理対象文書画像を送信し、一の文字認識クラウドAPIから文字認識結果を受信し、受信した文字認識結果を前記ユーザ端末に送信し、
前記ユーザ端末は、前記センタサーバから文字認識結果を受信した際に、ユーザが入力した前記処理対象文書画像に含まれる正解文字列を前記センタサーバに出力し、
前記センタサーバは、
前記ユーザ端末から前記正解文字列が入力された場合に、前記処理対象文書画像を各文字認識クラウドAPIに送信し、
各文字認識クラウドAPIからそれぞれ文字認識結果を受信し、
受信した文字認識結果の正解度に応じて前記選択データベースの各文字認識クラウドAPIと組となっている各入力文書画像の各特徴の更新、及び、入力文書画像の特徴と文字認識クラウドAPIの組の前記選択データベースへの追加のいずれか一方又は両方を行い、
前記センタサーバは、選択した一の文字認識クラウドAPIから受信した文字認識結果が正解で、且つ、選択した一の文字認識クラウドAPI以外の他の文字認識クラウドAPIから受信した文字認識結果の少なくとも1つが正解の場合で、且つ、処理対象文書画像の特徴と、他の文字認識クラウドAPIの内で文字認識結果が正解となった文字認識クラウドAPIと組になっている入力文書画像の特徴との類似値が所定の閾値以上の場合には、
処理対象文書画像の特徴に基づいて他の文字認識クラウドAPIの内で文字認識結果が正解となった文字認識クラウドAPIと組になっている入力文書画像の特徴を更新すること、
を特徴とする文書画像認識システム。
【請求項4】
請求項
3に記載の文書画像認識システムであって、
前記センタサーバは、選択した一の文字認識クラウドAPIから受信した文字認識結果が正解で、且つ、他の文字認識クラウドAPIから受信した文字認識結果の少なくとも1つが正解の場合で、且つ、処理対象文書画像の特徴と、他の文字認識クラウドAPIの内で文字認識結果が正解となった文字認識クラウドAPIと組になっている入力文書画像の特徴との類似値が所定の閾値未満の場合には、
処理対象文書画像の特徴と他の文字認識クラウドAPIの内で文字認識結果が正解となった文字認識クラウドAPIとの組を選択データベースに追加すること、
を特徴とする文書画像認識システム。
【請求項5】
文書画像を取得するユーザ端末と、
前記ユーザ端末と通信回線で接続されたセンタサーバと、
前記センタサーバと通信回線で接続され、入力された文書画像の文字認識処理を行い、文字認識結果を出力する複数の文字認識クラウドAPIと、を含む文書画像認識システムであって、
前記センタサーバは、入力文書画像の特徴と、前記入力文書画像の文字認識処理を行った際に文字認識の正解率が複数の文字認識クラウドAPIの中で最大となる文字認識クラウドAPIとの組を格納した選択データベースを備え、
前記ユーザ端末は、取得した文書画像を処理対象文書画像として前記センタサーバに送信し、
前記センタサーバは、前記ユーザ端末から受信した前記処理対象文書画像から前記処理対象文書画像の特徴を抽出し、前記選択データベースに格納されている前記入力文書画像の特徴の中から前記処理対象文書画像の特徴と最も類似している前記入力文書画像の特徴を選択し、選択した前記入力文書画像の特徴と組になっている一の文字認識クラウドAPIを選択し、選択した一の文字認識クラウドAPIに前記処理対象文書画像を送信し、一の文字認識クラウドAPIから文字認識結果を受信し、受信した文字認識結果を前記ユーザ端末に送信し、
前記ユーザ端末は、前記センタサーバから文字認識結果を受信した際に、ユーザが入力した前記処理対象文書画像に含まれる正解文字列を前記センタサーバに出力し、
前記センタサーバは、
前記ユーザ端末から前記正解文字列が入力された場合に、前記処理対象文書画像を各文字認識クラウドAPIに送信し、
各文字認識クラウドAPIからそれぞれ文字認識結果を受信し、
受信した文字認識結果の正解度に応じて前記選択データベースの各文字認識クラウドAPIと組となっている各入力文書画像の各特徴の更新、及び、入力文書画像の特徴と文字認識クラウドAPIの組の前記選択データベースへの追加のいずれか一方又は両方を行い、
前記センタサーバは、選択した一の文字認識クラウドAPIから受信した文字認識結果が正解で、且つ、選択した一の文字認識クラウドAPI以外の他の文字認識クラウドAPIから受信した文字認識結果に正解がない場合で、且つ、処理対象文書画像の特徴と、選択した一の文字認識クラウドAPIと組になっている入力文書画像の特徴との類似値が所定の閾値以上の場合には、
処理対象文書画像の特徴に基づいて選択した一の文字認識クラウドAPIと組になっている入力文書画像の特徴を更新すること、
を特徴とする文書画像認識システム。
【請求項6】
請求項
5に記載の文書画像認識システムであって、
前記センタサーバは、選択した一の文字認識クラウドAPIから受信した文字認識結果が正解で、且つ、選択した一の文字認識クラウドAPI以外の他の文字認識クラウドAPIから受信した文字認識結果に正解がない場合で、且つ、処理対象文書画像の特徴と、選択した一の文字認識クラウドAPIと組になっている入力文書画像の特徴との類似値が所定の閾値未満の場合には、
処理対象文書画像の特徴と選択した一の文字認識クラウドAPIとの組を選択データベースに追加すること、
を特徴とする文書画像認識システム。
【請求項7】
文書画像を取得するユーザ端末と、
前記ユーザ端末と通信回線で接続されたセンタサーバと、
前記センタサーバと通信回線で接続され、入力された文書画像の文字認識処理を行い、文字認識結果を出力する複数の文字認識クラウドAPIと、を含む文書画像認識システムであって、
前記センタサーバは、入力文書画像の特徴と、前記入力文書画像の文字認識処理を行った際に文字認識の正解率が複数の文字認識クラウドAPIの中で最大となる文字認識クラウドAPIとの組を格納した選択データベースを備え、
前記ユーザ端末は、取得した文書画像を処理対象文書画像として前記センタサーバに送信し、
前記センタサーバは、前記ユーザ端末から受信した前記処理対象文書画像から前記処理対象文書画像の特徴を抽出し、前記選択データベースに格納されている前記入力文書画像の特徴の中から前記処理対象文書画像の特徴と最も類似している前記入力文書画像の特徴を選択し、選択した前記入力文書画像の特徴と組になっている一の文字認識クラウドAPIを選択し、選択した一の文字認識クラウドAPIに前記処理対象文書画像を送信し、一の文字認識クラウドAPIから文字認識結果を受信し、受信した文字認識結果を前記ユーザ端末に送信し、
前記ユーザ端末は、前記センタサーバから文字認識結果を受信した際に、ユーザが入力した前記処理対象文書画像に含まれる正解文字列を前記センタサーバに出力し、
前記センタサーバは、
前記ユーザ端末から前記正解文字列が入力された場合に、前記処理対象文書画像を各文字認識クラウドAPIに送信し、
各文字認識クラウドAPIからそれぞれ文字認識結果を受信し、
受信した文字認識結果の正解度に応じて前記選択データベースの各文字認識クラウドAPIと組となっている各入力文書画像の各特徴の更新、及び、入力文書画像の特徴と文字認識クラウドAPIの組の前記選択データベースへの追加のいずれか一方又は両方を行い、
前記センタサーバは、選択した一の文字認識クラウドAPIから受信した文字認識結果が不正解で、且つ、選択した一の文字認識クラウドAPI以外の他の文字認識クラウドAPIから受信した文字認識結果の少なくとも1つが正解の場合で、且つ、処理対象文書画像の特徴と、他の文字認識クラウドAPIの内で文字認識結果が正解となった文字認識クラウドAPIと組になっている入力文書画像の特徴との類似値が所定の閾値以上の場合には、
処理対象文書画像の特徴に基づいて他の文字認識クラウドAPIの内で文字認識結果が正解となった文字認識クラウドAPIと組になっている入力文書画像の特徴を更新すること、
を特徴とする文書画像認識システム。
【請求項8】
請求項
7に記載の文書画像認識システムであって、
前記センタサーバは、選択した一の文字認識クラウドAPIから受信した文字認識結果が不正解で、且つ、選択した一の文字認識クラウドAPI以外の他の文字認識クラウドAPIから受信した文字認識結果の少なくとも1つが正解の場合で、且つ、処理対象文書画像の特徴と、他の文字認識クラウドAPIの内で文字認識結果が正解となった文字認識クラウドAPIと組になっている入力文書画像の特徴との類似値が所定の閾値未満の場合には、
処理対象文書画像の特徴と他の文字認識クラウドAPIの内で文字認識結果が正解となった文字認識クラウドAPIとの組を選択データベースに追加すること、
を特徴とする文書画像認識システム。
【請求項9】
文書画像を取得するユーザ端末と、
前記ユーザ端末と通信回線で接続されたセンタサーバと、
前記センタサーバと通信回線で接続され、入力された文書画像の文字認識処理を行い、文字認識結果を出力する複数の文字認識クラウドAPIと、を含む文書画像認識システムであって、
前記センタサーバは、入力文書画像の特徴と、前記入力文書画像の文字認識処理を行った際に文字認識の正解率が複数の文字認識クラウドAPIの中で最大となる文字認識クラウドAPIとの組を格納した選択データベースを備え、
前記ユーザ端末は、取得した文書画像を処理対象文書画像として前記センタサーバに送信し、
前記センタサーバは、前記ユーザ端末から受信した前記処理対象文書画像から前記処理対象文書画像の特徴を抽出し、前記選択データベースに格納されている前記入力文書画像の特徴の中から前記処理対象文書画像の特徴と最も類似している前記入力文書画像の特徴を選択し、選択した前記入力文書画像の特徴と組になっている一の文字認識クラウドAPIを選択し、選択した一の文字認識クラウドAPIに前記処理対象文書画像を送信し、一の文字認識クラウドAPIから文字認識結果を受信し、受信した文字認識結果を前記ユーザ端末に送信し、
前記ユーザ端末は、前記センタサーバから文字認識結果を受信した際に、ユーザが入力した前記処理対象文書画像に含まれる正解文字列を前記センタサーバに出力し、
前記センタサーバは、
前記ユーザ端末から前記正解文字列が入力された場合に、前記処理対象文書画像を各文字認識クラウドAPIに送信し、
各文字認識クラウドAPIからそれぞれ文字認識結果を受信し、
受信した文字認識結果の正解度に応じて前記選択データベースの各文字認識クラウドAPIと組となっている各入力文書画像の各特徴の更新、及び、入力文書画像の特徴と文字認識クラウドAPIの組の前記選択データベースへの追加のいずれか一方又は両方を行い、
前記センタサーバは、選択した一の文字認識クラウドAPIから受信した文字認識結果が不正解で、且つ、選択した一の文字認識クラウドAPI以外の他の文字認識クラウドAPIから受信した文字認識結果に1つも正解がなかった場合には、
入力文書画像の特徴と組として選択データベースに格納されている文字認識クラウドAPI以外の別の文字認識クラウドAPIに処理対象文書画像を送信し、別の文字認識クラウドAPIから受信した文字認識結果が正解の場合には、
処理対象文書画像の特徴と別の文字認識クラウドAPIとの組を選択データベースに追加すること、
を特徴とする文書画像認識システム。
【請求項10】
請求項
1から
9のいずれか1項に記載の文書画像認識システムにおいて、
文書画像の特徴は、文書画像の画素情報から算出される画像特徴量と、前記ユーザ端末で文書画像を取得した際の状況を示す画像属性と、学習機を用いて算出される学習特徴値と、の少なくとも1つを含むこと、
を特徴とする文書画像認識システム。
【請求項11】
請求項
10に記載の文書画像認識システムにおいて、
前記画像属性は、前記ユーザ端末で文書画像を取得する際に前記ユーザ端末で取得した情報で、文書画像の輝度、照度、取得場所、取得時間の少なくとも1つを含むこと、
を特徴とする文書画像認識システム。
【請求項12】
請求項
1から9のいずれか1項に記載の文書画像認識システムにおいて、
前記選択データベースに格納されている文字認識クラウドAPIは、含有文字列が既知の複数の設定用文書画像の特徴を抽出し、特徴が相互に類似する設定用文書画像をグルーピングし、設定用文書画像の各グループに含まれる複数の設定用文書画像の文字認識を行った際に文字認識の正解率が最大となる文字認識クラウドAPIであり、
文字認識クラウドAPIと組になっている入力文書画像の特徴は、設定用文書画像の各グループの特徴を代表する代表特徴であること、
を特徴とする文書画像認識システム。
【発明の詳細な説明】
【技術分野】
【0001】
文字認識クラウドAPIを利用した文書画像認識システムに関する。
【背景技術】
【0002】
クラウドサービスが提供する文字認識機能アプリケーションプログラムインターフェース(以下、文字認識クラウドAPIという)を利用する文書画像認識システムが知られている。このシステムでは、事前に用意した試験用画像を用いて複数の文字認識クラウドAPIの正解率や処理速度を評価して文字認識クラウドAPIを選定し、選定した文字認識クラウドAPIに文字認識処理を実行させる場合が多い(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
一方、文字認識クラウドAPIは文書画像の特徴により文字認識の正解率が異なる場合がある。このため、事前に文字認識クラウドAPIの評価の際に用いた試験用画像と異なる特徴を有する文書画像を入力した場合、事前評価と異なる文字認識クラウドAPIが最適となる場合がある。このため、文書画像認識システムの文字認識精度が低下する場合があった。
【0005】
そこで、本発明は、文字認識精度の高い文書画像認識システムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の文書画像認識システムは、文書画像を取得するユーザ端末と、前記ユーザ端末と通信回線で接続されたセンタサーバと、前記センタサーバと通信回線で接続され、入力された文書画像の文字認識処理を行い、文字認識結果を出力する複数の文字認識クラウドAPIと、を含む文書画像認識システムであって、前記センタサーバは、入力文書画像の特徴と、前記入力文書画像の文字認識処理を行った際に文字認識の正解率が複数の文字認識クラウドAPIの中で最大となる文字認識クラウドAPIとの組を格納した選択データベースを備え、前記ユーザ端末は、取得した文書画像を処理対象文書画像として前記センタサーバに送信し、前記センタサーバは、前記ユーザ端末から受信した前記処理対象文書画像から前記処理対象文書画像の特徴を抽出し、前記選択データベースに格納されている前記入力文書画像の特徴の中から前記処理対象文書画像の特徴と最も類似している前記入力文書画像の特徴を選択し、選択した前記入力文書画像の特徴と組になっている一の文字認識クラウドAPIを選択し、選択した一の文字認識クラウドAPIに前記処理対象文書画像を送信し、一の文字認識クラウドAPIから文字認識結果を受信し、受信した文字認識結果を前記ユーザ端末に送信し、前記ユーザ端末は、前記センタサーバから文字認識結果を受信した際に、ユーザが入力した前記処理対象文書画像に含まれる正解文字列を前記センタサーバに出力し、前記センタサーバは、前記ユーザ端末から前記正解文字列が入力された場合に、前記処理対象文書画像を各文字認識クラウドAPIに送信し、各文字認識クラウドAPIからそれぞれ文字認識結果を受信し、受信した文字認識結果の正解度に応じて前記選択データベースの各文字認識クラウドAPIと組となっている各入力文書画像の各特徴の更新、及び、入力文書画像の特徴と文字認識クラウドAPIの組の前記選択データベースへの追加のいずれか一方又は両方を行い、前記センタサーバは、選択した一の文字認識クラウドAPIから受信した文字認識結果が正解で、且つ、選択した一の文字認識クラウドAPI以外の他の文字認識クラウドAPIから受信した文字認識結果の少なくとも1つが正解の場合で、且つ、処理対象文書画像の特徴と、選択した一の文字認識クラウドAPIと組になっている入力文書画像の特徴との類似値が所定の閾値以上の場合には、処理対象文書画像の特徴に基づいて選択した一の文字認識クラウドAPIと組になっている入力文書画像の特徴を更新すること、を特徴とする。
【0007】
このように、ユーザ端末から受信した処理対象文書画像の文字認識処理に最適な文字認識クラウドAPIを選択し、その文字認識クラウドAPIに文字認識処理を行わせるので、文書画像認識システムの文字認識精度を向上させることができるとともに、選択データベースの最適化を図ることができ、文書画像認識システムの文字認識精度を向上させることができる。
【0011】
また、本発明に文書画像認識システムにおいて、前記センタサーバは、選択した一の文字認識クラウドAPIから受信した文字認識結果が正解で、且つ、他の文字認識クラウドAPIから受信した文字認識結果の少なくとも1つが正解の場合で、且つ、処理対象文書画像の特徴と、選択した一の文字認識クラウドAPIと組になっている入力文書画像の特徴との類似値が所定の閾値未満の場合には、処理対象文書画像の特徴と選択した一の文字認識クラウドAPIとの組を選択データベースに追加してもよい。
【0012】
また、本発明の文書画像認識システムにおいて、前記センタサーバは、選択した一の文字認識クラウドAPIから受信した文字認識結果が正解で、且つ、選択した一の文字認識クラウドAPI以外の他の文字認識クラウドAPIから受信した文字認識結果の少なくとも1つが正解の場合で、且つ、処理対象文書画像の特徴と、他の文字認識クラウドAPIの内で文字認識結果が正解となった文字認識クラウドAPIと組になっている入力文書画像の特徴との類似値が所定の閾値以上の場合には、処理対象文書画像の特徴に基づいて他の文字認識クラウドAPIの内で文字認識結果が正解となった文字認識クラウドAPIと組になっている入力文書画像の特徴を更新してもよい。
【0013】
また、本発明の文書画像認識システムにおいて、前記センタサーバは、選択した一の文字認識クラウドAPIから受信した文字認識結果が正解で、且つ、他の文字認識クラウドAPIから受信した文字認識結果の少なくとも1つが正解の場合で、且つ、処理対象文書画像の特徴と、他の文字認識クラウドAPIの内で文字認識結果が正解となった文字認識クラウドAPIと組になっている入力文書画像の特徴との類似値が所定の閾値未満の場合には、処理対象文書画像の特徴と他の文字認識クラウドAPIの内で文字認識結果が正解となった文字認識クラウドAPIとの組を選択データベースに追加してもよい。
【0014】
また、本発明の文書画像認識システムにおいて、前記センタサーバは、選択した一の文字認識クラウドAPIから受信した文字認識結果が正解で、且つ、選択した一の文字認識クラウドAPI以外の他の文字認識クラウドAPIから受信した文字認識結果に正解がない場合で、且つ、処理対象文書画像の特徴と、選択した一の文字認識クラウドAPIと組になっている入力文書画像の特徴との類似値が所定の閾値以上の場合には、処理対象文書画像の特徴に基づいて選択した一の文字認識クラウドAPIと組になっている入力文書画像の特徴を更新してもよい。
【0015】
また、本発明の文書画像認識システムにおいて、前記センタサーバは、選択した一の文字認識クラウドAPIから受信した文字認識結果が正解で、且つ、選択した一の文字認識クラウドAPI以外の他の文字認識クラウドAPIから受信した文字認識結果に正解がない場合で、且つ、処理対象文書画像の特徴と、選択した一の文字認識クラウドAPIと組になっている入力文書画像の特徴との類似値が所定の閾値未満の場合には、処理対象文書画像の特徴と選択した一の文字認識クラウドAPIとの組を選択データベースに追加してもよい。
【0016】
また、本発明の文書画像認識システムにおいて、前記センタサーバは、選択した一の文字認識クラウドAPIから受信した文字認識結果が不正解で、且つ、選択した一の文字認識クラウドAPI以外の他の文字認識クラウドAPIから受信した文字認識結果の少なくとも1つが正解の場合で、且つ、処理対象文書画像の特徴と、他の文字認識クラウドAPIの内で文字認識結果が正解となった文字認識クラウドAPIと組になっている入力文書画像の特徴との類似値が所定の閾値以上の場合には、処理対象文書画像の特徴に基づいて他の文字認識クラウドAPIの内で文字認識結果が正解となった文字認識クラウドAPIと組になっている入力文書画像の特徴を更新してもよい。
【0017】
また、本発明の文書画像認識システムにおいて、前記センタサーバは、選択した一の文字認識クラウドAPIから受信した文字認識結果が不正解で、且つ、選択した一の文字認識クラウドAPI以外の他の文字認識クラウドAPIから受信した文字認識結果の少なくとも1つが正解の場合で、且つ、処理対象文書画像の特徴と、他の文字認識クラウドAPIの内で文字認識結果が正解となった文字認識クラウドAPIと組になっている入力文書画像の特徴との類似値が所定の閾値未満の場合には、処理対象文書画像の特徴と他の文字認識クラウドAPIの内で文字認識結果が正解となった文字認識クラウドAPIとの組を選択データベースに追加してもよい。
【0018】
また、本発明の文書画像認識システムにおいて、前記センタサーバは、選択した一の文字認識クラウドAPIから受信した文字認識結果が不正解で、且つ、選択した一の文字認識クラウドAPI以外の他の文字認識クラウドAPIから受信した文字認識結果に1つも正解がなかった場合には、入力文書画像の特徴と組として選択データベースに格納されている文字認識クラウドAPI以外の別の文字認識クラウドAPIに処理対象文書画像を送信し、別の文字認識クラウドAPIから受信した文字認識結果が正解の場合には、処理対象文書画像の特徴と別の文字認識クラウドAPIとの組を選択データベースに追加してもよい。
【0019】
また、本発明の文書画像認識システムにおいて、文書画像の特徴は、文書画像の画素情報から算出される画像特徴量と、前記ユーザ端末で文書画像を取得した際の状況を示す画像属性と、学習機を用いて算出される学習特徴値と、の少なくとも1つを含んでもよい。
【0020】
また、本発明の文書画像認識システムにおいて、前記画像属性は、前記ユーザ端末で文書画像を取得する際に前記ユーザ端末で取得した情報で、文書画像の輝度、照度、取得場所、取得時間の少なくとも1つを含んでもよい。
【0021】
また、本発明の文書画像認識システムにおいて、前記選択データベースに格納されている文字認識クラウドAPIは、含有文字列が既知の複数の設定用文書画像の特徴を抽出し、特徴が相互に類似する設定用文書画像をグルーピングし、設定用文書画像の各グループに含まれる複数の設定用文書画像の文字認識を行った際に文字認識の正解率が最大となる文字認識クラウドAPIであり、文字認識クラウドAPIと組になっている入力文書画像の特徴は、設定用文書画像の各グループの特徴を代表する代表特徴としてもよい。
【発明の効果】
【0022】
本発明は、文字認識精度の高い文書画像認識システムを提供することができる。
【図面の簡単な説明】
【0023】
【
図1】実施形態の文書画像認識システムの構成を示す系統図である。
【
図2】汎用コンピュータの構成を示す系統図である。
【
図3】実施形態の文書画像認識システムの選択データベース設定動作の前半部分を示すフローチャートである。
【
図4】実施形態の文書画像認識システムの選択データベース設定動作の後半部分を示すフローチャートである。
【
図5】選択データベース設定動作における設定用文書画像の特徴の抽出を示す説明図である。
【
図6】選択データベース設定動作における画像特徴データセットの分類と、設定用文書画像のグルーピングとを示す説明図である。
【
図7】選択データベース設定動作における文字認識クラウドAPIの正解率の算出と、正解率が最も高い文字認識クラウドAPIの抽出とを示す説明図である。
【
図8】選択データベース設定動作における代表画像特徴データセットの生成を示す説明図である。
【
図9】代表画像特徴データセットと文字認識クラウドAPIとの組と、代表画像特徴データセットと設定用文書画像グループとの対応を示す説明図である。
【
図10】選択データベースの構造を示す説明図である。
【
図11】実施形態の文書画像認識システムの文字認識動作を示すフローチャートである。
【
図12】文字認識動作における処理対象文書画像の特徴の抽出を示す説明図である。
【
図13】文字認識動作における文字認識クラウドAPIの選択を示す説明図である。
【
図14】ユーザ端末から処理対象文書画像の正解文字列の入力があった場合の選択データベース更新動作を示すフローチャートである。
【
図15】
図14に示す結合子2の場合の処理を示すフローチャートである。
【
図16】
図14に示す結合子3の場合の処理を示すフローチャートである。
【
図17】
図14に示す結合子4の場合の処理を示すフローチャートである。
【
図18】
図17に示す結合子5の場合の処理を示すフローチャートである。
【
図19】ユーザ端末から処理対象文書画像の正解文字列の入力があった場合の選択データベース更新動作を示す説明図である。
【発明を実施するための形態】
【0024】
以下、図面を参照しながら実施形態の文書画像認識システム100について説明する。以下の説明では、文字認識クラウドAPIをクラウドAPI31、又は、クラウドAPI32として説明する。
図1に示すように、文書画像認識システム100は、ユーザ端末10と、センタサーバ20と、複数のクラウドAPI31を含むクラウドAPI群30とで構成されている。ユーザ端末10は文書画像を取得してセンタサーバ20に送信する。センタサーバ20はクラウドAPI群30の中から選択したクラウドAPI31に文書画像を送信し、クラウドAPI31から文字認識結果を受信し、ユーザ端末10に送信する。ユーザ端末10は、センタサーバ20から受信した文字認識結果を表示する。以下の説明では、複数のクラウドAPI31を区別しない場合には、符号31を用い、各クラウドAPI31を区別する場合には、符号31の後にアルファベットを括弧付けで付記し、クラウドAPI31(A)~クラウドAPI31(M)のように表記する。
【0025】
ユーザ端末10は、カメラ付きスマートフォン、或いはカメラ付きタブレット端末で構成され、インターネット、電話回線等の通信回線によってセンタサーバ20と接続されている。ユーザ端末10は、文書画像取得部11と、文字列表示部12と、正解文字列入力部13の3つの機能ブロックを含んでいる。ユーザ端末10は、文書画像取得部11で撮像等により文書画像を取得し、取得した文書画像を処理対象文書画像80(
図12参照)としてセンタサーバ20に送信する。また、ユーザ端末10は、センタサーバ20から処理対象文書画像80の文字認識結果を受信して、文字列表示部12に表示する。ユーザ端末10の正解文字列入力部13は、文字列表示部12に表示された文字列が正しい文字列である場合にはユーザの承認入力を受け付け、正しくない文字列の場合には、ユーザの正解文字列の入力を受け付ける。
【0026】
ユーザ端末10の文書画像取得部11はユーザ端末10に取付けられているカメラによって実現される。また、文字列表示部12は、スマートフォン又はタブレット端末の画面によって実現される。また、正解文字列入力部13は、スマートフォン又はタブレット端末の画面に表示されるアイコンやタッチキー又はキーボード等の入力装置と文字変換機能、或いは、音声入力機能によって実現される。
【0027】
センタサーバ20は、ユーザ端末10と通信回線で接続されると共に、クラウドAPI群30に含まれる各クラウドAPI31とインターネットや電話回線等の通信回線で接続されている。センタサーバ20は、文字認識処理部21と、選択データベース24と、選択データベース更新部25の3つの機能ブロックを備えている。また、文字認識処理部21は、内部にデータ送受信部22と、クラウドAPI選択部23の2つの機能ブロックを含んでいる。
【0028】
データ送受信部22は、ユーザ端末10から処理対象文書画像80を受信し、受信した処理対象文書画像80をクラウドAPI選択部23が選択した一のクラウドAPI31に送信する。また、データ送受信部22は、選択した一のクラウドAPI31から文字認識結果を受信し、受信した文字認識結果をユーザ端末10に送信する。クラウドAPI選択部23は、選択データベース24を参照しながら処理対象文書画像80の特徴に基づいて文字認識に最適なクラウドAPI31を選択し、選択した結果をデータ送受信部22に出力する。ここで、選択データベース24は、入力文書画像の特徴と、入力文書画像の文字認識処理を行った際に文字認識の正解率が複数のクラウドAPI31の中で最大となるクラウドAPI31との組を格納したデータベースである。なお、クラウドAPI選択部23の動作の詳細は後で説明する。
【0029】
選択データベース更新部25は、ユーザ端末10から処理対象文書画像80の正解文字列が入力された際に、処理対象文書画像80をクラウドAPI群30の各クラウドAPI31に送信し、各クラウドAPI31から文字認識結果を受信し、文字認識結果の正解或いは不正解の度合いである正解度に応じて選択データベース24の内容を更新する。選択データベース更新部25の動作については後で詳細に説明する。
【0030】
センタサーバ20の各機能ブロックは、
図2に示すような汎用コンピュータ150によって実現することができる。
図2に示すように、汎用コンピュータ150は、情報処理を行うプロセッサであるCPU151と、情報処理の際にデータを一時的に記憶するROM152、RAM153と、プログラムやユーザのデータ等を格納するハードディスクドライブ(HDD)154と、入力手段として設けられたマウス155と、キーボード156、及び表示装置として設けられたディスプレイ157とを含んでいる。CPU151とROM152とRAM153とHDD154とはデータバス160によって接続されている。また、マウス155とキーボード156とディスプレイ157とは入出力コントローラ158を介してデータバス160に接続されている。また、データバス160には通信手段として設けられたネットワークコントローラ159が接続されている。
【0031】
センタサーバ20のデータ送受信部22、クラウドAPI選択部23、選択データベース更新部25は、
図2に示す汎用コンピュータ150のハードウェアとCPU151で動作するプログラムとの協調動作により実現される。選択データベース24は、
図2に示す汎用コンピュータ150のHDD154に入力文書画像の特徴とクラウドAPI31との組を格納することにより実現される。なお、HDD154に代えて、外部の記憶手段をネットワーク経由で利用することによって実現してもよい。
【0032】
複数のクラウドAPI31は、クラウドサービスが提供する文字認識機能アプリケーションプログラムインターフェース(文字認識クラウドAPI)である。各クラウドAPI31は、外部から入力された文書画像の文字認識処理を行い、文字認識結果を外部に出力する。各クラウドAPI31は、センタサーバ20とインターネット、電話回線等の通信回線で接続されている。
【0033】
次に、
図3から
図10を参照しながら、選択データベース24の設定動作の一例について説明する。なお、以下の説明では、複数の設定用文書画像50、複数の画像特徴データセット51、複数の画像特徴データセットグループ55、複数の設定用文書画像グループ60、複数の代表画像特徴データセット70、を区別しない場合には各符号50,51,55,60,70を用いる。また、複数のそれぞれを区別する場合には、符号の後に括弧付けで番号を(1)、(2)、(J)のように付記して表記する。
【0034】
まず、
図3のステップS101、
図5に示すように、選択データベース24の設定に使用する設定用文書画像50をN個準備する。設定用文書画像50は、画像の中に含まれている含有文字列が既知の文書画像である。
【0035】
次に、
図3のステップS102、
図5に示すように、N個の設定用文書画像50をセンタサーバ20に入力する。センタサーバ20のプロセッサは、各設定用文書画像50の画像の特徴を抽出する。画像の特徴は
図5に示すように、画像の特徴を示す複数のパラメータと、各パラメータのデータとで構成される画像特徴データセット51として抽出される。画像特徴データセット51のパラメータは、文書画像の画素情報から算出される複数の画像特徴量と、ユーザ端末10で文書画像を取得した際の状況を示す複数の画像属性と、学習機を用いて算出される学習特徴値とで構成されている。なお、画像特徴データセット51は、画像特徴量と画像属性と学習特徴値とを全て含まなくてもよく、これらの内の少なくとも1つを含んでいればよい。
【0036】
画像特徴量としては、様々なパラメータを用いることができるが、例えば、外部余白率、内部余白率、色度分布率、彩度分布率、色収差分布率、フォーマット化率等を用いてもよい。ここで、外部余白率は、外周の余白面積が文書画像の面積に対して何%を占めるかを示す指標である。内部余白率は、外周の余白を除いた文書画像内の白色部分が何%を占めるかを示す指標である。色度分布率は、カラフルな部分の分布状況を示す指標である。彩度分布率は、色度分布率と同様、カラフルな部分の分布状況を示す指標である。色収差分布率は、画像のズレやにじみ、ボケの分布状況を示す指数である。フォーマット化率は、文字が規則的にならんでいることを数値化した指標である。
【0037】
画像属性は、例えば、ユーザ端末10のカメラで文書画像を撮像した際の、文書画像の輝度、照度や、取得場所、取得時間である。また、学習特徴値は、例えば、畳み込みニューラルネットワーク(CNN)を用いて抽出した特徴値等である。
【0038】
次に、
図3のステップS103、
図6に示すように、センタサーバ20のプロセッサは、
図3のステップS102で抽出したN個の画像特徴データセット51(1)~51(N)を相互の類似値が所定の閾値以上になるK個の画像特徴データセットグループ55(1)~55(K)に分類する。
図6に示すように、各画像特徴データセットグループ55には、それぞれ複数の画像特徴データセット51が含まれる。例えば、画像特徴データセットグループ55(1)には、画像特徴データセット51(1),51(4),・・・51(N-1)が含まれており、画像特徴データセットグループ55(K)には、画像特徴データセット51(2),51(3),・・・51(N)が含まれている。ここで、類似値は、相互の類似性を示す数値であり、一致する場合が1.0で全く類似しない場合には0である。所定の閾値は自由に決めることができるが、例えば、0.7~0.9程度としてもよい。また、高めの閾値で分類を行い、うまく分類できない場合には、閾値を順次低くして分類を行うようにしてもよい。
【0039】
また、センタサーバ20のプロセッサは、
図3のステップS104で、
図6に示すように、各画像特徴データセットグループ55にそれぞれ含まれる複数の画像特徴データセット51に対応する各設定用文書画像50をグループにしたK個の設定用文書画像グループ60を生成する。例えば、画像特徴データセットグループ55(1)に含まれる画像特徴データセット51(1),51(4),・・・51(N-1)にそれぞれ対応する設定用文書画像50(1),50(4),・・・50(N-1)をグルーピングして設定用文書画像グループ60(1)を生成する。また、画像特徴データセットグループ55(K)に含まれる画像特徴データセット51(2),51(3),・・・51(N)にそれぞれ対応する設定用文書画像50(2),50(3),・・・50(N)をグルーピングして設定用文書画像グループ60(K)を生成する。
【0040】
次に、
図4のステップS105に示すように、センタサーバ20のプロセッサは、カウンタJに初期値の1をセットする。そして、
図4のステップS106に進んで
図7に示すように設定用文書画像グループ60(J)に含まれる各設定用文書画像をM個のクラウドAPI31に送信する。そして、センタサーバ20は、
図4のステップS107に示すように、M個のクラウドAPI31(A)~31(M)からそれぞれ文字認識結果を受信する。
【0041】
センタサーバ20のプロセッサは、
図4のステップS108において、一のクラウドAPI31(A)から受信した設定用文書画像グループ60(J)に含まれる複数の設定用文書画像50の文字認識結果と各設定用文書画像50の既知の含有文字列とを比較して、文字認識結果と既知の含有文字列とが完全に一致した場合を正解、完全に一致しなかった場合を不正解とする。そして、センタサーバ20のプロセッサは、正解となった設定用文書画像50の数をカウントする。
【0042】
そして、センタサーバ20のプロセッサは、
図4のステップS109において、正解数を設定用文書画像グループ60(J)に含まれる設定用文書画像50の全数で割って、クラウドAPI31(A)に設定用文書画像グループ60(J)の複数の設定用文書画像50を文字認識させた場合の正解率を算出する。
【0043】
同様に、センタサーバ20のプロセッサは、他のクラウドAPI31(B)~API31(M)から受信した設定用文書画像グループ60(J)に含まれる複数の設定用文書画像50の文字認識結果と各設定用文書画像50の既知の含有文字列とを比較して、クラウドAPI31(B)~クラウドAPI31(M)に設定用文書画像グループ60(J)の複数の設定用文書画像50を文字認識させた場合の正解率をそれぞれ算出する。
【0044】
そして、センタサーバ20のプロセッサは、
図4のステップS110において、ステップS109で算出した正解率が最も高いクラウドAPI31(A)を抽出する。
【0045】
次に、センタサーバ20のプロセッサは、
図4のステップS111において、
図8に示すように、1つの画像特徴データセットグループ55(J)の各パラメータの代表値を各パラメータの各データとする代表画像特徴データセット70(J)を生成する。
図8に示すように、画像特徴データセットグループ55(1)には、画像特徴データセット51(1),51(4),・・・51(N-1)が含まれている。同様に画像特徴データセット51(4)も、画像特徴量(1)、画像特徴量(2)、画像属性(1)、画像属性(2)、学習特徴値等の各パラメータの各データが格納されている。センタサーバ20のプロセッサは、各パラメータのデータの代表値を代表画像特徴データセット70(J)の対するパラメータのデータに格納する。代表値は、例えば、平均値、中央値等を用いてもよい。平均値を用いる場合、画像特徴量(1)の代表値は画像特徴データセット51(1)の画像特徴量(1)から画像特徴データセット51(N-1)の画像特徴量(1)までの平均値となる。また、画像属性(1)では各画像特徴データセット51の各画像属性(1)を包含する上位概念の用語を代表値としてもよい。また、ユーザ端末10で文書画像を撮像した際の場所を画像属性(1)としている場合には、経緯度の平均値、或いは中央値を代表値としてもよい。
【0046】
図9に示すように、代表画像特徴データセット70(J)は、複数の設定用文書画像50を含む設定用文書画像グループ60(J)の画像の特徴を代表する代表特徴である。
【0047】
図3のステップS103の分類の際の閾値を0.7~0.9程度とした場合、生成した代表画像特徴データセット70(J)は、画像特徴データセットグループ55(J)に含まれる複数の画像特徴データセット51との類似値は、閾値と同様の0.7~0.9程度になる。従って、設定用文書画像グループ60(J)に含まれる複数の設定用文書画像50を文字認識させた場合の正解率が最も高くなるクラウドAPI31(A)は、その代表画像特徴データセット70に類似する画像特徴データセット51を有する文書画像の文字認識を行った際に最も高い正解率となるクラウドAPI31となる。
【0048】
センタサーバ20のプロセッサは、
図4のステップS112において、ステップS111で生成した代表画像特徴データセット70(J)と
図4のステップS110で抽出した正解率が最も高いクラウドAPI31(A)とを組にして選択データベース24に格納する。
【0049】
センタサーバ20のプロセッサは、
図4のステップS113でカウンタJを1だけインクレメントして
図4のステップS114でカウンタJが画像特徴データセットグループ55の数、或いは、設定用文書画像グループ60の数であるKを越えたかどうか判断する。そして、
図4のステップS114でNOと判断した場合には、
図4のステップS106に戻る。
【0050】
そして、センタサーバ20のプロセッサは、
図4のステップS106からステップS112を繰り返し実行し、
図10に示すように、K個の代表画像特徴データセット70と、その代表画像特徴データセット70に類似する画像特徴データセット51を有する文書画像の文字認識を行った際に最も高い正解率となるクラウドAPI31との組をK組生成して選択データベース24に格納する。なお、1つのクラウドAPI31が複数の代表画像特徴データセット70と組になっていてもよい。
【0051】
そして、センタサーバ20のプロセッサは、
図4のステップS114でYESと判断したら、選択データベース24の設定動作を終了する。
【0052】
なお、以上説した選択データベース24の設定動作は一例であって、他の動作によって選択データベース24を設定してもよい。
【0053】
次に
図1及び
図11から
図13を参照して文書画像認識システム100を用いた文字認識動作について説明する。
【0054】
図1に示すように、ユーザがユーザ端末10によって取得した文書画像をセンタサーバ20に処理対象文書画像80として送信すると、
図11のステップS201に示すように、センタサーバ20のデータ送受信部22は、処理対象文書画像80を受信する。データ送受信部22は、受信した処理対象文書画像80をクラウドAPI選択部23に出力する。
【0055】
図11のステップS202、
図12に示すように、クラウドAPI選択部23は、先に選択データベース設定動作で説明したと同様、処理対象文書画像80の特徴を抽出して処理対象文書画像80の画像特徴データセット81を生成する。
【0056】
次に、クラウドAPI選択部23は、
図11のステップS203、
図13に示すように、選択データベース24に格納されている複数の代表画像特徴データセット70との各類似値を算出する。そして、類似値が最大の代表画像特徴データセット70(1)を選択する。最大の類似値は、処理対象文書画像80の画像特徴データセット81によって異なるが、画像特徴データセット81が選択データベース24の設定の際に用いた設定用文書画像50の特徴に近いものである場合には、例えば、0.8或いは、0.7ように高くなる。一方、画像特徴データセット81が選択データベース24の設定の際に用いた設定用文書画像50の特徴から離れたものである場合には0.2から0.3程度のように低くなる。
【0057】
そして、クラウドAPI選択部23は、
図11のステップS204において、ステップS203で選択した代表画像特徴データセット70(1)と組になっているクラウドAPI31(A)を選択してデータ送受信部22に出力する。
【0058】
データ送受信部22は、
図11のステップS205に示すようにクラウドAPI選択部23から入力された選択されたクラウドAPI31(A)に処理対象文書画像80を送信する。そして、データ送受信部22は、
図11のステップS206において、クラウドAPI31(A)から文字認識結果を受信する。
【0059】
そして、データ送受信部22は、クラウドAPI31(A)から受信した文字認識結果をユーザ端末10に送信する。
【0060】
図1に示すように、ユーザ端末10は、センタサーバ20のデータ送受信部22から送信された文字認識結果の文字列を文字列表示部12に表示する。
【0061】
以上説明したように、実施形態の文書画像認識システム100は、ユーザ端末10から受信した処理対象文書画像80の文字認識処理に最適なクラウドAPI31を選択し、そのクラウドAPI31に文字認識処理を行わせるので、高い精度で文字認識処理を行うことができる。
【0062】
次に、
図14から
図19を参照しながら、選択データベース24の更新動作について説明する。
【0063】
先に説明したように、クラウドAPI選択部23は、処理対象文書画像80の画像特徴データセット81と選択データベース24に格納されている複数の代表画像特徴データセット70との各類似値を算出し、類似値が最大の代表画像特徴データセット70を選択する。しかし、最大の類似値は、画像特徴データセット81が選択データベース24の設定の際に用いた設定用文書画像50の特徴に近いものである場合には、例えば、0.8或いは、0.7ように高くなる。一方、画像特徴データセット81が選択データベース24の設定の際に用いた設定用文書画像50の特徴から離れたものである場合には0.2から0.3程度のように低くなる。このため、類似値が最大となる代表画像特徴データセット70を選択し、それと組になっているクラウドAPI31を用いて文字認識処理を行った場合でも、文字認識結果が正解とならない可能性がある。そこで、処理対象文書画像80の画像特徴データセット81と選択データベース24に格納されている代表画像特徴データセット70との類似値ができるだけ高くなるように選択データベース24を更新していくことが必要となる。
【0064】
選択データベース24の更新は、ユーザ端末10がセンタサーバ20から文字認識結果を受信して文字列表示部12に文字認識結果の文字列を表示し、これを見たユーザが処理対象文書画像80に含まれる正解文字列を正解文字列入力部13に入力することにより開始される。正解文字列が入力されると、ユーザ端末10は、正解文字列をセンタサーバ20に送信する。センタサーバ20は、処理対象文書画像80を各クラウドAPI31に送信し、受信した文字認識結果の正解或いは不正解の度合いである正解度に応じて選択データベース24の更新を行う。以下、詳細に説明する。なお、以下の説明では、正解とは受信した文字認識結果の文字列が全て正しい場合をいい、受信した文字認識結果の文字列に1つでも正しくない文字が含まれている場合には不正解として説明する。また、以下の説明では、文字認識動作において、クラウドAPI31(A)が選択されたものとして説明する。
【0065】
図1に示すように、ユーザは、ユーザ端末10の文字列表示部12に表示された文字認識結果の文字列を確認する。この際、ユーザ端末10の画面には承認アイコンと文字入力エリアとが表示されている。承認アイコンと文字入力エリアとは正解文字列入力部13を構成する。
【0066】
ユーザは、文字列表示部12に表示された文字認識結果が正しい文字列であれば、ユーザ端末10の画面に表示されている承認アイコンを押す。すると、ユーザ端末10は、
図11のステップS207でセンタサーバ20から送信された文字認識結果を正解文字列としてセンタサーバ20の選択データベース更新部25に送信する。一方、ユーザが文字列表示部12に表示された文字列を確認した結果、文字認識結果が正しい文字列ではないと判断した場合、ユーザは、ユーザ端末10の画面に表示されている文字入力エリアに処理対象文書画像80の正解文字列を入力する。ユーザ端末10は、文字入力エリアに正解文字列が入力された場合には、入力された正解文字列をセンタサーバ20の選択データベース更新部25に送信する。なお、ユーザは、承認入力、或いは正解文字列の入力を音声入力してもよい。この際、音声入力機能は正解文字列入力部13を構成する。
【0067】
図14のステップS301に示すように、センタサーバ20の選択データベース更新部25は、ユーザ端末10から処理対象文書画像80の正解文字列の入力があるまで待機し、正解文字列の入力があったら
図14のステップS302に進んで、
図19に示すように、処理対象文書画像80をM個のクラウドAPI31(A)~31(M)全てに送信する。そして、
図14のステップS303に示すように、選択データベース更新部25は、M個のクラウドAPI31(A)~31(M)から文字認識結果を受信する。
【0068】
図14のステップS304、
図19に示すように、選択データベース更新部25は、先の文字認識動作でクラウドAPI選択部23が選択したクラウドAPI31(A)から受信した文字認識結果と正解文字列とを対比し、選択したクラウドAPI31(A)の文字認識結果が正解の場合には、
図14のステップS305に進む。
【0069】
選択データベース更新部25は、
図14のステップS305で先に選択したクラウドAPI31(A)以外の他のクラウドAPI31(B)~31(M)から受信した文字認識結果と正解文字列とを対比し、他のクラウドAPI31(B)~31(M)から受信した文字認識結果の少なくとも1つに正解がある場合には、
図15のステップS306に進む。
【0070】
選択データベース更新部25は、
図15のステップS306で、
図12に示す処理対象文書画像80の画像特徴データセット81と先に選択したクラウドAPI31(A)と組になっている
図13に示す代表画像特徴データセット70(1)との類似値が所定の閾値以上かどうか判断する。ここで、所定の閾値は自由に選択できるが、例えば、0.8或いは0.7程度に設定してもよい。
【0071】
選択データベース更新部25は、
図15のステップS306でYESと判断した場合には、
図15のステップS307に進んで処理対象文書画像80の画像特徴データセット81に基づいて先に選択したクラウドAPI31(A)と組になっている代表画像特徴データセット70(1)を更新する。更新は、例えば、代表画像特徴データセット70(1)の各パラメータの各データと処理対象文書画像80の画像特徴データセット81各パラメータの各データの差に重みをつけた量だけ代表画像特徴データセット70(1)の各パラメータの各データを増減させてもよい。また、代表画像特徴データセット70(1)の各パラメータの各データを処理対象文書画像80の画像特徴データセット81各パラメータの各データに置き換えてもよい。
【0072】
また、選択データベース更新部25は、
図15のステップS306でNOと判断した場合には、
図15のステップS308に進んで処理対象文書画像80の画像特徴データセット81と先に選択した一のクラウドAPI31(A)との組を選択データベース24に追加する。ただし、選択データベース24の中に、上記の組が存在する場合には、組の追加は行わない。
【0073】
選択データベース更新部25は、
図15のステップS307又はステップS308の処理を終了したら
図15のステップS309に進み、処理対象文書画像80の画像特徴データセット81と他のクラウドAPI31の内で
図14のステップS305で文字認識結果が正解とされたクラウドAPI31と組になっている代表画像特徴データセット70との類似値が所定の閾値以上か判断する。
【0074】
そして、選択データベース更新部25は、
図15のステップS309でYESと判断した場合には、
図15のステップS310に進んで、処理対象文書画像80の画像特徴データセット81に基づいて他のクラウドAPI31の内で文字認識結果が正解となったクラウドAPI31と組になっている代表画像特徴データセット70を更新する。更新は、先に説明したと同様、代表画像特徴データセット70の各パラメータの各データと処理対象文書画像80の画像特徴データセット81各パラメータの各データの差に重みをつけた量だけ代表画像特徴データセット70の各パラメータの各データを増減させてもよい。また、代表画像特徴データセット70の各パラメータの各データを処理対象文書画像80の画像特徴データセット81各パラメータの各データに置き換えてもよい。
【0075】
また、選択データベース更新部25は、
図15のステップS309でNOと判断した場合には、
図15のステップS311に進んで、処理対象文書画像80の画像特徴データセット81と他のクラウドAPI31の内で文字認識結果が正解となったクラウドAPI31との組を選択データベース24に追加する。なお、選択データベース24に上記の組が存在する場合には、組の追加は行わない。
【0076】
なお、
図14のステップS305で他のクラウドAPI31(B)~31(M)から受信した複数の文字認識結果が正解となった場合には、それぞれの他のクラウドAPI31について
図15のステップS309からS311の処理を行う。
【0077】
選択データベース更新部25は、
図15のステップS310又はS311の処理を終了したら更新動作を終了する。
【0078】
また、選択データベース更新部25は、
図14のステップS305でNOと判断した場合には、
図16のステップS401~S403の動作を実行する。
図16のステップS401~S403の動作は、
図15に示すステップS306~S308の動作と同一なので、説明は省略する。
【0079】
また、選択データベース更新部25は、
図14のステップS304でNOと判断した場合には、
図17のステップS501に進んで、他のクラウドAPI31(B)~31(M)の文字認識結果に正解があるかどうかを判断する。そして、選択データベース更新部25は、
図17のステップS501でYESと判断した場合には、
図17のステップS502~S504の動作を実行する。
図17のステップS502~S504の動作は、
図15に示すステップS309~S311の動作と同一なので、説明は省略する。
【0080】
選択データベース更新部25は、
図17のステップS501でNOと判断した場合には、
図18のステップS505に進んで、
図19に示すように、代表画像特徴データセット70と組として選択データベース24に格納されているクラウドAPI31以外の別のクラウドAPI32に処理対象文書画像80を送信する。そして、選択データベース更新部25は、
図18のステップS506に示すように、別のクラウドAPI32から文字認識結果を受信したら、ステップS507で受信した文字認識結果に正解があるかどうか確認する。そして、
図18のステップS507でYESと判断した場合には、選択データベース更新部25は、ステップS508に進んで処理対象文書画像80の画像特徴データセット81と別のクラウドAPI32との組を選択データベース24に追加する。
【0081】
以上説明した更新動作では、文字認識結果が正解となったクラウドAPI31と組になっている代表画像特徴データセット70を処理対象文書画像80の画像特徴データセット81に近づけていくので、処理対象文書画像80の画像特徴データセット81と選択データベース24に格納されている代表画像特徴データセット70との類似値が次第に高くなるように選択データベース24を更新していくことができる。また、文字認識結果に正解がなかった場合には、文字認識結果が正解となった別のクラウドAPI32と処理対象文書画像80の画像特徴データセット81とを組として選択データベース24に格納するので、正確に文字認識可能な範囲を広げていくことができる。
【0082】
これにより、実施形態の文書画像認識システム100の文字認識精度を向上させていくことができる。
【0083】
以上の説明では、正解とは受信した文字認識結果の文字列が全て正しい場合をいい、受信した文字認識結果の文字列に1つでも正しくない文字が含まれている場合には不正解として説明したが、これに限らない。例えば、受信した文字認識結果に含まれる全ての文字数の内の正解の文字数の割合が90%等、所定の閾値以上の場合には、正解とみなし、所定の閾値未満の場合を不正解として上記の更新動作を実行してもよい。
【符号の説明】
【0084】
10 ユーザ端末、11 文書画像取得部、12 文字列表示部、13 正解文字列入力部、20 センタサーバ、21 文字認識処理部、22 データ送受信部、23 クラウドAPI選択部、24 選択データベース、25 選択データベース更新部、30 クラウドAPI群、31,32 クラウドAPI、50 設定用文書画像、51,81 画像特徴データセット、55 画像特徴データセットグループ、60 設定用文書画像グループ、70 代表画像特徴データセット、80 処理対象文書画像、100 文書画像認識システム、150 汎用コンピュータ、151 CPU、152 ROM、153 RAM、154 HDD、155 マウス、156 キーボード、157 ディスプレイ、158 入出力コントローラ、159 ネットワークコントローラ、160 データバス。