基于YOLOv9的六类水稻害虫智能检测与识别系统——通过PYQT构建多功能UI界面与数据集应用
基于YOLOv9的水稻害虫检测系统 包含 [brown-planthopper, green-leafhopper, leaf-folder, rice-bug, stem-borer, whorl-maggot] 6个类 中文翻译【褐飞虱、绿叶蝉、叶蝉、稻虱、螟虫、轮蛆】 通过PYQT构建UI界面包含图片检测视频检测摄像头实时检测。 该系统可以根据数据训练出的yolov9的权重文件运用在其他检测系统上如火焰检测口罩检测等等可以根据检测目标更改UI界面。 该数据集也可用于训练YOLOv5 YOLOv8 YOLOv10稻田里的虫害防治就像打地鼠游戏稍不留神害虫就能让收成大减。这次咱们用YOLOv9整了个智能虫害检测系统手机拍张照就能识别六种常见害虫。先看个实战效果——当摄像头对准稻叶系统立马框出绿色小框标注绿叶蝉准确率比老农的肉眼还稳。![系统界面截图]技术栈组合拳系统后端用YOLOv9的c版本权重推理速度在GTX1060上能跑到45FPS。前端采用PyQt5搭建三栏式布局左边参数设置区中间视频流显示右边结果统计表格。这里有个布局的小技巧self.main_layout QHBoxLayout() self.left_panel QVBoxLayout() self.right_panel QVBoxLayout() # 视频流区域占60%宽度 self.video_label QLabel() self.video_label.setMinimumSize(640, 480) self.main_layout.addWidget(self.video_label, 60) # 功能按钮垂直排列 self.btn_camera QPushButton(摄像头检测) self.left_panel.addWidget(self.btn_camera)检测核心代码揭秘模型加载环节用了动态切换权重设计方便后期扩展。预处理部分特别针对昆虫小目标做了优化def detect_image(self, img): # 自适应缩放保持长宽比 h, w img.shape[:2] scale min(640 / h, 640 / w) resized cv2.resize(img, (int(w*scale), int(h*scale))) # 推理部分 results self.model(resized, augmentTrue) # 启用TTA增强 pred results.pandas().xyxy[0] # 后处理过滤小目标 valid_boxes [row for _,row in pred.iterrows() if (row[xmax]-row[xmin])*scale 20]这里有个骚操作——在推理时开启Test Time AugmentationTTA相当于让模型从多个角度观察疑点区域。实测使whorl-maggot轮蛆这种卷叶内的小目标识别率提升了12%。基于YOLOv9的水稻害虫检测系统 包含 [brown-planthopper, green-leafhopper, leaf-folder, rice-bug, stem-borer, whorl-maggot] 6个类 中文翻译【褐飞虱、绿叶蝉、叶蝉、稻虱、螟虫、轮蛆】 通过PYQT构建UI界面包含图片检测视频检测摄像头实时检测。 该系统可以根据数据训练出的yolov9的权重文件运用在其他检测系统上如火焰检测口罩检测等等可以根据检测目标更改UI界面。 该数据集也可用于训练YOLOv5 YOLOv8 YOLOv10扩展实战指南想改成口罩检测三步到位准备口罩数据集打标签修改classes.py里的类别列表把训练好的best.pt扔进weights文件夹视频流处理模块采用OpenCV的VideoCapture多线程方案防止界面卡死class VideoThread(QThread): frame_signal pyqtSignal(np.ndarray) def run(self): cap cv2.VideoCapture(0) while self.running: ret, frame cap.read() if ret: self.frame_signal.emit(frame)数据集彩蛋虽然项目主打YOLOv9但数据集其实兼容YOLO全系列。我们做了三个版本增强基础版常规旋转/裁剪专家版添加叶片遮挡模拟地狱版混合雾天/夜间数据训练时建议开启Mosaic和MixUp这对绿叶蝉与褐飞虱的区分特别有效。有个坑要注意稻虱和叶蝉的幼虫阶段很像需要在标注时用不同颜色区分腹部纹路。项目里还藏了个实用功能——按F12可以直接导出当前画面的检测报告生成PDF包含虫害位置统计图和防治建议。这个用PyQt的QPrinter模块实现代码在utils/export.py里藏着。最后说个冷知识系统在江苏某试验田实测时误把洒农药的无人机认成稻虱后来在训练集里加了200张无人机图片才解决。所以啊AI防治虫害这事关键还是数据和场景要够接地气。