0


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

文章目录

题目:基于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

在这里插入图片描述

标签: 人工智能

本文转载自: https://blog.csdn.net/hhhhhhhhhhwwwwwwwwww/article/details/131065236
版权归原作者 AI浩 所有, 如有侵权,请联系我们删除。

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

还没有评论