本文主要是介绍NCNN人脸检测和关键点检测,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
参考以下连接获取原始 retinaface模型:
mirrors / wzj5133329 / retinaface_caffe · GitCode
https://github.com/deepinsight/insightface/tree/master/RetinaFace
retinaface(mxnet)的CAFFE模型
https://github.com/Charrin/RetinaFace-Cpp/tree/master/convert_models/mnet
使用caffe2ncnn将模型转换为NCNN格式,需要注意的是,环境需要事先安装protobuf的开发环境,否则CMAKE阶段会警告无法生成caffe2ncnn和onnx2ncnn的问题,因为这两种格式用的都是protobuf来描述的。
sudo apt-get install libprotobuf-dev protobuf-compiler
sudo apt-get autoremove --purge protobuf-compiler
sudo apt-get autoremove --purge libprotobuf-dev
编译成功后,执行命令./caffe2ncnn mnet.prototxt mnet.caffemodel进行模型转换即可。
之后重命名ncnn.bin,ncnn.param为应用识别的文件名,即可以推理验证:
执行命令:./retinaface ./beauty.jpg
lena大妈
百度人脸的结果:
对结果进行检测:
以上是用NCNN自带的模型测试的效果,下面用自己转的模型验证:
按照符合网络输入要求的图像尺寸做scale后输入:
效果很好!
下面是用NCNN YOLOV5用的模型文件,对比一下人脸检测和人形目标检测算法的区别:
小鲜肉和老腊肉:
网络分析:
一输入九输出
基于NCNN修改的后处理程序:
// Tencent is pleased to support the open source community by making ncnn available.
//
// Copyright (C) 2019 THL A29 Limited, a Tencent company. All rights reserved.
//
// Licensed
这篇关于NCNN人脸检测和关键点检测的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!