发明内容
发明目的:针对现有技术中多目标检测跟踪速度和精度较低的缺陷,本发明公开了一种高速多目标检测跟踪和目标图像优选方法及存储介质,通过检测器获取当前帧中的待跟踪目标,并结合匈牙利算法,对待跟踪目标进行关联,在不引入ReID模型的情况下,大幅度降低了复杂度,提高跟踪速度,并且速度几乎不随跟踪目标的数量增加而增加。
技术方案:为实现上述技术目的,本发明采用以下技术方案。
一种高速多目标检测跟踪和目标图像优选方法,包括以下步骤:
S1、获取输入的若干帧视频序列:从监控视频中选取若干帧视频序列;
S2、视频序列初始化:从第一帧图像开始,对输入的视频序列初始化视频网格和初始化参考点,所述视频网格包括横向线条rowi和纵向线条colj,其中i=1,2…m,j=1,2…n;参考点为主观判定场景中最佳位置;
S3、检测当前帧中待跟踪目标:将初始化后的视频序列输入到CNN神经网络中,通过预训练后的检测器检测获取视频序列当前帧中若干待跟踪目标,并对每个待跟踪目标分别赋值类别ID,并对每个待跟踪目标划定自身的坐标框;
S4、对多目标进行跟踪:检测器后连接跟踪器,在跟踪器中采用基于匈牙利算法实现的多目标跟踪算法对当前帧中所有待跟踪目标进行跟踪,对当前帧中待跟踪目标和上一帧标记后的待跟踪目标之间进行关联、赋值和标记,标记名称为候选关键目标执行步骤S5;
S5、对同一ID值的目标图像进行优选:根据候选关键目标坐标框提取候选关键目标图像,对所有候选关键目标图像分别计算图像评分,所述图像评分由候选关键目标的位置评分和图像质量评分加权计算获得;对于当前帧中每一个候选关键目标,若上一帧中没有同一ID值的优选目标图像,则将当前帧中候选关键目标图像更新为当前帧的优选目标图像;若当前帧中候选关键目标图像的图像评分大于上一帧中同一ID值的优选目标图像的图像评分,则将当前帧中候选关键目标图像更新为当前帧的优选目标图像,否则将上一帧中同一ID值的优选目标图像作为当前帧的优选目标图像;
S6、获取输入的视频序列下一帧图像,返回步骤S3,直至所有视频序列检测结束,实现若干帧视频序列的多目标跟踪和目标图像优选。
优选地,所述步骤S3预训练后的检测器中,检测器的预先训练过程为:
首先准备训练样本测试集,所述训练样本测试集中包括若干张图片;
采用开源深度学习框架Caffe和开源SSD模型对检测器进行迭代训练,训练过程中生成若干模型;
最后向检测器的若干模型输入训练样本测试集进行测试,选择训练好的最优模型,完成测试。
优选地,所述步骤S4中跟踪器后还连接有过滤器,采用过滤器去除跟踪器输出目标中出现的误检目标。
优选地,所述步骤S4中利用匈牙利算法对每个待跟踪目标进行关联、赋值和标记具体过程包括:
S41、数据关联:计算当前帧中待跟踪目标与上一帧标记后的待跟踪目标之间的交互比即IoU,IoU最大值大于预设重叠阈值,则判定当前帧中待跟踪目标与相应的上一帧标记后的待跟踪目标相关联,执行步骤S42;否则,当前帧中待跟踪目标关联失败,执行步骤S43;
S42、对关联成功的待跟踪目标进行赋值和标记:将上一帧标记后的待跟踪目标ID赋值给当前帧中相应待跟踪目标,并将当前帧中所有得到ID赋值的待跟踪目标标记为候选关键目标;
S43、对关联失败的待跟踪目标进行标记:采用预设过滤器对当前帧中没有关联成功的待跟踪目标进行过滤,将预设过滤器输出的待跟踪目标标记为候选关键目标,并将其丢失时间记为1;对上一帧中没有关联成功的待跟踪目标的丢失时间进行加1更新,更新后的丢失时间大于时间阈值,将相应待跟踪目标标记为消失跟踪目标,更新后的丢失时间小于时间阈值,将相应待跟踪目标标记为丢失跟踪目标。
优选地,所述步骤41中计算当前帧中待跟踪目标与上一帧标记后的待跟踪目标之间的交互比的具体过程为:
将所有的上一帧第i个标记后的待跟踪目标的坐标框标记为原标记框Gi,将当前帧中第j个待跟踪目标的坐标框标记为候选标记框Cj,利用匈牙利算法计算每一个候选标记框Cj与所有原标记框Gi的交互比即IoU,获取每一个候选标记框Cj与所有原标记框Gi的IoU最大值,IoU最大值大于预设重叠阈值,则判定IoU最大值所在的候选标记框Cj与原标记框Gi相关联,否则关联失败。
优选地,所述步骤S5中图像评分的具体计算过程为:
S51、获取候选关键目标的坐标位置:根据视频网格获取候选关键目标的坐标框触碰的视频网络横向线条rowi和纵向线条colj;
S52、计算候选关键目标的位置评分SL:计算横向线条rowi和纵向线条colj与最佳参考点的距离,距离越大,则位置评分SL越低,距离越小,则位置评分SL越高;
S53、计算候选关键目标的图像质量评分SIQA:在训练好的孪生网络模型中输入候选关键目标图像,采用RankIQA算法计算候选关键目标的图像质量评分SIQA;
S54、计算图像评分:将候选关键目标的位置评分和图像质量评分加权计算。
优选地,所述步骤S53中孪生网络模型的训练过程为:
S531、生成训练样本:获取一组原始图片,对原始图片进行失真获取若干失真图,所述失真图含有自身等级,根据等级对失真图进行排序,并结合相应原始图片,生成排好序的训练样本;
S532、孪生网络模型第一次训练:将训练样本输入至孪生网络中进行训练,计算铰链损失函数值并进行反向传播,直至铰链损失函数值达到收敛;
S533、孪生网络模型第二次训练:对第一次训练结束后的孪生网络选取其中一支进行第二次训练,向孪生网络其中一支输入图像质量评价数据集,采用均方误差MSE作为损失函数对孪生网络其中一支进行微调,均方误差MSE达到收敛时,第二次训练结束。
一种存储介质,用于实现以上任一所述的一种高速多目标检测跟踪和目标图像优选方法,包括电子装置,所述电子装置包括处理器和存储器,存储器内设有多目标检测跟踪和目标优选程序,处理器与存储器连接,用于通过执行存储在所述存储器上的计算机可执行指令。
优选地,所述多目标检测跟踪和目标优选程序包括依次连接的数据获取模块、多目标跟踪模块、评分模块和更新最优目标模块;
所述数据获取模块,用于获取视频序列中待跟踪目标及其坐标框;
所述多目标跟踪模块,用于通过对待跟踪目标进行关联、赋值和标记实现多目标跟踪;
所述评分模块,用于计算候选关键目标图像的评分;
所述更新最优目标模块,用于根据候选关键目标的图像评分更新最优目标。
有益效果:本发明通过在高速的多目标跟踪算法基础上,通过检测器获取当前帧中的待跟踪目标,并结合匈牙利算法,对待跟踪目标进行关联,在不引入ReID模型的情况下,大幅度降低了复杂度,提高跟踪速度,并且速度几乎不随跟踪目标的数量增加而增加;利用过滤器降低跟踪器输出目标中出现错误目标的情况,提高目标优选的精度;利用网格法和参考点以及图像的质量评估来选择候选关键目标整个运动轨迹中的最优图像,便于后续的结构化分析和以图搜图。
具体实施方式
以下结合附图对本方案做进一步的说明和解释。
为了说明本发明提供的一种高速多目标检测跟踪和目标图像优选方法及存储介质,方法的流程图如附图1和附图2所示,
实施例
本发明提供的一种高速多目标检测跟踪和目标优选方法,包括:
S1、获取输入若干帧视频序列:从监控视频中选取若干帧视频序列;这里的视频序列是从道路监控视频中截取的一段连续视频,视频时长不做限定,但视频图像的分辨率最低为1280*720;
S2、视频序列初始化:从第一帧图像开始,对输入的视频序列初始化视频网格和初始化参考点,视频网格包括横向线条rowi和纵向线条colj,其中i=1,2…m,j=1,2…n;参考点为主观判定场景中最佳位置,一般选择视频网络中心位置;另外,视频网格中线条越多,待跟踪目标触碰的线条数的概率也越高,在此不对视频网格做限定。
S3:检测当前帧中待跟踪目标:将初始化后的视频序列输入到CNN神经网络中,通过检测器获取当前帧中的待跟踪目标,对每个待跟踪目标分别赋值类别ID,并对每个待跟踪目标划定自身的坐标,即检测器在获取该待跟踪目标的同时还获取该待跟踪目标的位置、尺寸等信息,比如待跟踪目标的坐标框的位置坐标等等。
具体地,本发明提供的所述检测器采用预先训练好的检测器,如SSD检测器。其中,所述SSD检测器直接采用CNN神经网络进行检测,完全消除了提案生成和随后的像素或特征重采样阶段,将所有计算封装在一个网络中,实时检测的准确性更高。根据感兴趣的目标类别(行人、车辆、机动车等)训练好检测器,将当前帧的图片传给预训练好的检测器后,检测器能输出图片中感兴趣目标的类别(行人、车辆、机动车等)以及每个目标的坐标框坐标。将每个检测到的目标视为待跟踪目标,赋予不同的ID值,从0开始计数。
需要说明的是,所述待跟踪目标即为我们感兴趣的目标即需要跟踪并进行目标优选的目标,在实际应用过程中,需要根据实际需求确定该待跟踪目标的具体指代实物,比如,在银行、商场等场景,可以指目标行人的头部、脸部;在马路、桥梁等场景,可以指车辆、行人;在深林、草原等场景,可以指动物。
检测器的预先训练过程为:首先准备训练样本测试集,训练样本测试集中包括若干张图片;采用开源深度学习框架Caffe和开源SSD模型对检测器进行迭代训练,训练过程中生成若干模型;最后向检测器的若干模型输入训练样本测试集进行测试,选择训练好的最优模型,完成测试。本方案中通过采用训练样本测试集对模型进行测试,并选取其中性能最好的模型,使得检测器的性能达到最优。
S4:采用多目标跟踪算法对所述待跟踪目标进行跟踪,结合匈牙利算法,通过一系列关联、赋值、标记等操作对待跟踪目标进行跟踪,并利用过滤器降低跟踪器输出目标中出现错误目标的情况。过滤器去除的错误目标来源主要是检测器检测到的误检目标,比如检测器检测的一共四个类别,分别为行人、车辆、机动车以及背景,后续需要跟踪的是行人、车辆以及机动车,但是这三个类别中依然可能存在误检的情况,因此采用过滤器将这些误检的目标过滤掉。
具体地,通过匈牙利算法对待跟踪目标与前一帧跟踪目标进行数据关联,若关联成功,则将所述前一帧跟踪目标的ID赋予所述待跟踪目标,作为候选关键目标进行后续目标优选;若关联失败,则根据预设规则获取当前帧待跟踪目标和前一帧跟踪目标中的丢失跟踪目标;
进一步地,数据关联的过程包括:将所有的前一帧跟踪目标的坐标框均标记为原标记框Gi(Groundtruth Bound),将当前帧的所有待跟踪目标的坐标框均标记为候选框Cj(Candidate Bound),利用匈牙利算法的技术原则计算每一候选框与每一个原标记框之间的重叠率,即它们之间交并比(Intersection-over-Union,IoU),分别获取每一个当前帧的待跟踪目标与所有的前一帧跟踪目标之间最大的那个IoU值(最大重叠率),并判断该最大IoU值是否大于预设重叠阈值S,预设重叠阈值S根据实际验证获取,通常优选为0.5;若该最大IoU值大于预设重叠阈值S,则判定相应的待跟踪目标与前一帧跟踪目标之间关联成功,否则,判定关联失败。
进一步地,对于关联失败的当前帧的待跟踪目标,采用预设过滤器对匹配失败的待跟踪目标进行过滤,以滤除匹配失败的待跟踪目标中的错误目标,得到感兴趣目标作为候选关键目标进行后续目标优选。其中,所述预设过滤器为预先训练好的过滤器,为确保该预设过滤器的过滤精度,可以采用Resnet10卷积神经网络构建该预设过滤器,Resnet10卷积神经网络是一种现有的神经网络,本发明此处主要为该神经网络的转移应用,因此其构建以及训练过程在此不再赘述。
进一步地,对于关联失败的前一帧跟踪目标,需要先获取该匹配失败的前一帧跟踪目标的丢失时间,具体地,每次匹配失败会更新其匹配失败的次数即帧数:比如目标匹配失败的次数为15,即该目标丢失了15帧,丢失时间以帧为单位;然后判断该匹配失败的前一帧跟踪目标的丢失时间是否超出时间阈值,时间阈值根据实际验证获取,通常优选为10帧;若所述丢失时间未超出所述时间阈值,则直接将所述匹配失败的前一帧跟踪目标记为丢失跟踪目标;若所述丢失时间超出所述时间阈值,则说明前一帧跟踪目标已经至少连续10次匹配失败,由实际经验可知,该目标已经消失,因此将所述匹配失败的前一帧跟踪目标记为消失跟踪目标。
本发明通过在高速的多目标跟踪算法基础上,通过检测器获取当前帧中的待跟踪目标,并结合匈牙利算法,对待跟踪目标进行关联,在不引入ReID模型的情况下,大幅度降低了复杂度,提高跟踪速度,并且速度几乎不随跟踪目标的数量增加而增加。
S5:对同一ID值的目标图像进行优选:获取所述候选关键目标图像的评分,每个所述候选关键目标图像的评分通过待分析目标的位置和目标图像的质量评估加权得到,根据所述候选关键目标图像的加权评分更新最优目标。具体包括:对于当前帧中每一个候选关键目标,若上一帧中没有同一ID值的优选目标图像,则将当前帧中候选关键目标图像更新为当前帧的优选目标图像;若当前帧中候选关键目标图像的图像评分大于上一帧中同一ID值的优选目标图像的图像评分,则将当前帧中候选关键目标图像更新为当前帧的优选目标图像,否则将上一帧中同一ID值的优选目标图像作为当前帧的优选目标图像。
在具体介绍步骤S5之前,需要说明的是,在初始时刻(第一帧),对于视频帧图像需要初始化视频网格和初始化主观参考点。在本发明的一实施例中,如图3所示,展示了本发明实施例的视频帧中初始化视频网格和参考点的示意图,图中的线条表示网格,横向线条分别为rowi(i=0,1,…,4),纵向线条分别为colj(j=0,1,…,6),将视频帧划分为6*8网格,图中的蓝色点是根据实际经验选取的参考点。在本发明的其他实施例中,网格数量可以为其他数量,参考点也可以为其他位置,对此,在本发明实施例中,不做具体的限定。
具体地,获取所述候选关键目标图像的评分的具体步骤如下:
步骤1:根据视频网格和候选关键目标的空间信息判别网格是否捕获到目标。具体地,如附图3和附图4所示,判别所述候选关键目标的坐标框是否与视频帧网格线rowi和colj有触碰,若所述候选关键目标的坐标框与视频帧网格线有触碰,则记录所述候选关键目标信息,用于后期目标优选。其中,若所述候选关键目标的坐标框与同一视频帧网格线触碰,只记录第一次触碰时的所述候选关键目标信息,直至与其他视频网格线触碰,更新所述候选关键目标信息,这样极大降低了候选关键目标的数量,提高了目标优选的速度。
步骤2:利用预设过滤器对所述候选关键目标进行过滤,以滤除所述候选关键目标中的错误目标,得到感兴趣目标进行后续目标优选评分,其中预设过滤器采用Resnet10卷积神经网络进行构建。
步骤3:通过计算所述候选关键目标与所设参考点的距离得分和所述候选关键目标图像的质量评估获取所述候选关键目标图像的评分;
具体地,当所述候选关键目标的目标框与所述参考点距离越远,说明目标离图像帧边界越近,目标的一部分可能在画面外,则应当赋予此类候选目标较小的距离得分,所述候选关键目标的目标框与所述参考点距离值越小,距离得分越高。
具体地,所述候选关键目标图像的质量评估采用RankIQA算法,具体步骤如下:
步骤1:通过各种失真方法结合不同的失真强度对原始图片进行失真得到大量的失真图(rankings),采用这种方式产生的一系列失真图的等级(rank)是已知的,无须人工标注;本实施例中采用的失真方法和失真强度主要与开源数据集LIVE和LIVE-II数据集的失真参数相同。
步骤2:将排好序的原图和失真图传入孪生(Siamese)网络中训练,得到图片的高级特征进行比较,计算出损失值并进行反向传播,其中损失函数采用铰链损失函数(hingeloss),该损失函数主要用于大间隔分类,能够更容易准确地学习到图像的等级;
步骤3:训练好模型后,取Siamese网络的一支作为预训练模型,利用已知图像质量评价(IQA,Image Quality Assessment)信息的数据集进行微调(fine-turning),损失函数采用MSE。孪生网络存在两个分支,两个分支完全一致,共用同一个损失模型。第一次训练时,孪生网络输入一对图片及其对应的标签,两个分支网络的输出传递给损失模型,训练时损失模型共享权重,损失函数采用Rank Hinge Loss(排序铰链损失函数),采用反向传播计算模型所有参数的梯度,并用随机梯度下降(SGD)方法进行权重的更新:
L(x1,x2;θ)=max(0,f(x2;θ)-f(x1;θ)+ε)
其中,x表示图片,f(x,θ)表示图片x的输入特征,分别从两个分支网络的最后一层的激活中获得,θ为网络参数,ε表示边缘间隔(margin)。训练时,默认分支x1的质量高于分支x2,当网络的结果与默认排名一致时,梯度为0,否则降低排名较高的网络分支的梯度,提高排名较低的网络分支的梯度,最终得到损失函数对模型参数θ的梯度。
步骤4:采用训练好的模型得到所述候选关键目标图像的质量分数。
具体地,所述候选关键目标与所设参考点的距离得分记为SL,所述候选关键目标图像的质量分数记为SIQA,最终所述候选关键目标图像的评分S由SL和SIQA加权得到,S=λ1SL+λ2SIQA,在本发明实施例中,权重λ1和λ2分别取0.5;将当前帧候选关键目标的加权评分与前一帧的最优目标的评分进行对比,若当前帧候选关键目标的加权评分偏大,则更新最优目标图像,否则最优目标图像不变。本发明利用过滤器降低跟踪器输出目标中出现错误目标的情况,提高目标优选的精度;利用网格法和参考点以及图像的质量评估来选择候选关键目标整个运动轨迹中的最优图像,便于后续的结构化分析和以图搜图。
S6、获取输入的视频序列下一帧图像,返回步骤S3,直至所有视频序列检测结束,实现若干帧视频序列的多目标跟踪和目标图像优选。
本发明还提供一种存储介质,用于实现以上任一所述的一种高速多目标检测跟踪和目标图像优选方法,包括电子装置70。如附图5所示,该图为本发明提供的电子装置70的较佳实施例结构示意图。
其中,电子装置70可以是服务器、智能手机、平板电脑、便携计算机、桌上型计算机等具有运算功能的终端设备。
该电子装置70包括:处理器71以及存储器72。
存储器72包括至少一种类型的可读存储介质。至少一种类型的可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器等的非易失性存储介质。在一些实施例中,可读存储介质可以是该电子装置70的内部存储单元,例如该电子装置70的硬盘。在另一些实施例中,可读存储介质也可以是电子装置1的外部存储器,例如电子装置70上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
存储器72的可读存储介质通常用于存储安装于电子装置70的高速多目标检测跟踪程序73。存储器72还可以用于暂时地存储已经输出或者将要输出的数据。
处理器71也可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行存储器72中存储的程序代码或处理数据,例如高速跨摄像机多目标跟踪程序73等。
可选地,该电子装置70还可以包括用户接口,用户接口可以包括输入单元比如键盘(Keyboard)、语音输入装置比如麦克风(microphone)等具有语音识别功能的设备、语音输出装置比如音响、耳机等,可选地用户接口还可以包括标准的有线接口、无线接口。
可选地,该电子装置70还可以包括显示器,显示器也可以称为显示屏或显示单元。在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-Emitting Diode,OLED)触摸器等。显示器用于显示在电子装置70中处理的信息以及用于显示可视化的用户界面。
可选地,该电子装置70还可以包括触摸传感器。触摸传感器所提供的供用户进行触摸操作的区域称为触控区域。此外,这里的触摸传感器可以为电阻式触摸传感器、电容式触摸传感器等。而且,触摸传感器不仅包括接触式的触摸传感器,也可包括接近式的触摸传感器等。此外,触摸传感器可以为单个传感器,也可以为例如阵列布置的多个传感器。
此外,该电子装置70的显示器的面积可以与触摸传感器的面积相同,也可以不同。可选地,将显示器与触摸传感器层叠设置,以形成触摸显示屏。该装置基于触摸显示屏侦测用户触发的触控操作。
可选地,该电子装置70还可以包括射频(Radio Frequency,RF)电路,传感器、音频电路等等。
附图6为根据本发明实施例的高速多目标检测跟踪和目标优选程序的内部逻辑示意图,如附图6所示,高速多目标检测跟踪和目标优选程序73还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器72中,并由处理器71执行,以完成本发明。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段。参照图5所示,为图2中高速多目标检测跟踪和目标优选程序73较佳实施例的程序模块图。高速多目标检测跟踪和目标优选程序73可以被分割为:数据获取模块74、多目标跟踪模块75、评分模块76以及更新优选目标模块77;其中:
数据获取模块74,用于通过检测器获取监控视频中当前帧视图中的待跟踪目标,检测器在获取该待跟踪目标的同时还获取该待跟踪目标的位置、尺寸等信息,比如待跟踪目标的坐标框的位置坐标等等;
多目标跟踪模块75,用于采用多目标跟踪算法对所述待跟踪目标进行跟踪,结合匈牙利算法,通过一系列关联、赋值、标记等操作对待跟踪目标进行跟踪,并利用过滤器降低跟踪器输出目标中出现错误目标的情况;
评分模块76,用于获取所述候选关键目标图像的评分,每个所述候选关键目标图像的评分通过待分析目标的位置和目标图像的质量评估加权得到;
更新优选目标模块77,用于根据所述候选关键目标图像的加权评分更新最优目标。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。