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

    文章

    4842

    浏览量

    108152
  • 算法
    +关注

    关注

    23

    文章

    4803

    浏览量

    98521

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    图像采集卡分类、接口与性能指标详解

    图像采集卡是机器视觉、工业检测、安防监控、医疗影像等领域的核心硬件,核心作用是将相机等图像源输出的模拟/数字信号转化为计算机可识别、处理的数字图像数据,同时完成信号同步、缓存、传输等关键操作,其
    的头像 发表于 01-29 16:55 692次阅读
    <b class='flag-5'>图像</b>采集卡<b class='flag-5'>分类</b>、接口与性能指标详解

    PID控制的算法

    当中,PID控制算法又是最简单,最能体现反馈思想的控制算法,可谓经典中的经典经典的未必是复杂的,经典
    发表于 01-23 08:18

    EspeedGrab图像采集软件介绍(Cameralink转USB采集)

    /14/16; 黑白、彩色、Bayer;可见、红外、紫外;线阵、面阵; 2 图像存储录制 逐帧、跳帧、定时等多模式存储; BMP、JPEG、RAW、AVI等,视频或者图片皆可以。 3 特殊格式支持
    发表于 12-23 17:26

    基于级联分类器的人脸检测基本原理

    本次分享的内容是基于级联分类器的人脸检测基本原理 1) 人脸检测概述 关于人脸检测算法,目前主流方法分为两类,一类是基于知识,主要方法包括模板匹配,人脸特征,形状和边缘,纹理特征,颜色特征
    发表于 10-30 06:14

    AES加解密算法逻辑实现及其在蜂鸟E203SoC上的应用介绍

    这次分享我们会简要介绍AES加解密算法的逻辑实现,以及如何将AES算法做成硬件协处理器集成在蜂鸟E203 SoC上。 AES算法介绍 AE
    发表于 10-29 07:29

    使用Otsu阈值算法将灰度图像二值化

    Otsu 算法是由日本学者OTSU于1979年提出的一种对图像进行二值化的高效算法,又称“最大类间方差法”。当我们对一个图象进行二值化操作的时候,需要根据一项灰度阈值来判决每个像素点应该被视作纯黑
    发表于 10-28 06:49

    RISC-V 算法原理及串口通信

    具体方法 算法原理: 由于场景中的目标在运动,目标的影像在不同图像帧中的位置不同。该类算法对时间上连续的两帧或三帧图像进行差分运算,不同帧对应的像素点相减,判断灰度差的绝对值,当绝
    发表于 10-28 06:16

    国密系列算法简介及SM4算法原理介绍

    一、 国密系列算法简介 国家商用密码算法(简称国密/商密算法),是由我国国家密码管理局制定并公布的密码算法标准。其分类1所示: 图1
    发表于 10-24 08:25

    加密算法的应用

    加密是一种保护信息安全的重要手段,近年来随着信息技术的发展,加密技术的应用越来越广泛。本文将介绍加密算法的发展、含义、分类及应用场景。 1. 加密算法的发展 加密
    发表于 10-24 08:03

    基于FPGA的CLAHE图像增强算法设计

    CLAHE图像增强算法又称为对比度有限的自适应直方图均衡算法,其算法原理是通过有限的调整图像局部对比度来增强有效信号和抑制噪声信号。
    的头像 发表于 10-15 10:14 794次阅读
    基于FPGA的CLAHE<b class='flag-5'>图像</b>增强<b class='flag-5'>算法</b>设计

    迅为iTOP-RK3568人工智能开发板mobilenet图像分类模型推理测试

    想快速验证MobileNet图像分类模型的实际运行效果?迅为iTOP-RK3568人工智能开发板,让模型推理测试高效又省心。
    的头像 发表于 08-28 15:53 1551次阅读
    迅为iTOP-RK3568人工智能开发板mobilenet<b class='flag-5'>图像</b><b class='flag-5'>分类</b>模型推理测试

    产品分类管理API接口

    ​ 产品分类管理是现代电商、库存系统和内容管理平台的核心功能,它通过API接口实现高效的分类创建、查询、更新和删除操作。本文将逐步介绍产品分类管理API的设计原理、关键功能和实现方法,
    的头像 发表于 07-25 14:20 581次阅读
    产品<b class='flag-5'>分类</b>管理API接口

    基于FPGA的SSD目标检测算法设计

    。有名的LeNet-5手写数字识别网络,精度达到99%,AlexNet模型和VGG-16模型的提出突破了传统图像识别算法,GooLeNet和ResNet推动了卷积神经网络的应用。
    的头像 发表于 07-10 11:12 2747次阅读
    基于FPGA的SSD目标检测<b class='flag-5'>算法</b>设计

    【「# ROS 2智能机器人开发实践」阅读体验】视觉实现的基础算法的应用

    相机标定是视觉系统的基石,直接影响后续图像处理的精度。书中详细介绍了单目和双目相机的标定流程,包括标定板的使用、参数优化以及标定文件的应用。 实际应用中,标定误差可能导致机器人定位偏差,因此标定过程
    发表于 05-03 19:41

    在友晶LabCloud平台上使用PipeCNN实现ImageNet图像分类

    利用深度卷积神经网络(CNN)进行图像分类是通过使用多个卷积层来从输入数据中提取特征,最后通过分类层做决策来识别出目标物体。
    的头像 发表于 04-23 09:42 1216次阅读
    在友晶LabCloud平台上使用PipeCNN实现ImageNet<b class='flag-5'>图像</b><b class='flag-5'>分类</b>