首页 > 其他分享 >美颜SDK人脸表情识别技术详解

美颜SDK人脸表情识别技术详解

时间:2023-03-06 11:32:49浏览次数:37  
标签:表情 算法 详解 人脸 美颜 识别 SDK

人脸识别,是美颜SDK大部分功能实现的先决条件,比如贴纸、化妆,这些都需要用到人脸关键点识别技术,其次人脸关键点识别、面部表情识别,可以帮助美颜工具实现更多细分的趣味拍摄功能。下文,小编将为大家讲解一下美颜SDK的面部表情识别技术。

一、面部识别

美颜SDK人脸检测基本上是所有与人脸相关的任务中都包含的一个预处理模块,它把人脸从复杂的图像中提取出来,后续只需要将注意力集中在提取人脸的相关特征上,从而有效提升相关任务的效果。美颜SDK最常用的人脸提取方法是Viola和 Jones在2001年提出的Viola-Jones (以下简称V& J)目标检测器,它基于类 Haar特征和 Adaboost分类器实现了一个实时目标检测的框架。同时,因为 Haar特征更适合人脸识别,所以它被广泛应用于人脸检测中。在OpenCV中,哈尔分类器是对维奥拉-琼斯方法的一种改进。

当然,美颜SDK也有基于深度学习的多任务级联卷积神经网络(MTCNN)等算法,也有基于目标检测相关算法(Faster-CNN,SSD等)的人脸检测算法。因此,针对人脸检测问题,这里采用了一种全新的算法:V& J算法是目前常用的人脸检测算法,其中,MTCNN算法在美颜SDK中实战效果要优于前者,所以目前被开发者们广泛应用。

美颜SDK人脸表情识别技术详解_归一化

二、归一化

在非可控条件下,人脸数据易受姿态变化、光线变化、遮挡等因素的影响,导致美颜SDK人脸情感表达的核心脑区(眼、口)信息缺失,严重影响模型训练和测试的效果。为此,有学者提出了将人脸转化为正规化人脸再训练表情识别模型的方法。

至于归一化,主要分为几个步骤:光照归一化、姿态归一化、去除遮挡,因为文章篇幅的关系,在此不做过多的介绍。

美颜SDK人脸表情识别技术详解_人脸检测_02

三、数据增强

最后,在美颜SDK深度学习中,最常用的预处理模式是:数据增强。深度学习需要大量的训练数据,才能确保算法模型的精度和泛化能力。在表情识别领域,即使是研究得最早的基于图片的人脸表情识别,现在最大的数据集AffectNet有40多万张图,比起 ImageNet、VGGFace2等数据集来说,都是小巫见大巫,至于其他更小众的表情识别(如微表情识别)则更是少之又少。

上文,小编为大家讲解了美颜SDK的人脸表情识别技术,感谢阅读!


标签:表情,算法,详解,人脸,美颜,识别,SDK
From: https://blog.51cto.com/u_14584991/6103008

相关文章

  • 详解一致性哈希
    在单机系统中,所有的数据都存储在同一个服务器下,当数据量越来越多的时候,超过了单机存储容量的上限,就需要使用分布式存储系统,在分布式存储系统重,数据会被拆分到不同的存储服......
  • Vue过滤器的使用详解(代码实现)
    过滤器的功能是对要显示的数据进行格式化后再显示,其并没有改变原本的数据,只是产生新的对应的数据 过滤器,其实不是必须要用的东西,它只是vue给我们提供的新的数据处理方式......
  • Java基础随笔(2)static静态详解
    1packagecom.chapter;23classBowl{4Bowl(intmarker){5System.out.println("Bowl+("+marker+")");6}78voidf1(int......
  • 07-Redis系列之-双写一致性,缓存详解和优化点
    双写一致性redis和mysql数据同步方案先更新数据库,再更新缓存(一般不用)先删缓存,再更新数据库(在存数据的时候,请求来了,缓存不是最新的,一般也不用)先更新数据库,再删缓存(请求......
  • Kubernetes(k8s)权限管理RBAC详解
    一、简介kubernetes集群相关所有的交互都通过apiserver来完成,对于这样集中式管理的系统来说,权限管理尤其重要,在1.5版的时候引入了RBAC(RoleBaseAccessControl)的权限......
  • 03-Redis系列之-高级用法详解
    慢查询生命周期我们配置一个时间,如果查询时间超过了我们设置的时间,我们就认为这是一个慢查询.慢查询发生在第三阶段客户端超时不一定慢查询,但慢查询是客户端超时的一个......
  • TextView(文本框)详解
    从本节开始我们来一个个讲解Android中的UI控件,本节给大家带来的UI控件是:TextView(文本框),用于显示文本的一个控件,另外声明一点,我不是翻译API文档,不会一个个属性的去扣,只学实......
  • 【基数排序算法详解】Java/Go/Python/JS/C不同语言实现
    说明基数排序(RadixSort)是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的......
  • 基于AHB-APB BUS slave详解
    基于AHB-APBBUSslave详解1.目录高内聚:让模块的功能更集中,更单一。AMBA总线例子,需要有一个模块和AMBA进行交互,就可以单独将其作为一个模块。轻耦合,两个模块之间的交......
  • Python 字符串详解
    Python访问字符串中的值:Python访问子字符串,可以使用方括号来截取字符串,如下实例:#!/usr/bin/python#coding:UFT-8var1='HelloWorld!'var2="PythonRunoob"print"var......