You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于CVAT导出COCO关键点标注顺序错误的技术求助

CVAT导出COCO格式关键点顺序错误的解决方法

不少同行都遇到过这个问题,以下是几个实用的解决思路:

1. 核对CVAT内的关键点配置顺序

导出前一定要确认CVAT项目的关键点定义顺序和COCO标准完全匹配:

  • 进入项目的Project Settings -> Labeling Configuration,查看当前关键点的排列顺序,比如人体关键点要和COCO标准的nose、left_eye、right_eye...顺序完全一致。
  • 如果初始配置时顺序错了,直接在这里调整后重新导出即可,这是最根本的解决方式。

2. 批量修正已导出的JSON标注文件

如果已经导出了错误的文件,可以用Python脚本批量调整关键点顺序,示例代码如下:

import json

# 替换为你任务对应的COCO标准关键点顺序
COCO_STANDARD_ORDER = [
    "nose", "left_eye", "right_eye", "left_ear", "right_ear",
    "left_shoulder", "right_shoulder", "left_elbow", "right_elbow",
    "left_wrist", "right_wrist", "left_hip", "right_hip",
    "left_knee", "right_knee", "left_ankle", "right_ankle"
]

def correct_keypoint_sequence(input_json, output_json):
    with open(input_json, 'r', encoding='utf-8') as f:
        coco_data = json.load(f)
    
    # 获取当前标注的关键点顺序
    current_keypoints = coco_data['categories'][0]['keypoints']
    # 建立当前索引到标准索引的映射
    idx_mapping = {current_keypoints[k]: COCO_STANDARD_ORDER.index(current_keypoints[k]) for k in range(len(current_keypoints))}
    
    for ann in coco_data['annotations']:
        raw_keypoints = ann['keypoints']
        corrected = [0] * len(raw_keypoints)
        # COCO关键点以(x,y,visibility)三元组存储,步长为3
        for i in range(0, len(raw_keypoints), 3):
            key_name = current_keypoints[i//3]
            target_pos = idx_mapping[key_name] * 3
            corrected[target_pos:target_pos+3] = raw_keypoints[i:i+3]
        ann['keypoints'] = corrected
    
    with open(output_json, 'w', encoding='utf-8') as f:
        json.dump(coco_data, f, indent=2)

# 调用示例
correct_keypoint_sequence('error_coco.json', 'fixed_coco.json')
  • 注意:如果标注的是人体以外的类别(比如动物、车辆关键点),需要把COCO_STANDARD_ORDER替换为对应类别的标准关键点顺序。

3. 检查导出选项与CVAT版本

  • 导出时确认选择的是COCO 1.0格式,部分旧版本CVAT在导出其他COCO变种格式时会出现顺序偏差。
  • 如果使用的是CVAT 1.x版本,建议升级到最新稳定版(2.0及以上),早期版本确实存在COCO关键点导出的顺序bug,升级后可直接解决。

内容的提问来源于stack exchange,提问作者Jonathan Tobias

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 15:15:45