软件说明书
软件更新日志
软件介绍
VisionGroup3 视觉软件平台
菜单栏
快捷选项
软件版本说明
相机
流程树和全局流程树
函数添加树
函数树
图像显示区域
函数信息
全局变量树
AI模型树
坐标系树
硬件通信配置
各种通讯模拟软件的使用及基本问题的排查
硬件管理界面中的设备连接和测试
数字输入/输出口监控的操作
寄存器监控的操作
字符串监控的操作
图像处理
图像采集和显示
相机采图
显示图像
窗口清除
读取相机图像
相机标签采图
视频处理
视频采集
视频生成
视频读取
视频下载
颜色检测
彩色图像裁剪
颜色选定
KNN颜色选定
颜色转换
块序检测
彩色Blob检测
颜色分类
图像预处理
图像裁剪
图像合并
图像环形展开
图像滤波
图像变换
相机畸变标定
透视畸变标定
图像校正
区域处理
几何转区域
区域变换
区域筛选
区域运算
斑块区域
区域创建
区域生成
简易检测
Blob检测
Blob多区域检测
图像对比度
图像亮度
直线毛刺检测
圆形毛刺检测
像素差异检测
定位与测量
匹配
特征匹配
优化特征匹配
单目标模板匹配
多模板特征匹配
灰度匹配
全局模型灰度匹配
模板匹配
多模板优化特征匹配
快速目标筛选
几何提取
提取直线
提取圆形
提取圆弧
提取椭圆
边缘提取
提取平行线
直线交点
提取四边形
点线卡尺
线线卡尺
边缘测距计数
测量标定
提取最远点最近点
几何计算
自定义点
自定义线
自定义圆
自定义姿态
自定义斜矩形
自定义坐标系
自定义矩形数组
线线交点
线线夹角
角平分线
线线距离
点点距离
点线距离
点圆距离
点圆切线
线圆距离
线圆交点
圆圆交点
位置修正
点加角度修正
两点位置修正
两线位置修正
定位引导
相机标定
长半径标定
长半径标定(随机点)
相机简易标定
N点标定
标定转移
标定校准
标定引用
标定计算
标定转换
相机标定转换
映射
映射引用
映射转换
机械搬运
UVW计算
学习基准目标
单相机抓取
单相机抓取(眼在手上)
单相机抓取放置
单相机纠偏
多相机纠偏
双相机对位
机械点对位
多相机对位
机械点对位(权重)
多区域对位
识别工具
读码工具
一维码快速识别
二维码快速识别
全类型读码
条码识别评级[AI]
字符识别
匹配法字符识别
深度学习
检测
目标检测[AI]
旋转目标检测[AI]
人体关键点检测[AI]
分割
图像分割[AI]
分类
图像分类[AI]
识别
字符识别[AI]
辅助工具
辅助标注
辅助工具
控制语句
场景单元
条件检测
复杂条件检测
循环检测
Break
Continue
组合框
流程延时
跳转模块
流程复位
停止软件
开始检测
暂停软件
流程触发
异步流程触发
配方切换
循环位置筛选
流程单元
流程单元触发
系统工具
调试信息
系统时间
系统信息
时序工具
数据时序
数据时序计算
连续状态变化
连续状态确认
空间位移变化
时序动作
数学与数据
逻辑关系
四则运算
关系判断
求绝对值
求相对值
三角函数
整数位运算
数据处理
数据汇总
标签筛选
旋转标签筛选
多ROI旋转标签筛选
数据运算
Lua脚本工具
变量处理
线性变量创建
线性变量写入
线性变量数组插入
线性变量数组删除
线性变量数组值设置
全局变量读取
全局变量写入
全局变量失效
全局变量数组插入
全局变量数组删除
全局变量数组值设置
全局图像数组预览
数据捆绑
数据解绑
数组和字符串
数组插入
数组截取
数组删除
数组取值
数组和数据拼接
字符串拆分转换
数据转字符串
字符串转数据
字符串分割
字符串查找
字符串截取
结果分析
显示数据
显示数组数据
保存图像
统计计数
图像上显示结果
窗口上显示结果
检测截屏
硬件控制
字符串通信读入
字符串指令控制
字符串通信写出
寄存器通信读入
寄存器指令控制
寄存器通信写出
西门子DB块读入
西门子DB块写出
光源控制器控制
数字输入口读入
数字输出口读入
等待数字输入口
等待数字输出口
数字输出口写出
语音播报
运动控制
轴运动
停止轴
等待轴停止
设置轴参数
轴使能
多轴运动
AI训练器
AI训练器操作指南
深度学习标注原则及细则
AI 视觉训练工具 - 使用手册
运行界面编辑
进入设计界面
认识界面构成
对象列表
主菜单
其它-(设计窗口-属性列表-事件脚本)
控件列表
图像控件
运行控制控件
按钮控件
状态监控控件
标签控件
条件标签控件
BOOL设置控件
整数设置控件
浮点数设置控件
字符设置控件
下拉框设置控件
整数滑块控件
浮点数滑块控件
容器控件
组合框控件
标签页控件
垂直布局控件
水平布局控件
水平弹簧控件
垂直弹簧控件
登录控件
图片控件
日志控件
饼图控件
柱线图控件
静态表格控件
动态表格控件
圆形进度条控件
预览模式
脚本模式
运行模式
软件常见问题
视觉软件出现卡图排查步骤
开启虚拟内存的方法
如何解决全局相机飞拍拖影问题
发挥显卡最高性能设置
自定义logo
深度学习问题汇总及解决方案
自定义AI算法来源
常见问题
双击安装后的软件提[0x02000003]连接失败
双击安装后的软件提示Application Error
双击安装后的软件提示错误码13000020:找不到许可
Virbox用户工具显示驱动异常
二次开发
VG3模块插件开发
VisionGroup3(C#)二次开发使用说明
VG3_SDK开发指南V1.0(C++)
本站点使用 MrDoc 构建
-
+
首页
AI 视觉训练工具 - 使用手册
# AI 视觉训练工具 - 使用手册 本工具集数据标注、模型训练、模型推理导出于一体,支持目标检测(YOLOX)、旋转目标检测(YOLOv7-OBB)、图像分类(ResNet)三类视觉任务。 ## 一、整体流程概览 1. **工程管理**:新建或打开一个工程,工程用于统一管理数据集、标注、模型和训练输出。 2. **数据准备**:在"数据"页面导入原始图片。 3. **数据标注**:在"标注"页面使用矩形框/旋转框/分类标签进行标注。 4. **模型添加**:在"训练"页面的训练列表中添加一个或多个训练模型。 5. **参数配置**:配置训练超参数、数据增强、预训练权重、是否增量训练等。 6. **开始训练**:点击"训练"按钮启动训练进程,实时观察 loss/mAP 曲线。 7. **模型导出**:训练完成后右键导出 ONNX 模型用于部署。 ## 二、工程管理 | 功能 | 说明 | | --- | --- | | 新建工程 | 菜单 `工程(P) -> 新建工程`,选择一个空文件夹作为工程目录。工程目录结构:<br>· `datasets/` 存放原始图片和标注<br>· `models/` 存放每个训练模型的workspace(yaml配置、权重、日志) | | 打开工程 | 启动页自动列出最近工程列表,点击即可打开;也可通过菜单重新选择。 | | 最近工程 | `工具(T) -> 设置` 可配置最近工程列表保存数量。 | ## 三、数据页面 数据页面用于批量导入训练图片,并划分训练集/验证集。 - **导入图片**:支持单张、多张、整文件夹导入。 - **数据集比例**:训练页面"数据划分比例"参数(默认 0.9,即 90% 训练、10% 验证)在导入时生效。 ## 四、标注页面 标注页面提供可视化标注工具。详细操作请参考标注界面提示。 ## 五、训练页面 - 参数详解(核心) 在训练页面左侧"训练列表"添加模型后,右侧面板会显示该模型的全部训练参数。 ### 5.1 训练列表操作 | 操作 | 说明 | | --- | --- | | 添加模型 | 点击"添加模型"按钮,选择模型类型(**YOLOX**:水平框检测 / **YOLOv7-OBB**:旋转框检测 / **ResNet**:图像分类),输入模型名称。 | | 删除模型 | 选中列表中一个模型后点击"删除模型"。**注意**:删除后该模型的workspace和训练权重会被一并删除,请谨慎操作。 | | 重命名 | 在训练列表中右键模型 -> 重命名。 | | 导出ONNX | 训练完成后右键 -> 导出模型,将权重转换为 ONNX 格式用于部署。 | | 切换模型 | 点击列表中不同模型,右侧参数面板会自动加载该模型的 yaml 配置;切换时**会自动保存当前模型参数**,参数不会丢失。 | ### 5.2 基础参数 | 参数 | 默认值 | 说明与建议 | | --- | --- | --- | | 训练/推理设备 | GPU | 选择使用 GPU(CUDA) 还是 CPU 训练。**强烈建议使用 GPU**,CPU训练速度极慢。请确保已正确安装 CUDA 和对应显卡驱动。 | | 预训练模型 | 关闭 | **开启**:使用对应规模的 ImageNet/COCO 预训练权重初始化 backbone,可大幅加速收敛、提升小数据集精度。<br>**关闭**:权重随机初始化,需要更多数据和更长训练时间。<br>**建议**:大多数场景下保持"开启";只有当你有极强算力和海量数据时才考虑关闭。 | | 冻结训练 | 关闭 | **开启**:训练前若干 epoch 冻结 backbone 权重,只训练检测头,可在训练初期防止预训练权重被破坏,适合小数据集微调。<br>冻结轮数 = `min(10, 总Epoch / 3)`,由程序自动计算。 | | 混合精度(fp16) | 关闭 | 开启后使用半精度浮点训练,可**减少约 40% 显存占用**并提升训练速度,对精度影响极小(支持 Tensor Core 的显卡效果明显,如 RTX 20 系列以上)。<br>**注意**:若显卡不支持 fp16(如部分老款 GTX 10 系列),开启可能报错;出现 `NaN loss` 时请关闭此选项。 | ### 5.3 模型规模 | 规模 | YOLOX | YOLOv7-OBB | ResNet | 适用场景 | | --- | --- | --- | --- | --- | | 边缘 | yolox_nano | yolov8p-obb | mobilenet_v2 | 嵌入式/边缘端部署,速度极快 | | 轻量型 | yolox_tiny | yolov8q-obb | mobilenetv3_small | 移动端/低算力设备 | | 小型 | yolox_s | yolov8n-obb | mobilenetv3_large | **通用推荐起点**,速度与精度平衡 | | 中等 | yolox_m | yolov8s-obb | resnet34 | 服务器部署,精度较好 | | 大型 | yolox_l | yolov8m-obb | resnet50 | 高精度场景,需要较强GPU | | 最大 | yolox_x | yolov8l-obb | resnet101 | 追求极致精度,显存需求高 | | 超大 | yolox_x | yolov8x-obb | resnet101 | 竞赛/科研用途 | > **规模选择原则**:先从小型(s)开始跑通流程验证数据质量,再根据部署硬件和精度需求调整规模。 ### 5.4 训练超参数 | 参数 | 默认值 | 说明与调参建议 | | --- | --- | --- | | 随机种子(Seed) | 11 | 控制随机初始化、数据 shuffle 的种子。固定种子可让实验结果可复现;需要多次独立实验对比时可改变种子。 | | 训练轮数(Epoch) | 100 | 完整遍历数据集的次数。<br>· 数据集小(<1000张):50~100 epoch 通常足够<br>· 数据集中等(1000~5000张):100~200 epoch<br>· 数据集大(>5000张):200~300 epoch<br>**建议**:观察 loss 曲线,若后期验证 loss 不再下降甚至上升(过拟合),可提前停止。 | | 批次大小(BatchSize) | 3 | 每次迭代送入网络的图片数。**显存占用与BatchSize线性相关**。<br>· 4GB 显存:batch=1~2<br>· 6~8GB 显存:batch=2~4<br>· 11~12GB 显存:batch=4~8<br>· 24GB 以上:batch=8~32<br>出现 `CUDA out of memory` 时调小此值。 | | 线程数(Workers) | 0 | 数据加载的子线程数。`0` 表示在主线程加载(Windows下推荐0,避免多进程问题)。若CPU核心多且I/O快,可设为2~4加速数据读取。 | | 输入尺寸 | 512 | 图片送入网络前被 resize 的边长(32 的倍数)。<br>· 小目标多:增大至 640 或 800(显存占用随尺寸²增长)<br>· 大目标/简单场景:416 即可,速度更快<br>显示"Image Size:[N,N]",N = `缩放系数 × 32`。 | | 最大学习率(Init_lr) | 1e-2 | 训练初期的学习率上限。**学习率过大**会导致 loss 震荡甚至发散(出现 NaN),**过小**会收敛极慢。<br>· 带预训练权重微调:1e-3 ~ 1e-2<br>· 从头训练:1e-2 ~ 1e-1(需配合warmup)<br>· BatchSize 增大时可适当增大学习率(线性缩放规则) | | 最小学习率(Min_lr) | 1e-4 | 学习率衰减的下限,通常设为最大学习率的 1%~10%。训练后期用小学习率精细调整权重。 | | 数据集划分比例 | 0.9 | 训练集占全部数据的比例,剩余部分作为验证集。推荐 0.8~0.9。验证集用于监控过拟合、计算 mAP。 | ### 5.5 增量训练 > **什么是增量训练?** 勾选"增量训练"后,训练将从该模型上次保存的 `last_epoch_weights.pth` 继续训练,而**不是从预训练权重重新开始**。适用于: > - 上次训练被中断,需要继续训练 > - 已有训练好的模型,新增了数据继续微调 | 场景 | 行为 | | --- | --- | | 首次训练(无历史权重) | 若勾选增量训练但 weights 目录下无 `last_epoch_weights.pth` 和 `best_epoch_weights.pth`,程序会自动回退到预训练权重,并在日志中输出警告信息。 | | 正常续训 | 优先加载 `last_epoch_weights.pth`;若不存在则尝试 `best_epoch_weights.pth`。 | | 切换模型列表 | 切换时不会覆盖增量训练路径,参数保持不变。 | > **注意**:增量训练时**不要更换模型规模**(如把小型改为大型),否则权重结构不匹配会加载失败。 ### 5.6 数据增强("数据增强"按钮) 点击"数据增强"按钮打开数据增强配置面板,合理的数据增强可以显著提升模型泛化能力,防止过拟合。 | 增强方式 | 说明 | | --- | --- | | Mosaic | 将4张图片随机拼接成一张,增加小目标、密集场景的鲁棒性。 | | MixUp | 将两张图片按透明度混合,提升抗干扰能力。 | | 旋转 | 随机旋转图片(仅 OBB 模型建议开启,水平框模型不建议大角度旋转)。 | | 水平翻转 | 随机水平镜像,对大多数检测/分类任务都推荐开启。 | | 垂直翻转 | 随机垂直镜像,适用于无方向性的场景(如工业缺陷检测),自然场景慎用。 | | 亮度/色彩抖动 | 随机调整亮度、对比度、饱和度,应对不同光照环境。 | > **建议**:新手可保持默认配置;小数据集可适当增大增强概率,大数据集/高精度场景下弱增强即可。 ### 5.7 高级参数 点击"高级参数"展开更多配置项,包含优化器选择、权重衰减、学习率策略、mosaic关闭epoch、损失函数权重等,适合有调参经验的用户。 ### 5.8 训练控制按钮 | 按钮 | 说明 | | --- | --- | | **训练** | 保存当前 yaml 配置并启动训练进程。启动时若检测到正在运行的训练进程会先终止旧进程。 | | **结束** | 终止当前训练进程。**注意**:权重会保存到最后一个 epoch 完成的状态,直接终止可能丢失最后几个迭代。 | | **推理** | 使用当前模型权重对图片/视频进行推理测试(需训练完成)。 | | `<>` | 展开/收起高级参数面板。 | ## 六、训练监控 - **Loss 曲线**:实时显示训练 loss、验证 loss 变化趋势。train loss 应稳定下降,val loss 若持续上升说明过拟合。 - **mAP 曲线**:验证集平均精度(mean Average Precision),目标检测最核心的评价指标,越高越好。 - **进度条**:显示当前 epoch / 总 epoch。 - **日志区**:输出训练过程的详细信息,遇到错误请查看日志末尾的错误提示。 ## 七、常见问题(FAQ) ### Q1: 启动训练报错 `CUDA out of memory` 怎么办? - 减小 **BatchSize**(最有效) - 减小 **输入尺寸**(如 640 -> 416) - 关闭 **混合精度** 后如果仍不够,换更小的模型规模 - 关闭其他占用显存的程序 ### Q2: 训练时 loss 变成 NaN 了? - 学习率过大,调小 **最大学习率**(如 1e-2 -> 1e-3) - 关闭**混合精度(fp16)**再试 - 检查标注数据中是否有错误的标注(如空框、坐标越界) ### Q3: 切换训练列表时参数会变化吗? **不会。** 切换模型时会自动保存当前模型所有参数到 yaml,再加载目标模型的配置,参数不会丢失或被篡改。 ### Q4: 增量训练从哪里加载权重? 优先加载 `workspace/weights/last_epoch_weights.pth`,若不存在则尝试 `best_epoch_weights.pth`,两者都不存在则回退到预训练权重并警告。 ### Q5: 训练好的模型在哪里? 每个模型的权重保存在 `<工程目录>/models/<模型名>/workspace/weights/` 下: - `last_epoch_weights.pth`:最后一个 epoch 的权重(用于续训) - `best_epoch_weights.pth`:验证集 mAP 最高的权重(**推荐用于部署**) ### Q6: 如何多模型并行训练? 在训练列表中添加多个模型,分别配置参数后,当前版本同一时间只支持一个训练进程运行(点击训练会先终止旧进程)。如需并行训练请打开多个软件实例。 ## 八、版本信息 版本:**v1.0.0** 支持模型:YOLOX(目标检测)、YOLOv7-OBB(旋转目标检测)、ResNet(图像分类) > **提示**:本文档会随软件更新持续完善。如发现 bug 或有功能建议,请联系开发团队。
杨红利
2026年10月19日 17:21
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码