news 2026/9/21 23:55:48

如何使用红外船舶数据集进行训练,步骤和代码示例应该是如何?含 1284 幅红外遥感图像和3061个船舶实例。 图像大小为 500_500 TXT(YOLO)格式。 含 924 个实例;911离岸场景

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何使用红外船舶数据集进行训练,步骤和代码示例应该是如何?含 1284 幅红外遥感图像和3061个船舶实例。 图像大小为 500_500 TXT(YOLO)格式。 含 924 个实例;911离岸场景

红外船舶数据集,包含 1284 幅红外遥感图像和3061个船舶实例。 图像大小为 500*500。 所有图像都经过辐射校准和快速视线光谱超立方体大气分析。共有 373 个近岸场景,包含 924 个实例;911 个离岸场景,包含 2137 个实例。

已做好标注,有TXT(YOLO)和XML格式
红外船舶数据集,包含 1284 幅红外遥感图像和3061个船舶实例。

图像大小为 500*500。 收集了Landsat8卫星拍摄的图像,该卫星携带了具有九个成像波段的陆地成像仪和具有两个热红外成像波段的热红外传感器。

融合了陆地成像仪的三个波段(波段 7、波段 5 和波段 4),从而获得短波红外图像。 所有图像都经过辐射校准和快速视线光谱超立方体大气分析。共有 373 个近岸场景,包含 924 个实例;911 个离岸场景,包含 2137 个实例。

已做好标注,有TXT(YOLO)和XML格式

好的,让我们继续细化如何使用红外船舶数据集进行训练,并提供详细的步骤和代码示例。

1. 数据集准备

1.1. 数据集结构

确保你的数据集按照以下结构组织:

infrared_ships/ │ ├── images/ │ ├── train/ │ ├── val/ │ └── test/ │ ├── labels/ │ ├── train/ │ ├── val/ │ └── test/ │ └── data.yaml
1.2. 创建数据配置文件 (data.yaml)
train:./infrared_ships/images/trainval:./infrared_ships/images/valtest:./infrared_ships/images/testnc:1# 类别数量(1类)names:['ship']# 类别名称# 下载数据集download:''

2. 安装YOLOv8

确保你已经安装了YOLOv8。YOLOv8是YOLO系列的最新版本,可以从Ultralytics的GitHub仓库中获取。

gitclone https://github.com/ultralytics/yolov8.gitcdyolov8 pipinstall-r requirements.txt

3. 训练模型

3.1. 配置训练

使用YOLOv8进行红外船舶检测。以下是一个示例命令:

python train.py --data ./infrared_ships/data.yaml --img500--batch16--epochs100--name yolov8_custom_ship_detection --weights yolov8s.pt

4. 评估模型

4.1. 运行评估

在验证集上评估训练好的模型:

python val.py --data ./infrared_ships/data.yaml --weights runs/train/yolov8_custom_ship_detection/weights/best.pt
4.2. 可视化结果

你可以使用val命令的--save标志来可视化结果:

python val.py --data ./infrared_ships/data.yaml --weights runs/train/yolov8_custom_ship_detection/weights/best.pt --save

5. 示例代码

5.1. 数据预处理示例
importcv2importosdefresize_images(input_dir,output_dir,size=(500,500)):ifnotos.path.exists(output_dir):os.makedirs(output_dir)forfilenameinos.listdir(input_dir):iffilename.endswith(('.jpg','.png','.jpeg')):img_path=os.path.join(input_dir,filename)img=cv2.imread(img_path)img_resized=cv2.resize(img,size)output_path=os.path.join(output_dir,filename)cv2.imwrite(output_path,img_resized)# 示例用法resize_images('./infrared_ships/images/train','./infrared_ships/images/train_resized')resize_images('./infrared_ships/images/val','./infrared_ships/images/val_resized')resize_images('./infrared_ships/images/test','./infrared_ships/images/test_resized')
5.2. 训练模型
importtorch# 确保YOLOv8路径正确YOLO_PATH='path/to/yolov8'# 加载YOLOv8模型model=torch.hub.load(YOLO_PATH,'custom',path='runs/train/yolov8_custom_ship_detection/weights/best.pt')# 训练模型model.train()model.fit(data='infrared_ships/data.yaml',imgsz=500,batch=16,epochs=100)
5.3. 评估模型
# 加载训练好的模型model=torch.hub.load(YOLO_PATH,'custom',path='runs/train/yolov8_custom_ship_detection/weights/best.pt')# 评估模型results=model.val(data='infrared_ships/data.yaml',weights='runs/train/yolov8_custom_ship_detection/weights/best.pt',save=True)print(results.metrics)

6. 其他建议

  • 数据增强:使用数据增强技术来提高模型的鲁棒性。YOLOv8支持多种数据增强方法,如翻转、旋转、裁剪等。
  • 模型集成:集成多个模型以提高性能。
  • 模型量化:量化模型以适应边缘设备。

7. 示例代码

7.1. 数据预处理示例
importcv2importosdefresize_images(input_dir,output_dir,size=(500,500)):ifnotos.path.exists(output_dir):os.makedirs(output_dir)forfilenameinos.listdir(input_dir):iffilename.endswith(('.jpg','.png','.jpeg')):img_path=os.path.join(input_dir,filename)img=cv2.imread(img_path)img_resized=cv2.resize(img,size)output_path=os.path.join(output_dir,filename)cv2.imwrite(output_path,img_resized)# 示例用法resize_images('./infrared_ships/images/train','./infrared_ships/images/train_resized')resize_images('./infrared_ships/images/val','./infrared_ships/images/val_resized')resize_images('./infrared_ships/images/test','./infrared_ships/images/test_resized')

8. 运行和调试

确保你的环境配置正确,并且所有依赖项都已安装。运行模型训练和评估时,确保模型文件路径正确,并且数据集路径正确。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/20 10:29:08

程序员必看!这个被99%开发者忽略的AI核心组件,竟决定了你的RAG系统成败!小白也能从0到1掌握Embedding模型!

“ Embedding模型是自然语言和模型的桥梁。” 了解过RAG技术的人应该都知道Embedding嵌入模型,但很多人可能并没有认真了解过这个核心组件;在大部分人眼中,Embedding模型是一个“不重要”的组件,只需要把文档切分之后,…

作者头像 李华
网站建设 2026/9/21 19:50:33

【AI×实时Linux:极速实战宝典】文件系统 - 优化 Ext4 日志模式与 Tmpfs(内存盘)应用,消除 IO 操作对推理的阻塞

简介在人工智能和实时系统领域,高效的文件系统操作对于确保系统的实时性和稳定性至关重要。特别是在涉及实时推理任务的场景中,文件系统的 I/O 操作可能会对关键推理线程产生阻塞,从而影响系统的响应速度和性能。本文将介绍如何通过优化 Ext4…

作者头像 李华
网站建设 2026/9/8 10:03:37

可视化测试:截图与录屏工具的进阶使用‌

在软件测试领域,可视化测试通过捕捉用户界面(UI)的视觉元素来验证功能与设计一致性。2025年,随着AI和自动化技术的普及,截图与录屏工具已从简单的记录设备演变为智能诊断助手。本文聚焦进阶使用策略,针对测试工程师、QA专家等从业…

作者头像 李华
网站建设 2026/9/21 22:07:54

力扣刷题:长按键入

题目: 你的朋友正在使用键盘输入他的名字 name。偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次。 你将会检查键盘输入的字符 typed。如果它对应的可能是你的朋友的名字(其中一些字符可能被长按&…

作者头像 李华
网站建设 2026/9/20 19:35:10

选择优质LED照明需考量光源、光效及设计方案

于当下这么一个情形,此处LED照明技术正快速地普及以及发展着,挑选具备高品质的照明产品成为了增进商业空间效能跟提升居家生活品质的关键所在。市面上存在着数量众多的照明品牌,那些产品的特性是各不相同的,当消费者以及采购者在做…

作者头像 李华