【文献】
古積 拓見 外3名,漢字を正しくきれいに書くことを学ぶための学習システム,情報処理学会 研究報告 コンピュータと教育(CE) 2014−CE−124,日本,情報処理学会,2014年 3月 7日,p.1〜7
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0022】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0023】
1.構成
図1に本実施形態の筆順判定装置の機能ブロック図の一例を示す。なお本実施形態の筆順判定装置は
図1の構成要素(各部)の一部を省略した構成としてもよい。
【0024】
文字入力部160は、ユーザが筆記媒体(ペン、指先等)で手書き文字を入力するためのものであり、その機能は、タブレット、タッチパネル等の筆記面などにより実現できる。文字入力部160は、筆記媒体が筆記面に触れてから離れるまでの筆記媒体の位置を表す座標データを一定時間間隔で検出し、検出された座標データ列(時系列の筆点座標系列)をストローク(筆画)のデータとして処理部100に出力する。なお、ストロークの終点から次のストロークの始点までのベクトルをオフストローク(運筆ベクトル)と呼び、ストロークとオフストロークの連続する系列をストローク列と呼び、ストローク列から構成される文字パターンをオンライン手書き文字パターン(或いは、単に文字パターン)と呼ぶ。
【0025】
記憶部170は、処理部100の各部としてコンピュータを機能させるためのプログラムや各種データを記憶するとともに、処理部100のワーク領域として機能し、その機能はハードディスク、RAMなどにより実現できる。また、記憶部170は、手本文字パターン(正しい筆順で筆記された文字パターン)に関する情報(手本文字パターンを構成する各ストロークの情報、手本文字パターンの各ストロークから抽出された特徴点の情報、手本文字パターンの各ストロークの筆順の情報)を記憶する。
【0026】
表示部190は、処理部100で生成された画像を出力するものであり、その機能は、文字入力部160としても機能するタッチパネル、LCD或いはCRTなどのディスプレイにより実現できる。
【0027】
処理部100(プロセッサ)は、文字入力部160からの座標データやプログラムなどに基づいて各種処理を行う。この処理部100は記憶部170内の主記憶部をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。処理部
100は、特徴点抽出部110、特徴点対応付け部112、ストローク対応付け部114、筆順判定部116、表示制御部120を含む。
【0028】
特徴点抽出部110は、入力された文字パターン(入力文字パターン)のストロークから特徴点を抽出する処理を行う。特徴点対応付け部112は、入力されたストロークから抽出された特徴点を、記憶部170に記憶された手本文字パターンの特徴点に対応付ける処理を行う。
【0029】
ストローク対応付け部114は、入力された文字パターンのストロークを取得するごとに、それまでに取得したN(Nは1以上の整数)画分のストロークと、記憶部170に記憶された手本文字パターンから抽出したN画分のストロークとの相違度を算出し、算出した相違度に基づいて、取得したN画目のストロークを手本文字パターンのいずれかのストロークに対応付ける処理を行う。
【0030】
ストローク対応付け部114は、それまでに取得したN画分のストロークについて各ストロークの始点と終点を中心とする領域内の特徴点の分布に関する特徴量を求め、求めた特徴量と、手本文字パターンから抽出したN画分のストロークについて求めた前記特徴量(特徴点の分布に関する特徴量)とに基づいて前記相違度を算出してもよい。ここで、ストローク対応付け部114は、前記領域を複数の矩形領域に分割し、各分割領域内の特徴点の数を算出して前記特徴量を求めてもよいし、前記領域を複数の領域に分割し、各分割領域内の特徴点の数を各分割領域に適用したガウス関数によって重み付けして算出して前記特徴量を求めてもよいし、これらの手法を組み合わせて前記特徴量を求めてもよい。
【0031】
また、ストローク対応付け部114は、それまでに取得したN画分のストロークを複数の領域に分割し、各分割領域内のストロークの方向特徴(例えば、8方向特徴)に関する特徴量を求め、求めた特徴量と、手本文字パターンから抽出したN画分のストロークについて求めた前記特徴量(ストロークの方向特徴に関する特徴量)とに基づいて前記相違度を算出してもよい。
【0032】
筆順判定部116は、ストローク対応付け部114での対応付け結果に基づいて、入力された文字パターンの筆順が正しいか否かを判定する。すなわち、筆順判定部116は、入力文字パターンと手本文字パターンとのストローク対応が記憶部170に記憶された正しい筆順通りであれば筆順が正しいと判定し、そうでなければ筆順が間違っていると判定する。
【0033】
表示制御部120は、入力されたストローク列を表示部190に表示させる制御と、筆順判定部116の判定結果(筆順が正しいか否か)を表示部190に表示させる制御を行う。
【0034】
2.本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。
【0035】
本実施形態の手法では、1ストローク単位で照合を行っていた従来の手法に代えて、1画筆記されるごとに、それまでに筆記された文字パターン(1画目から最終画が筆記されるまでの完成形も含めた1画ごとの筆記途中の文字パターン:入力部分パターンとも呼称する)と、手本文字パターンから同画数分のストロークを抽出した文字パターン(手本部分パターンとも呼称する)とを照合(相違度を算出)して、ストロークの対応付けを行う。すなわち、本実施形態の手法では、筆順が異なると、間違った筆順で筆記されたストロークまでの文字パターンが、正しい筆順で同一画数まで筆記された文字パターンに対して大きな差異を生じる(相違度が大きくなる)ことを利用している。
【0036】
2−1.第1の手法
図2は、本実施形態の第1の手法における処理の流れを示すフローチャートである。本実施形態の手法では、まず、前処理として、入力部分パターンに対して非線形正規化(ステップS10)と特徴点の抽出(ステップS11)を行い、次に、伸縮マッチング(線形処理時間伸縮マッチング)を用いて入力部分パターンと手本部分パターンの特徴点同士の対応付けを行い(ステップS12)、特徴点確定処理により特徴点を1対1で対応付けする(ステップS13)。ステップS10〜S13の処理は、第1の手法と後述する第2の手法で共通の処理である。
【0037】
次に、入力部分パターンと手本部分パターンのそれぞれから特徴量を求めて両者の相違度を算出し(ステップS15)、算出した相違度に基づき入力部分パターンと手本部分パターンのストローク同士の対応付けを行い(ステップS16)、対応付け結果に基づき入力文字パターンの筆順の正誤を判定する(ステップS17)。なお、本実施形態の手法では、ストロークの二度書き及びストロークの続けを許容しないものとし、入力文字パターンと手本文字パターンの画数が同一であることを前提としてストロークを1対1で対応付けする。第1の手法では、特徴量を求める手法として、特徴点の近傍から他の特徴点の分布を抽出する手法(特徴点分布特徴抽出法(SCF)と呼称する)を採用する。特徴点分布特徴抽出法の詳細については後述する。
【0038】
ステップS10では、処理部100は、入力部分パターンに対して非線形正規化を行う。手書き文字パターンには、筆記者の癖が強く出る。非線形正規化によって入力部分パターンにおけるストロークの配置がなるべく均等になるようにストロークの位置を移動させることで、入力部分パターンでの形状変動を軽減することができる。非線形正規化の処理例を
図3に示す。
【0039】
ステップS11では、特徴点抽出部110は、入力されたストロークから特徴点を抽出する。これにより、手振れによるノイズを除去することができ、筆点数を削減して処理の高速化を図ることができる。なお、手本文字パターンについては、予め特徴点が抽出され、記憶部170に記憶されている。特徴点の抽出は、
図4に示す手順により行う。まず、ストロークの始点と終点を特徴点FPとして設定する(
図4(A))。次に、隣接する特徴点FP同士を線分SGで結び(
図4(B))、隣接する特徴点FP間の全ての筆点から線分SGへの垂線を引き、垂線の距離が所定の閾値Th以上且つ距離が最大の筆点を新たな特徴点FPとして設定する(
図4(C))。そして、新たな特徴点FPから隣接する他の特徴点FPに線分SGを引き、同様の処理を設定可能な特徴点がなくなるまで再帰的に繰り返す(
図4(D))。
【0040】
ステップS12では、特徴点対応付け部112は、入力部分パターンのストロークを、筆記された順に手本部分パターンのストロークと組にして、伸縮マッチングを用いて特徴点同士を対応付け(マッチング)する。伸縮マッチングでは、入力部分パターンと手本部分パターンの特徴点系列を伸縮させながら、評価関数を用いて決定論的に対応付ける。評価関数E(i,j)を式(1)に示す。評価関数E(i,j)は、式(2)に示す位置特徴の評価E
p(i,j)と、式(3)に示す方向特徴の評価E
d(θ)の重み付き和である。
【0041】
【数1】
ここで、Sは正規化後の文字パターンサイズである。また、(x
i,y
i)は入力部分パターンPの任意の特徴点の座標であり、(u
j,v
j)は手本部分パターンQの任意の特徴点の座標であり、θは両パターンの対応する特徴点の角度差である(
図5参照)。また、2つの重みw
p、w
dの和は1であるとする。この段階では、入力部分パターンと手本部分パターンの特徴点が1対多或いは多対1で対応する状態となっている。
【0042】
ステップS13では、特徴点対応付け部112は、特徴点確定処理により両者の特徴点を1対1で対応付けする。特徴点確定処理は、
図6に示す手順により行う。まず、入力部分パターンPと手本部分パターンQのストロークの最初の特徴点(始点)同士の対応と、最後の特徴点(終点)同士の対応を確定し、確定した特徴点に対応付けられた他の特徴点があればその対応を削除する(
図6(A))。次に、対応の列の後ろの方から未確定の対応を探して当該対応を確定し、確定した特徴点に対応付けられた他の特徴点があればその対応を削除する(
図6(B))。以降、未確定の対応がなくなるまでこれを繰り返す。
【0043】
ステップS12、S13の処理の結果、入力部分パターンと手本部分パターンのストロークの特徴点は1対1で対応付けられているが、特徴点数は削減されている。しかし、ステップS15で用いる特徴点分布特徴抽出法では、字形を表現する特徴点は多い方が好ましい。そこで、ステップS14では、処理部100は、ストロークの隣接する特徴点間に特徴点を再配置するリサンプリング処理を行う。特徴点間の距離は、特徴点抽出前のストロークの形状によって様々であり、特徴点をバランス良く再配置する必要がある。ここでは、まず、入力部分パターンと手本部分パターンのストローク組で対応する特徴点間の距離の平均ave
iを、式(4)により求める。
【0044】
【数2】
ここで、Nは特徴点数であり、len(p
i,p
i+1)は入力部分パターンの隣接する特徴点間の距離であり、len(q
i,q
i+1)は手本部分パターンの隣接する特徴点間の距離である。次に、始点から終点までの平均した特徴点間の距離の和をとり、ave
iとの比率ratio
iを、式(5)により求める。
【0045】
【数3】
次に、再配置する特徴点の合計数を元の特徴点を含めてLとし、それを比率ratio
iに従って配分する(式(6))。
【0046】
【数4】
ここで、比率ratio
iは実数値であるため、整数であるべき再配置する特徴点の数l
iを求めるために、小数点以下を切り捨てる。小数点以下を切り捨てた場合、式(7)に示す再配置する特徴点の数L’について、必ずL’<Lの関係になるため、L=L’になるまで、小数点以下の値(式(8)のup
i)が大きい特徴点間から順に、再配置予定の特徴点の数l
iに1を加算する。
【0047】
【数5】
再配置する特徴点の数Lは、実験により決める。
図7に示すように、リサンプリング処理により、それまでに得られた特徴点を残しながら、入力ストロークと手本文字パターンのストロークで対応する特徴点の間隔のばらつきを少なくすることできる。特徴点間の再配置した特徴点の数は入力部分パターンと手本部分パターンで等しいため、始点から終点まで時系列順に対応付けを行う。
図7に示す例では、再配置する特徴点の数L=14としている。
【0048】
ステップS15では、ストローク対応付け部114は、特徴点分布特徴抽出法により、文字パターンを構成する特徴点を中心とする領域を複数の領域に分割(区分)し、各分割領域内の特徴点の数を算出して、当該領域内の特徴点の分布に関する特徴(特徴点分布特徴)を求める。ここでは、特徴点を中心とする円形領域を扇型に区分する例について説明する。
【0049】
まず、特徴点分布特徴を算出する文字パターン(入力部分パターン、手本部分パターン)の中で、最も距離が離れている2点を求め(
図8(A))、この距離を円形領域CAの半径r
Kとする(
図8(B))。円形領域CAは、任意の特徴点を中心として作成される。次に、
図9に示すように、円形領域CAを、例えば半径領域に3分割、円周方向に8分割し、合計24個の扇型領域(分割領域)を作成する。各分割領域をビンと呼ぶ。円形領域CAの半径方向の分割数をK個、内側の円から順にk=1,2,・・・,Kとし、それぞれの円の半径をr
kとし、最も外側の円の半径をr
Kと表す。この半径r
Kを基準に、内側のK−1個の円の半径をLog−Polar変換から求める。半径方向の分割の距離を式(9)に示す。
【0050】
【数6】
半径r
Kの自然対数をとった値ρは、円形領域の半径の最も外側の円から求まる。1つ内側の半径を計算するごとにρ/Kずつ小さくすると、各円の半径r
kは、式(10)で求まる。
【0051】
【数7】
次に、文字パターン(入力部分パターン、手本部分パターン)の任意の特徴点に特徴量を集積する。すなわち、この特徴点を中心に円形領域(複数のビン)を設定し、24個のビンのそれぞれの内側にある特徴点数を算出して、この特徴点に集積される特徴量(ヒストグラム)を求める。
図10に、入力部分パターンPと手本部分パターンQの対応する任意の特徴点p
i、q
iに集積されるヒストグラムHGを示す。ここでは、ヒストグラムHGの各ビンに対応する領域の色を、値(特徴点数)が大きいほど黒く示している。入力部分パターンPと手本部分パターンQの各特徴点p
i、q
iに集積される特徴量同士を照合(相違を算出)する方法について説明する。入力部分パターンと手本部分パターンの相違度をD
sとすると、相違度D
sを式(11)のχ二乗距離によって求める。
【0052】
【数8】
ここで、Gはビンの総数であり、gはビンの順番(任意に順番付け可能)であり、h
pi(g)は特徴点p
iに集積される特徴量のg番目のビンの特徴値であり、h
qi(g)は特徴点q
iに集積される特徴量のg番目のビンの特徴値である。
【0053】
本実施形態の第1の手法では、文字パターン(入力部分パターン、手本部分パターン)の特徴量(ヒストグラム)を求める際に、1つのストロークにつき、始点と終点の2つの特徴点からヒストグラムを求める。入力部分パターンの特徴量を求める場合、文字の総画数をM、最後に入力された画をk画目とすると、k画目のストロークが入力された(取得した)とき、それまでに入力されたk個(k画分)のストロークを入力部分パターンとし、この入力部分パターンのk個のストロークの特徴点(各ストロークの始点及び終点の特徴点)からヒストグラムを求める。このとき得られるヒストグラムは、合計2×k個となる。また、手本部分パターンについては、手本文字パターンから抽出した同数(k個)のストロークを手本部分パターンとし、この手本部分パターンのk個のストロークの特徴点から同様にヒストグラムを求め、入力部分パターンと照合する。
【0054】
ステップS16では、ストローク対応付け部114は、得られた相違度D
sに基づき入力部分パターンと手本部分パターンのストローク同士の対応付けを行う。まず、貪欲法を用いてストロークの対応付けを行う手法(貪欲対応法と呼称する)について説明する。貪欲対応法では、入力されたストロークに最も類似する(相違度が低い)ストロークを、まだ対応付けられていない手本文字パターンのストロークから探す。貪欲対応法でのストロークの照合回数は、総画数Mの文字において、M(M+1)/2となる。また、貪欲対応方法では、また、入力済みストローク数(入力部分パターンのストローク数)が増えるほど、ストロークの照合回数が減少する。
【0055】
図11は、入力文字パターン、手本文字パターン、及びそれらの筆順の一例を示す図である。
図11に示す入力文字パターンでは、漢字「右」を筆記する際に、1〜4画目の筆順を間違えて筆記している。なお、
図11では、k画目のストロークを実線で示し、それ以前のストロークを点線で示している。
【0056】
この場合、
図12(A)に示すように、1画目のストロークp
1が入力されたとき、1画目のストロークp
1と、手本文字パターンの1〜5画目のストロークq
1〜q
5(手本文字パターンから抽出した1画分のストローク)とがそれぞれ照合される。この場合、ストロークp
1とストロークq
2との相違度が最も小さいと判定され、入力された1画目のストロークは、手本文字パターンの2画目のストロークq
2に対応付けられる。
【0057】
次に、
図12(B)に示すように、2画目のストロークが入力されたとき、それまでに入力された2画分のストロークp
1+2と、手本文字パターンから抽出した2画分のストロークq
2+1、q
2+3、q
2+4、q
2+5とがそれぞれ照合される。q
2+1、q
2+3、q
2+4、q
2+5は、それぞれ手本文字パターンの対応付け済みの2画目のストロークとその他のストローク(1、3〜5画目)とからなる手本部分パターンである。この場合、入力部分パターンp
1+2と手本部分パターンq
2+1との相違度が最も小さいと判定され、入力された2画目のストロークは、手本文字パターンの1画目のストロークq
1に対応付けられる。
【0058】
次に、
図12(C)に示すように、3画目のストロークが入力されたとき、それまでに入力された3画分のストロークp
1+2+3と、手本文字パターンから抽出した3画分のストロークq
2+1+3、q
2+1+4、q
2+1+5とがそれぞれ照合される。q
2+1+3、q
2+1+4、q
2+1+5は、それぞれ手本文字パターンの対応付け済みの2、1画目のストロークとその他のストローク(3〜5画目)とからなる手本部分パターンである。この場合、入力部分パターンp
1+2+3と手本部分パターンq
2+1+4との相違度が最も小さいと判定され、入力された3画目のストロークは、手本文字パターンの4画目のストロークq
4に対応付けられる。
【0059】
次に、
図12(D)に示すように、4画目のストロークが入力されたとき、それまでに入力された4画分のストロークp
1+2+3+4と、手本文字パターンから抽出した4画分のストロークq
2+1+4+3、q
2+1+4+5とがそれぞれ照合される。q
2+1+4+3、q
2+1+4+5は、それぞれ手本文字パターンの対応付け済みの2、1、4画目のストロークとその他のストローク(4、5画目)とからなる手本部分パターンである。この場合、入力部分パターンp
1+2+3+4と手本部分パターンq
2+1+4+3との相違度が最も小さいと判定され、入力された4画目のストロークは、手本文字パターンの3画目のストロークq
3に対応付けられる。そして、5画目のストロークが入力されたとき、入力された5画目のストロークは、手本文字パターンの5画目のストロークq
5(まだ対応付けられていないストローク)に対応付けられる。
【0060】
図13は、
図11、
図12に示す例におけるストロークの対応付けの結果を示す図である。
図13において、「○」は、対応付けされたストローク組を示し、斜線は、計算不要(照合不要)なストローク組を示す。
図13に示す例では、入力文字パターンの1画目、2画目、3画目、4画目、5画目のストロークが、それぞれ手本パターンの2画目、1画目、4画目、3画目、5画目のストロークに対応付けられており、入力文字パターンと手本文字パターンのストローク対応が筆順通りではないため、ステップS17において、筆順が間違っていると判定される。
【0061】
次に、ビームサーチを用いてストロークの対応付けを行う手法について説明する。この手法では、
図14に示すように、ノードとエッジで形成される探索空間において、区画距離δ(k,l)を計算し、探索空間の開始ノードから任意のノードまでの区画距離δ(k,l)の総和が最も小さくなる経路をストローク対応とする。
図14は、総画数M=4の例を示している。また、
図14において、括弧内の数字は状態番号を示し、各矩形枠は状態ノードを示している。なお、状態ノード内の4桁の数字の1桁目は手本文字パターンの1画目のストローク、2桁目は2画目のストローク、3桁目は3画目のストローク、4桁目は4画目のストロークを示している。区画距離δ(k,l)は、式(11)の相違度D
sを用いて、式(12)により求める。
【0062】
【数9】
ここで、D
s(k,l)b、D
s(k,l)eは、入力されたk画目のストロークと手本文字パターンのl画目のストロークの始点(b)、終点(e)における相違度である。ストローク対応付けの最適経路問題を解くDP(Dynamic Programming)の漸化式は、式(13)で示される。
【0063】
【数10】
ここで、mは第k−1層の任意のノードであり、nは第k層の任意のノードである。総画数Mが増えるごとに、ビームサーチのグラフは層の数が増し、計算量も増加する。そのため、ビームサーチでは、余裕定数λを設定し、各層における最小スコアに余裕定数λを加算したものを超える区画距離の総和をもつノードを枝刈りすることで、高速化を行う。
【0064】
上述した例では、特徴点分布特徴抽出法において、特徴点を中心とする領域の形状を円形とする(ビンの形状を扇型とする)一般的な手法を例にとって説明したが、特徴点を中心とする領域及びビンの形状を正方形(矩形領域)としてもよい。当該領域及びビンの形状を矩形とすることで、より単純な方法で(少ない処理負荷で)特徴点分布特徴を算出することができる。この場合、正方形領域SAの辺の長さを、例えば、文字パターン(入力部分パターン、手本部分パターン)の外接矩形の大きい方の辺長を2倍とした値とし、正方形領域SAを複数の正方形ビンに分割する(
図15)。
【0065】
また上述した例では、各分割領域(ビン)内に含まれる特徴点1個につき特徴量を1だけ加算している。しかし、ビンの境界付近では、特徴点の僅かな位置ずれにより含まれるビンが変わってしまい、特徴点分布特徴に大きな影響を及ぼすことがある。そこで、特徴点分布特徴を算出する際に、各分割領域(各ビン)にガウス関数を適用して特徴量を求めるように構成してもよい。ガウス関数を適用することで、ビンに含まれる特徴点がビンの中心に近いほど大きな特徴値となり、ビンの中心から遠いほど小さな特徴値となる。また、効果は小さいが、隣接するビンに含まれる特徴点による効果も加算される。
【0066】
まず、正方形領域を8×8に等分割した正方形ビンにガウス関数を適用して特徴を抽出する場合について説明する。この場合、正方形ビンの中に含まれる特徴とそのビンの周囲の特徴を得るために、対象とする正方形ビンを中心にビンの幅と高さを2倍に拡大した領域から特徴を抽出する(拡大した領域をガウス関数の適用範囲とする)。文字パターンを表現する特徴点は全て2次元のXY座標系で表現するため、任意の特徴点からn行目m列目のビンB
s(n,m)の中心点までの距離を、正方形ビンの辺長Tで正規化した距離d
nmは、式(14)で示される。
【0067】
【数11】
ここで、(x,y)は任意の特徴点の座標であり、(X
nm,Y
nm)はビンB
s(n,m)の中心点座標である。ガウス関数適用後のビンB
s(n,m)に加算される評価値S
nmは、式(15)で示される。
【0068】
【数12】
ガウス関数を適用することで、正方形ビンに含まれる1つの特徴点の価値は、ビンの中心付近で1に近い値を示し、ビンの境界で約0.29、隣のビンの中央付近で約0.02の値を示す。
【0069】
次に、扇型ビンにガウス関数を適用して特徴を抽出する場合について説明する。扇型ビンの座標系としては、XY座標の代わりに、極座標(動径rと偏角θ)を用いる。ガウス関数の適用範囲は、隣接するビンの中心まで拡大する。
図16(A)に、ガウス関数の適用範囲(図中太線で示す範囲)を示し、
図16(B)に適用するガウス関数を示す。動径方向にs番目、偏角方向にt番目のビンB
f(s,t)の中心座標は、式(17)で示される。
【0070】
【数13】
ここで、r
0=0であるとする。また、R
sは、中心となる特徴点からビンB
f(s,t)の中心点までの動径であり、Φ
tは、中心となる特徴点とビンB
f(s,t)の中心点を結ぶ線分の偏角である。また、r
s−1とr
sは、ビンB
f(s,t)の内側への動径と外側への動径であり、φ
t−1とφ
tは、偏角の方向を時計周りとしたときのビンB
f(s,t)の始まりの偏角と終わりの偏角である。任意の特徴点の極座標(r’,θ’)とビンB
f(s,t)の中心の極座標(R
s,φ
t)を用い、式(18)、式(19)に従って、ガウス関数適用後のビンB
f(s,t)に加算される評価値Sを求める。
【0071】
【数14】
2−2.第2の手法
図17は、本実施形態の第2の手法における処理の流れを示すフローチャートである。ステップS20〜S23は、第1の手法のステップS10〜S13と同様の処理であるから説明を省略する。なお、第2の手法では、ステップS20、S22、S23の処理を省
略することができる。第2の手法では、特徴量を求める手法として、ストロークの方向特徴を抽出する手法(方向特徴抽出法と呼称する)を採用する。すなわち、ステップS24において、ストローク対応付け部114は、方向特徴抽出法により、文字パターンを複数の領域に分割(区分)し、各分割領域内のストロークの方向特徴に関する特徴量を求める。
【0072】
ここでは、
図18に示すように、文字パターン(入力部分パターンP、手本部分パターンQ)を8×8のセルに分割し、各セル(分割領域)から8方向特徴を抽出する方法について説明する。8方向特徴の抽出では、文字パターンのストロークを
図19に示す8方向の傾き成分に分解する。セルに含まれるストロークのセグメント(隣接する特徴点を結ぶ線分)から8方向特徴を抽出する場合、セルに含まれるストロークのセグメントには、折れ曲がりや始点或いは終点が含まれる場合がある。そのため、より厳密な8方向特徴を抽出するために、セルよりも小さな領域で特徴抽出を行うための微小セルを作成する。微小セルは、対象とするセルを中心にセルの幅と高さを2倍にした領域を8×8分割(対象とするセルでは4×4分割)して生成する。更に、各微小セルの境界をぼかすために、各微小セルの中心にガウス関数を重畳する。
【0073】
各微小セルでは、その微小セルを中心に、微小セルの幅と高さを2倍にした領域を特徴抽出の適用範囲とし、その適用範囲に含まれるセグメントの8方向特徴を抽出する。セグメントが特徴抽出の適用範囲を貫通する場合(
図20(A))、セグメントの始点及び/又は終点が適用範囲に含まれる場合(
図20(B)、
図20(C))は同様に扱い、適用領域に含まれるセグメントから得られる方向成分に長さを積算した値を微小セルの8方向特徴とする。また、適用範囲に特徴点が含まれ且つ折れが生じている場合(
図20(D))、適用範囲に複数のセグメントが含まれる場合(
図20(E))は、適用範囲に含まれる全てのセグメントから得られる方向成分に長さを積算し、それぞれの方向成分を加算した値を微小セルの8方向特徴とする。
【0074】
微小セルの8方向特徴には、セル内でのその微小セルの位置に応じて、第1の手法(特徴点分布特徴抽出法)と同様にガウス関数を重畳する。ここでは、
図21に示す離散化されたガウス関数を重畳する。そして、1つのセルに内包される全ての微小セルで抽出した8方向特徴を集積して、当該セルの8方向特徴を求める。
【0075】
入力部分パターンと手本部分パターンのそれぞれから各セルの8方向特徴を抽出し、得られた2つの512次元ベクトルx、yの内積を求めて、式(20)により相違度D
dを求める。
【0076】
【数15】
ステップS25では、ストローク対応付け部114は、得られた相違度D
dに基づき入力部分パターンと手本部分パターンのストローク同士の対応付けを行う。ストローク同士の対応付けを行う方法は、第1の手法と同様である。
【0077】
2−3.文字バランスの評価
次に、特徴点分布特徴抽出法を用いて文字バランス(字形)を評価する手法について説明する。一般的に、文字のバランスは、文字を構成するストロークの形状や複数のストローク同士の位置関係などにより評価される。文字のバランスが良いと、人間が見たときに文字を識別し易い。本手法では、バランスの良い文字の基準として手本文字パターンを用いて、入力文字パターンと手本文字パターンから特徴点分布特徴抽出法を用いて抽出した
特徴点分布特徴を比較し、得られた相違度Dsを用いて0点〜100点の間で文字バランスを計算する。
【0078】
本手法の処理の流れを
図22に示す。まず、文字パターン(入力部分パターン、手本部分パターン)の重心点を計算する(ステップS30)。重心点は、文字パターンを構成する全ての特徴点の座標を加算し、特徴点の数で除算する一般的な方法により求める。次に、入力部分パターンと手本部分パターンから重心点を中心点とした特徴点分布特徴(重心点を中心とする領域内の特徴点の分布に関する特徴)を抽出し、式(11)に示す相違度D
sを算出する(ステップS31)。次に、減点数を算出する(ステップS32)。減点は、V段階に分けて行い、V−1個の閾値を用いる。次式に示すように、閾値t
v(v=1,2,・・・,V−1)に対して、相違度D
sが含まれる区間を求める。
【0079】
【数16】
そして、v番目の範囲(相違度D
sが含まれる区間)に設定された点数を減点数として決定する。
【0080】
3.評価実験
本実施形態の手法(第1の手法、第2の手法)を評価する実験を行った。特徴点分布特徴抽出法(第1の手法)として、ビン形状を扇型とする手法(FSCF)、ビン形状を扇型とし更にガウス関数を適用する手法(FSCF+Gauss)、ビン形状を正方形とする手法(SSCF)、ビン形状を正方形とし更にガウス関数を適用する手法(SSCF+Gauss)の4種類の手法を評価した。また、比較のため、ビン形状を扇型とし、特徴抽出する領域だけ拡大してガウス関数を適用しない手法(FSCF+Non Gauss)と、ビン形状を正方形とし、特徴抽出する領域だけ拡大してガウス関数を適用しない手法(SSCF+Non Gauss)の2種類の手法を評価した。更に、方向特徴抽出法(第2の手法)を評価した。
【0081】
小学光の学習指導要領に定める学習漢字は1,006字種である。本実験では、漢字の「一」を除いた1,005字種を対象に、発明者の研究室のデータベースから1字種につき20パターンずつ、合計20,100パターンを使用した。これを、「K_set」と呼ぶ。「K_set」に選出されたパターンには、各ストロークに本来の正しい筆順を付与した。これにより、テストパターンの筆順判定結果と付与された正しい筆順を照合し、筆順判定が正しく行われているかを確認することができる。「K_set」のうち、1字種から4パターンずつ選出した計4,020パターンをパラメータ調整用の学習パターン(K_learning set)とし、1字種から残り16パターンずつ選出した計16,080パターンをテストパターン(K_testing set)とした。これとは別に、筆順誤りが起こり易い文字26種類を選択し、22人の被験者に自分の筆順で文字を筆記してもらい、得られた合計572パターンを「D_set」とした。
【0082】
本実験では、筆順判定の各手法の評価のためにストローク対応正解率(正解率)を求める。ストローク対応正解率の定義を式(21)に示す。
【0083】
【数17】
特徴点抽出、伸縮マッチング及びリサンプリングにおいて用いる各パラメータを最適な値に設定した。対象となるパラメータは、特徴点抽出の閾値Th、位置特徴及び方向特徴の重みw
p、w
d、再配置する特徴点の合計数Lである。評価対象とする手法ごとに、列挙法によりパラメータを変化させ、字種とサンプル数の多い「K_learning set」を用いて、ストローク対応正解率が最良となるパラメータを求めた。表1に、手法ごとの最適パラメータと正解率の結果を示す。
【0084】
【表1】
特徴点分布特徴抽出法の6種類の手法により筆順を判定し、ストローク対応正解率と最大待ち時間を比較した。FSCFでは、半径方向5分割、円周方向12分割の計60個の扇型ビンを形成し、SSCFでは、縦横8×8分割の計64個の正方形ビンを形成した。テストパターンとしては、「K_testing set」を用いた。表2に、実験結果を示す。
【0085】
【表2】
正方形ビンを用いる各手法(「SSCF」を含む手法)での正解率は、扇型ビンを用いる各手法(「FSCF」を含む手法)での正解率をそれぞれ上回った。また、ビン形状が同一の手法の中では、通常の特徴点分布特徴抽出法(SCF)、特徴抽出する領域だけ拡大する手法(+Non Gauss)、ガウス関数を適用する手法(+Gauss)の順で正解率が上昇した。この結果、SSCFにガウス関数を適用する手法(SSCF+Gauss)が正解率97.9%で最も精度が高かった。このように、ビン形状を正方形とすることの有効性と、各分割領域にガウス関数を適用することの有効性が確認された。
【0086】
ストロークの対応付けを行う2種類の手法(貪欲対応法、ビームサーチ)により筆順を判定し、ストローク対応正解率と最大待ち時間を比較した。ビームサーチについては余裕
定数λを変えて実験を行った。特徴点分布特徴抽出法としては、最も正解率が高かった「SSCF+Gauss」を用いた。テストパターンとしては、「K_testing set」を用いた。表3に、実験結果を示す。ビームサーチの余裕定数λが90を超えると正解率が上がらず、待ち時間だけが大きくなるため、以降の特徴点分布特徴抽出法の実験ではλ=90のビームサーチを用いることとした。
【0087】
【表3】
特徴点分布特徴抽出法において非線形正規化を行う場合と行わない(線形正規化を行う)場合のそれぞれで筆順を判定し、ストローク対応正解率と最大待ち時間を比較した。特徴点分布特徴抽出法としては、「SSCF+Gauss」を用いた。テストパターンとしては、「D_set」を用いた。表4に、実験結果を示す。実験の結果、特徴点分布特徴抽出法における非線形正規化の有効性が確認された。
【0088】
【表4】
方向特徴抽出法において非線形正規化を行う場合と行わない場合のそれぞれで筆順を判定し、ストローク対応正解率と最大待ち時間を比較した。テストパターンとしては、「D_set」を用いた。表5に、実験結果を示す。実験の結果、非線形正規化による効果の差はなく、方向特徴抽出法においては非線形正規化(
図17のステップS20)を省略できることが確認された。
【0089】
【表5】
特徴点分布特徴抽出法と方向特徴抽出法のそれぞれの手法により筆順を判定し、ストローク対応正解率と最大待ち時間を比較した。特徴点分布特徴抽出法としては、「SSCF
+Gauss」を用いた。テストパターンとしては、「K_testing set」を用いた。比較のため、非特許文献3に記載の手法(既存手法と呼称する)についても評価を行った。既存手法については、ビームサーチにおける余裕定数λを変えて実験を行った。表6に、実験結果を示す。
【0090】
【表6】
実験の結果、特徴点分布特徴抽出法(SSCF+Gauss)が正解率98.4%で最も精度が高かった。方向特徴抽出法は、特徴点分布特徴抽出法と比較して、正解率は劣るものの、最大待ち時間が0.1秒高速であった。また、表2の結果と比較すると、方向特徴抽出法は、特徴点分布特徴抽出法の中で2番目に正解率の高い「SSCF+Non Gauss」よりも1.6ポイントだけ正解率が高かった。
【0091】
特徴点分布特徴抽出法と既存手法とを比較すると、既存手法の最大待ち時間を特徴点分布特徴抽出法に合わせた場合(λ=430)、特徴点分布特徴抽出法は、既存手法(λ=430)に対して、正解率が0.4ポイント高くなった。一方、既存手法では、λを変えても特徴点分布特徴抽出法の正解率98.4%に到達させることはできなかった。
【0092】
方向特徴抽出法と既存手法とを比較すると、既存手法の正解率を方向特徴抽出法に合わせた場合(λ=310)、方向特徴抽出法は、既存手法(λ=3100)に対して、最大待ち時間が0.06秒高速であった。また、既存手法の最大待ち時間を方向特徴抽出法に合わせた場合(λ=120)、方向特徴抽出法は、既存手法(λ=120)に対して、正解率が0.6ポイント高くなった。
【0093】
テストパターンとして「D_set」を用いて同様の実験を行った。表7に、実験結果を示す。実験の結果、特徴点分布特徴抽出法(SSCF+Gauss)が正解率98.6%で最も精度が高かった。
【0094】
【表7】
特徴点分布特徴抽出法(SSCF+Gauss)においてストロークの端点(始点及び終点)のみからヒストグラムを抽出する場合(本実施形態の手法)と、それ以外の特徴点
からもヒストグラムを抽出する場合とで、ストローク対応正解率と最大待ち時間を比較した。特徴点分布特徴抽出法としては、「SSCF+Gauss」を用いた。表1の結果から、文字パターンの1ストロークを構成する特徴点数を55個とした。本実験では、特徴点分布特徴を抽出する特徴点を、なるべく等間隔になるように抽出した。テストパターンとしては、「K_testing set」を用いた。表8に、実験結果を示す。実験の結果、特徴を抽出する特徴点数が25個以上の場合で正解率は若干向上したが、その効果は小さく、最大待ち時間が増加した。
【0095】
【表8】
図23は、既存方法で不正解と判定され、本実施形態の手法で正解と判定されたテストパターン(入力文字パターン)と、対応する標準パターン(手本文字パターン)の一例を示す図である。なお、テストパターンは正しい筆順で筆記されている。ストロークの位置と方向の特徴を用いる既存手法では、テストパターンの1画目が標準パターンの2画目と対応付けられてしまい、不正解と判定された。本実施形態の手法でも、テストパターンの1画目が入力された時点では、テストパターンの1画目がテストパターンの2画目と対応付けられてしまう。しかし、テストパターンの2画目が入力されると、既に筆記された1画目と2画目の相対的な位置関係が現れ、ビームサーチによって改めて1画目の2画目のストローク対応が行われる。そして、ビームサーチによる総合的な評価値の累積に従ってストローク対応が行われた結果、正しい筆順の対応が得られることになる。
【0096】
本実験では、特徴点分布特徴抽出法(SSCF+Gauss)が、ストローク対応正解率98.4%となり、最も精度が高かった。この理由としては、漢字は縦線と横線で構成されるストロークが比較的多く、正方形ビンとの親和性が高いことが考えられる。更に、ガウス関数の適用によって位置ずれに強い特徴となった。但し、最大画数20画の文字において、1ストローク書かれたときの最大待ち時間が0.12秒となった。一方、方向特徴抽出法は、ストローク対応正解率97.5%となり、特徴点分布特徴抽出法には若干劣る結果となった。しかし、最大画数20画の文字において、1ストローク書かれたときの最大待ち時間が0.02秒となり、特徴点分布特徴抽出法に比べて高速であった。この理由としては、ガウス関数の値を事前に計算できること、特徴点分布特徴抽出法のように全てのストロークの端点で特徴抽出を行わず、文字パターン全体から一度だけ特徴を抽出する手法であること等が考えられる。
【0097】
なお、本発明は、上述の実施の形態に限定されるものではなく、種々の変更が可能である。本発明は、実施の形態で説明した構成と実質的に同一の構成(例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成)を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した
構成を含む。