目录
目录README.md

Label Studio ML 图像自动标注服务

这是一个Label Studio ML后端服务,用于调用外部API实现图像自动标注功能。

功能特性

  • 🔌 集成外部预测API (localhost:1888/v1/private/service)
  • 🖼️ 支持图像自动标注
  • 📦 Docker容器化部署
  • 🚀 简单易用的启动脚本
  • 📝 完整的API文档

快速开始

方法1: 使用启动脚本 (推荐用于开发)

# 安装依赖并启动服务
python start.py --install --port 9090

# 或者分步执行
pip install -r requirements.txt
python start.py

方法2: 使用Docker Compose (推荐用于生产)

# 构建并启动服务
docker-compose up --build

# 后台运行
docker-compose up -d --build

方法3: 直接运行

pip install -r requirements.txt
python app.py

服务配置

环境变量

变量名 默认值 描述
ML_SERVER_PORT 9090 ML服务端口
ML_SERVER_HOST 0.0.0.0 ML服务主机
REDIS_HOST localhost Redis主机
REDIS_PORT 6379 Redis端口
REDIS_DB 0 Redis数据库
RQ_QUEUE_NAME default 队列名称

外部API配置

服务默认调用 http://localhost:1888/v1/private/service API进行图像标注。

API请求格式:

  • Method: POST
  • Content-Type: multipart/form-data
  • 参数:
    • image: 图像文件
    • json_data: JSON格式的标注配置

Label Studio集成

1. 在Label Studio中添加ML后端

进入Label Studio项目设置 → Machine Learning,添加新的ML后端:

URL: http://localhost:9090

2. 标注配置示例

<View>
  <Image name="image" value="$image"/>
  <RectangleLabels name="label" toName="image">
    <Label value="person" background="red"/>
    <Label value="car" background="blue"/>
    <Label value="bike" background="green"/>
  </RectangleLabels>
</View>

API端点

启动服务后,可以访问以下端点:

  • GET /health - 健康检查
  • POST /predict - 预测接口
  • POST /fit - 训练接口 (可选)
  • GET /docs - API文档

开发指南

项目结构

label_studio_ml_image_service/
├── app.py              # 主应用入口
├── model.py            # ML模型实现
├── start.py            # 启动脚本
├── requirements.txt    # Python依赖
├── Dockerfile          # Docker配置
├── docker-compose.yml  # Docker Compose配置
└── README.md          # 项目文档

自定义API响应格式

如果外部API的响应格式与默认格式不同,请修改 model.py 中的 _convert_api_result_to_ls_format 方法。

调试模式

# 启用调试模式
python start.py --host 0.0.0.0 --port 9090

故障排除

常见问题

  1. 连接外部API失败

    • 检查API地址是否正确
    • 确认API服务是否正在运行
    • 检查网络连接
  2. Label Studio无法连接ML后端

    • 确认ML服务正在运行
    • 检查端口是否被占用
    • 验证防火墙设置
  3. 图像下载失败

    • 检查图像URL是否有效
    • 确认网络权限

日志查看

# Docker方式查看日志
docker-compose logs -f label-studio-ml

# 直接运行查看日志
python app.py  # 日志会输出到控制台

许可证

MIT License

关于

原子掺杂智能标注服务

34.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

©Copyright 2023 CCF 开源发展委员会
Powered by Trustie& IntelliDE 京ICP备13000930号