1、信息记录材料 2022年12月 第23卷第12期 30 论 著0 引言多目标检测是计算机视觉领域亟待解决的基本任务之一,也是视频监控技术的基本任务1-2。由于视频中的物体有不同的姿态,经常出现被阻挡的情况,所以它们的运动是不规则的3。同时,考虑到视频监控的分辨率、天气、光线等条件和场景的多样性,目标检测算法的结果将直接影响后续跟踪、分类、动作识别和行为描述的效果4。多目标检测仍然是一个非常具有挑战性的任务,有很大的潜力和改进空间。1 多目标检测的基本思想Fast-rcnn 通过建立多任务模型,利用神经网络对操作进行分类,实现了实时端到端联合训练5。同时,Fast-rcnn 实现了网络终端同步训
2、练,提高了准确率,但分类步骤的性能没有明显提高。Faster-rcnn 在 Fast-rcnn 的基础上增加了区域建议网络(region proposal network,RPN),提取候选框并合并到深度神经网络中6。通过交替训练,建立了统一的深度神经网络框架,既减少了重复计算,还大大提高了运行速度。YOLO 的思想是用单个神经网络直接训练整个输入图像作为输入,从而更快速地区分背景区域和目标,以更简单、更快的方式对目标对象进行实时监控7。该方法将输入图像划分为 SS 大小的网格,每个网格单元预测边界框和这些边界框的可靠性。YOLO本质上解决了目标检测的实时性问题,真正实现了“端到端”的 CNN
3、 结构。YOLOv3 的思想是通过特征提取网络从输入图像中提取一定大小的特征映射,例如 13137。然后将输入的图像划分为 1313 格。如果 ground truth 中一个对象的中心坐标落在网格单元格中,网格单元格将预测该对象,因为每个网格单元格预测固定数量的边界框。在这些边界框中,只有那些具有最大限度和 ground truth的 IOU 被用来预测这些对象。可以看出,预测的输出特征图具有提取特征的两个维度。其中一个维度是平面,例如1313,还有一个维度是深度,例如 B(5+C),其中 B表示每个单元格预测边界框的数量,C 表示边界框对应的类别数。2 改进的YOLOv3算法YOLOv3-
4、ANV现在流行的图像检测算法和视频检测算法有很多,它们都有各自的特点和优势,适用于不同的情况。在 YOLOv3和 Faster-RCNN 模型和人口密度估计下,对一般场景的改进的 YOLOv3 算法在视频分析中的应用康金龙1,刘 涛2,谢祎霖3,许 涛1,宫 胜1(1 西北大学经济管理学院 陕西 西安 710000)(2 西北大学网络与数据中心 陕西 西安 710000)(3 西北大学后勤集团 陕西 西安 710000)【摘要】近年来,随着卷积神经网络的发展,目标检测的研究得到了很大的发展。然而,小的物体、紧凑和密集或高度重叠物体的识别具有挑战性。现有的方法可以很好地检测多个目标,但由于帧之间
5、的细微变化,模型的检测效果会变得不稳定,检测结果可能会导致目标个数的下降或增加。为了解决这一问题,研究人员提出了新的 YOLOv3 算法YOLOv3-ANV,该算法在传统的算法上增加了判断器和优化器,来稳定检测结果序列的变化。在此基础上,采用万方体育竞赛数据集作为测试数据集,较 Faster-RCNN 和 YOLOv3 方法平均提高 6.82%,具有一定的推广价值。【关键词】多目标行人检测;卷积神经网络;视频分析;YOLOv3【中图分类号】TP274 【文献标识码】A 【文章编号】1009-5624(2022)12-0030-03Application of improved YOLOv3 a
6、lgorithm in video analysisKANG Jinlong1,LIU Tao2,XIE Huilin3,XU Tao1,GONG Sheng11 School of Economics and Management,Northwest University,Xi an,Shaanxi 710000,China2 Network and data center,Northwest University,Xi an,Shaanxi 710000,China3 Logistics group,Northwest University,Xi an,Shaanxi 710000,Chi
7、na【Abstract】In recent years,with the development of convolutional neural networks,object detection has been greatly developed.However,small objects,compact,dense or highly overlapping objects can be challenging to identify.The existing methods can detect multiple targets very well,but due to the sub
8、tle changes between frames,the detection effect of the model will become unstable,and the detection result may lead to the decrease or increase of the number of targets.To solve this problem,researchers proposed a new YOLOv3 algorithm,Yolov3-ANV,which added a judge and an optimizer to the traditiona
9、l algorithm to stabilize the change of detection result sequence.On this basis,Wanfang square sports competition data set is used as the test data set,and the average increase is 6.82%compared with the Faster-RCNN and YOLOv3 methods,which has certain promotion value.【Key words】Multi-objective pedest
10、rian detection;Convolutional neural network;Video analysis;YOLOv3DOI:10.16009/13-1295/tq.2022.12.034信息记录材料 2022年12月 第23卷第12期 31论 著人体检测进行计数统计实验。研究人员发现,当人数较少时,YOLOv3 模型更准确。人群密度估计是在大量人群中必不可少的检测方法8-9。人群计数的方法可以分为三种。第一种是行人检测:这种方法比较直接,在人群较稀疏的场景中,通过检测视频中的每一个行人,进而得到人群计数的结果,一般是用基于外观和运动特征的提升方法(boosting),贝叶斯模型为
11、基础的分割,或集成的自顶向下和自底向上的处理,但是这种方法在人群拥挤情况下不大奏效。第二种是视觉特征轨迹聚类:对于视频监控,一般用跟踪和聚类的方法,通过轨迹聚类得到的数目来估计人数。第三种是基于特征的回归:建立图像特征和图像人数的回归模型,通过测量图像特征从而估计场景中的人数。在人口密度较高的情况下,人群密度估计算法常被认为是计算人口数量的有效方法。该算法采用基于像素的种群密度估计算法,通过图像和背景相减得到运动前景,然后根据前景像素面积和前景边缘进行线性回归或分类10。在这些方法中,从图像中提取前景的效果直接影响算法的性能。因为在视频中,人相对于背景总是在移动,因此可以利用一种视频帧差法获取
12、自适应背景。该方法利用时间轴上每个像素的变化信息,生成不含目标种群的背景图像。基于像素的处理方法如图 1 所示。图 1 基于像素的处理方法示意图在现实生活中,异常的视频片段可以保存为片段,用于回放,验证当时的情况。研究人员的目标是提取一个超出视频段中异常数量阈值范围的视频段。为了实现这一目标,研究人员需要得到帧序列图片中的确切帧数。首先,运行 IO 流读取采集到的视频数据,IO 流将检测视频的帧率并从视频中提取帧序列,将这些帧和帧率的结果保存在本地。然后使用训练后的分类器(在已标记的训练数据集中)对图像数据(来自视频序列帧)进行识别,最终得到一系列标记区域(bound-box regressi
13、on 识别为人体区域)。通过统计标记区域的数量,研究人员可以得到对应图像中的人数,并根据设置的“异常人数阈值”来判断是否超过阈值,这样就可以从原始视频中截获异常人数段的视频。最后,根据检测抖动算法,对识别结果进行优化。研究人员将原始图像帧的识别结果作为标签组合放到图像中,然后使用 FFMPEG 程序(FFMPEG 是一个开源的计算机程序,可以用来记录、转换数字音频、视频,并将其转换为流)来重新生成视频。生成的视频对应一系列的标签帧的数量。同时,研究人员将生成的图像中包含人数的信息上传到远程系统,供显示系统进行分析和显示。即使 YOLOv3 对小物体(包括人)的检测效果很好,但在单帧图像中也会有
14、一定的漏检。YOLOv3 对大目标检测不好,并且当待检测的人数较多时,YOLOv3 的检测效果不理想。针对这种情况,为了在模型下获得更好的结果,研究人员设置一个最大阈值 N(在实验中,N 的值为 25,在20人左右的情况下,模型的准确率可以达到90%以上)。一旦使用模型对一帧进行检测的结果大于阈值 N,将采用人群密度估计算法进行检测,从而使检测效果更加准确。为此,提出了 YOLOv3-ANV 算法,该算法的框架图如图 2所示。图 2 YOLOv3-ANV 算法框架示意图由于模型本身具有一定的泛化能力,用训练数据训练的 YOLOv3 模型可以检测到各种场景中的种群,但由于帧之间的变化,模型的检测
15、效果会变得不稳定,被称之为不稳定变化:检测抖动。因为视频中出现的跳帧情况而导致生成的异常视频片段不连续,因此检测抖动会降低连续变化图片的检测精度(参考 DME 计算指标)。假设研究人员找到一个与检测结果前后不同的帧序列号,将其识别为x,并自定义一个纠错区域(长度)的范围,在实验中,长度占视频帧率的 1/3。可由式(1)表示:length=N/3 (1)其中 N 为视频帧率。并提取前后长度范围的检测结果进行统计。可由式(2)表示:countX1=Count(x-length,x+length,x1)countX2=Count(x-length,x+length,x2).(2)countXn=Co
16、unt(x-length,x+length,xn)其中 Count()表示计数的函数,x-length,x+length 表示计数的范围。x1,x2,.,xn表示该范围内的各种检测结果。取最大值 r,然后用 r 替换 x 的检测结果值,用来稳定检测结果序列。同时,利用稳定的帧序列也可以获得阈值外范围内稳定的异常视频片段。可由式(3)表示:r=max(countX1,countX2,.,countXn)(3)3 实验部分3.1 实验数据集本文采用万方体育竞赛数据集作为 YOLOv3-ANV 的主要测试数据集。它由 7 h 16 min 的体育视频组成。研究人员使用 Microsoft COCO 训练集来训练 YOLOv3-ANV。COCO的全称是 common objects in context,是微软团队提供的一个可以用来进行图像识别的数据集,COCO 是当前目标识别,目标检测领域最重要,最权威的一个标杆数据集,在 COCO 数据集上可以做多种任务。2014 版本的 COCO 数据集包括 82 783 个训练图像、40 504 个验证图像以及 40 775 个测试图像,其中有 270