本项目致力于开发先进的AI技术,用于精准地对比和识别AI生成的人脸图像与现实生活中的真实人脸之间的差异。通过深度学习算法提升人脸识别系统的准确性和安全性,在确保用户隐私的同时,有效防止身份盗用等问题的发生。
01_拆分数据集.py
此脚本的功能是将一个大的数据集分割成训练集、验证集和测试集,并按类别存储。步骤如下:
首先获取源目录下所有的子目录(即各类别)。
接着对每个类别的图片文件名进行随机排序。
然后根据设定的比例,划分出训练集、验证集和测试集。
最后将这些集合中的图像复制到对应的输出目录中。
03_算法搭建.py
此脚本用于构建并训练一个卷积神经网络(CNN),并在完成后保存最佳及最终模型。主要步骤包括:
定义CNN的架构。
配置优化器、损失函数以及评估指标以编译该模型。
利用ImageDataGenerator进行数据增强处理。
划分出训练集、验证集和测试集的数据子集。
通过ModelCheckpoint回调机制来保存在验证集中表现最优的模型版本。
执行模型训练,并持续更新最佳性能的检查点文件。
加载最佳状态下的模型,评估其准确率等指标。
绘制损失函数与准确性随时间变化的趋势图。
最后保存最终训练完成后的完整模型。
04_预测.py
该脚本创建了一个基于Tkinter界面的应用程序,用于展示并分类随机选取自测试集中的图像。主要功能有:
构建一个简易的图形用户界面(GUI)以显示图片和分类结果。
加载之前已经过充分训练的CNN模型。
更新UI显示一张新的测试集中选定的真实图片,并给出预测类别标签。