OpenMMLab学习笔记03
前言
主要介绍mmdetection以及mmpose的安装、测试和使用
一、安装MMDet&MMPose
1. MMPose安装
- 安装pytorcch
- 用mim安装MMCV
- 安装所需工具包
- git clone代码库
- 安装MMPose
2. MMDet安装
提示:与MMPose安装步骤相同:
- 安装pytorcch
- 用mim安装MMCV
- 安装所需工具包
- git clone代码库
- 安装MMDet
二、下载数据集以及配置文件
1.下载数据集
提示:需在MMPose以及MMDetection目录下的data目录中都下载数据:
代码如下(示例):
import os
os.chdir('mmpose')
# os.chdir('mmdetection')
# 下载数据集压缩包
!wget https://zihao-download.obs.cn-east-3.myhuaweicloud.com/yolov8/datasets/Triangle_215_Dataset/Triangle_215_Keypoint_coco.zip -P data
!unzip data/Triangle_215_Keypoint_coco.zip -d data >> /dev/null # 解压压缩包
!rm -rf data/Triangle_215_Keypoint_coco.zip # 删除压缩包
#下载用于测试的图像和视频
!mkdir data/test_triangle
# 图像-30度直角三角板,拍摄:同济子豪兄、田文博
!wget https://zihao-openmmlab.obs.myhuaweicloud.com/20220610-mmpose/triangle_dataset/test_img/triangle_1.jpg -P data/test_triangle
!wget https://zihao-openmmlab.obs.myhuaweicloud.com/20220610-mmpose/triangle_dataset/test_img/triangle_2.jpg -P data/test_triangle
!wget https://zihao-openmmlab.obs.myhuaweicloud.com/20220610-mmpose/triangle_dataset/test_img/triangle_3.jpg -P data/test_triangle
!wget https://zihao-openmmlab.obs.myhuaweicloud.com/20220610-mmpose/triangle_dataset/test_img/triangle_4.jpg -P data/test_triangle
# 视频-30度直角三角板,拍摄:同济子豪兄,田文博
!wget https://zihao-openmmlab.obs.myhuaweicloud.com/20220610-mmpose/triangle_dataset/videos/triangle_6.mp4 -P data/test_triangle
!wget https://zihao-openmmlab.obs.myhuaweicloud.com/20220610-mmpose/triangle_dataset/videos/triangle_7.mp4 -P data/test_triangle
!wget https://zihao-openmmlab.obs.myhuaweicloud.com/20220610-mmpose/triangle_dataset/videos/triangle_9.mp4 -P data/test_triangle
2.下载配置文件
提示:需在MMPose以及MMDetection目录下的data目录中都下载配置文件:
代码如下(示例):
# detection
import os
# os.chdir('mmpose')
os.chdir('mmdetection')
# RTMDet-Tiny 三角板目标检测
!rm -rf data/rtmdet_tiny_triangle.py
!wget https://zihao-openmmlab.obs.myhuaweicloud.com/20220610-mmpose/triangle_dataset/rtmdet_tiny_triangle.py -P data
# pose
import os
os.chdir('mmpose')
# RTMPose-Tiny 三角板关键点
!rm -rf data/rtmpose-s_triangle_8xb256-420e_coco-256x192.py
!wget https://zihao-openmmlab.obs.cn-east-3.myhuaweicloud.com/20220610-mmpose/triangle_dataset/rtmpose-s_triangle_8xb256-420e_coco-256x192.py -P data
注意,要在mmpose和mmdetection两个目录都运行一遍。
三、训练模型
1. 训练RTMDet
代码如下(示例):
import os
os.chdir('mmdetection')
# 建议在命令行中运行
!python tools/train.py data/rtmdet_tiny_triangle.py
2. 评估RTMDet模型
代码如下(示例):
!python tools/test.py data/rtmdet_tiny_triangle.py \
work_dirs/rtmdet_tiny_triangle/epoch_200.pth
3. 训练RTMPose
代码如下(示例):
import os
os.chdir('mmpose')
!python tools/train.py data/rtmpose-s_triangle_8xb256-420e_coco-256x192.py
4.评估RTMPose
代码如下(示例):
!python tools/test.py data/rtmdet_tiny_triangle.py \
work_dirs/rtmdet_tiny_triangle/epoch_200.pth
四、预测
1.RTMDet预测
代码如下(示例):
import os
os.chdir('mmdetection')
# RTMDet
!python demo/image_demo.py \
data/test_triangle/triangle_3.jpg \
data/rtmdet_tiny_triangle.py \
--weights checkpoint/rtmdet_tiny_triangle_epoch_200_202305120847-3cd02a8f.pth \
--out-dir outputs/E2_rtmdet \
--device cuda:0 \
--pred-score-thr 0.3
2.RTMPose预测
代码如下(示例):
import os
os.chdir('mmpose')
# RTMDet --> RTMPose
!python demo/topdown_demo_with_mmdet.py \
data/rtmdet_tiny_triangle.py \
checkpoint/rtmdet_tiny_triangle_epoch_200_202305120847-3cd02a8f.pth \
data/rtmpose-s_triangle_8xb256-420e_coco-256x192.py \
checkpoint/rtmpose_s_triangle_300-34bfaeb2_20230512.pth \
--input data/test_triangle/triangle_4.jpg \
--output-root outputs/G2_RTMDet-RTMPose \
--device cuda:0 \
--bbox-thr 0.5 \
--kpt-thr 0.5 \
--nms-thr 0.3 \
--radius 36 \
--thickness 30 \
--draw-bbox \
--draw-heatmap \
--show-kpt-idx
总结
介绍了使用mmdet&mmpose的使用流程