开源公告|更可信的人脸识别,腾讯优图TFace正式开源!

继神经网络推理框架 ncnn、TNN,动作检测算法 DBG,通用目标检测算法 OSD,人脸检测算法 DSFD、人脸属性算法 FAN等众多优秀的框架、算法开源后,腾讯优图实验室又有一项人脸识别算法研究项目——TFace正式拥抱开源啦!

????TFace开源地址:

https://github.com/Tencent/TFace

项目背景

TFace是由腾讯优图实验室研发的人脸识别算法研究项目,其中TFace中的T意为“trusty”,表达了团队在可信人脸识别技术方向上的愿景。

人脸识别算法是指在检测到人脸并定位面部关键特征点之后,裁剪出主要的人脸区域,并经过预处理后馈入后端的识别算法。因为有着方便友好、易于接受、不易伪造等一系列优点,

在过去30多年里,人脸识别一直都是人工智能领域的研究热点。并被广泛应用在公共安全、身份验证、门禁考勤、金融支付等领域。随着人脸识别技术的大规模应用,进入“看脸时代”的同时,人脸识别也正在一步步向着“可信”发展。

基于可信人脸识别的理念,TFace重点关注人脸识别领域的四个研究方向:精准、公平、可解释以及隐私。经过多年的行业实战经验,优图在每个方向都积累了大量硬核技术,其中很多提炼后作为学术成果发表在相关顶级CV会议中。为了方便研究人员快速复现我们的工作,已发表文章的代码全部在TFace中开源;

在研究工作开展的过程中,我们开发了一套成熟的算法训练和测试框架,框架主要由数据增强、骨干网络模型库、模型评估、训练范式等高度抽象化模块组成,通过简单的修改配置文件就可以开展相应的实验,支持多种骨干网络结构和heads, 复现了学术界主流的SOTA方法和效果,同时也利用工业界主流的推理框架测试了不同模型的推理耗时。

  1. 在数据预增强模块中,除了传统的图像处理操作外,针对困难场景下识别精度低这一难题,TFace采用从2D和3D两条路线进行数据增强,目前已开放2D数据增强代码,可以扩增成戴口罩、戴眼镜、戴头巾等样本,后续TFace也会逐渐开放对于光线、表情、姿态这些细粒度属性的3D增强代码;

  2. 在骨干网络模型库中,TFace实现了十余种学术界常见的人脸识别提特征网络结构,可以满足终端和后台等常用场景下的耗时需求;

  3. 模型评估模块主要包括了推理耗时评估和精度评估,推理耗时评估主要测试了不同模型在X86 CPU, ARM CPU, GPU具体设备上的推理速度,精度评估主要提供了在常见学术测试集上的评估工具以及不同模型的结果,这些可以供开发者选择模型结构时参考;

  4. 在训练范式上,TFace支持常见的数据并行+模型并行以及混合精度训练,提升大规模训练的效率,支持多数据分支训练,采用类似多任务学习的方式同时训练多个数据集,提升模型的精度,此外TFace后续将会开放量化感知训练、模型蒸馏、联邦训练等代码。

算法介绍

1.CurricularFace 一种用于人脸识别基础模型训练的损失函数,发表于CVPR2020, 主要的思路是将课程学习的思想结合到常用的人脸识别损失函数,训练过程中自动挖掘困难样本,先易后难渐进学习,提升识别模型训练鲁棒性及难样本识别性能。

文章链接:https://arxiv.org/abs/2004.00288

2.DDL 一种用于提升特定场景下人脸识别性能的方法,发表于ECCV2020,主要的思路是针对某一特定场景的难样本,为其寻找一个合适的教师场景,通过拉近两种场景下的人脸相似度分布,从而提升该场景下困难样本的识别性能。

文章链接:https://arxiv.org/abs/2002.03662

3.CIFP 一种提升个体识别公平性的方法,发表于CVPR2021, 提出了基于误报率惩罚的损失函数,即通过增加实例误报率(FPR)的一致性来减轻人脸识别偏差。

文章链接 https://arxiv.org/abs/2106.05519

4.SDD-FIQA 一种基于人脸识别相似度分布的无监督人脸质量评估方法,发表于CVPR2021, 通过计算同人和非同人相似度分布的韦氏距离作为目标图像的质量分伪标签, 最终通过图像+质量伪标签训练得到质量分模型。

文章链接:https://arxiv.org/abs/2103.05977

5.SCF 一种基于人脸特征置信度的人脸识别方法,发表于CVPR2021, 核心思想包含两点:a. 将人脸样本特征从确定向量升级为概率分布,从而获得额外刻画样本识别置信度的能力;b. 提出适配于超球流形r-radius von Mises Fisher分布建模特征,理论可解释性与方法收敛性较PFE更佳。

文章链接:

https://openaccess.thecvf.com/content/CVPR2021/papers/Li_Spherical_Confidence_Learning_for_Face_Recognition_CVPR_2021_paper.pdf

目前,TFace项目中的算法能力已应用在内外多个业务中,对内广泛支撑了腾讯内部如微信,QQ中的身份识别需求,对外则通过腾讯云服务的形式,提供了ToC、ToB的相关能力,典型应用案例如跨年龄寻人、人脸核身、刷脸支付等。现在,TFace已在GitHub(https://github.com/Tencent/TFace)上正式开源,欢迎大家一起使用与评测!

https://github.com/Tencent 

(点击文末阅读原文直接访问)

请给项目 一个 Star !

欢迎提出你的 issue 和 PR!

 国内镜像地址:

https://git.code.tencent.com/Tencent_Open_Source

(登录后才能访问公开项目)

腾讯工蜂源码系统为开源开发者提供完整、最新的腾讯开源项目国内镜像

关注腾讯开源公众号

获取更多最新腾讯官方开源信息!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
## 使用前准备​ 1. 前往注册: [腾讯云账号注册](https://cloud.tencent.com/register) (详细指引见 [注册腾讯云](https://cloud.tencent.com/document/product/378/9603)) 2. 取得存储桶名称 **BucketName**: 请前往 [创建存储桶](https://cloud.tencent.com/document/product/460/10637) 3. 取得 **APPID**、**SecretId**、**SecretKey**:请前往 [云API密钥](https://console.cloud.tencent.com/cam/capi) ,点击“新建密钥” ## 快速体验 1. 修改文件 src/main/java/com/qcloud/image/demo/Demo.java 的 main() 方法,填入上述申请到的 **APPID**、**SecretId**、**SecretKey**、**BucketName** 2. 导入到 IDE:工程用 Maven 构建,以 Intellij IDEA 为例,导入方式为:Import Project -> 选择工程目录 -> Import project from external model -> Maven 3. 运行:Demo.java 右键,Run Demo.main() ## 使用简介 ### 初始化 ```java ImageClient imageClient = new ImageClient(APPID, SecretId, SecretKey); ``` ### 设置代理 根据实际网络环境,可能要设置代理,例如: ```java Proxy proxy = new Proxy(Type.HTTP, new InetSocketAddress("127.0.0.1", 8080)); imageClient.setProxy(proxy); ``` ### 使用 SDK 提供功能如下: **图像识别**:鉴黄,标签 **文字识别(OCR)**:身份证,名片,通用,驾驶证行驶证,营业执照,银行卡,车牌号 **人脸识别**:人脸检测,五官定位,个体信息管理,人脸验证,人脸对比及人脸检索 **人脸核身**:照片核身(通过照片和身份证信息),获取唇语验证码(用于活体核身),活体核身(通过视频和照片),活体核身(通过视频和身份证信息) ```java // 调用车牌识别API示例 String imageUrl = "http://youtu.qq.com/app/img/experience/char_general/icon_ocr_license_3.jpg"; String result = imageClient.ocrPlate(new OcrPlateRequest("bucketName", imageUrl)); System.out.println(result); ``` 多例子详情可参见 [Demo.java](https://github.com/tencentyun/image-java-sdk-v2.0/blob/master/src/main/java/com/qcloud/image/demo/Demo.java) 的代码。 ## 集成到你的项目中 ### 获得 SDK jar 文件 1. 直接使用 release/*-with-dependencies.jar 2. 自行编译:在工程根目录下执行命令 `mvn assembly:assembly`,编译结果见 target/*-with-dependencies.jar ### 导入 jar 文件 根据项目具体情况导入 *-with-dependencies.jar
代码是调用开源SDk的FaceCore关键代码。附件中有详细的接口调用说明 FaceCore人脸识别开放平台 (SERVICE INTERFACE PLATFORM)是基于人脸检测、比对核心业务技术的服务平台。平台可为外部合作伙伴提供基于高精度人脸识别技术为基础的相关服务,例如Api、人脸识别、数据安全等。作为人脸识别的重要开发途径,FaceCore平台将推动各行各业定制、创新、进化,并最终促成新商业文明生态圈的建立。我们的使命是把人脸识别技术、规范等一系列核心技术基础服务,像水、电、煤一样输送给所有需要的合作伙伴、开发者、社区媒体、安全机构和各行各业。帮助社会各界通过使用此平台获得丰厚的商业价值。 服务器测试接口: /api/hello/ 服务器测试接口,返回服务器当前时间。 人脸比对、识别接口: /api/facecompare/ 根据参数FaceFeature1,FaceFeature2获取两个人脸相似度。 /api/facedetectcount/ 根据参数FaceImage,获取图像中的人脸数量。 /api/facedetect/ 根据参数FaceImage,获取图像中的人脸、眼睛位置和特征。 /api/urlfacedetect/ 根据参数Url,获取图像中的人脸、眼睛位置和特征。 人脸存储管理接口: /api/personface/similar/ Method:POST;根据参数Feature人脸特征,返回appkey存储的全部人脸相似度。 /api/personface/getall/ Method:GET;返回appkey存储的全部人脸。 /api/personface/{id} Method:GET;返回指定id人脸详细信息。 /api/personface/ Method:POST;添加一个人脸信息。 /api/personface/ Method:PUT;修改一个人脸信息。 /api/personface/{id} Method:DELETE;删除一个人脸信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值