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

一种基于深度学习的行人检测与重识别方法、系统及终端

文献发布时间:2024-04-18 19:58:21


一种基于深度学习的行人检测与重识别方法、系统及终端

技术领域

本发明属于深度学习技术领域,尤其涉及一种基于深度学习的行人检测与重识别方法、系统及终端。

背景技术

构建智能化监控系统的核心是自动处理摄像头拍摄到的图像数据,行人则是图像中最重要的关注对象。因此,在实际场景中对于行人的检测、识别和定位跟踪具有非常重要的应用价值。目前,应用比较广泛的面部识别技术具有要求人员高度合作的局限性:需要视角、光照、遮挡情况和拍摄距离等许多条件的正向满足。显然,在实际生活中的监控设备大部分无法获取如此高质量的图像数据。而深度学习因其优异的图像特征表达,被广泛应用于图像处理任务中。

行人检测与重识别技术利用计算机视觉技术对图像或视频中出现的行人进行特征提取和比对,从而实现对同一个行人在不同时间段和不同监控下的跟踪和识别。其任务是将一个或一组探测图像与图库中的图像进行匹配,以便识别探测图像(集)的身份标识,广泛应用于视频监控,包括行人搜索、相机跟踪和行为分析。但仍然不可避免的面临着多变的实际场景的挑战,由于待查询的行人会在多个不同的摄像头下出现,不同的设备拥有不同的分辨率、摄像尺寸,以及不同监控视频中行人姿态、视角、背景等不断变化,都非常影响图像质量,从而影响了模型的准确度。随着深度学习技术的出现,相比于传统方法,基于深度学习的行人检测与重识别算法在性能方面取得了很大的提高。

目前对于行人检测与重识别可以从特征表示和相似性度量两个方面来研究。

然而,现有的行人重识别算法与实用阶段间仍存在相当的差距。尽管该技术取得了进步,但是在面对具有挑战性的场景时,其中许多方法表现出次优性能。例如,传统研究会借助绘画结构和分割技术等处理行人图像,再通过底层视觉特征来匹配,然后使用高斯模型拟合样本间的差值分布,而面对姿势的变化和遮挡的变化,会造成大量的匹配错误。尽管目前有研究基于姿态估计方法,但是这种方法往往需要额外模型提供先验信息,效率受到限制。但随着行人重识别数据集的日益丰富和复杂,仅使用全局特性也无法获得良好的性能,准确度受到限制。

通过上述分析,现有技术存在的问题及缺陷为:目前的行人重识别算法仅使用全局特征或额外使用先验模型,无法兼顾性能与效率,行人检测与重识别的精度还有待提升。

发明内容

针对现有技术存在的问题,本发明提供了一种基于深度学习的行人检测与重识别方法、系统及终端。

本发明是这样实现的,一种基于深度学习的行人检测与重识别方法,基于深度学习的行人检测与重识别方法包括:

S1,数据预处理:对行人图像按照ID进行排列划分为训练集和测试集,集合之间的图像互不重复;

S2,构建行人重识别模型:使用深度学习框架PyTorch搭建L2GNet模型,该模型总共由17个卷积层组成,每个卷积使用ReLU作为激活函数;

S3,模型训练:在训练集上训练L2GNet,根据反向传播原理迭代更新该网络的参数;

S4,将测试集数据输入训练好的模型进行检测与重识别任务,计算行人重识别性能指标并保存查询到的行人图像。

进一步,S2中行人重识别模型的17个卷积层分为4个卷积块,第一层、隐藏层和最后一层:

第一层包含3个卷积层和一个ReLU激活函数,通道数由3变成64;

隐藏层包含15个卷积层,每个卷积层后应用一个ReLU激活函数,使用残差结构的设计保持通道数不变;

最后一层是分为全局分支和局部分支,分别是3个卷积层和一个ReLU激活函数,通道数由64恢复成3;其中,局部分支的额外增加一个1×1卷积,将水平池化后的局部特征图的通道数从2048维降低到128维,以提高计算效率。

进一步,S3在训练集上训练L2GNet模型,使用Adam优化算法对模型进行梯度优化,使用联合交叉熵损失函数和难样本三元组损失函数的损失函数进行参数更新:

L

L=L

其中n表示每批中训练样本的数量,α表示样本之间的margin,根据实际需要进行设置。

进一步,使用相同的前缀网络ResNet50提取前端特征,之后的输出分为两支:一种是将全局池直接应用于特征图,从而将全局特征提取为全局分支;另一种是通过水平池化提取每一行的局部特征,然后应用1×1卷积来减少通道数,最终的损失由难样本三元组损失来计算。

本发明的另一目的在于提供一种应用所述的基于深度学习的行人检测与重识别方法的基于深度学习的行人检测与重识别系统,基于深度学习的行人检测与重识别系统包括:

数据预处理模块,用于对行人图像按照ID进行排列划分为训练集和测试集,集合之间的图像互不重复;

模型构建模块,用于使用深度学习框架PyTorch搭建L2GNet模型;

模型训练模块,在训练集上训练L2GNet,根据反向传播原理迭代更新该网络的参数;

识别模块,用于将测试集数据输入训练好的模型进行检测与重识别任务,计算行人重识别性能指标并保存查询到的行人图像。

本发明的另一目的在于提供一种计算机设备,计算机设备包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行所述的基于深度学习的行人检测与重识别方法的步骤。

本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行所述的基于深度学习的行人检测与重识别方法的步骤。

本发明的另一目的在于提供一种信息数据处理终端,信息数据处理终端用于实现所述的基于深度学习的行人检测与重识别系统。

结合上述的技术方案和解决的技术问题,本发明所要保护的技术方案所具备的优点及积极效果为:

第一,针对上述现有技术存在的技术问题以及解决该问题的难度,紧密结合本发明的所要保护的技术方案以及研发过程中结果和数据等,详细、深刻地分析本发明技术方案如何解决的技术问题,解决问题之后带来的一些具备创造性的技术效果。具体描述如下:

本发明对损失函数进行改进,引入一种softmax损失和难样本三元组损失联合的损失函数,在图像间的相似性度量上表现出具有竞争性的效果。

本发明对深度学习模型中的高级特征表达额外增加局部分支,学习部分/区域聚合特征,使得模型对错位等问题更具有鲁棒性。

第二,把技术方案看做一个整体或者从产品的角度,本发明所要保护的技术方案具备的技术效果和优点,具体描述如下:

本发明使用PyTorch框架搭建L2GNet模型,该模型基于ResNet50网络并进行改进,使其适合行人检测与重识别任务;在训练过程中,使用平均精度值作为模型训练评估指标,每次迭代保存性能最好的模型;使用保存的模型在测试集上评估模型的检测与重识别效果;本发明在公开数据集上实现了较高精度的行人检测与重识别性能,并在多个评价指标上取得了很好的结果。具体而言,在与近5年方法进行比较时,本发明在绝大多数情况下表现出更好的性能,进一步验证了以上改进方法的有效性。

第三,作为本发明的权利要求的创造性辅助证据,还体现在以下几个重要方面:

(1)本发明的技术方案转化后的预期收益和商业价值为:

近年来随着国家经济技术等不断发展,公众生活水平不断提高,使得社会安全问题越来越受到广泛关注。人们对公共安全要求的提高,带来了智能监控应用的需求爆炸式增长,大量监控器的布置为维护公共安全提供了保障。但是不难发现,大量的监控设备实时产生的视频数据是非常庞大的,并且随着时间进行着指数级的增长。于是,当发生异常事件需要从监控中获取人员行迹信息或身份识别时,往往需要消耗大量人力、物力对海量数据进行人工搜集与检索,时效性较差。

本发明提供的行人检测与重识别方法采用先进的深度学习技术,在ResNet50基础上进行的改进后的模型,可以跨摄像头追踪和重识别行人,实现更加准确的识别和定位。这将有助于及时识别目标人员,预计在公共安全领域广泛应用后,本技术方法有望显著减少犯罪率,提升安全感,为执法部门提供更加有效的工具。同时,本发明技术方案的转化应用也将提高监控摄像头的智能性,减轻人力监控的压力,降低警务成本。预期在未来数年内,本发明提供的技术方案有望创造巨大的经济效益,同时对城市的整体安全环境产生积极的社会影响。

(2)本发明的技术方案是否克服了技术偏见:

本发明的技术方案通过采用先进的度量损失和预训练权重方法,有效地克服了现有行人检测与重识别技术中可能存在的技术偏见。这些偏见可能来自于数据分布的差异性、数据集间的领域偏移等,导致传统方法的结果存在误导的结果的问题。

为克服技术偏见,本发明提供的技术方案,在模型训练时使用了预训练好的权重参数作为初始化指导,并在重识别过程中,保留局部细节特征和使用先进的度量损失方法,在训练样本少的情况下依然保证优良的识别精度。例如传统方法在某地区的样本稀缺而导致应用在该地区的方案的识别精度下降,特别是在保护数据隐私和个人肖像权利的环境下,数据样本的稀缺是难以解决的问题,而本发明提供的技术方案有效地克服这一偏见,使得该技术方案的转化落地更具有现实意义和经济效益。

第四,在本发明的实施例中,基于深度学习的行人检测与重识别方法的各个步骤都带来了显著的技术进步:

S1,数据预处理:预处理步骤极大地提高了模型训练的效率和质量。通过按照ID对行人图像进行排列并划分为训练集和测试集,我们确保了集合之间的图像互不重复,从而避免了过拟合的问题,使模型能够更好地泛化到新的、未见过的数据上。

S2,构建行人重识别模型:构建了一个专门为行人重识别定制的深度学习模型L2GNet。该模型使用了深度学习框架PyTorch,并由17个卷积层组成,每个卷积使用ReLU作为激活函数,构建了具有良好性能和适应性的模型架构。特别地,模型中的残差结构设计和1×1卷积,有效地保持了通道数的一致性,同时降低了局部特征图的维度,从而提高了计算效率。

S3,模型训练:在训练集上训练L2GNet模型的过程中,使用了Adam优化算法和联合交叉熵损失函数与难样本三元组损失函数,这使得网络在学习过程中能更好地识别出不同行人的特征,并且能够有效地处理难样本,从而提高模型的性能。此外,通过逐步降低学习率,模型能够更好地收敛,从而提高模型的稳定性和预测精度。

S4,检测与重识别:将测试集数据输入训练好的模型进行检测与重识别任务,计算行人重识别性能指标并保存查询到的行人图像,这使得模型能够在实际应用中进行有效的行人检测与重识别,从而实现了模型的实用性,也为后续的行人跟踪和分析提供了重要的基础。

总的来说,这个基于深度学习的行人检测与重识别方法,通过精心设计的模型结构和训练策略,实现了高效且精确的行人检测与重识别,具有很高的实用价值和广泛的应用前景。

附图说明

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

图1是本发明实施例提供的基于深度学习的行人检测与重识别方法步骤图;

图2是本发明实施例提供的基于深度学习的行人检测与重识别方法流程图;

图3是本发明实施例提供的网络结构示意图;

图4是本发明实施例提供的针对图像间相似度检测方法的测试结果示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

针对现有技术存在的问题,本发明提供了一种基于深度学习的行人检测与重识别方法、系统及终端,下面结合附图对本发明作详细的描述。

如图1所示,本发明实施例提供的基于深度学习的行人检测与重识别方法,包括以下步骤:

S1,数据预处理:对行人图像按照ID进行排列划分为训练集和测试集,集合之间的图像互不重复;

S2,构建行人重识别模型:使用深度学习框架PyTorch搭建L2GNet模型,该模型总共由17个卷积层组成,每个卷积使用ReLU作为激活函数;

S2中行人重识别模型的17个卷积层分为4个卷积块,第一层、隐藏层和最后一层:

第一层包含3个卷积层和一个ReLU激活函数,通道数由3变成64;

隐藏层包含15个卷积层,每个卷积层后应用一个ReLU激活函数,使用残差结构的设计保持通道数不变;

最后一层是分为全局分支和局部分支,分别是3个卷积层和一个ReLU激活函数,通道数由64恢复成3。其中,局部分支的额外增加一个1×1卷积,将水平池化后的局部特征图的通道数从2048维降低到128维,以提高计算效率。

S3,模型训练:在训练集上训练L2GNet,根据反向传播原理迭代更新该网络的参数;

S3在训练集上训练L2GNet模型,使用Adam优化算法对模型进行梯度优化,使用联合交叉熵损失函数和难样本三元组损失函数的损失函数进行参数更新:

L

L=L

其中,输入图像x

使用此联合损失函数进行网络训练,采用Adam优化器对模型参数进行优化,初始学习设置为0.0002,总共训练了300个周期,在一半时将学习率降为原来的十分之一。

S4,将测试集数据输入训练好的模型进行检测与重识别任务,计算行人重识别性能指标并保存查询到的行人图像。

如图2所示为本发明实施例提供的行人检测与重识别方法流程图。

如图3所示为本发明实施例提供的网络结构示意图,使用相同的前缀网络(ResNet50)提取前端特征,之后的输出分为两支:一种是将全局池直接应用于特征图,从而将全局特征提取为全局分支;另一种是通过水平池化提取每一行的局部特征,然后应用1×1卷积来减少通道数,最终的损失由难样本三元组损失来计算。

本发明的应用实施例提供了一种计算机设备,计算机设备包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行基于深度学习的行人检测与重识别方法的步骤。

本发明的应用实施例提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行基于深度学习的行人检测与重识别方法的步骤。

本发明的应用实施例提供了一种信息数据处理终端,信息数据处理终端用于实现基于深度学习的行人检测与重识别系统。

本发明实施例在研发或者使用过程中取得了一些积极效果,和现有技术相比的确具备很大的优势,下面内容结合试验过程的数据、图表等进行描述。

如图4所示为本发明实施例提供的针对图像间相似度检测方法的测试结果;为了更好地说明本发明在解决行人检测与重识别任务上的优势与贡献,与其他的一些现有方法进行比较,以评估其性能和有效性。如表1所示,本发明实施例采用softmax和难样本三元组联合损失函数进行相似性度量的模型比其他单损失函数及其组合在多个评价指标中都表现出了更高的性能。如表2所示,在新的联合损失函数的引入后,本发明实施例采用局部分支和全局分支联合训练的行人重识别模型比仅使用全局分支的ResNet50在多个评价指标中表现出更高的性能,特别是平均精度值(mAP)高出7%。同时,也对比了其他不同方法在Market1501数据集上的性能表现,如表3所示,本发明实施例在Market1501数据集上实现了较高精度的行人检测与重识别性能,并在多个评价指标上取得了很好的结果,表明提出的方法在测试条件下呈现出色的竞争力。此外,本发明实施例在一个颇具挑战性的数据集MSMT17上进行了性能评估,该数据集由180小时的视频组成,包含4101个行人身份。每个行人通常具有15个摄像机视角下的图像,呈现复杂的光照变化。不论在规模上还是遮挡、光线、视角等问题上都最接近现实情况。如表4所示,本发明实施例与其他方法相比依旧呈现非常具有竞争力的准确性。

表1本发明行人相似性度量方法与多种度量方法的性能比较

表2本发明行人重识别方法与仅使用全局分支的ResNet50的性能比较

表3本发明行人重识别方法与其他方法在Market1501数据集上的性能比较

表4本发明行人重识别方法与其他方法在MSMT17数据集上的性能比较

实施例1:基于深度学习的行人检测与重识别在商场监控系统中的应用

数据预处理:收集商场监控系统中的行人图像,利用人脸识别技术将行人的脸部图像提取出来,并且按照每个行人的ID进行排序,划分为训练集和测试集。

构建行人重识别模型:使用PyTorch框架,按照给定的架构,搭建L2GNet模型。

模型训练:使用Adam优化器和联合损失函数(交叉熵损失和难样本三元组损失)来训练模型。训练过程中,将学习率设定为0.0002,并且在训练到一半的时候,将学习率降为原来的十分之一。

检测与重识别:在模型训练好后,将测试集中的数据输入进模型,进行行人检测与重识别。并且保存查询到的行人图像,用于后续的行人跟踪和分析。

实施例2:基于深度学习的行人检测与重识别在智能交通系统中的应用

数据预处理:从交通监控系统中收集行人图像,使用计算机视觉技术将行人全身图像提取出来,并且按照每个行人的ID进行排序,划分为训练集和测试集。

构建行人重识别模型:使用PyTorch框架,按照给定的架构,搭建L2GNet模型。

模型训练:使用Adam优化器和联合损失函数(交叉熵损失和难样本三元组损失)来训练模型。训练过程中,将学习率设定为0.0002,并且在训练到一半的时候,将学习率降为原来的十分之一。

检测与重识别:在模型训练好后,将测试集中的数据输入进模型,进行行人检测与重识别。并且保存查询到的行人图像,用于后续的行人跟踪和分析。这在智能交通系统中,可以用于行人安全,交通规划等多个方面。

应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。

相关技术
  • 一种基于RGB相机和深度学习的人体姿态识别方法与系统
  • 一种基于深度学习算法的异常垃圾短信识别方法及系统
  • 一种基于深度学习的行人重识别方法及系统
  • 一种基于深度学习和强化学习的行人重识别方法及系统
技术分类

06120116485343