安全帽佩戴检测方法和装置、电子设备、计算机可读存储介质
文献发布时间:2023-06-19 11:22:42
技术领域
本申请涉及计算机技术领域,特别是涉及一种安全帽佩戴检测方法和装置、电子设备、计算机可读存储介质。
背景技术
随着城市化发展的不断深化,人们生活的节奏越来越快,网络的高速发展活跃了外卖和快递市场,人们享受着网上购物和送餐给生活带来的便利。然而在便利的同时,由于外卖和快递市场对外送和派件业务有着严格的时效限制,配送人员往往在驾驶过程中存在未佩戴安全帽、打电话等不规范驾驶行为,极大程度上增加了发生交通事故的严重程度及几率。有研究表明驾驶人员佩戴安全帽将大大降低交通事故的发生率。因此,有必要对驾驶人员是否佩戴安全帽进行检查并监督。传统的安全帽佩戴检测方法,通常是采用部署在城市的公共道路出入口及主要行人车流通道的摄像头,来对两轮或者三轮机动车驾驶者佩戴安全帽的状态进行实时统计。然而,这种检测方法的准确性较低。
发明内容
本申请实施例提供一种安全帽佩戴检测方法、装置、电子设备、计算机可读存储介质,可以提高安全帽佩戴检测的准确性。
一种安全帽佩戴检测方法,包括:
将所获取的当前图像帧及所述当前图像帧之前第一预设数目的图像帧作为循环队列;
对所述循环队列中的图像帧进行人脸检测,得到所述循环队列中每个图像帧的人脸检测结果;
将所述循环队列中每个图像帧的人脸检测结果输入至预设分类器模型中,获得每个图像帧的安全帽佩戴概率;
根据所述循环队列中每个图像帧的安全帽佩戴概率对所述循环队列中当前图像帧的安全帽佩戴概率进行校正,得到所述循环队列中当前图像帧校正后的安全帽佩戴概率。
在其中一个实施例中,所述根据所述循环队列中每个图像帧的安全帽佩戴概率对所述循环队列中当前图像帧的安全帽佩戴概率进行校正,得到所述循环队列中当前图像帧校正后的安全帽佩戴概率,包括:
根据所述循环队列中每个图像帧的安全帽佩戴概率及各自对应的权重,对所述循环队列中当前图像帧的安全帽佩戴概率进行校正,得到所述循环队列中当前图像帧校正后的安全帽佩戴概率。
在其中一个实施例中,所述根据所述循环队列中每个图像帧的安全帽佩戴概率及各自对应的权重,对所述循环队列中当前图像帧的安全帽佩戴概率进行校正,得到所述循环队列中当前图像帧校正后的安全帽佩戴概率,包括:
根据所述循环队列中的图像帧的拍摄帧率及所述循环队列中每个图像帧与所述当前图像帧的帧数间隔,为所述循环队列中每个图像帧配置权重;
将所述循环队列中每个图像帧的安全帽佩戴概率与各自对应的权重的加权和,作为所述循环队列中当前图像帧校正后的安全帽佩戴概率。
在其中一个实施例中,所述对所述循环队列中的图像帧进行人脸检测,得到所述循环队列中每个图像帧的人脸检测结果,包括:
对所述循环队列中的图像帧进行人脸检测,得到所述循环队列中每个图像帧的人脸区域;
对所述人脸区域进行扩大预设比例得到目标区域,所述目标区域包括佩戴安全帽的区域。
在其中一个实施例中,所述预设分类器模型的生成过程包括:
将训练集输入至初始化的轻量级深层神经网络模型进行训练,所述训练集包括小于第二预设数目的已知佩戴和不佩戴安全帽的图像帧;
通过损失函数调整初始化的轻量级深层神经网络模型的参数,得到预设分类器模型。
在其中一个实施例中,所述方法还包括:
当判断出所述循环队列中当前图像帧校正后的安全帽佩戴概率大于第一阈值,则检测出所述循环队列中当前图像帧中的人员佩戴安全帽。
在其中一个实施例中,所述方法还包括:
判断所述循环队列中每个图像帧最新的安全帽佩戴概率是否大于第一阈值,得到判断结果;
根据所述判断结果得到所述循环队列中最新的安全帽佩戴概率大于第一阈值的图像帧的数目;
当所述图像帧的数目大于预设数目阈值,则检测出所述循环队列中当前图像帧中的人员佩戴安全帽。
在其中一个实施例中,在所述得到所述循环队列中当前图像帧校正后的安全帽佩戴概率之后,还包括:
获取所述循环队列的下一个图像帧作为当前图像帧,将所述循环队列中最早的图像帧删除以更新循环队列;
获取所述循环队列中当前图像帧的安全帽佩戴概率;
根据所述循环队列中每个图像帧的安全帽佩戴概率对所述循环队列中当前图像帧的安全帽佩戴概率进行校正,得到所述循环队列中当前图像帧校正后的安全帽佩戴概率。
一种安全帽佩戴检测装置,包括:
循环队列获取模块,用于获取当前图像帧及所述当前图像帧之前第一预设数目的图像帧作为循环队列;
人脸检测模块,用于对所述循环队列中的图像帧进行人脸检测,得到所述循环队列中每个图像帧的人脸检测结果;
安全帽佩戴概率计算模块,用于将所述循环队列中每个图像帧的人脸检测结果输入至预设分类器模型中计算出每个图像帧的安全帽佩戴概率;
安全帽佩戴概率校正模块,用于根据所述循环队列中每个图像帧的安全帽佩戴概率对所述循环队列中当前图像帧的安全帽佩戴概率进行校正,得到所述循环队列中当前图像帧校正后的安全帽佩戴概率。
一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上方法的步骤。
上述安全帽佩戴检测方法、装置、电子设备、计算机可读存储介质,将所获取的当前图像帧及当前图像帧之前第一预设数目的图像帧作为循环队列。对循环队列中的图像帧进行人脸检测,得到循环队列中每个图像帧的人脸检测结果,将循环队列中每个图像帧的人脸检测结果输入至预设分类器模型中计算出每个图像帧的安全帽佩戴概率。根据循环队列中每个图像帧的安全帽佩戴概率对循环队列中当前图像帧的安全帽佩戴概率进行校正,得到循环队列中当前图像帧校正后的安全帽佩戴概率。
因为从佩戴安全帽的状态变化为不佩戴安全帽的状态或反之,这一变化都需要在一定的时间内才能完成,所以就在计算每一个当前图像帧最终的安全帽佩戴概率的时候,相应地考虑了当前图像帧之前第一预设数目的图像帧的安全帽佩戴概率对当前图像帧最终的安全帽佩戴概率所可能产生的影响。如此,提高了所得到的当前图像帧最终的安全帽佩戴概率的准确性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中安全帽佩戴检测方法的应用环境图;
图2为一个实施例中安全帽佩戴检测方法的流程图;
图3为一个实施例中对当前图像帧的安全帽佩戴概率进行校正方法的流程图;
图4A为一个实施例中对图像帧进行人脸检测出矩形框的示意图;
图4B为另一个实施例中对图像帧进行人脸检测出矩形框的示意图;
图5为另一个实施例中安全帽佩戴检测方法的流程图;
图6为再一个实施例中安全帽佩戴检测方法的流程图;
图7为一个具体的实施例中安全帽佩戴检测方法的流程图;
图8为一个实施例中安全帽佩戴检测装置的结构框图;
图9为另一个实施例中安全帽佩戴检测装置的结构框图;
图10为一个实施例中电子设备的内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。
图1为一个实施例中安全帽佩戴检测方法在充电过程中的应用环境示意图。如图1所示,该应用环境包括电子设备120及服务器140,该电子设备120具有拍照功能,并可以对所拍摄的照片或视频进行分析处理,判断出所拍摄的照片或视频中的人员是否佩戴安全帽,并将未佩戴安全帽的人员的图像上传至服务器140中的数据库进行存储,以便对未佩戴安全帽的人员进行记录,并可以进行警告和处罚。电子设备120可以安装到配送快递或外卖等的车(两轮、三轮车及汽车等交通工具)上,以便对驾驶人员或随行人员进行拍摄照片或视频。当然,电子设备120也可以安装到施工场地等需要检测人员是否佩戴安全帽的场景中,对施工场地进行拍摄照片或视频。电子设备120可以将所获取的当前图像帧及当前图像帧之前第一预设数目的图像帧作为循环队列。对循环队列中的图像帧进行人脸检测,得到循环队列中每个图像帧的人脸检测结果,将循环队列中每个图像帧的人脸检测结果输入至预设分类器模型中计算出每个图像帧的安全帽佩戴概率。根据循环队列中每个图像帧的安全帽佩戴概率对循环队列中当前图像帧的安全帽佩戴概率进行校正,得到循环队列中当前图像帧校正后的安全帽佩戴概率。可以理解的是,上述电子设备120可以不限于是各种具有拍照及处理功能的手机、电脑、可携带设备、数码相机等设备,也可以是具有摄像头的嵌入式设备。
图2为一个实施例中安全帽佩戴检测方法的流程图,如图2所示,安全帽佩戴检测方法包括步骤220至步骤280,应用于电子设备或服务器。
步骤220,将所获取的当前图像帧及当前图像帧之前第一预设数目的图像帧作为循环队列。
当电子设备持续对需要判断是否佩戴安全帽的人员进行拍摄时,获取当前图像帧及当前图像帧之前第一预设数目的图像帧,将所获取的图像帧作为循环队列。即循环队列包括当前图像帧及该当前图像帧之前第一预设数目的图像帧。这里第一预设数目可以根据实际拍摄出的图像帧的质量、图像帧中人物是否处于动态等来确定。第一预设数目可以选择当前图像帧之前n帧图像帧,例如,第一预设数目可以选择当前图像帧之前4帧图像帧。当然,本申请对此不作限定。
该循环队列是随着当前图像帧的不断更新而同步进行更新的,例如,第一预设数目可以选择当前图像帧之前4帧图像帧,每次更新后的循环队列都是包括当前图像帧pre
步骤240,对循环队列中的图像帧进行人脸检测,得到循环队列中每个图像帧的人脸检测结果。
采用人脸检测模型对循环队列中的图像帧进行人脸检测,得到循环队列中每个图像帧的人脸位置信息。例如,人脸位置信息可以是人脸区域上位于上下左右最远的这四个像素点所在的位置信息。将这四个像素点连接就构成了矩形框,对该矩形框向佩戴安全帽的区域的方向进行扩大,使得扩大后的矩形框包含人脸区域和佩戴安全帽的区域,该扩大后的矩形框就是人脸检测结果。人脸检测模型发展的越来越成熟,所以采用目前成熟的人脸识别模型来检测出包括人脸区域和佩戴安全帽的区域的检测速度及检测精确度,都已经明显优于直接检测安全帽区域的算法。所以本申请采用人脸检测模型来检测人脸的方式,可以有效提升安全帽佩戴区域的检测速度及准确性。
在对该矩形框向佩戴安全帽的区域的方向进行扩大的时候,需要参考该图像帧中的人脸区域与安全帽区域的比例及图像帧的拍摄角度等因素来扩大。例如,当正对拍摄时,人脸区域与安全帽区域的比例大概是2:1,此时,当得到了人脸区域的矩形框之后,将该矩形框向上扩大1/2即可。而当处于仰视拍摄(摄像机位于人体的下前方)时,则假设此时人脸区域与安全帽区域的比例大概是5:1,那么当得到了人脸区域的矩形框之后,将该矩形框向上扩大1/5即可。通过该方法先检测到人脸区域所对应的矩形框,进而对该矩形框进行扩大就得到了包括人脸区域及可能包括安全帽区域的矩形框。因为通过人脸检测所得到的人脸区域的矩形框的准确性较高,进而扩大后的包括人脸区域及可能包括安全帽区域的检测框的准确性也较高。
步骤260,将循环队列中每个图像帧的人脸检测结果输入至预设分类器模型中计算出每个图像帧的安全帽佩戴概率。
获取循环队列中每个图像帧的扩大后的矩形框,将循环队列中每个图像帧的扩大后的矩形框输入至预设分类器模型中计算出每个图像帧的安全帽佩戴概率。其中,预设分类器模型为将预设训练集输入至神经网络模型中进行训练所得的分类器模型。
例如,第一预设数目可以选择当前图像帧之前4帧图像帧,则得到了循环队列中当前图像帧pre
步骤280,根据循环队列中每个图像帧的安全帽佩戴概率对循环队列中当前图像帧的安全帽佩戴概率进行校正,得到循环队列中当前图像帧校正后的安全帽佩戴概率。
因为从佩戴安全帽的状态变化为不佩戴安全帽的状态或反之,这一变化都需要在一定的时间内才能完成,是一个渐变的过程。显然,在时间上距离当前图像帧越近的图像帧的安全帽佩戴概率对当前图像帧的安全帽佩戴概率的影响也越大。即只要上一图像帧与当前图像帧的帧数间隔小于预设阈值,则上一图像帧如果是佩戴安全帽,那么当前图像帧佩戴安全帽的概率就是很大的。所以,就可以根据循环队列中每个图像帧的安全帽佩戴概率对循环队列中当前图像帧的安全帽佩戴概率进行校正,得到循环队列中当前图像帧校正后的安全帽佩戴概率。
本申请实施例中,因为通过目前成熟的人脸识别模型来检测出包括人脸区域和佩戴安全帽的区域的检测速度及检测精确度,都已经明显优于直接检测安全帽区域的算法。所以本申请采用人脸检测模型来检测人脸的方式,可以有效提升安全帽佩戴区域的检测速度及准确性。加之,因为从佩戴安全帽的状态变化为不佩戴安全帽的状态或反之,这一变化都需要在一定的时间内才能完成,是一个渐变的过程。所以就在计算每一个当前图像帧最终的安全帽佩戴概率的时候,相应地考虑了当前图像帧之前第一预设数目的图像帧的安全帽佩戴概率对当前图像帧最终的安全帽佩戴概率所可能产生的影响。如此,提高了所得到的当前图像帧最终的安全帽佩戴概率的准确性。
在一个实施例中,根据循环队列中每个图像帧的安全帽佩戴概率对循环队列中当前图像帧的安全帽佩戴概率进行校正,得到循环队列中当前图像帧校正后的安全帽佩戴概率,包括:
根据循环队列中每个图像帧的安全帽佩戴概率及各自对应的权重,对循环队列中当前图像帧的安全帽佩戴概率进行校正,得到循环队列中当前图像帧校正后的安全帽佩戴概率。
具体的,显然,在时间上距离当前图像帧越近的图像帧的安全帽佩戴概率对当前图像帧的安全帽佩戴概率的影响也越大。所以,为循环队列中距离当前图像帧越近的图像帧配置越高的权重。在对经过预设分类器所计算出的当前图像帧的安全帽佩戴概率进行校正时,根据循环队列中每个图像帧的安全帽佩戴概率及各自对应的权重,对循环队列中当前图像帧的安全帽佩戴概率进行校正。就可以让当前图像帧的安全帽佩戴概率受到距离当前图像帧越近的图像帧的安全帽佩戴概率的影响越大。从而,提高了当前图像帧校正后的安全帽佩戴概率的准确性。
本申请实施例中,显然,在时间上距离当前图像帧越近的图像帧的安全帽佩戴概率对当前图像帧的安全帽佩戴概率的影响也越大。所以,为循环队列中距离当前图像帧越近的图像帧配置越高的权重。然后,根据循环队列中每个图像帧的安全帽佩戴概率及各自对应的权重,对循环队列中当前图像帧的安全帽佩戴概率进行校正。从而,提高了当前图像帧校正后的安全帽佩戴概率的准确性。
在一个实施例中,如图3所示,根据循环队列中每个图像帧的安全帽佩戴概率及各自对应的权重,对循环队列中当前图像帧的安全帽佩戴概率进行校正,得到循环队列中当前图像帧校正后的安全帽佩戴概率,包括:
步骤320,根据循环队列中的图像帧的拍摄帧率及循环队列中每个图像帧与当前图像帧的帧数间隔,为循环队列中每个图像帧配置权重;
步骤340,将循环队列中每个图像帧的安全帽佩戴概率与各自对应的权重的加权和,作为循环队列中当前图像帧校正后的安全帽佩戴概率。
其中,图像帧的拍摄帧率就是相机每秒所拍摄图片的数量,这些图片连续播放形成动态变成视频。帧率(Frame rate)=帧数(Frames)/时间(Time),单位为帧每秒(f/s,frames per second,fps)。帧率是用于测量显示帧数的量度,一般用fps来描述视频、电子绘图或游戏每秒播放多少帧。
具体的,根据循环队列中的图像帧的拍摄帧率及循环队列中每个图像帧与当前图像帧的帧数间隔,为循环队列中每个图像帧配置权重。假设相机的最大拍摄帧率为maxfps,相机拍摄循环队列中的图像帧时候的拍摄帧率为fps。则由以下公式对循环队列中每个图像帧配置权重:
其中,
显然,
且在配置权重的时候考虑了相机拍摄循环队列中的图像帧时候的拍摄帧率为fps对权重的影响。即相机拍摄循环队列中的图像帧时候的拍摄帧率为fps越大,则计算权值公式中的底数A越大,则权重就越大。
在根据循环队列中的图像帧的拍摄帧率及循环队列中每个图像帧与当前图像帧的帧数间隔,为循环队列中每个图像帧配置权重之后,将循环队列中每个图像帧的安全帽佩戴概率与各自对应的权重的加权和,作为循环队列中当前图像帧校正后的安全帽佩戴概率。即通过公式(1-3)来计算出循环队列中每个图像帧的安全帽佩戴概率与各自对应的权重的加权和,该加权和即为当前图像帧校正后的安全帽佩戴概率。
本申请实施例中,在为循环队列中每个图像帧配置权重的时候,考虑了循环队列中的图像帧的拍摄帧率及循环队列中每个图像帧与当前图像帧的帧数间隔这两个因素。从而,为距离当前图像帧最远的pre
在一个实施例中,对循环队列中的图像帧进行人脸检测,得到循环队列中每个图像帧的人脸检测结果,包括:
对循环队列中的图像帧进行人脸检测,得到循环队列中每个图像帧的人脸区域;
对人脸区域进行扩大预设比例得到目标区域,目标区域包括佩戴安全帽的区域。
具体的,采用人脸检测模型对循环队列中的图像帧进行人脸检测,得到循环队列中每个图像帧的人脸区域。其中,采用人脸检测模型对循环队列中的图像帧进行人脸检测的方式,相比较于传统的对安全帽区域进行检测的方式,检测速度更快,效率更高。例如,采用人脸检测模型进行人脸检测,在intel core i5cpu上处理单帧图像耗时在40ms左右,在低端边缘计算处理器(如:mtk8665)上处理单帧图像耗时在130ms左右,使得在低端边缘处理器大面积部署该功能成为可能。
具体的,人脸区域可以用所检测到的人脸上位于上下左右最远的这四个像素点所构成的矩形框表示。对该矩形框进行扩大预设比例得到扩大后的矩形框,该扩大后的矩形框即为目标区域,目标区域中包括佩戴安全帽的区域。为了检测出人员不仅佩戴了安全帽,并且检查出是否正确佩戴了安全帽,因此,对该矩形框进行扩大预设比例得到扩大后的矩形框的时候,可以沿着人脸区域所对应的矩形框向四周扩大,使之不仅包括安全帽的主体区域,还包括帽带区域。
如图4A及图4B所示,图中人脸上中间白色的小矩形框便是人脸区域的矩形框,白色的小矩形框外面所套设的灰色矩形框便是向四周扩大所形成的包括了安全帽的主体区域,还包括帽带区域的矩形框。例如图4B所示,若该人员正确佩戴了安全帽,则在图4B灰色矩形框中便包括了安全帽的主体区域,还包括帽带区域。图4A该人员未佩戴了安全帽,则在图4B灰色矩形框中便未检测到安全帽的主体区域,也未检测到帽带区域。
在对该矩形框进行扩大预设比例时,需要参考该图像帧中的人脸区域与安全帽区域的比例及图像帧的拍摄角度等来配置预设比例,当然还可以参考其他参数,本申请对此不作限定。例如,当正对拍摄时,人脸区域与安全帽区域的比例大概是2:1,此时,当得到了人脸区域的矩形框之后,将该矩形框向上扩大1/2比例,将该矩形框向下扩大1/4比例,将该矩形框向左扩大1/4比例,将该矩形框向右扩大1/4比例即可。因为安全帽的主体区域所占的面积较大,而帽带区域所占的比例较小,所以向帽带区域扩大的比例较小。当然,本申请并不对上述数值进行限定。
而当处于仰视拍摄(摄像机位于人体的下前方)时,则假设此时人脸区域与安全帽区域的比例大概是5:1,那么当得到了人脸区域的矩形框之后,将该矩形框向上扩大1/5比例,将该矩形框向下扩大1/4比例,将该矩形框向左扩大1/4比例,将该矩形框向右扩大1/4比例即可。当然,本申请并不对上述数值进行限定。
本申请实施例中,对循环队列中的图像帧进行人脸检测,得到循环队列中每个图像帧的人脸区域的矩形框。再对人脸区域的矩形框进行扩大预设比例得到目标区域,使得目标区域不仅包括佩戴安全帽的区域,还包括帽带区域。如此,则在确保完整地获取到目标区域后,就给后续进行图像识别判断出是否正确佩戴了安全帽做了铺垫,提高了后续所判断出是否佩戴了安全帽及是否正确佩戴了安全帽的准确率。
在一个实施例中,预设分类器模型的生成过程包括:
将训练集输入至初始化的轻量级深层神经网络模型进行训练,训练集包括小于第二预设数目的已知佩戴和不佩戴安全帽的图像帧;
通过损失函数调整初始化的轻量级深层神经网络模型的参数,得到预设分类器模型。
具体的,本申请中采用的轻量级深层神经网络模型为SqueezeNet模型,只需要较少的数据作为训练集,将训练集输入至初始化的SqueezeNet模型进行训练。根据损失函数计算出损失值,通过梯度下降的方法使损失值收敛来调整初始化的SqueezeNet模型的参数,得到预设分类器模型。训练集中包括小于第二预设数目的已知佩戴和不佩戴安全帽的图像帧,该第二预设数目可以是能够训练出预设分类器模型的图像帧的数目,例如,可以将第二预设数目配置为1001,当然,本申请并不对该数值进行限定。总之,通过初始化的SqueezeNet模型进行训练出预设分类器模型,并不需要成千上万的图像帧作为训练集。
本申请实施例中,采用的轻量级深层神经网络模型为SqueezeNet模型,只需要较少的数据作为训练集,将训练集输入至初始化的SqueezeNet模型进行训练即可得出预设分类器模型。因为只需要较少的数据作为训练集,所以大大降低了训练过程中的难度,节约了资源,提高了效率。
在一个实施例中,如图5所示,提供了一种安全帽佩戴检测方法,还包括:
步骤290,当判断出循环队列中当前图像帧校正后的安全帽佩戴概率大于第一阈值,则检测出循环队列中当前图像帧中的人员佩戴安全帽。
本申请实施例中,将所获取的当前图像帧及当前图像帧之前第一预设数目的图像帧作为循环队列。对循环队列中的图像帧进行人脸检测,得到循环队列中每个图像帧的人脸检测结果,将循环队列中每个图像帧的人脸检测结果输入至预设分类器模型中计算出每个图像帧的安全帽佩戴概率。根据循环队列中每个图像帧的安全帽佩戴概率对循环队列中当前图像帧的安全帽佩戴概率进行校正,得到循环队列中当前图像帧校正后的安全帽佩戴概率。当判断出循环队列中当前图像帧校正后的安全帽佩戴概率大于第一阈值,则检测出循环队列中当前图像帧中的人员佩戴安全帽及是否正确佩戴安全帽。这里的第一阈值,可以根据实际中的经验值对应设置,例如设置为0.8。当然,本申请并不对该数值进行限定。
在一个实施例中,提供了一种安全帽佩戴检测方法,包括:
判断所述循环队列中每个图像帧最新的安全帽佩戴概率是否大于第一阈值,得到判断结果;
根据所述判断结果得到所述循环队列中最新的安全帽佩戴概率大于第一阈值的图像帧的数目;
当所述图像帧的数目大于预设数目阈值,则检测出所述循环队列中当前图像帧中的人员佩戴安全帽。
具体的,在经过上述方法计算出了循环队列中每个图像帧的安全帽佩戴概率之后,判断所述循环队列中每个图像帧最新的安全帽佩戴概率是否大于第一阈值。这里的第一阈值,可以根据实际中的经验值对应设置,例如设置为0.8。当然,本申请并不对该数值进行限定。
对所述循环队列中每个图像帧进行判断之后,统计循环队列中最新的安全帽佩戴概率大于第一阈值的图像帧的数目。当所统计出的图像帧的数目大于预设数目阈值,则检测出所述循环队列中当前图像帧中的人员佩戴安全帽。例如,可以通过判断循环队列中每个图像帧最新的安全帽佩戴概率是否大于第一阈值,当大于第一阈值则说明佩戴安全帽的概率较大,则对该图像帧的记录是否佩戴安全帽的字符置1。相反,当小于或等于第一阈值则说明佩戴安全帽的概率较小,则对该图像帧的记录是否佩戴安全帽的字符置0。然后,对循环队列中图像帧的记录是否佩戴安全帽的字符进行计算加权和,当加权和大于预设数目阈值,则检测出所述循环队列中当前图像帧中的人员佩戴安全帽。
本申请实施例中,在根据所述循环队列中每个图像帧的安全帽佩戴概率对所述循环队列中当前图像帧的安全帽佩戴概率进行校正,得到所述循环队列中当前图像帧校正后的安全帽佩戴概率之后,判断所述循环队列中每个图像帧最新的安全帽佩戴概率是否大于第一阈值,得到判断结果。然后得到所述循环队列中最新的安全帽佩戴概率大于第一阈值的图像帧的数目,当所述图像帧的数目大于预设数目阈值,则检测出所述循环队列中当前图像帧中的人员佩戴安全帽。
在对当前帧的安全帽佩戴概率进行校正的时候,参考了循环队列中所有图像帧的安全帽佩戴概率。然后,在判断循环队列中当前图像帧中的人员是否佩戴安全帽的时候,也参考了循环队列中每个图像帧根据自己的安全帽佩戴概率所得出的是否佩戴安全帽的情况。这样,从计算当前帧的安全帽佩戴概率、判断循环队列中当前图像帧中的人员是否佩戴安全帽这两个维度,都参考了循环队列中所有图像帧的相关数值。因此,就更进一步提高了最终所计算出的当前图像帧中的人员是否佩戴安全帽的准确性。
在一个实施例中,如图6所示,在得到循环队列中当前图像帧校正后的安全帽佩戴概率之后,还包括:
步骤620,获取循环队列的下一个图像帧作为当前图像帧,将循环队列中最早的图像帧删除以更新循环队列;
步骤640,获取循环队列中当前图像帧的安全帽佩戴概率;
步骤660,根据循环队列中每个图像帧的安全帽佩戴概率对循环队列中当前图像帧的安全帽佩戴概率进行校正,得到循环队列中当前图像帧校正后的安全帽佩戴概率。
在第一次计算当前图像帧校正后的安全帽佩戴概率时,循环队列包括当前图像帧及当前图像帧之前第一预设数目的图像帧。此时,循环队列中每个图像帧的安全帽佩戴概率为采用预设分类器模型所计算出来的。然后,根据循环队列中每个图像帧的安全帽佩戴概率对循环队列中当前图像帧的安全帽佩戴概率进行校正,得到循环队列中当前图像帧校正后的安全帽佩戴概率。
此时,获取循环队列的下一个图像帧作为当前图像帧,将循环队列中最早的图像帧删除以更新循环队列。该循环队列中除了此时的当前图像帧的安全帽佩戴概率未知之外,其他图像帧的安全帽佩戴概率都是已知的。那么通过预设分类器计算出此时的当前图像帧的安全帽佩戴概率。此时的当前图像帧的上一帧图像帧的安全帽佩戴概率为经过校正之后的概率。
最后,根据循环队列中每个图像帧的安全帽佩戴概率对循环队列中当前图像帧的安全帽佩戴概率进行校正,得到循环队列中当前图像帧校正后的安全帽佩戴概率。
如此循环直到计算出视频的最后一帧图像帧的安全帽佩戴概率。
本申请实施例中,不断对循环队列进行更新的同时,不断通过之前的图像帧的安全帽佩戴概率对当前图像帧的安全帽佩戴概率进行校正,从而提高每一次所计算出的当前图像帧的安全帽佩戴概率的准确性。从而,检测出循环队列中当前图像帧中的人员是否佩戴安全帽及是否正确佩戴安全帽。
在一个具体的实施例中,如图7所示,提供了一种安全帽佩戴检测方法,包括:
步骤702,获取快递人员驾驶车辆时候的视频流,进入步骤704;
步骤704,对视频流中的图像帧进行人脸检测,进入步骤706;
步骤706,判断视频流中的图像帧是否存在人脸;若是,则进入步骤708;若否,则返回至步骤704;
步骤708,对前n帧图像帧中人脸检测所得的矩形框进行按预设比例扩大,得到扩大后的矩形框,进入步骤710;
步骤710,将扩大后的矩形框输入至预设分类算法,计算出前n帧图像帧的安全帽佩戴概率,由前n帧图像帧及对应的安全帽佩戴概率构成循环队列,进入步骤712;
步骤712,判断循环队列是否完成初始化,若是,则进入步骤714;若否,则返回至步骤704;
步骤714,将所述循环队列中每个图像帧的安全帽佩戴概率与各自对应的权重的加权和,作为所述循环队列中当前图像帧校正后的安全帽佩戴概率,进入步骤716;
步骤716,判断循环队列中当前图像帧校正后的安全帽佩戴概率是否大于第一阈值,进入步骤718;
步骤718,输出该当前图像帧为佩戴安全帽状态或为未佩戴安全帽状态,进入步骤720;
步骤720,获取循环队列的下一个图像帧作为当前图像帧,将循环队列中最早的图像帧删除以更新循环队列,进入步骤722;
步骤722,获取当前图像帧的扩大后的矩形框,将扩大后的矩形框输入至预设分类算法,计算出当前图像帧的安全帽佩戴概率,返回至步骤712,判断循环队列是否完成初始化。
本申请实施例中,不断对循环队列进行更新的同时,不断通过之前的图像帧的安全帽佩戴概率对当前图像帧的安全帽佩戴概率进行校正,从而提高每一次所计算出的当前图像帧的安全帽佩戴概率的准确性。从而,检测出循环队列中当前图像帧中的人员是否佩戴安全帽及是否正确佩戴安全帽。
应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种安全帽佩戴检测装置800,包括:循环队列获取模块820、人脸检测模块840、安全帽佩戴概率计算模块860及安全帽佩戴概率校正模块880,其中,
循环队列获取模块820,用于获取当前图像帧及当前图像帧之前第一预设数目的图像帧作为循环队列;
人脸检测模块840,用于对循环队列中的图像帧进行人脸检测,得到循环队列中每个图像帧的人脸检测结果;
安全帽佩戴概率计算模块860,用于将循环队列中每个图像帧的人脸检测结果输入至预设分类器模型中计算出每个图像帧的安全帽佩戴概率;
安全帽佩戴概率校正模块880,用于根据循环队列中每个图像帧的安全帽佩戴概率对循环队列中当前图像帧的安全帽佩戴概率进行校正,得到循环队列中当前图像帧校正后的安全帽佩戴概率。
在一个实施例中,安全帽佩戴概率校正模块880,还用于根据循环队列中每个图像帧的安全帽佩戴概率及各自对应的权重,对循环队列中当前图像帧的安全帽佩戴概率进行校正,得到循环队列中当前图像帧校正后的安全帽佩戴概率。
在一个实施例中,安全帽佩戴概率校正模块880,还用于根据循环队列中的图像帧的拍摄帧率及循环队列中每个图像帧与当前图像帧的帧数间隔,为循环队列中每个图像帧配置权重;将循环队列中每个图像帧的安全帽佩戴概率与各自对应的权重的加权和,作为循环队列中当前图像帧校正后的安全帽佩戴概率。
在一个实施例中,人脸检测模块840,还用于对循环队列中的图像帧进行人脸检测,得到循环队列中每个图像帧的人脸区域;对人脸区域进行扩大预设比例得到目标区域,目标区域包括佩戴安全帽的区域。
在一个实施例中,如图9所示,提供了一种安全帽佩戴检测装置800,还包括:预设分类器模型生成模块890,用于将训练集输入至初始化的轻量级深层神经网络模型进行训练,训练集包括小于第二预设数目的已知佩戴和不佩戴安全帽的图像帧;通过损失函数调整初始化的轻量级深层神经网络模型的参数,得到预设分类器模型。
在一个实施例中,提供了一种安全帽佩戴检测装置800,还包括:判断模块,用于当判断出循环队列中当前图像帧校正后的安全帽佩戴概率大于第一阈值,则检测出循环队列中当前图像帧中的人员佩戴安全帽。
在一个实施例中,提供了一种安全帽佩戴检测装置800,还包括:循环模块,用于获取循环队列的下一个图像帧作为当前图像帧,将循环队列中最早的图像帧删除以更新循环队列;获取循环队列中当前图像帧的安全帽佩戴概率;根据循环队列中每个图像帧的安全帽佩戴概率对循环队列中当前图像帧的安全帽佩戴概率进行校正,得到循环队列中当前图像帧校正后的安全帽佩戴概率。
上述安全帽佩戴检测装置中各个模块的划分仅用于举例说明,在其他实施例中,可将安全帽佩戴检测装置按照需要划分为不同的模块,以完成上述安全帽佩戴检测装置的全部或部分功能。
图10为一个实施例中电子设备的内部结构示意图。如图10所示,该电子设备包括通过系统总线连接的处理器和存储器。其中,该处理器用于提供计算和控制能力,支撑整个电子设备的运行。存储器可包括非易失性存储介质及内存储器。非易失性存储介质存储有操作系统和计算机程序。该计算机程序可被处理器所执行,以用于实现以下各个实施例所提供的一种安全帽佩戴检测方法。内存储器为非易失性存储介质中的操作系统计算机程序提供高速缓存的运行环境。该电子设备可以是手机、平板电脑或者个人数字助理或穿戴式设备等。
本申请实施例中提供的安全帽佩戴检测装置中的各个模块的实现可为计算机程序的形式。该计算机程序可在终端或服务器上运行。该计算机程序构成的程序模块可存储在终端或服务器的存储器上。该计算机程序被处理器执行时,实现本申请实施例中所描述方法的步骤。
本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当计算机可执行指令被一个或多个处理器执行时,使得处理器执行安全帽佩戴检测方法的步骤。
一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行安全帽佩戴检测方法。
本申请实施例所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。合适的非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM),它用作外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
- 安全帽佩戴检测方法和装置、电子设备、计算机可读存储介质
- 安全帽、佩戴状态检测方法及装置、计算机可读存储介质