KR20160124779A - 손글씨 및 제스처 인식을 위한 방법 및 시스템 - Google Patents

손글씨 및 제스처 인식을 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20160124779A
KR20160124779A KR1020167023424A KR20167023424A KR20160124779A KR 20160124779 A KR20160124779 A KR 20160124779A KR 1020167023424 A KR1020167023424 A KR 1020167023424A KR 20167023424 A KR20167023424 A KR 20167023424A KR 20160124779 A KR20160124779 A KR 20160124779A
Authority
KR
South Korea
Prior art keywords
data
sensor unit
motion sensor
character
trajectory
Prior art date
Application number
KR1020167023424A
Other languages
English (en)
Inventor
크리스토프 암마
탄자 슐츠
Original Assignee
칼스루헤 인스티투트 퓌어 테흐놀로기
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 칼스루헤 인스티투트 퓌어 테흐놀로기 filed Critical 칼스루헤 인스티투트 퓌어 테흐놀로기
Publication of KR20160124779A publication Critical patent/KR20160124779A/ko

Links

Images

Classifications

    • G06K9/00355
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/014Hand-worn input/output arrangements, e.g. data gloves
    • G06K9/00496
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/22Character recognition characterised by the type of writing
    • G06V30/228Character recognition characterised by the type of writing of three-dimensional handwriting, e.g. writing in the air
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2218/00Aspects of pattern recognition specially adapted for signal processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Character Discrimination (AREA)

Abstract

손글씨 인식을 위한 컴퓨터로 구현되는 방법, 컴퓨터 프로그램 프로덕트, 및 컴퓨터 시스템(100). 상기 시스템은 모션 센서 유닛(10)으로부터 측정 데이터(11)를 수신하도록 구성된 인터페이스 구성요소(110)를 포함한다. 상기 모션 센서 유닛(10)은 사용자의 신체의 운동 가능 부위(1)에 물리적으로 연결되여, 측정 데이터(11)는 모션 센서 유닛(10)의 센서의 센서 데이터를 포함한다. 상기 센서 데이터는 모션 센서 유닛(10)의 궤적(2)의 시간에 대한 2차 도함수에 대응한다. 상기 시스템은 문자와 연관된 기술적 프로파일을 저장하기 위해 데이터 저장 구성요소(130)를 더 가진다. 기술적 프로파일은 적어도 복수의 지정 가속도 프로파일을 포함한다. 각각의 가속도 프로파일은 가능한 궤적의 이전 부분 또는 다음 부분의 맥락에서 모션 센서 유닛(10)의 가능한 궤적의 특정 부분과 연관된 운동을 특징화하는 가속도 데이터를 포함한다. 시스템의 디코딩 구성요소(120)는 수신된 센서 데이터(11)를 복수의 지정 가속도 프로파일과 비교하여 궤적(20)의 부분의 시퀀스를 식별할 수 있다. 궤적(20)의 부분의 식별된 시퀀스가 특정 문자를 나타내는 특정 가능한 궤적의 부분들의 지정 맥락-종속적 시퀀스와 연관되는 경우, 디코딩 구성요소는 수신된 센서 데이터(11)에 따르는 특정 문자를 식별한다. 식별된 문자의 표현은 출력 장치(200)로 제공된다.

Description

손글씨 및 제스처 인식을 위한 방법 및 시스템{METHOD AND SYSTEM FOR HANDWRITING AND GESTURE RECOGNITION}
본 발명은 일반적으로 전자 데이터 처리, 더 구체적으로, 손글씨 및 제스처 인식을 위한 방법, 컴퓨터 프로그램 프로덕트 및 시스템에 관한 것이다.
종래 기술에 전자 문자 인식을 위한 시스템 및 방법에 대한 많은 접근법이 존재한다. 일부 접근법은 2차원 표면, 가령, 터치 스크린 또는 특정 전자 종이에 써진 문자들의 손글씨 인식과 관련된다. 이러한 시나리오에서, 종래 기술에서 문자를 획으로 분해하는 것이 제안된다. 이러한 맥락에서, 획이 각자의 문자를 형성하도록 그려진 라인의 부분에 대응한다(가령, 문자 "A"는 3개의 획으로 구성된다). 이러한 방식은 공중에 그려진, 즉, 사용자가 3차원 움직임을 수행함으로써 가상으로 써진 문자를 인식하는 데 적용 가능하지 않는데, 왜냐하면 각자의 3차원 궤적이 이러한 시스템에 의해 처리될 수 없기 때문이다.
이러한 3차원 가상 문자를 지지하는 종래 기술의 손글씨 인식 시스템이 미국 특허 7796819에 기재되어 있고, 이는 사용자의 3차원 모션을 분석하는 손글씨 인식을 위한 방법을 개시한다. 제안된 방법은 획의 시작 부분 및 종료 부분에서의 모션의 방향을 기초로 각각의 획을 분간하며, 획들의 조합을 이용해 문자를 인식한다. 제안된 시스템에서, 쓰는 사용자가 시스템의 각자의 스위치 기능을 이용함으로써 시스템에게 각각의 획의 시작 및 종료 부분을 수동으로 나타내야 한다. 이러한 스위치의 수동 작업은 사용자가 연속적이고 유창한 쓰기를 못하도록 방해한다.
그 밖의 다른 종래 기술 시스템은 쓰는 동안 사용자의 손에 의해 수행되는 궤적을 결정하기 위한 사용자의 손의 절대 위치를 결정하기 위해 카메라를 이용한 3차원 손글씨의 인식에 대한 솔루션을 제공한다. 절대 위치를 결정하기 위해, 정지상태의, 고정 카메라 시스템, 가령, MICROSOFT KINECT 센서 시스템이 필수적이다.
종래 기술의 관점에서, 가상 3차원 손글씨의 경우, 즉, 공중에 문자, 서명 또는 단어를 쓰는 경우, 개선된 손글씨 인식에 대한 필요성이 존재한다. 정지형 센서를 포함하는 복잡한 시스템에 대한 필요성 없이 연속적이고 유창한 쓰기를 지원하기 위한 시스템 및 방법을 제공하는 것이 바람직할 수 있다.
따라서 가상 3차원 손글씨의 경우, 개선된 문자 및 손글씨 인식을 위한 디코딩 시스템 및 방법을 제공할 필요성이 존재한다. 이 맥락에서 가상은 사용자로 하여금 2차원으로 글씨를 쓰게 하는 매체(가령, 종이, 디스플레이 등) 없는 글씨 쓰기를 의미한다. 대신 사용자는 3차원 운동에 대한 제한 없이 공중에 글씨를 쓸 수 있다. 이 기술적 과제는 독립 청구항에 따르는 본 발명의 실시예에 의해 해결된다. 다음의 설명의 맥락에서, 용어 "문자(character)"는 획의 시퀀스로부터 구성될 수 있는 임의의 글자, 기호 또는 부호를 지칭한다. 이는 예를 들어 ASCII() 또는 Unicode의 모든 문자를 포함하지만 일본어, 중국어 또는 그 밖의 다른 아시아어의 문자뿐 아니라, 사각형, 원, 또는 화살표 같은 기호도 포함한다.
하나의 실시예에서, 손글씨 인식을 위한 디코딩 컴퓨터 시스템은 모션 센서 유닛으로부터 측정 데이터를 수신하기 위한 인터페이스 구성요소를 포함한다. 상기 모션 센서 유닛은 사용자의 신체의 운동 가능 부위와 물리적으로 연결된다. 예를 들어, 모션 센서 유닛은 사용자의 손에 부착될 수 있다. 임의의 유형의 웨어러블 아이템의 일부, 사용자가 착용하는 가령, 글로브, 팔찌, 시계 또는 반지일 수 있다. 이는 피부로 각인, 피부로 주사, 또는 이식 또는 그 밖의 다른 방식으로 영구적으로 또는 임시적으로 인체에 부착된다. 이는 사용자에 의해 보유되는 장치의 일부일 수 있다(가령, 스마트폰, 전자 펜 등). 또한, 컴퓨터 시스템 자체가 사용자가 보유 또는 착용하는 장치의 일부일 수 있다. 즉, 모션 센서 유닛은 사용자의 신체에 임시적으로 또는 영구적으로 부착될 수 있다. 측정 데이터는 모션 센서 유닛의 적어도 하나의 센서의 센서 데이터를 포함한다. 상기 센서 데이터는 모션 센서 유닛의 궤적의 시간에 대한 2차 도함수에 대응할 수 있다. 적절한 센서가 이용 가능한 경우 시간에 대한 고차 도함수가 역시 사용될 수 있다. 즉, 측정 데이터가 모션 센서 유닛의 일부인 가속도 센서에 의해 제공되는 가속도 데이터를 포함할 수 있다. 대안적 실시예에서, 모션 센서 유닛은 센서, 가령, 자이로스코프, 자기력계 또는 기압계를 포함할 수 있다. 이러한 실시예에서, 측정 데이터는 모션 센서 유닛의 회전 및 배향 또는 공기 압력에 대한 데이터를 포함할 수 있다. 예를 들어, 모션 센서는 가속도 센서에 추가로 또는 이를 대신하여 자이로스코프를 포함할 수 있고, 이 경우, 센서 데이터가 각속도에 대응할 수 있다. 예를 들어, 모션 센서는 가속도 센서 및/또는 자이로스코프에 추가로 기압계를 더 포함할 수 있다. 그 후 각각의 센서 데이터는 공기 압력을 더 포함한다. 모션 센서의 2개의 위치에 대한 공기 압력의 차이가 2개의 센서 위치에 대해 높이 차이를 가리키며 수직 방향 모션에 대한 척도로서 사용될 수 있다. 이러한 다양한 센서 측정치의 조합을 이용해 데이터 유형이 손글씨 인식 방법의 정확도를 개선할 수 있다. 덧붙여, 제안된 손글씨 인식이 궤적 결정을 위한 모션 센서 유닛의 절대 위치 측정에 따라 달라지지 않기 때문에, 이러한 측정 데이터 유형은 모션 센서의 상대적 운동의 측정치를 제공하여, 정지형 센서 설정은 더는 필요 없게 만든다.
컴퓨터 시스템은 프리미티브 모션 유닛의 기술적 프로파일을 저장하기 위한 데이터 저장 구성요소를 포함하며, 여기서 기술적 프로파일은 적어도 복수의 지정 가속도 프로파일을 포함한다. 즉, 본 명세서의 맥락에서 프리미티브 모션 유닛의 기술적 프로파일은 물리적 데이터, 가령, 가속도, 배향, 회전 및/또는 압력 데이터를 원시 데이터로서 또는 물리 데이터가 각각의 문자 또는 부호를 그리거나 쓰기 위한 3차원 움직임을 수행하는 것과 연관되는 프리프로세싱 포맷으로 반영하는 프로파일이다. 다시 말하면, 각각의 가속도 프로파일은 적어도 모션 센서 유닛의 가능한 궤적의 특정 부분과 연관된 움직임을 가능한 궤적의 적어도 이전 부분 또는 다음 부분의 맥락에서 특징짓는 가속도 데이터를 포함한다. 가능한 궤적의 특정 부분과 연관된 운동의 맥락이 이전 및/또는 다음 부분에 의해 정의된다. 가능한 궤적의 부분이 내장되는 맥락이 각각의 기술적 프로파일에 영향을 미치고 서로 다른 맥락에서 발생하는 서로 다른 궤적의 유사한 부분들을 구별하는 데 사용될 수 있다. 예를 들어, 위쪽-움직임 및 다음번 아래쪽-움직임을 나타내는 기술적 프로파일의 맥락-종속적 시퀀스가, 두 운동 사이에 휴지(pause)가 있는 경우 또는 없는 경우 상이하다. 따라서 기본 기술적 프로파일(프리미티브)의 단지 이음은 대부분의 경우 실제 센서 측정 데이터를 반영하지 않기 때문에 프로파일의 맥락-종속적 시퀀스를 저장하는 것이 바람직하다.
시스템은 모션 센서 유닛과 연관된 궤적의 부분들의 시퀀스를 식별하기 위해 수신된 센서 데이터를 복수의 지정 가속도 프로파일과 비교하기 위한 디코딩 구성요소를 더 포함한다. 예를 들어, 모션 센서 유닛의 궤적의 부분들의 식별된 궤적이 문자를 나타내는 특정 가능한 궤적의 부분들의 지정된(가령, 전문가에 의해 정의된 또는 가용 지식으로부터 얻어진 또는 훈련 데이터로부터 자동으로 학습된) 맥락 종속적 시퀀스와 연관되는 경우, 디코딩 구성요소는 수신된 센서 데이터에 대응하는 특정 문자를 식별할 수 있다. 다시 말하면, 각각의 문자는 기술적 프로파일의 하나 이상의 특징적 맥락-종속적 시퀀스에 의해 특정될 수 있다. 예를 들어, 가령, 비터비 알고리즘을 기술적 프로파일로서 은닉 마르코프 모델과 함께 이용함으로써 관측된 센서 신호를 고려한 은닉 마르코프 모델의 가능도를 계산함으로써, 디코더는 수신된 측정 데이터와 각각의 지정 맥락-종속적 시퀀스 간 유사도 점수를 계산할 수 있다. 가장 높은 유사도 점수를 갖는 기술적 프로파일의 맥락-종속적 시퀀스와 연관된 특정 문자가 시스템에 의해 식별된다. 덧붙여, 디코더는 식별된 손글씨 텍스트, 부호 또는 기호의 표현을 출력 장치로 제공할 수 있다. 예를 들어, 텍스트, 부호 또는 기호(가령, 문자 또는 텍스트)가 디스플레이 장치 상에 디스플레이 또는 인쇄되거나 오디오 신호로 변환되고 음성 언어로 변환될 수 있다. 디코딩된 문자 또는 부호가 또한 디지털 장치를 제어하기 위한 명령의 일부로서 사용되거나 가상 물체를 조작하기 위해 사용될 수 있다. 예를 들어, 디코딩된 문자 또는 부호가 특정 기호 가령 오른쪽으로의 화살표 또는 선에 대응하는 경우, 오른쪽으로의 스크롤링 기능을 트리거하는 데 사용될 수 있다. 예를 들어, 디코딩된 문자가 푸시 제스처(즉, 문을 닫는 것처럼 손을 전방으로 이동시키는 제스처)에 대응하는 경우, 선택 기능을 트리거하도록 사용될 수 있다. 3D 공간에서의 이러한 부호 문자들의 시퀀스가 가상 물체를 조작하는 데 사용될 수 있다.
하나의 실시예에서, 수신된 측정 데이터가 모션 센서 유닛의 각각의 움직임의 특징인 특징 공간으로 변환될 수 있다. 이 단계의 목적은 디코딩 구성요소로 제공되는 데이터가 손글씨 인식 작업을 위한 관련 정보만 포함하도록 원시 데이터를 변환하는 것이다. 따라서 변환된 측정 데이터는 움직임을 특징 짓는 원시 센서 데이터보다 적은 데이터 및 정보를 포함할 수 있다. 예를 들어, 프리프로세싱 구성요소는 평균 및/또는 분산 정규화를 이용함으로써 원본 원시 데이터로부터의 이러한 특징 추출을 수행할 수 있다. 저장된 기술적 프로파일은 특징 공간에서 대응하는 표현을 갖는 가능한 궤적의 일부분을 특징화할 수 있다. 이로 인해, 대응하는 기술적 프로파일이 특징 공간에서 각각의 부분을 나타내는 센서 데이터로부터 추출된 변환된 데이터들 간 유사도를 계산할 수 있다.
하나의 실시예에서, 검출 구성요소는 모션 센서 유닛의 그 밖의 다른 측정 데이터로부터 손글씨 관련 측정 데이터를 분리할 수 있다. 다양한 알려진 데이터 분리 방법이 이 목적으로 사용되어, 컴퓨터 시스템으로 하여금 동시다발적 글씨 쓰기를 인식할 수 있게 하며, 사용되는 방법에 따라 손글씨 인식 디코딩에 대한 프로세싱 부하를 감소시킨다. 이러한 자동 분리/분할 시스템이 제안된 시스템의 동작 모드를 항상 가능하게 하는데, 즉, 시스템은 배경에서 연속적으로 실행되어 동시 다발적이고 연속적인 쓰기에 대한 손글씨 인식을 가능하게 할 수 있다.
하나의 실시예에서, 딕셔너리가 각각의 식별 가능한 문자에 대한 하나 이상의 맥락-종속적 기술적 프로파일 시퀀스를 저장한다. 각각의 맥락-종속적 기술적 프로파일 시퀀스가 식별 가능 문자와 연관된 모션 센서 유닛의 가능한 궤적을 나타낸다. 딕셔너리가 특정 식별 가능 문자에 대한 복수의 맥락-종속적 기술적 프로파일 시퀀스를 포함하는 경우, 특정 식별 가능 문자를 쓰기 위해 모션 센서의 복수의 서로 다른 가능한 궤적을 나타낼 수 있다. 이러한 식별 가능 문자가 시스템에 의해 학습되거나 나중에 기재되는 바와 같이 자동화 방식으로 데이터로부터 얻어진다. 따라서 시스템은 가변 문자 크기 및 형태, 쓰기 습관 및 그 밖의 다른 사용자 특이성에 대해 더 강건해진다. 딕셔너리는 또한 문자열 또는 단어에 대해 맥락-종속적 기술적 프로파일 시퀀스를 저장할 수 있다. 이러한 (단어) 맥락-종속적 기술적 프로파일 시퀀스는 멀티-문자의 문자열과 연관된 모션 센서 유닛의 가능한 궤적을 나타낸다. 이는 멀티-문자의 문자열의 이전 문자와 다음 문자 사이의 가능한 궤적의 연결 부분을 나타내는 하나 이상의 연결하는 기술적 프로파일을 포함한다. 상기 연결 기술적 프로파일이 연속 글씨 쓰기의 손글씨 인식을 촉진시키는데, 이들이 문자의 일부가 아니지만 기술적 프로파일의 최종 맥락-종속적 시퀀스에 영향을 미칠 사용자에 의해 수행되는 움직임을 나타내기 때문이다.
데이터 저장 구성요소는 맥락의 그룹을 나타내는 그룹 프로파일을 더 저장할 수 있다. 맥락의 그룹은 복수의 유사한 맥락-종속적 기술적 프로파일과 연관될 수 있다. 이러한 유사한 맥락-종속적 기술적 프로파일을 그룹화함으로써, 저장될 필요가 있는 기술적 프로파일의 전체 개수가 유연하게 제어될 수 있다 즉, 충분한 훈련 데이터가 없는 경우, 더 많은 맥락-종속적 기술적 프로파일이 사용될 수 있다. 훈련 데이터가 더 적을수록, 맥락-종속적 기술적 프로파일이 함께 그룹화되어 훈련 데이터로부터 추정될 필요가 있는 파라미터의 개수를 감소시킬 수 있다. 다시 말하면, 더 많은 맥락-종속적 기술적 프로파일이 사용될수록, 더 많은 훈련 데이터가 필요하다. 맥락의 그룹화에 의해 이용 가능한 훈련 데이터의 양의 유연한 적응이 가능해진다. 감소된 개수의 맥락-종속적 기술적 프로파일이 또한 데이터 저장 구성요소에 의해 소비되는 메모리를 저장할 수 있다.
하나의 실시예에서, 컴퓨터 시스템은 문자 시퀀스에 대한 확률을 디코딩 구성요소로 제공하도록 구성된 언어 데이터베이스를 포함할 수 있다. 또한 이러한 언어 데이터베이스는 언어 모델이라고 지칭되며 검색 공간을 한정하고, 검색 안내를 제공하여, 손글씨 인식의 정확도를 개선하고 디코딩 시간의 속도를 높이는 데 사용될 수 있다. 2개의 문자가 기술적 프로파일의 매우 유사한 맥락-종속적 시퀀스와 연관되는 경우(가령, 손글씨 쓰기에서, 소문자 "a" 및 소문자 "d"가 매우 유사한 운동에 의해 써진다), 시스템은 유사도 계산을 기초로 문자를 식별하는 데 어려움을 가질 수 있다. 그러나 언어 모델은 문자 시퀀스 "and"가 문자 시퀀스 "dnd"보다 높은 확률을 갖는다는 정보를 제공할 수 있는데, "and"가 자주 등장하는 영어 단어인 반면에 "dnd"가 영어에서 어떠한 의미도 갖지 않기 때문이다. 그 후 이 언어 모델 확률은 각각의 문자의 식별에 영향을 주는 데 사용될 수 있다. 덧붙여 언어 모델은 단어 시퀀스에 대한 정보를 제공할 수 있다. 예를 들어, 단어 "be my guest"의 시퀀스가 시퀀스 "be my quest"보다 높은 확률을 가진다. 두 시퀀스는 글자 "g"와 "q"만 상이하기 때문에, 구별하기 어려울 수 있다. 단어 시퀀스에 대한 확률이 올바른 문자 및 단어의 식별에 긍정적인 영향을 미칠 수 있다.
또 다른 실시예에서, 컴퓨터 프로그램 프로덕트는 컴퓨터 시스템의 메모리에 로딩되고 컴퓨터 시스템의 적어도 하나의 프로세서에 의해 실행될 때, 컴퓨터 시스템으로 하여금 컴퓨터 시스템의 기능을 수행하기 위한 각각의 컴퓨터 구현된 방법의 단계를 실행하게 한다.
청구범위에 나타난 요소 및 조합에 의해 본 발명의 추가 양태가 구현 및 유지될 것이다. 상기의 포괄적인 기재와 이하의 상세한 기재는 예시 및 설명에 불과하고 본 발명은 이에 한정되지 않는다.
도 1a는 본 발명의 하나의 실시예에 따르는 손글씨 인식을 위한 컴퓨터 시스템의 단순화된 블록도이다.
도 1b는 본 발명의 하나의 실시예에 따르는 모션 센서 유닛의 움직임과 관련된 공간 차원을 도시한다.
도 2a 내지 2d는 본 발명의 하나의 실시예에 따르는 모션 센서 유닛의 가능한 궤적의 예시적 부분을 도시한다.
도 3 내지 7은 모션 센서 유닛의 가속도 센서에 의해 기록되는 실제 가속도 센서 측정 데이터의 예시이다.
도 8은 본 발명의 하나의 실시예에 따르는 3차원 쓰기 움직임을 수행할 때 삼축 가속도 센서 및 삼축 자이로스코프의 실제 센서 측정 데이터를 도시한다.
도 9는 본 발명의 하나의 실시예에 따르는 손글씨 인식을 위한 컴퓨터 구현 방법이 단순화된 흐름도이다.
도 10은 기술적 프로파일을 생성하기 위한 훈련 구성요소를 포함하는 컴퓨터 시스템의 추가 실시예를 도시한다.
도 11은 기술적 프로파일을 생성하기 위한 컴퓨터로 구현되는 방법의 단순화된 흐름도이다.
도 12a는 3개의 공간 차원에서 모션 센서 유닛의 원시 센서 데이터 신호의 예시를 보여준다.
도 12b는 원시 센서 데이터 신호의 평균 및 분산 정규화 후 정규화된 데이터의 예시를 도시한다.
도 1a는 본 발명의 하나의 실시예에 따르는 손글씨 인식을 위한 컴퓨터 시스템(100)의 단순화된 블록도이다. 시스템(100)은 모션 센서 유닛(10)으로부터 측정 데이터(11)를 수신하기 위한 인터페이스 구성요소(110)를 포함한다. 상기 모션 센서 유닛은 유선 또는 무선 통신 수단(가령, Bluetooth, WLAN 등)에 의해 시스템(100)과 통신 가능하게 연결될 수 있다. 모션 센서 유닛(10)은 사용자의 신체의 이동 가능 부위(가령, 손, 팔, 손가락 등)와 물리적으로 연결된다. 이는 또한 피부 상으로 각인되거나, 피부 내로 주입되거나, 이식되거나, 그 밖의 다른 방식으로 인체에 일시적 또는 영구적으로 연결될 수 있다. 예를 들어, 모션 센서 유닛은 사용자의 손에 부착될 수 있다. 모션 센서 유닛은 글로브, 시계, 손목 스트랩, 팔찌, 또는 사용자가 착용하는 반지의 일부일 수 있다. 또한 모션 센서 유닛은 사용자가 보유하는 장치(가령, 스마트폰, 전자 펜 등)의 일부일 수 있다. 일체 구성된 모션 센서 유닛을 갖는 그 밖의 다른 임의의 웨어러블 장치, 가령, 안경이 사용될 수 있다. 또한, 컴퓨터 시스템 자체가 사용자가 갖고 있는 또는 착용한 장치의 일부일 수 있다. 즉, 특정 시간 주기 동안만 모션 센서 유닛(10)이 사용자의 신체(1)에 의해 연결 또는 보유될 수 있다. 예를 들어, 측정 데이터(11)는 모션 센서 유닛(10)에 내장된 가속도 센서의 센서 데이터를 포함한다. 가속도 센서에 의해 측정된 가속도 데이터가, 사용자가 각자의 신체 부위(1)를 움직이는 동안 모션 센서 유닛에 의해 수행되는 궤적(운동)(20)의 시간의 이차 도함수에 대응한다. 도면에서, 운동의 시작 부분에서의 실선을 이용하고 운동의 종료 부분에서의 점선을 이용해, 부착된 모션 센서 유닛(10)을 갖는 사용자의 손이 도시된다. 센서 유닛(10)에 의해 수행되는 궤적(20)이 휘어진 점선 화살표에 의해 도시된다.
도 1b을 참조하면, 모션 센서 유닛은 모든 공간 차원 x, y 및 z에서 운동을 수행할 수 있고, 여기서 z 차원은 도시된 데카르트 좌표계의 원점에 의해 나타난다. 즉, 궤적의 운동을 기술하는 벡터가 모든 공간 차원에서 벡터 성분을 가질 수 있다.
도 1a를 참조하면, 모션 센서 유닛(10)은 추가 센서, 가령, 자이로스코프, 자기력계 또는 기압계를 포함할 수 있다. 이러한 실시예에서, 측정 데이터는 모션 센서 유닛의 배향 및 회전, 모션 센서 위치에서의 공기 압력에 대한 데이터를 더 포함할 수 있다. 예를 들어, 자이로스코프가 운동 동안 발생하는 각속도에 대한 데이터를 측정할 수 있다. 자기력계는 나침반 기능을 수행하여 운동 동안 모션 센서 유닛(10)의 배향에 대한 측정 데이터를 제공할 수 있다. 기압계가 모션 센서 유닛의 수직 위치의 측정 데이터를 제공할 수 있다.
컴퓨터 시스템(100)은 문자의 기술적 프로파일을 저장하기 위한 데이터 저장 구성요소(130)를 포함하며, 여기서 기술적 프로파일은 적어도 복수의 지정 가속도 프로파일을 포함한다. 배향 프로파일, 각속도 프로파일(회전 프로파일) 및 공기 압력 프로파일에 의해 기술적 프로파일을 보강함으로써, 손글씨 인식 시스템의 전체 정확도를 향상시킬 수 있다. 이는 도 8에서 더 상세히 설명될 것이다. 본 명세서의 맥락에서 구체적 문자의 기술적 프로파일은 각각의 문자를 그리거나 적기 위해 3차원 운동을 수행하는 것과 연관되고 상기 물리적 파라미터에 의한 각각의 물리적 운동을 특징화하는 물리적 파라미터, 가령, 가속도, 배향, 회전 및/또는 공기 압력 데이터를 반영하는 프로파일이다. 다시 말하면, 각각의 가속도 프로파일은 적어도 모션 센서 유닛의 가능한 궤적의 특정 부분과 연관된 운동을, 상기 가능한 궤적의 적어도 이전 또는 다음 부분의 맥락에서, 특징화하는 가속도 데이터를 포함한다. 기술 프로파일은 시간의 흐름에 따른 원시 형태 또는 변환된 형태로, 가령, 은닉 마르코프 모델(Hidden Markov Model)의 형태로 된 센서 값의 학습된 표현으로 나타날 수 있다. 예를 들어, 표현은 기계 학습 알고리즘에 의해 훈련 데이터로부터 자동으로 학습될 수 있는 확률 분포를 포함할 수 있다. 가능한 궤적의 특정 부분과 연관된 운동의 맥락이 이전 부분 및/또는 다음 부분에 의해 정의된다. 즉, 좌우 라인 부분이 선행하고 또 다른 좌우 라인 부분이 후행하는 상하 라인의 가속도/배향/회전/압력 프로파일이 상하 라인 부분의 가속도/배향/회전 프로파일과 상이하다. 가능한 궤적의 일부분이 포함되는 맥락이 각각의 기술적 프로파일에 영향을 미치며 서로 다른 맥락에서 발생하는 서로 다른 궤적의 유사한 부분을 구별하는 데 사용될 수 있다. 이는 도 2 내지 7을 참조하여 더 상세히 설명된다.
시스템(100)은 수신된 센서 데이터(11)를 복수의 지정 기술(가령, 가속도) 프로파일(130)에 비교하기 위한 디코딩 구성요소(120)를 더 포함하여, 모션 센서 유닛(10)과 연관된 궤적(20)의 일부분의 시퀀스를 식별할 수 있다. 도 2a 내지 2d는 이 양태를 더 상세히 설명한다. 모션 센서 유닛의 궤적의 부분들의 식별된 시퀀스가 문자를 나타내는 특정 가능한 궤적의 부분들의 지정 맥락-종속적 시퀀스와 연관되는 경우, 디코딩 구성요소(120)가 수신된 센서 데이터에 대응하는 특정 문자를 식별할 수 있다. 다시 말하면, 각각의 문자가 기술적 프로파일의 하나 이상의 특징적 맥락-종속적 시퀀스에 의해 정의된다.
예를 들어, 기술적 프로파일의 이러한 문자 특정적 맥락-종속적 시퀀스를 저장하기 위해 딕셔너리(140)가 사용될 수 있다. 상기 디코더는 수신된 측정 데이터를 저장된 맥락-종속적 시퀀스 프로파일에 비교하고 가장 유사한(가장 높은 유사도를 갖는) 문자 시퀀스를 출력/반환한다. 식별된 문자/문자 시퀀스의 표현이 출력 장치(200)로 제공될 수 있다. 예를 들어, 문자는 디스플레이 장치(가령, 컴퓨터 스크린, 증강 현실 안경 등) 상에 디스플레이되거나 인쇄되거나 오디오 신호로 변환되고 음성 언어로서 전달될 수 있다. 디코딩된 문자는 또한 디지털 장치를 제어하기 위한 명령의 일부로서 사용될 수 있다.
딕셔너리(140)가 문자 및 단어에서 부분(프리미티브) 및 이들 각자의 기술적 프로파일로의 맵핑(mapping)을 정의하도록 구성된다. 딕셔너리(140)는 개별 문자 및 단어 딕셔너리로부터 생성될 수 있다. 문자 딕셔너리는 문자에서 부분으로의 맵핑을 정의한다. 특정 문자를 쓰기 위한 가능성이 두 가지 이상 존재할 수 있다. 따라서 하나의 문자에 대해 복수의 기술적 프로파일 변형이 딕셔너리에 특정/정의될 수 있다. 딕셔너리는 기술적 프로파일의 시퀀스를 특정하여 새 문자, 새 단어, 새 변형을 추가함으로써 유연하게 확장될 수 있다. 표 1은 문자 "E"에 대한 문자 딕셔너리에서의 복수의 변형에 대한 예시를 보여준다. 예를 들어, 단순화된 표기가 사용되어 "하향" 운동(D)에 대응하는 부분, "우향" 운동(R)에 대응하는 부분, "좌향" 운동(L)에 대응하는 부분, "하향-좌향" 운동(DL)에 대응하는 부분 및 "상향-좌향" 운동(UL)에 대응하는 부분을 나타낼 수 있다. 이하에서 더 세밀한 표기가 소개될 것이다.
표 1: 문자 "E"에 대한 딕셔너리 변형
Figure pct00001
표 2는 단어(문자열)에서 개별 문자들의 각각의 시퀀스로의 간결한 맵핑인 단어 딕셔너리 항목의 예시를 도시한다.
표 2: 단어에서 문자 시퀀스로의 딕셔너리 맵핑
Figure pct00002
표 3은 "E"의 딕셔너리 변형이 하나의 단어 내에서 혼합되지 않는다는 가정하에서 생성된 딕셔너리가 어떻게 보일지를 예시를 들어 보여준다, 즉, 사용자가 하나의 단어 내에 E를 적는 중에 일관되고 문자 "L"이 부분 시퀀스 "DR"에 맵핑된다. 2개의 연속되는 문자가 연결 부분에 의해 링크될 수 있다.
그러나 이 연결 부분은 필수적인 것은 아니다. 제안된 방법이 연결 부분이 특정 신호 데이터에 더 잘 맞는 경우 자동으로 검출한다. 이들 부분은 개별 문자의 획득 사이에 선택적으로 삽입될 수 있고 명확성을 이유로 표 3의 예시적 딕셔너리 항목에서 괄호로 나타난다. 예를 들어, 모든 문자가 제자리에서 써지는 경우, 즉, 각각의 문자가 실질적으로 다른 문자 위에 적히는 경우, 표 3에 나타난 "EEL"의 제1 변형의 경우 문자들 사이에 좌향으로의 모션이 필요하다. 이는 일반적으로 문자 "E"를 적는 것이 우측부에서 끝나고 두 문자 "E"와 "L" 모두를 적는 것이 좌측부에서 시작하기 때문이다. 따라서 좌향 모션에 대한 모션 심볼이 맥락과 관련하여 문자들 사이에 삽입될 수 있다.
표 3: 단어에서 부분 시퀀스 변형으로의 딕셔너리 맵핑(숫자로 마킹된 변형)
Figure pct00003
하나의 실시예에서, 컴퓨터 시스템은 원시 센서 측정 데이터를 특징 공간(feature space)으로 변환하는 프리프로세싱 구성요소를 포함할 수 있다. 이로써, 변환 후에 손글씨 인식 작업에 대한 관련 정보만 존재하도록, 원시 데이터의 샘플의 차원 및/또는 개수가 변경될 수 있다. 변환은 또한 서로 다른 센서(즉, 서로 다른 센서 유형의 복수의 센서)의 융합을 포함할 수 있다. 예를 들어, 가속도계, 자이로스코프 및 자기력계로부터의 데이터가 함께 융합되어, 센서의 절대 배향을 추정할 수 있다. 이러한 배향 추정을 위한 복수의 융합 기법이 종래 기술에 알려져 있으며, 예를 들어, 칼만-필터(Kalman-Filter), 마호니(Mahony) 또는 마지윅 필터(Madgwick filter)가 있다.
수신된 센서 원시 데이터에 적용될 수 있는 일반적인 프리프로세싱 단계가 평균 정규화(mean normalization) 및 분산 정규화(variance normalization)이다. 평균 정규화는 신호 평균을 뺌으로써(따라서 평균을 0으로 설정함으로써) 원시 데이터 신호에서 상수 오프셋을 제거한다. 가속도 신호에 대해, 평균 정규화가 특정 범위까지 중력 가속도의 영향을 제거할 수 있다. 지구 상에서 중력 가속도는 항상 존재하며 - 하드웨어 구현에 따라 - 배향에 따라 가속도 센서의 축을 따라 측정될 수 있다. 예를 들어, 손글씨를 쓰는 동안, 센서의 배향이 일정하지 않지만 큰 변화를 겪지는 않는다. 따라서 상수 오프셋을 제거함으로써 일부 범위까지 중력 영향을 제거할 수 있다. 자이로스코프 및 자기력계가 이용 가능한 경우, 중력 제거를 위한 더 정밀한 방법이 사용될 수 있다. 시간의 흐름에 따른 측정 데이터로부터 센서 배향을 추정하기 위한 몇 가지 방법이 알려져 있다(가령, 칼만 필터, 마지윅/마호니 필터). 단순히 신호 평균을 빼는 대신 중력을 빼기 위해 추정 배향이 사용될 수 있다. 또한 추정된 배향이 특징 공간에서 추가 차원으로서 사용될 수 있다.
분산 정규화가 원시 데이터 신호의 분산을 1로 설정하고 서로 다른 쓰기 속도 및 스타일(쓰기 속도 및 스타일이 사용자별로 다를 수 있음)에 의해 야기되는 높거나 낮은 진폭을 보상할 수 있다. 일반적으로 평균 정규화와 분산 정규화의 공동 적용이 z-정규화로 지정된다. 도 12a 및 12b가 3개의 공간 차원 x, y, z에서의 원시 센서 데이터 신호 11-x, 11-y, 11-z(도 12a) 및 z-정규화 이후 각자의 정규화된 데이터 14-x, 14-y, 14-z의 예시를 보여준다. 연속적인 쓰기를 위해, 즉, 대응하는 데이터 신호가 수신되는 동안, z-변환이 실시간으로 효율적으로 계산될 수 있다.
그 밖의 다른 선택적 프리프로세싱 단계가 수신된 원시 센서 데이터 신호의 필터링을 포함할 수 있다. 인간 모션이 저주파수(약 <30Hz)와 연관되기 때문에, 데이터 신호는, 예를 들어, 저역 통과 필터링되어, 신호에서 사용자의 떨림 또는 센서 잡음에 의해 야기되는 고주파수 부분을 제거할 수 있다. 신호 정규화외에, 종래 기술에 알려진 다양한 그 밖의 다른 필터 중 하나의 선택인 이동 평균 필터에 의해 원시 신호가 필터링될 수 있다.
패턴 인식을 위한 신호 프리프로세싱 및 특징 추출에서 사용되는 또 다른 변환의 비제한적 예를 들면, 신호의 적분 및 미분, 다운샘플링 또는 업샘플링, 신호 압축, 비트 분해능 변경, 통계 특징을 계산하기 위한 윈도잉 함수의 적용, 예컨대 윈도 내 신호 평균 또는 스펙트럼 특징의 추출을 위한 단기 푸리에 변환과 조합이 있다. PCA(Principal Components Analysis) 또는 LDA(Linear Discriminant Analysis) 또는 ICA(Independent Component Analysis) 같은 방법이 특징 공간의 차원을 감소하는 데 일반적으로 사용된다. 신호 근사, 가령, 스플라인 근사(spline approximation), 조각 선형 근사(piecewise linear approximation), 심볼 표현 또는 웨이블릿 변환이 사용되어 압축된 형태로 신호를 표현할 수 있다. 정보 융합이 사용되어 센서 측정치를 융합하여, 칼만 필터 또는 이의 변형 중 하나 등을 이용해, 더 높은 레벨의 정보, 가령, 가속도, 자이로스코프 및 자기력계 판독값으로부터 센서 배향의 계산을 생성할 수 있다. 변환이 또한 시간의 흐름에 따른 다음 샘플의 적층, 또는 다음 샘플의 n차 도함수를 포함할 수 있다.
방법들의 임의의 유형의 조합이 사용되어, 원본 신호(측정치 원시 데이터)를 공동으로 변환할 수 있다. 프리프로세싱의 출력이 특징 공간으로 변환되는 신호이다. 샘플의 차원 및 개수가 변환을 통해 변경될 수 있다. 변환된 샘플이 일반적으로 특징 벡터(feature vector)라고 지칭되며 따라서 프리프로세싱의 출력이 특징 벡터의 시퀀스이다.
센서 측정 데이터 신호의 특성 특징 벡터의 시퀀스가 수신된 센서 측정 데이터로부터 추출될 수 있다. 예를 들어, 윈도잉 함수가 측정 데이터 또는 프리프로세싱된 데이터에 적용될 수 있고, 윈도당 평균이 신호 차원 x, y, z 각각에 대해 계산된다. 그 밖의 다른 방식의 비제한적 예를 들면, 신호 피크의 사용성 또는 영점 교차율이 있다. 이러한 데이터 프리프로세싱의 출력이 원본 신호의 특징 공간으로의 변환이다.
디코딩 구성요소(120)는 통계적 및 확률적 기법, 가령, 은닉 마르코프 모델(HMM) 또는 조건부 무작위장(CRF)(Conditional Random Fields) 또는 HMM 또는 CRF 디코딩 문제를 해결하기 위한 적절한 알고리즘(가령, 프리픽스트리(prefixtree), 스택 디코더 전략 가령 A*Star 또는 유한 상태 트랜스듀서를 이용한 비터비 빔(Viterbi beam) 탐색의 적절한 메시지 전달 변형예)을 이용하는 쉘로우/딥 신경망(Shallow 및 Deep Neural network)를 사용할 수 있다. HMM이 사용되는 경우, 디코딩 구성요소의 출력이 특정 신호를 나타낼 가능도(likelihood)를 정량화하는 각자의 가능도 점수를 갖는 n개의 최상 가설의 n-최상 리스트이다. 1-최상 가설, 즉, 가장 높은 가능도를 갖는 가설이 인식기 출력으로 취해진다. 지정 기술적 프로파일과 궤적(20)과 연관된 관측된 특징 시퀀스 간 맞춤 등급을 정량화함으로써 가능도가 계산된다. 따라서 기술적 프로파일과 특징 공간으로 변환되는 센서 신호 간 유사도의 척도로서 가능도가 사용될 수 있다. 일반적으로 이는 문자 및/또는 단어 시퀀스의 가능도를 고려할 수 있다. 후자는, 언어 모델을 디코딩 프로세스(언어 데이터베이스)(150)로 통합시킴으로써 계산될 수 있다. 언어 모델은 일반적으로 언어 및 적용 영역에 특정적인 문자 또는 단어의 시퀀스에 대한 확률을 포함한다. 문자 언어 모델(character language model)은 문자의 선행자의 고정 개수가 주어질 때 상기 문자의 확률을 반환할 수 있다. 단어 언어 모델(word language model)은 지금까지 관측된 단어의 히스토리가 주어질 때 단어의 확률을 반환한다. 이로 인해, 가령, 해당 분야의 통상의 기술자에게 친숙한 머신 러닝 알고리즘을 통해 훈련 텍스트로부터 통계적 속성을 도출함으로써 언어의 구문론적 속성 및 의미론적 속성을 활용할 수 있다. 언어 모델이 통계적 n-그램 모델, 즉 문법(grammer)으로서 구현될 수 있다. 문법은 인식될 수 있는 문자 시퀀스를 제한하고 인식의 더 큰 강건성을 가능하게 할 수 있다. 기술적 프로파일의 가능성의 영향 대(vs) 언어 모델의 영향이 가중치 계수(weighting factor)에 의해 조절될 수 있다. 다시 말하면, 디코딩 구성요소는 2개의 서로 다른 유형의 확률 점수, 가령, 모션 패턴을 이용해 유사도를 정량화하는 확률 점수와 문자 또는 단어가 시퀀스로 등장할 확률 점수를 이용할 수 있다. HMM 방식에 대한 상세사항이 Amma C.; Georgi M.; Schultz T. 저 "Airwriting: a wearable 손글씨 인식 system", Personal 및 Ubiquitous Computing(DOI 10.1007/s00779-013-0637-3로 온라인에서 이용 가능)에 개시되어 있다.
하나의 실시예에서, 컴퓨터 시스템은 수신된 센서 데이터를 필터링하도록 구성된 검출 구성요소(160)를 더 포함하여, 문자에 대한 쓰기 모션과 연관된 유일한 센서 데이터가 디코딩 구성요소에 제공될 수 있다. 이로써, 시스템은 배경(background)에서 지속적으로 실행될 수 있고 사용자가 적을 때를 자동으로 검출할 수 있다. 이는 쓰기의 시작과 종료를 나타내기 위해 어떠한 스위치 또는 특수 제스처고 수동으로 활성화될 필요가 없기 때문에 사용자에게 편리함을 더 제공할 수 있다. 다시 말하면, 이 특징에 의해 사용자는 시스템을 영구적으로 착용하고 수동으로/의식적으로 시스템을 온(ON) 및 오프(OFF)할 것에 대해 신경 쓸 필요가 없다 - 항상 실행되어 있지만 사용자가 실제로 쓸 때 문자 또는 단어를 인식할 것이다. 검출 구성요소(160)는 유입 측정 데이터(11)를 손글씨 부분과 비-손글씨 부분으로 분할할 수 있다. 예를 들어 이는 이진 분류(binary classification)를 이용함으로써 이뤄질 수 있다: 슬라이딩 윈도를 적용함으로써 유입 데이터 스트림이 윈도잉되고, 그 후 개별 윈도가 입력 신호의 분할을 도출하는 손글씨 또는 비-손글씨로 분류된다. 이 방식에 대한 상세사항이 Amma C.; Georgi M.; Schultz T. 저 "Airwriting: a wearable 손글씨 인식 system", Personal 및 Ubiquitous Computing(DOI 10.1007/s00779-013-0637-3로 온라인에서 이용 가능)에 개시되어 있다.
손글씨-관련 데이터를 또 다른 측정 데이터로부터 분리하기 위한 또 다른 가능성이 은닉-마르코프-모델 디코더 내 가비지 모델(garbage model)에 의해 비-손글씨 모션을 핸들링하는 것이다. 즉, 문자 관련 기법 프로파일에 추가로, 비-손글씨(가비지) 모션을 위한 특수 기술 프로파일이 생성된다. 이 기법은 다음의 문헌에서 자동 음성 인식에 대해 기재되어 있다: Wilpon, J.G.; Rabiner, L; Chin-Hui Lee; Goldman, E.R.저 "Automatic recognition of keywords in unconstrained speech using hidden Markov models," Acoustics, Speech 및 Signal Processing, IEEE Transactions on, vol.38, no.11, pp.1870, 1878, Nov 1990. 해당 분야의 통상의 기술자라면 본 발명의 맥락에 이러한 방식을 적용할 수 있음을 알 것이다.
또 다른 가능성은 다음의 문헌에서 제안되는 임계값 기반 방식을 이용하는 것이다: Hyeon-Kyu Lee; Kim, J.H저 "An HMM-based threshold model approach for gesture recognition," Pattern Analysis 및 Machine Intelligence, IEEE Transactions on, vol.21, no.10, pp.961, 973, Oct 1999.
도 2a 내지 2d는 문자를 나타내는 부분들의 시퀀스로 구성될 수 있는 기본 궤적 부분(프리미티브)의 예시를 도시한다. 그 밖의 다른 프리미티브가 대신 사용될 수 있으며, 특히, 특정 프리미티브가 사용자에게로 향하는 또는 사용자로부터 멀어지는 모션을 포함하는 3D 공간으로 확장될 수 있다. 이는 도면에서 도시의 명료성을 위해 생략된다. 이 예시에서 사용되는 라벨이 다음과 같은 방식으로 판독될 수 있다. 콜론 왼쪽에서 선 유형이 인코딩되는데, "s"는 직선 유형을 나타내며 "c"가 곡선 유형을 나타낸다. 곡선 유형은 90도의 중심각을 갖는 곡선 호를 의미한다. 콜론 오른쪽에서 각각의 부분의 시작 및 종료가 "시작위치-종료위치(from-to)" 포맷으로 인코딩된다. 가능한 코드는 중앙(center)을 나타내는 "c", 위(up)를 나타내는 "u", 아래(down)를 나타내는 "d", 오른쪽(right)을 나타내는 "r", 왼쪽(left)을 나타내는 "l"이다. 해당 분야의 통상의 기술자는 서로 다른 입도(granularity)를 갖는 궤적을 구별할 수 있다. 도면에서의 일부 예시가 이하에서 명확히 기재될 것이다.
도 2a에서, s:c-l는 중앙에서 시작하여 왼쪽에서 종료하는 직선을 나타낸다. s:c-dr은 중앙에서 시작하고 아래-오른쪽에서 종료하는 직선을 나타낸다.
도 2b에서, c:l-u는 왼쪽에서 시작하여 위쪽으로 가는 곡선(이는 오른쪽 움직임을 포함)을 나타낸다. c:r-d는 오른쪽에서 시작하여 아래쪽으로 가는 곡선(왼쪽 움직임을 포함)을 나타낸다.
도 2c에서, c:dl-ul은 아래-왼쪽에서 시작해서 위-왼쪽으로 가는 곡선을 나타낸다. c:dl-dr은 아래-왼쪽에서 시작해서 아래-오른쪽으로 가는 곡선을 나타낸다.
그 밖의 다른 모든 코드가 이 방식에 따라 디코딩될 수 있다. 이 스킴은 문자의 모델을 각각의 부분의 시퀀스로서 생성하는 데 사용될 수 있다. 이 스킴에 따라, 예를 들어, 도 2d에서 문자 B를 적기 위해 수행되는 움직임을 기술하는 부분들의 시퀀스가 (판독 편의를 위해 콤마로 분리하면) s:c-d, s:c-u, c:u-r, c:r-d, c:u-r, c:r-d와 같이 기재될 수 있다.
각각의 부분에 대해, 각자의 기술적 프로파일이 생성될 수 있다. 이러한 기술적 프로파일은, 부분을 특징화하는 물리적 파라미터가 이전 부분과 다음 부분에 따라 달라지기 때문에 부분들의 맥락에 따라 달라진다. 이러한 기술적 프로파일에 의한 문자의 표현은 완벽한 문자 모델의 모델링을 필요로 하지 않기 때문에 매우 유연하다. 오히려, 임의의 문자 또는 심볼이 이러한 기본적인 맥락-종속적 또는 맥락 인식 프리미티브로부터 구축될 수 있고, 결과적으로 시스템의 디코딩 구성요소에 의해 인식될 수 있다. 따라서 새 심볼, 문자, 및 단어가 정의될 수 있고 기존 모델 및 시스템을 변경, 수정, 또는 재훈련할 필요 없이 즉각적으로(on the fly) 통합될 수 있다.
도 3 내지 7은 문자 또는 심볼의 특징 부분과 관련된 기술적 프로파일의 맥락 종속성(context dependency)을 도시한다. 도면이 가속도 센서로부터 수신된 실제 측정 데이터(신호 패턴)를 도시한다. 그러나 이들은 각각의 기술적 프로파일을 생성할 때 고려되는 부분들의 맥락 종속성에 의해 야기되는 물리적 효과를 명료하게 도시한다.
개별 부분에 대한 신호 패턴이 이전 부분 및 다음 부분에 따라 달라진다. 예를 들어, 2개의 연속되는 움직임(궤적의 부분)이 사이에 휴지(pause)를 두고 수행되는 경우 또는 휴지 없이 수행되는 경우 기술적 프로파일의 맥락-종속적 시퀀스를 구별할 수 있다.
도 3은 위쪽-움직임(부분 "s:c-u")에 대한 패턴 11-1을 도시한다. 도 4는 아래쪽-움직임(부분 "s:c-d")에 대한 패턴 11-2을 도시한다. 패턴 11-1, 11-2을 이을 때 이어진 최종 패턴이 두 부분 사이에 휴지 없이 수행되는 부분 "s:c-u" 및 "s:c-d"에 대한 패턴 11-3(참고. 도 5 "위아래"로 표시됨)과 명백히 상이하다. 다시 말하면, 상향 모션 또는 하향 모션에 대한 맥락-종속적 기술적 프로파일이 각각 이전 수행된 모션 또는 다음에 수행되는 모션에 따라 달라진다. 이는 "위" 부분의 종료에서의 가속도의 방향이 "아래" 부분의 시작에서의 가속도와 동일하다는 사실 때문이다. 부분들 사이에 어떠한 휴지도 없기 때문에, 가속도 값이 2개의 연속되는 부분들 사이에서 0이 되지 않는다. 따라서, 휴지 없이 순차적으로 실행되는 부분들에 대한 기술적 프로파일이 각각의 부분의 시작과 종료 사이에 휴지를 갖고 실행되는 개별 부분들의 기술적 프로파일들의 단순한 연결과 동일하지 않기 때문에, 각각의 부분에 대해 패턴(기술적 프로파일)을 저장 구성요소(130)(참고. 도 1)에 저장하는 것이 충분하지 않다. 따라서 저장 구성요소(130)는 도 5의 예시에 의해 나타나는 맥락-종속적 기술적 프로파일을 또한 저장한다.
"위"(s:c-u) 및 "오른쪽"(s:c-r)의 부분 시퀀스에 대해 또 다른 예시가 도 6에서 제공된다. "오른쪽" 부분이 임의의 수직방향 모션을 포함하지 않기 때문에, "위" 부분에 대한 x-차원(참고. 도 1b)에서의 패턴(11-4)이 도 3에 나타난 패턴(11-1)과 매우 유사하다. 패턴(11-4')은 "오른쪽"으로의 수직방향 모션에 대응하는 y-차원에서의 가속도 데이터를 도시한다. 아 예시는 "오른쪽" 부분이 "위" 부분에 어떠한 영향도 미치지 않음을 도시한다. 예시에 따르면, 이전 부분 및 다음 부분의 서로 다른 조합에 대해 서로 다른 맥락-종속적 기술적 프로파일을 저장하는 것이 바람직할 수 있다.
이하의 명명 규칙은 한 부분을 이전 부분 및 다음 부분의 맥락(context)에서 나타내도록 사용될 것이며: p(pp|sp) 여기서 p는 상기 한 부분이고, pp는 이전 부분(이전 맥락)이며, sp는 다음 부분(다음 맥락)을 나타낸다.
예를 들어, 이전 맥락과 다음 맥락의 모든 가능한 조합에 대해 기술적 프로파일이 저장될 수 있다. 대안적으로, 맥락의 그룹에 대해 기술적 프로파일이 생성 및 저장될 수 있다. 예를 들어, "아래"의 패턴이 두 이전 맥락 모두에 대해 거의 동일하기 때문에, "왼쪽위" 및 "위"의 이전 부분의 맥락에서 "아래" 부분에 대한 단 하나의 기술적 가속도 프로파일이 만들어질 수 있다(참고. 도 7의 "왼쪽위"에 이어지는 "아래"에 대한 패턴 11-5 및 도 5의 "위"에 이어지는 "아래"에 대한 패턴 11-3). 이는 생성될 기술적 프로파일의 크기를 유연하게 제어하는 것을 가능하게 한다. 즉, 충분한 훈련 데이터가 존재하는 경우, 많은 수의 맥락-종속적 기술적 프로파일이 사용될 수 있다. 훈련 데이터가 덜 존재하는 경우, 더 많은 맥락-종속적 기술적 프로파일이 서로 그룹화되어 훈련 데이터로부터 추정될 필요가 있는 파라미터의 개수를 감소시킬 수 있다. 다시 말하면, 더 많은 맥락-종속적 기술적 프로파일이 사용될수록, 더 많은 훈련 데이터가 필요하다. 맥락의 그룹화에 의해 이용 가능한 훈련 데이터의 양으로의 유연한 적응이 가능하다. 감소된 개수의 맥락-종속적 기술적 프로파일이 또한, 예를 들어, 저장 구성요소(130)(참고. 도 1)의 메모리 소비량을 감소시킬 수 있다. 맥락의 그룹은 숙련자에 의해 정의되거나 클러스터링 알고리즘(가령, k-평균, k-중앙값, 뉴럴 가스(Neural Gas)) 및 적절한 거리 또는 유사도 척도(가령, 유클리드 거리, 동적 시간 워핑(dynamic time warping), 쿨백-레이블러 발산(Kullback-Leibler divergence))를 이용한 유사도를 기초로 기술적 프로파일들을 클러스터화함으로써 데이터로부터 학습될 수 있다.
도 8은 가속도 및 회전(각속도) 센서 데이터의 예시를 도시한다. 도면은 문자 "A"를 적는 예시와 관련된다. 문자 획과 관련된 부분들의 각각의 시퀀스가 s:c-ur, s:c-dr, s:c-ul, s:c-r와 같이 기재될 수 있다.
앞서 언급된 바와 같이, 추가 센서 데이터, 가령, 회전 및/또는 배향 센서 데이터에 의해 가속도 센서 데이터를 보완함으로써 손글씨 인식의 정확도가 개선될 수 있다. 모든 이들 유형의 센서 데이터가 상대적 센서 데이터를 기초로 하는 손글씨 인식을 위해 사용될 수 있다. 다시 말하면, 가속도 센서 데이터, 배향 센서 데이터 및 회전 센서 데이터가 모션 센서 유닛의 공간 내 절대 위치를 알 필요 없이 시스템에 저장된 지정 기술적 프로파일과의 매칭을 결정하도록 사용될 수 있다. 따라서 종래 기술에서처럼 정지상태 카메라 센서를 갖는 복합 정적 시스템을 가질 필요가 없다. 본 발명의 실시예에 따르는 정확한 손글씨 인식이 임의의 절대적 공간 좌표에 독립적인 센서에 의해 측정된 데이터에 따라 달라진다. 도면은 사용자가 공중에 문자 "A"를 적고 있는 동안 모션 센서 유닛(10)에 의해 기록되는 예시적 신호를 보여준다(도 1 참조). 이 예시에서, 모션 센서 유닛은 삼축 가속도계 및 삼축 자이로스코프를 포함한다. 그래프의 각각의 행이 좌측에서 하나의 공간 차원에 대한 가속도 측정 데이터를 보여주고 우측에서 동일한 공간 차원에 대한 각속도 측정 데이터를 보여준다. 사용자의 손과 모션 센서 유닛의 정렬 때문에, 모든 3개의 차원(각각 제1, 제2, 제3 행에서 x, y, z)에서 수직 및 수평 방향 모션이 부분적으로 관측 가능하다. 그러나 주요 수직방향 모션이 z 및 x 축을 따라 주로 관찰될 수 있고, 주요 수평방향 모션이 y축을 따라 주로 관찰될 수 있다. 모션 센서 유닛의 각각의 센서로부터 수신된 가속도, 회전 및 배향 데이터를 반영하는 측정 데이터를 조합함으로써 본 발명의 개념에 따르는 손글씨 인식의 정확도가 개선됨이 실험에 의해 나타났다. 예를 들어, Amma C, Gehrig D., 및 Schultz T. 저 "Airwriting recognition using wearable motion sensors", Augmented Human Conference, 2010, Megeve, France에, 자이로스코프에 의해 제공되는 정보가 가속도계만 이용하는 시스템에 비해 인식 성능을 증가시킴이 나타나 있다.
도 9는 본 발명의 하나의 실시예에 따르는 손글씨 인식을 위한 컴퓨터로 구현되는 방법(1000)의 단순화된 흐름도이다. 상기 방법은 컴퓨터 시스템(100)의 다양한 구성요소에 의해 실행될 수 있다(도 1 참고). 센서 데이터를 특징 공간으로 변환하는 단계(1200) 및 센서 데이터를 분리하는 단계(1300)는 기본 실시예에서 존재할 수 없는 선택적 단계일 수 있다.
컴퓨터 시스템이 사용자 신체의 움직임 가능 부위와 물리적으로 연결된 모션 센서 유닛으로부터의 센서 측정 데이터를 수신한다(1100). 센서 측정 데이터는 모션 센서 유닛의 궤적의 시간에 의한 2차 도함수를 포함한다. 상기 궤적은 사용자에 의해 수행되는 운동에 대응하는 부분의 시퀀스를 포함한다. 예를 들어, 사용자는 부착된 모션 센서 유닛과 함께 자신의 손을 움직이고 상기 모션 센서 유닛은 시간의 흐름에 따른 모션 센서 유닛의 가속도, 회전 또는 배향에 대한 측정 데이터를 기록할 수 있다. 그 후 이러한 데이터는 컴퓨터 시스템에 의해 수신될 수 있다.
컴퓨터 시스템은 수신된 센서 측정 데이터를 기술적 프로파일의 복수의 시퀀스와 비교할 수 있다(1400). 이러한 기술적 프로파일은 적어도 복수의 지정 가속도 프로파일을 포함한다. 대안적 실시예에서, 기술적 프로파일은 배향, 회전 및/또는 압력 프로파일을 더 포함할 수 있다. 각각의 가속도 프로파일은 모션 센서 유닛의 가능한 궤적의 특정 부분과 연관된 움직임을, 상기 가능한 궤적의 적어도 이전 부분 또는 다음 부분의 맥락에서 특징화하는 가속도 데이터의 분포에 대한 정보를 포함한다. 이로써, 각각의 기술적 프로파일은 시간에 따른 측정의 변화에 대한 확률적 설명을 포함할 수 있으며, 여기서 측정 데이터는 모션 센서 유닛의 가능한 궤적의 각각의 특정 부분과 연관된 움직임을 특징화한다. 이로 인해서, 측정 데이터 및 각각의 기술적 프로파일의 정확한 매칭이 필요하지 않을 수 있다. 지정 유사도 범위 내에 유사도가 각자의 기술적 프로파일을 식별하는 데 충분할 수 있다. 맥락 종속적 기술적 프로파일의 가능한 시퀀스가 딕셔너리에서 정의된다. 수신된 센서 데이터 또는 특징 공간으로의 이의 변환이 기술적 프로파일(가령, 문자 또는 단어)의 가능한 시퀀스와 정렬된다. 기술적 프로파일의 가능한 시퀀스 및 수신된 센서 데이터 또는 특징 공간으로의 이의 변환에 대한 유사도 점수가 계산된다. 데이터를 기술적 프로파일의 시퀀스로 정렬하기 위해, 상기 기술적 프로파일들은 딕셔너리에 따라 이어져서 원본 기술적 프로파일의 시퀀스를 나타내는 새로운 가상의 기술적 프로파일을 형성할 수 있다. 시퀀스 내 개별 기술적 프로파일이 이들의 맥락에 따라, 즉, 이전 기술적 프로파일과 다음 기술적 프로파일에 따라 선택된다. 가장 높은 유사도 점수를 갖는 기술적 프로파일의 시퀀스가 출력으로서 선택된다.
또한 모션 센서 유닛이 회전 및/또는 배향 데이터를 제공하는 경우, 기술적 프로파일은 가능한 궤적의 적어도 이전 부분 또는 다음 부분의 맥락에서의 모션 센서 유닛의 가능한 궤적의 특정 부분과 연관된 각각의 지정 회전 데이터, 배향 데이터, 및/또는 압력 데이터를 더 포함할 수 있다. 이는 손글씨 인식 방법의 전체 정확도를 증가시킬 수 있다. 개시된 손글씨 인식 방법이 모션 센서 유닛의 궤적의 결정을 위한 어떠한 절대 위치 값에 따라 달라지지 않기 때문에, 개시된 4개의 센서 측정 데이터 유형(가속도, 배향, 회전, 공기 압력)이, 제자리에 있는 복잡한 고정형 센서를 필요로 하지 않고, 모든 공간 차원에서의 시간의 흐름에 따른 모션 센서 유닛의 상대적 운동을 측정하는 데 적합할 수 있다.
하나의 실시예에서, 시스템은 수신된 센서 데이터를 특징 공간으로 변환하여(1200) 변환된 데이터를 기술적 프로파일 내 표현에 비교할 수 있다. 표현(즉, 변환된 모션 센서 측정 데이터)은 모션 센서 데이터의 가속도 데이터, 회전 데이터, 배향 데이터 및/또는 압력 데이터를 나타낸다. 다시 말하면, 측정 데이터는 서로 다른 차원 및 단위 시간당 서로 다른 샘플 수를 가질 수 있는 특징 공간으로 변환된다. 특징 공간에서의 샘플이 특징 벡터(feature vector)라고 불리며 따라서 변환이 특징 벡터의 시퀀스를 도출한다. 그 후 수신된 센서 데이터로부터 추출된 이러한 특징 벡터 시퀀스가 대응하는 기술적 프로파일에 비교될 수 있다. 이로써, 각각의 기술적 프로파일이 시간의 흐름에 따른 각각의 특징의 변화에 대한 확률적 설명을 포함할 수 있고, 이때 특징은 모션 센서 유닛의 가능한 궤적의 각각의 특정 부분과 연관된 움직임을 특징화한다. 이는 측정 데이터 및 각각의 기술적 프로파일로부터 얻어진 특징 벡터의 정확한 매칭이 필요 없게 할 수 있다. 지정 유사도 범위 내 유사도가 각각의 기술적 프로파일을 식별하는 데 충분할 수 있다. 측정 원시 데이터 대신 프리프로세싱된 특징을 사용함으로써, 시스템에 의해 저장되고 처리될 데이터의 양이 감소될 수 있고 기술적 프로파일의 더 나은 일반화뿐 아니라 손글씨 인식 방법의 더 높은 정확도를 가능하게 할 수 있다.
하나의 실시예에서, 센서 측정 데이터를 수신하면, 시스템은 모션 센서 유닛의 그 밖의 다른 측정 데이터로부터 손글씨-관련 측정 데이터를 분리할 수 있다(1300). 이 프리프로세싱 단계에 의해, 명시적으로 스위칭 온 또는 오프할 필요 없이 배경에서 시스템이 연속적으로 동작할 수 있다. 이는 비교 단계에 의해 처리될 필요가 있는 데이터의 양을 감소시키는 데 더 도움이 되며 따라서 손글씨 인식 시스템(1000)의 성능을 개선하는 데 기여한다.
그 후 시스템은 원시 측정 데이터를 기초로, 또는 모션 특성을 나타내는 특징 공간으로 변환된 데이터의 표현을 이용함으로써, 수신된 센서 데이터에 대응하는 특정 기호(sign), 문자 또는 단어를 식별할 수 있다(1500). 궤적의 부분들의 식별된 시퀀스가 특정 기호, 문자 또는 단어를 나타내는 특정 가능한 궤적의 부분들의 지정된 맥락-종속적 시퀀스와 연관되는 경우, 특정 기호, 문자 또는 단어가 식별된다.
마지막으로, 시스템은 식별된 기호, 문자 또는 단어의 표현을 출력 장치로 제공한다(1600).
해당 분야의 통상의 기술자라면 컴퓨터 시스템의 기술에서 컴퓨터로 구현되는 방법(1000), 가령, 언어 모델의 사용과 조합될 수 있는 추가 선택적 방법 단계가 개시됨을 알 것이다.
도 10은 모션 센서 유닛(10)으로부터 수신된 센서 샘플 데이터(12)를 기초로 기술적 프로파일(130)을 생성하도록 구성된 훈련 구성요소(170)를 포함하는 컴퓨터 시스템(100)의 추가 실시예를 도시한다. 이 실시예는 샘플 손글씨 움직임을 수행하는 동안 복수의 서로 다른 사용자(2)로부터의 센서 데이터(12)를 기록하는 것을 포함할 수 있다. 기록은 지정된 기록 프로토콜을 따를 수 있어서, 이로 인해, 시스템(100)이, 각각의 샘플 데이터(12)의 기록 후, 기록된 신호 중 어느 부분이 어느 문자, 단어 또는 문장에 속하는지를 알 수 있다. 다시 말하면, 사용자가 예를 들어 단일 "A"를 쓰고, 대응하는 데이터가 기록된다. 모든 맥락-종속적 기술적 프로파일에 대한 데이터가 수집되지 않는 한 이는 다른 문자 또는 문자 시퀀스에 대해 반복된다. 기록된 센서 샘플 데이터가 보완되거나 심지어 합성 훈련 데이터(13)에 의해 교체될 수 있으며, 여기서 합성 훈련 데이터는 시스템(100)을 이용해 실제 사용자를 시뮬레이션하는 시뮬레이터(210)로부터 획득된 신호에 대응할 수 있다. 도면에서 시뮬레이터(210)가 컴퓨터 시스템(100)의 일부가 아니더라도, 이는 컴퓨터 시스템(100) 내에서 구현될 수 있다. 획득된 훈련 샘플(12, 13)이 샘플 데이터베이스(180)에 저장될 수 있다.
훈련 샘플 데이터(12, 13)는 서로 다른 사용자 및 기록된 문자의 복수의 인스턴스로부터의 데이터를 포함할 수 있다. 또한 기록된 문자의 복수의 인스턴스는 동일한 문자를 쓰기 위해 사용되는 서로 다른 획들의 시퀀스에 대한 서로 다른 사용자의 서로 다른 쓰기 습관을 기초로 할 수 있다. 일반적으로, 동일한 사람이 특정 문자를 쓰는 방식에서 작은 변동이 관찰되며, 반면에 서로 다른 사람들이 특정 문자를 쓸 때 더 큰 변동이 관찰된다. 훈련 구성요소(170)가 최종 가속도, 회전, 배향 및/또는 압력 센서 신호에 의해 반영되는 사용자의 움직임의 이 변동을 나타내는 기술적 프로파일을 식별하도록 구성된다. 이는 통계 및/또는 확률적 방법, 가령, 은닉 마르코프 모델(HMM)을 이용함으로써 이뤄질 수 있다. 훈련 구성요소는 HMM에 대한 종래의 훈련 방법 중 하나, 가령, Baum-Welch 알고리즘, 비터비(Viterbi) 훈련 또는 차별적 훈련을 이용할 수 있다.
도 11은 기술적 프로파일을 생성하기 위한 컴퓨터로 구현되는 방법(2000)의 단순화된 흐름도이다. 방법(2000)은 방법(1000)에 선행하여(도 9 참조), 손글씨 인식을 위해 사용되는 기술적 프로파일을 만들 수 있다.
기술적 프로파일을 생성하기 위해 시스템은 훈련 샘플 데이터를 수신한다(2100). 도 10으로 설명되는 바와 같이, 모션 센서 유닛이 하나 이상의 사용자에 의해 사용되고 특정 쓰기 움직임을 반복함으로써 훈련 샘플 데이터가 생성될 수 있다. 이러한 샘플 훈련 데이터를 생성할 수 있는 또 다른 가능성이 복수의 사용자의 움직임 및/또는 쓰기 스타일 및 시뮬레이션 파라미터를 변화시킴으로써 쓰기 변동을 시뮬레이션하는 시뮬레이터를 통하는 것이다. 훈련 샘플 데이터가 추가 처리되도록 데이터베이스에 저장된다.
수신된 훈련 샘플 데이터가 지정 프로토콜에 따라 라벨링될 수 있다(2200). 지정 프로토콜에 의해 시스템이 움직임들의 어느 시퀀스(궤적)가 어느 문자 또는 문자열에 속하는지를 식별할 수 있다.
다음 단계에서, 훈련 구성요소(170)(도 10 참고)가 가령, 은닉 마르코프 모델(HMM)을 이용해 저장된 훈련 샘플로부터 기술적 프로파일(130)을 생성한다. 훈련의 목표는 기술적 프로파일의 파라미터를 추정하여(2300), 훈련 샘플 데이터(12, 13)(도 10 참조)와 기술적 프로파일의 맞춤 정도를 정량화하는 목적 함수를 최대화할 수 있다. 따라서 훈련 구성요소의 결과가 적어도 목적 함수의 극댓값을 나타내는 기술적 프로파일의 세트이다. 훈련 구성요소가 HMM을 위한 종래의 훈련 방법들 중 하나, 가령, Baum-Welch 알고리즘, 비터비(Viterbi) 훈련 또는 차별적 훈련을 이용할 수 있다. 이들 훈련 알고리즘에 의해, 궤적의 맥락 종속적 부분들의 정확한 경계가 알려져 있지 않을 때에도, 예를 들어, 문자, 즉, 맥락 종속적 부분이 훈련될 수 있다. 예를 들어, 훈련 샘플이 4개의 획을 포함하는, 즉, 4개의 맥락 종속적 기술적 프로파일을 포함하는 "A"의 센서 데이터를 포함하는 경우, 측정 데이터에서 획의 경계를 알지 않아도, 이들 4개의 기술적 프로파일의 파라미터가 훈련될 수 있다. 파라미터를 추정(2300)하기 위해, 실제 훈련 전에, 플랫 시작 절차에 의해 HMM 파라미터가 초기화된다. 선형 HMM이 사용되는 경우, 이는 샘플 데이터 또는 이의 특징 공간으로의 변환을 HMM에서 존재하는 상태만큼 많이 분할함으로써 이뤄질 수 있다. 그 후 상태의 발산 확률 분포가 이 상태에 속하는 분할의 샘플 데이터를 기초로 추정된다. 예를 들어 가우시안 혼합 모델이 확률 분포를 모델링하도록 사용되는 경우, 이는 k-평균 클러스터링에 의해 평균 및 공분산을 추정함으로써 이뤄질 수 있다. 예를 들어, 신경망이 사용되는 경우, 이는 역전달 알고리즘을 이용해 샘플 데이터 상에서 망을 훈련함으로써 이뤄질 수 있다. 훈련에 대해 기재된 모든 방법이 손글씨 또는 음성 인식의 분야의 종사자에게 알려져있다.
훈련 구성요소는 맥락의 그룹에 대해 하나의 기술적 프로파일을 만들 수 있다. 즉, 기술적 프로파일이 이전 또는 다음 맥락의 특정 세트에 대해 동일하다. 예를 들어, 이는 궤적의 부분이 복수의 이전 맥락 및 다음 맥락에 대해 동일한 경우 유용할 수 있다. 이러한 유사한 맥락-종속적 기술적 프로파일을 그룹화함으로써, 저장될 필요가 있는 기술적 프로파일의 전체 개수가 감소되어 데이터 저장 구성요소에 의해 소비되는 메모리가 절약될 수 있다. 또한, 훈련 동안 추정될 필요가 있는 파라미터의 개수가 감소될 수 있어서, 시스템 성능을 개선할 수 있다. 이러한 그룹은 전문가에 의해 정의되거나 시스템에 의해 맥락의 모든 가능한 조합에 대해 기술적 프로파일을 먼저 생성하고, 그 후 기술적 프로파일에 대한 유사도 척도에 따라 기술적 프로파일이 유사한 모든 맥락을 포함함으로써 자동으로 정의될 수 있다. 이는 클러스터링 알고리즘, 가령, k-평균에 의해 또는 최대 유사도에 대한 지정 임계치를 기초로 이뤄질 수 있다.
본 발명의 방법 단계들이 입력 데이터를 운영하고 출력을 생성함으로써 본 발명의 기능을 수행하기 위해 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래머블 프로세서에 의해 수행될 수 있다. 방법 단계들이 또한, 수행될 수 있고 본 발명의 장치가 특수 목적 논리 회로, 가령, FPGA(field programmable gate array) 또는 ASIC(application-specific integrated circuit)으로서 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서는, 예를 들어, 범용 마이크로프로세서와 특수 마이크로프로세서 모두와, 임의의 유형의 디지털 컴퓨팅 장치의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 리드-온리 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령 및 데이터를 수신할 것이다. 컴퓨터의 필수 요소가 명령을 실행하기 위한 적어도 하나의 프로세서와 명령 및 데이터를 저장하기 위한 하나 이상의 메모리 장치이다. 일반적으로, 컴퓨터는 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치, 가령, 자성, 자기-광학 디스크, 또는 광학 디스크를 포함하고 이로부터 데이터를 수신 또는 이로 데이터를 전송하도록 연결될 수 있다. 이러한 저장 장치는 또한 인터넷(클라우드 컴퓨팅)을 통해 필요할 때 프로비저닝되고 액세스 가능할 수 있다. 컴퓨터 프로그램 명령 및 데이터를 구현하기에 적합한 정보 캐리어가 모든 형태의 비휘발성 메모리, 비제한적 예를 들면, 반도체 메모리 장치, 가령, EPROM, EEPROM 및 플래시 메모리 장치, 자기 디스크, 가령, 내부 하드 디스크 또는 이동식 디스크, 자기-광학 디스크, 및 CD-ROM 및 DVD-ROM 디스크를 포함한다. 프로세서 및 메모리가 특수 논리 회로에 의해 보충되거나 포함될 수 있다.
사용자와의 대화를 제공하기 위해, 본 발명은 사용자에게 정보를 디스플레이하기 위한 디스플레이 장치, 가령, 캐소드 레이 튜브(CRT) 또는 액정(LCD) 모니터, 및 사용자가 컴퓨터로 입력을 제공할 수 있도록 하는 입력 장치, 가령, 키보드, 터치스크린 또는 터치패드, 포인팅 장치, 가령, 마우스 또는 트랙볼을 갖는 컴퓨터 상에 구현될 수 있다. 또한 그 밖의 다른 유형의 장치가 사용자와의 대화를 제공하도록 사용될 수 있는데, 예를 들어, 사용자에게 제공되는 피드백이 임의의 형태의 감각 피드백, 가령, 시각 피드백, 청각 피드백, 또는 촉각 피드백일 수 있고, 사용자로부터의 입력이 임의의 형태, 가령, 음향, 음성, 또는 촉각 입력의 형태로 수신될 수 있다.
본 발명은 백-엔드 구성요소, 가령, 데이터 서버를 포함하거나, 미들웨어 구성요소, 가령, 애플리케이션 서버를 포함하거나, 사용자가 본 발명의 구현을 위해 대화할 수 있는 프론트-엔드 구성요소, 가령, 그래픽 사용자 인터페이스 또는 웹 브라우저, 또는 이러한 백-엔드, 미들웨어, 또는 프론트-엔드 구성요소의 임의의 조합을 갖는 클라이언트 컴퓨터를 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 클라이언트 컴퓨터는 또한 모바일 장치, 가령, 스마트폰, 태블릿 PC, 또는 그 밖의 다른 임의의 핸드헬드 컴퓨팅 장치일 수 있다. 상기 시스템의 구성요소는 디지털 데이터 통신의 임의의 형태 또는 매체, 가령, 통신 네트워크에 의해 상호연결될 수 있다. 통신 네트워크의 예시는 로컬 영역 네트워크(LAN) 및 광역 네트워크(WAN), 가령, 인터넷 또는 무선 LAN 또는 원격통신 네트워크에 의해 상호연결될 수 있다.
컴퓨팅 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트 및 서버는 서로 원격지에 위치하며 일반적으로 통신 네트워크를 통해 대화한다. 클라이언트와 서버의 관계가 각자의 컴퓨터 상에서 실행 중이고 서로에 대한 클라이언트-서버 관계를 갖는 컴퓨터 프로그램을 이용해 발생한다.

Claims (15)

  1. 손글씨 인식을 위한 디코딩 컴퓨터 시스템(100)으로서, 상기 시스템은
    모션 센서 유닛(10)으로부터 측정 데이터(11)를 수신하도록 구성된 인터페이스 구성요소(110) - 상기 모션 센서 유닛(10)은 사용자의 신체의 운동 가능 부위(1)에 물리적으로 연결되며, 측정 데이터(11)는 모션 센서 유닛(10)의 센서의 센서 데이터를 포함하고, 상기 센서 데이터는 모션 센서 유닛(10)의 궤적(20)의 시간에 대한 2차 도함수에 대응함 - ,
    문자와 연관된 기술적 프로파일을 저장하도록 구성된 데이터 저장 구성요소(130) - 상기 기술적 프로파일은 적어도 복수의 지정 가속도 프로파일을 포함하며, 각각의 가속도 프로파일은 모션 센서 유닛(10)의 가능한 궤적의 특정 부분과 연관된 운동을, 상기 가능한 궤적의 이전 부분 또는 다음 부분의 맥락에서 특징화함 - ,
    디코딩 구성요소(120) - 상기 디코딩 구성요소는
    수신된 센서 데이터(11)를 복수의 지정된 가속도 프로파일에 비교하여 궤적(20)의 부분의 시퀀스를 식별하며,
    궤적(20)의 부분의 식별된 시퀀스가 특정 문자를 나타내는 특정 가능한 궤적의 부분의 지정 맥락-종속적 시퀀스와 연관되는 경우, 수신된 센서 데이터(11)에 대응하는 특정 문자를 식별하고,
    식별된 문자의 표현을 출력 장치(200)로 제공하도록 구성됨 -
    를 포함하는, 디코딩 컴퓨터 시스템.
  2. 제1항에 있어서, 상기 측정 데이터는 모션 센서 유닛(10)의 추가 센서의 추가 센서 데이터를 포함하고, 상기 추가 센서 데이터는 모션 센서 유닛(10)의 배향 데이터, 회전 데이터 및/또는 공기 압력 데이터에 대응하고, 기술적 프로파일은 가능한 궤적의 적어도 이전 부분 또는 다음 부분의 맥락에서, 모션 센서 유닛(10)의 가능한 궤적의 특정 부분과 연관된 각각의 지정 배향 데이터 및/또는 회전 데이터를 더 포함하는, 디코딩 컴퓨터 시스템.
  3. 제1항 또는 제2항에 있어서, 각각의 기술적 프로파일은 특징 공간에서의 센서 데이터의 표현을 포함하고, 상기 표현은 모션 센서 유닛(10)의 가능한 궤적의 각각의 특정 부분의 특징이고, 디코딩 구성요소(120)는 수신된 센서 데이터(11)를 특징 공간으로 변환하여 변환된 데이터를 기술적 프로파일의 표현과 비교하도록 구성되는, 디코딩 컴퓨터 시스템.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 손글씨 관련 측정 데이터를 모션 센서 유닛의 그 밖의 다른 측정 데이터로부터 분리하도록 구성된 검출 구성요소를 더 포함하는, 디코딩 컴퓨터 시스템.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 각각의 식별 가능한 문자에 대해 하나 이상의 맥락-종속적 기술적 프로파일 시퀀스를 저장하도록 구성된 딕셔너리(dictionary)(140)를 더 포함하며, 상기 각각의 맥락-종속적 기술적 프로파일 시퀀스는 식별 가능 문자와 연관된 모션 센서 유닛의 가능한 궤적을 나타내는, 디코딩 컴퓨터 시스템.
  6. 제5항에 있어서, 특정 식별 가능 문자에 대한 복수의 맥락-종속적 기술적 프로파일 시퀀스가 특정 식별 가능 문자를 쓰기 위한 모션 센서의 복수의 상이한 가능한 궤적을 나타내는, 디코딩 컴퓨터 시스템.
  7. 제5항 또는 제6항에 있어서, 딕셔너리(140)는 추가 맥락-종속적 기술적 프로파일 시퀀스를 저장하도록 더 구성되며, 각각의 추가 맥락-종속적 기술적 프로파일 시퀀스가 멀티-문자 문자열과 연관된 모션 센서 유닛의 가능한 궤적을 나타내고 멀티-문자 문자열의 적어도 이전 문자와 다음 문자 간 가능한 궤적의 연결 부분을 나타내는 하나 이상의 연결 기술적 프로파일을 포함하는, 디코딩 컴퓨터 시스템.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서, 데이터 저장 구성요소(130)는 맥락의 그룹을 나타내는 그룹 프로파일을 저장하도록 더 구성되며, 맥락의 그룹은 기술적 프로파일의 유사한 맥락-종속적 시퀀스와 연관되는, 디코딩 컴퓨터 시스템.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서, 디코딩 구성요소(120)에게 특정 문자 시퀀스에 대한 확률을 제공하도록 구성된 언어 데이터베이스(150)를 더 포함하는, 디코딩 컴퓨터 시스템.
  10. 컴퓨터로 구현되는 손글씨 인식을 위한 방법(1000)으로서, 상기 방법은
    사용자의 신체의 운동 가능 부위(1)와 물리적으로 연결된 모션 센서 유닛(10)으로부터, 모션 센서 유닛(10)의 궤적(20)의 시간에 대한 2차 도함수를 포함하는 센서 측정 데이터(11)를 수신하는 단계(1100) - 상기 궤적(20)은 사용자에 의해 수행되는 운동에 대응하는 부분들의 시퀀스를 포함함 - ,
    센서 측정 데이터(11)를 적어도 복수의 지정 가속도 프로파일(130-1 내지 13-5)을 포함하는 복수의 기술적 프로파일과 비교하여, 궤적(20)의 부분들의 시퀀스를 식별하는 단계 - 각각의 가속도 프로파일은 모션 센서 유닛(10)의 가능한 궤적의 특정 부분과 연관된 움직임을, 가능한 궤적의 적어도 이전 부분 또는 다음 부분의 맥락에서 특징화하는 가속도 데이터를 포함함 - ,
    궤적(20)의 부분들의 식별된 시퀀스가 특정 문자를 나타내는 특정 가능한 궤적의 부분들의 지정 맥락-종속적 시퀀스와 연관되는 경우 수신된 센서 데이터(11)에 대응하는 특정 문자를 식별하는 단계(1500),
    식별된 문자의 표현을 출력 장치(200)로 제공하는 단계(1600)
    를 포함하는, 손글씨 인식을 위한 방법.
  11. 제10항에 있어서,
    센서 측정 데이터의 수신 후, 손글씨 관련 측정 데이터를 모션 센서 유닛(10)의 그 밖의 다른 측정 데이터로부터 분리하는 단계(1300)를 더 포함하는, 손글씨 인식을 위한 방법.
  12. 제10항 또는 제11항에 있어서, 측정 데이터는 모션 센서 유닛(10)의 추가 센서의 추가 센서 데이터를 포함하고, 상기 추가 센서 데이터는 모션 센서 유닛(10)의 배향 데이터, 회전 데이터 및/또는 공기 압력 데이터에 대응하고, 기술적 프로파일은 가능한 궤적의 적어도 이전 부분 또는 다음 부분의 맥락에서 상기 모션 센서 유닛(10)의 가능한 궤적의 특정 부분과 연관된 각각의 지정 배향 데이터, 회전 데이터 및/또는 압력 데이터를 더 포함하는, 손글씨 인식을 위한 방법.
  13. 제10항 내지 제12항 중 어느 한 항에 있어서, 각각의 기술적 프로파일은 특징 공간에서의 센서 데이터의 표현을 포함하며, 상기 표현은 모션 센서 유닛(10)의 가능한 궤적의 각각의 특정 부분의 특징이며, 상기 방법은
    수신된 센서 데이터(11)를 특징 공간으로 변환하여(1200) 변환된 데이터를 기술적 프로파일 내 표현과 비교하는 단계를 더 포함하는, 손글씨 인식을 위한 방법.
  14. 제10항 내지 제13항 중 어느 한 항에 있어서, 상기 방법은 센서 측정 데이터를 수신하는 단계(1100) 전에,
    모션 센서 유닛(10)의 궤적의 특징적 가속도 데이터를 나타내는 훈련 샘플 데이터(12, 13)를 수신하는 단계(2100),
    지정 프로토콜에 따라 훈련 샘플 데이터(12, 13)를 라벨링하는 단계(2200) - 지정 프로토콜에 의해 수신된 훈련 샘플 데이터가 대응하는 문자와 연관됨 - ,
    훈련 데이터와의 최적합(best fit)에 따라 기술적 프로파일의 파라미터를 추정하는 단계(2300), 및
    상기 기술적 프로파일을 데이터 저장 구성요소(130)에 저장하는 단계(2500)를 더 포함하는, 손글씨 인식을 위한 방법.
  15. 컴퓨팅 장치의 메모리로 로딩되고 상기 컴퓨팅 장치의 적어도 하나의 프로세서에 의해 실행될 때 청구항 제10항 내지 제14항 중 어느 한 항에 따르는 컴퓨터로 구현되는 방법의 단계들을 실행하는 컴퓨터 프로그램 프로덕트.
KR1020167023424A 2014-02-25 2015-01-29 손글씨 및 제스처 인식을 위한 방법 및 시스템 KR20160124779A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP14156530.9A EP2911089B1 (en) 2014-02-25 2014-02-25 Method and system for handwriting and gesture recognition
EP14156530.9 2014-02-25
PCT/EP2015/051774 WO2015128151A1 (en) 2014-02-25 2015-01-29 Method and system for handwriting and gesture recognition

Publications (1)

Publication Number Publication Date
KR20160124779A true KR20160124779A (ko) 2016-10-28

Family

ID=50189513

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167023424A KR20160124779A (ko) 2014-02-25 2015-01-29 손글씨 및 제스처 인식을 위한 방법 및 시스템

Country Status (5)

Country Link
US (1) US20160364010A1 (ko)
EP (1) EP2911089B1 (ko)
JP (1) JP2017516176A (ko)
KR (1) KR20160124779A (ko)
WO (1) WO2015128151A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190070450A (ko) * 2017-12-13 2019-06-21 (주)자스텍엠 운전 위험도 분석 차량 정보 처리 장치
KR20200140869A (ko) * 2018-07-11 2020-12-16 차이나 유니온페이 컴퍼니 리미티드 모션 궤적의 특징 처리 방법, 장치 및 컴퓨터 저장 매체

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN204044747U (zh) * 2014-08-20 2014-12-24 博世(中国)投资有限公司 用于采集手语识别用数据的手套
JP2018506773A (ja) 2014-12-16 2018-03-08 ソマティクス, インコーポレイテッド ジェスチャベースの行動を監視し、それに影響を与える方法およびシステム
US20180197342A1 (en) * 2015-08-20 2018-07-12 Sony Corporation Information processing apparatus, information processing method, and program
US10564794B2 (en) * 2015-09-15 2020-02-18 Xerox Corporation Method and system for document management considering location, time and social context
US10234990B2 (en) * 2015-09-29 2019-03-19 Microchip Technology Incorporated Mapping of position measurements to objects using a movement model
EP3193227B1 (en) * 2016-01-04 2021-02-03 Siemens Aktiengesellschaft Entropy-based validation of sensor measurements
US10295971B2 (en) 2016-01-19 2019-05-21 King Fahd University Of Petroleum And Minerals Wearable hand device comprising an embedded control system
CN107092430B (zh) * 2016-02-18 2020-03-24 纬创资通(中山)有限公司 空间绘画计分方法、用于进行空间绘画计分的装置及系统
US9958979B1 (en) * 2016-10-31 2018-05-01 International Business Machines Corporation Web server that renders a web page based on a client pressure profile
US10678422B2 (en) 2017-03-13 2020-06-09 International Business Machines Corporation Automatic generation of a client pressure profile for a touch screen device
US10949660B2 (en) 2017-04-10 2021-03-16 Pearson Education, Inc. Electronic handwriting processor with convolutional neural networks
US20190013016A1 (en) * 2017-07-07 2019-01-10 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Converting speech to text and inserting a character associated with a gesture input by a user
WO2019180511A1 (en) * 2018-03-19 2019-09-26 King Abdullah University Of Science And Technology Ultrasound based air-writing system and method
CN109045680A (zh) * 2018-06-28 2018-12-21 努比亚技术有限公司 一种控制方法、第一电子设备及存储介质
US10997402B2 (en) * 2018-07-03 2021-05-04 Fuji Xerox Co., Ltd. Systems and methods for real-time end-to-end capturing of ink strokes from video
CN109612458B (zh) * 2018-10-26 2022-07-12 南京航空航天大学 利用手机气压和加速度传感器在山区环境实现用户位置追踪的方法
US11373373B2 (en) 2019-10-22 2022-06-28 International Business Machines Corporation Method and system for translating air writing to an augmented reality device
EP3910454A1 (en) * 2020-05-04 2021-11-17 Société BIC System and method for detecting handwriting problems
US11372518B2 (en) 2020-06-03 2022-06-28 Capital One Services, Llc Systems and methods for augmented or mixed reality writing
KR20220049407A (ko) 2020-10-14 2022-04-21 삼성전자주식회사 디스플레이 장치 및 그 제어 방법
US11822736B1 (en) * 2022-05-18 2023-11-21 Google Llc Passive-accessory mediated gesture interaction with a head-mounted device

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100518824B1 (ko) * 2003-03-17 2005-10-05 삼성전자주식회사 필기 모션 획 구분 인식 시스템 및 그 인식방법
US8069045B2 (en) * 2004-02-26 2011-11-29 International Business Machines Corporation Hierarchical approach for the statistical vowelization of Arabic text
GB2419433A (en) * 2004-10-20 2006-04-26 Glasgow School Of Art Automated Gesture Recognition
KR100777107B1 (ko) 2005-12-09 2007-11-19 한국전자통신연구원 가속도 센서를 이용한 문자인식 장치 및 방법
FR3007859A1 (fr) * 2013-06-27 2015-01-02 France Telecom Procede de reconnaissance d'un geste instrumente, dispositif, terminal d'utilisateur et programme d'ordinateur associes
US9411508B2 (en) * 2014-01-03 2016-08-09 Apple Inc. Continuous handwriting UI

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190070450A (ko) * 2017-12-13 2019-06-21 (주)자스텍엠 운전 위험도 분석 차량 정보 처리 장치
KR20200140869A (ko) * 2018-07-11 2020-12-16 차이나 유니온페이 컴퍼니 리미티드 모션 궤적의 특징 처리 방법, 장치 및 컴퓨터 저장 매체
US11222431B2 (en) 2018-07-11 2022-01-11 China Unionpay Co., Ltd. Feature processing method and device for motion trajectory, and computer storage medium

Also Published As

Publication number Publication date
WO2015128151A1 (en) 2015-09-03
US20160364010A1 (en) 2016-12-15
JP2017516176A (ja) 2017-06-15
EP2911089A1 (en) 2015-08-26
EP2911089B1 (en) 2018-04-04

Similar Documents

Publication Publication Date Title
EP2911089B1 (en) Method and system for handwriting and gesture recognition
US10109219B2 (en) System and method for automated sign language recognition
Amma et al. Airwriting: a wearable handwriting recognition system
Amma et al. Airwriting: Hands-free mobile text input by spotting and continuous recognition of 3D-space handwriting with inertial sensors
Aloysius et al. Understanding vision-based continuous sign language recognition
Kumar et al. Sign language recognition
Von Agris et al. Recent developments in visual sign language recognition
Bauer et al. Towards an automatic sign language recognition system using subunits
Kumar et al. Study of text segmentation and recognition using leap motion sensor
Li et al. Sign transition modeling and a scalable solution to continuous sign language recognition for real-world applications
Kumar et al. 3D text segmentation and recognition using leap motion
Pitsikalis et al. Multimodal gesture recognition via multiple hypotheses rescoring
Ardüser et al. Recognizing text using motion data from a smartwatch
Gupta et al. Indian sign language recognition using wearable sensors and multi-label classification
Kumar et al. A lexicon-free approach for 3D handwriting recognition using classifier combination
Er-Rady et al. Automatic sign language recognition: A survey
CN110992783A (zh) 一种基于机器学习的手语翻译方法及翻译设备
Barnachon et al. A real-time system for motion retrieval and interpretation
Luo et al. Wearable air-writing recognition system employing dynamic time warping
CN107346207B (zh) 一种基于隐马尔科夫模型的动态手势切分识别方法
Kong et al. Sign language phoneme transcription with rule-based hand trajectory segmentation
Kratz et al. Making gestural input from arm-worn inertial sensors more practical
KR20190121593A (ko) 수화 인식 시스템
Kelly et al. Recognition of spatiotemporal gestures in sign language using gesture threshold hmms
Li et al. Cross-people mobile-phone based airwriting character recognition

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid