赞
踩
YOLOv8是一种前沿的目标检测技术,它基于先前YOLO版本在目标检测任务上的成功,进一步提升了性能和灵活性,在精度和速度方面都具有尖端性能。在之前YOLO 版本的基础上,YOLOv8 引入了新的功能和优化,使其成为广泛应用中各种物体检测任务的理想选择。主要的创新点包括一个新的骨干网络、一个新的 Ancher-Free 检测头和一个新的损失函数,可以在从 CPU 到 GPU 的各种硬件平台上运行。YOLO各版本性能对比:
每个模型的准确率如下:
开源网址:https://github.com/ultralytics/ultralytics
PyQt5 的官网链接:https://riverbankcomputing.com/news
当然也可以在 Python 这里查看教程:https://pythonspot.com/pyqt5/
PyQt5 有两种安装方式,一种是从官网下载源码安装,另外一种是使用 pip 安装。
#1、安装 PyQt5
pip install PyQt5 -i https://pypi.douban.com/simple
#2、安装 PyQt5-tools
pip install PyQt5-tools -i https://pypi.douban.com/simple
注:这里有个需要注意的地方,PyQt5 版本的不同,安装成功之后,PyQt5 相关文件夹以及目录也会存在一些差异。Mac平台或者其他平台自行百度
该数据集于2024年4月26日格林尼治时间上午8:56通过roboflow.com导出 Roboflow是一个端到端计算机视觉平台,可以帮助您 *在计算机视觉项目上与你的团队合作 *收集和组织图像 *理解和搜索非结构化图像数据 注释和创建数据集 *导出、训练和部署计算机视觉模型 随着时间的推移,使用主动学习来改进你的数据集 对于最先进的计算机视觉训练笔记本,您可以使用此数据集,请访问https://github.com/roboflow/notebooks 要查找超过10万个其他数据集和预训练模型,请访问https://universe.roboflow.com 该数据集包括5699张图像。 pv面板以YOLOv8面向对象检测格式注释。 对每张图像进行如下预处理: 未使用图像增强技术。 由Roboflow用户提供 许可:CC BY 4.0
图片数据的存放格式如下,在项目目录中新建datasets目录,同时将检测的图片分为训练集与验证集放入Data目录下。
同时我们需要新建一个data.yaml文件,用于存储训练数据的路径及模型需要进行检测的类别。YOLOv8在进行模型训练时,会读取该文件的信息,用于进行模型的训练与验证。data.yaml的具体内容如下:
#path: ../datasets/roboflow
train: D:\Solar Panels\Solar Panels\Solar Panels\datasets\image_chips\train\images
val: D:\Solar Panels\Solar Panels\Solar Panels\datasets\image_chips\test\images
test: D:\Solar Panels\Solar Panels\Solar Panels\datasets\image_chips\train\images
# number of classes
nc: 1
# Classes
names: ['panels' ]
注:train与val后面表示需要训练图片的路径,建议直接写自己文件的绝对路径。
数据准备完成后,通过调用train.py文件进行模型训练,epochs参数用于调整训练的轮数,batch参数用于调整训练的批次大小【根据内存大小调整,最小为1】,代码如下:
#coding:utf-8
from ultralytics import YOLO
# 加载模型
model = YOLO("yolov8n.pt") # 加载预训练模型
# Use the model
if __name__ == '__main__':
# Use the model
results = model.train(data='D:\Solar Panels\Solar Panels\Solar Panels\datasets\image_chips\data.yaml', epochs=250, batch=4) # 训练模型
在深度学习中,我们通常用损失函数下降的曲线来观察模型训练的情况。YOLOv8在训练时主要包含三个方面的损失:定位损失(box_loss)、分类损失(cls_loss)和动态特征损失(dfl_loss),在训练结束后,可以在runs/目录下找到训练过程及结果文件,如下所示:
本文训练结果如下:
常用PR曲线来体现精确率和召回率的关系,本文训练结果的PR曲线如下。mAP表示Precision和Recall作为两轴作图后围成的面积,m表示平均,@后面的数表示判定iou为正负样本的阈值。mAP@.5:表示阈值大于0.5的平均mAP,可以看到本文模型目标检测的mAP@0.5值为0.987,结果还是不错的。
以上便是博主开发的基于YOLOV8+Pyqt5无人机航拍太阳能电池板检测系统的部分内容,由于博主能力有限,难免有疏漏之处,希望小伙伴能批评指正。关于本篇文章大家有任何建议或意见,欢迎在评论区留言交流!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。