图像识别方法、装置及设备与流程

文档序号:22388826发布日期:2020-09-29 17:52阅读:200来源:国知局
图像识别方法、装置及设备与流程

本发明实施例涉及计算机技术领域,尤其涉及一种图像识别方法、装置及设备。



背景技术:

随着计算机及互联网技术的发展,无人门店正逐步融入人们的生活中。无人门店,也叫无人商店或者无人超市,是指无售货员或收银员在门店内进行销售和管理的门店。具体的,在无人门店中不同位置设置摄像头,摄像头实时采集进入门店的顾客的图像信息,然后采用人员重识别技术对采集的图像中的人物进行识别。

人员重识别技术,也称为跨镜追踪技术,是利用计算机视觉技术判断图像或者视频序列中是否存在特定人物的技术,通过对不同摄像头拍摄的图像进行特征提取和识别,确定不同图像中的人物是否为同一个人物。现有技术中,对跨镜头的图像进行人员重识别时,首先利用图像检测技术检测到图像中的人物,然后对人物进行特征提取,将提取的特征与目标人物的特征进行相似性度量,确定该图像中的人物是否为目标人物。

然而,无人门店场景下,涉及到多个摄像头从多个角度采集的图像,不同摄像头拍摄的同一人物的姿态差异较大,导致人员重识别的准确性不高。



技术实现要素:

本发明实施例提供一种图像识别方法、装置及设备,用以提高人员重识别的准确性。

第一方面,本发明实施例提供一种图像识别方法,包括:

获取待识别图像,所述待识别图像中包括至少一个人物;

对所述待识别图像进行检测,确定出各所述人物的第一身体区域和第二身体区域,所述第一身体区域与所述第二身体区域为沿身高方向且位置不同的两个区域;

针对每个人物,根据所述人物的第一身体区域和第二身体区域,对所述待识别图像进行旋转,得到旋转后的图像,根据所述旋转后的图像对所述人物进行重识别,其中,所述旋转后的图像中所述人物的姿态方向与目标方向一致。

可选的,所述根据所述人物的第一身体区域和第二身体区域,对所述待识别图像进行旋转,得到旋转后的图像,包括:

获取所述第一身体区域的中心点与所述第二身体区域的中心点之间的连线方向;

根据所述连线方向与所述目标方向,确定所述人物对应的待旋转角度;

以所述第二身体区域的中心点为旋转中心,对所述待识别图像进行所述待旋转角度的旋转,得到所述旋转后的图像。

可选的,所述根据所述人物的第一身体区域和第二身体区域,对所述待识别图像进行旋转之前,还包括:

根据所述人物的第一身体区域和第二身体区域,确定所述人物对应的目标图像的高度和宽度,所述目标图像为所述旋转后的图像的至少部分,所述目标图像中包括所述人物的上半身;

所述根据所述旋转后的图像对所述人物进行重识别,包括:

根据所述高度和宽度,对所述旋转后的图像进行切割处理和/或填充处理,得到所述人物对应的目标图像;

根据所述人物对应的目标图像,对所述人物进行重识别。

可选的,所述第一身体区域为头部区域,所述第二身体区域为上半身区域,所述根据所述人物的第一身体区域和第二身体区域,确定所述人物对应的目标图像的高度和宽度,包括:

根据所述人物的头部区域的中心点坐标、上半身区域的中心点坐标、以及上半身区域的顶点坐标,确定所述人物对应的目标图像的高度和宽度。

可选的,所述以所述第二身体区域的中心点为旋转中心,对所述待识别图像进行所述待旋转角度的旋转,得到所述旋转后的图像,包括:

将所述待识别图像中的各像素点由图像坐标系转换到笛卡尔坐标系,所述笛卡尔坐标系的原点为所述人物的第二身体区域的中心点;

在笛卡尔坐标系中,以所述原点为中心,对各像素点进行所述待旋转角度的旋转;

将旋转后的各像素点由笛卡尔坐标系转换为图像坐标系,得到旋转后的图像。

可选的,所述第一身体区域为头部区域,所述第二身体区域为上半身区域。

可选的,所述对所述待识别图像进行检测,确定出各所述人物的第一身体区域和第二身体区域,包括:

将所述待识别图像输入至头部检测模型,获取所述待识别图像中的至少一个头部区域;

将所述待识别图像输入至上半身检测模型,获取所述待识别图像中的至少一个上半身区域;

对所述至少一个头部区域和所述至少一个上半身区域进行匹配,确定出各所述人物的头部区域和上半身区域。

可选的,所述对所述至少一个头部区域和所述至少一个上半身区域进行匹配,包括:

针对所述至少一个头部区域中的任一头部区域,获取所述头部区域与各所述上半身区域之间的交并比iou指标,将所述头部区域与最大iou指标对应的上半身区域,作为为同一人物的头部区域和上半身区域。

第二方面,本发明实施例提供一种图像识别装置,包括:

获取模块,用于获取待识别图像,所述待识别图像中包括至少一个人物;

检测模块,用于对所述待识别图像进行检测,确定出各所述人物的第一身体区域和第二身体区域,所述第一身体区域与所述第二身体区域为沿身高方向且位置不同的两个区域;

旋转模块,用于针对每个人物,根据所述人物的第一身体区域和第二身体区域,对所述待识别图像进行旋转,得到旋转后的图像,所述旋转后的图像中所述人物的姿态方向与目标方向一致;

识别模块,用于根据所述旋转后的图像对所述人物进行重识别。

可选的,所述旋转模块具体用于:

获取所述第一身体区域的中心点与所述第二身体区域的中心点之间的连线方向;

根据所述连线方向与所述目标方向,确定所述人物对应的待旋转角度;

以所述第二身体区域的中心点为旋转中心,对所述待识别图像进行所述待旋转角度的旋转,得到所述旋转后的图像。

可选的,所述旋转模块还用于:

根据所述人物的第一身体区域和第二身体区域,确定所述人物对应的目标图像的高度和宽度,所述目标图像为所述旋转后的图像的至少部分,所述目标图像中包括所述人物的上半身;

所述识别模块具体用于:

根据所述高度和宽度,对所述旋转后的图像进行切割处理和/或填充处理,得到所述人物对应的目标图像;

根据所述人物对应的目标图像,对所述人物进行重识别。

可选的,所述第一身体区域为头部区域,所述第二身体区域为上半身区域,所述旋转模块具体用于:

根据所述人物的头部区域的中心点坐标、上半身区域的中心点坐标、以及上半身区域的顶点坐标,确定所述人物对应的目标图像的高度和宽度。

可选的,所述旋转模块具体用于:

将所述待识别图像中的各像素点由图像坐标系转换到笛卡尔坐标系,所述笛卡尔坐标系的原点为所述人物的第二身体区域的中心点;

在笛卡尔坐标系中,以所述原点为中心,对各像素点进行所述待旋转角度的旋转;

将旋转后的各像素点由笛卡尔坐标系转换为图像坐标系,得到旋转后的图像。

可选的,所述第一身体区域为头部区域,所述第二身体区域为上半身区域。

可选的,所述检测模块具体用于:

将所述待识别图像输入至头部检测模型,获取所述待识别图像中的至少一个头部区域;

将所述待识别图像输入至上半身检测模型,获取所述待识别图像中的至少一个上半身区域;

对所述至少一个头部区域和所述至少一个上半身区域进行匹配,确定出各所述人物的头部区域和上半身区域。

可选的,所述检测模块具体用于:

针对所述至少一个头部区域中的任一头部区域,获取所述头部区域与各所述上半身区域之间的交并比iou指标,将所述头部区域与最大iou指标对应的上半身区域,作为为同一人物的头部区域和上半身区域。

第三方面,本发明实施例提供一种图像识别设备,包括:至少一个处理器和存储器;

所述存储器存储计算机程序;

所述至少一个处理器执行所述存储器存储的计算机程序,使得所述至少一个处理器执行如第一方面任一项所述的方法。

第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当处理器执行所述计算机程序时,实现如第一方面任一项所述的方法。

本发明实施例提供的图像识别方法、装置及设备,该方法包括:获取待识别图像,所述待识别图像中包括至少一个人物,对所述待识别图像进行检测,确定出各所述人物的第一身体区域和第二身体区域;针对每个人物,根据所述人物的第一身体区域和第二身体区域,对所述待识别图像进行旋转,得到旋转后的图像,根据所述旋转后的图像对所述人物进行重识别,其中,所述旋转后的图像中所述人物的姿态方向与目标方向一致。由此可见,通过对待识别图像进行旋转,使得旋转后的图像中的人物姿态方向调整到目标方向,减少了不同图像的人物姿态的差异性,能够提高人员重识别的准确性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例适用的网络架构示意图;

图2为本发明实施例提供的图像识别方法的流程示意图一;

图3a和图3b为本发明实施例中人物姿态方向的示意图;

图4a和图4b为本发明实施例中人物身体区域的示意图;

图5为本发明实施例提供的将人物姿态方向调整至目标方向的示意图;

图6为本发明实施例提供的图像识别方法的流程示意图二;

图7为本发明实施例提供的待识别图像与目标图像的示意图;

图8为本发明实施例提供的待识别图像中的待旋转角度的示意图;

图9为本发明实施例提供的图像识别装置的结构示意图;

图10为本发明实施例提供的图像识别设备的硬件结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

图1为本发明实施例适用的网络架构示意图,如图1所示,包括:多个摄像头和图像识别设备。各摄像头可安装在不同的预设位置,用于采集预设位置处的人物的视频或图像,并将采集到的视频或者图像发送给图像识别设备;图像识别设备对视频或图像进行人员重识别,实现对人物的移动轨迹的跟踪,或者,实现对某目标人物的快速定位。

其中,图像识别设备可以是服务器,还可以为移动终端。结合如图1所示的网络架构,下面介绍几种本发明实施例适用的应用场景。

一种可能的应用场景为无人门店场景。该场景中,需要在门店内的不同位置设置摄像头,利用摄像头拍摄的视频或者图像,实现对顾客的移动行为和/或购买行为进行跟踪。具体跟踪过程如下:当顾客a进入无人门店时,1号摄像头采集顾客的图像,并将图像发送至图像识别设备。图像识别设备通过对图像中的人物进行识别,判断该人物为新进入门店的顾客a,则将该人物加入跟踪队列中。并且,图像识别设备还根据图像对顾客a的购买行为进行识别和记录。顾客a在无人门店内移动过程中,可能从1号摄像头的覆盖区域移动至2号摄像头的覆盖区域,当2号摄像头将采集到的图像发送至图像识别设备后,图像识别设备对图像中的人物进行识别,识别出该人物是跟踪队列中的顾客a时,对顾客a的移动行为和购买行为进行记录。通过上述过程,实现对顾客行为的跟踪。

另一种可能的应用场景为安防场景。该场景中,在多个需要进行监控的位置设置摄像头,摄像头用于采集该场景的视频或者图像,并将采集到的视频或者图像上传到图像识别设备中。当需要对某个目标人物进行快速定位时,图像识别设备根据该目标人物的图像,在上述摄像头采集的视频或者图像中进行检索,以定位出该目标人物。

需要说明的是,除了上述两种应用场景外,还可能有其他的应用场景,本发明实施例不一一列举。为了描述方便,后续实施例中均以无人门店场景为例进行描述。

现有技术中,对跨镜头的图像进行人员重识别时,首先利用图像检测技术检测到图像中的人物,然后对人物进行特征提取,将提取的特征与目标人物的特征进行相似性度量,确定该图像中的人物是否为目标人物。

然而,无人门店场景下,涉及到多个摄像头从多个角度采集的图像,不同摄像头拍摄的同一人物的姿态差异较大。另外,为了全方位的获取无人门店中的顾客的行为信息,通常会将摄像头设置在门店的顶部区域,即多个摄像头从顶部向下采集图像,进一步使得图像中人物姿态的差异性和不确定性加大,导致人员重识别的准确性不高。

为了解决上述问题,本发明实施例提供一种图像识别方法,在对待识别图像进行人员重识别之前,先对待识别图像进行旋转处理,使得旋转后的图像中的人物的姿态方向与目标方向一致,然后再对旋转后的图像进行人员重识别。通过旋转图像使得各图像中的人物姿态方向相同,即各图像中的人物姿态方向均与目标方向一致,减小人物姿态方向的差异性,从而提高人员重识别的准确性。

下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。

图2为本发明实施例提供的图像识别方法的流程示意图一,本实施例的方法可由图像识别装置执行,该装置可以为软件和/或硬件的形式,该装置可具体设置在图1中的图像识别设备中。

如图2所示,本实施例的方法,包括:

s201:获取待识别图像,所述待识别图像中包括至少一个人物。

具体的,待识别图像由无人门店中的摄像头拍摄,并发送给图像识别设备。待识别图像中包括一个或者多个人物。可以理解的,当待识别图像中包括多个人物时,多个人物的姿态方向可能相同,也可能不同。

图3a和图3b为本发明实施例中人物姿态方向的示意图。示例性的,无人门店场景下,位于门店顶部的摄像头从顶部向下拍摄,拍摄出的图像中包括人物a和人物b,当人物a和人物b的距离较近时,待识别图像中人物a和人物b的姿态方向相同或者相似,如图3a所示。当人物a和人物b的距离较远时,待识别图像中的人物a和人物b的姿态方向不同,且差异较大,如图3b所示。

其中,需要说明的是,在本发明实施例中,姿态方向是指在图像平面中的人物身高(从头部到脚部)的方向,可以采用人物身高方向与图像坐标系的任一坐标轴之间的夹角来标识。示例性的,以图像坐标系的y轴为例,如图3b所示,人物a的姿态方向可以采用θ1表示,人物b的姿态方向可以采用θ2表示。

s202:对所述待识别图像进行检测,确定出各所述人物的第一身体区域和第二身体区域,所述第一身体区域与所述第二身体区域为沿身高方向且位置不同的两个区域。

其中,第一身体区域和第二身体区域均为人物身体的部分区域。第一身体区域和第二身体区域是沿人物身高方向排列的两个区域。示例性的,第一身体区域可以为头部区域,第二身体区域可以为上半身区域;或者,第一身体区域可以为头部区域,第二身体区域可以为脚部区域;或者;第一身体区域为上半身区域,第二身体区域为下半身区域。

图4a和图4b为本发明实施例中人物身体区域的示意图,示例性的,图4a中示例了第一身体区域为头部区域,第二身体区域为上半身区域的情况;图4b中示例了第一身体区域为头部区域,第二身体区域为下半身区域的情况。

可以理解的,除了上述列举的第一身体区域和第二身体区域的组合,还可以有其他组合方式,本发明实施例对此不作具体限定。

步骤s202中,对待识别图像进行检测时,可以采用已训练好的检测模型对待识别图像进行检测,得到第一身体区域和第二身体区域。示例性的,将待识别图像输入头部检测模型后,头部检测模型在该图像中标注头部区域对应的框体;将待识别图像输入上半身检测模型后,上半身检测模型在该图像中标注上半身区域对应的框体;将待识别图像输入下半身检测模型后,下半身检测模型在该图像中标注下半身区域对应的框体;将待识别图像输入脚部检测模型后,脚部检测模型在该图像中标注脚部区域对应的框体。

其中,上述的检测模型均可以采用现有的基于机器学习的检测模型,本发明实施例对此不作限定。一种可选的实施方式中,采用基于神经网络mobilenets的ssd检测模型。mobilenets是为移动和嵌入式设备提出的高效模型,mobilenets基于流线型架构(streamlined),使用深度可分离卷积(depthwiseseparableconvolutions)来构建轻量级深度神经网络。mobilenets具有轻量化的特点,能够在移动设备上高效运行。

s203:针对每个人物,根据所述人物的第一身体区域和第二身体区域,对所述待识别图像进行旋转,得到旋转后的图像,根据所述旋转后的图像对所述人物进行重识别,其中,所述旋转后的图像中所述人物的姿态方向与目标方向一致。

经过步骤s202确定出每个人物的第一身体区域和第二身体区域之后,由于第一身体区域和第二身体区域是沿人物身高方向的两个区域,根据这两个区域的相对位置可以确定出该人物的当前姿态方向。然后,可以对待识别图像进行旋转,使得旋转后的图像中所述人物的姿态方向与目标方向一致。

其中,本实施例中,将待识别图像中的所有人物的姿态方向都调整到该目标方向。可以理解的,目标方向可以为任一方向。示例性的,目标方向可以为图像坐标系中的y轴方向,也可以为图像坐标系中的x轴方向,还可以为其他的方向。图5为本发明实施例提供的将人物姿态方向调整至目标方向的示意图,如图5所示,第一列图像为待识别图像,第二列图像为旋转后的图像,为了符合人类的视觉特性,图5中将所有人物的姿态方向都调整到与图像坐标系中的y轴方向一致。

另外,一种可能的场景中,给定某一特定图像,需要确定待识别图像中的人物是否与该特定图像中的人物为同一人物时,可以将该特定图像中的人物姿态方向作为目标方向,即将待识别图像中的人物姿态方向调整为与该特定图像中的人物姿态方向一致。

可以理解的,当待识别图像中包括多个人物时,由于所述多个人物的姿态方向可能并不相同,如图3b所示。因此,本实施例中,需要针对待识别图像中的每个人物,分别对待识别图像进行旋转,得到旋转后的图像,然后根据旋转后的图像对该人物进行重识别。示例性的,假设待识别图像中包括人物a和人物b,则对待识别图像进行第一次旋转,使得人物a的姿态方向与目标方向一致,根据旋转后的图像对人物a进行重识别;然后,对待识别图像进行第二次旋转,使得人物b的姿态方向与目标方向一致,根据旋转后的图像对人物b进行重识别。

一种可选的实施方式中,对待识别图像进行旋转,可以采用如下方式进行:获取所述第一身体区域的中心点与所述第二身体区域的中心点之间的连线方向;根据所述连线方向与所述目标方向,确定所述人物对应的待旋转角度;以所述人物对应的第二身体区域的中心点为旋转中心,对所述待识别图像进行所述待旋转角度的旋转,得到所述旋转后的图像。

进而,根据旋转后的图像对所述人物进行重识别,具体可以采用现有的重识别模型进行,本发明实施例对此不作具体限定。

现有技术中,为了避免人物姿态的差异性导致的人员重识别准确性不佳的问题,通常采用的方法是:利用生成网络生成大量的训练图像,生成的图像中的包括各种不同姿态方向的人物,尽可能保证训练图像中人物姿态的多样性。然后利用大量的生成图像对识别模型进行训练,从而降低人物姿态的差异性对重识别准确性的影响。

本实施例中,通过对待识别图像进行旋转,使得旋转后的图像中的人物姿态方向调整到目标方向,减少了不同图像的人物姿态的差异性,能够提高人员重识别的准确性;并且,与上述基于生成网络的现有技术相比,是根据原始图像进行姿态调整和识别,保留了原始图像中的信息,避免了有用信息的丢失,进一步提升了人员重识别的准确性。另外,由于对图像进行旋转并不会涉及大量的计算量,与上述基于生成网络的现有技术相比,还能够提高人员重识别的效率。

本实施例提供的图像识别方法,包括:获取待识别图像,所述待识别图像中包括至少一个人物,对所述待识别图像进行检测,确定出各所述人物的第一身体区域和第二身体区域;针对每个人物,根据所述人物的第一身体区域和第二身体区域,对所述待识别图像进行旋转,得到旋转后的图像,根据所述旋转后的图像对所述人物进行重识别,其中,所述旋转后的图像中所述人物的姿态方向与目标方向一致。由此可见,通过对待识别图像进行旋转,使得旋转后的图像中的人物姿态方向调整到目标方向,减少了不同图像的人物姿态的差异性,能够提高人员重识别的准确性。

图6为本发明实施例提供的图像识别方法的流程示意图二,在图2所示实施例的基础上,本实施例对步骤s202和s203进行进一步的细化。本实施例中,第一身体区域为头部区域、第二身体区域为上半身区域。

如图6所示,本实施例的方法包括:

s601:获取待识别图像,所述待识别图像中包括至少一个人物。

s602:将所述待识别图像输入至头部检测模型,获取所述待识别图像中的至少一个头部区域,将所述待识别图像输入至上半身检测模型,获取所述待识别图像中的至少一个上半身区域。

本实施例中,s601和s602的实施方式与图2所示实施例类似,此处不再赘述。

s603:对所述至少一个头部区域和所述至少一个上半身区域进行匹配,确定出各所述人物的头部区域和上半身区域。

可以理解的,当待识别图像中包括至少两个人物时,经过上述两个模型的检测后,待识别图像中可能会被标注多个头部区域以及多个上半身区域。为了识别哪个头部区域和哪个上半身区域对应同一人物,需要对头部区域和上半身区域进行匹配。

具体实施过程中,可以采用多种匹配方式,下面仅以其中一种可选的实施方式为例进行描述。

本发明实施例中,上半身是指人物的腰部或臀部以上的部分,即上半身中包括头部,因此,同一个人物的上半身区域会与头部区域有一定的重叠,而不同人物之间不会存在重叠或者重叠较少,因此,可以根据头部区域与上半身区域之间的重叠情况进行匹配。

具体的,针对所述至少一个头部区域中的任一头部区域,获取所述头部区域与各所述上半身区域之间的交并比iou指标,将所述头部区域与最大iou指标对应的上半身区域,作为为同一人物的头部区域和上半身区域。

其中,iou指标是一种计算两个框体重叠度的指标,用于测量两个框体之间的相关度,iou指标越高,则说明两个框体的相关度越高。

iou指标的具体计算方式为:假设两个框体分别为a和b,则:

iou=(a∩b)/(a∪b)

也就是说,iou指标表示的是框体a、b的交集面积与框体a、b的并集面积之比。

需要说明的是,实际应用过程中,可能存在未匹配成功的头部区域或者上半身区域,则说明待识别图像中可能存在不完整的人物,对于不完整的人物,无需进行后续的识别。

通过上述步骤确定出每个人物的头部区域和上半身区域后,针对每个人物,分别执行后续的步骤s604至s607。

s604:根据所述人物的头部区域和上半身区域,确定所述人物对应的目标图像的高度和宽度,所述目标图像为所述旋转后的图像的至少部分,所述目标图像中包括所述人物的上半身。

本实施例中,在待识别图像中包括多个人物的情况下,或者,待识别图像中的人物占比较小的情况下,为了方便对人物进行重识别,在对待识别图像进行旋转得到旋转图像之后,从旋转后的图像中截取出包括该人物的部分作为目标图像,然后对给目标图像进行人物重识别。

示例性的,图7为本发明实施例提供的待识别图像与目标图像的示意图,如图7所示,待识别图像中包括人物a。针对人物a,对待识别图像进行旋转使得人物a的姿态方向为竖直方向后,从旋转后的图像中截取出人物a对应的目标图像,可以根据该目标图像对人物a进行重识别,能够提高重识别的准确性。

需要说明的是,本实施例中目标图像可以是旋转后的图像中的任意区域,只要该目标图像中包括人物上半身即可。一种可选的实施方式中,目标图像是包括人物上半身的最小区域。具体的,可以根据所述人物的头部区域的中心点坐标、上半身区域的中心点坐标、以及上半身区域的顶点坐标,确定所述人物对应的目标图像的高度和宽度。

示例性的,若根据头部区域的中心点与上半身区域的中心点,确定出待识别图像中的人体姿态方向为竖直方向(图像坐标系的y轴方向),则直接将该上半身区域的高度和宽度作为目标图像的高度和宽度。若根据头部区域的中心点和上半身区域的中心点,确定出待识别图像中的人体姿态方向为水平方向(图像坐标系的x轴方向),则将上半身区域的宽度作为目标图像的高度,将上半身区域的高度作为目标图像的宽度。若根据头部区域的中心点和上半身区域的中心点,确定出待识别图像中的人体姿态方向为其他方向(竖直方向和水平方向之外的其他方向),则根据计算确定出目标图像的高度和宽度。其中,计算方式可以有多种,本实施例不作具体描述。

s605:获取所述人物的头部区域的中心点与上半身区域的中心点之间的连线方向,根据所述连线方向与所述目标方向,确定所述人物对应的待旋转角度,以所述人物的上半身区域的中心点为旋转中心,对所述待识别图像进行所述待旋转角度的旋转,得到旋转后的图像。

一种可选的实施方式中,确定人物对应的待旋转角度时,可以采用反三角函数计算得到。图8为本发明实施例提供的待识别图像中的待旋转角度的示意图,如图8所示,假设待识别图像中人物的上半身区域的中心点坐标为(body_x,body_y),头部区域的中心点坐标为(head_x,head_y),可以采用如下公式计算得到待旋转角度θ。

deltax=head_x-body_x

deltax=head_y-body_y

θ=tan-1(deltax/deltay)

本实施例中,确定待旋转角度θ后,以上半身区域的中心点为旋转中心进行旋转。具体旋转过程如下:

将所述待识别图像中的各像素点由图像坐标系转换到笛卡尔坐标系,所述笛卡尔坐标系的原点为所述人物的上身体区域的中心点。假设(x,y)为图像坐标系中像素p的坐标,转换到笛卡尔坐标系后像素p的坐标为(x’,y’),对应的转换公式如下:

采用矩阵形式的转换公式为:

在笛卡尔坐标系中,以原点(上身体区域的中心点)为中心,对各像素点进行所述待旋转角度θ的旋转。

假设(x′,y′)为旋转前像素p的坐标,经过旋转后像素p的坐标为(x‘’,y‘’),对应的转换公式如下:

最后,将旋转后的各像素点由笛卡尔坐标系转换为图像坐标系,得到旋转后的图像。

s606:根据所述高度和宽度,对所述旋转后的图像进行切割处理和/或填充处理,得到所述人物对应的目标图像。

可以理解的,由于图像为矩形,在对矩形图像进行一定角度的旋转后,可能会有部分像素超出原图像的边界。本实施例中,对待识别图像进行旋转之后,根据步骤s604获取的目标图像的高度和宽度,从旋转后的图像中切割得到目标图像,若切割后的目标图像中,存在缺失的像素点,则对目标图像进行像素填充处理,使得最终获取的目标图像为矩形。

其中,在对缺失的像素点进行像素填充时,填充的像素值应当尽量不对后续的人员重识别带来影响。

s607:根据所述人物对应的目标图像,对所述人物进行重识别。

本实施例中,通过对待识别图像进行旋转,使得旋转后的图像中的人物姿态方向调整到目标方向,减少了不同图像的人物姿态的差异性,能够提高人员重识别的准确性。以三种人员重识别算法为例进行验证,具体的,采用如图6所示的实施例,先进行人物姿态调整再采用上述三种算法进行人物重识别,得到的重识别结果的准确率,与直接采用上述三种人员重识别算法(即人员重识别之前未进行人物姿态调整)得到的重识别结果相比,均提高了至少2个百分点。

图9为本发明实施例提供的图像识别装置的结构示意图,如图9所示,本实施例的图像识别装置900,包括:获取模块901、检测模块902、旋转模块903和识别模块904。

其中,获取模块901,用于获取待识别图像,所述待识别图像中包括至少一个人物;

检测模块902,用于对所述待识别图像进行检测,确定出各所述人物的第一身体区域和第二身体区域,所述第一身体区域与所述第二身体区域为沿身高方向且位置不同的两个区域;

旋转模块903,用于针对每个人物,根据所述人物的第一身体区域和第二身体区域,对所述待识别图像进行旋转,得到旋转后的图像,所述旋转后的图像中所述人物的姿态方向与目标方向一致;

识别模块904,用于根据所述旋转后的图像对所述人物进行重识别。

可选的,所述旋转模块903具体用于:

获取所述第一身体区域的中心点与所述第二身体区域的中心点之间的连线方向;

根据所述连线方向与所述目标方向,确定所述人物对应的待旋转角度;

以所述第二身体区域的中心点为旋转中心,对所述待识别图像进行所述待旋转角度的旋转,得到所述旋转后的图像。

可选的,所述旋转模块903还用于:

根据所述人物的第一身体区域和第二身体区域,确定所述人物对应的目标图像的高度和宽度,所述目标图像为所述旋转后的图像的至少部分,所述目标图像中包括所述人物的上半身;

所述识别模块904具体用于:

根据所述高度和宽度,对所述旋转后的图像进行切割处理和/或填充处理,得到所述人物对应的目标图像;

根据所述人物对应的目标图像,对所述人物进行重识别。

可选的,所述第一身体区域为头部区域,所述第二身体区域为上半身区域,所述旋转模块具体用于:

根据所述人物的头部区域的中心点坐标、上半身区域的中心点坐标、以及上半身区域的顶点坐标,确定所述人物对应的目标图像的高度和宽度。

可选的,所述旋转模块903具体用于:

将所述待识别图像中的各像素点由图像坐标系转换到笛卡尔坐标系,所述笛卡尔坐标系的原点为所述人物的第二身体区域的中心点;

在笛卡尔坐标系中,以所述原点为中心,对各像素点进行所述待旋转角度的旋转;

将旋转后的各像素点由笛卡尔坐标系转换为图像坐标系,得到旋转后的图像。

可选的,所述第一身体区域为头部区域,所述第二身体区域为上半身区域。

可选的,所述检测模块902具体用于:

将所述待识别图像输入至头部检测模型,获取所述待识别图像中的至少一个头部区域;

将所述待识别图像输入至上半身检测模型,获取所述待识别图像中的至少一个上半身区域;

对所述至少一个头部区域和所述至少一个上半身区域进行匹配,确定出各所述人物的头部区域和上半身区域。

可选的,所述检测模块902具体用于:

针对所述至少一个头部区域中的任一头部区域,获取所述头部区域与各所述上半身区域之间的交并比iou指标,将所述头部区域与最大iou指标对应的上半身区域,作为为同一人物的头部区域和上半身区域。

本实施例的装置,可用于执行上述任一方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

图10为本发明实施例提供的图像识别设备的硬件结构示意图,如图10所示,本实施例的图像识别设备1000,包括:至少一个处理器1001和存储器1002。其中,处理器1001、存储器1002通过总线1003连接。

在具体实现过程中,至少一个处理器1001执行所述存储器1002存储的计算机程序,使得至少一个处理器1001执行上述任一方法实施例中的图像识别方法。

处理器1001的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。

在上述的图10所示的实施例中,应理解,处理器可以是中央处理单元(英文:centralprocessingunit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digitalsignalprocessor,简称:dsp)、专用集成电路(英文:applicationspecificintegratedcircuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

存储器可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器。

总线可以是工业标准体系结构(industrystandardarchitecture,isa)总线、外部设备互连(peripheralcomponent,pci)总线或扩展工业标准体系结构(extendedindustrystandardarchitecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。

本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当处理器执行所述计算机程序时,实现上述任一方法实施例中的图像识别方法。

上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。

一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(applicationspecificintegratedcircuits,简称:asic)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1