【图像分类】从数据集和经典网络开始

深度学习模型从简单到复杂:图像分类实战(附完整代码) AlexNet是深度学习图像识别领域的里程碑式模型,我们将其结构重现如下。# model.py# 第一层卷积 11x11 stride=4# 最大池化层 3x3 stride=2# 第二层卷积 5x5# 再次最大池化# 第三层卷积 3x3# 第四层卷积# 第五层卷积与池化# 分类部分return x数据预处理与增强策略AlexNet网络架构实现分布式训练框架搭建模型评估与保存机制尝试其他模型架构如VGG、ResNet等丰富数据增强策略。 阅读详情

欢迎大家来到图像分类专栏,本篇简单介绍数据集和图像分类中的经典网络的进展。

作者 | 郭冰洋

编辑  言有三

1 简介

一场完美的交响乐演出,指挥家需要充分结合每位演奏者和乐器的特点,根据演奏曲目把控节奏,才能将曼妙的音符传送到所有听众的耳中。


如果将图像分类看作一场盛大的交响乐演出,一幅幅图像数据便是其中身怀绝技的演奏家,他们各有千秋,不分高下。而这场演出如果没有指挥的存在,恐怕再多的乐器,也无法奏出曼妙的曲目。神经网络 ,便是图像分类中统筹全局的指挥者。正是在他的巧妙连接下,每张图片都展现出自己最独特的一面,从而构成了令人赏心悦目的华美乐章。


图像数据作为分类系统的输入,对最终的结果起着至关重要的作用,而适当的网络结构,才能充分发挥数据的最大性能。


本篇文章提炼出用于图像分类的数据集及其适用方向,涵盖人物、医学、动物、工业等多个领域,同时基于业界最权威的分类评价数据集——ImageNet,分析近年来图像分类中经典网络所取得的进展。


2 数据集

俗话说:巧妇难为无米之炊。数据作为驱动深度学习的源动力之一,更是图像分类任务的根基,直白来说,任何领域的分类研究都离不开数据。

不论学界还是工业界,确定特定的研究方向后,必须搭建相关的高质量数据集才可以进行进一步的研究,同时也能以更统一的标准对模型性能进行评判。

本文根据应用场景的不同,汇总了9个相关领域的数据集,并根据数据集自身特点,注明其容量、类别和适用的分类任务,以供大家参考使用。

640?wx_fmt=png

抛开上文中列举的领域相关性,图像分类的数据集又可以分为初级版、进阶版和高级版。

640?wx_fmt=png

初级版适合初入图像处理领域的同学,这一类数据集主要以MNIST、Cifar 10为代表,可以帮助新手迅速了解神经网络的构成,同时掌握深度学习和图像处理的相关基础知识。


进阶版适合已经有一定基础的同学,需要通过更多的实操来强化对不同结构和知识的理解,并实现调参、数据处理、网络结构替换等更高一层的任务,Cifar 100、表情分类相关的数据集则是其中代表。


高级版适用于经过多个任务历练并需要根据实际需求和科研方向来选择数据集的同学,这就涉及到多标签分类、细粒度分类和少样本分类等更复杂的任务,此时需要选择MS COCO、ImageNet等更高层级的数据集,同时还有可能同时利用这些数据集,从中选取合适的图像并结合爬虫或实际拍摄以搭建满足任务需求的数据集。


3 经典网络结构

ImageNet作为图像分类领域最权威的数据集,由Stanford的李飞飞团队在2009年CVPR会议上公布,随后的几年里均会开展基于ImageNet的图像分类竞赛。ImageNet竞赛的评价标准分为Top-1、Top-5两种,这也是图像分类的通用指标。其中Top-1是指对一张图片进行预测,只有预测概率最大的是正确答案时,才认为该图片预测正确,同理Top-5是指对一张图像进行预测,预测概率前五名中,只要有一个符合标注,即认为该图片预测正确。

ImageNet竞赛一经开展便成为世界各大高校、科研机构、科技公司的角斗场,每年均有诸多团队提出令人耳目一新的网络结构和相关算法。ImageNet竞赛也见证了图像分类由传统算法走向深度学习的过程,更见证了其所取得的巨大进步。

640?wx_fmt=png

本文剩余篇幅将介绍几个经典的网络结构,回顾近年来图像分类领域取得的研究进展。


1、AlexNet

640?wx_fmt=jpeg

2012年,Imagenet比赛冠军— Alexnet直接刷新了ImageNet的识别率,奠定了深度学习在图像处理领域的优势地位。AlexNet作为真正意义上的深度网络,提出卷积+池化堆叠的网络结构,是深度学习领域内第一个有重大工程意义的网络设计。


其特点如下[1]:


(1) 使用层叠的卷积层,即卷积层+卷积层+池化层来提取图像的特征

(2) 使用了LRN归一化层,对局部神经元的活动创建竞争机制,抑制反馈较小的神经元放大反应大的神经元,增强了模型的泛化能力

(3) 使用Dropout抑制过拟合

(4) 使用数据增强抑制过拟合

(5) 使用Relu替换之前的sigmoid的作为激活函数,其收敛更快,同时解决了Sigmoid在网络较深时出现的梯度弥散问题

2、VGGNet

640?wx_fmt=jpeg

2014年ImageNet竞赛上,VGGNet在AlexNet的基础架构上增加网络层数和深度,进一步提升了模型的准确率,探索了网络深度与性能之间的关系,证明了增加网络的深度能够在一定程度上影响最终的性能,这也引发了人们对网络深度和宽度的大范围研究[2,3]。

3、GoogleNet

640?wx_fmt=jpeg

GoogleNet作为与VGGNet同年诞生的网络,力压VGGNet获得当年的冠军,并提出了著名的Inception模块,将分支的思想成功引进深度学习网络结构。


Inception模块共有 4个分支,每个分支承担不同的功能:分支1对输入进行1x1卷积可以跨通道组织信息,提高网络的表达能力; 分支2使用了1×1卷积和3×3卷积的组合,进行两次特征变换; 分支3采用1×1卷积和5×5卷积的组合,同样进行两次特征变换; 分支4则在3×3最大池化后直接使用1×1卷积。


通过多个卷积核提取图像不同尺度的信息,最后进行融合,可以得到图像更好的表征[4]。


4、ResNet

640?wx_fmt=jpeg

随着网络深度的增加,带来了许多问题,如梯度消散、梯度爆炸等,人们通过更好的优化方法,更好的初始化策略,BN层,Relu等各种激活函数在不断改善这些问题,但并没有真正有效的解决[5]。


ResnNet提出残差结构,增加一个恒等映射,将输出表述为输入和输入的一个非线性变换的线性叠加,通过跨层连接的方式缓解深层网络结构中的梯度消失问题,使得网络模型深度在很大范围内不受限制 ,对后续卷积神经网络的发展产生了深远的意义。


5、SENet

640?wx_fmt=jpeg

随着网络结构的不断完善和发展,人们已经从深度和宽度等多个空间维度提出改进方案,SENet则创新性地从特征通道之间的关系进行改进,通过额外的分支来得到每个通道的权重,自适应地校正原各通道激活值响应,以提升有用通道响应并抑制对当前任务用处不大的通道响应,不仅在一定程度上减少了计算量,防止了模型训练的过拟合,同时更有利于对图像特征的描述。


4 总结

随着深度学习的迅速发展,图像分类领域也搭上了这班飞速前行的列车,并大大提高了行业标准。

640?wx_fmt=png

经典网络在ImageNet数据集上取得了非常优异的成绩,5个经典网络的准确率和参数量如上图所示,不难看出在Top-5评价指标下,已由AlexNet取得的85%的精度被SENet提升至97.75%,且在网络参数上也没有显著的爆炸现象。


如此优异的成绩不禁让许多人认为图像分类已经达到了算法的极限,却并不知道在Top-1评价指标下,仍然有巨大的提升空间。

640?wx_fmt=png

通过上图不难发现,在更加严格也更加符合人类认知的Top-1指标下,经典网络所取得的成绩并不尽如人意,目前最高的准确率约在85%左右,仍然存在巨大的提升空间。因此,我们要怀着一颗敬畏之心,不断地向最优的目标前行,才能实现更广泛的应用。

参考文献:

[1] 【模型解读】从LeNet到VGG,看卷积+池化串联的网络结构

[2] 【AI不惑境】网络深度对深度学习模型性能有什么影响?

[3] 【AI不惑境】网络的宽度如何影响深度学习模型的性能?

[4] 【模型解读】GoogLeNet中的inception结构,你看懂了吗

[5] 【AI不惑境】残差网络的前世今生与原理

有三AI夏季划

640?wx_fmt=png

有三AI夏季划进行中,欢迎了解并加入,系统性成长为中级CV算法工程师。

转载文章请后台联系

侵权必究

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

往期精选

pytorch-cifar100学习资料汇总 - 基于PyTorch的CIFAR-100图像分类实践 pytorch-cifar100是一个基于PyTorch实现CIFAR-100数据集图像分类的开源项目。该项目实现了多种经典的深度学习网络模型,如ResNet、DenseNet、VGG等,为开发者提供了在CIFAR-100数据集上进行图像分类实验的代码范例。pytorch-cifar100项目为我们提供了在CIFAR-100数据集上进行图像分类实验的完整代码实现。无论你是想要学习PyTorch的使用,还是研究不同网络模型在CIFAR-100上的表现,这个项目都是一个很好的起点。 阅读详情

相关推荐

利用图层自动识别算法实现CAD到Revit BIM模型的高效转换 - VS2022与AutoCAD2024开发环境配置指南

本文详细介绍了如何配置VS2022与AutoCAD2024开发环境,并利用图层自动识别算法实现CAD图纸到Revit BIM模型的高效自动化转换。通过解析CAD图层的规律性,该算法能智能识别并分类墙、门、窗等构件,提取几何信息并驱动Revit自动创建三维模型,从而将传统繁琐的人工“翻模”工作转化为高效、准确的自动化流程,大幅提升BIM模型创建效率。

Apple的专栏 1129

深度学习入门基础:图像分类网络整理(最全)

目录图像分类Lenet1.简介2.网络结构Alexnet1.简介2.网络结构VGG1.简介2.网络结构3.VGG改进点总结GoogLeNet1.网络简介2.inception的结构3. 1x1卷积核的主要作用4. 几点说明Resnet1.简介2.网络结构DenseNet1.简介2.网络结构EfficientNetEfficientNetV2sufflentV2sufflenet时间轴代码实现训练结果对比图像分类实质上就是从给定的类别集合中为图像分配对应标签的任务。也就是说我们的任务是分析一个输入图像并返回一

weixin_43507744的博客 1万+

solidworks实体显示线框

solidworks实体莫名其妙显示为有点虚的线框

qq_35858902的博客 1万+

ConvMixer:7行PyTorch代码实现的网络,就能在ImageNet上达到80%+的精度!

关注公众号,发现CV技术之美本文分享论文『Patches Are All You Need?』,提出《ConvMixer》,只需 7 行 pytorch 代码实现的网络,就能在 Image...

我爱计算机视觉 1673

告别手动输入!用Access批量导入307种土壤数据到SWAT模型(附完整MDB操作流程)

本文详细介绍了如何利用Microsoft Access批量导入307种土壤数据到SWAT模型,显著提升数据录入效率。通过解析usersoil表结构、提供Access操作指南和VBA自动化脚本,帮助环境工程师避免手动输入错误,实现高效数据管理。文章还包含性能优化技巧和常见错误解决方案,是SWAT模型用户的实用指南。

weixin_28366053的博客 326

保姆级教程:在DolphinScheduler 3.x中配置Apache SeaTunnel任务(Flink/Spark双引擎)

本文提供了一份详细的教程,指导如何在DolphinScheduler 3.x中配置Apache SeaTunnel任务,支持Flink和Spark双引擎。从环境准备、脚本选择到配置文件编写和任务调度优化,涵盖了所有关键步骤和常见问题解决方案,帮助用户高效集成SeaTunnel到海豚调度系统中。

weixin_42524945的博客 194

EfficientNet详解:当前最强网络

简介 EfficientNet源自Google Brain的论文EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks. 从标题也可以看出,这篇论文最主要的创新点是Model Scaling. 论文提出了compound scaling,混合缩放,把网络缩放的三种方式:深度、宽度、分辨率,组合起来按照一定规...

AI人工智能与大数据 6300

Python调用CANoe(1)(启动与停止,变量和信号读写)

CANoe因为其封闭性(Vector独有),开发的时候,有很多局限性;Python 因为其开源,容易上手,功能强大,那么Python 和 CANoe结合会产生怎样的火花呢?

蚂蚁小兵 4万+

ImageNet在各模型上的准确率

数据:ImageNet,以下准确率有些为取整约等后的值。 AlexNet Top1= 63%,Top5=85% VGG16 Top1=74%, Top5=92.7% GoogleNet Top5=93% ResNet Top1=82%,Top5=96.5%

Kerrwy的博客 1万+

26届数字IC秋招笔试面试全攻略 - CPU基础架构-数字IC设计专家

本文介绍了CPU基础架构的三大关键技术:流水线、冒险处理和指令集设计。首先解析了经典五级流水线结构(取指、译码、执行、访存、写回)及其性能指标。其次详细阐述了三种流水线冒险(数据、控制、结构)及解决方案,如数据前递、分支预测等。最后对比了RISC与CISC指令集特点,并以RISC-V为例说明指令格式设计原则。全文系统梳理了CPU核心架构知识,为数字IC设计提供重要参考。

2301_79143213的博客 932

基于 YOLOv26 的车辆违规停车检测系统:实时监控

本文提出了一种基于YOLOv26的车辆违规停车实时检测系统。系统采用多模块架构,包括视频预处理、YOLOv26目标检测、DeepSORT目标跟踪、停车区域定义、行为分析和违规判定等功能模块。关键技术包括使用YOLOv26s模型进行车辆检测,结合DeepSORT算法实现车辆跟踪,支持多种停车区域定义方式(多边形、矩形、限时区域等)。系统通过边缘计算平台部署,实现了对道路边、禁止停车区等场景的实时监控,能够准确识别长时间停车、禁止区域停车等违规行为,并触发告警机制。实验结果表明,该系统在车辆检测准确率和违规判定

一键难忘的博客 777

imagenet 测试精度合集

imagenet 测试精度记录

jacke121的专栏 3406

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

ImageNet调查报告

本篇内容是在网络中收集汇总 1. ILSVRC介绍: ImageNet大规模视觉识别挑战赛即“ILSVRC”(ImageNet Large Scale Visual Recognition Challenge),它是基于ImageNet图像数据库的国际计算机视觉识别竞赛。ILSVRC从2010年开始举办,并逐渐发展为国际计算机视觉领域受关注度最大、水平最高、竞争最激烈的竞赛。2017年是这场竞...

u014191607的博客 6153

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

「图像分类」从数据集和经典网络开始

https://www.toutiao.com/i6715367170378826248/ 欢迎大家来到图像分类专栏,本篇简单介绍数据集和图像分类中的经典网络的进展。 作者 | 郭冰洋 编辑 言有三 1 简介 一场完美的交响乐演出,指挥家需要充分结合每位演奏者和乐器的特点,根据演奏曲目把控节奏,才能将曼妙的音符传送到所有听众的耳中。 如果将图像分类看作一场盛大的交响乐演出,...

喜欢打酱油的老鸟 790

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

【图像分类】 基于Pytorch的细粒度图像分类实战

欢迎大家来到《图像分类》专栏,今天讲述基于pytorch的细粒度图像分类实战!作者&编辑 | 郭冰洋 1 简介针对传统的多类别图像分类任务,经典的CNN网络已经...

hacker_long的专栏 3642

图像分类方法总结

1. 图像分类问题描述 图像分类问题是计算机视觉领域的基础问题,它的目的是根据图像的语义信息将不同类别图像区分开来,实现最小的分类误差。具体任务要求是从给定的分类集合中给图像分配一个标签的任务。总体来说,对于单标签的图像分类问题,它可以分为跨物种语义级别的图像分类,子类细粒度图像分类,以及实例级图像分类三大类别。因为VOC数据集是不同物种类别的数据集,所以本文主要研究讨论跨物种语义级别的图像分类任务。 通常图像分类任务存在以下技术难点: (1)视角变化:同一个物体,摄像机可以从多个角度来展现。 (2)大小变

学习日常分享 2万+

【计算机视觉基础CV-图像分类】02-入门详解图像分类、经典数据集、比赛与冠军图像模型演进史

图像分类是计算机视觉中最基础、最常见的任务之一。给定一张输入图像,任务是从预定义的类别集合中选择与该图像最匹配的一个或多个类别标签。举例:假设类别集为,当我们给模型一张熊猫的图片,模型需要通过特征提取与分析,最终给出各类别的概率(如dog:1%,cat:4%,panda:95%),并根据最高概率选择“panda”作为标签,即完成了图像分类任务。与目标检测、图像分割等其他计算机视觉任务相比,图像分类的要求更“粗”一些,它不关心物体在图中的位置和像素级轮廓,只需判断图中出现了什么。

weixin_41645791的博客 2616

[深度学习]-从零开始手把手教你利用pytorch训练VGG16网络实现自定义数据集上的图像分类(含代码及详细注释)

前言 本文主要分为两部分: 第一部分大致的介绍了VGG原理 第二部分详细的介绍了如何用pytorch实现VGG模型训练自己的数据集实现图像分类 想只看代码部分的同学,可以直接看第二部分 内容一:VGG原理简介 1.VGG主要工作 2014年的论文,主要工作是证明了增加网络的深度能够在一定程度上影响网络最终的性能。VGG有两种结构,VGG16和VGG19,两者并没有本质上的区别,只是网络深度不一样。 论文地址:VGG论文 2.VGG主要改进 前一代的经典网络为AlexNet,VGG相对于AlexNet最

ai_faker的博客 1万+

pytorch resnet50_【图像分类】 基于Pytorch的细粒度图像分类实战

基于pytorch的细粒度图像分类实战来啦!作者&编辑 | 郭冰洋1 简介针对传统的多类别图像分类任务,经典的CNN网络已经取得了非常优异的成绩,但在处理细粒度图像数据时,往往无法发挥自身的最大威力。这是因为细粒度图像间存在更加相似的外观和特征,同时在采集中存在姿态、视角、光照、遮挡、背景干扰等影响,导致数据呈现类间差异性大、类内差异性小的现象,从而使分类更加具有难度。为了改善经典CNN网...

weixin_39907922的博客 2595

了解图像分类与imageNet数据集

ImageNet数据集是ILSVRC竞赛使用的是数据集,由斯坦福大学李飞飞教授主导,包含了超过1400万张全尺寸的有标记图片,大约有22000个类别的数据。分类模型给图像分配多个标签,每个标签的概率值不同,如dog:95%,cat:4%,panda:1%,根据概率值的大小将该图片分类为dog,那就完成了图像分类的任务。上述图像分类模型都比较经典,特别是VGG16、GoogLeNet和ResNet,现在仍然在广泛使用,在接下来的课程中我们对这些网络进行逐一介绍。

黑马程序员官方博客 7653

图像分类经典项目:基于开源数据集Fashion-MNIST的应用实践

Datawhale作者:何新,Datawhale优秀学习者简介:何新,武汉理工大学硕士https://github.com/whut2962575697...

Datawhale 2949

【图像分类】经典网络架构 AlexNet

因本人刚开始写博客,学识经验有限,如有不正之处望读者指正,不胜感激;也望借此平台留下学习笔记以温故而知新。这一篇文章介绍的是图像分类中的经典的卷积神经网络架构—AlexNet的学习笔记。 1 AlexNet 网络架构 2 AlexNet 各层网络结构 Alexnet 总共包括 8 层,其中前 5 层 convolutional,后面 3 层是 full-connected...

曦瓜 449

使用Python和TensorFlow实现图像分类的人工智能应用

本文介绍了如何使用Python和TensorFlow实现图像分类任务。首先概述了图像分类任务及其在计算机视觉中的重要性,强调了卷积神经网络(CNN)在解决这类问题中的有效性。接着,文章详细说明了环境准备步骤,包括安装必要的Python库。随后,通过MNIST数据集展示了数据加载和预处理的方法。文章还详细描述了构建和编译CNN模型的过程,并演示了如何训练和评估模型。最后,文章展示了模型预测结果,并总结了深度学习在图像分类中的应用潜力,鼓励读者进一步探索和优化模型。

qq_74383080的博客 3650

基于经典网络架构训练图像分类模型(102类花的数据集)

基于经典网络架构训练图像分类模型(102类花的数据集) 基于经典网络架构训练图像分类模型(102类花的数据集) 模块的官方网址:https://pytorch.org/docs/stable/torchvision/index.html 站在巨人的肩膀上学习,调用人家写好的厉害的东西 点进去torchvision.models模块后可以看到各种经典网络,再点进去可以看到例子教你怎么调用: 1.导入需要用到的库 import os import matplotlib.pyplot as plt %m

左手coding,右手cooking 2952

细粒度图像分类_【图像分类】 基于Pytorch的细粒度图像分类实战

欢迎大家来到《图像分类》专栏,今天讲述基于pytorch的细粒度图像分类实战!作者&编辑 | 郭冰洋 1 简介针对传统的多类别图像分类任务,经典的CNN网络已经取得了非常优异的成绩,但在处理细粒度图像数据时,往往无法发挥自身的最大威力。这是因为细粒度图像间存在更加相似的外观和特征,同时在采集中存在姿态、视角、光照、遮挡、背景干扰等影响,导致数据呈现类间差异性大、类内差异性小的现...

weixin_39887961的博客 817
上一篇: 【图像分类】 基于Pytorch的多类别图像分类实战
下一篇: 【知乎直播】千奇百怪的CNN网络架构等你来
言有三
言有三 领域专家: 人工智能技术领域 领域专家: 人工智能技术领域
博客等级 码龄15年 3635粉丝 976原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

言有三

三人行必有AI

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值