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

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

相关文章

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

Node.js学习记录(二)

目录 一、express 1、初识express 2、安装express 3、创建并启动web服务器 4、监听 GET&POST 请求、响应内容给客户端 5、获取URL中携带的查询参数 6、获取URL中动态参数 7、静态资源托管 二、工具nodemon 三、express路由 1、express中路由 2、路由的匹配 3、路由模块化 4、路由模块添加前缀 四、中间件

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓

学习记录:js算法(二十八):删除排序链表中的重复元素、删除排序链表中的重复元素II

文章目录 删除排序链表中的重复元素我的思路解法一:循环解法二:递归 网上思路 删除排序链表中的重复元素 II我的思路网上思路 总结 删除排序链表中的重复元素 给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。 图一 图二 示例 1:(图一)输入:head = [1,1,2]输出:[1,2]示例 2:(图

perl的学习记录——仿真regression

1 记录的背景 之前只知道有这个强大语言的存在,但一直侥幸自己应该不会用到它,所以一直没有开始学习。然而人生这么长,怎就确定自己不会用到呢? 这次要搭建一个可以自动跑完所有case并且打印每个case的pass信息到指定的文件中。从而减轻手动跑仿真,手动查看log信息的重复无效低质量的操作。下面简单记录下自己的思路并贴出自己的代码,方便自己以后使用和修正。 2 思路整理 作为一个IC d

SSM项目使用AOP技术进行日志记录

本步骤只记录完成切面所需的必要代码 本人开发中遇到的问题: 切面一直切不进去,最后发现需要在springMVC的核心配置文件中中开启注解驱动才可以,只在spring的核心配置文件中开启是不会在web项目中生效的。 之后按照下面的代码进行配置,然后前端在访问controller层中的路径时即可观察到日志已经被正常记录到数据库,代码中有部分注释,看不懂的可以参照注释。接下来进入正题 1、导入m

flume系列之:记录一次flume agent进程被异常oom kill -9的原因定位

flume系列之:记录一次flume agent进程被异常oom kill -9的原因定位 一、背景二、定位问题三、解决方法 一、背景 flume系列之:定位flume没有关闭某个时间点生成的tmp文件的原因,并制定解决方案在博主上面这篇文章的基础上,在机器内存、cpu资源、flume agent资源都足够的情况下,flume agent又出现了tmp文件无法关闭的情况 二、

Clion不识别C代码或者无法跳转C语言项目怎么办?

如果是中文会显示: 此时只需要右击项目,或者你的源代码目录,将这个项目或者源码目录标记为项目源和头文件即可。 英文如下:

《数字图像处理(面向新工科的电工电子信息基础课程系列教材)》P98

更改为 差分的数学表达式从泰勒级数展开式可得: 后悔没听廖老师的。 禹晶、肖创柏、廖庆敏《数字图像处理(面向新工科的电工电子信息基础课程系列教材)》 禹晶、肖创柏、廖庆敏《数字图像处理》资源二维码

Linux常用工具与命令日常记录(长期更新)

Linux常用工具与命令日常记录(长期更新) 目录 1.本地复制到远程2.Linux压缩拆包与解压3.生成随机密码4.ubuntu默认Python版本设置5.计算当前文件夹中文件数量6.windows中编写shell脚本,在Linux运行出错7.history 历史命令显示时间用户8.Ubuntu18.04设置源、网卡9.Ubuntu18.04设置网卡10.Ubuntu:自定义开