图像分割入门

语义分割与实例分割概述

检测任务: 框出目标
分割任务: 像抠图一样把需要的目标抠出来(每个像素判断, 逐像素做分类)
语义分割: 一类(大类别)的都标出来
实例分割: 不光区分类别, 还要区分类别的个体

损失函数


pos_weight:权重项, 正例与负例的比例
Focal loss
根据样本难易程度(像素点的难度), 给样本增加权值

MIOU(评估标准)



MIOU:计算所有类别, 求平均

卷积神经网络

  • 卷积神经网络与传统网络

  • 卷积神经网络整体架构:

  1. 输入层
  2. 卷积层: 给予特征
  3. 池化层: 压缩特征
  4. 全连接层: 将卷积输出的二维特征图转化成一维的一个向量
  • 卷积层
    对于一个通道的计算:

    左边是图像的小区域, 右边是计算出的特征值
  • 通道与卷积特征值计算
    一个3通道的例子:

    计算:
    Input的每个通道的一层数据, 和Filter中对应的矩阵相乘求和, 再把每一层的数据求和加上偏置b, 最后得到output中的一个数据[这里output被称为特征图 feature map, 特征图可以得到多个再堆叠]

图中矩阵相乘计算, 最后得到第一个绿色小块的值3(步长为2)

步长与卷积核大小对结果的影响

卷积层涉及参数:
滑动窗口步长: 移动的长度
步长越小, 得到的特征越丰富(多)

  1. 卷积核尺寸: 3X3, 4X4这种
  2. 边缘填充: 加边框,
    因为越在边界的点计算次数越少, 越在中间的点计算次数越多, 所以在边界点外面加几圈0, 使得边界可以被计算次数增加
  3. 卷积核个数: 最终得到多少个特征图

特征图尺寸计算与参数共享

  • 卷积结果的计算公式:

    W1, H1表示输入的宽度, 长度; W2, H2表示输出特征图的宽度, 长度; F表示卷积核长和宽的大小[3X3的FH=3, FW=3]; S表示滑动窗口的步长; P表示边界填充(外面多加了几圈); [filter就是卷积核]
    e.g.
    H = (32-5+22)/1 + 1 = 32
    W = (32-5+2
    2)/1 + 1 = 32
    所以输出规模为32X32X10 (10是因为有10个卷积核)
    [这道题中卷积操作后的特征图的长度和宽度并未发生变化]

池化层的作用 (做压缩的或者称为下采样)

  • 池化层不涉及矩阵运算, 只是数据筛选
    e.g. 最大池化

整体网络架构

  • 卷积conv和非线性激活函数relu组合
  • 执行几次卷积后得到大的特征图, 然后压缩
  • 卷积和池化只做特征提取
  • 卷积和池化完了之后想得到结果还需全连接层FC[在此之前需要拉长/摊平]

神经网络中层的定义:带参数计算的[卷积层算, 激活层不算, 池化层不算, 全连接层算]

  • 上图神经网络有7层

VCG网络架构

提升层数效果不一定提升

残差网络Resnet

  • 理解为特征提取, 是一个可应用于各种情况的神经网络

感受野的作用

  • 感受野定义:最后的值是由前面哪些值计算得到的(就是能感受到前面多少值)

Unet网络编码与解码的过程

  • 左边编码层:把当前输入数据做成一个特征(下采样)
  • 右边解码层:由当前得到的特征解码成想要的输入结果(上采样)

Unet升级版本改进

  • 特征融合

中间的是特征融合[就是拼接], 每层与相邻的融合, 之后再不断融合

  • deep supervision
    只要输出规格满足, 就把中间的每一步也加进损失函数

后续升级版本介绍

  • 剪枝:剪掉最后一层或最后几层

  • unet+++

    上面得到64X5=320个图

posted @ 2023-03-01 19:40  nameless_233  阅读(101)  评论(0)    收藏  举报