news 2026/5/22 12:10:04

智慧农业-田地大白菜检测数据集 + YOLOv11 完整检测系统

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
智慧农业-田地大白菜检测数据集 + YOLOv11 完整检测系统

智慧农业-田地大白菜检测数据集】txt格式|3类叶面识别|3961张高清农田图片

数据集亮点:
✅ 3961张大白菜高清图片,真实农田场景采集
✅ txt格式标注,兼容YOLO等框架
✅ 3类叶面状态检测

数据集规格:

  1. 标注格式:txt

  2. 类别标签及中文意思:
    0: cabbage —— 大白菜(健康叶片)
    1: capitata —— 结球状态(正常生长)
    2: damaged —— 受损叶片(病害/虫害)

  3. 数据划分:
    训练集:2772张(70%)
    验证集:792张(20%)
    测试集:397张(10%)

田地大白菜检测数据集 + YOLOv11 完整检测系统


一、大白菜检测数据集 标准信息表

1. 基础信息

项目详情
数据集名称农田大白菜目标检测数据集
总图片数3961 张(真实农田实拍)
标注格式YOLO TXT 格式
数据划分训练集 2772 张 / 验证集 792 张 / 测试集 397 张
类别数量3 类
适用模型YOLOv8 / YOLOv11 / YOLOv12 / 其他YOLO系列
应用场景智慧农业、作物长势监测、病虫害识别、产量预估

2. 类别标签说明

类别ID英文标签中文标签农业意义
0cabbage大白菜(健康叶片)识别健康植株整体
1capitata结球状态表示大白菜进入包心期,正常生长
2damaged受损叶片识别病害、虫害、机械损伤的叶片

3. 标准目录结构(直接训练)

cabbage_dataset/ ├── images/ │ ├── train/ # 2772张 │ ├── val/ # 792张 │ └── test/ # 397张 └── labels/ ├── train/ *.txt ├── val/ *.txt └── test/ *.txt

二、YOLOv11 配置文件cabbage.yaml

path:./cabbage_datasettrain:images/trainval:images/valtest:images/testnc:3names:0:cabbage1:capitata2:damaged

三、YOLOv11 训练代码(农田场景优化)

train_cabbage.py

fromultralyticsimportYOLOimporttorchif__name__=="__main__":# 加载模型,推荐用n/s版,兼顾速度与精度model=YOLO("yolo11n.pt")# 农田场景训练参数优化results=model.train(data="cabbage.yaml",epochs=150,imgsz=640,batch=16,device=0iftorch.cuda.is_available()else"cpu",lr0=0.01,lrf=0.01,warmup_epochs=3,cos_lr=True,patience=15,augment=True,mosaic=1.0,mixup=0.1,hsv_h=0.015,hsv_s=0.7,hsv_v=0.4,degrees=15,fliplr=0.5,scale=0.5,name="cabbage_detection",cache=True,amp=True)# 测试集评估model.val(split="test")

四、可视化检测系统(图片/视频检测 + 统计界面)

cabbage_gui.py
功能:

  • 支持图片/视频/摄像头实时检测
  • 显示各类别数量统计
  • 一键保存检测结果
  • 适配农田场景的界面设计
importsysimportcv2importnumpyasnpfromPyQt5.QtWidgetsimport*fromPyQt5.QtCoreimport*fromPyQt5.QtGuiimport*fromultralyticsimportYOLOclassCabbageDetectWindow(QMainWindow):def__init__(self):super().__init__()self.setWindowTitle("农田大白菜检测系统")self.setFixedSize(1200,750)self.model=YOLO("best.pt")self.init_ui()self.cap=Noneself.timer=QTimer()self.timer.timeout.connect(self.update_frame)definit_ui(self):central_widget=QWidget()self.setCentralWidget(central_widget)main_layout=QHBoxLayout(central_widget)# 图像显示区self.img_label=QLabel()self.img_label.setStyleSheet("background-color:#f0f0f0;")self.img_label.setAlignment(Qt.AlignCenter)main_layout.addWidget(self.img_label,stretch=3)# 控制面板control_widget=QWidget()control_layout=QVBoxLayout(control_widget)main_layout.addWidget(control_widget,stretch=1)# 功能按钮self.btn_open_img=QPushButton("选择图片")self.btn_open_video=QPushButton("选择视频")self.btn_open_camera=QPushButton("打开摄像头")self.btn_stop=QPushButton("停止")self.btn_save=QPushButton("保存结果")# 统计信息self.result_info=QLabel("检测结果:\n等待检测...")control_layout.addWidget(self.btn_open_img)control_layout.addWidget(self.btn_open_video)control_layout.addWidget(self.btn_open_camera)control_layout.addWidget(self.btn_stop)control_layout.addWidget(self.btn_save)control_layout.addWidget(self.result_info)# 信号连接self.btn_open_img.clicked.connect(self.open_image)self.btn_open_video.clicked.connect(self.open_video)self.btn_open_camera.clicked.connect(self.open_camera)self.btn_stop.clicked.connect(self.stop_all)self.btn_save.clicked.connect(self.save_result)self.result_img=Nonedefopen_image(self):path,_=QFileDialog.getOpenFileName(self,"选择图片","","图片文件 (*.png *.jpg *.jpeg)")ifpath:img=cv2.imread(path)self.detect_and_show(img)defopen_video(self):path,_=QFileDialog.getOpenFileName(self,"选择视频","","视频文件 (*.mp4 *.avi)")ifpath:self.cap=cv2.VideoCapture(path)self.timer.start(30)defopen_camera(self):self.cap=cv2.VideoCapture(0)self.timer.start(30)defupdate_frame(self):ret,frame=self.cap.read()ifnotret:self.timer.stop()returnself.detect_and_show(frame)defdetect_and_show(self,img):results=self.model(img,conf=0.25)show_img=results[0].plot()# 统计各类别数量count={"cabbage":0,"capitata":0,"damaged":0}forboxinresults[0].boxes:cls_id=int(box.cls)name=results[0].names[cls_id]count[name]+=1info="检测结果:\n"info+=f"大白菜(健康):{count['cabbage']}株\n"info+=f"结球状态:{count['capitata']}株\n"info+=f"受损叶片:{count['damaged']}株\n"self.result_info.setText(info)# 显示show_img=cv2.cvtColor(show_img,cv2.COLOR_BGR2RGB)h,w,ch=show_img.shape q_img=QImage(show_img.data,w,h,ch*w,QImage.Format_RGB888)self.img_label.setPixmap(QPixmap.fromImage(q_img).scaled(self.img_label.size(),Qt.KeepAspectRatio))self.result_img=show_imgdefstop_all(self):self.timer.stop()ifself.cap:self.cap.release()defsave_result(self):ifself.result_imgisnotNone:cv2.imwrite("cabbage_result.jpg",cv2.cvtColor(self.result_img,cv2.COLOR_RGB2BGR))QMessageBox.information(self,"提示","结果保存成功!")if__name__=="__main__":app=QApplication(sys.argv)window=CabbageDetectWindow()window.show()sys.exit(app.exec_())

五、一键运行命令

  1. 安装依赖
pipinstallultralytics opencv-python pyqt5
  1. 训练模型
python train_cabbage.py
  1. 启动检测系统
python cabbage_gui.py

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/22 12:10:03

KMS_VL_ALL_AIO:Windows与Office批量激活的智能解决方案

KMS_VL_ALL_AIO:Windows与Office批量激活的智能解决方案 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 在Windows和Office激活管理的复杂世界里,你是否经常遇到这些问题…

作者头像 李华
网站建设 2026/5/22 12:10:01

明日方舟智能基建管理工具:彻底解放双手的自动化解决方案

明日方舟智能基建管理工具:彻底解放双手的自动化解决方案 【免费下载链接】arknights-mower 《明日方舟》长草助手 项目地址: https://gitcode.com/gh_mirrors/ar/arknights-mower 还在为《明日方舟》繁琐的基建操作而烦恼吗?每天花费大量时间手动…

作者头像 李华
网站建设 2026/5/22 12:08:02

OpenPLC Editor:5分钟掌握工业自动化编程的终极开源解决方案

OpenPLC Editor:5分钟掌握工业自动化编程的终极开源解决方案 【免费下载链接】OpenPLC_Editor 项目地址: https://gitcode.com/gh_mirrors/ope/OpenPLC_Editor OpenPLC Editor是一款完全免费开源的工业自动化编程工具,基于Beremiz项目构建&#…

作者头像 李华
网站建设 2026/5/22 12:07:01

告别SEGW!在ADT(Eclipse)里一站式搞定SAP CDS开发与Fiori发布

一站式SAP CDS开发与Fiori发布:基于Eclipse的高效实践 在SAP技术栈中,CDS(Core Data Services)已成为现代ABAP开发的核心组件,而Fiori则是构建企业级用户体验的标准框架。传统开发流程中,开发者需要在SAP G…

作者头像 李华
网站建设 2026/5/22 12:02:05

中兴光猫工厂模式终极解锁指南:3分钟开启Telnet完全控制

中兴光猫工厂模式终极解锁指南:3分钟开启Telnet完全控制 【免费下载链接】zteOnu A tool that can open ZTE onu device factory mode 项目地址: https://gitcode.com/gh_mirrors/zt/zteOnu 你是否曾被中兴光猫的权限限制所困扰?想要进行深度网络…

作者头像 李华