Track Mode and Interpolation
Understanding Tracks
Tracks are temporal annotations that represent the same object across multiple video frames:- Single identity: One track = one object throughout its appearance
- Keyframe-based: You define object position at keyframes
- Automatic interpolation: CVAT calculates positions between keyframes
- Efficient: Annotate once every N frames instead of every frame
Interpolation can reduce annotation time by 5-10x for videos compared to frame-by-frame annotation.
Creating Tracks
- Select any drawing tool (rectangle, polygon, etc.)
- Choose a label
- Click Track (instead of Shape)
- Draw the object on the current frame
- Navigate forward several frames
- Adjust the object position if needed (creates a new keyframe)
- Repeat until the object disappears or leaves the frame
Keyframes
Keyframes are frames where you explicitly set the object’s position and shape:- Manual keyframes: Created when you adjust the object
- Automatic keyframes: First and last frame of track
- Visual indicator: Diamond icon in the objects sidebar
- Toggle keyframe: Select object and press
K
- Object changes direction
- Speed changes significantly
- Shape deforms
- Object enters/exits occlusion
- Camera motion changes
- At least every 30-60 frames
Interpolation Behavior
CVAT interpolates different properties: For all shapes:- Position (x, y coordinates)
- Size (width, height)
- Rotation angle
- Each vertex position independently
- Shape can morph smoothly
- Each keypoint position independently
- Natural pose transitions
- Masks (must set on each frame)
- Attributes marked as “immutable”
- Discrete properties (label, color)
Interpolation Types
CVAT uses linear interpolation by default:- Smooth, constant velocity between keyframes
- Works well for most objects
- Simple and predictable
- Add more keyframes at motion changes
- Consider using auto-tracking tools
Managing Track Visibility
Outside Property (Q):
Mark a track as “outside” when the object leaves the frame:
- Navigate to the frame where object exits
- Select the track
- Press
Qor toggle “Outside” in sidebar - Object disappears from this frame onward
- Toggle off when object re-enters
“Outside” is frame-specific in tracks. An object can be outside on frames 50-100 and visible again on frame 101.
O):
Mark frames where the object is hidden but still in the scene:
- Select the track
- Press
Oon frames where object is occluded - Visual indicator appears
- Useful for datasets that distinguish visibility states
Object Propagation
Propagate copies an object to subsequent frames:When to Use
- Object is stationary or moves slowly
- Faster than creating a track for short durations
- Initial annotation before refinement
Using Propagate
- Select an object (shape or track)
- Press
Ctrl+Bor right-click → “Propagate” - In the dialog:
- Up to frame: End frame number
- Propagate as: Shape or track
- Click OK
- Object is copied to all frames in range
Propagate vs Track
Grouping Objects
Purpose
Group multiple objects that logically belong together:- Parts of a single entity (car + wheels)
- Related objects (person + accessories)
- Maintain relationships across frames
- Export as single composite object
Creating Groups
Method 1: Group Mode- Press
Gto enter group mode - Click objects to add to group (or select first)
- Click “Group” button or press
Gagain - Selected objects are now grouped
- Select first object
Shift+Clickadditional objects- Right-click → “Group”
Group Properties
- Group ID: All grouped objects share a group ID
- Color: Can set uniform color for group
- Selection: Clicking one object highlights the group
- Operations: Some operations affect entire group
Ungrouping
- Select any object in the group
- Press
Shift+Gor right-click → “Ungroup” - Objects become independent
Best Practices
- Group related objects that move together
- Use consistent grouping across all frames (for tracks)
- Document grouping rules in annotation guidelines
- Consider if hierarchical labels might be better than grouping
Merging Objects
Purpose
Combine multiple separate annotations into a single object:- Merge over-segmented regions
- Combine parts annotated separately
- Fix duplicate annotations
- Combine tracks that represent the same object
Using Merge Mode
- Press
Mto activate merge mode - Click objects to merge (minimum 2)
- Selected objects are highlighted
- Click “Merge” or press
Magain to complete - Objects combine into one
Merged objects take the label of the first selected object. Attributes may need manual reconciliation.
Merge Behavior by Type
Rectangles:- Creates bounding box that encompasses all input rectangles
- Combines into a single polygon (may have complex boundary)
- Handles overlapping regions
- Performs pixel-wise union
- Perfect for combining segmentation regions
- Merges track histories
- Useful for fixing tracking errors where same object has multiple IDs
Merge Shortcuts
Limitations
- Cannot merge different shape types (e.g., rectangle + polygon)
- Merging tracks requires temporal overlap consideration
- Attributes from only one object are retained
Splitting Tracks
Purpose
Divide a track into two separate tracks at the current frame:- Fix tracking errors (wrong ID continuation)
- Split tracks when objects separate
- Correct annotation mistakes
Using Split Mode
- Navigate to the frame where you want to split
- Press
Alt+Mto activate split mode - Click the track to split
- Track divides:
- Before current frame: Original track
- Current frame onward: New track with new ID
Common Scenarios
ID Switch:- Two objects cross paths
- Tracker assigns wrong ID
- Split both tracks at crossing, then join correctly
- Single object splits into multiple (e.g., flock disperses)
- Split track, annotate each resulting object separately
Split Shortcuts
Joining Tracks
Purpose
Combine two separate tracks into a single continuous track:- Fix fragmented annotation of same object
- Connect tracks across occlusion
- Correct tracking gaps
Using Join
- Click the Join tool in controls sidebar
- Click the first track (earlier in time)
- Click the second track (later in time)
- Tracks merge into one continuous track
- Object maintains single identity across both track segments
Requirements
- Tracks must be same shape type
- Tracks should be temporally sequential (or overlapping)
- Both tracks must have same label (or you’ll be prompted to choose)
Join vs Merge
Slicing Objects
Purpose
Cut an object into multiple parts using a line:- Divide over-segmented regions
- Split connected components
- Create separate annotations from one
Using Slice Mode
- Click the Slice tool in controls sidebar
- Select the object to slice
- Draw a line across the object:
- Click to place line vertices
- Press
Nor double-click to finish line
- Object splits into multiple objects along the cut line
Slice Behavior
For polygons:- Creates 2+ separate polygons based on where line intersects
- Each new polygon becomes an independent object
- Divides mask into connected components
- Each component becomes a separate mask
Applications
- Separate touching objects annotated as one
- Divide regions after approximate annotation
- Fix over-segmentation from auto-annotation
- Create part-based annotations
Attribute Annotation
Understanding Attributes
Attributes are properties associated with objects:- Defined per label: Each label has its own attributes
- Types: Checkbox, radio, select, number, text
- Mutable vs Immutable:
- Immutable: Same value across all frames in track
- Mutable: Can change per frame
Setting Attributes
- Select an object
- Expand DETAILS section in objects sidebar
- Set attribute values
- For mutable attributes in tracks:
- Navigate to frames where value changes
- Update attribute value
- CVAT tracks changes per frame
Attribute Annotation Workspace
For efficient attribute annotation:- Switch to Attribute Annotation workspace
- Interface shows:
- Large object view
- Attribute controls
- Object and frame navigation
- Keyboard shortcuts for attributes
- Rapid annotation workflow
- Navigate to object (Tab or sidebar)
- Set attributes with keyboard or clicks
- Press
Ctrl+Enterto save and move to next object - Repeat
Best Practices
Immutable Attributes
Use for properties that don’t change (object color, vehicle type, etc.)
Mutable Attributes
Use for time-varying properties (door open/closed, lights on/off)
Consistent Values
Maintain consistency across similar objects
Documentation
Document attribute definitions clearly in project guidelines
Copy, Paste, and Duplicate
Copying Objects
Within same frame:- Select object
Ctrl+Cto copyCtrl+Vto paste- Adjust position of pasted object
- Copy object on one frame
- Navigate to target frame
- Paste with
Ctrl+V - Useful for objects that appear multiple times
Copy Shortcuts
Use Cases
- Repeated objects: Copy-paste-adjust faster than drawing from scratch
- Similar objects: Copy, paste, change label
- Template annotation: Copy object with attributes set, paste to new instances
Object Relationships
Z-Order (Depth Ordering)
Control which objects appear in front when overlapping: Change Z-Order:+or=: Bring selected object forward-: Send selected object backwardCtrl++: Bring to frontCtrl+-: Send to back
- Objects sidebar can display objects grouped by Z-order layer
- Higher Z-order = rendered on top
- Useful for organizing complex scenes
Parent-Child Relationships
Some label configurations support hierarchical relationships:- Skeleton sublabels: Keypoints belong to skeleton
- Part annotations: Wheels belong to vehicle
- Nested structures: Building parts, room elements
Batch Operations
Lock/Unlock All Objects
T+L: Toggle lock for all objects on current frame- Prevents accidental edits
- Unlock to edit again
Hide/Show All Objects
T+H: Toggle hide for all objects on current frame- Clear canvas for easier viewing
- Objects still exist, just hidden
Delete Multiple Objects
- Select multiple objects (
Shift+Click) - Press
DelorBackspace - All selected objects are removed
Advanced Keyboard Shortcuts
Track and Interpolation
Track and Interpolation
Object Operations
Object Operations
Batch Operations
Batch Operations
Best Practices for Video Annotation
Efficient Workflow
- First pass: Create tracks for all objects with keyframes every 30-60 frames
- Review pass: Navigate through interpolated frames, add keyframes where needed
- Refinement pass: Adjust boundaries, set attributes
- Quality check: Review entire video for consistency
Keyframe Strategy
1
Start and End
Always annotate first and last frame where object is visible
2
Motion Changes
Add keyframe whenever object changes direction or speed significantly
3
Occlusions
Keyframe before entering and after exiting occlusion
4
Shape Changes
For polygons/skeletons, keyframe when shape deforms
5
Regular Intervals
Even for smooth motion, add keyframes every 30-60 frames to prevent drift
Tracking Difficult Objects
Fast motion:- More frequent keyframes
- Consider auto-tracking tools
- Mark “outside” during full occlusion
- Mark “occluded” during partial occlusion
- Keyframe before and after
- Background motion affects interpolation
- More keyframes needed
- Use stabilization if available
- Use polygons or skeletons
- Frequent keyframes
- Each vertex interpolates independently
Troubleshooting
Interpolation looks wrong
Interpolation looks wrong
- Add more keyframes at motion changes
- Check that keyframes are properly set (press K to toggle)
- Ensure “outside” flag is not incorrectly set
- Consider if object motion is too complex for linear interpolation
Can't merge objects
Can't merge objects
- Objects must be same type (all rectangles, all polygons, etc.)
- Both objects must be on the same frame
- Check that merge mode is active (M key)
Track split in wrong place
Track split in wrong place
- Use Undo (Ctrl+Z) immediately
- Navigate to correct frame before splitting
- Consider joining tracks instead
Grouped objects behave unexpectedly
Grouped objects behave unexpectedly
- Ungroup (Shift+G) and regroup
- Check that all intended objects are selected
- Some operations may not support groups
Propagate created too many objects
Propagate created too many objects
- Delete propagated objects and try again with shorter range
- Consider using track mode instead
- Use Ctrl+Z to undo if just completed
Next Steps
Manual Annotation
Basic annotation workflows and techniques
Auto-Annotation
Use AI tracking to automate interpolation
Quality Control
Review and validate annotations
Export Data
Export your completed annotations