赞
踩
语义分割是指对图片中的像素进行类别上的分类,有别于实例分割,不能区分同一类别的不同个体。
参考文献:
https://mp.weixin.qq.com/s/2EMOHeG_Z0CKHs1YwKL0uA
https://zhuanlan.zhihu.com/p/27794982
语义分割是计算机视觉中很重要的一个方向。
不同于目标检测和识别,语义分割实现了图像像素级的分类。
它能够将一张图片或者视频(视频以帧来提取的话其实就是图片),按照类别的异同,将图像分为多个块。如下图所示:
明白了分割就是将图像按类别划分为不同的块,那么我们如何来理解语义这个词语呢。
我们知道一句话或者一篇文章,都有其表达的意思,这叫做语义。
同样,当我们看见一张图片时,我们能够通过我们的大脑很快明白其意思,图像表达出的意思就是图像的语义。
语义分割就是将一张图片,表达成机器能够读懂的语言。那么,我们就需要对图像进行操作,将不同类型的事物分割。
语义分割有较多的方法,大致可以分成两类,一类是传统的方法,一类是基于深度学习的方法。其中,基于深度学习的语义分割,目前已经具有较大的发展,并且能够使用在一些现实生活中的场合里。
此外,还有两个与语义分割类似的说法,但是不是属于同一种概念。
下图中,子图a、b、c、d分别表示图像、语义分割、实例分割和全景分割。通过图应该可以更好地区分它们:
本文对从FCN开始的语义分割网络进行了一些总结。
简单来说,FCN在网络上的改变就是基于当时最好的图像分类模型,将最后的全连接层替换成了卷积层,这样最后汇聚到一个点的网络结构,变成了汇聚成缩小一定比例的分类图,并且最后一层的21个通道代表着最后的21个分类结果。
同时也揭示了伴随着端到端语义分割的一个主流矛盾:既需要全局的感受野来完成分类任务,又需要在边缘部位,用局部信息和低层的低级视觉信息来达到准确的边缘分割。
使用全卷积网络做语义分割的矛盾就在于,图片中的语义信息在大的感受野条件下,可以得到很好的分类结果。但是过大的感受野会丢失细节信息,丢失边缘,局部信息,又不利于局部分割信息的恢复,如何设计网络平衡这个矛盾是个比较重要的问题。
毫无疑问,FCN提过了一个很不错的方法和方向。即Encoder-Decoder并强调高低通道特征的融合。
空洞卷积的示意图如下:
因为主流的网络为了获取较大的感受野(理论上来说大的感受野有助于分类),都采用了conv中加上stride,或者采用pool(池化)来让神经网络高层获得的感受野更大,这样分类结果会更准确,但带来的缺点就是图像分辨率会下降,同时maxpool这个操作会丢失图像的部分细节信息,不利于分割任务,所以在deeplab中大范围用空洞卷积来扩大感受野,同时也尽量避免降低图像分辨率的操作,这样更容易恢复到原始分辨率大小。
在deeplab中对于缩小后的图像并没有使用神经网络实现和FCN一样的解码器结构,而是使用了上头的条件随机场这个偏向传统视觉处理的方法。后续的deeplabv3版本中已经不使用该方法。
可以看到这个网络结构还是比较浅的,不像其他主流网络堆得很深,目前在医疗图像分割领域用U-net的非常多,分割效果也很不错,但在分类任务很复杂的的语义分割数据集中表现的并不是很好,这跟网络本身比较浅也有关系。同时,正是由于U-net本身比较浅,很多低层视觉信息很重要,被保存了下来,所以在医疗图像分割上可以达到很精准的边缘提取,等等分割任务。
ASPP模块:
最大的改进就是ASPP模块了,之前提到扩大感受野对于正确的分类有很大的好处,但是也不是一味地提升感受野,这样必然会导致泛化能力太弱,图片中的物体大小自然是不一样的,用相同的感受野只能说对于某个大小的物体识别比较准确,一旦有比较大的,或者很小的自然效果很差,作者考虑到这个问题,在特征图的最后加入了ASPP,简单理解就是通过不同大小的空洞卷积模块来达到不同的感受野的目的,这样就可以对不同大小的物体都能做到比较准确地检测,进而提高准确率,事实也证明这个网络模块非常有效!
基于实例分割的分割,其实实例分割有很多好处,实例分割,可以将分类和分割两件事分离开来,正如何凯明在论文中提到的类间竞争,分割的时候只负责分割,然后类的事交给专门的分类网络判断,这样可以减少相互之间的干扰,分类可以有较大的感受野,分割可以去获得低层的视觉信息。也是种不错的选择吧。
实例分割改善分割效果应该会有帮助。最终语义分割也是要走向实例分割的,并且实例分割带来的分类和分割准确度的提升应该很大,具体可以看mask-rcnn中对这一问题的阐述。
网络结果如下:
网络结构如下:
空洞卷积级联的尝试:
本来个人认为,语义分割就是用神经网络来实习端到端的分割结果,来找出每个像素的分类结果,尽可能保留主要语音信息,边缘稍微有些混乱,也是正常现象,通过各种各样传统视觉算法中的trick当然可以细化这个边缘结果,让效果更好,不过既然大家主要都是研究神经网络,那就只用神经网络这块的性能提升来比较客观、公正一些。
左1 depplabv3 中间 主流的编码-解码结构 右边 deeplabv3+的改进后的编码结构
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。