IP Library Granted Patent US 9,607,207
Granted Patent B1
US 9,607,207 · App. 14/231,191 · Granted Mar 28, 2017

Plane-fitting edge detection

Inventor: Manika Puri (Santa Clara, CA)
Assignee: Amazon Technologies, Inc.
G06K9/00201
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,607,207
App. No.
14/231,191
Granted
Mar 28, 2017
Kind
B1
Abstract

Techniques are described for determining edge pixels from a depth map in order to identify edges of an object within an environment. The techniques may fit a plane to a group of pixels comprising a subject pixel and neighbors of the subject pixel. Each pixel of the group may then be classified as either an inlier pixel or an outlier pixel, and a ratio of inlier pixels to outlier pixels of the group may be calculated. The techniques then compare this ratio to a threshold ratio to designate the subject pixel as either an edge pixel or a non-edge pixel. Edge pixels designated in this manner may then be used to identify object edges and, hence, objects in the environment.

Claims (84)

1. A method comprising:

determining pixels, in a portion of a depth map of an environment, that comprise edge pixels, wherein an edge pixel represents an edge of an object in the environment; and

determining edges of an object in the environment by connecting the edge pixels;

wherein the determining the pixels that comprise edge pixels comprises, for each pixel in the portion of the depth map:

accessing a depth map that indicates, for each pixel of a group of pixels, a depth measurement of each respective pixel from a camera that obtained the depth map, the group of pixels comprising the pixel and pixels that are immediately adjacent to the pixel in the portion of the depth map;

estimating a plane for the pixel based on a depth measurement of the pixel and respective depth measurements for the pixels that are immediately adjacent to the pixel in the depth map, the estimating the plane based at least in part on a total least squares algorithm or an approximation of a total least squares algorithm;

determining inlier pixels, the inlier pixels comprising pixels of the group of pixels that belong to the plane;

determining outlier pixels, the outlier pixels comprising pixels of the group of pixels that do not belong to the plane;

determining a ratio of the inlier pixels to the outlier pixels;

determining that the ratio is less than a threshold ratio; and

determining that the pixel is an edge pixel at least partly in response to determining that the ratio is less than the threshold ratio, an edge pixel representing at least a portion of an edge of the object.

2. A method as recited in claim 1 , wherein:

the threshold ratio is a first threshold ratio;

the determining the pixels that comprise edge pixels further comprises:

determining that the ratio is less than a second threshold ratio, wherein the second threshold ratio is less than the first threshold ratio and is used to determine whether an edge pixel comprises a strong edge pixel or a weak edge pixel, a strong edge pixel representing an edge of the object with a higher degree of certainty than a weak edge pixel;

and wherein determining that the pixel is an edge pixel further comprises classifying the pixel as a strong edge pixel at least partly in response to determining that the ratio is less than the second threshold ratio in addition to being less than the first threshold ratio.

3. A method as recited in claim 1 , wherein:

the threshold ratio is a first threshold ratio;

the determining the pixels that comprise edge pixels further comprises:

determining that the ratio is greater than or equal to a second threshold ratio, wherein the second threshold ratio is less than the first threshold ratio; and

determining that the pixel is immediately adjacent to a second pixel associated with a second group of pixels that has a ratio of inlier pixels to outlier pixels that is less than both than the first and second threshold ratios;

and wherein determining that the pixel is an edge pixel further comprises determining that the pixel is an edge pixel at least partly in response to determining that the pixel is immediately adjacent to the second pixel associated with the second group having the ratio of inlier pixels to outlier pixels that is less than both than the first and second threshold ratios.

4. One or more non-transitory computer-readable media storing computer-executable instructions that, when executed, cause one or more processors to perform acts comprising:

fitting a plane to a group of pixels of a depth map, each pixel of the group of pixels being associated with a depth measurement;

calculating, for each pixel of the group of pixels, a distance between the pixel and the fitted plane;

comparing, for each pixel of the group of pixels, its distance to the fitted plane to a threshold distance;

classifying pixels having a distance to the plane that is equal to or less than the threshold distance as inlier pixels and pixels having a distance to the plane that is greater than the threshold distance as outlier pixels;

determining a number of the inlier pixels;

determining a number of the outlier pixels;

calculating a ratio based at least in part on the number of the inlier pixels and the number of the outlier pixels;

comparing the ratio to a threshold ratio; and

designating, based at least in part on the comparing, at least one pixel of the group of pixels as an edge pixel or a non-edge pixel based at least in part on the classifying.

5. One or more non-transitory computer-readable media as recited in claim 4 , wherein the group of pixels comprises a middle pixel and immediately adjacent neighbors of the middle pixel that share edges surround the middle pixel on the depth map, each immediately adjacent pixel sharing an edge with the middle pixel, and the at least one pixel is the middle pixel.

6. One or more non-transitory computer-readable media as recited in claim 4 ,

wherein the designating comprises designating the at least one pixel as a non-edge pixel at least partly in response to determining that the ratio is greater than the threshold ratio and designating the at least one pixel as an edge pixel at least partly in response to determining that the ratio is less than the threshold ratio.

7. One or more non-transitory computer-readable media as recited in claim 6 , wherein:

the threshold ratio comprises a first threshold ratio;

the acts further comprise comparing the ratio to a second threshold ratio, the second threshold ratio greater than the first threshold ratio; and

the designating comprises:

designating the at least one pixel as a non-edge pixel at least partly in response to determining that the ratio is greater than the first and second threshold ratios;

designating the at least one pixel as a strong edge pixel at least partly in response to determining that the ratio is less than both the first and second threshold ratios; and

designating the at least one pixel as a weak edge pixel at least partly in response to determining that the ratio is less than the second threshold ratio but greater than the first threshold ratio.

8. One or more non-transitory computer-readable media as recited in claim 7 , the acts further comprising determining, for a weak edge pixel, whether the weak edge pixel is within a threshold distance from a strong edge pixel in the depth map.

9. One or more non-transitory computer-readable media as recited in claim 8 , the acts further comprising:

determining edges of an object in an environment based on (1) strong edge pixels, and (2) weak edge pixels that are within the threshold distance from a strong edge pixel.

10. One or more non-transitory computer-readable media as recited in claim 7 , the acts further comprising determining, for a weak edge pixel, whether the weak edge pixel is immediately adjacent to a strong edge pixel in the depth map;

and the acts further comprising determining edges of an object from (1) strong edge pixels, and (2) weak edge pixels that are immediately adjacent to a strong edge pixel.

11. One or more non-transitory computer-readable media as recited in claim 4 , wherein the group of pixels comprises a first group of pixels, and the acts further comprising:

fitting a second plane to a second group of pixels of the depth map, each pixel of the second group of pixels being associated with a depth measurement;

calculating, for each pixel of the second group of pixels, a distance between the pixel and the second plane;

comparing, for each pixel of the second group of pixels, its distance to the second fitted plane to the threshold distance;

classifying pixels having a distance to the second plane that is equal to or less than the threshold distance as second inlier pixels and pixels having a distance to the plane that is greater than threshold distance as second outlier pixels; and

designating at least one pixel of the second group of pixels as an edge pixel or a non-edge pixel based at least in part on the classifying pixels of the second group of pixels.

12. One or more non-transitory computer-readable media as recited in claim 11 , the acts further comprising:

determining pixels of the first and second groups that comprise edge pixels; and

determining edges of an object from edge pixels of the first and second groups.

13. One or more non-transitory computer-readable media as recited in claim 4 , wherein the fitting comprises fitting the plane using a total least squares regression algorithm or an approximation of a total least squares regression algorithm.

14. A system comprising:

one or more processors; and

one or more non-transitory computer-readable media storing computer-executable instructions that, when executed, cause the one or more processors to perform acts comprising:

fitting a plane to a group of pixels of a depth map, each pixel of the group of pixels being associated with a depth measurement, the group of pixels comprising a middle pixel and immediately adjacent neighbors of the middle pixel that share respective edges with the middle pixel on the depth map;

calculating, for each pixel of the group of pixels, a distance between the pixel and the fitted plane;

comparing, for each pixel of the group of pixels, its distance to the fitted plane to a threshold distance;

classifying pixels having a distance to the plane that is equal to or less than the threshold distance as inlier pixels and pixels having a distance to the plane that is greater than the threshold distance as outlier pixels; and

designating at least one pixel of the group of pixels as an edge pixel or a non-edge pixel based at least in part on the classifying, the at least one pixel comprising the middle pixel of the group of pixels.

15. A system as recited in claim 14 , the acts further comprising:

determining a number of the inlier pixels;

determining a number of the outlier pixels;

calculating a ratio of the number of the inlier pixels to the number of the outlier pixels; and

comparing the ratio to a threshold ratio;

and wherein the designating comprises designating the at least one pixel as a non-edge pixel at least partly in response to determining that the ratio is greater than the threshold ratio and designating the at least one pixel as an edge pixel at least partly in response to determining that the ratio is less than the threshold ratio.

16. A system as recited in claim 15 , wherein:

the threshold ratio comprises a first threshold ratio;

the acts further comprise comparing the ratio to a second threshold ratio, the second threshold ratio greater than the first threshold ratio; and

the designating comprises:

designating the at least one pixel as a non-edge pixel at least partly in response to determining that the ratio is greater than the first and second threshold ratios;

designating the at least one pixel as a strong edge pixel at least partly in response to determining that the ratio is less than both the first and second threshold ratios; and

designating the at least one pixel as a weak edge pixel at least partly in response to determining that the ratio is less than the second threshold ratio but greater than the first threshold ratio.

17. A system as recited in claim 14 , the acts further comprising:

determining a number of the inlier pixels;

determining a number of the outlier pixels;

calculating a ratio based at least in part on the number of the inlier pixels and the number of the outlier pixels; and

comparing the ratio to a threshold ratio;

and wherein the designating is based at least in part on the comparing.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 26, 2016
From: RAWLES LLC
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 038726/0666 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2014
From: PURI, MANIKA
To: RAWLES LLC
Reel/Frame 033791/0357 →