IP Library › Granted Patent US 9,679,390
Granted Patent B2
US 9,679,390 · App. 14/143,879 · Granted Jun 13, 2017

Systems and methods for removing a background of an image

Inventors: Craig Peeper (Kirkland, WA); Johnny Lee (Bellevue, WA); Tommer Leyvand (Seattle, WA); Szymon Stachniak (Kirkland, WA)
Assignee: Microsoft Technology Licensing, LLC
G06T7/194G06T7/11G06T7/215G06T7/254G06T15/00G06T19/00G06T2207/10028
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,679,390
App. No.
14/143,879
Granted
Jun 13, 2017
Kind
B2
Abstract

An image such as a depth image of a scene may be received, observed, or captured by a device. A grid of voxels may then be generated based on the depth image such that the depth image may be downsampled. A background included in the grid of voxels may then be discarded to isolate one or more voxels associated with a foreground object such as a human target and the isolated voxels associated with the foreground object may be processed.

Claims (42)

1. A computer-readable storage device having stored thereon computer executable instructions for processing depth information of a scene, the computer executable instructions comprising instructions for:

receiving a depth image of the scene, wherein the depth image comprises one or more objects;

determining that at least one object of the one or more objects in the depth image is moving, wherein determining that the at least one object of the one or more objects in the depth image is moving comprises:

comparing a value associated with each voxel in the one or more objects with a corresponding value of a reference voxel included in a reference plate;

identifying each voxel in the one or more objects as moving when a difference between the value and the corresponding value exceeds a motion threshold;

calculating a foreground score based on a percentage of moving voxels associated with the at least one object; and

identifying the at least one object as moving when the foreground score exceeds a score threshold;

isolating the at least one object that is moving; and

processing the at least one isolated object.

2. The computer-readable storage device of claim 1 , the computer executable instructions further comprising instructions for determining whether to merge an object in the one or more objects with a nearby object in the one or more objects.

3. The computer-readable storage device of claim 2 , wherein determining whether to merge the object in the one or more objects with the nearby object in the one or more objects comprises: comparing X-values, Y-values, or depth values associated with voxels in the object with X-values, Y-values, or depth values associated with voxels of the nearby object; and merging the object with the nearby object if, based on the comparison, the X-values, Y-values, or the depth values associated with the voxels in the object overlap the X-values, Y-values, or depth values associated with the voxels of the nearby object.

4. The computer-readable storage device of claim 1 , the computer executable instructions further comprising instructions for determining that at least one object of the one or more objects is non-moving.

5. The computer-readable storage device of claim 4 , the computer executable instructions further comprising instructions for discarding the at least one non-moving object of the one or more objects.

6. A system for processing depth information of a scene, the system comprising:

a capture device, wherein the capture device comprises a camera configured to capture a depth image of the scene; and

a computing device communicatively coupled to the capture device, wherein the computing device comprises a processor and memory storing thereon computer-readable instructions that, when executed by the processor, cause the computing device to perform operations comprising:

generating a downsampled depth image comprising one or more objects based on one or more pixels in the depth image received from the capture device;

determining that at least one object of the one or more objects in the downsampled depth image is moving, wherein determining that the at least one object of the one or more objects in the downsampled depth image is moving comprises:

comparing a value associated with each voxel in the one or more objects with a corresponding value of a reference voxel included in a reference plate;

identifying each voxel in the one or more objects as moving when a difference between the value and the corresponding value exceeds a motion threshold;

calculating a foreground score based on a percentage of moving voxels associated with the at least one object; and

identifying the at least one object as moving when the foreground score exceeds a score threshold;

isolating the at least one object that is moving; and

processing the at least one isolated object.

7. The system of claim 6 , further comprising computer-readable instructions that, when executed by the processor, cause the computing device to perform operations comprising determining whether to merge an object in the one or more objects with a nearby object in the one or more objects.

8. The system of claim 7 , further comprising computer-readable instructions that, when executed by the processor, cause the computing device to perform operations comprising:

determining whether merge an object in the one or more objects with a nearby object in the one or more objects: comparing X-values or depth values associated with voxels in one of the object with X-values or depth values associated with voxels of a nearby object; and

merging the object with the nearby object if, based on the comparison, the X-values or the depth values associated with the voxels in the object overlap the X-values or depth values associated with the voxels of the nearby object.

9. The system of claim 6 , further comprising computer-readable instructions that, when executed by the processor, cause the computing device to perform operations comprising discarding at least one non-moving object of the one or more objects.

10. A method for processing depth information of a scene, the method comprising:

receiving a depth image of the scene, wherein the depth image comprises one or more objects;

determining that at least one object of the one or more objects in the depth image is moving; wherein determining that the at least one object of the one or more objects in the depth image is moving comprises:

comparing a value associated with each voxel in the one or more objects with a corresponding value of a reference voxel included in a reference plate;

identifying each voxel in the one or more objects as moving when a difference between the value and the corresponding value exceeds a motion threshold;

calculating a foreground score based on a percentage of moving voxels associated with the at least one object; and

identifying the at least one object as moving when the foreground score exceeds a score threshold;

isolating the at least one object that is moving; and

processing the at least one isolated object.

11. The method of claim 10 , further comprising determining whether to merge an object in the one or more objects with a nearby object in the one or more objects.

12. The method of claim 11 , wherein determining whether to merge the object in the one or more objects with the nearby object in the one or more objects comprises: comparing X-values, Y-values, or depth values associated with voxels in the object with X-values, Y-values, or depth values associated with voxels of the nearby object; and merging the object with the nearby object if, based on the comparison, the X-values, Y-values, or the depth values associated with the voxels in the object overlap the X-values, Y-values, or depth values associated with the voxels of the nearby object.

13. The method of claim 10 , further comprising determining that at least one object of the one or more objects is non-moving.

14. The method of claim 13 , further comprising discarding at least one non-moving object of the one or more objects.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2018
From: PEEPER, CRAIG; LEE, JOHNNY; LEYVAND, TOMMER; STACHNIAK, SZYMON
To: MICROSOFT CORPORATION
Reel/Frame 044611/0883 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 039025/0454 →
Continuity (2)
Division 12575363 · Oct 7, 2009
Related Publication 20140112547A1 · Apr 24, 2014