本身在实际项目开发应用中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格式标注数据如下所示:
实例标注内容如下:
3 3dd213ba-4491-4425-90f8-6a7012f9b9f5.jpg 3dd213ba-4491-4425-90f8-6a7012f9b9f5.jpg Unknown 960 540 3 0
默认执行100次epoch迭代计算,结果详情如下:
LABEL可视化:
混淆矩阵:
训练可视化:
F1值曲线和PR曲线:
batch检测实例:
基于界面实现可视化推理:
上传图像:
检测推理:
上一篇:Vue 常用内置指令
下一篇:SAP入门技术分享四:模块化程序