行人重识别方法、装置、电子设备和可读存储介质与流程

专利2022-05-09  76


本申请涉及计算机视觉技术领域,具体而言,涉及一种行人重识别方法、装置、电子设备和可读存储介质。



背景技术:

行人重识别(personre-identification)也称行人再识别,是利用计算机视觉技术判断图像或者视频序列中是否存在特定行人的技术。广泛被认为是一个图像检索的子问题。给定一个监控行人图像,检索跨设备下的该行人图像。旨在弥补固定的摄像头的视觉局限,并可与行人检测/行人跟踪技术相结合,可广泛应用于智能视频监控、智能安保等领域。

但是传统的检索算由于网络庞大,数据量巨大难以在手机等移动设备上实现。同时传统的检索算法对衣服特征的依赖性较大,在目标人物更换衣服后,往往存在识别准确性较低的问题。



技术实现要素:

有鉴于此,本申请提供了一种行人重识别方法、装置、电子设备和可读存储介质,以解决上述问题。

第一方面,本申请提供行人重识别方法,所述方法包括:

获取包含人像的待识别图像;

将所述待识别图像输入重识别模型进行重识别,得到重识别结果;

其中,所述重识别模型是将人像图像作为训练样本,对预先构建的包括外形子网络及外观子网络的重识别网络进行训练,得到的训练后的外观子网络。

在可选的实施方式中,所述重识别模型通过以下步骤训练得到:

获取人像图像和目标图像,其中,所述目标图像包括行人身份标识;

将所述人像图像作为训练样本,将所述目标图像作为标签,并采用预先构建的损失函数对所述重识别网络进行训练,得到训练后的重识别网络;

将训练后的重识别网络中的外观子网络作为重识别模型。

在可选的实施方式中,所述外形子网络包括分割子网络及外形特征子网络;所述将所述人像图像作为训练样本,将所述目标图像作为标签,并采用预先构建的损失函数对所述重识别网络进行训练,得到训练后的重识别网络的步骤包括:

将所述人像图像输入所述分割子网络,利用所述分割子网络对所述人像图像进行掩膜提取,得到原始掩膜图像;

利用所述外形特征子网络对所述原始掩膜图像进行处理,得到细粒度掩膜图像以及外形特征图像;

将所述人像图像输入所述外观子网络,利用所述外观子网络对所述人像图像进行特征提取,得到外观特征图像;

根据所述原始掩膜图像、所述细粒度掩膜图像、所述外观特征图像、所述外形特征图像及所述目标图像,计算所述损失函数的损失值;

依据所述损失值更新所述重识别网络的参数,直至所述损失值满足预设条件,得到训练后的重识别网络,以使所述外形子网络与所述外观子网络相互学习。

在可选的实施方式中,所述外形特征子网络包括细粒度子网络及特征子网络;所述利用所述外形特征子网络对所述原始掩膜图像进行处理,得到细粒度掩膜图像以及外形特征图像的步骤包括:

将所述原始掩膜图像输入所述细粒度子网络,利用所述细粒度子网络对所述原始掩膜图像进行细粒度掩膜提取,得到细粒度掩膜图像;

对所述人像图像进行骨架点特征提取,得到骨架点特征图像;

对所述骨架点特征图像进行聚类处理,得到所述骨架点特征图像对应的细粒度掩膜图像的聚类标签,其中,所述聚类标签表征所述细粒度掩膜图像的姿态类别;

根据所述细粒度掩膜图像的聚类标签,将所述细粒度掩膜图像输入所述特征子网络,利用所述特征子网络对所述细粒度掩膜图像进行特征提取,得到外形特征图像。

在可选的实施方式中,所述特征子网络包括多个特征子分支,所述聚类标签与所述特征子分支一一对应;

所述根据所述细粒度掩膜图像的聚类标签,将所述细粒度掩膜图像输入所述特征子网络的步骤包括:

根据所述细粒度掩膜图像的聚类标签,将所述细粒度掩膜图像输入至与所述聚类标签对应的特征子分支中。

在可选的实施方式中,所述损失函数包括外形特征损失函数、外观特征损失函数、逻辑交互损失函数以及特征交互损失函数;

所述根据所述原始掩膜图像、所述细粒度掩膜图像、所述外观特征图像、所述外形特征图像及所述目标图像,计算所述损失函数的损失值的步骤包括:

利用所述原始掩膜图像、所述细粒度掩膜图像、外形特征图像及所述目标图像,计算所述外形特征损失函数的第一输出值;

利用所述外观特征图像及所述目标图像,计算所述外观特征损失函数的第二输出值;

获取所述外观子网络包括的每一层特征层输出的外观特征图,以及所述外形子网络包括的每一层特征层输出的外形特征图,利用每个所述外观特征图及所述外形特征图,计算所述特征交互损失函数的第三输出值;

获取所述外观子网络包括的逻辑回归层的第一数值,以及所述外形子网络包括的逻辑回归层的第二数值,利用所述第一数值及所述第二数值计算所述逻辑交互损失函数的第四输出值;

计算所述第一输出值、所述第二输出值、所述第四输出值及所述第三输出值的加权和;

将所述加权和作为所述损失函数的损失值。

在可选的实施方式中,所述依据所述损失值更新所述重识别网络的参数,直至所述损失值满足预设条件,得到训练后的重识别网络的步骤包括:

判断所述损失值是否小于预设阈值;

若是,则停止更新所述重识别网络的参数,得到训练后的重识别网络;

若否,则更新所述重识别网络的参数,并重复执行上述步骤,直至所述损失值小于所述预设阈值,得到训练后的重识别网络。

第二方面,本申请提供一种行人重识别装置,所述装置包括:

获取模块,用于获取包含人像的待识别图像;

识别模块,用于将所述待识别图像输入重识别模型进行重识别,得到重识别结果;

其中,所述重识别模型是将人像图像作为训练样本,对预先构建的包括外形子网络及外观子网络的重识别网络进行训练,得到的训练后的外观子网络。

第三方面,本申请提供一种电子设备,所述电子设备包括处理器、存储器及总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器及所述存储器之间通过总线通信,所述处理器执行所述机器可读指令,以执行前述实施方式任意一项所述的行人重识别方法的步骤。

第四方面,本申请提供一种可读存储介质,所述可读存储介质存储有计算机程序,计算机程序被执行时实现前述实施方式任意一项所述的行人重识别方法的步骤。

本申请实施例提供了一种行人重识别方法、装置、电子设备和可读存储介质,通过获取包含人像的待识别图像,将待识别图像输入重识别模型进行重识别,得到重识别结果。其中,重识别模型是将人像图像作为训练样本,对预先构建的包括外形子网络及外观子网络的重识别网络进行训练,得到的训练后的外观子网络,提高了行人重识别的识别准确性和识别效率。

为使本申请的上述目的、特征和优点能更明显易懂,下文特举一些举例,并配合所附附图,作详细说明。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的一种电子设备的结构框图。

图2为本申请实施例提供的行人重识别方法的流程示意图之一。

图3为本申请实施例提供的一种重识别示意图。

图4为本申请实施例提供的一种重识别方法流程示意图之二。

图5为本申请实施例示出的一种重识别网络的网络结构示意图。

图6为本申请实施例提供的一种重识别效果对比图。

图7为本申请实施例提供的一种行人重识别装置的功能示意图。

图标:100-电子设备;110-存储器;120-处理器;130-行人重识别装置;131-获取模块;132-识别模块;140-通信单元。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

需要说明的是,在不冲突的情况下,本申请的实施例中的特征可以相互结合。

如背景技术所介绍,行人重识别(personre-identification)也称行人再识别,是利用计算机视觉技术判断图像或者视频序列中是否存在特定行人的技术。广泛被认为是一个图像检索的子问题。给定一个监控行人图像,检索跨设备下的该行人图像。旨在弥补固定的摄像头的视觉局限,并可与行人检测/行人跟踪技术相结合,可广泛应用于智能视频监控、智能安保等领域。

随着深度学习的快速发展,近几年行人重识别的发展也非常迅速。在一些常用的数据集中,算法已经有了超越人类水平的趋势。不过行人重识别技术要从学术研究走向成熟应用,依然还有一些需要解决的问题,其中之一就是现有的算法基于一个假设,即人物的衣服是不会变换的,而这种假设是有别于实际情况的,实际中出现在各个摄像头下的同一个人很有可能是穿着不同衣服的,这种可能性随着时间的推进变得越来越大。同时,由于深度学习所依赖的硬件设备的要求较高,难以在普通移动设备实现数据量巨大的运算。

也就是说,经发明人研究发现,传统的检索算由于网络庞大,数据量巨大难以在手机等移动设备上实现。同时传统的检索算法对衣服特征的依赖性较大,在目标人物更换衣服后,往往存在识别准确性较低的问题。

有鉴于此,本申请实施例提供了一种行人重识别方法、装置、电子设备和可读存储介质,该方法通过对包括外形子网络及外观子网络的重识别网络进行训练学习,共同相互学习图像的外观特征与外形特征,以提高重识别的准确性。同时,在使用时,可以仅将训练完成后得到的外观子网络部署在移动设备,加快了重识别速率。

需要说明的是,以上现有技术中的方案所存在的缺陷,均是申请人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本申请实施例针对上述问题所提出的解决方案,都应该是申请人在本申请过程中对本申请做出的贡献。

下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的关键可以相互组合。

请结合参阅图1,图1为本申请实施例提供的一种电子设备100的结构框图。设备可以包括处理器120、存储器110、行人重识别装置130及通信单元140,存储器110存储有处理器120可执行的机器可读指令,当电子设备100运行时,处理器120及存储器110之间通过总线通信,处理器120执行机器可读指令,并执行行人重识别方法。

存储器110、处理器120以及通信单元140各元件相互之间直接或间接地电性连接,以实现信号的传输或交互。

例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。行人重识别装置130包括至少一个可以软件或固件(firmware)的形式存储于存储器110中的软件功能模块。处理器120用于执行存储器110中存储的可执行模块,例如行人重识别装置130所包括的软件功能模块或计算机程序。

其中,存储器110可以是,但不限于,随机读取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。

处理器120可以是一种集成电路芯片,具有信号处理能力。上述处理器120可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等。

还可以是数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

本申请实施例中,存储器110用于存储程序,处理器120用于在接收到执行指令后,执行程序。本申请实施例任一实施方式所揭示的流程定义的方法可以应用于处理器120中,或者由处理器120实现。

通信单元140用于通过网络建立电子设备100与其他电子设备之间的通信连接,并用于通过网络收发数据。

在一些实施例中,网络可以是任何类型的有线或者无线网络,或者是他们的结合。仅作为示例,网络可以包括有线网络、无线网络、光纤网络、远程通信网络、内联网、因特网、局域网(localareanetwork,lan)、广域网(wideareanetwork,wan)、无线局域网(wirelesslocalareanetworks,wlan)、城域网(metropolitanareanetwork,man)、广域网(wideareanetwork,wan)、公共电话交换网(publicswitchedtelephonenetwork,pstn)、蓝牙网络、zigbee网络、或近场通信(nearfieldcommunication,nfc)网络等,或其任意组合。

在本申请实施例中,电子设备100可以是但不限于智能手机、个人电脑、平板电脑等具有处理功能的设备。

可以理解,图1所示的结构仅为示意。电子设备100还可以具有比图1所示更多或者更少的组件,或者具有与图1所示不同的配置。图1所示的各组件可以采用硬件、软件或其组合实现。

下面基于图1示出的电子设备100的结构图对本申请实施例提供的行人重识别方法的步骤进行详细阐述。

请结合参阅图2,图2为本申请实施例提供的行人重识别方法的流程示意图之一。

步骤s1,获取包含人像的待识别图像。

步骤s2,将待识别图像输入重识别模型进行重识别,得到重识别结果。

其中,重识别模型是将人像图像作为训练样本,对预先构建的包括外形子网络及外观子网络的重识别网络进行训练,得到的训练后的外观子网络。

待识别图像可以由当前电子设备通过照相机拍摄得到,也可以由当前电子设备在拍摄的视频中截图得到,还可以由当前电子设备通过网络预先存储在存储器中,当需要时,从存储器中获取。

进一步地,请结合参阅图3,图3为本申请实施例提供的一种重识别示意图。步骤s2,将待识别图像输入重识别模型进行重识别,得到重识别结果可以通过以下方式实现:

将待识别图像输入重识别模型进行重识别,得到待识别图像的图像特征和行人信息。将图像特征与行人信息与检索库中的行人身份和图像特征进行相似度比较并排序,得到重识别结果。

如图3中所示出的,通过上述方式得到的重识别结果中,相似度越高的图像排序越靠前。

作为一种可能的实施场景,本申请实施例提供的行人重识别方法可以利用在普通的图像检索中,例如,用户可以将一张感兴趣的主播或明星的图片输入相应封装好的应用程序中,利用该重识别模型进行重识别,得到重识别结果,就可以得到相应主播或明星的更多图片或者视频信息。

作为另一种可能的实施场景,本申请实施例提供的行人重识别方法还可以利用在安保领域对目标对象的追踪中,例如,对嫌疑人的追踪。用户可以同样将感兴趣的目标对象的图片输入相应封装好的应用程序中,利用该重识别模型进行重识别,得到重识别结果,就可以得到其他摄像设备拍摄到的相应目标对象的更多图片或者视频信息,从而实现追踪。

本申请实施例通过对预先构建的包括外形子网络及外观子网络的重识别网络进行训练,训练完成后使用时,只保留训练后的外观子网络,利用训练后的外观子网络进行重识别。如此,一方面,在训练阶段结合两个网络同事进行训练,可以对人像进行外观特征及外形特征的综合提取,保留更多的人像特征,提高了重识别时的准确率。另一方面,实际使用部署时将训练好的外形子网络删除,仅利用结构较为简单的训练好的外观子网络作为重识别模型进行重识别,又可以进一步提高对待识别图像进行重识别的效率。

可以理解的是,上述重识别模型可以是其他电子设备中预先训练得到,之后迁移至当前电子设备的,也可以是在当前电子设备中预先训练,并存储得到的。

在可选的实施方式中,请结合参阅图4,图4为本申请实施例提供的一种重识别方法流程示意图之二,重识别模型通过以下步骤s100-s300训练得到:

步骤s100,获取人像图像和目标图像,其中,目标图像包括行人身份标识。

其中,人像图像可以来自于网络中现有的数据集,例如,dukemtmc-reid数据集、dukemtmc-attribute数据集、market-1501数据集、dg-market数据集、market1501-attribute数据集、cuhk03数据集等。同时,该人像图像可以为rgb类型的图像。

步骤s200,将人像图像作为训练样本,将目标图像作为标签,并采用预先构建的损失函数对重识别网络进行训练,得到训练后的重识别网络。

请结合参阅图5,图5为本申请实施例示出的一种重识别网络的网络结构示意图。如图中所示出的,外形子网络包括分割子网络及外形特征子网络。外形特征子网络包括细粒度子网络及特征子网络。

将人像图像作为训练样本,将目标图像作为标签,并采用预先构建的损失函数对重识别网络进行训练,得到训练后的重识别网络可以通过以下步骤s200-1至步骤s200-5实现:

步骤s200-1,将人像图像输入分割子网络,利用分割子网络对人像图像进行掩膜提取,得到原始掩膜图像。

可选地,该分割子网络可以为预先训练好的分割模型,利用该分割子网络提取人像图像中的行人的mask,即原始掩膜图像。

但是,利用该分割子网络提取获得的原始掩膜图像其准确性较低,不足以学习衣服变化场景下的具有判别性的特征。因此,使用包括行人身份标识作的目标图像,利用行人身份标识以及姿态类别作为引导信息,接着由后续的外形特征子网络进行训练学习,引导掩膜图像生成的过程,使其从粗粒度变为细粒度。其过程如下:

步骤s200-2,利用外形特征子网络对原始掩膜图像进行处理,得到细粒度掩膜图像以及外形特征图像。

可选地,该步骤s200-2可通以下方式进行处理,得到细粒度掩膜图像以及外形特征图像:

将原始掩膜图像输入细粒度子网络,利用细粒度子网络对原始掩膜图像进行细粒度掩膜提取,得到细粒度掩膜图像。

对人像图像进行骨架点特征提取,得到骨架点特征图像。

对骨架点特征图像进行聚类处理,得到骨架点特征图像对应的细粒度掩膜图像的聚类标签,其中,聚类标签表征细粒度掩膜图像的姿态类别。

根据细粒度掩膜图像的聚类标签,将细粒度掩膜图像输入特征子网络,利用特征子网络对细粒度掩膜图像进行特征提取,得到外形特征图像。

其中,上述姿态类别可以根据自身需求预先设置,例如,根据人体的姿势设置“蹲下”、“站立”、“行走”等姿态类别,并给每一个姿态类别分配对应的聚类标签,例如姿态类别为“蹲下”对应的聚类标签为1,姿态类别为“站立”对应的聚类标签为2,姿态类别“行走”对应的聚类标签可以为3。

如此,通过利用行人身份标识以及姿态类别作为引导信息,接着由后续的外形特征子网络进行训练学习,引导掩膜图像生成的过程,使原始掩膜图像从粗粒度变为细粒度,得到细粒度掩膜图像,并且根据图像中人体的姿态类别,将对应的细粒度掩膜图像输入对应的特征子网络中进行细粒度的特征提取,从而获得更加精准的特征信息,有利于提高重识别的准确性。

请接着参阅图5,在可选的实施方式中,特征子网络包括多个特征子分支,聚类标签与特征子分支一一对应。

以外形特征子网络为resnet50网络,姿态类别包括三类为例。由于resnet50网络包括四层。可选地,本申请实施例将外形特征子网络的第四层复制三份,获得三个特征子分支,每个分支分别对应一个姿态类别。

在获取到细粒度掩膜图像的聚类标签后,根据细粒度掩膜图像的聚类标签,将细粒度掩膜图像输入至与聚类标签对应的特征子分支中。

作为一种实施方式,可通过如下公式实现细粒度掩膜图像与特征子分支的输入匹配,公式如下所示:

其中,代表第四层的第i个特征子分支,(xs,3)代表第三层的输出特征,b表示特征子分支的个数,这里是3,lk表示选择函数,仅当聚类标签为k时为1,其余为0。

例如,聚类标签一共有三种,对应resnet50网络第四层的三个特征子分支。这里的lk表示如何根据聚类标签选择对应的特征子分支。下面对如何基于该公式,根据聚类标签将对应的细粒度掩膜图像输入值与聚类标签对应的特征子分支做详细说明:

假设1,若某张细粒度掩膜图像的聚类标签为1,那么i=1时,lk为1,i=2或3时,lk为0。此时:

也就是外形特征子网络的第3层的输出特征(该细粒度掩膜图像)进入到外形特征子网络的第一个特征子分支。

假设2,若某张细粒度掩膜图像的聚类标签为2,那么i=2时,lk为1,i=1或3时,lk为0。此时:

也就是外形特征子网络第3层的输出特征(该细粒度掩膜图像)进入到外形特征子网络的第二个特征子分支。

假设3,若某张细粒度掩膜图像的聚类标签为3,那么i=3时,lk为1,i=1或2时,lk为0。此时:

也就是外形特征子网络第3层的输出特征(该细粒度掩膜图像)进入到外形特征子网络的第三个特征子分支。

作为另一种实施方式,还可以预先将聚类标签与特征子分支进行对应匹配,生成匹配对应关系,在输入匹配时,根据匹配对应关系查找与聚类标签对应的特征子分支即可。

如此,通过设置多个与姿态类别相对应的特征子分支,由姿态类引导不同的细粒度掩膜图像进入不同的特征子分支进行不同的特征提取,有利于模型根据不同的姿态进行参数调整与学习,从而提取更细粒度的外形特征。

不难理解的是,上述步骤通过细粒度掩膜图像在外形子网络中学习了外形特征,而一般图像中还有其他与衣服无关的信息,例如人脸、头发等外观特征需要学习获取,通过上述细粒度掩膜图像学习到的外形特征难以获得这样的信息。而带颜色的rgb图像(即作为训练样本的人像图像)中难以获得外形特征,但是比较容易人脸和头发等外观特征。因而本申请实施例提出了能够同时从细粒度掩膜图像以及rgb图像中获得互补的特征,请接着参阅图5,下面对此进行详细阐述:

步骤s200-3,将人像图像输入外观子网络,利用外观子网络对人像图像进行特征提取,得到外观特征图像。

步骤s200-4,根据原始掩膜图像、细粒度掩膜图像、外观特征图像、外形特征图像及目标图像,计算损失函数的损失值。

在可选的实施方式中,损失函数包括外形特征损失函数、外观特征损失函数、逻辑交互损失函数以及特征交互损失函数。

利用原始掩膜图像、细粒度掩膜图像、外形特征图像及目标图像,计算外形特征损失函数的第一输出值。

利用外观特征图像及目标图像,计算外观特征损失函数的第二输出值。

获取外观子网络包括的每一层特征层输出的外观特征图,以及外形子网络包括的每一层特征层输出的外形特征图,利用每个外观特征图及外形特征图,计算特征交互损失函数的第三输出值。

获取外观子网络包括的逻辑回归层的第一数值,以及外形子网络包括的逻辑回归层的第二数值,利用第一数值及第二数值计算逻辑交互损失函数的第四输出值。

计算第一输出值、第二输出值、第四输出值及第三输出值的加权和。

将加权和作为损失函数的损失值。

其中,外形特征损失函数为:

lm=lg lr

其中:

为应用在外形子网络中的交叉熵损失函数,为应用在外形子网络中的三元组损失函数。θm,θs分别是分割子网络和外观特征子网络的参数。

m为细粒度掩膜图像,为原始掩膜图像。

通过上述lg损失函数,可以监督外形子网络学习到的外形特征的准确度。同时,由于预训练的分割子网络中也包含有一些先验的形状知识,在利用行人身份标识引导的过程中,这些知识有可能丢失,因而本申请实施例还提出了将分割子网络中的知识保留下来的方法。如lr损失函数所示出的,生成的细粒度掩膜图像和分割子网络提取的原始掩膜图像差距不能太大。因此,本申请实施例提出了上述lr损失函数,基于lr损失函数,可保留分割子网络中的知识,使得后续得到的细粒度掩膜图像依旧保留有效的信息。

进一步地,外观特征损失函数为:

为应用在外观子网络中的交叉熵损失函数,为应用在外观子网络中的三元组损失函数。

通过上述外观特征损失函数,可以监督外观子网络学习到的外观特征,从而提高重识别的准确度。

进一步地,由于外观子网络可学习到图像的外观特征,外形子网络可学习到图像的外形特征,因此,为了相互学习彼此的知识,本申请实施例提出将外观子网络包括的中间层及逻辑回归层的知识与外形子网络包括的中间层及逻辑回归层的知识进行相互学习。

对于中间层的相互学习,可以使用如下特征交互损失函数进行监督学习:

其中,l为网络层数,θa为外观子网络的参数,θm为分割子网络的参数,θs为外观特征子网络的参数。

其中,为外形子网络中第d层第i个外形特征图,为外形子网络中第d层第j个外形特征图。

其中,为外观子网络中第d层第i个外观特征图,为外形子网络中第d层第j个外观特征图。

对于逻辑回归层的相互学习,可以使用如下逻辑交互损失函数进行监督学习:

lkl(θa,θm,θs)=dkl(pa||ps) dkl(ps||pa)

其中,ps表示外形子网络的逻辑回归层的输出值,pa表示外观子网络的逻辑回归层的输出值。

基于该逻辑交互损失函数及特征交互损失函数,可以监督外观子网络与外形子网络之间的相互学习,实现多特征的细粒度学习,使得每个子网络都可以单独学习到外观特征及外形特征,一方面可使得后续部署学习中能够只部署结构较为简单的外观子网络进行重识别。另一方面可以使得重识别的准确性提高。

也就是说,预设的损失函数l可以如下表示:

l=lm lr λsllsl λkllkl

其中,lm为外形特征损失函数,lr为外观特征损失函数,λsi及λkl为权重参数,通常为常数,lsl为特征交互损失函数,λkl为逻辑交互损失函数。

步骤s200-5,依据损失值更新重识别网络的参数,直至损失值满足预设条件,得到训练后的重识别网络,以使外形子网络与外观子网络相互学习。

在可选的实施方式中,依据损失值更新重识别网络的参数,直至损失值满足预设条件,得到训练后的重识别网络的步骤包括:

判断损失值是否小于预设阈值。

若是,则停止更新重识别网络的参数,得到训练后的重识别网络;

若否,则更新重识别网络的参数,并重复执行上述步骤,直至损失值小于预设阈值,得到训练后的重识别网络。

根据该损失函数将目标图像与其他特征图(例如原始掩膜图像、细粒度掩膜图像、外形特征图像)进行比较计算损失函数的损失值,重复训练重识别网络,更新重识别网络的参数,直至损失值小于预设阈值,得到训练后的重识别模型,提高重识别的准确性。

步骤s300,将训练后的重识别网络中的外观子网络作为重识别模型。

请结合参阅图6,图6为本申请实施例提供的一种重识别效果对比图。图中最左边为待识别图像,图中右上方为传统行人重识别算法进行重识别后获得的重识别结果,图中右下方采用本申请提供的行人重识别方法进行重识别后获得的重识别结果。

每个重识别结果均包括按照相似度从大到小排序后获得的五张识别目标,即rank1至rank5,其中,边框颜色较深,表征该rank为错误识别目标,边框颜色较浅,表征该rank为正确识别目标。由图中可以看出,传统行人重识别算法进行重识别后获得的重识别结果中前三个识别目标及最后一个识别目标均识别错误。而采用本申请实施例提供的行人重识别方法进行重识别后获得的重识别结果中前三个识别目标均识别正确。比较可知,采用本申请实施例提供的行人重识别方法进行重识别后获得的重识别结果其不受行人更换衣服或发型的影响,重识别准确度更高。

如此,通过对预先构建的包括外形子网络及外观子网络的重识别网络进行训练,训练完成后使用时,只保留训练后的外观子网络,利用训练后的外观子网络进行重识别,对人像进行外观特征及外形特征的综合提取,保留更多的人像特征,提高了重识别时的准确率。实际使用部署时将训练好的外形子网络删除,仅利用结构较为简单的训练好的外观子网络作为重识别模型进行重识别,进一步提高了对待识别图像进行重识别的效率。

基于同一发明构思,请结合参阅图7,图7为本申请实施例提供的一种行人重识别装置的功能示意图。本申请实施例中还提供了与图2示出的行人重识别方法对应的行人重识别装置130,装置包括:

获取模块131,用于获取包含人像的待识别图像。

识别模块132,用于将待识别图像输入重识别模型进行重识别,得到重识别结果。

其中,重识别模型是将人像图像作为训练样本,对预先构建的包括外形子网络及外观子网络的重识别网络进行训练,得到的训练后的外观子网络。

由于本申请实施例中的装置解决问题的原理与本申请实施例上述行人重识别方法相似,因此装置的实施原理可以参见方法的实施原理,重复之处不再赘述。

本申请实施例也提供了一种可读存储介质,可读存储介质中存储有计算机程序,计算机程序被执行时实现上述的行人重识别方法。

综上所述,本申请实施例提供了一种行人重识别方法、装置、电子设备和可读存储介质,通过获取包含人像的待识别图像,将待识别图像输入重识别模型进行重识别,得到重识别结果。其中,重识别模型是将人像图像作为训练样本,对预先构建的包括外形子网络及外观子网络的重识别网络进行训练,得到的训练后的外观子网络,提高了行人重识别的识别准确性和识别效率。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。


技术特征:

1.行人重识别方法,其特征在于,所述方法包括:

获取包含人像的待识别图像;

将所述待识别图像输入重识别模型进行重识别,得到重识别结果;

其中,所述重识别模型是将人像图像作为训练样本,对预先构建的包括外形子网络及外观子网络的重识别网络进行训练,得到的训练后的外观子网络。

2.根据权利要求1所述行人重识别方法,其特征在于,所述重识别模型通过以下步骤训练得到:

获取人像图像和目标图像,其中,所述目标图像包括行人身份标识;

将所述人像图像作为训练样本,将所述目标图像作为标签,并采用预先构建的损失函数对所述重识别网络进行训练,得到训练后的重识别网络;

将训练后的重识别网络中的外观子网络作为重识别模型。

3.根据权利要求2所述的行人重识别方法,其特征在于,所述外形子网络包括分割子网络及外形特征子网络;所述将所述人像图像作为训练样本,将所述目标图像作为标签,并采用预先构建的损失函数对所述重识别网络进行训练,得到训练后的重识别网络的步骤包括:

将所述人像图像输入所述分割子网络,利用所述分割子网络对所述人像图像进行掩膜提取,得到原始掩膜图像;

利用所述外形特征子网络对所述原始掩膜图像进行处理,得到细粒度掩膜图像以及外形特征图像;

将所述人像图像输入所述外观子网络,利用所述外观子网络对所述人像图像进行特征提取,得到外观特征图像;

根据所述原始掩膜图像、所述细粒度掩膜图像、所述外观特征图像、所述外形特征图像及所述目标图像,计算所述损失函数的损失值;

依据所述损失值更新所述重识别网络的参数,直至所述损失值满足预设条件,得到训练后的重识别网络,以使所述外形子网络与所述外观子网络相互学习。

4.根据权利要求3所述的行人重识别方法,其特征在于,所述外形特征子网络包括细粒度子网络及特征子网络;所述利用所述外形特征子网络对所述原始掩膜图像进行处理,得到细粒度掩膜图像以及外形特征图像的步骤包括:

将所述原始掩膜图像输入所述细粒度子网络,利用所述细粒度子网络对所述原始掩膜图像进行细粒度掩膜提取,得到细粒度掩膜图像;

对所述人像图像进行骨架点特征提取,得到骨架点特征图像;

对所述骨架点特征图像进行聚类处理,得到所述骨架点特征图像对应的细粒度掩膜图像的聚类标签,其中,所述聚类标签表征所述细粒度掩膜图像的姿态类别;

根据所述细粒度掩膜图像的聚类标签,将所述细粒度掩膜图像输入所述特征子网络,利用所述特征子网络对所述细粒度掩膜图像进行特征提取,得到外形特征图像。

5.根据权利要求4所述的行人重识别方法,其特征在于,所述特征子网络包括多个特征子分支,所述聚类标签与所述特征子分支一一对应;

所述根据所述细粒度掩膜图像的聚类标签,将所述细粒度掩膜图像输入所述特征子网络的步骤包括:

根据所述细粒度掩膜图像的聚类标签,将所述细粒度掩膜图像输入至与所述聚类标签对应的特征子分支中。

6.根据权利要求3所述的行人重识别方法,其特征在于,所述损失函数包括外形特征损失函数、外观特征损失函数、逻辑交互损失函数以及特征交互损失函数;

所述根据所述原始掩膜图像、所述细粒度掩膜图像、所述外观特征图像、所述外形特征图像及所述目标图像,计算所述损失函数的损失值的步骤包括:

利用所述原始掩膜图像、所述细粒度掩膜图像、外形特征图像及所述目标图像,计算所述外形特征损失函数的第一输出值;

利用所述外观特征图像及所述目标图像,计算所述外观特征损失函数的第二输出值;

获取所述外观子网络包括的每一层特征层输出的外观特征图,以及所述外形子网络包括的每一层特征层输出的外形特征图,利用每个所述外观特征图及所述外形特征图,计算所述特征交互损失函数的第三输出值;

获取所述外观子网络包括的逻辑回归层的第一数值,以及所述外形子网络包括的逻辑回归层的第二数值,利用所述第一数值及所述第二数值计算所述逻辑交互损失函数的第四输出值;

计算所述第一输出值、所述第二输出值、所述第四输出值及所述第三输出值的加权和;

将所述加权和作为所述损失函数的损失值。

7.根据权利要求6所述的行人重识别方法,其特征在于,所述依据所述损失值更新所述重识别网络的参数,直至所述损失值满足预设条件,得到训练后的重识别网络的步骤包括:

判断所述损失值是否小于预设阈值;

若是,则停止更新所述重识别网络的参数,得到训练后的重识别网络;

若否,则更新所述重识别网络的参数,并重复执行上述步骤,直至所述损失值小于所述预设阈值,得到训练后的重识别网络。

8.一种行人重识别装置,其特征在于,所述装置包括:

获取模块,用于获取包含人像的待识别图像;

识别模块,用于将所述待识别图像输入重识别模型进行重识别,得到重识别结果;

其中,所述重识别模型是将人像图像作为训练样本,对预先构建的包括外形子网络及外观子网络的重识别网络进行训练,得到的训练后的外观子网络。

9.一种电子设备,其特征在于,所述电子设备包括处理器、存储器及总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器及所述存储器之间通过总线通信,所述处理器执行所述机器可读指令,以执行权利要求1-7任意一项所述的行人重识别方法的步骤。

10.一种可读存储介质,其特征在于,所述可读存储介质存储有计算机程序,计算机程序被执行时实现权利要求1-7任意一项所述的行人重识别方法的步骤。

技术总结
本申请实施例提供了一种行人重识别方法、装置、电子设备和可读存储介质,涉及计算机视觉技术领域。通过获取包含人像的待识别图像,将待识别图像输入重识别模型进行重识别,得到重识别结果。其中,重识别模型是将人像图像作为训练样本,对预先构建的包括外形子网络及外观子网络的重识别网络进行训练,得到的训练后的外观子网络,提高了行人重识别的识别准确性和识别效率。

技术研发人员:韩欣彤;洪培衔;吴涛;吴岸聪;郑伟诗
受保护的技术使用者:广州虎牙科技有限公司
技术研发日:2021.04.30
技术公布日:2021.08.03

转载请注明原文地址:https://doc.8miu.com/read-7570.html

最新回复(0)