(57)【特許請求の範囲】
【請求項１】
コンピュータによる図形分類処理方法であって、前記コンピュータは、図形を入力する図形入力ステップと、前記図形入力ステップによる入力図形の構造的特徴を抽出する特徴抽出ステップと、あらかじめ定められた図形変形に関する特徴変換規則に従って、前記特徴抽出ステップにより抽出された構造的特徴から変形図形の構造的特徴を合成する特徴合成ステップと、前記特徴抽出ステップ及び前記特徴合成ステップによって得られた各構造的特徴に基づいて前記入力図形を分類する分類ステップとを実行することを特徴とする図形分類処理方法。
【請求項２】
コンピュータによる図形検索処理方法であって、前記コンピュータは、図形を入力する図形入力ステップと、前記図形入力ステップによる入力図形の構造的特徴を抽出する特徴抽出ステップと、あらかじめ定められた図形変形に関する特徴変換規則に従って、前記特徴抽出ステップにより抽出された構造的特徴から変形図形の構造的特徴を合成する特徴合成ステップと、前記特徴抽出ステップ及び前記特徴合成ステップによって得られた各構造的特徴に基づいて前記入力図形を分類し、分類結果に基づいて図形データベースを検索する分類検索ステップとを実行することを特徴とする図形検索処理方法。
【請求項３】
モデル図形により抽出された構造的特徴、又は、あらかじめ定められた図形変換に関する特徴変換規則に従って、前記モデル図形により抽出された構造的特徴から合成された変形図形の構造的特徴のいずれかを持つモデルの識別子のリストを、当該構造的特徴から計算されたインデックスのエントリーとする分類表を保持する記憶手段を具備するコンピュータによる図形分類処理方法であって、
前記コンピュータは、図形を入力する図形入力ステップと、前記図形入力ステップによる入力図形の構造的特徴を抽出する特徴抽出ステップと、あらかじめ定められた図形変形に関する特徴変換規則に従って、前記特徴抽出ステップにより抽出された構造的特徴から変形図形の構造的特徴を合成する特徴合成ステップと、前記特徴抽出ステップ及び前記特徴合成ステップによって得られた各構造的特徴からインデックスを計算し、該計算されたインデックスに対応する前記分類表のエントリーのモデル識別子リストを参照し、当該モデル識別子リストに含まれる各モデル識別子に対する投票操作を行って得票数の多いモデル識別子を求め、前記入力図形を分類する分類ステップとを実行することを特徴とする図形分類処理方法。
【請求項４】
モデル図形により抽出された構造的特徴、又は、あらかじめ定められた図形変換に関する特徴変換規則に従って、前記モデル図形により抽出された構造的特徴から合成された変形図形の構造的特徴のいずれかを持つモデルの識別子のリストを、当該構造的特徴から計算されたインデックスのエントリーとする分類表を保持する記憶手段を具備するコンピュータによる図形検索処理方法であって、
前記コンピュータは、図形を入力する図形入力ステップと、前記図形入力ステップによる入力図形の構造的特徴を抽出する特徴抽出ステップと、あらかじめ定められた図形変形に関する特徴変換規則に従って、前記特徴抽出ステップにより抽出された構造的特徴から変形図形の構造的特徴を合成する特徴合成ステップと、前記特徴抽出ステップ及び前記特徴合成ステップによって得られた各構造的特徴からインデックスを計算し、該計算されたインデックスに対応する前記分類表のエントリーのモデル識別子リストを参照し、当該モデル識別子リストに含まれる各モデル識別子に対する投票操作を行って得票数の多いモデル識別子を求め、当該モデル識別子を検索キーとして図形データベースを検索する分類検索ステップとを実行することを特徴とする図形検索処理方法。
【請求項５】
モデル図形により抽出された構造的特徴、又は、あらかじめ定められた図形変換に関する特徴変換規則に従って、前記モデル図形により抽出された構造的特徴から合成された変形図形の構造的特徴のいずれかを持つモデルの識別子のリストを、当該構造的特徴から計算されたインデックスのエントリーとする分類表を記憶する手段と、図形を入力する図形入力手段と、該図形入力手段による入力図形の構造的特徴を抽出する特徴抽出手段と、あらかじめ定められた図形変形に関する特徴変換規則に従って、前記特徴抽出手段により抽出された構造的特徴から変形図形の構造的特徴を合成する特徴合成手段と、前記特徴抽出手段及び前記特徴合成手段によって得られた各構造的特徴からインデックスを計算し、該計算されたインデックスに対応する前記分類表のエントリーのモデル識別子リストを参照し、当該モデル識別子リストに含まれる各モデル識別子に対する投票操作を行って得票数の多いモデル識別子を求め、前記入力図形を分類する分類手段とを具備することを特徴とする図形分類システム。
【請求項６】
図形データベースと、モデル図形により抽出された構造的特徴、又は、あらかじめ定められた図形変換に関する特徴変換規則に従って、前記モデル図形により抽出された構造的特徴から合成された変形図形の構造的特徴のいずれかを持つモデルの識別子のリストを、当該構造的特徴から計算されたインデックスのエントリーとする分類表を記憶する手段と、図形を入力する図形入力手段と、前記図形入力手段による入力図形の構造的特徴を抽出する特徴抽出手段と、あらかじめ定められた図形変形に関する特徴変換規則に従って、前記特徴抽出手段により抽出された構造的特徴から変形図形の構造的特徴を合成する特徴合成手段と、前記特徴抽出手段及び前記特徴合成手段によって得られた各構造的特徴からインデックスを計算し、該計算されたインデックスに対応する前記分類表のエントリーのモデル識別子リストを参照し、当該モデル識別子リストに含まれる各モデル識別子に対する投票操作を行って得票数の多いモデル識別子を求め、当該モデル識別子を検索キーとして前記図形データベースを検索する分類検索手段とを具備することを特徴とする図形検索システム。
【請求項７】
コンピュータによる図形分類用特徴抽出処理方法であって、前記コンピュータは、図形を入力するステップと、入力図形の輪郭線又は線図形を多角形近似して、その構造的特徴を抽出するステップと、あらかじめ定められた図形変形に関する特徴変換規則に従って、前記抽出された構造的特徴から、ノイズや局所的変形によって発生する変形図形の構造的特徴を合成するステップとを実行することを特徴とする図形分類用特徴抽出処理方法。
【請求項８】
コンピュータによる図形分類用表作成処理方法であって、前記コンピュータは、入力された各モデル図形から構造的特徴を抽出する特徴抽出ステップと、あらかじめ定められた図形変形に関する特徴変換規則に従って、前記特徴抽出ステップにより抽出された構造的特徴から変形図形の構造的特徴を合成する特徴合成ステップと、前記特徴抽出ステップ及び前記特徴合成ステップにより得られた各構造的特徴を持つモデルの識別子のリストを、当該各構造的特徴から計算されたインデックスに対応するエントリーとして登録する分類表を作成する表作成ステップとを実行することを特徴とする図形分類用表作成処理方法。
【請求項９】
請求項５記載の図形入力手段、特徴抽出手段、特徴合成手段、及び分類手段としてコンピュータを機能させるための図形分類プログラムが記録されたことを特徴とする機械読み取り可能な情報記録媒体。
【請求項１０】
請求項６記載の図形入力手段、特徴抽出手段、特徴合成手段、及び分類検索手段としてコンピュータを機能させるための図形検索プログラムが記録されたことを特徴とする機械読み取り可能な情報記録媒体。
【請求項１１】
コンピュータによる図形分類処理方法であって、前記コンピュータは、複数のモデル図形について図形について、該モデル図形の輪郭を多角形近似し、量子化方向特徴と準凹凸構造に基づいて連続したいくつかの線分をより高いレベルの構造的特徴に統合することにより各モデル図形の輪郭の構造的特徴を予め抽出して記憶手段に記憶しておくステップと、入力された図形について、該図形の輪郭を多角形近似し、量子化方向特徴と準凸凹構造に基づいて連続したいくつかの線分をより高いレベルの構造物特徴に統合して、入力図形の輪郭の構造的特徴を抽出するステップと、前記入力図形の輪郭の構造的特徴及び前記モデル図形の輪郭の構造的特徴をそれぞれ互いに近付けるために複数の構造的特徴を併合して１つの構造的特徴に置換する編集操作を行い、該編集操作に要する計算量を示す編集コストが最小になる入力図形とモデル図形の輪郭の構造的特徴の間の対応関係を求めるステップと、前記対応関係に従ってモデル図形と入力図形のうちの一方の図形の輪郭に対し他方の図形の輪郭に近づけるように幾何学的変換を施すステップと、前記幾何学的変換後の一方の図形の輪郭と他方の図形の輪郭の間の距離を計算し、計算するステップと、前記計算された距離の小さな１つ又は複数のモデル図形を入力図形の分類候補とするステップとを実行することを特徴とする図形分類処理方法。
【請求項１２】
複数のモデル図形について、該モデル図形の輪郭を多角形近似し、量子化方向特徴と準凹凸構造に基づいて連続したいくつかの線分をより高いレベルの構造的特徴に統合することにより抽出した各モデル図形の輪郭の構造的特徴を格納する辞書と、図形を入力するための図形入力手段と、前記図形入力手段により入力された図形について、該図形の輪郭を多角形近似し、量子化方向特徴と順凹凸構造に基づいて連続したいくつかの線分をよりに高いレベルの構造的特徴に統合して、入力図形の輪郭の構造的特徴を抽出するための特徴抽出手段と、前記特徴抽出手段により抽出された入力図形の輪郭の構造的特徴及び前記辞書に格納されているモデル図形の輪郭の構造的特徴をそれぞれ互いに近付けるために複数の構造的特徴を併合して１つの構造的特徴に置換する編集操作を行い、該編集操作に要する計算量を示す編集コストが最小になる入力図形とモデル図形の輪郭の構造的特徴の間の対応関係を求め、この対応関係に従ってモデル図形と入力図形のうちの一方の図形の輪郭に対し他方の図形の輪郭に近づけるように幾何学的変換を施し、この幾何学的変換後の一方の図形の輪郭と他方の図形の輪郭の間の距離を計算するマッチング手段と、前記マッチング手段により計算された距離の小さな１つ又は複数のモデル図形を入力図形の分類候補として選択する手段とを具備することを特徴とする図形分類システム。
【請求項１３】
コンピュータを、請求項１２記載の図形入力手段、特徴抽出手段、マッチング手段、及び、分類候補の選択のための手段として機能させるための図形分類プログラムが記録されたことを特徴とする機械読み取り可能な情報記録媒体。
【請求項１４】
コンピュータによる図形間の類似度又は相違度の評価処理方法であって、前記コンピュータは、２つの図形について、それぞれの輪郭を多角形近似し、量子化方向特徴と準凹凸構造に基づいて連続したいくつかの線分をより高いレベルの構造的特徴に統合することにより輪郭の構造的特徴を抽出するステップと、前記抽出された図形の輪郭の構造的特徴をそれぞれ互いに近付けるために複数の構造的特徴を併合して１つの構造的特徴に置換する編集操作を行い、該編集操作に要する計算量を示す編集コストが最小になる両図形の輪郭の構造的特徴の間の対応関係を求めるステップと、前記求めた対応関係に従って一方の図形の輪郭に対し他方の図形の輪郭に近づけるように幾何学的変換を施すステップと、前記幾何学的変換後の一方の図形の輪郭と他方の図形の輪郭の間の距離を計算するステップとを実行することを特徴とする図形間の類似度又は相違度の評価処理方法。
【請求項１５】
コンピュータによる図形正規化処理方法であって、前記コンピュータは、２つの図形について、それぞれの輪郭を多角形近似し、量子化方向特徴と準凹凸構造に基づいて連続したいくつかの線分をより高いレベルの構造的特徴に統合することにより輪郭の構造的特徴を抽出するステップと、前記抽出された２つの図形の輪郭の構造的特徴をそれぞれ互いに近付けるために複数の構造的特徴を併合して１つの構造的特徴に置換すれる編集操作を行い、該編集操作に要する計算量を示す編集コストが最小になる両図形の輪郭の構造的特徴の間の対応関係を求めるステップと、前記求めた対応関係に従って一方の図形の輪郭に対し他方の図形の輪郭に近づけるように幾何学的変換を施すステップとを実行すること特徴とする図形正規化処理方法。
【請求項１６】
コンピュータによる図形間対応付け処理方法であって、前記コンピュータは、２つの図形について、それぞれの輪郭を多角形近似し、量子化方向特徴と準凹凸構造に基づいて連続したいくつかの線分をより高いレベルの構造的特徴に統合することにより輪郭の構造的特徴を抽出するステップと、前記抽出された２つの図形の輪郭の構造的特徴をそれぞれ互いに近付けるために複数の構造的特徴を併合して１つの構造的特徴に置換する編集操作を行い、該編集操作に要する計算量を示す編集コストが最小になる両図形の輪郭の構造的特徴の間の対応関係を求めるステップとを実行すること特徴とする図形間対応付け処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、図形の分類・検索の分野に係り、特に図形輪郭の構造的特徴を利用する図形の分類・検索技術に関する。
【０００２】
【従来の技術】
輪郭には図形や物体に関するすべての情報が含まれているため、これまで、モデルを使った閉輪郭線の分類（認識）のための多種多様な方法が考案されてきた。通常の認識アルゴリズムにおいては、個々のモデルについて、互いに独立したデータ構造・モデルを考えるが、モデルの個数が多くなったときには、モデルの数に比例して認識の効率が低下する。そこで「構造的インデクシング」という方法が考えられるようになった。
【０００３】
この構造的インデクシングの基本的な考え方は、モデルの集合に対して、一つの大規模なデータ構造（表）を用意し、モデル図形から得られる離散的な特徴量（構造的特徴）をインデックスとして、その大規模なデータ構造にモデルを分散して配置し、入力図形を認識（分類）する時には、入力図形から得られる特徴量を表と照らし合わせて、各モデルへの投票によって、照合し得るモデルを絞り込むというものである。そのようなデータ構造の例としては、特徴量からインデックスを計算し、そのインデックスに対応する表のエントリーが、その特徴量を持つモデルの識別子のリストであるような大規模な表がある。
【０００４】
このような構造的インデクシングでは、複雑な図形については、簡単な投票操作で得られる第１候補が常に正解であるとは限らない。複雑な図形を認識する場合には、構造的インデクシングによって少数（数％から１０％のモデル）の候補モデルを絞り込み、この候補モデルに対して別の複雑な認識アルゴリズムを適用する必要がある。したがって、構造的インデクシングに要求される条件としては、投票によって絞り込まれる全体の数％から１０％の数の候補モデルの中に、必ず正しいモデルが含まれていること、そして、その処理に必要とされる時間が、その後の複雑な認識アルゴリズムに必要な時間に比べて無視できるほど、処理速度が高速であることである。この２条件が満たされれば、構造的インデクシングによって、認識精度を落とすことなく図形認識の数十倍のスピードアップが可能になる。これら２つの条件は、大規模図形データベースの図形検索においても、性能と効率を決定づける本質的な条件である。
【０００５】
このような問題が本格的に考えられるようになったのは、コンピュータのディスクやメモリの容量が増加した最近になってからであるが、８０年代にも研究が行われていた。例えば、Ｂairdは印刷文字認識への応用を考え、各モデル（文字図形）から得られるそれぞれの特徴に１つのビットを割り当てることにより、図形を特徴の有無によってビット列で表現する方法を考案した（Henry S. Baird, "Feature identification for hybrid structural/statistical pattern classification," Computer Vision,Graphics,and Image Processing, vol.42, pp.318-333, 1988）。この方法は、各文字に対して大量のトレーニングデータがある場合に適用可能であり、円弧、ストローク、交差点、穴、端点などの構造的特徴を種類別にパラメータ表現し、パラメータ空間でのクラスタリングを行い、各クラスタに１つのビットを割り当てる。入力図形に、それぞれのビットに対応する特徴が存在すれば、そのビットに１が設定される。このようにして構成される大規模次元のビット・ベクトルの分類により、入力図形が分類される。
【０００６】
ところが、１つのモデル図形に対して１つのサンプル図形しか使えないような場合には、このBairdの方法は適用できない。構造的特徴の弱点は、ノイズや変形により特徴が変化することであるが、Bairdの方法では、１つのモデルに対し大量のサンプルパターンを用意して、データからの統計的・帰納的学習により実際に起こり得る多種多様な特徴変化に対処するからである。
【０００７】
ここで考えている１モデルにつき１つのサンプル図形しか使えないような場合に対処するため、SteinとMedioniは、図形輪郭を様々な許容誤差で多角形近似して生成される複数の図形から構造的特徴を抽出する方法を考案した（F.Stein and G.Medioni,"Structural indexing: efficient 2-D object recognition," IEEE Transactions on Pattern Analysis and Machine Intelligence,vol.14,no.12,pp.1198-1204, 1992）。また、Del BimboとPalaは、曲線を様々な広がりをもつガウシアン関数で平滑化して凹凸特徴を抽出するスケール・スペース法と構造的インデクシングを統合した方法を考案した（A. Del Bimbo and P.Pala, "Image indexing using shape-based visual features," Proceedings of 13th International Conference on Pattern Recognition,Vienna,Austria,August 1996,vol.C, pp.351-355）。このような方法では、各スケールから得られる構造的特徴の記述をもとにして、ノイズや輪郭の局所的な変形を考慮した階層的なデータ構造を構築する。ただし、スケールスペース法では、輪郭を様々な広がりを持つガウシアン関数で平滑化するため計算量が増大し、さらに、隣接する異なったスケール間で特徴の対応を見つけるという処理が必要となる。
【０００８】
このように、１つのモデルに１つのサンプルしか使えないような状況で、構造的特徴を変えてしまうようなノイズや局所的変形に頑健な構造的インデクシングのための効率的なかつ効果的方法は未だ考案されておらず、それが実用面での大きな障害となっていた。
【０００９】
また、２つの閉輪郭線の間のマッチング（対応付け）、分類（認識）のための多種多様な方法が考案されてきたが、現実に観測される入力図形にはノイズや大局的・局所的な変形が加わっているため、マッチングのアルゴリズムの設計においては、どのような変形、変換がどの程度に許容されるかという前提条件が必要となる。これまでに考案された方法の中にも、大きさの変化を許さないものや回転に対応できないものなどがある。さらに、伸び縮みのない対象である「剛体」だけを考慮している方法も多い。
【００１０】
特に、大局的な変形としてアフィン変換を考えた場合、フーリェ特徴やモーメント特徴がアフィン変換に不変な特徴であることが知られている。しかしながら、それらの特徴によって形状を分類するには、高次の係数（２次元図形のフーリェ級数展開の係数やモーメントの次数）が必要であるため、多大な計算量を要するという問題があり、さらに、それら高次の係数はノイズに敏感で、安定なのは低次の係数だけであるという問題がある。また、これらの特徴を用いた方法では、単に図形を係数パラメータを使って分類するだけであるので、具体的な図形間の点対応や変換パラメータを求めることができない。
【００１１】
このような問題から、図形をその輪郭上の特徴の列として記述し、２つの輪郭特徴列の最適対応問題として取り扱う方法が考案された。その代表例が、輪郭の凹凸特徴による表現であり、文字認識を含む図形認識の分野に応用されてきた。特に、凹凸構造はノイズのほか図形を観測するスケールに依存するところからスケール・スペース法と呼ばれるが、閉輪郭線を大小様々なサポートの大きさを持つガウシアン関数で平滑化し、凹凸の変化点である変曲点を抽出する方法が考案された（上田，鈴木：”多重スケールの凹凸構造を用いた変形図形のマッチングアルゴリズム”，電子情報通信学会論文誌  D-II，vol.J73-D-II，no.77，pp.992-1000，1990年7月、及び、F.Mokhtarian, "Silhouette-based isolated object recognition through curvature-scale space,"IEEE Transaction on Pattern Analysis and Machine Intelligence, vol.17, no.5, pp.539-543,May 1995）。
【００１２】
この方法の利点は、曲線を「変曲点」という特徴で代表させることにより、情報量を縮約したコンパクトな構造表現を用いていることにある。しかしながら、この方法には次のような問題点がある。まず、具体的にどのような変形、変換が許容できるのかが明確でないために、実際にこの方法を用いる場合、どのようなことに注意しなければならないのかが、明確でない。また、実際のデジタル画像からの曲率の計算においては、Spline曲線、Bezier曲線などを使ってデジタル点列を曲線近似する必要があり、計算量が多い。さらに、スケール・スペース法では、様々なサポート（スケールを表す）を持つガウシアン関数で曲線を平滑化したうえで、異なったスケール間での変曲点の対応を見つける必要があるが、計算量が多いほか、対応付けの過程でエラーが入り込む可能性が大きい。
【００１３】
スケール・スペース法の他にも、輪郭を多角形近似（区分線分近似）し、線分列の角度変化を特徴として、輪郭を角度変化を表す文字列で記述し、近似的なストリング・マッチング手法を適用する方法も考案されている（ H.Bunke and  U.Buehler,  "Applications of approximate string matching to 2D shape recognition,"  Pattern Recognition,  vol.26,  no.12,  pp.1797-1812,December 1993）。しかし、この方法では、輪郭を近似する線分を構成要素にしているため、情報があまり縮約されず、処理量の軽減が考慮されていないという問題がある。また、許容される変換も明かでなく、近似的なストリング・マッチングの基準となっている編集コストが必ずしも図形間の類似度をうまく表さないため、分類や認識の基準としては適当でない。
【００１４】
【発明が解決しようとする課題】
本発明は、前述の諸点に鑑みてなされたもので、その目的は、図形の構造的特徴を変えてしまうようなノイズや局所的若しくは大局的な変形に頑健な図形分類又は検索のための処理方法又はシステムを提供することにある。本発明のもう一つの目的は、大量のモデル図形に対し１モデルにつき１サンプルしか使えないような場合でも、ノイズや変形に頑健な効率的、高速な構造的インデクシングによる図形分類又は検索処理方法及びシステムを提供することにある。本発明の他の目的は、そのようなノイズや変形に頑健な図形分類又は検索の処理方法又はシステムを実現するための特徴抽出処理方法、分類用表の作成処理方法、図形間の類似度又は相異度の評価処理方法、輪郭の構造的特徴の対応付け処理方法、図形の正規化処理方法などを提供することである。
【００１５】
【課題を解決するための手段】
図形の閉輪郭線（又は線図形そのもの）を多角形近似し、量子化方向特徴と準凹凸構造に基づいて、連続した線分をより高いレベルの構造的特徴に統合するパターン特徴抽出方法は、比較的簡単な処理によってコンパクトな構造的特徴を抽出することができる。しかし、このような方法で得られる構造的特徴は、ノイズやスケールによって生ずる局所的な凹凸構造の変化により変動するため、１つのモデルに１つのサンプルしか使えないような場合に、単純に、モデルの構造的特徴と入力図形の構造的特徴とを突き合わせて図形の分類や検索を行うと、ノイズや局所的変形に弱い。
【００１６】
そこで、請求項１乃至１０の発明にあっては、入力された図形そのものを実際に変形するかわりに、入力図形から抽出した構造的特徴に予め定めた図形変形に関する特徴変換の規則を適用することにより、ノイズや局所的変形が加わった変形図形から抽出される可能性のある構造的特徴を合成し、これら抽出された構造的特徴と合成された各構造的特徴をそれぞれ図形の分類又は検索に利用する。
【００１７】
構造的インデクシングによる場合、モデル構築の際に、モデル図形から抽出した構造的特徴に予め定めた変換規則を適用することにより、ノイズや局所的変形が加わった変形図形から抽出される可能性のある構造的特徴を合成する。そして、モデルの集合に対し、インデックスが特徴量に対応しエントリーがその特徴量を持つモデルの識別子のリストであるような１つの大規模な表（分類表と呼ぶ）を用意し、モデル構築時に、各モデル図形から抽出された構造的特徴と変換規則により合成された構造的特徴のそれぞれからインデックスを計算し、それぞれのインデックスに対応した分類表のエントリーに、その構造的特徴を持つモデルの識別子のリストを貯える。図形の分類又は検索の際には、同様に、入力された図形から抽出した構造的特徴に変換規則を適用することによりノイズや局所的変形が加わった変形図形から抽出される可能性のある構造的特徴を合成し、抽出された構造的特徴と合成された構造的特徴のそれぞれからインデックスを計算し、各インデックスに対応した分類表のエントリーのモデル識別子リストを参照し、当該モデル識別子リストに含まれる各モデル識別子に対する投票操作を行って得票数の多いモデルを候補として絞り込む。また、この分類結果を検索キーとしてデータベースを検索する。
【００１８】
請求項１１乃至１６の発明にあっては、図形の輪郭の構造的特徴を抽出する方法として、曲線近似や多重スケールによる平滑化などの計算量の問題を解決し、かつ少数の構成要素によるコンパクトな表現を得るために、図形の輪郭を区分的線分で近似し（多角形近似）、量子化方向特徴と準凹凸構造に基づいて、連続したいくつかの線分をより高いレベルの構造的特徴に統合する方法を用いる。また、ノイズやスケールによって生ずる図形の輪郭の凹凸構造の局所的・大局的な変化に対処するため、２つの図形、例えば分類しようとする入力図形と予め用意されたモデル図形について、それぞれの輪郭の構造的特徴を互いに近づけるための編集コストに着目し、この編集コストに基づいて２つの図形の輪郭の構造的特徴の間の適切な対応関係を求める。そして、図形間の類似度又は相違度をより幾何学的に表現し、図形の分類（認識）の基準として、より図形本来の性質を持った距離尺度とするため、上のようにして求めた対応関係に従って、２つの図形の一方の図形に対し、その輪郭を他方の図形の輪郭に近づけるようにアフィン変換などの幾何学的変換を施すことにより正規化を行い、この正規化後の図形と他方の図形の輪郭の間の幾何学的な距離を計算し、この距離により２つの図形の類似度又は相違度を評価する。図形分類の場合には、入力図形と各モデル図形との間で同様の距離計算を行い、距離が小さい１つ又は複数のモデル図形を分類候補として選ぶ。
【００１９】
【発明の実施の形態】
［実施例１］
図１に、本発明の一実施例による図形分類検索システムの概略構成を示す。図１において、図形入力部１００は分類（認識）したい図形、あるいは、検索したい図形そのもの又はその検索キーとしての図形を入力する部分である。ここで入力される図形とは、物体や図形の輪郭を表す閉曲線であり、イメージスキャナやデジタルカメラ等の機器より撮像された画像から輪郭抽出によって抽出される場合と、デジタイザ等の機器により最初から線図形として（必要に応じて細線化処理を施されて）入力される場合とがある。
【００２０】
特徴抽出部１０５は、入力された図形の閉輪郭線（又は入力された線図形、以下同様）を多角形近似（区分線分近似）したのち、量子化方向特徴と準凹凸構造に基づいて解析することにより、連なっている線分をより高いレベルの構造的特徴に統合する部分である。このような特徴抽出方法については後にさらに詳しく説明するが、コンパクトな表現の構造的特徴を得ることができる。
【００２１】
特徴抽出部１０５で抽出される構造的特徴は、ノイズや輪郭線の局所的変形によって変化するので、本実施例では、ある特定の変形操作によって生じる構造的特徴の変換規則を考え、特徴合成部１１０において、この変換規則を、特徴抽出部１０５により入力図形から抽出された構造的特徴に適用することにより、ノイズや局所的変形により発生し得る変形図形の構造的特徴を合成する。ここで合成された構造的特徴と、入力図形から抽出された構造的特徴がすべて図形分類用特徴として分類検索部１１５に与えられる。
【００２２】
分類検索部１１５は、与えられた各構造的特徴からインデックス（アドレス）を計算し、このインデックスに対応した分類表１２０のエントリーを参照し、入力図形を分類する。図形分類を目的とした場合には、分類検索部１１５は分類結果（モデル識別子）を出力する。図形検索を目的とした場合には、分類検索部１１５は、分類結果として得られたモデル識別子を検索キーとして持つ図形（具体的には、当該モデル図形そのもの又は、それに相当する図形を含む図形）を図形データベース１２５より検索し出力する。
【００２３】
分類表１２０は当該システムの外部で作成されてもよいが、本実施例においては、当該システムの内部で分類表１２０を作成できる。したがって、当該システムは、分類表１２０の作成に関連してモデル図形入力部１５０、特徴抽出部１５５、特徴合成部１６０及び表作成部１６５を有する。モデル図形入力部１５０はモデル図形（閉じた閉輪郭線又は線図形）を入力する部分であり、特徴抽出部１５５は特徴抽出部１０５と同じ特徴抽出処理を行う部分である。特徴合成部１６０は、特徴抽出部１５５によりモデル図形から抽出された構造的特徴に対して特徴合成部１１０と同様の特定の構造的特徴の変換規則を適用することにより、モデル図形にノイズや局所的変形が加わった場合に発生し得る構造的特徴を合成する部分である。したがって、モデル図形入力部１５０、特徴抽出部１５５及び特徴合成部１６５はそれぞれ、図形入力部１００、特徴抽出部１０５及び特徴合成部１１０と兼用することが可能である。表作成部１６５は、特徴抽出部１５５により抽出された構造的特徴及び特徴合成部１６０により合成された構造的特徴のそれぞれからインデックスを計算し、その各構造的特徴を持つモデルの識別子のリストを当該インデックスのエントリーとした、図２に模式的に示すような構造の大規模な表を分類表１２０として作成する部分である。
【００２４】
この図形分類検索システムは、例えば、図３に簡略化して示すようなＣＰＵ２００、メモリ２０５、ハードディスク等の大容量記憶装置２１０、画像若しくは図形入力のためのスキャナ、デジタルカメラ、デジタイザ等の入力装置２１５、ユーザインターフェイスのためのディスプレイ２２０とキーボードやマウス等の入力装置２２５、フロッピーディスクやＣＤ−ＲＯＭ等のディスク記録媒体２３５に対する読み書きを行うディスクドライブ２３０等をシステムバス２４０で相互に接続した構成のコンピュータ上で、プログラムにより実現することができる。図形データベース１２５及び分類表１２０は大容量記憶装置２１０に保存される。このコンピュータ上で図１中の各機能部１００，１０５，１１０，１１５，１５０，１５５，１６０，１６５の機能（換言すれば同システムにおける一連の処理ステップ）を実現するための分類検索プログラム２５０は、例えば、同プログラムが記録されたディスク媒体２３５よりディスクドライブ２３０によって読み込まれて大容量記憶装置２１０に格納され、必要な時にその全部又は一部がメモリ２０５にロードされてＣＰＵ２００により実行される。分類表１２０も、ディスク媒体２３５から読み込まれてもよい。このプログラム２０５の実行時に、分類表１２０も、その全体又は一部分がメモリ２０５にロードされて参照される。分類すべき図形やモデル図形は、例えば入力装置２１５から入力される。
【００２５】
以下、この図形分類検索システムの各部分について詳細に説明する。
【００２６】
＜図形入力部１００又はモデル図形入力部１５０＞
図形入力部１００は、前述のように分類すべき図形又は検索キーとしての図形を入力する。入力図形としての閉輪郭線の一例を図９に示す。モデル図形入力部１５０は同様のモデル図形の閉輪郭線（又は線図形）を入力する。
【００２７】
＜特徴抽出部１０５又は１５５＞
図４は、特徴抽出部１０５又は１５５の処理の流れを示すフローチャートである。また、図５は、特徴抽出の過程で得られるデータを関連付けて模式的に示した図である。なお、図４中の輪郭抽出処理のためのステップ３００は、輪郭抽出が必要とされる図形の画像が図形入力部１００から入力された場合にのみ必要な処理ステップであり、輪郭抽出済みの図形が直接入力された場合には不要である。例えば、図８に示す図形が入力された場合には、ステップ３００によって図９に示すような閉輪郭線が抽出される。
【００２８】
特徴抽出部１０５はまず、図形入力部１０５から入力された図形の閉輪郭線（又はステップ３００で抽出された閉輪郭線、以下同様）を多角形近似する（ステップ３０１）。この多角形近似若しくは区分線分近似は、Ramerの方法など、公知の任意の方法で行ってよい。例えば、図９に示した閉輪郭線は、図１０に示すような多角形に近似される。
【００２９】
このように多角形近似された閉輪郭線を、量子化方向特徴と準凹凸構造をもとにして解析し構造的特徴を抽出する（ステップ３０２〜３０８）。この特徴抽出の詳細は、H.Nishida, "Curve description based on directional features and quasi-convexity/concavity," Pattern Recognition, vol.28, no.7,pp.1045-1051, July 1995 に譲り、ここではその概略を説明する。
【００３０】
２Ｎ個（Ｎは自然数）の量子化方向コードを決めるためにＮ本の軸を導入する。例えば、Ｎ＝４のとき、図１１に示すように４本の軸に沿って０，１，．．．，６，７の８つの方向コードを定義する。これらの２Ｎ方向とＮ本の軸をもとにして、多角形近似された閉輪郭線の線分を「セグメント」に統合しながら輪郭を解析する。
【００３１】
まず、閉輪郭線をＮ本の各軸に沿って見たときに、極大点又は極小点となる点を、輪郭点の分割点とする（ステップ３０２）。例えば、Ｎ＝４のとき、図１０の閉輪郭線からは、図１２に示す太短線と閉輪郭線との交点がそれぞれ分割点として抽出される。各分割点の近傍の（）中の数字１〜１３は分割点のラベルであり、図５中の「分割点」欄の数字に対応している。
【００３２】
閉輪郭線は分割点で「部分セグメント」に分割される。換言すれば、この分割によって、輪郭上の連続した線分が「部分セグメント」に統合される。この部分セグメントは、Ｎ本のどの軸上でも、それを１つの端点からもう１つの端点へと辿る運動の射影が単調変化するような、連続した線分の集まりである。例えば、Ｎ＝４のとき、図１０の閉輪郭線から、図１２に示すような１３個の部分セグメントＡ〜Ｍが得られる。これら各部分セグメントと分割点とが対応付けられて図５の「部分セグメント」欄に示されている。隣り合う部分セグメントが共有する分割点は、それら部分セグメントの「連結点」でもあるので、以下の説明中では「連結点」と呼ぶ。
【００３３】
次に、隣接する２つの部分セグメントの連結点の局所的な凹凸構造によって、「連結の向き」（凹凸）をチェツクする（ステップ３０３）。すなわち、隣接する２つの部分セグメントをａとｂとして、ａからｂに移るように輪郭を辿った時に、連結点の周りで反時計回りになるときには、すなわち輪郭の凸部分に相当するときには、その連結の向きをａ−→ｂと表す。逆に、連結点の周りで時計回りになるときには、つまり輪郭の凹部分に相当するときには、その連結の向きをｂ−→ａと表す。Ｎ＝４とし、図１２に示す各連結点の「連結の向き」（凹凸）を図５の「凹凸」欄に示す。「凹凸」欄において、「０」は凸であること、すなわち「連結の向き」がａ−→ｂであることを示し、「１」は凹であること、すなわち「連結の向き」がｂ−→ａであることを示す。
【００３４】
次に、各連結点に関し「方向特徴」を求める（ステップ３０４）。まず、各連結点の方向を求める。すなわち、隣接する２つの部分セグメントを、その連結の向きに辿った時に、その連結点が極値をとる量子化方向を求める。例えば、図１２の部分セグメントＡ，Ｂの連結点の場合、図１６から明らかなように、ＡからＢを辿ったときに、その連結点は、方向３の軸及び方向４の軸に沿って極値をとり、それぞれ方向３と方向４の向きに凸であるので、その方向は３と４である。また、図１２の部分セグメントＧ，Ｈの連結点の場合、図１７から明らかなように、ＨからＧを辿ったときに、その連結点は方向３，４，５の各軸に沿って極値をとり、それぞれ方向３，４，５の向きに凸であるので、その方向は３，４，５である。図１２の閉輪郭線の各連結点の方向は図５の「方向」欄に示す通りである。
【００３５】
そして、ａ−→ｂ又はｂ−→ａの部分セグメントａ，ｂの連結点が量子化方向(j, j+1(mod 2N),..., k)に向いているときに、それぞれの連結点の方向特徴をａ−j,k→ｂ，ｂ−j,k→ａと表す。例えば図１２に示した１３個の部分セグメントに対しては、次のような部分セグメントの連結点の特徴が得られる。
Ｌ−3,3→Ｍ，Ｋ−2,2→Ｌ，Ｊ−1,1→Ｋ，Ｉ−0,0→Ｊ，
Ｈ−7,7→Ｉ，Ｈ−3,5→Ｇ，Ｆ−1,1→Ｇ，Ｅ−0,0→Ｆ，
Ｄ−7,7→Ｅ，Ｃ−6,6→Ｄ，Ｂ−5,5→Ｃ，Ａ−3,4→Ｂ，Ａ−7,7→Ｍ。
次に、以上のようにして得られた部分セグメントの連結点の特徴をまとめ、
ａ0 −j(1,0),j(1,1)→ ａ1 −j(2,0),j(2,1)→・・・・−j(n,0),j(n,1)→ ａn
の形の系列を得る（ステップ３０５）。この形の系列に対応する部分輪郭を「セグメント」と呼ぶ。なお、セグメントの２端点のうちで、ａ0上にある端点をセグメントの始点、ａn上にある端点をセグメントの終点とし、１つのセグメントを始点から終点へと辿ると、セグメントの各部分セグメントの連結点の周りでは、いつも反時計回りに動くものとする。したがって、例えば、図１２に示す１３個の部分セグメントから、図１３に示す４個のセグメントＳ1，Ｓ2，Ｓ3，Ｓ4、すなわち、
Ｓ1：Ａ−7,7→Ｍ
Ｓ2：Ａ−3,4→Ｂ−5,5→Ｃ−6,6→Ｄ−7,7→Ｅ−0,0→Ｆ−1,1→Ｇ
Ｓ3：Ｈ−3,5→Ｇ
Ｓ4：Ｈ−7,7→Ｉ−0,0→Ｊ−1,1→Ｋ−2,2→Ｌ−3,3→Ｍ
が得られる。図５の「セグメント」欄に、これら各セグメントと部分セグメントとの対応が示されている。「凹凸」欄と対比すると明らかなように、凹（＝１）の分割点では、それを連結点とする２つの部分セグメントが１つのセグメントに統合され、また、凹（＝１）の分割点と次の凹（＝１）の分割点との間の部分セグメントが１つのセグメントに統合される。
【００３６】
次に、各セグメントの回転の度合と方向を記述する特性数＜ｒ，ｄ＞を求める（ステップ３０６）。ここで、ｒとｄは例えば次式により計算する。ただし、式中のＡ％Ｂは整数Ａを自然数Ｂで割った余りを示す。
【００３７】
【数１】
0003815704.tif 000002
【００３８】
例えば、図１３に示す４つのセグメントの特性数は、それぞれ<2,7>,<8,3>,<4,3>,<6,7>となる。
【００３９】
さらに、輪郭線を囲む最小の直立長方形の中心が(0,5,0.5)、長い辺の長さが１になるような座標系を設定し、この座標系で、セグメントの大きさと位置の特徴として、その始点の位置（ｘs,ｙs）と終点の位置（ｘE,ｙE）、セグメントを囲む最小の直立長方形の大きさ（Ｗ，Ｈ）と中心の位置（ｘc,ｙc）を計算し、これらの８つの実数を０からＬ−１までの整数に量子化した８つのパラメータに特性数<r,d>を加えた１０個の整数の組
【００４０】
【外１】
0003815704.tif 000003
【００４１】
で、セグメントの特徴を記述する（ステップ３０７）。
【００４２】
さらに隣接するセグメントの結合をチッェクし、セグメントの結合を記述する（ステップ３０８）。隣接するセグメントＳ，Ｔは互いに、対応する系列の先頭又は最後の部分セグメントを共有して結合する。先頭の部分セグメントを共有する場合を「ｈ結合」と呼び、Ｓ−h−Ｔと表し、最後の部分セグメントを共有する場合を「ｔ結合」と呼び、Ｓ−t−Ｔと表す。ただし、セグメントは図形の内部を左手に見るような順番で並んでいるものとする。したがって、例えば図１３に示す４個のセグメントＳ1,Ｓ2,Ｓ3,Ｓ4の結合は、
Ｓ1−h−Ｓ2−t−Ｓ3−h−Ｓ4−t−Ｓ1
と記述される（図５の「セグメント」欄参照）。
【００４３】
特徴抽出部１５５による処理内容は、対象がモデル図形として入力された閉じた閉輪郭線（又は閉じた線図形）であることを別にすれば、以上に述べた特徴抽出部１０５の処理内容と同じである。
【００４４】
＜特徴合成部１１０又は１６０＞
後に詳細に述べるように分類検索部１１５では、モデル毎に投票箱を用意し、入力図形から抽出された各セグメントの特徴（前記１０個の整数の組）に対応する分類表１２０のエントリー（モデル図形の識別子のリスト）を参照し、同リスト上の各モデル識別子に対応した投票箱に１票を投票し、得票数の多寡によって入力図形を分類する。ところが、前に簡単に触れたように、入力図形に重畳するノイズや輪郭の局所的変形により、輪郭のセグメントの特徴は簡単に変化してしまう。この変化を考慮せず、入力図形及びモデル図形から抽出されたセグメントの特徴だけを用いたのでは、ノイズや局所的変形があると、正しいモデル図形に対する得票数が多くなるとは限らず、ノイズや局所的変形に弱い。また、１つのモデルに１つのサンプル図形しか使えない場合には、パターン認識における、データからの統計的・帰納的学習の手法を用いることができない。
【００４５】
このような弱点を解消するため、本実施例では、ある種類の図形の変形操作によって生じる特徴の変換規則を構築し、図形から抽出されたセグメントの特徴にこの特徴変換規則を適用することにより、ノイズや輪郭の局所的変形によって発生する変形図形から抽出される可能性のあるセグメント特徴を合成する。このセグメント特徴の合成は、特徴合成部１１０及び同１６０で行われ、図形（入力図形又はモデル図形）から抽出されたセグメント特徴及び変換規則により合成されたセグメント特徴が、入力図形の分類及び分類表１２０の作成の両方に使われる。
【００４６】
ノイズ又は輪郭の局所的変形によるセグメントの特徴変換として、具体的には例えば次の３通りを考える。
▲１▼  輪郭の法線方向の揺らぎによって生じる凹凸構造の変化による、輪郭のセグメント分割の変動と、それにともなう量子化された回転数・方向つまり特性数＜ｒ，ｄ＞の再定義。
▲２▼  小さな回転による量子化された回転数・方向つまり特性数＜ｒ，ｄ＞の変化。
【００４７】
▲３▼  セグメントの大きさや中心と端点の位置の揺らぎによる特性数以外の特徴（８つのパラメータ）の変化。
これらの特徴変換について順に説明する。
【００４８】
《特徴変換▲１▼：輪郭の法線方向に沿った変動》
多角形近似された輪郭から構造的特徴（セグメント特徴）によるコンパクトな表現を得ることができるが、これは輪郭線に加わるノイズや観測されるスケールによって生ずる凹凸変化に影響を受けやすい。例えば、図１４の（Ａ）の部分輪郭と（Ｂ）の部分輪郭は大局的に見るとよく似ているが、局所的な変形のために構造的な特徴は異なったものとなる。Ｎ＝４としたとき、（Ａ）の部分輪郭は、それぞれ特性数<6,6>，<2.6>，<3,2>を持ちＳ1−t−Ｓ2−h−Ｓ3  のように結合する３つのセグメントにより表される。これに対し、（Ｂ）の部分輪郭は、それぞれ特性数<6,6>，<2,6>，<2,2>，<2,6>，<3,2>を持ちＳ1'−t−Ｓ2'−h−Ｓ3'−t−Ｓ4'−h−Ｓ5'のように結合する５つのセグメントにより表される。
【００４９】
このようなノイズや観測スケールによる構造変化は輪郭の法線方向の変形と考えることができるので、かかる変形を吸収するために、構造的特徴が互いに似たものになるようにセグメントを編集することを考える。図１４に示す２つの部分輪郭の場合、図１５の（Ａ）と（Ｂ）に示すように、Ｓ2,Ｓ2',Ｓ3'，Ｓ4'の部分を覆う如く｛Ｓ1,Ｓ2,Ｓ3｝と｛Ｓ1',Ｓ2',Ｓ3',Ｓ4',Ｓ4',Ｓ5'｝をそれぞれ１つのセグメントＳ，Ｓ'に置き換えることによって、互いに似た構造的特徴を持つように変換できる。
【００５０】
一般的には、次のような規則で変換する。
（１）Ｓ1−h−Ｓ2−t−・・・−t−Ｓnのように結合し、特性数＜ｒi,ｄi＞を持つ連続したｎ個（ｎは奇数）のセグメントＳi（i=1,...,n）について、
【００５１】
【数２】
0003815704.tif 000004
【００５２】
ならば（統合条件１）、これらのｎ個のセグメントを、
【００５３】
【外２】
0003815704.tif 000005
【００５４】
を持つ１つのセグメントＳに統合する。
【００５５】
（２）Ｓ1−t−Ｓ2−h−・・・−h−Ｓnのように結合し、特性数＜ｒi,ｄi＞を持つ連続したｎ個（ｎは奇数）のセグメントＳi（i=1,...,n）について、
【００５６】
【数３】
0003815704.tif 000006
【００５７】
ならば（統合条件２）、これらｎ個のセグメントを、
【００５８】
【外３】
0003815704.tif 000007
【００５９】
を持つ１つのセグメントＳに統合する。
【００６０】
特徴合成部１１０又は１６０は、統合するセグメントの最大個数を示す整数パラメータをＭとし、入力図形又はモデル図形の多角形近似された閉輪郭線から抽出された各セグメントに対し、連続するｎ個（n=1,3,...,M）のセグメントを上記の規則により統合し、変形したセグメントの特性数を合成する。閉輪郭線から抽出されるセグメントの個数をｍとすると、上記の規則によりｍＭのオーダーの個数（これをＯ（ｍＭ）個と記す、以下同様）の特性数が生成される。例えば、Ｎ＝４のとき、図１３の４つのセグメントは特性数<2,7>，<8,3>，<4,3>，<6,7>を持つが、Ｍ＝３のときに<2,7>，<8,3>，<10,3>，<4,3>，<6,7>，<12,7>の６つの特性数が合成される。
【００６１】
《特徴変換▲２▼：図形の回転による特性数の変化》
セグメントの特性数＜ｒ，ｄ＞（ｒ≧２）は、図形の回転によって変化することがある。いま特性数＜ｒ，ｄ＞を持つセグメントが系列
ａ0−d,d→ａ1−d+1,d+1→・・・−r+d-2,r+d-2→ａn
で表されるとする。このセグメントを
【００６２】
【外４】
0003815704.tif 000008
【００６３】
だけ回転させると、このセグメントは次の５通りに変化し得る。
(1)α0−d,d→α1−d+1,d+1→・・・−r+d-2,r+d-2→αn
(2)α-1−d-1,d-1→α0−d,d→α1−d+1,d+1→・・・−r+d-2,r+d-2→αn
(3)α0−d,d→α1−d+1,d+1→・・・−r+d-2,r+d-2→αn−r+d-1,r+d-1→αn+1
(4)α0−d,d→α1−d+1,d+1→・・・−r+d-3,r+d-3→αn-1
(5)α1−d+1,d+1→・・・−r+d-2,r+d-2→αn
このそれぞれの場合から、セグメントに微小な回転を与えることにより、特性数は、
(1)  ＜ｒ，ｄ＞
(2)  ＜ｒ＋１，ｄ−１＞
(3)  ＜ｒ＋１，ｄ＞
(4)  ＜ｒ−１，ｄ＞  （ｒ≧３）
(5)  （ｒ−１，ｄ＋１＞  （ｒ≧３）
に変換され得る。
【００６４】
例えば、特性数＜ｒ，ｄ＞を持つ円弧
【００６５】
【外５】
0003815704.tif 000009
【００６６】
において、
(1)  ε＝π／(２Ｎ)，ψ＝±π／(４Ｎ)
(2)  ε＝π／Ｎ，ψ＝−π／(４Ｎ)
(3)  ε＝π／Ｎ，ψ＝π／(４Ｎ)
(4)  ε＝π／(４Ｎ)，ψ＝−π／(４Ｎ)
(5)  ε＝π／(４Ｎ)，ψ＝π／(４Ｎ)
を考えればよい。このうち、(1)，(2)，(4)について、Ｎ＝４，ｒ＝４，ｄ＝０の変換例を図１８に示す。
【００６７】
特徴合成部１１０又は１６０は、「輪郭の法線方向に沿った変動」による変換規則（特徴変換▲１▼）を適用して、各セグメントに対し最大
【００６８】
【外６】
0003815704.tif 000010
【００６９】
個の変形したセグメントの特性数を合成し、これら合成された特性数それぞれに対して、ここで述べる「図形の回転による特性数の変化」による変換規則（特徴変換▲２▼）によって最大５個の特性数を合成する。したがって、各セグメントから、特徴変換▲１▼及び特徴変換▲２▼の適用により最大
【００７０】
【外７】
0003815704.tif 000011
【００７１】
個の特性数が生成される。閉輪郭線から抽出されるセグメントの個数をｍとすれば、この段階でＯ（ｍＭ）個の特性数が生成されることになる。
【００７２】
例えば、Ｎ＝４のときに、図１３の４つのセグメントはそれぞれ特性数<2,7>，<8,3>，<4,3>，<6,7>を持つが、これに特徴変換▲１▼を適用すれば、Ｍ＝３のときに、６個の特性数<2,7>，<8,3>，<10,3>，<4,3>，<6,7>，<12,7>が合成される。これらの合成された特性数に特徴変換▲２▼を適用すれば、２８個の特性数<2,7>，<3,6>，<3,7>，<8,3>，<9,2>，<9,3>，<7,3>，<7,4>，<10,3>，<11,2>，<11,3>，<9,3>，<9,4>，<4,3>，<5,2>，<5,3>，<3,3>，<3,4>，<6,7>，<7,6>，<7,7>，<5,7>，<5,8>，<12,7>，<13,6>，<13,7>，<11,7>，<11,8>が合成される。
【００７３】
《特徴変換▲３▼：局所的な大きさや位置の変動》
セグメントのパラメータ、すなわちセグメントの始点の位置（ｘs，ｙs）と終点の位置（ｘE，ｙE）、セグメントを囲む最小の直立長方形の大きさ（Ｗ，Ｈ）と中心の位置（ｘc，ｙc）は、局所的な変形やノイズによって変動する。また、これらパラメータｘs，ｙs，ｘE，ｙE，ｘc，ｙc，Ｗ，ＨはそれぞれＬ段階（Ｌは自然数）に量子化されて取り扱われる。すなわち、パラメータｐ（ｐはｘs，ｙs，ｘE，ｙE，ｘc，ｙc，Ｗ，Ｈのいずれか）の値が、ｉ≦ｐＬ＜ｉ＋１（０≦ｉ＜Ｌ）のとき、ｐの値は整数ｉに量子化される。このような量子化による誤差を考慮する必要がある。
【００７４】
そこで、特徴合成部１６０では、特徴変換▲３▼として、実数パラメータα（０≦α≦１）に対して、ｉ≦ｐＬ≦ｉ＋α／２（０＜ｉ＜Ｌ）ならば、ｐの量子化値として整数ｉの他にｉ−１も生成し、また、ｉ＋１−α／２≦ｐＬ＜ｉ＋１（０≦ｉ＜Ｌ−１）ならば、ｐの量子化値として整数ｉの他にｉ＋１も生成する。
【００７５】
したがって、特徴変換▲１▼、特徴変換▲２▼及び当該特徴変換▲３▼によって、各セグメントから最大
【００７６】
【外８】
0003815704.tif 000012
【００７７】
個の特徴（前記の１０個の整数の組）が生成される。よって、閉輪郭線から抽出されるセグメントの個数をｍとすると、最大
【００７８】
【外９】
0003815704.tif 000013
【００７９】
個の特徴が生成される。さらに、パラメータｐの値が区間［０，１］上で一様分布すると仮定すると、１つのセグメントから平均Ｏ（(１＋α)8・Ｍ）個、１つの輪郭線から平均Ｏ（(１＋α)8・Ｍｍ）個の特徴が合成されることになる。
【００８０】
なお、本実施例においては、この特徴変換▲３▼の適用による特徴合成はモデル構築の際に特徴合成部１６０で実行され、特徴合成部１１０では実行されない。つまり、分類表１２０を作成する際には、図形分類時に比べ、より多くの変形図形を考慮する。
【００８１】
図６は、以上に述べた特徴合成部１１０の処理の流れを示すフローチャートである。特徴合成部１１０においては、まず、特徴抽出部１０５によって入力図形から抽出されたセグメント系列中の１つのセグメントを前記特徴変換▲１▼のための統合候補の先頭セグメントに設定し（ステップ４００）、この先頭セグメントから３つ目のセグメントを統合候補の末尾セグメントに設定する（ステップ４０１）。そして、先頭セグメントから末尾セグメントまでのセグメント系列について特徴変換▲１▼のための前記統合条件１又は２が成立するか判定する（ステップ４０２）。統合条件１と統合条件２のいずれも成立しないときには、現在の末尾セグメントから２つ先のセグメント（統合するセグメント数は奇数である）を改めて末尾セグメントに設定し（ステップ４０７）、統合条件の判定を行う（ステップ４０１）。
【００８２】
統合条件１又は統合条件２が成立した場合、先頭セグメントから末尾セグメントまでのセグメント系列の統合セグメントを生成し（ステップ４０３）、成立した統合条件に応じて、その統合セグメントの特性数と８組のパラメータを計算する（ステップ４０４）。かくして、例えば図１４に示したようなセグメント系列が図１５に示すようなセグメントに統合され、そのセグメント特徴が作られるわけである。
【００８３】
このようにして統合セグメントの特徴が得られると、次に、この統合セグメントに対し前記特徴変換▲２▼を適用する（ステップ４０５）。この特徴変換▲２▼の適用によって、統合セグメントの特性数を回転操作した５つの変形セグメント特徴が得られる。ただし、この変形セグメント特徴の８組のパラメータとしては、統合セグメントの８組のパラメータがそのまま用いられる。
【００８４】
特徴合成部１１０は、得られた５つの変形（合成）セグメント特徴を保存し（ステップ４０６）、再び末尾セグメントを先に移動させ（ステップ４０７）、ステップ４０２以降の処理を続ける。この処理の繰り返しは、末尾セグメントが先頭セグメントまで戻るか、又は先頭セグメントから末尾セグメントまでのセグメント数が一定値を越えるまで続く。
【００８５】
末尾セグメントが先頭セグメントまで戻るか、又は先頭セグメントから末尾セグメントまでのセグメント数が一定値を越えると（ステップ４０８，ＹＥＳ）、特徴合成部１１０は、現在の先頭セグメントの１つ先のセグメントを改めて先頭セグメントに設定し（ステップ４０９）、ステップ４０１以降の処理を繰り返して行う。ただし、新たに設定した先頭セグメントが、最初に先頭セグメントに設定したセグメントに戻ったときには（ステップ４１０，ＹＥＳ）、処理を終了する。
【００８６】
＜表合成部１６５及び分類検索部１１５＞
構造的インデクシングによるモデルの構築においては、モデル図形入力部１５０により入力したモデル図形から特徴抽出部１５５によって抽出されたセグメント特徴に対し、特徴合成部１６０において前述の３つの特徴変換▲１▼▲２▼▲３▼（変換モデル）を適用することにより、１つのモデル図形につき平均Ｏ（(１＋α)8・Ｍｍ）個のセグメント特徴を生成する。表作成部１６５は、それらの各セグメント特徴から分類表１２０のインデックスを計算し、このインデックスに対応する分類表１２０のエントリーのモデル識別子リストに、そのモデルの識別子を付加することにより、モデル集合に対する分類表１２０を作成する。
【００８７】
モデル集合に含まれるモデルの個数をｎ、分類表１２０のインデックスの総数をＩとすると、分類表１２０の各エントリーには平均Ｏ（(１＋α)8・Ｍｍｎ／Ｉ）個のモデル識別子が格納される。ここで、モデルｉ（ｉ＝1,2,...,n）に対し、特徴変換▲１▼と特徴変換▲２▼を適用して合成される特徴の数（インデックスの数）ｃiが予め求められて保存されている。例えばＮ＝４，Ｍ＝３のとき、モデル図形が図１３の輪郭線を持つとすればｃi＝２８となる。
【００８８】
分類検索部１１５は入力図形の分類と該当図形の検索を行う。図７は分類検索部１１５の処理の流れを示すフローチャートである。
【００８９】
分類検索部１１５は、入力図形に関するセグメント特徴（入力図形の輪郭から得られたセグメント特徴と、それに対し特徴変換▲１▼及び▲２▼を適用して合成したセグメント特徴）の中からセグメント特徴を１つ選び（ステップ５００）、そのセグメント特徴から分類表１２０のインデックス（アドレス）を計算する（ステップ５０２）。そのインデックス（アドレス）に対応する分類表１２０のエントリーをアクセスし、モデル識別子リストを読み出す（ステップ５０３）。そして、そのモデル識別子リスト中の各モデル識別子（ｉ）に対応した得票数ｖiに１を加算する（ステップ５０４）。ただし、得票数ｖiの初期値は０である。つまり、注目したセグメント特徴と同じセグメント特徴を持つモデルの投票箱に１票ずつ投票するわけである。ステップ５００〜５０４の処理ループを繰り返し、同様の投票操作を入力図形に関する全てのセグメント特徴に対して行う。
【００９０】
入力図形に関する全てのセグメント特徴について投票操作を行い、未処理のセグメント特徴がなくなると（ステップ５０１，ＮＯ）、各モデルｉの得票数ｖiをｃiで正規化し（ステップ５０５）、ｖi／ｃiの値の大きな順にモデルをソートする（ステップ５０６）。そして、上位のいくつかのモデルを候補として選択する（ステップ５０７）。図形の分類が目的の場合は、このようにして候補として絞り込んだモデルの識別子を分類結果として出力する（ステップ５０７）。図形の検索が目的の場合は、絞り込んだモデルの識別子を検索キーとして、図形データベース１２５より該当する図形パターンを取り出し、それを検索結果として例えばディスプレイ２２０に出力する（ステップ５０８）。
【００９１】
本実施例によれば、以上に説明したように、図形から抽出された構造的特徴に特定の変換規則を適用することにより変形図形の構造的特徴を合成するため、比較的少ない計算量で、ノイズや局所的変形がある場合も考慮した図形分類用特徴を取得することができる。また、モデル図形から抽出された構造的特徴と、それに特定の変換規則を適用して合成した構造的特徴のそれぞれを使うことにより、比較的少ない計算量で、ノイズや局所的変形を考慮した構造的インデクシングのための表を作成することができる。したがって、１つのモデルに対して１つのサンプルしか使えないような場合にも、ノイズや局所的変形に頑健な効率的・高速な構造的インデクシングによる図形分類・検索が可能である。したがって、本実施例の図形分類・検索システムは、後記の第２の実施例の図形分類システムとともに、図形の変形に柔軟に対応する必要がある図形分類・検索の用途、例えば、植物の葉の輪郭形状（又は葉の画像）を入力し、その植物の種類を調べるような用途に特に効果的である。
【００９２】
［実施例２］
図１９に、本発明の他の実施例による図形分類システムの概略構成を示す。図１９において、画像入力部１１００はイメージスキャナやデジタルカメラ等の画像入力装置より分類（認識）したい図形の画像を入力する部分である。ここで図形とは、図形や物体の輪郭を表す閉曲線である。輪郭抽出部１１０５は、入力された画像から図形の閉じた輪郭線を抽出する部分である。なお、デジタイザなどで図形の輪郭を表す閉曲線を直接的に入力するための線図形入力部１１０６を設け、これにより入力された図形に対しては輪郭抽出処理は不要である（必要に応じて細線化処理を施してもよい）。多角形近似部１１１０は、入力図形の輪郭線に対し、例えばＲａｍｅｒの方法などによって、多角形近似（区分線分近似）をする部分である。例えば図８に示す図形の画像が入力された場合、図９に示す閉輪郭線が抽出され、これが図１０に示すような多角形に近似される。
【００９３】
特徴抽出部１１１５は、多角形近似された輪郭を、量子化方向特徴と準凹凸構造に基づいて解析し、連続したいくつかの線分をより高いレベルの構造的特徴に統合することにより、図形の輪郭の構造的特徴のコンパクトな表現を得る部分である。この量子化方向特徴と準凹凸構造に基づく構造的特徴の抽出処理の内容は、前記実施例１に関連して図４のフローチャートを参照し説明した通りであるので、ここでは説明を繰り返さない。
【００９４】
予め用意された多数のモデル図形の集合に対し、各モデル図形毎にその輪郭の構造的特徴が以上に述べた方法により予め抽出され、それが辞書１１２５に格納されている。図形の分類の際には、マッチング部１１２０において、特徴抽出部１１１５から入力される入力図形の輪郭の構造的特徴と、辞書１１２５より入力されるモデル図形の輪郭の構造的特徴とのマッチングを行い、モデル図形と入力図形との輪郭の相違度（又は類似度）を求める。分類（認識）部１１３０は、マッチング部１１２０で求められた各モデル図形と入力図形との相違度（又は類似度）を比較し、入力図形に最も近い、つまり相違度の最も小さい（又は類似度の最も大きい）モデル図形を１つ（又は複数個）選ぶ。
【００９５】
マッチング部１１２０は、概念的には、入力図形とモデル図形の輪郭の構造的特徴の間の最適な対応関係を求める対応付け部１１２１と、この対応関係をもとに輪郭の構造的特徴間のだいたいの点対応が決められるので、この点対応をもとにモデル図形を入力図形に近づけるようにモデル図形の幾何学的変換（モデル図形の正規化）を行う正規化部１１２２と、正規化後のモデル図形と入力図形の間の距離を計算する距離計算部１１２３とからなる。
【００９６】
対応付け部１１２１は、２つの輪郭の構造的特徴間の対応関係を求める際に、２つの輪郭の構造的特徴を互いに近くなるように、それぞれの構造的特徴を編集するためのコストを評価し、この編集コストが最小となるような最適な対応関係を求める。このような２つの輪郭の構造的特徴の編集とそのコストについて次に説明する。
【００９７】
前述のように、多角形近似された輪郭から構造的特徴によるコンパクトな表現を得ることができるが、このような記述は、輪郭線に加わるノイズや、観測されるスケールによって生じる凹凸変化に影響されやすい。繰り返しになるが、例えば、図１４の（Ａ）の部分輪郭と（Ｂ）の部分輪郭は大局的に見るとよく似ているが、局所的な変形のために構造的な特徴は異なったものとなる。Ｎ＝４としたとき、（Ａ）の部分輪郭は、それぞれ特性数<6,6>，<2.6>，<3,2>を持ち、
Ｓ1−t−Ｓ2−h−Ｓ3  のように結合する３つのセグメントにより表される。これに対し、（Ｂ）の部分輪郭は、それぞれ特性数<6,6>，<2,6>，<2,2>，<2,6>，<3,2>を持ちＳ1'−t−Ｓ2'−h−Ｓ3'−t−Ｓ4'−h−Ｓ5'のように結合する５つのセグメントにより表される。ノイズや観測スケールによる構造変化は輪郭線の法線方向の変形と考えることができるので、このような変形を吸収するために、それぞれの構造的特徴を、互いに似たようなものになるように編集することを考える。例えば、図１４に示す２つの部分輪郭の場合、図１５の（Ａ）と（Ｂ）に示すように、Ｓ2,Ｓ2',Ｓ4'の部分を覆う如くセグメントのブロック｛Ｓ1,Ｓ2,Ｓ3｝と｛Ｓ1',Ｓ2',Ｓ3',Ｓ4',Ｓ4',Ｓ5'｝を１つのセグメントＳ，Ｓ'にそれぞれ置き換えることにより、互いに似た構造的特徴を持つように編集できる。
【００９８】
より一般的に述べれば、一方の部分輪郭がｍ個の連続するセグメントのブロック｛Ｓ1,Ｓ2,...,Ｓm｝からなり、他方の部分輪郭がｎ個の連続するセグメントのブロック｛Ｓ1',Ｓ2',...,Ｓn'｝からなるとする。セグメントＳi（ｉ＝1,...,m）の特性数を＜ｒi,ｄi＞、セグメントＳi'（ｉ＝1,...,n）の特性数を＜ｒi',ｄi'＞とする。この２つの部分輪郭が次の条件（ａ）又は（ｂ）を満たすときに、それぞれのセグメント・ブロックを１つのセグメントに置き換えることを考える。すなわち、
条件（ａ）：Ｓ1−h−Ｓ2−t−・・・−t−Ｓm
かつ  Ｓ1'−h−Ｓ2'−t−・・・−t−Ｓn'
を満たすときには、セグメント・ブロック｛Ｓ1,Ｓ2,...,Ｓm｝を
【００９９】
【外１０】
0003815704.tif 000014
【０１００】
を持つ１つのセグメントＳに置き換え、セグメント｛Ｓ1',Ｓ2',...,Ｓn'｝を
【０１０１】
【外１１】
0003815704.tif 000015
【０１０２】
を持つ１つのセグメントＳ’に置き換えることを考える。
【０１０３】
条件（ｂ）：Ｓ1−t−Ｓ2−h−・・・−h−Ｓm
かつ  Ｓ1'−t−Ｓ2'−h−・・・−h−Ｓn'
を満たすときには、セグメント・ブロック｛Ｓ1,Ｓ2,...,Ｓm｝を
【０１０４】
【外１２】
0003815704.tif 000016
【０１０５】
を持つ１つのセグメントＳに置き換え、セグメント｛Ｓ1',Ｓ2',...,Ｓn'｝を
【０１０６】
【外１３】
0003815704.tif 000017
【０１０７】
を持つ１つのセグメントＳ’に置き換えることを考える。なお、上記の条件（ａ）と条件（ｂ）は２つの部分輪郭の凹凸が一致するための条件である。そして、このような２つのセグメント・ブロックのセグメントへの置換のための編集コストを例えば次のように定義する。
【０１０８】
【数４】
0003815704.tif 000018
【０１０９】
ここで、l(Si)はセグメントＳi（ｉ＝1,...,m）の長さ、l'(Si')はセグメントＳi'（ｉ＝1,...,n）の長さ、Ｌ（Ｓ1Ｓ2・・・Ｓm）は｛Ｓ1,Ｓ2,...,Ｓm｝からなる部分輪郭の長さ、Ｌ（Ｓ1'Ｓ2'・・・Ｓn'）は｛Ｓ1',Ｓ2',...,Ｓn'｝からなる部分輪郭の長さである。ｗは重み係数である。上式の右辺の第１項は統合後のセグメントＳ，Ｓ’の間の長さの差（長さの相違度）を表し、また、第３項は、統合後のセグメントＳ，Ｓ’の間の回転量の差（回転量の相異度）を表す。第２項が統合によって埋められるセグメントの長さの総和、つまり編集による変形量を表し、これが編集操作に関わる直接的なコストに相当する。ただし、２つの輪郭の構造的特徴を互いに近づけるための編集コストを評価することが目的であるから、編集後のセグメント間の相異度も当然考慮する必要がある。編集後の相異度が大きいのでは、その編集は無意味であるからである。したがって、上式では、編集による変形量に、編集後のセグメント間の相異度を修正項として加えた値を、編集コストとして評価している。ただし、編集コストの評価式はこれに限定されるものではなく、適宜な評価式を採用可能である。例えば、上式の右辺の３項を乗算した値を編集コストとするような評価式も可能である。
【０１１０】
さて、閉輪郭線の構造特徴はセグメントを要素とする循環列で記述できるので、マッチング部１１２０の対応付け部１１２１における２つの輪郭の構造的特徴の対応付けの問題は、上に述べたセグメントのブロック置換による編集のコストが全体として最小になるような、編集操作の集合を見つけることになる。例えば、図２１に示すような、特性数<3,3>,<0,7>,<2,1>,<2,1>を持ちＴ1−h−Ｔ2−t−Ｔ3−h−Ｔ4−t−Ｔ1と結合した４つのセグメントＴ1,Ｔ2,Ｔ3,Ｔ4によって表されるモデル図形の輪郭と、図１３に示すような入力図形の輪郭とのマッチングを考えると、編集の総コストが最小となる対応付けは、
（１）｛Ｓ4,Ｓ1,Ｓ2｝←→｛Ｔ2,Ｔ3,Ｔ4｝
（２）｛Ｓ3｝←→｛Ｔ1｝
である。
【０１１１】
正規化部１１２２は、このようにして決定された入力図形とモデル図形の輪郭の対応付けをもとに、モデル図形を入力図形に近づけるような幾何学的変換、例えばアフィン変換をモデル図形に施す。ただし、入力図形側をモデル図形に近づけるようにアフィン変換することも可能である。図２１のモデル図形に上に述べたように入力図形とセグメント・ブロックを対応付けてアフィン変換を施すと、図２２のような図形に正規化される。この正規化されたモデル図形と図１０の入力図形を重ね合わせると図２３のようになり、両図形のずれの程度がモデル図形と入力図形との類似度又は相違度に反映される。距離計算部１１２３は、上に述べたような正規化されたモデル図形と入力図形（入力図形側を正規化する場合は正規化された入力図形とモデル図形）との間の幾何学的な距離を計算する。この距離尺度としては、例えば、Housdorff距離や一般化Housdorff距離を用いることができる。
【０１１２】
以上に説明したマッチング部１１２０と分類（認識）部１１３０による処理の全体的な流れについて、図２０のフローチャートを参照して要約する。マッチング部１１２０において、辞書１１２５より１つのモデル図形の輪郭の構造的特徴を取り出す（ステップ１１５０）。そして、対応付け部１１２１で、前述のように編集コストが最小となるようなモデル図形と入力図形の輪郭の構造的特徴間の最適な対応付けを求め（ステップ１１５１）、この対応付けに基づいて、正規化部１１２２でモデル図形に対し入力図形に近づけるようアフィン変換を施し（ステップ１１５２）、距離計算部１１２３でアフィン変換後のモデル図形と入力図形との間の距離を計算する（ステップ１１５３）。マッチング部１１２０は、同様の処理を各モデル図形に関して行い、最後のモデル図形に対する処理が終わると（ステップ１１５４，ＹＥＳ）、各モデル図形に関して得られた距離のデータを分類（認識）部１１３０に渡しマッチング処理を終わる。分類（認識）部１１３０において、渡された距離が小さい順にモデル図形をソートし（ステップ１１５５）、上位の１つ又は複数のモデル図形を分類候補として選び、その識別子を分類（認識）結果として出力する（ステップ１１５６）。
【０１１３】
マッチング部１１２０における１つのモデル図形と入力図形とのマッチングアルゴリズムの具体例をフローチャートの形式で図２４乃至図２６に示す。また、このアルゴリズム中で呼び出される関数segmentMatching()のアルゴリズムをフローチャートの形式で図２７及び図２８に示す。
【０１１４】
ここに示すマッチングアルゴリズムは動的計画法（ＤＰ）をもとにしており、２つの閉輪郭上のセグメントの個数をｍ，ｎとしたとき、Ｏ（ｍｎ log ｍ）の手間でセグメント・ブロックの対応を見つけることができる。また、一方の輪郭（例えばモデル図形の輪郭）上のセグメント（s(1),s(2),...,s(m)）が
s(1)-h−s(2)-t−・・・-t−s(m)-h−s(1)
と結合するような順番に並んでいるとし、他方の輪郭（例えば入力図形の輪郭）上のセグメント（t(1),t(2),...,t(n)）が
t(1)-h−t(2)-t-・・・-t−t(n)-h−t(1)
と結合するような順番に並んでいるとする。また、形式的に、m<i<=2*m のときs(i)=s(i-m)、n<j<=2*n のとき  t(j)=t(j-n) とする。また、ブロック置換により統合される連続したセグメントの最大個数をMBとする。left[2*n][2*m],right[2*n][2*m]はｓ，ｔの対応し得るセグメント・ブロックの範囲を記録するための２次元の整数配列である。
【０１１５】
ステップ１２０１〜１２３５のループ１は、ｘを１から１ずつインクリメントさせながらｘがmin(m,MB)を超えるまで繰り返される。このループ１において、ｘ−１（x=1,...,min(m,MB))だけシフトしたｓのシフト列Ｓ(x)=(s(x),s(x+1),...,s(x+m-1)を考え、ステップ１２０３及びステップ１２２１で関数segmentMatching()を呼び出すことにより、シフト列Ｓ(x)と、tのシフト列Ｔ(j)=（t(j),t(j+1),...,t(j+n-1)）との対応を見つける。ステップ１２０４〜１２１０及びステップ１２２２〜１２２８の部分で、関数segmentMatching()で設定されたポインタをもとに、Ｓ(x)とＴ(j)の間のセグメント・ブロックの対応を取り出す。ここで、関数segmentMatching()は、Wagner-Fisherによる近似ストリング・マッチングを応用するとＯ(ｍｎ)の手間がかかるので、総当たり的にマッチングを行えば全体でＯ(ｍ・ｎ2）の手間がかかることになるが、Ｔ(j)の生成順序を二分探索方式にし（ステップ１２１５〜１２１８，１２３２）、かつ、対応し得るセグメント・ブロックの範囲を２つの配列left,rightに記録しておくことによって、Ｏ(ｍｎ log ｍ）の手間でセグメント・ブロックの対応を見つけることができる。これは、M.Maes, "On a cyclic string-to-string correction problem,"Information Processing Letters, vol.35, pp.73-78,1990 に述べられている方法の拡張である。
【０１１６】
なお、図２４乃至図２６のアルゴリズムにおいて、dminは距離の最小値のための変数で、ループ１に入る前にステップ１２００で無限大に初期設定される。ループ１の内部において、ステップ１２０２でｊ＝1,2,...,nのleft[j][0]に０を代入したのちleft[1][0]に１を代入する。ステップ１２０３で、segmentMatching()を図示のように引数を設定して呼び出す。ステップ１２０５からステップ１２１１までのループ２は、i0>=0の間、繰り返される。このループ中のステップ１２０６で、１つ前のセグメントの終わりを示す(k0,l0)をsegmentMatching()で設定された今現在のセグメントの終わり(i0,j0)からのポインタにする。ステップ１２０７〜１２０９のループ３は、k0>=0かつi0>k0の条件を満たす間、繰り返される。ステップ１２１２〜１２１４のループ４は、ｉをｘからxmax-1まで１ずつインクリメントしながら、left[n+1][i]にleft[1][i]+nをright[n+1][i]にright[1][j]+nを代入する。ステップ１２１６から始まるループ５は、j<nの間、繰り返される。ループ５中には、ステップ１２１７〜１２３０のループ６があり、これはｋを１から１ずつインクリメントしながらｋがｊを超えるまで繰り返される。ループ６のステップ１２２１でsegmentMatching()を引数を図示のように設定して呼び出す。ステップ１２２３〜１２２９のループ７は、i0>=0の間、繰り返される。ステップ１２２４で、１つ前のセグメントの終わりを示す(k0,l0)を、segmentMatching()で設定された今現在のセグメントの終わり(i0,j0)からのポインタにする。ステップ１２２５〜１２２７のループ８はk>=0かつi0>k0の間繰り返す。ステップ１２３４では、dminをとるようなセグメント・ブロックの対応を、その時点における２つの輪郭の最適対応とする。最終的な最適対応と距離dminは、ループ１の最終回のステップ１２３４で決まる。
【０１１７】
図２７及び図２８に示す関数segmentMatching()は、引数としてセグメント列ｓ，ｔのシフト量ｘ，ｙ、対応し得るセグメント・ブロックの範囲を記録する配列left,right、これまでに見つかったセグメント・ブロックの対応から求められた図形間距離の最小値dminを与えられ、ｓのシフト列Ｓ(x)=(s(x),s(x+1),...,s(x+m-1))と、ｔのシフト列Ｔ(j)=(t(j),t(j+1),...,t(j+n-1))の間で、ブロック置換による編集コストが最小になるようなセグメント・ブロックの対応を求めるものである。ここに示すアルゴリズムは、ＤＰをもとにした、２つの文字列間の近似対応を求めるWagner-Fisherのアルゴリズムの拡張である。
【０１１８】
最初のステップ１３００で、l=0〜2*n-1のD(x-l,l)と、k=0〜2*m-1のD(k,y-1)に無限大を代入し、D(x-1,y-1)に０を代入し、xmaxにx+mを代入し、ymaxにy+nを代入した後、ループ１に入る。このループ１は、ｉをｘから１ずつインクリメントしながら、ｉがxmax-1を超えるまで繰り返される。ループ１中のループ２は、ｊをｙから１ずつインクリメントしながら、ｙがymax-1を超えるまで繰り返される。ステップ１３０５では、s(i-k+1),s(i-k+2),...,s(i)とt(j-l+1),t(j-l+2),...,t(j)のブロック置換による編集コストｅとD(i-k,j-l)の和を最小にするｋ，ｌをk0,l0に設定する。ステップ１３０６の判定に用いるｅは、k=k0,l=l0のときの編集コストの値である。
【０１１９】
ステップ１３１０では、(xmax-1,ymax-1)からポインタを（後ろから前へ）辿ることにより、編集コストが最小の対応付けに基づきモデル図形を正規化し、正規化後のモデル図形と入力図形の間の距離ｄを求める。すなわち、対応したセグメント・ブロックの各組に対して、２つの輪郭上に同じ個数の対応点を選び、最小二乗法によって、Ｓ(x)に対応する図形をＴ(j)に近い図形に変換するようなアフィン変換を計算する。Ｔ(j)とアフィン変換されたＳ(x)の距離を、Hausdorff距離
【０１２０】
【数５】
0003815704.tif 000019
【０１２１】
又は、一般化Hausdorff距離
【０１２２】
【数６】
0003815704.tif 000020
【０１２３】
により計算する。そして、求めた距離値ｄが、それまでに求められた距離の最小値dminより小さければ、その距離値ｄをdminに代入し（ステップ１３１１，１３１２）、dminの値を戻り値として返す（ステップ１３１３）。
【０１２４】
本実施例によれば、以上の説明から明らかなように、ノイズや大局的・局所的変換による図形の変形、輪郭の構造的特徴の変化がある場合にも、２つの図形の輪郭の構造的特徴の間の対応付けと図形の正規化を的確に行い、図形間の類似度又は相違度を精度良く評価できる。また、そのような対応付けや正規化は特徴空間での処理であるため、そのための演算量は比較的少ない。したがって、ノイズや大局的・局所的変換から生ずる図形の変形、特徴の変化に頑健で、かつ効率的な図形分類が可能になる。
【０１２５】
なお、本実施例の図形分類システムは、例えば図３に簡略化して示すような構成のコンピュータ上で、プログラムにより実現することができる。モデル図形の構造的特徴の集合である辞書１１２５は大容量記憶装置２１０に保存される。このコンピュータ上で図１９中の各機能部１１００，１１０５，１１１０，１１１５，１１２０（１１２１，１１２２，１１２３），１１３０の機能を実現するための図形分類プログラム１１２６は、例えばディスクドライブ２３０にセットされたディスク媒体２３５より読み込まれて大容量記憶装置２１０に格納される。このプログラム１１２６は、必要な時にその全部又は一部がメモリ２０５にロードされてＣＰＵ２００により実行される。入力図形の画像又は線図形は入力装置２１５によって入力される。
【０１２６】
【発明の効果】
請求項１又は２の発明によれば、図形のノイズや変形に頑健な図形分類又は検索が可能になる。また、比較的少ない計算量で変形図形の構造的特徴を合成することができるため、効率的な図形分類又は検索の処理が可能である。
【０１２７】
請求項３乃至６の各項の発明によれば、１モデルにつき１サンプルしか使えないような場合にも、ノイズや変形に頑健で効率的かつ高速な構造的インデクシングによる図形分類又は検索が可能である。また、請求項９又は１０の発明によれば、そのような図形のノイズや変形に対して頑健な図形分類又は検索を、コンピュータを利用し容易に実施できる。
【０１２８】
請求項７の発明によれば、比較的少ない計算量で、図形のノイズや変形を考慮した図形分類のための特徴を得ることができる。請求項８の発明によれば、１モデルにつき１サンプルしか使えないような場合にも、図形のノイズや変形に頑健な構造的インデクシングによる図形分類を可能にするための表を、比較的少ない計算量で作成することができる。
【０１２９】
請求項１１又は１２の発明によれば、ノイズや大局的・局所的変換から生ずる図形の変形、特徴の変化に対して頑健で効率的な図形分類が可能である。また、請求項１３の発明によれば、そのような図形分類を、コンピュータを利用し容易に実施できる。
【０１３０】
請求項１４の発明によれば、図形の変形、特徴の変化がある場合でも２つの図形間の類似度又は相違度の的確な評価が可能であり、また、その評価のための処理を特徴空間において比較的少ない計算量で行うことができる。請求項１６又は１５の発明によれば、図形の変形、特徴の変化がある場合でも、特徴空間での効率的な処理によって、的確な図形の対応付け又は正規化を行うことができる。
【図面の簡単な説明】
【図１】本発明の第１の実施例による図形分類検索システムの概略構成図である。
【図２】構造的インデクシングのための分類表の模式図である。
【図３】本発明をプログラムで実現するためのコンピュータのハードウェア構成の一例を簡略化して示すブロック図である。
【図４】特徴抽出処理の流れを示すフローチャートである。
【図５】特徴抽出過程で得られるデータを関連付けて示す図である。
【図６】特徴合成処理の流れを示すフローチャートである。
【図７】分類検索部の処理の流れを示すフローチャートである。
【図８】入力される図形の画像の一例を示す図である。
【図９】図形の閉輪郭線の一例を示す図である。
【図１０】多角形近似された閉輪郭線の一例を示す図である。
【図１１】方向軸と量子化方向コードの一例を示す図である。
【図１２】輪郭の部分セグメントへの分割例を示す図である。
【図１３】部分セグメントの統合による輪郭のセグメントへの分割例を示す図である。
【図１４】大局的には似ているが局所的変形により構造的特徴が異なった２つの部分輪郭の例を示す図である。
【図１５】図１４の２つの部分輪郭を近づけるための編集の例を示す図である。
【図１６】図１２中の部分セグメントＡ，Ｂの連結点に関する量子化方向の説明のための図である。
【図１７】図１２中の部分セグメントＧ，Ｈの連結点に関する量子化方向の説明のための図である。
【図１８】回転によるセグメントの特性数の変換の例を示す図である。
【図１９】本発明の第２の実施例による図形分類システムの概略構成図である。
【図２０】マッチング処理及び分類処理の流れを示すフローチャートである。
【図２１】モデル図形の輪郭とそのセグメント分割の例を示す図である。
【図２２】図２１のモデル図形を図１３の入力図形に近づけるように正規化した図形の例を示す図である。
【図２３】図２２の図形と図１３の図形を重ねて示す図である。
【図２４】マッチング・アルゴリズムの例を示すフローチャートである。
【図２５】図２４に示したマッチング・アルゴリズムの続きを示すフローチャートである。
【図２６】図２５に示したマッチング・アルゴリズムの続きを示すフローチャートである。
【図２７】図２４乃至図２６に示したマッチング・アルゴリズムにおいて呼び出される関数segmentMatching(x,y,left,right,dmin)のアルゴリズムの例を示すフローチャートである。
【図２８】図２７に示したアルゴリズムの続きを示すフローチャートである。
【符号の説明】
１００  図形入力部
１０５  特徴抽出部
１１０  特徴合成部
１１５  分類検索部
１２０  分類表
１２５  図形データベース
１５０  モデル図形入力部
１５５  特徴抽出部
１６０  特徴合成部
１６５  表作成部
２００  ＣＰＵ
２０５  メモリ
２１０  ハードディスク等の大容量記憶装置
２１５  スキャナ、デジタルカメラ、デジタイザ等の入力装置
２２０  ディスプレイ
２２５  キーボード、マウス等の入力装置
２３０  ディスクドライバ
２３５  フロッピーディスクやＣＤ−ＲＯＭ等のディスク媒体
２５０  図形分類検索プログラム
１１００  画像入力部
１１０５  輪郭抽出部
１１１０  多角形近似部
１１１５  特徴抽出部
１１２０  マッチング部
１１２１  対応付け部
１１２２  正規化部
１１２３  距離計算部
１１２５  辞書
１１３０  分類部
１１２６  図形分類プログラム
【図１】
0003815704.tif 000021
【図２】
0003815704.tif 000022
【図３】
0003815704.tif 000023
【図４】
0003815704.tif 000024
【図５】
0003815704.tif 000025
【図６】
0003815704.tif 000026
【図７】
0003815704.tif 000027
【図８】
0003815704.tif 000028
【図９】
0003815704.tif 000029
【図１０】
0003815704.tif 000030
【図１１】
0003815704.tif 000031
【図１２】
0003815704.tif 000032
【図１３】
0003815704.tif 000033
【図１４】
0003815704.tif 000034
【図１５】
0003815704.tif 000035
【図１６】
0003815704.tif 000036
【図１７】
0003815704.tif 000037
【図１８】
0003815704.tif 000038
【図１９】
0003815704.tif 000039
【図２０】
0003815704.tif 000040
【図２１】
0003815704.tif 000041
【図２２】
0003815704.tif 000042
【図２３】
0003815704.tif 000043
【図２４】
0003815704.tif 000044
【図２５】
0003815704.tif 000045
【図２６】
0003815704.tif 000046
【図２７】
0003815704.tif 000047
【図２８】
0003815704.tif 000048