# ai_train **Repository Path**: lccsetsuna/setsun_ai_train ## Basic Information - **Project Name**: ai_train - **Description**: 以 “低门槛、高效率、全流程” 为核心,既解决了传统目标检测训练中 “配置复杂、标注繁琐、部署困难” 的痛点,又通过 AI 辅助功能和可视化设计降低了技术门槛,同时支持多场景落地需求,兼顾新手友好性与专业扩展性。全新一代的自动标注训练 目标检测平台 Labeling Platform - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 1 - **Created**: 2026-01-17 - **Last Updated**: 2026-02-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: 多模态推理, yolo系列自动标注训练一体化平台 ## README # SETSUN-AI-TRAIN - AI模型训练平台 ## 📖 项目简介 SETSUN-AI-TRAIN 是一个基于 Python Flask 构建的 Web 应用程序,专为 YOLOv8/YOLOv11 目标检测模型设计。该平台集成了图片标注、数据集管理、模型训练以及实时推理功能,旨在为 AI 开发者和研究人员提供一站式、可视化的目标检测模型训练解决方案。 ## 🚀 核心特性 1. **多层次 AI 辅助标注**: * 集成大模型(如通义千问等)进行智能图像识别,自动生成边界框 * PT 模型辅助检测,实现"小数据训练 → 模型辅助 → 数据增强 → 高精度模型"的迭代闭环 2. **全流程可视化**: * 提供直观的 Web 界面进行项目管理、图片上传、标签管理和数据集划分 * 实时显示训练日志、进度条及性能指标(mAP, F1 曲线等) 3. **RTSP 实时检测**: * 支持 RTSP 视频流实时目标检测,无需复杂配置即可监控多路视频 * 支持 ONVIF 协议设备发现与抓拍 4. **项目级隔离**: * 多项目并行开发,数据、模型、资源完全隔离 5. **跨平台兼容**: * 支持 Windows、macOS、Linux 多平台部署 ## 🛠 技术栈 * **后端**:Python 3.10+, Flask, Flask-SQLAlchemy, SQLite * **AI 框架**:Ultralytics (YOLOv8), OpenCV (cv2) * **前端**:HTML5, Bootstrap 5, Fabric.js (画布标注), Jinja2 * **数据存储**:SQLite (元数据), 本地文件系统 (图片/模型) ## 📂 项目结构 ``` . ├── app.py # Flask 应用入口,负责初始化 ├── routes.py # 路由逻辑,处理所有 HTTP 请求 ├── models.py # 数据库模型 (Project, Image, Label, Annotation 等) ├── requirements.txt # Python 依赖列表 ├── camera_capture.py # RTSP/ONVIF 视频流捕获模块 ├── inference_manager.py # 模型推理管理模块 ├── llm_client.py # 大模型 API 客户端 (多模态标注) ├── project_dir_manager.py # 项目目录管理模块 ├── services/ # 业务逻辑服务层 │ ├── annotation_service.py # 标注相关服务 │ ├── camera_service.py # 摄像头相关服务 │ ├── dataset_service.py # 数据集相关服务 │ ├── export_service.py # 模型导出服务 │ ├── image_service.py # 图片相关服务 │ ├── llm_service.py # 大模型服务封装 │ └── training_service.py # 训练相关服务 ├── static/ # 静态资源目录 │ ├── uploads/ # 用户上传的原图 │ ├── datasets/ # 处理后的数据集 (train/val/test) │ ├── models/ # 训练产出的模型权重 │ └── inference_results/ # 推理结果图片 └── templates/ # HTML 模板 ├── index.html # 项目列表页 ├── project_detail.html # 项目详情页 ├── images.html # 图片管理页 ├── annotate.html # 图片标注页 (含 Fabric.js 交互) ├── dataset.html # 数据集划分页 ├── train.html # 训练控制台 ├── vllm_model_inference.html # 多模态分析 ├── export.html # 模型导出页 ├── inference.html # 模型推理页 ├── rtsp_capture.html # RTSP 捕获配置页 ├── rtsp_stream.html # RTSP 实时流页面 └── llm_config.html # LLM 配置页 ``` ## 📦 安装与运行 1. **克隆项目**: ```bash git clone https://gitee.com/lccsetsuna/setsun_ai_train.git cd setsun_ai_train ``` 2. **安装依赖**: ```bash pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple ``` 3. **启动应用**: ```bash python app.py ``` 4. **访问平台**: 打开浏览器访问 `http://localhost:5500` ##运行截图 ![car_index.png](images/car_index.png) ![car_manager.png](images/car_manager.png) ![car_bcvu.png](images/car_bcvu.png) ![car_data.png](images/car_data.png) ![moxyxplm.png](images/moxyxplm.png) ![moxydkiu.png](images/moxydkiu.png) ![moxytvli.png](images/moxytvli.png) ![domotltvli.png](images/domotltvli.png) ## 📖 使用指南 ### 1. 创建项目 在首页点击"创建项目",输入项目名称和描述,即可开始管理您的 AI 训练任务。 ### 2. 图片管理 进入项目后,选择"图片管理"。支持: * 单张/批量上传图片 * 拖拽上传 * 上传 ZIP 压缩包批量导入 ### 3. 图片标注 (核心功能) 进入"图片标注"页面: * **手动标注**:先在左侧创建标签(Class),然后在图片上绘制矩形框 * **AI 大模型辅助**:配置好 LLM API 后,点击"手动AI识别标注",系统将调用大模型自动识别图片中的目标 * 标注数据实时保存,并自动生成 YOLO 格式的 `.txt` 标注文件 * 所有坐标统一经过归一化处理 [0,1][1,0] 标注数据示例 ```shell 0 0.6594665277382491 0.7338519569852852 0.28495072027172097 0.38899578905979726 0 0.11010830324909747 0.010401929566742626 0.26233453670276774 0.39531291817946745 0 0 0 0.24428399518652227 0.3585024035311769 ``` ### 4. 数据集划分 进入"数据集划分"页面,将已标注的图片分配到 **训练集 (Train)**、**验证集 (Val)** 或 **测试集 (Test)**。 ### 5. 模型训练 进入"模型训练"页面: * 选择基础模型架构(如 `yolov8n.pt`) * 设置训练轮次 (Epochs,建议 >= 100) * 点击"开始训练"。训练过程在后台线程运行,前端实时刷新日志和损失曲线 ### 6. 模型导出与推理 * **导出**:在导出页面可将训练好的模型转换为 ONNX、TorchScript 等格式 * **RTSP 推理**:支持配置 RTSP 地址,实时对视频流进行目标检测 ## ⚠️ 注意事项 * **标注要求**:为了保证训练效果,请在训练前至少标注 **100 张** 样本图片 * **训练轮次**:为了使模型具有较好的泛化能力,请将训练轮次 (Epochs) 设置为 **100** 以上。训练轮次过少(如 < 30)将导致模型无法有效识别 * **依赖版本**:如果遇到 PyTorch 模型加载错误,请尝试更新 ultralytics: ## 版本发布 ### 2026.01.21:v1.0.0 初始版本
v1.0.0版本更新内容
核心特点 以 "低门槛、高效率、全流程" 为核心,既解决了传统目标检测训练中 "配置复杂、标注繁琐、部署困难" 的痛点,又通过 AI 辅助功能和可视化设计降低了技术门槛,同时支持多场景落地需求,兼顾新手友好性与专业扩展性。
全流程可视化 + 零代码门槛 * 覆盖 "项目创建→图片管理→标注→数据集划分→训练→导出→推理" 完整链路,无需编写复杂脚本,全通过直观 Web 界面操作。 * 实时展示训练日志、进度条及性能指标(mAP、F1 曲线等),训练状态一目了然,新手也能快速上手。
多模态AI 辅助标注,效率倍增 * 集成多模态大模型(如通义千问)智能识别,自动生成目标边界框,大幅减少手动标注工作量。 * 支持 PT 模型辅助检测,形成 "小数据训练→模型辅助→数据增强→高精度模型" 的迭代闭环,小样本场景也能高效产出标注数据。
强大的多场景适配能力 * **跨平台兼容**:支持 Windows、macOS、Linux 多系统部署,无需额外配置环境。 * **多项目隔离**:可并行开发多个项目,数据、模型、资源完全独立,满足多任务管理需求。 * **实时视频检测**:支持 RTSP 视频流实时目标检测、ONVIF 协议设备发现与抓拍,适配监控场景落地。
灵活的模型训练与部署 * **多模型架构可选**:涵盖 YOLOv8/YOLOv11 全系列(n/s/m/l/x),可根据设备性能(边缘设备 / 服务器)灵活选择。 * **多格式导出**:支持 ONNX、TorchScript、TensorFlow Lite、CoreML 等格式,适配跨平台部署(嵌入式设备、iOS/macOS、C++ 环境等)。
便捷的数据管理功能 * **多样化图片上传**:支持单张 / 批量上传、拖拽上传、ZIP 压缩包批量导入,适配不同数据来源。 * **智能数据集划分**:支持手动分配或自动按 70%/20%/10% 比例划分训练集、验证集、测试集,符合行业标准。
技术栈亮点 * **后端**:Python 3.10+、Flask 轻量架构,搭配 SQLAlchemy ORM 高效管理数据。 * **前端**:Bootstrap 5 响应式设计(适配移动端 / PC 端)、Fabric.js 实现高精度画布标注。 * **AI 框架**:基于 Ultralytics 生态,兼容 YOLO 最新模型,结合 OpenCV 处理图像 / 视频流。
## 如有疑问请联系我 * 邮箱:lccsetsun@163.com ## 📄 许可证 本项目由 Setsuna 开发,仅供学习和研究使用。