USRE42256E1 - Method and apparatus for performing a clean background subtraction - Google Patents

Method and apparatus for performing a clean background subtraction Download PDF

Info

Publication number
USRE42256E1
USRE42256E1 US12/351,762 US35176209A USRE42256E US RE42256 E1 USRE42256 E1 US RE42256E1 US 35176209 A US35176209 A US 35176209A US RE42256 E USRE42256 E US RE42256E
Authority
US
United States
Prior art keywords
image
key points
locating
points
known object
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
US12/351,762
Inventor
Jeffrey L. Edwards
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Electric Planet Interactive
Original Assignee
Elet Systems LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Elet Systems LLC filed Critical Elet Systems LLC
Priority to US12/351,762 priority Critical patent/USRE42256E1/en
Application granted granted Critical
Publication of USRE42256E1 publication Critical patent/USRE42256E1/en
Assigned to ELET SYSTEMS L.L.C. reassignment ELET SYSTEMS L.L.C. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ELECTRIC PLANET INTERACTIVE
Assigned to ELECTRIC PLANET INTERACTIVE reassignment ELECTRIC PLANET INTERACTIVE ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: EDWARDS, JEFFREY L.
Assigned to IV GESTURE ASSETS 12, LLC reassignment IV GESTURE ASSETS 12, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ELET SYSTEMS L.L.C.
Assigned to MICROSOFT CORPORATION reassignment MICROSOFT CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: IV GESTURE ASSETS 12, LLC
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC reassignment MICROSOFT TECHNOLOGY LICENSING, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MICROSOFT CORPORATION
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/12Edge-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/103Static body considered as a whole, e.g. static pedestrian or occupant recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20164Salient point detection; Corner detection

Definitions

  • the present invention relates generally to computer vision systems and digital image processing, and more particularly to the digital extraction of an image from its background.
  • blue-screening involves placing a blue or other fixed-color screen (e.g. a green screen) behind the desired foreground object, typically the image of a person (the colors blue and green hue that strongly contrasts with most colors of human skin).
  • a blue or other fixed-color screen e.g. a green screen
  • the system checks to see which pixels in the input image are not blue and labels those pixels as foreground pixels.
  • the system can then composite, or blend, the object (i.e. the collection of all foreground pixels) onto a destination background image.
  • One of the disadvantages of using blue-screening for object compositing is that it requires a fixed color screen behind the object.
  • Another disadvantage is that if any of the colors on the object, such as an item of clothing, are blue, “holes” will appear in the object in the destination image. This occurs because the pixels in the blue areas on the object will not be labeled as foreground pixels and thus will not be composited with the rest of the object, resulting in the object having holes when composited onto the destination image.
  • Another disadvantage is, obviously, the need for a special room or screen to provide the appropriate background color.
  • the present invention creates a clean-edged extraction of a foreground image from its background in an automated and effective manner. More particularly, the present invention includes an improved method of background subtraction wherein a clean image of the object being composited or texture mapped is created through improvements in determining the outline of the object. As a result, the present invention reduces noise near the edges of an object in an input image from which the background is being “subtracted.” The resulting image can be used for example, in a texture map application or for compositing.
  • the present invention provides a closed curve which is essentially a noise-reduced outline of the object that is being mapped or composited. By virtue of this process there are no holes or gaps within the object image when it is mapped or composited, since all pixels within the closed curve are reconsidered part of the object.
  • a background subtraction apparatus of the present invention includes a key point locator for locating key points on a known object type, a boundary point locator for locating boundary points of the known object that make up the edges of the known object, and an edge processor for processing the edges to provide a clean-edged extraction of the known object from a background image.
  • the key point locator includes an alignment detector for detecting alignment of an image of the known object type with a skeleton image.
  • the skeleton image is an exoskeleton image and the known object type is a human being.
  • a method for subtracting a background in accordance with the present invention includes locating key points on a known object type, locating boundary points of the known object that comprise edges of the known object, and processing the edges to provide a clean-edged extraction of the known object from a background image.
  • locating the key points include detecting the alignment of an image of the known object type with a skeleton image.
  • the key points include primary key points at extremities of an image of the human being and secondary key points near a torso of an image of the human being.
  • FIG. 1a is a perspective view of a person standing in front of an apparatus made and operated in accordance with the present invention
  • FIG. 1b is an illustration of a user's image with the background removed, where the user's image has clean edges due to the method and apparatus of the present invention
  • FIGS. 2a-2c comprise a flow diagram of a method for performing clean background subtraction in accordance with the present invention.
  • FIG. 3 illustrates ten key points on a “skeleton” used by the method and apparatus of the present invention.
  • FIG. 1a is an illustration of an apparatus 10 in accordance with the present invention.
  • a user 12 e.g. a child, stands in front of a camera 13 in a pose in which the arms are extended outwardly and the legs are spread somewhat apart. That is, the child moves to fit herself within a skeleton “A” shown on a video monitor 14 .
  • the camera 13 and the video monitor 14 are typically connected to a computer 16 , as will be appreciated by those skilled in the art.
  • the computer 16 includes or has access to computer implemented process instructions stored within computer readable media (such as RAM, ROM, magnetic or optical media, over a network, etc.) to perform methods (“computer implement processes”) of the present invention.
  • computer readable media such as RAM, ROM, magnetic or optical media, over a network, etc.
  • the skeleton A is an outline of an object or figure that is to be digitally removed from its background.
  • a preferred skeletal outline is somewhat of a hollow, five-pointed star shape.
  • the “skeletons” described with reference to the current example are more in the nature of exoskeletons, since they surround the image of the figure to be extracted, although they can also be internal skeletons (e.g. a stick figure of a human being), or combinations thereof, in alternate embodiments of the present invention.
  • FIG. 1b illustrates an output created by the method and apparatus of the present invention, that is, a clean image of a user with the background removed. This is shown as the image of the user 12 with a black background 20 and an outline 18 of the object with a clean edge.
  • the background pixels become transparent pixels and are not the same color as any of the pixels on the object being texture mapped or composited.
  • FIGS. 2a-2c are flowcharts which collectively illustrate a process (comprising, but not limited to, a computer implemented process) for performing the clean background subtraction procedure of the present invention.
  • the system builds a background model which is a model of the background image that the camera sees without the subject in the image.
  • the background model for example an image of a bedroom or a living room
  • the system captures an image of the background model with the subject, such as a human being, that has moved into the background.
  • the subject is required to generally fit her pose to approximately match a frame or skeleton shown on the computer monitor.
  • An example of a pose is shown in FIG. 1 a. This is done in block 202 .
  • the system locates primary key points of the subject. For a human figure these key points or extremities include the tips of the left and right hands, top of the head, and the bottom of the left and right feet. These are shown at points “P” in FIG. 3 .
  • the system determines whether the general locations of the primary key points are acceptable to the system. That is, are the extremities such as the ends of the hands and the feet and the head in an area where the system would normally expect to find them.
  • control returns back to block 202 where the system will take another input image of the subject aligning itself with the skeleton. This indicates that the subject is not yet properly aligned with the skeleton outline. If the locations of the primary key points are generally acceptable to the system, the process continues to block 208 .
  • the system locates secondary key points of the subject. These are shown at points “S” in FIG. 3 .
  • the processing for determining these secondary key points depend on first properly locating the primary key points P of the subject.
  • the secondary key points of a human figure are the left and right shoulders, the left and right arm pits, and the crotch. These points are located depending on where the system locates the primary key points as determined in step 204 . Thus, for example, if in block 204 the system does not find the left and right key points properly, the system does not find the proper point for the crotch.
  • the system checks whether the secondary key points are located in areas where the system would generally expect to see them based on typical body proportions. If any one of them is not where the system expects to be, control returns to block 202 . Once the locations of the ten key points, in the current example, (see FIG. 3 ) are determined, the system now has a definition of ten approximately linear segments that essentially connect these key points and define a general outline of the subject.
  • the system determines the locations of boundary points among the ten key points. These boundary points are located essentially by scanning the image in a certain direction, the direction depending on the orientation of the line segments between the key points. For example, a line segment between the left hand and the left arm pit would require a scan that begins at a certain offset away from the outline. The offset is determined by a bounding box whose corners are set by the key points of the segment, plus a pad of a fixed number of pixels, such as ten pixels in a preferred embodiment.
  • pixels in one vertical column are examined one by one. Many of the pixels scanned first would be background pixels until the scan reached the lower edge of the child's arm, at which point the scan would detect a foreground pixel. It would then mark this pixel as a boundary point. This procedure is done for all the columns in the approximately linear segment between the hand and the arm pit.
  • boundary points can be seen as a silhouette line which is further refined to form part of a closed curve such that the curve will define the outline of the object. For example, a segment that goes from the left arm pit to the left foot would require a horizontal scan, scanning each pixel in a horizontal row until the scan reached a pixel indicating a foreground pixel. That pixel will be marked as a boundary point in the linear segment between the left arm pit and left foot.
  • the system has a series of boundary points that defines fairly closely the outline of the object but still includes nuances and aberrations, i.e. noise, that are on the edges of the object.
  • the key points are used as start and stop delimiters in the scans.
  • the boundary points are stored in a one-dimensional array. Thus, in a preferred embodiment, all the boundary points determined from the ten scans are stored in sequence in this one-dimensional array.
  • the system performs a series of smoothing filters to reign in aberrant boundary points, thereby reducing some of the noise in the object's edge.
  • a basic assumption made by the system in applying these filters is that edges between key points are relatively smooth curves.
  • One of the filters in a preferred embodiment, is a Gaussian model applied to dampen noise in the edges, as represented by the boundary points.
  • the Gaussian model uses a window or range of about five pixels. The effect of applying the Gaussian model is to bring boundary points that deviate significantly from surrounding boundary points closer to their surrounding boundary points. It has the effect of dampening or lessening the difference between an aberrant point and points in its vicinity.
  • the Gaussian model smoothing procedure has the effect of a low-pass filter applied to the boundary points.
  • the window used in the Gaussian model is set so that an appropriate smoothing of the boundary points occurs. If the window of boundary points for the Gaussian model is too large, the overall effect is an averaging effect over the boundary points which is generally not desirable due to the lack of accuracy. If the window is too small there is essentially no smoothing effect on the boundary points.
  • the other smoothing filter is known in the art as a least-square filter which also uses an appropriately sized window of pixels. All the boundary points within the window are aligned or brought closer to a line that is fitted to the boundary points within the window.
  • the least-square method is a way of fitting a line through the boundary points in a window. The system minimizes the sum of the squares of deviations from the line. The system then places boundary points so that they fit close to or on the line.
  • the system runs a snake algorithm to further eliminate noise from the edge of the object.
  • the boundary points comprise a line that make up one input to the snake algorithm.
  • the snake algorithm as used in the present invention, there are attractive forces acting on the line that bring the line closer to a noise-reduced edge of the object.
  • the line, or “snake,” itself has an internal energy that tends to keep the snake in its original shape to some degree.
  • the snake has sufficient internal energy so that it can ignore significant deviations in the edge of the object.
  • the key points do not move as a result of the snake algorithm acting as anchors.
  • the snake itself, however, is elastic and can stretch or shrink to match the edge as needed.
  • the forces, both from external features, that attract the snake to the edge are (1) an edge strength, and (2) an alpha image.
  • the snake has a tendency to align itself along a portion of the alpha image such that on one side the alpha pixels are zero and on the other side the alpha pixels are one.
  • a Canny edge detector is used to determine the edge strength.
  • the Canny algorithm is a well-known method for detecting edges.
  • the Canny filter is applied to the input image itself not the alpha image.
  • the snake algorithm has generally three inputs. One is from the Canny filter performed on the input image, another is the alpha image, and the third is the contour line made up of boundary points between two key points.
  • the snake algorithm is well-known in the field of computer vision and operates as an energy minimization procedure.
  • the snake algorithm takes into account three sources of energy, as described above, in making the snake represent a clean edge of the object.
  • the boundary points comprising the snake can move in only one dimension, either left or right, or up and down. This has the effect of greatly increasing the speed of adjustment iterations made by the snake.
  • the class of snake applied in the process is determined essentially by how much weight is given to the different sources of energy.
  • the system connects the boundary points such that there is a complete or closed loop of pixels constrained by the boundary points. This is necessary because the area fill that eventually fills in the area within the closed loop, will not perform well if there are gaps between the boundary points. Thus, even if the boundary points are sequentially ordered, they may not be adjacent. Therefore, extra pixels may have to be added so that there are no pixel gaps between them.
  • a standard area fill algorithm is used to generate an improved alpha image. This alpha image can subsequently be used to create a clean background subtracted image.
  • a standard area-fill is accomplished at 222 , and the process is complete.
  • the system locates the key points using a general search area and a key point template.
  • Each of the key points have a general search area associated with it.
  • the general search area is the area within which the system expects to find the key point.
  • a template is used to search within the general search area to locate the best region, i.e., the region most likely to be precise key point, within the general search area.
  • the system uses the alpha image of the subject.
  • pixels within or on the edge of the subject have a value of one, for example, and pixels outside the subject have a value of zero.
  • Each key point has a specially configured template, although a template for the right hand key point is a mirror image of the template for the left hand key point, and similarly for the left and right feet, shoulders, and armpits.
  • the template resembles a miniature alpha image.
  • a typical size of a template (significantly smaller than the general search area) is 20 pixels by 20 pixels, in a preferred embodiment.
  • the pixels that have a value of one within the template make up a shape that resembles the expected shape of the key point being search for.
  • template patterns are restricted to be rectangles, so that a Summed Area Table (S.A.T.) facilitates an efficient search.
  • the template is applied to each 20 by 20 region within the general search area. Each time it is applied, the system determines how many of the “one” alpha pixels in the template match the “one” alpha pixels in the subject image. The region in the subject alpha image that has the highest similarity score is determined to be the key point. This process is done for all the primary and secondary key points.
  • FIG. 3 illustrates ten key points(labeled “S” and “P”) associated with a skeleton A in accordance with the present invention. It should be noted that more or fewer key points can be used, as will be appreciated by those skilled in the art.
  • the key points “P” are primary key points, and are located at the extremities of the skeleton A.
  • the key points “S” are secondary key points, and are located proximate to the torso of the skeleton A at the points where the limbs and neck attach to the torso.

Abstract

A background subtraction apparatus of the present invention includes a key point locator for locating key points on a known object type, a boundary point locator for locating boundary points of the known object that make up the edges of the known object, and an edge processor for processing the edges to provide a clean-edged extraction of the known object from a background image. Preferably, the key point locator includes an alignment detector for detecting alignment of an image of the known object type with a skeleton image. Still more preferably, the skeleton image is an exoskeleton image and the known object type is a human being.

Description

CROSS REFERENCE TO RELATED APPLICATIONS
This is a continuation of application Ser. No. 09/174,491, now U.S. Pat. No. 6,411,744, filed Oct. 15, 1998 which claims benefit of 60/062,068, filed on Oct. 15, 1997, and claims benefit of 60/062,361, filed on Oct. 15, 1997.
BACKGROUND OF THE INVENTION
The present invention relates generally to computer vision systems and digital image processing, and more particularly to the digital extraction of an image from its background.
To produce certain special visual effects, it is often desirable to separate a foreground image from a background image. One method for accomplishing this task is referred to as “blue-screening” and involves placing a blue or other fixed-color screen (e.g. a green screen) behind the desired foreground object, typically the image of a person (the colors blue and green hue that strongly contrasts with most colors of human skin). In blue-screening, the system checks to see which pixels in the input image are not blue and labels those pixels as foreground pixels. The system can then composite, or blend, the object (i.e. the collection of all foreground pixels) onto a destination background image.
One of the disadvantages of using blue-screening for object compositing is that it requires a fixed color screen behind the object. Another disadvantage is that if any of the colors on the object, such as an item of clothing, are blue, “holes” will appear in the object in the destination image. This occurs because the pixels in the blue areas on the object will not be labeled as foreground pixels and thus will not be composited with the rest of the object, resulting in the object having holes when composited onto the destination image. Another disadvantage is, obviously, the need for a special room or screen to provide the appropriate background color.
Other prior art background subtraction procedures, from the field of computer vision, are used to eliminate the fixed color screen requirement. One procedure involves building an average background image by taking a predetermined number of sample images of a typically multi-colored background and creating a background model. For each new sample image taken, each pixel in the new image is compared to its corresponding pixel in the background model being formed. Changes are assumed to be to the foreground object, i.e. this is done to determine whether the pixel in the current sample image is a foreground (“object”). Pixels that are determined to be part of the foreground are then blended or composited onto the destination image.
One disadvantage with this procedure is if a foreground pixel happens to match its corresponding background model pixel color, it will not be considered a foreground pixel. This will introduce holes into the composited object. Another disadvantage is that shadows cast by the object often make the object, when composited, appear to have its original form plus extraneous appendages (as a result of the shadows). This is because the procedure may mistakenly label the “shadow” pixels as foreground pixels.
Yet another disadvantage is that if any portion of the background changes or if the camera is moved while the background model is being built, certain portions of the background (e.g. the portions that moved) will be incorrectly labeled as part of the foreground and be composited onto the destination image. Although there are prior art techniques for updating the background model to reflect changes, they cannot account for a constantly changing background such as one that includes a changing television screen or a window looking out onto a busy street.
As is apparent from the foregoing discussion, it has been difficult to obtain a clean-edged outline for a foreground image being extracted from a background image. One known method of creating a clean-edged outline is hand painting the outline for the background subtraction which is typically done by an application developer. While this is appropriate in the application design stage, it is not appropriate for an end user to have to hand paint or manually create the outline of the image.
SUMMARY OF THE INVENTION
The present invention creates a clean-edged extraction of a foreground image from its background in an automated and effective manner. More particularly, the present invention includes an improved method of background subtraction wherein a clean image of the object being composited or texture mapped is created through improvements in determining the outline of the object. As a result, the present invention reduces noise near the edges of an object in an input image from which the background is being “subtracted.” The resulting image can be used for example, in a texture map application or for compositing.
In the texture mapping process any errors that may occur in the background subtraction or inaccuracies that arise from the background subtraction will typically remain throughout the duration of the process. The present invention provides a closed curve which is essentially a noise-reduced outline of the object that is being mapped or composited. By virtue of this process there are no holes or gaps within the object image when it is mapped or composited, since all pixels within the closed curve are reconsidered part of the object.
A background subtraction apparatus of the present invention includes a key point locator for locating key points on a known object type, a boundary point locator for locating boundary points of the known object that make up the edges of the known object, and an edge processor for processing the edges to provide a clean-edged extraction of the known object from a background image. Preferably, the key point locator includes an alignment detector for detecting alignment of an image of the known object type with a skeleton image. Still more preferably, the skeleton image is an exoskeleton image and the known object type is a human being.
A method for subtracting a background in accordance with the present invention includes locating key points on a known object type, locating boundary points of the known object that comprise edges of the known object, and processing the edges to provide a clean-edged extraction of the known object from a background image. Preferably, locating the key points include detecting the alignment of an image of the known object type with a skeleton image. Even more preferably, the key points include primary key points at extremities of an image of the human being and secondary key points near a torso of an image of the human being.
These and other advantages of the present invention will become apparent upon a study of the specification and drawings of this application.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1a is a perspective view of a person standing in front of an apparatus made and operated in accordance with the present invention;
FIG. 1b is an illustration of a user's image with the background removed, where the user's image has clean edges due to the method and apparatus of the present invention;
FIGS. 2a-2c comprise a flow diagram of a method for performing clean background subtraction in accordance with the present invention; and
FIG. 3 illustrates ten key points on a “skeleton” used by the method and apparatus of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
FIG. 1a is an illustration of an apparatus 10 in accordance with the present invention. A user 12, e.g. a child, stands in front of a camera 13 in a pose in which the arms are extended outwardly and the legs are spread somewhat apart. That is, the child moves to fit herself within a skeleton “A” shown on a video monitor 14. The camera 13 and the video monitor 14 are typically connected to a computer 16, as will be appreciated by those skilled in the art. The computer 16 includes or has access to computer implemented process instructions stored within computer readable media (such as RAM, ROM, magnetic or optical media, over a network, etc.) to perform methods (“computer implement processes”) of the present invention.
The skeleton A is an outline of an object or figure that is to be digitally removed from its background. When the object or figure is a human being, a preferred skeletal outline is somewhat of a hollow, five-pointed star shape. The “skeletons” described with reference to the current example are more in the nature of exoskeletons, since they surround the image of the figure to be extracted, although they can also be internal skeletons (e.g. a stick figure of a human being), or combinations thereof, in alternate embodiments of the present invention.
FIG. 1b illustrates an output created by the method and apparatus of the present invention, that is, a clean image of a user with the background removed. This is shown as the image of the user 12 with a black background 20 and an outline 18 of the object with a clean edge. In a preferred embodiment, the background pixels become transparent pixels and are not the same color as any of the pixels on the object being texture mapped or composited.
FIGS. 2a-2c are flowcharts which collectively illustrate a process (comprising, but not limited to, a computer implemented process) for performing the clean background subtraction procedure of the present invention. At 200 the system builds a background model which is a model of the background image that the camera sees without the subject in the image. Once the background model (for example an image of a bedroom or a living room) is created, the system then captures an image of the background model with the subject, such as a human being, that has moved into the background. Essentially this is an image of, for example, a child that has moved in front of the camera after the background model has been created. In a preferred embodiment, the subject is required to generally fit her pose to approximately match a frame or skeleton shown on the computer monitor. An example of a pose is shown in FIG. 1a. This is done in block 202.
At 204 the system locates primary key points of the subject. For a human figure these key points or extremities include the tips of the left and right hands, top of the head, and the bottom of the left and right feet. These are shown at points “P” in FIG. 3. At 206 the system determines whether the general locations of the primary key points are acceptable to the system. That is, are the extremities such as the ends of the hands and the feet and the head in an area where the system would normally expect to find them.
If the system does not find these extremities in the general locations, control returns back to block 202 where the system will take another input image of the subject aligning itself with the skeleton. This indicates that the subject is not yet properly aligned with the skeleton outline. If the locations of the primary key points are generally acceptable to the system, the process continues to block 208.
At 208 the system locates secondary key points of the subject. These are shown at points “S” in FIG. 3. The processing for determining these secondary key points depend on first properly locating the primary key points P of the subject. The secondary key points of a human figure are the left and right shoulders, the left and right arm pits, and the crotch. These points are located depending on where the system locates the primary key points as determined in step 204. Thus, for example, if in block 204 the system does not find the left and right key points properly, the system does not find the proper point for the crotch.
Similar to block 206, at 210 the system checks whether the secondary key points are located in areas where the system would generally expect to see them based on typical body proportions. If any one of them is not where the system expects to be, control returns to block 202. Once the locations of the ten key points, in the current example, (see FIG. 3) are determined, the system now has a definition of ten approximately linear segments that essentially connect these key points and define a general outline of the subject.
At 212 the system determines the locations of boundary points among the ten key points. These boundary points are located essentially by scanning the image in a certain direction, the direction depending on the orientation of the line segments between the key points. For example, a line segment between the left hand and the left arm pit would require a scan that begins at a certain offset away from the outline. The offset is determined by a bounding box whose corners are set by the key points of the segment, plus a pad of a fixed number of pixels, such as ten pixels in a preferred embodiment.
During the scan pixels in one vertical column are examined one by one. Many of the pixels scanned first would be background pixels until the scan reached the lower edge of the child's arm, at which point the scan would detect a foreground pixel. It would then mark this pixel as a boundary point. This procedure is done for all the columns in the approximately linear segment between the hand and the arm pit.
The collection of these boundary points can be seen as a silhouette line which is further refined to form part of a closed curve such that the curve will define the outline of the object. For example, a segment that goes from the left arm pit to the left foot would require a horizontal scan, scanning each pixel in a horizontal row until the scan reached a pixel indicating a foreground pixel. That pixel will be marked as a boundary point in the linear segment between the left arm pit and left foot.
Thus, once the process in block 212 is complete, the system has a series of boundary points that defines fairly closely the outline of the object but still includes nuances and aberrations, i.e. noise, that are on the edges of the object. The key points are used as start and stop delimiters in the scans. The boundary points are stored in a one-dimensional array. Thus, in a preferred embodiment, all the boundary points determined from the ten scans are stored in sequence in this one-dimensional array.
At 214 the system performs a series of smoothing filters to reign in aberrant boundary points, thereby reducing some of the noise in the object's edge. A basic assumption made by the system in applying these filters is that edges between key points are relatively smooth curves. One of the filters, in a preferred embodiment, is a Gaussian model applied to dampen noise in the edges, as represented by the boundary points. In a preferred embodiment, the Gaussian model uses a window or range of about five pixels. The effect of applying the Gaussian model is to bring boundary points that deviate significantly from surrounding boundary points closer to their surrounding boundary points. It has the effect of dampening or lessening the difference between an aberrant point and points in its vicinity.
The Gaussian model smoothing procedure has the effect of a low-pass filter applied to the boundary points. The window used in the Gaussian model is set so that an appropriate smoothing of the boundary points occurs. If the window of boundary points for the Gaussian model is too large, the overall effect is an averaging effect over the boundary points which is generally not desirable due to the lack of accuracy. If the window is too small there is essentially no smoothing effect on the boundary points.
The other smoothing filter is known in the art as a least-square filter which also uses an appropriately sized window of pixels. All the boundary points within the window are aligned or brought closer to a line that is fitted to the boundary points within the window. Thus, the least-square method is a way of fitting a line through the boundary points in a window. The system minimizes the sum of the squares of deviations from the line. The system then places boundary points so that they fit close to or on the line.
At 216 the system runs a snake algorithm to further eliminate noise from the edge of the object. The boundary points comprise a line that make up one input to the snake algorithm. In the application of the snake algorithm as used in the present invention, there are attractive forces acting on the line that bring the line closer to a noise-reduced edge of the object. At the same time the line, or “snake,” itself has an internal energy that tends to keep the snake in its original shape to some degree. Thus, there is a tension between the attractive force of the edge of the object and the natural tendency of the line to keep its original shape. The snake has sufficient internal energy so that it can ignore significant deviations in the edge of the object. As with the smoothing filters, the key points do not move as a result of the snake algorithm acting as anchors. The snake itself, however, is elastic and can stretch or shrink to match the edge as needed.
The forces, both from external features, that attract the snake to the edge are (1) an edge strength, and (2) an alpha image. The snake has a tendency to align itself along a portion of the alpha image such that on one side the alpha pixels are zero and on the other side the alpha pixels are one.
A Canny edge detector is used to determine the edge strength. The Canny algorithm is a well-known method for detecting edges. The Canny filter is applied to the input image itself not the alpha image. Thus, in a preferred embodiment, the snake algorithm has generally three inputs. One is from the Canny filter performed on the input image, another is the alpha image, and the third is the contour line made up of boundary points between two key points.
The snake algorithm is well-known in the field of computer vision and operates as an energy minimization procedure. In a preferred embodiment, the snake algorithm takes into account three sources of energy, as described above, in making the snake represent a clean edge of the object. In the present implementation of the snake algorithm the boundary points comprising the snake can move in only one dimension, either left or right, or up and down. This has the effect of greatly increasing the speed of adjustment iterations made by the snake. The class of snake applied in the process is determined essentially by how much weight is given to the different sources of energy.
With reference to FIG. 2c, at 220 the system connects the boundary points such that there is a complete or closed loop of pixels constrained by the boundary points. This is necessary because the area fill that eventually fills in the area within the closed loop, will not perform well if there are gaps between the boundary points. Thus, even if the boundary points are sequentially ordered, they may not be adjacent. Therefore, extra pixels may have to be added so that there are no pixel gaps between them. Once the boundary loops are connected, thereby forming a closed loop, a standard area fill algorithm is used to generate an improved alpha image. This alpha image can subsequently be used to create a clean background subtracted image. A standard area-fill is accomplished at 222, and the process is complete.
Returning to blocks 204 and 208, the system locates the key points using a general search area and a key point template. Each of the key points have a general search area associated with it. The general search area is the area within which the system expects to find the key point. A template is used to search within the general search area to locate the best region, i.e., the region most likely to be precise key point, within the general search area.
In performing this process, the system uses the alpha image of the subject. Thus, pixels within or on the edge of the subject have a value of one, for example, and pixels outside the subject have a value of zero. Each key point has a specially configured template, although a template for the right hand key point is a mirror image of the template for the left hand key point, and similarly for the left and right feet, shoulders, and armpits.
The template resembles a miniature alpha image. A typical size of a template (significantly smaller than the general search area) is 20 pixels by 20 pixels, in a preferred embodiment. The pixels that have a value of one within the template make up a shape that resembles the expected shape of the key point being search for.
In a preferred embodiment, template patterns are restricted to be rectangles, so that a Summed Area Table (S.A.T.) facilitates an efficient search. The template is applied to each 20 by 20 region within the general search area. Each time it is applied, the system determines how many of the “one” alpha pixels in the template match the “one” alpha pixels in the subject image. The region in the subject alpha image that has the highest similarity score is determined to be the key point. This process is done for all the primary and secondary key points.
If none of the regions in a general search area gets a similarity score above a certain threshold after being checked by the template, the system assumes that the subject did not strike a pose that generally matched the skeleton and waits for another pose, thereby returning control to block 202. This is one way for the system to determine if primary key points and secondary key points are ascertainable given the subject's alignment with the skeleton.
FIG. 3 illustrates ten key points(labeled “S” and “P”) associated with a skeleton A in accordance with the present invention. It should be noted that more or fewer key points can be used, as will be appreciated by those skilled in the art. The key points “P” are primary key points, and are located at the extremities of the skeleton A. The key points “S” are secondary key points, and are located proximate to the torso of the skeleton A at the points where the limbs and neck attach to the torso.
While this invention has been described in terms of several preferred embodiments, it will be apparent to those of skill in the art that various equivalents, permutations, and additions thereof are within the scope of the present invention. It is therefore intended that the following appending claims include all such equivalents, permutations and additions as fall within the true spirit and scope of the present invention.

Claims (60)

1. A method for subtracting a background comprising:
locating key points on an image of a known object type;
determining line segments between the key points;
locating boundary points of the image that comprise edges of the known object by using the line segments;
eliminating pixel gaps between the boundary points;
connecting the boundary points to obtain a closed loop of pixels; processing the edges to provide a clean-edged extraction of the image from a background image, including using an alpha image to determine a key point, which is selected based on a similarity score for a region in the alpha image; and
reducing noise from the edges of the known object, after determining the key points, using an edge strength, the alpha image, and the line segments by aligning a snake to the line segments;
wherein at least one key point is located based at least in part on a key point template comprising a plurality of pixels and specially configured for that key point; and
wherein the pixels in the specially configured key point template that make up a shape associated with the key point have a first value and the other pixels in the specially configured key point template have a second value.
2. A method for subtracting a background as recited in claim 1 further including aligning the image with a skeleton image prior to locating the key points.
3. A method for subtracting a background as recited in claim 1 wherein locating boundary points includes scanning the image in directions dependent upon the orientation of the line segments.
4. A method for subtracting a background as recited in claim 1 wherein the key points include primary key points and secondary key points located based on the primary key points.
5. A method for subtracting a background as recited in claim 1 wherein locating the key points includes using a general search area.
6. A method for subtracting a background as recited in claim 1 wherein locating the key points includes using a general search area and a Summed Area Table.
7. A method for subtracting a background as recited in claim 1 wherein locating the key points includes:
locating primary key points;
determining whether the primary key points are in acceptable locations;
repeating locating primary key points if the primary key points are determined not to be in acceptable locations;
locating secondary key points based on the primary points;
determining whether the secondary points are in acceptable locations;
repeating locating secondary key points if the secondary key points are determined not to be in acceptable locations.
8. A method for subtracting a background as recited in claim 1 further including aligning the image of the known object type with a skeleton image prior to locating the key points, wherein the skeleton image is an outline image.
9. A method for subtracting a background as recited in claim 1 further including:
aligning the image of the known object type with a skeleton image prior to locating the key points;
scanning the image in directions dependent upon the orientation of the line segments, beginning at an offset away from the skeleton image.
10. A method for subtracting a background as recited in claim 1 further including:
aligning the image with a skeleton image prior to locating the key points;
scanning the image in directions dependent upon the orientation of the line segments, beginning at an offset away from the skeleton image;
wherein the offset is determined by a bounding box whose corners are set by the key points.
11. A method for subtracting a background as recited in claim 1 further including:
aligning the image with a skeleton image prior to locating the key points;
scanning the image in directions dependent upon the orientation of the line segments, beginning at an offset away from the skeleton image;
wherein the offset is determined by a bounding box whose corners are set by the key points plus a pad of pixels.
12. A method for subtracting a background as recited in claim 1 further including aligning the image with a skeleton image prior to locating the key points, wherein the skeleton image is an outline image and the known object type is a human being.
13. A method for subtracting a background as recited in claim 1 further including aligning the image with a skeleton image prior to locating the key points, wherein:
the skeleton image is an outline image;
the known object type is a human being; and
the key points include primary key points at extremities of the image and secondary key points near a torso of the image.
14. A method for subtracting a background as recited in claim 1 wherein processing the edges includes filtering the edges.
15. A background subtraction apparatus comprising:
an image acquisition device for acquiring an image of a known object type; and
a processor configured to:
locate key points on the image;
determine line segments between the key points;
locate boundary points of the image that comprise edges of the known object by using the line segments;
eliminate pixel gaps between the boundary points;
connect the boundary points to obtain a closed loop of pixels;
process the edges to provide a clean-edged extraction of the image from a background image including using an alpha image to determine a key point, which is selected based on a similarity score for a region in the alpha image; and
reduce noise from the edges of the known object, after determining the key points, using an edge strength, the alpha image, and the line segments by aligning a snake to the line segments;
wherein at least one key point is located based at least in part on a key point template comprising a plurality of pixels and specially configured for that key point; and
wherein the pixels in the specially configured key point template that make up a shape associated with the key point have a first value and the other pixels in the specially configured key point template have a second value.
16. A background subtraction apparatus as recited in claim 15 wherein the processor is further configured to align the image with a skeleton image.
17. A background subtraction apparatus as recited in claim 15 wherein the processor is further configured to scan the image in directions dependent upon the orientation of the line segments.
18. A background subtraction apparatus as recited in claim 15 wherein the key points include primary key points and secondary key points located based on the primary key points.
19. A background subtraction apparatus as recited in claim 15 wherein the processor is further configured to locate the key points using a general search area.
20. A background subtraction apparatus as recited in claim 15 the processor is further configured to locate the key points using a general search area and a Summed Area Table.
21. A background subtraction apparatus as recited in claim 15 wherein the processor is further configured to:
locate primary key points;
repeat locating primary key points if the primary key points are determined not to be in acceptable locations;
locate secondary key points based on the primary key points;
determine whether the secondary key points are in acceptable locations;
repeat locating secondary key points if the secondary key points are determined not to be in acceptable locations.
22. A background subtraction apparatus as recited in claim 15 wherein the processor is further configured to align the image of the known object type with a skeleton image, wherein the skeleton image is an outline image.
23. A background subtraction apparatus as recited in claim 15 wherein the processor is further configured to:
align the image of the known object type with a skeleton image prior to locating the key points;
scan the image in directions dependent upon the orientation of the line segments, beginning at an offset away from the skeleton image.
24. A background subtraction apparatus as recited in claim 15 wherein the processor is further configured to:
align the image with a skeleton image prior to locating the key points;
scan the image in directions dependent upon the orientation of the line segments, beginning at an offset away from the skeleton image;
wherein the offset is determined by a bounding box whose corners are set by the key points.
25. A background subtraction apparatus as recited in claim 15 wherein the processor is further configured to:
align the image with a skeleton image prior to locating the key points;
scan the image in directions dependent upon the orientation of the line segments, beginning at an offset away from the skeleton image;
wherein the offset is determined by a bounding box whose corners are set by the key points plus a pad of pixels.
26. A background subtraction apparatus as recited in claim 15 wherein the processor is further configured to align the image with a skeleton image, wherein the skeleton image is an outline image and the known object type is a human being.
27. A background subtraction apparatus as recited in claim 15 wherein the processor is further configured to align the image with a skeleton image, wherein:
the skeleton image is an outline image;
the known object type is a human being; and
the key points include primary key points at extremities of the image and secondary key points near a torso of the image.
28. A background subtraction apparatus as recited in claim 15 wherein the processor is further configured to filter the edges.
29. A non-transitory computer-readable storage medium having computer implemented process instructions stored thereon that, if executed by a computer, cause the computer to perform a method for subtracting a background, the method comprising:
locating key points on an image of a known object type, including using an alpha image to determine a key point, which is selected based on a similarity score for a region in the alpha image;
determining line segments between the key points;
locating boundary points of the image that comprise edges of the known object by using the line segments;
eliminating pixel gaps between the boundary points;
connecting the boundary points to obtain a closed loop of pixels;
processing the edges to provide a clean-edged extraction of the image from a background image; and
reducing noise from the edges of the known object, after determining the key points, using an edge strength, the alpha image, and the line segments by aligning a snake to the line segments;
wherein at least one key point is located based at least in part on a key point template comprising a plurality of pixels and specially configured for that key point; and
wherein the pixels in the specially configured key point template that make up a shape associated with the key point have a first value and the other pixels in the specially configured key point template have a second value.
30. The non-transitory computer-readable storage medium recited in claim 29 , wherein the instructions include instructions for aligning the image with a skeleton image prior to locating the key points.
31. The non-transitory computer-readable storage medium recited in claim 29 , wherein the instructions for locating boundary points include instructions for scanning the image in directions dependent upon the orientation of the line segments.
32. The non-transitory computer-readable storage medium recited in claim 29 , wherein the key points include primary key points and secondary key points located based on the primary key points.
33. The non-transitory computer-readable storage medium recited in claim 29 , wherein the instructions for locating the key points include instructions for using a general search area.
34. The non-transitory computer-readable storage medium recited in claim 29 , wherein the instructions for locating the key points include instructions for using a general search area and a Summed Area Table.
35. The non-transitory computer-readable storage medium recited in claim 29 , wherein the instructions for locating the key points include instructions for:
locating primary key points;
determining whether the primary key points are in acceptable locations;
repeating locating primary key points if the primary key points are determined not to be in acceptable locations;
locating secondary key points based on the primary points;
determining whether the secondary points are in acceptable locations; and
repeating locating secondary key points if the secondary key points are determined not to be in acceptable locations.
36. The non-transitory computer-readable storage medium recited in claim 29 , wherein the instructions include instructions for aligning the image of the known object type with a skeleton image prior to locating the key points, wherein the skeleton image is an outline image.
37. The non-transitory computer-readable storage medium recited in claim 29 , wherein the instructions include instructions for:
aligning the image of the known object type with a skeleton image prior to locating the key points; and
scanning the image in directions dependent upon the orientation of the line segments, beginning at an offset away from the skeleton image.
38. The non-transitory computer-readable storage medium recited in claim 29 , wherein the instructions include instructions for:
aligning the image with a skeleton image prior to locating the key points; and
scanning the image in directions dependent upon the orientation of the line segments, beginning at an offset away from the skeleton image;
wherein the offset is determined by a bounding box whose corners are set by the key points.
39. The non-transitory computer-readable storage medium recited in claim 29 , wherein the instructions further include instructions for:
aligning the image with a skeleton image prior to locating the key points; and
scanning the image in directions dependent upon the orientation of the line segments, beginning at an offset away from the skeleton image;
wherein the offset is determined by a bounding box whose corners are set by the key points plus a pad of pixels.
40. The non-transitory computer-readable storage medium recited in claim 29 , wherein the instructions further include instructions for aligning the image with a skeleton image prior to locating the key points, wherein the skeleton image is an outline image and the known object type is a human being.
41. The non-transitory computer-readable storage medium recited in claim 29 , wherein the instructions further include instructions for aligning the image with a skeleton image prior to locating the key points, wherein the skeleton image is an outline image; wherein the known object type is a human being; and wherein the key points include primary key points at extremities of the image and secondary key points near a torso of the image.
42. The non-transitory computer-readable storage medium recited in claim 29 , wherein processing the edges includes filtering the edges.
43. A computer-implemented method for subtracting an image of a known object type from a background image, the method comprising:
locating, with a computer, key points on an image of a known object type based on a similarity score for a region in an alpha image of the known object type and a template of a key point;
determining line segments between the key points;
locating boundary points of the image of the known object that comprise edges of the known object by using the line segments;
eliminating pixel gaps between the boundary points;
reducing noise from the edges of the image of the known object, after determining the key points, using an edge strength, the alpha image, and the line segments by aligning a snake to the line segments; and
connecting the boundary points to obtain a closed loop of pixels;
wherein the template comprises a plurality of pixels and is specially configured for that key point; and
wherein the pixels in the template that make up a shape associated with the key point have a first value, and the other pixels in the template have a second value.
44. The method of claim 43, the method further comprising determining if the image of the known object is aligned with a skeleton image prior to locating the key points.
45. The method of claim 43, wherein locating boundary points includes scanning the image in directions dependent upon the orientation of the line segments.
46. The method of claim 43, wherein the key points include primary key points and secondary key points located based on the primary key points.
47. The method of claim 43, wherein locating the key points includes using a general search area.
48. The method of claim 43, wherein locating the key points includes using a general search area and a Summed Area Table.
49. The method of claim 43, wherein locating the key points includes:
locating primary key points;
determining whether the primary key points are in acceptable locations;
repeating locating primary key points if the primary key points are determined not to be in acceptable locations;
locating secondary key points based on the primary points;
determining whether the secondary points are in acceptable locations; and
repeating locating secondary key points if the secondary key points are determined not to be in acceptable locations.
50. The method of claim 43, further comprising determining if the image of the known object type is aligned with a skeleton image prior to locating the key points, wherein the skeleton image is an outline image.
51. The method of claim 43, further comprising:
prompting a user to align the image of the known object type with a skeleton image prior to locating the key points; and
scanning the image in directions dependent upon the orientation of the line segments, beginning at an offset away from the skeleton image.
52. The method of claim 43, further comprising:
prompting a user to align the image of the known object type with a skeleton image prior to locating the key points; and
scanning the image of the known object type in directions dependent upon the orientation of the line segments, beginning at an offset away from the skeleton image; wherein the offset is determined by a bounding box whose corners are set by the key points.
53. The method of claim 43, further comprising:
prompting a user to align the image of the known object type with a skeleton image prior to locating the key points; and
scanning the image of the known object type in directions dependent upon the orientation of the line segments, beginning at an offset away from the skeleton image;
wherein the offset is determined by a bounding box whose corners are set by the key points plus a pad of pixels.
54. The method of claim 43, further comprising prompting a user to align the image of the known object type with a skeleton image prior to locating the key points, wherein the skeleton image is an outline image and the known object type is a human being.
55. The method of claim 43, further comprising prompting a user to align the image of the known object type with a skeleton image prior to locating the key points; wherein the skeleton image is an outline image; wherein the known object type is a human being; and wherein the key points include primary key points at extremities of the image and secondary key points near a torso of the image.
56. The method of claim 43, further comprising filtering the edges.
57. A background subtraction apparatus, comprising:
means for acquiring an image of a known object type;
means for locating key points on an image of a known object type based on a similarity score for a region in an alpha image of the known object type and a template of a key point;
means for determining line segments between the key points;
means for locating boundary points of the image of the known object that comprise edges of the known object by using the line segments;
means for eliminating pixel gaps between the boundary points;
means for reducing noise from the edges of the image of the known object, after determining the key points, using an edge strength, the alpha image, and the line segments by aligning a snake to the line segments; and
means for connecting the boundary points to obtain a closed loop of pixels;
wherein the template comprises a plurality of pixels and is specially configured for that key point; and
wherein the pixels in the template that make up a shape associated with the key point have a first value, and the other pixels in the template have a second value.
58. A background subtraction apparatus, comprising:
an image acquisition device for acquiring an image of a known object type; and
a processor configured to:
locate key points on an image of a known object type based on a similarity score for a region in an alpha image of the known object type and a template of a key point;
determine line segments between the key points;
locate boundary points of the image of the known object that comprise edges of the known object by using the line segments;
eliminate pixel gaps between the boundary points;
reduce noise from the edges of the image of the known object, after determining the key points, using an edge strength, the alpha image, and the line segments by aligning a snake to the line segments; and
connect the boundary points to obtain a closed loop of pixels;
wherein the template comprises a plurality of pixels and is specially configured for that key point; and
wherein the pixels in the template that make up a shape associated with the key point have a first value, and the other pixels in the template have a second value.
59. The apparatus recited in claim 58, wherein the processor is further configured to align the image with a skeleton image prior to locating the key points.
60. The apparatus recited in claim 58, wherein the processor is further configured to:
locate primary key points;
determine whether the primary key points are in acceptable locations;
repeat locating primary key points if the primary key points are determined not to be in acceptable locations;
locate secondary key points based on the primary points;
determine whether the secondary points are in acceptable locations; and
repeat locating secondary key points if the secondary key points are determined not to be in acceptable locations.
US12/351,762 1997-10-15 2009-01-09 Method and apparatus for performing a clean background subtraction Expired - Fee Related USRE42256E1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/351,762 USRE42256E1 (en) 1997-10-15 2009-01-09 Method and apparatus for performing a clean background subtraction

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US6206897P 1997-10-15 1997-10-15
US6236197P 1997-10-15 1997-10-15
US09/174,491 US6411744B1 (en) 1997-10-15 1998-10-15 Method and apparatus for performing a clean background subtraction
US10/126,479 US7162082B2 (en) 1997-10-15 2002-04-18 Method and apparatus for performing a clean background subtraction
US12/351,762 USRE42256E1 (en) 1997-10-15 2009-01-09 Method and apparatus for performing a clean background subtraction

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/126,479 Reissue US7162082B2 (en) 1997-10-15 2002-04-18 Method and apparatus for performing a clean background subtraction

Publications (1)

Publication Number Publication Date
USRE42256E1 true USRE42256E1 (en) 2011-03-29

Family

ID=26741826

Family Applications (3)

Application Number Title Priority Date Filing Date
US09/174,491 Expired - Lifetime US6411744B1 (en) 1997-10-15 1998-10-15 Method and apparatus for performing a clean background subtraction
US10/126,479 Ceased US7162082B2 (en) 1997-10-15 2002-04-18 Method and apparatus for performing a clean background subtraction
US12/351,762 Expired - Fee Related USRE42256E1 (en) 1997-10-15 2009-01-09 Method and apparatus for performing a clean background subtraction

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US09/174,491 Expired - Lifetime US6411744B1 (en) 1997-10-15 1998-10-15 Method and apparatus for performing a clean background subtraction
US10/126,479 Ceased US7162082B2 (en) 1997-10-15 2002-04-18 Method and apparatus for performing a clean background subtraction

Country Status (3)

Country Link
US (3) US6411744B1 (en)
AU (1) AU1099899A (en)
WO (1) WO1999019828A1 (en)

Cited By (228)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080204411A1 (en) * 2002-02-07 2008-08-28 Microsoft Corporation Recognizing a movement of a pointing device
US20100146464A1 (en) * 2003-03-25 2010-06-10 Microsoft Corporation Architecture For Controlling A Computer Using Hand Gestures
US20100199229A1 (en) * 2009-01-30 2010-08-05 Microsoft Corporation Mapping a natural input device to a legacy system
US20100241998A1 (en) * 2009-03-20 2010-09-23 Microsoft Corporation Virtual object manipulation
US20100302247A1 (en) * 2009-05-29 2010-12-02 Microsoft Corporation Target digitization, extraction, and tracking
US20100302365A1 (en) * 2009-05-29 2010-12-02 Microsoft Corporation Depth Image Noise Reduction
US20110032336A1 (en) * 2009-01-30 2011-02-10 Microsoft Corporation Body scan
US20110075921A1 (en) * 2009-09-30 2011-03-31 Microsoft Corporation Image Selection Techniques
US20110081044A1 (en) * 2009-10-07 2011-04-07 Microsoft Corporation Systems And Methods For Removing A Background Of An Image
US20110119640A1 (en) * 2009-11-19 2011-05-19 Microsoft Corporation Distance scalable no touch computing
US20110199302A1 (en) * 2010-02-16 2011-08-18 Microsoft Corporation Capturing screen objects using a collision volume
US20110210915A1 (en) * 2009-05-01 2011-09-01 Microsoft Corporation Human Body Pose Estimation
US20110216965A1 (en) * 2010-03-05 2011-09-08 Microsoft Corporation Image Segmentation Using Reduced Foreground Training Data
US20110234490A1 (en) * 2009-01-30 2011-09-29 Microsoft Corporation Predictive Determination
US8213680B2 (en) 2010-03-19 2012-07-03 Microsoft Corporation Proxy training data for human body tracking
US8253746B2 (en) 2009-05-01 2012-08-28 Microsoft Corporation Determine intended motions
US8264536B2 (en) 2009-08-25 2012-09-11 Microsoft Corporation Depth-sensitive imaging via polarization-state mapping
US8265341B2 (en) 2010-01-25 2012-09-11 Microsoft Corporation Voice-body identity correlation
US8267781B2 (en) 2009-01-30 2012-09-18 Microsoft Corporation Visual target tracking
US8279418B2 (en) 2010-03-17 2012-10-02 Microsoft Corporation Raster scanning for depth detection
US8284847B2 (en) 2010-05-03 2012-10-09 Microsoft Corporation Detecting motion for a multifunction sensor device
US8295546B2 (en) 2009-01-30 2012-10-23 Microsoft Corporation Pose tracking pipeline
US8296151B2 (en) 2010-06-18 2012-10-23 Microsoft Corporation Compound gesture-speech commands
US8320621B2 (en) 2009-12-21 2012-11-27 Microsoft Corporation Depth projector system with integrated VCSEL array
US8320619B2 (en) 2009-05-29 2012-11-27 Microsoft Corporation Systems and methods for tracking a model
US8325909B2 (en) 2008-06-25 2012-12-04 Microsoft Corporation Acoustic echo suppression
US8325984B2 (en) 2009-10-07 2012-12-04 Microsoft Corporation Systems and methods for tracking a model
US8330822B2 (en) 2010-06-09 2012-12-11 Microsoft Corporation Thermally-tuned depth camera light source
US8330134B2 (en) 2009-09-14 2012-12-11 Microsoft Corporation Optical fault monitoring
US8340432B2 (en) 2009-05-01 2012-12-25 Microsoft Corporation Systems and methods for detecting a tilt angle from a depth image
US8351651B2 (en) 2010-04-26 2013-01-08 Microsoft Corporation Hand-location post-process refinement in a tracking system
US8363212B2 (en) 2008-06-30 2013-01-29 Microsoft Corporation System architecture design for time-of-flight system having reduced differential pixel size, and time-of-flight systems so designed
US8374423B2 (en) 2009-12-18 2013-02-12 Microsoft Corporation Motion detection using depth images
US8379101B2 (en) 2009-05-29 2013-02-19 Microsoft Corporation Environment and/or target segmentation
US8381108B2 (en) 2010-06-21 2013-02-19 Microsoft Corporation Natural user input for driving interactive stories
US8379919B2 (en) 2010-04-29 2013-02-19 Microsoft Corporation Multiple centroid condensation of probability distribution clouds
US8385557B2 (en) 2008-06-19 2013-02-26 Microsoft Corporation Multichannel acoustic echo reduction
US8385596B2 (en) 2010-12-21 2013-02-26 Microsoft Corporation First person shooter control with virtual skeleton
US8390680B2 (en) 2009-07-09 2013-03-05 Microsoft Corporation Visual representation expression based on player expression
US8401242B2 (en) 2011-01-31 2013-03-19 Microsoft Corporation Real-time camera tracking using depth maps
US8401225B2 (en) 2011-01-31 2013-03-19 Microsoft Corporation Moving object segmentation using depth images
US8408706B2 (en) 2010-12-13 2013-04-02 Microsoft Corporation 3D gaze tracker
US8411948B2 (en) 2010-03-05 2013-04-02 Microsoft Corporation Up-sampling binary images for segmentation
US8416187B2 (en) 2010-06-22 2013-04-09 Microsoft Corporation Item navigation using motion-capture data
US8418085B2 (en) 2009-05-29 2013-04-09 Microsoft Corporation Gesture coach
US8428340B2 (en) 2009-09-21 2013-04-23 Microsoft Corporation Screen space plane identification
US8437506B2 (en) 2010-09-07 2013-05-07 Microsoft Corporation System for fast, probabilistic skeletal tracking
US8448056B2 (en) 2010-12-17 2013-05-21 Microsoft Corporation Validation analysis of human target
US8457353B2 (en) 2010-05-18 2013-06-04 Microsoft Corporation Gestures and gesture modifiers for manipulating a user-interface
US8488888B2 (en) 2010-12-28 2013-07-16 Microsoft Corporation Classification of posture states
US8487938B2 (en) 2009-01-30 2013-07-16 Microsoft Corporation Standard Gestures
US8487871B2 (en) 2009-06-01 2013-07-16 Microsoft Corporation Virtual desktop coordinate transformation
US8498481B2 (en) 2010-05-07 2013-07-30 Microsoft Corporation Image segmentation using star-convexity constraints
US8499257B2 (en) 2010-02-09 2013-07-30 Microsoft Corporation Handles interactions for human—computer interface
US8497838B2 (en) 2011-02-16 2013-07-30 Microsoft Corporation Push actuation of interface controls
US8503494B2 (en) 2011-04-05 2013-08-06 Microsoft Corporation Thermal management system
US8509479B2 (en) 2009-05-29 2013-08-13 Microsoft Corporation Virtual object
US8508919B2 (en) 2009-09-14 2013-08-13 Microsoft Corporation Separation of electrical and optical components
US8509545B2 (en) 2011-11-29 2013-08-13 Microsoft Corporation Foreground subject detection
US8514269B2 (en) 2010-03-26 2013-08-20 Microsoft Corporation De-aliasing depth images
US8526734B2 (en) 2011-06-01 2013-09-03 Microsoft Corporation Three-dimensional background removal for vision system
US8523667B2 (en) 2010-03-29 2013-09-03 Microsoft Corporation Parental control settings based on body dimensions
US8542910B2 (en) 2009-10-07 2013-09-24 Microsoft Corporation Human tracking system
US8548270B2 (en) 2010-10-04 2013-10-01 Microsoft Corporation Time-of-flight depth imaging
US8553934B2 (en) 2010-12-08 2013-10-08 Microsoft Corporation Orienting the position of a sensor
US8558873B2 (en) 2010-06-16 2013-10-15 Microsoft Corporation Use of wavefront coding to create a depth image
US8565476B2 (en) 2009-01-30 2013-10-22 Microsoft Corporation Visual target tracking
US8565477B2 (en) 2009-01-30 2013-10-22 Microsoft Corporation Visual target tracking
US8571263B2 (en) 2011-03-17 2013-10-29 Microsoft Corporation Predicting joint positions
US8577085B2 (en) 2009-01-30 2013-11-05 Microsoft Corporation Visual target tracking
US8577084B2 (en) 2009-01-30 2013-11-05 Microsoft Corporation Visual target tracking
US8588465B2 (en) 2009-01-30 2013-11-19 Microsoft Corporation Visual target tracking
US8587583B2 (en) 2011-01-31 2013-11-19 Microsoft Corporation Three-dimensional environment reconstruction
US8592739B2 (en) 2010-11-02 2013-11-26 Microsoft Corporation Detection of configuration changes of an optical element in an illumination system
US8597142B2 (en) 2011-06-06 2013-12-03 Microsoft Corporation Dynamic camera based practice mode
US8605763B2 (en) 2010-03-31 2013-12-10 Microsoft Corporation Temperature measurement and control for laser and light-emitting diodes
US8613666B2 (en) 2010-08-31 2013-12-24 Microsoft Corporation User selection and navigation based on looped motions
US8620113B2 (en) 2011-04-25 2013-12-31 Microsoft Corporation Laser diode modes
US8618405B2 (en) 2010-12-09 2013-12-31 Microsoft Corp. Free-space gesture musical instrument digital interface (MIDI) controller
US8619122B2 (en) 2010-02-02 2013-12-31 Microsoft Corporation Depth camera compatibility
US8625837B2 (en) 2009-05-29 2014-01-07 Microsoft Corporation Protocol and format for communicating an image from a camera to a computing environment
US8631355B2 (en) 2010-01-08 2014-01-14 Microsoft Corporation Assigning gesture dictionaries
US8629976B2 (en) 2007-10-02 2014-01-14 Microsoft Corporation Methods and systems for hierarchical de-aliasing time-of-flight (TOF) systems
US8630457B2 (en) 2011-12-15 2014-01-14 Microsoft Corporation Problem states for pose tracking pipeline
US8635637B2 (en) 2011-12-02 2014-01-21 Microsoft Corporation User interface presenting an animated avatar performing a media reaction
US8633890B2 (en) 2010-02-16 2014-01-21 Microsoft Corporation Gesture detection based on joint skipping
US8649554B2 (en) 2009-05-01 2014-02-11 Microsoft Corporation Method to control perspective for a camera-controlled computer
US8655069B2 (en) 2010-03-05 2014-02-18 Microsoft Corporation Updating image segmentation following user input
US8659658B2 (en) 2010-02-09 2014-02-25 Microsoft Corporation Physical interaction zone for gesture-based user interfaces
US8660303B2 (en) 2009-05-01 2014-02-25 Microsoft Corporation Detection of body and props
US8667519B2 (en) 2010-11-12 2014-03-04 Microsoft Corporation Automatic passive and anonymous feedback system
US8670029B2 (en) 2010-06-16 2014-03-11 Microsoft Corporation Depth camera illuminator with superluminescent light-emitting diode
US8676581B2 (en) 2010-01-22 2014-03-18 Microsoft Corporation Speech recognition analysis via identification information
US8675981B2 (en) 2010-06-11 2014-03-18 Microsoft Corporation Multi-modal gender recognition including depth data
US8682028B2 (en) 2009-01-30 2014-03-25 Microsoft Corporation Visual target tracking
US8681255B2 (en) 2010-09-28 2014-03-25 Microsoft Corporation Integrated low power depth camera and projection device
US8681321B2 (en) 2009-01-04 2014-03-25 Microsoft International Holdings B.V. Gated 3D camera
US8687044B2 (en) 2010-02-02 2014-04-01 Microsoft Corporation Depth camera compatibility
US8693724B2 (en) 2009-05-29 2014-04-08 Microsoft Corporation Method and system implementing user-centric gesture control
US8702507B2 (en) 2011-04-28 2014-04-22 Microsoft Corporation Manual and camera-based avatar control
US8717469B2 (en) 2010-02-03 2014-05-06 Microsoft Corporation Fast gating photosurface
US8724887B2 (en) 2011-02-03 2014-05-13 Microsoft Corporation Environmental modifications to mitigate environmental factors
US8724906B2 (en) 2011-11-18 2014-05-13 Microsoft Corporation Computing pose and/or shape of modifiable entities
US8723118B2 (en) 2009-10-01 2014-05-13 Microsoft Corporation Imager for constructing color and depth images
US8744121B2 (en) 2009-05-29 2014-06-03 Microsoft Corporation Device for identifying and tracking multiple humans over time
US8745541B2 (en) 2003-03-25 2014-06-03 Microsoft Corporation Architecture for controlling a computer using hand gestures
US8751215B2 (en) 2010-06-04 2014-06-10 Microsoft Corporation Machine based sign language interpreter
US8749557B2 (en) 2010-06-11 2014-06-10 Microsoft Corporation Interacting with user interface via avatar
US8760571B2 (en) 2009-09-21 2014-06-24 Microsoft Corporation Alignment of lens and image sensor
US8760395B2 (en) 2011-05-31 2014-06-24 Microsoft Corporation Gesture recognition techniques
US8762894B2 (en) 2009-05-01 2014-06-24 Microsoft Corporation Managing virtual ports
US8773355B2 (en) 2009-03-16 2014-07-08 Microsoft Corporation Adaptive cursor sizing
US8782567B2 (en) 2009-01-30 2014-07-15 Microsoft Corporation Gesture recognizer system architecture
US8788973B2 (en) 2011-05-23 2014-07-22 Microsoft Corporation Three-dimensional gesture controlled avatar configuration interface
US8786730B2 (en) 2011-08-18 2014-07-22 Microsoft Corporation Image exposure using exclusion regions
US8803888B2 (en) 2010-06-02 2014-08-12 Microsoft Corporation Recognition system for sharing information
US8803952B2 (en) 2010-12-20 2014-08-12 Microsoft Corporation Plural detector time-of-flight depth mapping
US8803800B2 (en) 2011-12-02 2014-08-12 Microsoft Corporation User interface control based on head orientation
US8811938B2 (en) 2011-12-16 2014-08-19 Microsoft Corporation Providing a user interface experience based on inferred vehicle state
US8818002B2 (en) 2007-03-22 2014-08-26 Microsoft Corp. Robust adaptive beamforming with enhanced noise suppression
US8824749B2 (en) 2011-04-05 2014-09-02 Microsoft Corporation Biometric recognition
US8856691B2 (en) 2009-05-29 2014-10-07 Microsoft Corporation Gesture tool
US8854426B2 (en) 2011-11-07 2014-10-07 Microsoft Corporation Time-of-flight camera with guided light
US8866889B2 (en) 2010-11-03 2014-10-21 Microsoft Corporation In-home depth camera calibration
US8864581B2 (en) 2010-01-29 2014-10-21 Microsoft Corporation Visual based identitiy tracking
US8879831B2 (en) 2011-12-15 2014-11-04 Microsoft Corporation Using high-level attributes to guide image processing
US8885890B2 (en) 2010-05-07 2014-11-11 Microsoft Corporation Depth map confidence filtering
US8884968B2 (en) 2010-12-15 2014-11-11 Microsoft Corporation Modeling an object from image data
US8882310B2 (en) 2012-12-10 2014-11-11 Microsoft Corporation Laser die light source module with low inductance
US8891067B2 (en) 2010-02-01 2014-11-18 Microsoft Corporation Multiple synchronized optical sources for time-of-flight range finding systems
US8888331B2 (en) 2011-05-09 2014-11-18 Microsoft Corporation Low inductance light source module
US8892495B2 (en) 1991-12-23 2014-11-18 Blanding Hovenweep, Llc Adaptive pattern recognition based controller apparatus and method and human-interface therefore
US8897491B2 (en) 2011-06-06 2014-11-25 Microsoft Corporation System for finger recognition and tracking
US8898687B2 (en) 2012-04-04 2014-11-25 Microsoft Corporation Controlling a media program based on a media reaction
US8920241B2 (en) 2010-12-15 2014-12-30 Microsoft Corporation Gesture controlled persistent handles for interface guides
US8928579B2 (en) 2010-02-22 2015-01-06 Andrew David Wilson Interacting with an omni-directionally projected display
US8929612B2 (en) 2011-06-06 2015-01-06 Microsoft Corporation System for recognizing an open or closed hand
US8933884B2 (en) 2010-01-15 2015-01-13 Microsoft Corporation Tracking groups of users in motion capture system
US8942428B2 (en) 2009-05-01 2015-01-27 Microsoft Corporation Isolate extraneous motions
US8942917B2 (en) 2011-02-14 2015-01-27 Microsoft Corporation Change invariant scene recognition by an agent
US8959541B2 (en) 2012-05-04 2015-02-17 Microsoft Technology Licensing, Llc Determining a future portion of a currently presented media program
US8963829B2 (en) 2009-10-07 2015-02-24 Microsoft Corporation Methods and systems for determining and tracking extremities of a target
US8968091B2 (en) 2010-09-07 2015-03-03 Microsoft Technology Licensing, Llc Scalable real-time motion recognition
US8971612B2 (en) 2011-12-15 2015-03-03 Microsoft Corporation Learning image processing tasks from scene reconstructions
US8976986B2 (en) 2009-09-21 2015-03-10 Microsoft Technology Licensing, Llc Volume adjustment based on listener position
US8982151B2 (en) 2010-06-14 2015-03-17 Microsoft Technology Licensing, Llc Independently processing planes of display data
US8988508B2 (en) 2010-09-24 2015-03-24 Microsoft Technology Licensing, Llc. Wide angle field of view active illumination imaging system
US8988432B2 (en) 2009-11-05 2015-03-24 Microsoft Technology Licensing, Llc Systems and methods for processing an image for target tracking
US8988437B2 (en) 2009-03-20 2015-03-24 Microsoft Technology Licensing, Llc Chaining animations
US8994718B2 (en) 2010-12-21 2015-03-31 Microsoft Technology Licensing, Llc Skeletal control of three-dimensional virtual world
US9001118B2 (en) 2012-06-21 2015-04-07 Microsoft Technology Licensing, Llc Avatar construction using depth camera
US9008355B2 (en) 2010-06-04 2015-04-14 Microsoft Technology Licensing, Llc Automatic depth camera aiming
US9015638B2 (en) 2009-05-01 2015-04-21 Microsoft Technology Licensing, Llc Binding users to a gesture based system and providing feedback to the users
US9013489B2 (en) 2011-06-06 2015-04-21 Microsoft Technology Licensing, Llc Generation of avatar reflecting player appearance
US9019201B2 (en) 2010-01-08 2015-04-28 Microsoft Technology Licensing, Llc Evolving universal gesture sets
US9054764B2 (en) 2007-05-17 2015-06-09 Microsoft Technology Licensing, Llc Sensor array beamformer post-processor
US9052746B2 (en) 2013-02-15 2015-06-09 Microsoft Technology Licensing, Llc User center-of-mass and mass distribution extraction using depth images
US9069381B2 (en) 2010-03-12 2015-06-30 Microsoft Technology Licensing, Llc Interacting with a computer based application
US9067136B2 (en) 2011-03-10 2015-06-30 Microsoft Technology Licensing, Llc Push personalization of interface controls
US9075434B2 (en) 2010-08-20 2015-07-07 Microsoft Technology Licensing, Llc Translating user motion into multiple object responses
US9092657B2 (en) 2013-03-13 2015-07-28 Microsoft Technology Licensing, Llc Depth image processing
US9100685B2 (en) 2011-12-09 2015-08-04 Microsoft Technology Licensing, Llc Determining audience state or interest using passive sensor data
US9098110B2 (en) 2011-06-06 2015-08-04 Microsoft Technology Licensing, Llc Head rotation tracking from depth-based center of mass
US9098873B2 (en) 2010-04-01 2015-08-04 Microsoft Technology Licensing, Llc Motion-based interactive shopping environment
US9117281B2 (en) 2011-11-02 2015-08-25 Microsoft Corporation Surface segmentation from RGB and depth images
US9123316B2 (en) 2010-12-27 2015-09-01 Microsoft Technology Licensing, Llc Interactive content creation
US9137463B2 (en) 2011-05-12 2015-09-15 Microsoft Technology Licensing, Llc Adaptive high dynamic range camera
US9135516B2 (en) 2013-03-08 2015-09-15 Microsoft Technology Licensing, Llc User body angle, curvature and average extremity positions extraction using depth images
US9141193B2 (en) 2009-08-31 2015-09-22 Microsoft Technology Licensing, Llc Techniques for using human gestures to control gesture unaware programs
US9159151B2 (en) 2009-07-13 2015-10-13 Microsoft Technology Licensing, Llc Bringing a visual representation to life via learned input from the user
US9171264B2 (en) 2010-12-15 2015-10-27 Microsoft Technology Licensing, Llc Parallel processing machine learning decision tree training
US9182814B2 (en) 2009-05-29 2015-11-10 Microsoft Technology Licensing, Llc Systems and methods for estimating a non-visible or occluded body part
US9195305B2 (en) 2010-01-15 2015-11-24 Microsoft Technology Licensing, Llc Recognizing user intent in motion capture system
US9208571B2 (en) 2011-06-06 2015-12-08 Microsoft Technology Licensing, Llc Object digitization
US9210401B2 (en) 2012-05-03 2015-12-08 Microsoft Technology Licensing, Llc Projected visual cues for guiding physical movement
US9247238B2 (en) 2011-01-31 2016-01-26 Microsoft Technology Licensing, Llc Reducing interference between multiple infra-red depth cameras
US9244533B2 (en) 2009-12-17 2016-01-26 Microsoft Technology Licensing, Llc Camera navigation for presentations
US9251590B2 (en) 2013-01-24 2016-02-02 Microsoft Technology Licensing, Llc Camera pose estimation for 3D reconstruction
US9262673B2 (en) 2009-05-01 2016-02-16 Microsoft Technology Licensing, Llc Human body pose estimation
US9259643B2 (en) 2011-04-28 2016-02-16 Microsoft Technology Licensing, Llc Control of separate computer game elements
US9268404B2 (en) 2010-01-08 2016-02-23 Microsoft Technology Licensing, Llc Application gesture interpretation
US9274606B2 (en) 2013-03-14 2016-03-01 Microsoft Technology Licensing, Llc NUI video conference controls
US9298263B2 (en) 2009-05-01 2016-03-29 Microsoft Technology Licensing, Llc Show body position
US9298287B2 (en) 2011-03-31 2016-03-29 Microsoft Technology Licensing, Llc Combined activation for natural user interface systems
US9313376B1 (en) 2009-04-01 2016-04-12 Microsoft Technology Licensing, Llc Dynamic depth power equalization
US9342139B2 (en) 2011-12-19 2016-05-17 Microsoft Technology Licensing, Llc Pairing a computing device to a user
US9349040B2 (en) 2010-11-19 2016-05-24 Microsoft Technology Licensing, Llc Bi-modal depth-image analysis
US9384329B2 (en) 2010-06-11 2016-07-05 Microsoft Technology Licensing, Llc Caloric burn determination from body movement
US9383823B2 (en) 2009-05-29 2016-07-05 Microsoft Technology Licensing, Llc Combining gestures beyond skeletal
US9400548B2 (en) 2009-10-19 2016-07-26 Microsoft Technology Licensing, Llc Gesture personalization and profile roaming
US9400559B2 (en) 2009-05-29 2016-07-26 Microsoft Technology Licensing, Llc Gesture shortcuts
US9443310B2 (en) 2013-10-09 2016-09-13 Microsoft Technology Licensing, Llc Illumination modules that emit structured light
US9442186B2 (en) 2013-05-13 2016-09-13 Microsoft Technology Licensing, Llc Interference reduction for TOF systems
US9462253B2 (en) 2013-09-23 2016-10-04 Microsoft Technology Licensing, Llc Optical modules that reduce speckle contrast and diffraction artifacts
US9470778B2 (en) 2011-03-29 2016-10-18 Microsoft Technology Licensing, Llc Learning from high quality depth measurements
US9484065B2 (en) 2010-10-15 2016-11-01 Microsoft Technology Licensing, Llc Intelligent determination of replays based on event identification
US9498718B2 (en) 2009-05-01 2016-11-22 Microsoft Technology Licensing, Llc Altering a view perspective within a display environment
US9508385B2 (en) 2013-11-21 2016-11-29 Microsoft Technology Licensing, Llc Audio-visual project generator
US9535563B2 (en) 1999-02-01 2017-01-03 Blanding Hovenweep, Llc Internet appliance system and method
US9551914B2 (en) 2011-03-07 2017-01-24 Microsoft Technology Licensing, Llc Illuminator with refractive optical element
US9557574B2 (en) 2010-06-08 2017-01-31 Microsoft Technology Licensing, Llc Depth illumination and detection optics
US9557836B2 (en) 2011-11-01 2017-01-31 Microsoft Technology Licensing, Llc Depth image compression
US20170043483A1 (en) * 2015-08-11 2017-02-16 Empire Technology Development Llc Incidental robot-human contact detection
US9594430B2 (en) 2011-06-01 2017-03-14 Microsoft Technology Licensing, Llc Three-dimensional foreground selection for vision system
US9597587B2 (en) 2011-06-08 2017-03-21 Microsoft Technology Licensing, Llc Locational node device
US9646340B2 (en) 2010-04-01 2017-05-09 Microsoft Technology Licensing, Llc Avatar-based virtual dressing room
US9674563B2 (en) 2013-11-04 2017-06-06 Rovi Guides, Inc. Systems and methods for recommending content
US9696427B2 (en) 2012-08-14 2017-07-04 Microsoft Technology Licensing, Llc Wide angle depth detection
US9720089B2 (en) 2012-01-23 2017-08-01 Microsoft Technology Licensing, Llc 3D zoom imager
US9724600B2 (en) 2011-06-06 2017-08-08 Microsoft Technology Licensing, Llc Controlling objects in a virtual environment
US9769459B2 (en) 2013-11-12 2017-09-19 Microsoft Technology Licensing, Llc Power efficient laser diode driver circuit and method
US9821224B2 (en) 2010-12-21 2017-11-21 Microsoft Technology Licensing, Llc Driving simulator control with virtual skeleton
US9823339B2 (en) 2010-12-21 2017-11-21 Microsoft Technology Licensing, Llc Plural anode time-of-flight sensor
US9836590B2 (en) 2012-06-22 2017-12-05 Microsoft Technology Licensing, Llc Enhanced accuracy of user presence status determination
US9848106B2 (en) 2010-12-21 2017-12-19 Microsoft Technology Licensing, Llc Intelligent gameplay photo capture
US9857470B2 (en) 2012-12-28 2018-01-02 Microsoft Technology Licensing, Llc Using photometric stereo for 3D environment modeling
US9898675B2 (en) 2009-05-01 2018-02-20 Microsoft Technology Licensing, Llc User movement tracking feedback to improve tracking
US9940553B2 (en) 2013-02-22 2018-04-10 Microsoft Technology Licensing, Llc Camera/object pose from predicted coordinates
US9953213B2 (en) 2013-03-27 2018-04-24 Microsoft Technology Licensing, Llc Self discovery of autonomous NUI devices
US9971491B2 (en) 2014-01-09 2018-05-15 Microsoft Technology Licensing, Llc Gesture library for natural user input
US10085072B2 (en) 2009-09-23 2018-09-25 Rovi Guides, Inc. Systems and methods for automatically detecting users within detection regions of media devices
US10234545B2 (en) 2010-12-01 2019-03-19 Microsoft Technology Licensing, Llc Light source module
US10257932B2 (en) 2016-02-16 2019-04-09 Microsoft Technology Licensing, Llc. Laser diode chip on printed circuit board
US10412280B2 (en) 2016-02-10 2019-09-10 Microsoft Technology Licensing, Llc Camera with light valve over sensor array
US10462452B2 (en) 2016-03-16 2019-10-29 Microsoft Technology Licensing, Llc Synchronizing active illumination cameras
US10671841B2 (en) 2011-05-02 2020-06-02 Microsoft Technology Licensing, Llc Attribute state classification
US10726861B2 (en) 2010-11-15 2020-07-28 Microsoft Technology Licensing, Llc Semi-private communication in open environments
US10796494B2 (en) 2011-06-06 2020-10-06 Microsoft Technology Licensing, Llc Adding attributes to virtual representations of real-world objects

Families Citing this family (105)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999019840A1 (en) * 1997-10-15 1999-04-22 Electric Planet, Inc. A system and method for generating an animatable character
US6514083B1 (en) * 1998-01-07 2003-02-04 Electric Planet, Inc. Method and apparatus for providing interactive karaoke entertainment
US6971882B1 (en) 1998-01-07 2005-12-06 Electric Planet, Inc. Method and apparatus for providing interactive karaoke entertainment
US7262778B1 (en) 2000-02-11 2007-08-28 Sony Corporation Automatic color adjustment of a template design
US7810037B1 (en) 2000-02-11 2010-10-05 Sony Corporation Online story collaboration
US8407595B1 (en) 2000-02-11 2013-03-26 Sony Corporation Imaging service for automating the display of images
US7079151B1 (en) * 2002-02-08 2006-07-18 Adobe Systems Incorporated Compositing graphical objects
US7161579B2 (en) 2002-07-18 2007-01-09 Sony Computer Entertainment Inc. Hand-held computer interactive device
US8797260B2 (en) 2002-07-27 2014-08-05 Sony Computer Entertainment Inc. Inertially trackable hand-held controller
US7102615B2 (en) * 2002-07-27 2006-09-05 Sony Computer Entertainment Inc. Man-machine interface using a deformable device
US7623115B2 (en) 2002-07-27 2009-11-24 Sony Computer Entertainment Inc. Method and apparatus for light input device
US8947347B2 (en) * 2003-08-27 2015-02-03 Sony Computer Entertainment Inc. Controlling actions in a video game unit
US7646372B2 (en) * 2003-09-15 2010-01-12 Sony Computer Entertainment Inc. Methods and systems for enabling direction detection when interfacing with a computer program
US7883415B2 (en) * 2003-09-15 2011-02-08 Sony Computer Entertainment Inc. Method and apparatus for adjusting a view of a scene being displayed according to tracked head motion
US7803050B2 (en) * 2002-07-27 2010-09-28 Sony Computer Entertainment Inc. Tracking device with sound emitter for use in obtaining information for controlling game program execution
US8233642B2 (en) * 2003-08-27 2012-07-31 Sony Computer Entertainment Inc. Methods and apparatuses for capturing an audio signal based on a location of the signal
US9393487B2 (en) 2002-07-27 2016-07-19 Sony Interactive Entertainment Inc. Method for mapping movements of a hand-held controller to game commands
US8686939B2 (en) 2002-07-27 2014-04-01 Sony Computer Entertainment Inc. System, method, and apparatus for three-dimensional input control
US7760248B2 (en) 2002-07-27 2010-07-20 Sony Computer Entertainment Inc. Selective sound source listening in conjunction with computer interactive processing
US7850526B2 (en) * 2002-07-27 2010-12-14 Sony Computer Entertainment America Inc. System for tracking user manipulations within an environment
US9474968B2 (en) 2002-07-27 2016-10-25 Sony Interactive Entertainment America Llc Method and system for applying gearing effects to visual tracking
US7918733B2 (en) * 2002-07-27 2011-04-05 Sony Computer Entertainment America Inc. Multi-input game control mixer
US9174119B2 (en) 2002-07-27 2015-11-03 Sony Computer Entertainement America, LLC Controller for providing inputs to control execution of a program when inputs are combined
US8570378B2 (en) 2002-07-27 2013-10-29 Sony Computer Entertainment Inc. Method and apparatus for tracking three-dimensional movements of an object using a depth sensing camera
US8313380B2 (en) * 2002-07-27 2012-11-20 Sony Computer Entertainment America Llc Scheme for translating movements of a hand-held controller into inputs for a system
US7854655B2 (en) 2002-07-27 2010-12-21 Sony Computer Entertainment America Inc. Obtaining input for controlling execution of a game program
US7627139B2 (en) * 2002-07-27 2009-12-01 Sony Computer Entertainment Inc. Computer image and audio processing of intensity and input devices for interfacing with a computer program
US8160269B2 (en) 2003-08-27 2012-04-17 Sony Computer Entertainment Inc. Methods and apparatuses for adjusting a listening area for capturing sounds
US8139793B2 (en) * 2003-08-27 2012-03-20 Sony Computer Entertainment Inc. Methods and apparatus for capturing audio signals based on a visual image
US9682319B2 (en) 2002-07-31 2017-06-20 Sony Interactive Entertainment Inc. Combiner method for altering game gearing
US20040105856A1 (en) * 2002-12-02 2004-06-03 Robin Thurmond Use of histamine H4 receptor antagonist for the treatment of inflammatory responses
US9177387B2 (en) 2003-02-11 2015-11-03 Sony Computer Entertainment Inc. Method and apparatus for real time motion capture
US7505862B2 (en) * 2003-03-07 2009-03-17 Salmon Technologies, Llc Apparatus and method for testing electronic systems
US8072470B2 (en) 2003-05-29 2011-12-06 Sony Computer Entertainment Inc. System and method for providing a real-time three-dimensional interactive environment
US20070223732A1 (en) * 2003-08-27 2007-09-27 Mao Xiao D Methods and apparatuses for adjusting a visual image based on an audio signal
US10279254B2 (en) 2005-10-26 2019-05-07 Sony Interactive Entertainment Inc. Controller having visually trackable object for interfacing with a gaming system
US8287373B2 (en) 2008-12-05 2012-10-16 Sony Computer Entertainment Inc. Control device for communicating visual information
US7874917B2 (en) * 2003-09-15 2011-01-25 Sony Computer Entertainment Inc. Methods and systems for enabling depth and direction detection when interfacing with a computer program
US9573056B2 (en) 2005-10-26 2017-02-21 Sony Interactive Entertainment Inc. Expandable control device via hardware attachment
US8323106B2 (en) 2008-05-30 2012-12-04 Sony Computer Entertainment America Llc Determination of controller three-dimensional location using image analysis and ultrasonic communication
US7663689B2 (en) 2004-01-16 2010-02-16 Sony Computer Entertainment Inc. Method and apparatus for optimizing capture device settings through depth information
US8547401B2 (en) 2004-08-19 2013-10-01 Sony Computer Entertainment Inc. Portable augmented reality device and method
JP2006068315A (en) * 2004-09-02 2006-03-16 Sega Corp Pause detection program, video game device, pause detection method, and computer-readable recording medium recorded with program
US8948461B1 (en) * 2005-04-29 2015-02-03 Hewlett-Packard Development Company, L.P. Method and system for estimating the three dimensional position of an object in a three dimensional physical space
US7574043B2 (en) * 2005-06-27 2009-08-11 Mitsubishi Electric Research Laboratories, Inc. Method for modeling cast shadows in videos
US7697827B2 (en) 2005-10-17 2010-04-13 Konicek Jeffrey C User-friendlier interfaces for a camera
US20110014981A1 (en) * 2006-05-08 2011-01-20 Sony Computer Entertainment Inc. Tracking device with sound emitter for use in obtaining information for controlling game program execution
US20070274402A1 (en) * 2006-05-23 2007-11-29 Honeywell International Inc. Application of short term and long term background scene dynamics in motion detection
USRE48417E1 (en) 2006-09-28 2021-02-02 Sony Interactive Entertainment Inc. Object direction using video input combined with tilt angle information
US8310656B2 (en) * 2006-09-28 2012-11-13 Sony Computer Entertainment America Llc Mapping movements of a hand-held controller to the two-dimensional image plane of a display screen
US8781151B2 (en) 2006-09-28 2014-07-15 Sony Computer Entertainment Inc. Object detection using video input combined with tilt angle information
US8300890B1 (en) * 2007-01-29 2012-10-30 Intellivision Technologies Corporation Person/object image and screening
US8391547B2 (en) * 2007-03-26 2013-03-05 Thomson Licensing Method and apparatus for detecting objects of interest in soccer video by color
US9070207B2 (en) * 2007-09-06 2015-06-30 Yeda Research & Development Co., Ltd. Modelization of objects in images
WO2009078957A1 (en) 2007-12-14 2009-06-25 Flashfoto, Inc. Systems and methods for rule-based segmentation for objects with full or partial frontal view in color images
US8542907B2 (en) 2007-12-17 2013-09-24 Sony Computer Entertainment America Llc Dynamic three-dimensional object mapping for user-defined control device
US20090166684A1 (en) * 2007-12-26 2009-07-02 3Dv Systems Ltd. Photogate cmos pixel for 3d cameras having reduced intra-pixel cross talk
CN103258184B (en) 2008-02-27 2017-04-12 索尼计算机娱乐美国有限责任公司 Methods for capturing depth data of a scene and applying computer actions
US9495386B2 (en) 2008-03-05 2016-11-15 Ebay Inc. Identification of items depicted in images
WO2009111047A2 (en) 2008-03-05 2009-09-11 Ebay Inc. Method and apparatus for image recognition services
US8368753B2 (en) 2008-03-17 2013-02-05 Sony Computer Entertainment America Llc Controller with an integrated depth camera
US8385609B2 (en) * 2008-10-21 2013-02-26 Flashfoto, Inc. Image segmentation
KR101522985B1 (en) * 2008-10-31 2015-05-27 삼성전자주식회사 Apparatus and Method for Image Processing
US8961313B2 (en) 2009-05-29 2015-02-24 Sony Computer Entertainment America Llc Multi-positional three-dimensional controller
EP2374107B1 (en) * 2008-12-11 2020-07-08 Imax Corporation Devices and methods for processing images using scale space
JP4848001B2 (en) * 2008-12-18 2011-12-28 株式会社ソニー・コンピュータエンタテインメント Image processing apparatus and image processing method
JP5232619B2 (en) * 2008-12-18 2013-07-10 株式会社ソニー・コンピュータエンタテインメント Inspection apparatus and inspection method
US8527657B2 (en) 2009-03-20 2013-09-03 Sony Computer Entertainment America Llc Methods and systems for dynamically adjusting update rates in multi-player network gaming
US8342963B2 (en) 2009-04-10 2013-01-01 Sony Computer Entertainment America Inc. Methods and systems for enabling control of artificial intelligence game characters
US8411986B2 (en) * 2009-04-13 2013-04-02 Flashfoto, Inc. Systems and methods for segmenation by removal of monochromatic background with limitied intensity variations
US8393964B2 (en) 2009-05-08 2013-03-12 Sony Computer Entertainment America Llc Base station for position location
US8142288B2 (en) 2009-05-08 2012-03-27 Sony Computer Entertainment America Llc Base station movement detection and compensation
US8670615B2 (en) * 2009-09-30 2014-03-11 Flashfoto, Inc. Refinement of segmentation markup
US9164577B2 (en) 2009-12-22 2015-10-20 Ebay Inc. Augmented reality system, method, and apparatus for displaying an item image in a contextual environment
US9237294B2 (en) 2010-03-05 2016-01-12 Sony Corporation Apparatus and method for replacing a broadcasted advertisement based on both heuristic information and attempts in altering the playback of the advertisement
US20110221755A1 (en) * 2010-03-12 2011-09-15 Kevin Geisner Bionic motion
US9628722B2 (en) 2010-03-30 2017-04-18 Personify, Inc. Systems and methods for embedding a foreground video into a background feed based on a control input
US9311567B2 (en) 2010-05-10 2016-04-12 Kuang-chih Lee Manifold learning and matting
US9183560B2 (en) 2010-05-28 2015-11-10 Daniel H. Abelow Reality alternate
US8649592B2 (en) 2010-08-30 2014-02-11 University Of Illinois At Urbana-Champaign System for background subtraction with 3D camera
US10127606B2 (en) * 2010-10-13 2018-11-13 Ebay Inc. Augmented reality system and method for visualizing an item
US9832528B2 (en) 2010-10-21 2017-11-28 Sony Corporation System and method for merging network-based content with broadcasted programming content
US9760566B2 (en) 2011-03-31 2017-09-12 Microsoft Technology Licensing, Llc Augmented conversational understanding agent to identify conversation context between two humans and taking an agent action thereof
US9842168B2 (en) 2011-03-31 2017-12-12 Microsoft Technology Licensing, Llc Task driven user intents
US10642934B2 (en) 2011-03-31 2020-05-05 Microsoft Technology Licensing, Llc Augmented conversational understanding architecture
US9064006B2 (en) 2012-08-23 2015-06-23 Microsoft Technology Licensing, Llc Translating natural language utterances to keyword search queries
US9449342B2 (en) 2011-10-27 2016-09-20 Ebay Inc. System and method for visualization of items in an environment using augmented reality
US10846766B2 (en) 2012-06-29 2020-11-24 Ebay Inc. Contextual menus based on image recognition
US9336541B2 (en) 2012-09-21 2016-05-10 Paypal, Inc. Augmented reality product instructions, tutorials and visualizations
US9774548B2 (en) * 2013-12-18 2017-09-26 Personify, Inc. Integrating user personas with chat sessions
US9414016B2 (en) 2013-12-31 2016-08-09 Personify, Inc. System and methods for persona identification using combined probability maps
US9386303B2 (en) 2013-12-31 2016-07-05 Personify, Inc. Transmitting video and sharing content via a network using multiple encoding techniques
US9485433B2 (en) 2013-12-31 2016-11-01 Personify, Inc. Systems and methods for iterative adjustment of video-capture settings based on identified persona
US10368784B2 (en) 2014-06-23 2019-08-06 Microsoft Technology Licensing, Llc Sensor data damping
US9916668B2 (en) 2015-05-19 2018-03-13 Personify, Inc. Methods and systems for identifying background in video data using geometric primitives
US9563962B2 (en) 2015-05-19 2017-02-07 Personify, Inc. Methods and systems for assigning pixels distance-cost values using a flood fill technique
US10244224B2 (en) 2015-05-26 2019-03-26 Personify, Inc. Methods and systems for classifying pixels as foreground using both short-range depth data and long-range depth data
US9607397B2 (en) 2015-09-01 2017-03-28 Personify, Inc. Methods and systems for generating a user-hair-color model
US9883155B2 (en) 2016-06-14 2018-01-30 Personify, Inc. Methods and systems for combining foreground video and background video using chromatic matching
US9881207B1 (en) 2016-10-25 2018-01-30 Personify, Inc. Methods and systems for real-time user extraction using deep learning networks
US10275871B2 (en) 2017-07-27 2019-04-30 Saudi Arabian Oil Company System and method for image processing and feature recognition
RU2684436C1 (en) * 2018-04-03 2019-04-09 Общество С Ограниченной Ответственностью "Фиттин" Method of measuring shape and size of parts of human body, method of searching flat object of known shape and size on image, method of separating part of human body from background on image
US10915725B2 (en) 2019-07-01 2021-02-09 Thales Dis Usa Inc. Method to generate a slap/fingers foreground mask
US11800056B2 (en) 2021-02-11 2023-10-24 Logitech Europe S.A. Smart webcam system
US11800048B2 (en) 2021-02-24 2023-10-24 Logitech Europe S.A. Image generating system with background replacement or modification capabilities

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4843568A (en) * 1986-04-11 1989-06-27 Krueger Myron W Real time perception of and response to the actions of an unencumbered participant/user
US5142589A (en) * 1990-12-21 1992-08-25 Environmental Research Institute Of Michigan Method for repairing images for optical character recognition performing different repair operations based on measured image characteristics
US5563988A (en) * 1994-08-01 1996-10-08 Massachusetts Institute Of Technology Method and system for facilitating wireless, full-body, real-time user interaction with a digitally represented visual environment
US5781198A (en) * 1995-12-22 1998-07-14 Intel Corporation Method and apparatus for replacing a background portion of an image
US5790124A (en) * 1995-11-20 1998-08-04 Silicon Graphics, Inc. System and method for allowing a performer to control and interact with an on-stage display device
US5930391A (en) * 1995-09-13 1999-07-27 Fuji Photo Film Co., Ltd. Method of extracting a region of a specific configuration and determining copy conditions
US5940538A (en) * 1995-08-04 1999-08-17 Spiegel; Ehud Apparatus and methods for object border tracking
US5990908A (en) * 1997-09-22 1999-11-23 Lamb & Company Method and apparatus for processing full motion computer animation
US5995639A (en) * 1993-03-29 1999-11-30 Matsushita Electric Industrial Co., Ltd. Apparatus for identifying person
US6141463A (en) * 1997-10-10 2000-10-31 Electric Planet Interactive Method and system for estimating jointed-figure configurations
US6400374B2 (en) * 1996-09-18 2002-06-04 Eyematic Interfaces, Inc. Video superposition system and method
US6445814B2 (en) * 1996-07-01 2002-09-03 Canon Kabushiki Kaisha Three-dimensional information processing apparatus and method
US20020154820A1 (en) * 2001-03-06 2002-10-24 Toshimitsu Kaneko Template matching method and image processing device
US6636635B2 (en) * 1995-11-01 2003-10-21 Canon Kabushiki Kaisha Object extraction method, and image sensing apparatus using the method
US6650778B1 (en) * 1999-01-22 2003-11-18 Canon Kabushiki Kaisha Image processing method and apparatus, and storage medium

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5534917A (en) * 1991-05-09 1996-07-09 Very Vivid, Inc. Video image based control system
US5227985A (en) * 1991-08-19 1993-07-13 University Of Maryland Computer vision system for position monitoring in three dimensions using non-coplanar light sources attached to a monitored object
GB9119964D0 (en) 1991-09-18 1991-10-30 Sarnoff David Res Center Pattern-key video insertion
US5631697A (en) 1991-11-27 1997-05-20 Hitachi, Ltd. Video camera capable of automatic target tracking
US5345313A (en) 1992-02-25 1994-09-06 Imageware Software, Inc Image editing system for taking a background and inserting part of an image therein
JP3244798B2 (en) * 1992-09-08 2002-01-07 株式会社東芝 Moving image processing device
US5311600A (en) 1992-09-29 1994-05-10 The Board Of Trustees Of The Leland Stanford Junior University Method of edge detection in optical images using neural network classifier
US5623587A (en) 1993-10-15 1997-04-22 Kideo Productions, Inc. Method and apparatus for producing an electronic image
US5767867A (en) 1995-11-27 1998-06-16 Sun Microsystems, Inc. Method for alpha blending images utilizing a visual instruction set
US5933529A (en) * 1996-12-24 1999-08-03 Daewoo Electronics Co., Ltd. Method of tracing a contour of an object based on background information of the object

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4843568A (en) * 1986-04-11 1989-06-27 Krueger Myron W Real time perception of and response to the actions of an unencumbered participant/user
US5142589A (en) * 1990-12-21 1992-08-25 Environmental Research Institute Of Michigan Method for repairing images for optical character recognition performing different repair operations based on measured image characteristics
US5995639A (en) * 1993-03-29 1999-11-30 Matsushita Electric Industrial Co., Ltd. Apparatus for identifying person
US5563988A (en) * 1994-08-01 1996-10-08 Massachusetts Institute Of Technology Method and system for facilitating wireless, full-body, real-time user interaction with a digitally represented visual environment
US5940538A (en) * 1995-08-04 1999-08-17 Spiegel; Ehud Apparatus and methods for object border tracking
US5930391A (en) * 1995-09-13 1999-07-27 Fuji Photo Film Co., Ltd. Method of extracting a region of a specific configuration and determining copy conditions
US6636635B2 (en) * 1995-11-01 2003-10-21 Canon Kabushiki Kaisha Object extraction method, and image sensing apparatus using the method
US5790124A (en) * 1995-11-20 1998-08-04 Silicon Graphics, Inc. System and method for allowing a performer to control and interact with an on-stage display device
US5781198A (en) * 1995-12-22 1998-07-14 Intel Corporation Method and apparatus for replacing a background portion of an image
US6445814B2 (en) * 1996-07-01 2002-09-03 Canon Kabushiki Kaisha Three-dimensional information processing apparatus and method
US6400374B2 (en) * 1996-09-18 2002-06-04 Eyematic Interfaces, Inc. Video superposition system and method
US5990908A (en) * 1997-09-22 1999-11-23 Lamb & Company Method and apparatus for processing full motion computer animation
US6141463A (en) * 1997-10-10 2000-10-31 Electric Planet Interactive Method and system for estimating jointed-figure configurations
US6650778B1 (en) * 1999-01-22 2003-11-18 Canon Kabushiki Kaisha Image processing method and apparatus, and storage medium
US20020154820A1 (en) * 2001-03-06 2002-10-24 Toshimitsu Kaneko Template matching method and image processing device

Non-Patent Citations (10)

* Cited by examiner, † Cited by third party
Title
"Comparing Images Using The Hausdorff Distance", Huttenlocher, D.P.; Klanderman, G.A.; Rucklidge, W.J., Sep. 1993, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 15, Issue: 9, pp. 850-863. *
"Locating Objects Using The Hausdorff Distance", Rucklidge, W.J., Jun. 20-23, 1995, Fifth International Conference on Computer Vision, 1995, Proceedings, pp. 457-464. *
A. Blake and M. Isard. Active Contours. Springer-Verlag © 1998. pp. 25-37, 170. *
A. Kass, M. Witkin and D. Terzolpoulos, "Snakes: Active Contour Models", International Journal of Computer Vision, vol. 1, 1987. *
Baumberg et al., "An efficient method for contour tracking using active shape models", IEEE workshop on Motion of Non-rigid and Articulated Objects, Nov. 12, 1994. *
Covell et al., "Eigen-points [image matching]", International conference on Image processing, Sep. 19, 2996. *
Sullivan et al., "using active-deformable models to track deformable objects in robotic visual servoing experiments", IEEE International conference on Robotics and Automation, Apr. 28, 1996. *
Tsai, Robust affine invariant matching with application to line features, IEEE Computer Society Conference on Computer Visio and Pattern Recognition, Jun. 17, 1993. *
W. Lee, P. Kalra, N.M. Thalmann, "Model based Face Reconstruction for Animation", MIRALab © 1998. *
Wren et al., "Pfinder: real-time tracking of the human body", Proceedings 2nd International Conference on Automatic face and Gesture recognition, Oct. 16, 1996. *

Cited By (351)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8892495B2 (en) 1991-12-23 2014-11-18 Blanding Hovenweep, Llc Adaptive pattern recognition based controller apparatus and method and human-interface therefore
US9535563B2 (en) 1999-02-01 2017-01-03 Blanding Hovenweep, Llc Internet appliance system and method
US10488950B2 (en) 2002-02-07 2019-11-26 Microsoft Technology Licensing, Llc Manipulating an object utilizing a pointing device
US20090198354A1 (en) * 2002-02-07 2009-08-06 Microsoft Corporation Controlling objects via gesturing
US8456419B2 (en) 2002-02-07 2013-06-04 Microsoft Corporation Determining a position of a pointing device
US10331228B2 (en) 2002-02-07 2019-06-25 Microsoft Technology Licensing, Llc System and method for determining 3D orientation of a pointing device
US8707216B2 (en) 2002-02-07 2014-04-22 Microsoft Corporation Controlling objects via gesturing
US20080204411A1 (en) * 2002-02-07 2008-08-28 Microsoft Corporation Recognizing a movement of a pointing device
US9454244B2 (en) 2002-02-07 2016-09-27 Microsoft Technology Licensing, Llc Recognizing a movement of a pointing device
US20080204410A1 (en) * 2002-02-07 2008-08-28 Microsoft Corporation Recognizing a motion of a pointing device
US20080259055A1 (en) * 2002-02-07 2008-10-23 Microsoft Corporation Manipulating An Object Utilizing A Pointing Device
US9652042B2 (en) 2003-03-25 2017-05-16 Microsoft Technology Licensing, Llc Architecture for controlling a computer using hand gestures
US10551930B2 (en) 2003-03-25 2020-02-04 Microsoft Technology Licensing, Llc System and method for executing a process using accelerometer signals
US8745541B2 (en) 2003-03-25 2014-06-03 Microsoft Corporation Architecture for controlling a computer using hand gestures
US20100146464A1 (en) * 2003-03-25 2010-06-10 Microsoft Corporation Architecture For Controlling A Computer Using Hand Gestures
US8818002B2 (en) 2007-03-22 2014-08-26 Microsoft Corp. Robust adaptive beamforming with enhanced noise suppression
US9054764B2 (en) 2007-05-17 2015-06-09 Microsoft Technology Licensing, Llc Sensor array beamformer post-processor
US8629976B2 (en) 2007-10-02 2014-01-14 Microsoft Corporation Methods and systems for hierarchical de-aliasing time-of-flight (TOF) systems
US9264807B2 (en) 2008-06-19 2016-02-16 Microsoft Technology Licensing, Llc Multichannel acoustic echo reduction
US8385557B2 (en) 2008-06-19 2013-02-26 Microsoft Corporation Multichannel acoustic echo reduction
US8325909B2 (en) 2008-06-25 2012-12-04 Microsoft Corporation Acoustic echo suppression
US8587773B2 (en) 2008-06-30 2013-11-19 Microsoft Corporation System architecture design for time-of-flight system having reduced differential pixel size, and time-of-flight systems so designed
US9052382B2 (en) 2008-06-30 2015-06-09 Microsoft Technology Licensing, Llc System architecture design for time-of-flight system having reduced differential pixel size, and time-of-flight systems so designed
US8363212B2 (en) 2008-06-30 2013-01-29 Microsoft Corporation System architecture design for time-of-flight system having reduced differential pixel size, and time-of-flight systems so designed
US8681321B2 (en) 2009-01-04 2014-03-25 Microsoft International Holdings B.V. Gated 3D camera
US9641825B2 (en) 2009-01-04 2017-05-02 Microsoft International Holdings B.V. Gated 3D camera
US9280203B2 (en) 2009-01-30 2016-03-08 Microsoft Technology Licensing, Llc Gesture recognizer system architecture
US8588465B2 (en) 2009-01-30 2013-11-19 Microsoft Corporation Visual target tracking
US20100199229A1 (en) * 2009-01-30 2010-08-05 Microsoft Corporation Mapping a natural input device to a legacy system
US8294767B2 (en) 2009-01-30 2012-10-23 Microsoft Corporation Body scan
US8467574B2 (en) 2009-01-30 2013-06-18 Microsoft Corporation Body scan
US8295546B2 (en) 2009-01-30 2012-10-23 Microsoft Corporation Pose tracking pipeline
US20110234490A1 (en) * 2009-01-30 2011-09-29 Microsoft Corporation Predictive Determination
US8682028B2 (en) 2009-01-30 2014-03-25 Microsoft Corporation Visual target tracking
US8782567B2 (en) 2009-01-30 2014-07-15 Microsoft Corporation Gesture recognizer system architecture
US9607213B2 (en) 2009-01-30 2017-03-28 Microsoft Technology Licensing, Llc Body scan
US9842405B2 (en) 2009-01-30 2017-12-12 Microsoft Technology Licensing, Llc Visual target tracking
US20110032336A1 (en) * 2009-01-30 2011-02-10 Microsoft Corporation Body scan
US8860663B2 (en) 2009-01-30 2014-10-14 Microsoft Corporation Pose tracking pipeline
US8610665B2 (en) 2009-01-30 2013-12-17 Microsoft Corporation Pose tracking pipeline
US8869072B2 (en) 2009-01-30 2014-10-21 Microsoft Corporation Gesture recognizer system architecture
US8267781B2 (en) 2009-01-30 2012-09-18 Microsoft Corporation Visual target tracking
US8897493B2 (en) 2009-01-30 2014-11-25 Microsoft Corporation Body scan
US8487938B2 (en) 2009-01-30 2013-07-16 Microsoft Corporation Standard Gestures
US8577084B2 (en) 2009-01-30 2013-11-05 Microsoft Corporation Visual target tracking
US8577085B2 (en) 2009-01-30 2013-11-05 Microsoft Corporation Visual target tracking
US8578302B2 (en) 2009-01-30 2013-11-05 Microsoft Corporation Predictive determination
US9039528B2 (en) 2009-01-30 2015-05-26 Microsoft Technology Licensing, Llc Visual target tracking
US9465980B2 (en) 2009-01-30 2016-10-11 Microsoft Technology Licensing, Llc Pose tracking pipeline
US8565477B2 (en) 2009-01-30 2013-10-22 Microsoft Corporation Visual target tracking
US8565485B2 (en) 2009-01-30 2013-10-22 Microsoft Corporation Pose tracking pipeline
US8565476B2 (en) 2009-01-30 2013-10-22 Microsoft Corporation Visual target tracking
US8553939B2 (en) 2009-01-30 2013-10-08 Microsoft Corporation Pose tracking pipeline
US9007417B2 (en) 2009-01-30 2015-04-14 Microsoft Technology Licensing, Llc Body scan
US8448094B2 (en) 2009-01-30 2013-05-21 Microsoft Corporation Mapping a natural input device to a legacy system
US8773355B2 (en) 2009-03-16 2014-07-08 Microsoft Corporation Adaptive cursor sizing
US8988437B2 (en) 2009-03-20 2015-03-24 Microsoft Technology Licensing, Llc Chaining animations
US9478057B2 (en) 2009-03-20 2016-10-25 Microsoft Technology Licensing, Llc Chaining animations
US20100241998A1 (en) * 2009-03-20 2010-09-23 Microsoft Corporation Virtual object manipulation
US9824480B2 (en) 2009-03-20 2017-11-21 Microsoft Technology Licensing, Llc Chaining animations
US9256282B2 (en) 2009-03-20 2016-02-09 Microsoft Technology Licensing, Llc Virtual object manipulation
US9313376B1 (en) 2009-04-01 2016-04-12 Microsoft Technology Licensing, Llc Dynamic depth power equalization
US10210382B2 (en) 2009-05-01 2019-02-19 Microsoft Technology Licensing, Llc Human body pose estimation
US9910509B2 (en) 2009-05-01 2018-03-06 Microsoft Technology Licensing, Llc Method to control perspective for a camera-controlled computer
US8660303B2 (en) 2009-05-01 2014-02-25 Microsoft Corporation Detection of body and props
US8253746B2 (en) 2009-05-01 2012-08-28 Microsoft Corporation Determine intended motions
US8649554B2 (en) 2009-05-01 2014-02-11 Microsoft Corporation Method to control perspective for a camera-controlled computer
US9191570B2 (en) 2009-05-01 2015-11-17 Microsoft Technology Licensing, Llc Systems and methods for detecting a tilt angle from a depth image
US8503766B2 (en) 2009-05-01 2013-08-06 Microsoft Corporation Systems and methods for detecting a tilt angle from a depth image
US8638985B2 (en) 2009-05-01 2014-01-28 Microsoft Corporation Human body pose estimation
US8762894B2 (en) 2009-05-01 2014-06-24 Microsoft Corporation Managing virtual ports
US8340432B2 (en) 2009-05-01 2012-12-25 Microsoft Corporation Systems and methods for detecting a tilt angle from a depth image
US9898675B2 (en) 2009-05-01 2018-02-20 Microsoft Technology Licensing, Llc User movement tracking feedback to improve tracking
US9524024B2 (en) 2009-05-01 2016-12-20 Microsoft Technology Licensing, Llc Method to control perspective for a camera-controlled computer
US20110210915A1 (en) * 2009-05-01 2011-09-01 Microsoft Corporation Human Body Pose Estimation
US9519828B2 (en) 2009-05-01 2016-12-13 Microsoft Technology Licensing, Llc Isolate extraneous motions
US9519970B2 (en) 2009-05-01 2016-12-13 Microsoft Technology Licensing, Llc Systems and methods for detecting a tilt angle from a depth image
US9262673B2 (en) 2009-05-01 2016-02-16 Microsoft Technology Licensing, Llc Human body pose estimation
US8451278B2 (en) 2009-05-01 2013-05-28 Microsoft Corporation Determine intended motions
US9298263B2 (en) 2009-05-01 2016-03-29 Microsoft Technology Licensing, Llc Show body position
US9015638B2 (en) 2009-05-01 2015-04-21 Microsoft Technology Licensing, Llc Binding users to a gesture based system and providing feedback to the users
US9377857B2 (en) 2009-05-01 2016-06-28 Microsoft Technology Licensing, Llc Show body position
US9498718B2 (en) 2009-05-01 2016-11-22 Microsoft Technology Licensing, Llc Altering a view perspective within a display environment
US8942428B2 (en) 2009-05-01 2015-01-27 Microsoft Corporation Isolate extraneous motions
US8542252B2 (en) 2009-05-29 2013-09-24 Microsoft Corporation Target digitization, extraction, and tracking
US8379101B2 (en) 2009-05-29 2013-02-19 Microsoft Corporation Environment and/or target segmentation
US9400559B2 (en) 2009-05-29 2016-07-26 Microsoft Technology Licensing, Llc Gesture shortcuts
US9383823B2 (en) 2009-05-29 2016-07-05 Microsoft Technology Licensing, Llc Combining gestures beyond skeletal
US8320619B2 (en) 2009-05-29 2012-11-27 Microsoft Corporation Systems and methods for tracking a model
US9943755B2 (en) 2009-05-29 2018-04-17 Microsoft Technology Licensing, Llc Device for identifying and tracking multiple humans over time
US8660310B2 (en) 2009-05-29 2014-02-25 Microsoft Corporation Systems and methods for tracking a model
US8693724B2 (en) 2009-05-29 2014-04-08 Microsoft Corporation Method and system implementing user-centric gesture control
US9656162B2 (en) 2009-05-29 2017-05-23 Microsoft Technology Licensing, Llc Device for identifying and tracking multiple humans over time
US9215478B2 (en) 2009-05-29 2015-12-15 Microsoft Technology Licensing, Llc Protocol and format for communicating an image from a camera to a computing environment
US9182814B2 (en) 2009-05-29 2015-11-10 Microsoft Technology Licensing, Llc Systems and methods for estimating a non-visible or occluded body part
US8896721B2 (en) 2009-05-29 2014-11-25 Microsoft Corporation Environment and/or target segmentation
US10691216B2 (en) 2009-05-29 2020-06-23 Microsoft Technology Licensing, Llc Combining gestures beyond skeletal
US8744121B2 (en) 2009-05-29 2014-06-03 Microsoft Corporation Device for identifying and tracking multiple humans over time
US20100302247A1 (en) * 2009-05-29 2010-12-02 Microsoft Corporation Target digitization, extraction, and tracking
US8418085B2 (en) 2009-05-29 2013-04-09 Microsoft Corporation Gesture coach
US8856691B2 (en) 2009-05-29 2014-10-07 Microsoft Corporation Gesture tool
US9569005B2 (en) 2009-05-29 2017-02-14 Microsoft Technology Licensing, Llc Method and system implementing user-centric gesture control
US8351652B2 (en) 2009-05-29 2013-01-08 Microsoft Corporation Systems and methods for tracking a model
US8625837B2 (en) 2009-05-29 2014-01-07 Microsoft Corporation Protocol and format for communicating an image from a camera to a computing environment
US8509479B2 (en) 2009-05-29 2013-08-13 Microsoft Corporation Virtual object
US20100302365A1 (en) * 2009-05-29 2010-12-02 Microsoft Corporation Depth Image Noise Reduction
US8917240B2 (en) 2009-06-01 2014-12-23 Microsoft Corporation Virtual desktop coordinate transformation
US8487871B2 (en) 2009-06-01 2013-07-16 Microsoft Corporation Virtual desktop coordinate transformation
US9519989B2 (en) 2009-07-09 2016-12-13 Microsoft Technology Licensing, Llc Visual representation expression based on player expression
US8390680B2 (en) 2009-07-09 2013-03-05 Microsoft Corporation Visual representation expression based on player expression
US9159151B2 (en) 2009-07-13 2015-10-13 Microsoft Technology Licensing, Llc Bringing a visual representation to life via learned input from the user
US8264536B2 (en) 2009-08-25 2012-09-11 Microsoft Corporation Depth-sensitive imaging via polarization-state mapping
US9141193B2 (en) 2009-08-31 2015-09-22 Microsoft Technology Licensing, Llc Techniques for using human gestures to control gesture unaware programs
US8508919B2 (en) 2009-09-14 2013-08-13 Microsoft Corporation Separation of electrical and optical components
US8330134B2 (en) 2009-09-14 2012-12-11 Microsoft Corporation Optical fault monitoring
US9063001B2 (en) 2009-09-14 2015-06-23 Microsoft Technology Licensing, Llc Optical fault monitoring
US8908091B2 (en) 2009-09-21 2014-12-09 Microsoft Corporation Alignment of lens and image sensor
US8976986B2 (en) 2009-09-21 2015-03-10 Microsoft Technology Licensing, Llc Volume adjustment based on listener position
US8760571B2 (en) 2009-09-21 2014-06-24 Microsoft Corporation Alignment of lens and image sensor
US8428340B2 (en) 2009-09-21 2013-04-23 Microsoft Corporation Screen space plane identification
US10085072B2 (en) 2009-09-23 2018-09-25 Rovi Guides, Inc. Systems and methods for automatically detecting users within detection regions of media devices
US10631066B2 (en) 2009-09-23 2020-04-21 Rovi Guides, Inc. Systems and method for automatically detecting users within detection regions of media devices
US20110075921A1 (en) * 2009-09-30 2011-03-31 Microsoft Corporation Image Selection Techniques
US8452087B2 (en) 2009-09-30 2013-05-28 Microsoft Corporation Image selection techniques
US8723118B2 (en) 2009-10-01 2014-05-13 Microsoft Corporation Imager for constructing color and depth images
US9679390B2 (en) 2009-10-07 2017-06-13 Microsoft Technology Licensing, Llc Systems and methods for removing a background of an image
US9582717B2 (en) 2009-10-07 2017-02-28 Microsoft Technology Licensing, Llc Systems and methods for tracking a model
US8897495B2 (en) 2009-10-07 2014-11-25 Microsoft Corporation Systems and methods for tracking a model
US9821226B2 (en) 2009-10-07 2017-11-21 Microsoft Technology Licensing, Llc Human tracking system
US8483436B2 (en) 2009-10-07 2013-07-09 Microsoft Corporation Systems and methods for tracking a model
US8867820B2 (en) 2009-10-07 2014-10-21 Microsoft Corporation Systems and methods for removing a background of an image
US9522328B2 (en) 2009-10-07 2016-12-20 Microsoft Technology Licensing, Llc Human tracking system
US20110081044A1 (en) * 2009-10-07 2011-04-07 Microsoft Corporation Systems And Methods For Removing A Background Of An Image
US8861839B2 (en) 2009-10-07 2014-10-14 Microsoft Corporation Human tracking system
US8564534B2 (en) 2009-10-07 2013-10-22 Microsoft Corporation Human tracking system
US9659377B2 (en) 2009-10-07 2017-05-23 Microsoft Technology Licensing, Llc Methods and systems for determining and tracking extremities of a target
US8542910B2 (en) 2009-10-07 2013-09-24 Microsoft Corporation Human tracking system
US8891827B2 (en) 2009-10-07 2014-11-18 Microsoft Corporation Systems and methods for tracking a model
US8963829B2 (en) 2009-10-07 2015-02-24 Microsoft Corporation Methods and systems for determining and tracking extremities of a target
US8970487B2 (en) 2009-10-07 2015-03-03 Microsoft Technology Licensing, Llc Human tracking system
US8325984B2 (en) 2009-10-07 2012-12-04 Microsoft Corporation Systems and methods for tracking a model
US9400548B2 (en) 2009-10-19 2016-07-26 Microsoft Technology Licensing, Llc Gesture personalization and profile roaming
US8988432B2 (en) 2009-11-05 2015-03-24 Microsoft Technology Licensing, Llc Systems and methods for processing an image for target tracking
US20110119640A1 (en) * 2009-11-19 2011-05-19 Microsoft Corporation Distance scalable no touch computing
US10048763B2 (en) 2009-11-19 2018-08-14 Microsoft Technology Licensing, Llc Distance scalable no touch computing
US8843857B2 (en) 2009-11-19 2014-09-23 Microsoft Corporation Distance scalable no touch computing
US9244533B2 (en) 2009-12-17 2016-01-26 Microsoft Technology Licensing, Llc Camera navigation for presentations
US8588517B2 (en) 2009-12-18 2013-11-19 Microsoft Corporation Motion detection using depth images
US8374423B2 (en) 2009-12-18 2013-02-12 Microsoft Corporation Motion detection using depth images
US8320621B2 (en) 2009-12-21 2012-11-27 Microsoft Corporation Depth projector system with integrated VCSEL array
US10398972B2 (en) 2010-01-08 2019-09-03 Microsoft Technology Licensing, Llc Assigning gesture dictionaries
US8631355B2 (en) 2010-01-08 2014-01-14 Microsoft Corporation Assigning gesture dictionaries
US9019201B2 (en) 2010-01-08 2015-04-28 Microsoft Technology Licensing, Llc Evolving universal gesture sets
US9468848B2 (en) 2010-01-08 2016-10-18 Microsoft Technology Licensing, Llc Assigning gesture dictionaries
US9268404B2 (en) 2010-01-08 2016-02-23 Microsoft Technology Licensing, Llc Application gesture interpretation
US8933884B2 (en) 2010-01-15 2015-01-13 Microsoft Corporation Tracking groups of users in motion capture system
US9195305B2 (en) 2010-01-15 2015-11-24 Microsoft Technology Licensing, Llc Recognizing user intent in motion capture system
US8676581B2 (en) 2010-01-22 2014-03-18 Microsoft Corporation Speech recognition analysis via identification information
US8781156B2 (en) 2010-01-25 2014-07-15 Microsoft Corporation Voice-body identity correlation
US8265341B2 (en) 2010-01-25 2012-09-11 Microsoft Corporation Voice-body identity correlation
US9278287B2 (en) 2010-01-29 2016-03-08 Microsoft Technology Licensing, Llc Visual based identity tracking
US8864581B2 (en) 2010-01-29 2014-10-21 Microsoft Corporation Visual based identitiy tracking
US8926431B2 (en) 2010-01-29 2015-01-06 Microsoft Corporation Visual based identity tracking
US10113868B2 (en) 2010-02-01 2018-10-30 Microsoft Technology Licensing, Llc Multiple synchronized optical sources for time-of-flight range finding systems
US8891067B2 (en) 2010-02-01 2014-11-18 Microsoft Corporation Multiple synchronized optical sources for time-of-flight range finding systems
US8619122B2 (en) 2010-02-02 2013-12-31 Microsoft Corporation Depth camera compatibility
US8687044B2 (en) 2010-02-02 2014-04-01 Microsoft Corporation Depth camera compatibility
US8717469B2 (en) 2010-02-03 2014-05-06 Microsoft Corporation Fast gating photosurface
US8659658B2 (en) 2010-02-09 2014-02-25 Microsoft Corporation Physical interaction zone for gesture-based user interfaces
US8499257B2 (en) 2010-02-09 2013-07-30 Microsoft Corporation Handles interactions for human—computer interface
US8633890B2 (en) 2010-02-16 2014-01-21 Microsoft Corporation Gesture detection based on joint skipping
US20110199302A1 (en) * 2010-02-16 2011-08-18 Microsoft Corporation Capturing screen objects using a collision volume
US8928579B2 (en) 2010-02-22 2015-01-06 Andrew David Wilson Interacting with an omni-directionally projected display
US8655069B2 (en) 2010-03-05 2014-02-18 Microsoft Corporation Updating image segmentation following user input
US20110216965A1 (en) * 2010-03-05 2011-09-08 Microsoft Corporation Image Segmentation Using Reduced Foreground Training Data
US8644609B2 (en) 2010-03-05 2014-02-04 Microsoft Corporation Up-sampling binary images for segmentation
US8422769B2 (en) 2010-03-05 2013-04-16 Microsoft Corporation Image segmentation using reduced foreground training data
US8787658B2 (en) 2010-03-05 2014-07-22 Microsoft Corporation Image segmentation using reduced foreground training data
US8411948B2 (en) 2010-03-05 2013-04-02 Microsoft Corporation Up-sampling binary images for segmentation
US9069381B2 (en) 2010-03-12 2015-06-30 Microsoft Technology Licensing, Llc Interacting with a computer based application
US9147253B2 (en) 2010-03-17 2015-09-29 Microsoft Technology Licensing, Llc Raster scanning for depth detection
US8279418B2 (en) 2010-03-17 2012-10-02 Microsoft Corporation Raster scanning for depth detection
US8213680B2 (en) 2010-03-19 2012-07-03 Microsoft Corporation Proxy training data for human body tracking
US8514269B2 (en) 2010-03-26 2013-08-20 Microsoft Corporation De-aliasing depth images
US8523667B2 (en) 2010-03-29 2013-09-03 Microsoft Corporation Parental control settings based on body dimensions
US9031103B2 (en) 2010-03-31 2015-05-12 Microsoft Technology Licensing, Llc Temperature measurement and control for laser and light-emitting diodes
US8605763B2 (en) 2010-03-31 2013-12-10 Microsoft Corporation Temperature measurement and control for laser and light-emitting diodes
US9646340B2 (en) 2010-04-01 2017-05-09 Microsoft Technology Licensing, Llc Avatar-based virtual dressing room
US9098873B2 (en) 2010-04-01 2015-08-04 Microsoft Technology Licensing, Llc Motion-based interactive shopping environment
US8351651B2 (en) 2010-04-26 2013-01-08 Microsoft Corporation Hand-location post-process refinement in a tracking system
US8452051B1 (en) 2010-04-26 2013-05-28 Microsoft Corporation Hand-location post-process refinement in a tracking system
US8379919B2 (en) 2010-04-29 2013-02-19 Microsoft Corporation Multiple centroid condensation of probability distribution clouds
US8611607B2 (en) 2010-04-29 2013-12-17 Microsoft Corporation Multiple centroid condensation of probability distribution clouds
US8284847B2 (en) 2010-05-03 2012-10-09 Microsoft Corporation Detecting motion for a multifunction sensor device
US8885890B2 (en) 2010-05-07 2014-11-11 Microsoft Corporation Depth map confidence filtering
US8498481B2 (en) 2010-05-07 2013-07-30 Microsoft Corporation Image segmentation using star-convexity constraints
US8457353B2 (en) 2010-05-18 2013-06-04 Microsoft Corporation Gestures and gesture modifiers for manipulating a user-interface
US8803888B2 (en) 2010-06-02 2014-08-12 Microsoft Corporation Recognition system for sharing information
US9958952B2 (en) 2010-06-02 2018-05-01 Microsoft Technology Licensing, Llc Recognition system for sharing information
US9491226B2 (en) 2010-06-02 2016-11-08 Microsoft Technology Licensing, Llc Recognition system for sharing information
US9008355B2 (en) 2010-06-04 2015-04-14 Microsoft Technology Licensing, Llc Automatic depth camera aiming
US9098493B2 (en) 2010-06-04 2015-08-04 Microsoft Technology Licensing, Llc Machine based sign language interpreter
US8751215B2 (en) 2010-06-04 2014-06-10 Microsoft Corporation Machine based sign language interpreter
US9557574B2 (en) 2010-06-08 2017-01-31 Microsoft Technology Licensing, Llc Depth illumination and detection optics
US8330822B2 (en) 2010-06-09 2012-12-11 Microsoft Corporation Thermally-tuned depth camera light source
US8749557B2 (en) 2010-06-11 2014-06-10 Microsoft Corporation Interacting with user interface via avatar
US8675981B2 (en) 2010-06-11 2014-03-18 Microsoft Corporation Multi-modal gender recognition including depth data
US9384329B2 (en) 2010-06-11 2016-07-05 Microsoft Technology Licensing, Llc Caloric burn determination from body movement
US9292083B2 (en) 2010-06-11 2016-03-22 Microsoft Technology Licensing, Llc Interacting with user interface via avatar
US8982151B2 (en) 2010-06-14 2015-03-17 Microsoft Technology Licensing, Llc Independently processing planes of display data
US8558873B2 (en) 2010-06-16 2013-10-15 Microsoft Corporation Use of wavefront coding to create a depth image
US8670029B2 (en) 2010-06-16 2014-03-11 Microsoft Corporation Depth camera illuminator with superluminescent light-emitting diode
US8296151B2 (en) 2010-06-18 2012-10-23 Microsoft Corporation Compound gesture-speech commands
US10534438B2 (en) 2010-06-18 2020-01-14 Microsoft Technology Licensing, Llc Compound gesture-speech commands
US9274747B2 (en) 2010-06-21 2016-03-01 Microsoft Technology Licensing, Llc Natural user input for driving interactive stories
US8381108B2 (en) 2010-06-21 2013-02-19 Microsoft Corporation Natural user input for driving interactive stories
US8416187B2 (en) 2010-06-22 2013-04-09 Microsoft Corporation Item navigation using motion-capture data
US9075434B2 (en) 2010-08-20 2015-07-07 Microsoft Technology Licensing, Llc Translating user motion into multiple object responses
US8613666B2 (en) 2010-08-31 2013-12-24 Microsoft Corporation User selection and navigation based on looped motions
US8968091B2 (en) 2010-09-07 2015-03-03 Microsoft Technology Licensing, Llc Scalable real-time motion recognition
US8437506B2 (en) 2010-09-07 2013-05-07 Microsoft Corporation System for fast, probabilistic skeletal tracking
US8953844B2 (en) 2010-09-07 2015-02-10 Microsoft Technology Licensing, Llc System for fast, probabilistic skeletal tracking
US8988508B2 (en) 2010-09-24 2015-03-24 Microsoft Technology Licensing, Llc. Wide angle field of view active illumination imaging system
US8681255B2 (en) 2010-09-28 2014-03-25 Microsoft Corporation Integrated low power depth camera and projection device
US8983233B2 (en) 2010-10-04 2015-03-17 Microsoft Technology Licensing, Llc Time-of-flight depth imaging
US8548270B2 (en) 2010-10-04 2013-10-01 Microsoft Corporation Time-of-flight depth imaging
US9484065B2 (en) 2010-10-15 2016-11-01 Microsoft Technology Licensing, Llc Intelligent determination of replays based on event identification
US8592739B2 (en) 2010-11-02 2013-11-26 Microsoft Corporation Detection of configuration changes of an optical element in an illumination system
US9291449B2 (en) 2010-11-02 2016-03-22 Microsoft Technology Licensing, Llc Detection of configuration changes among optical elements of illumination system
US8866889B2 (en) 2010-11-03 2014-10-21 Microsoft Corporation In-home depth camera calibration
US8667519B2 (en) 2010-11-12 2014-03-04 Microsoft Corporation Automatic passive and anonymous feedback system
US10726861B2 (en) 2010-11-15 2020-07-28 Microsoft Technology Licensing, Llc Semi-private communication in open environments
US9349040B2 (en) 2010-11-19 2016-05-24 Microsoft Technology Licensing, Llc Bi-modal depth-image analysis
US10234545B2 (en) 2010-12-01 2019-03-19 Microsoft Technology Licensing, Llc Light source module
US8553934B2 (en) 2010-12-08 2013-10-08 Microsoft Corporation Orienting the position of a sensor
US8618405B2 (en) 2010-12-09 2013-12-31 Microsoft Corp. Free-space gesture musical instrument digital interface (MIDI) controller
US8408706B2 (en) 2010-12-13 2013-04-02 Microsoft Corporation 3D gaze tracker
US8884968B2 (en) 2010-12-15 2014-11-11 Microsoft Corporation Modeling an object from image data
US8920241B2 (en) 2010-12-15 2014-12-30 Microsoft Corporation Gesture controlled persistent handles for interface guides
US9171264B2 (en) 2010-12-15 2015-10-27 Microsoft Technology Licensing, Llc Parallel processing machine learning decision tree training
US8775916B2 (en) 2010-12-17 2014-07-08 Microsoft Corporation Validation analysis of human target
US8448056B2 (en) 2010-12-17 2013-05-21 Microsoft Corporation Validation analysis of human target
US8803952B2 (en) 2010-12-20 2014-08-12 Microsoft Corporation Plural detector time-of-flight depth mapping
US8385596B2 (en) 2010-12-21 2013-02-26 Microsoft Corporation First person shooter control with virtual skeleton
US9823339B2 (en) 2010-12-21 2017-11-21 Microsoft Technology Licensing, Llc Plural anode time-of-flight sensor
US9489053B2 (en) 2010-12-21 2016-11-08 Microsoft Technology Licensing, Llc Skeletal control of three-dimensional virtual world
US8994718B2 (en) 2010-12-21 2015-03-31 Microsoft Technology Licensing, Llc Skeletal control of three-dimensional virtual world
US9821224B2 (en) 2010-12-21 2017-11-21 Microsoft Technology Licensing, Llc Driving simulator control with virtual skeleton
US9848106B2 (en) 2010-12-21 2017-12-19 Microsoft Technology Licensing, Llc Intelligent gameplay photo capture
US9529566B2 (en) 2010-12-27 2016-12-27 Microsoft Technology Licensing, Llc Interactive content creation
US9123316B2 (en) 2010-12-27 2015-09-01 Microsoft Technology Licensing, Llc Interactive content creation
US8488888B2 (en) 2010-12-28 2013-07-16 Microsoft Corporation Classification of posture states
US9242171B2 (en) 2011-01-31 2016-01-26 Microsoft Technology Licensing, Llc Real-time camera tracking using depth maps
US8401242B2 (en) 2011-01-31 2013-03-19 Microsoft Corporation Real-time camera tracking using depth maps
US8587583B2 (en) 2011-01-31 2013-11-19 Microsoft Corporation Three-dimensional environment reconstruction
US8401225B2 (en) 2011-01-31 2013-03-19 Microsoft Corporation Moving object segmentation using depth images
US10049458B2 (en) 2011-01-31 2018-08-14 Microsoft Technology Licensing, Llc Reducing interference between multiple infra-red depth cameras
US9247238B2 (en) 2011-01-31 2016-01-26 Microsoft Technology Licensing, Llc Reducing interference between multiple infra-red depth cameras
US8724887B2 (en) 2011-02-03 2014-05-13 Microsoft Corporation Environmental modifications to mitigate environmental factors
US8942917B2 (en) 2011-02-14 2015-01-27 Microsoft Corporation Change invariant scene recognition by an agent
US9619561B2 (en) 2011-02-14 2017-04-11 Microsoft Technology Licensing, Llc Change invariant scene recognition by an agent
US8497838B2 (en) 2011-02-16 2013-07-30 Microsoft Corporation Push actuation of interface controls
US9551914B2 (en) 2011-03-07 2017-01-24 Microsoft Technology Licensing, Llc Illuminator with refractive optical element
US9067136B2 (en) 2011-03-10 2015-06-30 Microsoft Technology Licensing, Llc Push personalization of interface controls
US8571263B2 (en) 2011-03-17 2013-10-29 Microsoft Corporation Predicting joint positions
US9470778B2 (en) 2011-03-29 2016-10-18 Microsoft Technology Licensing, Llc Learning from high quality depth measurements
US9298287B2 (en) 2011-03-31 2016-03-29 Microsoft Technology Licensing, Llc Combined activation for natural user interface systems
US9539500B2 (en) 2011-04-05 2017-01-10 Microsoft Technology Licensing, Llc Biometric recognition
US8503494B2 (en) 2011-04-05 2013-08-06 Microsoft Corporation Thermal management system
US8824749B2 (en) 2011-04-05 2014-09-02 Microsoft Corporation Biometric recognition
US8620113B2 (en) 2011-04-25 2013-12-31 Microsoft Corporation Laser diode modes
US9259643B2 (en) 2011-04-28 2016-02-16 Microsoft Technology Licensing, Llc Control of separate computer game elements
US8702507B2 (en) 2011-04-28 2014-04-22 Microsoft Corporation Manual and camera-based avatar control
US10671841B2 (en) 2011-05-02 2020-06-02 Microsoft Technology Licensing, Llc Attribute state classification
US8888331B2 (en) 2011-05-09 2014-11-18 Microsoft Corporation Low inductance light source module
US9137463B2 (en) 2011-05-12 2015-09-15 Microsoft Technology Licensing, Llc Adaptive high dynamic range camera
US8788973B2 (en) 2011-05-23 2014-07-22 Microsoft Corporation Three-dimensional gesture controlled avatar configuration interface
US9372544B2 (en) 2011-05-31 2016-06-21 Microsoft Technology Licensing, Llc Gesture recognition techniques
US10331222B2 (en) 2011-05-31 2019-06-25 Microsoft Technology Licensing, Llc Gesture recognition techniques
US8760395B2 (en) 2011-05-31 2014-06-24 Microsoft Corporation Gesture recognition techniques
US8526734B2 (en) 2011-06-01 2013-09-03 Microsoft Corporation Three-dimensional background removal for vision system
US9594430B2 (en) 2011-06-01 2017-03-14 Microsoft Technology Licensing, Llc Three-dimensional foreground selection for vision system
US8597142B2 (en) 2011-06-06 2013-12-03 Microsoft Corporation Dynamic camera based practice mode
US9098110B2 (en) 2011-06-06 2015-08-04 Microsoft Technology Licensing, Llc Head rotation tracking from depth-based center of mass
US9953426B2 (en) 2011-06-06 2018-04-24 Microsoft Technology Licensing, Llc Object digitization
US8897491B2 (en) 2011-06-06 2014-11-25 Microsoft Corporation System for finger recognition and tracking
US10796494B2 (en) 2011-06-06 2020-10-06 Microsoft Technology Licensing, Llc Adding attributes to virtual representations of real-world objects
US9208571B2 (en) 2011-06-06 2015-12-08 Microsoft Technology Licensing, Llc Object digitization
US8929612B2 (en) 2011-06-06 2015-01-06 Microsoft Corporation System for recognizing an open or closed hand
US9013489B2 (en) 2011-06-06 2015-04-21 Microsoft Technology Licensing, Llc Generation of avatar reflecting player appearance
US9724600B2 (en) 2011-06-06 2017-08-08 Microsoft Technology Licensing, Llc Controlling objects in a virtual environment
US9597587B2 (en) 2011-06-08 2017-03-21 Microsoft Technology Licensing, Llc Locational node device
US8786730B2 (en) 2011-08-18 2014-07-22 Microsoft Corporation Image exposure using exclusion regions
US9557836B2 (en) 2011-11-01 2017-01-31 Microsoft Technology Licensing, Llc Depth image compression
US9117281B2 (en) 2011-11-02 2015-08-25 Microsoft Corporation Surface segmentation from RGB and depth images
US8854426B2 (en) 2011-11-07 2014-10-07 Microsoft Corporation Time-of-flight camera with guided light
US9056254B2 (en) 2011-11-07 2015-06-16 Microsoft Technology Licensing, Llc Time-of-flight camera with guided light
US8724906B2 (en) 2011-11-18 2014-05-13 Microsoft Corporation Computing pose and/or shape of modifiable entities
US8509545B2 (en) 2011-11-29 2013-08-13 Microsoft Corporation Foreground subject detection
US8929668B2 (en) 2011-11-29 2015-01-06 Microsoft Corporation Foreground subject detection
US8803800B2 (en) 2011-12-02 2014-08-12 Microsoft Corporation User interface control based on head orientation
US8635637B2 (en) 2011-12-02 2014-01-21 Microsoft Corporation User interface presenting an animated avatar performing a media reaction
US9154837B2 (en) 2011-12-02 2015-10-06 Microsoft Technology Licensing, Llc User interface presenting an animated avatar performing a media reaction
US9100685B2 (en) 2011-12-09 2015-08-04 Microsoft Technology Licensing, Llc Determining audience state or interest using passive sensor data
US9628844B2 (en) 2011-12-09 2017-04-18 Microsoft Technology Licensing, Llc Determining audience state or interest using passive sensor data
US10798438B2 (en) 2011-12-09 2020-10-06 Microsoft Technology Licensing, Llc Determining audience state or interest using passive sensor data
US8971612B2 (en) 2011-12-15 2015-03-03 Microsoft Corporation Learning image processing tasks from scene reconstructions
US8879831B2 (en) 2011-12-15 2014-11-04 Microsoft Corporation Using high-level attributes to guide image processing
US8630457B2 (en) 2011-12-15 2014-01-14 Microsoft Corporation Problem states for pose tracking pipeline
US9596643B2 (en) 2011-12-16 2017-03-14 Microsoft Technology Licensing, Llc Providing a user interface experience based on inferred vehicle state
US8811938B2 (en) 2011-12-16 2014-08-19 Microsoft Corporation Providing a user interface experience based on inferred vehicle state
US9342139B2 (en) 2011-12-19 2016-05-17 Microsoft Technology Licensing, Llc Pairing a computing device to a user
US9720089B2 (en) 2012-01-23 2017-08-01 Microsoft Technology Licensing, Llc 3D zoom imager
US8898687B2 (en) 2012-04-04 2014-11-25 Microsoft Corporation Controlling a media program based on a media reaction
US9210401B2 (en) 2012-05-03 2015-12-08 Microsoft Technology Licensing, Llc Projected visual cues for guiding physical movement
US9788032B2 (en) 2012-05-04 2017-10-10 Microsoft Technology Licensing, Llc Determining a future portion of a currently presented media program
US8959541B2 (en) 2012-05-04 2015-02-17 Microsoft Technology Licensing, Llc Determining a future portion of a currently presented media program
US9001118B2 (en) 2012-06-21 2015-04-07 Microsoft Technology Licensing, Llc Avatar construction using depth camera
US10089454B2 (en) 2012-06-22 2018-10-02 Microsoft Technology Licensing, Llc Enhanced accuracy of user presence status determination
US9836590B2 (en) 2012-06-22 2017-12-05 Microsoft Technology Licensing, Llc Enhanced accuracy of user presence status determination
US9696427B2 (en) 2012-08-14 2017-07-04 Microsoft Technology Licensing, Llc Wide angle depth detection
US8882310B2 (en) 2012-12-10 2014-11-11 Microsoft Corporation Laser die light source module with low inductance
US11215711B2 (en) 2012-12-28 2022-01-04 Microsoft Technology Licensing, Llc Using photometric stereo for 3D environment modeling
US9857470B2 (en) 2012-12-28 2018-01-02 Microsoft Technology Licensing, Llc Using photometric stereo for 3D environment modeling
US9251590B2 (en) 2013-01-24 2016-02-02 Microsoft Technology Licensing, Llc Camera pose estimation for 3D reconstruction
US9052746B2 (en) 2013-02-15 2015-06-09 Microsoft Technology Licensing, Llc User center-of-mass and mass distribution extraction using depth images
US9940553B2 (en) 2013-02-22 2018-04-10 Microsoft Technology Licensing, Llc Camera/object pose from predicted coordinates
US11710309B2 (en) 2013-02-22 2023-07-25 Microsoft Technology Licensing, Llc Camera/object pose from predicted coordinates
US9959459B2 (en) 2013-03-08 2018-05-01 Microsoft Technology Licensing, Llc Extraction of user behavior from depth images
US9135516B2 (en) 2013-03-08 2015-09-15 Microsoft Technology Licensing, Llc User body angle, curvature and average extremity positions extraction using depth images
US9311560B2 (en) 2013-03-08 2016-04-12 Microsoft Technology Licensing, Llc Extraction of user behavior from depth images
US9824260B2 (en) 2013-03-13 2017-11-21 Microsoft Technology Licensing, Llc Depth image processing
US9092657B2 (en) 2013-03-13 2015-07-28 Microsoft Technology Licensing, Llc Depth image processing
US9787943B2 (en) 2013-03-14 2017-10-10 Microsoft Technology Licensing, Llc Natural user interface having video conference controls
US9274606B2 (en) 2013-03-14 2016-03-01 Microsoft Technology Licensing, Llc NUI video conference controls
US9953213B2 (en) 2013-03-27 2018-04-24 Microsoft Technology Licensing, Llc Self discovery of autonomous NUI devices
US9442186B2 (en) 2013-05-13 2016-09-13 Microsoft Technology Licensing, Llc Interference reduction for TOF systems
US9462253B2 (en) 2013-09-23 2016-10-04 Microsoft Technology Licensing, Llc Optical modules that reduce speckle contrast and diffraction artifacts
US10024968B2 (en) 2013-09-23 2018-07-17 Microsoft Technology Licensing, Llc Optical modules that reduce speckle contrast and diffraction artifacts
US9443310B2 (en) 2013-10-09 2016-09-13 Microsoft Technology Licensing, Llc Illumination modules that emit structured light
US9674563B2 (en) 2013-11-04 2017-06-06 Rovi Guides, Inc. Systems and methods for recommending content
US9769459B2 (en) 2013-11-12 2017-09-19 Microsoft Technology Licensing, Llc Power efficient laser diode driver circuit and method
US10205931B2 (en) 2013-11-12 2019-02-12 Microsoft Technology Licensing, Llc Power efficient laser diode driver circuit and method
US10325628B2 (en) 2013-11-21 2019-06-18 Microsoft Technology Licensing, Llc Audio-visual project generator
US9508385B2 (en) 2013-11-21 2016-11-29 Microsoft Technology Licensing, Llc Audio-visual project generator
US9971491B2 (en) 2014-01-09 2018-05-15 Microsoft Technology Licensing, Llc Gesture library for natural user input
US9868213B2 (en) * 2015-08-11 2018-01-16 Empire Technology Development Llc Incidental robot-human contact detection
US20170043483A1 (en) * 2015-08-11 2017-02-16 Empire Technology Development Llc Incidental robot-human contact detection
US10412280B2 (en) 2016-02-10 2019-09-10 Microsoft Technology Licensing, Llc Camera with light valve over sensor array
US10257932B2 (en) 2016-02-16 2019-04-09 Microsoft Technology Licensing, Llc. Laser diode chip on printed circuit board
US10462452B2 (en) 2016-03-16 2019-10-29 Microsoft Technology Licensing, Llc Synchronizing active illumination cameras

Also Published As

Publication number Publication date
US6411744B1 (en) 2002-06-25
US7162082B2 (en) 2007-01-09
US20020172433A1 (en) 2002-11-21
AU1099899A (en) 1999-05-03
WO1999019828A1 (en) 1999-04-22

Similar Documents

Publication Publication Date Title
USRE42256E1 (en) Method and apparatus for performing a clean background subtraction
CN110310319B (en) Illumination-separated single-view human body clothing geometric detail reconstruction method and device
US8270696B2 (en) Image slice segmentation using midpoints of contour anchor points
US8385598B2 (en) Action analysis apparatus
WO2002091302A3 (en) Image sequence enhancement system and method
JP2000082147A (en) Method for detecting human face and device therefor and observer tracking display
WO1999019810A1 (en) Method and apparatus for model-based compositing
CN110930374A (en) Acupoint positioning method based on double-depth camera
CN105869217B (en) A kind of virtual real fit method
CN109753857A (en) A kind of three-dimensional face identification apparatus and system based on photometric stereo visual imaging
CN108133216A (en) The charactron Recognition of Reading method that achievable decimal point based on machine vision is read
CN109598736A (en) The method for registering and device of depth image and color image
CN108460833A (en) A kind of information platform building traditional architecture digital protection and reparation based on BIM
JP2004030007A (en) Makeup simulation apparatus, makeup simulation method, makeup simulation program and recording medium with program recorded thereon
Lievin et al. Lip features automatic extraction
JP3129595B2 (en) Image processing device
JPH0793561A (en) Edge and contour extractor
Celik et al. Region-based super-resolution aided facial feature extraction from low-resolution sequences
CN111696063B (en) Repairing method and system for clothing multi-angle shot pictures
Agawa et al. Image analysis for face modeling and facial image reconstruction
US20090169059A1 (en) Motion Analysis in Digital Image Sequences
JPH07146937A (en) Pattern matching method
CN109598737A (en) A kind of image border recognition methods and system
KR100618493B1 (en) The Apparatus and Method for Creating Three-Dimensional Image Automatically
CN109300165A (en) A kind of novel target tracking localization method based on pixel characteristic

Legal Events

Date Code Title Description
AS Assignment

Owner name: ELET SYSTEMS L.L.C., DELAWARE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ELECTRIC PLANET INTERACTIVE;REEL/FRAME:027259/0107

Effective date: 20071211

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

AS Assignment

Owner name: ELECTRIC PLANET INTERACTIVE, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:EDWARDS, JEFFREY L.;REEL/FRAME:027429/0919

Effective date: 20080310

AS Assignment

Owner name: IV GESTURE ASSETS 12, LLC, DELAWARE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ELET SYSTEMS L.L.C.;REEL/FRAME:027710/0132

Effective date: 20111222

AS Assignment

Owner name: MICROSOFT CORPORATION, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:IV GESTURE ASSETS 12, LLC;REEL/FRAME:028012/0370

Effective date: 20120216

REMI Maintenance fee reminder mailed
AS Assignment

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034564/0001

Effective date: 20141014

LAPS Lapse for failure to pay maintenance fees