项目简介
本项目是基于mmdetection框架的水下目标检测系统,专注于检测前视声呐和侧扫声呐图像中的水下目标。采用Cascade R - CNN算法,结合ResNet101作为主干网络,利用FPN和DCN进行特征提取,并在后处理阶段使用soft nms技术,以提升检测精度。
项目的主要特性和功能
- 检测算法:采用Cascade R - CNN算法,可实现高精度目标检测。
- 主干网络:使用ResNet101 + FPN + DCN,具备强大的特征提取能力。
- 后处理:应用soft nms技术,优化检测框筛选过程。
- 数据处理:依据前视声呐和侧扫声呐特点,分别进行训练和预测。
- 模型评估:提供多种评估工具,包含COCO和PASCAL VOC数据集的评估脚本。
- 模型转换:支持从Detectron到PyTorch的模型转换以及模型版本升级。
安装使用步骤
1. 环境准备
- 操作系统:Ubuntu 16.10
- GPU:2080Ti * 4
- Python版本:Python 3.7
- NVIDIA依赖:
- CUDA:10.0.130
- cuDNN:7.5.1
- NVIDIA驱动版本:430.14
2. 依赖安装
bash
conda create -n underwater python=3.7 -y
conda activate underwater
conda install pytorch=1.1.0 torchvision=0.3.0 cudatoolkit=10.0 -c pytorch
pip install cython && pip --no-cache-dir install -r requirements.txt
python setup.py develop
3. 数据准备
- 将测试集中的前视声呐图片置于
data/b - test - image/image/Forward_looking_sonar_image
目录。 - 将测试集中的侧扫声呐图片置于
data/b - test - image/image/Side_scan_sonar_image
目录。 - 运行数据处理脚本:
bash python tools/data_process/generate_test_json.py
- 下载模型文件
forward_epoch12.pth
和side_epoch12.pth
,分别放在以下路径:work_dirs/forward/cas_r101_dcn_fpn_1x_fixbn_vflip/forward_epoch_12.pth work_dirs/side_all/cas_r101_dcn_fpn_1x_vflip/side_epoch_12.pth
4. 模型预测
- 运行预测脚本:
bash chmod +x tools/dist_test.sh ./tools/dist_test.sh configs/underwater/cas_r101/cas_r101_dcn_forward.py work_dirs/forward/cas_r101_dcn_fpn_1x_fixbn_vflip/forward_epoch_12.pth 4 --json_out results_testb/cas_r101_dcn_forward_vflip_flip_3scale.json ./tools/dist_test.sh configs/underwater/cas_r101/cas_r101_dcn_side_all.py work_dirs/side_all/cas_r101_dcn_fpn_1x_vflip/side_epoch_12.pth 4 --json_out results_testb/cas_r101_dcn_side_all_vflip_flip_3scale.json
(需根据实际GPU数量调整脚本中的数字) - 预测结果会保存在
results_testb
目录。 - 将预测结果转换为提交格式:
bash python tools/post_process/json2submit_testb.py --submit_file submit.csv
最终的提交文件submit.csv
将位于submit_testb
目录。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】