Open dtiny opened 1 month ago
@dtiny
我这提供的模型是比赛数据集上分协议几千张图训练的过拟合比赛数据的模型,并不适配任意场景下的图片。只能用于比赛测试集上测试结果才会好。 你要测试任意场景下的spoof和live需要自己重新训练模型了。
@dtiny 我在readme中新增了3个我们自己数据集训练的低配版本的模型,能够适配任意场景下的图片,应该能适配你自己的数据,可以尝试我提供的新模型。
谢谢作者帮助,我下载了face_swin_v2_base.pth模型测试,但是测试报错了,请帮助分析一下原因。
测试脚本如下: python -m torch.distributed.run --nproc_per_node=1 --master_port=12353 \ test_batch.py \ --protocol 'p1' \ --val_root "/disk_u2_a/face_anti-spoofing/CVPR23-FAS-WILD/test_v2/CVPR2023-Anti_Spoof-Challenge-ReleaseData-Test_V2-20230223/data" \ --val_list "models/CVPR2023-Anti_Spoof-Challenge-ReleaseData-Test_V2-20230223_Test.txt" \ --arch swin_v2_b \ --num_classes 2 \ --input_size 224 \ --batch_size 1 \ --workers 8 \ --resume 'models/face_swin_v2_base.pth' \ --score_list 'models/exp_p22/face_spoof.txt'
报错如下:
Failures:
@dtiny 用bash scripts/test.sh脚本来测试。 --protocol 要设置为'none' ,否则读取不到你自己的数据集。face_swin_v2_base.pth要输入人脸区域的图片效果才会好。full_swin_v2_base.pth要输入全图区域的图片效果才好。
@dtiny 代码更新过了,你应该需要git pull拉取一下新的代码
下载了readme中提供的3个模型链接,script目录下的三个脚本全部测试一遍(test_p1.sh test_p21.sh test_p22.sh),发现模型的推理结果,准确度极低,几乎所有的数据都被识别为live类(1类),两种图片都测试过(一种是原图片推理,几乎都是live类;另一种是截取的人脸图片推理,准确率也很低,比原图推理要高一点点)。后来我直接使用了训练图片进行测试,发现结果也一样,spoof图片几乎都被识别为live类了,不知道是什么问题,希望作者能给与帮助和解答,谢谢。
测试系统:ubuntu18.04 python版本:python3.8,conda环境管理 cuda版本:11.2 GPU驱动版本:460.32.03