当前位置: 首页 > news >正文

【psychopy】【脑与认知科学】认知过程中的面孔识别加工

目录

实验描述 

实验思路 

python实现


实验描述 

       现有的文献认为,人们对倒置的面孔、模糊的面孔等可能会出现加工时长增加、准确率下降的问题,现请你设计一个相关实验,判断不同的面孔是否会出现上述现象。请按照认知科学要求,画出对应的实验流程图,并叙述实验的对照组如何设置,并分析实验结果。

       熟悉程度判断实验举例:可以显示大家都认识的名人。也可以是陌生人,让被试先通过照片打乱顺序看几遍,再进入判断阶段,判断该照片是否看过。然后通过正确率、反应时等指标进行比较。

实验思路 

我们首先准备好一个包含128个人的人脸照片,如图1所示,其中64张为男生,64张为女生。

图1

我们实验的设计思路是,先从这128张照片中随机选出15张照片,然后向被试者展示这15张照片的前10张照片,并提示被试者尝试记住它们,然后从展示过的照片中随机选出5张和刚刚选取的15照片中未展示的后5张照片组成10张照片,打乱这10张照片的顺序,再次展示给被试者,被试者需要判断该图片是否展示过,记录过程中的正确率和反应时间。

实验流程图如图2所示。

图2

我们设置了三个对照组。

  • 原始照片对照组:这是基准对照组,接受未经过任何处理的原始照片。这个对照组的目的是确定参与者在没有任何外部干扰的情况下的表现,从而提供一个基准水平。
  • 倒置照片对照组:这个对照组接受倒置的照片,以比较参与者在处理倒置图像时的表现。这个对照组可以帮助确定倒置图像对认知能力的影响。
  • 模糊照片对照组:这个对照组接受模糊的照片,以比较参与者在处理模糊图像时的表现。这个对照组可以帮助确定模糊图像对认知能力的影响。

我们全程使用python的psychopy库完成实验的设计。

我们首先写一个函数,用于展示提示文字,被试者可以按任意键结束提示,如图3所示。

图3

然后从我们的人脸数据库中随机选出15张照片,然后向被试者展示这15张照片的前10张照片,并提示被试者尝试记住它们,每张照片展示2秒,如图4所示。

图4

然后从展示过的照片中随机选出5张和刚刚选取的15照片中未展示的后5张照片组成10张照片,打乱这10张照片的顺序,再次展示给被试者,被试者需要判断该图片是否展示过,如果展示过则输入Y,没有展示过则输入N,如图5所示。

图5

记录过程中判断的正确率与被试者的反应时间,并输出反馈结果到窗口中,如图6所示。

图6

最后将数据写入excel文件,如图7所示。

图7

对于图片的倒置处理,我们可以设置图片展示的旋转度为180度,如图8所示。

图8

对于图片的模糊处理,我们使用python的模糊滤波器库函数进行对图片模糊处理,如图9所示。

图9

然后我们开始运行程序,首先展示的是提示文字,如图10所示。

图10

原始图片组实验展示的图片如图11所示。

图11

倒置图片对照组展示的倒置图片如图12所示。

图12

模糊图片对照组展示的模糊图片如图13所示。

图13

然后显示提示文字,如图14所示。

图14

然后被试者判断展示的图片是否出现过,会给出判断结果和反应时间,如图15所示,为判断正确的结果。

图15

判断错误的结果如图16所示。

图16

经过多次实验,我们可以得到三组实验每组30次的记录数据,如图17所示。

图17

我们将数据进行整理,计算出每组实验的正确率,如图18所示。

图18

每组实验记录的平均反应时间如图19所示。

图19

由实验结果可以知道,人脸对于经过倒置和模糊处理的图像存在反应时间加长的情况,而且倒置处理比模糊处理的时长增加的更加明显。而对于正确率,实验结果显示,正确率最高的是模糊图片,其次是正常图片和倒置图片。

倒置图片的正确率比较低是因为人们在日常生活中接触到的大多数视觉信息都是正常方向的,我们对正常方向的物体和场景有更多的经验和熟悉度。当图片被倒置时,它与我们通常的观察经验不符,这可能导致我们处理图像时出现困惑或错误,也使得我们处理图像以及提取特征更加困难。

而模糊图片的正确率比较高可能是因为模糊图像可能会引起被试者更多的注意力,因为被试者需要更加集中精力去解释和理解图像,模糊图像通过简化和平滑图像,降低被试者的认知负荷,不需要处理过多的细节和复杂性,可以使被试者更容易理解和处理图像,当然也有可能是实验测试次数较少的原因。 

python实现

import os
import random
import pandas
from psychopy import visual, event, core# 展示提示文字
def showCue(text):cue = visual.TextStim(win, text=text, pos=(0, 0))cue.draw()win.flip()event.waitKeys()facesPath = 'face'
faces = os.listdir(facesPath)
showFaces = random.sample(faces, 15)
win = visual.Window(size=(1000, 618))
showCue('将展示10张照片,每张照片展示2秒\n请尝试记住它们,按任意键开始')
for face in showFaces[:10]:facePath = os.path.join(facesPath, face)faceImage = visual.ImageStim(win, image=facePath)faceImage.draw()win.flip()core.wait(2)
showedFaces = random.sample(showFaces[:10], 5)  # 随机取出5张展示过的照片
showFaces = showedFaces + showFaces[10:]  # 取出未展示过的5张照片和展示过的照片组合在一起
random.shuffle(showFaces)  # 重新打乱图片顺序
showCue('接下来将展示10张照片\n你需要判断该照片是否出现过\n如果出现过请按Y,否则请按N\n按任意键开始')
data = {'结果': [], '反应时间': []}
for face in showFaces[:10]:Time = core.Clock()facePath = os.path.join(facesPath, face)faceImage = visual.ImageStim(win, image=facePath)faceImage.draw()win.flip()key = event.waitKeys(keyList=['y', 'n'])time = Time.getTime()if key[0] == 'y' and face in showedFaces or key[0] == 'n' and face not in showedFaces:result = '正确'else:result = '错误'showCue(result + '!反应时间为' + str(time) + '秒!\n' + '按任意键继续')data['结果'].append(result)data['反应时间'].append(time)
win.close()
# 将数据写入excel
excel = 'normalData.xlsx'
df = pandas.DataFrame(data)
try:DF = pandas.read_excel(excel)  # 该execl文件已经存在则追加数据DF = pandas.concat([DF, df], ignore_index=True)DF.to_excel(excel, index=False)
except FileNotFoundError:  # 没有该excel文件将创建一个新的df.to_excel(excel, index=False)

相关文章:

【psychopy】【脑与认知科学】认知过程中的面孔识别加工

目录 实验描述 实验思路 python实现 实验描述 现有的文献认为,人们对倒置的面孔、模糊的面孔等可能会出现加工时长增加、准确率下降的问题,现请你设计一个相关实验,判断不同的面孔是否会出现上述现象。请按照认知科学要求,画…...

File类的常用API

判断文件类型 public boolean isDirectory() public boolean isFile() 获取文件信息 public boolean exists() public String getAbsolutePath() public String getPath() 返回创建文件对象时传入的抽象路径的字符串形式 public String getName() public long lastModi…...

02【Git分支的使用、Git回退、还原】

上一篇:01【Git的基本命令、底层命令、命令原理】 下一篇:03【Git的协同开发、TortoiseGit、IDEA的操作Git】 文章目录 02【Git分支的使用、Git回退、还原】一、分支1.1 分支概述1.1.1 Git分支简介1.1.2 Git分支原理 1.2 创建分支1.2.1 创建普通分支1.…...

Qt文件 I/O 操作

一.QFile 文件读取 QIODevice::ReadOnly QString filePath"/home/chenlang/RepUtils/1.txt"; QFile file(filePath); 1.逐行读取 if (file.open(QIODevice::ReadOnly | QIODevice::Text)) {QTextStream in(&file);while (!in.atEnd()) {QString line i…...

Springboot 使用JavaMailSender发送邮件 + Excel附件

目录 1.生成Excel表格 1.依赖设置 2.代码: 2.邮件发送 1.邮件发送功能实现-带附件 2.踩过的坑 1.附件名中文乱码问题 3.参考文章: 需求描述:项目审批完毕后,需要发送邮件通知相关人员,并且要附带数据库表生成的…...

软件工程——期末复习知识点汇总

本帖的资料来源于某国内顶流高校的期末考试资料,仅包含核心的简答题,大家结合个人情况,按需复习~ 总的来说,大层面重点包括如下几个方面: 软件过程需求工程 设计工程软件测试软件项目管理软件过程管理 1.掌握软件生命…...

postgresSQL 数据库本地创建表空间读取本地备份tar文件与SQL文件

使用pgAdmin4,你安装PG得文件夹****/16/paAdmin 4 /runtime/pgAdmin4.exe 第一步:找到Tablespaces 第二步:创建表空间名称 第三步:指向数据文件 第四步:找到Databases,创建表空间 第五步:输入数…...

Elasticsearch跨集群检索配置

跨集群检索字面意思,同一个检索语句,可以检索到多个ES集群中的数据,ES集群默认是支持跨集群检索的,只需要动态的增加入节点即可,下面跟我一起来体验下ES的跨集群检索的魅力。 Elasticsearch 跨集群检索推荐的是不同集群…...

第九章 软件BUG和管理

一、学习目的与要求 软件测试的目的就是为了发现软件BUG。通过本章的学习,应了解软件BUG的产生和影响,掌握软件开发过程中产生的BUG种类,掌握使BUG重现的技术,了解软件BUG报告单应该包括的主要内容及软件BUG的管理流程。 二、考核…...

大厂面试题-Java并发编程基础篇(二)

目录 一、wait和notify这个为什么要在synchronized代码块中? 二、ThreadLocal是什么?它的实现原理呢? 三、基于数组的阻塞队列ArrayBlockingQueue原理 四、怎么理解线程安全? 五、请简述一下伪共享的概念以及如何避免 六、什…...

测绘屠夫报表系统V1.0.0-beta

1. 简介 测绘屠夫报表系统,能够根据变形监测数据:水准、平面、轴力、倾斜等数据,生成对应的报表,生成报表如下图。如需进一步了解,可以加QQ:3339745885。视频教程可以在bilibili观看。 2. 软件主界面 3. …...

『力扣刷题本』:移除链表元素

一、题目 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 示例 1: 输入:head [1,2,6,3,4,5,6], val 6 输出:[1,2,3,4,5]示例 2: 输入&a…...

图像特征Vol.1:计算机视觉特征度量|第一弹:【纹理区域特征】

目录 一、前言二、纹理区域度量2.1:边缘特征度量2.2:互相关和自相关特征2.3:频谱方法—傅里叶谱2.4:灰度共生矩阵(GLCM)2.5:Laws纹理特征2.6:局部二值模式(LBP) 一、前言 &#x1f…...

day01:数据库DDL

一:基础概念 数据库:存储数据的仓库,数据是有组织的进行存储 数据库管理系统:操纵和管理数据库的大型软件 SQL:操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准 关系图 二:数据模型 关系型数据库:建…...

9、定义错误页

在layouts目录下新建error.vue&#xff0c;可以通过layout函数使用布局文件&#xff0c;通过props: [“error”]能拿到错误信息对象。 <template><div>{{ error.statusCode }}: {{ error.message }}</div> </template><script> export default {…...

有关多线程环境下的Volatile、lock、Interlocked和Synchronized们

&#x1f4e2;欢迎点赞 &#xff1a;&#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff0c;赐人玫瑰&#xff0c;手留余香&#xff01;&#x1f4e2;本文作者&#xff1a;由webmote 原创&#x1f4e2;作者格言&#xff1a;新的征程&#xff0c;我们面对的不仅…...

spring boot利用redis作为缓存

一、缓存介绍 在 Spring Boot 中&#xff0c;可以使用 Spring Cache abstraction 来实现缓存功能。Spring Cache abstraction 是 Spring 框架提供的一个抽象层&#xff0c;它对底层缓存实现&#xff08;如 Redis、Ehcache、Caffeine 等&#xff09;进行了封装&#xff0c;使得在…...

Android Studio 查看Framework源码

1、背景 安卓系统源码量很庞大&#xff0c;选择好的开发工具和方式去开发可以提升开发效率&#xff0c;常用的开发工具有Source Insight 、Visual Studio Code、Android Studio&#xff0c;vscode适合C和C代码开发&#xff0c;java层代码无法跳转和提示&#xff0c;因此&#…...

FileInputStream文件字节输入流

一.概念 以内存为基准&#xff0c;把磁盘文件中的数据以字节形式读入内存中 二.构造器 public FileInputStream(File file) public FileInputStream(String pathname) 这两个都是创建字节输入流管道与源文件接通 三.方法 public int read() :每次读取一个字节返回&#xff0c;如…...

【Qt】窗口和对话框区别、主窗口和二级窗口区别、QMainWindow和QDialog区别

窗口和对话框&#xff08;Window and Dialog Widgets&#xff09; 未嵌入在父界面中的界面称为窗口。&#xff08;通常&#xff0c;窗口具有边框和标题栏&#xff0c;尽管也可以使用合适的窗口标志创建没有此类标志的窗口&#xff09;。 在Qt中&#xff0c;QMainWindow和QDial…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 &#xff08;结构体大小计算及位段 详解请看&#xff1a;自定义类型&#xff1a;结构体进阶-CSDN博客&#xff09; 1.在32位系统环境&#xff0c;编译选项为4字节对齐&#xff0c;那么sizeof(A)和sizeof(B)是多少&#xff1f; #pragma pack(4)st…...

【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密

在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

SCAU期末笔记 - 数据分析与数据挖掘题库解析

这门怎么题库答案不全啊日 来简单学一下子来 一、选择题&#xff08;可多选&#xff09; 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘&#xff1a;专注于发现数据中…...

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法&#xff1a;netstat [选项] 功能&#xff1a;查看网络状态 常用选项&#xff1a; n 拒绝显示别名&#…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享

文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的&#xff0c;根据Excel列的需求预估的工时直接打骨折&#xff0c;不要问我为什么&#xff0c;主要…...

基于Docker Compose部署Java微服务项目

一. 创建根项目 根项目&#xff08;父项目&#xff09;主要用于依赖管理 一些需要注意的点&#xff1a; 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件&#xff0c;否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...

九天毕昇深度学习平台 | 如何安装库?

pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子&#xff1a; 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...

AI病理诊断七剑下天山,医疗未来触手可及

一、病理诊断困局&#xff1a;刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断"&#xff0c;医生需通过显微镜观察组织切片&#xff0c;在细胞迷宫中捕捉癌变信号。某省病理质控报告显示&#xff0c;基层医院误诊率达12%-15%&#xff0c;专家会诊…...

CTF show 数学不及格

拿到题目先查一下壳&#xff0c;看一下信息 发现是一个ELF文件&#xff0c;64位的 ​ 用IDA Pro 64 打开这个文件 ​ 然后点击F5进行伪代码转换 可以看到有五个if判断&#xff0c;第一个argc ! 5这个判断并没有起太大作用&#xff0c;主要是下面四个if判断 ​ 根据题目…...

高效的后台管理系统——可进行二次开发

随着互联网技术的迅猛发展&#xff0c;企业的数字化管理变得愈加重要。后台管理系统作为数据存储与业务管理的核心&#xff0c;成为了现代企业不可或缺的一部分。今天我们要介绍的是一款名为 若依后台管理框架 的系统&#xff0c;它不仅支持跨平台应用&#xff0c;还能提供丰富…...