Alphapose训练自己数据集指南

代码下载

复制代码
git clone https://github.com/MVIG-SJTU/AlphaPose.git

数据集格式

数据集格式最好使用COCO数据集格式,如果你的当前不是COCO格式的话,可以参考COCO的说明将数据集格式进行修改,网站如下

https://cocodataset.org/#home

运行之前自行编写脚本将自己的数据集转换成COCO格式

更换权重

alphapose默认使用的是yolov3模型作为其检测器,但是这个检测器只能检测人体目标姿态,所以如果你的检测目标不是人的话还需要单独训练一个yolov3或者yolox的权重替换原有的权重,否则alphapose是没办法用的.将训练好的权重放入对应位置detector/yolo/data

https://github.com/MVIG-SJTU/AlphaPose/blob/master/docs/INSTALL.md 中的Models找到你需要使用的权重并下载

配置

配置文件 这里这个例子

复制代码
DATASET:
  TRAIN:
    TYPE: 'ConcatDataset'
    SET_LIST:
      - TYPE: 'Mscoco'
        MASK_ID: 0
        ROOT: '/media/disk2/yzy/data_set/all_dataset_yzy_wzh/alphapose_data' # 根路径
        IMG_PREFIX: 'images'  #图像文件夹名称
        ANN: 'annotations/train.json'  #标注文件
        AUG:
          FLIP: true
          ROT_FACTOR: 40
          SCALE_FACTOR: 0.3
          NUM_JOINTS_HALF_BODY: 8
          PROB_HALF_BODY: -1
  VAL:
    TYPE: 'Mscoco'
    ROOT: '/media/disk2/yzy/data_set/all_dataset_yzy_wzh/alphapose_data'
    IMG_PREFIX: 'images'
    ANN: 'annotations/val.json'
  TEST:
    TYPE: 'Mscoco_det'
    ROOT: '/media/disk2/yzy/data_set/all_dataset_yzy_wzh/alphapose_data'
    IMG_PREFIX: 'images'
    DET_FILE: './exp/json/test_det_yolo.json'
    ANN: 'annotations/test.json'
DATA_PRESET:
  TYPE: 'simple'
  SIGMA: 2
  NUM_JOINTS: 33
  IMAGE_SIZE:
  - 256
  - 192
  HEATMAP_SIZE:
  - 64
  - 48
MODEL:
  TYPE: 'FastPose'
  PRETRAINED: ''
  TRY_LOAD: ''
  NUM_DECONV_FILTERS:
  - 256
  - 256
  - 256
  NUM_LAYERS: 50
LOSS:
  TYPE: 'MSELoss'
DETECTOR:
  NAME: 'yolo'
  # CONFIG: 'detector/yolo/cfg/yolov3-spp.cfg'
  # WEIGHTS: 'detector/yolo/data/yolov3-spp.weights'
  CONFIG: '/media/disk2/yzy/behavior_framework/AlphaPose-master/detector/yolo/cfg/yolov3-spp.cfg'
  WEIGHTS: '/media/disk2/yzy/behavior_framework/AlphaPose-master/detector/yolo/data/yolov3-spp.weights'
  NMS_THRES: 0.6
  CONFIDENCE: 0.05
TRAIN:
  WORLD_SIZE: 4
  BATCH_SIZE: 32
  BEGIN_EPOCH: 0
  END_EPOCH: 200
  OPTIMIZER: 'adam'
  LR: 0.001
  LR_FACTOR: 0.1
  LR_STEP:
  - 90
  - 120
  DPG_MILESTONE: 140
  DPG_STEP:
  - 160
  - 190

做好这些准备后 还需要校验coco的校验文件

COCO数据格式的校验文件在:AlphaPose-master/alphapose/datasets/mscoco.py

找到这个文件,

修改这部分内容

复制代码
CLASSES = ['pig']
   EVAL_JOINTS = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
   num_joints = 14
   joint_pairs = [[0,1],[4,10],[10,11],[1,2],[3,4],[4,12],[12,13],[2,3],[6,7],[4,5],[8,9],[2,6],[2,7]]

这样通过coco的校验之后 就可以成功训练起模型了

相关推荐
程序员小远9 分钟前
性能测试之性能调优
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·性能测试
金銀銅鐵26 分钟前
[Python] 借助图形化界面探索模n运算的规律
python·数学
Hesionberger28 分钟前
快速求解完全平方数的最少数量
开发语言·数据结构·python·算法·leetcode·c#
xywww1685 小时前
大模型 API 选型实战:GPT、Gemini、Claude 接入时该看哪些指标?
运维·服务器·人工智能·python·gpt·langchain
夜雪一千9 小时前
Python enumerate() 函数完整详解:遍历同时获取索引,告别手动计数
服务器·windows·python
能有时光10 小时前
PyTorch KernelAgent 源码解读 ---(4)--- ExtractorAgent
人工智能·pytorch·python
_Jimmy_10 小时前
Python 协程库如何使用以及有哪些使用场景
python
aqi0011 小时前
15天学会AI应用开发(十七)使用LangGraph实现会话记忆功能
人工智能·python·大模型·ai编程·ai应用
第一程序员11 小时前
Rust Agent 子进程执行:Command 之前,先定义输入和超时
python·rust·github
skywalk816311 小时前
设计并实现段言的 C FFI 绑定机制 @Trae
c语言·开发语言·python·编程