文章目录
-
- 介绍
- 网络模型
- 测试与分析
-
训练参数设置
- 结果
- 总结
介绍
图像识别在计算机视觉领域扮演着至关重要的角色,其准确性和鲁棒性对多个应用至关 重要。随着深度学习技术的不断发展,卷积神经网络(CNN)已经成为图像识别领域的重要 技术支柱。CNN 以其优秀的特征提取能力,在图像分类、目标检测和图像分割等任务中展现 出卓越性能。从 LeCun 等人在 1998 年提出的 LeNet-5 模型开始,CNN 在图像识别领域取得 了里程碑式的进展,随后的 AlexNet、VGG、ResNet 等模型更加推动了 CNN 在图像识别任务 中的广泛应用。然而,近年来,生成对抗网络(GAN)等生成模型的崛起给图像识别领域带 来了新挑战。GAN 由 Goodfellow 等人于 2014 年提出,通过生成器和判别器之间的对抗训练, 实现生成高质量逼真图像的能力。这一技术的发展不仅推动了图像生成领域的进步,同时也 对现有图像识别系统提出了新问题。如何准确区分真实图像和由算法生成的虚假图像,已成 为图像识别领域的一个热点议题。
网络模型
卷积神经网络(Convolutional Neural Networks,简称 CNNs)是一种深度学习模型,
它在图像和视频识别、分类和分割任务中表现出色。CNNs 是受生物神经网络启发而设计的,
特别适合处理具有明显网格状拓扑结构的数据,例如图像(2D 网格)和视频(3D 网格),
在本次项目中我们运用了两个网络模型;自定义 CNN 模型,名为 ImageDetector,是一个为
图像真伪分类任务特别设计的网络结构与 PretrainedResNet 网络结构,ResNet-18 是一种
残差网络,它包含 18 层深度,并且通过引入残差学习解决了随着网络深度增加时训练困难
的问题。

测试与分析
1、数据集
在计算机视觉和人工智能领域,人脸识别技术已经成为一个热门的研究方向。人脸识别 数据集作为训练和测试各种人脸识别算法的重要资源,其质量和数量对于算法的性能和准确 性至关重要。本文将介绍人脸真实与生成图像数据集的介绍、本次数据集分为训练集 train, 里面包含了生成图像(fake)与真实图像(real)。
测试集 test,里面也包含了生成图像(fake); 与真实图像(real)。 在本次数据集中训练集(train)有10000张人脸图片,其中5000张生成人脸图像(fake), 5000 张真实人脸图像(real)。测试集与训练集一样也有 10000 张人脸图片,5000 张生成 (fake);5000 张真实人脸图片(real)。
训练参数设置
小批量数据大小 (Batch Size):代码中使用 DataLoade 来加载数据,并通过参数 batch_size=32 指定了每个小批量的数据大小为 32。这意味着在每个训练迭代中,模型将处 理 32 张图像。
初始学习率 :在定义优化器时,使用了 optim.Adam(model.parameters(), lr=0.001), 这表明初始学习率被设置为 0.001。Adam 优化器以其自适应学习率的特点而受到青睐,它根 据参数的梯度自动调整每个参数的学习率。
结果:
我们使用了两个网络模型进行区分生成与真实人脸图像分类;两个代码片段首先进行初 始设置,包括导入必要的库、定义数据预处理流程以及加载数据集。这里使用的是 torchvision.transforms 来对图像进行大小调整、转换为张量以及归一化处理。归一化的 均值和标准差可能需要根据具体数据集进行调整,以匹配数据的实际分布。
-在自定义模型 CNN 训练过程中随着训练周期(Epoch)的增加,训练损失逐渐减小,这 表明模型在训练数据上的性能正在提高。测试损失在初期也有所下降,但似乎在大约第 10 个 Epoch 之后趋于稳定,没有继续显著下降。这可能表明模型在测试集上的性能已经接近饱 和。模型在训练集上的准确率较高,接近 90%。这表明模型能够很好地学习训练数据。测试 准确率略低于训练准确率,准确率为 80.21%。这个差距相对较小,但仍表明模型可能存在 轻微的过拟合现象
总结:
本实验使用了两个网络模型进行了真实与生成图像分类对比;其中一个自定义的卷积神 经网络模型 ImageDetector,用于进行图像二分类任务。数据集分为训练集和测试集,并经 过了预处理,包括调整大小、转换为张量和标准化。模型使用了 CrossEntropyLoss 作为损 失函数,Adam 作为优化器,共进行了 20 个 epochs 的训练。 在训练过程中,记录了训练集和测试集的损失值和准确率,并绘制了 Loss 和 Accuracy 曲线图。利用数据平滑函数使得曲线更加平滑,有助于直观地观察训练过程的变化。在模型 评估阶段,进行了测试集的检测并计算了测试准确率。进一步绘制了混淆矩阵、ROC 曲线和 Precision-Recall 曲线,用于评估模型在测试集上的性能表现。最后,对训练好的模型进 行了保存,整个实验流程包括数据处理、模型构建、训练、评估和保存模型的完整流程,展 示了如何利用卷积神经网络模型进行图像分类任务。