The Silent Drum produces a large amount of variables only if the input is complex. Its design is based on a simple, effective hierarchical logic: there are no fingers without a hand, no hand without an arm, no arm without a body. Some variables are derived directly from the video analysis and others are obtained through learning techniques.
The first variable is the Primary Peak. It is obtained by finding the highest point in the membrane as seen in Fig. 1. pix_drum outputs the (x, y) pixel coordinates of the primary peak. That is, the (x, y) pixel coordinates of the peak that is pressed deeper.
Every other peak is considered a secondary peak. Secondary Peaks are the result of finger pressure and are calculated through concavity analysis, as seen in Fig. 2. They are calculated in the following way:
Fig. 2 Secondary Peak Extraction
1) a first vector d is the line from the corner to the primary peak.
2) a second vector s is the line from the primary peak to the secondary peak.
3) a third vector p is the projection of s onto d.
4) a fourth vector e is the line from s to p.
Each secondary peak outputs an intensity (length of e) in pixels, the distance or scale (length of p / length of d) and its (x, y) position in pixels.
Finally, a variable called Lateral Area Difference is calculated. This is a general measure of how much pressure is being applied to the sides of the primary peak. This difference is calculated by subtracting the percentage of black pixels on each side of the primary peak minus an estimate of the percentage of black pixels that would be obtained if there were no secondary peaks, as seen in Fig. 3.
Fig. 3. Calculation of Lateral Area Difference: On each side of the primary peak, an estimate of the area of black pixels without secondary peaks (right) is subtracted from the area of black pixels of the current gesture (left).
If there is no lateral pressure, this difference should be zero. This estimate is currently being done by two-dimensional linear regression based on a previous training set.
Lateral intensity is calculated in the following way:
1) the total area T of the two rectangles on each side of the primary peak is calculated.
2) the % of black pixels is substracted from T to get the total black area.
3) to the result of that substraction, we substract the estimate of what % of black pixels would there be with no secondary peaks.
Pingback: Gently stroke this drum - Hack a Day
Pingback: silent drum – tracking