欢迎访问皮皮网官网
皮皮网

【nlppython源码】【鸿蒙2.0源码编译】【小红书关注源码】libfacedetection 源码

时间:2024-11-19 08:29:59 分类:娱乐 来源:动力线抄底指标源码

1.SeetaFace教程(一) 在 VS 中的源码编译安装和环境配置
2.CPU下实时,最快人脸检测速度近2000FPS,源码这位硬核老师将训练代码开源了

libfacedetection 源码

SeetaFace教程(一) 在 VS 中的源码编译安装和环境配置

       SeetaFace开源库整合了FaceDetection、FaceAlignment、源码FaceIdentification三大模块。源码其中,源码nlppython源码FaceDetection在图像中检测人脸区域,源码通过方形框表示。源码FaceAlignment在FaceDetection定位出人脸框后,源码进一步精确定位出两眼中心、源码鼻尖和两嘴角五个关键点。源码最后,源码FaceIdentification利用FaceAlignment的源码五个关键点信息,提取单个人脸特征。源码鸿蒙2.0源码编译使用SeetaFace库,源码首当其冲的步骤是库的编译。接下来,我们将分步骤介绍SeetaFace在Visual Studio中各个模块的编译过程以及环境配置。

       一、编译FaceDetection部分

       FaceDetection位于SeetaFaceEngine\FaceDetection目录下。遵循官方指南进行安装。在处理kStdDevThresh初始化方法存在问题时,仅需在类构造函数中初始化:LABBoostedClassifier() : use_std_dev_(true), kStdDevThresh(.0f)。编译后产出FaceDetection.lib与FaceDetection.dll。

       二、编译FaceAlignment部分

       FaceAlignment同样位于SeetaFaceEngine\FaceAlignment目录内,安装流程与FaceDetection相似。小红书关注源码对于函数模板重载无法确定的问题,在引用时将两个参数强制转换为double类型;若未定义isnan函数,则自行定义如下:

       #ifndef isnan

       #define isnan(x) ((x)!=(x))

       #endif

       编译后产出FaceAlignment.dll与FaceAlignment.lib。

       三、编译FaceIdentification部分

       此模块无需创建工程,直接打开SeetaFaceEngine\FaceIdentification\examples目录下的VS解决方案文件examples.sln。项目内含Identification和Tester两个工程,先编译Identification工程即可得到Identification.dll与Identification.lib。

       在编译时,若工具集设置为不正确(如VS使用v),可将其更改为对应的版本。在搭建独立项目环境后,新建一个空项目,房产单页源码并将FaceAlignment.dll、FaceAlignment.lib、FaceDetection.lib、FaceDetection.dll、Identification.dll、Identification.lib六个文件复制到项目根目录下。

       设置包含目录:D:\SeetaFaceEngine\FaceIdentification\include、D:\SeetaFaceEngine\FaceAlignment\include、D:\SeetaFaceEngine\FaceDetection\include。在连接器的输入中添加Identification.lib、FaceAlignment.lib、FaceDetection.lib的附加依赖项。

       至此,iapp抠图源码环境搭建完成。在项目内新建cpp文件,复制SeetaFaceEngine\FaceIdentification\src\test\test_face_recognizer.cpp中的内容,通常能实现成功编译。

       然而,在运行时可能遇到“../../model/seeta_fr_v1.0.bin not exist!”错误。此错误源于SeetaFace需要提前训练好的model文件,还应包括对应的数据文件。model文件位于SeetaFaceEngine\FaceIdentification\model目录下,数据文件在SeetaFaceEngine\FaceIdentification\data目录内。将程序中model和data的定义位置修改为本地电脑对应的路径即可解决。运行程序后,问题得以解决。

CPU下实时,最快人脸检测速度近FPS,这位硬核老师将训练代码开源了

       于仕琪老师来自南方科技大学,他最近将训练代码开源,面向公众分享其在CPU环境下实现的人脸检测技术。这一成果在小分辨率下达到了惊人的.6FPS,支持5个人脸关键点检测,并且无需任何依赖库,直接以纯C++代码形式呈现,展现了高效的性能。

       于老师最初在年开源了名为libfacedetection的C++版本人脸检测工程。此项目无需库依赖,在VGA分辨率下,i7 CPU可实现帧/秒,而在x输入分辨率时,速度高达帧/秒。实测在树莓派3上,小分辨率下也达到FPS。

       经过三次升级,v2版本模型参数量倍增,通过8位量化加速,速度未受影响;v3版本增加了五个人脸关键点检测。最新一步,于老师将训练代码开源,供公众学习与应用。

       于老师的模型是SSD类型目标检测模型,包含四个检测分支,Backbone网络共层。模型轻量级,与之前开源的人脸口罩检测模型有相似之处。模型使用PriorBox层生成锚点,适用于任意大小输入,这一特性将在后续研究中被借鉴。

       模型结构如下:在特征图上接入分类定位层,四个尺度的特征图分别有3、2、2、3个锚点。所有锚点长宽比为1:1。整体网络结构精简,参数量为万,较轻量级。

       该模型在四个尺度的特征图上进行检测,每个锚点额外增加个节点,用于五个关键点的偏移量预测,类似于RetinaNet的策略。在推理阶段,Batch Norm层参数被融合进卷积层,实现网络加速。关于这一技术的详细解析,将在后续文章中深入探讨。

       于老师的开源项目不仅提供了高效的人脸检测技术,也为学术界和实践应用带来了宝贵资源,有望推动相关领域的发展。

copyright © 2016 powered by 皮皮网   sitemap