【经典分割网络】网络+模块+数据集+实验结果(整理中。。

2023-11-17

KolektorSDD数据集中包
含了 50组电子换向器图片,其中每组包含 8张图
片以及对应的语义分割标签,图像宽均为 500像
素,高为 1 240~1 273像素

1、FCN

2、U-net

3、PSPnet

4、deeplab

5、seg-net

6、Refinenet

[CVPR 17]RefineNet: Multi-Path Refinement Networks for High-Resolution Semantic Segmentation

提出了一套网络架构以实现高精度的语义分割任务。从网络结构来看,是U-Net的一个变种。文章的主要贡献和创新在于U-Net折返向上的通路之中。

相同感知野下残差卷积和空洞卷积优缺点对比:

  • 残差卷积:防止梯度爆炸、计算量小,但会损失特征图分辨率
  • 空洞卷积:计算量大,训练成本高,但能保存较大特征图分辨率,利于边界的定位细化。

设计目的:利用残差卷积,做到全局特征融合

  • 编码部分:RESNET,生成四个不同大小特征层
  • 解码部分:提出refinenet模块,进行残差堆叠和特征融合。

在这里插入图片描述

最左边一列就是FCN的encoder部分(用VGG作为主干特征提取网络),先把pretrained ResNet按feature map的分辨率分成四个ResNet blocks,然后向右把4个blocks分别作为4个path通过RefineNet block进行融合,最后得到一个refined feature map (接softmax再双线性插值输出)。注意除了RefineNet4之外,所有的RefineNet block都有两个输入,用于融合不同尺寸的特征层做refine。

RefineNet Block
主要组成部分是Residual convolution unit,Multi-resolution Fusion,chained Residual Pooling,output convolutions。作用是融合多个level的feature map输出单个level的feature map。

在这里插入图片描述

  • RCU就是去除了BN的恒等残差块(identity residual unit)。两个RCU模块构成一条残差边,每个分辨率的特征层应用两个串联的RCU模块,提取分割结果的残差,最后相加来校正原始分割结果。除RefineNet 4中为512个卷积核外,其余所有输入路径上的卷积核个数均为256。
  • Multi-resolution fusion(多分辨率融合)将所有的输入通过这个模块融合到高分辨率特征图上。网络首先通过一个卷积层处理输入的不同分辨率卷积层,得到各通道下的适应性权重。随后,应用上采样,将所有输入卷积层上采样到所有输入中的最大size,并根据不同通道权重加权求和。【若只有一个输入路径,例如RefineNet-4,则输入将直接经过此块而不做任何更改。若有多个输入,比如RefineNet-3,输入1为resnet压缩后为1/16原图大小的特征层,输入2为RefineNet-4输出的为1/32原图大小的特征层,则经过RefineNet-3,两个输入会上采样为1/16原图大小的特征层,再加权相加,最后输出1/16原图大小的特征层,作为RefineNet-2的输入。】
  • chained residual pooling(串联残差池化)通过残差校正的方式,优化前两步融合得到的分割结果。由一个残差结构、一个池化层和一个卷积层组成。池化层加卷积层用来习得用于校正的残差。Relu对接下来的池化的有效性很重要,还可以使模型对学习率的变化没这么的敏感,这个链式结构能从很大范围区域上获取背景,此外,这个结构中大量使用了identity mapping这样的连接,无论长距离或者短距离,这样的结构允许梯度从一个block直接向其他任一block传播。
  • Output convolutions就是输出前再加一个RCU。平衡所有的权重,最终得到与输入空间尺寸相同的分割结果。
  • RefineNe用了一个比较巧妙的做法:用前一级的残差结果作为下一级的残差学习模块的输入,而非直接从校正后的分割结果上再重新习得一个独立的残差。这样做的目的,RefineNet的作者是这样解释的:可以使得后面的模块在前面残差的基础上,继续深入学习,得到一个更好的残差校正结果。

在这里插入图片描述

7、HRNet

7、Deep layer aggregation

8、Deeply Supervised Salient Object Detection with Short Connections

  • 实验数据记录:

网络结构 数据集 结果

FCN-resnet50

· 200epoch

· ./params/fcn_resnet50_coco-1167a1af.pth

NEU-seg     global correct: 96.8
average row correct: ['98.4', '77.7', '89.1', '84.3']
IoU: ['96.5', '65.0', '82.6', '74.6']
mean IoU: 79.7

PSP-mobilenet

· 200epoch,downsample_factor=16

· 无预训练 

--{netmodel_199.pth}

NEU-seg global correct: 96.3
average row correct: ['98.2', '72.9', '90.1', '74.1']
IoU: ['95.9', '60.6', '83.0', '63.4']
mean IoU: 75.7

PSP-resnet50

· 200epoch,downsample_factor=16

· 无预训练 

--{resnet50_netmodel_199.pth}

--{resnet50[8]_netmodel_199.pth}

NEU-seg

downsample_factor=16

global correct: 96.4
average row correct: ['98.3', '70.6', '90.3', '77.2']
IoU: ['96.0', '60.4', '83.5', '64.8']
mean IoU: 76.2

downsample_factor=8

global correct: 97.2
average row correct: ['98.5', '80.9', '91.6', '85.1']
IoU: ['96.8', '69.3', '85.0', '75.3']
mean IoU: 81.6

deeplabV3

· 200epoch,downsample_factor=16

· 无预训练 

NEU-seg global correct: 97.1
average row correct: ['98.5', '78.0', '91.1', '86.2']
IoU: ['96.8', '67.4', '84.3', '76.5']
mean IoU: 81.3
  • NAS实验数据记录:

网络结构 cell 结果

normal+reduce(8个)

'none', 'max_pool_3x3', 'avg_pool_3x3',    'skip_connect', 'sep_conv_3x3',  'sep_conv_5x5',   'dil_conv_3x3' 'dil_conv_5x5',

DARTS (cell_step=4) 

NASNet_zora;

2022-10-21

global correct: 97.9
average row correct: ['99.0', '74.9', '88.9', '83.5']
IoU: ['97.8', '62.4', '81.2', '75.1']
mean IoU: 79.1

normal+reduce(8个)

'none', 'max_pool_3x3', 'avg_pool_3x3',    'skip_connect', 'sep_conv_3x3',  'sep_conv_5x5',   'dil_conv_3x3' 'dil_conv_5x5',

改变搜索策略为Pdarts

P-DARTS (cell_step=4) 

【剪枝设置:3.2.2】

这个搜索的效果不好,可能是因为剪枝剪得暴力了。

NASNet_Pdarts_zora;

2022-10-25;

2022-10-27 08:07:04,838 global correct: 97.9
average row correct: ['99.1', '65.6', '88.7', '83.9']
IoU: ['97.8', '58.0', '81.0', '75.1']
mean IoU: 78.0

normal+reduce(8个)

'none', 'max_pool_3x3', 'avg_pool_3x3',    'skip_connect', 'sep_conv_3x3',  'sep_conv_5x5',   'dil_conv_3x3' 'dil_conv_5x5','conv_7x1_1x7'

增加了'conv_7x1_1x7'操作,剪枝数量变了

P-DARTS (cell_step=4) 

【剪枝设置:3.2.2.1】

-----------------------------------

做了两次实验:

2022-10-28:取得是过程训练最佳结果的结构;

2022-10-28(1):取得是最后一个结果结构。

NASNet_Pdarts_zora;

2022-10-28:

average row correct: ['99.1', '70.7', '89.4', '84.2']
IoU: ['97.9', '61.0', '82.3', '75.6']
mean IoU: 79.2

----------------------------------

2022-10-28(1):

average row correct: ['99.0', '74.4', '89.9', '86.4']
IoU: ['97.9', '63.6', '82.2', '76.1']
mean IoU: 80.0

【80, 79.9, 79.8, 79.8, 79.6】

normal+reduce(13个)

'none', 'max_pool_3x3', 'avg_pool_3x3',    'skip_connect', 'sep_conv_3x3',  'sep_conv_5x5',   'dil_conv_3x3' 'dil_conv_5x5','conv_7x1_1x7'

网络块从8个变成了13个,增加了'conv_7x1_1x7'操作,同样采用Pdarts搜索策略

P-DARTS (cell_step=4)

【剪枝设置:3.2.2.1】 

NASNet12_Pdarts_zora;

2022-10-28;

average row correct: ['99.0', '77.4', '89.8', '84.7']
IoU: ['97.9', '64.0', '81.9', '75.7']
mean IoU: 79.9

【79.9, 79.7, 79.6, 79.5, 79.3】

normal+reduce(13个)

'none', 'max_pool_3x3', 'avg_pool_3x3',    'skip_connect', 'sep_conv_3x3',  'sep_conv_5x5',   'dil_conv_3x3' 'dil_conv_5x5','conv_7x1_1x7'

用了原始的DARTS搜索策略

DARTS (cell_step=4) 

NASNet12_zora;

2022-10-31;

global correct: 97.9
average row correct: ['99.1', '69.6', '89.8', '83.2']
IoU: ['97.8', '59.9', '81.3', '75.4']
mean IoU: 78.6

 

【78.6, 78.4, 78.2, 78.1, 78.0】

normal+reduce(9个)

     'none', 'max_pool_3x3', 'avg_pool_3x3',    'skip_connect', 'sep_conv_3x3',  'sep_conv_5x5',   'dil_conv_3x3' 'dil_conv_5x5',   'conv_7x1_1x7'

加残差模块

P-DARTS (cell_step=4) 

【剪枝设置:3.2.2.1】

NasNet_resnet_Pdarts_Zora

global correct: 97.9
average row correct: ['99.2', '72.4', '85.4', '84.7']
IoU: ['97.8', '61.4', '79.8', '75.6']
mean IoU: 78.6

【78.6, 78.6, 78.5, 78.5, 78.5】

normal+reduce(13个)

     'none', 'max_pool_3x3', 'avg_pool_3x3',    'skip_connect', 'sep_conv_3x3',  'sep_conv_5x5',   'dil_conv_3x3' 'dil_conv_5x5',   'conv_7x1_1x7'

加残差模块

P-DARTS (cell_step=4) 

【剪枝设置:3.2.2.1】

NasNet12_resnet_Pdarts_Zora

global correct: 98.0
average row correct: ['99.0', '74.2', '88.3', '85.7']
IoU: ['97.8', '62.4', '81.0', '76.2']
mean IoU: 79.4

79.4, 79.2, 78.9, 78.9, 78.9,

normal+reduce(9个)

改变通道数12->30,cell变9个,上采样加1*1卷积

​​​​​​​P-DARTS (cell_step=4) 

【剪枝设置:3.2.2.1】

NasNet_channel30_Pdarts_Zora

global correct: 98.1
average row correct: ['99.2', '73.8', '87.5', '85.7']
IoU: ['97.9', '63.6', '81.8', '76.1']
mean IoU: 79.9

【79.9, 79.8, 79.8, 79.7, 79.6】

----------------------------------

global correct: 98.1
average row correct: ['99.1', '75.1', '90.0', '83.2']
IoU: ['98.0', '63.9', '82.7', '75.5']
mean IoU: 80.0

​​​​​​​

【80.0, 79.8,79.7, 79.6,79.6】

 normal+reduce(9个)

改变搜索策略:ADARTS

(cell_step=4) 


SSD网络结构

(1)采用多尺度特征图用于检测
CNN网络一般前面的特征图比较大,后面会逐渐采用stride=2的卷积或者pool来降低特征图大小,这正如图3所示,一个比较大的特征图和一个比较小的特征图,它们都用来做检测。这样做的好处是比较大的特征图来用来检测相对较小的目标,而小的特征图负责检测大目标。
在这里插入图片描述
(2)采用卷积进行检测
SSD直接采用卷积对不同的特征图来进行提取检测结果。对于形状为mnp的特征图,只需要采用33p这样比较小的卷积核得到检测值。
(每个添加的特征层使用一系列卷积滤波器可以产生一系列固定的预测。)

(3)设置先验框
SSD借鉴faster rcnn中ancho理念,每个单元设置尺度或者长宽比不同的先验框,预测的是对于该单元格先验框的偏移量,以及每个类被预测反映框中该物体类别的置信度。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【经典分割网络】网络+模块+数据集+实验结果(整理中。。 的相关文章

随机推荐

  • 【51单片机 】定时器的初始值计算 详解

    首先值得一提的是 51单片机定时器与主程序是并行工作的 就是主程序在运行的时候 定时器也在计数 计数溢出后定时器中断主程序的运行 转而执行中断服务程序 此外还有串行口 中断系统 都独立的工作 不用 CPU 干预 正文部分 好了 我们先来看初
  • ROS noetic tf demo错误处理及python版本切换

    文章目录 报错描述及解决 ubuntu20 04下python版本切换 报错描述及解决 ubuntu版本 20 04 ROS版本 noetic roslaunch turtle tf turtle tf demo launch 报错信息 t
  • 04-JavaWeb-使用Servlet+JSP+JDBC实现CRUD

    一 介绍 在掌握了JavaAPI HTML Servlet JSP JDBC等知识后 咱们利用这些知识点 打通从前端页面到后端Java 再到数据库的各个环节 通过实现一个员工的CRUD来巩固一下相关知识 项目架构如下 实现功能如下 员工列表
  • CMD之拷贝文件夹

    左右无空格 SET srcdir protobuf IDL SET dstdir install proto Y 取消提示以确认要覆盖 E 复制目录和子目录 包括空目录 I 如果目标不存在 且要复制多个文件 则假定目标必须是目录 Q 复制时
  • ES6知识点总结一:const、let、箭头函数

    1 ES6常量及变量的声明const let ES6 新增了let命令来声明变量 const用来声明常量 ES6新增的let和const拥有 块级作用域 ES5只有 全局作用域 和 函数作用域 const与var区别 var声明的变量可以重
  • 如何将本地项目上传到git仓库中

    如何将本地项目上传到git仓库中 1 打开github 新建一个仓库用来存放项目 2 复制创建仓库链接 https github com WQ181 qiji git 3 找到要上传的项目文件 比如 qj consult就是我要上传到仓库上
  • python-turtle画图

    认识Turtle Turtle是一个渲染器 基于底层图形编程结构 API 构建 主要用于场景的构建以及3D物体的绘制 3D游戏 虚拟场景等 Turtle是一个窗体程序 Turtle是Python语言中的一个很流行的绘制图像的函数库 想象一个
  • js表单案例

    js表单案例 包括阻止提交的默认行为 添加节点操作以及删除节点操作等等
  • 逻辑思维训练1200题-蓝桥杯计算思维参考

    黑格尔曾说过 逻辑是一切思考的基础 逻辑思维能力强的人能迅速 准确地把握住问题的实质 面对纷繁复杂的事情能更容易找到解决的办法 逻辑思维训练1200 题 介绍了排除法 递推法 倒推法 作图法 假设法 计算法 分析法 类比法 推理法 判断法
  • 记录下:解决fatal error: sqlite3.h: No such file or directory

    编译sqlite3数据库c语言程序时出现fatal error sqlite3 h No such file or directory 找不到头文件的问题 原来是系统没有安装函数库 执行下面语句解决 sudo apt get install
  • Linux服务器上配置Jupyter并在后台运行

    使用工具 Xshell作为终端 Python3 版本 Xmanager打开Linux图形浏览器 第一步 安装Jupyter pip3 install i https pypi douban com simple jupyter 如果己安装好
  • 用户信息表(查询数据 、 修改密码 、 添加数据)

    效果 列表的数据 添加用户的效果 修改用户表
  • Excel读取返回List<Map>工具方法

  • cocos2d-x

    http www myexception cn operating system 1222879 html http www tuicool com articles zQ3Q7n http www myexception cn opera
  • 服装商城小程序制作:打造便捷购物体验和提升销售额的利器

    随着移动互联网的发展 服装商城小程序成为各大服装品牌推广销售的重要工具 它不仅能够为用户提供便捷的购物体验 还能帮助服装商城实现更高效的销售和管理 下面给大家介绍下服装商城小程序的优点以及制作流程 让您了解并充分利用这一利器 优点 便捷购物
  • 云端部署code-server

    code server下载地址 GitHub coder code server VS Code in the browser 操作环境 本文配置环境为 aliyun ECS Debian 11 5 准备工作 Xftp 阿里云ECS云服务器
  • 算法--吃火锅

    题目 和朋友一起吃火锅 有m个菜品 你的手速是n 即吃完一道菜 要经过时间n才能再去夹菜 任一菜品下锅后 都需要经过对应时间才能熟 过时就不可口了 怎样可以吃到最多的可口的菜 输入 第1行 菜品数量m 手速n 第2 m行 每行两个数字 第一
  • 所有的USB C 设备都需要CC芯片吗

    所有的DFP 如电源适配器 所有的DRP 如电脑 手机 平板 移动电源 所有需要检测DFP电流输出能力的UFP 所有支持PD的设备 都需要CC逻辑检测与端口控制芯片 换句话说 只有因为功耗较低而不需要检测电流能力的UFP U盘 耳机 鼠标等
  • 第五届蓝桥杯校内选拔赛试题java组_2014年第五届蓝桥杯国赛试题(JavaA组)

    1 结果填空 满分15分 2 结果填空 满分45分 3 代码填空 满分30分 4 程序设计 满分30分 5 程序设计 满分80分 6 程序设计 满分100分 1 标题 海盗分金币 有5个海盗 相约进行一次帆船比赛 比赛中天气发生突变 他们被
  • 【经典分割网络】网络+模块+数据集+实验结果(整理中。。

    KolektorSDD数据集中包 含了 50组电子换向器图片 其中每组包含 8张图 片以及对应的语义分割标签 图像宽均为 500像 素 高为 1 240 1 273像素 1 FCN 2 U net 3 PSPnet 4 deeplab 5