Skip to content

The YOLO Auto-Annotation Tool is a GUI-based app simplifying image annotation for object detection. Built with Python, PySide6, and Ultralytics YOLO, it automates annotation via model inference while supporting human review.

Notifications You must be signed in to change notification settings

gzxy0102/AutoLabelWithYolo

Repository files navigation

YOLO自动标注工具

一个基于YOLO模型的图像自动标注工具,支持项目管理、自定义标签和人工复判功能,帮助用户高效完成目标检测数据集的标注工作。

功能特点

  • 完整的项目管理:支持新建、打开、保存和另存项目
  • 自定义标签系统:可定义自己的目标类别及对应颜色
  • 自动标注:利用YOLO模型自动生成目标检测框
  • 人工复判:支持对自动标注结果进行手动调整和确认
  • 批量处理:可批量处理图片并导出标注结果
  • 进度跟踪:实时显示处理进度,支持断点续传

安装说明

系统要求

  • Python 3.13 或更高版本
  • 支持 Windows、macOS 和 Linux 操作系统

安装步骤

  1. 克隆或下载本项目代码库

  2. 使用 uv 包管理器安装依赖(推荐):

    # CPU版本
    uv sync --extra cpu
    
    # CPU版本
    uv sync --extra cuda

使用指南

基本流程

  1. 创建新项目

    • 点击菜单栏"项目" -> "新建项目"
    • 输入项目名称和标签(用逗号分隔)
    • 选择项目保存路径
  2. 配置项目

    • 选择图片目录:包含需要标注的图像文件
    • 选择YOLO模型文件(.pt格式)
    • 设置输出目录:用于保存标注结果
  3. 开始自动标注

    • 点击"开始处理"按钮启动自动标注
    • 程序会使用选定的YOLO模型对图片进行批量处理
  4. 人工复判(可选)

    • 如需人工检查,在配置中勾选"需要人工复判"
    • 对自动生成的标注框进行调整、添加或删除
    • 确认无误后点击"完成标注"进入下一张
  5. 导出结果

    • 可点击"保存当前标注"保存单张图片结果
    • 或点击"导出所有结果"批量导出所有处理好的标注

快捷键

  • Ctrl+N:新建项目
  • Ctrl+O:打开项目
  • Ctrl+S:保存项目
  • Ctrl+Q:退出程序
  • Enter:完成当前图片标注
  • Delete:删除选中的标注框

项目结构

  • ui.py:主界面和用户交互逻辑
  • project.py:项目管理类,处理项目的保存和加载
  • main.py:程序入口点
  • pyproject.toml:项目依赖配置

标注格式

导出的标注结果采用YOLO格式:

  • 每个图片对应一个.txt文件
  • 每行表示一个目标:class_id center_x center_y width height
  • 坐标值为相对于图片宽高的归一化值

常见问题

  1. 无法加载模型:请检查模型文件路径是否正确,确保使用的是YOLO格式的.pt模型文件

  2. 处理速度慢:如果有NVIDIA显卡,建议安装CUDA版本以提高处理速度

  3. 图片无法显示:请确保图片路径正确且图片格式受支持(支持.jpg, .jpeg, .png, .bmp, .gif)

  4. 项目保存失败:检查保存路径是否有写入权限

致谢

本工具基于以下开源项目开发:

About

The YOLO Auto-Annotation Tool is a GUI-based app simplifying image annotation for object detection. Built with Python, PySide6, and Ultralytics YOLO, it automates annotation via model inference while supporting human review.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages