Skip to content

Faster-Rcnn-训练与测试

提前准备

1.1 mobaxterm(远程连接服务器)

https://mobaxterm.mobatek.net/download-home-edition.html

image-20240716212744890

1.2 本文的源码下载

点击下载源码

手把手拿下经典目标检测模型 Faster-Rcnn

2.1 手把手拿下云服务器平台

第一步:创建实例,选择 4090 显卡,并且下载私钥

image-20240716213303616

image-20240802180623110

选择指定镜像

image-20240716213425874

下载私钥到桌面,后续用于免密登录

image-20240716213517237

点击创建

image-20240716213641467

等待创建完成

image-20240716213704975

复制访问连接

ssh -p 39763 root@cn-north-b.ssh.damodel.com

image-20240716213729645

打开安装好的 MobaXterm

image-20240716213804435

image-20240716214032721

image-20240716214103801

成功登录

image-20240716214128775

2.2 拿下 Faster-rcnn 的环境配置

第一步:将我们的代码文件拖入/root/workspace/目录下,然后解压

unzip mmdetection-3.3.0.zip

第二步:安装需要的环境

python
# 安装mmcv包
pip install mmcv==2.1.0 -f https://download.openmmlab.com/mmcv/dist/cu121/torch2.1/index.html -i https://mirrors.aliyun.com/pypi/simple/

# 从源码安装mmdetection-3.3.0
cd mmdetection-3.3.0
pip install -r requirements/build.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install -v -e ./ -i https://pypi.tuna.tsinghua.edu.cn/simple/

# 安装必要包
pip install numpy==1.24.4 -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install setuptools==69.5.1 -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install instaboostfast -i https://pypi.tuna.tsinghua.edu.cn/simple/

# 安装全景分割依赖panopticapi
cd panopticapi
pip install -e . -i https://pypi.tuna.tsinghua.edu.cn/simple/
cd ..

# 安装 LVIS 数据集依赖
cd lvis-api
pip install -e . -i https://pypi.tuna.tsinghua.edu.cn/simple/
cd ..

# 安装 albumentations 依赖
pip install -r requirements/albu.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install mmengine -i https://pypi.tuna.tsinghua.edu.cn/simple/

image-20240716215144686

python
# 环境安装完毕
# 测试一下
python 1.py

image-20240716215501121

顺利完成

2.3 数据集简介

COCOmini 数据集是一个用于各种计算机视觉任务的数据集,包括但不限于目标检测、实例分割、关键点检测、和图像分类。

特点与组成部分:

  • 多标签:不同于单一标签的数据集,COCO 中的图像通常包含多个不同的对象类别,这使得它非常适合上下文理解的研究。
  • 多样性和复杂性:图像涵盖了广泛的生活场景,从室内到室外,从城市到自然环境,提供了丰富的视觉多样性。
  • 详尽的注释:每个对象实例都有精确的边界框和分割掩码,以及关键点注释对于人体类别的对象。
  • 80 个对象类别:COCO 包含了 80 种常见的物体类别,如人、动物、交通工具、家具等。

000000009590

2.4 开始训练

python
# 为了方便上手,因此我们的代码都是调试好的,因此可以直接输入命令进行训练

python ./tools/train.py ./checkpoints/faster-rcnn_r50_fpn_1x_coco.py

# 他会自动下载权重,并开始训练,耐心等待即可~~~

image-20240716215858552

2.5 测试数据并保存

python
# 经过训练,我们得到pth权重,通过pth权重预测我们的数据集,左侧为真实物体的位置,右侧为预测结果。
# 我们这里直接使用训练好的权重进行预测

python tools/test.py ./checkpoints/faster-rcnn_r50_fpn_1x_coco.py ./checkpoints/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth --show-dir /root/workspace/mmdetection-3.3.0/result/

image-20240716220113882

部分预测结果展示:

000000015597

000000424521

2.6 保存实验数据与下载

前往控制台-GPU云实例,保存镜像,这样我们可以下次使用时省去配置环境的过程。

image-20240716220707578

image-20240716220853212