文章是关于
语义分割的
现有主流方法,依赖复杂的网络模型以及多尺度的输入,因此
实时性很差。另一方面,实时性好的,又对信号灯这类
小物体分割效果不太好,这对自动驾驶来说,对安全性有很大的威胁。
作者从两个方向入手,要改进算法的效率,同时保证效果。
- 算法:Narrow Deep Network (NDNet)
- 数据集:cut-and-paste for small object
首先概括 的介绍一下作者的方法
一部分就是模型,下边是作者扩充数据集的方法。
Module部分,作者结合瓶颈结构(Bottleneck)和深度可分离卷积,将他用在FCN8的五个阶段中,作者还用了一个
学习的权重参数去平衡那三个分支的加和(图中红色虚线部分)。
数据集上,作者将原始数据集中的小目标(作者认为这里的小目标,是他相对于汽车来说他是真的小,还有就是它分割效果不好),将这些小目标剪切粘贴到图像中(当然不是随意粘贴,后边会具体讲)。
算法:Narrow Deep Network (NDNet)
下面简单介绍一下深度可分离卷积:
这里引用一篇别人的介绍,写得比较直观了
https://blog.csdn.net/makefish/article/details/88716534
最下面算的是参数量,不多说了,一看就能看出来怎么肥事。
作者想通过降低参数量来减少资源消耗,达到Real-time。
作者这里采用深度分离卷积,将一个3 × 3的标准卷积分离成3 × 3的深度卷积 和 一个1 × 1 的标准卷积。然后结合瓶镜结构利用这两个1×1的卷积来减少和恢复特征维数,在不引入太多参数的情况下增加了网络的深度。网络参数具体如下,对应FCN8的五个阶段。
红色箭头指的32是下采样倍数,Sc是c类别的score map;Sci是c类在i点的分数,Lp和La是惩罚损失和辅助损失(上图中的红色箭头所指部分),L p和La都是通过对每个像素的交叉熵进行平均计算得到的;公式中 U(第几阶段的score map,上采样倍数)。
不同于FCN8的是,作者在这里加了学习权重(图右上角处的公式),用来平衡各个分支的损失。
数据集:cut-and-paste for small object(数据增广):
Motivation:
因为扩充数据集不会增加计算量,而且之前也有研究表示,扩充更多的数据,效果也不一定比改进网络来的少。
Definition of small objects:作者定义的小目标poles(电线杆), traffic lights, traffic signs, riders, motorcycles and bicycles
三条常识(不可以随便放置小目标,是有一定的先验知识的)1)近大远小
2)左边和右边的物体还有区别
3)交通灯和交通标志通常安装在电线杆上。
骑自行车的人坐在摩托车或自行车的顶部。因此, 最好将同时出现的小对象提取到一起。
两个大类:pole_traffic ; motorcy_cle_bicycle ,根据距离三个子类: 近,中,远,在每个子类再分左,右对象。
1. 把所有要提取的目标的像素作为前景,其他的全部作为背景。
2.通过连接不同的标签,区分不同的object
3.把原图和对应的标签截取出来对应分类
在放置目标时,还要保证上下文的关联,这你就要满足一些显而易见的先验知识。
1)pole_traffic通常是在人行道上发现的。
2)骑摩托车的人通常在马路上,而没有骑摩托车的人通常在人行道上。
如图,最左侧的是随机放置的;右侧的三个,是作者做的几个数据集,因为要做实验,所以做了好几个不同的,要分析小目标数量对效果的影响。右上角蓝色字体是小目标数量的排序。
这部分实验是作者在分析,粘贴不同数量的小目标,结果如何。
Overall是mIou;SO是Small object;加粗的是扩增的小目标。
用改进后的数据集之后,小目标的结果明显有了提升。但是······
小目标粘贴多了,也会影响普通目标,因为小目标多了,会降低普通目标的比例,上表中SC2的train还有Bus就可以看出。所以可见数据集不同尺度目标数量的平衡是十分重要的。
作者在别的方法中使用了他的增广后的数据集,
当然那个SC2小目标粘贴的太多,就没在使用,这里用的是较少的SC1和3.
结果表明该方法增广的数据集,对其方法也有效。
作者的方法,速度和运算量上,要有很大的优势。
和其他的最好的方法相比,作者的方法兼顾了效率和精度。
因为应用中很多时候是在嵌入式的环境中使用的,所以效率也很关键,嵌入式的设备往往没有那么高的运算速度,所以就要求你的计算效率。
对比效果比较好的(右侧两个)方法,作者的方法在效果上和他们差不多,但是看他们的效率,和实时性(在上一张表中有,上半部分的第二个和第三个),可以说是碾压,作者的方法,优势就在于此。
作者的实时模型继承了可分离卷积、瓶颈和FCN8结构的优点:与常规卷积相比,可分离卷积在计算成本上具有明显的优势。瓶颈结构可以在很大程度上降低网络的平均宽度,同时又不会对网络的精度带来太多的负面影响。使用的FCN8结构的Feature map平均分辨率明显小于其他大多数分割结构。
通过实验也验证了该数据集增广方式的有效性。
总结:
目前这篇文章对我的工作可能没啥作用,但是他改进网络的方法,还有学习融合分支权重的方法,我觉得可以用上。
对于数据集增广那里,我也有一点疑问,是人工贴?还是跑的代码?
不管怎么分吧,我觉得可以考虑想想用自动的方式去扣小目标,并且自动分类和扩充,这样应该会更好。
也期待作者接下来的实时视频的语义分割。
欢迎讨论,有什么不对的地方也请大家指正。