145.人工智能-RetinaFace(ONNX模型)的人脸检测

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 条评论) “”
   
验证码:

相关文章

推荐文章