乐于分享
好东西不私藏

基于深度学习的交通信号标志识别软件(YOLOv12完整代码+论文示例+多算法对比)

基于深度学习的交通信号标志识别软件(YOLOv12完整代码+论文示例+多算法对比)

摘要:本文面向交通信号灯与交通标志的自动化识别需求,设计并实现一套基于深度学习的桌面端检测软件,目标是在保证精度的同时满足现场快速部署与可追溯管理。系统提供可下载的数据与代码,前端采用 PySide6/Qt 构建“左侧参数与数据源—中央可视化—右侧目标详情—底部记录与进度”的交互布局,支持图片/视频/本地摄像头多源输入与源切换互斥控制,推理过程中提供处理进度条与耗时统计,便于批量任务的状态感知与中途停止/切换。为适配不同场景与算力条件,系统内置模型选择权重加载(.pt 热切换)机制,可在不重启界面的情况下切换检测模型并同步刷新类别信息与配色,算法覆盖 YOLOv5–YOLOv12(共 8 种),并对比输出 mAP、F1、PR 曲线、训练曲线等评测结果。结果管理方面,软件支持检测记录的本地化沉淀与检索,提供CSV 导出与关键行高亮定位,并支持带框结果一键导出(单帧 PNG / 多帧 AVI),同时将账户与检测结果写入SQLite 本地入库以便离线审计与复查;登录流程提供登录/注册(可跳过)入口,在保证口令校验的基础上兼顾快速进入的使用体验。文末提供完整工程与数据集下载链接

功能效果展示视频:热门实战|《基于深度学习的交通信号标志识别软件》YOLOv12-v8多版本合集:附论文/源码/PPT/数据集,支持图片/视频/摄像头输入、可视化界面、结果导出与权重切换:https://www.bilibili.com/video/BV1mQDDB7EHv/


1. 系统功能与效果

(1)登录注册:软件启动后提供登录、注册与跳过入口,跳过仅对本次会话生效;成功进入系统后,用户可按“概览—图片检测—模型选择—结果导出”的动线完成一次完整任务。账户信息与历史记录在本地统一管理,便于快速定位最近一次检测结果并在记录表中高亮跳转到对应条目。登录过程强调口令校验与本地数据隔离,兼顾安全性与快速上手体验。

(2)功能概况:主界面围绕交通信号灯与交通标志识别场景,提供清晰的导航与状态反馈,核心信息集中呈现当前数据源、检测状态、关键阈值与统计摘要。中央区域用于实时展示检测画面与叠加框结果,右侧同步显示目标类别、置信度与位置等细节,底部记录区承载检测历史与进度提示。整体交互以“少打断、可回溯”为原则,用户在一次流程内即可完成检测、复查与导出。

(3)选择模型:系统支持在界面内选择不同 YOLO 系列模型,并通过加载本地权重实现热切换,切换后类别名称与配色会同步更新以避免误判解读。模型配置与界面偏好可本地保存,保证多次打开后的使用一致性;在不同算力与场景需求下,用户可快速在速度与精度之间做权衡。模型切换过程尽量保持当前工作流连续,不影响已打开的结果复查与导出操作。

(4)图片检测:用户导入单张图片后可即时完成推理,检测框以“类别名+置信度”叠加显示在主视图区,并支持按目标进行选择与高亮以便核对细节。界面提供置信度与 IoU 等关键参数的直观调节,用于快速抑制误检与提升目标分离效果;检测结果同时写入底部记录区,便于跨图查看与对比。识别过程强调可解释展示,让交通信号灯状态与交通标志类别在视觉上更易确认。

(5)文件保存:软件将导出操作与复查流程打通,支持将检测记录导出为 CSV,并支持保存带框结果图片以便留档与复核。导出文件采用统一的命名规则并按时间组织,便于在同一任务的多次实验间快速追踪版本差异与来源。保存过程尽量减少手工步骤,用户在完成检测后即可一键完成归档与后续分析所需的数据准备。


2. 绪论

2.1 研究背景及意义

交通信号灯与交通标志是道路交通规则最直接、最可解释的载体,其识别结果会直接影响车载辅助驾驶、道路巡检与交通管理等系统的安全决策与合规性。1:https://vbn.aau.dk/en/publications/vision-for-looking-at-traffic-lights-issues-survey-and-perspectiv/
随着开放道路场景与多任务感知数据集不断扩展,真实环境下的光照、天气与地域差异被系统性纳入评测,使得“在复杂条件下稳定识别”从工程经验问题转化为可量化的算法与系统问题。2:https://docs.ultralytics.com/models/yolov10/

面向交通标志的检测与识别,典型数据集已呈现“小目标占比高、类间外观相似、长尾分布显著”的特点,这要求模型既能在远距离保持召回,也能在细粒度类别上抑制误检。[3]
早期的基准任务在相对规整的采集条件下取得了很高的分类精度,但在开放道路中仍会受到遮挡、反光、低照度与运动模糊的共同影响,从而暴露出“可部署实时性”和“跨域泛化”两方面的落差。[4]
因此,将深度学习检测模型与桌面端可视化交互软件结合,一方面能够以可解释方式呈现置信度、框位置与类别分布,另一方面也为数据回流、误检复查与工程化部署提供闭环支撑。[5] (VBN:https://vbn.aau.dk/en/publications/vision-for-looking-at-traffic-lights-issues-survey-and-perspectiv/)

2.2 国内外研究现状

交通信号标志识别通常包含交通标志检测与交通信号灯检测两类核心子任务,其共同难点集中在小目标密集、遮挡与背景干扰强、光照变化剧烈以及长尾类别导致的学习偏置。[3]
以开放道路图像为例,交通标志往往只占整幅画面的极小比例,且同一大类内部图案差异细微,使得模型需要同时具备多尺度感受野与细粒度判别能力。[3]
在国内研究中,围绕复杂背景下的交通标志检测,已有工作通过改进特征融合与检测头设计提升小目标检测性能,并在公开数据集上获得更高的 mAP 与更低的推理耗时。[5]
这类结果表明,面向交通信号标志场景的改进路径往往需要在“更强特征表达”和“更低部署成本”之间做结构性权衡。[5]

交通信号灯识别进一步引入了“远距离更小目标、强反光与夜间低照度、灯态时序变化”等因素,使得单帧检测之外的跟踪与时序一致性成为重要议题。1:https://vbn.aau.dk/en/publications/vision-for-looking-at-traffic-lights-issues-survey-and-perspectiv/
针对这一问题,已有系统性工作将检测、跟踪与分类串联为端到端流程,并强调在不依赖高精地图的前提下实现实时可靠感知。[7]
从工程落地角度看,交通信号灯在城市道路中常与复杂杆线、LED 屏幕与车灯等高亮区域共存,这使得模型更需要稳健的负样本抑制能力与可控的阈值策略。[7]
因此,“可交互调参与可视化复核”的软件形态,在交通信号灯场景中同样具有明确的工程价值。1:https://vbn.aau.dk/en/publications/vision-for-looking-at-traffic-lights-issues-survey-and-perspectiv/

从通用目标检测框架看,两阶段方法通过候选区域机制提升定位与分类的上限,但在端侧实时应用中往往受到延迟与算力的制约。[8]
为应对密集小目标与类别不均衡问题,单阶段检测器通过改进损失设计与特征金字塔结构提升了检测鲁棒性,并在实时性上更易满足在线需求。[9]
在 Anchor-free 范式中,基于中心点与像素级回归的设计减少了锚框超参依赖,对尺度变化与密集目标具有更好的适配性。[10]
近年来,Transformer 检测器将目标检测表述为集合预测问题,并通过端到端训练减少手工后处理,但其高效化与实时化仍是交通场景部署的关键门槛。[11]
围绕小目标与收敛速度的不足,改进的可变形注意力结构显著增强了对稀疏关键区域的聚合能力,为交通信号标志这类小目标任务提供了重要启示。[12]
在实时 Transformer 路线中,面向端到端与速度优化的改进进一步缩小了与卷积系检测器的部署差距,使其在工程侧具备可选性。[13]

结合交通信号标志“实时性强约束”的特点,YOLO 系列因其精度与速度平衡、工具链成熟而成为工程系统中最常用的候选模型之一。[14]
在轻量化方向,YOLOv6 通过整合网络设计与部署优化思路,在较小尺度上给出了兼顾 AP 与吞吐的配置,为端侧部署提供了可复用范式。[15]
YOLOv7 则通过训练与结构层面的“bag-of-freebies”式增强,在实时检测器范围内刷新了速度与精度边界,体现出卷积系方法在工程端的持续竞争力。[16]
在 Ultralytics 体系中,YOLOv8 进一步采用更易部署的头部设计并提供统一的训练、验证与导出接口,使多模型对比与落地成本显著降低。[17]
此后,YOLOv10 将 NMS-free 的端到端推理作为重点,通过训练分配与结构整体设计进一步压缩延迟,为在线交通检测提供了更直接的系统收益。[19]
面向近年的演进,YOLO11 与 YOLO12 在模型规模与延迟约束下继续提升 COCO 指标,并通过更强调注意力与表征能力的设计增强特征利用率,为交通信号标志的复杂背景与小目标提供潜在增益。[20]

为更直观比较“精度—延迟—规模”的工程取舍,表 2-1 汇总了若干代表模型在公开基准上的典型配置与指标,用于说明不同范式在系统落地时的选型侧重点(指标以原文或官方文档为准)。[19]

表 2-1 代表性检测模型对比(公开基准配置示例)

总体来看,交通信号标志识别研究正在从“单模型指标提升”走向“模型、部署与交互闭环协同”的综合优化路径,其中包括模型导出加速、量化剪枝、在线可视化复核与可追溯导出机制等系统化能力建设。[19] (Ultralytics Docs:https://docs.ultralytics.com/models/yolov10/)

2.3 要解决的问题及其方案

要解决的问题主要体现在以下四个方面:(1)交通标志与信号灯在远距离和复杂背景下呈现小目标与密集遮挡特征,系统需要在保证精度的同时满足近实时推理与稳定帧率要求。(2)不同道路、相机与天气条件会带来显著域偏移,模型需具备较强的环境适应性与泛化能力,避免在夜间、雨雾与强反光场景出现系统性误检漏检。(3)桌面端交互不仅要呈现检测框、类别与置信度等信息,还要支持阈值可调、目标高亮与历史记录回溯,从而提升人工复核效率与可解释性。(4)多源数据的批量处理、结果存储与导出需要兼顾吞吐与安全性,既能形成可追溯的检测档案,也要避免敏感数据在本地管理中失控。

针对上述问题,本文的软件方案按端到端闭环进行设计:(1)以 YOLO 系列为核心检测器,围绕 YOLOv5 至 YOLOv12 建立统一训练与推理接口,并通过多模型对比选择更适合交通信号标志场景的配置,以兼顾精度与速度。(2)在训练侧结合迁移学习与数据增强,针对小目标、反光、遮挡与夜间低照度等场景强化样本覆盖,并通过系统化评测指标监控泛化表现。(3)前端采用 PySide6/Qt 构建桌面交互界面,支持图片检测与结果叠加显示,并提供模型切换、阈值调节与记录回溯等交互能力,形成“检测结果可解释”的使用体验。(4)在工程侧设计统一的结果管理机制,支持结构化记录、批量导出与本地持久化存储,提升数据处理效率与存储安全性,并为后续扩展在线评估与持续迭代预留接口。

2.4 博文贡献与组织结构

本文的主要贡献体现在:(1)围绕交通信号标志识别的任务需求与技术难点,梳理目标检测范式与 YOLO 家族的工程化演进脉络,为模型选型提供可复用的分析框架。(2)构建 YOLOv5 至 YOLOv12 的统一对比评测思路,结合 mAP、F1、PR 等指标从精度与实时性两条主线分析模型差异。(3)设计并实现面向交通信号标志识别的桌面端交互软件,以可视化、可调参与可追溯导出为核心提升工程可用性。(4)将训练、推理、结果管理与本地存储形成闭环,为后续数据回流、误检复查与持续优化奠定基础。

全文组织如下:第 2 章给出研究背景、相关工作与本文方案概述;后续章节将依次介绍数据集处理、模型原理与设计、实验结果分析以及系统设计与实现,最后总结工作并展望未来改进方向。


3. 数据集处理

在进入本章之前,建议读者准备并对齐几类关键信息:数据集样例可视化截图、训练/验证/测试划分数量、标注格式(如 YOLO/COCO)、类别清单与中英文映射、以及目标框的分布统计图(用于判断尺度与位置偏置)。本文已给出两张训练样例拼图与一张标注框相关分布图,同时明确数据规模为 10,000 张图像,其中训练集 7,092 张、验证集 1,884 张、测试集 1,024 张;类别侧提供了英文到中文的映射表,覆盖交通标志与交通信号灯等共 29 个类别,便于后续在桌面端进行类别显示与结果检索的一致化。若读者希望复现实验,仍建议进一步补充本项目实际采用的数据增强策略与清洗规则(例如是否启用 Mosaic、随机透视、运动模糊模拟等),以便将“数据处理”与“精度/速度表现”建立可追溯关联。标签及其对应中文名如下:

Chinese_name = { "-Road narrows on right": "右侧变窄", "50 mph speed limit": "限速50英里", "Attention Please-": "请注意",
    "Beware of children": "注意儿童", "CYCLE ROUTE AHEAD WARNING": "自行车道警告", "Dangerous Left Curve Ahead": "左弯危险",
    "Dangerous Rright Curve Ahead": "右弯危险","End of all speed and passing limits": "限速结束", "Give Way": "让路",
    "Go Straight or Turn Right": "直行或右转",  "Go straight or turn left": "直行或左转","Keep-Left": "靠左",
    "Keep-Right": "靠右", "Left Zig Zag Traffic": "左侧曲折",  "No Entry": "禁止进入", "No_Over_Taking": "禁超车",
    "Overtaking by trucks is prohibited": "禁卡车超车", "Pedestrian Crossing": "人行道", "Round-About": "环岛",
    "Slippery Road Ahead": "路滑","Speed Limit 20 KMPh": "限速20公里","Speed Limit 30 KMPh": "限速30公里","Stop_Sign": "停止", 
    "Straight Ahead Only": "仅直行", "Traffic_signal": "交通灯", "Truck traffic is prohibited": "禁卡车通行",
    "Turn left ahead": "前左转","Turn right ahead": "前右转", "Uneven Road": "路不平"}

从标注规范角度,交通标志/信号灯检测任务更适合采用与 YOLO 系列训练管线对齐的目标检测标注格式,即以每个目标为单位记录类别与边界框,并使用归一化后的中心点与宽高表征框的位置与尺度,这样能够直接对接训练时的输入预处理与多尺度采样机制。数据集划分上,当前比例约为 70.9%/18.8%/10.2%,这一配置在保证训练充分性的同时为验证调参与最终测试留出了稳定评估集;工程实践中通常会固定随机种子以确保划分可复现,并在迭代版本中保持测试集不变,从而让不同模型(YOLOv5–YOLOv12)之间的 mAP、F1 与 PR 曲线对比具有一致的统计意义。类别设计方面,由于交通标志存在细粒度差异(例如限速、让行、禁令与指示等)且类间外观相似,本项目通过中英文类别映射将语义层与界面层统一,既避免导出 CSV 时出现歧义,也降低人工复核时的认知成本。

结合样例图与标注框分布图可以观察到两个典型现象:其一,目标框中心更容易集中在画面中部附近,这与道路前向视角采集的构图习惯一致;其二,宽高分布存在明显的尺度差异,既包含占据较大画面区域的近景标志,也包含远距离的小目标与被遮挡目标,这会直接影响检测器在召回与误检之间的权衡。针对这些难点,数据处理阶段通常需要将“尺度变化、反光与低照度、遮挡与密集”显式映射到增强与清洗策略上:例如通过多尺度训练与随机缩放强化远近变化,通过亮度/对比度与色彩抖动模拟日夜与背光,通过随机遮挡或局部擦除提升遮挡鲁棒性,并在清洗环节剔除越界框、面积异常或标签不一致样本以降低噪声对收敛的干扰;在本系统的端侧推理中统一采用 640×640 的输入预处理,也要求训练侧的增强策略与尺度分布保持一致,从而避免“训练见过、部署没见过”的分布断裂,最终让桌面端的实时可视化与批量导出结果更稳定、可复查、可追溯。


4. 模型原理与设计

本文的交通信号标志识别属于典型的单阶段目标检测任务:给定输入图像,模型在一次前向传播中同时预测目标的类别概率与边界框位置,从而在端侧实时性约束下获得更好的吞吐与交互体验。考虑到交通标志与交通灯普遍呈现“小目标占比高、类间外观相似、遮挡与反光频繁、低照度与运动模糊并存”的数据特征,本文默认以 YOLOv12 作为主线模型进行阐述,并在系统层面保留 YOLOv5–YOLOv12 的统一接口以支持精度与速度的可切换对比。YOLOv12 的核心取向是将注意力机制从“可选增强”提升为“架构中心”,同时通过更高效的注意力实现与特征聚合模块,尽量把注意力的表达增益转化为实时推理可用的工程收益。 (arXiv:https://vbn.aau.dk/en/publications/vision-for-looking-at-traffic-lights-issues-survey-and-perspectiv/)

从结构上看,YOLOv12 仍可归纳为“骨干网络(Backbone)—颈部(Neck)—检测头(Head)”的三级流水线:骨干负责将输入的 640×640 视觉信息编码为多尺度特征,颈部通过金字塔式融合增强小目标与远距离目标的可见性,检测头在不同尺度上输出分类与回归结果以覆盖尺度差异。与传统 CNN 主导的 YOLO 变体相比,YOLOv12 更强调注意力在大感受野建模上的作用,其典型做法是在特征层引入更高效的注意力块,并通过与卷积算子配合来补齐位置信息与局部纹理表征,从而避免“注意力强但推理慢、显存占用大”的常见问题。以标准缩放点积注意力为例,其基本形式可写为

其中 (Q,K,V) 分别表示由特征映射线性变换得到的查询、键和值,(d) 为通道维度;在实时检测中,为降低全局注意力的二次复杂度与内存访问开销,YOLOv12 进一步采用区域化/高效化的注意力实现思路,并配合改进的特征聚合模块以稳定训练与提升吞吐。网络整体架构图如下图所示

在检测头与损失建模上,本文沿用 YOLO 系列在工程上验证充分的“多尺度预测 + 解耦式输出”的思想:分类分支侧重细粒度类别判别以降低相似标志之间的混淆,回归分支侧重边界框几何一致性以提升远距离小目标的定位稳定性。常用的总体损失可以概括为分类与回归的加权和:

其中 (L_{\mathrm{cls}}) 与 (L_{\mathrm{obj}}) 通常采用二元交叉熵或其变体以抑制负样本主导的问题,(L_{\mathrm{box}}) 则常以 IoU 家族损失刻画预测框与真值框的重叠程度与几何约束。以 CIoU 为例,其形式可写为

其中 (\rho(\cdot)) 表示预测框 (\mathbf{b}) 与真值框 (\mathbf{b}^{gt}) 中心点的欧氏距离,(c) 为最小外接框的对角线长度,(v) 表示长宽比一致性项,(\alpha) 为权重系数;在交通标志这类“小目标 + 遮挡/反光”场景中,更稳定的回归约束往往能减少框抖动与边界外溢,从而提升导出结果(PNG/AVI)在人工复核时的一致性。 (Ultralytics Docs:https://docs.ultralytics.com/models/yolov10/)

训练与正则化策略需要与任务难点一一对应:其一,针对长尾与类间相似,应通过更充分的数据覆盖与更稳健的学习率策略避免模型在常见类别上过拟合;其二,针对尺度差异与密集遮挡,应保持多尺度训练与特征融合的有效性,并在推理侧通过置信度阈值与 IoU 阈值(NMS)控制误检与重叠框;其三,针对夜间低照度与反光,应在增强与归一化统计上保证训练分布与部署分布尽量一致,以减少在桌面端实时推理时出现“亮度一变就失效”的脆弱性。落实到系统集成层面,本文统一采用 640×640 的预处理与一致的后处理解析,将模型输出规范化为 ({class_name,bbox(x_{min},y_{min},x_{max},y_{max}),score,class_id}),并通过阈值滑块实现可交互调参,使得 YOLOv12 的表征优势能够以“可解释、可复查、可导出”的方式落到交通信号标志识别软件的完整工作流中。 (Ultralytics Docs:https://docs.ultralytics.com/models/yolov10/)


5. 实验结果与分析

本章实验目标是在同一数据划分(训练 7,092 / 验证 1,884 / 测试 1,024)与统一推理设置(输入 640×640、同一后处理策略与阈值范式)下,对 YOLOv5–YOLOv12 的多种轻量配置进行横向对比,重点关注检测准确性(Precision、Recall、F1、mAP@0.5、mAP@0.5:0.95)与端侧时延(预处理/推理/后处理分解耗时)。硬件平台为 NVIDIA GeForce RTX 3070 Laptop GPU(8GB),因此本章的时间指标可直接映射到桌面端软件的交互体验:当“推理+后处理”抖动较大时,视频/摄像头模式更容易出现帧率不稳,而当后处理占比过高时,批量图片检测的进度条会呈现明显的“卡顿式跳动”。

为便于整体对照,表 5-1 汇总了 n 型与 s 型两组模型的核心指标。可以看到,n 型模型整体参数量集中在 2–6M、FLOPs 约 6.5–13.8G,属于“更偏实时”的配置,其中 YOLOv9t 在 mAP50-95 上达到 0.8164,同时给出较高的 F1(0.9578),但其 InfTime 为 16.51ms,叠加前后处理后总时延约 19.67ms,更适合作为“精度优先”的实时上限;YOLOv6n 与 YOLOv8n 的 InfTime 分别为 6.78ms 与 6.83ms,总时延约 10ms,属于更贴合交互式桌面推理的“流畅档”,并且 F1 仍维持在 0.95 左右。s 型模型在精度上更稳健,YOLOv5su 与 YOLOv10s 的 F1 均超过 0.961,YOLOv11s 的 mAP50-95 达到 0.8171,是本组中综合精度最优的选择,但需要注意 YOLOv9s、YOLOv7 这类配置在 InfTime 与后处理上更“重”,会直接拉低视频模式的可用帧率上限。

表 5-1 不同 YOLO 模型在 TrafficRoadSign 数据集上的对比结果(RTX 3070 Laptop GPU)

从“精度—速度”的结构性原因看,交通标志/信号灯任务的核心压力点依然是小目标与细粒度类别:一方面需要更强的多尺度融合与局部纹理建模来提高 Recall,另一方面又要抑制复杂背景(杆线、灯光反射、车灯与 LED 屏等)引入的伪目标来守住 Precision。n 型组中 YOLOv6n 的 Precision 最高(0.9740)但 mAP50 相对偏低(0.9190),更像是“保守型”阈值行为:背景抑制更强但对小目标的覆盖略受影响;YOLOv9t、YOLOv11n 在 F1 与 mAP50-95 上更占优,说明其特征表达与正负样本分配对“看得见但很小”的目标更友好,但也付出了更高的推理时间代价。s 型组中 YOLOv10s/YOLOv11s 的 mAP50 与 mAP50-95 更突出,同时 YOLOv10 的后处理耗时显著更低(PostTime 0.6ms 量级),对桌面端“视频进度条平滑、可随时停止/切换源”的体验更有利,这也是在系统集成时经常被忽略但实际很关键的工程指标。

结合曲线与矩阵结果可以进一步解释误差来源:从 F1-Confidence 曲线可见全类别最优点约为 F1=0.93、Confidence≈0.768,这意味着在本数据集上“略偏高的置信度阈值”更容易取得精度与召回的平衡,原因通常是背景中存在高对比边缘与强反光区域,低阈值会引入更多低质量候选框,进而拖累 Precision 并造成导出结果(PNG/AVI)更难复核;从归一化混淆矩阵看,整体对角线占比接近 1,说明大多数类别区分稳定,但仍可观察到少量相似标志之间的混淆与“背景误吸收”,这与样例图中低分辨率、运动模糊、局部遮挡导致的纹理退化一致。对应的改进方向通常不是盲目加深模型,而是更“任务耦合”的训练与数据策略:例如对限速类、转向类等相似外观类别做更强的局部增强与类均衡采样,对夜间与反光场景引入亮度/对比度扰动与高光抑制增强,并在部署端将 Conf/IoU 以滑块方式暴露给用户进行场景化调参,从而把“算法能力”真正转化为“可用的交互闭环”。


6. 系统设计与实现

6.1 系统设计思路

本系统采用分层架构组织桌面端交通信号标志识别流程,整体可抽象为表现与交互层(Qt 客户端)、业务与会话管理层、推理与任务调度层、数据持久化层四部分协同工作:用户在客户端选择图片/视频/摄像头输入源后,媒体帧被统一接入并进入预处理模块完成 640×640 缩放、归一化与张量化,再交由 YOLO 推理模块(v5–v12)输出候选框与类别分数,随后在后处理阶段完成 Conf/IoU 阈值过滤、NMS 与坐标还原,最终将带框结果回传到主显示区并同步驱动右侧详情与底部记录区更新,从而形成“输入—推理—可视化—记录”的闭环。

为保证实时性与界面一致性,推理与调度层采用事件驱动的帧流处理方式:视频与摄像头以帧序列为单位进入异步队列,确保界面刷新、阈值滑块、目标高亮选择与推理计算之间不会互相阻塞;多源输入采用互斥策略,任何时刻仅允许一种源处于激活态,避免出现资源抢占导致的画面错乱与统计混淆。参数侧将 Conf/IoU 的变化以统一的参数状态持有并广播到后处理与可视化模块,使“用户调参—结果变化—记录落地”在同一会话内保持可追溯;进度条与用时显示则贯穿批量图片与视频帧处理,既提供任务进度反馈,也便于定位性能瓶颈与异常帧。

在可扩展性方面,系统将模型权重管理从推理引擎解耦出来,允许用户选择本地权重文件实现 .pt 热切换,并在切换后同步刷新类别名与配色映射以减少人为误读;结果与导出编排由业务层统一调度,支持检测记录结构化写入本地 SQLite,同时按时间戳规则生成 CSV/PNG/AVI 等导出产物,便于批量归档与复查。界面主题与配置项采用本地化持久化策略,在多次启动间保持一致的交互习惯,并通过异常恢复机制保证在源切换、推理失败或导出中断时能够回退到可用状态,降低桌面端部署的维护成本。

图 6-1 系统流程图
图注:系统从初始化进入多源输入,完成预处理、YOLO 推理与后处理,并在界面端实现阈值滑块、目标高亮与记录/导出闭环,视频/摄像头通过“继续获取下一帧”形成帧流循环。

图 6-2 系统设计框图
图注:框图按“表现与交互—业务与会话—推理与调度—数据持久化”分层描述模块边界,数据流从多源输入进入推理链路,结果回到界面并同时写入本地数据库与文件归档。

6.2 登录与账户管理 — 流程图

登录与账户管理流程从应用启动进入登录界面开始,通过“已有账号/无账号”分支将注册与登录统一到同一会话入口:注册阶段写入本地数据库形成账户记录,登录阶段执行口令校验并在成功后加载个性化配置(主题、默认模型与最近检测记录),从而保证用户进入主界面时即可获得稳定一致的交互环境与历史可追溯性;在主界面内,资料修改与注销/切换账号被视为会话生命周期的一部分,前者用于更新口令与偏好以维持安全与可用性,后者用于隔离不同用户的配置空间与检测记录,使账户体系与多源检测主流程在同一桌面端闭环中形成“身份—配置—记录—导出”的一致链路。


7. 下载链接

    若您想获得博文中涉及的实现完整全部资源文件(包括测试图片、视频,py, UI文件,训练数据集、训练代码、界面代码等),这里见可参考博客与视频,已将所有涉及的文件同时打包到里面,点击即可运行,完整文件截图如下:

完整项目下载及文档:https://newtopmat.feishu.cn/wiki/Qp2uwIpdAiP6VkkhTSjc2ZfGnhh:https://newtopmat.feishu.cn/wiki/Qp2uwIpdAiP6VkkhTSjc2ZfGnhh

功能效果展示视频:热门实战|《基于深度学习的交通信号标志识别软件》YOLOv12-v8多版本合集:附论文/源码/PPT/数据集,支持图片/视频/摄像头输入、可视化界面、结果导出与权重切换:https://www.bilibili.com/video/BV1mQDDB7EHv/
环境配置博客教程:https://deeppython.feishu.cn/wiki/EwnTwJ2H3iLF6VkNG6ccgZYrnvd:https://deeppython.feishu.cn/wiki/EwnTwJ2H3iLF6VkNG6ccgZYrnvd
或者环境配置视频教程:Pycharm软件安装视频教程:https://www.bilibili.com/video/BV1yypczDEP6/;(2)Anaconda软件安装视频教程:https://www.bilibili.com/video/BV1f5pcz3EgS/;(3)Python环境配置视频教程:https://www.bilibili.com/video/BV1F3pcz5EgY/
数据集标注教程(如需自行标注数据):数据标注合集:https://www.bilibili.com/video/BV15Ap1ztECN/


参考文献(GB/T 7714)

1:https://vbn.aau.dk/en/publications/vision-for-looking-at-traffic-lights-issues-survey-and-perspectiv/ Jensen M B, Philipsen M P, Møgelmose A, et al. Vision for Looking at Traffic Lights: Issues, Survey, and Perspectives[J]. IEEE Transactions on Intelligent Transportation Systems, 2016, 17(7): 1800-1815.
2:https://docs.ultralytics.com/models/yolov10/ Yu F, Chen H, Wang X, et al. BDD100K: A Diverse Driving Dataset for Heterogeneous Multitask Learning[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020.(arXiv:1805.04687)
[3] Zhu Z, Liang D, Zhang S, et al. Traffic-Sign Detection and Classification in the Wild[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016.
[4] Stallkamp J, Schlipsing M, Salmen J, et al. The German Traffic Sign Recognition Benchmark: A Multi-Class Classification Competition[C]//International Joint Conference on Neural Networks. 2011.
[5] 王步, 何洋. 交通标志检测基于改进YOLOv3[J]. 四川大学学报(自然科学版), 2022. doi:10.19907/j.0490-6756.2022.001004.
[6] Lin T Y, Goyal P, Girshick R, et al. Focal Loss for Dense Object Detection[C]//Proceedings of the IEEE International Conference on Computer Vision. 2017.
[7] Behrendt K, Novak L, Botros R. A Deep Learning Approach to Traffic Lights: Detection, Tracking, and Classification[C]//Proceedings of the IEEE International Conference on Robotics and Automation. 2017.
[8] Ren S, He K, Girshick R, et al. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149.(arXiv:1506.01497)
[9] Tian Z, Shen C, Chen H, et al. FCOS: Fully Convolutional One-Stage Object Detection[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. 2019.(arXiv:1904.01355)
[10] Carion N, Massa F, Synnaeve G, et al. End-to-End Object Detection with Transformers[C]//Proceedings of the European Conference on Computer Vision. 2020.(arXiv:2005.12872)
[11] Zhu X, Su W, Lu L, et al. Deformable DETR: Deformable Transformers for End-to-End Object Detection[C]//International Conference on Learning Representations. 2021.(arXiv:2010.04159)
[12] Zhao W, Lv S, Xu Y, et al. RT-DETR: Real-Time Detection Transformer[EB/OL]. arXiv:2304.08069, 2023.
[13] Jocher G. Ultralytics YOLOv5[EB/OL]. Zenodo, 2020. doi:10.5281/zenodo.3908559.
[14] Li C, Li L, Jiang H, et al. YOLOv6: A Single-Stage Object Detection Framework for Industrial Applications[EB/OL]. arXiv:2209.02976, 2022.
[15] Wang C Y, Bochkovskiy A, Liao H Y M. YOLOv7: Trainable Bag-of-Freebies Sets New State-of-the-Art for Real-Time Object Detectors[EB/OL]. arXiv:2207.02696, 2022.
[16] Ultralytics. Ultralytics YOLOv8[EB/OL]. [2025-12-23].
[17] Wang C Y, Yeh I H, Liao H Y M. YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information[C]//European Conference on Computer Vision. 2024.(arXiv:2402.13616)
[18] Wang A, Chen H, Liu L, et al. YOLOv10: Real-Time End-to-End Object Detection[EB/OL]. arXiv:2405.14458, 2024.
[19] Ultralytics. Ultralytics YOLOv10[EB/OL]. [2025-12-23].
[20] Ultralytics. Ultralytics YOLO11[EB/OL]. [2025-12-23].
[21] Ultralytics. Ultralytics YOLO12[EB/OL]. [2025-12-23].
[22] Tian Y, et al. YOLOv12: Attention-Centric Object Detection[EB/OL]. arXiv:2502.12524, 2025.