指南 3个标注团队操作手册:提升标注速度与质量

在Label Studio中使用SAM2进行视频标注

本指南介绍了如何以最简单的方式开始将SegmentAnything 2与Label Studio结合使用。

该代码库专门用于处理视频中的目标跟踪任务。如需处理图像,请参阅segment_anything_2_image代码库

sam2

开始之前

在开始之前,您必须安装Label Studio ML后端

本教程使用segment_anything_2_video示例

从源代码运行

  1. 要在不使用Docker的情况下运行ML后端,您需要克隆代码库并使用pip安装所有依赖项:
git clone https://github.com/HumanSignal/label-studio-ml-backend.git
cd label-studio-ml-backend
pip install -e .
cd label_studio_ml/examples/segment_anything_2_video
pip install -r requirements.txt
  1. segment-anything-2代码库下载到根目录。按照Meta官方文档安装SegmentAnything模型并下载检查点文件。请确保完成检查点文件的下载步骤!

  2. 导出以下环境变量(请填写您的凭据!):

  • LABEL_STUDIO_URL: 你的label studio实例的http://或https://链接(需包含前缀!)
  • LABEL_STUDIO_API_KEY: 您在Label Studio中的API密钥,可在个人资料中获取。
  1. 然后你可以在默认端口 9090 上启动ML后端:
cd ../
label-studio-ml start ./segment_anything_2_video

请注意,如果您在云服务器上运行,需要在暴露的端口上运行。要更改端口,请在上述启动命令末尾添加-p <端口号>。 5. 将正在运行的ML后端服务器连接到Label Studio:转到您的项目设置 -> 机器学习 -> 添加模型并指定http://localhost:9090作为URL。更多信息请参阅官方Label Studio文档。 同样,如果您在云端运行,需要将此本地主机地址替换为容器的外部IP地址以及暴露的端口。

标注配置

对于您的项目,您可以使用任何支持视频属性的标注配置。这里提供一个基础配置供您开始使用!

<View>
    <Labels name="videoLabels" toName="video" allowEmpty="true">
        <Label value="Player" background="#11A39E"/>
        <Label value="Ball" background="#D4380D"/>
    </Labels>

    <!-- Please specify FPS carefully, it will be used for all project videos -->
    <Video name="video" value="$video" framerate="25.0"/>
    <VideoRectangle name="box" toName="video" smart="true"/>
</View>

已知限制

  • 截至2024年8月11日,SAM2仅能在GPU服务器上运行。
  • 目前,我们仅支持视频中单个对象的跟踪,尽管SAM2可以支持多个对象。
  • 目前,我们暂不支持视频分割功能。
  • 不支持Docker

如果你想为本代码库贡献代码以帮助解决部分限制,可以提交一个PR。

自定义

可以通过在./segment_anything_2_video目录中添加自定义模型和逻辑来定制ML后端。