新闻详情

新闻详情

首页 / 资讯中心 / 详情

YOLOv8红外船舶数据集 6000张 yolo格式 使用这些数据来训练一个目标检测模型

发布时间:2026/9/10 1:59:01来源:尧图网络
YOLOv8红外船舶数据集 6000张 yolo格式 使用这些数据来训练一个目标检测模型
红外船舶数据集 6000张 yolo格式红外船舶数据集 6000张 yolo格式红外船舶数据集包含6000张图片并且已经标注为YOLO格式。我们可以使用这些数据来训练一个目标检测模型。我们使用YOLOv8架构来进行目标检测任务。以下是详细的步骤和代码示例帮助你开始使用这个数据集进行训练和评估。代码仅供参考项目结构ship_detection/ ├── main.py ├── train.py ├── evaluate.py ├── infer.py ├── visualize.py ├── datasets/ │ ├── ship_images/ │ │ ├── images/ │ │ │ ├── train/ │ │ │ └── val/ │ │ ├── labels/ │ │ │ ├── train/ │ │ │ └── val/ │ │ ├── train.txt │ │ └── val.txt ├── best_ship_model.pt ├── requirements.txt └── data.yaml文件内容requirements.txtopencv-python4.5.3.56 torch2.0.0cu117 matplotlib numpy pandas albumentations ultralyticsdata.yaml假设你的数据集自带data.yaml文件其内容应类似于train:./datasets/ship_images/images/trainval:./datasets/ship_images/images/valnc:1# 假设只有一个类别shipnames:[ship]数据准备确认数据集目录结构:确保你的数据集已经按照以下结构组织好datasets/ └── ship_images/ ├── images/ │ ├── train/ │ └── val/ ├── labels/ │ ├── train/ │ └── val/ ├── train.txt └── val.txt检查data.yaml文件:确认data.yaml文件中的路径和类别信息正确无误。训练脚本train.pyfromultralyticsimportYOLO# 设置随机种子以保证可重复性importtorch torch.manual_seed(42)# 定义数据集路径dataset_configdata.yaml# 加载预训练的YOLOv8模型modelYOLO(yolov8n.pt)# 训练模型resultsmodel.train(imgsz640,batch16,epochs50,datadataset_config,weightsyolov8n.pt,nameship_detection,projectruns/train)# 打印训练结果print(results)评估脚本evaluate.pyfromultralyticsimportYOLO# 初始化YOLOv8模型model_pathruns/train/ship_detection/weights/best.pt# 加载模型modelYOLO(model_path)# 评估模型metricsmodel.val(datadata.yaml,imgsz640)# 打印评估结果print(metrics)推理脚本infer.pyfromultralyticsimportYOLOimportcv2importnumpyasnpimportmatplotlib.pyplotasplt# 初始化YOLOv8模型model_pathruns/train/ship_detection/weights/best.ptmodelYOLO(model_path)defdetect_and_visualize(image_path):resultsmodel.predict(sourceimage_path,conf0.25,iou0.45,agnostic_nmsFalse)forresultinresults:boxesresult.boxes.cpu().numpy()im_arrayresult.orig_imgforboxinboxes:rbox.xyxy[0].astype(int)clsint(box.cls[0])confbox.conf[0]labelf{model.names[cls]}{conf:.2f}# 绘制边界框cv2.rectangle(im_array,(r[0],r[1]),(r[2],r[3]),(0,255,0),2)# 绘制标签cv2.putText(im_array,label,(r[0],r[1]-10),cv2.FONT_HERSHEY_SIMPLEX,0.9,(0,255,0),2)# 显示图像plt.imshow(cv2.cvtColor(im_array,cv2.COLOR_BGR2RGB))plt.axis(off)plt.show()if__name____main__:image_pathpath/to/your/image.jpg# 替换为你的图像路径detect_and_visualize(image_path)可视化脚本visualize.pyfromultralyticsimportYOLOimportcv2importnumpyasnpimportmatplotlib.pyplotaspltimportrandom# 初始化YOLOv8模型model_pathruns/train/ship_detection/weights/best.ptmodelYOLO(model_path)defvisualize_dataset(dataset_path,num_samples5):withopen(dataset_path,r)asf:linesf.readlines()sample_pathsrandom.sample(lines,num_samples)forpathinsample_paths:pathpath.strip()resultsmodel.predict(sourcepath,conf0.25,iou0.45,agnostic_nmsFalse)forresultinresults:boxesresult.boxes.cpu().numpy()im_arrayresult.orig_imgforboxinboxes:rbox.xyxy[0].astype(int)clsint(box.cls[0])confbox.conf[0]labelf{model.names[cls]}{conf:.2f}# 绘制边界框cv2.rectangle(im_array,(r[0],r[1]),(r[2],r[3]),(0,255,0),2)# 绘制标签cv2.putText(im_array,label,(r[0],r[1]-10),cv2.FONT_HERSHEY_SIMPLEX,0.9,(0,255,0),2)# 显示图像plt.imshow(cv2.cvtColor(im_array,cv2.COLOR_BGR2RGB))plt.axis(off)plt.show()if__name____main__:dataset_pathdatasets/ship_images/val.txt# 替换为你的验证集路径visualize_dataset(dataset_path)运行步骤总结克隆项目仓库如果有的话:gitclone https://github.com/yourusername/ship_detection.gitcdship_detection安装依赖项:conda create--nameship_det_envpython3.8conda activate ship_det_env pipinstall-rrequirements.txt准备数据集:确保你的数据集已经按照上述结构组织好。确认data.yaml文件中的路径和类别信息正确无误。训练模型:python train.py评估模型:python evaluate.py运行推理:python infer.py可视化数据集:python visualize.py操作界面选择图片进行检测: 修改infer.py中的image_path变量指向你要检测的图片路径然后运行python infer.py。批量检测: 在visualize.py中设置dataset_path为你想要可视化的数据集路径然后运行python visualize.py。详细解释requirements.txt列出项目所需的所有Python包及其版本。data.yaml配置数据集路径和类别信息用于YOLOv8模型训练。train.py加载预训练的YOLOv8模型并使用自定义数据集进行训练。训练完成后打印训练结果。evaluate.py加载训练好的YOLOv8模型并对验证集进行评估打印评估结果。infer.py对单张图像进行预测并可视化检测结果。visualize.py对数据集中的一些样本进行预测并可视化检测结果。希望这些详细的信息和代码能够帮助你顺利实施和优化你的红外船舶检测系统。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Spring Authorization Server整合Spring Session:会话固定攻击防护实战指南 2026/9/10 2:32:06

Spring Authorization Server整合Spring Session:会话固定攻击防护实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
ToolJet 工作流定时触发实战:使用 Scheduler 按时间间隔与 Cron 表达式自动执行 Workflow 2026/9/10 2:32:06

ToolJet 工作流定时触发实战:使用 Scheduler 按时间间隔与 Cron 表达式自动执行 Workflow

ToolJet 工作流定时触发实战:使用 Scheduler 按时间间隔与 Cron 表达式自动执行 Workflow 【免费下载链接】ToolJet Open-source foundation of ToolJet AI - the enterprise app generation platform for internal tools, dashboards, business applications, work…

阅读更多 →
C# OpenCvSharp调用YOLOv8-cls ONNX模型实现工业图像分类 2026/9/10 2:32:06

C# OpenCvSharp调用YOLOv8-cls ONNX模型实现工业图像分类

简介:本资源是一套基于C#与OpenCvSharp实现YOLOv8图像分类(Cls)任务的完整可运行Demo,面向具备基础C#开发能力及计算机视觉入门经验的开发者,适用于工业质检、智能识别等轻量级分类场景的快速验证与二次开发。压缩包共…

阅读更多 →
Java基础语法核心拆解:从环境配置到面向对象与高频易错点 2026/9/10 2:32:06

Java基础语法核心拆解:从环境配置到面向对象与高频易错点

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
STM32H750实战:QSPI接口驱动W25Q128并挂载FATFS实现文件读写 2026/9/10 2:32:06

STM32H750实战:QSPI接口驱动W25Q128并挂载FATFS实现文件读写

简介:面向使用STM32CubeIDE进行嵌入式开发的工程师,这份STM32H750VBT6示例工程提供了一套完整的QSPI Flash文件读写方案。工程基于HAL库实现QSPI总线驱动,并集成FATS文件系统,演示如何对W25Q系列Flash进行文件级读写;Q…

阅读更多 →
2026企业AI办公工具选型指南:企业数字化落地判断框架 2026/9/10 2:29:06

2026企业AI办公工具选型指南:企业数字化落地判断框架

企业引入AI办公工具的过程中,不少决策者容易陷入选型误区。部分团队直接对比功能清单,把功能数量作为核心评判标尺;部分以采购成本作为第一判断条件,优先选择成本更低的产品;还有部分跟随行业热度,参考市场…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞