KR20150117603A - 연상 메모리와 결합된 모션 감지 장치를 이용해서 움직임을 식별하기 위한 시스템 및 방법 - Google Patents

연상 메모리와 결합된 모션 감지 장치를 이용해서 움직임을 식별하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20150117603A
KR20150117603A KR1020150040482A KR20150040482A KR20150117603A KR 20150117603 A KR20150117603 A KR 20150117603A KR 1020150040482 A KR1020150040482 A KR 1020150040482A KR 20150040482 A KR20150040482 A KR 20150040482A KR 20150117603 A KR20150117603 A KR 20150117603A
Authority
KR
South Korea
Prior art keywords
associative memory
motion
processor
data
qualitative
Prior art date
Application number
KR1020150040482A
Other languages
English (en)
Other versions
KR102331126B1 (ko
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 KR20150117603A publication Critical patent/KR20150117603A/ko
Application granted granted Critical
Publication of KR102331126B1 publication Critical patent/KR102331126B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P13/00Indicating or recording presence, absence, or direction, of movement
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
    • G06K9/00335
    • 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
    • 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/23Recognition of whole body movements, e.g. for sport training
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6032Way prediction in set-associative cache

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
  • User Interface Of Digital Computer (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)

Abstract

온동학 시스템. 시스템은 물체(1618)의 일부분의 다수의 물리적 위치를 검출하도록 구성된 하나 이상의 센서(1616)를 갖춘 운동학 측정 장치(1614)를 포함한다. 시스템은 또한, 운동학 측정 장치(1614)와 통신하고, 다수의 데이터(1604)와 다수의 데이터 사이의 다수의 관련(1606)을 구비하는 연상 메모리(1602)를 포함하고, 다수의 데이터(1604)가 관련된 그룹(1608)으로 수집되고, 연상 메모리(1602)가 다수의 데이터(1604) 사이의 적어도 간접 관계(1610)를 기초로 질의되도록 구성된다. 시스템은 또한, 연상 메모리(1602) 및 운동학 측정 장치(1614)와 통신하고, 범위를 명명하는 정성적 설명으로 물체(1618)의 부분의 대응하는 위치의 범위를 해석하도록 구성되는 프로세서(1620)를 포함하고, 프로세서(1620)는 저장을 위해 연상 메모리(1602)에 정성적 설명을 제공하도록 더 구성된다.

Description

연상 메모리와 결합된 모션 감지 장치를 이용해서 움직임을 식별하기 위한 시스템 및 방법{IDENTIFYING MOVEMENTS USING A MOTION SENSING DEVICE COUPLED WITH AN ASSOCIATIVE MEMORY}
본 발명은 일반적으로 연상 메모리에 관한 것으로, 특히 연상 메모리와 결합된 모션 감지 장치(motion sensing device)를 이용해서 움직임을 식별하기 위한 시스템 및 방법에 관한 것이다.
움직임과 관련되는 해당 개인에 대해 피드백을 제공하는 목적을 위해 개인의 움직임을 검출하는 것은, 극복할 많은 장애가 있음에 따라, 매우 어려울 수 있다. 예컨대, 인체의 위치를 측정하는데 이용된 운동학 측정 장치(kinematic measuring device)는 정확한 결정이 특정 움직임과 관련하여 이루어질 수 있도록 관련 정보를 충분히 캡쳐(capture)해야 한다. 부가적으로, 정보가 실시간으로 개인에게 되돌려 중계될 수 있도록, 캡쳐된 정보는 간결하고 빠르게 분석되어야 한다. 더욱이, 시스템은, 사람이 예측불가능하고 그들의 움직임이 종종 산발적인, 실제 세상의 환경에서 기능할 수 있어야만 한다. 이들 및 다른 문제가 이하 설명된 실례로 되는 실시예에 의해 해결된다.
실례로 되는 실시예는 온동학 시스템을 제공한다. 시스템은 물체의 일부분의 다수의 물리적 위치를 검출하도록 구성된 하나 이상의 센서를 갖춘 운동학 측정 장치를 포함한다. 시스템은 또한, 운동학 측정 장치와 통신하고, 다수의 데이터와 다수의 데이터 사이의 다수의 관련을 구비하는 연상 메모리를 포함하고, 다수의 데이터가 관련된 그룹으로 수집되고, 연상 메모리가 다수의 데이터 사이의 적어도 간접 관계를 기초로 질의되도록 구성된다. 시스템은 또한, 연상 메모리 및 운동학 측정 장치와 통신하고, 범위를 명명하는 정성적 설명으로 물체의 부분의 대응하는 위치의 범위를 해석하도록 구성되는 프로세서를 포함하고, 프로세서는 저장을 위해 연상 메모리에 정성적 설명을 제공하도록 더 구성된다.
실례로 되는 실시예는 또한 방법을 제공한다. 방법은 운동학 측정 장치를 이용해서 물체의 일부분의 물리적 위치를, 정량적으로, 검출하는 단계를 포함하고, 여기서 정량적 측정이 취해진다. 방법은 또한 운동학 측정 장치와 통신하는 프로세서를 이용해서, 정량적 측정을 물리적 위치의 정성적 설명으로 해석하는 단계를 포함한다, 방법은 또한 정성적 설명을 다수의 데이터 및 다수의 데이터 사이의 다수의 관련을 구비하는 연상 메모리에 제공하는 단계를 포함하고, 다수의 데이터가 관련된 그룹으로 수집되고, 연상 메모리가 다수의 데이터 사이의 적어도 간접 관계를 기초로 질의되도록 구성되며, 연상 메모리는 비-일시적 컴퓨터 판독가능 저장 매체 상에서 구현된다.
실례로 되는 실시예는 또한 컴퓨터를 제공한다. 컴퓨터는 물체의 정량적 측정을 취하는 것에 의해 물체의 일부분의 물리적 위치를, 정량적으로, 검출하도록 구성된 운동학 측정 장치를 포함한다. 컴퓨터는 또한 운동학 측정 장치와 통신하는 프로세서를 포함하고, 프로세서는 물리적 위치의 정성적 설명으로 정량적 측정을 해석하도록 구성된다. 컴퓨터는 또한 프로세서와 통신하는 연상 메모리를 포함하고, 연상 메모리는 정성적 설명을 저장하도록 구성되고, 연상 메모리는 다수의 데이터 및 다수의 데이터 사이의 다수의 관련을 구비하여 구성되고, 다수의 데이터는 관련된 그룹으로 수집되고, 연상 메모리는 다수의 데이터 사이의 적어도 간접 관계를 기초로 질의되도록 구성되고, 연상 메모리는 비-일시적 컴퓨터 판독가능 저장 매체 상에서 구현된다. 프로세서는 정성적 설명을 물체를 위한 움직임의 세트에 비교하도록 더 구성된다. 프로세서는 정성적 설명을 기초로 물체의 특정 움직임을 결정하도록 더 구성된다.
도 1은 실례로 되는 실시예에 따른 운동학 검출 시스템(kinematic detection system)의 하나의 이용을 예시한다.
도 2는 실례로 되는 실시예에 따른 분류 시스템(classification system)의 예를 예시한다.
도 3은 실례로 되는 실시예에 따른 이용에 있어서 운동학 검출 시스템의 예를 예시한다.
도 4는 실례로 되는 실시예에 따른 전체 움직임을 나타내는데 이용된 스냅샷(snapshot)의 예를 예시한다.
도 5는 실례로 되는 실시예에 따른 다중 움직임의 상황에서 공통 좌표(common coordinates)의 예를 예시한다.
도 6은 실례로 되는 실시예에 따른 정성적 명명 시스템(qualitative naming system)을 이용해서 마디(articulation)의 부분을 식별하는 예를 예시한다.
도 7은 실례로 되는 실시예에 따른 정량적 측정(quantitative measurements)에서 정성적 명칭(qualitative names)으로의 데이터 변환(data transformation)의 예를 예시한다.
도 8은 실례로 되는 실시예에 따른 바람직한 움직임(desirable movements)과 바람직하지 않은 움직임(undesirable movements)의 예를 예시한다.
도 9는 실례로 되는 실시예에 따른 알려지지 않은 움직임(unknown movement)의 예를 예시한다.
도 10은 실례로 되는 실시예에 따른 움직임을 위한 비교 기준(comparison criteria)의 예를 예시한다.
도 11은 실례로 되는 실시예에 따른 알려지지 않은 움직임을 식별하는 예를 예시한다.
도 12는 실례로 되는 실시예에 따른 연상 메모리를 이용하는 운동학 검출 시스템의 예를 예시한다.
도 13은 실례로 되는 실시예에 따른 엔티티 비교(entity comparison)의 예를 예시한다.
도 14는 실례로 되는 실시예에 따른 최종 카테고리(result category)로서의 결과(outcome)를 갖는 엔티티 비교의 예를 예시한다.
도 15는 실례로 되는 실시예에 따른 관련 차별화(relevant differentiator)를 식별하기 위한 프로세스를 예시하는 플로우차트이다.
도 16은 실례로 되는 실시예에 따른 운동학 데이터(kinematic data)를 정성적 명칭, 또는 말투(verbiage)로 변환하기 위한 시스템, 운동학 측정 장치, 연상 메모리, 및 프로세서의 예이다.
도 17은 실례로 되는 실시예에 따른 운동학 데이터를 정성적 명칭으로 변환하기 위한 시스템, 운동학 측정 장치를 포함하는 컴퓨터, 연상 메모리 및 프로세서의 예이다.
도 18은 실례로 되는 실시예에 따른 데이터 처리 시스템(data processing system)의 실례이다.
실례로 되는 실시예는 여러 유용한 기능을 제공한다. 예컨대, 실례로 되는 실시예는 운동학 측정 장치가 데이터 집약적일 수 있고 따라서 소정의 응용을 위해 바람직하지 않음을 인식 및 참작한다. 예컨대, 사람의 위치를 측정하기 위해 휴대용 컴퓨터(hand-portable computer)를 이용하기를 원하고 이어 움직임 또는 움직임의 세트가 바람직하지 않은 것으로 고려되었을 때 해당 사람에게 경고를 하게 되는 경우, 이때 이러한 응용을 위해 원시 운동학 데이터(raw kinematic data)를 이용하는 것은 문제가 있을 수 있다.
실례로 되는 실시예는 또한 연상 메모리가 정석적 데이터 아이템(qualitative data items)을 비교하기 위해 유용함을 인식 및 참작한다. 예컨대, 연상 메모리는 알려진 용어의 그룹을 알려지지 않은 용어에 대한 연상 메모리와 비교하고 그룹의 어느 멤버가 알려지지 않은 용어와 가장 가깝게 일치하는지를 결정할 수 있다. 실례로 되는 실시예는 정량적 운동학 측정을 정성적 용어로 해석하는 것(translating)과, 연상 메모리에 정성적 용어를 저장하는 것(storing), 및 이어 어떠한 움직임이 검출되었는지를, 정성적 용어로, 결정하기 위해 연상 메모리를 이용하는 것(using)에 의해 이러한 능력을 이용한다.
실례로 되는 실시예는 원하였던 움직임과 원하지 않았던 움직임의 이전의 기록과 함께 모션 센서(motion sensor)를 통해 얻어진 움직임을 분류하기 위해 연상 메모리를 이용함으로써 충분히 데이터를 캡쳐하는 것, 처리 속도, 및 사용자의 때때로 산발적 움직임을 설명하는 것의 문제를 해결한다. 몇몇 실례로 되는 실시예에 있어서, 사용자는 양쪽의 메카닉(mechanics)을 배우도록 시스템을 훈련시키기 위해 좋은 움직임과 나쁜 움직임만을 나타낼 필요가 있다. 이어, 시스템은, 처리 능력(processing power)의 면에서, 매우 적은 오버헤드(overhead)로 사용자의 다른 움직임을 추적하기 위해 영역에서 영역으로 이동할 수 있다.
유추하면, 실례로 되는 실시예는 주택가에서 유효 속도 신호(active speed sign)와 같이 작동할 수 있다. 운전자는 게시 속도(posted speed)와 그들의 실제 속도를 참조한다. 2가지 속도의 불일치는 천천히 낮추도록 운전자를 설득하기에 충분할 수 있다. 시간이 지난 후, 지역 공동체는 새로운 행위를 배웠기 때문에, 유효 속도 신호는 제거될 수 있다. 마찬가지로, 사용자는 바람직하지 않은 움직임을 회피하기 위해 상기될 수 있고 대신 그들을 원하는 움직임으로 대체한다.
여기서 용어 "연상 메모리(associative memory)"로 주의가 향한다. 여기서 이용되는 바와 같이, 용어 "연상 메모리"는 다수의 데이터와 다수의 데이터 간의 다수의 관련(plurality of associations)으로 언급된다. 다수의 데이터와 다수의 관련은 비-일시적 컴퓨터 판독가능 저장 매체(non-transitory computer readable storage medium)에 저장될 수 있다. 다수의 데이터는 관련된 그룹으로 수집될 수 있다. 연상 메모리는 다수의 데이터 간의 직접 상관(direct correlations)에 부가하여 다수의 데이터 간의 적어도 간접 관계(indirect relationships)를 기초로 질의(queried)되도록 구성될 수 있다. 연상 메모리는 또한 직접 관계뿐만 아니라 직접 및 간접 관계의 조합을 기초로 질의(queried)되도록 구성될 수 있다.
연상 메모리 기술은 정보가 직접 상관보다는 관계를 기초로 새로운 식견(insight)을 얻기 위해 연관된 그룹으로 수집되는 프로세스이다. 연상 메모리는 다수의 데이터와 다수의 데이터 간의 다수의 관련으로서 특징화될 수 있다. 다수의 데이터는 관련된 그룹으로 수집될 수 있다. 더욱이, 연상 메모리는, 직접 및 간접 관계를 포함하는 그룹으로부터, 또는 다수의 데이터 간의 직접 상관에 부가하여 다수의 데이터 간으로부터 선택된, 적어도 하나의 관계를 기초로 질의되도록 구성될 수 있다. 연상 메모리는 또한 소프트웨어의 형태를 취할 수 있다. 따라서, 연상 메모리는 또한 정보가 직접 상관보다는 관계를 기초로 새로운 식견을 얻기 위해 연관된 그룹으로 수집되는 프로세스로 고려될 수 있다.
여기서 이용되는 바와 같이, "엔티티(entity)"는, 이러한 존재(existence)가 물질적 존재로 될 필요가 없음에도 불구하고, 뚜렷한, 별도의 존재를 갖는, 물체(object)로 언급된다. 따라서, 추상적 관념(abstractions) 및 법률 구조(legal constructs)는 엔티티로서 간주될 수 있다. 여기서 이용되는 바와 같이, 엔티티는 생명이 부여될 필요는 없다.
도 1은 실례로 되는 실시예에 따른 운동학 검출 시스템의 하나의 이용을 예시한다. 도 1에 도시된 운동학 검출 시스템의 이용은 반드시 청구된 발명을 제한하는 것은 아니고, 오히려 실례로 되는 실시예의 하나의 가능한 예를 나타낸다. 실례로 되는 실시예의 부가적 이용이 이하 설명된다.
그럼에도 불구하고, 도 1에 예시된 예시적 이용은 개인(102)의 움직임을 추적하기 위해 모션 감지 입력 장치(motion sensing input device; 100)로부터 수집된 데이터를 이용하는 것을 포함한다. 움직임은 가장 잘 이해하는 의미 체계(semantics) 연상 메모리(104)를 이용해서 연상 메모리(104)로 공급된다. 이들 의미 체계는 바람직한 움직임(desirable movements; 106)과 바람직하지 않은 움직임(undesirable movements; 108)의 이전의 기록에 따라 분류될 수 있다. 실례로 되는 실시예는 개인(102)의 현재 움직임이 바람직한지 또는 바람직하지 않은지를 결정하기 위해 이 정보를 이용한다. 만약 개인의 움직임이, 심볼(110)에 의해 나타낸 바와 같이, 바람직하지 않으면, 이때 실례로 되는 실시예는 현재 움직임이 바람직하지 않을 수 있음을 개인(102)에게 상기시키기 위해 경고(112)를 발생시킬 수 있다.
더욱 일반적으로, 모션 감지 입력 장치(100)는 그 주변과 관련한 물체의 위치의 변경 또는 물체와 관련한 주변의 변경을 검출하기 위해 이용된 소정의 장치일 수 있다. 반드시 청구항들을 제한하지 않는, 특정 예에 있어서, 모션 감지 입력 장치(100)는 상업적으로 이용가능한 기성품인 제품일 수 있다. 모션 감지 입력 장치(100)는, 예컨대 도 3에서와 같이, 일반적으로 비디어 게임을 플레이하기 위해 이용될 수 있다. 그러나, 모션 감지 입력 장치(100)는 영역에서 1 이상의 사람 또는 물체의 움직임을 검출하기 위한 가속도계(accelerometer), 카메라 시스템, 또는 소정의 다른 적절한 기술일 수 있다. 따라서, 예컨대, 모션 감지 입력 장치(100)는 로봇의 위치를 추적하는데 이용될 수 있다. 이러한 경우에 있어서, 실례로 되는 실시예는 로봇의 움직임이 설계 파라미터 내에 있는가의 여부를 결정할 수 있다.
부가적으로, 실례로 되는 실시예는 움직임 또는 움직임의 세트가 바람직하게 고려되는지 또는 바람직하지 않게 고려되는지의 여부를 결정하도록 반드시 제한되지는 않는다. 이하 더욱 상세히 설명되는 바와 같이, 소정의 분류 시스템(classification system)이 이용될 수 있다.
일반적으로, 분류는 카테고리의 세트 중 하나가 새로운 관찰에 속함을 식별하는 작업이다. 이러한 식별 또는 결정은 카테고리 멤버쉽(category membership)이 알려진 관찰(observations) 또는 예(instances)를 포함하는 데이터의 훈련 세트(training set)를 토대로 이루어질 수 있다.
예컨대, 반드시 청구된 발명을 제한하는 것 없이, 실례로 되는 실시예는 검출된 움직임이 문자 메시지 주고받기(texting), 전화로 이야기하는 것, 걷기, 난간을 이용하는 것, 또는 소정의 다른 특별한 물리적 행위를 언급하는가의 여부를 결정하는데 이용될 수 있다. 가능한 결과의 세트는 "문자 메시지 주고받기, 전화로 이야기하는 것, 걷기, 또는 난간을 이용하는 것"일 수 있다. 검출된 움직임이 이러한 세트의 하나의 멤버에 대해 언급하는가의 여부에 대해 결정이 이루어진다. 이러한 결정은 카테고리 멤버쉽이 알려진 관찰 또는 예를 포함하는 데이터의 훈련 세트를 토대로 연상 메모리를 이용해서 이루어질 수 있다. 즉, 연상 메모리는 "문자 메시지 주고받기"와 관련된 것으로서 입력 데이터의 특정 세트를 인식하기 위해 훈련된다. 각 이들 경우에 있어서, 검출된 움직임은 특정 움직임이 검출되면 경고를 발생시키는데 이용될 수 있다.
물체의 경우에 있어서, 실례로 되는 실시예는 로봇 또는 운송수단의 특정 위치, 방향, 및/또는 움직임을 검출하는데 이용될 수 있고, 물체가 입력 장치에 의해 인식될 수 있음을 가정한다. 따라서, 실례로 되는 실시예는 반드시 사람과 함께 이용하도록 제한되지는 않고, 반드시 "바람직함" 또는 "바람직하지 않음"과 같은, 소정의 특정 분류 시스템으로 제한되지는 않는다. 따라서, 사람 이용자의 움직임은 "바람직함" 또는 "바람직하지 않음"이 고려되는가의 여부를 결정하도록 언급하는 여기서 이용된 소정의 예에 대해, 위에서 설명된 다른 이용 및 분류 시스템이 대신 이용되었을 수 있음을 자동적으로 가정할 수 있다.
도 2는 실례로 되는 실시예에 따른 분류 시스템의 예를 예시한다. 도 2의 분류(classification; 200)는, 반드시 실례로 되는 실시예가 아닌, 여기서 이용된 바와 같은 분류의 원리를 예시한다. 즉, 분류(200)는 사용자의 모션이, 도 1과 관련하여 설명된 바와 같이, 바람직한지 또는 바람직하지 않은지의 여부를 결정하는 것에 관하여 실례로 되는 실시예를 구현하기 위해 이용될 수 있는 분류의 원리를 예시한다.
용어 "분류"에 의해 무엇이 의미되는지로 먼저 주의가 향한다. 여기서 이용되는 바와 같이, "분류"는, 새로운 관찰이 새로운 관찰의 특징을 알려진 세트의 특징과 비교하는 것에 의해 속하는 물체의 그룹에 대해, 식별에 대한 능력, 또는 식별하는 것의 행동으로서 정의된다. 실례로 되는 실시예에서 이용되는 바와 같이, 알려진 특징은 시스템을 훈련시키는 것에 의해 확립될 수 있다. 여기서 이용되는 바와 같이, "시스템을 훈련시키는 것(training the system)"은, 세트의 알려진 멤버의 특징을 시스템에 대해, 정의하기 위한 능력, 또는 정의하는 것의 행동으로서 정의된다. 시스템이 훈련될 때, 시스템은 이어 빠르게 새로운 관찰의 특징을 알려진 멤버의 특징의 세트와 비교할 수 있고, 이어 새로운 관찰의 특징과 가장 가깝게 일치하는 세트의 알려진 멤버 중 하나로서 새로운 관찰을 동등하게 한다. 여기서 이용되는 바와 같이, "시스템" 또는 "실례로 되는 실시예"는, 가능하게는 여기서 설명된 모션 캡쳐 및 분류 시스템을 구현하기 위한 프로그램 코드를 저장하는 비-일시적 컴퓨터 판독가능 저장 매체를 포함하는, 실례로 되는 실시예를 구현하는데 이용되거나 이용할 수 있는 프로세서, ASIC(application specific integrated circuit), 및/또는 다른 물리적 장비로서 언급된다.
도 2를 참조하면, 본 도면은 이메일 시스템에 관하여 분류의 예를 예시한다. 본 경우에 있어서, 시스템은 소정의 특징을 기초로 보관 이메일(retained email) 또는 정크 이메일(junk email)의 어느 하나로서 수신 이메일을 분류한다. 따라서, 분류(200)는 알려진 멤버의 세트에서 2가지 알려진 멤버를 갖는다. 이들 알려진 멤버는 보관 이메일(202) 및 정크 이메일(204)이다. 시스템은 보관 이메일(202)의 제1 특징과 정크 이메일(204)의 제2 특징을 확립하는 것에 의해 훈련되었다. 이어 시스템은, 수신 이메일인, 새로운 관찰의 제3 특징을 보관 이메일(202)의 제1 특징 및 정크 이메일(204)의 제2 특징과 비교하도록 프로그램된다. 새로운 관찰은 이어 보관 이메일(202) 또는 정크 이메일(204) 중 어느 하나에 속하는 것으로 분류된다.
더욱이, 각 카테고리, 보관 이메일(202) 또는 정크 이메일(204)을 이루는 특징은 이미 알려져 있다. 예컨대, 보관 이메일(202)은 전형적으로 인식된 송신자로부터 오게 된다. 따라서, 보관 이메일(202)은, 하나의 특징으로서, 인식된 송신자를 갖는다. 다른 특징이 또한 가능하다. 반대로, 정크 이메일(204)은 전형적으로 인식된 송신자로부터 오지 않는 특징을 갖는다. 또한, 정크 이메일(204)은 종종, 제품 또는 서비스를 판매하기 위한 권유로 이용된 단어의 존재와 같은, 다른 특징을 갖는다. 다수의 공통점(common)이 새로운 관찰의 특징과 멤버의 알려진 세트의 특징 사이에서 일치함에 따라, 시스템은 수신 이메일을 배치하도록 적절한 카테고리를 수립하게 된다.
기계 학습(machine learning)의 용어법에 있어서, 분류 시스템은, 즉 올바르게 식별된 관찰의 훈련 세트가 이용가능한 학습인, 지도 학습(supervised learning)의 예가 고려된다. 대응하는 자율 절차(unsupervised procedure)는 클러스터링(clustering) 또는 클러스터 분석(cluster analysis)으로서 알려진다. 클러스터 분석은 고유한 유사성의 몇몇 측정을 기초로 데이터를 카테고리로 그룹화하는 것을 포함할 수 있다. 측정의 예는, 다차원 벡터 공간(multi-dimensional vector space)의 벡터로서 고려되는, 예들 사이의 거리를 포함한다.
도 3은 실례로 되는 실시예에 따른 이용에 있어서 운동학 검출 시스템의 예이다. 운동학 검출 시스템(300)은 도 1의 모션 감지 입력 장치(100)일 수 있다. 사용자(302)의 움직임은, 도 2의 분류(200)에 의해 도시된 것과 유사한 방식으로, 분류 시스템을 이용하는 시스템에 의해 분류될 수 있다.
상기한 바와 같이, 실례로 되는 실시예는 사용자(302)의 움직임에 대해 운동학 검출 시스템(300)을 이용할 수 있다. 도 1의 모션 감지 입력 장치(100)와 같은, 모션 감지 입력 장치가, 그의 주변(304)에 관한 사용자(302)의 위치의 변경을 검출하기 위해, 운동학 검출 시스템(300)의 부분으로서 이용될 수 있다.
전형적으로, 운동학 검출 시스템(300)과 같은 모션 감지 입력 장치는 검출된 움직임이 발생된 곳의 데카르드 좌표(Cartesian coordinates)를 디스플레이하는 소프트웨어를 포함한다. 이러한 디스플레이는 막대형 사람(stick person; 306)과 같은, 막대형 사람의 형태를 취할 수 있고, 또는 시각적으로 전혀 표현되지 않을 수 있다. 어느 경우에 있어서도, 실례로 되는 실시예는 사용자(302)의 움직임을 계산하기 위해 측정된 좌표를 이용할 수 있다.
피사체의 움직임을 측정하기 위해, 실례로 되는 실시예는 모든 당사자들에 의해 공유된 위치의 좌표를 상관할 수 있는 바, 즉 실례로 되는 실시예는 손의 움직임들과 손의 움직임들을 비교할 수 있다. 측정은 원한다면 더욱 표준화(normalized)될 수 있다. 예컨대, 실례로 되는 실시예는 또한, 측정을 표준화함에 있어서, 가운데 엉덩이 대 척추와 같은, 상대적으로 정적인 신체의 부분들 사이의 거리를 이용한다.
도 4는 실례로 되는 실시예에 따른 전체 움직임을 나타내는데 이용된 스냅샷의 예를 예시한다. 단일 스냅샷(400)과 스냅샷들(402)의 각각은 도 3의 막대형 사람(306)의 예일 수 있다. 단일 스냅샷(400) 및 스냅샷들(402)을 구성하는 스냅샷들의 각각은, 도 1의 개인(102) 또는 도 3의 사용자(302)와 같은, 사람 사용자의 검출된 움직임을 모두 표현한다.
도 4는, 비록 더욱이 실례로 되는 실시예가 사람 사용자에 대해 제한되지 않음에도 불구하고, 사람 사용자의 움직임을 나타낼 수 있는 단일 스냅샷(400)을 예시한다. 따라서, 스냅샷들(402)은 사람 사용자의 전체 움직임을 설명할 수 있는 한편, 단일 스냅샷(400)은 특정 시점에서 사용자의 위치를 나타낸다.
실례로 되는 실시예는, 스냅샷들(402)과 같은 움직임 그림은, 그들이 단일 예 또는 단일 스냅샷(400)의 움직임 그림으로 되도록 나타남에도 불구하고, 사용자의 전체 움직임을 설명한다. 즉, 실례로 되는 실시예는 전형적으로, 단일 스냅샷(400)과 같은, 단일 스냅샷으로 동작하지 않고, 오히려 스냅샷들(402)로 동작한다.
실례로 되는 실시예의 전형적 예는 다수의 가정 하에서 동작한다. 몇몇 경우에 있어서, 이들 가정은 변경될 수 있다.
예컨대, 실례로 되는 실시예는, 오히려 이들 프로세스를 달성하는데 이용하는 핵심 기술 보다는, 전형적으로 연상 메모리와 함께 결합된 모션 감지 입력 장치의 신규한 응용에 의존한다. 그러나, 몇몇 경우에 있어서, 실례로 되는 실시예는 이들 핵심 기술, 모션 감지 입력 장치, 및 연상 메모리의 변경되거나 증강된 버젼을 이용할 수 있다.
실례로 되는 실시예는 전형적으로 연상 메모리 분류의 예를 이용해서 관찰을 분류하는 능력을 포함한다. 그러나, 실례로 되는 실시예는 분류 메카니즘의 소정의 정렬(sort)로 달성될 수 있고 연상 메모리의 이용만으로 제한되지는 않는다.
실례로 되는 실시예는 전형적으로 마디(articulation)의 지점(points)으로서 인체 관절(human body joints)을 이용한다. 그러나, 이들 위치 또는 장소(spot)가 움직임에 대응하는 한, 신체 상의 소정의 위치 또는 지점이 이용될 수 있다. 로봇 또는 운송수단의 경우에 있어서, 또는 다른 마디 물체(articulating objects)의 위치를 추적하기 위해, 마디의 소정의 장소가 이용될 수 있다. 더욱 일반적으로, 마디의 지점이 종종 더 편리함에도 불구하고, 소정 물체 상의 소정의 지점이 움직임을 추적하기 위해 이용될 수 있다.
실례로 되는 실시예는 모션 감지 입력 장치에 대한 인터페이스를 이용해서 움직임을 검출하기 위한 능력을 포함한다. 이러한 인터페이스는 범위 및 기능성에서 변할 수 있지만, 모션 감지 입력 장치가 취급할 수 있는 능력이 무엇이든간에 움직임의 좌표를 정의하는 책무를 유지한다. 대부분의 경우에 있어서, 실례로 되는 실시예는 움직임이 시작되거나 종료될 때를 정의하기 위한 소정의 시도를 만들 필요는 없다.
실례로 되는 실시예는 전형적으로 캡쳐된 움직임의 품질과 관련하여 모션 감지 입력 장치의 배치 또는 장소를 정의하지는 않는다. 실례로 되는 실시예는 이러한 장치의 적절한 동작(operation)을 가정한다.
실례로 되는 실시예는 일반적으로 단지 하나의 바람직한 움직임 및 하나의 바람직하지 않은 움직임을 식별하기 위해 제한되지는 않는다. 대신, 많은 여러 형태의 움직임이 분석되고 분류될 수 있다. 부가적으로, 실례로 되는 실시예는, 사용자 또는 물체의 모션이 바람직한지 또는 바람직하지 않은지의 여부를 결정하기 위한 응용 외에도, 많은 다른 응용에 이용될 수 있다. 예컨대, 실례로 되는 실시예는 몇몇 물체의 움직임이 미리-정의된 파라미터를 위반하는가 또는 어느 정도의 거리를 지나쳐 이동하는가의 여부를 결정하는 보안의 분야에서 이용될 수 있다. 실례로 되는 실시예는 조립 라인에 따른 물체의 움직임이 정의된 파라미터 내인가의 여부를 결정하는 제조업에서 이용될 수 있다. 실례로 되는 실시예는 많은 다른 응용을 갖는다. 실례로 되는 실시예는, 더욱 일관되게 바람직한 움직임을 수행하기 위해 물리 치료에서 환자에게 도움을 주는 것과 같은, 의술(medical arts)에서 이용될 수 있다.
실례로 되는 실시예는 반드시 어떻게 움직임이 기록되는가에 대해 제한하지 않는다. 즉, 실례로 되는 실시예는 많은 여러 데이터 구조로 작업할 수 있다. 실례로 되는 실시예는 변경의 시퀀스를 캡쳐하고, 데이터베이스 내에, 메모리에, 파일 내에, 또는 다른 편리한 데이터 구조일 수 있는, 소정의 편리한 방식으로 저장할 수 있다.
도 5는 실례로 되는 실시예에 따른 다중 움직임의 상황에서 공통 좌표의 예를 예시한다. 움직임의 세트(500)는 도 4의 스냅샷들(402)일 수 있다.
도 5는 사용자의 2가지 다른 움직임인, 움직임(502)과 움직임(504)을 예시한다. 움직임(502)는 "바람직함"으로 고려될 수 있다. 움직임(504)은 "바람직하지 않음"으로 고려될 수 있다. 도 5에서 알 수 있는 바와 같이, 2가지 움직임이 서로의 상부 상에서 포개질 때, 각 움직임 자체가 다른 결과 또는 바람직성(desirability)을 나타냄에도 불구하고, 그들 상에 많은 공통 지점(common points; 506)이 있다. 결과적으로, 이들과 같은 움직임을 분류하기 위해 단지 좌표만을 이용하는 것은 몇몇 실례로 되는 실시예에서 원하지 않을 수 있다.
더욱이, 실례로 되는 실시예의 하나의 예시적 이용은, 연상 메모리와 결합된 모션 감지 입력 장치를 이용해서, 식별된 움직임이 바람직한지 아닌지를 결정하는 것이다. 이러한 목표를 달성하기 위해, 실례로 되는 실시예는, 모션 감지 입력 장치로부터 수집된, 데이터를 연상 메모리로 공급한다. 데이터를 처리하기 전에, 실례로 되는 실시예는 메모리가 가장 잘 이해하는 사투리로 데이터를 변환한다. 즉, 실례로 되는 실시예는 정량적 측정을 정성적 측정으로 변환한다.
이 때, 연상 메모리는 이전에 기록된 바람직하고 바람직하지 않은 움직임의 수집을 이용해서 새로운 움직임을 분류한다. 미리 기록된 움직임은 시스템을 "훈련"하는데 이용된 참 데이터(truth data)를 표현한다. 새로운 관찰이 도입될 때, 시스템은 새로운 관찰이 바람직한지 아닌지를 결정하기 위해 훈련 또는 참 데이터의 특징을 이용한다. 실례로 되는 실시예는 다른 분류 시스템을 이용할 때 또는 다른 응용에 대해 유사한 방식으로 동작한다.
연상 메모리 분류를 가장 효율적으로 작업하기 위해, 기록 프로세스로부터 모아진 정보는 가능한 한 합리적으로 완전하고 정확해야 한다. 분류 구조는 관련 데이터가 비교되면 더욱 유용할 것이고; 그렇지 않으면, 생산된 결과는 신뢰할 수 없게 될 수 있다. 결과적으로, 그들 자신의 좌표만을 수집하는 것은, 공통 지점(506)에 의해 나타낸 바와 같이, 많은 좌표들이 움직임의 다중 세트로 빈번하게 표현될 수 있기 때문에, 종종 충분하지 않다.
도 6은 실례로 되는 실시예에 따른 정성적 명명 시스템을 이용해서 마디의 지점을 식별하는 예를 예시한다. 스냅샷(600)은 도 3의 막대형 사람(306) 또는 도 5의 움직임(502) 또는 움직임(504) 중 어느 하나일 수 있다.
도 6은 추적되는 사용자의 신체 상의 좌표 지점을 나타낸다. 도 6에 도시된 정성적 용어는 주어진 지점 대 다른 지점의 관계를, 정성적 용어로, 설명한다. 몇몇 경우에 있어서, 지점의 그들 자체는 그들과 관련된 정성적 명칭을 갖을 수 있다. 연상 메모리와 함께 이용하기 위해 시스템이 이들 정량적 측정을 정성적 용어로 해석함에도 불구하고, 시스템은 운동학 측정 장치를 이용해서 지점의 장소 및/또는 관련 위치를 정량적으로 측정한다. 따라서, 예컨대, 지점(602)은, 예컨대, 엉덩이, 머리, 또는 신체의 다른 중심선에 대해, "손"의 지점 및 관계 양쪽을 나타내는, "Hand_Left"로서 표시된다.
따라서, 실례로 되는 실시예는 추적된 좌표로부터 계산된 정보를 수집하고 이 정보를 연상 메모리의 이점을 가장 잘 활용하는 의미 체계(semantics)로 변환하기 위해 이용될 수 있다. 예컨대, 하나의 관절에서 다른 관절까지의 거리는 가까운, 더 가까운, 가장 가까운, 또는 먼, 더 먼, 가장 먼 것으로 해석될 수 있다. 이들 용어는 이어 더 좋은 분류를 생산하기 위해 연상 메모리에 의해 조작될 수 있다 그럼에도 불구하고, 이하의 리스트는 어떻게 좌표가 연상 메모리 의미 체계로 변환될 수 있는가에 대한 몇몇 지정(designations)을 제공한다.
연상 메모리에서 이용하기 위해, 정성적 기술어(descriptors)의 이용은 알려진 또는 훈련 위치와 비교할 때 더욱 유용할 수 있다. 따라서, 수집된 좌표로부터, 실례로 되는 실시예는 하나의 관절에서 다른 관절까지 사이의 길이로서 정의된 정량적 거리를 계산할 수 있다. 정성적으로 설명된, 측정의 범위(ranges)는, FAR, FARTHER, FARTHEST 또는 NEAR, NEARER, NEAREST와 같은, 할당된 정성적 기술어일 수 있다. 예컨대, 오른쪽 손목에서 왼쪽 어깨까지의 거리는 정량적 거리 측정이 하나의 특정 범위 내일 때 FARTHER로서 설명되고, 다른 범위 내에서는 NEAREST로서 설명될 수 있다.
마찬가지로, 관련 장소는 또한 정량적 측정을 기초로 정성적으로 표현될 수 있다. 예컨대, 수집된 좌표를 스크린의 디멘죤(dimensions)과 비교하면, 실례로 되는 실시예는, RIGHT, CENTER, LEFT와 조합된 TOP, MIDDLE, BOTTOM과 같은, 신체 부분에 대한 일반적 장소를 결정할 수 있다. 더욱 특정한 에에 있어서, 오른쪽 발은 스크린의 더 낮은 오른쪽 구역에 위치할 수 있고, 따라서 이는 BOTTOM_RIGHT로서 표시될 수 있다. 동적 움직임의 경우에 있어서, 실시예가 이동하는 물제를 더욱 용이하게 분류할 수 있도록 하기 위해, 장소는 배제될 수 있다.
유사하게, 방향은 또한 정량적 측정을 기초로 할당된 정성적 기술어일 수 있다. 예컨대, 수집된 좌표로부터, 실례로 되는 실시예는 또한, NORTH, SOUTH, WEST 또는 EAST와 같이, 하나의 관절에서 다른 관절까지의 방향을 결정할 수 있다. 더욱 특정한 예에 있어서, 머리는 오른쪽 발의 NORTH_WEST에 위치될 수 있다.
도(degrees) 또는 각도(angles)와 같은, 부가적 또는 다른 용어가 잘 이용될 수 있다. 더욱이, 용어는 단일 속성(single attribute) 또는 속성의 조합을 생성하기 위해 함께 그룹화될 수 있다. 예컨대, 정성적 기술어 "TOP_LEFT_NEAREST_NORTH_FAR_EAST"는, 화살표(604)로 나타낸 바와 같이, 왼쪽 손과 머리 사이의 관계를 설명하기 위해 단일 속성으로서 이용될 수 있다.
움직임의 목적을 위해, 더 많은 기준 지점의 이용은 실례로 되는 실시예의 결과를 개선할 수 있다. 예컨대, 움직임을 평가할 때, 도 6에 나타낸 바와 같이, 사람에 대해 20개의 관절을 이용할 수 있다. 그러나, 더 많거나 더 적은 기준 지점이 다른 실례로 되는 실시예에서 이용될 수 있다.
실례로 되는 실시예는 또한, 소정 관절을 배제하는 몇몇 경우에 있어서, 마디의 지점 또는 측정 지점이 바람직할 수 있음을 인식한다. 예컨대, 몇몇 측정 지점은 분류 시스템에 값을 부가하지 않을 수 있다. 예컨대, 움직임은 발이 보이지 않거나 관심이 없는 책상에서 야기될 수 있고, 결과적으로 이러한 관절은 처리될 필요가 없다.
움직임이 바람직하거나 바람직하지 않은 경우 움직임을 캡쳐하고 결정하는 모든 프로세스는 이하 더욱 설명되는 소수의 논리적 단계를 포함한다. 명확성의 목적을 위해, 각 단계는 물체를 집는 예를 이용하는 상황에서 설명되고, 여기서 사람의 등에 따른 휨(bending)은 바람직하지 않은 것으로 고려되고 사람의 무릎에 따른 휨은 바람직한 것으로 고려된다. 그러나, 실례로 되는 실시예는 이러한 특정 예로 한정되지 않아야 하고, 대신 실례로 되는 실시예는 많은 여러 분류 구조 및 움직임 형태를 고려한다.
도 7은 실례로 되는 실시예에 따라 정량적 측정으로부터 정성적 명칭으로의 데이터 변환의 예를 예시한다. 정량적 데이터는 도 1의 모션 감지 입력 장치(100) 또는 도 3의 운동학 검출 시스템(300)과 같은, 모션 감지 입력 장치로부터 취해질 수 있다.
그러나, 데이터를 캡쳐하기 이전에, 실례로 되는 실시예는 특정 분류 시스템에서 연상 메모리를 훈련시키는 것을 고려한다. 즉, 실례로 되는 실시예에 대한 제1 단계는 사람이 바람직한 것으로 지시하는 일련의 움직임과 사람이 바람직하지 않은 것으로 지시하는 다른 일련의 움직임을 캡쳐하기 위해 모션 감지 입력 장치의 이용에 의해 특정 분류 시스템에서 연상 메모리를 훈련시키는 것일 수 있다. 훈련 기간 동안, 사용자는, 무엇이 관찰되었는가에 따라, 여러 예의 움직임을 기록하고 그들을 바람직하거나 바람직하지 않은 것으로 그들을 표시할 수 있다. 이들 예시적 움직임은 훈련된 움직임(trained movements)으로서 언급될 수 있다.
그 후, 사용자는 새로운 움직임을 수행하거나, 아마도 여러 새로운 움직임을 수행한다. 새로운 움직임은, 이하 설명되는 바와 같이, 훈련된 움직임과 비교될 "알려지지 않은(unknown)" 움직임이다.
새로운 움직임은 운동학 입력 장치를 이용해서 정량적으로 측정된다. 즉, 운동학 입력 장치는 정량적 데이터, 또는 일련의 수학적인, 마디의 지점의 측정된 좌표를 출력한다. 측정되는 마디의 지점의 좌표인, 이러한 정량적 데이터는 데이터 구조에 저장된다.
예컨대, 다수의 열(700)은, 사람의 마디의 지점의 움직임의, 운동학 입력 장치에 의해 측정된, 정량적 데이터를 나타낸다. 마디의 지점은 열(702)에 나열된다. 따라서, 예컨대, 열(700)의 제1 행에서 정량적 측정 "316, 332, 1383"의 범위는 사람의 엉덩이의 움직임의 정량적 측정과 관련된다. 이 경우에 있어서, 열(702)의 제1 행에 나타낸 바와 같이, 마디의 지점은 기술어 "HIP_CENTER"를 할당한다. 이 정보는 모션 센서(motion sensor)에 의해 제공되고, 파일 상에 또는 메모리에, 몇몇 형태의 데이터 구조 내, 아마도 데이터베이스 내에 국소적으로 수집된다.
도 7에 있어서, 분할기(divider; 704)가 정량적 측정에서 정성적 설명으로의 해석을 나타내도록 제공된다. 분할기(704)의 왼쪽에 도시된 행과 분할기(704)의 오른쪽에 도시된 행 사이에는 직접 대응이 없음을 주지해야 한다.
상기한 바와 같이, 마디의 각 지점에 대해, 정량적 데이터는 정성적 설명으로 해석된다. 부가적으로 또는 대안적으로, 정성적 설명은 움직임과 관련하여 마디의 하나의 지점과 마디의 다른 지점 사이의 관계를 나타내는 표시를 갖을 수 있다. 이 표시(label)는 마디의 하나의 지점과 다른 지점 사이의 관계의 형태를 표현하는 카테고리에 대해 할당될 수 있다.
상기 예를 계속하면, 카테고리(706)는 "DIRECTION_OF_HIP_CENTER_TO_WRIST_LEFT"일 수 있다. 카테고리(706)는 마디의 두 지점, "HIP_CENTER"와 "WRIST_LEFT" 사이의 관계를 설명하는, 특히 엉덩이의 다른 일련의 위치와 관련한 왼쪽 손목의 일련의 위치를 (정성적 용어로) 설명하는 정보를 포함한다. 본 예에서 이용된 양쪽 마디의 지점("HIP_CENTER" 및 "WRIST_LEFT")은 열(702)에 도시되고, 마디의 이들 지점을 위한 대응하는 정량적 측정이 열(700)에 도시된다. 그러나, 이들 정량적 측정은 분할기(704)에 의해 나타낸 바와 같이, 정성적 설명으로 해석된다.
소정의 경우에 있어서, 정성적 설명(qualitative descriptions; 708)은 카테고리(706) 내에서 제공된다. 더욱이, 이들 정성적 설명(708) 각각은 예컨대 움직임 동안 엉덩이의 중앙과 왼쪽 손목 사이의 특정 관계를 나타내는 대응하는 표시를 갖는다. 예컨대, 표시(label; 710)는 왼쪽 손목에 대한 엉덩이의 중앙의 방향이 "CENTER_BOTTOM_FAIRLY_SOUTH_NEARER_WEST"인 움직임의 적어도 일부를 표현한다. 이 표시(710)는 엉덩이에 대한 왼쪽 손목의 위치의 정성적 설명을 표현한다.
도 7의 목적은 수치적으로 측정된 좌표의 해석을 정성적 용어로 예시하기 위한 것이다. 따라서, 도 7은 단지 마디의 지점의 제한된 세트, 수, 관계의 카테고리, 및 표시를 도시한다. 더 많은, 또는 어쩌면 더 적은, 각각이 실제 응용에 제공될 수 있고, 또는 청구항에서 판독된다. 마디의 다른 종류의 관계 및 지점이 또한 제공될 수 있고, 어쩌면 몇몇 또는 모든 마디의 이들 지점, 수, 관계의 카테고리, 및 표시가 결여될 수 있다. 따라서, 도 7은 청구된 발명을 반드시 제한하지는 않고, 오히려 실례로 되는 실시예의 동작 중 하나의 모드를 나타내는 대표적 예이다.
이러한 주의를 염두에 둠에 따라, 측정을 설명하기 위해 이용된 정성적 기술어의 말투(verbiage)는, 연상 메모리가 서로에 대해 정성적 표시에 관련된 값을 비교하게 됨에도 불구하고, 원하는 만큼 정확하게 분류를 만들기 위해 충분히 구별되는 정보를 제공해야 한다. 그러나, 이용된 정성적 설명 및 표시의 수, 형태, 형식에 관계없이, 그들 표시, 및 그들 카테고리는 추가 처리를 위해 연상 메모리에 삽입 또는 저장된다.
예컨대, 알려지지 않은 움직임에 대한 정성적 설명 및 카테고리는 훈련된 움직임의 세트의 대응하는 정성적 설명 및 카테고리와 비교될 수 있다. 정성적 설명에서 가장 많은 수의 일치를 식별하는 것에 의해, 연상 메모리는 알려지지 않은 움직임을 분류할 수 있다. 특히, (정성적 설명과 일치하는 관점에서) 알려지지 않은 움직임과 가장 가깝게 일치하는 특정의 훈련된 움직임이 식별된다. 알려지지 않은 움직임은 이어 해당 특정 훈련된 움직임으로 카테고리화된다. 그 후, 소정의 바람직하지 않은 움직임을 회피하기 위해, 또는 어쩌면 소정의 바람직한 움직임을 모방하기 위해 사용자가 훈련되는가의 여부에 따라 경고 또는 피드백이 발생될 수 있다.
더욱이, 분할기(704)의 오른쪽에 도시된 목록은 모션 센서에 의해 제공된 실제 좌표를 기초로 사용자의 엉덩이 대 사용자의 왼쪽 손목 사이의 가능한 관계의 목록을 제공한다. 이들 관계는 정성적 용어를 제공하여 연상 메모리는 더욱 빠르게 알려지지 않은 움직임의 세트를 움직임의 훈련된 세트와 비교할 수 있다. 더욱이, 정성적 용어를 이용하는 것은 연상 메모리가 움직임을 분석할 때 이점을 제공할 수 있는 명칭 목록(name lists)과 워드 파서(word parsers)와 같은 분석적 도구를 통합할 수 있도록 한다.
도 8 내지 도 11은 실례로 되는 실시예를 이용하기 위한 하나의 실례로 되는 프로세스의 상황에서 제공된다. 본 실례로 되는 프로세스는 반드시 청구된 발명을 제한하는 것은 아니고, 변경될 수 있다. 그러나, 이러한 하나의 예에 있어서, 프로세스는, 몇몇은 선택적일 수 있는, 5가지 단계를 갖는다. 제1 단계는 특정 분류 구조를 이용하기 위해 연상 메모리를 훈련시키는 것이다. 제2 단계는 모션 감지 입력 장치를 이용해서 알려지지 않은 움직임을 캡쳐하는 것이다. 제3 단계는 알려지지 않은 움직임을 위한 비교 기준을 선택하는 것이다. 이 단계는 선택적으로 고려될 수 있다. 제4 단계는 제1 훈련 단계에서 수립된 연상 메모리 분류 구조를 이용해서 알려지지 않은 움직임을 식별하는 것이다. 제5 단계는, 특히 움직임이 바람직하지 않은 것으로 고려되면, 식별된 움직임을 사용자에게 통보하는 것이다.
도 8은 실례로 되는 실시예에 따른 바람직한 움직임 및 바람직하지 않은 움직임의 예를 예시한다. 막대형 사람(800) 및 막대형 사람(802)은 도 4의 스냅샷들(402), 도 5에 도시된 막대형 사람들 중 어느 하나, 또는 도 6에 도시된 막대형 사람일 수 있다. 도 8은, 특정 분류 구조에서 연상 메모리를 훈련시키는, 상기 설명된 실례로 되는 실시예의 제1 단계의 상황에서의 표현이다.
도 8은 막대형 사람(800) 및 막대형 사람(802)을 나타낸다. 막대형 사람(800)은 바람직한 것으로 고려될 수 있는 사용자의 움직임의 세트를 나타낸다. 막대형 사람(802)은 바람직하지 않은 것으로 고려될 수 있는 사용자의 움직임의 세트를 나타낸다.
상기한 "휨(bending)"의 예에 대해, 사용자는 2가지 종류의 기록의 세트를 만든다. 움직임의 하나의 세트는, 물체를 집으면서 그들의 등과 함께 휘는 것과 같은, 바람직하지 않은 움직임과 관련될 수 있다. 움직임의 다른 세트는, 물체를 집을 때 무릎과 함께 휘는 것과 같은, 바람직한 움직임과 관련될 수 있다. 각 움직임은, 이러한 분류 구조에서, 바람직하거나 바람직하지 않은 어느 한쪽으로 표시된다. 더욱이, 실례로 되는 실시예는 이러한 예 또는 분류 구조로 한정되지는 않는다.
도 8에서 나타낸 바와 같이, 바람직한 움직임은, 동그라미 2의 마디 지점의 세트(806)에 의해 도시된 바와 같은, 휘어진 무릎과 함께, 동그라미 1의 마디 지점의 세트(804)에 의해 나타난 바와 같은, 다소 꼿꼿한 등을 포함할 수 있다. 반면, 바람직하지 않은 움직임은, 동그라미 4의 마디 지점의 세트(810)에 의해 도시된 바와 같은, 꼿꼿한 무릎과 함께, 동그라미 3의 마디 지점의 세트(808)에 의해 도시된 바와 같은, 휘어진 등을 포함할 수 있다. 더욱이, 사용자는 바람직하거나 바람직하지 않은 것으로서의 이들 특정 움직임 또는 자세를 인식하기 위해 연상 메모리를 훈련시킨다. 훈련 움직임이 캡쳐되면, 그들은 분류 구조의 기반을 형성하기 위해 연상 메모리로 수집된다.
도 9는 실례로 되는 실시예에 따른 알려지지 않은 움직임의 예를 예시한다. 막대형 사람(900)은 도 8의 막대형 사람(800) 또는 막대형 사람(802)일 수 있고, 도 4의 스냅샷들(402)일 수 있으며, 도 5에 도시된 막대형 사람들 중 어느 하나일 수 있고, 또는 도 6에 도시된 막대형 사람일 수 있다. 도 9는, 도 1 또는 도 3에 도시된 바와 같은, 모션 감지 입력 장치 또는 운동학 검출 시스템로부터 알려지지 않은 세트의 움직임을 수신하는, 상기 설명된 실례로 되는 실시예의 제2 단계의 상황에서의 표현이다.
더욱이, 실례로 되는 프로세스에서 제2 단계는 해당 알려지지 않은 움직임을 나중에 분류하기 위해 알려지지 않은 움직임을 캡쳐하는 것일 수 있다. 알려지지 않은 움직임이 표시되지 않거나 "알려지지 않음(unknown)"으로 표시되는 것을 제외하고, 알려지지 않은 움직임은 훈련 움직임과 동일한 방식으로 기록된다. 도 9는, 화살표 902의 영역의 문자에 의해 나타낸 바와 같이, 마디(articulation) 또는 관절(joint)의 각 지점이 명칭을 위한 정성적 설명과, 이어 지점에 대한 위치 또는 위치의 세트의 수치적 측정과 관련됨을 나타낸다. 이러한 실례의 목적은 어떠한 종류의 정보가 모션 감지 장치에 의해 처음으로 캡쳐될 수 있는지를 나타내기 위한 것이다. 그러나, 실례로 되는 실시예는 단지 동작에 대해 표시(labels) 및 그들의 대응하는 좌표만을 필요로 할 수 있다.
도 10은 실례로 되는 실시예에 따른 움직임을 위한 비교 기준의 예를 나타낸다. 기준(1000)은, 알려지지 않은 움직임을 위한 비교 기준을 선택하기 위한 것인, 상기한 실례로 되는 프로세스의 단계 3의 상황에서 이용될 수 있다. 본 실례로 되는 프로세스의 단계 1은 도 8에 설명되었고 본 실례로 되는 프로세스의 단계 2는 도 9에서 설명되었다. 기준(1000)은 알려지지 않은 움직임의 측정의 수신 전, 동안, 또는 후에 수립될 수 있다.
몇몇, 그러나 전부는 아닌, 경우에 있어서, 기준은 더 나은 비교를 만드는 분류 시스템을 돕는데 이용될 수 있다. 따라서, 실례로 되는 실시예는, 기준(1000)과 같은, 비교 기준의 이용을 통해 연상 메모리에 의해 만들어진 결정 또는 결과에 영향을 미치는 능력을 사용자에게 제공한다. 기준(1000)은 비교를 만들 때 이용하기 위한 어느 속성 카테고리(attribute categories)를 시스템에게 알리는데, 또는 그 외의 소정의 속성 카테고리를 가중(weight)하는데 이용될 수 있다. 예컨대, 실례로 되는 실시예의 비교 기준은 그 결정을 만들 때 속성 "머리에서 왼쪽 어깨까지의 거리(distance from the head to the left shoulder)"의 중요성을 감소시키는데 이용될 수 있다. 시스템은 기준(1000) 그 자체를 발생시킬 수 있고, 더욱이 상대적 가중치(relative weighting) 그 자체를 제공할 수 있지만, 사용자로부터의 입력은 더 나은 결과를 제공할 수 있다.
움직임을 식별하는 목적을 위해, 실례로 되는 실시예는 초점이 맞추어지는 기준을 통합할 수 있지만, 각 관절의 거리, 장소 및 방향으로 한정되지는 않는다. 거리 및 방향에 대해, 각 기준은 2개의 관절 사이의 연결을 표현한다. 예는 왼쪽 손에서 오른쪽 손까지의 거리, 또는 오른쪽 팔꿈치에 대한 왼쪽 어깨의 방향을 포함한다. 결과적으로, 왕복 움직임 또는 그 자체 움직임의 값의 캡쳐는 필요로 되지 않을 수 있다.
소정의 경우에 있어서, 사용자는 각 카테고리에 가중(weights; 1002)을 할당할 수 있다. 이들 가중은 알려지지 않은 움직임을 훈련 움직임과 비교할 때 특정 카테고리의, 낮은 곳에서 높은 곳까지, 상대적 중요성을 나타낼 수 있다. 가중을 선택하는 것은 특별히 다른 속성과의 카테고리의 관련성을 강화할 수 있고, 그에 의해 해당 카테고리에 더 많거나 더 적은 중요성을 부여한다.
입력을 허용하기 위한 다른 수단이 제공될 수 있고 여러 종류의 입력이 제공될 수 있음에도 불구하고, 각 가중은 체크박스의 범위로서 표현된 중요성의 레벨에 대응할 수 있다. 사용자는 더 낮은 말단을 향하는 카테고리를 더 적게 가중하거나 전혀 가중하지 않을 수 있다. 반대로, 사용자는 더 높은 말단을 향하는 중요하거나 관련 카테고리를 가중할 수 있다. 선택되지 않은 가중은 "중간(medium)"의 디폴트 가중(default weight)을 할당할 수 있지만, 소정의 디폴트 가중을 할당할 수도 있다.
실례로 되는 실시예는 또한 수치 카테고리(numeric categories)의 범위를 공급할 수 있다. 범위는, 더 많은 관련성을 허용하는, 소정 퍼센트 내에서 일치하도록 대응하는 카테고리 값을 허용한다.
사용자가 소정의 비교 기준을 입력하기 위해 선택하지 않으면, 시스템은 자동적으로 그들에 대한 비교 기준을 선택한다. 연상 메모리 내부 알고리즘을 이용하면, 연상 메모리는 어떠한 결정이 데이터로부터 모여진 정보를 기초로 최상의 기준인가를 선택할 수 있다.
대안에 있어서, 할당 기준의 전체 프로세스는 스킵(skipped)될 수 있다. 따라서, 실례로 되는 프로세스의 단계 3은 선택적인 것으로 고려될 수 있다.
도 11은 실례로 되는 실시예에 따른 알려지지 않은 움직임을 식별하는 예를 예시한다. 막대형 사람(1100), 막대형 사람(1102) 및 막대형 사람(1104)은 도 9의 막대형 사람(900)일 수 있고, 도 8의 막대형 사람(800) 또는 막대형 사람(802)일 수 있으며, 도 4의 스냅샷들(402)일 수 있고, 도 5에 도시된 막대형 사람들 중 어느 하나일 수 있으며, 또는 도 6에 도시된 막대형 사람일 수 있다. 도 11은 단계 1에서 연상 메모리의 훈련 동안 수립된 연상 메모리 분류 구조를 이용해서 알려지지 않은 움직임을 식별하는 것과, 이어 사용자에게 경고하는 것인, 상기한 실례로 되는 실시예의 제4 및 제5 단계의 상황에서의 표현이다.
본 단계의 목적은 바람직하거나 바람직하지 않은 어느 한쪽으로서 알려지지 않은 움직임을 표시(label)하기 위한 것이다. 연상 메모리는 알려지지 않은 움직임의 특징을 단계 1에서 수행된 훈련 동안 미리 기록된 알려진 특징과 일치시키는 것에 의해 알려지지 않은 움직임을 분류한다. 결과적으로, 시스템은 알려지지 않은 움직임에 가장 가깝게 일치하는 이용가능한 움직임의 세트로부터 정성적 설명, 또는 표시를 선택하게 된다.
상기한 "휨"의 예에 대해, 단게 2에서 알려지지 않은 움직임은, 도 11의 막대형 사람(1104)에 의해 나타낸 바와 같이, 바람직하지 않은 움직임의 대부분을 식별한다. 이러한 결정은 각 움직임의 특징으로부터 만들어진다.
그러나, 실제의 상황에 있어서, 산발적인 움직임 때문에, 또는 움직임이 바람직하거나 바람직하지 않은 움직임 어느 한쪽을 가깝게 닮지 않기 때문에, 사용자의 움직임은 분류하는 것이 어려울 수 있다. 그럼에도 불구하고, 도 11에 도시된 바와 같이, 알려지지 않은 움직임은 바람직한 움직임 보다 바람직하지 않은 움직임과 닯을 수 있다. 특히, 막대형 사람(1102)에 의해 표현된 알려지지 않은 움직임은 막대형 사람(1100)의 바람직한 움직임 보다 막대형 사람(1104)의 바람직하지 않은 움직임을 더 가깝게 표현한다. 따라서, 실례로 되는 실시예는, 움직임의 특징을 기초로, "바람직하지 않음(undesirable)"으로 막대형 사람(1102)의 움직임을 분류한다.
더욱이, 도 11에 도시된 각 막대형 사람은 단일 예 또는 스냅샷만이 아니고 전체 움직임을 표현한다. 실례로 되는 실시예는 조만간 지점에서의 특정 신체 자세에 관하여 덜 고려되고, 관련 움직임과 더 관련될 수 있다.
알려지지 않은 움직임의 식별 및 검증 후, 알려지지 않은 움직임은 알려진 관찰로서 연상 메모리로 피드백된다. 이러한 프로세스는 훈련 세트를 개선하기 위한 피드백 메카니즘을 연상 메모리에 제공한다. 이러한 피드백 프로세스는 상기 프로세스에서 부가적인 선택 단계로 고려될 수 있다.
알려지지 않은 움직임의 식별 후, 제5 및 최종 단계는 사용자에게 경고하는 것이다. 사용자는 청각 또는 시각 자극(stimuli), 또는 양쪽을 매개로, 또는 다른 자극의 이용을 통해 경고될 수 있다. 소정의 경우에 있어서, 사용자는 움직임이 바람직하지 않은 경우 경고될 수 있다. 사용자는 또한 움직임이 바람직한 경우 경고될 수 있다. 이러한 방식에 있어서, 사용자는 새로운 습관을 배우는 것이 가능할 수 있다. 사용자는 소정의 바람직한 자극 또는 자극들을 이용해서 경고될 수 있다.
도 12는 본 발명의 실례로 되는 실시예에 따른 연상 메모리를 이용하는 운동학 검출 시스템의 예를 예시한다. 운동학 검출 시스템(1200)은, 예컨대 도 1의 모션 감지 입력 장치(100) 또는 도 3의 운동학 검출 시스템(300)일 수 있다. 운동학 검출 시스템(1200)은 도 8 내지 도 11에 관하여 설명된 예시적 방법을 구현하는데 이용될 수 있다. 운동학 검출 시스템(1200)은 또한 도 15의 프로세스(1500), 도 16의 시스템(1600), 또는 도 17의 시스템(1700)을 구현하는데 이용될 수 있다. 운동학 검출 시스템(1200)에서 이용된 컴퓨터 또는 프로세스는 도 13의 데이터 처리 시스템(1800)을 이용해서 구현될 수 있다.
다른 물리적 실시예가 가능함에도 불구하고, 실례로 되는 실시예의 하나의 가능한 물리적 시스템이" 도 12에 예시된다. 도시된 바와 같이, 운동학 검출 시스템(1200)은 실례로 되는 실시예를 구현하는데 이용된 소프트웨어를 실행하는 프로세스(1204)에 연결된 모션 센서(1202)를 이용한다. 프로세스(1204)를 포함하는 컴퓨터는 훈련 모드를 활성시키는데 이용된 훈련 버튼(training button; 1206)을 포함할 수 있다. 컴퓨터는 또한 기록되는 움직임이 바람직하거나 바람직하지 않게 되어 가는 경우를 나타내는데 이용되는 스위치(1208)를 포함할 수 있다.
운동학 검출 시스템(1200)은 전원 코드(1210) 또는 배터리를 포함할 수 있다. 운동학 검출 시스템(1200)은 또한 네트워크에 운동학 검출 시스템(1200)을 연결하는 네트워크 코드(1212) 또는 무선 장치를 포함할 수 있다. 소정의 경우에 있어서, 운동학 검출 시스템(1200)은 실례로 되는 실시예를 구현하는데 이용된 연상 메모리, 데이터베이스, 또는 소정의 다른 시스템과 통신할 수 있다. 그러나, 몇몇 실례로 되는 실시예에 있어서, 이용된 모든 소프트웨어는 프로세스(1204) 자체 내에 포함될 수 있다. 다른 실례로 되는 실시예에 있어서, 소프트웨어는 대신 ASIC(application specific integrated circuit)로서 구현될 수 있다.
운동학 검출 시스템(1200)은 다른 선택적 장치 또는 물체를 포함할 수 있다. 예컨대, 운동학 검출 시스템(1200)은 스탠드(1214) 또는 어딘가에 배치되어 용이하게 움직임을 관찰할 수 있는 모션 센서(1202)를 포함할 수 있다. 운동학 검출 시스템(1200)은 또한 움직임이 바람직하거나 바람직하지 않았던 경우를 나타내는데 이용되는 조명(light; 1216)을 포함할 수 있다. 부가하여, 스피커(1218)로부터 도래하는 가청음(audible sound)이 바람직하지 않은 이동이 검출될 때 유발될 수 있다.
마지막으로, 플러그인 랩탑(plug-in laptop; 1220), 태블릿, 휴대 전화, 또는 다른 컴퓨터 시스템이 운동학 검출 시스템(1200)을 구성하거나 최적화하는데 도움을 주도록 이용될 수 있다. 더욱이, 플러그인 랩탑(plug-in laptop; 1220)은 또한 원하는 바와 같이 소프트웨어를 갱신하는데 이용될 수 있다.
도 13은 실례로 되는 실시예에 따른 엔티티 비교(entity comparison)의 예를 예시한다. 도 13에 도시된 엔티티 비교(1300)는 알려지지 않은 움직임을 알려진 훈련된 움직임의 세트와 비교하는 구현의 예이다. 본 단계는 도 11과 관련하여 위에서 설명되었다.
실례로 되는 실시예의 하나의 가능한 구현은 움직임을 기록하기 위한 SQL(structured query language) 데이터베이스와 그들을 분류하는 연상 메모리를 이용하는 것이다. 이러한 구현에 대해, 사용자는 미리-정의된 데이터베이스를 셋 업하고 일련의 변환된 스냅샷들로서 훈련 데이터를 삽입할 수 있고, 따라서 데이터를 표시한다. 훈련 데이터에 따르면, 사용자는 알려지지 않은 움직임을 포함할 수 있고 알려지지 않은 것으로 그들을 표시한다.
이어 데이터는 연상 메모리로 수집된다. 수집되면, 사용자는 그와 같은 표시된 움직임을 위치시키 위해 알려지지 않은 움직임에 대해 엔티티 비교를 수행하도록 연상 메모리를 시작한다. 알려지지 않은 움직임은, 화살표 1302로 도 13에 도시된 바와 같이, 가장 가깝게 일치하는 움직임의 표시(label)를 채택한다. 특히, 화살표 1302는, 바람직하지 않은 움직임의 특정 형태를 나타내는, 표시 "undesirable-3"을 가리킨다. "1.0"의 점수(score)는 알려지지 않은 움직임이 "undesirable-3"인 높은 확률을 나타낸다. 알려지지 않은 움직임과 알려진 움직임 사이의 공통 속성(common attributes)은 "undesirable-3"이 도 13의 "common attributes"에 열거됨에 따라 표시된다. 그러나, 더 낮은 점수를 갖는 다른 표시는 알려지지 않은 움직임이 다른 표시된 움직임에 따라 다른 공통 속성을 갖는다는 기회를 나타낸다. 이 경우에 있어서, 알려지지 않은 움직임은 점수에 따라 분류된 "undesirable-1", "undesirable-4" 및 "undesirable-2"에 따라 공통으로 속성을 갖는다. 점수는 또한 어떻게 가깝게 알려지지 않은 움직임이 대응하는 표시와 일치하는가를 나타낸다.
따라서, 엔티티 비교의 결과는 원래 또는 찾아진 엔티티와 "같고(like)" 또는 "유사(similar to)"한 엔티티들의 순서지워진 목록일 수 있다. 연상 메모리는 목록을 공식화(formulate)하기 위해 이들 엔티티 사이에서 모든 일치하는 속성을 수집할 수 있다. 해당 목록의 순서는 일치하는 속성의 중요성에 의존할 수 있다. 부가적으로, 목록의 랭킹은 찾아진 속성의 수에 상관될 수 있다. 움직임을 비교할 때, 일치하는 속성(matching attributes)은 알려지지 않은 움직임이 기록되었을 때 모두 먼저 정의된, 거리, 위치 및 방향을 설명하는 말투를 나타낸다.
도 14는 실례로 되는 실시예에 따른 최종 카테고리(result category)로서의 결과를 갖는 엔티티 비교의 예를 예시한다. 도 14에 도시된 엔티티 비교(1400)는, 알려지지 않은 움직임을 알려진 훈련된 움직임의 세트에 비교하는, 상기한 단계 4의 구현의 예이다. 본 단계는 도 11을 참조하여 위에서 설명되었다. 엔티티 비교(1400)는 도 13의 엔티티 비교(1300)와는 다른 대안적 예이다.
도 14는 실례로 되는 실시예가, 도 13과 같이, 표시를 이용하는 대신, 최종 카테고리로서 미리 정의된 결과를 이용해서 엔티티 비교를 수행할 수 있음을 도시한다. 연상 메모리는 특정 결과에 따라 자체와 관련되는 각 엔티티를 갖도록 미리 구성될 수 있다. 따라서, 예컨대, 각 결과는 알려지지 않음(unknown), 바람직함(desirable), 또는 바람직하지 않음(undesirable)으로 표시될 수 있다.
이 경우에 있어서, 실례로 되는 실시예는 비교를 실행하고 최종적인 결과를 디스플레이할 수 있다. 단지 바람직함 또는 바람직하지 않음인 2가지 최종 속성 값만으로 됨에 따라, 이 결과는 도 13과 관련하여 상기한 구현과는 다르다. 시스템은 알려지지 않은 움직임을 원하는 결과들 중 하나와 억지로 상관시키기 위해 "unknown" 결과를 필터링한다. 따라서, 도 12의 undesirable-3, undesirable-1, undesirable-4, undesirable-2와 같은, 속성 값의 전체 목록을 보는 대신, 사용자는 단지 "desirable" 및 "undesirable"의 결과만을 본다.
따라서, 도 14는 단지 2가지 결과, "desirable"(1402) 및 "undesirable"(1404)만을 도시한다. 반면, 도 13은 4가지 결과를 도시하여, 더 많은 것을 나타낼 수 있거나 더 적은 것을 나타낼 수 있다.
도 15는 실례로 되는 실시예에 따른 관련 차별화(relevant differentiator)를 식별하기 위한 프로세스를 예시하는 플로우차트이다. 프로세스(1500)는 도 16의 시스템(1600), 도 17의 시스템(1700), 또는 도 18의 데이터 처리 시스템(1800)에 의해 구현될 수 있다. 프로세스(1500)는 도 4 내지 도 14뿐만 아니라 도 16 및 도 17와 관련하여 설명한 기술의, 또는 그에 대한 대안인, 흐름일 수 있다. 프로세스(1500)는 특히 도 8 내지 도 11과 관련하여 설명된 5가지 단계 프로세스의 예이다
도 15를 참조하면, "프로세스(process)"는 행위를 수행하는 것으로서 설명된다. 여기서 이용된 바와 같이, "프로세스"는 설명된 행위를 수행하도록 구성된 비-일시적 프로세서 또는 다른 물리적 장치로 되도록 고려될 수 있고, 또는 실행될 때, 설명된 행위를 수행하도록 구성된 컴퓨터 이용가능 프로그램 코드를 저장하는 비-일시적 컴퓨터 판독가능 저장 매체로 되도록 고려될 수 있다.
프로세스는 다수의 데이터와 다수의 데이터 사이의 다수의 관련(plurality of associations)을 구비하는 연상 메모리에서 구현될 수 있다. 다수의 데이터는 관련된 그룹으로 수집될 수 있다. 연상 메모리는 다수의 데이터 사이의 적어도 간접 관계를 기초로 질의되도록 구성될 수 있다.
선택적으로, 프로세스는 시스템을 훈련시키는 것에 의해 시작할 수 있다(동작 1500). 사용자가 프로세스(1500)를 수행할 때 시스템은 이미 훈련될 수 있기 때문에, 동작(1502)은 선택적인 것으로 고려된다. 프로세스(1500)를 시작할 때 시스템이 이미 훈련되지 않았다면, 이때 제1 단계는 시스템을 훈련시키는 것이다. (예컨대) "바람직함(desirable)" 또는 "바람직하지 않음(undesirable)"으로 표시되거나, 몇몇 다른 분류에 따라 표시되는 예시적 움직임을 나타내는 사용자와 같이, 시스템을 훈련시키기 위한 기술은 위에서 설명되었다. 이들 예시적 움직임과 관련하여 취해진 측정은 사용자에 의해 이전에 나타낸 예시적 움직임 중 하나로서 알려지지 않은 움직임을 분류하기 위해 이어 사용자의 알려지지 않은 움직임과 나중에 비교된다.
그 후, 또는 처음으로, 시스템을 훈련시키는 것이 이미 수행되었다면, 프로세스는 운동학 측정 장치를 이용해서 물체의 일부분의 물리적 위치를, 정량적으로, 검출할 수 있고, 여기서 정량적 측정이 취해진다(동작 1504). 이어 프로세스는, 운동학 측정 장치와 통신하는 프로세서를 이용해서, 정량적 측정을 물리적 위치의 정성적 설명으로 해석할 수 있다(동작 1506). 이어, 프로세스는 정성적 설명을 연상 메모리로 제공할 수 있다(동작 1508). 연상 메모리는 다수의 데이터와 다수의 데이터 사이의 다수의 관련일 수 있고, 다수의 데이터는 관련된 그룹으로 수집되고, 연상 메모리는 다수의 데이터 사이에서 적어도 간접 관계를 기초로 질의되도록 구성되고, 연상 메모리는 비-일시적 컴퓨터 판독가능 저장 매체 상에서 구현된다.
선택적으로, 프로세스는, 연상 메모리와 함께 프로세서를 이용해서, 정성적 설명을 물체에 대한 움직임의 세트와 비교할 수 있다(동작 1510). 이 경우, 프로세스는, 연상 메모리와 함께 프로세서를 이용해서, 정성적 설명을 기초로 물체의 특정 움직임을 결정할 수 있다(동작 1512).
선택적으로, 프로세스는, 연상 메모리와 함께 프로세서를 이용해서, 특정 움직임이 기준을 기초로 만족 또는 불만족 중 하나의 여부를 결정하는 것을 더 포함할 수 있다(동작 1514). 다른 실례로 되는 실시예에 있어서, 프로세스는 특정 움직임이 불만족이라는 결정에 응답하고, 사용자에게 경고를 제공할 수 있다(동작 1516). 대안적으로, 프로세스는 특정 움직임이 만족이라는 결정에 응답하고, 사용자에게 특정 움직임이 만족이라는 표시(indication)를 제공한다(동작 1518).
선택적 실례로 되는 실시예에 있어서, 물체는 사람의 신체 일부일 수 있고, 여기서 움직임은 사람의 신체의 움직임이다. 이 경우에 있어서, 프로세스는 특정 움직임이 불만족이라는 결정에 응답하고, 사람에게 경고를 제공한다(동작 1520). 다른 실례로 되는 실시예에 있어서, 프로세스는 프로세스와 통신하는 입력 장치로부터 사용자 기준을 수신할 수 있고, 특정 움직임이 사용자 기준을 기초로 변경됨을 결정한다(동작 1522). 그 후 프로세스가 종료될 수 있다.
도 16은 실례로 되는 실시예에 따른 시스템, 운동학 측정 장치, 연상 메모리, 및 운동학 데이터를 정성적 명칭 또는 말투로 변환시키기 위한 프로세서의 예이다. 시스템(1600)은 도 1 내지 도 15와 관련하여 설명된 프로세스 및 기술을 구현하기 위해 유용한 예일 수 있다.
도 16에 도시된 시스템(1600)은, 가능하게는 분배되거나 네트워크화된 환경에서, 그리고 가능하게는 "크라우드(cloud)"로서 알려진 원격적으로 관리되는 데이터 처리 시스템의 그룹에 의해, 하나 이상의 데이터 처리 시스템을 이용해서 구현될 수 있다. 시스템(1600)을 구현하는 하나 이상의 데이터 처리 시스템의 각각은 도 18과 관련하여 설명된 데이터 처리 시스템(1800), 또는 그 변형일 수 있다. 시스템(1600)은 하나 이상의 블록을 포함하는 것으로 특징화될 수 있다. 이들 블록의 각각은 분리될 수 있거나 모놀리식 구조(monolithic architecture)의 일부일 수 있다. 시스템(1600)은 연상 메모리(1602)를 포함할 수 있다. 연상 메모리(1602)는 다수의 데이터(1604)와 다수의 데이터 사이의 다수의 관련(1606)을 포함할 수 있다. 다수의 데이터(1604)는 관련된 그룹(1608)으로 수집될 수 있다. 연상 메모리(1602)는 다수의 데이터(1604) 사이의 직접 상관에 부가하여 다수의 데이터(1604) 사이의 간접 관계(1610)를 기초로 질의되도록 구성될 수 있다.
연상 메모리(1602)는 엔티티(1612)를 저장할 수 있다. 연상 메모리(1602)는 또한, 엔티티(1612) 사이에서, 직접 및 간접 양쪽의, 관계를 저장할 수 있다. 연상 메모리(1602)는 또한 각 엔티티(1612)에 관한 개인 정보를 저장할 수 있다.
시스템(1600)은 또한 운동학 측정 장치(1614)를 포함할 수 있다. 운동학 측정 장치(1614)는 물체(1618)의 일부분의 다수의 물리적 위치를 검출하도록 구성된 하나 이상의 센서(1616)를 갖을 수 있다. 운동학 측정 장치(1614)는 연상 메모리(1602)와 통신할 수 있다.
시스템(1600)은 또한 연상 메모리 및 운동학 측정 장치(1614)와 통신하는 프로세서(1620)를 포함할 수 있다. 프로세서(1620)는 범위를 명명하는 정성적 설명으로 물체의 일부분의 좌표 위치의 범위를 해석하도록 구성될 수 있다. 프로세서(1620)는 저장을 위해 연상 메모리에 정성적 설명을 제공하도록 더 구성될 수 있다.
도 16과 관련하여 설명된 실례로 되는 실시예는 변경될 수 있다. 예컨대, 연상 메모리(1602)와 함께 프로세서(1620)는 정성적 설명을 기초로 물체의 평가(assessment)를 출력하도록 구성될 수 있다. 이 경우에 있어서, 평가는 미리-결정된 정성적 설명의 세트에 대한 정성적 설명의 비교일 수 있다. 미리-결정된 정성적 설명의 세트는 물체의 움직임의 대응하는 정성적 설명을 갖을 수 있다. 출력은 정성적 설명에 가장 가깝게 일치하는 물체의 움직임의 특정의 미리-결정된 정성적 설명을 더 포함할 수 있다. 프로세서(1620)는 사용자에 의해 선택된 기준을 기초로 비교를 변경시키도록 더 구성될 수 있다.
시스템(1600)은 여전히 다른 방법으로 변경될 수 있다. 예컨대, 프로세서(1620)는 물체의 부가적 부분의 좌표 위치의 대응하는 세트의 다수의 부가적 범위를 다수의 부가적 범위를 명명하는 대응하는 부가적 정성적 설명으로 해석하도록 더 구성될 수 있다. 이 경우에 있어서, 프로세서(1620)는 대응하는 부가적 정성적 설명을 저장을 위해 연상 메모리(1602)에 제공하도록 더 구성될 수 있다. 부가적으로, 연상 메모리(1602)와 함께, 프로세서(1620)는 정성적 설명 및 대응하는 부가적 정성적 설명의 조합을 기초로 물체의 평가를 출력하도록 더 구성될 수 있다.
더욱 특정한 예에 있어서, 물체(1618)는 사람일 수 있고, 부분은 신체 부분이며, 부가적 부분은 부가적 신체 부분이다. 이 경우에 있어서, 정성적 설명은 신체 부분의 위치일 수 있고 대응하는 부가적 정성적 설명은 부가적 신체 부분의 다른 위치이다. 마찬가지로, 평가는 위치와 다른 위치의 조합이 기준을 기초로 만족 또는 불만족 중 하나의 여부의 결정일 수 있다. 위치 및 다른 위치는 함께 사람의 신체의 단일 움직임을 구비하여 구성된다.
운동학 측정 장치(1614), 연상 메모리(1602), 및 프로세서(1620)는 시간 프레임(time frame)에 걸쳐 사람의 신체의 부가적 움직임을 취하도록 더 구성될 수 있다. 이 경우에 있어서, 평가는 단일 움직임 및 부가적 움직임이 함께 신체를 이동시키는 것과 관련된 만족 또는 불만족 행위를 구성하는가의 여부의 결정일 수 있다.
다른 실례로 되는 실시예에 있어서, 시스템(1600)은 물리적 입력 장치(1622)를 더 포함할 수 있다. 물리적 입력 장치(1622)는 물체(1618)의 다수의 움직임을 수신하고 다수의 움직임을 명명하는 사용자 지정(user designation)을 수신하도록 구성될 수 있다. 이 경우에 있어서, 연상 메모리(1602)는 사용자 지정과 미래의 알려지지 않은 움직임의 비교를 기초로 물체(1618)의 미래의 알려지지 않은 움직임을 인식하기 위해 훈련되도록 구성될 수 있다. 이 기술은 통상적으로 미래의 알려지지 않은 움직임을 인식하는데 필요한 코딩(coding)을 감소시키거나 회피할 수 있다.
도 16에 도시된 실례로 되는 실시예는 여러 실례로 되는 실시예가 구현될 수 있는 방식에 대해 물리적 또는 구조적 제한을 암시하도록 의미하지는 않는다. 예시된 것에 부가 및/또는 대신하여 다른 구성요소가 이용될 수 있다. 몇몇 구성요소는 몇몇 실례로 되는 실시예에서 불필요할 수 있다. 또한, 블록은 몇몇 기능적 구성요소를 예시하도록 제공된다. 이들 블록 중 하나 이상은 다른 실례로 되는 실시예에서 구현될 때 여러 블록에 결합 및/또는 여러 블록으로 분할될 수 있다.
도 17은 실례로 되는 실시예에 따른 시스템, 운동학 측정 장치를 포함하는 컴퓨터, 연상 메모리, 및 운동학 데이터를 정성적 명칭으로 변환시키기 위한 프로세서의 예이다. 시스템(1700)은 도 1 내지 도 14와 관련하여 설명된 프로세스 및 기술을 구현하기 위해 유용한 예일 수 있다. 시스템(1700)은 도 16의 시스템에 관한 대안적인 실례로 되는 실시예를 나타낸다.
도 17에 도시된 시스템(1700)은, 가능하게는 분배되거나 네트워크화된 환경에서, 그리고 가능하게는 "크라우드(cloud)"로서 알려진 원격적으로 관리되는 데이터 처리 시스템의 그룹에 의해, 하나 이상의 데이터 처리 시스템을 이용해서 구현될 수 있다. 시스템(1700)을 구현하는 하나 이상의 데이터 처리 시스템의 각각은 도 18과 관련하여 설명된 데이터 처리 시스템(1800), 또는 그 변형일 수 있다. 시스템(1700)은 하나 이상의 블록을 포함하는 것으로 특징화될 수 있다. 이들 블록의 각각은 분리될 수 있거나 모놀리식 구조(monolithic architecture)의 일부일 수 있다.
시스템(1700)은 연상 메모리(1702)를 포함할 수 있다. 연상 메모리(1702)는 다수의 데이터(1704)와 다수의 데이터 사이의 다수의 관련(1706)을 포함할 수 있다. 다수의 데이터(1704)는 관련된 그룹(1708)으로 수집될 수 있다. 연상 메모리(1702)는 다수의 데이터(1704) 사이의 직접 상관에 부가하여 다수의 데이터(1704) 사이의 간접 관계(1710)를 기초로 질의되도록 구성될 수 있다.
연상 메모리(1702)는 엔티티(1712)를 저장할 수 있다. 연상 메모리(1702)는 또한, 엔티티(1712) 사이에서, 직접 및 간접 양쪽의, 관계를 저장할 수 있다. 연상 메모리(1702)는 또한 각 엔티티(1712)에 관한 개인 정보를 저장할 수 있다.
시스템(1700)은 또한 운동학 측정 장치(1714)를 포함할 수 있다. 운동학 측정 장치(1714)는 물체(1718)의 정량적 측정을 취하는 것에 의해 물체(1718)의 부분(1716)의 물리적 위치를, 정량적으로, 검출하도록 구성될 수 있다.
시스템(1700)은 또한 운동학 측정 장치(1714)와 통신하는 프로세서(1720)를 포함할 수 있다. 프로세서(1720)는 정량적 측정을 물리적 위치의 정성적 설명으로 해석하도록 구성될 수 있다. 프로세서(1720)는 물체(1718)를 위한 움직임의 세트에 대해 정성적 설명을 비교하도록 더 구성될 수 있다. 프로세서(1720)는 정성적 설명을 기초로 물체(1718)의 특정 이동을 결정하도록 더 구성될 수 있다.
도 17에 도시된 실례로 되는 실시예는 더욱 변경될 수 있다. 예컨대, 도 17에 도시된 실례로 되는 실시예는 도 16과 관련하여 설명된 것과 유사한 기술에 따라 변경될 수 있다.
도 17에 도시된 실례로 되는 실시예는 여러 실례로 되는 실시예가 구현될 수 있는 방식에 대해 물리적 또는 구조적 제한을 암시하도록 의미하지는 않는다. 예시된 것에 부가 및/또는 대신하여 다른 구성요소가 이용될 수 있다. 몇몇 구성요소는 몇몇 실례로 되는 실시예에서 불필요할 수 있다. 또한, 블록은 몇몇 기능적 구성요소를 예시하도록 제공된다. 이들 블록 중 하나 이상은 다른 실례로 되는 실시예에서 구현될 때 여러 블록에 결합 및/또는 여러 블록으로 분할될 수 있다.
도 18을 참조하면, 데이터 처리 시스템의 실례가 실례로 되는 실시예에 따른 도시된다. 도 18에 도시된 데이터 처리 시스템(1800)은, 도 1의 모션 감지 입력 장치(100), 도 12의 프로세스(1204) 또는 선택적 프러그-인 랩탑(1220), 도 16의 프로세서(1620), 도 17의 프로세서(1720), 또는 여기에 개시된 소정의 다른 모듈 또는 시스템 또는 프로세스와 같은, 실례로 되는 실시예를 구현하는데 이용될 수 있는 데이터 처리 시스템의 예이다. 본 실례로 되는 실시예에 있어서, 데이터 처리 시스템(1800)은 프로세서 유닛(1804), 메모리(1806), 영구 저장기(1808), 통신 유닛(1810), 입력/출력 (I/O) 유닛(1812), 및 디스플레이(1814) 사이에서 통신을 제공하는, 통신 구조(communications fabric; 1802)를 포함한다.
프로세서 유닛(1804)은 메모리(1806)로 로드될 수 있는 소프트웨어를 위한 명령을 실행하도록 기능한다. 이러한 소프트웨어는 여기의 다른 곳에서 설명된 어느 연상 메모리, 또는 여기의 다른 곳에서 설명된 프로세스를 구현하기 위한 소프트웨어 중 어느 것일 수 있다. 따라서, 예컨대 메모리(1806)에 로드된 소프트웨어는 도 15의 프로세스(1500)를 실행하거나 상기한 5가지 단계를 구현하고, 또는 도 16 또는 도 17에 도시된 실례로 되는 실시예를 구현하기 위한 소프트웨어일 수 있다. 프로세서 유닛(1804)은, 특정 구현에 따라, 다수의 프로세서, 다중-프로세서 코어, 또는 몇몇 다른 형태의 프로세서일 수 있다. 아이템을 참조하여 여기서 이용된 바와 같이, 다수는 하나 이상의 아이템을 의미한다. 더욱이, 프로세서 유닛(1804)은 메인 프로세서가 단일 칩 상에 제2 프로세서와 함께 존재하는 다수의 이종 프로세서 시스템(heterogeneous processor systems)을 이용해서 구현될 수 있다. 다른 실례로 되는 예로서, 프로세서 유닛(1804)은 동일한 형태의 다중 프로세서를 포함하는 대칭형 다중-프로세서 시스템(symmetric multi-processor system)일 수 있다.
메모리(1806) 및 영구 저장기(1808)는 저장 장치(1816)의 예이다. 저장 장치는, 예컨대, 제한 없이, 데이터, 기능적 형태에서의 프로그램 코드, 및/또는 잠정적 기반 및/또는 영구적 기반 상의 다른 적절한 정보와 같은, 정보를 저장할 수 있는 소정 개의 하드웨어이다. 저장 장치(1816)는 또한 이들 예에서 컴퓨터 판독가능 저장 장치로 언급될 수 있다. 이들 예에서 메모리(1806)는 랜덤 억세스 메모리(random access memory) 또는 소정의 다른 적절한 휘발성 또는 비휘발성 저장 장치일 수 있다. 영구 저장기(1808)는, 특정 구현에 따라, 다양한 형태를 취할 수 있다.
예컨대, 영구 저장기(1808)는 하나 이상의 구성요소 또는 장치를 포함할 수 있다. 예컨대, 영구 저장기(1808)는 하드 드라이브, 플래시 메모리, 재기록가능 광학 디스크, 재기록가능 자기 테이프, 또는 상기의 몇몇 조합일 수 있다. 영구 저장기(1808)에 의해 이용된 매체는 제거가능할 수 있다. 예컨대, 제거가능 하드 드라이브가 영구 저장기(1808)에 대해 이용될 수 있다.
이들 예에 있어서, 통신 유닛(1810)은 다른 데이터 처리 시스템 또는 장치와의 통신을 위해 제공된다. 이들 실례로 되는 예에 있어서, 통신 유닛(1810)은 네트워크 인터페이스 카드이다. 통신 유닛(1810)은 물리적 및 무선 통신 링크 중 어느 한 쪽 또는 양쪽의 이용을 통해 통신을 제공할 수 있다.
입력/출력 (I/O) 유닛(1812)은 데이터 처리 시스템(1800)에 연결될 수 있는 다른 장치와의 데이터의 입력 및 출력을 가능하게 한다. 예컨대, 입력/출력 (I/O) 유닛(1812)은 키보드, 마우스, 및/또는 몇몇 다른 적절한 입력 장치를 통해 사용자 입력을 위한 연결을 제공할 수 있다. 더욱이, 입력/출력 (I/O) 유닛(1812)은 프린터로 출력을 보낼 수 있다. 디스플레이(1814)는 사용자에게 정보를 디스플레이하기 위한 메카니즘을 제공한다.
오퍼레이팅 시스템, 어플리케이션, 및/또는 프로그램을 위한 명령은, 통신 구조(1802)를 통해 프로세서 유닛(1804)과 통신에 있게 되는, 저장 장치(1816)에 위치될 수 있다. 이들 실례로 되는 예에서, 명령은 영구 저장기(1808) 상에 기능적 형태로 있게 된다. 이들 명령은 프로세서 유닛(1804)에 의한 실행을 위해 메모리(1806)로 로드될 수 있다. 여러 실시예의 프로세스들은, 메모리(1806)와 같은, 메모리에 위치될 수 있는, 컴퓨터 구현된 명령을 이용해서 프로세서 유닛(1804)에 의해 수행될 수 있다.
이들 명령은 프로세서 유닛(1804)의 프로세서에 의해 판독 및 실행될 수 있는 프로그램 코드, 컴퓨터 이용가능 프로그램 코드, 또는 컴퓨터 판독가능 프로그램 코드로서 언급된다. 여러 실시예에서 프로그램 코드는, 메모리(1806) 또는 영구 저장기(1808)와 같은, 여러 물리적 또는 컴퓨터 판독가능 저장 매체 상에서 구체화될 수 있다.
프로그램 코드(1818)는 선택적으로 제거가능한 컴퓨터 판독가능 매체(1820) 상에 기능적 형태로 위치되고 프로세서 유닛(1804)에 의한 실행을 위해 데이터 처리 시스템(1800)에 대해 로드되거나 전송될 수 있다. 프로그램 코드(1818) 및 컴퓨터 판독가능 매체(1820)는 이들 예에서 컴퓨터 프로그램 제품(1822)을 형성한다. 하나의 예에 있어서, 컴퓨터 판독가능 매체(1820)는 컴퓨터 판독가능 저장 매체(1824) 또는 컴퓨터 판독가능 신호 매체(1826)일 수 있다. 컴퓨터 판독가능 저장 매체(1824)는, 예컨대 영구 저장기(1808)의 부분인, 하드 드라이브와 같은, 저장 장치 상으로 전송하기 위한 영구 저장기(1808)의 부분인 드라이브 또는 다른 장치에 삽입 또는 위치되는 광학 또는 자기 디스크를 포함할 수 있다. 컴퓨터 판독가능 저장 매체(1824)는 또한, 데이터 처리 시스템(1800)에 연결되는, 하드 드라이브, 덤 드라이브(thumb drive), 또는 플래시 메모리와 같은, 영구 저장기의 형태를 취할 수 있다. 몇몇 예에 있어서, 컴퓨터 판독가능 저장 매체(1824)는 데이터 처리 시스템(1800)으로부터 제거가능하지 않을 수 있다.
대안적으로, 프로그램 코드(1818)는 컴퓨터 판독가능 신호 매체(1826)를 이용해서 데이터 처리 시스템(1800)으로 전송될 수 있다. 컴퓨터 판독가능 신호 매체(1826)는, 예컨대 프로그램 코드(1818)를 포함하는 전파된 데이터 신호(propagated data signal)일 수 있다. 예컨대, 컴퓨터 판독가능 신호 매체(1826)는 전자기 신호, 광학 신호, 및/또는 신호의 다른 적절한 형태일 수 있다. 이들 신호는, 무선 통신 링크, 광섬유 케이블, 동축 케이블, 유선, 및/또는 다른 적절한 형태의 통신 링크와 같은, 통신 링크를 거쳐 전송될 수 있다. 즉, 통신 링크 및/또는 연결은 실례로 되는 예에서 물리적 또는 무선일 수 있다.
몇몇 실례로 되는 실시예에 있어서, 프로그램 코드(1818)는 데이터 처리 시스템(1800) 내에서 사용하기 위해 컴퓨터 판독가능 신호 매체(1826)를 통해 다른 장치 또는 데이터 처리 시스템으로부터 영구 저장기(1808)로 네트워크를 거쳐 다운로드될 수 있다. 예컨대, 서버 데이터 처리 시스템의 컴퓨터 판독가능 저장 매체에 저장된 프로그램 코드는 서버로부터 데이터 처리 시스템(1800)으로 네트워크를 거쳐 다운로드될 수 있다. 프로그램 코드(1818)를 제공하는 데이터 처리 시스템은 서버 컴퓨터, 클라이언트 컴퓨터, 또는 프로그램 코드(1818)를 저장 및 전송할 수 있는 몇몇 다른 장치일 수 있다.
데이터 처리 시스템을 위해 도시된 여러 구성요소는 여러 실시예가 구현될 수 있는 방식에 대해 구조적인 제한을 제공하는 것을 의미하는 것은 아니다. 여러 실례로 되는 실시예는 데이터 처리 시스템(1800)을 위해 도시된 것에 부가하여 또는 대신하는 구성요소를 포함하는 데이터 처리 시스템에서 구현될 수 있다. 도 18에 도시된 다른 구성요소는 도시된 실례로 되는 예로부터 변경될 수 있다. 여러 실시예는 프로그램 코드를 실행할 수 있는 소정의 하드웨어 장치 또는 시스템을 이용해서 구현될 수 있다. 하나의 예로서, 데이터 처리 시스템은 무기 구성요소(inorganic components)와 집적된 유기 구성요소(organic components)를 포함할 수 있고, 및/또는 사람을 배제하는 전체적으로 유기 구성요소로 이루어질 수 있다. 예컨대, 저장 장치는 유기 반도체(organic semiconductor)로 이루어질 수 있다.
다른 실례로 되는 예에 있어서, 프로세서 유닛(1804)은 특정 이용을 위해 제조되거나 구성된 회로를 갖춘 하드웨어 유닛의 형태를 취할 수 있다. 이러한 형태의 하드웨어는 동작을 수행하도록 구성되는 저장 장치로부터 메모리로 로드되는 프로그램 코드를 필요로 하는 것 없이 동작을 수행할 수 있다.
예컨대, 프로세서 유닛(1804)이 하드웨어 유닛의 형태를 취할 때, 프로세서 유닛(1804)은 회로 시스템, ASIC(application specific integrated circuit), 프로그래머블 로직 장치(programmable logic device), 또는 다수의 동작을 수행하도록 구성된 몇몇 다른 적절한 형태의 하드웨어일 수 있다. 프로그래머블 로직 장치와 함께, 장치는 다수의 동작을 수행하도록 구성된다. 장치는 나중에 재구성될 수 있거나 다수의 동작을 수행하도록 영구적으로 구성될 수 있다. 프로그래머블 로직 장치의 예는, 예컨대 프로그래머블 로직 어레이(programmable logic array), 프로그래머블 어레이 로직(programmable array logic), 필드 프로그래머블 로직 어레이(field programmable logic array), 필드 프로그래머블 게이트 어레이(field programmable gate array), 및 다른 적절한 하드웨어 장치를 포함한다. 이러한 형태의 구현에 따르면, 여러 실시예를 위한 프로세스가 하드웨어 유닛에서 구현되기 때문에 프로그램 코드(1818)가 생략될 수 있다.
또 다른 실례로 되는 예에 있어서, 프로세서 유닛(1804)은 컴퓨터 및 하드웨어 유닛에서 발견되는 프로세서의 결합을 이용해서 구현될 수 있다. 프로세서 유닛(1804)은 프로그램 코드(1818)를 실행하도록 구성된 다수의 하드웨어 유닛과 다수의 프로세서를 갖을 수 있다. 이러한 도시된 예에 따르면, 몇몇 프로세스는 다수의 하드웨어 유닛에서 구현될 수 있는 반면, 다른 프로세스는 다수의 프로세서에서 구현될 수 있다.
다른 예로서, 데이터 처리 시스템(1800)의 저장 장치는 데이터를 저장할 수 있는 소정의 하드웨어 장치이다. 메모리(1806), 영구 저장기(1808), 및 컴퓨터 판독가능 신호 매체(1820)는 유형의 형태의 저장 장치의 예이다.
다른 예에 있어서, 버스 시스템은 통신 구조(1802)를 구현하는데 이용될 수 있고 시스템 버스 및/또는 입력/출력 버스와 같은, 하나 이상의 버스로 이루어질 수 있다. 물론, 버스 시스템은 버스 시스템에 부착된 여러 구성요소 또는 장치들 사이에서 데이터의 전송을 위해 제공되는 소정의 적절한 형태의 구조를 이용해서 구현될 수 있다. 부가적으로, 통신 유닛은, 모뎀 또는 네트워크 어댑터와 같은, 데이터를 전송하고 수신하는데 이용되는 하나 이상의 장치를 포함할 수 있다. 더욱이, 메모리는, 예컨대, 메모리(1806), 또는 통신 구조(1802)에 존재할 수 있는 인터페이스 및 메모리 콘트롤러에서 발견되는 것과 같은, 캐시일 수 있다.
데이터 처리 시스템(1800)은 또한 연상 메모리(1828)를 포함할 수 있다. 연상 메모리(1828)는 도 16의 연상 메모리(1602), 도 17의 연상 메모리(1702) 또는 여기의 다른 곳에서 설명된 다른 연상 메모리일 수 있고, 여기의 다른 곳에서 설명된 특성을 갖을 수 있다. 연상 메모리(1828)는 통신 구조(1802)와 통신에 있을 수 있다. 연상 메모리(1828)는 또한 저장 장치(1816)와 통신에 있을 수 있고, 또는 몇몇 실례로 되는 실시예에서, 저장 장치(1816)의 부분으로 고려될 수 있다. 하나의 연상 메모리(1828)가 도시되었지만, 부가적인 연상 메모리가 존재할 수 있다.
여러 실례로 되는 실시예는 전체적으로 하드웨어 실시예, 전체적으로 소프트웨어 실시예, 또는 하드웨어 및 소프트웨어 엘리먼트 양쪽을 포함하는 실시예의 형태를 취할 수 있다. 몇몇 실시예는, 포함하지만 이에 제한되지 않는, 예컨대 펌웨어(firmware), 상주 소프트웨어(resident software), 및 마이크로코드(microcode)와 같은, 소프트웨어로 구현된다.
더욱이, 여러 실시예는 명령을 실행하는 컴퓨터 또는 소정의 장치 또는 시스템에 의해 이용되거나 연결되는 프로그램 코드를 제공하는 컴퓨터 이용가능 또는 컴퓨터 판독가능 매체로부터 억세스할 수 있는 컴퓨터 프로그램 제품의 형태를 취할 수 있다. 본 발명의 목적을 위해, 컴퓨터 이용가능 또는 컴퓨터 판독가능 매체는 일반적으로 명령 실행 시스템, 기기, 또는 장치에 의해 이용하기 위해 또는 연결되는 프로그램을 포함, 저장, 통신, 전파, 또는 운반할 수 있는 소정의 유형의 장치로 될 수 있다.
컴퓨터 이용가능 또는 컴퓨터 판독가능 매체는, 예컨대 한정되는 것 없이, 전자, 자기, 광학, 전자기, 적외선, 또는 반도체 시스템, 또는 전파 매체(propagation medium)로 될 수 있다. 컴퓨터 판독가능 매체의 비-제한 예는 반도체 또는 고체 상태 메모리, 자기 테이프, 제거가능 컴퓨터 디스켓, RAM(random access memory), ROM(read-only memory), 단단한 자기 디스크(rigid magnetic disk), 및 광학 디스크를 포함한다. 광학 디스크는 CD-ROM(compact disk-read only memory), CD-R/W(compact disk-read/write), 및 DVD를 포함한다.
더욱이, 컴퓨터 이용가능 또는 컴퓨터 판독가능 매체는 컴퓨터 판독가능 또는 이용가능 프로그램 코드를 포함하거나 저장할 수 있어, 컴퓨터 판독가능 또는 이용가능 프로그램 코드가 컴퓨터 상에서 실행될 때, 이러한 컴퓨터 판독가능 또는 이용가능 프로그램 코드의 실행은 컴퓨터로 하여금 통신 링크를 거쳐 다른 컴퓨터 판독가능 또는 이용가능 프로그램 코드를 전송하도록 할 수 있다. 이러한 통신 링크는, 즉 예컨대 제한 없이, 물리적 또는 무선인, 매체를 이용할 수 있다.
컴퓨터 판독가능 또는 이용가능 프로그램 코드를 저장 및/또는 실행하기 위해 적절한 데이터 처리 시스템은, 시스템 버스와 같은, 통신 구조를 통해 메모리 엘리먼트로 직접적으로 또는 간접적으로 결합된 하나 이상의 프로세서를 포함하게 된다. 메모리 엘리먼트는 프로그램 코드의 실제 실행 동안 채택된 로컬 메모리(local memory)와, 벌크 저장기(bulk storage), 및 코드가 코드의 실행 동안 벌크 저장기로부터 여러 번 검색될 수 있음을 감소시키도록 적어도 몇몇 컴퓨터 판독가능 또는 이용가능 프로그램 코드의 잠정적 저장을 제공하는 캐시 메모리(cache memories)를 포함할 수 있다.
입력/출력 또는 I/O 장치는 직접적으로 또는 중간 I/O 콘트롤러(intervening I/O controllers)를 통해 시스템에 결합될 수 있다. 이들 장치는, 예컨대 제한 없이, 키보드, 터치 스크린 디스플레이, 및 포인팅 장치(pointing devices)를 포함할 수 있다. 여러 통신 어댑터가 또한 중간 개인 또는 공공 네트워크(intervening private or public networks)를 통해 데이터 처리 시스템이 다른 데이터 처리 시스템 또는 원격 프린터 또는 저장 장치에 결합될 수 있도록 시스템에 결합될 수 있다. 모뎀 또는 네트워크 어댑터의 비-제한 예는 소수의 현재 이용가능한 형태의 통신 어댑터이다.
여러 실례로 되는 실시예의 설명이 도시 및 설명의 목적을 위해 제공되고 있고, 개시된 형태로 실시예를 포괄시키거나 한정하도록 의미하는 것은 아니다. 많은 변경 및 변형이 당업자에게는 명백할 것이다. 더욱이, 여러 실례로 되는 실시예는 다른 실례로 되는 실시예와 비교하여 여러 특징을 제공할 수 있다. 선택된 실시예 또는 실시예들이 실시예의 원리, 실제적 적용을 가장 잘 설명하고, 당업자가 아니라도 다양한 변형에 따른 다양한 실시예에 대한 발명이 고려된 특정 이용에 대해 적절한 것으로서 이해할 수 있도록 하기 위해 선택되고 설명된다.

Claims (16)

  1. 물체(1618)의 일부분의 다수의 물리적 위치를 검출하도록 구성된 하나 이상의 센서(1616)를 갖춘 운동학 측정 장치(1614)와;
    운동학 측정 장치(1614)와 통신하고, 다수의 데이터(1604)와 다수의 데이터 사이의 다수의 관련(1606)을 구비하는 연상 메모리(1602)로서, 다수의 데이터(1604)가 관련된 그룹(1608)으로 수집되고, 연상 메모리(1602)가 다수의 데이터(1604) 사이의 적어도 간접 관계(1610)를 기초로 질의되도록 구성된, 연상 메모리(1602); 및
    연상 메모리(1602) 및 운동학 측정 장치(1614)와 통신하고, 범위를 명명하는 정성적 설명으로 물체(1618)의 부분의 대응하는 위치의 범위를 해석하도록 구성되되, 저장을 위해 연상 메모리(1602)에 정성적 설명을 제공하도록 더 구성되는, 프로세서(1620);를 구비하여 구성되는 것을 특징으로 하는 시스템.
  2. 제1항에 있어서,
    연상 메모리(1602)와 함께 프로세서(1620)는 정성적 설명을 기초로 물체(1618)의 평가를 출력하도록 구성되는 것을 특징으로 하는 시스템.
  3. 제2항에 있어서,
    평가가 미리-결정된 정성적 설명의 세트에 대한 정성적 설명의 비교를 갖추어 이루어지되, 미리-결정된 정성적 설명의 세트가 물체(1618)의 움직임의 대응하는 정성적 설명을 갖추고;
    출력은 정성적 설명에 가장 가깝게 일치하는 물체(1618)의 움직임의 특정한 미리-결정된 정성적 설명을 갖추어 이루어지고;
    프로세서(1620)는 사용자에 의해 선택된 기준을 기초로 비교를 변경하도록 더 구성되는 것을 특징으로 하는 시스템.
  4. 제1항에 있어서,
    프로세서(1620)가:
    물체(1618)의 부가적 부분의 대응하는 위치의 대응하는 세트의 다수의 부가적 범위를 다수의 부가적 범위를 명명하는 대응하는 부가적 정성적 설명으로 해석하도록 더 구성되되, 프로세서(1620)는 저장을 위해 대응하는 부가적 정성적 설명을 연상 메모리(1602)로 제공하도록 더 구성되고;
    연상 메모리(1602)와 함께 프로세서(1620)는 정성적 설명 및 대응하는 부가적 정성적 설명의 조합을 기초로 물체(1618)의 평가를 출력하도록 더 구성되는 것을 특징으로 하는 시스템.
  5. 제4항에 있어서,
    물체(1618)는 사람이고, 부분은 신체 부분이며, 부가적 부분은 부가적 신체 부분이고;
    정성적 설명은 신체 부분의 위치이고 대응하는 부가적 정성적 설명은 부가적 신체 부분의 다른 위치이고;
    기준을 기초로 하는 평가는 위치 및 다른 위치의 조합이 만족 또는 불만족 중 하나의 여부의 결정인 것을 특징으로 하는 시스템.
  6. 제5항에 있어서,
    위치 및 다른 위치는 함께 사람의 신체의 단일 움직임을 구비하는 것을 특징으로 하는 시스템.
  7. 제6항에 있어서,
    운동학 측정 장치(1614), 연상 메모리(1602) 및 프로세서(1620)는 시간 프레임에 걸쳐 사람의 신체의 부가적 움직임을 취하도록 더 구성되는 것을 특징으로 하는 시스템.
  8. 제7항에 있어서,
    기준을 기초로 하는 평가는 단일 움직임과 부가적 움직임이, 함께, 만족 또는 불만족 중 하나인 신체를 이동시키는 것과 관련된 행위를 구성하는 것을 특징으로 하는 시스템.
  9. 제1항에 있어서,
    물체(1618)의 다수의 움직임을 수신하고, 다수의 움직임을 명명하는 사용자 지정을 수신하도록 구성된 물리적 입력 장치(1622)를 더 구비하여 구성되고, 연상 메모리(1602)가 사용자 지정 및 미래의 알려지지 않은 움직임의 비교를 기초로 물체(1618)의 미래의 알려지지 않은 움직임을 인식하기 위해 훈련되도록 구성되며, 그에 의해 미래의 알려지지 않은 움직임을 인식하기 위한 코딩이 회피되는 것을 특징으로 하는 시스템.
  10. 운동학 측정 장치(1614)를 이용해서 물체(1618)의 일부분의 물리적 위치를, 정량적으로, 검출하는 단계로서, 정량적 측정이 취해지는, 단계(1504)와;
    운동학 측정 장치(1614)와 통신하는 프로세서(1620)를 이용해서, 정량적 측정을 물리적 위치의 정성적 설명으로 해석하는 단계(1506); 및
    정성적 설명을 다수의 데이터(1604) 및 다수의 데이터 사이의 다수의 관련(1606)을 구비하는 연상 메모리(1602)에 제공하는 단계로서, 다수의 데이터(1604)가 관련된 그룹(1608)으로 수집되고, 연상 메모리(1602)가 다수의 데이터(1604) 사이의 적어도 간접 관계(1610)를 기초로 질의되도록 구성되며, 연상 메모리(1602)는 비-일시적 컴퓨터 판독가능 저장 매체 상에서 구현되는, 단계(1508);를 갖추어 이루어지는 것을 특징으로 하는 방법.
  11. 제10항에 있어서,
    연상 메모리(1602)와 함께 프로세서(1620)를 이용해서, 정성적 설명을 물체(1618)를 위한 움직임의 세트에 비교하는 단계(1510)와;
    연상 메모리(1602)와 함께 프로세서(1620)를 이용해서, 정성적 설명을 기초로 물체(1618)의 특정 움직임을 결정하는 단계(1512);를 더 갖추어 이루어지는 것을 특징으로 하는 방법.
  12. 제11항에 있어서,
    연상 메모리(1602)와 함께 프로세서(1620)를 이용하고 기준을 기초로, 특정 움직임이 만족 또는 불만족 중 하나인지의 여부를 결정하는 단계(1514)를 더 갖추어 이루어지는 것을 특징으로 하는 방법.
  13. 제12항에 있어서,
    특정 움직임이 불만족이라는 결정에 대해 응답하고, 사용자에게 경고를 제공하는 단계(1516)를 더 갖추어 이루어지는 것을 특징으로 하는 방법.
  14. 제12항에 있어서,
    특정 움직임이 만족이라는 결정에 응답하고, 사용자에게 특정 움직임이 만족이라는 표시를 제공하는 단계(1518)를 더 갖추어 이루어지는 것을 특징으로 하는 방법.
  15. 제12항에 있어서,
    물체(1618)가 사람의 인체를 갖추어 이루어지고, 특정 움직임이 사람의 신체의 움직임이며, 방법이:
    특정 움직임이 불만족이라는 결정에 응답하고, 사람에게 경고를 제공하는 단계(1520)를 더 갖추어 이루어지는 것을 특징으로 하는 방법.
  16. 제11항에 있어서,
    프로세서(1620)와 통신하는 입력 장치로부터 사용자 기준을 수신하는 단계(1522)를 더 갖추어 이루어지고, 특정 움직임을 결정하는 단계가 사용자 기준을 기초로 변경되는 것을 특징으로 하는 방법.
KR1020150040482A 2014-04-10 2015-03-24 연상 메모리와 결합된 모션 감지 장치를 이용해서 움직임을 식별하기 위한 시스템 및 방법 KR102331126B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/249,786 US9298269B2 (en) 2014-04-10 2014-04-10 Identifying movements using a motion sensing device coupled with an associative memory
US14/249,786 2014-04-10

Publications (2)

Publication Number Publication Date
KR20150117603A true KR20150117603A (ko) 2015-10-20
KR102331126B1 KR102331126B1 (ko) 2021-11-24

Family

ID=52648818

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150040482A KR102331126B1 (ko) 2014-04-10 2015-03-24 연상 메모리와 결합된 모션 감지 장치를 이용해서 움직임을 식별하기 위한 시스템 및 방법

Country Status (7)

Country Link
US (1) US9298269B2 (ko)
EP (1) EP2930653B1 (ko)
JP (1) JP6969859B2 (ko)
KR (1) KR102331126B1 (ko)
CN (1) CN104977038B (ko)
AU (1) AU2015201056B2 (ko)
CA (1) CA2883697C (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9619039B2 (en) * 2014-09-05 2017-04-11 The Boeing Company Obtaining metrics for a position using frames classified by an associative memory
US9911031B2 (en) 2014-09-05 2018-03-06 The Boeing Company Obtaining metrics for a position using frames classified by an associative memory
US10503965B2 (en) * 2015-05-11 2019-12-10 Rcm Productions Inc. Fitness system and method for basketball training
CN109478241B (zh) * 2016-05-13 2022-04-12 努门塔公司 执行推理的计算机实现的方法、存储介质及计算设备
KR20240046357A (ko) 2022-09-30 2024-04-09 주식회사 엠티이지 관심 영역에 대한 위치를 결정하는 방법 및 디바이스

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10113343A (ja) * 1996-07-03 1998-05-06 Hitachi Ltd 動作及び行動の認識方法及び装置及びシステム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4144564A (en) 1977-04-19 1979-03-13 Semionics Associates Associative memory
US4149262A (en) 1977-04-19 1979-04-10 Semionics Associates Associative memory device with variable recognition criteria
US5014327A (en) 1987-06-15 1991-05-07 Digital Equipment Corporation Parallel associative memory having improved selection and decision mechanisms for recognizing and sorting relevant patterns
JP3337938B2 (ja) * 1996-04-25 2002-10-28 松下電器産業株式会社 3次元骨格構造の動き送受信装置、および動き送受信方法
US7515734B2 (en) * 2006-03-27 2009-04-07 Eyecue Vision Technologies Ltd. Device, system and method for determining compliance with a positioning instruction by a figure in an image
US8160981B2 (en) 2007-09-25 2012-04-17 Saffron Technology, Inc. Event-based anticipation systems, methods and computer program products for associative memories wherein times of future events occurring are predicted
CN100589105C (zh) * 2008-05-23 2010-02-10 浙江大学 基于示范表演的直观高效的三维人体运动数据检索方法
WO2010015962A1 (en) * 2008-08-07 2010-02-11 Koninklijke Philips Electronics N. V. Method of and system for determining a head-motion/gaze relationship for a user, and an interactive display system
US8633890B2 (en) * 2010-02-16 2014-01-21 Microsoft Corporation Gesture detection based on joint skipping
JP2011198161A (ja) * 2010-03-22 2011-10-06 Hiromitsu Hama 対象物認識システム及び該システムを利用する監視システム、見守りシステム
JP5757063B2 (ja) 2010-03-29 2015-07-29 ソニー株式会社 情報処理装置および方法、並びにプログラム
US9143843B2 (en) 2010-12-09 2015-09-22 Sealed Air Corporation Automated monitoring and control of safety in a production area
CN103827891B (zh) 2011-07-28 2018-01-09 Arb实验室公司 使用全球生成的多维姿势数据检测身体运动的系统和方法
JP5877053B2 (ja) * 2011-12-14 2016-03-02 パナソニック株式会社 姿勢推定装置および姿勢推定方法
US8935282B2 (en) * 2012-07-27 2015-01-13 The Boeing Company Locating relevant differentiators within an associative memory

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10113343A (ja) * 1996-07-03 1998-05-06 Hitachi Ltd 動作及び行動の認識方法及び装置及びシステム

Also Published As

Publication number Publication date
CN104977038B (zh) 2020-05-01
JP6969859B2 (ja) 2021-11-24
EP2930653A3 (en) 2015-12-23
US20150293593A1 (en) 2015-10-15
CA2883697A1 (en) 2015-10-10
EP2930653B1 (en) 2020-04-15
AU2015201056A1 (en) 2015-10-29
JP2015226757A (ja) 2015-12-17
CA2883697C (en) 2018-08-21
KR102331126B1 (ko) 2021-11-24
AU2015201056B2 (en) 2019-02-28
CN104977038A (zh) 2015-10-14
EP2930653A2 (en) 2015-10-14
US9298269B2 (en) 2016-03-29

Similar Documents

Publication Publication Date Title
US8929600B2 (en) Action recognition based on depth maps
KR102331126B1 (ko) 연상 메모리와 결합된 모션 감지 장치를 이용해서 움직임을 식별하기 위한 시스템 및 방법
EP3001281B1 (en) Obtaining metrics for a position using frames classified by an associative memory
JP6569452B2 (ja) 画像生成システム、画像生成プログラム及び画像生成方法
KR20200005987A (ko) 터치입력을 이용한 인지장애 진단 시스템 및 방법
CN102693007A (zh) 姿势检测和识别
CN103827891A (zh) 使用全球生成的多维姿势数据检测身体运动的系统和方法
KR102466438B1 (ko) 인지 기능 평가 시스템 및 인지 기능 평가 방법
CN110069129A (zh) 确定系统和确定方法
KR20200039365A (ko) 전자 장치 및 이의 제어 방법
Hasan et al. Employment of ensemble machine learning methods for human activity Recognition
JP7071717B2 (ja) イベント系列抽出装置、イベント系列抽出方法およびイベント抽出プログラム
Eldib et al. Discovering activity patterns in office environment using a network of low-resolution visual sensors
Duan et al. Boss: A benchmark for human belief prediction in object-context scenarios
JP2013208681A (ja) インタラクション装置およびインタラクション制御プログラム
CN112699311A (zh) 信息推送方法、存储介质及电子设备
CN111798337A (zh) 餐饮企业的环境卫生监管方法、装置、设备及存储介质
JP6801902B1 (ja) 子供虐待兆候判別プログラム及びシステム
US20220188363A1 (en) Information processing apparatus, information processing method, and program
Zhao et al. Octree segmentation based calling gesture recognition for elderly care robot
Karanth et al. Modeling User Context from Smartphone Data for Recognition of Health Status
Faiyaz et al. Dominance of Deep LSTM in Smartphone Sensor based Human Activity Classification
KR20240082170A (ko) 인공지능 기반 여행 장소 별 여행 감성 특징을 결정하는 방법 및 장치
JP2021176079A (ja) 商品配置提案プログラム
Salehian A Pattern Recognition Framework for Embedded Systems

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant