IP Library Granted Patent US 11,250,335
Granted Patent B2
US 11,250,335 · App. 15/770,487 · Granted Feb 15, 2022

Joint processing for embedded data inference

Inventors: David Jonathan Julian (San Diego, CA); Avneesh Agrawal (Bengaluru, IN)
Assignee: NETRADYNE, INC.
G06N5/04G06F8/65G06K9/628G06K9/6288G06K9/6857G06N3/08G06N5/043G06N20/00H04L67/34G06N3/0445G06N7/005
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,250,335
App. No.
15/770,487
Filed
Apr 23, 2018
Granted
Feb 15, 2022
Kind
B2
Art Unit
2127
USPC
706/45
Abstract

Systems and methods are provided for embedded data inference. The systems and methods may process camera and other sensor data in by leveraging processing and storage capacity of one or more devices nearby or in the cloud to augment or update the sensor processing of an embedded device. The joint processing may be used in stationary cameras or in vehicular systems such as cars and drones, and may improve crop assessments, navigation, and safety.

Claims (54)

1. A method for updating a model on a machine, comprising:

obtaining sensor data at a first device; wherein the sensor data were captured at a sensor attached to the machine, and wherein the first device is proximate to the sensor;

identifying, at the first device, an object and determining a class of the object based on the sensor data and an embedded model on the first device;

sending communication data based on the sensor data to a second device;

selecting a first model from a model library at a second device based on identifying from the communication data based on the sensor data at least one of:

one or more additional classes of the object,

one or more additional objects, or

a context of the machine;

sending model information about the first model from the second device to the first device; and

updating the embedded model on the first device based on the model information.

2. The method of claim 1 , wherein determining the first model further comprises compressing a model from the model library.

3. The method of claim 1 , wherein the model information includes an indication to turn parts of the embedded model on or off.

4. The method of claim 1 , wherein the model information includes the first model, and further comprising: modifying the first model at the first device based on local data stored on the first device, wherein the local data includes at least one of local training data, local parameters, local capabilities, or local compression.

5. The method of claim 1 , wherein the sensor data is based on at least one of visual processing, GPS measurements, inertial sensor measurements, audio inputs, inputs selected by a user, or behavior of the user.

6. The method of claim 1 , further comprising:

determining system parameters of the first device; wherein the system parameters include at least one of compute capabilities, application latency targets, or some combination thereof;

and wherein the determining a first model is based on the determined system parameters.

7. The method of claim 1 , wherein the first model and the embedded model consist essentially of deep neural networks, support vector machines, random forests, recurrent neural networks, or reinforcement learning networks.

8. The method of claim 1 , wherein the context of the machine is determined at the first device; and wherein the communication data comprises the determined context.

9. The method of claim 1 , wherein the context of the machine is determined at the second device; and wherein the communication data is based on at least one of sensor data, processed sensor data, or some combination thereof.

10. The method of claim 9 , further comprising:

obtaining a second communication data from a third device at the second device; and wherein the determining a context of the first device is further based on the second communication data obtained from the third device.

11. The method of claim 1 , wherein the context is based on at least one of weather, geography, road types, sign types, route type, motion type, location, lighting conditions, sun glare, sensor availability, computational resource availability, latency requirements, bandwidth availability, or some combination thereof.

12. A method of joint processing for data inference, comprising:

processing sensor data on a first device with a first model to create first inference data, wherein the sensor data were captured at a sensor, and wherein the first device is proximate to the sensor;

sending first communication data based on the sensor data to a second device;

processing the first communication data at the second device using a second model to create second inference data; and

sending second communication data based on the second inference data from the second device to the first device.

13. The method of claim 12 , further comprising:

determining at the second device how densely to sample an area around the first device;

wherein the second communication data comprises an indication of an area of interest; and

adjusting the density of sampling based on the indication; wherein the adjusting includes more densely sampling the area of interest, less densely sampling the area of interest, or returning to a previously sampled area for additional sampling.

14. The method of claim 12 , further comprising:

determining at the second device how densely to sample sensor data from a time period of interest; wherein the second communication data comprises an indication of the time period of interest;

processing a portion of recorded sensor data on the first device to create third inference data;

wherein the portion is determined based on the indication; and

sending third communication data to the second device based on the third inference data.

15. The method of claim 12 , wherein the second communication data further comprises anticipatory focus locations.

16. The method of claim 12 , wherein the second communication data further comprises an indication of a future time period of interest.

17. The method of claim 12 , wherein the processing sensor data comprises processing an anomaly detection algorithm, and further comprising:

detecting a putative anomaly based on the first inference data, and wherein the sending first communication data is triggered by the detecting, and wherein the second inference data comprises a classification of the putative anomaly.

18. The method of claim 12 , wherein the processing of first communication data comprises a full image search, wherein processing sensor data further comprises tracking objects based on the location estimate from the second communication data, and wherein the processing sensor data further comprises a full image search at an image resolution that is lower than the image resolution of the full image search processed on the second device.

19. The method of claim 12 , wherein the processing sensor data is applied at a first resolution for a first portion of the sensor data and at a second resolution for a second portion of the sensor data.

20. The method of claim 19 , further comprising:

selecting the first portion of sensor data based on the first inference data and the second inference data, wherein the first inference data comprises a first location estimate of at least one object and the second inference data comprises a second location estimate of the at least one object; and

comparing the first location estimate and the second location estimate to create an agreement value; and wherein the first resolution is based on the agreement value.

21. A computer program product for updating a machine learning model on a device, the computer program product comprising:

a non-transitory computer-readable medium having program code recorded thereon, the program code comprising:

program code to obtain sensor data on a first device;

process sensor data on the first device with a first machine learning model to create first classification data;

send first communication data based on the sensor data to a second device;

process the first communication data at the second device using a second machine learning model to create second classification data;

determine differences between the first classification data and the second classification data; and

update the first model based on the determined differences.

Assignments (6)
SECURITY INTEREST Recorded Apr 6, 2026
From: NETRADYNE, INC.
To: FIRST-CITIZENS BANK & TRUST COMPANY
Reel/Frame 075435/0670 →
SECURITY INTEREST Recorded Apr 6, 2026
From: NETRADYNE, INC.
To: FIRST-CITIZENS BANK & TRUST COMPANY
Reel/Frame 075359/0194 →
SECURITY INTEREST Recorded Mar 9, 2021
From: NETRADYNE, INC.
To: SILICON VALLEY BANK
Reel/Frame 055530/0593 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2019
From: JULIAN, DAVID JONATHAN; AGRAWAL, AVNEESH
To: NETRADYNE, INC.
Reel/Frame 049818/0094 →
SECURITY INTEREST Recorded Dec 17, 2018
From: NETRADYNE, INC.
To: SILICON VALLEY BANK
Reel/Frame 047798/0554 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2018
From: JULIAN, DAVID JONATHAN; AGRAWAL, AVNEESH
To: NETRADYNE INC
Reel/Frame 046001/0695 →
Continuity (2)
Provisional Application 62246595 · Oct 26, 2015
Related Publication 20190057314A1 · Feb 21, 2019