深度学习实践-使用CelebA_Spoof训练的权重测试NUAA
1.直接使用保存的网络测试NUAA
测试代码:
def read_test_file():
base_path = r'E:\ml\fas\data\NUAA'
val_file_path = os.path.join(base_path, "test.txt")
train_image_path_list = []
train_labels_list = []
with open(val_file_path) as f:
lines = f.readlines()
for line in lines:
image_path = line.split(',')[0]
label = line.split(',')[1]
img = cv2.imread(image_path)
resize_img = cv2.resize(img, (100, 100))
train_image_path_list.append(resize_img)
train_labels_list.append(int(label))
return np.asarray(train_image_path_list), np.asarray(train_labels_list)
def fit2():
X_test, y_test = read_test_file()
model = load_model('model/live_model.h5')
test_loss, test_acc = model.evaluate(X_test, y_test, verbose=2)
print(test_loss, test_acc)
if __name__ == '__main__':
fit2()
测试结果
200/200 - 8s - loss: 1.3156 - accuracy: 0.5285
1.3155993223190308 0.5284998416900635
可以看到CelebA_Spoof 在自己的数据集测试可以达到99%以上
但是在NUAA数据集上测试准确率只能达到: 0.528
查看CelebA_Spoof 数据集后发现,CelebA_Spoof 的spoof数据集都是图像打印在纸上的加头像,但是NUAA里面是电脑屏幕或者手机屏幕录取的图片
2. 使用CelebA_Spoof 训练的网络再次训练NUAA数据
def read_train_file():
base_path = r'E:\ml\fas\data\NUAA'
train_file_path = os.path.join(base_path, "train.txt")
train_image_path_list = []
train_labels_list = []
with open(train_file_path) as f:
lines = f.readlines()
for line in lines:
image_path = line.split(',')[0]
label = line.split(',')[1]
img = cv2.imread(image_path)
resize_img = cv2.resize(img, (100, 100))
train_image_path_list.append(resize_img)
train_labels_list.append(int(label))
return np.asarray(train_image_path_list), np.asarray(train_labels_list)
def read_val_file():
base_path = r'E:\ml\fas\data\NUAA'
val_file_path = os.path.join(base_path, "val.txt")
train_image_path_list = []
train_labels_list = []
with open(val_file_path) as f:
lines = f.readlines()
for line in lines:
image_path = line.split(',')[0]
label = line.split(',')[1]
img = cv2.imread(image_path)
resize_img = cv2.resize(img, (100, 100))
train_image_path_list.append(resize_img)
train_labels_list.append(int(label))
return np.asarray(train_image_path_list), np.asarray(train_labels_list)
def read_test_file():
base_path = r'E:\ml\fas\data\NUAA'
val_file_path = os.path.join(base_path, "test.txt")
train_image_path_list = []
train_labels_list = []
with open(val_file_path) as f:
lines = f.readlines()
for line in lines:
image_path = line.split(',')[0]
label = line.split(',')[1]
img = cv2.imread(image_path)
resize_img = cv2.resize(img, (100, 100))
train_image_path_list.append(resize_img)
train_labels_list.append(int(label))
return np.asarray(train_image_path_list), np.asarray(train_labels_list)
def fit2():
X_train, X_label = read_train_file()
X_valid, y_valid = read_val_file()
X_test, y_test = read_test_file()
model = load_model('model/live_model.h5')
history = model.fit(X_train, X_label, epochs=10, validation_data=(X_valid, y_valid))
print(history)
test_loss, test_acc = model.evaluate(X_test, y_test, verbose=2)
print(test_loss, test_acc)
if __name__ == '__main__':
fit2()
3.训练后测试结果
200/200 - 8s - loss: 5.3590 - accuracy: 0.6008
5.35904598236084 0.6008455753326416
虽然有些许提升,但是提升效果不怎么样
32 声望
13 粉丝
推荐阅读
推荐系统评测指标
一. 评测指标用户满意度、预测准确度、覆盖率、多样性、 新颖性、惊喜度、信任度、实时性、健壮性、商业目标1. 用户满意度满意度是评测推荐系统的最重要指标,只能通过用户调查或者在线实验获得,主要是通过调查...
捕风阅读 598评论 1
python cv2去水印(百度百科)
原理是:用2张图片进行对比需要注意 我这个ddd.jpg是自己非专业P的图,正常应该是都是黑的背景然后logo和原图一样大小,2张图片需要一样的像素长宽
瑞0908赞 2阅读 2.1k
MongoDB 插入时间与更新时间(create_time/update_time)
MongoDB 在数据库层面不能像 MySQL 一样设置自动创建 create_time/update_time,自动更新 update_time
qbit阅读 13.9k评论 2
视频清晰度优化指南
随着移动互联网的深入发展,视频消费场景逐渐变成主流,早期由于手机硬件的限制问题,导致生产出来的视频画质、清晰度存在较大的问题,用户体验不太好,当时的网络也处于4G的发展阶段,网络的限制也无法持续支持...
得物技术赞 2阅读 884
“3D 元宇宙技术”在汽车新零售领域的应用与实践
随着不久前汽车之家新零售项目震撼发布,我们直击用户看车选车痛点首次提出 ABC 新体验模式,以元宇宙科技打造沉浸式交互服务,开放元宇宙能源空间站体验店,为用户打造更“有用”的体验。
之家技术阅读 5.2k
DeepMind 发布强化学习通用算法 DreamerV3,AI 成精自学捡钻石
内容一览:强化学习是多学科领域的交叉产物,其本质是实现自动决策且可做连续决策。本文将介绍 DeepMind 最新研发成果:扩大强化学习应用范围的通用算法 DreamerV3。关键词:强化学习 DeepMind 通用算法
超神经HyperAI赞 1阅读 452
AIGC神器CLIP:技术详解及应用示例
编者按:上一期,我们介绍了Diffusion模型的发展历程、核心原理及其对AIGC发展的推动作用。本期,我们将共同走进另一项AI重要突破——CLIP,著名的DALLE和Stable Diffusion均采用了CLIP哦。
Baihai_IDP赞 1阅读 926
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。