news 2026/7/19 14:09:42

智能农业检测无人机视角水稻稻穗检测数据集智慧农业水稻稻穗检测、无人机农田巡检、稻穗计数、农作物目标检测、智慧农业YOLOv11n稻穗检测、无人机航拍农业数据、密集小目标检测、PyQt5农业检测界面

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
智能农业检测无人机视角水稻稻穗检测数据集智慧农业水稻稻穗检测、无人机农田巡检、稻穗计数、农作物目标检测、智慧农业YOLOv11n稻穗检测、无人机航拍农业数据、密集小目标检测、PyQt5农业检测界面

智能农业检测无人机视角水稻稻穗检测数据集,6049张,yolo和voc两种标注方式
1类,标注数量:
Rice-Panicle: 117848
image num: 6049

模型代码
采用 YOLOv11n 网络训练
训练轮次:80 个 epoch
提供全部训练 + 测试源代码
训练精度 mAP 效果如图所示

PyQt5 界面功能
界面使用 PyQt5 开发,提供全部源码(.ui、.qrc、.py 及图标文件)
支持图片检测、视频检测、摄像头实时检测
界面实时显示:目标位置、目标总数、置信度等信息
支持检测结果保存导出
操作简单直观,无需命令行

一、数据集信息表格

1.1 基础信息汇总

项目详情
数据集名称无人机视角水稻稻穗检测数据集
总图像数量6049 张
标注格式YOLO、VOC 双格式
类别总数1 类
总标注框数量117848
训练模型YOLOv11n
训练轮次80 epoch

1.2 类别明细

序号英文类别中文类别标注总数
0Rice-Panicle水稻稻穗117848

1.3 YOLO 类别列表

names=["Rice-Panicle"]





二、应用场景

  1. 农田无人机巡检:航拍影像自动统计稻穗数量,估测水稻产量。
  2. 智慧农业监测:田间长势分析、稻穗分布统计,辅助农事管理。
  3. 农作物视觉算法研发:小目标、密集目标检测模型训练、学术研究与竞赛。
  4. 智能农机配套:结合视觉设备实现田间实时稻穗识别、长势筛查。
  5. 离线数据分析:搭配PyQt界面批量处理航拍图片,保存检测结果用于农情研判。

三、环境依赖与完整代码

3.1 环境安装命令

pipinstallultralytics torch opencv-python PyQt5 numpy

3.2 数据集配置文件rice.yaml

path:./rice_datasettrain:images/trainval:images/valtest:images/testnc:1names:0:Rice-Panicle

3.3 数据集目录结构

rice_dataset/ ├── images/ │ ├── train/ │ ├── val/ │ └── test/ ├── labels/ # YOLO txt 标注 │ ├── train/ │ ├── val/ │ └── test/ ├── voc_labels/ # VOC xml 标注 └── rice.yaml

3.4 训练代码train_rice.py

fromultralyticsimportYOLOdeftrain_rice_panicle():# 加载轻量化 YOLOv11nmodel=YOLO("yolov11n.yaml")model.train(data="rice.yaml",epochs=80,imgsz=640,batch=12,device="cpu",# 有GPU改为 device=0workers=4,patience=15,amp=True,mosaic=1.0,project="runs/train",name="rice_panicle_det",exist_ok=True)print("训练完成,权重路径:runs/train/rice_panicle_det/weights")if__name__=="__main__":train_rice_panicle()

3.5 测试推理代码test_rice.py

fromultralyticsimportYOLO# 加载训练好的最优权重model=YOLO("runs/train/rice_panicle_det/weights/best.pt")if__name__=="__main__":# 单张图片检测res=model("test.jpg",save=True,conf=0.25)# 批量图片检测# res = model("./test_images/", save=True, conf=0.25)# 视频检测# res = model("test.mp4", save=True, conf=0.25)# 摄像头实时检测# res = model(0, save=True, conf=0.25)print("推理测试完成")

四、PyQt5 可视化界面完整源码rice_ui.py

importsysimportcv2importosfromPyQt5.QtWidgetsimport(QApplication,QMainWindow,QPushButton,QLabel,QFileDialog,QTextEdit,QVBoxLayout,QWidget,QHBoxLayout)fromPyQt5.QtGuiimportQImage,QPixmapfromPyQt5.QtCoreimportQt,QThread,pyqtSignalfromultralyticsimportYOLO# 子线程推理,防止界面卡顿classDetectThread(QThread):frame_signal=pyqtSignal(object)log_signal=pyqtSignal(str)def__init__(self,model,source,save_path):super().__init__()self.model=model self.source=source self.save_path=save_path self.is_running=Truedefrun(self):os.makedirs(self.save_path,exist_ok=True)cap=cv2.VideoCapture(self.source)idx=0whileself.is_running:ret,frame=cap.read()ifnotret:breakresults=self.model(frame,conf=0.25)draw_frame=results[0].plot()total_num=len(results[0].boxes)conf_list=[f"{float(box.conf[0]):.2f}"forboxinresults[0].boxes]log_text=f"稻穗总数:{total_num}\n置信度列表:{conf_list}"self.frame_signal.emit(draw_frame)self.log_signal.emit(log_text)cv2.imwrite(f"{self.save_path}/res_{idx}.jpg",draw_frame)idx+=1cap.release()defstop_thread(self):self.is_running=False# 主界面classRiceDetectUI(QMainWindow):def__init__(self):super().__init__()self.setWindowTitle("水稻稻穗检测系统")self.resize(1280,800)# 加载模型self.model=YOLO("runs/train/rice_panicle_det/weights/best.pt")self.detect_thread=Noneself.result_dir="./detect_result"# 整体布局main_widget=QWidget()self.setCentralWidget(main_widget)main_layout=QHBoxLayout(main_widget)# 图像显示区域self.display_label=QLabel()self.display_label.setStyleSheet("background-color: #222222;")self.display_label.setAlignment(Qt.AlignCenter)main_layout.addWidget(self.display_label,3)# 右侧控制面板ctrl_widget=QWidget()ctrl_layout=QVBoxLayout(ctrl_widget)self.btn_img=QPushButton("图片检测")self.btn_video=QPushButton("视频检测")self.btn_camera=QPushButton("摄像头检测")self.btn_stop=QPushButton("停止检测")self.log_text=QTextEdit()self.log_text.setReadOnly(True)# 绑定事件self.btn_img.clicked.connect(self.detect_image)self.btn_video.clicked.connect(self.detect_video)self.btn_camera.clicked.connect(self.detect_camera)self.btn_stop.clicked.connect(self.stop_detect)ctrl_layout.addWidget(self.btn_img)ctrl_layout.addWidget(self.btn_video)ctrl_layout.addWidget(self.btn_camera)ctrl_layout.addWidget(self.btn_stop)ctrl_layout.addWidget(QLabel("检测信息日志"))ctrl_layout.addWidget(self.log_text)main_layout.addWidget(ctrl_widget,1)defshow_frame(self,frame):rgb_img=cv2.cvtColor(frame,cv2.COLOR_BGR2RGB)h,w,ch=rgb_img.shape bytes_line=ch*w q_img=QImage(rgb_img.data,w,h,bytes_line,QImage.Format_RGB888)self.display_label.setPixmap(QPixmap.fromImage(q_img).scaled(self.display_label.size(),Qt.KeepAspectRatio))defadd_log(self,text):self.log_text.append(text)defstart_detect(self,source):self.stop_detect()self.detect_thread=DetectThread(self.model,source,self.result_dir)self.detect_thread.frame_signal.connect(self.show_frame)self.detect_thread.log_signal.connect(self.add_log)self.detect_thread.start()defdetect_image(self):file_path,_=QFileDialog.getOpenFileName(self,"选择图片","","图片文件 (*.jpg *.png *.jpeg)")ifnotfile_path:returnimg=cv2.imread(file_path)res=self.model(img,conf=0.25)draw_img=res[0].plot()self.show_frame(draw_img)total=len(res[0].boxes)confs=[f"{float(b.conf[0]):.2f}"forbinres[0].boxes]log=f"图片检测完成\n稻穗总数:{total}\n置信度:{confs}"self.add_log(log)os.makedirs(self.result_dir,exist_ok=True)cv2.imwrite(f"{self.result_dir}/img_result.jpg",draw_img)defdetect_video(self):file_path,_=QFileDialog.getOpenFileName(self,"选择视频","","视频文件 (*.mp4 *.avi)")iffile_path:self.start_detect(file_path)defdetect_camera(self):self.start_detect(0)defstop_detect(self):ifself.detect_threadandself.detect_thread.isRunning():self.detect_thread.stop_thread()self.detect_thread.quit()self.detect_thread.wait()defcloseEvent(self,event):self.stop_detect()event.accept()if__name__=="__main__":app=QApplication(sys.argv)ui=RiceDetectUI()ui.show()sys.exit(app.exec_())


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

MR-D02 多组分气液混合动态配气仪 —— 计量院标准气体配制专属解决方案

MR-D02 多组分气液混合动态配气仪 —— 计量院标准气体配制专属解决方案一、 方案概述针对计量院在标准气体配制、仪器校准及方法验证中对高精度、高稳定性、易操作及多组分兼容的严苛要求,北京明尼特环保设备有限公司(Airppb)特别推出 MR-D0…

作者头像 李华
网站建设 2026/7/19 14:07:06

5分钟掌握ZonyLrcToolsX:智能歌词下载的终极解决方案

5分钟掌握ZonyLrcToolsX:智能歌词下载的终极解决方案 【免费下载链接】ZonyLrcToolsX ZonyLrcToolsX 是一个能够方便地下载歌词的小软件。 项目地址: https://gitcode.com/gh_mirrors/zo/ZonyLrcToolsX 你是否曾经花费数小时为音乐库中的歌曲手动搜索歌词&am…

作者头像 李华
网站建设 2026/7/19 14:05:54

GTA5终极安全增强菜单:YimMenu全方位使用指南

GTA5终极安全增强菜单:YimMenu全方位使用指南 【免费下载链接】YimMenu YimMenu, a GTA V menu protecting against a wide ranges of the public crashes and improving the overall experience. 项目地址: https://gitcode.com/GitHub_Trending/yi/YimMenu …

作者头像 李华
网站建设 2026/7/19 14:04:55

Lyric-Getter规则文件详解:如何自定义歌词获取逻辑

Lyric-Getter规则文件详解:如何自定义歌词获取逻辑 【免费下载链接】Lyric-Getter Lyric Getter | 酒域-歌词获取 项目地址: https://gitcode.com/gh_mirrors/ly/Lyric-Getter Lyric-Getter是一款强大的歌词获取工具,通过规则文件可以灵活配置不同…

作者头像 李华
网站建设 2026/7/19 14:04:15

您的Awesome列表标题

您的Awesome列表标题 【免费下载链接】awesome-lint Linter for Awesome lists 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-lint ### 错误类型:unordered-list-marker-style(列表标记样式) **错误信息**:Marker …

作者头像 李华