深度学习框架目标检测算法中如何使用YOLOv8训练苹果叶片病害检测数据集,识别苹果叶片出现的链格孢病’, ‘健康叶片’, ‘早期褐斑病’, ‘晚期褐斑病’, ‘白粉病’等
2026/6/17 10:01:48 网站建设 项目流程

深度学习框架目标检测算法中如何使用YOLOv8训练苹果叶片病害检测数据集,识别苹果叶片出现的链格孢病’, ‘健康叶片’, ‘早期褐斑病’, ‘晚期褐斑病’, '白粉病’等

文章目录

      • 1. 安装依赖
      • 2. 准备数据集
      • 3. 配置YOLOv8
        • 3.1 加载预训练模型或自定义模型
      • 4. 训练模型
      • 5. 评估模型
      • 6. 构建GUI应用程序(可选)![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/c3c5566a29004bf29e52faf0ccd39eb3.png)
      • 运行代码

以下文字及代码仅供参考。

病虫害检测 苹果叶片病害检测数据集 2100张 苹果叶片图片 带标注voc yolo
1

分类名图片张数标注个数
leaf_ unhealthy13431445
disease-rust7492979
disease-apple scab3541064
disease-Marssonina blotch4292229
leaf_ healthy7101307
unknown348376
disease-black rot141281
disease- Alternaria leaf spot111238
总数21159919
总类(nc)8 类

1

使用YOLOv8训练苹果叶片病害检测数据集,我们将经历以下步骤:安装依赖、准备数据集、配置YOLOv8、模型训练和评估、GUI应用程序来展示检测结果。

1. 安装依赖

首先确保你的环境中已经安装了必要的库。这里我们主要需要PyTorch和Ultralytics的YOLOv8实现。

pipinstalltorch torchvision torchaudio# 根据需要选择适合的版本pipinstallultralytics opencv-python

2. 准备数据集

假设你已经下载并解压了苹果叶片病害检测数据集,并且它包含了YOLO格式的标注文件。确保数据集结构如下:

apple_leaf_disease/ ├── images/ │ ├── train/ │ ├── val/ │ └── test/ └── labels/ ├── train/ ├── val/ └── test/

创建一个data.yaml文件来定义数据集路径和类别信息。根据提供的信息,这个数据集似乎没有明确提到具体的类别名称,自行确定或从数据集中提取类别名称。假设这里有3种病害类别:

备注:8类如此一样。

train:./apple_leaf_disease/images/train/val:./apple_leaf_disease/images/val/nc:3# 类别数量names:['disease1','disease2','disease3']# 替换为实际的病害名称

3. 配置YOLOv8

3.1 加载预训练模型或自定义模型

你可以选择加载YOLOv8的预训练模型开始训练,或者根据自己的需求定义模型架构。

fromultralyticsimportYOLO# 加载预训练的YOLOv8n模型model=YOLO('yolov8n.yaml')# 或者 'yolov8n.pt' 如果你想从预训练权重开始

4. 训练模型

接下来,使用定义好的data.yaml文件开始训练。

# 开始训练results=model.train(data='path/to/data.yaml',epochs=100,imgsz=640,batch=16)
  • epochs: 设置训练轮数。
  • imgsz: 输入图像的尺寸。
  • batch: 每批次图像的数量。

5. 评估模型

训练完成后,可以在验证集上评估模型性能。

# 在验证集上评估模型性能metrics=model.val()print(f"Validation mAP:{metrics.box.map}")

6. 构建GUI应用程序(可选)

提供一个简单的PyQt5 GUI示例,用于展示YOLOv8的检测结果。

首先,确保安装了PyQt5。

pipinstallPyQt5

然后,编写以下代码来构建GUI。

importsysfromPyQt5.QtWidgetsimportQApplication,QLabel,QVBoxLayout,QWidget,QPushButton,QFileDialogfromPyQt5.QtGuiimportQPixmap,QImageimportcv2importnumpyasnpfromultralyticsimportYOLOclassAppDemo(QWidget):def__init__(self):super().__init__()self.setWindowTitle('YOLOv8 Apple Leaf Disease Detection')self.setGeometry(100,100,800,600)self.image_label=QLabel(self)self.button=QPushButton("Load Image",self)self.button.clicked.connect(self.load_image)vbox=QVBoxLayout()vbox.addWidget(self.image_label)vbox.addWidget(self.button)self.setLayout(vbox)self.model=YOLO('path/to/your/best.pt')# 使用训练好的模型defload_image(self):fname,_=QFileDialog.getOpenFileName(self,'Open file','c:\\',"Image files (*.jpg *.png)")iffname:self.show_image(fname)defshow_image(self,image_path):results=self.model.predict(source=image_path)img=cv2.imread(image_path)forrinresults:forboxinr.boxes.xyxy:x1,y1,x2,y2=map(int,box)cv2.rectangle(img,(x1,y1),(x2,y2),(0,255,0),2)height,width,channel=img.shape bytes_per_line=3*width q_img=QImage(img.data,width,height,bytes_per_line,QImage.Format_RGB888).rgbSwapped()pixmap=QPixmap.fromImage(q_img)self.image_label.setPixmap(pixmap)if__name__=='__main__':app=QApplication(sys.argv)demo=AppDemo()demo.show()sys.exit(app.exec_())

运行代码

确保所有路径都是正确的,并根据需要调整参数。以下是完整的运行步骤:

  1. 安装依赖

    pipinstalltorch torchvision torchaudio pipinstallultralytics opencv-python pipinstallPyQt5
  2. 准备数据集

    • 确保数据集结构正确。
    • 创建data.yaml文件。
  3. 配置YOLOv8

    fromultralyticsimportYOLO model=YOLO('yolov8n.yaml')# 或者 'yolov8n.pt'
  4. 训练模型

    results=model.train(data='path/to/data.yaml',epochs=100,imgsz=640,batch=16)
  5. 评估模型

    metrics=model.val()print(f"Validation mAP:{metrics.box.map}")
  6. 构建GUI应用程序

    # 上述提供的GUI代码

具体的数据集类别名称需要根据实际情况替换到data.yaml文件中。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询