IP Library Granted Patent US 9,280,717
Granted Patent B2
US 9,280,717 · App. 13/894,247 · Granted Mar 8, 2016

Operating a computing device by detecting rounded objects in an image

Inventor: Fabrizio Polo (Boulder, CO)
Assignee: Sphero, Inc.
G06K9/3241G06T7/2033G06T7/2066G06T7/0077G06T7/0083
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 9,280,717
App. No.
13/894,247
Granted
Mar 8, 2016
Kind
B2
Abstract

A method is disclosed for operating a computing device. One or more images of a scene captured by an image capturing device of the computing device is processed. The scene includes an object of interest that is in motion and that has a rounded shape. The one or more images are processed by detecting a rounded object that corresponds to the object of interest. Position information is determined based on a relative position of the rounded object in the one or more images. One or more processes are implemented that utilize the position information determined from the relative position of the rounded object.

Claims (35)

1. A method for operating a computing device, the method being performed by one or more processors and comprising:

processing one or more images of a scene captured by an image capturing device of the computing device, the scene including a self-propelled device that is in motion and can be controlled wirelessly by the computing device, the self-propelled device having a characteristic rounded shape;

detecting the self-propelled device in the one or more images;

determining position information based on a relative position of the self-propelled device in the one or more images; and

implementing one or more processes that utilize the position information determined from the relative position of the self-propelled device;

wherein implementing the one or more processes includes (i) determining a reference point for the self-propelled device, (ii) enabling a user to interact with a displayed representation of the self-propelled device on a touch-sensitive display of the computing device, and (iii) controlling a movement of the self-propelled device based on the reference point.

2. The method of claim 1 , wherein implementing the one or more processes further includes displaying, on the touch-sensitive display of the computing device, the displayed representation of the self-propelled device based on the determined position information.

3. The method of claim 1 , wherein the self-propelled device is spherical.

4. The method of claim 1 , wherein detecting the self-propelled device includes applying a filter to each of the one or more images.

5. The method of claim 4 , wherein the filter is a grayscale filter, and wherein applying the filter includes generating a grayscale image for each of the one or more images.

6. The method of claim 5 , wherein detecting the self-propelled device further includes determining a brightness gradient for a number of pixels in each of the one or more grayscale images, the brightness gradient indicating a center of the self-propelled device in the one or more grayscale images.

7. The method of claim 6 , wherein detecting the self-propelled device includes, for each respective one of the pixels, marking a number of points within a defined distance of the respective pixel in a direction from the center of the self-propelled device, and determining the relative position of the self-propelled device in the one or more grayscale images based on the marked points.

8. The method of claim 1 , wherein implementing the one or more processes further includes adjusting at least a portion of the one or more images in which the self-propelled device is detected.

9. The method of claim 8 , wherein adjusting at least a portion of the one or more images includes generating a graphic feature to overlay the self-propelled device.

10. The method of claim 1 , wherein implementing the one or more processes further includes calibrating one or more components of the self-propelled device.

11. A non-transitory computer-readable medium storing instructions that, when executed by a processor of a computing device, causes the processor to:

process one or more images of a scene captured by an image capturing device of the computing device, the scene including a self-propelled device that is in motion and can be controlled wirelessly by the computing device, the self-propelled device having a characteristic rounded shape;

detect the self-propelled device in the one or more images;

determine position information based on a relative position of the self-propelled device in the one or more images; and

implement one or more processes that utilize the position information determined from the relative position of the self-propelled device;

wherein the executed instructions cause the processor to implement the one or more processes by (i) determining a reference point for the self-propelled device, (ii) enabling a user to interact with a displayed representation of the self-propelled device on a touch-sensitive display of the computing device, and (iii) controlling a movement of the self-propelled device based on the reference point.

12. The non-transitory computer-readable medium of claim 11 , wherein the executed instructions cause the processor to detect the self-propelled device by applying a grayscale filter to each of the one or more images, and wherein the executed instructions cause the processor to generate a grayscale image for each of the one or more images.

13. The non-transitory computer-readable medium of claim 12 , wherein the executed instructions cause the processor to detect the self-propelled device by determining a brightness gradient for a number of pixels in each of the one or more grayscale images, the brightness gradient indicating a center of the self-propelled device in the one or more grayscale images.

14. The non-transitory computer-readable medium of claim 13 , wherein the executed instructions cause the processor to detect the self-propelled device by, for each respective one of the pixels, marking a number of points within a defined distance of the respective pixel in a direction from the center of the self-propelled device, and by determining a position of the self-propelled device in the one or more grayscale images based on the marked points.

15. The non-transitory computer-readable medium of claim 14 , wherein the executed instructions further cause the processor to implement the one or more processes by calibrating one or more components of the self-propelled device.

16. A mobile computing device comprising:

a touch-sensitive display;

an image capturing device;

a memory; and

a processor coupled to the image capturing device and the memory, the processor to:

process one or more images of a scene captured by the image capturing device, the scene including a self-propelled device that is in motion and can be controlled wirelessly by the mobile computing device, the self-propelled device having a characteristic rounded shape;

detect the self-propelled device in the one or more images;

determine position information based on a relative position of the self-propelled device in the one or more images; and

implement one or more processes that utilize the position information determined from the relative position of the self-propelled device;

wherein the executed instructions cause the processor to implement the one or more processes by (i) determining a reference point for the self-propelled device, (ii) enabling a user to interact with a displayed representation of the self-propelled device on the touch-sensitive display, and (iii) controlling a movement of the self-propelled device based on the reference point.

Assignments (3)
SECURITY INTEREST Recorded May 11, 2020
From: SPHERO, INC.
To: SILICON VALLEY BANK
Reel/Frame 052623/0705 →
CHANGE OF NAME Recorded Jul 7, 2015
From: ORBOTIX, INC.
To: SPHERO, INC.
Reel/Frame 036073/0911 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2013
From: POLO, FABRIZIO
To: ORBOTIX, INC.
Reel/Frame 030684/0304 →
Continuity (2)
Provisional Application 61646716 · May 14, 2012
Related Publication 20130301879A1 · Nov 14, 2013