cvat
**CVAT (Computer Vision Annotation Tool)** is an **open-source, web-based image and video annotation platform originally developed by Intel and now maintained by OpenCV** — specializing in computer vision labeling with powerful video-specific features like frame interpolation (draw a bounding box on frame 1 and frame 10, CVAT automatically interpolates frames 2-9), auto-annotation via SAM and YOLO integration, and export to every major detection format (COCO, Pascal VOC, YOLO, TFRecord).
**What Is CVAT?**
- **Definition**: A free, open-source annotation tool purpose-built for computer vision tasks — providing a web-based interface for drawing bounding boxes, polygons, polylines, keypoints, cuboids (3D), and segmentation masks on images and video sequences, with a focus on annotation speed and accuracy for detection and segmentation datasets.
- **Intel Origins**: Originally developed by Intel's OpenVINO team as an internal tool, then open-sourced and transferred to the OpenCV organization — benefiting from Intel's deep computer vision expertise and production requirements.
- **Video Specialization**: While Label Studio handles all data types, CVAT is heavily optimized for video annotation — frame-by-frame navigation, object tracking across frames, and interpolation features that dramatically reduce the effort of annotating video sequences.
- **Self-Hosted**: Standard deployment is via Docker Compose — `docker-compose up` launches the full CVAT stack (Django backend, Redis, PostgreSQL, Nuclio for serverless auto-annotation functions).
**Key Features**
- **Frame Interpolation**: The signature CVAT feature — annotate an object on keyframes (e.g., frame 1 and frame 30), and CVAT linearly interpolates the bounding box position, size, and rotation for all intermediate frames. Reduces video annotation effort by 10-20×.
- **Auto-Annotation with AI**: Integrate SAM (Segment Anything Model), YOLO, or custom models via Nuclio serverless functions — the model pre-labels objects in images/video, and human annotators verify and correct. Supports both interactive (click-to-segment) and batch (auto-label entire dataset) modes.
- **3D Annotation**: Cuboid annotation for 3D object detection — draw 3D bounding boxes on 2D images with perspective-aware handles, essential for autonomous driving datasets.
- **Attribute Annotation**: Attach attributes to each annotation (occluded, truncated, color, vehicle type) — enabling rich metadata beyond just bounding box coordinates.
**Export Formats**
| Format | Use Case | Framework |
|--------|----------|-----------|
| COCO JSON | Instance segmentation, detection | Detectron2, MMDetection |
| Pascal VOC XML | Object detection | Classic detectors |
| YOLO TXT | Real-time detection | Ultralytics YOLOv5/v8 |
| TFRecord | TensorFlow pipelines | TF Object Detection API |
| CVAT XML | CVAT native | Re-import to CVAT |
| Datumaro | Dataset management | OpenVINO toolkit |
| LabelMe JSON | Polygon segmentation | LabelMe ecosystem |
**CVAT vs Alternatives**
| Feature | CVAT | Label Studio | Roboflow | Supervisely |
|---------|------|-------------|----------|-------------|
| Video interpolation | Excellent | Basic | Basic | Good |
| Auto-annotation | SAM, YOLO, custom | ML Backend API | Built-in YOLO | Smart Tool |
| 3D cuboids | Yes | No | No | Yes (LiDAR) |
| Data types | Images, video only | All (text, audio, etc.) | Images, video | Images, video, 3D |
| Deployment | Docker Compose | Docker, pip | Cloud SaaS | Cloud + self-hosted |
| Cost | Free (open-source) | Free + Enterprise | Freemium | Freemium |
**CVAT is the go-to open-source annotation tool for computer vision teams working with video data** — its frame interpolation, SAM-powered auto-annotation, and comprehensive export format support make it the most efficient path from raw video footage to training-ready detection and segmentation datasets.