本发明涉及图像处理与识别,更具体地说,它涉及一种安全帽佩戴检测方法。
背景技术:
被坠落的物体击中是所有工业部门的潜在危害,导致了许多工伤和死亡案例。佩戴安全帽能有效的减少坠落的物体对人员造成的伤害。因此,在建筑业、制造业、油田和化工厂等企业的施工场合强制规定作业人员必须佩戴安全帽。传统的用于施工现场的安全帽检测方法是先将工人图像从图片中提取出来,再从工人图像中提取头部区域,从头部区域判断该工人是否佩戴安全帽。这种方法的检测精度依赖于行人检测算法的精度,且对于每种特定场景,往往都需要重新训练检测模型,鲁棒性差、不能适应复杂的环境。
技术实现要素:
本发明要解决的技术问题是针对现有技术的上述不足,本发明的目的是提供一种鲁棒性好、适应性好的安全帽佩戴检测方法。
本发明的技术方案是:一种安全帽佩戴检测方法,其特征在于,所述方法包括:
获取施工现场的原始图像,通过图像变换将所述原始图像扩增n倍得到扩增图像;
对所述扩增图像标注安全帽信息;
将所述原始图像、扩增图像以及安全帽信息输入目标检测网络学习并进行图像特征提取得到人脸特征;
根据所述人脸特征得到人脸框图;
根据所述人脸框图确定头部区域,并在所述头部区域内进行安全帽检测。
作为进一步地改进,所述图像变换包括图像亮度变换和镜像变换。
进一步地,所述图像亮度变换具体为:
其中,g(x,y)为扩增图像x行、y列的像素值,f(x,y)为原始图像x行、y列的像素值,
进一步地,所述镜像变换为水平镜像,具体为:
其中,(x0,y0)为原始图像的坐标,(x1,y1)为镜像操作后的坐标,w为原始图像宽度。
进一步地,所述安全帽信息包括标注框、标签信息,其中,额头为所述标注框的下边缘,头顶或安全帽帽顶为所述标注框的上边缘,头宽或者帽宽为所述标注框的宽度,未佩戴安全帽对应的标签信息为0,佩戴安全帽对应的标签信息为1。
进一步地,所述目标检测网络为卷积神经网络,所述图像特征提取过程采用经过通道压缩的17个卷积层和一系列能使网络加速收敛的bn层。
进一步地,所述根据所述人脸特征得到人脸框图具体为:
将所述人脸特征结合回归网络和分类网络对人脸位置进行回归定位,同时,连接多个不同尺度的特征图融合对人脸进行检测得到人脸框图。
进一步地,所述根据所述人脸框图确定头部区域具体为:
其中,(x00,y00)为人脸框图的左上坐标、(x01,y01)为人脸框图的右下坐标,(x10,y10)为头部区域的左上坐标、(x11,y11)为头部区域的右下坐标。
进一步地,所述在所述头部区域内进行安全帽检测具体为:
获取所述头部区域的截图;
将所述截图输入卷积神经网络,采用经过通道压缩的8个卷积层和一系列能使网络加速收敛性的bn层提取安全帽特征;
将所述安全帽特征结合回归网络和分类网络对安全帽位置进行回归定位,并判断是否佩戴安全帽。
有益效果
本发明与现有技术相比,具有的优点为:本发明通过将施工现场的原始图像扩增后,提取人脸特征并得到人脸框图,在人脸框图内确定头部区域,并在头部区域内进行安全帽检测;与传统技术中要将工人图像从图片中提取出来的方法相比,本发明无需提取工人图像,可以使得检测输入图像大大减小,检测区域大大减小,图像特征提取速度快,特征提取网络简单,从而既提高安全帽检测效率,也大大提高安全帽检测准确率。该方法能够适应多种施工现场,鲁棒性强、适应性好,可以有效提高施工现场安全帽检测的准确性与易行性,从而及时发现未佩戴安全帽的工人、保障工人安全。
附图说明
图1为本发明的检测流程示意图;
图2为本发明中人脸检测卷积神经网络原理图;
图3为本发明中安全帽检测卷积神经网络原理图。
具体实施方式
下面结合附图中的具体实施例对本发明做进一步的说明。
参阅图1-3,一种安全帽佩戴检测方法,方法包括:
获取施工现场的原始图像,通过图像变换将原始图像扩增n倍得到扩增图像,可以根据实际情况设定n的大小,在本实施例中,n等于3;
对扩增图像标注安全帽信息;
将原始图像、扩增图像以及安全帽信息输入目标检测网络学习并进行图像特征提取得到人脸特征;
根据人脸特征得到人脸框图;
根据人脸框图确定头部区域,并在头部区域内进行安全帽检测。
图像变换包括图像亮度变换和镜像变换。图像亮度变换具体为:
其中,g(x,y)为扩增图像x行、y列的像素值,f(x,y)为原始图像x行、y列的像素值,
镜像变换为水平镜像,具体为:
x1=x0,y1=w-y0
用矩阵表示为:
其中,(x0,y0)为原始图像的坐标,(x1,y1)为镜像操作后的坐标,w为原始图像宽度。经过图像亮度变换和镜像变换后,最终图像数量扩增为原来的3倍。
安全帽信息包括标注框、标签信息,其中,额头为标注框的下边缘,头顶或安全帽帽顶为标注框的上边缘,头宽或者帽宽为标注框的宽度,未佩戴安全帽对应的标签信息为0,佩戴安全帽对应的标签信息为1。
目标检测网络为卷积神经网络,先将原始图像、扩增图像以及安全帽信息中的标签信息转成lmdb格式后再输入卷积神经网络,图像大小resize为384*384,图像特征提取过程采用经过通道压缩的17个卷积层和一系列能使网络加速收敛的bn层。通道压缩的17个卷积层特征图输出通道分别为8、16、16、64、64、64、64、64、32、64、64、64、32、64、64、64、64,该网络所有权重均随机初始化。得到一系列的人脸特征后,根据人脸特征得到人脸框图具体为:将人脸特征结合回归网络和分类网络对人脸位置进行回归定位,同时,连接多个不同尺度的特征图融合对人脸进行检测得到人脸框图。人脸位置回归误差函数采用smoothl1loss,具体算法为:
其中n是先验框的正样本数量。这里
由于
作为优选,不同尺度的特征图为5个,5个不同尺度的特征图的尺寸分别为19*19、10*10、5*5、3*3、1*1像素,连接5个不同尺度的特征图同时对扩增图像进行检测得到人脸框图,大大提高了精度。
使用softmax分类器解决人脸分类问题,人脸类别具体为人脸类别或非人脸类别,softmax具体算法为:
类标y可以取k个不同的值,对于训练集{(x(1),y(1)),...,(x(m),y(m))},得到有y(i)∈{1,2,...,k},此处的类别下标从1开始,而不是0。
对于给定的测试输入x,使用假设函数针对每一个类别j估算出概率值p(y=j|x),即估计x的每一种分类结果出现的概率,因此,假设函数将要输出一个k维的向量来表示这k个估计的概率值,向量元素的和为1。假设函数hθ(x)如下:
其中
为了方便起见,同样使用符号θ来表示全部的模型参数,在实现softmax回归时,将θ用一个k×(n+1)的矩阵来表示会很方便,该矩阵是将θ1,θ2,…θk按行罗列起来得到的,如下所示:
下面公式为softmax的代价函数:
通过添加一个权重衰减项
有了这个权重衰减项以后(λ>0),代价函数就变成了严格的凸函数,可以保证得到唯一的解。此时的hessian矩阵变为可逆矩阵,并且因为j(θ)是凸函数,梯度下降法和l-bfgs等算法可以保证收敛到全局最优解。
为了使用优化算法,需要求得这个新函数j(θ)的导数,如下:
通过最小化j(θ)就实现一个可用的softmax分类模型。
根据人脸框图确定头部区域具体为:
其中,(x00,y00)为人脸框图的左上坐标、(x01,y01)为人脸框图的右下坐标,(x10,y10)为头部区域的左上坐标、(x11,y11)为头部区域的右下坐标。
在头部区域内进行安全帽检测具体为:
获取头部区域的截图;
将截图输入卷积神经网络,采用经过通道压缩的8个卷积层和一系列能使网络加速收敛性的bn层提取安全帽特征;作为优选,可以先将截图大小resize为32*32再输入卷积神经网络以提高检测精度和速度,8个卷积层输出通道分别为4、4、8、16、16、16、32、16;
将安全帽特征结合回归网络和分类网络对安全帽位置进行回归定位,并判断是否佩戴安全帽;安全帽检测的回归误差函数采用smoothl1loss,安全帽分类器采用softmax分类器;当检测安全帽类别为未佩戴安全帽类别时,即标签信息为0时,进行自动报警提示。
本发明通过将施工现场的原始图像扩增后,提取人脸特征并得到人脸框图,在人脸框图内确定头部区域,并在头部区域内进行安全帽检测;与传统技术中要将工人图像从图片中提取出来的方法相比,本发明无需提取工人图像,可以使得检测输入图像大大减小,检测区域大大减小,图像特征提取速度快,特征提取网络简单,从而既提高安全帽检测效率,也大大提高安全帽检测准确率。该方法能够适应多种施工现场,鲁棒性强、适应性好,可以有效提高施工现场安全帽检测的准确性与易行性,从而及时发现未佩戴安全帽的工人、保障工人安全。
以上仅是本发明的优选实施方式,应当指出对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进,这些都不会影响本发明实施的效果和专利的实用性。