摘要:障碍物检测作为智能交通、移动机器人与工业巡检中的核心感知环节,直接关系到系统的安全性与实时性。本文围绕基于深度学习的障碍物检测系统,系统性梳理从数据采集与标注、训练策略与部署优化,到端侧推理与可视化交互的工程实现路径。系统以卷积神经网络为主干,结合多尺度特征融合与端到端检测范式,实现对道路行人、车辆、异形障碍物及场景杂物等目标的快速定位与分类;在训练阶段引入数据增强、预训练迁移与学习率调度以提升复杂光照、遮挡与小目标条件下的鲁棒性;在部署阶段通过模型轻量化与推理加速,兼顾高精度与低延迟。同时,系统提供可视化界面与结果统计能力,支持图片/视频/摄像头多源输入、阈值调参、结果导出与回放分析,便于在真实场景中快速验证与迭代。本文的实现流程与经验总结可为障碍物检测相关应用的落地提供可复用的参考。


功能效果展示视频:障碍物检测系统YOLOv12-v11至v5(八个模型,含示例论文)合集(完整Python项目演示,UI界面,含论文等)

➷点击跳转至文末所有涉及的完整代码文件下载页☇


1. 前言综述

在智能驾驶、移动机器人与工业场景的自主作业中,障碍物检测承担着“先看清、再决策”的入口职责,其性能上限往往直接约束系统的安全冗余与通行效率。YOLO 将目标检测重构为从像素到边界框与类别的单次回归,在实时性与工程可部署性上形成了强烈优势,因此逐步成为障碍物检测系统中最常见的端到端视觉感知基线之一。 (CV Foundation)

回看传统视觉路线,障碍物检测通常依赖手工特征、滑窗或候选区域生成,再由分类器完成判别;这类流水线在可解释性与小数据条件下具有一定优势,但在尺度变化、复杂遮挡与长尾类别面前容易出现特征表达不足与误检漏检累积。两阶段检测器通过区域建议网络将“找哪里看”和“看是什么”耦合优化,使得候选区域质量与检测精度显著提升,但其推理延迟与多阶段后处理成本也限制了实时场景的上限。 (arXiv)

为兼顾速度与精度,单阶段检测器以密集预测替代候选区域生成,并通过多层特征图的多尺度检测缓解小目标问题,使得端侧部署更为自然。SSD 的多尺度默认框设计奠定了“多层次、密集回归”的经典范式,但在极端类别不均衡、密集背景负样本占优时仍面临训练不稳定与召回下降。 (arXiv) 这一问题在 RetinaNet 中被系统化为前景/背景失衡导致的梯度主导效应,并通过 Focal Loss 将训练关注点聚焦于难例,从而提升一阶段方法在复杂场景下的鲁棒性。 (CVF Open Access)

近年来,Transformer 结构将全局建模能力引入检测任务,使障碍物检测从“局部卷积堆叠”扩展到“全局关系推理”。DETR 将检测视为集合预测问题,以二分匹配的集合损失实现端到端训练,减少锚框与 NMS 等手工组件依赖,为复杂交通场景中的稳定推理提供了新的范式参考。 (ECVA)

障碍物检测研究的快速演进,与公开基准数据集的推动密不可分。KITTI 以真实道路采集与3D标注为核心,为车辆、行人等类别的检测评估提供了早期权威基线。 (CVPR Labs) 与此同时,MS COCO 以更丰富的日常场景与密集标注显著提升了模型的泛化训练能力,使得检测器能够在更广的背景分布上学习到更稳定的语义与定位特征。 (TTIC Home) 面向自动驾驶,nuScenes 进一步引入多传感器、全天候与360°覆盖,推动了从2D到3D、从单模态到多模态的障碍物检测范式迁移。 (CVF Open Access) BDD100K 以大规模、多任务的驾驶视频数据支撑检测、分割与跟踪等任务的统一评测,使系统研究能够更贴近真实上车需求。 (CVF Open Access)

在真实系统落地中,障碍物检测并不等同于“在论文数据集上刷高 mAP”,其核心难点集中在域移、稀有危险目标、雨雾夜间退化与传感器不一致性等工程问题;因此,学界与工业界开始强调多传感器融合与时序一致性,Transformer 也逐步成为融合策略的重要载体之一。 (CVF Open Access) 更进一步的端到端自动驾驶趋势试图把感知与决策在统一框架内联合优化,这对障碍物检测提出了更高的可解释性与可验证性要求,也反向推动检测模块在不确定性建模与闭环评测上的研究深化。 (CVPR Labs) 从应用侧看,面向自动驾驶与移动平台的障碍物检测系统越来越强调“可部署、可维护、可扩展”,因此对自适应与鲁棒性增强方法的系统化评估正在成为新的研究热点。 (ScienceDirect)

国内相关研究一方面持续跟进单目/双目与端到端检测范式的总结与模块化归纳,另一方面也在结合本土道路与工业场景的数据分布开展更贴近应用的算法改造。以视觉目标检测综述为代表的工作,往往从标签分配、损失设计、后处理与结构模块等角度对方法谱系进行系统梳理,为障碍物检测系统的工程选型提供了较强的方法论支撑。 (cjig.cn) 在细分目标上,行人检测研究围绕小目标、遮挡与姿态变化等难点形成了较完整的深度学习路线总结,这对交通与厂区混行场景中的“弱显著障碍物”识别具有直接参考意义。 (All Journals) 与此同时,深度模型在对抗扰动、分布偏移与噪声输入下的鲁棒性问题,已经被提升为影响安全关键系统可信部署的基础议题,需要在数据、训练与推理多个层面协同治理。 (CJC ICT)

如果把上述研究脉络压缩为“系统设计”视角,老思更倾向于用“算法范式—数据基准—工程约束”三条线去理解障碍物检测的演进逻辑:算法上从两阶段到单阶段再到集合预测,数据上从通用检测到自动驾驶多模态与多任务,工程上从离线评测走向端侧实时与安全可验证。下表给出若干代表性方法与常用数据基准的对应关系,便于后续章节在模型选择与实验设计上建立共同语境。

代表方法/方向 典型范式与关键点 常用数据集(示例) 主要优势 典型局限
Faster R-CNN (arXiv) 两阶段,RPN 提案 + RoI 分类回归 COCO (TTIC Home) 精度强、可解释性相对好 推理延迟较高
SSD (arXiv) 单阶段,多尺度特征图密集预测 COCO (TTIC Home) 速度快、实现成熟 小目标与难例召回受限
YOLO (CV Foundation) 单阶段端到端回归 KITTI (CVPR Labs) / BDD100K (CVF Open Access) 实时性强、工程友好 对域移与长尾更敏感
DETR (ECVA) Transformer 集合预测,匹配损失 COCO (TTIC Home) 端到端、减少手工组件 收敛与小目标仍具挑战
融合与时序(Survey) (CVF Open Access) 多传感器融合、关系建模 nuScenes (CVF Open Access) 全天候、增强可用性 系统复杂、标定与同步敏感

在本文(本博客)的工作中,博主将上述研究进展落到一个可复现实用的“障碍物检测系统”上:其一,选择 YOLO 系列作为核心检测器,并在同一数据集与统一评测协议下对多版本模型进行横向对比,以明确精度、速度与参数量之间的工程权衡;其二,围绕目标场景构建并规范化标注数据集,完成清洗、增强与训练/验证/测试划分以支撑稳定复现;其三,以 PySide6 实现可视化交互界面,打通图片/视频/摄像头推理、阈值调参、结果导出与统计分析,形成从算法到应用的闭环工程样例。


主要功能演示:

系统的主要功能演示可以从“先建立用户身份,再进入主界面完成检测任务”的使用链路展开。首先是注册与登录模块:系统启动后默认进入登录窗口,未注册用户可在注册页完成用户名、密码与必要信息的录入,提交后写入 SQLite 用户表并进行唯一性校验;已注册用户在登录页输入凭据后,程序执行参数化查询完成口令校验,通过后加载该用户的个性化配置与历史检测记录,随后跳转主界面。这样做的价值不止是“有一个入口”,更重要的是把检测结果、常用阈值、最近模型、导出路径等偏好与用户绑定,保证同一台设备上多用户协作时的数据隔离与可追溯性;同时在工程实现上,登录窗口与主窗口通过 Qt 信号槽传递用户 ID 与会话状态,避免界面层直接耦合数据库细节,从而让权限控制与后续扩展更干净。
在这里插入图片描述

进入主界面后,页面布局围绕“输入—显示—控制—统计—导出”的闭环组织。界面中央为可视化显示区,承载原始帧与推理叠加结果(边界框、类别名、置信度),并在视频/摄像头模式下提供实时刷新与帧率提示;侧边栏或底部控制区提供输入源选择(图片、文件夹、视频、摄像头)、播放控制(开始、暂停、停止、逐帧/回放)以及运行状态提示(模型加载、推理中、已结束)。在结果侧,系统同步输出目标列表与类别统计信息,例如在表格中展示每个检测框的类别、置信度、坐标信息,并在统计区显示当前帧或累计序列的各类别计数,配合置信度阈值与 IOU 阈值滑块实现“所见即所得”的快速调参。整体布局遵循主操作区突出、辅助信息可收纳的原则,尽量减少用户在推理过程中频繁切换视线与窗口的成本。
在这里插入图片描述

模型选择功能用于满足不同算力与精度需求下的快速切换:系统默认加载 YOLOv12n 作为主模型,同时支持导入或下拉切换 YOLO 系列权重(例如 YOLOv5/6/7/8/9/10/11/12 的轻量版本)。在交互上,用户在模型选择框中切换模型后,界面立即触发“卸载旧模型—加载新权重—进行一次空推理或 warmup—更新状态栏提示”的流程,确保首次推理的延迟可控、状态反馈明确;在工程上,Detector 作为处理层封装了模型加载、推理与后处理,主窗口仅通过信号槽下发“权重路径/模型名/阈值参数”,避免 UI 逻辑侵入推理代码。这样一来,同一套界面可以在“高帧率在线预警”和“高精度离线复核”之间平滑切换,尤其适合障碍物检测这类对实时性敏感但又需要在复杂场景下保证召回的任务。
在这里插入图片描述

主题修改则面向可用性与长期使用体验:系统提供浅色/深色主题切换,并支持对背景图、图标与关键控件字体颜色进行统一替换,使界面在强光室外或夜间监控室等不同环境下保持良好可读性。实现层面通常采用 Qt Style Sheet(QSS)对控件样式集中管理,将主题色、边框、圆角与悬停态等抽象为可替换变量;用户在设置面板中修改主题后,程序将主题配置写入该用户的配置表或本地配置文件,下一次登录自动恢复上次主题与布局偏好。对于演示而言,这个功能看似“非算法”,但它显著降低了系统在实际部署中的操作门槛:同一套检测能力通过更友好的交互呈现出来,才能更稳定地进入使用闭环并支撑持续迭代。
在这里插入图片描述


2. 数据集介绍

本研究面向道路与开放场景下的障碍物感知需求,构建了一个覆盖“常见交通参与者—道路附属设施—潜在危险目标”的多类别目标检测数据集。数据集中共包含 9,172 张图像,来源既包含真实道路/园区拍摄的自然场景,也包含一定比例的网络公开素材与人工筛选样本,用于增强类别覆盖与外观多样性。从你提供的标注可视化样例可以观察到,目标既包含大尺度目标(如公共汽车、树木),也包含大量中小尺度实例(如交通标志、电线杆、未盖井盖等),并且存在遮挡、背景干扰与多目标密集共存(如车流场景)的情况,这类数据分布对检测器的多尺度特征表达与难例抑制能力提出了更高要求。结合边界框分布统计图( x , y , w , h x,y,w,h x,y,w,h 的联合分布),标注框中心位置总体集中于图像中部区域,同时宽高分布呈现明显长尾,小目标占比不低,意味着训练阶段需要更积极的数据增强与更稳定的正负样本分配策略,以避免模型在密集背景或小目标条件下出现漏检。
在这里插入图片描述

在数据构建与预处理流程上,本数据集遵循 YOLO 系列检测器的训练习惯:首先完成统一的类别体系定义与标注规范(同类目标的尺度差异、截断目标、遮挡目标的框定边界保持一致),再将标注导出为 YOLO TXT 归一化格式(以图像宽高归一化后的中心点坐标与宽高表示边界框)。在预处理阶段,图像被统一缩放至 640 × 640 640\times640 640×640 的输入尺寸以匹配主干检测网络;训练阶段可结合常用增强策略(随机尺度缩放、水平翻转、HSV 抖动、Mosaic/Copy-Paste 等)提升模型对光照变化与背景迁移的鲁棒性。数据划分采用训练/验证/测试三段式设置:训练集用于拟合模型参数,验证集用于超参数选择与早停判据,测试集用于最终泛化评估;这种划分能够避免在迭代调参时“看见测试集”导致的性能高估,并保证实验对比的可信度。
在这里插入图片描述

📊 数据集规格说明 (Dataset Specification)

维度 参数项 详细数据
基础信息 标注软件 LabelImg
标注格式 YOLO TXT (Normalized)
数量统计 训练集 (Train) 7,844 张 (85.53%)
验证集 (Val) 865 张 (9.43%)
测试集 (Test) 463 张 (5.05%)
总计 (Total) 9,172 张
类别清单 Class ID: 0 Bicycle / 自行车
Class ID: 1 Bus / 公共汽车
Class ID: 2 Car / 汽车
Class ID: 3 Dog / 狗
Class ID: 4 Electric pole / 电线杆
Class ID: 5 Motorcycle / 摩托车
Class ID: 6 Person / 人
Class ID: 7 Traffic signs / 交通标志
Class ID: 8 Tree / 树
Class ID: 9 Uncovered manhole / 井盖未盖
图像规格 输入尺寸 640 * 640
数据来源 实地拍摄 + 公开数据/网络素材(手动清洗)

3. 模型设计与实现

在本障碍物检测系统中,老思将检测模型的设计目标明确为“实时可用、类别覆盖完整、对小目标与密集场景具有稳定召回”。因此,模型侧采用 YOLO 系列的一阶段端到端范式作为主干:网络输入为统一缩放后的 640 × 640 640\times640 640×640 图像,主流程遵循“Backbone 特征提取—Neck 多尺度融合—Head 稠密预测”的经典结构。其直观好处在于,推理阶段仅需一次前向传播即可在多个尺度特征图上同时完成分类与定位,从系统工程角度更易满足视频流与摄像头的低时延需求。

基线模型方面,本文默认选用 YOLOv12n 作为主模型(UI 中亦支持切换其它 YOLO 家族权重),其核心动机是利用更强的全局建模能力提升复杂背景下的目标区分度。YOLOv12 的结构特征可以概括为“注意力中心化”:在保持 YOLO 框架整体拓扑不变的前提下,通过区域化注意力(Area Attention)扩大有效感受野并控制计算开销,同时以改进的特征聚合模块(如 R-ELAN)缓解注意力堆叠带来的优化难度;此外,模型可选用 FlashAttention 以降低显存访问瓶颈,并通过卷积式的位置感知结构(position perceiver)在不显式引入位置编码的情况下补偿空间位置信息。上述设计使模型在交通类场景中对遮挡、远距小目标与纹理相似背景的判别更“干净”。

任务建模与输出头方面,为适配你给出的 10 类障碍物体系(自行车、公共汽车、汽车、狗、电线杆、摩托车、行人、交通标志、树、井盖未盖),检测头在多尺度特征层上进行稠密预测,输出包含类别概率与边界框参数。工程实现中更推荐采用解耦头(decoupled head)的思路:分类分支主要学习语义区分,回归分支专注于几何定位,从优化角度可减少梯度冲突并提升收敛稳定性。若采用无锚框(anchor-free)表达,网络通常直接回归到目标中心附近的距离分布或边界框参数,并在后处理阶段结合置信度阈值与 NMS 完成最终框筛选;这与系统 UI 中的 Conf/IOU 滑块天然对齐,便于用户在“漏检风险”和“误检容忍”之间进行交互式权衡。

损失函数设计上,系统训练目标可以写成分类损失与定位损失的加权和。分类部分常用二元交叉熵或其改进形式;定位部分可采用 IoU 系列损失(如 CIoU)以同时约束重叠度、中心距离与长宽比;在更细粒度的回归表达下,还可引入分布式回归思想(DFL)提升定位精度。一个常用的总体形式为
L = λ cls L ∗ cls + λ ∗ box L ∗ IoU + λ ∗ dfl L ∗ DFL , \mathcal{L}=\lambda_{\text{cls}}\mathcal{L}*{\text{cls}}+\lambda*{\text{box}}\mathcal{L}*{\text{IoU}}+\lambda*{\text{dfl}}\mathcal{L}*{\text{DFL}}, L=λclsLcls+λboxLIoU+λdflLDFL,
其中 L ∗ cls \mathcal{L}*{\text{cls}} Lcls 负责类别判别, L ∗ IoU \mathcal{L}*{\text{IoU}} LIoU 约束预测框与真值框的几何一致性, L ∗ DFL \mathcal{L}*{\text{DFL}} LDFL 用于细化边界回归的分布表达, λ \lambda λ 为权重系数(由框架默认给出或在验证集上微调)。在你的数据集分布中,小目标与密集目标并存,且存在“交通标志/电线杆/井盖”等细粒度类别,实践中更需要保证正负样本分配稳定、回归分支梯度不过度被背景主导,因此上述“IoU 约束 +(可选)分布回归”的组合通常更利于获得平衡的召回与定位精度。

实现层面,模型训练与推理建议以 Ultralytics 的统一接口封装为 Detector 模块:初始化时加载指定权重并完成一次 warmup;推理时对输入帧执行 Resize/LetterBox 与归一化,再进行前向传播得到候选框;后处理阶段依据置信度阈值 τ c \tau_c τc 与 NMS 的 IoU 阈值 τ i o u \tau_{iou} τiou 过滤框集合,并将最终结果组织为“类别—置信度—坐标”的结构体供 UI 层渲染与统计。这样做的关键收益在于,界面层只需要关注信号槽触发与结果显示,算法侧则可以独立迭代 YOLOv5–YOLOv12 的不同权重与结构版本,从而保证系统在“可维护性”和“可扩展性”上的一致性。


4. 训练策略与模型优化

本系统的训练策略围绕“在 10 类障碍物数据集上获得稳定收敛,并兼顾端侧实时推理”这一目标展开。考虑到数据集中既有公共汽车、树木等大目标,也存在交通标志、电线杆、未盖井盖等典型小目标与细粒度类别,训练阶段首先需要保证输入分辨率与增强策略对小目标友好,同时通过合理的学习率调度与正则化配置抑制过拟合与训练振荡。工程上采用 Ultralytics/YOLO 训练范式进行端到端训练:图像统一以 LetterBox 方式缩放至 640 × 640 640\times640 640×640,尽量保留原始纵横比,避免拉伸导致的几何失真;批归一化(BN)默认随网络层结构启用,既能稳定梯度分布,也能在较大 batch 下加速收敛。硬件侧以 RTX 4090 作为主训练 GPU,能够在保持较高吞吐的同时支持更强的数据增强与更长的训练轮次,从而在复杂场景下获得更稳定的泛化性能。

在超参数设置上,老思建议以“预训练迁移 + 余弦退火 + 早停”作为默认组合。预训练权重能够显著缩短从零开始学习低层纹理与边缘特征的时间,并提升长尾类别的初期可学习性;学习率采用较高的初始值以快速进入有效区域,再通过余弦退火逐步衰减到较小的最终比例,使后期训练更专注于细化定位与提升置信度校准。与之配套的 warmup 机制在前若干轮内线性提升学习率,可有效缓解刚开始训练时因梯度尺度不稳定导致的损失尖峰。为了避免在验证集上长期无收益的“无效迭代”,引入早停策略:当验证集指标在连续若干轮无提升时提前结束训练,既节省算力也降低过拟合风险。若以一组可复现的默认配置为例,可采用 epochs=120、patience=50、batch=16、imgsz=640、pretrained=true、optimizer=auto、lr0=0.01、lrf=0.01、momentum=0.937、weight_decay=0.0005、warmup_epochs=3.0;其中 weight decay 作为 L 2 L_2 L2 正则项在检测任务中通常比 Dropout 更稳定,尤其是在卷积主干与检测头的组合结构里更不易引入特征稀释。

数据增强与训练阶段的分段策略是提升小目标召回的关键环节。训练前中期启用 Mosaic(以及可选的 MixUp/Copy-Paste)能够在单张图像内构造更密集的目标组合,显著增加尺度变化与上下文多样性,从而提升模型对拥挤车流、遮挡与远距目标的适应能力;但增强过强也可能带来“边界不自然”与分布偏移,因此在训练后期逐步关闭 Mosaic(例如 close_mosaic=10)更有利于模型回到真实分布上做精细拟合,提升框回归的稳定性与置信度的校准质量。对你当前数据集而言,这一“强增强学习语义与尺度—弱增强精修定位”的两阶段节奏通常更容易同时兼顾 mAP 与实际部署时的观感一致性。若发现某些类别(例如交通标志、电线杆、井盖未盖)仍存在漏检,可在不改变主干结构的前提下优先从数据侧做增强补偿:增加这些类别在训练批次中的出现频率、在标注清洗中强化边界一致性、或在采集时刻意覆盖不同光照/距离/角度,往往比盲目堆叠网络模块更有效。

模型优化与部署层面的策略则以“轻量化推理链路、降低延迟抖动”为核心。推理前处理保持与训练一致的 LetterBox 与归一化,避免输入分布不一致造成置信度漂移;推理后处理通过可调的置信度阈值 τ c \tau_c τc 与 NMS 的 IoU 阈值 τ i o u \tau_{iou} τiou 控制误检与漏检的权衡,并在 UI 中开放给用户交互调参,使系统能针对不同道路密度与任务偏好快速切换工作点。若需要进一步压榨端侧性能,可采用半精度 FP16 推理、ONNX 导出与 TensorRT 加速等工程手段减少算子开销与显存带宽压力;与此同时,建议在部署前做一次包含典型场景(夜间、逆光、雨雾、密集车流)的“小规模回归评测”,以验证量化/加速不会引入系统性漏检。总体而言,本文的训练与优化策略并不追求复杂技巧堆叠,而是以稳定收敛、可复现和可部署为约束,通过迁移学习、分段增强与合理调度将 YOLO 系列检测器在你的 10 类障碍物数据集上落到可用的工程性能区间。


5. 实验与结果分析

本节实验的目的,是在同一数据集与同一训练/评测协议下,量化对比 YOLO 系列不同版本在“精度—召回—推理时延—计算量”之间的工程权衡,并进一步结合 PR 曲线、F1-Confidence 曲线、训练收敛曲线与归一化混淆矩阵,解释模型性能差异背后的数据与任务因素。实验对象覆盖轻量级(n/tiny)与中等规模(s)两条模型族:轻量级组为 YOLOv5nu、YOLOv6n、YOLOv7-tiny、YOLOv8n、YOLOv9t、YOLOv10n、YOLOv11n、YOLOv12n;中等规模组为 YOLOv5su、YOLOv6s、YOLOv8s、YOLOv9s、YOLOv10s、YOLOv11s、YOLOv12s。所有模型均在相同的 10 类障碍物数据集上训练,并在固定测试集上评估,硬件平台为 NVIDIA GeForce RTX 3070 Laptop GPU(8GB),同时记录端到端推理链路的预处理、推理与后处理耗时,以贴近系统落地时的真实性能表现。

度量指标方面,本文采用目标检测常用的 Precision、Recall、F1 Score、mAP@0.5(记作 mAP50)与 mAP@0.5:0.95(记作 mAP50-95)。其中 Precision 衡量误检控制能力,Recall 衡量漏检程度,二者通过 F 1 = 2 P R P + R F_1=\frac{2PR}{P+R} F1=P+R2PR 进行综合;mAP50 更偏向“是否检出”的粗粒度衡量,而 mAP50-95 通过在多个 IoU 阈值上积分,更能反映定位精度与框质量。除此之外,PR 曲线用于观察不同召回水平下精度的衰减趋势,F1-Confidence 曲线用于确定置信度阈值的合理工作点,这两者直接对应系统 UI 中可调的 Conf 参数;混淆矩阵则用于定位“哪一类更容易被当作背景漏掉”或“类别间互相混淆”的结构性问题。

在轻量级(n/tiny)模型对比中,各模型的 mAP50 大多分布在 0.696–0.747 区间,整体差距不大,但速度与后处理成本差异明显。YOLOv9t 在该组取得最高的 mAP50=0.7470,且 mAP50-95=0.6278 也处于领先水平,说明其在定位质量上并未以牺牲框精度换取“看起来更高”的 mAP50;然而其推理时间 InfTime=16.51ms 显著高于多数 n 级模型,使其在视频流场景下可能更难达到较高帧率。YOLOv8n 与 YOLOv6n 的 InfTime 分别为 6.83ms 与 6.78ms,在轻量级组中属于更“顺滑”的实时选项,但二者 mAP50 分别为 0.7347 与 0.7308,属于性能稳定但不拔尖的均衡方案。YOLOv10n 的 Precision 达到 0.7866,为该组最高,但 Recall=0.6824 相对偏低,导致 F1=0.7308 并未显著领先;这类“高精低召回”的特征在工程上通常意味着模型更保守,阈值稍高就容易漏掉远处小目标或弱纹理目标,因此若用于安全敏感的障碍物感知,往往需要适度下调 Conf 或引入更强的小目标数据增强来补齐召回。YOLOv7-tiny 的 mAP50=0.6963 与 mAP50-95=0.5501 明显落后,且 InfTime=14.74ms、PostTime=4.06ms 也偏大,说明其在该数据集上的优势并不突出,更像是“结构较老、优化路径不匹配当前框架”的典型表现。

在中等规模(s)模型对比中,整体 mAP50 与 F1 均呈现上移,且模型之间的差距比 n 组更具可解释性:YOLOv9s 在该组取得最高 mAP50=0.7561 与最高 mAP50-95=0.6499,同时 F1=0.7505 也处于领先,说明它在“检出能力”和“框定位质量”上都更均衡;但其 InfTime=18.66ms 是 s 组中最慢,若系统部署侧追求实时性(例如摄像头 25–30 FPS),需要结合 TensorRT/FP16 或降低输入分辨率来换取吞吐。YOLOv10s 的 Precision=0.7815 为 s 组最高,但 Recall=0.7234 偏低,使得 F1=0.7513 与 YOLOv9s 接近,且 mAP50=0.7490 略逊于 YOLOv9s;这一现象与 n 组类似,提示其输出更“谨慎”,对于“电线杆/交通标志/井盖未盖”这类小而细的目标,容易在高阈值下被过滤。YOLOv8s 具有该组最快的 InfTime=7.66ms,且 mAP50=0.7422、mAP50-95=0.6257 并不差,因此从工程角度它更像“以较低推理开销提供稳定精度”的实用选项。YOLOv12s 的 PreTime=2.09ms 为该组最低,说明其前处理链路更轻或实现更友好,但其 Recall=0.7062 明显偏低,导致 F1=0.7377 在 s 组中处于后段;这与后文从 PR/F1 曲线观察到的“高召回区精度衰减更快”相一致,反映其在当前数据分布下仍存在漏检结构性风险。

为便于整体对比,下表汇总两条模型族的关键指标(均为测试集统计,单位与原始结果一致)。

模型组 最优 mAP50(模型) mAP50 / mAP50-95 最优 F1(模型) F1 最快推理 InfTime(模型) InfTime(ms)
n/tiny YOLOv9t 0.7470 / 0.6278 YOLOv11n 0.7435 YOLOv6n 6.78
s YOLOv9s 0.7561 / 0.6499 YOLOv10s 0.7513 YOLOv8s 7.66

从类别层面的 PR 曲线可以更细致地解释“总体 mAP 接近但体验不同”的现象。如下 PR_curve 图所示,整体 mAP@0.5 为 0.744(粗蓝线),其中 Dog(0.959)、Bus(0.933)、Motorcycle(0.913)、Bicycle(0.888)属于高可分性类别,曲线在较高召回区仍能保持较高精度,说明这些目标外观稳定、尺度较大或背景对比强,模型较易学习到鲁棒特征;Uncovered manhole(0.819)也表现不错,推测与其纹理/形状相对固定有关。相对而言,Electric pole 的 AP 仅 0.321,Traffic signs 0.575,Person 0.610,Tree 0.681,Car 0.740,这一结构与数据分布高度一致:电线杆与交通标志通常呈细长/小目标形态,且常与树干、路灯、建筑边缘等背景产生强形态相似性;行人则受姿态变化、遮挡与尺度变化影响更大;树木在不同季节与光照下纹理差异显著,边界也更不规则,导致回归更难稳定。PR_curve 图中这些类别的曲线往往在 Recall 升高后精度下降更快,意味着当模型努力“多检出”时,更容易把背景中的细长结构或高对比边缘误当作目标。
在这里插入图片描述

F1-Confidence 曲线给出了系统部署时阈值设置的直接依据。如下 F1_curve 图所示,全类别 F1 在置信度约 0.474 处达到峰值约 0.73,之后随着阈值继续升高,Recall 下降导致 F1 回落更快;这意味着若系统使用默认 Conf=0.5 已接近最优工作点,但在偏召回的安全场景中,可将阈值略降至 0.40–0.47 区间以减少漏检,而在偏精度的离线筛查场景中可提高到 0.55–0.65 以减少误检。值得强调的是,Electric pole 的 F1 曲线整体显著低于其它类别,且在较低置信度就开始回落,说明该类的“可分性瓶颈”并非简单靠调阈值即可解决,更可能需要数据与结构两侧共同优化,例如增加电线杆的近远景样本、引入更高分辨率训练或针对细长目标的特征增强。
在这里插入图片描述

混淆矩阵进一步揭示了主要错误模式。如下 confusion_matrix_normalized 图所示,对角线上 Bicycle(0.89)、Bus(0.93)、Dog(0.93)、Motorcycle(0.89)、Uncovered manhole(0.84)的正确识别率较高;Electric pole 的对角值仅约 0.39,表明其大量样本被预测为背景或被其它细长类别吸收,这与 PR/F1 的弱势完全一致。图中 background 行(以真实类别为列的最后一行)在 Electric pole、Person、Traffic signs、Tree 等列出现较高占比,直观对应“漏检主导”的类别:模型更倾向于把这些目标当作背景忽略,而非把它们错分为其它类别。对于障碍物检测系统而言,这类错误比“错分但仍有框”更危险,因为漏检会直接破坏下游避障策略的安全冗余;因此这几类应被视为后续迭代的优先优化对象。
在这里插入图片描述

训练曲线能够验证训练过程是否存在明显过拟合或不稳定。如下 results 图所示,train/box_loss、train/cls_loss、train/dfl_loss 皆呈平滑下降,且 val 侧损失在前期快速下降后趋于稳定,mAP50 与 mAP50-95 在约 30–60 epoch 进入平台期,后期提升幅度有限但并未出现大幅回落,这说明训练总体是稳定的,且采用的早停或后期关闭强增强策略能够避免明显过拟合。结合 mAP50-95 的平台化特征可以推断,后期进一步提升主要瓶颈更可能来自数据侧的长尾与小目标,而不是“训练没收敛”;因此,与其继续拉长 epoch,更有效的方向通常是提升困难类别的有效样本量、改善标注一致性、或针对细长/小目标引入更高输入分辨率与更合适的增强组合。
在这里插入图片描述

最后,从跨模型的整体对比图可以看到“差距不大但取舍清晰”。在 Obstacle_n_type_comparison 图中,各 n 级模型的 F1 与 mAP50 处于同一窄带内,说明在当前数据集上轻量模型的上限相对接近,真正拉开体验差异的是时延与后处理;相反,在 s 级模型上,YOLOv9s 在精度指标上更突出,但其推理开销明显更大,体现出“更强表示能力”与“更高时延”的典型代价。结合系统工程目标,如果部署侧更关心实时帧率与交互流畅,YOLOv8n/YOLOv6n(轻量)或 YOLOv8s(中等)更容易成为默认选择;若部署侧更关心精度与定位质量并允许做推理加速,YOLOv9t/YOLOv9s 则更适合作为高精度方案。无论选择哪一条路线,Electric pole、Traffic signs、Person 等类别的漏检趋势都提示后续需要以“补齐困难类别召回”为核心进行针对性优化,否则整体 mAP 的小幅提升很难转化为系统安全性的实质改善。

在这里插入图片描述


6.系统设计与实现

6.1 系统设计思路

本系统以“检测能力可替换、交互链路可追踪、结果数据可持久化”为设计约束,采用典型的分层架构组织代码与界面:界面层由 Ui_MainWindow 承载控件布局与样式配置,控制层由 MainWindow 统一负责状态管理、槽函数调度与跨模块数据流转,处理层由 Detector 封装模型加载、推理与后处理,并将输出统一为“类别—置信度—边界框—统计信息”的结构体,最终交由界面层完成绘制与表格填充。这样的分层能够保证 UI 修改(主题、控件增删、布局调整)不影响推理逻辑,同时也使 YOLOv5–YOLOv12 的权重切换被限制在 Detector 内部完成,避免算法代码与业务逻辑互相侵入。
在这里插入图片描述

在运行链路上,系统以 Qt 信号槽作为跨层通信的主机制:输入侧支持图片、视频与摄像头三种模式,MainWindow 在接收用户操作后触发统一的“输入帧获取→预处理→推理→后处理/统计→界面更新”的流水线;推理过程被封装为可重入的接口(例如 infer(frame, conf, iou, device)),使得阈值调节、模型切换、暂停/继续播放都可以通过状态机进行控制,而无需重写业务流程。对视频与摄像头模式,系统采用定时器驱动逐帧推理,并在状态栏回显 FPS、当前帧号与模型信息,从而保证用户能够直观看到系统负载与实时性能。

数据侧以 SQLite 做结果与用户配置的统一落库,形成“可复现”的工程闭环:每次推理可选择保存检测图片、导出 CSV/JSON,并将检测记录(时间戳、输入源、模型名、阈值、各类别计数、检测框明细)写入数据库;登录后按用户 ID 加载其历史记录、阈值偏好、主题配置与最近使用模型,实现多用户共享设备时的隔离与追溯。由于 Detector 与数据库交互均由 MainWindow 调度,系统能够在“实时推理—交互调参—结果落库—历史回看”之间保持一致的数据口径,避免常见的“界面显示一套、导出存储另一套”的工程偏差。

图 系统流程图在这里插入图片描述

图注:系统从初始化到多源输入,完成预处理、推理与界面联动,并通过交互形成闭环。

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

在这里插入图片描述

登录与账户管理并非孤立的“权限模块”,而是障碍物检测系统实现个性化与可追溯的关键枢纽:用户在登录阶段完成身份绑定后,系统会以用户 ID 为索引加载其主题样式、阈值偏好与最近模型等配置,并在进入主界面时将这些配置投影到 UI 的控件状态,从而使同一套检测流程在不同用户之间呈现出稳定且一致的操作体验;推理过程中产生的检测记录与导出文件同样按用户维度落库,既保证多用户共享设备时的结果隔离,也便于后续按时间、输入源与类别统计进行筛选分析;当用户修改头像或密码时,修改操作被写回 SQLite 并在当前会话即时生效,而注销/切换账号则通过清理内存态会话与恢复默认 UI 状态,确保下一位用户进入系统时不会继承前一位用户的阈值、模型或历史路径,从而把“账户体系”与“主检测闭环”在工程层面严密衔接起来。


7. 下载链接

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

在这里插入图片描述

完整资源中包含数据集及训练代码,环境配置与界面中文字、图片、logo等的修改方法请见视频,项目完整文件请见项目介绍及功能演示视频处给出:➷➷➷

功能效果展示视频:障碍物检测系统YOLOv12-v11至v5(八个模型,含示例论文)合集(完整Python项目演示,UI界面,含论文等)
环境配置博客教程:(1)Pycharm软件安装教程;(2)Anaconda软件安装教程;(3)Python环境配置教程
或者环境配置视频教程:(1)Pycharm软件安装教程;(2)Anaconda软件安装教程;(3)Python环境依赖配置教程
数据集标注教程(如需自行标注数据):数据标注合集


8.参考文献

1 Redmon J, Divvala S, Girshick R, et al. You Only Look Once: Unified, Real-Time Object Detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 2016: 779-788. (CVF Open Access)
2 Ren S, He K, Girshick R, et al. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks[C]//Advances in Neural Information Processing Systems (NeurIPS). 2015. (NeurIPS Proceedings)
3 Liu W, Anguelov D, Erhan D, et al. SSD: Single Shot MultiBox Detector[C]//European Conference on Computer Vision (ECCV). Springer, 2016: 21-37. (Springer)
4 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 (ICCV). 2017: 2980-2988. (CVF Open Access)
5 Carion N, Massa F, Synnaeve G, et al. End-to-End Object Detection with Transformers[C]//European Conference on Computer Vision (ECCV). Springer, 2020: 213-229. (Springer)
6 Geiger A, Lenz P, Urtasun R. Are We Ready for Autonomous Driving? The KITTI Vision Benchmark Suite[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 2012. (CVPR Labs)
7 Lin T Y, Maire M, Belongie S, et al. Microsoft COCO: Common Objects in Context[C]//European Conference on Computer Vision (ECCV). Springer, 2014: 740-755. (Springer)
8 Caesar H, Bankiti V, Lang A H, et al. nuScenes: A Multimodal Dataset for Autonomous Driving[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). 2020. (CVF Open Access)
9 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 (CVPR). 2020: 2636-2645. (CVF Open Access)
10 Singh A, et al. Transformer-Based Sensor Fusion for Autonomous Driving: A Survey[C]//ICCV Workshops. 2023. (CVF Open Access)
11 Chen L, Wu P, Chitta K, et al. End-to-end Autonomous Driving: Challenges and Frontiers[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2024. (CVPR Labs)
12 An in-depth evaluation of deep learning-enabled adaptive approaches for obstacle detection systems in autonomous vehicles[J]. Engineering Applications of Artificial Intelligence, 2024. (ScienceDirect)
13 (中文)视觉目标检测深度学习方法综述[J]. 中国图象图形学报, 2022, 27(6): 1697-1722. (cjig.cn)
14 Luo Y, Zhang C, Tian Y, et al. 深度学习行人检测方法综述[J]. 中国图象图形学报, 2022, 27(7): 2094-2111. (All Journals)
15 纪守领, 杜天宇, 邓水光, 等. 深度学习模型鲁棒性研究综述[J]. 计算机学报, 2022, 45(1). (CJC ICT)

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐