网站建设费用应该入什么科目,网站建设客户沟通,WordPress修改分类id,北京网站建设策划解决方案本文是openmmlab AI实战营的第六次课程的笔记#xff0c;以下是我比较关注的部分。简要介绍语义分割#xff1a;如下图#xff0c;左边原图#xff0c;右边语义分割图#xff0c;对每个像数进行分类应用语义分割在个各种场景下都非常重要#xff0c;特别是在自动驾驶和医…本文是openmmlab AI实战营的第六次课程的笔记以下是我比较关注的部分。简要介绍语义分割如下图左边原图右边语义分割图对每个像数进行分类应用语义分割在个各种场景下都非常重要特别是在自动驾驶和医疗领域实时切换人物背景智能摇杆医疗影像分析语义分割的基本思路1.按颜色分割 最早期的语义分割就是按照颜色分割一个块就是一个物体。按照不同的分层我们可以获得层次的这种颜色分割图。只按照颜色分割效果很差先验知识不完全准确。我们需要额外的手段确定物体类别所以这是一种最朴素最初级的方法。 2.逐像素分类 后来有了卷积神经网络开始按照像素分类。我们把某个像素周围的这个小窗口当成是一张图像我们把这张图像输入到分类模型里面给出一个类别作为这个滑窗的这个窗口中间像素的类别结果。只有我们就是实现了像素分类这种方式称之为滑动窗口。我们用不同尺寸不同大小不同长宽然后在图像上滑动窗口每滑动一次就输入到卷积神经网络里面去进行一次类别预测于是将每一个像素都划一遍就获得了每一个像素的分类结果。滑动窗口无法复用效率低下。3.改进复用卷积计算 把全图输入到卷积神经网络里面在全图得到的feature map上再运行滑窗这样至少能让所有的滑窗都共享这个feature map很好的降低了计算。4.再改进全连接层的卷积化1全卷积网络 Fully Convolutional Network 2015 可以兼容任意尺寸的图像输入最终可以得到某一个类别的特征图代表这个类别的语义分割结果我们就把分类网络转成了分割网络。2预测图的升采样问题 图像分类模型使用降采样层步长卷积或池化获得高层次特征导致全卷积网络输出尺寸小于原图而分割要求同尺寸输出。解决方法 对预测的分割图升采样恢复原图分辨率升采样方案双线性插值转置卷积可学习的升采样层全卷积网络的预测与训练3基于多层级特征的上采样问题基于顶层特征预测再升采样 32 倍得到的预测图较为粗糙。分析高层特征经过多次降采样细节丢失严重。解决思路结合低层次和高层次特征图。 解决方案 FCN 基于低层次和高层次特征图分别产生类别预测升采样到原图大小再平均得到最终结果。 解决方案 UNet 逐级融合高低层次特征。上下文信息1.上下文的重要性 有歧义的区域如何肯定图像里的物体到底是什么 图像周围的内容也称上下文可以帮助我们做出更准确的判断。 2.获取上下文信息 方案增加感受野更大的网络分支 将上下文信息导入局部预测中。3.PSPNet 2016对特征图进行不同尺度的池化得到不同尺度的上下文特征上下文特征经过通道压缩和空间上采样之后拼接回原特征图 → 同时包含局部和上下文特征基于融合的特征产生预测图四、空洞卷积与 DeepLab 系列算法1.DeepLab 系列 DeepLab 是语义分割的又一系列工作其主要贡献为使用空洞卷积解决网络中的下采样问题使用条件随机场 CRF 作为后处理手段精细化分割图使用多尺度的空洞卷积ASPP 模块捕捉上下文信息 DeepLab v1 发表于 2014 年后于 2016、2017、2018 年提出 v2、v3、v3 版本。2.空洞卷积解决下采样问题 图像分类模型中的下采样层使输出尺寸变小。 如果将池化层和卷积中的步长去掉可以减少下采样的次数特征图就会变大需要对应增大卷积核以维持相同的感受野但会增加大量参数使用空洞卷积Dilated Convolution/Atrous Convolution在不增加参数的情况下增大感受野 空洞卷积和下采样 3.DeepLab 模型 DeepLab 在图像分类网络的基础上做了修改去除分类模型中的后半部分的下采样层后续的卷积层改为膨胀卷积并且逐步增加rate来维持原网络的感受野 4.条件随机场 Conditional Random Field, CRF 模型直接输出的分割图较为粗糙尤其在物体边界处不能产生很好的分割结果。 DeepLab v1v2 使用条件随机场 (CRF) 作为后处理手段结合原图颜色信息和神经网络预测的类别得到精细化分割结果。 CRF 是一种概率模型。DeepLab 使用 CRF 对分割结果进行建模用能量函数用来表示分割结果优劣通过最小化能量函数获得更好的分割结果。 能量函数的意义 5.空间金字塔池化 Atrous Spatial Pyramid Pooling ASPP PSPNet 使用不同尺度的池化来获取不同尺度的上下文信息。 DeepLab v2 v3 使用不同尺度的空洞卷积达到类似的效果。 6.DeepLab v3DeepLab v2 / v3 模型使用 ASPP 捕捉上下文特征Encoder / Decoder 结构如 UNet 在上采样过程中融入低层次的特征图以获得更精细的分割图DeepLab v3 将两种思路融合在原有模型结构上增加了一个简单的 decoder 结构 7.语义分割算法总结 语义分割模型的评估1.比较预测与真值 2.基于交并集的评估指标 六、语义分割工具包 MMSegmentation 代码库 https://github.com/open-mmlab/mmsegmentation 文档 https://mmsegmentation.readthedocs.io/en/latest/ MMSegmentation算法丰富20 算法、370 预训练模型统一超参全面的性能标定。1.项目结构 2.分割模型的模块化设计 MMSegmentation 将分割模型统一拆解为如下模块方便用户根据自己的需求进行组装和扩展。 1分割模型的配置文件model dict( typeEncoderDecoder OR CascadeEncoderDecoder, pretrainedopen-mmlab://resnet50_v1c, backbonedict( typeResNetV1c, # ... more options), neck None, decode_headdict( typePSPHead, # ... more options loss_decodedict( typeCrossEntropyLoss, use_sigmoidFalse, loss_weight1.0)), auxiliary_headdict( typeFCNHead, # ... more options loss_decodedict( typeCrossEntropyLoss, use_sigmoidFalse, loss_weight0.4)), train_cfgdict(...), test_cfgdict(...))2主干网络的配置。主干网络输入图像输出多层次的特征图。backbonedict( typeResNetV1c, depth50, num_stages4, out_indices(0, 1, 2, 3), dilations(1, 1, 2, 4), strides(1, 2, 1, 1), norm_cfg dict(typeSyncBN, requires_gradTrue), norm_evalFalse, stylepytorch, contract_dilationTrue)3.ResNet v1c ResNet 50 层以上的模型在 BottleNeck 模块以及 stem 部分即网络前几层有一些变形 1主解码头的配置。主解码头从特征图预测分割图。decode_headdict( typePSPHead, in_channels2048, in_index3, channels512, pool_scales(1, 2, 3, 6), dropout_ratio0.1, num_classes19, norm_cfg dict(typeSyncBN, requires_gradTrue), align_cornersFalse, loss_decodedict( typeCrossEntropyLoss, use_sigmoidFalse, loss_weight1.0)),2辅助解码头的配置3数据集配置4数据处理流水线5常用训练策略