基于YOLOv11的道路护栏实例分割系统 道路护栏实例分割数据集 yolo分割模型 实例分割系统界面
基于YOLOv11的道路护栏实例分割系统 道路护栏实例分割数据集 yolo分割模型 实例分割系统界面道路护栏实例分割数据集1779张yolovoccoco三种标注方式数据集统计信息图像尺寸:640*640类别数量: 1 类训练集图像:1525; 验证集图像:198; 测试集图像:56总图像数: 1779类别分布:类别名称 | 包含该类别的图像数 | 总标注数guardrail | 1769 | 3295模型代码提供训练好的模型模型训练使用yolov11n-seg训练80个epoch训练结果map如描述图所示。qt界面运行界面采用pyqt5编写本项目已经训练好模型配置好环境后可直接使用运行效果见描述图像基于YOLOv11的道路护栏实例分割系统完整代码1、数据集配置文件 guardrail_seg.yamlpath:./guardrail_datasettrain:images/trainval:images/valtest:images/testnames:0:guardrail2、模型训练代码 train.pyfromultralyticsimportYOLOif__name____main__:# 加载YOLOv11实例分割预训练权重modelYOLO(yolo11n-seg.pt)resultsmodel.train(dataguardrail_seg.yaml,epochs80,imgsz640,batch8,device0,pretrainedTrue,patience10)print(训练完成权重保存在runs/segment/train/weights/best.pt)3、单图分割推理代码 predict.pyfromultralyticsimportYOLOimportcv2importnumpyasnp modelYOLO(runs/segment/train/weights/best.pt)defseg_image(img_path):imgcv2.imread(img_path)resmodel(img,conf0.25)forrinres:boxesr.boxes masksr.masksifmasksisnotNone:masksmasks.data.cpu().numpy()forseg,boxinzip(masks,boxes):segseg.astype(np.uint8)# 绘制掩码color_masknp.zeros_like(img)color_mask[seg0](0,255,0)imgcv2.addWeighted(img,1,color_mask,0.5,0)# 绘制框标签x1,y1,x2,y2map(int,box.xyxy[0])cls_namemodel.names[int(box.cls[0])]conffloat(box.conf[0])cv2.rectangle(img,(x1,y1),(x2,y2),(255,0,0),2)cv2.putText(img,f{cls_name}{conf:.2f},(x1,y1-8),cv2.FONT_HERSHEY_SIMPLEX,0.6,(255,0,0),2)cv2.imwrite(seg_result.jpg,img)returnimgif__name____main__:seg_image(test.jpg)4、PyQt5可视化界面完整代码 main_ui.pyimportsysimportcv2importnumpyasnpfromPyQt5.QtWidgetsimport(QApplication,QMainWindow,QPushButton,QFileDialog,QLabel,QTableWidget,QTableWidgetItem,QRadioButton,QTextEdit)fromPyQt5.QtGuiimportQImage,QPixmapfromPyQt5.QtCoreimportQtfromultralyticsimportYOLOclassMainWin(QMainWindow):def__init__(self):super().__init__()self.setWindowTitle(基于YOLO11的道路护栏实例分割系统)self.setGeometry(80,80,1400,850)self.modelYOLO(runs/segment/train/weights/best.pt)self.result_imgNoneself.initUI()definitUI(self):# 原始图像self.label_originQLabel(原始图像,self)self.label_origin.setGeometry(30,40,650,520)self.label_origin.setStyleSheet(border:1px solid #999)# 分割结果self.label_segQLabel(分割结果,self)self.label_seg.setGeometry(700,40,650,520)self.label_seg.setStyleSheet(border:1px solid #999)# 按钮self.btn_imgQPushButton(选择图片,self)self.btn_img.setGeometry(30,580,140,40)self.btn_img.clicked.connect(self.load_img)self.btn_videoQPushButton(选择视频,self)self.btn_video.setGeometry(190,580,140,40)self.btn_camQPushButton(摄像头,self)self.btn_cam.setGeometry(350,580,140,40)self.btn_saveQPushButton(保存结果,self)self.btn_save.setGeometry(510,580,140,40)# 模式单选框self.radio_detQRadioButton(检测模式,self)self.radio_det.setGeometry(680,580,120,30)self.radio_segQRadioButton(分割模式,self)self.radio_seg.setGeometry(820,580,120,30)self.radio_seg.setChecked(True)# 结果表格self.tableQTableWidget(self)self.table.setGeometry(30,640,1320,160)self.table.setColumnCount(5)self.table.setHorizontalHeaderLabels([序号,类别,置信度,xmin,ymin,bbox坐标])defload_img(self):fname,_QFileDialog.getOpenFileName(self,打开图片,.,Image(*.jpg *.png *.bmp))ifnotfname:returnimg_origincv2.imread(fname)img_rgb_ocv2.cvtColor(img_origin,cv2.COLOR_BGR2RGB)ho,wo,coimg_rgb_o.shape qimg_oQImage(img_rgb_o.data,wo,ho,wo*co,QImage.Format_RGB888)self.label_origin.setPixmap(QPixmap.fromImage(qimg_o).scaled(self.label_origin.size(),Qt.KeepAspectRatio))#推理resself.model(img_origin,conf0.25)img_segimg_origin.copy()self.table.setRowCount(0)forrinres:boxesr.boxes masksr.masksifmasksisnotNone:mask_datamasks.data.cpu().numpy()forseg,boxinzip(mask_data,boxes):segseg.astype(np.uint8)color_masknp.zeros_like(img_seg)color_mask[seg0](0,255,0)img_segcv2.addWeighted(img_seg,1,color_mask,0.5,0)x1,y1,x2,y2map(int,box.xyxy[0])cls_nameself.model.names[int(box.cls[0])]conffloat(box.conf[0])cv2.rectangle(img_seg,(x1,y1),(x2,y2),(255,0,0),2)cv2.putText(img_seg,f{cls_name}{conf:.2f},(x1,y1-8),cv2.FONT_HERSHEY_SIMPLEX,0.6,(255,0,0),2)rowself.table.rowCount()self.table.insertRow(row)self.table.setItem(row,0,QTableWidgetItem(str(row1)))self.table.setItem(row,1,QTableWidgetItem(cls_name))self.table.setItem(row,2,QTableWidgetItem(f{conf:.2f}))self.table.setItem(row,3,QTableWidgetItem(f{x1},{y1}))self.table.setItem(row,4,QTableWidgetItem(f[{x1},{y1},{x2},{y2}]))#显示结果图img_rgb_scv2.cvtColor(img_seg,cv2.COLOR_BGR2RGB)hs,ws,csimg_rgb_s.shape qimg_sQImage(img_rgb_s.data,ws,hs,ws*cs,QImage.Format_RGB888)self.label_seg.setPixmap(QPixmap.fromImage(qimg_s).scaled(self.label_seg.size(),Qt.KeepAspectRatio))self.result_imgimg_segif__name____main__:appQApplication(sys.argv)winMainWin()win.show()sys.exit(app.exec_())环境安装pipinstallultralytics opencv-python pyqt5 numpyPR曲线绘制代码fromultralyticsimportYOLO modelYOLO(runs/segment/train/weights/best.pt)metricsmodel.val()print(fmAP0.5:{metrics.seg.map50})

相关新闻

DAY1 HTML

DAY1 HTML

一. HTML 初体验1. 第一步:鼠标右键 > 新建 > 文本文档 > 输入以下内容,并保存。2. 第二步:修改后缀为 .html ,然后双击打开即可。(这里的后缀名,使用 .htm 也可以,但推荐使用更标准的 .html 。)3…

2026/10/4 19:08:13 阅读更多 →
SpringBoot+Vue+MyBatis二手车交易系统:从需求分析到全栈实战

SpringBoot+Vue+MyBatis二手车交易系统:从需求分析到全栈实战

二手车交易系统这个项目,我拿到手里的第一反应是:它不能只做一个普通的增删改查。二手车和普通电商的最大区别在于商品的高度“非标性”,每一辆车的品牌、车龄、里程、排放标准、变速箱、所在地都不一样,而且从发布车源、买家看车…

2026/10/4 19:08:13 阅读更多 →
【ICML 2025】General Agents 论文解读:通用智能体必然包含世界模型|从强化学习理论视角

【ICML 2025】General Agents 论文解读:通用智能体必然包含世界模型|从强化学习理论视角

摘要 本文解读 ICML 2025 论文《General agents need world models》,也就是「通用智能体必然包含世界模型」这一结论的来源。该论文提出智能体即世界模型这一必要性定理,通过融合有界目标条件智能体的形式化定义、复合目标查询构造与信息论意义上的识别…

2026/10/4 19:08:13 阅读更多 →

最新新闻

如何看懂 Antigravity Manager 配额监控面板:实时掌握 Gemini / Claude 额度还剩多少

如何看懂 Antigravity Manager 配额监控面板:实时掌握 Gemini / Claude 额度还剩多少

如何看懂 Antigravity Manager 配额监控面板:实时掌握 Gemini / Claude 额度还剩多少 【免费下载链接】AntigravityManager Antigravity Manager is a powerful Electron-based application designed to manage accounts and processes for the Antigravity applica…

2026/10/4 19:43:38 阅读更多 →
单片机烧录方式全解析:ISP、ICP、IAP原理与实战区别

单片机烧录方式全解析:ISP、ICP、IAP原理与实战区别

新手第一次做单片机开发,最容易在“程序下载”这个环节卡壳。板子焊完了,芯片也点亮了,可是固件怎么烧进去?身边的老工程师张口就是“用ISP下载”“用ICP”,你听得一头雾水。其实这三个缩写对应的是三种完全不同的烧录…

2026/10/4 19:43:38 阅读更多 →
HarmonyOS 7 QuickDock 闪控窗开发实录 06:floatView × 回归验收:25轮场景回归、资源基线与发布前收口【鸿蒙心迹】

HarmonyOS 7 QuickDock 闪控窗开发实录 06:floatView × 回归验收:25轮场景回归、资源基线与发布前收口【鸿蒙心迹】

QuickDock 到第五篇,已经把所有关键能力都拆成了相对独立的状态层: TaskRegistry 业务任务DisplayModeCoordinator 闪控窗 / 闪控球WindowSessionStore 位置 / 暂存BackgroundTaskPolicy 前后台运行策略FloatRecoveryCoordinator 窗口异常恢复QuickDockR…

2026/10/4 19:43:38 阅读更多 →
算法日常・每日刷题--<动态规划>4

算法日常・每日刷题--<动态规划>4

91. 解码方法 - 力扣(LeetCode)91. 解码方法 - 一条包含字母 A-Z 的消息通过以下映射进行了 编码 :"1" -> A"2" -> B..."25" -> Y"26" -> Z然而,在 解码 已编码的消息时&…

2026/10/4 19:43:38 阅读更多 →
大模型能力评测实战:用 TaoToken 统一通道跑通 MMLU、SWE-bench、C-Eval 与 GPQA 的配置与验证

大模型能力评测实战:用 TaoToken 统一通道跑通 MMLU、SWE-bench、C-Eval 与 GPQA 的配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 19:43:38 阅读更多 →
电机驱动入门笔记02:六步驱动电路设计

电机驱动入门笔记02:六步驱动电路设计

一、案例 参考开源项目: https://oshwhub.com/tai-tou-dui/chuan-kou-lei-xing-wu-shua-dian-ji-dian-ji-qu-dong 1、6个MOS 6 个 IRF540NPBF(Q1~Q6)就是六步换相的 6 个开关,一相 2 个(上管+下管) 3 相 = 6 个,和三相桥完全对应。

2026/10/4 19:42:37 阅读更多 →

日新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 11:40:45 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 9:43:54 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/3 9:42:36 阅读更多 →