该赛题聚焦基于PaddleDetection的海上船舶智能检测,利用GF-3和哨兵1号卫星的SAR数据。数据集含256x256像素船舶切片及标注,需通过模型检测生成特定格式csv提交。流程包括数据预处理、用faster_rcnn_swin_tiny_fpn模型训练、预测,旨在探索针对性检测方法,助力领海安全等领域。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

基于海上船舶目标检测对于领海安全、渔业资源管理和海上运输与救援具有重要意义,但在天气和海浪等不可控自然因素的影响下,依靠派遣海警船或基于可见光数据进行船舶目标监测等手段往往难以有效开展。卫星合成孔径雷达(SAR)是一种全天时、全天候、多维度获取信息的主动式微波成像雷达,为海洋上多尺度的船舶检测提供了强有力的数据保障和技术支持,在遥感图像船舶检测领域占有重要地位。由于SAR的成像原理与光学相机存在很大的差别,如何利用SAR数据特性设计出一套具有针对性的船舶检测方法是一大难点。本赛题鼓励选手通过数据算法寻找这个难题的新颖解法,进一步推动海上船舶智能检测的发展。
通过PaddleDetection实现对海上船舶智能检测,通过数据算法寻找这个难题的新颖解法,进一步推动海上船舶智能检测的发展。
源数据为中国资源卫星应用中心提供的102景GF-3卫星数据及欧空局提供的108景哨兵1号卫星数据。标注数据由中国科学院空天信息创新研究院王超研究员团队制作和提供,通过对源数据进行幅度值生成,位深量化和灰度拉伸处理后,将原始16位复数数据加工为8位数字图像。通过裁剪和筛选,形成像素尺寸为256x256的船舶切片,并通过Labelme目标标注软件,为每一张船舶切片生成对应的船舶标注框信息文本。
参赛者需要将所有模型检测结果放入一个csv文件中,命名为submission.csv,文件内容格式如下表所示: 每一行为一个待检测影像的信息和结果,其中第一列存储待检测的影像名称(不包含后缀名),第二列存储检测的垂直边框信息,具体边框信息格式为[目标矩形中心点相对横坐标 目标矩形中心点相对纵坐标 目标矩形相对长度比例 目标矩形相对宽度比例](数字间用英文空格隔开),如果有多个垂直边框,用英文的“;”将边框信息进行分离。
竞赛训练数据集中包括两类数据文件,第一类是.jpg格式的SAR影像文件,第二类是txt格式的船舶标注信息文本文件,两者通过相同的名称进行关联,名称命名规则可忽略。
下载数据集(训练集和测试集) 在比赛官网https://www.dcic-china.com/competitions/10022/datasets下载测试集和训练集
其次解压数据集 执行以下命令解压数据集,解压之后将压缩包删除,保证项目空间小于100G。否则项目会被终止。
# 1.安装依赖%cd work/PaddleDetection/ !pip install -r requirements.txt !pip install paddlex
# 2.解压数据集%cd /home/aistudio/data/ !unzip data127873/training_dataset.zip!unzip data127874/test_dataset.zip!rm -rf data12*
!mkdir Images !mkdir txts !cp -r train/*.jpg Images !cp -r train/*.txt txts
# 3.数据格式转换%cd ./train !python text2voc.py !cd ./train/ship_detect ./work/PaddleDetection/dataset
1.利用PaddleDetection套件对检测目标模型进行训练,首先在https://gitee.com/PaddlePaddle/PaddleDetection.git 里,进行克隆,下载项目。
# 1.下载PaddleDetection代码%cd ~/work/# 从Gitee上下载PaddleDetection代码!git clone https://gitee.com/PaddlePaddle/PaddleDetection.git -b develop# 若网速较慢,可使用如下方法下载# !git clone https://hub.fastgit.org/PaddlePaddle/PaddleDetection.git
/home/aistudio/work 正克隆到 'PaddleDetection'... remote: Enumerating objects: 21396, done. remote: Counting objects: 100% (1866/1866), done. remote: Compressing objects: 100% (934/934), done. remote: Total 21396 (delta 1313), reused 1300 (delta 929), pack-reused 19530 接收对象中: 100% (21396/21396), 202.22 MiB | 16.11 MiB/s, 完成. 处理 delta 中: 100% (15862/15862), 完成. 检查连接... 完成。
2.选用PaddleDetection中的目标检测模型,修改参数以及数据集路径,这里选用faster_rcnn_swin_tiny_fpn_3x_coco.yml对数据进行训练。 (1)修改work/PaddleDetection/configs/datasets/voc.yml中的voc数据集所在路径和num_classes。
metric: VOCmap_type: 11pointnum_classes: 2TrainDataset:
!VOCDataSet
dataset_dir: dataset/ship_detect
anno_path: train_list.txt
label_list: labels.txt
data_fields: ['image', 'gt_bbox', 'gt_class', 'difficult']EvalDataset:
!VOCDataSet
dataset_dir: dataset/ship_detect
anno_path: train_list.txt
label_list: labels.txt
data_fields: ['image', 'gt_bbox', 'gt_class', 'difficult']TestDataset:
!ImageFolder
anno_path: dataset/ship_detect/labels.txt(2)修改work/PaddleDetection/configs/faster_rcnn/faster_rcnn_swin_tiny_fpn_1x_coco.yml中数据集格式
_BASE_: [ '../datasets/voc.yml', '../runtime.yml', '_base_/optimizer_swin_1x.yml', '_base_/faster_rcnn_swin_tiny_fpn.yml', '_base_/faster_rcnn_swin_reader.yml', ] weights: output/faster_rcnn_swin_tiny_fpn_1x_coco/model_final
# 2.选用PaddleDetection中的目标检测模型,修改参数以及数据集路径,这里选用faster_rcnn_swin_tiny_fpn_3x_coco.yml对数据进行训练。%cd ~/work/PaddleDetection !python3.7 ./tools/train.py -c ./configs/faster_rcnn/faster_rcnn_swin_tiny_fpn_3x_coco.yml
将预测txt和jpg保存到/home/aistudio/test_a/
# 3.模型预测! cd PaddleDetection && python tools/infer.py -c ./configs/faster_rcnn/faster_rcnn_swin_tiny_fpn_3x_coco.yml --infer_dir=/home/aistudio/测试集/ --save_txt=True --output_dir=/home/aistudio/test_a/ > log.log
# 4.生成提交文件%cd ~/work/PaddleDetection/dataset/ship_detect/ !python submission.py
以上就是基于PaddleDetection卫星应用赛题——海上船舶智能检测的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号