Diminished and mediated reality effects from reconstruction
First Claim
1. A processor-implemented method comprising:
- obtaining a plurality of live images, the plurality of live images comprising a tracked object;
determining, for a live image in the plurality of live images, a camera pose relative to the tracked object, wherein the camera pose is determined using Simultaneous Localization and Mapping (SLAM) based techniques;
rendering, based on the camera pose, a plurality of synthetic images without the tracked object, each synthetic image obtained from a distinct keyframe in a 3D model;
comparing the live image and at least one of the plurality of synthetic images to determine a first mask region associated with the tracked object;
computing optical flow magnitudes for a plurality of pixels in the first mask region associated with the tracked object relative to a subset of synthetic images in the plurality of synthetic images;
determining, for each of the plurality of pixels in a first mask corresponding to the first mask region, a corresponding pixel in each synthetic image of the subset of synthetic images based, in part, on the optical flow magnitude; and
determining replacement pixels for the plurality of pixels in the first mask, each replacement pixel corresponding to a distinct pixel in the first mask, wherein each replacement pixel is determined as a function of the corresponding pixels in the subset of synthetic images that correspond to the pixel in the first mask.
1 Assignment
0 Petitions
Accused Products
Abstract
Disclosed embodiments pertain to apparatus, systems, and methods for mixed reality. In some embodiments, a camera pose relative to a tracked object in a live image may be determined and used to render synthetic images from keyframes in a 3D model without the tracked object. Optical flow magnitudes for pixels in a first mask region relative to a subset of the synthetic images may be determined and the optical flow magnitudes may be used to determine pixels in each of the subset of synthetic images that correspond to pixels in the first mask. For each pixel in the first mask, a corresponding replacement pixel may be determined as a function of pixels in the subset of synthetic images that correspond to the corresponding pixel in the first mask.
15 Citations
28 Claims
-
1. A processor-implemented method comprising:
-
obtaining a plurality of live images, the plurality of live images comprising a tracked object; determining, for a live image in the plurality of live images, a camera pose relative to the tracked object, wherein the camera pose is determined using Simultaneous Localization and Mapping (SLAM) based techniques; rendering, based on the camera pose, a plurality of synthetic images without the tracked object, each synthetic image obtained from a distinct keyframe in a 3D model; comparing the live image and at least one of the plurality of synthetic images to determine a first mask region associated with the tracked object; computing optical flow magnitudes for a plurality of pixels in the first mask region associated with the tracked object relative to a subset of synthetic images in the plurality of synthetic images; determining, for each of the plurality of pixels in a first mask corresponding to the first mask region, a corresponding pixel in each synthetic image of the subset of synthetic images based, in part, on the optical flow magnitude; and determining replacement pixels for the plurality of pixels in the first mask, each replacement pixel corresponding to a distinct pixel in the first mask, wherein each replacement pixel is determined as a function of the corresponding pixels in the subset of synthetic images that correspond to the pixel in the first mask. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A Mobile Station (MS) comprising:
-
a camera configured to capture a plurality of live images comprising a tracked object, a memory, the memory to store a 3D model comprising a plurality of keyframes, and a processor coupled to the camera and the memory, wherein the processor is configured to; determine, for a live image in the plurality of live images, a camera pose relative to the tracked object, wherein the camera pose is determined using Simultaneous Localization and Mapping (SLAM) based techniques; render, based on the camera pose, a plurality of synthetic images without the tracked object, each synthetic image obtained from a distinct keyframe; compare the live image and at least one of the plurality of synthetic images to determine a first mask region associated with the tracked object; compute optical flow magnitudes for a plurality of pixels in the first mask region associated with the tracked object relative to a subset of synthetic images in the plurality of synthetic images; determine, for each of the plurality of pixels in a first mask corresponding to the first mask region, a corresponding pixel in each synthetic image of the subset of synthetic images based, in part, on the optical flow magnitude; and determine replacement pixels for the plurality of pixels in the first mask, each replacement pixel corresponding to a distinct pixel in the first mask, wherein each replacement pixel is determined as a function of the corresponding pixels in the subset of synthetic images that correspond to the pixel in the first mask. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. An apparatus comprising:
-
imaging means, the imaging means to capture a plurality of live images comprising a tracked object, storage means, the storage means to store a 3D model comprising a plurality of keyframes, and processing means, the processing means coupled to the imaging means and the storage means, the processing means further comprising; means for determining, for a live image in the plurality of live images, an imaging means pose relative to the tracked object, wherein the imaging means pose is determined using Simultaneous Localization and Mapping (SLAM) based techniques; means for rendering, based on the imaging means pose, a plurality of synthetic images without the tracked object, each synthetic image obtained from a distinct keyframe; means for comparing the live image and at least one of the plurality of synthetic images to determine a first mask region associated with the tracked object; means for computing optical flow magnitudes for a plurality of pixels in the first mask region associated with the tracked object relative to a subset of synthetic images in the plurality of synthetic images; means for determining, for each of the plurality of pixels in a first mask corresponding to the first mask region, a corresponding pixel in each synthetic image of the subset of synthetic images based, in part, on the optical flow magnitude; and means for determining replacement pixels of the plurality of pixels in the first mask, each replacement pixel corresponding to a distinct pixel in the first mask, wherein each replacement pixel is determined as a function of the corresponding pixels in the subset of synthetic images that correspond to the pixel in the first mask. - View Dependent Claims (18, 19, 20, 21)
-
-
22. A non-transitory computer-readable medium comprising instructions, which, when executed by a processor, perform steps in a method comprising:
-
obtaining a plurality of live images, the live images comprising a tracked object; determining, for a live image in the plurality of live images, a camera pose relative to the tracked object, wherein the camera pose is determined using Simultaneous Localization and Mapping (SLAM) based techniques; rendering, based on the camera pose, a plurality of synthetic images without the tracked object, each synthetic image obtained from a distinct keyframe in a 3D model based on the camera pose; comparing the live image and at least one of the plurality of synthetic images to determine a first mask region associated with the tracked object; computing optical flow magnitudes for a plurality of pixels in the first mask region associated with the tracked object relative to a subset of synthetic images in the plurality of synthetic images; determining, for each of the plurality of pixels in a first mask corresponding to the first mask region, a corresponding pixel in each synthetic image of the subset of synthetic images based, in part, on the optical flow magnitude; and determining replacement pixels of the plurality of pixels in the first mask, each replacement pixel corresponding to a distinct pixel in the first mask, wherein each replacement pixel is determined as a function of the corresponding pixels in the subset of synthetic images that correspond to the pixel in the first mask. - View Dependent Claims (23, 24, 25, 26, 27, 28)
-
Specification