手書き文字認識APIをテスト運用中

Zinniaを利用した高速な手書き文字認識APIを実装しました。
http://hwr.missinglink.co.jp/vec.html にてデモが使えます。
利用方法は、 http://hwr.missinglink.co.jp/v1/? へ以下のようなJSONをGETにて送信します。(?以降のQUERY_STRINGにそのままJSONをつなげます)

[
{
"canvas_size":[300,300]
},
{
"strokes_points":[
[
[x,y], ...
], ...
]

canvas_size は手書き認識エリアのサイズのx,yです。
stroke_pointsは、pointsを格納します。pointsは、strokeの集合です。strokeはx,yから成り、ストロークの座標です。始点/終点だけとは限りません。デモ画面では、スムージングした座標を利用しています。
送信すると、JSONPで返却されます。
コールバック関数は _mlHWRCallback です。
「知」を書いたときの結果は以下のようになっています。

{"result":[{"value":"知","score":0.192947},{"value":"肴","score":-0.376623},{"value":"刹","score":-0.540289},{"value":"氛","score":-0.600198},{"value":"頚","score":-0.652695},{"value":"午","score":-0.663520},{"value":"帥","score":-0.690676},{"value":"竍","score":-0.710740},{"value":"剥","score":-0.762234},{"value":"朋","score":-0.766667},]}

サーバサイドは、C++で実装されています。spawn-fastcgiとnginxにより、高速なレスポンスが期待出来ます。混雑していない場合は、都内から30ms程度で認識結果が返ります。(DNS解決にかかる時間は除く。また、サーバはEC2 micro instanceのため、複数のアクセスがあると急激にレスポンスが低下します)
ソースコードはgithubにあります。予告なく非公開にする場合があります。

コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>