基于YOLOV4的港口作业人员检测系统研究

2022-03-25 04:45程国安王胜科
软件导刊 2022年3期
关键词:候选框框架准确率

程国安,王 浩,王胜科

(1.青岛港湾职业技术学院信息与电气工程学院,山东青岛 266404;2.中国海洋大学 计算机科学与技术系,山东 青岛 266100)

0 引言

港口作业人员遇到意外的风险较高,操作不规范以及安全意识薄弱导致事故频发,为此走访调查了国内知名港口集团的作业人员工作现状[1],获取相应港口作业违规操作数据,如图1 所示。

Fig.1 Illegal operation of operators in different scenarios of harbors图1 港口不同场景下作业人员违规操作情况

为减轻人员伤亡,提高港口智能化、信息化发展水平迫在眉睫[2-3]。本文基于计算机视觉基本原理进行研究,对复杂场景下的港口作业人员进行检测并将检测结果应用到港口实践中。选择深度检测框架YOLOV4 实现精确的人员检测,并创建了一个较大的不同场景下港口作业人员数据集。

本文基于YOLOV4的检测方法在不同场景下实现了港口作业人员检测,将检测的结果进行提取和分析用于提高港口信息化工作效率,提高作业人员的安全性。主要完成如下工作:

(1)在港口的不同场景下收集了大量作业人员数据,作为YOLOV4 算法的训练和测试数据。

(2)对不同场景下的港口作业人员数据进行整理和标定,方便YOLOV4 模型的训练和测试。

(3)选用5 个不同场景的数据分别进行训练和测试,采用先进的目标检测框架Faster R-CNN、SSD 和YOLOV4-tiny 作为对比算法,通过对比实验发现YOLOV4 框架在不同场景下检测准确率最高、运行速度最快。

1 相关工作

在YOLOv4 框架提出之前,Faster RCNN 和SSD是两种最先进的检测框架。

1.1 Faster R-CNN

Faster R-CNN[4]属于一种卷积神经网络目标检测框架,首先使用卷积层提取输入图像的特征,将获取的特征输入到RPN 网络,RPN 网络可以生成大量的区域建议框。在这些区域建议框输入新的分类器和回归器,分类器可将候选区域分为前景(即作业人员)和背景,回归器可以修正候选区的精确位置,从而实现目标的精确分类和定位[5]。Faster R-CNN 框架首先利用RPN 网络创建候选区域,然后在卷积层提取候选区域的卷积特征,将其送入新的分类器和回归器,得出候选框类别和精确位置,最后利用非极大值抑制算法去除高度重叠的检测框,获得高质量的检测目标,从而实现目标的精确分类和定位,其工作过程如图2 所示。

Fig.2 Working process of Faster R-CNN algorithm图2 Faster R-CNN 算法工作过程

1.1.1 区域建议网络

大部分目标算法生成的候选框都比较耗时,例如利用滑动窗口法和图像金字塔生成候选框,又如RCNN 算法中使用选择性搜索方法生成候选框。Faster R-CNN 框架提出新的候选框生成网络RPN 替代经典的滑动窗口和选择性搜索方法,然后对这些候选框进一步分类和修正位置,这些特点是Faster R-CNN的一大优势,使候选框生成和检测效率得到很大提高。

区域建议网络RPN 是一个全卷积网络,它的核心思想是使用CNN 卷积神经网络直接产生区域建议框/候选框,该方法本质上就是滑动窗口在最后的卷积层上滑动。RPN网络设计了新的候选区域机制,可以得到多尺度多长宽比的区域建议框。区域建议网络可实现端到端的训练,同时能够预测出目标前景的置信分数。区域建议网络的输入可以是任意大小尺寸的图片,得到候选框后,新的Faster RCNN[6]网络(包含分类器和回归器)将每个特征图的位置编码成一个特征向量,对每个位置输出一个目标得分和边框回归位置,换言之Faster RCNN 网络是利用候选框的卷积特征生成更精确的目标得分和目标位置。

1.1.2 非极大值抑制

非极大值抑制算法(Non-Maximum Suppression,NMS)可以删除高度重叠的框[7]。在Faster RCNN 检测结果中,一个操作人员可能被多个高度重叠的检测框同时检测到,NMS 算法只保留最精确的检测框并删除其他冗余的框。目标检测过程中滑动窗口经过特征提取和分类器分类识别后,每个窗口都会得到一个目标得分并在同一目标的位置上产生大量的候选框。这些候选框相互之间可能会有重叠,此时需要利用非极大值抑制找到效果最佳的目标边界框,消除冗余的边界框。非极大值抑制过程:①根据置信度的得分对候选框进行排序,选择置信度最高的候选框先输出,将置信度最高的候选框从边界框列表中删除,计算所有边界框面积,计算置信度得分最高的候选框与其它候选框的重叠度,删除重叠度大于规定阈值的候选框;②重复之前的步骤,直到边界框列表为空。

IOU 定义了两个候选框重叠度,设矩形框T1、T2 重叠度的计算公式为:IOU=(T1∩T2)/(T1∪T2),IOU 就是矩形框的T1、T2 重叠面积占并集面积的比例,其在计算机视觉领域广泛应用,如目标跟踪、目标识别、数据挖掘以及纹理分析等。

1.2 SSD 框架下的目标检测

如今大部分目标检测算法都是基于区域目标检测或基于这种算法的变种,基于区域目标检测算法步骤如下:①通过候选框算法产生初始的包含真实物体的候选框;②从每一个候选框中重新取样像素或者特征,然后将其传递给更高质量的分类器进行分类。基于区域的目标检测算法虽然能够达到一定准确度,但是对于嵌入式系统的数据计算量非常大,所以在实际应用中实时检测很难实现。将深度学习检测框架用于实时目标检测研究较多,如Liu等[8]提出基于回归的深度检测框架SSD,该深度检测框架首先在深度网络的不同层产生多尺度、多宽高比的固定大小的候选框集合,然后预测每个候选框的最终得分,并将其回归到更加精确的位置。上述过程使用非极大值抑制算法删除重叠度较大的检测结果。

在SSD 框架结构的基准VGG16 网络基础上增加对应卷积层,使其网络变得更深。在网络层中存在不断的下采样操作,因此得到不同分辨率的特征层。在该网络结构内部设计了较多且固定大小的默认框,在其每个位置用固定大小的卷积核,例如3×3的卷积核在每层特征图上滑动提取这些默认框特征,得到每个默认框的检测结果。SSD 框架对每层特征图上每个位置直接进行回归,能实现GPU 上的并行运算,极大提升了检测速率。整个框架在对默认框进行分类的同时还进行回归操作,因此回归后的框较原始的默认框定位更精确。由于框架是从多层不同分辨率的特征图上设计默认框,不同特征图上同样大小的默认框映射回原始图片会得到不同尺度检测结果,如图3(彩图扫OSID 码可见,下同)中4×4 大小的特征图上的红色边框对应原图中的狗这个类别实例,以及8×8 大小特征图上的蓝色边框对应原图中猫这个类别的实例。使用卷积滤波器集合对每个增加的特征层执行卷积操作,可以产生固定数目的检测值。

Fig.3 Original picture and characteristic picture图3 原图及特征图片

针对多类物体的回归和识别,SSD 训练的目标函数由分类函数Lconf和定位函数Lloc两部分组成,整体目标函数如式(1)所示。其中,x是每层特征图上设计的默认框,g是与包围框x相对应的真实物体位置,c是softmax 损失函数最终预测的包围框x的多个类别置信度,l是最终网络预测到的包围框x更精准的位置。本文使用SSD 作为操作人员检测框架,以达到实时检测效果。

1.3 Faster RCNN 和SSD 框架的不足

Faster RCNN 是两阶段的检测框架,第一阶段从图片中剔除大量简单的背景框,获取少量极有可能包含真实物体的候选框,第二阶段是从这些少量候选框中预测出真实的物体类别和样本。Faster RCNN 这种从粗到细的检测机制,使其能够获得很高的检测准确率,但同时两阶段检测也十分费时,运行效率较低。不同于Faster RCNN,SSD 是单阶段检测框架,输入一张图片到SSD 框架,只需一阶段的检测就能预测出最终的物体类别和位置,因此速度特别快,可以实现近似实时的检测效率。但由于仅有一步检测,其检测精度往往落后于Faster RCNN,因此急需研究同时具备高精度和高效率的实时检测框架。

2 YOLOV4 算法原理

YOLOv4 检测框架实现了速度与精度的完美结合。YOLOV4 算法是基于YOLOv3 目标检测框架的改进,YOLOv3 运行速度快于Faster RCNN 和SSD 框架,但精度远差于两者,YOLOV4 从数据处理、主干网络、网络训练以及损失函数等多个方面对YOLOv3 进行优化,提高了整个算法在目标检测任务上的精度和速度,达到了检测框架的最优匹配[9]。

YOLOV4 算法实现原理:首先通过特征提取网络提取输入图像数据的主要特征,然后将输入图像划分为S×S的网格,每个网格负责检测‘落入’该网格的物体。若某个物体的中心位置的坐标落入到这个网格,那么这个网格就负责检测出这个物体。例如,为了实现C 类物体检测任务,每个网格要预测B 个可能包含物体的边界框以及C 个物体属于某种类别的概率信息,这个类别概率表征了边界框中有多大概率包含真实的物体,因此又称为边界框的置信度Conf(Object)。

对于S×S 个网格中的每个网格,Pr(Object)表示目标物体是否落入到该网络中,如果落入到该候选网格中用1 表示,否则用0 表示。IoU表示该网格的预测框与真实物体外接框之间的交并比,对应的预测框和真实框分别用box(pred)和box(Trutℎ)表示。在每个预测框中含有5 个参数,这些参数分别是x、y、w、ℎ、Conf(Object),其中(x,y)表示预测中心与真实框中心的偏移量,(w,ℎ)表示预测框的宽和高。从每个网格的输出结果看,模型最终输出的参数为S×S×(5×5×B+C)。YOLOv3使用的是Darknet53主干网络[10],YOLOV4 则对主干网络进行了改进,设计了新的CSPDarknet53 主干网络,也是整个检测算法的核心。该部分主要用于目标的特征提取,其优势是保持了较高的准确性,一定程度上降低了计算瓶颈和运行内存[11]。YOLOV4在Darknet53的每个残差块中加上了CSP 模块,它将底层的特征映射分为两部分,一部分经过密集块和过渡层,另一部分与传输的特征映射结合到下一阶段,这种设计的优势是在减少计算量的同时保证检测的准确率。CSPDarknet53运用了Mish 激活函数,在其后的网络中沿用了Leaky Relu激活函数,这种激活函数组合在实际检验中效果更好[12]。在网络结构搭建方面,YOLOV4 借鉴了PANet 网络结构搭建中的数据传递思想。首先借助上采样方式将高层特征的语义信息传播到底层网络中,随后与底层的高分辨特征进行融合,这种融合方式有助于提高小目标的检测效率和准确率。同时,它增加了由底层到最上层的信息传输路径。该路径基于下采样,得到了特征表达能力更优的特征金字塔,最后借助不同层的特征图融合进行物体预测。

3 实验与分析

基于YOLOV4 港口作业人员检测算法的实验环境分为硬件环境和软件环境。硬件选择支持64 位操作系统的处理器,为了提高计算性能,选择Msi Nvidia GEFORCE GTX 1080Ti@11GB GPU 作为数据训练设备;软件采用Ubuntu16.04 操作系统,编程语言为Python 3.7;深度学习框架选择TensorFlow 和对应的制图软件工具。

实验数据集在青岛著名港口分为5 个不同的场景拍摄采集,每个场景在不同时间段分多次采集,将每个场景下的数据集分为训练集和测试集,如表1 所示。

Table 1 Number of pictures in each scene表1 各场景下的图片数量

为验证YOLOV4 算法在港口作业检测中的优势,本文在对比实验中选择3 种目前先进的目标检测框架作为对比算法,分别是SSD、Faster R-CNN 以及YOLOV4-tiny。为保证公平,使用相同数据训练集和测试集对不同的检测框架进行训练和测试。在5 种场景下观察检测框架在不同场景下的泛化能力,其检测平均准确率如表2 所示。

Table 2 Average accuracy of different detection algorithms in different scenarios表2 各场景下不同检测算法平均准确率(%)

本文对5 个场景下的检测准确率分别进行统计,所有场景下的检测平均准确率都高于88%。YOLOV4 在5 个场景下均获得了最高的检测精度,排名是SSD 框架、Faster RCNN 框架和YOLOv4-tiny 框架。此外,训练样本数量很大程度上影响着准确率,比如场景5的训练图片远多于场景1的训练图片,场景5的平均准确率高于场景1 平均准确率6%。

各检测框架的运行速度统计如表3 所示。YOLOv4-tiny 获得了最快的运行速度,但其检测精度远低于其他框架,YOLOV4 在获取高精度检测率的同时也获得了实时的检测速度,同时具备优良的检测精度和速度。

Table 3 Running speed(FPS)of each detection frame表3 各检测框架的运行速度(FPS)

本文将训练样本数量和准确率的关系进行了可视化。从图4 中可以看出,要想获取更高的检测准确率需要提供更多的训练样本,由于场景4 中训练数据有所下降,导致不同算法的作业人员检测准确率随之下降。从图中可以看出,训练样本数量和平均准确率呈正相关关系。

Fig.4 Relationship between the number of training samples and accuracy图4 训练样本数量与准确度关系

图5 展示了多个场景下的检测结果,图中红色外围框是YOLOV4 生成的检测结果,从图可知,本文检测算法在多个场景下都能很好地检测出港口作业人员。

Fig.5 Test results of harbor operators in YOLOV4 under different scenarios图5 不同场景下YOLOV4的港口作业人员检测结果

从实验可以看出,YOLOV4 框架在5 个场景下都获得了很高的检测准确率,分别达到88%、89%、92%、90%和94%。从上述平均准确率可以看出,不同场景下的训练图片数量对准确率有一定影响,更多的样本可以更好地提升检测精度,YOLOV4的最终检测结果完全达到港口作业人员检测要求。

4 结语

本文搜集整理了不同场景下港口作业人员数据集,对多种检测框架进行训练、测试和对比,验证了YOLOV4 框架在港口操作人员检测中的适应性与精确性。通过研究YOLOV4 目标检测算法,对复杂场景下的目标检测有了更深入的认识,解决了复杂场景下的目标检测精度和效率问题。

猜你喜欢
候选框框架准确率
重定位非极大值抑制算法
面向自然场景文本检测的改进NMS算法
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
基于Soft-NMS的候选框去冗余加速器设计*
广义框架的不相交性
高速公路车牌识别标识站准确率验证法
一种针对特定目标的提议算法
WTO框架下
一种基于OpenStack的云应用开发框架