赞
踩
好吧,实习期间学到的东西超多的,还看了一些语义分割相关的内容,嘿嘿~
综述:
语义分割简单来说就是像素级别的分类问题,以往我们做的分类问题只能分出一张单个图片物体的类别,然而当这个图片中有多个物体的时候它可能就会傻眼了(当然用muti-label也可以做,但是一般的分类任务都是单标签的),而语义分割的作用就是能分出一张拥有多个物体的图片个各个物品的类别并画出它的位置,用不同的颜色表示不同的类别,那么它和同样可以分出多个物体类别的目标检测任务有什么不同呢?如下图所示:
其中(c)是语义分割Semantic Segmentation,(d)是实例分割Instance Segmentation
可以看出来,分类任务是一个粗粒度的任务,它只能告诉你这张图片中有哪些类别,你无法知道它的具体位置,目标检测则能对不同的物体的位置用一个方框进行大致的标记,语义分割任务将位置的标记精确到了像素级别,甚至可以看出物体的结构和形状,同一类的物体用同一种颜色表示,实例分割则是对于不同的个体都要有不同颜色去表示它。
针对语义分割任务,我看了一些最经典的论文,如最早的FCN和后来的DeepLab,跑了git上别人复现的DeepLab源码,但是这个源码没有加CRF,所以我找了一个FCN+CRF的ipython源码,然后把CRF的内容加到了DeepLab的inference中,效果有很大的提升(人眼直观看来~)
参考资料:
总结分割任务的论文+开源项目:
Segmentation
语义分割相关中文总结:
Instance Segmentation 比 Semantic Segmentation 难很多吗?
十分钟看懂图像语义分割技术
图像语义分割之FCN和CRF
多篇用DL做Semantic Segmentation的文章总结
参考文献:
[1]《Fully Convolutional Networks for Semantic Segmentation》这是最早提出FCN的文章
[2]《Semantic Image Segmentation with Deep Convolutional Nets and Fully Connected CRFs》这就是大名鼎鼎的DeepLab v2,现在出到v3了不过我还没看(捂脸
开源项目:
1.tensorflow-deeplab-resnetDeepLab v2在tensoflow框架上面的复现
2.Image Segmentation with Tensorflow using CNNs and Conditional Random Fields
源码:tensorflow_notes
这个就是FCN+CRF,用的是TensorFlow+Ipython,我就是利用他的CRF代码,把CRF加到了1.中的DeepLab v2的inference中,效果提升不少。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。