AI实战营第二期——第一次作业:基于RTMPose的耳朵穴位关键点检测

举报
AI浩 发表于 2023/08/06 06:47:10 2023/08/06
【摘要】 @[toc] 题目:基于RTMPose的耳朵穴位关键点检测 背景根据中医的“倒置胎儿”学说,耳朵的穴位反映了人体全身脏器的健康,耳穴按摩可以缓解失眠多梦、内分泌失调等疾病。耳朵面积较小,但穴位密集,涉及耳舟、耳轮、三角窝、耳甲艇、对耳轮等三维轮廓,普通人难以精准定位耳朵穴位。 任务Labelme标注关键点检测数据集(子豪兄已经帮你完成了)划分训练集和测试集(子豪兄已经帮你完成了)Labelm...

@[toc]

题目:基于RTMPose的耳朵穴位关键点检测

背景

根据中医的“倒置胎儿”学说,耳朵的穴位反映了人体全身脏器的健康,耳穴按摩可以缓解失眠多梦、内分泌失调等疾病。耳朵面积较小,但穴位密集,涉及耳舟、耳轮、三角窝、耳甲艇、对耳轮等三维轮廓,普通人难以精准定位耳朵穴位。

任务

Labelme标注关键点检测数据集(子豪兄已经帮你完成了)
划分训练集和测试集(子豪兄已经帮你完成了)
Labelme标注转MS COCO格式(子豪兄已经帮你完成了)
使用MMDetection算法库,训练RTMDet耳朵目标检测算法,提交测试集评估指标
使用MMPose算法库,训练RTMPose耳朵关键点检测算法,提交测试集评估指标
用自己耳朵的图像预测,将预测结果发到群里
用自己耳朵的视频预测,将预测结果发到群里
需提交的测试集评估指标(不能低于baseline指标的50%)
目标检测Baseline模型(RTMDet-tiny)
RTMDet-tiny
在这里插入图片描述

关键点检测Baseline模型(RTMPose-s)
RTMPose-s
在这里插入图片描述

数据集

耳朵穴位关键点检测数据集,MS COCO格式,划分好了训练集和测试集,并写好了样例config配置文件
链接: https://pan.baidu.com/s/1swTLpArj7XEDXW4d0lo7Mg 提取码: 741p

在这里插入图片描述
将数据集下载完成后,分别放到mmpose和mmdetection的data文件夹下,如图:
在这里插入图片描述

训练目标检测器

修改该数据集的配置:

# 数据集类型及路径
dataset_type = 'CocoDataset'
data_root = 'data/Ear210_Keypoint_Dataset_coco/'
metainfo = {'classes': ('ear',)}
NUM_CLASSES = len(metainfo['classes'])

然后执行命令:

python tools/train.py data/faster_r_cnn_triangle.py

在这里插入图片描述

错误:NameError: name ‘unicode’ is not defined

python2 的unicode 函数在 Python3 中被命名为 str。在 Python3 中使用 ·str 来代替 Python2 中的 unicode.

在这里插入图片描述

如果还有错误,将pycocotools的版本改为2.0.2。
训练完成后
在这里插入图片描述

评估目标检测器

执行命令:

 python tools/test.py data/faster_r_cnn_triangle.py  work_dirs/faster_r_cnn_triangle/best_coco_bbox_mAP_epoch_50.pth

在这里插入图片描述

训练关键点检测器

更改数据集路径和类别

_base_ = ['mmpose::_base_/default_runtime.py']

# 数据集类型及路径
dataset_type = 'CocoDataset'
data_mode = 'topdown'
data_root = 'data/Ear210_Keypoint_Dataset_coco/'

# 三角板关键点检测数据集-元数据
dataset_info = {
    'dataset_name':'Ear210_Keypoint_Dataset_coco',
    'classes':'ear',
    'paper_info':{
        'author':'Tongji Zihao',
        'title':'Triangle Keypoints Detection',
        'container':'OpenMMLab',
        'year':'2023',
        'homepage':'https://space.bilibili.com/1900783'
    },
    'keypoint_info':{
        0:{'name':'肾上腺','id':0,'color':[255,0,0],'type': '','swap': ''},
        1:{'name':'耳尖','id':1,'color':[0,255,0],'type': '','swap': ''},
        2:{'name':'胃','id':2,'color':[0,0,255],'type': '','swap': ''},
        3: {'name': '眼', 'id': 3, 'color': [255, 255, 0], 'type': '', 'swap': ''},
        4: {'name': '口', 'id': 4, 'color': [0, 255, 255], 'type': '', 'swap': ''},
        5: {'name': '肝', 'id': 5, 'color': [255, 0, 128], 'type': '', 'swap': ''},
        6: {'name': '对屏尖', 'id': 6, 'color': [50, 255, 50], 'type': '', 'swap': ''},
        7: {'name': '心', 'id': 7, 'color': [0, 50, 255], 'type': '', 'swap': ''},
        8: {'name': '肺', 'id': 8, 'color': [255, 50, 128], 'type': '', 'swap': ''},
        9: {'name': '肺2', 'id': 9, 'color': [128, 255, 128], 'type': '', 'swap': ''},
        10: {'name': '膀胱', 'id': 10, 'color': [255, 255, 255], 'type': '', 'swap': ''},
        11:{'name':'脾','id':11,'color':[255,0,0],'type': '','swap': ''},
        12:{'name':'角窝中','id':12,'color':[0,255,0],'type': '','swap': ''},
        13:{'name':'神门','id':13,'color':[0,50,255],'type': '','swap': ''},
        14: {'name': '肾', 'id': 14, 'color': [255, 255, 0], 'type': '', 'swap': ''},
        15: {'name': '耳门', 'id': 15, 'color': [0, 255, 255], 'type': '', 'swap': ''},
        16: {'name': '听宫', 'id': 16, 'color': [0, 128, 255], 'type': '', 'swap': ''},
        17: {'name': '听会', 'id': 17, 'color': [255, 0, 128], 'type': '', 'swap': ''},
        18: {'name': '肩', 'id': 18, 'color': [50, 255, 50], 'type': '', 'swap': ''},
        19: {'name': '扁桃体', 'id': 19, 'color': [0, 50, 255], 'type': '', 'swap': ''},
        20: {'name': '腰骶椎', 'id': 20, 'color': [255, 50, 128], 'type': '', 'swap': ''},
    },
    'skeleton_info': {
        0: {'link':('肾上腺','肾上腺'),'id': 0,'color': [100,150,200]},
        1: {'link':('耳尖','耳尖'),'id': 1,'color': [200,100,150]},
        2: {'link':('胃','胃'),'id': 2,'color': [150,120,100]},
        3: {'link': ('眼', '眼'), 'id': 3, 'color': [15, 150, 200]},
        4: {'link': ('口', '口'), 'id': 4, 'color': [150, 100, 150]},
        5: {'link': ('肝', '肝'), 'id': 5, 'color': [150, 120, 200]},
        6: {'link': ('对屏尖', '对屏尖'), 'id': 6, 'color': [200, 150, 120]},
        7: {'link': ('心', '心'), 'id': 7, 'color': [200, 100, 100]},
        8: {'link': ('肺', '肺'), 'id': 8, 'color': [150, 120, 50]},
        9: {'link': ('肺2', '肺2'), 'id': 9, 'color': [100, 50, 200]},
        10: {'link': ('膀胱', '膀胱'), 'id': 10, 'color': [250, 100, 150]},
        11: {'link': ('脾', '脾'), 'id': 11, 'color': [150, 250, 100]},
        12: {'link': ('角窝中', '角窝中'), 'id': 12, 'color': [100, 250, 200]},
        13: {'link': ('神门', '神门'), 'id': 13, 'color': [110, 180, 150]},
        14: {'link': ('肾', '肾'), 'id': 14, 'color': [150, 50, 50]},
        15: {'link': ('耳门', '耳门'), 'id': 15, 'color': [100, 250, 255]},
        16: {'link': ('听宫', '听宫'), 'id': 16, 'color': [200, 200, 150]},
        17: {'link': ('听会', '听会'), 'id': 17, 'color': [200, 200, 200]},
        18: {'link': ('肩', '肩'), 'id': 18, 'color': [100, 50, 50]},
        19: {'link': ('扁桃体', '扁桃体'), 'id': 19, 'color': [30, 100, 250]},
        20: {'link': ('腰骶椎', '腰骶椎'), 'id': 20, 'color': [125, 250, 100]},
    }
}

安装必要的库

 pip install pyqtwebengine

开始训练

python tools/train.py data/rtmpose-s-ear.py

在这里插入图片描述

评估关键点检测器

执行命令:

python tools/test.py data/rtmpose-s-ear.py  work_dirs/rtmpose-s-ear/best_PCK_epoch_220.pth

在这里插入图片描述

模型轻量化转换

目标检测器模型

python tools/model_converters/publish_model.py work_dirs/faster_r_cnn_triangle/epoch_50.pth checkpoint/faster_r_cnn_triangle_epoch_50_0606.pth

在这里插入图片描述

关键点检测器模型

python tools/model_converters/publish_model.py work_dirs/rtmpose-s-ear/best_PCK_epoch_220.pth checkpoint/best_0606.pth

在这里插入图片描述

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。