Motion detection using normal optical flow
AssigneeIntel Corporation
InventorGary R. Bradski
Life of this patent
Estimating the term…
Abstract
A system and method obtain images of an object and generate a motion region image of the object. The motion region image is processed to obtain normal gradients of the portion of the object that has been moved. The normal gradient data is further processed to remove erroneous data points. The erroneous data can be removed by using either an eroding method or a threshold method. After the erroneous data is removed, the remaining gradient information is used to identify a motion of the object. This can be performed using a histogram recognition operation.
Claims19
A method of detecting motion comprising:
- generating a plurality of silhouettes from a corresponding plurality of images taken of an object over a predetermined period of time, the plurality of images including at least three images and having time-difference information associated with sequential images of the plurality to indicate change in velocity of movement of portions of the object;
- generating a motion region image of the object from the plurality of silhouettes;
- calculating normal gradients over time for edges within the motion region image, the normal gradients having an orientation substantially perpendicular to motion of the edges of the silhouettes;
- removing erroneous normal gradients to provide a normal flow image comprised of at least some of the normal gradients;
- and
- identifying a type of movement of the object based on the normal flow image.
A method of detecting motion comprising:
- obtaining a plurality of at least three images of an object using a camera, the plurality of images being obtained over a predetermined period of time;
- generating a motion region image of the object from the plurality of images by isolating the object in the plurality of images from a background to generate a plurality of corresponding silhouettes, generating a difference image using the plurality of images,
- wherein the difference image isolates a portion of the object which has changed location during the plurality of images, and setting pixels of the difference image to an equal value;
- calculating normal gradients over time of the motion region image, the normal gradients having an orientation substantially perpendicular to motion of edges of the silhouettes and having a magnitude proportional to changing velocity of motion between edges of sequential silhouettes;
- removing erroneous normal gradients to provide a normal flow image;
- and
- identifying movement based on the normal flow image.
A computer readable medium comprising instructions stored thereon that when executed by a processor result in:
- generating a plurality of silhouettes from a corresponding plurality of images taken of an object over a predetermined period of time, the plurality of image including at least three images and having time-difference information associated with sequential images of the plurality,
- generating a motion region image of the object from the plurality of silhouettes;
- calculating normal gradients for edges within the motion region image, the normal gradients hang an orientation substantially perpendicular to motion of the edges of the silhouettes and having a magnitude proportional to changing velocity of motion between edges of sequential silhouettes;
- removing erroneous normal gradients to provide a normal flow image comprised of at least some of the normal gradients;
- and
- identifying a type of movement of the object based on the normal flow image.
A system comprising:
- a camera to obtain a plurality of at least three images of the object taken over a predetermined period of time, the images having time-difference information associated therewith to indicate change in velocity of movement of portions of the object;
- and
- a processor coupled to the camera, to generate a plurality of silhouettes corresponding with the plurality of at least three images, to generate a motion region image of the object from the plurality of silhouettes, to calculate normal gradients for edges of the motion region image,
- to remove erroneous normal gradients to provide a normal flow image, and to identify movement based on the normal flow image using a processor,
- wherein the normal gradients calculated by the processor have an orientation substantially perpendicular to motion of the edges of the silhouettes.
Dependencies are inferred from the claim text.