图像检测:图像分类

article/2025/9/29 15:26:55

图像分类

判断图片中是否有某个物体,一个图对应一个标签
在这里插入图片描述

卷积神经网络(CNN)

网络进化:

网络: AlexNet→VGG→GoogLeNet→ResNet
深度: 8→19→22→152
VGG结构简洁有效: 容易修改,迁移到其他任务中去,高层任务的基础网络
性能竞争网络: GooLeNet:Inception V1→V4,ResNet:ResNet1024→ResNeXt
在这里插入图片描述

AlexNet网络

ImageNet-2012竞赛第一
标志着DNN深度学习革命的开始:5个卷积层+3个全连接层,60M个参数,650K个神经元,2个分组,2个GPU
新技术: ReLU非线性激活,Max Pooling 池化,Dropout regularization,LRN
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

局部响应归一化(Local Response Normalization LRN): 神经元的侧抑制机制,某个位置(x,y)上沿通道方向的归一化,n为邻域值,N为通道值,超参数:k=2,n=5,α=0.0001,β=0.75

在这里插入图片描述

Network in Network网络(NiN)

提高CNN的局部感知区域的非线性
在这里插入图片描述

卷积层→1X1卷积层→Max池化层
在这里插入图片描述

1X1卷积

1X1卷积,实现的是同一个像素点上的各个通道的值的线性组合

作用: 实现跨通道的交互和信息整合,进行卷积核通道数的降维和升维
在这里插入图片描述

VGG网络

VGG网络提出的目的是为了探究在大规模图像识别任务中,卷积网络深度对模型精度有何影响。将一个大的卷积核分解成连续多个小卷积核。减少参数,降低计算,增加深度,是网络改造的首选基础网络
在这里插入图片描述

从左至右每一列代表着深度增加的不同的模型,从上到下代表模型的深度。conv<滤波器数,通道数>,随着层数的增加,参数增加并不是很多在这里插入图片描述

GooLeNet

GooLeNet 出现之前,主流的网络结构突破大致是网络更深(层数),网络更宽(神经元数),但现在看来这纯粹是增大网络的缺点
进化顺序:Inception V1 →Inception V2 →Inception V3 →Inception V4
为了提升性能,减少参数,降低计算,增加深度,宽度

Inception V1网络

核心组件Inception Architecture(稀疏连接结构):Split-Merge→1X1卷积,3X3卷积,5X5卷积,3X3池化,增加网络对多尺度的适应性,增加网络宽度。Bottleneck Layer->使用NiN的1X1卷积进行特征降维,大幅减低运算量。
取消全连接,减负
辅助分类器,解决前几层的梯度消失问题

在这里插入图片描述
在这里插入图片描述

全局平均池化(Global average pooling GAP)

去局平均池化就没有size,它针对的是整张feature map

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Inception V2网络

核心组件: Batch Normalization(批归一化):在batch范围内,对每个特征通道分别进行归一化。
在这里插入图片描述

白化:使每一层的输出都规范化到N(0,1)。解决Internal Covariate Shift问题,允许较高的学习率,取代部分Dropout
5X5卷积核->2个3X3卷积核
在这里插入图片描述

训练阶段:实时计算
测试计算:使用固定值(对训练求平均)

在这里插入图片描述

位置: 卷积->BN->ReLU

在这里插入图片描述

Inception V3网络

核心组件: 非对称卷积,NXN卷积分解成1XN -> NX1,降低参数数量和计算量
在这里插入图片描述

在中度大小的feature map上使用效果才会更好,对于m*m大小的feature map,建议m在12到20之间

Inception V3优化了Inception Module的结构,V3有三种不同的结构。这些Inception Module只在网络的后部出现,前部还是普通的卷积层
在这里插入图片描述

取消浅层的辅助分类器,深层辅助分类器只在训练后期使用,加上BN和Dropout
在这里插入图片描述

Inception V4网络

在这里插入图片描述

Inception 总结

**代替人工确定卷积层中的过滤器类型或者确定是否需要创建卷积层和池化层;不需要人为的决定使用哪个过滤器,是否需要池化层等,由网络自行决定这些参数;即:预先给网络添加所有可能值,将输出连接起来,让网络自己学习它需要什么样的参数。Inception网络有个问题:网络的超参数设定的针对性比较强,当应用在别的数据集上时需要修改许多参数,因此可扩展性一般。
**

ResNet残差网络

核心组件Skip/shortcut connection
Plain net:可以拟合出任意目标映射H(x)
Residual net:可以拟合出任意目标映射F(x),H(x)=F(x)+x,F(x)是残差映射,相对于identity来说
在这里插入图片描述

其他设计: 全是3X3卷积核,卷积步长2取代池化,使用Batch Normalization,取消Max池化,全连接层,Dropout
在这里插入图片描述
在这里插入图片描述

**更深网络:**根据Bootleneck优化残差映射网络。
原始:3x3x256x256->3x3x256x256
优化:1x1x256x64->3x3x64x64->1x1x64x256
在这里插入图片描述

Inception-ResNet网络

在这里插入图片描述
在这里插入图片描述

ResNeXt网络

提出深和宽之外的第三个维度,cardinality(基数),采用Split-Transform-Aggregate策略,将卷积按通道分组,形成32个并行分支,低纬度卷积进行特征变换,加法合并。同参数规模下,增加结构,提高模型表达力
在这里插入图片描述

ResNeXt实际上就是将group convolution引进ResNet中,以获得更少参数。
在这里插入图片描述

增加cardinality基数可以不断提高性能

在这里插入图片描述
在这里插入图片描述

典型的CNN参数与效果对比

在这里插入图片描述

CNN设计准则

**避免信息瓶颈:**卷积过程中,空间尺寸HxW逐渐变小,输出通道数C逐渐变多,HxWxC要缓慢变小
在这里插入图片描述

通道(卷积核)数量保持在可控范围内 :输入通道数量C,输出通道数量K
在这里插入图片描述

感受野要足够大: 卷积时依据局部图片的操作,捕捉大尺寸内容,多个小卷积核好过一个大尺寸卷积
在这里插入图片描述
在这里插入图片描述

分组策略,降低计算量
在这里插入图片描述

低秩分解,降低参数计算量
在这里插入图片描述


http://chatgpt.dhexx.cn/article/lcUNXTy6.shtml

相关文章

相似图像的检测方法

背景 以图搜图&#xff0c;是日常生活中我们经常会用到&#xff0c;例如在选购一款商品时&#xff0c;想要对比价格&#xff0c;往往会在各个购物app上通过搜图的形式来看同一款产品的价格&#xff1b;当你碰到某种不认识的植物时&#xff0c;也可以通过以图搜图的方式来获取该…

图像检测

图像中的目标检测涉及识别各种子图像并且围绕每个识别的子图像周围绘制一个边界框。 不需要判断是什么类型&#xff0c;后面可以做图像识别 经典网络&#xff1a; 图像分类的深度学习工具是区域卷积神经网络&#xff08;R-CNN&#xff09; 第一阶段&#xff1a;R-CNN->S…

计算机视觉-深度学习图像检测方法梳理

计算机视觉-深度学习图像检测方法梳理 由于之后要转方向啦&#xff0c;趁这段时间整理手中硕士研究方向的一些阅读笔记&#xff0c;这是一篇关于计算机视觉的基础知识梳理 先搞清一些小知识点 首先我们要弄清楚图像分类、目标定位、语义分割、实例分割的区别 a. 图像分类 &…

树上倍增法

一 点睛 树上倍增法不仅可以解决 LCA问题&#xff0c;还可以解决很多其他问题。 F[i&#xff0c;j] 表示 i 2^j 辈祖先&#xff0c;即 i 节点向根节点走 2^j 步到达的节点。 u 节点向上走 2^0步&#xff0c;即为 u 的父节点 x&#xff0c; F[u,0] x &#xff1b;向上走 2^1…

光电倍增管国产型号及相关知识

国产光电倍增管 南京永纪&#xff0c;GDB235 参考网址 请教光电倍增管在安装、使用注意事项&#xff0c;谢谢 (amobbs.com 阿莫电子论坛) 光电倍增管&#xff08;PMT&#xff09;使用注意 光电倍增管&#xff08;PMT&#xff09;使用注意_滨松光子学商贸(中国)有限公司 (ham…

倍增node

倍增 普及组的内容&#xff0c;思想很简单&#xff0c;但是考的可以挺难 倍增是啥东西 “ 倍增&#xff0c;顾名思义&#xff0c;就是每次增加一倍。 展开来说&#xff0c;就是每次根据已经得到的信息&#xff0c;将考虑的范围增加一倍&#xff0c; 从而加速操作。倍增思想有…

倍增求LCA

一&#xff1a;定义 LCA指的是最近公共祖先。具体地&#xff0c;给定一棵有根数&#xff0c;若结点z既是结点x的祖先&#xff0c;也是结点y的祖先&#xff0c;则称z是x&#xff0c;y的公共祖先。在x&#xff0c;y的公共祖先中&#xff0c;深度最大的那个节点成为x&#xff0c;y…

倍增数组基础

应用&#xff1a; 给定一个数列a, 基本的倍增数组可以用O(1)的时间复杂度计算出区间[i,j]的最值。 具体操作&#xff1a; 维护倍增数组 1、状态 dp[j][i]表示区间从i到 i(2^j)-1,即以i开始长度为2^j 这个区间范围的最值。&#xff08;下面以最小值为例&#xff09; 2、状态转移…

倍增LCA

朴素算法求LCA&#xff0c;即暴力求解&#xff0c;当树近乎为一条链时&#xff0c;找祖先时一级一级向上跳&#xff0c;时间复杂度接近O(n),所以可以考虑一次跳尽可能大的距离&#xff0c;即倍增算法&#xff1b;一次跳2^i&#xff08;i0,1,2....&#xff09;级。 倍增法 一个节…

倍增算法

倍增算法 【序言】 我认为吧,所有能够优化复杂度的算法都是神奇的,所有能够化繁琐为形象的文字都是伟大的。一直觉得倍增算法是个很神奇的东西,所以决定写点东西纪念一下它。但是作为一个非常不称职的OIER,我非常讨厌在看别人的算法解析时整版的i,j,k等我看到鼠标…

浅谈倍增及应用

浅谈倍增 倍增思想 原理&#xff1a; 倍增&#xff0c;即成倍增长。在处理一系列序列数据时&#xff0c;倍增可通过指数级的增长快速覆盖所有数据。 倍增算法采用2倍增长的方式&#xff0c;其核心思想是建立以下数组T a[i][j] &#xff0c;表示自i向后共 2 j 2^j 2j个数据的…

倍增(ST表与LCA)

倍增&#xff08;ST表与LCA&#xff09; 什么是倍增&#xff1f; 倍增&#xff0c;就是成倍增长。指我们进行递推时&#xff0c;如果状态空间很大&#xff0c;通常线性递推无法满足时空复杂度要求&#xff0c;那么可以通过成倍增长的方式&#xff0c;只递推状态空间中 2 的整…

V4L2-框架

1.概述 V4L2 是专门为linux 设备设计的一套视频框架&#xff0c;其主体框架在linux内核&#xff0c;可以理解为是整个linux系统上面的视频源捕获驱动框架。 相机驱动层位于HAL Moudle 与硬件层之间&#xff0c;借助linux 内核驱动框架&#xff0c;以文件节点的方式暴露接口给用…

V4L2学习笔记

首先附上&#xff0c;Linux内核网站&#xff1a; 入口 v4l2非常棒的一篇文章 入口 内核代码查看&#xff1a; 入口 一个博客文档&#xff1a; 入口 https://lwn.net/Articles/204545/ 别人整理 关于linux内核头函数&#xff1a; /usr/src/xxx 系列文 在其内部有media文件…

V4L2框架学习

V4L2框架 0 查看videodev2 0.1 头文件/usr/include/linux/videodev2.h 0.2 使用ioctl函数 使用ioctl函数 // 添加头文件 #include <unistd.h> #include <sys/ioctl.h> #include <linux/videodev2.h>int ioctl (int __fd, unsigned long int __request, ...…

V4L2介绍

V4L2介绍 V4L2介绍主要功能框架v4L2编程 V4L2介绍 V4L2是Video for linux2的简称,为linux中关于视频设备的内核驱动。在Linux中&#xff0c;视频设备是设备文件&#xff0c;可以像访问普通文件一样对其进行读写&#xff0c;摄像头在/dev/video*下&#xff0c;如果只有一个视频…

linux V4L2子系统——v4l2架构(7)之V4L2应用编程

linux V4L2子系统——v4l2架构&#xff08;7&#xff09;之V4L2应用编程 备注&#xff1a;   1. Kernel版本&#xff1a;5.4   2. 使用工具&#xff1a;Source Insight 4.0   3. 参考博客&#xff1a; &#xff08;1&#xff09;Linux V4L2子系统-应用层访问video设备&a…

[2022.8.15]v4l2-ctl基本使用方法

v4l2-ctl使用帮助可以参考&#xff1a;https://www.mankier.com/1/v4l2-ctl 1 v4l2-ctl --list-devices 列出所有设备 USB 2.0 Camera: USB Camera (usb-0000:00:14.0-9):/dev/video0/dev/video1 一个USB camera对应两个设备&#xff1a;一个是图像/视频采集&#xff0c;一…

V4L2应用层分析

V4L2应用层分析 一、总述二、例子 一、总述 V4L2&#xff0c;即Video for Linux 2&#xff0c;是第二代为Linux打造的音频、视频驱动。相比第一代V4L&#xff0c;V4L2支持更多的设备&#xff0c;同时更加稳定。现今的视频设备&#xff0c;如USB摄像头&#xff0c;基本都支持V4…