发明内容
本发明所要解决的技术问题:目前对施工人员劳动状态识别准确度低的技术问题。提出了一种基于时空特征的双流工人劳动状态识别方法,通过提取关节点信息和骨架信息的空间特征和时间特征,同时关注空间维度和时间维度的变化,提升识别准确率。此外,将视频数据采用低帧率和高帧率双分支输入,低帧率输入用于捕捉细节语义信息,高帧率输入用于响应快速变化。
解决上述技术问题,本发明采用如下技术方案:基于时空特征的双流工人劳动状态识别方法,包括以下步骤:
预设若干个劳动状态,获取若干个劳动图像样本,建立人体关节识别模型;
获取工人劳动视频,将视频的图像帧输入人体关节识别模型,获得人体关节位置;
根据人体关节位置建立关节点数据和骨骼数据,人工将关节点数据和骨骼数据标注劳动状态作为样本数据;
建立第一时空特征模型和第二时空特征模型;
将关节点数据输入第一时空特征模型进行训练及测试,获得训练后的第一时空特征模型;
将骨骼数据输入第二时空特征模型进行训练及测试,获得训练后的第二时空特征模型;
获取工人劳动的实时视频,截取实时视频预设长度的图像帧,记为实时帧组;
将所述实时帧组输入人体关节识别模型,获得人体关节位置;
根据实时帧组对应的人体关节位置建立关节点数据和骨骼数据;
将实时帧组对应的关节点数据和骨骼数据分别输入第一时空特征模型和第二时空特征模型;
将第一时空特征模型和第二时空特征模型输出的劳动状态概率分布加权求和,获得最终的劳动状态概率分布,概率最大的劳动状态为最终工人劳动状态识别结果。
作为优选,建立关节点数据的方法包括以下步骤:
制定人体关节类型排序,将人体关节位置依照人体关节类型排序排列;
将人体关节位置数据按照排序添加间隔符拼接作为关节点数据。
作为优选,建立骨骼数据的方法包括以下步骤:
制定人体关节类型排序,将人体关节位置依照人体关节类型排序排列;
制定人体骨骼排序,以人体骨骼两端的人体关节位置作为人体骨骼位置数据;
将人体关节位置数据按照排序添加间隔符拼接作为关节点数据;
将人体骨骼位置数据按照排序添加间隔符拼接在关节点数据之后,作为骨骼数据。
作为优选,所述第一时空特征模型和第二时空特征模型均包括多组图卷积网络模型和时域残差网络模型,所述第一时空特征模型的第一组的图卷积网络模型的输入为关节点数据,所述第二时空特征模型的第一组的图卷积网络模型的输入为骨骼数据,所述第一时空特征模型和第二时空特征模型的最后一组的时域残差网络模型输出劳动状态分布概率。
作为优选,所述第一时空特征模型和第二时空特征模型均包括低频组和高频组,所述低频组及高频组分别包括多组图卷积网络模型和时域残差网络模型,所述低频组的图卷积网络模型以预设间隔跳过关节点数据或者骨骼数据,所述低频组和高频组的最后一组的时域残差网络模型均输出劳动状态分布概率,计算低频组和高频组输出劳动状态分布概率的加权和,最终的劳动状态分布概率。
作为优选,将第一时空特征模型和第二时空特征模型输出的劳动状态概率分布加权求和的方法包括:
分别计算第一时空特征模型和第二时空特征模型输出的劳动状态概率分布的最高值,记为最高概率值;
筛选第一时空特征模型和第二时空特征模型输出的劳动状态概率分布中,高于预设概率阈值的劳动状态作为筛选集合,计算筛选集合中劳动状态的分布概率的均值,记为筛选概率值;
分别计算第一时空特征模型和第二时空特征模型的最高概率值与筛选概率值的商,分别作为第一时空特征模型和第二时空特征模型输出的劳动状态概率分布加权求和的权重。
作为优选,建立人体关节识别模型的方法包括以下步骤:
设置人体关节类型集合,设置人体关节类型集合中每个人体关节类型的图像模板;
从人体关节类型集合中选择若干个人体关节类型纳入易识别集合;
建立每个类型的人体关节与易识别集合中每个类型的人体关节的相对位置区域,记为相对区域;
读取带有人体关节类型及位置标注的样本图像;
建立图像分类模型,所述图像分类模型的输入为图像区域,输出为图像区域内出现的人体关节类型及位置;
建立调度模型,所述调度模型将待识别图像输入所述图像分类模型,获得图像分类模型识别出的人体关节类型及位置;
所述调度模型根据图像分类模型识别出的人体关节类型、位置及相对区域,获得未识别出的人体关节相对已识别出的人体关节的相对位置区域;
将相对位置区域内的图像输入所述图像分类模型,识别全部人体关节及其位置;
所述图像分类模型及调度模型构成人体关节识别模型。
作为优选,选择纳入易识别集合的人体关节类型的方法包括:
建立图像预分类模型,所述图像预分类模型的输入为带有任意人体关节的图像,所述图像预分类模型的输出为图像中出现的人体关节类型及位置;
将多个带有人体关节类型及位置标注的样本图像划分为训练集和测试集;
使用训练集训练所述图像预分类模型;
使用测试集测试所述图像预分类模型,获得测试集下,每个人体关节类型的分类准确率;
将分类准确率高于预设阈值的人体关节类型纳入易识别集合。
作为优选,所述易识别集合中的人体关节类型按照分类准确率降序排列;
所述调度模型将待识别图像输入所述图像分类模型后,读取图像分类模型识别出的若干个人体关节类型及位置;
获得分类准确率最高的人体关节类型及位置,作为参照关节;
根据参照关节和相对区域,获得未识别出的人体关节与参照关节的相对位置区域。
作为优选,建立相对区域的方法包括:
读取多个样本图像,以易识别集合中的人体关节类型为参照关节,获得其他类型的人体关节与参照关节的相对位置集合;
构建人体关节与参照关节的相对位置集合的外接矩形,作为对应人体关节类型与参照关节的相对区域。
作为优选,截取实时帧组的方法包括:
从获得的工人劳动的实时视频中截取多个预设长度的图像帧,获得多个实时帧组;
从实时帧组中随机选择预设数量个图像帧,将图像帧输入图像分类模型,获得图像分类模型的输出结果;
统计每个实时帧组中选择的图像帧中识别出的人体关节数量的总和,将总和最高的实时帧组作为实时视频中截取的实时帧组。
本发明的有益技术效果包括:1)通过从视频包含的图像帧中提取关节点数据,生成骨骼数据,将关节点数据和骨骼数据分别输入第一时空特征模型和第二时空特征模型,将获得的劳动状态概率分布加权求和,实现最终劳动状态的识别,通过两组数据提高了劳动状态的识别准确度;
2)使用多组串联连接的图卷积网络模型和时域残差网络模型分别提取空间图形信息和时域上的动作信息,实现两个维度的劳动状态特征提取,通过增加特征维度提高劳动状态识别准确度;
3)通过建立两组图卷积网络模型和时域残差网络模型,分别作为低频组和高频组,针对高频动作特征和低频形态特征进行分别提取和融合,既提高了劳动状态识别的准确度,同时提高了鲁棒性。
本发明的其他特点和优点将会在下面的具体实施方式、附图中详细的揭露。
具体实施方式
下面结合本发明实施例的附图对本发明实施例的技术方案进行解释和说明,但下述实施例仅为本发明的优选实施例,并非全部。基于实施方式中的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得其他实施例,都属于本发明的保护范围。
在下文描述中,出现诸如术语“内”、“外”、“上”、“下”、“左”、“右”等指示方位或者位置关系仅是为了方便描述实施例和简化描述,而不是指示或暗示所指的装置或者元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在介绍本实施例技术方案之前,对本实施例应用的场景及相关技术做介绍。
名词解释:图卷积神经网络(GCN,Graph Convolutional Network)。
建筑行业属于高危行业,建筑施工现场存在的诸多安全风险因素导致安全事故时有发生,这不仅威胁着工人的生命安全,还会给企业和社会造成重大损失。虽然业内已经发展出了一些对施工现场进行监控和进行安全管控的方案。但多以人员身份识别、人员位置区域管控、危险源识别及环境监控等方式进行,这些方案对人员的安全管控精细度不足,不能识别施工人员当前进行的施工活动,难以及时发现施工人员在施工中的违规或者危险操作及行为。如施工人员操作设备时,动作不符合规范,容易导致出现危险时,现有的安全管控技术将无法有效识别施工人员的具体动作,进而无法识别安全隐患。
随着精细化管理的推进和计算机技术的发展,使用自动化的管理软件,对施工质量进行精细化的管控成为目前业内的发展趋势。通过对施工质量的精细化管理,提高建筑施工质量,能够减少建筑质量引起的纠纷。不仅能够降低建筑运营企业的管理成本,同时具有良好的社会效益。当前对质量进行监控的系统也仅能够管理人员身份、物料种类及数量和施工设备方面进行管控,管控精细化程度仍然存在不足之处。比如不能确定施工人员是否正确严格的按照施工规划进行施工及设备操作。
随着深度学习在计算机视觉以及自然语言处理两个领域取得了巨大的成功。图像识别神经网络模型不仅能够对图像进行分类,还逐渐发展出了识别图像中人物活动类型的分类功能。如图卷积神经网络(GCN,Graph Convolutional Network)是近几年发展出来的,能自动化地同时学到图的特征信息与结构信息。是一种能对图数据进行深度学习的方法。
对于神经网络模型而言,提高识别准确度的方法之一是增加神经网络的深度。但随着神经网络深度的增加,一般会伴随以下问题:计算资源的消耗、模型容易过拟合、梯度消失/梯度爆炸问题。随着网络层数的增加,神经网络会发生退化现象。即随着网络层数的增多,训练集损失逐渐下降,然后趋于饱和。而后再增加网络深度的话,训练集损失反而会增大。当网络退化时,浅层网络能够达到比深层网络更好的训练效果。如果把低深度层的特征直接传到高深度层,会增强高深度层的准确度,能够起到抑制模型退化的作用。为此残差网络应运而生。残差网络是由一系列残差块组成的,残差块分成两部分直接映射部分和残差部分。残差部分一般由两个或者三个卷积操作构成。
工人劳动状态的识别是一种动态的识别,不仅要识别工人的静态形态,还需要对动态的动作进行分类,目前的神经网络模型尚不能实现劳动状态的分类识别。如施工人员在施工现场的指定区域内,但并没有进行施工,而是在进行与施工无关的活动,甚至是与他人发生肢体冲突等危险行为。目前仍然缺乏能够有效识别这些危险情况的技术。因此有必要研究新的针对施工人员行为的施工操作安全监控技术。
本实施例提供了一种基于时空特征的双流工人劳动状态识别方法,请参阅附图1,包括以下步骤:
步骤A01)预设若干个劳动状态,获取若干个劳动图像样本,建立人体关节识别模型102;
步骤A02)获取工人劳动视频101,将视频101的图像帧输入人体关节识别模型102,获得人体关节位置103;
步骤A03)根据人体关节位置103建立关节点数据104和骨骼数据105,人工将关节点数据104和骨骼数据105标注劳动状态作为样本数据;
步骤A04)建立第一时空特征模型401和第二时空特征模型402;
步骤A05)将关节点数据104输入第一时空特征模型401进行训练及测试,获得训练后的第一时空特征模型401;
步骤A06)将骨骼数据105输入第二时空特征模型402进行训练及测试,获得训练后的第二时空特征模型402;
步骤A07)获取工人劳动的实时视频101,截取实时视频101预设长度的图像帧,记为实时帧组;
步骤A08)将实时帧组输入人体关节识别模型102,获得人体关节位置103;
步骤A09)根据实时帧组对应的人体关节位置103建立关节点数据104和骨骼数据105;
步骤A10)将实时帧组对应的关节点数据104和骨骼数据105分别输入第一时空特征模型401和第二时空特征模型402;
步骤A11)将第一时空特征模型401和第二时空特征模型402输出的劳动状态概率分布501加权求和,获得最终的劳动状态概率分布501,概率最大的劳动状态为最终工人劳动状态识别结果。
首先建立施工现场的不同劳动工种和劳动行为的动作状态类型,包括“扛运”、“铲砂”、“休息”、“摔倒”及“打架”动作。通过摄像头实时采集工人劳动区域内的场景视频信息并上传至服务器或者边缘计算设备。通过人体关节识别模型102定位视频帧中人体的13个关节点和骨架,用于后续的特征提取。13个关节点分别为头部、左肩、右肩、左肘、右肘、左手、右手、左腰、右腰、左膝、右膝、左足和右足。
第一时空特征模型401和第二时空特征模型402均为图像识别神经网络模型,如图卷积神经网络模型、递归神经网络、深信度网络、深度自动编码器及生成对抗网络。即第一时空特征模型401和第二时空特征模型402为上述任意一种或两种神经网络模型。第一时空特征模型401和第二时空特征模型402经过样本数据的训练将具有对工人动作,即对工人劳动状态分类的能力。其中第一时空特征模型401使用关节点数据104进行训练,具有更高的准确度。第二时空特征模型402结合了骨骼两端的关节点具有的约束关系,具有更好的鲁棒性。第一时空特征模型401和第二时空特征模型402分别进行分类后,将分类结果进行加权求和,获得最终的劳动状态分布概率,能够有效提高劳动状态识别的准确度,并具有较高的鲁棒性。
其中,建立关节点数据104的方法包括以下步骤:制定人体关节类型排序,将人体关节位置103依照人体关节类型排序排列;将人体关节位置103数据按照排序添加间隔符拼接作为关节点数据104。
请参阅附图2,建立骨骼数据105的方法包括以下步骤:
步骤B01)制定人体关节类型排序,将人体关节位置103依照人体关节类型排序排列;
步骤B02)制定人体骨骼排序,以人体骨骼两端的人体关节位置103作为人体骨骼位置数据;
步骤B03)将人体关节位置103数据按照排序添加间隔符拼接作为关节点数据104;
步骤B04)将人体骨骼位置数据按照排序添加间隔符拼接在关节点数据104之后,作为骨骼数据105。
13个关节点中,具有骨骼约束关系的有:(头部,左肩)、(头部,右肩)、(左肩,右肩)、(左肩,左肘)、(左肘,左手)、(右肩,右肘)、(右肘,右手)、(头部,左腰)、(头部,右腰)、(左腰,左膝)、(左膝,左足)、(右腰,右膝)以及(右膝,右足)。共形成13个骨骼。如头部的像素位置为(1020,302),左肩的像素位置为(853,432)。则骨骼(头部,左肩)表示为(1020,302,853,432)。
在其他实施例中,省略上述的几个骨骼,如忽略(左肩,右肩)、(头部,左腰)及(头部,右腰)这三个骨骼。在其他实施例中,还可以进一步忽略(头部,左肩)和(头部,右肩)两个骨骼,使骨骼的数量下降到8个,减少数据量,提高训练的效率,同时对识别准确度的影响也较小。
请参阅附图3,第一时空特征模型401和第二时空特征模型402均包括多组图卷积网络模型301和时域残差网络模型302,第一时空特征模型401的第一组的图卷积网络模型301的输入为关节点数据104,第二时空特征模型402的第一组的图卷积网络模型301的输入为骨骼数据105,第一时空特征模型401和第二时空特征模型402的最后一组的时域残差网络模型302输出劳动状态分布概率。残差网络不仅用于抑制模型退化,还能够提取连续帧之间的,在时域上的分布信息,从而能够实现提取工人动作的动态信息。
第一时空特征模型401和第二时空特征模型402均包括低频组201和高频组202,低频组201及高频组202分别包括多组图卷积网络模型301和时域残差网络模型302,低频组201的图卷积网络模型301以预设间隔跳过关节点数据104或者骨骼数据105,低频组201和高频组202的最后一组的时域残差网络模型302均输出劳动状态分布概率,计算低频组201和高频组202输出劳动状态分布概率的加权和,最终的劳动状态分布概率。
本实施例考虑到在同一个时间帧中通常包含变化较大的动作区域和相对静态的背景区域。本实施例采用双分支的学习模型,同时对高帧和低帧进行特征提取及融合,以便能够更好地获取人体行为动作的空间语义和捕捉精细时间分辨的动作。其中,低频组201具有较少的时间帧数和较多的通道数,重于提取丰富的空间语义信息。高频组202较多的时间帧数和较少的通道数,则在保证学习网络轻量化的前提下有效捕捉人体行为的快速变化。
请再次参阅附图3,从现场获取到工人劳动区域的视频101后,将视频101中的图像帧输入到人体关节识别模型102,获得人体关节的位置。根据人体关节的位置分别建立人体关节点数据104和骨骼数据105。将人体关节点数据104输入到第一时空特征模型401,将骨骼数据105输入到第二时空特征模型402。具体的,将视频101中图像帧中提取的关节点数据104全部输入高频组202,但间隔若干帧输入低频组201。同样的,将视频101中图像帧中提取的骨骼数据105全部输入第二时空特征模型402的高频组202,但间隔若干帧输入第二时空特征模型402的低频组201。经过若干组串联的图卷积网络模型301和时域残差网络模型302后,在最后一个时域残差网络模型302的最后一层,作为输出成,使用softmax函数输出劳动状态分布概率。将第一时空特征模型401和第二时空特征模型402输出的劳动状态概率分布501加权求和,获得最终的劳动状态概率分布501,即完成工人劳动状态的识别。
请参阅附图4,将第一时空特征模型401和第二时空特征模型402输出的劳动状态概率分布501加权求和的方法包括:
步骤C01)分别计算第一时空特征模型401和第二时空特征模型402输出的劳动状态概率分布501的最高值,记为最高概率值;
步骤C02)筛选第一时空特征模型401和第二时空特征模型402输出的劳动状态概率分布501中,高于预设概率阈值的劳动状态作为筛选集合,计算筛选集合中劳动状态的分布概率的均值,记为筛选概率值;
步骤C03)分别计算第一时空特征模型401和第二时空特征模型402的最高概率值与筛选概率值的商,分别作为第一时空特征模型401和第二时空特征模型402输出的劳动状态概率分布501加权求和的权重。
经关节点数据104和骨骼数据105分别训练的第一时空特征模型401和第二时空特征模型402具有不同的识别特性。若第一时空特征模型401识别出工人当前进行铲砂的概率相对其他劳动状态显著高出,而第二时空特征模型402识别出工人当前进行铲砂和抗运的概率相当。即第一时空特征模型401识别结果较为明确,而第二时空特征模型402识别结果较为犹豫,则提高第一时空特征模型401识别的权重。相应的,若第一时空特征模型401识别结果较为犹豫,而第二时空特征模型402识别结果较为明确,则提高第二时空特征模型402识别的权重。通过计算第一时空特征模型401和第二时空特征模型402输出的劳动状态概率分布501中,高于预设概率阈值的劳动状态作为筛选集合,计算筛选集合中劳动状态的分布概率的均值,作为筛选概率值。使用筛选概率值表征识别结果明确度,实现第一时空特征模型401和第二时空特征模型402权重设置的依据。
请参阅附图5,建立人体关节识别模型102的方法包括以下步骤:
步骤D01)设置人体关节类型集合,设置人体关节类型集合中每个人体关节类型的图像模板;
步骤D02)从人体关节类型集合中选择若干个人体关节类型纳入易识别集合;
步骤D03)建立每个类型的人体关节与易识别集合中每个类型的人体关节的相对位置区域,记为相对区域;
步骤D04)读取带有人体关节类型及位置标注的样本图像;
步骤D05)建立图像分类模型,图像分类模型的输入为图像区域,输出为图像区域内出现的人体关节类型及位置;
步骤D06)建立调度模型,调度模型将待识别图像输入图像分类模型,获得图像分类模型识别出的人体关节类型及位置;
步骤D07)调度模型根据图像分类模型识别出的人体关节类型、位置及相对区域,获得未识别出的人体关节相对已识别出的人体关节的相对位置区域;
步骤D08)将相对位置区域内的图像输入图像分类模型,识别全部人体关节及其位置;
步骤D09)图像分类模型及调度模型构成人体关节识别模型102。
通过带有人体关节类型及位置标注的样本图像,建立并训练图像分类模型,结合易识别集合能够提高人体关节识别的效率。13个关节点中头部、左肩、右肩、左足和右足为易识别关节点。头部为最易识别关节点。识别头部通过识别安全帽或者头发区域进行识别。若通过头发区域识别出头部,并进而根据头部位置推测出其他人体关节点位置,并识别成功,则发出未佩戴安全帽报警。
通过本实施例提供的调度模型,能够多次调用图像分类模型,使图像分类模型前次识别出的人体关节,帮助对更难识别的人体关节进行识别,能够提高人体关节识别的识出率和准确度。
本实施例还提供了选择纳入易识别集合的人体关节类型的方法,请参阅附图6,选择纳入易识别集合的人体关节类型方法包括:
步骤E01)建立图像预分类模型,图像预分类模型的输入为带有任意人体关节的图像,图像预分类模型的输出为图像中出现的人体关节类型及位置;
步骤E02)将多个带有人体关节类型及位置标注的样本图像划分为训练集和测试集;
步骤E03)使用训练集训练图像预分类模型;
步骤E04)使用测试集测试图像预分类模型,获得测试集下,每个人体关节类型的分类准确率;
步骤E05)将分类准确率高于预设阈值的人体关节类型纳入易识别集合。
通过建立图像预分类模型,由模型选择出易识别的人体关节,具有更高的准确度。
本实施例提供了获得参照关节及其他人体关节与参照关节相对位置的方法,请参阅附图7,包括以下步骤:
步骤F01)易识别集合中的人体关节类型按照分类准确率降序排列;
步骤F02)调度模型将待识别图像输入图像分类模型后,读取图像分类模型识别出的若干个人体关节类型及位置;
步骤F03)获得分类准确率最高的人体关节类型及位置,作为参照关节;
步骤F04)根据参照关节和相对区域,获得未识别出的人体关节与参照关节的相对位置区域。
通常工人均佩戴安全帽,且安全帽的颜色已知,通过识别安全帽的颜色,即可粗略定位安全帽位置,再结合安全帽形状和/或安全帽上的预制图案,既可以识别到头部位置,进而推测出左肩、右肩、左腰和右腰的位置。以及手臂和腿部的可能区域。从而加快人体姿态的识别效率。
请参阅附图8,建立相对区域的方法包括:
步骤G01)读取多个样本图像,以易识别集合中的人体关节类型为参照关节,获得其他类型的人体关节与参照关节的相对位置集合;
步骤G02)构建人体关节与参照关节的相对位置集合的外接矩形,作为对应人体关节类型与参照关节的相对区域。通过外接矩形划分出其他人体关节的分布区域,能够提高人体关节识别的效率。
请参阅附图9,截取实时帧组的方法包括:
步骤H01)从获得的工人劳动的实时视频101中截取多个预设长度的图像帧,获得多个实时帧组;
步骤H02)从实时帧组中随机选择预设数量个图像帧,将图像帧输入图像分类模型,获得图像分类模型的输出结果;
步骤H03)统计每个实时帧组中选择的图像帧中识别出的人体关节数量的总和,将总和最高的实时帧组作为实时视频101中截取的实时帧组。
本实施例提供截取实时帧组的方法,通过对实时帧组进行识别,计算识别出的人体关节数量的总和,将总和最高的实时帧组作为实时视频101中截取的实时帧组,能够筛选出最有利于劳动状态识别的实时帧组,将最优的实时帧组提供给第一时空特征模型401和第二时空特征模型402,能够进一步提高劳动状态识别的准确度。
本实施例的有益技术效果包括:通过从视频包含的图像帧中提取关节点数据104,生成骨骼数据105,将关节点数据104和骨骼数据105分别输入第一时空特征模型401和第二时空特征模型402,将获得的劳动状态概率分布501加权求和,实现最终劳动状态的识别,通过两组数据提高了劳动状态的识别准确度。
使用多组串联连接的图卷积网络模型301和时域残差网络模型302分别提取空间图形信息和时域上的动作信息,实现两个维度的劳动状态特征提取,通过增加特征维度提高劳动状态识别准确度。
通过建立两组图卷积网络模型301和时域残差网络模型302,分别作为低频组201和高频组202,针对高频动作特征和低频形态特征进行分别提取和融合,既提高了劳动状态识别的准确度,同时提高了鲁棒性。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,熟悉该本领域的技术人员应该明白本发明包括但不限于附图和上面具体实施方式中描述的内容。任何不偏离本发明的功能和结构原理的修改都将包括在权利要求书的范围中。