news 2026/7/15 14:45:17

YOLO模型如何训练SAR船舶检测数据集 1160张 1类 SAR 影像船舶检测数据集 遥感影像,适用于海上船舶识别、海事监测场景

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
YOLO模型如何训练SAR船舶检测数据集 1160张 1类 SAR 影像船舶检测数据集 遥感影像,适用于海上船舶识别、海事监测场景

SAR船舶检测 1160张 1类

name:[ ship]
名称:船
共1160张,按8:1:1比例划分为train:928张,val:116张,test:116张。标注文件为xml格式。可以直接用于深度学习训练。

SAR船舶检测数据集(单类别VOC格式)

一、数据集基础信息表

项目详情
数据集名称SAR影像船舶检测数据集
图像总量1160 张
检测类别单类:ship(船舶)
标注格式VOC 标准.xml标注文件,图片与标注一一对应
数据划分训练集928张、验证集116张、测试集116张(比例 8:1:1,已划分完成)
适用模型YOLO、Faster R-CNN、SSD 等主流目标检测算法
图像特点SAR遥感影像,适用于海上船舶识别、海事监测场景

二、数据集目录结构(VOC标准格式)

sar_ship_voc/ ├── Annotations/ # 全部xml标注文件 │ ├── train/ │ ├── val/ │ └── test/ ├── JPEGImages/ # 全部图片文件 │ ├── train/ │ ├── val/ │ └── test/ └── ImageSets/ └── Main/ ├── train.txt ├── val.txt └── test.txt

三、应用场景

  1. 海事智能监测:基于SAR遥感影像实现海域船舶自动识别、船只统计、违规船只筛查。
  2. 海洋安防监管:近海、航道、港口全天候船舶目标检测,不受昼夜、天气影响。
  3. 算法训练与测试:VOC格式标准数据集,用于遥感影像小目标、弱纹理目标检测算法研发与对比实验。
  4. 学业/项目实战:计算机视觉、遥感图像处理、深度学习相关毕设、课程项目、竞赛练习。
  5. 海洋资源管理:结合时序SAR数据,分析海域船只活动规律,辅助海洋运维管理。

四、公众号标签(直接复用)

分类标签

#数据集#目标检测#SAR影像#遥感检测#船舶识别#深度学习#计算机视觉

组合标签(推文/封面)

  1. 技术向:#VOC数据集 #目标检测 #SAR船舶检测 #CV实战
  2. 行业向:#遥感影像 #海事监测 #智慧海洋 #智能识别
  3. 精简标签:#数据集 #船舶检测 #深度学习

五、完整代码实现

环境依赖

pipinstallultralytics lxml opencv-python numpy

说明

数据集为VOC(xml)格式,下面提供两套方案:

  1. 方案一:YOLOv8 直接加载VOC数据集训练(推荐,最简)
  2. 方案二:VOC转YOLO txt格式脚本(如需原生YOLO标签使用)

5.1 方案一:YOLOv8 直接训练VOC数据集(无需转格式)

1)创建数据集配置文件sar_ship_voc.yaml

# VOC格式 SAR船舶检测配置path:./sar_ship_voctrain:JPEGImages/trainval:JPEGImages/valtest:JPEGImages/test# 类别数 & 类别名nc:1names:0:ship# 标注格式类型format:voc

2)训练代码train_sar_ship.py

针对SAR影像特征(对比度低、目标纹理简单、小目标)优化参数

fromultralyticsimportYOLOdeftrain_sar_ship():# 加载预训练权重model=YOLO("yolov8s.pt")model.train(data="./sar_ship_voc.yaml",epochs=120,imgsz=640,batch=16,# 显存不足改为 8/4device=0,# 无GPU填写 device="cpu"workers=4,patience=25,pretrained=True,optimizer="Adam",lr0=0.001,# 数据增强(适配SAR遥感影像)mosaic=0.8,hsv_h=0.01,hsv_s=0.3,hsv_v=0.2,fliplr=0.5,# 检测阈值(SAR小目标适当降低置信度)conf=0.2,iou=0.4,project="runs/sar_ship",name="train_yolov8",exist_ok=True)print("训练完成,最优模型:runs/sar_ship/train_yolov8/weights/best.pt")if__name__=="__main__":train_sar_ship()

3)推理测试代码predict_sar.py

fromultralyticsimportYOLO# 加载训练权重model=YOLO("./runs/sar_ship/train_yolov8/weights/best.pt")if__name__=="__main__":# 1. 单张图片检测# model("test_sar.jpg", save=True, conf=0.2)# 2. 批量图片检测model(source="./test_sar_images",save=True,conf=0.2)# 3. 视频检测# model("sea_video.mp4", save=True, conf=0.2)print("检测结果已保存至 runs/detect 目录")

5.2 方案二:VOC(xml) 转 YOLO(txt) 格式转换脚本

若你需要传统YOLOtxt标签,运行该脚本批量转换:

importosimportxml.etree.ElementTreeasET# ==================== 配置路径 ====================voc_anno_path="./sar_ship_voc/Annotations"# xml标注目录yolo_label_path="./sar_ship_voc/labels"# 输出txt标签目录classes=["ship"]# 类别列表# 创建输出文件夹ifnotos.path.exists(yolo_label_path):os.makedirs(yolo_label_path)defconvert_voc2yolo(xml_path,txt_path):tree=ET.parse(xml_path)root=tree.getroot()size=root.find("size")img_w=int(size.find("width").text)img_h=int(size.find("height").text)withopen(txt_path,"w")asf:forobjinroot.iter("object"):cls_name=obj.find("name").text.strip()ifcls_namenotinclasses:continuecls_id=classes.index(cls_name)bndbox=obj.find("bndbox")xmin=float(bndbox.find("xmin").text)ymin=float(bndbox.find("ymin").text)xmax=float(bndbox.find("xmax").text)ymax=float(bndbox.find("ymax").text)# VOC坐标 -> YOLO归一化坐标x_center=(xmin+xmax)/2.0/img_w y_center=(ymin+ymax)/2.0/img_h w=(xmax-xmin)/img_w h=(ymax-ymin)/img_h f.write(f"{cls_id}{x_center:.6f}{y_center:.6f}{w:.6f}{h:.6f}\n")# 批量转换forfileinos.listdir(voc_anno_path):iffile.endswith(".xml"):xml_file=os.path.join(voc_anno_path,file)txt_name=os.path.splitext(file)[0]+".txt"txt_file=os.path.join(yolo_label_path,txt_name)convert_voc2yolo(xml_file,txt_file)print("VOC转YOLO标签完成!")

转换完成后,使用标准YOLO数据集结构和yaml配置即可训练。


六、使用&调优建议

  1. SAR影像特点:目标偏小、灰度单一、无彩色信息,不要调高置信度,建议conf=0.15~0.25
  2. 显存不足:降低batch,使用yolov8n.pt轻量模型。
  3. 漏检严重:适当调高mosaic增强,增加小目标样本多样性。
  4. 部署方向:模型导出ONNX/TensorRT,嵌入遥感解译平台、海事监控系统,实现海上船舶自动巡检。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/15 14:45:09

LED恒流驱动IC选型与电路设计实战指南

1. 恒流IC选型的底层逻辑从业十年,我经手过上百款LED驱动方案,发现90%的设计问题都源于IC选型不当。恒流IC不是参数越高越好,关键要看应用场景的匹配度。1.1 照明类应用的核心考量在商业照明领域,我首推TI的LM3404和ONSemi的CAT41…

作者头像 李华
网站建设 2026/7/15 14:45:00

5分钟解决Windows绘图难题:draw.io桌面版完整安装指南

5分钟解决Windows绘图难题:draw.io桌面版完整安装指南 【免费下载链接】drawio-desktop Official electron build of draw.io 项目地址: https://gitcode.com/GitHub_Trending/dr/drawio-desktop 还在为Windows系统寻找一款真正安全、高效的离线绘图工具而烦…

作者头像 李华
网站建设 2026/7/15 14:43:34

西门子的伺服的线也有高仿了?

项目背景:在其他的项目上面,遇到了一个情况。就是在采购备件的过程中,发现查西门子电缆的型号和现场照片对不上。具体的情况就是型号是一样的。但是长度对不上。需要解决的问题:到底是真的还是仿的。解决过程:现场照片这个线西门子只有20m的规…

作者头像 李华
网站建设 2026/7/15 14:43:09

彻底解决UFO项目Follower模式提前终止问题:从根源到方案

彻底解决UFO项目Follower模式提前终止问题:从根源到方案 你是否在使用UFO项目Follower模式时遇到过任务执行到一半突然终止的情况?辛辛苦苦配置的自动化流程戛然而止,既没有错误提示也没有日志输出,这种"无声崩溃"不仅…

作者头像 李华
网站建设 2026/7/15 14:40:03

3大场景解锁APK-Installer:Windows平台智能安卓应用安装效率革命

3大场景解锁APK-Installer:Windows平台智能安卓应用安装效率革命 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾为在Windows电脑上安装安卓应用而…

作者头像 李华
网站建设 2026/7/15 14:39:16

Gemma-4-26B-A4B-it-mxfp4 API开发教程:构建视觉AI服务的完整流程

Gemma-4-26B-A4B-it-mxfp4 API开发教程:构建视觉AI服务的完整流程 【免费下载链接】gemma-4-26b-a4b-it-mxfp4 项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/gemma-4-26b-a4b-it-mxfp4 想要快速构建功能强大的视觉AI服务吗?Gemma…

作者头像 李华