论文阅读笔记-Understanding Road Layout from Videos as a Whole

Title:Understanding Road Layout from Videos as a Whole

题目:从视频整体理解道路布局

目标:给定一个视频序列,准确连贯的预测出每一帧的道路布局。主要估计俯视图。具体来说,对所有 \(t∈\{1,2,...,T\}\) (视频的帧数),准确且连贯的预测第 t 帧时刻的场景参数 \(Θ^t\) 。不是从单个图像进行预测,而是增强底层特征表示,并聚合视频的时间信息,以获得更稳定的时间预测。

输入:

  • 局部的单个帧
  • 整个视频序列
  • 从上下文线索获得的信息

模型框架

模型:LSTM+FTM(Feature Transform Module)

  • LSTM:结合长期预测的相干性。
  • FTM:聚合有关估计的相机运动的信息并鼓励特征级别额一致性。

视频输入优于图像输入,但视频中的3D场景理解相对不足。
image

场景表示

参数化表示:三种不同的场景属性/参数,代表各种各样的道路场景布局。(遵循[38]中提出的参数表示)

  • \(M^b=14\) 个二进制变量 \(Θ^b\)
  • \(M^m=2\) 个多类变量 \(Θ^m\)
  • \(M^c=22\) 个连续变量变量 \(Θ^c\)

某一视图下的道路场景表示为 \(x∈\mathbb{R}^{H×W×C}\)(high,width,categories), \(x^t\) 位于视频中的第 t 帧, x 可被视为任何通用表示。

基于 LSTM 的模型

整体模型定义:
image

\[y^t=f_{com}(g_i(x^t),g_{ft}(g_i(x^{t-1}))) \]

\[Θ^t=h(g_{lstm}(g_j(y^t))) \]

其中 \(y^t\) 是辅助的中间表示。 \(h\)\(g_*\)\(f_*\) 是神经网络,权重分别为 \(γ_h\)\(γ_{g*}\)\(γ_{f*}\) (这些是要训练的东西)。

  • \(g_i\):一层的CNN;
  • \(g_j\):七层的CNN;
  • \(h\):MLP多任务网络,对场景模型的每个参数组进行三个独立的预测。

FTM:
假设在\(g_i\)之后,我们可以提取一个特征映射\(F = g_i(x)∈\mathbb{R}^{h_f ×w_f ×c_f}\),其中\(h_f\)\(w_f\)\(c_f\)分别表示高度、宽度和特征维数。从相邻帧中聚合场景中相同位置的特征,并将合成的特征输入到后面的预测层中。直观上,我们希望网络利用同一点上的特征,但从不同的角度进行更稳健的预测,以及鼓励更时间一致的特征学习。

为聚合统一空间位置对应的特征,要在相邻帧中找到两个特征映射之间的对应关系,方法是计算相邻透视图之间的光流。

给定特征映射之间的对应关系,将时间步 t−1 的特征映射弯曲到当前时间步 t ,表示为:

\[g_{ft}(F^{t-1})=\phi(F^{t-1},S^{t-1}(x^t,x^{t-1})) \]

其中\(\phi(*)\)是双线性采样函数。\(S^{t-1}(x^t,x^{t-1})∈\mathbb{R}^{h_f ×w_f ×2}\) 是帧 t 和 t-1 之间的位移(或流)场。

特征构成:
多种方式可以聚合特征映射 \(g_{tf}(F^{t-1})\)\(F^t\) ,这里采用简单加权求和:

\[f_{com}(F^t,g_{ft}(f^{t-1}))= α·F^t+(1−α)·g_{ft}(F^{t−1}) \]

其中 \(α\) 可以是标量也可以是矩阵, \(α\) 与网络的其他部分一起自动学习,无需监督。

对于 t=1 时的特殊情况,简单假设 \(g_{tf}(F^{t-1})=F^t\)

损失函数:
给定由 \(N^r\) 个视频组成的注释数据集 \(D^r\) 将损失函数$L^r_{sup}定义为:

\[L^r_{sup}=\sum^{N,T}_{i,t}BEC(Θ^t_{b,i},\hatΘ^t_{b,i})+CE(Θ^t_{m,i},\hatΘ^t_{m,i})+l_1(Θ^t_{c,i},\hatΘ^t_{c,i}) \]

其中 BEC 为 binary cross entropy , CE 为 cross entropy , \(l_1\)\(l_1\) 损失。
\(\hatΘ^t_{*,i}\) 为第 i 个视频序列的第 t 帧的 groundtruth layout parameters。
将回归任务中的连续变量离散化——通过将以\(Θ_c\)为中心的狄拉克函数与方差固定的高斯函数进行卷积,将每个变量离散化为K=100个箱子。

模型输入

用视频中的上下文和全局信息来改进x的表示。

局部单帧信息

利用 bev 映射:

  • (1)将所有道路像素反向投影到一个3D点云中
  • (2)将所有3D点投影到x-y平面上
  • (3)得到一幅道路的俯视图图像。

将每个像素的语义类概率分布从透视图转移到俯视图。
bev 表示为\(x∈\mathbb{R}^{H×W×C}\),其中C为语义类的数量。H = 128, W = 64 像素,对应点云中的 60×30 米。

上下文信息

本文中C=5类,道路,人行道,车道,人行横道,对象类(交通参与者,如:行人、汽车等)。

整合上下文线索的方法:

  • 直接将对象的像素级概率映射到俯视图。\(\times\) 会导致扩散表示,并且可能非常嘈杂。
  • 用边界框表示。\(\surd\)

将现有的3D物体检测器应用到我们的视频中,并将检测结果映射到俯视图中。
为了减少角度预测的影响,进一步将角度分为两种类型,正面和侧面。只要预测的偏转角相对于相机 z 轴(向前方向)在 \([-\frac{π}{4},\frac{π}{4}]\)\([\frac{3π}{4},\frac{5π}{4}]\) 范围内,我们就假定这个预测的物体是正面的。否则为侧面。

来自视频序列的全局信息

我们利用COLMAP中最先进的SfM和MVS算法,以及二维图像中的语义分割,从视频中生成顶视图地图(表示为bev-col)。
步骤:

  • 我们首先对COLAMP返回的密集点云进行三维语义分割。
    • 我们根据可见性映射将每个三维点投影到图像中,从二维语义分割中获得候选语义;
    • 采用简单的赢者通吃策略来确定每个点的最终语义标签。
  • 通过三维语义分割,我们可以提取道路部分的三维点,并通过RANSAC将其拟合为二维平面。
  • 最后,我们可以根据相机姿态和我们预先定义的俯视图图像大小和分辨率,在2D道路平面上裁剪一个矩形框来生成bev-col;将平面上的三维点转换为图像中的像素点。
  • 在获得全局平面参数后,利用摄像机姿态将全局平面参数转换为相对于摄像机的局部参数。

的三维重建的绝对规模可以从GPS或相机地面高度在驾驶场景中检索

最终的输入

  • 1.来自单个帧的局部信息
  • 2.来自视频的全局信息
  • 3.对象级别的上下文信息

1 和 2 可以相互提供信息。

我们提出的俯视图语义地图bev-final在\(\mathbb{R}^{H×W×C}\)中,其中C = 5,层代表四个背景类和汽车;我们将 bev-col 叠加在 bev 上,将它们融合在一起。具体来说,对于一个二元掩码\(B\),如果\(bev-col_{i,j}\neq0\),则\(B_{i,j}=1\),我们有\(bev-final = bev-col \odot B + bev\odot(1−B)\),其中\(\odot\)表示元素级积。

[38] Ziyan Wang, Buyu Liu, Samuel Schulter, and Manmohan Chandraker. A parametric top-view representation of complex road scenes. In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 2019.

posted @ 2022-07-27 15:34  xiaoliu-ya  阅读(79)  评论(0编辑  收藏  举报