发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是由于转弯掉头斜线行驶导致的导致轨迹跟断和跟错问题,以取得很高的跟踪精度。
为实现上述目的,发明人对于关键点检测技术进行研究,关键点检测是指从给定的车辆图像中检测出不同区域部位的关键点技术,比如人体关键点会提取出人体的头部、胸部、手腕、手肘和肩部等部位的多个关键点;人脸关键点则会提取出眼球中心、眼角、鼻尖、嘴角、人脸轮廓等部位的关键点;车辆关键点则会提取出车头、车身和车尾等部位的关键点。因而,在本发明的一个实施例中,提供了一种基于关键点检测和校正技术的车辆多目标跟踪系统,包括:
关键点检测模块,响应于监控视频流数据,应用关键点检测算法对监控视频流数据前帧图像进行检测,提取出车辆图像和车辆关键点;
图像校正模块,响应于车辆图像和车辆关键点的输入,根据关键点对车辆图像进行校正;
特征提取模块,响应于校正后的车辆图像,进行深度特征提取;
多目标跟踪模块,响应于提取的多个车辆的检测信息和特征,对车辆进行跟踪,更新多个车辆的轨迹信息;
轨迹显示模块,响应于车辆的轨迹信息,对车辆的轨迹进行显示;
关键点检测模块、图像校正模块、特征提取模块、多目标跟踪模块和轨迹显示模块依次通信连接。
进一步地,在上述实施例中的基于关键点检测和校正技术的车辆多目标跟踪系统中,上述车辆关键点包括车头四边形区域的四个顶点、车身四边形区域的四个顶点和车尾四边形区域的四个顶点,对每个顶点进行车头、车身和车尾的类别区分,对每个类别按照顺时针顺序标注为1、2、3和4。
可选地,在上述任一实施例中的基于关键点检测和校正技术的车辆多目标跟踪系统中,上述关键点检测算法为Center-Net检测模型。
本发明的另一个实施例中,提供了一种使用上述任一实施例中的基于关键点检测和校正技术的多目标跟踪系统的基于关键点检测和校正技术的多目标跟踪方法,包括如下步骤:
S100、原始数据收集,收集车辆监控视频,将上述视频以至少5fps保存为图片,作为原始数据;
S200、关键点检测,响应于上述原始数据的输入,上述关键点检测模块应用关键点检测算法对上述视频中当前帧进行检测,提取出车辆图像和车辆关键点;
S300、图像校正,响应于上述车辆图像和上述车辆关键点的输入,上述图像校正模块根据上述车辆关键点对上述车辆图像进行校正;
S400、特征提取,响应于校正后的上述车辆图像,上述特征提取模块进行深度特征提取,提取出多个车辆的检测信息和特征;
S500、多目标跟踪,响应于提取的上述多个车辆的检测信息和特征,多目标跟踪模块对车辆进行跟踪,并更新上述车辆的轨迹信息;
S600、轨迹显示,响应于上述车辆的轨迹信息,轨迹显示模块对上述车辆的轨迹进行显示。
可选地,在上述实施例中的基于关键点检测和校正技术的多目标跟踪方法中,步骤S200还包括:
S210、收集车辆监控视频,将监控视频以至少5fps保存为图片,作为车辆关键点检测的训练数据;
S220、标注数据,对收集的训练数据进行检测框和关键点数据标注;
S230、训练模型,把标注的数据输入到关键点检测算法中进行模型训练,模型输出数据为车辆检测框和车辆关键点;
S240、检测关键点,运用步骤S230训练好的关键点检测算法,输入原始数据,对视频中的每一帧待检测图像进行关键点检测,并从检测出的目标区域中提取目标轮廓和标识区域部位的关键点。
进一步地,在上述实施例中的基于关键点检测和校正技术的多目标跟踪方法中,步骤S220采用12个关键点进行标注,包括车头四边形区域的四个顶点、车身四边形区域的四个顶点和车尾四边形区域的四个顶点,对每个顶点进行车头、车身和车尾的类别区分,对每个类别按照顺时针顺序标注为1、2、3和4。
可选地,在上述任一实施例中的基于关键点检测和校正技术的多目标跟踪方法中,关键点检测算法为Center-Net检测模型。
可选地,在上述实施例中的基于关键点检测和校正技术的多目标跟踪方法中,步骤S300还包括:
S310、选择校正用模板图片,选择一张标准视角的车辆图片作为校正用模板图片,要求为正对车身拍摄下的车身图片,车身图片尺寸缩放至标准大小,根据具体的车辆大小不同;
S320、过滤车身图片,根据所述关键点数据,进行车身图片过滤,对输出的所述关键点数据存在车身区域四个关键点的车辆图片进行保留,其他的则不进行校正处理,按照顺时针,记录车身4个关键点在车辆图片中坐标的位置为xa和ya;
S330、记录车身关键点坐标,对所述校正用模板图片按顺时针顺序标记车身关键点,记录在图片中坐标的位置为xs和ys;将模型预测的关键点坐标和标准视角中的坐标输入到标定公式(1)中进行求解运算,得到3*3仿射映射矩阵H,
S340、仿射变换计算,使用计算机视觉开源处理工具opencv库中的warpAffine函数对所述车辆图片进行仿射变换计算,输出校正后的车辆图片。
可选地,在上述任一实施例中的基于关键点检测和校正技术的多目标跟踪方法中,车身图片分辨率经过图像缩放后,优选高度为128个像素,宽度为256个像素。
可选地,在上述任一实施例中的基于关键点检测和校正技术的多目标跟踪方法中,步骤S400中,深度特征提取方法包括传统的计算机视觉特征和深度卷积神经网络。
可选地,在上述实施例中的基于关键点检测和校正技术的多目标跟踪方法中,传统的计算机视觉特征包括HOG特征和颜色直方图特征。
可选地,在上述任一实施例中的基于关键点检测和校正技术的多目标跟踪方法中,步骤S400还包括:
S410、模型训练,采用公开的车辆重识别数据集作为输入;
S420、模型推理,采用图像校正模块经过校正后的车辆图片作为输入。
可选地,在上述实施例中的基于关键点检测和校正技术的多目标跟踪方法中,步骤S410中,公开车辆重识别数据集包括但不限于AIC2019数据集、VeRi公开数据集和私人数据集。
可选地,在上述实施例中的基于关键点检测和校正技术的多目标跟踪方法中,模型训练使用的深度卷积神经网络为前向传播的深度卷积神经网络。
可选地,在上述实施例中的基于关键点检测和校正技术的多目标跟踪方法中,上述前向传播的深度卷积神经网络具体包括:
骨架网络,包括一系列的卷积层和池化层,来自去除分类层之后的经典分类网络,包括Resnet和Mobilenet系列网络;
颈部网络,包括单个卷积层、批归一化层、非线性激励函数层;
头部网络,包括具有多个类别的全连接层,类别数为数据集中不同车辆的个数;
经过图像校正后的车辆图片输入骨架网络,实现对车辆特征的提取,再进行全局最大池化操作后进入到颈部网络,得到有效的特征向量D,再进入头部网络中进行分类,在训练过程中,设置联合损失函数并作用于网络进行参数更新。
进一步地,在上述实施例中的基于关键点检测和校正技术的多目标跟踪方法中,上述联合损失函数包括三元损失函数和分类损失函数。
进一步地,在上述实施例中的基于关键点检测和校正技术的多目标跟踪方法中,步骤S410还包括:
S411、预处理和数据增强,对公开数据集中的车辆图片进行预处理和数据增强,包括且不限于尺寸统一化、色彩增强,随机裁剪,随机擦除等),再进行加载,得到图像数据;
S412、构建训练的深度卷积神经网络,包括骨架网络、颈部网络和头部网络,骨架网络可以采用Resnet50、MobileNet或ShuffleNet;
S413、构建联合损失函数,训练过程中总的损失函数的表达式如下:
其中,I为输入的车辆图片数据,y为对应车辆图片的标注数据,T为每次网络迭代需要的小批量输入图片的个数,为三元损失函数,C(θ,y)为分类损失函数。
三元损失函数为重识别领域中的常用损失函数,作用于骨架网络和颈部网络。其公式如下:
三元损失函数接受三张图片同时作为输入,其中,a代表anchor,指的是在车辆图片数据集中随机选择一张车辆图片作为基准图片;p代表positive,指的是和基准图片a为同一辆车的图片;n代表negative,指的是和基准图片a不是同一辆车的图片。Da,p指的是基准图片a和同一辆车的图片p提取出的特征向量之间的距离,Da,n指的是基准图片a和不是同一辆车图片提取出的特征向量之间的距离,m代表阈值margin,是可调参数,用来区分Da,p和Da,n距离之间的边界值,优选P=16和K=8,即16辆不同的车,每个车辆有8张不同的图片组成128张(T=128)的小批量图片数据集作为输入,实际计算采用的是欧氏距离,距离边界值优选0.3;
分类损失函数为标准的交叉熵分类函数,对全局语义特征模块输出的特征向量D进行归一化和对数化处理后,与实际分类的数据计算误差。交叉熵分类损失函数的公式如下:
可选地,在上述实施例中的基于关键点检测和校正技术的多目标跟踪方法中,步骤S413采用三元损失函数和交叉熵分类损失函数联合的方式,共同调整网络完成对车辆特征的提取。
可选地,在上述任一实施例中的基于关键点检测和校正技术的多目标跟踪方法中,上述颈部网络输出的特征向量D维度为2048。
可选地,在上述任一实施例中的基于关键点检测和校正技术的多目标跟踪方法中,使用Resnet50的预训练模型,即去除Resnet50最后的分类层加快收敛,采用Adam优化求解器。
可选地,在上述任一实施例中的基于关键点检测和校正技术的多目标跟踪方法中,网络模型的常规训练采用Adam优化求解器,每次大轮数训练300步,前150步学习速率为3e-4,从第150步开始进行学习速率的调整,逐渐下降到3e-7。
发明人为了有效减少推理网络的参数量和计算量,提高网络的推理速度,设计了模型推理的过程。
可选地,在上述实施例中的基于关键点检测和校正技术的多目标跟踪方法中,模型推理使用的前向传播的深度卷积神经网络具体包括:
骨架网络,包括一系列的卷积层和池化层,来自去除分类层之后的经典分类网络,包括Resnet和Mobilenet系列网络;
颈部网络,包括单个卷积层、批归一化层、非线性激励函数层;
经过图像校正后的车辆图片输入骨架网络,实现对车辆特征的提取,再进行全局最大池化操作后进入到颈部网络,得到有效的特征向量D。
进一步地,在上述实施例中的基于关键点检测和校正技术的多目标跟踪方法中,步骤S420还包括:
S421、输入数据,对图像校正模块输出的车辆图形数据进行预处理,包括且不限于尺寸归一化,再进行加载,得到图像数据;
S422、构建网络,构建训练的深度卷积神经网络,加载训练阶段中训练好的网络模型参数,并去除头部网络中分类层的权重参数;
S423、获取车辆深度特征,加载模型后,输入图片数据进行运算,提取颈部网络层后输出的全局特征作为车辆的深度特征。
可选地,在上述任一实施例中的基于关键点检测和校正技术的多目标跟踪方法中,上述深度特征向量D的维度为2048维,单进程的网络推理速度达到20,000张图片/秒以上。
可选地,在上述任一实施例中的基于关键点检测和校正技术的多目标跟踪方法中,步骤S500还包括:
S510、拍摄车辆监控视频,将所述视频以至少5fps保存为图片,作为基本输入数据源;按照所述关键点检测模块的所述关键点检测算法,对所述视频中的当前帧图像进行关键点检测;在画面中提取出单独车辆图像,输入所述图像校正模块完成车辆图像的校正;再输入到所述特征提取模块,完成目标的深度特征提取;
S520、构建匹配矩阵,公式如下所示:
Ci,j=wd(1)(i,j)+(1-w)d(2)(i,j) (5);
其中,w是一个超参数,用来根据场景动态调整配比参数,优选默认设置为0.3;i代表的是第i个跟踪轨迹,包含历史帧的目标检测数据和特征数据,是t-1时刻的数据;j代表的是当前时刻的检测数据,是视频在t时刻的车辆数据。d(1)(i,j)指得是i个跟踪轨迹和j个检测框计算得到的空间距离矩阵,为了减少遮挡情况,空间距离采用得是车辆目标的中心点的欧式距离,并设置最大距离值进行最大值归一化,所述最大距离值可以根据实际场景进行动态设置;d(2)(i,j)指得是i个跟踪轨迹和j个检测框计算得到的特征距离矩阵,公式如下所示:
其中,计算得是余弦相似度,用一减去之后得到的是余弦距离,表示车辆高级语义特征之间的差距;
S530、匹配轨迹信息和当前帧检测数据,综合所述空间距离和所述特征距离得到匹配矩阵之后,通过匈牙利二分图匹配算法计算匹配过程,实现轨迹信息和当前帧检测数据的匹配;
S540、目标轨迹的分配和管理,历史轨迹按照跟踪状态可以分为跟踪中的轨迹和跟丢的轨迹,所述跟踪中的轨迹指得是一直匹配上当前检测目标的轨迹,所述跟丢的轨迹指的是没有匹配上当前检测目标的轨迹,找不到跟踪的目标;
S550、第一次匈牙利匹配,跟踪轨迹列表和当前帧检测列表进行第一次匈牙利匹配,匹配阈值优选默认设置为0.5,完成匹配后会得到三种数据:第一次匹配成功的检测目标、第一次匹配失败的检测目标和匹配失败的轨迹;更新跟踪轨迹列表,所述第一次匹配成功的检测目标加入到所述跟踪轨迹列表当中,对所述匹配失败的轨迹先在所述跟踪轨迹列表中进行删除,再进行跟丢次数判断,如果所述跟丢次数超过最大跟丢次数则删除,否则加入跟丢轨迹列表;
S560、第二次匈牙利匹配,对于所述所述第一次匹配失败的检测目标和所述跟丢轨迹列表中的轨迹进行第二次匈牙利匹配,第二次匹配阈值优选默认设置为0.5,完成匹配后会得到三种数据:第二次匹配成功的检测目标,第二次匹配失败的检测目标和匹配失败的轨迹;更新跟踪轨迹列表,所述第二次匹配成功的检测目标加入到跟踪轨迹列表中,对所述匹配失败的轨迹先在所述跟踪轨迹列表中删除,再进行跟丢次数判断,如果跟丢次数超过最大跟丢次数则删除,否则加入所述跟丢轨迹列表;所述第二次匹配失败的检测目标初始化为新的轨迹,分配新的跟踪目标id,加入到所述跟踪轨迹列表当中;
S570、多目标追踪,完成多目标追踪,得到多个车辆的轨迹。
本发明结合多种技术,利用关键点检测、图像校正和特征提取技术,解决了由于于车辆转弯、掉头和斜线行驶出现的目标检测出来的车辆图像相对于正常视角出现较大偏斜和互相遮挡,从而导致车辆的特征距离偏差较大,难于完成匹配,造成目标轨迹有大量跟断和跟错的问题,提高了车辆跟踪轨迹精度。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
具体实施方式
以下参考说明书附图介绍本发明的多个优选实施例,使其技术内容更加清楚和便于理解。本发明可以通过许多不同形式的实施例来得以体现,本发明的保护范围并非仅限于文中提到的实施例。
在附图中,结构相同的部件以相同数字标号表示,各处结构或功能相似的组件以相似数字标号表示。附图所示的每一组件的尺寸和厚度是任意示出的,本发明并没有限定每个组件的尺寸和厚度。为了使图示更清晰,附图中有些地方示意性地适当夸大了部件的厚度。
发明人设计了一种基于关键点检测和校正技术的车辆多目标跟踪系统系统,如图1所示,包括:
关键点检测模块,关键点包括车头四边形区域的四个顶点、车身四边形区域的四个顶点和车尾四边形区域的四个顶点,对每个顶点进行车头、车身和车尾的类别区分,对每个类别按照顺时针顺序标注为1、2、3和4;响应于监控视频流数据,应用关键点检测算法对监控视频流数据前帧图像进行检测,提取出车辆图像和车辆关键点,其中关键点检测算法为Center-Net检测模型;
图像校正模块,响应于车辆图像和车辆关键点的输入,根据关键点对车辆图像进行校正;
特征提取模块,响应于校正后的车辆图像,进行深度特征提取;
多目标跟踪模块,响应于提取的多个车辆的检测信息和特征,对车辆进行跟踪,更新多个车辆的轨迹信息;
轨迹显示模块,响应于车辆的轨迹信息,对车辆的轨迹进行显示;
关键点检测模块、图像校正模块、特征提取模块、多目标跟踪模块和轨迹显示模块依次通信连接。
发明人使用上述基于关键点检测和校正的车辆多目标跟踪系统设计了关键点检测和校正的车辆多目标跟踪方法,包括如下步骤:
S100、原始数据收集,收集车辆监控视频,将视频以至少5fps保存为图片,作为原始数据;
S200、关键点检测,响应于原始数据的输入,关键点检测模块应用关键点检测算法对视频中当前帧进行检测,提取出车辆图像和车辆关键点,关键点检测算法为Center-Net检测模型,具体包括:
S210、收集车辆监控视频,将监控视频以至少5fps保存为图片,作为车辆关键点检测的训练数据;
S220、标注数据,对收集的训练数据进行检测框和关键点数据标注,本实施例中关键点共12个,包括车头四边形区域的四个顶点、车身四边形区域的四个顶点和车尾四边形区域的四个顶点,对每个顶点进行车头、车身和车尾的类别区分,对每个类别按照顺时针顺序标注为1、2、3和4;
S230、训练模型,把标注的数据输入到关键点检测算法中进行模型训练,模型输出数据为车辆检测框和车辆关键点;
S240、检测关键点,运用步骤S230训练好的关键点检测算法,输入原始数据,对视频中的每一帧待检测图像进行关键点检测,并从检测出的目标区域中提取目标轮廓和标识区域部位的关键点;
S300、图像校正,响应于车辆图像和车辆关键点的输入,图像校正模块根据关键点对车辆图像进行校正;具体包括:
S310、选择校正用模板图片,选择一张标准视角的车辆图片作为校正用模板图片,要求为正对车身拍摄下的车身图片,车身图片尺寸缩放至标准大小,根据具体的车辆大小不同,车身图片分辨率经过图像缩放后,优选高度为128个像素,宽度为256个像素;
S320、过滤图片,根据步骤S200输出的关键点数据,进行图片过滤,对输出的关键点数据存在车身区域四个关键点的车辆图片进行保留,其他的则不进行校正处理,按照顺时针,记录车身4个关键点在车辆图片中坐标的位置为xa和ya;
S330、记录车身关键点坐标,对校正用模板图片按顺时针顺序标记车身关键点,记录在图片中坐标的位置为xs和ys;将模型预测的关键点坐标和标准视角中的坐标输入到标定公式(1)中进行求解运算,得到3*3仿射映射矩阵H:
S340、仿射变换计算,使用计算机视觉开源处理工具opencv库中的warpAffine函数对车辆图片进行仿射变换计算,输出的图片即为经校正之后的车辆图片;
S400、特征提取,响应于校正后的车辆图像,特征提取模块进行深度特征提取,提取出多个车辆的检测信息和特征;深度特征提取方法包括传统的计算机视觉特征和深度卷积神经网络,传统的计算机视觉特征包括HOG特征和颜色直方图特征,深度卷积神经网络为前向传播的深度卷积神经网络,具体包括:骨架网络,包括一系列的卷积层和池化层,来自去除分类层之后的经典分类网络,包括Resnet和Mobilenet系列网络;颈部网络,包括单个卷积层、批归一化层、非线性激励函数层;头部网络,包括具有多个类别的全连接层,类别数为数据集中不同车辆的个数。经过图像校正后的车辆图片输入骨架网络,实现对车辆特征的提取,再进行全局最大池化操作后进入到颈部网络,得到有效的特征向量D,再进入头部网络中进行分类,在训练过程中,设置联合损失函数并作用于网络进行参数更新,联合损失函数包括三元损失函数和分类损失函数。具体包括:
S410、模型训练,采用公开的车辆重识别数据集作为输入,包括但不限于AIC2019数据集、VeRi公开数据集和私人数据集;具体地:
S411、预处理和数据增强,对公开数据集中的车辆图片进行预处理和数据增强,包括且不限于尺寸统一化、色彩增强,随机裁剪,随机擦除等),再进行加载,得到图像数据;
S412、构建训练的深度卷积神经网络,包括骨架网络、颈部网络和头部网络,骨架网络可以采用Resnet50、MobileNet或ShuffleNet;
S413、构建联合损失函数,采用三元损失函数和交叉熵分类损失函数联合的方式,共同调整网络完成对车辆特征的提取,训练过程中总的损失函数的表达式如下:
其中,I为输入的车辆图片数据,y为对应车辆图片的标注数据,T为每次网络迭代需要的小批量输入图片的个数,为三元损失函数,C(θ,y)为分类损失函数。
三元损失函数为重识别领域中的常用损失函数,作用于骨架网络和颈部网络。其公式如下:
三元损失函数接受三张图片同时作为输入,其中,a代表anchor,指的是在车辆图片数据集中随机选择一张车辆图片作为基准图片;p代表positive,指的是和基准图片a为同一辆车的图片;n代表negative,指的是和基准图片a不是同一辆车的图片。Da,p指的是基准图片a和同一辆车的图片p提取出的特征向量之间的距离,Da,n指的是基准图片a和不是同一辆车图片提取出的特征向量之间的距离,m代表阈值margin,是可调参数,用来区分Da,p和Da,n距离之间的边界值,优选P=16和K=8,即16辆不同的车,每个车辆有8张不同的图片组成128张(T=128)的小批量图片数据集作为输入,实际计算采用的是欧氏距离,距离边界值优选0.3;
分类损失函数为标准的交叉熵分类函数,对全局语义特征模块输出的特征向量D进行归一化和对数化处理后,与实际分类的数据计算误差。交叉熵分类损失函数的公式如下:
上述颈部网络输出的特征向量D维度为2048,使用Resnet50的预训练模型,即去除Resnet50最后的分类层加快收敛,采用Adam优化求解器,每次大轮数训练300步,前150步学习速率为3e-4,从第150步开始进行学习速率的调整,逐渐下降到3e-7。
为了有效减少推理网络的参数量和计算量,提高网络的推理速度,本实施例中模型推理使用的前向传播的深度卷积神经网络,具体包括:
骨架网络,包括一系列的卷积层和池化层,来自去除分类层之后的经典分类网络,包括Resnet和Mobilenet系列网络;
颈部网络,包括单个卷积层、批归一化层、非线性激励函数层;
经过图像校正后的车辆图片输入骨架网络,实现对车辆特征的提取,再进行全局最大池化操作后进入到颈部网络,得到有效的特征向量D。
S420、模型推理,采用图像校正模块经过校正后的车辆图片作为输入,具体包括:
S421、输入数据,对图像校正模块输出的车辆图形数据进行预处理,包括且不限于尺寸归一化,再进行加载,得到图像数据;
S422、构建网络,构建训练的深度卷积神经网络,加载训练阶段中训练好的网络模型参数,并去除头部网络中分类层的权重参数;
S423、获取车辆深度特征,加载模型后,输入图片数据进行运算,提取颈部网络层后输出的全局特征作为车辆的深度特征,深度特征向量D的维度为2048维,单进程的网络推理速度达到20,000张图片/秒以上。
S500、多目标跟踪,响应于提取的上述多个车辆的检测信息和特征,多目标跟踪模块对车辆进行跟踪,并更新上述车辆的轨迹信息;如图3和图4所示,具体包括:
S510、拍摄车辆监控视频,将所述视频以至少5fps保存为图片,作为基本输入数据源;按照所述关键点检测模块的所述关键点检测算法,对所述视频中的当前帧图像进行关键点检测;在画面中提取出单独车辆图像,输入所述图像校正模块完成车辆图像的校正;再输入到所述特征提取模块,完成目标的深度特征提取;
S520、构建匹配矩阵,公式如下所示:
Ci,j=wd(1)(i,j)+(1-w)d(2)(i,j) (5);
其中,w是一个超参数,用来根据场景动态调整配比参数,优选默认设置为0.3;i代表的是第i个跟踪轨迹,包含历史帧的目标检测数据和特征数据,是t-1时刻的数据;j代表的是当前时刻的检测数据,是视频在t时刻的车辆数据。d(1)(i,j)指得是i个跟踪轨迹和j个检测框计算得到的空间距离矩阵,为了减少遮挡情况,空间距离采用得是车辆目标的中心点的欧式距离,并设置最大距离值进行最大值归一化,所述最大距离值可以根据实际场景进行动态设置;d(2)(i,j)指得是i个跟踪轨迹和j个检测框计算得到的特征距离矩阵,公式如下所示:
其中,计算得是余弦相似度,用一减去之后得到的是余弦距离,表示车辆高级语义特征之间的差距;
S530、匹配轨迹信息和当前帧检测数据,综合所述空间距离和所述特征距离得到匹配矩阵之后,通过匈牙利二分图匹配算法计算匹配过程,实现轨迹信息和当前帧检测数据的匹配;
S540、目标轨迹的分配和管理,历史轨迹按照跟踪状态可以分为跟踪中的轨迹和跟丢的轨迹,所述跟踪中的轨迹指得是一直匹配上当前检测目标的轨迹,所述跟丢的轨迹指的是没有匹配上当前检测目标的轨迹,找不到跟踪的目标;
S550、第一次匈牙利匹配,跟踪轨迹列表和当前帧检测列表进行第一次匈牙利匹配,匹配阈值优选默认设置为0.5,完成匹配后会得到三种数据:第一次匹配成功的检测目标、第一次匹配失败的检测目标和匹配失败的轨迹;更新跟踪轨迹列表,所述第一次匹配成功的检测目标加入到所述跟踪轨迹列表当中,对所述匹配失败的轨迹先在所述跟踪轨迹列表中进行删除,再进行跟丢次数判断,如果所述跟丢次数超过最大跟丢次数则删除,否则加入跟丢轨迹列表;
S560、第二次匈牙利匹配,对于所述所述第一次匹配失败的检测目标和所述跟丢轨迹列表中的轨迹进行第二次匈牙利匹配,第二次匹配阈值优选默认设置为0.5,完成匹配后会得到三种数据:第二次匹配成功的检测目标,第二次匹配失败的检测目标和匹配失败的轨迹;更新跟踪轨迹列表,所述第二次匹配成功的检测目标加入到跟踪轨迹列表中,对所述匹配失败的轨迹先在所述跟踪轨迹列表中删除,再进行第二次跟丢次数判断,如果所述第二次跟丢次数超过最大跟丢次数则删除,否则加入所述跟丢轨迹列表;所述第二次匹配失败的检测目标初始化为新的轨迹,分配新的跟踪目标id,加入到所述跟踪轨迹列表当中;
S570、多目标追踪,完成多目标追踪,得到多个车辆的轨迹。S600、轨迹显示,响应于目标的轨迹信息,轨迹显示模块对目标的轨迹进行显示。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。