• 通用场景图像分割


    通用场景图像分割

    图像分割
    所谓图像分割指的是根据灰度、颜色、纹理和形状等特征把图像划分成若干互不交迭的区域,并使这些特征在同一区域内呈现出相似性,“而在不同区域间呈现出明显的差异性。

    1 Pascal VOC数据集

    视觉识别类竞赛的鼻祖,是包含了物体分类、目标检测、图像分割等任务。后续的ImageNet 竞赛的任务设置就基本沿用了它的设定。给定自然图片, 从中识别出特定物体,待识别的物体有20类∶
    person,bird, cat, cow, dog, horse, sheep,aeroplane, bicycle, boat, bus, car, motorbike, train,bottle, chair, dining table, potted plant, sofa, tv/monitor

    2 语义分割

    2.1 什么是语义分割

    目标:从像素水平上,理解、识别图片的内容;根据语义信息分割。
    输入:图片
    输出:同尺寸的分割标记(像素水平);每个像素会被识别为一个类别。
    在这里插入图片描述

    2.2 语义分割的用处

    机器人视觉和场景理解;
    辅助、自动驾驶;
    医学X光
    在这里插入图片描述

    2.3 算法研究阶段

    2015之前∶手工特征+图模型(CRF)
    2015开始∶深度神经网模型
    思路∶改进CNN,并使用预训练CNN层的参数
    传统CNN的问题:后半段网络无空间信息;输入图片尺寸固定
    全卷积网络(Fully Convolutional Networks):所有层都是卷积层;解决降采样后的低分辨率问题

    2.4 全卷积网络

    全卷积化:将所有全连接层转换成卷积层;适应任意尺寸输入,输出低分辨率分割图片
    反卷积:将低分辨率图片进行上采样,输出同分辨率分割图片
    跳层结构:精化分割图片
    在这里插入图片描述

    3 FCN-卷积化

    基础CNN网络:AlexNet,VGG16,GooLeNet
    卷积化后的核尺寸(通道数,宽,高):
    FC6—>(1x1,4096)
    FC7—>(1x1,4096)
    FC8—>(1x1,类别N)
    分辨率降低32倍:5个卷积层;每层降2倍

    3.1 FCN-卷积化的降维问题

    在这里插入图片描述

    3.2 FCN-反卷积

    卷积的逆操作:小数步长1/f;卷积核尺寸不变。
    前向和后向传播:对应于卷积操作的后向和前向传播,优化上做颠倒;反卷积核是卷积核的转置,学习率为0。
    也叫转置卷积。
    可以拟合出双线性插值
    在这里插入图片描述

    3.3 FCN-卷积/转置卷积的参数关系

    步长:1;padding;0
    在这里插入图片描述
    在这里插入图片描述

    步长>1;padding>0;a=i+2p-k整除s
    在这里插入图片描述
    在这里插入图片描述

    3.4 上采样的三种实现

    双线性插值∶特点是不需要进行学习,运行速度快,操作简单。反卷积∶是为了还原原有特征图,类似消除原有卷积的某种效果,所以叫反卷积
    反池化∶在池化过程中,记录下池化后元素在对应kernel中的坐标,作为反池化的索引。
    在这里插入图片描述

    4 反池化

    4.1 反池化操作

    记录池化时的位置
    形成“池化索引”
    将输入特征按记录位置摆放回去
    在这里插入图片描述

    4.2 反卷积与反池化

    反卷积与反池化之间最大的区别在于反卷积过程是有参数要进行学习的。理论上反卷积可以实现反池化,只要卷积核的参数设置的合理。
    在这里插入图片描述

    5 FCN-跳层结构

    原因:直接使用32倍反卷积得到的分割结果粗糙。
    使用前2个卷积层的输出做融合
    跳层:Pool4和Pool3后会增加一个1x1卷积层做预测
    较浅网络的结果精细,较深网络的结果鲁棒
    在这里插入图片描述

    5.1 FCN构架图例

    在这里插入图片描述

    5.2 使用AlexNet构建FCN

    第一步
    使用AlexNet作为初始网络,保留参数
    舍弃全连接层
    在这里插入图片描述

    第二步
    替换为两个同深度的卷积层(4096,1,1)
    追加一个预测卷积层(21,1,1)
    追加一个步长为32的双线性插值反卷积层
    在这里插入图片描述

    第三步
    对最终层Conv7结果2倍上采样
    提趣Pool4输出,追加预测卷积层(21,1,1)、
    相加融合
    追加一个步长为16的双线性插值反卷积层
    在这里插入图片描述

    第四步
    对上次融合结果2倍上采样
    提取Pool3输出,追加预测卷积层(21,1,1)
    相加融合
    追加一个步长为8的双线性插值反卷积层
    在这里插入图片描述

    5.3 FCN训练

    卷积层:前5个卷积层使用初始CNN网络的参数;剩余第6和第7卷积层初始化为0
    反卷积层:最后一层反卷积层固定为双线性插值,不做学习;剩余反卷积层初始化为双线性插值,做学习

    5.4 FCN的基础网络性能

    在这里插入图片描述

  • 相关阅读:
    前端Math属性方法汇总集锦
    万亿咖啡赛道或将再出一个IPO?窄门入局、宽门出圈的它,做对了什么?
    《Sora视频生成技术探秘:从压缩到生成,语言理解引领创新》
    公安机关警务vr综合实战模拟训练提高团队合作能力
    删除一个数组中和另一个数组中行元素相等的行
    springboot2.6.1导出xlsx表格
    linux shell(一)
    R | R包默认安装路径的查看及修改
    Linux 下 C语言版本的线程池
    java中为什么只存在值传递(以传入自定义引用类型为例)
  • 原文地址:https://blog.csdn.net/weixin_45649258/article/details/124830356