Systems and methods for generating stabilized images of a real environment in artificial reality
A method includes detecting an object of interest in a real environment and depth information of the object; determining one or more anchor locations in a three-dimensional space that correspond to a position of the object in the three-dimensional space; and generating a virtual surface anchored in the three-dimensional space. The method may further determine a pose of a camera when an image is captured and determine a region in the image that corresponds to the virtual surface. The method may further determine a first viewpoint of a first eye of the user; render a first output image based on (1) the first viewpoint relative to the virtual surface and (2) the image region corresponding to the virtual surface; and display the first output image on a first display of the computing device, the first display being configured to be viewed by the first eye of the user.
1 . A method comprising, by a computing device in communication with a mixed-reality device worn by a user:
detecting an object of interest in a real environment;
determining one or more anchor locations in a mixed-reality environment presented via the mixed-reality device that correspond to a position of the object of interest in the real environment;
determining (i) a pose of a camera when an image is captured and (ii) a viewpoint of the user of the mixed-reality device;
determining a region in the image that, as viewed from the pose of the camera, corresponds to at least one of the one or more anchor locations;
causing display of a first output image based on (1) the viewpoint and (2) the region in the image corresponding to at least one of the one or more anchor locations.
2 . The method of claim 1 , further comprising determining a horizontal distance of the user from the one or more anchor locations; wherein causing display of the first output image is based on the horizontal distance of the user from the one or more anchor locations exceeding a minimum threshold distance.
3 . The method of claim 1 , further comprising determining a vertical distance of the user from the one or more anchor locations; wherein causing display of the first output image is based on the vertical distance of the user from the one or more anchor locations exceeding a minimum threshold distance.
4 . The method of claim 1 , further comprising determining an orientation of the mixed-reality device relative to the one or more anchor locations; wherein causing display the first output image is based on the orientation of the mixed-reality device.
5 . The method of claim 1 , further comprising:
causing display of a second output image based on (1) another viewpoint and (2) the region in the image corresponding to at least one of the one or more anchor locations.
6 . The method of claim 1 , wherein the one or more anchor locations are further determined based on one or more tracked motions of a hand of the user.
7 . The method of claim 6 , wherein the one or more tracked motions include a first coordinate that remains at a fixed position in the real environment, wherein the one or more anchor locations are based on the first coordinate.
8 . The method of claim 1 , wherein the object of interest in the real environment is detected using a computer vision technique.
9 . The method of claim 1 , wherein a camera worn by the user is associated with the mixed-reality device worn by the user that blocks the user from seeing the real environment directly.
10 . A non-transitory computer-readable medium including executable instructions that, when executed by a computing device that is in communication with mixed-reality device worn by a user, cause the computing device to:
detect an object of interest in a real environment;
determine one or more anchor locations in a mixed-reality environment presented via the mixed-reality device that correspond to a position of the object of interest in the real environment;
determine (i) a pose of a camera when an image is captured and (ii) a viewpoint of the user of the mixed-reality device;
determine a region in the image that, as viewed from the pose of the camera, corresponds to at least one of the one or more anchor locations;
cause display of a first output image based on (1) viewpoint and (2) the region in the image corresponding to at least one of the one or more anchor locations.
11 . The non-transitory computer-readable medium of claim 10 , wherein the executable instructions further cause the computing device to:
determine a horizontal distance of the user from the one or more anchor locations; wherein causing display of the first output image is based on the horizontal distance of the user from the one or more anchor locations exceeding a minimum threshold distance.
12 . The non-transitory computer-readable medium of claim 10 , wherein the executable instructions further cause the computing device to:
determine a vertical distance of the user from the one or more anchor locations; wherein causing display of the first output image is based on the vertical distance of the user from the one or more anchor locations exceeding a minimum threshold distance.
13 . The non-transitory computer-readable medium of claim 10 , wherein the executable instructions further cause the computing device to:
determine an orientation of the mixed-reality device relative to the one or more anchor locations; wherein causing display the first output image is based on the orientation of the mixed-reality device.
14 . The non-transitory computer-readable medium of claim 10 , wherein the executable instructions further cause the computing device to:
cause display of a second output image based on (1) another viewpoint and (2) the region in the image corresponding to at least one of the one or more anchor locations.
15 . The non-transitory computer-readable medium of claim 10 , wherein the one or more anchor locations are further determined based on one or more tracked motions of a hand of the user.
16 . A system comprising:
a mixed-reality device worn by a user;
one or more processors; and
one or more computer-readable non-transitory storage media coupled to the one or more of processors and including executable instructions that, when executed by the one or more of processors, to cause the system to:
detect an object of interest in a real environment;
determine one or more anchor locations in a mixed-reality environment presented via the mixed-reality device that correspond to a position of the object of interest in the real environment;
determine (i) a pose of a camera when an image is captured and (ii) a viewpoint of the user of the mixed-reality device;
determine a region in the image that, as viewed from the pose of the camera, corresponds to at least one of the one or more anchor locations;
cause display of a first output image based on (1) viewpoint and (2) the region in the image corresponding to at least one of the one or more anchor locations.
17 . The system of claim 16 , wherein the executable instructions further cause the system to:
determine a horizontal distance of the user from the one or more anchor locations; wherein causing display of the first output image is based on the horizontal distance of the user from the one or more anchor locations exceeding a minimum threshold distance.
18 . The system of claim 16 , wherein the executable instructions further cause the system to:
determine a vertical distance of the user from the one or more anchor locations; wherein causing display of the first output image is based on the vertical distance of the user from the one or more anchor locations exceeding a minimum threshold distance.
19 . The system of claim 16 , wherein the executable instructions further cause the system to:
determine an orientation of the mixed-reality device relative to the one or more anchor locations; wherein causing display the first output image is based on the orientation of the mixed-reality device.
20 . The system of claim 16 , wherein the executable instructions further cause the system to:
cause display of a second output image based on (1) another viewpoint and (2) the region in the image corresponding to at least one of the one or more anchor locations.