Giter VIP home page Giter VIP logo

facenet-retinaface-pytorch's Introduction

Facenet+Retinaface:人脸识别模型在Pytorch当中的实现


目录

  1. 注意事项 Attention
  2. 所需环境 Environment
  3. 文件下载 Download
  4. 预测步骤 How2predict
  5. 参考资料 Reference

注意事项

该库中包含了两个网络,分别是retinaface和facenet。二者使用不同的权值。
在使用网络时一定要注意权值的选择,以及主干与权值的匹配。
retinaface人脸检测仓库为,可以训练也可以预测:https://github.com/bubbliiiing/retinaface-pytorch
facenet人脸识别仓库为,可以训练也可以预测:https://github.com/bubbliiiing/facenet-pytorch

所需环境

pytorch==1.2.0

文件下载

预测所需的权值文件可以在百度云下载。
链接: https://pan.baidu.com/s/1iTo4_x0DHg0GoTUQWduMZw 提取码: dmw6

预测步骤

  1. 本项目自带主干为mobilenet的retinaface模型与facenet模型。可以直接运行,如果想要使用主干为resnet50的retinafa和主干为inception_resnetv1的facenet模型需要。
  2. 在retinaface.py文件里面,在如下部分修改model_path和backbone使其对应训练好的文件。
_defaults = {
    "retinaface_model_path" : 'model_data/Retinaface_mobilenet0.25.pth',
    #-----------------------------------#
    #   可选retinaface_backbone有
    #   mobilenet和resnet50
    #-----------------------------------#
    "retinaface_backbone"   : "mobilenet",
    "confidence"            : 0.5,
    "iou"                   : 0.3,
    #----------------------------------------------------------------------#
    #   是否需要进行图像大小限制。
    #   输入图像大小会大幅度地影响FPS,想加快检测速度可以减少input_shape。
    #   开启后,会将输入图像的大小限制为input_shape。否则使用原图进行预测。
    #   会导致检测结果偏差,主干为resnet50不存在此问题。
    #   可根据输入图像的大小自行调整input_shape,注意为32的倍数,如[640, 640, 3]
    #----------------------------------------------------------------------#
    "retinaface_input_shape": [640, 640, 3],
    #-----------------------------------#
    #   是否需要进行图像大小限制
    #-----------------------------------#
    "letterbox_image"       : True,
    
    "facenet_model_path"    : 'facenet_inception_resnetv1.pth',
    #-----------------------------------#
    #   可选facenet_backbone有
    #   mobilenet和inception_resnetv1
    #-----------------------------------#
    "facenet_backbone"      : "inception_resnetv1",
    "facenet_input_shape"   : [160,160,3],
    "facenet_threhold"      : 0.9,

    "cuda"                  : True
}
  1. 运行encoding.py,对face_dataset里面的图片进行编码,face_dataset的命名规则为XXX_1.jpg、XXX_2.jpg。最终在model_data文件夹下生成对应的数据库人脸编码数据文件。
  2. 运行predict.py,输入下述文字,可直接预测。
img/zhangxueyou.jpg
  1. 在predict.py里面进行设置可以进行fps测试和video视频检测。

Reference

https://github.com/biubug6/Pytorch_Retinaface

facenet-retinaface-pytorch's People

Contributors

bigcat26 avatar bubbliiiing avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

facenet-retinaface-pytorch's Issues

(-215:Assertion failed) src.cols > 0 && src.rows > 0 in function 'warpAffine'

使用自己的数据集,运行python encoding.py报错。
new_img = cv2.warpAffine(img,RotationMatrix,(img.shape[1],img.shape[0]))
cv2.error: OpenCV(4.4.0) /home/ycc/opencv-4.4.0/modules/imgproc/src/imgwarp.cpp:2594: error: (-215:Assertion failed) src.cols > 0 && src.rows > 0 in function 'warpAffine'
请问是什么原因呢?

encoding.py

Ubuntu 18.04.6
报错
Traceback (most recent call last):
File "encoding.py", line 8, in
retinaface = Retinaface(1)
File "/home/maxl/facenet-retinaface-pytorch-main/retinaface.py", line 122, in init
self.generate()
File "/home/maxl/facenet-retinaface-pytorch-main/retinaface.py", line 142, in generate
state_dict = torch.load(self.retinaface_model_path, map_location=torch.device('cpu'))
File "/home/maxl/anaconda3/envs/face_ret/lib/python3.7/site-packages/torch/serialization.py", line 386, in load
return _load(f, map_location, pickle_module, **pickle_load_args)
File "/home/maxl/anaconda3/envs/face_ret/lib/python3.7/site-packages/torch/serialization.py", line 573, in _load
result = unpickler.load()
TypeError: argument list must be a tuple
是什么问题?

encoding

运行 encoding.py的时候使用face_dataset里面提供的数据,显示未检测到人脸,请问有大佬遇到这个问题么。
image

准确率

mobilenet和inception_resnetv1的识别模型还是存在认错人的情况,也许arcface会好一点,但是怎么在facenet-retinaface-pytorch中使用arcface呢。

readme是错了吗

您好,请问readme是错了吗?好像还是tensorflow版本的readme,没有pytorch的版本说明?

检测延迟

我在用这个做摄像头检测的时候发现,retinaface.detect_image函数处理时间太长了,导致摄像头检测有很高的延迟,有什么好的办法解决这个问题吗?

数据集

大佬你的reitnaface模型和facenet模型都是用什么数据集进行训练的呀,能发我一份不

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.