0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

经典图像分类算法AlexNet介绍

新机器视觉 来源:智能计算系统 作者:智能计算系统 2022-04-06 14:50 次阅读

本期开小灶Heyro将带领大家进入下一趟旅程——基于卷积神经网络的图像分类算法讲解,从而帮助大家了解在卷积神经网络结构下衍生出的被用于图像分类的经典算法。

在了解图像分类算法以前,我们先来了解“何为图像分类”。

图像分类的核心是从给定的分类集合中给图像分配一个标签的任务。简言之,我们需要对一个输入图像进行分析后返回一个对应的分类标签,标签来自预先定义的可能类别集。图像分类的任务即为正确给出输入图像的类别或输出不同类别的概率。例如,我们先假设一个含有可能类别的类别集:

Categories = {cat, dog, fox}

然后,我们向分类系统提供一张狐狸犬的图片。

经过分类系统的处理,最终输出可以是单一标签dog,也可以是基于概率的多个标签,例如cat:1%, dog:94%,fox:5% 。

计算机并不能像人类一样快速通过视觉系统识别出图像信息的语义。对于计算机而言,RGB图像是由一个个像素数值构成的高维矩阵(张量)。计算机识别图像的任务即寻找一个函数关系,该函数可将高维矩阵信息映射到一个具体的类别标签中。利用计算机实现图像分类目的过程随即衍生出图像分类算法。

图像分类算法的起源——神经认知机

传统的图像识别模型一般包括:底层特征学习>特征编码>空间约束>分类器设计>模型融合等几个流程。

2012年Alex Krizhevsky提出的CNN(卷积神经网络)模型在ImageNet大规模视觉识别比赛(ILSVRC)中脱颖而出,其效果大大超越了传统的图像识别方法,该模型被称为AlexNet。

基于卷积神经网络的图像分类算法起源最早可追溯到日本学者福岛邦彦提出的neocognition(神经认知机)神经网络模型。

福岛邦彦于1978年至1984年研制了用于手写字母识别的多层自组织神经网络——认知机。福岛邦彦在认知机中引入了最大值检出等概念。简言之,当网格中某种神经元损坏时,该神经元立即可由其他神经元来代替。由此一来,认知机就具有较好的容错能力。

但是,认知机的网络较为复杂,它对输入的大小变换及平移、旋转等变化并不敏感。虽然它能够识别复杂的文字,但却需要大量的处理单元和连接,这使得其硬件实现较为困难。

而福岛邦彦在1980年提出的“神经认知机”神经网络模型却能够很好地应对以上问题。

该模型借鉴了生物的视觉神经系统。它对模式信号的识别优于认知机。无论输入信号发生变换、失真,抑或被改变大小等,神经认知机都能对输入信号进行处理。但是,该模型被提出后一直未受到较大关注,直至AlexNet在ILSVRC中大获全胜,卷积神经网络的潜力才为业界所认知。

深度学习算法

自AlexNet之后,深度学习的发展极为迅速,网络深度也在不断地快速增长,随后出现了VGG(19层)、GoogleNet(22层)、ResNet(152层),以及SENet(252层)等深度学习算法。

随着模型深度和结构设计的发展,ImageNet分类的Top-5错误率也越来越低。在ImageNet上1000种物体的分类中,ResNet的Top-5错误率仅为3.57%。在同样的数据集上,人眼的识别错误率约为5.1%,换言之,目前深度学习模型的识别能力已经超过了人眼。

在卷积神经网络的历史上,比较有里程碑意义的算法包括AlexNet、VGG、Inception (GoogleNet是Inception系列中的一员),以及ResNet。

在本期开小灶中,我们将首先为大家介绍经典图像分类算法AlexNet。

AlexNet 网络结构

作为G. Hinton代表作的AlexNet是深度学习领域最重要的成果之一。下面让我们一起从左到右依次认识这个结构。

在AlexNet网络结构(如下图所示)中,输入为一个224×224大小的RGB图像。

经典图像分类算法AlexNet介绍

AlexNet网络结构

第一层卷积,用48个11×11×3的卷积核计算出48个55×55大小的特征图,用另外48个11×11×3的卷积核计算出另外48个55×55大小的特征图,这两个分支的卷积步长都是4,通过卷积把图像的大小从224´224减小为55×55。第一层卷积之后,进行局部响应归一化 (LRN) 以及步长为2、池化窗口为3×3的最大池化,池化输出的特征图大小为27×27。

第二层卷积,用两组各128个5×5×48的卷积核对两组输入的特征图分别进行卷积处理,输出两组各128个27×27的特征图。第二层卷积之后,做局部响应归一化和步长为2、池化窗口为3×3的最大池化,池化输出的特征图大小为13×13。

第三层卷积,将两组特征图合为一组。采用192个3×3×256的卷积核对所有输入特征图做卷积运算,再用另外192个3×3×256的卷积核对所有输入特征图做卷积运算,输出两组各192个13×13的特征图。

第四层卷积,对两组输入特征图分别用192个3×3×192的卷积核做卷积运算。

第五层卷积,对两组输入特征图分别用128个3×3×192的卷积核做卷积运算。第五层卷积之后,做步长为2、池化窗口为3×3的最大池化,池化输出的特征图大小为6×6。

第六层和第七层的全连接层都有两组神经元(每组2048个神经元)。

第八层的全连接层输出1000种特征并送到softmax中,softmax输出分类的概率。

AlexNet 技术创新点

相较于传统人工神经网络而言,AlexNet的技术创新体现在四个方面。

其一为Dropout(随机失活)。Dropout于2012年由G. Hinton等人提出。该方法通过随机舍弃部分隐层节点来缓解过拟合。目前,Dropout已经成为深度学习训练常用的技巧之一。

使用Dropout进行模型训练的过程为:a. 以一定概率随机舍弃部分隐层神经元,即将这些神经元的输出设置为0;b.一小批训练样本经过正向传播后,在反向传播更新权重时不更新其中与被舍弃神经元相连的权重;c. 恢复被删除神经元,并输入另一小批训练样本;d. 重复步骤a ~ c ,直到处理完所有训练样本。

其二为LRN(局部响应归一化)。LRN对同一层的多个输入特征图在每个位置上做局部归一化,从而提升高响应特征并抑制低响应特征。LRN的输入是卷积层输出特征图经过ReLU激活函数后的输出。但近年来业界发现LRN层作用有限,因此目前使用LRN的研究并不多。

其三是Max Pooling(最大池化)。最大池化可以避免特征被平均池化模糊,从而提高特征的鲁棒性。在AlexNet之前,很多研究用平均池化;从AlexNet开始,业界公认最大池化的效果比较好。

其四是ReLU激活函数。在AlexNet之前,常用的激活函数是sigmoid和tanh。而ReLU函数很简单,我们在之前的开小灶中为大家讲解过ReLU激活函数的特征,即输入小于0时输出0,输入大于0时输出等于输入。看似非常简单的ReLU函数却在训练时带来了非常好的效果,这是业界在AlexNet之前未曾料想到的。AlexNet在卷积层和全连接层的输出均使用ReLU激活函数,从而有效提高训练时的收敛速度。

AlexNet通过把看似平凡的技术组合起来取得了惊人的显著效果。

正是由于AlexNet采用了深层神经网络的训练思路,并辅以ReLU函数、Dropout及数据扩充等操作,使得图像识别真正走向了与深度学习结合发展的方向。

原文标题:基于卷积神经网络的图像分类算法讲解

文章出处:【微信公众号:机器视觉智能检测】欢迎添加关注!文章转载请注明出处。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4762

    浏览量

    100534
  • 算法
    +关注

    关注

    23

    文章

    4599

    浏览量

    92629

原文标题:基于卷积神经网络的图像分类算法讲解

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    使用卷积神经网络进行图像分类的步骤

    使用卷积神经网络(CNN)进行图像分类是一个涉及多个步骤的过程。 1. 问题定义 确定目标 :明确你想要分类图像类型,例如猫和狗、不同的植物种类等。 数据需求 :确定需要多少数据以及
    的头像 发表于 11-15 15:01 197次阅读

    主动学习在图像分类技术中的应用:当前状态与未来展望

    本文对近年来提出的主动学习图像分类算法进行了详细综述,并根据所用样本数据处理及模型优化方案,将现有算法分为三类:基于数据增强的算法,包括利用
    的头像 发表于 11-14 10:12 131次阅读
    主动学习在<b class='flag-5'>图像</b><b class='flag-5'>分类</b>技术中的应用:当前状态与未来展望

    图像识别算法有哪几种

    图像识别算法是计算机视觉领域的核心技术之一,它通过分析和处理图像数据,实现对图像中的目标、场景和物体的识别和分类
    的头像 发表于 07-16 11:22 941次阅读

    图像识别算法都有哪些方法

    图像识别算法是计算机视觉领域的核心任务之一,它涉及到从图像中提取特征并进行分类、识别和分析的过程。随着深度学习技术的不断发展,图像识别
    的头像 发表于 07-16 11:14 5099次阅读

    图像识别算法的提升有哪些

    引言 图像识别是计算机视觉领域的核心任务之一,旨在使计算机能够自动地识别和理解图像中的内容。随着计算机硬件的发展和深度学习技术的突破,图像识别算法的性能得到了显著提升。本文将
    的头像 发表于 07-16 11:12 591次阅读

    图像识别算法的优缺点有哪些

    图像识别算法是一种利用计算机视觉技术对图像进行分析和理解的方法,它在许多领域都有广泛的应用,如自动驾驶、医疗诊断、安全监控等。然而,图像识别算法
    的头像 发表于 07-16 11:09 1332次阅读

    图像识别算法的核心技术是什么

    图像识别算法是计算机视觉领域的一个重要研究方向,其目标是使计算机能够像人类一样理解和识别图像中的内容。图像识别算法的核心技术包括以下几个方面
    的头像 发表于 07-16 11:02 569次阅读

    经典卷积网络模型介绍

    经典卷积网络模型在深度学习领域,尤其是在计算机视觉任务中,扮演着举足轻重的角色。这些模型通过不断演进和创新,推动了图像处理、目标检测、图像生成、语义分割等多个领域的发展。以下将详细探讨几个经典
    的头像 发表于 07-11 11:45 460次阅读

    计算机视觉怎么给图像分类

    图像分类是计算机视觉领域中的一项核心任务,其目标是将输入的图像自动分配到预定义的类别集合中。这一过程涉及图像的特征提取、特征表示以及分类器的
    的头像 发表于 07-08 17:06 502次阅读

    一种利用光电容积描记(PPG)信号和深度学习模型对高血压分类的新方法

    学习方法来对高血压的四个阶段进行分类。这里采用的分类方法是:Alexnet、Resnet -50、VGG-16和新的模型:AvgPool_VGG-16。使用这些算法时要考虑到数据集的数
    发表于 05-11 20:01

    OpenAI发布图像检测分类器,可区分AI生成图像与实拍照片

    据OpenAI介绍,初步测试结果表明,该分类器在辨别非AI生成图像与DALL·E 3生成图像时,成功率高达近98%,仅有不到0.5%的非AI图像
    的头像 发表于 05-09 09:57 418次阅读

    基于FPGA的常见的图像算法模块总结

    意在给大家补充一下基于FPGA的图像算法基础,于是讲解了一下常见的图像算法模块,经过个人的总结,将知识点分布如下所示。
    的头像 发表于 04-28 11:45 542次阅读
    基于FPGA的常见的<b class='flag-5'>图像</b><b class='flag-5'>算法</b>模块总结

    FPGA图像处理之CLAHE算法

    在FPGA图像处理--CLAHE算法(一)中介绍了为啥要用CLAHE算法来做图像增强。
    的头像 发表于 01-04 12:23 2397次阅读
    FPGA<b class='flag-5'>图像</b>处理之CLAHE<b class='flag-5'>算法</b>

    FPGA图像处理-CLAHE算法介绍(一)

    介绍CLAHE算法之前必须要先提一下直方图均衡化,直方图均衡化算法是一种常见的图像增强算法,可以让像素的亮度分配的更加均匀从而获得一个比较
    的头像 发表于 01-02 13:32 1677次阅读
    FPGA<b class='flag-5'>图像</b>处理-CLAHE<b class='flag-5'>算法</b><b class='flag-5'>介绍</b>(一)

    CNN图像分类策略

    在深度学习出现之前,自然图像中的对象识别过程相当粗暴简单:定义一组关键视觉特征(“单词”),识别每个视觉特征在图像中的存在频率(“包”),然后根据这些数字对图像进行分类。这些模型被称为
    发表于 12-25 11:36 276次阅读
    CNN<b class='flag-5'>图像</b><b class='flag-5'>分类</b>策略