KR20220044809A - 공간 시간 뉴럴 네트워크를 사용하여 제스처 인식을 수행하는 스마트-디바이스-기반 레이더 시스템 - Google Patents

공간 시간 뉴럴 네트워크를 사용하여 제스처 인식을 수행하는 스마트-디바이스-기반 레이더 시스템 Download PDF

Info

Publication number
KR20220044809A
KR20220044809A KR1020227008000A KR20227008000A KR20220044809A KR 20220044809 A KR20220044809 A KR 20220044809A KR 1020227008000 A KR1020227008000 A KR 1020227008000A KR 20227008000 A KR20227008000 A KR 20227008000A KR 20220044809 A KR20220044809 A KR 20220044809A
Authority
KR
South Korea
Prior art keywords
radar
data
gesture
space
neural network
Prior art date
Application number
KR1020227008000A
Other languages
English (en)
Inventor
미셀 마투스작
아벨 셀레시 멩기스투
니콜라스 질리언
아브히지트 아룬 샤
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20220044809A publication Critical patent/KR20220044809A/ko

Links

Images

Classifications

    • G06K9/00536
    • 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
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/02Systems using reflection of radio waves, e.g. primary radar systems; Analogous systems
    • G01S13/06Systems determining position data of a target
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/02Systems using reflection of radio waves, e.g. primary radar systems; Analogous systems
    • G01S13/06Systems determining position data of a target
    • G01S13/08Systems for measuring distance only
    • G01S13/32Systems for measuring distance only using transmission of continuous waves, whether amplitude-, frequency-, or phase-modulated, or unmodulated
    • G01S13/34Systems for measuring distance only using transmission of continuous waves, whether amplitude-, frequency-, or phase-modulated, or unmodulated using transmission of continuous, frequency-modulated waves while heterodyning the received signal, or a signal derived therefrom, with a locally-generated signal related to the contemporaneously transmitted signal
    • G01S13/345Systems for measuring distance only using transmission of continuous waves, whether amplitude-, frequency-, or phase-modulated, or unmodulated using transmission of continuous, frequency-modulated waves while heterodyning the received signal, or a signal derived therefrom, with a locally-generated signal related to the contemporaneously transmitted signal using triangular modulation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/02Systems using reflection of radio waves, e.g. primary radar systems; Analogous systems
    • G01S13/50Systems of measurement based on relative movement of target
    • G01S13/58Velocity or trajectory determination systems; Sense-of-movement determination systems
    • G01S13/583Velocity or trajectory determination systems; Sense-of-movement determination systems using transmission of continuous unmodulated waves, amplitude-, frequency-, or phase-modulated waves and based upon the Doppler effect resulting from movement of targets
    • G01S13/584Velocity or trajectory determination systems; Sense-of-movement determination systems using transmission of continuous unmodulated waves, amplitude-, frequency-, or phase-modulated waves and based upon the Doppler effect resulting from movement of targets adapted for simultaneous range and velocity measurements
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/88Radar or analogous systems specially adapted for specific applications
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/02Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00
    • G01S7/35Details of non-pulse systems
    • G01S7/352Receivers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/02Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00
    • G01S7/35Details of non-pulse systems
    • G01S7/352Receivers
    • G01S7/356Receivers involving particularities of FFT processing
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/02Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00
    • G01S7/41Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section
    • G01S7/417Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section involving the use of neural networks
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/4802Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/52Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S15/00
    • G01S7/539Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S15/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/014Hand-worn input/output arrangements, e.g. data gloves
    • G06K9/00523
    • G06K9/6271
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0445
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Social Psychology (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Psychiatry (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Electromagnetism (AREA)
  • Signal Processing (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

공간 시간 뉴럴 네트워크(222)를 사용하여 제스처 인식을 수행할 수 있는 스마트-디바이스-기반 레이더 시스템을 구현하는 기법들 및 장치들이 설명된다. 공간 시간 뉴럴 네트워크(222)는 복합 레이더 데이터에 근거하여 사용자의 제스처를 인식하기 위해 기계 학습을 이용한다. 공간 시간 뉴럴 네트워크(222)는 멀티-스테이지 기계-학습 아키텍처를 사용하여 구현되고, 이러한 멀티-스테이지 기계-학습 아키텍처는 레이더 시스템(102)으로 하여금 전력을 절약할 수 있게 하고 그리고 사용자의 제스처를 실시간으로(예컨대, 제스처가 수행됨에 따라) 인식할 수 있게 한다. 공간 시간 뉴럴 네트워크(222)는 또한, 적응가능하고, 그리고 크기, 컴퓨팅연산 요건들, 또는 레이턴시를 크게 증가시킴 없이 스와이프 제스처 및 뻗기 제스처와 같은 제스처들의 다수의 타입들을 인식하도록 확장될 수 있다.

Description

공간 시간 뉴럴 네트워크를 사용하여 제스처 인식을 수행하는 스마트-디바이스-기반 레이더 시스템
레이더(radar)들은 객체(object)들을 검출할 수 있는 유용한 디바이스(device)들이다. 카메라와 같은 센서(sensor)들의 다른 타입들과 비교해, 레이더는 낮은 조명 및 안개와 같은 상이한 환경 조건들의 존재에서 또는 움직이는 혹은 중첩되는 객체들이 있는 경우 향상된 성능을 제공할 수 있다. 레이더는 또한, 핸드백(purse) 혹은 주머니와 같은 하나 이상의 가림(occlusion)들을 통과해 객체들을 검출할 수 있다. 레이더가 많은 이점들을 가지지만, 전자 디바이스(electronic device)들 내에 레이더를 통합시키는 것과 관련된 많은 도전과제들이 존재한다.
하나의 도전과제는 소형 또는 모바일 전자 디바이스들 내에서의 전력 제약(power constraint)들을 포함한다. 일부 레이더들의 동작은 전자 디바이스의 배터리를 크게 소모시키고, 사용자로 하여금 전자 디바이스를 빈번하게 재충전하도록 한다. 결과적으로, 이용가능한 전력의 제한들로 인해 레이더의 효과적인 동작이 축소되거나 비활성되는 경우 레이더를 이용하는 이점들은 실현될 수 없다.
또 하나의 다른 도전과제는 소형 소비자 디바이스가 레이더의 설계 또는 동작에 부과할 수 있는 제약들을 포함한다. 크기 또는 레이아웃(layout) 제약들을 충족시키기 위해, 예를 들어, 더 적은 수의 안테나 요소들 그리고 다양한 안테나 요소 간격들이 사용될 수 있다. 다른 제약들은 레이더 신호의 대역폭, 전송 전력, 또는 업데이트 속도(update rate)를 제한할 수 있다. 결과적으로, 레이더의 설계는 저하된 신호-대-노이즈 비율(signal-to-noise ratio) 성능을 초래할 수 있는데, 이것은 일부 애플리케이션(application)들에 대해 충분한 정확도들을 성취하는 것을 도전과제가 되게 할 수 있다. 이처럼, 전자 디바이스 내에 통합되는 레이더의 성능은 크게 감소될 수 있다. 이것은 레이더가 지원할 수 있는 애플리케이션들의 타입들을 제한할 수 있고, 또는 레이더를 통합할 수 있는 전자 디바이스들의 타입들을 제한할 수 있다.
공간 시간 뉴럴 네트워크(space time neural network)를 사용하여 제스처 인식(gesture recognition)을 수행할 수 있는 스마트-디바이스-기반 레이더 시스템(smart-device-based radar system)을 구현하는 기법들 및 장치들이 설명된다. 공간 시간 뉴럴 네트워크는 제스처 인식을 위해 복합 레이더 데이터(complex radar data)(예를 들어, 크기 및 위상 정보 양쪽 모두)를 분석하기 위해 기계 학습(machine learning)을 이용한다. 크기 및 위상 정보를 모두 분석함으로써, 공간 시간 뉴럴 네트워크는, 크기 정보를 프로세싱하는 다른 신호-프로세싱 기법들, 휴리스틱 기법(heuristic technique)들, 또는 기계-학습 기법들과 비교해, 분산된 객체들을 검출하고 제스처들을 인식하기 위한 향상된 정확도들을 실현할 수 있다.
공간 시간 뉴럴 네트워크는 멀티-스테이지 기계-학습 아키텍처(multi-stage machine-learning architecture)를 사용하여 구현된다. 제 1 스테이지에서, 공간-순환 네트워크(space-recurrent network)는 특징 데이터(feature data)를 발생시키기 위해 공간 도메인(spatial domain)에 걸쳐 복합 레이더 데이터를 분석한다. 특징 데이터는 사용자에 의해 수행되는 제스처의 하나 이상의 특징들(예컨대, 특성(characteristic)들)을 식별시킨다. 특징 데이터는 시간의 적어도 일부분 동안 원형 버퍼(circular buffer)의 메모리 요소(memory element) 내에 저장된다. 시간이 진행됨에 따라, 다른 특징 데이터가 원형 버퍼의 다른 메모리 요소들 내에 저장된다. 제 2 스테이지에서, 시간-순환 네트워크(time-recurrent network)는 제스처를 인식하기 위해 시간 도메인(temporal domain)에 걸쳐 특징 데이터를 분석한다.
이러한 멀티-스테이지 설계는 레이더 시스템으로 하여금 전력을 절약할 수 있게 하고 그리고 제스처를 실시간으로(예컨대, 제스처가 수행됨에 따라) 인식할 수 있게 한다. 원형 버퍼의 사용은, 예를 들어, 레이더 시스템으로 하여금 특징 데이터를 재생성(regenerate)할 필요성 또는 복합 레이더 데이터를 저장할 필요성을 경감시킴으로써 전력 및 메모리를 절약할 수 있게 한다. 복합 레이더 데이터 대신에 특징 데이터를 저장하는 것은 또한, 제스처를 인식하기 위한 컴퓨팅연산 시간(computational time)을 감소시킨다. 공간 시간 뉴럴 네트워크는 또한, 적응가능하고(adaptable), 그리고 크기, 컴퓨팅연산 요건(computational requirement)들, 또는 레이턴시(latency)를 크게 증가시킴 없이 스와이프 제스처(swipe gesture) 및 뻗기 제스처(reach gesture)와 같은 제스처들의 다수의 타입들을 인식하도록 확장될 수 있다.
아래에서 설명되는 실시형태들은 제스처 인식을 위해 레이더 시스템에 의해 수행되는 방법을 포함한다. 본 방법은 레이더 시스템의 안테나 어레이(antenna array)를 사용하여 레이더 전송 신호(radar transmit signal)를 전송하는 것을 포함한다. 본 방법은 또한, 안테나 어레이를 사용하여 레이더 수신 신호(radar receive signal)를 수신하는 것을 포함한다. 레이더 수신 신호는 적어도 하나의 사용자에 의해 반사되는 레이더 전송 신호의 임의의 버전(version)을 포함한다. 본 방법은 추가적으로, 레이더 수신 신호에 근거하여 복합 레이더 데이터를 발생시키는 것과, 그리고 복합 레이더 데이터를 레이더 시스템의 공간 시간 뉴럴 네트워크에 제공하는 것을 포함한다. 공간 시간 뉴럴 네트워크는 멀티-스테이지 기계-학습 아키텍처를 포함한다. 본 방법은 또한, 적어도 하나의 사용자에 의해 수행되는 제스처를 인식하기 위해 공간 시간 뉴럴 네트워크를 사용하여 복합 레이더 데이터를 분석하는 것을 포함한다.
아래에서 설명되는 실시형태들은 또한 레이더 시스템을 포함하는 장치를 포함한다. 레이더 시스템은 안테나 어레이 및 송수신기(transceiver)를 포함한다. 레이더 시스템은 또한, 설명된 방법들 중 임의의 방법을 수행하도록 구성된 프로세서 및 컴퓨터-판독가능 저장 매체들(computer-readable storage media)을 포함한다.
아래에서 설명되는 실시형태들은 컴퓨터-실행가능 명령들을 포함하는 컴퓨터-판독가능 저장 매체들을 포함하고, 여기서 컴퓨터-실행가능 명령들은, 프로세서에 의한 실행에 응답하여, 공간 시간 뉴럴 네트워크를 구현하고, 여기서 공간 시간 뉴럴 네트워크는, 적어도 하나의 객체에 의해 반사되는 레이더 수신 신호와 관련된 복합 레이더 데이터를 수용하도록 구성된다. 공간 시간 뉴럴 네트워크는 또한, 특징 데이터를 발생시키기 위해, 기계 학습을 사용하여, 공간 도메인에 걸쳐 복합 레이더 데이터를 분석하도록 구성된다. 추가적으로, 공간 시간 뉴럴 네트워크는, 레이더-애플리케이션 데이터(radar-application data)를 발생시키기 위해, 기계 학습을 사용하여, 시간 도메인에 걸쳐 특징 데이터를 분석하도록 구성된다. 공간 시간 뉴럴 네트워크는, 레이더-애플리케이션 데이터를 레이더-기반 애플리케이션(radar-based application)으로 전달(pass)하도록 구성된다.
아래에서 설명되는 실시형태들은 또한, 복합 레이더 데이터에 근거하여 제스처 인식을 수행하기 위한 공간 시간 뉴럴 네트워크 수단을 갖는 시스템을 포함한다.
공간 시간 뉴럴 네트워크를 사용하여 제스처 인식을 수행할 수 있는 스마트-디바이스-기반 레이더 시스템을 구현하는 기법들 및 이를 구현하기 위한 장치들이 다음의 도면들을 참조하여 설명된다. 유사한 특징들 및 컴포넌트(component)들을 참조하기 위해 도면들 전체에 걸쳐 동일한 번호들이 사용된다.
도 1은 공간 시간 뉴럴 네트워크를 사용하여 제스처 인식을 수행할 수 있는 스마트-디바이스-기반 레이더 시스템이 구현될 수 있는 예시적 환경들을 예시한다.
도 2는 스마트 디바이스의 일부로서 레이더 시스템의 예시적 구현을 예시한다.
도 3a은 예시적 레이더 시스템의 동작을 예시한다.
도 3b는 제스처 인식을 위한 예시적 레이더 프레이밍 구조(radar framing structure)를 예시한다.
도 4는 레이더 시스템의 예시적 안테나 어레이 및 예시적 송수신기를 예시한다.
도 5는 공간 시간 뉴럴 네트워크를 사용하여 제스처 인식을 수행하기 위한 레이더 시스템에 의해 구현되는 예시적 스킴(scheme)을 예시한다.
도 6a는 제스처 인식을 위한 예시적 하드웨어-추상화 모듈(hardware-abstraction module)을 예시한다.
도 6b는 제스처 인식을 위한 하드웨어-추상화 모듈에 의해 발생되는 예시적 하드웨어-독립적 복합 레이더 데이터(hardware-agnostic complex radar data)를 예시한다.
도 7a는 제스처 인식을 수행하기 위한 예시적 공간 시간 뉴럴 네트워크를 예시한다.
도 7b는 공간 시간 뉴럴 네트워크의 예시적 처프-레벨 분석 모듈(chirp-level analysis module)을 예시한다.
도 7c는 공간 시간 뉴럴 네트워크의 예시적 특징-레벨 분석 모듈(feature-level analysis module)을 예시한다.
도 7d는 공간 시간 뉴럴 네트워크의 예시적 애플리케이션-레벨 분석 모듈(application-level analysis module)을 예시한다.
도 8은 공간 시간 뉴럴 네트워크를 사용하여 제스처 인식을 수행할 수 있는 스마트-디바이스-기반 레이더 시스템의 동작들을 수행하기 위한 예시적 방법을 예시한다.
도 9는 공간 시간 뉴럴 네트워크를 사용하여 제스처 인식을 수행할 수 있는 레이더 시스템을 구현하는, 또는 이러한 레이더 시스템의 사용을 가능하게 하는 기법들이 구현될 수 있는, 예시적 컴퓨팅 시스템을 예시한다.
개관(Overview)
전자 디바이스 내에 레이더 시스템을 통합시키는 것은 도전과제일 수 있다. 전자 디바이스는, 예를 들어, 제한된 양의 이용가능한 전력을 가질 수 있다. 이에 따라, 레이더 시스템은 전송 전력을 증가시킬 수 없을 수 있고, 또는 더 높은 업데이트 속도(update rate)들을 이용할 수 없을 수 있다. 일부 경우들에서, 전자 디바이스의 크기 또는 레이아웃 제약은 안테나 요소들의 양을 제한할 수 있고, 또는 결과적으로 차선의(sub-optimal) 안테나 요소 간격을 초래할 수 있는데, 이는 각도 분해능(angular resolution)을 제한할 수 있다. 다른 하드웨어 제한들 또는 주파수 제한들이 레이더 신호의 대역폭을 제한할 수 있고, 이것은 펄스-압축 기법(pulse-compression technique)들을 사용하는 레이더들에 대한 범위 분해능(range resolution)을 제한할 수 있다. 이러한 제한들로 인해, 일부 레이더들이 타겟 정확도들(target accuracies)을 성취하는 것은 도전과제일 수 있다.
타겟 정확도들은 또한, 비-결정적 레이더 시그니처(non-deterministic radar signature)들을 갖는 분산된 객체들을 검출하기 위해 실현함에 있어 도전과제일 수 있다. 분산된 객체들의 예시적 타입들은 인체 일부분들(예컨대, 손가락, 손, 얼굴, 또는 부속기관(appendage)) 또는 인체를 포함한다. 레이더의 관점에서, 분산된 객체는 다수의 위상 중심(phase center)들(예컨대, 산란 지점(scattering point)들)을 갖고, 이것은 분산된 객체의 레이더 시그니처가 상이한 관찰 각도(observation angle)들에 걸쳐 변하도록 한다. 분산된 객체를 관찰하는 동안, 관찰 각도는 분산된 객체의 모션(motion) 또는 레이더의 모션으로 인해 변할 수 있다. 관찰 각도가 변함에 따라, 레이더 시그니처의 진폭 또는 위상은 변할 수 있고, 이것은 비-분산된 객체(non-distributed object)들(예컨대, 결정적 레이더 시그니처(deterministic radar signature)들을 갖는 객체들)에 대해 적합한 레이더 프로세싱 기법들을 사용하여 생성되는 위치 데이터에서의 에러(error) 또는 불확실성(uncertainty)을 증가시킨다.
이러한 문제들에 대처하기 위해, 본 문서는 공간 시간 뉴럴 네트워크를 사용하여 제스처 인식을 수행할 수 있는 스마트-디바이스-기반 레이더 시스템을 구현하는 기법들 및 디바이스들을 설명한다. 공간 시간 뉴럴 네트워크는 제스처 인식을 위해 복합 레이더 데이터(예컨대, 크기 및 위상 정보 양쪽 모두)를 분석하기 위해서 기계 학습을 이용한다. 크기 및 위상 정보를 모두 분석함으로써, 공간 시간 뉴럴 네트워크는, 크기 정보를 프로세싱하는 다른 신호-프로세싱 기법들, 휴리스틱 기법들, 또는 기계-학습 기법들과 비교해, 분산된 객체들을 검출하고 제스처들을 인식하기 위한 향상된 정확도들을 실현할 수 있다. 본 명세서에서 특정 문맥에 의해 달리 표시되지 않는다면, 증가된 정확도는 증가된 세분화도(degree of refinement)를 지칭하거나, 증가된 사실 부합도(conformity to truth)를 지칭하거나, 또는 증가된 세분화도와 증가된 사실 부합도를 모두 지칭한다.
공간 시간 뉴럴 네트워크는 멀티-스테이지 기계-학습 아키텍처를 사용하여 구현된다. 제 1 스테이지에서, 공간-순환 네트워크는 특징 데이터를 발생시키기 위해 공간 도메인에 걸쳐 복합 레이더 데이터를 분석한다. 특징 데이터는 사용자에 의해 수행되는 제스처의 하나 이상의 특징들(예컨대, 특성들)을 식별시킨다. 특징 데이터는 시간의 적어도 일부분 동안 원형 버퍼의 메모리 요소 내에 저장된다. 시간이 진행됨에 따라, 다른 특징 데이터가 원형 버퍼의 다른 메모리 요소들 내에 저장된다. 제 2 스테이지에서, 시간-순환 네트워크는 제스처를 인식하기 위해 시간 도메인에 걸쳐 특징 데이터를 분석한다.
이러한 멀티-스테이지 설계는 레이더 시스템으로 하여금 전력을 절약할 수 있게 하고 그리고 제스처를 실시간으로(예컨대, 제스처가 수행됨에 따라) 인식할 수 있게 한다. 원형 버퍼의 사용은, 예를 들어, 레이더 시스템으로 하여금 특징 데이터를 재생성할 필요성 또는 복합 레이더 데이터를 저장할 필요성을 경감시킴으로써 전력 및 메모리를 절약할 수 있게 한다. 복합 레이더 데이터 대신에 특징 데이터를 저장하는 것은 또한, 제스처를 인식하기 위한 컴퓨팅연산 시간을 감소시킨다. 공간 시간 뉴럴 네트워크는 또한, 적응가능하고, 그리고 크기, 컴퓨팅연산 요건들, 또는 레이턴시를 크게 증가시킴 없이 스와이프 제스처 및 뻗기 제스처와 같은 제스처들의 다수의 타입들을 인식하도록 확장될 수 있다.
예시적 환경(Example Environment)
도 1은 공간 시간 뉴럴 네트워크를 사용하여 제스처 인식을 수행할 수 있는 스마트-디바이스-기반 레이더 시스템을 사용하는 기법들, 및 이러한 스마트-디바이스-기반 레이더 시스템을 포함하는 장치가 구현될 수 있는 예시적 환경들(100-1 내지 100-6)의 예시이다. 도시된 환경들(100-1 내지 100-6)에서, 스마트 디바이스(104)는 (도 2의) 공간 시간 뉴럴 네트워크를 사용하여 하나 이상의 객체들(예컨대, 사용자들)을 검출할 수 있는 레이더 시스템(102)을 포함한다. 스마트 디바이스(104)는 환경들(100-1 내지 100-5) 내에서는 스마트폰인 것으로 보여지며, 환경(100-6) 내에서는 스마트 차량인 것으로 보여진다.
환경들(100-1 내지 100-4) 내에서, 사용자는 제스처들의 상이한 타입들을 수행하는데, 이들은 레이더 시스템(102)에 의해 검출된다. 일부 경우들에서, 사용자는 부속기관 또는 신체 일부분을 사용하여 제스처를 수행한다. 대안적으로, 사용자는 또한, 스타일러스(stylus), 손에-잡힌 객체(hand-held object), 반지(ring), 또는 레이더 신호들을 반사할 수 있는 임의 타입의 물질을 사용하여 제스처를 수행할 수 있다.
환경(100-1) 내에서, 사용자는 수평 차원(horizontal dimension)을 따라(예를 들어, 스마트 디바이스(104)의 좌측으로부터 스마트 디바이스(104)의 우측으로) 스마트 디바이스(104) 위에서 손을 움직임으로써 스크롤링 제스처(scrolling gesture)를 만든다. 환경(100-2) 내에서, 사용자는 스마트 디바이스(104)와 사용자의 손 사이의 거리를 감소시키는 뻗는 제스처(reaching gesture)를 만든다. 환경(100-3) 내의 사용자들은 스마트 디바이스(104) 상에서 게임(game)을 플레이(play)하기 위해 손 제스처(hand gesture)들을 만든다. 하나의 예에서, 사용자는 수직 차원(vertical dimension)을 따라(예를 들어, 스마트 디바이스(104)의 하부측으로부터 스마트 디바이스(104)의 상부측으로) 스마트 디바이스(104) 위에서 손을 움직임으로써 미는 제스처(pushing gesture)를 만든다. 환경(100-4) 내에서, 스마트 디바이스(104)는 핸드백 내에 보관되어 있고, 레이더 시스템(102)은 핸드백에 의해 가려진 제스처들을 검출함으로써 가려진-제스처 인식을 제공한다.
레이더 시스템(102)은 또한, 도 1에서 보여지지 않는 제스처들 또는 모션들의 다른 타입들을 인식할 수 있다. 제스처들의 예시적 타입들은 손잡이-돌리기 제스처(knob-turning gesture)를 포함하는데, 여기서 사용자는 가상의 문손잡이(doorknob)를 잡기 위해 자신들의 손가락들을 오므리고 그리고 가상의 문손잡이를 돌리는 행위(action)를 흉내 내기 위해 시계방향으로 혹은 반-시계방향으로 자신들의 손가락들 및 손을 회전시킨다. 제스처의 또 하나의 다른 예시적 타입은 사용자가 엄지손가락 및 적어도 하나의 다른 손가락을 함께 문지름으로써 수행하는 스핀들-꼬기 제스처(spindle-twisting gesture)를 포함한다. 제스처들은 2-차원 제스처들일 수 있는데, 예컨대, 터치-감지 디스플레이(touch-sensitive display)들과 함께 사용되는 제스처들(예를 들어, 2-손가락 집기(two-finger pinch), 2-손가락 펴기(two-finger spread), 또는 두드리기(tap))일 수 있다. 제스처들은 또한 3-차원 제스처들일 수 있는데, 예컨대, 많은 수화-언어 제스처(sign-language gesture)들일 수 있고, 예를 들어, 미국 수화 언어(American Sign Language, ASL)의 제스처들, 및 전 세계의 다른 수화 언어들의 제스처들일 수 있다. 이러한 제스처들 각각을 검출하는 경우, 스마트 디바이스(104)는 새로운 콘텐츠(content)를 디스플레이하는 것, 커서(cursor)를 이동시키는 것, 하나 이상의 센서(sensor)들을 활성화시키는 것, 애플리케이션을 오픈(open)하는 것, 등과 같은 행위를 수행할 수 있다. 이러한 방식으로, 레이더 시스템(102)은 스마트 디바이스(104)의 터치-없는 제어(touch-free control)를 제공한다.
환경(100-5) 내에서, 레이더 시스템(102)은 콘텍스트 인식(contextual awareness)을 위해 주변 환경의 3-차원 맵(three-dimensional map)을 생성한다. 레이더 시스템(102)은 또한, 양쪽 사용자들이 스마트 디바이스(104)와 상호작용할 수 있도록 하기 위해 다수의 사용자들을 검출 및 추적한다. 레이더 시스템(102)은 또한, 활력-징후 검출(vital-sign detection)을 수행할 수 있다. 환경(100-6) 내에서, 레이더 시스템(102)은 차량을 운전하는 사용자의 활력 징후들을 모니터링(monitor)한다. 예시적 활력 징후들은 심박동수(heart rate) 및 호흡률(respiration rate)을 포함한다. 만약 레이더 시스템(102)이 운전자가 잠들어 있음을 결정한다면, 예컨대, 레이더 시스템(102)은 스마트 디바이스(104)로 하여금 사용자에게 경고하도록 할 수 있다. 대안적으로, 만약 레이더 시스템(102)이 심장 마비(heart attack)와 같은 생명을 위협하는 응급상황을 검출한다면, 레이더 시스템(102)은 스마트 디바이스(104)로 하여금 의료 전문가 또는 응급 서비스들에게 경고하도록 할 수 있다.
레이더 시스템(102)의 일부 구현예들은 문제들의 수렴이 존재하는 스마트 디바이스들(104)의 맥락에서 적용됨에 따라 특히 이롭다. 이것은 레이더 시스템(102)의 간격 및 레이아웃에서의 제한들에 대한 필요성 및 낮은 전력에 대한 필요성을 포함한다. 스마트 디바이스(104)의 예시적인 전체 측면 치수들은 예를 들어, 가로가 대략 8 센티미터(centimeters)이고 세로가 대략 15 센티미터일 수 있다. 레이더 시스템(102)의 예시적인 풋프린트(footprint)들은 훨씬 더 제한될 수 있는데, 예컨대, 안테나들이 포함된 상태에서 가로가 대략 4 밀리미터(millimeters)이고 세로가 6 밀리미터일 수 있다. 레이더 시스템(102)의 예시적인 전력 소비는 대략 몇 밀리와트(milliwatts) 내지 수십 밀리와트일 수 있다(예컨대, 대략 2 밀리와트와 20 밀리와트 사이일 수 있음). 레이더 시스템(102)에 대한 이러한 제한된 풋프린트 및 전력 소비의 요건은 스마트 디바이스(104)로 하여금 공간-제한된 패키지(package) 내에서 다른 바람직한 특징들(예컨대, 카메라 센서, 지문 센서, 디스플레이, 등)을 포함할 수 있게 한다. 스마트 디바이스(104) 및 레이더 시스템(102)은 또한 도 2와 관련하여 설명된다.
도 2는 스마트 디바이스(104)의 일부로서 레이더 시스템(102)을 예시한다. 스마트 디바이스(104)가 다양한 비-한정적인 예시적 디바이스들을 갖도록 예시되어 있는데, 여기에는 데스크탑 컴퓨터(desktop computer)(104-1), 태블릿(tablet)(104-2), 랩탑(laptop)(104-3), 텔레비전(television)(104-4), 컴퓨팅 와치(computing watch)(104-5), 컴퓨팅 안경(computing glasses)(104-6), 게이밍 시스템(gaming system)(104-7), 마이크로웨이브(microwave)(104-8), 및 차량(vehicle)(104-9)이 포함된다. 다른 디바이스들이 또한 사용될 수 있는데, 예컨대, 홈 서비스 디바이스(home service device), 스마트 스피커(smart speaker), 스마트 서모스탯(smart thermostat), 보안 카메라(security camera), 베이비 모니터(baby monitor), 와이-파이 라우터(Wi-FiTM router), 드론(drone), 트랙패드(trackpad), 드로잉 패드(drawing pad), 넷북(netbook), 이-리더(e-reader), 홈-자동화 및 제어 시스템(home-automation and control system), 벽면 디스플레이(wall display), 및 또 하나의 다른 홈 가전기기(home appliance)가 사용될 수 있다. 스마트 디바이스(104)는 착용가능할 수 있거나, 또는 착용가능하지 않지만 이동가능할 수 있거나, 또는 상대적으로 이동가능하지 않을 수 있음(예컨대, 데스크탑 및 가전기기들)에 유의해야 한다. 레이더 시스템(102)은, 독립형 레이더 시스템으로서 사용될 수 있거나, 또는 많은 상이한 스마트 디바이스들(104) 혹은 주변기기들과 함께 사용될 수 있거나, 또는 이들 내에 임베드(embed)될 수 있는데, 예를 들어, 홈 가전기기들 및 시스템들을 제어하는 제어 패널(control panel)들 내에서, 또는 내부 기능들(예컨대, 음량, 운항 제어(cruise control), 또는 심지어 자동차의 운전)을 제어하기 위해 자동차들 내에서, 또는 랩탑 상의 컴퓨팅 애플리케이션들을 제어하기 위해 랩탑 컴퓨터에 대한 부착물로서, 그러할 수 있다.
스마트 디바이스(104)는 하나 이상의 컴퓨터 프로세서들(202) 및 (메모리 매체들 및 저장 매체들을 포함하는) 하나 이상의 컴퓨터-판독가능 매체들(204)을 포함한다. 컴퓨터-판독가능 매체들(204) 상의 컴퓨터-판독가능 명령들로서 구현되는 애플리케이션들 및/또는 오퍼레이팅 시스템(operating system)(미도시)은 본 명세서에서 설명되는 기능들 중 일부를 제공하기 위해 컴퓨터 프로세서(202)에 의해 실행될 수 있다. 컴퓨터-판독가능 매체들(204)은 또한 레이더-기반 애플리케이션(206)을 포함하고, 여기서 레이더-기반 애플리케이션(206)은 존재 검출, 제스처-기반 터치-없는 제어, 자율 주행을 위한 충돌 회피, 인간 활력-징후 통지, 등과 같은 기능을 수행하기 위해 레이더 시스템(102)에 의해 발생되는 레이더 데이터를 사용한다.
스마트 디바이스(104)는 또한 유선, 무선, 또는 광학 네트워크들을 통해 데이터를 전달하기 위한 네트워크 인터페이스(208)를 포함할 수 있다. 예를 들어, 네트워크 인터페이스(208)는, 로컬-영역 네트워크(Local-Area-Network, LAN), 무선 로컬-영역-네트워크(Wireless Local-Area-Network, WLAN), 개인-영역-네트워크(Personal-Area-Network, PAN), 유선-영역-네트워크(Wire-Area-Network, WAN), 인트라넷(intranet), 인터넷(Internet), 피어-투-피어 네트워크(peer-to-peer network), 포인트-투-포인트 네트워크(point-to-point network), 메쉬 네트워크(mesh network), 등을 통해 데이터를 전달할 수 있다. 스마트 디바이스(104)는 또한 디스플레이(미도시)를 포함할 수 있다.
레이더 시스템(102)은 레이더 데이터를 원격 디바이스로 전송하기 위해 통신 인터페이스(210)를 포함한다(비록 레이더 시스템(102)이 스마트 디바이스(104) 내에 통합될 때 이것이 사용될 필요가 없을지라도 그러함). 일반적으로, 통신 인터페이스(210)에 의해 제공되는 레이더 데이터는 레이더-기반 애플리케이션(206)에 의해 사용가능한 포맷(format)으로 존재한다.
레이더 시스템(102)은 또한, 레이더 신호들을 전송 및 수신하기 위해 적어도 하나의 안테나 어레이(212) 및 적어도 하나의 송수신기(214)를 포함한다. 안테나 어레이(212)는 적어도 하나의 전송 안테나 요소 및 적어도 두 개의 수신 안테나 요소들을 포함한다. 일부 상황들에서, 안테나 어레이(212)는 주어진 시간에 다수의 개별 파형들(예컨대, 전송 안테나 요소 별 상이한 파형)을 전송할 수 있는 다수-입력 다수-출력(Multiple-Input Multiple-Output, MIMO) 레이더를 구현하기 위해 다수의 전송 안테나 요소들을 포함한다. 안테나 요소들은 원형으로 편파(circularly polarized)될 수 있거나, 수평으로 편파(horizontally polarized)될 수 있거나, 수직으로 편파(vertically polarized)될 수 있거나, 또는 이들의 임의의 조합일 수 있다.
안테나 어레이(212)의 수신 안테나 요소들은, 세 개 이상의 수신 안테나 요소들을 포함하는 구현들을 위해 1-차원 형상(예컨대, 직선형) 또는 2-차원 형상(예컨대, 직사각형 정렬, 삼각형 정렬, 또는 "L"자 형상 정렬)으로 배치될 수 있다. 1-차원 형상은 레이더 시스템(102)으로 하여금 하나의 각도 차원(예컨대, 방위각(azimuth) 혹은 고각(elevation))을 측정할 수 있게 하고, 반면 2-차원 형상은 레이더 시스템(102)으로 하여금 (예컨대, 객체의 방위각과 고각 양쪽 모두를 결정하기 위해) 두 개의 각도 차원들을 측정할 수 있게 한다. 수신 안테나 요소들과 관련된 요소 간격은 레이더 신호의 중심 파장의 절반보다 작을 수 있거나, 클 수 있거나, 또는 동일할 수 있다.
안테나 어레이(212)를 사용하여, 레이더 시스템(102)은 조향(steered)된 혹은 조향되지 않은(un-steered), 광폭(wide) 혹은 협폭(narrow), 또는 성형된(shaped)(예컨대, 반구(hemisphere), 정육면체(cube), 부채꼴(fan), 원뿔(cone), 원통(cylinder)) 빔(beam)들을 형성할 수 있다. 조향(steering) 및 성형(shaping)은 아날로그 빔포밍(analog beamforming) 또는 디지털 빔포밍(digital beamforming)을 통해 성취될 수 있다. 하나 이상의 전송 안테나 요소들은, 예컨대, 조향되지 않은 전방향성 방사 패턴(un-steered omnidirectional radiation pattern)을 가질 수 있고, 또는 큰 공간 부피를 조명(illuminate)하기 위해 광폭 조향가능 빔(wide steerable beam)을 생성할 수 있다. 타겟 각도 정확도들 및 각도 분해능들을 성취하기 위해, 수신 안테나 요소들은 디지털 빔포밍으로 수백 혹은 수천 개의 협폭 피조향 빔(narrow steered beam)들을 발생시키는데 사용될 수 있다. 이러한 방식으로, 레이더 시스템(102)은 외부 환경을 효율적으로 모니터링할 수 있고 하나 이상의 사용자들을 검출할 수 있다.
송수신기(214)는 안테나 어레이(211)를 통해 레이더 신호들을 전송 및 수신하기 위한 회로 및 로직(logic)을 포함한다. 송수신기(214)의 컴포넌트들은 증폭기(amplifier)들, 혼합기(mixer)들, 스위치(switch)들, 아날로그-대-디지털 변환기(analog-to-digital converter)들, 또는 레이더 신호들을 조절(conditioning)하기 위한 필터(filter)들을 포함할 수 있다. 송수신기(214)는 또한, 변조(modulation) 혹은 복조(demodulation)와 같은 동-위상/직교위상(In-phase/Quadrature)(I/Q) 동작들을 수행하기 위한 로직을 포함한다. 선형 주파수 변조들(linear frequency modulations), 삼각형 주파수 변조들(triangular frequency modulations), 계단형 주파수 변조들(stepped frequency modulations), 또는 위상 변조들(phase modulations)을 포함하는 다양한 변조들이 사용될 수 있다. 대안적으로, 송수신기(214)는 상대적으로 일정한 주파수 또는 단일 톤(single tone)을 갖는 레이더 신호들을 생성할 수 있다. 송수신기(214)는 연속-파(continuous-wave) 또는 펄스화된 레이더 동작들(pulsed radar operation)을 지원하도록 구성될 수 있다.
레이더 신호들을 발생시키기 위해 송수신기(214)가 사용하는 주파수 스펙트럼(frequency spectrum)(예컨대, 주파수들의 범위)은 1과 400 기가헤르츠(gigahertz)(GHz) 사이의 주파수들, 4와 100 GHz 사이의 주파수들, 1과 24 GHz 사이의 주파수들, 2와 4 GHz 사이의 주파수들, 57과 64 GHz 사이의 주파수들, 또는 대략 2.4 GHz에서의 주파수들을 포괄할 수 있다. 일부 경우들에서, 주파수 스펙트럼은 유사한 혹은 상이한 대역폭들을 갖는 다수의 서브-스펙트럼(sub-spectrum)들로 분할될 수 있다. 대역폭들은 대략 500 메가헤르츠(megahertz)(MHz), 1 GHz, 2 GHz, 등일 수 있다. 상이한 주파수 서브-스펙트럼들은, 예를 들어, 대략 57과 59 GHz 사이의 주파수들, 59와 61 GHz 사이의 주파수들, 또는 61과 63 GHz 사이의 주파수들을 포함할 수 있다. 비록 앞에서 설명된 예시적 주파수 서브-스펙트럼들이 인접하여 있지만, 다른 주파수 서브-스펙트럼들은 인접하지 않을 수 있다. 코히어런스(coherence)를 성취하기 위해서, 동일한 대역폭을 갖는 다수의 (연속 혹은 비연속) 주파수 서브-스펙트럼들이 (동시에 전송되는 또는 시간적으로 분리된) 다수의 레이더 신호들을 발생시키기 위해 송수신기(214)에 의해 사용될 수 있다. 일부 상황들에서, 다수의 인접하는 주파수 서브-스펙트럼들이 단일의 레이더 신호를 전송하기 위해 사용될 수 있고, 그럼으로써 레이더 신호는 광폭 대역폭을 가질 수 있게 된다.
레이더 시스템(102)은 또한, 하나 이상의 시스템 프로세서들(216) 및 하나 이상의 시스템 매체들(218)(예컨대, 하나 이상의 컴퓨터-판독가능 저장 매체들)을 포함한다. 시스템 매체들(218)은 선택에 따라서는 하드웨어-추상화 모듈(220)을 포함한다. 시스템 매체들(218)은 또한, 적어도 하나의 공간 시간 뉴럴 네트워크(222) 및 적어도 하나의 원형 버퍼(224)를 포함한다. 하드웨어-추상화 모듈(220), 공간 시간 뉴럴 네트워크(222), 및 원형 버퍼(224)는 하드웨어, 소프트웨어, 펌웨어(firmware), 또는 이들의 임의의 조합을 사용하여 구현될 수 있다. 이러한 예에서, 시스템 프로세서(216)는 하드웨어-추상화 모듈(220) 및 공간 시간 뉴럴 네트워크(222)를 구현한다. 시스템 프로세서(216) 또는 메모리 제어기는 원형 버퍼(224)를 구현 및 관리할 수 있다. 하드웨어-추상화 모듈(220), 공간 시간 뉴럴 네트워크(222), 및 원형 버퍼(224)는, 함께, 시스템 프로세서(216)로 하여금, 사용자를 검출하기 위해, 객체의 위치를 결정하기 위해, 그리고/또는 사용자(302)에 의해 수행되는 제스처를 인식하기 위해, 안테나 어레이(211) 내의 수신 안테나 요소들로부터의 응답들을 프로세싱할 수 있게 한다.
대안적 구현예(미도시)에서, 하드웨어-추상화 모듈(220), 공간 시간 뉴럴 네트워크(222), 또는 원형 버퍼(224)는 컴퓨터-판독가능 매체들(204) 내에 포함되고, 컴퓨터 프로세서(202)에 의해 구현된다. 이것은 레이더 시스템(102)으로 하여금 통신 인터페이스(210)를 통해 스마트 디바이스(104)에게 원시 데이터(raw data)를 제공할 수 있게 하고, 이에 따라 컴퓨터 프로세서(202)가 레이더-기반 애플리케이션(206)을 위해 원시 데이터를 프로세싱할 수 있게 한다.
하드웨어-추상화 모듈(220)은 송수신기(214)에 의해 제공된 원시 데이터를 하드웨어-독립적 복합 레이더 데이터로 변환하고, 이러한 하드웨어-독립적 복합 레이더 데이터는 공간 시간 뉴럴 네트워크(222)에 의해 프로세싱될 수 있다. 특히, 하드웨어-추상화 모듈(220)은 레이더 신호들의 다양한 서로 다른 타입들로부터 공간 시간 뉴럴 네트워크(222)의 예상되는 입력으로 복합 레이더 데이터를 순응(conform)시킨다. 이것은 공간 시간 뉴럴 네트워크(222)로 하여금 레이더 시스템(102)에 의해 수신된 레이더 신호들의 상이한 타입들을 프로세싱할 수 있게 하는데, 여기에는 주파수-변조 연속-파 레이더(frequency-modulated continuous-wave radar), 위상-변조 확장 스펙트럼 레이더(phase-modulated spread spectrum radar), 또는 임펄스 레이더(impulse radar)에 대해 상이한 변조 방식들(modulations schemes)을 이용하는 것들이 포함된다. 하드웨어-추상화 모듈(220)은 또한, 상이한 중심 주파수들, 대역폭들, 전송 전력 레벨들, 또는 펄스폭들을 갖는 레이더 신호들로부터 복합 레이더 데이터를 정규화(normalize)할 수 있다.
추가적으로, 하드웨어-추상화 모듈(220)은 상이한 하드웨어 아키텍처들을 사용하여 발생되는 복합 레이더 데이터를 순응시킨다. 상이한 하드웨어 아키텍처들은, 스마트 디바이스(104)의 상이한 표면들 상에 위치하는 상이한 안테나 어레이들(212), 또는 안테나 어레이(212) 내의 안테나 요소들의 상이한 세트들을 포함할 수 있다. 하드웨어-추상화 모듈(220)을 사용함으로써, 공간 시간 뉴럴 네트워크(222)는, 상이한 이득들을 갖는 안테나 요소들의 상이한 세트들, 다양한 분량들의 안테나 요소들의 상이한 세트들, 또는 상이한 안테나 요소 간격들을 갖는 안테나 요소들의 상이한 세트들에 의해 발생되는 복합 레이더 데이터를 프로세싱할 수 있다.
하드웨어-추상화 모듈(220)을 사용함으로써, 공간 시간 뉴럴 네트워크(222)는, 이용가능한 레이더 변조 방식들, 전송 파라미터들, 또는 하드웨어 아키텍처들의 타입들에 영향을 미치는 상이한 제한들을 갖는 레이더 시스템들(102) 내에서 동작할 수 있다. 하드웨어-추상화 모듈(220)은 또한 도 6a 내지 6b와 관련하여 설명된다.
공간 시간 뉴럴 네트워크(222)는 하드웨어-독립적 복합 레이더 데이터를 분석하기 위해, 그리고 레이더-기반 애플리케이션(206)을 위한 레이더-애플리케이션 데이터를 발생시키기 위해 기계 학습을 사용한다. 레이더-애플리케이션 데이터의 예시적 타입들은, 사용자의 위치, 사용자의 움직임, 사용자에 의해 수행된 제스처의 타입, 사용자의 측정된 활력-징후, 또는 객체의 특성들을 포함한다. 공간 시간 뉴럴 네트워크(222)는, 크기 정보를 프로세싱하는 다른 신호-프로세싱 기법들, 휴리스틱 기법들, 또는 기계-학습 기법들과 비교해, 분산된 객체들을 검출하기 위한 정확도들을 향상시키기 위해, 복합 레이더 데이터의 크기 및 위상 정보를 모두 분석한다.
제스처 인식을 위해, 공간 시간 뉴럴 네트워크(222)는 도 1과 관련하여 앞에서 설명된 것들과 같은 특정 제스처 또는 다수의 제스처들을 인식하도록 설계될 수 있다. 일부 경우들에서, 공간 시간 뉴럴 네트워크(222)는, 레이더-기반 애플리케이션(206) 또는 스마트 디바이스(104)의 타입에 따라 개별적으로 선택될 수 있는 한 무리(suite)의 기계-학습 아키텍처들을 포함한다. 기계-학습 아키텍처들의 설계들은, 이용가능한 메모리의 상이한 양들, 이용가능한 전력의 상이한 양들, 또는 상이한 컴퓨팅연산 능력들을 갖는 스마트 디바이스들(104)을 지원하도록 맞춤화(tailor)될 수 있다. 예를 들어, 저-전력 비-컴퓨팅연산 집약형(low-power, non-computationally intensive) 공간 시간 뉴럴 네트워크(222)는, 더 작은 분량의 수신 채널(receive channel)들(예컨대, 2개 내지 4개의 수신 채널들)로부터의 정보를 프로세싱할 수 있거나, 더 적은 수의 은닉 계층(hidden layer)들을 가질 수 있거나, 또는 압축되는 입력 데이터에 대해 동작할 수 있다. 대조적으로, 고-전력 컴퓨팅연산-집약형(high-power, computationally-intensive) 공간 시간 뉴럴 네트워크(222)는, 더 큰 분량의 수신 채널들(예컨대, 4개보다 많은 수신 채널들)로부터의 정보를 프로세싱할 수 있거나, 더 큰 분량의 은닉 계층들을 수행하고 가질 수 있거나, 또는 압축되지 않은 입력 데이터에 대해 동작할 수 있다.
원형 버퍼(224)는 시스템 매체들(218) 내의 메모리의 할당된 부분을 사용하여 구현되는 고정된-크기의 메모리 버퍼이다. 원형 버퍼(224)는 다수의 메모리 요소들을 포함하고, 그리고 메모리 요소들을 사용하여 순차적으로 저장 및 액세스(access)되는 선입선출 큐(first-in-first-out queue)를 제공한다. 모든 메모리 요소들이 데이터를 저장하는 경우, 원형 버퍼(224) 내에 저장된 가장 오래된 데이터는 오버라이트(overwritten)된다. 원형 버퍼(224)는 공간 시간 뉴럴 네트워크(222)의 두 개의 스테이지들 사이에 구현된다. 이에 따라, 원형 버퍼(224)는 공간 시간 뉴럴 네트워크(222)의 제 1 스테이지에 의해 발생되는 데이터를 저장하고, 그리고 공간 시간 뉴럴 네트워크(222)의 제 2 스테이지로 하여금 저장된 데이터에 액세스할 수 있게 한다. 원형 버퍼(224)는 또한 도 7c와 관련하여 설명된다.
공간 시간 뉴럴 네트워크(222)는 멀티-스테이지 기계-학습 아키텍처를 사용하여 구현된다. 제 1 스테이지에서, 공간-순환 네트워크는 특징 데이터를 발생시키기 위해 공간 도메인에 걸쳐 복합 레이더 데이터를 분석한다. 특징 데이터는 사용자에 의해 수행되는 제스처의 하나 이상의 특징들(예컨대, 특성들)을 식별시킨다. 달리 말하면, 특징 데이터는 복합 레이더 데이터의 응축된 표현이다. 특징 데이터의 더 작은 컴포넌트들을 사용하여 복합 레이더 데이터를 표현함으로써, 공간 시간 뉴럴 네트워크(222) 내의 이후의 스테이지의 복잡도(complexity)가 크게 감소될 수 있다. 이것은 공간 시간 뉴럴 네트워크(222)로 하여금 메모리 제약된 혹은 컴퓨터연산-제한된 디바이스들 내에서 구현될 수 있게 한다.
특징 데이터는 시간의 적어도 일부분 동안 원형 버퍼(224)의 메모리 요소 내에 저장된다. 시간이 진행됨에 따라, 다른 특징 데이터가 원형 버퍼(224)의 다른 메모리 요소들 내에 저장된다. 제 2 스테이지에서, 시간-순환 네트워크는 제스처를 인식하기 위해 원형 버퍼(224) 내의 다수의 메모리 요소들에 걸쳐 특징 데이터를 분석한다. 원형 버퍼(224)와 제 2 스테이지는, 함께, 원형 버퍼(224) 내에 저장되는 특징 데이터 내에 포함된 로컬 정보(local information)로부터 글로벌(global) 또는 시간(temporal) 정보를 추출한다. 공간 시간 뉴럴 네트워크(222)는 또한, 도 7a 내지 7d와 관련하여 설명된다.
도 3a는 레이더 시스템(102)의 예시적 동작을 예시한다. 도시된 구성에서, 레이더 시스템(102)은 주파수-변조 연속-파 레이더로서 구현된다. 하지만, 도 2와 관련하여 앞에서 설명된 바와 같이, 레이더 아키텍처들의 다른 타입들이 구현될 수 있다. 환경(300)에서, 사용자(302)는 레이더 시스템(102)으로부터 특정 사선 범위(slant range)에 위치한다. 사용자(302)는 다수의 위상 중심들(305)(예컨대, 다수의 산란 지점들)을 갖는 분산된 객체를 나타낸다. 예로서, 사용자(302)의 손은 특정 관찰 각도에서 5개의 위상 중심들(305)을 갖는다. 관찰 각도는 레이더 시스템(102)이 객체(예컨대, 사용자(302)의 손)를 "보는(see)" 시선(line-of-sight)에 대한 입사 각도(incident angle)이다. 관찰 각도는 또한, 만약 객체의 속도 벡터(velocity vector)의 배향이 관찰 각도를 식별하기 위해 고려된다면, 애스팩트 각도(aspect angle)인 것으로 고려될 수 있다.
위상 중심들(305)의 양 및 각각의 위치들은 상이한 관찰 각도들에서 변할 수 있다. 관찰 각도가 변함에 따라, 예컨대, 사용자(302)가 제스처를 수행하는 동안, 레이더 시그니처의 진폭 또는 위상이 변할 수 있다. 스펙클(speckle)로서 또한 알려진 이러한 변화는, 크기 정보를 프로세싱하는 다른 신호-프로세싱 기법들, 휴리스틱 기법들, 또는 기계-학습 기법들을 사용해 제스처를 인식하는 것을 도전과제가 되게 할 수 있다.
사용자(302)를 검출하기 위해, 레이더 시스템(102)은 레이더 전송 신호(306)를 전송한다. 레이더 전송 신호(306)의 적어도 일부는 사용자(302)에 의해 반사된다. 이러한 반사된 부분은 레이더 수신 신호(308)를 나타낸다. 레이더 시스템(102)은 레이더 수신 신호(308)를 수신하고, 그리고 레이더-기반 애플리케이션(206)을 위한 데이터를 추출하기 위해 레이더 수신 신호(308)를 프로세싱한다. 도시된 바와 같이, 레이더 수신 신호(308)의 진폭은 전파 및 반사 동안 초래된 손실들로 인해 레이더 전송 신호(306)의 진폭보다 더 작다.
레이더 전송 신호(306)는 처프(chirp)들(310-1 내지 310-N)의 시퀀스(sequence)를 포함하고, 여기서 N은 1보다 큰 양의 정수를 나타낸다. 레이더 시스템(102)은 처프들(310-1 내지 310-N)을 연속 버스트(continuous burst)로 전송할 수 있거나, 또는 처프들(310-1 내지 310-N)을 시간-분리된 펄스(pulse)들로서 전송할 수 있는데, 이것은 도 3b와 관련하여 더 설명되는 바와 같다. 각각의 처프(310-1 내지 310-N)의 지속기간(duration)은 예를 들어, 대략 수십 또는 수천 마이크로초(microseconds)일 수 있다(예컨대, 대략 30 마이크로초(㎲)와 5 밀리초(milliseconds)(㎳) 사이에 있을 수 있음).
처프들(310-1 내지 310-N)의 개별 주파수들은 시간 경과에 따라 증가하거나 또는 감소할 수 있다. 도시된 예에서, 레이더 시스템(102)은, 처프들(310-1 내지 310-N)의 주파수들을 시간 경과에 따라 선형으로 증가시키고 선형으로 감소시키기 위해 2-기울기 싸이클(two-slope cycle)(예컨대, 삼각형 주파수 변조)을 이용한다. 2-기울기 싸이클은 레이더 시스템(102)으로 하여금 사용자(302)의 모션에 의해 야기된 도플러 주파수 시프트(Doppler frequency shift)를 측정할 수 있게 한다. 일반적으로, 처프들(310-1 내지 310-N)의 전송 특성들(예컨대, 대역폭, 중심 주파수, 지속기간, 및 전송 전력)은, 사용자(302)의 하나 이상의 특성들 또는 사용자(302)에 의해 수행된 하나 이상의 행위들을 검출하기 위한 특정 검출 범위, 범위 분해능, 또는 도플러 감도를 성취하기 위해 맞춤화될 수 있다.
레이더 시스템(102)에서, 레이더 수신 신호(308)는 레이더 전송 신호(306)의 지연된 버전을 나타낸다. 지연의 양은 레이더 시스템(102)의 안테나 어레이(212)로부터 사용자(302)까지의 사선 범위(304)(예컨대, 거리)에 비례한다. 특히, 이러한 지연은, 레이더 전송 신호(306)가 레이더 시스템(102)으로부터 사용자(302)로 전파하는데 소요되는 시간과 레이더 수신 신호(308)가 사용자(302)로부터 레이더 시스템(102)으로 전파하는데 소요되는 시간의 합을 나타낸다. 만약 사용자(302)가 움직이고 있다면, 레이더 수신 신호(308)는 도플러 효과로 인해 레이더 전송 신호(306)에 대해 주파수에 있어서 시프트된다. 레이더 전송 신호(306)와 유사하게, 레이더 수신 신호(308)는 처프들(310-1 내지 310-N) 중 하나 이상으로 구성된다.
다수의 처프들(310-1 내지 310-N)은 레이더 시스템(102)으로 하여금 미리결정된 기간에 걸쳐 사용자(302)의 다수의 관찰들을 행할 수 있게 한다. 레이터 프레이밍 구조는 처프들(310-1 내지 310-N)의 타이밍(timing)을 결정하는데, 이것은 도 3b와 관련하여 더 설명되는 바와 같다.
도 3b는 제스처 인식을 위한 예시적 레이더 프레이밍 구조(312)를 예시한다. 도시된 구성에서, 레이더 프레이밍 구조(312)는 프레임들의 세 개의 상이한 타입들을 포함한다. 상위 레벨(top level)에서, 레이더 프레이밍 구조(312)는 활성 상태(active state) 또는 비활성 상태(inactive state)에 있을 수 있는 메인 프레임들(main frames)(314)의 시퀀스를 포함한다. 일반적으로 말해서, 활성 상태는 비활성 상태에 비해 더 많은 양의 전력을 소비한다. 중간 레벨(intermediate level)에서, 레이더 프레이밍 구조(312)는 유사하게 활성 상태 또는 비활성 상태에 있을 수 있는 특징 프레임들(Feature Frames)(316)의 시퀀스를 포함한다. 특징 프레임들(316)의 상이한 타입들은 펄스-모드 특징 프레임(pulse-mode feature frame)(318)(도 3b의 바닥-좌측에서 도시됨)과, 그리고 버스트-모드 특징 프레임(burst-mode feature frame)(320)(도 3b의 바닥-우측에서 도시됨)을 포함한다. 하위 레벨(low level)에서, 레이더 프레이밍 구조(312)는 활성 상태 또는 비활성 상태에 또한 있을 수 있는 레이더 프레임들(Radar Frames, RF)(322)의 시퀀스를 포함한다.
레이더 시스템(102)은 활성 레이더 프레임(322) 동안 레이더 신호를 전송 및 수신한다. 일부 상황들에서, 레이더 프레임들(322)은 검색 및 추적, 클러터 맵 발생(clutter map generation), 사용자 위치 결정, 등과 같은 기본 레이더 동작들을 위해 개별적으로 분석된다. 각각의 활성 레이더 프레임(322) 동안 수집된 레이더 데이터는 레이더 프레임(322)의 완료 이후 버퍼에 저장될 수 있거나, 또는 도 2의 시스템 프로세서(216)에 직접적으로 제공될 수 있다.
레이더 시스템(102)은 하나 이상의 레이더 기능들(예컨대, 제스처 인식, 존재 검출, 충돌 회피, 또는 인간 활력 징후 검출)과 관련된 특정 특징을 식별하기 위해 다수의 레이더 프레임들(322)에 걸쳐(예컨대, 활성 특징 프레임(316)과 관련된 레이더 프레임들(322)의 그룹에 걸쳐) 레이더 데이터를 분석한다. 특징들의 예시적 타입들은 모션의 특정 타입, 특정 부속기관 혹은 제스처 장치(예컨대, 손, 개별 손가락들, 또는 스타일러스)와 관련된 모션, 제스처의 상이한 부분들과 관련된 특징, 그리고 사용자 혹은 또 하나의 다른 객체의 적어도 일부분의 위치를 포함한다. 활성 메인 프레임(314) 동안 사용자(302)에 의해 수행된 제스처를 인식하기 위해, 예를 들어, 레이더 시스템(102)은 하나 이상의 활성 특징 프레임들(316)과 관련된 레이더 데이터를 분석한다.
레이더 기능의 타입에 따라, 메인 프레임(314)의 지속기간은 대략 수 밀리초 혹은 초일 수 있다(예컨대, 대략 10 ㎳와 10 초(s) 사이에 있을 수 있음). 활성 메인 프레임들(314-1 및 314-2)이 일어난 이후, 레이더 시스템(102)은 비활성 메인 프레임들(314-3 및 314-4)에 의해 보여지는 바와 같이 비활성 상태가 된다. 비활성 메인 프레임들(314-3 및 314-4)의 지속기간은 깊은 수면 시간(deep sleep time)(324)에 의해 특징지어지는데, 이러한 깊은 수면 시간(324)은 대략 수십 밀리초 이상일 수 있다(예컨대, 50 ㎳보다 클 수 있음). 예시적 구현예에서, 레이더 시스템(102)은 깊은 수면 시간(324) 동안 전력을 절약하기 위해 송수신기(214) 내의 모든 활성 컴포넌트들(예컨대, 증폭기, 능동 필터(active filter), 전압-제어 발진기(Voltage-Controlled Oscillator, VCO), 전압-제어 버퍼(voltage-controlled buffer), 멀티플렉서(multiplexer), 아날로그-대-디지털 변환기(analog-to-digital converter), 위상-고정 루프(Phase-Lock Loop, PLL) 또는 수정 발진기(crystal oscillator))을 턴오프(turn off)한다.
도시된 레이더 프레이밍 구조(312)에서, 각각의 메인 프레임(314)은 K개의 특징 프레임들(316)을 포함하고, 여기서 K는 양의 정수이다. 만약 메인 프레임(314)이 비활성 상태에 있다면, 해당 메인 프레임(314)과 관련된 모든 특징 프레임들(316)은 또한 비활성 상태에 있다. 대조적으로, 활성 메인 프레임(314)은 J개의 활성 특징 프레임들(316)과, 그리고 K-J개의 비활성 특징 프레임들(316)을 포함하고, 여기서 J는 K보다 작거나 같은 양의 정수이다. 특징 프레임들(316)의 양은 제스처의 복잡도에 근거할 수 있고, 그리고 몇 개 내지 백 개의 특징 프레임들(316)을 포함할 수 있다(예컨대, K는 2, 10, 30, 60, 또는 100과 동일할 수 있음). 각각의 특징 프레임(316)의 지속기간은 대략 수 밀리초일 수 있다(예컨대, 대략 1 ㎳와 50 ㎳ 사이에 있을 수 있음).
전력을 절약하기 위해, 활성 특징 프레임들(316-1 내지 316-J)은 비활성 특징 프레임들(316-(J+1) 내지 316-K) 전에 일어난다. 비활성 특징 프레임들(316-(J+1) 내지 316-K)의 지속기간은 수면 시간(326)에 의해 특징지어진다. 이러한 방식으로, 비활성 특징 프레임들(316-(J+1) 내지 316-K))에 활성 특징 프레임들(316-1 내지 316-J)을 인터리브(interleave)할 수 있는 다른 기법들에 비해 더 긴 지속기간 동안 레이더 시스템(102)이 전력-차단 상태(powered-down state)에 있을 수 있도록 비활성 특징 프레임들(316-(J+1) 내지 316-K)이 연속적으로 실행된다. 일반적으로 말해서, 수면 시간(326)의 지속기간을 증가시키는 것은 레이더 시스템(102)으로 하여금 더 긴 시동 시간(start-up time)들을 요구하는 송수신기(214) 내의 컴포넌트들을 턴오프할 수 있게 한다.
각각의 특징 프레임(316)은 L개의 레이더 프레임들(322)을 포함하는데, 여기서 L은 J 또는 K와 동일할 수 있거나 동일하지 않을 수 있는 양의 정수이다. 일부 구현예들에서, 레이더 프레임들(322)의 양은 상이한 특징 프레임들(316)에 결쳐 변할 수 있고, 그리고 몇 개의 프레임들 또는 수백 개의 프레임들을 포함할 수 있다(예컨대, L은 5, 15, 30, 100, 또는 500과 동일할 수 있음). 레이더 프레임(322)의 지속기간은 대략 수십 또는 수천 마이크로초일 수 있다(예컨대, 대략 30 ㎲와 5 ㎳ 사이에 있을 수 있음). 특정 특징 프레임(316) 내의 레이더 프레임들(322)은 미리결정된 검출 범위, 범위 분해능, 또는 도플러 감도를 위해 맞춤구성(customize)될 수 있으며, 이것은 특정 특징 또는 제스처의 검출을 용이하게 한다. 예를 들어, 레이더 프레임들(322)은 특정 타입의 변조, 대역폭, 주파수, 전송 전력, 또는 타이밍을 이용할 수 있다. 만약 특징 프레임(316)이 비활성 상태에 있다면, 해당 특징 프레임(316)과 관련된 모든 레이더 프레임들(322)은 또한 비활성 상태에 있다.
펄스-모드 특징 프레임(318) 및 버스트-모드 특징 프레임(320)은 레이더 프레임들(322)의 상이한 시퀀스들을 포함한다. 일반적으로 말해서, 활성 펄스-모드 특징 프레임(318) 내의 레이더 프레임들(322)은 미리결정된 양만큼 시간적으로 분리된 펄스들을 전송한다. 이것은 시간 경과에 따라 관찰들을 분산(disperse)시키는데, 이는 버스트-모드 특징 프레임(320)에 비해 펄스-모드 특징 프레임(318) 내의 관찰된 처프들(310-1 내지 310-N)에서의 더 큰 변경들로 인해 레이더 시스템(102)이 제스처를 인식하는 것을 더 쉽게 할 수 있다. 대조적으로, 활성 버스트-모드 특징 프레임(320) 내의 레이더 프레임들(322)은 버스트-모드 특징 프레임(320)의 일부분에 걸쳐 계속적으로 펄스들을 전송한다(예컨대, 펄스들은 미리결정된 양의 시간만큼 분리되지 않음). 이것은 활성-버스트-모드 특징 프레임(320)으로 하여금 아래에서 더 설명되는 바와 같이 더 긴 시동 시간들을 갖는 것들을 포함하는 다량의 컴포넌트들을 턴오프함으로써 펄스-모드 특징 프레임(318)보다 더 적은 전력을 소비할 수 있게 한다.
각각의 활성 펄스-모드 특징 프레임(318) 내에서, 레이더 프레임들(322)의 시퀀스는 활성 상태와 비활성 상태 사이에서 교번(alternate)한다. 각각의 활성 레이더 프레임(322)은 삼각형에 의해 예시된 처프(310)(예컨대, 펄스)를 전송한다. 처프(310)의 지속기간은 활성 시간(active time)(328)에 의해 특징지어진다. 활성 시간(328) 동안, 송수신기(214) 내의 컴포넌트들에 전력이 공급된다. 활성 레이더 프레임(322) 내의 나머지 시간과 후속하는 비활성 레이더 프레임(322)의 지속기간을 포함하는 짧은-유휴 시간(short-idle tim)(330) 동안, 레이더 시스템(102)은 짧은-유휴 시간(330)의 지속기간 내에 시동 시간을 갖는 송수신기(214) 내의 하나 이상의 활성 컴포넌트들을 턴오프함으로써 전력을 절약한다.
활성 버스트-모드 특징 프레임(320)은 P개의 할성 레이더 프레임들(322) 및 L-P개의 비활성 레이더 프레임들(322)을 포함하고, 여기서 P는 L보다 작거나 같은 양의 정수이다. 전력을 절약하기 위해, 활성 레이더 프레임들(322-1 내지 322-P)은 비활성 레이더 프레임들(322-(P+1) 내지 322-L) 전에 일어난다. 비활성 레이더 프레임들(322-(P+1) 내지 322-L)의 지속기간은 긴-유휴 시간(long-idle time)(332)에 의해 특징지어진다. 비활성 레이더 프레임들(322-(P+1) 내지 322-L)을 함께 그룹화함으로써, 레이더 시스템(102)은 펄스-모드 특징 프레임(318) 동안 일어나는 짧은-유휴 시간(330)에 비해 더 긴 지속기간 동안 파워-차단 상태에 있을 수 있다. 추가적으로, 레이더 시스템(102)은, 짧은-유휴 시간(330)보다는 길고 긴-유휴 시간(332)보다는 짧은 시동 시간들을 갖는 송수신기(214) 내의 추가적인 컴포넌트들을 턴오프할 수 있다.
활성 버스트-모드 특징 프레임(320) 내의 각각의 활성 레이더 프레임(322)은 처프(310)의 일부분을 전송한다. 이러한 예에서, 활성 레이더 프레임들(322-1 내지 322-P)은 주파수에 있어서 증가하는 처프(310)의 일부분을 전송하는 것과 주파수에 있어서 감소하는 처프(310)의 일부분을 전송하는 것 사이에서 교번한다.
레이더 프레이밍 구조(312)는 각각의 프레임 타입 내의 조정가능한 듀티 싸이클(duty cycle)들을 통해 전력이 절약될 수 있게 한다. 제 1 듀티 싸이클(334)은 특징 프레임들(316)의 전체 분량(K)에 대한 활성 특징 프레임들(316)의 분량(J)에 근거한다. 제 2 듀티 싸이클(336)은 레이더 프레임들(322)의 전체 분량(L)에 대한 활성 레이더 프레임들(322)의 분량(예컨대, L/2 또는 P)에 근거한다. 제 3 듀티 싸이클(338)은 레이더 프레임(322)의 지속기간에 대한 처프(310)의 지속기간에 근거한다.
대략 2 밀리와트(milliwatts)(mW)의 전력을 소비하고 대략 1과 4 헤르츠(hertz)(Hz) 사이의 메인-프레임 업데이트 속도(main-frame update rate)를 갖는 전력 상태에 대한 예시적 레이더 프레이밍 구조(312)를 고려한다. 이러한 예에서, 레이더 프레이밍 구조(312)는 대략 250 ㎳와 1초 사이의 지속기간을 갖는 메인 프레임(314)을 포함한다. 메인 프레임(314)은 31개의 펄스-모드 특징 프레임들(318)을 포함한다(예컨대, K는 31과 동일함). 31개의 펄스-모드 특징 프레임들(318) 중 하나가 활성 상태에 있다. 이것은 결과적으로 듀티 싸이클(334)이 대략 3.2%와 동일하게 되게 한다. 각각의 펄스-모드 특징 프레임(318)의 지속기간은 대략 8과 32 ㎳ 사이에 있다. 각각의 펄스-모드 특징 프레임(318)은 8개의 레이더 프레임들(322)로 구성된다(예컨대, L은 8과 동일함). 활성 펄스-모드 특징 프레임(318) 내에서, 8개의 레이더 프레임들(322) 모두가 활성 상태에 있다. 이것은 결과적으로 듀티 싸이클(336)이 100%와 동일하게 되게 한다. 각각의 레이더 프레임(322)의 지속기간은 대략 1과 4 ㎳ 사이에 있다. 활성 레이더 프레임들(322) 각각 내의 활성 시간(328)은 대략 32와 128 ㎲ 사이에 있다. 이에 따라, 결과적인 듀티 싸이클(328)은 대략 3.2%이다. 이러한 예시적 레이더 프레이밍 구조(312)는 좋은 성능 결과들을 생기게 하는 것으로 발견되었다. 이러한 좋은 성능 결과들은 좋은 제스처 인식 및 존재 검출의 측면에서 그러하고, 저-전력 상태에서 핸드헬드 스마트폰(handheld smartphone)의 응용 맥락에서 좋은 전력 효율 결과들이 또한 생기게 한다. (도 3a의) 레이더 전송 신호(306)의 발생 및 (도 3a의) 레이더 수신 신호(308)의 프로세싱이 또한 도 4와 관련하여 설명된다.
도 4는 레이더 시스템(102)의 예시적 안테나 어레이(212) 및 예시적 송수신기(214)를 예시한다. 도시된 구성에서, 송수신기(214)는 송신기(402) 및 수신기(404)를 포함한다. 송신기(402)는 적어도 하나의 전압-제어 발진기(VCO)(406) 및 적어도 하나의 전력 증폭기(Power Amplifier, PA)(408)(PA(408))를 포함한다. 수신기(404)는 적어도 두 개의 수신 채널들(410-1 내지 410-M)을 포함하고, 여기서 M은 1보다 큰 양의 정수이다. 각각의 수신 채널(410-1 내지 410-M)은 적어도 하나의 저-잡음 증폭기(Low-Noise Amplifier, LNA)(412)(LNA(412)), 적어도 하나의 혼합기(mixer)(414), 적어도 하나의 필터(416), 및 적어도 하나의 아날로그-대-디지털 변환기(Analog-to-Digital Converter, ADC)(418)(ADC(418))를 포함한다.
안테나 어레이(212)는 적어도 하나의 전송 안테나 요소(420) 및 적어도 두 개의 수신 안테나 요소들(422-1 내지 422-M)을 포함한다. 전송 안테나 요소(420)는 송신기(402)에 결합된다. 수신 안테나 요소들(422-1 내지 422-M)은 수신 채널들(410-1 내지 410-M)에 각각 결합된다.
전송 동안, 전압-제어 발진기(406)는 라디오 주파수들(radio frequencies)에서 주파수-변조 레이더 신호(424)를 발생시킨다. 전력 증폭기(408)는 전송 안테나 요소(420)를 통한 전송을 위해 주파수-변조 레이더 신호(424)를 증폭시킨다. 전송되는 주파수-변조 레이더 신호(424)는 레이더 전송 신호(306)에 의해 나타내어지는데, 레이더 전송 신호(306)는 도 3b의 레이더 프레이밍 구조(312)에 근거하는 다수의 처프들(310-1 내지 310-N)을 포함할 수 있다. 예로서, 레이더 전송 신호(306)는 도 3b의 버스트-모드 특징 프레임(320)에 따라 발생되고, 그리고 16개의 처프들(310)을 포함한다(예컨대, N은 16과 동일함).
수신 동안, 각각의 수신 안테나 요소(422-1 내지 422-M)는 레이더 수신 신호(308-1 내지 308-M)의 임의의 버전을 수신한다. 일반적으로, 레이더 수신 신호들(308-1 내지 308-M)의 이러한 버전들 간의 상대적인 위상 차이들은 수신 안테나 요소들(422-1 내지 422-M)의 위치들에서의 차이들로 인한 것이다. 각각의 수신 채널(410-1 내지 410-M) 내에서, 저-잡음 증폭기(412)는 레이더 수신 신호(308)를 증폭시키고, 그리고 혼합기(414)는 증폭된 레이더 수신 신호(308)를 주파수-변조 레이더 신호(424)와 혼합한다. 특히, 혼합기는 비트 신호(beat signal)(426)를 발생시키기 위해 레이더 수신 신호(308)를 하향변환(downconvert)하고 복조(demodulate)하는 비팅 동작(beating operation)을 수행한다.
비트 신호(426)의 주파수는 주파수-변조 레이더 신호(424)와 레이더 수신 신호(308) 간의 주파수 차이를 나타내는데, 이것은 도 3a의 사선 범위(304)에 비례한다. 도시되지는 않았지만, 비트 신호(426)는 사용자(302)의 상이한 부분들(예컨대, 상이한 손가락들, 손의 상이한 부분들, 또는 상이한 신체 일부분들)로부터의 반사들 또는 상이한 객체들로부터의 반사들을 나타내는 다수의 주파수들을 포함할 수 있다. 일부 경우들에서, 이러한 상이한 부분들은 레이더 시스템(102)에 대해 상이한 속력들에서 움직이고, 상이한 방향들에서 움직이고, 또는 상이한 사선 범위들에 위치한다.
필터(416)는 비트 신호(426)를 필터링(filtering)하고, 아날로그-대-디지털 변환기(418)는 필터링된 비트 신호(426)를 디지털화한다. 수신 채널들(410-1 내지 410-M)은 프로세싱을 위해 시스템 프로세서(216)에 제공되는 디지털 비트 신호들(428-1 내지 428-M)을 각각 발생시킨다. 송수신기(214)의 수신 채널들(410-1 내지 410-M)은 도 5에서 보여지는 바와 같이 시스템 프로세서(216)에 결합된다.
도 5는 공간 시간 뉴럴 네트워크(222)를 사용하여 제스처 인식을 수행하기 위한 레이더 시스템(102)에 의해 구현되는 예시적 스킴을 예시한다. 도시된 구성에서, 시스템 프로세서(216)는 하드웨어-추상화 모듈(220) 및 공간 시간 뉴럴 네트워크(222)를 구현한다. 시스템 프로세서(216)는 수신 채널들(410-1 내지 410-M)에 연결된다. 시스템 프로세서(216)는 또한 컴퓨터 프로세서(202)와 통신할 수 있다. 도시되지는 않았지만, 하드웨어-추상화 모듈(220) 및/또는 공간 시간 뉴럴 네트워크(222)는 컴퓨터 프로세서(202)에 의해 구현될 수 있다.
이러한 예에서, 하드웨어-추상화 모듈(220)은 수신 채널들(410-1 내지 410-M)로부터 디지털 비트 신호들(428-1 내지 428-M)을 수용한다. 디지털 비트 신호들(428-1 내지 428-M)은 원시 혹은 프로세싱되지 않은 복합 레이더 데이터를 나타낸다. 하드웨어-추상화 모듈(220)은 디지털 비트 신호들(428-1 내지 428-M)에 근거하여 하드웨어-독립적 복합 레이더 데이터(502-1 내지 502-M)를 발생시키기 위한 하나 이상의 동작들을 수행한다. 하드웨어-추상화 모듈(220)은 디지털 비트 신호들(428-1 내지 428-M)에 의해 제공된 복합 레이더 데이터를 공간 시간 뉴럴 네트워크(222)에 의해 예상되는 형태로 변환한다. 일부 경우들에서, 하드웨어-추상화 모듈(220)은 상이한 전송 전력 레벨들과 관련된 진폭들을 정규화하거나, 또는 복합 레이더 데이터를 주파수-도메인 표현으로 변환한다.
하드웨어-독립적 복합 레이더 데이터(502-1 내지 502-M)는 크기 및 위상 정보(예컨대, 동-위상 및 직교위상 컴포넌트들)를 모두 포함한다. 일부 구현예들에서, 하드웨어-독립적 복합 레이더 데이터(502-1 내지 502-M)는 각각의 수신 채널들(410-1 내지 410-M)에 대한 그리고 특정 활성 특징 프레임(316)에 대한 범위-도플러 맵(range-Doppler map)들을 포함한다. 다른 구현예들에서, 하드웨어-독립적 복합 레이더 데이터(502-1 내지 502-M)는 범위-도플러 맵들의 직교 표현(orthogonal representation)인 복합 간섭계 데이터(complex interferometry data)를 포함한다. 또 하나의 다른 예로서, 하드웨어-독립적 복합 레이더 데이터(502-1 내지 502-M)는 활성 특징 프레임(316)에 대한 디지털 비트 신호들(428-1 내지 428-M)의 주파수-도메인 표현들을 포함한다. 도시되지는 않았지만, 레이더 시스템(102)의 다른 구현예들은 디지털 비트 신호들(428-1 내지 428-M)을 공간 시간 뉴럴 네트워크(222)에 직접적으로 제공할 수 있다.
공간 시간 뉴럴 네트워크(222)는 하드웨어-독립적 복합 레이더 데이터(502-1 내지 502-M)를 분석하기 위해 그리고 레이더-애플리케이션 데이터(504)를 발생시키기 위해, 훈련된(trained) 회귀(regression) 또는 분류(classification) 모델을 사용한다. 제스처-기반 애플리케이션을 위해, 레이더-애플리케이션 데이터(504)는 사용자(302)에 의해 수행되는 제스처에 관한 정보를 제공한다. 예를 들어, 레이더-애플리케이션 데이터(504)는 사용자(302)에 의해 수행되는 제스처가 좌측-스와이프 제스처인지 아니면 우측-스와이프 제스처인지를 표시한다. 다른 구현예들에서, 레이더-애플리케이션 데이터(504)는 스와이프 제스처의 확률 및 뻗기 제스처의 확률과 같은 제스처들의 상이한 타입들과 관련된 상이한 확률들을 표시한다. 제스처 인식과 관련하여 설명되지만, 공간 시간 뉴럴 네트워크(222) 및 공간 시간 뉴럴 네트워크(222)의 기계-학습 아키텍처에 의해 실행되는 훈련 절차(training procedure)는, 존재 검출, 충돌-회피, 및 인간 활력-징후 검출을 포함하는 애플리케이션들의 다른 타입들을 지원하도록 적응될 수 있다.
일부 구현예들에서, 공간 시간 뉴럴 네트워크(222)는 기계-학습 훈련 목적들을 위해 지도형 학습(supervised learning)에 의존하고 측정된(예컨대, 실제) 데이터를 기록한다. 훈련은 공간 시간 뉴럴 네트워크(222)로 하여금 하드웨어-독립적 복합 레이더 데이터(502-1 내지 502-M)에 근거하여 레이더-애플리케이션 데이터(504)를 발생시키기 위한 비-선형 맵핑 함수(non-linear mapping function)를 학습할 수 있게 한다. 다른 구현예들에서, 공간 시간 뉴럴 네트워크(222)는 비-선형 맵핑 함수를 결정하기 위해 비지도형 학습(unsupervised learning)에 의존한다.
예시적 훈련 절차는 뻗기 제스처 또는 스와이프 제스처와 같은 특정 제스처를 선택 및 수행하도록 사용자(302)에게 촉구(prompt)한다. 제스처가 수행되는 동안, 공간 시간 뉴럴 네트워크(222)는 입력으로서 제공되는 복합 레이더 데이터(예컨대, 하드웨어-독립적 복합 레이더 데이터(502-1 내지 502-M) 또는 디지털 비트 신호들(428-1 내지 428-M))를 기록한다. 공간 시간 뉴럴 네트워크(222)는 기록된 입력 데이터에 근거하여 제스처를 인식하기 위해 기계-학습 파라미터(machine-learning parameter)들(예컨대, 계수(coefficient)들, 가중치(weight)들, 또는 바이어스(bias)들)을 조정한다. 결정된 기계-학습 파라미터들은 미래 제스처들이 인식될 수 있도록 하기 위해 시스템 매체들(218)에 의해 저장되거나 공간 시간 뉴럴 네트워크(222)에 미리-프로그래밍된다. 일부 경우들에서, 이러한 프로세스는 공간 시간 뉴럴 네트워크(222)로 하여금 사용자(302)가 제스처를 어떻게 수행하는지에 있어서 약간의 변동(variance)들을 설명할 수 있도록 여러번 반복될 수 있다.
예시적 오프라인 훈련 절차(offline training procedure)는 공간 시간 뉴럴 네트워크(222)를 훈련시키기 위한 진실 데이터(truth data)를 발생시키기 위해 모션-캡쳐 시스템(motion-capture system)을 사용한다. 모션-캡쳐 시스템은 팔, 손, 몸통(torso), 또는 머리와 같은 사람의 신체의 상이한 부분들 상에 배치된 다수의 표시자(marker)들의 위치들을 측정하기 위해 적외선-센서들 혹은 카메라들과 같은 다수의 광학 센서들을 포함할 수 있다. 사람이 레이더 시스템(102)에 대해 상이한 방향들로 움직이거나 상이한 제스처들을 수행하는 동안, 모션-캡쳐 시스템으로부터의 위치 데이터와 함께 입력 데이터가 기록된다. 모션-캡쳐 시스템으로부터 기록된 위치 데이터는, 레이더 시스템(102)에 대한 위치 측정치들로 변환되고, 그리고 진실 데이터를 나타낸다. 추가적으로 또는 대안적으로, 진실 데이터는 수행되는 제스처의 타입을 포함한다. 공간 시간 뉴럴 네트워크(222)는 훈련 데이터와 진실 데이터를 함께 분석하고, 그리고 오류(error)들을 최소화하기 위해 기계-학습 파라미터들을 조정한다. 일부 경우들에서, 오프라인 훈련 절차는 공간 시간 뉴럴 네트워크(222)를 훈련시키기 위해 상대적으로 잡음-없는 환경 및 고-분해능 진실 데이터를 제공할 수 있다.
추가적으로 또는 대안적으로, 실-시간 훈련 절차는 공간 시간 뉴럴 네트워크(222)를 훈련시키기 위한 진실 데이터를 발생시키기 위해 스마트 디바이스(104) 내의 이용가능한 센서들을 사용할 수 있다. 이러한 경우에, 훈련 절차는 스마트 디바이스(104)의 사용자(302)에 의해 개시(initiate)될 수 있다. 사용자(302)가 스마트 디바이스(104) 주위로 움직이거나 제스처들을 수행하는 동안, 레이더 시스템(102) 및 스마트 디바이스(104)의 광학 센서들(예컨대, 카메라 또는 적-외선 센서)로부터의 데이터가 수집되고, 진실 데이터로서 공간 시간 뉴럴 네트워크(222)에 제공된다. 실-시간 훈련 절차는 공간 시간 뉴럴 네트워크(222)로 하여금 사용자(302)에 대해 맞춤화될 수 있게 하고, 현재 환경 조건들을 설명할 수 있게 하고, 그리고 스마트 디바이스(104)의 현재 위치 혹은 배향을 설명할 수 있게 한다.
공간 시간 뉴럴 네트워크(222)는 둘 이상의 인공 뉴럴 네트워크(artificial neural network)들(예컨대, 뉴럴 네트워크들)을 포함한다. 뉴럴 네트워크는 하나 이상의 계층들로 조직(organize)되는 연결된 노드(node)들(예컨대, 뉴런(neuron)들 혹은 퍼셉트론(perceptron)들)의 그룹을 포함한다. 예로서, 공간 시간 뉴럴 네트워크(222)는 심층 뉴럴 네트워크(deep neural network)를 포함하고, 이러한 심층 뉴럴 네트워크는, 입력 계층, 출력 계층, 그리고 입력 계층과 출력 계층들 사이에 위치하는 하나 이상의 은닉 계층들을 포함한다. 심층 뉴럴 네트워크의 노드들은 계층들 사이에서 부분적으로-연결될 수 있거나 완전히 연결될 수 있다.
일부 경우들에서, 심층 뉴럴 네트워크는, 입력 데이터 시퀀스의 후속 부분을 위해 입력 데이터 시퀀스의 이전 부분으로부터의 정보를 보유하기 위한 싸이클을 형성하는 노드들 간의 연결들을 갖는 순환 심층 뉴럴 네트워크(예컨대, 장단기 기억(Long Short-Term Memory, LSTM) 순환 심층 뉴럴 네트워크)이다. 다른 경우들에서, 심층 뉴럴 네트워크는 노드들 간의 연결들이 싸이클을 형성하지 않는 피드-포워드 심층 뉴럴 네트워크(feed-forward deep neural network)이다. 추가적으로 또는 대안적으로, 공간 시간 뉴럴 네트워크(222)는 컨볼류션 뉴럴 네트워크(convolutional neural network)와 같은 뉴럴 네트워크의 또 하나의 다른 타입을 포함할 수 있다. 공간 시간 뉴럴 네트워크(222)의 예시적 구현예는 또한 도 7a와 관련하여 설명된다.
도 6a는 제스처 인식을 위한 예시적 하드웨어-추상화 모듈(220)을 예시한다. 도시된 구성에서, 하드웨어-추상화 모듈(220)은 사전-프로세싱 스테이지(pre-processing stage)(602) 및 신호-변환 스테이지(signal-transformation stage)(604)를 포함한다. 사전-프로세싱 스테이지(602)는 디지털 비트 신호들(428-1 내지 428-M) 내의 각각의 처프(310-1 내지 310-N)에 대해 동작한다. 달리 말하면, 사전-프로세싱 스테이지(602)는 각각의 활성 레이더 프레임(322)에 대한 동작을 수행한다. 이러한 예에서, 사전-프로세싱 스테이지(602)는 디지털 비트 신호들(428-1 내지 428-M)을 각각 프로세싱하는 1-차원(one-dimensional)(1D) 고속-퓨리에 변환(Fast-Fourier Transform, FFT) 모듈들(606-1 내지 606-M)을 포함한다. 퓨리에 변환 모듈(Fourier Transform module)과 같은 유사한 동작들을 수행하는 모듈들의 다른 타입들이 또한 가능하다.
신호-변환 스테이지(604)는 디지털 비트 신호들(428-1 내지 428-M) 각각 내의 처프들(310-1 내지 310-M)의 시퀀스에 대해 동작한다. 달리 말하면, 신호-변환 스테이지(604)는 각각의 활성 특징 프레임(316)에 대한 동작을 수행한다. 이러한 예에서, 신호-변환 스테이지(604)는 버퍼들(608-1 내지 608-M) 및 2-차원(two-dimensional)(2D) FFT 모듈들(610-1 내지 610-M)을 포함한다.
수신 동안, 1-차원 FFT 모듈들(606-1 내지 606-M)은 디지털 비트 신호들(428-1 내지 428-M) 내의 처프들(310-1 내지 310-M)에 대해 개별 FFT 동작들을 수행한다. 레이더 수신 신호들(308-1 내지 308-M)이 16개의 처프들(310-1 내지 310-N)(예컨대, N은 16과 동일함)을 포함한다고 가정하면, 각각의 1-차원 FFT 모듈들(606-1 내지 606-M)은 처프 별 사전-프로세싱된 복합 레이더 데이터(pre-processed complex radar data per chirp)(612-1 내지 612-M)를 발생시키기 위해 16개의 FFT 동작들을 수행한다. 개별 동작들이 수행됨에 따라, 버퍼들(608-1 내지 608-M)은 결과들을 저장한다. 활성 특징 프레임(316)과 관련된 모든 처프들(310-1 내지 310-M)이 사전-프로세싱 스테이지(602)에 의해 프로세싱되었다면, 버퍼들(608-1 내지 608-M)에 의해 저장된 정보는 대응하는 수신 채널들(410-1 내지 410-M)에 대한 특징 프레임 별 사전-프로세싱된 복합 레이더 데이터(614-1 내지 614-M)를 나타낸다.
2-차원 FFT 모듈들(610-1 내지 610-M)은 하드웨어-독립적 복합 레이더 데이터(502-1 내지 502-M)를 발생시키기 위해 특징 프레임 별 사전-프로세싱된 복합 레이더 데이터(614-1 내지 614-M)를 각각 프로세싱한다. 이러한 경우에, 하드웨어-독립적 복합 레이더 데이터(502-1 내지 502-M)는 도 6b와 관련하여 더 설명되는 바와 같이 복합 범위-도플러 맵(complex range-Doppler map)들을 포함한다.
도 6b는 제스처 인식을 위한 하드웨어-추상화 모듈(220)에 의해 발생되는 예시적 하드웨어-독립적 복합 레이더 데이터(502-1)를 예시한다. 하드웨어-추상화 모듈(220)은 수신 채널(410-1)과 관련된 디지털 비트 신호(428-1)를 프로세싱하도록 보여진다. 디지털 비트 신호(428-1)는 시간-도메인 신호들인 처프들(310-1 내지 310-M)을 포함한다. 처프들(310-1 내지 310-M)은 이들이 송수신기(214)에 의해 수신 및 프로세싱되는 순서로 1-차원 FFT 모듈(606-1)로 전달된다.
앞에서 설명된 바와 같이, 1-차원 FFT 모듈(606-1)은 처음에 디지털 비트 신호(428-1)의 첫 번째 처프(310-1)에 대해 FFT 동작을 수행한다. 버퍼(608-1)는 첫 번째 처프(310-1)와 관련된 사전-프로세된 복합 레이더 데이터(612-1)의 제 1 부분을 저장한다. 1-차원 FFT 모듈(606-1)은 후속하는 처프들(310-2 내지 310-N)을 계속 프로세싱하고, 그리고 버퍼(608-1)는 사전-프로세된 복합 레이더 데이터(612-1)의 대응하는 부분들을 계속 저장한다. 이러한 프로세스는 버퍼(608-1)가 처프(310-M)와 관련된 사전-프로세싱된 복합 레이더 데이터(612-M)의 마지막 부분을 저장할 때까지 계속된다.
이때, 버퍼(608-1)는 특정 특징 프레임과 관련된 사전-프로세싱된 복합 레이더 데이터(614-1)를 저장한다. 특징 프레임 별 사전-프로세싱된 복합 레이더 데이터(614-1)는 상이한 처프들(310-1 내지 310-N)에 걸쳐, 그리고 상이한 범위 빈들(range bin)들(616-1 내지 616-A)에 걸쳐 (도시된 바와 같은) 크기 정보 및 (도시되지 않은) 위상 정보를 나타내고, 여기서 A는 양의 정수를 나타낸다.
2-차원 FFT 모듈(610-1)은, 특징 프레임 별 사전-프로세싱된 복합 레이더 데이터(614-1)를 수용하고, 그리고 범위-도플러 맵을 나타내는 하드웨어-독립적 복합 레이더 데이터(502-1)를 형성하기 위해 2-차원 FFT 동작을 수행한다. 범위-도플러 맵은 범위 빈(range bin)들(616-1 내지 616-A) 및 도플러 빈(Doppler bin)들(618-1 내지 618-B)에 대한 복합 레이더 데이터를 포함하고, 여기서 B는 양의 정수를 나타낸다. 달리 말하면, 각각의 범위 빈(616-1 내지 616-A) 및 도플러 빈(618-1 내지 618-B)은 크기 및 위상 정보를 함께 나타내는 실수 및 허수 부분들을 갖는 복소수(complex number)를 포함한다. 범위 빈들(616-1 내지 616-A)의 양은 대략 수십 개 또는 수백 개일 수 있는데, 예컨대, 64개 또는 128개 일 수 있다(예컨대, A는 64 또는 128과 동일함). 도플러 빈들의 양은 대략 수십 개 또는 수백 개일 수 있는데, 예컨대, 32개, 64개 또는 124개 일 수 있다(예컨대, B는 32, 64 또는 124와 동일함). (도 6a의) 하드웨어-독립적 복합 레이더 데이터(502-1 내지 502-M)와 함께, 하드웨어-독립적 복합 레이더 데이터(502-1)는 도 7a에서 보여지는 바와 같이 공간 시간 뉴럴 네트워크(222)에 제공된다.
도 7a는 제스처 인식을 수행하기 위한 예시적 공간 시간 뉴럴 네트워크(222)를 예시한다. 도시된 구성에서, 공간 시간 뉴럴 네트워크(222)는 공간-순환 네트워크(702) 및 시간-순환 네트워크(704)에 의해 각각 구현되는 두 개의 스테이지들을 포함한다. 공간-순환 네트워크(702)는 처프-레벨 분석 모듈(chirp-level analysis module)(706) 및 특징-레벨 분석 모듈(feature-level analysis module)(708)을 포함한다. 일반적으로, 공간-순환 네트워크(702)는 각각의 활성 특징 프레임(316)에 대해 공간 도메인에 걸쳐 하드웨어-독립적 복합 레이더 데이터(502-1 내지 502-M)를 분석한다. 결과적인 데이터는 원형 버퍼(224)에 의해 저장된다. 시간-순환 네트워크(704)는 둘 이상의 활성 특징 프레임들(316)에 대해 원형 버퍼(224) 내에 저장된 데이터를 분석하는 애플리케이션-레벨 분석 모듈(application-level analysis module)(710)을 포함한다. 이러한 방식으로, 시간-순환 네트워크(704)는 활성 메인 프레임(314)의 적어도 일부분에 대해 시간 도메인에 걸쳐 데이터를 분석한다. 일부 구현예들에서, 원형 버퍼(224)의 크기는 활성 메인 프레임(314)의 모든 활성 특징 프레임들(316)이 저장될 수 있도록 하기 위해 활성 메인 프레임(314)의 지속기간에 맞추어 구성된다. 제스처 인식을 위해, 활성 메인 프레임(314)의 지속기간은 하나 이상의 제스처들의 지속기간과 관련될 수 있다. 일반적으로, 애플리케이션-레벨 분석 모듈(710)은, 제스처 인식, 존재 검출, 충돌 회피, 및 인간 활력-징후 검출을 포함하는 하나 이상의 레이더-기반 애플리케이션들을 지원하도록 설계된다.
수신 동안, 처프-레벨 분석 모듈(706)은 채널-도플러 데이터(channel-Doppler data)(712)를 발생시키기 위해 각각의 범위 빈(616-1 내지 616-A)에 걸쳐 복합 레이더 데이터를 프로세싱한다. 특징-레벨 분석 모듈(708)은 애플리케이션-레벨 분석 모듈(710)에 대해 적절한 하나 이상의 특징들을 특징짓는 특징 데이터(714)를 발생시키기 위해 채널-도플러 데이터(712)를 분석한다. 예를 들어, 특징 데이터(714)는 제스처 인식을 위해 사용자(302)에 의해 수행되는 제스처의 특징들을 특징지을 수 있다. 원형 버퍼(224)는 특징 데이터(714)를 저장한다.
시간 경과에 따라, 원형 버퍼(224)는 상이한 활성 특징 프레임들(316)과 관련된 특징 데이터(714)를 저장한다. 둘 이상의 활성 특징 프레임들(316)과 관련된 특징 데이터(714)는 특징 데이터의 시간 세트(temporal set)(716)로서 지칭된다. 특징 데이터의 시간 세트(716)는 애플리케이션-레벨 분석 모듈(710)에 제공되거나 애플리케이션-레벨 분석 모듈(710)에 의해 액세스(access)된다. 애플리케이션-레벨 분석 모듈(710)은 레이더-애플리케이션 데이터(504)를 발생시키기 위해 특징 데이터의 시간 세트(716)를 분석한다. 예로서, 레이더-애플리케이션 데이터(504)는 사용자(302)에 의해 수행되는 제스처의 타입에 관한 예측(prediction)을 포함한다. 다량의 활성 특징 프레임들(316)과 관련된 특징 데이터(714)가 원형 버퍼(224)에 의해 저장되기 때문에, 예측들의 정확도가 향상된다. 일부 경우들에서, 애플리케이션-레벨 분석 모듈(710)은, 메인 프레임(314)과 관련된 후속 특징 프레임들(316)이 공간-순환 네트워크(702)에 의해 프로세싱됨에 따라, 레이더-애플리케이션 데이터(504)를 계속해서 발생시키거나 업데이트(update)한다. 대안적으로, 애플리케이션-레벨 분석 모듈(710)은, 메인 프레임(314)과 관련된 특징 프레임들(316) 중 모두(혹은 적어도 일부)가 공간-순환 네트워크(702)에 의해 프로세싱될 때까지, 레이더-애플리케이션 데이터(504)의 발생을 지연(delay)시킨다. 처프-레벨 분석 모듈(706), 특징-레벨 분석 모듈(708), 및 애플리케이션-레벨 분석 모듈(710)의 구현예들이 또한 도 7b 내지 도 7d와 관련하여 설명된다.
도 7b는 공간 시간 뉴럴 네트워크(222)의 예시적 처프-레벨 분석 모듈(706)을 예시한다. 도시된 구성에서, 처프-레벨 분석 모듈(706)은 채널-도플러 프로세싱 모듈(channel-Doppler processing module)들(718-1 내지 718-A)을 포함한다. 각각의 채널-도플러 프로세싱 모듈(718-1 내지 718-A)은 하나 이상의 계층들(720-1 내지 720-Q)을 갖는 뉴럴 네트워크를 포함하고, 여기서 Q는 양의 정수이다. Q의 값은 구현예에 따라 변할 수 있다. 예로서, Q는 2, 4, 또는 10과 동일할 수 있다. 계층들(720-1 내지 720-Q)은 완전히 연결될 수 있고, 부분적으로 연결될 수 있고, 피드-포워드 방식(feed-forward manner)으로 연결될 수 있고, 그리고/또는 순환 방식(recursive manner)으로 연결될 수 있다. 계층들(720-1 내지 720-Q) 내의 노드(node)들은 예컨대, 비-선형 정류기 활성화 함수(non-linear rectifier activation function)를 실행할 수 있다. 채널-도플러 프로세싱 모듈들(718-1 내지 718-A)은 또한 덧셈들 및 곱셈들을 수행할 수 있다.
채널-도플러 프로세싱 모듈들(718-1 내지 718-A)은 범위 빈들(616-1 내지 616-A)에 따라 하드웨어-독립적 복합 레이더 데이터(502-1 내지 502-M)의 각각의 부분들을 수용한다. 특히, 채널-도플러 프로세싱 모듈(718-1)은, 모든 수신 채널들(410-1 내지 410-M)에 걸쳐 그리고 모든 도플러 빈들(618-1 내지 618-B)에 걸쳐, 제 1 범위 빈(616-1)과 관련된 복합 레이더 데이터를 수용한다. 각각의 복소수가 계층(720-1)의 개별 노드들에 입력으로서 제공된다. 계층들(720-1 내지 720-Q)은 채널-도플러 데이터(712-1)를 발생시키기 위해 비-선형 정류기 활성화 함수를 사용하여 데이터를 분석한다. 유사한 동작들이 또한 채널-도플러 프로세싱 모듈들(718-1 내지 718-A)에 의해 수행된다. 결합된 채널-도플러 데이터(712-1 내지 712-A)는 벡터(vector)를 나타낸다. 예를 들어, 3개의 수신 채널들(410-1 내지 410-M)(예컨대, M은 3과 같음), 32개의 도플러 빈들(618-1 내지 618-B)(예컨대, B는 32와 같음), 그리고 16개의 범위 빈들(616-1 내지 618-A)(예컨대, A는 16과 같음)이 존재한다고 가정하면, 채널-도플러 데이터(712-1 내지 712-A)는, 특징-레벨 분석 모듈(708)로 하여금 제스처의 하나 이상의 특징들을 식별할 수 있도록 하기 위해 도플러 도메인 내에서 수신 채널들에 걸친 관계를 나타내는 값들의 1x16 벡터를 형성한다.
도 7c는 공간 시간 뉴럴 네트워크(222)의 예시적 특징-레벨 분석 모듈(708)을 예시한다. 도시된 구성에서, 특징-레벨 분석 모듈(708)은 하나 이상의 순환 계층들(722-1 내지 722-V)을 사용하여 구현되고, 여기서 V는 양의 정수를 나타낸다. 순환 계층들(722-1 내지 722-V) 내에서, 노드들 간의 연결들은, 후속하는 활성 특징 프레임(316)을 위해 이전의 활성 특징 프레임(316)으로부터의 정보를 보유하는 싸이클을 형성한다. 순환 계층들(722-1 내지 722-V)을 사용하여, 특징-레벨 분석 모듈(708)은 장단기 기억(LSTM) 네트워크 또는 일부 다른 시간 컨볼류션 네트워크(temporal convolution network)를 구현할 수 있다.
앞에서 설명된 바와 같이, 특징-레벨 분석 모듈(708)은 특징 데이터(714)를 발생시키기 위해 범위 빈들(616-1 내지 616-A)에 걸쳐 채널-도플러 데이터(712-1 내지 712-A)를 프로세싱한다. 도시되지는 않았지만, 공간-순환 네트워크(702)의 일부 구현예들은 순환 계층(722-V)의 출력들에 연결되는 추가적인 완전-연결된 계층들(720)을 포함할 수 있다. 처프-레벨 분석 모듈(706)의 계층들(720)과 유사하게, 이러한 계층들(720)은 또한 비-선형 변환(non-linear transformation)들을 수행할 수 있다.
시간 경과에 따라, 활성 특징 프레임들(316-1 내지 316-J)과 관련된 특징 데이터(714-1 내지 714-J)는 원형 버퍼(224)에 의해 상이한 메모리 요소들 내에 순차적으로 저장된다. 특징 데이터(714-1 내지 714-J)는 도 7d와 관련하여 더 설명되는 바와 같이 애플리케이션-레벨 분석 모듈(708)에 의해 프로세싱되는 특징 데이터의 시간 세트(716)를 나타낸다.
도 7d는 공간 시간 뉴럴 네트워크(222)의 예시적 애플리케이션-레벨 분석 모듈(710)을 예시한다. 도시된 구성에서, 애플리케이션-레벨 분석 모듈(708)은 하나 이상의 순환 계층들(724-1 내지 724-W)을 사용하여 구현되고, 여기서 W는 V와 동일할 수 있거나 동일하지 않을 수 있는 양의 정수를 나타낸다. 순환 계층들(724-W 내지 724-W)을 사용하여, 애플리케이션-레벨 분석 모듈(710)은 장단기 기억(LSTM) 네트워크 또는 시간 컨볼류션 네트워크를 구현할 수 있다. 애플리케이션-레벨 분석 모듈(710)은 선택에 따라서는 애플리케이션-레벨 분석 모듈(710)의 하나 이상의 계층들을 나타내는 분류기 모듈(classifier module)(726)을 포함할 수 있다. 제스처 인식을 위해, 분류기 모듈(726)은 좌측-스와이프 제스처, 우측-스와이프 제스처, 또는 뻗기 제스처와 같은 제스처들의 상이한 타입들 간을 구분할 수 있다. 일부 구현예들에서, 분류기 모듈(726)은 상이한 레이더-기반 애플리케이션들을 지원할 수 있는 다수의 헤드(head)들(예컨대, 다수의 서브-모듈(sub-module)들)을 갖는다. 예를 들어, 제 1 헤드는 존재 검출을 지원하기 위해 사용자(302)의 존재를 검출할 수 있고, 반면 제 2 헤드는 제스처 인식을 지원하기 위해 사용자(302)에 의해 수행되는 제스처들을 검출한다.
애플리케이션-레벨 분석 모듈(710)은 원형 버퍼(224) 내에 저장된 둘 이상의 특징 데이터(714-1 내지 714-J)를 프로세싱한다. 제스처 인식을 위해, 애플리케이션-레벨 분석 모듈(710)은 수행되는 제스처의 타입에 관한 예측을 특징 데이터(714-1 내지 714-J) 중 둘 이상에 근거하여 형성한다. 일부 경우들에서, 애플리케이션-레벨 분석 모듈(710)은 예측을 형성하기 위해 특정 분량(예컨대, 15개)의 특징 데이터(714-1 내지 714-J)가 이용가능할 때까지 기다릴 수 있다. 만약 활성 메인 프레임(314)이 15개보다 많은 활성 특징 프레임들(316)을 포함한다면(예컨대, J가 15보다 더 크다면), 애플리케이션-레벨 분석 모듈(710)은 마지막 15개의 활성 특징 프레임들(316)에 근거하여 자신의 예측을 계속 업데이트할 수 있다. 일반적으로, 예측의 정확도는 시간 경과에 따라 증가하거나 또는 더 많은 분량의 특징 데이터(714-1 내지 714-J)가 분석될 때 증가한다.
선택에 따라서는, 분류기 모듈(726)은 또한 순환 계층들(724-1 내지 724-W)을 사용하여 행해지는 예측을 세분화할 수 있다. 예를 들어, 분류기 모듈(726)은 상이한 방향성 스와이프들이 스마트 디바이스(104)의 배향과 관련됨에 따라 이러한 상이한 방향성 스와이프들 간을 구분할 수 있다. 특히, 분류기 모듈(726)은 스와이프 제스처가 세로 모드(portrait mode)에서 상향-스와이프 제스처(swipe-up gesture)인지 아니면 가로 모드(landscape mode)에서 좌측-스와이프 제스처인지를 결정할 수 있다. 이러한 로직을 구현하기 위해, 분류기 모듈(726)은 분류기 모듈(726)에 의해 검출되는 제스처의 타입에 따라 활성화되는 분류 노드(class node)들을 갖는 적어도 하나의 완전-연결된 계층을 포함할 수 있다.
레이더 시스템들과 관련하여 설명되지만, 공간 시간 뉴럴 네트워크(222)는 센서들 또는 전자기 시스템들의 다른 타입들에 의해 제공되는 데이터로 동작하도록 수정될 수 있다. 일반적으로, 이러한 센서들 또는 전자기 시스템들은 공간을 통해 전파하는 신호의 하나 이상의 속성들(예컨대, 신호의 진폭, 위상, 또는 주파수)을 인코딩(encode)할 수 있는 능력을 갖는다. 예들은 블루투스(BluetoothTM) 시스템, 와이기그(WiGigTM) 시스템들, 초음파 센서(ultrasonic sensor), 라이더 센서(lidar sensor), 등을 포함한다.
예시적 방법(Example Method)
도 8은 공간 시간 뉴럴 네트워크(222)를 사용하여 제스처 인식을 수행할 수 있는 스마트-디바이스-기반 레이더 시스템의 동작들을 수행하기 위한 예시적 방법(800)을 도시한다. 방법(800)은 수행되는 동작들(또는 행동(act)들)의 세트들로서 보여지지만, 이러한 동작들이 본 명세서에서 보여지는 순서 또는 조합들로만 반드시 한정되는 것은 아니다. 더욱이, 동작들 중 하나 이상의 동작의 임의의 동작은 여러 가지 추가적인 그리고/또는 대안적인 방법들을 제공하기 위해 반복될 수 있거나, 결합될 수 있거나, 재조직(reorganize)될 수 있거나, 또는 연관(link)될 수 있다. 다음의 논의들 중 일부분들에서, 도 1의 환경(100-1 내지 100-6), 그리고 도 4 또는 도 5에서 상세히 설명되는 개체들(entities)이 참조될 수 있고, 이에 대한 참조는 단지 예로서 행해진다. 기법들은 하나의 디바이스 상에서 동작하는 하나의 개체 또는 다수의 개체들에 의한 수행에 한정되지 않는다.
802에서, 레이더 전송 신호가 레이더 시스템의 안테나 어레이를 사용하여 전송된다. 예를 들어, 레이더 시스템(102)은 도 4에서 보여지는 바와 같이 레이더 전송 신호(306)를 전송하기 위해 적어도 하나의 전송 안테나 요소(420)를 사용한다. 일부 구현예들에서, 레이더 전송 신호(306)는 다수의 처프들(310-1 내지 310-N)을 포함하고, 이들의 주파수들은 변조되는데, 이는 도 3에서 보여지는 바와 같다.
804에서, 레이더 수신 신호가 안테나 어레이를 사용하여 수신된다. 레이더 수신 신호는 적어도 하나의 사용자에 의해 반사되는 레이더 전송 신호의 임의의 버전을 포함한다. 예를 들어, 레이더 시스템(102)은 도 4에서 보여지는 바와 같이 사용자(302)에 의해 반사되는 레이더 수신 신호(308)의 임의의 버전을 수신하기 위해 적어도 하나의 수신 안테나 요소(422)를 사용한다.
806에서, 복합 레이더 데이터가 레이더 수신 신호에 근거하여 발생된다. 예를 들어, 레이더 시스템(102)의 수신 채널(410)은 레이더 수신 신호(308)에 근거하여 디지털 비트 신호(428)를 발생시킨다. 디지털 비트 신호는 복합 레이더 데이터를 나타내고, 그리고 크기 및 위상 정보(예컨대, 동-위상 및 직교위상 정보)를 모두 포함한다.
808에서, 복합 레이더 데이터가 레이더 시스템의 공간 시간 뉴럴 네트워크에 제공된다. 공간 시간 뉴럴 네트워크는 멀티-스테이지 기계-학습 아키텍처를 포함한다. 예를 들어, 수신 채널들(410-1 내지 410-M)은 도 5에서 보여지는 바와 같이 디지털 비트 신호들(428-1 내지 428-M)을 공간 시간 뉴럴 네트워크(222)에 제공한다(예컨대, 직접적으로 제공하거나, 또는 하드웨어-추상화 모듈(220)을 통해 간접적으로 제공함). 공간 시간 뉴럴 네트워크(222)는 도 7a의 공간-순환 네트워크(702) 및 시간-순환 네트워크(704)를 포함하는 멀티-스테이지 기계-학습 아키텍처를 포함한다. 공간-순환 네트워크(702)는 공간 시간 뉴럴 네트워크(222)의 제 1 스테이지를 나타내고, 공간 도메인에 걸쳐 복합 레이더 데이터를 분석한다. 시간-순환 네트워크(704)는 공간 시간 뉴럴 네트워크(222)의 제 2 스테이지를 나타내고, 공간-순환 네트워크(702)에 의해 제공되는 데이터를 시간 도메인에 걸쳐 분석한다.
810에서, 적어도 하나의 사용자에 의해 수행되는 제스처를 인식하기 위해 공간 시간 뉴럴 네트워크를 사용하여 복합 레이더 데이터가 분석된다. 예를 들어, 공간 시간 뉴럴 네트워크(222)는 사용자(302)에 의해 수행되는 제스처를 식별시키는 레이더-애플리케이션 데이터(504)를 발생시키기 위해 디지털 비트 신호들(428-1 내지 428-M) 또는 하드웨어-독립적 복합 레이더 데이터(502-1 내지 502-M)를 분석한다. 제스처 인식에 대해 설명되지만, 존재 검출, 충돌 회피, 활력 징후 검출, 등을 포함하는 다른 애플리케이션들에 대해 유사한 동작들이 또한 수행될 수 있다.
예시적 컴퓨팅 시스템(Example Computing System)
도 9는 공간 시간 뉴럴 네트워크(222)를 사용하여 제스처 인식을 구현하기 위해 이전의 도 2를 참조하여 설명된 바와 같이 클라이언트(client), 서버(server), 및/또는 컴퓨팅 디바이스의 임의의 타입으로서 구현될 수 있는 예시적 컴퓨팅 시스템(900)의 다양한 컴포넌트들을 예시한다.
컴퓨팅 시스템(900)은 디바이스 데이터(904)(예컨대, 수신된 데이터, 수신되고 있는 데이터, 브로드캐스트(broadcast)를 위해 스케줄링된(scheduled) 데이터, 또는 데이터의 데이터 패킷(data packet)들)의 유선 및/또는 무선 통신을 가능하게 하는 통신 디바이스들(902)을 포함한다. 도시되지는 않았지만, 통신 디바이스들(902) 또는 컴퓨팅 시스템(900)은 하나 이상의 레이더 시스템들(102)을 포함할 수 있다. 디바이스 데이터(904) 또는 다른 디바이스 콘텐츠(device content)는, 디바이스의 구성 설정(configuration setting)들, 디바이스 상에 저장된 미디어 콘텐츠(media content), 그리고/또는 디바이스의 사용자(302)와 관련된 정보를 포함할 수 있다. 컴퓨팅 시스템(900) 상에 저장된 미디어 콘텐츠는 오디오(audio), 비디오(video), 및/또는 이미지(image) 데이터의 임의의 타입을 포함할 수 있다. 컴퓨팅 시스템(900)은 하나 이상의 데이터 입력들(906)을 포함하는데, 이들을 통해 데이터, 미디어 콘텐츠, 및/또는 입력들의 임의의 타입이 수신될 수 있는바, 예컨대, 인간 발언(human utterance)들, 레이더-기반 애플리케이션(206), (명시적 또는 암시적) 사용자-선택가능 입력들, 메시지들, 음악, 텔레비전 미디어 콘텐츠, 기록된 비디오 콘텐츠, 그리고 임의의 콘텐츠 및/또는 데이터 소스로부터 수신되는 오디오, 비디오, 및/또는 이미지 데이터의 임의의 다른 타입이 수신될 수 있다.
컴퓨팅 시스템(900)은 또한 통신 인터페이스(ommunication interface)들(908)을 포함하는데, 이러한 통신 인터페이스들(908)은 직렬 및/또는 병렬 인터페이스, 무선 인터페이스, 네트워크 인터페이스의 임의의 타입, 모뎀 중 어느 하나 또는 그 이상으로서 구현될 수 있고, 그리고 통신 인터페이스의 임의의 다른 타입으로서 구현될 수 있다. 통신 인터페이스들(908)은 컴퓨팅 시스템(900)과 통신 네트워크 간에 연결 및/또는 통신 링크들을 제공하는데, 이들에 의해 다른 전자, 컴퓨팅, 및 통신 디바이스들이 컴퓨팅 시스템(900)과 데이터를 통신한다.
컴퓨팅 시스템(900)은 하나 이상의 프로세서들(910)(예컨대, 마이크로프로세서들, 제어기들, 등 중 임의의 것)을 포함하는데, 이러한 하나 이상의 프로세서들(910)은, 컴퓨팅 시스템(900)의 동작을 제어하기 위해서, 그리고 포화(saturation)의 존재에서 제스처 인식을 위한 기법들을 가능하게 하기 위해서 또는 이러한 제스처 인식이 구현될 수 있는 기법들을 가능하게 하기 위해서 다양한 컴퓨터-실행가능 명령들을 프로세싱한다. 대안적으로 또는 추가적으로, 컴퓨팅 시스템(900)은 전반적으로 912에서 식별되는 프로세싱 및 제어 회로들과 연관되어 구현되는 하드웨어, 펌웨어, 또는 고정 로직 회로 중 어느 하나 또는 이들의 조합으로 구현될 수 있다. 도시되지는 않았지만, 컴퓨팅 시스템(900)은 디바이스 내에서 다양한 컴포넌트들을 결합시키는 시스템 버스 또는 데이터 전송 시스템을 포함할 수 있다. 시스템 버스는 상이한 버스 구조들 중 어느 하나 또는 이들의 조합을 포함할 수 있는데, 예컨대, 메모리 버스 또는 메모리 제어기, 주변 버스, 범용 직렬 버스, 그리고/또는 다양한 버스 아키텍처들 중 임의의 아키텍처를 이용하는 프로세서 혹은 로컬 버스를 포함할 수 있다.
컴퓨팅 시스템(900)은 또한 컴퓨터-판독가능 매체들(914)을 포함하는데, 예컨대, 지속적 그리고/또는 비-일시적 데이터 저장(즉, 단순한 신호 전송과는 대조적임)을 가능하게 하는 하나 이상의 메모리 디바이스들을 포함하는바, 이것의 예들은 랜덤 액세스 메모리(Random Access Memory, RAM), 비-휘발성 메모리(non-volatile memory)(예컨대, 판독-전용 메모리(Read-Only Memory, ROM), 플래시 메모리(flash memory), EPROM, EEPROM, 등 중 어느 하나 혹은 그 이상), 그리고 디스크 저장 디바이스(disk storage device)를 포함한다. 디스크 저장 디바이스는 자기 혹은 광학 저장 디바이스의 임의의 타입으로서 구현될 수 있는데, 예컨대, 하드 디스크 드라이브, 기록가능 및/또는 재기입가능 콤팩트 디스크(Compact Disc, CD), 디지털 다용도 디스크(Digital Versatile Disc, DVD)의 임의의 타입, 등으로서 구현될 수 있다. 컴퓨팅 시스템(900)은 또한 대용량 저장 미디어 디바이스(저장 매체들)(916)를 포함할 수 있다.
컴퓨터-판독가능 매체들(914)은 디바이스 데이터(904)를 저장하기 위한, 뿐만 아니라 다양한 디바이스 애플리케이션들(918) 그리고 컴퓨팅 시스템(900)의 동작 양태들에 관한 정보 및/또는 데이터의 임의의 다른 타입들을 저장하기 위한 데이터 저장 메커니즘들을 제공한다. 예를 들어, 오퍼레이팅 시스템(920)은 컴퓨터-판독가능 매체들(914)을 이용해 컴퓨터 애플리케이션으로서 유지될 수 있고, 그리고 프로세서들(910) 상에서 실행될 수 있다. 디바이스 애플리케이션들(918)은 디바이스 관리자를 포함할 수 있는데, 예컨대, 임의 형태의 제어 애플리케이션, 소프트웨어 애플리케이션, 신호-프로세싱 및 제어 모듈, 특정 디바이스에 고유한 코드, 특정 디바이스에 대한 하드웨어 추상화 계층, 등을 포함할 수 있다.
디바이스 애플리케이션들(918)은 또한 기계 학습을 사용해 각도 추정(angular estimation)을 구현하기 위한 임의의 시스템 컴포넌트들, 엔진들, 또는 관리자들을 포함한다. 이러한 예에서, 디바이스 애플리케이션들(918)은 도 2의 레이더-기반 애플리케이션(206) 및 공간 시간 뉴럴 네트워크(222)를 포함한다.
결론(Conclusion)
공간 시간 뉴럴 네트워크를 사용하여 제스처 인식을 수행하는 스마트-디바이스-기반 레이더 시스템을 사용하는 기법들 및 이러한 스마트-디바이스-기반 레이더 시스템을 포함하는 장치들이 특징들 및/또는 방법들에 특정된 언어로 설명되었지만, 첨부되는 청구항들의 주된 내용이, 설명되는 이러한 특정 특징들 또는 방법들에 반드시 한정되는 것은 아님이 이해돼야 한다. 오히려, 이러한 특정 특징들 및 방법들은 공간 시간 뉴럴 네트워크를 사용하여 제스처 인식을 수행하는 스마트-디바이스-기반 레이더 시스템의 예시적 구현예들로서 개시된다.
일부 사례들이 아래에서 설명된다.
사례 1: 레이더 시스템(radar system)에 의해 수행되는 방법, 이러한 방법은,
레이더 시스템의 안테나 어레이(antenna array)를 사용하여 레이더 전송 신호(radar transmit signal)를 전송하는 것과;
안테나 어레이를 사용하여 레이더 수신 신호(radar receive signal)를 수신하는 것과, 여기서 레이더 수신 신호는 적어도 하나의 사용자에 의해 반사되는 레이더 전송 신호의 임의의 버전(version)을 포함하고;
레이더 수신 신호에 근거하여 복합 레이더 데이터(complex radar data)를 발생시키는 것과;
복합 레이더 데이터를 레이더 시스템의 공간 시간 뉴럴 네트워크(space time neural network)에 제공하는 것과, 여기서 공간 시간 뉴럴 네트워크는 멀티-스테이지 기계-학습 아키텍처(multi-stage machine-learning architecture)를 포함하고; 그리고
적어도 하나의 사용자에 의해 수행되는 제스처(gesture)를 인식하기 위해 공간 시간 뉴럴 네트워크를 사용하여 복합 레이더 데이터를 분석하는 것을 포함한다.
사례 2: 사례 1의 방법, 여기서,
복합 레이더 데이터의 분석은, 제스처를 인식하기 위해 기계-학습 기법(machine-learning technique)들을 사용하여 복합 레이더 데이터의 크기 및 위상 정보를 모두 분석하는 것을 분석하는 것을 포함한다.
사례 3; 사례 1 또는 사례 2의 방법, 여기서,
멀티-스테이지 기계 학습 아키텍처는 공간-순환 네트워크(space-recurrent network) 및 시간-순환 네트워크(time-recurrent network)를 포함하고,
여기서 복합 레이더 데이터의 분석은,
제스처와 관련된 특징 데이터(feature data)를 발생시키기 위해, 공간-순환 네트워크를 사용하여, 공간 도메인(spatial domain)에 걸쳐 복합 레이더 데이터를 분석하는 것과; 그리고
제스처를 인식하기 위해, 시간-순환 네트워크를 사용하여, 시간 도메인(temporal domain)에 걸쳐 특징 데이터를 분석하는 것을 포함한다.
사례 4: 사례 3의 방법은 또한,
원형 버퍼(circular buffer) 내에 특징 데이터를 저장하는 것과; 그리고
원형 버퍼 내에 저장된 특징 데이터를, 시간-순환 네트워크에 의해, 액세스(accessing)하는 것을 포함한다.
사례 5: 사례 3 또는 사례 4의 방법, 여기서 공간 도메인에 걸친 복합 레이더 데이터의 분석은,
각각의 범위 빈(range bin)에 대한 채널-도플러 데이터(channel-Doppler data)를 발생시키기 위해 비-선형 활성화 함수(non-linear activation function)를 사용하여 상이한 범위 빈들과 관련된 복합 레이더 데이터의 일부분들을 개별적으로 프로세싱(processing)하는 것과; 그리고
특징 데이터를 발생시키기 위해 상이한 범위 빈들에 걸쳐 채널-도플러 데이터를 분석하는 것을 포함한다.
사례 6: 사례 3 내지 사례 5 중 임의의 사례의 방법, 여기서 시간 도메인에 걸친 특징 데이터의 분석은, 적어도 두 개의 상이한 시간 프레임(time frame)들과 관련된 특징 데이터를 분석함으로써 제스처에 관한 예측을 형성하는 것을 포함한다.
사례 7: 사례 3 내지 사례 6 중 임의의 사례의 방법, 여기서 공간-순환 네트워크는 처프-레벨 분석 모듈 및 특징-레벨 분석 모듈을 포함한다.
사례 8: 사례 3 내지 사례 7 중 임의의 사례의 방법, 여기서 시간-순환 네트워크는 애플리케이션-레벨 분석 모듈을 포함한다.
사례 9: 임의의 앞선 사례의 방법, 여기서 복합 레이더 데이터는 다음 중 적어도 하나를 포함한다:
복합 범위-도플러 맵(complex range-Doppler map);
복합 간섭계 데이터(complex interferometry data);
레이더 수신 신호와 관련된 다수의 디지털 비트 신호(digital beat signal)들; 또는
다수의 디지털 비트 신호들의 주파수-도메인 표현(frequency-domain representation)들.
사례 10: 임의의 앞선 사례의 방법, 여기서 제스처는 다음 중 적어도 하나를 포함한다:
스와이프 제스처(swipe gesture);
뻗기 제스처(reach gesture);
손잡이-돌리기 제스처(knob-turning gesture); 또는
스핀들-꼬디 제스처(spindle-twisting gesture).
사례 11: 임의의 앞선 사례의 방법, 여기서,
레이더 수신 신호의 수신은, 레이더 시스템의 상이한 안테나 요소(antenna element)들을 사용하여 레이더 수신 신호의 다수의 버전들을 수신하는 것을 포함하고,
복합 레이더 데이터의 발생은, 레이더 시스템의 각각의 수신 채널들을 사용하여 디지털 비트 신호들을 발생시키는 것을 포함하고, 각각의 수신 채널들은 상이한 안테나 요소들에 각각 연결된다.
사례 12: 사례 4 내지 사례 11 중 임의의 사례의 방법, 여기서 공간-순환 네트워크에 의해 프로세싱되는 특징 데이터는 원형 버퍼에 의해 저장되고, 그리고 특징 데이터의 시간 세트는 시간-순환 네트워크에 의해 액세스된다.
사례 13: 장치, 이러한 장치는 레이더 시스템을 포함하고,
여기서 레이더 시스템은,
안테나 어레이와;
송수신기(transceiver)와; 그리고
사례 1 내지 사례 12의 방법들 중 임의의 방법을 수행하도록 구성된 프로세서 및 컴퓨터-판독가능 저장 매체들을 포함한다.
사례 14: 사례 13의 장치, 여기서 장치는 스마트 디바이스(smart device)를 포함하고, 스마트 디바이스는 다음 중 하나를 포함한다:
스마트폰(smartphone);
스마트 와치(smart watch);
스마트 스피커(smart speaker);
스마트 서모스탯(smart thermostat);
보안 카메라(security camera);
차량(vehicle); 또는
가전 제품(household appliance).
사례 15: 컴퓨터-실행가능 명령들을 포함하는 컴퓨터-판독가능 저장 매체들, 여기서 컴퓨터-실행가능 명령들은, 프로세서에 의한 실행에 응답하여, 공간 시간 뉴럴 네트워크를 구현하고,
공간 시간 뉴럴 네트워크는,
적어도 하나의 객체(object)에 의해 반사되는 레이더 수신 신호와 관련된 복합 레이더 데이터를 수용하는 것과;
특징 데이터를 발생시키기 위해 공간 도메인에 걸쳐 복합 레이더 데이터를 분석하는 것과;
레이더-애플리케이션 데이터(radar-application data)를 발생시키기 위해 시간 도메인에 걸쳐 특징 데이터를 분석하는 것과; 그리고
레이더-애플리케이션 데이터를 레이더-기반 애플리케이션(radar-based application)으로 전달(pass)하는 것을 행하도록 구성된다.
사례 16: 사례 15의 컴퓨터-판독가능 저장 매체들, 여기서 공간 시간 뉴럴 네트워크는 또한, 레이더-애플리케이션 데이터를 발생시키기 위해 복합 레이더 데이터의 크기 및 위상 정보를 모두 분석하도록 구성된다.
사례 17: 사례 15 또는 사례 16의 컴퓨터-판독가능 저장 매체들, 여기서
적어도 하나의 객체는 사용자를 포함하고,
레이더-애플리케이션 데이터는 사용자에 의해 수행되는 제스처를 식별시키고, 그리고
컴퓨터-실행가능 명령들은, 프로세서에 의한 실행에 응답하여,
레이더-애플리케이션 데이터를 수용하는 것과; 그리고
식별된 제스처에 근거하여 사용자에게 콘텐츠(content)를 디스플레이(display)하는 것을 행하도록 구성되는 레이더-기반 애플리케이션을 구현한다.
사례 18: 사례 17의 컴퓨터-판독가능 저장 매체들, 여기서 공간 시간 뉴럴 네트워크는 또한,
제스처를 수행하도록 사용자에게 촉구(prompt)하는 것과;
사용자가 제스처를 수행하는 동안 복합 레이더 데이터를 훈련 데이터(training data)로서 기록(record)하는 것과; 그리고
사용자에 의해 수행되는 미래 제스처를 인식하기 위해 훈련 절차(training procedure)를 실행하는 것을 행하도록 구성된다.
사례 19: 사례 15 또는 사례 16의 컴퓨터-판독가능 저장 매체들, 여기서,
적어도 하나의 객체는 스타일러스(stylus)를 포함하고, 그리고
레이더-애플리케이션 데이터는 스타일러스를 사용하여 사용자에 의해 수행되는 제스처를 식별시킨다.
사례 20: 사례 15 또는 사례 16의 컴퓨터-판독가능 저장 매체들, 여기서,
적어도 하나의 객체는 무생물(inanimate object) 및 사용자를 포함하고,
레이더-애플리케이션 데이터는 무생물과 사용자 간의 잠재적 충돌을 식별시키고, 그리고
컴퓨터-실행가능 명령들은, 프로세서에 의한 실행에 응답하여,
레이더-애플리케이션 데이터를 수용하는 것과; 그리고
사용자에게 잠재적 충돌을 경고(alert)하는 것을 행하도록 구성되는 레이더-기반 애플리케이션을 구현한다.
사례 21: 사례 15 또는 사례 16의 컴퓨터-판독가능 저장 매체들, 여기서,
적어도 하나의 객체는 사용자를 포함하고,
레이더-애플리케이션 데이터는 사용자의 측정된 활력 징후(measured vital sign)를 포함하고, 그리고
컴퓨터-실행가능 명령들은, 프로세서에 의한 실행에 응답하여,
레이더-애플리케이션 데이터를 수용하는 것과; 그리고
사용자에게 측정된 활력 징후를 알려주는 것을 행하도록 구성되는 레이더-기반 애플리케이션을 구현한다.
사례 22: 사례 15 내지 사례 21 중 임의의 사례의 컴퓨터-판독가능 저장 매체들, 여기서 컴퓨터-실행가능 명령들은, 프로세서에 의한 실행에 응답하여,
복합 레이더 데이터에 근거하여 하드웨어-독립적 복합 레이더 데이터(hardware-agnostic complex radar data)를 발생시키는 것과; 그리고
하드웨어-독립적 복합 레이더 데이터를 복합 레이더 데이터로서 공간 시간 뉴럴 네트워크에 제공하는 것을 행하도록 구성되는 하드웨어-추상화 모듈(hardware-abstraction module)을 구현한다.
사례 23: 컴퓨터-실행가능 명령들을 포함하는 컴퓨터-판독가능 저장 매체들, 여기서 컴퓨터-실행가능 명령들은, 프로세서에 의한 실행에 응답하여, 공간 시간 뉴럴 네트워크를 구현하고,
공간 시간 뉴럴 네트워크는 멀티-스테이지 기계-학습 아키텍처를 포함하고,
공간 시간 뉴럴 네트워크는,
적어도 하나의 객체에 의해 반사되는 레이더 수신 신호와 관련된 복합 레이더 데이터를 수용하는 것과; 그리고
적어도 하나의 사용자에 의해 수행되는 제스처를 인식하기 위해 복합 레이더 데이터를 분석하는 것을 행하도록 구성된다.
사례 24: 사례 23의 컴퓨터-판독가능 저장 매체들, 여기서 공간 시간 뉴럴 네트워크는 또한,
특징 데이터를 발생시키기 위해 공간 도메인에 걸쳐 복합 레이더 데이터를 분석하는 것과;
레이더-애플리케이션 데이터를 발생시키기 위해 시간 도메인에 걸쳐 특징 데이터를 분석하는 것과; 그리고
레이더-애플리케이션 데이터를 레이더-기반 애플리케이션으로 전달하는 것을 행하도록 구성된다.

Claims (19)

  1. 레이더 시스템(radar system)에 의해 수행되는 방법으로서, 상기 방법은,
    상기 레이더 시스템의 안테나 어레이(antenna array)를 사용하여 레이더 전송 신호(radar transmit signal)를 전송하는 것과;
    상기 안테나 어레이를 사용하여 레이더 수신 신호(radar receive signal)를 수신하는 것과, 여기서 상기 레이더 수신 신호는 적어도 하나의 사용자에 의해 반사되는 상기 레이더 전송 신호의 임의의 버전(version)을 포함하고;
    상기 레이더 수신 신호에 근거하여 복합 레이더 데이터(complex radar data)를 발생시키는 것과;
    상기 복합 레이더 데이터를 상기 레이더 시스템의 공간 시간 뉴럴 네트워크(space time neural network)에 제공하는 것과, 여기서 상기 공간 시간 뉴럴 네트워크는 멀티-스테이지 기계-학습 아키텍처(multi-stage machine-learning architecture)를 포함하고; 그리고
    상기 적어도 하나의 사용자에 의해 수행되는 제스처(gesture)를 인식하기 위해 상기 공간 시간 뉴럴 네트워크를 사용하여 상기 복합 레이더 데이터를 분석하는 것을 포함하는 것을 특징으로 하는 레이더 시스템에 의해 수행되는 방법.
  2. 제1항에 있어서,
    상기 복합 레이더 데이터의 상기 분석은, 상기 제스처를 인식하기 위해 기계-학습 기법(machine-learning technique)들을 사용하여 상기 복합 레이더 데이터의 크기 및 위상 정보를 모두 분석하는 것을 분석하는 것을 포함하는 것을 특징으로 하는 레이더 시스템에 의해 수행되는 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 멀티-스테이지 기계 학습 아키텍처는 공간-순환 네트워크(space-recurrent network) 및 시간-순환 네트워크(time-recurrent network)를 포함하고,
    상기 복합 레이더 데이터의 상기 분석은,
    상기 제스처와 관련된 특징 데이터(feature data)를 발생시키기 위해, 상기 공간-순환 네트워크를 사용하여, 공간 도메인(spatial domain)에 걸쳐 상기 복합 레이더 데이터를 분석하는 것과; 그리고
    상기 제스처를 인식하기 위해, 상기 시간-순환 네트워크를 사용하여, 시간 도메인(temporal domain)에 걸쳐 상기 특징 데이터를 분석하는 것을 포함하는 것을 특징으로 하는 레이더 시스템에 의해 수행되는 방법.
  4. 제3항에 있어서,
    상기 방법은 또한,
    원형 버퍼(circular buffer) 내에 상기 특징 데이터를 저장하는 것과; 그리고
    상기 원형 버퍼 내에 저장된 상기 특징 데이터를, 상기 시간-순환 네트워크에 의해, 액세스(accessing)하는 것을 포함하는 것을 특징으로 하는 레이더 시스템에 의해 수행되는 방법.
  5. 제3항 또는 제4항에 있어서,
    상기 공간 도메인에 걸친 상기 복합 레이더 데이터의 상기 분석은,
    각각의 범위 빈(range bin)에 대한 채널-도플러 데이터(channel-Doppler data)를 발생시키기 위해 비-선형 활성화 함수(non-linear activation function)를 사용하여 상이한 범위 빈들과 관련된 상기 복합 레이더 데이터의 일부분들을 개별적으로 프로세싱(processing)하는 것과; 그리고
    상기 특징 데이터를 발생시키기 위해 상기 상이한 범위 빈들에 걸쳐 상기 채널-도플러 데이터를 분석하는 것을 포함하는 것을 특징으로 하는 레이더 시스템에 의해 수행되는 방법.
  6. 제3항 내지 제5항 중 임의의 항에 있어서,
    상기 시간 도메인에 걸친 상기 특징 데이터의 상기 분석은, 적어도 두 개의 상이한 시간 프레임(time frame)들과 관련된 상기 특징 데이터를 분석함으로써 상기 제스처에 관한 예측을 형성하는 것을 포함하는 것을 특징으로 하는 레이더 시스템에 의해 수행되는 방법.
  7. 임의의 앞선 항에 있어서,
    상기 복합 레이더 데이터는,
    복합 범위-도플러 맵(complex range-Doppler map);
    복합 간섭계 데이터(complex interferometry data);
    상기 레이더 수신 신호와 관련된 다수의 디지털 비트 신호(digital beat signal)들; 또는
    상기 다수의 디지털 비트 신호들의 주파수-도메인 표현(frequency-domain representation)들
    중 적어도 하나를 포함하는 것을 특징으로 하는 레이더 시스템에 의해 수행되는 방법.
  8. 임의의 앞선 항에 있어서,
    상기 제스처는,
    스와이프 제스처(swipe gesture);
    뻗기 제스처(reach gesture);
    손잡이-돌리기 제스처(knob-turning gesture); 또는
    스핀들-꼬기 제스처(spindle-twisting gesture)
    중 적어도 하나를 포함하는 것을 특징으로 하는 레이더 시스템에 의해 수행되는 방법.
  9. 임의의 앞선 항에 있어서,
    상기 레이더 수신 신호의 상기 수신은, 상기 레이더 시스템의 상이한 안테나 요소(antenna element)들을 사용하여 상기 레이더 수신 신호의 다수의 버전들을 수신하는 것을 포함하고,
    상기 복합 레이더 데이터의 상기 발생은, 상기 레이더 시스템의 각각의 수신 채널들을 사용하여 디지털 비트 신호들을 발생시키는 것을 포함하고,
    상기 각각의 수신 채널들은 상기 상이한 안테나 요소들에 각각 연결되는 것을 특징으로 하는 레이더 시스템에 의해 수행되는 방법.
  10. 장치로서,
    상기 장치는 레이더 시스템을 포함하고,
    상기 레이더 시스템은,
    안테나 어레이와;
    송수신기(transceiver)와; 그리고
    청구항 제1항 내지 제9항의 방법들 중 임의의 방법을 수행하도록 구성된 프로세서 및 컴퓨터-판독가능 저장 매체들을
    포함하는 것을 특징으로 하는 장치.
  11. 제10항에 있어서,
    상기 장치는 스마트 디바이스(smart device)를 포함하고,
    상기 스마트 디바이스는,
    스마트폰(smartphone);
    스마트 와치(smart watch);
    스마트 스피커(smart speaker);
    스마트 서모스탯(smart thermostat);
    보안 카메라(security camera);
    차량(vehicle); 또는
    가전 제품(household appliance)
    중 하나를 포함하는 것을 특징으로 하는 장치.
  12. 컴퓨터-실행가능 명령들을 포함하는 컴퓨터-판독가능 저장 매체들로서,
    상기 컴퓨터-실행가능 명령들은, 프로세서에 의한 실행에 응답하여, 공간 시간 뉴럴 네트워크를 구현하고,
    상기 공간 시간 뉴럴 네트워크는,
    적어도 하나의 객체(object)에 의해 반사되는 레이더 수신 신호와 관련된 복합 레이더 데이터를 수용하는 것과;
    특징 데이터를 발생시키기 위해 공간 도메인에 걸쳐 상기 복합 레이더 데이터를 분석하는 것과;
    레이더-애플리케이션 데이터(radar-application data)를 발생시키기 위해 시간 도메인에 걸쳐 상기 특징 데이터를 분석하는 것과; 그리고
    상기 레이더-애플리케이션 데이터를 레이더-기반 애플리케이션(radar-based application)으로 전달(pass)하는 것을
    행하도록 구성되는 것을 특징으로 하는 컴퓨터-판독가능 저장 매체들.
  13. 제12항에 있어서,
    상기 공간 시간 뉴럴 네트워크는 또한, 상기 레이더-애플리케이션 데이터를 발생시키기 위해 상기 복합 레이더 데이터의 크기 및 위상 정보를 모두 분석하도록 구성되는 것을 특징으로 하는 컴퓨터-판독가능 저장 매체들.
  14. 제12항 또는 제13항에 있어서,
    상기 적어도 하나의 객체는 사용자를 포함하고,
    상기 레이더-애플리케이션 데이터는 상기 사용자에 의해 수행되는 제스처를 식별시키고, 그리고
    상기 컴퓨터-실행가능 명령들은, 상기 프로세서에 의한 실행에 응답하여,
    상기 레이더-애플리케이션 데이터를 수용하는 것과; 그리고
    상기 식별된 제스처에 근거하여 상기 사용자에게 콘텐츠(content)를 디스플레이(display)하는 것을
    행하도록 구성되는 상기 레이더-기반 애플리케이션을 구현하는 것을 특징으로 하는 컴퓨터-판독가능 저장 매체들.
  15. 제14항에 있어서,
    상기 공간 시간 뉴럴 네트워크는 또한,
    상기 제스처를 수행하도록 상기 사용자에게 촉구(prompt)하는 것과;
    상기 사용자가 상기 제스처를 수행하는 동안 상기 복합 레이더 데이터를 훈련 데이터(training data)로서 기록(record)하는 것과; 그리고
    상기 사용자에 의해 수행되는 미래 제스처를 인식하기 위해 훈련 절차(training procedure)를 실행하는 것을
    행하도록 구성되는 것을 특징으로 하는 컴퓨터-판독가능 저장 매체들.
  16. 제12항 또는 제13항에 있어서,
    상기 적어도 하나의 객체는 스타일러스(stylus)를 포함하고,
    상기 레이더-애플리케이션 데이터는 상기 스타일러스를 사용하여 사용자에 의해 수행되는 제스처를 식별시키는 것을 특징으로 하는 컴퓨터-판독가능 저장 매체들.
  17. 제12항 또는 제13항에 있어서,
    상기 적어도 하나의 객체는 무생물(inanimate object) 및 사용자를 포함하고,
    상기 레이더-애플리케이션 데이터는 상기 무생물과 상기 사용자 간의 잠재적 충돌을 식별시키고,
    상기 컴퓨터-실행가능 명령들은, 상기 프로세서에 의한 실행에 응답하여,
    상기 레이더-애플리케이션 데이터를 수용하는 것과; 그리고
    상기 사용자에게 상기 잠재적 충돌을 경고(alert)하는 것을
    행하도록 구성되는 레이더-기반 애플리케이션을 구현하는 것을 특징으로 하는 컴퓨터-판독가능 저장 매체들.
  18. 제12항 또는 제13항에 있어서,
    상기 적어도 하나의 객체는 사용자를 포함하고,
    상기 레이더-애플리케이션 데이터는 상기 사용자의 측정된 활력 징후(measured vital sign)를 포함하고, 그리고
    상기 컴퓨터-실행가능 명령들은, 상기 프로세서에 의한 실행에 응답하여,
    상기 레이더-애플리케이션 데이터를 수용하는 것과; 그리고
    상기 사용자에게 상기 측정된 활력 징후를 알려주는 것을
    행하도록 구성되는 레이더-기반 애플리케이션을 구현하는 것을 특징으로 하는 컴퓨터-판독가능 저장 매체들.
  19. 제12항 내지 제18항 중 임의의 항에 있어서,
    상기 컴퓨터-실행가능 명령들은, 상기 프로세서에 의한 실행에 응답하여,
    상기 복합 레이더 데이터에 근거하여 하드웨어-독립적 복합 레이더 데이터(hardware-agnostic complex radar data)를 발생시키는 것과; 그리고
    상기 하드웨어-독립적 복합 레이더 데이터를 상기 복합 레이더 데이터로서 상기 공간 시간 뉴럴 네트워크에 제공하는 것을
    행하도록 구성되는 하드웨어-추상화 모듈(hardware-abstraction module)을 구현하는 것을 특징으로 하는 컴퓨터-판독가능 저장 매체들.
KR1020227008000A 2019-10-30 2020-10-20 공간 시간 뉴럴 네트워크를 사용하여 제스처 인식을 수행하는 스마트-디바이스-기반 레이더 시스템 KR20220044809A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962928029P 2019-10-30 2019-10-30
US62/928,029 2019-10-30
PCT/US2020/056505 WO2021086688A2 (en) 2019-10-30 2020-10-20 Smart-device-based radar system performing gesture recognition using a space time neural network

Publications (1)

Publication Number Publication Date
KR20220044809A true KR20220044809A (ko) 2022-04-11

Family

ID=73402159

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227008000A KR20220044809A (ko) 2019-10-30 2020-10-20 공간 시간 뉴럴 네트워크를 사용하여 제스처 인식을 수행하는 스마트-디바이스-기반 레이더 시스템

Country Status (6)

Country Link
US (1) US20220326367A1 (ko)
EP (1) EP4052173A2 (ko)
JP (1) JP7481434B2 (ko)
KR (1) KR20220044809A (ko)
CN (1) CN114365008A (ko)
WO (1) WO2021086688A2 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113918019A (zh) * 2021-10-19 2022-01-11 亿慧云智能科技(深圳)股份有限公司 终端设备的手势识别控制方法、装置、终端设备及介质
WO2024081122A1 (en) * 2022-10-14 2024-04-18 Motional Ad Llc Object detection using radar sensors
CN115345908B (zh) * 2022-10-18 2023-03-07 四川启睿克科技有限公司 一种基于毫米波雷达的人体姿态识别方法
CN117724094B (zh) * 2024-02-07 2024-05-07 浙江大华技术股份有限公司 生命体征检测方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108664849A (zh) * 2017-03-30 2018-10-16 富士通株式会社 视频中事件的检测装置、方法以及图像处理设备
JP6877594B2 (ja) * 2017-11-21 2021-05-26 グーグル エルエルシーGoogle LLC マシンラーニングによる低パワーアンビエントコンピューティングシステム
WO2019195327A1 (en) * 2018-04-05 2019-10-10 Google Llc Smart-device-based radar system performing angular estimation using machine learning

Also Published As

Publication number Publication date
JP7481434B2 (ja) 2024-05-10
WO2021086688A3 (en) 2021-06-10
CN114365008A (zh) 2022-04-15
JP2022553619A (ja) 2022-12-26
WO2021086688A2 (en) 2021-05-06
US20220326367A1 (en) 2022-10-13
EP4052173A2 (en) 2022-09-07

Similar Documents

Publication Publication Date Title
EP4066008B1 (en) Detecting a frame-of-reference change in a smart-device-based radar system
US11573311B2 (en) Smart-device-based radar system performing angular estimation using machine learning
US10698603B2 (en) Smartphone-based radar system facilitating ease and accuracy of user interactions with displayed objects in an augmented-reality interface
US11906619B2 (en) Saturation compensation using a smart-device-based radar system
US11175378B2 (en) Smart-device-based radar system performing symmetric doppler interference mitigation
US20220326367A1 (en) Smart-Device-Based Radar System Performing Gesture Recognition Using a Space Time Neural Network
US20230161027A1 (en) Smart-Device-Based Radar System Performing Near-Range Detection
US20200397310A1 (en) Smart-Device-Based Radar System Detecting Human Vital Signs in the Presence of Body Motion
TW202009649A (zh) 使用相干多觀點雷達處理之偵測使用者手勢之基於智慧型手機的雷達系統
US20240027600A1 (en) Smart-Device-Based Radar System Performing Angular Position Estimation
US20210396867A1 (en) Multi-Radar System
US20220057476A1 (en) Electromagnetic Vector Sensors for a Smart-Device-Based Radar System
EP4348292A1 (en) Radar application programming interface