快速开始

S3 集成

Label Studio 支持与兼容 S3 的存储服务集成,用于导入数据和导出标注结果。这包括 Amazon S3、MinIO 以及其他兼容 S3 的存储服务。

前提条件

  • 具有适当权限的兼容 S3 存储桶
  • 访问凭证(Access Key ID 和 Secret Access Key)

使用 ACP MinIO 作为 S3 存储

注意:ACP MinIO 只是可选方案之一。您也可以使用任何兼容 S3 的存储(例如 Amazon S3、Ceph RGW 等)。

您可以使用 ACP 内置的 MinIO 作为 S3 存储:

  1. 对象存储:在管理员视图中,进入 Storage / Object Storage,检查是否已创建 MinIO。如果没有,点击 Configure Now 开始配置流程。

  2. 部署 MinIO OperatorCreate Object Storage 流程包含两个步骤。首先,点击 Deploy Operator,按照页面指引部署 MinIO Operator。

  3. 创建 MinIO 集群:MinIO Operator 部署完成后,进入第二步 Create Cluster。填写所需信息:

    • Name:集群名称
    • Access KeySecret Key:管理员凭证
    • Resource Configuration:资源分配设置
    • Storage Pool Configuration:存储池配置
    • Access Configuration:访问方式设置

    点击 Create Cluster 创建 MinIO 集群。

  4. 获取访问信息:MinIO 集群的访问地址可在 Access Method 标签页中找到。

  5. 管理桶和凭证:使用 mc 客户端访问 MinIO 集群,创建桶并生成低权限的 Access Key/Secret Key。详情请参见 MinIO Client Documentation

在 Label Studio 中使用 S3

  1. 访问存储设置

    • 打开 Label Studio 项目
    • 进入 Settings > Cloud Storage
  2. 添加源存储

    • 点击 Add Source Storage
    • 选择存储类型为 AWS S3
    • 填写必填信息:
      • Storage Title:存储连接名称
      • Bucket Name:S3 存储桶名称
      • Region Name:存储区域(例如 AWS S3 的 us-east-1,MinIO 可留空)
      • S3 Endpoint:可选自定义 S3 端点(AWS S3 留空,MinIO 必填)
      • Access Key ID:访问密钥
      • Secret Access Key:密钥
      • Session Token:可选临时凭证的会话令牌
      • Bucket Prefix:存储桶内路径前缀(例如 data/input/
      • File Filter Regex:可选文件过滤正则表达式(例如 .*csv.*(jpe?g|png|tiff)
    • 配置可选设置:
      • Treat every bucket object as a source file:勾选表示所有桶内对象均为媒体文件,取消勾选表示为 JSON 任务文件
      • Recursive scan:启用递归扫描子目录
      • Use pre-signed URLs:启用后浏览器可直接访问 S3(推荐)
      • Expiration minutes:启用预签名 URL 时的过期时间(默认 15 分钟)
    • 点击 Check Connection 测试连接
    • 点击 Add Storage 创建存储连接
  3. 添加目标存储(可选)

    • 点击 Add Target Storage 以导出标注结果到 S3
    • 填写与源存储类似的 S3 参数
    • 目标存储额外参数:
      • SSE KMS Key ID:可选的服务器端加密 KMS 密钥 ID
    • 配置可选设置:
      • Can delete objects from storage:启用后允许从存储删除标注数据
    • 点击 Check Connection 测试连接
    • 点击 Add Storage 创建存储连接
  4. 上传数据到 S3

    • 将数据文件上传至配置的 S3 存储桶及前缀路径
    • 确保数据文件可通过配置的访问凭证访问
    • 可使用 mc 客户端或 AWS CLI 批量上传
  5. 导入数据

    • Source Cloud Storage 下点击 Sync Storage 从 S3 导入数据
    • 每当 S3 存储桶新增数据时,均可使用同步功能导入
  6. 执行标注

    • 在 Label Studio 界面访问导入的数据
    • 使用配置好的标注界面完成标注工作
  7. 导出标注结果

    • 点击 Export 按钮下载多种格式的标注结果(JSON、CSV 等)
    • 或点击 Target Cloud Storage 下的 Sync Storage 将标注推送到 S3
    • 注意:目标存储仅支持 JSON 格式导出。可使用 Label Studio SDK 将 JSON 标注转换为其他格式(CSV、COCO、Pascal VOC、YOLO 等)。详情见 SDK converter
  8. 将数据和标注应用于模型训练/验证

    • 使用 mc 客户端或 AWS Python SDK(boto3)从 S3 下载训练数据和标注。实现细节请参见 S3 examples
    • 如有需要,使用 Label Studio SDK 转换标注格式。
    • 将数据集成到机器学习流水线。
    • 使用标注进行模型训练或验证。

存储结构建议

  • 不同项目建议使用不同存储桶或不同路径前缀,避免数据冲突。
  • 目标存储和源存储可以使用同一 S3 存储桶,但路径前缀不同(例如源为 input/,目标为 output/),也可使用不同存储桶以实现更好的数据隔离和访问控制。

其他资源

有关 Label Studio 快速入门指南,请参阅官方文档:Getting Started With Label Studio: A Step-By-Step Guide