第一章 图像处理
前言
之前将所有的学习过程放在为知笔记中,但是发现更新再找很麻烦,虽然在为知笔记上也是Markdown格式,但是总感觉这里写的更有感觉,所以弃了,准备开一个自学专栏,记录一下,就随手记,很多东西可能是普及性的,没有专业知识,自己使用就OK,如果对大家有帮助更好。
一、图像分割的方法
-
基于阈值的分割方法
-
基于区域的图像分割方法
- 区域生长 (从单个像素点出发)
- 区域分裂合并 (从全局出发)
- 分水岭算法
-
基于边缘检测的分割方法
- 基于小波分析和小波变换的图像分割方法(结合使用更多)
- 基于遗传算法的图像分割(擅长全局搜索,但是全局能力不足)
- 基于主动轮廓模型的分割方法
-
基于深度学习的分割
-
基于特征编码
-
VGGNet
优点- 由于参数量主要集中在最后的三个FC当中,所以网络加深并不会带来参数爆炸的问题;
- 多个小核卷积层的感受野等同于一个大核卷积层(三个3x3等同于一个7x7)但是参数量远少于大核卷积层而且非线性操作也多于后者,使得其学习能力较强
缺点
- VGG由于层数多而且最后的三个全连接层参数众多,导致其占用了更多的内存
-
ResNet
优点- 引入了全新的网络结构(残差学习模块),形成了新的网络结构,可以使网络尽可能地加深;
- 使得前馈/反馈传播算法能够顺利进行,结构更加简单;
- 恒等映射地增加基本上不会降低网络的性能;
缺点
- 建设性地解决了网络训练的越深,误差升高,梯度消失越明显的问题;
- 由于ResNet搭建的层数众多,所以需要的训练时间也比平常网络要长。
-
-
基于区域选择
其核心思想就是检测颜色空间和相似矩阵,根据这些来检测待检测的区域。然后根据检测结果可以进行分类预测。 -
基于RNN(Recurrent neural network)的图像分割
- ReSeg模型
-
基于上采样/反卷积的分割方法
- FCN
- SetNet
-
基于提高特征分辨率的分割方法
DeepLab是结合了深度卷积神经网络和概率图模型的方法,应用在语义分割的任务上,目的是做逐像素分类,其先进性体现在DenseCRFs(概率图模型)和DCNN的结合。是将每个像素视为CRF节点,利用远程依赖关系并使用CRF推理直接优化DCNN的损失函数。 -
基于特征增强的分割方法
- SLIC
- PSPNet
-
使用CRF/MRF的方法
-
二、DenseCRF
CRF在运行中会有一个问题就是它只对相邻节点进行操作,这样会损失一些上下文信息,而全连接条件随机场是对所有节点进行操作,这样就能获取尽可能多的临近点信息,从而获得更加精准的分割结果。
1. workflow
2. 核心思想
该模型的一元势能(上半部分)包含了图像的形状,纹理,颜色和位置,二元势能(下半部分)使用了对比度敏感的的双核势能,CRF的二元势函数一般是描述像素点与像素点之间的关系,鼓励相似像素分配相同的标签,而相差较大的像素分配不同标签,而这个“距离”的定义与颜色值和实际相对距离有关,这样CRF能够使图像尽量在边界处分割。
3. coding
代码如下:
待定,最近准备写
总结
- 在图像分割方面经常使用的集中方法,其中包括传统算法和深度学习的相关算法,当然不止上面描述的这些,未来还会做一些拓展
- 最近需要使用DenseCRF,所以着重介绍一下DenseCRF,前期正在学习CRF的相关理论,后期会把具体的实现过程贴上来