APP下载

基于YOLOv4 的足球识别及嵌入式实现方法

2022-08-13何凌志华国亮

无线互联科技 2022年10期
关键词:树莓文件夹嵌入式

何凌志,华国亮,王 晗

(南京理工大学紫金学院, 江苏 南京 210023)

0 引言

随着中国城镇化进程加快,人们的生活水平和质量日益得到改善,日常生活中参加足球运动的人也日渐增多。 由于足球比赛录像直播时间长及足球观众对精彩竞技比赛十分感兴趣,因此足球视频的精彩比赛事件检测也逐渐成为体育竞技分析领域研究的一个热门话题。 在这其中,足球录像中球的检测是当前主要的研究基础之一,它的检测质量也将直接影响对足球录像分析和检索的最后效果,所以一直受到众多学者的普遍重视。

近年来,YOLOv4[1]深度卷积神经网络以其检测效率高而被广泛使用。 本项目设计了一个基于嵌入式的智能足球数据检测分析系统,把人工智能和嵌入式平台相结合。

1 YOLOv4 目标检测算法概述

YOLO[2]网络是一种基于回归的目标数据检测分析算法,检测速度较快且检测结果质量高,故在许多任务具有良好的成效[3]。 YOLO 的多尺度预测算法相较于其他算法检测目标更具优势。 YOLOv4 目标数据检测分析算法广泛使用了近些年CNN 领域中最优的数据优化处理策略,从网络数据处理、主干数据网络、网络管理训练、激活处理函数、损失补偿函数等各个方面都有着不同程度的优化提升。 YOLOv4 5 个基本组件分别是CBM(Conv+Bn+Mish),BL(Conv+Bn+Leaky_relu),Resunit,CSPX,SPP,其中,输入端的改进是YOLOv4 最为重要之一,主要包括了Mosaic 数据增强,在YOLOv4 中所运用的Mosaic 是根据2019 年年底提出的CutMix 数据增强的方式,而CutMix 只采用了二幅图像进行拼接,Mosaic 数据增强则是用的四幅图像,通过随机缩放、随机裁剪、随机排布的方式进行处理拼接。 Yolov4 的Backbone 中都使用了Mish 激活函数,而后面的网络则还是使用Leaky _ relu 函数, 使用CSPDarknet53 网络在ImageNet 数据集上做图像分类任务,其中在对比中发现使用了Mish 激活函数的TOP-1和TOP-5 的精度比没有使用时都略高一些,因此YoLov4 的目标检测任务时,主干网络Backbone 还是使用Mish 激活函数。 Mish 激活图像如图1 所示。

图1 Mish 激活图像

在目标检测领域,为了更好地提取融合特征,通常在Backbone 和输出层,会插入一些层,这个部分称为Neck,相当于目标检测网络的颈部,也是非常重要的。其中,Yolov4 的Neck 结构主要采用了SPP 模块,以及FPN+PAN 的方式。 在SPP 模块中,使用k ={1×1,5×5,9×9,13×13}的最大池化的方式,通过进行concat 操作,可以把不同尺度的特征图结合起来。 采用SPP 模块的方式,比单纯地使用k×k 最大池化的方式,更有效的增加主干特征的接收范围,SPP 模块显著的分离了最重要的上下文特征。 SPP 模块简介如图2 所示。

图2 SPP 模块简介

2 实验结果及分析

2.1 实验数据准备

本次项目选用公开的足球数据集,通过网络爬虫的方式收集了3 000 张照片。 通过LableImage 标注工具给每张照片加以标记,所产成的目标信息储存于相对应的xml 文档。 本次研究采用的是VOC 格式的数据集,因此收集到的足球照片会放入VOC 文件夹下的JPEGlmages 文件夹下,利用LableImage 标注工具标注足球照片生成的xml 文件存放在VOC2007 文件夹下的Annotation 文件夹中,通过编写好的脚本生成与图片对应的文件。 修改data/voc.names、cfg/voc.data、cfg/yolov4-voc.cfg 这3 个文件,添加自己的数据,文件夹层次如图3 所示。

图3 文件夹层次

2.2 训练环境

由于深度学习及网络模型训练对于平台配置须高要求,YOLOv4 训练通常在CPU 或GPU 环境下完成,经测试,其中GPU 的运算能力远远高于CPU,因此本次采用GPU 进行训练,在Ubuntu18.04 的操作系统下完成,CUDA 为10.1,CUDNN 为7.6.5,Python 为3.7,Opencv 为3.4.4。 其中训练文档如图4 所示。

图4 训练迭代

2.3 模型评估

2.3.1 模型算法平均准确率

在目标精度检测中,判断目标识别精度的主要指标是mAP(mean average precision)。 其中,每一个类别都可以根据reall 和precision 绘制一条曲线,AP 就是该曲线下的面积,mAP 是类别中AP 的平均值。 因为使用的是VOC 格式的数据集,所以应该有训练的源文件以及通过LableImage 标注生成的xml 文件,但是YOLOv4 的网络并不能直接检测,而是需要每张照片对应的描述文件(txt 格式),记录每一张照片的类别、位置、大小等等信息。 另外,通过YOLOV4 的命令./darknet detector map cfg/voc.data cfg/yolov4-voc.cfg/yolov4-voc_final.weights 可得,本次足球算法模型的mAP 值达到96.78%。

2.3.2 模型算法交并比

IoU (Intersection over Union)的具体中文名称是直译为“交并比”,即为虚拟预测区域边界和真实预测边框的一个交集,即对二框的并集之进行比较。 在诸多基于ai 和深度学习的目标检测算法中,IoU 均被认为是一项关键的预测区综合域计算测量指标。 一般在检测中,若IoU>0.5,则认为完全正确,并且一般阈值设为0.5。 其中,通过测试可得我们的这次足球模型算法的IoU 值大于0.5。

3 算法移植嵌入式平台及测试

3.1 嵌入式平台介绍

本次实验采用基于linux 的树莓派4B 作为检测的嵌入式平台,该嵌入式平台采用ARMCortex-A721.5GHz(四核)的CPU,以及500MHzVIDE OCOREIV 的GPU,是一款集成了多功能的微型电脑主板。 其中内存卡和硬盘为SD/MicroSD 卡的卡片式,同时4 个USB 数据接口以及一个以太网接口在卡片主板周围。

3.2 树莓派环境配置

首先更换国内源(本次实验采用中科大源)以及新建pip 源,通过下载Opencv3.4.4 和OpenCV_Contrib 的源文件从而进行源码构建Opencv。 后通过命令git clone https:/github.com/AlexeyAB/darknet.git 获取源码,之后进入Darknet 目录下寻找Makefile 文件,其中修改Opencv 对应的值,把0 改成1。 最后重新进行编译处理。

3.3 移植与测试

为验证YOLOv4 模型的可行性和足球检测系统的检测能力,组内人员将模型移植到树莓派嵌入式平台。同时,相关人员使用FileZilla 传输软件把训练好的模型通过连接IP 地址的方式传输到树莓派端。 由于树莓派的GPU 受限,故本次测试对视频处理效果会有一定的影响,但是结果显示,即使存在不利因素,搭载了YOLOv4 目标检测算法模型的树莓派对足球的检测效果依旧良好。

试验数据表明,通过命令./darknet detector demo ./cfg/voc.data ./cfg/yolov4-voc.cfg ./yolov4-voc.weights

即可看到经过YOLOv4 的目标检测算法模型处理的最后结果。 因此采用YOLOv4 作为足球检测算法,结果准确率较高。 YOLOv4 在检测方面具有一定的优势,它基本可以满足检测要求。 训练测试如图5 所示。

图5 训练测试

4 结语

本研究主体是基于YOLOv4 目标数据检测分析算法,计算机系统将摄像头所收集到的图像信号传输到树莓派,树莓派根据训练模型算法进行数据计算处理。该研究实现了人工智能和嵌入式平台相结合,并实现了对足球的定位和识别。 其中,本研究最高识别率为98%,平均识别率为96%,目标检测算法模型的mAP(平均精度值)为96.78%,该数据满足足球视频的分析和检索的效果。 当然,当下目标数据检测分析算法,除YOLOv4,其他目标检测算法也各有优势。 作为后来研究学者应该紧随当下信息时代的步伐,不断地去认识学习更多的知识。

猜你喜欢

树莓文件夹嵌入式
基于树莓派的骑行智能头盔设计
搭建基于Qt的嵌入式开发平台
基于树莓派的远程家居控制系统的设计
摸清超标源头 大文件夹这样处理
调动右键 解决文件夹管理三大难题
嵌入式软PLC在电镀生产流程控制系统中的应用
挂在墙上的文件夹
响应面法优化红树莓酒发酵工艺
Altera加入嵌入式视觉联盟
倍福 CX8091嵌入式控制器