微信扫一扫,关注公众号

  • 科技行者

  • 算力行者

见证连接与计算的「力量」

首页 一只摩托车在拥堵中消失又出现:AI视频追踪的记忆难题

一只摩托车在拥堵中消失又出现:AI视频追踪的记忆难题

2026-10-30 10:35
分享至:
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-
2026-10-30 10:35 • 科技行者

你有没有试过在拥挤的地铁站里,先盯着一个穿红外套的人走进人群,等他再出现的时候,你还能一眼认出他吗?

多数人能做到。但如果这个人被挡住的时间足够长,中间经过了太多相似的面孔,你多半会犹豫:这到底是不是刚才那个人?

AI在视频里做的事情,本质上和这个场景一模一样。只不过它要同时跟踪几十个"人",而且不能犹豫,必须在每一帧给出确定答案。这篇来自埃因霍温理工大学和亚琛工业大学的论文,讲的就是AI在这件事上为什么会频繁"认错人",以及他们怎么解决的。

**老办法为什么会认错人**

先说清楚这篇论文要解决的任务叫什么。

视频分割*:给视频里每一帧的每个物体画出精确的轮廓,贴上类别标签,并且保证同一个物体在不同帧里被认成同一个"身份",这就是视频分割任务。它细分成三种:视频实例分割(专门认物体个体,比如区分出第1辆车和第2辆车)、视频全景分割(既要认个体也要认背景类别)、视频语义分割(只认大类,比如"这片都是天空")。

过去几年,这个领域的主流思路是搭一个很复杂的系统:一个模块负责在单帧里切割物体,另一个模块负责把不同帧的物体对应起来,中间可能还要加卡尔曼滤波、匈牙利匹配、各种后处理。这套系统效果不错,但是慢,而且零件多,容易出错。

2024年前后出现了一个思路转变。研究者发现,如果用一个经过海量数据预训练的大型视觉Transformer(简称ViT,一种处理图像的神经网络架构,把图片切成小块当作"词"来处理)作为骨干网络,很多复杂的后处理组件其实可以直接砍掉,模型照样能打。这就是VidEoMT和它的后续改进版PMT的思路:不再用复杂的追踪器,而是让"物体查询"(一组代表每个物体的向量,可以理解成模型内部给每个物体发的一张"身份卡")从上一帧直接传递到下一帧,模型自己学会怎么用这张卡延续身份。

这套简化方案跑得飞快,精度也不差。但论文作者发现了一个致命伤:**只要视频够长、遮挡够久,这套机制就开始频频认错人**。

问题出在身份卡的更新方式上。PMT的做法是,把上一帧输出的身份卡做一次线性投影,再和一组"可学习的基础查询"(模型训练时学到的、与时间无关的默认模板)直接相加,作为下一帧的输入。公式写出来很简单:新查询等于投影后的旧查询加上固定模板。

这个加法操作在物体一直可见的时候没问题,因为每一帧都会往身份卡里注入新的、准确的视觉信息。可一旦物体被挡住,当前帧的编码器根本看不到这个物体,没有有效信息可加,身份卡里原本储存的特征就会被那个"固定模板"一次次稀释。遮挡时间越长,稀释越严重,等物体重新出现时,这张身份卡早就"面目全非"了,模型自然对不上号。

这就好比你把一张老照片反复影印。每复印一次,就往上面叠加一层半透明的噪声纸。复印个三五次可能还认得出照片里是谁,但复印个几十次,原来的轮廓就被噪声彻底盖住了。如果不改变这个复印流程,不管后面加多少层处理,原始信息终究会在传递中耗尽。这正是长时间遮挡下身份丢失的根源。

**给模型装一个会挑选的记忆**

既然问题是"无差别地叠加",解决思路就很直接:让模型自己学会判断,什么时候该保留旧信息,什么时候该接受新信息。

这就是论文提出的第一个核心改动:用GRU替换掉原来那个简单的加法融合。

GRU*:全称门控循环单元(Gated Recurrent Unit),是一种处理序列数据的神经网络结构。它内部有"更新门"这个机制,可以像拧水龙头一样控制每一步要保留多少旧记忆、接受多少新信息,而不是无差别地把新旧内容混在一起。

具体怎么接入模型的?在第一帧,模型用那组可学习的基础查询同时作为解码器的输入和GRU的初始隐藏状态。从第二帧开始,每一帧解码完成后产生的"分割查询"(这一帧实际用来预测掩码和类别的向量)会被送进GRU,和上一步的隐藏状态做一次门控更新,生成新的隐藏状态,这个新隐藏状态就是要传给下一帧的"传播查询"。

这里的关键是GRU内部那个叫"更新门"的小开关。它的取值在0到1之间,数值越接近1,表示模型越倾向于保留旧的隐藏状态;越接近0,表示模型越倾向于用当前帧的新内容覆盖旧状态。换句话说,模型拿到了一个"可以自己调节记忆保留比例"的旋钮,而不是像以前那样只能机械地做加法。

论文把这一步单独加上去之后做了实验,在OVIS数据集(一个专门用大量遮挡场景来"折磨"视频分割模型的测试集)上,AP(平均精度,衡量检测和分割准确度的核心指标,越高越好)从51.8提升到54.2,提高了2.4个点,而且参数量、算力消耗、运行速度几乎没有变化。这说明,给模型一个"会挑选"的机制,确实比单纯叠加更有效。

研究者没有止步于此。他们想验证一个猜测:GRU是不是真的学会了在遮挡发生时"攥紧"记忆?于是他们专门做了一组分析,统计了OVIS验证集里132个被遮挡至少4帧的物体,观察这些物体对应的查询,在遮挡发生前后,GRU更新门的数值怎么变化。

结果很清楚:遮挡开始的那一刻,这些查询的更新门平均值从大约0.66跳升到0.75左右,涨幅接近10%,而同一时刻画面里仍然可见的物体对应的更新门几乎纹丝不动。等物体重新出现,更新门又慢慢回落到遮挡前的水平。这组数据印证了研究者最初的直觉:GRU确实学会了在物体消失时多留一点旧记忆,少接受一点"空白"的当前帧信息,等物体回来了,再重新打开大门吸收新信息。

这就像一个经验丰富的收银员,平时顾客络绎不绝,他会按部就班地处理每一笔新交易;但如果队伍突然中断、门口没人了,他不会把收银机清零重启,而是继续记着刚才那几位顾客的找零还没算完,耐心等下一位进来再接着处理。如果收银员每次没顾客就清空记录重来,那队伍恢复时他就得从头确认每个人的身份,出错率自然飙升。GRU做的正是"该清空时清空,该保留时保留"这件事,而不是一刀切。

**只给GRU装好记忆还不够,它得先学会怎么用**

GRU解决了"选择性保留"的问题,但论文作者很快发现,光有这个机制还不够,识别错误(也就是身份切换,术语叫IDS)依然频繁发生。

他们做了一个很细致的排查:把OVIS验证集里识别错误最多的20个视频和最少的20个视频拿出来对比统计。结果显示,错误多的那批视频里,平均每个视频的物体数量是错误少的那批的3倍,物体消失重现的比例高了接近5倍,平均遮挡时长更是长了一倍多,达到13帧。

这个13帧的数字很关键,因为当时模型训练用的视频片段长度只有5帧。换句话说,模型在训练时压根没见过比5帧更长的消失再出现场景,它在测试时遇到13帧的遮挡,等于是在考它完全没学过的东西。

训练片段长度*:模型训练时每次"看"多少连续帧的视频片段。片段越长,模型越有机会学到长距离的时间依赖关系,但训练开销也越大。

直觉上的解决方案很简单:把训练片段拉长不就行了?研究者试了,把训练长度从5帧加到10帧,结果AP不升反降,从54.2掉到52.3,反而退步了1.9个点。

这个反直觉的结果背后,藏着一个老问题:梯度消失。

反向传播*:神经网络训练时,用来计算"每个参数该往哪个方向调整多少"的算法,信号从最后一层一路往前传递,传递过程中如果经过太多层,信号强度会不断衰减,这就是梯度消失。

研究者专门做了一次梯度追踪实验来验证这个猜测。他们计算了损失函数对每一帧查询状态的梯度,然后比较链条最早一帧和最晚一帧的梯度强度比值。结果显示:在不做任何处理的情况下,训练一个10帧的序列,最早那一帧收到的梯度信号只剩下最后一帧的大约5%。这意味着模型几乎学不到"10帧之前该怎么做"这件事,早期帧的权重调整幅度微乎其微,训练自然效果不好。

这就像你让一群人玩传话游戏,第一个人说的话要传过十个人才能到最后一个人耳朵里,传到后面基本已经面目全非了。如果链条只有三四个人,信息还能大致保留;但链条一拉长到十个人,源头的信息强度就被层层衰减到几乎可以忽略。梯度消失就是这个道理,链条越长,源头的"指令"传到越远的地方就越微弱。如果硬要拉长训练片段而不做任何处理,模型等于是在用一个几乎听不清指令的大脑去学习,效果当然更差。

**把长链条切成短块,但记忆照样往前传**

那怎么办?总不能只训练5帧,模型永远学不会应对13帧的遮挡。

论文给出的方案叫截断查询传播(TQP),这个名字听着拗口,但思路其实很朴素,它借鉴了循环神经网络领域一个叫"截断时间反向传播"(TBPTT)的经典技巧,把它搬到了查询传播这个具体场景里。

截断查询传播*:把一段长视频切成若干个短"块"(比如每块5帧),按顺序依次处理这些块;每处理完一块就计算一次损失并反向传播,但反向传播只在块内部进行,不会跨越块的边界;不过,块与块之间,查询状态(也就是GRU的隐藏状态)依然会正常往前传递,只是在传递的时候会先"切断"它和前面计算图的联系(这个操作叫detach,相当于告诉系统"这个数值你继续用,但不要再往回求梯度了")。

打个比方,这就像一条装配流水线,总共要走15个工位,但你把它分成3段,每段5个工位。你不会让质检员站在第15个工位,去追溯第1个工位某个螺丝拧没拧紧,那样的追溯链条太长,信号早就失真了。你的做法是,每5个工位设一个质检点,只对这5个工位内部的操作负责,同时把半成品原封不动地送到下一段继续加工。半成品本身带着前面所有的信息,但"追责"的范围被限制在每一段内部。如果不这样切分,要么质检信号传不到源头(梯度消失),要么你干脆不追责、不反向传播,模型压根学不到东西。TQP做的正是在"信息要传下去"和"追责链条不能太长"之间找到一个平衡点。

把这套方法用在10帧训练上,AP从naively拉长训练得到的52.3一下子跳到56.1,提升了3.8个点。研究者进一步把整体训练窗口拉长到15帧(切成3个5帧的块),性能又小幅提升到56.4。他们还测试了更长的20帧窗口,发现提升幅度变得很小,只多了0.1个点,这和前面提到的"OVIS平均遮挡长度是13帧"这个统计结果吻合,15帧的训练窗口已经基本覆盖了数据集里常见的遮挡场景,再往长了训练边际收益就不明显了。

论文还顺带测试了块大小本身的影响:块设为1帧(相当于没有有效的时间上下文)效果最差,AP只有50.9;块设为5帧效果最好,达到56.7;块设到10帧反而又跌回54.3,再次印证了"块太长,块内部同样会遭遇梯度消失"这个规律。

**最终拼出来的模型,叫LVMT**

把GRU记忆机制和TQP训练策略结合起来,加到PMT这个基线模型上,论文给出的最终模型叫长时视频掩码Transformer,简称LVMT。

在OVIS验证集上,使用ViT-L(大尺寸视觉Transformer)骨干网络时,LVMT的AP达到56.4到56.7之间(论文里不同表格报告的数值略有差异,反映了多次实验的方差),相比PMT基线的51.8,提升了至少4.6个点,而速度几乎没有损失,两者都在每秒95帧左右。论文还测试了更小的ViT-B和ViT-S骨干,发现模型越小,LVMT相对PMT的提升幅度反而越大,分别是5.7和7.8个点。这说明GRU带来的记忆能力,对于本身"脑容量"有限的小模型帮助更明显,算是给这个记忆机制额外加了一条说服力。

再看和其他顶尖方法的横向对比。DVIS-DAQ是此前OVIS榜单上的state-of-the-art(当前最优),它需要对整个编码器做微调,运行速度只有每秒8帧左右。LVMT的AP比它高2.4个点,速度却能达到每秒95帧,快了超过10倍。另一个对比方法LOMM在YouTube-VIS 2022数据集上表现突出,LVMT同样以3.3个点的优势超过它,速度快了10倍以上。

专门的追踪质量指标也验证了同样的结论。论文用IDF1(身份一致性F1分数)、AssA(关联准确度)等指标衡量模型"认人"的能力,LVMT相比PMT,把身份切换的总次数从2755次降到2001次,降幅大约27%。这是一个相当直观的数字:换算下来,每4次身份切换,LVMT能避免掉1次以上。

除了实例分割,论文还在视频全景分割(VIPSeg数据集)和视频语义分割(VSPW数据集)上做了测试,LVMT同样刷新了在"编码器保持冻结"这个设定下的最佳成绩,并且在部分指标上超过了需要微调整个编码器的方法。这说明GRU加TQP这套组合拳不是针对某个具体任务调出来的巧合,而是解决了一个更底层、更通用的时间建模问题。

论文作者还对比了几种替代GRU的记忆方案,包括LSTM(另一种经典的循环单元)、结构化状态空间模型S5、以及模仿GenVIS的显式记忆库设计。结果显示GRU综合表现最好,在速度几乎不打折扣的前提下取得了最高的AP,比LSTM高0.7个点,比显式记忆库高2.2个点。研究者的解释是,对于"传递对象信息"这个相对单纯的任务,过于复杂的记忆结构反而增加了优化难度,简单有效的门控机制已经够用。

论文里还有一张很有说服力的定性对比图,展示了OVIS里一段多辆摩托车互相遮挡的场景。PMT从第4帧开始出现身份切换,到第8帧遮挡加剧时错误变得更严重,而LVMT在整段视频里始终保持正确的身份标注。这种画面上的直观差异,比任何数字表格都更能说明问题出在哪、解决之后又是什么样子。

**写在后面**

这篇论文让我觉得有意思的一点是,它解决问题的方式几乎没有引入任何"炫技"的复杂组件,GRU是1990年代就有的经典结构,TBPTT这种截断反向传播的思路在循环神经网络领域也不新鲜。真正的贡献在于,研究者精准定位了PMT这类高效模型到底卡在哪里:不是模型容量不够,而是信息传递方式太"死板",以及训练数据的时间跨度和测试场景的时间跨度完全不匹配。

还有一个细节值得单独说一下:论文做的那组GRU更新门可视化实验,几乎是用最朴素的方式验证了一个"黑箱"假设。很多论文提出一个机制之后就直接看最终指标好不好,很少有人会反过来追问"这个机制内部到底是怎么工作的,它真的按我设想的方式运转了吗"。这篇论文花了一整节篇幅去验证GRU确实在遮挡时"攥紧"记忆,这种自我验证的态度,比单纯刷榜更让人信服。

论文也坦诚提到了一个局限:TQP虽然不增加推理成本,但训练时因为要把一个长视频切成多块依次跑前向和反向传播,训练时间会比原来长。这个取舍其实很合理,用训练阶段多花的时间,换来推理阶段不打折扣的速度和准确率,对于一个要大规模部署的系统来说是划算的买卖。但如果有办法在不增加训练时间的前提下拿到同样的效果,那会是一个更漂亮的解法。

一个摩托车在人群里消失13帧又重新出现,AI要在毫秒之间决定这是不是刚才那辆车。这件事听起来简单,做起来却要同时解决"记什么""忘什么""怎么学会记和忘"这三层问题。下次你在监控录像或者自动驾驶的演示视频里看到一个物体被遮挡又精准地被重新框出来时,或许可以想一想,这背后很可能就是一个小小的门控开关,在那一刻悄悄决定了要不要信任自己脑子里存的旧记忆。

Q&A

Q1:LVMT是什么?

A:LVMT全称长时视频掩码Transformer,是一个用于视频分割任务的AI模型,核心改进是用GRU门控机制替代了原来简单粗暴的查询叠加方式,并搭配截断查询传播训练策略,专门解决长视频中物体长时间遮挡后容易"认错人"的问题。

Q2:LVMT相比之前的方法到底好在哪?

A:在OVIS这种高遮挡数据集上,LVMT比基线模型PMT的AP提升了4.6个点以上,身份切换错误减少约27%,同时速度几乎不受影响,比需要微调整个编码器的DVIS-DAQ快10倍以上还更准。

Q3:为什么简单地把训练视频片段拉长反而会让模型变差?

A:因为反向传播的梯度要经过的步数变多,会出现梯度消失,论文实测训练10帧序列时最早一帧收到的梯度只剩最后一帧的约5%,模型根本学不到长距离依赖,所以需要用截断查询传播这种分块训练策略来解决。

分享至
0赞

好文章,需要你的鼓励

推荐文章
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-