Retinaface是来自insightFace的又一力作,基于one-stage的人脸检测网络。详情介绍可以参看:https://arxiv.org/pdf/1905.00641.pdf
本文主要是使用FastDeply来体验RetinaFace人脸检测。ONNX模型下载地址:https://bj.bcebos.com/paddlehub/fastdeploy/Pytorch_RetinaFace_mobile0.25-640-640.onnx。模型很小。
模型 | 大小 | 精度 |
RetinaFace_mobile0.25-720 | 1.7MB | - |
import cv2
import fastdeploy as fd
import os
model_file="facedet/Pytorch_RetinaFace_mobile0.25-640-640.onnx"
model=fd.vision.facedet.RetinaFace(model_file)
#读取图像BGR,HWC
imglst=["213.jpg","410.jpg","518.jpg"]
for fname in imglst:
img=cv2.imread(os.path.join("img",fname))
#预测
result=model.predict(img.copy())
print(result)
#可视化结果
vis_img= fd.vision.vis_face_detection(img,result)
#显示结果
cv2.imshow("result",vis_img)
cv2.waitKey(0)
cv2.destroyAllWindows()运行结果
结果1
结果2
结果3
说明:
在OpenCV使用Haar特征检测人脸时,需要使用OpenCV提供的xml文件(级联表),在haarcascades目录下。
使用RetinaFace是一种轻量化的人脸骨干网络,不仅实现了人脸检测,还实现了人脸关键点检测(默认为5个关键点)。
FaceDetectionResult: [xmin, ymin, xmax, ymax, score, (x, y) x 5]
| 留言与评论(共有 0 条评论) “” |