一种基于YOLO网络压缩算法的安全帽识别智能监控系统

文档序号:26806070发布日期:2021-09-29 02:34阅读:164来源:国知局
一种基于YOLO网络压缩算法的安全帽识别智能监控系统
一种基于yolo网络压缩算法的安全帽识别智能监控系统
技术领域
1.本发明属于计算机视觉和数字图像处理技术领域,具体涉及一种基于目标检测网络yolo(you only look once)进行网络压缩实现对施工区域工作人员是否佩戴安全帽的监控系统。


背景技术:

2.目标检测是计算机视觉和数字图像处理经久不衰的一个研究方向,广泛应用于机器人导航、智能视频监控、工业检测、航空航天等诸多领域。由于计算机收到这些rgb像素矩阵,不会直接得到目标(如行人、车辆等)的抽象概念,更不能定位其位置,再加上目标形态千差万别,目标和背景重合等问题,使得目标检测难上加难。此外,由于视频中的目标具有不同姿态且经常出现遮挡、其运动具有不规则性,同时考虑到监控视频的景深、分辨率、天气、光照等条件和场景的多样性,而且目标检测算法的结果将直接影响后续的跟踪、动作识别和行为描述的效果。因此,通过计算机视觉提高物体检测的准确性和减少对人力资本的消耗,具有重要的现实意义,目标检测也就成为了近年来理论和应用的研究热点,它是视频智能监控系统的核心部分,对后续的各种识别任务起着至关重要的作用。
3.自从深度神经网络算法首次在imagenet数据集上大放异彩后,目标检测算法得到了较为快速的发展,通过利用多层计算模型来学习抽象的数据表示,能够发现大数据中的复杂结构。其中目标检测网络yolo中的yolov1是一种基于深度神经网络的对象识别和定位算法,它采用一个cnn网络来实现检测,是一种单管道策略,其训练与预测都是端到端(end

to

end),所以yolov1算法比较简洁且速度快。此外,由于yolo是对整张图片做卷积,所以其在检测目标有更大的视野,它不容易对背景误判且泛化能力强,在做迁移时,模型鲁棒性高。但当大规模数据训练获得的深度网络模型大且计算量也大,这就需要优良的硬件的计算资源和内存条件,然而在实际的实时系统应用中这往往很难实现。


技术实现要素:

4.本发明的发明目的在于:针对上述存在的问题,提供一种基于yolo网络压缩算法的安全帽识别智能监控系统,实现对施工人员安全帽是否佩戴的动态监控,为施工现场的安全提供保障。
5.为实现上述发明目的,本发明提供的基于yolo网络压缩算法的安全帽识别智能监控系统,包括:
6.数据处理模块,用于获取训练数据集,即通过对输入图像进行多种数据预处理,得到训练数据集,数据处理模块可以增加网络的训练样本,从而增加目标,以提升系统的性能;
7.特征提取和预测模块:用于设置对图像进行特征提取和目标识别的网络模型,所述网络模型为基于yolo网络的网络模型;
8.网络压缩模块:用于对特征提取和预测模块中的网络模型的全连接层进行压缩处
理,并触发特征提取和预测模块从数据处理模块读取训练数据对压缩处理后的网络模型进行模型参数学习训练,以及保存训练好的网络模型;
9.结果检测模块:将待识别图像输入到特征提取和预测模块中训练好的网络模型,基于特征提取和预测模块返回的前向传播输出,得到目标对象的预测锚框的位置和类别;并采用非极大值抑制处理对得到的预测锚框进行去冗余处理,得到当前待识别图像的识别结果并输出显示。
10.进一步的,网络模型的特征提取网络为yolo网络的前20个卷积层结构,特征提取网络之后顺次连接4个卷积层和2个全连接层构成目标识别支路,最后一层全连接层采用了一层dropout,且最后一层全连接层采用线性激活函数,网络模型中其它层涉及的激活函数均采用leaky relu激活函数。
11.进一步的,训练时,所述网络模型的损失函数值为回归损失、分类损失和置信度损失之和。
12.进一步的,所述特征提取网络采用预训练的方式获取特征提取网络的初始网络参数:在所述特征提取网络之后顺次连接一个平均池化层和全连接层,基于指定的图像识别任务,在公开的图像识别数据集(例如imagenet)上进行预训练。
13.进一步的,所述数据预处理包括随机调整亮度,随机调整对比度、色相、饱和度,随机光照噪声,随机扩展,随机裁剪,随机镜像和随机采集块域。
14.综上所述,由于采用了上述技术方案,本发明的有益效果包括:
15.(1)本发明中采用yolo是one

stage的思想,用一整幅图像来训练,可以将物体的整体的类别信息以及外观信息进行编码,降低背景误检率低,同时可以直接优化性能检测,提高准确率。
16.(2)本发明中直接对锚框(bbox)进行回归和分类,加快了运行速度,实现了实时处理视频。
17.(3)本发明可以学到物体更泛化的特征表示,更能适应新的领域,泛化能力高,可高度可推广。
18.(4)本发明采用网络压缩方法,利用矩阵分解将权重矩阵分解为几个低阶矩阵,用低阶矩阵来表示高阶矩阵,大大加快了训练和测试网络模型的速度,缩短了训练和测试的时间。
附图说明
19.图1是本发明实施例中,所提供的安全帽识别智能监控系统的结构示意图;
20.图2是本发明实施例中,采用的yolo网络的结构示意图;
21.图3是本发明实施例中,网络压缩结构示意图;
22.图4是本发明实施例中,结果检测过程示意图。
具体实施方式
23.为使本发明的目的、技术方案和优点更加清楚,下面将结合具体的实施方式和附图,对本发明的具体实施过程进行较为详细的说明,以方便技术人员更准确的理解本发明后,应用在各个具体的领域当中。
24.参见图1,本发明实施例公开了一种基于yolo网络压缩算法的安全帽识别智能监控系统,包括数据处理模块、特征提取与预测模块、网络压缩模块和结果检测模块。各模块具体为:
25.数据处理模块:用于获取训练数据集,即通过对输入图像(施工区域采集的视频图像)进行多种数据预处理,得到训练数据集,供后端模块使用。其中,数据预处理包括:随机调整对比度(contrast)、色相(hue)、饱和度(saturation),随机光照噪声,随机扩展,随机裁剪和随机镜像。在安全帽识别智能监控系统中,目标检测任务(以安全帽作为检测对象)通过随机调整亮度,对数据进行处理,后提升系统的性能。
26.特征提取和预测模块:用于预置对图像进行特征提取和目标识别的网络模型,进而实现图片的特征提取和预测。本发明实施例中,该模块所采用的网络结构参考goolenet模型,包含24个卷积层和2个全连接层,其通过图像金字塔结构抽取特征,通过一系列不同尺度的卷积层在不同尺度上做特征提取,来获得更多的特征图,学到物体更泛化的特征表示,更能适应新的领域,泛化能力高,可高度可推广,全连接层用来预测图像位置和类别概率值,并且为了跨通道信息整合使用了卷积核为1
×
1的卷积层代替了goolenet的inception模块来做降维度。可以通过一整幅图像来训练,将物体的整体的类别信息以及外观信息进行编码,降低背景误检率低,同时可以直接优化性能检测,提高准确率。
27.网络压缩模块:用于对特征提取和预测模块所采用的全连接层进行压缩,减少模型的参数,压缩模型所占的内存;减少模型的计算量,压缩模型训练和预测所占用的时间。当完成对全连接层的压缩处理后,使得特征提取和预测模块从数据处理模块中读取每个批次的拼数据对压缩后的网络模型进行网络参数的训练,
28.本发明实施例中,通过将特征提取和预测模块中的全连接层的权重进行矩阵分解,以此来减少模型参数并减小计算量,矩阵分解是将权重矩阵分解为多个低阶矩阵,用低阶矩阵来表示高阶矩阵,大大加快了训练和测试网络模型的速度,缩短了训练和测试的时间。
29.结果检测模块:将待识别图像输入到特征提取和预测模块中训练好的网络模型,基于特征提取和预测模块返回的前向传播输出,得到待识别图像的目标对象的锚框(bounding boxes,bbox)及其类别,再使用非极大值抑制(non

maximum suppression,nms)方法过滤掉背景和得分不是很高的框,即得分低于指定阈值的框,以避免重复预测,输出预测框作为检测结果的输出,由于直接对bbox进行回归和分类,所以加快了运行速度,实现了实时处理视频。
30.本发明实施例所提供的基于yolo网络压缩算法的安全帽识别智能监控系统的工作流程包括:
31.步骤一:在数据处理模块中,输入的每一张图像,通过随机调整亮度,随机调整对比度(contrast)、色相(hue)、饱和度(saturation),随机光照噪声,随机扩展,随机裁剪,随机镜像和随机采集块域。
32.其中,随机调整亮度以0.5的随机概率,随机对图像每个像素添加一个值。在亮度调整后随机调整对比度、色相和饱和度,有两种选择(以0.5的概率随机选择),首先对比度处理,然后色相和饱和度;或者首先色相和饱和度处理,然后对比度处理,并且对比度是在rgb空间处理,色相和饱和度是在多达1.5倍hsv空间。因此,在进行每一步操作前需要先作
对应的颜色空间转换,通过随机在一个上界和下界区间内选择形变的值,之后进行随机光照噪声(包括随机颜色通道交换),随机扩展。
33.数据处理模块会增加训练样本的个数,同时构造出更多的不同形状和大小的目标,并将其输入到网络中,可以使得网络学习到更多的特征,防止过拟合提高后续算法性能,最终使系统增强了对目标平移的敏感程度和对不同尺寸和纵横比的目标更具有鲁棒性。
34.步骤二,通过数据处理模块后,将图片输入特征提取与预测模块所设置的yolo网络中,如图2所示。在训练之前,先在imagenet上进行了预训练,其预训练的分类模型包括前20个卷积层,然后添加一个average

pool层和全连接层进行预训练,即该全连接层作为预训练的分类任务的输出层。
35.预训练之后,在预训练得到的20层卷积层之上加上随机初始化的4个卷积层和2个全连接层。由于检测任务需要更高清的图片,所以对网络的输入进行了调整,以适应更大尺寸的输入图像,本实施中,将输入从224*224增加到了448*448。具体来说,图像输入分辨率固定成448*448,并且被均匀分成多个格子(即多个网格),经过多层卷积(24层卷积)和一个全连接层后输出4096维的特征图(feature map),变为7*7*1024张量(图2倒数第2个立方体),最后经过两层全连接层,输出张量维度为7*7*30,即最后一层输出一个30维的向量,候选框的信息就包含在该30维的向量中,在30维的向量中包括一定数量(例如20个)的目标物体的概率、两个bbox置信度和两个bbox位置(一个bbox需要四个值表示其位置)。此外,用了一层dropout,且最后一层的输出使用了线性激活函数,其他层全部使用leaky relu激活函数,其公式如下所示:
[0036][0037]
其中,每一个bbox由5个预测量组成(x,y,w,h,c),矩形框的中心点坐标x,y,长宽w,h以及是否属于被检测物体的置信度c。x,y,w,h经过归一化处理,取值在[0

1]之间。而置信度并不只是该bbox是待检测目标的概率,还是该bbox是待检测目标的概率乘上该bbox和真实位置的iou(intersection over union)的积来反映出该bbox预测位置的精度,其计算如下:
[0038][0039][0040]
其中,a,b为集合;p(物体)代表了该bbox是否包含检测的物体,也就是说如果不存在一个物体,则类别c应该为0,否则c为bbox与真实框(ground truth)之间的iou。即若不存在一个物体,则p(物体)为0,否则为1。
[0041]
除此以外,每个网格还产生c个条件概率p(类别
i
|物体)。特征检测与预测模块的网络的损失函数包括回归损失、分类损失和置信度损失三个部分。
[0042]
如果检测到物体,那么每个网格的分类损失是每个分类的条件概率平方误差和,公式如下:
[0043][0044]
其中,表示网格i的第j个bbox中存在对象,如果网格i检测到物体,那么否则p
i
(c)、分别表示网格i的真实分类和预测分类为c的条件概率,s2表示网格数量,b表示bbox的数量。
[0045]
回归损失计算的是预测的bbox位置与实际尺寸的误差,其公式如下:
[0046][0047]
其中,是相对于网格i的bbox预测位置,是相对于网格i的第j个bbox的预测尺寸(宽度和高度),x
i
、y
i
、w
i
和h
i
分别表示网格i的第j个bbox的实际位置和尺寸,λ
coord
为权重(基于实际应用场景设置,优选取值为5),置信损失计算公式如下:
[0048][0049]
其中,为某个物体在bbox中被检测到的置信度损失,为某个物体不在bbox中的置信度损失,c为置信度,即c的值,为预测框与真实框iou,是的补充,λ
noobj
为降低背景检测损失的权重(noobj即背景),优选取值设置为0.5。最终得到的损失函数是上述三者之和,如下式所示:
[0050][0051]
步骤三,对初始设置的网络模型对网络中的全连接层的4096维度的权重参数进行逐层矩阵分解,其过程如图3所示。假设压缩前权重参数w
m
×
n
的大小为是m行n列的矩阵,经过压缩后将矩阵化为p
m
×
k
和q
k
×
m
相乘,即w
m
×
n
=p
m
×
k
×
q
k
×
m
,及其优化的目标函数如下式:
[0052][0053]
其中,w
ij
表示i行j列的元素,表示逐层矩阵分解中每一层所得到的矩阵分解矩阵p和q的l2范数,防止过拟合,k表示层数。
[0054]
步骤四,在结果检测模块中预测出检测结果如图4所示,从特征提取与预测模块中得到的c个条件概率p(类别
i
|物体),在测试阶段进行非极大值抑制(nms)处理时,对于每个bbox,按照下式衡量该框是否应该予以保留:
[0055][0056]
其中,socre代表着某个类别i存在于第j个bbox的可能性,过滤一些大部分重叠的矩形框,输出检测物体的置信度,同时考虑了矩形框与类别,满足阈值的输出更加可信,对各类别分别进行nms处理,其过程如下:
[0057]
(1)设置一个score的阈值,低于该阈值的候选对象排除掉(将该score设为0)。
[0058]
(2)遍历每一个对象类别,遍历该对象的所有得分(如图4中所示的98个),找到score最大的那个对象及其bbox,添加到输出列表,对每个score不为0的候选对象,计算其与输出对象的bbox的iou,再根据预先设置的iou阈值,所有高于该阈值(重叠度较高)的候选对象排除掉(将score设为0);即所有的bbox要么在输出列表中,要么score=0时,则该对象类别的nms完成,返回步骤(2)处理下一种对象。
[0059]
(3)输出列表即为预测的对象。
[0060]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
[0061]
以上所述的仅是本发明的一些实施方式。对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1