最新YOLO实现的夜视行人实时检测平台(Flask+SocketIO+HTML_CSS_JS)

摘要

本博文面向“夜视行人实时检测”场景,基于 Flask + Flask-SocketIO/HTML/CSS/JS 构建可交互的 Web 网页界面,集成 YOLOv5–YOLOv12(共8种) 模型与对比评测,支持 图片/视频/浏览器摄像头 多源输入;前端提供 即时双画面对比视频同步双帧进度/暂停/继续/停止 控制,后端以 PyTorch 实现推理与批量处理。系统内置 Conf/IoU 调节类别筛选CSV 导出带框结果一键下载,并将结构化结果写入 SQLite 入库;提供 登录/注册(可跳过) 与会话管理,支持 模型选择/权重上传 的热切换与类别自动同步。实验部分统一比较 mAP、F1、PR 曲线与训练曲线,并给出延迟、参数量等指标的可视化分析;同时开放 数据与代码可下载 的复现实验入口与 Web 网页界面实时演示 说明,便于读者快速复用到夜间监控与行车辅助等场景。文末提供完整工程与数据集下载链接

讲解视频地址基于深度学习的夜视行人检测系统(Web系统+完整项目分享+数据集+多YOLO模型)
YOLOv12-v11/v10/v9/v8/v7/v6/v5系统(八个模型,含说明论文)合集下载:https://mbd.pub/o/bread/YZWck55wbA==
说明论文下载:https://mbd.pub/o/bread/YZWck5xxbA==
YOLOv12下载:https://mbd.pub/o/bread/YZWbmplyaQ==
YOLOv11下载:https://mbd.pub/o/bread/YZWbm5lyag==
YOLOv10下载:https://mbd.pub/o/bread/YZWbm5huZA==
YOLOv9下载:https://mbd.pub/o/bread/YZWbmp9uaA==
安装与教程文档:https://deeppython.feishu.cn/wiki/OW2cwiNBRiMhask7tFHcqiv4nNe

@

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


1. 网页功能与效果

(1)登录注册:提供登录、注册与一次性跳过三种入口,会话在当前浏览器标签与后端会话存续期内生效,并可在账户页随时注销或切换;口令采用哈希与最小权限策略,首登自动载入个性化配置与历史记录。进入系统后沿“概览 → 图片/视频/摄像头 → 模型选择 → 导出”的动线完成主要操作,既保证安全又不牺牲上手速度。
在这里插入图片描述

(2)功能概况:系统支持图片、视频与浏览器摄像头输入,前端提供左右等宽的16:9自适应双画面对比与同步双帧显示,结合进度/暂停/继续/停止控制形成可验证闭环。面板可调节Conf/IoU与类别筛选,检测结果可CSV导出与带框图片/视频一键下载,并将结构化信息写入SQLite以便后续追溯与统计。
在这里插入图片描述

(3)视频检测:针对夜视场景提供帧间时序一致性维护与缓冲式写盘,支持边播边推理、断点续播与MP4导出;时间轴可拖拽定位,掉帧与解码异常自动重试并提示。叠加置信度与帧率覆盖层,支持关键帧标记与区间导出,便于误检复盘与样本再标注。
在这里插入图片描述

(4)更换模型:上传权重即可切换当前模型,系统自动完成Warmup并同步刷新类别与配色方案;支持YOLOv5–YOLOv12与自定义分支,缓存最近使用以快速回退。路径规范跨平台兼容,数据库采用自动迁移策略,保障升级、迁移与多人协作时的持续可用。
在这里插入图片描述

(5)概览界面:首页聚合近期任务与关键指标(样本量、延迟、mAP/F1快照、导出次数),提供按文件名与时间段的快速筛选与高亮定位。支持一键续跑、批量导出与结果溯源链接,配合简单审计日志与会话信息,帮助博主与团队快速掌握系统运行状态与数据质量。
在这里插入图片描述


2. 绪论

2.1 研究背景与意义

夜视行人检测直接影响交通安全预警、园区与城市安防以及工业夜班巡检的人身与财产风险控制,因此在低照度、眩光与反射干扰、运动模糊和尺度跨度大的复杂条件下保持稳定识别具有现实迫切性1。(Oxford Robotics)与日景相比,夜景下传感器信噪比显著下降且背景对比度不稳定,通用日景模型在“日训夜测”时会出现明显性能坍塌,专门的夜间基准验证了夜景建模与评测体系的必要性1。(Oxford Robotics)可见–红外严格配对数据集显示多模态互补在低光环境中对行人轮廓提取具有明显优势,并降低跨域迁移成本2。(arXiv)另一方面,低照度图像增强作为前置处理虽能提升对比与细节,但若与检测链路耦合不当会放大伪影并带来额外时延,因此需要检测器与增强策略的联合设计与系统级权衡3。(Caf Journals)在工程落地上,端到端实时平台需兼顾精度、延迟与可解释可视化,结合浏览器侧交互与后端推理闭环,才能支撑持续运营场景中的在线监测、复盘与审计需求5。(arXiv)针对边缘部署与浏览器交互,ONNX/TensorRT 与量化感知训练等手段可在较小精度损失下显著降低时延并提升吞吐,从而满足夜视场景的实时性目标20。(NVIDIA Developer)

2.2 国内外研究现状

围绕“夜视行人”这一特定任务,数据侧首先推动了夜景鲁棒性的系统研究:NightOwls 从真实夜间监控出发揭示了日训夜测的显著退化并提供统一评测基准1;LLVIP 以严格时空对齐的可见–红外成对图像为行人检测、融合与跨模态蒸馏提供了可直接复用的实验土壤2。(Oxford Robotics)夜景的主要挑战包括低照度引发的信噪比降低、强反射与炫光带来的类间混淆、远距小目标导致的召回下降与拥挤遮挡造成的检测不稳定,促使研究同时在数据、模型与部署三层展开3。(Caf Journals)

范式方面,一阶段检测器在结构与标签分配上持续演进,Anchor-free 与解耦检测头降低了锚框超参敏感度并提升了密集/小目标场景稳定性,如 YOLOX 采用 SimOTA 与解耦头在 COCO 上取得 50.0 AP 且在 V100 上 68.9 FPS11;同时,FCOS 的无锚密集回归提供了更简洁的训练与推理流程并报告单模单尺 44.7 AP12。(arXiv)Transformer 系列以集合预测去除 NMS,但早期实时性受限;RT-DETR 通过高效编码器与不确定性最小查询在 T4 上达到 R50 108 FPS 与 53.1 AP,显著缩小与 YOLO 的速度差距5。(arXiv)

YOLO 家族近年的关键迭代集中在训练/推理一体化与效率优先的结构设计:YOLOv7 引入可学习 BoF/BoS 并在发布时取得实时 SOTA6;YOLOv9 通过 PGI 与 GELAN 优化训练与骨干7;YOLOv10 采用一致性双分配实现 NMS-free 训练,作者报告在相近 AP 下相对 RT-DETR-R18 提速约 1.8×8;Ultralytics 的 YOLO11 继续在轻量骨干与工程接口上打磨并提供多规格部署选项9;2025 年提出的 YOLOv12 在注意力中心化的同时保持实用延迟,报告 YOLOv12-N 在 T4 上 40.6% mAP 与 1.64 ms 的延迟,并在同级上超过 YOLOv10-N/YOLOv11-N10。(arXiv)除 YOLO 外,EfficientDet 的 BiFPN 与复合缩放、RetinaNet 的 Focal Loss 与 SSD 的多层默认框依然是轻量与部署友好路线的重要参照1416。(CVF Open Access)

工程化与系统层面,ONNX Runtime 的 TensorRT EP 与 TensorRT 原生量化/混合精度使得从 PyTorch 训练到边缘 GPU 推理的链路更加顺滑,并在典型应用中获得显著延迟收益;其中 QAT 能在更小精度损失下实现 INT8 部署,适配夜视场景的实时需求21。(ONNX Runtime)国内针对多光谱检测的综述与应用研究强调“照度感知/自适应融合”的结构优势与小样本域适配,对园区安防与车载夜景的落地具有指导意义[22]。(Sia.cn)

表2-1 代表性检测方法与夜视任务适配对比(作者报告/论文复现实验,节选)

方法 范式/家族 典型数据 关键改进 优势与局限 关键指标(作者报告) 适用难点 参考
YOLOv10 一阶段,NMS-free 训练 COCO 一致性双分配、效率-精度协同 端到端低时延;训练管线稳定性要求高 同等 AP 下较 RT-DETR-R18 约 1.8× 更快 实时性、遮挡 8
YOLOv12 一阶段,注意力中心化 COCO Area Attention、R-ELAN、FlashAttention 同级延迟更高 mAP;注意力带宽管理复杂 40.6% mAP(N)与 1.64 ms(T4) 低信噪比、远距小目标 10
YOLOv7 一阶段 COCO 可学习 BoF/BoS、E-ELAN 实时 SOTA(发布时);工程成熟 论文报告实时精度领先 通用、复现友好 6
YOLOX 一阶段 Anchor-free+解耦头 COCO SimOTA、解耦头 小目标/密集鲁棒;超参较敏感 50.0 AP@68.9 FPS(V100,L) 密集遮挡、小目标 11
RT-DETR 端到端 Transformer COCO/Objects365 高效混合编码器、查询选择 省 NMS、可解释;早期小模型权衡 R50 53.1 AP / 108 FPS(T4) 端到端实时、可解释 5
EfficientDet 一阶段 COCO BiFPN、复合缩放 多尺度高效;大号模型计算重 D7 52.2 AP 多尺度 14
RetinaNet 一阶段 COCO Focal Loss 缓解前景/背景不均衡;召回权衡 原文报告优于两阶段同代 类间不均衡 15
FCOS 一阶段 Anchor-free COCO 中心采样 无锚、简洁;对阈值敏感 单模单尺 44.7 AP 小目标、长尾 12
CenterNet 一阶段 中心点 COCO Objects-as-Points 快速简洁;极端密集退化 28.1 AP@142 FPS / 37.4 AP@52 FPS 实时、轻量 13
SSD 一阶段 VOC/COCO 多层默认框 部署友好;小目标受限 经典实时基线 实时基线 16

注:表中性能为对应论文/文档“作者报告”或标准设置的结果,仅用于理解范式差异与工程取舍,具体数值以原文为准。

2.3 要解决的问题及其方案

本平台面向四类核心问题:(1)检测准确性与实时性:在低照度、强反射与运动模糊并存时同时达成 mAP 与 FPS 目标1;(2)环境适应性与泛化:跨相机、夜间天气与场景迁移时保持稳定召回与精度2;(3)网页端交互的直观与完整:图/视频/摄像头统一交互范式,双画面对比与同步双帧确保可验证性与可追溯导出5;(4)数据处理效率与存储安全:高并发写库、导出与权限审计保障 7×24 连续运行21。对应方案为:(1)以 YOLOv12 为主线,纳入 YOLOv5–YOLOv11 全面对比,结合数据增强、迁移学习与难例挖掘提升鲁棒性,并用 GIoU/CIoU/EIoU 等损失稳定回归1019;(2)基于 PyTorch + Flask + SocketIO 的端到端系统,提供多源输入、参数同步与前后端闭环;(3)实现 模型热切换/权重上传、统一 Conf/IoU 与类别筛选,结果入 SQLite 并支持 CSV/带框图像与视频 一键下载;(4)提供 ONNX → TensorRT 导出、混合精度与(可选)INT8 QAT/PTQ,结合缓存与批 I/O 稳定端到端时延20

2.4 博文贡献与组织结构

本文贡献包括:(1)综合文献综述:以任务难点为主线归纳夜视行人检测在数据、算法与部署侧的最新进展并建立方法-场景映射15;(2)模型选择与优化:给出从 YOLOv5–YOLOv12 的训练、蒸馏/量化与端到端部署策略,并在统一口径下比较精度-延迟-参数量6810;(3)美观友好的 Web 设计:构建基于 Flask+SocketIO 的实时平台,实现图片/视频/摄像头输入、双画面对比、同步双帧与一键导出,强化可解释与可追溯5;(4)可复现实验资源:提供 mAP、F1、PR/训练曲线的统一对比与下载入口,支持模型热切换与数据导出以便快速复用21。全文结构为:第3章数据集与预处理;第4章模型原理与设计;第5章实验结果与分析;第6章系统实现(含流程/框图与登录流程图);第7章结论与展望。(Oxford Robotics)


3. 数据集处理

本研究使用夜视/红外成像数据集,共 5,725 张图像,其中 4,032 张用于训练(约 70.4%)、1,104 张用于验证(约 19.3%)、589 张用于最终测试(约 10.3%)。标注采用 YOLO 格式(中心坐标 x、y 与宽高 w、h 归一化到 0–1),仅含 1 个类别:person(中文映射:行人),便于将检测管线聚焦于夜间单类密集场景。为保证可复现性,训练脚本固定随机种子(默认 42,可在配置中调整),并在划分时保持同一拍摄点/视频片段不跨分集,避免信息泄漏。上传的样例图与散点矩阵表明:x 分布近似均匀,y 在 0.2–0.4 区间更为集中;尺寸上 w、h 呈长尾分布,多数目标 w<0.08、h<0.12,且 w 与 h 强相关,结合拼贴可视化可见多人同框、远距小目标与遮挡并存,这些统计与夜间巡检/安防场景的真实难点一致。

Chinese_name = {'person': "行人"}

        
在这里插入图片描述

针对上述统计与难点,预处理阶段采用 等比例 letterbox 到 640×640 并进行灰度到伪 RGB 的 1→3 通道复用(以便加载通用预训练权重),随后做归一化与异常框清洗(剔除尺度<阈值或越界标注、去重相邻近重复帧)。增强策略以“保真+鲁棒”为原则:在中等概率下启用 Mosaic(4 图拼接)MixUp(小权重) 扩大小目标与密集场景覆盖;配合 随机水平翻转轻量仿射(缩放/平移/微旋转)亮度/对比度/伽马抖动,模拟不同照度与相机增益;为贴合夜视噪声分布,适度加入 高斯/泊松噪声运动模糊(受限强度,避免放大伪影),并以 实例数加权的采样 平衡不同拥挤度的图像。增强强度与概率与验证集对齐做了上限约束,确保 mAP/F1 的提升不以延迟与伪影为代价;清洗与增强后的标注与可视化结果会写入版本化缓存,并在平台“检测记录”中留存快照,便于后续复盘与再标注。
在这里插入图片描述


4. 模型原理与设计

本文默认以 YOLOv12 为主线实现,并在训练与部署阶段保留 YOLOv5–YOLOv11 的对比与回退。总体范式沿用“一阶段、解耦检测头、Anchor-free 标签分配”的实时检测路线:输入经轻量骨干编码与多尺度特征融合后,分别输出分类分支与回归分支;回归以“中心点 + 宽高”建模,避免锚框超参,训练端采用任务对齐的正负样本分配以稳定拥挤与小目标场景。针对夜视低信噪比与强反射,骨干以 CSP/ELAN/C2f 一类的渐进扩展瓶颈降低梯度冲突,颈部采用 FPN-PAN/BiFPN 式自顶向下与自底向上融合,保持远距行人(小目标)与近场行人(大目标)的共同可见性;在低照环境中,像素对比度弱且高光会产生类间混淆,故在主干/颈部插入轻量注意力(如通道注意力或线性复杂度的局部自注意),以增强行人形状与边缘响应,并限制注意力窗口与通道开销以维持实时性。若采用局部自注意,其核心计算可写为

\[\text{Attn}(Q,K,V)=\operatorname{softmax}!\left(\frac{QK^\top}{\sqrt{d}}\right)V, \]

其中 \(Q,K,V\in\mathbb{R}^{n\times d}\) 分别为查询、键、值,\(d\) 为通道维;在实现中通过窗口/条带化或线性近似降低到 \(O(n)\)\(O(n\log n)\) 级别。

网络结构层面,骨干(Backbone)采用 Conv–BN–SiLU 的卷积堆叠与跨阶段部分连接(CSP)以减小参数冗余;ELAN/C2f 模块通过分支汇聚延长梯度路径、改善特征复用;颈部(Neck)使用 PAFPNBiFPN\({P3,P4,P5}\) 等多尺度语义/细节双向融合;头部(Head)解耦为分类与回归两支,分别经轻量卷积与注意力微单元;推理端默认 NMS-free 训练 + 轻量 NMS 验证 的折中以便与各版本 YOLO保持兼容。标签分配采用任务对齐策略(如 SimOTA/TOOD-like),通过分类与回归的联合得分筛选正样本,缓解密集遮挡下的正负不平衡。为贴合夜视场景的尺度与长宽比分布,回归采用中心点与宽高直接回归,边框解码遵循 \(b_x=b_x^{*}+t_x,; b_y=b_y^{*}+t_y,; w=\exp(t_w),; h=\exp(t_h)\) 的稳定化参数化,并在小目标特征层上适度提高正样本半径。

损失与任务建模方面,边框回归以 IoU 家族损失 为核心。基础 IoU 定义为

\[\operatorname{IoU}=\frac{|B\cap B^{\text{gt}}|}{|B\cup B^{\text{gt}}|}, \]

CIoU 在此基础上加入中心距离与长宽比约束:

\[\mathcal{L}*{\text{CIoU}}=1-\operatorname{IoU}+\frac{\rho^2(\mathbf{b},\mathbf{b}^{\text{gt}})}{c^2}+\alpha v,\quad v=\frac{4}{\pi^2}\left(\arctan\frac{w^{\text{gt}}}{h^{\text{gt}}}-\arctan\frac{w}{h}\right)^2, \]

其中 \(\rho\) 为两框中心距离,\(c\) 为包含两框的最小外接框对角线长度,\(v\) 度量长宽比差异,\(\alpha\) 为平衡系数。EIoU 将中心、宽高项显式分离以加速收敛:

\[\mathcal{L}*{\text{EIoU}}=1-\operatorname{IoU}+\frac{(x-x^{\text{gt}})^2+(y-y^{\text{gt}})^2}{c^2}+\frac{(w-w^{\text{gt}})^2}{W^2}+\frac{(h-h^{\text{gt}})^2}{H^2}, \]

其中 \(W,H\) 为外接框在宽/高方向的尺度上界。分类采用 Focal Loss 抑制易样本:

\[\mathcal{L}*{\text{FL}}=-\alpha(1-p_t)^\gamma\log(p_t), \]

\(,p_t\) 为预测的正类概率、\(\gamma\) 为聚焦因子、\(\alpha\) 为类不平衡系数;配合 Label Smoothing \(,y*{\text{smooth}}=(1-\varepsilon),y+\varepsilon/K\)\(K\) 为类别数,本文 \(K=1\))提升泛化。在多模型蒸馏选配中,分类采用温度为 \(T\) 的软标签 \(p_i^{(T)}=\operatorname{softmax}(z_i/T)\),回归以 IoU-based 蒸馏稳定硬标签噪声,特别有利于夜视噪点与轻遮挡样本。

训练与正则化按“稳定—高效—可部署”组织。优化器采用 SGD/momentum 或 AdamW,学习率使用 线性 Warm-up + 余弦退火

\[\eta_t=\eta_{\min}+{\tfrac{1}{2}}(\eta_{\max}-\eta_{\min})!\left(1+\cos\frac{\pi t}{T}\right), \]

其中 \(t\) 为当前迭代、\(T\) 为总迭代;权重滑动平均使用 EMA \(;\theta^{\text{EMA}}!\leftarrow!\beta,\theta^{\text{EMA}}+(1-\beta)\theta\),缓解低照度样本噪声导致的抖动。正则化结合 BN/SyncBN(多卡稳定统计)、DropBlock/Dropout(可选)数据增强上限(亮度/对比度/伽马抖动、轻量运动模糊、Mosaic+MixUp 控制概率),确保对小目标与密集场景不过度扰动。推理端默认 置信度阈值 \(0.25!\sim!0.35\)IoU 阈值 \(0.5!\sim!0.65\),在单类“行人”任务中适度抬高 IoU 阈值以降低重叠重复框;若选择 NMS-free 训练,则在 Web 端维持轻量 NMS 作为安全兜底以应对视频流的异常帧。结合 ONNX/TensorRT 部署时,开启 FP16/INT8动态形状缓存,将主干与颈部融合为更粗粒度算子,摄像头/视频路径复用双帧同步缓冲以稳定端到端延迟。网络整体架构图如下图所示:
在这里插入图片描述


5. 实验结果与分析

本节聚焦“夜视行人实时检测”的端到端评测。所有模型在 NVIDIA GeForce RTX 3070 Laptop(8 GB) 上以 640×640 输入、单精度训练与推理(Web 后端 Flask+SocketIO,同一数据流程)进行测试;指标包括 Precision/Recall/F1、mAP@0.5、mAP@0.5–0.95,并按 Pre/Inf/Post 拆分端到端延迟(预处理/网络推理/后处理)。对比八个主流实现:YOLOv5nu、YOLOv6n、YOLOv7-tiny、YOLOv8n、YOLOv9t、YOLOv10n、YOLOv11n、YOLOv12n 与对应 s 规格(v5su、v6s、v7、v8s、v9s、v10s、v11s、v12s)。
在这里插入图片描述
从整体对比看,nano 组在精度与时延上呈“均衡—极致实时”的典型权衡:YOLOv9t 取得 mAP@0.5=0.900 的最高值,YOLOv7-tiny 获得 F1=0.861 的最高 F1,而YOLOv8n总时延≈10.17 ms(1.95/6.83/1.39)成为延迟最优;YOLOv12n 在当前训练配置下未达预期(mAP@0.5≈0.827),属于“新结构 + 轻规格 + 夜景单类”组合对超参更敏感的典型现象。
在这里插入图片描述

small 组则显示“轻量 + 稍大容量”对夜景更友好:YOLOv12s / YOLOv9smAP@0.5≈0.911 上并列第一,YOLOv12sF1=0.871 最高;若以实时优先,YOLOv8s总时延≈11.39 ms 最优且精度位居前列(mAP@0.5≈0.898)。训练曲线与 mAP@0.5(B)收敛显示:各模型在 20–40 epoch 进入平台期,90 epoch 后震荡收敛,RT-DETR 类的慢启动在本轮未出现,而 YOLOv10 系在 Post 阶段延迟显著更低(NMS-free 训练+轻量后处理),但整体总时延仍受网络主干/颈部算子主导。
在这里插入图片描述

结合 PR 曲线与样例可视化,夜视场景的主要误差来源为:(1)远距小目标:w/h 长尾导致召回下滑;(2)强反射/逆光:在玻璃、警示牌等结构上产生“类行人”纹理,偶发 FP;(3)遮挡与人群密集:NMS 阈值稍高时易合并相邻框。针对这些问题,建议:在 Web 端维持 Conf=0.30–0.35、IoU=0.55–0.65 的双阈值带;模型侧对小目标权重与 P3 层采样半径做轻调,搭配 Mosaic(降权)+ 轻度运动模糊 增强;部署侧建议优先 YOLOv8n(极致实时)/YOLOv12s 或 YOLOv9s(精度优先),并在 TensorRT 中启用 FP16动态 shape 缓存,视频路径复用双帧同步缓冲可再削减端到端抖动。
在这里插入图片描述

综合结论与选型建议:若单卡 8 GB 边缘端要求 ≥80 FPS 并保有较高准确率,YOLOv8n 是更稳妥的主力;若以场景稳定识别为先并接受 ≈60–80 FPSYOLOv12s/YOLOv9s 给出当前数据上的最佳 mAP 与 F1;对旧设备或算力紧张时,YOLOv5nu 在延迟/精度上依旧有性价比。

** 表5-1(nano 组,640×640,RTX 3070 Laptop 8GB)**

Model Params FLOPs Pre Inf Post Total Precision Recall F1 mAP@0.5 mAP@0.5–0.95
YOLOv5nu 2.6 7.7 1.90 7.73 1.31 10.94 0.876 0.833 0.854 0.896 0.528
YOLOv6n 4.3 11.1 2.17 6.78 1.39 10.34 0.885 0.818 0.850 0.893 0.527
YOLOv7-tiny 6.2 13.8 2.28 14.74 4.06 21.08 0.893 0.831 0.861 0.880 0.482
YOLOv8n 3.2 8.7 1.95 6.83 1.39 10.17 0.889 0.826 0.856 0.893 0.521
YOLOv9t 2.0 7.7 1.87 16.51 1.29 19.67 0.905 0.820 0.860 0.900 0.535
YOLOv10n 2.3 6.7 2.08 11.24 0.63 13.95 0.897 0.820 0.857 0.894 0.528
YOLOv11n 2.6 6.5 2.11 9.44 1.42 12.97 0.876 0.819 0.847 0.887 0.520
YOLOv12n 2.6 6.5 1.91 12.47 1.37 15.75 0.869 0.774 0.819 0.827 0.484

nano 组要点:速度最优 YOLOv8n(Total≈10.17ms);精度最优 YOLOv9t(mAP@0.5≈0.900,mAP@0.5–0.95≈0.535);F1 最优 YOLOv7-tiny(0.861)。


** 表5-2(small 组,640×640,RTX 3070 Laptop 8GB)**

Model Params FLOPs Pre Inf Post Total Precision Recall F1 mAP@0.5 mAP@0.5–0.95
YOLOv5su 9.1 24.0 2.28 8.45 1.51 12.24 0.885 0.838 0.861 0.901 0.524
YOLOv6s 17.2 44.2 2.22 8.59 1.45 12.26 0.868 0.820 0.844 0.892 0.529
YOLOv7 36.9 104.7 2.44 23.62 3.46 29.52 0.825 0.789 0.806 0.861 0.461
YOLOv8s 11.2 28.6 2.31 7.66 1.42 11.39 0.912 0.818 0.862 0.898 0.531
YOLOv9s 7.2 26.7 2.12 18.66 1.39 22.17 0.900 0.842 0.870 0.911 0.540
YOLOv10s 7.2 21.6 2.21 11.38 0.60 14.19 0.895 0.826 0.859 0.901 0.533
YOLOv11s 9.4 21.5 2.37 9.74 1.36 13.47 0.873 0.832 0.852 0.887 0.521
YOLOv12s 9.3 21.4 2.09 13.23 1.42 16.74 0.905 0.840 0.871 0.911 0.540

small 组要点:速度最优 YOLOv8s(Total≈11.39ms,且 Precision 最高);精度最优 YOLOv9s / YOLOv12s 在 mAP@0.5≈0.911 旗鼓相当(v9s 略高),而 F1 与 mAP@0.5–0.95YOLOv12s 略胜。

图5-1 nano 组:F1 & mAP@0.5
在这里插入图片描述

图5-2 small 组:F1 & mAP@0.5
在这里插入图片描述

读图提示:每组蓝色为 F1,橙色为 mAP@0.5;坐标轴 0–1 线性。

附:原始测量要点(nano 与 small)

  • nano:Precision≈0.87–0.90、Recall≈0.77–0.83,YOLOv8n 总延迟最低(≈10.17 ms),YOLOv9t 精度最高(mAP50≈0.900),YOLOv7-tiny F1 领先(≈0.861)。
  • small:整体精度抬升,YOLOv12s/YOLOv9s mAP50≈0.911 并列,YOLOv12s F1≈0.871 最佳,YOLOv8s 延迟最低(≈11.39 ms)。
  • 后处理YOLOv10 系 Post≈0.6 ms 明显低于其他模型,适合高帧率视频流,但若追求峰值 mAP 仍建议 v12s/v9s。

落地建议:在 Web 端将 Conf 默认 0.32、IoU 0.60;实时监控/行车辅助优先 YOLOv8n(nano)/YOLOv8s(small);需要更高召回与稳定性的安防值守选择 YOLOv12s 或 YOLOv9s;对远距小目标密集点位,可叠加“P3 层正样本半径 + 适度马赛克 + 运动模糊”增强,并在导出视图中开启“区间导出 + 关键帧标记”以便误检复盘与持续再标注。


6. 系统设计与实现

6.1 系统设计思路

本系统采用四层架构:表现与交互层(Web 网页界面)业务与会话管理层推理与任务调度层数据持久化层。用户在浏览器端选择输入源(图片/视频/摄像头),前端以 Canvas/Video 组件承载左右等宽的双画面;经 SocketIO 发送控制参数(Conf/IoU、类别筛选、播放进度)与媒体流元数据。业务层负责路由与会话(登录/注册/一次性跳过)、参数对齐与权限校验,并将任务提交给推理调度层;推理层完成预处理 → YOLO 推理(PyTorch/ONNX/TensorRT) → 后处理(NMS/NMS-free 兜底、可选轻量跟踪) → 统计,再将原始帧与带框帧“同步双帧”推回前端形成实时对比;同时把结构化结果写入数据层(SQLite 表 + 文件存储),支持导出 CSV/带框图片与缓冲 MP4。至此形成“多源输入—推理—可视—导出—入库”的端到端闭环。

围绕实时性与一致性,系统在调度层采用GPU 任务队列 + 双缓冲,保证同一时间戳的原始帧与检测帧在同一 SocketIO 事件中返回;参数变更(Conf/IoU/类别)通过原子广播同步到会话上下文,避免前后端状态漂移。视频路径内建背压控制关键帧优先策略以处理解码抖动,异常帧自动重试并标注状态码;会话侧提供最小权限令牌续期,在多用户并发时确保导出、删除与下载的可审计性。评测逻辑与前文一致(mAP/F1/PR/训练曲线)并与平台“导出视图”共用一套阈值配置,保证离线评测与在线观测的一致。

针对可扩展性与可维护性,系统提供权重热切换(上传即用,Warmup 后生效)与类别元数据自动刷新;模型注册表记录来源、尺寸、阈值与色板,支持快速回退。持久化层采用SQLite+自动迁移维持轻量部署的稳定性,并预留外接 MySQL/PG 的迁移脚本;导出结果集中管理,带溯源链接回跳到产生该结果的会话与参数快照。日志与监控接口记录任务延迟分解(Pre/Inf/Post)、帧率与导出事件,用于定位瓶颈与评估升级收益。


** 图6-1 系统流程图**
在这里插入图片描述

图注:系统从初始化与权重登记开始,经多源输入、预处理、YOLO 推理、后处理与统计后,以 SocketIO 将同步双帧推送到网页端;导出与入库并行完成,保证在线可视与离线复盘的一致性。


** 图6-2 系统设计框图**
在这里插入图片描述

图注:按层次展示模块边界与数据流向;模型权重管理与日志/监控作为横切关注点贯穿业务与推理层。


6.2 登录与账户管理

用户进入登录界面后,系统首先判断其是否已有账号;已有账号时进行口令哈希校验与会话签发,若选择一次性跳过则生成临时会话并限制导出与管理权限;无账号时完成注册表单校验并写入数据库,随后自动登录并载入个性化配置(阈值、主题、最近模型与导出偏好)与历史记录。进入主界面后,用户可在账户页修改头像与口令,所有变更以事务写回 SQLite 并刷新会话;注销或切换账号将即时清理令牌与会话缓存,同时将前端检测参数重置到默认值,从而与主检测流程在权限、参数与溯源上保持一致。

** 图6-3 登录与账户管理流程**
在这里插入图片描述


代码下载链接

        如果您希望获取博客中提及的完整资源包,包含测试图片、视频、Python文件(*.py)、网页配置文件、训练数据集、代码及界面设计等,可访问博主在面包多平台的上传内容。相关的博客和视频资料提供了所有必要文件的下载链接,以便一键运行。完整资源的预览如下图所示:

在这里插入图片描述

在这里插入图片描述

        资源包中涵盖了你需要的训练测试数据集、训练测试代码、UI界面代码等完整资源,完整项目文件的下载链接可在Gitee项目中找到➷➷➷

完整项目下载、论文word范文下载与安装文档https://deeppython.feishu.cn/wiki/OW2cwiNBRiMhask7tFHcqiv4nNe

讲解视频地址https://www.bilibili.com/video/BV1B8QwBwEyB/

完整安装运行教程:

        这个项目的运行需要用到Anaconda和Pycharm两个软件,下载到资源代码后,您可以按照以下链接提供的详细安装教程操作即可运行成功,如仍有运行问题可私信博主解决:

  1. Pycharm和Anaconda的安装教程https://deepcode.blog.csdn.net/article/details/136639378

        软件安装好后需要为本项目新建Python环境、安装依赖库,并在Pycharm中设置环境,这几步采用下面的教程可选在线安装(pip install直接在线下载包):

  1. Python环境配置教程https://deepcode.blog.csdn.net/article/details/136639396

7. 结论与未来工作

本文围绕“夜视行人实时检测”完成了从模型选型、训练评测到 Web 端落地的一体化实现:以 Flask+SocketIO 构建的网页界面实现图片/视频/摄像头三路输入、同步双帧可视与一键导出;后端集成 YOLOv5–YOLOv12 八种模型并在统一口径下比较 F1、mAP、PR/训练曲线与端到端时延。在 RTX 3070 Laptop(8 GB)与 640×640 输入的设定下,nano 组 YOLOv8n 以约 10.17 ms 的最低总时延给出最佳实时性,YOLOv9t 获得 nano 组最高 mAP@0.5≈0.900;small 组中 YOLOv12s/YOLOv9smAP@0.5≈0.911 上并列领先,且 YOLOv12sF1≈0.871 略优,而 YOLOv8s 提供最优时延(≈11.39 ms)。误差分析表明,远距小目标、强反射背景与人群遮挡是主要瓶颈;通过合适的阈值区间(Conf≈0.30–0.35,IoU≈0.55–0.65)、小目标正样本半径调节与“轻度马赛克+运动模糊”增强,可在不显著增加延迟的前提下获得稳健收益。系统层面,双缓冲与背压控制保证了端到端一致性,SQLite 入库与集中导出完善了可追溯链路;整体方案除适配夜间安防与行车辅助,在“弱纹理/低对比”的工业车间与低照度机械器件外观检测中亦具有可迁移性。

未来工作将沿三条主线推进:其一是模型侧,围绕轻量化与视频时序建模开展结构稀疏化与蒸馏(nano/small 专项蒸馏)、QAT/混合精度与 Jetson 端 INT8 校准,同时引入可见–热红外多模态融合与短时序 tubelet 监督以提升远距小目标与遮挡场景的召回;其二是系统侧,完成 Docker 化与 K8s 调度、WebRTC 低时延推流与零拷贝解码、分布式任务队列(如 Celery/RQ)与多模型并发推理,补齐 RBAC 角色权限、细粒度审计、i18n 与多租户隔离,并以 Prometheus/Grafana 打通时延/吞吐与错误码的观测;其三是数据侧,建立主动学习与持续标注闭环,结合置信度/类别分布漂移监测与数据治理(版本化、质量门禁、匿名化),适度引入合成样本与难例回放以压低长尾误检。综上,本文在“可视—可用—可复现”的原则下,为夜视行人检测提供了可直接部署的工程范式,并为后续在更广域低照任务中的扩展与规模化运维打下了坚实基础。


参考文献(GB/T 7714)

1 Neumann L, Zisserman A, et al. NightOwls: A Pedestrians at Night Dataset[EB/OL]. 2018. (Accessed 2025-12-23). (Oxford Robotics)
2 Jia X Y, Zhu C, Li M Z, et al. LLVIP: A Visible-infrared Paired Dataset for Low-light Vision[EB/OL]. arXiv:2108.10831, 2021. (Accessed 2025-12-23). (arXiv)
3 唐浩, 朱泓宇, 谢超. 低照度图像增强方法综述[J]. 林业机械与木工设备, 2022. (访问日期: 2025-12-23). (Caf Journals)
4 Carion N, Massa F, Synnaeve G, et al. End-to-End Object Detection with Transformers[EB/OL]. arXiv:2005.12872, 2020. (Accessed 2025-12-23). (arXiv)
5 Zhao Y, Lv W, Xu S, et al. RT-DETR: DETRs Beat YOLOs on Real-time Object Detection[EB/OL]. arXiv:2304.08069, 2023-2024. (Accessed 2025-12-23). (arXiv)
6 Wang C-Y, Bochkovskiy A, Liao H-Y M. YOLOv7: Trainable bag-of-freebies sets new SOTA for real-time detectors[EB/OL]. arXiv:2207.02696, 2022. (Accessed 2025-12-23). (arXiv)
7 Wang C-Y, Yeh I-H, Liao H-Y M. YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information[EB/OL]. arXiv:2402.13616, 2024. (Accessed 2025-12-23). (arXiv)
8 Wang A, Chen H, Liu L, et al. YOLOv10: Real-Time End-to-End Object Detection[EB/OL]. arXiv:2405.14458, 2024. (Accessed 2025-12-23). (arXiv)
9 Ultralytics. YOLO11: Model Overview[EB/OL]. 2024-2025. (Accessed 2025-12-23). (Ultralytics Docs)
10 Tian Y, Ye Q, Doermann D. YOLOv12: Attention-Centric Real-Time Object Detectors[EB/OL]. arXiv:2502.12524, 2025. (Accessed 2025-12-23).
11 Ge Z, Liu S, Wang F, et al. YOLOX: Exceeding YOLO Series in 2021[EB/OL]. arXiv:2107.08430, 2021. (Accessed 2025-12-23). (arXiv)
12 Tian Z, Shen C, Chen H, He T. FCOS: Fully Convolutional One-Stage Object Detection[EB/OL]. arXiv:1904.01355, 2019. (Accessed 2025-12-23). (arXiv)
13 Zhou X, Wang D, Krähenbühl P. Objects as Points (CenterNet)[EB/OL]. arXiv:1904.07850, 2019. (Accessed 2025-12-23). (arXiv)
14 Tan M, Pang R, Le Q V. EfficientDet: Scalable and Efficient Object Detection[C]//CVPR, 2020. (Accessed 2025-12-23). (CVF Open Access)
15 Lin T-Y, Goyal P, Girshick R, He K, Dollár P. Focal Loss for Dense Object Detection[EB/OL]. arXiv:1708.02002, 2017. (Accessed 2025-12-23). (arXiv)
16 Liu W, Anguelov D, Erhan D, et al. SSD: Single Shot MultiBox Detector[EB/OL]. ECCV 2016. (Accessed 2025-12-23). (UNC Computer Science)
17 Rezatofighi H, Tsoi N, Gwak J Y, et al. Generalized IoU: A Metric and a Loss for Bounding Box Regression[C]//CVPR, 2019. (Accessed 2025-12-23). (CVF Open Access)
18 Zheng Z, Wang P, Liu W, et al. Distance-IoU Loss: Faster and Better Learning for BBox Regression[J]. AAAI, 2020. (Accessed 2025-12-23). (AAAI Open Research Library)
19 Zhang Y-F, Ren W, Zhang Z, et al. Focal and Efficient IoU Loss for Accurate BBox Regression[EB/OL]. arXiv:2101.08158, 2021. (Accessed 2025-12-23). (arXiv)
20 NVIDIA Developer Blog. Achieving FP32 Accuracy for INT8 Inference Using Quantization Aware Training with TensorRT[EB/OL]. 2021. (Accessed 2025-12-23). (NVIDIA Developer)
21 Microsoft ONNX Runtime. TensorRT Execution Provider — Documentation[EB/OL]. 2025. (Accessed 2025-12-23). (ONNX Runtime)
[22] 赵亮, 王越超, 等. 多光谱目标检测综述[J]. 系统仿真学报/学术期刊(预印本可得), 2024. (访问日期: 2025-12-23). (Sia.cn)

posted @ 2026-04-22 15:18  逗逗班学Python  阅读(8)  评论(0)    收藏  举报