IP Library Granted Patent US 10,552,476
Granted Patent B2
US 10,552,476 · App. 16/563,375 · Granted Feb 4, 2020

System and method of identifying visual objects

Inventors: David Petrou (Brooklyn, NY); Matthew J. Bridges (New Providence, NJ); Shailesh Nalawadi (Morgan Hill, CA); Hartwig Adam (Marina del Rey, CA); Matthew R. Casey (San Francisco, CA); Hartmut Neven (Malibu, CA); Andrew Harp (New York, NY)
Assignee: Google LLC
G06F16/5838G06F3/048G06F16/50G06F16/5846G06F16/9535G06K9/00671G06K9/00993G06K9/228G06K9/3258G06K9/4652G06K9/6271G06K9/78H04N5/225
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 10,552,476
App. No.
16/563,375
Granted
Feb 4, 2020
Kind
B2
Abstract

A system and method of identifying objects is provided. In one aspect, the system and method includes a hand-held device with a display, camera and processor. As the camera captures images and displays them on the display, the processor compares the information retrieved in connection with one image with information retrieved in connection with subsequent images. The processor uses the result of such comparison to determine the object that is likely to be of greatest interest to the user. The display simultaneously displays the images the images as they are captured, the location of the object in an image, and information retrieved for the object.

Claims (46)

1. A computer-implemented method comprising:

detecting, by a computer system, in a plurality of images taken by a camera device, a plurality of visually distinct objects;

determining, by the computer system, a first object that is recognized in the plurality of images;

determining, by the computer system, for each of the plurality of images, a respective location of the first object in each image of the plurality of images;

determining, by the computer system and based on the respective locations of the first object in the plurality of images, a rate of movement of the camera device;

determining, by the computer system, based on the rate of movement of the camera device, a size of a frame to send to a server, the size of the frame being in proportion to the rate of movement of the camera device;

generating, by the computer server, an image of the determined size to send to a server, the image generated from one of the plurality of images; and

sending, to the server, the image.

2. The method of claim 1 , wherein determining the size of the frame to send to the server further comprises determining the size of the frame in proportion to a transmission bandwidth available to the camera device.

3. The method of claim 1 , wherein determining the rate of movement of the camera device comprises:

determining a first difference between the object's locations from a latest frame to a penultimate frame;

determining a second difference between the object's location from the penultimate frame to a next earlier frame; and

determining the rate of movement based on the first difference and the second difference.

4. The method of claim 3 , wherein determining the size of the frame to send to the server further comprises increasing a size of the frame to send to the server when the first difference is less than the second difference relative to a size of the frame to send to the server when the first difference is greater than the second difference.

5. The method of claim 4 , wherein determining the size of the frame to send to the server further comprises decreasing a size of the frame to send to the server when the first difference is greater than the second difference relative to a size of the frame to send to the server when the first difference is less than the second difference.

6. A system comprising:

one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

detecting in a plurality of images taken by a camera device, a plurality of visually distinct objects;

determining a first object that is recognized in the plurality of images;

determining, for each of the plurality of images, a respective location of the first object in each image of the plurality of images;

determining, based on the respective locations of the first object in the plurality of images, a rate of movement of the camera device;

determining, based on the rate of movement of the camera device, a size of a frame to send to a server, the size of the frame being in proportion to the rate of movement of the camera device;

generating an image of the determined size to send to a server, the image generated from one of the plurality of images; and

sending, to the server, the image.

7. The system of claim 6 , wherein determining the size of the frame to send to the server further comprises determining the size of the frame in proportion to a transmission bandwidth available to the camera device.

8. The system of claim 6 , wherein determining the rate of movement of the camera device comprises:

determining a first difference between the object's locations from a latest frame to a penultimate frame;

determining a second difference between the object's location from the penultimate frame to a next earlier frame; and

determining the rate of movement based on the first difference and the second difference.

9. The system of claim 6 , wherein determining the size of the frame to send to the server further comprises increasing a size of the frame to send to the server when the first difference is less than the second difference relative to a size of the frame to send to the server when the first difference is greater than the second difference.

10. The system of claim 6 , wherein determining the size of the frame to send to the server further comprises decreasing a size of the frame to send to the server when the first difference is greater than the second difference relative to a size of the frame to send to the server when the first difference is less than the second difference.

11. A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:

detecting in a plurality of images taken by a camera device, a plurality of visually distinct objects;

determining a first object that is recognized in the plurality of images;

determining, for each of the plurality of images, a respective location of the first object in each image of the plurality of images;

determining, based on the respective locations of the first object in the plurality of images, a rate of movement of the camera device;

determining, based on the rate of movement of the camera device, a size of a frame to send to a server, the size of the frame being in proportion to the rate of movement of the camera device;

generating an image of the determined size to send to a server, the image generated from one of the plurality of images; and

sending, to the server, the image.

12. The non-transitory computer-readable medium of claim 11 , wherein determining the size of the frame to send to the server further comprises determining the size of the frame in proportion to a transmission bandwidth available to the camera device.

13. The non-transitory computer-readable medium of claim 11 , wherein determining the rate of movement of the camera device comprises:

determining a first difference between the object's locations from a latest frame to a penultimate frame;

determining a second difference between the object's location from the penultimate frame to a next earlier frame; and

determining the rate of movement based on the first difference and the second difference.

14. The non-transitory computer-readable medium of claim 11 , wherein determining the size of the frame to send to the server further comprises increasing a size of the frame to send to the server when the first difference is less than the second difference relative to a size of the frame to send to the server when the first difference is greater than the second difference.

15. The non-transitory computer-readable medium of claim 11 , wherein determining the size of the frame to send to the server further comprises decreasing a size of the frame to send to the server when the first difference is greater than the second difference relative to a size of the frame to send to the server when the first difference is less than the second difference.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 18, 2019
From: PETROU, DAVID; BRIDGES, MATTHEW J.; NALAWADI, SHAILESH; ADAM, HARTWIG; CASEY, MATTHEW R.; NEVEN, HARTMUT; HARP, ANDREW
To: GOOGLE INC.
Reel/Frame 050420/0107 →
CHANGE OF NAME Recorded Sep 18, 2019
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 050424/0898 →
Continuity (6)
Continuation 16243660 · Jan 9, 2019
Continuation 15247542 · Aug 25, 2016
Continuation 14541437 · Nov 14, 2014
Continuation 13693665 · Dec 4, 2012
Provisional Application 61567611 · Dec 6, 2011
Related Publication 20190391996A1 · Dec 26, 2019