AI-assisted dataset annotation with COCO export — bbox, SAM2, DINOv3 methods
Scanned 5/27/2026
Install via CLI
openskills install SharpAI/DeepCamera---
name: dataset-annotation
description: "AI-assisted dataset annotation with COCO export — bbox, SAM2, DINOv3 methods"
version: 1.0.0
parameters:
- name: method
label: "Annotation Method"
type: select
options: ["bbox", "sam2", "dinov3"]
default: "dinov3"
group: Annotation
- name: export_format
label: "Export Format"
type: select
options: ["coco", "yolo", "voc"]
default: "coco"
group: Export
- name: auto_detect
label: "Auto-detect Before Annotation"
type: boolean
default: true
description: "Run detection first, then human corrects"
group: Annotation
- name: detection_model
label: "Detection Model"
type: select
options: ["yolov8n", "yolov11n", "dinov3"]
default: "yolov8n"
group: Annotation
- name: dataset_dir
label: "Dataset Directory"
type: string
default: "~/datasets"
group: Storage
capabilities:
annotation:
script: scripts/annotate.py
description: "Dataset annotation with AI assistance and COCO export"
---
# Dataset Annotation
AI-assisted dataset creation for training custom detection models. Supports three annotation methods with COCO format export.
## What You Get
- **BBox annotation** — draw bounding boxes, AI auto-suggests
- **SAM2 annotation** — click to segment, get pixel-perfect masks
- **DINOv3 annotation** — click a patch, find similar objects across frames via visual grounding
- **Object tracking** — annotate keyframes, DINOv3 interpolates across the video
- **COCO export** — standard `images[]`, `annotations[]`, `categories[]` format
- **Kaggle/HuggingFace upload** — push datasets directly to platforms
## Annotation Loop
```
1. Feed frames from clips → auto-detect objects
2. Human reviews → corrects bboxes, adds labels
3. Save as COCO dataset
4. Train improved model
5. Repeat with better auto-detection
```
## Protocol
### Aegis → Skill (stdin)
```jsonl
{"event": "frame", "camera_id": "...", "frame_path": "/tmp/frame.jpg", "frame_number": 0, "width": 1920, "height": 1080}
{"event": "detections", "frame_number": 0, "detections": [{"class": "person", "bbox": [100, 50, 200, 350], "confidence": 0.9, "track_id": "t1"}]}
{"event": "save_dataset", "name": "front_door_people", "format": "coco"}
```
### Skill → Aegis (stdout)
```jsonl
{"event": "ready", "methods": ["bbox", "sam2", "dinov3"], "export_formats": ["coco", "yolo", "voc"]}
{"event": "annotation", "frame_number": 0, "annotations": [{"category": "person", "bbox": [100, 50, 200, 350], "track_id": "t1", "is_keyframe": true}]}
{"event": "dataset_saved", "format": "coco", "path": "~/datasets/front_door_people/", "stats": {"images": 150, "annotations": 423, "categories": 5}}
```
## Setup
```bash
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
```
No comments yet. Be the first to comment!