Optical flow-based manipulation of graphical objects
First Claim
1. A method of manipulating a graphical object presented on a display surface in response to a movement of one or more physical objects that are adjacent to the display surface, comprising the steps of:
- (a) creating a first image of the display surface in which one or more patches are included that represent one or more portions of the physical object at a first time index, and wherein the one or more patches include a plurality of points that intersect points in the graphical object at the first time index;
(b) creating a second image of the display surface in which the one or more patches are included and which represent the one or more portions of the physical object at a second time index occurring after the first time index;
(c) determining flow vectors describing two-dimensional, in x and y directions, motion for at least some of the plurality of points that intersect points in the graphical object in the one or more patches at the first time index and the second time index, the optical flow vectors defining one or more vector fields that define an optical flow for the one or more portions of the one or more physical objects wherein determining flow vectors describing a two-dimensional, in x and y directions, motion for at least some of the plurality of points that intersect points in the graphical object comprises comparing patches by computing the sum of pixel wise absolute differences such that for a given patch in an image, (dx, dy) is selected to minimize (d) manipulating the graphical object by applying the optical flow to the graphical object presented on the display surface.
2 Assignments
0 Petitions
Accused Products
Abstract
Motion of one or more physical objects relative to a display surface of a display system is detected and an optical flow determined from the motion is used to manipulate a graphical object presented on the display surface. The one or more physical objects are detected in response to light reflected from the object(s) and received by a video camera. The optical flow is determined from the video camera image by identifying flow vectors for points in one or more patches included in the image that correspond to the physical objects. A proximity of a physical object to the display surface can be determined based on an intensity of light reflected from the physical object(s), or using a touch sensor such as a capacitance, pressure, or electromagnetic sensor or the like. Based on the optical flow, the graphical object can be translated, rotated, and/or scaled in size.
-
Citations
16 Claims
-
1. A method of manipulating a graphical object presented on a display surface in response to a movement of one or more physical objects that are adjacent to the display surface, comprising the steps of:
-
(a) creating a first image of the display surface in which one or more patches are included that represent one or more portions of the physical object at a first time index, and wherein the one or more patches include a plurality of points that intersect points in the graphical object at the first time index; (b) creating a second image of the display surface in which the one or more patches are included and which represent the one or more portions of the physical object at a second time index occurring after the first time index; (c) determining flow vectors describing two-dimensional, in x and y directions, motion for at least some of the plurality of points that intersect points in the graphical object in the one or more patches at the first time index and the second time index, the optical flow vectors defining one or more vector fields that define an optical flow for the one or more portions of the one or more physical objects wherein determining flow vectors describing a two-dimensional, in x and y directions, motion for at least some of the plurality of points that intersect points in the graphical object comprises comparing patches by computing the sum of pixel wise absolute differences such that for a given patch in an image, (dx, dy) is selected to minimize (d) manipulating the graphical object by applying the optical flow to the graphical object presented on the display surface. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. Apparatus for detecting, applying, and displaying manipulation of a graphical object in response to movement of a physical object, comprising:
-
(a) a display surface adjacent to which the physical object can be positioned and moved and on which the graphical image is presented; (b) a light source that emits light for illuminating a physical object disposed adjacent to the display surface; (c) a light sensor disposed so as to sense light reflected back from the physical object, through the display surface; (d) a processor in communication with the light sensor; and (e) a memory in communication with the processor, the memory storing data and machine instructions that when executed by the processor cause a plurality of functions to be carried out, including; (i) using the light sensor, creating a first image of the display surface in which one or more patches are included that represent one or more portions of the physical object at a first time index, and wherein the one or more patches include a plurality of points that intersect points in the graphical object at the first time index; (ii) using the light sensor, creating a second image of the display surface in which the one or more patches are included and which represent the one or more portions of the physical object at a second time index occurring after the first time index; (iii) determining flow vectors describing two-dimensional, in x and y directions, motion for at least some points in the one or more patches at the first time index and the second time index, the optical flow vectors defining an optical flow for the one or more portions of the one or more physical objects wherein determining flow vectors describing a two-dimensional, in x and y directions, motion for at least some of the plurality of points that intersect points in the graphical object comprises determining a merit of a computed (dx, dy) at a patch, by comparing a match score corresponding to (dx, dy) =0 against a best score for any (dx, dy) and discarding the flow information at this patch if the best score is not significantly better than that corresponding to (dx, dy) =0 so as to avoid spurious flow vectors computed on regions of an image without adequate texture; and (iv) manipulating the graphical object by applying the optical flow to the graphical object presented on the display surface. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
Specification