航拍挖机检测数据集 yolo检测模型 航拍挖机检测系统界面 深度学习基于YOLOV11航拍挖机检测系统
航拍挖机检测数据集 yolo检测模型 航拍挖机检测系统界面航拍挖机检测数据集4092张图像yolovoccoco三种标注方式图像尺寸:1080*1920类别数量:1类训练集图像数量:3584; 验证集图像数量:381 测试集图像数量:127类别名称: 每一类图像数 每一类标注数0-挖机: 3877,5182image num: 4092模型代码采用 YOLOv11n 网络训练训练轮次80 个 epoch提供训练好的yolo11n模型全部训练 测试源代码训练精度 mAP 效果如图所示PyQt5 界面功能界面使用 PyQt5 开发提供全部源码.ui、.qrc、.py 及图标文件支持图片检测、视频检测、摄像头实时检测界面实时显示目标位置、目标总数、置信度等信息支持检测结果保存导出操作简单直观无需命令行4、运行环境Python3.8、opencv-python、PyQt5、torch支持 Windows、Linux 系统# 航拍挖机检测数据集数据集信息总表项目参数数据集名称航拍挖机检测数据集总图像数量4092张图像尺寸1080 × 1920标注格式YOLO、VOC、COCO类别数量1类训练集3584张验证集381张测试集127张类别分布表类别ID类别英文类别中文含该类图像数标注框总数0excavator挖机38775182数据集标签关键词标签挖机、挖掘机、航拍工程机械关键词航拍挖机检测、工地无人机巡检、YOLOv11目标检测、工程机械识别、智慧工地应用场景智慧工地无人机航拍巡检自动识别施工现场挖掘机统计工程机械数量工地土方作业监控违规施工挖机识别、越界作业告警国土遥感航拍非法开挖、盗采土方的挖机自动识别预警毕业设计、科研算法训练验证航拍小目标检测研究工地AI监控平台图片/视频/实时摄像头画面挖机自动检测1. data.yaml 数据集配置文件path:./excavator_datasettrain:images/trainval:images/valtest:images/testnames:0:excavator2. YOLOv11n 训练代码fromultralyticsimportYOLO# 加载预训练权重modelYOLO(yolo11n.pt)# 开始训练resultsmodel.train(datadata.yaml,epochs80,imgsz640,batch8,device0,workers2,projectexcavator_detect,nameyolo11n_excavator,conf0.25)# 模型验证输出mAP指标metricsmodel.val()print(fmAP0.5 {metrics.box.map50:.4f})# 单张图片推理测试model.predict(test.jpg,saveTrue,conf0.3)# 导出ONNX用于部署model.export(formatonnx)3. PyQt5 航拍挖机检测GUI界面完整代码importsysimportcv2fromPyQt5.QtWidgetsimport(QApplication,QMainWindow,QPushButton,QLabel,QFileDialog,QTableWidget,QTableWidgetItem,QComboBox)fromPyQt5.QtGuiimportQImage,QPixmapfromPyQt5.QtCoreimportQtfromultralyticsimportYOLOclassExcavatorDetectUI(QMainWindow):def__init__(self):super().__init__()self.setWindowTitle(基于YOLOv11的航拍挖机检测系统)self.resize(1250,980)# 加载训练完成的模型权重self.modelYOLO(runs/excavator_detect/yolo11n_excavator/weights/best.pt)self.init_ui()definit_ui(self):# 图片展示Labelself.label_imgQLabel(图像显示区域,self)self.label_img.setGeometry(20,80,820,620)self.label_img.setStyleSheet(border:1px solid #999)# 按钮self.btn_imgQPushButton(图片检测,self)self.btn_img.move(870,80)self.btn_img.clicked.connect(self.detect_image)self.btn_videoQPushButton(视频检测,self)self.btn_video.move(870,130)self.btn_camQPushButton(摄像头检测,self)self.btn_cam.move(870,180)# 结果信息面板self.label_infoQLabel(检测结果,self)self.label_info.setGeometry(870,240,300,300)# 结果表格self.tableQTableWidget(self)self.table.setGeometry(20,730,1150,200)self.table.setColumnCount(5)self.table.setHorizontalHeaderLabels([序号,文件路径,类别,置信度,坐标])defdetect_image(self):file_path,_QFileDialog.getOpenFileName(self,选择图片,.,图片(*.jpg *.png *.jpeg))ifnotfile_path:returnresself.model(file_path,conf0.3)img_plotres[0].plot()img_rgbcv2.cvtColor(img_plot,cv2.COLOR_BGR2RGB)h,w,cimg_rgb.shape qimgQImage(img_rgb.data,w,h,c*w,QImage.Format_RGB888)self.label_img.setPixmap(QPixmap.fromImage(qimg).scaled(self.label_img.size(),Qt.KeepAspectRatio))# 解析检测框信息boxesres[0].boxes total_numlen(boxes)info_textf目标总数{total_num}self.label_info.setText(info_text)self.table.setRowCount(total_num)foridx,boxinenumerate(boxes):conffloat(box.conf[0])xyxybox.xyxy[0].cpu().numpy()cls_idint(box.cls[0])self.table.setItem(idx,0,QTableWidgetItem(str(idx1)))self.table.setItem(idx,1,QTableWidgetItem(file_path))self.table.setItem(idx,2,QTableWidgetItem(挖机))self.table.setItem(idx,3,QTableWidgetItem(f{conf:.2f}))self.table.setItem(idx,4,QTableWidgetItem(f{xyxy.round(2)}))if__name____main__:appQApplication(sys.argv)winExcavatorDetectUI()win.show()sys.exit(app.exec_())环境依赖python3.8 torch ultralytics opencv-python pyqt5 numpy