We will entertain your mind, enhance your brain, expand your lifestyle.

手書き認識技術

Sanjützの手書き認識技術についてご紹介します。

文字の軌跡

Sanjützでは、ユーザーが手書きしている文字の軌跡の方向を逐次を分析し記録していきます(上図の “7,0,1,2,4,5,1,2”)。この方向を表す数字の連続性により、軌跡がどの向きに回っているのか、直進しているのか、どこで方向を変えたかが分かります。

この数字とともに、連続性が途切れるところを変化点として記録します。この分析はユーザーが手書きしているバックグラウンドでおこなわれます。

軌跡のパッキング

ユーザーが1文字書き終えると、Sanjützは文字認識の前段階として、軌跡の分析結果と合わせ、軌跡全体の大きさ、開始位置、終了位置といった情報をパッキングします。

さらに、情報の冗長な部分を取り除き、最後に辞書参照のためにハッシュ化します。

文字辞書による認識

ハッシュ化された情報を元に辞書を参照します。Sanjützは約6万個の軌跡の辞書を持っており、様々な書き順や字形や手ブレなどにも対応できるようにしています。

機械学習

Sanjützではディープラーニングに代表される機械学習を利用していない。その理由は

  • 開発当初(2016年)、Apple Watchで使用できるライブラリがなかった
    Appleの CoreMLは WatchOS4.0(2017年)からサポートされた。
  • 認識に時間がかかる
    Sanjützは(当時所有していた)初代の Apple Watch でも快適に使用できるようにしたかった。初代 Apple Watch は十分な CPUパワーを持っていなかったので、CoreMLでは目標とする認識時間を達成できなかった。

AppleWatch も WatchOSも進化していくので、今後の SanjützのアップデートではCoreML含め新しい技術を取り入れていきたい。