用户识别方法、装置、电子设备及存储介质
文献发布时间:2023-06-19 11:19:16
技术领域
本公开涉及人工智能领域,更具体地,涉及一种用户识别方法、用户识别装置、电子设备及存储介质。
背景技术
随着技术的发展,人脸识别技术应用越来越广泛。例如在用户进行人脸注册后可以获得用户的人脸信息,能够后续对用户进行人脸识别。在使用中发现,因人脸识别距离有限、摄像头无法捕捉正脸和口罩遮挡等客观因素,导致识别结果不理想。步态识别技术不会受到上述因素的影响,可以将其应用到用户识别场景。
在实现本公开构思的过程中,发明人发现现有技术中至少存在如下问题:
在多个用户已经进行人脸注册的基础上,专门让该多个用户再进行步态注册会需要耗费较大的成本,降低了用户体验。
发明内容
有鉴于此,本公开实施例提供了一种能够自动对用户进行步态注册的用户识别方法,以及用户识别装置、电子设备和存储介质。
本公开实施例的一个方面提供了一种用户识别方法。所述用户识别方法包括:采集待识别用户的第一人脸图像以及第一步态图像。基于所述第一人脸图像获取人脸识别结果,所述人脸识别结果包括第一用户标识。基于所述第一步态图像获取步态识别结果、以及第一步态特征,其中,包括:基于所述第一步态图像获取所述第一步态特征,基于所述第一步态特征获取所述步态识别结果,其中,所述步态识别结果包括第二用户标识。其中,当所述第二用户标识获取失败时,将所述第一步态特征与所述第一用户标识绑定。
根据本公开的实施例,其中,所述人脸识别结果还包括与所述第一用户标识对应的第一人脸置信分数,所述步态识别结果还包括与所述第二用户标识对应的第一步态置信分数。所述方法还包括:当所述第二用户标识获取成功,且所述第一用户标识与所述第二用户标识相同时:基于所述第一人脸置信分数、第一步态置信分数及其各自的权重参数得到第三决策分数,当所述第三决策分数在预定的范围内时,确定所述待识别用户与所述第一用户标识对应。
根据本公开的实施例,其中,所述基于所述第一人脸置信分数、第一步态置信分数及其各自的权重参数得到第三决策分数包括:基于人脸识别权重与所述第一人脸置信分数获得第一决策分数,其中,所述第一人脸置信分数的权重参数包括所述人脸识别权重,基于步态识别权重与所述第一步态置信分数获得第二决策分数,其中,所述第一步态置信分数的权重参数包括所述步态识别权重。基于所述第一决策分数和所述第二决策分数获得所述第三决策分数。
根据本公开的实施例,其中,在基于所述第一人脸置信分数、第一步态置信分数及其各自的权重参数得到第三决策分数之前,还包括:采集N个已知用户中每个已知用户的第二人脸图像和第二步态图像,其中,每个所述已知用户具有一个第三用户标识,N为大于或等于1的整数。基于每个所述已知用户的所述第二人脸图像和所述第二步态图像,分别获取与每个所述第三用户标识对应的第二人脸置信分数和第二步态置信分数。基于每个所述已知用户的所述第二人脸置信分数和所述第二步态置信分数,获得与每个所述第三用户标识对应的第四决策分数;以及基于决策模型对N个所述第二人脸置信分数、N个所述第二步态置信分数以及N个所述第四决策分数进行拟合,获得所述人脸识别权重和所述步态识别权重。
根据本公开的实施例,其中,所述决策模型包括线性决策函数,所述方法还包括:基于所述线性决策函数,对N个所述第二人脸置信分数、N个所述第二步态置信分数以及N个所述第四决策分数进行线性拟合。
根据本公开的实施例,其中,当所述第二用户标识获取失败时,将所述第一步态特征与所述第一用户标识绑定包括:在成功获取到所述第一步态特征后,生成表征第一步态特征获取成功的步态识别标志;当所述第二用户标识获取失败,且具有所述步态识别标志时,将所述第一步态特征与所述第一用户标识绑定。
根据本公开的实施例,其中,所述基于所述第一步态特征获取所述步态识别结果包括:在步态数据库中搜索与所述第一步态特征匹配的目标步态特征,其中,所述步态数据库包括多个第二步态特征,每个所述第二步态特征绑定一个对应的所述第二用户标识,所述目标步态特征属于多个所述第二步态特征,当搜索到所述目标步态特征时,获取与所述目标步态特征绑定的所述第二用户标识。
根据本公开的实施例,其中,所述在步态数据库中搜索与所述第一步态特征匹配的目标步态特征包括:将第一步态特征向量与多个第二步态特征向量一一对比,其中,所述第一步态特征包括所述第一步态特征向量,所述第二步态特征包括所述第二步态特征向量。当一个所述第二步态特征向量与所述第一步态特征向量的相似度满足预设条件时,确定其为目标步态特征向量,其中,所述目标步态特征包括所述目标步态特征向量。
本公开实施例的另一方面提供了一种用户识别装置。所述用户识别装置包括采集图像模块、人脸识别模块、步态识别模块和步态注册模块。所述采集图像模块用于采集待识别用户的第一人脸图像以及第一步态图像。所述人脸识别模块用于基于所述第一人脸图像获取人脸识别结果,所述人脸识别结果包括第一用户标识。所述步态识别模块,用于基于所述第一步态图像获取步态识别结果、以及第一步态特征,其中,包括:基于所述第一步态图像获取所述第一步态特征,基于所述第一步态特征获取所述步态识别结果,其中,所述步态识别结果包括第二用户标识。所述步态注册模块用于当所述第二用户标识获取失败时,将所述第一步态特征与所述第一用户标识绑定。
本公开实施例的另一方面提供了一种电子设备。所述电子设备包括一个或多个存储器、以及一个或多个处理器。所述存储器存储有可执行指令。所述处理器执行所述可执行指令以实现如上所述的方法。
本公开实施例的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开实施例的又一方面提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如上所述的方法。
上述一个或多个实施例具有如下优点或益效果:可以至少部分地解决用户进行步态注册的问题,并能够基于第一人脸图像获取人脸识别结果,当基于第一步态图像获取第二用户标识失败时,将第一步态特征与第一用户标识绑定,实现用户的步态注册。另外,当获取第二用户标识成功时,能够将步态识别技术和人脸识别技术结合,基于第一人脸置信分数、第一步态置信分数及其各自的权重参数得到第三决策分数,然后可以利用第三决策分数确定出待识别用户的身份。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的可以应用用户识别方法的示例性系统架构;
图2示意性示出了根据本公开的实施例的用户识别方法的流程图;
图3示意性示出了根据本公开的一实施例中将第一步态特征与第一用户标识绑定的流程图;
图4示意性示出了根据本公开的实施例的基于第一步态特征获取步态识别结果的流程图;
图5示意性示出了根据本公开的一实施例中的搜索目标步态特征的流程图;
图6示意性示出了根据本公开的实施例的获得第三决策分数的流程图;
图7示意性示出了根据本公开的又一实施例的用户识别方法的流程图;
图8示意性示出了根据本公开的实施例的用户识别装置的框图;
图9示意性示出了根据本公开的实施例的人脸识别模块的框图;
图10示意性示出了根据本公开的实施例的步态识别模块的框图;
图11示意性示出了根据本公开的实施例的用户识别装置的操作流程图;
图12示意性示出了根据本公开的另一实施例的用户识别装置的操作流程图;以及
图13示意性示出了根据本公开实施例的适于实现用户识别方法和装置的计算机系统的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
为了更清楚的描述本公开的实施例,对本公开中相关术语进行以下解释:
“人脸数据库”指存储有已经人脸注册过的已知用户的人脸特征的数据库,其中,一个已知用户的人脸特征与一用户标识绑定。
“步态数据库”指存储有已经步态注册过的已知用户的步态特征的数据库,其中,一个已知用户的步态特征与一用户标识绑定。
“第一用户标识”指对待识别用户进行人脸识别时从人脸数据库中得到的用户标识。
“第二用户标识”指对待识别用户进行步态识别时从步态数据库中得到的用户标识。
“第三用户标识”指对N个已知用户进行人脸识别时从人脸数据库得到的用户标识,以及对已知用户进行步态识别时从步态数据库得到的用户标识,其中,该N个已知用户的数据为基于决策模型进行拟合提供支持。
“第一人脸置信分数”指对待识别用户进行人脸识别时返回的置信分数,其与第一用户标识对应。
“第一步态置信分数”指对待识别用户进行步态识别时返回的置信分数,其与第二用户标识对应。
“第二人脸置信分数”指对已知用户进行人脸识别时返回的置信分数。其与第三用户标识对应,作为基于决策模型拟合求解人脸识别权重和步态识别权重时的拟合数据。
“第二步态置信分数”指对已知用户进行步态识别时返回的置信分数。其与第三用户标识对应,作为基于决策模型拟合求解人脸识别权重和步态识别权重时的拟合数据。
“第一决策分数”指基于第一人脸置信分数与决策模型中的人脸识别权重得到的决策分数。
“第二决策分数”指基于第一步态置信分数与决策模型中的步态识别权重得到的决策分数。
“第三决策分数”基于第一决策分数和第二决策分数计算获得。
“第四决策分数”基于第二人脸置信分数和第二步态置信分数获得,作为基于决策模型拟合求解人脸识别权重和步态识别权重时的拟合数据。
本公开的实施例提供了一种用户识别方法和装置。该用户识别方法包括:采集待识别用户的第一人脸图像以及第一步态图像。基于第一人脸图像获取人脸识别结果,人脸识别结果包括第一用户标识。基于第一步态图像获取步态识别结果、以及第一步态特征,其中,包括:基于第一步态图像获取第一步态特征,基于第一步态特征获取步态识别结果,其中,步态识别结果包括第二用户标识。其中,当第二用户标识获取失败时,将第一步态特征与第一用户标识绑定。
利用本公开实施例的用户识别方法,能够基于第一人脸图像获取人脸识别结果,并当基于第一步态图像获取第二用户标识失败时,将第一步态特征与第一用户标识绑定,自动实现用户的步态注册。
需要说明的是,本公开的用户识别方法和装置可用于金融领域(例如银行网点的客户识别),也可用于除金融领域之外的任意领域(例如公司员工签到、追捕逃犯或者居民小区门禁系统等),本公开的用户识别方法和装置的应用领域不做限定。
图1示意性示出了根据本公开实施例的可以应用用户识别方法的示例性系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括摄像头101,网络102和服务器103。网络102用以在摄像头101和服务器103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
首先,摄像头101可以自动拍摄用户104的实时视频并通过网络102上传到服务器103。然后,服务器103可以利用对视频中用户的全身图像添加标定矩形框。接着,服务器103可以从视频中的标定矩形框提取出用户104人脸图像。在对用户104人脸图像进行人脸对齐、图像降噪等预处理后,输入到服务器103中的人脸识别系统。同时,可以从视频中的标定矩形框提取出用户104全身躯干图像,对用户104全身躯干图像进行图像二值化、轮廓分割、图像降噪等预处理后,传输到服务器103中的步态识别系统。需要说明的是,还可以设置多个摄像头101,一部分用于直接采集人脸图像,另一部分用于直接采集步态图像。本公开对采集图像的方式不做限定。另外,本公开的人脸识别系统和步态识别系统可以通过对应的神经网络模型实现识别功能。
摄像头101可以是独立设置的监控摄像头,也可以是智能手机、摄像设备、平板电脑、膝上型便携计算机和台式计算机等电子设备上的摄像头单元。
服务器103可以是提供各种服务的服务器,例如对视频中的用户104添加标定矩形框提供支持的后台管理服务器(仅为示例)。又例如为人脸识别系统和步态识别系统进行用户识别提供支持的后台管理服务器。后台管理服务器可以对接收到的视频数据等进行分析等处理,还可以提取人脸图像或者步态图像并进一步分析处理。
需要说明的是,本公开实施例所提供的用户识别方法一般可以由服务器103执行。相应地,本公开实施例所提供的用户识别装置一般可以设置于服务器103中。本公开实施例所提供的用户识别方法也可以由不同于服务器103且能够与摄像头101和/或服务器103通信的服务器或服务器集群执行。相应地,本公开实施例所提供的用户识别装置也可以设置于不同于服务器103且能够与摄像头101和/或服务器103通信的服务器或服务器集群中。
应该理解,图1中的摄像头、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的摄像头、网络和服务器。
下面以银行网点进行用户识别的场景为例,详细说明本公开的用户识别方法的工作流程。
参照图1,例如用户104是去银行网点办理业务。摄像头101可以布置在银行网点之外,能够保证及时获取到用户104的图像即可。例如摄像头101获取到用户104的实时视频之后,传输到银行网点的服务器103中,对视频数据进行处理。并能够利用服务器103中的人脸识别系统和步态识别系统对用户进行识别。
图2示意性示出了根据本公开的实施例的用户识别方法的流程图。
如图2所示,该方法可以包括操作S210~操作S270。
在操作S210,采集待识别用户的第一人脸图像以及第一步态图像。
在操作S220,基于第一人脸图像获取人脸识别结果,该人脸识别结果包括第一用户标识。
根据本公开的实施例,首先,基于第一人脸图像可以获取人脸特征向量(仅为示例)。然后,在人脸数据库中搜索与人脸特征向量匹配的目标特征向量,其中,人脸数据库存储有多个人脸特征向量,每个人脸特征向量绑定一个对应的第一用户标识。
例如用户104已经在银行网点进行了人脸注册,其人脸图像以及人脸特征向量已经保存在人脸数据库中,并且保存时为用户104分配了一个代表其身份的编号(即第一用户标识)。当用户104再次进入银行网点之前,可以通过摄像头101获取到用户104的第一人脸图像,并根据获取到的人脸特征向量在人脸数据库中进行搜索。
具体地,可以将用户104的人脸特征向量与人脸数据库中多个人脸特征向量一一计算余弦相似度,例如当余弦相似度大于一预设值时,即可确定出目标特征向量,并获得该目标特征向量绑定的用户标识。
在本公开的另一些实施例中,还可以计算用户104的人脸特征向量与人脸数据库中的人脸特征向量的欧式距离。当欧式距离小于一预设值时,则表示向量相似度满足预设条件,既可以确定出目标特征向量。
在操作S230,基于第一步态图像获取步态识别结果、以及第一步态特征。其中,包括:基于第一步态图像获取第一步态特征,基于第一步态特征获取步态识别结果,其中,该步态识别结果包括第二用户标识。
在操作S240,判断第二用户标识是否获取成功。当获取失败时,执行操作S250。当第二用户标识获取成功,且第一用户标识与第二用户标识相同时,执行操作S260。
在操作S250,当第二用户标识获取失败时,将第一步态特征与第一用户标识绑定。
根据本公开的实施例,用户104可能没有在银行网点进行步态注册。因此步态识别系统不能通过用户104的第一步态特征获取到第二用户标识。此时,可以将该第一步态特征与人脸识别得到的第一用户标识绑定,并存储在步态数据库中。
例如银行网点具有庞大的用户群体,各个用户已经完成了人脸注册,而步态识别技术的应用则需要用户进行步态注册以获取步态信息。通过工作人员通知各个用户再次来到银行网点进行步态注册需要耗费极大的人力成本,并且会浪费用户的时间,甚至引起用户不满。利用本公开实施例的用户识别方法,可以在用户主动前往银行网点办理业务时,自动获得待识别用户的人脸识别结果,以及步态识别结果和第一步态特征。当第二用户识别标识获取失败时,能够利用人脸识别出的第一用户标识,在不耽搁用户时间的情况下自动完成步态注册。
虽然上文以特定的顺序描述了方法的各个操作,然而本公开的实施例不限于此,上述操作可以根据需要以其他顺序执行。例如步骤S220可以在步骤S230之后执行,也可以同时执行。在一些实施例中,用户物品交互矩阵的生成以及图像的特征提取可以独立于预测过程来执行。
在操作S260,当第二用户标识获取成功,且第二用户标识与第一用户标识相同时,基于第一人脸置信分数、第一步态置信分数及其各自的权重参数得到第三决策分数。其中,人脸识别结果还包括与第一用户标识对应的第一人脸置信分数,步态识别结果还包括与第二用户标识对应的第一步态置信分数。
根据本公开的实施例,参照图1,例如对用户104进行人脸识别得到第一用户标识和第一人脸置信分数,同时对用户104进行步态识别得到了第二用户标识和第二人脸置信人数。在本公开的一些实施例中,人脸识别结果中可能包括多个第一用户标识及对应的第一人脸置信分数,步态识别结果中可能包括多个第二用户标识及对应的第二步态置信分数。首先可以匹配出相同的第一用户标识和第二用户标识(即代表了同一个用户)。然后基于对应的第一人脸置信分数、第一步态置信分数及其各自的权重参数得到第三决策分数。
在操作S270,当第三决策分数在预定的范围内时,确定待识别用户与第一用户标识对应。
根据本公开的实施例,例如计算出用户104的人脸特征向量与人脸识别数据库中的目标人脸特征向量之间的欧式距离后,再进行归一化将其映射到[0,1]之间,即可据此得到第一人脸置信分数。同时,计算出用户104的步态特征向量与步态识别数据库中的目标步态特征向量之间的欧式距离,再进行归一化将其映射到[0,1]之间,即可据此得到第一步态置信分数。然后第三决策分数的预定范围可以根据权重参数、第一人脸置信分数及第一步态置信分数具体设置,当第三决策分数在预定范围内,则表示能够确认出用户104的标识,并可以通过标识调取相关资料。以此可以合理的结合人脸识别与步态识别,提高用户识别的准确性。
图3示意性示出了根据本公开的一实施例中将第一步态特征与第一用户标识绑定的流程图。
如图3所示,操作S250中将第一步态特征与第一用户标识绑定还可以包括操作S310~操作S320。
在操作S310,在成功获取到第一步态特征后,可以生成表征第一步态特征获取成功的步态识别标志。
在操作S320,当第二用户标识获取失败,且具有步态识别标志时,将第一步态特征与第一用户标识绑定。
根据本公开的实施例,例如在进行人脸识别和步态识别时,若第二用户标识获取失败,可以通过判断是否有步态识别标志来执行绑定操作,提高了执行效率。具体地,可以使用步态识别模型从第一步态图像提取第一步态特征,例如第一步态特征可以为特征值、特征向量或者矩阵等形式。在获取到第一步态特征后,步态识别模型可以对一个变量赋值,例如赋值为“1”或者“TRUE”。通过读取到该变量的值为“1”或者“TRUE”,即可执行绑定操作。应知的是,“生成步态识别标志”可以为对变量赋值的操作,也可以为生成一个变量并进行赋值的操作,本公开不对其进行限定。
图4示意性示出了根据本公开的实施例的基于第一步态特征获取步态识别结果的流程图。
如图4所示,在操作S230中,基于第一步态特征获取步态识别结果可以包括操作S410~操作S420。
在操作S410,在步态数据库中搜索与第一步态特征匹配的目标步态特征,其中,步态数据库包括多个第二步态特征,每个第二步态特征绑定一个对应的第二用户标识,目标步态特征属于多个第二步态特征。
在操作S420,当搜索到目标步态特征时,获取与目标步态特征绑定的第二用户标识。
根据本公开的实施例,参照图1,例如用户104已经在银行网点进行了步态注册,其步态特征已经保存在步态数据库中,并且保存时为用户104分配了一个代表其身份的用户编号(即第二用户标识),该编号与人脸数据库中用户104的身份编号相同。
首先,可以将用户104的人脸图像输入到人脸识别神经网络进行处理,得到第一步态特征。然后,基于第一步态特征可以在步态数据库中搜索到用户104注册时存储的步态特征(即目标步态特征),并获取其用户标识。
图5示意性示出了根据本公开的一实施例中的搜索目标步态特征的流程图。
如图5所示,操作S410中在步态数据库中搜索与第一步态特征匹配的目标步态特征可以包括操作S510~操作S520。
在操作S510,将第一步态特征向量与多个第二步态特征向量一一对比,其中,第一步态特征包括第一步态特征向量,第二步态特征包括第二步态特征向量。
在操作S520,当一个第二步态特征向量与第一步态特征向量的相似度满足预设条件时,确定其为目标步态特征向量,其中,目标步态特征包括目标步态特征向量。
根据本公开的实施例,在用户104进入银行网点之前,可以通过摄像头101获取到用户104的第一步态图像,并根据获取到的第一步态特征向量在步态数据库中进行搜索。具体地,可以一一计算第一步态特征向量与步态数据库中存储的多个第二步态特征向量的余弦相似度。当一个第二步态特征向量与第一步态特征向量的余弦相似度大于一预设值时,确定其为目标步态特征向量,并获取与该目标步态特征向量绑定的身份编号。
在本公开的另一些实施例中,还可以计算第一步态特征向量与第二步态特征向量的欧式距离,当欧式距离小于一预设值时则表示向量相似度满足预设条件,既可以确定出目标特征向量。
图6示意性示出了根据本公开的实施例的获得第三决策分数的流程图。
如图6所示,操作S260中基于第一人脸置信分数、第一步态置信分数及其各自的权重参数获得第三决策分数可以包括操作S610~操作S630。
在操作S610,基于人脸识别权重与第一人脸置信分数获得第一决策分数,其中,第一人脸置信分数的权重参数包括人脸识别权重。
在操作S620,基于步态识别权重与第一步态置信分数获得第二决策分数,其中,第一步态置信分数的权重参数包括步态识别权重。
在操作S630,基于第一决策分数和第二决策分数获得第三决策分数。
在本公开的一些实施例中,决策模型可以如下所示:
S=λ
其中,S表示第三决策分数,λ
例如,首先,获取到用户104的人脸置信分数S
图7示意性示出了根据本公开的又一实施例的用户识别方法的流程图。
如图7所示,该用户识别方法能够获得人脸识别权重和步态识别权重,可以包括操作S710~操作S740。
在操作S710,采集N个已知用户中每个已知用户的第二人脸图像和第二步态图像,其中,每个已知用户具有一个第三用户标识,N为大于或等于1的整数。
在操作S720,基于每个已知用户的第二人脸图像和第二步态图像,分别获取与每个第三用户标识对应的第二人脸置信分数和第二步态置信分数。
根据本公开的实施例,N个已知用户已经进行了人脸注册和步态注册,并分配了对应的第三用户标识。因此,在获取到每个已知用户的第二人脸图像和第二步态图像后,可以提取人脸信息和步态信息,并分别基于人脸数据库和步态数据库中的数据得到第二人脸置信分数和第二步态置信分数。
在操作S730,基于每个已知用户的第二人脸置信分数和第二步态置信分数,获得与每个第三用户标识对应的第四决策分数。
根据本公开的实施例,可以参照式1,此时第二人脸置信分数S
在操作S740,基于决策模型对N个第二人脸置信分数、N个第二步态置信分数以及N个第四决策分数进行拟合,获得人脸识别权重和步态识别权重。
根据本公开的实施例,再参照式1,决策模型包括线性决策函数,可以基于线性决策函数,对N个第二人脸置信分数、N个第二步态置信分数以及N个第四决策分数进行线性拟合。
具体地,例如每个已知用户具有对应的一组包括第二人脸置信分数、第二步态置信分数和第四决策分数的数据。将N组数据分别代入到式1中,可以得到线性方程组,基于最小二乘法原理求解获得人脸识别权重λ
根据本公开的实施例,决策模型还可以为非线性决策函数,例如将N组数据分别代入到非线性决策函数中,通过指数拟合、高斯拟合或者分段函数拟合等方式得到人脸识别权重λ
图8示意性示出了根据本公开的实施例的用户识别装置的框图。
如图8所示,用户识别装置800可以包括采集图像模块810、人脸识别模块820、步态识别模块830和步态注册模块840。该用户识别装置800可以用于实现参考图2~图7所描述的用户识别方法。
采集图像模块810例如可以执行操作210,用于采集待识别用户的第一人脸图像以及第一步态图像。
人脸识别模块820例如可以执行操作220,用于基于第一人脸图像获取人脸识别结果,人脸识别结果包括第一用户标识。
图9示意性示出了根据本公开的实施例的人脸识别模块820的框图。
如图9所示,并参照图1,人脸识别模块820可以包括人脸图像提取单元921、人脸图像预处理单元922、人脸识别单元923和人脸识别结果返回单元924。
人脸图像提取单元921可以用于从视频(由摄像头101拍摄)中的标定矩形框提取出用户104的人脸图像。
人脸图像预处理单元922可以用于对用户104的人脸图像进行预处理,例如包括人脸对齐、图像降噪处理等。
人脸识别单元923可以用于将预处理后的图像传入人脸神经网络进行识别,在人脸数据库中完成1:N搜索(例如将用户104的人脸特征向量与人脸数据库中的N个人脸特征向量一一对比)。
人脸识别结果返回单元924可以用于返回人脸置信分数和客户编号(即第一用户标识)。
步态识别模块830例如可以执行操作230,用于基于第一步态图像获取步态识别结果、以及第一步态特征,其中,包括:基于第一步态图像获取第一步态特征,基于第一步态特征获取步态识别结果,其中,步态识别结果包括第二用户标识。
图10示意性示出了根据本公开的实施例的步态识别模块830的框图。
如图10所示,并参照图1,步态识别模块830可以包括躯干图像提取单元1031、躯干图像预处理单元1032、步态识别单元1033和步态识别结果返回单元1034。
躯干图像提取单元1031可以用于从视频(由摄像头101拍摄)中的标定矩形框提取出用户104的全身躯干图像。
躯干图像预处理单元1032可以用于对用户104的全身躯干图像进行预处理,包括图像二值化、轮廓分割、图像降噪处理等。
步态识别单元1033可以用于将预处理后的图像传入步态神经网络进行识别,在步态数据库中完成1:N搜索,具体可以参照操作S310~操作S320,以及操作S410~操作S420,在此不做赘述。
步态识别结果返回单元1034可以用于返回步态置信分数、客户编号(即第二用户标识)、步态特征标志和第一步态特征。
步态注册模块840例如可以执行操作250,用于当第二用户标识获取失败时,将第一步态特征与第一用户标识绑定。
根据本公开的实施例,在步态识别单元1033成功获取到第一步态特征后,可以生成表征第一步态特征获取成功的步态识别标志,然后返回给步态注册模块840。因此,步态注册模块840在当第二用户标识获取失败,且判断出具有步态识别标志时,将第一步态特征与第一用户标识绑定。从而省略了步态注册模块840判断第一步态特征是否可以使用的步骤,通过判断是否有步态识别标志来执行绑定操作,提高了执行效率。
根据本公开的实施例,用户识别装置800还可以包括身份匹配模块。身份匹配模块例如可以用于当第二用户标识获取成功,且第一用户标识与第二用户标识相同时:基于第一人脸置信分数、第一步态置信分数及其各自的权重参数得到第三决策分数,当第三决策分数在预定的范围内时,确定待识别用户与第一用户标识对应。
根据本公开的实施例,身份匹配模块还可以执行操作S610~操作S630,参考式1,用于基于人脸识别权重与第一人脸置信分数获得第一决策分数,基于步态识别权重与第一步态置信分数获得第二决策分数,以及基于第一决策分数和第二决策分数获得第三决策分数。
根据本公开的实施例,用户识别装置800还可以包括拟合模块,拟合模块用于采集N个已知用户中每个已知用户的第二人脸图像和第二步态图像,其中,每个已知用户具有一个第三用户标识,N为大于或等于1的整数。基于每个已知用户的第二人脸图像和第二步态图像,分别获取与每个第三用户标识对应的第二人脸置信分数和第二步态置信分数。基于每个已知用户的第二人脸置信分数和第二步态置信分数,获得与每个第三用户标识对应的第四决策分数。以及基于决策模型对N个第二人脸置信分数、N个第二步态置信分数以及N个第四决策分数进行拟合,获得人脸识别权重和步态识别权重。
以银行网点进行用户识别的场景为例,参照图1,结合图11~图12详细说明本公开的实施例的用户识别装置的操作流程。
图11示意性示出了根据本公开的实施例的用户识别装置的操作流程图。
如图11所示,在操作S1110,可以检测到用户104进入银行网点。
在操作S1120,当用户104进入到摄像头101的拍摄范围后,即可使用摄像头101自动捕捉用户104的实时视频,并将视频实时传输给人脸识别系统和步态识别系统。
在操作S1130,服务器103中的人脸识别系统(例如可以包括人脸识别模块820)通过视频中的人脸图像进行人脸信息提取,并返回人脸识别结果、第一人脸置信分数。
在本公开的一些实施例中,多个用户已经在银行网点进行了人脸注册。而在银行网点使用人脸识别技术过程中发现,在摄像头101与用户104之间的有效距离1~5米时,可以成功获取到人脸特征向量进行人脸识别。而可能银行网点的工作人员获取到用户104的身份编号时,用户104已经进入了网点,导致预留给工作人员的准备时间不足。因此,采用步态识别系统可以对人脸识别系统的缺陷进行补充。
在操作S1140,服务器103中的步态识别系统(例如可以包括步态识别模块830)通过视频中的步态图像进行步态信息提取,并返回步态识别结果、第一步态置信分数、步态特征标志和第一步态特征。
根据本公开的实施例,步态识别系统的有效识别距离可达50米,在识别出用户身份后,可以为工作人员提供更长的准备时间。步态识别系统还可以解决口罩遮挡面部的问题,并降低了对摄像机的要求。
根据本公开的实施例,每次对用户进行步态识别皆返回步态识别结果、步态特征标志和第一步态特征。便于身份匹配系统根据步态识别结果实时决定进行身份匹配操作还是步态注册操作。
在操作S1150,身份匹配系统(例如可以包括步态注册模块840和身份匹配模块)接收到人脸识别结果(例如包括第一用户标识和第一人脸置信分数),以及步态识别结果(例如包括第二用户标识和第一步态置信分数)、步态特征标志和第一步态特征。当身份匹配系统读取到步态识别结果为空(即没有包含第二用户标识)时,相应的,第一步态置信分数也可能为空。可以读取步态特征标志,例如步态特征标志为TRUE,表明步态识别系统成功获取了第一步态特征,那么可以将人脸识别结果中的第一用户标识与第一步态特征绑定,并存储在步态识别数据库中。当身份匹配系统获取到第二用户标识,则可以将第一人脸置信分数和第一步态置信分数输入决策模型,并输出用户104的用户标识。
在操作S1160,银行网点的工作人员通过展示系统(例如腕表、PAD或者手机等)获知用户104的用户标识,并可以获取用户104的姓名、资产和是否预约业务等信息。在本公开的一些实施例中,还可以设置数据推送系统,用于将身份匹配系统的处理结果推送至展示系统中供工作人员查看。工作人员在展示系统中查看用户104的信息,方便网点进行要客识别、精准营销以及智能运营。
图12示意性示出了根据本公开的另一实施例的用户识别装置的操作流程图。
如图12所示,该用户识别装置的操作流程可以包括操作S1110~操作S1150,在此不做赘述。其中,在操作S1150中身份匹配系统的工作流程还可以包括操作S1251~操作S1254。
在操作S1251,身份匹配系统接收到人脸识别结果,以及步态识别结果、步态特征标志和第一步态特征后,进行识别结果判断。具体如下:
1)当人脸识别结果和步态识别结果都为空时,表明可能采集的待识别用户的第一人脸图像和第一步态图像不符合标准,没有提取到有效的特征。因此,重新执行操作S1120;
2)当人脸识别结果包括第一用户识别标识和第一人脸置信分数,但是步态识别结果为空时,判断是否具有步态识别标志,例如读取到步态识别标志为TRUE,即表示已对同一用户完成步态特征提取,执行操作S1252;
3)当人脸识别结果和步态识别结果符合要求时,执行操作S1253。本公开的一些实施例中,若人脸识别结果为空,而步态识别结果包括第二用户标识和第一步态置信分数,也可以执行操作S1252。此时说明用户已经进行过步态注册,而人脸识别技术容易受到距离、角度或者光线等影响,甚至用户可能戴着口罩进入银行网点,那么人脸识别结果的稳定性较弱,因此,可以步态识别结果为准进行用户识别。
在操作S1252,将人脸识别结果中的第一用户标识与第一步态特征绑定,并存储在步态识别数据库中,完成步态注册。
在操作S1253,参照式1,将第一人脸置信分数和第一步态置信分数输入到决策模型中,根据决策分数确定待识别用户是否与第一用户标识对应(第一用户标识与第二用户标识相同)。可以参照操作S610~操作S630,在此不做赘述。
在操作S1254,在决策分数满足预定条件时,将第一用户标识输出。
本公开实施例的用户识别装置在依靠人脸识别来实现用户识别的基础上增加了步态识别。当用户进入网点后,摄像头会自动捕捉用户的人脸信息和步态信息,同时连接人脸识别系统和步态识别系统进行身份识别,接着将人脸识别和步态识别的结果送入身份匹配系统,然后得到用户身份信息。最后通过数据推送系统将身份信息传送到展示系统中供工作人员查看,从而提高了用户识别结果的准确度,并给工作人员预留了足够时间。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,采集图像模块810、人脸识别模块820、步态识别模块830和步态注册模块840中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,采集图像模块810、人脸识别模块820、步态识别模块830和步态注册模块840中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,采集图像模块810、人脸识别模块820、步态识别模块830和步态注册模块840中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图13示意性示出了根据本公开实施例的适于实现用户识别方法和装置的计算机系统的方框图。图13示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图13所示,根据本公开实施例的计算机系统1300包括处理器1301,其可以根据存储在只读存储器(ROM)1302中的程序或者从存储部分1308加载到随机访问存储器(RAM)1303中的程序而执行各种适当的动作和处理。处理器1301例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器1301还可以包括用于缓存用途的板载存储器。处理器1301可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1303中,存储有系统1300操作所需的各种程序和数据。处理器1301、ROM1302以及RAM 1303通过总线1304彼此相连。处理器1301通过执行ROM 1302和/或RAM 1303中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,程序也可以存储在除ROM 1302和RAM 1303以外的一个或多个存储器中。处理器1301也可以通过执行存储在一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,系统1300还可以包括输入/输出(I/O)接口1305,输入/输出(I/O)接口1305也连接至总线1304。系统1300还可以包括连接至I/O接口1305的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1306;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1307;包括硬盘等的存储部分1308;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1309。通信部分1309经由诸如因特网的网络执行通信处理。驱动器1310也根据需要连接至I/O接口1305。可拆卸介质1311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1310上,以便于从其上读出的计算机程序根据需要被安装入存储部分1308。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1309从网络上被下载和安装,和/或从可拆卸介质1311被安装。在该计算机程序被处理器1301执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 602和/或RAM 603和/或ROM 602和RAM 603以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行本公开实施例所提供的方法的程序代码,当计算机程序产品在电子设备上运行时,该程序代码用于使电子设备实现本公开实施例所提供的图像识别方法。
在该计算机程序被处理器1301执行时,执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1309被下载和安装,和/或从可拆卸介质1311被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
- 用户识别方法、用户识别装置、电子设备及存储介质
- 一种用户识别方法、装置、存储介质及电子设备