Facial Expression Recognition Challenge 2013数据集下载

样本图片

图片

简介

表情数据由48x48像素的人脸灰度图像组成;

根据面部表情中显示的情绪将每张脸分为七类(0=愤怒,1=厌恶,2=恐惧,3=高兴,4=悲伤,5=惊讶,6=中性)

FER数据集主要包含以下文件:

  • train.csv:包含两列,“emotion”和“pixels”。“emotion”列包含一个数字代码,范围从0到6(含6),表示图像中存在的情绪。“pixels”列则为48x48的灰度图像的一维形式,共含有28709个图像

  • test.csv:只包含“pixels”列,共含有7178个测试图像

另外还有用于排行榜的公共测试集

数据集调用

函数data_generate主要对原始数据进行预处理,生成48x48g格式的训练图像x_train和图像标签y_train。值得说明的是,该函数简单地将所有训练图像以及标签一次性读取到内存中,考虑性能的同学可以采用批量读取的方式降低内存负荷。

import csvimport numpy as npimport matplotlib.pyplot as plt
path = "G:\\train.csv"
def data_generate(file_path):    samples = []    with open(file_path, "r") as train_file:        csv_reader = csv.reader(train_file)  # 使用csv.reader读取csvfile中的文件        next(csv_reader)  # 去掉首行        for row in csv_reader:  # 将csv 文件中的数据保存到samples中            samples.append(row)    images = [[i[1]] for i in samples]    x_train = []    for image in images:        x_train.append(np.array([int(i) for i in image[0].split(" ")]).reshape(48, 48))    labels = [[i[0]] for i in samples]    y_train = []    for label in labels:        y_train.append(int(label[0]))    return x_train, y_train

下面的函数可以实现不同面部表情都有哪些图片,一起来看看吧

#获取指定表情和个数的面部图像def facial_expression_required(label, num):    x_train, y_train = data_generate(path)    images = []    y = 0    for i in range(len(y_train)):        if y_train[i] == label:            images.append(x_train[i])            y += 1        if y == num:            break    return images
#show出指定表情和个数的面部图像def facial_expression_show(label, num=9):    images = facial_expression_required(label, num)    for i in range(num):        plt.subplot(1, num, 1 + i)        plt.imshow(images[i], "gray")        plt.xticks([])        plt.yticks([])    plt.show()

if __name__ == "__main__":    facial_expression_show(0, 9)

比如愤怒(0)

图片

或者高兴(3)

图片

再或者惊讶(5)

图片

Citation:

"Challenges in Representation Learning: A report on three machine learning contests." I Goodfellow, D Erhan, PL Carrier, A Courville, M Mirza, B Hamner, W Cukierski, Y Tang, DH Lee, Y Zhou, C Ramaiah, F Feng, R Li, X Wang, D Athanasakis, J Shawe-Taylor, M Milakov, J Park, R Ionescu, M Popescu, C Grozea, J Bergstra, J Xie, L Romaszko, B Xu, Z Chuang, and Y. Bengio. arXiv 2013.

See fer2013.bib for a bibtex entry.

关注后,后台回复 ferc 即可获得

图片

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
在PyTorch环境下进行Kaggle数据集花种类识别是一个很有意义的任务。为了完成这个任务,我们需要做以下几步。 首先,我们需要安装并配置PyTorch环境。PyTorch是一个流行的深度学习框架,通过它我们可以构建和训练神经网络模型。安装PyTorch可以通过官方网站或者使用包管理工具如conda来完成。 接下来,我们需要下载Kaggle数据集,并进行数据的预处理。通常来说,我们会将数据分为训练集、验证集和测试集。同时,数据还需要进行标准化和归一化处理,以便于模型的训练和预测。 然后,我们需要构建一个适合花种类识别的深度学习模型。一般来说,我们可以使用卷积神经网络(Convolutional Neural Network)来完成这个任务。在PyTorch中,我们可以使用torch.nn模块来构建模型,定义各种网络层和激活函数。 接下来,我们需要定义损失函数和优化器。损失函数用于评估模型预测结果和真实标签之间的差异,优化器则用于更新模型的参数以最小化损失函数。在PyTorch中,我们可以使用torch.optim模块中的各种优化器。 最后,我们可以使用训练集进行模型的训练,并使用验证集进行模型的调优。一般来说,我们会使用批量梯度下降(Batch Gradient Descent)来更新模型参数。在每个训练迭代中,我们将输入数据传入模型进行预测,并计算损失函数的值。然后,我们使用优化器来更新模型的参数,使损失函数的值最小化。 完成模型的训练后,我们可以使用测试集来评估模型的性能。通过比较模型在测试集上的预测结果和真实标签,我们可以计算模型的准确率和其他评估指标。 通过以上步骤,我们可以在PyTorch环境下完成Kaggle数据集花种类识别任务。这个过程中,我们不仅学习了如何使用PyTorch构建深度学习模型,还掌握了数据预处理、模型训练和评估的技巧。这对我们在其他类似任务中的应用也是非常有帮助的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

田土豆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值