zoukankan      html  css  js  c++  java
  • 人脸关键点检测之hourglass网络原理

    hourglass网络架构有效地利用了图像多个尺度的空间信息,可以很好地应用于人体关键点检测和人脸关键点检测等任务,人脸关键点检测一般要求在给定的人脸图像上检测出15个关键点的坐标,下面一起来看看hourglass网络的做法,这里参考的算法实现地址为:https://github.com/raymon-tian/hourglass-facekeypoints-detection

    1.hourglass网络

    2.网络原理

    网络的输入是1x96x96的灰度图像和15x2的关键点坐标,在进行关键点检测时没有直接对关键点的坐标进行回归,而是对每个关键点生成一个heatmap,将此heatmap作为回归对象,参考算法的具体做法如下:
    设某关键点坐标为(center_x, center_y),为其生成一个96x96的heatmap,设heatmap上点的坐标表示为(x, y),则heatmap上该点的取值为:
    (exp(-frac{(x-center\_x)^2+(y-center\_y)^2}{2sigma^2}))
    显然heatmap上取值最大的点表示离关键点最近,这样在做预测时,只需取相应的heatmap上取值最大的点的坐标作为预测即可。对15个关键点都生成一个heatmap,我们便得到了15x96x96的heatmap作为真实标签。

    如上图所示,houglass网络架构将输入的1x96x96的灰度图像转变成了15x96x96的特征图,loss计算时直接将其与15x96x96的heatmap计算均方差损失。考虑到一些关键点标注的缺失问题,参考算法对其做了相应的掩码处理,即缺失的标注不计算损失。

  • 相关阅读:
    iOS -- @try
    javaScript学习
    iOS -- js与原生交互
    iOS -- WKWebView
    iOS -- UIWindow的使用
    iOS -- app生命周期中代理方法的应用场景
    iOS -- keyChain
    UISegmentedControl
    明天你好
    编程:是一门艺术(转)
  • 原文地址:https://www.cnblogs.com/qxcheng/p/12997346.html
Copyright © 2011-2022 走看看