> For the complete documentation index, see [llms.txt](https://docs.imerit.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.imerit.net/3d-multi-sensor-fusion/labeling/3d-multi-sensor-fusion-labeling-editor/key-features/sanity-checks/velocity.md).

# Velocity

Automatically flags frames where an object's computed velocity exceeds a project-configured threshold, helping teams catch physically implausible motion without manual calculation.

{% hint style="info" icon="lightbulb-on" %}
Velocity is evaluated using the selected axes. This lets you check movement in one direction, across a plane, or in all three dimensions.
{% endhint %}

***

## Use Cases

**Autonomous Driving**\
When annotating vehicles across highway or urban sequences, the sanity check automatically flags frames where a car or pedestrian's velocity exceeds the class-configured threshold - catching misplaced cuboids and incorrect interpolations before they reach QA, without the annotator needing to inspect the velocity graph manually.

**Robotics**\
In warehouse or manipulation datasets, the sanity check monitors robotic arm or equipment velocity across frames and flags any sudden implausible jumps, ensuring that training data reflects physically realistic motion and reducing the risk of models learning from corrupted sequences.

**Agri-Tech**\
When tracking tractors, drones, or animals across long field sequences, the sanity check surfaces frames where velocity deviates beyond the expected range - helping delivery teams distinguish genuine motion changes from annotation drift without frame-by-frame review.

**Aviation**\
For aircraft sequences where annotators are tracking fast-moving objects, the sanity check provides an objective, threshold-based signal to flag frames that require a second look - giving auditors a systematic record of velocity violations to review rather than relying on manual graph inspection.

***

## Benefits

**For Clients**\
Perception engineers and AI/ML teams receive datasets where physically implausible motion has been caught and resolved at the annotation stage - reducing the frequency of model retraining cycles and lowering the overall cost of corrections compared to post-delivery QA.

**For Annotators**\
Violations are surfaced automatically and in real time, removing the need to manually compare frame-to-frame velocity values against a threshold. Annotators can focus on correction rather than detection, directly improving turnaround time without compromising quality.

**For Reviewers**\
Flagged frames are grouped by object and track ID in the sanity check panel, giving reviewers a structured, navigable record of violations rather than a raw graph to interpret. Unresolved violations remain visible throughout the pipeline, providing full context for any annotation decisions made under ambiguous conditions.

***

## Steps to Use

{% stepper %}
{% step %}

#### Define Velocity Constraints in the Ontology

* Navigate to the project ontology (category schema) settings.
* Locate and enable the Sanity Checks section.
* For each object class (e.g., Car, Pedestrian, Cyclist, Truck, Traffic Cone), add or update Velocity thresholds.
  * Select one of Vx, Vy, Vz, Vxy, Vyz, Vxz, or Vxyz. If no axis is selected, the check defaults to Vxyz.
  * Select either m/s or inch/s, if no unit is selected, the check defaults to m/s.
* Set the display priority:
  * **High** places the violation at the top of the sanity check panel in bold with a distinct color when triggered.
  * **Low** places it in standard position within the list.
* Save and publish the recipe. Thresholds apply immediately to all active tasks on reload.
  {% endstep %}

{% step %}

#### Draw As Usual

* Open the task in the 3D Multi-Sensor Fusion Labeling Editor.
* Annotate and track objects using your standard cuboid guidelines.
* The tool computes forward velocity on the configured axis in real time for every tracked cuboid between consecutive frames.
  {% endstep %}

{% step %}

#### Respond to the Visual Cue

* When a cuboid's velocity exceeds the configured threshold, a visual cue appears on the affected cuboid and on the timeline, consistent with existing sanity checks such as Plausible Object Motion.
* The cue informs the annotator, reviewer, client that the velocity has breached the applicable threshold.
* Determine whether the violation represents a genuine annotation error (correct the cuboid position or dimension) or a known data condition such as sensor jitter (flag for the delivery team's attention).
* The cue clears automatically once the velocity is within the permitted threshold.
  {% endstep %}

{% step %}

#### Complete the Task

* Violations are non-blocking - you may submit the task with active rotation warnings.
* Unresolved violations remain visible to QA reviewers, providing context for improbably volumes.
  {% endstep %}
  {% endstepper %}

***

## Best Practices

* **Derive thresholds from real-world speed limits:** calculate the maximum expected velocity for each class based on the dataset's operational context (e.g., urban vs. highway for vehicles, near-field vs. far-field for aircraft) and document the rationale in the project guidelines.
* **Choose the axis that matters for your use case:** exclude axes where motion is not meaningful (e.g., Vz for ground vehicles) to reduce false positives and keep the violation list focused on genuine errors.
* **Set High priority sparingly:** reserve the High display setting for the checks most critical to your project's quality standards, so the panel remains useful and does not overwhelm annotators with bold violations.
* **Use violations as a QA signal, not just an annotation error:** as seen in aviation datasets, spikes may reflect sensor conditions such as LiDAR jitter rather than annotation mistakes. Encourage delivery teams to investigate root causes before correcting.
* **Pair with the Velocity Graph:** use the sanity check to identify which frames are flagged, then open the velocity graph on the affected cuboid for a fuller picture of the object's speed profile across the sequence.
  * [Learn More](/3d-multi-sensor-fusion/labeling/3d-multi-sensor-fusion-labeling-editor/key-features/velocity-graph.md)
