@wanghuijiao
2021-07-12T12:38:21.000000Z
字数 1945
阅读 844
人脸识别Tensorrt版本与Mxnet版本效果差异大原因定位实验
技术文档
问题描述
- 人脸检测有三种算法
- RetinaFace-Mxnet
- Yolov4/5
- FP16_Yolov4/5
- 人脸识别有两种算法(Arcface特指Arcface-MobileFaceNet)
- Arcface-Mxnet
- Arcface-Tensorrt
- 已知
- 组合一:RetinaFace-Mxnet & Arcface-Mxnet 效果好,可实际应用
- 组合二:FP16_Yolov4/5 & Arcface-Tensorrt 效果差,不可应用
- 因此,探究上述两种组合之间差距过大的原因
怀疑原因
1. yolov4/5的人脸检测训练出来的效果比RetinaFace效果差
验证思路
- 将人脸检测和人脸识别两个步骤解耦分离:具体做法是将人脸检测算法对人脸框的检测结果保存成"检测算法xxx_face_bboxes.txt" 文件,经人脸识别算法识别后对识别结果保存成图片进行可视化。三种检测算法与两种识别算法分别排列组合进行探究。
- Mxnet版验证(By 王慧娇)
- Arcface-Mxnet 与RetinaFace-Mxnet、 Yolov4/5、FP16_Yolov4/5分别搭配
- 已知:RetinaFace-Mxnet & Arcface-Mxnet 效果好,可实际应用
- 若Yolov4/5、FP16_Yolov4/5效果均差于 RetinaFace-Mxnet,则可验证Yolov4/5人脸检测框不过关
- 若Yolov4/5效果与 RetinaFace-Mxnet相差无几,但FP16_Yolov4/5效果非常差,则说明FP16_Yolov4/5量化过程出现问题。
- 若Yolov4/5、FP16_Yolov4/5效果与 RetinaFace-Mxnet差不多,说明Arcface-tensorrt版有问题
- Tensorrt版验证(By 张一杨)
- Arcface-Tensorrt 与 RetinaFace-Mxnet、Yolov4/5、FP16_Yolov4/5 分别搭配
- 已知: FP16_Yolov4/5 效果差,不可应用
- 若 RetinaFace-Mxnet 效果好,Yolov4/5不好,说明Yolov4/5检测人脸不过关
- 若 RetinaFace-Mxnet 、Yolov4/5 都不好,结果需要结合Arcface-Mxnet结果一起分析,有可能是 Arcface-Tensorrt 算法有问题。
- 若 RetinaFace-Mxnet 、Yolov4/5 都好,说明是FP16_Yolov4/5量化过程出现问题。
需要做的准备
验证结论
- Yolo人脸检测算法可用,问题出在人脸检测后处理步骤添加了“扩边”操作,每条边都向外扩展22个像素值,然后统一resize到112*112输入Arcface模型的。目前tensorrt版增加此步后算法效果可用。
2. Yolov4/5经过量化后模型效果降低
3. Arcface-Mxnet与Arcface-tensorrt差别大