littlebot
Published on 2025-04-13 / 0 Visits
0

【源码】基于mmdetection框架的水下目标检测系统

项目简介

本项目是基于mmdetection框架的水下目标检测系统,专注于检测前视声呐和侧扫声呐图像中的水下目标。采用Cascade R - CNN算法,结合ResNet101作为主干网络,利用FPN和DCN进行特征提取,并在后处理阶段使用soft nms技术,以提升检测精度。

项目的主要特性和功能

  1. 检测算法:采用Cascade R - CNN算法,可实现高精度目标检测。
  2. 主干网络:使用ResNet101 + FPN + DCN,具备强大的特征提取能力。
  3. 后处理:应用soft nms技术,优化检测框筛选过程。
  4. 数据处理:依据前视声呐和侧扫声呐特点,分别进行训练和预测。
  5. 模型评估:提供多种评估工具,包含COCO和PASCAL VOC数据集的评估脚本。
  6. 模型转换:支持从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. 数据准备

  1. 将测试集中的前视声呐图片置于data/b - test - image/image/Forward_looking_sonar_image目录。
  2. 将测试集中的侧扫声呐图片置于data/b - test - image/image/Side_scan_sonar_image目录。
  3. 运行数据处理脚本: bash python tools/data_process/generate_test_json.py
  4. 下载模型文件forward_epoch12.pthside_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. 模型预测

  1. 运行预测脚本: 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数量调整脚本中的数字)
  2. 预测结果会保存在results_testb目录。
  3. 将预测结果转换为提交格式: bash python tools/post_process/json2submit_testb.py --submit_file submit.csv 最终的提交文件submit.csv将位于submit_testb目录。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】