ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

SGTA:基于动态场景图的交通视频理解与交互关系建模

SGTA:基于动态场景图的交通视频理解与交互关系建模 1. 项目缘起当交通视频理解遇上“场景图”最近在做一个交通视频分析的项目团队里几个新来的算法工程师对着一段十字路口的监控录像抓耳挠腮。他们用最先进的检测模型能精准框出每一辆车、每一个行人用最复杂的轨迹预测算法能算出每个目标的未来路径。但当被问到“这个场景里为什么那辆白色轿车会突然减速”或者“接下来最可能发生交通冲突的是哪两个对象”时模型给出的答案要么是概率分布要么是基于简单距离的规则判断总感觉差了那么点“意思”。这个“意思”其实就是对交通场景中复杂、动态的交互关系的理解。我们人类看交通视频大脑会自动构建一个关系网络那辆右转的卡车遮挡了直行司机的视线空间关系行人闯红灯导致对向车道车辆紧急制动因果关系电动车在车流中穿梭表现出明显的“跟随”和“超车”意图行为关系。现有的多模态模型往往把视觉特征、轨迹序列、语义标签简单拼接丢进一个庞大的Transformer里指望它自己学会这些关系。结果就是模型记住了海量数据中的统计规律却难以真正“理解”场景中对象之间千丝万缕的、时刻变化的联系。这正是“SGTA: Scene-Graph Based Multi-Modal Traffic Agent for Video Understanding”这个工作试图解决的核心痛点。它没有选择蛮力堆叠参数而是引入了一个在图像领域已被证明有效的结构化表示工具——场景图并将其动态化、时序化用来建模交通视频中智能体车辆、行人等之间的复杂交互。简单说它想让AI像交警一样不仅能“看到”车和人更能“看懂”车与车、车与人之间正在发生什么“故事”并基于这个故事来推理和预测。我最初看到这个方向时直觉是“有戏”。因为交通场景的本质就是一个由时空关系驱动的动态图。把每个交通参与者看作节点它们的交互如跟随、避让、冲突看作边这个图会随着时间不断演变。用场景图来刻画它在思路上非常自然。但真正动手实现和调优才发现从“思路自然”到“效果拔群”中间隔着无数个需要精心设计的细节陷阱。接下来我就结合自己的实践拆解一下SGTA这套框架的核心设计、实现中的关键抉择以及那些只有踩过坑才知道的“门道”。2. SGTA的核心架构如何构建一个“会讲故事”的交通智能体SGTA的整个流程可以看作是一个“感知-结构化-推理-输出”的闭环。它的创新之处不在于某个单一的模块用了多炫酷的模型而在于用场景图作为“骨架”将多模态信息有机地编织在一起让后续的推理任务有了坚实的结构化基础。2.1 多模态感知与初始节点/边构建第一步是从原始视频中提取“原料”。这里通常是多模态的视觉模态使用预训练的物体检测器如YOLO系列、DETR获取每一帧中交通参与者的边界框、类别轿车、卡车、行人、自行车等和外观特征。轨迹模态通过目标跟踪算法如DeepSORT、ByteTrack将检测框关联成时序轨迹得到每个对象的历史位置序列(x, y, w, h, t)。语义模态有时会引入场景的语义分割图车道线、人行道、停止线或高精地图的先验信息作为静态背景知识。有了这些基础信息SGTA开始构建初始的场景图。这里的关键设计决策在于节点和边分别代表什么初始的边如何定义在我们的实现中节点就是每一个被跟踪的交通参与者智能体。每个节点属性不仅包含其视觉特征、类别更重要的是其运动状态如瞬时速度、加速度、航向角。这些运动状态是从轨迹序列中差分计算得到的是后续关系推理的基石。初始的边的构建则体现了对交通场景的初步先验理解。我们并没有一开始就依赖复杂的神经网络去学习关系而是设计了一组基于几何和运动学的启发式规则来建立初始的、具有明确物理意义的连接空间邻近边如果两个智能体在某一帧的欧氏距离小于一个阈值例如3个车身的长度则在它们之间建立一条边。这条边表示它们存在空间上的潜在交互可能。运动相关性边计算两个智能体在一段短时窗口内的速度向量相关性。如果相关性高例如同向且速度接近则可能建立“跟随”或“并行”的边如果速度方向相反或夹角很大则可能暗示“交汇”或“冲突”风险。车道关系边若有地图信息如果两个智能体处于同一车道或相邻车道且行驶方向一致则建立“同车道”边这通常意味着更强的跟驰约束。注意这个初始图是稀疏的、动态的。并非每一对节点之间都有边边也只存在于有潜在交互的帧。这大大降低了计算复杂度也符合物理常识——百米外的车辆对当前决策几乎没有影响。2.2 动态场景图编码器让关系“活”起来初始的边是粗糙的、基于规则的。SGTA的核心组件——动态场景图编码器——的任务就是利用深度学习对这些边进行“精加工”并让整个图具备时序演化能力。这里通常采用图神经网络与时序模型的混合架构。我们尝试过几种方案方案A先GNN后RNN。每一帧将当前帧的节点特征外观运动状态和初始边特征如距离、相对速度输入一个GNN如GCN、GAT得到编码了当前帧交互关系的节点表征。然后将每个节点的表征序列输入一个LSTM或GRU捕捉其时序动态。方案B时空图卷积网络。直接使用ST-GCN或其变体在构建的时空图节点在时间轴上复制边包括帧内空间边和帧间时间边上进行卷积同时聚合空间邻居和时间上下文的信息。方案CSGTA论文采用及我们最终选择的方案时序关系推理网络。这是一个更精巧的设计。它包含两个核心子模块关系推理模块这是一个可微的注意力机制。它接收成对节点的特征包括历史轨迹编码计算一个“关系强度”分数并生成一个关系特征向量。这个向量会动态更新初始的边特征甚至能“创造”出规则未能捕获的隐含关系例如一辆车虽然距离稍远但正加速切入其关系强度可能比一辆近距离但匀速平行的车更高。图时序传播模块该模块以循环RNN或Transformer的方式运作。在每一个时间步它不仅更新节点的状态基于自身历史状态和当前观测更重要的是更新边的状态。边的状态即关系特征会作为消息在节点间传递同时边自身的状态也根据两端节点的最新状态进行更新。这就实现了一个闭环节点状态影响关系关系反过来又影响节点状态二者在时间轴上协同演化。方案C的优势在于它将“关系”提升为一等公民进行了显式、动态的建模。关系不再是固定的或仅由初始规则定义而是可以根据场景上下文进行学习和调整。这更贴近人类对交互关系的理解——关系是随着双方行为而不断变化的。2.3 基于场景图的推理与任务头经过动态场景图编码器我们得到了每个时间步、每个节点的富含交互上下文信息的表征。这个表征是任务无关的可以接入不同的“任务头”来解决具体问题轨迹预测对于目标节点将其最新的节点表征连同其历史状态、以及与它相连的邻居节点的表征通过图读出操作聚合一起输入一个解码器如MLP或条件VAE生成未来多条可能的轨迹分布。意图识别将节点表征输入分类器判断其当前意图如直行、左转、右转、变道、停车。风险检测/事件预测可以设计一个基于图的分类或回归头。例如计算图中每条“边”的紧张程度冲突风险分数或者将整个图的全局表征输入分类器判断是否会发生碰撞、拥堵等事件。视频描述生成甚至可以将动态图的结构信息与节点语义结合用图到序列的模型生成对交通场景的自然语言描述。为什么基于场景图的表征更好对比直接将所有对象的轨迹坐标扁平化后扔进LSTM的方法SGTA的图结构表征明确区分了“个体”与“交互”。在预测车辆A的未来轨迹时模型能清晰地知道它正在被车辆B“跟随”同时需要“避让”行人C而不是从一堆混合的特征中费力地隐式学习这些关系。这使得模型的决策过程更可解释也通常能在交互复杂的场景如无保护左转、环形路口中取得更优的预测精度和更合理的多模态分布。3. 实现中的核心挑战与实战技巧理论很美好但把SGTA从论文搬到实际代码中会遇到一系列工程和算法上的挑战。下面分享几个我们踩过的坑和总结的经验。3.1 场景图的构建粒度与计算效率第一个现实问题是图应该建多大包含多少历史帧节点粒度是否每一个检测到的物体都要作为节点对于远距离的、静止的车辆它们对核心交互的影响微乎其微但会增加大量的计算开销。我们的策略是设置一个兴趣区域和运动过滤。只关心当前帧及未来预测帧可能产生影响的区域内的物体并且过滤掉持续静止或速度极低的对象除非它是关键障碍物。时间窗口使用多长的历史来构建时序图太短如3帧无法捕捉行为模式太长如30帧约1秒会极大增加内存和计算负担且早期信息可能已经过时。我们采用了一种自适应注意力机制。在时序编码部分使用Transformer替代RNN让模型自行学习历史帧的重要性权重。同时在训练时随机采样不同长度的历史片段提升模型鲁棒性。图稀疏化即使经过过滤在繁忙路口图仍然可能较大。我们采用了K近邻策略来进一步稀疏化空间边对于每个节点只连接其空间距离最近的K个节点如K6。这基于一个假设对某个智能体影响最大的通常是其最近的几个邻居。实操心得不要盲目追求构建一个“完整”的图。交通场景的理解本质上是局部和焦点化的。将计算资源集中在最可能发生交互的智能体子集上是保证系统实时性或准实时性的关键。我们通常会在预处理阶段用一个轻量级的模型或规则先识别出“交互热点区域”再在该区域内部署完整的SGTA推理。3.2 多模态特征的对齐与融合视觉特征外观、纹理、运动特征速度、加速度、语义特征类别、交通规则来自不同的提取器如何有效融合直接拼接是最简单的方式但效果往往不是最优。我们实践下来有效的策略是分层融合在节点初始化时将运动特征和语义类别编码如embedding进行早期融合形成节点的“基础状态向量”。视觉外观特征则作为“补充描述向量”在关系推理模块中通过注意力机制与基础状态向量进行交互。这样做的理由是运动状态和类别直接决定了交互的物理规律如卡车刹车距离长而外观信息如车辆颜色、型号对交互的影响是间接的、微妙的。门控机制在融合不同模态特征时引入门控Gating机制让模型学习在不同情境下应该信任哪种模态。例如在能见度低的雨天运动特征可能比模糊的视觉特征更可靠在判断车辆类型时视觉特征又比单纯的轨迹更重要。基于关系的融合在更新边特征时我们不仅融合两端节点的特征还会融入该边所在局部区域的场景上下文特征。例如通过RoIAlign从全局特征图中提取两个节点中间区域的特征这有助于判断它们之间的交互是否受到交通灯、路标等静态要素的影响。3.3 关系标签的获取与监督信号训练一个能推理关系的模型需要有“关系”的标注数据。然而现有的交通数据集如nuScenes, Waymo Open Dataset大多只提供物体检测和轨迹标注很少有“车辆A正在cut-in车辆B”这类精细的关系标签。我们采用了以下几种策略来解决监督信号稀缺的问题弱监督与规则生成利用轨迹数据通过后处理规则自动生成“伪关系标签”。例如如果车辆A的轨迹持续在车辆B的侧前方且距离减小可以标记为“cut-in”如果两车轨迹在未来时间点距离小于一个极小值可以标记为“冲突”。这些规则生成的标签虽然噪声大但为模型提供了初步的学习信号。自监督学习设计前置任务来预训练关系推理模块。一个经典的任务是轨迹补全随机掩码图中某个节点在中间几帧的状态让模型根据其邻居节点的信息来预测被掩码的状态。要完成这个任务模型必须学会理解节点间的相互影响。多任务学习将关系推理与下游主任务如轨迹预测联合训练。主任务的损失会通过梯度反向传播间接地指导关系表征的学习。虽然关系本身没有直接标签但如果好的关系表征能显著提升主任务性能那么它就被认为是有效的。一个具体的调参经验在联合训练初期规则生成的伪关系损失权重可以设高一些让模型快速学到一些基础交互模式。随着训练进行逐渐降低该损失的权重让模型更多地依赖从主任务中学习到的、更抽象和高级的关系表示。这类似于课程学习Curriculum Learning的思想。4. 效果评估与局限性分析我们在内部收集的城市道路数据集和公开数据集上对SGTA框架进行了测试主要对比基线是那些不显式建模交互的轨迹预测模型如Social-LSTM和隐式建模交互的模型如Social-GAN, Transformer-based Trajectory Prediction。定量指标提升在轨迹预测任务上使用ADE平均位移误差和FDE最终位移误差作为指标SGTA在交互密集的场景如十字路口、合流区比基线模型有约15%-20%的提升。更重要的是其预测轨迹的多模态合理性显著更好。例如在车辆等待行人过马路时基线模型可能会预测出“缓慢前进”和“静止”两种模态但SGTA能更准确地赋予“静止”更高的概率因为它通过场景图理解了“行人-车辆”的让行关系。定性分析可解释性这是SGTA最大的优势。我们可以可视化动态场景图中边的权重关系强度。在发生险情或预测出高风险轨迹时我们能清晰地看到是图中哪几条“边”的紧张度突然升高从而快速定位到是哪些智能体之间的交互导致了风险。这对于算法调试和事故分析极具价值。对长尾场景的泛化能力由于引入了基于规则和语义的先验SGTA对于训练数据中少见的复杂交互如特种车辆优先通行、交通事故现场的绕行表现出更好的泛化能力。模型不是纯粹的数据驱动它有一部分“常识”是通过图结构注入的。当然SGTA框架也有其明显的局限性对感知错误的敏感性整个系统的上游是目标检测与跟踪。如果检测漏了关键物体如突然窜出的电动车或者跟踪ID发生跳变构建的场景图就会出现结构性错误导致后续推理全盘皆输。这要求必须有非常鲁棒的感知模块作为基础或者在图推理层设计一定的容错机制如对短暂消失的节点进行状态保持与预测。计算复杂度虽然进行了图稀疏化但在极端密集场景如上下班高峰期的路口图神经网络的运算成本仍然可观可能难以满足毫秒级的实时性要求。模型轻量化、知识蒸馏是未来的优化方向。对结构化先验的依赖场景图本身是一种强结构化的归纳偏置。这既是优点也是束缚。对于完全非结构化、规则模糊的交通场景如混乱的集市、停车场定义“节点”和“边”可能都变得困难SGTA的优势可能无法充分发挥。5. 总结与展望从理解到决策回过头看SGTA为我们提供了一条将交通视频理解从“感知层面”提升到“关系理解层面”的清晰技术路径。它的价值不在于提出了一个不可替代的特定网络结构而在于验证了显式、结构化、可推理的场景表示对于理解动态交互场景的重要性。在实际项目落地时我们并不总是需要端到端训练一个完整的SGTA。它的思想可以拆解应用你可以用它作为一个强大的交互特征提取器为现有的预测模型提供增强的输入特征。你可以将其中的关系推理模块单独拿出来作为一个风险事故事件检测器用于监控系统的预警模块。你甚至可以将动态场景图作为仿真环境中的智能体决策核心让仿真中的车辆不仅遵循物理规则更能基于对周围环境的“理解”做出更拟人的行为。我个人最大的体会是在追求更高精度指标的同时模型的可解释性和决策过程的透明化正变得越来越重要。尤其是在自动驾驶、智慧交通这类安全攸关的领域我们不能接受一个“黑箱”模型突然做出无法理解的预测。SGTA通过场景图为我们打开了一扇窥视模型“思考过程”的窗户。尽管它目前还不够完美还需要在效率、鲁棒性上持续打磨但这种将符号化结构与深度学习相结合的研究范式无疑是通向更可靠、更智能的交通视频理解系统的关键一步。未来的探索方向我认为会集中在如何让这个“图”更智能、更高效。例如引入层次化场景图不仅建模车辆间的微观交互也建模车流、车道组的宏观状态探索在线学习与自适应机制让图的结构和关系定义能根据实时场景动态调整以及如何将更高阶的交通规则和常识如交通法、驾驶礼仪更自然地编码到图推理的过程中。这条路还很长但每一步都让我们离让机器真正“看懂”交通更近一点。
返回列表