KR20240009954A - 무선 데이터를 사용한 자기지도 수동 포지셔닝 - Google Patents

무선 데이터를 사용한 자기지도 수동 포지셔닝 Download PDF

Info

Publication number
KR20240009954A
KR20240009954A KR1020237039942A KR20237039942A KR20240009954A KR 20240009954 A KR20240009954 A KR 20240009954A KR 1020237039942 A KR1020237039942 A KR 1020237039942A KR 20237039942 A KR20237039942 A KR 20237039942A KR 20240009954 A KR20240009954 A KR 20240009954A
Authority
KR
South Korea
Prior art keywords
data
loss
labels
clusters
information
Prior art date
Application number
KR1020237039942A
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
Priority claimed from US17/332,892 external-priority patent/US11871299B2/en
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20240009954A publication Critical patent/KR20240009954A/ko

Links

Classifications

    • 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
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0252Radio frequency fingerprinting
    • G01S5/02528Simulating radio frequency fingerprints
    • 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
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/01Determining conditions which influence positioning, e.g. radio environment, state of motion or energy consumption
    • G01S5/013Identifying areas in a building
    • 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
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0278Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves involving statistical or probabilistic considerations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

수동 무선 주파수(RF) 위치 검출 동작들을 수행하기 위한 시스템들, 방법들, 및 비일시적 매체들이 개시된다. 일부 양태들에서, RF 데이터, 이를테면 채널 상태 정보(CSI)를 포함하는 RF 신호들이 무선 디바이스로부터 수신될 수 있다. RF 데이터는 3차원(3D) 오브젝트 위치 추정을 수행하도록 구성된 자기지도 머신 러닝 아키텍처에 제공될 수 있다.

Description

무선 데이터를 사용한 자기지도 수동 포지셔닝
본 개시의 양태들은 일반적으로 무선 포지셔닝 등에 관한 것이다. 일부 구현들에서, 무선 주파수(RF) 데이터와 같은, 무선 데이터에 기초하여 수동(passive) 포지셔닝을 제공하기 위한 예들이 설명된다.
무선 감지 디바이스들은 주어진 환경에서 오브젝트들을 검출하는 데 사용될 수 있는 무선 주파수 특징들을 제공할 수 있다. 예를 들어, 무선 주파수 감지 디바이스들은, 환경 전체에 걸쳐 분산될 수 있고 환경 전체에 걸쳐 움직이는 사용자들을 추적하도록 구성될 수 있는 소프트웨어 및 하드웨어 컴포넌트들을 포함할 수 있다. 다양한 이동통신(telecommunication) 기능들을 구현하기 위해, 무선 감지 디바이스들은 무선 주파수(RF) 신호들을 송신 및 수신하도록 구성된 하드웨어 및 소프트웨어 컴포넌트들을 포함할 수 있다. 예를 들어, 무선 디바이스는 무엇보다도, Wi-Fi, 5G/뉴 라디오(NR), 블루투스TM, 및/또는 초광대역(UWB)을 통해 통신하도록 구성될 수 있다.
다음은 본 명세서에 개시된 하나 이상의 양태들에 관한 간략화된 개요를 제시한다. 따라서, 다음의 개요는 모든 고려된 양태들에 관한 광범위한 개관으로 간주되지도 않아야 하고, 다음의 개요가 모든 고려된 양태들에 관한 핵심적인 또는 결정적인 엘리먼트들을 식별하거나 임의의 특정 양태와 연관된 범위를 기술하는 것으로 간주되지도 않아야 한다. 이에 따라, 다음의 개요는 아래에 제시된 상세한 설명에 선행하는 간략화된 형태로 본 명세서에 개시된 메커니즘들에 관한 하나 이상의 양태들에 관한 소정의 개념들을 제시하는 유일한 목적을 갖는다.
무선 주파수(RF) 데이터에 기초하여 위치 예측들을 하기 위한 시스템들, 장치들, 방법들, 및 컴퓨터 판독가능 매체들이 개시된다. 적어도 하나의 예에 따르면, 위치 예측을 수행하기 위한 장치가 제공된다. 장치는 적어도 하나의 네트워크 인터페이스, 적어도 하나의 메모리, 및 상기 적어도 하나의 메모리에 커플링된 적어도 하나의 프로세서(예컨대, 회로부에서 구성됨)를 포함할 수 있다. 상기 적어도 하나의 프로세서는: 적어도 하나의 네트워크 인터페이스를 통해, 무선 주파수(RF) 데이터를 획득하고; RF 데이터에 기초하여 복수의 특징 벡터들을 결정하고; 복수의 특징 벡터들에 기초하여 복수의 제1 클러스터들을 생성하는 것으로서, 제1 클러스터들은 복수의 제1 의사-레이블(pseudo-label)들과 대응하는, 상기 복수의 제1 클러스터들을 생성하고; 복수의 특징 벡터들에 기초하여 복수의 프로젝션(projection) 특징들을 결정하고; 복수의 제1 의사-레이블들 및 복수의 프로젝션 특징들을 사용하여 제1 ML 모델을 트레이닝하고; 그리고 복수의 프로젝션 특징들 및 플로어(floor) 레벨 손실에 기초하여 사용자의 위치를 예측하도록, 구성된다.
다른 예에서, 위치 예측을 수행하기 위한 방법이 제공된다. 적어도 하나의 예에 따르면, 하나 이상의 위치 예측 모델들을 트레이닝하기 위한 방법이 제공되며, 이 방법은: 무선 주파수(RF) 데이터를 획득하는 단계; RF 데이터에 기초하여 복수의 특징 벡터들을 결정하는 단계; 복수의 특징 벡터들에 기초하여 복수의 제1 클러스터들을 생성하는 단계로서, 제1 클러스터들은 복수의 제1 의사-레이블들과 대응하는, 상기 복수의 제1 클러스터들을 생성하는 단계; 복수의 특징 벡터들에 기초하여 복수의 프로젝션 특징들을 결정하는 단계; 복수의 제1 의사-레이블들 및 복수의 프로젝션 특징들을 사용하여 제1 ML 모델을 트레이닝하는 단계; 및 복수의 프로젝션 특징들 및 플로어 레벨 손실에 기초하여 사용자의 위치를 예측하는 단계를 포함한다.
다른 예에서, 비일시적 컴퓨터 판독가능 저장 매체가 제공되며, 이는 컴퓨터 또는 프로세서로 하여금: 무선 주파수(RF) 데이터를 획득하게 하고; RF 데이터에 기초하여 복수의 특징 벡터들을 결정하게 하고; 복수의 특징 벡터들에 기초하여 복수의 제1 클러스터들을 생성하게 하는 것으로서, 제1 클러스터들은 복수의 제1 의사-레이블들과 대응하는, 상기 복수의 제1 클러스터들을 생성하게 하고; 복수의 특징 벡터들에 기초하여 복수의 프로젝션 특징들을 결정하게 하고; 복수의 제1 의사-레이블들 및 복수의 프로젝션 특징들을 사용하여 제1 ML 모델을 트레이닝하게 하고; 그리고 복수의 프로젝션 특징들 및 플로어 레벨 손실에 기초하여 사용자의 위치를 예측하게 하기 위한, 적어도 하나의 명령을 포함한다.
다른 예에서, 위치 예측을 수행하기 위한 장치가 제공된다. 장치는: 무선 주파수(RF) 데이터를 획득하기 위한 수단; RF 데이터에 기초하여 복수의 특징 벡터들을 결정하기 위한 수단; 복수의 특징 벡터들에 기초하여 복수의 제1 클러스터들을 생성하기 위한 수단으로서, 제1 클러스터들은 복수의 제1 의사-레이블들과 대응하는, 상기 복수의 제1 클러스터들을 생성하기 위한 수단; 복수의 특징 벡터들에 기초하여 복수의 프로젝션 특징들을 결정하기 위한 수단; 복수의 제1 의사-레이블들 및 복수의 프로젝션 특징들을 사용하여 제1 ML 모델을 트레이닝하기 위한 수단; 및 복수의 프로젝션 특징들 및 플로어 레벨 손실에 기초하여 사용자의 위치를 예측하기 위한 수단을 포함한다.
이 개요는 청구된 주제물의 핵심적인 또는 본질적인 특징들을 식별하도록 의도되지도 않고, 청구된 주제물의 범위를 결정하기 위해 홀로 사용되도록 의도되지도 않는다. 주제물은 본 특허의 전체 명세서의 적절한 부분들, 임의의 또는 모든 도면들, 및 각각의 청구항을 참조하여 이해되어야 한다.
본 명세서에 개시된 양태들과 연관된 다른 목적들 및 이점들은 첨부 도면들 및 상세한 설명에 기초하여 당업자에게 자명할 것이다.
첨부 도면들은 본 개시의 다양한 양태들의 설명을 돕기 위해 제시되고 오직 양태들의 예시를 위해 제공될 뿐 그의 한정을 위해 제공되는 것이 아니다.
도 1은 일부 예들에 따른, 사용자 디바이스의 컴퓨팅 시스템의 예를 예시하는 블록도이고;
도 2는 일부 예들에 따른, 사용자 존재를 검출하기 위해 무선 주파수(RF) 감지 기법들을 활용하는 무선 디바이스의 예를 예시하는 도면이고;
도 3은 일부 예들에 따른, 사용자 위치의 검출을 용이하게 하기 위한 무선 디바이스들을 포함하는 환경의 예를 예시하는 도면이고;
도 4는 개시된 기술의 위치 추정 프로세스가 구현될 수 있는 단일 플로어 환경의 예를 예시하는 도면이고;
도 5a 내지 도 5c는 일부 예들에 따른, 분산 감지(distributed sensing) 시스템을 활용하는 오브젝트 검출의 예들을 예시하는 도면들이고;
도 6은 일부 예들에 따른, 신호 강도 대 공간 내 신호 포지션의 예시적인 그래프를 예시하는 도면이고;
도 7은 일부 예들에 따른, 레이더 반사 면적(Radar Cross Section) 측정들에 대한 예시적인 블록도를 예시하는 도면이고;
도 8은 일부 예들에 따른, 자기지도(self-supervised) 포지션 추정 시스템의 예시적인 아키텍처를 예시하는 도면이고;
도 9는 일부 예들에 따른, 자기지도 포지션 추정 시스템을 위한 의사-레이블들을 생성하기 위해 사용될 수 있는 클러스터들의 예를 예시하는 도면이고;
도 10a는 일부 예들에 따른, 지리적 환경에 대한 2차원 잠재(latent) 공간, 데카르트(Cartesian) 맵, 및 대응하는 실측 자료(ground-truth) 데이터 사이의 비교의 예를 예시하는 도면이고;
도 10b는 예시적인 멀티플로어 환경의 레벨들(플로어들)과 데카르트 평면에서의 각각의 구역들 사이의 비교의 예를 예시하는 도면이고;
도 11은 일부 예들에 따른, 딥 러닝 뉴럴 네트워크의 예를 예시하는 블록도이고;
도 12는 일부 예들에 따른, 컨볼루션 뉴럴 네트워크(convolutional neural network; CNN)의 예를 예시하는 블록도이고;
도 13은 일부 예들에 따른, 하나 이상의 감지 모델들을 트레이닝하기 위한 프로세스의 예시적인 흐름도를 예시하고;
도 14는 일부 예들에 따른, 트레이닝 절차 및 위치 추정 프로세스를 개시하기 위한 프로세스의 예시적인 흐름도를 예시하고; 그리고
도 15는 일부 예들에 따른, 예시적인 컴퓨팅 시스템을 예시한다.
본 개시의 특정 양태들 및 실시예들이 예시 목적으로 이하에 제공된다. 본 개시의 범위로부터 일탈함 없이 대안적인 양태들이 고안될 수도 있다. 추가적으로, 본 개시의 관련 상세들을 모호하게 하지 않기 위해 본 개시의 잘 알려진 엘리먼트들은 상세히 설명되지 않거나 생략될 것이다. 이들 양태들 및 실시예들 중 일부는 독립적으로 적용될 수도 있고, 그들 중 일부는 당업자에게 명백할 바와 같이 조합하여 적용될 수도 있다. 다음의 설명에서, 설명의 목적으로, 특정 상세들이 본 출원의 실시예들의 철저한 이해를 제공하기 위해 제시된다. 하지만, 다양한 실시예들은 이들 특정 상세들 없이도 실시될 수도 있음이 명백할 것이다. 도면들 및 설명은 제한적인 것으로 의도되지 않는다.
다음의 설명은 오직 예시적인 실시예들을 제공할 뿐이고, 본 개시의 범위, 적용가능성, 또는 구성을 한정하도록 의도되지 않는다. 오히려, 예시적인 실시예들의 하기 설명은 예시적인 실시예를 구현하기 위한 실시가능한 설명을 당업자에게 제공할 것이다. 첨부된 청구항들에 제시된 바와 같이 본 출원의 사상 및 범위를 벗어나지 않으면서 엘리먼트들의 기능 및 배열에 다양한 변경들이 이루어질 수도 있음이 이해되어야 한다.
단어들 "예시적인" 및/또는 "예"는 "예, 사례, 또는 예시로서 기능하는 것"을 의미하도록 본 명세서에서 사용된다. "예시적인" 및/또는 "예"로서 본 명세서에서 설명된 임의의 양태는 반드시 다른 양태들에 비해 선호되거나 유리한 것으로서 해석되어야 하는 것은 아니다. 마찬가지로, 용어 "본 개시의 양태들"은 본 개시의 모든 양태들이 논의된 특징, 이점 또는 동작 모드를 포함할 것을 요구하지는 않는다.
많은 감지 디바이스들(예컨대, 휴대용 전자 디바이스들, 스마트폰들, 태블릿들, 랩톱들, 및 WiFi 메시(mesh) 액세스 포인트들)은 무선 주파수 감지(RF 감지로도 지칭됨)를 수행할 수 있다. 예를 들어, 감지 디바이스들은 RF 감지 기법들을 활용하여 오브젝트 검출(예를 들어, 침입자가 구내(premises)에 진입했다고 결정함)을 수행할 수 있다. RF 감지는 무엇보다도, 오브젝트 움직임을 추적하는 것, 홈 및 비즈니스 보안을 제공하는 것과 같은 많은 애플리케이션들을 갖는다.
일부 예들에서, 무선 주파수 감지는 신호들(예를 들어, WiFi 신호들, 3GPP 신호들, 블루투스TM 신호들 등)을 활용하여, 사람의 수동 포지셔닝 또는 모션 및 활동 특성화와 같은 환경의 변화들을 검출 및 특성화할 수 있다. 예를 들어, 본 명세서에 설명된 바와 같은 무선 주파수 감지 시스템은, 환경에서 하나 이상의 움직이는 오브젝트들(예를 들어, 사람 또는 다른 오브젝트)의 정확한 검출 및 위치 추정을 제공하기 위해, 감지 디바이스들로 지칭될 수 있는 무선 디바이스들(예를 들어, WiFi 액세스 포인트들 또는 다른 디바이스들)과 연관된 통신들을 분석할 수 있다. 감지 검출 동작들의 예들은, 무엇보다도, 모션(예를 들어, 모션의 존재 또는 모션의 부족 또는 모션없음(no-motion)), 모션 패턴들(예를 들어, 걷기, 낙하, 제스처들, 또는 다른 모션), 모션 위치(예를 들어, 포지션), 모션 추적(예를 들어, 시간에 따른, 사람과 같은 오브젝트의 움직임), 사람 또는 동물의 생체 징후들(예를 들어, 호흡, 심박수 등), 이들의 임의의 조합, 및/또는 다른 정보를 검출하는 것을 포함한다. 일 예시적인 예에서, 움직이는 오브젝트의 포지셔닝은 멀티 룸 실내 환경과 같은 멀티 룸 환경에서 결정될 수 있다.
일부 경우들에서, 머신 러닝 기반 시스템들은 무엇보다도, 포지션 검출, 모션 검출, 모션 추적과 같은 다양한 감지 검출 동작들을 수행할 수 있다. 레이블들 및 테스트 또는 트레이닝 데이터를 사용하여, 머신 러닝 시스템은 감지 검출 동작들을 수행하도록 트레이닝될 수 있다. 그러나, 이러한 일부 머신 러닝 시스템을 효과적으로 트레이닝하기에 충분한 레이블링된 트레이닝 데이터를 획득하는 것이 어려울 수 있다. 예를 들어, 일부 경우들에서, 실측 자료 데이터 수집을 수행하는데 있어서의 어려움들로 인해, 예를 들어 비용, 난이도, 및/또는 프라이버시 우려들로 인해, 적절한 수의 포지션 레이블들이 이용가능하지 않을 수도 있다.
개시된 기술은 머신 러닝 위치 추정을 개선하기 위한 솔루션들을 일반적으로, 그리고 특히 레이블링/트레이닝 데이터가 희소한 시나리오들에서 제공한다. 일부 양태들에서, 본 개시는 3차원(3D) 환경에서 오브젝트(예를 들어, 사람)의 정밀한 포지션을 예측하는 모델을 생성하도록 자기지도를 수행하기 위한 시스템들, 장치들, 프로세스들(방법들이라고도 지칭됨), 및 컴퓨터 판독가능 매체들("시스템들 및 기법들"이라고 총칭됨)을 제공한다. 일부 양태들에서, 개시된 기술의 프로세스는 희소한 수의 프라이어(prior)들을 사용하여 실세계 데카르트 공간 상에 매핑될 수 있는 토폴로지적(topological)으로 정확한 잠재 공간을 생성하기 위해 채널 상태 정보(CSI)와 같은 RF 데이터를 사용한다. 원하는 구현에 따라, 잠재 공간은 2차원(2D) 또는 3차원(3D)일 수도 있다. 구현에 따라, 프라이어들은 다양한 무선 디바이스들(예를 들어, 액세스 포인트들)을 위한 위치 정보, 토폴로지적 특징들(예를 들어, 실내 플로어플랜(floor-plan)에 대한 정보), 룸 레벨 레이블들, 및/또는 플로어 레벨 레이블들 등을 포함할 수 있지만, 이에 한정되지 않는다. 희소 레이블링 정보만을 사용하여, 다양한 오브젝트들(예를 들어, 사람들/사용자들)에 대한 정밀한 포지션들이, 트레이닝 동안 정밀한 포지션 레이블들을 사용할 필요 없이, 멀티플로어 및 멀티룸 환경들과 같은 상이한 토포그래피(topography)들에 대해 수행될 수 있다.
아래에서 더 상세히 논의되는 바와 같이, 개시된 기술의 양태들은 삼중항 손실(triplet-loss)을 활용하여, 비지도(unsupervised) 방식으로 머신 러닝 모델(예를 들어, 뉴럴 네트워크)을 트레이닝한다. 삼중항 손실은, 아래에서 설명되는, 패킷들 또는 샘플들(예를 들어, CSI 샘플들)의 시간적 특성에 기초할 수 있다. 일부 양태들에서, ML 아키텍처는 입력 RF 데이터(예컨대, CSI 샘플들) 사이의 공간 유사성 메트릭을 동시에 학습하고, 타겟 환경과 토폴로지적으로 유사한 3D(또는 2D) 잠재 공간을 생성하기 위해 차원수(dimensionality) 축소를 수행하도록 구성될 수 있다. 일부 양태들에서, 뉴럴 네트워크에 의해 인코딩된 표현을 클러스터링하는 것을 수반하는 뉴럴 클러스터링과 삼중항 손실을 조합한 뒤, 이전에 할당된 클러스터들(의사-레이블들)을 예측하도록 네트워크를 트레이닝함으로써, 생성된 2D 잠재 공간이 타겟 환경에 정확하게 매핑될 수 있다. 일부 접근법들에서, 삼중항 손실 및 뉴럴 클러스터링은 칭찬(compliment)들로서 기능할 수 있다. 예를 들어, 삼중항 손실은 모델이 특정 샘플들(예를 들어, 시간 상 가깝고 일부 경우들에서는 공간 상 가까운 샘플들 또는 포인트들)을 모으는 표현을 학습하도록 격려할 수 있다. 이어서, 뉴럴 클러스터링은 공간적으로 근접하지만 시간적으로는 먼 포인트들로 솔루션을 확장할 수 있다.
일부 양태들에서, 예를 들어 액세스 포인트들의 위치들, 플로어플랜 정보, 및/또는 구역 레이블들을 포함하는 그러나 이에 제한되지 않는 다양한 타입들의 정보를 포함할 수 있는, 사용자 제공된 프라이어들을 사용하여 실세계 (데카르트) 표현으로 잠재 공간이 매핑될 수 있다. 구역 레이블들은, 특정 수집된 CSI와 연관된 '특성'일 수 있고, 사용자가 특정 구역 X에 있었던 동안 특정 CSI가 수집되었음을 표시할 수 있다. 예를 들어, 트레이닝 동안, 디바이스(예를 들어, 모바일 디바이스 또는 스마트폰)를 갖는 사용자는 장소의 상이한 구역들에서 걸을 수 있고, (예를 들어, 디바이스의 인터페이스에서 룸 또는 구역 표시자를 입력함으로써) 사용자가 어느 구역에 위치하는지를 표시할 수 있다. 시스템은 그 시점에서 수신되는 대응하는 CSI에 그 정보를 첨부할 수 있다. 룸 레이블들 및/또는 플로어 레이블들 등과 같은 다른 하이 레벨(high-level) 구역 레이블들. 일부 예들에서, 실세계 프라이어들은, 예를 들어 사용자와 연관된 디바이스(예를 들어, 모바일 디바이스 또는 스마트폰) 상에서 실행되는, 애플리케이션을 통해 사용자에 의해 제공될 수도 있다. 예로서, 애플리케이션(또는 앱)은, 사용자가 위치 추정이 수행될 환경의 스케치를 제공하고, 환경과 연관된 하나 이상의 무선 디바이스들(예를 들어, 액세스 포인트들 또는 기지국들)에 관한 위치 정보를 제공하고, 그리고/또는 (예를 들어, 위에서 언급된 구역 레이블들을 위해 사용될 수 있는) 사용자가 어느 룸 또는 구역에 있는지를 표시하는 룸 또는 구역 표시자를 제공하는 능력을 용이하게 할 수 있다. 예를 들어, 일부 구현들에서, 앱은 룸 또는 구역 표시자들과 같은, 환경의 특징들에 관한 입력 표시자들, 또는 다른 디스크립터들을 수신하는 데 사용될 수 있다.
본 명세서에 설명된 시스템들 및 기법들의 다양한 양태들이 도면들과 관련하여 아래에서 논의될 것이다. 도 1은 사용자 디바이스(107)의 컴퓨팅 시스템(170)의 예를 예시한다. 사용자 디바이스(107)는 최종 사용자에 의해 사용될 수 있는 디바이스의 예이다. 예를 들어, 사용자 디바이스(107)는 모바일 폰, 라우터, 태블릿 컴퓨터, 랩톱 컴퓨터, 추적 디바이스, 웨어러블 디바이스(예를 들어, 스마트 워치, 안경, XR 디바이스 등), 사물 인터넷(IoT) 디바이스, 차량(또는 차량의 컴퓨팅 디바이스), 및/또는 무선 통신 네트워크를 통해 통신하기 위해 사용자에 의해 사용되는 다른 디바이스를 포함할 수 있다. 일부 경우들에서, 디바이스는, Wi-Fi 표준을 사용하여 통신하도록 구성된 디바이스를 참조할 때와 같이, 스테이션(STA)으로 지칭될 수 있다. 일부 경우들에서, 디바이스는 5G/뉴 라디오(NR), 롱 텀 에볼루션(LTE), 또는 다른 이동통신 표준을 사용하여 통신하도록 구성된 디바이스를 참조할 때와 같이, 사용자 장비(UE)로 지칭될 수 있다.
컴퓨팅 시스템(170)은 버스(189)를 통해 전기적으로 또는 통신적으로 커플링될 수 있는(또는 적절하게, 달리 통신할 수도 있는) 소프트웨어 및 하드웨어 컴포넌트를 포함한다. 예를 들어, 컴퓨팅 시스템(170)은 하나 이상의 프로세서들(184)을 포함한다. 하나 이상의 프로세서들(184)은 하나 이상의 CPU들, ASIC들, FPGA들, AP들, GPU들, VPU들, NSP들, 마이크로제어기들, 전용 하드웨어, 이들의 임의의 조합, 및/또는 다른 프로세싱 디바이스/들 및/또는 시스템/들을 포함할 수 있다. 버스(189)는 코어들 사이에서 그리고/또는 하나 이상의 메모리 디바이스들(186)과 통신하기 위해 하나 이상의 프로세서들(184)에 의해 사용될 수 있다.
컴퓨팅 시스템(170)은 또한 하나 이상의 메모리 디바이스들(186), 하나 이상의 디지털 신호 프로세서들(DSP들)(182), 하나 이상의 가입자 식별 모듈들(SIM들)(174), 하나 이상의 모뎀들(176), 하나 이상의 무선 트랜시버들(178), 하나 이상의 안테나들(187), 하나 이상의 입력 디바이스들(172)(예를 들어, 카메라, 마우스, 키보드, 터치 감지 스크린, 터치 패드, 키패드, 마이크로폰 및/또는 기타 등등) 및 하나 이상의 출력 디바이스들(180)(예를 들어, 디스플레이, 스피커, 프린터 및/또는 기타 등등)을 포함할 수도 있다.
하나 이상의 무선 트랜시버들(178)은, 다른 사용자 디바이스들, 네트워크 디바이스들(예를 들어, eNB들 및/또는 gNB들과 같은 기지국들, 라우터들, 범위 확장기들 등과 같은 WiFi 액세스 포인트들(AP들)), 클라우드 네트워크들, 및/또는 기타 등등과 같은 하나 이상의 다른 디바이스들로부터 안테나(187)를 통해 무선 신호들(예를 들어, 신호(188))을 수신할 수 있다. 일부 예들에서, 컴퓨팅 시스템(170)은 동시 송신 및 수신 기능성을 용이하게 할 수 있는 다수의 안테나들 또는 안테나 어레이를 포함할 수 있다. 안테나(187)는 RF 신호들이 모든 방향들에서 수신되고 송신될 수 있도록 전방향성 안테나일 수 있다. 무선 신호(188)는 무선 네트워크를 통해 송신될 수도 있다. 무선 네트워크는 셀룰러 또는 이동통신 네트워크(예를 들어 3G, 4G, 5G 등), 무선 로컬 영역 네트워크(예를 들어, WiFi 네트워크), 블루투스TM 네트워크, 및/또는 다른 네트워크와 같은 임의의 무선 네트워크일 수도 있다. 일부 예들에서, 하나 이상의 무선 트랜시버들(178)은, 다른 컴포넌트들 중에서도, 증폭기, 신호 다운 컨버전(down conversion)을 위한 믹서(신호 승산기라고도 함), 믹서에 신호들을 제공하는 주파수 합성기(오실레이터라고도 지칭됨), 기저대역 필터, 아날로그-디지털 컨버터(ADC), 하나 이상의 전력 증폭기들과 같은 하나 이상의 컴포넌트들을 포함하는 RF 프론트 엔드를 포함할 수도 있다. RF 프론트 엔드는 일반적으로 기저대역 또는 중간 주파수로의 무선 신호들(188)의 선택 및 컨버전을 처리할 수 있으며 RF 신호들을 디지털 도메인으로 컨버팅할 수 있다.
일부 경우들에서, 컴퓨팅 시스템(170)은 하나 이상의 무선 트랜시버들(178)을 사용하여 송신 및/또는 수신되는 데이터를 인코딩 및/또는 디코딩하도록 구성된 코딩-디코딩 디바이스(또는 CODEC)를 포함할 수 있다. 일부 경우들에서, 컴퓨팅 시스템(170)은 하나 이상의 무선 트랜시버들(178)에 의해 송신 및/또는 수신되는 데이터를 (예를 들어, 고급 암호화 표준(AES) 및/또는 데이터 암호화 표준(DES) 표준에 따라) 암호화 및/또는 복호화하도록 구성된 암호화-복호화 디바이스 또는 컴포넌트를 포함할 수 있다.
하나 이상의 SIM들(174)은 각각, 사용자 디바이스(107)의 사용자에게 할당된 국제 모바일 가입자 아이덴티티(IMSI) 번호 및 관련 키를 안전하게 저장할 수 있다. IMSI 및 키는 하나 이상의 SIM들(174)과 연관된 네트워크 서비스 제공자 또는 운영자에 의해 제공되는 네트워크에 액세스할 때 가입자를 식별 및 인증(authenticate)하기 위해 사용될 수 있다. 하나 이상의 모뎀들(176)은 하나 이상의 무선 트랜시버들(178)을 사용하여 송신을 위한 정보를 인코딩하기 위해 하나 이상의 신호들을 변조할 수 있다. 하나 이상의 모뎀들(176)은 또한 송신된 정보를 디코딩하기 위해 하나 이상의 무선 트랜시버들(178)에 의해 수신된 신호들을 복조할 수 있다. 일부 예들에서, 하나 이상의 모뎀들(176)은 4G(또는 LTE) 모뎀, 5G(또는 NR) 모뎀, 및/또는 다른 타입들의 모뎀들을 포함할 수 있다. 하나 이상의 모뎀들(176) 및 하나 이상의 무선 트랜시버들(178)은 하나 이상의 SIM들(174)을 위한 데이터를 통신하는 데 사용될 수 있다.
컴퓨팅 시스템(170)은 또한 하나 이상의 비일시적 머신 판독가능 저장 매체들 또는 스토리지 디바이스들(예컨대, 하나 이상의 메모리 디바이스들(186))을 포함할 수 (그리고/또는 이들과 통신할 수) 있으며, 이들은 프로그래밍가능, 플래시-업데이트가능 등일 수 있는, 로컬 및/또는 네트워크 액세스가능 스토리지, 디스크 드라이브, 드라이브 어레이, 광학 스토리지 디바이스, RAM 및/또는 ROM과 같은 솔리드 스테이트 스토리지 디바이스를, 제한없이, 포함할 수 있다. 그러한 스토리지 디바이스들은, 다양한 파일 시스템들, 데이터베이스 구조들 등을 제한없이 포함하는, 임의의 적합한 데이터 스토리지를 구현하도록 구성될 수도 있다.
다양한 실시예들에서, 기능들은 메모리 디바이스(들)(186)에서 하나 이상의 컴퓨터-프로그램 제품들(예를 들어, 명령들 또는 코드)로서 저장되고 하나 이상의 프로세서(들)(184) 및/또는 하나 이상의 DSP들(182)에 의해 실행될 수도 있다. 컴퓨팅 시스템(170)은 또한, 예를 들어 운영 체제, 디바이스 드라이버들, 실행가능한 라이브러리들, 및/또는 다른 코드, 이를테면 다양한 실시예들에 의해 제공되는 기능들을 구현하는 컴퓨터 프로그램들을 포함할 수도 있고, 그리고/또는 본 명세서에 설명된 바와 같은 방법들을 구현하고 그리고/또는 시스템들을 구성하도록 설계될 수도 있는 하나 이상의 애플리케이션 프로그램들을 포함하는, (예를 들어, 하나 이상의 메모리 디바이스들(186) 내에 위치된) 소프트웨어 엘리먼트들을 포함할 수 있다.
도 2는, 사용자(202)의 존재를 검출하는 것, 사용자의 배향 특성들을 검출하는 것, 모션 검출을 수행하는 것, 이들의 임의의 조합과 같은 하나 이상의 기능들을 수행하고, 그리고/또는 다른 기능들을 수행하기 위해 RF 감지 기법들을 활용하는 무선 디바이스(200)의 예를 예시하는 도면이다. 일부 예들에서, 무선 디바이스(200)는 모바일 폰, 태블릿 컴퓨터, 웨어러블 디바이스, 또는 적어도 하나의 RF 인터페이스를 포함하는 다른 디바이스와 같은 사용자 디바이스(107)일 수 있다. 일부 예들에서, 무선 디바이스(200)는 무선 액세스 포인트(AP), 기지국(예를 들어, gNB, eNB 등), 또는 적어도 하나의 RF 인터페이스를 포함하는 다른 디바이스와 같은 사용자 디바이스를 위한(예를 들어, 사용자 디바이스(107)를 위한) 접속성을 제공하는 디바이스일 수 있다.
일부 양태들에서, 무선 디바이스(200)는 RF 신호를 송신하기 위한 하나 이상의 컴포넌트들을 포함할 수 있다. 무선 디바이스(200)는 (예를 들어, 도시되지 않은 마이크로프로세서로부터) 디지털 신호 또는 파형을 수신하고 신호 또는 파형을 아날로그 파형으로 컨버팅할 수 있는 디지털-아날로그 컨버터(DAC)(204)를 포함할 수 있다. DAC(204)의 출력인 아날로그 신호는 RF 송신기(206)에 제공될 수 있다. RF 송신기(206)는 Wi-Fi 송신기, 5G/NR 송신기, 블루투스TM 송신기, 또는 RF 신호를 송신할 수 있는 임의의 다른 송신기일 수 있다.
RF 송신기(206)는 TX 안테나(212)와 같은 하나 이상의 송신 안테나들에 커플링될 수 있다. 일부 예들에서, TX 안테나(212)는 모든 방향들로 RF 신호를 송신할 수 있는 전방향성 안테나일 수 있다. 예를 들어, TX 안테나(212)는 360 도 방사 패턴으로 Wi-Fi 신호들(예를 들어, 2.4 GHz, 5 GHz, 6 GHz 등)을 방사할 수 있는 전방향성 Wi-Fi 안테나일 수 있다. 다른 예에서, TX 안테나(212)는 특정 방향으로 RF 신호를 송신하는 지향성 안테나일 수 있다.
일부 예들에서, 무선 디바이스(200)는 또한 RF 신호를 수신하기 위한 하나 이상의 컴포넌트들을 포함할 수 있다. 예를 들어, 무선 디바이스(200) 내 수신기 라인업은 RX 안테나(214)와 같은 하나 이상의 수신 안테나들을 포함할 수 있다. 일부 예들에서, RX 안테나(214)는 다수의 방향들로부터 RF 신호를 수신할 수 있는 전방향성 안테나일 수 있다. 다른 예에서, RX 안테나(214)는 특정 방향으로부터 신호를 수신하도록 구성된 지향성 안테나일 수 있다. 추가 예들에서, TX 안테나(212) 및 RX 안테나(214) 양자 모두는 안테나 어레이로서 구성된 다수의 안테나들(예를 들어, 엘리먼트들)을 포함할 수 있다.
무선 디바이스(200)는 또한 RX 안테나(214)에 커플링되는 RF 수신기(210)를 포함할 수 있다. RF 수신기(210)는 Wi-Fi 신호, 블루투스TM 신호, 5G/NR 신호, 또는 임의의 다른 RF 신호와 같은 RF 파형을 수신하기 위한 하나 이상의 하드웨어 컴포넌트들을 포함할 수 있다. RF 수신기(210)의 출력은 아날로그-디지털 컨버터(ADC)(208)에 커플링될 수 있다. ADC(208)는 수신된 아날로그 RF 파형을 디지털 신호 프로세서(도시되지 않음)와 같은 프로세서에 제공될 수 있는 디지털 파형으로 컨버팅하도록 구성될 수 있다.
일 예에서, 무선 디바이스(200)는 TX 파형(216)이 TX 안테나(212)로부터 송신되게 함으로써 RF 감지 기법들을 구현할 수 있다. TX 파형(216)이 단일 라인으로서 예시되더라도, 일부 경우들에서, TX 파형(216)은 전방향성 TX 안테나(212)에 의해 모든 방향들로 송신될 수 있다. 일 예에서, TX 파형(216)은 무선 디바이스(200) 내 Wi-Fi 송신기에 의해 송신되는 Wi-Fi 파형일 수 있다. 일부 경우들에서, TX 파형(216)은 Wi-Fi 데이터 통신 신호 또는 Wi-Fi 제어 기능 신호(예를 들어, 비컨 송신)와 동시에 또는 거의 동시에 송신되는 Wi-Fi 파형에 대응할 수 있다. 일부 예들에서, TX 파형(216)은 Wi-Fi 데이터 통신 신호 또는 Wi-Fi 제어 기능 신호(예를 들어, 비컨 송신)와 동일하거나 유사한 주파수 리소스를 사용하여 송신될 수 있다. 일부 양태들에서, TX 파형(216)은 Wi-Fi 데이터 통신 신호 및/또는 Wi-Fi 제어 신호와 별개로 송신되는 Wi-Fi 파형에 대응할 수 있다(예를 들어, TX 파형(216)은 상이한 시간들에 그리고/또는 상이한 주파수 리소스를 사용하여 송신될 수 있다).
일부 예들에서, TX 파형(216)은 5G NR 데이터 통신 신호 또는 5G NR 제어 기능 신호와 동시에 또는 거의 동시에 송신되는 5G NR 파형에 대응할 수 있다. 일부 예들에서, TX 파형(216)은 5G NR 데이터 통신 신호 또는 5G NR 제어 기능 신호와 동일하거나 유사한 주파수 리소스를 사용하여 송신될 수 있다. 일부 양태들에서, TX 파형(216)은 5G NR 데이터 통신 신호 및/또는 5G NR 제어 신호와 별개로 송신되는 5G NR 파형에 대응할 수 있다(예를 들어, TX 파형(216)은 상이한 시간들에 그리고/또는 상이한 주파수 리소스를 사용하여 송신될 수 있다).
일부 양태들에서, TX 파형(216)과 연관된 하나 이상의 파라미터들은 수정될 수 있으며, 이들은 RF 감지 분해능을 증가 또는 감소시키는데 사용될 수도 있다. 파라미터들은 주파수, 대역폭, 공간 스트림들의 수, TX 파형(216)을 송신하도록 구성된 안테나들의 수, TX 파형(216)에 대응하는 반사된 RF 신호를 수신하도록 구성된 안테나들의 수, 공간 링크들의 수(예를 들어, RF 신호를 수신하도록 구성된 안테나들의 수로 곱해진 공간 스트림들의 수), 샘플링 레이트, 또는 이들의 임의의 조합을 포함할 수도 있다.
추가 예들에서, TX 파형(216)은 완벽한 또는 거의 완벽한 자기 상관 특성들을 갖는 시퀀스를 갖도록 구현될 수 있다. 예를 들어, TX 파형(216)은 단일 캐리어 자도프(Zadoff) 시퀀스들을 포함할 수 있거나, 직교 주파수 분할 멀티플렉싱(OFDM) 롱 트레이닝 필드(LTF) 심볼들과 유사한 심볼들을 포함할 수 있다. 일부 경우들에서, TX 파형(216)은, 예를 들어 FM-CW(Frequency-Modulated Continuous-Wave) 레이더 시스템에서 사용되는 바와 같은, 처프(chirp) 신호를 포함할 수 있다. 일부 구성들에서, 처프 신호는 신호 주파수가 선형 및/또는 지수 방식으로 주기적으로 증가 및/또는 감소하는 신호를 포함할 수 있다.
일부 양태들에서, 무선 디바이스(200)는 동시 송신 및 수신 기능들을 수행함으로써 RF 감지 기법들을 추가로 구현할 수 있다. 예를 들어, 무선 디바이스(200)는 RF 송신기(206)가 TX 파형(216)을 송신하도록 인에이블하는 것과 동시에 또는 거의 동시에 그의 RF 수신기(210)가 수신하도록 인에이블할 수 있다. 일부 예들에서, TX 파형(216)에 포함된 시퀀스 또는 패턴의 송신은 시퀀스가 특정 횟수 또는 특정 시간 지속기간 동안 송신되도록 연속적으로 반복될 수 있다. 일부 예들에서, TX 파형(216)의 송신에서 패턴을 반복하는 것은, RF 수신기(210)가 RF 송신기(206) 이후에 인에이블되면 임의의 반사된 신호들의 수신을 누락하는 것을 회피하기 위해 사용될 수 있다. 일 예시적인 구현에서, TX 파형(216)은 2 회 이상 송신되는 시퀀스 길이(L)를 갖는 시퀀스를 포함할 수 있으며, 이는 RF 수신기(210)가 어떠한 정보도 누락시키지 않고 전체 시퀀스에 대응하는 반사물들을 수신하기 위해 L 이하의 시간에 인에이블되도록 허용할 수 있다.
동시 송신 및 수신 기능성을 구현함으로써, 무선 디바이스(200)는 TX 파형(216)에 대응하는 임의의 신호들을 수신할 수 있다. 예를 들어, 무선 디바이스(200)는 사용자(202)로부터 반사되는 RX 파형(218 과 같은 TX 파형(216)의 범위 내에 있는 오브젝트들 또는 사람들로부터 반사되는 신호들을 수신할 수 있다. 무선 디바이스(200)는 또한 임의의 오브젝트들로부터 반사되지 않고 TX 안테나(212)로부터 RX 안테나(214)로 직접 커플링되는 누설 신호들(예를 들어, TX 누설 신호(220))을 수신할 수 있다. 예를 들어, 누설 신호들은 임의의 오브젝트들로부터 반사되지 않고 무선 디바이스 상의 송신기 안테나(예를 들어, TX 안테나(212)로부터 무선 디바이스 상의 수신 안테나(예를 들어, RX 안테나(214))로 전달되는 신호들을 포함할 수 있다. 일부 경우들에서, RX 파형(218)은 TX 파형(216)에 포함되는 시퀀스의 다수의 카피들에 대응하는 다수의 시퀀스들을 포함할 수 있다. 일부 예들에서, 무선 디바이스(200)는 신호 대 잡음비(SNR)를 개선하기 위해 RF 수신기(210)에 의해 수신되는 다수의 시퀀스들을 결합할 수 있다.
무선 디바이스(200)는 TX 파형(216)에 대응하는 수신된 신호들 각각과 연관된 RF 감지 데이터를 획득함으로써 RF 감지 기법들을 추가로 구현할 수 있다. 일부 예들에서, RF 감지 데이터는 TX 파형(216)에 대응하는 반사된 경로들(예를 들어, RX 파형(218))에 관한 데이터와 함께 TX 파형(216)의 직접 경로들(예를 들어, 누설 신호(220))에 관한 채널 상태 정보(CSI) 데이터를 포함할 수 있다.
일부 양태들에서, RF 데이터(예를 들어, CSI 데이터)는 RF 신호(예를 들어, TX 파형(216))가 RF 송신기(206)로부터 RF 수신기(210)로 전파(propagate)하는 방식을 결정하기 위해 사용될 수 있는 정보를 포함할 수 있다. RF 데이터는 산란, 페이딩, 및/또는 거리에 따른 전력 감쇠, 또는 이들의 임의의 조합으로 인한 송신된 RF 신호에 대한 효과들에 대응하는 데이터를 포함할 수 있다. 일부 예들에서, RF 데이터는 특정 대역폭에 걸쳐 주파수 도메인에서의 각각의 톤에 대응하는 허수 데이터 및 실수 데이터(예를 들어, I/Q 컴포넌트들)를 포함할 수 있다.
일부 예들에서, RF 데이터는 RX 파형(218)과 같은 반사된 파형들에 대응하는 거리들 및 도달 각도들을 계산하는데 사용될 수 있다. 추가 예들에서, RF 데이터는 또한, 모션을 검출하고, 위치를 결정하고, 위치 또는 모션 패턴들의 변화들을 검출하고, 채널 추정을 획득하거나, 또는 이들의 임의의 조합을 위해 사용될 수 있다. 일부 경우들에서, 반사된 신호들의 거리 및 도달 각도는 오브젝트 존재/근접성을 검출하고, 오브젝트 주의(object attention)를 검출하고, 그리고/또는 모션 검출을 수행하기 위해, 주변 환경 내의 사용자들(예컨대, 사용자(202))의 사이즈, 포지션, 움직임, 또는 배향을 식별하는 데 사용될 수 있다.
무선 디바이스(200)는 신호 프로세싱, 머신 러닝 알고리즘들을 활용하거나, 임의의 다른 적절한 기법을 사용하거나, 또는 이들의 임의의 조합에 의해, 반사된 파형들에 대응하는 거리들 및 도달 각도들(예를 들어, RX 파형(218)에 대응하는 거리 및 도달 각도)을 계산할 수 있다. 다른 예들에서, 무선 디바이스(200)는 RX 파형(218) 또는 다른 반사된 파형들에 대응하는 거리 및 도달 각도를 획득하기 위한 계산들을 수행할 수 있는, 서버와 같은, 다른 컴퓨팅 디바이스로 RF 감지 데이터를 전송할 수 있다.
일 예에서, RX 파형(218)의 거리는 누설 신호의 수신부터 반사된 신호들의 수신까지의 시간의 차이를 측정함으로써 계산될 수 있다. 예를 들어, 무선 디바이스(200)는 무선 디바이스(200)가 TX 파형(216)을 송신하는 시간부터 누설 신호(220)를 수신하는 시간(예를 들어, 전파 지연)까지의 차이에 기초하는 0의 베이스라인 거리를 결정할 수 있다. 그 후, 무선 디바이스(200)는 무선 디바이스(200)가 TX 파형(216)을 송신하는 시간부터 RX 파형(218)을 수신하는 시간까지의 차이(예를 들어, 비행 시간(time of flight))에 기초하여 RX 파형(218)과 연관된 거리를 결정할 수 있으며, 이는 그 후 누설 신호(220)와 연관된 전파 지연에 따라 조정될 수 있다. 그렇게 함에 있어서, 무선 디바이스(200)는 반사를 야기한 사용자(예를 들어, 사용자(202))의 존재 및 움직임을 결정하는데 사용될 수 있는 RX 파형(218)에 의해 이동된 거리를 결정할 수 있다.
추가 예들에서 RX 파형(218)의 도달 각도는, 안테나(214)와 같은, 수신 안테나 어레이의 개별적인 엘리먼트들 사이의 RX 파형(218)의 도달 시간 차이를 측정함으로써 계산될 수 있다. 일부 예들에서, 도달 시간 차이는 수신 안테나 어레이 내 각각의 엘리먼트에서의 수신된 위상(phase)의 차이를 측정함으로써 계산될 수 있다.
일부 경우들에서, RX 파형(218)의 거리 및 도달 각도는 무선 디바이스(200)와 사용자(202) 사이의 거리뿐만 아니라 무선 디바이스(200)에 대한 사용자(202)의 포지션을 결정하기 위해 사용될 수 있다. RX 파형(218)의 거리 및 도달 각도는 또한 사용자(202)의 존재, 움직임, 근접성, 주의, 아이덴티티, 또는 이들의 임의의 조합을 결정하기 위해 사용될 수 있다. 예를 들어, 무선 디바이스(200)는 사용자(202)가 무선 디바이스(200)를 향해 걷고 있는 것을 결정하기 위해 RX 파형(218)에 대응하는 계산된 거리 및 도달 각도를 활용할 수 있다. 무선 디바이스(200)에 대한 사용자(202)의 근접성에 기초하여, 무선 디바이스(200)는 디바이스를 잠금해제하기 위해 얼굴 인증을 활성화할 수 있다. 일부 양태들에서, 얼굴 인증은 사용자(202)가 무선 디바이스(200)의 임계 거리 내에 있는 것에 기초하여 활성화될 수 있다. 임계 거리들의 예들은 2 피트, 1 피트, 6 인치, 3 인치, 또는 임의의 다른 거리를 포함할 수 있다.
위에서 언급된 바와 같이, 무선 디바이스(200)는 모바일 디바이스들(예컨대, 스마트폰들, 랩톱들, 태블릿들, 액세스 포인트들 등) 또는 다른 타입들의 디바이스들을 포함할 수 있다. 일부 예들에서, 무선 디바이스(200)는 RF 감지 데이터와 함께 디바이스 위치 데이터 및 디바이스 배향 데이터를 획득하도록 구성될 수 있다. 일부 경우들에서, 디바이스 위치 데이터 및 디바이스 배향 데이터는 RX 파형(218)과 같은 반사된 신호의 도달 각도 및 거리를 결정하거나 조정하는데 사용될 수 있다. 예를 들어, RF 감지 프로세스 동안 사용자(202)가 테이블을 향해 걸어감에 따라 천장을 대면하는 테이블 상에 무선 디바이스(200)가 설정될 수도 있다. 이 경우에서, 무선 디바이스(200)는 사용자(202)가 걷고 있는 방향을 결정하기 위해 RF 감지 데이터와 함께 자신의 위치 데이터 및 배향 데이터를 사용할 수 있다.
일부 예들에서, 디바이스 포지션 데이터는 RTT(round trip time) 측정들, 수동 포지셔닝, 도달 각도, 수신 신호 강도 표시자(received signal strength indicator; RSSI), CSI 데이터를 포함하는 기법들을 사용하거나, 임의의 다른 적절한 기법을 사용하거나, 또는 이들의 임의의 조합을 사용하여, 무선 디바이스(200)에 의해 수집될 수 있다. 추가 예들에서, 디바이스 배향 데이터는 자이로스코프, 가속도계, 나침반, 자력계, 기압계, 임의의 다른 적합한 센서, 또는 이들의 임의의 조합과 같은, 무선 디바이스(200) 상의 전자 센서들로부터 획득될 수 있다.
도 3은 무선 디바이스(302), 액세스 포인트(AP)(304), 및 사용자(308)를 포함하는 환경(300)을 예시하는 도면이다. 무선 디바이스(302)는 사용자 디바이스(예컨대, 모바일 디바이스와 같은 도 1의 사용자 디바이스(107) 또는 임의의 다른 타입의 디바이스)를 포함할 수 있다. AP(304)는 또한 일부 예들에서 감지 디바이스, 무선 주파수 감지 디바이스, 또는 무선 디바이스로 지칭될 수 있다. 도시된 바와 같이, 사용자(308)는 제1 사용자 포지션(309a), 제2 사용자 포지션(309b), 및 제3 사용자 포지션(309c)을 포함하여, (예를 들어, 무선 디바이스(302)를 갖는) 상이한 포지션들로 움직일 수 있다. 일부 양태들에서, 무선 디바이스(302) 및 AP(304)는 각각, 사용자(308)의 존재를 검출하고, 사용자(308)의 움직임을 검출하고, 이들의 임의의 조합을 검출하고, 그리고/또는 사용자(308)에 대해 다른 기능들을 수행하기 위해, RF 감지를 수행하도록 구성될 수 있다.
일부 양태들에서 AP(304)는, 도 2의 무선 디바이스(200)에 대해 본 명세서에 설명된 컴포넌트들과 같은, RF 신호들을 동시에 송신 및 수신하도록 구성될 수 있는 하드웨어 및 소프트웨어 컴포넌트들을 포함하는 Wi-Fi 액세스 포인트일 수 있다. 예를 들어, AP(304)는 RF 신호를 송신하도록 구성될 수 있는 하나 이상의 안테나들 및 RF 신호를 수신하도록 구성될 수 있는 하나 이상의 안테나들(예를 들어, 안테나(306))을 포함할 수 있다. 도 2의 무선 디바이스(200)와 관련하여 언급된 바와 같이, AP(304)는 임의의 방향으로부터 신호들을 송신 및 수신하도록 구성되는 전방향성 안테나들 또는 안테나 어레이들을 포함할 수 있다.
일부 양태들에서, AP(304) 및 무선 디바이스(302)는 송신 및 수신 기능들이 상이한 디바이스들에 의해 수행되는 바이스태틱(bistatic) 구성을 구현하도록 구성될 수 있다. 예를 들어, AP(304)는 신호(310a) 및 신호(310b)를 포함할 수 있는 전방향성 RF 신호를 송신할 수 있다. 예시된 바와 같이, 신호(310a)는 AP(304)로부터 무선 디바이스(302)로 직접(예를 들어, 반사들 없음) 이동할 수 있고, 신호(310b)는 포지션(309a)에서의 사용자(308)로부터 반사될 수 있고, 대응하는 반사된 신호(312)가 무선 디바이스(302)에 의해 수신되게 할 수 있다.
일부 예들에서, 무선 디바이스(302)는 신호(310a) 및 신호(310b)와 연관된 RF 감지 데이터를 활용하여, 포지션(309a)에서의 사용자(308)의 존재, 위치, 배향, 및/또는 움직임을 결정할 수 있다. 예를 들어, 무선 디바이스(302)는 AP(304)와 연관된 위치 데이터를 획득, 검색(retrieve), 및/또는 추정할 수 있다. 일부 양태들에서, 무선 디바이스(302)는 AP(304)와 연관된 위치 데이터 및 RF 감지 데이터(예를 들어, CSI 데이터)를 사용하여, AP(304)에 의해 송신된 비행 시간, 거리 및/또는 도달 각도 연관 신호들(예를 들어, 신호(310a)와 같은 직접 경로 신호들 및 신호(312)와 같은 반사된 경로 신호들)을 결정할 수 있다. 일부 경우들에서, AP(304) 및 무선 디바이스(302)는 RF 신호(310a) 및/또는 반사된 신호(312)와 연관된 데이터(예를 들어, 송신 시간, 시퀀스/패턴, 도달 시간, 도달 각도 등)를 포함할 수 있는 통신물을 추가로 전송 및/또는 수신할 수 있다.
일부 예들에서, 무선 디바이스(302)는 모노스태틱 구성을 사용하여 RF 감지를 수행하도록 구성될 수 있으며, 이 경우에서 무선 디바이스(302)는 송신 및 수신 기능들(예를 들어, 무선 디바이스(200)와 관련하여 논의된 동시 TX/RX) 양자 모두를 수행한다. 예를 들어, 무선 디바이스(302)는 RF 신호(314)를 송신함으로써 포지션(309b)에서의 사용자(308)의 존재 또는 움직임을 검출할 수 있으며, 이는 포지션(309b)에서의 사용자(308)로부터의 반사된 신호(316)가 무선 디바이스(302)에 의해 수신되게 할 수 있다.
일부 양태들에서, 무선 디바이스(302)는 반사된 신호(316)와 연관된 RF 데이터를 획득할 수 있다. 예를 들어, RF 데이터는 반사된 신호(316)에 대응하는 CSI 데이터를 포함할 수 있다. 추가 양태들에서, 무선 디바이스(302)는 RF 데이터를 사용하여, 반사된 신호(316)에 대응하는 거리 및 도달 각도를 계산할 수 있다. 예를 들어, 무선 디바이스(302)는 누설 신호(도시되지 않음)와 반사된 신호(316) 사이의 차이에 기초하여, 반사된 신호(316)에 대한 비행 시간을 계산함으로써 거리를 결정할 수 있다. 다른 예들에서, 무선 디바이스(302)는 반사된 신호들을 수신하기 위해 안테나 어레이를 활용하고 안테나 어레이의 각각의 엘리먼트에서의 수신된 위상의 차이를 측정함으로써 도달 각도를 결정할 수 있다.
일부 예들에서, 무선 디바이스(302)는 'K'로서 표현되는 주파수들의 수(예를 들어, 톤들) 및 'N'으로서 표현되는 안테나 어레이 엘리먼트들의 수에 기초하는 매트릭스를 공식화하는데 사용될 수 있는 CSI 데이터의 형태로 RF 감지 데이터를 획득할 수 있다. 일 기법에서, CSI 매트릭스는 식 (1a)에 의해 주어진 관계에 따라 공식화될 수 있다:
CSI 매트릭스: (1a)
일부 경우들에서, CSI 매트릭스 hik는, 송신기 안테나에 의해 전송되고 수신기 안테나에 의해 수신된 기준 신호를 사용함으로써 추정되는 바와 같은, 특정 주파수(톤 k)에서, 송신기 안테나와 수신기 안테나 사이의 전파 특성들(예컨대, 감쇠 및 위상)을 나타내는 복소수이다. 일부 예들에서, CSI 행렬 hik는 hijk로 표기될 수 있으며, 여기서 i는 수신 안테나 인덱스이고 j는 송신 안테나 인덱스이다. 일부 예들에서, CSI를 결정하기 위해 사용된 기준 신호의 송신기는 M>1 개의 안테나들을 포함할 수도 있고 CSI는 송신 안테나들 각각 당 추정될 수도 있다. 예를 들어, 이러한 예들에서, CSI 매트릭스는 식 (1b)에 의해 주어진 관계에 따라 공식화될 수 있다:
CSI 매트릭스: (1b)
CSI 매트릭스를 공식화하면, 무선 디바이스(302)는 2차원 푸리에 변환을 활용함으로써 직접 신호 경로들(예를 들어, 누설 신호들), 뿐만 아니라 반사된 신호 경로들(예를 들어, 반사된 신호(316))에 대한 도달 각도 및 비행 시간을 계산할 수 있다. 일 예에서, 푸리에 변환은 아래의 식 (2)에 의해 주어진 관계에 의해 정의될 수 있으며, 여기서 K는 주파수 도메인에서 톤들의 수에 대응하고; N은 수신 안테나들의 수에 대응하고; h ik 는 i 번째 안테나 및 k 번째 톤(예를 들어, 실수 및 허수 컴포넌트를 갖는 복소수) 상에서 캡처된 CSI 데이터에 대응하고; f 0 는 캐리어 주파수에 대응하며; l은 안테나 간격에 대응하고; c는 광속에 대응하고; 그리고 Δf는 2 개의 인접한 톤들 사이의 주파수 간격에 대응한다. 식 (2)의 관계는 다음과 같이 제공된다:
(2)
일부 경우들에서, 출발 각도를 추정하기 위해 식 (2)에서의 관계와 유사한 관계가 개발될 수 있다.
일부 양태들에서, 누설 신호들(예를 들어, 누설 신호(220) 및/또는 다른 누설 신호들)은 반복 소거 방법을 사용함으로써 소거될 수 있다.
일부 경우들에서, 무선 디바이스(302)는 반사된 신호(316)에 대응하는 거리 및 도달 각도를 활용하여 포지션(309b)에서의 사용자(308)의 존재 또는 움직임을 검출할 수 있다. 다른 예들에서, 무선 디바이스(302)는 제3 포지션(309c)으로의 사용자(308)의 추가 움직임을 검출할 수 있다. 무선 디바이스(302)는 포지션(309c)에서의 사용자(308)로부터의 반사된 신호(320)를 야기하는 RF 신호(318)를 송신할 수 있다. 반사된 신호(320)와 연관된 RF 감지 데이터에 기초하여, 무선 디바이스(302)는 포지션(309c)에서의 사용자(308)의 위치를 결정할 수 있고, 사용자의 머리 존재 및/또는 배향을 검출할 수 있고, 그리고/또는 얼굴 인식(recognition)뿐만 아니라 얼굴 인증을 수행할 수 있다.
일부 구현들에서, 무선 디바이스(302)는 모션 검출, 오브젝트 분류(classification), 및/또는 사용자(308)에 대한 머리 배향 검출을 수행하기 위해 인공 지능 또는 머신 러닝 알고리즘들을 활용할 수도 있다. 일부 예들에서, 머신 러닝 기법들은 뉴럴 네트워크들, 선형 및 로지스틱 회귀, 분류 트리들, 지원 벡터 머신들, 임의의 다른 적합한 지도(supervised) 머신 러닝 기법, 또는 이들의 임의의 조합을 활용하는 것들과 같은, 지도 머신 러닝 기법들을 포함할 수 있다. 예를 들어, 샘플 RF 데이터의 데이터세트는 머신 러닝 알고리즘들의 트레이닝을 위해 선택될 수 있다.
일부 양태들에서, 무선 디바이스(302) 및 AP(304)는 서로와의 또는 Wi-Fi 네트워크와의 그들의 연관성에 관계없이 RF 감지 기법들을 수행할 수 있다. 예를 들어, 무선 디바이스(302)는 그의 Wi-Fi 송신기 및 Wi-Fi 수신기를 활용하여, 임의의 액세스 포인트 또는 Wi-Fi 네트워크와 연관되지 않을 때 본 명세서에서 논의되는 바와 같이 RF 감지를 수행할 수 있다. 추가 예들에서, AP(304)는 그와 연관된 임의의 무선 디바이스들을 갖는지에 관계없이 RF 감지 기법들을 수행할 수 있다.
일부 양태들에서, 무선 디바이스(302) 및 AP(304)는 하나 이상의 머신 러닝 모델들을 사용하여 RF 감지를 용이하게 할 수 있다. 예를 들어, 무선 디바이스(302) 및/또는 AP(304)는 사용자(308)의 다양한 포지션들과 연관된 환경에 대한 RF 데이터를 수집하고, 예를 들어 사용자(308)에 관한 위치 추정 예측을 하도록 구성된, 머신 러닝 아키텍처에 RF 데이터를 제공하도록 구성될 수 있다.
일부 양태들에서, 환경에 관한 레이블들은, 예를 들어 사용자로부터 무선 디바이스(302)를 통해 수신될 수 있다. 일부 예들에서, 레이블들은 하나 이상의 무선 디바이스들(예컨대, AP(304) 및/또는 무선 디바이스(302))의 위치에 관한 정보, 뿐만 아니라 환경에 대한 정보, 이를테면 플로어 플랜 및/또는 다양한 룸들의 위치들을 표시하는 정보를 포함할 수 있다. 실내 환경의 예가 도 4와 함께 제공된다.
도 4는 개시된 기술의 위치 추정 프로세스가 구현될 수 있는 예시적인 환경(400)을 예시하는 도면이다. 예시된 바와 같이, 환경(400)은 액세스 포인트들(410, 412, 414, 416)과 같은 다수의 상이한 무선 (감지) 디바이스들을 포함한다. 그러나, 개시된 기술의 범위를 벗어나지 않고, 사용자와 연관된 무선 디바이스(예를 들어, 무선 디바이스(302))와 같은 다른 무선 디바이스들이 환경(400)에 존재할 수도 있다는 것이 이해된다.
도 4의 예에서, 감지 디바이스들은 액세스 포인트들(410, 412, 414, 416)(예컨대, 송신 디바이스(410), 및 수신 디바이스들(412, 414, 및 416))이다; 그러나, 더 많은(또는 더 적은) 수의 무선 디바이스들을 포함하는 셋업들이 고려된다. 예로서, 다른 무선 디바이스들은 사용자 디바이스들(예컨대, 모바일 디바이스와 같은 도 1의 사용자 디바이스(107) 또는 임의의 다른 타입의 디바이스), 사물 인터넷(IoT) 디바이스들, 확장기들, 리플리케이터(replicator)들, 이들의 임의의 조합, 및/또는 임의의 다른 무선 디바이스를 포함할 수 있다.
액세스 포인트들(410, 412, 414, 416)은 본 명세서에 설명된 바와 같이, 무선 주파수 감지 디바이스들, Wi-Fi 감지 인에이블된 액세스 포인트들, 및 적어도 하나의 트랜시버(또는 별개의 송신기 및 수신기)를 활용하는 무선 디바이스들로서 동작할 수 있다. 액세스 포인트들(410, 412, 414, 416) 및 임의의 다른 무선 디바이스들(도시되지 않음)은 환경(400)에 대한 감지 커버리지의 분산된 범위를 제공하기 위해 환경 전체에 걸쳐 분산될 수 있다. 예를 들어, 도 4에 도시된 바와 같이, 액세스 포인트들(410, 412, 414, 416)은 실내 환경의 다양한 룸들 또는 구역들에 포지셔닝된다. 예시된 예에서, 구역 1(402)은 액세스 포인트(412)를 포함하는 반면, 구역 4(404)는 액세스 포인트(416)와 대응하고, 구역 5(406)는 액세스 포인트(410)와 대응하고, 구역 6(408)은 액세스 포인트(414)와 대응한다. 추가적으로, 구역 2(404) 및 구역 3(405)은 어떠한 디바이스들도 포함하지 않는다. 액세스 포인트들(410) 및 무선 디바이스들(412)의 배치 및 포지션은 분산 감지 시스템의 커버리지를 결정하는데 사용될 수 있으며, 이는 본 명세서에 설명된 바와 같이 최적의 감지 커버리지를 제공하도록 재포지셔닝될 수 있다.
일부 양태들에서, 환경(400)으로부터 수집된 RF 데이터는, 위치 추정 및/또는 모션 프로파일링을 수행하기 위해서와 같이, 다양한 무선 주파수 감지-기반 검출들을 수행하는 데 사용될 수 있다. 예를 들어, 감지 디바이스들 중 하나 이상에 의해 수신된 RF 데이터는 다른 감지 디바이스들(예컨대, 액세스 포인트들(410, 412, 414, 416)) 중 하나 이상으로부터 직접 수신된 신호들을 포함할 수 있고 그리고/또는 환경에서 하나 이상의 오브젝트들(예컨대, 사람들, 동물들, 가구) 및/또는 구조물들(예컨대, 벽들, 천장들, 기둥들 등)로부터 반사된 신호들을 포함할 수 있다.
일반적으로, 무선 주파수 신호들은 오브젝트들(예를 들어, 벽들, 기둥들, 가구, 동물들 등) 및/또는 주택(dwelling)(402)에 위치된 사람들에 의해 반사된다. 무선 주파수 반사들에 관련한 데이터는 오브젝트들/사람들이 주어진 공간 주위를 움직일 때의 무선 주파수 신호들의 진폭 및 위상 변화를 포함한다. 환경(400)으로부터 수집된 RF 데이터를 수신함으로써, 위치 추정 시스템(도시되지 않음)은 환경(400)에서의 다양한 사용자들(예를 들어, 사용자(416)) 및/또는 다른 오브젝트들에 대한 정밀한 위치 추정치들을 생성하기 위해 활용될 수 있다. 구현에 따라, 위치 추정 시스템은 또한 모션 프로파일들 및/또는 패턴들(예를 들어, 모션의 존재 또는 모션의 부족 또는 모션없음을 검출함으로써), 모션 패턴들(예를 들어, 걷기, 낙하, 제스처들, 또는 다른 모션), 모션 위치(예를 들어, 포지션), 모션 추적(예를 들어, 시간에 따른 오브젝트 또는 사람의 움직임), 사람 또는 동물의 활력 징후들(예를 들어, 호흡, 심박수 등), 이들의 임의의 조합, 및/또는 다른 정보를 식별하도록 구성될 수도 있다.
일부 구현들에서, RF 신호들은 환경(400) 내에서 검출된 오브젝트들의 특성들(예컨대, 포지션 및 움직임)을 결정하기 위해 활용될 수 있다. 예를 들어, RF 신호들은 먼저, 감지 디바이스(예컨대, 액세스 포인트들(410, 412, 414, 416) 중 하나) 또는 감지 디바이스의 하나의 송신 안테나에 의해 송신될 수 있다. 그 후, RF 신호들은 환경(400) 내의 디바이스들의 구성에 따라 감지 디바이스의 수신 안테나 또는 다른 감지 디바이스(예컨대, 액세스 포인트들(410, 412, 414, 416) 중 다른 하나)에서 수신될 수 있다. 수신된 RF 신호들에 기초한 RF 데이터는 그 후, 포지션 추정 시스템(도시되지 않음)으로 전송될 수 있다.
일부 양태들에서 포지션 추정은, 예를 들어 RF를 수신하고 환경(400) 내의 오브젝트들(예컨대, 하나 이상의 사람들)의 위치에 대한 추론들을 하도록 구성되는, 하나 이상의 머신 러닝 모델들에 의해 수행될 수 있다.
도 5a 내지 도 5c는 분산 감지 시스템을 활용하는 오브젝트 검출의 예들을 예시하는 도면들(510, 520, 530)이다. 도 5a 내지 도 5c는 빌딩(502)에 걸친 모션 검출 및 포지셔닝을 추가로 예시할 수 있다. 예를 들어, 도 5a의 도면(510)에서, 오브젝트(512)(예를 들어, 사람)는 본 명세서에 설명된 바와 같이, 분산 감지 시스템(예를 들어, 도 4에 관하여 사용된 분산 감지 시스템)에 의해 검출된다. 오브젝트(512)는 빌딩(502)의 서쪽 부분의 복도(514)에서 검출된다. 도 5b의 도면(520)에 도시된 바와 같이, 오브젝트(512)가 동측 방향으로 움직임에 따라, 오브젝트(512)는 빌딩(502)의 룸(524)에 진입한다. 빌딩(502) 전체에 걸쳐 분산된 감지 디바이스들을 활용함으로써, 분산 감지 시스템은 오브젝트(512)가 어디에 위치하는지를 결정할 수 있다. 그 후, 도 5c의 도면(530)에 도시된 바와 같이, 오브젝트(512)는 룸(524)으로부터, 복도(514)로, 그리고 다른 룸(534)으로 움직였다. 룸(534)에서, 분산 감지 시스템은 룸(534)에서의 오브젝트(512)의 포지션을 검출할 수 있다. 예를 들어, 도 5c의 도면(530)에서의 오브젝트(512)는, 오브젝트(512)가 룸(534)의 남동쪽 코너에 있는 것으로 검출된다.
분산 감지 시스템의 (예컨대, 액세스 포인트들 및/또는 무선 디바이스들과 같은) 감지 디바이스들은 또한, 감지 디바이스들로부터 채널 추정 정보 및 데이터를 수신 및 수집하는 데 활용될 수 있다. 일부 양태들에서, 빌딩(502) 내 사용자와 연관된 사용자 디바이스 또는 다른 디바이스와 같은 하나 이상의 디바이스들이 일부 레이블링 데이터를 수집하기 위해 사용될 수 있다. 예로서, 사용자는 플로어 플랜 정보, 또는 액세스 포인트들(예컨대, 위에서 논의된 액세스 포인트들(410, 412, 414, 416))과 같은 다양한 룸들 및/또는 무선 디바이스들의 상대적 위치들을 표시하는 레이블들을 제공할 수도 있다.
일부 구현들에서, 분산 감지 시스템에 의해 환경에서 이벤트를 검출하기 위해, 반사된 신호가 분산 감지 시스템의 감지 디바이스의 수신기에 도달할 수 있도록 충분히 강한 신호가 있을 필요가 있을 수도 있다. 도 6에 예시된 바와 같이, 신호의 강도는 적어도, 감지 디바이스의 송신 전력, 감지 디바이스의 안테나 이득들, 및 송신기, 타겟, 및 수신기 사이의 거리에 의존할 수 있다. 예를 들어, 송신 전력이 클수록, 반사된 신호가 대응하는 감지 디바이스의 수신기에 도달할 가능성이 더 크다. 송신 전력이 너무 낮으면, 반사된 RF 신호는 감지 디바이스의 수신기에 의해 검출되기에 너무 낮을 수도 있다. 유사하게, 안테나 이득들이 너무 낮으면, 수신기는 반사된 RF 신호를 충분히 수신하지 못할 수도 있다. 거리는 또한 송신된 신호 및 반사된 신호의 품질에 영향을 미친다. 예를 들어, 분산 감지 시스템의 구성에 따라, 2 개의 감지 디바이스들 사이의 거리(예를 들어, 경로손실) 또는 동일한 감지 디바이스의 송신기 및 수신기 사이의 거리가 클수록, 신호 강도가 RF 신호 및 반사된 RF 신호에 대해 더 낮을 것이다. 경로 손실(예를 들어, 도 6의 공간 손실(614, 618)), 또는 경로 감쇠는, 신호가 공간을 통해 전파함에 따른 전자기파의 전력 밀도의 감소이다. 신호의 강도는 또한 타겟의 타입에 의존할 수 있다. 예를 들어, 타겟이 사이즈가 작으면(예를 들어, 1 인치 직경, 3 인치 직경, 6 인치 직경 등), 타겟의 표면적은 작을 수도 있고 따라서 소량의 RF 신호들만이 타겟으로부터 반사될 수도 있다. 타겟이 사이즈가 크면, 타겟은 많은 양의 RF 신호들을 반사하는 큰 표면적을 가질 것이다. 타겟의 반사율은 레이더 반사 면적으로 지칭될 수 있다. 분산 감지 시스템은 상이한 오브젝트들로부터 반사된 신호들의 강도를 측정할 수 있다. 신호들, 반사된 신호들, 및 신호들의 강도에 기초하여, 분산 감지 시스템은 타겟의 위치 및 움직임과 같은 타겟의 양태들을 예측할 수 있다. 그러나, 타겟이 감지 디바이스들로부터 멀면, 분산 감지 시스템에 의해 수신된 신호들은 타겟의 위치 또는 타겟의 다른 양태를 검출하기에 너무 약할 수도 있다. 타겟이 감지 디바이스들에 더 가까우면, 타겟에 의해 반사된 신호들은 분산 감지 시스템이 정확한 검출들을 하기에 충분한 신호 강도를 가질 수도 있다.
도 6은 오브젝트를 검출하는 것에 대한 신호 강도(602) 대 공간 내 신호 포지션(604)의 예시적인 그래프(600)를 예시하는 도면이다. 일부 구현들에서, 분산 감지 시스템은 감지 디바이스에 의해 수신된 (예를 들어, 무선 주파수 신호들의) 신호 강도의 함수로서 표현될 수 있는 환경에서의 이벤트들을 검출할 수 있다. 무선 주파수 신호들은 타겟 감지 디바이스에 의해, 반사된 무선 주파수 신호들로서 생성될 수 있다. 일부 구현들에서, 무선 주파수 신호들의 신호 강도는 다음에 기초할 수 있다: 송신 전력; 안테나 이득들; 감지 디바이스들 및 타겟 위치의 함수로서의, 송신기와 반사기 사이의 경로손실; 감지 디바이스들 및 타겟 위치의 함수로서의, 반사기와 수신기 사이의 경로손실; 타겟의 반사율(예를 들어, 레이더 반사 면적(RCS)); 수신기 사양들; 이들의 임의의 조합; 및/또는 다른 인자들. 일부 경우들에서, RCS는 타겟 사이즈 및/또는 형상의 함수로서 결정될 수 있다. 일부 경우들에서, 안테나 이득들은 분산 감지 시스템에 의해 근사화될 수 있다. 분산 감지 시스템은, 수신 신호 강도 표시자들(RSSI들), 경로손실 측정들, 및/또는 다른 인자들에 기초하는 것과 같이, 주어진 위치에서 타겟에 의해 야기되는 수신 감지 신호를 예측할 수 있다.
도 6을 참조하면, 그래프(600)은 송신기 전력(PT)(610), 송신 안테나 이득(Gt)(612), 타겟(α)에 접근하는 공간 손실(614), 타겟 이득 계수(gain factor)(Gσ)(616), 타겟(α)으로부터 복귀하는 공간 손실(618), 수신기 안테나 이득(Gr) 620, 및 수신기 전력(Pr)(622)을 예시한다. 분산 감지 시스템은 유효 방사 전력(effective radiated power; ERP)을 추가로 결정할 수 있다. 예를 들어, 전력이 영역 A(예를 들어, 타겟에 접근하는 공간 손실) 또는 영역 B(예를 들어, 타겟으로부터 복귀하는 공간 손실(618))에서 측정되면, 전력은 전력 밀도(mW/cm2) 또는 필드 강도(V/m) 중 어느 하나로 언급될 수 있다.
도 6의 신호 강도 대 공간 내 신호 포지션은 다음 식에 의해 정의될 수 있다: 10 log Pt + 10 log Gt - α + Gσ - α + 10 log Gr = 10 log Pr.
도 7은 레이더 반사 면적 측정들(700)에 대한 예시적인 블록도를 예시하는 도면이다. 예를 들어, 레이더 반사 면적 측정들은 송신기 전력(PT)(710), 송신 안테나 이득(Gt)(712), 자유 공간 손실(714, 716)(), 수신기 안테나 이득(Gr)(718), 및 수신기 전력(Pr)(720) (예컨대, Pr = )을 포함할 수 있다. 레이더 반사 면적 측정들(700)은 다음의 식들을 추가로 활용할 수 있다: PtGtλ2/(4πR)2, (4·π·σ)/λ2, PtGtλ2/4πR2, 및 PtGtσλ2/(4π)3(R1 2R2 2). λ는 무선 주파수 신호의 파장을 의미한다. Ri는 송신기 또는 수신기로부터 타겟까지의 거리를 의미한다. 예를 들어, R1은 송신기와 타겟 사이의 거리를 의미하고, R2는 타겟과 수신기 사이의 거리를 의미한다. σ는 레이더 반사 면적(RCS)을 의미한다. 무선 주파수 신호들의 전력 및 파장들은 또한, 무선 주파수 신호들의 품질 및 범위를 최적화하도록 분산 감지 시스템에 의해 조정될 수 있다.
도 8은 개시된 기술의 일부 양태들에 따른, 자기지도 포지션 추정 시스템(800)의 예시적인 아키텍처를 예시하는 도면이다. 포지션 추정 시스템(800)은, 예를 들어 구역 레벨 분류를 수행하는 데 사용될 수 있는 축소된 차원 잠재 공간을 생성하기 위한 표현 학습 및 차원 축소 기법들을 활용함으로써, 입력 RF 데이터(CSI)가 주어지면 오브젝트 위치 추정치들을 생성하도록 구성될 수 있다. 원하는 구현에 따라, 잠재 공간은 3차원(3D) 또는 2차원(2D) 프로젝션들을 포함할 수 있다. 아래에서 추가로 상세히 논의되는 바와 같이, 교차 차원(cross-dimension) 및 멀티스케일 클러스터링을 활용하는 차원 축소 기법들은 데이터 내의 로컬 및 글로벌 구조를 보존하도록, 그리고 3D(또는 2D) 잠재 공간 표현들의 정밀한 포지션 추정치들로의 매핑을 용이하게 하도록 구현될 수 있다.
동작 시 포지션 추정 시스템(800)은, 예를 들어 실내 환경과 같은 주어진 환경 또는 위치에서 적어도 하나의 무선 디바이스와 연관된, RF 데이터(블록 802)를 수신하도록 구성된다. 예로서, RF 데이터는 포지션 추정이 수행될 무선 디바이스의 환경에서의 오브젝트(예를 들어, 사람 또는 사용자)와 연관될 수 있다. 일부 예들에서, RF 데이터는, 도 4와 관련하여 위에서 논의된 액세스 포인트들(410 내지 416)과 같은, 하나 이상의 무선 디바이스들에 의해 측정된 채널 상태 정보(CSI)이다(또는 이를 포함한다). 일부 양태들에서, 포지션 추정 시스템(800)에 대한 입력으로서 제공되는 CSI는, 예를 들어 시간에 따라 변하는 CSI 신호의 부분들을 격리시키기 위해 고역(high-pass) 통과 필터를 적용함으로써, 프리 프로세싱(pre-processing)된다. 원하는 구현에 따라, CSI로부터의 정보의 다양한 타입들(차원들)이 포지션 추정을 수행하는데 사용하기 위해 활용될 수 있다. 예로서, CSI는 다음을 포함하지만 이에 제한되지는 않는다: 송신 안테나 정보, 수신 안테나 정보, 서브캐리어 정보, 속도 정보, 커버리지 영역 정보, 송신기 프로세싱 정보, 수신기 프로세싱 정보, 또는 이들의 조합.
그 후 CSI 정보는, 예를 들어 하나 이상의 특징 벡터들을 추출하기 위해, 특징 추출기(블록 804)에 제공된다. 일부 접근법들에서, 특징 추출은 입력 RF 데이터의 두드러진 특성들을 나타내는 특징 벡터들을 생성하도록 구성된 컨볼루션 뉴럴 네트워크(CNN)와 같은 뉴럴 네트워크(예를 들어, 제1 머신 러닝 모델)을 사용하여 달성될 수 있다. 추출된 특징 벡터들의 차원은 RF 데이터 입력들의 차원수 및 특징 추출기(CNN)의 구성에 따라 달라질 수 있다. 예로서, 추출된 특징 벡터들은 하나 이상의 128차원 벡터들(어레이들)을 포함할 수도 있다. 이들 고차원 특징 벡터들은 그 후, 하나 이상의 클러스터들(블록 806)을 생성하도록 프로세싱된다. 원하는 구현에 따라 상이한 클러스터링 기법들이 사용될 수 있더라도, 일부 양태들에서 k-평균 클러스터링 접근법이 의사-레이블(블록 808)들을 생성하기 위해 사용된다. 일부 양태들에서, 클러스터들(블록 806)을 생성하기 위해 차원수 축소가 수행된다. 이러한 접근법들에서, 특징 추출기(블록 804)로부터 기인하는(또는 그에 의해 생성되는) 클러스터들의 수는 파라미터, 예를 들어 결과적인 클러스터들 및 의사-레이블들에 대한 차원수를 나타내는 클러스터 카운트 파라미터에 의존할 수 있다. 일부 양태들에서, 차원수는 위치 추정이 수행되는 공간의 사이즈에 의존할 수도 있다; 예를 들어, 더 큰 공간들에 대해 더 많은 수의 클러스터들이 존재할 수도 있거나, 더 많은 수의 구역들이 존재하는 것으로 여겨지는 더 많은 클러스터들이 존재할 수도 있다. 의사-레이블들(예컨대, 고차원 의사-레이블들)은, 그 후 제1 머신 러닝 모델을 트레이닝하고, 다층 퍼셉트론(multilayer perceptron; MLP)(블록 814)을 사용하여, 제1 ML 모델(블록 814)에 의해 만들어진 클러스터 예측들(블록 812)에 대해, 교차 엔트로피(cross-entropy) 손실(블록 810)을 역전파하는 데 사용될 수 있다.
일부 양태들에서, 추출된 특징들(블록 804)은 또한, 예를 들어 RF 데이터(블록 802)가 수집된 환경에 대응하는 3차원(3D)/2차원(2D) 잠재 공간을 나타내는, 3D 프로젝션들 또는 2D 프로젝션들(블록 816)과 같은, 더 낮은 차원의 프로젝션들을 생성하도록 프로세싱된다. 일부 예들에서, 프로젝션들(블록 816)은 또한 의사-레이블들(예컨대, 3D 또는 2D 의사 레이블들)(블록 820)을 생성하기 위해 클러스터링될 수 있다(블록 818). 일부 양태들에서, 의사-레이블들(블록 820)은, 예를 들어 수신된 RF 데이터(블록 802)와 연관된 사용자에 의해 제공되는, 프라이어들(예컨대, 레이블링 정보)에 기초할 수 있다. 프라이어들은 위치 추정이 수행될 환경의 토폴로지에 관한 정보를 포함할 수 있다. 예로서, 프라이어들은 환경에서의 하나 이상의 무선 디바이스들(예컨대, 액세스 포인트들)의 위치에 대한 정보, 플로어플랜 정보, 및/또는 감지된 환경에서의 구역들, 플로어 레벨들, 및/또는 룸들을 표시하는 레이블들과 같은 레이블들을 포함할 수도 있다.
교차 엔트로피 손실 함수, 예컨대 클러스터 손실, (블록 822)을 사용하여, 3D/2D 의사-레이블들(블록 820)은, 예를 들어 추출된 특징 벡터들(블록 804)에 기초하여 클러스터 예측들(블록 824)을 하도록 구성되는, 제2 머신 러닝 모델(블록 826)을 트레이닝하는 데 사용될 수 있다. 일부 양태들에서, 위에서 설명된 교차 트레이닝 ML 아키텍처로부터 생성되는 잠재 공간으로부터의 프로젝션들(블록 816)은, 추정 시스템(800)에 의해 수신된 RF 데이터(CSI)(블록 802)와 연관된 하나 이상의 오브젝트들에 대한 정확한 위치 추정치들을 만드는 데 사용될 수 있다.
일부 양태들에서, 클러스터 손실(LC)은 식 (3)의 관계를 사용하여 계산될 수 있다:
, (3)
식 (3)의 LHS는 (K-평균 클러스터링과 같은) 클러스터링 알고리즘이 의사-레이블들의 세트를 생성하기 위해, 즉 (k) 중심(centroid)들(C)의 세트를 생성하기 위해 사용할 수 있는 목적 함수의 예를 제공하며, 여기서 중심 (y_n)에 할당된 포인트들 사이의 (유클리드) 거리는 모든 (N) 포인트들이 중심에 할당되도록 최소화된다. 식 (3)의 RHS는 표준 크로스-엔트로피 손실을 나타내며, 이는 클러스터링 알고리즘으로부터 획득된 의사-레이블들을 예측하도록 경사하강법(gradient-descent)으로 뉴럴 네트워크를 트레이닝하기 위해 경사(gradient)를 제공하는 데 사용된다.
일부 양태들에서, 프로젝션들(블록 816)로부터 결정된 위치 추정치들은 삼중항 손실(블록 828), 액세스 포인트 손실(기지국 손실로 또한 지칭될 수 있음)(블록 830), 구역 손실(zone-loss)(832), 플로어 레벨 손실(floor-level loss)(블록 834) 또는 이들의 조합을 포함하는, 그러나 이에 제한되지 않는, 추가적인 손실 함수들에 추가로 기초한다. 아래에서 더 상세히 논의되는 바와 같이, 구역 손실(832) 및 플로어 레벨 손실(블록 834)은 양자 모두, 예를 들어 플로어플랜 정보(836)에 의해 표시되는 선험적 정보/레이블들, 및 다양한 구역들을 플로어 레벨 정보와 상관시키는 데 사용될 수 있는 구역 레이블들(838)에 기초할 수 있다.
일부 양태들에서 삼중항 손실은, 도 4와 관련하여 위에서 논의된 액세스 포인트들(410 내지 414) 중 하나 이상과 같은, RF 데이터와 연관된 무선 디바이스와 대응하는 시간적 특성 또는 차원에 기초할 수 있다. 예를 들어, 시간적으로 가까운 (그리고 유사한 또는 유사하지 않은) 2 개의 패킷들의 삼중항 손실은 그들이 잠재 공간에서 가까울 때 낮다. 일 예시적인 예에서, 삼중항 손실은 시간적 정보만을 사용할 수 있다. 예를 들어, 포지티브(positive) 앵커들은 앵커의 제1 시간 주기(예를 들어, 1 초, 2 초, 3 초, 또는 다른 시간 주기) 내에 있는 CSI 샘플들로서 선택될 수 있고, 네거티브(negative) 앵커들은 앵커의 제2 시간 주기(예를 들어, 제1 시간 주기가 2 초일 때 2 내지 4 초, 또는 다른 시간 주기) 내에 있는 CSI 샘플들로서 선택될 수 있다. 이러한 예시적인 예에서, 삼중항 손실은 잠재 공간에서 더 가까울수록 시간 상 더 가까운 패킷들을 인코딩할 잠재 표현을 초래할 수 있다.
일부 양태들에서, 삼중항 손실(LT)은 식 (4)의 관계를 사용하여 계산될 수 있다:
(4)
여기서 xi는 앵커들이고, xj는 포지티브 샘플을 나타내고, xk는 네거티브 샘플을 나타낸다. 일부 예들에서, 표현들 사이의 유클리드 거리는 식 (5)의 관계에 의해 주어질 수 있다:
(5)
여기서, 하이퍼-파라미터 Mt는, 식 (4)로부터, 손실을 0으로 감소시키는 거리들 사이의 마진, 예컨대 최소 갭을 나타낼 수 있다. 삼중항 손실이 3D 프로젝션들을 위해 사용하도록 구체적으로 적응되는 구현들에 대해, '1'보다 큰 가중치가 거리를 계산할 때 z축 상에 도입될 수 있다. 이러한 방식으로 가중하는 것은, CSI 샘플이 잘못된 플로어에 있는 것으로 예측되면 모델이 심하게 패널라이즈(penalize)되는 것을 보장하도록 도울 수 있다.
일부 양태들에서, 구역 손실은 구역 레이블들에 적어도 부분적으로 기초할 수 있다. 구역 손실은 수신된 RF 데이터 샘플들(또는 패킷들)에 기초한 예측된 구역 분류와, 연관된 환경을 나타내는 데카르트 맵 상의 제공된 표시자에 의해 표시된 각각의 실제 구역 사이의 대응의 정확도를 측정할 수도 있다. 예를 들어, 구역 손실은 하나 이상의 룸 또는 구역 표시자들에 의해 상이한 구역에 속하는 것으로서 표시되는 구역 분류들에 대해 높은 손실 값을 할당 또는 결정(하고 따라서 패널라이즈)할 수 있고, 하나 이상의 룸 또는 구역 표시자들에 기초하여 올바른(correct) 구역 분류들에 대해 낮은 손실 값을 할당 또는 결정할 수 있다. 일부 접근법들에서, 구역 예측은 (실내 환경에 대한) 연관된 플로어플랜 및 잠재 공간 표현에 대한 정보와 같은 하나 이상의 프라이어들에 기초하여 각각의 수신된 RF 샘플에 대해 결정될 수 있다. 예로서, 구역 예측들은 주어진 바운딩 박스(B)에 대응하는 예측된 구역을 생성하기 위해 K-최근접 이웃들(KNN) 룩업에 기초할 수 있다.일부 양태들에서 구역 손실은, 포인트가 바운딩 박스 외부에 있는 것으로 예측되는 경우 박스(B)와 RF 샘플(패킷)에 대해 예측된 궤적(locus) (포인트) 사이의 맨하탄 거리(d m )와 동일하고, 그렇지 않은 경우 0과 동일하다. 일부 구현들에서, 구역 손실은 식 (6)의 관계를 사용하여 계산될 수 있다:
(6)
여기서 구역 좌표 BZONE은 식 (7)의 관계를 사용하여 식별된다:
, 및 (7)
일부 양태들에서, 액세스 포인트 손실은 RF 데이터와 연관된 무선 디바이스에 대한, 신호 강도, 위치, 또는 이들의 조합 중 적어도 하나에 기초할 수 있다. 도 4와 관련하여 위에서 제공된 예에 추가로, 액세스 포인트 손실은 환경(400)에서의 하나 이상의 액세스 포인트들 또는 기지국들의 배치(위치들)에 관하여 사용자(416)에 의해 제공된 하나 이상의 프라이어들에 기초할 수도 있다. 일부 양태들에서, 액세스 포인트 손실은 삼중항 손실과 유사한 방식으로 동작할 수 있다. 예를 들어, 배치(batch) 내 각각의 패킷에 대해, 전력의 차이를 가질 만큼 충분히 거리가 멀지만 동일한 구역에 놓일 만큼 충분히 가까운 네거티브 앵커 패킷이 샘플링된다. 액세스 포인트들의 세트(A)로부터의 각각의 액세스 포인트(a)에 대해, 전력의 차이가 계산될 수 있다. 일부 접근법들에서, 계산된 전력의 차이가 임계값보다 크면, 더 높은 전력(x i )을 갖는 패킷은 더 낮은 전력(x k )을 갖는 패킷보다 하이퍼 파라미터 M a 에 의해 각각의 호스트에 더 가까워야 한다. 일부 접근법들에서, 삼중항 손실 및 액세스 포인트 손실 양자 모두에 대해, 마진들 Mt 및 Ma는 데카르트 맵 상의 유클리드 거리의 원하는 차이에 대응할 수 있고, 추적된 오브젝트(예컨대, 사람)의 속도 및 타임스탬프 차이를 반영하도록 튜닝될 수 있다. 일부 구현들에서, 액세스 포인트 손실은 식 (8)의 관계에 의해 주어질 수 있다:
(8)
일부 접근법들에서, 액세스 포인트 손실은 현실 공간에 더 가까운 잠재 공간 상의 위치 예측들을 끌어당기는 것을 도울 수 있고, 또한 모델이 일부 룸들을 위한 올바른 배향을 알도록 도울 수 있다.
추가적으로, 플로어 레벨 손실은, 어떤 구역들/룸들이 어떤 플로어/들에 대응하는지에 관한 선험적(priori) 정보를 사용하여, (예를 들어, 멀티 레벨 공간에 대해) 플로어 레벨을 식별하는 것을 돕도록 적용될 수 있다. 일부 양태들에서, 구역/룸 정보는 도 14와 관련하여 이하에서 더 상세히 논의되는 바와 같이, 예를 들어 (예를 들어, 앱을 통해) 사용자로부터 획득되는, 플로어플랜으로부터 이용가능하다.
일부 양태들에서, 예측된 플로어 레벨 위치들은 순차적인 것으로 가정될 수 있으며, 예를 들어, 사용자가 구역들(또는 플로어 레벨들) 사이에서 빠르게 점프할 수 없다고 가정될 수 있다. 예측들을 평활화하기 위해, 저역(low-pass) 통과 필터가 적용되어, 예를 들어 구역들 사이에서 교번 또는 명멸하는 예측들을 제거할 수 있다. 플로어 레벨들의 추정들은 구역 정보를 사용하여 이루어질 수 있다. 예를 들어, 알려진 구역(룸) 정보로부터 플로어 레벨을 결정하기 위해 룩업 테이블이 사용될 수 있다.
일부 접근법들에서, 플로어 레벨 손실(LF)은 식 (9)의 관계에 의해 주어질 수 있다:
(9)
여기서 F는 z축 제한들의 세트를 정의할 수 있으며, 예컨대, 예상된 수의 플로어 레벨들을 표시한다. 예로서, 2 개의 플로어들이 예상된 플로어 레벨 위치들의 세트를 나타내면, 세트 F는 정수 값들 1 및 2를 포함할 수 있다. 일부 구현들에서, m은 계단 웰(stair well)들 상의 또는 엘리베이터들에서의 위치들과 같이, 레벨들 간의 천이(transition)들을 표현하기 위해 마스크-인덱스 값을 지정하는데 사용될 수 있다.
도 9는, 위에서 논의된, 위치 추정 시스템(800)과 같은, 자기지도 포지션 추정 시스템을 위해 의사-레이블들을 생성하는 데 사용될 수 있는 클러스터들의 예를 예시하는 도면이다. 예시된 바와 같이, 도 9의 도면은 도 8과 관련하여 위에서 논의된 바와 같이, 3D 및/또는 2D 프로젝션들뿐만 아니라, 고차원수 특징 벡터들(하이-D)에 대해 이루어질 수 있는 클러스터링 할당들의 예들을 도시한다.
일부 양태들에서, 클러스터들의 수가 증가됨에 따라, 이웃들의 사이즈 또한 감소할 수 있다(예를 들어, 도 9에 도시된 바와 같이, "하이 K"에 대해, 각각의 버블 내 문자들의 수는 작고(작은 이웃에 대응함), "로우 K"에 대해, 버블 내 문자들의 수는 "하이 K"의 것보다 크다(큰 이웃에 대응함). 예를 들어, 평균적으로, 2 개의 포인트들이 하이-D 표현에서 클러스터를 형성하도록 매우 높은 수의 클러스터들이 생성된다고 가정하면, 3D/2D 잠재 공간은 (로컬의) 가장 가까운 이웃을 보존할 수 있다. 한편, 여러 클러스터들이 존재한다고 가정하면, 3D(또는 2D) 잠재 공간은 샘플들이 어느 룸들로부터 기원하는지와 같이, 보다 글로벌한 구조를 보존할 수 있다. 일부 예들에서, 다수의 스케일들에서 구조를 시행하기 위해, 클러스터들의 단 하나의 세트로 작업하는 대신에, 위에서 논의된 바와 같이, 클러스터 할당들의 계위구조(hierarchy)가 추출 및 예측될 수 있다.
도 10a는 2차원 잠재 공간(1002), 데카르트 맵(1004), 및 지리적 환경에 대한 대응하는 실측 데이터(1006) 사이의 비교의 예를 예시하는 도면(1000)이다. 특히, 2D 잠재 공간(1002)은 삼중항 및 클러스터 손실만을 사용하는 예를 예시하는 반면, 예시된 데카르트 맵은 일부 프라이어들(예컨대, 구역 레벨 레이블들 및 플로어플랜 정보)을 구체화한다.
도 10b는 예시적인 멀티플로어 환경의 레벨들(플로어들)과 데카르트 평면에서의 각각의 구역들 사이의 비교의 예를 예시하는 도면(1050)이다. 도 10b의 예에서, 도면(1050)의 플로어플랜의 구역들은 데카르트 좌표 평면(1065)에 매핑된 것으로 도시된 반면, 플로어플랜(1070)의 구역들은 데카르트 좌표 평면(1075)에 매핑된 것으로 도시된다. 도 10b의 예에서, 플로어플랜들(1060 및 1070)은 멀티플로어 환경의 제1 및 제2 플로어들을 각각 나타낼 수 있다. 위에서 논의된 바와 같이, 구역 정보를 예측함으로써, 예를 들어 룩업 테이블을 사용하여, 플로어 레벨이 추론될 수 있다.
도 11은 전술한 분산 감지 시스템을 구현하는 데 사용될 수 있는 딥 러닝 뉴럴 네트워크(1100)의 예시적인 예이다. 입력 계층(1120)은 입력 데이터를 포함한다. 일 예시적인 예에서, 입력 계층(1120)은 입력 프레임의 픽셀들을 나타내는 데이터를 포함할 수 있다. 뉴럴 네트워크(1100)는 다수의 은닉(hidden) 계층들(1122a, 1122b, 내지 1122n)을 포함한다. 은닉 계층들(1122a, 1122b, 내지 1122n)은 "n" 개수의 은닉 계층들을 포함하며, 여기서 "n"은 1 이상의 정수이다. 은닉 계층들의 개수는, 주어진 애플리케이션을 위해 필요한 만큼 많은 계층들을 포함하도록 이루어질 수 있다. 뉴럴 네트워크(1100)는, 은닉 계층들(1122a, 1122b, 내지 1122n)에 의해 수행되는 프로세싱으로부터 기인한 출력을 제공하는 출력 계층(1121)을 더 포함한다. 일 예시적인 예에서, 출력 계층(1121)은 입력 비디오 프레임에서의 오브젝트에 대한 분류를 제공할 수 있다. 분류는 활동의 타입(예를 들어, 축구, 피아노 연주, 피아노 청취, 기타 연주 등)을 식별하는 클래스를 포함할 수 있다.
뉴럴 네트워크(1100)는 상호연결된 노드들의 다층 뉴럴 네트워크이다. 각 노드는 한 가지 정보를 나타낼 수 있다. 노드들과 연관된 정보는 상이한 계층들 사이에서 공유되고 각각의 계층은 정보가 프로세싱될 때 정보를 유지한다. 일부 경우들에서, 뉴럴 네트워크(1100)은 피드 포워드 네트워크를 포함할 수 있으며, 이 경우 네트워크의 출력들이 자체적으로 피드백되는 피드백 연결들이 없다. 일부 경우들에서, 뉴럴 네트워크(1100)은 순환 뉴럴 네트워크를 포함할 수 있으며, 이는 입력을 판독하는 한편 노드들에 걸쳐 정보가 반송될 수 있도록 허용 하는 루프들을 가질 수 있다.
정보는 다양한 계층들 사이의 노드 대 노드 상호연결들을 통해 노드들 사이에서 교환될 수 있다. 입력 계층(1120)의 노드들은 제1 은닉 계층(1122a)의 노드들의 세트를 활성화할 수 있다. 예를 들어, 도시된 바와 같이, 입력 계층(1120)의 입력 노드들 각각은 제1 은닉 계층(1122a)의 노드들 각각에 접속된다. 제1 은닉 계층(1122a)의 노드들은 각각의 입력 노드의 정보를, 입력 노드 정보에 활성화 함수들을 적용함으로써 변환할 수 있다. 그 후, 변환으로부터 도출된 정보는, 노드들 고유의 지정된 함수들을 수행할 수 있는 다음 은닉 계층(1122b)의 노드들로 전달되고 그들을 활성화할 수 있다. 예시적인 함수들은 컨볼루션, 업샘플링, 데이터 변환, 및/또는 다른 적절한 함수들을 포함한다. 그 후 은닉 계층(1122b)의 출력이 그 다음 은닉 계층의 노드들을 활성화할 수 있는 등으로 계속된다. 마지막 은닉 계층(1122n)의 출력은 출력 계층(1121)의 하나 이상의 노드들을 활성화할 수 있으며, 여기에서 출력이 제공된다. 일부 경우들에서, 뉴럴 네트워크(1100) 내 노드들(예를 들어, 노드(1126))이 다수의 출력 라인들을 갖는 것으로 도시되지만, 노드는 단일 출력을 갖고 노드로부터 출력되는 것으로 도시된 모든 라인들은 동일한 출력 값을 나타낸다.
일부 경우들에서, 각각의 노드 또는 노드들 사이의 상호접속은 뉴럴 네트워크(1100)의 트레이닝으로부터 도출된 파라미터들의 세트인 가중치를 가질 수 있다. 일단 뉴럴 네트워크(1100)이 트레이닝되면, 그것은 하나 이상의 활동들을 분류하는 데 사용될 수 있는 트레이닝된 뉴럴 네트워크로 지칭될 수 있다. 예를 들어, 노드들 사이의 상호연결은 상호연결된 노드들에 대해서 학습된 한 가지 정보를 나타낼 수 있다. 상호연결은 (예를 들어, 트레이닝 데이터세트에 기초하여) 튜닝될 수 있는 튜너블(tunable) 수치 가중치를 가질 수 있어, 뉴럴 네트워크(1100)으로 하여금 입력들에 적응적이 되고 점점 더 많은 데이터가 프로세싱됨에 따라 학습할 수 있도록 허용한다.
뉴럴 네트워크(1100)은, 출력 계층(1121)을 통해 출력을 제공하기 위해 상이한 은닉 계층들(1122a, 1122b, 내지 1122n)을 사용하여 입력 계층(1120)에서 데이터로부터의 특징들을 프로세싱하도록 프리 트레이닝(pre-training)된다. 뉴럴 네트워크(1100)가 프레임들에서 드라이버에 의해 수행되고 있는 활동들을 식별하는 데 사용되는 예에서, 뉴럴 네트워크(1100)는 전술한 바와 같이 프레임들 및 레이블들 양자 모두를 포함하는 트레이닝 데이터를 사용하여 트레이닝될 수 있다. 예를 들어, 트레이닝 프레임들은 네트워크에 입력될 수 있으며, 각각의 트레이닝 프레임은 (특징 추출 머신 러닝 시스템을 위한) 프레임들 내 특징들을 나타내는 레이블 또는 각각의 프레임 내 활동의 클래스들을 나타내는 레이블을 갖는다. 예시적 목적으로 오브젝트 분류를 사용하는 일 예에서, 트레이닝 프레임은 숫자 2의 이미지를 포함할 수 있으며, 이 경우에 이미지를 위한 레이블은 [0 0 1 0 0 0 0 0 0 0]일 수 있다.
일부 경우들에서, 뉴럴 네트워크(1100)은 역전파로 불리는 트레이닝 프로세스를 사용하여 노드들의 가중치들을 조정할 수 있다. 위에서 언급된 바와 같이, 역전파 프로세스는 순방향 패스(forward pass), 손실 함수, 역방향 패스, 및 가중치 업데이트를 포함할 수 있다. 순방향 패스, 손실 함수, 역방향 패스, 및 파라미터 업데이트는 하나의 훈련 반복을 위해 수행된다. 계층들의 가중치들이 정확하게 튜닝되도록 뉴럴 네트워크(1100)이 충분히 양호하게 트레이닝될 때까지 각 세트의 트레이닝 이미지들에 대한 특정 수의 반복들 동안 프로세스가 반복될 수 있다.
프레임들에서 오브젝트들을 식별하는 예의 경우, 순방향 패스는 뉴럴 네트워크(1100)을 통해 트레이닝 이미지를 패스(pass)하는 것을 포함할 수 있다. 가중치들은 뉴럴 네트워크(1100)가 트레이닝되기 전에 초기에 랜덤화된다. 예시적인 예로서, 프레임은 이미지의 픽셀들을 나타내는 숫자들의 어레이를 포함할 수 있다. 어레이 내 각각의 숫자는 어레이 내 그 포지션에서의 픽셀 강도(pixel intensity)를 기술하는 0부터 255까지의 값을 포함할 수 있다. 일 예에서, 어레이는 28 개의 행들 및 28 개의 열들의 픽셀들과 3 개의 컬러 성분들(예컨대, 적색, 녹색 및 청색, 또는 루마와 2 개의 크로마 성분들 등)을 갖는 숫자들의 28 x 28 x 3 어레이를 포함할 수 있다.
전술한 바와 같이, 뉴럴 네트워크(1100)를 위한한 제1 트레이닝 반복 동안, 출력은 가중치들이 초기화에서 랜덤으로 선택되는 것으로 인해 임의의 특정 클래스에 대한 선호도를 부여하지 않는 값들을 포함할 가능성이 있을 것이다. 예를 들어, 출력이 오브젝트가 상이한 클래스들을 포함할 확률들을 갖는 벡터인 경우, 상이한 클래스들 각각에 대한 확률 값은 동일하거나 적어도 매우 유사할 수도 있다(예를 들어, 10 개의 가능한 클래스들에 대해, 각각의 클래스는 0.1의 확률 값을 가질 수도 있다). 초기 가중치들로, 뉴럴 네트워크(1100)는 낮은 레벨 특징들을 결정할 수 없고 따라서 오브젝트의 분류가 무엇일 수도 있는지의 정확한 결정을 내릴 수 없다. 손실 함수는 출력에서의 오차(error)를 분석하는데 사용될 수 있다. 교차 엔트로피 손실과 같은, 임의의 적합한 손실 함수 정의가 사용될 수 있다. 손실 함수의 다른 예는, 로서 정의되는, 평균 제곱 오차(MSE)를 포함한다. 손실은 E_total의 값과 동일하도록 설정될 수 있다.
실제 값들이 예측된 출력과는 많이 상이할 것이기 때문에, 손실(또는 오차)은 제1 트레이닝 샘플들에 대해서 높을 것이다. 트레이닝의 목표는 예측된 출력이 트레이닝 레이블과 동일하도록 손실의 양을 최소화하는 것이다. 뉴럴 네트워크(1100)는 어느 입력들(가중치들)이 네트워크의 손실에 가장 많이 기여했는지를 결정함으로써 역방향 패스를 수행할 수 있고, 손실이 감소하며 결국 최소화되도록 가중치들을 조정할 수 있다. 가중치들에 대한 손실의 도함수(dL/dW로 표기됨, 여기서 W는 특정 계층에서의 가중치들임)는 네트워크의 손실에 가장 많이 기여한 가중치들을 결정하도록 컴퓨팅될 수 있다. 도함수가 컴퓨팅된 후, 가중치 업데이트는 필터들의 모든 가중치들을 업데이트함으로써 수행될 수 있다. 예를 들어, 가중치들은 경사의 반대 방향으로 변화하도록 업데이트될 수 있다. 가중치 업데이트는 w=w_i-η dL/dW로 표기될 수 있으며, 여기서 w는 가중치를 나타내고, wi는 초기 가중치를 나타내고, η는 학습률을 나타낸다. 학습률은 임의의 적절한 값으로 설정될 수 있으며, 높은 학습률은 더 큰 가중치 업데이트들을 포함하고, 더 낮은 값은 더 작은 가중치 업데이트들을 표시한다.
뉴럴 네트워크(1100)는 임의의 적합한 심층 네트워크를 포함할 수 있다. 일 예는 입력 계층 및 출력 계층을 포함하는 컨볼루션 뉴럴 네트워크(CNN)를 포함하며, 입력 및 출력 계층들 사이에 다수의 은닉 계층들을 갖는다. CNN의 은닉 계층들은 일련의 컨볼루션, 비선형, (다운샘플링을 위한) 풀링(pooling), 및 완전 연결(fully connected) 계층들을 포함한다. 뉴럴 네트워크(1100)는, 무엇보다도, 오토인코더, 심층 신뢰망(DBN)들, 순환 뉴럴 네트워크(RNN) 등과 같은, CNN 외의 임의의 다른 심층 네트워크를 포함할 수 있다.
도 12는 컨볼루션 뉴럴 네트워크(CNN)(1200)의 예시적인 예이다. CNN(1200)의 입력 계층(1220)은 이미지 또는 프레임을 나타내는 데이터를 포함한다. 예를 들어, 데이터는 이미지의 픽셀들을 나타내는 숫자들의 어레이를 포함할 수 있으며, 어레이 내 각각의 숫자는 어레이 내 그 포지션에서의 픽셀 강도를 기술하는 0부터 255까지의 값을 포함한다. 상기로부터의 이전의 예를 사용하여, 어레이는 28 개의 행들과 28 개의 열들의 픽셀들 및 3 개의 컬러 컴포넌트들(예컨대, 적색, 녹색 및 청색, 또는 루마 및 2 개의 크로마 컴포넌트들 등과 같은)을 갖는 숫자들의 28 x 28 x 3 어레이를 포함할 수 있다. 이미지는 컨볼루션 은닉 계층(1222a), 선택적인 비선형 활성화 계층, 풀링 은닉 계층(1222b), 및 완전 연결 은닉 계층들(1222c)을 통해 패스되어 출력 계층(1224)에서 출력을 획득할 수 있다. 각각의 은닉 계층 중 오직 하나가 도 12에 도시되지만, 당업자는 다중의 컨볼루션 은닉 계층들, 비선형 계층들, 풀링 은닉 계층들 및/또는 완전 연결 계층들이 CNN(1200)에 포함될 수 있음을 이해할 것이다. 앞서 설명한 것처럼, 출력은 오브젝트의 단일 클래스를 나타낼 수 있거나 또는 이미지에서의 오브젝트를 가장 잘 기술하는 클래스의 확률을 포함할 수 있다.
CNN(1200)의 제1 계층은 컨볼루션 은닉 계층(1222a)이다. 컨볼루션 은닉 계층(1222a)은 입력 계층(1220)의 이미지 데이터를 분석한다. 컨볼루션 은닉 계층(1222a)의 각각의 노드는, 수용 필드로 불리는 입력 이미지의 노드들(픽셀들)의 영역에 연결된다. 컨볼루션 은닉 계층(1222a)은 하나 이상의 필터들(각각의 필터는 상이한 활성화 또는 특징 맵에 대응함)로서 간주될 수 있으며, 필터의 각각의 컨볼루션 반복(convolutional iteration)은 컨볼루션 은닉 계층(1222a)의 노드 또는 뉴런이다. 예를 들어, 각각의 컨볼루션 반복에서 필터가 커버하는 입력 이미지의 영역은 필터에 대한 수용 필드일 것이다. 일 예시적인 예에서, 입력 이미지가 28×28 어레이를 포함하고, 각각의 필터(및 대응하는 수용 필드)가 5×5 어레이이면, 컨볼루션 은닉 계층(1222a)에 24×24 노드들이 있을 것이다. 노드와 그 노드에 대한 수용 필드 사이의 각각의 연결은 가중치를 그리고 일부 경우들에서는, 전체 바이어스를 학습하여, 각각의 노드가 입력 이미지에서의 그의 각각의 특정 로컬 수용 필드를 분석하도록 학습한다. 은닉 계층(1222a)의 각각의 노드는 동일한 가중치들 및 바이어스(공유 가중치 및 공유 바이어스로 불림)를 가질 것이다. 예를 들어, 필터는 입력과 동일한 깊이(depth) 및 가중치들(숫자들)의 어레이를 갖는다. 필터는 (입력 이미지의 3 개의 컬러 컴포넌트들에 따라) 비디오 프레임 예에 대한 3의 깊이를 가질 것이다. 필터 어레이의 예시적인 예시 사이즈는 노드의 수용 필드의 사이즈에 대응하여, 5 x 5 x 3이다.
컨볼루션 은닉 계층(1222a)의 컨볼루션 성질은, 컨볼루션 계층의 각각의 노드가 그의 대응하는 수용 필드에 적용되는 것에 기인한다. 예를 들어, 컨볼루션 은닉 계층(1222a)의 필터는 입력 이미지 어레이의 좌상단(top-left) 코너에서 시작할 수 있고 입력 이미지 주위에서 컨볼브(convolve)할 수 있다. 상기 언급된 바와 같이, 필터의 각각의 컨볼루션 반복은 컨볼루션 은닉 계층(1222a)의 노드 또는 뉴런으로 간주될 수 있다. 각각의 컨볼루션 반복에서, 필터의 값들은 이미지의 대응하는 수의 원래 픽셀 값들과 곱셈된다(예를 들어, 5x5 필터 어레이는 입력 이미지 어레이의 좌상단 코너에서의 입력 픽셀 값들의 5x5 어레이로 곱셈된다). 각각의 컨볼루션 반복으로부터의 곱셈들은 그 반복 또는 노드에 대한 총 합을 획득하기 위해 함께 합산될 수 있다. 그 다음, 프로세스는 컨볼루션 은닉 계층(1222a)에서 다음 노드의 수용 필드에 따라 입력 이미지에서의 다음 위치에서 계속된다. 예를 들어, 필터는 스텝량(스트라이드(stride)로 지칭됨)만큼 다음 수용 필드로 움직일 수 있다. 스트라이드는 1 또는 다른 적절한 양으로 설정될 수 있다. 예를 들어, 스트라이드가 1로 설정되면, 필터는 각각의 컨볼루션 반복에서 1 픽셀만큼 우측으로 움직여질 것이다. 입력 볼륨의 각 고유 위치에서 필터를 프로세싱하는 것은 그 위치에 대한 필터 결과들을 나타내는 숫자를 생성하여, 컨볼루션 은닉 계층(1222a)의 각각의 노드에 대해 결정되는 총 합산 값을 초래한다.
입력 계층으로부터 컨볼루션 은닉 계층(1222a)으로의 매핑은 활성화 맵(또는 특징 맵)으로 지칭된다. 활성화 맵은 입력 볼륨의 각각의 위치에서의 필터 결과들을 나타내는 각각의 노드에 대한 값을 포함한다. 활성화 맵은 입력 볼륨 상의 필터의 각각의 반복으로부터 야기되는 다양한 총 합산 값들을 포함하는 어레이를 포함할 수 있다. 예를 들어, 28 x 28 입력 이미지의 각각의 픽셀(1의 스트라이드)에 5 x 5 필터가 적용되는 경우 활성화 맵은 24 x 24 어레이를 포함할 것이다. 컨볼루션 은닉 계층(1222a)은 이미지에서 다수의 특징들을 식별하기 위해 여러 활성화 맵들을 포함할 수 있다. 도 12에 도시된 예는 3 개의 활성화 맵들을 포함한다. 3 개의 활성화 맵들을 사용하여, 컨볼루션 은닉 계층(1222a)은 3 개의 상이한 종류의 특징들을 검출할 수 있으며, 각각의 특징은 전체 이미지에 걸쳐 검출가능하다.
일부 예들에서, 비선형 은닉 계층은 컨볼루션 은닉 계층(1222a) 이후에 적용될 수 있다. 선형 연산들을 컴퓨팅하고 있던 시스템에 비선형성을 도입하도록 비선형 계층이 사용될 수 있다. 비선형 계층의 일 예시적인 예는 정류 선형 유닛(rectified linear unit; ReLU) 계층이다. ReLU 계층은 함수 f(x) = max(0, x)를 입력 볼륨에서의 값들 모두에 적용할 수 있으며, 이는 모든 네거티브 활성화들을 0으로 변경한다. 따라서 ReLU는 컨볼루션 은닉 계층(1222a)의 수용 필드에 영향을 미치지 않으면서 CNN(1200)의 비선형 특성들을 증가시킬 수 있다.
풀링 은닉 계층(1222b)은 컨볼루션 은닉 계층(1222a) 후에(그리고 사용될 때 비선형 은닉 계층 후에) 적용될 수 있다. 풀링 은닉 계층(1222b)은 컨볼루션 은닉 계층(1222a)으로부터의 출력에서의 정보를 단순화하기 위해 사용된다. 예를 들어, 풀링 은닉 계층(1222b)은 컨볼루션 은닉 계층(1222a)으로부터 출력된 각각의 활성화 맵을 취할 수 있고, 풀링 함수를 사용하여 응축된(condensed) 활성화 맵(또는 특징 맵)을 생성한다. 최대 풀링(max-pooling)은 풀링 은닉 계층에 의해 수행되는 함수의 일 예이다. 평균 풀링, L2-norm 풀링, 또는 다른 적합한 풀링 함수들과 같은, 다른 형태들의 풀링 함수들이 풀링 은닉 계층(1222a)에 의해 사용될 수 있다. 풀링 함수(예를 들어, 최대 풀링 필터, L2-norm 필터, 또는 다른 적합한 풀링 필터)가 컨볼루션 은닉 계층(1222a)에 포함된 각각의 활성화 맵에 적용된다. 도 12에 도시된 예에서, 3 개의 풀링 필터들이 컨볼루션 은닉 계층(1222a)에서의 3 개의 활성화 맵들에 대해 사용된다.
일부 예들에서, 최대 풀링은 스트라이드(예를 들어, 2의 스트라이드와 같이, 필터의 차원과 동일함)를 갖는 최대 풀링 필터(예를 들어, 2x2의 사이즈를 가짐)를 컨볼루션 은닉 계층(1222a)으로부터 출력된 활성화 맵에 적용함으로써 사용될 수 있다. 최대 풀링 필터로부터의 출력은 필터가 주위에서 컨볼브하는 모든 서브영역에서의 최대 수를 포함한다. 예로서 2x2 필터를 사용하여, 풀링 계층에서의 각 유닛은 이전 계층에서의 2×2 노드의 영역을 요약(summarize)할 수 있다(각 노드는 활성화 맵에서의 값임). 예를 들어, 활성화 맵에서의 4 개의 값(노드)들은 필터의 각각의 반복에서 2x2 최대 풀링 필터에 의해 분석될 것이며, 4 개 값들로부터의 최대 값이 "max" 값으로서 출력된다. 이러한 최대 풀링 필터가 24x24 노드들의 차원을 갖는 컨볼루션 은닉 계층(1222a)으로부터의 활성화 필터에 적용되면, 풀링 은닉 계층(1222b)으로부터의 출력은 12x12 노드들의 어레이가 될 것이다.
일부 예들에서, L2-norm 풀링 필터가 또한 사용될 수 있다. L2-norm 풀링 필터는, (최대 풀링에서 행해진 바와 같이 최대 값들을 컴퓨팅하는 대신에) 활성화 맵의 2×2 영역(또는 다른 적절한 영역)에서의 값들의 제곱들의 합의 제곱 근을 컴퓨팅하는 것, 및 컴퓨팅된 값들을 출력으로서 사용하는 것을 포함한다.
직관적으로, 풀링 함수(예를 들어, 최대 풀링, L2-norm 풀링, 또는 다른 풀링 함수)는 주어진 특징이 이미지의 영역 내 어디에서나 발견되는지 여부를 결정하고, 정확한 포지셔널 정보를 폐기한다. 이는 특징 검출의 결과들에 영향을 주지 않고서 수행될 수 있는데, 왜냐하면 일단 특징이 발견되면 특징의 정확한 위치가 다른 특징들에 상대적인 그의 근사적인 위치만큼 중요하지 않기 때문이다. 최대 풀링(뿐만 아니라 다른 풀링 방법들)은 훨씬 적은 풀링된 특징들이 있다는 이점을 제공하므로, CNN(1200)의 이후 계층들에서 필요한 파라미터들의 수를 감소시킨다.
네트워크에서의 연결들의 최종 계층은, 출력 계층(1224)에서 출력 노드들의 모든 것에 풀링 은닉 계층(1222b)으로부터의 모든 노드를 연결하는 완전 연결 계층이다. 위의 예를 사용하여, 입력 계층은 입력 이미지의 픽셀 강도들을 인코딩하는 28 x 28 노드들을 포함하고, 컨볼루션 은닉 계층(1222a)은 3 개 활성화 맵들에의 (필터들에 대한) 5×5 로컬 수용 필드의 적용에 기초한 3×24×24 은닉 특징 노드들을 포함하고, 풀링 은닉 계층(1222b)은 3 개의 특징 맵들 각각에 걸친 2×2 영역들에의 최대 풀링 필터의 적용에 기초한 3×12×12 은닉 특징 노드들의 계층을 포함한다. 이러한 예를 확장하면, 출력 계층(1224)은 10 개의 출력 노드들을 포함할 수 있다. 이러한 예에서, 3x12x12 풀링 은닉 계층(1222b)의 모든 노드는 출력 계층(1224)의 모든 노드에 연결된다.
완전 연결 계층(1222c)은 (하이 레벨 특징들의 활성화 맵들을 나타내야 하는) 이전 풀링 은닉 계층(1222b)의 출력을 획득할 수 있고 특정 클래스에 가장 상관되는 특징들을 결정한다. 예를 들어, 완전 연결 계층(1222c)은 특정 클래스에 가장 강하게 상관되는 하이 레벨 특징들을 결정할 수 있고, 하이 레벨 특징들에 대한 가중치들(노드들)을 포함할 수 있다. 상이한 클래스들에 대한 확률들을 획득하기 위해, 완전 연결 계층(1222c)과 풀링 은닉 계층(1222b)의 가중치들 사이에서 곱(product)이 계산될 수 있다. 예를 들어, CNN(1200)이 비디오 프레임 내 오브젝트가 사람임을 예측하는 데 사용되고 있는 경우, 사람의 하이 레벨 특징들(예를 들어, 다리가 두 개 존재함, 얼굴이 오브젝트의 상단에 존재함, 두 개의 눈들이 얼굴의 좌상부와 우상부에 존재함, 코가 얼굴 중앙에 존재함, 입이 얼굴의 하부에 존재함, 및/또는 사람에게 공통적인 다른 특징들)을 나타내는 하이 값들이 활성화 맵들에 존재할 것이다.
일부 예들에서, 출력 계층(1224)으로부터의 출력은 M차원 벡터(이전 예에서, M=10)를 포함할 수 있다. M은, CNN(1200)이 이미지 내 오브젝트를 분류할 때 선택해야 하는 클래스의 수를 나타낸다. 다른 예시적인 출력들이 또한 제공될 수 있다. N차원 벡터에서의 각 숫자는 오브젝트가 특정 클래스일 확률을 나타낼 수 있다. 일 예시적인 예에서, 10차원 출력 벡터가 오브젝트의 10 개의 상이한 클래스들이 [0 0 0.05 0.8 0 0.15 0 0 0 0]임을 나타내는 경우, 벡터는 이미지가 제3 클래스의 오브젝트(예를 들어, 개)일 확률이 5%이고, 이미지가 제4 클래스의 오브젝트(예를 들어, 인간)일 확률이 80%이고, 그리고 이미지가 제6 클래스의 오브젝트(예를 들어, 캥거루)일 확률이 15%임을 나타낸다. 클래스에 대한 확률은, 오브젝트가 그 클래스의 부분이라는 신뢰도 레벨로 간주될 수 있다.
도 13은 본 개시의 일부 예들에 따른, 위치 예측을 수행하기 위한 프로세스(1300)의 예시적인 흐름도를 예시한다. 동작 1302에서, 프로세스(1300)는 적어도 하나의 네트워크 인터페이스를 통해, 무선 주파수(RF) 데이터를 획득하는 단계를 포함할 수 있다. 앞서 논의된 바와 같이, RF 데이터는 채널 상태 정보(CSI)를 포함할 수 있다(또는 CSI일 수 있다). 일부 양태들에서, CSI는 다음 중 적어도 하나를 포함할 수 있다: 송신 안테나 정보, 수신 안테나 정보, 서브캐리어 정보, 속도 정보, 커버리지 영역 정보, 송신기 프로세싱 정보, 수신기 프로세싱 정보 또는 이들의 조합.
동작 1304에서, 프로세스(1300)는 RF 데이터에 기초하여 복수의 특징 벡터들을 결정하는 단계를 포함할 수 있다. 일부 구현들에서, 특징 벡터들은 도 8과 관련하여 위에서 논의된 바와 같이, 컨볼루션 뉴럴 네트워크(CNN)와 같은, 특징 추출기에 의해 추출될 수 있다. 특징 벡터들은, 수신된 CSI 정보의 고차원(예를 들어, 128D) 표현을 제공할 수 있다.
동작 1306에서, 프로세스(1300)는 복수의 특징 벡터들에 기초하여 복수의 제1 클러스터들을 생성하는 단계를 포함할 수 있으며, 여기서 제1 클러스터들은 복수의 제1 의사-레이블들에 대응한다. 일부 양태들에서, 클러스터 생성은 차원수 축소의 양을 표시하는 클러스터 카운트 파라미터와 같은 하나 이상의 구성 파라미터들에 기초할 수도 있다. 예로서, 클러스터 카운트 파라미터는 위치 추정이 수행되는 환경의 위치 또는 타입에 기초하는 미리 구성된 파라미터일 수도 있다.
동작 1308에서, 프로세스(1300)는 복수의 특징 벡터들에 기초하여 복수의 프로젝션 특징들을 결정하는 단계를 포함할 수 있다. 원하는 구현에 따라, 프로젝션 특징들은 3차원(3D) 또는 2차원(2D)일 수도 있다. 동작 1310에서, 프로세스(1300)는 복수의 제1 의사-레이블들 및 프로젝션 특징들을 사용하여 제1 ML 모델을 트레이닝하는 단계를 포함할 수 있다. 일부 양태들에서, 프로젝션 특징들은 복수의 제2 클러스터들을 생성하도록 프로세싱될 수 있고, 제2 클러스터들은 복수의 제2 의사-레이블들과 대응할 수 있다. 일부 예들에서, 제2 의사 레이블들은 제2 ML 모델을 트레이닝하는 데 사용될 수 있다.
동작 1312에서, 프로세스(1300)는 3D(또는 2D) 프로젝션 특징들, 및 플로어 레벨 손실에 기초하여 사용자의 위치를 예측하는 단계를 포함할 수 있다. 예를 들어, 사용자 위치 또는 하나 이상의 다른 오브젝트들에 대한 위치는 실내 공간의 다양한 구역들 또는 룸들에 대하여 예측될 수 있다. 일부 예들에서, 제2 의사-레이블들은 룸 표시자들, 구역 표시자들, 및/또는 플로어플랜 정보, 또는 이들의 조합과 같은, 하나 이상의 사용자 제공 프라이어들에 기초할 수 있다. 예로서, 구역 레이블들 및/또는 이전 플로어플랜 정보는 사용자의, 플로어 레벨과 같은, 상승 포지션의 결정들을 용이하게 하기 위해 사용될 수 있다. 일부 양태들에서, 제2 의사 레이블들은 제1 ML 모델을 트레이닝하기 위해 사용될 수 있다.
일부 예들에서, 본 명세서에서 설명된 프로세스들(예컨대, 프로세스들(1300, 1400) 및/또는 본 명세서에 설명된 다른 프로세스)은 컴퓨팅 디바이스 또는 장치에 의해 수행될 수도 있다. 일 예에서, 프로세스들(1300 및/또는 1400)은 컴퓨팅 디바이스 또는 도 15에 도시된 컴퓨팅 시스템(1500)에 의해 수행될 수 있다.
컴퓨팅 디바이스는, 모바일 디바이스(예컨대, 모바일 폰), 데스크톱 컴퓨팅 디바이스, 태블릿 컴퓨팅 디바이스, 웨어러블 디바이스(예컨대, VR 헤드셋, AR 헤드셋, AR 안경, 네트워크 접속 시계 또는 스마트워치, 또는 다른 웨어러블 디바이스), 서버 컴퓨터, 자율주행 차량 또는 자율주행 차량의 컴퓨팅 디바이스, 로봇 디바이스, 텔레비전, 및/또는 프로세스(1300)를 포함하는 본 명세서에서 설명된 프로세스들을 수행하기 위한 리소스 능력들을 갖는 임의의 다른 컴퓨팅 디바이스와 같은, 임의의 적합한 UE 또는 디바이스를 포함할 수 있다. 일부 경우들에서, 컴퓨팅 디바이스 또는 장치는, 하나 이상의 입력 디바이스들, 하나 이상의 출력 디바이스들, 하나 이상의 프로세서들, 하나 이상의 마이크로프로세서들, 하나 이상의 마이크로컴퓨터들, 하나 이상의 카메라들, 하나 이상의 센서들, 및/또는 본 명세서에 설명된 프로세스들의 단계들을 수행하도록 구성되는 다른 컴포넌트(들)과 같은 다양한 컴포넌트들을 포함할 수도 있다. 일부 예들에서, 컴퓨팅 디바이스는 디스플레이, 데이터를 통신 및/또는 수신하도록 구성된 네트워크 인터페이스, 이들의 임의의 조합, 및/또는 다른 컴포넌트(들)를 포함할 수도 있다. 네트워크 인터페이스는 인터넷 프로토콜(IP) 기반 데이터 또는 다른 타입의 데이터를 통신 및/또는 수신하도록 구성될 수도 있다.
컴퓨팅 디바이스의 컴포넌트들은 회로에서 구현될 수 있다. 예를 들어, 컴포넌트들은, 본 명세서에서 설명된 다양한 동작들을 수행하기 위해, 하나 이상의 프로그래밍가능 전자 회로들(예컨대, 마이크로프로세서들, 그래픽 프로세싱 유닛들(GPU들), 디지털 신호 프로세서들(DSP들), 중앙 프로세싱 유닛들(CPU들), 비전 프로세싱 유닛들(VPU들), 네트워크 신호 프로세서들(NSP들), 마이크로제어기들(MCU들) 및/또는 다른 적합한 전자 회로들)을 포함할 수 있는 전자 회로들 또는 다른 전자 하드웨어를 포함할 수 있고/있거나 이들을 사용하여 구현될 수 있고, 그리고/또는 컴퓨터 소프트웨어, 펌웨어, 또는 이들의 임의의 조합을 포함할 수 있고/있거나 이들을 사용하여 구현될 수 있다.
프로세스(1300)는 논리 흐름도들로서 예시되며, 그의 동작은 하드웨어, 컴퓨터 명령들, 또는 이들의 조합에서 구현될 수 있는 동작들의 시퀀스를 나타낸다. 컴퓨터 명령들의 맥락에서, 동작들은, 하나 이상의 프로세서들에 의해 실행될 경우, 언급된 동작들을 수행하는 하나 이상의 컴퓨터 판독가능 저장 매체들 상에 저장된 컴퓨터 실행가능 명령들을 나타낸다. 일반적으로, 컴퓨터 실행가능 명령들은, 특정 기능들을 수행하거나 또는 특정 데이터 타입들을 구현하는 루틴들, 프로그램들, 오브젝트들, 컴포넌트들, 데이터 구조들 등을 포함한다. 동작들이 설명된 순서는 제한으로서 해석되도록 의도되지 않고, 임의의 수의 상기 설명된 동작들은 프로세스들을 구현하기 위해 임의의 순서로 및/또는 병렬로 조합될 수 있다.
추가적으로, 프로세스(1300) 및/또는 본 명세서에서 설명된 다른 프로세스들은 실행가능 명령들로 구성된 하나 이상의 컴퓨터 시스템들의 제어 하에 수행될 수도 있고, 하나 이상의 프로세서들 상에서 집합적으로 실행하는 코드(예컨대, 실행가능 명령들, 하나 이상의 컴퓨터 프로그램들, 또는 하나 이상의 애플리케이션들)로서, 하드웨어에 의해, 또는 이들의 조합으로 구현될 수도 있다. 앞서 언급된 바와 같이, 코드는 컴퓨터 판독가능 또는 머신 판독가능 저장 매체 상에, 예를 들어 하나 이상의 프로세서들에 의해 실행가능한 복수의 명령들을 포함하는 컴퓨터 프로그램의 형태로, 저장될 수도 있다. 컴퓨터 판독가능 또는 머신 판독가능 저장 매체는 비일시적일 수도 있다.
도 14는 개시된 기술의 일부 양태들에 따른, 트레이닝 절차 및 위치 추정 프로세스를 개시하기 위한 프로세스(1400)의 예시적인 흐름도를 예시한다. 동작 1402에서, 프로세스(1400)는 환경과 연관된 하나 이상의 프라이어들을 수신하는 단계를 포함한다. 일부 양태들에서, 프라이어들은 실내 환경의 플로어플랜 내의 하나 이상의 무선 디바이스들 또는 액세스 포인트들에 대한 위치 또는 배치 정보와 같은, 환경에 대한 다양한 타입들의 정보를 포함할 수 있다. 일부 구현들에서, 프라이어들은 룸 타입(예를 들어, "주방" 또는 "차고")을 지정하는 태그들 또는 다른 표시자들과 같은, 룸 또는 구역 표시자들을 포함할 수 있다. 위에서 언급된 바와 같이, 룸 또는 구역 표시자들은 사용자가 장소의 특정 룸 또는 구역에 위치하는 동안 획득된 CSI 데이터와 연관될 수 있다. 일부 양태들에서, 프라이어들은 서로에 관한 내부 공간의 구역들 또는 룸들의 상대적 배치를 표시하는, 플로어플랜의 스케치들과 같은, 레이블들 또는 다른 정보를 포함할 수도 있다. 원하는 구현에 따라 프라이어들은, 스마트폰 또는 다른 모바일 디바이스와 같은, 사용자와 연관된 디바이스를 통해 (예를 들어, 서버, 액세스 포인트/기지국에서) 수신될 수도 있다.
동작 1404에서, 프로세스(1400)는 RF 데이터를 획득하는 것을 포함한다. 일부 예들에서, RF 데이터는 위치 추정이 수행될 환경에서, 그 주위에, 또는 그에 근접하게 위치되는 하나 이상의 무선 디바이스들(예를 들어, 액세스 포인트들 또는 기지국들)과 연관될 수 있다. 일부 양태들에서, RF 데이터는 2 개 이상의 디바이스들(예컨대, 송신기 및 수신기들) 사이에서 송신되는 RF 신호들을 위한 채널 상태 정보(CSI)를 포함할 수 있거나 그를 나타낼 수도 있다. 그러한 바, RF 데이터는, 예를 들어 환경에서의 오브젝트들의 배치 및/또는 모션과 연관되는, 신호 섭동들에 관한 데이터를 포함할 수 있다. 예로서, RF 데이터는 실내 환경의 하나 이상의 룸들을 통한 사람(예를 들어, 사용자)의 모션에 의해 야기되는 RF 신호 섭동들과 대응하는 CSI를 포함할 수 있다.
동작 1406에서, 프로세스(1400)는, 예를 들어 환경에서의 하나 이상의 오브젝트들에 대한 위치 결정들을 용이하게 하도록 구성되는, 하나 이상의 위치 추정 모델들을 생성하는 것을 포함한다. 위에서 논의된 바와 같이, 하나 이상의 위치 추정 모델들은 환경과 연관된 RF 데이터를 수신하거나 또는 입력으로서 취하도록, 그리고 환경에서의 다양한 오브젝트들에 대한 오브젝트 위치 추정치들을 만드는 데 필요한 프로세싱(예컨대, 클러스터링 및 분류)을 제공하도록 구성되는 머신 러닝 모델들을 포함할 수 있다. 예로서, 하나 이상의 위치 추정 모델들은, 연관된 실내 환경의 토포그래피를 나타낼 수 있고 오브젝트 위치 추정치들 또는 예측들을 생성하는 데 사용될 수 있는 2D 잠재 공간을 생성하도록 구성될 수도 있다. 일부 양태들에서 위치 추정 모델들은, 다양한 생물(animate) 또는 무생물(inanimate) 오브젝트들의 모션에 기초하여 환경에서 수행되는 이벤트들 또는 액션들을 식별하는 것과 같이, 오브젝트들의 모션 프로파일들을 검출 또는 식별하도록 구성될 수도 있다.
동작 1408에서, 프로세스(1400)는 오브젝트 위치 추정치를 포함하는 경보를 생성하는 것을 포함한다. 일부 예들에서, 경보는 환경에서의 하나 이상의 오브젝트들의 존재 및/또는 위치를 기술하는 정보를 포함할 수 있다. 예로서, 경보는 침입(intrusion) 경보로서 제공될 수도 있으며, 예를 들어 홈 또는 비즈니스 환경의 부근에서의 사람들(또는 다른 오브젝트들)의 존재에 관해 홈 소유자들 및/또는 보안 요원들에게 경보한다. 일부 양태들에서, 경고들은 의도된 수신자와 대응하는 디바이스(예컨대, UE 또는 스마트폰)로 송신될 수도 있다. 원하는 구현에 따라, 경보들은 수신 디바이스(예를 들어, 스마트폰)와 연관된 사용자에게 청각적, 시각적 및/또는 촉각적 통지들을 제공하도록 구성될 수 있다.
도 15는 본 기술의 특정 양태들을 구현하기 위한 시스템의 예를 예시하는 도면이다. 특히, 도 15는 컴퓨팅 시스템(1500)의 예를 예시하며, 이는 예를 들어, 내부 컴퓨팅 시스템을 구성하는 임의의 컴퓨팅 디바이스, 원격 컴퓨팅 시스템, 카메라, 또는 이들의 임의의 조합일 수 있으며, 이들에서 시스템의 컴포넌트들은 커넥션(1505)을 사용하여 서로 통신한다. 커넥션(1505)은 버스를 사용하는 물리적 커넥션, 또는 칩셋 아키텍처에서와 같은 프로세서(1510)로의 직접 커넥션일 수 있다. 커넥션(1505)은 또한, 가상 커넥션, 네트워크형 커넥션, 또는 논리적 커넥션일 수 있다.
일부 실시예들에서, 컴퓨팅 시스템(1500)은 본 개시에서 설명된 기능이 데이터센터, 다수의 데이터 센터들, 피어(peer) 네트워크 등 내에서 분산될 수 있는 분산 시스템이다. 일부 실시예들에서, 설명된 시스템 컴포넌트들 중 하나 이상은 컴포넌트가 설명되는 기능의 일부 또는 전부를 각각 수행하는 많은 그러한 컴포넌트들을 나타낸다. 일부 실시예들에서, 컴포넌트들은 물리적 또는 가상 디바이스들일 수 있다.
예시적인 시스템(1500)은 적어도 하나의 프로세싱 유닛(CPU 또는 프로세서)(1510), 및 프로세서(1510)에 판독 전용 메모리(ROM)(1520) 및 랜덤 액세스 메모리(RAM)(1525)와 같은 시스템 메모리(1515)를 포함하는 다양한 시스템 컴포넌트들을 커플링시키는 커넥션(1505)를 포함한다. 컴퓨팅 시스템(1500)은 프로세서(1510)와 직접 접속되거나, 이에 매우 근접하거나, 또는 이의 일부로서 통합되는 고속 메모리의 캐시(1512)를 포함할 수 있다.
프로세서(1510)는, 프로세서(1510)를 제어하도록 구성된, 스토리지 디바이스(1530)에 저장된 서비스들(1532, 1534, 및 1536)과 같은 하드웨어 서비스 또는 소프트웨어 서비스 및 임의의 범용 프로세서뿐만 아니라 소프트웨어 명령들이 실제 프로세서 설계에 통합되는 특수 목적 프로세서를 포함할 수 있다. 프로세서(1510)는 본질적으로 다중 코어들 또는 프로세서들, 버스, 메모리 제어기, 캐시 등을 포함하는 완전히 독립형(self-contained) 컴퓨팅 시스템일 수도 있다. 멀티코어 프로세서는 대칭적일 수도 또는 비대칭적일 수도 있다.
사용자 상호작용을 가능하게 하기 위해, 컴퓨팅 시스템(1500)은 스피치용 마이크로폰, 제스처 또는 그래픽 입력용 터치 감지 스크린, 키보드, 마우스, 모션 입력, 스피치 등과 같은 임의의 다수의 입력 메커니즘을 나타낼 수 있는 입력 디바이스(1545)를 포함한다. 컴퓨팅 시스템(1500)은 또한 다수의 출력 메커니즘들 중 하나 이상일 수 있는 출력 디바이스(1535)를 포함할 수 있다. 일부 경우들에서, 멀티모달 시스템들은 사용자가 컴퓨팅 시스템(1500)과 통신하기 위한 다수의 타입들의 입력/출력을 제공하는 것을 가능하게 할 수 있다. 컴퓨팅 시스템(1500)은, 일반적으로 사용자 입력 및 시스템 출력을 통제하고 관리할 수 있는 통신 인터페이스(1540)를 포함할 수 있다.
통신 인터페이스는, 오디오 잭/플러그, 마이크로폰 잭/플러그, USB(universal serial bus) 포트/플러그, Apple® Lightning® 포트/플러그, 이더넷 포트/플러그, 광섬유 포트/플러그, 독점적(proprietary) 유선 포트/플러그, BLUETOOTH® 무선 신호 전송, BLE(BLUETOOTH® low energy) 무선 신호 전송, IBEACON® 무선 신호 전송, RFID(radio-frequency identification) 무선 신호 전송, 근거리장(near-field) 무선 통신(NFC) 무선 신호 전송, 단거리 전용 통신(DSRC) 무선 신호 전송, 802.11 Wi-Fi 무선 신호 전송, 무선 로컬 영역 네트워크(WLAN) 신호 전송, 가시광 통신(VLC), WiMAX(Worldwide Interoperability for Microwave Access), 적외선(IR) 통신 무선 신호 전송, PSTN(Public Switched Telephone Network) 신호 전송, ISDN(Integrated Services Digital Network) 신호 전송, 3G/4G/5G/LTE 셀룰러 데이터 네트워크 무선 신호 전송, 애드혹(ad-hoc) 네트워크 신호 전송, 라디오파 신호 전송, 마이크로파 신호 전송, 적외선 신호 전송, 가시광 신호 전송, 자외선 광 신호 전송, 전자기 스펙트럼을 따른 무선 신호 전송, 또는 이들의 일부 조합을 이용하는 것들을 포함하는, 유선 및/또는 무선 트랜시버들을 사용하여 유선 또는 무선 통신들의 수신 및/또는 송신을 수행하거나 용이하게 할 수도 있다.
통신 인터페이스(1540)는 또한, 하나 이상의 글로벌 내비게이션 위성 시스템(GNSS) 시스템들과 연관된 하나 이상의 위성들로부터의 하나 이상의 신호들의 수신에 기초하여 컴퓨팅 시스템(1500)의 위치를 결정하는데 사용되는 하나 이상의 GNSS 수신기들 또는 트랜시버들을 포함할 수도 있다. GNSS 시스템들은 미국 기반 글로벌 포지셔닝 시스템(GPS), 러시아 기반 글로벌 내비게이션 위성 시스템(GLONASS), 중국 기반 베이더우(BeiDou) 내비게이션 위성 시스템(BDS) 및 유럽 기반 갈릴레오(Galileo) GNSS를 포함하지만, 이에 한정되지 않는다. 임의의 특정 하드웨어 배열 상에서 동작하는 것에 대한 제한은 없으며, 따라서 여기서 기본 특징들은 이들이 개발됨에 따라 개선된 하드웨어 또는 펌웨어 배열들을 쉽게 대체할 수도 있다.
스토리지 디바이스(1530)는 비휘발성 및/또는 비일시적 및/또는 컴퓨터 판독가능 메모리 디바이스일 수 있고, 자기 카세트들, 플래시 메모리 카드들, 솔리드 스테이트 메모리 디바이스들, 디지털 다기능 디스크들, 카트리지들, 플로피 디스크, 플렉시블 디스크, 하드 디스크, 자기 테이프, 자기 스트립/스트라이프, 임의의 다른 자기 저장 매체, 플래시 메모리, 멤리스터 메모리, 임의의 다른 솔리드 스테이트 메모리, 콤팩트 디스크 판독 전용 메모리(CD-ROM) 광 디스크, 재기록가능 콤팩트 디스크(CD) 광 디스크, 디지털 비디오 디스크(DVD) 광 디스크, 블루레이 디스크(BDD) 광 디스크, 홀로그래픽 광 디스크, 다른 광학 매체, 보안 디지털(SD) 카드, 마이크로 보안 디지털(microSD) 카드, Memory Stick® 카드, 스마트카드 칩, EMV 칩, 가입자 아이덴티티 모듈(SIM) 카드, 미니/마이크로/나노/피코 SIM 카드, 다른 집적 회로(IC) 칩/카드, 랜덤 액세스 메모리(RAM), 정적 RAM(SRAM), 동적 RAM(DRAM), 판독 전용 메모리(ROM), 프로그래밍가능 판독 전용 메모리(PROM), 소거가능한 프로그래밍가능 판독 전용 메모리(EPROM), 전기적으로 소거가능한 프로그래밍가능 판독 전용 메모리(EEPROM), 플래시 EPROM(FLASHEPROM), 캐시 메모리(L1/L2/L3/L4/L5/L#), 저항성 랜덤 액세스 메모리(RRAM/ReRAM), 상 변화 메모리(PCM), 스핀 전달 토크 RAM(STT-RAM), 다른 메모리 칩 또는 카트리지, 및/또는 이들의 조합과 같은, 컴퓨터에 의해 액세스가능한 데이터를 저장할 수 있는 하드 디스크 또는 다른 타입들의 컴퓨터 판독가능 매체들일 수 있다.
스토리지 디바이스(1530)는 이러한 소프트웨어를 정의하는 코드가 프로세서(1510)에 의해 실행될 때 시스템으로 하여금 기능을 수행하게 하는 소프트웨어 서비스들, 서버들, 서비스들 등을 포함할 수 있다. 일부 실시예들에서, 특정 기능을 수행하는 하드웨어 서비스는 기능을 이행하기 위한, 프로세서(1510), 커넥션(1505), 출력 디바이스(1535) 등과 같은, 필요 하드웨어 컴포넌트들과 관련하여 컴퓨터 판독가능 매체에 저장된 소프트웨어 컴포넌트를 포함할 수 있다. 용어 "컴퓨터 판독가능 매체"는 휴대용 또는 비휴대용 스토리지 디바이스들, 광학 스토리지 디바이스들, 및 명령(들) 및/또는 데이터를 저장, 포함, 또는 운반할 있는 다양한 다른 매체들을 포함하지만 이에 한정되지 않는다. 컴퓨터 판독가능 매체는, 데이터가 저장될 수 있고 그리고 무선으로 또는 유선 커넥션들을 통해 전파하는 일시적 전자 신호들 및/또는 캐리어파들을 포함하지 않는 비일시적 매체를 포함할 수도 있다.
비일시적 매체의 예들은 자기 디스크 또는 테이프, 콤팩트 디스크(CD) 또는 디지털 다기능 디스크(DVD)와 같은 광학 저장 매체들, 플래시 메모리, 메모리 또는 메모리 디바이스들을 포함할 수도 있지만 이에 한정되지 않는다. 컴퓨터 판독가능 매체는, 절차, 기능, 서브프로그램, 프로그램, 루틴, 서브루틴, 모듈, 소프트웨어 패키지, 클래스, 또는 명령들, 데이터 구조들, 또는 프로그램 스테이트먼트들의 임의의 조합을 나타낼 수도 있는 코드 및/또는 머신 실행가능 명령들을 저장했을 수도 있다. 코드 세그먼트는, 정보, 데이터, 인수들, 파라미터들, 또는 메모리 콘텐츠들을 패스 및/또는 수신함으로써 다른 코드 세그먼트 또는 하드웨어 회로에 커플링될 수도 있다. 정보, 인수들, 파라미터들, 데이터 등은 메모리 공유, 메시지 패스, 토큰 패스, 네트워크 송신 등을 포함한 임의의 적합한 수단을 통해 패스되거나, 포워딩되거나, 또는 송신될 수도 있다.
본 명세서에 제공된 실시예들 및 예들의 철저한 이해를 제공하기 위해 상기 설명에서 특정 상세들이 제공되지만, 당업자는 본 출원이 이에 한정되지 않음을 인식할 것이다. 따라서, 본 출원의 예시적인 실시예들은 본 명세서에서 상세히 설명되었지만, 본 발명의 개념들은 달리 다양하게 구현 및 채용될 수도 있으며, 첨부된 청구항들은 종래 기술에 의해 제한되는 것을 제외하고는 그러한 변동들을 포함하는 것으로 해석되도록 의도됨이 이해되어야 한다. 전술한 애플리케이션의 다양한 특징들 및 양태들은 개별적으로 또는 공동으로 사용될 수도 있다. 또한, 실시예들은 본 명세서의 더 넓은 사상 및 범위로부터 벗어나지 않으면서 본 명세서에 기재된 것 이외의 임의의 수의 환경들 및 애플리케이션들에서 활용될 수 있다. 이에 따라, 명세서 및 도면들은 한정적 의미보다는 예시적 의미로 간주되어야 한다. 예시의 목적으로, 방법들은 특정 순서로 기술되었다. 대안적인 실시예들에서, 방법들은 설명된 것과 상이한 순서로 수행될 수도 있다는 것을 이해해야 한다.
설명의 명료화를 위해, 일부 경우들에서 본 기술은 디바이스들, 디바이스 컴포넌트들, 소프트웨어에서 실시되는 방법의 단계들 또는 루틴들, 또는 하드웨어와 소프트웨어의 조합들을 포함하는 개별적인 기능적 블록들을 포함하는 것으로서 제시될 수도 있다. 도면들에서 도시된 그리고/또는 본 명세서에서 설명된 것들 이외의 추가적인 컴포넌트들이 사용될 수도 있다. 예를 들어, 회로들, 시스템들, 네트워크들, 프로세스들, 및 다른 컴포넌트들은 실시예들을 불필요한 상세로 모호하게 하지 않기 위해 블록도 형태에서의 컴포넌트들로서 도시될 수도 있다. 다른 경우들에서, 잘 알려진 회로들, 프로세스들, 알고리즘들, 구조들, 및 기법들은, 실시예들을 모호하게 하는 것을 회피하기 위해 불필요한 상세 없이 도시될 수도 있다.
또한, 당업자는 본 명세서에 개시된 양태들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이들 양자의 조합들로서 구현될 수도 있음을 인식할 것이다. 하드웨어 및 소프트웨어의 이러한 상호교환가능성을 명백하게 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들이 그들의 기능성의 관점으로 일반적으로 상기 설명되었다. 이러한 기능성이 하드웨어로서 구현되는지 또는 소프트웨어로서 구현되는지는 전체 시스템에 부과된 설계 제약들 및 특정 애플리케이션에 의존한다. 당업자는 설명된 기능성을 각각의 특정 애플리케이션을 위한 다양한 방식들로 구현할 수도 있지만, 그러한 구현 결정들이 본 개시의 범위로부터의 일탈을 야기하는 것으로서 해석되지 않아야 한다.
개별 실시예들은, 플로우차트, 흐름도, 데이터 흐름도, 구조도, 또는 블록도로 도시되는 프로세스 또는 방법으로서 위에서 설명될 수도 있다. 플로우차트가 동작들을 순차적인 프로세스로서 설명할 수도 있더라도, 동작들 중 다수는 병렬로 또는 동시에 수행될 수 있다. 추가로, 동작들의 순서는 재배열될 수도 있다. 프로세스는, 그의 동작들이 완료될 때 종료되지만, 도면에 포함되지 않은 추가적인 단계들을 가질 수 있을 것이다. 프로세스는 방법, 기능, 프로시저, 서브루틴, 서브프로그램 등에 대응할 수도 있다. 프로세스가 함수에 대응할 때, 그의 종결은 호출 함수 또는 메인 함수로의 함수의 복귀에 대응할 수 있다.
상기 설명된 예들에 따른 프로세스들 및 방법들은, 컴퓨터 판독가능 매체들에 저장되거나 달리 그로부터 이용가능한 컴퓨터 실행가능 명령들을 사용하여 구현될 수 있다. 그러한 명령들은 예를 들어, 범용 컴퓨터, 특수 목적 컴퓨터, 또는 프로세싱 디바이스가 특정 기능 또는 기능들의 그룹을 수행하게 하거나 달리 그를 수행하도록 구성하는 명령들 및 데이터를 포함할 수 있다. 사용된 컴퓨터 리소스들의 부분들은 네트워크를 통해 액세스가능할 수 있다. 컴퓨터 실행가능 명령들은, 예를 들어 바이너리들, 중간 포맷 명령들, 이를테면 어셈블리 언어, 펌웨어, 소스 코드일 수도 있다. 명령들, 사용된 정보, 및/또는 설명된 예들에 따른 방법들 동안 생성된 정보를 저장하는데 사용될 수도 있는 컴퓨터 판독가능 매체의 예들은 자기 또는 광학 디스크들, 플래시 메모리, 비휘발성 메모리가 제공된 USB 디바이스들, 네트워킹된 스토리지 디바이스들 등을 포함한다.
일부 실시예들에서,컴퓨터 판독가능 저장 디바이스들, 매체들, 및 메모리들은 비트스트림 등을 포함하는 케이블 또는 무선 신호를 포함할 수 있다. 하지만, 언급될 때, 비일시적인 컴퓨터 판독가능 저장 매체들은 에너지, 캐리어 신호들, 전자기파들, 및 신호들 그 자체와 같은 매체들을 명시적으로 배제한다.
당업자는 정보 및 신호들이 임의의 다양한 상이한 기술들 및 기법들을 사용하여 표현될 수도 있음을 인식할 것이다. 예를 들면, 상기 설명 전반에 걸쳐 참조될 수도 있는 데이터, 명령들, 커맨드들, 정보, 신호들, 비트들, 심볼들, 및 칩들은, 일부 경우에 특정 애플리케이션에 부분적으로 의존하여, 원하는 설계에 부분적으로 의존하여, 대응하는 기술에 부분적으로 의존하는 등으로, 전압들, 전류들, 전자기파들, 자기장들 또는 자기 입자들, 광학장들 또는 광학 입자들, 이들의 임의의 조합에 의해 표현될 수도 있다.
본 명세서에 개시된 양태와 관련하여 설명된 다양한 예시적인 논리 블록, 모듈 및 회로는 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 설명 언어 또는 이들의 임의의 조합을 사용하여 구현 또는 수행될 수도 있고, 다양한 폼 팩터 중 임의의 것을 취할 수도 있다. 소프트웨어, 펌웨어, 미들웨어 또는 마이크로코드로 구현되는 경우, 필요한 태스크들을 수행하기 위한 프로그램 코드 또는 코드 세그먼트들(예를 들어, 컴퓨터 프로그램 제품)은 컴퓨터 판독가능 또는 머신 판독가능 매체에 저장될 수도 있다. 프로세서(들)은 필요한 태스크들을 수행할 수도 있다. 폼 팩터들의 예들은 랩톱들, 스마트 폰들, 모바일 폰들, 태블릿 디바이스들 또는 다른 소형 폼 팩터 개인용 컴퓨터들, PDA(personal digital assistant), 랙마운트(rackmount) 디바이스들, 스탠드얼론(standalone) 디바이스들 등을 포함한다. 본 명세서에 설명된 기능성은 또한, 주변기기들 또는 애드인 카드(add-in card)들에서 구현될 수 있다. 그러한 기능성은 또한, 추가 예로서, 단일 디바이스에서 실행되는 상이한 칩들 또는 상이한 프로세스들 중에서 회로 보드 상에서 구현될 수 있다.
명령들, 그러한 명령들을 운반하기 위한 매체들, 그것들을 실행하기 위한 컴퓨팅 리소스들, 및 그러한 컴퓨팅 리소스들을 지원하기 위한 다른 구조들은 본 개시에서 설명된 기능들을 제공하기 위한 예시적인 수단들이다.
본 명세서에서 설명된 기법들은 또한, 전자 하드웨어, 컴퓨터 소프트웨어, 펌웨어, 또는 이들의 임의의 조합에서 구현될 수도 있다. 그러한 기법들은 범용 컴퓨터들, 무선 통신 디바이스 핸드셋들, 또는 무선 통신 디바이스 핸드셋들 및 다른 디바이스들에서의 어플리케이션을 포함하여 다중의 이용들을 갖는 집적 회로 디바이스들과 같은 임의의 다양한 디바이스들에서 구현될 수도 있다. 모듈들 또는 컴포넌트들로서 설명된 임의의 특징들은 집적된 로직 디바이스에서 함께, 또는 별개의 그러나 상호운용가능한 로직 디바이스들로서 별도로 구현될 수도 있다. 소프트웨어에서 구현되는 경우, 그 기법들은, 실행될 경우, 전술한 방법들, 알고리즘들, 및/또는 동작들 중 하나 이상을 수행하는 명령들을 포함하는 프로그램 코드를 포함하는 컴퓨터 판독가능 데이터 저장 매체에 의해 적어도 부분적으로 실현될 수도 있다. 컴퓨터 판독가능 데이터 저장 매체는 패키징 재료들을 포함할 수도 있는 컴퓨터 프로그램 제품의 부분을 형성할 수도 있다. 컴퓨터 판독가능 매체는 동기식 동적 랜덤 액세스 메모리(SDRAM)와 같은 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 비휘발성 랜덤 액세스 메모리(NVRAM), 전기적으로 소거가능한 프로래밍가능 판독 전용 메모리(EEPROM), FLASH 메모리, 자기 또는 광학 데이터 저장 매체들 등과 같은 메모리 또는 데이터 저장 매체들을 포함할 수도 있다. 기법들은, 추가적으로 또는 대안적으로, 전파된 신호들 또는 파동들과 같이, 명령들 또는 데이터 구조들의 형태로 프로그램 코드를 반송 또는 통신하고 컴퓨터에 의해 액세스, 판독, 및/또는 실행될 수 있는 컴퓨터 판독가능 통신 매체에 의해 적어도 부분적으로 실현될 수도 있다.
프로그램 코드는, 하나 이상의 디지털 신호 프로세서(DSP)들, 범용 마이크로프로세서들, 주문형 집적 회로(ASIC)들, 필드 프로그래밍가능 로직 어레이(FPGA)들, 또는 다른 등가의 집적된 또는 이산의 로직 회로부와 같은 하나 이상의 프로세서들을 포함할 수도 있는 프로세서에 의해 실행될 수도 있다. 그러한 프로세서는 본 개시에 설명된 기법들 중의 임의의 것을 수행하도록 구성될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 프로세서는 또한 컴퓨팅 디바이스들의 조합, 예를 들어 DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 이상의 마이크로프로세서들, 또는 임의의 다른 그러한 구성으로서 구현될 수도 있다. 따라서, 본 명세서에 사용된 용어 "프로세서"는 임의의 이전 구조, 이전 구조의 임의의 조합, 또는 본 명세서에 설명된 기술들의 구현에 적합한 임의의 다른 구조 또는 장치를 지칭할 수도 있다.
당업자는 본 명세서에 사용된 미만("<") 및 초과(">") 심볼들 또는 용어가 본 설명의 범위로부터 일탈함없이 각각 이하("≤") 및 이상("≥") 심볼들로 대체될 수 있음을 이해할 것이다.
컴포넌트들이 특정 동작들을 수행"하도록 구성되는" 것으로서 기술되는 경우, 그러한 구성은 예를 들어, 그 동작을 수행하도록 전자 회로들 또는 다른 하드웨어를 설계함으로써, 그 동작을 수행하도록 프로그래밍가능 전자 회로들(예를 들어, 마이크로프로세서들 또는 다른 적절한 전자 회로들)을 프로그래밍함으로써, 또는 이들의 임의의 조합으로써 달성될 수 있다.
"에 커플링된"이라는 어구는 직접적으로 혹은 간접적으로 다른 컴포넌트에 물리적으로 연결되는 임의의 컴포넌트, 및/또는 직접적으로나 간접적으로 다른 컴포넌트와 통신하는 (예컨대, 유선 또는 무선 커넥션, 및/또는 다른 적합한 통신 인터페이스를 통해 다른 컴포넌트에 연결되는) 임의의 컴포넌트를 지칭한다.
세트 "중 적어도 하나" 또는 세트 "중 하나 이상"을 언급하는 청구항 언어 또는 다른 언어는 세트 중의 하나의 멤버 또는 (임의의 조합의) 세트 중의 다수의 멤버들이 청구항을 충족하는 것을 나타낸다. 예를 들어, "A 및 B 중 적어도 하나" 또는 "A 또는 B 중 적어도 하나"를 언급하는 청구항 언어는 A, B, 또는 A 및 B를 의미한다. 다른 예에서, "A, B, 및 C 중 적어도 하나" 또는 "A, B, 또는 C 중 적어도 하나"를 언급하는 청구항 언어는 A, B, C, 또는 A 및 B, 또는 A 및 C, 또는 B 및 C, 또는 A 및 B 및 C를 의미한다. 세트 "중 적어도 하나" 및/또는 세트 중 "하나 이상"이라는 언어는 세트를 그 세트에 열거된 항목들로 한정하지 않는다. 예를 들어, "A 및 B 중 적어도 하나" 또는 "A 또는 B 중 적어도 하나"를 언급하는 청구항 언어는 A, B, 또는 A 및 B를 의미할 수 있고, A 및 B의 세트에 열거되지 않은 아이템들을 추가적으로 포함할 수 있다.
본 개시의 예시적인 예들은 다음을 포함한다: 범위들이 상호 배타적인 실시예들이 중첩하게 하지 않음을 보장하도록 양태들의 범위를 변경하시오.
양태 1: 위치 예측을 수행하기 위한 장치로서, 적어도 하나의 네트워크 인터페이스; 적어도 하나의 메모리; 및 적어도 하나의 메모리에 커플링된 적어도 하나의 프로세서를 포함하며, 상기 적어도 하나의 프로세서는: 적어도 하나의 네트워크 인터페이스를 통해, 무선 주파수(RF) 데이터를 획득하고; RF 데이터에 기초하여 복수의 특징 벡터들을 결정하고; 복수의 특징 벡터들에 기초하여 복수의 제1 클러스터들을 생성하는 것으로서, 복수의 제1 클러스터들은 복수의 제1 의사-레이블들과 대응하는, 상기 복수의 제1 클러스터들을 생성하고; 복수의 특징 벡터들에 기초하여 복수의 프로젝션 특징들을 결정하고; 복수의 제1 의사-레이블들 및 복수의 프로젝션 특징들을 사용하여 제1 머신 러닝(ML) 모델을 트레이닝하고; 그리고 복수의 프로젝션 특징들 및 플로어 레벨 손실에 기초하여 사용자의 위치를 예측하도록, 구성되는, 장치.
양태 2: 양태 1에 있어서, 상기 적어도 하나의 프로세서는 추가로: 복수의 프로젝션 특징들을 프로세싱하여 복수의 제2 클러스터들을 생성하도록 구성되며, 복수의 제2 클러스터들은 복수의 제2 의사-레이블들과 대응하는, 장치.
양태 3: 양태 2에 있어서, 복수의 제2 의사-레이블들은 제2 ML 모델을 트레이닝하기 위해 사용되는, 장치.
양태 4: 양태 1 내지 양태 3 중 임의의 것에 있어서, 복수의 프로젝션 특징들은 3차원(3D) 프로젝션 특징들인, 장치.
양태 5: 양태 1 내지 양태 4 중 임의의 것에 있어서, 복수의 제1 클러스터들을 생성하기 위해, 상기 적어도 하나의 프로세서는: 클러스터 카운트 파라미터를 수신하도록 구성되는, 장치.
양태 6: 양태 1 내지 양태 5 중 임의의 것에 있어서, 플로어 레벨 손실은, RF 데이터와 연관된 환경과 대응하는 하나 이상의 레이블링 프라이어들에 기초하는, 장치.
양태 7: 양태 1 내지 양태 6 중 임의의 것에 있어서, 사용자의 위치를 예측하는 것은, 삼중항 손실, 액세스 포인트 손실, 구역 손실, 또는 이들의 조합 중 적어도 하나에 추가로 기초하는, 장치.
양태 8: 양태 7에 있어서, 삼중항 손실은 RF 데이터와 연관된 무선 디바이스와 대응하는 패킷들의 유사성에 기초하는, 장치.
양태 9: 양태 7 또는 양태 8 중 임의의 것에 있어서, 구역 손실은 RF 데이터와 연관된 환경에 대한 하나 이상의 프라이어들에 기초하는, 장치.
양태 10: 양태 7 내지 양태 9 중 임의의 것에 있어서, 액세스 포인트 손실은 RF 데이터와 연관된 무선 디바이스에 대한, 신호 강도, 위치, 또는 이들의 조합 중 적어도 하나에 기초하는, 장치.
양태 11: 양태 1 내지 양태 10 중 임의의 것에 있어서, RF 데이터는 채널 상태 정보(CSI)를 포함하는, 장치.
양태 12: 양태 1 내지 양태 11 중 임의 것에 있어서, CSI는, 송신 안테나 정보, 수신 안테나 정보, 서브캐리어 정보, 속도 정보, 커버리지 영역 정보, 송신기 프로세싱 정보, 수신기 프로세싱 정보, 또는 이들의 조합 중 적어도 하나를 포함하는, 장치.
양태 13: 위치 예측을 수행하기 위한 방법으로서, 무선 주파수(RF) 데이터를 획득하는 단계; RF 데이터에 기초하여 복수의 특징 벡터들을 결정하는 단계; 복수의 특징 벡터들에 기초하여 복수의 제1 클러스터들을 생성하는 단계로서, 복수의 제1 클러스터들은 복수의 제1 의사-레이블들과 대응하는, 상기 복수의 제1 클러스터들을 생성하는 단계; 복수의 특징 벡터들에 기초하여 복수의 프로젝션 특징들을 결정하는 단계; 복수의 제1 의사-레이블들 및 복수의 프로젝션 특징들을 사용하여 제1 머신 러닝(ML) 모델을 트레이닝하는 단계; 및 복수의 프로젝션 특징들 및 플로어 레벨 손실에 기초하여 사용자의 위치를 예측하는 단계를 포함하는, 방법.
양태 14: 양태 13에 있어서, 복수의 프로젝션 특징들을 프로세싱하여 복수의 제2 클러스터들을 생성하는 단계를 더 포함하며, 복수의 제2 클러스터들은 복수의 제2 의사-레이블들과 대응하는, 방법.
양태 15: 양태 14에 있어서, 복수의 제2 의사-레이블들은 제2 ML 모델을 트레이닝하기 위해 사용되는, 방법.
양태 16: 양태 13 내지 양태 15 중 임의의 것에 있어서, 복수의 프로젝션 특징들은 3차원(3D) 프로젝션 특징들인, 방법.
양태 17: 양태 13 내지 양태 16 중 임의의 것에 있어서, 복수의 제1 클러스터들을 생성하는 단계는: 클러스터 카운트 파라미터를 수신하는 단계를 더 포함하는, 방법.
양태 18: 양태 13 내지 양태 17 중 임의의 것에 있어서, 플로어 레벨 손실은, RF 데이터와 연관된 환경과 대응하는 하나 이상의 레이블링 프라이어들에 기초하는, 방법.
양태 19: 양태 13 내지 양태 18 중 임의의 것에 있어서, 사용자의 위치를 예측하는 단계는, 삼중항 손실, 액세스 포인트 손실, 구역 손실, 또는 이들의 조합 중 적어도 하나에 추가로 기초하는, 방법.
양태 20: 양태 19에 있어서, 삼중항 손실은 RF 데이터와 연관된 무선 디바이스와 대응하는 패킷들의 유사성에 기초하는, 방법.
양태 21: 양태 19 또는 양태 20 중 임의의 것에 있어서, 구역 손실은 RF 데이터와 연관된 환경에 대한 하나 이상의 프라이어들에 기초하는, 방법.
양태 22: 양태 19 내지 양태 21 중 임의의 것에 있어서, 액세스 포인트 손실은 RF 데이터와 연관된 무선 디바이스에 대한, 신호 강도, 위치, 또는 이들의 조합 중 적어도 하나에 기초하는, 방법.
양태 23: 양태 13 내지 양태 22 중 임의의 것에 있어서, RF 데이터는 채널 상태 정보(CSI)를 포함하는, 방법.
양태 24: 양태 13 내지 양태 23 중 임의 것에 있어서, CSI는, 송신 안테나 정보, 수신 안테나 정보, 서브캐리어 정보, 속도 정보, 커버리지 영역 정보, 송신기 프로세싱 정보, 수신기 프로세싱 정보, 또는 이들의 조합 중 적어도 하나를 포함하는, 방법.
양태 25: 비일시적 컴퓨터 판독가능 저장 매체로서, 컴퓨터 또는 프로세서로 하여금: 무선 주파수(RF) 데이터를 획득하게 하고; RF 데이터에 기초하여 복수의 특징 벡터들을 결정하게 하고; 복수의 특징 벡터들에 기초하여 복수의 제1 클러스터들을 생성하게 하는 것으로서, 복수의 제1 클러스터들은 복수의 제1 의사-레이블들과 대응하는, 상기 복수의 제1 클러스터들을 생성하게 하고; 복수의 특징 벡터들에 기초하여 복수의 프로젝션 특징들을 결정하게 하고; 복수의 제1 의사-레이블들 및 복수의 프로젝션 특징들을 사용하여 제1 ML 모델을 트레이닝하게 하고; 그리고 복수의 프로젝션 특징들 및 플로어 레벨 손실에 기초하여 사용자의 위치를 예측하게 하기 위한, 적어도 하나의 명령을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
양태 26: 양태 25에 있어서, 컴퓨터 또는 프로세서로 하여금 양태 1 내지 양태 24 중 임의의 것에 따른 동작들을 수행하게 하기 위한 적어도 하나의 명령을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
양태 27: 장치로서, 무선 주파수(RF) 데이터를 획득하기 위한 수단; RF 데이터에 기초하여 복수의 특징 벡터들을 결정하기 위한 수단; 복수의 특징 벡터들에 기초하여 복수의 제1 클러스터들을 생성하기 위한 수단으로서, 복수의 제1 클러스터들은 복수의 제1 의사-레이블들과 대응하는, 상기 복수의 제1 클러스터들을 생성하기 위한 수단; 복수의 특징 벡터들에 기초하여 복수의 프로젝션 특징들을 결정하기 위한 수단; 복수의 제1 의사-레이블들 및 복수의 프로젝션 특징들을 사용하여 제1 ML 모델을 트레이닝하기 위한 수단; 및 복수의 프로젝션 특징들 및 플로어 레벨 손실에 기초하여 사용자의 위치를 예측하기 위한 수단을 포함하는, 장치.
양태 28: 양태 27에 있어서, 양태 1 내지 양태 24 중 임의의 것에 따른 동작들을 수행하기 위한 수단을 포함하는, 장치.

Claims (30)

  1. 위치 예측을 수행하기 위한 장치로서,
    적어도 하나의 네트워크 인터페이스;
    적어도 하나의 메모리; 및
    상기 적어도 하나의 메모리에 커플링된 적어도 하나의 프로세서를 포함하며, 상기 적어도 하나의 프로세서는:
    상기 적어도 하나의 네트워크 인터페이스를 통해, 무선 주파수(RF) 데이터를 획득하고;
    상기 RF 데이터에 기초하여 복수의 특징 벡터들을 결정하고;
    상기 복수의 특징 벡터들에 기초하여 복수의 제1 클러스터들을 생성하는 것으로서, 상기 복수의 제1 클러스터들은 복수의 제1 의사-레이블들과 대응하는, 상기 복수의 제1 클러스터들을 생성하고;
    상기 복수의 특징 벡터들에 기초하여 복수의 프로젝션 특징들을 결정하고;
    상기 복수의 제1 의사-레이블들 및 상기 복수의 프로젝션 특징들을 사용하여 제1 머신 러닝(ML) 모델을 트레이닝하고; 그리고
    상기 복수의 프로젝션 특징들 및 플로어 레벨 손실에 기초하여 사용자의 위치를 예측하도록
    구성되는, 위치 예측을 수행하기 위한 장치.
  2. 제 1 항에 있어서,
    상기 적어도 하나의 프로세서는 추가로:
    상기 복수의 프로젝션 특징들을 프로세싱하여 복수의 제2 클러스터들을 생성하도록 구성되며, 상기 복수의 제2 클러스터들은 복수의 제2 의사-레이블들과 대응하는, 위치 예측을 수행하기 위한 장치.
  3. 제 2 항에 있어서,
    상기 복수의 제2 의사-레이블들은 제2 ML 모델을 트레이닝하기 위해 사용되는, 위치 예측을 수행하기 위한 장치.
  4. 제 1 항에 있어서,
    상기 복수의 프로젝션 특징들은 3차원(3D) 프로젝션 특징들인, 위치 예측을 수행하기 위한 장치.
  5. 제 1 항에 있어서,
    상기 복수의 제1 클러스터들을 생성하기 위해, 상기 적어도 하나의 프로세서는:
    클러스터 카운트 파라미터를 수신하도록 구성되는, 위치 예측을 수행하기 위한 장치.
  6. 제 1 항에 있어서,
    상기 플로어 레벨 손실은, 상기 RF 데이터와 연관된 환경과 대응하는 하나 이상의 레이블링 프라이어들에 기초하는, 위치 예측을 수행하기 위한 장치.
  7. 제 1 항에 있어서,
    상기 사용자의 상기 위치를 예측하는 것은, 삼중항 손실, 액세스 포인트 손실, 구역 손실, 또는 이들의 조합 중 적어도 하나에 추가로 기초하는, 위치 예측을 수행하기 위한 장치.
  8. 제 7 항에 있어서,
    상기 삼중항 손실은 상기 RF 데이터와 연관된 무선 디바이스와 대응하는 패킷들의 유사성에 기초하는, 위치 예측을 수행하기 위한 장치.
  9. 제 7 항에 있어서,
    상기 구역 손실은 상기 RF 데이터와 연관된 환경에 대한 하나 이상의 프라이어들에 기초하는, 위치 예측을 수행하기 위한 장치.
  10. 제 7 항에 있어서,
    상기 액세스 포인트 손실은 상기 RF 데이터와 연관된 무선 디바이스에 대한, 신호 강도, 위치, 또는 이들의 조합 중 적어도 하나에 기초하는, 위치 예측을 수행하기 위한 장치.
  11. 제 1 항에 있어서,
    상기 RF 데이터는 채널 상태 정보(CSI)를 포함하는, 위치 예측을 수행하기 위한 장치.
  12. 제 11 항에 있어서,
    상기 CSI는, 송신 안테나 정보, 수신 안테나 정보, 서브캐리어 정보, 속도 정보, 커버리지 영역 정보, 송신기 프로세싱 정보, 수신기 프로세싱 정보, 또는 이들의 조합 중 적어도 하나를 포함하는, 위치 예측을 수행하기 위한 장치.
  13. 위치 예측을 수행하기 위한 방법으로서,
    무선 주파수(RF) 데이터를 획득하는 단계;
    상기 RF 데이터에 기초하여 복수의 특징 벡터들을 결정하는 단계;
    상기 복수의 특징 벡터들에 기초하여 복수의 제1 클러스터들을 생성하는 단계로서, 상기 복수의 제1 클러스터들은 복수의 제1 의사-레이블들과 대응하는, 상기 복수의 제1 클러스터들을 생성하는 단계;
    상기 복수의 특징 벡터들에 기초하여 복수의 프로젝션 특징들을 결정하는 단계;
    상기 복수의 제1 의사-레이블들 및 상기 복수의 프로젝션 특징들을 사용하여 제1 머신 러닝(ML) 모델을 트레이닝하는 단계; 및
    상기 복수의 프로젝션 특징들 및 플로어 레벨 손실에 기초하여 사용자의 위치를 예측하는 단계를 포함하는, 위치 예측을 수행하기 위한 방법.
  14. 제 13 항에 있어서,
    상기 복수의 프로젝션 특징들을 프로세싱하여 복수의 제2 클러스터들을 생성하는 단계를 더 포함하며, 상기 복수의 제2 클러스터들은 복수의 제2 의사-레이블들과 대응하는, 위치 예측을 수행하기 위한 방법.
  15. 제 14 항에 있어서,
    상기 복수의 제2 의사-레이블들은 제2 ML 모델을 트레이닝하기 위해 사용되는, 위치 예측을 수행하기 위한 방법.
  16. 제 13 항에 있어서,
    상기 복수의 프로젝션 특징들은 3차원(3D) 프로젝션 특징들인, 위치 예측을 수행하기 위한 방법.
  17. 제 13 항에 있어서,
    상기 복수의 제1 클러스터들을 생성하는 단계는:
    클러스터 카운트 파라미터를 수신하는 단계를 더 포함하는, 위치 예측을 수행하기 위한 방법.
  18. 제 13 항에 있어서,
    상기 플로어 레벨 손실은, 상기 RF 데이터와 연관된 환경과 대응하는 하나 이상의 레이블링 프라이어들에 기초하는, 위치 예측을 수행하기 위한 방법.
  19. 제 13 항에 있어서,
    상기 사용자의 상기 위치를 예측하는 단계는, 삼중항 손실, 액세스 포인트 손실, 구역 손실, 또는 이들의 조합 중 적어도 하나에 추가로 기초하는, 위치 예측을 수행하기 위한 방법.
  20. 제 19 항에 있어서,
    상기 삼중항 손실은 상기 RF 데이터와 연관된 무선 디바이스와 대응하는 패킷들의 유사성에 기초하는, 위치 예측을 수행하기 위한 방법.
  21. 제 19 항에 있어서,
    상기 구역 손실은 상기 RF 데이터와 연관된 환경에 대한 하나 이상의 프라이어들에 기초하는, 위치 예측을 수행하기 위한 방법.
  22. 제 19 항에 있어서,
    상기 액세스 포인트 손실은 상기 RF 데이터와 연관된 무선 디바이스에 대한, 신호 강도, 위치, 또는 이들의 조합 중 적어도 하나에 기초하는, 위치 예측을 수행하기 위한 방법.
  23. 제 13 항에 있어서,
    상기 RF 데이터는 채널 상태 정보(CSI)를 포함하는, 위치 예측을 수행하기 위한 방법.
  24. 제 23 항에 있어서,
    상기 CSI는, 송신 안테나 정보, 수신 안테나 정보, 서브캐리어 정보, 속도 정보, 커버리지 영역 정보, 송신기 프로세싱 정보, 수신기 프로세싱 정보, 또는 이들의 조합 중 적어도 하나를 포함하는, 위치 예측을 수행하기 위한 방법.
  25. 비일시적 컴퓨터 판독가능 저장 매체로서,
    컴퓨터 또는 프로세서로 하여금:
    무선 주파수(RF) 데이터를 획득하게 하고;
    상기 RF 데이터에 기초하여 복수의 특징 벡터들을 결정하게 하고;
    상기 복수의 특징 벡터들에 기초하여 복수의 제1 클러스터들을 생성하게 하는 것으로서, 상기 복수의 제1 클러스터들은 복수의 제1 의사-레이블들과 대응하는, 상기 복수의 제1 클러스터들을 생성하게 하고;
    상기 복수의 특징 벡터들에 기초하여 복수의 프로젝션 특징들을 결정하게 하고;
    상기 복수의 제1 의사-레이블들 및 상기 복수의 프로젝션 특징들을 사용하여 제1 ML 모델을 트레이닝하게 하고; 그리고
    상기 복수의 프로젝션 특징들 및 플로어 레벨 손실에 기초하여 사용자의 위치를 예측하게 하기 위한
    적어도 하나의 명령을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  26. 제 25 항에 있어서,
    상기 컴퓨터 또는 프로세서로 하여금:
    상기 복수의 프로젝션 특징들을 프로세싱하여 복수의 제2 클러스터들을 생성하게 하기 위한
    적어도 하나의 명령을 더 포함하며, 상기 제2 클러스터들은 복수의 제2 의사-레이블들과 대응하는, 비일시적 컴퓨터 판독가능 저장 매체.
  27. 제 26 항에 있어서,
    상기 제2 의사-레이블들은 제2 ML 모델을 트레이닝하기 위해 사용되는, 비일시적 컴퓨터 판독가능 저장 매체.
  28. 제 25 항에 있어서,
    상기 복수의 프로젝션 특징들은 3차원(3D) 프로젝션 특징들인, 비일시적 컴퓨터 판독가능 저장 매체.
  29. 제 25 항에 있어서,
    상기 복수의 제1 클러스터들을 생성하는 것은:
    클러스터 카운트 파라미터를 수신하는 것을 더 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  30. 장치로서,
    무선 주파수(RF) 데이터를 획득하기 위한 수단;
    상기 RF 데이터에 기초하여 복수의 특징 벡터들을 결정하기 위한 수단;
    상기 복수의 특징 벡터들에 기초하여 복수의 제1 클러스터들을 생성하기 위한 수단으로서, 상기 복수의 제1 클러스터들은 복수의 제1 의사-레이블들과 대응하는, 상기 복수의 제1 클러스터들을 생성하기 위한 수단;
    상기 복수의 특징 벡터들에 기초하여 복수의 프로젝션 특징들을 결정하기 위한 수단;
    상기 복수의 제1 의사-레이블들 및 상기 복수의 프로젝션 특징들을 사용하여 제1 ML 모델을 트레이닝하기 위한 수단; 및
    상기 복수의 프로젝션 특징들 및 플로어 레벨 손실에 기초하여 사용자의 위치를 예측하기 위한 수단을 포함하는, 장치.
KR1020237039942A 2021-05-27 2022-05-24 무선 데이터를 사용한 자기지도 수동 포지셔닝 KR20240009954A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/332,892 US11871299B2 (en) 2021-04-13 2021-05-27 Self-supervised passive positioning using wireless data
US17/332,892 2021-05-27
PCT/US2022/030781 WO2022251259A1 (en) 2021-04-13 2022-05-24 Self-supervised passive positioning using wireless data

Publications (1)

Publication Number Publication Date
KR20240009954A true KR20240009954A (ko) 2024-01-23

Family

ID=89356150

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237039942A KR20240009954A (ko) 2021-05-27 2022-05-24 무선 데이터를 사용한 자기지도 수동 포지셔닝

Country Status (4)

Country Link
EP (1) EP4348286A1 (ko)
KR (1) KR20240009954A (ko)
CN (1) CN117355763A (ko)
BR (1) BR112023024220A2 (ko)

Also Published As

Publication number Publication date
CN117355763A (zh) 2024-01-05
BR112023024220A2 (pt) 2024-01-30
EP4348286A1 (en) 2024-04-10

Similar Documents

Publication Publication Date Title
US11755886B2 (en) Passive positioning with radio frequency sensing labels
Alhomayani et al. Deep learning methods for fingerprint-based indoor positioning: A review
Koike-Akino et al. Fingerprinting-based indoor localization with commercial MMWave WiFi: A deep learning approach
US11871299B2 (en) Self-supervised passive positioning using wireless data
Rocamora et al. Survey of CSI fingerprinting‐based indoor positioning and mobility tracking systems
Burghal et al. A comprehensive survey of machine learning based localization with wireless signals
US11575452B2 (en) Passive positioning with radio frequency sensing
Zhan et al. Deepmtl pro: Deep learning based multiple transmitter localization and power estimation
Alitaleshi et al. Affinity propagation clustering-aided two-label hierarchical extreme learning machine for Wi-Fi fingerprinting-based indoor positioning
Luo et al. Indoor smartphone SLAM with learned echoic location features
WO2022187766A1 (en) Facial recognition using radio frequency sensing
Gufran et al. FedHIL: Heterogeneity resilient federated learning for robust indoor localization with mobile devices
US12015966B2 (en) Method and apparatus for sensor selection for localization and tracking
US12022358B2 (en) Self-supervised passive positioning using wireless data
Mostafa et al. A survey of indoor localization systems in multi-floor environments
US20220329973A1 (en) Self-supervised passive positioning using wireless data
KR20240009954A (ko) 무선 데이터를 사용한 자기지도 수동 포지셔닝
Tiku et al. A Scalable Framework for Indoor Localization Using Convolutional Neural Networks
Sonny et al. A Survey of Application of Machine Learning in Wireless Indoor Positioning Systems
Luo et al. Indoor Smartphone SLAM With Acoustic Echoes
Zhang et al. Rloc: Towards robust indoor localization by quantifying uncertainty
Patel Fingerprint-based indoor positioning and intensity classification using an improved machine learning framework
Shi et al. Design and implementation of non-intrusive stationary occupancy count in elevator with wifi
Wang Rf sensing for internet of things: When machine learning meets channel state information
Wu et al. Experimental Study of Bluetooth Indoor Positioning Using RSS and Deep Learning Algorithms