jquery 的網(wǎng)站模板下載地址今天的新聞最新消息
目錄
實(shí)驗(yàn)描述?
實(shí)驗(yàn)思路?
python實(shí)現(xiàn)
實(shí)驗(yàn)描述?
? ? ? ?現(xiàn)有的文獻(xiàn)認(rèn)為,人們對(duì)倒置的面孔、模糊的面孔等可能會(huì)出現(xiàn)加工時(shí)長(zhǎng)增加、準(zhǔn)確率下降的問(wèn)題,現(xiàn)請(qǐng)你設(shè)計(jì)一個(gè)相關(guān)實(shí)驗(yàn),判斷不同的面孔是否會(huì)出現(xiàn)上述現(xiàn)象。請(qǐng)按照認(rèn)知科學(xué)要求,畫出對(duì)應(yīng)的實(shí)驗(yàn)流程圖,并敘述實(shí)驗(yàn)的對(duì)照組如何設(shè)置,并分析實(shí)驗(yàn)結(jié)果。
? ? ? ?熟悉程度判斷實(shí)驗(yàn)舉例:可以顯示大家都認(rèn)識(shí)的名人。也可以是陌生人,讓被試先通過(guò)照片打亂順序看幾遍,再進(jìn)入判斷階段,判斷該照片是否看過(guò)。然后通過(guò)正確率、反應(yīng)時(shí)等指標(biāo)進(jìn)行比較。
實(shí)驗(yàn)思路?
我們首先準(zhǔn)備好一個(gè)包含128個(gè)人的人臉照片,如圖1所示,其中64張為男生,64張為女生。
圖1
我們實(shí)驗(yàn)的設(shè)計(jì)思路是,先從這128張照片中隨機(jī)選出15張照片,然后向被試者展示這15張照片的前10張照片,并提示被試者嘗試記住它們,然后從展示過(guò)的照片中隨機(jī)選出5張和剛剛選取的15照片中未展示的后5張照片組成10張照片,打亂這10張照片的順序,再次展示給被試者,被試者需要判斷該圖片是否展示過(guò),記錄過(guò)程中的正確率和反應(yīng)時(shí)間。
實(shí)驗(yàn)流程圖如圖2所示。
圖2
我們?cè)O(shè)置了三個(gè)對(duì)照組。
- 原始照片對(duì)照組:這是基準(zhǔn)對(duì)照組,接受未經(jīng)過(guò)任何處理的原始照片。這個(gè)對(duì)照組的目的是確定參與者在沒(méi)有任何外部干擾的情況下的表現(xiàn),從而提供一個(gè)基準(zhǔn)水平。
- 倒置照片對(duì)照組:這個(gè)對(duì)照組接受倒置的照片,以比較參與者在處理倒置圖像時(shí)的表現(xiàn)。這個(gè)對(duì)照組可以幫助確定倒置圖像對(duì)認(rèn)知能力的影響。
- 模糊照片對(duì)照組:這個(gè)對(duì)照組接受模糊的照片,以比較參與者在處理模糊圖像時(shí)的表現(xiàn)。這個(gè)對(duì)照組可以幫助確定模糊圖像對(duì)認(rèn)知能力的影響。
我們?nèi)淌褂胮ython的psychopy庫(kù)完成實(shí)驗(yàn)的設(shè)計(jì)。
我們首先寫一個(gè)函數(shù),用于展示提示文字,被試者可以按任意鍵結(jié)束提示,如圖3所示。
圖3
然后從我們的人臉數(shù)據(jù)庫(kù)中隨機(jī)選出15張照片,然后向被試者展示這15張照片的前10張照片,并提示被試者嘗試記住它們,每張照片展示2秒,如圖4所示。
圖4
然后從展示過(guò)的照片中隨機(jī)選出5張和剛剛選取的15照片中未展示的后5張照片組成10張照片,打亂這10張照片的順序,再次展示給被試者,被試者需要判斷該圖片是否展示過(guò),如果展示過(guò)則輸入Y,沒(méi)有展示過(guò)則輸入N,如圖5所示。
圖5
記錄過(guò)程中判斷的正確率與被試者的反應(yīng)時(shí)間,并輸出反饋結(jié)果到窗口中,如圖6所示。
圖6
最后將數(shù)據(jù)寫入excel文件,如圖7所示。
圖7
對(duì)于圖片的倒置處理,我們可以設(shè)置圖片展示的旋轉(zhuǎn)度為180度,如圖8所示。
圖8
對(duì)于圖片的模糊處理,我們使用python的模糊濾波器庫(kù)函數(shù)進(jìn)行對(duì)圖片模糊處理,如圖9所示。
圖9
然后我們開(kāi)始運(yùn)行程序,首先展示的是提示文字,如圖10所示。
圖10
原始圖片組實(shí)驗(yàn)展示的圖片如圖11所示。
圖11
倒置圖片對(duì)照組展示的倒置圖片如圖12所示。
圖12
模糊圖片對(duì)照組展示的模糊圖片如圖13所示。
圖13
然后顯示提示文字,如圖14所示。
圖14
然后被試者判斷展示的圖片是否出現(xiàn)過(guò),會(huì)給出判斷結(jié)果和反應(yīng)時(shí)間,如圖15所示,為判斷正確的結(jié)果。
圖15
判斷錯(cuò)誤的結(jié)果如圖16所示。
圖16
經(jīng)過(guò)多次實(shí)驗(yàn),我們可以得到三組實(shí)驗(yàn)每組30次的記錄數(shù)據(jù),如圖17所示。
圖17
我們將數(shù)據(jù)進(jìn)行整理,計(jì)算出每組實(shí)驗(yàn)的正確率,如圖18所示。
圖18
每組實(shí)驗(yàn)記錄的平均反應(yīng)時(shí)間如圖19所示。
圖19
由實(shí)驗(yàn)結(jié)果可以知道,人臉對(duì)于經(jīng)過(guò)倒置和模糊處理的圖像存在反應(yīng)時(shí)間加長(zhǎng)的情況,而且倒置處理比模糊處理的時(shí)長(zhǎng)增加的更加明顯。而對(duì)于正確率,實(shí)驗(yàn)結(jié)果顯示,正確率最高的是模糊圖片,其次是正常圖片和倒置圖片。
倒置圖片的正確率比較低是因?yàn)槿藗冊(cè)谌粘I钪薪佑|到的大多數(shù)視覺(jué)信息都是正常方向的,我們對(duì)正常方向的物體和場(chǎng)景有更多的經(jīng)驗(yàn)和熟悉度。當(dāng)圖片被倒置時(shí),它與我們通常的觀察經(jīng)驗(yàn)不符,這可能導(dǎo)致我們處理圖像時(shí)出現(xiàn)困惑或錯(cuò)誤,也使得我們處理圖像以及提取特征更加困難。
而模糊圖片的正確率比較高可能是因?yàn)槟:龍D像可能會(huì)引起被試者更多的注意力,因?yàn)楸辉囌咝枰蛹芯θソ忉尯屠斫鈭D像,模糊圖像通過(guò)簡(jiǎn)化和平滑圖像,降低被試者的認(rèn)知負(fù)荷,不需要處理過(guò)多的細(xì)節(jié)和復(fù)雜性,可以使被試者更容易理解和處理圖像,當(dāng)然也有可能是實(shí)驗(yàn)測(cè)試次數(shù)較少的原因。?
python實(shí)現(xiàn)
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請(qǐng)嘗試記住它們,按任意鍵開(kāi)始')
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) # 隨機(jī)取出5張展示過(guò)的照片
showFaces = showedFaces + showFaces[10:] # 取出未展示過(guò)的5張照片和展示過(guò)的照片組合在一起
random.shuffle(showFaces) # 重新打亂圖片順序
showCue('接下來(lái)將展示10張照片\n你需要判斷該照片是否出現(xiàn)過(guò)\n如果出現(xiàn)過(guò)請(qǐng)按Y,否則請(qǐng)按N\n按任意鍵開(kāi)始')
data = {'結(jié)果': [], '反應(yīng)時(shí)間': []}
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 = '錯(cuò)誤'showCue(result + '!反應(yīng)時(shí)間為' + str(time) + '秒!\n' + '按任意鍵繼續(xù)')data['結(jié)果'].append(result)data['反應(yīng)時(shí)間'].append(time)
win.close()
# 將數(shù)據(jù)寫入excel
excel = 'normalData.xlsx'
df = pandas.DataFrame(data)
try:DF = pandas.read_excel(excel) # 該execl文件已經(jīng)存在則追加數(shù)據(jù)DF = pandas.concat([DF, df], ignore_index=True)DF.to_excel(excel, index=False)
except FileNotFoundError: # 沒(méi)有該excel文件將創(chuàng)建一個(gè)新的df.to_excel(excel, index=False)