为什么是关于mmpose呢,因为我菜。本文仅做记录使用,也就是说,写的不一定对,欢迎大佬批评指正。
我只想知道这种关键点检测是如何标注的,数据集是如何搞的,全网居然都找不到,付费资源我不配,今天是12.30,就要元旦了哦,元旦前要发出去!
mmpose中文教程: 教程 1:如何微调模型 — MMPose 0.29.0 文档
1. 标注
如果是对单个目标进行标注的话,使用labelme,多个目标使用coco-annotate,针对我的任务,本文只介绍使用labelme进行标注。
打开labelme,先画大框,选择Edit下的Create Rectangle选项,将需要标注的位置框起来,然后选择Create Point选项,在这个框里点关键点,每个点命不可以相同,保存生成json文件,还不能直接用,需要将生成的json文件转化为coco的json文件。
打开tools/json2json.py文件进行转化然后分出训练和验证。
2. 运行
环境配置网上有很多,搞一搞就行,训练自己的数据集的时候,有一个数据集注册的机制,先模仿原版写出自己要检测的动物,需要修改名字和关键点个数,然后在animal/_init_.py文件里导入新建的文件。
在apis/inference.py插入新的类,252,253行,688-693行,689行就是将需要连线的点找出来,手动将他们连在一起。
在configs/animal/resnet/fish/res152_fish_192x192.py修改预训练权重,关键点个数,batch size ,各种路径。配置好,直接tools/train.py训练就可以。
差不多就是这个流程,然后可以分为有检测框的姿态检测和没有检测框的姿态检测,这个是没框的姿态检测就模仿这个fly搞,如果想要有检测框的就模仿horse的搞。