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

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

相关文章

在Spring Boot中集成RabbitMQ的实战记录

《在SpringBoot中集成RabbitMQ的实战记录》本文介绍SpringBoot集成RabbitMQ的步骤,涵盖配置连接、消息发送与接收,并对比两种定义Exchange与队列的方式:手动声明(... 目录前言准备工作1. 安装 RabbitMQ2. 消息发送者(Producer)配置1. 创建 Spr

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手

Python中图片与PDF识别文本(OCR)的全面指南

《Python中图片与PDF识别文本(OCR)的全面指南》在数据爆炸时代,80%的企业数据以非结构化形式存在,其中PDF和图像是最主要的载体,本文将深入探索Python中OCR技术如何将这些数字纸张转... 目录一、OCR技术核心原理二、python图像识别四大工具库1. Pytesseract - 经典O

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

Python基于微信OCR引擎实现高效图片文字识别

《Python基于微信OCR引擎实现高效图片文字识别》这篇文章主要为大家详细介绍了一款基于微信OCR引擎的图片文字识别桌面应用开发全过程,可以实现从图片拖拽识别到文字提取,感兴趣的小伙伴可以跟随小编一... 目录一、项目概述1.1 开发背景1.2 技术选型1.3 核心优势二、功能详解2.1 核心功能模块2.

统一返回JsonResult踩坑的记录

《统一返回JsonResult踩坑的记录》:本文主要介绍统一返回JsonResult踩坑的记录,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录统一返回jsonResult踩坑定义了一个统一返回类在使用时,JsonResult没有get/set方法时响应总结统一返回

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

java对接海康摄像头的完整步骤记录

《java对接海康摄像头的完整步骤记录》在Java中调用海康威视摄像头通常需要使用海康威视提供的SDK,下面这篇文章主要给大家介绍了关于java对接海康摄像头的完整步骤,文中通过代码介绍的非常详细,需... 目录一、开发环境准备二、实现Java调用设备接口(一)加载动态链接库(二)结构体、接口重定义1.类型

Python验证码识别方式(使用pytesseract库)

《Python验证码识别方式(使用pytesseract库)》:本文主要介绍Python验证码识别方式(使用pytesseract库),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录1、安装Tesseract-OCR2、在python中使用3、本地图片识别4、结合playwrigh