本发明涉及图像处理及模式识别领域,尤其是一种自动化考勤的考勤方法。
背景技术:
在某些行业的考勤中,对于员工上班时间的到岗离岗时间有要求。使用传统算法对员工是否在岗进行考勤主要通过人体与人脸检测和人脸识别,人体与人脸检测主要依赖lbp与sift等算法,人脸识别主要依赖haarcascade算法,单纯依靠着几种算法进行考勤精度较差,造成上岗离岗识别无法完全做到自动化。
实际考勤过程中,经常会出现员工处于低头状态导致人脸识别程序不能进行人脸识别,单独依靠单步检测器ssd算法检测人体和人脸信息会存在误检。
技术实现要素:
本发明所要解决的技术问题是提供一种自动化考勤的考勤方法,解决无法完全做到自动化考勤的问题。
本发明解决其技术问题所采用的技术方案是:一种自动化考勤的考勤方法,包括以下步骤:
s1:在具备深度学习能力的设备中通过深度学习的方式训练人体与人脸检测模块和人脸识别模块;
s2:设置从正面拍摄待考勤岗位上的员工的摄像机并将摄像机与具备深度学习能力的设备连接;
s3:在摄像机的回传图片中预设定该待考勤岗位上的员工的坐标阈值;
s4:使用摄像机在工作时间对待考勤岗位连续或间断拍摄多帧图片;
s5:使用人体与人脸检测模块和人脸识别模块分析每帧图片中人体与人脸信息和人脸识别信息,并通过将该帧图片中的人体与人脸信息和人脸识别信息与该帧图片之前的图片对比交叉验证以及将该帧图片中的人脸识别信息与该待考勤岗位上的员工的坐标阈值对比确定该时刻待考勤员工是否在岗;
s6:用传统统计方法对于员工上岗离岗信息进行统计。
进一步地,所述人体与人脸检测模块使用单步检测器ssd算法实现。
进一步地,所述人脸识别模块使用center-loss算法实现。。
进一步地,所述摄像机能够同时拍摄多个待考勤岗位上的员工。
进一步地,当待考勤岗位上的员工处于抬头状态时,摄像机能够拍摄到该员工完整的脸部;当待考勤岗位上的员工处于低头状态时,摄像机能够拍摄到该员工部分脸部。
进一步地,所述具备深度学习能力的设备为arm处理器架构设备。
进一步地,所述具备深度学习能力的设备为手机或nvidiajetson平台或嵌入式设备。
进一步地,所述该待考勤岗位上的员工的坐标阈值包括该待考勤岗位的左上坐标和右下坐标。
进一步地,所述该帧图片之前的图片为距离该帧图片最近的一张在岗状态的图片。
进一步地,所述步骤s5实施时,按照以下顺序操作:摄像机将拍摄的图片输入具有深度学习能力的设备中,人体与人脸检测模块检测该帧图片是否存在人脸,若存在人脸,则由人脸识别模块检测该帧图片是否能够识别人脸,如果能够识别人脸,则由人脸识别模块检测该帧图片人脸信息是否符合坐标阈值,若符合坐标阈值,则标记当前帧为在岗状态;若不符合坐标阈值,则标记当前帧为离岗状态;若不能识别人脸,则由人体与人脸检测模块检测该帧图片人脸的位置与最近的在岗状态帧是否连续,若连续,则标记当前帧为在岗状态;若不连续,则由人体与人脸检测模块检测该帧图片人体的位置与最近的在岗状态帧是否连续,若连续,则标记当前帧为在岗状态;若不连续,则标记当前帧为离岗状态;若人体与人脸检测模块检测该帧图片不存在人脸,则由人体与人脸检测模块检测该帧图片是否存在人体,若存在人体,则由人体与人脸检测模块检测该帧图片人体的位置与最近的在岗状态帧是否连续,若连续,则标记当前帧为在岗状态;若不连续,则标记当前帧为离岗状态;若人体与人脸检测模块检测该帧图片不存在人体,则标记当前帧为离岗状态。
本发明具有如下有益效果:
本发明通过ssd算法检测人体和人脸信息、通过center-loss算法识别人脸,并且通过图片对比交叉验证和坐标阈值对比来确定该时刻待考勤员工是否在岗,能够实现完全的自动化考勤,考勤精度较高,不会出现误检。
本发明除了普通摄像头和具有深度学习能力的设备以外,没有额外的设备要求,部署灵活。
附图说明
图1为本发明实施例1给出的考勤方法流程图;
图2为本发明实施例1确定该时刻待考勤员工是否在岗的具体流程图。
具体实施方式
实施例1:
如图1和2所示,一种自动化考勤的考勤方法,包括以下步骤:
一、在具备深度学习能力的设备中通过深度学习的方式训练人体与人脸检测模块和人脸识别模块
所述具备深度学习能力的设备为手机或nvidiajetson平台或嵌入式设备。
1.训练人体与人脸检测模块
人体与人脸检测模块使用单步检测器ssd算法实现。
ssd是一种基于深度学习的目标检测模型,ssd的特点主要是多尺度检测,图像中的目标通常都有着不同的尺度,传统的目标检测多在一层特征图上进行检测,多尺度物体检测效果欠佳。低层特征图具有细节信息,看得比较细,而高层特征图中具有高级语义信息,看得比较广,ssd提出同时利用低层特征图和高层特征图进行检测。
图片经过深度网络提取特征后,在最后多个尺度的特征图上输出目标位置信息,然后,这些物体位置信息经过nms(极大值抑制)算法输出最终的真实物体位置坐标。ssd是经过实验后(例如人体检测与人脸检测)上速度与精度平衡性较好的算法。
2.训练人脸识别模块
人脸识别模块使用center-loss算法实现。
该算法原理简述如下:首先使用深度网络例如mobilenet将人脸图像转换为嵌入空间embeddingspace上的一个特定长度向量,根据向量之间的欧氏距离,可以判断两张人脸是否属于同一个人。其中,center-loss显式约束了新的条件:不同人脸之间类间距离要尽可能大,相同人脸类内距离尽可能小,该任务可描述为如下:
其中,xi为网络输出的人脸向量,cyi为该人脸的中心,实际操作中,该中心的值为该人的平均人脸嵌入向量。
二、设置从正面拍摄待考勤岗位上的员工的摄像机并将摄像机与具备深度学习能力的设备连接
所述摄像机能够同时拍摄多个待考勤岗位上的员工并同时对多名员工进行考勤。当待考勤岗位上的员工处于抬头状态时,摄像机能够拍摄到该员工完整的脸部;当待考勤岗位上的员工处于低头状态时,摄像机能够拍摄到该员工部分脸部。
三、在摄像机的回传图片中预设定该待考勤岗位上的员工的坐标阈值
所述该待考勤岗位上的员工的坐标阈值包括该待考勤岗位的左上坐标和右下坐标。
四、使用摄像机在工作时间对待考勤岗位连续或间断拍摄多帧图片
五、使用人体与人脸检测模块和人脸识别模块分析每帧图片中人体与人脸信息和人脸识别信息,并通过将该帧图片中的人体与人脸信息和人脸识别信息与该帧图片之前的图片对比交叉验证以及将该帧图片中的人脸识别信息与该待考勤岗位上的员工的坐标阈值对比确定该时刻待考勤员工是否在岗
所述该帧图片之前的图片为距离该帧图片最近的一张在岗状态的图片。
该交叉验证流程基于两个假设:如果人员上岗,那么岗位处一定可以检测到人脸或者人体且一段时间内的位置应当连续,反之应当检测不到人脸与人体;如果人脸与人体在位置上是连续的,那么这些帧中所有识别出与未识别出的人脸应当属于同一个人。在实际应用中,有以下几种情景:
a.画面均检测出人体,人脸,并识别出人脸信息;
b.画面检测出人体,检测出人脸,未能识别人脸信息;
c.画面检测出人体,未检出人脸,未能识别人脸信息;
d.画面中未检测出人体,未检出人脸,未能识别人脸信息;
e.画面中未检出人体,检出人脸,识别出人脸信息;
f.画面中未检出人体,检出人脸,未识别出人脸信息。
具体按照以下顺序操作:摄像机将拍摄的图片输入具有深度学习能力的设备中,人体与人脸检测模块检测该帧图片是否存在人脸,若存在人脸,则由人脸识别模块检测该帧图片是否能够识别人脸,如果能够识别人脸,则由人脸识别模块检测该帧图片人脸信息是否符合坐标阈值,若符合坐标阈值,则标记当前帧为在岗状态;若不符合坐标阈值,则标记当前帧为离岗状态;若不能识别人脸,则由人体与人脸检测模块检测该帧图片人脸的位置与最近的在岗状态帧是否连续,若连续,则标记当前帧为在岗状态;若不连续,则由人体与人脸检测模块检测该帧图片人体的位置与最近的在岗状态帧是否连续,若连续,则标记当前帧为在岗状态;若不连续,则标记当前帧为离岗状态;若人体与人脸检测模块检测该帧图片不存在人脸,则由人体与人脸检测模块检测该帧图片是否存在人体,若存在人体,则由人体与人脸检测模块检测该帧图片人体的位置与最近的在岗状态帧是否连续,若连续,则标记当前帧为在岗状态;若不连续,则标记当前帧为离岗状态;若人体与人脸检测模块检测该帧图片不存在人体,则标记当前帧为离岗状态。
六、用传统统计方法对于员工上岗离岗信息进行统计
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质,在本发明的精神和原则之内,对以上实施例所作的任何简单的修改、等同替换与改进等,均仍属于本发明技术方案的保护范围之内。
1.一种自动化考勤的考勤方法,其特征在于,包括以下步骤:
s1:在具备深度学习能力的设备中通过深度学习的方式训练人体与人脸检测模块和人脸识别模块;
s2:设置从正面拍摄待考勤岗位上的员工的摄像机并将摄像机与具备深度学习能力的设备连接;
s3:在摄像机的回传图片中预设定该待考勤岗位上的员工的坐标阈值;
s4:使用摄像机在工作时间对待考勤岗位连续或间断拍摄多帧图片;
s5:使用人体与人脸检测模块和人脸识别模块分析每帧图片中人体与人脸信息和人脸识别信息,并通过将该帧图片中的人体与人脸信息和人脸识别信息与该帧图片之前的图片对比交叉验证以及将该帧图片中的人脸识别信息与该待考勤岗位上的员工的坐标阈值对比确定该时刻待考勤员工是否在岗;
s6:用传统统计方法对于员工上岗离岗信息进行统计。
2.如权利要求1所述一种自动化考勤的考勤方法,其特征在于,所述人体与人脸检测模块使用单步检测器ssd算法实现。
3.如权利要求1所述一种自动化考勤的考勤方法,其特征在于,所述人脸识别模块使用center-loss算法实现。
4.如权利要求1所述一种自动化考勤的考勤方法,其特征在于,所述摄像机能够同时拍摄多个待考勤岗位上的员工。
5.如权利要求1所述一种自动化考勤的考勤方法,其特征在于,当待考勤岗位上的员工处于抬头状态时,摄像机能够拍摄到该员工完整的脸部;当待考勤岗位上的员工处于低头状态时,摄像机能够拍摄到该员工部分脸部。
6.如权利要求1所述一种自动化考勤的考勤方法,其特征在于,所述具备深度学习能力的设备为arm处理器架构设备。
7.如权利要求6所述一种自动化考勤的考勤方法,其特征在于,所述具备深度学习能力的设备为手机或nvidiajetson平台或嵌入式设备。
8.如权利要求1所述一种自动化考勤的考勤方法,其特征在于,所述该待考勤岗位上的员工的坐标阈值包括该待考勤岗位的左上坐标和右下坐标。
9.如权利要求1所述一种自动化考勤的考勤方法,其特征在于,所述该帧图片之前的图片为距离该帧图片最近的一张在岗状态的图片。
10.如权利要求1所述一种自动化考勤的考勤方法,其特征在于,所述步骤s5实施时,按照以下顺序操作:摄像机将拍摄的图片输入具有深度学习能力的设备中,人体与人脸检测模块检测该帧图片是否存在人脸,若存在人脸,则由人脸识别模块检测该帧图片是否能够识别人脸,如果能够识别人脸,则由人脸识别模块检测该帧图片人脸信息是否符合坐标阈值,若符合坐标阈值,则标记当前帧为在岗状态;若不符合坐标阈值,则标记当前帧为离岗状态;若不能识别人脸,则由人体与人脸检测模块检测该帧图片人脸的位置与最近的在岗状态帧是否连续,若连续,则标记当前帧为在岗状态;若不连续,则由人体与人脸检测模块检测该帧图片人体的位置与最近的在岗状态帧是否连续,若连续,则标记当前帧为在岗状态;若不连续,则标记当前帧为离岗状态;若人体与人脸检测模块检测该帧图片不存在人脸,则由人体与人脸检测模块检测该帧图片是否存在人体,若存在人体,则由人体与人脸检测模块检测该帧图片人体的位置与最近的在岗状态帧是否连续,若连续,则标记当前帧为在岗状态;若不连续,则标记当前帧为离岗状态;若人体与人脸检测模块检测该帧图片不存在人体,则标记当前帧为离岗状态。
技术总结