智算多多
官方邮箱:service@zsdodo.com

公司地址:北京市丰台区南四环西路188号总部基地三区国联股份数字经济总部


车道线是静态的。行人不是。
一个正在打电话的路人,可能在0.5秒内突然折返;推婴儿车的家长,轨迹会受婴儿车摆动幅度影响;结伴而行的群体,个体决策会被社交关系绑架。传统方法用卡尔曼滤波或社会力模型,本质是把人当成物理粒子——有质量、有速度、受外力。但人不是粒子,人会犹豫、会突然改变主意。
深度学习的方法是把问题拆成两步:先看清楚场景里有什么,再猜这些人接下来会去哪。
CNN负责第一步。输入是视频帧,输出是特征图——哪里是人、哪里是车、哪里是空旷路面,全被编码成高维向量。研究团队用了预训练的ResNet-50作为骨干网络,在ImageNet上练过的眼睛,迁移到路口监控画面后,识别准确率比从零训练高出17个百分点。
GRU负责第二步。相比长短期记忆网络(LSTM),GRU少了一个门控结构,参数更少,训练更快。对于需要实时运行的车载系统,每节省10毫秒延迟,都意味着多1.2米的刹车距离。团队在NVIDIA Tesla V100上测试,单帧推理时间控制在23毫秒以内,满足30帧/秒的实时性要求。
模型能学会预测,是因为有人提前告诉它“正确答案”。
JAAD数据集包含346个视频片段,PIE包含184个片段,全部来自车载摄像头视角。标注团队的工作是:在每一帧里框出行人位置,并预测未来60帧(约2秒)的轨迹。这不是算法自动生成的,是人类一帧一帧标出来的。一个10秒的视频片段,熟练标注员需要工作4-6小时。
这种标注成本决定了数据集的规模天花板。JAAD+PIE合计不到600个视频,相比ImageNet的1400万张图片,简直是杯水车薪。研究团队的数据增强策略很务实:随机裁剪、颜色抖动、时间维度上的帧率变化。没有花哨的生成对抗网络(GAN)合成数据,因为“假人走路”和“真人走路”的肌肉动力学差异,反而会让模型学偏。
训练时的损失函数设计很有意思。不光惩罚预测位置和真实位置的欧氏距离,还额外加了一项“方向一致性损失”——如果模型预测行人向右走,但实际向左走了,惩罚加倍。这强迫模型关注运动意图,而不仅仅是位置回归。
论文发在顶会,代码跑不通,是学术界的经典尴尬。这个团队的做法是把整个 pipeline 塞进Docker:Ubuntu 20.04基础镜像、PyTorch 1.12、CUDA 11.3,依赖版本锁死。
容器化的好处在部署阶段显现。同一套代码,在实验室的V100上训练,在车载的Jetson Xavier上推理,只需改一行设备参数。研究团队提供了docker-compose.yml文件,启动命令缩减到三行:git clone、docker build、docker run。对于想复现结果的工程师,这比自己配环境省掉平均6-8小时的踩坑时间。
模型压缩也没偷懒。原始模型在V100上占3.2GB显存,经过知识蒸馏(Knowledge Distillation)后,学生模型体积压缩到原来的1/8,在Jetson Xavier上的推理延迟从89毫秒降到31毫秒,准确率只损失2.3%。这个取舍对于算力受限的边缘设备,是划算的。
对比实验的结果被埋在第7页。他们的方法在JAAD测试集上的平均位移误差(ADE)是0.47米,最终位移误差(FDE)是0.89米。作为参照,纯LSTM基线模型的ADE是0.61米。换算成实际场景:2秒后的位置预测,误差从61厘米降到47厘米——刚好是一辆自行车的宽度。
团队导师Masiyuddin Khan在论文致谢里写了一句:「这个项目始于2022年春天的封控期,三名学生隔着时差协作完成。」没有企业赞助,没有算力集群,用的学校机房闲置的V100。开源代码的Star数目前刚过百,但已经有两家自动驾驶初创公司的工程师提交了Issue,讨论多相机融合的可能性。
行人预测领域有个残酷的基准:人类司机的预判准确率大约在85%左右,而现有最优模型在复杂路口只能做到72%。这13个百分点的差距,就是L4级自动驾驶迟迟不敢去掉安全员的原因之一。现在的问题是:当模型能把2秒后的位置误差压缩到半米以内,下一个瓶颈会是数据还是算力?
