0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

PFLD:简单、快速、超高精度人脸特征点检测算法

电子工程师 来源:聂磊 作者:电子发烧友 2019-03-04 09:10 次阅读

什么样的算法才是好算法?

真正能实用的算法才是最好的算法!

这需要实现三个目标:精度高、速度快、模型小!

近期,arXiv新发布的文章《PFLD: A Practical Facial Landmark Detector》,则是实用人脸特征点检测算法的典范。

PFLD算法,目前主流数据集上达到最高精度ARM安卓机140fps,模型大小仅2.1M!

这篇新出的论文,必将成为人脸特征点检测领域的重要文献,今天我们就一起来探究一下,PFLD算法到底有什么黑科技

作者信息

作者分别来自天津大学、武汉大学、腾讯AI实验室、美国天普大学。

感谢各位大牛!

人脸特征点检测的挑战

作者首先从算法实用性角度讨论了人脸特征点检测问题的面临的挑战。

  • Challenge #1 - Local Variation

人脸表情变化很大,真实环境光照复杂,而且现实中大量存在人脸局部被遮挡的情况等。

  • Challenge #2 - Global Variation

人脸是 3D 的,位姿变化多样,另外因拍摄设备和环境影响,成像质量也有好有坏。

  • Challenge #3 - Data Imbalance

现有训练样本各个类别存在不平衡的问题。

  • Challenge #4 - Model Efficiency

在计算受限的设备比如手机终端,必须要考虑计算速度和模型文件大小问题。

算法思想

作者使用的网络结构如下:

其中,

黄色曲线包围的是主网络,用于预测特征点的位置;

绿色曲线包围的部分为辅网络,在训练时预测人脸姿态(有文献表明给网络加这个辅助任务可以提高定位精度,具体参考原论文),这部分在测试时不需要。

作者主要用两种方法,解决上述问题。

对于上述影响精度的挑战,修改loss函数在训练时关注那些稀有样本,而提高计算速度和减小模型size则是使用轻量级模型。

  • Loss函数设计

Loss函数用于神经网络在每次训练时预测的形状和标注形状的误差。

考虑到样本的不平衡,作者希望能对那些稀有样本赋予更高的权重,这种加权的Loss函数被表达为:

M为样本个数,N为特征点个数,Yn为不同的权重,|| * ||为特征点的距离度量(L1或L2距离)。(以Y代替公式里的希腊字母)

进一步细化Yn:

其中

即为最终的样本权重。

K=3,这一项代表着人脸姿态的三个维度,即yaw, pitch, roll 角度,可见角度越高,权重越大。

C为不同的人脸类别数,作者将人脸分成多个类别,比如侧脸、正脸、抬头、低头、表情、遮挡等,w为与类别对应的给定权重,如果某类别样本少则给定权重大。

  • 主网络

作者使用轻量级的MobileNet,其参数如下:

  • 辅网络

参数如下:

实验结果

作者在主流人脸特征点数据集300W,AFLW上测试了精度,尽管看起来上述模型很简单,但超过了以往文献的最高精度!

下图是在300W上的CED,完美将其他算法的曲线压在下面。

下图为在300W数据集上不同评价标准IPNIOP精度比较结果,依然是最棒的。

其中PFLD 1X是标准网络,PFLD 0.25X是MobileNet blocks width 参数设为0.25的压缩网络,PFLD 1X+是在WFLW数据集上预训练的网络。

值得一提的是表格中LAB算法,是CVPR2018上出现的优秀算法,之前一直是state-of-the-art。感兴趣的朋友可以参考52CV当时的报道:重磅!清华&商汤开源CVPR2018超高精度人脸对齐算法LAB 。

下图是该算法在AFLW数据集上与其他算法的精度比较:

同样是达到了新高度!

下面来看一下算法处理速度和模型大小,图中C代表i7-6700K CPU,G代表080 Ti GPU,G*代表Titan X GPU,A代表移动平台Qualcomm ARM 845处理器

PFDL同样是异乎优秀!与精度差别很小的LAB算法相比,CPU上的速度提高了2000倍!

下面是一些特征点检测示例,尽管很多样本难度很大,但PFLD依然给出了可以接受的结果。

作者没有开源代码,但给出了Android应用 APK 和Android工程(算法封装在bin文件里)。

这个算法实在是太吸引人了,你是不是也想试一下呢?


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 人脸识别
    +关注

    关注

    76

    文章

    3955

    浏览量

    80556

原文标题:PFLD:简单、快速、超高精度人脸特征点检测算法

文章出处:【微信号:rgznai100,微信公众号:rgznai100】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    高精度人员定位系统的定位技术

    高精度人员定位系统,作为一种先进的技术应用,已经在许多行业和领域得到了广泛应用,特别是在安全生产方面,它发挥着至关重要的作用。通过精确的定位技术,这种系统能够实时追踪和监控人员的位置和动态,为安全
    的头像 发表于 04-23 11:52 200次阅读

    一种可靠的峰值和起始点检测算法

    电子发烧友网站提供《一种可靠的峰值和起始点检测算法.pdf》资料免费下载
    发表于 11-22 10:27 0次下载
    一种可靠的峰值和起始<b class='flag-5'>点检测算法</b>

    基于Delaunay三角剖分的空间离群点检测算法研究

    电子发烧友网站提供《基于Delaunay三角剖分的空间离群点检测算法研究.pdf》资料免费下载
    发表于 10-07 11:15 0次下载

    智慧矿山ai算法系列解析 堵料检测算法功能优势

    智慧矿山AI算法系列中的堵料检测算法的功能优势,了解其重要性和带来的价值
    的头像 发表于 09-28 18:48 356次阅读
    智慧矿山ai<b class='flag-5'>算法</b>系列解析 堵料<b class='flag-5'>检测算法</b>功能优势

    基于Transformer的目标检测算法

    掌握基于Transformer的目标检测算法的思路和创新点,一些Transformer论文涉及的新概念比较多,话术没有那么通俗易懂,读完论文仍然不理解算法的细节部分。
    发表于 08-16 10:51 428次阅读
    基于Transformer的目标<b class='flag-5'>检测算法</b>

    人脸识别的算法有哪些

    人脸识别的算法有哪些 人脸识别算法现在已经广泛应用于各个领域,如安防、商业、医疗等。人脸识别算法
    的头像 发表于 08-09 18:34 3543次阅读

    DCNN网络结构 DCNN的人脸特征点检测

    问题的方法。通过添加更多的卷积层稳定地增加网络的深度,并且在所有层中使用3×3的卷积滤波器,有效减小参数,更好地解决了人脸特征点检测问题。然后计算双眼角与嘴角所成平面与正视时此平面的单应性矩阵,最后利用等效
    发表于 07-20 14:30 0次下载

    无Anchor的目标检测算法边框回归策略

    导读 本文主要讲述:1.无Anchor的目标检测算法:YOLOv1,CenterNet,CornerNet的边框回归策略;2.有Anchor的目标检测算法:SSD,YOLOv2,Faster
    的头像 发表于 07-17 11:17 600次阅读
    无Anchor的目标<b class='flag-5'>检测算法</b>边框回归策略

    高精度过零检测电路原理和案例

    几类高精度过零检测电路案例分享
    的头像 发表于 06-20 17:33 1874次阅读
    <b class='flag-5'>高精度</b>过零<b class='flag-5'>检测</b>电路原理和案例

    快速入门自动驾驶中目标检测算法

    现在目标检测算法总结 1. 目标检测算法在机动车和行人检测识别上应用较多,在非机动车上应用较少 2. 对于目标检测模型增强特征表示和引入
    发表于 06-06 09:40 0次下载
    <b class='flag-5'>快速</b>入门自动驾驶中目标<b class='flag-5'>检测算法</b>

    【EsDA应用】10分钟快速实现人脸识别

    全性的生物识别技术,在安防、身份验证等领域被广泛应用。本文在 《 【EsDA应用】5分钟快速实现图像人脸检测 》 的基础上,使用M6G2C核心板,简单介绍如何基于EsDA设计的
    的头像 发表于 06-03 01:30 533次阅读
    【EsDA应用】10分钟<b class='flag-5'>快速</b>实现<b class='flag-5'>人脸</b>识别

    【EsDA应用】5分钟快速实现图像人脸检测

    人脸识别是一种高安全性的生物识别技术,广泛应用在安防、身份验证等领域。而人脸检测是进行人脸识别的重要前提,本文主要介绍如何基于EsDA设计的人脸
    的头像 发表于 05-18 10:48 399次阅读
    【EsDA应用】5分钟<b class='flag-5'>快速</b>实现图像<b class='flag-5'>人脸</b><b class='flag-5'>检测</b>

    【EsDA应用】5分钟快速实现图像人脸检测

    是一种高安全性的生物识别技术,在安防、身份验证等领域被广泛应用。 本文在 【EsDA应用】5分钟快速实现摄像头图像采集 的基础上, 使用M6G2C核心板,简单介绍如何基于EsDA设计的face_detection人脸
    的头像 发表于 05-17 12:20 377次阅读
    【EsDA应用】5分钟<b class='flag-5'>快速</b>实现图像<b class='flag-5'>人脸</b><b class='flag-5'>检测</b>

    室外高精度人员定位系统是什么?

    当今社会,随着互联网和物联网的快速发展,越来越多的应用场景需要对人员进行室外高精度定位。如:工厂/工地室外工作人员的安全管控、紧急救援等等。在这些应用场景中,高精度的室外人员定位系统已成为必不可少的一部分。
    的头像 发表于 05-15 14:26 684次阅读

    室内高精度人员定位系统是什么?

    室内人员定位技术应用在各个领域,尤其是在企业、医院、机场等场所,室内人员定位系统可以提供高精度的人员定位服务。在这篇文章中,我们将探讨室内高精度人员定位系统,为您提供一个全面的理解。
    的头像 发表于 05-15 13:50 834次阅读