概述
提出了SCNN语义分割网络,将传统的深度逐层卷积推广到特征图中的逐片卷积,在同一特征图的行和列上做信息传递,可有效识别强先验结构的目标。此外论文还发布了一个大型的车道线检测数据集CULane Dataset,用于进一步推动自动驾驶的发展
总结
1. Introdution
自动驾驶->交通场景理解->车道线检测->语义分割->挑战:严酷场景;强结构信息但外观线索少。CNN网络常常通过逐层堆叠卷积来构建,但捕获行列之间空间关系的能力还未完全开发,而这些关系对于学习强形状先验但弱外观一致性(空间关系强但外观线索少)的语义对象是重要的,如遮挡或磨损或根本就没画的车道线。 在CNN逐层传播中,卷积层接收上一层的结果作为输入,应用卷积和非线性激活操作后,将本层结果输出到下一层;SCNN将特征图的行列视为层,然后应用卷积和非线性激活与求和运算,将结果输出到下一层。实现了信息在同层中的传递,强化了空间信息,这对容易被遮挡的结构化对象非常有用。 SCNN相较于其他方法的优点:
- 顺序消息传递方案比传统的密集MRF/CRF具有更高的计算效率
- 消息作为残差传播,使SCNN更易于训练
- SCNN灵活可插入深度神经网络的任何层中
2. SCNN
2.1 CULane Dataset
专用于车道线检测的数据集。KITTI和CamVid有像素级标注但只有几百张太少了;Caltech Lanes Dataset和TuSimple分别有1224和6048张图片,但场景简单。上述数据集均未标注遮挡不可见的车道线,CULane用三次样条也标注了车道线遮挡不可见的部分,共分为9个场景(1普通8挑战),共133235帧,分辨率1640×590。
2.2 Pipeline
传统的建模空间关系的算法是基于马尔科夫随机场(MRF)或条件随机场(CRF)的,现有的工作将其与CNN联合起来的pipeline如图3(a),其具体过程为:(1)归一化:CNN的输出被视为一元势,并通过softmax操作来归一化;(2)信息传递:通过具有大核的通道维卷积实现(对于密集CRF,核大小将覆盖整个图像,其核的权重取决于输入图像);(3)兼容性变换:用1×1卷积实现;(4)添加一元势:这个过程重复N次来给出最终的输出。每个像素从其他所有像素接收信息,计算昂贵很难实时,难学习初始化难,其应用在CNN的输出而非高隐藏层(含有更丰富的信息)。 本文提出的方法如3(b),将数据看成一个3D张量,然后将张量切成H片,对第一片送入一个核大小为C×w的卷积层,w为核的宽度,然后将输出加入到下一片形成新的一片,新的一片继续被送入下一个卷积层直到到达最后的一片。具体前向传播过程公式如下所示:
X
i
,
j
,
k
X_{i, j, k}
Xi,j,k?表示通道、行、列索引像素,
K
i
,
j
,
k
K_{i, j, k}
Ki,j,k?表示最后一片位于通道i和当前片位于通道j,两个元素w在列上有k个偏移的元素之间的权重,'表示的是更新后的值,f表示非线性激活函数例如ReLU,卷积核的权重在所有切片上共享。且SCNN是有方向的,DURL分别表示向下/上/右/左。
2.3 Advantages
(1)计算效率高:传统其他所有点到1,SCNN顺序传播。张量H行W列,迭代n次,密集MRF/CRF消息传递nWWHH次(每两个行列像素传递一次),SCNN消息传递nWHw次(每个像素只接收w个像素的信息)。迭代次数由0到100,迭代方向设为4即上下左右。 (2)信息残差:SCNN中的信息按照残差的方式传播,公式(1)中的ReLU函数的输出,这种信息传递方案比LSTM更好。 (3)灵活性:SCNN可以很容易的集成进CNN的任何部分而不仅是在输出位置,高隐藏层是个很好的集成位置,它有丰富且高度的语义信息
3. Experiment
相关训练参数设置详见原文,在CULane和Citysacpes两个数据集上进行实验。整个模型基于LargeFOV模型修改,四个空间方向上的SCNN依次添加到顶部隐藏层(fc7层)之后,以引入空间信息传播。 检测模型 生成像素级的真值来训练网络就像语义分割,四条车道线被视为不同的类别,先预测是否存在再预测类别;测试时置信度大于0.5,每20行搜索一个最高相应的位置,然后用三次样条曲线连接起来即是最后的预测结果。SCNN模型与LargeFOV的区别:(1)fc7层的输出通道设为128;(2)fc6的atrous卷积层速率设置为4;(3)在每个ReLU层前添加BN层;(4)加入了个小网络来预测车道线是否存在。 评价标准 使用调和平均值F-measure =
(
1
+
β
2
)
?Precision?Recall?
β
2
?Precision?
+
?Recall?
\left(1+\beta^2\right) \frac{\text { Precision Recall }}{\beta^2 \text { Precision }+\text { Recall }}
(1+β2)β2?Precision?+?Recall??Precision?Recall??,其中Precision
=
T
P
T
P
+
F
P
=\frac{T P}{T P+F P}
=TP+FPTP?,Recall
=
T
P
T
P
+
F
N
=\frac{T P}{T P+F N}
=TP+FNTP?,
β
\beta
β设置为1。 消融实验 (1)SCNN多方向性的效果 (2)核宽度w的效果 (3)空间CNN在不同的位置 (4)顺序传播的有效性 (5)与SOTA方法的比较 (6)计算效率 Cityscapes上的语义分割
4. Conclusion
提出了一个类CNN框架的网络SCNN,有效的实现了空间级的信息传播。很容易集成进深度网络中并进行端到端的训练,实验表明可有效保持细长结构的连续性。发布的数据集会有用。
|