一种基于人脸识别技术的报警系统及方法
技术领域
本发明涉及视频安防监控领域,特别涉及一种基于人脸识别技术的报警系统及方法。
背景技术
人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部识别的一系列相关技术,通常也叫做人像识别、面部识别。
随着科技的发展和人们生活水平的提高,人们的工作和生活越来越依赖网络系统及设备,人们也越来越注重家庭安全、企业安全。与传统的监控系统相比,融合了深度学习等先进技术的智能监控系统更能满足消费者的需求。
为了实现上述目标,提出了一种基于人脸识别技术的报警系统及方法。
发明内容
本发明的目的提供一种基于人脸识别技术的报警系统及方法,解决上述的一个或多个问题。
本发明提出一种基于人脸识别技术的报警系统中包括数据采集模块、人脸检测模块、人脸特征提取模块、人脸分类识别模块、业务逻辑模块以及用户交互模块,数据采集模块、人脸检测模块、人脸特征提取模块、人脸分类识别模块以及用户交互模块均与业务逻辑模块连接,其中
数据采集模块负责采集、处理视频或图片数据;
人脸检测模块提供人脸检测功能,向外提供API接口服务给业务逻辑模块使用;
人脸特征提取模块提供人脸特征提取功能,向外提供API接口服务给业务逻辑模块使用;
人脸分类识别模块提供分类模型训练、人脸特征分类识别的功能,向外提供API接口服务给业务逻辑模块使用;
业务逻辑模块提供业务逻辑功能和流程,管理各个模块中的人脸识别相关数据,提供用户接口,用户接口中包含特征管理功能的用户接口和报警特征管理功能的用户接口,提供人脸识别报警的处理和特征管理的过程;;
用户交互模块提供用户交互界面,用户可以使用用户交互模块完成特征管理功能、设置报警特征列表、接收报警信息。
在一些实施方式中,人脸识别相关数据中包含用户数据、用户特征库、人脸图片、报警特征列表、分类模型,报警特征列表中保存了报警图片和报警图片的特征信息,报警图片的特征信息中包括报警特征和报警阈值。
在一些实施方式中,所述用户数据中包含用户ID和设备名。
在一些实施方式中,所述报警图片的特征信息中还保存了报警特征的昵称。
在一些实施方式中,所述数据采集模块用于采集、处理视频或图片数据,将视频或图片数据转换成可识别的图片数据。
在一些实施方式中,所述采集模块由摄像头或其他可以提供数据采集的设备配合图像处理程序组成。
在一些实施方式中,所述人脸检测模块采用深度学习方法,识别图片中的人脸位置并将人脸区域的数据提取为单张图片。
在一些实施方式中,所述人脸检测模块采用的深度学习方法指的是MTCNN人脸检测算法。
在一些实施方式中,所述人脸特征提取模块采用深度学习方法,将输入的人脸图片映射为128维特征向量,通过比较计算两个人脸图片的特征向量间的距离判断两张人脸是否为同一人,相同人的不同人脸照片提取的特征向量的距离近,不同人的人脸照片提取的特征向量的距离远。
在一些实施方式中,所述人脸特征提取模块采用的深度学习方法指的是FACENET模型中的特征提取算法。
在一些实施方式中,所述人脸分类识别模块采用深度学习方法,将一组标注特征训练成分类模型,利用分类模型可以在一个分类模型中找到与输入特征距离最近的标注特征。
在一些实施方式中,所述人脸分类识别模块采用的深度学习方法指的是FACENET模型中的分类识别算法。
在一些实施方式中,所述特征管理功能中包括特征添加、修改、删除、查询的子功能,通过特征管理功能修改用户特征库和报警特征列表中的特征为用户提供了自定义用户特征库的方法。
在一些实施方式中,所述报警特征管理功能管理了报警特征列表,用于指示人脸识别检测到报警特征列表中的报警特征时是否报警。
一种基于人脸识别技术的报警系统的人脸识别报警方法,包括如下步骤:
获取转换图片,业务逻辑模块接收数据采集模块的数据,判断数据有效性,并根据数据类型将数据转换成可识别图片;
检测裁剪图片,使用人脸检测模块提供的人脸检测服务将图片做人脸检测并得到人脸裁剪图片;
获取人脸的特征向量,将获得的人脸裁剪图片使用人脸特征提取模块提取特征,得到人脸的特征向量;
分类识别,加载分类模型,使用人脸特征分类识别模块,将人脸的特征向量和分类模型加载入分类识别算法中进行计算,得到距离最近的标注特征和距离;
加载用户的报警特征列表,通过比较判断距离是否超过报警阈值,超过即为陌生人,否则则为标注特征相同的人;
生成报警信息;
将报警信息发送给用户交互模块进行展示。
在一些实施方式中,通过判断数据编码格式是否符合标准来判断数据有效性,数据编码格式符合标准则表示数据有效,反之则数据无效。
在一些实施方式中,报警阈值是将报警特征列表中的特征加载到FACENET模型中进行分类模型训练而得出的一个可以判断新特征是否属于报警特征列表的上限值。
在一些实施方式中,所述获取转换图片进行前数据采集模块会实时监控目的场景,当场景内出现变化时,将场景视频数据转发至业务逻辑模块。
在一些实施方式中,分类识别的具体操作过程为根据用户id和设备名从数据库中找到对应的分类模型并加载至业务逻辑模块,调用人脸特征分类识别模块的分类识别接口,然后在获取人脸的特征向量的步骤中得到的人脸的特征向量和分类模型进行分类识别,得到距离最近的标注特征和距离。
在一些实施方式中,所述报警信息中包括包括报警图片和报警图片的特征信息。
在一些实施方式中,分类模型的训练方法包括如下步骤:
加载用户特征库,提取用户已标注的人脸特征;
使用人脸特征分类识别模块对用户已标注的人脸特征进行训练,得到分类模型;
更新用户的分类模型。
在一些实施方式中,用户已标注的人脸特征录入报警特征列表中,人脸特征形成新的报警特征,标注转换成报警特征的昵称。
在一些实施方式中,特征的添加方法包括如下步骤:
用户在用户交互模块采集人脸图片;
用户交互模块将采集好的人脸图片提交给业务逻辑模块进行人脸检测并返回裁剪出的人脸图片;
用户对裁剪出的人脸图片进行标注,并提交;
业务逻辑模块调用人脸特征提取模块对裁剪出的人脸图片进行人脸图片特征提取,得到特征向量,将特征向量集合形成人脸特征;
将人脸特征存储到数据库并添加到用户特征库;
重新训练分类模型。
在一些实施方式中,裁剪不出人脸信息的图片将会被过滤掉。
在一些实施方式中,所述的人脸图片中仅剩人脸信息。
本发明所述的一种基于人脸识别技术的报警系统及方法的优点为:将人脸识别技术、深度学习等先进技术应用于报警系统中,能够有效的提高报警系统的智能化效果,更好的满足用户的需求,通过特征管理功能形成用户的自定义用户特征库大大提升报警系统的针对性和可靠性,进一步的提升用户周围环境的安全性。
附图说明
图1为本发明的一种实施方式中基于人脸识别技术的报警系统的模块图;
图2为本发明的一种实施方式中基于人脸识别技术的报警系统中特征添加时序图;
图3为本发明的一种实施方式中人脸识别报警方法中人脸识别时序图。
具体实施方式
如图1所示,本发明提出一种基于人脸识别技术的报警系统中包括数据采集模块、人脸检测模块、人脸特征提取模块、人脸分类识别模块、业务逻辑模块以及用户交互模块,数据采集模块、人脸检测模块、人脸特征提取模块、人脸分类识别模块以及用户交互模块均与业务逻辑模块连接,其中
数据采集模块,由摄像头或其他可以提供数据采集的设备配合图像处理程序组成,采集、处理视频或图片数据,将视频或图片数据转换成可识别的图片数据;
人脸检测模块,采用MTCNN人脸检测算法,提供人脸检测功能,人脸检测模块识别图片中的人脸位置并将人脸区域的数据提取为单张图片,向外提供API接口服务给业务逻辑模块使用;
人脸特征提取模块,采用FACENET模型中的特征提取算法,提供人脸特征提取功能,人脸特征提取模块将输入的人脸图片映射为128维特征向量,比较计算两个人脸图片的特征向量间的距离即可判断两张人脸是否为同一人,相同人的不同人脸照片提取的特征向量的距离小于等于报警阈值,不同人的人脸照片提取的特征向量的距离大于报警阈值;向外提供API接口服务给业务逻辑模块使用;
人脸分类识别模块,采用FACENET模型中的特征提取算法,提供分类模型训练、人脸特征分类识别的功能,将一组标注特征训练成分类模型,利用分类模型可以在一个分类模型中找到与输入特征距离最近的标注特征,向外提供API接口服务给业务逻辑模块使用;
业务逻辑模块,提供业务逻辑功能和流程,管理各个模块中的人脸识别相关数据,提供用户接口,用户接口中包含特征管理功能的用户接口和报警特征管理功能的用户接口,提供人脸识别报警的处理和特征管理的过程,其中人脸识别相关数据中包含用户数据、用户特征库、人脸图片、报警特征列表、分类模型,其中特征管理功能中包括特征添加、修改、删除、查询的子功能,通过特征管理功能修改用户特征库和报警特征列表达到为用户提供了自定义用户特征库的目的,使得报警系统更具有针对性,能够更好的提升用户周围环境的安全性;报警特征管理功能管理了报警特征列表,用于指示人脸识别检测到报警特征列表中的特征时是否报;报警特征列表中保存了报警图片和报警图片的特征信息,报警图片的特征信息中包括报警特征、报警特征的昵称以及报警阈值,用户数据中包含用户ID和设备名;
用户交互模块,提供用户交互界面,用户可以使用用户交互模块完成特征管理功能、设置报警特征列表、接收报警信息。
如图2所示,一种基于人脸识别技术的报警系统的特征添加的方法,包括如下步骤:
步骤2.1、用户在用户交互模块采集人脸图片;
步骤2.2、用户交互模块将采集好的人脸图片提交给业务逻辑模块进行人脸检测并返回裁剪出的人脸图片,保留人脸信息,避免人脸以外比如说头发、耳饰、衣服等信息的干扰;
步骤2.3、用户对裁剪出的人脸图片进行标注,并提交,其中标注的目的是为使得人脸图片得到更好的区分,可以通过添加文字的方式形成人脸图片的标注;
步骤2.4、业务逻辑模块调用人脸特征提取模块对裁剪出的人脸图片进行人脸图片特征提取,得到特征向量,将特征向量集合形成人脸特征;
步骤2.5、将人脸特征存储到数据库并添加到用户特征库;
步骤2.6、重新训练分类模型,
其中分类模型的训练方法包括如下步骤:
步骤2.6.1、加载用户特征库,提取新的用户已标注的人脸特征,录入报警特征列表中,人脸特征形成新的报警特征,标注转换成报警特征的昵称;
步骤2.6.2、使用人脸特征分类识别模块对用户已标注的人脸特征进行训练,得到分类模型;
步骤2.6.3、更新用户的分类模型。
如图3所示,在用户的移动设备上安装app,人脸识别技术的报警系统中进行人脸识别报警方法包括如下步骤:
步骤1、根据用户的用户数据调取对应的用户特征库、人脸图片、报警特征列表、以及分类模型,设定报警阈值保存至报警特征列表中,比如将报警阈值设定为1.1;
步骤2、数据采集模块实时监控目的场景,当场景内出现变化时,将场景视频数据转发至业务逻辑模块,其中场景内出现变化包括场景内出现晃动的现象,比如场景内的人员发生移动、眨眼睛、点头等操作;
步骤3、业务逻辑模块接收数据采集模块的数据,通过判断数据编码格式是否符合标准来判断数据有效性,数据编码格式符合标准则表示数据有效,反之则数据无效,对有效的数据根据格式类型进行编解码并转换成可识别图片数据;
步骤4、使用人脸检测模块提供的人脸检测算法服务将可识别图片进行人脸检测并裁剪出仅剩人脸信息的图片的人脸图片,其中裁剪不出人脸信息的图片将被过滤掉,保留人脸信息,使得数据信息更加的简洁有效,便于步骤5的执行,避免多余信息的干扰和增大的系统的工作量的现象;
步骤5、将步骤3中获得的人脸裁剪图片使用人脸特征提取模块提取特征,得到人脸的特征向量;
步骤6、根据用户id和设备名从数据库中找到对应的分类模型并加载至业务逻辑模块,调用人脸特征分类识别模块的分类识别接口,将步骤4中得到的特征向量和分类模型加载入FACENET模型中的分类识别算法进行分类识别,得到距离最近的标注特征和距离;
步骤7、再次加载用户设置的报警特征列表,其中保存了报警特征的昵称和报警阈值1.1,通过比较判断步骤6中得到的特征向量距离是否超过1.1,超过即为陌生人,否则则在报警特征列表中寻找是否存在符合特征报警列表中的人;
步骤8、根据步骤7生成报警信息,其中包括报警图片和报警图片的特征信息,转发至报警模块,最后对报警内容进行记录,为后来报警查询提供数据支持;
步骤9、用户收到报警推送后可以查看报警相关提示,或打开app查看具体报警信息。
其中步骤7中的报警阈值是将报警特征列表中的特征加载到FACENET模型中进行分类模型训练而得出的一个可以判断新特征是否属于报警特征列表的上限值,其值并非是固定不变的。
以上所述仅是本发明的优选方式,应当指出,对于本领域普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干相似的变形和改进,这些也应视为本发明的保护范围之内。