Command Palette
Search for a command to run...
用于交通监控视频中事故检测、定位与分类的模块化零样本流水线
用于交通监控视频中事故检测、定位与分类的模块化零样本流水线
Amey Thakur Sarvesh Talele
摘要
我们描述了一条为 ACCIDENT @ CVPR 2026 挑战赛开发的零样本流水线。该挑战赛要求在没有任何真实世界标注训练数据的情况下,预测监控视频中交通事故发生的时间、地点和类型。我们的方法将问题分解为三个相互独立的模块。第一个模块通过对 z-score 归一化的帧差信号进行峰值检测,在时间上定位碰撞发生的时刻。第二个模块使用 Farneback 算法计算累积稠密光流幅值图的加权质心,从而确定碰撞位置。第三个模块通过计算检测到的峰值附近帧的 CLIP 图像嵌入与由每个碰撞类别的多提示自然语言描述构建的文本嵌入之间的余弦相似度,对碰撞类型进行分类。整个过程不涉及任何特定领域的微调;流水线仅使用预训练模型权重处理每个视频。我们的实现已作为 Kaggle notebook 公开发布 [Thakur and Talele, 2026]。
一句话总结
针对 ACCIDENT @ CVPR 2026 挑战赛,独立研究人员提出了一种模块化零样本流水线:通过对 z-score 归一化的帧差信号进行峰值检测来检测事故时间,利用累积 Farneback 光流幅值图的加权质心来定位撞击点,并通过 CLIP 图像-文本余弦相似度对碰撞类型进行分类,全过程无需领域特定微调。
核心贡献
- 针对 ACCIDENT @ CVPR 2026 挑战赛提出了一种模块化零样本流水线,将交通事故分析拆分为独立的时序、空间和碰撞类型模块,仅依赖预训练模型权重。
- 时序模块通过帧差信号上的 z-score 峰值检测定位碰撞,空间模块通过累积 Farneback 光流、施加第 90 百分位阈值并返回加权质心来估计撞击点。
- 基于 CLIP 的分类模块将检测峰值附近帧的图像嵌入与五种碰撞类别的多 prompt 文本嵌入进行匹配,整个流水线在没有领域特定微调的情况下取得了 0.2523 的公开排行榜分数。
引言
道路交通事故每年导致超过一百万人死亡,而监控摄像头已经记录下许多此类事件,因此自动化分析可以提供更快的紧急警报和客观的场景重建。此前的交通事故检测方法通常需要在来自同一部署环境的已标注视频上进行监督训练,这使得其在不同摄像头、光照和交通模式之间迁移成本高昂。ACCIDENT @ CVPR 2026 竞赛进一步加剧了这一挑战:开发阶段只允许使用 CARLA 合成视频,并禁止对真实 CCTV 测试集进行人工标注。为应对这一问题,作者提出了一种模块化零样本流水线,其中包含独立的时序定位、空间撞击点估计和碰撞类型分类模块,分别使用统计帧差异常检测、稠密光流质心和基于 CLIP 的文本-图像匹配。
数据集
-
来源与构成:
- 论文使用 ACCIDENT @ CVPR 2026 数据集。
- 数据集包含两个划分:开发集和测试集。
- 开发集:2,211 段由 CARLA 模拟器生成的合成 CCTV 风格视频。
- 测试集:2,027 段来自公开交通摄像头画面的真实监控录像。
-
开发集详情:
- 五种碰撞类别及其数量:rear-end 794,head-on 588,sideswipe 405,t-bone 358,single-vehicle 66。
- 标注包括事故时间、撞击坐标和碰撞类型。
- 合成视频以 1920 x 1080 分辨率渲染,并具有固定 20 FPS 帧率。
- 片段时长范围为 5.8 到 32.2 秒,均值为 17.7 秒,标准差为 3.9 秒。
- 事故时间出现在片段开始后中位数 6.9 秒处,四分位距为 5.2 到 9.8 秒,使大多数碰撞位于前半段。
- 撞击坐标是归一化的 2D 坐标,并聚集在帧中心附近:c_x 和 c_y 的均值都接近 0.50,标准差分别为 0.13 和 0.18。
-
测试集详情:
- 2,027 段真实监控录像。
- 分辨率、帧率和光照在不同视频之间有所变化。
- 压缩伪影、镜头畸变和部分遮挡较为常见。
- 测试集可能无法人工标注,因此方法必须从合成域或通用预训练中实现泛化。
-
处理与使用:
- 开发集作为带标注的合成数据来源,用于训练和验证。
- 测试集是真实场景评估集。
- 摘录内容未描述额外的过滤规则、裁剪策略或训练混合比例。
- 提供的主要处理细节包括固定的 CARLA 渲染分辨率和帧率、归一化撞击坐标以及时序事故标注。
方法
作者将事故检测任务定义为预测元组 (t∗,cx∗,cy∗,k∗),其中分别表示以秒为单位的事故时间、撞击点的归一化图像坐标,以及来自预定义集合 K={head-on,rear-end,sideswipe,single,t-bone} 的碰撞类型。流水线被拆分为三个不同模块:用于时间估计的时序峰值检测、用于坐标预测的空间撞击定位,以及使用预训练视觉语言模型的碰撞类型分类。
为了估计事故时间,作者利用碰撞引起的突然亮度变化。他们从逐帧亮度差异中构造一维信号。给定一个缩放至 H=180、W=320 的灰度帧 It∈RH×W,相邻帧之间的平均绝对差分计算如下:
dt=HW1u=1∑Hv=1∑W∣It+1(u,v)−It(u,v)∣该原始信号同时包含碰撞信号和背景噪声。为抑制来自摄像机抖动或普通车流的短时噪声,采用窗口 w=5 的中心滚动均值:
dˉt=∣Wt∣1s∈Wt∑ds其中 Wt={s:∣s−t∣≤⌊w/2⌋}。随后使用序列整体均值 μ 和标准差 σ 将平滑值归一化为 z-score:
zt=σ+εdˉt−μ其中 ε=10−8。将 zt 超过阈值 τ=1.5 的帧视为异常候选帧。在这些候选中选择异常得分最高的帧作为事故帧索引 tframe∗。如果没有帧超过阈值,则选择全局最大值。最终时间预测为 t∗=tframe∗/f。
如下图所示,原始帧差序列同时包含渐变强度漂移和尖锐瞬变。经过平滑和归一化后,碰撞事件呈现为明显峰值,而背景波动保持在检测阈值以下。
一旦识别出事故时间,作者通过在一个短窗口上累积稠密光流来定位撞击点。以预测的事故帧索引为中心取 30 帧窗口,如果时间不可用,则从 ⌊N/3⌋ 开始。在该窗口内的连续帧上以 320×180 分辨率运行 Farneback 稠密光流算法。将位移幅值相加以生成幅值图:
M(u,v)=t∑fx2(u,v,t)+fy2(u,v,t)为抑制弥散背景运动,对 M 施加第 90 百分位阈值,将较低值置零。随后将阈值化图的加权质心计算为撞击位置,并归一化到单位坐标:
cx∗=W1∑u,vM(u,v)∑u,vv⋅M(u,v),cy∗=H1∑u,vM(u,v)∑u,vu⋅M(u,v)如果幅值总和可忽略不计,则返回帧中心 (0.5,0.5)。
参见下方框架图,该图展示了累积结果。碰撞区域将大部分光流能量集中到一个紧凑的空间簇中。经过百分位阈值处理后,加权质心落在该簇内,从而提供局部化的撞击坐标。
对于碰撞类型分类,作者利用预训练视觉语言模型 CLIP。对于每个碰撞类型 k∈K,编写五条自然语言描述 {pk1,…,pk5},从旁观者视角刻画该碰撞。每条 prompt 都通过 CLIP 文本编码器 ϕtext 编码,进行 L2 归一化,并平均为类别文本嵌入:
tk=51j=1∑5∥ϕtext(pkj)∥ϕtext(pkj)在推理时,提取以预测事故时间 t∗ 为中心的八个视频帧,并输入 CLIP 视觉编码器。每个图像嵌入经过 L2 归一化后平均为单一表示:
v=81i=1∑8∥ϕimg(Iti)∥ϕimg(Iti)预测的碰撞类型是与视频表示具有最高余弦相似度的类别:
k∗=argk∈Kmaxv⋅tk实验
实验在 ACCIDENT 数据集上评估了一个无需训练的基于 CLIP 的流水线,使用 CARLA 合成片段作为开发集,真实 CCTV 监控视频作为测试集,提交结果由时序、空间和碰撞类型准确率的调和平均来评分。由于没有任何模型权重被训练或微调,该设置验证了从合成数据或通用预训练特征进行泛化的能力。定性来看,该方法在检测到正确事件时能够较好估计事故时间和位置,但碰撞分类不可靠,这可能是因为 CLIP 更多响应视角和场景几何,而非碰撞动力学。错误分析将失败归因于大幅背景运动、多辆车同时移动以及俯视或倾斜摄像机角度。
Prompt 模板定义了五种碰撞类型:head-on、rear-end、sideswipe、single 和 t-bone。对于每种类型,使用 CLIP 对五条自然语言描述进行编码、归一化,并平均为一个文本嵌入,以降低对个别措辞的敏感性。在实践中,该分类组件在真实 CCTV 数据上表现困难,常常将 head-on 样本预测为 t-bone,并将整体预测偏向 sideswipe 和 single 类别。每个碰撞类型使用五条 prompt 平均为单个 CLIP 文本嵌入,以减少对任何单一措辞的依赖。该 prompt 集覆盖 head-on、rear-end、sideswipe、single 和 t-bone 碰撞类型。在校准子集上,基于 CLIP 的分类器将所有 head-on 视频预测为 t-bone。在整个测试集上,sideswipe 是被预测最多的类别,而 rear-end 是最少的类别,这与合成训练分布中 rear-end 占多数的情况相反。
流水线超参数通过在合成视频上进行视觉检查来选择,并在所有测试视频上保持固定。时序检测使用五帧平滑窗口和 1.5 z-score 阈值,而空间定位使用 30 帧上下文窗口和多尺度金字塔处理。在评估中,该流水线取得了适中的排行榜分数,尽管个别时序和空间预测可能准确,但分类失败会通过调和平均使综合分数归零。时序和空间超参数在视觉检查后固定用于所有测试视频,而不是按视频进行调整。真实 CCTV 上的预测碰撞类型分布由 sideswipe 和 single-vehicle 类别主导,而合成训练集由 rear-end 碰撞主导。错误分析将时序定位失败归因于背景运动,将空间漂移归因于多辆移动车辆,并将误分类归因于合成渲染与真实 CCTV 画面之间的视角差异。
实验在合成视频和真实 CCTV 视频上评估了基于 CLIP 的碰撞分类器和固定参数的时序/空间检测流水线。每个碰撞类型使用五条 prompt 嵌入平均来降低措辞敏感性,但该分类器在真实数据上仍然表现困难,将 head-on 案例误分类为 t-bone,并将预测偏向 sideswipe 和 single-vehicle 类别,尽管合成训练分布中 rear-end 占多数。时序和空间参数通过视觉检查选择并保持不变,产生了适中的个别预测结果,但分类失败会通过调和平均使综合分数归零。错误分析将时序定位失败归因于背景运动,将空间漂移归因于多辆移动车辆,并将误分类归因于合成渲染与真实 CCTV 画面之间的视角差异。