计算机视觉基于深度学习yolov11智能农业检测杂草检测数据集9257张图像,YOLOv11n,智慧农业,植保检测,田间杂草识别,PyQt5界面,实时检测,检测结果保存,计算机视觉,农林智能监测

📅 2026/7/18 4:08:33
计算机视觉基于深度学习yolov11智能农业检测杂草检测数据集9257张图像,YOLOv11n,智慧农业,植保检测,田间杂草识别,PyQt5界面,实时检测,检测结果保存,计算机视觉,农林智能监测
智能农业检测杂草检测数据集9257张yolo和voc两种标注方式8类标注数量shameplant - 含羞草2711crab - grass - 马唐草1336nut - grass - 香附子1581asthma - plant - 千根草1589hagonoy - 藿香蓟 2480goatweed - 豚草1466dog - s - tongue - 狗舌草1540beggars - tick - 鬼针草1424image num - 图像数量9257一、数据集参数表项目详情数据集名称杂草检测数据集图像总数9257张标注格式YOLO、VOC 双格式标注类别数量8类shameplant含羞草标注数2711crab-grass马唐草标注数1336nut-grass香附子标注数1581asthma-plant千根草标注数1589hagonoy藿香蓟标注数2480goatweed豚草标注数1466dog-s-tongue狗舌草标注数1540beggars-tick鬼针草标注数1424训练模型YOLOv11n训练轮次50 epoch运行环境Python3.8、opencv-python、PyQt5、torch配套文件1.完整数据集图像、YOLO-txt、VOC-xml、yaml配置文件2.全套训练测试代码3.Qt界面全套资源.ui、.qrc、图标、源码4.训练完成权重文件界面功能支持图片、视频、摄像头实时检测实时展示目标位置、总数、置信度支持检测结果保存配置环境即可直接运行.模型代码提供全部训练及测试源代码模型训练使用yolov11n训练50个epoch训练结果map如描述图所示。.qt界面运行界面采用pyqt5编写 提供全部源代码支持图片、视频及摄像头进行检测: 界面可实时显示目标位置、目标总数、置信度等信息: 支持检测结果保存;本项目已经训练好模型配置好环境后可直接使用运行效果见描述图像系统环境python3.8 opencv-python PyQt5 torch文件1.完整的数据集文件包括图像yolo格式的txt文件、yaml文件voc格式的xml文件等2.完整程序文件.py等3.qt界面源文件、图标.ui、.qrc、.py等杂草检测数据集二、环境安装命令pipinstallopencv-python PyQt5 torch ultralytics三、数据集配置文件weed_detect.yamlpath:./weed_datasettrain:images/trainval:images/valnc:8names:[shameplant,crab-grass,nut-grass,asthma-plant,hagonoy,goatweed,dog-s-tongue,beggars-tick]四、YOLOv11n 训练代码fromultralyticsimportYOLOif__name____main__:# 加载预训练模型modelYOLO(yolov11n.pt)# 模型训练train_resultsmodel.train(dataweed_detect.yaml,epochs50,imgsz640,batch12,device0,workers4,projectweed_detection,nameyolov11n_weed,patience10,augmentTrue,hsv_h0.015,hsv_s0.7,hsv_v0.4,fliplr0.5,flipud0.2,mosaic1.0)# 模型精度验证metricsmodel.val()print(fmAP0.5:{metrics.box.map50:.3f})print(fmAP0.5-0.95:{metrics.box.map:.3f})# 单图测试model.predict(test.jpg,saveTrue,conf0.25)五、测试推理代码fromultralyticsimportYOLOimportos# 加载训练权重modelYOLO(best.pt)save_dir./detect_resultifnotos.path.exists(save_dir):os.makedirs(save_dir)# 图片推理并保存结果resultsmodel.predict(test.jpg,conf0.25,saveTrue,save_dirsave_dir)total_num0forresinresults:forboxinres.boxes:total_num1cls_idint(box.cls[0])conffloat(box.conf[0])x1,y1,x2,y2map(int,box.xyxy[0])cls_namemodel.names[cls_id]print(f杂草种类{cls_name}| 置信度{conf:.2f}| 坐标{x1},{y1},{x2},{y2})print(f本次检测杂草总数{total_num})六、PyQt5 可视化界面完整代码支持结果保存fromPyQt5.QtWidgetsimportQApplication,QMainWindow,QFileDialogfromPyQt5.uicimportloadUifromultralyticsimportYOLOimportcv2importsysimportosfromdatetimeimportdatetimeclassWeedDetectUI(QMainWindow):def__init__(self):super().__init__()loadUi(weed_ui.ui,self)self.modelYOLO(best.pt)self.save_path./ui_detect_resultifnotos.path.exists(self.save_path):os.makedirs(self.save_path)# 绑定按钮事件self.btn_img.clicked.connect(self.detect_image)self.btn_video.clicked.connect(self.detect_video)self.btn_camera.clicked.connect(self.detect_camera)defdetect_image(self):path,_QFileDialog.getOpenFileName()ifpath:resultsself.model(path,conf0.25,saveTrue,save_dirself.save_path)self.show_info(results)defdetect_video(self):path,_QFileDialog.getOpenFileName()ifpath:capcv2.VideoCapture(path)whilecap.isOpened():ret,framecap.read()ifnotret:breakresultsself.model(frame,conf0.25)self.show_info(results)cv2.waitKey(1)cap.release()defdetect_camera(self):capcv2.VideoCapture(0)whilecap.isOpened():ret,framecap.read()ifnotret:breakresultsself.model(frame,conf0.25)self.show_info(results)cv2.waitKey(1)cap.release()defshow_info(self,results):total0time_strdatetime.now().strftime(%Y%m%d%H%M%S)forresinresults:forboxinres.boxes:total1x1,y1,x2,y2map(int,box.xyxy[0])cls_idxint(box.cls[0])conffloat(box.conf[0])nameself.model.names[cls_idx]print(f类别{name}置信度{conf:.2f}位置{x1},{y1},{x2},{y2})print(f当前画面杂草总数{total}结果已保存至{self.save_path}\\{time_str}\n)if__name____main__:appQApplication(sys.argv)windowWeedDetectUI()window.show()sys.exit(app.exec_())七、应用场景智慧农业田间巡检农田、果园自动化识别各类杂草辅助精准除草作业。农机智能作业搭配除草机器人、植保设备实现靶向除草减少农药滥用。农林科研统计统计田间杂草品类、分布与数量用于农业生态研究。园区绿化管护公园、苗圃、绿化带杂草智能识别提升养护效率。山地/荒地植被监测野外区域杂草种类普查与生态环境监测。