本開示は、コンピュータビジョン技術に関し、特にフォーム認識方法、フォーム抽出方法および関連する装置に関する。
現在、OCR(Optical Character Recognition、光学文字認識)技術によりテキストデータのスキャンされた画像を認識するのは、一般的である。この技術によると、大部分のテキスト文字を認識できるが、フォームの場合、文字化けることが多いため、フォームを正しく識別できない。
そのため、フォーム画像の認識精度を如何にして向上させるかは、本分野において早急な解決されるべき課題となっている。
本開示の実施例は、フォーム認識案及びフォーム抽出案を提供している。
第1態様は、
認識すべきフォーム画像のフォームライン抽出処理を行って、前記認識すべきフォーム画像のフォームライン抽出結果を取得するステップであって、前記フォームライン抽出結果は、複数の第1フォームライン及び/又は複数の第1フォームライン交点が含まれるステップと、
前記認識すべきフォーム画像のフォームライン抽出結果と予め設定されたフォームテンプレートとに基づいて前記認識すべきフォーム画像の修正処理を行うステップであって、前記予め設定されたフォームテンプレートには、予め設定された複数の第2フォームライン及び/又は予め設定された複数の第2フォームライン交点が備えられるステップと、
修正された前記認識すべきフォーム画像のテキスト認識処理を行ってフォーム認識結果を取得するステップとを含むフォーム認識方法を提供する。
本開示に提供される何れか1つの実施形態により、前記認識すべきフォーム画像のフォームライン抽出結果と予め設定されたフォームテンプレートとに基づいて前記認識すべきフォーム画像の修正処理を行うステップは、前記複数の第1フォームラインと前記複数の第2フォームラインとのマッチング処理を行ってフォームラインのマッチング結果を取得する、及び/又は、前記複数の第1フォームライン交点と前記複数の第2フォームライン交点とのマッチング処理を行ってフォームライン交点のマッチング結果を取得することと、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて前記認識すべきフォーム画像の修正処理を行うことと、を含む。
本開示に提供される何れか1つの実施形態により、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて前記認識すべきフォーム画像の修正処理を行うことは、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて、前記認識すべきフォーム画像と前記予め設定されたフォームテンプレートとの変換パラメータを取得し、前記フォームラインのマッチング結果は、前記複数の第1フォームラインと前記複数の第2フォームラインとの複数のフォームラインペアのマッチング結果が含まれ、前記フォームライン交点のマッチング結果は、前記複数の第1フォームライン交点と前記複数の第2フォームライン交点との複数のフォームライン交点ペアのマッチング結果が含まれることと、前記変換パラメータに基づいて前記認識すべきフォーム画像の修正処理を行うことと、を含む。
本開示に提供される何れか1つの実施形態により、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて、前記認識すべきフォーム画像と前記予め設定されたフォームテンプレートとの変換パラメータを取得することは、前記複数のフォームラインペアのうちマッチングしたフォームラインペア、及び/又は前記複数のフォームライン交点ペアのうちマッチングしたフォームライン交点ペアに基づいて前記認識すべきフォーム画像と前記予め設定されたフォームテンプレートとの変換パラメータを取得することを含む。
本開示に提供される何れか1つの実施形態により、前記フォームラインのマッチング結果には、前記複数のフォームラインペアのマッチング信頼度が含まれ、前記フォームライン交点のマッチング結果には、前記複数のフォームライン交点ペアのマッチング信頼度が含まれており、
前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて、前記認識すべきフォーム画像と前記予め設定されたフォームテンプレートとの変換パラメータを取得することは、前記複数のフォームラインペアのうち、第1設定値よりもマッチング信頼度が大きいフォームラインペア、及び/又は前記複数のフォームライン交点ペアのうち、第2設定値よりもマッチング信頼度が大きいフォームライン交点ペアに基づいて、変換パラメータを取得することを含む。
本開示に提供される何れか1つの実施形態により、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて、前記認識すべきフォーム画像と前記予め設定されたフォームテンプレートとの変換パラメータを取得することは、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて目標領域を決定し、前記目標領域に含まれるフォームライン及び/又はフォームライン交点のマッチング結果が予め設定された条件を満たすことと、前記目標領域におけるフォームライン及び/又はフォームライン交点のマッチング結果に基づいて、前記認識すべきフォーム画像と前記予め設定されたフォームテンプレートとの変換パラメータを取得することと、を含む。
本開示に提供される何れか1つの実施形態により、前記予め設定された条件は、前記目標領域におけるマッチングしたフォームラインペア及び/又はフォームライン交点ペアの数が第1条件を満たすことと、前記目標領域におけるフォームラインペア及び/又はフォームライン交点ペアのマッチング信頼度が第2条件を満たすことと、のうちの一つまたは複数を含む。
本開示に提供される何れか1つの実施形態により、前記予め設定されたフォームテンプレートには少なくとも2つのテンプレート領域が含まれており、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて、前記認識すべきフォーム画像と前記予め設定されたフォームテンプレートとの変換パラメータを取得することは、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて前記少なくとも2つのテンプレート領域それぞれに対応する変換パラメータを取得することを含み、前記変換パラメータに基づいて前記認識すべきフォーム画像の修正処理を行うことは、前記少なくとも2つのテンプレート領域それぞれに対応する変換パラメータに基づいて、前記認識すべきフォーム画像における前記テンプレート領域それぞれに対応する領域に対して修正処理を行うことを含む。
本開示に提供される何れか1つの実施形態により、前記認識すべきフォーム画像のフォームライン抽出結果と予め設定されたフォームテンプレートとに基づいて前記認識すべきフォーム画像の修正処理を行うステップは、前記複数の第1フォームラインのうちマッチングしたフォームラインペアの割合が第1割合値になったこと、及び/又は前記複数の第1フォームライン交点のうちマッチングしたフォームライン交点ペアの割合が第2割合値になったことに応じて、前記認識すべきフォーム画像のフォームライン抽出結果と予め設定されたフォームテンプレートとに基づいて、前記認識すべきフォーム画像の修正処理を行うことを含む。
本開示に提供される何れか1つの実施形態により、修正された前記認識すべきフォーム画像のテキスト認識処理を行って、フォーム認識結果を取得するステップは、修正されたフォーム画像のテキスト検出を行って、前記認識すべきフォーム画像の複数のテキスト検出ボックスを取得することと、前記複数のテキスト検出ボックスのテキスト認識を行って、テキスト認識結果を取得することと、前記複数のテキスト検出ボックスと、前記複数の第1フォームラインにより定義された複数のフォームボックスとのIoUに基づいて、フォーム認識結果を取得することとを含む。
本開示に提供される何れか1つの実施形態により、修正された前記認識すべきフォーム画像のテキスト認識処理を行って、フォーム認識結果を取得するステップは、前記予め設定されたフォームテンプレートに基づいて、前記認識すべきフォーム画像における前記複数の第1フォームラインにより定義された複数のフォームボックスのうち検出すべき少なくとも1つの目標フォームボックスを決定することと、前記少なくとも1つの目標フォームボックスのテキスト認識を行って、前記少なくとも1つの目標フォームボックスそれぞれのテキスト認識結果を取得することと、前記少なくとも1つの目標フォームボックスのテキスト認識結果に基づいて、フォーム認識結果を取得することとを含む。
本開示に提供される何れか1つの実施形態により、前記予め設定されたフォームテンプレートに基づいて、前記認識すべきフォーム画像における前記複数の第1フォームラインにより定義された複数のフォームボックスのうち検出すべき少なくとも1つの目標フォームボックスを決定することは、ユーザによって入力された認識条件を受け取ることと、認識条件に基づいて、前記予め設定されたフォームテンプレートにおける複数のフォームボックスのうち少なくとも1つの目標フォームボックスを決定することとを含む。
本開示に提供される何れか1つの実施形態により、前記方法は、前記目標フォームボックスの属性を設定するステップをさらに含み、前記少なくとも1つの目標フォームボックスのテキスト認識結果に基づいてフォーム認識結果を取得することは、前記目標フォームボックスの属性と前記目標フォームボックスのテキスト認識結果とに基づいてフォーム認識結果を取得することを含む。
本開示に提供される何れか1つの実施形態により、前記方法は、参照フォーム画像のフォームライン抽出処理を行って、前記参照フォーム画像のフォームライン抽出結果を取得するステップと、前記参照フォーム画像のフォームライン抽出結果に対してユーザによる入力に基づく修正処理を行って、前記予め設定されたフォームテンプレートを取得するステップと、をさらに含む。
第2態様は、参照フォーム画像のフォームライン抽出処理を行って、前記参照フォーム画像のフォームライン抽出結果を取得するステップと、前記フォームライン抽出結果に基づいてフォームテンプレートを生成するステップであって、前記フォームテンプレートには、複数の第2フォームライン及び/又は複数の第2フォームライン交点が含まれるステップと、前記フォームテンプレートに基づいて認識すべきフォーム画像のテキスト認識処理を行って、フォーム認識結果を取得するステップと、を含む、別のフォーム認識方法を提供する。
本開示に提供される何れか1つの実施形態により、前記フォームライン抽出結果に基づいてフォームテンプレートを生成するステップは、前記フォームライン抽出結果を表示することと、ユーザによる確認指令を受信したことに応じて、前記フォームライン抽出結果に基づいてフォームテンプレートを生成することと、を含む。
本開示に提供される何れか1つの実施形態により、前記フォームライン抽出結果に基づいてフォームテンプレートを生成するステップは、ユーザによる調整指令を受信したことに応じて、前記フォームライン抽出結果の調整処理を行って調整結果を取得することと、前記調整結果に基づいてフォームテンプレートを生成することと、を含む。
本開示に提供される何れか1つの実施形態により、前記方法は、ユーザから、前記フォームテンプレートにおける認識の必要な目標フォームエントリを指示するための認識指令を受信するステップをさらに含み、前記フォームテンプレートに基づいて認識すべきフォーム画像のテキスト認識処理を行ってフォーム認識結果を取得するステップは、前記フォームテンプレートに基づいて前記認識すべきフォーム画像における目標フォームエントリのテキスト認識処理を行ってフォーム認識結果を取得することを含む。
本開示に提供される何れか1つの実施形態により、前記フォームテンプレートに基づいて認識すべきフォーム画像のテキスト認識処理を行って、フォーム認識結果を取得するステップは、前記認識すべきフォーム画像のフォームライン抽出処理を行って、前記認識すべきフォーム画像の、複数の第1フォームライン及び/又は複数の第1フォームライン交点が含まれるフォームライン抽出結果を取得することと、前記フォームテンプレートに含まれる複数の第2フォームライン及び/又は複数の第2フォームライン交点、及び前記認識すべきフォーム画像のフォームライン抽出結果に基づいて、変換パラメータを取得することと、前記変換パラメータに基づいて前記認識すべきフォーム画像のテキスト認識処理を行って、フォーム認識結果を取得することと、を含む。
本開示に提供される何れか1つの実施形態により、前記フォームテンプレートに含まれる複数の第2フォームライン及び/又は複数の第2フォームライン交点、及び前記認識すべきフォーム画像のフォームライン抽出結果に基づいて、変換パラメータを取得することは、前記複数の第1フォームラインと前記複数の第2フォームラインとのマッチング処理を行ってフォームラインのマッチング結果を取得する、及び/又は、前記複数の第1フォームライン交点と前記複数の第2フォームライン交点とのマッチング処理を行ってフォームライン交点のマッチング結果を取得することと、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて、前記認識すべきフォーム画像と前記フォームテンプレートとの変換パラメータを取得し、前記フォームラインのマッチング結果は、前記複数の第1フォームラインと前記複数の第2フォームラインとの複数のフォームラインペアのマッチング結果が含まれ、前記フォームライン交点のマッチング結果は、前記複数の第1フォームライン交点と前記複数の第2フォームライン交点との複数のフォームライン交点ペアのマッチング結果が含まれることと、を含む。
本開示に提供される何れか1つの実施形態により、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて、前記認識すべきフォーム画像と前記フォームテンプレートとの変換パラメータを取得することは、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて目標領域を決定し、前記目標領域に含まれるフォームライン及び/又はフォームライン交点のマッチング結果が予め設定された条件を満たすものであることと、前記目標領域におけるフォームライン及び/又はフォームライン交点のマッチング結果に基づいて、前記認識すべきフォーム画像と前記フォームテンプレートとの変換パラメータを取得することと、を含む。
本開示に提供される何れか1つの実施形態により、前記予め設定された条件は、前記目標領域におけるマッチングしたフォームラインペア及び/又はフォームライン交点ペアの数が第1条件を満たすことと、前記目標領域におけるフォームラインペア及び/又はフォームライン交点ペアのマッチング信頼度が第2条件を満たすことと、のうちの一つまたは複数を含む。
本開示に提供される何れか1つの実施形態により、前記変換パラメータに基づいて前記認識すべきフォーム画像のテキスト認識処理を行って、フォーム認識結果を取得することは、前記変換パラメータに基づいて、前記認識すべきフォーム画像の修正処理を行うことと、前記修正された認識すべきフォーム画像のテキスト認識処理を行ってフォーム認識結果を取得することと、を含む。
第3態様は、任意の上記フォーム認識方法に選択的に適用するフォーム抽出方法であって、認識すべきフォーム画像における複数の有向単一接続チェーンを決定するステップと、前記複数の有向単一接続チェーンのうち結合条件を満たす少なくとも二つの有向単一接続チェーンに対して第1結合処理を行って、複数の第1結合線分を取得するステップと、複数の第i結合線分のうち前記結合条件を満たす少なくとも二つの第i結合線分に対して第i+1結合処理を行って、少なくとも一つの第i+1結合線分を取得するステップと、N回の結合処理の結合結果に基づいて前記フォーム画像のフォームライン抽出結果を取得するステップと、を含み、前記i及びNは整数であり、かつiは1よりも大きく、Nよりも小さいものである、フォーム抽出方法を提供する。
本開示に提供される何れか1つの実施形態により、前記方法は、前記第i結合線分の少なくとも一端を少なくとも1画素拡張して、前記第i結合線分の拡張線分を取得するステップと、前記複数の第i結合線分それぞれの拡張線分に基づいて、前記複数の第i結合線分から、前記結合条件を満たす少なくとも二つの第i結合線分を決定するステップと、をさらに含む。
本開示に提供される何れか1つの実施形態により、前記結合条件は、結合すべき二つの対象の端点間の最小距離が第1閾値よりも小さいことと、前記結合すべき二つの対象の端点間の最大距離が第2閾値よりも小さいことと、前記結合すべき二つの対象の各端点と、前記最大距離に対応する連結線との最大距離が前記第2閾値よりも小さいこととのうちの一つまたは複数を含み、前記結合すべき対象は、有向単一接続チェーンまたは第i結合線分である。
第4態様は、認識すべきフォーム画像のフォームライン抽出処理を行って、前記認識すべきフォーム画像の、複数の第1フォームライン及び/又は複数の第1フォームライン交点が含まれるフォームライン抽出結果を取得するための処理ユニットと、前記認識すべきフォーム画像のフォームライン抽出結果と予め設定されたフォームテンプレートとに基づいて前記認識すべきフォーム画像の修正処理を行い、ここで、前記予め設定されたフォームテンプレートには、予め設定された複数の第2フォームライン及び/又は予め設定された複数の第2フォームライン交点が備えられるための修正ユニットと、修正された前記認識すべきフォーム画像のテキスト認識処理を行って、フォーム認識結果を取得するための認識ユニットと、を備えるフォーム認識装置を提供する。
第5態様は、参照フォーム画像のフォームライン抽出処理を行って、前記参照フォーム画像のフォームライン抽出結果を取得するための抽出ユニットと、前記フォームライン抽出結果に基づいて、複数の第2フォームライン及び/又は複数の第2フォームライン交点が含まれるフォームテンプレートを生成するための生成ユニットと、前記フォームテンプレートに基づいて認識すべきフォーム画像のテキスト認識処理を行って、フォーム認識結果を取得するための認識ユニットと、を備える、別のフォーム認識装置を提供する。
第6態様は、認識すべきフォーム画像における複数の有向単一接続チェーンを決定するための決定ユニットと、前記複数の有向単一接続チェーンのうち結合条件を満たす少なくとも二つの有向単一接続チェーンに対して第1結合処理を行って複数の第1結合線分を取得するための第1結合ユニットと、複数の第i結合線分のうち前記結合条件を満たす少なくとも二つの第i結合線分に対して第i+1結合処理を行って、少なくとも一つの第i+1結合線分を取得するための第2結合ユニットと、N回の結合処理の結合結果に基づいて前記認識すべきフォーム画像のフォームライン抽出結果を取得するための取得ユニットと、を備え、前記i及びNは整数であり、かつiは1よりも大きく、Nよりも小さいものである、フォーム抽出装置を提供する。
第7態様は、プロセッサ上で実行可能なコンピュータ指令を記憶するためのメモリと、前記コンピュータ指令を実行する際に、本開示の任意の実施例で説明されたフォーム認識方法を実現するためのプロセッサとを備える、フォーム認識デバイスを提供する。
第8態様は、プロセッサ上で実行可能なコンピュータ指令を記憶するためのメモリと、前記コンピュータ指令を実行する際に、本開示の任意の実施例で説明されたフォーム抽出方法を実現するためのプロセッサとを備える、フォーム抽出デバイスを提供する。
第9態様は、コンピュータプログラムが記憶されたコンピュータ読み取り可能記憶媒体であって、プロセッサにより前記プログラムが実行される際に、本開示の任意の実施例で説明されたフォーム認識方法が実現されることとなる、コンピュータ読み取り可能記憶媒体を提供する。
第10態様は、コンピュータプログラムが記憶されたコンピュータ読み取り可能記憶媒体であって、プロセッサにより前記プログラムが実行される際に、本開示の任意の実施例で説明されたフォーム抽出方法が実現されることとなる、コンピュータ読み取り可能記憶媒体を提供する。
本開示の一または複数の実施例によるフォーム認識案は、フォーム画像のフォームライン抽出結果と予め設定されたフォームテンプレートに基づいて前記認識すべきフォーム画像の修正処理を行い、修正された画像へのテキスト認識処理を行ってフォーム認識結果を取得するものとする。本開示によるフォーム認識案は、予め設定されたフォームテンプレートにより、任意の対応するフォームの認識を実現することができ、かつ認識の速度が速く、予め設定されたフォームテンプレートを用いて認識すべきフォーム画像の修正処理を行うことにより、フォーム認識の精度と堅牢性を向上させることができる。
以上の概略的な説明及び以下の詳細な説明は、単に例示及び説明ためのものに過ぎず、本開示を制限するものでないことは、理解されるべきである。
ここでの図面は明細書に合併されて本明細書の一部を構成し、本発明に符合する実施例を示し、明細書に合わせて本明細書の原理を解釈する。
本開示の実施例に示されるフォーム認識方法のフローチャートである。
例示的な認識すべきフォーム画像のフォーム抽出結果を示す。
図2Aに対応する予め設定されたフォームテンプレートを示す。
修正された予め設定されたフォームテンプレートを示す概略図である。
本開示の実施例に示される別のフォーム認識方法のフローチャートである。
例示的なフォームテンプレートを示す。
本開示の実施例に示されるフォーム抽出方法のフローチャートである。
例示的な有向単一接続チェーンを示す概略図である。
例示的な有向単一接続チェーン抽出結果を示す概略図である。
図8A中の有向単一接続チェーンに対して結合処理を行うことを示す概略図である。
図8B中の線分に対して結合処理を行うことを示す概略図である。
本開示の実施例に示される結合条件の決定を示す概略図である。
本開示の実施例に示されるフォーム認識過程を示す概略図である。
本開示の実施例に示されるフォーム認識装置を示す概略図である。
本開示の実施例に示されるフォーム抽出装置を示す概略図である。
本開示の実施例に示されるフォーム認識デバイスの構造を示す概略図である。
本開示の実施例に示されるフォーム抽出デバイスの構造を示す概略図である。
ここでは、例示的な実施例について詳しく説明し、その例示は図面に示されている。以下の説明は図面に係るときに、特に説明がない限り、異なる図面中の同じ数字は同じ又は類似する要素を示す。以下の例示的な実施例に説明される実施形態は、本開示と一致する全ての実施形態を代表するものではない。逆に、それらは添付される特許請求の範囲に詳しく説明された本開示の幾つかの態様と一致する装置及び方法の例に過ぎない。
本開示の実施例で提供される技術案は、主として画像における細長くて小さな目標の検出に用いられるが、本開示の実施例はこれを限定しないと理解されるべきである。
図1には、本開示の幾つかの実施例によるフォーム認識方法のフローチャートが示されている。図1に示すように、当該方法は、ステップ101~ステップ103を含む。
ステップ101において、認識すべきフォーム画像のフォームライン抽出処理を行って、前記認識すべきフォーム画像のフォームライン抽出結果を取得する、前記フォームライン抽出結果は、複数の第1フォームライン及び/又は複数の第1フォームライン交点が含まれる。
本開示の実施例において、複数の方法により認識すべきフォーム画像のフォームライン抽出処理を行って認識すべきフォーム画像のフォームライン抽出結果を取得するようにしてもよい。本開示の実施例は、フォームライン抽出結果を取得するための具体的な方法を限定することを意図していない。
取得したフォームライン抽出結果には、複数のフォームライン及び/又は複数のフォームライン交点が含まれていてもよい。以下のその他のフォームライン及びフォームライン交点と区別するために、フォームライン抽出結果中のフォームライン及びフォームライン交点を、第1フォームライン及び第1フォームライン交点と称するとよい。
図2Аには、例示的なフォーム画像のフォームライン抽出結果が示されている。図2Aに示すように、それは、第1フォームライン20A~29Aを含む。取得した複数の第1フォームラインから、複数の第1フォームライン交点を取得することもできる。図2Аにおいて、取得した複数の第1フォームラインにより、複数のフォームボックスが構成されている。
ステップ102において、前記認識すべきフォーム画像のフォームライン抽出結果と予め設定されたフォームテンプレートとに基づいて、前記認識すべきフォーム画像の修正処理を行う。
前記予め設定されたフォームテンプレートのレイアウトは、前記認識すべきフォーム画像におけるフォームテンプレートのレイアウトとは同じでも類似しても、または一部で同じでも類似してもよい。
図2А及び図2Bには、フォームライン抽出結果が予め設定されたフォームテンプレートと同じである場合が示されている。図2Bに示される予め設定されたフォームテンプレートには、予め設定された第2フォームライン20B~29Bが備えられ、予め設定された複数の第2フォームライン交点が備えられてもよい。予め設定された複数の第2フォームラインにより、複数のフォームボックスが構成されている。図2Аにおける複数のフォームボックスと図2Bにおける複数のフォームボックスとが1対1で対応している。
フォーム画像のフォームライン抽出結果と予め設定されたフォームテンプレートとの対応関係に基づいて、認識すべきフォーム画像の修正処理を行うことができる。行われた修正処理には、フォーム画像におけるフォームラインをできるだけフラットにするための、認識すべきフォーム画像への回転、伸張、オフセット等が含まれている。
ステップ103において、修正された前記認識すべきフォーム画像のテキスト認識処理を行って、フォーム認識結果を取得する。
修正されたフォーム画像について、そのフォームラインが修正によりある程度でフラットになり、それに応じて、修正されたフォーム画像における同行及び/又は同列のテキストコンテンツがある程度で揃っている。したがって、修正されたフォーム画像へのテキスト認識を行うことにより、フォーム認識結果をより精確かつ快速に取得することができる。
本開示の実施例において、フォーム画像のフォームライン抽出結果と予め設定されたフォームテンプレートとに基づいて前記認識すべきフォーム画像の修正処理を行い、修正されたフォーム画像へのテキスト認識処理を行ってフォーム認識結果を取得する。予め設定されたフォームテンプレートによれば、任意の対応するフォームの認識を実現することができ、かつ認識の速度が速く、予め設定されたフォームテンプレートを用いて認識すべきフォーム画像の修正処理を行うことにより、フォーム認識の精度と堅牢性を向上させることができる。
幾つかの実施例において、以下のように前記フォーム画像の修正処理を行うことができる。
先ず、前記複数の第1フォームラインと前記複数の第2フォームラインとのマッチング処理を行ってフォームラインのマッチング結果を取得する、及び/又は、前記複数の第1フォームライン交点と前記複数の第2フォームライン交点とのマッチング処理を行ってフォームライン交点のマッチング結果を取得する。
その次に、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて、前記認識すべきフォーム画像の修正処理を行う。
図2A及び図2Bを例とすると、図2Aに示される複数の第1フォームライン20A~29Aと、図2Bに示される第2フォームライン20B~29Bとのマッチングをすれば、それぞれの第1フォームラインとそれぞれの第2フォームラインとの対応関係を決定でき、例えば、第1フォームライン20Aと第2フォームライン20Bとが互いに対応し、第1フォームライン21Aと第2フォームライン21Bとが互いに対応している等を決定できる。フォームライン交点のマッチングは、フォームラインのマッチングと類似しており、フォーム画像から抽出された複数の第1フォームライン交点と予め設定されたフォームテンプレートにおける複数の第2フォームライン交点との対応関係を決定するものである。
また、フォーム画像における第1フォームラインと予め設定されたフォームテンプレートにおける第2フォームラインとのマッチングと、フォーム画像における第1フォームライン交点と予め設定されたフォームテンプレートにおける第2フォームライン交点とのマッチングを一緒に行って、フォームラインのマッチング結果とフォームライン交点のマッチング結果を取得するようにしてもよい。
本開示の実施例において、フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて認識すべきフォーム画像の修正処理を行うことにより、修正されたフォーム画像における第1フォームライン及び/又は第1フォームライン交点の形態及び分布が、予め設定されたフォームテンプレートに近似し、より快速且つ精確にフォーム認識結果を取得することができる。
幾つかの実施例において、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて、前記認識すべきフォーム画像と前記予め設定されたフォームテンプレートとの変換パラメータを取得し、前記変換パラメータに基づいて、認識すべきフォーム画像の修正処理を行うようにしてもよい。さらに、前記フォームラインのマッチング結果には、前記複数の第1フォームラインと前記複数の第2フォームラインとの複数のフォームラインペアのマッチング結果が含まれ、前記フォームライン交点のマッチング結果には、前記複数の第1フォームライン交点と前記複数の第2フォームライン交点との複数のフォームライン交点ペアのマッチング結果が含まれている。
前記変換パラメータは、フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて取得されたものであるので、前記変換パラメータを用いて認識すべきフォーム画像の修正処理を行うことにより、変換されたフォーム画像における第1フォームライン及び/又は第1フォームライン交点の形態及び分布が、予め設定されたフォームテンプレートに近似し、より快速且つ精確にフォーム認識結果を取得することができる。
前記フォームラインのマッチング結果によれば、フォーム画像と予め設定されたフォームテンプレートとのマッチングが成功した複数のフォームラインペアを決定でき、フォームラインペアそれぞれには、1つの第1フォームラインと、それとマッチングする1つの第2フォームラインが含まれている。第1フォームラインそれぞれと第2フォームラインそれぞれの位置および方向が何れも既知である場合、これらのフォームラインペアにより決定された変換パラメータを決定することができる。当該変換パラメータは例えば変換行列であってもよく、変換行列の各元素は、フォームラインペアそれぞれにおける第1フォームラインと第2フォームラインとの位置及び方向の関係により決定される。同じ理由により、前記フォームライン交点のマッチング結果によっても、フォーム画像と前記予め設定されたフォームテンプレートとの変換パラメータを決定でき、前記フォームラインのマッチング結果及びフォームライン交点のマッチング結果によっても、フォーム画像と前記予め設定されたフォームテンプレートとの変換パラメータを決定できる。
マッチングしたフォームラインペアそれぞれ、及び/又はマッチングしたフォームライン交点ペアそれぞれから変換パラメータを取得することにより、認識すべきフォーム画像の全面的な修正を実現することができる。例えば、第1フォームラインそれぞれの伸び方向が予め設定されたフォームテンプレートと一致するように、認識すべきフォーム画像を回転させたり、曲げた第1フォームラインがフラットに修正されるように、認識すべきフォーム画像を伸張させたりすることができる。
幾つかの実施例において、前記フォームラインのマッチング結果には、前記複数のフォームラインペアのマッチング信頼度がさらに含まれ、前記フォームライン交点のマッチング結果には、前記複数のフォームライン交点ペアのマッチング信頼度がさらに含まれ、前記複数のフォームラインペアのうち、第1設定値よりもマッチング信頼度が大きいフォームラインペア、及び/又は前記複数のフォームライン交点ペアのうち、第2設定値よりもマッチング信頼度が大きいフォームライン交点ペアに基づいて、変換パラメータを取得する。
仮に第1設定値が90%、第2設定値が85%であるとすると、以下、図2A及び図2Bを例として説明する。図2Aにおける第1フォームライン20A~29Aと図2Bにおける第2フォームライン20B~29Bとのマッチング結果に含まれるフォームラインペアは、(20A,20B)、(21A、21B)、…(29A、29B)を含み、しかも、上記フォームラインペアそれぞれのマッチング信頼度を確認でき、例えば、(20A,20B)のマッチング信頼度が95%、(21A,21B)のマッチング信頼度が85%である等を確認できる。したがって、マッチング信頼度が90%以上のフォームラインペアを用いて変換パラメータを取得することができる。同じ理由により、マッチング信頼度が85%以上のフォームライン交点ペアを用いて変換パラメータを取得することができるし、マッチング信頼度が90%以上のフォームラインペア及びマッチング信頼度が85%以上のフォームライン交点ペアを用いて変換パラメータを取得することもできる。
設定値よりもマッチング信頼度が高いフォームラインペア及び/又はフォームライン交点ペアを用いて変換パラメータを取得することにより、変換パラメータの精度が向上して、修正されたフォーム画像が予め設定されたフォームテンプレートにより近似することが可能となる。
認識すべきフォーム画像は、平坦な画像ではなく、それに含まれる第1フォームラインが、ある領域内で同一の方向に延びているが、領域全体内で同一の方向に延びていない場合もある。このような場合に応じて、予め設定されたフォームテンプレートにおける複数の領域の対応する変換パラメータそれぞれを用いて、対応する部分のフォーム画像の修正処理を行うことができる。
幾つかの実施例において、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて、前記予め設定されたフォームテンプレートにおける目標領域を決定し、前記目標領域におけるフォームライン及び/又はフォームライン交点に対応するマッチング結果に基づいて、前記認識すべきフォーム画像と前記予め設定されたフォームテンプレートとの変換パラメータを取得するようにしてもよい。その中で、前記目標領域に含まれるフォームライン及び/又はフォームライン交点に対応するマッチング結果は、予め設定された条件を満たすものである。
前記予め設定された条件は、前記目標領域におけるマッチングしたフォームラインペア及び/又はフォームライン交点ペアの数(割合)が第1条件を満たすことと、前記目標領域におけるマッチングしたフォームラインペア及び/又はフォームライン交点ペアに対応するマッチング信頼度が第2条件を満たすことと、のうちの一つまたは複数を含むようにしてもよい。
数が第1条件を満たすとは、例えば、数が10より大きいまたは割合(フォームライン総数及び/又はフォームライン交点総数に対する割合)が50%より大きいことを意味しており、マッチング信頼度が第2条件を満たすとは、マッチング信頼度が90%より高いことを意味している。フォーム画像と予め設定されたフォームテンプレートとのフォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果が既知である場合、予め設定されたフォームテンプレートに対して、マッチング対象のあるフォームライン及び/又はフォームライン交点の数が10より大きい(割合が50%より大きい)領域を目標領域として決定するか、またはチングしたフォームラインペア及び/又はフォームライン交点ペアに対応するマッチング信頼度が90%よりも高い領域を目標領域として決定するか、または割合が50%より大きい且つマッチングしたフォームラインペア及び/又はフォームライン交点ペアに対応するマッチング信頼度が90%よりも高い領域を目標領域として決定することができる。
予め設定されたフォームテンプレートには少なくとも2つのテンプレート領域が含まれている場合、テンプレート領域それぞれに対して、対応する目標領域を決定するとともに、テンプレート領域それぞれに対応する目標領域におけるフォームライン及び/又はフォームライン交点に対応するマッチング結果に基づいて、前記テンプレート領域それぞれに対応する変換パラメータを取得するようにしてもよい。
本開示の実施例において、予め設定されたフォームテンプレートにおける複数のテンプレート領域それぞれに対して、対応する変換パラメータを取得することにより、認識すべきフォーム画像中の各部分の独立的な修正を実現することができる。全体となるフォーム画像中の各部分の変形、歪みが一致しない場合には、より良い修正効果を実現することができる。
1つの例示において、前記複数の第1フォームラインのうちマッチングしたフォームラインペアの割合が第1割合値になったこと、及び/又は前記複数の第1フォームライン交点のうちマッチングしたフォームライン交点ペアの割合が第2割合値になったことに応じて、前記認識すべきフォーム画像のフォームライン抽出結果と予め設定されたフォームテンプレートとに基づいて、前記認識すべきフォーム画像の修正処理を行う。
例えば、第1フォームラインのうちマッチングしたフォームラインペアの割合が50%になった、及び/又は第1フォームライン交点のうちマッチングしたフォームライン交点ペアの割合が50%になった場合、前記認識すべきフォーム画像と予め設定されたフォームテンプレートとのマッチングが成功したと確認したので、前記認識すべきフォーム画像のフォームライン抽出結果と予め設定されたフォームテンプレートとに基づいて、前記認識すべきフォーム画像の修正処理を行うことができる。
フォーム画像と予め設定されたフォームテンプレートとのマッチングが成功した場合、さらに認識すべきフォーム画像の修正処理を行うことにより、修正処理の精度を確保することができ、フォーム認識結果の精度を確保することもできる。
幾つかの実施例において、修正されたフォーム画像のテキスト検出を行って、前記認識すべきフォーム画像の複数のテキスト検出ボックスを取得することができる。その中で、各テキスト検出ボックスの相対的な位置により、前記テキスト検出ボックスに対応するフォームボックスを決定し、当該フォームボックスが複数の第1フォームラインにより定義されたものである。その次に、前記複数のテキスト検出ボックスのテキスト認識を行って、テキスト認識結果を取得する。最後、前記複数のテキスト検出ボックスと、前記複数の第1フォームラインにより定義された複数のフォームボックスとのIoU(intersection-over-union)に基づいて、フォーム認識結果を取得する。例えば、テキスト検出ボックスと、それに対応するフォームボックスとのIoUが60%より大きい場合、当該テキスト検出ボックス中のコンテンツが確かに当該フォームボックスに属するものであると確認し、さらに、当該テキスト検出ボックス中のテキスト認識結果を、対応するフォームボックスに加える。
前記テキスト検出ボックスに対して以上の操作を行った後、テキスト検出ボックス中のテキスト認識結果とフォームボックスの対応が実現されて、フォーム認識結果が取得されることが可能となる。
本開示の実施例において、テキスト検出ボックスとフォームボックスとのIoUに基づいてフォーム認識結果を取得することにより、テキスト検出ボックス中のコンテンツとフォームボックスとの対応性が確保され、フォーム認識結果の精度が向上する。
幾つかの実施例において、前記予め設定されたフォームテンプレートに基づいて、前記認識すべきフォーム画像における、前記複数の第1フォームラインにより定義された複数のフォームボックスのうち検出すべき少なくとも1つの目標フォームボックスを決定するようにしてもよい。その次に、前記少なくとも1つの目標フォームボックスのテキスト認識を行って、前記少なくとも1つの目標フォームボックスそれぞれのテキスト認識結果を取得する。最後、前記少なくとも1つの目標フォームボックスのテキスト認識結果に基づいて、フォーム認識結果を取得する。
認識すべき目標が、フォーム全体のコンテンツではなく、所定の数のフォームボックス中のコンテンツである場合、検出すべき目標フォームボックスを決定してそのテキスト認識を行うことにより、フォーム認識の速度及び効率を向上させることができる。
本開示の実施例において、予め設定されたフォームテンプレートにより検出すべき目標フォームボックスを決定することにより、前記目標フォームボックスのテキスト認識を行って、これらの目標フォームボックスのフォーム認識結果を取得するようにしてもよい。
幾つかの実施例において、前記予め設定されたフォームテンプレートの複数のフォームボックスのうち少なくとも1つの目標フォームボックスは、ユーザに入力された認識条件により決定されたものであってもよい。図2Bを例とすると、ユーザの認識条件は、アカウント名とアカウント番号の対応するフォームボックスのテキストコンテンツの認識であってもよく、この場合、検出すべき目標フォームボックスが、アカウント名の対応するフォームボックス(「アカウント名」の所属するフォームボックスではなく、「アカウント名」の対応するコンテンツの所属するフォームボックスである)、及びアカウント番号の対応するフォームボックス(「アカウント番号」の所属するフォームボックスではなく、「アカウント番号」の対応するコンテンツの所属するフォームボックスである)であると確認することができる。
幾つかの実施例において、目標フォームボックスの属性を設定し、前記目標フォームボックスの属性と前記目標フォームボックスのテキスト認識結果とに基づいて、フォーム認識結果を取得するようにしてもよい。
例えば、前記予め設定されたフォームテンプレートにおいて、検出すべき目標フォームボックスとして、アカウント番号のコンテンツの対応するフォームボックスを選択し、当該目標フォームボックスの属性を「アカウント番号」と設定し、このようにすると、この目標フォームボックスのテキスト認識を行う際に、当該目標フォームボックスの属性である「アカウント番号」及び当該フォームボックスのコンテンツをフォーム認識結果とする。
幾つかの実施例において、前記予め設定されたフォームテンプレートは、参照フォーム画像により取得されるものであってもよい。その中で、前記参照フォーム画像とは、認識すべきフォーム画像とレイアウトが同じ又は類似するフォーム画像や、一部のレイアウトが同じ又は類似するフォーム画像を指す。
先ず、前記参照フォーム画像のフォームライン抽出処理を行って、参照フォーム画像のフォームライン抽出結果を取得するようにしてもよい。フォームライン抽出処理の実行方法は、ステップ101にて用いられたフォームライン抽出処理方法と同じでも異なってもよく、本実施例ではこれを限定しない。
フォームライン抽出結果について、ユーザによる入力によって当該フォームライン抽出結果の修正処理を行って、フォームラインが一層明晰な予め設定されたフォームテンプレートを取得するようにしてもよい。例えば、元のフォームライン抽出結果を基にして、手動で線を再描画するようにマウスを操作することができる。
図3は、予め設定されたフォームテンプレートの修正を示す概略図である。図3において、フォームライン30、31、32、34、35、39は修正されたものであるが、その他のフォームラインは修正処理されないものである。図3から明らかなように、修正されたフォームラインは、修正処理されないフォームラインに比べ、より一層明晰なものである。そのため、フォームライン抽出結果の修正処理を行って取得した予め設定されたフォームテンプレートは、品質が向上することとなる。
図2B及び図3は、例示ためのものに過ぎず、図中のフォームのコンテンツが明晰であるか否かは、本開示の実施例に係る技術案への理解に影響を及ぼさないことは、本技術分野の当業者に理解されるべきである。
図4は、本開示の実施例に示される別のフォーム認識方法のフローチャートである。図4に示すように、当該方法は、ステップ401~403を含む。
ステップ401において、参照フォーム画像のフォームライン抽出処理を行って、前記参照フォーム画像のフォームライン抽出結果を取得する。
本開示の実施例において、前記参照フォーム画像は、任意のフォーム画像であり、且つ複数の方法により参照フォーム画像のフォームライン抽出処理を行って参照フォーム画像のフォームライン抽出結果を取得するようにしてもよい。本開示の実施例は、フォームライン抽出結果を取得するための具体的な方法を限定することを意図していない。
参照フォーム画像のフォームライン抽出結果は、図5に示すように、第2フォームライン50~59を含む。
ステップ402において、前記フォームライン抽出結果に基づいて、複数の第2フォームライン及び/又は複数の第2フォームライン交点が含まれるフォームテンプレートを生成する。
図5に示すフォームライン抽出結果を例とすると、第2フォームライン50~59に基づいて生成したフォームテンプレートは、第2フォームライン50~59を含んでもよいし、第2フォームラインにより得られた複数の第2フォームライン交点を含んでもよいし、第2フォームライン50~59及び複数の第2フォームライン交点を含んでもよい。
生成したフォームテンプレートにおいて、複数の第2フォームラインにより複数のフォームボックスが構成されている。
幾つかの実施例において、ステップ401にて得られたフォームライン抽出結果を取得した後に、前記フォームライン抽出結果、例えば図5に示されているフォームライン抽出結果を表示し、ユーザによる確認指令を受信したことに応じて、前記フォームライン抽出結果に基づいてフォームテンプレートを生成するようにしてもよい。
フォームライン抽出結果を取得した後に、ユーザにより確認されてからフォームテンプレートを生成することにより、生成するフォームテンプレートの精度を確保することができる。
幾つかの実施例において、ステップ401にて得られたフォームライン抽出結果を取得した後に、ユーザによる調整指令を受信したことに応じて、前記フォームライン抽出結果の調整処理を行って調整結果を取得し、さらに前記調整結果に基づいてフォームテンプレートを生成するようにしてもよい。
フォームライン抽出結果を調整してからフォームテンプレートを生成することにより、生成するフォームテンプレートの精度を確保することができる。
ステップ403において、前記フォームテンプレートに基づいて認識すべきフォーム画像のテキスト認識処理を行って、フォーム認識結果を取得する。
前記認識すべきフォーム画像のレイアウトは、前記フォームテンプレートのレイアウトとは同じでも類似しても、または一部で同じでも類似してもよい。
本開示の実施例において、参照フォーム画像のフォームライン抽出結果に基づいてフォームテンプレートを生成することにより、認識すべきフォーム画像の認識が実現され、認識の速度が速く且つ精度が高い。幾つかの実施例において、前記方法は、ユーザからの、前記フォームテンプレートにおける認識の必要な目標フォームエントリを指示するための認識指令を受信するステップと、前記フォームテンプレートに基づいて前記認識すべきフォーム画像における目標フォームエントリのテキスト認識処理を行ってフォーム認識結果を取得するステップとをさらに含む。
ユーザはフォームテンプレートにおける一つまたは複数のフォームボックスを認識の必要な目標フォームエントリとして指示し、認識すべきフォームのテキスト認識処理を行う際に、前記フォームテンプレートにおける目標フォームエントリに基づいて前記認識すべきフォームにおける対応するフォームボックスを決定するとともに、前記フォームボックスのコンテンツに対してテキスト認識処理を行ってフォーム認識結果を取得することができる。
認識の必要な目標フォームエントリを設定して前記認識すべきフォーム画像における対応するフォームボックスのテキスト認識を行うことにより、フォームの認識効率を向上させることができる。
図6は、本開示の実施例に示されるフォーム抽出方法のフローチャートであり、当該方法は、認識すべきフォーム画像のフォームライン抽出処理を行って、認識すべきフォーム画像のフォームライン抽出結果を取得するためのものである。図6に示すように、当該方法は、ステップ601~604を含む。
ステップ601において、前記認識すべきフォーム画像における複数の有向単一接続チェーン(Directional Single-Connected Chain)を決定する。
その中で、有向単一接続チェーンは、関連する方向に連続しているラン(Run)からなり、前記ランが連続しているピクセルストリップ(pixel strip)である。有向単一接続チェーンは通常、横方向の単一接続チェーンと縦方向の単一接続チェーンとを含み、それに応じて、ランも通常、横方向のランと縦方向のランとを含む。
図7は、例示的な有向単一接続チェーンを示す概略図である。図7には、複数の縦方向のランがあり、例えば、ラン71が1つの縦方向のランであり、その中で、画素72が当該ランの開始画素、画素73が当該ランの終了画素である。縦方向のランにとって、開始画素と終了画素は縦方向に整列されている(図7には図示されていない)。同様に、横方向のランにとって、開始画素と終了画素は横方向に整列されている。図7に示すように、フレーム74内の複数の横方向に接続する縦方向のランにより、横方向の単一接続チェーンが構成されている。同様に、複数の縦方向に接続する横方向のランにより、縦方向の接続チェーンが構成されている(図7には図示されていない)。
幾つかの実施例において、フォーム画像における複数の有向接続チェーンは、以下のように決定することができる。先ず、前記認識すべきフォーム画像の2値化データを取得する。すなわち、フォーム画像におけるすべての画素に対して2値化を行い、それぞれの画素が黒いものであるか、または白いものである。2値化されたフォーム画像において、黒いフォームラインが黒い画素、背景部分が白い画素にそれぞれ対応するようにしてもよいし、黒いフォームラインが白い画素、背景部分が黒い画素にそれぞれ対応するようにしてもよい。その次に、前記2値化データに基づいて、第1方向における複数のランを取得する。そして、前記複数のランのうち、第2方向に接続された少なくとも2つのランに基づいて、前記複数の有向単一接続チェーンを決定する。
第1方向が縦方向、第2方向が横方向である場合、縦方向における複数のランを取得するとともに、横方向に接続された少なくとも2つの縦方向のランに基づいて複数の横方向の単一接続チェーンを決定するが、第1方向が横方向、第2方向が縦方向である場合、横方向における複数のランを取得するとともに、縦方向に接続された少なくとも2つの横方向のランに基づいて複数の縦方向の単一接続チェーンを決定する。
幾つかの実施例において、前記複数のランのうち第1ランを除去して複数の余剰ランを取得し、前記第1ランの一側には少なくとも2つの隣接するランがあり、前記複数の余剰ランのうち第2方向に接続された少なくとも2つのランに基づいて前記複数の有向単一接続チェーンを決定するようにしてもよい。
有向単一接続チェーン内部(両端が除外)のいずれかのランの両側には、それと隣接するランが1つ且つ1つのみある。図7に示すように、有向単一接続チェーン内部のラン71の両側それぞれには、それと隣接するランが1つある。それに対して、ラン75は左側に、それと隣接するランが2つあり、ラン76は同様に左側に、それと隣接するランが2つある。したがって、ラン75及びラン76を除去して、余剰のランにより有向単一接続チェーンを決定することができる。
フォームの検出において、フォームラインと文字がくっついたり重なったりして、分離しにくくなると、フォームラインの検出が難しくなる。有向単一接続チェーンによるフォームラインの抽出に応じて、文字とフォームラインがくっついたり重なったりすると、関連するランの両側または一側に、それと隣接するランが2つまたは2つ以上ある。このようなランをろ過除去することにより、フォームラインをより精確に抽出し、かつ文字の誤削除を回避することが可能となる。
以上の方法により、フォーム画像に含まれた複数の有向単一接続チェーンには、複数の横方向の単一接続チェーンと、複数の縦方向の単一接続チェーンが含まれると確認することができる。図8Aは、フォーム画像から得られた複数の有向単一接続チェーンを示す概略図であり、はっきり表示するために、これらの有向単一接続チェーンを黒い背景、白い画素で例示的に示す。
ステップ602において、前記複数の有向単一接続チェーンのうち、結合条件を満たす少なくとも二つの有向単一接続チェーンに対して第1結合処理を行って、複数の第1結合線分を取得する。
図8Aに示すように、ノイズの影響により、フォーム画像から決定された複数の有向単一接続チェーンが破断した可能性があり、よって、フォームラインの破断を解決するため、破断した有向単一接続チェーンを結合する必要がある。
元々同一のフォームラインに属さない二つまたは複数の有向単一接続チェーンの誤結合を回避するために、合理的な結合条件を設定する必要がある。二つの有向単一接続チェーンの間隔距離、位置、傾斜度などの情報に基づいて、二つの有向単一接続チェーンが結合条件を満たすか否かを判断することができる。複数の有向単一接続チェーンについて、それぞれの有向単一接続チェーンが他の有向単一接続チェーンの何れかと結合条件を満たすとすれば、それら複数の有向単一接続チェーンが結合規則を満たすと言え、それら複数の有向単一接続チェーンに対して第1結合処理を行うことができる。画像における結合条件を満たす全ての有向単一接続チェーンに対して結合処理を行った後に、複数の第1結合線分が得られる。
図8Aに示される複数の有向単一接続チェーンを例とすると、チェーン81とチェーン82とが結合条件を満たし、且つチェーン82とチェーン83とが結合条件を満たす場合、チェーン81、チェーン82、チェーン83が結合条件を満たすとは言え、これら3本の有向単一接続チェーンを結合して、1本の第1結合線分84を取得する(図8B参照)。
幾つかの実施例において、少なくとも二つの有向単一接続チェーンは、以下のように結合することができる。先ず、有向単一接続チェーンそれぞれにおけるランそれぞれの中点を決定し、結合すべき複数の有向単一接続チェーンに含まれた複数のランの中点に基づいてフィッティングを実行して、第1結合線分を取得する。
図7は、複数のランの中点に基づくフィッティングにより線分を得ることを示す概略図である。図7に示すように、ラン内の黒い点は当該ランの中点を示し、ランの中点に基づくフィッティングを実行することにより、対応する線分を取得することができる(破線の所在する位置は、フィッティングにより取得した線分の所在する位置である)。なお、後続の更なる結合中に利用できるように、フィッティングにより取得した線分の端点や傾斜度などの情報を格納することができる。
幾つかの実施例において、前記結合条件は、結合すべき二つの対象の端点間の最小距離が第1閾値よりも小さいことと、前記結合すべき二つの対象の端点間の最大距離が第2閾値よりも小さいことと、前記結合すべき二つの対象の各端点と、前記最大距離に対応する連結線との最大距離が前記第2閾値よりも小さいこととのうちの一つまたは複数を含み、前記結合すべき対象は、有向単一接続チェーンまたは第i結合線分である。
図9に示されている有向単一接続チェーン91及び有向単一接続チェーン92を例とすると、前記結合条件は、チェーン91の端点とチェーン92の端点間の最小距離d1が第1閾値よりも小さいことと、チェーン91の端点とチェーン92の端点間の最大距離d2が第2閾値よりも小さいことと、チェーン91及びチェーン92の各端点とd2に対応する連結線との最大距離d3が第2閾値よりも小さいこととのうちの一つまたは複数を含む。前記第1閾値及び第2閾値は、フォームライン抽出の精度要求に応じて具体的に設定され得る。
ステップ603において、複数の第i結合線分のうち、前記結合条件を満たす少なくとも二つの第i結合線分に対して第i+1結合処理を行って、少なくとも一つの第i+1結合線分を取得する。
ステップ602で取得した複数の第1結合線分に対して、結合条件に基づく結合を引き続き行うことができる。第i+1回の結合処理において、結合条件を満たす少なくとも二つの第i結合線分に対して結合処理を行って、少なくとも一つの第i+1結合線分を取得する。
幾つかの実施例において、以下のように、少なくとも二つの第i結合線分に対して結合処理を行って、第i+1結合線分を取得することができる。具体的には、前記第i結合線分に含まれた有向単一接続チェーンにおけるランそれぞれの中点を決定し、結合すべき第i結合線分に含まれた複数のランの中点に基づくフィッティングを実行して、第i+1結合線分を取得する。
幾つかの実施例において、第i結合線分の少なくとも一端を少なくとも1画素拡張して、前記第i結合線分の拡張線分を取得し、前記複数の第i結合線分それぞれの拡張線分に基づいて、前記複数の第i結合線分から、前記結合条件を満たす少なくとも二つの第i結合線分を決定するようにしてもよい。
例えば、第4回の結合処理の場合、第3結合線分の両端それぞれを3画素拡張して、第3結合線分の拡張線分を取得する。複数の第3結合線分の拡張線分間が結合条件を満たすか否かを判断して、結合条件を満たす第3結合線分に対して結合処理を行うことにより、複数の第4結合線分を取得することができる。
ノイズの影響により、元々連続している線分が破断し、且つ破断距離が長すぎて結合条件を満たすことが困難となるおそれはある。線分を拡張してから、それが結合条件を満たすか否かを判断することにより、この問題が解決され、抽出したフォームラインが一層完璧になる。
ステップ604において、N回の結合処理の結合結果に基づいて前記認識すべきフォーム画像のフォームライン抽出結果を取得し、前記i及びNは整数であり、かつiは1よりも大きく、Nよりも小さいものである。
図8Cには、例示的なフォームライン抽出結果が示されている。図8Cに示すように、結合線分を拡張して、それが結合条件を満たすか否かを判断することにより、フォームラインの破断を更に修復することができる。
本開示の実施例で提供されるフォーム抽出方法は、任意のフォーム画像に適用でき、例えば、以上の認識すべきフォーム画像または参照フォーム画像などに適用でき、本開示の実施例はこれを限定しないと理解されるべきである。
図10は、本開示の実施例に示されるフォーム認識過程の概略図である。図10に示すように、フォーム認識過程は主として、予め設定されたテンプレート作成段階と、予め設定されたテンプレート修正段階と、フォーム画像認識段階との3つの段階を含む。
予め設定されたテンプレート作成段階において、先ず、参照フォーム画像をアップロードし、当該参照フォーム画像は認識すべきフォーム画像とはレイアウトが同じまたは一部で同じものである。その次に、参照フォーム画像におけるフォームラインがフラットになり、フォームボックスの形状が整然になるように、当該参照フォーム画像の修正を行い、例えば透視変換や、ひずみの調整を行う。その後、フォーム中のフォームラインの描画により予め設定されたテンプレートを作成してもよいし、参照フォーム画像中のフォームラインの抽出により予め設定されたテンプレートを作成してもよい。複数のフォームラインにより限定された各フォームボックスについては、後続のフォーム画像認識段階でのテキストコンテンツの認識に利用できるように、設定数、設定箇所のフォームボックスを、検出すべき目標フォームボックスとして選定することができる。
フォーム画像認識結果が想定を満たさない場合、予め設定されたテンプレート修正段階に進む。より明晰、フラットなフォームラインが取得できるように、描画されたフォームラインに対して編集を行い、例えば当該フォームラインを再描画したり当該フォームラインを太字または真っ直ぐにしたりするなどの操作を行うことができる。フォームラインの修正後、目標フォームボックスを改めて選定して、認識すべき領域を改めて決定することもできる。
フォーム画像認識結果が想定を満たす場合、フォーム画像認識段階に進む。アップロードされた認識すべきフォーム画像に対して個別に認識してもよく、複数のフォーム画像をバッチ認識してもよく、例えば、API呼び出しによりバッチ認識を実現することができる。
図11には、フォーム認識装置が示されている。図11に示すように、当該装置は、認識すべきフォーム画像のフォームライン抽出処理を行って、前記認識すべきフォーム画像の、複数の第1フォームライン及び/又は複数の第1フォームライン交点が含まれるフォームライン抽出結果を取得するための処理ユニット1101と、前記認識すべきフォーム画像のフォームライン抽出結果と予め設定されたフォームテンプレートとに基づいて前記認識すべきフォーム画像の修正処理を行い、ここで、前記予め設定されたフォームテンプレートには、予め設定された複数の第2フォームライン及び/又は予め設定された複数の第2フォームライン交点が備えられるための修正ユニット1102と、修正された前記認識すべきフォーム画像のテキスト認識処理を行って、フォーム認識結果を取得するための認識ユニット1103と、を備えるようにしてもよい。
幾つかの実施例において、修正ユニット1102は具体的には、前記複数の第1フォームラインと前記複数の第2フォームラインのマッチング処理を行ってフォームラインのマッチング結果を取得する、及び/又は、前記複数の第1フォームライン交点と前記複数の第2フォームライン交点とのマッチング処理を行ってフォームライン交点のマッチング結果を取得し、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて前記認識すべきフォーム画像の修正処理を行うために用いられる。
幾つかの実施例において、修正ユニット1102は、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて前記認識すべきフォーム画像の修正処理を行うために用いられる際に、具体的には、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて、前記認識すべきフォーム画像と前記予め設定されたフォームテンプレートとの変換パラメータを取得し、ここで、前記フォームラインのマッチング結果は、前記複数の第1フォームラインと前記複数の第2フォームラインの複数のフォームラインペアのマッチング結果が含まれ、前記フォームライン交点のマッチング結果は、前記複数の第1フォームライン交点と前記複数の第2フォームライン交点の複数のフォームライン交点ペアのマッチング結果が含まれ、前記変換パラメータに基づいて前記認識すべきフォーム画像の修正処理を行うために用いられる。
幾つかの実施例において、修正ユニット1102は、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて、前記認識すべきフォーム画像と前記予め設定されたフォームテンプレートとの変換パラメータを取得するために用いられる際に、具体的には、前記複数のフォームラインペアのうちマッチングしたフォームラインペア、及び/又は前記複数のフォームライン交点ペアのうちマッチングしたフォームライン交点ペアに基づいて、前記認識すべきフォーム画像と前記予め設定されたフォームテンプレートとの変換パラメータを取得するために用いられる。
幾つかの実施例において、前記フォームラインのマッチング結果には、前記複数のフォームラインペアのマッチング信頼度が含まれ、前記フォームライン交点のマッチング結果には、前記複数のフォームライン交点ペアのマッチング信頼度が含まれ、さらに、修正ユニット1102は、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて、前記認識すべきフォーム画像と前記予め設定されたフォームテンプレートとの変換パラメータを取得するために用いられる際に、具体的には、前記複数のフォームラインペアのうち、第1設定値よりもマッチング信頼度が大きいフォームラインペア、及び/又は前記複数のフォームライン交点ペアのうち、第2設定値よりもマッチング信頼度が大きいフォームライン交点ペアに基づいて、前記変換パラメータを取得するために用いられる。
幾つかの実施例において、修正ユニット1102は、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて、前記認識すべきフォーム画像と前記予め設定されたフォームテンプレートとの変換パラメータを取得するために用いられる際に、具体的には、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて、前記予め設定されたフォームテンプレートにおける目標領域を決定し、前記目標領域に含まれるフォームライン及び/又はフォームライン交点に対応するマッチング結果が予め設定された条件を満たし、前記目標領域におけるフォームライン及び/又はフォームライン交点に対応するマッチング結果に基づいて前記認識すべきフォーム画像と前記予め設定されたフォームテンプレートとの変換パラメータを取得するために用いられる。
幾つかの実施例において、前記予め設定されたフォームテンプレートには少なくとも2つのテンプレート領域が含まれ、さらに、修正ユニット1102は、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて、前記予め設定されたフォームテンプレートにおける目標領域を決定するために用いられる際に、具体的には、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて前記少なくとも2つのテンプレート領域それぞれに対応する目標領域を取得するために用いられ、前記目標領域におけるフォームライン及び/又はフォームライン交点に対応するマッチング結果に基づいて前記認識すべきフォーム画像と前記予め設定されたフォームテンプレートとの変換パラメータを取得することは、前記少なくとも2つのテンプレート領域それぞれに対応する目標領域におけるフォームライン及び/又はフォームライン交点に対応するマッチング結果に基づいて前記テンプレート領域それぞれに対応する変換パラメータを取得することを含む。
幾つかの実施例において、前記予め設定された条件は、前記目標領域におけるマッチングしたフォームラインペア及び/又はフォームライン交点ペアの数が第1条件を満たすことと、前記目標領域におけるマッチングしたフォームラインペア及び/又はフォームライン交点ペアに対応するマッチング信頼度が第2条件を満たすことと、のうちの一つまたは複数を含む。
幾つかの実施例において、修正ユニット1102は、前記認識すべきフォーム画像のフォームライン抽出結果と予め設定されたフォームテンプレートとに基づいて前記認識すべきフォーム画像の修正処理を行うために用いられる際に、具体的には、前記複数の第1フォームラインのうちマッチングしたフォームラインペアの割合が第1割合値になったこと、及び/又は前記複数の第1フォームライン交点のうちマッチングしたフォームライン交点ペアの割合が第2割合値になったことに応じて、前記認識すべきフォーム画像のフォームライン抽出結果と予め設定されたフォームテンプレートとに基づいて、前記認識すべきフォーム画像の修正処理を行うために用いられる。
幾つかの実施例において、認識ユニット1101は具体的に、修正されたフォーム画像のテキスト検出を行って前記認識すべきフォーム画像の複数のテキスト検出ボックスを取得し、前記複数のテキスト検出ボックスのテキスト認識を行ってテキスト認識結果を取得し、前記複数のテキスト検出ボックスと、前記複数の第1フォームラインにより定義された複数のフォームボックスとのIoU(intersection-over-union)に基づいて前記フォーム認識結果を取得するために用いられる。
幾つかの実施例において、認識ユニット1101は具体的に、前記予め設定されたフォームテンプレートに基づいて、前記認識すべきフォーム画像における前記複数の第1フォームラインにより定義された複数のフォームボックスのうち検出すべき少なくとも1つの目標フォームボックスを決定し、前記少なくとも1つの目標フォームボックスのテキスト認識を行って前記少なくとも1つの目標フォームボックスそれぞれのテキスト認識結果を取得し、前記少なくとも1つの目標フォームボックスのテキスト認識結果に基づいてフォーム認識結果を取得するために用いられる。
幾つかの実施例において、認識ユニット1101は、前記予め設定されたフォームテンプレートに基づいて、前記認識すべきフォーム画像における前記複数の第1フォームラインにより定義された複数のフォームボックスのうち検出すべき少なくとも1つの目標フォームボックスを決定するために用いられる際に、具体的には、前記予め設定されたフォームテンプレートに基づいて、前記認識すべきフォーム画像における前記複数の第1フォームラインにより定義された複数のフォームボックスのうち検出すべき少なくとも1つの目標フォームボックスを決定するために用いられる。
幾つかの実施例において、前記装置は、前記目標フォームボックスの属性を設定するための設定ユニットをさらに備え、さらに、前記認識ユニットは、前記少なくとも1つの目標フォームボックスのテキスト認識結果に基づいてフォーム認識結果を取得するために用いられる際に、具体的には、前記目標フォームボックスの属性と前記目標フォームボックスのテキスト認識結果とに基づいてフォーム認識結果を取得するために用いられる。
幾つかの実施例において、前記装置は、参照フォーム画像のフォームライン抽出処理を行って前記参照フォーム画像のフォームライン抽出結果を取得し、前記参照フォーム画像のフォームライン抽出結果に対してユーザによる入力に基づく修正処理を行って、前記予め設定されたフォームテンプレートを取得するためのテンプレート取得ユニットをさらに備える。
図12は、本開示の実施例に示されるフォーム抽出装置の概略図である。図12に示すように、前記装置は、前記認識すべきフォーム画像における複数の有向単一接続チェーンを決定するための決定ユニット1201と、前記複数の有向単一接続チェーンのうち結合条件を満たす少なくとも二つの有向単一接続チェーンに対して第1結合処理を行って複数の第1結合線分を取得するための第1結合ユニット1202と、複数の第i結合線分のうち前記結合条件を満たす少なくとも二つの第i結合線分に対して第i+1結合処理を行って、少なくとも一つの第i+1結合線分を取得するための第2結合ユニット1203と、N回の結合処理の結合結果に基づいて前記認識すべきフォーム画像のフォームライン抽出結果を取得するための取得ユニット1204と、を備え、前記i及びNは整数であり、かつiは1よりも大きく、Nよりも小さいものである。
幾つかの実施例において、前記装置は、前記第i結合線分の少なくとも一端を少なくとも1画素拡張して前記第i結合線分の拡張線分を取得し、前記複数の第i結合線分それぞれの拡張線分に基づいて、前記複数の第i結合線分から、前記結合条件を満たす少なくとも二つの第i結合線分を決定するための拡張ユニットをさらに備える。
幾つかの実施例において、前記フォームライン抽出ユニットは、前記認識すべきフォーム画像における複数の有向単一接続チェーンを決定するために用いられる際に、具体的には、前記認識すべきフォーム画像の2値化データを取得すること、前記2値化データに基づいて第1方向における複数のランを取得すること、前記複数のランのうち、第2方向に接続された少なくとも2つのランに基づいて前記複数の有向単一接続チェーンを決定するために用いられる。
幾つかの実施例において、前記装置は、前記複数のランのうち第1ランを除去して複数の余剰ランを取得するための除去ユニットをさらに備え、前記第1ランの一側には、それと隣接するランが少なくとも2つある。前記フォームライン抽出ユニットは、前記複数のランのうち、第2方向に接続された少なくとも2つのランに基づいて前記複数の有向単一接続チェーンを決定するために用いられる際に、具体的には、前記複数の余剰ランのうち第2方向に接続された少なくとも2つのランに基づいて前記複数の有向単一接続チェーンを決定するために用いられる。
幾つかの実施例において、前記結合条件は、結合すべき二つの対象の端点間の最小距離が第1閾値よりも小さいことと、前記結合すべき二つの対象の端点間の最大距離が第2閾値よりも小さいことと、前記結合すべき二つの対象の各端点と、前記最大距離に対応する連結線との最大距離が前記第2閾値よりも小さいこととのうちの一つまたは複数を含み、前記結合すべき対象は、有向単一接続チェーンまたは第i結合線分である。
幾つかの実施例において、前記フォームライン抽出ユニットは、前記少なくとも二つの第i結合線分に対して第i+1結合処理を行って少なくとも一つの第i+1結合線分を取得するために用いられる際に、具体的には、前記第i結合線分に含まれる有向単一接続チェーンにおけるランそれぞれの中点を決定すること、結合すべき第i結合線分に含まれる複数のランの中点に基づくフィッティングを実行して、第i+1結合線分を取得するために用いられる。
本開示の実施例で提供される装置は、上記した任意の実施例による方法を実行でき、それに応じて、上記した任意の実施例による方法におけるステップ及び/又は流れを実行するためのモジュール又はユニットを含むと理解されるべきであり、ここでは、簡潔のため、重複に説明しないものとする。
図13は、本開示の少なくとも一実施例で提供されるフォーム認識デバイスであり、前記デバイスは、プロセッサ上で実行可能なコンピュータ指令を記憶するためのメモリと、前記コンピュータ指令を実行する際に本開示の任意の実施例で説明されたフォーム認識方法を実現するためのプロセッサとを備える。
図14は、本開示の少なくとも一実施例で提供されるフォーム抽出デバイスであり、前記デバイスは、プロセッサ上で実行可能なコンピュータ指令を記憶するためのメモリと、前記コンピュータ指令を実行する際に本開示の任意の実施例で説明されたフォーム抽出方法を実現するためのプロセッサとを備える。
本開示の少なくとも一実施例では、コンピュータプログラムが記憶されたコンピュータ読み取り可能記憶媒体がさらに提供され、プロセッサにより前記プログラムが実行される際に、本開示の任意の実施例で説明されたフォーム認識方法が実現されることとなる。
本開示の少なくとも一実施例では、コンピュータプログラムが記憶されたコンピュータ読み取り可能記憶媒体がさらに提供され、プロセッサにより前記プログラムが実行される際に、本開示の任意の実施例で説明されたフォーム抽出方法が実現されることとなる。
本明細書の一または複数の実施例を、方法、システム、またはコンピュータプログラム製品として具体化できることは、本技術分野の当業者には明らかであろう。したがって、本明細書の一または複数の実施例は、完全なハードウェア実施例、完全なソフトウェア実施例、またはソフトウェアとハードウェアを組み合わせた実施例の形をとることができる。さらに、本明細書の一または複数の実施例は、コンピュータ使用可能プログラム・コードが組み込まれた、一または複数のコンピュータ使用可能記憶媒体(ディスクストレージ、CD-ROM、光ストレージなどを含むが、これらに制限されない)上で実行されるコンピュータプログラム製品の形をとることができる。
本明細書の実施例によれば、コンピュータプログラムを記憶可能なコンピュータ可読記憶媒体がさらに提供され、プロセッサにより前記プログラムが実行される際に、本明細書の任意の実施例で説明された、運転者の注視領域の検出方法のステップ、及び/又は、本明細書の任意の実施例で説明された、運転者の注視領域の神経ネットワークのトレーニング方法のステップが実現されることとなる。その中で、前記「及び/又は」は、少なくとも両者の何れかを有することを示し、例えば、「A及び/又はB」は、A、B、「AとB」の3種の技術案を含む。
本明細書における各実施例は何れも漸進の方式で説明されたものであり、各実施例では他の実施例との相違点が重点的に説明され、各実施例間の同じまたは類似部分が互いに参照すればよい。特にデータ処理デバイスに係る実施例については、方法に係る実施例に基本的に類似しているため、説明が比較的簡単で、両者の関連部分は方法に係る実施例の一部の説明を参照すればよい。
以上、本明細書における特定的な実施例について説明した。その他の実施例は、添付の特許請求の範囲内にあるものとする。場合によっては、特許請求の範囲に記載される行為又はステップを実施例と異なる順序で実行することができ、それにしても望まれる結果を実現することができる。また、図面で描写されたプロセスについて、望まれる結果の実現には、図示される特定的な順序または連続的な順序が必ずしも必要としない。幾つかの実施形態においては、マルチタスク処理及び並列処理も許され、あるいは有利となる可能性もある。
本明細書に説明された主題及び機能的動作に係る実施例は、デジタル電子回路、有形に具現化されたコンピュータソフトウェアまたはファームウェア、本明細書に開示される構造およびそれらの構造的同等物を含むコンピュータハードウェア、またはそれらのうちの一または複数の組合せで実現することができる。本明細書に説明された主題に係る実施例は、一または複数のコンピュータプログラム、すなわち、データ処理装置による実行またはデータ処理装置の動作制御のため有形の非一時的プログラム・キャリア上に符号化されたコンピュータプログラム指令の一または複数のモジュールとして実装され得る。代替的にまたは追加的に、プログラム指令は、人為的に生成された伝播信号、たとえば、機械によって生成された電気的信号、光学的信号、または電磁的信号上に符号化されることができ、当該信号は、データ処理装置により実行できるように情報を符号化して好適な受信機装置に送信するために生成されるものである。コンピュータ記憶媒体は、機械可読ストレージデバイス、機械可読ストレージ基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらのうちの一または複数の組合せであってもよい。
本明細書に説明された処理及び論理フローが、一または複数のコンピュータプログラムを実行する一または複数のプログラミング可能なコンピュータにより実行されることにより、入力データによる操作をして出力を生成して、対応する機能を実行することができる。また、前記処理及び論理フローは、専用の論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行されてもよく、さらに、装置も専用の論理回路として実装されてもよい。
コンピュータプログラムの実行に好適なコンピュータは、例えば汎用及び/又は専用マイクロプロセッサ、もしくは任意のその他のタイプの中央処理装置を含む。通常、中央処理装置は、読み出し専用メモリ及び/又はランダムアクセスメモリから指令およびデータを受け取る。コンピュータの基本的な構成要素は、指令を実施または実行するための中央処理装置と、指令及びデータを記憶するための一または複数のメモリデバイスを含む。通常、コンピュータはさらに、データを記憶するための一または複数の大容量ストレージデバイス、たとえば、磁気ディスク、光磁気ディスク又は光ディスク等を含むか、またはこの大容量ストレージデバイスに操作可能に結合されて、この大容量ストレージデバイスからデータを受信するか、この大容量ストレージデバイスにデータを転送するか、またはその両方を行う。しかし、コンピュータは、このようなデバイスを必ずしも備えるわけではない。また、コンピュータは、別のデバイスに組み込まれてもよく、ほんのいくつか例を挙げるとすれば、たとえば、携帯電話、パーソナルデジタルアシスタント(PDA)、モバイルオーディオまたはビデオプレーヤー、ゲームコンソール、グローバルポジショニングシステム(GPS)レシーバー、またはユニバーサルシリアルバス(USB)フラッシュドライブなどの携帯ストレージデバイスが挙げられる。
コンピュータプログラム指令およびデータを記憶するのに適したコンピュータ可読媒体は、すべての形の不揮発性メモリ、媒体、メモリデバイスを含み、例えば、半導体メモリデバイス(例えば、EPROM、EEPROM、フラッシュメモリデバイス)、磁気ディスク(例えば、内蔵ハードディスクまたはリムーバブルディスク)、光磁気ディスク、ならびにCD-ROM及びDVD-ROMディスクを含む。プロセッサおよびメモリは、専用の論理回路によって補完されるか、または専用の論理回路に組み込まれることができる。
本明細書は実施に係る細部をたくさん含むが、これらの細部は、発明の範囲または保護請求する範囲への限定と理解されるべきではなく、主として特定発明の具体的な実施例の特徴を記述するためのものである。本明細書における複数の実施例で説明された若干の特徴は、単一の実施例において組合されて実施されることもできる。一方、単一の実施例で説明された様々な特徴は、複数の実施例で別々に実施されるか、または任意の適切なサブ組み合わせで実施されることもできる。また、特徴については、以上のように、幾つかの組合せで奏し且つ最初にこのように保護請求されているが、場合によって保護請求する組合せからの一または複数の特徴が当該組合せから削除されてもよく、保護請求する組合せがサブ組み合わせまたはサブ組み合わせの変形を対象としてもよい。
同様に、図面では特定的な順序で操作が説明されているが、これは、それらの操作が図示された特定的な順序で実行されるかまたは順次に実行されること、または例示されたすべての操作が実行されることで、望まれる結果を実現するものと理解されるべきでない。場合によっては、マルチタスクおよび並列処理が有利となる可能性もある。さらに、上述の実施例における様々なシステム・モジュールと構成要素の分離は、すべての実施例ではそのような分離が必要となるものと理解されるべきでなく、説明されたプログラムの構成要素とシステムは通常、単一のソフトウェア製品に統合されてもよいし、複数のソフトウェア製品にパッケージングされてもよいと理解されるべきである。
以上のように、主題となる特定的な実施例について記述した。その他の実施例は、添付の特許請求の範囲内にあるものとする。場合によっては、特許請求の範囲に記載されている動作は異なる順序で実行されることができ、それにしても望まれる結果を実現することができる。また、図面で描写されたプロセスについて、望まれる結果の実現には、図示される特定的な順序または順次順序が必ずしも必要としない。幾つかの具現化においては、マルチタスク及び並列処理が有利となる可能性もある。
本開示は、コンピュータビジョン技術に関し、特にフォーム認識方法、フォーム抽出方法および関連する装置に関する。
現在、OCR(Optical Character Recognition、光学文字認識)技術によりテキストデータのスキャンされた画像を認識するのは、一般的である。この技術によると、大部分のテキスト文字を認識できるが、フォーム画像の場合、文字化けることが多いため、フォーム画像を正しく識別できない。
そのため、フォーム画像の認識精度を如何にして向上させるかは、本分野において早急な解決されるべき課題となっている。
本開示の実施例は、フォーム認識案及びフォーム抽出案を提供している。
第1態様は、
認識すべきフォーム画像のフォームライン抽出処理を行って、前記認識すべきフォーム画像のフォームライン抽出結果を取得するステップであって、前記フォームライン抽出結果は、複数の第1フォームライン及び/又は複数の第1フォームライン交点が含まれるステップと、
前記認識すべきフォーム画像のフォームライン抽出結果と予め設定されたフォームテンプレートとに基づいて前記認識すべきフォーム画像の修正処理を行うステップであって、前記予め設定されたフォームテンプレートには、予め設定された複数の第2フォームライン及び/又は予め設定された複数の第2フォームライン交点が備えられるステップと、
修正された前記認識すべきフォーム画像のテキスト認識処理を行ってフォーム認識結果を取得するステップとを含むフォーム認識方法を提供する。
本開示に提供される何れか1つの実施形態により、前記認識すべきフォーム画像のフォームライン抽出結果と予め設定されたフォームテンプレートとに基づいて前記認識すべきフォーム画像の修正処理を行うステップは、前記複数の第1フォームラインと前記複数の第2フォームラインとのマッチング処理を行ってフォームラインのマッチング結果を取得する、及び/又は、前記複数の第1フォームライン交点と前記複数の第2フォームライン交点とのマッチング処理を行ってフォームライン交点のマッチング結果を取得することと、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて前記認識すべきフォーム画像の修正処理を行うことと、を含む。
本開示に提供される何れか1つの実施形態により、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて前記認識すべきフォーム画像の修正処理を行うことは、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて、前記認識すべきフォーム画像と前記予め設定されたフォームテンプレートとの変換パラメータを取得し、前記フォームラインのマッチング結果は、前記複数の第1フォームラインと前記複数の第2フォームラインとの複数のフォームラインペアのマッチング結果が含まれ、前記フォームライン交点のマッチング結果は、前記複数の第1フォームライン交点と前記複数の第2フォームライン交点との複数のフォームライン交点ペアのマッチング結果が含まれることと、前記変換パラメータに基づいて前記認識すべきフォーム画像の修正処理を行うことと、を含む。
本開示に提供される何れか1つの実施形態により、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて、前記認識すべきフォーム画像と前記予め設定されたフォームテンプレートとの変換パラメータを取得することは、前記複数のフォームラインペアのうちマッチングしたフォームラインペア、及び/又は前記複数のフォームライン交点ペアのうちマッチングしたフォームライン交点ペアに基づいて前記認識すべきフォーム画像と前記予め設定されたフォームテンプレートとの変換パラメータを取得することを含む。
本開示に提供される何れか1つの実施形態により、前記フォームラインのマッチング結果には、前記複数のフォームラインペアのマッチング信頼度が含まれ、前記フォームライン交点のマッチング結果には、前記複数のフォームライン交点ペアのマッチング信頼度が含まれており、
前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて、前記認識すべきフォーム画像と前記予め設定されたフォームテンプレートとの変換パラメータを取得することは、前記複数のフォームラインペアのうち、第1設定値よりもマッチング信頼度が大きいフォームラインペア、及び/又は前記複数のフォームライン交点ペアのうち、第2設定値よりもマッチング信頼度が大きいフォームライン交点ペアに基づいて、変換パラメータを取得することを含む。
本開示に提供される何れか1つの実施形態により、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて、前記認識すべきフォーム画像と前記予め設定されたフォームテンプレートとの変換パラメータを取得することは、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて目標領域を決定し、前記目標領域に含まれるフォームライン及び/又はフォームライン交点のマッチング結果が予め設定された条件を満たすことと、前記目標領域におけるフォームライン及び/又はフォームライン交点のマッチング結果に基づいて、前記認識すべきフォーム画像と前記予め設定されたフォームテンプレートとの変換パラメータを取得することと、を含む。
本開示に提供される何れか1つの実施形態により、前記予め設定された条件は、前記目標領域におけるマッチングしたフォームラインペア及び/又はフォームライン交点ペアの数が第1条件を満たすことと、前記目標領域におけるフォームラインペア及び/又はフォームライン交点ペアのマッチング信頼度が第2条件を満たすことと、のうちの一つまたは複数を含む。
本開示に提供される何れか1つの実施形態により、前記予め設定されたフォームテンプレートには少なくとも2つのテンプレート領域が含まれており、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて、前記認識すべきフォーム画像と前記予め設定されたフォームテンプレートとの変換パラメータを取得することは、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて前記少なくとも2つのテンプレート領域それぞれに対応する変換パラメータを取得することを含み、前記変換パラメータに基づいて前記認識すべきフォーム画像の修正処理を行うことは、前記少なくとも2つのテンプレート領域それぞれに対応する変換パラメータに基づいて、前記認識すべきフォーム画像における前記テンプレート領域それぞれに対応する領域に対して修正処理を行うことを含む。
本開示に提供される何れか1つの実施形態により、前記認識すべきフォーム画像のフォームライン抽出結果と予め設定されたフォームテンプレートとに基づいて前記認識すべきフォーム画像の修正処理を行うステップは、前記複数の第1フォームラインのうちマッチングしたフォームラインペアの割合が第1割合値になったこと、及び/又は前記複数の第1フォームライン交点のうちマッチングしたフォームライン交点ペアの割合が第2割合値になったことに応じて、前記認識すべきフォーム画像のフォームライン抽出結果と予め設定されたフォームテンプレートとに基づいて、前記認識すべきフォーム画像の修正処理を行うことを含む。
本開示に提供される何れか1つの実施形態により、修正された前記認識すべきフォーム画像のテキスト認識処理を行って、フォーム認識結果を取得するステップは、修正されたフォーム画像のテキスト検出を行って、前記認識すべきフォーム画像の複数のテキスト検出ボックスを取得することと、前記複数のテキスト検出ボックスのテキスト認識を行って、テキスト認識結果を取得することと、前記複数のテキスト検出ボックスと、前記複数の第1フォームラインにより定義された複数のフォームボックスとのIoUに基づいて、フォーム認識結果を取得することとを含む。
本開示に提供される何れか1つの実施形態により、修正された前記認識すべきフォーム画像のテキスト認識処理を行って、フォーム認識結果を取得するステップは、前記予め設定されたフォームテンプレートに基づいて、前記認識すべきフォーム画像における前記複数の第1フォームラインにより定義された複数のフォームボックスのうち検出すべき少なくとも1つの目標フォームボックスを決定することと、前記少なくとも1つの目標フォームボックスのテキスト認識を行って、前記少なくとも1つの目標フォームボックスそれぞれのテキスト認識結果を取得することと、前記少なくとも1つの目標フォームボックスのテキスト認識結果に基づいて、フォーム認識結果を取得することとを含む。
本開示に提供される何れか1つの実施形態により、前記予め設定されたフォームテンプレートに基づいて、前記認識すべきフォーム画像における前記複数の第1フォームラインにより定義された複数のフォームボックスのうち検出すべき少なくとも1つの目標フォームボックスを決定することは、ユーザによって入力された認識条件を受け取ることと、認識条件に基づいて、前記予め設定されたフォームテンプレートにおける複数のフォームボックスのうち少なくとも1つの目標フォームボックスを決定することとを含む。
本開示に提供される何れか1つの実施形態により、前記方法は、前記目標フォームボックスの属性を設定するステップをさらに含み、前記少なくとも1つの目標フォームボックスのテキスト認識結果に基づいてフォーム認識結果を取得することは、前記目標フォームボックスの属性と前記目標フォームボックスのテキスト認識結果とに基づいてフォーム認識結果を取得することを含む。
本開示に提供される何れか1つの実施形態により、前記方法は、参照フォーム画像のフォームライン抽出処理を行って、前記参照フォーム画像のフォームライン抽出結果を取得するステップと、前記参照フォーム画像のフォームライン抽出結果に対してユーザによる入力に基づく修正処理を行って、前記予め設定されたフォームテンプレートを取得するステップと、をさらに含む。
第2態様は、参照フォーム画像のフォームライン抽出処理を行って、前記参照フォーム画像のフォームライン抽出結果を取得するステップと、前記フォームライン抽出結果に基づいてフォームテンプレートを生成するステップであって、前記フォームテンプレートには、複数の第2フォームライン及び/又は複数の第2フォームライン交点が含まれるステップと、前記フォームテンプレートに基づいて認識すべきフォーム画像のテキスト認識処理を行って、フォーム認識結果を取得するステップと、を含む、別のフォーム認識方法を提供する。
本開示に提供される何れか1つの実施形態により、前記フォームライン抽出結果に基づいてフォームテンプレートを生成するステップは、前記フォームライン抽出結果を表示することと、ユーザによる確認指令を受信したことに応じて、前記フォームライン抽出結果に基づいてフォームテンプレートを生成することと、を含む。
本開示に提供される何れか1つの実施形態により、前記フォームライン抽出結果に基づいてフォームテンプレートを生成するステップは、ユーザによる調整指令を受信したことに応じて、前記フォームライン抽出結果の調整処理を行って調整結果を取得することと、前記調整結果に基づいてフォームテンプレートを生成することと、を含む。
本開示に提供される何れか1つの実施形態により、前記方法は、ユーザから、前記フォームテンプレートにおける認識の必要な目標フォームエントリを指示するための認識指令を受信するステップをさらに含み、前記フォームテンプレートに基づいて認識すべきフォーム画像のテキスト認識処理を行ってフォーム認識結果を取得するステップは、前記フォームテンプレートに基づいて前記認識すべきフォーム画像における目標フォームエントリのテキスト認識処理を行ってフォーム認識結果を取得することを含む。
本開示に提供される何れか1つの実施形態により、前記フォームテンプレートに基づいて認識すべきフォーム画像のテキスト認識処理を行って、フォーム認識結果を取得するステップは、前記認識すべきフォーム画像のフォームライン抽出処理を行って、前記認識すべきフォーム画像の、複数の第1フォームライン及び/又は複数の第1フォームライン交点が含まれるフォームライン抽出結果を取得することと、前記フォームテンプレートに含まれる複数の第2フォームライン及び/又は複数の第2フォームライン交点、及び前記認識すべきフォーム画像のフォームライン抽出結果に基づいて、変換パラメータを取得することと、前記変換パラメータに基づいて前記認識すべきフォーム画像のテキスト認識処理を行って、フォーム認識結果を取得することと、を含む。
本開示に提供される何れか1つの実施形態により、前記フォームテンプレートに含まれる複数の第2フォームライン及び/又は複数の第2フォームライン交点、及び前記認識すべきフォーム画像のフォームライン抽出結果に基づいて、変換パラメータを取得することは、前記複数の第1フォームラインと前記複数の第2フォームラインとのマッチング処理を行ってフォームラインのマッチング結果を取得する、及び/又は、前記複数の第1フォームライン交点と前記複数の第2フォームライン交点とのマッチング処理を行ってフォームライン交点のマッチング結果を取得することと、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて、前記認識すべきフォーム画像と前記フォームテンプレートとの変換パラメータを取得し、前記フォームラインのマッチング結果は、前記複数の第1フォームラインと前記複数の第2フォームラインとの複数のフォームラインペアのマッチング結果が含まれ、前記フォームライン交点のマッチング結果は、前記複数の第1フォームライン交点と前記複数の第2フォームライン交点との複数のフォームライン交点ペアのマッチング結果が含まれることと、を含む。
本開示に提供される何れか1つの実施形態により、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて、前記認識すべきフォーム画像と前記フォームテンプレートとの変換パラメータを取得することは、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて目標領域を決定し、前記目標領域に含まれるフォームライン及び/又はフォームライン交点のマッチング結果が予め設定された条件を満たすものであることと、前記目標領域におけるフォームライン及び/又はフォームライン交点のマッチング結果に基づいて、前記認識すべきフォーム画像と前記フォームテンプレートとの変換パラメータを取得することと、を含む。
本開示に提供される何れか1つの実施形態により、前記予め設定された条件は、前記目標領域におけるマッチングしたフォームラインペア及び/又はフォームライン交点ペアの数が第1条件を満たすことと、前記目標領域におけるフォームラインペア及び/又はフォームライン交点ペアのマッチング信頼度が第2条件を満たすことと、のうちの一つまたは複数を含む。
本開示に提供される何れか1つの実施形態により、前記変換パラメータに基づいて前記認識すべきフォーム画像のテキスト認識処理を行って、フォーム認識結果を取得することは、前記変換パラメータに基づいて、前記認識すべきフォーム画像の修正処理を行うことと、前記修正された認識すべきフォーム画像のテキスト認識処理を行ってフォーム認識結果を取得することと、を含む。
第3態様は、任意の上記フォーム認識方法に選択的に適用するフォーム抽出方法であって、認識すべきフォーム画像における複数の有向単一接続チェーンを決定するステップと、前記複数の有向単一接続チェーンのうち結合条件を満たす少なくとも二つの有向単一接続チェーンに対して第1結合処理を行って、複数の第1結合線分を取得するステップと、複数の第i結合線分のうち前記結合条件を満たす少なくとも二つの第i結合線分に対して第i+1結合処理を行って、少なくとも一つの第i+1結合線分を取得するステップと、N回の結合処理の結合結果に基づいて前記フォーム画像のフォームライン抽出結果を取得するステップと、を含み、前記i及びNは整数であり、かつiは1よりも大きく、Nよりも小さいものである、フォーム抽出方法を提供する。
本開示に提供される何れか1つの実施形態により、前記方法は、前記第i結合線分の少なくとも一端を少なくとも1画素拡張して、前記第i結合線分の拡張線分を取得するステップと、前記複数の第i結合線分それぞれの拡張線分に基づいて、前記複数の第i結合線分から、前記結合条件を満たす少なくとも二つの第i結合線分を決定するステップと、をさらに含む。
本開示に提供される何れか1つの実施形態により、前記結合条件は、結合すべき二つの対象の端点間の最小距離が第1閾値よりも小さいことと、前記結合すべき二つの対象の端点間の第1最大距離が第2閾値よりも小さいことと、前記結合すべき二つの対象の各端点と、前記第1最大距離に対応する連結線との第2最大距離が前記第2閾値よりも小さいこととのうちの一つまたは複数を含み、前記結合すべき対象は、有向単一接続チェーンまたは第i結合線分である。
第4態様は、認識すべきフォーム画像のフォームライン抽出処理を行って、前記認識すべきフォーム画像の、複数の第1フォームライン及び/又は複数の第1フォームライン交点が含まれるフォームライン抽出結果を取得するための処理ユニットと、前記認識すべきフォーム画像のフォームライン抽出結果と予め設定されたフォームテンプレートとに基づいて前記認識すべきフォーム画像の修正処理を行い、ここで、前記予め設定されたフォームテンプレートには、予め設定された複数の第2フォームライン及び/又は予め設定された複数の第2フォームライン交点が備えられるための修正ユニットと、修正された前記認識すべきフォーム画像のテキスト認識処理を行って、フォーム認識結果を取得するための認識ユニットと、を備えるフォーム認識装置を提供する。
第5態様は、参照フォーム画像のフォームライン抽出処理を行って、前記参照フォーム画像のフォームライン抽出結果を取得するための抽出ユニットと、前記フォームライン抽出結果に基づいて、複数の第2フォームライン及び/又は複数の第2フォームライン交点が含まれるフォームテンプレートを生成するための生成ユニットと、前記フォームテンプレートに基づいて認識すべきフォーム画像のテキスト認識処理を行って、フォーム認識結果を取得するための認識ユニットと、を備える、別のフォーム認識装置を提供する。
第6態様は、認識すべきフォーム画像における複数の有向単一接続チェーンを決定するための決定ユニットと、前記複数の有向単一接続チェーンのうち結合条件を満たす少なくとも二つの有向単一接続チェーンに対して第1結合処理を行って複数の第1結合線分を取得するための第1結合ユニットと、複数の第i結合線分のうち前記結合条件を満たす少なくとも二つの第i結合線分に対して第i+1結合処理を行って、少なくとも一つの第i+1結合線分を取得するための第2結合ユニットと、N回の結合処理の結合結果に基づいて前記認識すべきフォーム画像のフォームライン抽出結果を取得するための取得ユニットと、を備え、前記i及びNは整数であり、かつiは1よりも大きく、Nよりも小さいものである、フォーム抽出装置を提供する。
第7態様は、プロセッサ上で実行可能なコンピュータ指令を記憶するためのメモリと、前記コンピュータ指令を実行する際に、本開示の任意の実施例で説明されたフォーム認識方法を実現するためのプロセッサとを備える、フォーム認識デバイスを提供する。
第8態様は、プロセッサ上で実行可能なコンピュータ指令を記憶するためのメモリと、前記コンピュータ指令を実行する際に、本開示の任意の実施例で説明されたフォーム抽出方法を実現するためのプロセッサとを備える、フォーム抽出デバイスを提供する。
第9態様は、コンピュータプログラムが記憶されたコンピュータ読み取り可能記憶媒体であって、プロセッサにより前記プログラムが実行される際に、本開示の任意の実施例で説明されたフォーム認識方法が実現されることとなる、コンピュータ読み取り可能記憶媒体を提供する。
第10態様は、コンピュータプログラムが記憶されたコンピュータ読み取り可能記憶媒体であって、プロセッサにより前記プログラムが実行される際に、本開示の任意の実施例で説明されたフォーム抽出方法が実現されることとなる、コンピュータ読み取り可能記憶媒体を提供する。
本開示の一または複数の実施例によるフォーム認識案は、フォーム画像のフォームライン抽出結果と予め設定されたフォームテンプレートに基づいて前記認識すべきフォーム画像の修正処理を行い、修正された画像へのテキスト認識処理を行ってフォーム認識結果を取得するものとする。本開示によるフォーム認識案は、予め設定されたフォームテンプレートにより、任意の対応するフォームの認識を実現することができ、かつ認識の速度が速く、予め設定されたフォームテンプレートを用いて認識すべきフォーム画像の修正処理を行うことにより、フォーム認識の精度と堅牢性を向上させることができる。
以上の概略的な説明及び以下の詳細な説明は、単に例示及び説明ためのものに過ぎず、本開示を制限するものでないことは、理解されるべきである。
ここでの図面は明細書に合併されて本明細書の一部を構成し、本発明に符合する実施例を示し、明細書に合わせて本明細書の原理を解釈する。
本開示の実施例に示されるフォーム認識方法のフローチャートである。
例示的な認識すべきフォーム画像のフォーム抽出結果を示す。
図2Aに対応する予め設定されたフォームテンプレートを示す。
修正された予め設定されたフォームテンプレートを示す概略図である。
本開示の実施例に示される別のフォーム認識方法のフローチャートである。
例示的なフォームテンプレートを示す。
本開示の実施例に示されるフォーム抽出方法のフローチャートである。
例示的な有向単一接続チェーンを示す概略図である。
例示的な有向単一接続チェーン抽出結果を示す概略図である。
図8A中の有向単一接続チェーンに対して結合処理を行うことを示す概略図である。
図8B中の線分に対して結合処理を行うことを示す概略図である。
本開示の実施例に示される結合条件の決定を示す概略図である。
本開示の実施例に示されるフォーム認識過程を示す概略図である。
本開示の実施例に示されるフォーム認識装置を示す概略図である。
本開示の実施例に示されるフォーム抽出装置を示す概略図である。
本開示の実施例に示されるフォーム認識デバイスの構造を示す概略図である。
本開示の実施例に示されるフォーム抽出デバイスの構造を示す概略図である。
ここでは、例示的な実施例について詳しく説明し、その例示は図面に示されている。以下の説明は図面に係るときに、特に説明がない限り、異なる図面中の同じ数字は同じ又は類似する要素を示す。以下の例示的な実施例に説明される実施形態は、本開示と一致する全ての実施形態を代表するものではない。逆に、それらは添付される特許請求の範囲に詳しく説明された本開示の幾つかの態様と一致する装置及び方法の例に過ぎない。
本開示の実施例で提供される技術案は、主として画像における細長くて小さな目標の検出に用いられるが、本開示の実施例はこれを限定しないと理解されるべきである。
図1には、本開示の幾つかの実施例によるフォーム認識方法のフローチャートが示されている。図1に示すように、当該方法は、ステップ101~ステップ103を含む。
ステップ101において、認識すべきフォーム画像のフォームライン抽出処理を行って、前記認識すべきフォーム画像のフォームライン抽出結果を取得する、前記フォームライン抽出結果は、複数の第1フォームライン及び/又は複数の第1フォームライン交点が含まれる。
本開示の実施例において、複数の方法により認識すべきフォーム画像のフォームライン抽出処理を行って認識すべきフォーム画像のフォームライン抽出結果を取得するようにしてもよい。本開示の実施例は、フォームライン抽出結果を取得するための具体的な方法を限定することを意図していない。
取得したフォームライン抽出結果には、複数のフォームライン及び/又は複数のフォームライン交点が含まれていてもよい。以下のその他のフォームライン及びフォームライン交点と区別するために、フォームライン抽出結果中のフォームライン及びフォームライン交点を、第1フォームライン及び第1フォームライン交点と称するとよい。
図2Аには、例示的なフォーム画像のフォームライン抽出結果が示されている。図2Aに示すように、それは、第1フォームライン20A~29Aを含む。取得した複数の第1フォームラインから、複数の第1フォームライン交点を取得することもできる。図2Аにおいて、取得した複数の第1フォームラインにより、複数のフォームボックスが構成されている。
ステップ102において、前記認識すべきフォーム画像のフォームライン抽出結果と予め設定されたフォームテンプレートとに基づいて、前記認識すべきフォーム画像の修正処理を行う。
前記予め設定されたフォームテンプレートのレイアウトは、前記認識すべきフォーム画像におけるフォームテンプレートのレイアウトとは同じでも類似しても、または一部で同じでも類似してもよい。
図2А及び図2Bには、フォームライン抽出結果が予め設定されたフォームテンプレートと同じである場合が示されている。図2Bに示される予め設定されたフォームテンプレートには、予め設定された第2フォームライン20B~29Bが備えられ、予め設定された複数の第2フォームライン交点が備えられてもよい。予め設定された複数の第2フォームラインにより、複数のフォームボックスが構成されている。図2Аにおける複数のフォームボックスと図2Bにおける複数のフォームボックスとが1対1で対応している。
フォーム画像のフォームライン抽出結果と予め設定されたフォームテンプレートとの対応関係に基づいて、認識すべきフォーム画像の修正処理を行うことができる。行われた修正処理には、フォーム画像におけるフォームラインをできるだけフラットにするための、認識すべきフォーム画像への回転、伸張、オフセット等が含まれている。
ステップ103において、修正された前記認識すべきフォーム画像のテキスト認識処理を行って、フォーム認識結果を取得する。
修正されたフォーム画像について、そのフォームラインが修正によりある程度でフラットになり、それに応じて、修正されたフォーム画像における同行及び/又は同列のテキストコンテンツがある程度で揃っている。したがって、修正されたフォーム画像へのテキスト認識を行うことにより、フォーム認識結果をより精確かつ快速に取得することができる。
本開示の実施例において、フォーム画像のフォームライン抽出結果と予め設定されたフォームテンプレートとに基づいて前記認識すべきフォーム画像の修正処理を行い、修正されたフォーム画像へのテキスト認識処理を行ってフォーム認識結果を取得する。予め設定されたフォームテンプレートによれば、任意の対応するフォームの認識を実現することができ、かつ認識の速度が速く、予め設定されたフォームテンプレートを用いて認識すべきフォーム画像の修正処理を行うことにより、フォーム認識の精度と堅牢性を向上させることができる。
幾つかの実施例において、以下のように前記フォーム画像の修正処理を行うことができる。
先ず、前記複数の第1フォームラインと前記複数の第2フォームラインとのマッチング処理を行ってフォームラインのマッチング結果を取得する、及び/又は、前記複数の第1フォームライン交点と前記複数の第2フォームライン交点とのマッチング処理を行ってフォームライン交点のマッチング結果を取得する。
その次に、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて、前記認識すべきフォーム画像の修正処理を行う。
図2A及び図2Bを例とすると、図2Aに示される複数の第1フォームライン20A~29Aと、図2Bに示される第2フォームライン20B~29Bとのマッチングをすれば、それぞれの第1フォームラインとそれぞれの第2フォームラインとの対応関係を決定でき、例えば、第1フォームライン20Aと第2フォームライン20Bとが互いに対応し、第1フォームライン21Aと第2フォームライン21Bとが互いに対応している等を決定できる。フォームライン交点のマッチングは、フォームラインのマッチングと類似しており、フォーム画像から抽出された複数の第1フォームライン交点と予め設定されたフォームテンプレートにおける複数の第2フォームライン交点との対応関係を決定するものである。
また、フォーム画像における第1フォームラインと予め設定されたフォームテンプレートにおける第2フォームラインとのマッチングと、フォーム画像における第1フォームライン交点と予め設定されたフォームテンプレートにおける第2フォームライン交点とのマッチングを一緒に行って、フォームラインのマッチング結果とフォームライン交点のマッチング結果を取得するようにしてもよい。
本開示の実施例において、フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて認識すべきフォーム画像の修正処理を行うことにより、修正されたフォーム画像における第1フォームライン及び/又は第1フォームライン交点の形態及び分布が、予め設定されたフォームテンプレートに近似し、より快速且つ精確にフォーム認識結果を取得することができる。
幾つかの実施例において、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて、前記認識すべきフォーム画像と前記予め設定されたフォームテンプレートとの変換パラメータを取得し、前記変換パラメータに基づいて、認識すべきフォーム画像の修正処理を行うようにしてもよい。さらに、前記フォームラインのマッチング結果には、前記複数の第1フォームラインと前記複数の第2フォームラインとの複数のフォームラインペアのマッチング結果が含まれ、前記フォームライン交点のマッチング結果には、前記複数の第1フォームライン交点と前記複数の第2フォームライン交点との複数のフォームライン交点ペアのマッチング結果が含まれている。
前記変換パラメータは、フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて取得されたものであるので、前記変換パラメータを用いて認識すべきフォーム画像の修正処理を行うことにより、変換されたフォーム画像における第1フォームライン及び/又は第1フォームライン交点の形態及び分布が、予め設定されたフォームテンプレートに近似し、より快速且つ精確にフォーム認識結果を取得することができる。
前記フォームラインのマッチング結果によれば、フォーム画像と予め設定されたフォームテンプレートとのマッチングが成功した複数のフォームラインペアを決定でき、フォームラインペアそれぞれには、1つの第1フォームラインと、それとマッチングする1つの第2フォームラインが含まれている。第1フォームラインそれぞれと第2フォームラインそれぞれの位置および方向が何れも既知である場合、これらのフォームラインペアにより決定された変換パラメータを決定することができる。当該変換パラメータは例えば変換行列であってもよく、変換行列の各元素は、フォームラインペアそれぞれにおける第1フォームラインと第2フォームラインとの位置及び方向の関係により決定される。同じ理由により、前記フォームライン交点のマッチング結果によっても、フォーム画像と前記予め設定されたフォームテンプレートとの変換パラメータを決定でき、前記フォームラインのマッチング結果及びフォームライン交点のマッチング結果によっても、フォーム画像と前記予め設定されたフォームテンプレートとの変換パラメータを決定できる。
マッチングしたフォームラインペアそれぞれ、及び/又はマッチングしたフォームライン交点ペアそれぞれから変換パラメータを取得することにより、認識すべきフォーム画像の全面的な修正を実現することができる。例えば、第1フォームラインそれぞれの伸び方向が予め設定されたフォームテンプレートと一致するように、認識すべきフォーム画像を回転させたり、曲げた第1フォームラインがフラットに修正されるように、認識すべきフォーム画像を伸張させたりすることができる。
幾つかの実施例において、前記フォームラインのマッチング結果には、前記複数のフォームラインペアのマッチング信頼度がさらに含まれ、前記フォームライン交点のマッチング結果には、前記複数のフォームライン交点ペアのマッチング信頼度がさらに含まれ、前記複数のフォームラインペアのうち、第1設定値よりもマッチング信頼度が大きいフォームラインペア、及び/又は前記複数のフォームライン交点ペアのうち、第2設定値よりもマッチング信頼度が大きいフォームライン交点ペアに基づいて、変換パラメータを取得する。
仮に第1設定値が90%、第2設定値が85%であるとすると、以下、図2A及び図2Bを例として説明する。図2Aにおける第1フォームライン20A~29Aと図2Bにおける第2フォームライン20B~29Bとのマッチング結果に含まれるフォームラインペアは、(20A,20B)、(21A、21B)、…(29A、29B)を含み、しかも、上記フォームラインペアそれぞれのマッチング信頼度を確認でき、例えば、(20A,20B)のマッチング信頼度が95%、(21A,21B)のマッチング信頼度が85%である等を確認できる。したがって、マッチング信頼度が90%以上のフォームラインペアを用いて変換パラメータを取得することができる。同じ理由により、マッチング信頼度が85%以上のフォームライン交点ペアを用いて変換パラメータを取得することができるし、マッチング信頼度が90%以上のフォームラインペア及びマッチング信頼度が85%以上のフォームライン交点ペアを用いて変換パラメータを取得することもできる。
設定値よりもマッチング信頼度が高いフォームラインペア及び/又はフォームライン交点ペアを用いて変換パラメータを取得することにより、変換パラメータの精度が向上して、修正されたフォーム画像が予め設定されたフォームテンプレートにより近似することが可能となる。
認識すべきフォーム画像は、平坦な画像ではなく、それに含まれる第1フォームラインが、ある領域内で同一の方向に延びているが、領域全体内で同一の方向に延びていない場合もある。このような場合に応じて、予め設定されたフォームテンプレートにおける複数の領域の対応する変換パラメータそれぞれを用いて、対応する部分のフォーム画像の修正処理を行うことができる。
幾つかの実施例において、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて、前記予め設定されたフォームテンプレートにおける目標領域を決定し、前記目標領域におけるフォームライン及び/又はフォームライン交点に対応するマッチング結果に基づいて、前記認識すべきフォーム画像と前記予め設定されたフォームテンプレートとの変換パラメータを取得するようにしてもよい。その中で、前記目標領域に含まれるフォームライン及び/又はフォームライン交点に対応するマッチング結果は、予め設定された条件を満たすものである。
前記予め設定された条件は、前記目標領域におけるマッチングしたフォームラインペア及び/又はフォームライン交点ペアの数(割合)が第1条件を満たすことと、前記目標領域におけるマッチングしたフォームラインペア及び/又はフォームライン交点ペアに対応するマッチング信頼度が第2条件を満たすことと、のうちの一つまたは複数を含むようにしてもよい。
数が第1条件を満たすとは、例えば、数が10より大きいまたは割合(フォームライン総数及び/又はフォームライン交点総数に対する割合)が50%より大きいことを意味しており、マッチング信頼度が第2条件を満たすとは、マッチング信頼度が90%より高いことを意味している。フォーム画像と予め設定されたフォームテンプレートとのフォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果が既知である場合、予め設定されたフォームテンプレートに対して、マッチング対象のあるフォームライン及び/又はフォームライン交点の数が10より大きい(割合が50%より大きい)領域を目標領域として決定するか、またはチングしたフォームラインペア及び/又はフォームライン交点ペアに対応するマッチング信頼度が90%よりも高い領域を目標領域として決定するか、または割合が50%より大きい且つマッチングしたフォームラインペア及び/又はフォームライン交点ペアに対応するマッチング信頼度が90%よりも高い領域を目標領域として決定することができる。
予め設定されたフォームテンプレートには少なくとも2つのテンプレート領域が含まれている場合、テンプレート領域それぞれに対して、対応する目標領域を決定するとともに、テンプレート領域それぞれに対応する目標領域におけるフォームライン及び/又はフォームライン交点に対応するマッチング結果に基づいて、前記テンプレート領域それぞれに対応する変換パラメータを取得するようにしてもよい。
本開示の実施例において、予め設定されたフォームテンプレートにおける複数のテンプレート領域それぞれに対して、対応する変換パラメータを取得することにより、認識すべきフォーム画像中の各部分の独立的な修正を実現することができる。全体となるフォーム画像中の各部分の変形、歪みが一致しない場合には、より良い修正効果を実現することができる。
1つの例示において、前記複数の第1フォームラインのうちマッチングしたフォームラインペアの割合が第1割合値になったこと、及び/又は前記複数の第1フォームライン交点のうちマッチングしたフォームライン交点ペアの割合が第2割合値になったことに応じて、前記認識すべきフォーム画像のフォームライン抽出結果と予め設定されたフォームテンプレートとに基づいて、前記認識すべきフォーム画像の修正処理を行う。
例えば、第1フォームラインのうちマッチングしたフォームラインペアの割合が50%になった、及び/又は第1フォームライン交点のうちマッチングしたフォームライン交点ペアの割合が50%になった場合、前記認識すべきフォーム画像と予め設定されたフォームテンプレートとのマッチングが成功したと確認したので、前記認識すべきフォーム画像のフォームライン抽出結果と予め設定されたフォームテンプレートとに基づいて、前記認識すべきフォーム画像の修正処理を行うことができる。
フォーム画像と予め設定されたフォームテンプレートとのマッチングが成功した場合、さらに認識すべきフォーム画像の修正処理を行うことにより、修正処理の精度を確保することができ、フォーム認識結果の精度を確保することもできる。
幾つかの実施例において、修正されたフォーム画像のテキスト検出を行って、前記認識すべきフォーム画像の複数のテキスト検出ボックスを取得することができる。その中で、各テキスト検出ボックスの相対的な位置により、前記テキスト検出ボックスに対応するフォームボックスを決定し、当該フォームボックスが複数の第1フォームラインにより定義されたものである。その次に、前記複数のテキスト検出ボックスのテキスト認識を行って、テキスト認識結果を取得する。最後、前記複数のテキスト検出ボックスと、前記複数の第1フォームラインにより定義された複数のフォームボックスとのIoU(intersection-over-union)に基づいて、フォーム認識結果を取得する。例えば、テキスト検出ボックスと、それに対応するフォームボックスとのIoUが60%より大きい場合、当該テキスト検出ボックス中のコンテンツが確かに当該フォームボックスに属するものであると確認し、さらに、当該テキスト検出ボックス中のテキスト認識結果を、対応するフォームボックスに加える。
前記テキスト検出ボックスに対して以上の操作を行った後、テキスト検出ボックス中のテキスト認識結果とフォームボックスの対応が実現されて、フォーム認識結果が取得されることが可能となる。
本開示の実施例において、テキスト検出ボックスとフォームボックスとのIoUに基づいてフォーム認識結果を取得することにより、テキスト検出ボックス中のコンテンツとフォームボックスとの対応性が確保され、フォーム認識結果の精度が向上する。
幾つかの実施例において、前記予め設定されたフォームテンプレートに基づいて、前記認識すべきフォーム画像における、前記複数の第1フォームラインにより定義された複数のフォームボックスのうち検出すべき少なくとも1つの目標フォームボックスを決定するようにしてもよい。その次に、前記少なくとも1つの目標フォームボックスのテキスト認識を行って、前記少なくとも1つの目標フォームボックスそれぞれのテキスト認識結果を取得する。最後、前記少なくとも1つの目標フォームボックスのテキスト認識結果に基づいて、フォーム認識結果を取得する。
認識すべき目標が、フォーム全体のコンテンツではなく、所定の数のフォームボックス中のコンテンツである場合、検出すべき目標フォームボックスを決定してそのテキスト認識を行うことにより、フォーム認識の速度及び効率を向上させることができる。
本開示の実施例において、予め設定されたフォームテンプレートにより検出すべき目標フォームボックスを決定することにより、前記目標フォームボックスのテキスト認識を行って、これらの目標フォームボックスのフォーム認識結果を取得するようにしてもよい。
幾つかの実施例において、前記予め設定されたフォームテンプレートの複数のフォームボックスのうち少なくとも1つの目標フォームボックスは、ユーザに入力された認識条件により決定されたものであってもよい。図2Bを例とすると、ユーザの認識条件は、アカウント名とアカウント番号の対応するフォームボックスのテキストコンテンツの認識であってもよく、この場合、検出すべき目標フォームボックスが、アカウント名の対応するフォームボックス(「アカウント名」の所属するフォームボックスではなく、「アカウント名」の対応するコンテンツの所属するフォームボックスである)、及びアカウント番号の対応するフォームボックス(「アカウント番号」の所属するフォームボックスではなく、「アカウント番号」の対応するコンテンツの所属するフォームボックスである)であると確認することができる。
幾つかの実施例において、目標フォームボックスの属性を設定し、前記目標フォームボックスの属性と前記目標フォームボックスのテキスト認識結果とに基づいて、フォーム認識結果を取得するようにしてもよい。
例えば、前記予め設定されたフォームテンプレートにおいて、検出すべき目標フォームボックスとして、アカウント番号のコンテンツの対応するフォームボックスを選択し、当該目標フォームボックスの属性を「アカウント番号」と設定し、このようにすると、この目標フォームボックスのテキスト認識を行う際に、当該目標フォームボックスの属性である「アカウント番号」及び当該フォームボックスのコンテンツをフォーム認識結果とする。
幾つかの実施例において、前記予め設定されたフォームテンプレートは、参照フォーム画像により取得されるものであってもよい。その中で、前記参照フォーム画像とは、認識すべきフォーム画像とレイアウトが同じ又は類似するフォーム画像や、一部のレイアウトが同じ又は類似するフォーム画像を指す。
先ず、前記参照フォーム画像のフォームライン抽出処理を行って、参照フォーム画像のフォームライン抽出結果を取得するようにしてもよい。フォームライン抽出処理の実行方法は、ステップ101にて用いられたフォームライン抽出処理方法と同じでも異なってもよく、本実施例ではこれを限定しない。
フォームライン抽出結果について、ユーザによる入力によって当該フォームライン抽出結果の修正処理を行って、フォームラインが一層明晰な予め設定されたフォームテンプレートを取得するようにしてもよい。例えば、元のフォームライン抽出結果を基にして、手動で線を再描画するようにマウスを操作することができる。
図3は、予め設定されたフォームテンプレートの修正を示す概略図である。図3において、フォームライン30、31、32、34、35、39は修正されたものであるが、その他のフォームラインは修正処理されないものである。図3から明らかなように、修正されたフォームラインは、修正処理されないフォームラインに比べ、より一層明晰なものである。そのため、フォームライン抽出結果の修正処理を行って取得した予め設定されたフォームテンプレートは、品質が向上することとなる。
図2B及び図3は、例示ためのものに過ぎず、図中のフォームのコンテンツが明晰であるか否かは、本開示の実施例に係る技術案への理解に影響を及ぼさないことは、本技術分野の当業者に理解されるべきである。
図4は、本開示の実施例に示される別のフォーム認識方法のフローチャートである。図4に示すように、当該方法は、ステップ401~403を含む。
ステップ401において、参照フォーム画像のフォームライン抽出処理を行って、前記参照フォーム画像のフォームライン抽出結果を取得する。
本開示の実施例において、前記参照フォーム画像は、任意のフォーム画像であり、且つ複数の方法により参照フォーム画像のフォームライン抽出処理を行って参照フォーム画像のフォームライン抽出結果を取得するようにしてもよい。本開示の実施例は、フォームライン抽出結果を取得するための具体的な方法を限定することを意図していない。
参照フォーム画像のフォームライン抽出結果は、図5に示すように、第2フォームライン50~59を含む。
ステップ402において、前記フォームライン抽出結果に基づいて、複数の第2フォームライン及び/又は複数の第2フォームライン交点が含まれるフォームテンプレートを生成する。
図5に示すフォームライン抽出結果を例とすると、第2フォームライン50~59に基づいて生成したフォームテンプレートは、第2フォームライン50~59を含んでもよいし、第2フォームラインにより得られた複数の第2フォームライン交点を含んでもよいし、第2フォームライン50~59及び複数の第2フォームライン交点を含んでもよい。
生成したフォームテンプレートにおいて、複数の第2フォームラインにより複数のフォームボックスが構成されている。
幾つかの実施例において、ステップ401にて得られたフォームライン抽出結果を取得した後に、前記フォームライン抽出結果、例えば図5に示されているフォームライン抽出結果を表示し、ユーザによる確認指令を受信したことに応じて、前記フォームライン抽出結果に基づいてフォームテンプレートを生成するようにしてもよい。
フォームライン抽出結果を取得した後に、ユーザにより確認されてからフォームテンプレートを生成することにより、生成するフォームテンプレートの精度を確保することができる。
幾つかの実施例において、ステップ401にて得られたフォームライン抽出結果を取得した後に、ユーザによる調整指令を受信したことに応じて、前記フォームライン抽出結果の調整処理を行って調整結果を取得し、さらに前記調整結果に基づいてフォームテンプレートを生成するようにしてもよい。
フォームライン抽出結果を調整してからフォームテンプレートを生成することにより、生成するフォームテンプレートの精度を確保することができる。
ステップ403において、前記フォームテンプレートに基づいて認識すべきフォーム画像のテキスト認識処理を行って、フォーム認識結果を取得する。
前記認識すべきフォーム画像のレイアウトは、前記フォームテンプレートのレイアウトとは同じでも類似しても、または一部で同じでも類似してもよい。
本開示の実施例において、参照フォーム画像のフォームライン抽出結果に基づいてフォームテンプレートを生成することにより、認識すべきフォーム画像の認識が実現され、認識の速度が速く且つ精度が高い。幾つかの実施例において、前記方法は、ユーザからの、前記フォームテンプレートにおける認識の必要な目標フォームエントリを指示するための認識指令を受信するステップと、前記フォームテンプレートに基づいて前記認識すべきフォーム画像における目標フォームエントリのテキスト認識処理を行ってフォーム認識結果を取得するステップとをさらに含む。
ユーザはフォームテンプレートにおける一つまたは複数のフォームボックスを認識の必要な目標フォームエントリとして指示し、認識すべきフォームのテキスト認識処理を行う際に、前記フォームテンプレートにおける目標フォームエントリに基づいて前記認識すべきフォームにおける対応するフォームボックスを決定するとともに、前記フォームボックスのコンテンツに対してテキスト認識処理を行ってフォーム認識結果を取得することができる。
認識の必要な目標フォームエントリを設定して前記認識すべきフォーム画像における対応するフォームボックスのテキスト認識を行うことにより、フォームの認識効率を向上させることができる。
図6は、本開示の実施例に示されるフォーム抽出方法のフローチャートであり、当該方法は、認識すべきフォーム画像のフォームライン抽出処理を行って、認識すべきフォーム画像のフォームライン抽出結果を取得するためのものである。図6に示すように、当該方法は、ステップ601~604を含む。
ステップ601において、前記認識すべきフォーム画像における複数の有向単一接続チェーン(Directional Single-Connected Chain)を決定する。
その中で、有向単一接続チェーンは、関連する方向に連続しているラン(Run)からなり、前記ランが連続しているピクセルストリップ(pixel strip)である。有向単一接続チェーンは通常、横方向の単一接続チェーンと縦方向の単一接続チェーンとを含み、それに応じて、ランも通常、横方向のランと縦方向のランとを含む。
図7は、例示的な有向単一接続チェーンを示す概略図である。図7には、複数の縦方向のランがあり、例えば、ラン71が1つの縦方向のランであり、その中で、画素72が当該ランの開始画素、画素73が当該ランの終了画素である。縦方向のランにとって、開始画素と終了画素は縦方向に整列されている(図7には図示されていない)。同様に、横方向のランにとって、開始画素と終了画素は横方向に整列されている。図7に示すように、フレーム74内の複数の横方向に接続する縦方向のランにより、横方向の単一接続チェーンが構成されている。同様に、複数の縦方向に接続する横方向のランにより、縦方向の接続チェーンが構成されている(図7には図示されていない)。
幾つかの実施例において、フォーム画像における複数の有向接続チェーンは、以下のように決定することができる。先ず、前記認識すべきフォーム画像の2値化データを取得する。すなわち、フォーム画像におけるすべての画素に対して2値化を行い、それぞれの画素が黒いものであるか、または白いものである。2値化されたフォーム画像において、黒いフォームラインが黒い画素、背景部分が白い画素にそれぞれ対応するようにしてもよいし、黒いフォームラインが白い画素、背景部分が黒い画素にそれぞれ対応するようにしてもよい。その次に、前記2値化データに基づいて、第1方向における複数のランを取得する。そして、前記複数のランのうち、第2方向に接続された少なくとも2つのランに基づいて、前記複数の有向単一接続チェーンを決定する。
第1方向が縦方向、第2方向が横方向である場合、縦方向における複数のランを取得するとともに、横方向に接続された少なくとも2つの縦方向のランに基づいて複数の横方向の単一接続チェーンを決定するが、第1方向が横方向、第2方向が縦方向である場合、横方向における複数のランを取得するとともに、縦方向に接続された少なくとも2つの横方向のランに基づいて複数の縦方向の単一接続チェーンを決定する。
幾つかの実施例において、前記複数のランのうち第1ランを除去して複数の余剰ランを取得し、前記第1ランの一側には少なくとも2つの隣接するランがあり、前記複数の余剰ランのうち第2方向に接続された少なくとも2つのランに基づいて前記複数の有向単一接続チェーンを決定するようにしてもよい。
有向単一接続チェーン内部(両端が除外)のいずれかのランの両側には、それと隣接するランが1つ且つ1つのみある。図7に示すように、有向単一接続チェーン内部のラン71の両側それぞれには、それと隣接するランが1つある。それに対して、ラン75は左側に、それと隣接するランが2つあり、ラン76は同様に左側に、それと隣接するランが2つある。したがって、ラン75及びラン76を除去して、余剰のランにより有向単一接続チェーンを決定することができる。
フォームの検出において、フォームラインと文字がくっついたり重なったりして、分離しにくくなると、フォームラインの検出が難しくなる。有向単一接続チェーンによるフォームラインの抽出に応じて、文字とフォームラインがくっついたり重なったりすると、関連するランの両側または一側に、それと隣接するランが2つまたは2つ以上ある。このようなランをろ過除去することにより、フォームラインをより精確に抽出し、かつ文字の誤削除を回避することが可能となる。
以上の方法により、フォーム画像に含まれた複数の有向単一接続チェーンには、複数の横方向の単一接続チェーンと、複数の縦方向の単一接続チェーンが含まれると確認することができる。図8Aは、フォーム画像から得られた複数の有向単一接続チェーンを示す概略図であり、はっきり表示するために、これらの有向単一接続チェーンを黒い背景、白い画素で例示的に示す。
ステップ602において、前記複数の有向単一接続チェーンのうち、結合条件を満たす少なくとも二つの有向単一接続チェーンに対して第1結合処理を行って、複数の第1結合線分を取得する。
図8Aに示すように、ノイズの影響により、フォーム画像から決定された複数の有向単一接続チェーンが破断した可能性があり、よって、フォームラインの破断を解決するため、破断した有向単一接続チェーンを結合する必要がある。
元々同一のフォームラインに属さない二つまたは複数の有向単一接続チェーンの誤結合を回避するために、合理的な結合条件を設定する必要がある。二つの有向単一接続チェーンの間隔距離、位置、傾斜度などの情報に基づいて、二つの有向単一接続チェーンが結合条件を満たすか否かを判断することができる。複数の有向単一接続チェーンについて、それぞれの有向単一接続チェーンが他の有向単一接続チェーンの何れかと結合条件を満たすとすれば、それら複数の有向単一接続チェーンが結合規則を満たすと言え、それら複数の有向単一接続チェーンに対して第1結合処理を行うことができる。画像における結合条件を満たす全ての有向単一接続チェーンに対して結合処理を行った後に、複数の第1結合線分が得られる。
図8Aに示される複数の有向単一接続チェーンを例とすると、チェーン81とチェーン82とが結合条件を満たし、且つチェーン82とチェーン83とが結合条件を満たす場合、チェーン81、チェーン82、チェーン83が結合条件を満たすとは言え、これら3本の有向単一接続チェーンを結合して、1本の第1結合線分84を取得する(図8B参照)。
幾つかの実施例において、少なくとも二つの有向単一接続チェーンは、以下のように結合することができる。先ず、有向単一接続チェーンそれぞれにおけるランそれぞれの中点を決定し、結合すべき複数の有向単一接続チェーンに含まれた複数のランの中点に基づいてフィッティングを実行して、第1結合線分を取得する。
図7は、複数のランの中点に基づくフィッティングにより線分を得ることを示す概略図である。図7に示すように、ラン内の黒い点は当該ランの中点を示し、ランの中点に基づくフィッティングを実行することにより、対応する線分を取得することができる(破線の所在する位置は、フィッティングにより取得した線分の所在する位置である)。なお、後続の更なる結合中に利用できるように、フィッティングにより取得した線分の端点や傾斜度などの情報を格納することができる。
幾つかの実施例において、前記結合条件は、結合すべき二つの対象の端点間の最小距離が第1閾値よりも小さいことと、前記結合すべき二つの対象の端点間の第1最大距離が第2閾値よりも小さいことと、前記結合すべき二つの対象の各端点と、前記第1最大距離に対応する連結線との第2最大距離が前記第2閾値よりも小さいこととのうちの一つまたは複数を含み、前記結合すべき対象は、有向単一接続チェーンまたは第i結合線分である。
図9に示されている有向単一接続チェーン91及び有向単一接続チェーン92を例とすると、前記結合条件は、チェーン91の端点とチェーン92の端点間の最小距離d1が第1閾値よりも小さいことと、チェーン91の端点とチェーン92の端点間の最大距離d2が第2閾値よりも小さいことと、チェーン91及びチェーン92の各端点とd2に対応する連結線との最大距離d3が第2閾値よりも小さいこととのうちの一つまたは複数を含む。前記第1閾値及び第2閾値は、フォームライン抽出の精度要求に応じて具体的に設定され得る。
ステップ603において、複数の第i結合線分のうち、前記結合条件を満たす少なくとも二つの第i結合線分に対して第i+1結合処理を行って、少なくとも一つの第i+1結合線分を取得する。
ステップ602で取得した複数の第1結合線分に対して、結合条件に基づく結合を引き続き行うことができる。第i+1回の結合処理において、結合条件を満たす少なくとも二つの第i結合線分に対して結合処理を行って、少なくとも一つの第i+1結合線分を取得する。
幾つかの実施例において、以下のように、少なくとも二つの第i結合線分に対して結合処理を行って、第i+1結合線分を取得することができる。具体的には、前記第i結合線分に含まれた有向単一接続チェーンにおけるランそれぞれの中点を決定し、結合すべき第i結合線分に含まれた複数のランの中点に基づくフィッティングを実行して、第i+1結合線分を取得する。
幾つかの実施例において、第i結合線分の少なくとも一端を少なくとも1画素拡張して、前記第i結合線分の拡張線分を取得し、前記複数の第i結合線分それぞれの拡張線分に基づいて、前記複数の第i結合線分から、前記結合条件を満たす少なくとも二つの第i結合線分を決定するようにしてもよい。
例えば、第4回の結合処理の場合、第3結合線分の両端それぞれを3画素拡張して、第3結合線分の拡張線分を取得する。複数の第3結合線分の拡張線分間が結合条件を満たすか否かを判断して、結合条件を満たす第3結合線分に対して結合処理を行うことにより、複数の第4結合線分を取得することができる。
ノイズの影響により、元々連続している線分が破断し、且つ破断距離が長すぎて結合条件を満たすことが困難となるおそれはある。線分を拡張してから、それが結合条件を満たすか否かを判断することにより、この問題が解決され、抽出したフォームラインが一層完璧になる。
ステップ604において、N回の結合処理の結合結果に基づいて前記認識すべきフォーム画像のフォームライン抽出結果を取得し、前記i及びNは整数であり、かつiは1よりも大きく、Nよりも小さいものである。
図8Cには、例示的なフォームライン抽出結果が示されている。図8Cに示すように、結合線分を拡張して、それが結合条件を満たすか否かを判断することにより、フォームラインの破断を更に修復することができる。
本開示の実施例で提供されるフォーム抽出方法は、任意のフォーム画像に適用でき、例えば、以上の認識すべきフォーム画像または参照フォーム画像などに適用でき、本開示の実施例はこれを限定しないと理解されるべきである。
図10は、本開示の実施例に示されるフォーム認識過程の概略図である。図10に示すように、フォーム認識過程は主として、予め設定されたテンプレート作成段階と、予め設定されたテンプレート修正段階と、フォーム画像認識段階との3つの段階を含む。
予め設定されたテンプレート作成段階において、先ず、参照フォーム画像をアップロードし、当該参照フォーム画像は認識すべきフォーム画像とはレイアウトが同じまたは一部で同じものである。その次に、参照フォーム画像におけるフォームラインがフラットになり、フォームボックスの形状が整然になるように、当該参照フォーム画像の修正を行い、例えば透視変換や、ひずみの調整を行う。その後、フォーム中のフォームラインの描画により予め設定されたテンプレートを作成してもよいし、参照フォーム画像中のフォームラインの抽出により予め設定されたテンプレートを作成してもよい。複数のフォームラインにより限定された各フォームボックスについては、後続のフォーム画像認識段階でのテキストコンテンツの認識に利用できるように、設定数、設定箇所のフォームボックスを、検出すべき目標フォームボックスとして選定することができる。
フォーム画像認識結果が想定を満たさない場合、予め設定されたテンプレート修正段階に進む。より明晰、フラットなフォームラインが取得できるように、描画されたフォームラインに対して編集を行い、例えば当該フォームラインを再描画したり当該フォームラインを太字または真っ直ぐにしたりするなどの操作を行うことができる。フォームラインの修正後、目標フォームボックスを改めて選定して、認識すべき領域を改めて決定することもできる。
フォーム画像認識結果が想定を満たす場合、フォーム画像認識段階に進む。アップロードされた認識すべきフォーム画像に対して個別に認識してもよく、複数のフォーム画像をバッチ認識してもよく、例えば、API呼び出しによりバッチ認識を実現することができる。
図11には、フォーム認識装置が示されている。図11に示すように、当該装置は、認識すべきフォーム画像のフォームライン抽出処理を行って、前記認識すべきフォーム画像の、複数の第1フォームライン及び/又は複数の第1フォームライン交点が含まれるフォームライン抽出結果を取得するための処理ユニット1101と、前記認識すべきフォーム画像のフォームライン抽出結果と予め設定されたフォームテンプレートとに基づいて前記認識すべきフォーム画像の修正処理を行い、ここで、前記予め設定されたフォームテンプレートには、予め設定された複数の第2フォームライン及び/又は予め設定された複数の第2フォームライン交点が備えられるための修正ユニット1102と、修正された前記認識すべきフォーム画像のテキスト認識処理を行って、フォーム認識結果を取得するための認識ユニット1103と、を備えるようにしてもよい。
幾つかの実施例において、修正ユニット1102は具体的には、前記複数の第1フォームラインと前記複数の第2フォームラインのマッチング処理を行ってフォームラインのマッチング結果を取得する、及び/又は、前記複数の第1フォームライン交点と前記複数の第2フォームライン交点とのマッチング処理を行ってフォームライン交点のマッチング結果を取得し、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて前記認識すべきフォーム画像の修正処理を行うために用いられる。
幾つかの実施例において、修正ユニット1102は、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて前記認識すべきフォーム画像の修正処理を行うために用いられる際に、具体的には、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて、前記認識すべきフォーム画像と前記予め設定されたフォームテンプレートとの変換パラメータを取得し、ここで、前記フォームラインのマッチング結果は、前記複数の第1フォームラインと前記複数の第2フォームラインの複数のフォームラインペアのマッチング結果が含まれ、前記フォームライン交点のマッチング結果は、前記複数の第1フォームライン交点と前記複数の第2フォームライン交点の複数のフォームライン交点ペアのマッチング結果が含まれ、前記変換パラメータに基づいて前記認識すべきフォーム画像の修正処理を行うために用いられる。
幾つかの実施例において、修正ユニット1102は、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて、前記認識すべきフォーム画像と前記予め設定されたフォームテンプレートとの変換パラメータを取得するために用いられる際に、具体的には、前記複数のフォームラインペアのうちマッチングしたフォームラインペア、及び/又は前記複数のフォームライン交点ペアのうちマッチングしたフォームライン交点ペアに基づいて、前記認識すべきフォーム画像と前記予め設定されたフォームテンプレートとの変換パラメータを取得するために用いられる。
幾つかの実施例において、前記フォームラインのマッチング結果には、前記複数のフォームラインペアのマッチング信頼度が含まれ、前記フォームライン交点のマッチング結果には、前記複数のフォームライン交点ペアのマッチング信頼度が含まれ、さらに、修正ユニット1102は、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて、前記認識すべきフォーム画像と前記予め設定されたフォームテンプレートとの変換パラメータを取得するために用いられる際に、具体的には、前記複数のフォームラインペアのうち、第1設定値よりもマッチング信頼度が大きいフォームラインペア、及び/又は前記複数のフォームライン交点ペアのうち、第2設定値よりもマッチング信頼度が大きいフォームライン交点ペアに基づいて、前記変換パラメータを取得するために用いられる。
幾つかの実施例において、修正ユニット1102は、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて、前記認識すべきフォーム画像と前記予め設定されたフォームテンプレートとの変換パラメータを取得するために用いられる際に、具体的には、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて、前記予め設定されたフォームテンプレートにおける目標領域を決定し、前記目標領域に含まれるフォームライン及び/又はフォームライン交点に対応するマッチング結果が予め設定された条件を満たし、前記目標領域におけるフォームライン及び/又はフォームライン交点に対応するマッチング結果に基づいて前記認識すべきフォーム画像と前記予め設定されたフォームテンプレートとの変換パラメータを取得するために用いられる。
幾つかの実施例において、前記予め設定されたフォームテンプレートには少なくとも2つのテンプレート領域が含まれ、さらに、修正ユニット1102は、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて、前記予め設定されたフォームテンプレートにおける目標領域を決定するために用いられる際に、具体的には、前記フォームラインのマッチング結果及び/又はフォームライン交点のマッチング結果に基づいて前記少なくとも2つのテンプレート領域それぞれに対応する目標領域を取得するために用いられ、前記目標領域におけるフォームライン及び/又はフォームライン交点に対応するマッチング結果に基づいて前記認識すべきフォーム画像と前記予め設定されたフォームテンプレートとの変換パラメータを取得することは、前記少なくとも2つのテンプレート領域それぞれに対応する目標領域におけるフォームライン及び/又はフォームライン交点に対応するマッチング結果に基づいて前記テンプレート領域それぞれに対応する変換パラメータを取得することを含む。
幾つかの実施例において、前記予め設定された条件は、前記目標領域におけるマッチングしたフォームラインペア及び/又はフォームライン交点ペアの数が第1条件を満たすことと、前記目標領域におけるマッチングしたフォームラインペア及び/又はフォームライン交点ペアに対応するマッチング信頼度が第2条件を満たすことと、のうちの一つまたは複数を含む。
幾つかの実施例において、修正ユニット1102は、前記認識すべきフォーム画像のフォームライン抽出結果と予め設定されたフォームテンプレートとに基づいて前記認識すべきフォーム画像の修正処理を行うために用いられる際に、具体的には、前記複数の第1フォームラインのうちマッチングしたフォームラインペアの割合が第1割合値になったこと、及び/又は前記複数の第1フォームライン交点のうちマッチングしたフォームライン交点ペアの割合が第2割合値になったことに応じて、前記認識すべきフォーム画像のフォームライン抽出結果と予め設定されたフォームテンプレートとに基づいて、前記認識すべきフォーム画像の修正処理を行うために用いられる。
幾つかの実施例において、認識ユニット1103は具体的に、修正されたフォーム画像のテキスト検出を行って前記認識すべきフォーム画像の複数のテキスト検出ボックスを取得し、前記複数のテキスト検出ボックスのテキスト認識を行ってテキスト認識結果を取得し、前記複数のテキスト検出ボックスと、前記複数の第1フォームラインにより定義された複数のフォームボックスとのIoU(intersection-over-union)に基づいて前記フォーム認識結果を取得するために用いられる。
幾つかの実施例において、認識ユニット1103は具体的に、前記予め設定されたフォームテンプレートに基づいて、前記認識すべきフォーム画像における前記複数の第1フォームラインにより定義された複数のフォームボックスのうち検出すべき少なくとも1つの目標フォームボックスを決定し、前記少なくとも1つの目標フォームボックスのテキスト認識を行って前記少なくとも1つの目標フォームボックスそれぞれのテキスト認識結果を取得し、前記少なくとも1つの目標フォームボックスのテキスト認識結果に基づいてフォーム認識結果を取得するために用いられる。
幾つかの実施例において、認識ユニット1103は、前記予め設定されたフォームテンプレートに基づいて、前記認識すべきフォーム画像における前記複数の第1フォームラインにより定義された複数のフォームボックスのうち検出すべき少なくとも1つの目標フォームボックスを決定するために用いられる際に、具体的には、ユーザによって入力された認識条件を受け取り、認識条件に基づいて、前記予め設定されたフォームテンプレートにおける複数のフォームボックスのうち少なくとも1つの目標フォームボックスを決定するために用いられる。
幾つかの実施例において、前記装置は、前記目標フォームボックスの属性を設定するための設定ユニットをさらに備え、さらに、前記認識ユニットは、前記少なくとも1つの目標フォームボックスのテキスト認識結果に基づいてフォーム認識結果を取得するために用いられる際に、具体的には、前記目標フォームボックスの属性と前記目標フォームボックスのテキスト認識結果とに基づいてフォーム認識結果を取得するために用いられる。
幾つかの実施例において、前記装置は、参照フォーム画像のフォームライン抽出処理を行って前記参照フォーム画像のフォームライン抽出結果を取得し、前記参照フォーム画像のフォームライン抽出結果に対してユーザによる入力に基づく修正処理を行って、前記予め設定されたフォームテンプレートを取得するためのテンプレート取得ユニットをさらに備える。
図12は、本開示の実施例に示されるフォーム抽出装置の概略図である。図12に示すように、前記装置は、前記認識すべきフォーム画像における複数の有向単一接続チェーンを決定するための決定ユニット1201と、前記複数の有向単一接続チェーンのうち結合条件を満たす少なくとも二つの有向単一接続チェーンに対して第1結合処理を行って複数の第1結合線分を取得するための第1結合ユニット1202と、複数の第i結合線分のうち前記結合条件を満たす少なくとも二つの第i結合線分に対して第i+1結合処理を行って、少なくとも一つの第i+1結合線分を取得するための第2結合ユニット1203と、N回の結合処理の結合結果に基づいて前記認識すべきフォーム画像のフォームライン抽出結果を取得するための取得ユニット1204と、を備え、前記i及びNは整数であり、かつiは1よりも大きく、Nよりも小さいものである。
幾つかの実施例において、前記装置は、前記第i結合線分の少なくとも一端を少なくとも1画素拡張して前記第i結合線分の拡張線分を取得し、前記複数の第i結合線分それぞれの拡張線分に基づいて、前記複数の第i結合線分から、前記結合条件を満たす少なくとも二つの第i結合線分を決定するための拡張ユニットをさらに備える。
幾つかの実施例において、前記決定ユニットは、前記認識すべきフォーム画像における複数の有向単一接続チェーンを決定するために用いられる際に、具体的には、前記認識すべきフォーム画像の2値化データを取得すること、前記2値化データに基づいて第1方向における複数のランを取得すること、前記複数のランのうち、第2方向に接続された少なくとも2つのランに基づいて前記複数の有向単一接続チェーンを決定するために用いられる。
幾つかの実施例において、前記装置は、前記複数のランのうち第1ランを除去して複数の余剰ランを取得するための除去ユニットをさらに備え、前記第1ランの一側には、それと隣接するランが少なくとも2つある。前記決定ユニットは、前記複数のランのうち、第2方向に接続された少なくとも2つのランに基づいて前記複数の有向単一接続チェーンを決定するために用いられる際に、具体的には、前記複数の余剰ランのうち第2方向に接続された少なくとも2つのランに基づいて前記複数の有向単一接続チェーンを決定するために用いられる。
幾つかの実施例において、前記結合条件は、結合すべき二つの対象の端点間の最小距離が第1閾値よりも小さいことと、前記結合すべき二つの対象の端点間の第1最大距離が第2閾値よりも小さいことと、前記結合すべき二つの対象の各端点と、前記第1最大距離に対応する連結線との第2最大距離が前記第2閾値よりも小さいこととのうちの一つまたは複数を含み、前記結合すべき対象は、有向単一接続チェーンまたは第i結合線分である。
幾つかの実施例において、前記第2結合ユニットは、前記少なくとも二つの第i結合線分に対して第i+1結合処理を行って少なくとも一つの第i+1結合線分を取得するために用いられる際に、具体的には、前記第i結合線分に含まれる有向単一接続チェーンにおけるランそれぞれの中点を決定すること、結合すべき第i結合線分に含まれる複数のランの中点に基づくフィッティングを実行して、第i+1結合線分を取得するために用いられる。
本開示の実施例で提供される装置は、上記した任意の実施例による方法を実行でき、それに応じて、上記した任意の実施例による方法におけるステップ及び/又は流れを実行するためのモジュール又はユニットを含むと理解されるべきであり、ここでは、簡潔のため、重複に説明しないものとする。
図13は、本開示の少なくとも一実施例で提供されるフォーム認識デバイスであり、前記デバイスは、プロセッサ上で実行可能なコンピュータ指令を記憶するためのメモリと、前記コンピュータ指令を実行する際に本開示の任意の実施例で説明されたフォーム認識方法を実現するためのプロセッサとを備える。
図14は、本開示の少なくとも一実施例で提供されるフォーム抽出デバイスであり、前記デバイスは、プロセッサ上で実行可能なコンピュータ指令を記憶するためのメモリと、前記コンピュータ指令を実行する際に本開示の任意の実施例で説明されたフォーム抽出方法を実現するためのプロセッサとを備える。
本開示の少なくとも一実施例では、コンピュータプログラムが記憶されたコンピュータ読み取り可能記憶媒体がさらに提供され、プロセッサにより前記プログラムが実行される際に、本開示の任意の実施例で説明されたフォーム認識方法が実現されることとなる。
本開示の少なくとも一実施例では、コンピュータプログラムが記憶されたコンピュータ読み取り可能記憶媒体がさらに提供され、プロセッサにより前記プログラムが実行される際に、本開示の任意の実施例で説明されたフォーム抽出方法が実現されることとなる。
本明細書の一または複数の実施例を、方法、システム、またはコンピュータプログラム製品として具体化できることは、本技術分野の当業者には明らかであろう。したがって、本明細書の一または複数の実施例は、完全なハードウェア実施例、完全なソフトウェア実施例、またはソフトウェアとハードウェアを組み合わせた実施例の形をとることができる。さらに、本明細書の一または複数の実施例は、コンピュータ使用可能プログラム・コードが組み込まれた、一または複数のコンピュータ使用可能記憶媒体(ディスクストレージ、CD-ROM、光ストレージなどを含むが、これらに制限されない)上で実行されるコンピュータプログラム製品の形をとることができる。
本明細書の実施例によれば、コンピュータプログラムを記憶可能なコンピュータ可読記憶媒体がさらに提供され、プロセッサにより前記プログラムが実行される際に、本明細書の任意の実施例で説明された、フォーム認識方法、及び/又は、本明細書の任意の実施例で説明された、フォーム抽出方法が実現されることとなる。その中で、前記「及び/又は」は、少なくとも両者の何れかを有することを示し、例えば、「A及び/又はB」は、A、B、「AとB」の3種の技術案を含む。
本明細書における各実施例は何れも漸進の方式で説明されたものであり、各実施例では他の実施例との相違点が重点的に説明され、各実施例間の同じまたは類似部分が互いに参照すればよい。特にデータ処理デバイスに係る実施例については、方法に係る実施例に基本的に類似しているため、説明が比較的簡単で、両者の関連部分は方法に係る実施例の一部の説明を参照すればよい。
以上、本明細書における特定的な実施例について説明した。その他の実施例は、添付の特許請求の範囲内にあるものとする。場合によっては、特許請求の範囲に記載される行為又はステップを実施例と異なる順序で実行することができ、それにしても望まれる結果を実現することができる。また、図面で描写されたプロセスについて、望まれる結果の実現には、図示される特定的な順序または連続的な順序が必ずしも必要としない。幾つかの実施形態においては、マルチタスク処理及び並列処理も許され、あるいは有利となる可能性もある。
本明細書に説明された主題及び機能的動作に係る実施例は、デジタル電子回路、有形に具現化されたコンピュータソフトウェアまたはファームウェア、本明細書に開示される構造およびそれらの構造的同等物を含むコンピュータハードウェア、またはそれらのうちの一または複数の組合せで実現することができる。本明細書に説明された主題に係る実施例は、一または複数のコンピュータプログラム、すなわち、データ処理装置による実行またはデータ処理装置の動作制御のため有形の非一時的プログラム・キャリア上に符号化されたコンピュータプログラム指令の一または複数のモジュールとして実装され得る。代替的にまたは追加的に、プログラム指令は、人為的に生成された伝播信号、たとえば、機械によって生成された電気的信号、光学的信号、または電磁的信号上に符号化されることができ、当該信号は、データ処理装置により実行できるように情報を符号化して好適な受信機装置に送信するために生成されるものである。コンピュータ記憶媒体は、機械可読ストレージデバイス、機械可読ストレージ基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらのうちの一または複数の組合せであってもよい。
本明細書に説明された処理及び論理フローが、一または複数のコンピュータプログラムを実行する一または複数のプログラミング可能なコンピュータにより実行されることにより、入力データによる操作をして出力を生成して、対応する機能を実行することができる。また、前記処理及び論理フローは、専用の論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行されてもよく、さらに、装置も専用の論理回路として実装されてもよい。
コンピュータプログラムの実行に好適なコンピュータは、例えば汎用及び/又は専用マイクロプロセッサ、もしくは任意のその他のタイプの中央処理装置を含む。通常、中央処理装置は、読み出し専用メモリ及び/又はランダムアクセスメモリから指令およびデータを受け取る。コンピュータの基本的な構成要素は、指令を実施または実行するための中央処理装置と、指令及びデータを記憶するための一または複数のメモリデバイスを含む。通常、コンピュータはさらに、データを記憶するための一または複数の大容量ストレージデバイス、たとえば、磁気ディスク、光磁気ディスク又は光ディスク等を含むか、またはこの大容量ストレージデバイスに操作可能に結合されて、この大容量ストレージデバイスからデータを受信するか、この大容量ストレージデバイスにデータを転送するか、またはその両方を行う。しかし、コンピュータは、このようなデバイスを必ずしも備えるわけではない。また、コンピュータは、別のデバイスに組み込まれてもよく、ほんのいくつか例を挙げるとすれば、たとえば、携帯電話、パーソナルデジタルアシスタント(PDA)、モバイルオーディオまたはビデオプレーヤー、ゲームコンソール、グローバルポジショニングシステム(GPS)レシーバー、またはユニバーサルシリアルバス(USB)フラッシュドライブなどの携帯ストレージデバイスが挙げられる。
コンピュータプログラム指令およびデータを記憶するのに適したコンピュータ可読媒体は、すべての形の不揮発性メモリ、媒体、メモリデバイスを含み、例えば、半導体メモリデバイス(例えば、EPROM、EEPROM、フラッシュメモリデバイス)、磁気ディスク(例えば、内蔵ハードディスクまたはリムーバブルディスク)、光磁気ディスク、ならびにCD-ROM及びDVD-ROMディスクを含む。プロセッサおよびメモリは、専用の論理回路によって補完されるか、または専用の論理回路に組み込まれることができる。
本明細書は実施に係る細部をたくさん含むが、これらの細部は、発明の範囲または保護請求する範囲への限定と理解されるべきではなく、主として特定発明の具体的な実施例の特徴を記述するためのものである。本明細書における複数の実施例で説明された若干の特徴は、単一の実施例において組合されて実施されることもできる。一方、単一の実施例で説明された様々な特徴は、複数の実施例で別々に実施されるか、または任意の適切なサブ組み合わせで実施されることもできる。また、特徴については、以上のように、幾つかの組合せで奏し且つ最初にこのように保護請求されているが、場合によって保護請求する組合せからの一または複数の特徴が当該組合せから削除されてもよく、保護請求する組合せがサブ組み合わせまたはサブ組み合わせの変形を対象としてもよい。
同様に、図面では特定的な順序で操作が説明されているが、これは、それらの操作が図示された特定的な順序で実行されるかまたは順次に実行されること、または例示されたすべての操作が実行されることで、望まれる結果を実現するものと理解されるべきでない。場合によっては、マルチタスクおよび並列処理が有利となる可能性もある。さらに、上述の実施例における様々なシステム・モジュールと構成要素の分離は、すべての実施例ではそのような分離が必要となるものと理解されるべきでなく、説明されたプログラムの構成要素とシステムは通常、単一のソフトウェア製品に統合されてもよいし、複数のソフトウェア製品にパッケージングされてもよいと理解されるべきである。
以上のように、主題となる特定的な実施例について記述した。その他の実施例は、添付の特許請求の範囲内にあるものとする。場合によっては、特許請求の範囲に記載されている動作は異なる順序で実行されることができ、それにしても望まれる結果を実現することができる。また、図面で描写されたプロセスについて、望まれる結果の実現には、図示される特定的な順序または順次順序が必ずしも必要としない。幾つかの具現化においては、マルチタスク及び並列処理が有利となる可能性もある。