精华内容
下载资源
问答
  • 1.2 池化的分类1.3 池化的特点1.3 池化的意义1.4 其它池化方式1.5 池化卷积的比较1.6 卷积池化的组合使用二: 反池化2.1 反平均池化2.2 反最大池化 一、池化 1.1 什么是池化?      ...


    一、池化

    1.1 什么是池化?

    在这里插入图片描述
           pooling的结果是使得数据特征减少,参数减少,加快计算速度。但pooling的目的并不仅在于此。pooling目的是为了保持某种不变性(旋转、平移、伸缩等)

    1.2 池化的分类

    (1)mean-pooling(对领域内特征点只求平均值)
    在这里插入图片描述
    (2)max-pooling(对领域内特征点取最大值)

    在这里插入图片描述

    1.3 池化的特点

           mean-pooling能更多的保留图像的背景信息,更加关注背景,一般使用在网络结尾。
           max-pooling能更多的保留图像的纹理信息,更加关注前景,一般使用在网络层中。

    1.3 池化的意义

    (1)池化就是把某一区域当作一个水池,然后,挑出这个水池中的代表性特征,平均值或者是最大值,即mean-pooling 和max-pooling。

    (2)对输入的特征图进行压缩,方便使特征图变小, 简化网络计算复杂度;一方面进行特征压缩,提取主要特征。

    (3)图像具有一种“静态性”的属性,这也就意味着在一个图像区域有用的特征极有可能在另一个区域同样适用。因此,为了描述大的图像,对不同位置的特征进行聚合统计,例如,人们可以计算图像一个区域上的某个特定特征的平均值(或最大值)来代表这个区域的特征。

    1.4 其它池化方式

    (1)中值池化
           与中值滤波特别相似,但是用的非常少,中值池化也具有学习边缘和纹理结构的特性,抗噪声能力比较强。

    (2)重叠池化
           相对于传统的no-overlapping pooling,采用Overlapping Pooling不仅可以提升预测精度,同时重叠池化使特征丢失的更严重。一定程度上可以减缓过拟合。

    (3)全局池化
           Global Pooling就是池化窗口的大小=整张特征图的大小。这样,每个WXHXC的特征图输入就会被转化为1X1XC的输出,也等同于每个位置权重都为1/(WXH)的全连接层操作。

    (4)组合池化
           组合池化则是同时利用最大值池化与均值池化两种的优势而引申的一种池化策略。常见组合策略有两种:Cat与Add。常常被当做分类任务的一个trick,其作用就是丰富特征层,max pool更关注重要的局部特征,而average pooling更关注全局特征。

    (5)空间金字塔池化
    在这里插入图片描述
           将不同深度的特征图拼到一起再进行输出。这样全局特征和局部特征就都拿到了。输入大小任意,输出大小固定。

    (6)随机池化
    在这里插入图片描述
           Stochastic pooling是一种 简单有效的正则化CNN的方法,能够降低max pooling的过拟合现象,提高泛化能力。对于pooling层的输入,根据输入的多项式分布随机选择一个值作为输出。训练阶段和测试阶段的操作略有不同。

    训练阶段:

    1. 前向传播:先将池化窗口中的元素全部除以它们的和,得到概率矩阵;再按照概率随机选中的方格的值,作为该区域池化后的值。
    2. 反向传播:求导时,只需保留前向传播中已经被选中节点的位置的值,其它值都为0,类似max-pooling的反向传播。

    测试阶段:
           在测试时也使用Stochastic Pooling会对预测值引入噪音,降低性能。取而代之的是使用概率矩阵加权平均。比使用Average Pooling表现要好一些。在平均意义上,与Average Pooling近似,在局部意义上,服从Max Pooling准则。

    1.5 池化和卷积的比较

    (1)池化层是没有超参,如果都用卷积的话,参数量会比较大的,建议使用池化层,池化层不增加参数量。
    (2)卷积更多的是去做一些线性变换,而池化层,就单纯的相当于resize了输出的feature map。
    (3)卷积之后数据结构会发生变化,但是池化不会。

    1.6 卷积和池化的组合使用

    在这里插入图片描述
           连续卷积或池化的本质就是对图像的特征继续提取特征。从特征提取特征,会获得图像更高维度的特征,得到的信息更加抽象。

    在这里插入图片描述
           卷积或池化在采样图尺寸不够的情况下会停止滑动滤波器:

    二: 反池化

    2.1 反平均池化

    在这里插入图片描述
           平均池化的反池化是把池化后的平均数字结果分布到池化前图像上的每个像素格子上。

    2.2 反最大池化

    在这里插入图片描述
           最大池化的反池化是把池化后的最大数字结果填充到池化前图像上对应的像素格子上,而其他格子则填充o。

    展开全文
  • (2)应用图像配准技术,能够抵抗旋转、缩放和平移(RST);(3)在512×512×8bits图像中隐藏高达536bits信息。实验结果表明:该算法所隐藏水印不但可以对抗一般信号处理,还可以抵抗RST、改变长宽比、小...
  • 微服务架构在业务需求日益复杂的庞大系统中发挥越来越重要的作用,研究适合微服务特点的负载均衡具有现实的意义和重要性。软件定义网络作为新型互联网架构,将数据平面与控制平面分离,简化了网络管理的复杂性,具有全局...
  • 简单理解就是让这些数据做了个平移,这就是神经元工作过程。处理后结果又作为输入,可输给别神经元,很多这样神经元,就组成了网络。在matlab中具体用什么算法实现这些,我们先不管,我们需要注意是怎么...
  • 仿射变换与投影变换

    千次阅读 2019-04-29 18:52:28
    仿射变换在图形中的变换包括:平移、缩放、旋转、斜切及它们的组合形式。这些变换的特点是:平行关系线段的长度比例保持不变。 投影变化具有其明确的意义:共面点成像。 参考资料 仿射变换与投影变换 ...

    仿射变换在图形中的变换包括:平移、缩放、旋转、斜切及它们的组合形式。这些变换的特点是:平行关系和线段的长度比例保持不变。

    投影变化具有其明确的意义:共面点成像。

    在这里插入图片描述

    参考资料

    仿射变换与投影变换

    展开全文
  • 1、基于卷积网络的形状识别物体的形状是人的视觉系统分析识别物体的基础,几何形状是物体的本质特征的表现,并具有平移、缩放旋转不变等特点,所以在模式识别领域,对于形状的分析识别具有十分重要的意义,而...

    卷积神经网络有以下几种应用可供研究:

    1、基于卷积网络的形状识别

    物体的形状是人的视觉系统分析和识别物体的基础,几何形状是物体的本质特征的表现,并具有平移、缩放和旋转不变等特点,所以在模式识别领域,对于形状的分析和识别具有十分重要的意义,而二维图像作为三维图像的特例以及组成部分,因此二维图像的识别是三维图像识别的基础。

    dc03de6c97de50490edeb4e0301b9b83.png

    2、基于卷积网络的人脸检测

    卷积神经网络与传统的人脸检测方法不同,它是通过直接作用于输入样本,用样本来训练网络并最终实现检测任务的。它是非参数型的人脸检测方法,可以省去传统方法中建模、参数估计以及参数检验、重建模型等的一系列复杂过程。本文针对图像中任意大小、位置、姿势、方向、肤色、面部表情和光照条件的人脸。

    78c41657da4a3596cfeea1905a968902.png

    3、文字识别系统

    在经典的模式识别中,一般是事先提取特征。提取诸多特征后,要对这些特征进行相关性分析,找到最能代表字符的特征,去掉对分类无关和自相关的特征。然而,这些特征的提取太过依赖人的经验和主观意识,提取到的特征的不同对分类性能影响很大,甚至提取的特征的顺序也会影响最后的分类性能。同时,图像预处理的好坏也会影响到提取的特征。

    4b4aaddd706ceda23075b5701fa9f231.png
    展开全文
  • 一种具有尺度、平移和旋转不变性模板匹配方法,用于在目标图像中识别维管束并统计数量。实验表明该自动.化测量系统具有高通量高精确度优点,在作物重要资源挖掘群体遗传等研究中具有重要价值。
  • 论文:Gradient-based learning applied to document recognition 简单介绍 意义:对手写数据集进行识别,对后续卷积网络发展起到了奠基作用 ...3)下采样(sub-sampling):对平移和形变更加鲁棒,实现特征

    论文:Gradient-based learning applied to document recognition

    1. 简单介绍
      意义: 对手写数据集进行识别,对后续卷积网络的发展起到了奠基作用
      特点:
      1)局部感受野(local receptive fields): 基于图像局部相关的原理,保留了图像局部结构,同时减少了网络的权值。
      2)权值共享(shared weights): 也是基于图像局部相关的原理,同时减少网络的权值参数。
      3)下采样(sub-sampling):对平移和形变更加鲁棒,实现特征的不变性,同时起到了一定的降维的作用。
      LeNet-5: 这里的5表示卷积层+全连接层一共为5层

    2. 网络结构
      在这里插入图片描述

    3. 代码

    1)导入相应的包

    import torch
    import torch.nn as nn
    import torch.utils.data as Data
    import torchvision
    import os
    

    2)定义超参数

    EPOCH = 1
    BATCH_SIZE = 10
    LR = 0.001  
    DOWNLOAD_MNIST = False
    

    3)加载数据集,这里使用pytorch中自带的mnist数据集

    
    if not(os.path.exists('./mnist/')) or not os.listdir('./mnist/'):
        DOWNLOAD_MNIST = True # 如果没有数据集则进行下载
    
    train_data = torchvision.datasets.MNIST(
        root='./mnist/',
        train=True,                                     # training data
        transform=torchvision.transforms.ToTensor(),   
        # Converts a PIL.Image or numpy.ndarray to torch.FloatTensor of shape (C x H x W) and normalize in the range [0.0, 1.0]
        download=DOWNLOAD_MNIST,
    )
    train_loader = Data.DataLoader(dataset=train_data, batch_size=BATCH_SIZE, shuffle=True)
     
    test_data = torchvision.datasets.MNIST(root='./mnist/', train=False, transform=torchvision.transforms.ToTensor()) # 测试数据集
    test_loader = Data.DataLoader(dataset=test_data, batch_size=BATCH_SIZE, shuffle=True) 
    

    4)定义网络

    class Net(nn.Module):
        def __init__(self):
            super(Net, self).__init__() # 上述是自定义网络的常规写法
            self.conv1 = nn.Sequential(        
                nn.Conv2d(1, 6, 5), # 输入通道,输出通道,卷积核大小
                nn.ReLU(),                 
                nn.MaxPool2d(2), 
            )
            self.conv2 = nn.Sequential(        
                nn.Conv2d(6, 16, 5), 
                nn.ReLU(),                 
                nn.MaxPool2d(2), 
            )
    
            self.fc1 = nn.Sequential(
                nn.Linear(256, 120), # 输入特征,输出特征
                nn.ReLU(),
            )
            self.fc2 = nn.Sequential(
                nn.Linear(120, 84),
                nn.ReLU(),
            )
            self.fc3 = nn.Sequential(
                nn.Linear(84, 10),
                nn.ReLU(),
            )
        
        def forward(self, x):
            x1 = self.conv1(x)
            x2 = self.conv2(x1)
            x2 = x2.view(x.size(0), -1) # 展开成一维向量,方便后面进行全连接
            x3 = self.fc1(x2)
            x4 = self.fc2(x3)
            x5 = self.fc3(x4)
            return x5
    
    net = Net()
    print(net)
    

    在这里插入图片描述

    首先输入图像是单通道的28 x 28大小的图像,用矩阵表示就是[Batch,28,28]
    第一个卷积层conv1所用的卷积核尺寸为55,滑动步长为1,卷积核数目为6,那么经过该层后图像尺寸变为24,28-5+1=24,输出矩阵为[6,24,24]。
    第一个池化层pool核尺寸为2
    2,步长2,这是没有重叠的max pooling,池化操作后,图像尺寸减半,变为12×12,输出矩阵为[6,12,12]。
    第二个卷积层conv2的卷积核尺寸为55,步长1,卷积核数目为16,卷积后图像尺寸变为8,这是因为12-5+1=8,输出矩阵为[16,8,8].
    第二个池化层pool2核尺寸为2
    2,步长2,这是没有重叠的max pooling,池化操作后,图像尺寸减半,变为4×4,输出矩阵为[16,4,4]。
    pool2后面接全连接层fc1,神经元数目为120,再接relu激活函数。
    fc1后面接全连接层fc2,神经元数目为84,再接relu激活函数。
    再接fc3,神经元个数为10,得到10维的特征向量,用于10个数字的分类训练,送入softmax分类,得到分类结果的概率output。

    5)开始训练

    loss_func = nn.CrossEntropyLoss()   # 损失函数
    optimizer = torch.optim.Adam(net.parameters(),lr = LR) # 梯度下降
    
    cuda_gpu = torch.cuda.is_available() # have gpu
    for epoch in range(EPOCH):
        net.train()
        for batch_idx, (data, target) in enumerate(train_loader):
            if cuda_gpu:
                data, target = data.cuda(), target.cuda()
                net.cuda()
    
            output = net(data) # 网络输出结果
    
            loss = loss_func(output, target)
            optimizer.zero_grad()
            loss.backward()
            optimizer.step()
    
            if (batch_idx+1) % 400 == 0:
                #--------------------------test-------------------------
                net.eval()
                correct = 0
                for data, target in test_loader:
                    if cuda_gpu:
                        data, target = data.cuda(), target.cuda()
                        net.cuda()
    
                    output = net(data)
                    pred = output.data.max(1)[1] # get the index of the max log-probability
                    correct += pred.eq(target.data).cpu().sum()
            
                accuracy = 1. * correct / len(test_loader.dataset)
                print('Epoch: ', epoch, '| train loss: %.4f' % loss.data.numpy(), '| test accuracy: %.2f' % accuracy)  
    

    完整的代码可参考:LeNet-5

    展开全文
  • hslogic_医学图像配准

    千次阅读 2020-09-21 00:26:34
    同一场景多幅图像会在分辨率、成像模式、灰度属性、位置(平移和旋转)、比例尺度、非线性变形及曝光时间等方面存在很多差异。概括来说,图像配准问题是以在变换空间中寻找一种特定最优变换,达到使两幅或多幅...
  • C#微软培训教材(高清PDF)

    千次下载 热门讨论 2009-07-30 08:51:17
    1.3 C#语言的特点.8 1.4 小 结 .11 第二章 运行环境 全面了解.NET.12 2.1 .NET 结构.12 2.2 公用语言运行时环境与公用语言规范.13 2.3 开 发 工 具 .17 2.4 小 结 .19 第三章 编写第一个应用程序 .20 ...
  • 9. 简述整体刚度矩阵性质和特点 P14 答:对称性;奇异性;稀疏性;对角线上元素恒为正。 10 简述整体坐标概念 P25 答:在整体结构上建立坐标系叫做整体坐标,又叫做统一坐标系。 11. 简述平面钢架问题...
  • C#微软培训资料

    2014-01-22 14:10:17
    1.3 C#语言的特点.8 1.4 小 结 .11 第二章 运行环境 全面了解.NET.12 2.1 .NET 结构.12 2.2 公用语言运行时环境与公用语言规范.13 2.3 开 发 工 具 .17 2.4 小 结 .19 第三章 编写第一个应用程序 .20 ...
  • 包含有视频点播系统,卫星直播系统,时电视系统视频菜单管理系统;让普通用户能够自由选择自己喜爱电视节目,由传统意义被动接收变成了主动选择自己喜爱视频节目,提高了用户体验度。   二、三网...
  • 从而能真正意义上帮助你构建一个生产可用微前端架构系统。 而对于微前端概念感兴趣或不熟悉同学,可以通过搜索引擎来获取更多信息,如 ;%E5%BE%AE%E5%89%8D%E7%AB%AF&type=content">知乎...
  • 水库移民GIS系统

    2011-11-28 15:31:54
    骋天通过该系统可实时察看移民安置效果各类移民项目进展,有效防止项目重复申报、项目资金作他用等现象发生,可最大限度地满足人们知情权,并为从源头上、制度上防止腐败提供有效保证。 骋天系统还可以...
  • 断层分类:1根据断层两盘相对位移方向分类有,正断层,逆断层,平移断层 2根据断层走向与两盘岩层走向关系分类有,走向断层,倾向断层,斜交断层。 13成煤必要条件?高等植物成煤过程如何? 答:煤由植物遗体...
  • 新版本重构了用户经验权限体系,针对威客应用贴切需求,将雇主信用威客能力进行了重新规划开发,可与其他更多威客站点平移数据。 任务模型开发规范,流程更细致 针对威客任务交易日益增长需求,KPPW...
  • javaSE代码实例

    2016-06-21 22:30:18
    6.1.3 面向对象技术背景和特点 79 6.2 类定义与对象创建 80 6.3 成员变量 81 6.3.1 成员变量开发与使用 81 6.3.2 成员变量初始值 82 6.3.3 对象引用变量比较 84 6.4 方法 85 6.5 变长...
  • 2.2.4 int A[nSize],其中隐藏着若干0,其余非0整数,写一个函数int Func(int* A, int nSize),使A把0至后面,非0整数至数组前面并保持有序,返回值为原数据中第一个元素为0下标。 2.2.5 写一个程序, 要求...
  • 2.3.9 当图像平移后其离散傅里叶变换将会怎么样? 85 2.3.10 图像平均值与其DFT 有什么联系? 88 2.3.11 一幅图像放缩后其DFT 会如何变化? 89 B2.8 什么是快速傅里叶变换? 92 2.3.12 DFT 有哪些优点缺点...
  • 编程新手真言......

    2009-04-02 20:25:15
    7.10 模板的意义在于编译前端的设计 157 7.11 C++的元编程泛型编程 159 7.12 元编程函数式编程 159 7.13 C++的模板编译技术本质 161 7.14 OO的缺点 161 7.15 模板的继承 162 7.16 模板的偏特化 162 7.17 真正的...
  •  该软件的特点主要包括:  01.提供了名称查询定位您可以在查询框中输入名称如“成都”,并在动态列表中选择“成都”,即可将视图正确定位显示到成都所在位置。  02.提供了坐标查询定位您可以在查询框中输入...
  • 浩辰ICAD2008i全面改进代理实体处理流程,能够将代理实体分解为其显示图元(直线、圆弧、文字等),并能对代理实体其它实体一样进行平移、旋转缩放,正确保存编辑后图形。  10、增加DDUCS对话框、Rename...
  • 千里马酒店前台管理系统V7使用手册

    热门讨论 2011-06-16 14:09:38
    穿透技术可以从房态图执行预订、开房、入帐、结帐等相关操作,也可以从工作视图或报表穿透到对应客单、帐户,从帐户明细穿透到外围收银点明细帐单,真正体现出千里马V7.2前后台一体化的特点。 中间业务逻辑...
  • •Pin31:EA/Vpp程序存储器内外部选通线,80518751单片机,内置有4kB程序存储器,当EA为高电并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。如EA为低电平,则不管...
  • vc++ 开发实例源码包

    2014-12-16 11:25:17
    目前协议有如下一些特点: 1) 客户向服务器发送请求, 每个请求长度不定. 请求长度在第一个INT中指定. 2) 每个服务器通常会向多种客户提供服务, 例如, TS要同时向CP, NP提供服务, CP要向NP其他CP提供服务, ...

空空如也

空空如也

1 2
收藏数 35
精华内容 14
关键字:

平移的意义和特点