(57)【要約】【課題】認識対象の図形の一部が様々な形状を取り得る場合であっても、高精度な認識が可能な認識装置、方法及びプログラムを提供する。【解決手段】実施形態の認識装置は、検出部と、設定部と、第１判定部と、第２判定部と、第３判定部と、認識部とを備える。検出部は、複数のストロークの端点を検出する。設定部は、端点毎に判定領域を設定する。第１判定部は、判定領域毎に当該判定領域に１以上のストロークが含まれているか否かを判定する。第２判定部は、１以上のストロークが含まれている場合、当該１以上のストロークが第１図形を構成するか否かを判定する。第３判定部は、第１図形を構成する場合、当該１以上のストロークが含まれている判定領域を設定した端点を有するストロークが、第２図形を構成するか否かを判定する。認識部は、第２図形を構成する場合、１以上のストロークと判定領域を設定した端点を有するストロークを第３図形として認識する。【選択図】図１
2015184781.tif 000002
【特許請求の範囲】
【請求項１】
複数のストロークを取得する取得部と、
前記複数のストロークの端点を検出する検出部と、
前記端点毎に、判定領域を設定する設定部と、
前記判定領域毎に、当該判定領域に１以上のストロークが含まれているか否かを判定する第１判定部と、
前記１以上のストロークが含まれている場合、当該１以上のストロークが第１図形を構成するか否かを判定する第２判定部と、
前記第１図形を構成する場合、前記１以上のストロークが含まれている前記判定領域を設定した前記端点を有するストロークが、第２図形を構成するか否かを判定する第３判定部と、
前記第２図形を構成する場合、前記１以上のストロークと、当該１以上のストロークが含まれている前記判定領域を設定した前記端点を有するストロークとを、第３図形として認識する認識部と、
認識された前記第３図形を出力する出力部と、
を備える認識装置。
【請求項２】
前記第３判定部は、前記１以上のストロークと、当該１以上のストロークが含まれている前記判定領域を設定した前記端点を有するストロークとの位置関係に基づいて、当該１以上のストロークが含まれている前記判定領域を設定した前記端点を有するストロークが前記第２図形を構成するか否かを判定する請求項１に記載の認識装置。
【請求項３】
前記第１図形を構成する場合、前記１以上のストロークが含まれている前記判定領域を設定した前記端点を有するストロークを、第２図形を構成するか否かの判定対象ストロークに確定する確定部を更に備え、
前記第３判定部は、前記判定対象ストロークが前記第２図形を構成するか否かを判定する請求項１に記載の認識装置。
【請求項４】
前記確定部は、前記１以上のストロークが含まれている前記判定領域を設定した前記端点を有するストロークに、結合可能なストロークが無くなるまで結合し、結合後のストロークを判定対象ストロークに確定する請求項３に記載の認識装置。
【請求項５】
前記結合可能なストロークは、前記１以上のストロークが含まれている前記判定領域を設定した前記端点を有するストロークとの端点距離が閾値以下であるストロークである請求項４に記載の認識装置。
【請求項６】
前記第２判定部は、前記１以上のストロークが含まれている場合、当該１以上のストロークそれぞれの組合せ毎に前記第１図形を構成するか否かを判定する請求項１に記載の認識装置。
【請求項７】
前記第２判定部は、前記１以上のストロークが含まれている場合、当該１以上のストロークが含まれている前記判定領域を分割した分割領域毎に、当該分割領域に含まれる１以上のストロークが前記第１図形を構成するか否かを判定する請求項１に記載の認識装置。
【請求項８】
複数のストロークを取得する取得ステップと、
前記複数のストロークの端点を検出する検出ステップと、
前記端点毎に、判定領域を設定する設定ステップと、
前記判定領域毎に、当該判定領域に１以上のストロークが含まれているか否かを判定する第１判定ステップと、
前記１以上のストロークが含まれている場合、当該１以上のストロークが第１図形を構成するか否かを判定する第２判定ステップと、
前記第１図形を構成する場合、前記１以上のストロークが含まれている前記判定領域を設定した前記端点を有するストロークが、第２図形を構成するか否かを判定する第３判定ステップと、
前記第２図形を構成する場合、前記１以上のストロークと、当該１以上のストロークが含まれている前記判定領域を設定した前記端点を有するストロークとを、第３図形として認識する認識ステップと、
認識された前記第３図形を出力する出力ステップと、
を含む認識方法。
【請求項９】
複数のストロークを取得する取得ステップと、
前記複数のストロークの端点を検出する検出ステップと、
前記端点毎に、判定領域を設定する設定ステップと、
前記判定領域毎に、当該判定領域に１以上のストロークが含まれているか否かを判定する第１判定ステップと、
前記１以上のストロークが含まれている場合、当該１以上のストロークが第１図形を構成するか否かを判定する第２判定ステップと、
前記第１図形を構成する場合、前記１以上のストロークが含まれている前記判定領域を設定した前記端点を有するストロークが、第２図形を構成するか否かを判定する第３判定ステップと、
前記第２図形を構成する場合、前記１以上のストロークと、当該１以上のストロークが含まれている前記判定領域を設定した前記端点を有するストロークとを、第３図形として認識する認識ステップと、
認識された前記第３図形を出力する出力ステップと、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、認識装置、方法及びプログラムに関する。
【背景技術】
【０００２】
ユーザが手書き入力した複数のストロークを図形データとして認識する技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第１５４１９５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述したような従来技術では、図形全体の形状に基づいて認識が行われるため、認識対象の図形の一部が様々な形状を取り得る場合、対応することが困難であった。
【０００５】
本発明が解決しようとする課題は、認識対象の図形の一部が様々な形状を取り得る場合であっても、高精度な認識が可能な認識装置、方法及びプログラムを提供することである。
【課題を解決するための手段】
【０００６】
実施形態の認識装置は、取得部と、検出部と、設定部と、第１判定部と、第２判定部と、第３判定部と、認識部と、出力部と、を備える。取得部は、複数のストロークを取得する。検出部は、前記複数のストロークの端点を検出する。設定部は、前記端点毎に、判定領域を設定する。第１判定部は、前記判定領域毎に、当該判定領域に１以上のストロークが含まれているか否かを判定する。第２判定部は、前記１以上のストロークが含まれている場合、当該１以上のストロークが第１図形を構成するか否かを判定する。第３判定部は、前記第１図形を構成する場合、前記１以上のストロークが含まれている前記判定領域を設定した前記端点を有するストロークが、第２図形を構成するか否かを判定する。認識部は、前記第２図形を構成する場合、前記１以上のストロークと、当該１以上のストロークが含まれている前記判定領域を設定した前記端点を有するストロークとを、第３図形として認識する。出力部は、認識された前記第３図形を出力する。
【図面の簡単な説明】
【０００７】
【図１】第１実施形態の認識装置の例を示す構成図。
【図２】第１実施形態の複数のストロークの例を示す図。
【図３】第１実施形態の複数のストロークそれぞれの端点の検出例を示す図。
【図４】第１実施形態の判定領域の例を示す図。
【図５】第１実施形態の判定領域の例を示す図。
【図６】第１実施形態の判定領域の例を示す図。
【図７】第１実施形態の判定領域の例を示す図。
【図８】第１実施形態のストロークが判定領域に含まれているか否かの判定例を示す図。
【図９】第１実施形態の認識処理例を示すフローチャート図。
【図１０】第２実施形態の認識装置の例を示す構成図。
【図１１】第２実施形態の判定対象ストロークの確定手法の例を示す図。
【図１２】各実施形態及び各変形例の認識装置のハードウェア構成例を示す図。
【発明を実施するための形態】
【０００８】
以下、添付図面を参照しながら、実施形態を詳細に説明する。
【０００９】
認識対象の図形の一部が様々な形状を取り得る場合、認識対象の図形が取り得る全ての形状の認識に対応しようとすると、認識対象の図形が取り得る形状それぞれの辞書データを用意する必要があるが、記憶領域の増大や処理負荷の増大を招き現実的ではない。このため、以下の各実施形態では、認識対象の図形の一部が様々な形状を取り得る場合でも、記憶領域の増大や処理負荷の増大を招かずに、高精度な認識を実現する手法について説明する。
【００１０】
なお、以下の各実施形態では、認識対象の図形が矢印である例について説明する。矢印の図形は、ヘッド部分とシャフト部分とから構成されるが、シャフト部分は、直線、折れ線、及び曲線など様々な形状を取り得る。このため、矢印の図形は、全体として様々な形状を取り得る。但し、認識対象の図形は矢印に限定されるものではなく、一部が様々な形状を取り得る図形であればよい。より詳細には、様々な形状を取り得る部分が線状の図形であり、当該線状の図形の端点部分にシンボルのような固定的な形状を取り得る部分が位置するような図形であればよい。
【００１１】
（第１実施形態）
図１は、第１実施形態の認識装置１０の一例を示す構成図である。図１に示すように、認識装置１０は、入力部１１と、取得部１３と、検出部１５と、設定部１７と、第１判定部１９と、記憶部２１と、第２判定部２３と、第３判定部２５と、認識部２７と、出力部２９とを、備える。
【００１２】
入力部１１は、タッチパネル、タッチパッド、マウス、及び電子ペンなどの手書き入力可能な入力装置により実現できる。取得部１３、検出部１５、設定部１７、第１判定部１９、第２判定部２３、第３判定部２５、認識部２７、及び出力部２９は、例えば、ＣＰＵ（Central  Processing  Unit）などの処理装置にプログラムを実行させること、即ち、ソフトウェアにより実現してもよいし、ＩＣ（Integrated  Circuit）などのハードウェアにより実現してもよいし、ソフトウェア及びハードウェアを併用して実現してもよい。記憶部２１は、例えば、ＨＤＤ（Hard  Disk  Drive）、ＳＳＤ（Solid  State  Drive）、メモリカード、光ディスク、ＲＯＭ（Read  Only  Memory）、及びＲＡＭ（Random  Access  Memory）などの磁気的、光学的、又は電気的に記憶可能な記憶装置により実現できる。
【００１３】
入力部１１は、ユーザが図形などを手書きした複数のストロークを認識装置１０に入力する。第１実施形態では、入力部１１はタッチパネルであり、ユーザがスタイラスペンや指を用いてタッチパネル上で図形などを手書きすることにより、複数のストロークを入力することを想定しているが、これに限定されるものではない。例えば、入力部１１をタッチパッド、マウス、及び電子ペンなどで実現してもよい。
【００１４】
ストロークは、ユーザが手書した図形などの１画、即ち、スタイラスペンや指がタッチパネルの入力面に接してから離れるまで（ペンダウンからペンアップまで）の軌跡を示すベクトルデータであり、例えば、スタイラスペンや指と入力面との接点の時系列の座標値として表すことができる。
【００１５】
ストロークは、例えば、｛（ｘ（ｊ，１），ｙ（ｊ，１））、（ｘ（ｊ，２），ｙ（ｊ，２））、…、（ｘ（ｊ，Ｎ（ｊ）），ｙ（ｊ，Ｎ（ｊ）））｝と表すことができる。ｊは、ストロークの画数を表し、Ｎ（ｊ）は、第ｊストロークのサンプリング時のサンプリング点数を表す。
【００１６】
図２は、第１実施形態の複数のストローク４１の一例を示す図である。図２に示す例では、複数のストローク４１は、１画目のストロークであるストローク４２と２画目のストロークであるストローク４３とにより構成されている。なお、複数のストローク４１は、矢印のストロークであり、ストローク４２は、シャフト部分のストロークであり、ストローク４３は、ヘッド部分のストロークである。
【００１７】
図２に示す例の場合、ストローク４２は｛（ｘ（１，１），ｙ（１，１））、（ｘ（１，２），ｙ（１，２））、…、（ｘ（１，Ｎ（１）），ｙ（１，Ｎ（１）））｝、ストローク４３は｛（ｘ（２，１），ｙ（２，１））、（ｘ（２，２），ｙ（２，２））、…、（ｘ（２，Ｎ（２）），ｙ（２，Ｎ（２）））｝と表すことができる。
【００１８】
取得部１３は、入力部１１から入力された複数のストロークを取得する。
【００１９】
検出部１５は、取得部１３により取得された複数のストロークの端点を検出する。第１実施形態では、検出部１５は、複数のストロークそれぞれの始点及び終点を検出するものとする。
【００２０】
図３は、第１実施形態の複数のストローク４１それぞれの端点の検出例を示す図である。図３に示す例の場合、検出部１５は、ストローク４２の始点（ｘ（１，１），ｙ（１，１））を端点５１、ストローク４２の終点（ｘ（１，Ｎ（１）），ｙ（１，Ｎ（１）））を端点５２、ストローク４３の始点（ｘ（２，１），ｙ（２，１））を端点５３、ストローク４３の終点（ｘ（２，Ｎ（２）），ｙ（２，Ｎ（２）））を端点５４と検出する。
【００２１】
但し、検出部１５は、複数のストロークを構成する全てのストロークの端点を検出する必要はなく、例えば、複数のストロークのうち所定条件を満たす１以上のストロークの端点を検出するようにしてもよい。所定条件は、例えば、ストローク長が第１閾値以上のストロークなどが挙げられる。ストローク長は、例えば、数式（１）により求めることができる。
【００２２】
【数１】
2015184781.tif 000003
【００２３】
変数ｉは、ｊ画目のストロークのサンプリング時のサンプリング点数を表す。
【００２４】
設定部１７は、検出部１５により検出された端点毎に、判定領域を設定する。具体的には、設定部１７は、検出部１５により検出された端点毎に、当該端点を含む判定領域を設定する。
【００２５】
図４〜図７は、第１実施形態の判定領域の一例を示す図である。なお、図４〜図７に示す例では、端点５２に判定領域を設定する場合を示しているが、他の端点についても同様の手法で判定領域を設定できる。設定部１７は、図４に示すように、端点５２を中心とした円形の判定領域６１を設定してもよいし、図５に示すように、端点５２を中心とした楕円形の判定領域６２を設定してもよいし、図６に示すように、端点５２を中心とした矩形の判定領域６３を設定してもよい。
【００２６】
なお、判定領域の大きさは固定であってもよいし、判定領域を設定する端点を有するストロークのストローク長に比例した大きさであってもよい。また設定部１７は、図７に示すように、端点５２を中心とした矩形の判定領域６４を回転して設定してもよい。図７に示す例では、設定部１７は、端点５２を有するストローク４２の向きと判定領域６４の長手方向が一致するように、判定領域６４を回転して設定している。
【００２７】
第１判定部１９は、設定部１７により設定された判定領域毎に、当該判定領域に１以上のストロークが含まれているか否かを判定する。なお、第１判定部１９は、ストロークの全てが判定領域に含まれていれば、当該ストロークは判定領域に含まれていると判定する。例えば、図６に示す例の場合、ストローク４３は判定領域６３に全て含まれているため、第１判定部１９は、ストローク４３が判定領域６３に含まれていると判定する。
【００２８】
具体的には、第１判定部１９は、判定領域をＲ（ｘ＿ｍｉｎ，ｙ＿ｍｉｎ，ｘ＿ｍａｘ，ｙ＿ｍａｘ)と定義し、ストロークの座標Ｐ（ｘ，ｙ）が、ｘ＿ｍｉｎ≦ｘ≦ｘ＿ｍａｘを満たすとともにｙ＿ｍｉｎ≦ｙ≦ｙ＿ｍａｘを満たせば、座標Ｐ（ｘ，ｙ）がＲ内にあると判定する。この条件をｉｎＲｅｃｔ（Ｐ；Ｒ)とし、全てのｉでｉｎＲｅｃｔ（ｘ（ｊ，ｉ)，ｙ（ｊ，ｉ)；Ｒ)を満たせば、第１判定部１９は、ｊ画目のストロークは、判定領域に含まれていると判定する。
【００２９】
なお、第１判定部１９は、ストロークの一部が判定領域に含まれていれば、当該ストロークを判定領域に含まれている部分ストロークと判定領域に含まれていない部分ストロークとに分割し、判定領域に含まれている部分ストロークは判定領域に含まれていると判定してもよい。例えば、第１判定部１９は、図８に示す例のように、ストローク４２を判定領域６１に含まれている部分ストローク４２Ｂと判定領域６１に含まれていない部分ストローク４２Ａとに分割し、判定領域に含まれている部分ストローク４２Ｂは判定領域６１に含まれていると判定してもよい。
【００３０】
この場合、第１判定部１９は、画単位でなく線分単位で判定領域６１に含まれているか否かを判定すればよい。例えば、第１判定部１９は、ｉｎＲｅｃｔ（ｘ（ｊ，ｉ)，ｙ（ｊ，ｉ)；Ｒ)  ＆  ｉｎＲｅｃｔ（ｘ（ｊ，ｉ＋１)，ｙ（ｊ，ｉ＋１)；Ｒ)のとき、線分（ｘ（ｊ，ｉ)，ｙ（ｊ，ｉ)）（ｘ（ｊ，ｉ＋１)，ｙ（ｊ，ｉ＋１)は判定領域に含まれていると判定する。そして第１判定部１９は、判定領域に含まれていると判定された線分を結合して部分ストロークを生成すれば、ストロークを判定領域に含まれている部分ストロークと判定領域に含まれていない部分ストロークとに分割し、判定領域に含まれている部分ストロークは判定領域に含まれていると判定できる。
【００３１】
記憶部２１は、ストロークが第１図形や第２図形を構成するか否かを判定するための辞書データなどを記憶する。本実施形態では、第１図形は、矢印のヘッド部分の形状であり、第２図形は、矢印のシャフト部分の形状であるものとするが、これに限定されるものではない。
【００３２】
第２判定部２３は、第１判定部１９により判定領域に１以上のストロークが含まれていると判定された場合、当該１以上のストロークが第１図形を構成するか否かを判定する。例えば、第２判定部２３は、判定領域に含まれていると判定された１以上のストロークの特徴量を算出し、算出した特徴量と記憶部２１に記憶されている辞書データで定義された第１図形の代表モデルの値との距離を算出し、算出した距離が第２閾値以下であれば、当該１以上のストロークが第１図形を構成すると判定する。なお第２判定部２３は、１以上のストロークの特徴量として、例えば、１以上のストロークを画像化して特許第５２１４３６７号公報に記載された特徴量を算出すればよい。
【００３３】
第３判定部２５は、第２判定部２３により１以上のストロークが第１図形を構成すると判定された場合、当該１以上のストロークが含まれている判定領域を設定した端点を有するストロークが、第２図形を構成するか否かを判定する。
【００３４】
例えば、第３判定部２５は、１以上のストロークと、当該１以上のストロークが含まれている判定領域を設定した端点を有するストロークとの位置関係に基づいて、当該１以上のストロークが含まれている判定領域を設定した端点を有するストロークが、第２図形を構成するか否かを判定する。例えば、第３判定部２５は、当該１以上のストロークが含まれている判定領域を設定した端点を有するストロークの他方の端点と、当該１以上のストロークとの距離が第３閾値以上であれば、当該１以上のストロークが含まれている判定領域を設定した端点を有するストロークが、第２図形を構成すると判定する。
【００３５】
なお第３判定部２５は、１以上のストロークが含まれている判定領域を設定した端点を有するストロークの形状を更に用いて、当該１以上のストロークが含まれている判定領域を設定した端点を有するストロークが、第２図形を構成するか否かを判定してもよい。
【００３６】
認識部２７は、第３判定部２５により１以上のストロークが含まれている判定領域を設定した端点を有するストロークが第２図形を構成すると判定された場合、当該１以上のストロークと、当該１以上のストロークが含まれている判定領域を設定した端点を有するストロークとを、第３図形として認識する。本実施形態では、第３図形は、矢印の全体の形状であるものとするが、これに限定されるものではない。
【００３７】
例えば、認識部２７は、記憶部２１に記憶されている辞書データで定義された第１図形及び第２図形の代表モデルを用いて、１以上のストロークと、当該１以上のストロークが含まれている判定領域を設定した端点を有するストロークとを、第３図形として認識する。
【００３８】
出力部２９は、認識部２７により認識された第３図形を出力する。例えば、出力部２９は、認識部２７により認識された第３図形を図示せぬ表示装置などに表示出力させる。
【００３９】
図９は、第１実施形態の認識装置１０で行われる認識処理の手順の流れの一例を示すフローチャート図である。
【００４０】
まず、取得部１３は、入力部１１から入力された複数のストロークを取得する（ステップＳ１０１）。
【００４１】
続いて、検出部１５は、取得部１３により取得された複数のストロークの端点を検出する（ステップＳ１０３）。
【００４２】
続いて、設定部１７は、検出部１５により検出された端点毎に、判定領域を設定する（ステップＳ１０５）。
【００４３】
続いて、第１判定部１９は、１以上のストロークが含まれている判定領域があるか否かを判定する（ステップＳ１０７）。１以上のストロークが含まれている判定領域がない場合（ステップＳ１０７でＮｏ）、処理は終了となる。
【００４４】
一方、１以上のストロークが含まれている判定領域がある場合（ステップＳ１０７でＹｅｓ）、第２判定部２３は、第１図形を構成する１以上のストロークがあるか否かを判定する（ステップＳ１０９）。第１図形を構成する１以上のストロークがない場合（ステップＳ１０９でＮｏ）、処理は終了となる。
【００４５】
一方、第１図形を構成する１以上のストロークがある場合（ステップＳ１０９でＹｅｓ）、第３判定部２５は、当該１以上のストロークが含まれている判定領域を設定した端点を有するストロークが、第２図形を構成するか否かを判定する（ステップＳ１１１）。１以上のストロークが含まれている判定領域を設定した端点を有するストロークが第２図形を構成しない場合（ステップＳ１１１でＮｏ）、処理は終了となる。
【００４６】
一方、１以上のストロークが含まれている判定領域を設定した端点を有するストロークが第２図形を構成する場合（ステップＳ１１１でＹｅｓ）、認識部２７は、当該１以上のストロークと、当該１以上のストロークが含まれている判定領域を設定した端点を有するストロークとを、第３図形として認識する（ステップＳ１１３）。
【００４７】
続いて、出力部２９は、認識部２７により認識された第３図形を出力する（ステップＳ１１５）。
【００４８】
以上のように第１実施形態によれば、認識対象の図形の一部が様々な形状を取り得る場合、シンボルのような固定的な形状を取り得る部分の判定と、様々な形状を取り得る部分の判定とに分けて、認識対象の図形を認識するため、記憶領域の増大や処理負荷の増大を招かずに、高精度な認識を実現できる。
【００４９】
（第２実施形態）
第２実施形態では、１以上のストロークが含まれている判定領域を設定した端点を有するストロークを、第２図形を構成するか否かの判定対象ストロークに確定する例について説明する。以下では、第１実施形態との相違点の説明を主に行い、第１実施形態と同様の機能を有する構成要素については、第１実施形態と同様の名称・符号を付し、その説明を省略する。
【００５０】
図１０は、第２実施形態の認識装置１１０の一例を示す構成図である。図１０に示すように、第２実施形態の認識装置１１０は、確定部１３１が第１実施形態と相違する。
【００５１】
確定部１３１は、第２判定部２３により１以上のストロークが第１図形を構成すると判定された場合、当該１以上のストロークが含まれている判定領域を設定した端点を有するストロークを、第２図形を構成するか否かの判定対象ストロークに確定する。
【００５２】
具体的には、確定部１３１は、１以上のストロークが含まれている判定領域を設定した端点を有するストロークに、結合可能なストロークが無くなるまで結合し、結合後のストロークを判定対象ストロークに確定する。結合可能なストロークは、例えば、１以上のストロークが含まれている判定領域を設定した端点を有するストロークとの端点距離が第４閾値以下であるストロークである。
【００５３】
図１１は、第２実施形態の判定対象ストロークの確定手法の一例を示す図である。図１１に示す例の場合、１以上のストロークが含まれている判定領域を設定した端点を有するストロークがストローク１４２Ｃであるとする。この場合、確定部１３１は、ストローク１４２Ｃとの端点距離が第４閾値以下であるストロークの有無を確認し、該当するストロークがなければ、ストローク１４２Ｃを判定対象ストロークに確定する。なお、１以上のストロークであるストローク４３は、結合対象から除外される。但し、図１１に示す例の場合、確定部１３１は、ストローク１４２Ｃとストローク１４２Ｂとの端点距離が第４閾値以下であるため、ストローク１４２Ｃにストローク１４２Ｂを結合する。
【００５４】
この場合、確定部１３１は、ストローク１４２Ｃとストローク１４２Ｂとを結合したストロークとの端点距離が第４閾値以下であるストロークの有無を確認し、該当するストロークがなければ、ストローク１４２Ｃとストローク１４２Ｂとを結合したストロークを判定対象ストロークに確定する。但し、図１１に示す例の場合、確定部１３１は、ストローク１４２Ｂとストローク１４２Ａとの端点距離が第４閾値以下であるため、ストローク１４２Ｃとストローク１４２Ｂとを結合したストロークにストローク１４２Ａを更に結合する。
【００５５】
この場合、確定部１３１は、ストローク１４２Ａ〜１４２Ｃを結合したストロークとの端点距離が第４閾値以下であるストロークの有無を確認し、該当するストロークがなければ、ストローク１４２Ａ〜１４２Ｃを結合したストロークを判定対象ストロークに確定する。図１１に示す例の場合、確定部１３１は、ストローク１４２Ａ〜１４２Ｃを結合したストロークとの端点距離が第４閾値以下であるストロークは存在しないため、確定部１３１は、ストローク１４２Ａ〜１４２Ｃを結合したストロークを判定対象ストロークに確定する。
【００５６】
第３判定部２５は、確定部１３１により確定された判定対象ストロークが第２図形を構成するか否かを判定する。
【００５７】
第２実施形態によれば、矢印のシャフト部分に該当するストロークが点線であっても対応できる。
【００５８】
（変形例１）
上記各実施形態において、第２判定部２３は、１以上のストロークが判定領域に含まれている場合、当該１以上のストロークそれぞれの組合せ毎に第１図形を構成するか否かを判定するようにしてもよい。このようにすれば、判定領域に１以上のストローク以外のノイズとなるストロークが含まれていても、対応できる。
【００５９】
（変形例２）
上記各実施形態において、第２判定部２３は、１以上のストロークが判定領域に含まれている場合、当該判定領域を分割した分割領域毎に、当該分割領域に含まれる１以上のストロークが第１図形を構成するか否かを判定するようにしてもよい。このようにすれば、判定領域に１以上のストローク以外のノイズとなるストロークが含まれていても、対応できる。
【００６０】
（ハードウェア構成）
図１２は、上記各実施形態及び各変形例の認識装置のハードウェア構成の一例を示す図である。上記各実施形態及び各変形例の認識装置は、ＣＰＵなどの制御装置９０１と、ＲＯＭやＲＡＭなどの記憶装置９０２と、ＨＤＤなどの外部記憶装置９０３と、ディスプレイなどの表示装置９０４と、タッチパネルなどの入力装置９０５と、通信インタフェースなどの通信装置９０６と、を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【００６１】
上記各実施形態及び各変形例の認識装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、ＣＤ−Ｒ、メモリカード、ＤＶＤ（Digital  Versatile  Disk）、フレキシブルディスク（ＦＤ）等のコンピュータで読み取り可能な記憶媒体に記憶されて提供される。
【００６２】
また、上記各実施形態及び各変形例の認識装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、上記各実施形態及び各変形例の認識装置で実行されるプログラムを、インターネット等のネットワーク経由で提供または配布するようにしてもよい。また、上記各実施形態及び各変形例の認識装置で実行されるプログラムを、ＲＯＭ等に予め組み込んで提供するようにしてもよい。
【００６３】
上記各実施形態及び各変形例の認識装置で実行されるプログラムは、上述した各部をコンピュータ上で実現させるためのモジュール構成となっている。実際のハードウェアとしては、ＣＰＵがＨＤＤからプログラムをＲＡＭ上に読み出して実行することにより、上記各部がコンピュータ上で実現されるようになっている。
【００６４】
なお、本発明は、上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせても良い。
【００６５】
例えば、上記各実施形態のフローチャートにおける各ステップを、その性質に反しない限り、実行順序を変更し、複数同時に実施し、あるいは実施毎に異なった順序で実施してもよい。
【００６６】
以上のように、上記各実施形態及び各変形例によれば、認識対象の図形の一部が様々な形状を取り得る場合であっても、高精度な認識が可能である。
【符号の説明】
【００６７】
１０、１１０  認識装置
１１  入力部
１３  取得部
１５  検出部
１７  設定部
１９  第１判定部
２１  記憶部
２３  第２判定部
２５  第３判定部
２７  認識部
２９  出力部
１３１  確定部
【図１】
2015184781.tif 000004
【図２】
2015184781.tif 000005
【図３】
2015184781.tif 000006
【図４】
2015184781.tif 000007
【図５】
2015184781.tif 000008
【図６】
2015184781.tif 000009
【図７】
2015184781.tif 000010
【図８】
2015184781.tif 000011
【図９】
2015184781.tif 000012
【図１０】
2015184781.tif 000013
【図１１】
2015184781.tif 000014
【図１２】
2015184781.tif 000015