JP4745758B2 - テキストおよびグラフィクスの空間認識およびグループ化 - Google Patents

テキストおよびグラフィクスの空間認識およびグループ化 Download PDF

Info

Publication number
JP4745758B2
JP4745758B2 JP2005246356A JP2005246356A JP4745758B2 JP 4745758 B2 JP4745758 B2 JP 4745758B2 JP 2005246356 A JP2005246356 A JP 2005246356A JP 2005246356 A JP2005246356 A JP 2005246356A JP 4745758 B2 JP4745758 B2 JP 4745758B2
Authority
JP
Japan
Prior art keywords
input
stroke
recognition
graph
strokes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005246356A
Other languages
English (en)
Other versions
JP2006073000A5 (ja
JP2006073000A (ja
Inventor
エイチ.チェラピラ クマー
シルマン マイケル
エー.ビオラ ポール
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2006073000A publication Critical patent/JP2006073000A/ja
Publication of JP2006073000A5 publication Critical patent/JP2006073000A5/ja
Application granted granted Critical
Publication of JP4745758B2 publication Critical patent/JP4745758B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/148Segmentation of character regions
    • G06V30/153Segmentation of character regions using recognition of characters or words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/18Extraction of features or characteristics of the image
    • G06V30/1801Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections
    • G06V30/18019Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections by matching or filtering
    • G06V30/18029Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections by matching or filtering filtering with Haar-like subimages, e.g. computation thereof with the integral image technique
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/26Techniques for post-processing, e.g. correcting the recognition result
    • G06V30/262Techniques for post-processing, e.g. correcting the recognition result using context analysis, e.g. lexical, syntactic or semantic context
    • G06V30/274Syntactic or semantic context, e.g. balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Character Discrimination (AREA)
  • Character Input (AREA)

Description

本発明は一般に認識に関し、より詳しくは、テキストおよび/またはグラフィクスをグループ化し、認識するシステムと方法に関する。
コンピュータは、社会の中で切り離すことのできない部分となっている。毎日、人々は仕事とレジャーのいずれにおいても、行動を楽にするために、ますますコンピュータに依存している。コンピューティング技術の大きな欠点は、実際に機能する世界が「アナログ」であるのに対し、「デジタル」の性格を有することである。コンピュータか動作するデジタル領域では、情報を処理するために、個々の状態を識別しなければならない。簡単に言えば、普通、情報は、一連の「オン」状態と「オフ」状態(たとえば、バイナリコード)でコンピューティングシステムに入力しなければならない。しかしながら、人間は、出来事が絶対に黒か白のいずれかということはありえず、常にグレーの陰影の間にあるように見える、極めて「アナログ」な世界に生きている。このように、デジタルとアナログの中心的な区別は、デジタルが、時間によってはっきりと異なる個別の状態(たとえば、個別のレベル)を必要とするのに対し、アナログは時間の経過に沿って連続しているという点である。人間は当然アナログ流で動作するため、コンピューティング技術は、上記の時間的な相違によって生じる、人間とコンピュータとのインタフェースに伴う問題点を回避するよう進化している(たとえば、デジタルコンピューティングインタフェース)。
構成されたキーの集合は、最も初期の人と機械のインタフェースデバイスの1つであり、従来、タイプライタにおいて利用された。このインタフェースシステムは、機械的なキーと用紙と相互作用するのではなく、コンピューティングシステムに伝達される個別の状態をトリガするために相互作用するよう改造された。こうして、コンピュータの「キーボード」が開発され、人間は不慣れな技術に対し、既存の、慣れ親しんだインタフェースを利用することができた。これにより、コンピュータ時代への移行が容易になった。残念ながら、コンピュータを使いたいと思う人がすべてタイプの打ち方を知っているわけではなかった。そのため、コンピューティング技術を十分に利用できるコンピュータユーザの数は限定された。これに対する1つの解決策は、ユーザが、コンピュータにタスクを実行させるために、コンピュータモニタから絵を選ぶことのできるグラフィカルユーザインタフェースの導入であった。このように、コンピューティングシステムの制御は普通、「マウス」と呼ばれる指示選択デバイスで行われた。その結果、より多くの人々が、キーボードの使い方を学習することなく、コンピューティング技術を利用することが可能となった。この種のデバイスによってコンピューティング技術の使用は容易となったものの、長年使われてきた情報伝達方法、つまり手書きや描画にはまだ対応していなかった。
科学技術はまず、既存のタイプされた、または活字に組まれた情報のコンピュータへの入力を試みることに焦点を当てた。最初に、スキャナや光学的結像機を使って絵を「デジタル化」した(たとえば、画像をコンピュータシステムに入力した)。画像がデジタル化されてコンピューティングシステムの中に取り込まれれば、次は、印刷された、または活字に組まれた素材をデジタル化できるはずであった。しかしながら、走査されたページの画像は、コンピューティングシステムの中に取り込まれると、テキストや記号として扱われなくなってしまう。なぜなら、これがシステムによって「認識」されない、つまり、システムがそのページを理解しないからである。文字と単語は「絵」であり、実際には編集可能なテキストや記号ではない。テキストに関するこの限界を克服するために、走査技術を使ってテキストを編集可能なページとしてデジタル化する光学式文字認識(OCR)技術が開発された。この技術は、OCRソフトウェアが走査された画像を編集可能なテキストに翻訳することが可能な特定のテキストフォントが使用されれば、ある程度、有効であった。当初、この技術の精度は約50ないし60%であったが、現在では98ないし99%近くあるいはそれ以上の精度まで改善されている。OCR技術はさらに、テキストの文字を認識することだけでなく、パラグラフやページのフォーマット、およびフォントの特徴まで保持することを考慮できるレベルにまで進化した。
その後、OCR技術は手書き文字の認識への使用を試みることが現実的に思えるような精度レベルに到達した。結局、手書き文字を直接コンピューティングシステムにデジタル化して取り込むことができるのであれば、なぜキーボードを使って手書き文字をテキストに置き換えるのか?この方法の問題点は、既存のOCR技術が、限定された、つまり有限な種類のフォントを線形的順序で(つまり、1行のテキストを)認識するよう調整されていたことである。そのため、OCRは、文字をすでに存在するフォントのデータベースと比較することによって「認識」できた。フォントが首尾一貫していないと、OCR技術は見慣れない、あるいは「存在しない」文字を戻し、そのテキストを認識しなかったことを示す。手書き文字は、この問題の最たる例であることがわかった。人が文字を書くとき、その筆跡から各々の独自のスタイルが示される。この独自性のために、法的文書にはある人物を別の人物と区別できる署名が用いられるのである。このように、まさにこの性質により、手書き文字の形状は、同じ文字についてさえも無限である。明らかに、特定の文字に関し、想像しうるすべての手書き文字の形状を保存することは不可能であろう。そこで、手書き文字の認識を現実にするための他の手段が必要であった。
最も初期の手書き文字認識の試みの1つは、実際はまったく手書き文字ではない「手書き文字」にかかわるものであった。「ストローク」、つまり線のシステムを、「タブレット」、つまり記入面を介してコンピューティングシステムへの入力として使い、これがデジタル化されてコンピューティングシステムの中に翻訳されて取り込まれる。ストロークを印刷されたテキストの文字の非常に象徴的なものとするための試みがなされたが、コンピューティングシステムは実際に手書き文字を認識していなかった。実際、この方法は実は、使用されている機械またはシステムに人間を無理に適応させていた。さらに、本当の手書き文字を実際に認識する開発が進められた。ここでも、ある文字の想像しうるすべての変化形をあるデータベースの中の1つに符合させるためのシステムが必要であれば、処理のために膨大なリソースと時間が使われるであろう。そこで、郵便番号等、規模は大きいものの、少なくとも有限の、可能性のグループを持つ領域において、最初の進歩のいくつかが実現された。
科学技術の開発が続けられ、システムがユーザと正確かつ迅速に相互作用できるレベルに至った。これにより、多数のユーザに容易に適応できるシステムにますます焦点が当てられることになった。この種のシステムを実現する1つの方法では、「分類」システムが利用される。つまり、データを「正」か「誤」かに限定しようとする代わりに、データを分類の中の特定の「クラス」に属させるものである。その一例は、手書き文字が日によって若干異なるユーザである。これにより、従来のシステムは、何が書かれているか理解できないかもしれない。これは、システムが入力データについて黒か白かの評価を行おうとしているからである。しかしながら、分類に基づくシステムの場合、否定的な応答は、手書き文字のばらつきが大きすぎ、判読できない場合しか出されない。この種のシステムの欠点は、分類器を手作業でトレーニングし、その分類器の精度を高めなければならないことである。
1994年の「視覚的言語に関するIEEEシンポジウム」(VL’94)におけるM.グロスのStretch-A-Sketch, A Dymanic Diagrammer 1995年5月にコロラド州デンバーで開催された’95年度CHI「コンピューティングシステムにおける人的要因」の会報43−50ページに掲載されているJ.ランデイとB.マイヤーズのInteractive Sketching for the Early Stage of User Interface Design 2001年HCI国際会議会報に掲載されているC.アルバラードとR.デイヴィスのPreserving The Freedom Of Paper in A Computer-Based Sketch Tool 2004年AVIの354−357ページに掲載されているL.カラとT.スタホヴィッチのSim-U-Sketch; A Sketch-Based Interface for Simulink イギリスのケンブリッジで2004年8月に開催された語ターン認識に関する国際会議でのH.シー(Hse)とA.ニュートンのSketched Symbol Recognition Using Zernike Moments SIGGRAPH ’91,25(4)の329−337ページに掲載されたD.ルービンのSpecifying Gestures by Example 2004年7月の人工知能に関する第19回全国会議(AAAI−04)のO.ヴェセロヴァとR.デイヴィスのPerceptually Based Learning of Shape Descriptions for Sketch Recognition) 2002年カリフォルニア州パロアルトにおける2002年AAAIスケッチの理解に関する春のシンポジウムにおけるAAAI Press51−58ページに掲載されているM.J.フォンセカ(Fonseca)、C.ピメンテル、J.A.ジョージのCALI: An Online Scribble Recognizer for Calligraphic Interfaces パターン分析と機械知能に関するIEEE報告書12(8)(1990年)の787−808ページに掲載されているC.タッパート、D.スーエン、T.ワカハラのThe State of the Art in Online Handwriting Recognition 2001年9月にカナダのオンタリオ州キングストンで開催されたグラフィクス認識に関する第4回IAPR国際ワークショップにおけるJ.マホニーとJ.フロムヘルツのInterpreting Sloppy Stick Figures by Graph Rectification and Constraint-based Matching 2003年ICDARの60−65ページに掲載されているM.シルマンZ.ウェイ、S.ラグパシー、P.シマード、D.ジョーンズのDiscerning Structure from Freeform Handwritten Notes 1997年8月に(フランスの)ナンシーで開催されたグラフィクス認識に関する第2回国際ワークショップ会報244−252ページに掲載されているA.シャブラのGraphic Symbol Recognition: An Overview 2000年パターン分析と機械知能に関するIEEE報告書22(1)の63−84ページに掲載されているR.プラモンドンとS.スリハリによるOn-Line and Off-Line Handwriting Recognition: A Comprehensive Survey 1997年にH.バンクとP.ワングが編集したワールド・サイエンティフィックの557−582ページに掲載の、文字認識と文書画像分析ハンドブックにおけるD.ボルスタインとA.グルバヴェックのRecognition of Mathematical Notation; Handbook of Character Recognition and Document Image Analysis 2000年8月の国際ジャーナル、文書の分析と認識第3巻1号の3−15ページに掲載されているK.チャンとD.ヤンのMathematical Expression Recognition 1999年5月にマサチューセッツ州ケンブリッジで開催されたマサチューセッツ州科学技術協会のN.マツァキスによるRecognition of Handwritten Mathematical Expression 1998年の人工知能に関する第15回全国会議会報の784−791ページに掲載されているE.G.ミラーとP.A.ヴィオラのAmbiguity and Constraint in Mathematical Expression Recognition 1999年6月の’99年グラフィクスインタフェースのS.スミシーズ、K.ノヴィンス、J.アルヴォのA Handwriting-Based Equation Editor 1996年ICMLの148−156ページに掲載されているY.フランドとR.シャピアのExperiments with a New Boosting Algorithm 2001年ICCVの747ページに掲載されているP.ヴィオラとM.ジョーンズのRobust Real-Time Face Detection 1994年10月にエルサレムで開催されたIAPR編集のパターン認識に関する国際会議会報409−413ページに掲載されているY.ベンジオとY.ルカンによるWord Normalization for On-line Handwritten Word Recognition 1998年COLTの80−91ページに掲載されているR.シャピアとY.シンガのImproved Boosting Algorithms Using Confidence-Rated Predictions 1995年のプレンティスホールにおけるS.ラッセルとP.ノルヴィグのArtificial Intelligence: A Modern Approach http://www.eecs.berkeley.edu/~hwawen/research/hhreco/index.html
自然な人間の入力を認識するシステムの大幅な改良にかかわらず、ユーザの入力を認識しやすくするために、ユーザは依然として何らかの種類の空間および/または時間の線形順序に従わなければならない。言い換えれば、ユーザはテキストの1行等のラインに追随するか、あるいは特定の時系列の中に方程式を描かなければならない。後になってユーザが図または方程式に注釈をつける、またはこれを修正することに決定した場合、このような従来のタイプのシステムは、入力を正しく認識できなくなる。このような限定により、従来のシステムはまた、入力が拡大縮小される、および/またはその向きが変えられる状態にも対処できない。また、システムは複雑である傾向があり、その性能を改善するための多大な努力を必要とする。
以下に、本発明のいくつかの態様の基本を理解できるよう、本発明を簡略的に要約する。この要約は、本発明の広範な概要ではない。また、本発明の主要な/重要な要素を特定し、または本発明の範囲をストローク定するものでもない。その唯一の目的は、本発明のいくつかのコンセプトを、後述の詳しい説明の序段として、簡単な形態で示すことである。
本発明は一般に認識、より詳しくはテキストおよび/またはグラフィクスをグループ化、認識するシステムと方法に関する。空間的関係を利用して、テキストおよび/またはグラフィクスを認識する体系的手段を提供し、たとえばコンピューティングエンティティにより、スケッチ(略記)された記号(アルファベットおよび/またはグラフィクス)のグループ化と認識を同時に行う。これにより、手書きによる形状をその象徴的な意味で増強することができ、スマートエディティング、美化、視覚的言語の対話的シミュレーションを含む多数の機能が可能となった。空間認識方法では、スケッチされた形状を同時にグループ化、認識することから考えうるグループ化の大きな空間に対して最適化が行われる。最適化は、クラスラベルを収集されたストロークに割り当てる分類器(classifier)を利用する。分類器が有効な形状を区別できることを条件として、全体的なグループ化の最適化は分類器の特性を推測する。たとえば、分類器が縮尺(スケール: scale)および回転不変である場合、最適化の結果も同様となる。本発明の実施例として、記号の認識/分類を容易にするためにアダブースト(AdaBoost)の変形を採用するものがある。本発明の実施例として、効率的な最適化のために、ダイナミックプログラミングおよび/またはA−スター(A-Star)検索を採用するものがある。このように、本発明はスケッチされた記号を認識し、グループ化するための統合的、正確かつ効率的な方法を提供する。これは、手でスケッチされた形状と印刷された手書きテキストのどちらにも、またこれらの異種混合体にも用いられる。
上記および関連する結果を実現するために、本発明の説明的態様のいくつかを、以下の説明と付属の図面に関して紹介する。しかしながら、これらの態様は、本発明の原理が利用される多種多様な方法の一部にすぎず、本発明はこれらすべての態様およびこれと同等のもののすべてを含むものである。本発明のその他の利点と新規な特徴は、図面と併せて考えれば、本発明の以下の詳しい説明から明らかとなるであろう。
本発明を、図面を参照しながら説明するが、図面全体を通じて、同様の参照番号は同様の構成要素を指すのに使用されている。以下の記述において、説明のために、本発明を十分に理解できるように、多数の具体的な詳細事項が記載されている。しかしながら、本発明は、これらの具体的な詳細事項がなくても実現できることが明らかであろう。他の例において、周知の構造や装置は、本発明の説明を簡潔にするために、ブロック図として描かれている。
本願で使用される「コンポーネント」という用語は、ハードウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェアまたは実行中のソフトウェアのいずれかを問わず、コンピュータ関係のエンティティを指すものとする。たとえば、コンポーネントは、プロセッサ上で実行中のプロセス、プロセッサ、オブジェクト、実行ファイル、実行ファイルのスレッド、プログラムおよび/またはコンピュータとすることができるが、これらに限定されない。例として、サーバ上で実行中のアプリケーションとサーバはどちらもコンピュータコンポーネントである。1個または複数のコンポーネントがプロセスおよび/または実行ファイルのスレッド内にあってもよく、1個のコンポーネントが1台のコンピュータ上に設置され、および/または2台またはそれ以上のコンピュータ間で分散されていてもよい。「スレッド」とは、オペレーティングシステムのカーネルによってその実行スケジュールが立てられるプロセス内のエンティティである。当業界では周知のごとく、各スレッドには関係する「文脈」があり、この「文脈」はスレッドの実行にかかわる揮発性データである。スレッドの文脈には、システムレジスタのコンテンツやそのスレッドのプロセスに属する仮想アドレスが含まれる。したがって、スレッドの文脈を構成する実際のデータは、その実行とともに変化する。
本発明は、オンラインによる自由形式のインク表現における文字と記号をグループ化し、認識するシステムと方法を提供する。この手法は完全に空間的であり、つまり、ストロークに関する順序付けを求めない。また、形状や記号の相対的な配置も一切制約しない。まず、そのページ上の各ストロークが近似グラフの中で連結される。差別的な分類器(つまり、「認識器」)を使って、結び付けられた部分グラフを、既知の記号の1つを構成するもの、あるいはおそらくストロークの無効な組み合わせ(たとえば、2つの異なる記号のストロークを含む)として分類する。この分類器は、レンダリングされたストロークの画像を、曲率や終点といったストロークの特徴に重ね合わせる。非常に有効な画像の特徴の小さな部分集合が選択され、極めて高速な分類器が得られる。本発明の一例において、近似グラフの接続された部分集合に対してダイナミックプログラミングが用いられ、そのページ上の全ストロークの最適なグループ化と認識が同時に見出される。本発明のこの例は、トレーニング課程で得られた25名の書き手による記号を含む試験データセットについて、94%のグループ化/認識精度を達成できる。本発明の別の例では、A−star検索アルゴリズムが近似グラフの接続された部分集合について利用され、そのページ上の全ストロークの最適なグループ化と認識が同時に見出される。本発明のこの例では、19名の書き手による交差確認された形状データセットについて97%のグループ化/認識精度が実現される。
スケッチされた形状の認識は、ペンによるユーザインタフェースに関する長年の問題である。スケッチされた形状をその象徴的意味で増強することにより、スマートエディティング、美化、視覚的言語の対話的シミュレーションを含む多数の機能が可能となる[一般に、非特許文献1〜4参照]。本発明は、スケッチされた記号を認識し、グループ化するための統合的、正確、効率的な方法を提供する。これは、手でスケッチされた形状と印刷された手書きテキスト、およびこれら2つの異種混合体のいずれにも適用される。
図1において、本発明の一態様による空間認識システム100のブロック図が示されている。空間認識システム100は、入力104を受信し、出力106を供給する空間認識コンポーネント102からなる。空間認識コンポーネント102は、入力104の中に認められるエンティティを同時に区分け(セグメント化)し、認識する。次に、認識されたエンティティが出力106として供給される。空間認識コンポーネント102は、ストロークの曲率、向き、終点等、エンティティの空間キューと特徴を利用して、プロセスを容易にする。これにより、本発明は、入力の中に見られるストロークに関する時間と空間について線形制約を設けることなく、認識を提供できる。ユーザが情報を入力する方法を制限することはしばしば非実現的である。間違いはしばしば発生し、ユーザは自分の書いたものに後になって戻り、変更を加え、書いたものの上下に変更の注釈をつける傾向がある。従来のシステムでは、この種の変更を扱うことができない。しかしながら、本発明にはこのような制限がない。
図2を参照すると、本発明の一態様による別の空間認識システム200のブロック図が示されている。空間認識システム200は、入力204を受け取り、出力206を発生する空間認識コンポーネント202からなる。空間認識コンポーネント202は、受信コンポーネント208、認識コンポーネント210、トレーニングコンポーネント212、最適化コンポーネント214からなる。受信コンポーネント208は、入力204および最適化コンポーネント214とインタフェースする。最適化コンポーネント214は、受信コンポーネント208、トレーニングコンポーネント212、認識コンポーネント210とインタフェースしている。トレーニングコンポーネント212は、入力内のエンティティの認識を容易にするために、認識コンポーネント210の中の認識器のための分類器をトレーニングする。トレーニングコンポーネント212は、従来のシステムのように、パラメータの手作業による入力を必要とせずに、トレーニングを自動的に提供する。最適化コンポーネント214は、1つの入力からのストロークを分解し、認識コンポーネント210によって認識されるようにし、その結果を最適化によって処理する。入力が利用できるときは、受信コンポーネント208が入力204を受け取り、これを最適化コンポーネント214に送信する。最適化コンポーネント214は入力204を処理し、認識コンポーネント210とインタフェースして、入力204に見られるエンティティを分類する。その後、認識されたエンティティは、出力206に供給される。当業者は、各種のコンポーネント208−214を統合して1つの認識コンポーネントにまとめ、および/または上述のものと異なる方法で各種の機能をコンポーネント208−214の間で分散させることができると推測できるであろう。
図3には、本発明の一態様による空間認識システム300のさらに別のブロック図が示されている。空間認識システム200は、受信コンポーネント304とインタフェースし、出力306を供給する認識コンポーネント302からなる。本発明のこの例において、認識コンポーネント302は、認識前コンポーネント308とアダブースト認識/分類コンポーネント310からなる。認識前コンポーネント308は、近傍グラフ生成器312、部分集合グループ化コンポーネント314、画像レンダリングコンポーネント316を備える。近傍グラフ生成器312は、受信コンポーネント304からの入力を受け取り、その入力に見られるストロークの近傍/近似グラフを作成する。当業者は、本発明では他の種類のグラフも同様に利用できると推測するであろう。次に、このグラフは部分集合グループ化コンポーネント314によって受け取られる。このコンポーネント314は、近似グラフを、後に詳述する基準に基づいて、部分集合/部分グラフに区分けする。次に、部分集合グループ化コンポーネント314は、1つの部分集合を画像レンダリングコンポーネント316に受け渡す。316は次に、アダブースト認識器/分類器310によって処理される部分集合のレンダリング画像を生成する。次に、認識器/分類器310はその部分集合を識別し、結果を出力306に供給する。本発明の一例であるこのシステムは簡略化されており、コスト関数その他を通じた部分集合の最適化に関するプロセスも、アダブースト認識器/分類器に供給される文脈情報や特徴情報の詳細も述べられていない。これらの詳細は後述する。
図4では、本発明のある実施形態による空間認識システムトレーニングプロセス400のブロック図が示されている。図4は、本発明の一例に関するトレーニングプロセスの情報の流れを示している。この例において、部分グラフ決定404は、ストロークの集合402について実行される。部分グラフ決定404には、近似グラフを作成し、グラフを部分グラフに分割することが含まれる。ストロークの曲率の間の最低距離が距離閾値より小さいこと等の基準を使い、正しい部分グラフの決定が容易化される。所定の大きさ限度であるΚは、部分グラフの複雑さを限定するのに使用される。次に、決定された部分グラフが列挙される。列挙された部分グラフVl406が処理され、最適な分解が判断される。最適な分解は部分グラフの集合であり、これらが1つにまとまるとグラフ全体となる。最適化は、認識コスト408と組み合わせコスト(コンビネーションコスト: combination cost)410等のパラメータを利用することができる。さらに、ダイナミックプログラミングを採用し、コストハッシュテーブル412を使うことによって処理を容易にすることができ、その結果、処理が効率化される。ダイナミックプロセシングはまた、1からΚまで反復処理を実行することにより、無効な部分グラフを排除するためにも使用できる。A−スター検索も、最適部分グラフを選択するのに使用できる。これらの最適化方式についての詳細は後述する。次に、最適部分グラフがレンダリングされて「候補画像」となり、これが認識器418に受け渡される。選択情報も処理され、文脈414とストローク特徴416が形成される。候補画像で使用されるストロークに結び付けられるストロークを使って「文脈画像」が形成され、これが認識装置418に送られる。曲率、向き、終点といった候補画像のストロークの特徴を使って「ストローク特徴画像」が形成され、これも認識器418に供給される。追加の特徴画像も同様に構成し、認識器に送ることができる。このように、認識器は、入力として、候補画像と、その候補画像についての文脈およびストローク特徴画像を受け取る。
図5において、本発明の一態様による空間認識システムトレーニングプロセス500の別のブロック図が示されている。図5は、図4において説明した画像が構成された後のトレーニングプロセスを説明するものである。認識器502は画像504を受け取り、これを処理して学習済みの分類器510を生成する。画像504を使い、スケール、方向、アスペクト比等の項目に関する領域の平均デルタを測定する線形関数、または「矩形フィルタ」を導き出す。次に分類器学習器508がこの矩形フィルタを使って、分類器の学習を容易にする。アダブーストと矩形フィルタの小さなセットを使い、分類器の学習を行う。このプロセスがN回反復され、N個の弱分類器(weak classifier)が生成され、これらは各々、矩形フィルタの集合に基づいている。このように、最終的な分類器510は、文脈、ストローク特徴、および候補画像から生成される弱分類器に基づく。本発明の別の例では、深さが1から3のブーストされた決定木(ブーステッド・デシジョン・ツリー: boosted decision tree)が使用される。
スケッチされた図を認識する問題は、2つの部分にわけられる。つまり、ストロークをいくつかの集合にグループ化する部分と、ある集合が何の記号を表すのかを認識する部分である。以前の研究により、さまざまな種類の機能と分類器を含む、多数の形状認識戦略が提案されている。一部の戦略は、尺度と回転の変化に対する不変性を強調している(非特許文献5参照)。他の戦略では、トレーニング例をほとんど必要としない[非特許文献6、4、7参照]。また別の戦略は、点線によるスケッチや重ね打ちにも対処できる(非特許文献8参照)。
また、インク文字のストロークを認識するためにグループ化する多くの方法もある。あるシステムは、ルービンのように、ユーザが一筆書きで形状を描かなければならないという制約を設けた上で設計されている。あるシステムは、タイムアウトを利用する。つまり、ユーザが所定の時間だけスケッチしないと、システムはストロークの最後の集合をグループ化して、認識される形状にする。あるシステムは、カラとスタホヴィッチのように、形状をグループ化するために、手で調整された経験則を利用する。多くの手書きシステムでは、ユーザは1つの形状を書き終えてから次の形状を書き始めなければならず、その後、ストロークのシーケンスについて最適化が行われ、何らかの経験則または統計的スコアが最大となるグループ化が発見され(非特許文献9参照)。
過去の研究において、マホニーとフロムヘルツ(非特許文献10)は、経験則的に特定される制約を満足するストロークの部分グラフを使用するシステムを構成した。彼らは、その手法がストローク間の構造的関係によって定義されるスケッチについては有効であるが、ストロークの湾曲形状によって定義されるスケッチにはあまり適していないかもしれないと示唆している。
これらの従来のシステムにおいて、ユーザは、線に沿って、あるいは「入力領域」の中で、構成された方法で単語を書く。次に、認識システムがテキストの行全体を処理し、ストロークのグループを認識する。融通の利かない「入力領域」という要求事項が取り払われると、ユーザはしばしば、手書きのテキスト、図、注釈を含む、自由形式の手書きのメモを生成する。これらのメモには、ストロークをテキストの「行」にグループ化するために、重要な初期処理が必要となり、これを認識器に受け渡すことができる(たとえば、非特許文献11参照)。グループ化プロセスは本来的に難しく、最もよいパフォーマンスは、多数の長い行が図や注釈とは物理的に分離されている単純なパラグラフ構造について達成される。連結された草書体の認識の複雑さを考えると、認識の前にグループ化が行われる2ステッププロセスが有利である。
しかしながら、ページのハイレベルレイアウトにほとんど制約を与えない多くのインク文字認識問題がある。その一例は、多くの幾何学的レイアウトと記号の種類を取り入れた数式の認識である。別の例は、化学構造、編集マーク、音符その他である。これらはペンコンピューティングにとって特に重要である。なぜなら、マウスとキーボードだけでは現在のところ困難な、素早く空間配置を表現するペンの柔軟性を利用しているからである。図6は、レイアウトが制約を受けない場合にペンが特に有益な入力装置である例600を示し、(a)が数学602、(b)が化学604、(c)が文書の注釈606である。
したがって、たとえば、手書きのインク文字のページの記号のグループ化と認識をまとめて行うシステムの問題を考える。システムは、書き順を制限しない。なぜなら、事後に文字を修正するために、余分にストロークを加えることがよくあるからである。ページのレイアウトについて、厳しい条件を設けるべきではない。また、何千ストロークも含んでいるかもしれない自由形式のメモ等、インク文字の大きなページに拡大すべきである。
レイアウトとタイミングが問題とならない文字認識とグループ化は、簡単な問題ではない。記号認識は良く知られた問題であり、これに対して多くの方法が提案されてきた(非特許文献12参照)。手書き文字認識の分野は、固定された空間的または時間的順番に対するグループ化と認識を最適化するための技術や、独立した文字を認識するための技術を無数に開発してきた[非特許文献13および9参照]。その他のシステムとしては、数学的表現の処理に対応するものがある[非特許文献14〜18参照]。しかしながら、これらのシステムと異なり、ストロークの時間的順序付けが不要で、ページ上のストロークの線形構造が求められず、一部は別の記号として独立して解釈されうる複数のストロークを含む記号による原則的方法で扱うように問題を解決するソリューションが必要である。
このように、本発明は、ページ上の手書きの記号および/またはピクセル化された入力のグループ化と認識を同時に行うための、純粋に空間的なアプローチを提供する。本発明は、各グループ化が認識器によって評価される、考えうるグループ化の大きな空間について最適化を行う。これは、グループ化と認識が別のステップとして実行されるアプローチ(たとえば、個別レイアウト分析ステップを持つシステム)と対照的である。図7は、本発明の1つの例の概要700を示し、(a)は複数のストロークを含むユーザのスケッチ702、(b)はスケッチにおけるストロークの近傍グラフ704、(c)は固定の大きさΚまでの近傍グラフの連結された部分集合706、(d)はアダブースト認識器に受け渡される部分集合のレンダリングされた画像708、(e)記号の仮定とスコアを含む認識器からの結果710、(f)は合算すると認識器のスコアが最大になるような、グラフの最適化によるパーティション712である。図8は、本発明の別の態様の別の概要800を示し、(a)は複数のストロークを含むユーザのスケッチ802、(b)はスケッチのストロークの近傍グラフ804、(c)は固定のサイズΚを上限とする近傍グラフの連結された部分集合806、(d)はアダブースト分類器に受け渡される部分集合のレンダリング画像808、(e)は記号の仮定とスコアを含む、分類器からの結果810、(f)は合算すると分類器のスコアが最大となる、グラフの最適化によるパーティション812である。
本発明において、認識器は、適切なグループ化と不適切なグループ化を区別する作業を行い、また、正しいラベルを適切なグループ化に割り当てる。この種の認識器は、合理的時間内に、インク文字のページについて考えうるストロークのグループ化を多数処理するために、素早く評価を行うべきである。このような認識器によれば、その問題のくくり出しに対するいくつかの利点がある。システムの精度または性能を高めることは、単純に、認識器の精度または性能を高めることに対応する。システムに新しい特徴、たとえば回転または尺度不変性等を導入することは、認識器とレイアウト分析の両方を変化させるのではなく、単に認識器を変化させることである。おそらく、最も重要なのは、それによって本発明が、手で調整される経験則に頼るのではなく、例からほとんど完全に学習できることである。このように、本発明は一枚岩的なシステムであり、一端開発されれば、手で構成される幾何学的特徴は不要となる。すべての閾値やパラメータが、トレーニング用の一連の例から自動的に学習される。
本発明は、次のように動作する。前処理ステップとして、まず、ノードがストロークに対応する、インク文字の近傍グラフを作り、ストロークが相互に近接している場合、辺を追加する。このグラフにより、本発明は、ダイナミックプログラミングとノードの集合の高速ハッシングを使い、グラフにおけるノードの結び付けられた集合に対して効率的に繰り返す。サイズΚを上限とするノードの各集合に関し、その集合についての差別的な認識が実行される。これによって非ローカル情報を取り入れることが可能となり、生成的なモデルから生じるかもしれない偽の回答を容易に除外できるようになる。ダイナミックプログラミングは、考えられる説明の空間に対する最適化を行うために使用される。結果として得られるシステムは、言語モデルがなくても、高い精度を実現し、ユーザにストロークの順序に対する条件を課さず、記号をページ上にレイアウトする方法に関する制約も設けない。
形状認識とグループ化は、本発明では最適化の問題として対処している。言い換えれば、ページ上のストロークの考えられるすべてのグループ化の空間において、コスト関数に応じた最良のグループ化とラベリングがある。インク文字のページの場合は、そのグローバルコストを最小限にすることが好ましい。グループ化とラベリングのコストは、その構成要素の各々の関数となる。
C({Vi})=Φ(R(V1),R(V2),…,R(Vn))(式1)
式1において、Viの各々はページの区画を形成する頂点の部分集合(ストロークと頂点という用語は相互交換的に使用される)、Rはその頂点集合に関する最良の認識結果、関数Φは組み合わせコスト(総和、最大値または平均等)、Cは特定のグループ化{Vi}の全体的コストを示す。この最適化を効率的に実行するために、有効な集合Vi(グラフの反復)、効率的かつ正確な記号認識器R(認識コスト)、2つの部分グラフのコストを組み合わせるコスト関数Φ(組み合わせコスト)、そして計算を再利用する方法(ダイナミックプログラミング)があることが望ましい。
もちろん、考えられるグループ化の数は、頂点の数の組み合わせであるため、すべての組み合わせを算出することは、あまりにもコストがかかりすぎる。したがって、考えられるグループ化を次のように制限する。
1.近傍グラフを作成し(図7(b)704、図8(b)804)、ページ上で相互に近い頂点を結び付ける。グループ化Viは、その頂点が近傍グラフにおいて結び付けられている場合のみ有効である。
2.グラフ内の各部分集合Viの大きさは、定数Κより小さいと制約されている(図7(c)706、図8(c)806)。たとえば、データ内のストロークが8より大きい記号は一般的には見当たらないため、部分集合の大きさに上限を設けることは合理的であるといえる。
これらの制限を設けた上で、2つの最適化方法を使って、最良のソリューションを得るための努力がなされた。第一の最適化方法は、ダイナミックプログラミングを用い、第二の最適化方法はさらに、「A−スター検索」に基づく改良を利用している。
考えられるグループ化の集合を制限するために、グループ化は、そのグループの中のストロークが相互に非常に近い場合のみ有効である。このように、インク文字のページから、近傍グラフG=(V,E)が構成され、その中では、図7(b)704に示されるように、頂点Vはストロークに対応し、辺Eはストローク間の隣接関係に対応する。
本発明の1つの例において、頂点が隣接しているとは、そのストロークの凸包(コンベックスハル: convex hull)の間の最低距離が閾値より小さい場合である。しかしながら、合理的な近接性測定は、近傍グラフが同じ記号のストローク間の辺を含んでいるかぎり、同様の認識結果を生むと予想される。たとえば、幾何学的関係は、最近傍と隠蔽された近傍その他を含むことができる。この近傍グラフにより、VにおけるノードViの連結された全部分集合(ただし、|Vi|≦Κ)が列挙される。各部分集合Viは、認識器にとっての記号候補となる。
一般に、部分集合を複製することなく、サイズΚを上限として、部分集合を列挙するための効率的な方法はない。本発明は、最初にサイズ「1」のすべての部分集合を列挙することによって反復する。次に、各部分集合はその水平のすべての辺によって拡大され、重複を排除し、再び拡大し、これをサイズΚになるまで繰り返す。これにより、各ラウンドを通じて、重複の伝播が排除される。図7(b)704のグラフについて生成される部分集合Viは、{1},{2},{3},{4},{1,2},{2,3},{2,4},{3,4},{1,2,3},{1,2,4},{2,3,4},{1,2,3,4}である。
図9において、認識器への入力の集合900が示されており、(a)は認識器に候補として受け渡される完全な記号(太字)902、(b)は認識器に候補として受け渡されるオーバーグループされた(overgrouped)「不要データ(ガーベッジ: garbage)」(太字、後述)904、(c)は文脈を含まずに認識内に受け渡されるときのバックスラッシュのついた曖昧な不要データ(太字)906、(d)は(c)のストローク(太字)を明確な不要データにする近傍文脈(点線)908である。最適化プロセスの第二の実装の詳細は、認識コストRであり、その詳細は後述する。単純な要求事項は、Rが記号に対応するグラフViの部分集合(図9(a)902等)について比較的低いコストを戻すべき、という点である。同様に、Rは、記号に対応しないグラフの部分集合(図9(b)904,(c)906,(d)908等)については比較的高いコストを戻すべきである。
一般に、これは非常に実現が困難である。認識器に受け渡される部分集合の多くは無効であり、複数の文字からのストロークを含む、あるいは複数のストロークからなる記号のストロークのすべてを含んでいない場合がある。このような部分グラフは、「不要データ(garbage)」と呼ばれる。不要データの一部は、トレーニング集合ではどのような記号にも見えないものの、無効例の中には、文脈を使用しなければ、トレーニングサンプルと区別がつかないものがある。たとえば、文字Xの1つのストロークは簡単にバックスラッシュとして孤立したものと解釈される可能性がある(図9(c)906)。したがって、本発明はまた、文脈X(Vi,E)を認識器に供給し、それを不要データとの識別に役立てる。文脈は、Eの中でViに接続されたV−Viのノードの集合と定義され、その一例が図9(d)908である。
最適化の第三の実装の詳細は、組み合わせコスト、Φ(c1,c2)である。組み合わせコストは、グラフの2つの部分集合のコストの関数である。複数の代替的コストが検討される。
・総和(Sum):Φ(c1,c2)=c1+c2+ε。コストの総和は、直感的にわかる。つまり、コストが負対数尤度であると、総和は可能性の積に対応する。εペナルティは、オーバーグループ化またはアンダーグループ化(under grouping)を制御するのに使用できる(εの数値を高くすると、強制的に、より少ない記号にグループ化される)。
・最大(Max):Φ(c1,c2)=Max(c1,c2)。この関数は、その集合の中の最悪の仮定にペナルティを与える。
・平均(Average):Φ(c1,c2)=(c1+ωc2)/(1+ω)。この関数は、仮定の中のすべての記号を通じて、スコアを平均する。ωは、V−Viに対する最良の解釈における記号の数に対応する重みである。
最後に、本発明が最適化する関数は、グラフをR(Vi)とC(V−Vi)の組み合わせにきれいに分割するため、ダイナミックプログラミングを使って、冗長な計算を避けることができる。言い換えれば、近傍グラフの中のストロークの部分集合についてCがすでに計算されていれば、その結果をハッシュテーブルの中で参照することにより、再利用することができる。本発明は、ストロークのIDをXORすることにより、ストロークの集合を細かくする。上記のダイナミックプログラミングシステムで使用される認識器/分類器は、アダブーストの新規な応用に基づく(非特許文献19参照)。
使用される基本的なフレームワークは、ヴィオラとジョーンズの研究に非常に近く(非特許文献20参照)、彼らは単純で効率的な特徴のブーストされた集団を利用するリアルタイム顔面検出システムを考案した。この手法は、それが高速であり、追加の特徴情報を含めるよう拡張可能であることの両方の理由で選択された。ヴィオラ・ジョーンズ法は、本発明により、2通りの方法で一般化された。第一に、分類の問題がマルチクラスであること。第二は、追加入力される特徴が画像マップにすでに追加されていること、である。これらの追加の特徴は、オンラインのストローク情報から直接計算されるもので、曲率、向き、終点情報を含む。この情報は、画像から直接計算可能だが、現在のところ、オンラインシステムからしか入手できない。
認識システムへの入力は、画像の集合である。2つの主要画像は、候補画像と文脈画像である。現在の候補部分グラフは、29×29画素の画像にレンダリングされる。ストロークの幾何学を正規化し、これらが画像の18×18画素の領域の中に入るようにする。ストロークは、アンチエイリアス処理で白地に黒にレンダリングされる。文脈画像は、近似グラフ内の候補ストロークに接続されたストロークからレンダリングされる。
主要画像の各々は、追加のストローク特徴画像で強化される。これは、AMAPに関する初期の研究に良く似ている(非特許文献21参照)。第一の追加画像は、各ストロークに沿った各地点での曲率を記録する。接線間の角度は、ストロークの方向に応じて符号が付与された数量であり、望ましくない。この角度の絶対値が、方向に不変な曲率情報を提供する。
2つの追加の特徴画像は、ストロークの向きを測定する。向きは、画像処理において難しい問題である。なぜなら、これは当然、円の上に埋もれている(そして、したがって2πは0と等しい)からである。向きは、ストロークに対する法線ベクトル(垂直ベクトル)で表される(これは、曲率を測定するときと同じ近傍地点から測定する)。法線の2つの成分は、2つの画像、normalX画像とnormalY画像として表される(慣例により、法線は前の接線との正の積を有する)。
最後の追加特徴画像は、ストローク全体ではなく、ストロークの終点だけを含む。この方法は、インクの共有部分が多いが、始点と終点が異なり、あるいはストローク数が異なる2つの文字(たとえば「8」と「3」)を区別するのに有益である。図10は、このプロセス1000を説明する。各行の左端の画像1002は、29×29画素でレンダリングされた候補画像と文脈画像である。各行の残りは、これらの主要画像から計算された各種の特徴画像を示す。左から右へ、ストロークの曲率1004、ストロークのnormalX 1006、ストロークのnormalY 1008、終点1010である。
単純な線形関数の非常に大きな集合が、先に定義された入力画像から算出される。この線形関数の形状は、ヴィオラとジョーンズによって提案されており、彼らはこれを「矩形フィルタ」と呼ぶ。それぞれ、どの縮尺においても極めて迅速に評価できる。図11において、矩形フィルタ1100の例が、囲まれた分類窓に関して示されている。白い矩形の中にある画素の総和が、グレーの矩形の中にある画素の総和から差し引かれる。2つの長方形を含む矩形フィルタが、(A)1102と(B)1104に示されている。フィルタは、各種の縮尺、向き、アスペクト比での領域平均の差を測定する。このように特徴の形式が固定されているのは、各々が6回またはそれ以下の加算/乗算で、極めて迅速に算出できるという事実から生じている。
たとえば、1つまたは複数の矩形フィルタの集合は、組み合わせて構成することができる。そして、サイズ、アスペクト比、ロケーションが異なるフィルタの集合が生成される。この集合がすべてではなく、フィルタ間の重複を最小限にするよう努力が払われ、その結果、5280個のフィルタが生成された。このような大きな集合は、当初の29×29の画像を再構成するためには841個のリニアフィルタしか必要ないことから、明らかに過剰である。それでも、このように十分すぎるベースは学習には非常に有益である。各フィルタは、10個の特徴画像について評価でき、各トレーニング例について52,800のフィルタ値の集合が得られる。重要な部分集合選択プロセスを利用することにより、性能が改善される。
上記は、トレーニングデータの処理パイプラインを説明している。つまり、候補と文脈のレンダリングプロセス、追加の特徴画像の集合、そして矩形フィルタの集合である。しかしながら、機械学習の問題は、このデータについて、候補となるストロークの正しい記号、あるいはそのストロークの集合が不要データであることを正しく判断する分類器を生成することである。そこで、アダブーストを用い、矩形フィルタの小さな集合を選択し、これらを組み合わせる分類器を学習する。当業者は、本発明では、たとえば、ニューラルネットワーク、サポートベクトルマシン、ベイズ式分類法等、他の機械学習技術も利用できると推測できるであろう。
「弱学習器」は、単独の矩形フィルタを計算し、閾値を適用する分類器であると仮定する(これは、デシジョンスタンプ(decision stump)として知られるタイプの決定木である)。ブーストの各ラウンドにおいて、1つの最良のスタンプが選択され、次に例の重み付けが再び行われる。シャピアとシンガが提案する信頼格付けブースティング(confidence rated boosting)アルゴリズムのマルチクラス型(非特許文献22参照)が利用される。
Nラウンドの後、最終的な分類器はN個の弱分類器を含む。弱分類器の各々は1つのフィルタのみに依存しているため、N個のフィルタだけ評価すればよい。優れたパフォーマンスは、約75から200個のフィルタの間で実現する。25人の書き手の集団による3,800個の例からなるトレーニング集合について、165個の弱分類器で観察されたトレーニングエラーは0であった。別の25人の書き手の集団による3,800の例の試験集合では、文字の96%が正しく分類された。
本発明のこの例を評価するために、自動的に生成される数学的表現のコーパスについての試験を実行した。1クラス5個の例で、50名のユーザによる手書きの文字、数字、および数学的演算子の適度な集合が収集された。図12のプロセスの概要1200において、収集された真のデータ1202は、レンダリングされて(1204)、2つの数学的表現、1206,1208となり、これがそれぞれ、トレーニングおよび試験データとなる。これらの例から、生成文法で数字と演算子を含む短い表現が合成された。生成された表現は、グループ化の問題をより興味深いものとするために、意図的に高密度とされている。また、試験例の各々は水平方向であるが、本発明の技術はレイアウトに関係なく適用されることは注目に値する。このテクニックは、より興味深いレイアウトを持つ例に手作業で適用され、現実において有効であることがわかっているが、試験データはこの条件を反映していない。
生成された表現は、トレーニングと試験データに分けられ、25名のユーザのデータがトレーニング集合を構成し、他の25名のユーザが試験集合を構成した。この分割により、試験が異なる母集団を通じて認識器を一般化することを確実にする。上記のシステムが、後述するように、3種類の組み合わせコスト関数、総和、最大、平均での試験データに適用された。総和については、εの数値を変え、全体的精度に対するその効果を確認した。これらのすべての手法について、記号の総数が試験データの中で測定され、その結果の中から偽陽性と偽陰性の総数が測定された。偽陰性は、試験データの中に特定の記号ラベルを持ったストロークのグループがあり、的確なグループ/ラベルが試験データの中にない場合に起きる。偽陽性はその逆である。本発明のこの例において、結果は平均の組み合わせコストのグループ化と認識について94%の精度を実現した。すべての結果を表1に示す。
Figure 0004745758
このように、本発明は、オンラインによる自由形式のインク文字の統合的なグループ化と認識システムを提供する。グループ化はそのようなタスクにおける認識のための要求事項である。なぜなら、各記号に多数のストロークが含まれることがあるからである。場合により、交差するストロークをグループ化する単純な経験則が有効である。「=」(イコール)または「π」(パイ)等、複数のストロークでなる記号の領域において、これらの経験則は当てはまらない。反対に、異なる文字のストロークが相互に非常に近い、あるいは相互に交差することは稀である。
この統合的システムはまず、相互に十分に近いストロークのペアを連結させる近似グラフを作成する。次に、システムはすべての考えられる接続された部分グラフを列挙し、有効な文字を表すものを見つける。近似性の概念は、同じ記号のストロークが常に接続されるように定義される。この近似性の定義では、隣接する記号のストロークも同様に必然的に連結される。このように接続された部分グラフは、有効な記号としては解釈されず、不要データとして無視される。不要データの部分グラフは、記号がアンダーグループされる場合のみ発生する。たとえば、複数のストロークでなる文字のストロークのうちの1つだけで含められる。アダブーストに基づく高速認識器は、無効なストロークの部分グラフを含む、不要データと呼ばれる固有のクラスを含め、すべての記号クラスを認識するようトレーニングされる。アンダーグループの問題に対処するために、認識器は、現在の候補のストロークと周辺のストロークの文脈の両方について動作する。
ダイナミックプログラミングは、当初の近似グラフを、各々有効な記号として解釈することのできる、接続された部分グラフに最低コストで分解する方法を検索するために使用される。あらゆる考えうる接続された部分グラフの集合は、1度に1個のノードの部分グラフを作成し、効率的に重複を除去する増分的ハッシングスキームを使って列挙される。認識器は、25名の書き手による記号についてトレーニングされる。このシステムを用いた本発明の例では、トレーニング中に使用されなかった別の25名のユーザによる試験データについて、グループ化と認識の同時実行が94%の割合で達成された。
本発明の上記の例を使って、数式と図における手書き文字の認識とグループ化を行うことができる。本発明の別の例は、本発明の上記の例を、フローチャートやテキストとグラフィクスの混合に拡張される。本発明のこの例について、より強力な分類スキームと最適なグループ化を発見するための改良された検索戦略が用いられる。
一般的な検索の問題は、各々の状態がコストを有する状態空間、異なる状態間を移行する演算子、ある状態が目標となる状態か否かを確認するための試験として定義することができる。A−スターは、各状態から目標までの経験則による過小評価(heuristic underestimate)を利用して、状態空間のうち、最適なソリューションを導く可能性のない部分を排除する検索技術である(非特許文献23参照)。予想の質は検索の効率に影響を与える。弱い過小評価は、ゆっくりとした検索を導き、本当の過小評価とはいえない積極的な過小評価では、次善最適なソリューション(認められない(inadmissible)経験則とも呼ばれる)が得られる。図13において、A−スター検索1300の例が示されており、(a)は各状態の仮定を示す検索例1302、(b)は誤った「最善の」ソリューションを導き出す小さな例の検索を視覚化したもの1304である。ただし、この例において、検索は真のソリューションが得られるまで続けられる。
検索空間は、ストロークの空間的グループ化の集合である。図14は、分類器への入力1400を示す。候補のストローク(正方形)1402はダークグレーで示され、その文脈のストロークはライトグレー1404で示されている。候補1402と文脈1404はどちらも、29×29の画像にレンダリングされる。第一の画像1406は当初のインク文字を示し、その他の画像1408,1410は、終点、曲率、自己交差(self-intersections)等、ストロークの特徴を表している。当初の状態は、サイズΚを上限とするストロークの個々のグループのすべてである。ストロークの各グループは他のグループと結合し総和的な空間グループ化を形成することができる。ただし、2つのグループが共通のストロークを持たないことを条件とする。このような結合は、検索の演算子である。最後に、状態は、それがページ上のすべてのストロークを説明していれば、目標の状態である。
式1と本発明の第一の例のように、グループ化のコストは、そのサブグループの組み合わせコストである。部分的なグループから目的を過小評価することは、そのグループ化によって説明されていないストロークの親に関する最良の説明に対応する。特に、空間的グループ化が図の最初のN個のストロークを説明していると、説明されていない各ストロークの過小評価コストは、R(V*)/|V*|(ただし、V*は、そのストロークを説明する最良の部分的説明)である(この部分的説明は、複数のストロークを説明しているかもしれないため、コストをストローク間で分割することに留意されたい)。これは、最善の場合、これらの最善の解釈がすべて採用されるため、本当の過小評価である。解釈のいくつかが矛盾するかもしれず、その場合はすべてが採用されないため、本当の予想ではない。
上記の最適化に用いられる認識器は、アダブーストの新しい応用に基づくものである。分類器への主要な入力は、ストロークのレンダリングされた画像であり、仮定による形状を持つ。ストロークのセグメンテーションは現在は不明であるため、分類器に受け渡されるストロークはまったく形状を成していない場合がある(つまり、不要データである)。
分類器に送られる観察事項は、画像の矩形の領域における画素値の総和である。一般に、すべての考えられる長方形が、すべての考えられる場所で29×29の画像で生成されるとはかぎらないが、1画像につき5280個の長方形が生成されることもあった。たとえば、入力画像が12個あるため、分類器はトレーニング例1個につき63,360個の観察事項を受け取る。そのトレーニング過程で、分類器は自動的に、これら観察事項のうちどれが分類の問題に関係があるかを判断し、実際に行われるべきこれらの観察事項の小さな部分集合を選択する。このプロセスのメカニズムは、非特許文献22において説明されている。
本発明のこの例はまた、さらに学習フレームワークを拡張し、ブーストされた決定木も含まれるようになった。本発明の他の例において、「スタンプ」つまり1つの決定木の深さがブーストされる。言い換えれば、ブーストされた分類器は1つの閾値(つまり、「深さ1」の決定木)に関してすでに判断しているが、本発明の他の例では、ブーストされた分類器は、別の矩形の閾値の小さな連結に関して判断する。
クラスの数が小さいと、スタンプは良好な結果を導くが、多くの類似した記号/文字に関する問題についてはあまり効果がない。本発明の1つの例において、「深さ3」の決定木が使用される。これらのより一般的な決定木はより強力な分類器であり、特徴間の複雑な依存をモデル化することができる。決定木の利用に伴う主なリスクは、それがトレーニングデータにオーバーフィット(overfit)するかもしれない点である。しかしながら、木の深さを約3に限定することにより、オーバーフィットする傾向は見られなくなった。
本発明のこの例は、一般に入手可能なHHReco
(費特許文献24から入手可能)のスケッチ形状データベース(非特許文献5参照)を利用して評価され、これには、19人の異なるユーザから収集された、13の形状クラスについての7,791個の複数のストロークからなる例が含まれる。図15は、このような試験例1500を示しており、(a)はランダムに生成された形状の集合1502、(b)は実際のユーザから収集された形状、矢印、文字で構成される合成フローチャート1504である。その近傍グラフを重ね合わせ、問題の大きさを説明している。形状がランダムなパターンになるよう相互の近辺に配置される、ランダム生成形状シーンで(図15(a)1502)、本発明の例は、同時のグループ化と認識については97%の精度、グループ化だけの場合は99%を超える精度を実現した(トレーニング/試験が80/20に分割された)。
本発明については、より複雑なランダム合成フローチャートの集合についても評価した。各フローチャートは、形状{正方形、楕円、ダイヤモンド、六角形、五角形}、コネクタ{⇔、→、−}、数字{0−9}で生成し、4つのノードをランダムに、重複しないロケーションで合成し、その間にランダムにサンプリングした辺を設け、各ノードには4桁の数字を含めた(図15(b)1504)。この例について、本発明の例は85%のグループ化/認識精度、90%のグループ化精度を達成した。
結果を以下の表2に示す。この結果は、小さな深さのブーストされた決定木が、少ないクラスのスケッチ認識問題のためのスタンプとほぼ同等であることを示している。しかしながら、クラスの数が増えると、決定木はスタンプに対して若干の改善を見せる。これらの結果はまた、数字の認識が形状の認識より実質的に困難であることを示しており、数字のないフローチャートに関するエラー率は、数字のあるフローチャートよりはるかに低かった。さらに、数字のあるフローチャートにおいて発生するエラーは、ほとんどが数字に関するエラーであった。
Figure 0004745758
本発明の例は、図15(a)1502に示されるようなファイルを、1.7GHzのタブレットPCにより約0.1秒で処理できる。図15(b)1504のような、より大きな例は現在、処理に約8秒かかる。時間のほぼ90%が、例をビットマップ(図8(d)808)にレンダリングすることに費やされるが、これは、ファイル内の記号より、記号の候補が1桁多いからである。
この例にはいくつかの限界があった。形状の実験と同様に、トレーニングと試験の両方のデータが合成された。しかしながら、HHRecoの形状データは、別のユーザから収集された矢印と数字を使って利用され、合成された。試験およびトレーニングのユーザは分離したままとし、本発明が一般化され、形状の書き手と数字/矢印の書き手と1対1で対応することができることを示した。
本発明は、効率的で正確であり、しかも空間情報だけに依存し、完全に例に基づく、スケッチされた形状のグループ化および認識の方法を提供する。本発明は、スケッチされた形状、矢印および印刷された手書きの文字に等しく適用される。本発明はまた、スケッチ認識とスケッチベースのユーザインタフェース分野全般にも適用される。これは、形状、記号、矢印その他について高い精度を実現し、これらの記号の順番や特定のページレイアウトの点でユーザにいかなる制約も与えない認識器を提供する。このような認識器が市販されることにより、スケッチベースのユーザインタフェースのデザイナは、どの記号を含めるか、あるいはユーザがこれらの記号をどのように入力すべきかについて、妥協する必要がなくなり、その代わりに、問題、適当な修正用ユーザインタフェースその他について適正な記号セットを定義することに集中できる。
本発明は完全に機械学習に基づいており、手で調整される経験則を必要としないため、最初に数学、次にフローチャートに応用された本発明の例で説明したように、異なる領域に目標を容易に移すことができる。認識の観点からは、本発明は非常にわずかなパラメータ、各文字の最大ストローク数(たとえば、6)、と近傍グラフを構成するための近似閾値にしか依存しない。さらに、本発明はその回答に関する簡潔なコスト関数にのみ依存しているため、コスト関数と基本となる認識器を改善することにより、アルゴリズムの別の部分を変更する必要なく、精度を高めることができる。
さらに、本発明は入力されたストロークを容易に解釈することができる。したがって、本発明は、入力エンティティが完全か否かを判断するために使用され、完全でなければ、エンティティを完全なものとすることができる。たとえば、特定の化学的表記が不完全であれば、本発明は化合物のデータベースから情報を読み出し、その入力エンティティが何を表すのかについて「最善の推測」を行うことができる。同様に、入力が一連の等式である場合、本発明は認識された文字に基づいて、式と副次式の判断を促進することができる。本発明は、文字から式を導き出すことも容易にする。
図に示され、先に説明したシステムの例から見て、本発明により実現可能な方法論では、図16−17のフローチャートを参照するとよりよく理解できる。説明を簡素化するために、この方法論は一連のブロックで描かれ、説明されているが、本発明はブロックのこの順序に限定されず、本発明によれば、一部のブロックは、図や本明細書の説明とは異なる順番で、および/または他のブロックと同時に発生してもよいと理解し、推測すべきである。さらに、本発明による方法論を実現するのに、例として挙げられたすべてのブロックが必要というわけではない。
本発明は、1つまたは複数のコンポーネントによって実行される、プログラムモジュール等のコンピュータ実行可能な命令という一般的な文脈で説明される。一般に、プログラムモジュールは、特定のタスクを実行する、または特定の抽象的データタイプを実現するルーチン、プログラム、オブジェクト、データストラクチャ等を含む。通常、プログラムモジュールの機能は、本発明の各種の例において、希望に応じて組み合わせたり、分散させたりすることができる。
図16において、本発明の一態様による認識を容易にするための方法1600のフロー図が示されている。方法1600は1602において、少なくとも1つのP次元入力1604を受信するところからスタートする。本発明の例は、1次元、2次元、3次元の入力等を用いることができる。たとえば、入力には、ペンおよび/または鉛筆等の筆記具および/または電子画素描写デバイスによって生成されるストロークおよび/または電子走査デバイスにより生成される画素がある。一般に、ストロークには、光学的に解釈される(つまり、認識される)エンティティ(たとえば、マーキング)が含まれる。入力は通常、環境情報や「文脈」情報を含む。本発明の例は、文脈情報を使って、高精度のセグメンテーション・認識プロセスを実現する。入力を受け取ると、セグメンテーションと認識を同時に行うプロセスが採用され、これが入力1606の中のエンティティを認識し、フロー1608が終了する。本発明の1つの例において、セグメンテーションと認識を同時に行うプロセスでは、入力ストロークの近似グラフが利用され、これが部分グラフに再分割される。これらの部分グラフは次に画像にレンダリングされ、これがアダブーストに基づく分類器によって「認識」される。分類器そのものは、閾値等のパラメータを手作業で入力することなく、自動的にトレーニングされる。
図17を参照すると、本発明の一態様による認識器のトレーニングを容易にするための方法1700のフロー図が示されている。フロー1700は、1702で、入力ストローク1704を受け取ることから始まる。ストロークそのものは、上述のようなエンティティで構成される。次に、1706において、ストロークが頂点で表され、その関係が辺で表される近似グラフが作成される。次に、1708において、ストロークの特徴と文脈に従って、部分グラフが判断される。本発明の1つの例において、部分グラフは、頂点を「近似である」と考えるのに必要な最低距離を定める閾値限界および、サブグループによって決定される。頂点は、そのストロークの凸包の間の最低距離が閾値より小さければ、隣接するとみなされる。しかしながら、当業者は、近傍(近似)グラフが同じ記号内のストロークの間の辺を含むかぎり、合理的な近似測定は同様の認識結果を生むことができると推測できる。最適な部分グラフの候補が1710に示されている。最適な候補は通常、式1に基づく最低コストの部分グラフである。
C({Vi})=Φ(R(V1),R(V2),…,R(Vn)) (式1)
この式は、認識コストRと、組み合わせコストΦを含む。本発明の1つの例では、ダイナミックプログラミングを利用してコスト計算プロセスを容易にしている。これには通常、1からΚ(ただし、Κはストローク(頂点)の部分グラフ限界)の反復プロセスがかかわる。各部分グラフは、その水平軸上のすべての辺によって拡大され、重複が排除され、再び拡張され、これがサイズΚまで繰り返され、反復ごとに重複の伝播が排除される。本発明の別の例では、A−スター検索を使って最適な候補を発見する。A−スター検索は、各状態から目標に対する経験則による過小評価を利用して、検索空間のうち、最適解を導くことのできない部分を除去する。当業者は、本発明が最適なソリューションを見出すのに、コスト指向的な方法を使用できると推測するであろう。このように、A−スター検索方法のほかに、本発明は他のコスト指向的検索方法、たとえば、最良優先検索法や分岐限定検索法等を利用できる。最適な候補が決定されると、1712において、候補、文脈、ストロークの特徴による画像がレンダリングされる。当業者は、上記のシーケンスがすでにトレーニングされている認識器へのストローク入力の前処理にも適用できると推測するであろう。1714において、これらの画像を使い、線形関数、つまり「矩形フィルタ」を計算する。次に、1716において、アダブーストを使い、複合された矩形フィルタの集合に基づいて分類器を学習させ、フローは1718で終了する。基本的に、最終的な分類器は、前述の反復工程によって得られる弱分類器の集合からなる。次に、最終的な分類器が、本発明を使用する認識器の中で利用される。これにより、従来のシステムのような線形空間および時間限定を必要とせずに、セグメンテーションと認識の同時工程を自動的にトレーニングすることができる。
本発明の各種の態様を実装できるその他の状況を提供するために、第18図と以下の説明により、本発明の各種の態様を実現できる適切なコンピューティング環境1800を簡単かつ概略的に説明する。本発明について、ローカルコンピュータおよび/またはリモートコンピュータ上で実行されるコンピュータプログラムのコンピュータ実行可能な命令という一般的な状況においてすでに説明したが、当業者は、本発明が他のプログラムモジュールと組み合わせても実現できることに気づくであろう。一般に、プログラムモジュールには、特定のタスクを実行し、および/または特定の抽象的データタイプを実現するルーチン、プログラム、コンポーネント、データ構造その他が含まれる。さらに、当業者は、発明性のある方法は、たとえばシングルプロセッサまたはマルチプロセッサコンピュータシステム、ミニコンピュータ、メインフレームコンピュータならびにパーソナルコンピュータ、ハンドヘルドコンピューティングデバイス、マイクロプロセッサ等の、および/またはプログラム可能な家庭用電化製品その他、各々1つまたは複数の関連するデバイスと動作的に交信できる他のコンピュータシステム構成でも実現できると推測するであろう。図に示した本発明の態様はまた、通信ネットワークで連結されたリモート処理デバイスによってあるタスクが実行される、分散型コンピューティング環境においても実現できる。しかしながら、本発明のすべてでなくとも一部は、独立型コンピュータでも実現できる。分散型コンピューティング環境において、プログラムモジュールはローカルおよび/またはリモートメモリ記憶装置の中に設置することができる。
本願において使用されるように、「コンポーネント」との用語は、ハードウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェアあるいは実行中のソフトウェアを含め、コンピュータ関係のエンティティを指すものとする。たとえば、コンポーネントは、たとえば、プロセッサ上で実行中のプロセス、プロセッサ、オブジェクト、実行ファイル、実行ファイルのスレッド、プログラム、コンピュータ等とすることができる。例として、サーバ上で実行中のアプリケーションおよび/またはサーバは、コンポーネントでありうる。さらに、コンポーネントは、1つまたは複数のサブコンポーネントを含むことができる。
図18を見ると、本発明の各種の態様を実現するためのシステム環境の例1800には、従来のコンピュータ1802が含まれ、コンピュータ1802は処理ユニット1804、システムメモリ1806と、システムメモリ等の各種のシステムコンポーネントを処理ユニット1804に連結するためのシステムバス1808を含む。処理ユニット1804は、市販されている、または所有権保護されているプロセッサのいずれでもよい。さらに、処理ユニットは、たとえば並列に接続される複数のプロセッサで構成されるマルチプロセッサとして実現することができる。
システムバス1808は、メモリバスもしくはメモリコントローラ、周辺バスと、わずかに例を挙げればPCI,VESA,Microchannel,ISA,EISA等の従来の各種のバスアーキテクチャのいずれかを使ったローカルバスを含む各種バス構造のいずれでもよい。システムメモリ1806は、リードオンリーメモリ(ROM)1810とランダムアクセスメモリ(RAM)1812を含む。たとえば起動中等、コンピュータ1802内のエレメント間での情報交換を助ける基本的ルーチンを含む、基本的入力/出力システム(BIOS)1814がROM1810に記憶されている。
コンピュータ1802はまた、たとえば、ハードディスクドライブ1816、取り外し可能なディスク1820から読み取り、これに書き込む磁気ディスクドライブ1818、CD−ROMディスク1824またはその他の光学媒体から読み出し、これに書き込むための光ディスクドライブ1822等を含んでもよい。ハードディスクドライブ1816、磁気ディスクドライブ1818、光ディスクドライブ1822は、それぞれ、ハードディスクドライブインタフェース1826、磁気ディスクドライブインタフェース1828、光ドライブインタフェース1830によってシステムバス1808に接続される。ドライブ1816から1822およびこれに関連するコンピュータ読取可能な媒体は、コンピュータ1802のためのデータ、データストラクチャ、コンピュータ実行可能な命令等の不揮発性のストレージを提供する。上記のコンピュータ読取可能媒体の記述は、ハードディスク、取り外し可能な磁気ディスクおよびCDに関するものであったが、当業者は、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌイカートリッジその他、コンピュータによる読取が可能な他の種類の媒体でも動作環境の例1800において使用でき、さらに、かかる媒体のいずれにも、本発明の方法を実行するためのコンピュータ実行可能な命令を含めることができると推測するはずである。
多数のプログラムモジュールが、オペレーティングシステム1832、1つまたは複数のアプリケーションプログラム1834、その他のプログラムモジュール1836、プログラムデータ1838を含め、ドライバ1816から1822とRAM1812に記憶することができる。オペレーティングシステム1832は、適当なオペレーティングシステムまたはオペレーティングシステムの組み合わせとすることができる。たとえば、アプリケーションプログラム1834とプログラムモジュール1836は、本発明の一態様による認識スキームを備えることができる。
ユーザは、キーボード1840やポインティングデバイス(マウス1842等)の1つまたは複数のユーザ入力デバイスを通じて、コマンドや情報をコンピュータ1802に入力することができる。その他の入力デバイス(図示せず)には、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、無線リモート、スキャナ等がある。これらおよびその他の入力デバイスはしばしば、システムバス1808に連結されるシリアルポートインタフェース1844を通じて処理ユニット1804に接続されていることが多いが、パラレルポート、ゲームポートまたはユニバーサルシリアルバス(USB)等、他のインタフェースによっても接続できる。モニタ1846または他の種類のディスプレイデバイスも、ビデオアダプタ1848等のインタフェースを介してシステムバス1808に接続される。モニタ1846に加え、コンピュータ1802は、スピーカ、プリンタ等の他の周辺出力デバイス(図示せず)を備えていてもよい。
コンピュータ1802は、1つまたは複数のリモートコンピュータ1860との論理接続を使って、ネットワーク環境でも動作できることを理解すべきである。リモートコンピュータ1860は、ワークステーション、サーバコンピュータ、ルータ、ピアデバイスまたはその他の一般的なネットワークノードとすることができ、一般的には、コンピュータ1802に関して上述したエレメントの多くまたは全部を備えているが、簡潔さを期すために、図18においてはメモリ記憶装置1862だけが示されている。図18に示される論理接続には、ローカルエリアネットワーク(LAN)1864や広域ネットワーク(WAN)1866がある。このようなネットワーク環境は、事務所、企業内コンピュータネットワーク、イントラネット、インターネットにおいて一般的である。
たとえば、LANネットワーク環境で使用する場合、コンピュータ1802はネットワークインタフェースまたはアダプタ1868を通じてローカルネットワーク1864に接続される。WANネットワーク環境で使用する場合、コンピュータ1802は通常、モデム(たとえば、電話、DSL、ケーブル等)1870を含むか、またはLAN上の通信サーバに接続されているか、あるいはインターネット等、WAN1866上での通信を確立するその他の手段を有する。コンピュータ1802に関して内蔵か外付けのいずれでもよいモデム1870は、シリアルポートインタフェース1844を介してシステムバス1808に接続される。ネットワーク環境において、プログラムモジュール(アプリケーションプログラム1834を含む)および/またはプログラムデータ1838は、リモートメモリ記憶デバイス1862に記憶することができる。図示のネットワーク接続は一例にすぎず、コンピュータ1802と1860の間の通信リンクを確立するための他の手段(たとえば、有線または無線)を使って、本発明の一態様を実現することもできる。
コンピュータプログラミングの当業者の慣行に従い、本発明は、特に指示がないかぎり、コンピュータ1802またはリモートコンピュータ1860等、コンピュータによって実行される行為またはそのような動作の象徴的表現に関して説明した。このような行為や動作は時々、「コンピュータにより実行される」と言われる。行為や象徴的に表現される動作には、電気信号表現の変形や減少を発生させるように、データビットを表す電気信号の処理ユニット1804を操作することや、コンピュータシステムの動作を再構成する、またはその他の方法で変更するために、メモリシステム(システムメモリ1806、ハードドライブ1816、フロッピディスク1820、CD−ROM 1824、およびリモートメモリ1862等)の中のメモリロケーションにデータビットを保持すること、ならびに信号をその他の方法で処理することが含まれる。データビットが保持されるこのメモリロケーションは、そのデータビットに対応する特定の電気、磁気または工学的特性を有する物理的ロケーションである。
図19は、本発明が対話できるコンピューティング環境の例1900の別のブロック図である。システム1900にはさらに、1つまたは複数のクライアント1902を含むシステムが描かれている。クライアント1902は、ハードウェアおよび/またはソフトウェア(たとえば、スレッド、プロセス、コンピューティングデバイス)のいずれでもよい。システム1900はまた、1つまたは複数のサーバ1904を含む。サーバ1904もまた、ハードウェアおよび/またはソフトウェア(たとえば、スレッド、プロセス、コンピューティングデバイス)とすることができる。クライアント1902とサーバ1904の間の1つの考えられる交信は、2つまたはそれ以上のコンピュータプロセスの間で伝送されるように構成されたデータパケットの形態をとることができる。システム1900は、クライアント1902とサーバ1904の間の交信を容易にするために使用できる通信フレームワーク1908を含む。クライアント1902は、クライアント1902のローカル情報を記憶するのに使用できる1つまたは複数のクライアントデータ記憶装置1910に接続されている。同様に、サーバ1904は、サーバ1904のローカル情報を記憶するのに使用できる1つまたは複数のサーバデータ記憶装置1906に接続されている。
本発明の1つの例において、認識を容易にする、2つまたはそれ以上のコンピュータコンポーネントの間で伝送されるデータパケットは、少なくとも部分的にエンティティを認識するための同時分割認識プロセスを利用する空間認識システムに関する情報で少なくとも部分的に構成される。
本発明のシステムおよび/または方法は、コンピュータコンポーネントと、コンピュータに関係のないコンポーネントについても同様に、その認識を用意にするために使用できることが推測されるべきである。さらに、当業者は、本発明のシステムおよび/または方法がたとえば、コンピュータ、サーバおよび/またはハンドヘルド電子デバイス等を含む、多岐にわたる電子機器関連技術において使用できると認めるであろう。
上で説明した事柄は、本発明の例を含む。もちろん、本発明を説明するために、考えられるすべてのコンポーネントまたは方法論の組み合わせを述べることは不可能であるが、当業者は、本発明のその他の組み合わせや置き換えも可能であることを認めるであろう。したがって、本発明は、付属の特許請求範囲の精神と範囲の中に含まれるすべての変更、改変、変化を包含するものである。さらに、詳細な説明または特許請求範囲で使用されている「含む」との用語は、特許請求項における暫定的な用語として使用された場合に解釈される「備える」との用語と同様に包含的なものである。
本発明の一態様による空間認識システムのブロック図である。 本発明の一態様による空間認識システムの別のブロック図である。 本発明の一態様による空間認識システムのさらに別のブロック図である。 本発明の一態様による空間認識システムトレーニングプロセスのブロック図である。 本発明の一態様による空間認識システムトレーニングプロセスの別のブロック図である。 本発明の一態様によるストローク入力例を示す図である。 本発明の一態様による認識プロセスの概要の説明図である。 本発明の一態様による認識プロセスの概要の別の説明図である。 本発明の一態様による認識器の一連の入力の説明図である。 本発明の一態様による認識プロセスの説明図である。 本発明の一態様による矩形フィルタテクニックの説明図である。 本発明の一態様による検証データ(トゥルース・データ: truth data)レンダリングの説明図である。 本発明の一態様によるA−スター検索の説明図である。 本発明の一態様によるclassifier入力の説明図である。 本発明の一態様による試験例の説明図である。 本発明の一態様による認識促進方法のフロー図である。 本発明の一態様による認識器のトレーニング促進方法のフロー図である。 本発明が機能できる動作環境の例の説明図である。 本発明が機能できる動作環境の別の例の説明図である。
符号の説明
102,202 空間認識コンポーネント
104,204,304 入力
106,206,306 出力
208,304 受信コンポーネント
210,302 認識コンポーネント
212 トレーニングコンポーネント
214 最適化コンポーネント
308 認識前コンポーネント
310 アダブースト認識器/分類器
312 近傍グラフ発生器
314 部分集合グループ化コンポーネント
316 画像レンダリングコンポーネント
418 認識器
502 認識器
504 画像
506 矩形フィルタ
508 分類器学習器
510 分類器
1804 処理ユニット
1806 システムメモリ
1810 ROM
1812 RAM
1814 BIOS
1826 ハードディスクドライブインタフェース
1828 磁気ディスクドライブインタフェース
1830 光ドライブインタフェース
1832 オペレーティングシステム
1834 アプリケーションプログラム
1836 その他のプログラムモジュール
1838 プログラムデータ
1840 キーボード
1844 シリアルポートインタフェース
1846 モニタ
1860 リモートコンピュータ
1862 メモリ記憶装置
1864 ローカルエリアネットワーク
1866 広域ネットワーク
1868 ネットワークインタフェース
1870 モデム
1902 クライアント
1904 サーバ
1906 サーバデータ記憶装置
1908 通信フレームワーク
1910 クライアントデータ記憶装置

Claims (24)

  1. 手書き記号を認識するためのコンピューティングシステムであって、
    記号を表すストロークの組を含む少なくとも1つの入力を受け取る受信コンポーネントと、
    前記入力中の前記記号を認識する認識コンポーネントと、
    を備え、前記認識コンポーネントは、
    前記受信コンポーネントからの入力を受信し、前記入力内で見つかったストロークの近似グラフを構成する近傍グラフ生成器であって、前記近似グラフはストロークに対応する頂点を含み、それぞれのストロークの凸包間の最短距離が閾値より短い場合、前記それぞれのストロークに対応する頂点の追加る近傍グラフ生成器と、
    前記近傍グラフ生成器から受信した近似グラフを接続された部分グラフに区分けする部分集合グループ化コンポーネントであって、接続された各部分グラフは辺により接続された頂点の部分集合に対応し、各部分集合のサイズは別の閾値以下である、部分集合グループ化コンポーネントと、
    接続された各部分グラフに対応するストロークのレンダリングされた画像を生成する画像レンダリングコンポーネントと、
    前記レンダリングされた画像を認識することにより、接続された前記部分グラフに対する記号の仮定及び対応するスコアを出力する分類器と
    を含むことを特徴とするコンピューティングシステム。
  2. 請求項1に記載のシステムであって、前記入力は、1次元空間、2次元空間、または3次元空間内に存在する幾何学構造を含むことを特徴とするシステム。
  3. 請求項1に記載のシステムであって、前記入力は、テキストの入力とグラフィクスの入力とで構成されるグループから選択される少なくとも1つを含むことを特徴とするシステム。
  4. 請求項1に記載のシステムであって、前記入力は画素の集合を含むことを特徴とするシステム。
  5. 請求項1に記載のシステムであって、前記入力は、時間における非線形シーケンスと空間における非線形シーケンスとで構成されるグループから選択される少なくとも1つを含むことを特徴とするシステム。
  6. 請求項1に記載のシステムであって、
    入力から手書き記号を特定するように前記認識コンポーネントをトレーニングするトレーニングコンポーネントをさらに備えることを特徴とするシステム。
  7. 請求項1に記載のシステムであって、前記手書き記号は、等式に関する文字を含むことを特徴とするシステム。
  8. 請求項に記載のシステムであって、前記認識コンポーネントは、それが認識する前記文字に基づいて、前記等式の部分式を判断することを特徴とするシステム。
  9. 請求項に記載のシステムであって、前記認識コンポーネントは、前記判断された部分式に基づいて、前記等式を取得することを特徴とするシステム。
  10. 請求項1に記載のシステムであって、前記分類器は、不正確な区分けにペナルティを与える機能を学習する、トレーニング可能な分類器を含むことを特徴とするシステム。
  11. 手書き記号を認識する方法であって、
    記号を表現するストロークの集合を含む少なくとも1つの入力を受け取るステップと、
    前記入力中の記号を認識するステップと、
    を備え、前記入力中の記号を認識するステップは、
    近似グラフ内の前記入力のストロークを連結するステップであって、前記近似グラフはストロークに対応する頂点を含み、それぞれのストロークの凸包間の最短距離が閾値より短い場合、前記それぞれのストロークに対応する頂点の追加るステップと、
    前記近似グラフを区分けして、辺により接続された複数の部分グラフを形成するステップであって、各部分グラフは辺により接続された頂点の部分集合に対応し、各部分集合のサイズは別の閾値以下であるステップと、
    前記近似グラフの前記接続された複数の部分グラフに亘って、コスト指向型検索方法を適用して、最適な分解を決定するステップであって、前記最適な分解は部分グラフの集合であり、前記集合が1つにまとまるとグラフ全体となるステップと、
    接続された各部分グラフに対応してレンダリングされたストロークの画像に基づいて、分類器の使用を通じて前記最適な分解を認識するステップと
    を含むことを特徴とする方法。
  12. 請求項1に記載の方法であって、前記入力は、1次元入力、2次元入力、および3次元入力で構成されるグループから選択される少なくとも1つを含むことを特徴とする方法。
  13. 請求項1に記載の方法であって、前記入力は、テキストの入力とグラフィクスの入力とで構成されるグループから選択される少なくとも1つを含むことを特徴とする方法。
  14. 請求項1に記載の方法であって、前記入力は、光学的に認識可能なマークの集合と画素の集合とで構成されるグループから選択される少なくとも1つを含むことを特徴とする方法。
  15. 請求項1に記載の方法であって、前記入力は、時間の非線形シーケンスと空間の非線形シーケンスとで構成されるグループから選択される少なくとも1つを含むことを特徴とする方法。
  16. 請求項1に記載の方法であって、前記入力中の記号を認識するステップは、スケールおよび回転に対して不変の空間認識を行うステップを含むことを特徴とする方法。
  17. 請求項1に記載の方法であって、前記ストロークを連結して部分グラフを作成するステップは、
    前記近似グラフを構成するステップと、
    接続された部分集合Vi(ただし、|Vi|≦Κ、Κは部分グラフのサイズを限定する前記別の閾値)を列挙するステップと
    を含むことを特徴とする方法。
  18. 請求項1に記載の方法であって、前記入力中の記号を認識するステップは、
    トレーニング例の集合から前記分類器および/または分類パラメータを自動的に学習するステップをさらに含むことを特徴とする方法。
  19. 請求項1に記載の方法であって、前記コスト指向型検索方法は、A−スター検索方法、最善優先検索方法、分岐限定検索方法で構成されるグループから選択される少なくとも1つを含むことを特徴とする方法。
  20. 請求項1に記載の方法であって、前記コスト指向型検索方法は、
    コスト最適化関数を利用して区分けおよび認識を実行し、
    C({Vi})=Φ(R(V1),R(V2),…,R(Vn))
    (ただし、Viは入力の分解を形成する頂点の部分集合、Rは前記頂点の集合についての最良の認識結果、関数Φは組み合わせコスト、Cは特定のグループ{Vi}の全体的コストを表す)
    に従って最適なグループ化およびラベリングを判断するステップを含む最適化方法を用いることを特徴とする方法。
  21. 請求項1に記載の方法であって、
    ストロークの湾曲、ストロークの向き、ストロークの少なくとも1つの端点で構成されるグループから選択される少なくとも1つを含むストロークの特徴を有するストロークのレンダリングされた画像を結合するステップをさらに含むことを特徴とする方法。
  22. 請求項1に記載の方法であって、前記最適な分解を認識するステップは、
    機械学習に基づく分析器を利用して有効および無効な部分グラフを区別するステップをさらに含み、前記機械学習に基づく分析器は、アダブースト、ニューラルネットワーク、サポートベクトルマシン、およびベイズ式分類法で構成されるグループから選択される少なくとも1つを含むことを特徴とする方法。
  23. コンピュータを請求項1に記載のシステムとして機能させるためのプログラムを記憶したことを特徴とするコンピュータ読取可能記録媒体。
  24. コンピュータに、請求項1に記載の方法を実行させるためのプログラムを記憶したことを特徴とするコンピュータ読取可能記録媒体。
JP2005246356A 2004-08-26 2005-08-26 テキストおよびグラフィクスの空間認識およびグループ化 Expired - Fee Related JP4745758B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/927,452 US7729538B2 (en) 2004-08-26 2004-08-26 Spatial recognition and grouping of text and graphics
US10/927,452 2004-08-26

Publications (3)

Publication Number Publication Date
JP2006073000A JP2006073000A (ja) 2006-03-16
JP2006073000A5 JP2006073000A5 (ja) 2008-10-09
JP4745758B2 true JP4745758B2 (ja) 2011-08-10

Family

ID=35478337

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005246356A Expired - Fee Related JP4745758B2 (ja) 2004-08-26 2005-08-26 テキストおよびグラフィクスの空間認識およびグループ化

Country Status (3)

Country Link
US (1) US7729538B2 (ja)
EP (1) EP1630723A3 (ja)
JP (1) JP4745758B2 (ja)

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7475061B2 (en) * 2004-01-15 2009-01-06 Microsoft Corporation Image-based document indexing and retrieval
US7567715B1 (en) * 2004-05-12 2009-07-28 The Regents Of The University Of California System and method for representing and encoding images
US7299407B2 (en) * 2004-08-24 2007-11-20 International Business Machines Corporation Marking and annotating electronic documents
US7729538B2 (en) 2004-08-26 2010-06-01 Microsoft Corporation Spatial recognition and grouping of text and graphics
US7574048B2 (en) * 2004-09-03 2009-08-11 Microsoft Corporation Freeform digital ink annotation recognition
US7586490B2 (en) * 2004-10-20 2009-09-08 Siemens Aktiengesellschaft Systems and methods for three-dimensional sketching
US7522771B2 (en) 2005-03-17 2009-04-21 Microsoft Corporation Systems, methods, and computer-readable media for fast neighborhood determinations in dynamic environments
US7570816B2 (en) * 2005-03-31 2009-08-04 Microsoft Corporation Systems and methods for detecting text
US20060242568A1 (en) * 2005-04-26 2006-10-26 Xerox Corporation Document image signature identification systems and methods
US20060245654A1 (en) * 2005-04-29 2006-11-02 Microsoft Corporation Utilizing grammatical parsing for structured layout analysis
US7526129B2 (en) * 2005-06-23 2009-04-28 Microsoft Corporation Lifting ink annotations from paper
US8249344B2 (en) * 2005-07-01 2012-08-21 Microsoft Corporation Grammatical parsing of document visual structures
US7929769B2 (en) * 2005-12-13 2011-04-19 Microsoft Corporation Script recognition for ink notes
US7720773B2 (en) * 2005-12-29 2010-05-18 Microsoft Corporation Partitioning data elements of a visual display of a tree using weights obtained during the training state and a maximum a posteriori solution for optimum labeling and probability
US7953253B2 (en) * 2005-12-31 2011-05-31 Arcsoft, Inc. Face detection on mobile devices
US8509563B2 (en) * 2006-02-02 2013-08-13 Microsoft Corporation Generation of documents from images
US7986827B2 (en) * 2006-02-07 2011-07-26 Siemens Medical Solutions Usa, Inc. System and method for multiple instance learning for computer aided detection
US8050500B1 (en) * 2006-07-06 2011-11-01 Senapps, LLC Recognition method and system
WO2008033439A2 (en) 2006-09-13 2008-03-20 Aurilab, Llc Robust pattern recognition system and method using socratic agents
AU2006252019B2 (en) * 2006-12-13 2012-06-28 Canon Kabushiki Kaisha Method and Apparatus for Dynamic Connector Analysis
US7907141B2 (en) * 2007-03-23 2011-03-15 Palo Alto Research Center Incorporated Methods and processes for recognition of electronic ink strokes
US7725493B2 (en) * 2007-03-23 2010-05-25 Palo Alto Research Center Incorporated Optimization method and process using tree searching operation and non-overlapping support constraint requirements
US8014607B2 (en) * 2007-03-23 2011-09-06 Palo Alto Research Center Incorporated Method and apparatus for creating and editing node-link diagrams in pen computing systems
US7840503B2 (en) * 2007-04-10 2010-11-23 Microsoft Corporation Learning A* priority function from unlabeled data
US8009915B2 (en) * 2007-04-19 2011-08-30 Microsoft Corporation Recognition of mathematical expressions
US7840502B2 (en) * 2007-06-13 2010-11-23 Microsoft Corporation Classification of images as advertisement images or non-advertisement images of web pages
US8094939B2 (en) 2007-06-26 2012-01-10 Microsoft Corporation Digital ink-based search
US8041120B2 (en) * 2007-06-26 2011-10-18 Microsoft Corporation Unified digital ink recognition
US8315482B2 (en) * 2007-06-26 2012-11-20 Microsoft Corporation Integrated platform for user input of digital ink
US9030462B2 (en) * 2007-09-24 2015-05-12 Siemens Corporation Sketching three-dimensional(3D) physical simulations
US8160396B2 (en) * 2007-12-06 2012-04-17 Mitsubishi Electric Research Laboratories, Inc. Method and apparatus for touching-up images
US20090198646A1 (en) * 2008-01-31 2009-08-06 International Business Machines Corporation Systems, methods and computer program products for an algebraic approach to rule-based information extraction
US8099373B2 (en) * 2008-02-14 2012-01-17 Microsoft Corporation Object detector trained using a working set of training data
US20100114619A1 (en) * 2008-10-30 2010-05-06 International Business Machines Corporation Customized transformation of free-form business concepts to semantically rich business models
US20100134497A1 (en) * 2008-12-02 2010-06-03 Yifan Hu Methods, Systems, and Products for Graphing Data
US20100186234A1 (en) 2009-01-28 2010-07-29 Yehuda Binder Electric shaver with imaging capability
US20100166314A1 (en) * 2008-12-30 2010-07-01 Microsoft Corporation Segment Sequence-Based Handwritten Expression Recognition
US20100163316A1 (en) * 2008-12-30 2010-07-01 Microsoft Corporation Handwriting Recognition System Using Multiple Path Recognition Framework
US8462161B1 (en) 2009-01-20 2013-06-11 Kount Inc. System and method for fast component enumeration in graphs with implicit edges
US8306940B2 (en) * 2009-03-20 2012-11-06 Microsoft Corporation Interactive visualization for generating ensemble classifiers
US20100295782A1 (en) 2009-05-21 2010-11-25 Yehuda Binder System and method for control based on face ore hand gesture detection
US8275805B2 (en) * 2010-03-26 2012-09-25 Intel Corporation Method of decreasing a total computation time for a visual simulation loop in a virtual world application
US9449026B2 (en) 2010-08-31 2016-09-20 Microsoft Technology Licensing, Llc Sketch-based image search
US8724911B2 (en) * 2010-09-16 2014-05-13 Palo Alto Research Center Incorporated Graph lattice method for image clustering, classification, and repeated structure finding
US8872828B2 (en) 2010-09-16 2014-10-28 Palo Alto Research Center Incorporated Method for generating a graph lattice from a corpus of one or more data graphs
US8718375B2 (en) 2010-12-03 2014-05-06 Massachusetts Institute Of Technology Sketch recognition system
US8760451B2 (en) 2011-06-30 2014-06-24 Google Inc. Rendering a text image using texture map character center encoding with character reference encoding
US8400453B2 (en) 2011-06-30 2013-03-19 Google Inc. Rendering a text image following a line
US8996350B1 (en) 2011-11-02 2015-03-31 Dub Software Group, Inc. System and method for automatic document management
JP2014092902A (ja) * 2012-11-02 2014-05-19 Toshiba Corp 電子機器および手書き文書処理方法
US9058660B2 (en) * 2012-11-21 2015-06-16 Gravity Jack, Inc. Feature searching based on feature quality information
JP2014127188A (ja) * 2012-12-27 2014-07-07 Toshiba Corp 整形装置及び方法
US9218321B2 (en) * 2013-01-29 2015-12-22 International Business Machines Corporation Creating tag clouds based on user specified arbitrary shape tags
US9147125B2 (en) 2013-05-03 2015-09-29 Microsoft Technology Licensing, Llc Hand-drawn sketch recognition
CN103400109B (zh) * 2013-07-10 2016-05-25 西安交通大学 一种手绘草图离线识别与整形方法
US9430141B1 (en) * 2014-07-01 2016-08-30 Amazon Technologies, Inc. Adaptive annotations
US9589185B2 (en) * 2014-12-10 2017-03-07 Abbyy Development Llc Symbol recognition using decision forests
US20180101724A1 (en) * 2015-06-04 2018-04-12 Mowdo System and method for capturing and interpreting images into triple diagrams
US9904847B2 (en) * 2015-07-10 2018-02-27 Myscript System for recognizing multiple object input and method and product for same
US11402991B2 (en) * 2015-12-01 2022-08-02 Myscript System and method for note taking with gestures
US10216992B2 (en) 2016-11-21 2019-02-26 Microsoft Technology Licensing, Llc Data entry system with drawing recognition
EP3563305A4 (en) * 2016-12-30 2020-08-05 Nokia Technologies Oy ARTIFICIAL NEURAL NETWORK
US10896357B1 (en) * 2017-12-29 2021-01-19 Automation Anywhere, Inc. Automatic key/value pair extraction from document images using deep learning
US10769427B1 (en) 2018-04-19 2020-09-08 Automation Anywhere, Inc. Detection and definition of virtual objects in remote screens
US11176310B2 (en) 2019-04-01 2021-11-16 Adobe Inc. Facilitating dynamic document layout by determining reading order using document content stream cues
CN111860506B (zh) * 2020-07-24 2024-03-29 北京百度网讯科技有限公司 识别文字的方法和装置

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5035379B1 (ja) * 1970-05-25 1975-11-15
US4972496A (en) 1986-07-25 1990-11-20 Grid Systems Corporation Handwritten keyboardless entry computer system
US4955066A (en) 1989-10-13 1990-09-04 Microsoft Corporation Compressing and decompressing text files
US5109433A (en) 1989-10-13 1992-04-28 Microsoft Corporation Compressing and decompressing text files
US5181255A (en) 1990-12-13 1993-01-19 Xerox Corporation Segmentation of handwriting and machine printed text
US5237628A (en) 1991-06-03 1993-08-17 Nynex Corporation System and method for automatic optical data entry
US5526444A (en) * 1991-12-10 1996-06-11 Xerox Corporation Document image decoding using modified branch-and-bound methods
US5499294A (en) 1993-11-24 1996-03-12 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Digital camera with apparatus for authentication of images produced from an image file
US5699244A (en) 1994-03-07 1997-12-16 Monsanto Company Hand-held GUI PDA with GPS/DGPS receiver for collecting agronomic and GPS position data
US6869023B2 (en) 2002-02-12 2005-03-22 Digimarc Corporation Linking documents through digital watermarking
US5465353A (en) * 1994-04-01 1995-11-07 Ricoh Company, Ltd. Image matching and retrieval by multi-access redundant hashing
US5542006A (en) * 1994-06-21 1996-07-30 Eastman Kodak Company Neural network based character position detector for use in optical character recognition
US6137908A (en) * 1994-06-29 2000-10-24 Microsoft Corporation Handwriting recognition system simultaneously considering shape and context information
US5594809A (en) * 1995-04-28 1997-01-14 Xerox Corporation Automatic training of character templates using a text line image, a text line transcription and a line image source model
US5812698A (en) * 1995-05-12 1998-09-22 Synaptics, Inc. Handwriting recognition system and method
US5867597A (en) * 1995-09-05 1999-02-02 Ricoh Corporation High-speed retrieval by example
US5999653A (en) 1996-01-19 1999-12-07 Xerox Corporation Fast techniques for searching images using the Hausdorff distance
US5832474A (en) 1996-02-26 1998-11-03 Matsushita Electric Industrial Co., Ltd. Document search and retrieval system with partial match searching of user-drawn annotations
US6938203B1 (en) 1997-08-11 2005-08-30 Chrysanne Dimarco Method and apparatus for authoring of customizable multimedia documents
US6658623B1 (en) 1997-09-15 2003-12-02 Fuji Xerox Co., Ltd. Displaying in a first document a selectable link to a second document based on a passive query
US6587217B1 (en) 1997-09-15 2003-07-01 International Business Machines Corporation Method for organizing files in a library in a network printing system
US6356922B1 (en) 1997-09-15 2002-03-12 Fuji Xerox Co., Ltd. Method and system for suggesting related documents
US6279014B1 (en) 1997-09-15 2001-08-21 Xerox Corporation Method and system for organizing documents based upon annotations in context
US7062497B2 (en) 1998-01-22 2006-06-13 Adobe Systems Incorporated Maintaining document state history
US6487301B1 (en) 1998-04-30 2002-11-26 Mediasec Technologies Llc Digital authentication with digital and analog documents
US6233353B1 (en) 1998-06-29 2001-05-15 Xerox Corporation System for segmenting line drawings from text within a binary digital image
US6523134B2 (en) 1998-09-18 2003-02-18 International Business Machines Corporation Selective undo
US6363381B1 (en) 1998-11-03 2002-03-26 Ricoh Co., Ltd. Compressed document matching
US6580806B1 (en) 1998-11-20 2003-06-17 Canon Kabushiki Kaisha Image processing apparatus, image processing method and storage
US6687876B1 (en) 1998-12-30 2004-02-03 Fuji Xerox Co., Ltd. Method and system for maintaining freeform ink annotations on changing views
US6393395B1 (en) * 1999-01-07 2002-05-21 Microsoft Corporation Handwriting and speech recognizer using neural network with separate start and continuation output scores
US6397212B1 (en) 1999-03-04 2002-05-28 Peter Biffar Self-learning and self-personalizing knowledge search engine that delivers holistic results
US6546385B1 (en) 1999-08-13 2003-04-08 International Business Machines Corporation Method and apparatus for indexing and searching content in hardcopy documents
WO2001061448A1 (en) 2000-02-18 2001-08-23 The University Of Maryland Methods for the electronic annotation, retrieval, and use of electronic images
US6470094B1 (en) 2000-03-14 2002-10-22 Intel Corporation Generalized text localization in images
US6594393B1 (en) * 2000-05-12 2003-07-15 Thomas P. Minka Dynamic programming operation with skip mode for text line image decoding
US7058223B2 (en) * 2000-09-14 2006-06-06 Cox Ingemar J Identifying works for initiating a work-based action, such as an action on the internet
US6928548B1 (en) 2000-09-29 2005-08-09 Intel Corporation System and method for verifying the integrity of stored information within an electronic device
US7346841B2 (en) 2000-12-19 2008-03-18 Xerox Corporation Method and apparatus for collaborative annotation of a document
US7266765B2 (en) 2001-08-31 2007-09-04 Fuji Xerox Co., Ltd. Detection and processing of annotated anchors
US7747943B2 (en) 2001-09-07 2010-06-29 Microsoft Corporation Robust anchoring of annotations to content
GB2380277B (en) 2001-09-28 2005-12-14 Hewlett Packard Co A solid state memory device and a method of document reproduction
US7120299B2 (en) 2001-12-28 2006-10-10 Intel Corporation Recognizing commands written onto a medium
WO2003063067A1 (en) 2002-01-24 2003-07-31 Chatterbox Systems, Inc. Method and system for locating positions in printed texts and delivering multimedia information
WO2003071393A2 (en) * 2002-02-15 2003-08-28 Mathsoft Engineering And Education, Inc. Linguistic support for a regognizer of mathematical expressions
CA2375355A1 (en) * 2002-03-11 2003-09-11 Neo Systems Inc. Character recognition system and method
US7243301B2 (en) 2002-04-10 2007-07-10 Microsoft Corporation Common annotation framework
JP2004040246A (ja) 2002-06-28 2004-02-05 Canon Inc 情報処理装置、情報処理方法
US7360093B2 (en) 2002-07-22 2008-04-15 Xerox Corporation System and method for authentication of JPEG image data
US7024054B2 (en) 2002-09-27 2006-04-04 Eastman Kodak Company Method and system for generating a foreground mask for a composite image
US20040090439A1 (en) * 2002-11-07 2004-05-13 Holger Dillner Recognition and interpretation of graphical and diagrammatic representations
JP2004180278A (ja) 2002-11-15 2004-06-24 Canon Inc 情報処理装置、サーバ装置、電子データ管理システム、情報処理システム、情報処理方法、コンピュータプログラム及びコンピュータ読み取り可能な記憶媒体
US7486294B2 (en) * 2003-03-27 2009-02-03 Microsoft Corporation Vector graphics element-based model, application programming interface, and markup language
US7218783B2 (en) 2003-06-13 2007-05-15 Microsoft Corporation Digital ink annotation process and system for recognizing, anchoring and reflowing digital ink annotations
US7111230B2 (en) 2003-12-22 2006-09-19 Pitney Bowes Inc. System and method for annotating documents
US7475061B2 (en) 2004-01-15 2009-01-06 Microsoft Corporation Image-based document indexing and retrieval
US7729538B2 (en) 2004-08-26 2010-06-01 Microsoft Corporation Spatial recognition and grouping of text and graphics
US7574048B2 (en) 2004-09-03 2009-08-11 Microsoft Corporation Freeform digital ink annotation recognition
US7570816B2 (en) * 2005-03-31 2009-08-04 Microsoft Corporation Systems and methods for detecting text
US7526129B2 (en) * 2005-06-23 2009-04-28 Microsoft Corporation Lifting ink annotations from paper

Also Published As

Publication number Publication date
EP1630723A2 (en) 2006-03-01
US20060045337A1 (en) 2006-03-02
EP1630723A3 (en) 2007-02-07
US7729538B2 (en) 2010-06-01
JP2006073000A (ja) 2006-03-16

Similar Documents

Publication Publication Date Title
JP4745758B2 (ja) テキストおよびグラフィクスの空間認識およびグループ化
Ingle et al. A scalable handwritten text recognition system
US9064147B2 (en) Sketch recognition system
KR101087443B1 (ko) 디지털 잉크 스트로크 제공 방법
EP1971957B1 (en) Methods and apparatuses for extending dynamic handwriting recognition to recognize static handwritten and machine generated text
WO2007005937A2 (en) Grammatical parsing of document visual structures
WO1995034048A1 (en) Method and apparatus for automated text recognition
CN111626297A (zh) 文字书写质量评价方法、装置、电子设备和记录介质
WO2007070662A1 (en) Script recognition for ink notes
Shilman et al. Recognition and grouping of handwritten text in diagrams and equations
CN112069900A (zh) 基于卷积神经网络的票据文字识别方法及***
CN116958957A (zh) 多模态特征提取网络的训练方法及三维特征表示方法
Suresh et al. Telugu Optical Character Recognition Using Deep Learning
Wan et al. An interactive mathematical handwriting recognizer for the Pocket PC
Ogwok et al. Detecting, Contextualizing and Computing Basic Mathematical Equations from Noisy Images using Machine Learning
Lai et al. Pattern Recognition and Computer Vision: First Chinese Conference, PRCV 2018, Guangzhou, China, November 23-26, 2018, Proceedings, Part III
EP4086744B1 (en) Gesture stroke recognition in touch-based user interface input
Hamplová et al. Character Segmentation in the Development of Palmyrene Aramaic OCR
Aruleba Extracting finite automata from hand-drawn images
Alkholy Arabic optical character recognition using local invariant features
Korovai et al. Handwriting Enhancement: Recognition-Based and Recognition-Independent Approaches for On-device Online Handwritten Text Alignment
Shukla et al. A Review Mostly on Identification of Early Tamil Extracts Actors Through Historical Writing
Parvez DESC: Descriptors Extractor for Shape Contours
Suriyan et al. Recent Trends in Pattern Recognition: Challenges and Opportunities
Ouyang Understanding freehand diagrams: combining appearance and context for multi-domain sketch recognition

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080826

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100709

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101008

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110207

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110506

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110512

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140520

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees