Detecting motion for a multifunction sensor device
First Claim
1. A processor-implemented method for detecting motion in a 3-D depth camera, comprising the processor-implemented steps of:
- obtaining acceleration readings for x-, y- and z-axes from a three-axis accelerometer in the 3-D depth camera at successive time points, and for each time point;
obtaining short and long term running averages of the acceleration readings for each axis of the x-, y- and z-axes, where x-axis long average, y-axis long average and z-axis long average are the long term running averages of the acceleration readings for the x-, y- and z-axes, respectively, and x-axis short average, y-axis short average and z-axis short average are the short term running averages of the acceleration readings for the x-, y- and z-axes, respectively;
obtaining differences between the short and long term running averages of the acceleration readings for each axis of the x-, y- and z-axes;
obtaining absolute values of the differences for each axis of the x-, y- and z-axes, where |x-axis long average−
x-axis short average| is the absolute value of the differences for the x-axis, |y-axis long average−
y-axis short average| is the absolute value of the differences for the y-axis, and |z-axis long average−
z-axis short average| is the absolute value of the differences for the z-axis;
obtaining a sum from;
|x-axis long average−
x-axis short average|+{scaling factor x |y-axis long average−
y-axis short average|}+|z-axis long average−
z-axis short average|, where 0<
scaling factor<
1 and the y-axis is a vertical axis, so that movement in the vertical axis is attenuated relative to movement in the x or z axis;
determining if the sum exceeds a threshold level;
if the sum exceeds the threshold level, providing an indication that movement of the 3-D depth camera is detected; and
if the sum does not exceed the threshold level, providing an indication that movement of the 3-D depth camera is not detected.
2 Assignments
0 Petitions
Accused Products
Abstract
To detect movement of a depth camera in a motion capture system, readings from an accelerometer in the depth camera are processed to provide short and long term moving averages for each of the x, y and z axes. For each axis, a difference between the short and long term averages is obtained. A sum of the differences is obtained by summing the absolute value of each difference, across all three axes. This sum of differences is then compared to a threshold to determine if movement is detected. In another approach, the short and long term averages of the accelerometer readings are converted to pitch and roll values, and the pitch and roll values are separately compared to a threshold to determine if movement is detected. A tracking algorithm can be temporarily halted while movement is detected. Readings in the vertical direction can be attenuated by a scaling factor.
243 Citations
16 Claims
-
1. A processor-implemented method for detecting motion in a 3-D depth camera, comprising the processor-implemented steps of:
obtaining acceleration readings for x-, y- and z-axes from a three-axis accelerometer in the 3-D depth camera at successive time points, and for each time point; obtaining short and long term running averages of the acceleration readings for each axis of the x-, y- and z-axes, where x-axis long average, y-axis long average and z-axis long average are the long term running averages of the acceleration readings for the x-, y- and z-axes, respectively, and x-axis short average, y-axis short average and z-axis short average are the short term running averages of the acceleration readings for the x-, y- and z-axes, respectively; obtaining differences between the short and long term running averages of the acceleration readings for each axis of the x-, y- and z-axes; obtaining absolute values of the differences for each axis of the x-, y- and z-axes, where |x-axis long average−
x-axis short average| is the absolute value of the differences for the x-axis, |y-axis long average−
y-axis short average| is the absolute value of the differences for the y-axis, and |z-axis long average−
z-axis short average| is the absolute value of the differences for the z-axis;obtaining a sum from;
|x-axis long average−
x-axis short average|+{scaling factor x |y-axis long average−
y-axis short average|}+|z-axis long average−
z-axis short average|, where 0<
scaling factor<
1 and the y-axis is a vertical axis, so that movement in the vertical axis is attenuated relative to movement in the x or z axis;determining if the sum exceeds a threshold level; if the sum exceeds the threshold level, providing an indication that movement of the 3-D depth camera is detected; and if the sum does not exceed the threshold level, providing an indication that movement of the 3-D depth camera is not detected. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
8. Tangible computer readable storage device having computer readable software embodied thereon for programming at least one processor to perform a method for detecting motion in a 3-D depth camera, the method comprising:
obtaining time points of acceleration readings for x-, y- and z-axes from a three-axis accelerometer in the 3-D depth camera, and for each time point; obtaining short and long term running averages of the acceleration readings in each axis of the x-, y- and z-axes, where, and for at least one axis of the x-, y- and z-axes;
the short term running average of the acceleration readings is taken over a number N1 of the time points as 1/N1Σ
t=i−
N1+1t=iA(t), where A(t) represents samples of the acceleration readings along the at least one axis of the x-, y- and z-axes at the time point, t represents the time point, the long term running average of the acceleration readings is taken over a number N2 of the time points as 1/N2Σ
t=i−
N2+1t=iA(t), and 1.3×
N1<
N2<
1.7×
N1;based on the short and long term running averages of the acceleration readings;
obtaining short and long term change in pitch values of the 3-D depth camera, and short and long term change in roll values of the 3-D depth camera;obtaining differences between the short and long term change in pitch values; obtaining absolute values of the differences between the short and long term change in pitch values; obtaining differences between the short and long term change in roll values; obtaining absolute values of the differences between the short and long term change in roll values; determining if a threshold is exceeded by at least one of;
(a) the absolute values of the differences between the short and long term change in pitch values and (b) the absolute values of the differences between the short and long term change in roll values; andproviding an indication that movement of the 3-D depth camera is detected when the threshold is exceeded. - View Dependent Claims (9, 10, 11, 12)
-
13. A motion capture system, comprising:
-
a 3-D depth camera having a field of view, and comprising at least one three-axis accelerometer, the at least one three-axis accelerometer provides acceleration readings for x-, y- and z-axes at time points; a display; one or more processors associated with the 3-D depth camera, the one or more processors execute instructions to track movement of a user in the field of view and to provide a signal to the display to display images based on the tracked movement; and wherein the one or more processors;
(a) to detect movement of the 3-D depth camera, obtain short and long term running averages from the at least one three-axis accelerometer, determine differences between the short and long term running averages, and obtain a sum based on the differences, and compare the sum to a threshold level, where the short term running averages are taken over a number N1 of the time points as 1/N1Σ
t=i−
N1+1t=iAx(t), 1/N1Σ
t=i−
N1+1t=iAy(t) and 1/N1Σ
t=i−
N1+1t=iAz(t) for the x-, y- and z-axes, respectively, where Ax(t), Ay(t) and Az(t) represent samples of the acceleration readings for the x-, y- and z-axes, respectively, t represents the time points, and the long term running averages are taken over a number N2 of the time points as 1/N2Σ
t=i−
N2+1t=iAx(t), 1/N2Σ
t=i−
N2+1t=iAy(t) and 1/N2Σ
t=i−
N2+1t=iAz(t), for the x-, y- and z-axes, respectively, and 1.3×
N1<
N2<
1.7×
N1, and (b) temporarily suspend the tracking of the movement of the user in response to an indication that the movement of the 3-D depth camera is detected. - View Dependent Claims (14, 15, 16)
-
Specification