前言引用

[2] DSDNet Deep Structured self-Driving Network Wenyuan Zeng, Shenlong Wang, Renjie Liao, Yun Chen, Bin Yang, Raquel Urtasun (ECCV 2020)

从这里我们进入了比较正式的期刊论文(我其实挺喜欢NVIDIA的写作风格类似于报告 但是比较易懂 让我们下次看看这篇吧)正式所以摘要很少 hhh

摘要

万事从摘要开始:

In this paper, we propose the Deep Structured self-Driving Network (DSDNet), which performs object detection, motion prediction, and motion planning with a single neural network. Towards this goal, we develop a deep structured energy based model which considers the interactions between actors and produces socially consistent multimodal future predictions. Furthermore, DSDNet explicitly exploits the predicted future distributions of actors to plan a safe maneuver by using a structured planning cost. Our sample-based formulation allows us to overcome the di culty in probabilistic inference of continuous random variables. Experiments on a number of large-scale self driving datasets demonstrate that our model signi cantly outperforms the state-of-the-art.

碎碎念:这次的摘要很短,如果只看摘要可能会很疑惑,比如interactions between actors, produces socially(socially还能数据化?->其实就是预测其他车的运动), 基于样本去formulation, probabilistic inference of continuous random variables(直译:连续随机变量的概率推理 这是指哪个现象呢 )前面两个在介绍部分就解释了一下

1.interactions between actors:指其中一个的actor的行为会影响到其他的actor(actor翻译成对象还是啥好呢 所以就中英夹杂了)

2.produces socially consistent multimodal future predictions:虽然我还是没能理解socially?可能是语言上?但是从介绍部分这个就是1.的延伸,行为会相互影响所以 model the future motions of actors with multi-modal distributions就是十分重要的。

所以这篇文章干的事情就是:输入数据,三个分支(但是一张网?此点待看)对于规划的cost function采取基于样本的形式(数据+人为),明显和上一个NVIDIA的暴力学习不同的是,1.加入了概率模型去预测未来在决定驾驶,2.prediction module uses an energy-based formulation to explicitly capture the interactions among actors and xxx(见介绍的最后部分),3.训练集采用的开源 2个真实世界,1个CARLA仿真见[6][15,39]的参考出处可得

Contribution

  1. Our prediction module uses an energy-based formulation to explicitly capture the interactions among actors and predict multiple future outcomes with calibrated uncertainty.
  2. Our planning module considers multiple possibilities of how the future might unroll, and outputs a safe trajectory for the self-driving car that respects the laws of traffic and is compliant with other actors.
  3. We address the costly probabilistic inference with a sample-based framework.

Method

从开头的这两幅图结合介绍看,对整个框架应该可以认识的很快

从第一个看,用一个CNN框架,共同细分了三个模块【所以是咋细分的呢?输出三个模块?输出信息呢?】

右边的safe planning under uncertainty很有意思,考虑了socially-consistent prediction

原文:In this work, we further enhance the model capacity with a non-parametric explicit distribution construed over a dense set of trajectory samples.【这个也没看懂 可能是基础问题 non-parametric explicit distribution?】

Structured models and Belief Propagation:

To encode prior knowledge, there is a recent surge of deep structured models, which use deep neural networks (DNNs) to provide the energy terms of a probabilistic graphical models (PGMs).

进入Method,这一部分的方法特别长(主要我想理解 所以有点想解释清楚),最好对着论文看比较好...

框架 - backbone

整个框架的输入:We rasterize the lanes with different semantics into different channels and concatenate them with 3D LiDAR tensor to form our input representation.

将不同的semantics与3D LiDAR tensor整合起来,整合得到的3D tensor再通过深度卷积网络去计算出a backbone feature map \(F \in \mathbb R{^{H \times W \times C}}\),使用两个卷积网络分开F,一个是识别位置上是否有其他actor,其余一个是返回每个actor的位置,大小,方位和速度。再讲这个feature map作为prediction和planning modules 的输入去生成actors' 行为分布和safe planning maneuver.

多社会模型概率预测? - Probabilistic Multimodal Social Prediction

(不知道怎么翻译这个小标题了) 为了计划安全的行驶行为,我们就得预测其他的actors是什么行为。 we represent their possible future behavior using a trajectory defined as a sequence of 2D waypoints on birds eye view sampled at \(T\) discrete timestamps.

️将输出参数化:每当一个测量周期就更新一次所有actors'概率,那么概率是怎么表示的呢?\(s_i \in \mathbb R^{T \times 2}\) be the future trajectory of the i-th actor. 这是一个单独的整个\(p(s_1,\ldots , s_N|X)\),这个整体的联合概率没有高效的计算方式。

️对所有的agent未来预测行为建模:Here, we propose to approximate this high-dimensional continuous space with a finite number of samples. 所以本文采用的是采样的方法 randomly sample K possible future trajectory. 为确保采样的diverse, dense and physically plausible(离散又密集?diverse and dense?奇怪点) we follow the Neural Motion Planner (NMP) and use a combination of straight, circle and clothoid curves. 总公式如下:

\[p(s_1,\ldots ,s_N|X,w)=\frac{1}{Z}exp(-E(s_1,\ldots,s_N|X,w))
\]

式子中w是学习的参数,X是传感器原始数据,Z是actors' 所有可能的状态。\(Z=\sum exp(-E(\hat s_1^{k_1}, \ldots,s_N^{k_N}))\) 这里为了让整个框架有可解释性,就像人们驾驶车的感觉和交规方面。比如,我们会尽可能的smoothly along the road and avoid collision with each other. Therefore, we decompose the energy E into two terms.(这里的energy E 在MIT老教授的线性代数里正定也看到过 energy test,但是实际的意义到底是什么呢?能量?还是就是一种cost function的表示?)

\[E(s_1,\ldots,s_N|X,w)= \sum\limits_{i = 1}^N {{E_{traj}}({s_i}|X,{w_{traj}})} + \sum\limits_{i = 1}^N {\sum\limits_{i \ne j}^N {{E_{coll}}({s_i},{s_j}|X,{w_{coll}})} }
\]

N是检测的agent总数,w还是学习到的参数

因为前部分的\(E_{traj}\)很难定义,所以这里使用了一层神经网络去学习,输入:传感器数据\(X\)和计划好的路径\(s_i\),输出a scalar value.

下图是更为详细的解释和框架图:

️Message Passing inference:we thus conduct marginal inference over the joint distribution. (这里的marginal inference就不是很懂了?) 我们使用sum-product message passing去预测每一个actor的边缘分布,然后再将其他actors的影响marginalization. 这样得出的边缘概率\(p(s_i|X,w)\)反映出了actor行为的不确定性和multimodality(这个词也不懂),and will be leveraged by our planner. 在每一次迭代行为里更新每个actor \((s_i)\)

\[{m_{ij}}\left( {{s_j}} \right) \propto \sum\limits_{{s_i} \in \{ {s_i}^k\} } {{e^{ - {E_{traj}}({s_i}) - {E_{coll}}({s_i},{s_j})}}} \prod\limits_{n \ne i,j} {{m_{ni}}({s_i})}
\]

这个式子中的\(m_{ij}\)是我一直疑惑的 为什么message可以直接这样表示 或者说这个message的格式信息?想要表达的东西?原文中 \(m_{ij}\) is the message sent from actor i to actor j and \(\propto\) means equal up to a normalization constant. 这个消息传输的过程就是 actors之间互相交流他们未来intention \(s_i\) and how probable those intentions are \(E_{traj}(s_i)\) 而碰撞的可以帮助不同的额actors之间coordinate intentions,这样就算行为复杂也不会产生碰撞。经过消息的传递迭代后,我们可以得出大概的边界概率如下:

\[p(s_i=\hat s_i^k|X,w) \propto e^{ - {E_{traj}}({\hat s_i^k})} \prod\limits_{j \ne i}m_{ij}(\hat s_i^k)
\]

在不确定情况下安全的运动规划

The motion planning module fulfills our final goal, that is, navigating towards a destination while avoiding collision and obeying traffic rules. 所以为了量化这个目标,我们构建了cost function C, 更低的cost意味着这条路更好,构建完成后 planning的工作就是找到min cost的trajectory

\[\tau^* = arg \min \limits_{\tau \in {\rm P}} C(\tau|p(s_1,\ldots,s_N),X,w)
\]

while \(\tau^*\) the planned optimal trajectory and \(\rm P\) the set of physically realizable trajectories 满足车辆的动力学模型

再到整个Planning Cost

\[C(\tau|p(s_1,\ldots,s_N),X,w)=C_{traj}(\tau|X,w)+\sum\limits_{i = 1}^N {{E_{p({s_i}|X,w)}}\left[ {{C_{coll}}\left( {\tau ,{s_i}|X,w} \right)} \right]}
\]

\(C_{traj}\)就是用神经网络学习到的车辆轨迹,\(E_{traj}\)是预测模块,使用了trajectory feature和ROIAlign 从backbone 特征图中提取出来并计算this scalar cost value. \(C_{coll}(\tau,s_i)=\lambda\) if \(\tau\) and \(s_i\) colide, and 0 otherwise,也就是就散得到的planned optimal trajectory如果和任何一个actor撞到了都是不可行的,这样就能保证车辆行驶安全

学习

这一部分我们直接将所有的模型(backbone, detection, prediction and planning)通过一个multi-class loss 联合训练

\[\mathcal{L} = \mathcal{L}_{planning}+ \alpha {{\mathcal L}_{prediction}} + \beta {{\mathcal L}_{detection}}
\]

\(\alpha\)和\(\beta\)是常量超参数,这样的multi-task loss can fully exploit the supervision for each task and help the training. 如果只有前者的\(\mathcal{L}_{planning}\) 那就损失了预测和检测的更为合理的学习,更具可解释性?(但是这样不会重复吗?planning那块的学习就包含住了预测检测的一部分)

Limitation

自己的一些想法

【论文阅读】DSDNet Deep Structured self-Driving Network的更多相关文章

  1. 【论文阅读】Deep Mixture of Diverse Experts for Large-Scale Visual Recognition

    导读: 本文为论文<Deep Mixture of Diverse Experts for Large-Scale Visual Recognition>的阅读总结.目的是做大规模图像分类 ...

  2. 【论文阅读】Deep Adversarial Subspace Clustering

    导读: 本文为CVPR2018论文<Deep Adversarial Subspace Clustering>的阅读总结.目的是做聚类,方法是DASC=DSC(Deep Subspace ...

  3. 【CV论文阅读】Deep Linear Discriminative Analysis, ICLR, 2016

    DeepLDA 并不是把LDA模型整合到了Deep Network,而是利用LDA来指导模型的训练.从实验结果来看,使用DeepLDA模型最后投影的特征也是很discriminative 的,但是很遗 ...

  4. 论文阅读:Relation Structure-Aware Heterogeneous Information Network Embedding

    Relation Structure-Aware Heterogeneous Information Network Embedding(RHINE) (AAAI 2019) 本文结构 (1) 解决问 ...

  5. 论文阅读 DynGEM: Deep Embedding Method for Dynamic Graphs

    2 DynGEM: Deep Embedding Method for Dynamic Graphs link:https://arxiv.org/abs/1805.11273v1 Abstract ...

  6. 【论文阅读】Deep Mutual Learning

    文章:Deep Mutual Learning 出自CVPR2017(18年最佳学生论文) 文章链接:https://arxiv.org/abs/1706.00384 代码链接:https://git ...

  7. 三维目标检测论文阅读:Deep Continuous Fusion for Multi-Sensor 3D Object Detection

    题目:Deep Continuous Fusion for Multi-Sensor 3D Object Detection 来自:Uber: Ming Liang Note: 没有代码,主要看思想吧 ...

  8. 【论文阅读】Deep Clustering for Unsupervised Learning of Visual Features

    文章:Deep Clustering for Unsupervised Learning of Visual Features 作者:Mathilde Caron, Piotr Bojanowski, ...

  9. [论文阅读]VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION(VGGNet)

    VGGNet由牛津大学的视觉几何组(Visual Geometry Group)提出,是ILSVRC-2014中定位任务第一名和分类任务第二名.本文的主要贡献点就是使用小的卷积核(3x3)来增加网络的 ...

随机推荐

  1. CUDA上的量化深度学习模型的自动化优化

    CUDA上的量化深度学习模型的自动化优化 深度学习已成功应用于各种任务.在诸如自动驾驶汽车推理之类的实时场景中,模型的推理速度至关重要.网络量化是加速深度学习模型的有效方法.在量化模型中,数据和模型参 ...

  2. 广播 (broadcasting)

    广播 (broadcasting) 飞桨(PaddlePaddle,以下简称Paddle)和其他框架一样,提供的一些API支持广播(broadcasting)机制,允许在一些运算时使用不同形状的张量. ...

  3. 3D MinkowskiEngine稀疏模式重建

    3D MinkowskiEngine稀疏模式重建 本文看一个简单的演示示例,该示例训练一个3D卷积神经网络,该网络用一个热点向量one-hot vector重构3D稀疏模式.这类似于Octree生成网 ...

  4. 我的QT学习路线(目前)

    qt基础->qt事件->qt绘图->qt文件IO->qt网络通信->qt多线程->qt数据库操作.

  5. SpringCloud Alibaba实战(5:子模块基本业务开发)

    源码地址:https://gitee.com/fighter3/eshop-project.git 持续更新中-- 在上一节里,我们搭建了一个微服务项目的整体架构,并进行了版本控制. 接下来我们进一步 ...

  6. 137. 只出现一次的数字 II

    2021-04-30 LeetCode每日一题 链接:https://leetcode-cn.com/problems/single-number-ii/ 方法1:使用map记录每个数出现的次数,再找 ...

  7. mapboxgl 互联网地图纠偏插件(一)

    之前写过一个 leaflet 互联网地图纠偏插件,引用插件后一行代码都不用写,就能解决国内互联网地图瓦片的偏移问题. 最近想对 mapboxgl 也写一个这样的插件. 原因是自己发布的OSM矢量瓦片地 ...

  8. 9种设计模式在Spring中的运用,一定要非常熟练

    1.简单工厂(非23种设计模式中的一种) 实现方式: BeanFactory.Spring中的BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获得Bean对象,但是否是在传入参数 ...

  9. 自动删除n天前的日志(此处用于业务删除xml文件)

    Linux应用总结:自动删除n天前的日志 linux是一个很能自动产生文件的系统,日志.邮件.备份等.虽然现在硬盘廉价,我们可以有很多硬盘空间供这些文件浪费,让系统定时清理一些不需要的文件很有一种爽快 ...

  10. 京东 Vue3 组件库支持小程序开发啦!

    源码抢先看: https://github.com/jdf2e/nutui NutUI 3.0 官网:https://nutui.jd.com/3x/#/ 小程序多端适配 设计初衷 在跨端小程序的开发 ...