掌桥专利:专业的专利平台
掌桥专利
首页

检测跟踪方法和装置

文献发布时间:2023-06-19 11:35:49


检测跟踪方法和装置

技术领域

本申请属于图像处理技术领域,具体涉及一种检测跟踪方法和装置、电子设备和存储介质。

背景技术

检测跟踪是计算机视觉中的一项重要任务,是指对视频序列中的目标状态进行持续推断的过程,其任务在于通过在视频的每一帧中定位目标。该技术在军事和民用方面都有着十分广泛的应用,例如军事方面包括无人飞行器、精确制导、空中预警等;民用方面包括人脸跟踪、移动机器人、智能交通等。

现有技术中,检测跟踪的准确率较低,难以应对实际中各个复杂检测场景的应用。

发明内容

本申请实施例的目的是提供一种检测跟踪方法和装置、电子设备和存储介质,能够解决现有技术中检测跟踪的准确率较低的问题。

为了解决上述技术问题,本申请是这样实现的:

第一方面,本申请实施例提供了一种检测跟踪方法,包括:

接收输入的目标检测帧;

通过第一检测模型或第二检测模型对所述目标检测帧进行检测,生成目标区域的检测框信息;

通过跟踪模型对之前的检测帧进行跟踪处理,生成所述目标区域的跟踪框信息;

基于所述检测框信息和跟踪框信息的对比结果,更新所述跟踪框信息,以跟踪所述目标区域。

第二方面,本申请实施例提供了一种检测跟踪装置,包括:

接收模块,用于接收输入的目标检测帧;

检测模块,用于通过第一检测模型或第二检测模型对所述目标检测帧进行检测,生成目标区域的检测框信息;

跟踪模块,用于通过跟踪模型对之前的检测帧进行跟踪处理,生成所述目标区域的跟踪框信息;

匹配模块,用于基于所述检测框信息和跟踪框信息的对比结果,更新所述跟踪框信息,以跟踪所述目标区域。

第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。

第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。

第五方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法。

在本申请实施例中,通过采用不同的检测模型对目标检测帧进行检测生成目标区域的检测框信息,以实现对两个不同的检测模型的检测结果的融合;并且采用交叉集成策略,通过跟踪模型对之前的检测帧进行跟踪处理,生成所述目标区域的跟踪框信息,并根据检测框信息和跟踪框信息的对比结果生成更新后的跟踪框信息,可以串联不同的检测模型的检测结果,使更新的跟踪框信息更为精确,从而提升检测跟踪的准确率。

附图说明

图1是本申请实施例的检测跟踪方法的流程示意图之一;

图2是本申请实施例的检测跟踪方法的流程示意图之二;

图3是本申请实施例的检测跟踪方法的应用实例示意图;

图4是本申请实施例的检测跟踪方法的流程示意图之三;

图5是本申请实施例的检测跟踪装置的结构示意图;

图6是本申请实施例的电子设备的结构示意图。

具体实施方式

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

本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。

下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的检测跟踪方法和装置、电子设备和存储介质进行详细地说明。

本申请实施例公开了一种检测跟踪方法,参见图1,包括:

步骤101、接收输入的目标检测帧。

需要说明的是,对于一个目标视频,是由多个视频帧组成,例如一秒显示60帧,则该目标视频的视频帧率为60FPS。

本实施例中,目标检测帧可以为每个视频帧,也可以为间隔设定帧数的视频帧。

由于对每个视频帧都进行检测会导致数据处理量巨大,所以检测帧一般为间隔设定帧数的视频帧。例如设置每间隔5帧对视频帧进行检测,即为检测帧为每6帧出现一次,以实现对目标区域的检测处理。两个检测帧之间的5帧则为跟踪帧,会持续对目标区域进行跟踪处理。

步骤102、通过第一检测模型或第二检测模型对所述目标检测帧进行检测,生成目标区域的检测框信息。

其中,第一检测模块和第二检测模型均需要训练得到。

训练阶段主要包括以下步骤:

步骤S1:通过数据集Data以及人工标注的检测框训练出第一检测模型a,接入步骤S2。

步骤S2:第一检测模型a对数据集Data进行目标检测生成检测框,该数据作为蒸馏数据集Datav的label,进入步骤S3。

步骤S3:通过数据集Data以及对应的人工标注检测框和蒸馏数据集Datav以及对应的检测框训练出第二检测模型,损失函数采用Loss=0.9Loss(Data)+0.1*Loss(Datav)。

通过预测到的检测框和人工标注的检测框对第二检测模型进行联合监督训练,缓解了交叉集成策略下框体抖动问题。

本实施例中,通过两个检测模型择一对检测帧进行检测,以实现对两个不同的检测模型的检测结果的融合。

具体地,步骤102包括:

步骤121、判断所述目标检测帧为奇数检测帧还是偶数检测帧。

具体地,需要对每个处理的目标视频帧进行计数,以确定检测帧为奇数检测帧还是偶数检测帧。

例如,第一个目标检测帧为奇数检测帧,第二个目标检测帧为偶数检测帧,第三个目标检测帧为奇数检测帧,……依次类推。

步骤122、若为奇数检测帧,通过第一检测模型对所述目标检测帧进行检测,生成目标区域的检测框以及对应的检测框信息。

其中,目标区域可以为人脸、动物、景观、建筑物等需要重点关注的区域。对于每个目标检测帧,目标区域可以为一个,也可以为多个。

具体地,检测框信息包括:生成目标检测帧的第一检测模型、处理时间、目标检测帧的位置、大小等等。

步骤123、若为偶数检测帧,通过第二检测模型对所述目标检测帧进行检测,生成目标区域的检测框以及对应的检测框信息。

具体地,检测框信息包括:生成目标检测帧的第二检测模型、处理时间、目标检测帧的位置、大小等等。

需要说明的是,第二检测模型和第一检测模型生成的检测框有可能一致,也有可能位置、大小有所不同。本实施例通过集成两个检测模型的结果,达到不增加耗时和功耗的情况下,提升准确率和召回率。

步骤103、通过跟踪模型对之前的检测帧进行跟踪处理,生成所述目标区域的跟踪框信息。

其中,跟踪模型为利用标注好的数据集预先训练得到,跟踪模型可以为OpenCV模型、RNN(Recurrent Neural Network,循环神经网络)模型等。

具体地,步骤103包括:通过跟踪模型对之前的检测帧进行跟踪处理,生成目标区域的跟踪框以及跟踪信息。

具体地,跟踪模型对之前的检测帧进行的跟踪处理,可以为对目标检测帧的前1个或多个检测帧进行跟踪处理得到,也可以为对目标检测帧之前的检测帧以及跟踪帧进行跟踪处理得到。

例如对于每一帧均为检测帧的情形,跟踪模型对每一检测帧进行跟踪处理,生成目标区域的跟踪框以及跟踪信息。

又例如对于每隔n个跟踪帧为一帧检测帧的情形,跟踪模型对目标检测帧的前一检测帧以及n个跟踪帧进行跟踪处理,生成目标区域的跟踪框以及跟踪信息。

其中,所述跟踪信息包括所述跟踪框对应的检测模型。

需要说明的是,跟踪模型生成的跟踪框,并不一定与生成该目标检测帧的检测模型相对应。例如,对该目标检测帧进行检测的为第一检测模型,但是对该目标检测帧进行跟踪处理的跟踪框为对应第二检测模型。

步骤104、基于所述检测框信息和跟踪框信息的对比结果,更新所述跟踪框信息,以跟踪所述目标区域。

本实施例中,更新跟踪框信息,最主要的是更新跟踪框的位置,可以使更新的跟踪框信息更为精确,从而提升检测跟踪的准确率。

具体地,参见图2,步骤104包括下述步骤201~205:

步骤201、判断所述目标区域的检测框和跟踪框的重合度是否大于阈值。

步骤202、若重合度大于阈值,基于目标区域的检测框信息以及所述跟踪信息,判断所述跟踪框和所述检测框是否对应同一检测模型,若是,执行步骤203,若否,执行步骤204。

本实施例中,重合度的计算可以通过计算IOU重合度来确定,即计算跟踪框和检测框的重叠面积占跟踪框和检测框并集的面积比例。

其中,重合度的阈值可以为根据实际需求而设置,例如设置重合度的阈值为0.7。

步骤203、根据第一更新关系更新所述跟踪框的位置。

第一更新关系的公式如下式(1)所示:

Tbox’=0.5*Tbox+0.5*Dbox (1)

其中,Tbox’为更新后的跟踪框的位置;

Tbox为更新前的跟踪框的位置;Dbox为检测框的位置。

步骤204、根据第二更新关系更新所述跟踪框的位置。

第二更新关系的公式如下式(2)所示:

Tbox’=0.9*Tbox+0.1*Dbox (2)

其中,Tbox’为更新后的跟踪框的位置;

Tbox为更新前的跟踪框的位置;Dbox为检测框的位置。

步骤205、若重合度小于等于阈值,生成更新后的跟踪框,并为对应的检测框分配新的身份标识。

对于重合度小于等于阈值的情况,则意味着跟踪框与检测框的差异较大,此种情况下,则根据检测框的位置和大小,重新生成跟踪框,以使跟踪框和检测框的目标区域一致。

通过上述步骤201~205,得到更新的跟踪框,以跟踪所述目标区域。

本实施例中,通过跟踪模型对之前的检测帧进行跟踪处理,生成所述目标区域的跟踪框信息,并根据检测框信息和跟踪框信息的对比结果生成更新后的跟踪框信息,可以串联不同的检测模型的检测结果,实现了能够在不增加耗时和功耗开销的情况下提升检测跟踪方法的准确率和召回率,解决了传统集成策略下耗时和功耗线性增长的缺点。

进一步地,在得到更新后的跟踪框后,所述方法还包括:将跟踪框信息输入至所述跟踪模型,生成下一检测帧中的跟踪框信息,以跟踪所述目标区域。

以每个检测帧后续的5个跟踪帧为例,由于每个跟踪帧中的目标对象的位置有可能变化,那么对于每个跟踪帧,跟踪模型要根据前一帧的跟踪框以及当前跟踪帧的目标对象的位置,确定跟踪框与目标对象的位置差异,以调整跟踪框的位置。

也就是说,对于每个视频帧,无论是检测帧还是跟踪帧,跟踪模块均会更新生成一次跟踪框,但是只有对于每个检测帧,检测模块才会生成检测框。

为了进一步地理解本实施例的方法,在一个具体实例中,参见图3和图4,本实施例的检测跟踪方法包括:

步骤401、接收输入的目标检测帧,判断目标检测帧为奇数检测帧还是偶数检测帧。

步骤402、若当前检测帧为奇数检测帧,通过第一检测模型对所述目标检测帧进行检测,生成目标区域的检测框以及对应的检测框信息。

步骤403、若当前检测帧为偶数检测帧,通过第二检测模型对所述目标检测帧进行检测,生成目标区域的检测框以及对应的检测框信息。

例如,若当前检测帧为第1个检测帧,则执行步骤402,若当前检测帧为第2个检测帧,执行步骤403。

步骤404、通过跟踪模型对之前的检测帧以及跟踪帧的跟踪处理,生成目标检测帧中的目标区域的跟踪框以及检测框信息。

步骤405、判断目标检测帧中的目标区域的检测框和跟踪框的重合度是否大于阈值,若是,执行步骤406,否则执行步骤409。

其中,阈值可以根据实际需求而设置,例如设置为0.7、0.6等等。

步骤406、基于所述目标区域的检测框信息以及跟踪框的跟踪信息,判断跟踪框和检测框是否对应同一检测模型,若是,执行步骤407,若否,执行步骤408。

步骤407、按照Tbox’=0.5*Tbox+0.5*Dbox的关系对跟踪框的位置进行更新,执行步骤410。

步骤408、按照Tbox’=0.9*Tbox+0.1*Dbox的关系对跟踪框的位置进行更新,执行步骤410。

步骤409、生成新的跟踪框保存对应的检测框的边框信息、检测模型信息,并分配新的身份标识,执行步骤410。

步骤410、将前一检测帧或跟踪帧中的跟踪框以及当前的跟踪帧输入至所述跟踪模型,生成当前的跟踪帧中的跟踪框,以跟踪所述目标区域,直至接收到下一个检测帧,执行步骤401。

本申请实施例的检测跟踪方法,通过采用不同的检测模型对目标检测帧进行检测生成目标区域的检测框信息,以实现对两个不同的检测模型的检测结果的融合;并且采用交叉集成策略,通过跟踪模型之前的检测帧进行跟踪处理,生成所述目标区域的跟踪框信息,并根据检测框信息和跟踪框信息的对比结果生成更新后的跟踪框信息,可以串联不同的检测模型的检测结果,使更新的跟踪框信息更为精确,从而提升检测跟踪的准确率。

另外,本实施例提供的模型集成策略,通过双检测模型集成达到不增加耗时和功耗的情况下,提升准确率和召回率;通过检测模型的检测框信息和跟踪模型的跟踪框信息的匹配来保证框体的平滑性。

需要说明的是,本申请实施例提供的检测跟踪方法,执行主体可以为检测跟踪装置,或者,或者该检测跟踪装置中的用于执行加载检测跟踪方法的控制模块。本申请实施例中以检测跟踪装置执行加载检测跟踪方法为例,说明本申请实施例提供的检测跟踪方法。

本申请实施例公开了一种检测跟踪装置,参见图5,包括:

接收模块501,用于接收输入的目标检测帧;

检测模块502,用于通过第一检测模型或第二检测模型对所述目标检测帧进行检测,生成目标区域的检测框信息;

跟踪模块503,用于通过跟踪模型对之前的检测帧进行跟踪处理,生成所述目标区域的跟踪框信息;

匹配模块504,用于基于所述检测框信息和跟踪框信息的对比结果,更新所述跟踪框信息,以跟踪所述目标区域。

可选地,所述检测模块502,具体用于:

判断所述目标检测帧为奇数检测帧还是偶数检测帧;

若为奇数检测帧,通过第一检测模型对所述目标检测帧进行检测,生成目标区域的检测框以及对应的检测框信息;

若为偶数检测帧,通过第二检测模型对所述目标检测帧进行检测,生成目标区域的检测框以及对应的检测框信息。

可选地,所述跟踪模块503,具体用于:通过跟踪模型对所述之前的检测帧进行跟踪处理,生成所述目标区域的跟踪框以及跟踪信息;

其中,所述跟踪信息包括所述跟踪框对应的检测模型。

可选地,所述匹配模块504,具体用于:

判断所述目标区域的检测框和跟踪框的重合度;

若重合度大于阈值,基于所述目标区域的检测框信息以及所述跟踪信息,判断所述跟踪框和所述检测框是否对应同一检测模型,若是,根据第一更新关系更新所述跟踪框的位置,若否,根据第二更新关系更新跟踪框的位置;

若重合度小于等于阈值,生成更新后的跟踪框,并为对应的检测框分配新的身份标识。

可选地,所述装置还包括:跟踪框更新模块,用于将所述跟踪框信息输入至所述跟踪模型,生成下一检测帧中的跟踪框信息,以跟踪所述目标区域。

本申请实施例中的检测跟踪装置可以是装置,也可以是终端中的部件、集成电路、或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personaldigital assistant,PDA)等,非移动电子设备可以为服务器、网络附属存储器(NetworkAttached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。

本申请实施例中的检测跟踪装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。

本申请实施例提供的检测跟踪装置能够实现图1至图4的方法实施例中检测跟踪装置实现的各个过程,为避免重复,这里不再赘述。

在本申请实施例的检测跟踪装置,通过采用不同的检测模型对目标检测帧进行检测生成目标区域的检测框信息,以实现对两个不同的检测模型的检测结果的融合;并且采用交叉集成策略,通过跟踪模型之前的检测帧进行跟踪处理,生成所述目标区域的跟踪框信息,并根据检测框信息和跟踪框信息的对比结果生成更新后的跟踪框信息,可以串联不同的检测模型的检测结果,使更新的跟踪框信息更为精确,从而提升检测跟踪的准确率。

可选地,本申请实施例还提供一种电子设备,包括处理器610,存储器609,存储在存储器609上并可在所述处理器610上运行的程序或指令,该程序或指令被处理器610执行时实现上述检测跟踪方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

需要注意的是,本申请实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。

图6为实现本申请实施例的一种电子设备的硬件结构示意图。

该电子设备600包括但不限于:射频单元601、网络模块602、音频输出单元603、输入单元604、传感器605、显示单元606、用户输入单元607、接口单元608、存储器609、以及处理器610等部件。

本领域技术人员可以理解,电子设备600还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器610逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图6中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。

其中,处理器610,用于:

接收输入的目标检测帧;

通过第一检测模型或第二检测模型对所述目标检测帧进行检测,生成目标区域的检测框信息;

通过跟踪模型对之前的检测帧进行跟踪处理,生成所述目标区域的跟踪框信息;

基于所述检测框信息和跟踪框信息的对比结果,更新所述跟踪框信息,以跟踪所述目标区域。

本申请实施例的电子设备,通过采用不同的检测模型对目标检测帧进行检测生成目标区域的检测框信息,以实现对两个不同的检测模型的检测结果的融合;并且采用交叉集成策略,通过跟踪模型之前的检测帧进行跟踪处理,生成所述目标区域的跟踪框信息,并根据检测框信息和跟踪框信息的对比结果生成更新后的跟踪框信息,可以串联不同的检测模型的检测结果,使更新的跟踪框信息更为精确,从而提升检测跟踪的准确率。

可选地,处理器610,还用于:判断目标检测帧为奇数检测帧还是偶数检测帧;

若为奇数检测帧,通过第一检测模型对所述目标检测帧进行检测,生成目标区域的检测框以及对应的检测框信息;

若为偶数检测帧,通过第二检测模型对所述目标检测帧进行检测,生成目标区域的检测框以及对应的检测框信息。

可选地,处理器610,还用于:通过跟踪模型对之前的检测帧进行跟踪处理,生成目标区域的跟踪框以及跟踪信息;其中,所述跟踪信息包括所述跟踪框对应的检测模型。

可选地,处理器610,还用于:

判断所述目标区域的检测框和跟踪框的重合度;

若重合度大于阈值,基于所述目标区域的检测框信息以及所述跟踪信息,判断所述跟踪框和所述检测框是否对应同一检测模型,若是,根据第一更新关系更新所述跟踪框的位置,若否,根据第二更新关系更新跟踪框的位置;

若重合度小于等于阈值,生成更新后的跟踪框,并为对应的检测框分配新的身份标识。

可选地,处理器610,还用于:将所述跟踪框信息输入至所述跟踪模型,生成下一检测帧中的跟踪框信息,以跟踪目标区域。

应理解的是,本申请实施例中,输入单元604可以包括图形处理器(GraphicsProcessing Unit,GPU)6041和麦克风6042,图形处理器6041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元606可包括显示面板6061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板6061。用户输入单元607包括触控面板6071以及其他输入设备6072。触控面板6071,也称为触摸屏。触控面板6071可包括触摸检测装置和触摸控制器两个部分。其他输入设备6072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。存储器609可用于存储软件程序以及各种数据,包括但不限于应用程序和操作系统。处理器610可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器610中。

本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述检测跟踪方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。

本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述检测跟踪方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。

上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

相关技术
  • 运动物体检测装置、运动物体检测方法、运动物体检测程序、运动物体跟踪装置、运动物体跟踪方法以及运动物体跟踪程序
  • 运动目标实时检测与跟踪方法及目标检测装置
技术分类

06120112985341