資源簡介
1)需要下載NUAA數據集;2)結合NUAA數據集,完成根據list讀取數據集,embedding,之后訓練一個活體檢測模型;3)測試模型的性能
代碼片段和文件信息
from?os?import?listdir
from?pickle?import?dump
import?keras
from?keras.applications.vgg16?import?VGG16
from?keras.preprocessing.image?import?load_img
from?keras.preprocessing.image?import?img_to_array
from?keras.applications.vgg16?import?preprocess_input
from?keras.models?import?Model
#saved?as?C:\Users\Administrator\.keras\models
def?extract_features(directorytarget_size):
model?=?VGG16()
#Modify?model?to?remove?the?last?layer
model.layers.pop()
model?=?Model(inputs=model.inputsoutputs=model.layers[-1].output)
print(model.summary())
for?sub_dir?in?listdir(directory):
if?sub_dir?==?‘.DS_Store‘:
continue
if?sub_dir?==?‘ImposterRaw‘:
features?=?{}
subdirectory?=?directory?+?“/“+?sub_dir
for?subsub?in?listdir(subdirectory):
if?subsub?==?“.DS_Store“:
continue
subsubdirectory?=?subdirectory?+?“/“?+?subsub
for?img_name?in?listdir(subsubdirectory):
filename?=?subsubdirectory+?“/“?+?img_name
if?img_name?==?‘Thumbs.db‘?or?img_name?==?‘.DS_Store‘:
continue
image?=?load_img(filenametarget_size=(target_sizetarget_size))
image?=?img_to_array(image)
image?=?image.reshape((1?image.shape[0]?image.shape[1]?image.shape[2]))
#?prepare?the?image?for?the?VGG?model
image?=?preprocess_input(image)
#?get?features
img_feature?=?model.predict(image?verbose=0)
#?store?feature
features[subsub+“\\“+img_name]?=?img_feature
print(‘>%s‘?%?filename)
dump(features?open(“ImposterRaw“?+?“.pkl“?‘wb‘))
if?sub_dir?==?‘ClientRaw‘:
features?=?{}
subdirectory?=?directory?+?“/“?+?sub_dir
for?subsub?in?listdir(subdirectory):
if?subsub?==?“.DS_Store“:
continue
subsubdirectory?=?subdirectory?+?“/“?+?subsub
for?img_name?in?listdir(subsubdirectory):
filename?=?subsubdirectory+?“/“?+?img_name
if?img_name?==?‘Thumbs.db‘?or?img_name?==?‘.DS_Store‘:
continue
image?=?load_img(filename?target_size=(target_size?target_size))
image?=?img_to_array(image)
image?=?image.reshape((1?image.shape[0]?image.shape[1]?image.shape[2]))
#?prepare?the?image?for?the?VGG?model
image?=?preprocess_input(image)
#?get?features
img_feature?=?model.predict(image?verbose=0)
#?store?feature
features[subsub?+?“\\“?+?img_name]?=?img_feature
print(‘>%s‘?%?filename)
dump(features?open(“ClientRaw“+“.pkl“?‘wb‘))
img_features?=?extract_features(“G:\\人臉活體檢測\\db\\raw“224)
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-02-27?15:59??NUAA_Face-anti-spoofing\
?????文件????84128685??2019-02-27?15:55??NUAA_Face-anti-spoofing\ClientRaw.pkl
?????文件???123746064??2019-02-27?15:57??NUAA_Face-anti-spoofing\ImposterRaw.pkl
?????文件????????1317??2018-07-20?04:58??NUAA_Face-anti-spoofing\README.md
?????文件???????93425??2010-10-15?19:22??NUAA_Face-anti-spoofing\client_test_raw.txt
?????文件???????48404??2010-10-15?19:18??NUAA_Face-anti-spoofing\client_train_raw.txt
?????文件????????2482??2019-02-27?15:52??NUAA_Face-anti-spoofing\create_em
?????文件??????160034??2010-10-15?19:28??NUAA_Face-anti-spoofing\imposter_test_raw.txt
?????文件???????48562??2010-10-15?19:25??NUAA_Face-anti-spoofing\imposter_train_raw.txt
?????文件????????4379??2018-07-20?04:58??NUAA_Face-anti-spoofing\model.py
- 上一篇:EMC設計及風險評估
- 下一篇:ReactNative中調用相機相冊
評論
共有 條評論