基于贝叶斯优化技术的行人重识别方法、装置和系统与流程

文档序号:19156668发布日期:2019-11-16 00:53阅读:335来源:国知局
基于贝叶斯优化技术的行人重识别方法、装置和系统与流程

本发明涉及视频监控技术领域,特别涉及一种基于贝叶斯优化技术的行人重识别方法、装置和计算机系统。



背景技术:

行人重识别是利用计算机视觉技术判断图像或者视频序列中是否存在特定行人的技术,广泛被认为是一个图像检索的子问题。跨镜追踪技术reid,简而言之,就是在不同的摄像设备(如监控摄像头,手机摄像头等)下将多人(最多可能到几千人)的场景拍摄下来,将不同的场景下出现的同一个人识别出来。reid与人脸识别的主要不同是人脸是用来认证一个人的身份,而行人reid是将同一个人在不同的摄像设备下对应起来,而不需要知道那个人的真实身份。给定一个监控行人图像,检索不同位置不同监控设备下的该行人图像。该技术是视频安全监控领域的核心技术,具有行人识别、检索和跟踪等重要应用。该任务的主要挑战在于人体遮挡严重、姿态和光线变化大等。

近年来,随着行人重识别研究的深入,利用深度神经网络(dcnn)的方法取得了较好的效果。这些方法主要分成两类:第一种直接提取人体全身模型;第二种对人体局部特征进行分别处理再集成成局部模型。第一种方式模型参数量小,推理速度快,但是检索精度一般;第二种方式在行人重识别领域中取得目前最先进的性能,但是模型参数量巨大,使得特征推理和检索时的计算复杂度和时间大大提升。由于现实应用的安全监控场景中存在大量视频数据,第二种方式由于计算复杂度高、相应的硬件成本高,很难满足现实中实时处理需求。



技术实现要素:

为解决上述技术问题,本发明提出了一种基于贝叶斯优化技术的行人重识别方法、装置和计算机系统,通过本发明的方案通过对现有技术的改进,提高了现有模型精度,这样既保证推理速度,又提高了检索精度。

根据本发明的一个实施例,本发明提供了一种基于贝叶斯优化技术的行人重识别方法,所述方法包括,

步骤s1、应用深度目标检测算法对视频中的行人图像数据集进行检测,得到待提取特征的行人图像数据;

步骤s2、对检测到的行人图像数据进行深度特征提取,得到视频中行人的所有特征值数据,从而建立检索特征数据库;

步骤s3、输入待查询图片并对该图片进行深度特征提取,得到待检索图像特征值,将所述待检索图像特征值与所述检索特征数据库中的所有特征值进行欧式距离计算并排序,输出排序结果。

优选的,所述步骤s1具体包括,

步骤s11、通过行人相关监控视频采集行人检测原始数据源,其中,所述监控视频以至少5fps保存为图片;

步骤s12、利用深度目标检测算法对原始数据源图片中的每一帧图像进行检测,得到待提取特征的所有行人图像数据。

优选的,所述深度目标检测算法包括faster-rcnn算法,或者,ssd目标检测算法。

优选的,所述步骤s2具体包括,

步骤s21、构建前向传播的深度卷积神经网络,用如下公式表示:

其中,i指的是输入的图片数据;f0指的是基础深度cnn网络,其包含卷积层和池化层;f1指的是瓶颈网络层,由单个卷积层、批归一化层、非线性激励函数层和dropout层组成;fc指的是最后具有c个类别的分类层,s指的是最后输出的c维分类概率的特征向量,c为数据集中不同人的个数;

步骤s22、基于深度卷积神经网络、联合损失函数以及贝叶斯优化技术获取最佳网络模型;

步骤s23、加载所述最佳网络模型,去除网络层fc的权重参数,将检测到的行人图像数据输入到该网络模型中进行运算,得到视频中行人的所有特征值数据,从而建立检索特征数据库。

优选的,所述步骤s22具体包括,

步骤s221、构建如下联合损失函数,

式中θ为三元损失函数作用的网络层参数,y为数据真实标签,为三元损失函数,为交叉熵分类损失函数,λ为两种损失函数的比例权重。

其中,三元损失函数用如下公式表示:

式中,为三元损失函数作用的网络层,a为基准图片数量,b为和基准图片为同一个人的图片数量,n为和基准图片不是同一个人的图片数量,da,n为基准图片和相同类别图片提取出的特征向量之间的距离;da,b为基准图片和不同类别图片提取出的特征向量之间的距离,m指的是距离之间的边界值;

交叉熵分类损失函数用如下公式表示:

其中,pk表示一次批量处理的图片数目,yi是第i个图片的类标,f代表由输入图片得到的特征向量,w是特征向量的权重参数;

步骤s222、采用贝叶斯优化训练算法,设定优化参数域,通过迭代方式选取出最优超参数,对选取的最优超参数进行大轮数的常规训练,得到验证集,并根据联合损失函数公式评估出loss函数值,重复训练,得到最佳网络模型。

优选的,步骤s3、输入待查询图片并对该图片进行深度特征提取,得到待检索图像特征值,将所述待检索图像特征值与所述检索特征数据库中的所有特征值进行欧式距离计算并排序,输出排序结果,具体为,采用与步骤s2相同的特征提取方式提取出待查询图片的深度特征值,计算待检索图像的特征值与检索特征数据库中的所有深度特征值做欧氏距离,得到一系列的距离值,根据距离值的大小,按照从小到大的顺序进行排序,最后获得行人重识别结果。

优选的,所述基础深度cnn网络采用resnet50网络、densnet201网络或inception网络中的一种。

优选的,所述距离之间的边界值m取0.3。

优选的,所述大轮数为300次。

根据本发明的一个实施例,本发明还提供了一种基于贝叶斯优化技术的行人重识别装置,所述装置包括,

检测模块,用于应用深度目标检测算法对视频中的行人图像数据集进行检测;

提取模块,用于对检测到的行人图像数据进行深度特征提取,得到视频中行人的所有特征值数据,从而建立检索特征数据库;

处理模块,用于输入待查询图片并对该图片进行深度特征提取,得到待检索图像特征值,将所述待检索图像特征值与所述检索特征数据库中的所有特征值进行欧式距离计算并排序,输出排序结果。

根据本发明的又一实施例,本发明提供了一种基于贝叶斯优化技术的行人重识别系统,所系统包括,存储器,存储可执行指令;一个或多个处理器与存储器通信以执行可执行指令从而完成以下操作:

应用深度目标检测算法对视频中的行人图像数据集进行检测,得到待提取特征的所有行人图像数据;

对检测到的所有行人图像数据进行深度特征提取,得到视频中行人的所有特征值数据,从而建立检索特征数据库;

输入待查询图片并对该图片进行深度特征提取,得到待检索图像特征值,将所述待检索图像特征值与所述检索特征数据库中的所有特征值进行欧式距离计算并排序,输出排序结果。

采用本发明的技术方案,有如下技术效果:

1.在market1501,cuhk03和dukemtmc三个大规模公开数据集上进行测试,本发明提出的模型在cuhk03数据集上取得最好的效果,平均准确度达到85.3%,为业界领先,并且计算量和显存消耗量均显著低于业界先进算法,特别适合于人工智能场景化落地

2.本发明提出的方法在推理内存和模型精度上综合考虑取得了最优效果。

附图说明

图1为本发明提出的基于贝叶斯优化技术的行人重识别方法流程图;

图2为本发明提出的基于贝叶斯优化技术的行人重识别方法一实施例图;

图3为本发明提出的基于贝叶斯优化技术的行人重识别方法基于贝叶斯优化训练方法流程图;

图4为本发明提出的基于贝叶斯优化技术的行人重识别方法效果对比图;

图5为本发明提出的基于贝叶斯优化技术的行人重识别装置组成框图;

图6为本发明提出的基于贝叶斯优化技术的行人重识别的计算机系统组成框图。

具体实施方式

以下结合附图对本发明的具体实施方式作出详细说明。

本发明采用的贝叶斯优化技术是一种寻找最优化目标函数极值的方法,特别适用于未知和计算昂贵的非凸目标函数的优化,经常用于机器学习中对于超参数的调整和优化。该算法的基本思想是基于数据使用贝叶斯定理迭代更新目标函数的后验分布,最后根据后验分布给出极值可能点。

根据本发明的实施例,如图1所示,本发明提供了一种基于贝叶斯优化技术的行人重识别方法,该方法包括了如下步骤:

步骤s1、应用深度目标检测算法对视频中的行人图像数据集进行检测,得到待提取特征的所有行人图像数据。

在本发明实施例中,根据本发明的目的,建立最优化网络模型,以及检索特征数据库,因此需要数据源作为支撑,该步骤的目的就在于设置数据源。具体包括了如下内容:

步骤s11、通过行人相关监控视频采集行人检测原始数据源,其中,所述监控视频以至少5fps保存为图片;

步骤s12、利用深度目标检测算法对原始数据源图片中的每一帧图像进行检测,得到待提取特征的所有行人图像数据。

在本发明中,基于深度目标检测算法来进行数据检测,而常用的深度目标检测算法包括faster-rcnn,也可以是ssd等通用目标检测算法,本发明中基于这些通用的算法进行图像检测,具体检测算法类型不做限制。

对行人图形数据进行预处理,包括且不限于尺寸归一化等方式,再进行加载,从而得到图像数据。

步骤s2、对检测到的所有行人图像数据进行深度特征提取,得到视频中行人的所有特征值数据,从而建立检索特征数据库。

在所有行人图像数据检测后,对这些图像数据进行深度特征提取,提取的方式包括两个阶段,即模型训练和模型推理,训练阶段采用公开的行人重识别数据集,推理阶段采用步骤一中提取出的行人图片。本发明中采用的公开行人重识别数据集为market1501,dukemtmc和cuhk数据集,但是不限于使用msmt17、mars等公开数据集或者是私人数据集等。

本实施例的训练阶段中,步骤s21、首先构建了一个前向传播的深度卷积神经网络,其构成如图2所示,可以用下面的公式1来表示训练的网络输入输出过程。

在公式1中,i指的是输入的图片数据,f0指的是基础深度cnn网络(包含卷积层和池化层),f1指的是瓶颈网络层,由单个卷积层、批归一化层、非线性激励函数层和dropout层组成;fc指的是最后具有c个类别的分类层,s指的是最后输出的c维分类概率的特征向量,c即等于数据集中不同人的个数。在训练过程中,图片首先经过基础网络f0,再经过是瓶颈网络层f1,最后经过分类的fc层。每次深度神经网络迭代过程中,fc层的输出与真实的类标(为c维的one-hot向量,此人对应的索引为1,其他索引为0)之间的差异反馈给网络进行反向传导。经过大量的迭代,深度神经网络的输出接近于真实的类标,具有一定的未知行人的推理能力,基础神经网络可以实现对行人特征的有效提取,瓶颈网络层实现了对全局最大池化后行人特征进行压缩提取出的特征,并作为推理阶段最终的特征向量;最后的fc层作为分类损失层,作用于基础网络层。在整个训练过程中,有三元损失函数和分类损失函数联合作用于网络。

步骤s22、基于深度卷积神经网络、联合损失函数以及贝叶斯优化技术获取最佳网络模型。

在本发明的实施例中,具体包括如下内容:

步骤s221、构建如下联合损失函数,

式中θ为三元损失函数作用的网络层参数,y为数据真实标签,为三元损失函数,为交叉熵分类损失函数,λ为两种损失函数的比例权重。

其中,三元损失函数使用瓶颈网络层输出的特征t,作用于基础网络f0和瓶颈网络层f1,用如下公式表示:

式中,θ为三元损失函数作用的网络层参数,a为基准图片,b表示的是与基准图片同属一个人的另一张图片,n为和基准图片不是同一个人的图片,da,n为基准图片和相同类别图片提取出的特征向量之间的距离;da,b为基准图片和不同类别图片提取出的特征向量之间的距离,m指的是距离之间的边界值。

在本发明的实施例中,选择p=16和k=8,也就是16个人,每个人有8张不同的图片组成128张(t=128)的小批量图片数据集作为输入,实际计算采用的是欧氏距离,距离边界值选取的是0.3。

交叉熵分类损失函数用如下公式表示:

其中,pk表示一次批量处理的图片数目,yi是第i个图片的类标,f代表由输入图片得到的特征向量,w是特征向量的权重参数;

交叉熵分类损失函数为标准的分类函数,对全连接层fc输出的特征s进行归一化和对数处理后,与实际分类的数据计算误差。

本发明采用三元损失函数和交叉熵分类损失函数联合的方式,共同调整基础网络f0完成对行人特征的提取,可以有效地提高分类的精度,比单独使用一种损失函数的效果要好。在本发明的实际运用中,瓶颈网络层f1输出的特征维度为2048。

步骤s222、采用贝叶斯优化训练算法,设定优化参数域,通过迭代方式选取出最优超参数,对选取的最优超参数进行大轮数的常规训练,得到验证集,并根据联合损失函数公式评估出loss函数值,重复训练,得到最佳网络模型。

在该步骤中采用新型贝叶斯优化训练方法,其流程如图3所示。

首先设定优化参数域。参数域指的是模型训练中对精度影响较大的超参数,在本发明中,设定可优化的参数和范围为:k(每次迭代的小批量数据中人的数量,范围1~8)和p(每个人的图片的数量,范围1~16)。但不限于其他超参数。

在本发明中使用了resnet50的预训练模型(去除resnet50最后的分类层)加快收敛,采用adam优化求解器。网络模型的常规训练,采用adam优化求解器,每次大轮数训练300步,前150步学习速率为3e-4,从第150步开始进行学习速率的调整,逐渐下降到3e-7。

在每次大轮数训练之前,采用bayes算法调整p和k:

1.首先存储当前网络模型的状态,加载resnet50预训练模型。

2.随机选取p和k的实际值p0和k0,训练小轮数的网络模型计算损失函数值下降率,训练20次迭代,取前10次迭代的损失下降值和后10步的损失下降值,然后计算两次下降值的相对差异,记为drop0;恢复网络模型至20次迭代之前,随机选取另一组超参p1和k1,计算前10次迭代与后10次迭代的损失函数下降值的差异,记为drop1;

3.设定最优损失下降率为drop=0.15,衡量drop0和drop1哪个更接近与最优下降率,根据bayes最优化理论估计更优的超参p2和k2。用当前最优的2组超参重复步骤2,不断得优化超参,迭代更新bayes模型。

4.设定当bayes模型的超参p和k经过迭代保持不变的最大次数为3次,达到此稳定状态后即得到最优的参数p和k,停止本次大轮数训练的超参。正常情况下bayes方法需要评估超参的次数远小于暴力评估(8×16=128次)。

5.读取已存储的网络模型,选取bayes评估的最优超参p和k,开始进行大轮数(300次迭代)的常规训练。

6.将每次大轮数常规训练后的模型在验证集上根据公式(2)评估loss函数值,如果达到最小,则存储并更新全局最佳网络模型。

7.重复步骤1至6,当连续10次大轮数训练均不能更新全局最佳网络模型,停止训练,选用全局最佳网络模型作为最终模型用于推理。

得带最佳网络模型后,执行如下内容:

步骤s23、加载所述最佳网络模型,去除网络层fc的权重参数,将检测到的行人图像数据输入到该网络模型中进行运算,得到视频中行人的所有特征值数据,从而建立检索特征数据库。

在本发明的实际运用中,深度特征的维度为2048维。单进程的网络推理速度达到20,000张图片/秒以上。

执行完上述过程后,执行最后一步,

步骤s3、输入待查询图片并对该图片进行深度特征提取,得到待检索图像特征值,将所述待检索图像特征值与所述检索特征数据库中的所有特征值进行欧式距离计算并排序,输出排序结果。

在该步骤中,采用与步骤s2相同的特征提取方式提取出待查询图片的深度特征值,计算待检索图像的特征值与检索特征数据库中的所有深度特征值做欧氏距离,得到一系列的距离值,根据距离值的大小,按照从小到大的顺序进行排序,最后获得行人重识别结果。因为步骤s2中使用的网络比较精简,在实际推理中提取特征速度非常快,有效地提高了行人重识别系统的检索效率。

如图4所示,不同行人重识别方法检索精度对比。从左到右分别代表机构名称、算法名称,market1501,cuhk03,dukemtmc数据集上的精度以及平均精度,最右边两列的mul&add和memory分别代表计算复杂度和显存消耗。

本发明的技术效果有两点:

1、在market1501,cuhk03和dukemtmc三个大规模公开数据集上进行测试,对比如图4所示,本发明提出的模型在cuhk03数据集上取得最好的效果。图4中所有数据集上的检索均采用单检索图查询,即每个人使用一张查询图片;cuhk03数据有两种模式,一种标记为d,指的是采用检测器标定的人体图像,标记l指的是手工标定的人体图像。本发明的算法名称为渐进式学习方法(progressivelearningalgorithm,简称pla)。从图4可以看到,pla算法的平均准确度达到85.3%,为业界领先。并且计算量和显存消耗量均显著低于业界先进算法,特别适合于人工智能场景化落地。

2、图4右侧两列为推理内存和模型精度的对比,mul&add和memory分别代表计算复杂度和显存消耗。从图4中可以看出,本发明提出的方法在推理内存和模型精度上综合考虑取得了最优效果。

如图5所示,本发明提供了一种基于贝叶斯优化技术的行人重识别装置,所述装置包括,

检测模块,用于应用深度目标检测算法对视频中的行人图像数据集进行检测,得到待提取特征的所有行人图像数据;

提取模块,用于对检测到的所有行人图像数据进行深度特征提取,得到视频中行人的所有特征值数据,从而建立检索特征数据库;

处理模块,用于输入待查询图片并对该图片进行深度特征提取,得到待检索图像特征值,将所述待检索图像特征值与所述检索特征数据库中的所有特征值进行欧式距离计算并排序,输出排序结果。

如图6所示,本发明提供了一种基于贝叶斯优化技术的行人重识别系统,所系统包括,存储器,存储可执行指令;一个或多个处理器与存储器通信以执行可执行指令从而完成以下操作:

应用深度目标检测算法对视频中的行人图像数据集进行检测,得到待提取特征的所有行人图像数据;

对检测到的所有行人图像数据进行深度特征提取,得到视频中行人的所有特征值数据,从而建立检索特征数据库;

输入待查询图片并对该图片进行深度特征提取,得到待检索图像特征值,将所述待检索图像特征值与所述检索特征数据库中的所有特征值进行欧式距离计算并排序,输出排序结果。

具体来说,计算机系统500包括中央处理单元(cpu)501,其可根据存储在只读存储器(rom)502中的程序或从存储部分508加载至随机存取存储器(ram)503中的程序而执行各种适当的动作和过程。在ram503中,还存储有系统500操作所需要的各种程序和数据。cpu501、rom502和ram503通过总线彼此连接。输入/输出i/o接口505也与总线504连接。

以下为与i/o接口连接的部件:包括键盘、鼠标等的输入部分506;包括阴极射线管crt、液晶显示设备lcd和扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括网络接口卡(如lan卡和调制解调器等)的通信部分509。通信部分509通过诸如因特网等网络执行通信处理。根据需要,驱动器510也与i/o接口505连接。如磁盘、光盘、磁光盘、半导体存储器等的可拆卸介质511可安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。

具体地,根据本公开的实施方式,以上参照图2描述的过程可实施为计算机软件程序。例如,本公开的实施方式包括计算机程序产品,该产品包括有形地体现在机器可读介质中的计算机程序。该计算机程序包括用于执行图2的方法的程序代码。在这种实施方式中,计算机程序可通过通信部分509从网络上下载并进行安装,和/或可从可拆卸介质511安装。

本发明可以应用于终端设备、计算机系统以及服务器等电子设备中,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统以及包括上述任何系统的分布式云计算技术环境等等。

终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。

对于本领域技术人员而言,显然本发明实施例不限于上述示范性实施例的细节,而且在不背离本发明实施例的精神或基本特征的情况下,能够以其他的具体形式实现本发明实施例。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明实施例的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明实施例内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统、装置或终端权利要求中陈述的多个单元、模块或装置也可以由同一个单元、模块或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

最后应说明的是,以上实施方式仅用以说明本发明实施例的技术方案而非限制,尽管参照以上较佳实施方式对本发明实施例进行了详细说明,本领域的普通技术人员应当理解,可以对本发明实施例的技术方案进行修改或等同替换都不应脱离本发明实施例的技术方案的精神和范围。

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