腾讯提出一种高精度双分支人脸检测器DSFD并开源。该算法曾在全球两大权威人脸检测数据集WIDERFACE和FDDB上均取得了第一。

任务介绍

人脸检测算法是在图像上检测出人脸的位置(通常以矩形框形式输出),是人脸配准、人脸属性识别、人脸核身、人脸检索等技术的基础。随着人工智能行业的发展,人脸相关技术在社交娱乐、智慧零售、互联网金融等领域得到了越来越广泛的应用,同时也对人脸检测技术提出了更多的挑战。由于场景不受控、人员非配合,人脸往往受到逆光、遮挡、模糊、姿态、尺度等因素的干扰,因此研发效果更优异的人脸检测算法具有重要意义。

多种场景下的人脸检测示意图

算法设计

此次提出的DSFD人脸检测算法,主要有3点创新:
(1)设计了一种新的“特征增强”模块(FEM:Feature Enhance Module)。FEM在采用Top-Down层间信息融合的同时,在同一“感受野”内做了更多的enhancement。因此在width and depth上学习到了更有效的context和semantic信息。

(2)提出了“分层锚点渐进”式的代价函数监督(PAL:Progressive AnchorLoss)。模型采用2个层级(hierarchy),基于第一层(low-level)和第二层(high-level)的差异性,适配了不同尺寸的anchor。在训练过程中,PAL对整个模型形成了更有效的监督。

(3)设计了一种“改进的锚点匹配策略”(Improved Anchor Matching Strategy)。One-stage detector由于在输出层分配有密集的anchor,anchor与face匹配的好坏直接影响训练效果。优图的研究人员data augmentation过程中充分考虑了不同大小的face和各个anchor的关系,提出了一种新的数据扩增法。

DSFD算法的整体框架主要包括三个部分:特征增强模块(FEM),分层锚点渐进式的代价函数(PAL),改进的锚点匹配策略(IAM)。

DSFD算法框架图

评测结果

WIDERFACE数据集分为Validation和Test两个评估集,每个集合中的数据根据人脸检测的难易程度分为Easy、Medium、Hard。我们的DSFD(图中Ours)在Validation和Test的三种评估模式上均取得了Top1。Validation上的评估结果如下(图中数字表示mAP指标),我们的算法效果为easy:0.966, medium:0.957,hard:0.904。Test上的评估结果如下,其中easy:0.960,medium:0.953,hard:0.900。

DSFD算法在WIDERFACE榜单的结果

根据FDDB数据集召回率的计算方式不同,可以分为Discrete和Continuous两种评估方式,图中横轴为Falsepositives(误检数量),纵轴为Truepositive rate(召回率)。我们的DSFD在两种评估方式上均取得了Top-1,如下图所示。

DSFD算法在FDDB榜单的结果

DSFD算法在WIDERFACE数据集上的可视化结果

据悉,该算法投稿的论文《DSFD: Dual Shot Face Detector》已被国际人工智能顶级会议CVPR2019接收。

业务落地

目前,优图的人脸检测技术已经应用于公司内外的多个业务中。为赋能各个行业发挥了重要作用。下面选择一些典型案例作简要介绍。智慧零售-腾讯优Mall:优Mall是优图实验室为智慧零售推出的解决方案,该方案可以使商家为客户提供个性化服务,实时客流统计、客群精准营销等,从而为实体经济的发展注入新的活力。智慧娱乐:微视、手机QQ人脸特效,基于人脸检测技术,这些产品不断推出基于一些人脸特效,美颜美妆等娱乐玩法。

持续开源

自2017年,腾讯开始加快对外开源节奏,主要覆盖AI、云、游戏、安全、小程序等相关领域,其中计算机视觉技术的开源也是其重要一环。与DSFD一并开源的还有OneStageDet(OSD)项目,该项目是基于单阶段的通用目标检测器。2017年7月,腾讯优图首个AI开源项目NCNN开源,2019年至今已有人脸检测、属性等5项技术开源。腾讯优图将不断研究和探索,通过开源更多新技术为产业发展提供助力。

DSFD 开源地址

https://github.com/Tencent/FaceDetection-DSFD

OneStageDet 开源地址

https://github.com/Tencent/ObjectDetection-OneStageDet

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

请给项目 一个 Star !

欢迎提出你的 issue 和 PR!

国内镜像地址:

https://git.code.tencent.com/Tencent_Open_Source/FaceDetection-DSFD

https://git.code.tencent.com/Tencent_Open_Source/ObjectDetection-OneStageDet

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

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

人脸检测算法_腾讯已开源高精度人脸检测算法DSFD相关推荐

  1. 腾讯已开源高精度人脸检测算法DSFD

    腾讯提出一种高精度双分支人脸检测器DSFD并开源.该算法曾在全球两大权威人脸检测数据集WIDERFACE和FDDB上均取得了第一. 任务介绍 人脸检测算法是在图像上检测出人脸的位置(通常以矩形框形式输 ...

  2. python开源的人脸识别库_什么是 SeetaFace 开源人脸识别引擎

    区分不同的人是很多智能系统的必备能力.为实现此目的,一种可能的技术手段是通过对人脸的光学成像来感知人.识别人,即所谓的人脸识别技术.经过几十年的研发积累,特别是近年来深度学习技术的涌现,人脸识别取得了 ...

  3. 人脸检测算法_目前最强!开源人脸检测算法:RetinaFace

    加入极市专业CV交流群,与6000+来自腾讯,华为,百度,北大,清华,中科院等名企名校视觉开发者互动交流!更有机会与李开复老师等大牛群内互动! 同时提供每月大咖直播分享.真实项目需求对接.干货资讯汇总 ...

  4. yolo人脸检测数据集_自定义数据集上的Yolo-V5对象检测

    yolo人脸检测数据集 计算机视觉 (Computer Vision) Step by step instructions to train Yolo-v5 & do Inference(fr ...

  5. 人脸识别算法_格灵深瞳在人脸识别算法测试(FRVT)中斩获全球第一

    1月6日,美国国家标准与技术研究院(NIST)公布了最新的人脸识别算法测试(FRVT)成果,格灵深瞳再次刷新纪录:在7项测试子任务中,获得2项第一.3项第二,综合排名世界第一的成绩. 过去几个月,很多 ...

  6. 蝴蝶优化算法_腾讯机智团队分享--AllReduce算法的前世今生

    从事分布式深度学习相关工作的同学,应该都频繁地用到了AllReduce(规约)操作. 图1 AllReduce的示意图 但是对于训练框架中集成的AllReduce相关操作,其背后实现的原理是什么? 除 ...

  7. std中稳定排序算法_源代码库已开放 | 哈工大硕士生用 Python 实现了 11 种经典数据降维算法...

    转自:AI开发者 网上关于各种降维算法的资料参差不齐,同时大部分不提供源代码.这里有个 GitHub 项目整理了使用 Python 实现了 11 种经典的数据抽取(数据降维)算法,包括:PCA.LDA ...

  8. RefineDetLite:腾讯提出轻量级高精度目标检测网络

    点击我爱计算机视觉标星,更快获取CVML新技术 前几天腾讯公布了一篇论文RefineDetLite: A Lightweight One-stage Object Detection Framewor ...

  9. python人脸识别理论_使用OpenCV和Python进行人脸识别

    介绍 人脸识别是什么?或识别是什么?当你看到一个苹果时,你的大脑会立刻告诉你这是一个苹果.在这个过程中,你的大脑告诉你这是一个苹果水果,用简单的语言来说就是识别.那么什么是人脸识别呢?我肯定你猜对了. ...

最新文章

  1. JAVA面向对象-----final关键字
  2. 网络协议 19 - RPC 协议:远在天边近在眼前
  3. 用python tkinter显示Mandelbrot图
  4. 《软件工程》课之-调查问卷的心得体会
  5. sqlserver中创建包含事务的存储过程
  6. 库克:iPhone决不妥协!不爽换安卓 iPhone 更有“安全性和隐私性”
  7. OMS开发随笔之开发和部署要点
  8. 使用Postman做API自动化测试
  9. Ruby之散列与快排小程序
  10. HDU 5895 Mathematician QSC
  11. 贝叶斯估计原理及流程
  12. git stash (保存当前的工作现场)
  13. 算法:回溯三 Combination Sum组合总数
  14. [10]STM32程序调试方法-STLINK调试和软件调试
  15. python打开excel大文件慢,excel内容很少,文件却很大,怎么解决:python处理excel文件...
  16. 走向.NET架构设计—第三章—分层设计,初涉架构(后篇)
  17. AI---人工智能学习
  18. 该设备正在使用中。请关闭可能使用该设备的所有程序或窗口,然后重试。
  19. 重置已清账项目及两种不同重置方式(只重置、重置并冲销)介绍和实操-FBRA
  20. 游戏开挂的罪与非罪——从“王者荣耀外挂案”说起

热门文章

  1. 怎么将oracle的sql文件转换成mysql的sql文件
  2. 第一百四十一节,JavaScript,封装库--DOM加载
  3. html调用父页面的函数,js调用父框架函数与弹窗调用父页面函数的方法
  4. rocketmq新扩容的broker没有tps_深入研究RocketMQ消费者是如何获取消息的
  5. oracle实现id自增和设置主键
  6. oracle不要重复记录,Oracle中去重复记录 不用distinct
  7. Java语言所有异常类均继承自_Java将运行错误分为两类:(__)和(__), 其对应的类均派生自(__)类;...
  8. scala中捕获异常_如何在Scala中引发异常?
  9. Java BigInteger类| and()方法与示例
  10. java获取主机mac_Java 如何获取主机的MAC地址