(57)【要約】【課題】本発明は、空間関係を利用して、テキストおよび／またはグラフィクスを認識する体系的手段を提供する。【解決手段】これにより、スケッチされた形状をその象徴的意味で補強し、スマートエディティング、美化、視覚的言語の対話的シミュレーションを含む多数の機能を可能にする。空間認識方法は、グループ化と認識が同時に行われたスケッチされた形状から、考えうるグループ化の大きな空間について検索に基づく最適化を行う。最適化は、ストロークの集合にクラスラベルを割り当てる分類器を利用する。全体的なグループ化の最適化は、分類器が縮尺および回転不変であれば、最適化されるように分類器の特性を仮定する。本発明の例では、アダブーストのバリアントを利用して記号の認識／分類を容易にしている。本発明の別の例では、ダイナミックプログラミングおよび／またはＡ−スター検索を利用して、最適化を実行する。【選択図】図２
2006073000.tif 000002
【特許請求の範囲】
【請求項１】
認識を容易にするシステムであって、
少なくとも１つのエンティティを含む少なくとも１つの入力を受け取るコンポーネントと、
同時セグメンテーション・認識プロセスを利用して前記入力中の前記エンティティを認識する認識コンポーネントと、
を備えることを特徴とするシステム。
【請求項２】
請求項１に記載のシステムであって、前記入力は、Ｐ次元空間において存在する幾何学構造を含むことを特徴とするシステム。
【請求項３】
請求項２に記載のシステムであって、前記Ｐ次元空間は、１次元空間、２次元空間、および３次元空間からなるグループから選択される少なくとも１つを含むことを特徴とするシステム。
【請求項４】
請求項１に記載のシステムであって、前記認識コンポーネントは、ダイナミックプログラミングを用いて同時セグメンテーション・認識プロセスを容易にすることを特徴とするシステム。
【請求項５】
請求項１に記載のシステムであって、前記認識コンポーネントは、文脈情報を使って、同時セグメンテーション・認識プロセスを容易にすることを特徴とするシステム。
【請求項６】
請求項１に記載のシステムであって、前記認識コンポーネントは、ストローク特徴情報を利用して、同時セグメンテーション・認識プロセスを容易にすることを特徴とするシステム。
【請求項７】
請求項１に記載のシステムであって、前記エンティティは、テキストのエンティティとグラフィクスのエンティティとで構成されるグループから選択される少なくとも１つを含むことを特徴とするシステム。
【請求項８】
請求項１に記載のシステムであって、前記エンティティは、ストロークの集合および画素の集合からなるグループから選択される少なくとも１つを含むことを特徴とするシステム。
【請求項９】
請求項１に記載のシステムであって、前記入力は、時間における非線形シーケンスと空間における非線形シーケンスとで構成されるグループから選択される少なくとも１つを含むことを特徴とするシステム。
【請求項１０】
請求項１に記載のシステムであって、前記認識コンポーネントは、前記エンティティを認識するために、前記入力から得られる空間的キューを利用することを特徴とするシステム。
【請求項１１】
請求項１に記載のシステムであって、
入力からエンティティを特定するように前記認識コンポーネントを自動的にトレーニングするトレーニングコンポーネントをさらに備えることを特徴とするシステム。
【請求項１２】
請求項１１に記載のシステムであって、前記トレーニングコンポーネントは、機械学習を用いてセグメンテーションパラメータを解くことを特徴とするシステム。
【請求項１３】
請求項１に記載のシステムであって、前記エンティティは、等式に関する文字を含むことを特徴とするシステム。
【請求項１４】
請求項１３に記載のシステムであって、前記認識コンポーネントは、それが認識する前記文字に基づいて、前記等式の副次式を判断することを特徴とするシステム。
【請求項１５】
請求項１４に記載のシステムであって、前記認識コンポーネントは、前記判断された副次式に基づいて、前記等式を導き出すことを特徴とするシステム。
【請求項１６】
請求項１に記載のシステムであって、前記認識コンポーネントは、分類器を用いて、前記同時セグメンテーション・認識プロセスを容易にすることを特徴とするシステム。
【請求項１７】
請求項１６に記載のシステムであって、前記分類器は、不正確なセグメンテーションにペナルティを与える機能を学習する、トレーニング可能な分類器を含むことを特徴とするシステム。
【請求項１８】
請求項１に記載のシステムであって、
最適なセグメンテーションと認識を決定する最適化によって、前記セグメンテーション・認識プロセスを容易にする最適化コンポーネントをさらに備えることを特徴とするシステム。
【請求項１９】
請求項１８に記載のシステムであって、前記最適化は、コスト指向型検索方法を含むことを特徴とするシステム。
【請求項２０】
請求項１９に記載のシステムであって、前記コスト指向型検索方法は、Ａ−スター検索方法、最善優先検索方法、および分岐限定検索方法で構成されるグループから選択される少なくとも１つを含むことを特徴とするシステム。
【請求項２１】
請求項１８に記載のシステムであって、前記最適化は、ダイナミックプログラミングプロセスを利用する最適化を含むことを特徴とするシステム。
【請求項２２】
請求項１に記載のシステムであって、前記認識コンポーネントは、セグメンテーションにおける曖昧さを利用して認識を容易にすることを特徴とするシステム。
【請求項２３】
請求項１に記載のシステムであって、前記認識コンポーネントは、認識における曖昧さを利用してセグメンテーションを容易にすることを特徴とするシステム。
【請求項２４】
認識を容易にする方法であって、
少なくとも１つのＰ次元入力を受け取るステップと、
同時セグメンテーション・認識プロセスを使って前記入力中のエンティティを認識するステップと、
を備えることを特徴とする方法。
【請求項２５】
請求項２４に記載の方法であって、前記Ｐ次元入力は、１次元入力、２次元入力、および３次元入力で構成されるグループから選択される少なくとも１つを含むことを特徴とする方法。
【請求項２６】
請求項２４に記載の方法であって、前記入力は、テキストの入力とグラフィクスの入力とで構成されるグループから選択される少なくとも１つを含むことを特徴とする方法。
【請求項２７】
請求項２４に記載の方法であって、前記入力は、光学的に認識可能なマークの集合と画素の集合とで構成されるグループから選択される少なくとも１つを含むことを特徴とする方法。
【請求項２８】
請求項２４に記載の方法であって、前記入力は、時間の非線形シーケンスと空間の非線形シーケンスとで構成されるグループから選択される少なくとも１つを含むことを特徴とする方法。
【請求項２９】
請求項２４に記載の方法であって、前記同時セグメンテーション・認識プロセスは、縮尺および回転不変空間認識プロセスを含むことを特徴とする方法。
【請求項３０】
請求項２４に記載の方法であって、前記同時セグメンテーション・認識プロセスは、
前記入力のストロークを連結してグラフにし、接続された部分グラフを作成するステップと、
前記近傍グラフの前記接続された部分グラフに対して検索方法を適用し、最適な分解を判断するステップと、
前記最適な分解を分類器の使用によって認識するステップと、
を含むことを特徴とする方法。
【請求項３１】
請求項３０に記載の方法であって、前記分類器は、少なくとも部分的に、ストローク、ストロークの特徴および文脈に基づく分類器を含むことを特徴とする方法。
【請求項３２】
請求項３０に記載の方法であって、前記ストロークを連結して部分グラフを作成するステップは、
近傍グラフＧ＝（Ｖ，Ｅ）（ただし、頂点Ｖはストロークに対応し、辺Ｅはストローク間の隣接関係に対応する）を構成するステップと、
幾何学的関係に基づいて頂点を連結するステップと、
接続された部分集合Ｖi（ただし、｜Ｖi｜≦Κ、Κは部分グラフの大きさを限定する閾値）を列挙するステップと、
を含むことを特徴とする方法。
【請求項３３】
請求項３０に記載の方法であって、
部分グラフの文脈を判断するステップと、
前記接続された部分グラフの分類を容易にするために前記文脈を利用するステップと、
をさらに備えることを特徴とする方法。
【請求項３４】
請求項３０に記載の方法であって、前記同時セグメンテーション・認識プロセスは、
トレーニング例の集合から前記分類器および／または分類パラメータを自動的に学習するステップをさらに含むことを特徴とする方法。
【請求項３５】
請求項３０に記載の方法であって、前記検索方法はコスト指向型検索方法を含むことを特徴とする方法。
【請求項３６】
請求項３５に記載の方法であって、前記コスト指向型検索方法は、Ａ−スター検索方法、最善優先検索方法、分岐限定検索方法で構成されるグループから選択される少なくとも１つを含むことを特徴とする方法。
【請求項３７】
請求項３０に記載の方法であって、前記検索方法は、
コスト最適化関数を利用してセグメンテーションおよび認識を容易にし、式（１）
Ｃ（｛Ｖi｝）＝Φ（Ｒ（Ｖ1），Ｒ（Ｖ2），…，Ｒ（Ｖn））            （式１）
（ただし、Ｖiは入力の分解を形成する頂点の部分集合、Ｒは前記頂点の集合についての最良の認識結果、関数Φは組み合わせコスト、Ｃは特定のグループ｛Ｖi｝を表す）
に従って最適なグループ化およびラベリングを判断するステップを含む最適化方法を用いることを特徴とする方法。
【請求項３８】
請求項３０に記載の方法であって、前記ストロークの特徴は、ストロークの曲率、ストロークの向き、ストロークの少なくとも１つの終点で構成されるグループから選択される少なくとも１つを含むことを特徴とする方法。
【請求項３９】
請求項３０に記載の方法であって、
前記接続された部分グラフを所定の固定サイズに限定するステップをさらに含むことを特徴とする方法。
【請求項４０】
請求項３０に記載の方法であって、前記最適な部分グラフを認識するステップは、
機械学習に基づく分析器を利用して有効および無効な部分グラフを区別するステップをさらに含むことを特徴とする方法。
【請求項４１】
請求項４０に記載の方法であって、前記機械学習に基づく分析器は、アダブースト、ニューラルネットワーク、サポートベクトルマシン、ベイズ式分類法で構成されるグループから選択される少なくとも１つを含むことを特徴とする方法。
【請求項４２】
請求項４０に記載の方法であって、
限定された深さの決定木を利用して、アダブーストに基づく認識方法を容易にするステップをさらに備えることを特徴とする方法。
【請求項４３】
請求項３０に記載の方法であって、前記最適な分解を認識するステップは、
有効な部分グラフの各々について、分解とラベルの有効性を提供するステップをさらに含むことを特徴とする方法。
【請求項４４】
認識を容易にするシステムであって、
少なくとも部分的に、少なくとも１つのエンティティのＰ次元空間よりなる少なくとも１つの入力を受け取るための手段と、
同時セグメンテーション・認識プロセスを利用して、前記入力から前記エンティティを認識する手段と、
を備えることを特徴とする方法。
【請求項４５】
２つまたはそれ以上のコンピュータコンポーネント間で伝送され、認識を容易にするデータパケットであって、少なくとも部分的に、エンティティを認識する同時セグメンテーション・認識プロセスを少なくとも部分的に利用する空間認識システムに関する情報を含むことを特徴とするデータパケット。
【請求項４６】
請求項１に記載のシステムのコンピュータ実行可能なコンポーネントが記憶されたことを特徴とするコンピュータ読取可能媒体。
【請求項４７】
請求項２４に記載の方法を利用するデバイスであって、コンピュータ、サーバ、およびハンドヘルド電子デバイスで構成されるグループから選択される少なくとも１つを含むことを特徴とするデバイス。
【請求項４８】
請求項１に記載のシステムを利用するデバイスであって、コンピュータ、サーバ、およびハンドヘルド電子デバイスで構成されるグループから選択される少なくとも１つを含むことを特徴とするデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に認識に関し、より詳しくは、テキストおよび/またはグラフィクスをグループ化し、認識するシステムと方法に関する。
【背景技術】
【０００２】
コンピュータは、社会の中で切り離すことのできない部分となっている。毎日、人々は仕事とレジャーのいずれにおいても、行動を楽にするために、ますますコンピュータに依存している。コンピューティング技術の大きな欠点は、実際に機能する世界が「アナログ」であるのに対し、「デジタル」の性格を有することである。コンピュータか動作するデジタル領域では、情報を処理するために、個々の状態を識別しなければならない。簡単に言えば、普通、情報は、一連の「オン」状態と「オフ」状態（たとえば、バイナリコード）でコンピューティングシステムに入力しなければならない。しかしながら、人間は、出来事が絶対に黒か白のいずれかということはありえず、常にグレーの陰影の間にあるように見える、極めて「アナログ」な世界に生きている。このように、デジタルとアナログの中心的な区別は、デジタルが、時間によってはっきりと異なる個別の状態（たとえば、個別のレベル）を必要とするのに対し、アナログは時間の経過に沿って連続しているという点である。人間は当然アナログ流で動作するため、コンピューティング技術は、上記の時間的な相違によって生じる、人間とコンピュータとのインタフェースに伴う問題点を回避するよう進化している（たとえば、デジタルコンピューティングインタフェース）。
【０００３】
構成されたキーの集合は、最も初期の人と機械のインタフェースデバイスの１つであり、従来、タイプライタにおいて利用された。このインタフェースシステムは、機械的なキーと用紙と相互作用するのではなく、コンピューティングシステムに伝達される個別の状態をトリガするために相互作用するよう改造された。こうして、コンピュータの「キーボード」が開発され、人間は不慣れな技術に対し、既存の、慣れ親しんだインタフェースを利用することができた。これにより、コンピュータ時代への移行が容易になった。残念ながら、コンピュータを使いたいと思う人がすべてタイプの打ち方を知っているわけではなかった。そのため、コンピューティング技術を十分に利用できるコンピュータユーザの数は限定された。これに対する１つの解決策は、ユーザが、コンピュータにタスクを実行させるために、コンピュータモニタから絵を選ぶことのできるグラフィカルユーザインタフェースの導入であった。このように、コンピューティングシステムの制御は普通、「マウス」と呼ばれる指示選択デバイスで行われた。その結果、より多くの人々が、キーボードの使い方を学習することなく、コンピューティング技術を利用することが可能となった。この種のデバイスによってコンピューティング技術の使用は容易となったものの、長年使われてきた情報伝達方法、つまり手書きや描画にはまだ対応していなかった。
【０００４】
科学技術はまず、既存のタイプされた、または活字に組まれた情報のコンピュータへの入力を試みることに焦点を当てた。最初に、スキャナや光学的結像機を使って絵を「デジタル化」した（たとえば、画像をコンピュータシステムに入力した）。画像がデジタル化されてコンピューティングシステムの中に取り込まれれば、次は、印刷された、または活字に組まれた素材をデジタル化できるはずであった。しかしながら、走査されたページの画像は、コンピューティングシステムの中に取り込まれると、テキストや記号として扱われなくなってしまう。なぜなら、これがシステムによって「認識」されない、つまり、システムがそのページを理解しないからである。文字と単語は「絵」であり、実際には編集可能なテキストや記号ではない。テキストに関するこの限界を克服するために、走査技術を使ってテキストを編集可能なページとしてデジタル化する光学式文字認識（ＯＣＲ）技術が開発された。この技術は、ＯＣＲソフトウェアが走査された画像を編集可能なテキストに翻訳することが可能な特定のテキストフォントが使用されれば、ある程度、有効であった。当初、この技術の精度は約５０ないし６０％であったが、現在では９８ないし９９％近くあるいはそれ以上の精度まで改善されている。ＯＣＲ技術はさらに、テキストの文字を認識することだけでなく、パラグラフやページのフォーマット、およびフォントの特徴まで保持することを考慮できるレベルにまで進化した。
【０００５】
その後、ＯＣＲ技術は手書き文字の認識への使用を試みることが現実的に思えるような精度レベルに到達した。結局、手書き文字を直接コンピューティングシステムにデジタル化して取り込むことができるのであれば、なぜキーボードを使って手書き文字をテキストに置き換えるのか？この方法の問題点は、既存のＯＣＲ技術が、限定された、つまり有限な種類のフォントを線形的順序で（つまり、１行のテキストを）認識するよう調整されていたことである。そのため、ＯＣＲは、文字をすでに存在するフォントのデータベースと比較することによって「認識」できた。フォントが首尾一貫していないと、ＯＣＲ技術は見慣れない、あるいは「存在しない」文字を戻し、そのテキストを認識しなかったことを示す。手書き文字は、この問題の最たる例であることがわかった。人が文字を書くとき、その筆跡から各々の独自のスタイルが示される。この独自性のために、法的文書にはある人物を別の人物と区別できる署名が用いられるのである。このように、まさにこの性質により、手書き文字の形状は、同じ文字についてさえも無限である。明らかに、特定の文字に関し、想像しうるすべての手書き文字の形状を保存することは不可能であろう。そこで、手書き文字の認識を現実にするための他の手段が必要であった。
【０００６】
最も初期の手書き文字認識の試みの１つは、実際はまったく手書き文字ではない「手書き文字」にかかわるものであった。「ストローク」、つまり線のシステムを、「タブレット」、つまり記入面を介してコンピューティングシステムへの入力として使い、これがデジタル化されてコンピューティングシステムの中に翻訳されて取り込まれる。ストロークを印刷されたテキストの文字の非常に象徴的なものとするための試みがなされたが、コンピューティングシステムは実際に手書き文字を認識していなかった。実際、この方法は実は、使用されている機械またはシステムに人間を無理に適応させていた。さらに、本当の手書き文字を実際に認識する開発が進められた。ここでも、ある文字の想像しうるすべての変化形をあるデータベースの中の１つに符合させるためのシステムが必要であれば、処理のために膨大なリソースと時間が使われるであろう。そこで、郵便番号等、規模は大きいものの、少なくとも有限の、可能性のグループを持つ領域において、最初の進歩のいくつかが実現された。
【０００７】
科学技術の開発が続けられ、システムがユーザと正確かつ迅速に相互作用できるレベルに至った。これにより、多数のユーザに容易に適応できるシステムにますます焦点が当てられることになった。この種のシステムを実現する１つの方法では、「分類」システムが利用される。つまり、データを「正」か「誤」かに限定しようとする代わりに、データを分類の中の特定の「クラス」に属させるものである。その一例は、手書き文字が日によって若干異なるユーザである。これにより、従来のシステムは、何が書かれているか理解できないかもしれない。これは、システムが入力データについて黒か白かの評価を行おうとしているからである。しかしながら、分類に基づくシステムの場合、否定的な応答は、手書き文字のばらつきが大きすぎ、判読できない場合しか出されない。この種のシステムの欠点は、分類器を手作業でトレーニングし、その分類器の精度を高めなければならないことである。
【０００８】
【非特許文献１】１９９４年の「視覚的言語に関するＩＥＥＥシンポジウム」（ＶＬ’９４）におけるＭ．グロスのStretch-A-Sketch, A Dymanic Diagrammer
【非特許文献２】１９９５年５月にコロラド州デンバーで開催された’９５年度ＣＨＩ「コンピューティングシステムにおける人的要因」の会報４３−５０ページに掲載されているＪ．ランデイとＢ．マイヤーズのInteractive Sketching for the Early Stage of User Interface Design
【非特許文献３】２００１年ＨＣＩ国際会議会報に掲載されているＣ．アルバラードとＲ．デイヴィスのPreserving The Freedom Of Paper in A Computer-Based Sketch Tool
【非特許文献４】２００４年ＡＶＩの３５４−３５７ページに掲載されているＬ．カラとＴ．スタホヴィッチのSim-U-Sketch; A Sketch-Based Interface for Simulink
【非特許文献５】イギリスのケンブリッジで２００４年8月に開催された語ターン認識に関する国際会議でのＨ．シー(Hse)とＡ．ニュートンのSketched Symbol Recognition Using Zernike Moments
【非特許文献６】ＳＩＧＧＲＡＰＨ  ’９１，２５（４）の３２９−３３７ページに掲載されたＤ．ルービンのSpecifying Gestures by Example
【非特許文献７】２００４年７月の人工知能に関する第１９回全国会議（ＡＡＡＩ−０４）のＯ．ヴェセロヴァとＲ．デイヴィスのPerceptually Based Learning of Shape Descriptions for Sketch Recognition)
【非特許文献８】２００２年カリフォルニア州パロアルトにおける２００２年ＡＡＡＩスケッチの理解に関する春のシンポジウムにおけるＡＡＡＩ  Ｐｒｅｓｓ５１−５８ページに掲載されているＭ．Ｊ．フォンセカ(Fonseca)、Ｃ．ピメンテル、Ｊ．Ａ．ジョージのCALI: An Online Scribble Recognizer for Calligraphic Interfaces
【非特許文献９】パターン分析と機械知能に関するＩＥＥＥ報告書１２（８）（１９９０年）の７８７−８０８ページに掲載されているＣ．タッパート、Ｄ．スーエン、Ｔ．ワカハラのThe State of the Art in Online Handwriting Recognition
【非特許文献１０】２００１年９月にカナダのオンタリオ州キングストンで開催されたグラフィクス認識に関する第４回ＩＡＰＲ国際ワークショップにおけるＪ．マホニーとＪ．フロムヘルツのInterpreting Sloppy Stick Figures by Graph Rectification and Constraint-based Matching
【非特許文献１１】２００３年ＩＣＤＡＲの６０−６５ページに掲載されているＭ．シルマンＺ．ウェイ、Ｓ．ラグパシー、Ｐ．シマード、Ｄ．ジョーンズのDiscerning Structure from Freeform Handwritten Notes
【非特許文献１２】１９９７年８月に（フランスの）ナンシーで開催されたグラフィクス認識に関する第２回国際ワークショップ会報２４４−２５２ページに掲載されているＡ．シャブラのGraphic Symbol Recognition: An Overview
【非特許文献１３】２０００年パターン分析と機械知能に関するＩＥＥＥ報告書２２（１）の６３−８４ページに掲載されているＲ．プラモンドンとＳ．スリハリによるOn-Line and Off-Line Handwriting Recognition: A Comprehensive Survey
【非特許文献１４】１９９７年にＨ．バンクとＰ．ワングが編集したワールド・サイエンティフィックの５５７−５８２ページに掲載の、文字認識と文書画像分析ハンドブックにおけるＤ．ボルスタインとＡ．グルバヴェックのRecognition of Mathematical Notation; Handbook of Character Recognition and Document Image Analysis
【非特許文献１５】２０００年８月の国際ジャーナル、文書の分析と認識第３巻１号の３−１５ページに掲載されているＫ．チャンとＤ．ヤンのMathematical Expression Recognition
【非特許文献１６】１９９９年５月にマサチューセッツ州ケンブリッジで開催されたマサチューセッツ州科学技術協会のＮ．マツァキスによるRecognition of Handwritten Mathematical Expression
【非特許文献１７】１９９８年の人工知能に関する第１５回全国会議会報の７８４−７９１ページに掲載されているＥ．Ｇ．ミラーとＰ．Ａ．ヴィオラのAmbiguity and Constraint in Mathematical Expression Recognition
【非特許文献１８】１９９９年６月の’９９年グラフィクスインタフェースのＳ．スミシーズ、Ｋ．ノヴィンス、Ｊ．アルヴォのA Handwriting-Based Equation Editor
【非特許文献１９】１９９６年ＩＣＭＬの１４８−１５６ページに掲載されているＹ．フランドとＲ．シャピアのExperiments with a New Boosting Algorithm
【非特許文献２０】２００１年ＩＣＣＶの７４７ページに掲載されているＰ．ヴィオラとＭ．ジョーンズのRobust Real-Time Face Detection
【非特許文献２１】１９９４年１０月にエルサレムで開催されたＩＡＰＲ編集のパターン認識に関する国際会議会報４０９−４１３ページに掲載されているＹ．ベンジオとＹ．ルカンによるWord Normalization for On-line Handwritten Word Recognition
【非特許文献２２】１９９８年ＣＯＬＴの８０−９１ページに掲載されているＲ．シャピアとＹ．シンガのImproved Boosting Algorithms Using Confidence-Rated Predictions
【非特許文献２３】１９９５年のプレンティスホールにおけるＳ．ラッセルとＰ．ノルヴィグのArtificial Intelligence: A Modern Approach
【非特許文献２４】http://www.eecs.berkeley.edu/~hwawen/research/hhreco/index.html
【発明の開示】
【発明が解決しようとする課題】
【０００９】
自然な人間の入力を認識するシステムの大幅な改良にかかわらず、ユーザの入力を認識しやすくするために、ユーザは依然として何らかの種類の空間および／または時間の線形順序に従わなければならない。言い換えれば、ユーザはテキストの１行等のラインに追随するか、あるいは特定の時系列の中に方程式を描かなければならない。後になってユーザが図または方程式に注釈をつける、またはこれを修正することに決定した場合、このような従来のタイプのシステムは、入力を正しく認識できなくなる。このような限定により、従来のシステムはまた、入力が拡大縮小される、および／またはその向きが変えられる状態にも対処できない。また、システムは複雑である傾向があり、その性能を改善するための多大な努力を必要とする。
【課題を解決するための手段】
【００１０】
以下に、本発明のいくつかの態様の基本を理解できるよう、本発明を簡略的に要約する。この要約は、本発明の広範な概要ではない。また、本発明の主要な／重要な要素を特定し、または本発明の範囲をストローク定するものでもない。その唯一の目的は、本発明のいくつかのコンセプトを、後述の詳しい説明の序段として、簡単な形態で示すことである。
【００１１】
本発明は一般に認識、より詳しくはテキストおよび／またはグラフィクスをグループ化、認識するシステムと方法に関する。空間的関係を利用して、テキストおよび／またはグラフィクスを認識する体系的手段を提供し、たとえばコンピューティングエンティティにより、スケッチ（略記）された記号（アルファベットおよび／またはグラフィクス）のグループ化と認識を同時に行う。これにより、手書きによる形状をその象徴的な意味で増強することができ、スマートエディティング、美化、視覚的言語の対話的シミュレーションを含む多数の機能が可能となった。空間認識方法では、スケッチされた形状を同時にグループ化、認識することから考えうるグループ化の大きな空間に対して最適化が行われる。最適化は、クラスラベルを収集されたストロークに割り当てる分類器（classifier）を利用する。分類器が有効な形状を区別できることを条件として、全体的なグループ化の最適化は分類器の特性を推測する。たとえば、分類器が縮尺（スケール: scale）および回転不変である場合、最適化の結果も同様となる。本発明の実施例として、記号の認識／分類を容易にするためにアダブースト(AdaBoost)の変形を採用するものがある。本発明の実施例として、効率的な最適化のために、ダイナミックプログラミングおよび／またはＡ−スター(A-Star)検索を採用するものがある。このように、本発明はスケッチされた記号を認識し、グループ化するための統合的、正確かつ効率的な方法を提供する。これは、手でスケッチされた形状と印刷された手書きテキストのどちらにも、またこれらの異種混合体にも用いられる。
【００１２】
上記および関連する結果を実現するために、本発明の説明的態様のいくつかを、以下の説明と付属の図面に関して紹介する。しかしながら、これらの態様は、本発明の原理が利用される多種多様な方法の一部にすぎず、本発明はこれらすべての態様およびこれと同等のもののすべてを含むものである。本発明のその他の利点と新規な特徴は、図面と併せて考えれば、本発明の以下の詳しい説明から明らかとなるであろう。
【発明を実施するための最良の形態】
【００１３】
本発明を、図面を参照しながら説明するが、図面全体を通じて、同様の参照番号は同様の構成要素を指すのに使用されている。以下の記述において、説明のために、本発明を十分に理解できるように、多数の具体的な詳細事項が記載されている。しかしながら、本発明は、これらの具体的な詳細事項がなくても実現できることが明らかであろう。他の例において、周知の構造や装置は、本発明の説明を簡潔にするために、ブロック図として描かれている。
【００１４】
本願で使用される「コンポーネント」という用語は、ハードウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェアまたは実行中のソフトウェアのいずれかを問わず、コンピュータ関係のエンティティを指すものとする。たとえば、コンポーネントは、プロセッサ上で実行中のプロセス、プロセッサ、オブジェクト、実行ファイル、実行ファイルのスレッド、プログラムおよび／またはコンピュータとすることができるが、これらに限定されない。例として、サーバ上で実行中のアプリケーションとサーバはどちらもコンピュータコンポーネントである。１個または複数のコンポーネントがプロセスおよび／または実行ファイルのスレッド内にあってもよく、１個のコンポーネントが１台のコンピュータ上に設置され、および／または２台またはそれ以上のコンピュータ間で分散されていてもよい。「スレッド」とは、オペレーティングシステムのカーネルによってその実行スケジュールが立てられるプロセス内のエンティティである。当業界では周知のごとく、各スレッドには関係する「文脈」があり、この「文脈」はスレッドの実行にかかわる揮発性データである。スレッドの文脈には、システムレジスタのコンテンツやそのスレッドのプロセスに属する仮想アドレスが含まれる。したがって、スレッドの文脈を構成する実際のデータは、その実行とともに変化する。
【００１５】
本発明は、オンラインによる自由形式のインク表現における文字と記号をグループ化し、認識するシステムと方法を提供する。この手法は完全に空間的であり、つまり、ストロークに関する順序付けを求めない。また、形状や記号の相対的な配置も一切制約しない。まず、そのページ上の各ストロークが近似グラフの中で連結される。差別的な分類器（つまり、「認識器」）を使って、結び付けられた部分グラフを、既知の記号の１つを構成するもの、あるいはおそらくストロークの無効な組み合わせ（たとえば、２つの異なる記号のストロークを含む）として分類する。この分類器は、レンダリングされたストロークの画像を、曲率や終点といったストロークの特徴に重ね合わせる。非常に有効な画像の特徴の小さな部分集合が選択され、極めて高速な分類器が得られる。本発明の一例において、近似グラフの接続された部分集合に対してダイナミックプログラミングが用いられ、そのページ上の全ストロークの最適なグループ化と認識が同時に見出される。本発明のこの例は、トレーニング課程で得られた２５名の書き手による記号を含む試験データセットについて、９４％のグループ化／認識精度を達成できる。本発明の別の例では、Ａ−ｓｔａｒ検索アルゴリズムが近似グラフの接続された部分集合について利用され、そのページ上の全ストロークの最適なグループ化と認識が同時に見出される。本発明のこの例では、１９名の書き手による交差確認された形状データセットについて９７％のグループ化／認識精度が実現される。
【００１６】
スケッチされた形状の認識は、ペンによるユーザインタフェースに関する長年の問題である。スケッチされた形状をその象徴的意味で増強することにより、スマートエディティング、美化、視覚的言語の対話的シミュレーションを含む多数の機能が可能となる［一般に、非特許文献１〜４参照］。本発明は、スケッチされた記号を認識し、グループ化するための統合的、正確、効率的な方法を提供する。これは、手でスケッチされた形状と印刷された手書きテキスト、およびこれら２つの異種混合体のいずれにも適用される。
【００１７】
図１において、本発明の一態様による空間認識システム１００のブロック図が示されている。空間認識システム１００は、入力１０４を受信し、出力１０６を供給する空間認識コンポーネント１０２からなる。空間認識コンポーネント１０２は、入力１０４の中に認められるエンティティを同時に区分け（セグメント化）し、認識する。次に、認識されたエンティティが出力１０６として供給される。空間認識コンポーネント１０２は、ストロークの曲率、向き、終点等、エンティティの空間キューと特徴を利用して、プロセスを容易にする。これにより、本発明は、入力の中に見られるストロークに関する時間と空間について線形制約を設けることなく、認識を提供できる。ユーザが情報を入力する方法を制限することはしばしば非実現的である。間違いはしばしば発生し、ユーザは自分の書いたものに後になって戻り、変更を加え、書いたものの上下に変更の注釈をつける傾向がある。従来のシステムでは、この種の変更を扱うことができない。しかしながら、本発明にはこのような制限がない。
【００１８】
図２を参照すると、本発明の一態様による別の空間認識システム２００のブロック図が示されている。空間認識システム２００は、入力２０４を受け取り、出力２０６を発生する空間認識コンポーネント２０２からなる。空間認識コンポーネント２０２は、受信コンポーネント２０８、認識コンポーネント２１０、トレーニングコンポーネント２１２、最適化コンポーネント２１４からなる。受信コンポーネント２０８は、入力２０４および最適化コンポーネント２１４とインタフェースする。最適化コンポーネント２１４は、受信コンポーネント２０８、トレーニングコンポーネント２１２、認識コンポーネント２１０とインタフェースしている。トレーニングコンポーネント２１２は、入力内のエンティティの認識を容易にするために、認識コンポーネント２１０の中の認識器のための分類器をトレーニングする。トレーニングコンポーネント２１２は、従来のシステムのように、パラメータの手作業による入力を必要とせずに、トレーニングを自動的に提供する。最適化コンポーネント２１４は、１つの入力からのストロークを分解し、認識コンポーネント２１０によって認識されるようにし、その結果を最適化によって処理する。入力が利用できるときは、受信コンポーネント２０８が入力２０４を受け取り、これを最適化コンポーネント２１４に送信する。最適化コンポーネント２１４は入力２０４を処理し、認識コンポーネント２１０とインタフェースして、入力２０４に見られるエンティティを分類する。その後、認識されたエンティティは、出力２０６に供給される。当業者は、各種のコンポーネント２０８−２１４を統合して１つの認識コンポーネントにまとめ、および／または上述のものと異なる方法で各種の機能をコンポーネント２０８−２１４の間で分散させることができると推測できるであろう。
【００１９】
図３には、本発明の一態様による空間認識システム３００のさらに別のブロック図が示されている。空間認識システム２００は、受信コンポーネント３０４とインタフェースし、出力３０６を供給する認識コンポーネント３０２からなる。本発明のこの例において、認識コンポーネント３０２は、認識前コンポーネント３０８とアダブースト認識／分類コンポーネント３１０からなる。認識前コンポーネント３０８は、近傍グラフ生成器３１２、部分集合グループ化コンポーネント３１４、画像レンダリングコンポーネント３１６を備える。近傍グラフ生成器３１２は、受信コンポーネント３０４からの入力を受け取り、その入力に見られるストロークの近傍／近似グラフを作成する。当業者は、本発明では他の種類のグラフも同様に利用できると推測するであろう。次に、このグラフは部分集合グループ化コンポーネント３１４によって受け取られる。このコンポーネント３１４は、近似グラフを、後に詳述する基準に基づいて、部分集合／部分グラフに区分けする。次に、部分集合グループ化コンポーネント３１４は、１つの部分集合を画像レンダリングコンポーネント３１６に受け渡す。３１６は次に、アダブースト認識器／分類器３１０によって処理される部分集合のレンダリング画像を生成する。次に、認識器／分類器３１０はその部分集合を識別し、結果を出力３０６に供給する。本発明の一例であるこのシステムは簡略化されており、コスト関数その他を通じた部分集合の最適化に関するプロセスも、アダブースト認識器／分類器に供給される文脈情報や特徴情報の詳細も述べられていない。これらの詳細は後述する。
【００２０】
図４では、本発明のある実施形態による空間認識システムトレーニングプロセス４００のブロック図が示されている。図４は、本発明の一例に関するトレーニングプロセスの情報の流れを示している。この例において、部分グラフ決定４０４は、ストロークの集合４０２について実行される。部分グラフ決定４０４には、近似グラフを作成し、グラフを部分グラフに分割することが含まれる。ストロークの曲率の間の最低距離が距離閾値より小さいこと等の基準を使い、正しい部分グラフの決定が容易化される。所定の大きさ限度であるΚは、部分グラフの複雑さを限定するのに使用される。次に、決定された部分グラフが列挙される。列挙された部分グラフＶl４０６が処理され、最適な分解が判断される。最適な分解は部分グラフの集合であり、これらが１つにまとまるとグラフ全体となる。最適化は、認識コスト４０８と組み合わせコスト（コンビネーションコスト: combination cost）４１０等のパラメータを利用することができる。さらに、ダイナミックプログラミングを採用し、コストハッシュテーブル４１２を使うことによって処理を容易にすることができ、その結果、処理が効率化される。ダイナミックプロセシングはまた、１からΚまで反復処理を実行することにより、無効な部分グラフを排除するためにも使用できる。Ａ−スター検索も、最適部分グラフを選択するのに使用できる。これらの最適化方式についての詳細は後述する。次に、最適部分グラフがレンダリングされて「候補画像」となり、これが認識器４１８に受け渡される。選択情報も処理され、文脈４１４とストローク特徴４１６が形成される。候補画像で使用されるストロークに結び付けられるストロークを使って「文脈画像」が形成され、これが認識装置４１８に送られる。曲率、向き、終点といった候補画像のストロークの特徴を使って「ストローク特徴画像」が形成され、これも認識器４１８に供給される。追加の特徴画像も同様に構成し、認識器に送ることができる。このように、認識器は、入力として、候補画像と、その候補画像についての文脈およびストローク特徴画像を受け取る。
【００２１】
図５において、本発明の一態様による空間認識システムトレーニングプロセス５００の別のブロック図が示されている。図５は、図４において説明した画像が構成された後のトレーニングプロセスを説明するものである。認識器５０２は画像５０４を受け取り、これを処理して学習済みの分類器５１０を生成する。画像５０４を使い、スケール、方向、アスペクト比等の項目に関する領域の平均デルタを測定する線形関数、または「矩形フィルタ」を導き出す。次に分類器学習器５０８がこの矩形フィルタを使って、分類器の学習を容易にする。アダブーストと矩形フィルタの小さなセットを使い、分類器の学習を行う。このプロセスがＮ回反復され、Ｎ個の弱分類器（weak classifier）が生成され、これらは各々、矩形フィルタの集合に基づいている。このように、最終的な分類器５１０は、文脈、ストローク特徴、および候補画像から生成される弱分類器に基づく。本発明の別の例では、深さが１から３のブーストされた決定木（ブーステッド・デシジョン・ツリー: boosted decision tree）が使用される。
【００２２】
スケッチされた図を認識する問題は、２つの部分にわけられる。つまり、ストロークをいくつかの集合にグループ化する部分と、ある集合が何の記号を表すのかを認識する部分である。以前の研究により、さまざまな種類の機能と分類器を含む、多数の形状認識戦略が提案されている。一部の戦略は、尺度と回転の変化に対する不変性を強調している（非特許文献５参照）。他の戦略では、トレーニング例をほとんど必要としない［非特許文献６、４、７参照］。また別の戦略は、点線によるスケッチや重ね打ちにも対処できる（非特許文献８参照）。
【００２３】
また、インク文字のストロークを認識するためにグループ化する多くの方法もある。あるシステムは、ルービンのように、ユーザが一筆書きで形状を描かなければならないという制約を設けた上で設計されている。あるシステムは、タイムアウトを利用する。つまり、ユーザが所定の時間だけスケッチしないと、システムはストロークの最後の集合をグループ化して、認識される形状にする。あるシステムは、カラとスタホヴィッチのように、形状をグループ化するために、手で調整された経験則を利用する。多くの手書きシステムでは、ユーザは１つの形状を書き終えてから次の形状を書き始めなければならず、その後、ストロークのシーケンスについて最適化が行われ、何らかの経験則または統計的スコアが最大となるグループ化が発見され（非特許文献９参照）。
【００２４】
過去の研究において、マホニーとフロムヘルツ（非特許文献１０）は、経験則的に特定される制約を満足するストロークの部分グラフを使用するシステムを構成した。彼らは、その手法がストローク間の構造的関係によって定義されるスケッチについては有効であるが、ストロークの湾曲形状によって定義されるスケッチにはあまり適していないかもしれないと示唆している。
【００２５】
これらの従来のシステムにおいて、ユーザは、線に沿って、あるいは「入力領域」の中で、構成された方法で単語を書く。次に、認識システムがテキストの行全体を処理し、ストロークのグループを認識する。融通の利かない「入力領域」という要求事項が取り払われると、ユーザはしばしば、手書きのテキスト、図、注釈を含む、自由形式の手書きのメモを生成する。これらのメモには、ストロークをテキストの「行」にグループ化するために、重要な初期処理が必要となり、これを認識器に受け渡すことができる（たとえば、非特許文献１１参照）。グループ化プロセスは本来的に難しく、最もよいパフォーマンスは、多数の長い行が図や注釈とは物理的に分離されている単純なパラグラフ構造について達成される。連結された草書体の認識の複雑さを考えると、認識の前にグループ化が行われる２ステッププロセスが有利である。
【００２６】
しかしながら、ページのハイレベルレイアウトにほとんど制約を与えない多くのインク文字認識問題がある。その一例は、多くの幾何学的レイアウトと記号の種類を取り入れた数式の認識である。別の例は、化学構造、編集マーク、音符その他である。これらはペンコンピューティングにとって特に重要である。なぜなら、マウスとキーボードだけでは現在のところ困難な、素早く空間配置を表現するペンの柔軟性を利用しているからである。図６は、レイアウトが制約を受けない場合にペンが特に有益な入力装置である例６００を示し、（ａ）が数学６０２、（ｂ）が化学６０４、（ｃ）が文書の注釈６０６である。
【００２７】
したがって、たとえば、手書きのインク文字のページの記号のグループ化と認識をまとめて行うシステムの問題を考える。システムは、書き順を制限しない。なぜなら、事後に文字を修正するために、余分にストロークを加えることがよくあるからである。ページのレイアウトについて、厳しい条件を設けるべきではない。また、何千ストロークも含んでいるかもしれない自由形式のメモ等、インク文字の大きなページに拡大すべきである。
【００２８】
レイアウトとタイミングが問題とならない文字認識とグループ化は、簡単な問題ではない。記号認識は良く知られた問題であり、これに対して多くの方法が提案されてきた（非特許文献１２参照）。手書き文字認識の分野は、固定された空間的または時間的順番に対するグループ化と認識を最適化するための技術や、独立した文字を認識するための技術を無数に開発してきた［非特許文献１３および９参照］。その他のシステムとしては、数学的表現の処理に対応するものがある［非特許文献１４〜１８参照］。しかしながら、これらのシステムと異なり、ストロークの時間的順序付けが不要で、ページ上のストロークの線形構造が求められず、一部は別の記号として独立して解釈されうる複数のストロークを含む記号による原則的方法で扱うように問題を解決するソリューションが必要である。
【００２９】
このように、本発明は、ページ上の手書きの記号および／またはピクセル化された入力のグループ化と認識を同時に行うための、純粋に空間的なアプローチを提供する。本発明は、各グループ化が認識器によって評価される、考えうるグループ化の大きな空間について最適化を行う。これは、グループ化と認識が別のステップとして実行されるアプローチ（たとえば、個別レイアウト分析ステップを持つシステム）と対照的である。図７は、本発明の１つの例の概要７００を示し、（ａ）は複数のストロークを含むユーザのスケッチ７０２、（ｂ）はスケッチにおけるストロークの近傍グラフ７０４、（ｃ）は固定の大きさΚまでの近傍グラフの連結された部分集合７０６、（ｄ）はアダブースト認識器に受け渡される部分集合のレンダリングされた画像７０８、（ｅ）記号の仮定とスコアを含む認識器からの結果７１０、（ｆ）は合算すると認識器のスコアが最大になるような、グラフの最適化によるパーティション７１２である。図８は、本発明の別の態様の別の概要８００を示し、（ａ）は複数のストロークを含むユーザのスケッチ８０２、（ｂ）はスケッチのストロークの近傍グラフ８０４、（ｃ）は固定のサイズΚを上限とする近傍グラフの連結された部分集合８０６、（ｄ）はアダブースト分類器に受け渡される部分集合のレンダリング画像８０８、（ｅ）は記号の仮定とスコアを含む、分類器からの結果８１０、（ｆ）は合算すると分類器のスコアが最大となる、グラフの最適化によるパーティション８１２である。
【００３０】
本発明において、認識器は、適切なグループ化と不適切なグループ化を区別する作業を行い、また、正しいラベルを適切なグループ化に割り当てる。この種の認識器は、合理的時間内に、インク文字のページについて考えうるストロークのグループ化を多数処理するために、素早く評価を行うべきである。このような認識器によれば、その問題のくくり出しに対するいくつかの利点がある。システムの精度または性能を高めることは、単純に、認識器の精度または性能を高めることに対応する。システムに新しい特徴、たとえば回転または尺度不変性等を導入することは、認識器とレイアウト分析の両方を変化させるのではなく、単に認識器を変化させることである。おそらく、最も重要なのは、それによって本発明が、手で調整される経験則に頼るのではなく、例からほとんど完全に学習できることである。このように、本発明は一枚岩的なシステムであり、一端開発されれば、手で構成される幾何学的特徴は不要となる。すべての閾値やパラメータが、トレーニング用の一連の例から自動的に学習される。
【００３１】
本発明は、次のように動作する。前処理ステップとして、まず、ノードがストロークに対応する、インク文字の近傍グラフを作り、ストロークが相互に近接している場合、辺を追加する。このグラフにより、本発明は、ダイナミックプログラミングとノードの集合の高速ハッシングを使い、グラフにおけるノードの結び付けられた集合に対して効率的に繰り返す。サイズΚを上限とするノードの各集合に関し、その集合についての差別的な認識が実行される。これによって非ローカル情報を取り入れることが可能となり、生成的なモデルから生じるかもしれない偽の回答を容易に除外できるようになる。ダイナミックプログラミングは、考えられる説明の空間に対する最適化を行うために使用される。結果として得られるシステムは、言語モデルがなくても、高い精度を実現し、ユーザにストロークの順序に対する条件を課さず、記号をページ上にレイアウトする方法に関する制約も設けない。
【００３２】
形状認識とグループ化は、本発明では最適化の問題として対処している。言い換えれば、ページ上のストロークの考えられるすべてのグループ化の空間において、コスト関数に応じた最良のグループ化とラベリングがある。インク文字のページの場合は、そのグローバルコストを最小限にすることが好ましい。グループ化とラベリングのコストは、その構成要素の各々の関数となる。
Ｃ（｛Ｖi｝）＝Φ（Ｒ（Ｖ1），Ｒ（Ｖ2），…，Ｒ（Ｖn））（式１）
式１において、Ｖiの各々はページの区画を形成する頂点の部分集合（ストロークと頂点という用語は相互交換的に使用される）、Ｒはその頂点集合に関する最良の認識結果、関数Φは組み合わせコスト（総和、最大値または平均等）、Ｃは特定のグループ化｛Ｖi｝の全体的コストを示す。この最適化を効率的に実行するために、有効な集合Ｖi（グラフの反復）、効率的かつ正確な記号認識器Ｒ（認識コスト）、２つの部分グラフのコストを組み合わせるコスト関数Φ（組み合わせコスト）、そして計算を再利用する方法（ダイナミックプログラミング）があることが望ましい。
【００３３】
もちろん、考えられるグループ化の数は、頂点の数の組み合わせであるため、すべての組み合わせを算出することは、あまりにもコストがかかりすぎる。したがって、考えられるグループ化を次のように制限する。
１．近傍グラフを作成し（図７（ｂ）７０４、図８（ｂ）８０４）、ページ上で相互に近い頂点を結び付ける。グループ化Ｖiは、その頂点が近傍グラフにおいて結び付けられている場合のみ有効である。
２．グラフ内の各部分集合Ｖiの大きさは、定数Κより小さいと制約されている（図７（ｃ）７０６、図８（ｃ）８０６）。たとえば、データ内のストロークが８より大きい記号は一般的には見当たらないため、部分集合の大きさに上限を設けることは合理的であるといえる。
これらの制限を設けた上で、２つの最適化方法を使って、最良のソリューションを得るための努力がなされた。第一の最適化方法は、ダイナミックプログラミングを用い、第二の最適化方法はさらに、「Ａ−スター検索」に基づく改良を利用している。
【００３４】
考えられるグループ化の集合を制限するために、グループ化は、そのグループの中のストロークが相互に非常に近い場合のみ有効である。このように、インク文字のページから、近傍グラフＧ＝（Ｖ，Ｅ）が構成され、その中では、図７（ｂ）７０４に示されるように、頂点Ｖはストロークに対応し、辺Ｅはストローク間の隣接関係に対応する。
【００３５】
本発明の１つの例において、頂点が隣接しているとは、そのストロークの凸包（コンベックスハル: convex hull）の間の最低距離が閾値より小さい場合である。しかしながら、合理的な近接性測定は、近傍グラフが同じ記号のストローク間の辺を含んでいるかぎり、同様の認識結果を生むと予想される。たとえば、幾何学的関係は、最近傍と隠蔽された近傍その他を含むことができる。この近傍グラフにより、ＶにおけるノードＶiの連結された全部分集合（ただし、｜Ｖi｜≦Κ）が列挙される。各部分集合Ｖiは、認識器にとっての記号候補となる。
【００３６】
一般に、部分集合を複製することなく、サイズΚを上限として、部分集合を列挙するための効率的な方法はない。本発明は、最初にサイズ「１」のすべての部分集合を列挙することによって反復する。次に、各部分集合はその水平のすべての辺によって拡大され、重複を排除し、再び拡大し、これをサイズΚになるまで繰り返す。これにより、各ラウンドを通じて、重複の伝播が排除される。図７（ｂ）７０４のグラフについて生成される部分集合Ｖiは、｛１｝，｛２｝，｛３｝，｛４｝，｛１，２｝，｛２，３｝，｛２，４｝，｛３，４｝，｛１，２，３｝，｛１，２，４｝，｛２，３，４｝，｛１，２，３，４｝である。
【００３７】
図９において、認識器への入力の集合９００が示されており、（ａ）は認識器に候補として受け渡される完全な記号（太字）９０２、（ｂ）は認識器に候補として受け渡されるオーバーグループされた(overgrouped)「不要データ（ガーベッジ: garbage）」（太字、後述）９０４、（ｃ）は文脈を含まずに認識内に受け渡されるときのバックスラッシュのついた曖昧な不要データ（太字）９０６、（ｄ）は（ｃ）のストローク（太字）を明確な不要データにする近傍文脈（点線）９０８である。最適化プロセスの第二の実装の詳細は、認識コストＲであり、その詳細は後述する。単純な要求事項は、Ｒが記号に対応するグラフＶiの部分集合（図９（ａ）９０２等）について比較的低いコストを戻すべき、という点である。同様に、Ｒは、記号に対応しないグラフの部分集合（図９（ｂ）９０４，（ｃ）９０６，（ｄ）９０８等）については比較的高いコストを戻すべきである。
【００３８】
一般に、これは非常に実現が困難である。認識器に受け渡される部分集合の多くは無効であり、複数の文字からのストロークを含む、あるいは複数のストロークからなる記号のストロークのすべてを含んでいない場合がある。このような部分グラフは、「不要データ（garbage）」と呼ばれる。不要データの一部は、トレーニング集合ではどのような記号にも見えないものの、無効例の中には、文脈を使用しなければ、トレーニングサンプルと区別がつかないものがある。たとえば、文字Ｘの１つのストロークは簡単にバックスラッシュとして孤立したものと解釈される可能性がある（図９（ｃ）９０６）。したがって、本発明はまた、文脈Ｘ（Ｖi，Ｅ）を認識器に供給し、それを不要データとの識別に役立てる。文脈は、Ｅの中でＶiに接続されたＶ−Ｖiのノードの集合と定義され、その一例が図９（ｄ）９０８である。
【００３９】
最適化の第三の実装の詳細は、組み合わせコスト、Φ（ｃ1，ｃ2）である。組み合わせコストは、グラフの２つの部分集合のコストの関数である。複数の代替的コストが検討される。
・総和（Ｓｕｍ）：Φ（ｃ1，ｃ2）＝ｃ1＋ｃ2＋ε。コストの総和は、直感的にわかる。つまり、コストが負対数尤度であると、総和は可能性の積に対応する。εペナルティは、オーバーグループ化またはアンダーグループ化（under grouping）を制御するのに使用できる（εの数値を高くすると、強制的に、より少ない記号にグループ化される）。
・最大（Ｍａｘ）：Φ（ｃ1，ｃ2）＝Ｍａｘ（ｃ1，ｃ2）。この関数は、その集合の中の最悪の仮定にペナルティを与える。
・平均（Ａｖｅｒａｇｅ）：Φ（ｃ1，ｃ2）＝（ｃ1＋ωｃ2）／（１＋ω）。この関数は、仮定の中のすべての記号を通じて、スコアを平均する。ωは、Ｖ−Ｖiに対する最良の解釈における記号の数に対応する重みである。
【００４０】
最後に、本発明が最適化する関数は、グラフをＲ（Ｖi）とＣ（Ｖ−Ｖi）の組み合わせにきれいに分割するため、ダイナミックプログラミングを使って、冗長な計算を避けることができる。言い換えれば、近傍グラフの中のストロークの部分集合についてＣがすでに計算されていれば、その結果をハッシュテーブルの中で参照することにより、再利用することができる。本発明は、ストロークのＩＤをＸＯＲすることにより、ストロークの集合を細かくする。上記のダイナミックプログラミングシステムで使用される認識器／分類器は、アダブーストの新規な応用に基づく（非特許文献１９参照）。
【００４１】
使用される基本的なフレームワークは、ヴィオラとジョーンズの研究に非常に近く（非特許文献２０参照)、彼らは単純で効率的な特徴のブーストされた集団を利用するリアルタイム顔面検出システムを考案した。この手法は、それが高速であり、追加の特徴情報を含めるよう拡張可能であることの両方の理由で選択された。ヴィオラ・ジョーンズ法は、本発明により、２通りの方法で一般化された。第一に、分類の問題がマルチクラスであること。第二は、追加入力される特徴が画像マップにすでに追加されていること、である。これらの追加の特徴は、オンラインのストローク情報から直接計算されるもので、曲率、向き、終点情報を含む。この情報は、画像から直接計算可能だが、現在のところ、オンラインシステムからしか入手できない。
【００４２】
認識システムへの入力は、画像の集合である。２つの主要画像は、候補画像と文脈画像である。現在の候補部分グラフは、２９×２９画素の画像にレンダリングされる。ストロークの幾何学を正規化し、これらが画像の１８×１８画素の領域の中に入るようにする。ストロークは、アンチエイリアス処理で白地に黒にレンダリングされる。文脈画像は、近似グラフ内の候補ストロークに接続されたストロークからレンダリングされる。
【００４３】
主要画像の各々は、追加のストローク特徴画像で強化される。これは、ＡＭＡＰに関する初期の研究に良く似ている（非特許文献２１参照）。第一の追加画像は、各ストロークに沿った各地点での曲率を記録する。接線間の角度は、ストロークの方向に応じて符号が付与された数量であり、望ましくない。この角度の絶対値が、方向に不変な曲率情報を提供する。
【００４４】
２つの追加の特徴画像は、ストロークの向きを測定する。向きは、画像処理において難しい問題である。なぜなら、これは当然、円の上に埋もれている（そして、したがって２πは０と等しい）からである。向きは、ストロークに対する法線ベクトル（垂直ベクトル）で表される（これは、曲率を測定するときと同じ近傍地点から測定する）。法線の２つの成分は、２つの画像、ｎｏｒｍａｌＸ画像とｎｏｒｍａｌＹ画像として表される（慣例により、法線は前の接線との正の積を有する）。
【００４５】
最後の追加特徴画像は、ストローク全体ではなく、ストロークの終点だけを含む。この方法は、インクの共有部分が多いが、始点と終点が異なり、あるいはストローク数が異なる２つの文字（たとえば「８」と「３」）を区別するのに有益である。図１０は、このプロセス１０００を説明する。各行の左端の画像１００２は、２９×２９画素でレンダリングされた候補画像と文脈画像である。各行の残りは、これらの主要画像から計算された各種の特徴画像を示す。左から右へ、ストロークの曲率１００４、ストロークのｎｏｒｍａｌＸ  １００６、ストロークのｎｏｒｍａｌＹ  １００８、終点１０１０である。
【００４６】
単純な線形関数の非常に大きな集合が、先に定義された入力画像から算出される。この線形関数の形状は、ヴィオラとジョーンズによって提案されており、彼らはこれを「矩形フィルタ」と呼ぶ。それぞれ、どの縮尺においても極めて迅速に評価できる。図１１において、矩形フィルタ１１００の例が、囲まれた分類窓に関して示されている。白い矩形の中にある画素の総和が、グレーの矩形の中にある画素の総和から差し引かれる。２つの長方形を含む矩形フィルタが、（Ａ）１１０２と（Ｂ）１１０４に示されている。フィルタは、各種の縮尺、向き、アスペクト比での領域平均の差を測定する。このように特徴の形式が固定されているのは、各々が６回またはそれ以下の加算／乗算で、極めて迅速に算出できるという事実から生じている。
【００４７】
たとえば、１つまたは複数の矩形フィルタの集合は、組み合わせて構成することができる。そして、サイズ、アスペクト比、ロケーションが異なるフィルタの集合が生成される。この集合がすべてではなく、フィルタ間の重複を最小限にするよう努力が払われ、その結果、５２８０個のフィルタが生成された。このような大きな集合は、当初の２９×２９の画像を再構成するためには８４１個のリニアフィルタしか必要ないことから、明らかに過剰である。それでも、このように十分すぎるベースは学習には非常に有益である。各フィルタは、１０個の特徴画像について評価でき、各トレーニング例について５２，８００のフィルタ値の集合が得られる。重要な部分集合選択プロセスを利用することにより、性能が改善される。
【００４８】
上記は、トレーニングデータの処理パイプラインを説明している。つまり、候補と文脈のレンダリングプロセス、追加の特徴画像の集合、そして矩形フィルタの集合である。しかしながら、機械学習の問題は、このデータについて、候補となるストロークの正しい記号、あるいはそのストロークの集合が不要データであることを正しく判断する分類器を生成することである。そこで、アダブーストを用い、矩形フィルタの小さな集合を選択し、これらを組み合わせる分類器を学習する。当業者は、本発明では、たとえば、ニューラルネットワーク、サポートベクトルマシン、ベイズ式分類法等、他の機械学習技術も利用できると推測できるであろう。
【００４９】
「弱学習器」は、単独の矩形フィルタを計算し、閾値を適用する分類器であると仮定する（これは、デシジョンスタンプ(decision stump)として知られるタイプの決定木である）。ブーストの各ラウンドにおいて、１つの最良のスタンプが選択され、次に例の重み付けが再び行われる。シャピアとシンガが提案する信頼格付けブースティング(confidence rated boosting)アルゴリズムのマルチクラス型（非特許文献２２参照）が利用される。
【００５０】
Ｎラウンドの後、最終的な分類器はN個の弱分類器を含む。弱分類器の各々は１つのフィルタのみに依存しているため、Ｎ個のフィルタだけ評価すればよい。優れたパフォーマンスは、約７５から２００個のフィルタの間で実現する。２５人の書き手の集団による３，８００個の例からなるトレーニング集合について、１６５個の弱分類器で観察されたトレーニングエラーは０であった。別の２５人の書き手の集団による３，８００の例の試験集合では、文字の９６％が正しく分類された。
【００５１】
本発明のこの例を評価するために、自動的に生成される数学的表現のコーパスについての試験を実行した。１クラス５個の例で、５０名のユーザによる手書きの文字、数字、および数学的演算子の適度な集合が収集された。図１２のプロセスの概要１２００において、収集された真のデータ１２０２は、レンダリングされて（１２０４）、２つの数学的表現、１２０６，１２０８となり、これがそれぞれ、トレーニングおよび試験データとなる。これらの例から、生成文法で数字と演算子を含む短い表現が合成された。生成された表現は、グループ化の問題をより興味深いものとするために、意図的に高密度とされている。また、試験例の各々は水平方向であるが、本発明の技術はレイアウトに関係なく適用されることは注目に値する。このテクニックは、より興味深いレイアウトを持つ例に手作業で適用され、現実において有効であることがわかっているが、試験データはこの条件を反映していない。
【００５２】
生成された表現は、トレーニングと試験データに分けられ、２５名のユーザのデータがトレーニング集合を構成し、他の２５名のユーザが試験集合を構成した。この分割により、試験が異なる母集団を通じて認識器を一般化することを確実にする。上記のシステムが、後述するように、３種類の組み合わせコスト関数、総和、最大、平均での試験データに適用された。総和については、εの数値を変え、全体的精度に対するその効果を確認した。これらのすべての手法について、記号の総数が試験データの中で測定され、その結果の中から偽陽性と偽陰性の総数が測定された。偽陰性は、試験データの中に特定の記号ラベルを持ったストロークのグループがあり、的確なグループ／ラベルが試験データの中にない場合に起きる。偽陽性はその逆である。本発明のこの例において、結果は平均の組み合わせコストのグループ化と認識について９４％の精度を実現した。すべての結果を表１に示す。
【００５３】
【表１】
2006073000.tif 000003
【００５４】
このように、本発明は、オンラインによる自由形式のインク文字の統合的なグループ化と認識システムを提供する。グループ化はそのようなタスクにおける認識のための要求事項である。なぜなら、各記号に多数のストロークが含まれることがあるからである。場合により、交差するストロークをグループ化する単純な経験則が有効である。「＝」（イコール）または「π」（パイ）等、複数のストロークでなる記号の領域において、これらの経験則は当てはまらない。反対に、異なる文字のストロークが相互に非常に近い、あるいは相互に交差することは稀である。
【００５５】
この統合的システムはまず、相互に十分に近いストロークのペアを連結させる近似グラフを作成する。次に、システムはすべての考えられる接続された部分グラフを列挙し、有効な文字を表すものを見つける。近似性の概念は、同じ記号のストロークが常に接続されるように定義される。この近似性の定義では、隣接する記号のストロークも同様に必然的に連結される。このように接続された部分グラフは、有効な記号としては解釈されず、不要データとして無視される。不要データの部分グラフは、記号がアンダーグループされる場合のみ発生する。たとえば、複数のストロークでなる文字のストロークのうちの１つだけで含められる。アダブーストに基づく高速認識器は、無効なストロークの部分グラフを含む、不要データと呼ばれる固有のクラスを含め、すべての記号クラスを認識するようトレーニングされる。アンダーグループの問題に対処するために、認識器は、現在の候補のストロークと周辺のストロークの文脈の両方について動作する。
【００５６】
ダイナミックプログラミングは、当初の近似グラフを、各々有効な記号として解釈することのできる、接続された部分グラフに最低コストで分解する方法を検索するために使用される。あらゆる考えうる接続された部分グラフの集合は、１度に１個のノードの部分グラフを作成し、効率的に重複を除去する増分的ハッシングスキームを使って列挙される。認識器は、２５名の書き手による記号についてトレーニングされる。このシステムを用いた本発明の例では、トレーニング中に使用されなかった別の２５名のユーザによる試験データについて、グループ化と認識の同時実行が９４％の割合で達成された。
【００５７】
本発明の上記の例を使って、数式と図における手書き文字の認識とグループ化を行うことができる。本発明の別の例は、本発明の上記の例を、フローチャートやテキストとグラフィクスの混合に拡張される。本発明のこの例について、より強力な分類スキームと最適なグループ化を発見するための改良された検索戦略が用いられる。
【００５８】
一般的な検索の問題は、各々の状態がコストを有する状態空間、異なる状態間を移行する演算子、ある状態が目標となる状態か否かを確認するための試験として定義することができる。Ａ−スターは、各状態から目標までの経験則による過小評価(heuristic underestimate)を利用して、状態空間のうち、最適なソリューションを導く可能性のない部分を排除する検索技術である（非特許文献２３参照）。予想の質は検索の効率に影響を与える。弱い過小評価は、ゆっくりとした検索を導き、本当の過小評価とはいえない積極的な過小評価では、次善最適なソリューション（認められない(inadmissible)経験則とも呼ばれる）が得られる。図１３において、Ａ−スター検索１３００の例が示されており、（ａ）は各状態の仮定を示す検索例１３０２、（ｂ）は誤った「最善の」ソリューションを導き出す小さな例の検索を視覚化したもの１３０４である。ただし、この例において、検索は真のソリューションが得られるまで続けられる。
【００５９】
検索空間は、ストロークの空間的グループ化の集合である。図１４は、分類器への入力１４００を示す。候補のストローク（正方形）１４０２はダークグレーで示され、その文脈のストロークはライトグレー１４０４で示されている。候補１４０２と文脈１４０４はどちらも、２９×２９の画像にレンダリングされる。第一の画像１４０６は当初のインク文字を示し、その他の画像１４０８，１４１０は、終点、曲率、自己交差（self-intersections）等、ストロークの特徴を表している。当初の状態は、サイズΚを上限とするストロークの個々のグループのすべてである。ストロークの各グループは他のグループと結合し総和的な空間グループ化を形成することができる。ただし、２つのグループが共通のストロークを持たないことを条件とする。このような結合は、検索の演算子である。最後に、状態は、それがページ上のすべてのストロークを説明していれば、目標の状態である。
【００６０】
式１と本発明の第一の例のように、グループ化のコストは、そのサブグループの組み合わせコストである。部分的なグループから目的を過小評価することは、そのグループ化によって説明されていないストロークの親に関する最良の説明に対応する。特に、空間的グループ化が図の最初のＮ個のストロークを説明していると、説明されていない各ストロークの過小評価コストは、Ｒ（Ｖ*）／｜Ｖ*｜（ただし、Ｖ*は、そのストロークを説明する最良の部分的説明）である（この部分的説明は、複数のストロークを説明しているかもしれないため、コストをストローク間で分割することに留意されたい）。これは、最善の場合、これらの最善の解釈がすべて採用されるため、本当の過小評価である。解釈のいくつかが矛盾するかもしれず、その場合はすべてが採用されないため、本当の予想ではない。
【００６１】
上記の最適化に用いられる認識器は、アダブーストの新しい応用に基づくものである。分類器への主要な入力は、ストロークのレンダリングされた画像であり、仮定による形状を持つ。ストロークのセグメンテーションは現在は不明であるため、分類器に受け渡されるストロークはまったく形状を成していない場合がある（つまり、不要データである）。
【００６２】
分類器に送られる観察事項は、画像の矩形の領域における画素値の総和である。一般に、すべての考えられる長方形が、すべての考えられる場所で２９×２９の画像で生成されるとはかぎらないが、１画像につき５２８０個の長方形が生成されることもあった。たとえば、入力画像が１２個あるため、分類器はトレーニング例１個につき６３，３６０個の観察事項を受け取る。そのトレーニング過程で、分類器は自動的に、これら観察事項のうちどれが分類の問題に関係があるかを判断し、実際に行われるべきこれらの観察事項の小さな部分集合を選択する。このプロセスのメカニズムは、非特許文献２２において説明されている。
【００６３】
本発明のこの例はまた、さらに学習フレームワークを拡張し、ブーストされた決定木も含まれるようになった。本発明の他の例において、「スタンプ」つまり１つの決定木の深さがブーストされる。言い換えれば、ブーストされた分類器は１つの閾値（つまり、「深さ１」の決定木）に関してすでに判断しているが、本発明の他の例では、ブーストされた分類器は、別の矩形の閾値の小さな連結に関して判断する。
【００６４】
クラスの数が小さいと、スタンプは良好な結果を導くが、多くの類似した記号／文字に関する問題についてはあまり効果がない。本発明の１つの例において、「深さ３」の決定木が使用される。これらのより一般的な決定木はより強力な分類器であり、特徴間の複雑な依存をモデル化することができる。決定木の利用に伴う主なリスクは、それがトレーニングデータにオーバーフィット(overfit)するかもしれない点である。しかしながら、木の深さを約３に限定することにより、オーバーフィットする傾向は見られなくなった。
【００６５】
本発明のこの例は、一般に入手可能なＨＨＲｅｃｏ
（費特許文献２４から入手可能）のスケッチ形状データベース（非特許文献５参照）を利用して評価され、これには、１９人の異なるユーザから収集された、１３の形状クラスについての７，７９１個の複数のストロークからなる例が含まれる。図１５は、このような試験例１５００を示しており、（ａ）はランダムに生成された形状の集合１５０２、（ｂ）は実際のユーザから収集された形状、矢印、文字で構成される合成フローチャート１５０４である。その近傍グラフを重ね合わせ、問題の大きさを説明している。形状がランダムなパターンになるよう相互の近辺に配置される、ランダム生成形状シーンで（図１５（ａ）１５０２）、本発明の例は、同時のグループ化と認識については９７％の精度、グループ化だけの場合は９９％を超える精度を実現した（トレーニング／試験が８０／２０に分割された）。
【００６６】
本発明については、より複雑なランダム合成フローチャートの集合についても評価した。各フローチャートは、形状｛正方形、楕円、ダイヤモンド、六角形、五角形｝、コネクタ｛⇔、→、−｝、数字｛０−９｝で生成し、４つのノードをランダムに、重複しないロケーションで合成し、その間にランダムにサンプリングした辺を設け、各ノードには４桁の数字を含めた（図１５（ｂ）１５０４）。この例について、本発明の例は８５％のグループ化／認識精度、９０％のグループ化精度を達成した。
【００６７】
結果を以下の表２に示す。この結果は、小さな深さのブーストされた決定木が、少ないクラスのスケッチ認識問題のためのスタンプとほぼ同等であることを示している。しかしながら、クラスの数が増えると、決定木はスタンプに対して若干の改善を見せる。これらの結果はまた、数字の認識が形状の認識より実質的に困難であることを示しており、数字のないフローチャートに関するエラー率は、数字のあるフローチャートよりはるかに低かった。さらに、数字のあるフローチャートにおいて発生するエラーは、ほとんどが数字に関するエラーであった。
【００６８】
【表２】
2006073000.tif 000004
【００６９】
本発明の例は、図１５（ａ）１５０２に示されるようなファイルを、１．７ＧＨｚのタブレットＰＣにより約０．１秒で処理できる。図１５（ｂ）１５０４のような、より大きな例は現在、処理に約８秒かかる。時間のほぼ９０％が、例をビットマップ（図８（ｄ）８０８）にレンダリングすることに費やされるが、これは、ファイル内の記号より、記号の候補が１桁多いからである。
【００７０】
この例にはいくつかの限界があった。形状の実験と同様に、トレーニングと試験の両方のデータが合成された。しかしながら、ＨＨＲｅｃｏの形状データは、別のユーザから収集された矢印と数字を使って利用され、合成された。試験およびトレーニングのユーザは分離したままとし、本発明が一般化され、形状の書き手と数字／矢印の書き手と１対１で対応することができることを示した。
【００７１】
本発明は、効率的で正確であり、しかも空間情報だけに依存し、完全に例に基づく、スケッチされた形状のグループ化および認識の方法を提供する。本発明は、スケッチされた形状、矢印および印刷された手書きの文字に等しく適用される。本発明はまた、スケッチ認識とスケッチベースのユーザインタフェース分野全般にも適用される。これは、形状、記号、矢印その他について高い精度を実現し、これらの記号の順番や特定のページレイアウトの点でユーザにいかなる制約も与えない認識器を提供する。このような認識器が市販されることにより、スケッチベースのユーザインタフェースのデザイナは、どの記号を含めるか、あるいはユーザがこれらの記号をどのように入力すべきかについて、妥協する必要がなくなり、その代わりに、問題、適当な修正用ユーザインタフェースその他について適正な記号セットを定義することに集中できる。
【００７２】
本発明は完全に機械学習に基づいており、手で調整される経験則を必要としないため、最初に数学、次にフローチャートに応用された本発明の例で説明したように、異なる領域に目標を容易に移すことができる。認識の観点からは、本発明は非常にわずかなパラメータ、各文字の最大ストローク数（たとえば、６）、と近傍グラフを構成するための近似閾値にしか依存しない。さらに、本発明はその回答に関する簡潔なコスト関数にのみ依存しているため、コスト関数と基本となる認識器を改善することにより、アルゴリズムの別の部分を変更する必要なく、精度を高めることができる。
【００７３】
さらに、本発明は入力されたストロークを容易に解釈することができる。したがって、本発明は、入力エンティティが完全か否かを判断するために使用され、完全でなければ、エンティティを完全なものとすることができる。たとえば、特定の化学的表記が不完全であれば、本発明は化合物のデータベースから情報を読み出し、その入力エンティティが何を表すのかについて「最善の推測」を行うことができる。同様に、入力が一連の等式である場合、本発明は認識された文字に基づいて、式と副次式の判断を促進することができる。本発明は、文字から式を導き出すことも容易にする。
【００７４】
図に示され、先に説明したシステムの例から見て、本発明により実現可能な方法論では、図１６−１７のフローチャートを参照するとよりよく理解できる。説明を簡素化するために、この方法論は一連のブロックで描かれ、説明されているが、本発明はブロックのこの順序に限定されず、本発明によれば、一部のブロックは、図や本明細書の説明とは異なる順番で、および／または他のブロックと同時に発生してもよいと理解し、推測すべきである。さらに、本発明による方法論を実現するのに、例として挙げられたすべてのブロックが必要というわけではない。
【００７５】
本発明は、１つまたは複数のコンポーネントによって実行される、プログラムモジュール等のコンピュータ実行可能な命令という一般的な文脈で説明される。一般に、プログラムモジュールは、特定のタスクを実行する、または特定の抽象的データタイプを実現するルーチン、プログラム、オブジェクト、データストラクチャ等を含む。通常、プログラムモジュールの機能は、本発明の各種の例において、希望に応じて組み合わせたり、分散させたりすることができる。
【００７６】
図１６において、本発明の一態様による認識を容易にするための方法１６００のフロー図が示されている。方法１６００は１６０２において、少なくとも１つのＰ次元入力１６０４を受信するところからスタートする。本発明の例は、１次元、２次元、３次元の入力等を用いることができる。たとえば、入力には、ペンおよび／または鉛筆等の筆記具および／または電子画素描写デバイスによって生成されるストロークおよび／または電子走査デバイスにより生成される画素がある。一般に、ストロークには、光学的に解釈される（つまり、認識される）エンティティ（たとえば、マーキング）が含まれる。入力は通常、環境情報や「文脈」情報を含む。本発明の例は、文脈情報を使って、高精度のセグメンテーション・認識プロセスを実現する。入力を受け取ると、セグメンテーションと認識を同時に行うプロセスが採用され、これが入力１６０６の中のエンティティを認識し、フロー１６０８が終了する。本発明の１つの例において、セグメンテーションと認識を同時に行うプロセスでは、入力ストロークの近似グラフが利用され、これが部分グラフに再分割される。これらの部分グラフは次に画像にレンダリングされ、これがアダブーストに基づく分類器によって「認識」される。分類器そのものは、閾値等のパラメータを手作業で入力することなく、自動的にトレーニングされる。
【００７７】
図１７を参照すると、本発明の一態様による認識器のトレーニングを容易にするための方法１７００のフロー図が示されている。フロー１７００は、１７０２で、入力ストローク１７０４を受け取ることから始まる。ストロークそのものは、上述のようなエンティティで構成される。次に、１７０６において、ストロークが頂点で表され、その関係が辺で表される近似グラフが作成される。次に、１７０８において、ストロークの特徴と文脈に従って、部分グラフが判断される。本発明の１つの例において、部分グラフは、頂点を「近似である」と考えるのに必要な最低距離を定める閾値限界および、サブグループによって決定される。頂点は、そのストロークの凸包の間の最低距離が閾値より小さければ、隣接するとみなされる。しかしながら、当業者は、近傍（近似）グラフが同じ記号内のストロークの間の辺を含むかぎり、合理的な近似測定は同様の認識結果を生むことができると推測できる。最適な部分グラフの候補が１７１０に示されている。最適な候補は通常、式１に基づく最低コストの部分グラフである。
Ｃ（｛Ｖi｝）＝Φ（Ｒ（Ｖ1），Ｒ（Ｖ2），…，Ｒ（Ｖn））            （式１）
この式は、認識コストＲと、組み合わせコストΦを含む。本発明の１つの例では、ダイナミックプログラミングを利用してコスト計算プロセスを容易にしている。これには通常、１からΚ（ただし、Κはストローク（頂点）の部分グラフ限界）の反復プロセスがかかわる。各部分グラフは、その水平軸上のすべての辺によって拡大され、重複が排除され、再び拡張され、これがサイズΚまで繰り返され、反復ごとに重複の伝播が排除される。本発明の別の例では、Ａ−スター検索を使って最適な候補を発見する。Ａ−スター検索は、各状態から目標に対する経験則による過小評価を利用して、検索空間のうち、最適解を導くことのできない部分を除去する。当業者は、本発明が最適なソリューションを見出すのに、コスト指向的な方法を使用できると推測するであろう。このように、Ａ−スター検索方法のほかに、本発明は他のコスト指向的検索方法、たとえば、最良優先検索法や分岐限定検索法等を利用できる。最適な候補が決定されると、１７１２において、候補、文脈、ストロークの特徴による画像がレンダリングされる。当業者は、上記のシーケンスがすでにトレーニングされている認識器へのストローク入力の前処理にも適用できると推測するであろう。１７１４において、これらの画像を使い、線形関数、つまり「矩形フィルタ」を計算する。次に、１７１６において、アダブーストを使い、複合された矩形フィルタの集合に基づいて分類器を学習させ、フローは１７１８で終了する。基本的に、最終的な分類器は、前述の反復工程によって得られる弱分類器の集合からなる。次に、最終的な分類器が、本発明を使用する認識器の中で利用される。これにより、従来のシステムのような線形空間および時間限定を必要とせずに、セグメンテーションと認識の同時工程を自動的にトレーニングすることができる。
【００７８】
本発明の各種の態様を実装できるその他の状況を提供するために、第１８図と以下の説明により、本発明の各種の態様を実現できる適切なコンピューティング環境１８００を簡単かつ概略的に説明する。本発明について、ローカルコンピュータおよび／またはリモートコンピュータ上で実行されるコンピュータプログラムのコンピュータ実行可能な命令という一般的な状況においてすでに説明したが、当業者は、本発明が他のプログラムモジュールと組み合わせても実現できることに気づくであろう。一般に、プログラムモジュールには、特定のタスクを実行し、および／または特定の抽象的データタイプを実現するルーチン、プログラム、コンポーネント、データ構造その他が含まれる。さらに、当業者は、発明性のある方法は、たとえばシングルプロセッサまたはマルチプロセッサコンピュータシステム、ミニコンピュータ、メインフレームコンピュータならびにパーソナルコンピュータ、ハンドヘルドコンピューティングデバイス、マイクロプロセッサ等の、および／またはプログラム可能な家庭用電化製品その他、各々１つまたは複数の関連するデバイスと動作的に交信できる他のコンピュータシステム構成でも実現できると推測するであろう。図に示した本発明の態様はまた、通信ネットワークで連結されたリモート処理デバイスによってあるタスクが実行される、分散型コンピューティング環境においても実現できる。しかしながら、本発明のすべてでなくとも一部は、独立型コンピュータでも実現できる。分散型コンピューティング環境において、プログラムモジュールはローカルおよび／またはリモートメモリ記憶装置の中に設置することができる。
【００７９】
本願において使用されるように、「コンポーネント」との用語は、ハードウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェアあるいは実行中のソフトウェアを含め、コンピュータ関係のエンティティを指すものとする。たとえば、コンポーネントは、たとえば、プロセッサ上で実行中のプロセス、プロセッサ、オブジェクト、実行ファイル、実行ファイルのスレッド、プログラム、コンピュータ等とすることができる。例として、サーバ上で実行中のアプリケーションおよび／またはサーバは、コンポーネントでありうる。さらに、コンポーネントは、１つまたは複数のサブコンポーネントを含むことができる。
【００８０】
図１８を見ると、本発明の各種の態様を実現するためのシステム環境の例１８００には、従来のコンピュータ１８０２が含まれ、コンピュータ１８０２は処理ユニット１８０４、システムメモリ１８０６と、システムメモリ等の各種のシステムコンポーネントを処理ユニット１８０４に連結するためのシステムバス１８０８を含む。処理ユニット１８０４は、市販されている、または所有権保護されているプロセッサのいずれでもよい。さらに、処理ユニットは、たとえば並列に接続される複数のプロセッサで構成されるマルチプロセッサとして実現することができる。
【００８１】
システムバス１８０８は、メモリバスもしくはメモリコントローラ、周辺バスと、わずかに例を挙げればＰＣＩ，ＶＥＳＡ，Ｍｉｃｒｏｃｈａｎｎｅｌ，ＩＳＡ，ＥＩＳＡ等の従来の各種のバスアーキテクチャのいずれかを使ったローカルバスを含む各種バス構造のいずれでもよい。システムメモリ１８０６は、リードオンリーメモリ（ＲＯＭ）１８１０とランダムアクセスメモリ（ＲＡＭ）１８１２を含む。たとえば起動中等、コンピュータ１８０２内のエレメント間での情報交換を助ける基本的ルーチンを含む、基本的入力／出力システム（ＢＩＯＳ）１８１４がＲＯＭ１８１０に記憶されている。
【００８２】
コンピュータ１８０２はまた、たとえば、ハードディスクドライブ１８１６、取り外し可能なディスク１８２０から読み取り、これに書き込む磁気ディスクドライブ１８１８、ＣＤ−ＲＯＭディスク１８２４またはその他の光学媒体から読み出し、これに書き込むための光ディスクドライブ１８２２等を含んでもよい。ハードディスクドライブ１８１６、磁気ディスクドライブ１８１８、光ディスクドライブ１８２２は、それぞれ、ハードディスクドライブインタフェース１８２６、磁気ディスクドライブインタフェース１８２８、光ドライブインタフェース１８３０によってシステムバス１８０８に接続される。ドライブ１８１６から１８２２およびこれに関連するコンピュータ読取可能な媒体は、コンピュータ１８０２のためのデータ、データストラクチャ、コンピュータ実行可能な命令等の不揮発性のストレージを提供する。上記のコンピュータ読取可能媒体の記述は、ハードディスク、取り外し可能な磁気ディスクおよびＣＤに関するものであったが、当業者は、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌイカートリッジその他、コンピュータによる読取が可能な他の種類の媒体でも動作環境の例１８００において使用でき、さらに、かかる媒体のいずれにも、本発明の方法を実行するためのコンピュータ実行可能な命令を含めることができると推測するはずである。
【００８３】
多数のプログラムモジュールが、オペレーティングシステム１８３２、１つまたは複数のアプリケーションプログラム１８３４、その他のプログラムモジュール１８３６、プログラムデータ１８３８を含め、ドライバ１８１６から１８２２とＲＡＭ１８１２に記憶することができる。オペレーティングシステム１８３２は、適当なオペレーティングシステムまたはオペレーティングシステムの組み合わせとすることができる。たとえば、アプリケーションプログラム１８３４とプログラムモジュール１８３６は、本発明の一態様による認識スキームを備えることができる。
【００８４】
ユーザは、キーボード１８４０やポインティングデバイス（マウス１８４２等）の１つまたは複数のユーザ入力デバイスを通じて、コマンドや情報をコンピュータ１８０２に入力することができる。その他の入力デバイス（図示せず）には、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、無線リモート、スキャナ等がある。これらおよびその他の入力デバイスはしばしば、システムバス１８０８に連結されるシリアルポートインタフェース１８４４を通じて処理ユニット１８０４に接続されていることが多いが、パラレルポート、ゲームポートまたはユニバーサルシリアルバス（ＵＳＢ）等、他のインタフェースによっても接続できる。モニタ１８４６または他の種類のディスプレイデバイスも、ビデオアダプタ１８４８等のインタフェースを介してシステムバス１８０８に接続される。モニタ１８４６に加え、コンピュータ１８０２は、スピーカ、プリンタ等の他の周辺出力デバイス（図示せず）を備えていてもよい。
【００８５】
コンピュータ１８０２は、１つまたは複数のリモートコンピュータ１８６０との論理接続を使って、ネットワーク環境でも動作できることを理解すべきである。リモートコンピュータ１８６０は、ワークステーション、サーバコンピュータ、ルータ、ピアデバイスまたはその他の一般的なネットワークノードとすることができ、一般的には、コンピュータ１８０２に関して上述したエレメントの多くまたは全部を備えているが、簡潔さを期すために、図１８においてはメモリ記憶装置１８６２だけが示されている。図１８に示される論理接続には、ローカルエリアネットワーク（ＬＡＮ）１８６４や広域ネットワーク（ＷＡＮ）１８６６がある。このようなネットワーク環境は、事務所、企業内コンピュータネットワーク、イントラネット、インターネットにおいて一般的である。
【００８６】
たとえば、ＬＡＮネットワーク環境で使用する場合、コンピュータ１８０２はネットワークインタフェースまたはアダプタ１８６８を通じてローカルネットワーク１８６４に接続される。ＷＡＮネットワーク環境で使用する場合、コンピュータ１８０２は通常、モデム（たとえば、電話、ＤＳＬ、ケーブル等）１８７０を含むか、またはＬＡＮ上の通信サーバに接続されているか、あるいはインターネット等、ＷＡＮ１８６６上での通信を確立するその他の手段を有する。コンピュータ１８０２に関して内蔵か外付けのいずれでもよいモデム１８７０は、シリアルポートインタフェース１８４４を介してシステムバス１８０８に接続される。ネットワーク環境において、プログラムモジュール（アプリケーションプログラム１８３４を含む）および／またはプログラムデータ１８３８は、リモートメモリ記憶デバイス１８６２に記憶することができる。図示のネットワーク接続は一例にすぎず、コンピュータ１８０２と１８６０の間の通信リンクを確立するための他の手段（たとえば、有線または無線）を使って、本発明の一態様を実現することもできる。
【００８７】
コンピュータプログラミングの当業者の慣行に従い、本発明は、特に指示がないかぎり、コンピュータ１８０２またはリモートコンピュータ１８６０等、コンピュータによって実行される行為またはそのような動作の象徴的表現に関して説明した。このような行為や動作は時々、「コンピュータにより実行される」と言われる。行為や象徴的に表現される動作には、電気信号表現の変形や減少を発生させるように、データビットを表す電気信号の処理ユニット１８０４を操作することや、コンピュータシステムの動作を再構成する、またはその他の方法で変更するために、メモリシステム（システムメモリ１８０６、ハードドライブ１８１６、フロッピディスク１８２０、ＣＤ−ＲＯＭ  １８２４、およびリモートメモリ１８６２等）の中のメモリロケーションにデータビットを保持すること、ならびに信号をその他の方法で処理することが含まれる。データビットが保持されるこのメモリロケーションは、そのデータビットに対応する特定の電気、磁気または工学的特性を有する物理的ロケーションである。
【００８８】
図１９は、本発明が対話できるコンピューティング環境の例１９００の別のブロック図である。システム１９００にはさらに、１つまたは複数のクライアント１９０２を含むシステムが描かれている。クライアント１９０２は、ハードウェアおよび／またはソフトウェア（たとえば、スレッド、プロセス、コンピューティングデバイス）のいずれでもよい。システム１９００はまた、１つまたは複数のサーバ１９０４を含む。サーバ１９０４もまた、ハードウェアおよび／またはソフトウェア（たとえば、スレッド、プロセス、コンピューティングデバイス）とすることができる。クライアント１９０２とサーバ１９０４の間の１つの考えられる交信は、２つまたはそれ以上のコンピュータプロセスの間で伝送されるように構成されたデータパケットの形態をとることができる。システム１９００は、クライアント１９０２とサーバ１９０４の間の交信を容易にするために使用できる通信フレームワーク１９０８を含む。クライアント１９０２は、クライアント１９０２のローカル情報を記憶するのに使用できる１つまたは複数のクライアントデータ記憶装置１９１０に接続されている。同様に、サーバ１９０４は、サーバ１９０４のローカル情報を記憶するのに使用できる１つまたは複数のサーバデータ記憶装置１９０６に接続されている。
【００８９】
本発明の１つの例において、認識を容易にする、２つまたはそれ以上のコンピュータコンポーネントの間で伝送されるデータパケットは、少なくとも部分的にエンティティを認識するための同時分割認識プロセスを利用する空間認識システムに関する情報で少なくとも部分的に構成される。
【００９０】
本発明のシステムおよび／または方法は、コンピュータコンポーネントと、コンピュータに関係のないコンポーネントについても同様に、その認識を用意にするために使用できることが推測されるべきである。さらに、当業者は、本発明のシステムおよび／または方法がたとえば、コンピュータ、サーバおよび／またはハンドヘルド電子デバイス等を含む、多岐にわたる電子機器関連技術において使用できると認めるであろう。
【００９１】
上で説明した事柄は、本発明の例を含む。もちろん、本発明を説明するために、考えられるすべてのコンポーネントまたは方法論の組み合わせを述べることは不可能であるが、当業者は、本発明のその他の組み合わせや置き換えも可能であることを認めるであろう。したがって、本発明は、付属の特許請求範囲の精神と範囲の中に含まれるすべての変更、改変、変化を包含するものである。さらに、詳細な説明または特許請求範囲で使用されている「含む」との用語は、特許請求項における暫定的な用語として使用された場合に解釈される「備える」との用語と同様に包含的なものである。
【図面の簡単な説明】
【００９２】
【図１】本発明の一態様による空間認識システムのブロック図である。
【図２】本発明の一態様による空間認識システムの別のブロック図である。
【図３】本発明の一態様による空間認識システムのさらに別のブロック図である。
【図４】本発明の一態様による空間認識システムトレーニングプロセスのブロック図である。
【図５】本発明の一態様による空間認識システムトレーニングプロセスの別のブロック図である。
【図６】本発明の一態様によるストローク入力例を示す図である。
【図７】本発明の一態様による認識プロセスの概要の説明図である。
【図８】本発明の一態様による認識プロセスの概要の別の説明図である。
【図９】本発明の一態様による認識器の一連の入力の説明図である。
【図１０】本発明の一態様による認識プロセスの説明図である。
【図１１】本発明の一態様による矩形フィルタテクニックの説明図である。
【図１２】本発明の一態様による検証データ（トゥルース・データ: truth data）レンダリングの説明図である。
【図１３】本発明の一態様によるＡ−スター検索の説明図である。
【図１４】本発明の一態様によるclassifier入力の説明図である。
【図１５】本発明の一態様による試験例の説明図である。
【図１６】本発明の一態様による認識促進方法のフロー図である。
【図１７】本発明の一態様による認識器のトレーニング促進方法のフロー図である。
【図１８】本発明が機能できる動作環境の例の説明図である。
【図１９】本発明が機能できる動作環境の別の例の説明図である。
【符号の説明】
【００９３】
１０２，２０２  空間認識コンポーネント
１０４，２０４，３０４  入力
１０６，２０６，３０６  出力
２０８，３０４  受信コンポーネント
２１０，３０２  認識コンポーネント
２１２  トレーニングコンポーネント
２１４  最適化コンポーネント
３０８  認識前コンポーネント
３１０  アダブースト認識器／分類器
３１２  近傍グラフ発生器
３１４  部分集合グループ化コンポーネント
３１６  画像レンダリングコンポーネント
４１８  認識器
５０２  認識器
５０４  画像
５０６  矩形フィルタ
５０８  分類器学習器
５１０  分類器
１８０４  処理ユニット
１８０６  システムメモリ
１８１０  ＲＯＭ
１８１２  ＲＡＭ
１８１４  ＢＩＯＳ
１８２６  ハードディスクドライブインタフェース
１８２８  磁気ディスクドライブインタフェース
１８３０  光ドライブインタフェース
１８３２  オペレーティングシステム
１８３４  アプリケーションプログラム
１８３６  その他のプログラムモジュール
１８３８  プログラムデータ
１８４０  キーボード
１８４４  シリアルポートインタフェース
１８４６  モニタ
１８６０  リモートコンピュータ
１８６２  メモリ記憶装置
１８６４  ローカルエリアネットワーク
１８６６  広域ネットワーク
１８６８  ネットワークインタフェース
１８７０  モデム
１９０２  クライアント
１９０４  サーバ
１９０６  サーバデータ記憶装置
１９０８  通信フレームワーク
１９１０  クライアントデータ記憶装置
【図１】
2006073000.tif 000005
【図２】
2006073000.tif 000006
【図３】
2006073000.tif 000007
【図４】
2006073000.tif 000008
【図５】
2006073000.tif 000009
【図６】
2006073000.tif 000010
【図７】
2006073000.tif 000011
【図８】
2006073000.tif 000012
【図９】
2006073000.tif 000013
【図１０】
2006073000.tif 000014
【図１１】
2006073000.tif 000015
【図１２】
2006073000.tif 000016
【図１３】
2006073000.tif 000017
【図１４】
2006073000.tif 000018
【図１５】
2006073000.tif 000019
【図１６】
2006073000.tif 000020
【図１７】
2006073000.tif 000021
【図１８】
2006073000.tif 000022
【図１９】
2006073000.tif 000023
【外国語明細書】
2006073000000001.pdf