因为MMRotate dev 1.x 新增了PSC角度编码器以及RTMDet目标检测算法,而之前从官网下载的MMRotate是main分支,没有新增的东西,所以重新搞了一下,以此记录。
1.创建虚拟环境
注意:如果之前安装了MMRotate的其他版本,请重新创建一个虚拟环境,如果继续用原来的虚拟环境,在安装mmrotate dev 1.x的时候,会安装其他版本的mmcv和mmdet,导致原来的mmrotate环境不可用。
- conda create --name mmrotate_dev1x python=3.8 -y
- conda activate mmrotate_dev1x
2.安装pytorch
几个常用的pytorch版本如下:其他版本参考官网
- # CUDA 11.3
- pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu113
-
- # CUDA 11.1
- pip install torch==1.10.1+cu111 torchvision==0.11.2+cu111 torchaudio==0.10.1 -f https://download.pytorch.org/whl/cu111/torch_stable.html
-
- # CUDA 10.1
- pip install torch==1.8.1+cu101 torchvision==0.9.1+cu101 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html
-
3.安装mmcv mmdetecion:
- pip install -U openmim
- mim install mmengine
- mim install "mmcv>=2.0.0rc2"
- mim install 'mmdet>=3.0.0rc2'
4.安装mmrotate dev 1.x
- git clone https://github.com/open-mmlab/mmrotate.git -b dev-1.x
- # "-b dev-1.x" means checkout to the `dev-1.x` branch.
- cd mmrotate
- pip install -v -e .
- # "-v" means verbose, or more output
- # "-e" means installing a project in editable mode,
- # thus any local modifications made to the code will take effect without reinstallation.
5.验证安装
- import mmrotate
- print(mmrotate.__version__)
- # Example output: 1.x
1.将数据集的标注格式转换成DOTA格式,也可以参考HRSC或者其他格式,这里只做参考:
- DOTA数据标签介绍
- 标注方式:oriented bounding box 定向边界框
- x1, y1, x2, y2, x3, y3, x4, y4, category, difficult
- x1, y1, x2, y2, x3, y3, x4, y4, category, difficult
- ...
- x1, y1, x2, y2, x3, y3, x4, y4:四边形的四个顶点的坐标 顶点按顺时针顺序排列,第一个起点为左上第一个点
- category:实例类别
- difficult:表示该实例是否难以检测(1表示困难,0表示不困难)
2. 修改配置文件
python tools/train.py config文件
参考: