一种基于十字卷积模块的行人重识别办法

文档序号:33047793发布日期:2023-01-24 22:47阅读:83来源:国知局
一种基于十字卷积模块的行人重识别办法

1.本发明涉及目标追踪领域,特别涉及一种基于十字卷积模块的行人重识别办法。


背景技术:

2.基于十字卷积模块的行人重识别办法是一种进行行人目标追踪的方法,随着网络技术以及计算机视觉安保领域的不断发展,智慧城市技术的不断迭代,如何在不同的摄像头中寻找出同一个人,以此实现对某一个对象的追踪,成为一个热门的研究话题。现有的深度学习方法大多是基于卷积模块抑或是transformer的方法,在计算机视觉领域获得了极大的成功。而最近一篇基于lstm架构起来的新的网络模块,在识别以及分类任务上取得了sota(the state of art,即先进)的效果,启发着我们探讨新一代的网络范式的可能性,随着科技的不断发展,人们对于基于十字卷积模块的行人重识别办法的要求也越来越高。
3.现有的基于十字卷积模块的行人重识别办法在使用时存在一定的弊端,首先,在transformer未进军计算机视觉领域之前,大多数深度学习模型都是基于cnn,即卷积模块架构起来的网络,并在视觉上的取得了挺不错的成绩,而transformer的进入视觉领域之后,又将各个分类任务的准确率拉高了不止一个档次,使得这一个网络迅速成为视觉领域的一大研究热点,而cnn的热度暂时下降,之后,谷歌的一篇论文又调整cnn的卷积核,以及其它的一些训练参数之后,创造了一个新的算法名为convnet,性能又反超了transformer,就如这篇论文的作者所说,这将会引起人们探讨新一代网络的可能性,还有,受convnet等其它的一些论文的启发,该论文的作者又从双向lstm出发,设计了另外一种算法名为sequencer,该算法同时对像素点的水平和竖直方向上进行特征提取,性能又超越了以往的模型,实现了新的sota(the state of art,即先进),但缺点也很明显,其中lstm是递归的神经网络模块,而且是串行的,这将使得整一个网络的计算量较大,速度也比较慢,给人们的使用过程带来了一定的不利影响,为此,我们提出一种基于十字卷积模块的行人重识别办法。


技术实现要素:

4.(一)解决的技术问题针对现有技术的不足,本发明提供了一种基于十字卷积模块的行人重识别办法,该模块的可扩展性良好,可用于任意的网络结构,由于十字卷积的卷积前后特征的长宽并没有发生变化,所以可以直接做skip connection,该模块可以直接等效于bilstm2d模块,直接嵌入到sequencer的网络中,以弥补bilstm2d只能做串行计算以及是递归计算的不足,可以有效解决背景技术中的问题。
5.(二)技术方案为实现上述目的,本发明采取的技术方案为:一种基于十字卷积模块的行人重识别办法,包括以下操作步骤:s1:设计十字卷积核:十字卷积核的参数与普通卷积核无太大差别,即输入通道
数、输出通道数、步长与卷积核大小;s2:输入通道数设置:设置输入的通道个数,假如一张图片是rgb图片,则此时该模块的输入的时候通道数便为3;s3:输出通道数设置:设置输出的通道个数,有多少个卷积核便有多少个输出的通道数;s4:步长设置:设置卷积的步长,步长为1,代表着卷积核横向移动的步长为一个像素,步长为2,便为两个像素;s5:卷积核大小设置:此项与普通卷积核有所不同,一般的卷积核便是卷积核形状为矩形,在普通卷积核中,若卷积核大小为(m,n),则该卷积核为长为m个像素,宽为n个像素的矩形,其参数也就有m
×
n个,为了方便阐述以及后期计算,此处定义(m, n)为在十字卷积核中,m代表着水平方向的一半长度(向上取整)n代表着竖直方向的一半长度(向上取整);s6:卷积方式与中心对称的权值共享:移动从图片的第一个像素开始,从左到右,从上到下逐一遍历每一个像素,并对每一个像素的十字型邻居进行卷积,卷积核为十字型,采取遍历对象为每一个像素,且当前访问对象为卷积核的中心,卷积核中任意两个中心对称的参数进行共享,采用处于中心对称的两个点进行权值共享的方法,就图像卷积而言,只要卷积核大小不超过图像大小,十字卷积核中总有2个“手臂”是在图像里面的;s7:十字型卷积网络设计:十字卷积核输入的长和宽是一样的,可以完成跳连的操作,重识别网络依托于resnet50的架构,只需重新定义单位模块,再将其交付给resnet50生成骨干网络,受transformer的启发,在网络的最后加一层channel mlp层,做一次线性回归即可。
6.作为本技术一种优选的技术方案,所述十字卷积模块主要核心为十字卷积核,所述十字卷积核由输入通道数、输出通道数、步长、卷积核大小组成。
7.作为本技术一种优选的技术方案,所述十字卷积核采用遍历方式,移动从图片的第一个像素开始,从左到右,从上到下逐一遍历每一个像素,并对每一个像素的十字型邻居进行卷积。
8.作为本技术一种优选的技术方案,所述十字卷积核遍历对象为每一个像素,且当前访问对象为卷积核的中心。
9.作为本技术一种优选的技术方案,所述十字卷积核采用中心对称的权值共享的方法,卷积核中任意两个中心对称的参数进行共享。
10.作为本技术一种优选的技术方案,所述十字卷积核输入的长和宽相同,且组成重识别网络,依托于resnet50的架构。
11.作为本技术一种优选的技术方案,所述十字卷积核可用于任意的网络结构,由于十字卷积的卷积前后特征的长宽并没有发生变化,所以可以直接做skip connection。
12.作为本技术一种优选的技术方案,所述十字卷积模块可以直接等效于bilstm2d模块,直接嵌入到sequencer的网络中,以弥补bilstm2d只能做串行计算以及是递归计算的不足。
13.(三)有益效果与现有技术相比,本发明提供了一种基于十字卷积模块的行人重识别办法,具备以下有益效果:该一种基于十字卷积模块的行人重识别办法,该模块的可扩展性良好,可用
于任意的网络结构,由于十字卷积的卷积前后特征的长宽并没有发生变化,所以可以直接做skip connection,该模块可以直接等效于bilstm2d模块,直接嵌入到sequencer的网络中,以弥补bilstm2d只能做串行计算以及是递归计算的不足,进一步提高行人的准确率,整个基于十字卷积模块的行人重识别办法结构简单,操作方便,使用的效果相对于传统方式更好。
附图说明
14.图1为本发明一种基于十字卷积模块的行人重识别办法的整体十字卷积方式结构示意图。
15.图2为本发明一种基于十字卷积模块的行人重识别办法中十字卷积核的结构示意图。
16.图3为本发明一种基于十字卷积模块的行人重识别办法中十字交叉注意力的系统架构的结构示意图。
17.图4为本发明一种基于十字卷积模块的行人重识别办法中十字交叉注意力的内部实现的结构示意图。
18.图5为本发明一种基于十字卷积模块的行人重识别办法中十字型特征提取的结构示意图。
19.图6为本发明一种基于十字卷积模块的行人重识别办法中中心对称的权值共享的结构示意图。
20.图7为本发明一种基于十字卷积模块的行人重识别办法中十字卷积模块的结构示意图。
具体实施方式
21.下面将结合附图和具体实施方式对本发明的技术方案进行清楚、完整地描述,但是本领域技术人员将会理解,下列所描述的实施例是本发明一部分实施例,而不是全部的实施例,仅用于说明本发明,而不应视为限制本发明的范围。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。实施例中未注明具体条件者,按照常规条件或制造商建议的条件进行。所用试剂或仪器未注明生产厂商者,均为可以通过市售购买获得的常规产品。
22.在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
23.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
24.如图1-7所示,一种基于十字卷积模块的行人重识别办法,包括以下操作步骤:s1:设计十字卷积核:十字卷积核的参数与普通卷积核无太大差别,即输入通道数、输出通道数、步长与卷积核大小;s2:输入通道数设置:设置输入的通道个数,假如一张图片是rgb图片,则此时该模块的输入的时候通道数便为3;s3:输出通道数设置:设置输出的通道个数,有多少个卷积核便有多少个输出的通道数;s4:步长设置:设置卷积的步长,步长为1,代表着卷积核横向移动的步长为一个像素,步长为2,便为两个像素;s5:卷积核大小设置:此项与普通卷积核有所不同,一般的卷积核便是卷积核形状为矩形,在普通卷积核中,若卷积核大小为(m,n),则该卷积核为长为m个像素,宽为n个像素的矩形,其参数也就有m
×
n个,为了方便阐述以及后期计算,此处定义(m, n)为在十字卷积核中,m代表着水平方向的一半长度(向上取整)n代表着竖直方向的一半长度(向上取整);s6:卷积方式与中心对称的权值共享:移动从图片的第一个像素开始,从左到右,从上到下逐一遍历每一个像素,并对每一个像素的十字型邻居进行卷积,卷积核为十字型,采取遍历对象为每一个像素,且当前访问对象为卷积核的中心,卷积核中任意两个中心对称的参数进行共享,采用处于中心对称的两个点进行权值共享的方法,就图像卷积而言,只要卷积核大小不超过图像大小,十字卷积核中总有2个“手臂”是在图像里面的;s7:十字型卷积网络设计:十字卷积核输入的长和宽是一样的,可以完成跳连的操作,重识别网络依托于resnet50的架构,只需重新定义单位模块,再将其交付给resnet50生成骨干网络,受transformer的启发,在网络的最后加一层channel mlp层,做一次线性回归即可。
25.进一步的,十字卷积模块主要核心为十字卷积核,十字卷积核由输入通道数、输出通道数、步长、卷积核大小组成。
26.进一步的,十字卷积核采用遍历方式,移动从图片的第一个像素开始,从左到右,从上到下逐一遍历每一个像素,并对每一个像素的十字型邻居进行卷积。
27.进一步的,十字卷积核遍历对象为每一个像素,且当前访问对象为卷积核的中心。
28.进一步的,十字卷积核采用中心对称的权值共享的方法,卷积核中任意两个中心对称的参数进行共享。
29.进一步的,十字卷积核输入的长和宽相同,且组成重识别网络,依托于resnet50的架构。
30.进一步的,十字卷积核可用于任意的网络结构,由于十字卷积的卷积前后特征的长宽并没有发生变化,所以可以直接做skip connection。
31.进一步的,十字卷积模块可以直接等效于bilstm2d模块,直接嵌入到sequencer的网络中,以弥补bilstm2d只能做串行计算以及是递归计算的不足。
32.实施例:如图3、4、5所示,十字注意力:ccnet提出的一种十字交叉注意力机制,为了实现十字交叉的效果,至少需要两个1
×
1的卷积模块才能实现十字交叉效果该篇论文很好地解释了为什么十字式的特征提取,十字交叉注意力的内部实现,由3个1
×
1卷积模块组成,但是
要实现十字交叉技术只需要2个卷积网络模块,十字型特征提取为什么有效,在第一次进行特征提取的时候我们只能提取水平和竖直方向上的特征,但是在第二次进行特征提取的时候,我们可以借助其他点间接地与该点进行关联。
33.十字型卷积模块:从上述的几个深度学习模型的横向对比中我们不难发现如下规律:1、在最后感受野并非越大越好,过大的感受野使得网络模型分不清什么地方应该关注,什么地方不应该关注,影响了模型最后的表达;2、在一个像素点中,往往是周围的特征与该像素点的关系会更加紧密,越远的关注度应该是越低的;3、感受野不要求多大,相比于感受野的量,更应该关注的是感受野的质。即尽可能地做到让感受野变得少而精。
34.十字型卷积方式:十字卷积核(以下简称“卷积核”)的定义:卷积核的参数与普通卷积核无太大差别,即输入通道数(input kernel)、输出通道数(output kernel)步长(stride)、卷积核大小(kernel size);输入通道数:指的是输入的通道个数,假如一张图片是rgb图片,则此时该模块的输入的时候通道数便为3;输出通道数:即输出的通道个数,有多少个卷积核便有多少个输出的通道数;步长:卷积的步长,步长为1,代表着卷积核横向移动的步长为1个像素,为2便为两个像素;卷积核大小:此项与普通卷积核有所不同,一般的卷积核便是卷积核形状为矩形,在普通卷积核中,若卷积核大小为(m, n),则该卷积核为长为m个像素,宽为n个像素的矩形,其参数也就有m
×
n个。为了方便阐述以及后期计算,此处定义(m, n)为在十字卷积核中,m代表着水平方向的一半长度(向上取整)n代表着竖直方向的一半长度(向上取整);举例,如图2所示,倘若一个十字卷积核水平方向为7,竖直方向的长度为5,那么,直观上的,单个卷积核的参数自然应该有7+5=12个,但是,这可能将会不利于特征提取,所以本专利单个卷积核的参数需要降为numbers=m+n-1=4+3-1=6个,以缓解该现象的产生这将会在介绍完十字卷积的卷积方式。
35.如图1所示,为十字卷积方式示意图,以大小为(3,3)的卷积核为例,图中位于后方颜色较浅的正方体即为当前卷积核的中心,遍历方式为,移动从图片的第一个像素开始,从左到右,从上到下逐一遍历每一个像素,并对每一个像素的十字型邻居进行卷积由于本专利提出的卷积核为十字型,倘若和普通卷积核一样遍历整一张图片的话,那么会使得边缘的像素值的特征值不能被提取,所以采取遍历对象为每一个像素,且当前访问对象为卷积核的中心,但是这将会使得在图像的四角区域,产生巨大的padding,这对每一个这对长和宽十分大的十字卷积核来说,离十字中心越远,那部分的参数可能会越难收敛,本专利采取的解决方案是——卷积核中任意两个中心对称的参数(或者叫权值)进行共享,如图6所示,当十字型卷积核位于以上这种情况的时候,便需要对其中没有收到像素的部分做一次填充(padding),这也就是此时这一地方是废了的,因此我们采用处于中心对称的两个点进行权值共享的方法,如中间图所示,因为就图像卷积而言,只要卷积核大小
不超过图像大小,十字卷积核中总有2个“手臂”是在图像里面的,图6中右图以大小为(2,2)的卷积核为例。
36.十字型卷积网络:从上面的介绍可知,该卷积核的有一个比较特别的地方,即输入的长和宽都是一样的,可以利用这一点完成跳连(skip connection)的操作,本专利的重识别网络较为简单,依托于resnet50的架构,我们只需重新定义以下单位模块,再将其交付给resnet50生成骨干网络。受transformer的启发,在网络的最后加一层channel mlp层,做一次线性回归即可采用的总的损失使用较为广泛的triplet loss叠cross entropy loss即可,如下所示:triplet
loss
=max(d(a,p)-d(a,n)+margin,0) total
loss
=λtriplet
loss
+(1-λ)crossentorpy
loss
其中λ为超参数,负责控制两个损失函数之间的权重;如图7所示,十字卷积模块方面我们采用对sequencer架构进行调整,将lstm2d改成十字交叉模块。
37.工作原理:s1:设计十字卷积核:十字卷积核的参数与普通卷积核无太大差别,即输入通道数、输出通道数、步长与卷积核大小;输入通道数设置:设置输入的通道个数,假如一张图片是rgb图片,则此时该模块的输入的时候通道数便为3;输出通道数设置:设置输出的通道个数,有多少个卷积核便有多少个输出的通道数;步长设置:设置卷积的步长,步长为1,代表着卷积核横向移动的步长为一个像素,步长为2,便为两个像素;卷积核大小设置:此项与普通卷积核有所不同,一般的卷积核便是卷积核形状为矩形,在普通卷积核中,若卷积核大小为(m,n),则该卷积核为长为m个像素,宽为n个像素的矩形,其参数也就有m
×
n个,为了方便阐述以及后期计算,此处定义(m, n)为在十字卷积核中,m代表着水平方向的一半长度(向上取整)n代表着竖直方向的一半长度(向上取整);卷积方式与中心对称的权值共享:移动从图片的第一个像素开始,从左到右,从上到下逐一遍历每一个像素,并对每一个像素的十字型邻居进行卷积,卷积核为十字型,采取遍历对象为每一个像素,且当前访问对象为卷积核的中心,卷积核中任意两个中心对称的参数进行共享,采用处于中心对称的两个点进行权值共享的方法,就图像卷积而言,只要卷积核大小不超过图像大小,十字卷积核中总有2个“手臂”是在图像里面的;十字型卷积网络设计:十字卷积核输入的长和宽是一样的,可以完成跳连的操作,重识别网络依托于resnet50的架构,只需重新定义单位模块,再将其交付给resnet50生成骨干网络,受transformer的启发,在网络的最后加一层channel mlp层,做一次线性回归即可。
38.需要说明的是,在本文中,诸如第一和第二(一号、二号)等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
39.以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1