마우스로 영문 글자를 써보세요. (스마트폰의 경우는 터치스크린에 손가락으로)

[Your browser can not show this example.]

Zinna를 이용한 영문 필기 인식

Zinna(http://zinnia.sourceforge.net/)는 일본어/한자와 같은 획이 많은 문자를 인식하는데 매우 좋은 필기인식기입니다.

이를 영문 인식에도 써먹기 위해서 Zinnia를 조금 변경하였고, 영문+숫자 입력 모델만 지원합니다.
여기까지가 제가 몇달 전에 PHP School의 Tip&Tech에 올렸던 내용입니다.

참고 http://phpschool.com/link/tipntech/76573

ShortStraw 알고리즘

그리고 난 후에 ShortStraw 알고리즘을 우연히 찾게 되어서 이를 이용하면 필기인식률을 높일 수 있을 것 같아서 테스트중에 있습니다.

ShortStraw 알고리즘은 고안된지 얼마되지 않지만 상당히 단순하고도 명쾌하여 최근에 널리 퍼지게 된 알고리즘이라고 합니다. ShortStarw를 사용하여 제스쳐 인식에 응용하거나 필기인식 알고리즘에 응용할 수 있습니다. 특히 ShortStraw는 직선에 가까운 선은 잘 인식을 하는데, 곡선을 제대로 인식하지 못하는 문제점이 있습니다. 이를 보완한 IStraw도 있는데 이와 관련된 정보는 다음의 문서에서 참고하실 수 있습니다.

IStraw를 참고한 ShortStraw 자바스크립트 개선

그래서 IStarw는 아쉽게 자세한 소스가 공개되어있지 않기때문에 IStraw에 대한 알고리즘을 분석하여 ShortStraw자바스크립트를 약간 개선해보았습니다. [1]번 논문에 있는 다음과 같은 그림이 IStraw에 적용된 곡선 인식 보완책을 설명하고 있습니다.


이 방식을 ShortStraw 자바스크립트에 적용시키니 다음과 같은 식으로 개선이 됩니다.

(아래 이미지는 위의 필기인식 캔버스의 스크린샷)

여기서 붉은 선은 ShortStraw 알고리즘으로 얻어진 선분이며, 검은 점은 IStraw 방식으로 제거되는 점들입니다. 고친 소스에는 몇번의 반복 실험을 통해 얻어진 경험적인 값들이 사용되어졌습니다.

이런식으로 영문 글자의 모서리값을 얻게되면 그 모서리값은 재현성이 높게되며, ShortStraw에 의해 얻어진 모서리 개수의 값을 필기인식의 feture값으로 지정할 수 있을 것입니다. 이 방식을 Zinna에 새로운 feature로 지정해 적용해볼 생각입니다~

by dumpcookie 2013. 3. 23. 10:10
| 1 |