目录
关于TensorFlow深度学习的卷积神经网络的岩石图像识别
成功训练后根目录下会产生一个run的文件夹,里面就存有训练好的模型
关于TensorFlow深度学习的卷积神经网络的岩石图像识别
一、案例简述
针对煤矸石分选的问题,提出一种基于深度学习的目标检测算法替代人工选矸,为后续开发自动选矸机器人提供视觉依据。由于矸石样本数量有限,各个地区矸石特征不一,没有统一标准大数量样本集,为不影响深度卷积网络训练精度,提出一种基于卷积生成对抗网络(DCGAN)的煤矸石图像数据扩充方法,建立有效的监督样本集进行训练。通过模型训练实验发现,基础YOLOv8的深度学习网络存在针对小块煤矸石漏检与误检的缺陷,通过算法克服小块煤矸石漏检的缺陷。通过实验测试得出,改进后的YOLOv8能够对小块煤矸石检测,同时也能够提高目标检测模型的整体检测精度,准确率可达98%以上,完全可以替代人工检测
在本博文中,我们提出了一种基于深度学习的煤矸石检测与识别系统,该系统采用YOLOv8算法对煤矸石进行检测和识别,实现对图片中的煤矸石进行准确识别。
1.项目需求
对煤矸石进行检测与识别,系统将识别出图片中的克服小块煤矸石漏检的缺陷。
2.项目实现
通过调研,本项目最终使用yolov8模型作为目标检测的模型, YOLOv8 旨在快速、准确且易于使用,使其成为广泛的物体检测、图像分割和图像分类任务的极佳选择。
二、项目实现过程
1.数据集
- 数据集来源:百度
- 数据集格式:图片格式jpg,大小3091张
- 煤矸石数据集及训练的模型有3091张图片和txt标签,标签类别两类:“coal”、“rock”。
2.项目运行的环境
- 语言环境:python3.9
- 编辑器:pycharm
- 深度学习环境:tensorflow2
3.关于YOLOv8
- YOLOv8 概述
YOLOv8 算法的核心特性和改动可以归结为如下:
1.提供了一个全新的 SOTA 模型,包括 P5 640 和 P6 1280 分辨率的目标检测网络和基于 YOLACT 的实例分割模型。和 YOLOv5 一样,基于缩放系数也提供了 N/S/M/L/X 尺度的不同大小模型,用于满足不同场景需求
2.骨干网络和 Neck 部分可能参考了 YOLOv7 ELAN 设计思想,将 YOLOv5 的 C3 结构换成了梯度流更丰富的 C2f 结构,并对不同尺度模型调整了不同的通道数,属于对模型结构精心微调,不再是无脑一套参数应用所有模型,大幅提升了模型性能。不过这个 C2f 模块中存在 Split 等操作对特定硬件部署没有之前那么友好了
3.Head 部分相比 YOLOv5 改动较大,换成了目前主流的解耦头结构,将分类和检测头分离,同时也从 Anchor-Based 换成了 Anchor-Free
4.Loss 计算方面采用了 TaskAlignedAssigner 正样本分配策略,并引入了 Distribution Focal Loss
- Yolov8网络结构图和创新点改进图
Yolov8网络结构图
创新点改进图
4.YOLOv8环境配置
- 语言环境:python3.9
- 编辑器:pycharm
- 深度学习环境:tensorflow2
- yolo检测网络包括24个卷积层和2个全连接层,其中,卷积层用来提取图像特征,全连接层用来预测图像位置和类别概率值。
(1)创建一个虚拟环境
首先去自己的anaconda的安装的envs(虚拟环境),在导航栏输入cmd,进入命令窗口,确保python>=