STPR-net 精读:预测之后再重建,真的更能区分异常吗?
论文为 Liu 等发表于 2022 年 5 月 26 日 PLOS ONE 的《Spatio-temporal prediction and reconstruction network for video anomaly detection》,DOI:10.1371/journal.pone.0265564。本文阅读全文十八页并核对原始表格和方法图,讨论其历史方法价值与证据边界,不将其当作当前最好结果,也未声称运行复现。
一、从“预测得更清楚”到“异常更容易分开”
正常训练的视频异常检测常用两种代理任务:重建当前画面,或者依据过去预测下一帧。前者可能把异常也重建得很好,后者遇到噪声和普通运动不确定性,又可能把正常片段预测得很差。STPR-net 尝试把预测与重建串联,在多尺度空间信息和时序建模上加强预测器,再让重建器修整中间结果。
这个方向不是简单的“生成质量越好,检测越好”。检测需要的是正常与异常误差之间的间隔。如果改进网络同时降低两类误差,异常排序未必改善。阅读这篇论文最重要的习惯,是把网络的设计动机、预测画面的视觉效果和最终异常指标分开验证。
论文使用正常视频训练,异常标签用于测试评估。判别器训练中的真假标签区分真实帧与生成帧,不是异常与正常类别标签。因此它虽然使用 GAN,也不属于靠异常视频标签训练的弱监督检测。与此同时,正常训练分布必须覆盖足够丰富的普通行为,否则“不熟悉”与“危险”仍会被混在一起。
二、方法:多尺度预测,再做重建修整
原文 Figure 1(PDF 第 3 页)把数据流画得很清楚:过去帧进入预测生成器,得到中间帧;这个中间结果送入重建生成器,得到最终的下一帧预测;判别器约束生成结果接近真实帧。第二阶段处理的不是直接输入的真实下一帧,不能把它误读成看过答案后再重建。
预测分支采用 U-Net 式编码和解码。为处理同一画面中远近对象尺度差异,作者在第二次下采样附近开始加入混合空洞卷积 HDC。Figure 3 设置膨胀率为 1、2、5,分别提供不同采样跨度,再与输入特征拼接。它并不显式检测对象尺度,而是提供不同感受野供后续网络利用。远处小物体是否真的受益,仍需要按目标大小划分实验,不能仅从结构名称推导结论。
时序部分不把多帧直接当作一张多通道图片,而是逐帧编码,再使用更深的双向 ConvLSTM。浅层前向处理历史特征,较深的后向层再反向处理前向输出,融合后交给解码器。这里要特别区分“在历史窗口内反向遍历”和“偷看待检测帧之后的未来”:实验输入四帧预测第五帧,双向结构本身不等于使用第五帧以后的数据。(原文 Figure 4、第 5–6 页及训练细节)
这也不是免费获得长期理解。窗口只有几帧,编码后的状态能帮助建模局部运动,却不自动理解持续很久的行为意图。另一方面,逐帧循环计算、额外的反向层和第二个生成器都会带来成本;是否比其他时序模型更便宜,必须靠同硬件计时而不是凭模块类别判断。
损失函数约束什么,没约束什么
像素强度损失减少整体颜色差异,空间梯度损失维护边缘,RGB 帧差损失要求预测帧相对上一帧的变化幅度接近真实变化,PatchGAN 则从局部图像块判别生成结果真假。这些目标共同约束预测质量,但都没有直接把异常样本推远的监督项。
一个有价值的简化是以 RGB 帧差代替光流约束。作为必要背景,Liu 等 2018 年预测基线使用预训练 FlowNet 计算运动约束,同时使用强度、梯度和对抗目标。STPR-net 的帧差不必运行额外光流网络,但帧差也会响应照明变化、噪声与摄像头抖动;它和显式位移场并不等价。这是一种计算与运动表达能力之间的折中,不是证明光流在所有场景都多余。
公式也值得认真看。原文第 7 页式(7)印成对抗系数与对抗损失相加,正文却称这些量是对应损失的系数。按通常的加权目标,读者可能预期乘法,但不能未经代码核验就替作者修正并声称那是实际训练式。这里保留这一可复现性疑点。其他损失的具体权重又只说明随数据集略有变化,正文未完整列出数值,因此复现需要额外配置证据。
评分阶段决定它还不是完整在线系统
测试时用预测帧和真实下一帧的 PSNR 评价误差:高 PSNR 被视为更正常。随后每段测试视频独立做最小—最大归一化,得到正常性分数,低值对应异常。虽然四帧预测第五帧这条网络路径可以随流计算,但整段视频极值在视频结束前未知,所以论文的完整评分协议并不是无需未来统计量的在线报警系统。(式 9–10,第 7–8 页)
还应注意误差尺度。固定像素峰值时,PSNR 是均方误差的单调变换,不会凭空增加结构理解。论文公式把峰值写成预测图像的最大像素值,其实现是否使用固定动态范围需要核实,不能默默代入常见的固定常数后声称完全复现。逐视频归一化也会改变不同视频之间的分数可比性。
三、证据:不是所有数据集都最好
以下数值由原文 Table 1(PDF 第 13 页)重排,单位为帧级 AUC 百分值。列顺序固定为 Ped1、Ped2、Avenue,不混用异常类别或像素定位指标。
| 方法 | Ped1 | Ped2 | Avenue |
|---|---|---|---|
| 预测基线,论文中的报告值 | 83.1 | 95.4 | 84.9 |
| IPR,预测与重建组合 | 84.7 | 96.3 | 85.1 |
| STPR-net | 85.1 | 96.6 | 86.5 |
| ConvLSTM,表内历史比较项 | 89.9 | 87.4 | 80.3 |
相对预测基线,增幅为 2.0、1.2、1.6 个百分点;这是论文自己的表内比较,不应替换为其他文章的基线数值再计算。相对更接近的 IPR,优势缩小为 0.4、0.3、1.4 个百分点。这样的变化支持组合设计有用,但没有多随机种子和误差条,尤其不宜把前两项的小差异解释为稳定的大幅领先。
更关键的是,Ped1 上表内 ConvLSTM 的 89.9 高于本方法的 85.1,STAE 的 87.1 也更高。论文讨论段落使用了较强的总体优势措辞,但原表并不支持“所有数据集超过所有方法”。把这点说清楚,不是否定方法,而是防止摘要式结论盖过实际证据。
EER 同样需要单独阅读。Table 2(第 13 页)给出本方法 Ped1/Ped2/Avenue 为 22.3/10.5/19.4,越低越好。Ped1 的 ConvLSTM 为 12.5,Ped2 的 AnomalyNet 为 10.3,均优于对应的本方法。AUC 衡量一组阈值上的排序表现,EER 描述特定交点;两者并不矛盾,也不能拿一个替代部署误报预算。
模块组合的增益可以算,但原因不能算出来
以下为原文 Table 3(PDF 第 14 页)的结构消融,仍是帧级 AUC 百分值:
| 预测模块配置 | Ped1 | Ped2 | Avenue |
|---|---|---|---|
| HDC | 83.9 | 95.8 | 85.5 |
| ConvLSTM | 83.7 | 95.5 | 85.2 |
| DB-ConvLSTM | 84.1 | 95.7 | 85.6 |
| HDC 与 DB-ConvLSTM | 85.1 | 96.6 | 86.5 |
双向时序相对普通 ConvLSTM 增加 0.4、0.2、0.4;完整组合相对双向时序增加 1.0、0.9、0.9。组合确实最好,但表格没有把“增加参数量”“变化的优化难度”和“多尺度信息本身”完全隔离。它也不是重建器单独开关的完整二因素实验,因此不能把全部改善都归因于第二阶段去噪。
最能连接论文动机的证据是噪声实验。Figure 11(第 15 页)展示随着高斯噪声增加,三条方法曲线都下降,而 STPR-net 在图示噪声范围内高于预测基线和 IPR。这支持所测试扰动下的相对鲁棒性,但不能升级为抵抗压缩伪影、雨雪、夜间变化、运动模糊或对抗扰动的通用能力。
原文 Figure 10 的示例描述提到噪声方差 0.03 和 0.06,而 Figure 11 横轴刻度在另一较小数值范围。二者可能对应不同展示设置,正文没有充分交代统一关系。本文不把示例强行配对到曲线点,也不从图片估读出小数点后三位的性能。对曲线只保留经视觉核验的趋势判断,避免把绘图近似值当作原始表格数据。
四、它适合教我们什么,不适合承诺什么
作者在结论承认正常训练数据覆盖度的重要性,并希望扩展更多监控场景。本文进一步认为,三个固定视角基准不能证明跨摄像头迁移、长尾正常行为和动态背景条件下都有效。尤其是异常目标占画面很小时,整帧误差可能被大面积静态背景稀释,需要对象级或区域级实验才能回答。
本文没有读取到独立补充实验文件,也没有运行训练代码。主文报告 TensorFlow 与 Tesla V100,输入尺寸为 256×256,批大小为四,但缺少完整端到端帧率、内存和连续流报警测试。因此“去掉光流网络”最多说明减少一个计算环节,不能推出整体更快,更不能在没有计时的情况下写出实时倍率。
我会把它定位为“如何审查生成式 VAD 的组合设计”的案例:多尺度和时序模块有合理动机,内部消融显示收益,噪声曲线为去噪主张提供有限证据;同时,逐视频归一化、公式配置细节和部分数据集并非最优,约束了结论强度。它的价值不是一个通吃排行榜的模型,而是让读者学会把漂亮预测画面与可靠异常报警分开。
若继续做实验,我会固定生成器参数预算比较 HDC 与普通卷积,分别开关重建器和时序层;在同一正常校准集上固定评分尺度,并报告事件延迟、每小时误报及目标大小分层结果。再用相同噪声标准测试正常与异常误差分布,查看收益究竟来自正常误差下降,还是异常也被抹平。这些都是本文建议,不是原论文已经完成的研究。
还有一个容易被忽略的训练—评分错位:训练同时优化边缘、时间变化和对抗外观,测试却主要依赖单个 PSNR 标量。训练目标中的细节改善,未必在最终分数中得到与任务相关的权重。比如边缘更清楚可能显著改善观看体验,却不一定提高稀有异常区域的占比;反过来,轻微但大范围的亮度偏移可能压低分数。要验证检测机制,除了报告总 AUC,还应分别画出正常片段与异常片段的误差直方图,并检查同一帧中误差集中在哪里。
这些分析不需要预设论文方法无效,而是要求它的解释与可观察证据对应。对历史论文做精读,保留原始成绩和当时的比较范围比套用今天的排名更公平;把未报告的部署指标明确留空,也比凭印象补上更有用。
来源与许可
出版社全文及其十八页 PDF 为主要依据,作者 Ting Liu、Chengqing Zhang、Xiaodong Niu、Liming Wang,版权说明采用 CC BY 4.0。本文表格为据原始事实重新编排并注明来源,不转载原文图片。数字对应 Table 1–2 第 13 页、Table 3 第 14 页;方法和评分对应第 3–8 页,噪声证据为第 14–15 页。