ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

智慧农业 基于 YOLOv11 稻田水稻杂草检测系统 稻田水稻杂草检测数据集

智慧农业 基于 YOLOv11 稻田水稻杂草检测系统 稻田水稻杂草检测数据集 基于 YOLOv11 稻田水稻杂草检测系统 稻田水稻杂草检测数据集1004张yolovoccoco三种标注方式图像尺寸:480*640类别数量:2类训练集图像数量:703; 验证集图像数量:201 测试集图像数量:100类别名称: 每一类图像数 每一类标注数rice: 995,28182weed: 983,7676image num: 1004模型代码采用 YOLOv11n 网络训练训练轮次80 个 epoch提供全部训练 测试源代码训练精度 mAP 效果如图所示PyQt5 界面功能基于YOLOv11稻田水稻杂草检测系统完整代码1. 数据集yaml配置文件 rice_weed.yaml# 类别names:0:rice1:weednc:2# 数据集路径自行修改为本地路径path:./rice_weed_datasettrain:images/trainval:images/valtest:images/test2. 模型训练代码 train.pyfromultralyticsimportYOLOif__name____main__:# 加载YOLOv11模型modelYOLO(yolo11n.pt)# 开始训练resultsmodel.train(datarice_weed.yaml,epochs100,imgsz640,batch8,device0,workers0,patience15,saveTrue,projectruns/train,namerice_weed_yolo11)print(训练完成)3. PyQt可视化推理GUI代码 gui.py系统主界面importsysimportcv2fromPyQt5.QtWidgetsimport(QApplication,QMainWindow,QPushButton,QLabel,QFileDialog,QTableWidget,QTableWidgetItem,QComboBox,QSpinBox,QHeaderView)fromPyQt5.QtGuiimportQImage,QPixmapfromPyQt5.QtCoreimportQtfromultralyticsimportYOLOclassRiceWeedDetectWindow(QMainWindow):def__init__(self):super().__init__()self.setWindowTitle(基于YOLOv11的稻田水稻杂草检测系统)self.setGeometry(100,100,1200,800)self.modelYOLO(./runs/train/rice_weed_yolo11/weights/best.pt)self.imgNoneself.img_path# 控件self.label_imgQLabel(图像显示区域)self.label_img.setFixedSize(800,600)self.btn_imgQPushButton(导入图片)self.btn_img.clicked.connect(self.load_image)self.btn_videoQPushButton(导入视频)self.btn_camQPushButton(开启摄像头)self.btn_saveQPushButton(保存结果)self.btn_exitQPushButton(退出)self.btn_exit.clicked.connect(self.close)self.combo_classQComboBox()self.combo_class.addItems([全部,rice,weed])self.spin_confQSpinBox()self.spin_conf.setRange(0,100)self.spin_conf.setValue(50)self.tableQTableWidget()self.table.setColumnCount(5)self.table.setHorizontalHeaderLabels([序号,文件路径,类别,置信度,坐标])self.table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)defload_image(self):path,_QFileDialog.getOpenFileName(self,打开图片,.,Image(*.jpg *.png *.jpeg))ifnotpath:returnself.img_pathpath self.imgcv2.imread(path)self.infer()definfer(self):confself.spin_conf.value()/100resself.model(self.img,confconf)[0]img_drawres.plot()img_rgbcv2.cvtColor(img_draw,cv2.COLOR_BGR2RGB)h,w,cimg_rgb.shape qimgQImage(img_rgb.data,w,h,w*c,QImage.Format_RGB888)self.label_img.setPixmap(QPixmap.fromImage(qimg).scaled(self.label_img.size(),Qt.KeepAspectRatio))# 填充表格self.table.setRowCount(0)foridx,boxinenumerate(res.boxes):clsself.model.names[int(box.cls)]conffloat(box.conf)xyxy[round(x.item())forxinbox.xyxy[0]]self.table.insertRow(idx)self.table.setItem(idx,0,QTableWidgetItem(str(idx1)))self.table.setItem(idx,1,QTableWidgetItem(self.img_path))self.table.setItem(idx,2,QTableWidgetItem(cls))self.table.setItem(idx,3,QTableWidgetItem(f{conf:.2f}))self.table.setItem(idx,4,QTableWidgetItem(f{xyxy}))if__name____main__:appQApplication(sys.argv)winRiceWeedDetectWindow()win.show()sys.exit(app.exec_())4. 环境安装命令pipinstallultralytics opencv-python pyqt5 torch torchvision功能说明支持图片、视频、摄像头实时稻田图像检测识别rice水稻、weed杂草两类目标可视化绘制检测框类别置信度检测结果表格展示序号、文件路径、类别、置信度、目标坐标置信度阈值可调支持结果保存
返回列表