基于YOLOv6m的接打电话检测识别分析系统

news/2024/12/2 11:34:46/

本身在实际项目开发应用中YOLO都是目标检测任务的绝对主力,从v3一直跟着到了v7,做了很多的项目,处理了很多的数据,当然了也积累了一些自己的成果和心得,这里主要是以不常用到的yolov6m系列的模型来开发构建接打电话行为检测识别模型,首先看下效果图:

如果不会使用yolov6项目的话可以参考我之前的教程:

《基于美团技术团队最新开源的yolov6模型实现裸土检测》

教程这里就不再赘述了。

这里使用的是精度更高的yolov6m系列的模型,如下:

# YOLOv6m6 model
model = dict(type='YOLOv6m6',pretrained='weights/yolov6m6.pt',depth_multiple=0.60,width_multiple=0.75,backbone=dict(type='CSPBepBackbone_P6',num_repeats=[1, 6, 12, 18, 6, 6],out_channels=[64, 128, 256, 512, 768, 1024],csp_e=float(2)/3,fuse_P2=True,),neck=dict(type='CSPRepBiFPANNeck_P6',num_repeats=[12, 12, 12, 12, 12, 12],out_channels=[512, 256, 128, 256, 512, 1024],csp_e=float(2)/3,),head=dict(type='EffiDeHead',in_channels=[128, 256, 512, 1024],num_layers=4,anchors=1,strides=[8, 16, 32, 64],atss_warmup_epoch=4,iou_type='giou',use_dfl=True,reg_max=16, #if use_dfl is False, please set reg_max to 0distill_weight={'class': 1.0,'dfl': 1.0,},)
)solver = dict(optim='SGD',lr_scheduler='Cosine',lr0=0.0032,lrf=0.12,momentum=0.843,weight_decay=0.00036,warmup_epochs=2.0,warmup_momentum=0.5,warmup_bias_lr=0.05
)data_aug = dict(hsv_h=0.0138,hsv_s=0.664,hsv_v=0.464,degrees=0.373,translate=0.245,scale=0.898,shear=0.602,flipud=0.00856,fliplr=0.5,mosaic=1.0,mixup=0.243,
)

接下来看下数据集:

数据集种隐私敏感信息都做了脱敏处理了。

YOLO格式的标注数据如下:

实例标注内容如下:

1 0.5875 0.419444 0.165625 0.394444

VOC格式标注数据如下所示:

实例标注内容如下:

<?xml version="1.0" ?><annotation><folder>3</folder><filename>3dd213ba-4491-4425-90f8-6a7012f9b9f5.jpg</filename><path>3dd213ba-4491-4425-90f8-6a7012f9b9f5.jpg</path><source><database>Unknown</database></source><size><width>960</width><height>540</height><depth>3</depth></size><segmented>0</segmented><object><name>person</name><pose>Unspecified</pose><truncated>1</truncated><difficult>0</difficult><bndbox><xmin>908</xmin><ymin>97</ymin><xmax>960</xmax><ymax>132</ymax></bndbox></object><object><name>person</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>2</xmin><ymin>228</ymin><xmax>55</xmax><ymax>292</ymax></bndbox></object><object><name>person</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>30</xmin><ymin>92</ymin><xmax>73</xmax><ymax>139</ymax></bndbox></object><object><name>person</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>190</xmin><ymin>32</ymin><xmax>230</xmax><ymax>65</ymax></bndbox></object><object><name>person</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>130</xmin><ymin>61</ymin><xmax>167</xmax><ymax>97</ymax></bndbox></object><object><name>person</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>214</xmin><ymin>59</ymin><xmax>263</xmax><ymax>94</ymax></bndbox></object></annotation>

默认执行100次epoch迭代计算,结果详情如下:

LABEL可视化:

混淆矩阵:

训练可视化:

F1值曲线和PR曲线:

batch检测实例:

基于界面实现可视化推理:

上传图像:

检测推理:


http://www.ppmy.cn/news/11909.html

相关文章

Unity—事件

每日一句&#xff1a;我见青山多妩媚&#xff0c;料青山见我应如是 目录 事件 委托和事件的关系&#xff1f; 为什么使用委托类型来声明事件&#xff1f;/为什么事件是基于委托的? 事件的定义 事件的核心功能 事件和事件模型 如何自定义事件 事件 委托和事件的关系&am…

基于FPGA的UDP 通信(四)

引言 前文链接&#xff1a; 基于FPGA的UDP 通信&#xff08;一&#xff09; 基于FPGA的UDP 通信&#xff08;二&#xff09; 基于FPGA的UDP 通信&#xff08;三&#xff09; 本文基于FPGA与MATLAB作千兆以太网通信模块UDP数据接收实验板级验证&#xff1a;FPGA接收上位机数…

List subList()方法缺陷及替代方案

技术背景 在日常开发中&#xff0c;我们常遇到将一个List列表分割成多个的场景&#xff0c;List提供了subList()方法避免开发者重复造轮子。 subList()的用法 ArrayList类是接口List的一个实现&#xff0c;以下subList()使用方法参考示例来自ArrayList。 List<String>…

向“全栈”进发,大型线上商城实战项目,Spring Boot + Vue 前后端分离版本的商城来了(文末有视频)

新蜂商城 Vue 版本&#xff0c;它来了&#xff01;&#xff08;文末有视频&#xff09; 如上图所示&#xff0c;新蜂商城 Vue 版本已经开发完成&#xff0c;这是新蜂商城开源项目的第一个大版本更新&#xff0c;根据大量的用户调研&#xff0c;最终决定将新蜂商城升级为 Spring…

MyBatis获取参数值的两种方式

MyBatis获取参数值的两种方式在idea中设置模板MyBatis获取参数值的两种方式mapper接口方法的参数为单个字面量类型mapper接口方法的参数为多个时自动存入map手动存入mapmapper接口方法的参数是实体类类型的参数使用Param注解命名参数为什么这么多方法却说是两种方式&#xff1f…

Unity 2d碰撞检测

碰撞检测Collider2d 射线检测函数Raycast 与 Cast 函数Overlap 检测函数参数PhysicsScene2D 类检测函数Physics2D 类检测函数MonoBehaviour 类碰撞检测函数Collider2d 射线检测函数 Raycast 与 Cast 函数 Raycast 是发射一条射线 Cast 是把整个碰撞器作为射线投射出去 enabl…

适应性学习率

目录 适应性学习率 Adaptive learning rate 为什么不是临界点仍会导致训练停止 示例一示例二 RMSRMSPropAdam学习率还和时间有关 Learin Rate DecayWarm up 2021 - 类神经网络训练不起来怎么办(三) 自动调整学习率 (Learning Rate)适应性学习率 Adaptive learning rate 一般…

ASP.NET Core 3.1系列(26)——Autofac中的实例生命周期

1、前言 前面的博客主要介绍了Autofac中的一些注册方法&#xff0c;下面就来介绍一下Autofac中实例的生命周期。之前在介绍ASP.NET Core内置IoC容器的时候说过&#xff0c;实例的生命周期有&#xff1a;瞬时生命周期、域生命周期、全局单例生命周期&#xff0c;而Autofac在这三…