基于无监督深度学习神经网络算法的安全帽识别方法
技术领域
本发明属于深度识别和目标识别技术领域,具体涉及一种基于无监督深度学习神经网络算法的安全帽识别方法。
背景技术
基于建筑工地的安全性考虑,施工单位要求每个进入工地的人员都要佩戴安全帽,安全帽作为最后一道安全防线,作用十分重要。但是进入建筑工地区域的人员经常由于偷懒、遗忘或者抱着侥幸心理不带安全帽,所存在的危险伤害隐患巨大。所以安全帽检测识别提醒对建筑工地的安全防范来说就显得尤为重要,检测预警在岗工人是否按照要求戴好安全帽,做好安全防范措施作业,才能真正做到安全生产信息化管理,做到事前预防事中常态监测,事后规范管理。
针对建筑工地人员佩戴安全帽的检测,通常的办法就是在入口处进行检测,但是在建筑工地区域内,人员是否戴帽就很难检测了。目前常见的检测方式有以下几种:
(1)人工检测,在工地的每个入口安排专人把守检查,在建筑工地区域安排人员巡逻检查,但是该方式需要耗费人力资源,而且存在检查遗漏的可能。
(2)采用传感器、芯片或标签来进行提醒,在安全帽中安置这些感知设备,当工人或访客佩戴安全帽进入工地时,门禁阅读器会识别安全帽中的传感器、芯片或标签,如果没有佩戴将触发系统提醒。这种方法虽然可以在入口处不遗漏地检测,但是无法检测出人员是否正确佩戴,如果是简单携带并无佩戴,是无法检测出来的。同时这种检测方法也只能在入口处进行检测,一旦进入建筑工地区域,该方法就失效,还是需要人力来检测。
(3)通过深度学习以及图像识别技术进行施工区域内人员佩戴安全帽的识别。但目前现有的方案采用的均为R-CNN(Region-based ConvolutionalNeural Networks)或Fast R-CNN(Fast Region-based ConvolutionalNeural Networks)的算法,这两种方式都是通过Selective Search方法生成候选区域检测框,并且候选区域检测框的CNN和目标检测的CNN是分开计算,计算耗时长且性能低下,而且传统的算法方案对于数据集的训练要求采用有监督的方式,即要采用大量人工标记好标签好的图片做训练,费时费力,成本大量增加,而效果不见得有多好。在当前网络速度不断提高且监控采集图像分辨率越来越大的背景下,现有的方案越来越不能满足安全帽识别这种实时快速低成本的场合的要求。
因此特别需要一种技术方案能够对建筑工地生产区域内人员是否佩戴安全帽进行高效实时分析识别、跟踪报警并且做到低成本高效率,以满足施工现场安全管理的要求。
发明内容
本发明的目的之一在于克服以上缺点,提供一种基于无监督深度学习神经网络算法的安全帽识别方法,能够对建筑工地生产区域内人员是否佩戴安全帽进行实时分析识别、跟踪和报警。
为了解决上述技术问题,本发明提供了一种基于无监督深度学习神经网络算法的安全帽识别方法,包括以下步骤:
构建Faster RCNN深度学习神经网络算法结构并对其进行训练;
根据摄像头采集的施工现场视频,提取出连续的图像帧;
采用训练好的Faster RCNN的深度学习神经网络算法结构对所述图像帧进行图像识别;
根据图像识别结果判定人物是否正确佩戴安全帽。
进一步地,所述Faster RCNN深度学习神经网络算法结构由卷积层,区域生成网络,池化层及全连接层组成。
进一步地,所述对Faster RCNN深度学习神经网络算法结构进行训练,包括以下步骤:
输入大量不带标签信息的图像样本数据进行无监督的预训练;
输入少量带有标签信息的图像样本数据进行有监督微调训练。
进一步地,所述“输入大量不带标签信息的图像样本数据进行无监督的预训练”,包括以下步骤:
对所述输入的大量不带标签信息的图像样本数据进行聚类分析;
根据聚类分析好的不带标签信息的图像样本数据,对算法结构内部进行逐层训练。
进一步地,所述的基于无监督深度学习神经网络算法的安全帽识别方法,还包括以下步骤:
对识别出未佩戴安全帽的图像进行存储并提供告警查询。
进一步地,所述“采用训练好的Faster RCNN的深度学习神经网络算法结构对所述图像帧进行图像识别”,包括以下步骤:
卷积层根据输入的图像帧计算得到图片的特征;
区域生成网络根据所述图片的特征生成候选区域检测框;
池化层将所述候选区域检测框转换为固定长度的输出;
全连接层对所述池化层处理的结果进行分类并得到最终的区域检测框。
进一步地,所述“卷积层根据输入的图像帧计算得到图片的特征”,包括以下步骤:
将所述图像帧缩放至固定大小并保存图像帧缩放信息;
对所述缩放后的图像帧进行卷积、线性整流以及池化处理后得到图片的特征。
进一步地,所述“区域生成网络根据所述图片的特征生成候选区域检测框”,包括以下步骤:
根据所述图片的特征生成一组Anchor box,进行裁剪过滤后,判断是前景还是后景,再进行还原;
对所述Anchor box进行修正并根据所述图像帧缩放信息计算偏移量,得到精确的候选区域检测框。
进一步地,所述“全连接层对所述池化层处理的结果进行分类并得到最终的区域检测框”,包括以下步骤:
判断每个候选区域检测框的目标物体的类别并输出概率向量;
获得每个候选区域检测框的位置偏移量,回归计算得到最终的目标检测框。
进一步地,所述“根据图像识别结果判定人物是否正确佩戴安全帽”,包括以下步骤:
若图像识别结果中同时包含人脸和安全帽且安全帽在人脸上方,则判定图像中的人物正确佩戴安全帽,否则判定图像中的人物未正确佩戴安全帽。
本发明技术方案的有益效果有:
1.通过采用目标识别和深度学习的技术进行建筑施工区域内人员佩戴安全帽的识别,不仅能降低人工检测产生的人力成本,同时可以解决传统方式无法检测携带不佩戴的问题。
2.采用Faster RCNN深度学习神经网络算法实现安全帽识别方案,该算法中利用区域生成网络代替现有RCNN或Fast RCNN中的Selective Search方法产生候选区域检测框,大大提升了算法检测的精度,候选区域检测框的CNN和目标检测的CNN共享,提高了检测速度和效率,更加适合安全帽识别这种实时快速的应用场合。
3.通过输入大量不带标签的图像样本进行无监督的预训练,再结合少量带有标签信息的图像样本数据进行算法微调训练,比传统的纯粹采用有标签信息的图像样本数据的有监督训练方式,成本大大减低,同时训练出来的算法结构,目标识别准确度也有所提高。
附图说明
图1是本发明的一种基于无监督深度学习神经网络算法的安全帽识别方法步骤流程图。
图2是本发明所述采用Faster RCNN的深度学习神经网络算法训练步骤流程图。
图3是本发明所述无监督的预训练的步骤流程图。
图4是本发明所述采用Faster RCNN的深度学习神经网络算法对所述图像帧进行图像识别步骤流程图。
图5是本发明所述方法的卷积层处理流程图。
图6是本发明所述方法的区域生成网络处理流程图。
图7是本发明所述方法的全连接层处理流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1,是本发明的一种基于无监督深度学习神经网络算法的安全帽识别方法步骤流程图,包括以下步骤:
步骤1、构建Faster RCNN深度学习神经网络算法结构并对其进行训练,该结构由卷积层、区域生成网络、ROI池化层和全连接层构成。
本发明所述的基于无监督的Faster RCNN深度学习神经网络算法,首先需要用建筑工人与安全帽的图片模型对深度学习神经网络算法进行训练,只有经过良好的训练,深度学习神经网络算法才能准确地识别出图片的建筑工人与安全帽,为后续的判断提供准确的依据。传统的深度学习算法通常采用监督学习的方式,即通过已有的训练样本(即已知数据以及其对应的输出)来训练,从而得到一个最优模型,再利用这个模型对新的数据样本进行判断从而实现分类的目的。例如,采集大量的施工现场图片,然后由人工进行识别,对每张图片样本打上有佩戴安全帽或者没有佩戴安全帽的标记,再利用这些带有标签的图像数据用于算法的训练。而本申请所采用的是无监督训练方式,指的是将无人工标记的图片放到算法中进行无监督的预训练,再结合少量带有标签信息的图像样本数据进行算法微调训练,得到训练好的模型,这种方式不但可以减少大量人工打标签产生人力成本,大幅度降低训练的成本,而且效果还略好于监督学习方式,实现效果上的提升。
在具体的实施例中,可以在Windows操作系统环境下,采用Python编程语言caffe学习框架,构建建筑工人与安全帽识别卷积神经网络结构,并将无注释信息的原始图像样本数据和少量带有标签的图像样本输入到Python编程接口中进行算法训练。这里带有标签信息的图像样本数据指的是标注建筑工人是否佩戴了安全帽的图像数据集,这些标签信息是由人工来进行标记,而不带标签的图样样本数据即无标注信息的原始图像样本数据。通常,在进行施工现场建筑工人佩戴安全帽数据收集时,需遵循以下两个基本要求,才能确保数据样本质量和数量,从而保障实验预训练的算法训练结果:第一,实时监控视频系统拍摄范围应覆盖全部施工现场,需覆盖着不同的建筑场地条件;第二,必须需要有数量足够多的图像样本。
如图2,是本发明基于无监督的Faster RCNN深度学习神经网络算法具体的训练步骤流程图,包括以下步骤:
步骤11、输入大量不带标签信息的图像样本数据进行无监督的预训练,其步骤流程图如3所示,包括以下步骤:
步骤111、构建好的Faster RCNN深度学习神经网络算法结构并未经过训练,因此算法结构内部参数未知,这时候需要输入大量不带标签信息的图像样本数据,由于图像样本不带标签信息,因此无法得知该图像的具体含义,但是可以对这些图像样本进行聚类分析操作,聚类分析是无监督学习的任务,即不知道真实的样本标签信息,只把相似度高的样本聚合在一起归为一类,在本场景里,不带标签信息的图像样本数据可以根据相似度划分为“无安全帽”、“有安全帽但处于人头下方”和“有安全帽处于人头上方”这几类。
步骤112、通过上述步骤聚类分析好的不带标签信息图像样本数据,再输入到未经训练的算法结构内部,从最低层开始进行逐层上升训练,在训练的过程中,除了被训练的层之外的所有层都被冻结。
步骤12、输入少量带有标签信息的图像样本数据进行有监督微调训练。
当Faster RCNN深度学习神经网络算法结构的所有层都经过无监督训练后,再使用带标签的少量图像数据对该算法结构进行微调,由于带标签的图像数据是知道图像实际含义的,因此可以根据算法结构对带标签图像数据进行识别,和实际结果比对,然后调整算法结构内部参数,使参数适应带标签图像数据,这是一种反向传播的过程。通常,具体的微调过程是冻结预训练后算法结构的部分卷积层(靠近输入的多数卷积层),训练剩下的卷积层(靠近输出的部分卷积层)和全连接层。
步骤2、根据摄像头采集的施工现场视频,提取出连续的图像帧;从施工现场摄像头拍摄的实时视频中提取出一帧帧的图像,通常同一个视频中的图像分辨率大小固定不变,采样率(即输入给深度学习算法的图像的时间间隔)可以根据实际的需求进行设置。
步骤3、采用经过无监督训练好的Faster RCNN的深度学习神经网络算法结构对所述图像帧进行图像识别;如图4,是本发明所述采用Faster RCNN的深度学习神经网络算法对所述图像帧进行图像识别步骤流程图,包括以下步骤:
步骤31、卷积层根据输入的图像帧计算得到图片的特征;卷积层用来从大量的图片中提取出一些不同目标的重要特征,通常由conv、relu、pooling层构成,处理后获得的图片的特征叫做feature map。如图5,是本发明所述方法的卷积层处理流程图,包括以下步骤:
步骤311、将所述图像帧缩放至固定大小并保存图像帧缩放信息;针对一个任意分辨率大小为P×Q的图像帧,进入卷积层计算前,先对图像帧进行了尺度规整化处理,将图像帧缩放至固定设置的大小M×N,同时保存此次缩放的所有信息,在具体的实施例中,可以通过结构体im_info=[M,N,scale_factor]进行保存,其中scale_factor为尺度因子。
步骤312、对所述缩放后的图像帧进行卷积、线性整流以及池化处理后得到图片的特征。卷积层处理部分共包含有13个conv层、13个relu层和4个pooling层,其中conv层做卷积处理,经过卷积处理之后的图片大小不变,relu层做线性整流处理,经过处理之后的图片大小也不发生变化,pooling层是池化层,处理之后输出图片的宽高分别是输入图片宽高的1/2,因此,分辨率大小为M×N的图片经过卷积层各层的处理之后,生成分辨率大小为(M/16)×(N/16)的特征图feature map,生成的feature map中都可以和原图对应起来。
步骤32、区域生成网络根据所述图片的特征生成候选区域检测框;区域生成网络其目的是根据输入的图片特征feature map生成候选区域检测框,相当于完成目标定位的功能。如图6所示,区域生成网络的处理流程主要分为两部分,在第一部分处理中,根据输入的图片特征feature map生成一系列Anchor box,这里的Anchor box是对检测点取不同的长方形窗口,用于进行目标检测,对其使用reshape函数进行裁剪过滤,之后通过softmax函数判断Anchor box属于前景还是背景,其是一个二分类方法,即判断Anchor box中是否为物体,之后再使用reshape函数还原图像大小。在第二部分处理中,使用bounding boxregression边框窗口回归技术,对Anchor box进行回归和微调,形成较精确的候选区域检测框。同时,由于在卷积层处理过程中im_info保存了图像从分辨率P×Q缩放到M×N的所有信息,可以用于计算anchor偏移量,这样可以生成更精确的候选区域检测框。
步骤33、池化层将所述候选区域检测框转换为固定长度的输出;ROI池化层,其目的是将大小不同的候选区域检测框proposal生成固定大小的特征图,以便进行后续操作。假设需要固定生成宽为pooled_w,高为pooled_h的特征图,则将每个proposal水平和竖直分为pooled_w和pooled_h份,对每一份都进行max pooling(最大值池化)处理。这样处理后,即使大小不同的proposal,输出结果都是大小相同。
步骤34、全连接层对所述池化层处理的结果进行分类并得到最终的区域检测框。
全连接层其目的是对ROI池化层处理后的proposal进行具体类别的分类,并进行bounding box regression,获取更高精度的最终区域检测框。通常,最终区域检测框就是从图像中识别出的包含检测目标的矩形区域,例如,图像中包含安全帽的矩形区域。全连接层输出结果包括最终的区域检测框以及区域检测框对应的概率向量。如图7所示,全连接层的处理流程分为两部分:第一部分处理,利用bounding box regression获得每个regionproposal的位置偏移量,用于回归获得更高精度的目标检测框;第二部分处理,通过fullconnect层与softmax函数计算每个region proposal具体属于哪个类别(如人、安全帽等),输出概率向量,这里的概率向量给出的是结果的概率值,即佩戴安全帽的概率值,不佩戴的概率值,人的概率值,用于最终结果的计算,将概率向量结果提供给下一步骤进行分析。
步骤4、根据概率值判定人物是否正确佩戴安全帽。
根据Faster RCNN的深度学习神经网络算法输出的概率向量的计算结果结果,可以用于判断施工场地中的建筑工人是否正确佩戴安全帽,识别判断的依据主要有:(1)安全帽和人脸都必须有;(2)安全帽在上,人脸在下挨着。必须满足以上两个识别结果,才能判定图像中的人物正确佩戴安全帽。如果以上识别结果其中一个或全部不满足,则判定图像中的人物未正确佩戴安全帽。在具体的实施例中,可以通过安全帽的概率值,人出现的概率值以及安全帽和人头挨着的概率值来断定是否正确佩戴安全帽,比如,当安全帽出现概率值大于85%并且安全帽出现在人头顶概率值大于85%,即认定安全佩戴,这里的两个85%概率数值是个经验值。
步骤5、对识别出未佩戴安全帽的图像进行存储并提供告警查询。
当识别到施工场地中的建筑工人未佩戴安全帽的时候,可以形成告警信息,即将画面截图和视频及时存储到服务器数据库中,包括时间、地点、报警截图、报警视频等形成报表信息,方便人员安全管理。报警记录可提供快速查询功能,能够根据时间段、监控区域对未佩戴安全帽的行为进行告警查询,对查询到的多条记录以报表的形式展示,每条记录有详细的报警截图和视频。
上述具体实施方式只是对本发明的技术方案进行详细解释,本发明并不只仅仅局限于上述实施例,凡是依据本发明原理的任何改进或替换,均应在本发明的保护范围之内。