📑前言

Faster-RCNN 是一种经典的目标检测模型,广泛应用于计算机视觉任务,如目标检测和实例分割。它不仅性能优异,而且具备较高的检测精度。本文将手把手带领大家完成 Faster-RCNN 的训练与测试,介绍云服务器的配置、环境搭建以及模型的训练和测试流程,帮助读者快速上手使用 Faster-RCNN。

一、提前准备

在开始训练和测试 Faster-RCNN 模型之前,需要准备好以下工具和资源:

  1. MobaXterm(远程连接服务器):MobaXterm 是一款功能强大的 SSH 客户端,用于远程连接服务器并进行操作。您可以通过以下链接下载:
  2. Faster-RCNN 源代码下载:提前准备好项目源码,可以通过压缩包的方式下载,并在后续步骤中上传至服务器。

二、云服务器平台的使用

为了运行 Faster-RCNN,首先需要一台具有 GPU 的云服务器。在本教程中,我们使用了丹摩智算平台,支持 4090 显卡的云实例进行部署和训练。

2.1 创建 GPU 实例

  1. 创建实例:进入云服务器平台的控制台,点击创建实例。推荐选择 NVIDIA GeForce RTX 4090 显卡,该显卡提供 24GB 显存,可以高效地完成大规模深度学习任务。
  2. 选择镜像:在实例配置中,选择 PyTorch 的预装镜像,以简化环境的安装流程。
  3. 下载私钥:为了后续的免密登录操作,需要在创建实例时下载私钥文件,并将其保存到本地。
  4. 连接服务器:实例创建成功后,可以使用 MobaXterm 通过 SSH 远程连接服务器。将提供的 SSH 命令(如 ssh -p 39763 root@cn-north-b.ssh.damodel.com)粘贴到 MobaXterm 中,成功连接后即可在远程服务器上进行操作。

2.2 图示

三、Faster-RCNN 环境配置

在成功登录云服务器后,需要进行环境的配置,以便运行 Faster-RCNN 模型。

3.1 上传并解压代码文件

首先,将本地下载的 Faster-RCNN 源代码上传到服务器的 /root/workspace/ 目录下。可以通过 MobaXterm 的 SFTP 界面拖动文件,或者使用 scp 命令上传。上传完成后,解压缩代码文件:

unzip mmdetection-3.3.0.zip

3.2 安装依赖

Faster-RCNN 的运行依赖多个 Python 库和框架,因此需要根据项目的需求安装必要的依赖包:

  1. 安装 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/
  1. 从源码安装 mmdetection
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/
  1. 安装其他依赖:
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/
  1. 安装全景分割和 LVIS 数据集依赖:
cd panopticapi
pip install -e . -i https://pypi.tuna.tsinghua.edu.cn/simple/
cd ../lvis-api
pip install -e . -i https://pypi.tuna.tsinghua.edu.cn/simple/
  1. 安装 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/

3.3 测试环境配置

环境配置完毕后,可以通过执行测试脚本验证是否成功:

python 1.py

如果没有报错,说明依赖环境安装成功。

四、COCOmini 数据集简介

Faster-RCNN 的训练通常使用 COCO 数据集,这里使用一个缩小版的 COCOmini 数据集进行演示。该数据集包含了多个类别的目标,具有多标签、多样性和复杂性等特点,适合用于目标检测和实例分割等任务。

COCO 数据集包含了 80 个常见物体类别,包括人类、动物、交通工具和家具等。每个图像中通常包含多个对象类别,带有精确的边界框和分割掩码。

五、Faster-RCNN 模型训练

5.1 开始训练

配置好环境并上传 COCOmini 数据集后,可以开始训练 Faster-RCNN 模型。由于代码已经过调试,训练过程十分简单,只需执行以下命令:

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

该命令会自动下载预训练权重,并开始训练。在训练过程中,您可以监控模型的损失值和精度变化,等待模型完成训练。

5.2 测试与保存结果

训练完成后,可以使用训练好的模型权重在测试数据集上进行推理,并保存预测结果。以下命令使用训练好的权重进行预测,并将结果保存至指定目录:

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/

部分预测结果将显示为图像,左侧展示真实物体的位置,右侧为模型预测的结果。

六、保存实验数据与下载

为了节省下次实验时的配置时间,建议将训练好的环境保存为镜像。前往控制台的 GPU 云实例页面,选择保存镜像。这样在下次使用时,可以直接加载保存的镜像,避免重复配置环境的过程。

Logo

尧米是由西云算力与CSDN联合运营的AI算力和模型开源社区品牌,为基于DaModel智算平台的AI应用企业和泛AI开发者提供技术交流与成果转化平台。

更多推荐