摘要: 水面目标物检测识别是计算机视觉和图像处理技术在特定场景下的应用,主要目的是对水面上的物体进行识别、定位和跟踪。这一技术在水面漂浮物检测、水质监测、航道安全、水上救援等领域具有重要的应用价值。本文基于YOLOv10/v9/v8深度学习框架,通过7647张水面目标物的相关图片,基于yolo框架进行水面目标物的目标检测模型训练,可以检测出14种目标:**["bridge", "ship", "boat", "ball", "rubbish", "rock", "buoy", "platform", "habor", "mast", "tree", "animal", "grass", "person"]** ,同时对相关模型进行了对比,全面对比分析了YOLOv8、YOLOv9、YOLOv10这3种模型在验证集上的评估性能表现。最后基于训练好的模型制作了一款带UI界面的水面目标物检测识别系统,更便于功能演示,保存检测结果。本文提供了完整的Python代码和使用教程,给感兴趣的小伙伴参考学习,完整的代码资源文件可公众号获取。
一、研究背景
水面目标物检测识别技术在水环境治理、航道安全、水上救援等领域的应用前景广阔,可以起到重要作用。运用深度学习技术,YOLOV10\YOLOV9\YOLOV8深度学习框架训练水面目标物检测模型,系统可以高效、准确的识别水面目标物,水面目标物检测识别系统将更加智能化、精准化和高效。水面目标物检测识别系统是一项具有广泛应用前景和重要意义的技术系统,随着技术的不断进步和应用场景的不断拓展,该系统将在未来发挥更加重要的作用。
其主要应用场景包括:
- 环保监测:用于检测水面上的漂浮物(如垃圾、油污等),为环保部门提供数据支持。
- 航运安全:监测航道上的船舶,预防碰撞等安全事故的发生。
- 渔业管理:监测渔网、浮标等渔业设施,提高渔业生产效率和安全性。
- 军事侦察:用于水面目标的侦察与监视,为军事行动提供情报支持。
- 智慧城市:作为智慧城市的一部分,为城市管理者提供水面监控与管理的数据支持。
总的来说,水面目标物检测识别系统的应用不仅提高了效率,提升系统的处理速度,实现更高效的实时检测与识别。结合大数据、人工智能等技术,为决策者提供更全面、更智能的决策支持。随着技术的不断成熟和成本的降低,系统将在更多领域得到应用。
二、主要工作内容
本文的主要内容包括以下几个方面:
-
搜集与整理数据集:搜集整理实际场景中水面目标物的相关数据图片,并进行相应的数据处理,为模型训练提供训练数据集;
-
训练模型: 基于整理的数据集,根据最前沿的YOLOv10/YOLOv9/YOLOv8目标检测技术 训练目标检测模型,实现对需要检测的对象进行实时检测功能;
-
模型性能对比: 对训练出的3种模型在验证集上进行了充分的结果评估和对比分析,主要目的是为了揭示每个模型在关键指标(如Precision、Recall、mAP50和mAP50-95等指标)上的优劣势。这不仅帮助我们在实际应用中选择最适合特定需求的模型,还能够指导后续模型优化和调优工作,以期获得更高的检测准确率和速度。最终,通过这种系统化的对比和分析,我们能更好地理解模型的鲁棒性、泛化能力以及在不同类别上的检测表现,为开发更高效的计算机视觉系统提供坚实的基础。
-
可视化系统制作: 基于训练出的目标检测模型,搭配Pyside6制作的UI界面,用python开发了一款界面简洁的水面目标物检测识别系统,可支持图片、视频以及摄像头检测,同时可以将图片或者视频检测结果进行保存。通过图形用户界面(GUI),用户可以轻松地在图片、视频和摄像头实时检测之间切换,无需掌握复杂的编程技能即可操作系统。这不仅提升了系统的可用性和用户体验,还使得检测过程更加直观透明,便于结果的实时观察和分析。此外,GUI还可以集成其他功能,如检测结果的保存与导出、检测参数的调整,从而为用户提供一个全面、综合的检测工作环境,促进智能检测技术的广泛应用。
软件初始界面:
运行首页
检测结果如下图:
运行结果
三、软件功能介绍
软件主要功能
-
可用于实际场景中水面目标物检测,分为14个检测类别:["bridge", "ship", "boat", "ball", "rubbish", "rock", "buoy", "platform", "habor", "mast", "tree", "animal", "grass", "person"]
-
支持图片、视频及摄像头进行检测,同时支持图片的批量检测;
-
界面可实时显示目标位置、目标总数、置信度、用时等信息;
-
支持图片或者视频的检测结果保存;
界面参数说明
置信度阈值: 也就是目标检测时的conf参数,只有检测出的目标置信度大于该值,结果才会显示;
交并比阈值: 也就是目标检测时的iou参数,只有目标检测框的交并比大于该值,结果才会显示;
线宽: 表示在绘制结果时,绘制框的线宽;
Delay: 代表运行时展示的延长时间;
检测结果说明
标签名称与置信度: 表示检测图片上标签名称与置信度;
总目标数: 表示画面中检测出的目标数目;
目标选择: 可选择单个目标进行位置信息、置信度查看。
目标位置: 表示所选择目标的检测框,左上角与右下角的坐标位置。
主要功能说明
功能视频演示见视频,以下是简要的操作描述。
-
(1) 图片检测说明
点击打开图片按钮,选择需要检测的图片,或者点击打开文件夹按钮,选择需要批量检测图片所在的文件夹,操作演示如下:点击目标下拉框后,可以选定指定目标的结果信息进行显示。点击保存按钮,会对检测结果进行保存,存储路径为:runs目录下。
-
(2)视频检测说明
点击视频按钮,打开选择需要检测的视频,就会自动显示检测结果,再次点击可以关闭视频。点击保存按钮,会对视频检测结果进行保存,存储路径为:runs目录下。
-
(3)摄像头检测说明
点击打开摄像头按钮,可以打开摄像头,可以实时进行检测,再次点击,可关闭摄像头。
-
(4)保存图片与视频检测说明
点击保存按钮后,会将当前选择的图片【含批量图片】或者视频的检测结果进行保存,方便进行查看与后续使用。检测的图片与视频结果会存储在runs目录下。