通过labelme标注的关键点数据增强(包括图像与json文件)

本文介绍了使用labelme标注的人体关键点数据集进行数据增强时遇到的问题及解决方案,包括json和图像文件的处理,解决了TypeError和图片变蓝的问题,但出现了新生成json文件过大的问题。

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

    最近在尝试对自建的人体关键点数据集进行姿态聚类,使用labelme标注的数据集需要的时间太长了,于是自己标注了一部分,其他的数据想用数据增强方法进行扩充。

    于是在优快云上找到了可以对json文件和图片都进行修改的文章,在此感谢原作者we34dfg,文章链接如下基于labelme的图片和json文件的扩增_we34dfg的博客-优快云博客,然而在运行代码的过程中,遇到了一些问题,于是在原文的基础上,对出现的问题进行了修改,修改后的代码放在文章的最后。

1.代码报错“TypeError: Object of type float32 is not JSON serializable”

     错误原因是json文件写入时内容的类型不对,在此感谢评论区southerx做出的解答,解决方式为修改 write_points_to_json x,y 前加上float new_point = [float(aug_points.keypoints[k].x), float(aug_points.keypoints[k].y)],在代码中的体现如下:

原代码64-67行

for j in range(len(shapes[i]["points"])):
            new_point = [aug_points.keypoints[k].x, aug_points.keypoints[k].y]
            new_json['shapes'][i]["points"][j] = new_point
            k = k + 1
————————————————
版权声明:本文为优快云博主「we34dfg」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/we34dfg/article/details/104752336

修改为

for j in range(len(shapes[i]["points"])):
            new_point = [float(aug_points.keypoints[k].x), float(aug_points.keypoints[k].y)]
            new_json['shapes'][i]["points"][j] = new_point
            k = k + 1

2.运行后的文件使用labelme查看变蓝

    第一个错误解决之后,代码跑起来了,但是用la

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值