CN108985162B - 目标实时跟踪方法、装置、计算机设备及存储介质 - Google Patents
目标实时跟踪方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN108985162B CN108985162B CN201810594665.8A CN201810594665A CN108985162B CN 108985162 B CN108985162 B CN 108985162B CN 201810594665 A CN201810594665 A CN 201810594665A CN 108985162 B CN108985162 B CN 108985162B
- Authority
- CN
- China
- Prior art keywords
- target
- tracking
- tracking target
- similarity
- current
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/41—Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
- G06V20/42—Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items of sport video content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/30—Scenes; Scene-specific elements in albums, collections or shared content, e.g. social network photos or video
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种目标实时跟踪方法、装置、计算机设备及存储介质。该目标实时跟踪方法包括:获取原始视频数据;从原始视频数据中选取基准图像并进行目标检测,获取至少一个基准跟踪目标和对应的基准目标特征向量;对当前图像进行目标检测,获取至少一个当前跟踪目标和对应的当前目标特征向量;基于基准目标特征向量和当前目标特征向量,确定每一基准跟踪目标的特征相似度;若特征相似度小于预设相似度,则确定特征相似度对应的基准跟踪目标在当前图像中为丢失跟踪目标;若基准跟踪目标在当前图像之后的连续N帧图像均为丢失跟踪目标,则释放基准跟踪目标。该目标实时跟踪方法能对丢失跟踪目标进行判定并释放,提高目标跟踪的准确性和效率。
Description
技术领域
本发明涉及目标跟踪技术领域,尤其涉及一种目标实时跟踪方法、装置、计算机设备及存储介质。
背景技术
目标跟踪是计算机视觉研究领域的热点之一,过去几十年以来,目标跟踪的研究取得了长足的发展。当前目标跟踪领域主要采用单目标长时间跟踪(Tracking-Learning-Detection,以下简称TLD)算法和核相关滤波(Kernel Correlation Filter,以下简称KCF)算法进行目标跟踪处理。其中,TLD算法主要由追踪器、检测器和机器学习模块构成,跟踪过程为:追踪器预测跟踪物体的位置,检测器检测图像中所有物***置后将最可信位置发给机器学习模块并更新追踪器中物体的位置,机器学习模块根据追踪器和检测器发送的位置训练分类器,改善检测器的精度。KCF算法是在追踪过程中训练一个目标检测器,使用目标检测器去检测下一帧预测位置是否为目标,获取新检测结果,再使用新检测结果去更新目标检测器。这两种算法都有自身无法克服的缺点:1.TLD算法无法解决占用***资源大,效率低等问题;2.KCF算法无法解决遮挡问题,一旦被跟踪物体被遮挡,则被跟踪物体丢失,无法进行后续跟踪。
发明内容
本发明实施例提供一种目标实时跟踪方法、装置、计算机设备及存储介质,以解决当前目标跟踪中效率低和对丢失目标的处理不完善的问题。
一种目标实时跟踪方法,包括:
获取原始视频数据,所述原始视频数据包括至少两帧图像;
从所述原始视频数据中选取基准图像,对所述基准图像进行目标检测,获取至少一个基准跟踪目标和对应的基准目标特征向量;
对所述原始视频数据中的当前图像进行目标检测,获取至少一个当前跟踪目标和对应的当前目标特征向量;
计算任一所述基准目标特征向量与所有当前目标特征向量的特征相似度,以确定所述基准目标特征向量对应的目标相似度;
若所述目标相似度小于预设相似度,则确定所述目标相似度对应的基准跟踪目标在所述当前图像中为丢失跟踪目标;
若所述基准跟踪目标在所述当前图像之后的连续N帧图像均为丢失跟踪目标,则释放所述基准跟踪目标。
一种目标实时跟踪装置,包括:
原始视频数据获取模块,用于获取原始视频数据,所述原始视频数据包括至少两帧图像;
基准跟踪目标检测模块,用于选取所述原始视频数据中的任一帧图像作为基准图像,对所述基准图像进行目标检测,获取至少一个基准跟踪目标和对应的基准目标特征向量;
当前跟踪目标检测模块,用于对所述原始视频数据中的当前图像进行目标检测,获取至少一个当前跟踪目标和对应的当前目标特征向量;
特征相似度获取模块,用于计算任一所述基准目标特征向量与所有当前目标特征向量的特征相似度,以确定所述基准目标特征向量对应的目标相似度;
丢失跟踪目标判定模块,用于若所述目标相似度小于预设相似度,则确定所述目标相似度对应的基准跟踪目标在所述当前图像中为丢失跟踪目标;
基准跟踪目标释放模块,用于若所述基准跟踪目标中所述当前图像之后的连续N帧图像均为丢失跟踪目标,则释放所述基准跟踪目标。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述目标实时跟踪方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述目标实时跟踪方法的步骤。
上述目标实时跟踪方法、装置、计算机设备及存储介质,从原始视频数据中选取基准图像进行目标检测,获取基准跟踪目标和对应的基准目标特征向量,可有助于增强监控的灵活性;对当前图像进行目标检测,获取当前跟踪目标和对应的当前目标特征向量,基于基准目标特征向量和当前目标特征向量获取目标相似度,将目标相似度与预设相似度进行比较,当目标相似度小于预设相似度时,则确定目标相似度对应的基准跟踪目标在当前图像中为丢失跟踪目标,计算过程简单方便,有助于提高跟踪效率;若基准跟踪目标在当前图像之后的连续N帧图像均为丢失跟踪目标,则释放基准跟踪目标,减少对***资源的占用,提高目标跟踪的效率和准确性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中目标实时跟踪方法的一应用环境图;
图2是本发明一实施例中目标实时跟踪方法的一流程图;
图3是图2中步骤S20的一流程图;
图4是图2中步骤S40的一流程图;
图5是本发明一实施例中目标实时跟踪方法的一流程图;
图6是图5中步骤S82的一流程图;
图7是本发明一实施例中目标实时跟踪装置的一示意图;
图8是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的目标实时跟踪方法,可应用在如图1的应用环境中,即该目标实时跟踪方法应用在图1所示的监控***中,该监控***包括服务器、与服务器通过网络相连的至少一个监控终端、以及与服务器通过网络相连的至少一个摄像头终端。其中,该监控终端为监控人员对目标进行跟踪处理所采用的终端。任一监控终端可通过WiFi、3G、4G和5G等无线网络或者有线网络中的任一种与服务器进行通信。该摄像头终端是用于采集视频数据的终端,任一摄像头终端通过WiFi、3G、4G和5G等无线网络或者有线网络中的任一种与服务器进行通信。监控终端可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。摄像头终端可以包含一个摄像头,也可以包括多个摄像头。
在一个实施例中,以该目标实时跟踪方法应用于图1中的服务器为例进行说明,如图2所示,该目标实时跟踪方法包括如下步骤:
S10:获取原始视频数据,原始视频数据包括至少两帧图像。
原始视频数据是指未经处理的视频数据,具体是任一摄像头终端采集并上传到服务器的视频数据。视频数据是指连续的图像序列,其实质是由一帧帧连续的图像构成的。具体地,服务器获取到的原始视频数据包括至少两帧图像,帧是组成视频的最小视觉单位,是一幅静态的图像,将时间上连续的帧序列合成到一起便形成动态的视频数据。
本实施例中,每一摄像头终端携带有一摄像头ID,该摄像头ID是用于识别摄像头终端的唯一标识,该摄像头ID具体可以为摄像头终端的出厂标识。每一摄像头终端采集视频数据并通过网络上传到服务器时,所上传的视频数据均携带有对应的摄像头ID,以便识别视频数据的来源。当监控人员通过监控终端进行目标监控时,可以根据监控需求向服务器发送相应的监控请求,该监控请求携带摄像头ID,该摄像头ID是所要监控区域的摄像头终端的标识。具体地,服务器在获取至少一个摄像头终端发送的视频数据之后,将所有视频数据与其对应的摄像头ID关联存储,以便后续基于摄像头ID查找到相应的视频数据。服务器在获取监控终端发送的监控请求时,可基于该监控请求中的摄像头ID查询获取相应的原始视频数据,以便基于该原始视频数据进行目标跟踪处理。
进一步地,服务器在获取到原始视频数据后,采用视频编辑工具对原始视频数据进行分帧处理,获取至少两帧图像。视频编辑工具是用于对视频进行分帧、剪辑和合并等编辑操作的工具,常用的视频编辑工具有会声会影、Pr、Vegas和Edius等。例如,服务器获取到时长为10秒的原始视频数据后,可采用视频编辑工具Pr对原始视频数据进行分帧处理,将每秒原始视频数据分成30帧图像,共获取300帧图像。
S20:从原始视频数据中选取基准图像,对基准图像进行目标检测,获取至少一个基准跟踪目标和对应的基准目标特征向量。
基准图像是指开始目标跟踪时,用于检测并确定基准跟踪目标的图像。基准图像可以是对原始视频数据进行分帧处理后得到的至少两帧图像中的第一帧图像,也可以是监控人员通过监控终端对分帧处理后的所有帧图像中选定的任一帧图像。目标检测,也叫目标提取,是一种基于目标几何和统计特征的图像分割,它将目标的分割和识别合二为一,其准确性和实时性是整个***的一项重要能力。目标检测是对帧图像进行识别,检测出图像中的特定目标(例如:行人或者动物)。基准跟踪目标是指用于对基准图像进行目标检测之后确定的跟踪目标,该基准跟踪目标是用于作为参照物的跟踪目标。例如,可以将原始视频数据的第一帧图像作为基准图像,对该基准图像进行目标检测后获取的特定目标作为基准跟踪目标。可以理解地,服务器在对基准图像进行目标检测之后,可获取至少一个基准跟踪目标,即可以获取一个基准跟踪目标,也可以获取多个基准跟踪目标。
具体地,服务器在检测到基准跟踪目标后,为每一基准跟踪目标创建一对监控线程,监控线程包括跟踪线程和验证线程。监控线程是用于实时监控基准跟踪目标的线程,跟踪线程用于对基准跟踪目标对应的基准目标特征向量的提取并维护基准目标特征向量队列的线程。验证线程是用于进行特征向量之间的比对及更新对比结果的线程。本实施例中,基准目标特征向量的提取与对比分别通过跟踪线程和验证线程进行监控,可有助于提高目标跟踪的效率,在验证线程中,根据对比结果更新跟踪线程中基准目标特征向量,提高了目标跟踪的准确性。
基准目标特征向量是表征基准跟踪目标在基准图像中的基本特征的行向量。行向量是一个1×n的矩阵,即矩阵由一个含有n个元素的行所组成的向量。例如,基准目标特征向量可以通过提取基准图像中的像素值获得,本实施例中,基准图像可以是数字图像,即二维图像用有限数字数值表示其对应的像素值,可以用数字计算机或数字电路存储和处理的图像,由数组或矩阵表示。一帧图像可以看成是每个像素都是颜色值的矩阵,表示基本特征就是将矩阵每行连起来变成一个行向量。例如,每一帧图像都是由8×8像素构成,每个像素的值是0-16,白色是0,黑色是16,将8×8矩阵转换成一个64维行向量来创建一个特征向量。服务器在检测到基准图像中的基准跟踪目标之后,可根据该基准跟踪目标在基准图像中获取基准目标特征向量。
S30:对原始视频数据中的当前图像进行目标检测,获取至少一个当前跟踪目标和对应的当前目标特征向量。
当前图像是指目标跟踪过程中,用于检测目标并跟踪基准跟踪目标当前位置的图像。当前图像是在原始视频数据中选定的基准帧图像之后的下一帧图像或者之后第N帧图像,N为大于1的整数。当前跟踪目标是用于对当前图像进行目标检测之后确定的跟踪目标。本实施例中,当前跟踪目标是以已有的基准跟踪目标为参照物,对比当前跟踪目标与已有的基准跟踪目标是否为同一跟踪目标;若对比成功,则该当前跟踪目标与已有的基准跟踪目标是同一跟踪目标;若对比不成功,则该当前跟踪目标可能是新的跟踪目标也可能是被遮挡的基准跟踪目标。例如,可以将原始视频数据的第一帧图像作为基准图像,将第二帧图像作为当前图像,对该当前图像进行目标检测后获取的特定目标作为当前跟踪目标。可以理解地,服务器在对当前图像进行目标检测之后,可获取至少一个当前跟踪目标,即可以获取一个当前跟踪目标,也可以获取多个当前跟踪目标。
当前目标特征向量是表征当前跟踪目标在当前图像中的基本特征的行向量。行向量是一个1×n的矩阵,即矩阵由一个含有n个元素的行组成的向量。例如,当前目标特征向量可以通过提取当前图像中的像素值获得,本实施例中,基准图像可以是数字图像,即二维图像用有限数字数值表示其对应的像素值,可以用数字计算机或数字电路存储和处理的图像,由数组或矩阵表示。一帧图像都是由8×8像素构成,每个像素的值是0-16,白色是0,黑色是16,将8×8矩阵转换成一个64维行向量来创建一个特征向量。服务器在检测到当前图像中的当前跟踪目标之后,可根据该当前跟踪目标在当前图像中获取对应的当前目标特征向量。
S40:计算任一基准目标特征向量与所有当前目标特征向量的特征相似度,以确定基准目标特征向量对应的目标相似度。
特征相似度是指任一基准目标特征向量和任一当前目标特征向量这两个特征向量之间的相似程度。特征相似度一般可通过计算两个特征向量之间的距离来获取,通过计算距离,距离越近的两个特征向量的相似度越大。可选地,可以采用欧几里得距离算法、曼哈顿距离算法或者余弦相似度算法等来实现对特征相似度的计算。
本实施例中,服务器可将任一已有的基准目标特征向量与当前图像中检测到的所有当前跟踪目标对应的当前目标特征向量进行计算,获取多个特征相似度,再从已计算出的多个特征相似度中选取最相似的一个作为该基准目标特征向量对应的目标相似度。其中,从多个特征相似度中选取目标相似度的规则为:从多个特征相似度中选取特征相似度中的最大值对应的特征相似度作为目标相似度。
例如,在对当前图像进行目标检测后,检测到当前跟踪目标A1、当前跟踪目标A3、当前目标特征向量A1(x1,y1,z1)和当前目标特征向量A3(x3,y3,z3);并基于基准图像中检测到的基准跟踪目标B1和基准目标特征向量B1(x2,y2,z2)。具体地,可利用欧几里得距离算法计算当前目标特征向量A1(x1,y1,z1)与基准目标特征向量B1(x2,y2,z2)之间的距离,计算公式具体为:再使用计算出来的欧几里得距离d11来计算特征相似度sim11,计算特征相似度的公式如下:再利用欧几里得距离算法计算当前目标特征向量A3(x3,y3,z3)与基准目标特征向量B1(x2,y2,z2)之间的距离,计算公式具体为:再使用计算出来的欧几里得距离d13来计算特征相似度sim13,计算特征相似度的公式如下:由特征相似度的计算公式可知,计算得出的欧几里得距离越小,两个特征向量的相似度就越大。本实施例中,比较特征相似度sim11和特征相似度sim13的大小,选择其中较大的一个,如sim11作为基准跟踪目标B1对应的目标相似度。
S50:若目标相似度小于预设相似度,则确定目标相似度对应的基准跟踪目标在当前图像中为丢失跟踪目标。
预设相似度是预先设置的用于评价是否达到为同一跟踪目标的相似度的指标。丢失跟踪目标是指在基准图像中出现但在当前图像中没有出现的基准跟踪目标。丢失跟踪目标可以是出现被遮挡或者在当前图像中消失的基准跟踪目标。若任一基准跟踪目标的特征相似度小于预设相似度,说明该基准跟踪目标与在当前图像中检测到的所有当前跟踪目标都不为同一跟踪目标,将该基准跟踪目标在当前图像中确定为丢失跟踪目标。
例如,采用欧几里得距离算法来计算两个特征向量之间的欧几里得距离,再依据欧几里得距离计算对应的特征相似度sim,特征相似度的计算公式如下:其中,d为两个特征向量之间的欧几里得距离,sim的范围为[0,1],当d越小时,sim越大,也就是距离越近时,特征相似度越大。可以理解地,特征相似度越大,两个特征向量越相似,对应的两个跟踪目标是同一跟踪目标的可能性就越大;特征相似度越小,两个特征向量越不相似,对应的两个跟踪目标是同一跟踪目标的可能性就越小。本实施例中,可以将预设相似度设置为0.8,若任一基准跟踪目标对应的目标相似度小于0.8,则说明该基准跟踪目标与当前图像中检测到的所有当前跟踪目标都不为同一跟踪目标,将该基准跟踪目标在当前图像中为丢失跟踪目标。
S60:若基准跟踪目标在当前图像之后的连续N帧图像均为丢失跟踪目标,则释放基准跟踪目标。
其中,连续N帧图像是指在确定有丢失跟踪目标的当前图像之后的连续N帧图像,其中,N为大于1的整数,N的取值可以根据实际需要设定。例如,在本实施例中可设置N为500,在每一秒视频数据分为50帧图像的条件下,实现对该基准跟踪目标进行10秒钟的监控。
服务器释放基准跟踪目标是指将被判定为丢失跟踪目标的基准跟踪目标的监控线程删除,不再跟踪这一基准跟踪目标。若在预先设定的帧数内没有重新检测到该基准跟踪目标(即基准跟踪目标在当前图像之后的连续N帧图像均为丢失跟踪目标)时,服务器就删除该基准跟踪目标的监控线程,放弃对该基准跟踪目标的跟踪,实现合理地对丢失跟踪目标的处理,避免长时间检测不到该基准跟踪目标但一直运行该基准跟踪目标的监控线程,减少了占用***资源和提高了目标跟踪效率。若在任一基准跟踪目标确定为丢失跟踪目标时就将其释放,并删除其监控线程,虽然减少了占用的***资源,提高了效率,但是不能保证目标跟踪的准确性,若该基准跟踪目标出现了短暂的被遮挡的情况,则会丢失了对该基准跟踪目标的后续跟踪,影响目标跟踪准确性,因此需在基准跟踪目标在当前图像之后的连续N帧图像均为丢失跟踪目标时才释放基准跟踪目标。
S70:若目标相似度不小于预设相似度,则当前图像中存在与基准跟踪目标为同一跟踪目标的当前跟踪目标,将当前跟踪目标更新为新的基准跟踪目标。
具体地,若基准跟踪目标的目标相似度不小于预设相似度,说明在当前图像中检测到的所有当前跟踪目标中存在一个该基准跟踪目标为同一跟踪目标的当前跟踪目标,将当前图像中的当前跟踪目标更新为新的基准跟踪目标。将当前跟踪目标更新为新的基准跟踪目标是指更新基准跟踪目标的监控线程,用当前目标特征向量替换基准目标特征向量,更新基准跟踪目标的特征维护队列。即在当前图像之后,以更新的基准跟踪目标作为新的参照物进行目标检测,可准确定位和跟踪每一基准跟踪目标,提高目标跟踪的准确性。
例如,采用欧几里得距离算法来计算两个特征向量之间的欧几里得距离,再依据欧几里得距离计算对应的特征相似度sim,特征相似度的计算公式如下:其中d为两个特征向量之间的欧几里得距离,sim的范围为[0,1],当d越小时,sim越大,也就是欧几里得距离越近时,特征相似度越大。本实施例中,可以将预设相似度设置为0.8,若任一基准跟踪目标的目标相似度不小于0.8,则说明在当前图像中检测到的所有当前跟踪目标中存在一个该基准跟踪目标为同一跟踪目标的当前跟踪目标,将该当前跟踪目标在当前图像中更新为新的基准跟踪目标,并更新该基准跟踪目标的监控线程,将当前目标特征向量更新到跟踪线程中。
在本实施例所提供的目标实时跟踪方法,服务器获取原始视频数据,选取基准图像并进行目标检测,获取基准跟踪目标和基准目标特征向量,可以自主选择监控的起始点,增强了监控的灵活性。并且,服务器可为每一基准跟踪目标分配对应的监控线程,提高目标监控的针对性和准确性。然后,服务器通过对当前图像进行目标检测,获取当前跟踪目标和当前目标特征向量,基于基准目标特征向量和当前目标特征向量确定每一基准目标特征向量对应的目标相似度,并将该目标相似度与预设相似度进行比较,以确定基准跟踪目标是否为丢失跟踪目标,通过特征相似度确定是否为丢失跟踪目标,计算过程简单方便,有助于提高跟踪效率。服务器在任一基准跟踪目标在当前图像之后的连续N帧图像均为丢失跟踪目标时,则释放基准跟踪目标,可实现对丢失跟踪的基准跟踪目标进行判定并释放,减少占用***资源,提高目标跟踪的效率和准确性。在确定基准跟踪目标不是丢失跟踪目标后,服务器更新当前跟踪目标为新的基准跟踪目标,提高目标跟踪的准确性。
在一实施例中,服务器采用目标检测算法对基准图像进行检测,以从基准图像中获取至少一个基准跟踪目标和对应的基准目标特征向量。即基准跟踪目标可以是一个也可以是多个,每一个基准跟踪目标对应一个基准目标特征向量。在该实施例中,如图3所示,步骤S20中对基准图像进行目标检测,获取至少一个基准跟踪目标和对应的基准目标特征向量,具体包括如下步骤:
S21:采用目标检测算法对基准图像进行目标检测,获取至少一个检测窗口。
目标检测算法是用于快速、准确地检测出图像中的特定目标的算法。常用的目标检测算法有YOLO(You Only Look Once,统一实时目标检测)算法、SSD(Single ShotMultibox Detector,单个深层神经网络检测)算法、R-CNN(Regions with CNN features,基于卷积神经网络检测)算法和Fast R-CNN(Fast Regions with CNN features,基于卷积神经网络快速检测)算法等。检测窗口是采用目标检测算法对基准图像进行检测时确定的包含特定目标的区域,检测窗口一般为矩形窗口。服务器对基准图像进行目标检测需运用计算机视觉工具结合目标检测算法来进行,常用的计算机视觉工具有OPENCV和MATLAB等。当选定一计算机视觉工具后,可以根据个人使用熟练程度或者结合实际需求选择目标检测算法,计算机视觉工具一般兼容大部分主流的目标检测算法。
例如,可以采用OPENCV结合YOLO算法来实现对基准图像进行目标检测,即在计算机视觉工具OPENCV上采用YOLO算法对基准图像进行目标检测。YOLO算法是将物体检测作为一个回归问题进行求解,输入图像经过一次推理,便能得到图像中所有物体的位置和其所属类别及相应的置信概率的算法。YOLO包括24个卷积层和2个全连接层,其中,卷积层用来提取图像特征,全连接层用来预测图像位置和类别概率值。YOLO算法可将输入图像分成S×S个格子,每个格子负责检测‘落入’该格子的物体。若某个物体的中心位置的坐标落入到某个格子,那么这个格子就负责检测出这个物体。每个格子输出B个bounding box(包含物体的矩形区域)信息,Bounding box信息包含x,y,w,h,和confidence这5个数据值,其中,x和y是指当前格子预测得到的物体的bounding box的中心位置的坐标,w和h是bounding box的宽度和高度,confidence反映当前bounding box是否包含物体以及物***置的准确性。Confidence的计算方式如下:confidence=P(object)*IOU,其中,若bounding box包含物体,则P(object)=1;若bounding box不包含物体,则P(object)=0;IOU(intersectionover union,交并比)为预测bounding box与物体真实区域的交集面积,该交集面积可通过以像素为单位,将与物体真实区域的交集面积上的像素归一化到[0,1]区间进行确定。例如,将基准图像分成7×7个格子,每个格子输出2个bounding box(包含物体的矩形区域)信息,每个bounding box信息对应一个原始窗口,共获得7×7×2≡98个原始窗口,先将每一原始窗口的confidence与预设阈值进行比较,去除可能性比较低的原始窗口,然后再用NMS(non maximum suppression,非极大值抑制)去除掉冗余的原始窗口,剩余的原始窗口即为检测窗口。
S22:基于每一检测窗口,获取对应的基准跟踪目标和基准目标特征向量。
服务器基于基准图像中检测到的每一检测窗口,从中获取该检测窗口中包含的基准跟踪目标,并提取基准目标图像在该基准图像中的基本特征生成基准目标特征向量。例如,可以采用OPENCV结合YOLO算法提取hog特征向量作为基准目标特征向量,把检测窗口分割为若干个像素的单元(cell),每个单元按梯度方向平均划分为9个区间(bin),在每个单元(cell)里面对所有像素在梯度方向的各个区间(bin)进行直方图统计,得到一个9维的特征向量;每相邻的4个单元构成一个块(block),把一个块(block)内的特征向量联起来得到36维的特征向量,用块(block)对检测窗口进行扫描,扫描步长为一个单元;最后将所有块的特征向量串联起来,就得到基准目标特征向量。
在步骤S21和步骤S22中,采用OPENCV结合YOLO算法来进行目标检测,获取基准跟踪目标和基准目标特征向量,能够快速进行目标检测并提取基准目标特征向量,有助于提高目标跟踪的效率。
在一实施例中,步骤S30中对原始视频数据中的当前图像进行目标检测,获取至少一个当前跟踪目标和对应的当前目标特征向量,具体为采用目标检测算法对原始视频数据中的当前图像进行目标检测,获取至少一个检测窗口,基于每一检测窗口,获取对应的当前跟踪目标和当前目标特征向量。其具体实施过程与步骤S21-S22相似,为避免重复,在此不再赘述。
在一实施例中,在步骤S20之后,即对基准图像进行目标检测,获取至少一个基准跟踪目标和对应的基准目标特征向量的步骤之后,且在对原始视频数据中的当前图像进行目标检测的步骤之前,该目标实时跟踪方法还包括如下步骤:
S201:给每一基准跟踪目标分配一跟踪线程和一验证线程。
具体地,服务器在检测到基准跟踪目标后,为每一基准跟踪目标创建一对监控线程,一对监控线程包括跟踪线程和验证线程。监控线程是用于实时监控基准跟踪目标的线程。跟踪线程用于对基准跟踪目标对应的基准目标特征向量的提取并维护基准目标特征向量队列的线程,即跟踪线程实时进行基准目标特征向量的提取并进行存储,并依据一定的频率更新最新的基准目标特征向量。验证线程是用于进行特征向量之间的比对及更新对比结果的线程。
S202:在跟踪线程中实时获取并存储与基准跟踪目标对应的基准目标特征向量。
跟踪线程是用于对基准跟踪目标对应的基准目标特征向量的提取并维护该基准目标特征向量队列的线程,跟踪线程实时进行基准目标特征向量的提取和存储,并在一定频率内将最新的基准目标特征向量推送到对应的验证线程,以便验证线程基于最新的基准目标特征向量进行对比。
相应地,在步骤S40之后,即在以确定基准目标特征向量对应的目标相似度之后,该目标实时跟踪方法还包括:在验证线程中,判断目标相似度是否小于预设相似度,获取判断结果,并根据判断结果更新跟踪线程。
验证线程计算出基准目标特征向量对应的目标相似度后,将该目标相似度与预设相似度进行对比,即判断目标相似度是否小于预设相似度。当目标相似度小于预设相似度时,则该基准跟踪目标在当前图像中为丢失跟踪目标,验证线程将会把原来的基准目标特征向量发送给跟踪线程进行标注,在同一基准跟踪目标在当前图像之后连续N帧图像均被标注为丢失跟踪目标时,释放该基准跟踪目标对应的跟踪线程,以节省***资源。当目标相似度不小于预设相似度时,则该基准目标与当前跟踪目标为同一跟踪目标,验证线程将会把当前目标特征向量发送给跟踪线程进行更新基准目标特征向量。
本实施例中,将特征向量的提取与对比分别通过跟踪线程和验证线程进行监控,可以提高目标跟踪的效率,在验证线程中,根据对比结果更新跟踪线程中基准目标特征向量,提高目标跟踪的准确性。
在一实施例中,如图4所示,步骤S40中计算任一基准目标特征向量与所有当前目标特征向量的特征相似度,以确定基准目标特征向量对应的目标相似度,具体包括如下步骤:
S41:采用距离算法计算任一基准目标特征向量与所有当前目标特征向量的实测距离,基于实测距离获取对应的特征相似度。
距离算法是用于计算两个点或多个点之间的距离的算法,常见的距离算法有欧几里得距离算法(即欧式距离算法)、曼哈顿距离算法或者余弦距离算法等。实测距离是指基准目标特征向量和当前目标特征向量之间的实际距离。具体地,服务器在采用距离算法进行距离计算时,先选择一个基准目标特征向量,再将所有当前目标特征向量与该基准目标特征向量进行距离计算,获取到该基准目标特征向量与至少一个当前目标特征向量之间的实测距离,再根据实测距离计算出特征相似度。
本实施例中,基于实测距离获取对应的特征相似度具体是指:采用特征相似度的计算公式对实测距离进行计算,获取对应的特征相似度,其中,d为任一基准目标特征向量和一当前目标特征向量之间的实测距离,sim为与该实测距离对应的特征相似度。
S42:从所有特征相似度中选取最大值,确定为基准目标特征向量对应的目标相似度。
目标相似度是从该基准目标特征向量与所有当前目标特征向量之间的特征相似度中选取最相似的特征相似度,即特征相似度最大值对应的特征相似度。本实施例中,确定目标相似度就是确定与基准目标特征向量为同一跟踪目标的当前目标特征向量,将所有已计算出的特征相似度进行大小比较,将最大的特征相似度确定为基准目标特征向量对应的目标相似度。
例如,服务器检测到基准图像中有3个基准跟踪目标,并获取到相应的3个基准目标特征向量,分别为D、E和F;在当前图像中检测到3个当前跟踪目标,并获取到相应的3个当前目标跟踪向量,分别为G、H和I;服务器可选择基准目标特征向量D,采用欧几里得距离算法将基准目标特征向量D与当前目标特征向量G、H和I分别进行距离计算,算出3个实测距离分别为0.8、0.5和0.1,根据这3个实测距离使用特征相似度计算公式计算得到3个特征相似度分别为0.56、0.67和0.91。对这3个特征相似度进行大小比较排序,得到排序为0.91>0.67>0.56,选取最大值0.91作为基准目标特征向量D对应的目标相似度。
在步骤S41和步骤S42中,采用距离算法计算每一基准目标特征向量与所有当前目标特征向量的实测距离,基于实测距离获取对应的特征相似度,在已计算出的特征相似度中选择最大的一个作为基准目标特征向量对应的目标相似度,实现了快速计算基准目标特征向量对应的目标相似度,提高目标跟踪的效率。
在一实施例中,如图5所示,在步骤S50之后,即若目标相似度小于预设相似度,则确定目标相似度对应的基准跟踪目标在当前图像中为丢失跟踪目标之后,且在若基准跟踪目标在当前图像之后的连续N帧图像均为丢失跟踪目标,则释放基准跟踪目标的步骤之前,该目标实时跟踪方法还包括如下步骤:
S81:在当前图像中,将与所有基准跟踪目标均不为同一跟踪目标的当前跟踪目标确定为新增跟踪目标。
新增跟踪目标是指当前图像中,与所有基准跟踪目标匹配都不是同一跟踪目标的当前跟踪目标。即在当前图像中,该新增跟踪目标对应的当前目标特征向量与所有基准目标特征向量的目标相似度都小于预设相似度。例如,新增跟踪目标可能是新出现在当前图像中的特定目标,如人或动物;也可能是之前已经出现但被遮挡的基准跟踪目标。
S82:判断新增跟踪目标是否为遮挡的基准跟踪目标。
遮挡的基准跟踪目标是指基准跟踪目标被建筑物或者被其他物体遮挡了部分特征的基准跟踪目标。判断当前跟踪目标是否为遮挡的基准跟踪目标,可以通过计算该新增跟踪目标对应的当前目标特征向量与所有基准目标特征向量的坐标距离来判定,若所有坐标距离都大于预设的距离阈值时,将新增跟踪目标确定为不是遮挡的基准跟踪目标;若存在一个坐标距离小于预设的距离阈值时,将新增跟踪目标确定为遮挡的基准跟踪目标。
S83:若新增跟踪目标为遮挡的基准跟踪目标,则采用新增跟踪目标更新遮挡的基准跟踪目标。
服务器采用新增跟踪目标更新遮挡的基准跟踪目标是指更新遮挡的基准跟踪目标的基准目标特征向量。即若服务器判定新增跟踪目标为遮挡的基准跟踪目标,将新增跟踪目标对应的当前目标特征向量代替对应遮挡的基准跟踪目标的基准目标特征向量。具体为更新基准跟踪目标的监控线程,更新跟踪线程中的基准目标特征向量。
S84:若新增跟踪目标不为遮挡的基准跟踪目标,则将新增跟踪目标设置为基准跟踪目标。
服务器将新增跟踪目标设置为基准跟踪目标是指增添新的基准跟踪目标。即若服务器判定新增跟踪目标不为遮挡的基准跟踪目标,将新增跟踪目标确定为新的基准跟踪目标,并将新增跟踪目标对应的当前目标特征向量设置为新的基准目标特征向量,并为新的基准跟踪目标创建新的监控线程,即分配一跟踪线程和一验证线程。
在步骤S81-步骤S84中,在当前图像中确定出新增跟踪目标,判断新增跟踪目标是否为遮挡的基准跟踪目标,若确定是被遮挡的基准跟踪目标,则更新遮挡的基准跟踪目标的监控线程;若确定是新增跟踪目标,则增添基准跟踪目标,增加新的监控线程。本实施例中,服务器可通过判断新增跟踪目标是否为遮挡的基准跟踪目标,并根据判断结果进行分别处理,可实现对遮挡的基准跟踪目标的重新跟踪和为新增跟踪目标创建新的监控线程,以实现对新增跟踪目标的监控,提高目标跟踪的准确性和效率。
在一实施例中,如图6所示,步骤S82,判断新增跟踪目标是否为遮挡的基准跟踪目标,具体包括如下步骤:
S821:获取新增跟踪目标对应的目标位置坐标和每一基准目标特征向量对应的基准位置坐标。
具体地,在当前图像中构建一直角坐标系,从而获取新增跟踪目标对应的当前目标特征向量在当前图像中的目标位置坐标和基准目标特征向量对应的基准目标特征向量在当前图像中的基准位置坐标。目标位置坐标是新增跟踪目标在当前图像中的位置信息,基准位置坐标是基准跟踪目标在基准图像中的位置信息。本实施例中,可以采用检测窗口中心点的位置坐标作为基于该检测窗口获取的目标特征向量对应的位置坐标。
S822:采用目标位置坐标和基准位置坐标计算对应的位置距离。
其中,位置距离是目标位置坐标和基准位置坐标之间的距离。该位置距离可采用距离算法对目标位置坐标和基准位置坐标进行计算得到。具体地,服务器采用距离算法对新增跟踪目标对应的目标位置坐标与每一基准位置坐标的基准位置坐标进行计算,从而获取到新增跟踪目标与每一基准跟踪目标的位置距离。可以理解地,若基准跟踪目标有N个,则任一新增跟踪目标的目标位置坐标与N个基准跟踪目标的基准位置坐标的位置距离也有N个。
S823:若所有位置距离均大于跟踪阈值,则新增跟踪目标不为遮挡的基准跟踪目标。
跟踪阈值是用于判断新增跟踪目标是否为遮挡的基准跟踪目标的指标。当一新增跟踪目标的目标位置坐标和所有基准跟踪目标的基准位置坐标的位置距离都大于距离阈值,则说明该新增跟踪目标为在当前图像中新出现的目标,不属于被遮挡的基准跟踪目标,此时,可将新增跟踪目标添加为新的基准跟踪目标,将对应的当前目标特征向量添加为基准目标特征向量。
具体地,该距离阈值如此设置:Dt=(Vmax×帧数/帧率))/R;其中,Vmax为跟踪目标的极限移动速度,例如,若跟踪目标为行人,则可以根据经验值设定一个行人的极限移动速度;R为一比例系数,通过比例系数将实际行走距离换成成图像中的距离。
S824:若所有位置距离中的任一个不大于跟踪阈值,则新增跟踪目标为遮挡的基准跟踪目标。
当一新增跟踪目标的目标位置坐标和每一基准跟踪目标的基准位置坐标的位置距离中存在一个位置距离不大于距离阈值,则说明该新增跟踪目标不为在当前图像中新出现的目标,属于被遮挡的基准跟踪目标,故此时将新增跟踪目标判定为遮挡的基准跟踪目标,将对应的当前目标特征向量更新为对应的基准目标特征向量。
步骤S821-步骤S824中,基于新增跟踪目标的目标位置坐标和每一基准跟踪目标的基准位置坐标计算出对应的位置距离,将位置距离与预设的距离阈值进行比较,进而确定新增跟踪目标是否为遮挡的基准跟踪目标。若所有的位置距离均大于预设的距离阈值时,则确定新增跟踪目标不为遮挡的基准跟踪目标,对新增跟踪目标进行判断,能够实现多目标的跟踪及提高目标跟踪效率;若存在一位置距离小于预设的距离阈值时,则确定新增跟踪目标为遮挡的基准跟踪目标,并更新该遮挡的基准跟踪目标的监控线程,对被遮挡的基准跟踪目标进行判断,防止基准跟踪目标丢失跟踪,提高目标跟踪的准确性。该目标实时跟踪方法解决了跟踪目标因遮挡而丢失跟踪的问题,提高目标跟踪的准确性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,图7示出与上述实施例中目标实时跟踪方法一一对应的目标实时跟踪装置的原理框图。如图7所示,该目标实时跟踪装置包括原始视频数据获取模块10、基准跟踪目标检测模块20、当前跟踪目标检测模块30、目标相似度获取模块40、丢失跟踪目标判定模块50和基准跟踪目标释放模块60,各功能模块详细说明如下:
原始视频数据获取模块10,用于获取原始视频数据,原始视频数据包括至少两帧图像。
基准跟踪目标检测模块20,用于选取原始视频数据中的任一帧图像作为基准图像,对基准图像进行目标检测,获取至少一个基准跟踪目标和对应的基准目标特征向量。
当前跟踪目标检测模块30,用于对原始视频数据中的当前图像进行目标检测,获取至少一个当前跟踪目标和对应的当前目标特征向量。
目标相似度获取模块40,用于计算任一基准目标特征向量与所有当前目标特征向量的特征相似度,以确定基准目标特征向量对应的目标相似度。
丢失跟踪目标判定模块50,用于若目标相似度小于预设相似度,则确定目标相似度对应的基准跟踪目标在当前图像中为丢失跟踪目标。
基准跟踪目标释放模块60,用于若基准跟踪目标中当前图像之后的连续N帧图像均为丢失跟踪目标,则释放基准跟踪目标。
具体地,目标实时跟踪装置还包括:基准跟踪目标更新模块70,用于若特征相似度不小于预设相似度,则当前图像中存在与基准跟踪目标为同一跟踪目标的当前跟踪目标,将当前跟踪目标更新为新的基准跟踪目标。
具体地,基准跟踪目标检测模块20包括检测窗口获取单元21和基准目标特征向量获取单元22。
检测窗口获取单元21,用于采用目标检测算法对基准图像进行目标检测,获取至少一个检测窗口。
基准目标特征向量获取单元22,用于基于每一检测窗口,获取对应的基准跟踪目标和基准目标特征向量。
具体地,目标实时跟踪装置还包括:线程分配单元201、第一线程处理单元202和第二线程处理单元203。
线程分配单元201,用于给每一基准跟踪目标分配一跟踪线程和一验证线程。
第一线程处理单元202,用于在跟踪线程中实时获取并存储与基准跟踪目标对应的基准目标特征向量。
第二线程处理单元203,用于在验证线程中,判断目标相似度是否小于预设相似度,获取判断结果,并根据判断结果更新跟踪线程。
具体地,特征相似度获取模块40包括特征相似度获取单元41和目标相似度选取单元42。
特征相似度获取单元41,用于采用距离算法计算任一基准目标特征向量与所有当前目标特征向量的实测距离,基于实测距离获取对应的特征相似度。
目标相似度选取单元42,用于从所有特征相似度中选取最大值,确定为基准目标特征向量对应的目标相似度。
具体地,目标实时跟踪装置还包括:新增跟踪目标确定单元81、遮挡目标判断单元82、第一遮挡目标更新单元83和第二遮挡目标更新单元84。
新增跟踪目标确定单元81,用于在当前图像中,将与所有基准跟踪目标均不为同一跟踪目标的当前跟踪目标确定为新增跟踪目标。
遮挡目标判断单元82,用于判断新增跟踪目标是否为遮挡的基准跟踪目标。
第一遮挡目标更新单元83,用于若新增跟踪目标为遮挡的基准跟踪目标,则采用新增跟踪目标更新遮挡的基准跟踪目标。
第二遮挡目标更新单元84,用于若新增跟踪目标不为遮挡的基准跟踪目标,则将新增跟踪目标设置为基准跟踪目标。
具体地,遮挡目标判断单元82包括位置坐标获取子单元821、位置距离获取子单元822、遮挡目标否定子单元823和遮挡目标确定子单元824。
位置坐标获取子单元821,用于获取新增跟踪目标对应的目标位置坐标和每一基准目标特征向量对应的基准位置坐标。
位置距离获取子单元822,用于采用目标位置坐标和基准位置坐标计算对应的位置距离。
遮挡目标否定子单元823,用于若所有位置距离均大于跟踪阈值,则新增跟踪目标不为遮挡的基准跟踪目标。
遮挡目标确定子单元824,用于若所有位置距离中的任一个不大于跟踪阈值,则新增跟踪目标为遮挡的基准跟踪目标。
关于目标实时跟踪装置的具体限定可以参见上文中对于目标实时跟踪方法的限定,在此不再赘述。上述目标实时跟踪装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储计算机程序运行过程中调用或生成的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种目标实时跟踪方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:获取原始视频数据,原始视频数据包括至少两帧图像;从原始视频数据中选取基准图像,对基准图像进行目标检测,获取至少一个基准跟踪目标和对应的基准目标特征向量;对原始视频数据中的当前图像进行目标检测,获取至少一个当前跟踪目标和对应的当前目标特征向量;计算任一基准目标特征向量与所有当前目标特征向量的特征相似度,以确定基准目标特征向量对应的目标相似度;若目标相似度小于预设相似度,则确定目标相似度对应的基准跟踪目标在当前图像中为丢失跟踪目标;若基准跟踪目标在当前图像之后的连续N帧图像均为丢失跟踪目标,则释放基准跟踪目标。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:若目标相似度不小于预设相似度,则当前图像中存在与基准跟踪目标为同一跟踪目标的当前跟踪目标,将当前跟踪目标更新为新的基准跟踪目标。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:采用目标检测算法对基准图像进行目标检测,获取至少一个检测窗口;基于每一检测窗口,获取对应的基准跟踪目标和基准目标特征向量。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:给每一基准跟踪目标分配一跟踪线程和一验证线程;在跟踪线程中实时获取并存储与基准跟踪目标对应的基准目标特征向量;在验证线程中,判断目标相似度是否小于预设相似度,获取判断结果,并根据判断结果更新跟踪线程。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:采用距离算法计算任一基准目标特征向量与所有当前目标特征向量的实测距离,基于实测距离获取对应的特征相似度;从所有特征相似度中选取最大值,确定为基准目标特征向量对应的目标相似度。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在当前图像中,将与所有基准跟踪目标均不为同一跟踪目标的当前跟踪目标确定为新增跟踪目标;判断新增跟踪目标是否为遮挡的基准跟踪目标;若新增跟踪目标为遮挡的基准跟踪目标,则采用新增跟踪目标更新遮挡的基准跟踪目标;若新增跟踪目标不为遮挡的基准跟踪目标,则将新增跟踪目标设置为基准跟踪目标。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取新增跟踪目标对应的目标位置坐标和每一基准目标特征向量对应的基准位置坐标;采用目标位置坐标和基准位置坐标计算对应的位置距离;若所有位置距离均大于跟踪阈值,则新增跟踪目标不为遮挡的基准跟踪目标;若所有位置距离中的任一个不大于跟踪阈值,则新增跟踪目标为遮挡的基准跟踪目标。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取原始视频数据,原始视频数据包括至少两帧图像;从原始视频数据中选取基准图像,对基准图像进行目标检测,获取至少一个基准跟踪目标和对应的基准目标特征向量;对原始视频数据中的当前图像进行目标检测,获取至少一个当前跟踪目标和对应的当前目标特征向量;计算任一基准目标特征向量与所有当前目标特征向量的特征相似度,以确定基准目标特征向量对应的目标相似度;若目标相似度小于预设相似度,则确定目标相似度对应的基准跟踪目标在当前图像中为丢失跟踪目标;若基准跟踪目标在当前图像之后的连续N帧图像均为丢失跟踪目标,则释放基准跟踪目标。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若目标相似度不小于预设相似度,则当前图像中存在与基准跟踪目标为同一跟踪目标的当前跟踪目标,将当前跟踪目标更新为新的基准跟踪目标。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:采用目标检测算法对基准图像进行目标检测,获取至少一个检测窗口;基于每一检测窗口,获取对应的基准跟踪目标和基准目标特征向量。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:给每一基准跟踪目标分配一跟踪线程和一验证线程;在跟踪线程中实时获取并存储与基准跟踪目标对应的基准目标特征向量;在验证线程中,判断目标相似度是否小于预设相似度,获取判断结果,并根据判断结果更新跟踪线程。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:采用距离算法计算任一基准目标特征向量与所有当前目标特征向量的实测距离,基于实测距离获取对应的特征相似度;从所有特征相似度中选取最大值,确定为基准目标特征向量对应的目标相似度。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在当前图像中,将与所有基准跟踪目标均不为同一跟踪目标的当前跟踪目标确定为新增跟踪目标;判断新增跟踪目标是否为遮挡的基准跟踪目标;若新增跟踪目标为遮挡的基准跟踪目标,则采用新增跟踪目标更新遮挡的基准跟踪目标;若新增跟踪目标不为遮挡的基准跟踪目标,则将新增跟踪目标设置为基准跟踪目标。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取新增跟踪目标对应的目标位置坐标和每一基准目标特征向量对应的基准位置坐标;采用目标位置坐标和基准位置坐标计算对应的位置距离;若所有位置距离均大于跟踪阈值,则新增跟踪目标不为遮挡的基准跟踪目标;若所有位置距离中的任一个不大于跟踪阈值,则新增跟踪目标为遮挡的基准跟踪目标。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (8)
1.一种目标实时跟踪方法,其特征在于,包括:
获取原始视频数据,所述原始视频数据包括至少两帧图像;
从所述原始视频数据中选取基准图像,对所述基准图像进行目标检测,获取至少一个基准跟踪目标和对应的基准目标特征向量;
对所述原始视频数据中的当前图像进行目标检测,获取至少一个当前跟踪目标和对应的当前目标特征向量;
计算任一所述基准目标特征向量与所有当前目标特征向量的特征相似度,以确定所述基准目标特征向量对应的目标相似度;
若所述目标相似度小于预设相似度,则确定所述目标相似度对应的基准跟踪目标在所述当前图像中为丢失跟踪目标;
若所述基准跟踪目标在所述当前图像之后的连续N帧图像均为丢失跟踪目标,则释放所述基准跟踪目标;
其中,所述确定所述目标相似度对应的基准跟踪目标在所述当前图像中为丢失跟踪目标的步骤之后,且在所述若所述基准跟踪目标在所述当前图像之后的连续N帧图像均为丢失跟踪目标,则释放所述基准跟踪目标的步骤之前,所述目标实时跟踪方法还包括:
在所述当前图像中,将与所有所述基准跟踪目标均不为同一跟踪目标的当前跟踪目标确定为新增跟踪目标;
判断所述新增跟踪目标是否为遮挡的基准跟踪目标;
若所述新增跟踪目标为遮挡的基准跟踪目标,则采用所述新增跟踪目标更新所述遮挡的基准跟踪目标;
若所述新增跟踪目标不为遮挡的基准跟踪目标,则将所述新增跟踪目标设置为基准跟踪目标;
所述判断所述新增跟踪目标是否为遮挡的基准跟踪目标,包括:
获取所述新增跟踪目标对应的目标位置坐标和每一所述基准目标特征向量对应的基准位置坐标;
采用所述目标位置坐标和所述基准位置坐标计算对应的位置距离;
若所有所述位置距离均大于跟踪阈值,则所述新增跟踪目标不为遮挡的基准跟踪目标;
若所有所述位置距离中的任一个不大于跟踪阈值,则所述新增跟踪目标为遮挡的基准跟踪目标。
2.如权利要求1所述的目标实时跟踪方法,其特征在于,在所述以确定所述基准目标特征向量对应的目标相似度的步骤之后,所述目标实时跟踪方法还包括:
若所述目标相似度不小于预设相似度,则当前图像中存在与所述基准跟踪目标为同一跟踪目标的当前跟踪目标,将所述当前跟踪目标更新为新的基准跟踪目标。
3.如权利要求1所述的目标实时跟踪方法,其特征在于,所述对所述基准图像进行目标检测,获取至少一个基准跟踪目标和对应的基准目标特征向量,包括:
采用目标检测算法对所述基准图像进行目标检测,获取至少一个检测窗口;
基于每一所述检测窗口,获取对应的基准跟踪目标和基准目标特征向量。
4.如权利要求1所述的目标实时跟踪方法,其特征在于,所述对所述基准图像进行目标检测,获取至少一个基准跟踪目标和对应的基准目标特征向量的步骤之后,且在所述对所述原始视频数据中的当前图像进行目标检测的步骤之前,所述目标实时跟踪方法还包括:
给每一所述基准跟踪目标分配一跟踪线程和一验证线程;
在所述跟踪线程中实时获取并存储与所述基准跟踪目标对应的基准目标特征向量;
在所述以确定所述基准目标特征向量对应的目标相似度的步骤之后,所述目标实时跟踪方法还包括:
在所述验证线程中,判断所述目标相似度是否小于预设相似度,获取判断结果,并根据所述判断结果更新所述跟踪线程。
5.如权利要求1所述的目标实时跟踪方法,其特征在于,所述计算任一所述基准目标特征向量与所有当前目标特征向量的特征相似度,以确定所述基准目标特征向量对应的目标相似度,包括:
采用距离算法计算任一所述基准目标特征向量与所有所述当前目标特征向量的实测距离,基于所述实测距离获取对应的特征相似度;
从所有特征相似度中选取最大值,确定为所述基准目标特征向量对应的目标相似度。
6.一种目标实时跟踪装置,其特征在于,包括:
原始视频数据获取模块,用于获取原始视频数据,所述原始视频数据包括至少两帧图像;
基准跟踪目标检测模块,用于选取所述原始视频数据中的任一帧图像作为基准图像,对所述基准图像进行目标检测,获取至少一个基准跟踪目标和对应的基准目标特征向量;
当前跟踪目标检测模块,用于对所述原始视频数据中的当前图像进行目标检测,获取至少一个当前跟踪目标和对应的当前目标特征向量;
特征相似度获取模块,用于计算任一所述基准目标特征向量与所有当前目标特征向量的特征相似度,以确定所述基准目标特征向量对应的目标相似度;
丢失跟踪目标判定模块,用于若所述目标相似度小于预设相似度,则确定所述目标相似度对应的基准跟踪目标在所述当前图像中为丢失跟踪目标;
基准跟踪目标释放模块,用于若所述基准跟踪目标中所述当前图像之后的连续N帧图像均为丢失跟踪目标,则释放所述基准跟踪目标;
所述目标实时跟踪装置还包括:
新增跟踪目标确定单元,用于在当前图像中,将与所有基准跟踪目标均不为同一跟踪目标的当前跟踪目标确定为新增跟踪目标;
遮挡目标判断单元,用于判断新增跟踪目标是否为遮挡的基准跟踪目标;
第一遮挡目标更新单元,用于若新增跟踪目标为遮挡的基准跟踪目标,则采用新增跟踪目标更新遮挡的基准跟踪目标;
第二遮挡目标更新单元,用于若新增跟踪目标不为遮挡的基准跟踪目标,则将新增跟踪目标设置为基准跟踪目标;
所述遮挡目标判断单元包括:
位置坐标获取子单元,用于获取新增跟踪目标对应的目标位置坐标和每一基准目标特征向量对应的基准位置坐标;
位置距离获取子单元,用于采用目标位置坐标和基准位置坐标计算对应的位置距离;
遮挡目标否定子单元,用于若所有位置距离均大于跟踪阈值,则新增跟踪目标不为遮挡的基准跟踪目标;
遮挡目标确定子单元,用于若所有位置距离中的任一个不大于跟踪阈值,则新增跟踪目标为遮挡的基准跟踪目标。
7.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述目标实时跟踪方法的步骤。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述目标实时跟踪方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810594665.8A CN108985162B (zh) | 2018-06-11 | 2018-06-11 | 目标实时跟踪方法、装置、计算机设备及存储介质 |
PCT/CN2018/105404 WO2019237536A1 (zh) | 2018-06-11 | 2018-09-13 | 目标实时跟踪方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810594665.8A CN108985162B (zh) | 2018-06-11 | 2018-06-11 | 目标实时跟踪方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108985162A CN108985162A (zh) | 2018-12-11 |
CN108985162B true CN108985162B (zh) | 2023-04-18 |
Family
ID=64540169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810594665.8A Active CN108985162B (zh) | 2018-06-11 | 2018-06-11 | 目标实时跟踪方法、装置、计算机设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108985162B (zh) |
WO (1) | WO2019237536A1 (zh) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109658434B (zh) * | 2018-12-26 | 2023-06-16 | 成都纵横自动化技术股份有限公司 | 一种目标跟踪的方法及装置 |
CN111507999B (zh) * | 2019-01-30 | 2023-07-18 | 北京四维图新科技股份有限公司 | 一种基于fdsst算法的目标追踪方法及装置 |
CN111696130B (zh) * | 2019-03-12 | 2024-06-21 | 北京京东尚科信息技术有限公司 | 目标跟踪方法、目标跟踪装置及计算机可读存储介质 |
CN110490902B (zh) * | 2019-08-02 | 2022-06-14 | 西安天和防务技术股份有限公司 | 应用于智慧城市的目标跟踪方法、装置、计算机设备 |
CN112488982A (zh) * | 2019-09-11 | 2021-03-12 | 磅客策(上海)机器人有限公司 | 一种超声图像检测方法及装置 |
CN110634153A (zh) * | 2019-09-19 | 2019-12-31 | 上海眼控科技股份有限公司 | 目标跟踪模板更新方法、装置、计算机设备和存储介质 |
CN110706250B (zh) * | 2019-09-27 | 2022-04-01 | 广东博智林机器人有限公司 | 一种对象的跟踪方法、装置、***及存储介质 |
CN110781824B (zh) | 2019-10-25 | 2023-03-14 | 阿波罗智联(北京)科技有限公司 | 目标检测及跟踪方法、装置、电子设备及存储介质 |
CN111160212B (zh) * | 2019-12-24 | 2022-11-11 | 浙江大学 | 一种基于YOLOv3-Tiny改进的跟踪学习检测***及方法 |
CN113129333B (zh) * | 2020-01-16 | 2023-06-16 | 舜宇光学(浙江)研究院有限公司 | 多目标实时跟踪方法及其***和电子设备 |
CN111368743B (zh) * | 2020-03-05 | 2023-08-04 | 北京科技大学 | 一种基于监控视频的游泳馆深水区早期危险行为检测方法 |
CN111354023A (zh) * | 2020-03-09 | 2020-06-30 | 中振同辂(江苏)机器人有限公司 | 一种基于摄像头的视觉多目标跟踪方法 |
CN111402296B (zh) * | 2020-03-12 | 2023-09-01 | 浙江大华技术股份有限公司 | 基于摄像机、雷达的目标跟踪方法及相关装置 |
CN111429483A (zh) * | 2020-03-31 | 2020-07-17 | 杭州博雅鸿图视频技术有限公司 | 高速跨摄像机多目标跟踪方法、***、装置及存储介质 |
CN111627043B (zh) * | 2020-04-13 | 2023-09-19 | 浙江工业大学 | 一种基于标志物和特征筛选器的简易人体曲线获取方法 |
CN111627045B (zh) * | 2020-05-06 | 2021-11-02 | 佳都科技集团股份有限公司 | 单镜头下的多行人在线跟踪方法、装置、设备及存储介质 |
CN111738063B (zh) * | 2020-05-08 | 2023-04-18 | 华南理工大学 | 船舶目标跟踪方法、***、计算机设备及存储介质 |
CN111654668B (zh) * | 2020-05-26 | 2021-08-13 | 山东摄云信息技术有限公司 | 监控设备同步方法、装置及计算机终端 |
CN112037256A (zh) * | 2020-08-17 | 2020-12-04 | 中电科新型智慧城市研究院有限公司 | 目标跟踪方法、装置、终端设备及计算机可读存储介质 |
CN112037257B (zh) * | 2020-08-20 | 2023-09-29 | 浙江大华技术股份有限公司 | 一种目标跟踪方法、终端及其计算机可读存储介质 |
CN111986237A (zh) * | 2020-09-01 | 2020-11-24 | 安徽炬视科技有限公司 | 一种人数无关的实时多目标跟踪算法 |
CN112651994A (zh) * | 2020-12-18 | 2021-04-13 | 零八一电子集团有限公司 | 地面多目标跟踪方法 |
CN112614168B (zh) * | 2020-12-21 | 2023-08-29 | 浙江大华技术股份有限公司 | 一种目标人脸跟踪方法、装置、电子设备及存储介质 |
CN112634327A (zh) * | 2020-12-21 | 2021-04-09 | 合肥讯图信息科技有限公司 | 基于YOLOv4模型的跟踪方法 |
CN112651996B (zh) * | 2020-12-22 | 2024-06-14 | 南京市城市与交通规划设计研究院股份有限公司 | 目标检测跟踪方法、装置、电子设备和存储介质 |
CN113014958A (zh) * | 2021-03-10 | 2021-06-22 | 平安科技(深圳)有限公司 | 视频传输处理方法、装置、计算机设备及存储介质 |
CN112884810B (zh) * | 2021-03-18 | 2024-02-02 | 沈阳理工大学 | 一种基于YOLOv3的行人跟踪方法 |
CN113450385B (zh) * | 2021-06-04 | 2023-08-18 | 广州大学 | 一种夜间工作工程机械视觉跟踪方法、装置及存储介质 |
CN113591904B (zh) * | 2021-06-17 | 2024-06-21 | 浙江大华技术股份有限公司 | 逗留时间统计方法、货品调整方法及相关装置 |
CN113554064B (zh) * | 2021-06-28 | 2023-07-25 | 北京百度网讯科技有限公司 | 图片的标注方法、装置及电子设备 |
CN114549584A (zh) * | 2022-01-28 | 2022-05-27 | 北京百度网讯科技有限公司 | 信息处理的方法、装置、电子设备及存储介质 |
CN116309726A (zh) * | 2023-04-07 | 2023-06-23 | 北京甲板智慧科技有限公司 | 基于ar互动游戏场景的多目标实时跟踪方法及装置 |
CN118089794B (zh) * | 2024-04-26 | 2024-07-09 | 北京航宇测通电子科技有限公司 | 一种基于多源信息的自适应多信息组合导航的仿真方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102881022A (zh) * | 2012-07-20 | 2013-01-16 | 西安电子科技大学 | 基于在线学习的遮挡目标跟踪方法 |
CN106651908A (zh) * | 2016-10-13 | 2017-05-10 | 北京科技大学 | 一种多运动目标跟踪方法 |
CN106778712A (zh) * | 2017-03-01 | 2017-05-31 | 扬州大学 | 一种多目标检测与跟踪方法 |
CN106920248A (zh) * | 2017-01-19 | 2017-07-04 | 博康智能信息技术有限公司上海分公司 | 一种目标跟踪方法及装置 |
CN108010067A (zh) * | 2017-12-25 | 2018-05-08 | 北京航空航天大学 | 一种基于组合判断策略的视觉目标跟踪方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106033550B (zh) * | 2015-03-16 | 2019-09-06 | 北京大学 | 目标跟踪方法及装置 |
CN108053427B (zh) * | 2017-10-31 | 2021-12-14 | 深圳大学 | 一种基于KCF与Kalman的改进型多目标跟踪方法、***及装置 |
-
2018
- 2018-06-11 CN CN201810594665.8A patent/CN108985162B/zh active Active
- 2018-09-13 WO PCT/CN2018/105404 patent/WO2019237536A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102881022A (zh) * | 2012-07-20 | 2013-01-16 | 西安电子科技大学 | 基于在线学习的遮挡目标跟踪方法 |
CN106651908A (zh) * | 2016-10-13 | 2017-05-10 | 北京科技大学 | 一种多运动目标跟踪方法 |
CN106920248A (zh) * | 2017-01-19 | 2017-07-04 | 博康智能信息技术有限公司上海分公司 | 一种目标跟踪方法及装置 |
CN106778712A (zh) * | 2017-03-01 | 2017-05-31 | 扬州大学 | 一种多目标检测与跟踪方法 |
CN108010067A (zh) * | 2017-12-25 | 2018-05-08 | 北京航空航天大学 | 一种基于组合判断策略的视觉目标跟踪方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108985162A (zh) | 2018-12-11 |
WO2019237536A1 (zh) | 2019-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108985162B (zh) | 目标实时跟踪方法、装置、计算机设备及存储介质 | |
CN109035299B (zh) | 目标跟踪方法、装置、计算机设备及存储介质 | |
US10192107B2 (en) | Object detection method and object detection apparatus | |
CN108446585B (zh) | 目标跟踪方法、装置、计算机设备和存储介质 | |
CN109426785B (zh) | 一种人体目标身份识别方法及装置 | |
CN110620905A (zh) | 视频监控方法、装置、计算机设备和存储介质 | |
CN111079670A (zh) | 人脸识别方法、装置、终端和介质 | |
KR102263717B1 (ko) | 객체 검출 및 추적을 통한 이상행동 분석 장치 및 방법 | |
US11900676B2 (en) | Method and apparatus for detecting target in video, computing device, and storage medium | |
CN109255802B (zh) | 行人跟踪方法、装置、计算机设备及存储介质 | |
CN108961316B (zh) | 图像处理方法、装置及服务器 | |
CN111159476B (zh) | 目标对象的搜索方法、装置、计算机设备及存储介质 | |
CN114241016A (zh) | 一种跨相机轨迹关联方法、装置及电子设备 | |
WO2020024394A1 (zh) | 背景剔除方法、装置、计算机设备及存储介质 | |
CN112989910A (zh) | 电力目标检测方法、装置、计算机设备和存储介质 | |
CN112489090A (zh) | 目标跟踪的方法、计算机可读存储介质及计算机设备 | |
CN111178224B (zh) | 物体规则判断方法、装置、计算机设备和存储介质 | |
CN110866428A (zh) | 目标跟踪方法、装置、电子设备及存储介质 | |
CN112001948A (zh) | 一种目标跟踪处理方法及装置 | |
CN111445487A (zh) | 图像分割方法、装置、计算机设备和存储介质 | |
CN113256683B (zh) | 目标跟踪方法及相关设备 | |
CN110163183B (zh) | 目标检测算法的评估方法、装置、计算机设备和存储介质 | |
CN113284165A (zh) | 目标跟踪方法、装置、计算机设备和存储介质 | |
CN114422776A (zh) | 摄像设备的检测方法及装置、存储介质、电子装置 | |
CN109934870B (zh) | 目标检测方法、装置、设备、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |