计算机视觉基础(10)——深度学习与图像分类

前言

传统视觉算法采用手工设计特征与浅层模型,而手工设计特征依赖于专业知识,且泛化能力差。深度学习的出现改变了这一状况,为视觉问题提供了端到端的解决方案。在之前的课程中,我们已经学习了图像分类的传统知识。在本节课中,我们将学习到图像分类融合深度学习的方法

一、视觉算法设计流程的演化

下面是传统视觉算法和深度学习算法的区别:

传统视觉算法采用手工设计特征与浅层模型

手工设计特征依赖专业知识(Domain knowledge),且泛化性能差

深度学习的出现改变了这一状况,为视觉问题提供了端到端的解决方案

接下来,我们以人脸识别任务为例,对传统方法和深度学习方法进行一个比较:

传统方法的思路如下:

深度学习方法的思路如下:

下面是深度学习方法的一些优点:

  • 深度模型更适合处理大数据,随着训练数据规模增大,性能不断提升。
  • 而浅层模型随训练数据的增加,性能提升不明显。

如下图所示:

并且,通过数据驱动的方式学出的深度特征,具有更强的泛化性能

二、分层级深度特征

在了解了深度学习视觉算法的设计流程之后,我们还需要学习一下分层级的深度特征。

不同层级的卷积层所学习到的图像特征具有分层的特性

浅层: 学习到图像的低级(Low-level)特征,如颜色、边缘、纹理

深层: 学到图像的高级(High-level)特征,如物体位置、语义类别

我们以AlexNet为例,对每一层卷积层进行说明:

1)AlexNet中第一层卷积的滤波器96x[11x11x3] 学到edge, color, blob 等底层特征,与手工设计滤波器组相似。

2)第二层对继续对角点和其他的边缘/颜色信息进行相应

3)第三层具有更复杂的不变性,捕获相似的纹理

4)第四层显示了显著的变化,并且更加类别具体化。而第五层显示了具有显著姿态变化的整个对象。

三、常见的深度神经网络类型

我们将依次介绍如下4种常见的深度神经网络类型,这在之前的深度学习课程上面也学习过,在此仅作为复习使用:

全连接网络 (Fully Connected Net)

卷积网络 (Convolution Net)

递归网络 (Recurrent Net)

Transformer

3.1  全连接网络

3.2  卷积网络

对于卷积神经网络,我们需要知道参数量的计算、卷积层的3个主要特点、卷积的过程和空洞卷积的概念和意义、上采样的概念和计算,批量归一化的定义和优缺点

3.2.1  卷积层参数量的计算

3.2.2  卷积层的特点(重要)

3.2.3  卷积的过程

3.2.4  卷积步幅

下图中的步幅 stride = 2

3.2.5  空洞卷积

3.2.6  池化层

池化的意义和作用如下:

使用某一位置相邻区域的总体统计特性来代替网络在该位置的输出

在尽量保留有用信息的同时,实现特征图降采样,提升感受野

1)最大值池化

2)平均值池化

3.2.7  上采样(反卷积)

3.2.8  批量归一化(重点)

参考文献:Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift, ICML 2015

BN的优缺点如下:

需要掌握Batch Norm、Layer Norm、Instance Norm和Group Norm这四个对应的表示形式:

3.3  递归网络

不是考查的重点,请感兴趣的读者移步参考下方链接:

【神经网络】递归神经网络 - 知乎 (zhihu.com)

3.4  Transformer

Transformer最早针对NLP任务设计,随后推广至视觉领域 (分类、检测、分割、跟踪)

Transformer最核心的模块是自注意力机制模块,该模块通过将输入特征间的相关性作为权重,对输入特征进行加权,实现管局关系建模

3.4.1  自注意力机制

参考链接:https://jalammar.github.io/illustrated-transformer/

3.4.2  多头注意力模块

3.4.3  常见的损失函数与优化器

四、图像分类

接下来我们将介绍最经典的一些图像分类模型:

4.1  ImageNet数据集

细粒度(Fine-Grained)图像分类是对图像种类进行更精细的划分:

随着旧模型的不断改进,新模型的不断提出,图像分类模型推陈出新,ImageNet精度逐年提升:

4.2  AlexNet

4.3  VGG

4.4  GoogleNet

4.5  ResNet

4.6  DenseNet

4.7  Vision Transformer

4.8  Swing Transformer

Swing Transformer 提出Window based Self-Attention:将输入图像分成互不重叠的Window,自注意机制在每一个Window中独立计算

总结

本文从视觉算法设计流程的演变入手,对比传统视觉算法和深度学习算法的优劣,引出深度学习算法,并依次介绍了深度特征、深度神经网络类型和图像分类的经典模型

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/241944.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c语言:求1/2+2/3+3/4+……n-1/n的和|练习题

一、题目 求1/22/33/4……n-1/n的和 如图&#xff1a; 二、思路分析 1、1/2、2/3、3/4……可以用(i/i1) 2、设置一个函数&#xff0c;求数的相加之和 三、代码截图【带注释】 四、源代码【带注释】 #include <stdio.h> int main() { int num; printf("输入…

javassmmysql医院线上线下全诊疗系统的设计与实现02210-计算机毕业设计项目选题推荐(免费领源码)

目 录 摘要 1 绪论 1.1背景及意义 1.2研究现状 1.3ssm框架介绍 1.4论文结构与章节安排 2 医院线上线下全诊疗系统系统分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 法律可行性分析 2.2 系统功能分析 2.2.1 功能性分析 2.2.2 非功能性分…

Git常用命令及解释说明

目录 前言1 git config2 git init3 git status4 git add5 git commit6 git reflog7 git log8 git reset结语 前言 Git是一种分布式版本控制系统&#xff0c;广泛用于协作开发和管理项目代码。了解并熟练使用Git的常用命令对于有效地管理项目版本和历史记录至关重要。下面是一些…

springcloud-gateway-2-鉴权

目录 一、跨域安全设置 二、GlobalFilter实现全局的过滤与拦截。 三、GatewayFilter单个服务过滤器 1、原理-官方内置过滤器 2、自定义过滤器-TokenAuthGatewayFilterFactory 3、完善TokenAuthGatewayFilterFactory的功能 4、每一个服务编写一个或多个过滤器&#xff0c…

关于“Python”的核心知识点整理大全39

目录 ​编辑 14.1.5 将 Play 按钮切换到非活动状态 game_functions.py 14.1.6 隐藏光标 game_functions.py game_functions.py 14.2 提高等级 14.2.1 修改速度设置 settings.py settings.py settings.py game_functions.py 14.2.2 重置速度 game_functions.py 1…

饥荒Mod 开发(二一):超大便携背包,超大物品栏,永久保鲜

饥荒Mod 开发(二十)&#xff1a;显示打怪伤害值 源码 游戏中的物品栏容量实在太小了&#xff0c;虽然可以放在箱子里面但是真的很不方便&#xff0c;外出一趟不容易看到东西都不能捡。实在是虐心。 游戏中的食物还有变质机制&#xff0c;时间长了就不能吃了&#xff0c;玩这个游…

【高数定积分求解旋转体体积】 —— (上)高等数学|定积分|柱壳法|学习技巧

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 &#x1f4ab;个人格言:"没有罗马,那就自己创造罗马~" 目录 Shell method Setting up the Integral 例题 Example 1: Example 2: Example 3: Computing…

Linux--shell练习题

1、写一个 bash脚本以输出数字 0 到 100 中 7 的倍数(0 7 14 21...)的命令。 vim /shell/homework1.sh #!/bin/bash for num in {0..100} doif [[ num%7 -eq o ]];thenecho $numfi done执行输出脚本查看输出结果 输出结果&#xff1a; 2、写一个 bash脚本以统计一个文本文件…

LLM之RAG实战(七)| 使用llama_index实现多模态RAG

一、多模态RAG OpenAI开发日上最令人兴奋的发布之一是GPT-4V API&#xff08;https://platform.openai.com/docs/guides/vision&#xff09;的发布。GPT-4V是一个多模态模型&#xff0c;可以接收文本/图像&#xff0c;并可以输出文本响应。最近还有一些其他的多模态模型&#x…

flutter 实战 之 dio小实践

我们要对dio进行封装 class HttpRequest {static Future request(String url,{String method "get",Map<String,dynamic>? params})async{// 创建dio实例BaseOptions baseOptions BaseOptions(baseUrl: base_url,connectTimeout: Duration(seconds: 1));fi…

50 个具有挑战性的概率问题 [04/50]:尝试直至首次成功

一、说明 你好&#xff0c;我最近对与概率相关的问题产生了兴趣。我偶然发现了 Frederick Mosteller 所著的《五十个具有挑战性的概率问题及其解决方案》这本书。我认为创建一个系列来讨论这些可能作为面试问题出现的迷人问题会很有趣。每篇文章仅包含 1 个问题&#xff0c;使其…

【四】【C语言\动态规划】地下城游戏、按摩师、打家劫舍 II,三道题目深度解析

动态规划 动态规划就像是解决问题的一种策略&#xff0c;它可以帮助我们更高效地找到问题的解决方案。这个策略的核心思想就是将问题分解为一系列的小问题&#xff0c;并将每个小问题的解保存起来。这样&#xff0c;当我们需要解决原始问题的时候&#xff0c;我们就可以直接利…

一款超好看流行的HTML随机视频播放背景引导页面源码

前言 今天宋佳乐博客给大家带来一款2024新版视频背景网址导航引导页面源码带背景动态HTML源码 源码介绍 2024新版视频背景网址导航引导页面源码带背景动态HTML源码&#xff0c;非常的炫酷&#xff0c;有需要的自行去体验吧&#xff0c;还是非常不错的 演示地址&#xff1a;点…

《xHCI 1.2》3体系结构概览

3.2 xHCI数据结构 3.2.1 Device Context Base Address Array 3.2.2 Device Context 3.2.3 Slot Context

keystone和beaengine的编译

编译Keystone 根据github的文档编译不出来&#xff0c;所以还是用CMake项目转成Visual Studio的项目来编译 1、下载源码 https://github.com/keystone-engine/keystone clone或者直接下载zip都行 2、CMake创建Visual Studio项目 下载和安装CMake就不细说了&#xff0c;在…

网络7层架构

网络 7 层架构 什么是OSI七层模型&#xff1f; OSI模型用于定义并理解数据从一台计算机转移到另一台计算机&#xff0c;在最基本的形式中&#xff0c;两台计算机通过网线和连接器相互连接&#xff0c;在网卡的帮助下共享数据&#xff0c;形成一个网络&#xff0c;但是一台计算…

正餐---二叉树的OJ题

目录​​​​​​​ 前言&#x1f36f; 1. 检查两颗树是否相同&#x1f947; 1.1 思路分析&#x1fa99; 1.2 代码实现&#x1f9f0; 2. 单值二叉树&#x1f332; 2.1 思路分析&#x1f52e; 2.2 代码实现&#x1f488; 3. 二叉树的前序遍历&#x1f39f;️ 3.1 思路分…

【数据结构】线性表

一.线性表 1.定义&#xff1a; n个同类型数据元素的有限序列&#xff0c;记为 L为表名&#xff0c;i为数据元素在线性表中的位序&#xff0c;n为线性表的表长&#xff0c;n0时称为空表。 2.数据元素之间的关系&#xff1a; 直接前驱和直接后继 3.抽象数据类型线性表的定义…

git首次使用--去公司第一次拉取

文章目录 一&#xff0c; 在企业中首次拉取项目二&#xff0c;提交项目1. 提交----新添加的文件2. 将分支上的代码同步到master3. 提交----更改后的文件 三&#xff0c;常见问题1. Git Pull Failed 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一&am…

固定效应模型-以stata为工具

固定效应模型-以stata为工具 文章目录 1.固定效应模型2. 模型原理3. `stata`代码实现1.固定效应模型 固定效应模型(Fixed Effects Model)是一种面板数据分析方法,通过引入个体固定效应来控制个体间的异质性,并更准确地估计解释变量对因变量的影响。它在许多经济、社会科学…