Mixed reality controller and headset tracking system
First Claim
1. A system comprising:
- a display for presenting a virtual environment to a user;
one or more monochromic image components for capturing monochromic image data associated with a physical environment surrounding the user;
one or more processors;
non-transitory computer-readable media storing computer-executable instructions, which when executed by the one or more processors cause the one or more processors to;
receive a monochromic image from the one or more monochromic image components, the monochromic image including data representatives of an object in the physical environment;
identify image points within the monochromic image;
generate a plurality of image point sets, each image point set including four or more image points;
generate a candidate 6DOF pose for individual ones of the image point sets;
project each of the candidate 6DOF poses into the monochromic image;
determine a number of inliers for each of the candidate 6DOF poses; and
output the candidate 6DOF pose having the largest number of inliers as the 6DOF pose of the object.
3 Assignments
0 Petitions
Accused Products
Abstract
A system configured to determine a six-degree of freedom pose of a physical object in a physical environment and to utilize the six-degree of freedom pose as an within a virtual environment or mixed reality environment. In some cases, the system may utilize one or more cameras on a headset device to track the pose of a controller or other objects and one or more cameras on the controller itself to track the pose of the headset device or the user. In one example, the system may capture image data of a physical object having a constellation or pattern on the external source. The system may analyze the image data to identify image points associated with the constellation or pattern and to determine the pose of the object based on a location of the points in the image.
49 Citations
20 Claims
-
1. A system comprising:
-
a display for presenting a virtual environment to a user; one or more monochromic image components for capturing monochromic image data associated with a physical environment surrounding the user; one or more processors; non-transitory computer-readable media storing computer-executable instructions, which when executed by the one or more processors cause the one or more processors to; receive a monochromic image from the one or more monochromic image components, the monochromic image including data representatives of an object in the physical environment; identify image points within the monochromic image; generate a plurality of image point sets, each image point set including four or more image points; generate a candidate 6DOF pose for individual ones of the image point sets; project each of the candidate 6DOF poses into the monochromic image; determine a number of inliers for each of the candidate 6DOF poses; and output the candidate 6DOF pose having the largest number of inliers as the 6DOF pose of the object. - View Dependent Claims (2, 3, 4, 5, 6, 7, 14)
-
-
8. A system comprising:
-
a display for presenting a virtual environment to a user; one or more monochromic image components for capturing image data associated with a physical environment surrounding the user; one or more wireless communication interfaces for receiving data; one or more processors; non-transitory computer-readable media storing computer-executable instructions, which when executed by the one or more processors cause the one or more processors to; receive a monochrome image from the one or more monochromic image components, the image including data representatives of an object in the physical environment; determine an initial 6DOF pose prediction of the object; generate an initial plurality of candidate 6DOF poses based at least in part on the initial 6DOF pose prediction; receive orientation data of the object; determine for each pose of the initial plurality of candidate 6DOF poses a feasibility metric based at least in part on the orientation data of the object; and discard at least one of the initial plurality of candidate 6DOF poses to generate a remaining plurality of candidate 6DOF poses, the discarded candidate 6DOF pose having a feasibility metric below a threshold; project each candidate 6DOF pose of the remaining plurality of candidate 6DOF poses into the monochrome image; determine a number of inliers for each candidate 6DOF pose of the remaining plurality of candidate 6DOF poses; and output the candidate 6DOF pose of the remaining plurality of candidate 6DOF poses having the largest number of inliers as the 6DOF pose of the object. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
15. A system comprising:
-
a display for presenting a virtual environment to a user; one or more image components for capturing image data associated with a physical environment surrounding the user; one or more wireless communication interfaces for receiving data; one or more processors; non-transitory computer-readable media storing computer-executable instructions, which when executed by the one or more processors cause the one or more processors to; receive an image from the one or more image components, the image including data representatives of an object in the physical environment; receive orientation data from the object; approximate a rotation of the object in relationship to a previous known position of the object based at least in part on the orientation data; approximate a depth of the object in relationship to a known position of the system based at least in part on the image and a stored model of the object; determine a translation of the object in relationship to the previous known position the object based at least in part on a prior 6DOF pose, the rotation, and the depth; determine 6DOF pose of the object based at least in part on the translation, the rotation, and the depth; and output the 6DOF pose of the object. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification