基于深度学习的动物图像分类系统设计与实现

基于深度学习的动物图像分类系统设计与实现

**技术说明:**本文围绕动物图像分类系统进行深度学习应用复盘,重点整理图像数据处理、分类模型选型、ConvNeXt结构思路、训练与评估、系统交互和部署验证等技术要点。内容用于计算机视觉、深度学习图像分类和AI应用系统设计方法交流,不涉及商业推广或服务宣传。

摘要

随着深度学习技术快速地向前发展,图像分类于计算机视觉领域收获了一定的进展,动物图像分类身为图像分类里一个关键的分支,在生物多样性保护、野生动物监测以及宠物识别等诸多领域有着广泛的应用价值,传统的图像分类办法依靠手工去提取特征,面对复杂的动物图像数据时会感到棘手。借助深度学习的动物图像分类系统可自动提取图像特征,让分类的准确性与鲁棒性得到了一定程度的提高,此系统的设计是为了达成对动物图像的自动分类,借助构建一个基于深度学习的分类模型,系统可精准识别输入图像里的动物类别,给野生动物保护、宠物管理以及教育科普等应用场景给予技术支持。此次实验运用卷积神经网络当作核心模型,借助迁移学习技术,基于预训练模型进行微调,以此提升模型性能并且减少训练所需的时间。

关键词:深度学习;动物图像;卷积神经网络;迁移学习技术;自动识别

Abstract

With the rapid development of deep learning technology, image classification has made certain progress in the field of computer vision. Animal image classification, as a key branch of image classification, has a wide range of application values in many fields such as biodiversity conservation, wildlife monitoring and pet identification. Traditional image classification methods rely on manual feature extraction. Dealing with complex animal image data can be tricky. The animal image classification system based on deep learning can automatically extract image features, which improves the accuracy and robustness of classification to a certain extent. The design of this system is to achieve automatic classification of animal images. By constructing a classification model based on deep learning, the system can accurately identify animal categories in input images. To provide technical support for wildlife protection, pet management, education and other application scenarios. In this experiment, convolutional neural network was used as the core model and fine-tuned based on the pre-trained model with the help of transfer learning technology to improve the model performance and reduce the time required for training.

Keywords: Deep Learning; Animal Image; Convolutional Neural Network; Transfer Learning Technology; Automatic Recognition

绪论

研究背景

社会背景

随着全球生物多样性的不断丧失以及人类活动对自然环境造成的持续影响,动物保护和生态监测已然成为国际社会所关注的重点,据相关统计数据显示,在过去的50年时间里,全球野生动物种群数量平均出现了68%的下降情况\[\],传统的人工监测方式存在效率较低、成本较高的问题,以至于在面对大范围、高频率的生态数据采集需求时显得力不从心。正是在这样的背景状况之下,基于深度学习技术的动物图像分类系统得以产生并发展起来。

全球生物多样性目前正遭遇严重威胁,众多野生动物物种已濒临灭绝境地,动物分类系统可凭借自动识别野生动物种类的功能,协助科研人员以及环保组织对物种分布、种群数量以及栖息地变化情况展开监测,为保护策略的制定给予数据方面的支撑,比如说,借助无人机或者相机所拍摄的动物图像,该系统可迅速识别物种,有效降低人工识别所需的成本以及时间。

技术背景

近年来,深度学习技术在计算机视觉领域取得了较为较大的进步,卷积神经网络以及迁移学习的应用,为图像分类任务给予了强大的技术支撑,以下呈现的是此领域的技术背景与关键进展:

卷积神经网络是深度学习在图像分类领域应用所采用的关键算法,自2012年AlexNet在ImageNet竞赛中获得冠军之后,Convolutional Neural Networks便渐渐发展成为图像分类的主流方法,其核心思想在于借助卷积层自动提取图像的局部特征,随后依靠池化层逐步削减特征图的空间维度。近年来,CNN模型不断优化,例如:

EfficientNet:借助复合缩放这种方式,在计算资源受到限制的情形之下达成了更高的分类精准度\[\]。

ConvNeXt:把Transformer的设计理念融入到CNN之中,使得模型性能有了一定程度的提高\[\]。

迁移学习属于动物图像分类里颇为关键的技术方式,鉴于动物图像数据集往往规模不大,直接去训练深度学习模型容易出现过拟合的状况,迁移学习借助在大规模数据集(像ImageNet)上对模型展开预训练,之后于特定任务(例如动物分类)上实施微调,可提升模型的性能以及泛化能力。Vision Transformers (ViT)把Transformer架构运用到分类任务中,在多个数据集里取得了领先的性能\[\]。

深度学习技术支撑下的动物图像分类系统设计借助卷积神经网络、迁移学习、数据提高、模型优化等关键技术,随着深度学习算法以及高性能计算硬件持续进步,动物图像分类系统的性能与应用范围会提高,今后融合自监督学习、多模态融合等新兴技术,动物图像分类系统有希望在更多实际场景里发挥关键功能。

研究目的

本研究旨在构建一种运用深度学习技术的动物图像分类体系,旨在提升识别精度与效率,传统的图像分类方法依靠手工提取特征,面对复杂的动物图像数据(像背景复杂、光照有变化、物种间相似度高等情况)时应对险阻,本研究借助深度学习技术,自动提取图像的高层次特征,以此提升动物分类的准确性与鲁棒性。本研究的主要以便打造一个基于深度学习的图像分类系统,凭借提升分类准确性、优化性能以及解决小数据问题,来推动动物图像分类技术在生物多样性保护、野生动物监测、宠物管理等领域的实际运用。

研究意义

理论意义

推进深度学习模型的理论创新进程:动物图像分类任务呈现出数据多样性较高以及类别间相似性较大等特性,这些特性为深度学习模型的设计与优化给予了全新的挑战与机遇。

验证迁移学习的有效性:动物图像分类任务大多时候要依靠迁移学习技术,先在像ImageNet这样的大规模数据集上对模型展开预训练,之后在特定任务方面进行微调,这种方式提升了分类性能,也验证了迁移学习在不同领域有普适性与有效性\[\]。

现实意义

生物多样性保护方面,借助自动化的动物图像分类系统,可实现对野生动物的有效监测与识别,此举措对生物多样性保护意义重大,可帮科学家追踪物种数量及分布情况,及时察觉濒危物种。

生态研究以及环境监测方面,此系统可应用于生态系统的相关研究,借助对不同动物种类展开分析,可帮研究人员去理解生态系统的动态变化情况,提升环境保护工作的科学程度。

国内外研究现状

国内研究现状

近年来,国内于深度学习的动物图像分类领域收获了一定成果,研究主要聚焦在数据集构建、模型优化以及应用场景拓展等方面进行述评。

方帅等人(2022)在《多光谱融合的夜间动物图像分类算法研究》里着重关注夜间野生动物识别期间存在的低照度以及噪声干扰这些问题,提出了一种多分支融合网络,此网络借助融合可见光和红外光谱方面的信息,切实解决了夜间环境里图像质量欠佳以及特征提取存在险阻的状况,实验得出的结果显示,该算法于低照度情形下提升了动物图像的分类准确率,在复杂背景以及动态场景中呈现出了较强的鲁棒性。研究还凭借引入自适应特征加权机制,对多光谱数据的融合效果做了优化,为夜间野生动物监测提供了全新的技术途径\[\]。

黄志静等人(2022)所开展的《基于深度学习的野生动物识别》研究里,运用深度学习技术去处理野生动物的图像识别难题,为减少噪声干扰并提升识别精度,他们构建了一种野生动物识别模型,此模型以深度残差收缩网络作为核心,可辅助社会开展更具成效的野生动物监测及保护工作\[\]。

王晓刚等人(2024)于《深度学习在图像识别中的研究进展与展望》一文中,全面且细致地归纳了深度学习于图像识别领域所取得的最新成果,特别着重阐述了Transformer模型在复杂场景里的具体应用情况。通过引入自注意力机制,模型在iWildCam数据集上的跨域分类准确率提升12%。该研究为未来动物图像识别技术的发展提供了重要理论支持\[\]。

刘洋等人(2023)在《基于YOLOv8的动物识别系统设计与实现》中,开发了一种基于YOLOv8的实时动物识别系统,支持图像、视频和实时摄像头输入。通过优化模型架构和训练策略,系统在自建数据集上的平均精度(mAP)达到92.8%,推理速度达32FPS。该技术已应用于野生动物保护区的实时监测,显著提高了动物种群统计的效率citation:10\[\]。

杨拂晓等人(2024)在《深度学习驱动的野生动物图像识别全面审视》这篇文章里,从开源数据集和实地数据收集这两个方面入手,对深度学习的当下状况展开了探讨,他们总结了深度学习技术在野生动物图像识别领域的最新进展,特别着重关注区域卷积神经网络也就是R-CNN与YOLO算法系列的最新动向,为提高野生动物图像识别效率打下理论基础,还开拓了图像识别的新视角\[\]。

李思瑶等人(2020)在《深度学习中的犬种识别算法及其应用探索》这一研究里,面对犬类图片各类别间有相似性以及同一类别内部差异十分突出的状况,将重点放在目标检测与特征整合策略上,来提高多种犬种识别的精准度,同时开始构建便于操作的应用功能\[\]。

数据集构建:在国内,研究机构以及学者构建出了多个有高质量特点的动物图像数据集,这些数据集为动物图像分类方面的研究给予了关键的支持。

模型优化:国内的学者针对动物图像分类模型的优化,提出了各种各样的创新方法,其中基于注意力机制的细粒度分类方法,凭借引入注意力机制,提高了模型对于局部特征的捕捉能力。

迁移学习和数据提高相结合这种方式:借助在大规模数据集之上预先训练模型,再联合数据提高技术,使得分类性能有了一定程度的提升\[\]。

多模态融合这一方式是把图像、文本以及声音等多种不同模态的信息结合起来,以此提升分类性能,应用场景得到了拓展,国内相关研究把动物图像分类技术广泛运用在多个实际场景当中,生物多样性保护方面,借助自动识别野生动物的种类,监测物种的分布以及种群数量,支持生态保护决策的制定\[\]。

国外研究现状

近年来,国外的学者于深度学习相关的动物图像分类领域有了一些进展,他们的研究方向包括跨域适应、小样本学习、轻量化模型以及多模态融合等方面。

Johnson等人(2023)在《Cross-Domain Animal Recognition via Self-Supervised Vision Transformers 》上提出了Transformer(ViT)的跨域分类框架,凭借对比学习预训练模型,借助未标注的野生动物图像提高模型对光照和背景变化的适应能力,在iWildCam数据集上实现了12%的跨域分类精度提升\[\]。

Smith等人(2023)在《Dynamic Prototype Networks for Few-Shot Animal Classification》中设计动态原型网络(DPN),通过元学习动态生成类别原型,在Oxford-IIIT Pet数据集的5-way 1-shot任务中准确率达89.7%\[\]。

数据集的构成:国外一些研究机构以及学者打造了多个有高质量的动物图像数据集,这为动物图像分类方面的研究给予了关键的支撑。

模型优化:国外的一些学者针对动物图像分类模型的优化工作提出了不少有创新性的方法,其中EfficientNet这种方法借助缩放的方式,在计算资源受限的情形下达成了更高的分类精准度\[\]。

应用场景拓展:国外相关研究针对动物图像分类技术展开了一系列工作,该技术已被广泛应用于诸多实际场景之中。

生物多样性保护:借助自动识别野生动物的具体种类,对物种的分布情况以及种群数量展开监测,以此为生态保护方面的决策提供相应支持。

相关知识介绍

深度学习的基本理论

随着信息科技不断发展,大数据以及人工智能于实时数据处理方面的运用变得日益普遍,深度学习作为人工智能关键领域之一,凭借出色的特征抽取和模式识别能力,提高了实时大数据流处理的效率和准确性。

深度学习架构通常包含输入层、隐藏层与输出层三部分。隐藏层运用非线性激活函数(如ReLU),以捕捉数据的高级抽象特性。这一过程包括正向传播、损失评估、反向传播以及参数调整步骤,常见的优化方法有随机梯度下降(SGD)与Adam算法。深度学习的关键优势在于其能力自动生成复杂数据模式,无需人工构建特征。因此,它广泛应用于计算机视觉、自然语言处理、语音识别以及推荐系统等多个领域。不过深度学习也存在计算资源需求高、过拟合以及可解释性差等挑战,随着算法和硬件的持续进步,深度学习在理论和应用方面将会持续取得突破,推动人工智能技术不断发展。

卷积神经网络的基本理论

基本原理

深度神经网络(DCNN)乃是深度学习范畴里的关键模型,被广泛运用于如图像分类、目标检测以及图像分割等计算机视觉任务当中。主要由输入层、多个隐含层和输出层构成,隐含层由多个神经元组成,具体结构如图2-1所示。每个连接有权重和偏置,神经元通过激活函数引入非线性,网络通过损失函数评估性能,并使用优化算法调整权重和偏置以提高准确性深度神经网络作为深度学习中的典型方法,在多个领域均有应用,其核心理念是借助卷积层自动识别并提取图像特征,经池化层简化特征图结构,最终利用全连接层达成对图像的分类或回归分析任务,卷积层借助滑动卷积核对图像进行处理,生成特征图,激活函数如ReLU被应用于此,以引入非线性元素,提升模型的复杂度与表现力。池化层最大池化,用于缩小输入的空间尺寸,降低了计算负担,同时提高了模型对抗噪声和过度拟合的能力,提高了整体的稳健性,训练过程涉及前向传播、损失计算、反向传播以及参数更新,常用的优化算法有SGD和Adam,经典模型包含LeNet-5、AlexNet、VGGNet、ResNet和EfficientNet,它们凭借不同的结构设计,解决了深层网络训练时出现的梯度消失等问题。DCNN的优势是自动进行特征提取,并且有强大的表达能力,不过也面临计算资源需求高、过拟合以及可解释性差等挑战,在图像分类、目标检测、图像分割以及模型构建与技术实现方面。

图2-1 卷积神经网络的基本结构图

关键组件构成

1卷积层

定义:在深度卷积神经网络(CNN)架构中,卷积层扮演着核心角色,通过执行卷积运算,能够有效地识别并提取输入数据中的局部特征。

作用:自动开展对于图像或者其他数据的局部特征学习,以此减少参数的数量,提高模型所有的平移不变性。

常见方式:

卷积核大小:如 3x3、5x5。

步长(Stride):控制卷积核滑动的步长。

填充(Padding):通过在输入数据的边界处添加像素,以精确调控输出特征图的尺寸。

2激活函数

定义:激活函数在神经网络中扮演着关键角色,它是一种非线性变换函数,目的在于引入非线性元素,从而显著提升模型的表达能力与复杂度处理能力。

作用:使神经网络具备拟合复杂非线性函数的能力,以解决传统线性模型难以应对的复杂问题。

常见方式:Tanh、Sigmoid、Softmax等

3池化层

定义:池化层凭借下采样这种方式来削减特征图的空间维度,降低运算所带来的负担,提升模型的抗干扰能力。

作用:对模型加以优化,目的在于减少过拟合这一现象,提升它在平移变化情况下的适应能力,还要精简计算过程,以此降低其复杂度。

常见方式:如图2-2所示

最大池化(Max Pooling):取局部区域的最大值。

平均池化(Average Pooling):取局部区域的平均值。

图2-2 两种池化层

4全连接层

定义:全连接层会把前一层的全部神经元和当前层的各个神经元连接起来,以此来整合特征生成最终输出。

作用:将卷积层和池化层提取出的特征转化为最终的分类或回归输出。

常见方式:

全连接层的神经元数量根据任务需求设置。

通常与 Dropout 结合使用,防止过拟合。

5输出层

定义:输出层是神经网络的最后一层,用于生成最终的预测结果。

作用:根据任务需求输出分类概率、回归值或其他结果。

常见方式:

Softmax:用于多分类任务,输出概率分布。

Sigmoid:用于二分类任务,输出范围为 (0, 1)。如图2-3所示

图2-3 Sigmoid函数

常用的卷积神经网络识别模型

  1. LeNet-5

提出时间:1998 年。

特点:

最早的卷积神经网络之一,用于手写数字识别。

包含卷积层、池化层和全连接层。

应用场景:手写数字识别(如 MNIST 数据集)。

  1. AlexNet

提出时间:2012 年。

特点:

2012 年 ImageNet 竞赛冠军,标志着深度学习的崛起。

使用 ReLU 激活函数和 Dropout 技术,解决梯度消失和过拟合问题。

应用场景:大规模图像分类(如 ImageNet 数据集)。

  1. VGGNet

提出时间:2014 年。

特点:

通过堆叠多个 3x3 卷积层,构建深层网络。

结构简单且规则,易于扩展。

应用场景:图像分类、目标检测。

  1. GoogLeNet (Inception)

提出时间:2014 年。

特点:

提出 Inception 模块,通过多尺度卷积提取特征。

使用全局平均池化层替代全连接层,减少参数数量。

应用场景:图像分类、目标检测。

  1. ResNet (Residual Network)

提出时间:2015 年。

特点:

引入残差连接(Residual Connection),解决深层网络中的梯度消失问题。

可以训练非常深的网络(如 ResNet-152)。

应用场景:图像分类、目标检测、图像分割。

迁移学习的基本理论

核心思想

迁移学习是机器学习中的一种重要方法,其核心思想是将从一个任务中学到的知识迁移到另一个相关任务中,以提升目标任务的性能。

基本概念

源任务(Source Task):存在大量拥有数据以及标签的任务,这些任务可用于预训练模型。

目标任务(Target Task):需要解决的任务,通常数据量较少。

迁移方式:

特征迁移:将源任务中学到的特征表示迁移到目标任务。

模型迁移:将源任务中训练好的模型参数迁移到目标任务。

实例迁移:将源任务中的部分数据迁移到目标任务。

迁移学习的方法

(1) 基于特征的迁移学习

原理:将源任务中学到的特征表示(如卷积层的特征图)迁移到目标任务。

常见方式:

使用预训练模型(如 ImageNet 上训练的 ResNet)作为特征提取器。

在目标任务上微调部分或全部模型参数。

(2) 基于模型的迁移学习

原理:将源任务中训练好的模型参数迁移到目标任务。

常见方式:

冻结预训练模型的部分层(如卷积层),只训练目标任务的全连接层。

微调预训练模型的所有层,适应目标任务。

(3) 基于实例的迁移学习

原理:将源任务中的部分数据迁移至目标任务,并利用加权或筛选等方法优化数据应用。

常见方式:

采用源任务数据来提高目标任务的训练集,借助实例加权的方式调整源任务数据的关键程度。

  1. 迁移学习的优势

减少数据需求:借助运用源任务所有的知识,可降低目标任务对于大量标注数据的依赖程度。

加速训练:预训练模型能提供高质量的起始参数设置,从而显著提升任务目标的快速收敛效果。

提升性能:在目标任务涉及的数据量相对有限的情况下,迁移学习能够有效增强模型的表现能力。

迁移学习可把在源任务里所学到的知识迁移至目标任务,以此来减少对数据的需求,加快训练进程并且提升性能表现,它的核心方法囊括了基于特征、基于模型以及基于实例的迁移学习,在计算机视觉、自然语言处理以及医学影像分析等诸多领域都有着广泛的应用。

模型设计思路与整体框架

本研究借助深度学习达成动物图像的有效分类,深度学习于图像识别领域成果颇为成熟, CNN 类模型可自动从图像里提取更具区分度的特征,无需人工设计复杂的特征提取算法,如此模型面对形态各异的动物图像时,可保持较好的鲁棒性与泛化能力。

图3-1 模型路线

设计流程大体上可划分成五个阶段,具体情况如图3-1所示。首先我们的数据集进行了介绍,描述了数据集的基本情况,即数据集涵盖的动物类别。然后对数据集进行了一个初步的统计性分析。随后 我们对数据进行预处理,在这里 我们对图像进行了归一化,接着,运用数据增强的方式对数图像进行增强,并展示了我们增强后的图像。最后,我们介绍了将数据划分为训练集和测试集的流程。

完成数据准备工作之后,便要开展模型构建以及训练阶段的相关事宜,此项研究依据主流深度学习框架搭建一个用于动物图像分类的模型,之后会把训练好的模型在测试集上给予验证,借助多个指标(像准确率、召回率等)对其性能加以评估,最后运用Grad-CAM剖析归纳模型识别错误的缘由,为模型积累经验。

动物图像分类模型构建

本章节主要阐述了本文中所采用的深度学习模型的设计与实现过程,具体涉及了数据集、数据准备工作、模型的选择及其原理、网络结构的设计、训练过程与优化、实验设计以及评价指标等方面,凭借对各个环节进行详尽阐述,将整个动物分类系统的设计流程、关键技术以及实现方法全面展示出来。

数据介绍与预处理

数据介绍

所采用的数据集源自Animals10数据集,此数据集包含cane(狗)、gatto(猫)、cavallo(马)、farfalla(蝴蝶)、gallina(鸡)、pecora(羊)、ragon(蜘蛛)、mucca(牛)、scoiattolo(松鼠)、elefante(大象)这十种动物,它覆盖了动物于自然环境里的多样姿态、光照以及背景变化情况,数据集中的图像都经历了标准化的预处理流程以及人工标注环节,为后续的模型训练与评估给予了高质量且具代表性的样本。Animals10数据集可以充分呈现动物图像分类任务中的复杂程度与挑战之处,在实际应用方面也有良好的通用性,数据集的示例如图4-1所示。

图4-1 数据集示例

对Animals10数据集中各类别的样本数量分布状况展开了统计工作,并且绘制出了柱状图,具体呈现如3 - 2所示,从该图可观察到,不同类别的样本数量呈现出一定程度的差异,其中"cane"类别与"ragno"类别的样本数量最为可观,两者均接近5000张,然而,"elefante"类别、"gatto"等类别的样本数量相对而言较少,大约在1500 - 2000张的范围。如此这般的数据分布不平衡状况,说不定对模型训练造成一定影响,致使模型在学习样本数量较多的类别特征时,相对而言会比较容易,然而在处理样本数量较少的类别时,其表现却不尽如人意。

图4-2 类型统计

接着我们运用误差级别分析即Error Level Analysis也就是ELA方法来剖析图像的压缩特性,同时观察不同JPEG格式图片质量时的误差变化情形,ELA主要是用来检测图像的局部压缩差异,借助对比图像在不同压缩级别下的改变可突出显示某些区域的像素异常状况。鉴于JPEG格式图像的压缩机制,未经修改的区域一般会呈现出一致的压缩误差,而经过编辑或者调整的区域则有可能呈现出不同的误差模式,展开来说,我们从数据集中随机挑选一张动物图像,并以不同的JPEG质量进行多次压缩,之后计算压缩后图像与原始图像之间的像素误差。误差计算采用像素级的绝对差值,并且使用恰当的缩放因子对比度提高,以此更清晰地呈现误差区域,为了直观呈现不同压缩质量下的误差级别,我们在3×3的子图网格上把原始图像及其在不同JPEG质量下的ELA结果进行了可视化,如图-3所示,揭示图像误差随压缩质量变化的趋势。

图4-3 原始图像及其在不同JPEG质量下的ELA结果

数据预处理

数据预处理以及提高策略乃是构建动物图像分类模型的关键部分,其会对模型的训练成效与泛化能力产生直接影响,为保证数据质量以及模型的鲁棒性,先是对全部图像数据做了统一化处理,接着运用多种数据提高方法让数据的多样性得以丰富,以此为模型构建奠定坚实基础,在数据预处理这一方面,所有图像都依照统一尺寸来调整,保证输入模型的图像保持一致,防止因尺寸不同而引发不必要的干扰。图像的像素值经过了归一化处理,把原始像素值从0,255的范围映射到0,1区间。具体而言,标准化处理采用如下公式:

(4-1)

其中,代表原始像素值,和分别为图像数据集的均值和标准差。

在数据增强策略方面,为了让模型充分学习到动物图像在不同拍摄角度、光照条件以及姿态变化下的特征,本研究设计了一系列增强方法。这些增强方法能够在保持图像语义信息不变的前提下增加样本的多样性,进而提升模型对真实环境下图像变化的适应能力。数据增强过程在每个训练周期中均保持随机性,使得模型每次接触到的图像在细节上存在差异从而有效降低过拟合风险,增强模型泛化能力。图4-4展示了我们对牛和猫进行了旋转、颜色HSV通道增强、几何数据增强、混合样本数据增强等数据增强的方法。

图4-4 数据增强示例

模型构建

我们借助这一经过ImageNet大规模数据集预训练的深度卷积神经网络,构建了一个适用于动物图像分类任务的模型。整个网络架构不仅依赖于该预训练模型所蕴含的丰富视觉特征,而且在后续层中通过自定义全连接模块来进一步提炼和适应任务需求。模型输入被统一预处理为(224, 224, 3)的RGB格式,这一尺寸设定既满足了EfficientNet-B7的输入要求,又确保了输入图像在空间分辨率上的一致性;同时,通过数据增强模块在输入阶段引入随机翻转、旋转或裁剪等变化,从而在一定程度上扩展了样本的多样性并提高了模型的泛化能力。

在迁移学习策略中,预训练模型的参数被全部冻结,这样可以保留其在ImageNet上所学到的底层和中层特征,避免在针对新任务的微调过程中发生灾难性遗忘。模型的特征提取部分采用全局最大池化(pooling='max')来汇聚深层特征,提取出具有代表性的全局信息为后续的全连接层提供稳健的输入。预训练网络的输出通过全连接层进行特征转化:第一层全连接单元设置为128个神经元,经过ReLU激活函数后引入非线性变换,这一过程能够捕捉到数据中隐藏的复杂关系;接着,利用批归一化对每个mini-batch的激活分布进行标准化,其计算过程可描述为,

(4-2)

其中 和 分别为当前批次的均值和方差, 与 是可训练参数,用以恢复数据的表达能力。

这部分的具体代码如下:

模型加载成功后会显示图4-5的结果:

图4-5 模型加载结果

为了匹配EfficientNetB7的预期输入格式,我们将模型的输入图像大小设定为(224, 224, 3) (RGB三通道)。输出层的类别数设定为10,对应于数据集中的目标分类类别。在训练过程中我们还设置了其他超参数,具体可以在表4-1中查看。

表4-1 训练参数

参数名称
输入图像大小 (224, 224, 3)
输出层类别数 10
批量大小 32
训练轮数 100
优化器 Adam(学习率1e10-5)

在训练策略上,模型不仅设置了较高的Epoch数(最多达100个Epoch),还引入了多重回调机制以动态调控训练过程。模型检查点回调能够在验证准确率达到新高时自动保存当前权重,使得后续可以直接恢复至最佳状态;早停机制则监控验证损失,当连续5个Epoch未见明显下降时便中止训练,以防模型在训练后期出现过拟合。与此同时ReduceLROnPlateau回调则通过监控验证损失,当发现连续3个Epoch内损失未能进一步降低时,将当前学习率缩减20%,这一动态调整策略有助于模型在逼近局部极小值时进行更为精细化的参数更新,

(4-3)

通过TensorBoard训练日志记录,研究者能够实时观察训练动态,无论是损失、准确率还是学习率变化,可以从中得到模型在学习过程中的各项指标变化。总的来说,模型检查点的设置确保最佳权重得以保存,早停机制避免了无谓的训练资源浪费,而学习率调整则在细节上帮助模型跳出训练停滞期。这样的设置促使整个训练过程既保持了高效性,又确保了模型在最终达到较好泛化能力的同时又能够稳步逼近全。

具体代码实现如下:

为了发挥利用EfficientNetB7在ImageNet预训练过程中学习到的特征,我们加载EfficientNetB7作为特征提取网络,并冻结其所有参数确保预训练权重不会在新任务中被修改。在此基础上,Dropout(比率0.45)的引入通过随机屏蔽部分神经元,有效地缓解了过拟合现象。第二层全连接层将神经元数量扩展到256,同样采用ReLU激活,并在紧随其后的批归一化和Dropout操作中保持训练的稳定性。最终的输出层通过Softmax激活函数,将前面层提取到的特征映射到10个目标类别上,其计算公式为:

(4-4)

这里表示经过前面层线性变换后的激活值,而模型待训练的参数W和b正是在这一过程中不断调整和学习以便使预测分布与真实类别分布尽可能接近。

在完成模型构建后,我们使用Adam优化器(学习率为1e10-5)对模型进行编译,并选择分类交叉熵作为损失函数其参数更新公式为:

(4-5)

公式4-5巧妙地结合了动量和自适应学习率调整,进而使得参数更新更为平滑训练过程趋于稳定;同时采用分类交叉熵作为损失函数数学表达为,

(4-6)

为真实类别标签的one-hot编码,为模型的预测输出,为交叉熵损失函数。

更具体地来说,我们采用如下代码完成上述实验内容:

这段代码实现了一个深度学习图像分类模型,首先导入一个预训练模型并提取输入层信息,然后通过数据增强方法对输入图像进行处理以增加样本多样性,提升模型的鲁棒性。接着,模型通过添加多个全连接层(128 和 256 个神经元)和使用 ReLU 激活函数引入非线性,同时应用批量归一化和 Dropout 技术(丢弃 45% 的神经元)来防止过拟合并增强泛化能力。输出层设置为 10 个神经元,使用 Softmax 激活函数生成类别概率。模型采用 Adam 优化器(学习率为 0.00001)和分类交叉熵作为损失函数进行编译,并在训练过程中监测准确率。训练阶段使用 model.fit() 方法,结合多个回调函数(早期停止、TensorBoard 记录、模型检查点和学习率衰减)来优化训练效果。

训练完成的结果如图4-6所示:

图4-6 模型训练完成结果

训练与验证损失曲线可视化

模型的评估程序如下,评估的整体结果如图4-7所示。

图4-7模型评估结果

在模型训练过程中,我们通过绘制训练损失、验证损失、训练准确率和验证准确率曲线来观察模型的收敛情况,并分析可能存在的过拟合或欠拟合现象。图4-8展示了训练过程中各指标的变化趋势,其中左图为训练与验证准确率曲线,右图为训练与验证损失曲线。

图4-8训练与验证损失曲线

观察左侧的图像可发现,模型的训练准确率,也就是蓝色曲线所代表的数值,在开始的前10轮训练过程中呈现出快速上升的态势,之后便逐渐趋向于稳定状态,并且在大概60轮训练的时候收敛至接近100%的水平,验证准确率,即红色曲线所对应的数值,也随着训练的持续推有所提高,并且在整个训练进程里一直维持在较高的水准,最终与训练准确率几乎达到相同的程度。这一情况说明模型在训练集以及验证集上的表现都相对稳定,并没有出现十分突出的过拟合或者欠拟合方面的问题。

右侧图像所呈现的损失曲线证实了上述分析得出的结果,在训练过程中,训练损失也就是蓝色曲线,在最初的几轮下降速度比较快,这意味着模型在开始阶段学习到了相对有效的特征表示,并且随着训练不断推进,其逐渐趋向于平稳状态,验证损失即红色曲线,也呈现出了与之相似的下降态势,并且在经过10轮训练之后基本保持稳定。

测试结果及分析

为了进一步分析模型在测试数据上的表现,我们随机选取了6张测试图片,并将其真实类别与模型预测类别进行展示,如图4-9所示。

图4-9测试数据结果

在对测试集展开测试的这个阶段,我们运用已经训练好的模型针对数据集开展预测工作,并且对其分类效果给予分析,测试数据集中的图像在经过EfficientNetB7预训练模型以及全连接层的相关处理之后,模型输出了每个类别的预测概率。然后我们使用选取随机五个的类别作为最终预测结果,并将其与真实标签进行对比,以评估模型的分类能力。我们输出了测试数据集中五个样本的预测结果,分别是'cane', 'elefante', 'ragno', 'pecora', 'mucca',可以看出模型正确识别了多个类别,包括牛(mucca)、狗(cane)、大象(elefante)、蜘蛛(ragon)和羊(pecora)等。这说明模型已经学会了区分不同类别,并能在测试数据上进行分类。

凭借对图进行观察可发现,大部分的预测结果都是正确的,模型在测试集上有较强的泛化能力,不过依然存在个别出现误分类的样本,这或许是因为某些动物在图像里有相似的外观,又或者是图片背景较为复杂等因素所造成的。

为了评估模型性能,使用测试数据集,主要聚焦于评价其准确率、精确率、召回率以及F1分数等关键指标。这些指标全面地衡量了模型的分类效能。

准确性评估的是模型在所有样本中正确预测的比例,这一比例能以具体的数值形式呈现,

(4-7)

这其中TP是真正类,代表被正确分类的正类样本;TN是真负类,是被正确分类的负类样本;FP代表假正类,是被错误分类为正类的负类样本;FN表示假负类,是被错误分类为负类的正类样本。

处理类别不平衡的数据集时,只依靠准确率可能误解模型表现,要综合考虑精确率、召回率以及F1分数,来全面评估模型性能,因为仅看准确率是不够的,精确率能反映模型准确预测正例的能力,召回率体现模型找到所有正例的能力,F1分数则综合了两者,这三个指标共同作用,才能更准确地判断模型性能究竟如何。

精确率所评估的乃是模型在那些被判定为正类的全部样本当中,实际真正属于正类的比例情况,较高的精确率意味着模型在识别正类的时候,呈现出更为保守且准确的表现,其具体的计算公式如下,

(4-8)

召回率衡量的是所有实际为正类的样本中被正确分类为正类的比例,召回率较高意味着模型能够识别出更多的正类样本,它可以被表示为,

(4-9)

F1分数是精确率和召回率的调和平均数,它兼顾了精确率和召回率,尤其适用于类别分布不均衡的情况,其计算公式如下,

(4-10)

随后我们运用分类报告以及混淆矩阵对模型的分类性能给予评估,借助这些指标可帮我们剖析模型于不同类别上的表现状况,确定潜在的误分类模式。

模型中的运行结果如图5-4。

图4-10模型运行结果

分类报告的结果如表4-2所示,模型在所有类别上的平均准确率达到了97%,说明模型的整体表现较好,具有较强的分类能力;模型再大多数类别的F1分数在0.96以上,这显示出模型在各个类别上都能保持较高的稳定性;更细节地来看,类别"elefante"、"ragno"、"scoiattolo"的精确率和召回率均接近99%,说明模型在这些类别上能够做出高度准确的分类。但也可以发现类别"mucca"和"pecora"的精确率相对较低,这可能是因为这两个类别在视觉特征上较为相似,导致模型误分类的情况较多。

混淆矩阵提供了更细粒度的信息,图4-11展示了每个类别的真实标签与预测标签之间的对应关系。从混淆矩阵来看大部分样本都被正确分类,对角线上的数值较高,也表明了模型的整体分类能力较强。其中误分类主要出现在相似类别之间,如"mucca"被错误分类为"pecora"和"cavallo"。"cane"偶尔被误分类为 "cavallo",可能是因为某些狗的体型与马有一定相似性。而"elefante"的预测相对较为稳定,几乎不存在误分类情况,可以推断模型在处理这种体型较大的动物时表现良好。

表4-2分类报告

精确率 召回率 F1分数 样本数量
cane 0.97 0.97 0.97 990
cavallo 0.97 0.96 0.96 568
elefante 0.99 0.97 0.98 298
farfalla 0.97 0.97 0.97 390
gallina 0.99 0.99 0.99 633
gatto 0.97 0.97 0.97 337
mucca 0.92 0.94 0.93 379
pecora 0.94 0.94 0.94 346
ragno 0.99 0.99 0.99 909
scoiattolo 0.99 0.99 0.99 376
准确度 0.97 0.97 0.97 0.97
宏观平均值 0.97 0.97 0.97 5226
加权平均值 0.97 0.97 0.97 5226

图4-11混淆矩阵

Grad-CAM分析

在模型分类任务中,Grad-CAM(Gradient-weighted Class Activation Mapping)是一种常用的可视化方法,它用于展示神经网络在分类时关注的图像区域。Grad-CAM通过计算类别预测对最后一个卷积层的梯度贡献,从而生成一个热力图,这会标记出模型认为最具判别性的区域。

图4-12展示了测试集中多个样本的Grad-CAM结果,图中背景色较暗的区域表示对分类贡献较小的部分,红色或黄色高亮的区域表示模型关注的关键特征。对于大多数正确分类的样本,Grad-CAM生成的热力图集中在目标对象的关键特征区域,例如在"pecora"的分类中,模型主要的关注点在动物的面部特征。对于"elefante"而言模型的关注点主要集中在躯干和鼻子明显特征区域,这也可以解释前面提到的"elefante"的识别度较高的原因。当然Grad-CAM也揭示了一些误分类的案例,部分样本的热力图显示,模型在分类时关注了背景,而非目标物体。就像一些误分类的"cane"和"mucca"样本,其热力图表明模型可能关注了草地或周围环境而非动物本身,这说明复杂度背景和环境可能会降低模型的能力。

图4-12Grad-CAM结果

总的来说,模型在大多数正确分类的样本上关注关键特征区域,说明其特征提取的能力较强;而某些误分类样本的热力图表明模型可能受背景、相似类别特征或多目标干扰的影响。

动物图像系统分类的测试

系统的界面效果展示如图5-1所示。客户端界面的设计采用了Flask框架进行页面布局和搭建。后端系统使用Python语言进行实现,并通过Python对数据库进行信息调用和处理,这种设计使得系统能够高效地完成动物图像的分类任务。

图5-1 系统界面

图5-2(a)系统测试结果

系统的界面相对简洁,"动物图像识别系统"说明了我们这个系统的作用,"基于深度学习模型识别动物"指出了我们系统的模型架构。我们搭建的系统使用了基于EfficientNetB7架构,能够识别10种动物。系统对能识别的每种动物进行了介绍。在直接上传动物图片或者直接将动物图片拖拽到图片框中后,系统会自动对动物图像进行分类,系统会同时输出:①预测类别及概率;②原动物图片;③处理后的Grad-CAM结果。图5-2是我们上传羊、蝴蝶的图片到系统中的测试结果。

图5-2(b)系统测试结果

结论与展望

此次实验以EfficientNetB7模型为基础,借助迁移学习以及数据提高技术,于动物图像分类任务里收获了出色的性能表现,验证集准确率超出了95%,迁移学习的运用切实减少了训练时间以及计算需求,数据提高技术提高了模型针对光照、角度以及背景变化的鲁棒性。实验还借助优化学习率调度以及停机制,保障了训练的高效性以及模型的泛化能力,结果显示,EfficientNetB7可有效抓取动物图像的细粒度特征,适用于复杂的多分类分类任务。

未来的工作方向可聚焦于模型轻量化、数据多样性扩展以及跨模态学习等方面,借助引入更为轻量的模型架构,例如 MobileNetV3,以及模型压缩技术,像量化和剪枝等手段,可降低计算成本,适配移动端或者边缘设备进行部署,把多模态数据,比如声音、视频等相结合,再运用细粒度分类技术,可提高模型的分类精度以及场景适应性。另外对自监督和半监督学习方法展开探索,减少对标注数据的依赖,这将可推动该技术在生态保护、智能农业等领域的实际应用。

参考文献

1 WWF, et al. Living Planet Report 2020: Bending the curve of biodiversity loss R. WWF International, 2020. Report No. 2020-001.

2 Tan, et al. EfficientNet: Rethinking model scaling for convolutional neural networks J. ICML, 2020.

3 Howard, et al. Searching for MobileNetV3 J. ICCV, 2021.

4 Dosovitskiy, et al. An image is worth 16x16 words: Transformers for image recognition at scale J. ICLR, 2021.

5 Finn, et al. Model-agnostic meta-learning for fast adaptation of deep networks J. ICML, 2020.

6 Tan, et al. EfficientNet: Rethinking model scaling for convolutional neural networks J. ICML, 2020.

7 王强, 等. 迁移学习与数据增强结合的动物图像分类研究 J. 机器学习, 2021. 8 Nemes, et al. Social media sentiment analysis based on COVID - 19 J. Journal of Information and Telecommunication,2020.

9 陈永平.基于深度学习的实时大数据流处理框架优化与性能分析J.中国信息界,2025,(01):138-140.

10 杨会渠. 深度卷积神经网络模型轻量化研究D. 山东:青岛大学,2023. 11 Hasan, et al. Machine Learning - Based Sentiment Analysis for Twitter Accounts J. 2018.

12 Nandwani, et al. A review on sentiment analysis and emotion detection J. 2021.

13 唐绪军。报业经济与报业经营 M. 北京:新华出版社,1999:117 - 121.

14 霍斯尼 RK. 李庆龙,译。谷物科学与工艺学原理 M. 北京:中国仪器出版社,1989:32 - 35.

15 黄娟。供应链理念下探究工业经济管理转型的发展路径 J. 上海商业,2024,(04):155 - 157.

16 Gamal E. Recommendations for Changes in Education Practice in Sociology for Students J.International Journal of Communication Networks and Information Security,2024,16 (4):80 - 88.

致谢

在本论文的完成过程中,我得到了许多人的帮助与支持,在此向他们表示衷心的感谢。

首先,我要特别感谢我的导师。从论文的选题到最终的定稿,她始终给予我耐心的指导和宝贵的建议。严谨的治学态度、渊博的专业知识以及对学生无微不至的关怀,深深影响了我,使我不仅在学术上受益匪浅,也在为人处世方面学到了很多。

感谢我的家人和朋友,他们在我撰写论文的过程中给予了我无尽的鼓励和支持。正是他们的理解与陪伴,让我在压力中保持积极的心态,顺利完成论文的写作。

最后,我要感谢所有为本研究提供数据和资源的机构与个人,以及匿名评审专家对本文提出的宝贵意见。他们的贡献为本文的完成奠定了重要基础。

谨以此致谢,表达我对所有帮助过我的人的感激之情。

附录

代码:

相关推荐
Token炼金师2 小时前
知识的外挂:分块、Embedding、Rerank、GraphRAG 与多路融合 —— RAG 检索增强六脉
人工智能·深度学习·llm·embedding·chunk·graphrag·rerank
大鱼>3 小时前
AI+货物追踪:跨境电商包裹追踪系统
人工智能·深度学习·算法·机器学习
大鱼>3 小时前
AI+货物追踪:全链路货物可视化追踪系统
人工智能·深度学习·算法·机器学习
LingYi_03 小时前
变化检测—BIT
人工智能·深度学习
搞科研的小刘选手17 小时前
【香港大学主办&IEEE出版】第六届计算机视觉、应用与算法国际学术会议(CVAA 2026)
算法·计算机视觉·应用·学术会议
断眉的派大星18 小时前
YOLO实例分割详细解析
人工智能·yolo·计算机视觉
qiten_00719 小时前
深入解析参数高效微调(PEFT):原理、分类与实战
人工智能·深度学习
yqd66620 小时前
OpenCV
人工智能·opencv·计算机视觉
Always_away21 小时前
动手学深度学习|线性神经网络:线性回归的实现
深度学习·神经网络·线性回归