计算机视觉——图像分割(下篇)

【本学期选修国科大高伟老师的计算机视觉课程,本人方向也是cv,因此想通过博客方式记录课程中比较重要的点,巩固并且进行一些扩展学习】

【本章节内容针对图像分割进行讲解】

因为上篇已经介绍了早期的图像分割方法和基于特定理论的方法,

这章节我将详细介绍基于深度神经网络的图像分割 :FCN、SegNet、R-CNN

首先我们先介绍相应的基础内容:

一般视觉方面的用途包括分割、分类等等,如下图

【左图只考虑像素来进行分类,右图对多个对象进行分类,并且设置不同的方框来划分】

语义分割思想:滑动窗口

但是问题也极其明显,在对全图每个窗口都必须进行CNN卷积,这个操作量无疑是很大,不高效

所以引入了全卷积网络

 其中H和W表示图片的高和宽,C表示分类数量,即Predictions这边的分类颜色数量。

但是同样存在两个问题:

1.有效的接受域大小与转换层数成线性关系,即层数越多一般精度越高

2.在高分辨率图像上的卷积是昂贵的

在改进过程就引入了下采样(Downsampling)和上采样(Upsampling

下采样原理:对于一幅图像I尺寸为M*N,对其进行s倍下采样,即得到(M/s)*(N/s)尺寸的得分辨率图像,当然s应该是M和N的公约数才行,如果考虑的是矩阵形式的图像,就是把原始图像s*s窗口内的图像变成一个像素,这个像素点的值就是窗口内所有像素的均值:

上采样原理:图像放大几乎都是采用内插值方法,即在原有图像像素的基础上在像素点之间采用合适的插值算法插入新的元素。

                                                        【双线性插值】 

1.Fully convolutional networksFCN

Long, J., Shelhamer, E., and Darrell, T. Fully convolutional networks for semantic segmentation, CVPR, 2015

分类和分割的区别就在于最后面有无全连接

                                                     【上为分类,下为分割】

流程:先进行三次卷积,最后通过上采样将大小还原

                                              【Fully convolutional流程】 

(1)FCN-32s过程

对conv7的特征图进行上采样,使它扩大32倍。

(2)FCN-16s过程

由于conv7的输出维度是等于pool5的,而pool5的输出维度又是pool4输出的二分之一,因此现将conv7上采样扩大2倍,然后和pool4的输出进行融合,最后对融合之后的上采样扩大16倍,得到与原始图像相同的大小。

(3)FCN-8s过程

同上理,由于conv7的输出尺寸是pool3的输出尺寸的四分之一,pool4的输出又是pool3的二分之一,所以先将conv7的输出上采样4倍,然后将pool4的输出上采样2倍,得到和pool3一样的输出大小,最后将三个融合起来,再进行上采样8倍,得到和输入图像一样的大小。
【摘录于【个人整理】一文看尽全卷积网络FCN设计架构以及设计思想_LoveMIss-Y的博客-CSDN博客_fcn架构

                                                                    【FCN实验结果】

 2.SegNet

Badrinarayanan V , Kendall A , Cipolla R . SegNet: A Deep Convolutional Encoder-Decoder Architecture for Scene Segmentation. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017

   在SegNet中的Pooling与其他Pooling多了一个index功能(该文章亮点之一)

即:在做pooling(比如max)时记住选出该权值的位置,在Upsamping层中可以得到在Pooling中相对Pooling filter的位置。

在目标检测过程中,我们即需要知道其是什么,还需要找到相对应的位置,画出所需要的框框

问题所在是一幅图一般不单单只有一个物体                                                    【物体检测过程】 

检测多个物体: Sliding Window(滑动窗口)

 3.R-CNN: Region-Based CNN

bbox 的值其实就是物体方框的位置,预测它就是回归问题,而不是分类问题。

class是对object的分类

过程如下:

1.生成多个候选区域

2.将每个候选区域调整到224*224,并且独立让CNN预测分类数值和Bbox变换

3.使用这些分数去选择区域的子集(这里有很多选择:阈值、背景,还是每个类别? 或采取每张图片的前 K 个提案?)

4.与真实框比较

Comparing Boxes: Intersection over Union (IoU): 通过所提取的框和真实框的面积比
Problem:物体有时候会进行一部分的重叠现象
解决方案:后处理原始,使用非最大检测抑制 (NMS)
1.选择下一个得分最高的框
2.消除低分框 IoU > 阈值(例如 0.7)
3. 如果还有任何方框,请转到 1
即:先找到对应框中重叠率最高的,然后再选择IoU值最大的,不断消除多余的框

4. Fast R-CNN

 过程如下:

1.先做卷积得到图像特征

2.在进行区域推荐

3.调整区域到统一大小,利用CNN再一次进行卷积

4.class与Bbox

Fast-R CNN与RCNN比较

 

5.Faster R-CNN: Learnable Region Proposals  :

针对区域(比如是不是推荐框两类)进行推荐和学习

1. RPN classification : anchor box is object / not an object(判断是不是物体)
2. RPN regression : predict transform from anchor box to proposal box(设置框的大小)
3. Object classification : classify proposals as background / object class(分类)
4. Object regression : predict transform from proposal box to object box(回归)
                                      【本次总结到此结束,不足之处敬请谅解】
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值