1 Introduction
1.1 Related work
1.2 Research contribution
2 Data recordings and experiment layout
2.1 Data recording with the NICO robot
2.2 Experiment design
2.3 Data collection and preprocessing
2.4 Ambiguity classes
-
Ambiguity class: \(a_1\): 10 cm.
-
Ambiguity class: \(a_2\): 5 cm.
-
Ambiguity class: \(a_3\): 0 cm.
-
Ambiguity class: \(a_4\): overlapping.
No ambig | \(a_1\) | \(a_2\) | \(a_3\) | \(a_4\) | \(\sum\) | |
---|---|---|---|---|---|---|
1 object | 16 | x | x | x | x | 16 |
2 objects | x | 6 | 10 | 10 | 7 | 33 |
3 objects | x | 4 | 12 | 10 | 20 | 46 |
\(\sum\) | 16 | 10 | 22 | 20 | 27 | 95 |
3 Methodology
3.1 Hand detection
3.2 Object detection
3.3 Pointing intention model
3.4 The pointing array
4 Pointing gestures with growing-when-required networks
4.1 Pointing using growing-when-required networks
4.2 Definition of the label function
4.3 Integration into the prediction process
5 Results and evaluations
5.1 The computer vision approach
TP | FP | FN | Miss | Total | |
---|---|---|---|---|---|
\(a_1\) | 1248 | 0 | 20 | 20 | 1268 |
\(a_2\) | 1428 | 4 | 119 | 115 | 1547 |
\(a_3\) | 1356 | 6 | 55 | 49 | 1411 |
\(a_4\) | 2414 | 203 | 984 | 781 | 3398 |
Total | 6446 | 213 | 1178 | 965 | 7624 |
Precision | Recall | F1 | Miss | |
---|---|---|---|---|
\(a_1\) | 100.0 | 98.42 | 99.21 | 1.58 |
\(a_2\) | 99.72 | 92.31 | 95.87 | 7.43 |
\(a_3\) | 99.56 | 96.1 | 97.8 | 3.47 |
\(a_4\) | 92.24 | 71.04 | 80.27 | 22.96 |
Total | 96.8 | 84.55 | 90.26 | 12.65 |
5.2 The GWR network model
\(e_b\) | \(e_n\) | \(h_T\) | \(\tau _b\) | \(\tau _n\) | \(a_b\) | \(a_n\) | \(h_0\) | \(age_{\max}\) | \(nb_{\max}\) |
---|---|---|---|---|---|---|---|---|---|
0.1 | 0.01 | 0.1 | 0.3 | 0.1 | 1.05 | 1.05 | 1.0 | 200 | 6 |
\(a_T\) | Epochs | #nodes | #edges | Error |
---|---|---|---|---|
0.85 | 30 | 263 | 633 | 0.0597 |
50 | 332 | 861 | 0.0557 | |
100 | 448 | 1217 | 0.0522 | |
0.90 | 30 | 541 | 1422 | 0.0461 |
50 | 677 | 1797 | 0.0422 | |
100 | 890 | 2409 | 0.0394 | |
0.095 | 30 | 1543 | 4206 | 0.0268 |
50 | 1930 | 5222 | 0.0261 | |
100 | 2606 | 7263 | 0.0250 |
5.3 GWR pointing predictions
Precision (%) | Recall (%) | F1 (%) | Misses (%) | |
---|---|---|---|---|
30 epochs | IoU: 0.677 ± 0.004 | |||
\(a_1\) | 100.00 ± 0.0 | 74.43 ± 2.2 | 85.32 ± 1.4 | 25.57 ± 2.2 |
\(a_2\) | 100.00 ± 0.0 | 87.23 ± 1.5 | 93.17 ± 0.8 | 12.77 ± 1.5 |
\(a_3\) | 99.76 ± 0.0 | 88.6 ± 3.1 | 93.82 ± 1.8 | 11.18 ± 3.1 |
\(a_4\) | 100.00 ± 0.0 | 90.60 ± 1.0 | 95.11 ± 0.6 | 9.31 ± 1.0 |
\(\sum\) | 99.95 ± 0.0 | 86.89 ± 0.2 | 92.97 ± 0.1 | 13.07 ± 0.2 |
50 epochs | IoU: 0.685 ± 0.005 | |||
---|---|---|---|---|
\(a_1\) | 100.00 ± 0.0 | 80.73 ± 8.0 | 89.12 ± 4.9 | 19.27 ± 8.0 |
\(a_2\) | 100.00 ± 0.0 | 89.2 ± 1.6 | 94.28 ± 0.9 | 10.8 ± 1.6 |
\(a_3\) | 99.92 ± 0.1 | 84.26 ± 3.8 | 91.38 ± 2.3 | 15.68 ± 3.8 |
\(a_4\) | 100.00 ± 0.0 | 90.82 ± 0.5 | 95.19 ± 0.3 | 9.18 ± 0.5 |
\(\sum\) | 99.98 ± 0.0 | 87.62 ± 2.3 | 93.38 ± 1.3 | 12.37 ± 2.3 |
100 epochs | IoU: 0.713 ± 0.001 | |||
---|---|---|---|---|
\(a_1\) | 100.00 ± 0.0 | 85.12 ± 5.2 | 91.88 ± 3.0 | 14.88 ± 5.2 |
\(a_2\) | 100.00 ± 0.0 | 90.87 ± 1.0 | 95.21 ± 0.5 | 9.13 ± 1.0 |
\(a_3\) | 99.91 ± 0.1 | 87.57 ± 1.3 | 93.33 ± 0.7 | 12.35 ± 1.4 |
\(a_4\) | 100.00 ± 0.0 | 94.23 ± 1.8 | 97.02 ± 1.0 | 5.77 ± 1.8 |
\(\sum\) | 99.99 ± 0.0 | 90.79 ± 1.1 | 95.17 ± 0.6 | 9.19 ± 1.0 |
Precision (%) | Recall (%) | F1 (%) | Misses (%) | |
---|---|---|---|---|
30 epochs | IoU: 0.725 ± 0.0 | |||
\(a_1\) | 100.0 ± 0.0 | 91.03 ± 2.2 | 95.29 ± 1.2 | 8.97 ± 2.2 |
\(a_2\) | 100.0 ± 0.0 | 94.46 ± 1.1 | 97.15 ± 0.6 | 5.54 ± 1.1 |
\(a_3\) | 100.0 ± 0.0 | 96.67 ± 0.5 | 98.31 ± 0.2 | 3.33 ± 0.5 |
\(a_4\) | 100.0 ± 0.0 | 95.34 ± 0.1 | 97.62 ± 0.0 | 4.66 ± 0.1 |
\(\sum\) | 100.0 ± 0.0 | 94.68 ± 0.2 | 97.27 ± 0.1 | 5.32 ± 0.2 |
50 epochs | IoU: 0.736 ± 0.002 | |||
---|---|---|---|---|
\(a_1\) | 100.0 ± 0.0 | 92.77 ± 1.7 | 96.24 ± 0.9 | 7.23 ± 1.7 |
\(a_2\) | 100.0 ± 0.0 | 95.37 ± 1.1 | 97.63 ± 0.6 | 4.63 ± 1.1 |
\(a_3\) | 100.0 ± 0.0 | 95.92 ± 1.1 | 97.92 ± 0.6 | 4.08 ± 1.1 |
\(a_4\) | 100.0 ± 0.0 | 97.53 ± 0.2 | 98.75 ± 0.1 | 2.47 ± 0.2 |
\(\sum\) | 100.0 ± 0.0 | 95.99 ± 0.4 | 97.95 ± 0.2 | 4.01 ± 0.4 |
100 epochs | IoU: 0.76 ± 0.004 | |||
---|---|---|---|---|
\(a_1\) | 100.0 ± 0.0 | 93.75 ± 2.4 | 96.76 ± 1.3 | 6.25 ± 2.4 |
\(a_2\) | 100.0 ± 0.0 | 95.08 ± 2.0 | 97.47 ± 1.0 | 4.92 ± 2.0 |
\(a_3\) | 100.0 ± 0.0 | 98.18 ± 0.7 | 99.08 ± 0.3 | 1.82 ± 0.7 |
\(a_4\) | 100.0 ± 0.0 | 97.32 ± 0.4 | 98.64 ± 0.2 | 2.68 ± 0.4 |
\(\sum\) | 100.0 ± 0.0 | 96.42 ± 0.4 | 98.17 ± 0.2 | 3.58 ± 0.4 |
Precision (%) | Recall (%) | F1 (%) | Misses (%) | |
---|---|---|---|---|
30 epochs | IoU:0.808 ± 0.001 | |||
\(a_1\) | 100.0 ± 0.0 | 97.63 ± 0.6 | 98.8 ± 0.3 | 2.37 ± 0.6 |
\(a_2\) | 100.0 ± 0.0 | 97.8 ± 0.3 | 98.89 ± 0.2 | 2.2 ± 0.3 |
\(a_3\) | 100.0 ± 0.0 | 98.62 ± 0.3 | 99.31 ± 0.1 | 1.38 ± 0.3 |
\(a_4\) | 100.0 ± 0.0 | 99.17 ± 0.2 | 99.59 ± 0.1 | 0.83 ± 0.2 |
\(\sum\) | 100.0 ± 0.0 | 98.55 ± 0.2 | 99.27 ± 0.1 | 1.45 ± 0.2 |
50 epochs | IoU: 0.813 ± 0.001 | |||
---|---|---|---|---|
\(a_1\) | 100.0 ± 0.0 | 97.03 ± 1.3 | 98.49 ± 0.7 | 2.97 ± 1.3 |
\(a_2\) | 100.0 ± 0.0 | 97.61 ± 0.4 | 98.79 ± 0.2 | 2.39 ± 0.4 |
\(a_3\) | 100.0 ± 0.0 | 98.47 ± 0.8 | 99.23 ± 0.4 | 1.53 ± 0.8 |
\(a_4\) | 100.0 ± 0.0 | 99.19 ± 0.5 | 99.59 ± 0.2 | 0.81 ± 0.5 |
\(\sum\) | 100.0 ± 0.0 | 98.36 ± 0.3 | 99.17 ± 0.1 | 1.64 ± 0.3 |
100 epochs | IoU: 0.824 ± 0.001 | |||
---|---|---|---|---|
\(a_1\) | 100.0 ± 0.0 | 97.24 ± 0.6 | 98.6 ± 0.3 | 2.76 ± 0.6 |
\(a_2\) | 100.0 ± 0.0 | 98.53 ± 1.0 | 99.26 ± 0.5 | 1.47 ± 1.0 |
\(a_3\) | 100.0 ± 0.0 | 99.44 ± 0.3 | 99.72 ± 0.2 | 0.56 ± 0.3 |
\(a_4\) | 100.0 ± 0.0 | 99.38 ± 0.3 | 99.69 ± 0.2 | 0.62 ± 0.3 |
\(\sum\) | 100.0 ± 0.0 | 98.86 ± 0.3 | 99.43 ± 0.1 | 1.14 ± 0.3 |
5.4 GWR predictions with object detection
Precision (%) | Recall (%) | F1 (%) | Misses (%) | |
---|---|---|---|---|
30 epochs | IoU: 0.691 ± 0.003 | |||
\(a_1\) | 100.0 ± 0.0 | 100.0 ± 0.0 | 100.0 ± 0.0 | 0.0 ± 0.0 |
\(a_2\) | 100.0 ± 0.0 | 94.6 ± 0.8 | 97.22 ± 0.4 | 5.4 ± 0.8 |
\(a_3\) | 98.54 ± 1.0 | 85.0 ± 0.5 | 91.27 ± 0.3 | 13.72 ± 1.3 |
\(a_4\) | 100.0 ± 0.0 | 85.95 ± 1.6 | 92.44 ± 0.9 | 14.05 ± 1.6 |
\(\sum\) | 99.75 ± 0.2 | 89.84 ± 0.5 | 94.54 ± 0.3 | 9.93 ± 0.4 |
50 epochs | IoU:0.7 ± 0.002 | |||
---|---|---|---|---|
\(a_1\) | 100.0 ± 0.0 | 100.0 ± 0.0 | 100.0 ± 0.0 | 2.97 ± 1.3 |
\(a_2\) | 100.0 ± 0.0 | 95.39 ± 0.7 | 97.64 ± 0.4 | 4.61 ± 0.7 |
\(a_3\) | 99.43 ± 0.6 | 82.7 ± 3.8 | 90.26 ± 2.5 | 16.84 ± 3.3 |
\(a_4\) | 99.97 ± 0.0 | 85.41 ± 2.0 | 92.11 ± 1.2 | 14.56 ± 2.0 |
\(\sum\) | 99.9 ± 0.1 | 89.37 ± 0.9 | 94.34 ± 0.6 | 10.54 ± 0.8 |
100 epochs | IoU: 0.715 ± 0.004 | |||
---|---|---|---|---|
\(a_1\) | 100.0 ± 0.0 | 100.0 ± 0.0 | 100.0 ± 0.0 | 100.0 ± 0.0 |
\(a_2\) | 100.0 ± 0.0 | 96.33 ± 0.3 | 98.13 ± 0.1 | 3.67 ± 0.3 |
\(a_3\) | 99.85 ± 0.2 | 85.6 ± 3.4 | 92.14 ± 2.0 | 14.27 ± 3.5 |
\(a_4\) | 100.0 ± 0.0 | 87.92 ± 3.1 | 93.55 ± 1.7 | 12.08 ± 3.1 |
\(\sum\) | 99.97 ± 0.0 | 91.2 ± 1.6 | 95.38 ± 0.9 | 8.77 ± 1.7 |
Precision (%) | Recall (%) | F1 (%) | Misses (%) | |
---|---|---|---|---|
30 epochs | IoU: 0.713 ± 0.0 | |||
\(a_1\) | 100.0 ± 0.0 | 100.0 ± 0.0 | 100.0 ± 0.0 | 0.0 ± 0.0 |
\(a_2\) | 100.0 ± 0.0 | 98.33 ± 0.4 | 99.16 ± 0.2 | 1.67 ± 0.4 |
\(a_3\) | 100.0 ± 0.0 | 91.5 ± 1.3 | 95.56 ± 0.7 | 8.5 ± 1.3 |
\(a_4\) | 100.0 ± 0.0 | 90.77 ± 1.9 | 95.15 ± 1.0 | 9.23 ± 1.9 |
\(\sum\) | 100.0 ± 0.0 | 93.94 ± 0.6 | 96.88 ± 0.3 | 6.06 ± 0.6 |
50 epochs | IoU:0.719 ± 0.002 | |||
---|---|---|---|---|
\(a_1\) | 100.0 ± 0.0 | 100.0 ± 0.0 | 100.0 ± 0.0 | 0.0 ± 0.0 |
\(a_2\) | 100.0 ± 0.0 | 98.55 ± 0.5 | 99.27 ± 0.2 | 1.45 ± 0.5 |
\(a_3\) | 100.0 ± 0.0 | 89.63 ± 0.1 | 94.53 ± 0.1 | 10.37 ± 0.1 |
\(a_4\) | 99.97 ± 0.0 | 93.16 ± 0.9 | 96.44 ± 0.5 | 6.81 ± 0.9 |
\(\sum\) | 99.99 ± 0.0 | 94.71 ± 0.3 | 97.28 ± 0.2 | 5.28 ± 0.3 |
100 epochs | IoU:0.735 ± 0.002 | |||
---|---|---|---|---|
\(a_1\) | 100.0 ± 0.0 | 100.0 ± 0.0 | 100.0 ± 0.0 | 0.0 ± 0.0 |
\(a_2\) | 100.0 ± 0.0 | 98.44 ± 1.2 | 99.21 ± 0.6 | 1.56 ± 1.2 |
\(a_3\) | 99.92 ± 0.1 | 90.25 ± 2.5 | 94.82 ± 1.4 | 9.68 ± 2.5 |
\(a_4\) | 100.0 ± 0.0 | 93.76 ± 0.8 | 96.78 ± 0.4 | 6.24 ± 0.8 |
\(\sum\) | 99.99 ± 0.0 | 95.09 ± 0.7 | 97.48 ± 0.4 | 4.89 ± 0.7 |
Precision (%) | Recall (%) | F1 (%) | Misses (%) | |
---|---|---|---|---|
30 epochs | IoU:0.754 ± 0.002 | |||
\(a_1\) | 100.0 ± 0.0 | 100.0 ± 0.0 | 100.0 ± 0.0 | 0.0 ± 0.0 |
\(a_2\) | 100.0 ± 0.0 | 99.19 ± 0.3 | 99.6 ± 0.1 | 0.81 ± 0.3 |
\(a_3\) | 99.79 ± 0.2 | 97.33 ± 0.4 | 98.54 ± 0.1 | 2.47 ± 0.5 |
\(a_4\) | 100.0 ± 0.0 | 98.0 ± 0.4 | 98.99 ± 0.2 | 2.0 ± 0.4 |
\(\sum\) | 99.96 ± 0.0 | 98.54 ± 0.2 | 99.2 ± 0.1 | 1.51 ± 0.3 |
50 epochs | IoU:0.756 ± 0.001 | |||
---|---|---|---|---|
\(a_1\) | 100.0 ± 0.0 | 100.0 ± 0.0 | 100.0 ± 0.0 | 0.0 ± 0.0 |
\(a_2\) | 100.0 ± 0.0 | 99.14 ± 0.6 | 99.57 ± 0.3 | 0.86 ± 0.6 |
\(a_3\) | 100.0 ± 0.0 | 96.46 ± 0.7 | 98.2 ± 0.4 | 3.54 ± 0.7 |
\(a_4\) | 100.0 ± 0.0 | 98.16 ± 0.7 | 99.07 ± 0.4 | 1.84 ± 0.7 |
\(\sum\) | 100.0 ± 0.0 | 98.33 ± 0.3 | 99. 16 ± 0.1 | 1.67 ± 0.3 |
100 epochs | IoU:0.762 ± 0.001 | |||
---|---|---|---|---|
\(a_1\) | 100.0 ± 0.0 | 100.0 ± 0.0 | 100.0 ± 0.0 | 0.0 ± 0.0 |
\(a_2\) | 100.0 ± 0.0 | 99.34 ± 0.3 | 99.67 ± 0.2 | 0.66 ± 0.3 |
\(a_3\) | 100.0 ± 0.0 | 97.08 ± 0.2 | 98.52 ± 0.1 | 2.92 ± 0.2 |
\(a_4\) | 100.0 ± 0.0 | 98.08 ± 0.1 | 99.03 ± 0.1 | 1.92 ± 0.1 |
\(\sum\) | 100.0 ± 0.0 | 98.47 ± 0.1 | 99.23 ± 0.1 | 1.53 ± 0.1 |
CDA (%) | FDN (%) | |
---|---|---|
30 epochs | ||
\(a_1\) | 100 ± 0.0 | 0.0 ± 0.0 |
\(a_2\) | 70.88 ± 1.8 | 0.0 ± 0.0 |
\(a_3\) | 97.12 ± 1.4 | 0.0 ± 0.0 |
\(a_4\) | 93.89 ± 0.8 | 0.0 ± 0.0 |
\(\sum\) | 90.93 ± 0.2 | 0.0 ± 0.0 |
50 epochs | ||
---|---|---|
\(a_1\) | 99.59 ± 0.6 | 0.0 ± 0.0 |
\(a_2\) | 70.51 ± 3.3 | 0.0 ± 0.0 |
\(a_3\) | 97.69 ± 0.7 | 0.0 ± 0.0 |
\(a_4\) | 93.53 ± 1.6 | 0.0 ± 0.0 |
\(\sum\) | 90.73 ± 1.0 | 0.0 ± 0.0 |
100 epochs | ||
---|---|---|
\(a_1\) | 99.38 ± 0.9 | 0.0 ± 0.0 |
\(a_2\) | 69.39 ± 0.4 | 0.0 ± 0.0 |
\(a_3\) | 98.85 ± 1.3 | 0.0 ± 0.0 |
\(a_4\) | 95.05 ± 0.2 | 0.0 ± 0.0 |
\(\sum\) | 91.63 ± 0.2 | 0.0 ± 0.0 |
CDA (%) | FDN (%) | |
---|---|---|
30 epochs | ||
\(a_1\) | 100 ± 0.0 | 0.0 ± 0.0 |
\(a_2\) | 72.8 ± 1.5 | 0.0 ± 0.0 |
\(a_3\) | 99.41 ± 0.5 | 0.0 ± 0.0 |
\(a_4\) | 94.63 ± 1.1 | 0.0 ± 0.0 |
\(\sum\) | 92.06 ± 0.8 | 0.0 ± 0.0 |
50 epochs | ||
---|---|---|
\(a_1\) | 100 ± 0.0 | 0.0 ± 0.0 |
\(a_2\) | 72.52 ± 0.3 | 0.0 ± 0.0 |
\(a_3\) | 98.65 ± 1.0 | 0.0 ± 0.0 |
\(a_4\) | 96.48 ± 0.9 | 0.0 ± 0.0 |
\(\sum\) | 92.71 ± 0.4 | 0.0 ± 0.0 |
100 epochs | ||
---|---|---|
\(a_1\) | 100 ± 0.0 | 0.0 ± 0.0 |
\(a_2\) | 72.36 ± 1.6 | 0.0 ± 0.0 |
\(a_3\) | 98.68 ± 0.4 | 0.0 ± 0.0 |
\(a_4\) | 95.47 ± 1.5 | 0.0 ± 0.0 |
\(\sum\) | 92.22 ± 0.8 | 0.0 ± 0.0 |
30 epochs | ||
---|---|---|
\(a_1\) | 100 ± 0.0 | 0.0 ± 0.0 |
\(a_2\) | 85.73 ± 1.4 | 0.0 ± 0.0 |
\(a_3\) | 99.8 ± 0.3 | 0.0 ± 0.0 |
\(a_4\) | 94.07 ± 1.2 | 0.0 ± 0.0 |
\(\sum\) | 94.45 ± 0.3 | 0.0 ± 0.0 |
50 epochs | ||
---|---|---|
\(a_1\) | 100 ± 0.0 | 0.0 ± 0.0 |
\(a_2\) | 80.82 ± 0.9 | 0.0 ± 0.0 |
\(a_3\) | 100 ± 0.0 | 0.0 ± 0.0 |
\(a_4\) | 94.49 ± 1.3 | 0.0 ± 0.0 |
\(\sum\) | 93.7 ± 0.7 | 0.0 ± 0.0 |
100 epochs | ||
---|---|---|
\(a_1\) | 100 ± 0.0 | 0.0 ± 0.0 |
\(a_2\) | 78.4 ± 1.0 | 0.0 ± 0.0 |
\(a_3\) | 100 ± 0.0 | 0.0 ± 0.0 |
\(a_4\) | 96.83 ± 0.5 | 0.0 ± 0.0 |
\(\sum\) | 94.27 ± 0.0 | 0.0 ± 0.0 |