KR101593315B1 - 행동 인식을 위한 방법, 장치 및 컴퓨터 프로그램 제품 - Google Patents

행동 인식을 위한 방법, 장치 및 컴퓨터 프로그램 제품 Download PDF

Info

Publication number
KR101593315B1
KR101593315B1 KR1020140099122A KR20140099122A KR101593315B1 KR 101593315 B1 KR101593315 B1 KR 101593315B1 KR 1020140099122 A KR1020140099122 A KR 1020140099122A KR 20140099122 A KR20140099122 A KR 20140099122A KR 101593315 B1 KR101593315 B1 KR 101593315B1
Authority
KR
South Korea
Prior art keywords
behavior
sampling
sampled data
data
error
Prior art date
Application number
KR1020140099122A
Other languages
English (en)
Other versions
KR20150016163A (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 KR20150016163A publication Critical patent/KR20150016163A/ko
Application granted granted Critical
Publication of KR101593315B1 publication Critical patent/KR101593315B1/ko

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3059Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
    • H03M7/3062Compressive sampling or sensing
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1123Discriminating type of movement, e.g. walking or running
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2134Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on separation criteria, e.g. independent component analysis
    • G06F18/21345Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on separation criteria, e.g. independent component analysis enforcing sparsity or involving a domain transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2218/00Aspects of pattern recognition specially adapted for signal processing
    • G06F2218/08Feature extraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2218/00Aspects of pattern recognition specially adapted for signal processing
    • G06F2218/12Classification; Matching

Abstract

예시적인 실시예에 따른, 방법, 장치 및 컴퓨터 프로그램 제품이 제공된다. 방법은, 장치에서, 상기 장치에 무선으로 연결된 하나 이상의 센서로부터 행동과 연관된 샘플링된 데이터를 수신하는 단계를 포함한다. 상기 샘플링된 데이터는 상기 행동과 연관된 행동 데이터의 압축 샘플링에 기초하여 상기 하나 이상의 센서에서 생성된다. 상기 압축 샘플링은 샘플링 정보에 기초하여 수행된다. 상기 행동은 적어도 상기 샘플링된 데이터에 기초하여 분류된다. 상기 행동의 분류와 연관된 에러가 판정된다. 상기 샘플링 정보는 상기 에러와 임계 에러의 비교에 기초하여 갱신되거나 유지된다. 갱신된 샘플링 정보는 갱신된 샘플링 데이터를 생성하기 위해 이용된다. 갱신된 샘플링된 데이터는 행동의 재분류를 가능하게 한다.

Description

행동 인식을 위한 방법, 장치 및 컴퓨터 프로그램 제품 {METHOD, APPARATUS AND COMPUTER PROGRAM PRODUCT FOR ACTIVITY RECOGNITION}
다양한 구현은 일반적으로, 행동 인식을 위한 방법, 장치 및 컴퓨터 프로그램 제품에 관한 것이다.
최근, 행동 인식과 같은 애플리케이션에 기초한 상황 인지에 관한 기술에서 상당한 성장이 있었다. 행동 인식은 인간 행동의 감지에 기초하여 사용자 필요를 식별하는 데 도움을 준다. 행동 인식의 애플리케이션은 헬스케어, 노인 보호, 가정 행동 등과 같은 다양한 실생활 인간 중심 문제/상황을 포함할 수 있다. 행동 인식을 통해 이러한 인간 중심 문제에 대한 신뢰성 있고, 비용 효과적이고 에너지 효율적인 솔루션을 제공하는 것이 바람직할 수 있다.
다양한 예시적인 실시예의 양태들이 청구항에서 개진된다.
제 1 양태에서, 장치에서, 상기 장치에 무선으로 연결된 하나 이상의 센서로부터 행동과 연관된 샘플링된 데이터를 수신하는 단계 - 상기 샘플링된 데이터는 상기 행동과 연관된 행동 데이터의 압축 샘플링에 기초하여 상기 하나 이상의 센서에서 생성되고, 상기 압축 샘플링은 샘플링 정보에 기초하여 수행됨 - ; 적어도 상기 샘플링된 데이터에 기초하여 상기 행동을 분류하는 단계; 상기 행동의 분류와 연관된 에러를 판정하는 단계; 및 상기 에러와 임계 에러의 비교에 기초하여 상기 샘플링 정보를 갱신하거나 유지하는 단계를 포함하는 방법이 제공된다.
제 2 양태에서, 센서에서, 상기 센서에 무선으로 연결된 장치로부터 샘플링 정보를 수신하는 단계; 적어도 상기 샘플링 정보 및 행동과 연관된 샘플링된 데이터를 생성하기 위한 샘플링 기준에 기초하여 상기 행동과 연관된 행동 데이터의 압축 샘플링을 수행하는 단계; 및 상기 행동의 분류를 가능하게 하기 위해 상기 샘플링된 데이터를 상기 장치에 송신하는 단계를 포함하는 방법이 제공된다.
제 3 양태에서, 적어도 하나의 프로세서; 및 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하는 장치가 제공되며, 적어도 하나의 메모리 및 컴퓨터 프로그램 코드는 적어도 하나의 프로세서와 함께 장치로 하여금 적어도 이하를 수행하게 하도록 구성된다: 장치에서, 상기 장치에 무선으로 연결된 하나 이상의 센서로부터 행동과 연관된 샘플링된 데이터를 수신하고 - 상기 샘플링된 데이터는 상기 행동과 연관된 행동 데이터의 압축 샘플링에 기초하여 상기 하나 이상의 센서에서 생성되고, 상기 압축 샘플링은 샘플링 정보에 기초하여 수행됨 - ; 적어도 상기 샘플링된 데이터에 기초하여 상기 행동을 분류하고; 상기 행동의 분류와 연관된 에러를 판정하고; 및 상기 에러와 임계 에러의 비교에 기초하여 상기 샘플링 정보를 갱신하거나 유지한다.
제 4 양태에서, 적어도 하나의 프로세서; 및 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하는 장치가 제공되며, 적어도 하나의 메모리 및 컴퓨터 프로그램 코드는 적어도 하나의 프로세서와 함께 장치로 하여금 적어도 이하를 수행하게 하도록 구성된다: 장치에서, 상기 장치에 무선으로 연결된 다른 장치로부터 샘플링 정보를 수신하고; 적어도 상기 샘플링 정보 및 행동과 연관된 샘플링된 데이터를 생성하기 위한 샘플링 기준에 기초하여 상기 행동과 연관된 행동 데이터의 압축 샘플링을 수행하고; 및 상기 행동의 분류를 가능하게 하기 위해 상기 샘플링된 데이터를 상기 다른 장치에 송신한다.
제 5 양태에서, 적어도 하나의 컴퓨터 판독가능 저장 매체를 포함하는 컴퓨터 프로그램 제품이 제공되며, 컴퓨터 판독가능 저장 매체는 명령 세트를 포함하며, 상기 명령 세트는 하나 이상의 프로세서에 의해 실행될 때 장치로 하여금 적어도 이하를 수행하도록 한다: 장치에서, 상기 장치에 무선으로 연결된 하나 이상의 센서로부터 행동과 연관된 샘플링된 데이터를 수신하고 - 상기 샘플링된 데이터는 상기 행동과 연관된 행동 데이터의 압축 샘플링에 기초하여 상기 하나 이상의 센서에서 생성되고, 상기 압축 샘플링은 샘플링 정보에 기초하여 수행됨 - ; 적어도 상기 샘플링된 데이터에 기초하여 상기 행동을 분류하고; 상기 행동의 분류와 연관된 에러를 판정하고; 및 상기 에러와 임계 에러의 비교에 기초하여 상기 샘플링 정보를 갱신하거나 유지한다.
제 6 양태에서, 적어도 하나의 컴퓨터 판독가능 저장 매체를 포함하는 컴퓨터 프로그램 제품이 제공되며, 컴퓨터 판독가능 저장 매체는 명령 세트를 포함하며, 상기 명령 세트는 하나 이상의 프로세서에 의해 실행될 때 장치로 하여금 적어도 이하를 수행하도록 한다: 장치에서, 상기 장치에 무선으로 연결된 다른 장치로부터 샘플링 정보를 수신하고; 적어도 상기 샘플링 정보 및 행동과 연관된 샘플링된 데이터를 생성하기 위한 샘플링 기준에 기초하여 상기 행동과 연관된 행동 데이터의 압축 샘플링을 수행하고; 및 상기 행동의 분류를 가능하게 하기 위해 상기 샘플링된 데이터를 상기 다른 장치에 송신한다.
제 7 양태에서, 장치에서, 상기 장치에 무선으로 연결된 하나 이상의 센서로부터 행동과 연관된 샘플링된 데이터를 수신하는 수단 - 상기 샘플링된 데이터는 상기 행동과 연관된 행동 데이터의 압축 샘플링에 기초하여 상기 하나 이상의 센서에서 생성되고, 상기 압축 샘플링은 샘플링 정보에 기초하여 수행됨 - ; 적어도 상기 샘플링된 데이터에 기초하여 상기 행동을 분류하는 수단; 상기 행동의 분류와 연관된 에러를 판정하는 수단; 및 상기 에러와 임계 에러의 비교에 기초하여 상기 샘플링 정보를 갱신하거나 유지하는 수단을 포함하는 장치가 제공된다.
제 8 양태에서, 장치에서, 상기 장치에 무선으로 연결된 다른 장치로부터 샘플링 정보를 수신하는 수단; 적어도 상기 샘플링 정보 및 행동과 연관된 샘플링된 데이터를 생성하기 위한 샘플링 기준에 기초하여 상기 행동과 연관된 행동 데이터의 압축 샘플링을 수행하는 수단; 및 상기 행동의 분류를 가능하게 하기 위해 상기 샘플링된 데이터를 상기 다른 장치에 송신하는 수단을 포함하는 장치가 제공된다.
다양한 실시예들은 한정적인 방식이 아니라 예시의 방식으로 설명되며, 첨부 도면의 도는 이하와 같다.
도 1은 예시적인 실시예에 따른 행동 인식을 위한 예시적인 시스템을 나타내는 도면.
도 2는 예시적인 실시예에 따른 디바이스를 나타내는 도면.
도 3은 예시적인 실시예에 따른 행동 인식을 위한 장치를 나타내는 도면.
도 4는 다른 예시적인 실시예에 따른 행동 인식을 위한 다른 장치를 나타내는 도면.
도 5는 예시적인 실시예에 따른, 행동 인식과 연관된 행동 데이터의 압축 샘플링의 예를 나타내는 도면.
도 6은 실시예에 따른 샘플링된 데이터의 송신 시퀀스를 나타내는 도면.
도 7은 예시적인 실시예에 따른, 행동 인식을 위한 예시적인 방법을 도시하는 흐름도.
도 8은 다른 예시적인 실시예에 따른, 행동 인식을 위한 예시적인 방법을 도시하는 흐름도.
도 9는 또 다른 예시적인 실시예에 따른, 행동 인식을 위한 예시적인 방법을 도시하는 흐름도.
예시적인 실시예 및 그 잠재적인 효과는 도면 중 도 1 내지 9를 참조함으로써 이해된다.
도 1은 예시적인 실시예에 따른 행동 인식을 수행하기 위한 예시적인 시스템(100)을 나타낸다. 예시적인 실시예에서, 시스템(100)은 예를 들어 인간 행동인 행동과 연관된 행동 데이터의 감지에 기초하여 행동 인식을 가능하게 하도록 구성될 수 있다. 특히, 행동 인식의 목적은, 이에 기초하여 다양한 판정이 이루어질 수 있는 소정의 설정에서의 하나 이상의 센서를 통해 취득될 수 있는 행동 데이터로부터 인간 행위를 추론하는 것이다. 예시적인 실시예에서, 사용자 행동에 대한 정보는 행동 의존 사용자 경험을 제공하기 위하여 이용될 수 있다. 예를 들어, 행동 인식에 기초하여, 사용자가 달리고 있는 것으로 판정된다면, 행동 인식 센서와 연결된 디바이스의 UI(user interface)는 더욱 액세스가능한 포맷으로 조정될 수 있다.
도 1에 나타낸 바와 같이, 시스템(100)은 디바이스, 예를 들어 디바이스(108)에 통신가능하게 연결된 하나 이상의 센서, 예를 들어 센서(102, 104, 106)를 포함한다. 실시예에서, 디바이스(108)는 하나 이상의 센서와 통신할 수 있는 임의의 종류의 장비일 수 있다. 실시예에서, 디바이스는 스마트폰, 랩톱, 모바일 폰, PDA(personal digital assistant) 등일 수 있다. 실시예에서, 하나 이상의 센서가 통신 경로를 통해 디바이스에 연결될 수 있다. 실시예에서, 통신 경로는 무선 링크, 예를 들어 무선 링크(110)일 수 있다. 실시예에서, 무선 링크(110)는 무선 통신 네트워크의 라디오 링크 액세스 네트워크를 포함할 수 있다. 무선 통신 네트워크의 예들은 셀룰러 통신 네트워크를 포함할 수 있지만 이에 한정되지는 않는다. 통신 경로는 무선 통신 네트워크의 다른 요소 및 무선 통신 네트워크가 연결되는 유선 통신 네트워크의 요소도 추가적으로 포함할 수 있다.
하나 이상의 센서가 인간 행동과 연관된 행동 데이터를 취득하도록 구성될 수 있다. 예시적인 실시예에서, 행동 데이터는 행동, 예를 들어 모션, 온도, 위치 등과 연관된 측정 데이터를 포함할 수 있다. 실시예에서, 하나 이상의 센서가 행동 데이터를 샘플링하고 응답하여 샘플링된 데이터를 생성하도록 구성될 수 있다. 실시예에서, 샘플링된 데이터는 랜덤 베이시스 벡터를 사용하여 행동 데이터에 대한 압축 샘플링을 수행함으로써 생성될 수 있다.
여기에서 사용되는 압축 샘플링/감지는 데이터 압축 및 복구를 가능하게 한다. 압축 감지 이론에 따르면, 원래 신호가 많은 수의 제로 또는 거의 제로값 및 적은 수의 논-제로값으로서 표현될 수 있으면, 신호는 "희소"한 것으로 칭해진다. 압축 감지는 다수의 자연 신호가 희소하거나 압축가능하고, 이와 같이 이러한 신호는 적절한 베이시스로 표현될 때 축약된 표현을 갖는다는 사실을 이용한다. 희소한 베이시스에 대해 "인코히런트"인 베이시스에서 Nyquist 주파수 아래의 레이트에서의 샘플링은 모든 관련 데이터를 수집하는 것을 가능하게 하고 원래 신호의 복구를 허용한다. 이와 같이, 압축 감지는 하나 이상의 센서에 의해 샘플링되고 있는 행동 데이터의 양을 감소시키는 것을 가능하게 하고, 이에 의해 하나 이상의 센서에서의 연산 요건을 감소시킨다. 하나 이상의 센서에 의해 생성되고 있는 샘플링된 데이터는 이하에서 샘플링된 데이터로 칭해질 수 있다. 이와 같이, '샘플링된 데이터' 및 '압축 샘플링된 데이터'라는 용어는 설명 전체에서 교환가능하게 사용될 수 있다.
실시예에서, 하나 이상의 센서에 의해 생성된 샘플링된 데이터는 디바이스(108)에 송신될 수 있다. 실시예에서, 샘플링된 데이터는 링크(110)와 같은 무선 링크를 통해 디바이스(108)에 송신될 수 있다. 하나 이상의 센서로부터 수신된 샘플링된 데이터에 기초하여, 디바이스(108)는 사용자의 "행동"을 분류하고 행동에 라벨을 할당한다. 실시예에서, 행동이라는 용어는 달리기, 걷기, 계단 오르기 또는 내리기, 조깅, 요리, 냉장고 열기 등과 같은 다양한 예를 포함할 수 있다. 일반적으로, 사용자에 의한 액션 및/또는 운동을 묘사하는 임의의 조건이 행동으로 칭해질 수 있고, 그에 따라 인용된 예들은 본 발명을 한정하는 것으로 해석되어서는 안된다.
실시예에서, 샘플링된 데이터는 샘플링된 데이터의 압축 해제를 수행하지 않고 분류를 수행하는 데 직접 이용될 수 있다. 분류 전에 샘플링된 데이터를 압축해제할 필요성의 배제는 디바이스(108)의 연산 프로세싱 및 전력 요건을 낮추는 데 유리하다. 또한, 데이터가 하나 이상의 센서에서 압축 샘플링되므로, 경제적으로 송신되고 디바이스 상에 저장될 수 있다.
실시예에서, 행동과 연관된 정보는 행동 의존 사용자 경험을 제공하는 데 사용될 수 있다. 예를 들어, 사용자가 달리고 있는 것으로 고려된다면, 디바이스(108)의 사용자 인터페이스는 사용자에 의해 용이하게 액세스될 수 있는 포맷으로 조정할 수 있다. 예시적인 실시예에서, 단지 선택된 하나 이상의 센서가 사용자의 행동과 연관된 각각의 행동 데이터를 샘플링할 수 있고, 각각의 샘플링된 데이터를 디바이스(108)에 송신할 수 있다. 대안적인 예시적인 실시예에서, 디바이스(108)에 연결된 복수의 센서가 각각의 행동 데이터를 샘플링할 수 있고 각각의 샘플링된 데이터를 디바이스(108)에 송신할 수 있다. 여기에서 하나 이상의 센서(또는 복수의 센서)는 상이한 물리량을 감지하도록 구성되는 다양한 별개의 센서를 칭한다는 것이 이해될 것이다. 실시예에서, 디바이스(108)로 대응하는 샘플링된 데이터를 송신하도록 구성되는 하나 이상의 센서는 동기화되어 동작할 수 있다. 예를 들어, 복수의 센서가 데이터의 감지 및 수집을 위해 동작하고 있는 경우에, 복수의 센서의 타이밍은 동기화될 수 있다.
도 2는 예시적인 실시예에 따른 디바이스(200)를 나타낸다. 실시예에서, 디바이스(200)는 디바이스(108)(도 1 참조)의 예일 수 있다. 하지만, 이하 설명되고 나타내어지는 디바이스(200)는 다양한 실시예로부터 혜택을 받을 수 있는 디바이스 중 임의의 유형을 단지 나타내는 것이라는 것이 이해되어야 하며, 실시예의 범위를 한정하는 것으로 이해되어서는 안된다. 이와 같이, 디바이스(200)와 함께 후술하는 컴포넌트의 적어도 일부는 선택적이고 그에 따라 예시적인 실시예에서 도 2의 예시적인 실시예와 함께 설명되는 것보다 많거나, 적거나 다른 컴포넌트를 포함할 수 있다는 것이 이해되어야 한다. 디바이스(200)는 다수의 유형의 모바일 전자 디바이스, 예를 들어 PDA(portable digital assistant), 페이저, 모바일 텔레비전, 게이밍 디바이스, 셀룰러 폰, 모든 유형의 컴퓨터(예를 들어, 랩톱, 모바일 컴퓨터 또는 데스크톱), 카메라, 오디오/비디오 플레이어, 라디오, GPS(global positioning system) 디바이스, 미디어 플레이어, 모바일 디지털 보조기기 또는 상술한 것의 임의의 조합 및 다른 유형의 통신 디바이스 중 임의의 것일 수 있다.
디바이스(200)는 송신기(204) 및 수신기(206)와 통신하며 동작가능한 안테나(202)(복수의 안테나)를 포함할 수 있다. 디바이스(200)는 송신기(204) 및 수신기(206)로 각각 신호를 제공하고 이로부터 신호를 수신하는 컨트롤러(208) 또는 다른 프로세싱 디바이스와 같은 장치를 더 포함할 수 있다. 신호는 적용가능한 셀룰러 시스템의 무선 인터페이스 표준에 다른 시그널링 정보를 포함할 수 있고/있거나 사용자 음성에 대응하는 데이터, 수신된 데이터 및/또는 사용자 생성 데이터도 포함할 수 있다. 이에 대해, 디바이스(200)는 하나 이상의 무선 인터페이스 표준, 통신 프로토콜, 변조 유형 및 액세스 유형으로 동작가능할 수 있다. 예시의 방식으로, 디바이스(200)는 다수의 제 1, 제 2, 제 3 및/또는 제 4 생성 통신 프로토콜 등 중에서 임의의 것에 따라 동작가능할 수 있다. 예를 들어, 디바이스(200)는 2G(second-generation) 무선 통신 프로토콜 IS-136(TDMA(time division multiple access)), GSM(global system for mobile communication) 및 IS-95(CDMA(code division multiple access))에 따르거나, UMTS(Universal Mobile Telecommunication System), CDMA1000, WCDMA(wideband CDMA) 및 TD-SCDMA(time division-synchronous CDMA)와 같은 3G(third-generation) 무선 통신 프로토콜에 따르거나, E-UTRAN(evolved- universal terrestrial radio access network)와 같은 3.9G 무선 통신 프로토콜에 따르거나 4G(fourth-generation) 무선 통신 프로토콜 등에 따라 동작가능할 수 있다. 대안적으로(또는 추가적으로), 디바이스(200)는 논-셀룰러 통신 메커니즘에 따라 동작가능할 수 있다. 예를 들어, Internet, 근거리 통신망, 광대역 통신망 등과 같은 컴퓨터 네트워크, Bluetooth® 네트워크, Zigbee® 네트워크, IEEE(Institute of Electric and Electronic Engineers) 802.11x 네트워크 등과 같은 단거리 무선 통신 네트워크; PSTN(public switched telephone network)과 같은 유선 원격통신 네트워크.
컨트롤러(208)는 그 중에서도 디바이스(200)의 오디오 및 논리 기능을 구현하는 회로를 포함할 수 있다. 예를 들어, 컨트롤러(208)는, 하나 이상의 디지털 신호 프로세서 디바이스, 하나 이상의 마이크로프로세서 디바이스, 디지털 신호 프로세서(들)를 수반하는 하나 이상의 프로세서(들), 수반되는 디지털 신호 프로세서(들)가 없는 하나 이상의 프로세서(들), 하나 이상의 특수 목적 컴퓨터 칩, 하나 이상의 FPGA(field-programmable gate array), 하나 이상의 컨트롤러, 하나 이상의 ASIC(application-specific integrated circuit), 하나 이상의 컴퓨터(들), 다양한 아날로그 대 디지털 컨버터, 디지털 대 아날로그 컨버터, 및/또는 다른 지원 회로를 포함할 수 있지만 이에 한정되는 것은 아니다. 디바이스(200)의 컨트롤 및 신호 프로세싱 기능은 이들의 각각의 기능에 따라 이러한 디바이스들 간에 할당된다. 따라서, 컨트롤러(208)는 또한 변조 및 송신 전에 메시지 및 데이터를 콘볼루션 인코딩하고 인터리빙하는 기능을 포함할 수 있다. 컨트롤러(208)는 추가적으로 내부 보이스 코더를 포함할 수 있고, 내부 데이터 모뎀을 포함할 수 있다. 또한, 컨트롤러(208)는 메모리에 저장될 수 있는 하나 이상의 소프트웨어 프로그램을 동작시키는 기능을 포함할 수 있다. 예를 들어, 컨트롤러(208)는 통상적인 Web 브라우저와 같은 접속 프로그램을 동작시키는 것이 가능할 수 있다. 그러면 접속 프로그램은, 디바이스(200)가 WAP(Wireless Application Protocol), HTTP(Hypertext Transfer Protocol) 및/또는 등에 따라, 위치 기반 컨텐츠 및/또는 다른 웹 페이지 컨텐츠와 같은 Web 컨텐츠를 송신 및 수신하게 할 수 있다. 예시적인 실시예에서, 컨트롤러(108)는 듀얼 또는 쿼드 코어 프로세서와 같은 멀티 코어 프로세서로서 구현될 수 있다. 하지만, 임의의 수의 프로세서가 컨트롤러(108)에 포함될 수 있다.
또한, 디바이스(200)는 링거(ringer)(210), 이어폰 또는 스피커(212), 마이크로폰(214), 디스플레이(216)를 포함하는 사용자 인터페이스, 및 컨트롤러(208)에 연결될 수 있는 사용자 입력 인터페이스를 포함할 수 있다. 디바이스(200)가 데이터를 수신할 수 있게 하는 사용자 입력 인터페이스는 키패드(218), 터치 디스플레이, 마이크로폰 또는 다른 입력 디바이스와 같은, 디바이스(200)가 데이터를 수신할 수 있게 하는 다수의 디바이스 중 임의의 것을 포함할 수 있다. 키패드(218)를 포함하는 실시예에서, 키패드(218)는 숫자(0-9) 및 관련 키(#, *), 및 디바이스(200)를 동작시키는 데 사용되는 다른 하드 및 소프트 키를 포함할 수 있다. 대안적으로 또는 추가적으로, 키패드(218)는 통상적인 QWERTY 키패드 배치를 포함할 수 있다. 키패드(218)는 또한 기능과 연관된 다양한 소프트 키를 포함할 수 있다. 추가적으로 또는 대안적으로, 디바이스(200)는 조이스틱 또는 다른 사용자 입력 인터페이스와 같은 인터페이스 디바이스를 포함할 수 있다. 디바이스(200)는 또한 검출가능한 출력으로서 선택적으로 기계적 진동을 제공하는 것뿐만 아니라 디바이스(200)를 동작시키는 데 사용되는 다양한 회로에 전원을 공급하기 위한, 진동 배터리 팩과 같은 배터리(220)를 포함한다.
예시적인 실시예에서, 디바이스(200)는 컨트롤러(108)와 통신하는, 카메라, 비디오 및/또는 오디오 모듈과 같은 미디어 캡쳐링 요소를 포함한다. 미디어 캡쳐링 요소는 저장, 디스플레이 또는 송신을 위한 이미지, 비디오 및/또는 오디오를 캡쳐하기 위한 임의의 수단일 수 있다. 예시적인 실시예에서, 미디어 캡쳐링 요소는 캡쳐된 이미지로부터 디지털 이미지 파일을 형성할 수 있는 디지털 카메라를 포함할 수 있는 카메라 모듈(222)이다. 이와 같이, 카메라 모듈(222)은 렌즈 또는 다른 광 컴포넌트(들)와 같은 모든 하드웨어 및 캡쳐된 이미지로부터 디지털 이미지 파일을 생성하기 위한 소프트웨어를 포함한다. 대안적으로 또는 추가적으로, 카메라 모듈(222)은 이미지를 뷰잉하는 데 필요한 하드웨어를 포함할 수 있으며, 디바이스(100)의 메모리 디바이스는 캡쳐된 이미지로부터 디지털 이미지 파일을 생성하기 위해 소프트웨어의 유형으로 컨트롤러(208)에 의해 실행되는 명령을 저장한다. 예시적인 실시예에서, 카메라 모듈(222)은 이미지 데이터를 프로세싱하는 데 있어서 컨트롤러(208)를 지원하고 이미지 데이터를 압축 및/또는 압축해제하기 위한 인코더 및/또는 디코더를 지원하는 코 프로세서와 같은 프로세싱 요소를 추가로 포함할 수 있다. 인코더 및/또는 디코더는 JPEG 표준 포맷 또는 다른 유사한 포맷에 따라 인코딩 및/또는 디코딩할 수 있다. 비디오에 있어서, 인코더 및/또는 디코더는 예를 들어, H.261, H.262/MPEG-2, H.263, H.264, H.264/MPEG-4, MPEG-4 등과 연관된 표준과 같은 임의의 복수의 표준 포맷을 채용할 수 있다. 일부 경우에, 카메라 모듈(222)은 라이브 이미지 데이터를 디스플레이(216)에 제공할 수 있다. 예시적인 실시예에서, 디스플레이(216)는 디바이스(200)의 일측에 위치될 수 있고, 카메라 모듈(222)은, 카메라 모듈(222)이 디바이스(200)의 일측에서 이미지를 캡쳐할 수 있게 하고 디바이스(200)의 다른 측에 위치된 사용자에게 이러한 이미지의 뷰를 제시할 수 있도록 디스플레이(216)에 대하여 디바이스(200)의 반대측에 위치된 렌즈를 포함할 수 있다.
디바이스(200)는 UIM(user identity module)(224)을 추가로 포함할 수 있다. UIM(224)은 내장 프로세서를 갖는 메모리 디바이스일 수 있다. UIM(224)은 예를 들어, SIM(subscriber identity module), UICC(universal integrated circuit card), USIM(universal subscriber identity module), R-UIM(removable user identity module) 또는 임의의 다른 스마트 카드를 포함할 수 있다. UIM(224)은 전형적으로 모바일 가입자와 연관된 정보 요소를 저장한다. UIM(224)에 추가하여, 디바이스(200)에는 메모리가 장착될 수 있다. 예를 들어, 디바이스(200)는 일시적인 데이터 저장을 위한 캐시 영역을 포함하는 휘발성 RAM(random access memory)과 같은 휘발성 메모리(226)를 포함할 수 있다. 또한, 디바이스(200)는 삽입될 수 있고/있거나 제거될 수 있는 다른 비휘발성 메모리(228)를 포함할 수 있다. 비휘발성 메모리(228)는 추가적으로 또는 대안적으로 EEPROM(electrically erasable programmable read only memory), 플래시 메모리, 하드 드라이브 등을 포함할 수 있다. 메모리는 디바이스(200)의 기능을 구현하기 위해 디바이스(200)에 의해 사용되는 정보 및 데이터의 임의의 수의 단편을 저장할 수 있다.
도 3은 예시적인 실시예에 따른 행동 인식을 위한 장치(300)를 나타낸다. 행동 인식을 위한 장치(300)는 예를 들어 도 2의 디바이스(200)에서 채용될 수 있다. 하지만, 장치(300)는 모바일 및 고정형 양쪽의 다양한 다른 디바이스 상에도 채용될 수 있다는 것에 유의해야 하고, 따라서 실시예는 도 2의 디바이스(200)와 같은 디바이스 상의 애플리케이션에 한정되어서는 안된다. 대안적으로, 실시예는 예를 들어 위에 열거한 것들을 포함하는 디바이스의 조합에 대해 채용될 수 있다. 다양한 실시예는 단일 디바이스(예를 들어, 디바이스(200))에서 전체로 구현될 수 있다. 또한, 후술하는 디바이스 또는 요소의 일부는 강제적이지 않을 수 있으므로 일부는 특정 실시예에서 생략될 수 있다는 것에 유의해야 한다.
실시예에서, 장치(300)는 적어도 하나의 프로세서(302) 및 적어도 하나의 메모리(304)를 포함하거나 아니면 이와 통신한다. 적어도 하나의 메모리(304)의 예는 휘발성 및/또는 비휘발성 메모리를 포함하지만 이에 한정되는 것은 아니다. 휘발성 메모리의 일부 예는, 랜덤 액세스 메모리, 동적 랜덤 액세스 메모리, 정적 랜덤 액세스 메모리 등을 포함하지만 이에 한정되는 것은 아니다. 비휘발성 메모리의 일부 예는, 하드 디스크, 자기 테이프, 광 디스크, 프로그램가능 판독 전용 메모리, 소거가능 프로그램가능 판독 전용 메모리, 전기적으로 소거가능 프로그램가능 판독 전용 메모리, 플래시 메모리 등을 포함하지만 이에 한정되는 것은 아니다. 메모리(304)는, 장치(300)가 다양한 예시적인 실시예에 따른 다양한 기능을 수행할 수 있게 하는, 정보, 데이터, 애플리케이션, 명령 등을 저장하도록 구성될 수 있다. 예를 들어, 메모리(304)는 프로세서(302)에 의한 프로세싱을 위한 베이시스 정보 및 선택 정보를 포함하는 샘플링 정보를 버퍼링하도록 구성될 수 있다. 추가적으로 또는 대안적으로, 메모리(304)는 프로세서(302)에 의한 실행을 위한 명령을 저장하도록 구성될 수 있다.
프로세서(302)의 예는 컨트롤러(308)를 포함할 수 있다. 프로세서(302)는 다수의 상이한 방식으로 구현될 수 있다. 프로세서(302)는, 멀티 코어 프로세서, 단일 코어 프로세서, 또는 멀티 코어 프로세서와 단일 코어 프로세서의 조합으로 구현될 수 있다. 예를 들어, 프로세서(302)는 코 프로세서, 마이크로프로세서, 컨트롤러, DSP(digital signal processor), 수반되는 DSP가 있거나 없는 프로세싱 회로, 또는 예를 들어 ASIC(application specific integrated circuit), FPGA(field programmable gate array), MCU(microcontroller unit), 하드웨어 가속기, 특수 목적 컴퓨터 칩 등과 같은 집적 회로를 포함하는 다양한 다른 프로세싱 디바이스와 같은 하나 이상의 다양한 프로세싱 수단으로서 구현될 수 있다. 예시적인 실시예에서, 멀티 코어 프로세서는 메모리(304)에 저장되거나 아니면 프로세서(302)에 액세스가능한 명령을 실행하도록 구성될 수 있다. 대안적으로 또는 추가적으로, 프로세서(302)는 하드 코딩된 기능을 실행하도록 구성될 수 있다. 이와 같이, 하드웨어 또는 소프트웨어 방법, 또는 그 조합으로 구성되든지, 프로세서(302)는 그에 따라 구성되면서 다양한 실시예에 따른 동작을 수행할 수 있는, 예를 들어 회로에 물리적으로 구현된 엔티티를 나타낼 수 있다. 예를 들어, 프로세서(302)가 ASIC, FPGA 등 중 하나 이상으로서 구현된다면, 프로세서(302)는 여기에 설명된 동작을 수행하기 위한 특수하게 구성된 하드웨어일 수 있다. 대안적으로, 다른 예로서, 프로세서(302)가 소프트웨어 명령의 실행기로서 구현된다면, 명령은, 명령이 실행될 때 프로세서(302)가 여기에 설명된 알고리즘 및/또는 동작을 수행하도록 특수하게 구성할 수 있다. 하지만, 일부 경우에, 프로세서(302)는 예를 들어, 여기에 설명된 알고리즘 및/또는 동작을 수행하기 위한 명령에 의해 추가적인 프로세서(302)의 구성에 의해 실시예를 채용하도록 구성된 모바일 단말 또는 네트워크 디바이스인 특정 디바이스의 프로세서일 수 있다. 프로세서(302)는 그 중에서, 프로세서(302)의 동작을 지원하도록 구성된 클럭, ALU(arithmetic logic unit) 및 논리 게이트를 포함할 수 있다.
사용자 인터페이스(306)는 프로세서(302)와 통신할 수 있다. 사용자 인터페이스(306)의 예는 입력 인터페이스 및/또는 출력 사용자 인터페이스를 포함하지만 이에 한정되는 것은 아니다. 입력 인터페이스는 사용자 입력의 표시를 수신하도록 구성된다. 출력 사용자 인터페이스는 가청의, 시각적인, 기계적인 또는 다른 출력 및/또는 피드백을 사용자에게 제공한다. 입력 인터페이스의 예는 키보드, 마우스, 조이스틱, 키패드, 터치 스크린, 소프트 키 등을 포함할 수 있지만 이에 한정되지는 않는다. 출력 인터페이스의 예는 발광 다이오드 디스플레이, TFT(thin-film transistor) 디스플레이, 액정 디스플레이, AMOLED(active-matrix organic light-emitting diode) 디스플레이와 같은 디스플레이, 마이크로폰, 스피커, 링거, 진동체 등을 포함할 수 있지만 이에 한정되는 것은 아니다. 예시적인 실시예에서, 사용자 인터페이스(306)는 다른 디바이스 또는 요소 중에서, 스피커, 마이크로폰, 디스플레이 및 키보드, 터치 스크린 등 중 임의의 것 또는 전부를 포함할 수 있다. 이에 대하여, 프로세서(302)는 예를 들어 스피커, 링커, 마이크로폰, 디스플레이 및/또는 등과 같은 사용자 인터페이스(306)의 하나 이상의 요소의 적어도 일부 기능을 제어하도록 구성된 사용자 인터페이스 회로를 포함할 수 있다. 프로세서(302) 및/또는 프로세서(302)를 포함하는 사용자 인터페이스 회로는 프로세서(302)에 액세스가능한 예를 들어 적어도 하나의 메모리(304)인 메모리에 저장된 예를 들어 소프트웨어 및/또는 펌웨어인 컴퓨터 프로그램 명령을 통해 사용자 인터페이스(306)의 하나 이상의 요소의 하나 이상의 기능을 제어하도록 구성될 수 있다.
예시적인 실시예에서, 장치(300)는 전자 디바이스를 포함할 수 있다. 전자 디바이스의 일부 예들은 통신 디바이스, 미디어 캡쳐링 디바이스, 통신 기능을 갖는 미디어 캡쳐링 디바이스, 컴퓨팅 디바이스 등을 포함한다. 통신 디바이스의 일부 예는 모바일 폰, PDA(personal digital assistant) 등을 포함할 수 있다. 컴퓨팅 디바이스의 일부 예는 랩톱, 퍼스널 컴퓨터 등을 포함할 수 있다. 예시적인 실시예에서, 전자 디바이스는 디스플레이의 사용을 통해 전자 디바이스의 적어도 하나의 기능을 사용자가 제어하는 것을 가능하게 하도록 구성되고 사용자 입력에 응답하도록 추가적으로 구성되는 사용자 인터페이스 회로 및 사용자 인터페이스 소프트웨어를 갖는, 예를 들어 UI(206)인 사용자 인터페이스를 포함할 수 있다. 예시적인 실시예에서, 전자 디바이스는 전자 디바이스의 사용자 인터페이스의 적어도 일부를 디스플레이하도록 구성된 디스플레이 회로를 포함할 수 있다. 디스플레이 및 디스플레이 회로는 전자 디바이스의 적어도 하나의 기능을 사용자가 제어하는 것을 가능하게 하도록 구성될 수 있다.
예시적인 실시예에서, 전자 디바이스는 트랜시버를 포함하도록 구성될 수 있다. 트랜시버는 소프트웨어에 따라, 또는 이와 다르게 하드웨어에 구현되거나 하드웨어와 소프트웨어의 조합으로 동작하는 임의의 디바이스 또는 이에 따라 동작하는 회로일 수 있다. 예를 들어, 소프트웨어 제어 하에서 동작하는 프로세서(302), 또는 여기에 설명된 동작을 수행하도록 특수하게 구성된 ASIC 또는 FPGA로 구현된 프로세서(302) 또는 그 조합은 그에 의해 트랜시버의 기능을 수행하도록 장치 또는 회로를 구성한다. 트랜시버는 하나 이상의 센서로부터 샘플링된 데이터를 수신하도록 구성될 수 있다.
이러한 컴포넌트(302-306)는 집중 회로 시스템(308)을 통해 서로 통신할 수 있다. 집중 회로 시스템(308)은 그 중에서 장치(300)의 컴포넌트(302-306) 사이의 통신을 제공하거나 가능하게 하도록 구성될 수 있다. 특정 실시예에서, 집중 회로 시스템(308)은 마더보드, 메인 보드, 시스템 보드 또는 논리 보드와 같은 중앙 PCB(printed circuit board)일 수 있다. 또한, 집중 회로 시스템(308) 또는 대안적으로 다른 PCA(printed circuit assembly) 또는 통신 채널 미디어를 포함할 수 있다.
예시적인 실시예에서, 메모리(304)의 컨텐츠와 함께, 선택적으로 여기에 설명되는 다른 컴포넌트와 함께, 프로세서(302)는 장치(300)가 행동에 대한 행동 인식을 수행하게 하도록 구성된다. 예시적인 실시예에서, 행동은 인간 행동일 수 있다. 예를 들어, 행동은 걷기, 조깅, 달리기, 오르기, 내리기 등일 수 있다. 다양한 다른 실세계 행동이 본 발명의 범위를 제한하지 않고 장치(300)에 의해 인식될 수 있다.
예시적인 실시예에서, 메모리(304)의 컨텐츠와 함께, 선택적으로 여기에 설명되는 다른 컴포넌트와 함께, 프로세서(302)는 장치(300)가 공간과 연관된 베이시스 행렬을 생성하게 하도록 구성된다. 실시예에서, 베이시스 행렬은 완전한 베이시스 행렬일 수 있다. 완전한 베이시스 행렬은 전체 공간에 이르도록 구성될 수 있어, 공간 상의 임의의 벡터가 베이시스의 n 벡터의 선형 조합으로 기재될 수 있다. 실시예에서, 완전한 베이시스 행렬의 사이즈는 조정가능할 수 있다. 실시예에서, 베이시스 행렬은 간격 [-1, 1]에서 균등하게 분포된 랜덤 수를 제공하는 랜덤 수 생성기에 의해 생성될 수 있다. n 벡터의 세트를 완전한 베이시스로 만들기 위하여, 랜덤하게 생성된 벡터가 직교 정규화될 수 있다. 예시적인 실시예에서, 직교 정규화 랜덤 행렬은 QR 분해 방법에 기초하여 생성될 수 있으며, 행렬은 직교 행렬(Q)과 상위 삼각 행렬(R)의 곱으로 분해된다. 예시적인 실시예에서, 랜덤하게 생성된 벡터는 Gram-Schmidt 알고리즘에 기초하여 직교 정규화될 수 있다. 이러한 베이시스는 직교 스퀘어 행렬에 대응한다. 실시예에서, 프로세싱 수단은 완전한 베이시스의 행렬을 생성하도록 구성될 수 있다. 프로세싱 수단의 예들은 프로세서(302)를 포함할 수 있으며, 이는 컨트롤러(208)의 예일 수 있다.
예시적인 실시예에서, 메모리(304)의 컨텐츠와 함께, 선택적으로 여기에 설명되는 다른 컴포넌트와 함께, 프로세서(302)는 장치(300)가 하나 이상의 센서가 샘플링된 데이터를 생성하는 것을 가능하게 하기 위하여 하나 이상의 센서로 샘플링 정보를 송신하게 하도록 구성된다. 실시예에서, 샘플링 정보는 베이시스 행렬과 베이시스 행렬의 서브세트를 선택하기 위한 선택 정보를 포함한다. 베이시스 행렬의 서브세트는 샘플링된 데이터를 생성하기 위해 하나 이상의 센서에 의해 이용될 수 있는 베이시스 벡터의 세트를 포함할 수 있다. 실시예에서, 프로세싱 수단은 샘플링 정보를 하나 이상의 센서에 송신하도록 구성될 수 있다. 프로세싱 수단의 예는 프로세서(302)를 포함할 수 있으며, 이는 컨트롤러(208)의 예일 수 있다. 실시예에서, 샘플링 정보는 무선 링크를 통해 하나 이상의 센서에 송신될 수 있다.
실시예에서, 하나 이상의 센서는 베이시스 행렬을 수신하고 베이시스 행렬 및 선택 정보에 기초하여 행동 데이터를 프로세싱하도록 구성될 수 있다. 행동 데이터의 프로세싱에 기초하여, 하나 이상의 센서가 샘플링된 데이터를 생성하도록 구성될 수 있다. 실시예에서, 샘플링된 데이터는 행동 데이터의 압축 샘플링에 기초하여 생성될 수 있다. 샘플링된 데이터를 생성하기 위한 하나 이상의 센서의 설명 및 기능이 도 4 및 5를 참조하여 추가로 설명된다.
예시적인 실시예에서, 메모리(304)의 컨텐츠와 함께, 선택적으로 여기에 설명되는 다른 컴포넌트와 함께, 프로세서(302)는 장치(300)가 하나 이상의 센서로부터 행동과 연관된 샘플링된 데이터를 수신하게 하도록 구성된다. 실시예에서, 장치(300)는 샘플링된 데이터의 프레임이 수신될 때까지 샘플링된 데이터를 수신하도록 구성된다. 실시예에서, 프레임의 사이즈는 대략 0.1s-10s일 수 있다. 실시예에서, 복수의 센서가 장치(300)로 각각의 샘플링된 데이터를 송신하고 있다면, 복수의 센서로부터 수신된 샘플링된 데이터는 장치(300)에서의 그 각각의 수신의 시퀀스에서 배치될 수 있다. 하나 이상의 센서로부터 수신된 샘플링된 데이터의 배치에 대해 도 6을 참조하여 더욱 상세하게 설명한다.
실시예에서, 장치(300)는 하나 이상의 센서에 의해 송신된 샘플링된 데이터에 기초하여 행동을 분류하도록 구성된다. 실시예에서, 메모리(304)의 컨텐츠와 함께, 선택적으로 여기에 설명되는 다른 컴포넌트와 함께, 프로세서(302)는 장치(300)가 분류 룰을 샘플링된 데이터에 대해 적용하게 하도록 구성된다. 실시예에서, 감독된 학습에 대한 분류 룰/모델은 라벨링된 행동 데이터를 이용하여 트레이닝될 수 있다. 실시예에서, 라벨링된 행동 데이터는 랜덤 프로젝션을 수행하는 데 이용되는 샘플링 정보에 기초하여 생성될 수 있다. 실시예에서, 라벨을 갖는 트레이닝 세트는 하나 이상의 센서에서의 행동 데이터의 샘플링을 위해 이용되는 베이시스로 표현될 수 있다. 실시예에서, 분류 룰은 행동 데이터를 라벨링하기 위해 2차 판별 메커니즘, 지원 벡터 머신, 판정 트리, 신경망 및 Boltzmann 머신 메커니즘 중 하나를 이용할 수 있다.
다른 실시예에서, 예를 들어 행동 데이터의 압축 샘플링을 위해 이용되는 라벨인 트레이닝 세트의 라벨은, 임의의 불완전 베이시스의 트레이닝 세트를 연산하는 데 편리할 수 있도록 베이시스에서 (예를 들어, "팩토리 설정"으로서) 초기에 제공될 수 있다. 다른 실시예에서, 트레이닝 세트와 연관된 라벨은 다른 데이터로부터 추론될 수 있다. 예를 들어, 라벨은, 행동 데이터가 완전 베이시스에서 샘플링될 때 부분 행동 데이터에 대해 이용가능할 수 있다. 라벨은 포함된 추가 센서로 불완전(프로젝팅된) 데이터의 트레이닝 세트를 생성하는 데 사용될 수 있다. 또 다른 실시예에서, 라벨은 감독되지 않은 학습에 기초하여 취득될 수 있다. 예를 들어, 다양한 식별 클러스터(예를 들어, k-평균(means) 알고리즘)가 생성될 수 있고, 라벨은 사용자로부터 "문의(asking)" 정보에 의해 취득될 수 있다. 예를 들어, 모션 행동의 검출에 응답하여 "달리고 있었습니까?"와 같은 질의가 문의될 수 있다.
실시예에서, 프로세싱 수단은 샘플링된 데이터 및 분류 룰에 기초하여 행동을 분류하도록 구성될 수 있다. 프로세싱 수단의 예는 프로세서(302)를 포함할 수 있으며, 이는 컨트롤러(208)의 예일 수 있다. 행동 데이터의 분류는 출력되는 행동 클래스(예를 들어, 달리기, 앉기, 걷기 등)를 제공할 수 있다. 여기에서 샘플링된 데이터를 분해하는 대신 샘플링된 데이터가 분류의 목적을 위해 직접 이용될 수 있다는 것이 이해될 것이다. (분해 없이) 샘플링된 데이터를 직접 이용하는 것의 이점은 데이터의 압축 해제와 연관된 연산력이 감소된다는 것이다.
실시예에서, 메모리(304)의 컨텐츠와 함께, 선택적으로 여기에 설명되는 다른 컴포넌트와 함께, 프로세서(302)는 장치(300)가 행동이 분류되는 제 1 라벨을 저장하게 하도록 구성된다. 실시예에서, 메모리 수단은 제 1 라벨을 저장하도록 구성될 수 있다. 프로세싱 수단의 예는 메모리 수단(304)을 포함할 수 있으며, 이는 비휘발성 메모리(228)의 예일 수 있다.
실시예에서, 분류의 출력은, 행동 데이터가 하나 이상의 센서에 의해 취득될 때 행동 데이터의 측정에서의 노이즈의 존재로 인해 에러를 포함할 수 있다. 실시예에서, 샘플링된 데이터의 에러는 부정확한 라벨로의 행동의 분류로 유도될 수 있다. 실시예에서, 메모리(304)의 컨텐츠와 함께, 선택적으로 여기에 설명되는 다른 컴포넌트와 함께, 프로세서(302)는 장치(300)가 행동 데이터의 분류와 연관된 에러를 판정하게 하도록 구성된다. 실시예에서, 사용자에 의해 수행되는 행동은 매우 짧은 시간 스케일(예들 들어, 초) 동안 실질적인 변동을 경험하지 않으므로, 분류 출력의 출력에서의 변화가 분류에서의 임의의 에러의 검출을 위해 이용될 수 있다. 실시예에서, 프로세싱 수단은 샘플링된 데이터와 연관된 에러를 판정하도록 구성될 수 있다. 프로세싱 수단의 예는 프로세서(302)를 포함할 수 있으며, 이는 컨트롤러(208)의 예일 수 있다.
실시예에서, 메모리(304)의 컨텐츠와 함께, 선택적으로 여기에 설명되는 다른 컴포넌트와 함께, 프로세서(302)는 장치(300)가 분류의 출력에 대한 에러 보정을 적용하게 하도록 구성된다. 실시예에서, 에러 보정 메커니즘은 과반수 투표를 포함할 수 있다. 특정의 다른 콤플렉스 코릴레이션이 또한 분류 출력에 대한 에러 보정을 적용하기 위해 이용될 수 있다는 것이 이해될 것이다. 실시예에서, 메모리(304)의 컨텐츠와 함께, 선택적으로 여기에 설명되는 다른 컴포넌트와 함께, 프로세서(302)는 장치(300)가 샘플링된 데이터의 에러와 임계 에러를 비교하게 하도록 구성된다. 실시예에서, 메모리(304)의 컨텐츠와 함께, 선택적으로 여기에 설명되는 다른 컴포넌트와 함께, 프로세서(302)는 장치(300)가 에러와 임계 에러의 비교에 기초하여 샘플링 정보를 갱신 또는 유지하게 하도록 구성된다. 실시예에서, 임계 에러는 장치(300)에서 사전 설정될 수 있다.
메모리(304)의 컨텐츠와 함께, 선택적으로 여기에 설명되는 다른 컴포넌트와 함께, 프로세서(302)는 장치(300)가 에러가 임계 에러보다 낮다는 판정에 대한 선택 정보와 연관된 베이시스 벡터의 수의 값과 베이시스 사이즈를 유지함으로써 샘플링 정보를 유지하게 하도록 구성된다.
실시예에서, 메모리(304)의 컨텐츠와 함께, 선택적으로 여기에 설명되는 다른 컴포넌트와 함께, 프로세서(302)는 장치(300)가 에러가 임계 에러보다 크다는 판정에 대한 완전 베이시스 행렬의 서브세트와 연관된 베이시스 벡터의 수를 증가시킴으로써 샘플링 정보를 갱신하게 하도록 구성된다.
실시예에서, 메모리(304)의 컨텐츠와 함께, 선택적으로 여기에 설명되는 다른 컴포넌트와 함께, 프로세서(302)는 장치(300)가 베이시스 사이즈의 임계 수 갱신 동안 에러가 임계 에러 이상이라는 판정에 대한 완전 베이시스 행렬의 서브세트와 연관된 베이시스 사이즈를 증가시킴으로써 샘플링 정보를 갱신하게 하도록 구성된다. 메모리(304)의 컨텐츠와 함께, 선택적으로 여기에 설명되는 다른 컴포넌트와 함께, 프로세서(302)는 장치(300)가 에러가 임계 에러보다 낮다는 판정에 대한 선택 정보와 연관된 베이시스 벡터의 수와 베이시스 사이즈를 감소시킴으로써 샘플링 정보를 갱신하게 하도록 구성된다.
예시적인 실시예에서, 메모리(304)의 컨텐츠와 함께, 선택적으로 여기에 설명되는 다른 컴포넌트와 함께, 프로세서(302)는 장치(300)가 에러가 임계 에러 이상이라는 판정에 대해 행동을 재분류하게 하도록 구성된다. 실시예에서, 행동은 갱신된 샘플링 정보를 이용함으로써 재분류될 수 있다. 예시적인 실시예에서, 프로세싱 수단은 임계 에러와 에러의 비교에 기초하여 샘플링 정보를 갱신하거나 유지하도록 구성될 수 있다. 프로세싱 수단의 예는 프로세서(302)를 포함할 수 있으며, 이는 컨트롤러(208)의 예일 수 있다.
도 4는 예시적인 실시예에 따른 행동 인식을 위한 장치(400)를 나타낸다. 행동 인식을 위한 장치(400)는 사용자의 행동을 감지하도록 구성되는 디바이스에서 채용될 수 있다. 예를 들어, 장치(400)는 다양한 센서에서 채용될 수 있다. 예시적인 실시예에서, 장치(400)는 모션, 위치, 온도, ECG(electrocardiogram) 등과 같은 관심있는 속성을 측정하기 위해 사용자 신체에 부착될 수 있는 착용가능 센서에서 채용될 수 있다. 다양한 실시예들이 단일 디바이스 또는 디바이스의 조합에서 전체로 구현될 수 있다. 또한, 후술하는 디바이스 또는 요소 중 일부는 강제적이지 않을 수 있으므로, 일부가 특정 실시예에서 생략될 수 있다는 것에 유의해야 한다.
실시예에서, 장치(400)는 적어도 하나의 프로세서(404)와 적어도 하나의 메모리(406)를 포함하거나 아니면 이와 통신한다. 적어도 하나의 메모리(406)는 휘발성 및/또는 비휘발성 메모리를 포함하지만 이에 한정되는 것은 아니다. 휘발성 메모리의 일부 예는 랜덤 액세스 메모리, 동적 랜덤 액세스 메모리, 정적 랜덤 액세스 메모리 등을 포함하지만 이에 한정되는 것은 아니다. 비휘발성 메모리의 일부 예들은 하드 디스크, 자기 테이프, 광 디스크, 프로그램가능 판독 전용 메모리, 소거가능 프로그램가능 판독 전용 메모리, 전기적으로 소거가능 프로그램가능 판독 전용 메모리, 플래시 메모리 등을 포함하지만 이에 한정되는 것은 아니다. 메모리(406)는 다양한 예시적인 실시예에 따라 장치(400)가 다양한 기능을 수행할 수 있도록 정보, 데이터, 애플리케이션, 명령 등을 저장하도록 구성될 수 있다. 예를 들어, 메모리(406)는 프로세서(404)에 의한 프로세싱을 위한 샘플링 정보를 포함하는 입력 데이터를 버퍼링하도록 구성될 수 있다. 추가적으로 또는 대안적으로, 메모리(406)는 프로세서(404)에 의한 실행을 위한 명령을 저장하도록 구성될 수 있다.
프로세서(404)는 다수의 상이한 방식으로 구현될 수 있다. 프로세서(302)는 멀티 코어 프로세서, 단일 코어 프로세서; 또는 멀티 코어 프로세서와 단일 코어 프로세서의 조합으로 구현될 수 있다. 예를 들어, 프로세서(404)는, 코 프로세서, 마이크로프로세서, 컨트롤러, DSP(digital signal processor), 수반되는 DSP를 갖거나 가지지 않는 프로세싱 회로, 또는 예를 들어, ASIC(application specific integrated circuit), FPGA(field programmable gate array), MCU(microcontroller unit), 하드웨어 가속기, 특수 목적 컴퓨터 칩 등과 같은 집적 회로를 포함하는 다양한 다른 프로세싱 디바이스와 같은 다양한 프로세싱 수단 중 하나 이상으로서 구현될 수 있다. 예시적인 실시예에서, 멀티 코어 프로세서는 메모리(406)에 저장되거나 이와 달리 프로세서(404)에 액세스가능한 명령을 실행하도록 구성될 수 있다. 대안적으로 또는 추가적으로, 프로세서(404)는 하드 코딩된 기능을 실행하도록 구성될 수 있다. 이와 같이, 하드웨어 또는 소프트웨어 방법으로 구성되든지, 또는 그 조합에 의하든지, 프로세서(404)는 그에 따라 구성되고 다양한 실시예에 따른 동작을 수행할 수 있는, 예를 들어 회로에 물리적으로 구현된 엔티티를 나타낼 수 있다. 예를 들어, 프로세서(404)가 ASIC, FPGA 등의 2개 이상으로 구현되는 경우에, 프로세서(404)는 여기에 설명되는 동작을 수행하기 위해 하드웨어를 특수하게 구성할 수 있다. 대안적으로, 다른 예로서, 프로세서(404)가 소프트웨어 명령의 실행기로서 구현되는 경우에, 명령은, 명령이 실행될 때 여기에 설명되는 알고리즘 및/또는 동작을 수행하도록 프로세서(404)를 특수하게 구성할 수 있다. 하지만, 일부 경우에, 프로세서(404)는 여기에 설명되는 알고리즘 및/또는 동작을 수행하기 위해 명령에 의한 프로세서(404)의 추가 구성에 의하여 실시예를 채용하도록 구성된 예를 들어 모바일 단말 또는 네트워크 디바이스인 특수 디바이스의 프로세서일 수 있다. 프로세서(404)는 그 중에서, 프로세서(404)의 동작을 지원하도록 구성된 클럭, ALU(arithmetic logic unit) 및 논리 게이트를 포함할 수 있다.
실시예에서, 장치(400)를 채용하는 하나 이상의 센서는 인간 행동을 감지하도록 구성될 수 있다. 실시예에서, 프로세서(404) 및 메모리(406)에 추가하여, 장치(400)는 감지 요소(402), 무선 링크 모듈(4141) 및 행동 클래스 모듈(416)을 포함할 수 있다. 실시예에서, 프로세서는 아날로그 대 디지털 컨버터(410), 랜덤 수 생성기(408) 및 프로젝션 샘플링 모듈(412)을 추가로 포함할 수 있다. 실시예에서, 감지 요소(402)는 행동을 감지하도록 구성된다. 실시예에서, A/D 컨버터(410)는 감지 요소(402)에 연결되고, 감지 요소(402)에 의해 감지된 행동 데이터의 아날로그 대 디지털 변환을 수행하도록 구성된다. 실시예에서, A/D 컨버터(410)의 출력은 행동 데이터의 샘플링을 수행하기 위해 이용될 수 있다. 실시예에서, A/D 컨버터의 출력은 예를 들어 장치(400)의 메모리(406)인 메모리에 저장될 수 있다. 실시예에서, A/D 컨버터(410)의 출력은, 길이 N의 행동 데이터와 연관된 데이터 벡터가 취득될 때까지 메모리(406)에 저장될 수 있다.
상술한 바와 같이, 행동 데이터는 랜덤 샘플링을 수행하기 위해 아날로그 도메인에서 디지털 도메인으로 변환될 수 있다. 대안적으로, 랜덤 샘플링은 예를 들어 프로그램가능 증폭기 및 적분기 회로를 사용하여 아날로그 도메인에서 수행될 수 있다.
실시예에서, 메모리(406)의 컨텐츠와 함께, 선택적으로 여기에 설명되는 다른 컴포넌트와 함께, 프로세서(404)는 장치(400)가 예를 들어 (도 2를 참조하여 설명한) 디바이스(200)인 디바이스에 의해 송신된 샘플링 정보에 기초하여 행동 데이터의 랜덤 샘플링을 수행하게 하도록 구성된다. 실시예에서, 메모리(406)의 컨텐츠와 함께, 선택적으로 여기에 설명되는 다른 컴포넌트와 함께, 프로세서(404)는 장치(400)가 장치(300)로부터 샘플링 정보를 수신하게 하도록 구성된다. 실시예에서, 샘플링 정보는 베이시스 행렬과 베이시스 행렬의 적어도 서브세트를 선택하기 위한 선택 정보를 포함한다. 실시예에서, 베이시스 행렬의 서브세트는 샘플링된 데이터를 생성하기 위해 행동 데이터가 샘플링될 수 있는 랜덤하게 선택된 베이시스 벡터의 세트를 포함할 수 있다. 실시예에서, 베이시스 행렬은 완전 베이시스 행렬일 수 있으며, 베이시스 벡터는 사전 규정된 하위 공간의 하위 공간과 반대로 전체 사전 규정된 공간에 이를 수 있다. 실시예에서, 샘플링 정보와 연관된 완전 베이시스 행렬은 NXN 행렬일 수 있다. 실시예에서, 프로세싱 수단은 장치(300)로부터 샘플링 정보를 수신하도록 구성될 수 있다. 프로세싱 수단의 예는 프로세서(404)를 포함할 수 있다.
실시예에서, 메모리(406)의 컨텐츠와 함께, 선택적으로 여기에 설명되는 다른 컴포넌트와 함께, 프로세서(404)는 장치(400)가 장치(300)로부터 수신된 샘플링 정보를 저장하게 하도록 추가적으로 구성된다. 실시예에서, 메모리 수단은 장치(300)로부터 수신된 샘플링 정보를 저장하도록 구성될 수 있다. 메모리 수단의 예는 메모리(406)를 포함할 수 있다.
실시예에서, 메모리(406)의 컨텐츠와 함께, 선택적으로 여기에 설명되는 다른 컴포넌트와 함께, 프로세서(404)는 장치(400)가 행동과 연관된 샘플링된 데이터를 생성하기 위하여 샘플링 정보와 샘플링 기준에 적어도 기초하여 행동과 연관된 행동 데이터의 압축 샘플링을 수행하게 하도록 구성된다. 실시예에서, 샘플링 기준은 행동 데이터의 압축 샘플링을 수행하기 위한 인코히런트 베이시스의 선택을 포함한다.
실시예에서, 메모리(406)의 컨텐츠와 함께, 선택적으로 여기에 설명되는 다른 컴포넌트와 함께, 프로세서(404)는 장치(400)가 선택 정보에 기초하여 베이시스 행렬의 서브세트를 선택하게 하도록 구성된다. 예를 들어, M 베이시스 벡터의 서브세트는 M×N 샘플링 행렬을 형성하기 위하여 (M×N 사이즈의) 베이시스 행렬로부터 랜덤하게 선택될 수 있다. M×N 샘플링 행렬은 'A'로 표기될 수 있다. 예시적인 실시예에서, 프로세싱 수단은 샘플링 정보에 기초하여 베이시스 벡터의 세트를 랜덤하게 선택하도록 구성될 수 있다. 프로세싱 수단의 예는 예를 들어 랜덤 수 생성기(408)인 프로세싱 수단을 포함할 수 있다.
실시예에서, 메모리(406)의 컨텐츠와 함께, 선택적으로 여기에 설명되는 다른 컴포넌트와 함께, 프로세서(404)는 장치(400)가 랜덤하게 선택된 베이시스 벡터의 세트에 따라 행동 데이터를 압축 샘플링하고 응답하여 샘플링된 데이터를 생성하게 하도록 구성된다. 예시적인 실시예에서, 베이시스 벡터의 세트에 따라 행동 데이터를 샘플링하기 위해, 프로세서(404)는 메모리(406)의 컨텐츠와 함께, 선택적으로 여기에 설명되는 다른 컴포넌트와 함께, 장치(400)가 길이 M의 샘플 벡터 (y)를 취득하기 위해 데이터 벡터 (x)와 샘플링 행렬 A를 곱하게 하도록 구성된다. 실시예에서, 프로세싱 수단은 길이 M의 샘플 벡터를 취득하기 위하여 데이터 벡터와 샘플링 행렬 A를 곱하도록 구성될 수 있다. 프로세싱 수단의 예는 프로젝션 샘플링 모듈(412)을 포함할 수 있다. 샘플링된 데이터는 아래 식에 기초하여 생성될 수 있다.
y=ATx, 여기에서, A는 그 열이 (직교) 베이시스 벡터인 NXM 샘플링 행렬을 나타내고,
x는 N차원 비압축 데이터 벡터를 나타낸다.
실시예에서, 메모리(406)의 컨텐츠와 함께, 선택적으로 여기에 설명되는 다른 컴포넌트와 함께, 프로세서(404)는 장치(400)가 행동의 라벨링을 가능하게 하기 위해서 (예를 들어 장치(300)인) 장치로 샘플링된 데이터를 송신하게 하도록 구성된다. 실시예에서, 장치(400)는, 샘플링된 데이터의 프레임이 장치(300)에 송신될 수 있을 때까지 장치(300)로 샘플링된 데이터를 송신할 수 있다. 예시적인 실시예에서, 프레임 사이즈는 대략 0.1s-10s일 수 있다. 실시예에서, 샘플링된 데이터는 무선 링크 모듈(414)을 통해 장치(300)에 송신될 수 있다.
실시예에서, 장치(400)는 샘플링된 데이터를 장치(300)에 송신할 수 있다. 장치가 샘플링된 데이터만을 송신하도록 구성되는 장치(400)의 동작 모드는 '라벨링되지 않은 모드'로 칭해질 수 있다. 다른 실시예에서, 장치(400)는 장치(300)로 사용자 선택 라벨을 송신할 수 있다. 실시예에서, 장치(400)는 사용자로부터 라벨과 연관된 사용자 입력을 수신하기 위한 사용자 인터페이스를 포함할 수 있다. 예를 들어, 사용자는 행동 클래스 모듈(416)을 이용함으로써 라벨을 입력할 수 있다. 행동 클래스 모듈(416)은 사용자에 의해 장치(200)로 제공되는 행동 클래스의 송신을 가능하게 하기 위하여 무선 링크 모듈(414)에 연결될 수 있다. 여기에서 개시되는, 장치가 디바이스(300)로 샘플링된 데이터와 함께 라벨을 송신하도록 구성되는 장치(400)의 동작 모드는 '라벨링된 모드'라 칭해질 수 있다.
도 3을 참조하여 이미 설명한 바와 같이, 장치(300)는 행동에 할당되는 라벨을 분류하기 위해 샘플링된 데이터를 이용할 수 있다. 추가적으로, 장치(300)는 샘플링된 데이터에서 에러를 판정할 수 있다. 실시예에서, 샘플링된 데이터에서의 에러가 임계 에러보다 큰 것으로 판정된 경우, 장치(300)는 선택 정보를 갱신하고 장치(400)로 갱신된 선택 정보를 재송신하도록 구성된다.
실시예에서, 메모리(406)의 컨텐츠와 함께, 선택적으로 여기에 설명되는 다른 컴포넌트와 함께, 프로세서(404)는 장치(400)가 장치(300)로부터 갱신된 샘플링 정보를 수신하게 하도록 구성된다. 실시예에서, 메모리(406)의 컨텐츠와 함께, 선택적으로 여기에 설명되는 다른 컴포넌트와 함께, 프로세서(404)는 장치(400)가 갱신된 샘플링된 데이터를 생성하도록 갱신된 선택 정보에 적어도 기초하여 행동 데이터의 압축 샘플링을 수행하게 하도록 구성된다. 실시예에서, 갱신된 샘플링된 데이터는 샘플링된 데이터의 생성과 유사한 방식으로 생성될 수 있다. 실시예에서, 메모리(406)의 컨텐츠와 함께, 선택적으로 여기에 설명되는 다른 컴포넌트와 함께, 프로세서(404)는 장치(400)가 행동의 라벨링을 가능하게 하기 위해 장치(300)로 갱신된 샘플링된 데이터를 송신하게 하도록 구성된다. 실시예에서, 무선 링크 모듈(410)은 갱신된 샘플링된 데이터를 장치(300)에 송신하도록 구성될 수 있다.
이미 설명한 바와 같이, 실시예에서, 장치(400)는 감지 요소(402), 프로세서(404), 메모리(406), 무선 링크 모듈(414) 및 행동 클래스 모듈(416)을 포함할 수 있다. 실시예에서, 프로세서(404)는 A/D 컨버터(410), 랜덤 수 생성기(408) 및 프로젝션 샘플링 모듈(412)을 포함할 수 있다. 대안적인 실시예에서, 상술한 별개의 모듈 대신, 장치(400)는 A/D 컨버터, 감지 요소, 랜덤 수 생성기 및 프로젝션 샘플링 모듈에 대한 모듈을 구현하는 집적 하드웨어 솔루션을 포함할 수 있어, 별개의 모듈의 필요성을 배제한다. 예를 들어, 장치(400)는, 아날로그 또는 혼합 신호 회로가 센서 판독 전자 장치와 결합되는 스마트 센서를 포함할 수 있다.
도 5는 예시적인 실시예에 따른, 행동 인식을 위한 행동 데이터의 압축 샘플링의 예를 나타낸다. 예시적인 실시예에서, 압축 샘플링을 수행하기 위해, 행동 데이터(502)의 아날로그 대 디지털 변환이 수행되고, 행동 데이터(502)와 연관된 데이터 벡터(504)가 생성된다. 실시예에서, 데이터 벡터(504)는 랜덤하게 선택된 베이시스 벡터에 따라 샘플링될 수 있다.
실시예에서, (예를 들어, 시간 도메인에서) 길이 N의 데이터 벡터(504)와 같은 데이터 벡터가 (예를 들어 베이시스 벡터(506, 508)인) 베이시스 벡터의 세트에 따라 프로젝팅될 수 있다. 실시예에서, 베이시스 벡터의 세트는 장치(300)로부터 수신된 샘플링 정보에 기초하여 랜덤하게 선택될 수 있다. 다른 실시예에서, 베이시스 벡터의 세트는 랜덤하게 선택되고 직교 정규화될 수 있다. 예시적인 실시예에서, 베이시스 벡터의 세트는 Gram-Schmidt 절차에 기초하여 직교 정규화될 수 있다.
도 5에 나타낸 예시적인 실시예에서, 샘플링 행렬과 연관된 랜덤하게 선택된 베이시스 벡터(506, 508)의 세트는 샘플(510, 512)과 같은 샘플을 취득하기 위하여 데이터 벡터(504)와 곱해질 수 있다. x를 N차원 비압축 데이터 벡터라 표기하고, A를 그 열이 (직교) 베이시스 벡터인 N×M 샘플링 행렬이라 표기한다. 그러면, 샘플링된 데이터는 아래와 같은 M차원 벡터 y이다:
y=ATx
예시적인 실시예에서, 베이시스 벡터(506, 508)와 같은 베이시스 벡터는 다양한 논-제로 실제값 엔트리를 포함할 수 있다. 이러한 시나리오에서, 샘플은 컴포넌트를 더함으로써 취득될 수 있다. 예시적인 실시예에서, 열 벡터가 샘플링 벡터로서 이용될 수 있다.
도 6은 실시예에 따른 샘플링된 데이터의 송신의 시퀀스를 나타낸다. 상술한 바와 같이, (y로 표기되는) 샘플링된 데이터(610)는 학습 및 행동 인식을 가능하게 하기 위하여 장치(300)에 송신되거나 전송될 수 있다. 실시예에서, 행동 인식은 상이한 샘플링 레이트에서 상이한 양을 감지하도록 구성될 수 있는 복수의 센서로부터 수신된 샘플링된 데이터에 기초하여 수행될 수 있다. 예를 들어, 가속도계 및 컴퍼스에서 채용되는 센서는 가속도계 데이터 및 컴퍼스 방향 데이터를 각각 감지하는 것을 가능하게 할 수 있다. 가속도계 데이터 및 컴퍼스 방향 데이터는 상이한 센서에 의해 감지될 수 있고 후속적으로 샘플링될 수 있다. 실시예에서, 복수의 벡터 yi(예를 들어, 612, 614, 616, 618)로부터 수신된 행동 데이터는 아래와 같이 표현될 수 있는 데이터 세트를 생성할 수 있다:
{yi,i=1,...,M}
실시예에서, 복수의 센서로부터 수신된 행동 데이터는 랜덤 프로젝션을 수행하기 전에 벡터로 배치될 수 있다. 예를 들어, 데이터 세트(610)와 연관된 데이터는 행동 데이터의 랜덤 프로젝션을 수행하기 전에 벡터(620)로 배치될 수 있다. 예를 들어, 도 6에 나타낸 바와 같이, 벡터(612, 614, 616)로부터의 데이터는 벡터(620)의 위치(622, 624, 626)에 각각 수신 및 저장될 수 있다. 실시예에서, 데이터는 순차적 방식으로, 즉 장치(300)의 각 센서로부터의 데이터 수신의 시퀀스에서 벡터(620)에 배치될 수 있다.
도 7은 예시적인 실시예에 따른, 행동 인식을 위한 예시적인 방법(700)을 도시하는 흐름도이다. 흐름도에 도시된 방법(700)은 예를 들어 도 3의 장치(300)에 의해 실행될 수 있다. 실시예에서, 방법은 하나 이상의 센서에 통신가능하게 연결될 수 있는 디바이스에 의해 실행될 수 있다. 실시예에서, 디바이스는 모바일 폰, PDA, 랩톱 등일 수 있다.
실시예에서, 장치(300)는 하나 이상의 센서로부터 수신된 샘플링된 데이터에 기초하여 사용자에 의해 수행되고 있는 "행동"을 인식하도록 구성될 수 있다. 실시예에서, 행동은, 걷기, 조깅, 달리기 및 사용자에 의해 수행되고 있는 임의의 다른 모션 또는 운동 현상을 포함할 수 있다. 실시예에서, 행동은 하나 이상의 센서에 의해 감지될 수 있다. 예를 들어, 하나 이상의 센서가 행동과 연관된 행동 데이터를 캡쳐할 수 있고 샘플링된 데이터를 생성하기 위해 행동 데이터를 프로세싱할 수 있다. 실시예에서, 샘플링된 데이터는 하나 이상의 센서로 장치(300)에 의해 송신될 수 있는 샘플링 정보에 기초하여 하나 이상의 센서에 의해 생성될 수 있다. 실시예에서, 샘플링 정보는 베이시스 행렬과 베이시스 행렬의 적어도 서브세트를 선택하기 위한 선택 정보를 포함한다. 실시예에서, 베이시스 행렬은 완전 베이시스 행렬일 수 있으며, 베이시스 벡터는 사전 규정된 하위 공간의 하위 공간에 반대되는 전체의 사전 규정된 공간에 이를 수 있다.
블록 702에서, 방법(700)은, 장치(300)에서, 하나 이상의 센서로부터 행동과 연관된 샘플링된 데이터를 수신하는 단계를 포함한다. 실시예에서, 샘플링된 데이터는 (도 4에서 설명한) 장치(400)를 구현하는 하나 이상의 디바이스에 의해 장치(300)에 송신될 수 있다. 실시예에서, 장치(400)를 구현하는 디바이스의 예는 가속도계, 기압계, 컴퍼스 등과 같은 센서를 포함할 수 있다. 블록 704에서, 행동은 샘플링된 데이터에 적어도 기초하여 분류될 수 있다. 실시예에서, 행동을 분류하는 것은 행동에 라벨을 할당하는 것을 포함할 수 있다. 실시예에서, 행동은 분류 룰 또는 모델에 기초하여 분류될 수 있다. 예를 들어, 샘플링된 데이터는 2차 판별 분석에 기초하여 분류될 수 있다. 다른 실시예에서, 샘플링된 데이터는 사용자 입력뿐만 아니라 분류 룰에 기초하여 분류될 수 있다. 실시예에서, 사용자 입력은 하나 이상의 센서에 의해 송신될 수 있다.
실시예에서, 디바이스에서 수신된 샘플링된 데이터는 하나 이상의 센서와 연관된 노이즈로 인한 에러를 포함할 수 있다. 실시예에서, 샘플링된 데이터에서의 에러는 잘못된 행동의 분류로 유도될 수 있다. 블록 706에서, 행동의 분류에서의 에러가 판정될 수 있다. 실시예에서, 행동의 분류의 출력에서의 변화가, 사용자 행동이 매우 짧은 시간 스케일(초)에서 실질적으로 동일하게 유지될 수 있으므로(즉 변동하지 않음), 에러 판정에 대한 측정으로서 이용될 수 있다. 따라서, 이러한 짧은 시간 간격 동안의 상이한 시순간에서, 샘플링된 데이터는 연산된 시간의 임계 수일 수 있고 라벨을 이에 할당함으로써 분류될 수 있다. 행동의 분류의 변화가 분류 중에 검출되는 경우에, 행동의 분류는 부정확한 것으로 간주될 수 있다.
실시예에서, 분류에서의 에러가 연산될 수 있고 임계 에러와 비교될 수 있다. 실시예에서, 임계 에러는 장치(400)에서 사전 설정될 수 있다. 실시예에서, 에러와 임계 에러의 비교에 기초하여, 샘플링 정보가 블록 708에서 갱신되거나 유지될 수 있다. 예를 들어, 분류에서의 임의의 에러의 부재의 검출시에, 샘플링 정보와 연관된 벡터의 수는 유지되거나 감소될 수 있다. 실시예에서, 샘플링 행렬의 사이즈는 그 내부의 벡터의 수를 감소시킴으로써 감소될 수 있다. 대안적인 실시예에서, 샘플링 행렬의 사이즈는, 샘플링 행렬의 사이즈가 이미 최소 허용가능 사이즈인 것으로 판정되는 것과 같이 유지될 수 있다. 실시예에서, 행렬의 최소 허용가능 사이즈는 장치(400)에서 사전 설정될 수 있다.
실시예에서, 에러가 임계 이상인 것으로 판정시에, 에러 보정이 샘플링된 데이터에 적용될 수 있다. 에러 보정 방법의 예는 과반수 투표 등을 포함하지만 이에 한정되는 것은 아니다. 예시적인 실시예에서, 에러가 임계 에러 이상인 것으로 판정시에, 샘플링 정보는 갱신될 수 있다. 예를 들어, 에러가 임계 에러보다 큰 것으로 판정한 것에 기초하여, 베이시스 벡터의 수는 증가될 수 있다. 추가적으로 또는 선택적으로, 시간의 이전의 미리 정해진 횟수 동안 수행된 분류에서의 에러가 임계 에러보다 큰 것으로 판정되면, 샘플링 정보와 연관된 완전 베이시스 행렬의 사이즈가 증가될 수 있다. 예를 들어, 에러가 최종 10회 분류 동안 임계 에러보다 큰 것으로 판정된다면, 완전 베이시스 행렬의 사이즈는 증가될 수 있다.
예시적인 실시예에서, 프로세싱 수단은, 디바이스에서 디바이스에 무선으로 연결된 하나 이상의 센서로부터 행동과 연관된 샘플링된 데이터를 수신하고, 샘플링된 데이터가 행동과 연관된 행동 데이터의 압축 샘플링에 기초하여 하나 이상의 센서에서 생성되고, 압축 샘플링이 샘플링 정보에 기초하여 수행되고; 적어도 샘플링된 데이터에 기초하여 상기 행동을 분류하는 단계; 상기 행동의 분류와 연관된 에러를 판정하는 단계; 및 임계 에러와 에러의 비교에 기초하여 샘플링 정보를 갱신하는 것의 일부 또는 전부를 수행하도록 구성될 수 있다. 프로세싱 수단의 예는 프로세서(302)를 포함할 수 있으며, 이는 컨트롤러(208)의 예일 수 있다.
도 8은 예시적인 실시예에 따른 행동 인식을 위한 예시적인 방법(800)을 도시하는 흐름도이다. 흐름도에 도시된 방법(800)은 예를 들어 도 4의 장치(400)에 의해 실행될 수 있다. 예를 들어, 방법은 장치(400)를 포함하는 착용가능 센서에 의해 실행될 수 있다. 센서는 사용자 행동과 연관된 행동 데이터를 측정하기 위해 사용자 신체에 부착될 수 있다. 실시예에서, 행동 데이터는 모션, 위치, 온도, ECG 등과 같은 속성을 포함할 수 있다. 실시예에서, 장치(400)를 구현하는 디바이스의 예는 가속도계, 기압계, 컴퍼스 등과 같은 센서를 포함할 수 있다.
블록 802에서, 방법은 장치(400)에 무선으로 연결된 다른 장치(예를 들어, 도 3에서 설명한 장치(300))로부터 장치(예를 들어, 도 4에서 설명한 장치(400))에서 샘플링 정보를 수신하는 것을 포함한다. 여기에서, 장치(400)는 센서 내에 구현될 수 있다. 따라서, 방법(800)의 설명은 장치(400)를 센서로서 칭함으로써, 또는 그 역으로 칭함으로써 설명될 수 있다. 실시예에서, 샘플링 정보는 베이시스 행렬 및 베이시스 행렬의 적어도 서브세트를 선택하기 위한 선택 정보를 포함한다. 실시예에서, 베이시스 행렬은 완전 베이시스 행렬일 수 있으며, 베이시스 벡터는 사전 규정된 하위 공간의 하위 공간과는 반대로 전체 사전 규정된 공간에 이를 수 있다. 실시예에서, 샘플링 정보와 연관된 완전 베이시스 행렬은 NXN 행렬일 수 있다.
블록 804에서, 행동 데이터의 압축 샘플링은 샘플링 정보와 샘플링 기준에 적어도 기초하여 수행될 수 있다. 실시예에서, 압축 감지가 행동과 연관된 샘플링된 데이터를 생성하기 위해 수행될 수 있다. 실시예에서, 샘플링 기준은 압축 샘플링을 수행하기 위한 인코히런트 베이시스의 선택을 포함할 수 있다. 실시예에서, 완전 베이시스 행렬의 서브세트가 선택 정보에 기초하여 선택될 수 있다. 예를 들어, M 베이시스 벡터의 세트가 MXN 샘플링 행렬을 형성하기 위해 완전 베이시스 행렬로부터 선택될 수 있다. MXN 샘플링 행렬은 'A'로 표기될 수 있다. 실시예에서, 샘플링된 데이터는 샘플링 정보에 기초하여 랜덤하게 선택될 수 있는 베이시스 벡터의 세트에 따라 행동 데이터의 압축 샘플링을 수행함으로써 생성될 수 있다. 예를 들어, (예를 들어, 시간 도메인에서) 길이 N의 데이터 벡터 (x)가 베이시스 벡터의 세트에 따라 프로젝팅될 수 있다. 샘플링된 데이터는 아래의 식에 기초하여 생성될 수 있다.
y=ATx, 여기에서, A는 그 열이 (직교) 베이시스 벡터인 NXM 샘플링 행렬을 나타내고,
x는 N차원 비압축 데이터 벡터를 나타낸다.
블록 806에서, 샘플링된 데이터가 행동의 라벨링을 가능하게 하기 위해 장치(예를 들어, 장치(300))에 송신될 수 있다. 실시예에서, 샘플링된 데이터는, 샘플링된 데이터의 프레임이 장치에서 수신될 수 있을 때까지 장치에 송신될 수 있다. 예시적인 실시예에서, 프레임 사이즈는 대략 0.1s-10s일 수 있다. 실시예에서, 샘플링된 데이터는 무선 링크를 통해 장치(300)에 송신될 수 있다.
도 9는 예시적인 실시예에 따른 행동 인식을 위한 예시적인 방법(900)을 도시하는 흐름도이다. 흐름도에 도시된 방법(900)은 예를 들어 각각 도 3 및 4의 장치(300 및 400)에 의해 실행될 수 있다. 흐름도의 동작 및 흐름도의 동작의 조합은 하드웨어, 펌웨어, 프로세서 회로 및/또는 하나 이상의 컴퓨터 프로그램 명령을 포함하는 소프트웨어의 실행과 연관된 다른 디바이스와 같은 다양한 수단에 의해 구현될 수 있다. 예를 들어, 다양한 실시예에서 설명된 하나 이상의 절차는 컴퓨터 프로그램 명령에 의해 구현될 수 있다. 예시적인 실시예에서 다양한 실시예에서 설명된 절차를 구현하는 컴퓨터 프로그램 명령은 장치의 적어도 하나의 메모리 디바이스에 의해 저장될 수 있고 장치의 적어도 하나의 프로세서에 의해 실행될 수 있다. 임의의 이러한 컴퓨터 프로그램 명령은 머신을 생성하기 위하여 컴퓨터 또는 다른 프로그램가능 장치(예를 들어, 하드웨어)로 로드되어, 결과적인 컴퓨터 또는 다른 프로그램가능 장치가 흐름도에 특정된 동작을 구현하기 위한 수단을 구현한다. 이러한 컴퓨터 프로그램 명령은 또한 컴퓨터 또는 다른 프로그램가능 장치에게 특정 방식으로 기능할 것을 지시할 수 있는 캐리어파 또는 전자기 신호와 같은 송신 매체와 반대로 컴퓨터 판독가능 저장 매체에 저장될 수 있어, 컴퓨터 판독가능 메모리에 저장된 명령이, 흐름도에서 특정된 동작을 그 실행이 구현하는 제조품을 생성한다. 또한, 컴퓨터 프로그램 명령은 컴퓨터 구현 프로세스를 생성하기 위해 일련의 동작이 컴퓨터 또는 다른 프로그램가능 장치에서 수행되게 하는 컴퓨터 또는 다른 프로그램가능 장치로 로드될 수 있어, 컴퓨터 또는 다른 프로그램가능 장치 상에서 실행되는 명령이 흐름도의 동작을 구현하기 위한 동작을 제공한다. 방법(900)의 동작은 각각 도 3 및 4의 장치(300 및 400)의 도움으로 설명된다. 하지만, 방법의 동작이 임의의 다른 장치를 사용하여 설명될 수 있고/있거나 실시될 수 있다.
방법(900)은 상황 인지 기반 애플리케이션에서 행동 인식을 위한 스텝을 제공한다. 행동 인식을 위하여 이용될 수 있는 행동의 예들은 걷기, 조깅, 달리기 등을 포함할 수 있다. 실시예에서, 하나 이상의 센서가 사용자 행동과 연관된 데이터를 취득하고 프로세싱할 수 있다. 실시예에서, 하나 이상의 센서가 행동 인식과 연관된 다양한 속성을 측정함으로써 행동 데이터를 취득하기 위해 사용자의 신체에 부착될 수 있는 하나 이상의 착용가능 디바이스에서 구현될 수 있다. 예를 들어, 하나 이상의 센서는, 행동 인식에 필요한 모션, 위치, 온도, 습도, 오디오 레벨 및 다른 이러한 속성을 측정하도록 구성될 수 있다. 실시예에서, 하나 이상의 센서는 취득된 데이터를 프로세싱하고 프로세싱된 행동 데이터를 장치(300)에 송신할 수 있다. 실시예에서, 장치(300)는 예를 들어 (도 2를 참조하여 설명한) 디바이스(200)인 디바이스에서 구현될 수 있다. 디바이스(200)는 사용자의 "행동"을 분류하기 위해 프로세싱된 행동 데이터를 이용할 수 있다. 사용자 행동에 대한 정보가 행동 의존 사용자 경험을 제공하기 위해 이용될 수 있다.
방법(900)의 블록 902에서, 샘플링 정보와 연관된 베이시스 행렬이 예를 들어 디바이스(200)인 디바이스에서 연산될 수 있다. 실시예에서, 샘플링 정보는 베이시스 행렬 및 베이시스 행렬의 적어도 서브세트를 선택하기 위한 선택 정보를 포함할 수 있다. 실시예에서, 샘플링 정보는 예를 들어 장치(300)의 메모리에 저장될 수 있다. 블록 904에서, 샘플링 정보가 (도 3을 참조하여 설명한) 예를 들어 장치(400)인 하나 이상의 장치에 송신될 수 있다. 실시예에서, 하나 이상의 장치(300)는 하나 이상의 센서를 포함할 수 있다. 실시예에서, 하나 이상의 장치(300)는 디바이스(200)와 통신가능하게 연결될 수 있다. 실시예에서, 하나 이상의 센서가 무선 링크를 통해 장치(300)와 연결될 수 있다.
블록 906에서, 하나 이상의 센서가 베이시스 행렬을 수신할 수 있다. 블록 908에서, 하나 이상의 센서가 베이시스 행렬을 저장할 수 있다. 실시예에서, 하나 이상의 센서가 예를 들어 메모리(406)(도 4 참조)인 메모리에 베이시스 행렬을 저장할 수 있다.
블록 910에서, 디바이스(200)는 베이시스 행렬의 서브세트를 선택하기 위해 하나 이상의 센서로 선택 정보를 송신할 수 있다. 실시예에서, 선택 정보는 완전 베이시스 행렬의 서브세트를 선택하기 위한 명령을 포함한다. 실시예에서, 명령은 완전 베이시스 행렬로부터 선택될 수 있는 하나 이상의 베이시스 벡터 및 베이시스 사이즈를 포함할 수 있다.
블록 912에서, 사용자 행동과 연관된 행동 데이터의 샘플링이 수행된다. 실시예에서, 행동 데이터의 샘플링이 하나 이상의 센서에서 수행된다. 실시예에서, 행동 데이터의 샘플링이 디바이스(200)로부터 수신된 완전 베이시스 행렬 및 선택 정보에 적어도 기초하여 수행된다. 실시예에서, 샘플링이 인코히런트 베이시스를 이용하여 압축 샘플링에 기초하여 수행될 수 있다.
실시예에서, 행동 데이터는 샘플링 정보에 기초하여 랜덤하게 선택될 수 있는 베이시스 벡터의 세트와 함께 샘플링될 수 있다. (예를 들어, 시간 도메인에서) 길이 N의 데이터 벡터(x로 표기)가 베이시스 벡터의 세트를 따라 프로젝팅될 수 있다. 랜덤하게 선택된 베이시스 벡터의 세트를 따른 데이터 벡터의 프로젝션이 도 5를 참조하여 설명된다. 샘플링에 기초하여, 샘플링된 데이터는 이하의 식에 따라 생성될 수 있다.
y=ATx, 여기에서, A는 그 열이 (직교) 베이시스 벡터인 NXM 샘플링 행렬을 나타내고, x는 행동 데이터와 연관된 N차원 비압축 데이터 벡터를 나타낸다.
블록 914에서, 샘플링된 데이터가 하나 이상의 센서에 의해 디바이스에 송신될 수 있다. 실시예에서, 샘플링된 데이터는 디바이스에서 행동의 라벨링을 가능하게 할 수 있다. 블록 916에서, 하나 이상의 센서에 의해 송신된 샘플링된 데이터가 디바이스에서 수신될 수 있다. 블록 918에서, 행동이 샘플링된 데이터 및 분류 룰에 적어도 기초하여 분류될 수 있다. 실시예에서, 행동의 분류는 행동에 라벨을 할당하는 것을 포함할 수 있다. 실시예에서, 분류 룰은 라벨링된 샘플의 트레이닝 세트를 포함하는 모델을 포함할 수 있다. 예시적인 실시예에서, 라벨을 갖는 트레이닝 세트는 하나 이상의 센서에서 행동 데이터의 샘플링을 위해 이용되는 베이시스로 표현될 수 있다. 다른 예시적인 실시예에서, 트레이닝 세트의 라벨에는 행동 데이터의 압축 샘플링을 위해 사용되는 것과 같은 임의의 불완전 베이시스의 세트를 계산하기에 용이한 완전 베이시스로 (예를 들어, "팩토리 설정"과 같이) 초기에 제공될 수 있다. 다른 실시예에서, 트레이닝 세트와 연관된 라벨은 다른 감지 데이터로부터 추론될 수 있다. 또 다른 예시적인 실시예에서, 라벨이 감독되지 않은 학습에 기초하여 취득될 수 있다. 예를 들어, (예를 들어, k-평균 알고리즘인) 다양한 식별 클러스터가 생성될 수 있고, 사용자로부터의 "문의" 정보에 의해 라벨이 취득될 수 있다.
실시예에서, 하나 이상의 센서로부터 출력된 샘플링된 데이터는 하나 이상의 센서에 의해 관측된 행동 데이터에서 노이즈 또는 미소한 교란에 기인한 에러를 포함할 수 있다. 사용자에 의해 수행되는 행동은 매우 짧은 시간 스케일(예를 들어, 초)에서 실질적인 변동을 경험하지 않으므로, 분류 출력의 출력에서의 변화가 분류에서의 임의의 에러의 검출을 위해 이용될 수 있다. 블록 920에서, 샘플링된 데이터의 에러가 판정될 수 있다. 예시적인 실시예에서, 에러 보정이 분류의 출력에 적용될 수 있다. 예시적인 실시예에서, 에러 보정 메커니즘은 과반수 투표를 포함할 수 있다. 특정의 다른 컴플렉스 코릴레이션이 또한 분류 출력의 에러 보정을 적용하기 위해 이용될 수 있다는 것이 이해될 것이다.
블록 922에서, 행동의 분류의 에러가 임계 에러보다 큰지 여부가 판정될 수 있다. 실시예에서, 임계 에러는 행동 데이터의 샘플링을 수행하기 전에 고정될 수 있다. 실시예에서, 분류의 임의의 에러의 부재를 검출시에, 샘플링 정보와 연관된 벡터 수는 유지되거나 감소될 수 있다. 실시예에서, 샘플링 행렬의 사이즈는 그 내부의 벡터의 수를 감소시킴으로써 감소될 수 있다. 대안적인 실시예에서, 샘플링 행렬의 사이즈가 이미 최소 허용가능 사이즈인 것으로 판정된 경우, 샘플링 행렬의 사이즈는 블록 924에서와 같이 유지될 수 있다. 실시예에서, 행렬의 최소 허용가능 사이즈는 디바이스에서 사전 설정될 수 있다.
실시예에서, 에러가 임계 에러 이상인 것으로 판정시에, 압축 샘플링 메트릭이 블록 926에서 갱신될 수 있다. 예를 들어, 임계 에러보다 큰 에러의 판정된 수에 기초하여, 벡터의 수가 증가될 수 있다. 추가적으로 또는 선택적으로, 시간의 이전의 미리 정해진 횟수와 연관된 에러가 임계 에러보다 큰 것으로 판정되면, 샘플링 정보와 연관된 베이시스 행렬의 사이즈가 증가될 수 있다.
블록 928에서, 갱신된 선택 정보가 샘플링 정보의 적어도 일부를 선택하기 위해 하나 이상의 센서로 송신될 수 있다. 실시예에서, 갱신된 선택 정보에 기초하여 선택된 샘플링 정보의 적어도 일부는 샘플링된 데이터를 생성하기 위해 이전에 이용되었던 샘플링 정보의 서브세트와 상이하다. 실시예에서, 갱신된 선택에 기초하여 선택된 샘플링 정보의 적어도 일부가 행동을 재분류하기 위해 이용될 수 있다.
도 7, 8 및 9의 방법(700, 800 및/또는 900)의 설명을 용이하게 하기 위해, 특정 동작이 특정 순서로 수행되는 별개의 스텝을 구성하는 것으로 여기에 설명된다. 이러한 구현은 예시적인 것이며 한정적인 것이 아니다. 특정 동작은 함께 그룹화될 수 있고 단일 동작에서 수행될 수 있고, 특정 동작은 여기에 개진된 예에서 채용된 순서와는 상이한 순서로 수행될 수 있다. 또한, 방법(700, 800 및/또는 900)의 특정 동작은 자동화 방식으로 수행된다. 이러한 동작은 실질적으로 사용자와 상호작용과 관련되지 않는다. 방법(700, 800 및/또는 900)의 다른 동작은 수동 방식 또는 반자동 방식으로 수행될 수 있다. 이러한 동작은 하나 이상의 사용자 인터페이스 표시를 통해 사용자와의 상호작용과 관련된다.
이하에 나타나는 청구항의 범위, 해석 또는 애플리케이션을 전혀 한정하지 않고, 여기에 개시된 예시적인 실시예 중 하나 이상의 기술적 효과는 행동 인식을 수행하는 것이다. 도 1 - 9에서 설명한 바와 같이, 여기에 개시된 실시예는 행동 인식을 수행하기 위한 방법 및 디바이스를 제공한다. 다양한 실시예에서, 분포된 센서와 같은 디바이스가 데이터를 취득하고 취득된 데이터를 프로세싱하도록 구성될 수 있다. 취득된 데이터는 압축 샘플링에 기초하여 프로세싱될 수 있다. 프로세싱된 데이터(또는 샘플링된 데이터)는 디바이스(예를 들어, 스마트폰)로 무선으로 송신될 수 있다. 디바이스는 사용자의 "행동"을 분류하기 위하여 직접 샘플링된 데이터를 이용한다. 실시예에서, 행동에 대한 정보는 그 후 행동 의존 사용자 경험을 제공하기 위해 사용될 수 있다. 개시된 방법 및 디바이스는, 샘플링된 데이터가 행동 인식을 수행하기 위해 직접 이용될 수 있고 그에 의해 압축해제에 대한 필요성을 배제하므로 유리하다. 추가적으로, 샘플링된 데이터는 행동 인식을 위해 직접 이용될 수 있으므로, 개시된 방법 및 디바이스는 낮은 대역폭 요건 및 낮은 전력 소모를 가능하게 한다. 또한, 데이터가 무선 디바이스에서 압축 샘플링되므로, 경제적으로 송신되고 중앙 디바이스에 저장될 수 있다. 또한, "랜덤" 샘플링을 사용하는 것은 샘플링 베이시스를 알지 못하고 데이터로부터 모든 것을 추론하기에 용이하지 않을 수 있는 것처럼 어느 정도의 프라이버시를 제공한다. 사용되는 베이시스에 대한 정보는 사용자 디바이스 또는 다른 보안 스토리지에만 저장될 수 있다. 실시예에서, 분류는 압축 해제 임계 아래에서도 수행될 수 있다. 또한, 행동 데이터는 분류화/머신 학습에 유익한 차원 감소 스텝을 자동으로 경험한다.
상술한 다양한 실시예는, 소프트웨어, 하드웨어, 애플리케이션 로직 또는 소프트웨어, 하드웨어 및 애플리케이션 로직의 조합으로 구현될 수 있다. 소프트웨어, 애플리케이션 로직 및/또는 하드웨어는 적어도 하나의 메모리, 적어도 하나의 프로세서, 장치 또는 컴퓨터 프로그램 제품 상에 상주할 수 있다. 예시적인 실시예에서, 애플리케이션 로직, 소프트웨어 또는 명령 세트는 다양한 통상적인 컴퓨터 판독가능 매체 중 임의의 하나에 유지된다. 이 문서의 문맥에서, "컴퓨터 판독가능 매체"는 도 3 및/또는 4에서 설명되고 도시된 하나의 예시적인 장치와, 컴퓨터와 같은 명령 실행 시스템, 장치 또는 디바이스와 접속하여 또는 이에 의한 사용을 위해 명령을 포함하고, 저장하고 통신하고 전파하거나 운송할 수 있는 임의의 매체 또는 수단일 수 있다. 컴퓨터 판독가능 매체는 컴퓨터와 같은 명령 실행 시스템, 장치 또는 디바이스와 접속하여 또는 이에 의한 사용을 위해 명령을 포함하거나 저장할 수 있는 임의의 매체 또는 수단일 수 있는 컴퓨터 판독가능 저장 매체를 포함할 수 있다. 하나의 예시적인 실시예에서, 컴퓨터 판독가능 매체는 비일시적일 수 있다.
원한다면, 여기에 설명된 상이한 기능이 다른 순서 및/또는 서로 동시에 수행될 수 있다. 또한, 원한다면 상술한 기능 중 하나 이상이 선택적이거나 결합될 수 있다.
실시예의 다양한 양태가 독립 청구항으로 개진되지만, 다른 양태는 설명된 실시예로부터의 특징의 다른 조합을 포함하고/하거나 종속 청구항은 독립 청구항의 특징을 갖고, 단지 조합이 청구항에 명확하게 개진되지는 않는다.
또한, 여기에서 본 발명의 예시적인 실시예를 상술하였지만, 이러한 설명은 한정적인 의미로 읽혀져서는 안된다. 오히려, 첨부된 청구항에 의해 규정되는 본 발명의 범위를 벗어나지 않고 이루어질 수 있는 몇몇 변형 및 수정이 존재한다.

Claims (15)

  1. 장치에서, 상기 장치에 무선으로 연결된 하나 이상의 센서로부터 행동(an activity)과 연관된 샘플링된 데이터를 수신하는 단계 - 상기 샘플링된 데이터는 상기 행동과 연관된 행동 데이터의 압축 샘플링에 기초하여 상기 하나 이상의 센서에서 생성되고, 상기 압축 샘플링은 샘플링 정보에 기초하여 수행됨 - 와,
    상기 샘플링된 데이터에 적어도 기초하여 상기 행동을 분류하는 단계와,
    상기 행동의 분류와 연관된 에러를 판정하는 단계와,
    상기 에러와 임계 에러의 비교에 기초하여 상기 샘플링 정보를 갱신하거나 유지하는 단계를 포함하는
    방법.
  2. 제 1 항에 있어서,
    상기 하나 이상의 센서가 상기 샘플링된 데이터를 생성하는 것을 가능하게 하기 위해 상기 샘플링 정보를 상기 하나 이상의 센서에 송신하는 단계를 더 포함하는
    방법.

  3. 제 1 항에 있어서,
    상기 샘플링 정보는 베이시스 행렬과, 상기 베이시스 행렬로부터 베이시스 벡터의 세트와 베이시스 사이즈를 선택하기 위한 선택 정보를 포함하는
    방법.
  4. 제 1 항에 있어서,
    상기 에러가 상기 임계 에러 이상이라는 판정시에 갱신된 샘플링 정보에 기초하여 상기 행동을 재분류하는 단계를 더 포함하는
    방법.
  5. 제 3 항에 있어서,
    상기 샘플링 정보를 갱신하는 단계는 상기 에러가 상기 임계 에러 이상이라는 판정시에 상기 베이시스 벡터의 세트와 연관된 베이시스 벡터의 수를 증가시키는 단계를 포함하는
    방법.

  6. 센서에서, 상기 센서에 무선으로 연결된 장치로부터 샘플링 정보를 수신하는 단계와,
    행동과 연관된 샘플링된 데이터를 생성하기 위한 샘플링 기준 및 상기 샘플링 정보에 적어도 기초하여 상기 행동과 연관된 행동 데이터의 압축 샘플링을 수행하는 단계와,
    상기 행동의 분류를 가능하게 하기 위해 상기 샘플링된 데이터를 상기 장치에 송신하는 단계를 포함하는
    방법.
  7. 제 6 항에 있어서,
    상기 샘플링 정보를 저장하는 단계를 더 포함하는
    방법.
  8. 제 6 항에 있어서,
    상기 샘플링 정보는 베이시스 행렬과, 상기 베이시스 행렬로부터 베이시스 벡터의 세트 및 베이시스 사이즈를 선택하기 위한 선택 정보를 포함하는
    방법.
  9. 제 6 항에 있어서,
    상기 샘플링 기준은 압축 샘플링을 수행하기 위한 인코히런트 베이시스(incoherent basis)의 선택을 포함하는
    방법.
  10. 제 8 항에 있어서,
    상기 압축 샘플링을 수행하는 단계는 상기 베이시스 벡터의 세트에 따라 상기 행동 데이터를 샘플링하는 단계를 포함하고,
    상기 베이시스 벡터의 세트는 상기 선택 정보에 기초하여 상기 베이시스 행렬로부터 랜덤하게 선택되는
    방법.
  11. 제 8 항에 있어서,
    상기 행동의 분류에서의 에러의 판정시에 갱신된 선택 정보를 수신하는 단계와,
    갱신된 샘플링된 데이터를 생성하기 위한 샘플링 기준 및 상기 갱신된 선택 정보에 적어도 기초하여 상기 행동 데이터의 압축 샘플링을 수행하는 단계와,
    상기 행동의 재분류를 가능하게 하기 위해 상기 갱신된 샘플링된 데이터를 송신하는 단계를 더 포함하는
    방법.
  12. 장치에서, 상기 장치에 무선으로 연결된 하나 이상의 센서로부터 행동과 연관된 샘플링된 데이터를 수신하는 수단 - 상기 샘플링된 데이터는 상기 행동과 연관된 행동 데이터의 압축 샘플링에 기초하여 상기 하나 이상의 센서에서 생성되고, 상기 압축 샘플링은 샘플링 정보에 기초하여 수행됨 - 과,
    상기 샘플링된 데이터에 적어도 기초하여 상기 행동을 분류하는 수단과,
    상기 행동의 제 1 라벨로의 분류와 연관된 에러를 판정하는 수단과,
    상기 에러와 임계 에러의 비교에 기초하여 상기 샘플링 정보를 갱신하거나 유지하는 수단을 포함하는
    장치.
  13. 제 12 항에 있어서,
    제 2 항 내지 제 5 항 중 어느 한 항에 따른 방법을 수행하는 수단을 더 포함하는
    장치.
  14. 장치에서, 상기 장치에 무선으로 연결된 다른 장치로부터 샘플링 정보를 수신하는 수단과,
    행동과 연관된 샘플링된 데이터를 생성하기 위한 샘플링 기준 및 상기 샘플링 정보에 적어도 기초하여 상기 행동과 연관된 행동 데이터의 압축 샘플링을 수행하는 수단과,
    상기 행동의 분류를 가능하게 하기 위해 상기 샘플링된 데이터를 상기 다른 장치에 송신하는 수단을 포함하는
    장치.
  15. 제 14 항에 있어서,
    상기 제 7 항 내지 제 11 항 중 어느 한 항에 따른 방법을 수행하는 수단을 더 포함하는
    장치.
KR1020140099122A 2013-08-02 2014-08-01 행동 인식을 위한 방법, 장치 및 컴퓨터 프로그램 제품 KR101593315B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1313827.6 2013-08-02
GB1313827.6A GB2516865A (en) 2013-08-02 2013-08-02 Method, apparatus and computer program product for activity recognition

Publications (2)

Publication Number Publication Date
KR20150016163A KR20150016163A (ko) 2015-02-11
KR101593315B1 true KR101593315B1 (ko) 2016-02-11

Family

ID=49224031

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140099122A KR101593315B1 (ko) 2013-08-02 2014-08-01 행동 인식을 위한 방법, 장치 및 컴퓨터 프로그램 제품

Country Status (6)

Country Link
US (1) US11103162B2 (ko)
EP (1) EP2835765A3 (ko)
JP (1) JP5951695B2 (ko)
KR (1) KR101593315B1 (ko)
CN (1) CN104346523B (ko)
GB (1) GB2516865A (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140109726A (ko) * 2013-03-06 2014-09-16 삼성전자주식회사 적은 연산량을 갖는 래티스 리덕션 방법 및 장치
US9788721B2 (en) * 2014-07-22 2017-10-17 Biobit, Inc. Low-power activity monitoring
US10129687B2 (en) * 2014-08-11 2018-11-13 Biobit, Inc. Compressed sensing with machine-to-machine communication
US10731984B2 (en) 2015-02-26 2020-08-04 Stmicroelectronics, Inc. Reconfigurable sensor unit for electronic device
US10260877B2 (en) * 2015-02-26 2019-04-16 Stmicroelectronics, Inc. Reconfigurable sensor unit for electronic device
US9870535B2 (en) 2015-02-26 2018-01-16 Stmicroelectronics, Inc. Method and apparatus for determining probabilistic context awareness of a mobile device user using a single sensor and/or multi-sensor data fusion
CN105120469B (zh) * 2015-07-06 2016-09-07 湘潭大学 基于压缩感知的质量可伸缩低信息密度数据收集方法
GB201522819D0 (en) * 2015-12-23 2016-02-03 Apical Ltd Random projection
US20170329808A1 (en) * 2016-05-12 2017-11-16 NeoTek Energy, Inc. System and method for a multi-sensor network interface for real-time data historian
EP3639372B1 (en) * 2017-07-17 2024-02-28 Siemens Aktiengesellschaft Method, field device and network for data acquisition
JP6861600B2 (ja) * 2017-09-11 2021-04-21 株式会社日立製作所 学習装置、および学習方法
CN109460778B (zh) * 2018-10-12 2024-04-09 中国平安人寿保险股份有限公司 活动评估方法、装置、电子设备及存储介质
US11544931B2 (en) 2020-05-26 2023-01-03 Otis Elevator Company Machine learning based human activity detection and classification in first and third person videos
US11768749B2 (en) * 2021-03-31 2023-09-26 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Analytics-based anomaly detection
CN116975938B (zh) * 2023-09-25 2023-11-24 北京谷器数据科技有限公司 一种产品制造过程中的传感器数据处理方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110066381A1 (en) * 2009-09-11 2011-03-17 Qualcomm Incorporated Method and apparatus for artifacts mitigation with multiple wireless sensors
KR101181301B1 (ko) 2011-03-22 2012-09-10 전자부품연구원 센싱 패턴을 이용한 저전력 기반의 상황 인식 방법

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0505396D0 (en) * 2005-03-16 2005-04-20 Imp College Innovations Ltd Spatio-temporal self organising map
JP5028751B2 (ja) 2005-06-09 2012-09-19 ソニー株式会社 行動認識装置
US8483492B2 (en) * 2005-10-25 2013-07-09 William Marsh Rice University Method and apparatus for signal detection, classification and estimation from compressive measurements
US7477999B2 (en) * 2006-10-26 2009-01-13 Samplify Systems, Inc. Data compression for a waveform data analyzer
CN101252430B (zh) 2007-05-10 2010-06-23 中国科学院研究生院 联合信源信道有效用户安全识别方法
JP4992043B2 (ja) 2007-08-13 2012-08-08 株式会社国際電気通信基礎技術研究所 行動識別装置、行動識別システムおよび行動識別方法
JP2009230169A (ja) 2008-03-19 2009-10-08 Mitsubishi Electric Corp パラメータ決定支援装置
CN102006824B (zh) 2008-04-16 2015-02-04 皇家飞利浦电子股份有限公司 用于睡眠/清醒状况估计的方法和系统
US10213164B2 (en) * 2008-09-26 2019-02-26 Qualcomm Incorporated Method and apparatus for under-sampled acquisition and transmission of photoplethysmograph (PPG) data and reconstruction of full band PPG data at the receiver
US9060714B2 (en) * 2008-12-04 2015-06-23 The Regents Of The University Of California System for detection of body motion
US8172722B2 (en) * 2008-12-05 2012-05-08 Nike, Inc. Athletic performance monitoring systems and methods in a team sports environment
US9451883B2 (en) * 2009-03-04 2016-09-27 The Regents Of The University Of California Apparatus and method for decoding sensory and cognitive information from brain activity
US20100246920A1 (en) * 2009-03-31 2010-09-30 Iowa State University Research Foundation, Inc. Recursive sparse reconstruction
JP5382436B2 (ja) 2009-08-03 2014-01-08 ソニー株式会社 データ処理装置、データ処理方法、およびプログラム
EP2491499A4 (en) 2009-10-19 2016-05-18 Theranos Inc INTEGRATED SYSTEM FOR COLLECTION AND ANALYSIS OF HEALTH DATA
EP2357785B1 (en) * 2009-12-22 2013-02-13 Sony Corporation Passive radiometric imaging device and corresponding method
WO2011085368A1 (en) 2010-01-11 2011-07-14 Research In Motion Limited Sensor-based wireless communication systems using compressed sensing with sparse data
US9075446B2 (en) * 2010-03-15 2015-07-07 Qualcomm Incorporated Method and apparatus for processing and reconstructing data
US8594167B2 (en) * 2010-08-25 2013-11-26 Indian Institute Of Science Determining spectral samples of a finite length sequence at non-uniformly spaced frequencies
JP5495235B2 (ja) 2010-12-02 2014-05-21 株式会社日立製作所 監視対象者の行動を監視する装置及び方法
US8930300B2 (en) * 2011-03-31 2015-01-06 Qualcomm Incorporated Systems, methods, and apparatuses for classifying user activity using temporal combining in a mobile device
US20130066815A1 (en) * 2011-09-13 2013-03-14 Research In Motion Limited System and method for mobile context determination
US9178590B2 (en) * 2011-12-27 2015-11-03 Industrial Technology Research Institute Channel information feedback method and wireless communication device using the same
CN103456148B (zh) * 2012-05-30 2018-03-02 华为技术有限公司 信号重构的方法和装置
US9523576B2 (en) * 2012-09-17 2016-12-20 Xsens Holding B.V. System and method for magnetic field data compression
US9838887B2 (en) 2012-12-17 2017-12-05 Nokia Technologies Oy Methods, apparatus and computer programs for obtaining data
US10398358B2 (en) * 2013-05-31 2019-09-03 Nike, Inc. Dynamic sampling
US20140361905A1 (en) * 2013-06-05 2014-12-11 Qualcomm Incorporated Context monitoring
US9554747B2 (en) * 2013-08-26 2017-01-31 EveryFit, Inc. Power efficient system and method for measuring physical activity in resource constrained devices

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110066381A1 (en) * 2009-09-11 2011-03-17 Qualcomm Incorporated Method and apparatus for artifacts mitigation with multiple wireless sensors
KR101181301B1 (ko) 2011-03-22 2012-09-10 전자부품연구원 센싱 패턴을 이용한 저전력 기반의 상황 인식 방법

Also Published As

Publication number Publication date
JP5951695B2 (ja) 2016-07-13
EP2835765A2 (en) 2015-02-11
US20150039260A1 (en) 2015-02-05
CN104346523A (zh) 2015-02-11
JP2015057691A (ja) 2015-03-26
GB2516865A (en) 2015-02-11
KR20150016163A (ko) 2015-02-11
US11103162B2 (en) 2021-08-31
GB201313827D0 (en) 2013-09-18
EP2835765A3 (en) 2015-02-18
CN104346523B (zh) 2018-01-02

Similar Documents

Publication Publication Date Title
KR101593315B1 (ko) 행동 인식을 위한 방법, 장치 및 컴퓨터 프로그램 제품
US11763599B2 (en) Model training method and apparatus, face recognition method and apparatus, device, and storage medium
US9734567B2 (en) Label-free non-reference image quality assessment via deep neural network
US10460231B2 (en) Method and apparatus of neural network based image signal processor
US10424318B2 (en) Method, system and program product for perceiving and computing emotions
EP2433416B1 (en) Context recognition in mobile devices
US20170046503A1 (en) Method for detecting activity information of user and electronic device thereof
US11545170B2 (en) Acoustic neural network scene detection
WO2016106383A2 (en) First-person camera based visual context aware system
KR20190007816A (ko) 동영상 분류를 위한 전자 장치 및 그의 동작 방법
CN110135497B (zh) 模型训练的方法、面部动作单元强度估计的方法及装置
WO2023125335A1 (zh) 问答对生成的方法和电子设备
CN113284142B (zh) 图像检测方法、装置、计算机可读存储介质及计算机设备
US20180262713A1 (en) Dynamically modeling an object in an environment from different perspectives
JP6461639B2 (ja) 学習データ生成システム、学習データ生成方法およびプログラム
JP6935863B2 (ja) 教師データ生成装置
CN112084959A (zh) 一种人群图像处理方法及装置
KR102177203B1 (ko) 악성 코드 탐지 방법 및 컴퓨터 판독 가능한 저장매체
CN113505256A (zh) 特征提取网络训练方法、图像处理方法及装置
CN113111917A (zh) 一种基于双重自编码器的零样本图像分类方法及装置
CN109543187B (zh) 电子病历特征的生成方法、装置及存储介质
CN113190646A (zh) 一种用户名样本的标注方法、装置、电子设备及存储介质
US20190192011A1 (en) Wearable health monitoring data service
US11191439B2 (en) Electronic device and method for capturing contents
US20190251355A1 (en) Method and electronic device for generating text comment about content

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
FPAY Annual fee payment

Payment date: 20190116

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200115

Year of fee payment: 5