APP下载

卷积神经网络在图像目标检测中的应用

2024-01-09

电视技术 2023年11期
关键词:类别卷积分类

程 卓

(贵阳职业技术学院,贵州 贵阳 550081)

0 引言

在当前互联网环境中,图像和视频数据的广泛传播推动了搜索应用和图像识别算法的不断发展。这些算法在图像标注、物体检测和场景分类等领域取得了重大突破[1]。与此同时,卷积神经网络(Convolutional Neural Networks,CNN)在多个模式和图像识别应用中得到了高效的应用,如手势识别、人脸识别、物体分类和生成场景描述[2]。这些应用的成功整合得益于深度学习算法的研究和丰富的开源标记数据集,如ImageNet、CIFAR 等[3]。

本文的核心目标是分析不同类型的预训练神经网络模型在物体检测方面的性能差异,将重点评估AlexNet、GoogleNet(Inception 模型)和ResNet50这3 种CNN 模型。对这3 种神经网络的图像检测性能进行详细评估和比较,以了解它们在图像识别过程的能力。

1 评估方法

1.1 CNN 模型结构

本文提到的3 个CNN 模型都包含以下几个关键层次。这些层次在图像目标识别任务中扮演不同的角色。

输入层(Input Layer)是每个CNN 的第一层,接受原始图像数据,通常会对输入图像进行大小调整,以满足模型的输入要求,通常是固定大小的图像。

卷积层(Convolutional Layers)是CNN 的核心组件,充当图像的过滤器,用来提取图像中的特征。通过卷积操作,卷积层会在图像上滑动一些滤波器(卷积核),从图像中捕捉不同的特征,如边缘、纹理等。卷积层的输出通常称为特征图,表示图像中不同位置的特征[4]。

池化层(Pooling Layers)通常紧随卷积层之后,主要功能是减小特征图的尺寸,同时保留重要信息。最常见的池化操作是最大池化,保留每个池化窗口中的最大值,从而保持最显著的特征。

线性整流单元层(ReLU Layers)接在池化层之后,作用是将特征图中的负值转换为零,同时保持正值不变,有助于增加网络的非线性性,使其能够学习更复杂的特征和模式。

全连接层(Fully Connected Layers)是CNN 的最后一层,通常用于将高级特征翻译成与类别标签相关的输出。这一层将前面层提取的特征映射到类别的概率分布,通常使用softmax 函数来获得预测概率。全连接层将网络的输出与特定的类别进行匹配,以实现图像目标识别[5-6]。

1.2 评估方法步骤

3 个CNN 模型的性能评估具体执行步骤如下。

第一,创建训练数据集和测试数据集。首先,从超级类别的图像数据中选择一组图像用于训练和测试。对于AlexNet,这些图像通常被调整为(224,244)像素大小。对于GoogleNet 和ResNet50,图像通常被调整为(227,227)像素大小。数据集随后被划分为训练数据集和验证数据集两个部分。训练数据集用于模型的训练,验证数据集用于模型性能的评估。

第二,修改CNN 网络。对于每个CNN 模型,需要根据任务的特定需求来修改模型的结构。通常,最后两层将被替换为全连接层和分类输出层。全连接层的大小通常设置为与训练数据集中的类别数相同,以确保模型能够进行适当的分类。可能还需要调整全连接层的学习率,以加快网络训练的速度。

第三,训练网络。在此步骤中,需要设置一些训练选项,包括学习率、批量大小以及用于验证网络性能的验证数据。学习率用来控制权重更新的速度,批量大小指定一次性用于更新权重的训练样本数量。验证数据用于定期评估网络在不同训练周期中的性能。

第四,测试网络的准确性。使用已经微调的CNN 模型对验证数据集中的图像进行分类。模型将对每个图像进行分类,并输出类别标签的概率分布。然后,可以计算分类准确度,即模型正确分类的图像所占的比例。这个指标用来评估模型的性能和精确度,以确定哪个模型在图像分类任务中表现得更好。

2 对比测试

2.1 测试数据集

CIFAR-100 图像数据集包含多个通用物体图像的超类别,以及每个超类别的多个子类别。CIFAR-100 数据集共有100 个图像类别,每个类别都有600 张图像。这600 张图像分为每个类别的500 张训练图像和100 张测试图像,总共有60 000张不同的图像。

CIFAR-10 数据集包含32×32 像素的彩色图像,分为10 个类别,每个类别有6 000 张图像,总共有60 000 张图像,包括50 000 张训练图像和10 000张测试图像。数据集分为5 个训练批次和1 个测试批次,每个批次包含10 000 张图像。测试图像是从每个类别中随机选择的。

为了进行研究,需要从每个超类别中选择一些通用类别用于网络的训练。本文研究所选的超类别包括床、自行车、公共汽车、椅子、沙发、摩托车、有轨电车、桌子、火车和衣柜。这些类别将用于训练神经网络,以便进行后续的性能比较。

2.2 测试结果对比

性能分析是通过在CIFAR-100 和CIFAR-10数据集上测试每个CNN 网络模型的图像分类算法进行的。表1 和表2 分别显示了不同CNN 模型在CIFAR-100 和CIFAR-10 测试数据集上不同图像类别的分类准确性。这两个表格列出了不同图像类别以及每个CNN 模型在该类别上正确识别的图像数量百分比。

表1 不同CNN 模型在CIFAR-100 测试数据集上的分类准确率 单位:%

表2 不同CNN 模型在CIFAR-10 测试数据集上的分类准确率单位:%

表3 是3 个CNN 模型对自行车的预测结果,显示了3 个网络模型对自行车类的预测准确性。从表3 可以看到,AlexNet 对自行车类的最高预测是摩托车,预测能力稍差。GoogleNet 在预测过程中表现最佳,ResNet 的预测结果性能居中。

表3 不同CNN 模型对CIFAR-100 数据集的自行车类别预测准确度对比

表4 展示了不同CNN 模型对船类别的结果,其中每个网络的预测标签和得分显示了它们对对象的检测准确性。对于CIFAR-100 数据集的大多数类别,GoogleNet 通常提供了正确的标签和分类,而ResNet50 在CIFAR-100 类别识别中表现中等。然而,在CIFAR-10 数据集上,ResNet50 提供了最佳的分类结果。这可能是因为大多数分类器是针对包含简单、细微特征的物体类别进行训练的,因此网络模型可能会在物体的外观和属性上产生混淆。

表4 不同CNN 模型对CIFAR-10 数据集的自行车类别预测准确度对比

观察所有表格结果可以看出,不同CNN 模型在不同类别图像上的分类准确性存在差异。本文使用以下方法来计算CNN 模型生成的输入类别的概率分布。这种方法关注目标识别过程中最有可能被识别出的前10 个类别。首先,基于图像的概率分布,将每个图像分为前10 个最有可能的类别之一。其次,计算每个图像在每个目标类别下被分类的次数。利用上述方法进行计算获得的结果如表5 所示。通过对比可以看出,GoogleNet 和ResNet50 网络模型的性能要优于AlexNet 模型。

表5 不同CNN 模型对CIFAR-10 数据集自行车类别的预测准确度对比 单位:%

3 结语

本文分析了3 种不同的CNN 模型在CIFAR-10和CIFAR-100 数据集上的预测准确性,提供了详细的预测分析方法,比较了这些网络在不同类别物体上的预测性能。尽管在现实生活中,床、沙发和椅子等物体是不同且容易识别的,但经过训练的网络模型仍可能出现混淆和错误结果,因此它们的准确率有所不同。这些研究结果有助于深入了解CNN在图像分类任务中的性能和适用性。

猜你喜欢

类别卷积分类
基于3D-Winograd的快速卷积算法设计及FPGA实现
分类算一算
从滤波器理解卷积
分类讨论求坐标
数据分析中的分类讨论
基于傅里叶域卷积表示的目标跟踪算法
教你一招:数的分类
服务类别
论类别股东会
一种基于卷积神经网络的性别识别方法