人脸关键点检测之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((xcenter_x)2+(ycenter_y)22σ2)
显然heatmap上取值最大的点表示离关键点最近,这样在做预测时,只需取相应的heatmap上取值最大的点的坐标作为预测即可。对15个关键点都生成一个heatmap,我们便得到了15x96x96的heatmap作为真实标签。

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

posted @   qxcheng  阅读(2784)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示