长江大学电子信息学院 吕 星 王壮壮 杨友平
目标检测广泛应用在人脸检测、行人检测、车辆检测等领域。目前从图片和视频中需要提取更多信息和特征,这就对网络的准确性和实时性提出了更高的要求。特别是在小目标检测方向,小目标一般存在分辨率低、图像模糊、携带的信息少,导致特征表达能力弱,即在提取特征的过程中收集的信息较少。小目标有两种定义方式,一种是相对尺寸大小,如目标尺寸的长宽是原图像尺寸的0.1,即可认为是小目标,另外一种是绝对尺寸的定义,即尺寸小于32×32像素的目标即可认为是小目标。小目标检测在深度学习卷积神经网络模型中一直是一个难题。早期的目标检测框架大多数是针对通用的目标来进行检测,如经典的One-stage算法YOLO和SSD,Two-stage算法faster-RCNN等,这些方法主要是针对通用目标数据集来设计的解决方案,因此对于图像中的小目标来说,检测效果不是很理想。
为了提高小目标检测的精度和大学课堂的一般情况,我们将学生的到课情况进行统计,我们使用神经网络对教室的首先我们将从课堂中获取的视频进行逐帧预处理,然后使用YOLOv4网络训练头部检测模型,最后将训练好的模型对课堂中的视频、图片进行检测。实验结果表明,通过本文基于深度学习的方法,与其它的小目标检测相比,速度和准确率更好,模型泛化能力更强。
图1 头部检测流程图
本文针对课堂教室场景,通过头部检测的方法观察课堂上学生的学习情况。首先,对输入视频进行预处理,使用交叉训练的方式将数据集分成:训练集、测试集、验证集,之后调整网络参数来训练头部检测模型,最后进行头部检测。如图1所示。
YOLO系列的算法属于目标检测网络中One-stage算法,相比于Two-stage算法,其速度相对就很快。One-stage算法因为仅仅需要送入网络一次就可以预测出所有的边界框(如图2所示),将Two-stage中很多的分类流程都省略掉,因而速度较快。
图2 One-stage算法流程
然而,One-stage算法通常与Two-stage算法相比,准确率都达不到理想的效果。在目前国外最新推出的目标检测网络YOLOv4之后,该算法的检测速度和精度都超过之前其它方法。该网络主要分成4部分:输入端、骨干网络、颈部、预测端。YOLOv4网络结构如图3所示。
图3 YOLOv4网络结构
输出端:将输入的图片都固定为一定尺寸,为了增强网络模型的泛化能力,该网络对训练时的输入端进行马赛克数据增强、SAT自对抗训练等操作。
骨干网络:使用CSPDarknet53,该模块通过优化网络结构来减少计算量,降低内存成本,同时也保证检测的准确率。
颈部:网络中加入了SPP模块,用来固定输出图像的尺寸大小,为多尺度训练提供了基础。网络的颈部,使用PANet替换YOLO v3中的特征金字塔(FPN),前者加强了特征金字塔的结构,缩短了高低层特征融合的路径。
预测端:预测使用原来yolo v3的头部结构,输出三种尺度的边界框:13×13、26×26、52×52,小尺度输出用来检测大型目标,最大尺度用来检测小目标。
该实验是使用操作系统Ubuntu18.04,深度学习框架TensorFlow1.15.0和图像处理库Opencv3.4.3进行的。使用的硬件是采用GeForce GTX 1660Ti Max-Q Design。
我们将大学课堂上的视频和图片作为自己的数据集来训练,选取课堂上2000张左右的图片,数据集采用VOC格式,通过人工做标签的方式制作数据集。训练采用交叉验证的方式,将数据集分为训练集、测试集、验证集,训练集包含549张图片,测试集包含1099张图片,验证集包含550张图片。
学习率设为0.001,每批次输入64张图片,将64张图片分成64份放入网络进行训练,动量设置为0.9,权重衰减为0.0005,最大迭代次数设为6万次。头部模型检测结果如图4所示。
通过YOLOv4训练好的模型,我们设计了一个头部测的软件系统,用python语言编写,系统测试效果如图5所示。
我们对课堂中的学生头部进行检测,该目标在检测中存在目标小、容易被遮挡的问题,对于以上问题,我们提出使用新的YOLOv4网络来训练头部检测模型,实验结果证明该网络对于小目标的检测达到了不错的效果,学生后排被遮挡的问题已经被解决,同时也能保证检测模型精度不受影响。
在设计好的数据可视化界面中,我们调用训练好的改进yolo v4模型进行测试,其结果表明头部检测的精度和遮挡问题已经得到解决。图5所示为可视化界面测试的效果。
总结:本文提出基于YOLOv4的头部检测方法,采用网络训练好的头部模型,然后对图片或视频进行检测。通过上述的实验结果表明,YOLOv4算法虽然属于One-stage目标检测算法中的一类,但其具备了One-stage和Two-stage两种算法的优点:既准确速度又快。在目标检测中难以突破的小目标检测方向,也具有良好的检测定位能力。
图4 头部模型检测结果
图5 系统测试结果