基于YOLO开发构建红外场景下无人机航拍车辆实例分割检测识别分析系统

本文主要是介绍基于YOLO开发构建红外场景下无人机航拍车辆实例分割检测识别分析系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在我之前的博客中关于车辆检测、无人机航拍车辆检测、遥感车辆检测计数等都有实践性质的文章,感兴趣的话可以看下:

《基于目标检测的无人机航拍场景下小目标检测实践》

《基于YOLOv6m目标检测模型开发构建大雾天气下行人车辆检测识别分析系统》

《基于目标检测实现遥感场景下的车辆检测计数》

这里也是在做车辆相关的检测识别,只不过有两个不同点:

  1. 场景不同,这里的场景为红外场景下由无人机航拍获取的数据

  1. 目的效果不同,这里主要是开发构建车辆实例分割识别模型

首先看下效果图:

接下来看下数据集:

实例标注数据内容如下:

0 0.175 0.17415730337078653 0.24047619047619048 0.17275280898876405 0.23809523809523808 0.20224719101123595 0.17261904761904762 0.20365168539325842
0 0.1869047619047619 0.2148876404494382 0.25476190476190474 0.21207865168539325 0.25 0.2443820224719101 0.1880952380952381 0.24859550561797752
0 0.18571428571428572 0.2612359550561798 0.25476190476190474 0.25702247191011235 0.2571428571428571 0.2893258426966292 0.18333333333333332 0.29353932584269665
0 0.19166666666666668 0.30337078651685395 0.26785714285714285 0.300561797752809 0.26785714285714285 0.3342696629213483 0.19285714285714287 0.3342696629213483
0 0.2 0.44241573033707865 0.2654761904761905 0.4311797752808989 0.2726190476190476 0.45646067415730335 0.2011904761904762 0.4705056179775281
0 0.20476190476190476 0.48314606741573035 0.2726190476190476 0.4803370786516854 0.2785714285714286 0.5140449438202247 0.20357142857142857 0.5126404494382022
0 0.544047619047619 0.8286516853932584 0.6059523809523809 0.8286516853932584 0.6071428571428571 0.8623595505617978 0.5464285714285714 0.8595505617977528
0 0.5333333333333333 0.7724719101123596 0.6035714285714285 0.7724719101123596 0.6047619047619047 0.8047752808988764 0.5380952380952381 0.8089887640449438
0 0.5357142857142857 0.7219101123595506 0.611904761904762 0.7176966292134831 0.6142857142857143 0.7584269662921348 0.5392857142857143 0.7626404494382022
0 0.5321428571428571 0.6797752808988764 0.6 0.6783707865168539 0.6035714285714285 0.7120786516853933 0.5357142857142857 0.7176966292134831
0 0.5297619047619048 0.6376404494382022 0.5988095238095238 0.6376404494382022 0.5976190476190476 0.672752808988764 0.530952380952381 0.6713483146067416
0 0.5333333333333333 0.523876404494382 0.5928571428571429 0.523876404494382 0.594047619047619 0.5519662921348315 0.5333333333333333 0.5603932584269663
0 0.5297619047619048 0.4789325842696629 0.5916666666666667 0.4789325842696629 0.594047619047619 0.5098314606741573 0.5297619047619048 0.5154494382022472
0 0.5226190476190476 0.43820224719101125 0.5928571428571429 0.43820224719101125 0.5928571428571429 0.4705056179775281 0.5238095238095238 0.47331460674157305
0 0.5226190476190476 0.3946629213483146 0.5976190476190476 0.3960674157303371 0.5988095238095238 0.42837078651685395 0.5226190476190476 0.43820224719101125
0 0.5202380952380953 0.35252808988764045 0.5952380952380952 0.34691011235955055 0.5952380952380952 0.3848314606741573 0.5202380952380953 0.38764044943820225
0 0.5190476190476191 0.24719101123595505 0.5833333333333334 0.24578651685393257 0.5833333333333334 0.2808988764044944 0.5214285714285715 0.2808988764044944
0 0.5142857142857142 0.199438202247191 0.5869047619047619 0.2050561797752809 0.5857142857142857 0.23735955056179775 0.5178571428571429 0.2401685393258427
0 0.5154761904761904 0.15730337078651685 0.5833333333333334 0.1544943820224719 0.5857142857142857 0.1896067415730337 0.5107142857142857 0.1952247191011236
0 0.7047619047619048 0.300561797752809 0.7761904761904762 0.2991573033707865 0.7797619047619048 0.3300561797752809 0.7083333333333334 0.3342696629213483
0 0.6976190476190476 0.34269662921348315 0.7726190476190476 0.34129213483146065 0.7761904761904762 0.37219101123595505 0.6988095238095238 0.3806179775280899
0 0.7011904761904761 0.38764044943820225 0.7797619047619048 0.3848314606741573 0.7785714285714286 0.41713483146067415 0.7071428571428572 0.42696629213483145
0 0.6904761904761905 0.4339887640449438 0.7607142857142857 0.42837078651685395 0.763095238095238 0.46207865168539325 0.6928571428571428 0.4648876404494382
0 0.7023809523809523 0.577247191011236 0.7797619047619048 0.5674157303370787 0.7821428571428571 0.6025280898876404 0.705952380952381 0.6123595505617978
0 0.6988095238095238 0.6460674157303371 0.7773809523809524 0.6348314606741573 0.7821428571428571 0.6699438202247191 0.7035714285714286 0.6769662921348315
0 0.7226190476190476 0.6896067415730337 0.7916666666666666 0.6952247191011236 0.7916666666666666 0.7303370786516854 0.7166666666666667 0.7247191011235955
0 0.8035714285714286 0.6867977528089888 0.8738095238095238 0.7191011235955056 0.8904761904761904 0.6882022471910112 0.8154761904761905 0.6544943820224719
0 0.1988095238095238 0.5351123595505618 0.26785714285714285 0.5337078651685393 0.26904761904761904 0.5688202247191011 0.19523809523809524 0.5646067415730337
0 0.2011904761904762 0.800561797752809 0.2630952380952381 0.7949438202247191 0.26071428571428573 0.8314606741573034 0.20238095238095238 0.8300561797752809

模型配置如下:

#Parameters
nc: 1  # number of classes
depth_multiple: 0.33  # model depth multiple
width_multiple: 0.25  # layer channel multiple
anchors:- [10,13, 16,30, 33,23]  # P3/8- [30,61, 62,45, 59,119]  # P4/16- [116,90, 156,198, 373,326]  # P5/32#Backbone
backbone:# [from, number, module, args][[-1, 1, Conv, [64, 6, 2, 2]],  # 0-P1/2[-1, 1, Conv, [128, 3, 2]],  # 1-P2/4[-1, 3, C3, [128]],[-1, 1, Conv, [256, 3, 2]],  # 3-P3/8[-1, 6, C3, [256]],[-1, 1, Conv, [512, 3, 2]],  # 5-P4/16[-1, 9, C3, [512]],[-1, 1, Conv, [1024, 3, 2]],  # 7-P5/32[-1, 3, C3, [1024]],[-1, 1, SPPF, [1024, 5]],  # 9]#Head
head:[[-1, 1, Conv, [512, 1, 1]],[-1, 1, nn.Upsample, [None, 2, 'nearest']],[[-1, 6], 1, Concat, [1]],  # cat backbone P4[-1, 3, C3, [512, False]],  # 13[-1, 1, Conv, [256, 1, 1]],[-1, 1, nn.Upsample, [None, 2, 'nearest']],[[-1, 4], 1, Concat, [1]],  # cat backbone P3[-1, 3, C3, [256, False]],  # 17 (P3/8-small)[-1, 1, Conv, [256, 3, 2]],[[-1, 14], 1, Concat, [1]],  # cat head P4[-1, 3, C3, [512, False]],  # 20 (P4/16-medium)[-1, 1, Conv, [512, 3, 2]],[[-1, 10], 1, Concat, [1]],  # cat head P5[-1, 3, C3, [1024, False]],  # 23 (P5/32-large)[[17, 20, 23], 1, Detect, [nc, anchors]],  # Detect(P3, P4, P5)]

默认100次的迭代训练,日志输出如下:

接下来看下结果详情:

【F1值曲线】

【PR曲线】

【数据可视化】

【混淆矩阵】

batch计算实例:

模型评估结果如下:

Class     Images  Instances      Box(P          R      mAP50  mAP50-95)     Mask(P          R      mAP50  mAP50-95): 100%|??????????| 94/94 [01:59<00:00,  1.all       3000      53267      0.974      0.957      0.988      0.699      0.961       0.94      0.972      0.575

从性能指标上来看效果还是蛮不错的。

这篇关于基于YOLO开发构建红外场景下无人机航拍车辆实例分割检测识别分析系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/792554

相关文章

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

springboot security验证码的登录实例

《springbootsecurity验证码的登录实例》:本文主要介绍springbootsecurity验证码的登录实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录前言代码示例引入依赖定义验证码生成器定义获取验证码及认证接口测试获取验证码登录总结前言在spring

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3

一文详解如何从零构建Spring Boot Starter并实现整合

《一文详解如何从零构建SpringBootStarter并实现整合》SpringBoot是一个开源的Java基础框架,用于创建独立、生产级的基于Spring框架的应用程序,:本文主要介绍如何从... 目录一、Spring Boot Starter的核心价值二、Starter项目创建全流程2.1 项目初始化(

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

python+opencv处理颜色之将目标颜色转换实例代码

《python+opencv处理颜色之将目标颜色转换实例代码》OpenCV是一个的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS操作系统上,:本文主要介绍python+ope... 目录下面是代码+ 效果 + 解释转HSV: 关于颜色总是要转HSV的掩膜再标注总结 目标:将红色的部分滤

使用Java实现通用树形结构构建工具类

《使用Java实现通用树形结构构建工具类》这篇文章主要为大家详细介绍了如何使用Java实现通用树形结构构建工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录完整代码一、设计思想与核心功能二、核心实现原理1. 数据结构准备阶段2. 循环依赖检测算法3. 树形结构构建4. 搜索子

找不到Anaconda prompt终端的原因分析及解决方案

《找不到Anacondaprompt终端的原因分析及解决方案》因为anaconda还没有初始化,在安装anaconda的过程中,有一行是否要添加anaconda到菜单目录中,由于没有勾选,导致没有菜... 目录问题原因问http://www.chinasem.cn题解决安装了 Anaconda 却找不到 An