关键点检测网络HR-Net数据集制作过程的理解

本文介绍了在项目中使用HR-Net进行关键点定位的过程,特别是如何将网络结构应用于自定义数据集。作者详细阐述了从face300w的csv文件格式制作数据集的方法,包括scale、center_w和center_h参数的计算,并解释了200这个系数的含义。在transform.py中调整该系数以适应不同数据集的尺寸。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目中需要对关键点定位,CPM网络和HR-Net对于这个目标表现都不错,现在着重说一下HR-Net在替换成自己数据集的过程中出现的一点疑惑,通过GitHub issue和计算解决的过程。

首先给出使用的GitHub链接。

网络结构如图所示:

可以发现,网络在进行一系列卷积并行后最后合并成相同尺寸的特征图,也就是会形成最终的Heatmap。在制作数据集时,使用的时face300w的csv文件格式,截取部分大概长这个样:

可以发现,前面有三个系数,分别是scale, center_w,centrer_h, 理解后面两个比较简单,就是可以定位到人脸的中间部分,然后猜测第一个scale的参数应该就是找到中心点了,然后通过一个缩放系数就能crop到脸部的区域用于训练。GitHub中解释了这个问题,我也验证了一下,

比如对于路径下的afw/397921011_2.jpg文件,缩放比例,中心宽高分别为 1.595 506.5 662.5 第一个关键点的坐标为1280 960,然后将所有关键点的x,y坐标的最大值最小值找出来为x1, x2, y1, y2,通过公式:

scale = max(w, h) / 200
center_w = (x1 + x2) / 2
center_h = (y1 + y2) / 2

即可求的。

相应的,这里系数为什么是200呢,其实就是一个系数,根据人脸大小和数据集设定的,也可以改成自己的数据集大小的。在transform.py中也可以找到这个参数。   

sf = scale * 200.0 / output_size[0]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值