罗浩老师行人重识别课程记录

2024-01-05 06:50

本文主要是介绍罗浩老师行人重识别课程记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  • 卷积核在图像处理领域的物理意义: 一个卷积核卷一次图像 就是在提取一副图片的特征,所以,卷积就是在提取特征。不同的卷积核卷积图像会得到图像的不同特征,一次卷积操作对应着一次特征提取

  • CNN的平移不变性: CNN对于同一张图片及其平移后的版本,都能输出同样的结果

  • 感受野: 感受野指的是一个神经元与输入层连接神经元组成区域,卷积和池化操作都会改变感受野的大小

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NFslVkkk-1597219178769)(C:\Users\云之遥\AppData\Roaming\Typora\typora-user-images\image-20200808153146064.png)]

  • 卷积神经网络三特性: 1. 局部连接 底层神经元更注重局部细节并且局部神经元减少了参数量 2. 权值共享 可以使用一个卷积核对整副图像进行卷积,参数量进一步缩小 3. 池化

  • 池化的作用: 1. 扩大感受野 池化会进一步缩小原图像 从而使感受野扩大。2. 层次特征 浅层特征关注的局部的细节特征——纹理、颜色 高层关注的是更加抽象的全局特征——轮廓、类别

  • 卷积神经网络为什么需要深度? 层数越多,表达能力越强。不同的深度提取不同层次的特征,浅层的感受野很小,只能关注很小的局部的区域,随着深度的增加,关注的区域越来越大,比如,对于人脸来说,浅层可能关注一些边角信息,中层关注一些眼睛、鼻子一类的特征,高层可能就会关注一些到人脸完整的特征

  • 深度卷积神经网络的构成:

    • 卷积层: 一个卷积核对图像进行卷积之后会得到1个特征图,当有多个卷积核(每个卷积核会提取图像的一种特征 并且卷积核不是二维的,是三维的,对应长宽深三个维度,卷积核的深度与当前图像的深度(feature map的张数)相同,所以指定卷积核时,只需指定其长和宽两个参数)卷积图像之后,会得到多个特征图(即一个图像的多种特征)
    • 池化层: 池化层没有任何需要学习的参数,作用是将特征图的大小进行压缩(也就是下采样),另外一个作用就是扩大感受野。卷积层之间一般是max pooling,最后输出层一般是avg pooling,令特征表达更加紧凑,同时拥有位移不变性
    • 全连接层: 全连接层一般用于分类
    • 辅助层: 例如反卷积层,反卷积层通过padding,使得output大于input(上采样),常用于图像分割和图像生成领域
  • 卷积结构的类型

    • 普通卷积: nn.Conv2d(in_channels,out_channels,kernel_size=k,stride=1,padding=0,dilation=1,groups=1,bias=true) ,输出的特征图的大小 H0 = (H + 2*padding - kernel_size)/stride + 1 W0 = (W+2*padding-kernel_size)/stride+1

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dLhHDdkC-1597219178778)(C:\Users\云之遥\AppData\Roaming\Typora\typora-user-images\image-20200808173427258.png)]

    • 1*1卷积核卷积: nn.Conv2d(in_channels,out_channels,kernel_size=1,stride=1,padding=0,dilation=1,groups=1,bias=true),卷积之后,H和W不发生变化,通道数发生变化,主要用于降维或者升维。

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NQMEHPAl-1597219178784)(C:\Users\云之遥\AppData\Roaming\Typora\typora-user-images\image-20200808174015286.png)]

    • 分组卷积: nn.Conv2d(in_channels,out_channels,kernel_size,stride=1,padding=0,dilation=1,groups=2,bias=true),group可以自行的调整,相比正常卷积,参数量变少,一般用来显存不够,或者压缩参数量,缺点:信息不回完全的打通(通道被分开了,彼此之间没有联系)。

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1kmysEoR-1597219178790)(C:\Users\云之遥\AppData\Roaming\Typora\typora-user-images\image-20200808174157287.png)]

    • Channel-wise/Depthwise Convolution卷积:
      nn.Conv2d(in_channels,out_channels,kernel_size,stride=1,padding=0,dilation=1,groups=ci,bias=true)中的group等于当前输入的通道数,是分组卷积的极端形式,参数量大大减少,缺点是通道之间的信息没有打通,一般在其后面接1*1的卷积来打通通道信息。

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jaMmJfYO-1597219178792)(C:\Users\云之遥\AppData\Roaming\Typora\typora-user-images\image-20200808174611464.png)]

    • 空洞卷积(Dilated Convolution): nn.Conv2d(in_channels,out_channels,kernel_size,stride=1,padding=0,dilation=2,groups=1,bias=true)中的dilation是自行设定的,卷积核中间添加数字0,从而扩大感受野,在分割任务中常见,也用于提取多尺度的特征。

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-26hzn8BW-1597219178794)(C:\Users\云之遥\AppData\Roaming\Typora\typora-user-images\image-20200808174948095.png)]

  • 常用的卷积神经网络

    • AlexNet: 提出了分组卷积的概念,GPU内的卷积和GPU间的卷积,当进行Max pool和全连接层的时候需要进行GPU间的卷积,因为Max pool和全连接层都是对全局信息而言的,不能分开计算。首次提出了下述的六种概念

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-em4buK43-1597219178795)(C:\Users\云之遥\AppData\Roaming\Typora\typora-user-images\image-20200808181444205.png)]

    • ZFNet: 在AlexNet的基础上将卷积核的大小进行了缩小,从而使feature map增大。

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zWmfvE3s-1597219178797)(C:\Users\云之遥\AppData\Roaming\Typora\typora-user-images\image-20200808181653540.png)]

    • VGGNet: VGGNet相比ZFNet和AlexNet更加深了,并且提出了小卷积核的堆叠,提出了卷积块Block的概念。

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qT21Zz3m-1597219178800)(C:\Users\云之遥\AppData\Roaming\Typora\typora-user-images\image-20200808181836019.png)]

    • GoogLeNet(Inception): GoogleNet 不同于前面网络的地方在于,GoogLeNet不是使用堆叠的方式建立层结构,而是通过多尺度特征(在同一层使用不同尺度的特征),比如VGGNet对于输入来说只有一个支路,一条支路走到黑,而GoogLeNet对于输入来说有多个分支,比如下图左图所示的,Previous Layer进入网络之后,分别经过 1*1的卷积、3*3的卷积、5*5的卷积 和 3*3的max pooling,得到不同尺度的特征,最后将不同尺度提取的特征拼接在一起,实现不同尺度的feature map的融合。相比于Inception-v1,Inception-v2又有了进一步的改进,通过 1*1的卷积核实现升维或者降维达到了减少参数的作用。

        下述的第二幅图相对于第一幅图又有了改进,第二幅图的Inception-v2相比于第一幅图的Inception-v2来说,第二幅图将第一幅图的5*5 的卷积分解为两个3*3的卷积,两个3*3的卷积和一个5*5的卷积的感受野大小相同,然后又在3*3卷积的基础上Inception-v3进一步分解卷积,分解为 1*3 和 3*1,后面的感受野和前面3*3的感受野相同,但是参数进一步减少,3*3的卷积核的参数为9,1*3加上3*1的参数量只有6。

      在这里插入图片描述

    • ResNet: (在之前的几篇文章中讲解了)

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ag6cilYM-1597219178804)(C:\Users\云之遥\AppData\Roaming\Typora\typora-user-images\image-20200809161634447.png)]

    • DenseNet(2017): DenseNet在ResNet中的恒等映射基础上进行改进,DenseNet将当前的层不止与前一个层相连,它会与前面左右的层进行连接,将shortcut的思想发挥到极致。 缺点:耗时比较多

      在这里插入图片描述

这篇关于罗浩老师行人重识别课程记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/572013

相关文章

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

Spring Boot 配置文件之类型、加载顺序与最佳实践记录

《SpringBoot配置文件之类型、加载顺序与最佳实践记录》SpringBoot的配置文件是灵活且强大的工具,通过合理的配置管理,可以让应用开发和部署更加高效,无论是简单的属性配置,还是复杂... 目录Spring Boot 配置文件详解一、Spring Boot 配置文件类型1.1 applicatio

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

使用PyTorch实现手写数字识别功能

《使用PyTorch实现手写数字识别功能》在人工智能的世界里,计算机视觉是最具魅力的领域之一,通过PyTorch这一强大的深度学习框架,我们将在经典的MNIST数据集上,见证一个神经网络从零开始学会识... 目录当计算机学会“看”数字搭建开发环境MNIST数据集解析1. 认识手写数字数据库2. 数据预处理的

Pytorch微调BERT实现命名实体识别

《Pytorch微调BERT实现命名实体识别》命名实体识别(NER)是自然语言处理(NLP)中的一项关键任务,它涉及识别和分类文本中的关键实体,BERT是一种强大的语言表示模型,在各种NLP任务中显著... 目录环境准备加载预训练BERT模型准备数据集标记与对齐微调 BERT最后总结环境准备在继续之前,确

Spring Boot中定时任务Cron表达式的终极指南最佳实践记录

《SpringBoot中定时任务Cron表达式的终极指南最佳实践记录》本文详细介绍了SpringBoot中定时任务的实现方法,特别是Cron表达式的使用技巧和高级用法,从基础语法到复杂场景,从快速启... 目录一、Cron表达式基础1.1 Cron表达式结构1.2 核心语法规则二、Spring Boot中定

讯飞webapi语音识别接口调用示例代码(python)

《讯飞webapi语音识别接口调用示例代码(python)》:本文主要介绍如何使用Python3调用讯飞WebAPI语音识别接口,重点解决了在处理语音识别结果时判断是否为最后一帧的问题,通过运行代... 目录前言一、环境二、引入库三、代码实例四、运行结果五、总结前言基于python3 讯飞webAPI语音

国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)

《国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)》本文给大家利用deepseek模型搭建私有知识问答库的详细步骤和遇到的问题及解决办法,感兴趣的朋友一起看看吧... 目录1. 第1步大家在安装完ollama后,需要到系统环境变量中添加两个变量2. 第3步 “在cmd中