You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
ppwocqyrj 8ebe1db8f1
Update readme.md
4 years ago
imgs '项目提交' 4 years ago
models '项目提交' 4 years ago
tools '项目提交' 4 years ago
utils '项目提交' 4 years ago
.gitignore '项目提交' 4 years ago
MainWindow.py '项目提交' 4 years ago
autosave.jpg '项目提交' 4 years ago
best.pt '项目提交' 4 years ago
buffer.jpg '项目提交' 4 years ago
cam.py '项目提交' 4 years ago
detect_ecnu.py '项目提交' 4 years ago
export.py '项目提交' 4 years ago
flower.png '项目提交' 4 years ago
main.py '项目提交' 4 years ago
maskhelper.yaml '项目提交' 4 years ago
noise.py '项目提交' 4 years ago
operation.py '项目提交' 4 years ago
readme.md Update readme.md 4 years ago
requirements.txt ADD file via upload 4 years ago
sharp.py '项目提交' 4 years ago
simhei.ttf '项目提交' 4 years ago
smooth.py '项目提交' 4 years ago
train.py '项目提交' 4 years ago

readme.md

banner

Author方逸寒 孙仲业 (按姓氏排名)

功能介绍

图像基本操作 图像平滑 边缘处理 进阶处理
亮度调整
平移操作
旋转
翻转
缩放
对比度调整
色度直方图
均值滤波
高斯滤波
中值滤波
双边滤波
Prewitt算子
Sobel算子
Laplacian算子
Log算子
Canny算子
基于摄像头的拍照功能
基于深度学习的口罩分类识别
口罩贴印花功能

使用说明:

界面简介软件的UI分为三大部分顶部的工具栏以大图标按钮的形式列举了多个常用功能,分别是

打开文件保存文件开启/关闭摄像头拍照开启/关闭口罩识别口罩印花暂存文件

右侧的属性栏包括了基本的图像属性和处理操作

中间的主组件显示当前的图片预览

0.0 使用该软件需根据requirements文件中的需求安装相关依赖其中torch版本取决于电脑硬件

0.1 打开软件后,需要等待一段时间,此时后台会加载赋能口罩识别的神经网络模型,过程需要几秒

①打开文件:点击工具栏的第一个图标为文件夹的按钮,即可在资源管理器中选取图片打开

②图像基本操作:打开图片后在属性栏可以进行各种操作,每次操作完成后需单击工具栏偏右侧的暂存按钮,否则接下来的操作将在原图基础上操作

③摄像头相关功能打开摄像头后可以激活拍照和口罩识别的按钮在摄像头开启状态下开启口罩识别软件会自动识别图像中的医用外科口罩和N95口罩并分类标注在开启识别的状态下进行拍照可对照片进行贴印花操作点击贴印花按钮即可贴印花

④自动保存功能当打开摄像头或开启新文件时若原先的操作尚未保存至硬盘系统会自动保存至根目录下的autosave.jpg

技术栈

UI界面 图像处理 人工智能 辅助库
PyQT OpenCV
PIL
CUDA (训练环境)
Pytorch
YOLOv5算法
matplotlib>=3.2.2
numpy>=1.18.5
Pillow>=7.1.2
PyYAML>=5.3.1
requests>=2.23.0
scipy>=1.4.1
tqdmprotobuf

目录架构

项目根目录

ROOT │ best.pt 训练完的模型 │ cam.py 前期调试图像识别函数的脚本 │ detect_ecnu.py 改良后的实时目标检测函数 │ export.py YOLO依赖 │ flower.png 印花原图 │ main.py 程序入口 │ main.spec YOLO依赖 │ MainWindow.py 主窗口UI和事件函数 │ maskhelper.yaml 自定义数据集的定义 │ noise.py 加噪声函数库 │ operation.py 基本操作函数 │ requirements.txt 项目依赖库 │ sharp.py 锐化函数 │ simhei.ttf 字体 │ smooth.py 平滑函数 │ train.py 模型训练函数 │ ├─imgs 图标文件 │ ├─models YOLO模型 │ ├─tools 手写的用于数据集批处理的脚本 │ convertTxt.py │ resize.py │ split.py │ └─utils

功能实现

图像的基本操作使用openCV库和课程知识完成

图形界面依靠PyQT强大的组件库和信号、槽等功能

口罩分类识别功能选取YOLOv5算法前期一共拍摄353张不同人物、不同品牌颜色的医用外科口罩和N95口罩收集完成后使用脚本(resize.py)将其缩小为600*800的较小尺寸并以序列号格式重命名接下来使用LabelImg添加标签并导出为VOC格式数据集使用脚本导出YOLO需要的txt标签文件进行训练。

YOLO的detect功能经过改良实现了返回标签名称和识别框坐标的功能不会在图片本身进行操作此外使用面向对象方法将模型的导入和使用功能分开确保只需导入一次模型即可实时识别图像提高效率

分工

UI界面和神经网络的训练及调用由方逸寒完成

图像处理的全部功能函数实现由孙仲业完成