(57)【要約】      （修正有）【課題】人間によって訂正された信頼性の高い訂正結果を用いて、質の良いＯＣＲ用学習用データを簡単に量産できる仕組みを提供する。【解決手段】文字間の境界情報に従って、文字列画像の中での文字の位置を特定する情報処理装置が、文字列画像と、当該文字列画像から文字認識で読み取られた結果の複数文字からユーザによる目視確認後に訂正された文字情報を対応づけたデータセットを記憶し、データセットから訂正された文字情報を取得する。訂正された文字情報を用いて、訂正された文字情報のデータセットとして対応づけられている文字列画像の中の複数文字間の境界を識別可能な情報を決定する。【選択図】図４
2020095430.tif 000002
【特許請求の範囲】
【請求項１】
文字間の境界情報に従って、文字列画像の中での文字の位置を特定する情報処理装置であって、
文字列画像と、当該文字列画像から文字認識で読み取られた結果の複数文字であり、当該複数文字がユーザによる目視確認後に訂正された文字情報を対応づけたデータセットを記憶する記憶手段と、
前記データセットから前記訂正された文字情報を取得する第１の取得手段と、
前記訂正された文字情報を用いて、前記訂正された文字情報のデータセットとして対応づけられている文字列画像の中の複数文字間の境界を識別可能な情報を決定する決定手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記ユーザによる目視確認後に、前記文字認識で読み取られた結果の複数文字の文字情報の訂正を受け付ける訂正受付手段と、
前記訂正を受け付けた文字情報を、前記文字認識で読み取られた結果の訂正を受け付けた文字列画像と対応づけたデータセットを登録するデータセット登録手段と、
を更に備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記データセットから文字列画像を取得する第２の取得手段と、
前記取得した文字列画像から、１文字の部分領域を単位とする１文字の断片及び前記断片の前記取得した文字列画像における位置情報を抽出する抽出手段と、
前記文字列画像における断片の位置情報に従って、前記抽出した複数の断片をクラスタリングするクラスタリング手段と、
を更に備え、
前記クラスタリング手段が、前記複数の断片をクラスタリングする数を前記訂正された文字情報の文字数に合わせるようすることを特徴とする請求項１または請求項２に記載の情報処理装置。
【請求項４】
前記クラスタリングした文字毎の矩形情報を、前記文字列画像における断片の位置情報を用いて算出して登録する矩形情報登録手段と、
を更に備えることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記クラスタリングした文字毎の矩形情報を、前記文字列画像における断片の位置情報を用いて算出して表示制御する表示制御手段と、
を更に備えることを特徴とする請求項３又は４に記載の情報処理装置。
【請求項６】
前記クラスタリングした複数文字間の境界情報を、前記文字列画像における断片の位置情報を用いて算出して登録する境界情報登録手段と、
を更に備えることを特徴とする請求項３に記載の情報処理装置。
【請求項７】
前記クラスタリングした複数文字間の境界情報を、前記文字列画像における断片の位置情報を用いて算出して表示制御する表示制御手段と、
を更に備えることを特徴とする請求項３又は６に記載の情報処理装置。
【請求項８】
前記データセットから文字列画像を取得する第２の取得手段と、
前記訂正された文字情報の文字列ラベルの画像を準備する準備手段と、
前記取得した文字列画像と前記準備された文字列ラベルの画像を用いてテンプレートマッチングをするテンプレートマッチング手段と、
を更に備え、
前記テンプレートマッチング手段が前記取得した文字列画像の中で文字毎の文字列ラベルの画像を用いてテンプレートマッチングできた領域を、前記決定手段が複数文字間の境界を識別可能な情報として決定することを特徴とする請求項１乃至請求項７の何れか１項に記載の情報処理装置。
【請求項９】
文字列画像と、当該文字列画像から文字認識で読み取られた結果の複数文字であり、当該複数文字がユーザによる目視確認後に訂正された文字情報を対応づけたデータセットを記憶する記憶手段を備え、文字間の境界情報に従って、文字列画像の中での文字の位置を特定する情報処理装置の制御方法であって、
前記情報処理装置の第１の取得手段が、前記データセットから前記訂正された文字情報を取得する第１の取得工程と、
前記情報処理装置の決定手段が、前記訂正された文字情報を用いて、前記訂正された文字情報のデータセットとして対応づけられている文字列画像の中の複数文字間の境界を識別可能な情報を決定する決定工程と、
を含むことを特徴とする制御方法。
【請求項１０】
文字間の境界情報に従って、文字列画像の中での文字の位置を特定する情報処理装置で読み取り実行可能なプログラムであって、
前記情報処理装置を、
文字列画像と、当該文字列画像から文字認識で読み取られた結果の複数文字であり、当該複数文字がユーザによる目視確認後に訂正された文字情報を対応づけたデータセットを記憶する記憶手段と、
前記データセットから前記訂正された文字情報を取得する第１の取得手段と、
前記訂正された文字情報を用いて、前記訂正された文字情報のデータセットとして対応づけられている文字列画像の中の複数文字間の境界を識別可能な情報を決定する決定手段と、
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字列画像の中の複数文字間の境界情報を決定する情報処理装置、その制御方法とプログラムの技術に関する。
【背景技術】
【０００２】
ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ）技術の中には、フリーピッチ枠を対象とした手書き文字の読み取りを行えるものがある。フリーピッチ枠とは、文字列を書くための枠のうち、文字と文字の間の境界情報が仕切りなどで事前に与えられていない枠を指す。
【０００３】
ＯＣＲがフリーピッチ枠に書かれた文字列画像を読み取るためには、画像中から文字と文字の間の境界情報を推定する必要がある。文字と文字の間の境界情報を表現するものは、たとえば、文字のｂｏｕｎｄｉｎｇ  ｂｏｘや、文字と文字の境界を示す水平方向の座標または垂直方向の直線を表現する座標などがある。
【０００４】
文字のｂｏｕｎｄｉｎｇ  ｂｏｘとは、１文字のおおよその外周を囲う長方形の情報を指す。以下では便宜上、文字のｂｏｕｎｄｉｎｇ  ｂｏｘをｂｂｏｘ、文字と文字の境界を示す水平方向の座標または垂直方向の直線を表現する座標を境界線情報と呼ぶ。
【０００５】
文字列画像からｂｂｏｘもしくは境界線情報を検出する技術はいくつか存在するがその中に、機械学習ベースの技術で実現するものがある。
【０００６】
これは、文字列画像中のｂｂｏｘもしくは境界線情報を学習した機械学習のモデルが、未知の文字列画像に対して、ｂｂｏｘもしくは境界線情報を推定するものである。しかし、機械学習ベースの技術を使用する大前提として、十分な量の学習データを用意する必要がある。
【０００７】
学習データの構成は、文字列画像と、画像中に何が書かれているかという情報を持つ文字列テキストと、そしてｂｂｏｘもしくは境界線情報の３つ組である。問題は、３つのうち、３つ目のｂｂｏｘもしくは境界線情報は、他の２つに比べて用意することが大変困難であることである。その理由は、人手で画像を見ながら、ｂｂｏｘもしくは境界線情報をラベル付けすることは非常に手間がかかるためである。
【０００８】
この問題を解決するアイディアの一つとして、まず機械がｂｂｏｘもしくは境界線情報を簡易的に推定し、人が機械の推定結果を確認・修正することで、ｂｂｏｘもしくは境界線情報の学習データを効率的に作成することが期待できる。
【０００９】
特許文献１には、文書画像解析用機械学習モデルのための学習データを作業者が効率よく作成するためのＵＩについて開示されている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特許第５４３７９３４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
特許文献１には、ピクセル単位の画像領域のラベリング作業を支援するためのレイアウト解析機能・およびＵＩが記載されている。特許文献１には、機械がまず自動的に文書の知覚的に意味のある要素に対応するピクセル群を推定し、人間の作業者が機械のラベル付けを確認・修正できる機能が備わっている。機械がまず結果を出すため、人間の作業者のラベル付けの作業量を減らすことは期待できるが、レイアウト解析技術では文字のｂｂｏｘ  もしくは境界線情報を推定することは難しい。
【００１２】
その理由は、想定する処理対象が異なるためである。すなわち、文章構造解析のアルゴリズムでは、用紙全体の画像から、文のまとまりや図表を各領域に区切ることを想定しているが、複数文字間の境界情報と言ったように、例えば１文字ごとの領域を複数文字間で区切ることは想定されていない。
【００１３】
このように、従来技術では、文字列画像と文字列のラベルと複数文字間の境界情報がデータセットになった質の良い学習用データを簡単に量産することが困難であった。
【００１４】
本願発明は、人間によって訂正された信頼性の高い訂正結果を用いて、質の良いＯＣＲ用学習用データを簡単に量産できる仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１５】
本願発明は、文字間の境界情報に従って、文字列画像の中での文字の位置を特定する情報処理装置であって、文字列画像と、当該文字列画像から文字認識で読み取られた結果の複数文字であり、当該複数文字がユーザによる目視確認後に訂正された文字情報を対応づけたデータセットを記憶する記憶手段と、前記データセットから前記訂正された文字情報を取得する第１の取得手段と、前記訂正された文字情報を用いて、前記訂正された文字情報のデータセットとして対応づけられている文字列画像の中の複数文字間の境界を識別可能な情報を決定する決定手段と、を備えることを特徴とする。
【００１６】
また、前記ユーザによる目視確認後に、前記文字認識で読み取られた結果の複数文字の文字情報の訂正を受け付ける訂正受付手段と、前記訂正を受け付けた文字情報を、前記文字認識で読み取られた結果の訂正を受け付けた文字列画像と対応づけたデータセットを登録するデータセット登録手段と、を更に備えることを特徴とする。
【００１７】
また、前記データセットから文字列画像を取得する第２の取得手段と、前記取得した文字列画像から、１文字の部分領域を単位とする１文字の断片及び前記断片の前記取得した文字列画像における位置情報を抽出する抽出手段と、前記文字列画像における断片の位置情報に従って、前記抽出した複数の断片をクラスタリングするクラスタリング手段と、を更に備え、前記クラスタリング手段が、前記複数の断片をクラスタリングする数を前記訂正された文字情報の文字数に合わせるようすることを特徴とする。
【００１８】
また、前記クラスタリングした文字毎の矩形情報を、前記文字列画像における断片の位置情報を用いて算出して登録する矩形情報登録手段と、を更に備えることを特徴とする。
【００１９】
また、前記クラスタリングした文字毎の矩形情報を、前記文字列画像における断片の位置情報を用いて算出して表示制御する表示制御手段と、を更に備えることを特徴とする。
【００２０】
また、前記クラスタリングした複数文字間の境界情報を、前記文字列画像における断片の位置情報を用いて算出して登録する境界情報登録手段と、を更に備えることを特徴とする。
【００２１】
また、前記クラスタリングした複数文字間の境界情報を、前記文字列画像における断片の位置情報を用いて算出して表示制御する表示制御手段と、を更に備えることを特徴とする。
【００２２】
また、前記データセットから文字列画像を取得する第２の取得手段と、前記訂正された文字情報の文字列ラベルの画像を準備する準備手段と、前記取得した文字列画像と前記準備された文字列ラベルの画像を用いてテンプレートマッチングをするテンプレートマッチング手段と、を更に備え、前記テンプレートマッチング手段が前記取得した文字列画像の中で文字毎の文字列ラベルの画像を用いてテンプレートマッチングできた領域を、前記決定手段が複数文字間の境界を識別可能な情報として決定することを特徴とする。
【発明の効果】
【００２３】
本願発明により、人間によって訂正された信頼性の高い訂正結果を用いて、質の良いＯＣＲ用学習用データを簡単に量産できる仕組みを提供することが可能となる。
【図面の簡単な説明】
【００２４】
【図１】画像解析システムの構成の一例を示すシステム構成図
【図２】ｂｂｏｘ推定を行う画像解析サーバに適用可能な情報処理装置の各機能を示す機能ブロック図
【図３】画像解析サーバ、ドキュメントスキャナ、データベースサーバ、クライアント端末に適用可能な情報処理装置のハードウェア構成を示すブロック図
【図４】ｂｂｏｘを推定する処理の一例を示すフローチャートである。
【図５】入力画像リストのデータテーブルの一例を示す図。
【図６】断片領域情報の矩形をクラスタリングした後の、ｂｂｏｘ矩形情報データテーブルの一例を示す図。
【図７】文字列画像を解析して、ｂｂｏｘを推定する処理の断片領域情報の抽出と、クラスタリングを可視化したイメージを示す図。
【図８】各文字とｂｂｏｘの矩形情報を対応づけた結果のデータテーブルの一例を示す図
【図９】断片領域情報の矩形を抽出した後の、断片領域情報データテーブルの一例を示す図
【図１０】複数の断片領域情報の矩形を、中点でクラスタリングする内部処理のイメージを示す図。
【図１１】境界線情報の推定を行う画像解析サーバに適用可能な情報処理装置の各機能を示す機能ブロック図。
【図１２】境界線情報を推定する処理の一例を示すフローチャートである。
【図１３】境界線情報データテーブルの一例を示す図。
【図１４】文字ラベルを用いるｂｂｏｘ推定の機能ブロック図。
【図１５】文字ラベルを用いるｂｂｏｘ推定のフローチャート図。
【図１６】文字テンプレートマッチングをする内部処理のイメージを示す図。
【図１７】文字ラベルを用いる境界線情報推定の機能ブロック図。
【図１８】文字ラベルを用いる境界線情報推定のフローチャート図。
【発明を実施するための形態】
【００２５】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【００２６】
図１は、本発明の画像解析システムの構成の一例を示すシステム構成図である。
【００２７】
画像解析システムは、画像解析サーバ（メイン処理サーバ）１００、ドキュメントスキャナ２００、データベースサーバ３００、クライアント端末１０１がインターネットを介して接続される構成となっている。
【００２８】
画像解析システムは、文字間の境界情報に従って、文字列画像の中での文字の位置を特定することができる。
【００２９】
画像解析サーバ１００は、受信した手書き文字等の文字列画像から、ｂｂｏｘ等の文字毎の矩形情報を推定し、データベースサーバ３００に登録する情報処理装置である。ネットワーク上に構築され無線又は有線のルータ等を介してインターネットに接続している。
【００３０】
クライアント端末１０１は、画像解析サーバ１００が推定したｂｂｏｘ等の文字単位の矩形情報の解析結果をユーザが確認するための情報処理装置である。
【００３１】
ネットワーク上に構築され無線又は有線のルータ等を介してインターネットに接続している。画像解析結果は専用アプリケーション画面で表示されてもよく、Ｗｅｂブラウザで表示されてもよい。またクライアント端末１０１は、モバイル型の機器でもよく、タブレット型の機器でもよい。
【００３２】
なお、画像解析サーバ１００を、Ｗｅｂアプリケーションサーバ上に構築してもよい。
【００３３】
なお、本実施例では、画像解析サーバ１００、ドキュメントスキャナ２００、データベースサーバ３００、クライアント端末１０１は別々のネットワーク上に構築し、インターネットを介して接続したが、同一のローカルエリアネットワーク上に構築するようにしてもよい。
【００３４】
ドキュメントスキャナ２００でスキャンした文字列画像を画像解析サーバ１００で読み込む方法として、スキャナ２００から画像解析サーバ１００に直接画像を送信する方法、スキャナ２００で取り込んだ文字列画像のファイルをいったんデータベースサーバ３００に保管して、画像解析サーバ１００がデータベースサーバ３００から文字列画像のファイルを取り出す方法どちらをとっても良い。
【００３５】
図２は、画像解析サーバ１００の各機能を示す機能ブロック図を示したものである。
【００３６】
入力受付部はユーザからｂｂｏｘの推定要求を受けて、入力画像リストを取得し、入力画像リストから一列ずつ文字列画像を読みだして、ｂｂｏｘの推定を繰り返す機能を持つ。
【００３７】
画像前処理部は読みだした文字列画像から二値化処理等の前処理をする機能を持つ。
【００３８】
文字断片領域抽出部は読みだした文字列画像から断片領域情報を抽出する機能を持つ。
【００３９】
クラスタリング処理部は抽出した断片領域情報を一文字単位にクラスタリングする機能を持つ。
【００４０】
矩形対応付処理部はクラスタリングした一文字単位の矩形を各文字ラベルに対応づけて登録する機能を持つ。
【００４１】
図３は、本発明の実施形態における画像解析サーバ１００、クライアント端末１０１、ドキュメントスキャナ２００、データベースサーバ３００に適用可能な情報処理機器のハードウェア構成を示すブロック図である。各機器ともに、同様な構成を備えるため、同一の符号を用いて説明する。
【００４２】
図３に示すように、システムバス２０４を介してＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３、入力コントローラ２０５、ビデオコントローラ２０６、メモリコントローラ２０７、通信Ｉ／Ｆコントローラ２０８等が接続された構成を採る。
【００４３】
ＣＰＵ２０１は、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。
【００４４】
また、ＲＯＭ２０２あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や、各サーバあるいは各ＰＣが実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。また、本発明を実施するために必要な情報が記憶されている。なお外部メモリはデータベースであってもよい。
【００４５】
ＲＡＭ２０３は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０２あるいは外部メモリ２１１からＲＡＭ２０３にロードし、ロードしたプログラムを実行することで各種動作を実現する。
【００４６】
入力コントローラ２０５は、キーボード（ＫＢ）２０９や不図示のマウス等のポインティングデバイス等からの入力を制御する。
【００４７】
ビデオコントローラ２０６は、ディスプレイ２１０等の表示器への表示を制御する。尚、表示器は液晶ディスプレイ等の表示器でもよい。これらは、必要に応じて管理者が使用する。
【００４８】
メモリコントローラ２０７は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶する外部記憶装置（ハードディスク（ＨＤ））や、フレキシブルディスク（ＦＤ）、あるいは、ＰＣＭＣＩＡ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ  Ｍｅｍｏｒｙ  Ｃａｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ａｓｓｏｃｉａｔｉｏｎ）カードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ２１１へのアクセスを制御する。
【００４９】
通信Ｉ／Ｆコントローラ２０８は、ネットワークを介して外部機器と接続・通信し、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を用いた通信等が可能である。
【００５０】
尚、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ２１０上に表示することが可能である。また、ＣＰＵ２０１は、ディスプレイ２１０上のマウスカーソル（図示しない）等によるユーザ指示を可能とする。
【００５１】
本発明を実現するための後述する各種プログラムは、外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。
【００５２】
次に図４のフローチャートを用いて、本発明の実施形態における画像解析サーバ１００が実行する文字数を用いて、境界情報であるｂｂｏｘを推定する処理について説明する。
【００５３】
図４のフローチャートは、画像解析サーバ１００のＣＰＵ２０１が所定の制御プログラムを読み出して実行する処理であり、ｂｂｏｘ推定をする処理を示すフローチャートである。
【００５４】
ステップＳ３０１では、画像解析サーバ１００の入力受付部２５１が、クライアント端末１０１のユーザインターフェイス等で、ユーザからのｂｂｏｘ推定処理の要求を受け付ける。
【００５５】
ステップＳ３０２では、画像解析サーバ１００の入力受付部２５１が、入力画像リスト４０１のファイルパスを受け付ける。
【００５６】
入力画像リスト４０１の各データは、図５のようなデータテーブル形式になっている。
データテーブルは２つの項目、すなわち、文字列画像ファイルへのパス４０２と文字列ラベル４０３の項目が対応づけられている。
【００５７】
また、文字列ラベル４０３は、この文字列画像から、既存の学習済みモデルを使った機械学習による手書き文字認識によって、機械的に読み取られた結果の複数文字であり、この機械的に読み取られた複数文字が、ユーザによる目視確認後に手動で訂正された正しい文字情報である。
【００５８】
このように、図５の入力画像リスト４０１では、文字列画像と、この文字列画像から文字認識で読み取られた結果の複数文字であり、この複数文字がユーザによる目視確認後に訂正された文字情報を対応づけたデータセットを記憶している（記憶手段）。
【００５９】
なお上記データセットを記憶するためには、図示しない、ユーザによる目視確認後に、文字認識で読み取られた結果の複数文字の文字情報の訂正を受け付ける訂正受付部と、訂正を受け付けた文字情報を、文字認識で読み取られた結果の訂正を受け付けた文字列画像と対応づけたデータセットを登録するデータセット登録部を別途設けるようにした。
【００６０】
文字列画像ファイルへのパス４０２には、ｂｂｏｘ推定処理の対象である文字列画像へのファイルパスが登録され、そのファイルパスに文字列画像が予め保存されている。文字列ラベル４０３には、文字列画像ファイルへのパス４０２の画像中に書かれている文字のテキストデータが登録される。
【００６１】
ステップＳ３０３では、画像解析サーバ１００の入力受付部２５１が、ステップＳ３０２で読み込まれた入力画像リストへのファイルパスの中身を展開し、データテーブル  表４０１をＲＡＭ２０３にキュー構造の情報形式で記憶する。
【００６２】
ステップＳ３０４では、画像解析サーバ１００の入力受付部２５１が、ステップＳ３０３で用意したキューを参照し、未処理のレコードがあるか否かを判定する。キューに未処理のレコードが残っていると判定した場合、ステップＳ３０５へ進み、残っていないと判定した場合、処理を終了する。
【００６３】
ステップＳ３０５では、画像解析サーバ１００の入力受付部２５１が、ステップＳ３０３で記憶したキューからレコードを一列取り出して、ＲＡＭ２０３に読み込む。以下説明する実施例として、読み込んだレコード列を図５の４１１列とする。
【００６４】
このように、データセットから訂正された文字情報を取得している（第１の取得手段）。
【００６５】
このように、データセットから文字列画像を取得している（第２の取得手段）。
【００６６】
ステップＳ３０６では、画像解析サーバ１００の画像前処理部２５２が、ステップＳ３０５で読み込んだ４１１列に含まれる文字列画像ファイルへのパス４１２を参照して、文字列画像をＲＡＭ２０３に読み込む。読み込まれた文字列画像を図７の画像６０１とする。尚、画像６０１はグレースケールの画像であり、黒色の背景に白色の前景であるが、白色の背景に黒色の前景でもよい。
【００６７】
ステップＳ３０７では、画像解析サーバ１００の画像前処理部２５２が、ステップＳ３０６で読み込んだ画像６０１に二値化処理をする。二値化処理により、画像中に生じるノイズを減らすことができる。二値化手法は［Ｏｔｓｕ  １９７９］などがある。尚、［Ｏｔｓｕ  １９７９］の詳細は以下に示す。
【００６８】
［Ｏｔｓｕ  １９７９］：  Ｎ．  Ｏｔｓｕ，  Ａ  Ｔｈｒｅｓｈｏｌｄ  Ｓｅｌｅｃｔｉｏｎ  Ｍｅｔｈｏｄ  ｆｒｏｍ  Ｇｒａｙ−Ｌｅｖｅｌ  Ｈｉｓｔｏｇｒａｍｓ，  ｉｎ  ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｓｙｓｔｅｍｓ，  Ｍａｎ，  ａｎｄ  Ｃｙｂｅｒｎｅｔｉｃｓ，  ｖｏｌ．  ９，  ｎｏ．  １，  ｐｐ．  ６２−６６，  Ｊａｎ．  １９７９．
ステップＳ３０８では、画像解析サーバ１００の文字断片領域抽出部が、文字列画像中から文字の断片領域情報を抽出する。
【００６９】
ここで文字の断片領域情報とは、例えば手書き文字を構成する線のうち、１文字にはなっていないが、例えば、つながっている箇所を１単位とした断片領域のことである。従って、文字の断片領域情報は、部首などの言語的意味のある断片領域でのみ抽出する必要はない。
【００７０】
また、つながっている箇所だけを１単位とせずに、ある所定のサイズ以下でのみ抽出可能な断片領域情報であってもよい。
【００７１】
また、手書き文字を記載した時の線幅が細くて、線幅が切れている箇所だけを１単位とした断片領域情報であってもよい。
【００７２】
図９の断片領域情報テーブル８０１は、ステップＳ３０８で抽出した断片領域情報の取得結果を登録した後のデータテーブルである。
【００７３】
矩形の左上のｘ座標８０２、矩形の左上のｙ座標８０３、矩形の右下のｘ座標８０４、矩形の右下のｙ座標８０５の項目からなる。矩形の表現形式としてはこれ以外にも左上のＸＹ座標と矩形の幅、高さの組み合わせなど複数存在しており、そのいずれを用いてもよい。
【００７４】
図９の例では、画像６０１の「Ｘ，４，７」から５箇所の断片領域情報が抽出されていることを示している。
【００７５】
このように、取得した文字列画像から、１文字の部分領域を単位とする１文字の断片及び断片の取得した文字列画像における位置情報を抽出している（抽出手段）。
【００７６】
図７の画像６０２は抽出した断片領域情報の結果（断片領域情報の矩形）を画像６０１上に重畳して表示した文字列画像の一例である。
【００７７】
ここで、二値化処理画像に対して文字の断片領域情報を抽出する従来手法は、例えば［Ｓｕｚｕｋｉ＋  ８５］などがある。尚、［Ｓｕｚｕｋｉ＋  ８５］詳細は以下に示す。
【００７８】
［Ｓｕｚｕｋｉ＋  ８５］  Ｓａｔｏｓｈｉ  Ｓｕｚｕｋｉ，  ＫｅｉｉｃｈｉＡｂｅ，  Ｔｏｐｏｌｏｇｉｃａｌ  ｓｔｒｕｃｔｕｒａｌ  ａｎａｌｙｓｉｓ  ｏｆ  ｄｉｇｉｔｉｚｅｄ  ｂｉｎａｒｙ  ｉｍａｇｅｓ  ｂｙ  ｂｏｒｄｅｒ  ｆｏｌｌｏｗｉｎｇ，  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ，  Ｇｒａｐｈｉｃｓ，  ａｎｄ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ，  Ｖｏｌｕｍｅ  ３０，  Ｉｓｓｕｅ  １，  １９８５
なお、文字の断片領域情報を抽出する手法は画像処理の技術には限らず、機械学習を用いて文字の断片領域情報検出する手法を用いてもよい。
【００７９】
また、この文字の断片領域情報の抽出処理の後に、ごま塩ノイズを誤って抽出した断片領域情報や罫線のような不要な文字の断片領域情報を除去する処理を追加してもよい。
【００８０】
ステップＳ３０９では、画像解析サーバ１００のクラスタリング処理部が、文字の断片領域情報を表す断片領域情報テーブル８０１の各レコードに対し中心点の座標を計算する。
各レコードの中心点はＲＡＭ２０３上に保持する。
【００８１】
ステップＳ３１０では、画像解析サーバ１００のクラスタリング処理部２５４が、ステップＳ３０５で読み込んだレコード４１１に含まれる文字列ラベル、４１３から得られる訂正された文字情報（文字の数等）と、ステップＳ３０９で得られた文字の断片領域情報の中心点の座標をもとにクラスタリングをして、文字の断片領域情報を文字数個のクラスタへ分ける。
【００８２】
このように、訂正された文字情報を用いて、訂正された文字情報のデータセットとして対応づけられている文字列画像の中の複数文字間の境界を識別可能な情報を決定している（決定手段）。
【００８３】
つまり、文字列画像における断片の位置情報に従って、抽出した複数の断片をクラスタリングして（クラスタリング手段）、複数の断片をクラスタリングする数を訂正された文字情報に合わせるようすることで、文字列画像の中の複数文字間の境界情報を決定している。
【００８４】
クラスタリング処理を行う理由は、手書き文字は活字に比べて文字の部分同士が離れてしまうため、従来手法の文字の断片領域情報だけでは、一つのまとまりとして一文字を捉えられないためである。特定の数にクラスタリングする手法は、例えば、ｋ−ｍｅａｎｓ法などがある。
【００８５】
図１０にクラスタリング手法のイメージを示す。状態９０１は、画像６０２の先頭３つの文字「Ｘ，４，７」から抽出された各断片領域情報の矩形及び中心点の５箇所の相対的な位置をそれぞれ示したものである。
【００８６】
訂正された文字情報（文字の数等）と文字の各断片領域情報の中心点の座標をもとにクラスタリングすると、各断片領域情報の中心点の座標が近い断片領域情報同士が状態９０２のように同一のクラスタとしてみなされる。
【００８７】
同一のクラスタにどの断片領域情報の矩形が入っているかというクラスタ情報をＲＡＭ２０３上に保持する。
【００８８】
ステップＳ３１１では、画像解析サーバ１００のクラスタリング処理部２５４が、ステップＳ３１０で得られた、各クラスタにどの断片領域情報の矩形が入っているかというクラスタ情報をもとに、同一のクラスタ内に存在する断片領域情報をすべて包含する矩形領域を計算する。それは以下の４つ組を記憶することで実現する、すなわち同一クラスタ内の文字の断片領域情報のうち、矩形の左上のｘ座標８０２が最も小さいもの、矩形の左上のｙ座標８０３が最も小さいもの、矩形の右下のｘ座標８０４が最も大きいもの、矩形の右下のｙ座標８０５最も大きいものを、図６のｂｂｏｘ矩形情報テーブル５０１に記憶する。
【００８９】
このように、クラスタリングした各文字の矩形情報を、文字列画像における断片の位置情報を用いて算出して登録している（矩形情報登録手段）。
【００９０】
状態９０３は、「Ｘ，４，７」の３文字にクラスタリングされた後の矩形領域のイメージである。
【００９１】
図６のｂｂｏｘ矩形情報テーブル５０１はステップＳ３１１で求まった、各クラスタにおける包含矩形の領域を表すテーブルであり、矩形の左上のｘ座標５０２、矩形の左上のｙ座標５０３、矩形の右下のｘ座標５０４、矩形の右下のｙ座標５０５の項目からなる。
【００９２】
図７の画像６０３は、ステップＳ３１１で計算したクラスタ情報の結果（包含矩形）を画像６０１上に重畳して、クライアント端末１０１で表示した文字列画像の一例である。
【００９３】
このように、クラスタリングした各文字の矩形情報を、文字列画像における断片の位置情報を用いて算出して表示制御している（表示制御手段）。
【００９４】
ステップＳ３１２では、画像解析サーバ１００のクラスタリング処理部２５４が、ステップＳ３０５で読み込んだレコード４１１に含まれる文字列ラベル４１３とステップＳ３１１でもとまった同一クラスタ内に存在する各断片領域情報をすべて包含する包含矩形をもとに、同一クラスタ内に存在する各断片領域情報をすべて包含する包含矩形の左上のｘ座標５０２の小さい順に文字列ラベル４１３の先頭から文字を対応付けて、ｂｂｏｘテーブル７０１に登録する。
【００９５】
図８のｂｂｏｘテーブル７０１は、文字列画像から文字の領域を矩形形式で推定されたデータのテーブルであり、矩形の左上のｘ座標７０２、矩形の左上のｙ座標７０３、矩形の右下のｘ座標７０４、矩形の右下のｙ座標７０５、文字情報７０６の項目からなる。
【００９６】
ステップＳ３１３では、画像解析サーバ１００は、ｂｂｏｘデータテーブル７０１を外部ファイルに出力する。
【００９７】
本発明の実施形態においては、横書き文字の文字列画像に足して処理を実行する構成として説明したが、縦書き文字の文字列画像で実行するよう構成してもよい。その際にはステップＳ３１２では、同一クラスタ内に存在する文字の断片領域情報をすべて包含する矩形の左上のｙ座標５０３の小さい順に文字列ラベル４１３の先頭から文字を対応付ける。
【００９８】
次に図１２のフローチャートを用いて、本発明の実施形態における画像解析サーバ１００が実行する境界情報である境界線情報を推定する処理について説明する。
【００９９】
なお、図１２のフローチャートにおいて、ステップＳ３０１からステップＳ３１１までは、図４で説明したｂｂｏｘの処理結果と共通する処理であるため省略する。
【０１００】
ステップＳ３１４では、画像解析サーバ１００の境界線情報算出部２５６が、ステップＳ３１１で得られたｂｂｏｘ矩形情報テーブル５０１を用いて、境界線座標を算出する。
【０１０１】
まず、ｂｂｏｘ矩形情報テーブル５０１のレコードを矩形の左上のｘ座標５０２が小さい順にソートする。次に、ｂｂｏｘ矩形情報テーブル５０１のレコードの中で矩形の左上のｘ座標５０２が最も小さいレコードと矩形の左上のｘ座標５０２が２番目に小さいレコードを抽出する。矩形の左上のｘ座標５０２が最も小さいレコードの矩形の右下のｘ座標５０４と、その次にｘ座標５０２が小さいレコードの左上のｘ座標５０２の平均値を求め、小数点を切り下げた値を、文字列画像の中の複数文字間での境界情報として決定し、図１３の境界線情報データテーブル１００１に登録する（境界情報登録手段）。
【０１０２】
同様に、ｂｂｏｘ矩形情報テーブル５０１のレコードの中で矩形の左上のｘ座標５０２が２番目に小さいレコードと左上のｘ座標５０２が３番目に小さいレコードの参照し、上記と同様にして境界線情報を求め境界線情報データテーブル１００１に登録する。このように隣り合う順序のレコードを参照しながら、参照すべきレコードがなくなるまで、上記の処理を繰り返すことで、文字列画像の中の複数文字間での境界情報を全て決定することになる。
【０１０３】
ステップＳ３１５では、画像解析サーバ１００は、境界線情報データテーブル１００１を外部ファイルに出力する。
【０１０４】
本発明の実施形態においては、横書き文字の文字列画像に足して処理を実行する構成として説明したが、縦書き文字の文字列画像で実行するよう構成してもよい。その際にはステップＳ３１４では、同一クラスタ内に存在する文字の断片領域情報をすべて包含する矩形の左上のｙ座標５０３の小さい順にテーブル５０１をソートし、隣り合う２つのレコードのｙ座標の平均値の小数点を切り下げたものを境界情報として、境界線情報データテーブル１００１に格納する。この処理を隣り合うレコードがなくなるまで、繰り返せばよい。
【０１０５】
次に、図１５のフローチャートを用いて、本発明の実施形態における画像解析サーバ１００が実行する文字ラベルを用いてｂｂｏｘを推定する処理について説明する。
【０１０６】
ステップＳ３０１からステップＳ３０７までは図４で説明したｂｂｏｘの処理結果と共通する処理であるため省略する。
【０１０７】
ステップＳ３１６では、画像解析サーバ１００のｂｂｏｘ捜索部２５７が、文字ラベル情報をもとに、ｂｂｏｘを捜索する。文字の捜索方法はテンプレートマッチングを用いる。まず、文字列ラベル「Ｘ，４，７，１，２，４，８」４１３の先頭から１文字を読み込む。次に読み込んだ１文字の文字列ラベルに対応するテンプレート画像「Ｘ」１１０１を準備する（準備手段）。
【０１０８】
テンプレート画像としては、文字フォントをビットマップにおこした画像や、複数枚の当該文字画像から作成した平均画像を用いる。
【０１０９】
次に文字列画像中６０１から、テンプレートと類似度の高い領域１１０２を捜索する。すなわち、テンプレート画像をフィルタとみなし、テンプレート画像を文字列画像中６０１で走査させながら、文字列画像６０１の各部分の領域とテンプレート画像１１０１の相関を計算する。
【０１１０】
テンプレートマッチングされた領域１１０２は矩形情報で表現される。テンプレート走査時には、テンプレートの縦横のサイズを変化させて走査し、複数の候補領域をとっても良い。そして、候補領域のうち、最も類似度の高い領域１１０２をその文字におけるｂｂｏｘの結果とする。
【０１１１】
もしも、候補領域の中で、類似度が同じ領域が複数ある場合は、最初に見つけた一番左に位置する（左上のｘ座標が小さい）領域を最終的なｂｂｏｘの結果とする。その後、文字列ラベル４１３から次の文字を参照し、上記と同様の処理を行い各文字のｂｂｏｘの推定結果を求める。次以降の文字も同様である。
【０１１２】
次以降の文字の場合、過去に同じ文字（例えば「Ｘ」）のテンプレートマッチングを処理していた場合、過去に既に選択した領域から一定ピクセル右隣の候補領域から最も類似度の高い領域を最終的なｂｂｏｘの結果とする。こうすることで同じ文字のテンプレートマッチング処理であっても、適切な位置のｂｂｏｘを抽出することができる。
【０１１３】
文字列画像６０１から全ての文字に対して、ｂｂｏｘを推定した後、推定結果のｂｂｏｘをｂｂｏｘテーブル７０１へ登録する。
【０１１４】
ステップＳ３１３では、画像解析サーバ１００は、ｂｂｏｘデータテーブル７０１を外部ファイルに出力する。
【０１１５】
本発明の実施形態においては、横書き文字の文字列画像に足して処理を実行する構成として説明したが、縦書き文字の文字列画像で実行するよう構成してもよい。その際にはステップＳ３１６では、候補領域の中で、類似度が同じ領域が複数ある場合は、一番上に位置する（左上のｙ座標が小さい）領域を最終的なｂｂｏｘの結果とする。また、過去に同じ文字を処理していた場合、過去に選択した領域から一定ピクセル下の候補領域から最も類似度の高い領域を最終的なｂｂｏｘの結果とする。
【０１１６】
また、文字ラベルを用いる境界線情報推定は、これまで説明した機能を用いて、図１７のブロック図と図１８フローチャート図の通りに実現できる。
【０１１７】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１１８】
また、本発明におけるプログラムは、各図に示すフローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は各図の処理方法をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは各図の各装置の処理方法ごとのプログラムであってもよい。
【０１１９】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１２０】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【０１２１】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク、ソリッドステートドライブ等を用いることができる。
【０１２２】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２３】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２４】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１２５】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１２６】
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１２７】
１００  画像解析サーバ
１０１  クライアント端末
２００  ドキュメントスキャナ
３００  データベースサーバ
【図１】
2020095430.tif 000003
【図２】
2020095430.tif 000004
【図３】
2020095430.tif 000005
【図４】
2020095430.tif 000006
【図５】
2020095430.tif 000007
【図６】
2020095430.tif 000008
【図７】
2020095430.tif 000009
【図８】
2020095430.tif 000010
【図９】
2020095430.tif 000011
【図１０】
2020095430.tif 000012
【図１１】
2020095430.tif 000013
【図１２】
2020095430.tif 000014
【図１３】
2020095430.tif 000015
【図１４】
2020095430.tif 000016
【図１５】
2020095430.tif 000017
【図１６】
2020095430.tif 000018
【図１７】
2020095430.tif 000019
【図１８】
2020095430.tif 000020