CenterFace解读 轻量级anchor_free人脸检测器

2023-11-09

论文地址:https://arxiv.org/ftp/arxiv/papers/1911/1911.03599.pdf
github地址:https://github.com/Star-Clouds/centerface

此篇文章是参考的Objects as Points,在此附上Objects as Points的论文地址:
Objects as Points

核心思想,相比于Anchor的检测算法,去判断每个anchor是否包含需检测的目标,再去计算回归的offset,Centerface和Objects as Points的主要思想是,判断feature map对应在图像中的位置是否是目标的中心点,再去计算目标的宽和高。

因为此文主要借鉴Objects as Points,而关于Objects as Points的解读已经有很多了,所以与Objects as Points差异较小的地方,笔者会简略带过。

网络结构

因为CenterFace是轻量级的人脸检测器,所以其backbone用的是mobilenetV2,相比于Objects as Points采用的DLA 以及Hourglass,整体的backbone很小。网络结构可视化如下:
faceNet网络结构

groundtruth的定义

目标中心点定义:在一般的目标检测中,一般记录目标的( x 1 x_1 x1, y 1 y_1 y1, x 2 x_2 x2, y 2 y_2 y2),对应目标的左上角和右下角的坐标。目标的中心点: x c = ( x 1 + x 2 ) / 2 , y c = ( y 1 + y 2 ) / 2 x_c=(x_1 + x_2)/2, y_c=(y_1 +y_2)/2 xc=(x1+x2)/2,yc=(y1+y2)/2
在使用anchor的算法中,采用的是计算anchor和groundtruth之间的IOU,若IOU大于阈值,则为正样本,若小于阈值,则为负样本。
在centerface中,是计算中心点的坐标是否在feature map所对应的图像内。 x ~ c = ⌊ x c R ⌋ , y ~ c = ⌊ y c R ⌋ \widetilde{x}_c=\lfloor\frac{x_c}{R}\rfloor,\widetilde{y}_c=\lfloor\frac{y_c}{R}\rfloor x c=Rxc,y c=RycR就是对应的步长。中心点所在的feature map为1,对于标注,采用高斯的方式向外撒点。

LOSS的定义

在寻找关键点上,存在两个loss,一个是判断feature map是否包含关键点,采用focal loss,另一个是计算关键点 相对于 feature map映射到原图之后的偏移量,使用的smooth_L1
在计算目标框上:区别于Objects as Points, 计算的是映射到feature map上的大小,而不是计算原图的大小
w ^ = l o g ( x 2 − x 1 R ) , h ^ = l o g ( y 2 − y 1 R ) \hat{w}=log(\frac{x_2-x_1}{R}), \hat{h}=log(\frac{y_2-y_1}{R}) w^=log(Rx2x1),h^=log(Ry2y1)
计算目标框的Loss采用smooth_L1

Data augmentation

1.random filp
2.random scaling
3.color jittering
4.randomly crop square patch
以上数据增强方法都是常见的数据增强方法,不多做介绍。

测试结果

在arm端测试结果:

模型 速度
CenterFace 1200ms

widerface测试结果

easy Medium hard
92.2 91.1 77.9
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CenterFace解读 轻量级anchor_free人脸检测器 的相关文章

  • autojs常见报错及解决

    autojs常见报错及解决 期待大家在下面评论补充 更多基础加autojs交流群553908361喽 一键加群 点击加群 1 需要在ui模式下运行才能使用该函数 file android asset modules ui js 15 Err
  • Antv/G2 柱状图

    Antv G2 教程 G2 是一套基于图形语法理论的可视化底层引擎 以数据驱动 提供图形语法与交互语法 具有高度的易用性和扩展性 使用 G2 无需关注图表各种繁琐的实现细节 一条语句即可使用 Canvas 或 SVG 构建出各种各样的可交互
  • MacbookPro M1芯片对“cp -r” 命令支持有误,慎重购买

    MacBook2021 M1 MAXPro电脑问题锦集 问题1 开启硬盘加密 开机闪屏 问题详述 在系统偏好设置中 打开安全与隐私 在弹出窗口中切换到第二个页签 文件保险箱 启用文件保险箱功能 然后关机重新启动电脑 在输入密码回车后进度条刚

随机推荐

  • 开发时写TestCase的一些经验

    今天修复完一个业务代码的 bug 手动测试没有问题 但写测试用例出错 在对代码很自信的情况下 因为手动测试过了 我干脆省略了这个步骤 然而偷懒的事情早晚会暴露出来 用 Git 提交到远程时在 Code Review 那里的系统集成测试老是失
  • 【SVM回归预测】基于支持向量机的数据回归预测(libsvm)附matlab代码

    作者简介 热爱科研的Matlab仿真开发者 修心和技术同步精进 matlab项目合作可私信 个人主页 Matlab科研工作室 个人信条 格物致知 更多Matlab仿真内容点击 智能优化算法 神经网络预测 雷达通信
  • 如何处理企业间的人际关系

    如何处理企业之间的人际关系呢 其实这个话题很多人一直都迷茫 包括我在内 我也还没有学会如何处理企业之间的人际关系 这是一门大学问 可惜真正写文章的人没有感受 会写文章的人表达不出来 所以都比较少看到诸类的文章 即使有类似的文章 可是以理论化
  • 说一说xgboost和lightgbm的区别是什么

    前面提到了 LightGBM是Xgboost的更高效实现 由微软发布 XGBoost的并行是在特征粒度上的 我们知道 决策树的学习最耗时的一个步骤就是对特征的值进行排序 因为要确定最佳分割点 XGBoost在训练之前 预先对数据进行了排序
  • JAVA 基础题

    1 面向对象有哪些特征 答 继承 封装 多态 2 JDK与JRE的区别是什么 答 JDK是java开发时所需环境 它包含了Java开发时需要用到的API JRE是Java的运行时环境 JDK包含了JRE 他们是包含关系 3 Java有哪几种
  • Umask的含义

    Umask的含义 umask 022中 022 是八进制的写法 如果换成二进制是000010010 在unix中文件权限是三类用户 三种权限 三类用户分别是文件所有者user u 文件所有者所在主群组group g 其它用户others o
  • Vue脚手架安装和初次使用

    1 安装淘宝镜像 npm config set registry https registry npm taobao org 2 全局安装脚手架 npm install g vue cli 3 切到要创建项目的目录 创建项目 本例选择目录为
  • windows DHCP服务器部署

    目录 一 关于windows dhcp服务器 1 1 关于dhcp 1 2 DHCP续约 二 DHCP服务器部署 2 1 关于DHCP服务器 2 2部署DHCP服务器 2 3 保留特定IP地址 2 4 相关dos命令使用 2 5 多个地址池
  • 如何在Mac OS上从Photoshop 2020作为插件访问Topaz DeNoise AI?

    TopazDeNoise AI for mac是Topaz系列中的一款AI图像降噪软件 topaz denoise ai破解版提供了数百万个噪声 清晰图像的算法 可以快速消除图像中噪音并且保留原始图像细节 人工智能降噪Topaz DeNoi
  • [Python从零到壹] 六十七.图像识别及经典案例篇之基于卷积神经网络的MNIST图像分类

    七月太忙 还是写一篇吧 欢迎大家来到 Python从零到壹 在这里我将分享约200篇Python系列文章 带大家一起去学习和玩耍 看看Python这个有趣的世界 所有文章都将结合案例 代码和作者的经验讲解 真心想把自己近十年的编程经验分享给
  • 如何从RNN起步,一步一步通俗理解LSTM

    转自 https blog csdn net v july v article details 89894058 如何从RNN起步 一步一步通俗理解LSTM 前言 提到LSTM 之前学过的同学可能最先想到的是ChristopherOlah的
  • Flask 扩展 用户会话

    pip install flask login 接下来创建扩展对象实例 from flask import Flask from flask login import LoginManager app Flask name login ma
  • AHB总线协议

    1 简介 AHB总线规范是AMBA总线规范的一部分 AMBA总线规范是ARM公司提出的总线规范 被大多数SoC设计采用 它规定了AHB Advanced High performance Bus ASB Advanced System Bu
  • codable swift_如何使用Swift Codable与JSON相互转换

    codable swift For this article I used Xcode 11 4 1 and Swift 5 2 I assume you re familiar with the basics of Swift 对于本文
  • 【深度学习环境搭建(一)】cuda和pytorch

    深度学习环境搭建 一 cuda和pytorch 系统配置 Python环境配置 CUDA环境配置 pytorch环境配置 系统配置 服务器型号 Dell PowerEdge R730 硬件 CPU Intel Xeon CPU E5 265
  • java date转换timestamp_Java Date转Timestamp

    Java Date转Timestamp 1 Java Date转Timestamp的介绍 我们可以使用java sql Timestamp类的构造函数在Java中将Date转换为Timestamp Timestamp类的构造函数接收长值作为
  • Python生成allure测试报告,allure使用详细说明

    pytest框架自带一个测试报告 内容也相对全面 但是可读性差点 allure生成的测试报告 可改造性强 看起来也美观 使用过程在此总结一下 一 生成allure测试报告 1 下载安装allure pytest插件 我一般都是在pychar
  • bug总结之为什么每次提升完类之后,改变原来类对应的代码位置,UI找不到原来的界面ui类了

    这边注意以下 自己给自己写的一个bug 当你提升完一个类之后 比如qcustomplot类 原先是放在mainwindow cpp同一级目录下 原先位置 后面想把qcustomplot类新建一个qcustomplot文件夹下 那需要做什么
  • 小程序跳转至企业微信客服wx.openCustomerServiceChat

    从小程序跳转至企业微信客服 小程序后台地址 https mp weixin qq com wxamp home guide 扫码登录自己的小程序 第一步 在小程序管理后台的 功能 客服 微信客服 处 填写对应的企业ID 完成绑定 第二步 在
  • CenterFace解读 轻量级anchor_free人脸检测器

    论文地址 https arxiv org ftp arxiv papers 1911 1911 03599 pdf github地址 https github com Star Clouds centerface 此篇文章是参考的Objec