# US 10,769,812 B2 · Location tracking

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,769,812 B2
- Document ID: US10769812B2
- Status: Granted
- Kind: B2
- Application number: 15/965,710
- Filed: 2018-04-27
- Published: 2019-10-31
- Granted: 2020-09-08
- Earliest claimed: 2018-04-27
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Chunshui Zhao; Khawar Zuberi; Jie Liu; Di Wang; William Thomas; Yasser B. Asmi; Zhengyou Zhang
- Web page: https://patentgrep.com/patent/US10769812B2

## CPC

- G06V 10/776: Validation; Performance evaluation
- G06F 18/214: Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F 18/217: {Validation; Performance evaluation; Active pattern learning techniques}
- G06T 7/75: {involving models}
- G06V 10/774: Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
- G06V 20/52: Surveillance or monitoring of activities, e.g. for recognising suspicious objects (recognising microscopic objects G06V20/69)
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

The disclosure relates to tracking the location of a target object. In one example, a computer vision system detects a configuration of environment objects. A location model that has been trained for the environment configuration is selected. A signal associated with the target object is received and interpreted using the selected location model to determine the location of the target object.

## Claims

### Claim 1

A method, comprising:
visually detecting a runtime environment configuration of environment objects;
selecting a location model from a plurality of location models associated with a plurality of training environment configurations based at least on the runtime environment configuration;
receiving a radio frequency (RF) signal associated with a target object; and
determining a location of the target object by interpreting the RF signal using the selected location model that accounts for interferences caused by the environment objects to the RF signal.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
visually determining a location of an associate object; and
associating the target object with the associate object based at least on a proximity of the location of the target object and the location of the associate object.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
modifying the selected location model based at least on the RF signal associated with the target object and the location of the associate object.

### Claim 4 (depends on 3)

The method of claim 3, wherein the modifying of the selected location model comprises using the location of the associate object as a ground truth location of the target object.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
training the plurality of location models associated with the plurality of training environment configurations based at least on:
a training environment configuration of environment objects; and
an RF signal associated with a training target object.

### Claim 6 (depends on 5)

The method of claim 5, wherein the training is further based at least on a ground truth location of the training target object.

### Claim 7 (depends on 1)

The method of claim 1, wherein:
the selected location model is selected based at least on determining that one of the plurality of training environment configurations is the closest among the plurality of training environment configurations to the runtime environment configuration.

### Claim 8 (depends on 7)

The method of claim 7, further comprising:
representing the plurality of training environment configurations as training environment vectors;
representing the runtime environment configuration as a runtime environment vector; and
designating the one of the plurality of training environment configurations having the shortest vector distance to the runtime environment vector as the closest training environment configuration.

### Claim 9 (depends on 1)

The method of claim 1, wherein the visually detecting comprises receiving image or video information.

### Claim 10 (depends on 1)

The method of claim 1, wherein the RF signal includes at least one of signal strength information, phase information, and doppler effect information.

### Claim 11

A system, comprising:
one or more hardware processors;
at least one computer-readable storage medium storing instructions which, when executed by the one or more hardware processors, cause the one or more hardware processors to perform operations of:
determining a runtime environment configuration of environment objects;
receiving an RF signal associated with a target object;
selecting a location model from a plurality of location models associated with a plurality of training environment configurations based at least on the runtime environment configuration;
calculating a location of the target object by interpreting the RF signal using the selected location model that accounts for interferences caused by the environment objects to the RF signal; and
outputting the location of the target object.

### Claim 12 (depends on 11)

The system of claim 11, wherein the instructions further cause the one or more hardware processors to perform the operations of:
receiving a location of an associate object; and
associating the target object with the associate object based at least on a proximity of the location of the target object and the location of the associate object.

### Claim 13 (depends on 12)

The system of claim 12, wherein the instructions further cause the one or more hardware processors to perform the operations of:
modifying the selected location model based at least on the RF signal associated with the target object and the location of the associate object.

### Claim 14 (depends on 13)

The system of claim 13, wherein the modifying of the selected location model uses the location of the associate object as a ground truth location of the target object.

### Claim 15 (depends on 11)

The system of claim 11, wherein the instructions further cause the one or more hardware processors to perform the operations of:
training the plurality of location models associated with the plurality of training environment configurations based at least on:
a training environment configuration of environment objects; and
an RF signal associated with a training target object.

### Claim 16 (depends on 15)

The system of claim 15, wherein the training is further based at least on a ground truth location of the training target object.

### Claim 17 (depends on 12)

The system of claim 12, wherein the location of the associate object is output as the location of the target object.

### Claim 18 (depends on 11)

The system of claim 11, further comprising:
one or more RF sensors for receiving the RF signal.

### Claim 19 (depends on 11)

The system of claim 11, wherein the interpreting of the RF signal includes analyzing at least one of signal strength information, phase information, and doppler information associated with the RF signal.

### Claim 20

A computer readable storage medium comprising instructions which, when executed by one or more hardware processors, cause the one or more hardware processors to perform a process including:
obtaining a runtime environment configuration of environment objects;
selecting a location model based at least on a training environment configuration of the selected location model and the runtime environment configuration;
receiving a signal associated with a target object; and
calculating a location of the target object by interpreting the signal using the selected location model that accounts for interferences caused by the environment objects to the signal.
