/amsoftmax-caffe

利用amsoftmax进行人脸识别

Primary LanguageJupyter Notebook

前言

基于AMsoftmax的人脸识别网络。

论文来源:Amsoftmax

论文笔记:我的博客

caffe来源:happyNear

preprocess

人脸检测与对齐采用MTCNN,同一缩放到112x96大小,黑白图片。对应代码crop_align.py

训练数据集采用WebFace,共10575个人。基于clean-list.txt对数据集进行清洗。原始数据集一共有494414张图片,清洗后数据集有455594张图片,经过mtcnn预处理之后剩余图片445739张。

未进行数据集均衡与扩充处理。

create_lmdb.sh用于将数据集生成lmdb格式。

训练集与测试集比例为4:1。

train

训练采用模型文件train_val.prototxt

对应solver配置文件solver.prototxt

采用mirror trick进行前向计算的特征提取,对应模型文件deploy_mirror.prototxt

调用train.sh进行模型训练。

log

训练log文件记录为train.log。调用parse_log.py会生成train.traintrain.test

调用plot_loss.py绘制loss曲线。

train_loss

val_loss

test

调用create_feature_LFW.py提取6000对lfw图片特征。

调用accuracy_LFW6000.py计算准确率,cal_roc.py绘制roc曲线。

最终准确率98.05%,最佳门限0.625,ROC曲线AUC值0.9961

roc曲线