# Onset Benchmark results

Results: September 2026. Maintained by Haptera.

Find physical events using standard video, checked against sensor measurements. The main timing test is ±200 ms; the stricter test is ±100 ms.

The main REASSEMBLE comparison uses 83 recordings and 3,898 loading events. RH20T covers three robot setups.

The September REASSEMBLE comparison uses 83 recordings from one robot setup. The evaluated Haptera models were not trained on these recordings; the set was scored repeatedly during development.

Decision thresholds for the REASSEMBLE baselines and all RH20T entries were selected using the scored reference labels. Haptera's REASSEMBLE loading-onset thresholds were fixed on separate development recordings and applied unchanged to the 83-recording comparison.

## Loading onset · 83 recordings · ±200 ms

| Model | F1 | Precision | Recall | Median timing error, ms |
| --- | --- | --- | --- | --- |
| Haptera | 40.58% | 33.94% | 50.44% | 80.39 |
| Gemini 3.1 Pro Preview | 21.30% | 15.36% | 34.71% | 56.97 |
| Open V-JEPA2 | 12.09% | 42.24% | 7.05% | 87.31 |
| Open DINOv2 | 4.15% | 23.00% | 2.28% | 119.98 |

## Contact state · 83 recordings

| Model | Contact precision | No-contact precision | Contact recall | Coverage |
| --- | --- | --- | --- | --- |
| Haptera | 92.74% | 99.72% | 51.82% | 76.25% |
| Gemini 3.1 Pro Preview | 24.62% | 79.55% | 22.93% | 99.88% |

## RH20T timing · ±200 ms

| Model | F1 (mean) | Setup 2 | Setup 6 | Setup 7 |
| --- | --- | --- | --- | --- |
| Haptera | 2.26% | 1.12% | 3.24% | 2.42% |
| Open DINOv2 | 0.85% | 0.67% | 0.90% | 0.98% |
| Open V-JEPA2 | 0.27% | 0.20% | 0.23% | 0.39% |

## Loading onset · timing thresholds and event counts

| Model | Allowed timing error | Predicted events | Events found | False detections | Events missed | Precision | Recall | F1 | Median timing error, ms |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Haptera | ±200 ms | 5792 | 1966 | 3826 | 1932 | 33.94% | 50.44% | 40.58% | 80.39 |
| Gemini 3.1 Pro Preview | ±200 ms | 8809 | 1353 | 7456 | 2545 | 15.36% | 34.71% | 21.30% | 56.97 |
| Open V-JEPA2 | ±200 ms | 651 | 275 | 376 | 3623 | 42.24% | 7.05% | 12.09% | 87.31 |
| Open DINOv2 | ±200 ms | 387 | 89 | 298 | 3809 | 23.00% | 2.28% | 4.15% | 119.98 |
| Haptera | ±100 ms | 5792 | 1185 | 4607 | 2713 | 20.46% | 30.40% | 24.46% | 47.96 |
| Gemini 3.1 Pro Preview | ±100 ms | 8809 | 977 | 7832 | 2921 | 11.09% | 25.06% | 15.38% | 35.96 |
| Open V-JEPA2 | ±100 ms | 651 | 151 | 500 | 3747 | 23.20% | 3.87% | 6.64% | 44.87 |
| Open DINOv2 | ±100 ms | 387 | 31 | 356 | 3867 | 8.01% | 0.80% | 1.45% | 47.21 |

## Midpoint and shifted-time controls

| Model | Allowed timing error | F1 | Midpoint F1 | Mean shifted F1 |
| --- | --- | --- | --- | --- |
| Haptera | ±200 ms | 40.58% | 38.14% | 6.88% |
| Haptera | ±100 ms | 24.46% | 22.27% | 3.48% |
| Gemini 3.1 Pro Preview | ±200 ms | 21.30% | 20.96% | 6.73% |
| Gemini 3.1 Pro Preview | ±100 ms | 15.38% | 11.21% | 3.54% |

## Sensor-defined quiet intervals

| Model | False detections | False detections/quiet hour | 95% interval | Recall @±200 ms | F1 @±200 ms |
| --- | --- | --- | --- | --- | --- |
| Haptera | 330 | 139.80 | [108.09, 174.35] | 50.44% | 40.58% |
| Gemini 3.1 Pro Preview | 2,168 | 918.44 | [844.90, 987.39] | 34.71% | 21.30% |
| Open V-JEPA2 | 32 | 13.56 | [9.18, 18.08] | 7.05% | 12.09% |
| Open DINOv2 | 34 | 14.40 | [9.89, 18.92] | 2.28% | 4.15% |

## RH20T · Setup 2

| Model | Predicted events | Matched at ±200 | Precision ±200 | Recall ±200 | F1 ±200 | F1 ±100 | False events/hour ±200 | Matched median lag ±200, ms |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Haptera | 139 | 23 | 16.55% | 0.58% | 1.12% | 0.73% | 60.99 | 83.00 |
| Open DINOv2 | 178 | 14 | 7.87% | 0.35% | 0.67% | 0.34% | 86.23 | 105.50 |
| Open V-JEPA2 | 64 | 4 | 6.25% | 0.10% | 0.20% | 0.05% | 31.55 | 138.50 |

## RH20T · Setup 6

| Model | Predicted events | Matched at ±200 | Precision ±200 | Recall ±200 | F1 ±200 | F1 ±100 | False events/hour ±200 | Matched median lag ±200, ms |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Haptera | 407 | 101 | 24.82% | 1.74% | 3.24% | 2.25% | 45.45 | 73.00 |
| Open DINOv2 | 168 | 27 | 16.07% | 0.46% | 0.90% | 0.50% | 20.94 | 90.00 |
| Open V-JEPA2 | 146 | 7 | 4.79% | 0.12% | 0.23% | 0.07% | 20.65 | 112.00 |

## RH20T · Setup 7

| Model | Predicted events | Matched at ±200 | Precision ±200 | Recall ±200 | F1 ±200 | F1 ±100 | False events/hour ±200 | Matched median lag ±200, ms |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Haptera | 205 | 38 | 18.54% | 1.29% | 2.42% | 1.15% | 39.94 | 109.00 |
| Open DINOv2 | 134 | 15 | 11.19% | 0.51% | 0.98% | 0.39% | 28.46 | 111.00 |
| Open V-JEPA2 | 153 | 6 | 3.92% | 0.20% | 0.39% | 0.13% | 35.15 | 147.50 |

## RH20T · available input

| Configuration | Episodes | All reference onsets | Hours of shared available input | Reference events outside available inputs | Original input refusals / their missed truths |
| --- | --- | --- | --- | --- | --- |
| cfg2 | 702 | 3971 | 1.901881 | 2990 | 29 / 72 |
| cfg6 | 581 | 5818 | 6.731961 | 127 | 0 / 0 |
| cfg7 | 401 | 2937 | 4.181643 | 30 | 0 / 0 |

[Scoring and model inputs](SCORING.md) · [Gemini prompt sheet](PROMPT.md)
