PhenixVision机器视觉毕设项目:QT+Opencv+深度学习

PhenixVision机器视觉毕设项目:QT+Opencv+深度学习-周旋机器视觉工作室
PhenixVision机器视觉毕设项目
此内容为付费资源,请付费后查看
RMB1
限时特惠
RMB49.9
代码PhenixVision项目的完整、全部代码以及文档
付费资源
已售 591

00

感谢大家学习这个项目,PhenixVision项目是我本科大四时的毕设项目。作为一个机械专业的学生,画三张A0大图的毕设任务量于我是苦不堪言,所以借着大四去公司实习的机会,我申请了这个由自己主导的机器视觉相关的毕业设计,并且完成的很成功。在完成毕设时,我将PhenixVision毕设项目做成了视频发布在BiliBili,也收获了不错的反响:

我将项目整理为四个文件夹,文件树如下:

项目结构

  • doc:存放了该项目的解析文档和帮助指南

  • executable:存放了该项目打包好的可执行文件exe,可以直接运行查看效果

  • src:存放项目源码,包含两个:

    1. caps_mobileNet_classification:深度学习瓶盖分类算法

    2. PhenixVision:QT上位机软件

  • testImage:存放了五张用于测试的瓶盖缺陷图片

  • README.md

该项目代码均有注释,且代码量并不大,文件也不多。希望可以帮助各位对机器视觉或者计算机视觉感兴趣的同学,完成由小白到入门的过程,学习该项目大家直接点击右侧购买即可。

一、搭建机器视觉上位机界面

1、无边框黑色系皮肤

参考Github开源项目

https://github.com/Jorgen-VikingGod/Qt-Frameless-Window-DarkStyle

1

2、程序主界面UI设计

用到的控件:

  • 菜单栏、工具栏:利用QAction来添加选项操作列表

  • Qlabel:显示图像

  • QTabWidget:进行日志输出以及配置参数展示

  • QlistWidget:算法列表

  • QStackedWidget:栈窗口存放子算法列表

6

3、图像处理流程框架

多线程同步,生产者消费者模型,基于QT实现的单生产者单消费者线程同步模型,图像缓存队列为10。

2

4、日志输出管理器

日志的输出参考文章:《Qt 日志 QDebug 输出至文件》https://blog.csdn.net/weixin_37204973/article/details/82530713

5、添加图标进行美化

图标直接去阿里的矢量图标库进行搜索查找就可以了

https://www.iconfont.cn/

6、调用Opencv基础算法API

使用Opencv包进行简单图像处理算法展示 添加opencv包,直接调用算法API即可,涉及QImage与cv::Mat图像之间的格式转换,直接CSDN一个就可以了。

7、工业相机接口

简略的学习了一下海康工业相机SDK二次开发,只CV了一些代码,没有测试也不能使用。

如果想接入工业相机需要单独学习一下相机官方的SDK文档。

二、加入深度学习算法

1、数据集制作

7

数据集根据现场图片集进行分类并重命名处理,并按1:9分为测试集和训练集,一共有六类。

8

2、模型选择

瓶盖缺陷可以采用目标检测算法,对每一类缺陷进行检测,也可以采用分类算法,根据可能产生的缺陷类别进行分类预测。

毕设采用分类模型,选取小巧高效的MobileNet_V2作为训练模型。选取pytorch作为框架。

9

3、模型训练与测试

数据集共674张,采用EPOCH = 10,BATCH_SIZE = 8,学习率LR = 0.01 进行训练。

达到的效果最好,可以到达预测准确率100%。

acc

loss

4、模型保存

将训练好的pytorch模型参数保存为pth模型文件,再由pth模型参数文件转为onnx格式,方便进行下一步的推理部署。

10

5、QT+opencv进行模型推理部署

opencv版本为4.5.5,通过opencv的DNN模块可以直接读取onnx模型文件,然后对图像进行预处理并输入模型进行预测即可。预测准确率100%。

6、效果展示

opencv与QT相结合,可以实现对相机或文件及下的图像进行读取、识别预测、结果展示、日志输出等演示。

12

© 版权声明
THE END
喜欢就支持一下吧
点赞21 分享
评论 共2条
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码