5分钟理解什么是卷积的特征提取
大家好啊,我是董董灿。
卷积算法之所以重要,关键在于其提取特征的能力。
5分钟入门卷积算法中提到,卷积模仿的就是人眼识图的过程,以“感受野”的视角去扫描图片,从而获取不同区域的图片信息。
在这一过程中,通过设计多个不同尺寸的卷积核,对一张图片进行卷积操作,以完成在不同尺度下特征的提取。
那么什么是卷积的特征提取呢?卷积都提取出了哪些特征呢?
1、卷积的数学描述
我们通常说特征图或者数据集的尺寸是 [n, h, w, c],其中,n 代表的是图片的张数,h 代表的是图片的高度,w 代表的是图片的宽度,c 代表图片的通道数。
例如如果一张图片是RGB的格式,那么 c 就等于3。

对于卷积算法而言,输入图片尺寸为 [n, hi, wi, c](标i代表input,输入),卷积核尺寸为 [kn, kh, kw, c],输出图片尺寸为[n, ho, wo, kn](下标o代表output)。
有没有发现,输出图片的channel数与输入图片的channel数不一致,输出图片的channel数与卷积核的个数是一致的。
channel也即通道,在特征图中,一个channel代表一个特征,channel的个数代表特征的个数。
因此,经过卷积计算,特征图中特征的个数,与卷积核的个数是一致的。
2、图片的特征
输出特征图的通道数与卷积核的个数相同一样,这意味着什么呢?
意味着如果我设计一个卷积,存在100个卷积核,那么经过卷积就可以输出具有100个特征的特征图。
卷积算法,可以通过设计卷积核的个数,随意的提取图片不同的数量的特征,卷积算法,就是通过线性变换,将图片映射到特征空间。
那么,特征怎么理解呢?
图像特征主要有图像的颜色特征、纹理特征、形状特征和空间关系特征。

RGB图像和它的3个颜色特征通道
RGB图片有3个通道,可以说有3个颜色特征,分别为红色,绿色和蓝色;那么纹理特征,形状特征和空间特征又是什么意思呢?
纹理特征就是图片的纹理,比如下面这样。

形状特征就是图片中物体的形状,比如下面这样。

那么卷积这一算法在神经网络的训练过程中学习到这些特征了么?
答案是肯定的!
卷积不仅学到了这些特征,而且还学到了很多人们不太好描述的特征,这些特征对于人类来说可能毫无意义,但对于神经网络来说,确实十分重要的。
更多卷积学到了什么特征,可以移步:卷积特征是怎么被可视化的?
在著名的论文《Visualizing and Understanding Convolutional Networks》中有关于卷积算法特征的表述,在文中,随着神经网络深度的加深,卷积提取到的特征逐渐清晰起来。
由浅层次的纹理特征,逐步到深层次的形状特征,比如,在Layer 4中提取的特征图中便可以看到狗狗的形象。
不同的卷积神经网络中卷积的层数是不同的,而且卷积的参数也不同。
举个例子,在图像分类任务中,卷积神经网络在训练学习的时候,每一层学习到的特征是不同的,比如第一层的输入只有3个颜色特征,输出有64个特征,至于这64个特征代表的是什么,可能连神经网络自己也说不清,一直到最后一层可能会有几千个特征。
到了最后一层,可以这么比喻:几千个特征,实际上已经代表了几千种物体的分类了。针对一张图片是猫的原始输入,几千个特征中,只有猫这一特征最后的得分最高,因此,网络会把它推理成猫。
这就是卷积算法的核心,特征提取。
相关文章:
5分钟理解什么是卷积的特征提取
大家好啊,我是董董灿。 卷积算法之所以重要,关键在于其提取特征的能力。 5分钟入门卷积算法中提到,卷积模仿的就是人眼识图的过程,以“感受野”的视角去扫描图片,从而获取不同区域的图片信息。 在这一过程中&#x…...
Legion Y9000X IRH8 2023款(82Y3)原装出厂OEM预装Windows11系统
lenovo联想电脑笔记本拯救者原厂win11系统镜像 下载链接:https://pan.baidu.com/s/15G01j7ROVqOFOETccQSKHg?pwdt1ju 系统自带所有驱动、出厂主题壁纸、Office办公软件、联想电脑管家等预装程序 所需要工具:32G或以上的U盘 文件格式:ISO…...
【Acwing1010】拦截导弹(LIS+贪心)题解
题目描述 思路分析 本题有两问,第一问直接用lis的模板即可,下面重点看第二问 思路是贪心: 贪心流程: 从前往后扫描每一个数,对于每个数: 情况一:如果现有的子序列的结尾都小于当前的数&…...
DevicData-D-XXXXXXXX勒索病毒数据恢复|金蝶、用友、管家婆、OA、速达、ERP等软件数据库恢复
引言: 在数字时代,数据安全成为一项至关重要的挑战。DevicData-D-XXXXXXXX勒索病毒(以下简称DevicData病毒)是这场战斗中的新敌人,它能够以毁灭性的方式加密您的数据,迫使您在数据和时间之间做出艰难的选择…...
从入门到精通,30天带你学会C++【第七天:for循环和while循环以及数组的学习】(学不会你找我)
目录 Everyday English 前言 数组 数组的概念 数组的定义 数组的下标 for循环 循环是什么 基本格式 多重循环 while循环 do-while循环 总结 Everyday English To shine , not be illuminated. 去发光,而不是被照亮。 前言 好久不见,…...
Python 编程基础 | 第五章-类与对象 | 5.2、数据成员
一、数据成员 数据成员是指类中定义的变量,即属性,根据定义位置,又可以分为类属性和实例属性,下面分别进行介绍。 1、实例属性 实例属性是指定义在类的方法中的属性,该属性属于当前实例,例如:…...
PHP 个人愿望众筹网站系统mysql数据库web结构apache计算机软件工程网页wamp
一、源码特点 PHP 个人愿望众筹网站系统是一套完善的web设计系统,对理解php编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 php 个人愿望众筹网站 代码 https://download.csdn.net/download/qq_41221322/8…...
JS--判断空值(null、undefined、NaN、false、空字符串等)
原文网址:JS--判断空值(null、undefined、NaN、false、空字符串等)_IT利刃出鞘的博客-CSDN博客 简介 本文介绍JavaScript判断空值的方法。 空值包括:undefined,null,NaN,,false,{}࿰…...
ChatGPT 背后包含了哪些技术?
ChatGPT 是由OpenAI开发的一款基于GPT-3(Generative Pre-trained Transformer 3)的人工智能语言模型。这个模型是使用多种编程语言和技术组合编写的。 首先,ChatGPT 使用了 Python 作为主要的编程语言。Python 是一种流行的高级编程语言&…...
Vue Router(二)
目录 一、嵌套路由 1、路由定义 2、代码例子 3、重定向 二、懒加载 1、缘由 2、代码例子 三、导航守卫 1、全局前置守卫 2、全局后置守卫 3、meta元信息 四、生命周期 1、解释 2、执行顺序 3、例子 五、keep-alive组件缓存(保活) 1、介…...
ELK整合springboot(第二课)
一、创建一个springboot的项目 pom文件如下: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLo…...
运维常见的22个故障排查和10个问题解决技巧大汇总!
作为运维,多多少少会碰见这样那样的问题或故障,从中总结经验,查找问题,汇总并分析故障的原因,这是一个运维工程师良好的习惯。每一次技术的突破,都经历着苦闷,伴随着快乐,可我们还是…...
解决 TensorFlow 2.x 中的 “AttributeError: module ‘tensorflow‘ has no attribute ‘placeholder‘“ 错误
项目场景: 在使用 TensorFlow 框架实现深度学习应用时,可能会遇到以下错误: AttributeError: module tensorflow has no attribute placeholder问题描述 在 TensorFlow 1.x 版本中,placeholder 函数用于创建占位符张量。然而&a…...
新风机注意事项有哪些?
选择和使用新风机时,有几个关键注意事项需要牢记: 安装位置:新风机的安装位置很重要。通常情况下,应将其安装在室外以避免室内产生噪音和减少室内的体积占据。确保选择合适的安装位置,以便新风机能够顺利引入新鲜空气。…...
GitHub基础
1、仓库是什么意思?仓库拥有者是谁? 在软件开发或版本控制系统中,"仓库"(Repository)是指存储项目代码、配置文件、文档等相关文件的地方。它可以看作是一个中央存储库,用于管理和跟踪项目的各个…...
读书笔记--未来简史关键金句和阅读感悟
借着国庆假期,终于有时间研读了尤瓦尔.赫拉利的《未来简史》,作者的写作方式、文笔、观察视角都是我喜欢的类型,作者从古到今,谈到了上帝、神、宗教、科技、生物、智人到未来的超人智神(数据主义)ÿ…...
【Vue2.0源码学习】生命周期篇-销毁阶段(destroy)
文章目录 1. 前言2. 销毁阶段分析3. 总结 1. 前言 接下来到了生命周期流程的最后一个阶段——销毁阶段。从官方文档给出的生命周期流程图中可以看到,当调用了vm.$destroy方法,Vue实例就进入了销毁阶段,该阶段所做的主要工作是将当前的Vue实例…...
代理IP与Socks5代理在多领域的卓越应用
随着数字化时代的到来,网络工程师在跨界电商、爬虫、出海业务、网络安全和游戏等多个领域中扮演着至关重要的角色。在这些领域中,代理IP与Socks5代理技术已经成为网络工程师的得力助手,本文将深入探讨它们在技术世界中的卓越应用。 1. 跨界电…...
kafka怎么实现零拷贝(Zero-Copy)的?
Kafka 实现零拷贝(Zero-Copy)主要依赖于操作系统和底层网络库的支持,而不是特定的算法。这是因为零拷贝是一种优化数据传输的技术,通常是通过操作系统和硬件来实现的。以下是 Kafka 如何实现零拷贝的一般原理: 直接内存…...
Hive【Hive(四)函数-单行函数】
函数 函数简介 方便完成我们一些复杂的操作,就好像我们 Spark 中的 UDF 函数,避免用户反复写逻辑。 Hive 提供了大量的内置函数,主要可以分为以下几类: 单行函数聚合函数炸裂函数窗口函数 下面的命令可以查看内置函数的相关…...
避坑指南:香橙派串口开发中orangepiEnv.txt与armbianEnv.txt的配置差异详解
香橙派串口开发实战:系统配置差异与深度调试指南 当你在深夜调试香橙派串口时,突然发现修改的配置文件毫无反应——这种经历相信不少开发者都遇到过。问题的根源往往不在于代码本身,而是隐藏在系统环境中的配置差异。本文将带你深入剖析香橙派…...
Kraken P2P镜像分发:解决大规模容器化部署的镜像仓库瓶颈
1. 项目概述:一个为容器镜像分发而生的“海妖”如果你在容器化这条路上走得足够远,尤其是在处理大规模、多集群、跨地域的镜像分发时,大概率会遇到一个共同的痛点:镜像仓库成了瓶颈。无论是自建的Harbor、Docker Registry…...
Python性能优化利器:Numba JIT编译器原理与实战应用
1. 项目概述:当Python遇上性能瓶颈,Numba如何成为你的“即时编译器”在数据科学、科学计算和高性能数值模拟领域,Python以其简洁的语法和丰富的生态库(如NumPy、Pandas)成为了事实上的标准语言。然而,任何深…...
LaTeX2Word-Equation终极指南:打破数学公式编辑的次元壁
LaTeX2Word-Equation终极指南:打破数学公式编辑的次元壁 【免费下载链接】LaTeX2Word-Equation Copy LaTeX Equations as Word Equations, a Chrome Extension 项目地址: https://gitcode.com/gh_mirrors/la/LaTeX2Word-Equation 在学术写作和技术文档创作的…...
Canvas动画实战:从零构建动态星空效果与性能优化
1. 项目概述:从静态到动态的视觉魔法“Animated_star”这个项目名,听起来就充满了趣味和想象力。它不是一个复杂的商业应用,也不是一个深奥的算法研究,而是一个纯粹关于“视觉创造”的实践。简单来说,这个项目的核心目…...
FPGA调试技术:ILA与VIO核心实战指南
1. FPGA调试基础与核心工具解析在FPGA开发流程中,调试环节往往占据整个项目周期的40%以上时间。传统逻辑分析仪存在连接复杂、探头数量有限等问题,而基于JTAG的片上调试技术则提供了更高效的解决方案。Xilinx Vivado设计套件内置的集成逻辑分析仪(ILA)和…...
基于MCP协议构建微信通知服务:解耦业务与通知逻辑的实践
1. 项目概述:一个面向开发者的轻量级通知集成工具最近在折腾一个自动化脚本,需要把运行结果实时推送到手机上,但又不想把各种IM的SDK耦合进代码里,太臃肿了。相信很多做后端服务、运维监控或者自动化脚本的朋友都遇到过类似的需求…...
33-47 树
33. 二叉树的中序遍历 class Solution(object):def inorderTraversal(self, root):res []self._inorder(root, res)return resdef _inorder(self, node, res):if node:self._inorder(node.left, res)res.append(node.val)self._inorder(node.right, res) 34. 二叉树的最大深…...
企业内网高效部署:VSCode插件离线安装全攻略
1. 企业内网为何需要离线安装VSCode插件 在企业开发环境中,内网隔离是常见的安全策略。我曾参与过多个金融和政务项目的技术部署,这些场景下开发机通常不允许直接连接外网。这时候如果团队需要统一配置开发环境,离线安装VSCode插件就成了刚需…...
ARMv8/v9架构ID_AA64ISAR3_EL1寄存器详解与应用
1. AArch64指令集属性寄存器ID_AA64ISAR3_EL1概述 在ARMv8/v9架构中,ID_AA64ISAR3_EL1是一个关键的系统寄存器,它属于AArch64指令集属性寄存器家族。这个64位寄存器专门用于描述处理器在AArch64执行状态下实现的各种指令集扩展特性。作为ARM架构的标准实…...
