基于深度学习的车辆重识别方法和装置与流程

文档序号:16538644发布日期:2019-01-08 20:08阅读:254来源:国知局
基于深度学习的车辆重识别方法和装置与流程

本发明涉及车辆识别领域,特别是涉及一种基于深度学习的车辆重识别方法和装置。



背景技术:

随着车辆数量的日益增多,对车辆的管理也愈加复杂。在特定情况下需要在对正在车流中行驶的一个或多个车辆进行追踪,被追踪的一个或多个车辆,作为目标车辆。在具体实现中,需要使用车辆重识别技术,从处于不同位置的多个摄像头拍摄的监控视频中识别目标车辆,以实现对目标车辆的追踪,其中,车辆重识别技术就是指在不同摄像头拍摄的监控视频截取的拍摄图像中识别目标车辆。

目前,车辆重识别方法的处理过程为:

第一步,从监控视频截取的拍摄图像中检测出各车辆的位置,从而获取各车辆图片。

第二步,从上述检测出的各车辆图片中,重识别预先设置的目标车辆图片中的目标车辆,具体的:

获取上述检测出的各车辆的第二车辆特征值,以及从预先设置的目标车辆图片中,获取目标车辆的第一车辆特征值,其中,目标车辆图片作为在拍摄图像中识别目标车辆的对照参考图,车辆特征是指人为设计的特征,比如方向梯度直方图(histogramoforientedgradient,hog)特征、尺度不变特征变换(scale-invariantfeaturetransform,sift)等,车辆特征包括:第一车辆特征和第二车辆特征。

第三步,计算第一车辆特征值与各第二车辆特征值的相似度,将相似度最高的第二车辆特征值,确定为目标第二车辆特征值。

第四步,将目标第二车辆特征值对应的车辆,确定为拍摄图像中的目标车辆。

在实际应用中,因为拍摄环境的光线、摄像头的角度以及车辆行驶的角度等因素的影响,所以即使是同一辆车,在不同的拍摄图像中展示出来的车辆特征差异较大,而不同的车辆在不同的拍摄图像中展示出来的车辆特征可能差异较小。比如,同一车辆,由于在白天和夜晚分别拍摄的两张拍摄图像中展示的颜色不同,使得两张拍摄图像中同一车辆的车辆特征差异较大。又比如,两辆车的颜色相同,当两辆车分别位于两个摄像头正下方时,两辆车在两张拍摄图像中展示的均为车顶,颜色和车型均极为相似,使得两张拍摄图像中两辆车的车辆特征差异较小。

可见,通过由人工设计的车辆特征已经无法准确区分多张拍摄图像中的车辆是否为同一车辆,从而导致车辆重识别的准确性较差,可能造成重识别结果出错的问题。



技术实现要素:

本发明实施例的目的在于提供一种基于深度学习的车辆重识别方法和装置,以提高车辆重识别的准确性。具体技术方案如下:

本发明实施例提供了一种基于深度学习的车辆重识别方法,所述方法包括:

将预设的目标车辆图片以及从目标拍摄图像中检测出的各车辆图片,输入预设的特征识别模型,得到目标车辆的第一特征值,以及检测出的各辆车的第二特征值,其中,特征识别模型采用卷积神经网络,卷积神经网络在训练时所使用的损失函数用于减小不同拍摄图像中、同一车辆的特征值之间的差距,以及增大不同拍摄图像中、不同车辆的特征值之间的差距,以区分不同拍摄图像中的车辆是否为同一车辆;

计算第一特征值与各第二特征值的相似度,将相似度最高的第二特征值确定为目标第二特征值;

将目标第二特征值对应的车辆,确定为目标拍摄图像中的目标车辆。

可选的,所述计算第一特征值与各第二特征值的相似度,将相似度最高的第二特征值确定为目标第二特征值的步骤,包括:

计算第一特征值与各第二特征值之间的欧式距离;

将预设第一数量的欧式距离对应的第二特征值,确定为备选第二特征值,其中,备选第二特征值对应的欧式距离小于所有欧式距离中、除备选第二特征值对应的欧式距以外的欧式距离;

计算第一特征值与备选第二特征值之间的马氏距离和杰卡德距离,并将计算出的马氏距离和杰卡德距离加权求和,得到相似距离;

判断相似距离中的最小相似距离是否小于预设的特征值阈值;

若为是,则将所述最小相似距离对应的备选第二特征值确定为目标第二特征值。

可选的,所述卷积神经网络包括深度残差网络;所述深度残差网络通过如下步骤训练得到:

将预设的第一训练样本集合输入预设的原始的深度残差网络,预设的第一训练样本集合包括预设第二数量的车辆图片以及各车辆图片对应的车辆类别编号,一个车辆类别编号对应至少一张车辆图片,车辆类别编号相同的车辆图片为同一辆车;

当预设的损失函数的计算值低于预设的函数值阈值时,得到训练好的深度残差网络,预设的损失函数如公式所示;

在公式中,lth为预设的损失函数的计算值;batch为预设的第一训练样本集合;p为车辆类别编号的数量,k为各车辆类别编号,分别对应的车辆图片的数量;a为batch中的一个训练样本;da,p为训练样本a与所有正样本的距离,da,p的角标a,p中的p为正样本的标识,训练样本a的正样本是指与训练样本a对应同一车辆类别编号的训练样本;da,n为训练样本a与所有负样本的距离,da,n的角标a,n中的n为负样本的标识,训练样本a的负样本是指与训练样本a对应不同车辆类别编号的训练样本;α、β、μ1和μ2均为常数;针对(maxda,p-minda,n+α)+,当括号中的表达式的值为负值时,(maxda,p-minda,n+α)+的值为0;针对(maxda,p-β)+,当括号中的表达式的值为负值时,(maxda,p-β)+的值为0;针对(r-minda,n)+,当括号中的表达式的值为负值时,(r-minda,n)+的值为0。

可选的,在所述将预设的目标车辆图片以及从目标拍摄图像中检测出的各车辆图片,输入预设的特征识别模型的步骤之前,所述方法还包括:

将目标拍摄图像输入预设的车辆检测网络,确定目标拍摄图像中各车辆的第一区域信息,其中,目标拍摄图像包括多个车辆,第一区域信息包括车辆所处区域在目标拍摄图像样本中的位置,车辆检测网络采用更快的基于区域的卷积神经网络fasterr-cnn检测框架,车辆检测网络用于提取目标拍摄图像的特征,并根据所述特征确定各车辆的第一区域信息;

按照第一区域信息,在目标拍摄图像中检测各车辆图片。

可选的,第一区域信息包括车辆的外接矩形的四个角分别在目标拍摄图像样本坐标系中的坐标,目标拍摄图像样本坐标系是指以目标拍摄图像的四个角中的一个角为坐标原点,以目标拍摄图像的四条边中、与坐标原点相连两条边分别为x轴和y轴的二维坐标系。

可选的,车辆检测网络通过如下步骤训练得到:

将预设的第二训练样本集合输入预设的原始的车辆检测网络,得到检测出的各拍摄图像样本中各车辆的第三区域信息,预设的第二训练样本集合包括预设第三数量的拍摄图像样本以及各拍摄图像样本中各车辆的预设的第二区域信息,预设的第二区域信息和第三区域信息均包括车辆所处区域在拍摄图像样本中的位置;

当针对同一拍摄图像样本,各车辆的预设的第二区域信息与第三区域信息之间的差距小于预设的差距阈值时,得到训练好的车辆检测网络。

本发明实施例还提供了一种基于深度学习的车辆重识别装置,所述装置包括:

第一输入模块,用于将预设的目标车辆图片以及从目标拍摄图像中检测出的各车辆图片,输入预设的特征识别模型,得到目标车辆的第一特征值,以及检测出的各辆车的第二特征值,其中,特征识别模型采用卷积神经网络,卷积神经网络在训练时所使用的损失函数用于减小不同拍摄图像中、同一车辆的特征值之间的差距,以及增大不同拍摄图像中、不同车辆的特征值之间的差距,以区分不同拍摄图像中的车辆是否为同一车辆;

计算模块,用于计算第一特征值与各第二特征值的相似度,将相似度最高的第二特征值确定为目标第二特征值;

确定模块,用于将目标第二特征值对应的车辆,确定为目标拍摄图像中的目标车辆。

可选的,所述计算模块,具体用于计算第一特征值与各第二特征值之间的欧式距离;

将预设第一数量的欧式距离对应的第二特征值,确定为备选第二特征值,其中,备选第二特征值对应的欧式距离小于所有欧式距离中、除备选第二特征值对应的欧式距以外的欧式距离;

计算第一特征值与备选第二特征值之间的马氏距离和杰卡德距离,并将计算出的马氏距离和杰卡德距离加权求和,得到相似距离;

判断相似距离中的最小相似距离是否小于预设的特征值阈值;

若为是,则将所述最小相似距离对应的备选第二特征值确定为目标第二特征值。

可选的,所述卷积神经网络包括深度残差网络;所述深度残差网络通过执行如下模块训练得到:

第二输入模块,用于将预设的第一训练样本集合输入预设的原始的深度残差网络,预设的第一训练样本集合包括预设第二数量的车辆图片以及各车辆图片对应的车辆类别编号,一个车辆类别编号对应至少一张车辆图片,车辆类别编号相同的车辆图片为同一辆车;

第一训练模块,用于当预设的损失函数的计算值低于预设的函数值阈值时,得到训练好的深度残差网络,预设的损失函数如公式所示;

在公式中,lth为预设的损失函数的计算值;batch为预设的第一训练样本集合;p为车辆类别编号的数量,k为各车辆类别编号,分别对应的车辆图片的数量;a为batch中的一个训练样本;da,p为训练样本a与所有正样本的距离,da,p的角标a,p中的p为正样本的标识,训练样本a的正样本是指与训练样本a对应同一车辆类别编号的训练样本;da,n为训练样本a与所有负样本的距离,da,n的角标a,n中的n为负样本的标识,训练样本a的负样本是指与训练样本a对应不同车辆类别编号的训练样本;α、β、μ1和μ2均为常数;针对(maxda,p-minda,n+α)+,当括号中的表达式的值为负值时,(maxda,p-minda,n+α)+的值为0;针对(maxda,p-β)+,当括号中的表达式的值为负值时,(maxda,p-β)+的值为0;针对(r-minda,n)+,当括号中的表达式的值为负值时,(r-minda,n)+的值为0。

可选的,所述装置还包括:

第三输入模块,用于将目标拍摄图像输入预设的车辆检测网络,确定目标拍摄图像中各车辆的第一区域信息,其中,目标拍摄图像包括多个车辆,第一区域信息包括车辆所处区域在目标拍摄图像样本中的位置,车辆检测网络采用fasterr-cnn检测框架,车辆检测网络用于提取目标拍摄图像的特征,并根据所述特征确定各车辆的第一区域信息;

检测模块,用于按照第一区域信息,在目标拍摄图像中检测各车辆图片。

可选的,第一区域信息包括车辆的外接矩形的四个角分别在目标拍摄图像样本坐标系中的坐标,目标拍摄图像样本坐标系是指以目标拍摄图像的四个角中的一个角为坐标原点,以目标拍摄图像的四条边中、与坐标原点相连两条边分别为x轴和y轴的二维坐标系。

可选的,车辆检测网络通过执行如下模块训练得到:

第四输入模块,用于将预设的第二训练样本集合输入预设的原始的车辆检测网络,得到检测出的各拍摄图像样本中各车辆的第三区域信息,预设的第二训练样本集合包括预设第三数量的拍摄图像样本以及各拍摄图像样本中各车辆的预设的第二区域信息,预设的第二区域信息和第三区域信息均包括车辆所处区域在拍摄图像样本中的位置;

第二训练模块,用于当针对同一拍摄图像样本,各车辆的预设的第二区域信息与第三区域信息之间的差距小于预设的差距阈值时,得到训练好的车辆检测网络。

本发明实施例再提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现上述任一所述的基于深度学习的车辆重识别方法。

本发明实施例再提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的基于深度学习的车辆重识别方法。

本发明实施例再提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的基于深度学习的车辆重识别方法。

本发明实施例提供的一种基于深度学习的车辆重识别方法和装置,首先,将预设的目标车辆图片以及从目标拍摄图像中检测出的各车辆图片,输入预设的特征识别模型,得到目标车辆的第一特征值,以及检测出的各辆车的第二特征值,其中,特征识别模型采用卷积神经网络,卷积神经网络在训练时所使用的损失函数用于减小不同拍摄图像中、同一车辆的特征值之间的差距,以及增大不同拍摄图像中、不同车辆的特征值之间的差距,以区分不同拍摄图像中的车辆是否为同一车辆;其次,计算第一特征值与各第二特征值的相似度,将相似度最高的第二特征值确定为目标第二特征值;最后,将目标第二特征值对应的车辆,确定为目标拍摄图像中的目标车辆。

由此可见,相较于现有技术,本发明实施例可以使用训练好的卷积神经网络获取拍摄图像中车辆的特征值,其中,该卷积神经网络在训练时使用的损失函数,能够减小不同拍摄图像中、同一车辆的特征值之间的差距,以及增大不同拍摄图像中、不同车辆的特征值之间的差距,使得最终得到的拍摄图像中车辆的特征值能够体现各车辆之间的差异,以区分不同拍摄图像中的车辆是否为同一车辆,从而提高车辆重识别的准确性,避免出现车辆重识别错误的问题。

当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。

附图说明

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

图1为本发明实施例提供的基于深度学习的车辆重识别方法的一种流程示意图;

图2为本发明实施例中,步骤102的具体流程示意图;

图3为本发明实施例中,训练特征识别模型的流程示意图;

图4为本发明实施例提供的基于深度学习的车辆重识别方法的又一种流程图;

图5为本发明实施例中,从目标拍摄图像检测各车辆图片的示意图;

图6为本发明实施例中,训练车辆检测网络的流程示意图;

图7为本发明实施例提供的基于深度学习的车辆重识别装置的示意图;

图8为本发明实施例中,用于公安卡口视频监控的车辆跟踪系统的示意图;

图9为本发明实施例提供的电子设备的结构示意图。

具体实施方式

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

针对现有技术在车辆重识别方法的处理过程中,通过由人工设计的车辆特征已经无法准确区分多张拍摄图像中的车辆是否为同一车辆,从而导致计算出的相似度不准确,可能造成重识别结果出错的问题。本发明实施例提供基于深度学习的车辆重识别方法和装置,能够通过使用训练好的卷积神经网络来获取拍摄图像中车辆的特征值,其中,该卷积神经网络在训练时使用的损失函数,能够减小不同拍摄图像中、同一车辆的特征值之间的差距,以及增大不同拍摄图像中、不同车辆的特征值之间的差距,使得最终得到的拍摄图像中车辆的特征值能够体现各车辆之间的差异,可以区分不同拍摄图像中的车辆是否为同一车辆,以提高车辆重识别的准确性,避免出现车辆重识别错误的问题。

本发明实施例提供了一种基于深度学习的车辆重识别方法,参见图1,图1为本发明实施例提供的基于深度学习的车辆重识别方法的一种流程示意图。该方法可以包括如下步骤:

步骤101,将预设的目标车辆图片以及从目标拍摄图像中检测出的各车辆图片,输入预设的特征识别模型,得到目标车辆的第一特征值,以及检测出的各辆车的第二特征值。

其中,预设的特征识别模型采用卷积神经网络,卷积神经网络在训练时所使用的损失函数用于减小不同拍摄图像中、同一车辆的特征值之间的差距,以及增大不同拍摄图像中、不同车辆的特征值之间的差距,以区分不同拍摄图像中的车辆是否为同一车辆。

在本步骤中,可以将预设的目标车辆图片,以及从目标拍摄图像中检测出的各车辆图片,输入预设的特征识别模型,这样可以得到目标车辆的第一特征值和上述各车辆的第二特征值,以便根据第一特征值,从第二特征值中识别目标车辆,其中,第一特征值和第二特征值均为神经网络提取的高层语义特征。为了方便说明,目标车辆图片是指人为选定的需要重识别的车辆的图片,目标拍摄图像是指当前进行重识别处理的拍摄图像。

需要说明的是,步骤101中使用的预设的特征识别模型为事先训练好的特征识别模型。

具体的,特征识别模型可以为卷积神经网络(convolutionalneuralnetwork,cnn)。为提高识别速度,可以采用较轻量的18层的深度残差网络(residualneuralnetwork,resnet)做为特征识别模型。进一步的,为使提取出的车辆的特征值更加丰富和更加具有代表性,可以去除resnet18中的第三次下采样,从而使得输出较大的特征图,以便通过后续步骤使用更大的特征来计算特征值之间的相似距离。

还需要说明的是,本发明实施例中使用的车辆的特征值是由cnn提取出的。与现有的hog特征、sift特征等特征值不同,cnn提出的特征值不是显式的特征值,而模仿人脑中神经网络的处理方式,通过多层处理得到的隐式的特征值,并且,在训练cnn时使用的损失函数可以减小不同拍摄图像中、同一车辆的特征值之间的差距,以及增大不同拍摄图像中、不同车辆的特征值之间的差距,这样,使得根据cnn提取出的车辆的特征值,能够在不同场景下准确识别出同一车辆,以及区分相似度较高的两个车辆,保证车辆重识别结果的准确性。

步骤102,计算第一特征值与各第二特征值的相似度,将相似度最高的第二特征值确定为目标第二特征值。

在本步骤中,可以根据cnn提取的目标车辆的第一特征值,以及从目标拍摄图像中检测出的各车辆的第二特征值,计算第一特征值与各第二特征值的相似度,将相似度最高的第二特征值确定为目标第二特征值,其中,目标第二特征值对应的车辆就目标拍摄图像中的目标车辆。

具体的,在一种实现方式中,参考图2,图2为本发明实施例中,步骤102的具体流程示意图,步骤102具体可以包括:

子步骤11,计算第一特征值与各第二特征值之间的欧式距离。

在本步骤中,可以计算目标车辆的第一特征值,与从目标拍摄图像中检测出的各车辆的第二特征值之间的欧式距离,以便根据欧式距离,找到与第一特征值最为接近的第二特征值。

具体的,欧氏距离的计算公式如公式(1)所示:

在公式(1)中,x为目标车辆的第一特征;y为从目标拍摄图像中检测出的一个车辆的第二特征;x和y的维度均为n;dx,y为x和y之间的欧氏距离。

在实际应用中,也可以计算第一特征值与各第二特征值之间的曼哈顿距离,或者计算第一特征值与各第二特征值之间的闵可夫斯基距离,以便根据曼哈顿距离或者闵可夫斯基距离,判断第一特征值与第二特征值的相似度。

子步骤12,将预设第一数量的欧式距离对应的第二特征值,确定为备选第二特征值。

其中,备选第二特征值对应的欧式距离小于所有欧式距离中、除备选第二特征值对应的欧式距以外的欧式距离。

在本步骤中,可以将子步骤11计算出的欧式距离,按照从小到大的顺序进行排序,取前预设第一数量的欧式距离,将前预设第一数量的欧式距离对应的第二特征值,确定为备选第二特征值,也就是说,备选第二特征值是与第一特征值较为接近的第二特征值。

具体的,预设第一数量可以为10,也即将子步骤11计算出的欧式距离按照从小到大的顺序排列,取前10个较小的欧式距离,将这10个较小的欧式距离对应的第二特征值确定为备选第二特征值。

子步骤13,计算第一特征值与备选第二特征值之间的马氏距离和杰卡德距离,并将计算出的马氏距离和杰卡德距离加权求和,得到相似距离。

在本步骤中,可以计算第一特征值与各备选第二特征值之间的马氏距离和杰卡德距离,以及将计算出的马氏距离与杰卡德距离加权求和,得到第一特征值与各备选第二特征值之间的相似距离。

具体的,可以根据公式(2),将计算出的马氏距离与杰卡德距离加权求和,得到第一特征值与各备选第二特征值之间的相似距离。

d′x,y=0.5×dm+0.5×dj(2)

在公式(2)中,x为目标车辆的第一特征;y为一个备选第二特征;x和y的维度相同,均为n;dm为x和y之间的马氏距离;dj为x和y之间的杰卡德距离;d′x,y为马氏距离与杰卡德距离加权求和。

其中,马氏距离和杰卡德距离的计算方法可以参考现有技术,在此不再赘述。

需要说明的是,相似距离越大,说明第一特征值与备选第二特征值差异越大,相似距离越小,说明第一特征值与备选第二特征值差异越小。

子步骤14,判断相似距离中的最小相似距离是否小于预设的特征值阈值;若为是,执行子步骤15。

在本步骤中,可以判断相似距离中的最小相似距离是否小于预设的特征值阈值;如果是,说明该最小相似距离对应的备选第二特征值与第一特征值较为接近,可以通过子步骤15将该备选第二特征值确定为目标第二特征值,以便将目标第二特征值对应的车辆确定为从目标拍摄图像中重识别得到的目标车辆;如果否,则说明该最小相似距离对应的备选第二特征值与第一特征值的差异较大,无法从备选第二特征值中确定目标第二特征值,进而也无法从目标拍摄图像中确定目标车辆,也即目标拍摄图像中不存在目标车辆。

在实际应用中,预设的特征值阈值可以取值为2。

子步骤15,将所述最小相似距离对应的备选第二特征值确定为目标第二特征值。

在本步骤中,当相似距离中的最小相似距离小于预设的特征值阈值时,可以将最小相似距离对应的备选第二特征值确定为目标第二特征值,进而可以通过后续步骤将目标第二特征值对应的车辆,确定为从目标拍摄图像中重识别出的目标车辆。

步骤103,将目标第二特征值对应的车辆,确定为目标拍摄图像中的目标车辆。

在本步骤中,可以将目标第二特征值对应的车辆,确定为从目标拍摄图像中重识别出的目标车辆。由于根据cnn提取的特征值包含高维语义信息,在训练cnn时使用的损失函数使得cnn提取的特征值具有同类距离小,异类距离大的特点,即使对于处于不同场景的同一车辆或者相似度高的两种车辆,也能够进行准确区分,因此,根据该特征值在目标拍摄图像中重识别出的目标车辆的准确性也较高。

可见,本发明实施例提供基于深度学习的车辆重识别方法,能够通过使用训练好的卷积神经网络来获取目标拍摄图像中车辆的特征值,其中,该卷积神经网络在训练时使用的损失函数,能够减小不同拍摄图像中、同一车辆的特征值之间的差距,以及增大不同拍摄图像中、不同车辆的特征值之间的差距,使得最终得到的目标拍摄图像中车辆的特征值能够体现各车辆之间的差异,以区分不同拍摄图像中的车辆是否为同一车辆,从而提高车辆重识别的准确性,避免出现车辆重识别错误的问题。

在本发明实施例中,特征识别模型可以为cnn,而cnn具体可以为18层的resnet,参见图3,图3为本发明实施例中,训练特征识别模型的流程示意图,特征识别模型可以通过如下步骤训练得到:

步骤301,将预设的第一训练样本集合输入预设的原始的resnet。

其中,预设的第一训练样本集合包括预设第二数量的车辆图片以及各车辆图片对应的车辆类别编号,一个车辆类别编号对应至少一张车辆图片,车辆类别编号相同的车辆图片为同一辆车。

在本步骤中,可以将预设的第一训练样本集合输入预设的原始的resnet,以对原始的resnet进行训练。其中,预设的第一训练样本集合包括预设第二数量的车辆图片以及各车辆图片对应的车辆类别编号。

在预设第二数量的车辆图片中,有些车辆图片中的车辆为同一车辆。比如车辆图片1为车辆a在m摄像头下拍摄图片,车辆图片2为车辆a在n摄像头下上午10点拍摄的图片,车辆图片3为车辆a在n摄像头下下午3点拍摄的图片;有些车辆图片中的车辆为不同车辆,比如,车辆图片4为车辆b在m摄像头下拍摄的图片,车辆图片5为车辆c在m摄像头下拍摄的图片。

为了区分,可以将一辆车作为一个车辆类别,并为该车辆标记一个车辆类型编号,使车辆类别编号相同的车辆图片中的车辆为同一辆车。

也就是说,可以用车辆类型编号来区分不同的车辆,也即,车辆类别编号相同的车辆图片对应同一车辆类型。

在实际应用中,从监控视频截取的拍摄图像大小为1920*1080,在该拍摄图像中各车辆图片的大小不一致,通常情况下,各车辆图片的大小为几百像素乘几百像素。可以先将各车辆图片从拍摄图像中剪切出来,再将各车辆图片的尺寸缩放到256*256。

步骤302,当预设的损失函数的计算值低于预设的函数值阈值时,得到训练好的resnet,预设的损失函数如公式所示;

在公式(3)中,lth为预设的损失函数的计算值;batch为预设的第一训练样本集合;p为车辆类别编号的数量,k为各车辆类别编号,分别对应的车辆图片的数量;a为batch中的一个训练样本;da,p为训练样本a与所有正样本的距离,da,p的角标a,p中的p为正样本的标识,训练样本a的正样本是指与训练样本a对应同一车辆类别编号的训练样本;da,n为训练样本a与所有负样本的距离,da,n的角标a,n中的n为负样本的标识,训练样本a的负样本是指与训练样本a对应不同车辆类别编号的训练样本;α、β、μ1和μ2均为常数;针对(maxda,p-minda,n+α)+,当括号中的表达式的值为负值时,(maxda,p-minda,n+α)+的值为0;针对(maxda,p-β)+,当括号中的表达式的值为负值时,(maxda,p-β)+的值为0;针对(r-minda,n)+,当括号中的表达式的值为负值时,(r-minda,n)+的值为0。

在本步骤中,使用公式(3)作为预设的损失函数,当预设的损失函数的计算值低于预设的函数值阈值时,说明resnet已训练完成,可以将训练好的resnet作为特征识别模型,用于对车辆进行重识别;其中,预设的函数值阈值可以设置为0.04。

需要说明的是,训练样本的正样本,是指预设的第一训练样本集合中,与训练样本中的车辆属于同一车辆的其他训练样本;相应的,训练样本的负样本,是指预设的第一训练样本集合中,与训练样本中的车辆不属于同一车辆的训练样本。其中,训练样本a为固定样本,训练样本a和训练样本p一对正样本对,训练样本a与训练样本n为一对负样本,一个三元组包括一对正样本和一对负样本,可以认为公式(3)的输入是一个三元组。

为了方便说明,可以将属于同一车辆的训练样本称为同类样本,以及将属于不同车辆的训练样本称为异类样本。为了使预设的损失函数的计算值lth尽可能小,需要使(maxda,p-β)尽可能接近0或者为负值,这样可以限制maxda,p中的最大值,尽可能缩小同类样本之间的差异,使得同类样本之间的差异逐渐变小,以使同类样本逐渐聚集。同理,为了使预设的损失函数的计算值lth尽可能小,需要使(r-minda,n)尽可能接近0或者为负值,这样可以限制minda,n中的最小值,尽可能增大异类样本之间的差异,使得异类样本之间的差异不能太小,有助于使异类样本逐渐分离,最终实现减小不同拍摄图像中、同一车辆的特征值之间的差距,以及增大不同拍摄图像中、不同车辆的特征值之间的差距,使得从拍摄图像中获取的车辆的特征值能够体现各车辆之间的差异。

具体的,根据多次的实验结果,为了达到最佳的重识别效果,可以将batch设为256,p设为64,k设为4,μ1和μ2分别设为0.02和0.01。

可见,在本发明实施例提供基于深度学习的车辆重识别方法中,训练特征识别模型时所使用的损失函数,能够减小不同拍摄图像中、同一车辆的特征值之间的差距,以及增大不同拍摄图像中、不同车辆的特征值之间的差距,使得最终得到的目标拍摄图像中车辆的特征值能够体现各车辆之间的差异,以区分不同拍摄图像中的车辆是否为同一车辆,从而提高车辆重识别的准确性,避免出现车辆重识别错误的问题。

本发明实施例又提供了一种基于深度学习的车辆重识别方法,参见图4,图4为本发明实施例提供的基于深度学习的车辆重识别方法的又一种流程图:

步骤401,将目标拍摄图像输入预设的车辆检测网络,确定目标拍摄图像中各车辆的第一区域信息。

其中,目标拍摄图像包括多个车辆,第一区域信息包括车辆所处区域在目标拍摄图像样本中的位置,车辆检测网络采用fasterr-cnn检测框架,车辆检测网络用于提取目标拍摄图像的特征,并根据所述特征确定各车辆的第一区域信息。

在本步骤中,可以将拍摄图像输入预设的车辆检测网络,来确定拍摄图像中的各车辆的第一区域信息,这样,就可以从目标拍摄图像中检测出各车辆图片,以便进一步从检测出的各车辆图片中确定目标车辆。

需要说明的是,步骤401中预设的车辆检测网络是事先训练好的车辆检测网络。

具体的,事先训练好的车辆检测网络,可以提取目标拍摄图像的特征,根据特征确定图像中最可能存在车辆的位置,从而确定各车辆在目标拍摄图像中的第一区域信息,以便根据第一区域信息从目标拍摄图像中检测出各车辆图片。

一种实现方式中,第一区域信息包括车辆的外接矩形的四个角分别在目标拍摄图像样本坐标系中的坐标,其中,目标拍摄图像样本坐标系是指以目标拍摄图像的四个角中的一个角为坐标原点,以目标拍摄图像的四条边中、与坐标原点相连两条边分别为x轴和y轴的二维坐标系。

具体的,第一区域信息可以包括车辆的外接矩形框的四个角的坐标,该坐标位于目标拍摄图像样本坐标系,目标拍摄图像样本坐标系为二维坐标系,坐标原点可以为目标拍摄图像样本的四个角中的任一个,比如,坐标原点可以为目标拍摄图像样本的四个角中的左上角,或者坐标原点可以为目标拍摄图像样本的四个角中的左下角,x轴和y轴为目标拍摄图像样本的四条边中,与坐标原点相连的两条边,具体可以根据实际情况确定。

需要说明的是,车辆检测网络通过提取目标拍摄图像的特征确定各车辆的第一区域信息的过程可以参考现有技术,在此不再赘述。

步骤402,按照第一区域信息,在目标拍摄图像中截取各车辆图片。

在本步骤中,可以按照步骤401得到的目标拍摄图像中各车辆的第一区域信息,从目标拍摄图像中截取出各车辆图片,以便通过后续步骤,从截取出的各车辆图像中重识别出目标车辆。

具体的,目标拍摄图像大小为1920*1080,首先,根据步骤401确定的各车辆的第一区域信息,检测出的各车辆位置;然后,将各车辆图片从目标拍摄图像中剪切出来;最后,将各车辆图片的尺寸缩放到256*256。

如图5所示,图5为本发明实施例中,从目标拍摄图像检测各车辆图片的示意图,在图5中,可以根据车辆的第一区域信息所体现的外接矩形框,从目标拍摄图像中准确检测出的各车辆位置,进而从目标拍摄图像中截取出各车辆图片。

步骤403,将预设的目标车辆图片以及从目标拍摄图像中截取出的各车辆图片,输入预设的特征识别模型,得到目标车辆的第一特征值,以及截取出的各辆车的第二特征值。

本步骤的详细步骤和技术效果可以参考图1所示的基于深度学习的车辆重识别方法中的步骤101,在此不再赘述。

步骤404,计算第一特征值与各第二特征值的相似度,将相似度最高的第二特征值确定为目标第二特征值。

本步骤的详细步骤和技术效果可以参考图1所示的基于深度学习的车辆重识别方法中的步骤102,在此不再赘述。

步骤405,将目标第二特征值对应的车辆,确定为目标拍摄图像中的目标车辆。

本步骤的详细步骤和技术效果可以参考图1所示的基于深度学习的车辆重识别方法中的步骤103,在此不再赘述。

可见,本发明实施例提供基于深度学习的车辆重识别方法,首先,使用预设的车辆检测网络从目标拍摄图像中检测出各车辆图片,然后,通过使用训练好的卷积神经网络,获取目标车辆图片的特征值,以及检测出的各车辆图片的特征值,最终从目标拍摄图像中重识别出目标车辆,由于获取到的特征值能够体现各车辆之间的差异,所以能够区分不同拍摄图像中的车辆是否为同一车辆,以提高车辆重识别的准确性,避免出现车辆重识别错误的问题。

在一种实现方式中,车辆检测网络可以基于fasterr-cnn检测框架的29层resnet。参见图6,图6为本发明实施例中,训练车辆检测网络的流程示意图,车辆检测网络可以通过如下步骤训练得到:

步骤601,将预设的第二训练样本集合输入预设的原始的车辆检测网络,得到检测出的各拍摄图像样本中各车辆的第三区域信息。

其中,预设的第二训练样本集合包括预设第三数量的拍摄图像样本以及各拍摄图像样本中各车辆的预设的第二区域信息,预设的第二区域信息和第三区域信息均包括车辆所处区域在拍摄图像样本中的位置。

在本步骤中,可以将预设的第二训练样本集合输入预设的原始的车辆检测网络,得到检测出的各拍摄图像样本中各车辆的第三区域信息。预设的第二训练样本集合中包含预设第三数量的训练样本,每一个训练样本,包括:一个拍摄图像样本,以及该拍摄图像样本中,各车辆的外接矩形框在拍摄图像坐标系中的坐标,其中,该拍摄图像样本中,各车辆的外接矩形框在拍摄图像坐标系中的坐标为该拍摄图像样本中各车辆的预设的第二区域信息。

也就是说,预设的第二区域信息是由人工确定的,预设的第二训练样本集合中各拍摄图像样本中的各车辆的的外接矩形框在拍摄图像坐标系中的坐标,可以理解的,预设的第二区域信息是正确且准确的区域信息。而第三区域信息,是由车辆检测网络从预设的第二训练样本集合中各拍摄图像样本中,自行检测出的各车辆的外接矩形框在拍摄图像坐标系中的坐标。在车辆检测网络的训练过程中,第三区域信息应该越来越接近预设的第二区域信息。

步骤602,当针对同一拍摄图像样本,各车辆的预设的第二区域信息与第三区域信息之间的差距小于预设的差距阈值时,得到训练好的车辆检测网络。

在本步骤中,当针对同一拍摄图像样本,各车辆的预设的第二区域信息与第三区域信息之间的差距小于预设的差距阈值时,说明车辆检测网络已经训练完成,检测效果较为准确。

在实际应用中,也可以设置总迭代次数,当迭代次数达到总迭代次数时,认为车辆检测网络已经训练完成。

可见,本发明实施例提供基于深度学习的车辆重识别方法,可以先对车辆检测网络进行训练,然后,使用训练好的车辆检测网络从目标车辆图像中检测出各车辆图片,接下来,通过使用训练好的卷积神经网络,获取目标车辆图片的特征值,以及检测出的各车辆图片的特征值,最终从目标拍摄图像中重识别出目标车辆,由于获取到的特征值能够体现各车辆之间的差异,所以能够区分不同拍摄图像中的车辆是否为同一车辆,以提高车辆重识别的准确性,避免出现车辆重识别错误的问题。

本发明实施例另提供了一种基于深度学习的车辆重识别装置,参见图7,图7为本发明实施例提供的基于深度学习的车辆重识别装置的示意图,装置包括:

第一输入模块701,用于将预设的目标车辆图片以及从目标拍摄图像中检测出的各车辆图片,输入预设的特征识别模型,得到目标车辆的第一特征值,以及检测出的各辆车的第二特征值,其中,特征识别模型采用卷积神经网络,卷积神经网络在训练时所使用的损失函数用于减小不同拍摄图像中、同一车辆的特征值之间的差距,以及增大不同拍摄图像中、不同车辆的特征值之间的差距,以区分不同拍摄图像中的车辆是否为同一车辆;

计算模块702,用于计算第一特征值与各第二特征值的相似度,将相似度最高的第二特征值确定为目标第二特征值;

确定模块703,用于将目标第二特征值对应的车辆,确定为目标拍摄图像中的目标车辆。

可选的,所述计算模块702,具体用于计算第一特征值与各第二特征值之间的欧式距离;

将预设第一数量的欧式距离对应的第二特征值,确定为备选第二特征值,其中,备选第二特征值对应的欧式距离小于所有欧式距离中、除备选第二特征值对应的欧式距以外的欧式距离;

计算第一特征值与备选第二特征值之间的马氏距离和杰卡德距离,并将计算出的马氏距离和杰卡德距离加权求和,得到相似距离;

判断相似距离中的最小相似距离是否小于预设的特征值阈值;

若为是,则将所述最小相似距离对应的备选第二特征值确定为目标第二特征值。

可选的,所述卷积神经网络包括深度残差网络;所述深度残差网络通过执行如下模块训练得到:

第二输入模块,用于将预设的第一训练样本集合输入预设的原始的深度残差网络,预设的第一训练样本集合包括预设第二数量的车辆图片以及各车辆图片对应的车辆类别编号,一个车辆类别编号对应至少一张车辆图片,车辆类别编号相同的车辆图片为同一辆车;

第一训练模块,用于当预设的损失函数的计算值低于预设的函数值阈值时,得到训练好的深度残差网络,预设的损失函数如公式所示;

在公式中,lth为预设的损失函数的计算值;batch为预设的第一训练样本集合;p为车辆类别编号的数量,k为各车辆类别编号,分别对应的车辆图片的数量;a为batch中的一个训练样本;da,p为训练样本a与所有正样本的距离,da,p的角标a,p中的p为正样本的标识,训练样本a的正样本是指与训练样本a对应同一车辆类别编号的训练样本;da,n为训练样本a与所有负样本的距离,da,n的角标a,n中的n为负样本的标识,训练样本a的负样本是指与训练样本a对应不同车辆类别编号的训练样本;α、β、μ1和μ2均为常数;针对(maxda,p-minda,n+α)+,当括号中的表达式的值为负值时,(maxda,p-minda,n+α)+的值为0;针对(maxda,p-β)+,当括号中的表达式的值为负值时,(maxda,p-β)+的值为0;针对(r-minda,n)+,当括号中的表达式的值为负值时,(r-minda,n)+的值为0。

可选的,所述装置还包括:

第三输入模块,用于将目标拍摄图像输入预设的车辆检测网络,确定目标拍摄图像中各车辆的第一区域信息,其中,目标拍摄图像包括多个车辆,第一区域信息包括车辆所处区域在目标拍摄图像样本中的位置,车辆检测网络采用fasterr-cnn检测框架,车辆检测网络用于提取目标拍摄图像的特征,并根据所述特征确定各车辆的第一区域信息;

检测模块,用于按照第一区域信息,在目标拍摄图像中检测各车辆图片。

可选的,第一区域信息包括车辆的外接矩形的四个角分别在目标拍摄图像样本坐标系中的坐标,目标拍摄图像样本坐标系是指以目标拍摄图像的四个角中的一个角为坐标原点,以目标拍摄图像的四条边中、与坐标原点相连两条边分别为x轴和y轴的二维坐标系。

可选的,车辆检测网络通过执行如下模块训练得到:

第四输入模块,用于将预设的第二训练样本集合输入预设的原始的车辆检测网络,得到检测出的各拍摄图像样本中各车辆的第三区域信息,预设的第二训练样本集合包括预设第三数量的拍摄图像样本以及各拍摄图像样本中各车辆的预设的第二区域信息,预设的第二区域信息和第三区域信息均包括车辆所处区域在拍摄图像样本中的位置;

第二训练模块,用于当针对同一拍摄图像样本,各车辆的预设的第二区域信息与第三区域信息之间的差距小于预设的差距阈值时,得到训练好的车辆检测网络。

可见,本发明实施例提供基于深度学习的车辆重识别装置,能够通过使用训练好的卷积神经网络来获取目标拍摄图像中车辆的特征值,其中,该卷积神经网络在训练时使用的损失函数,能够减小不同拍摄图像中、同一车辆的特征值之间的差距,以及增大不同拍摄图像中、不同车辆的特征值之间的差距,使得最终得到的目标拍摄图像中车辆的特征值能够体现各车辆之间的差异,以区分不同拍摄图像中的车辆是否为同一车辆,从而提高车辆重识别的准确性,避免出现车辆重识别错误的问题。

在实际应用中,本发明实施例提供的基于深度学习的车辆重识别方法可以应用于公安卡口视频监控的车辆跟踪系统,参考图8,图8为本发明实施例中,用于公安卡口视频监控的车辆跟踪系统的示意图。

如图8所示,发明实施例提供的基于深度学习的车辆重识别方法应用于公安卡口视频监控的车辆跟踪系统的实施过程如下:

步骤801,调取摄像头a拍摄的监控视频,并从该监控视频中截取拍摄图像,在截取的拍摄图像中确定目标车辆。

其中,目标车辆为跟踪目标。

步骤802,通过现有的目标跟踪技术,对在当前的监控视频中运动的目标车辆进行跟踪。

步骤803,在目标车辆驶出当前摄像头的监控范围,进入其他摄像头的监控范围之后,调取可能包括目标车辆的多个摄像头拍摄的监控视频,并从中截取拍摄图像。

步骤804,使用本发明实施例提供的基于深度学习的车辆重识别方法,从步骤803截取的拍摄图像中重识别目标车辆,以确定目标车辆在哪个摄像头拍摄的监控视频中,并确定目标车辆在该监控视频中的初始位置。

其中,目标车辆在该监控视频中的初始位置是指目标车辆进入该摄像头拍摄的监控视频的起点位置。

步骤805,在已确定的新的摄像头拍摄的监控视频中,通过现有的目标跟踪技术对目标车辆进行持续跟踪。

步骤806,重复执行步骤802至步骤805,直至最终确定目标车辆停止的位置,完成在多个摄像头下对目标车辆的自动跟踪。

可见,本发明实施例提供基于深度学习的车辆重识别方法,可以在目标车辆穿梭在多个摄像头拍摄的监控视频的场景下,对目标车辆进行有效跟踪,避免跟丢或者误识别的问题。

本发明实施例再提供了一种电子设备,参考图9,图9为本发明实施例提供的电子设备的结构示意图,如图9所示,包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901,通信接口902,存储器903通过通信总线904完成相互间的通信,

存储器903,用于存放计算机程序;

处理器901,用于执行存储器903上所存放的程序时,实现如下步骤:

将预设的目标车辆图片以及从目标拍摄图像中检测出的各车辆图片,输入预设的特征识别模型,得到目标车辆的第一特征值,以及检测出的各辆车的第二特征值,其中,特征识别模型采用卷积神经网络,卷积神经网络在训练时所使用的损失函数用于减小不同拍摄图像中、同一车辆的特征值之间的差距,以及增大不同拍摄图像中、不同车辆的特征值之间的差距,以区分不同拍摄图像中的车辆是否为同一车辆;

计算第一特征值与各第二特征值的相似度,将相似度最高的第二特征值确定为目标第二特征值;

将目标第二特征值对应的车辆,确定为目标拍摄图像中的目标车辆。

上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于为,图中仅用一条粗线为,但并不为仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

本发明实施例提供的方法可以应用于电子设备。具体的,该电子设备可以为:台式计算机、便携式计算机、智能移动终端、服务器等。在此不作限定,任何可以实现本发明的电子设备,均属于本发明的保护范围。

本发明实施例再提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述的基于深度学习的车辆重识别方法的步骤。

本发明实施例再提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述的基于深度学习的车辆重识别方法的步骤。

本发明实施例再提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述的基于深度学习的车辆重识别方法的步骤。

对于装置/电子设备/存储介质/包含指令的计算机程序产品/计算机程序实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置/电子设备/存储介质/包含指令的计算机程序产品/计算机程序实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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