工业视觉图像标注与模型训练工具(Qt 桌面软件)产品系统

我要开发同款
云亲2026年10月14日
5阅读

技术信息

语言技术
C++、Python、QT
系统类型
Windows
行业分类
人工智能

作品详情

行业场景

制造业质检、缺陷检测(发霉、划痕、裂纹)等场景,工厂需要针对自己的产品训练专用视觉模型,但现有流程普遍割裂:标注用一个工具、训练靠命令行、导出部署又是另一套脚本,工程师要来回切换;且标注需求多样——找目标位置、有角度的目标、精确轮廓、关键点、裂纹线段各不相同,单一标注工具往往只支持一两种;数据集划分、格式转换、导出选权重也容易出错。本项目立项,就是把"标注 → 训练 → 导出"整合进一个桌面工具:一个界面内完成五种几何标注(可同图混用)+ 整图标签 + 文本 + 状态位,自动生成数据集并按 8:2 分层划分,调用本机 Python 训练模型,一键导出 ONNX 并可加密。面向工业缺陷检测、目标检测/分割/关键点、整图分类等场景,让不熟悉命令行的工程师也能自己训出可用模型。

功能介绍

固定三页结构。 ① 标注工作区 :导入文件夹/单张图片,五种标注(矩形框 / 旋转 OBB 框 / 多边形 / 点 / 线段) 在同一张图上混用 ;选中、拖动、手柄缩放旋转、双击增删顶点、应用到选中、全选、删除、撤销重做;支持 整图标签 (勾选类别行,用于整图分类、正常-异常)、每条标注的 文本 (OCR 行内容/编号/备注)与 状态位 (忽略/难例/遮挡);类别管理(自定义 ID、名称、颜色);原图只读、坐标自动归一化(缩放平移不影响精度);约 1 秒自动保存,`photo.jpg ↔ photo.txt` 同名对应,类别存`classes.json` 。 ② 训练配置页 :Python 自动检测/手动指定/版本检测与依赖缺失提示;数据集目录选择;模型/任务下拉(YOLOv8 检测 / OBB 旋转检测 / 实例分割 / 关键点、裂纹线段检测、整图分类、文本行检测、RT-DETR,FasterRCNN 预留);训练参数(imgsz / epochs / batch / device);生成数据集(8:2 分层)、开始/停止训练、实时日志;导出 ONNX(只导当前任务的权重)、加密模型 / 解密模型、打开输出目录。 ③ 使用说明页 :渲染外置 Markdown 文档(左侧文件列表 + 右侧正文),可改、可重新加载,加文件按前缀排序, 不用重编译 。此外产物统一外置到`_work/` ,不污染素材目录。

项目实现

我负责前端(Qt)、后端(Python)与数据契约的完整设计与实现。技术栈:C++17 + Qt 6.8(Widgets / Gui,基于 QGraphicsView 自绘标注图元)+ CMake;后端为 Python(ultralytics / torch / onnx),由 QProcess 调用本机解释器;模型加解密复用工程内 core 的 CryptoUtil(ChaCha20 + HMAC)。亮点与难点:① 前后端解耦 ——AI 模型的差异全部收敛在后端脚本,模型/任务下拉由`tasks.json` 驱动、前后端共用同一份清单,因此加模型、加任务、改文案、调顺序都 无需改 Qt ;② 唯一数据契约 ——行式文本标注格式(一行一条、坐标归一化 0~1、文本引号包裹、flags 仅允许 ignore/difficult/occluded),前端写、后端读,逐字段对齐;③ 五种几何与整图标签、文本、状态位 同图混合 ,几何编辑(手柄、双击增删顶点、撤销重做把整图标签一并纳入历史);④ 坐标归一化使缩放平移不影响标注精度,原图只读、标注独立成文件;⑤ 数据集 8:2 分层划分 (优先保证验证集含目标)并按任务转换为 YOLO 检测 / OBB / 分割 / 关键点 / 分类(ImageFolder)标准格式;⑥ 导出 只认当前任务的权重 (权重查找 + 任务校验),杜绝"拿别的任务模型顶替";⑦ 工程化打磨——产物外置可删可重建、不会被"导入文件夹"误收,启动期逐页 try/catch 容错,脚本与文档外置部署、可热改免编译。

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论