当前位置: 首页 > news >正文

智能农业检测无人机视角水稻稻穗检测数据集智慧农业水稻稻穗检测、无人机农田巡检、稻穗计数、农作物目标检测、智慧农业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_())


http://www.jsqmd.com/news/1220206/

相关文章:

  • 如何快速掌握Joplin:隐私优先的跨平台笔记应用完整指南
  • 如何快速集成GKNavigationBarViewController?3步实现导航栏联动效果
  • 2026年面试鸭开源题库系统完全指南:从零搭建到高效应用
  • 株洲防水修缮优选|筑宅安99.5高分五星品牌,专治梅雨季各类漏水难题 - 筑宅安
  • 揭秘三大虚拟定位技术:如何让iOS设备实现精准位置模拟
  • 2026西安江诗丹顿回收行情:全套附件比裸表高出两成以上,易奢福无损鉴定守护每枚时计价值 - 易奢福
  • 国内玻璃水滑道主流承建厂家盘点与参考 - 互联网科技品牌测评
  • 【2026年】通风柜自动门系统如何实现节能增效?技术与经济性双重分析
  • Obsidian Image Toolkit:如何快速解决Obsidian图片查看痛点的高效工具
  • 技术深度解析:reinstall 系统部署工具与自动化运维方案
  • 猫抓Cat-Catch:释放网页资源潜力的终极浏览器扩展解决方案
  • 船体烟火AI检测,智慧港口防爆监控设备
  • Windows 11系统优化终极指南:使用Win11Debloat一键清理预装软件和隐私追踪
  • NACIS(NAICS)与 GB/T4754-2017 行业转换对照表
  • Win11Debloat:为什么你的Windows 11需要一次彻底的“数字瘦身“?
  • 亨得利官方钟表服务中心|电话和完整地址权威信息公告(2026年7月更新) - 亨得利官方博客
  • u8g2_wqy嵌入式中文显示终极指南:5步实现专业级OLED中文界面
  • 084、白平衡算法全栈:灰度世界、完美反射、色温估计与AI AWB的融合方案
  • 2026玉溪靠谱防水公司TOP3推荐:卫生间免砸砖防水、楼顶渗漏、暴雨应急抢修 - 吉林同城获客
  • MM 学习笔记 02:miavl.h AVL 树与初始化流程
  • 51单片机 day2 (模块化编程与lcd1602调试工具)
  • 广州黄金回收哪家靠谱|6 家门店真实排名 - 广州二奢大本营
  • 实战指南:在ARM架构设备上部署多系统启动环境
  • USB/IP for Windows 深度解析:跨平台USB设备网络共享完整指南
  • 问卷互填平台横向评测:问卷星、腾讯问卷、球球问卷怎么选?|实战避坑指南 毕业论文、课程调研、市场预研,问卷做好了却没人填?这篇评测帮你少走弯路。
  • 2026马鞍山电大中专报名入口_马鞍山电大中专报名条件 - 我叫小周
  • 带全流程回转寿司设备问答 - 全域品牌推荐
  • 亨得利官方钟表服务中心|服务热线及全部官方地址权威信息公示(2026年7月最新) - 亨得利官方
  • 程序员誓言Programmer‘s Oath:建立更人性化技术的10个步骤
  • MySQL锁机制深度精讲,行锁、表锁、意向锁、间隙锁、临键锁、死锁原理与线上死锁排查方案全覆盖