Transitioning between sets of image sensors
A method includes determining a first position of an object based on a first set of images captured by a first subset of the plurality of image sensors. The first subset is associated with a first field of view (FOV). The method includes determining a second position of the object based on a second set of images captured by a second subset of the plurality of image sensors. The second subset is associated with a second FOV that is different from the first FOV and the second position is different from the first position. The method includes applying a rigid transformation to the second position when the object is in the second FOV and not in the first FOV.
1 . A method comprising:
at an electronic device including a non-transitory memory, one or more processors, a display and a plurality of image sensors:
determining a first position of an object based on a first set of images captured by a first subset of the plurality of image sensors, wherein the first subset of the plurality of image sensors is associated with a first field of view (FOV);
determining a second position of the object based on a second set of images captured by a second subset of the plurality of image sensors, wherein the second subset of the plurality of image sensors is associated with a second FOV that is different from the first FOV and the second position is different from the first position; and
applying a rigid transformation to the second position when the object is in the second FOV and outside of the first FOV.
2 . The method of claim 1 , wherein applying the rigid transformation results in a gradual transition of the object from the first position to the second position and prevents displaying an abrupt change from the first position to the second position.
3 . The method of claim 1 , wherein applying the rigid transformation comprises detecting a movement of the object out of the first FOV while remaining in the second FOV and applying the rigid transformation in response to detecting the movement out of the first FOV.
4 . The method of claim 1 , wherein applying the rigid transformation comprises maintaining application of the rigid transformation while the object is in the second FOV and outside of the first FOV.
5 . The method of claim 1 , wherein the rigid transformation is a shift-rotate transformation that includes a combination of a three-dimensional (3D) rotation and a 3D translation of the object.
6 . The method of claim 1 , wherein applying the rigid transformation comprises rotating and/or translating the object while maintaining a pose of the object.
7 . The method of claim 1 , further comprising ceasing application of the rigid transformation when the object subsequently appears in the first FOV; and
applying, for a period of time, a second rigid transformation to a third position that is determined based on a third set of images captured by the first subset of the plurality of image sensors.
8 . The method of claim 7 , wherein the second rigid transformation decays over the period of time.
9 . The method of claim 7 , wherein the second rigid transformation is a reverse transformation of the rigid transformation that is applied to the second position when the object appears in the second FOV.
10 . The method of claim 1 , wherein applying the rigid transformation comprises generating a transform matrix and multiplying the second position with the transform matrix.
11 . The method of claim 1 , wherein applying the rigid transformation comprises generating a transform by utilizing a Kabsch-Umeyama algorithm.
12 . The method of claim 1 , wherein applying the rigid transformation comprises generating a transform by utilizing a Procrustes algorithm.
13 . The method of claim 1 , wherein the object is a body part with a plurality of joints, the first position includes a first set of joint positions for the plurality of joints, and the second position includes a second set of joint positions for the plurality of joints.
14 . The method of claim 13 , wherein applying the rigid transformation comprises:
applying the rigid transformation to a subset of the second set of joint positions that are associated with confidence values that are greater than a threshold confidence value; and
forgo applying the rigid transformation to a remainder of the second set of joint positions that are associated with confidence values that are less than the threshold confidence value.
15 . The method of claim 14 , wherein the subset of the second set of joint positions corresponds to joints that are visible, and the remainder of the second set of joint positions corresponds to joints that are occluded.
16 . The method of claim 1 , wherein the object is an inanimate object with a plurality of detectable features, the first position includes a first set of positions for the plurality of detectable features, and the second position includes a second set of positions for the plurality of detectable features.
17 . The method of claim 1 , wherein an overlap of the first FOV and the second FOV results in an overlapping region; and
wherein the method further comprises determining the rigid transformation when the object is in the overlapping region.
18 . The method of claim 1 , wherein the object represents a hand of a user of the electronic device; and
wherein applying the rigid transformation comprises applying the rigid transformation when the user is in a communication session.
19 . A device comprising:
a display;
a plurality of image sensors;
one or more processors;
a non-transitory memory; and
one or more programs stored in the non-transitory memory, which, when executed by the one or more processors, cause the device to:
determine a first position of an object based on a first set of images captured by a first subset of the plurality of image sensors, wherein the first subset of the plurality of image sensors is associated with a first field of view (FOV);
determine a second position of the object based on a second set of images captured by a second subset of the plurality of image sensors, wherein the second subset of the plurality of image sensors is associated with a second FOV that is different from the first FOV and the second position is different from the first position; and
apply a rigid transformation to the second position when the object is in the second FOV and outside of the first FOV.
20 . A non-transitory memory storing one or more programs, which, when executed by one or more processors of a device with a plurality of image sensors, cause the device to:
determine a first position of an object based on a first set of images captured by a first subset of the plurality of image sensors, wherein the first subset of the plurality of image sensors is associated with a first field of view (FOV);
determine a second position of the object based on a second set of images captured by a second subset of the plurality of image sensors, wherein the second subset of the plurality of image sensors is associated with a second FOV that is different from the first FOV and the second position is different from the first position; and
apply a rigid transformation to the second position when the object is in the second FOV and outside of the first FOV.