挑战
现有的视频标注工具要么 GUI 繁重且没有可编程 API,要么是可视化效果差的命令行工具:
- ML 团队需要用于大规模训练数据的边界框、多边形和标签
- 教育工作者需要用于教学视频的动画叠加层(箭头、聚光灯、文本)
- 传统标注工具无法处理关键帧插值或缓动动画
- 没有桌面原生解决方案能将 OpenCV 处理与专业视频输出相结合
我们的解决方案
我们构建了一个基于 React/Remotion 的视频标注框架,该框架具有类型安全的标注系统、关键帧插值功能和一个 Tauri 桌面编辑器。
架构
- 视频引擎:Remotion 4.0,用于程序化逐帧渲染
- 前端:React 18 + TypeScript (使用 Vite)
- 桌面应用:Tauri 2,包含 OpenCV.js 和 ONNX Runtime
- 导出:FFmpeg,用于高质量视频输出
标注类型
- Bounding Boxes (边界框) - 带有标签和置信度分数的矩形区域
- Circles (圆形) - 具有可配置半径的点标注
- Polygons (多边形) - 用于不规则形状的复杂区域轮廓
- Text Labels (文本标签) - 带有定位的样式化文本叠加
- Arrows (箭头) - 用于指示流向或注意力的指示器
- Freehand Paths (自由手绘路径) - 自定义绘制的标注
- Spotlights (聚光灯) - 突出显示区域,背景变暗
动画系统
- Keyframe Interpolation (关键帧插值) - 标注状态之间的平滑过渡
- Easing Functions (缓动函数) - 弹性、缓入缓出、反弹和自定义曲线
- Scene Composition (场景合成) - 介绍、标注层、组合时间线、片尾
- Fade Effects (淡入淡出效果) - 可配置持续时间的淡入/淡出
主要特点
- Type-Safe API (类型安全的 API) - 为所有标注原语提供全面的 TypeScript 类型
- Scene System (场景系统) - 从场景构建块合成复杂视频
- Keyframe Animation (关键帧动画) - 随时间动画化任何标注属性
- Desktop Editor (桌面编辑器) - 基于 Tauri 的 GUI,具有实时预览功能
- Batch Export (批量导出) - 通过 FFmpeg 渲染带标注的视频
- OpenCV Integration (OpenCV 集成) - 桌面应用中的计算机视觉处理
成果
技术栈
常见问题
MicrocosmWorks 为需要使用代码驱动规则而非人工点击大规模生成标注的团队构建了此框架。它支持将标注流程编写为 Python 脚本,应用预训练检测器、时间逻辑和空间规则来自动生成训练数据,然后导出为 COCO、Pascal VOC 或 YOLO 格式。
是的,MicrocosmWorks 实现了一个时间标注模型,支持帧范围、关键帧插值以及带有起始/结束时间戳的基于事件的标签。标注人员可以定义时间规则,例如“当姿态估计检测到双脚离地超过 3 个连续帧时标注为‘跑步’”,以自动化动作标注。
MicrocosmWorks 构建了一个验证流程,计算编程标注与人工审核的黄金数据集之间的一致性分数,并标记任何低于可配置的 IoU 或时间重叠阈值的标注。该框架还支持主动学习工作流,将低置信度标注路由给人工审核员。
MicrocosmWorks 基于 FFmpeg 和 OpenCV 构建了该框架,支持所有主要的容器格式,包括 MP4、MKV、AVI 和 MOV,以及从 H.264 到 ProRes 的编解码器。该框架以原始分辨率处理视频,但支持为标注过程进行可配置的降采样,以加速大型数据集的吞吐量。
MicrocosmWorks 以 $25-$45/小时的费率提供机器学习基础设施项目,其中一个编程视频标注框架,包括规则引擎、格式导出器和质量验证流程,通常需要 300-500 开发小时。该框架通过降低每分钟视频可能高达 $5-$15 的手动标注成本,从而迅速收回成本。
