带标注的SDD-SAR遥感船舶识别数据集,识别率92.9%,7000张图,支持yolo,coco json,voc xml,文末有模型训练代码

📅 2026/7/14 12:02:21
带标注的SDD-SAR遥感船舶识别数据集,识别率92.9%,7000张图,支持yolo,coco json,voc xml,文末有模型训练代码
SDD-SAR遥感船舶识别数据集是一个高质量的开源数据集包含7000张带标注的遥感图像专门用于船舶目标检测任务。该数据集在测试集上达到了**92.9%**的识别率支持YOLO系列v7-v12、v26、COCO JSON和PASCAL VOC XML等多种标注格式。文末附有完整的模型训练代码方便快速上手。模型训练指标参数模型训练图数据集拆分总图数7000张训练集5000张约71.4%验证集1320张约18.9%测试集680张约9.7%预处理流程自动定向应用自动方向校正调整大小统一拉伸到640×640分辨率数据增强无原始数据集未应用额外增强数据集标签[‘ship’]标签说明数据集中仅包含一个类别——ship船舶所有标注框均对应遥感图像中的船舶目标。数据集图片和标注信息示例数据集下载本数据集提供多种格式下载支持主流目标检测框架YOLO格式兼容YOLO v7、v8、v9、v11、v12、v26等版本COCO JSON标准COCO标注格式PASCAL VOC XML经典VOC标注格式数据集可通过提供的链接或仓库获取解压后即可使用。https://download.csdn.net/download/pbymw8iwm/93125335YOLO模型训练下载并解压数据集到本地文件夹获取训练脚本从项目仓库https://gitcode.com/pbymw8iwm/YOLOProject复制训练模型脚本到数据集目录执行训练根据使用的YOLO版本运行对应脚本例如使用YOLOv8则执行python train_yolov8.py模糊图片在模型训练中的优势分析该数据集中包含了如果包含了一些模糊图片这并非数据缺陷而是一种精心设计的数据增强策略能为模型训练带来以下显著优势提升模型鲁棒性现实场景中可能发生在运动模糊对焦不准或光线不足的情况下。在训练集中引入模糊样本可以迫使模型学习更本质的特征而不是过度依赖清晰的边缘或纹理细节从而提升模型在复杂、非理想成像条件下的识别能力。模拟真实世界噪声监控摄像头、手机等设备在低光照或快速移动时极易产生模糊。包含此类图片的数据集能让模型提前“见识”并适应这种噪声减少在实际部署时因图像质量下降而导致的性能骤降。防止模型过拟合如果训练集全是高清、摆拍的完美图片模型容易记住这些特定场景下的“干净”特征而对新的、稍有模糊的图片泛化能力差。模糊图片作为一种有效的正则化手段可以增加数据分布的多样性防止模型过拟合到有限的清晰样本上。总结因此数据集中包含的模糊图片与你看到的“水平翻转”、“剪切形变”、“随机遮挡”等增强操作一样都是为了构建一个更接近真实世界复杂分布的数据环境从而训练出更健壮、更泛化、更实用的模型。模型验证测试情况验证测试代码#需要安装pip install ultralyticsfromultralyticsimportYOLOimportcv2# 1. 加载YOLO模型 # 自动下载预训练模型(yolov8n最轻量快速)也可换 yolov8s/m/l/xmodelYOLO(best.pt)# 2. 推理配置 image_path326_jpg.rf.8ad64cc0668df32c4e5f59b50e899e9c.jpg# 你的图片路径save_resultTrue# 是否保存标注后的图# 3. 执行推理 resultsmodel.predict(sourceimage_path,conf0.01,# 置信度阈值低于该值忽略saveFalse,# 关闭默认保存自定义保存verboseFalse# 关闭冗余日志)# 4. 解析结果目标区域 标注信息 print(*50)print(YOLO 推理结果目标区域 标注信息)print(*50)# 获取图片用于绘制框imgcv2.imread(image_path)# 遍历所有检测目标foridx,resultinenumerate(results):boxesresult.boxes# 所有检测框forboxinboxes:# 提取目标区域坐标 # xyxy: 左上角x, 左上角y, 右下角x, 右下角yx1,y1,x2,y2box.xyxy[0].cpu().numpy()# 宽高wx2-x1 hy2-y1# 提取标注信息 cls_idint(box.cls[0])# 类别IDcls_namemodel.names[cls_id]# 类别名称conffloat(box.conf[0])# 置信度# 打印信息 print(f目标{idx1}:)print(f 标注类别{cls_name})print(f 置信度{conf:.2f})print(f 目标区域坐标)print(f 左上角 ({x1:.1f},{y1:.1f}))print(f 右下角 ({x2:.1f},{y2:.1f}))print(f 宽×高{w:.1f}×{h:.1f})print(-*30)# 在图片上绘制检测框 cv2.rectangle(img,(int(x1),int(y1)),(int(x2),int(y2)),(0,255,0),2)cv2.putText(img,f{cls_name}{conf:.2f},(int(x1),int(y1)-10),cv2.FONT_HERSHEY_SIMPLEX,0.5,(0,255,0),2)# 5. 保存/显示结果 ifsave_result:cv2.imwrite(yolo_result.jpg,img)print(✅ 标注图片已保存为yolo_result.jpg)# 显示图片可选cv2.imshow(YOLO Result,img)#cv2.waitKey(0)#cv2.destroyAllWindows()