(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0008】
以下、文書内の機械で印刷されたテキストの行(文字列からなる行)に由来する整列状態(アラインメント)を見つけるための方法及びシステムを説明する。この方法及びシステムは、二値化されたスキャン画像内の様々な種類のマーキングを識別するために設計された、より大きな方法及びシステムの中で用いられる。そのあと、その識別結果が、文書画像内の、手書き、機械印刷、及びノイズを検出するのに用いられる。いくつかの実施例では、システムは、物理的なハードコピーの文書を読み込んで二値画像に変換し、断片が属するマーキングの種類の自動分類に従って画像の画素を色分けした新たなバージョンの画像を出力するように構成される。
【0009】
1つの実施例では、ハードコピー文書をデジタイズ(デジタル化)して、手書きテキスト、機械で印刷されたテキスト、機械で印刷されたグラフィックス(図形等の画像)、未識別マーキング(例えばノイズ)、及びフォーム(書式)の線即ちの罫線のうちの少なくとも1つを含む画像を生成する。画像は、区分器(セグメンター)モジュールにより複数の断片に区分される。各断片は、自動学習した多段階分類器により分類され、各断片に対して分類ラベルが付与される。これらのラベルは、例えば、色であってもよいし、異なるグレイ濃度であってもよいし、記号その他の識別子であってもよい。分類ラベルに到達するために、分類器は、当該断片自体の性質(プロパティ)のみならず、当該断片の近傍の性質も考慮する。分類分野での用語では、これら性質すなわち属性は、特徴(フィーチャー)と呼ばれる。複数の特徴測定値の中から、弁別に関する特徴が自動的に選別される。この分類器は、各画素が「グランドトゥルース(ground truth)」ラベル、つまり(分類の正解である)基準画像すなわちオリジナル画像上のラベル(すなわち「正解」を表すラベル)、を有するラベル付きのサンプル画像、により学習した二段階分類器である。提供されたグランドトゥルース(正解)画像の集合を用いて評価を行うことができる。そして、ラベル付けされた文書に対し、メモリへの格納、ディスプレイ表示、印刷、その他の処理が行われる。
【0010】
この方法及びシステムのある側面では、サンプルすなわちグランドトゥルース(正解)画像により、パラメータ群を自動的に学習する能力である。これにより、この実施形態の概念(コンセプト)を、特定の目標と手元のデータにより、大量の処理に利用することができる。
【0011】
この明細書に示す方法及びシステムは、小さなマーキングの断片を、連結成分又は連結成分よりも小さい成分のレベルで分類するというかなり困難な仕事に取り組むものである。この動機は、少なくとも2つの理由のためである。すなわち、1つは、これにより異なる種類の(タッチパネルなどに対して)タッチ入力されたマーキングを、必要ならば連結成分を適切に分割して、呼び出し(calling out)/識別できるようにするからである。二番目の動機は、基本的な便利な基礎単位(例えば断片分類器)を構築することである。これは、(単語レベル、領域レベル、ページレベルなどといった)よりおおざっぱなレベルの判定が、ここに説明する基礎単位のツール(例えば断片分類器)の出力を集めることにより、これまでより遙かに正確にできるという理解に基づく。対照的に、従前の概念は、より大きな集合体としての領域の分類のみを目的としている。
【0012】
理解されるように、単一の前景(例えば黒色)画素は、単独では、当該画素のソース種類(当該画素の属する源(ソース)、すなわちマーキングの種類)の解読に利用するのに十分な情報を持っていない。以下に示すマーキングの例は、本実施形態の概念の説明の補助としてのものに過ぎず、本実施形態の方法や本発明の特許請求の範囲を限定するものと解するべきではない。このように、以下に示す想定は、グランドトゥルース(正解)の表現と一貫した評価尺度(evaluation metric)を提供するための補助のために作成された例である。
【0013】
(i) 画素ラベル: 各画素は、単一のマーキングカテゴリラベルを有する。この想定は、もちろん、純粋に実用主義的なものである。この想定により、ある画像のグランドトゥルース(正解)を、各画素についてそれぞれ整数ラベルを有する他の画像により表現することができる。このように、グランドトゥルースは格納することができ、グランドトゥルースの出力は公知の画像フォーマットを用いて処理することができ、画像ビューワ(閲覧ソフト)、画像ローダー、及び画像エディタを用いて、それら画像フォーマットを効果的に視覚化して取り扱うようにしてもよい。また、この想定により、単純で汎用的且つ一貫性のある評価尺度(これについては後述)を導くことができる。
(ii) 背景画素: マーキングカテゴリは、前景画素(すなわち黒色の画素)のみに割り当てられる。白色の画素は背景(例えば紙)を形成するものと想定する。この想定は、ここで想定している利用シナリオに合致している。
(iii)曖昧(多義的)画素: 明らかに、複数のマーキングが同じ1つの黒画素内で重なる場合がある。それらマーキングが共に同じカテゴリのものであれば、画素のラベリング(ラベル付け)に曖昧さはない。他の状況では、その画素に対して、それら重複するマーキングのカテゴリのうちの1つが割り当てられるべきである。カテゴリラベル群について、あらかじめ定めた優先順位を想定することが考えられる。優先順位の高いラベルを割り当てることにより、曖昧さを解消することができる。例えば、1つの実装例では、「手書きテキスト」を最高順位のカテゴリとする。手書き文字が機械で印刷された線と重複する場合、両者が交わる部分の画素には「手書きテキスト」のラベルが付与される。ノイズラベルは最低順位である。
(iv) 評価尺度(評価メトリック): 2つのグランドトゥルースラベルファイルを比較する場合、又は1つの自動分類結果の出力をグランドトゥルースと比較する場合、各画素位置でそれらラベルが比較され、もしそれら2つのラベルが異なっていればエラーが1つ計数されることになる。これは評価尺度として有益である。なぜなら、この定義は、解法に関わりなく、矛盾なく機能するからである。1つの実施例では、区分してから分類する、という解法を用いる。別の解法では、各画素をコンテキスト(周辺状況)に基づいて分類する。更に別の解法では。画像のグリッド(格子)パッチ(grid-patches)に対してラベルを付与する。しかし、すべての解法について、この実施形態の方法及びシステムは、正しくラベル付けされた複数の前景画素からなる小部分を測定する。この実施形態の概念は、画素ではなく、小部分(断片)を分類(及び分類のために学習)するというものである。にもかかわらず、画素エラー尺度(pixel error metric)を用いることは有益である。なぜなら、大きい断片を誤って分類することは、小さい断片に対してミスをする場合よりも悪いからである。
(v) 画像内容についての想定: この仕組みはかなり一般的であり、この実施形態のシステム及び方法は上述したことに合致しない状況に適用されることがあるものの、使用される画像について、明示的にせよ暗黙的にせよ、いくつかの想定をすることができる。まず、テスト/応用のシナリオは、それら学習用の画像に十分に表現されていると想定する。例えば、ありふれたスキャン文書画像を表す画像は、傾いておらず、二値画像であり、ほぼ300dpiであり、機械印刷されたテキストは横方向に並んでいる、と想定することができる。
【0014】
文書編集装置上で実行されるソフトウエアプログラムなどの実装品では、上述の想定は有効であると考えられる。にもかかわらず、この実施形態のシステム及び方法は、それら想定が有効でない場合でも機能し続けるであろう。
【0015】
この実施形態の方法及びシステムは、かなり一般的であるように、且つ拡張可能であるように設計している。したがって、以下に定めた対象(ターゲット)マーキングカテゴリは、実際の特定の実装目的に応じて変更してもよい。しかし、この実施形態の説明では、以下に示す各対象マーキング、及びそれら対象マーキングについての非曖昧化(明確化)優先度の順位付け(高い(i)から低い(v)への順)を使用する。
【0016】
(i) 手書き: これは、手書きテキスト(HandwrittenText)(手書きされた段落、単語、単一の文字、又は単なる句読点)、手書き署名(HandwrittenSignatures)、手書きグラフィックス(HandwrittenGraphics)(下線、矢印、線画、取消線、チェックボックス内のチェックマークなど)から構成される。この種類のテキストは、手書きすなわち筆記体であってよく、いかなる言語又は文字体系のものであってもよい。筆記体フォントで印刷されたテキストは、機械印刷テキスト(MachinePrintText。機械で印刷されたテキスト)とみなす。
(ii) 機械印刷テキスト(MachinePrintText): 機械で印刷された、いずれかの言語又は文字体系の、白地上の黒色のテキスト。網掛けテキストや、黒い背景上の白いテキストは、機械印刷グラフィックス(MachinePrintGraphic)としてマーク付けされるべきである。
(iii)機械印刷グラフィックス(MachinePrintGraphic): 機械印刷線画グラフィックス(MachinePrintLineGraphic)(下線、矢印、背景の罫線、線画)、又は機械印刷ブロックグラフィックス(MachinePrintBlockGraphic)(黒丸記号(bullet)、ロゴ、写真)。
(iv) ごま塩スキャナノイズ(ScannerNoiseSaltPepper): 小さな粒状ノイズであり、通常は、紙のテクスチャ(きめ)や誤った二値化による。
(v) 暗領域スキャナノイズ(ScannerNoiseDarkRegion): 機械印刷又は手書きのインクによって生成されたのではない、顕著な黒い領域を表すためのものである。これには、紙の折り目や影、穴などのように、背景物の暗がりにより生成される黒い画素群が含まれる。
【0017】
1.ソリューション・アーキテクチャ
図3は、本実施形態の概念(コンセプト)を実装したシステム300を示す。システム300は、デジタル化されたビットマップ画像及び/又はデジタルインク技術により形成された画像を、本実施形態の区分器・分類器システムに供給する様々なチャンネル(経路)を例示している。
【0018】
より詳しくは、画像を有する文書302のハードコピーがスキャナ304に入力され、スキャナ304はその文書302の画像を、電子文書画像306に変換する。ハードコピー文書302上の画像は、例えば、電子データ処理装置によって、ペンや鉛筆その他の電子的でない材料によって、電子的又は人手によるスタンプによって、生成されたものであるが、これらに限定されるものではない。電子文書306は、コンピュータ、個人用デジタルシステムその他の電子装置310の画面308に表示される。この電子装置310は、本実施形態の区分器・分類器システム312を備える。電子装置308は、区分器・分類器システム312を動作させるために、少なくとも1つのプロセッサと十分な電子メモリ記憶装置を備えている。区分器・分類器システム312は、1つの例では、ソフトウエアであってよい。電子装置310は、マウス及び/又はキーボード(ただしこれに限るものではない)などの入出力装置を備えている。
【0019】
また、別の例として、ホワイトボード即ちデジタルインク装置314が電子装置310に接続されていてもよく、これによりビットマップ画像即ちデジタルインク画像316が電子装置310に電子的に転送される。ビットマップ即ちデジタルインク画像が区分器・分類器子ステム312に供給される別のチャンネルとしては、他の電子装置318を用いる場合がある。この電子装置318は、以下に示す様々なシステム(ただしそれらに限るものではない)のうちのいずれであってもよい。すなわち、コンピュータ、コンピュータ化したCADシステム、電子タブレット、PDA(Personal Digital Assistant)、ウェブページを配信するインターネット上のサーバ、ビットマップ画像及び/又はデジタルインク画像320を区分器・分類器システム312に供給する他のいずれかのシステム、など(これらに限られるわけではない)のうちのいずれであってもよい。更に、電子装置310にロードされた画像生成ソフトウエアを用いてビットマップ画像又はデジタルインク画像を生成し、その画像を区分器・分類器システム312で使用してもよい。区分器・分類器システム312により処理された画像を伴う電子文書の確定バージョンは、コンピュータシステム310のメモリ記憶装置に格納されるか、他の電子装置318に送信されるか、プリンタ322によりハードコピーとして印刷出力されるか、又はコンバータ/スキャナ308に関連づけられた印刷機能から印刷出力される。
【0020】
本実施形態の概念は、上述したチャンネルのみならず、他のチャンネルを介して取得した文書上の画像についても機能することを理解すべきである。
【0021】
図3に示すように、区分器・分類器システム312は、区分器312aと分類器312bを備える。区分器312aは、文書画像を取り込み、画素の集合を複数の小さな断片に区分する。分類器312bは、各断片を取り込み、それら各断片にカテゴリラベルを付与する。分類器312bは、異なる各マーキングカテゴリに対応する各スコア(得点)を返す。1つの例では、分類器312bは、最高スコアのカテゴリも返す。解釈器324などの下流のアプリケーションが、それらスコアを解釈して判定を行うようにしてもよい。例えば、受け入れ基準を満たさないスコアには「拒否」又は「未知」のラベルを付け、あらかじめ設定された閾値を超える「手書き」スコアを持つ断片は、ディスプレイ308上に表示された処理後の電子文書上でのアノテーション(注釈、コメント付け)処理のために、強調又はマーク付けされるようにしてもよい。
【0022】
2.区分器
この実施形態では、特に各画素が黒か白である場合において、個々の画素を当該画素のマーキング種類に従って分類即ちスコア付けすることは、空間的な近傍部分、及び文書の他の形態のコンテキスト(状況)を考慮することにより達成される。画素は、その近傍についての特徴量の測定に基づき分類してもよい。これは、とりわけ区分けと認識とが互いに足並みをそろえて進行するという定式化を可能にするという興味深い可能性に繋がっている。
【0023】
本実施形態の1つの方法は、画像を、同じマーキングのソース(源)に由来すると推定される画素の塊へと区分することである。そのあと、これらの断片(塊)がまとめて分類される。言うまでもないことだが、区分器・分類器システム312の区分器312aは困難な判定を行うことになるので、区分器312aによる誤り(エラー)はどれも最終結果の誤りを引き起こす可能性が高い。(a)明らかに異なるマーキング種類の組み合わせである断片を生成すること、及び(b)同じマーキング種類の領域から断片を不必要に切り出してしまうこと、という2種類の誤りをカウント(計数)する。
【0024】
タイプ(a)の誤りは画素レベルのラベル付け誤りをもたらすことが明らかであるのに対し、タイプ(b)の誤りの影響はもっと微妙である。したがって、周辺のコンテキストをより多く集めることができれば、結果はよりよくなると考えられる。ここでは、機械印刷された領域から手書き領域を識別することは、機械印刷の文字から手書き文字を区別することよりも容易であることが分かっている。ストローク(一筆、一画)レベルになると更に難しくなる。区分器312aにより導入された人工的な境界により、マーキングの実際の見え方がマスクされると、更なる問題が生じる。
【0025】
上述の懸念にもかかわらず、「区分し、その後で分類する」という方法を採用した。この方法は、連結成分の解析に依存することにより、区分しなさ過ぎ(under-segment)よりもむしろ区分しすぎる(over-segment)ように動作するが、必要ならば選択された連結成分を分割するかどうかの判定処理を設ける。
【0026】
図4に例示される処理400により、画像の区分を行うために区分器312aの処理が行われる。この例では、例えば機械印刷のテキストに由来する整列状態を見つけるというコンセプト(概念)が、他の断片を見つけるための組み合わされたマーク(combined mark)の使用と共に、横方向及び縦方向の線を見つけることを伴う処理の中に例示されている。しかし、以下ではそれら複数の概念をまとめて論じているが、整列したテキストを見つけるという概念を、他の概念無しで用いてもよいことは理解されるべきである。処理では、電子画像402が、整列したテキストの識別404のために調査され、同時にその画像内の横方向及び縦方向の線の識別406が個別に行われる。整列したテキストが識別されると、この情報が整列テキストマスク408として用いられる。同様に、識別された横方向の線及び縦方向の線は、グラフィック線マスク410として用いられる。整列テキストマスク408及びグラフィック線マスク410は、この処理で、どのようにして画像を整列したテキスト断片412に対応する小片群とグラフィック線の断片414に対応する小片群とに分けるのかを規定する。また、処理400では、整列テキストマスク408とグラフィック線マスク410とが組み合わされて画像に適用され(416)、この組み合わせにより、この処理で、どのようにして画像を残余断片418(例えば、整列テキストでもグラフィック線でもない断片)群に分けるかが規定される。ここで、1つの例では、残余断片は、機械印刷された行か又は整然と書かれたテキストの境界の外の断片である。
【0027】
得られるマスクの一例として、
図5は、
図1の画像のグラフィック線マスク500を示す。このマスクは、縦及び横方向の線画を含んでいる。整列テキストマスク及び組み合わせマスクを用いる処理は、マスクの内容に対応する画像の部分のみを有していることが理解されるであろう。
【0028】
後で更に詳しく説明するが、処理400で生成された断片群は、文書画像上のマーキング群を分類するための更なる処理にて使用される。しかし、
図4の処理の他の側面では(その処理を
図8及び
図15の処理により拡張した場合)、それら断片を分類するのに有益な特徴(特徴量)を生成する。特に、この明細書に示したアラインメント(整列)処理は、高度に又は「とてもよく」整列しており機械印刷されたマーキングである可能性が高いと判断される断片群を見つけることができる。一方この処理により「中程度によく」整列しているに過ぎないと判定された断片群は手書きのテキストに由来する可能性が高い。テキストが、「高度に」、「とてもよく」、又は「中程度によく」整列しているといった場合、これらの用語はそれぞれ、特定の実装のために定めた各閾値に対応している。特に、ある実装では、見出すべき整列の程度は、この実施形態の概念の利用の仕方に依存して、高くしても低くしてもよい。したがって、それら特定の要件に基づいて閾値をシステムに組み込むことができ、システムは実際に動作中にそれらの因子について調整できるようにしてもよい。
【0029】
整列したテキスト、及び横方向及び縦方向のグラフィックスを検出するのに、様々な公知の処理を用いてよいことに留意されたい。整列したテキストを求めるためのこの実施形態の特定の方法は、
図8との関連で説明する。
【0030】
図6は、処理400により生成された画像600を示す。この画像600では、各バウンディングボックス602が、整列した各テキストを取り囲んでいる。これらバウンディングボックス602(すべてのバウンディングボックスに符号を付しているわけではない)は、整列したテキストを規定するものであると共に、整列したテキストの領域の外側へと延びる連結成分を示す。
【0031】
図7は、
図6の画像の一部分700を拡大したものである。例示したバウンディングボックス702a〜702nは、処理400により見つけ出された断片群を取り囲むように識別されている。簡潔にするために、すべてのバウンディングボックスに符号を付すことはしていない。図において特に注目すべきは、部分700は、手書きの数字が機械印刷されたテキストを横切っているという状況、すなわち“3”が"REPAIR ORDER NUMBER"のうちの“PA”を横切っているという状況であるということである。この例では、"3"を構成する連結成分が単語"REPAIR"に触れており、単語"REPAIR"はより小さな断片に分割されており、その整列したテキストの領域の内部に“PA”の断片がある。
【0032】
この明細書の特定の側面は、高度に整列したテキスト、例えば"REPAIR ORDER NUMBER"や、かなりよく整列したテキスト、例えば“370147”(
図7の中の手書き)のような整列したテキストの行を見つけるのに用いられる処理である。このようなものを識別する処理は、輪郭経路の極値群のグループ化に基づくものであり、これは、例えば、
図8の処理800に従って実現される。
【0033】
まず、連結成分(CC:Connected Component)802が入力される。上側の極値と下側の極値とが検出される(804a、804b)。この処理の結果が
図9に示される。
図9では、符号900で示す画像部分のサンプルから求められた輪郭が示されており、更に点902a、902b、902cで示されるそれら輪郭の上側の極値と、符号904a、904b、904cで示される輪郭の下側の極値とが示されている。
【0034】
図8では、それら上側及び下側の輪郭の各極値が、それら極値点のグループ(806a、806b)を見つけ出すために独立して処理される。これは、まず縦方向についての位置によってクラスタリング(クラスタ分け)することと、ある選択された最大閾値以内(within a threshold instance of a selected maximum)にある点群を選択することとにより、横方向に並ぶ複数の極値点からなる帯状領域を見つけ出すことにより達成される。この処理は、ステップ804a及び804bで識別された点群の中から点を取りだしてグループ分けするごとに繰り返し実行される。それら極値点からなる帯状領域の各々は、水平な大きなギャップ(間隙)によって分離されている。最後に、それら極値点が、横方向又はほぼ横方向に互いに整列して並んだ極値点のグループへとクラスタ分けされる(808a、808b)。このクラスタ分けは、例えば1つの例ではよく知られたRANSAC(Random Sample Consensusの略)アルゴリズムを用いて行えばよい。
図10は、この処理により見つけ出された極値点のグループ(902a’、904a’、902b’、904b’及び904c’)を示している。
図9と
図10を比べれば分かるように、RANSAC処理により外れ値(アウトライア)と判定された点が除去されている。実際、上側の極値点902c群はすべて除去されているが、多くの点は残りのグループ内にある。
【0035】
図8のステップ812a、812bでは、それら点のグループに対して線分がフィッティング(当てはめ)される(例えば、
図11では、"12249Y"の上部の線1100a、"REPAIR ORDER NUMBER"の上下の線1100b、1100c、及び"370147”の下部の線1100d)。横(水平)方向からあらかじめ定められた閾値差を超えて外れた方向となる線分は除去(フィルタリング)される(例えば、線分1100b及び1100cは残されるが、線分1100a及び1100dは後で説明するように除去される)。
【0036】
そして、ステップ816では、上側の輪郭の極値点群に由来する線分814aと下側の輪郭の極値点群に由来する線分814bとが、重なり合い及び距離に従って対(ペア)にされる。これらは、ステップ818で、
図6に示したようなテキスト行のバウンディングボックスを形成する。最終的なテキストのバウンディングボックスは、アセンダ(b,dなどのアルファベットで上に突き出た部分)とディセンダ(j,p等のアルファベットで下に突き出た部分)の幅と、極値点群の元である連結成分が左及び右に延びている分だけ拡張される。したがって、いくつかの例では、テキスト行のバウンディングボックスは、この例が生成するものより幾分大きくなるであろう。
【0037】
3.断片分類器
上述のように、区分器312aは、画像から、複数の断片からなるリストを生成する。各断片は、当該断片とその周囲のコンテキスト(状況)から計算される多くの特徴測定値(特徴量)により特徴付けられている。この実施形態の分類器312bは、各断片を、その特徴量に基づき、上述したマーキング種類のカテゴリのいずれかに分類するように訓練されている(すなわち学習済みである)。
【0038】
3.1 特徴
上述したテキスト行の特徴に加え、様々な種類の特徴が、各断片について測定(計算)される。それら多様な特徴には、例えば以下のようなものがある。
(i) セグメンター(segmenter:区分用)特徴: これらは、単純に0又は1の2つの特徴量であり、当該断片が横線画像又は縦線画像のどちらの一部であるかを示す。
(ii) サイズ特徴: これらは、バウンディングボックスの縦横比、幅、高さ、周囲のサイズ、連結成分内の穴の数、前景画素の数を含む。また、ミッドクラック細線化(midcrack thinning)からの求められる背骨断片(spine-fragment)の数、バウンディングボックスの面積に対する前景画素の数の比、周囲のサイズに対する前景画素の数の比、及びバウンディングボックスの面積に対する周囲サイズの比、などが含まれてもよい。
(iii)位置特徴: 画像の境界からの当該断片に対する横及び縦方向の距離の最小値が求められる。これにより文書内の暗いグラフィック領域からのシャドー(影)ノイズの識別の助けとなるというアイデアである。
(iv) 規則性(Regularity)特徴: これは、主として機械印刷されたテキストを他の種類のマーキングから区別して特徴付けるためのものである。機械印刷されたテキストは、整列状態及びサイズに関して高度な規則性を見せる。もし、文書内又は空間的に近傍の他の多くの断片の高さ、バウンディングボックスの上端のy座標及び下端のy座標が同じならば、カレントの断片(処理対象として注目している断片)は機械印刷されたテキスト又はグラフィックスである可能性が高い。手書きやノイズがそのような規則性を見せるのは、偶然である可能性が高い。この特徴の測定値は、相対的な差のヒストグラムとして形成される。例えば、高さについての規則性を求める場合、(hi−h0)のヒストグラムが用いられる。ここで、hiはi番目の断片の高さであり、h0は当該断片の高さである。ヒストグラムの各ビン(値の各範囲)は、[?32, ?16),…., [?4, ?2), [?2, ?1), [?1, 0), [0, 0], (0, 1], (1, 2], (2, 4],....., (16, 32].にセットされる。この場合、機械印刷されたテキストについては中央の3つのビンのカウント値が高くなると期待される。高さについてのヒストグラムは画像中のすべての断片を考慮するが、バウンディングボックス端部(bounding box extremity)についてのヒストグラムはx近傍(x-neighborhood)内の断片のみを考慮する。
(v) エッジ湾曲特徴: 各断片について、高速な測定により外部輪郭の湾曲(曲率)を求める。ある輪郭点での湾曲指標は、当該点と、輪郭上で当該点からある固定した距離(例えば輪郭点16点の距離)だけ離れた輪郭上の2つの点同士を結ぶ直線と、のユークリッド距離として測定される。1つの断片の外側の輪郭全体にわたって測定されるすべての湾曲指標からなるヒストグラムが計算され、使用される。
(vi) 輪郭特徴: これは、2つの測定値から構成される。断片の外側輪郭を反時計回りにたどり、4つの輪郭位置により分離された2つの輪郭点同士の間の変位のヒストグラムが記録される。ここから、符号無しのエッジ変位のヒストグラム(ここでは2つの反対向きの変位が足し算される)と、対称性違反のヒストグラム(ここでは2つの反対向きの変位が互いに打ち消しあう)と、が求められる。機械印刷された線及び機械印刷されたテキストについては、ほぼ縦方向及び横方向についてのヒストグラムの強度が高くなると予想される。均一なストロークについては、対称性違反については低い値になると予想される。
(vii)ランレングス特徴:断片の背骨が、本願発明者Saundに対する2002年の米国特許第6,377,710号明細書"Method And Apparatus For Extracting The Skeleton Of A Binary Figure By Contour-Based Erosion"に示されるようなミッドクラック細線化アルゴリズムにより計算される。この文献は参考のためその全部をこの明細書に組み込む。その背骨上の各点において、横方向及び縦方向のランレングスの最小値及び最大値が記録される。これら2つの数のヒストグラムが、ランレングス特徴として返される。機械印刷された部分は、手書きやノイズの部分よりも、ランレングスヒストグラムがより集中したもの(即ちばらつきが少ない)になる。しかし、集中の仕方は、単峰的(ユニモーダル)である必要はない。分類器のトレーナー(訓練させる者)が異なるカテゴリについてのヒストグラム同士の間のいくつかの相違点を見つけ出すことができるであろうとの想定のもとで、生のランレングスヒストグラムが特徴として用いられる。
(viii)エッジターン(エッジ曲がり)ヒストグラム特徴: これらは有益ではあったが、輪郭特徴及びエッジ湾曲特徴の方がより優れていることが分かった。
【0039】
3.2 分類器
マーキング種類に従った断片の分類は、
図12A〜D及び
図13に示すように、2段階で行われる。
図12A〜Dにより詳しく示されるように、2段階分類器1200は、第1段階1202の中に、複数の第1段階分類器1202a、1202b、・・・、1202nを有する。第1ステージでは、各断片が上述の3.1節で説明した特徴のみに基づいて分類される。この結果、各断片はカテゴリごとのスコアを有することとなる。したがって、
図12に示すように、画像断片1204aは特定の特徴ベクトル1206aに供給される(これについては
図13に更に詳しく示している)。ここで分類器1200が停止すれば、最高スコアのカテゴリが各断片に対して割り当てられる。
【0040】
しかし、分類器1202aと1202nを用いていることから分かるように、本出願の各実施形態では、周辺のコンテキストと空間的な近傍がどのように分類されたかを考慮に入れることで分類が精密化される。ここで、近傍の断片1204b、・・・、1204nはそれぞれ対応する特徴ベクトル1206b、・・・、1206nに供給される。これらの処理の結果、すなわちカテゴリスコア1208a及び累積カテゴリスコア1208b、・・・、1208nの形の処理結果は、特徴ベクトル1202aとともに、拡張特徴ベクトル(augmented feature vector)に供給され、2段階分類器1200の第2段階分類器1212により利用される。これにより、第1段階1202aで用いられたすべての特徴と、近傍の断片1204b、・・・、1204bの有望な(すなわち確定されてはいないが可能性としては高い)カテゴリ(二次的特徴)のラベルとを考慮に入れて画像断片1204aを再分類することにより、その精密化された出力がもたらされる。第2段階分類器1212からの出力は、最終的なカテゴリスコア1214を提供する。分類器1212からのこの最終的なカテゴリスコア1214は、ラベル付けモジュール1250により画像の断片にラベル(例えば色、グレイ階調、その他のマーキング又は標識)を付与するために、この実施形態のシステム及び方法により使用される。1つの例では、ラベル付けモジュールは、
図3に示したシステムのなかの適当な構成要素であると理解される。
【0041】
二次的な特徴は、当該断片のバウンディングボックスに続く空間的な近傍に含まれる複数のバウンディングボックス内のすべての断片の第1段階カテゴリスコアを累積したものとして名付けられ、求められる。
【0042】
(i) 横方向の帯片: y方向について当該断片から±16画素以内、x方向について当該断片から±160画素以内
(ii) 縦方向の帯片: x方向について当該断片から±16画素以内、y方向について当該断片から±160画素以内
(iii) 矩形近傍: 当該断片からx方向及びy方向の両方についてそれぞれ±160画素以内。
【0043】
上記における各「近傍」のサイズは、いくつかの実施例で300dpi、12ポイントのフォントのもとで1文字の高さ(例えば16画素)と数文字分の高さ(例えば160画素)よりも小さくなるように選ばれることを除けば、かなり任意に選んでよい。また、近傍のサイズは、応用先の状況、例えばスキャンの解像度などに従って調整することができる。このように、この実施形態の方法及びシステムは、特定の実装に合わせて調整可能である。
【0044】
この二次的特徴と、第1段階特徴(これも近傍の内容、例えば規則性特徴を考慮している)との間には、微妙ではあるが重要な目的の相違があることを指摘しておく。二次的特徴は、近傍の各断片のカテゴリラベル同士の関係を表すものであるのに対し、第1段階特徴は断片と当該断片について観察できる性質との間の関係を表すものである。例えば、規則性特徴について考えてみよう。高さ規則性特徴は、当該断片の高さが近傍の中にどれだけの頻度で入るのかを測定したものである。これは、近傍の他の断片を考慮してはいるが、それら近傍の断片の有望なカテゴリが何かについては考慮していない。したがって、s
iがi番目の断片を示し、u
iがその断片について測定された特徴であり、c
iがその断片のカテゴリであるとすると、第1段階特徴で学習した分類器では、
【数1】
が成り立つ。一方、二次的特徴は、次の形式の依存性を表す。
【数2】
このように、二次的特徴は、ラベル間の依存性の問題に取り組むためのものである。
【0045】
ツェン(Zheng)らは、この問題に取り組むのに、マルコフランダム場(Markov Random Field)を構築した。この実施形態の方法は、それとは異なる。この方法では、各ノード(断片)についての近傍が確定され、近傍のラベル群に基づいて断片のラベルを付与できるようにする。依存性のパターンは近傍(の断片群)の選択により導かれるものの、前もって想定されていた依存性の形式が強制されるわけではない。むしろ、その依存性は、もし顕著ならば、学習(訓練)用データから学習される。近傍の特徴群は、第2段階分類器学習器に利用できるようにされ、分類に有益であることが分かれば選択されることになる。さらに、この定式化では、計算時間や輻輳の問題を有するかもしれないループの多いメッセージ伝達や反復的なサンプリング推論を避ける。
【0046】
2段階分類器は、
図13に示した基本分類器を用いて構築される。第1段階1202a、・・・1202nでは、この基本分類器は、上の3.1節で説明した特徴群に基づいて断片をカテゴリ分けするのに適用される。カテゴリ分けの結果は、画像全体について集計され、二次的特徴1208a、・・・1208nになる。これら二次的特徴と初期特徴(1206a)とがいっしょに、第2段階にて最終的なカテゴリ分け番号に達するために、他の基本分類器(すなわち第2段階分類器1210)により使用される。
【0047】
3.3 基本分類器
1つの例では、各段階で使用される基本分類器は、「一対全部」の分類器の集まり(1カテゴリあたり1つ)である。この種の分類器は、複数の特徴からなるベクトルを入力として受け入れ、1カテゴリあたり1つのスコアからなるスコア配列を生成する。この出力配列は、最高スコアのカテゴリを見つけたり、あるいは様々な拒否/受入閾値を適用したりするのに用いられる。
【0048】
図13では、分類器1300は、
図12の各分類器として用いられる種類の分類器と理解してよい。この実施例では、分類器1300は、複数の弱分類器(weak classifier)の重み付け加算として実装された「一対全部」タイプの分類器として実装される。ここで、各弱分類器は、1つの断片について測定されたスカラー特徴量のうちの1つ(例えば特徴ベクトルの1つの次元)に対する単一閾値のテストである。更に詳しくは、画像断片1302が特徴ベクトル1304a、・・・、1304nのそれぞれに供給される。これらのベクトルからの出力は、多次元スコアベクトル(例えば5次元スコアベクトル)1306に渡される。そして、この出力は、スコア調整器1308に渡される。スコア調整器1308は、多次元調整済みスコアベクトル(例えば5次元調整済みスコアベクトル)1310を出力する。
【0049】
このような設計構成によれば、極めて高速な分類が可能になる。例えば、50個の弱分類器の組み合わせを備える分類器では、各断片について約50の比較、乗算、及び加算にまで達する。
【0050】
各弱分類器は、比較テストの結果を示す+1又は−1のどちらかの数を生成する。これらの重み付け加算結果は+1から−1までの間の数になり、その結果が肯定的(正の値)であるならば、名目上、肯定的な分類結果を示す。このように、基本分類器の出力は、1カテゴリに付き1つの数からなる数の配列となる。正の結果は、名目上、(その正の結果に)対応するカテゴリによく合致していることを示す。典型的には、それらの数字の1つのみが正になるであろう(ただし、常にそうだとは限らない)。正の数が1より多い場合、当該断片は割り当て不能として拒否されるようにしてもよい。あるいは、最高スコアのものを選択するようシステムを設計してもよい。同様に、いずれのカテゴリも、当該カテゴリであることを示す正のスコアを返さなかった場合も、調停が必要になるかもしれない。1つの方法は、そのカテゴリスコアベクトルを他の分類器に供給し、当該他の分類器がより精密化したカテゴリスコアを生成するようにすることである。この方法は、この第2段階分類器もデータから自動学習できる場合には特に有益である。いくつかの実施例ではこのような方法に適合された第2段階分類器は、スコア調整器と見なしてもよい。
【0051】
このようにその基本分類器そのものは、1つのスコア調整器に対して結果を供給する多数の「一対全部」分類器を備えた2段階分類器として考えてもよい。これは、近傍の情報が第2段階にて統合されるより大きい2段階アプローチと混同してはならない。実際、既に説明したように、2段階分類器は同じ基本分類器構造を用いて実装できるが、第2段階の分類器は拡張された特徴に基づいて動作するので、各段階では異なったパラメータを用いる必要がある。したがって、予備的なカテゴリ割り当ては、近傍の断片群に対してなされたカテゴリ割り当ての統計に基づいて更新される。
【0052】
図14に示すように、「一対全部」の基本分類器、及びスコア調整器1400は、1つの例では、適応的ブースティング(Adaptive BoostingすなわちAdaBoost)と呼ばれる機械学習アルゴリズムを用いて訓練される。
図14では、特徴ベクトル1402はスカラー特徴セレクタ1404a、・・・、1404nに供給される。これらスカラー特徴セレクタの出力は弱スカラー分類器1406a、・・・、1406nに与えられる。データは総和器1408で総和され、二値的な判定結果1412を得るためにスコア付け1410される。処理では、弱学習器は一度につき1つの特徴の次元/ベクトル1402を考慮し、学習用データ(弱スカラー分類器)1406についての重み付きの誤差を最小とする閾値テスト(スカラー特徴セレクタ)1404を見出す。それら特徴の次元のうち最も識別力のあるものが、次の弱分類器(1408、1410、1412)として選択される。この処理は、AdaBoostの反復により繰り返される。このような構成により、分類器のパラメータは、多くの測定値のファミリー(集団)の中から有益な特徴を選択しそれら選択した特徴に相対的な重みを割り当てる判別的AdaBoost学習により取得される。
【0053】
この特別な形のAdaBoost分類器学習器は、最近、Xerox Global Servicesのクライアントアプリケーションデータ集合の中の文書画像群をカテゴリ分けするのに非常に効果的であることが分かってきた。
【0054】
4.画像処理フローチャート
図4の処理をより詳しく示したのが、
図15の処理手順1500である。このフローチャートでは、マスク処理のようなビット単位の論理演算に好適な画像ベースの(すなわち画像に基づく)表現と、グループ分けや幾何学的な性質に対する論理や規則の適用に好適な記号的な表現と間の相互作用がある。
図4と同様、処理手順1500の1つの側面は、様々な画像マスクを生成することである。したがって、以下の説明では、概略的には、
図15の左側の各ステップはそれらマスクの生成及び更なる処理に関するものであり、同図の右側の各ステップはそれらマスクを用いた画像処理に関するものである。このように、処理手順1500は、連結成分(CC:Connected Component)オブジェクトのようなトークンに作用する記号処理と画像処理とを混合した処理を提供する。
【0055】
処理手順1500を更に詳しく見ると、暗い/黒いデータ(dark/black material)の大きな領域(この明細書では、大きい黒いしみ(big black blob)又はBBBと呼ぶこともある)1504についてのあらかじめ定められた定義を満たす画像領域を見つけるために、オリジナル(元の)画像1502が調査される。“AndNot”演算1508がオリジナル画像(原画像)とBBBとに対して実行され、オリジナル画像からBBBの部分が削除された結果1510が生成される。
【0056】
オリジナル画像からのBBBの減算を行うことで、残りの画像内の連結成分(CC)が抽出され(1512)、すべてのCCが識別された画像が生成される(1514)。フィルタ処理が実行されることにより(1516)、寸法が小さいCC(小さいため塵(ダスト)CCあるいはシミCC等とも呼ばれることがある)が除去され、その結果残ったCCは非塵(ノン・ダスト)CCとなる。
この非塵(ノン・ダスト)CCの画像に対し、テキスト行を見つけるためのテキスト行判定プロセスが適用される(1520)。1つの実施例では、このテキスト行判定プロセスは、
図8の処理800により実行してもよい。この結果求められたテキスト行1522の画像は、テキスト行の画像(即ち1522)が存在する場所でのバウンディングボックスを生成する(すなわちバウンディングボックスは成長させられる)(1524)。これにより、判定されたテキスト行の場所をカバーするバウンディングボックス1526の位置が識別される。バウンディングボックスがレンダリング(描画)され(1528)、これにより整列(アラインメント)テキストマスク1530が生成される。二値画素カラー反転演算1532が整列テキストマスク1530に適用され、これにより当該マスクの各二値画素が反転(すなわち画素の色が反転)されることにより、反転整列テキストマスク1534が生成される。
【0057】
このように、以上の処理により整列テキストマスク1530と反転整列テキストマスク1534が生成されており、これらが後の画像処理ステップで使用されることになる。
【0058】
フィルタ処理1516に再び注目すると、塵即ちシミ連結成分(CC)は符号1536で示されている。
図15では「塵CC」は二重線のボックスで示されている。この二重線のボックスは、テキスト画像が存在するかも知れないとシステム又は処理が考える、オリジナルの画像1500からの最終的な完全な画像の集合を表すことを意図したものであり、この時点では異なる複数のタイプのオブジェクトと解釈されることを意図している。この二重線のボックスは、テキスト画像が存在するかもしれないと本実施形態のシステム又は処理が考えている、オリジナルの画像1500からの最終的な完全な画像の集合であって、この時点では、異なるタイプのオブジェクトと解釈されることを意図されるものである。
【0059】
次に、バウンディングボックスの成長1524に注目すると、識別されたCC(連結成分)の中には、適切なサイズと判定されるCC1540とは逆に、バウンディングボックスにテキスト行として含まれるには大きすぎると判定されるCC1538の例があるかもしれない。「OK CC」1540は、二重線のボックスで示している。二重線のボックスは、テキスト画像が存在するとシステムが考える、オリジナルの画像1500からの画像データの最終的な完全な集合を表している。
【0060】
さて、右側の処理フローに移ると、処理手順1500の画像処理演算は、以上に説明した処理により生成されたマスク及びデータを用いるものであるが、この点について以下で更に詳しく取り扱う。
【0061】
オリジナル画像からBBBを減算した結果1510に戻ると、この減算結果の画像は、個々の横線及び縦線を抽出する抽出処理1542に供される。更に詳しくは、この処理では、横線を持つビットマップ1544と、縦線を持つビットマップ1546と、線を持たないビットマップ1548とを見つけ出す。
【0062】
横線ビットマップ1544には、ビットマップの連結成分(CC)を抽出する処理が施され(1550)、横線画像の連結成分1552が生成される。縦線ビットマップ1546は横線ビットマップ1544とは異なった仕方で処理される。この処理では、縦線ビットマップ1546の画素と横線ビットマップ1544との間で"AndNot"論理演算が実行される。この演算は、縦の連結成分を取り、横の連結成分を除く処理である。これにより残った連結成分(CC)を抽出し、これにより連結成分(CC)の縦線画像が結果として求められる。
【0063】
「横線CC画像」1552及び「縦線CC画像」1558は二重線のボックスで示されている。二重線のボックスは、テキスト画像が存在すると考えられる、オリジナルの画像1500からの画像データの最終的な完全な集合を表している。
【0064】
線無しビットマップ1548に戻ると、この画像は反転整列テキストマスク1534とビットごとにAND(論理和)演算される(1560)。この演算により、既に求められている整列したテキスト行の外側にある線無しビットマップ1562を識別する。この画像をきれいにするために、塵CC1536が供給され、この塵CCが白色でレンダリングされる(すなわち塵CCが背景となる)(1564)。このきれいにされた整列領域外のデータ1566から、連結成分(CC)が抽出され(1568)、その結果あらかじめ定められたテキスト行領域の外側にある連結成分の最終的な画像1570が求められる。「整列領域外CC」は二重線のボックスで示されている二重線のボックスは、テキスト画像が存在すると考えられる、オリジナルの画像1500からの画像データの最終的な完全な集合を表している。
【0065】
ステップ1572に移り、大きすぎるCC1538がレンダリング(描画)され、大きすぎるCCビットマップ1574が形成され、このビットマップ1574が整列テキストマスク1530とビットごとにAND(論理積)される。このAND演算により、整列テキストの画像の領域内にある「大きすぎるビットマップ」1578が生成され、このビットマップから連結成分が抽出され(1580)、整列テキスト領域内の大きすぎるCCの画像1582が生成される。
【0066】
処理手順1500により、オリジナル画像からの最終的な完全な画像データの各集合(例えば断片又は連結成分)が生成され、これらは今や、異なる種類のオブジェクト(すなわち画像の小さいシミ)1536、テキスト画像と考えられる連結成分(OK CC)1540、横線CC1552、縦線CC1558、整列テキスト行の外側にあると判定・判断されるCC(連結成分)1570、及び整列テキスト行の領域内にあると判定・判断されるCC(連結成分)1572と解釈される。
【0067】
この明細書に記載した概念(コンセプト)によれば、例えば、アノテーション(追記される手書きコメントなど)検出システムやマーキング分類システムなどが、連結成分単位よりも細かいレベルでの処理を行うことができ、これにより印刷画像などに触れているアノテーションを分離することができる。