交通标志数据集 识别交通道路中的警告,禁止性,强制性交通标识
使用 Python 深度学习 YOLOv8训练 CCTSDB 交通标志数据集 识别交通道路中的警告禁止性强制性交通标识文章目录使用 Python 深度学习 YOLOv8训练 CCTSDB 交通标志数据集 识别交通道路中的警告禁止性强制性交通标识**1. 安装依赖****2. 准备数据集**数据集结构data.yaml 文件**3. 训练 YOLOv8 模型**训练脚本**4. 推理代码****5. 训练评估****6. 构建 GUI 应用程序****7. 运行应用程序**以下文字及代码仅供参考。CCTSDB 交通标志数据集3 个分类分别为 mandatory、prohibition、warning 。标签 txt 格式train12499 张val3571 张test1786 张 total:17856 张安装依赖、准备数据集、训练 YOLOv8 模型、推理代码、评估模型性能到构建 GUI 应用程序的详细步骤。使用 Python 和相关的深度学习工具如 Ultralytics 的 YOLOv8。1. 安装依赖首先确保你已经安装了必要的库和依赖项。# 创建虚拟环境可选python-mvenv yolov8_envsourceyolov8_env/bin/activate# Linux/MacOSyolov8_env\Scripts\activate# Windows# 升级 pippipinstall--upgradepip# 安装依赖pipinstallultralytics opencv-python matplotlib pyqt52. 准备数据集数据集结构假设你的数据集已经标注为 YOLO 格式并按照以下目录结构组织CCTSDB/ ├── images/ │ ├── train/ │ │ ├── img1.jpg │ │ ├── img2.jpg │ │ └── ... │ ├── val/ │ │ ├── img1.jpg │ │ ├── img2.jpg │ │ └── ... │ └── test/ │ ├── img1.jpg │ ├── img2.jpg │ └── ... ├── labels/ │ ├── train/ │ │ ├── img1.txt │ │ ├── img2.txt │ │ └── ... │ ├── val/ │ │ ├── img1.txt │ │ ├── img2.txt │ │ └── ... │ └── test/ │ ├── img1.txt │ ├── img2.txt │ └── ... └── data.yamldata.yaml文件创建一个data.yaml文件来描述数据集的配置train:CCTSDB/images/trainval:CCTSDB/images/valtest:CCTSDB/images/testnc:3# 类别数量names:[mandatory,prohibition,warning]# 类别名称3. 训练 YOLOv8 模型训练脚本使用 Ultralytics 提供的 YOLOv8 API 进行训练fromultralyticsimportYOLO# 加载预训练模型modelYOLO(yolov8n.pt)# 使用 YOLOv8 Nano 模型# 开始训练resultsmodel.train(dataCCTSDB/data.yaml,# 数据集配置文件路径epochs50,# 训练轮数imgsz640,# 输入图像大小batch16,# 批量大小device0# GPU 设备编号使用 CPU 设置为 cpu)# 导出最佳权重model.export(formatonnx)# 可导出为 ONNX 格式以用于部署4. 推理代码训练完成后可以使用保存的模型进行推理。fromultralyticsimportYOLOimportcv2# 加载训练好的模型modelYOLO(runs/detect/train/weights/best.pt)# 测试图像image_pathCCTSDB/images/test/img1.jpgresultsmodel(image_path)# 显示结果forresultinresults:boxesresult.boxes.xyxy.cpu().numpy()# 边界框classesresult.boxes.cls.cpu().numpy()# 类别索引confidencesresult.boxes.conf.cpu().numpy()# 置信度# 绘制边界框imagecv2.imread(image_path)forbox,cls,confinzip(boxes,classes,confidences):x1,y1,x2,y2map(int,box)labelf{model.names[int(cls)]}{conf:.2f}cv2.rectangle(image,(x1,y1),(x2,y2),(0,255,0),2)cv2.putText(image,label,(x1,y1-10),cv2.FONT_HERSHEY_SIMPLEX,0.9,(0,255,0),2)# 显示图像cv2.imshow(Result,image)cv2.waitKey(0)cv2.destroyAllWindows()5. 训练评估Ultralytics 的 YOLOv8 会在训练过程中自动生成评估指标如 mAP。你可以查看runs/detect/train/results.csv文件中的详细信息。此外可以使用以下代码手动评估模型fromultralyticsimportYOLO# 加载模型modelYOLO(runs/detect/train/weights/best.pt)# 验证模型metricsmodel.val(dataCCTSDB/data.yaml)print(metrics.box.map)# 输出 mAP 值6. 构建 GUI 应用程序使用 PyQt5 构建一个简单的 GUI 应用程序用于加载图像并显示检测结果。fromPyQt5.QtWidgetsimportQApplication,QMainWindow,QLabel,QPushButton,QFileDialogfromPyQt5.QtGuiimportQPixmap,QImagefromultralyticsimportYOLOimportcv2importsysclassMainWindow(QMainWindow):def__init__(self):super().__init__()self.setWindowTitle(交通标志检测)self.setGeometry(100,100,800,600)# 加载模型self.modelYOLO(runs/detect/train/weights/best.pt)# UI 元素self.labelQLabel(self)self.label.setGeometry(50,50,700,400)self.buttonQPushButton(选择图片,self)self.button.setGeometry(300,500,200,50)self.button.clicked.connect(self.load_image)defload_image(self):# 打开文件对话框file_path,_QFileDialog.getOpenFileName(self,选择图片,,Images (*.jpg *.png))iffile_path:# 检测图像imagecv2.imread(file_path)resultsself.model(image)forresultinresults:boxesresult.boxes.xyxy.cpu().numpy()classesresult.boxes.cls.cpu().numpy()forbox,clsinzip(boxes,classes):x1,y1,x2,y2map(int,box)cv2.rectangle(image,(x1,y1),(x2,y2),(0,255,0),2)cv2.putText(image,self.model.names[int(cls)],(x1,y1-10),cv2.FONT_HERSHEY_SIMPLEX,0.9,(0,255,0),2)# 转换为 Qt 图像格式height,width,channelimage.shape bytes_per_line3*width q_imgQImage(image.data,width,height,bytes_per_line,QImage.Format_RGB888).rgbSwapped()# 显示图像self.label.setPixmap(QPixmap.fromImage(q_img))if__name____main__:appQApplication(sys.argv)windowMainWindow()window.show()sys.exit(app.exec_())7. 运行应用程序运行上述代码启动 GUI 应用程序。用户可以通过界面加载图像并查看检测结果。

相关新闻

滚动轴承故障检测 基于双路神经网络滚动轴承故障诊断系统 系统融合原始振动信号和二维时频图像进行多输入(多通道)故障诊断。PyTorch框架实现模型,可单双路

滚动轴承故障检测 基于双路神经网络滚动轴承故障诊断系统 系统融合原始振动信号和二维时频图像进行多输入(多通道)故障诊断。PyTorch框架实现模型,可单双路

基于双路神经网络的滚动轴承故障诊断 文章目录基于双路神经网络的滚动轴承故障诊断文字及内容代码仅供参考!1. 数据准备2. 完整代码实现2.1 数据加载和预处理2.2 模型构建2.3 模型训练2.4 结果可视化运行步骤实际运行情况如图 融合了原始振动信号 和 二维信号时频图…

2026/10/27 21:47:47 阅读更多 →
结构方程模型参数解读:从基础到进阶实践

结构方程模型参数解读:从基础到进阶实践

1. 结构方程模型参数解读基础 结构方程模型(SEM)作为多元统计分析的重要工具,其参数解释能力直接决定了研究结论的可靠性。初次接触SEM的研究者常会陷入"跑出模型就万事大吉"的误区,实际上参数解读才是真正考验研究者功…

2026/10/25 23:39:01 阅读更多 →
银行客户明细数据分析与应用实战指南

银行客户明细数据分析与应用实战指南

1. 项目背景与核心价值银行客户明细表作为金融机构最基础的数据资产之一,记录了客户交易行为、账户变动和资金流向等核心信息。这类数据在风险管理、客户画像、业务分析等领域具有不可替代的价值。传统获取方式通常需要经过繁琐的审批流程,而CnOpenData提…

2026/10/25 13:00:29 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/27 17:33:32 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/27 4:06:49 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/27 7:21:53 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/27 18:20:50 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/27 6:20:47 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/27 4:06:50 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 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/27 13:55:19 阅读更多 →
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/27 7:21:50 阅读更多 →
黑夜航拍船只数据集训练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/27 19:19:37 阅读更多 →