背景
labelme标注关键点,想要使用YOLO进行关键点检测时,需要将标签文件转换一下。
YOLO标签个格式
0 0.24830 0.34538 0.11451 0.15113 0.26254 0.41474 2 0.19686 0.30779 2 0.19977 0.32949 2
上面标签含义:
类型(0)
框位置(0.24830 0.34538 0.11451 0.15113)
关键点1的位置和是否可见(0.26254 0.41474 2)
关键点2的位置和是否可见(0.19686 0.30779 2)
关键点3的位置和是否可见(0.19977 0.32949 2)
0 无
1 遮挡
2 有
标注的时候应该是看见就标,看不见就不标
完整代码
bbox_class = {
'Seed':0
}
keypoint_class = [
'Seed_root', 'Seed_head1', 'Seed_head2', 'Seed_head3', 'Seed_head4',
'Seed_head5', 'Seed_head6', 'Seed_head7', 'Seed_head8', 'Seed_head9',
'Seed_head10', 'Seed_head11', 'Seed_head12', 'Seed_head13', 'Seed_head14',
'Seed_head15', 'Seed_head16', 'Seed_head17'
]
# 设定文件夹路径
folder_path = r'keypoint1'
files = os.listdir(folder_path)
for file in files:
if file.endswith('.json'):
# 完整的文件路径
labelme_path = os.path.join(folder_path, file)
with open(labelme_path,