本发明涉及智能在岗监测技术领域,特别是涉及一种基于人体骨骼识别和多角度转换的在岗监测方法及系统。
背景技术:
本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
近年来,随着监视电子设备在各个领域的不断普及,需要对大量监视视频和图像进行有效处理;同时如银行、证券交易所或其他一些营业所需要了解员工的出勤率,需要对员工准时到达或随意离值进行监控,以便对员工的出勤情况进行准确的评估;除此之外,在一些场景中常常由于人员的擅自离岗,导致无法及时发现视频监控区域内事故的发生,从而不能及时有效的处理事故问题,造成较大损失和安全问题。因此,对于这些场景,需要对人员在岗情况进行实时监控。
传统的监视查岗的方法大多需要员工观看摄像头以完成监测,但是这种监测方法效率太低、也无法保证准确度,当缺岗、换班或者值班出现瞌睡时,就会发生漏检或误报的情况;此外,这种方法需要配备大量的摄像头,且监控画面复杂,不利于在岗的实时监测。
因此,基于计算机视觉的智能在岗监测方法具备更多的优势,如无须专门的监测人员,可以实现24小时实时监测,更加智能等;然而,发明人发现,基于计算机视觉的智能在岗监测方法同样存在着以下缺陷:
(1)基于二进制流媒体协议获取视频图像的方式采集效率低;
(2)基于传统ffmpeg技术或第三方框架获取视频图像的方式,容易发生丢包问题,且在网络经常波动的场景下,视频图像容易花屏;
(3)基于采集的原生图像进行图像识别,由于图片数据庞大,对服务性能要求太高,图片数据处理效率低下;
(4)在摄像头多角度的情况下,由于角度问题导致的姿态评估错误;
(5)需要大量专业的设备支撑,成本高且难以普及。
技术实现要素:
为了解决上述问题,本发明提出了一种基于人体骨骼识别和多角度转换的在岗监测方法及系统,通过范围平滑算法将视频图像的非正面投影图或非平行投影图转换为正面投影图,从算法层面提高视频图像的检测精度,实现更准确的姿势评估,降低实时在岗监测系统对专业设备的依赖。
为了实现上述目的,本发明采用如下技术方案:
第一方面,本发明提供一种基于人体骨骼识别和多角度转换的在岗监测方法,包括:
提取视频图像中的肩节点、胯节点和尾骨节点,根据肩节点和胯节点的连接线角度,以及胯节点和尾骨节点距离筛选非正面投影图和非平行投影图;
根据横向角度转换方法和纵向距离转换方法分别将非正面投影图和非平行投影图转换为正面投影图;
根据对正面投影图提取的骨骼特征采用预训练的姿态识别模型识别得到对应的在岗姿态。
第二方面,本发明提供一种基于人体骨骼识别和多角度转换的在岗监测系统,包括:
图像处理模块,用于提取视频图像中的肩节点、胯节点和尾骨节点,根据肩节点和胯节点的连接线角度,以及胯节点和尾骨节点距离筛选非正面投影图和非平行投影图;
图像转换模块,用于根据横向角度转换方法和纵向距离转换方法分别将非正面投影图和非平行投影图转换为正面投影图;
骨骼识别模块,用于根据对正面投影图提取的骨骼特征采用预训练的姿态识别模型识别得到对应的在岗姿态。
第三方面,本发明提供一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成第一方面所述的方法。
第四方面,本发明提供一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成第一方面所述的方法。
第五方面,本发明提供一种考勤平台,包括:
业务控制层,用于接收考勤指令;
业务逻辑层,用于解析考勤指令,并根据考勤指令采集视频图像;
底层组件,用于对视频图像采用第一方面所述的方法进行在岗姿态识别,得到在岗检测结果。
第六方面,本发明提供一种考勤方法,包括:
获取考勤指令;
解析考勤指令,根据考勤指令采集视频图像;
对视频图像采用第一方面所述的方法进行在岗姿态识别,得到在岗检测结果。
与现有技术相比,本发明的有益效果为:
针对视频图像采集效率低下问题,本发明基于tcp可靠协议封装ffmpeg视频流内容,以此进行图像采集。
针对网络波动导致视频图像花屏的问题,本发明基于高斯算法和灰度算法对视频图像进行预处理,保证图像质量的同时压缩图片数据,降低对网络性能的依赖。
本发明采用常规数据样本作为后期姿态识别的相对参照物,同时基于人工智能对抗网络生成正面投影模型仓库和头型数据范围映射,构建姿态识别模型,提高原生视频图像的处理效率。
本发明通过范围平滑算法将视频图像的非正面投影图或非平行投影图转换为正面投影图,实现更准确的姿势评估;从算法层面提高视频图像的检测精度,降低实时在岗监测系统对专业设备的依赖。
本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1为本发明实施例1提供的基于人体骨骼识别和多角度转换的在岗监测方法流程图;
图2(a)为本发明实施例1提供的侧面投影图;
图2(b)为本发明实施例1提供的正面投影图;
图3(a)为本发明实施例1提供的身体弯曲示意图;
图3(b)为本发明实施例1提供的身体直立示意图;
图4为本发明实施例5提供的考勤平台架构示意图;
图5为本发明实施例6提供的考勤方法流程图。
具体实施方式:
下面结合附图与实施例对本发明做进一步说明。
应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
实施例1
如图1所示,本实施例提供一种基于人体骨骼识别和多角度转换的在岗监测方法,包括:
s1:提取视频图像中的肩节点、胯节点和尾骨节点,根据肩节点和胯节点的连接线角度,以及胯节点和尾骨节点距离筛选非正面投影图和非平行投影图;
s2:根据横向角度转换方法和纵向距离转换方法分别将非正面投影图和非平行投影图转换为正面投影图;
s3:根据对正面投影图提取的骨骼特征采用预训练的姿态识别模型识别得到对应的在岗姿态。
所述步骤s1中,视频图像的提取包括:
根据ffmpeg支持tcp/ip协议的特性,选取合适的网络层协议,在尽量保证底层丢包修复的同时,对所采集的视频图像进行完整性验证,通过直接卷积算法的高斯滤波处理对非完整视频图像进行信息补充。
所述步骤s1中,还包括对视频图像的预处理,包括:
对采集的视频图像进行等比切割,经二维预选变换后,将分块数据高度集中后合并,最后进行图片压缩,从而降低对网络性能的依赖,减少图像花屏的产生。
在本实施例中,筛选非正面投影图和非平行投影图具体包括:
s1-1:提取肩节点、胯节点和尾骨节点,连接两肩节点、两胯节点以及尾骨节点与左右两胯节点;
s1-2:通过两肩节点连接线和两胯节点连接线与平行线的夹角,判断是否为平行角度;
s1-3:通过尾骨节点距离左右胯骨节点的距离差值与正常范围值的比较结果,判断是否为正面投影角度;
s1-4:若两肩节点连接线和两胯节点连接线与平行线的夹角小于预设夹角阈值时,则视为平行角度;否则为非平行角度;
s1-5:若尾骨节点距离左右胯骨节点的距离差值与正常范围值的比较结果大于预设距离阈值时,视为非正面投影角度;
s1-6:若视频图像满足平行角度且满足非正面投影角度时,则为非正面投影图;
s1-7:若视频图像不满足平行角度时,则为非平行投影图;
具体地,若两肩节点连接线与平行线的夹角大于预设夹角阈值,两胯节点连接线与平行线的夹角小于预设夹角阈值时,视为下半身平行,上半身纵向移动;
反之,则视为上半身平行,下半身纵向移动;
若两肩节点连接线和两胯节点连接线与平行线的夹角均大于预设夹角阈值,则视为整体移动。
如,在本实施例中,固定左肩膀和右肩膀平行连线60-80cm、左胯骨和右胯骨60-80cm、尾骨和左右肩膀连线垂直线60-80cm;计算5个节点的10条连接线距离及15个夹角的正弦值范围,各连接线距离f和各夹角正弦值α的范围映射如下式所示:
fn=∫°∩∫1∈[0°,180°];
cn=sin(α);
fn∈λ∑(1,cn)/n。
在本实施例中,对非正面投影图和非平行投影图采用范围平滑算法计算正面投影图,具体包括:
s2-1:横向转换:当两肩和两胯节点连接线均与平行线夹角小于10°时,视为平行角度,尾骨节点距离左右胯骨距离差值大于正常范围值10%以上时,视为非正面投影角度,则该视频图像为非正面投影图;
根据正面左右对称原理,计算尾骨节点与左右胯骨距离差值比例以及正面投影常规宽度和实际角度宽度的比例,将侧面投影的节点坐标转换为正面投影图的坐标点;
如图2(a)-2(b)所示,具体地,横向转换方法为:
j1 j2=j
j/(jz1 jz2)=jl;
jr=((jz1 jz2)/2)*jl;
jd=j1/jr;
k1 k2=k;
k/(kz1 kz2)=kl;
kr=((kz1 kz2)/2)*kl;
kd=k1/kr;
转度为:(jd kd)/2;
其中,j1表示正面投影图中左肩节点与交点的距离,j2表示正面投影图中右肩节点与交点的距离,k1表示正面投影图中左胯节点与尾骨节点的距离,k2表示正面投影图中右胯节点与尾骨节点的距离;
jz1表示侧面投影图中左肩节点与交点的距离,jz2表示侧面投影图中右肩节点与交点的距离,kz1表示侧面投影图中左胯节点与尾骨节点的距离,kz2表示侧面投影图中右胯节点与尾骨节点的距离;jr表示肩半径;kr表示胯半径。
同理,将身体、手、肘、脚、膝盖等其他节点参数等比转换。
s2-2:纵向转换:当两胯节点连接线均与平行线夹角小于10°时,两肩节点连接线与平行线夹角α大于10°时,认为下半身平行,上半身纵向移动,该视频图像为非平行投影图;
通过两胯节点中心计算两肩平移距离,通过三角函数,即余弦或正弦计算纵向移动距离;
如图3(a)-3(b)所示,具体地,纵向转换计算方法:
故,纵向转换距离为:jh/2;jx=jz;jz/kz≈j/k;
故,横向转换距离为:km×(j/k)。
其中,α表示线段jz与jx的夹角,km表示线段jx的中点与线段kz上的尾骨节点的水平距离。
同理,根据局部移动或整体移动,联动转换手、肘、脚、膝盖等其他节点参数。
在本实施例中,所述步骤s3中,构建姿态识别模型包括:
通过已知人体姿态和骨骼节点对照图构建训练集,通过常规数据大量运算和基于人工智能对抗网络训练生成标记置信度的姿态识别模型,作为后期姿态识别的相对参照物,从而提高原生视频图像的处理效率。
所述步骤s3中,姿态识别包括:
基于openpose技术,对投影图进行骨骼节点识别,采用训练后的姿态识别模型计算骨骼节点识别结果g和模型库真实结果gz置信度最高的匹配映射:
本实施例从算法层面提高了视频图像的检测精度,降低实时在岗监测系统对专业设备的依赖。
实施例2
本实施例提供一种基于人体骨骼识别和多角度转换的在岗监测系统,包括:
图像处理模块,用于提取视频图像中的肩节点、胯节点和尾骨节点,根据肩节点和胯节点的连接线角度,以及胯节点和尾骨节点距离筛选非正面投影图和非平行投影图;
图像转换模块,用于根据横向角度转换方法和纵向距离转换方法分别将非正面投影图和非平行投影图转换为正面投影图;
骨骼识别模块,用于根据对正面投影图提取的骨骼特征采用预训练的姿态识别模型识别得到对应的在岗姿态。
此处需要说明的是,上述模块对应于实施例1中的步骤s1至s4,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为系统的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
实施例3
在更多实施例中,还提供一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成实施例1中所述的方法。为了简洁,在此不再赘述。
应理解,本实施例中,处理器可以是中央处理单元cpu,处理器还可以是其他通用处理器、数字信号处理器dsp、专用集成电路asic,现成可编程门阵列fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。
实施例4
在更多实施例中,还提供一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例1中所述的方法。
实施例1中的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
实施例5
在更多实施例中,还提供一种考勤平台,除了底层组件对视频图像信息在岗识别外,考勤平台整体架构组成所包含的模块、组件以及层的划分如图2所示,具体包括:
表现层,用于提供接口协议与外部终端连接;
业务控制层,用于接收考勤指令、设定考勤周期、考勤间隔时间;
业务逻辑层,用于解析考勤指令,判断是否需要进行考勤,若需要考勤则根据考勤指令采集视频图像;
底层组件,用于对视频图像采用实施例1所述的方法进行在岗姿态识别,得到在岗检测结果;
数据库,用于将在岗检测结果进行存储。
具体地,所述表现层提供的协议包括:html、css或layui等,提供与pc网页端等外部终端的接口。
具体地,所述业务控制层还用于对接入的外部终端进行访问校验,如密码校验、权限校验等。
具体地,所述数据库采用mysql数据库,存储考勤平台的相关数据信息,包括平台配置管理信息、数据展示信息、巡检信息以及日志记录等;上述考勤平台的相关数据信息由业务控制层接收,由业务逻辑层解析后存储至数据库。
优选地,所述平台配置管理信息中:角色管理包括设置不同的角色类别,比如监测者、被监测者等;
人员管理:包括具体每个人员的角色分配,对应着不同的权限;
基础配置:包括上下班时间、活动区域、离岗时间阈值等;
系统参数:包括整个系统的配置信息,比如启动、关闭时间、图像采样频率、缓存空间大小等。
优选地,所述数据展示信息中:便民服务站和党员活动室指代公司内部或公司岗位之外的非工作区域,用于实时的提醒离岗人员。
优选地,所述巡检模块中:摄像头巡检目的是保证图像采集的摄像头的正常运行;
服务站和活动室巡检是为了提供更细粒度的监测逻辑,如区分离岗去公司内部活动室的人员与离岗去公司外部的人员。
实施例6
在更多实施例中,还提供一种实施例5所述的考勤平台的考勤方法,如图3所示,包括:
(1)配置考勤任务的考勤周期、考勤间隔时间;
(2)获取考勤指令;
(3)解析考勤指令中的检测参数,判断是否需要进行考勤,若不需要,则结束考勤;若需要,则根据考勤指令获取视频图像;
(4)对视频图像采用实施例1所述的方法进行在岗姿态识别,得到在岗检测结果;
(5)将在岗检测结果进行存储,根据考勤任务间隔时间再次返回步骤(2)。
本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元即算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
1.一种基于人体骨骼识别和多角度转换的在岗监测方法,其特征在于,包括:
提取视频图像中的肩节点、胯节点和尾骨节点,根据肩节点和胯节点的连接线角度,以及胯节点和尾骨节点距离筛选非正面投影图和非平行投影图;
根据横向角度转换方法和纵向距离转换方法分别将非正面投影图和非平行投影图转换为正面投影图;
根据对正面投影图提取的骨骼特征采用预训练的姿态识别模型识别得到对应的在岗姿态。
2.如权利要求1所述的基于人体骨骼识别和多角度转换的在岗监测方法,其特征在于,所述筛选非正面投影图和非平行投影图包括:
连接两肩节点、两胯节点以及尾骨节点与左右两胯节点;
判断两肩节点连接线和两胯节点连接线与平行线的夹角是否为平行角度;
通过尾骨节点距离两胯节点的距离差值与正常范围值的比较结果,判断是否为正面投影角度;
若视频图像满足平行角度条件且满足非正面投影角度条件时,则为非正面投影图;若视频图像不满足平行角度条件时,则为非平行投影图。
3.如权利要求1所述的基于人体骨骼识别和多角度转换的在岗监测方法,其特征在于,对视频图像进行预处理包括对等比切割的视频图像经二维预选变换后,将图像块高度集中后合并,对合并后的图像进行压缩。
4.如权利要求1所述的基于人体骨骼识别和多角度转换的在岗监测方法,其特征在于,所述横向角度转换方法包括根据尾骨节点与两胯节点距离差值比例以及正面投影常规宽度和实际投影角度宽度的比例,将非平行投影图的节点坐标转换为正面投影图的节点坐标。
5.如权利要求1所述的基于人体骨骼识别和多角度转换的在岗监测方法,其特征在于,所述纵向距离转换方法包括根据两胯节点中心计算两肩平移距离,通过三角函数计算两肩纵向移动距离。
6.一种基于人体骨骼识别和多角度转换的在岗监测系统,其特征在于,包括:
图像处理模块,用于提取视频图像中的肩节点、胯节点和尾骨节点,根据肩节点和胯节点的连接线角度,以及胯节点和尾骨节点距离筛选非正面投影图和非平行投影图;
图像转换模块,用于根据横向角度转换方法和纵向距离转换方法分别将非正面投影图和非平行投影图转换为正面投影图;
骨骼识别模块,用于根据对正面投影图提取的骨骼特征采用预训练的姿态识别模型识别得到对应的在岗姿态。
7.一种电子设备,其特征在于,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成权利要求1-5任一项所述的方法。
8.一种计算机可读存储介质,其特征在于,用于存储计算机指令,所述计算机指令被处理器执行时,完成权利要求1-5任一项所述的方法。
9.一种考勤平台,其特征在于,包括:
业务控制层,用于接收考勤指令;
业务逻辑层,用于解析考勤指令,并根据考勤指令采集视频图像;
底层组件,用于对视频图像采用权利要求1-5任一项所述的方法进行在岗姿态识别,得到在岗检测结果。
10.一种考勤方法,其特征在于,包括:
获取考勤指令;
解析考勤指令,根据考勤指令采集视频图像;
对视频图像采用权利要求1-5任一项所述的方法进行在岗姿态识别,得到在岗检测结果。
技术总结