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

这篇具有很好参考价值的文章主要介绍了AI实战营第二期——第一次作业:基于RTMPose的耳朵穴位关键点检测。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

背景

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

任务

Labelme标注关键点检测数据集(子豪兄已经帮你完成了)
划分训练集和测试集(子豪兄已经帮你完成了)
Labelme标注转MS COCO格式(子豪兄已经帮你完成了)
使用MMDetection算法库,训练RTMDet耳朵目标检测算法,提交测试集评估指标
使用MMPose算法库,训练RTMPose耳朵关键点检测算法,提交测试集评估指标
用自己耳朵的图像预测,将预测结果发到群里
用自己耳朵的视频预测,将预测结果发到群里
需提交的测试集评估指标(不能低于baseline指标的50%)
目标检测Baseline模型(RTMDet-tiny)
RTMDet-tiny
AI实战营第二期——第一次作业:基于RTMPose的耳朵穴位关键点检测

关键点检测Baseline模型(RTMPose-s)
RTMPose-s
AI实战营第二期——第一次作业:基于RTMPose的耳朵穴位关键点检测

数据集

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

AI实战营第二期——第一次作业:基于RTMPose的耳朵穴位关键点检测
将数据集下载完成后,分别放到mmpose和mmdetection的data文件夹下,如图:
AI实战营第二期——第一次作业:基于RTMPose的耳朵穴位关键点检测

训练目标检测器

修改该数据集的配置:

# 数据集类型及路径
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

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

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

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

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

如果还有错误,将pycocotools的版本改为2.0.2。
训练完成后
AI实战营第二期——第一次作业:基于RTMPose的耳朵穴位关键点检测

评估目标检测器

执行命令:

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

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

训练关键点检测器

更改数据集路径和类别

_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

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

评估关键点检测器

执行命令:

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

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

模型轻量化转换

目标检测器模型

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

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

关键点检测器模型

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

AI实战营第二期——第一次作业:基于RTMPose的耳朵穴位关键点检测文章来源地址https://www.toymoban.com/news/detail-473663.html

到了这里,关于AI实战营第二期——第一次作业:基于RTMPose的耳朵穴位关键点检测的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python 第一次作业

    因为笔者有一些 c/c++ 语言的基础,所以应该学 python 会稍微简单一些 输入的时候所有的输入都是字符串类型,我们需要进行类型转换 参见资源里面的第三题和第四题,为了方便起见,直接把代码贴在下面

    2024年03月25日
    浏览(40)
  • 数据库第一次作业

    1.创建一个英雄表 create table t_hero (      id int primary key auto_increment,      name varchar(10) unique not null,      gender char(5) check (gender in (\\\'男\\\',\\\'女\\\')),      grade char(5) default \\\'5星\\\',      `groups` char(5) check (`groups` in (\\\'毁灭\\\',\\\'巡猎\\\',\\\'智识\\\',\\\'存护\\\',\\\'虚无\\\',\\\'丰饶\\\')),      tel char(11)   default \\\'

    2024年01月18日
    浏览(43)
  • oop第一次博客作业

    前言 这学期刚刚接触面向对象程序设计,使用的是java语言。在此之前只接触过c语言。以我目前的学习进程来看二者的差别更多体现在面向对象的其中一个基本特性上,即封装性。在c语言中几乎所有内容都是公开的,java可以有效得规避这点。 学习的知识点 1.知道了类间关系

    2024年04月22日
    浏览(29)
  • 网络安全第一次作业

    1、什么是防火墙 防火墙是一种网络安全系统,它根据预先确定的安全规则监视和控制传入和传出的网络流量。其主要目的是阻止对计算机或网络的未经授权的访问,同时允许合法通信通过。 防火墙可以在硬件、软件或两者的组合中实现,并且可以配置为根据各种条件(如

    2024年02月07日
    浏览(37)
  • Python第一次作业练习

     输入:101 -成绩不及格/输入错误(超过100)​ 输入:87 -成绩良好      

    2024年02月09日
    浏览(29)
  • web集群第一次作业

     目录 一. 简述静态网页和动态网页的区别 二. 简述 Web1.0 和 Web2.0 的区别 三. 安装tomcat8,配置服务启动脚本,部署jpress应用。 1. 首先,两者的 页面资源特征 不同: 静态网页处理文件类型有.html、.jpg、.gif、.mp4、.swf、.avi、.wmv、.flv等,而动态网页后缀常见为.asp、.aspx、.php、

    2024年02月04日
    浏览(29)
  • java第一次作业(二)

     思路: 运用expression的字符串输出 重点: expression输出 代码: 知识点: expression输出 思路: 充分运用两个for循环,一个掌控行数,一个掌控输出的数字 代码: 知识点: 输入 数字所占空格 换行 思路: 这种复杂的配凑问题,不要去想枚举去解,充分利用for循环语句 像这题

    2024年04月11日
    浏览(64)
  • java第一次作业(一)

    知识点: 考查java的输入格式以及for循环 java格式 注意Main与main 代码: 知识点: for循环 数组 /输入数组 /数组比大小 代码: 知识点: println与print区别:println是输完之后转行 重点: 多重for循环 代码: 知识点: 调用函数 booean函数 重点: Scanner输入 代码: 知识点: 最后又有

    2024年03月25日
    浏览(43)
  • 记第一次大作业:校园导航系统

    大二迎来了人生中的第一次大作业,因为上个学期转专业过来,学C的基础不扎实,凑巧这学期又初识了Java,可以算是我第一门系统学习的语言,本来是想用Java进行设计的,没想到我们的数据结构老师十分的坚持,一定要用C语言进行实现,那就没办法啦,就借着这个机会对

    2024年02月09日
    浏览(36)
  • 【网络应用与安全】第一次作业

    登录账号 登录个人账号,可以通过图形界面和命令两种方式。 图形界面:当前用户 logout ,切换用户,如果备选用户中没有自己的用户名,点击 not listed ,之后输入用户名和密码登录即可。 命令:使用 su your_username 方式,回车输入密码即可切换。 修改密码 操作步骤 输入

    2024年02月07日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包