特許第6000455号(P6000455)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アリババ・グループ・ホールディング・リミテッドの特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6000455
(24)【登録日】2016年9月9日
(45)【発行日】2016年9月28日
(54)【発明の名称】フォーム認識方法及びフォーム認識装置
(51)【国際特許分類】
   G06K 9/20 20060101AFI20160915BHJP
【FI】
   G06K9/20 340C
【請求項の数】21
【全頁数】34
(21)【出願番号】特願2015-524373(P2015-524373)
(86)(22)【出願日】2013年7月23日
(65)【公表番号】特表2015-528960(P2015-528960A)
(43)【公表日】2015年10月1日
(86)【国際出願番号】US2013051576
(87)【国際公開番号】WO2014018482
(87)【国際公開日】20140130
【審査請求日】2015年2月18日
(31)【優先権主張番号】201210258883.7
(32)【優先日】2012年7月24日
(33)【優先権主張国】CN
(31)【優先権主張番号】13/947,412
(32)【優先日】2013年7月22日
(33)【優先権主張国】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】510330264
【氏名又は名称】アリババ・グループ・ホールディング・リミテッド
【氏名又は名称原語表記】ALIBABA GROUP HOLDING LIMITED
(74)【代理人】
【識別番号】110000028
【氏名又は名称】特許業務法人明成国際特許事務所
(72)【発明者】
【氏名】シュエ・ホゥイ
【審査官】 新井 則和
(56)【参考文献】
【文献】 特開2007−052808(JP,A)
【文献】 特開平08−077294(JP,A)
【文献】 特開平02−007183(JP,A)
【文献】 特開平11−232382(JP,A)
【文献】 特開平04−268685(JP,A)
【文献】 特開平07−141471(JP,A)
【文献】 特開昭58−051372(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06K 9/00−9/82
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサによって実行されるフォーム認識方法であって、
フォーム二値画像内のフォームの直線検出を実施し、前記フォームの複数のフォーム境界と、前記複数のフォーム境界の間の位置関係とを取得し、
前記フォーム二値画像内のフォームの直線検出を実施することは、
起点としての、前記フォーム上の直線上の設定点に基づいて、前記直線上の隣接画素に対して結合成分解析を実施し、前記直線の結合成分を取得し、
前記直線の前記結合成分上の各画素について、前記直線に垂直な結合成分の画素の数を取得し、
前記直線の前記結合成分上の画素についての前記直線に垂直な結合成分の前記画素の数に基づいて、前記直線の平均線幅を取得し、
前記画素が前記直線の前記結合成分上に位置しているところの線幅が前記平均線幅の少なくとも一部に基づき決定される閾値線幅よりも大きいか否かを決定し、
前記画素が前記直線の前記結合成分上に位置しているところの前記線幅が前記閾値線幅よりも大きい場合に、線幅が前記閾値線幅よりも大きい前記画素が位置しているところの前記線幅に対して線幅除去処理を実施することを含み、
前記複数のフォーム境界と、前記複数のフォーム境界の間の位置関係とを使用して、前記フォームから複数の特徴を抽出し、
少なくとも一部には前記複数の特徴に基づいて、前記フォームに関連する特徴ベクトルを確立し、前記特徴ベクトルは前記フォームの構造的特徴を示し、
少なくとも一部には前記フォームの前記特徴ベクトルに基づいて、前記フォームと複数のテンプレートフォームのそれぞれとの間の類似性を計算し、
前記計算された類似性に基づいて、前記フォームを識別すること、
を備える方法。
【請求項2】
請求項1に記載の方法であって、
前記フォーム二値画像内のフォームの直線検出を実施することは、更に、
前記線幅除去処理を経た前記直線に基づいて、前記フォームの複数のフォーム境界と、前記複数のフォーム境界の間の位置関係とを取得すること、
を備える、方法。
【請求項3】
請求項に記載の方法であって、
線幅が前記閾値線幅よりも大きい前記画素が位置しているところの前記線幅に対して線幅除去処理を実施することは、
前記閾値線幅よりも大きい前記画素を、前記直線の前記結合成分から除去し、
前記除去された画素が前記直線内であるか否かを決定し、
前記除去された画素が前記直線内である場合に、前記除去された画素の両側で線分を統合すること、
を備える、方法。
【請求項4】
請求項1に記載の方法であって、更に、
前記複数のフォーム境界と、前記複数のフォーム境界の間の位置関係とを使用して、前記フォームから複数の特徴を抽出する前に、
設定されたルールに基づいて、同じ方向に伸びている隣り合う2本のフォーム境界が線分統合を必要とするか否かを決定し、
前記設定されたルールに基づき、前記同じ方向に伸びている前記隣り合う2本のフォーム境界が線分統合を必要とする場合に、前記隣り合う2本のフォーム境界に対して線分統合を実施する、
ことを備える方法。
【請求項5】
請求項4に記載の方法であって、
設定されたルールに基づいて、同じ方向に伸びている隣り合う2本のフォーム境界が線分統合を必要とするか否かを決定することは、
A)前記同じ方向に伸びている前記隣り合う2本のフォーム境界の間の距離を決定し、前記距離を第1の設定閾値と比較し、前記比較に基づいて、線分統合が実施されるべきどうかを決定すること、
B)前記同じ方向に伸びている前記隣り合う2本のフォーム境界の類似性を決定し、前記類似性に基づいて、前記線分統合が実施されるべきか否かを決定すること、又は
C)A)とB)との組み合わせ
を備える、方法。
【請求項6】
請求項5に記載の方法であって、
前記同じ方向に伸びている前記隣り合う2本のフォーム境界の類似性を決定することは、
A)前記同じ方向に伸びている前記隣り合う2本のフォーム境界の間の角度を決定し、前記角度を第2の設定閾値と比較し、前記比較に基づいて、線分統合が実施されるべきか否かを決定すること、
B)前記同じ方向に伸びている前記隣り合う2本のフォーム境界の間の平行距離を決定し、前記平行距離を第3の設定閾値と比較し、前記比較に基づいて、線分統合が実施されるべきか否かを決定すること、又は
C)A)とB)との組み合わせ、
を備える、方法。
【請求項7】
請求項2に記載の方法であって、更に、
前記複数のフォーム境界と、前記複数のフォーム境界の間の位置関係とを使用して、前記フォームから複数の特徴を抽出する前に、前記フォームの前記複数のフォーム境界の文字線分フィルタリングを実施することを備える方法。
【請求項8】
請求項7に記載の方法であって、
前記フォームの前記複数のフォーム境界の文字線分フィルタリングを実施することは、
前記フォームの前記複数のフォーム境界の線分長さが第4の設定閾値以下であるか否かを決定し、
前記フォームの前記複数のフォーム境界の前記線分長さが前記第4の設定閾値以下である場合に、その線分長さが前記第4の設定閾値以下であるフォーム境界を除去すること、
を備える、方法。
【請求項9】
請求項8に記載の方法であって、
前記第4の閾値は、少なくとも、
前記フォームの前記複数のフォーム境界において最大の結合成分の長さを取得して、前記長さを複数の長さ間隔に分割することと、
前記複数のフォーム境界における各結合成分を、前記各結合成分の長さに基づいて、前記複数の長さ間隔のうちの1つの長さ間隔に振り分け、
前記複数の長さ間隔の長さと、前記長さ間隔のそれぞれの結合成分の数とに基づいて、線分長さ分布ヒストグラムを作成し、
前記ヒストグラムにおけるy座標の最高値に対応する長さを、前記第4の閾値として与えること、
によって設定される、方法。
【請求項10】
請求項1に記載の方法であって、
前記複数のフォーム境界と、前記複数のフォーム境界の間の位置関係とを使用して、前記フォームから複数の特徴を抽出することは、
前記複数のフォーム境界と、前記複数のフォーム境界の間の位置関係とに基づいて、前記複数のフォーム境界の複数の交点を抽出し、
前記複数の交点に関する情報を取得し、
前記複数のフォーム境界から、水平方向のフォーム境界に関する情報及び垂直方向のフォーム境界に関する情報を取得すること、
を備え、
少なくとも一部には前記複数の特徴に基づいて、前記フォームに関連する特徴ベクトルを確立することは、
前記複数の交点に関する情報、前記水平方向のフォーム境界に関する情報、及び前記垂直方向のフォーム境界に関する情報に基づいて、前記フォームの特徴ベクトルを取得することを備える、方法。
【請求項11】
請求項10に記載の方法であって、更に、
前記複数のフォーム境界と、前記複数のフォーム境界の間の位置関係とに基づいて、前記複数のフォーム境界の複数の交点を抽出する前に、
前記フォームの領域を決定し、
前記フォームの前記領域に基づいて、前記フォームに対して正規化処理を実施すること、
を備える方法。
【請求項12】
請求項11に記載の方法であって、更に、
前記フォームに対して前記正規化処理を実施した後に、前記フォームを複数のブロックに分けることを備え、
前記複数のフォーム境界と、前記複数のフォーム境界の間の位置関係とに基づいて、前記複数のフォーム境界の複数の交点を抽出すること、前記複数の交点に関する情報を取得すること、並びに前記複数のフォーム境界から、水平方向のフォーム境界に関する情報及び垂直方向のフォーム境界に関する情報を取得することは、
前記フォームのブロックから、前記フォームの前記ブロックそれぞれの内の複数のフォーム境界と前記複数のフォーム境界の間の位置関係とに基づいて、交点を抽出すること、
前記フォームの前記ブロック内の前記フォーム境界の前記交点を抽出すること、
前記フォームの前記ブロック内の前記交点に関する情報を取得すること、
前記フォームの前記ブロック内の水平方向のフォーム境界に関する情報及び垂直方向のフォーム境界に関する情報を取得すること、
を備える、方法。
【請求項13】
請求項1に記載の方法であって、
少なくとも一部には前記フォームの前記特徴ベクトルに基づいて、前記フォームと前記複数のテンプレートフォームのそれぞれとの間の類似性を計算することは、
前記フォームの前記特徴ベクトル及び前記複数のテンプレートフォームのうち1つのテンプレートフォームの特徴ベクトルについて、最も近い距離対2番目に近い距離の比率を計算し、
前記比率が設定比率以上である場合に、前記フォームと、前記最も近い距離に対応する前記テンプレートフォームとの間の類似性を、最も高いと決定し、
前記比率が前記設定比率未満である場合に、前記フォームを、前記テンプレートフォームに類似していないと決定すること、
を備える、方法。
【請求項14】
フォーム認識システムであって、
少なくとも1つのプロセッサであって、
フォーム二値画像内のフォームの直線検出を実施し、前記フォームの複数のフォーム境界と、前記複数のフォーム境界の間の位置関係とを取得し、
前記フォーム二値画像内のフォームの直線検出を実施することは、
起点としての、前記フォーム上の直線上の設定点に基づいて、前記直線上の隣接画素に対して結合成分解析を実施し、前記直線の結合成分を取得し、
前記直線の前記結合成分上の各画素について、前記直線に垂直な結合成分の画素の数を取得し、
前記直線の前記結合成分上の画素についての前記直線に垂直な結合成分の前記画素の数に基づいて、前記直線の平均線幅を取得し、
前記画素が前記直線の前記結合成分上に位置しているところの線幅が前記平均線幅の少なくとも一部に基づき決定される閾値線幅よりも大きいか否かを決定し、
前記画素が前記直線の前記結合成分上に位置しているところの前記線幅が前記閾値線幅よりも大きい場合に、線幅が前記閾値線幅よりも大きい前記画素が位置しているところの前記線幅に対して線幅除去処理を実施することを含み、
前記複数のフォーム境界と、前記複数のフォーム境界の間の位置関係とを使用して、前記フォームから複数の特徴を抽出し、
少なくとも一部には前記複数の特徴に基づいて、前記フォームに関連する特徴ベクトルを確立し、前記特徴ベクトルは、前記フォームの構造的特徴を示し、
少なくとも一部には前記フォームの前記特徴ベクトルに基づいて、前記フォームと複数のテンプレートフォームのそれぞれとの間の類似性を計算し、
前記計算された類似性に基づいて、前記フォームを識別するように構成されている、少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに接続され、前記少なくとも1つのプロセッサに命令を提供するように構成されているメモリと、
を備える、フォーム認識システム。
【請求項15】
請求項14に記載のシステムであって、
前記フォーム二値画像内のフォームの直線検出を実施することは、更に、
前記線幅除去処理を経た前記直線に基づいて、前記フォームの複数のフォーム境界と、前記複数のフォーム境界の間の位置関係とを取得すること、
を備える、システム。
【請求項16】
請求項15に記載のシステムであって、
線幅が前記閾値線幅よりも大きい前記画素が位置しているところの前記線幅に対して線幅除去処理を実施することは、
前記閾値線幅よりも大きい前記画素を、前記直線の前記結合成分から除去し、
前記除去された画素が前記直線内であるか否かを決定し、
前記除去された画素が前記直線内である場合に、前記除去された画素の両側で線分を統合すること、
を備える、システム。
【請求項17】
請求項14に記載のシステムであって、
前記複数のフォーム境界と、前記複数のフォーム境界の間の位置関係とを使用して、前記フォームから複数の特徴を抽出することは、
前記複数のフォーム境界と、前記複数のフォーム境界の間の位置関係とに基づいて、前記複数のフォーム境界の複数の交点を抽出し、
前記複数の交点に関する情報を取得し、
前記複数のフォーム境界から、水平方向のフォーム境界に関する情報及び垂直方向のフォーム境界に関する情報を取得すること、
を備え、
少なくとも一部には前記複数の特徴に基づいて、前記フォームに関連する特徴ベクトルを確立することは、
前記複数の交点に関する情報、前記水平方向のフォーム境界に関する情報、及び前記垂直方向のフォーム境界に関する情報に基づいて、前記フォームの特徴ベクトルを取得することを備える、システム。
【請求項18】
請求項17に記載のシステムであって、
前記1つ以上のプロセッサは、更に、
前記複数のフォーム境界と、前記複数のフォーム境界の間の位置関係とに基づいて、前記複数のフォーム境界の複数の交点を抽出する前に、
前記フォームの領域を決定し、
前記フォームの前記領域に基づいて、前記フォームに対して正規化処理を実施するように構成されている、システム。
【請求項19】
請求項18に記載のシステムであって、
前記1つ以上のプロセッサは、更に、前記フォームに対して前記正規化処理を実施した後に、前記フォームを複数のブロックに分けるように構成され、
前記複数のフォーム境界と、前記複数のフォーム境界の間の位置関係とに基づいて、前記複数のフォーム境界の複数の交点を抽出すること、前記複数の交点に関する情報を取得すること、並びに前記複数のフォーム境界から、水平方向のフォーム境界に関する情報及び垂直方向のフォーム境界に関する情報を取得することは、
前記フォームのブロックから、前記フォームの前記ブロックそれぞれの内の複数のフォーム境界と、前記複数のフォーム境界の間の位置関係とに基づいて、交点を抽出すること、
前記フォームの前記ブロック内の前記フォーム境界の前記交点を抽出すること、
前記フォームの前記ブロック内の前記交点に関する情報を取得すること、
前記フォームの前記ブロック内の水平方向のフォーム境界に関する情報及び垂直方向のフォーム境界に関する情報を取得すること、
を備える、システム。
【請求項20】
請求項14に記載のシステムであって、
少なくとも一部には前記フォームの前記特徴ベクトルに基づいて、前記フォームと前記複数のテンプレートフォームのそれぞれとの間の類似性を計算することは、
前記フォームの前記特徴ベクトル及び前記複数のテンプレートフォームのうち1つのテンプレートフォームの特徴ベクトルについて、最も近い距離対2番目に近い距離の比率を計算し、
前記比率が設定比率以上である場合に、前記フォームと、前記最も近い距離に対応する前記テンプレートフォームとの間の類似性を、最も高いと決定し、
前記比率が前記設定比率未満である場合に、前記フォームを、前記テンプレートフォームに類似していないと決定すること、
を備える、システム。
【請求項21】
フォームを認識するためのコンピュータプログラムであって、
フォーム二値画像内のフォームの直線検出を実施し、前記フォームの複数のフォーム境界と、前記複数のフォーム境界の間の位置関係とを取得する機能と、
前記フォーム二値画像内のフォームの直線検出を実施することは、
起点としての、前記フォーム上の直線上の設定点に基づいて、前記直線上の隣接画素に対して結合成分解析を実施し、前記直線の結合成分を取得し、
前記直線の前記結合成分上の各画素について、前記直線に垂直な結合成分の画素の数を取得し、
前記直線の前記結合成分上の画素についての前記直線に垂直な結合成分の前記画素の数に基づいて、前記直線の平均線幅を取得し、
前記画素が前記直線の前記結合成分上に位置しているところの線幅が前記平均線幅の少なくとも一部に基づき決定される閾値線幅よりも大きいか否かを決定し、
前記画素が前記直線の前記結合成分上に位置しているところの前記線幅が前記閾値線幅よりも大きい場合に、線幅が前記閾値線幅よりも大きい前記画素が位置しているところの前記線幅に対して線幅除去処理を実施することを含み、
前記複数のフォーム境界と、前記複数のフォーム境界の間の位置関係とを使用して、前記フォームから複数の特徴を抽出する機能と、
少なくとも一部には前記複数の特徴に基づいて、前記フォームに関連し、前記フォームの構造的特徴を示す特徴ベクトルを確立する機能と、
少なくとも一部には前記フォームの前記特徴ベクトルに基づいて、前記フォームと複数のテンプレートフォームのそれぞれとの間の類似性を計算する機能と、
前記計算された類似性に基づいて、前記フォームを識別する機能と、
をコンピュータに実現させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本出願は、あらゆる目的のために、参照によって本明細書に組み込まれる、2012年7月24日に出願された、発明の名称を「FORM RECOGNITION METHOD AND DEVICE(フォーム認識方法及びフォーム認識装置)」とする中国特許出願第201210258883.7号に基づく優先権を主張する。
【0002】
本出願は、フォーム認識方法及びフォーム認識装置に関する。
【背景技術】
【0003】
「フォーム認識」は、描写的な物体及び現象を記述する、識別する、カテゴリ分けする、及び解釈するために、それらの物体及び現象の様々なフォームに関する情報(数値関係、テキスト関係、及び論理関係)を処理して解析することを言う。コンピュータ技術の発展に伴って、イベント又はプロセスを識別する及びカテゴリ分けするためのパターン認識に、コンピュータが適用されるようになった。識別されるイベント若しくはプロセスは、文字、音声、若しくは写真などの具体的対象を含むことができる、又は識別されるイベント若しくはプロセスは、状態若しくは程度などの抽象的対象を含むことができる。
【0004】
例えば、文字認識を実施するために、コンピュータが使用されている。一例として、光学式文字認識を挙げると、光学式文字認識(OCR)は、電子機器(例えば、スキャナ又はデジタルカメラ)によって、紙に印刷された文字を分析し、暗さ及び明るさのパターンの検出によってそれらの文字の形状を決定し、次いで、決定された形状を文字認識方法の使用によってコンピュータ文字に変換する。つまり、画像ファイルを生成するためにテキスト素材がスキャンされ、次いで、文字情報及びレイアウト情報を取得するために画像ファイルが解析される。テキスト文字の大半は、OCRを使用して認識することができる。
【0005】
しかしながら、文字認識へのコンピュータの現適用には、依然として幾つかの限界がある。例えば、既存のOCR技術は、テキスト素材からスキャンされた画像ファイル内のフォームをあまり正確に認識しないことが多い。コンピュータがフォームに遭遇するときに、既存のOCR技術は、化け文字を生じることが多く、フォームを正しく識別することができない。
【図面の簡単な説明】
【0006】
以下の詳細な説明及び添付の図面において、本発明の様々な実施形態が開示される。
【0007】
図1】フォーム認識プロセスの一実施形態を示すフローチャートである。
【0008】
図2】フォーム認識プロセスの別の一実施形態を示すフローチャートである。
【0009】
図3A】フォームの一実施形態を示す図である。
【0010】
図3B】水平直線の一実施形態を示す図である。
【0011】
図4】フォーム特徴図の一実施形態である。
【0012】
図5】距離の類似性を通じて識別されているフォームの一実施形態を示す図である。
図6】距離の類似性を通じて識別されているフォームの一実施形態を示す図である。
【0013】
図7】フォーム直線検出プロセスの一実施形態を示すフローチャートである。
【0014】
図8】結合成分をフォーム画像から抽出するプロセスの一実施形態を示すフローチャートである。
【0015】
図9A】フォーム直線検出における線分統合における距離決定の一実施形態を示す図である。
【0016】
図9B】統合された線分の一実施形態を示す図である。
【0017】
図10】フォーム直線検出における線分統合における角度決定の一実施形態を示す図である。
【0018】
図11】フォーム直線検出における線分統合における平行線距離決定の一実施形態を示す図である。
【0019】
図12】フォーム画像文字線分抽出プロセスの一実施形態を示すフローチャートである。
【0020】
図13】フォーム直線検出における文字線分フィルタリングの一実施形態を示す図である。
【0021】
図14】フォームカテゴリ認識プロセスの一実施形態を示すフローチャートである。
【0022】
図15】フォーム特徴を抽出するプロセスの一実施形態を示すフローチャートである。
【0023】
図16】フォームカテゴリ認識を経ているマルチレベル階層フォームを示す図である。
【0024】
図17】フォームに対して直線検出が実施された後に続く出力結果を示す図である。
【0025】
図18】フォーム出力結果に対して特徴点抽出が実施された後に続く特徴点を示す図である。
【0026】
図19】様々なモデルに対するフォームの類似性を計算するプロセスの一実施形態を示すフローチャートである。
【0027】
図20】フォームモデルを確立するプロセスの一実施形態を示すフローチャートである。
【0028】
図21】フォーム認識装置の一実施形態を示す構造ブロック図である。
【0029】
図22】フォーム認識のためのシステムの一実施形態を示す構造図である。
【発明を実施するための形態】
【0030】
本発明は、プロセス、装置、システム、合成物、コンピュータ読み取り可能記憶媒体に実装されたコンピュータプログラム製品、並びに/又は結合先のメモリに記憶された命令及び/若しくは結合先のメモリによって提供される命令を実行するように構成されたプロセッサなどのプロセッサのような、数々の形態で実現することができる。本明細書では、これらの実現形態、又は本発明がとりえるその他のあらゆる形態が、技術と称されてよい。総じて、開示されるプロセスの各段階の順番は、本発明の範囲内で変更されてよい。別途明記されない限り、タスクを実施するように構成されるものとして説明されるプロセッサ又はメモリなどのコンポーネントは、所定時にタスクを実施するように一時的に構成された汎用コンポーネントとして、又はタスクを実施するように製造された特殊コンポーネントとして実装されてよい。本明細書で使用される「プロセッサ」という用語は、コンピュータプログラム命令などのデータを処理するように構成された1つ以上の機器、回路、並びに/又は処理コアを言う。
【0031】
本発明の原理を例示す添付の図面とともに、以下で、本発明の1つ以上の実施形態の詳細な説明が提供される。本発明は、このような実施形態との関わりのもとで説明されるが、いずれの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定され、本発明は、数々の代替形態、変更形態、及び均等物を包含している。以下の説明では、本発明の完全な理解を与えるために、数々の具体的詳細が明記されている。これらの詳細は、例示を目的として提供されるものであり、本発明は、これらの詳細の一部又は全部を伴わずとも、特許請求の範囲にしたがって実施されえる。明瞭を期するために、本発明に関係した技術分野で知られる技術要素は、本発明が不必要に不明瞭にされないように、詳細な説明を省略されている。
【0032】
図1は、フォーム認識プロセスの一実施形態を示すフローチャートである。プロセス100は、図22のサーバ2220によって実行に移すことができ、以下を含む。
【0033】
ステップ110において、サーバは、フォーム二値画像内のフォームの直線検出を実施し、そのフォームの複数のフォーム境界と、それらの様々なフォーム境界の間の複数の位置関係とを取得する。
【0034】
フォームにおいて、線分は、通常は明確で真っ直ぐである。線分は、直線検出を経ると、フォームの複数のフォーム境界と、それらの複数のフォーム境界の間の位置関係とを生じる。フォームにおけるフォーム境界は、そのフォームにおける線分を示している。直線検出は、ハフ変換又は別の周知の技術によって実現することができる。
【0035】
ステップ120において、サーバは、複数のフォーム境界と、それらの複数のフォーム境界の間の位置関係とに基づいて、フォームから一連の特徴を抽出し、フォームから特徴ベクトルを確定する。特徴ベクトルは、フォームの構造的特徴を示している。
【0036】
ステップ130において、サーバは、フォームの特徴ベクトルに基づいて、フォームとテンプレートフォームとの間の類似性を計算する。
【0037】
一部の実施形態では、「テンプレートフォーム」は、サーバに記憶されたフォームである。フォームモデルは、サンプルフォーム画像に対して直線検出及び特徴抽出を実施することによって確立される。一部の実施形態では、「テンプレートフォーム」は、手動で生成される。一部の実施形態では、「テンプレートフォーム」は、その他のやり方で生成されることが理解される。
【0038】
ステップ140において、サーバは、計算された類似性に基づいてフォームを識別する。
【0039】
一部の実施形態では、サーバは、BMPファイル、TIFファイル、JPEGファイル、GIFファイル、PNGファイルなどのフォーム二値画像内のフォームの線分と、それらの線分の間の関係とを得るために、フォームの構造的特徴に基づいて、フォームに対して直線検出を実施する。つまり、サーバは、フォームの様々なフォーム境界と、それらの様々なフォーム境界の間の位置関係とを得る。次いで、サーバは、フォームのフォーム境界及び位置関係に関係した情報に基づいて、フォーム上の特徴を抽出し、フォームの特徴ベクトルを取得してフォームの構造的特徴を取得する。続いて、フォームは、フォームの構造手的特徴に基づいてテンプレートと突き合わされ、どのテンプレートがフォームに対する類似性が最も大きいか、つまり、当のフォームと比較して最も類似の構造を有するかを決定する。突き合わせの結果に基づいて、フォームのカテゴリが決定される。従来のシステムは、コンピュータへの便利で且つ迅速な入力のために、画像ファイル内又はフォーム画像内のフォームを正しく識別すること及び画像ファイル内のフォーム又はフォーム画像内のフォームを正確に識別することができないのが通例である。便宜上、「画像ファイル内のフォーム又はフォーム画像内のフォーム」は、以下では「フォーム画像」と総称される。
【0040】
図2は、フォーム認識プロセスの別の一実施形態を示すフローチャートである。プロセス200は、図22のサーバ2220によって実行に移すことができ、以下を含む。
【0041】
先ず、プロセス200は、フォームに対する直線検出を実行するために結合成分解析を利用し、取得されたフォーム境界に対して更なる最適化処理を実行する。次に、フォーム特徴抽出を実施する前に、プロセス200は、フォーム境界に対して文字線分フィルタリングを実施する。更に、プロセス200は、特徴交点を抽出することによってフォーム特徴抽出を実現する。また、プロセス200は、フォーム及びテンプレートフォームについて最も近い距離対2番目に近い距離の比率を決定することによって、正確なフォーム認識を実現する。
【0042】
プロセス200は、「田」の形状をした単純な2×2フォームの例を使用して説明される。
【0043】
ステップ210において、サーバは、直線検出を実行するために、及びフォームの様々なフォーム境界を取得するために、及びそれらの様々なフォーム境界の間の位置関係を取得するために、フォーム二値画像内のフォームの各線分に対して結合成分解析を実施する。
【0044】
一部の実施形態では、サーバは、各線分に対して結合成分解析を行う、つまり、フォームの各線分に対し、サーバは、各線分上の設定点(例えば、設定点は、起点、終点、又は線分上のその他の任意の設定点に相当する)を起点として使用する。結合成分解析は、起点の隣接画素に対して実施され、それらの(1つ以上の)画素の隣接画素もまた、起点に隣接すると見なされ、以下同様に続いて直線の結合成分が取得される。次いで、サーバは、各直線の結合成分上の各画素について、各直線に垂直な結合成分の画素の数を取得する。サーバは、直線の結合成分上の各画素についての各直線に垂直な結合成分の画素の数に基づいて、各直線の平均線幅を取得する。サーバは、各画素が直線の結合成分上に位置しているところの線幅が、平均線幅よりも大きいか否かを決定する。線幅が平均線幅よりも大きい場合は、サーバは、平均線幅よりも大きい画素が位置しているところの線幅に対して線幅除去処理を実施する。線幅除去処理を実施した後、サーバは、線幅除去処理を経た各直線に基づいて、フォームのフォーム境界を取得する。一部の実施形態では、これと実質的に同時に、サーバは、結合成分の間の位置関係に基づいて、線分起点においてフォーム境界Aがフォーム境界Bに垂直であるなどのような、様々なフォーム境界の間の位置関係も取得する。
【0045】
検出された直線は、主に水平フォーム線及び垂直フォーム線であるので、位置関係は、水平線間の上下の関係、垂直線間の左右の関係、及び相交わるか隅で交わるかのいずれかである水平線と垂直線との間の交わり関係である。これらの位置関係は、直線の終点座標に基づいて決定することができる。
【0046】
一部の実施形態では、サーバは、平均線幅よりも大きい画素が位置しているところの線幅に対して線幅除去処理を実施する場合に、平均線幅よりも大きい画素を直線の結合成分から除去する。続いて、サーバは、除去された画素が直線内に位置していたか否かを決定する。除去された画素が直線内に位置していた場合は、サーバは、除去された画素の両側で線分統合を実施する。
【0047】
上記のプロセス200を実施することによって、サーバは、なかでも特に、ぼやけた粗いフォーム画像などの、比較的低品質のフォーム画像を効果的に処理することができる。
【0048】
図3Aは、フォームの一実施形態を示す図である。フォームは、「田」形状のフォームである。以下の例は、「田」形状のフォームにおける第2の水平線に関するものである。結合成分解析によって実行されるフォーム直線検出プロセスが説明される。図3Bは、水平直線の一実施形態を示す図である。
【0049】
直線の結合成分解析を行うための起点として、第2の水平線の設定点(例えば、図3Bにおける画素1)が取り上げられる。例えば、サーバは、第2の水平直線の起点画素として現画素(つまり、画素1)を設定し、水平方向に(左側又は右側に)現画素に隣接する次の画素が存在するか否かを決定する。この例では、その他の画素1に対しても、結合成分解析が実施される。つまり、異なる線幅に対応するために、結合成分解析は、両方の画素1に対して、すなわち各画素1に対して実施される。この例は、起点画素の右側に次の画素が位置していることを示している。現画素に水平方向に隣接する次の画素が存在する場合は、サーバは、次の画素を結合成分領域に追加し、該追加された次の画素を現画素であると見なす。サーバは、再び、水平方向に隣接する画素が存在するか否かを決定し、現画素に隣接する画素が存在しなくなるまで決定を続ける。こうして、サーバは、直線結合成分(例えば、図3Bの画素1−2−3−4−5−6−7−8)を得る。一部の実施形態では、この例のように、フォームが単純で明確なときは、第2の水平線の結合成分は、線全体を網羅している。実施形態によっては、何らかの複雑なフォームの場合に、直線に対して実施される結合成分解析によって複数の結合成分が生じる。
【0050】
結合成分上の各画素について、サーバは、直線に垂直な画素を直線上の一点であると見なす。例えば、異なる線幅に対応するために、図3Bの画素1において垂直方向にある全ての画素が、画素1として記される。この状況では、直線の結合成分上の各画素に垂直な結合成分の画素の数を得ることが可能である。一部の実施形態では、このステップ(処理、操作)は、直線に対して結合成分解析を実施する前に、直線に対して実施される。この時点では、第2の水平線の結合成分について垂直結合成分が取得された後に、直線上の各画素について直線に垂直な結合成分の画素の数を取得することが可能である。
【0051】
線の平均幅の計算は、線に垂直な結合成分の画素の数に基づく。上記の例では、線の平均幅は、第2の水平線上の垂直画素の平均数に相当する。平均線幅が、N(画素)であると想定する。結合成分上の各画素点について、結合成分の或る場所、すなわち現位置の線幅(垂直画素の数)が閾値よりも大きい場合に、又は線幅対Nの比率が既定の閾値を超える場合に、その画素点が位置しているところの線幅に対して線幅除去処理が実施される。例えば、過剰な線幅を有する画素点が除去される、又は画素点が結合成分から除去される。除去された画素点が直線内に位置している場合は、直線は、2本の線分に分断される。次いで、それらの2本の線分は、統合される。図3Bを一例として使用すると、Nは、水平直線の平均線幅であり、(2+3+3+4+2+3+3+1)/8=21/8=2.625である。線幅対Nの比率の閾値が1.2であると想定すると、1.2×2.625=3.15である。つまり、垂直画素の数が3.15を超える場合、画素除去が実施される(例えば、図3Bにおける画素4)。除去された画素が直線の中ほどに見られる場合(例えば、図3Bの画素4)は、直線は、2本の直線(1−2−3)と(5−6−7−8)とに分断される。したがって、ノイズ、文字、及び垂直線による影響を排除することが可能である。
【0052】
一部の実施形態では、垂直線の直線検出が、上述された水平線の直線検出に対応する。
【0053】
図2に戻り、ステップ220において、サーバは、文字の線であると見なされる線を除去するために、取得されたフォームの様々なフォーム境界に対して文字線分フィルタリングを実施する。一部の実施形態では、文字線分は、フォーム境界と混同されやすい恐れがあるゆえに、フィルタリングによって除去される。
【0054】
文字線分フィルタリングは、フォームの様々なフォーム境界の線分長さが第4の設定既定値以下であるか否かを決定することを含む。フォームの様々なフォーム境界の線分長さが第4の設定閾値以下である場合は、サーバは、その線分長さが第4の設定閾値以下であるフォーム境界を除去する。
【0055】
ステップ220において、第4の閾値は、多くのやり方で設定される。例えば、第4の閾値は、テスト結果に基づいて設定される、経験値に基づいて設定される、又はその他の何らかの適切なやり方で設定される。一部の実施形態では、第4の閾値は、以下のように設定される。すなわち、フォームの様々なフォーム境界において最大の結合成分の長さを取得して、該最大の結合成分の長さを複数の長さ間隔に分け、様々なフォーム境界における各結合成分を、各結合成分の長さに基づいて、複数の長さ間隔のうちの1つの長さ間隔に振り分け、複数の長さ間隔の長さと、その長さ間隔の結合成分の数とに基づいて、線分長さ分布ヒストグラムを作成し、ヒストグラムにおけるy座標の最高点に対応する長さを、第4の閾値として確定する。
【0056】
一部の実施形態では、取得されたフォームのフォーム境界は、多くの文字線分を有する。通常、(文字の線に対応する)線分の長さは、直線又はフォーム境界と比べて小さく、既定の閾値を用いてフィルタリングによって除去することができる。一部の実施形態では、既定の閾値は、10〜20画素であるが、しかしながら、既定の閾値は、その他の値に設定することができる。文字線分フィルタリングは、フォーム認識の正確さを向上させ、フォーム認識に対する文字の影響を軽減する。
【0057】
上記の文字線分フィルタリングステップは、随意のステップであり、純粋にフォーム画像である一部のフォーム(つまり、テキストすなわち文字のみのフォーム、又はテキストすなわち文字を伴わないフォーム)の場合は省略することができる。
【0058】
ステップ230において、サーバは、様々なフォーム境界が文字線分フィルタリングを経て且つ様々なフォーム境界の間の位置関係が取得された後に、それらの様々なフォーム境界に基づいてフォームに対して特徴抽出を実施してフォームから特徴ベクトルを取得する。
【0059】
一部の実施形態では、サーバは、様々なフォーム境界と、それらの様々なフォーム境界の間の位置関係とに基づいて、フォーム境界の様々な交点を抽出し、それらの様々な交点に関する情報を取得し、それらの様々なフォーム境界のなかから、水平方向のフォーム境界に関する情報及び垂直方向のフォーム境界に関する情報を取得する。サーバは、様々な交点に関する情報、水平方向のフォーム境界に関する情報、及び垂直方向のフォーム境界に関する情報に基づいて、フォームの特徴ベクトルを取得する。
【0060】
例えば、図4に示されるような単純な「田」形状のフォームは、抽出することができる合計9タイプの交点(特徴点とも呼ばれる)を有する一般的なフォームである。フォーム特性に基づくと、抽出することができる9タイプの特徴点には、北西特徴点タイプ(図4における3つのNW特徴点)と、北特徴点(図4における4つのN特徴点)と、北東特徴点(図4における3つのNE特徴点)と、東特徴点(図4における4つのE特徴点)と、南東特徴点(図4における3つのSE特徴点)と、南特徴点(図4における4つのS特徴点)と、南西特徴点(図4における3つのSW特徴点)と、西特徴点(図4における4つのW特徴点)と、中心特徴点(図4における5つのM特徴点)とがある。
【0061】
代表的なフォームは、抽出することができる9タイプの交点を有する。事前に抽出された各線分の起点座標及び終点座標を使用して、様々なタイプの交点が抽出される。
【0062】
一部の実施形態では、9タイプの特徴点を抽出することに加えて、サーバは、水平直線及び垂直直線(つまり、フォーム境界)に関係した量情報などの情報を抽出する。つまり、サーバは、水平直線及び垂直直線の本数を抽出する。
【0063】
したがって、サーバは、合計11タイプの特徴を抽出する。サーバは、これらの特徴を、フォームの構造的特徴を記述する特徴ベクトルとして出力し、ここで、特徴は、特徴点、水平直線、及び垂直直線に関係するものである。例えば、図17を一例として使用すると、フォームについて、各次元(N、NE、E、SE、S、SW、W、NW、M、H、V)の発生が合計されて11次元の特徴ベクトル(例えば、(10,1,6,1,10,1,6,1,13,8,12))が与えられる。
【0064】
特徴点は、座標ではなく、様々な種類の境界特徴についての統計値である。直線検出を経たフォーム画像において、画素は、11の状態、すなわち北西画素、北画素、北東画素、東画素、南東画素、南画素、南西画素、西画素、中心画素、水平線、及び垂直線のうちの1つを有する。線及び画素の座標値は不要である。フォーム画像におけるフォームの構造的特徴を得るために、11タイプのうちの各タイプに属している特徴の数が数えられる。
【0065】
図2に戻り、ステップ240において、サーバは、フォームの特徴ベクトル、及び様々なテンプレートフォームの特徴ベクトルについて、最も近い距離対2番目に近い距離の比率を計算し、該計算に基づいて、フォームを識別する。様々なテンプレートフォームは、異なる数の行、異なる数の列、間隔の差、フォーマットの差、又はこれらの任意の組み合わせを有する。
【0066】
ステップ240において、「最も近い距離」は、フォームの特徴ベクトルから様々なテンプレートフォームの特徴ベクトルまでの全ての距離のなかで最も小さい値を有する距離を言う。最も近い距離に対応しているテンプレートフォームは、全てのテンプレートフォームのなかで、識別されるべきフォームに最も類似しているテンプレートフォームである。「2番目に近い距離」は、全ての距離値のなかで2番目に小さい値を有することを言う。「2番目に近い距離」よりも小さいのは、「最も近い距離」のみである。
【0067】
最も近い距離対2番目に近い距離の比率が設定比率以上であり、フォームと、最も近い距離に対応するテンプレートフォームとの間の類似性が最も高いことが確認された場合に、フォームは、そのテンプレートフォームカテゴリに属すると見なされる。テンプレートフォームカテゴリは、テンプレートフォームによって表されるフォームのタイプを言い、1つのテンプレートフォームであってもよい。最も近い距離対2番目に近い距離の比率が設定値未満である場合は、フォームは、様々なテンプレートフォームのいずれとも類似していないことが確認される。
【0068】
図5及び図6は、距離の類似性を通じて識別されているフォームの実施形態を示す図である。
【0069】
フォームを識別するために最も近い距離対2番目に近い距離の比率を使用することには、多くの理由がある。例えば、サーバが既に「最も近い距離」を抽出していると想定すると、入力フォームがカテゴリに属しているか否かを決定するには様々な方法がある。たとえもし、対応するテンプレートフォームを入力フォームが持たないとしても、その入力フォームについて最も近い距離の値を計算することは可能である。入力フォームがカテゴリに属しているか否かを決定する方法の1つは、閾値sを設定することを含む。最も近い距離がs未満である場合は、入力フォームはそのカテゴリのフォームに属している。最も近い距離がs未満でない場合は、入力フォームは、フォームライブラリ内のいずれのカテゴリにも属していない。この方法の欠点は、明確な判定s値を見つけることが予想以上に難しいことにある。このようなs値は、多くの手動テストを経て初めて決定することができる。別の一方法は、閾値sを設定しつつ、2番目に近い距離も見つけ、最も近い距離対2番目に近い距離の比率を計算することである。図5及び図6に示されるように、比率がsよりも大きい場合は、フォームは、「最も近い距離」カテゴリに属していると見なされ、比率がs以下である場合は、フォームは、フォームライブラリ内のいずれのカテゴリにも属していない。最も近い距離と2番目に近い距離との間に大きな差がある場合は、入力フォームは、S0カテゴリに属している可能性が高い。図5に示されるように、T0とT1(最も近い距離及び2番目に近い距離をそれぞれ表している)との差は、極めて大きく、入力フォームは、S0カテゴリに属している。最も近い距離と2番目に近い距離との間の差が最小である場合は、入力フォームは、サンプル集合内のいずれのカテゴリにも属していない可能性が高い。図6に示されるように、T0とT1との差が十分に大きくないので、入力フォームは、サンプル集合内のいずれのカテゴリにも属していない可能性が高い。したがって、サーバは、フォームが属しているカテゴリを効果的に識別する。
【0070】
フォームがカテゴリに属しているか否かを決定するために、2つのフォームを表す2つのベクトルの間のユークリッド距離が計算される。例えば、2つの同一フォームは、距離0を有する。2つのフォームの差が大きいほど、計算される距離が大きくなる。
【0071】
2つのフォームが類似しているか否かを決定する第1のやり方は、閾値を設定することである。距離が閾値未満である場合、2つのフォームは類似している。しかしながら、異なるフォームは、異なる閾値を有する(例えば、複雑なフォームのための閾値は、単純なフォームのための閾値とは異なる)。
【0072】
2つのフォームが類似しているか否かを決定する第2のやり方は、相対閾値を設定することである。例えば、相対閾値が0.7であり、100個の異なるフォームテンプレートがあると想定する。フォームが入力された後、最も近い(N1)フォームテンプレート及び2番目に近い(N2)フォームテンプレートについて検索が行われ、距離T0及びT1がそれぞれ計算される。T0対T1の比率は、N1が相対閾値を満足させるフォームテンプレートであるか否かを決定するために使用される。T0とT1とが近い場合、入力フォームとN1とは一致せず、そうでなく、T0が大幅にT1未満である場合、入力フォームはN1に一致する。
【0073】
一部の実施形態では、サーバは、フォーム画像線分に対して結合成分解析を実施することによって、フォーム境界を取得する。フォーム画像線分は、直線である。通常、入力フォームは、2つのタイプの線又は線分しか有さず、サーバは、線分どうしを区別する。サーバは、フォーム境界をより正確で且つより有効にするために、フォーム境界に対して線幅除去処理及び文字線分フィルタリングを行う。フォーム特徴点を抽出することによって、フォームの構造的特徴が取得される。続いて、サーバは、類似性の解析に基づいて、フォームに最も類似するテンプレートフォームを決定し、それによって、フォームを識別する。したがって、サーバは、コンピュータへの便利で且つ迅速な入力のために、画像ファイル内又はフォーム画像内のフォームを正しく識別するとともに、画像ファイル内のフォーム又はフォーム画像内のフォームを正確に識別する。
【0074】
図7は、フォーム直線検出プロセスの一実施形態を示すフローチャートである。一部の実施形態では、プロセス700は、図2のステップ210を実行に移したものであり、以下を含む。
【0075】
プロセス700は、本出願の、フォーム直線検出態様及びフォームカテゴリ認識態様を説明している。フォーム直線検出態様では、該態様は、フォーム境界の統合に関係するステップを含む。フォームカテゴリ認識態様では、該態様は、フォームの多解像度処理に関係するステップを含む。また、フォームモデルの確立も説明される。
【0076】
先ず、フォーム直線検出態様は、フォーム画像を受信することと、フォーム画像を前処理することと、フォーム画像結合成分を抽出することと、フォーム画像線分を統合することと、フォーム画像文字線分をフィルタリングすることと、検出されたフォーム画像直線を出力することとを含む。
【0077】
ステップ710において、サーバは、入力されたフォーム画像を受信する。
【0078】
入力画像ソースには、スクリーンショット、写真取り込み、スキャナ取り込み、又はその他の方法を通じて得られた画像がある。入力フォームのカテゴリには、電子的な形態、紙片、産業用のデッサンなどがある。
【0079】
ステップ720において、サーバは、フォーム画像を前処理する。
【0080】
前処理には、入力されたフォーム画像のグレースケール処理及び二値処理がある。一部の実施形態では、前処理された出力画像は、黒及び白の2色のみを含む。
【0081】
ステップ730において、サーバは、フォーム画像から結合成分を抽出する。
【0082】
一部の実施形態では、サーバは、結合成分方法に基づいて直線を抽出する。これは、斜めの直線に関連する問題を効果的に回避する。例えば、フォームをスキャンするときに、線は、真っ直ぐではなく斜めにスキャンされるかもしれない。これらの斜めの線には、通常の水平/垂直スキャンは適切でない。
【0083】
図8は、フォーム画像から結合成分を抽出するプロセスの一実施形態を示すフローチャートである。一部の実施形態では、プロセス800は、図7のステップ730を実行に移したものであり、以下を含む。
【0084】
フォーム境界は、通常は、実質的に水平又は垂直な構造を見せるので、プロセス800が、使用される。
【0085】
一例として、プロセス800は、水平直線を検出する。
【0086】
ステップ810において、サーバは、直線上の一点として処理するために、垂直方向の結合画素を収集する。一部の実施形態では、直線は、異なる線幅に適合可能である。
【0087】
処理されたフォーム画像には、曖昧さ、粗さ、及びその他の同様な条件を伴う低品質のものがあるという事実に鑑みて、各画素に垂直に結合された画素は、水平直線検出の際に、直線の要素であると見なされる。
【0088】
ステップ820において、水平方向に(左側又は右側に)現画素に隣接する画素が存在する場合に、サーバは、現画素を結合領域に追加する。
【0089】
ステップ830において、サーバは、抽出された結合成分の平均幅(つまり、水平線上における垂直画素の平均数)を計算する。平均幅が、Nであると想定する。領域内の各水平座標について、現位置における線幅(垂直画素の数)対Nの比率が閾値を超える場合は、サーバは、結合成分から現位置を除去する。現位置が直線内にある場合は、現位置の除去は、直線を2本の線分に分断する。このステップは、ノイズ、文字、及び垂直線による影響を軽減する。
【0090】
垂直直線検出方法は、水平直線検出方法と同様であり、同様なやり方で実行される。
【0091】
再び図7を参照すると、ステップ740において、サーバは、フォーム画像線分を統合する。
【0092】
通常は、文字線分は長さが短く、また、同じ長さを有する文字線分の度数は、多くの文字線分が同様な長さを有するゆえに高くなる。図13のヒストグラムは、文字線分の比較的集中した分布を反映しており、通常は、文字線分は、短い長さを有する領域に現れる。
【0093】
フォーム画像線分の統合は、もとは1本の線であると見なされていたが何らかの理由で分断されることになった複数の直線を統合することを含む。統合ステップ中は、同じ方向に伸びている隣り合う2本のフォーム境界が統合によって1本の線分にされるべきか否かを決定するために、ルールに基づく決定がなされる。隣り合う2本のフォーム境界が統合されるべきである場合、隣り合うそれらの2本のフォーム境界は、線分統合を施される。一部の実施形態では、A)サーバは、同じ方向に伸びている隣り合う2本のフォーム境界の間の距離を取得し、該距離を第1の設定閾値と比較し、第1の設定閾値に照らした上記距離の比較に基づいて、線分統合を実施するかべきどうかを決定する、B)サーバは、同じ方向に伸びている隣り合う2本のフォーム境界の類似性を取得し、該類似性に基づいて、線分統合を実施するべきか否かを決定する、又はC)これらの組み合わせを行う。第1の閾値の一例は、12画素である。一部の実施形態では、A)サーバは、同じ方向に伸びている隣り合う2本のフォーム境界の類似性を取得し、該類似性に基づいて、線分統合を実施するべきか否かを決定する、B)サーバは、同じ方向に伸びている隣り合う2本のフォーム境界の間の角度を取得し、該角度を第2の設定閾値と比較し、該比較に基づいて、線分統合を実施するべきか否かを決定する、C)サーバは、同じ方向に伸びている隣り合う2本のフォーム境界の間の平行距離を取得し、該平行距離を第3の設定閾値と比較し、該比較に基づいて、線分統合を実施するべきか否かを決定する、又はD)これらの任意の組み合わせを行う。第2の閾値の一例は、5度である。
【0094】
つまり、2本の直線線分の統合は、以下の条件のうちの少なくとも1つを満たす必要がある。
【0095】
条件A:2本の線分の間の最も近い距離(つまり、左側の線の右端と、右側の線の左端)が、設定閾値未満である。一部の実施形態では、閾値は、12画素に設定される。上記距離が閾値未満である場合は、線の分断は、正常であると見なされ、2本の線分は、統合される。一態様としては、2本の線は、もとは別々であったと見なされ、統合されない。
【0096】
図9Aは、フォーム直線検出における線分統合における距離決定の一実施形態を示す図である。T1が設定閾値未満であるときに、2本の線分(左側の結合成分1−2−3−4−5−6−7−8及び右側の結合成分1−2−3−4−5−6−7−8)は、統合される。T1が設定閾値以上であるときは、2本の線分は、統合されない。図9Bは、統合された線分の一実施形態を示す図である。統合された線分は、隙間を満たされて、統合された線分を形成している。一部の実施形態では、隙間は、1画素の幅を有する線で満たされる。一部の実施形態では、隙間は、2画素以上の幅を有する線で満たされる。
【0097】
条件B:2本の線分の類似性が、設定閾値未満である。2本の線分の類似性、すなわち2本の線分が同じ線を構成している可能性が、計算される。
【0098】
類似性の計算は、各直線の中心画素位置を計算することと、次いで、線適合方法(例えば、最小二乗近似法)を用いて各直線の近似式を得ることとを含む。2本の線分が同じ線である可能性を測るために、2つの措置が使用される。
【0099】
第1の措置は、2本の線分の間の角度(コサインの定理を通じて得ることができる)の決定に基づく。図10は、フォーム直線検出における線分統合における角度決定の一実施形態を示す図である。サーバは、抽出された任意の2つの結合成分の垂直中心点を計算し、それらの中心点に基づいて、最も近い直線を適合させる。2つの結合成分の間の角度は、幾何学形状に基づいて計算され、それによって、結合成分の間の角度の計算が実現される。角度が小さいほど、2本の線が同じ直線に属する可能性が増す。
【0100】
第2の措置は、2つの結合成分の間の平行距離の決定に基づく。一部の実施形態では、平行距離は、第2の線分画素中心から第1の線分までの点と線との距離の二乗平均の和によって表される。図11は、フォーム直線検出における線分統合における平行線距離決定の一実施形態を示す図である。抽出された任意の2つの結合成分の場合に、サーバは、左側の結合成分の中心を通る直線を適合させ、次いで、右側の結合成分の各中心点から、上記の線を延長した線までの距離の二乗の和を計算する。サーバは、そうして、結合成分の間の平行距離を計算する。平行距離が短いほど、2本の線が同じ線である可能性が増す。一部の実施形態では、第1の措置のための閾値は、5度であり、第2の措置のための閾値は、第2の結合成分の平均線幅の二乗の平均の2倍である。つまり、2本の線分は、2本の線分がこれらの条件を両方とも満たすときに、統合されて1本の線にされる。
【0101】
線分統合は、通常は、複雑な又は画像品質が悪く尚且つ「もとは1本の線だったが何かしらの理由で分断されたフォーム線」という現象に見舞われた何らかのフォーム画像のための、救済措置である。線分統合は、単純で鮮明なフォーム画像の場合は随意である。
【0102】
再び図7を参照すると、ステップ750において、サーバは、フォーム画像文字線分をフィルタリングによって除去する。
【0103】
一部の実施形態では、上記の線分統合の結果は、文字線分を含むことができる。通常は、(例えば、文字の線に対応する)文字線分の長さは、フォーム境界と比べて小さく、設定閾値を用いてフィルタリングによって除去される。設定閾値の一例は、20画素である。
【0104】
図12は、フォーム画像文字線分抽出プロセスの一実施形態を示すフローチャートである。一部の実施形態では、プロセス1200は、ステップ750を実行に移したものである。
【0105】
プロセス1200は、上記の出力結果に基づいて線の長さのヒストグラムを作成する自動の閾値抽出プロセスを含む。
【0106】
ステップ1210において、サーバは、前回の出力結果のなかで最も長い結合領域の長さを得る。
【0107】
ステップ1220において、サーバは、最も長い結合領域をM個の等間隔に分割する。
【0108】
ステップ1230において、各線分について、サーバは、各線分をその長さにしたがって1つの間隔に振り分けて、その間隔についてのカウンタを1つ加算する。
【0109】
ステップ1240において、サーバは、振り分けられた線分に基づいて、線分の分布のヒストグラムを作成する。サーバは、最も高い点に対応する長さを、文字線分の長さとして機能するものとして選択する。したがって、水平方向及び垂直方向において、文字幅及び文字高さをそれぞれ得ることが可能であり、サーバは、これらの文字幅及び文字高さを、線分をふるい分けするための閾値として使用する。文字幅及び文字高さは、事前に設定されるのではなく、ヒストグラムの解析に基づいて決定される。ヒストグラムのピークに対応する線分長さは、文字線分長さとして使用される。
【0110】
ステップ1250において、サーバは、閾値よりも高い線分(つまり、閾値よりも右側の間隔に振り分けられた線分)のみを保持する。
【0111】
図13は、フォーム直線検出における文字線分フィルタリングの一実施形態を示す図である。図12の、上記の文字線分フィルタリングプロセスは、図13に照らして説明されている。
【0112】
一例として、全ての長さが、画素数で表されている。最も長い結合成分の長さ(検出された最も長い直線によって表される)が、500であると想定し、M=100とする。つまり、空間全体が、合計100の間隔(0、5、10、......、495、500)に区別される。サーバは、フォーム画像全体における検出された直線の画素長さに基づいて、ヒストグラムを作成する。x座標は、画素間隔であり、y座標は、度数である。なお、「M=100」は、例示のための一例に過ぎないことに留意せよ。実際の適用では、Mの値は、実際の条件にしたがって設定することができる。写真が大きければ、多数の画素が存在する。したがって、Mは、適宜増減される。
【0113】
上記の直線検出は、(真のフォーム境界及び文字線線分を含む)複数の直線線分を出力する。ほぼ全ての状況において、フォーム境界は、文字線線分よりも長く且つ少数である(特に、ぎっしり詰まったテキストが含まれる場合はそうである)。したがって、このステップは、ピーク値を与えられた閾値(図13において丸で囲われた部分に対応する文字線分の長さ)を検出し、該閾値よりも大きい線分(真のフォーム境界)のみを保持する。
【0114】
一部の実施形態では、文字線分フィルタリングは、訓練を必要とする。訓練プロセス又は認識プロセスの際に、入力フォーム画像は、大量のテキスト入力内容を含む。フォームに入力される文字の量が設定値よりも大きい場合は、入力文字は、フォーム境界と比べて小さい直線を形成し、これは、後続のステップに対して影響を及ぼすだろう。文字線分をフィルタリングによって除去すること、及びフォーム認識に対するテキスト入力内容の影響を軽減することによって、精度が高まる。
【0115】
図7に戻り、ステップ760において、サーバは、フォーム画像直線検出結果を出力する。
【0116】
また、各線分について、サーバは、Pstartすなわち起点座標と、Pendすなわち終点座標と、Lすなわち長さと、Wすなわち平均幅とを保持する。
【0117】
フォームに対して直線検出を実施した後、サーバは、フォームカテゴリ認識を実施する。
【0118】
図14は、フォームカテゴリ認識プロセスの一実施形態を示すフローチャートである。プロセス1400は、図7のプロセス700の後に実施され、以下を含む。
【0119】
ステップ1410において、サーバは、フォーム特徴を抽出する。
【0120】
異なるタイプのフォームは、異なる構造を有する。一部の実施形態では、フォームを記述し、フォームの構造的特徴を取得し、該フォーム構造的特徴に基づいてフォームカテゴリを決定するために、一般的な手法が使用される。
【0121】
図15は、フォーム特徴を抽出するプロセスの一実施形態を示すフローチャートである。一部の実施形態では、プロセス1500は、ステップ1410を実行に移したものであり、以下を含む。
【0122】
ステップ1510において、サーバは、交点(特徴点)を抽出する。一般的なフォームは、抽出することができる合計9タイプの交点を有する。事前に抽出された各線分は、少なくとも起点座標と終点座標とを含み、これは、特徴点を抽出するために使用することができる。図4を参照すると、一部の実施形態では、特徴点抽出は、抽出されている9タイプの特徴点、すなわち北西特徴点、北特徴点、北東特徴点、東特徴点、南東特徴点、南特徴点、南西特徴点、西特徴点、及び中心特徴点を含むフォーム特性に基づく。
【0123】
図16は、フォームカテゴリ認識を経ているマルチレベル階層フォームを示す図である。図17は、フォームに対して直線検出が実施された後に続く出力結果を示す図である。図18は、フォーム出力結果に対して特徴点抽出が実施された後に続く特徴点を示す図である。
【0124】
図16のフォームを一例として使用し、フォームが直線検出を経た後の出力フォームが、図17に示されている。図17に描かれているフォームは、図18に示されるように、交点抽出を経る。ここで、NWは、北西特徴点を示し、Nは、北特徴点を示し、NEは、北東特徴点を示し、Eは、東特徴点を示し、SEは、南東特徴点を示し、Sは、南特徴点を示し、SWは、南西特徴点を示し、Wは、西特徴点を示し、Mは、中心特徴点を示している。また、水平線の数(H=8)及び垂直線の数(V=12)が存在する。各次元(N、NE、E、SE、S、SW、W、NW、M、H、V)の発生が合計され、これらの次元に基づいて、このフォームについての11次元(10,1,6,1,10,1,6,1,13,8,12)特徴ベクトルが与えられる。
【0125】
精度の向上を実現するために、フォームに対して多重解像度処理が実施される。多重解像度処理下では、フォームの特徴ベクトルは、異なる部分窓下にある上記の各次元特徴を合計したものである。
【0126】
図15に戻り、ステップ1520において、サーバは、フォームの外枠領域を決定する。フォームの外枠領域は、上記の抽出された4隅特徴点に基づいて決定される。
【0127】
ステップ1530において、サーバは、多重解像度処理を実施する。フォームが位置付けられた領域を得た後、第1の段階は、例えばフォームを640×480に均一に縮小又は拡大するなどのように、フォームのサイズを正規化することである。サーバは、正規化画像をN×N個のブロックに分ける。図16に示されるように、元の画像は、3つのレベルに分けられる。
【0128】
第1のレベルでは、元の画像から11の次元が抽出される。次に、第2のレベルでは、元の画像は、2×2=4の小領域に分けられ、したがって、次元は、4×11=44である。第3のレベルでは、元の画像は、4×4=16の小領域に分けられ、したがって、次元は、16×11=176である。第1、第2、及び第3のレベルの次元は、足し合わされ、次元の合計は、11+44+176=231になる。
【0129】
ステップ1540において、サーバは、特徴抽出を実施する。現例によって、合計11タイプの特徴が抽出される。これらの11タイプの特徴は、ステップ1520において抽出された9つの特徴量と、水平線及び垂直線とを含む。つまり、サーバは、複数ブロックのフォームのうちの各フォームブロック内の様々なフォーム境界とそれらの様々なフォーム境界の間の関係とに基づいて、各フォームブロックから様々な交点を抽出し、各フォームブロック内のフォーム境界の様々な交点を抽出し、各フォームブロック内の様々な交点に関する情報を取得し、各フォームブロック内の水平方向のフォーム境界に関する情報及び垂直方向のフォーム境界に関する情報を取得する。
【0130】
ステップ1550において、サーバは、特徴ヒストグラムを作成する。図16のマルチレベル階層画像から、様々な画像小窓についての特徴量が抽出される。特徴量は、次いで、特徴ヒストグラムを形成するために統合される。図16における3層画像の場合、合計で(1+4+16)×11=231次元の特徴が抽出される。
【0131】
ステップ1560において、サーバは、特徴を出力する。上記の231次元の特徴は、フォームの構造を記述するための特徴ベクトル出力と見なされる。
【0132】
上記より、フォーム認識のための11次元ベクトルの使用は、結果として大量の誤差(例えば、次元の不足や情報の不十分など)をもたらすが、多重解像度処理を通じて、認識の正確さは高まる。例えば、テキストにおいて3つの解像度(1、2x2、4x4)を使用することによって、最終的な結果は11x21=231次元になり、認識の正確さが高まる。
【0133】
ステップ1420において、サーバは、様々なモデル(テンプレートフォーム)に対する類似性を計算し、フォームが属しているフォームカテゴリを決定する。
【0134】
例えば、入力フォームの特徴ベクトルから様々なテンプレートフォームの特徴ベクトルまでのユークリッド距離が計算される。入力フォームがフォームテンプレートライブラリに属していることが知られている場合は、サーバは、ユークリッド距離が最も短いフォームタイプを直接返す。そうでない場合は、サーバは、様々なモデルに対するフォームの類似性を計算する。
【0135】
図19は、様々なモデルに対するフォームの類似性を計算するプロセスの一実施形態を示すフローチャートである。一部の実施形態では、プロセス1900は、ステップ1420を実行に移したものであり、以下を含む。
【0136】
ステップ1910において、サーバは、様々なテンプレートフォーム及び入力フォーム画像内のフォームから、最も近いユークリッド距離対2番目に近いユークリッド距離の比率を計算する。
【0137】
ステップ1920において、サーバは、比率がT以上であるか否かを決定する。
【0138】
ステップ1930において、比率がT以上である場合は、サーバは、入力フォーム画像に最も近いテンプレートフォームを返送する。
【0139】
ステップ1940において、比率がT未満である場合は、サーバは、入力フォーム画像がいずれのテンプレートフォームにも一致しないと決定する。一部の実施形態では、Tは、3に設定される。
【0140】
図20は、フォームモデルを確立するプロセスの一実施形態を示すフローチャートである。一部の実施形態では、プロセス2000は、図14のステップ1410の後に実行され、以下を含む。
【0141】
この例では、プロセス2000を通じてフォームモデル(すなわち、テンプレートフォーム)が設定される。プロセス200は、サンプル写真(フォームテンプレート)の入力と、サンプル写真の直線の検出及び抽出と、サンプル写真の特徴の抽出と、フォームモデルの確立とを含む。
【0142】
一部の実施形態では、サンプル写真(フォームテンプレート)の入力と、サンプル写真の直線の検出及び抽出とは、フォーム直線検出プロセス700の関連部分を参照にして進められる。サンプル写真の特徴の抽出については、該特徴抽出は、ステップ1410を参照にして進めることができる。
【0143】
ステップ2010において、サンプル写真内のフォームに対する特徴の抽出と、特徴ベクトルの抽出とが実施された後、サーバは、これらの特徴ベクトルを、フォームのカテゴリを記述するモデル出力と見なし、それによって、テンプレートフォームを作成する。
【0144】
例えば、異なるフォームテンプレート(送り状A、フォームB、返済フォームCなど)が用意される。システムは、これらの様々なフォームテンプレートに対して直線検出及び特徴抽出を行う。最終的な訓練出力結果は、A:{231次元ベクトル}、B:{231次元ベクトル}、及びC:{231次元ベクトル}によって示されるように、各フォームモデルが多次元ベクトル(例えば231次元)に対応しているものになる。
【0145】
フォーム写真構造のための自動認識プロセスが提供される。自動認識プロセスは、フォーム写真の直線検出において、明るさ、傾き、断絶、ノイズ、及び様々な線分幅を強力に中和させる。一部の実施形態では、入力フォーム画像は、スクリーンショット、写真撮影、スキャナ取り込み、又はその他の方法を通じて取得される。一部の実施形態では、画像ソースは、電子的な形態又は手書きのチャートである。更に、写真の品質に関する要件はない。サンプルライブラリが多くのテンプレートフォームを含んでいるときは、個々の入力フォームが属しているカテゴリを、訓練を通じて自動的に認識するための、フォーム特徴記述方法が存在する。更に、訓練プロセスを排除することによって、認識プロセス全体を、いかなる人手の介入も伴わずに自動化することが可能である。
【0146】
図21は、フォーム認識装置の一実施形態を示す構造的ブロック図である。一部の実施形態では、装置2100は、図22のサーバ2220の一実現形態であり、直線検出モジュール2110と、特徴抽出モジュール2120と、類似性計算モジュール2130と、フォーム認識モジュール2140とを含む。
【0147】
直線検出モジュール2110は、フォーム二値画像内のフォームの直線検出を実施し、フォームの様々なフォーム境界と、それらの様々なフォーム境界の間の位置関係とを取得する。
【0148】
特徴抽出モジュール2120は、様々なフォーム境界と、それらの様々なフォーム境界の間の位置関係とに基づいて、フォームから特徴を抽出し、フォームから特徴ベクトルを取得する。特徴ベクトルは、フォームの構造的特徴を示す。
【0149】
類似性計算モジュール2130は、フォームの特徴ベクトルに基づいて、フォームとテンプレートフォームとの間の類似性を計算する。
【0150】
フォーム認識モジュール2140は、計算された類似性に基づいて、フォームを識別する。
【0151】
一部の実施形態では、直線検出モジュール2110は、フォーム上の各直線上の設定点を起点として使用し、各直線上の隣接画素に対して結合成分解析を実施し、各直線の結合成分を取得し、各直線の結合成分上の各画素について、各直線に垂直な結合成分の画素数を取得し、各直線の結合成分上の各画素についての各直線に垂直な結合成分の画素の数に基づいて、各直線の平均線幅を取得し、各画素が各直線の結合成分上に位置しているところの線幅が平均線幅よりも大きいか否かを決定し、各画素が各直線の結合成分上に位置しているところの線幅が平均線幅よりも大きい場合に、平均線幅よりも大きい画素が位置しているところの線幅に対して線幅除去処理を実施し、線幅除去処理を経た各直線に基づいて、フォームの様々なフォーム境界と、それらの様々なフォーム境界の間の位置関係とを取得する。
【0152】
一部の実施形態では、直線検出モジュール2110が、平均線幅よりも大きい画素が位置しているところの線幅に対して線幅除去処理を実施するときに、平均線幅よりも大きい線幅を有する画素を直線の結合成分から除去し、除去された画素の位置が直線内であるか否かを決定し、除去された画素の位置が直線内である場合に、除去された画素の両側で線分を統合する。
【0153】
一部の実施形態では、特徴抽出モジュール2120は、様々なフォーム境界と、それらの様々なフォーム境界の間の位置関係とに基づいて、フォーム境界の様々な交点を抽出し、それらの様々な交点に関する情報を取得し、様々なフォーム境界から、水平方向のフォーム境界に関する情報及び垂直方向のフォーム境界に関する情報を取得し、様々な交点に関する情報、水平方向のフォーム境界に関する情報、及び垂直方向のフォーム境界に関する情報に基づいて、フォームの特徴ベクトルを取得する。
【0154】
一部の実施形態では、フォーム認識装置2100は、更に、フォーム処理モジュール2150を含む。
【0155】
フォーム処理モジュール2150は、フォーム境界の様々な交点を抽出する前に、フォームの領域を決定し、該フォームの領域に基づいて、フォームに対して正規化処理を実施する。
【0156】
一部の実施形態では、フォーム処理モジュール2150は、フォームを、それが正規化された後に複数のブロックに分け、特徴抽出モジュール2120は、フォームのブロックのうちの各フォームブロック内の様々なフォーム境界とそれらの様々なフォーム境界の間の位置関係とに基づいて、各フォームブロックから交点を抽出し、そのフォームブロック内のフォーム境界の様々な交点を抽出し、そのフォームブロック内の様々な交点に関する情報を取得し、そのフォームブロック内の水平方向のフォーム境界に関する情報及び垂直方向のフォーム境界に関する情報を取得し、各フォームブロック内の様々な交点に関する情報、水平方向のフォーム境界に関する情報、及び垂直方向のフォーム境界に関する情報に基づいて、フォームの特徴ベクトルを取得する。
【0157】
一部の実施形態では、類似性計算モジュール2130は、フォームの特徴ベクトル及び様々なテンプレートフォームの特徴ベクトルについて、最も近い距離対2番目に近い距離の比率を計算し、比率が設定比率以上である場合に、フォームと、最も近い距離に対応するテンプレートフォームとの間の類似性を、最も高いと決定し、比率が設定比率未満である場合に、フォームを、様々なテンプレートフォームのいずれとも類似していないと決定する。
【0158】
一部の実施形態では、フォーム認識装置2100は、更に、線分統合モジュール2160を含む。
【0159】
フォームに対して特徴抽出を実施すること及びフォームから特徴ベクトルを取得することの前に、線分統合モジュール2160は、設定されたルールに基づいて、同じ方向に伸びている隣り合う2本のフォーム境界が線分統合を経るべきであるか否かを決定し、同じ方向に伸びている隣り合う2本のフォーム境界が線分統合を経るべきである場合は、それらの2本のフォーム境界に対して線分統合を実施する。
【0160】
一部の実施形態では、線分統合モジュール2160は、同じ方向に伸びている隣り合う2本のフォーム境界の間の距離を取得し、該距離を第1の設定閾値と比較した結果に基づいて、線分統合が実施されるべきか否かを決定し、又は上記距離を第1の設定閾値と比較した結果に基づいて、同じ方向に伸びている隣り合う2本のフォーム境界の類似性を取得し、又はそれらの組み合わせを行って、線分統合が実施されるべきか否かを決定し、線分統合が実施されるべきである場合に、隣り合うそれらの2本のフォーム境界を統合する。
【0161】
一部の実施形態では、線分統合モジュール2160は、同じ方向に伸びている隣り合う2本のフォーム境界の類似性を取得し、該類似性に基づいて、線分統合が実施されるべきか否かを決定するときに、同じ方向に伸びている隣り合う2本のフォーム境界の間の角度を取得し、該角度を第2の設定閾値と比較した結果に基づいて、線分統合が実施されるべきか否かを決定する、又は同じ方向に伸びている隣り合う2本のフォーム境界の間の平行距離を取得し、該平行距離を第3の設定閾値と比較した結果に基づいて、線分統合が実施されるべきか否かを決定する、又はこれらの組み合わせを行う。
【0162】
一部の実施形態では、フォーム認識装置2100は、更に、文字線分フィルタリングモジュール2170を含む。
【0163】
特徴抽出モジュール2120が、様々なフォーム境界と、それらの様々なフォーム境界の間の位置関係とに基づいて、フォームから特徴を抽出し、フォームから特徴ベクトルを取得する前に、文字線分フィルタリングモジュール2170は、フォームの様々なフォーム境界の文字線分フィルタリングを実施する。
【0164】
一部の実施形態では、文字線分フィルタリングモジュール2170は、フォームの様々なフォーム境界の線分長さが第4の設定閾値以下であるか否かを決定し、フォームの様々なフォーム境界の線分長さが第4の設定閾値以下である場合に、その線分長さが第4の閾値以下であるフォーム境界を除去する。
【0165】
一部の実施形態では、第4の閾値は、以下のように設定される。すなわち、装置2100は、フォームの様々なフォーム境界において最大の結合成分の長さを取得して、該長さを複数の長さ間隔に分け、様々なフォーム境界における各結合成分を、その長さに基づいて、複数の長さ間隔のうちの1つの長さ間隔に振り分け、複数の長さ間隔の長さと、各長さ間隔の結合成分の数とに基づいて、線分長さ分布ヒストグラムを作成し、ヒストグラムにおけるy座標の最高点に対応する長さを、第4の閾値として設定する。
【0166】
フォーム認識装置2100は、上記のフォーム認識方法のうちの少なくとも1つを実行する。更に、フォーム認識装置2100は、対応するプロセスによって有益な結果を有する。したがって、簡潔さを期するために、装置2100は、これ以上論じられない。
【0167】
図22は、フォーム認識のためのシステムの一実施形態を示す構造図である。システム2200は、ネットワーク2230を通じてサーバ2220に接続されたクライアント2210を含む。
【0168】
本出願は、フォーム画像のための自動認識プロセスを提供し、該プロセスは、2つの主な部分、すなわち入力フォーム画像の直線検出及びフォームカテゴリ決定を含む。直線検出に関しては、本出願は、結合成分解析に基づいて直線を抽出するためのプロセスを提供する。このプロセスは、フォーム境界の正確で且つ明瞭な抽出を可能にする。フォームカテゴリ決定は、フォームに対して多重解像度特徴抽出を実施するためのプロセスを提供する。このプロセスは、フォーム認識の正確さを高めることができる。
【0169】
上述されたユニットは、1つ以上の汎用プロセッサ上で実行されるソフトウェアコンポーネントとして、又はプログラマブル論理装置及び/若しくは特定の機能を実施するように設計された特殊用途向け集積回路などのハードウェアとして、又はそれらの組み合わせとして実装することができる。一部の実施形態では、ユニットは、本発明の実施形態で説明される方法を(パソコン、サーバ、ネットワーク機器などの)計算装置に実行させるための幾つかの命令を含み尚且つ(光ディスク、フラッシュストレージデバイス、モバイルハードディスクなどの)不揮発性のストレージ媒体に記憶させることができるソフトウェア製品の形で具現化することができる。ユニットは、1つの装置に実装されてよい、又は複数の装置に分散されてよい。ユニットの機能は、互いに統合されてよい、又は複数の小ユニットに更に分けられてよい。
【0170】
本明細書で開示された実施形態に照らして説明される方法又はアルゴリズム的段階は、ハードウェア、プロセッサによって実行されるソフトウェアモジュール、又はこれら両方の組み合わせを使用して実現することができる。ソフトウェアモジュールは、ランダムアクセスメモリ(RAM)、メモリ、読み出し専用メモリ(ROM)、電気的にプログラム可能なROM、電気的に消去可能でプログラム可能なROM、レジスタ、ハードドライブ、着脱式ディスク、CD−ROM、又は当該技術分野で知られるその他の任意の形態のストレージ媒体にインストールすることができる。
【0171】
以上の実施形態は、理解を明瞭にする目的で幾らか詳細に説明されてきたが、本発明は、提供された詳細に限定されない。本発明を実現するには、多くの代替的手法がある。開示された実施形態は、例示的であり、限定的ではない。
適用例1:フォーム認識方法であって、
フォーム二値画像内のフォームの直線検出を実施し、前記フォームの複数のフォーム境界と、前記複数のフォーム境界の間の位置関係とを取得し、
前記複数のフォーム境界と、前記複数のフォーム境界の間の位置関係とを使用して、前記フォームから複数の特徴を抽出し、
少なくとも一部には前記複数の特徴に基づいて、前記フォームに関連する特徴ベクトルを確立し、前記特徴ベクトルは前記フォームの構造的特徴を示し、
少なくとも一部には前記フォームの前記特徴ベクトルに基づいて、前記フォームと複数のテンプレートフォームのそれぞれとの間の類似性を計算し、
前記計算された類似性に基づいて、前記フォームを識別すること、
を備える方法。
適用例2:適用例1に記載の方法であって、
前記フォーム二値画像内のフォームの直線検出を実施することは、
起点としての、前記フォーム上の直線上の設定点に基づいて、前記直線上の隣接画素に対して結合成分解析を実施し、前記直線の結合成分を取得し、
前記直線の前記結合成分上の各画素について、前記直線に垂直な結合成分の画素の数を取得い、
前記直線の前記結合成分上の画素についての前記直線に垂直な結合成分の前記画素の数に基づいて、前記直線の平均線幅を取得し、
前記画素が前記直線の前記結合成分上に位置しているところの線幅が前記平均線幅よりも大きいか否かを決定し、
前記画素が前記直線の前記結合成分上に位置しているところの前記線幅が前記平均線幅よりも大きい場合に、線幅が前記平均線幅よりも大きい前記画素が位置しているところの前記線幅に対して線幅除去処理を実施し、
前記線幅除去処理を経た前記直線に基づいて、前記フォームの複数のフォーム境界と、前記複数のフォーム境界の間の位置関係とを取得すること、
を備える、方法。
適用例3:適用例2に記載の方法であって、
線幅が前記平均線幅よりも大きい前記画素が位置しているところの前記線幅に対して線幅除去処理を実施することは、
前記平均線幅よりも大きい前記画素を、前記直線の前記結合成分から除去し、
前記除去された画素が前記直線内であるか否かを決定し、
前記除去された画素が前記直線内である場合に、前記除去された画素の両側で線分を統合すること、
を備える、方法。
適用例4:適用例1に記載の方法であって、更に、
前記複数のフォーム境界と、前記複数のフォーム境界の間の位置関係とを使用して、前記フォームから複数の特徴を抽出する前に、
設定されたルールに基づいて、同じ方向に伸びている隣り合う2本のフォーム境界が線分統合を必要とするか否かを決定し、
前記設定されたルールに基づき、前記同じ方向に伸びている前記隣り合う2本のフォーム境界が線分統合を必要とする場合に、前記隣り合う2本のフォーム境界に対して線分統合を実施する、
ことを備える方法。
適用例5:適用例4に記載の方法であって、
設定されたルールに基づいて、同じ方向に伸びている隣り合う2本のフォーム境界が線分統合を必要とするか否かを決定することは、
A)前記同じ方向に伸びている前記隣り合う2本のフォーム境界の間の距離を決定し、前記距離を第1の設定閾値と比較し、前記比較に基づいて、線分統合が実施されるべきどうかを決定すること、
B)前記同じ方向に伸びている前記隣り合う2本のフォーム境界の類似性を決定し、前記類似性に基づいて、線分統合が実施されるべきか否かを決定すること、又は
C)A)とB)との組み合わせ
を備える、方法。
適用例6:適用例5に記載の方法であって、
前記同じ方向に伸びている前記隣り合う2本のフォーム境界の類似性を決定することは、
A)前記同じ方向に伸びている前記隣り合う2本のフォーム境界の間の角度を決定し、前記角度を第2の設定閾値と比較し、前記比較に基づいて、線分統合が実施されるべきか否かを決定すること、
B)前記同じ方向に伸びている前記隣り合う2本のフォーム境界の間の平行距離を決定し、前記平行距離を第3の設定閾値と比較し、前記比較に基づいて、線分統合が実施されるべきか否かを決定すること、又は
C)A)とB)との組み合わせ、
を備える、方法。
適用例7:適用例2に記載の方法であって、更に、
前記複数のフォーム境界と、前記複数のフォーム境界の間の位置関係とを使用して、前記フォームから複数の特徴を抽出する前に、前記フォームの前記複数のフォーム境界の文字線分フィルタリングを実施することを備える方法。
適用例8:適用例7に記載の方法であって、
前記フォームの前記複数のフォーム境界の文字線分フィルタリングを実施することは、
前記フォームの前記複数のフォーム境界の線分長さが第4の設定閾値以下であるか否かを決定し、
前記フォームの前記複数のフォーム境界の前記線分長さが前記第4の設定閾値以下である場合に、その線分長さが前記第4の設定閾値以下であるフォーム境界を除去すること、
を備える、方法。
適用例9:適用例8に記載の方法であって、
前記第4の閾値は、少なくとも、
前記フォームの前記複数のフォーム境界において最大の結合成分の長さを取得して、前記長さを複数の長さ間隔に分割することと、
前記複数のフォーム境界における各結合成分を、前記各結合成分の長さに基づいて、前記複数の長さ間隔のうちの1つの長さ間隔に振り分け、
前記複数の長さ間隔の前記長さと、前記長さ間隔のそれぞれの結合成分の数とに基づいて、線分長さ分布ヒストグラムを作成し、
前記ヒストグラムにおけるy座標の最高値に対応する長さを、前記第4の閾値として与えること、
によって設定される、方法。
適用例10:適用例1に記載の方法であって、
前記複数のフォーム境界と、前記複数のフォーム境界の間の位置関係とを使用して、前記フォームから複数の特徴を抽出することは、
前記複数のフォーム境界と、前記複数のフォーム境界の間の位置関係とに基づいて、前記複数のフォーム境界の複数の交点を抽出し、
前記複数の交点に関する情報を取得し、
前記複数のフォーム境界から、水平方向のフォーム境界に関する情報及び垂直方向のフォーム境界に関する情報を取得すること、
を備え、
少なくとも一部には前記複数の特徴に基づいて、前記フォームに関連する特徴ベクトルを確立することは、
前記複数の交点に関する情報、前記水平方向のフォーム境界に関する情報、及び前記垂直方向のフォーム境界に関する情報に基づいて、前記フォームの特徴ベクトルを取得することを備える、方法。
適用例11:適用例10に記載の方法であって、更に、
前記複数のフォーム境界と、前記複数のフォーム境界の間の位置関係とに基づいて、前記複数のフォーム境界の複数の交点を抽出する前に、
前記フォームの領域を決定し、
前記フォームの前記領域に基づいて、前記フォームに対して正規化処理を実施すること、
を備える方法。
適用例12:適用例11に記載の方法であって、更に、
前記フォームに対して前記正規化処理を実施した後に、前記フォームを複数のブロックに分けることを備え、
前記複数のフォーム境界と、前記複数のフォーム境界の間の位置関係とに基づいて、前記複数のフォーム境界の複数の交点を抽出すること、前記複数の交点に関する情報を取得すること、並びに前記複数のフォーム境界から、水平方向のフォーム境界に関する情報及び垂直方向のフォーム境界に関する情報を取得することは、
前記フォームのブロックのうちの各フォームブロック内の複数のフォーム境界と前記複数のフォーム境界の間の位置関係とに基づいて、フォームブロックから交点を抽出すること、
前記フォームブロック内の前記フォーム境界の前記交点を抽出すること、
前記フォームブロック内の前記交点に関する情報を取得すること、
前記フォームブロック内の水平方向のフォーム境界に関する情報及び垂直方向のフォーム境界に関する情報を取得すること、
を備える、方法。
適用例13:適用例1に記載の方法であって、
少なくとも一部には前記フォームの前記特徴ベクトルに基づいて、前記フォームと前記複数のテンプレートフォームのそれぞれとの間の類似性を計算することは、
前記フォームの前記特徴ベクトル及び前記テンプレートフォームの特徴ベクトルについて、最も近い距離対2番目に近い距離の比率を計算し、
前記比率が設定比率以上である場合に、前記フォームと、前記最も近い距離に対応する前記テンプレートフォームとの間の類似性を、最も高いと決定し、
前記比率が前記設定比率未満である場合に、前記フォームを、前記テンプレートフォームに類似していないと決定すること、
を備える、方法。
適用例14:フォーム認識システムであって、
少なくとも1つのプロセッサであって、
フォーム二値画像内のフォームの直線検出を実施し、前記フォームの複数のフォーム境界と、前記複数のフォーム境界の間の位置関係とを取得し、
前記複数のフォーム境界と、前記複数のフォーム境界の間の位置関係とを使用して、前記フォームから複数の特徴を抽出し、
少なくとも一部には前記複数の特徴に基づいて、前記フォームに関連する特徴ベクトルを確立し、前記特徴ベクトルは、前記フォームの構造的特徴を示し、
少なくとも一部には前記フォームの前記特徴ベクトルに基づいて、前記フォームと複数のテンプレートフォームのそれぞれとの間の類似性を計算し、
前記計算された類似性に基づいて、前記フォームを識別するように構成されている、少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに接続され、前記少なくとも1つのプロセッサに命令を提供するように構成されているメモリと、
を備える、フォーム認識システム。 適用例15:適用例14に記載のシステムであって、
前記フォーム二値画像内のフォームの直線検出を実施することは、
起点としての、前記フォーム上の直線上の設定点に基づいて、前記直線上の隣接画素に対して結合成分解析を実施し、前記直線の結合成分を取得し、
前記直線の前記結合成分上の各画素について、前記直線に垂直な結合成分の画素の数を取得し、
前記直線の前記結合成分上の画素についての前記直線に垂直な結合成分の前記画素の数に基づいて、前記直線の平均線幅を取得し、
前記画素が前記直線の前記結合成分上に位置しているところの線幅が前記平均線幅よりも大きいか否かを決定し、
前記画素が前記直線の前記結合成分上に位置しているところの前記線幅が前記平均線幅よりも大きい場合に、線幅が前記平均線幅よりも大きい前記画素が位置しているところの前記線幅に対して線幅除去処理を実施し、
前記線幅除去処理を経た前記直線に基づいて、前記フォームの複数のフォーム境界と、前記複数のフォーム境界の間の位置関係とを取得すること、
を備える、システム。
適用例16:適用例15に記載のシステムであって、
線幅が前記平均線幅よりも大きい前記画素が位置しているところの前記線幅に対して線幅除去処理を実施することは、
前記平均線幅よりも大きい前記画素を、前記直線の前記結合成分から除去し、
前記除去された画素が前記直線内であるか否かを決定し、
前記除去された画素が前記直線内である場合に、前記除去された画素の両側で線分を統合すること、
を備える、システム。
適用例17:適用例14に記載のシステムであって、
前記複数のフォーム境界と、前記複数のフォーム境界の間の位置関係とを使用して、前記フォームから複数の特徴を抽出することは、
前記複数のフォーム境界と、前記複数のフォーム境界の間の位置関係とに基づいて、前記複数のフォーム境界の複数の交点を抽出し、
前記複数の交点に関する情報を取得し、
前記複数のフォーム境界から、水平方向のフォーム境界に関する情報及び垂直方向のフォーム境界に関する情報を取得すること、
を備え、
少なくとも一部には前記複数の特徴に基づいて、前記フォームに関連する特徴ベクトルを確立することは、
前記複数の交点に関する情報、前記水平方向のフォーム境界に関する情報、及び前記垂直方向のフォーム境界に関する情報に基づいて、前記フォームの特徴ベクトルを取得することを備える、システム。
適用例18:適用例17に記載のシステムであって、
前記1つ以上のプロセッサは、更に、
前記複数のフォーム境界と、前記複数のフォーム境界の間の位置関係とに基づいて、前記複数のフォーム境界の複数の交点を抽出する前に、
前記フォームの領域を決定し、
前記フォームの前記領域に基づいて、前記フォームに対して正規化処理を実施するように構成されている、システム。
適用例19:適用例18に記載のシステムであって、
前記1つ以上のプロセッサは、更に、前記フォームに対して前記正規化処理を実施した後に、前記フォームを複数のブロックに分けるように構成され、
前記複数のフォーム境界と、前記複数のフォーム境界の間の位置関係とに基づいて、前記複数のフォーム境界の複数の交点を抽出すること、前記複数の交点に関する情報を取得すること、並びに前記複数のフォーム境界から、水平方向のフォーム境界に関する情報及び垂直方向のフォーム境界に関する情報を取得することは、
前記フォームのブロックのうちの各フォームブロック内の複数のフォーム境界と、前記複数のフォーム境界の間の位置関係とに基づいて、各フォームブロックから交点を抽出すること、
前記フォームブロック内の前記フォーム境界の前記交点を抽出すること、
前記フォームブロック内の前記交点に関する情報を取得すること、
前記フォームブロック内の水平方向のフォーム境界に関する情報及び垂直方向のフォーム境界に関する情報を取得すること、
を備える、システム。
適用例20:適用例14に記載のシステムであって、
少なくとも一部には前記フォームの前記特徴ベクトルに基づいて、前記フォームと前記複数のテンプレートフォームのそれぞれとの間の類似性を計算することは、
前記フォームの前記特徴ベクトル及び前記テンプレートフォームの特徴ベクトルについて、最も近い距離対2番目に近い距離の比率を計算し、
前記比率が設定比率以上である場合に、前記フォームと、前記最も近い距離に対応する前記テンプレートフォームとの間の類似性を、最も高いと決定し、
前記比率が前記設定比率未満である場合に、前記フォームを、前記テンプレートフォームに類似していないと決定すること、
を備える、システム。
適用例21:非一時的なコンピュータ読み取り可能ストレージ媒体に実装された、フォームを認識するためのコンピュータプログラム製品であって、
フォーム二値画像内のフォームの直線検出を実施し、前記フォームの複数のフォーム境界と、前記複数のフォーム境界の間の位置関係とを取得するためのコンピュータ命令と、
前記複数のフォーム境界と、前記複数のフォーム境界の間の位置関係とを使用して、前記フォームから複数の特徴を抽出するためのコンピュータ命令と、
少なくとも一部には前記複数の特徴に基づいて、前記フォームに関連する特徴ベクトルを確立するためのコンピュータ命令と、前記特徴ベクトルは、前記フォームの構造的特徴を示し、
少なくとも一部には前記フォームの前記特徴ベクトルに基づいて、前記フォームと複数のテンプレートフォームのそれぞれとの間の類似性を計算するためのコンピュータ命令と、
前記計算された類似性に基づいて、前記フォームを識別するためのコンピュータ命令と、
を備えるコンピュータプログラム製品。
図1
図2
図3A
図3B
図4
図5
図6
図7
図8
図9A
図9B
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22