首页> 中国专利> 一种基于深度学习的睡岗检测方法

一种基于深度学习的睡岗检测方法

摘要

一种基于深度学习的睡岗检测方法,包括:(1)收集图片,组成训练所需的样本集Dataset_1;(2)使用所述样本集Dataset_1对目标检测网络模型进行迁移训练;(3)正负样本图片共同组成样本集Dataset_2,将Dataset_2分为训练集、测试集;(4)利用样本集Dataset_2的训练集对Resnet50深度学习网络模型进行训练,并用测试集测试;(5)当完成后即可将目标检测网络模型、Resnet50深度学习网络模型部署监控设备检测;实现了值班室场景的睡岗检测算法,并且可以部署在嵌入式终端上,该算法极大的提高了检测的灵活性和实时性。

著录项

说明书

技术领域

本发明属于计算机图像视觉检测领域,具体涉及一种深度学习应用于视频监控值班室场景的睡岗检测算法。

背景技术

如何检测和禁止员工睡岗问题一直以来都是许多管理人员思考的问题,因为值班室往往需要员工时刻专注保持警惕,一旦因为睡岗造成疏忽极有可能造成巨大的安全隐患。如塔台管理员等,是严厉禁止随意离岗睡岗的,因为此类行为可能会引起重大事故,而此类岗位监督管理又有一定困难,因此促生了智能视频检测系统的出现。

目前市面上在使用的基于深度学习的睡岗检测算法,大多基于骨骼检测算法,而骨骼检测算法网络模型极其复杂,往往需要部署至高端的显卡主机才可以使用,而高端显卡主机费用高昂,这就限制了其实用价值。鉴于高端显卡主机费用高昂,越来越多的客户选择使用性价比更高且部署安装更为简单的深度学习嵌入式终端。

值班室睡岗检测方法目前市面上还未有真正意义上可以在嵌入式终端上使用的算法:传统的数字图像算法由于自身属性限制在面对复杂场景时可用性极低;基于深度学习的行为检测算法虽然能够达到一定的准确度,但是由于深度学习网络模型复杂度高以及深度学习算子兼容性差等原因,难以将其部署至嵌入式终端。

发明内容

针对上述不足,本发明提供了一种基于深度学习的睡岗检测方法,其特征在于,包括:

(1)收集使用场景下的人员睡岗和非睡岗图片,组成训练所需的样本集Dataset_1;

(2)使用所述样本集Dataset_1对目标检测网络模型进行迁移训练;

(3)利用步骤(2)训练出的目标检测网络模型对所有的人员睡岗和非睡岗图片进行遍历,并将检测出的人体区域截图保存;将保存之后的图片进行分类,睡岗图片分为正样本,非睡岗图片分为负样本;正负样本图片共同组成样本集Dataset_2,将Dataset_2分为训练集、测试集;

(4)利用步骤(3)得到的样本集Dataset_2的训练集对Resnet50深度学习网络模型进行训练,并用测试集测试,当测试集的准确率达到标准之后即表示完成训练;

(5)当完成了步骤(1)~(4)之后即可将目标检测网络模型、Resnet50深度学习网络模型部署监控设备,实现睡岗行为检测。

本发明创造的优点:与其它检测方法相比,实现了值班室场景的睡岗检测算法,并且可以部署在嵌入式终端上,该算法极大的提高了检测的灵活性和实时性,同时具有高精度性等优良特质。

附图说明

图1是目标检测网络模型示意图;

图2是睡岗检测算法流程。

具体实施方式

下面结合附图对本发明作进一步描述,应当理解,此处所描述的内容仅用于说明和解释本发明,并不用于限定本发明。

本申请通过对深度学习网络进行调整和优化,实现了基于嵌入式终端的高精度的睡岗检测方法,技术方案如下:

(1)收集使用场景下的人员睡岗和非睡岗图片,为保证检测算法的准确性,所收集的睡岗及非睡岗图片具有普遍性及可辨识性。图片使用样本标注工具进行样本标注,标注出人体区域,组成训练所需的样本集Dataset_1。

(2)使用上述样本集Dataset_1对本申请所提出目标检测网络模型(参见图1)进行迁移训练,先在COCO数据集(现有的目标检测数据集)上进行预训练,得到预训练权重,而后使用上述样本集Dataset_1对预训练权重进行迁移训练,最终得到所需要的神经网络模型。虽然在COCO数据集上训练的目标检测网络模型已具有一定的人体检测效果,但在具体使用场景下容易出现漏检和误检,只有通过迁移训练才能使得目标检测网络能够在使用场景下具有较高的准确率。

目标检测网络模型的网络结构如图1所示,经过实验分析,YOLO-v3网络之所以速度较慢,在于其网络层数及网络通道数较大,造成最终的模型参数较多。而且睡岗检测是一个时序性的行为,它依赖于目标检测器的检测速度,而不是高准确度。因此本申请所提出的网络结构从网络通道数和网络层数两方面进行合理的缩减,以较小的性能损失来换取网络速度较大提升。原版YOLO-v3算法虽具有良好的目标检测效果,但在嵌入式终端上还无法实现实时的目标检测。本发明的目标检测网络模型基于YOLO-v3进行优化,经证明具有良好的目标检测效果及高实时性。

(3)利用步骤(2)训练出的目标检测网络模型对所有的人员睡岗和非睡岗图片进行遍历,并将检测出的人体区域截图保存。而后人工将保存之后的图片进行分类:睡岗图片分为正样本,非睡岗图片分为负样本。正负样本图片共同组成样本集Dataset_2。将Dataset_2分为训练集、测试集,训练集、测试集的比例为8:2。

在截图保存时,应对检测框进行调整:以最长边为边长,截图保留方形区域图片。

(4)利用步骤(3)得到的Dataset_2的训练集对Resnet50深度学习网络模型进行训练,并用测试集测试,当测试集的准确率达到标准之后即表示完成训练。

在该步骤进行训练时,所采用的深度学习框架为Caffe1.0,具体训练细节如下:

① 将训练集中样本分批次输入到Resnet50深度学习网络模型;

② 训练时,正样本的分类结果为1;负样本的分类结果为0;训练时采用的损失函数为交叉熵损失函数,反向传播策略选择随机梯度下降算法;

③ 经过一段时间的训练后,Resnet50深度学习网络模型的loss逐渐减小,表明模型准确度逐渐提高,每完成一定数量的训练,在测试数据集上对该深度学习网络模型进行测试;若测试集的准确率没有达到标准,则回到步骤①,重新训练;若测试集的准确率达到标准,则完成了整个训练过程;

(5)当完成了步骤(1)~(4)之后即可将目标检测网络模型、Resnet50深度学习网络模型部署至嵌入式终端或显卡主机,接入网络摄像头即可实现睡岗行为检测,实现流程图如图2:

① 获取网络摄像头的视频流,该阶段通过opencv或是ffmpeg获取视频流;

② 利用训练好的目标检测网络模型检测视频每一帧,并将检测出的人体区域以正方形截取传输至下一节点;

③ 利用目标跟踪算法IOUTracker对各个人体区域进行编号,并记录其对应的中心点坐标,每隔一分钟对记录的中心点坐标进行方差计算,方差小于某阈值的目标图片传输至下一节点判断;

IOUTracker算法的基本思想是:通过判断连续两帧之间的目标IOU大小是否达到阈值来认定是否是同一目标。在实际应用中,可设置IOU大于0.5则连续两帧的物体为同一目标。其具体的计算流程如下:

检测前:用滤除得分过低的检测框;

检测时:对每一个激活的目标轨迹,在当前帧找到对应的最大IOU的检测框,如果该IOU大于阈值则目标匹配;当前帧的未匹配的检测框,作为新的目标轨迹,变为激活状态;原本激活的目标轨迹,如果在当前帧没有找到与之匹配的检测框,则将该目标轨迹设置未激活并删除。

为了避免因目标检测模型的漏检而造成目标丢失,每一个目标设置跳帧参数,可设置为3,该值表示只有在连续3帧没有出现该目标,才会使得该目标变为未激活状态。

④ 利用Resnet50深度学习网络模型对截取的人体区域进行图片分类判断,如果输出结果为1,则说明存在睡岗行为,进行睡岗信息提示;否则,则说明不存在睡岗行为,算法继续运行。

通过在实际场景下进行测试,本发明无论是在检测正确率(无缺陷样本的正确检测率和有缺陷样本的正确检测率之和)指标、误检率指标和漏检率指标都具有很高的实用价值。

最后应说明的是:以上所述仅为本发明的解释,并不用于限制本发明,尽管对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号