物体检测跟踪方法和检测跟踪装置与流程

文档序号:18633385发布日期:2019-09-11 21:55阅读:204来源:国知局
物体检测跟踪方法和检测跟踪装置与流程

本发明涉及图像处理技术领域,具体地涉及一种物体检测跟踪方法和检测跟踪装置。



背景技术:

在移动互联网时代,手机、pad等多种移动设备成为人们生活中必不可少的物品。得益于摩尔定理,移动端的处理器在近些年计算能力有着大幅的提升,这使得将深度学习算法部署在移动端设备上进行推理变得越来越可行。如现在比较流行的小视频app,集成了人像分割、人脸检测、手势识别等多个深度学习算法,使app的可玩性大大提高。其中人脸检测、手势识别等算法都使用到了物体检测及跟踪技术,是诸多深度学习方法中的基础技术。然而,虽然深度学习的识别精度远超传统的视觉算法,但在计算复杂度上通常也是传统算法的数倍,因此,在移动端部署深度学习算法仍存在着极大挑战性。

现有技术中主要通过以下方案来提高深度学习在图像处理过程中物体检测跟踪的速度:1、使用检测器逐帧进行检测得到目标物体的边界框,通过比较帧间框的位置来对物体进行跟踪;2、先使用检测器获得目标物体的边界框,然后通过相关滤波算法来对物体进行跟踪。但是这两种方案都会存在物体跟踪的速度较慢的问题,以及物体在画面中的大小发生的变化较大时,物体跟踪会失效的问题。



技术实现要素:

本发明的目的是为了克服现有技术存在的物体跟踪的速度较慢,以及物体在画面中的大小发生的变化较大时,物体跟踪会失效的问题,提供一种物体检测跟踪方法和物体检测跟踪装置。

为了实现上述目的,本发明一方面提供一种物体检测跟踪方法,所述物体检测跟踪方法包括:获取需要检测和跟踪的图像;使用预先构建的物体检测模型,从所述图像中获取目标物体;以及使用预先构建的物体跟踪模型,对所述目标物体进行跟踪,其中,所述物体跟踪模型的处理速度大于所述物体检测模型的处理速度。

优选的,所述从所述图像中获取目标物体包括:判断所述图像是否为关键帧图像;在所述图像为关键帧图像时,使用预先构建的物体检测模型,从所述图像中获取一个或多个目标物体;以及截取所述目标物体的边界框,并将所述目标物体和所述目标物体的所述边界框存放至目标物体列表中。

优选的,述将所述目标物体存放至目标物体列表中包括:在检测到每一目标物体时,与之前存储的所述目标物体列表中的所述目标物体进行一一匹配;以及计算所检测到的所述目标物体与已存储的所述目标物体列表中的所述目标物体的交并比,并在所述交并比大于设定阈值时,判定所检测到的所述目标物体为所述目标物体列表中的所述目标物体,以及在所述交并比小于或等于所述设定阈值时,判定所检测到的所述目标物体为新的目标物体,并将所述目标物体添加至所述目标物体列表中。

优选的,所述对所述目标物体进行跟踪包括:将所述边界框按指定比例放大;以及根据所放大后的所述边界框截取所述图像的原图,使用预先构建的物体跟踪模型,对所述原图中的所述目标物体进行跟踪。

优选的,所述物体检测模型和所述物体跟踪模型分别为采用以下算法中的一者预先构建的模型:ssd算法、fastrcnn算法、fasterrcnn算法。

优选的,所述物体检测模型和所述物体跟踪模型的处理速度与以下因素中的至少一者相关联:计算量、输入分辨率。

相应地,本发明实施例还提供一种物体检测跟踪装置,所述物体检测跟踪装置包括:获取模块,用于获取需要检测和跟踪的图像;检测模块,用于使用预先构建的物体检测模型,从所述图像中获取目标物体;以及跟踪模块,用于使用预先构建的物体跟踪模型,对所述目标物体进行跟踪,其中,所述物体跟踪模型的处理速度大于所述物体检测模型的处理速度。

优选的,所述检测模块包括:判断子模块,用于判断所述图像是否为关键帧图像;识别子模块,用于在所述图像为关键帧图像时,使用预先构建的物体检测模型,从所述图像中获取一个或多个目标物体;以及存储子模块,用于截取所述目标物体的边界框,并将所述目标物体和所述目标物体的所述边界框存放至目标物体列表中。

优选的,所述检测模块包括:比较子模块,用于在检测到每一目标物体时,与之前存储的所述目标物体列表中的所述目标物体进行一一匹配;以及确认子模块,用于计算所检测到的所述目标物体与已存储的所述目标物体列表中的所述目标物体的交并比,并在所述交并比大于设定阈值时,判定所检测到的所述目标物体为所述目标物体列表中的所述目标物体,以及在所述交并比小于或等于所述设定阈值时,判定所检测到的所述目标物体为新的目标物体,并将所述目标物体添加至所述目标物体列表中。

优选的,所述跟踪模块包括:边框子模块,用于将所述边界框按指定比例放大;以及跟踪子模块,用于根据所放大后的所述边界框截取所述图像的原图,使用预先构建的物体跟踪模型,对所述目标物体进行跟踪。

优选的,所述检测模块和所述跟踪模块分别采用以下算法中的一者:ssd算法、fastrcnn算法、fasterrcnn算法。

优选的,所述物体检测模型和所述物体跟踪模型的处理速度与以下因素中的至少一者相关联:计算量、输入分辨率。

相应地,本发明实施例还提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得机器执行上述物体检测跟踪方法。

相应地,本发明实施例还提供一种处理器,用于运行程序,其中,所述程序被运行时用于执行上述物体检测跟踪方法。

通过上述技术方案,本发明处理速度不同的两个模型分别进行物体检测和物体跟踪,物体跟踪模型的处理速度大于物体检测模型的速度,以此实现对指定的单个或多个目标的精准检测及快速跟踪。

本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:

图1是本发明实施例提供的物体检测跟踪方法的流程图;

图2是本发明实施例提供的物体检测跟踪装置的框图。

附图标记说明

1、获取模块2、检测模块3、跟踪模块

具体实施方式

以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。

图1是本发明实施例提供的物体检测跟踪方法的流程图,如图1所示,可以包括如下步骤:

s100、获取需要检测和跟踪的图像。

优选的,在视频图照片拍摄过程中,从摄像头中读取到多帧图像作为需要检测和跟踪的图像。

需要说明的是,本发明的物体检测跟踪方法主要应用于利用移动端(例如手机、pad等移动终端设备)进行图像和视频拍摄的过程中,但是也可以应用于其他适用的场景,例如专业拍摄设备(例如摄像机等),本发明对此不作限定。

s200、从图像中获取目标物体。

优选的,在获取到需要检测和跟踪的图像后,首先判断该图像是否为关键帧图像,其中关键帧图像可以根据实际情况定义,例如定义每隔10帧认为该帧图像为关键帧图像,此处关键帧图像的定义,主要根据物体检测精确度、图像分辨率大小等要求来确定。

具体来讲,当从摄像头中读取到一帧图像时,首先要确定该帧图像是否为关键帧。物体检测模型选择精度较高的检测模型,因为一般情况下检测精度较高的检测模型计算量较大、输入分辨率较高,相应的,其处理速度会比较慢,因此,本发明中选择丢弃大多数的帧图像,而只针对根据实际需求设定的关键帧图像进行推理检测过程。

其次,在确定所获取到的图像为关键帧图像时,使用预先构建的物体检测模型,从该图像中获取一个或多个目标物体,截取目标物体的边界框,并将目标物体和目标物体的所述边界框存放至目标物体列表中。

其中,物体检测模型为采用以下算法中的一者预先构建的模型:ssd算法、fastrcnn算法、fasterrcnn算法。以上三种算法都是卷积神经网络技术中的算法,具体采用哪种算法来构建物体检测模型和物体跟踪模型,可以根据物体检测跟踪的实际需求而定,本发明对此不作限定。在本发明的优选实施例中,物体检测模型为采用fastrcnn算法预先构建的物体检测模型。

举例说明,在某次拍摄过程中,需要获取图像中的人脸、苹果、香蕉,那么在确定当前获取到的图像为关键帧图像时,使用预先构建的物体检测模型,自动从该图像中识别出图像中的人脸、苹果、香蕉作为目标物体,并将目标物体和目标物体的边界框存放至目标物体列表中。

进一步的,在检测到每一目标物体时,与之前存储的目标物体列表中的目标物体进行一一匹配,并计算所检测到的所述目标物体与已存储的目标物体列表中的目标物体的交并比。在交并比大于设定阈值时,判定所检测到的目标物体为目标物体列表中已有的目标物体,在交并比小于或等于设定阈值时,判定所检测到的目标物体为新的目标物体,并将所检测到的新的目标物体添加至目标物体列表中。

具体来讲,当检测到目标物体后,需要将从关键帧图像中检测到的所有目标物体以及目标物体的边界框都存放到一个目标物体列表中备用。如果在当前关键帧图像之前,已经根据其他关键帧图像中获取到的目标物体形成目标物体列表,则需要将当前从关键帧图像中获取到的目标物体的边界框与目标物体列表中的目标物体边界框进行一一匹配。匹配的过程即为计算交并比iou(intersection-over-union,交并比,是产生的候选框与原标记框的交叠率,即它们的交集与并集的比值,最理想情况是完全重叠,即交并比为1)的过程。如果所检测到的目标物体边界框与之前存储的目标物体列表中的某一个边界框交并比大于设定阈值,则认为两个边界框是同一个目标物体的边界框,否则所检测到的目标物体为新的目标物体,需要将该目标物体和其边界框加入到目标物体列表中。

举例说明,在某次拍摄过程中,需要检测并跟踪图像中的人脸,而每一帧图像中出现的人脸的个数可能会有所不同,例如在开始拍摄的49帧图像中有两个人脸存在,从第50帧图像开始,有三个人出现在摄像头下,图像中出现了三个人脸。以每10帧图像中的第一帧图像为关键帧图像为例,并假设前49帧图像中的两个确定目标物体-人脸,在第50帧图像中出现新的目标物体-第三个人脸。则在前4个关键帧图像中所获取到的目标物体均为两个,在获取到第51帧图像时,首先会根据此处对关键帧图像的定义,判定第51帧图像为关键帧图像,从该图像中获取目标物体,并将从该图像中获取到的目标物体的边界框和与之前存储的目标物体列表中的目标物体的边界框进行一一匹配,将所检测到的第三个目标物体存储至目标物体列表中。

s300、对目标物体进行跟踪

优选的,使用预先构建的物体跟踪模型,对目标物体进行跟踪。其中,物体跟踪模型为采用以下算法中的一者预先构建的模型:ssd算法、fastrcnn算法、fasterrcnn算法。以上三种算法都是卷积神经网络技术中的算法,具体采用哪种算法来构建物体检测模型和物体跟踪模型,可以根据物体检测跟踪的实际需求而定,本发明对此不作限定。

需要说明的是,物体检测模型和物体跟踪模型的处理速度主要与以下因素中的一者或多者相关:计算量、输入分辨率。计算量较大,相对来说处理速度会比较慢,同样的,输入分辨率较高的话,需要处理的数据会比较多,处理速度也会稍微慢一些,但是计算量较大、输入分辨率高的时候,检测精度会较高。在本发明中,物体检测模型是为了得到较为精确的目标物体,因此在本发明的优选实施例中,采用选择计算量稍大、而相对来说检测精度较高的检测算法来构建物体检测模型。而物体跟踪模型是为了实现对目标物体的实时跟踪,需要快速跟踪目标物体,因此在在本发明的优选实施例中,采用计算量很小、精度相对低的检测算法来构建物体跟踪模型。

在本发明的优选实施例中,物体跟踪模型为采用ssd算法预先构建的物体检测模型。

具体来讲,当完成物体检测后,物体跟踪模型会在获取每一帧图像时,从之前保存的目标物体列表中读取目标物体及其边界框,并将目标物体的边界框放大指定比例的倍数(例如:扩大1.2-1.5倍),根据所放大后的边界框截取图像的原图作为物体跟踪模型的输入,使用预先构建的物体跟踪模型,对原图中的目标物体进行跟踪。物体跟踪模型进行推理后可以重新得到一个新的边界框用于更新该目标物体的当前位置。

本发明中物体检测跟踪方法首先使用检测精度较高、分辨率也较高的检测模型来检测出图像中的每个目标物体,然后根据截取每个目标物体的边界框,并将其适当扩大,以截取出目标物体出框部分和其周围特征内容,然后通过精度和分辨率较低,但跟踪速度较快的跟踪模型对目标物体进行实时跟踪,达到稳定、鲁棒、高效地对图像中所有目标物体进行检测和跟踪的目的。

相对于现有技术中对图像进行逐帧检测以对物体进行检测和跟踪的方法,在需要跟踪的目标物体数量较小时,本发明具有速度快和稳定性高等显著优势。而相对于现有技术中的滤波算法(例如:卡尔曼滤波算法kfc等),本发明能够在很大程度上克服目标物体的位置变化比较剧烈时,物体跟踪的速度和准确度。

以下以具体应用示例简单说明物体检测模型和物体跟踪模型的构建过程。

本发明中物体检测模型和物体跟踪模型是基于卷积神经网络技术中的算法构建的,卷积神经网络技术是一种深度学习,而且深度学习过程中的检测过程都需要大量的标注数据。因此,首先,针对一种特定的场景(例如:旅游场景拍摄中人物图像的检测和跟踪),收集大量的标注数据,数据通常为包含需要检测的目标物体(例如:人脸)的图片,数据量的多少可以根据不同的需求设置。然后,将所收集的图片中出现的目标物体进行标注(例如:利用矩形框标注目标物体的边界框并标记出目标物体类型,每存在一个物体就需要标注一个边界框),至此,用于物体检测模型的数据准备完毕。最后,利用合适的算法(例如:fastrcnn)进行物体检测模型的构建。

此外,在上述用于物体检测模型的数据基础上,将目标物体的边界框扩大适当的倍数(例如:扩大1.2-1.5倍),将目标物体的原图作为一个单独的图片保存下来,作为物体跟踪模型的输入数据,利用合适的算法(例如:ssd算法)进行物体跟踪模型的构建。

图2是本发明实施例提供的物体检测跟踪装置的框图,如图2所示,本发明实施例提供的物体检测跟踪装置包括:获取模块1,用于获取需要检测和跟踪的图像;检测模块2,用于使用预先构建的物体检测模型,从图像中获取目标物体;以及跟踪模块3,用于使用预先构建的物体跟踪模型,对所述目标物体进行跟踪,其中,物体跟踪模型的处理速度大于物体检测模型的处理速度。

优选的,检测模块2包括:判断子模块(图中未示出),用于判断图像是否为关键帧图像;识别子模块(图中未示出),用于在图像为关键帧图像时,使用预先构建的物体检测模型,从图像中获取一个或多个目标物体;以及存储子模块(图中未示出),用于截取目标物体的边界框,并将目标物体和目标物体的边界框存放至目标物体列表中。

优选的,检测模块2包括:比较子模块(图中未示出),用于在检测到每一目标物体时,与之前存储的目标物体列表中的目标物体进行一一匹配;以及确认子模块(图中未示出),用于计算所检测到的目标物体与已存储的目标物体列表中的目标物体的交并比,并在交并比大于设定阈值时,判定所检测到的目标物体为目标物体列表中的目标物体,以及在交并比小于或等于设定阈值时,判定所检测到的目标物体为新的目标物体,并将目标物体添加至目标物体列表中。

优选的,跟踪模块3包括:边框子模块(图中未示出),用于将边界框按指定比例放大;以及跟踪子模块(图中未示出),用于根据所放大后的边界框截取图像的原图,使用预先构建的物体跟踪模型,对目标物体进行跟踪。

优选的,检测模块和跟踪模块分别采用以下算法中的一者:ssd算法、fastrcnn算法、fasterrcnn算法。

优选的,物体检测模型和物体跟踪模型的处理速度与以下因素中的一者或多者相关联:计算量、输入分辨率。

有关本发明实施例提供的物体检测跟踪装置的具体细节及益处可参阅上述针对物体检测跟踪方法的描述,于此不再赘述。

相应地,本发明实施例还提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得机器执行上述物体检测跟踪方法。

相应地,本发明实施例还提供一种处理器,用于运行程序,其中,程序被运行时用于执行上述物体检测跟踪方法

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

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