掌桥专利:专业的专利平台
掌桥专利
首页

人物识别方法、电子设备、存储介质及装置

文献发布时间:2023-06-19 11:22:42


人物识别方法、电子设备、存储介质及装置

技术领域

本申请涉及计算机技术领域,尤其涉及一种人物识别方法、电子设备、存储介质及装置。

背景技术

当前采用AI算法识别视频内容中的人物时,基于服务器的模式实现,具体地,服务器抓取待识别的视频帧图像,并采用AI算法对待识别的视频帧图像进行检测和识别,从而得到待检测的视频帧图像中所包含的人物。

然而,当大量视频帧图像均通过网络发送给服务器进行检测和识别时,不仅会增加带宽成本,还会给服务器带来很大压力。

发明内容

本申请提供了一种人物识别方法、电子设备、存储介质及装置,用以减轻服务器的压力,减低带宽成本。

第一方面、提供一种人物识别方法,所述方法包括:

获取当前时刻的视频帧,所述当前时刻为监听到与视频相关的操作事件的时刻;

获取所述视频帧中的人脸头像图片;

向服务器发送所述人脸头像图片,并接收所述服务器返回的与所述人脸头像图片对应的人物信息。

可选地,获取所述视频帧中的人脸头像图片,包括:

采用预先训练的人脸检测模型,推理得到人脸头像在所述视频帧中的目标区域;

从所述视频帧中截取与所述目标区域对应的所述人脸头像图片。

可选地,采用预先训练的人脸检测模型,推理得到人脸头像在所述视频帧中的目标区域,包括:

创建与所述人脸检测模型对应的推理请求;

利用所述推理请求对所述视频帧进行推理,得到所述目标区域。

可选地,采用预先训练的人脸检测模型,推理得到人脸头像在所述视频帧中的目标区域之前,还包括:

装载所述人脸检测模型。

可选地,装载所述人脸检测模型,包括:

获得与所述人脸检测模型对应的中间文件;

加载所述中间文件,以实现对所述人脸检测模型的装载。

可选地,所述中间文件包括第一文件和第二文件,第一文件用于描述所述人脸检测模型的网络拓扑结构,所述第二文件包括所述人脸检测模型的模型参数和模型变量。

可选地,加载所述中间文件,包括:

获取所述第二文件中的模型参数和模型变量;

利用所述模型参数和所述模型变量,得到所述人脸检测模型的权重参数;

加载所述第一文件和所述权重参数,以实现对所述中间文件的加载。

可选地,装载所述人脸检测模型,包括:

获取所述人脸检测模型对应的模型文件;

通过神经网络处理器加载所述模型文件,得到任务模型;

对所述任务模型配置模型内存,从而实现对所述人脸检测模型的装载。

第二方面、提供一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;

所述存储器,用于存储计算机程序;

所述处理器,用于执行所述存储器中所存储的程序,实现第一方面所述的方法。

第三方面、提供一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现第一方面所述的方法。

第四方面、提供一种人物识别装置,所述装置包括:

第一获取单元,用于获取当前时刻的视频帧,所述当前时刻为监听到与视频相关的操作事件的时刻;

第二获取单元,用于获取所述视频帧中的人脸头像图片;

接收单元,用于向服务器发送所述人脸头像图片,并接收所述服务器返回的与所述人脸头像图片对应的人物信息。

本申请实施例提供的上述技术方案与现有技术相比具有如下优点:

本申请实施例提供的技术方案,在对视频帧中的人物进行识别时,由客户端获取当前时刻的视频帧、以及视频帧中的人脸头像图片,由服务器对人脸头像图片进行识别,得到人脸头像图片对应的人物信息。即,本申请将对视频帧的检测过程在客户端完成,而识别过程在服务器完成,以此减轻了服务器的压力,并降低带宽成本。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1为本申请实施例中一种人物识别方法的流程示意图;

图2为本申请实施例中另一种人物识别方法的流程示意图;

图3为本申请实施例中另一种人物识别方法的流程示意图;

图4为本申请实施例中另一种人物识别方法的流程示意图;

图5为本申请实施例中一种人物识别装置的结构示意图;

图6为本申请实施例中另一种人物识别装置的结构示意图;

图7为本申请实施例中人物识别系统的结构示意图;

图8为本申请实施例中电子设备的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。

本申请实施例提供一种人物识别方法,该方法可以应用于客户端侧的任一电子设备,其中该电子设备具体可以为手机、平板电脑、笔记本电脑中的至少一种;

如图1所示,该方法可以包括以下步骤:

步骤101、获取当前时刻的视频帧。

当前时刻为监听到与视频相关的操作事件的时刻。

一个例子中,该操作事件可以为对视频的拖动事件。

此时,当前时刻为拖动事件结束时的时刻。

实际应用中,当用户通过电子设备观看视频时,用户拖动视频的进度条,电子设备监测到拖动事件;当用户的拖动动作结束时,电子设备可以确定拖动事件的结束时刻,以获取结束时刻的视频帧。

另一个例子中,该操作事件可以为对视频的点击事件。

实际应用中,当用户通过电子设备观看视频时,可以通过电子设备的显示界面点击视频,电子设备监测到该点击事件,确定点击事件对应的当前时刻,以获取当前时刻的视频帧。

另一个例子中,该操作事件可以为对AI(Artificial Intelligence,人工智能)识人按钮的点击事件,其中AI识人按钮为在显示视频的界面上显示的虚拟按钮。

可选地,由于视频帧对应的图像像素尺寸较大,因此,为了降低运算量以及节省网络带宽,本实施例在获得当前时刻的视频帧后,可以对视频帧进行格式转换以及压缩处理。

具体地,可以将视频帧由YUV格式转换为RGB格式,并对RGB格式的视频帧进行压缩处理,得到JPEG格式的视频帧。

步骤102、获取视频帧中的人脸头像图片。

可选地,本实施例可以采用预先训练得到的人脸检测模型,对视频帧进行推理,得到人脸头像在视频帧中的目标区域,并从视频帧中截取与目标区域对应的人脸头像图片。

可选地,本实施例,为了加快人脸检测模型的执行速度,可以将人脸检测模型装载到设备,如图形处理器(GPU)设备。具体实现时,在GPU上创建推理引擎,并利用推理引擎装载人脸检测模型至图形处理器设备。

可选地,还可以基于推理引擎,创建与人脸检测模型对应的推理请求,利用推理请求对视频帧进行推理,得到人脸头像在视频帧中的目标区域,并利用目标区域从视频帧中截取人脸头像图片。

示例性地,在人脸检测模型中,可以利用滑动窗口,检测视频帧中的人脸图像的区域,得到包含人脸图像的目标区域。

其中,滑动窗口的尺寸小于视频帧的像素尺寸。

可选地,滑动窗口可以为矩形窗口,因此得到的目标区域也可以为矩形区域。

具体实现时,从图片中获取滑动窗口每次移动后的子图片,并采用神经网络模型对子图片进行识别,如果识别得到子图片为人脸图像图片的一部分,则保留该子图片,直至识别到图片中的整个人脸图像图片。

可选地,在截取人脸头像图片时,可以获取目标区域的坐标,从视频帧中截取与目标区域的坐标对应的人脸头像图片。

本实施例中,由于目标区域对应有多个子图片,因此可以通过上述子图片的像素坐标确定目标区域的坐标。

示例性地,可以通过调用Windows的Gdiplus(图形设备)图形库,截取视频帧中与目标区域的坐标对应的图片,得到人脸头像图片。

可选地,本实施例中,获取当前时刻的视频帧后,可以将视频帧存储在本地,因此在采用人脸检测模型对视频帧进行推理前,可以基于视频帧的本地存储路径,从本地读取视频帧的图片二进制数据,以获取视频帧。

示例性地,可以通过电子设备中的文件格式读取库(FormatReader)库基于本地存储路径,读取视频帧的图片二进制数据,并向人脸检测模型输入该图片二进制数据。

可选地,基于设备的具体实现,本实施例提供以下两种将人脸检测模型装载到设备的具体实现:

其一、当设备为图形处理器(GPU)时:

可选地,人脸检测模型的中间文件可以包括第一文件和第二文件。

其中,第一文件用于描述人脸检测模型的网络拓扑结构,第二文件包括人脸检测模型的模型参数和模型变量。

示例性地,第一文件的文件格式可以为XML文件,即在得到人脸检测模型的网络拓扑结构后,可以将该网络拓扑结构存储于XML文件中,从而得到第一文件。

示例性地,第二文件的文件格式可以为BIN文件。

基于上述中间文件的具体实现,在加载中间文件时,如图2所示,可以包括以下步骤:

步骤201、获取第二文件中的模型参数和模型变量;

步骤202、利用模型参数和模型变量,得到人脸检测模型的权重参数;

步骤203、加载第一文件和权重参数,以实现对中间文件的加载。

其二、当设备为神经网络处理器(Neural-network Processing Unit,NPU)时:

在将人脸检测模型装载到设备时,获取所述人脸检测模型对应的模型文件;通过神经网络处理器加载所述模型文件,得到任务模型;对所述任务模型配置模型内存,从而实现对所述人脸检测模型的装载。

其中,模型文件中存储有人脸检测模型的网络拓扑结构、模型参数以及模型变量。

示例性地,该模型文件的文件扩展名可以为.pb。

在此种情况下,在获取视频帧中的人脸头像图片时,向模型内存输入该视频帧,并在模型内存中运行任务模型,从而得到人脸头像图片。

其中,模型内存包括任务模型运行所占用的内存大小。

步骤103、向服务器发送人脸头像图片,并接收服务器返回的与人脸头像图片对应的人物信息。

可选地,考虑到服务器对人脸头像图片识别时,所能识别图片的像素尺寸可以为112*112,基于此,为了降低网络带宽,在将人脸头像图片向服务器发送前,还可以对人脸图像图片进行等比缩放至服务器最小支持的图片大小。

示例性地,人物信息包括但不限于人物头像、人物名字和人物标识。

实际应用中,在接收到人脸头像图片对应的人物信息后,还可以在视频的显示界面,显示人物头像和人物名字。

可选地,在接收到人脸头像图片对应的人物信息后,还可以根据人物信息中的人物标识,将视频对应的人物列表中与人物标识对应的展示次序,由当前次序更新为目标次序,以便当存在用户对人物列表的操作(如用户对人物列表的点击操作)时,按照目标次序,向用户显示人物列表。

可选地,当人物列表中人物标识对应的展示次序更新为目标次序时,可以将人物列表中的其它人物信息的展示次序顺次下移,其中,其它人物信息指的是展示次序会基于人物标识对应的展示次序的改变而相应发生改变的人物信息。

例如,检测到操作事件前,人物列表中的人物信息的展示次序可参见表一:

表一

基于操作事件所得到人物标识与人物信息C对应,当确定的人物信息C的目标次序为在人物列表中的第二行显示时,更新后的人物列表可以参见表二:

表二

可见,人物信息B的展示次序基于人物标识对应的展示次序的改变而相应发生改变,因此基于人物信息C的展示次序的改变,人物信息B的展示次序顺次下移,将人物信息B的展示次序由在人物列表的第二行展示更改为在第三行展示。

可选地,人物列表中的各人物信息的初始的展示次序,可以由服务器下发给客户端。

示例性地,初始的展示次序可以与视频观看用户的用户画像对应,因此对于同一视频,当视频观看用户的用户画像不同时,人物列表的初始的展示次序也不同。

其中,用户画像包括年龄、性别、兴趣等参数。

可选地,本实施例中,人物列表的更新周期可以包括以下两种情况:

其一,当检测到操作事件时才更新人物列表中的各人物信息的展示次序。

此种情况下,当人物列表中人物标识对应的展示次序更新为目标次序后,当再次检测到操作事件时,才会根据再次检测到的操作事件更新人物列表中的各人物信息的展示次序。

其二,结合操作事件和预设更新周期更新人物列表中各人物信息的展示次序。

此种情况下,当人物列表中人物标识对应的展示次序更新为目标次序后,当再次检测到操作事件或预设更新周期到来时,再次更新人物列表中各人物信息的展示次序。

如,当预设更新周期到来时,按照操作时间发生后的展示次序或人物列表的初始的展示次序,对任务列表中的各任务信息的展示次序进行更新。

本申请实施例提供的技术方案,在对视频帧中的人物进行识别时,由客户端获取当前时刻的视频帧、以及视频帧中的人脸头像图片,由服务器对人脸头像图片进行识别,得到人脸头像图片对应的人物信息。即,本申请将对视频帧的检测过程在客户端完成,而识别过程在服务器完成,以此减轻了服务器的压力,并降低带宽成本。

可选地,可以根据人物标识对应的权重确定目标次序,前述实施例的基础上,如图3所示,提供以下确定目标次序的方式:

步骤301、获取当前次序下与人物标识对应的当前权重。

本实施例中,人物标识对应的当前权重包括以下两种情况:

其一,当前权重为用户上一次操作事件结束后确定的上一次目标权重。

其二,当前权重为初始预设值。

此种情况下,当确定不存在上一次目标权重时,将当前权重设为初始预设值。

其中,初始预设值可以人为设置。

本实施例中,人物列表中的各人物信息的初始预设值相同。

步骤302、确定与当前权重和预设权重变量对应的目标权重。

本实施例中,预设权重变量为用户预先设置。

可选地,可以对当前权重和预设权重变量进行求和运算,得到目标权重。

可选地,当人物标识对应的权重由当前权重更新为目标权重时,人物列表中的其它人物信息所对应的权重,也会相应发生变化。

示例性地,当目标权重为当前权重和预设权重变量进行求和运算得到时,相应地,其它人物信息所对应的权重会基于预设权重变量进行减法运算而减小。

例如,当人物标识对应的当前权重为1、其它人物信息对应的权重为1、同时预设权重变量也为1时,得到的目标权重可以为2,其它人物信息所对应的权重则变为0。

步骤303、利用目标权重,确定与人物标识对应的目标次序。

本实施例中,可以预先设置权重与次序的对应关系,因此,当确定目标权重后,可以利用预设的权重与次序的对应关系,确定与目标权重对应的目标次序。

以操作事件为拖动事件为例,举例说明根据权重对人物列表的展示次序进行更新的过程:

检测到拖动事件前,人物列表中具有人物信息A、人物信息B和人物信息C,设定三个人物信息对应的当前权重均为1,当用户拖动一次视频进度条到只有人物B所在的视频帧图像时,根据识别结果,人物B权重会增加1,即人物B的目标权重变为2,此时,人物A、C的权重均变为0,因此在根据权重重排人物列表后,人物列表中人物信息的展示次序由A、B、C,变为B、A、C。

本申请实施例提供一种人物识别方法,该方法应用于服务器,如图4所示,该方法可以包括以下步骤:

步骤401、获取来自于客户端的人脸头像图片;

步骤402、对人脸头像图片进行识别,得到人脸头像图片对应的人物标识;

可选地,服务器对人脸头像图片识别的过程包括人脸特征点标记和人脸识别两个过程。

人脸特征点标记包括人脸五官的特征点标记和人脸轮廓的特征点标记。

可选地,可以通过获取人脸头像图片中的人脸五官的五官区域和人脸轮廓的轮廓区域,并分别对五官区域对应的图片和轮廓区域对应的图片进行特征标记,得到人脸五官的特征点和人脸轮廓的特征点。

示例性地,人脸五官的特征点标记基于三层次的DCNN-深度卷积神经网络模型实现,人脸五官的特征点标记过程可以包括以下三部分:

第一、向第一层次的卷积神经网络输入人脸头像图片,标记人脸五官所在的五官区域;

第二、向第二层次的卷积神经网络输入标记有五官区域的人脸头像图片,对人脸头像图片中的五官进行特征点的标记;

第三、基于标记的特征点,从人脸头像图片中分割得到五官图像,采用第三层次的卷积神经网络模型对五官图像进行进一步标记。

示例性地,人脸轮廓的特征点标记过程可以包括:

第一、基于图片和五官区域,获得人脸轮廓区域;

第二、利用深度卷积神经网络,对人脸轮廓区域进行特征点的标记。

实际应用中,对人脸轮廓区域的特征点的标记,可以为对下巴、额头以及脸颊等部位的标记。

在得到五官图像的特征点和人脸轮廓的特征点后,可以基于人脸图像图片、五官图像的特征点和人脸轮廓的特征点生成特征向量。

人脸识别的过程可以包括:

从数据库中查找与特征向量匹配度最高的目标特征向量;

其中,数据库中存储有多个人物头像的特征向量。

示例性地,与特征向量匹配度最高的目标特征向量可以是,与特征向量相似度度最高的目标特征向量。

获取特征向量与目标特征向量的匹配度值;

当匹配度值大于预设的匹配度阈值时,将目标特征向量对应的人物头像的人物标识,作为人脸头像图片对应的人物标识。

步骤403、获取与人物标识对应的人物信息,并向客户端返回人物信息。

可选地,服务器中存储有多组人物标识与人物信息,因此在得到人脸头像图片对应的人物标识时,可以从预先存储的多组人物标识与人物信息中,获得基于人脸头像图片识别得到的人物标识、所对应的人物信息。

基于相同的发明构思,本申请实施例还提供一种人物识别装置,如图5所示,包括:

第一获取单元501,用于获取当前时刻的视频帧,当前时刻为监听到与视频相关的事件的时刻;

第二获取单元502,用于获取视频帧中的人脸头像图片;

接收单元503,用于向服务器发送人脸头像图片,并接收服务器返回的与人脸头像图片对应的人物信息。

基于相同的发明构思,本申请实施例还提供一种人物识别装置,如图6所示,包括:

第三获取单元601,用于获取来自于客户端的人脸头像图片;

识别单元602,用于对人脸头像图片进行识别,得到人脸头像图片对应的人物标识;

返回单元603,用于获取与人物标识对应的人物信息,并向客户端返回人物信息。

基于相同的发明构思,本申请实施例还提供一种人物识别系统,如图7所示,包括:

服务器701和与服务器701通信的客户端702;

服务器701,用于获取来自于客户端702的人脸头像图片;对人脸头像图片进行识别,得到人脸头像图片对应的人物标识;获取与人物标识对应的人物信息,并向客户端702返回人物信息;

客户端702,用于获取当前时刻的视频帧,当前时刻为监听到与视频相关的操作事件的时刻;获取视频帧中的人脸头像图片;向服务器发送人脸头像图片,并接收服务器701返回的与人脸头像图片对应的人物信息。

基于同一构思,本申请实施例中还提供了一种电子设备,如图8所示,该电子设备主要包括:处理器801、通信接口802、存储器803和通信总线804,其中,处理器801、通信接口802和存储器803通过通信总线804完成相互间的通信。其中,存储器803中存储有可被至处理器801执行的程序,处理器801执行存储器803中存储的程序,实现如下步骤:

获取当前时刻的视频帧,当前时刻为监听到与视频相关的操作事件的时刻;

获取视频帧中的人脸头像图片;

向服务器发送人脸头像图片,并接收服务器返回的与人脸头像图片对应的人物信息。

上述电子设备中提到的通信总线804可以时外设部件互连标准(PeripheralComponent Interconnect,简称PCI)总线或扩展工业标准结构(Extended IndustryStandard Architecture,简称EISA)总线等。该通信总线804可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口802用于上述电子设备与其他设备之间的通信。

存储器803可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器801的存储装置。

上述的处理器801可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等,还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本申请的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当该计算机程序在计算机上运行时,使得计算机执行上述实施例中所描述的人物识别方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。该计算机可以时通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、微波等)方式向另外一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如软盘、硬盘、磁带等)、光介质(例如DVD)或者半导体介质(例如固态硬盘)等。

需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

相关技术
  • 人物关系识别方法、装置、电子设备及计算机存储介质
  • 一种目标人物识别方法、装置、电子设备及存储介质
技术分类

06120112900187