CN114897973B - 轨迹检测方法、装置、计算机设备和存储介质 - Google Patents
轨迹检测方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN114897973B CN114897973B CN202210829606.0A CN202210829606A CN114897973B CN 114897973 B CN114897973 B CN 114897973B CN 202210829606 A CN202210829606 A CN 202210829606A CN 114897973 B CN114897973 B CN 114897973B
- Authority
- CN
- China
- Prior art keywords
- processed
- target
- video frame
- reverse
- track
- 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
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本申请涉及一种轨迹检测方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:对待处理视频中各视频帧进行目标检测,得到至少一个目标对象分别在每一视频帧中的对象位置;确定各目标对象在每一视频帧中满足第一置信度条件的第一对象位置,以及满足第二置信度条件的第二对象位置,按照待处理视频的正向时序,依次对每一视频帧中目标对象的第一对象位置进行正向轨迹匹配,得到多个正向轨迹;按照待处理视频的反向时序,依次对每一视频帧中目标对象的第二对象位置进行反向轨迹匹配、且结合多个正向轨迹进行轨迹关联处理,得到各个目标对象各自的运动轨迹。采用本方法能够对目标对象形成更加完整的运动轨迹。
Description
技术领域
本申请涉及视频技术领域,特别是涉及一种轨迹检测方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
多目标跟踪检测算法旨在连续的视频序列中持续检测多个目标。目前的多目标跟踪方法采用卡尔曼滤波算法预测目标的运动情况,并基于预测的运动情况将目标与轨迹进行关联,从而实现对目标的持续检测。
但是当目标外观发生大幅度变化、目标快速运动或者被遮挡时,目标的运动情况会变得更难以预测,这种情况下会存在丢失目标的问题,持续检测的准确性严重下降。
发明内容
基于此,有必要针对上述技术问题,提供一种能够实现对目标运动轨迹的精准检测的轨迹检测方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
一方面,本申请提供了一种轨迹检测方法。所述方法包括:
对待处理视频中各视频帧进行目标检测,得到待处理视频所包括的至少一个目标对象分别在每一视频帧中的对象位置;
确定各目标对象在每一视频帧中满足第一置信度条件的第一对象位置,以及满足第二置信度条件的第二对象位置,所述第一置信度条件所约束的范围小于所述第二置信度条件所约束的范围;
按照所述待处理视频的正向时序,依次对每一视频帧中目标对象的第一对象位置进行正向轨迹匹配,得到多个正向轨迹;
按照所述待处理视频的反向时序,依次对每一视频帧中目标对象的第二对象位置进行反向轨迹匹配、且结合所述多个正向轨迹进行轨迹关联处理,得到各个目标对象各自的运动轨迹。
另一方面,本申请还提供了一种多目标检测装置。所述装置包括:
检测模块,用于对待处理视频中各视频帧进行目标检测,得到待处理视频所包括的至少一个目标对象分别在每一视频帧中的对象位置;
确定模块,用于确定各目标对象在每一视频帧中满足第一置信度条件的第一对象位置,以及满足第二置信度条件的第二对象位置,所述第一置信度条件所约束的范围小于所述第二置信度条件所约束的范围;
正向模块,用于按照所述待处理视频的正向时序,依次对每一视频帧中目标对象的第一对象位置进行正向轨迹匹配,得到多个正向轨迹;
反向模块,用于按照所述待处理视频的反向时序,依次对每一视频帧中目标对象的第二对象位置进行反向轨迹匹配、且结合所述多个正向轨迹进行轨迹关联处理,得到各个目标对象各自的运动轨迹。
在一些实施例中,所述确定模块还用于对于每个目标对象,将每一视频帧中相应置信度高于第一预设阈值的对象位置,作为第一对象位置;对于每个目标对象,将每一视频帧中相应置信度高于第二预设阈值的对象位置,作为第二对象位置;其中,第二预设阈值低于第一预设阈值。
在一些实施例中,所述正向模块还用于按照待处理视频的正向时序,确定本次的待处理正向视频帧;基于待处理正向视频帧之前的历史正向视频帧,确定多个历史正向轨迹;历史正向轨迹中的各历史对象位置按照正向时序进行排列;对于待处理正向视频帧中的每个目标对象,分别将相应目标对象在待处理正向视频帧中的第一对象位置与各个历史正向轨迹进行匹配,并基于匹配结果更新各历史正向轨迹;将待处理视频中的下一正向视频帧作为下次的待处理正向视频帧,并返回至基于待处理正向视频帧之前的历史正向视频帧,确定多个历史正向轨迹的步骤继续执行,直至全部正向视频帧完成处理,得到多个正向轨迹。
在一些实施例中,所述正向模块还用于对于待处理正向视频帧中的每个目标对象,在相应目标对象在待处理正向视频帧中的第一对象位置与任一历史正向轨迹均不匹配的情况下,基于未匹配成功的第一对象位置构建新的轨迹;其中,本次构建的新的轨迹用于构成下次处理过程中新增的历史正向轨迹。
在一些实施例中,所述正向模块还用于对于待处理正向视频帧中的每个目标对象,确定相应目标对象分别与各个历史正向轨迹的特征距离,并基于各特征距离建立第一匹配代价矩阵;在第一匹配代价矩阵的约束下,确定与各目标对象在待处理正向视频帧中的第一对象位置相匹配的历史正向轨迹。
在一些实施例中,所述正向模块还用于对于待处理正向视频帧中的每个目标对象,分别确定相应目标对象在待处理正向视频帧中的第一对象位置、与由各个历史正向轨迹确定的各预测位置之间的位置距离,并基于各位置距离建立第二匹配代价矩阵;确定待处理正向视频帧中未匹配成功的目标对象,并在第二匹配代价矩阵的约束下,确定与未匹配成功的目标对象在待处理正向视频帧中的第一对象位置相匹配的历史正向轨迹。
在一些实施例中,所述反向模块还用于按照待处理视频的反向时序,确定本次的待处理反向视频帧;基于待处理反向视频帧之前的历史反向视频帧,确定多个历史反向轨迹;历史反向轨迹中的各历史对象位置按照反向时序进行排列;对于待处理反向视频帧中的每个目标对象,分别将相应目标对象在待处理反向视频帧中的第二对象位置与各个历史反向轨迹进行匹配,确定具有匹配关系的目标第二对象位置和目标历史反向轨迹;在对应于目标第二对象位置的目标对象关联有正向轨迹的情况下,将所关联的正向轨迹与目标反向轨迹进行轨迹关联处理,得到与相应目标对象对应的运动轨迹;将待处理视频中的下一反向视频帧作为下次的待处理反向视频帧,并返回至基于待处理反向视频帧之前的历史反向视频帧,确定多个历史反向轨迹的步骤继续执行,直至全部反向视频帧完成处理,得到各个目标对象各自的运动轨迹。
在一些实施例中,所述反向模块还用于对于待处理反向视频帧中的每个目标对象,确定相应目标对象在待处理反向视频帧中的当前第二对象位置、与由各个历史反向轨迹确定的各预测位置之间的位置距离,并基于各位置距离建立第三匹配代价矩阵;在第三匹配代价矩阵的约束下,确定与各目标对象在待处理反向视频帧中的第二对象位置相匹配的历史反向轨迹;对于待处理反向视频帧中的每个目标对象,确定匹配成功的目标第二对象位置与相应的目标历史反向轨迹。
在一些实施例中,所述反向模块还用于在对应于目标第二对象位置的目标对象与任一正向轨迹均不关联的情况下,基于与目标第二对象位置相匹配的目标历史反向轨迹,构建新的轨迹;本次构建的新的轨迹用于构成下次处理过程中新增的历史反向轨迹。
在一些实施例中,上述装置还包括聚焦模块,用于确定待处理视频中待聚焦的第一指定对象;获取待处理视频中第一指定对象的目标运动轨迹,并基于目标运动轨迹对第一指定对象进行聚焦处理。
在一些实施例中,上述装置还包括识别模块,用于确定待处理视频中待匹配的第二指定对象,并确定目标指定对象;获取待处理视频中第二指定对象的目标运动轨迹,并基于目标运动轨迹中第二指定对象的多种对象姿态,确定第二指定对象与目标指定对象是否为同一对象。
另一方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述轨迹检测方法的步骤。
另一方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述轨迹检测方法的步骤。
另一方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述轨迹检测方法的步骤。
上述轨迹检测方法、装置、计算机设备、存储介质和计算机程序产品,通过对待处理视频中的每一视频帧进行目标检测,得到至少一个目标对象各自对应的对象位置,在正向时序的处理过程中,以第一置信度条件约束的第一对象位置进行正向轨迹匹配,得到多个正向轨迹,在约束范围相对较小的置信度条件的约束下,能确保所得到的正向轨迹是较为精确的结果。在正向时序的处理完成后,再以反向时序再进行处理;在反向时序的处理过程中,以第二置信度条件约束的第二对象位置进行反向轨迹匹配,在约束范围相对较大的置信度条件的约束下,能够将正向检测时遗漏的检测结果重新利用上,由此能够将匹配的反向轨迹与正向轨迹进行关联,能够将正向时序的处理过程中零散的轨迹重新关联起来,使得各个目标对象的运动轨迹更加完整,提高了目标轨迹检测的准确度。
附图说明
图1为一个实施例中轨迹检测方法的应用环境图;
图2为一个实施例中轨迹检测方法的流程示意图;
图3为一个实施例中视频轨迹检测输出的结果可视化示意图;
图4为另一个实施例中正向处理流程的流程示意图;
图5A为一个实施例中正向轨迹匹配的原理示意图;
图5B为一个实施例中正向轨迹匹配的流程示意图;
图6为一个实施例中反向处理流程的流程示意图;
图7为一个实施例中正向轨迹与反向轨迹进行轨迹关联处理的原理示意图;
图8A为一个实施例中反向轨迹匹配的原理示意图;
图8B为一个实施例中反向轨迹匹配的流程示意图;
图9为一个实施例中轨迹检测方法的框架图;
图10A为一个实施例中轨迹关联的示意图;
图10B为另一个实施例中轨迹关联的示意图;
图11为一个实施例中轨迹检测装置的结构框图;
图12为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在对视频中的多个目标进行持续检测时,持续检测的结果的准确性受到多重因素的影响,例如目标遮挡、物体形变、光照变化或者快速运动等。
譬如,在安防检测或辅助驾驶等场景下,通常使用固定摄像头获取视频,视频帧中的目标(例如车辆、行人、或者动物等)一般在单一镜头中进行连续、有序的运动,并在一定范围内发生位移。在这些场景下,通常会由于目标被遮挡或者目标高速运动等情况,导致丢失目标而无法实现准确的持续检测。
又如,在电视剧、电影、或者综艺等视频类型中,为了捕捉各个角度的目标,视频画面会发生非常频繁且不同角度的切换,目标可能会发生大范围、大角度的运动变化,这就导致目标的运动情况难以预测,进而造成对目标持续检测的精度严重下降。
目前的多目标跟踪方法,往往依赖于目标和轨迹之间的匹配情况来实现多目标物体的持续检测,但是当物体外观发生大幅度变化、外观表征欠佳或镜头切换的情况时,这些方法仍然不能正确地将目标和现有的轨迹进行匹配关联,导致同一目标的真实运动轨迹被拆分成大量零散的轨迹。
有鉴于此,本申请实施例提供一种轨迹检测方法,综合多向预测实现多目标轨迹检测,通过分别在视频的正向时序和反向时序中关联目标,构建目标完整的运动轨迹,解决先前多目标跟踪方法无法正确预测目标复杂运动的问题。此外,本申请实施例提供的轨迹检测方法,在反向时序的关联过程中能够利用上包括低置信度的目标,能够构建出更加完整的运动轨迹,从而实现对目标复杂运动的持续预测,进而能够提高目标轨迹检测的准确度。
本申请实施例提供的轨迹检测方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以单独部署,也可以集成在服务器104上,或者部署在云上或其他服务器上。
终端102获取待处理视频,并对待处理视频中的各视频帧进行目标检测,得到每一视频帧中各个目标对象的对象位置。对于正向检测阶段,终端102基于所确定的各目标对象在每一视频帧中的第一对象位置,按照待处理视频的正向时序,依次对每一视频帧中目标对象的第一对象位置进行正向轨迹匹配,得到多个正向轨迹。在对待处理视频的全部视频帧完成正向检测后,终端102再对视频进行反向检测。在反向检测阶段,终端102基于所确定的各目标对象在每一视频帧中的第二对象位置,按照待处理视频的反向时序,依次对每一视频帧中目标对象的第二对象位置进行反向轨迹匹配、且结合多个正向轨迹进行轨迹关联处理,得到各个目标对象各自的运动轨迹。其中,第一对象位置满足第一置信度条件,第二对象位置满足第二置信度条件,且第一置信度条件所约束的范围小于第二置信度条件所约束的范围。上述步骤也可以由服务器104执行,或者由终端102与服务器104协同执行。例如,服务器104获取由终端102传输的待处理视频,并进行后续处理步骤,以得到待处理视频中至少一个目标对象各自对应的运动轨迹。
其中,终端102可以但不限于是各种台式计算机、笔记本电脑、智能手机、平板电脑、物联网设备、或者便携式可穿戴设备。物联网设备可为智能音箱、智能电视、智能空调、或者智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、或者头戴设备等。
其中,服务器104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、或者大数据和人工智能平台等基础云计算服务的云服务器。
在一些实施例中,终端上可装载有APP(Application)应用程序或具备视频播放功能的应用程序,包括传统需要单独安装的应用程序、或者不需要下载安装即可使用的小程序应用。终端可以通过应用程序播放视频等。
在一个实施例中,如图2所示,提供了一种轨迹检测方法,该方法可以由终端或服务器单独执行,也可以由终端或服务器协同执行。下面以该方法应用于计算机设备为例进行说明,该计算机设备可以是终端或服务器,包括以下步骤:
步骤S202,对待处理视频中各视频帧进行目标检测,得到待处理视频所包括的至少一个目标对象分别在每一视频帧中的对象位置。
其中,待处理视频中包括有至少一个对象,每个对象可以在待处理视频的一个视频帧、多个视频帧、或者全部视频帧中出现。对象可以为物体、动物、或者人类等。在轨迹检测任务中,待检测运动轨迹的对象可以被称之为目标对象。目标对象可以为待处理视频中的全部对象,也可以是任务中所指定的一个、两个或两个以上对象。
其中,对象位置用于表征目标对象在视频帧中的位置。对象位置可以通过检测框、或者像素坐标值等方式来表征。
具体地,计算机设备获取待处理视频,并对待处理视频的每一视频帧均进行目标检测,以输出每一视频帧中至少一个目标对象各自对应的对象位置。
其中,计算机设备可以利用目标检测算法对视频帧进行目标检测,以输出该视频帧中各个目标对象各自对应的对象位置。目标检测算法包括但不限于R-CNN (Region-CNN,区域卷积神经网络)、FastR-CNN(Fast R-CNN,快速区域卷积神经网络)、Sort(SimpleOnline And Real-Time Tracking,一种基于位置和运动信息的多目标跟踪算法)、或者DeepSort(Simple Online and Realtime Tracking With a Deep Association Metric,一种基于运动模版和外观模版的多目标跟踪算法)等中的一种或多种。
在一个实施例中,计算机设备对视频帧进行目标检测,以检测框的形式标注该视频帧中各个目标对象各自对应的对象位置,同时还输出各个对象位置对应的置信度,即检测框对应的置信度。
步骤S204,确定各目标对象在每一视频帧中满足第一置信度条件的第一对象位置,以及满足第二置信度条件的第二对象位置,第一置信度条件所约束的范围小于第二置信度条件所约束的范围。
其中,在正向时序的处理过程和反向时序的处理过程中,二者所使用的对象位置的范围不同。在以正向时序进行处理时,为了得到一个较为准确的检测结果,应当以较为准确的对象位置进行计算,以确保所得到的各个正向轨迹的准确性。而在反向时序的处理过程中,所利用的信息应当更加丰富,从而实现对正向轨迹的填补。因此,第一置信度条件所约束的范围应当小于第二置信度条件所约束的范围。示例性地,第一置信度条件所设置的置信度阈值高于第二置信度条件所设置的置信度阈值。
具体地,计算机设备对于每一个目标对象对应于各个视频帧中的对象位置,利用第一置信度条件进行筛选,得到满足第一置信度条件的第一对象位置,以用于正向时序的处理过程。对于每一个目标对象对应于各个视频帧中的对象位置,利用第二置信度条件进行筛选,得到满足第二置信度条件的第二对象位置,以用于反向时序的处理过程。
步骤S206,按照待处理视频的正向时序,依次对每一视频帧中目标对象的第一对象位置进行正向轨迹匹配,得到多个正向轨迹。
其中,正向时序指的是视频的播放顺序,反向时序即为播放顺序的逆时序。依照正向时序的处理过程可被称之为正向检测,依照反向时序的处理过程可被称之为反向检测。当然,在一个实施例中,正向时序和反向时序所指代的顺序可以调换,例如正向时序为播放顺序的逆时序,反向时序为播放顺序等。为了便于理解,本申请实施例中,以视频的播放顺序作为待处理视频的正向时序。
具体地,计算机设备首先按照正向时序,依次待处理视频中的每一视频帧。对于当前的视频帧,计算机设备基于该视频帧中检测到的各个目标对象的第一对象位置,分别将该第一对象位置与由当前帧之前的各个历史视频帧所形成的历史正向轨迹进行匹配,并将匹配成功的第一对象位置,添加至与该第一对象位置相匹配的历史正向轨迹中,以对历史正向轨迹进行更新。
由此,在对下一帧进行处理时,上一帧得到的更新的历史正向轨迹,即可作为下一帧用于匹配的历史正向轨迹。对于每一视频帧,计算机设备均进行上述处理,由此迭代遍历直至全部视频帧完成正向轨迹匹配,将最终更新得到的多个历史正向轨迹,作为多个正向轨迹。
步骤S208,按照待处理视频的反向时序,依次对每一视频帧中目标对象的第二对象位置进行反向轨迹匹配、且结合多个正向轨迹进行轨迹关联处理,得到各个目标对象各自的运动轨迹。
具体地,在正向时序的处理完成后,计算机设备再按照反向时序依次待处理视频中的每一视频帧。同样地,对于当前的视频帧,计算机设备基于该视频帧中检测到的各个目标对象的第二对象位置,分别将该第二对象位置与由当前帧之前的各个历史视频帧所形成的历史反向轨迹进行匹配。对于匹配成功的第二对象位置,计算机设备再判断其是否与已有的多个正向轨迹相关联。在与历史反向轨迹相匹配的第二对象位置,同时也与某一正向轨迹存在关联的情况下,计算机设备将相应的历史反向轨迹与该正向轨迹进行轨迹关联处理,由此,得到该目标对象对应的完整的运动轨迹。
其中,判断第二对象位置是否与某一正向轨迹存在关联,即判断该第二对象位置是否存在于某一正向轨迹中。示例性地,计算机设备在对每一视频帧进行目标检测时,同时为所检测到的各个不同的目标对象分别分配一个标识,相同的标识表示相应的对象位置属于同一个目标对象。则在判断第二对象位置是否存在于某一正向轨迹中时,计算机设备可以判断该第二对象位置对应的标识,是否存在相应具有同一标识的正向轨迹。若第二对象位置对应的标识1,同时存在对应于标识1的正向轨迹,则判断该第二对象位置与该正向轨迹存在关联。
对于其他目标对象均进行上述处理。对于每一视频帧,计算机设备均进行上述处理,由此迭代遍历直至全部视频帧完成反向轨迹匹配与关联,得到至少一个目标对象对应的运动轨迹。
示例性地,如图3所示,基于本申请实施例提供的轨迹检测方法,对于一个视频进行处理后,输出视频帧中目标对象A和目标对象B的检测结果。其中,目标对象的对象位置以面部的检测框的形式表征,目标对象A和目标对象B通过检测框左上角的标识来区分,例如目标对象A对应于标识1,目标对象B对应于标识2。多帧视频帧中同一个标识表示的对象位置,属于同一个目标对象的运动轨迹。
上述轨迹检测方法中,通过对待处理视频中的每一视频帧进行目标检测,得到至少一个目标对象各自对应的对象位置,在正向时序的处理过程中,以第一置信度条件约束的第一对象位置进行正向轨迹匹配,得到多个正向轨迹。在正向时序的处理完成后,再以反向时序再进行处理;在反向时序的处理过程中,以第二置信度条件约束的第二对象位置进行反向轨迹匹配,并将匹配的反向轨迹与正向轨迹进行关联,由此能够将正向时序的处理过程中零散的轨迹重新关联起来,使得各个目标对象的运动轨迹更加完整,提高了多目标轨迹检测的准确度。
换言之,本申请实施例提供的轨迹检测方法,在正向时序进行轨迹预测的基础上,结合从视频时间轴的逆方向开始轨迹预测得到的反向轨迹,将正向预测时产生的零散轨迹重新关联起来,从而完成对复杂运动的目标对象的轨迹预测。通过结合正向时序和反向时序的多向预测,在反向预测的过程中,低置信度的目标对象重新参与到轨迹匹配中,填补了正向预测时产生的轨迹序列,提高了目标对象的运动轨迹的完整性。通过在反向检测的过程中,将正向检测过程中可能因遮挡、低清、或模糊而导致检测置信度偏低的真实目标重新进行充分地利用,能够利用到全量的信息从而避免轨迹缺失,极大地保证了轨迹的完整性。
在正向时序的处理过程和反向时序的处理过程中,二者所使用的对象位置的范围不同。在以正向时序进行处理时,为了得到一个较为准确的检测结果,应当使用高置信度的对象位置,以确保所得到的各个正向轨迹的准确性。而在正向时序处理的基础上,为了进一步提高运动轨迹的完整性,在以反向时序进行处理时,应当将正向时序处理时舍弃的低置信度的对象位置重新利用上,并且在正向时序处理完成后提供的先验基础上,结合反向轨迹和正向轨迹,由此得到目标对象的完整、准确的运动轨迹。
为此,在一个实施例中,确定各目标对象在每一视频帧中满足第一置信度条件的第一对象位置,以及满足第二置信度条件的第二对象位置,包括:对于每个目标对象,将每一视频帧中相应置信度高于第一预设阈值的对象位置,作为第一对象位置;对于每个目标对象,将每一视频帧中相应置信度高于第二预设阈值的对象位置,作为第二对象位置;其中,第二预设阈值低于第一预设阈值。
具体地,计算机设备分别确定用于正向时序处理和反向时序处理时所利用的对象位置的范围。即,对于正向时序处理过程,计算机设备确定每一视频帧中各个目标对象各自对应的对象位置,并根据预设的第一预设阈值,将置信度高于该第一预设阈值的对象位置,作为用于正向时序处理的第一对象位置。
同样地,对于反向时序处理过程,计算机设备确定每一视频帧中各个目标对象各自对应的对象位置,并根据预设的第二预设阈值,将置信度高于该第二预设阈值的对象位置,作为用于反向时序处理的第二对象位置。
为了保证正向时序处理时对象位置的置信度高于反向时时序处理对象位置的置信度,第一预设阈值应当高于第二预设阈值。例如,第一预设阈值为0.8,则高于该第一预设阈值的第一对象位置为高置信度的对象位置;第二预设阈值可以为0.2,则高于该第二预设阈值的第二对象位置为低置信度的对象位置。所谓的高置信度与低置信度是基于正向时序处理过程与反向时序处理过程相对而言,并非一个绝对的阈值标准。
示例性地,为了在反向时序处理过程中利用上全量的信息,第二预设阈值可以为0;则在反向时序处理过程中,所检测到的各个视频帧的目标对象的对象位置均参与到轨迹匹配中,从而填补了正向轨迹,提高了检测到的轨迹的完整性。
上述实施例中,通过在反向时序处理过程中,利用上在正向时序处理过程中因遮挡、低清、或者模糊而丢弃的置信度偏低的检测结果,将低置信度的检测结果也参与到目标对象与轨迹的匹配中,目标对象的运动轨迹能更完整地覆盖同一目标对象的所有运动位置,能够提高轨迹检测的准确性。
下面依次介绍正向时序处理过程和反向时序处理过程。
对于正向时序处理过程,计算机设备按照待处理视频的正向时序,依次处理每一视频帧。在一个实施例中,如图4所示,按照待处理视频的正向时序,依次对每一视频帧中目标对象的第一对象位置进行正向轨迹匹配,得到多个正向轨迹,包括:
步骤S402,按照待处理视频的正向时序,确定本次的待处理正向视频帧。
步骤S404,基于待处理正向视频帧之前的历史正向视频帧,确定多个历史正向轨迹;历史正向轨迹中的各历史对象位置按照正向时序进行排列。
步骤S406,对于待处理正向视频帧中的每个目标对象,分别将相应目标对象在待处理正向视频帧中的第一对象位置与各个历史正向轨迹进行匹配,并基于匹配结果更新各历史正向轨迹;
步骤S408,将待处理视频中的下一正向视频帧作为下次的待处理正向视频帧,并返回至基于待处理正向视频帧之前的历史正向视频帧,确定多个历史正向轨迹的步骤继续执行,直至全部正向视频帧完成处理,得到多个正向轨迹。
具体地,计算机设备在按照待处理视频的正向时序处理每一视频帧的过程中,确定本次的待处理正向视频帧。在本次的待处理正向视频帧之前,各个历史正向视频帧中的历史对象位置,按照正向时序形成了多个历史正向轨迹。每个历史正向轨迹分别对应于一个目标对象。其中,历史对象位置为历史正向视频帧中满足第一预设阈值条件的第一对象位置。
对于待处理正向视频帧中的其中一个目标对象,计算机设备获取该目标对象在当前的待处理正向视频帧中的第一对象位置,并基于该第一对象位置与各个历史正向轨迹进行匹配。对于待处理正向视频帧中的各个目标对象,均进行如上处理。其中,匹配方式包括但不限于二分图匹配等。匹配结果包括相匹配的第一对象位置与相应的历史正向轨迹。
在第一对象位置与某一个历史正向轨迹匹配的情况下,计算机设备基于匹配结果,将该第一对象位置添加至该历史正向轨迹中,以完成对历史正向轨迹的更新。具体而言,计算机设备将该第一对象位置添加至该历史正向轨迹中当前的待处理正向视频帧对应的序列位置上。
示例性地,如图5A所示,在正向匹配的过程中,本次的待处理正向视频帧即为当前帧,计算机设备获取当前帧中检测到的目标对象的第一对象位置,例如为高于第一预设阈值的第一对象位置,即高置信度的检测结果。例如,当前帧中检测到目标对象P2的第一对象位置x和目标对象P3的第一对象位置y。其他的目标对象可能存在未被检测到、或者检测到但置信度偏低而被舍弃等情况。
在当前帧之前,历史的各个正向视频帧中各个目标对象的第一对象位置,分别形成了多个历史正向轨迹,例如对应于目标对象P1的历史正向轨迹{P1}、对应于目标对象P2的历史正向轨迹{P2}、对应于目标对象P3的历史正向轨迹{P3}、以及对应于目标对象P4的历史正向轨迹{P4}。
对于所检测到的目标对象P2,计算机设备分别将其第一对象位置x与各个历史正向轨迹进行匹配。在第一对象位置x与历史正向轨迹{P2}相匹配的情况下,计算机设备将该第一对象位置x加入到该历史正向轨迹{P2}中,从而对历史正向轨迹{P2}进行更新,得到更新的历史正向轨迹{P2’}。在下一正向视频帧进行处理时,本次处理时更新的历史正向轨迹{P2’}即作为下一正向视频帧所对应的历史正向轨迹。
同样地,对于所检测到的目标对象P3,计算机设备分别将其第一对象位置y与各个历史正向轨迹进行匹配,在第一对象位置y与历史正向轨迹{P3}相匹配的情况下,计算机设备将该第一对象位置y加入到该历史正向轨迹{P3}中,从而对历史正向轨迹{P3}进行更新,得到更新的历史正向轨迹{P3’}。
而由于当前帧中未对目标对象P1和目标对象P4分别对应的历史正向轨迹{P1}和历史正向轨迹{P4}进行更新,因此当前帧对应的检测结果中,目标对象P1和目标对象P4分别对应的历史正向轨迹{P1’}和历史正向轨迹{P4’},与当前帧处理前的历史正向轨迹{P1}和历史正向轨迹{P4}相比没有发生变化。
由此,完成了对当前的待处理视频帧的正向轨迹匹配,实现了对目标对象的轨迹的持续检测。之后,计算机设备继续处理下一正向视频帧。具体地,计算机设备按照正向时序,将下一正向视频帧作为下次的待处理正向视频帧,并再次执行上述步骤S404~步骤S406。按照上述方式,计算机设备按照正向时序遍历处理每一个视频帧,直至全部视频帧均完成处理。此时,计算机设备将最终更新得到的多个历史轨迹,作为正向时序处理过程最终得到的多个正向轨迹。
在上述实施例中,通过正向时序的轨迹匹配处理,将目标对象在每一帧中的运动位置关联起来,能够初步形成较为准确的运动轨迹。
在一个可能的场景中,视频的前N帧均未出现目标对象P5,而在第N+1帧时,目标对象P5出现在视频帧中并被检测到。而此时并不存在与目标对象P5对应的历史正向轨迹。因此,在这种情况下,在一个实施例中,上述方法还包括:对于待处理正向视频帧中的每个目标对象,在相应目标对象在待处理正向视频帧中的第一对象位置与任一历史正向轨迹均不匹配的情况下,基于未匹配成功的第一对象位置构建新的轨迹;其中,本次构建的新的轨迹用于构成下次处理过程中新增的历史正向轨迹。
具体地,对于待处理正向视频帧中的其中一个目标对象,计算机设备基于该目标对象在待处理正向视频帧中的第一对象位置,分别将该第一对象位置与各个历史正向轨迹进行匹配,若第一对象位置与全部历史正向轨迹均不匹配,则计算机设备对于该未能匹配成功的目标对象,基于当前帧的第一对象位置构建一个新的轨迹,该轨迹对应于该目标对象。由此,在下一正向视频帧进行匹配处理时,计算机设备将该构建的新的轨迹,作为与该未能匹配成功的目标对象对应的历史正向轨迹。
上述实施例中,对于未完成匹配的目标对象,通过构建新的轨迹,在迭代处理的过程中用于下一次的正向匹配,避免遗漏目标对象,提高了多目标轨迹检测的准确性。
在一个实施例中,对于待处理正向视频帧中的每个目标对象,分别将相应目标对象在待处理正向视频帧中的第一对象位置与各个历史正向轨迹进行匹配,包括:对于待处理正向视频帧中的每个目标对象,确定相应目标对象分别与各个历史正向轨迹的特征距离,并基于各特征距离建立第一匹配代价矩阵;在第一匹配代价矩阵的约束下,确定与各目标对象在待处理正向视频帧中的第一对象位置相匹配的历史正向轨迹。
具体地,对于待处理正向视频帧中的每个目标对象,计算机设备计算相应目标对象分别与各个历史正向轨迹的特征距离。在一个实施例中,计算机设备分别计算一个目标对象的第一对象位置分别与一个历史正向轨迹中的各个对象位置之间的距离,并将距离最小值作为该目标对象与该历史正向轨迹之间的距离。示例性地,距离可以由余弦距离、欧氏距离、或者相似系数等中的一种或多种方式来表征。
以余弦距离为例,计算机设备分别计算目标对象在当前的待处理视频帧中的第一对象位置对应的特征向量,并计算该特征向量与历史正向轨迹中的各个对象位置对应的特征向量之间的余弦距离,并将最小的余弦距离作为第一对象位置与该历史正向轨迹的余弦距离。
由此,计算机设备基于各特征距离,建立第一匹配代价矩阵,并在第一匹配代价矩阵的约束下,将各个目标对象分别与各个历史正向轨迹进行匹配,从而确定与各目标对象在待处理正向视频帧中的第一对象位置相匹配的历史正向轨迹。
在一个实施例中,计算机设备基于第一匹配代价矩阵建立损失函数,并以最小化损失(即最小化匹配代价)为目标,寻找最优的匹配对,一个匹配对包括一个第一对象位置与相匹配的一个历史正向轨迹。
示例性地,计算机设备利用匈牙利算法进行二分图匹配,并设定匹配代价阈值。匹配完成后,计算机设备选取匹配代价位于该匹配代价阈值范围内的匹配对,并基于该匹配对的结果,确定哪一目标对象的第一对象位置与哪一历史正向轨迹相匹配。
上述实施例中,通过特征向量计算余弦距离来实现目标对象的对象位置与历史正向轨迹的匹配,能够得到一个较为准确的匹配结果。
在一个实施例中,对于待处理正向视频帧中的每个目标对象,分别将相应目标对象在待处理正向视频帧中的第一对象位置与各个历史正向轨迹进行匹配,还包括:对于待处理正向视频帧中的每个目标对象,分别确定相应目标对象在待处理正向视频帧中的第一对象位置、与由各个历史正向轨迹确定的各预测位置之间的位置距离,并基于各位置距离建立第二匹配代价矩阵;确定待处理正向视频帧中未匹配成功的目标对象,并在第二匹配代价矩阵的约束下,确定与未匹配成功的目标对象在待处理正向视频帧中的第一对象位置相匹配的历史正向轨迹。
具体地,计算机设备对于待处理正向视频帧中的每个目标对象,确定相应目标对象在待处理正向视频帧中的第一对象位置,并确定由当前帧之前的各个历史正向轨迹所确定的预测位置。
示例性地,计算机设备可以利用卡尔曼滤波算法,结合历史正向轨迹对当前帧的对象位置进行预测,得到预测位置。对于多个历史正向轨迹,可以得到分别与各个历史正向轨迹相对应的多个预测位置。
由此,计算机设备基于目标对象在当前帧中的第一对象位置,计算该第一对象位置与各个预测位置之间的距离,并基于各位置距离建立第二匹配代价矩阵。示例性地,第一对象位置与预测位置之间的距离,可以通过第一对象位置的检测框与预测位置的检测框之间的交并比(IoU,Intersection over Union)来表征。
由此,对于基于特征向量未匹配成功的目标对象,计算机设备在第二匹配代价矩阵的约束下,确定与未匹配成功的目标对象在待处理正向视频帧中的第一对象位置相匹配的历史正向轨迹。在一个实施例中,计算机设备基于第二匹配代价矩阵建立损失函数,并以最小化损失(即最小化匹配代价)为目标,寻找最优的匹配对,一个匹配对包括一个第一对象位置与相匹配的一个历史正向轨迹。
示例性地,计算机设备利用匈牙利算法进行二分图匹配,并设定匹配代价阈值。匹配完成后,计算机设备选取匹配代价位于该匹配代价阈值范围内的匹配对,并基于该匹配对的结果,确定哪一目标对象的第一对象位置与哪一历史正向轨迹相匹配。
对于正向检测的过程,其原理示意图可如图5B所示。计算机设备首先计算当前帧第一对象位置与各历史正向轨迹的余弦距离,然后将最小的余弦距离作为第一对象位置与历史正向轨迹的余弦距离。然后,计算机设备计算当前帧第一对象位置与各历史正向轨迹的交并比。然后将计算得到的余弦距离作为匹配代价,应用匈牙利算法完成二分图的匹配,匹配完成后只选取匹配代价在设定阈值范围内的匹配对,从而实现基于外观特征的目标轨迹检测。
然后,计算机设备再将计算得到的交并比作为匹配代价,对于未完成匹配的第一对象位置,应用匈牙利算法完成二分图的匹配,匹配完成后只选取匹配代价在设定阈值范围内的匹配对,从而实现根据运动信息的目标轨迹检测。运动信息则是通过历史正向轨迹中对象位置的变化来体现。最后,计算机设备将完成匹配的第一对象位置分别添加到相应匹配的历史正向轨迹中,未完成匹配的第一对象位置则初始化为新的轨迹。
由此,最终完成正向轨迹检测,形成各个目标对象匹配后的正向轨迹。
上述实施例中,对于未完成匹配的目标对象,通过构建新的轨迹,在迭代处理的过程中用于下一次的正向匹配,避免遗漏目标对象,提高了多目标轨迹检测的准确性。通过结合外观特征信息和运动信息,能够在正向阶段得到一个较为准确的初步轨迹结果。
在正向时序处理完成后,计算机设备再进行反向时序的处理过程。
对于反向时序处理过程,在一个实施例中,如图6所示,按照待处理视频的反向时序,依次对每一视频帧中目标对象的第二对象位置进行反向轨迹匹配、且结合多个正向轨迹进行轨迹关联处理,得到各个目标对象各自的运动轨迹,包括:
步骤S602,按照待处理视频的反向时序,确定本次的待处理反向视频帧。
步骤S604,基于待处理反向视频帧之前的历史反向视频帧,确定多个历史反向轨迹;历史反向轨迹中的各历史对象位置按照反向时序进行排列。
步骤S606,对于待处理反向视频帧中的每个目标对象,分别将相应目标对象在待处理反向视频帧中的第二对象位置与各个历史反向轨迹进行匹配,确定具有匹配关系的目标第二对象位置和目标历史反向轨迹。
步骤S608,在对应于目标第二对象位置的目标对象关联有正向轨迹的情况下,将所关联的正向轨迹与目标反向轨迹进行轨迹关联处理,得到与相应目标对象对应的运动轨迹。
步骤S610,将待处理视频中的下一反向视频帧作为下次的待处理反向视频帧,并返回至基于待处理反向视频帧之前的历史反向视频帧,确定多个历史反向轨迹的步骤继续执行,直至全部反向视频帧完成处理,得到各个目标对象各自的运动轨迹。
具体地,计算机设备在按照待处理视频的反向时序处理每一视频帧的过程中,确定本次的待处理反向视频帧。在本次的待处理反向视频帧之前,各个历史反向视频帧中的历史对象位置,按照反向时序形成了多个历史反向轨迹。每个历史反向轨迹分别对应于一个目标对象。其中,历史对象位置为历史反向视频帧中满足第二预设阈值条件的第二对象位置。
对于待处理反向视频帧中的其中一个目标对象,计算机设备获取该目标对象在当前的待处理反向视频帧中的第二对象位置,并基于该第二对象位置与各个历史反向轨迹进行匹配。对于待处理反向视频帧中的各个目标对象,均进行如上处理。其中,匹配方式包括但不限于二分图匹配等。匹配结果包括相匹配的第二对象位置与相应的历史反向轨迹。
在第二对象位置与某一个历史反向轨迹匹配的情况下,计算机设备将该具有匹配关系的第二对象位置和历史反向轨迹,确定为目标第二对象位置和目标历史反向轨迹。计算机设备再将目标第二对象位置与各个正向轨迹进行比较,判断该目标第二对象位置是否与某一正向轨迹相关联,即,判断该目标第二对象位置是否存在于某个正向轨迹中。
在对应于目标第二对象位置的目标对象关联有正向轨迹的情况下,计算机设备确定该目标第二对象位置所关联的正向轨迹,并将该正向轨迹与该目标反向轨迹进行轨迹关联处理,由此得到与该目标对象对应的完整的运动轨迹。
其中,将正向轨迹与反向轨迹进行轨迹关联处理,可以是将同一个目标对象的正向轨迹与反向轨迹进行合并。如图7所示,在正向时序处理完成后,对于目标对象Q,由于遮挡、模糊、或检测结果被舍弃等情况,位置3到位置1’之间产生了轨迹断裂,使得本应该是一条完整的运动轨迹,却被检测成两条零散的轨迹,第一条是从位置1到位置2到位置3,第二条是从位置1’到位置2’到位置3’。而在反向时序处理的过程中,由于第二置信度条件约束的范围大于第一置信度条件约束的范围,利用了低置信度的检测结果或是全量的检测结果,因此在第N帧检测到位置3时,能够将位置1’与位置3进行关联。
由此,计算机设备判断该位置3是否与正向轨迹相关联;在存在于正向轨迹的情况下,计算机设备将正向轨迹和反向轨迹进行合并,由此得到目标对象Q对应的一条完整的运动轨迹。
反之,在一个实施例中,按照待处理视频的反向时序,依次对每一视频帧中目标对象的第二对象位置进行反向轨迹匹配、且结合多个正向轨迹进行轨迹关联处理,得到各个目标对象各自的运动轨迹,包括:在对应于目标第二对象位置的目标对象与任一正向轨迹均不关联的情况下,基于与目标第二对象位置相匹配的目标历史反向轨迹,构建新的轨迹;本次构建的新的轨迹用于构成下次处理过程中新增的历史反向轨迹。
具体地,在对应于目标第二对象位置的目标对象与任一正向轨迹均不关联的情况下,即,对应于目标第二对象位置的目标对象不存在于任何已有的正向轨迹中时,计算机设备确定该目标对象为新增的目标对象,则基于与该目标对象对应的目标第二对象位置相匹配的目标历史反向轨迹,构建新的轨迹。例如,将该目标第二对象位置作为该新的轨迹中的第一帧图像。由此,在在下一反向视频帧进行匹配处理时,计算机设备将该构建的新的轨迹,作为与该新增的目标对象对应的历史反向轨迹。
如图8A所示,在反向匹配的过程中,本次的待处理反向视频帧即为当前帧,计算机设备获取当前帧中检测到的目标对象的第二对象位置,例如为高于第二预设阈值的第二对象位置,即包含了低置信度的检测结果。例如,当前帧中检测到目标对象P2的第二对象位置x’、目标对象P3的第二对象位置y’、以及目标对象P4的第二对象位置z’。其中,目标对象P4的第二对象位置z’假设为在正向匹配的过程中因置信度偏低而被舍弃。
在当前帧之前,历史的各个反向视频帧中各个目标对象的第二对象位置,分别形成了多个历史反向轨迹。例如对应于目标对象P1的历史反向轨迹{G1}、对应于目标对象P2的历史反向轨迹{G2}、对应于目标对象P3的历史反向轨迹{G3}、以及对应于目标对象P4的历史反向轨迹{G4}。对于高置信度的检测结果,与正向匹配的过程类似地,计算机设备将第二对象位置分别与各个历史反向轨迹进行匹配,并在匹配成功的情况下,判断其是否存在于已形成的正向轨迹中。若存在于相应的正向轨迹中,则将相应的正向轨迹与反向历史轨迹进行轨迹关联处理,即将两个轨迹进行合并,得到相应的目标对象对应的运动轨迹。例如,第二对象位置x’与历史反向轨迹{G2}相匹配,第二对象位置y’与历史反向轨迹{G3}相匹配。而第二对象位置x’存在于正向轨迹{P2}(正向轨迹{P2}为正向匹配过程中最终更新的历史正向轨迹)中,第二对象位置y’存在于正向轨迹{P3}中。因此,将历史反向轨迹{G2}与正向轨迹{P2}合并,形成对应于目标对象P2的运动轨迹{F2};将历史反向轨迹{G3}与正向轨迹{P3}合并,形成对应于目标对象P3的运动轨迹{F3}。
对于低置信度的检测结果,由于在正向检测的过程中被舍弃,因此不存在与其相关联的正向轨迹。因此,对于与历史反向轨迹相匹配、且不存在于任一正向轨迹中的第二对象位置,计算机设备基于该第二对象位置形成新的轨迹,该新的轨迹对应于该新的目标对象的运动轨迹。例如,对于当前的待处理反向视频帧中目标对象P4的第二对象位置z’,计算机设备确定其与历史反向轨迹{G4}相匹配,但由于其置信度偏低,在正向匹配的过程中被舍弃,因此不存在于正向轨迹中。由此,计算机设备将第二对象位置z’加入至历史反向轨迹{G4}中,更新该历史反向轨迹{G4}形成新的历史反向轨迹{G4’}。在下一反向视频帧进行处理时,本次处理时更新的历史反向轨迹{G4’}即作为下一反向视频帧所对应的历史反向轨迹。对于每一视频帧进行遍历后,基于最终更新得到的历史反向轨迹,即可获得对应于目标对象P4的运动轨迹。
而由于当前帧中未对目标对象P1对应的历史反向轨迹{G1}进行更新,因此在对当前帧进行轨迹检测之后,目标对象P1对应的历史反向轨迹{G1’}与当前帧处理前的历史反向轨迹{G1}相比没有发生变化。
上述实施例中,能够对视频中出现的各个目标对象均捕捉到相应的轨迹,对于正向检测过程中因种种因素被遗漏或丢弃的目标对象,能够重新获取其相应轨迹,提高了多目标轨迹检测的完整性和准确性,同时通过构建新的轨迹,在迭代处理的过程中用于下一次的反向匹配,避免遗漏目标对象。
在对当前的待处理反向视频帧完成反向轨迹匹配后,计算机设备按照反向时序,将待处理视频中的下一反向视频帧作为下次的待处理反向视频帧,并返回至基于待处理反向视频帧之前的历史反向视频帧,确定多个历史反向轨迹的步骤继续执行,直至全部反向视频帧完成处理,得到各个目标对象各自的运动轨迹。
由此,完成了对当前的待处理视频帧的反向轨迹匹配,实现了对目标对象的轨迹检测。之后,计算机设备继续处理下一反向视频帧。具体地,计算机设备按照反向时序,将下一反向视频帧作为下次的待处理反向视频帧,并再次执行上述步骤S604~步骤S608。按照上述方式,计算机设备按照反向时序遍历处理每一个视频帧,直至全部视频帧均完成处理。此时,计算机设备将得到的多个历史轨迹与正向时序处理时得到的正向轨迹进行了关联,作为正向时序处理过程最终得到的多个正向轨迹。
上述实施例中,对于正向检测过程中因种种因素被遗漏或丢弃的目标对象,能够重新获取其相应轨迹,解决了轨迹断裂的问题,使得轨迹能更完整地覆盖同一目标的所有运动位置,提高了多目标轨迹检测的完整性和准确性。
在一个实施例中,对于待处理反向视频帧中的每个目标对象,分别将相应目标对象在待处理反向视频帧中的第二对象位置与各个历史反向轨迹进行匹配,确定具有匹配关系的目标第二对象位置和目标历史反向轨迹,包括:对于待处理反向视频帧中的每个目标对象,确定相应目标对象在待处理反向视频帧中的当前第二对象位置、与由各个历史反向轨迹确定的各预测位置之间的位置距离,并基于各位置距离建立第三匹配代价矩阵;在第三匹配代价矩阵的约束下,确定与各目标对象在待处理反向视频帧中的第二对象位置相匹配的历史反向轨迹;对于待处理反向视频帧中的每个目标对象,确定匹配成功的目标第二对象位置与相应的目标历史反向轨迹。
具体地,与正向检测类似地,计算机设备对于待处理反向视频帧中的每个目标对象,确定相应目标对象在待处理反向视频帧中的第二对象位置,并确定由当前帧之前的各个历史反向轨迹所确定的预测位置。
示例性地,计算机设备可以利用卡尔曼滤波算法,结合历史反向轨迹对当前帧的对象位置进行预测,得到预测位置。对于多个历史反向轨迹,可以得到分别与各个历史反向轨迹相对应的多个预测位置。
由此,计算机设备基于目标对象在当前帧中的第二对象位置,计算该第二对象位置与各个预测位置之间的距离,并基于各位置距离建立第三匹配代价矩阵。示例性地,第二对象位置与预测位置之间的距离,可以通过第二对象位置的检测框与预测位置的检测框之间的交并比来表征。
在一个实施例中,计算机设备基于第三匹配代价矩阵建立损失函数,并以最小化损失(即最小化匹配代价)为目标,寻找最优的匹配对,一个匹配对包括一个第二对象位置与相匹配的一个历史反向轨迹。
示例性地,计算机设备利用匈牙利算法进行二分图匹配,并设定匹配代价阈值。匹配完成后,计算机设备选取匹配代价位于该匹配代价阈值范围内的匹配对,并基于该匹配对的结果,确定哪一目标对象的第二对象位置与哪一历史反向轨迹相匹配。对于匹配成功的第二对象位置与相应的历史反向轨迹,将其作为目标第二对象位置与相应的目标历史反向轨迹,以用于后续的轨迹关联处理。
对于反向检测的过程,其原理示意图可如图8B所示。反向检测的过程在正向检测完成后进行,以视频反向时序进行检测,具体步骤例如包括:计算机设备获取正向检测过程中得到的正向轨迹,并获取当前帧的第二对象位置。然后,计算机设备计算当前帧第二对象位置与各个历史反向轨迹之间的交并比。然后,计算机设备将计算得到的交并比距离作为第二对象位置与历史反向轨迹的匹配代价,应用匈牙利算法完成二分图的匹配,匹配完成后只选取匹配代价在设定阈值范围内的匹配对,从而实现根据运动信息的目标轨迹检测。
然后,计算机设备判断上述步骤中完成匹配的第二对象位置,是否已存在于正向轨迹中;若存在,则计算机设备将正向匹配的轨迹加入到本次匹配到的历史反向轨迹中,实现正向轨迹与反向轨迹的关联,综合形成相应目标对象的运动轨迹。若不存在,则计算机设备将该第二对象位置加入到本次匹配到的历史反向轨迹中。对于未完成匹配的第二对象位置,计算机设备将其初始化为新的轨迹。由此,实现了目标对象的运动轨迹,该轨迹综合了正向和反向的轨迹检测结果,将此作为最终的轨迹检测结果。
上述实施例中,通过结合反向轨迹,将正向检测时产生的零散轨迹重新关联起来,填补了正向检测时产生的轨迹序列,提高了目标对象的运动轨迹的完整性。
在实际的应用场景中,基于视频中各个目标对象各自对应的运动轨迹,能够确定目标对象在视频中何处出现、出现在具体什么位置。对于想要聚焦的目标对象,则可以基于该目标对象的运动轨迹,对视频的每一帧进行相应处理,以使得视频在播放时聚焦显示该目标对象。
为此,在一个实施例中,上述方法还包括:确定待处理视频中待聚焦的第一指定对象;获取待处理视频中第一指定对象的目标运动轨迹,并基于目标运动轨迹对第一指定对象进行聚焦处理。
其中,聚焦处理指的是对指定对象进行突出显示,例如在指定对象周围添加标记、高亮轮廓、或者对除指定对象以外的图像区域进行虚化处理等。
具体地,计算机设备确定待处理视频中的第一指定对象,第一指定对象为待进行聚焦处理的目标对象。第一指定对象例如可以是根据计算机设备检测用户输入的指令而获取的。计算机设备获取该第一指定对象在待处理视频中的运动轨迹,即目标运动轨迹,并基于该目标运动轨迹,对该第一指定对象进行聚焦处理,以实现视频中对该第一指定对象的聚焦。例如,视频软件或视频网站可以提供“只看TA”功能,用户可以选择想要聚焦观看的目标对象,则视频在播放过程中对该目标对象进行聚焦处理。由此,用户能够根据喜好专注于想要观看的目标对象,实现更加个性化地观看与交互体验。
在实际的应用场景中,基于视频中各个目标对象各自对应的运动轨迹,能够作为后续目标对象识别等算法的先验知识,能够提高目标对象识别的准确性,准确率和召回率更高。例如,在视频中可以确定欲关注的目标对象,并基于该目标对象的运动轨迹,对该目标对象进行准确地识别。
为此,在一个实施例中,上述方法还包括:确定待处理视频中待匹配的第二指定对象,并确定目标指定对象;获取待处理视频中第二指定对象的目标运动轨迹,并基于目标运动轨迹中第二指定对象的多种对象姿态,确定第二指定对象与目标指定对象是否为同一对象。
具体地,计算机设备确定待处理视频中的第二指定对象,第二指定对象为后续进行识别判断的目标对象。计算机设备还获取目标指定对象,目标指定对象作为对第二指定对象进行识别判断的参照和标准。计算机设备获取第二指定对象在待处理视频中的运动轨迹,即目标运动轨迹。由于在一条运动轨迹中,第二指定对象的位置、对象姿态均会发生各种各样的变化,基于多种对象姿态对该第二指定对象进行识别,能够更加准确地判断其与目标指定对象是否为同一对象。
示例性地,计算机设备将目标运动轨迹中该第二指定对象的各种对象姿态输入至目标识别模型中,由目标识别模型进行识别以输出该第二指定对象与目标指定对象的匹配结果。目标识别模型例如为二分类模型,可以是预先训练好的神经网络模型等。
上述实施例中,在实现对视频画面中具有复杂运动变化的目标对象的运动轨迹进行持续检测、得到更加完整的运动轨迹的基础上,所得到的运动轨迹丰富了后续进行目标对象识别的先验信息,能够得到更准确的目标对象识别结果。
本申请还提供一种应用场景,该应用场景应用上述的轨迹检测方法。具体地,该轨迹检测方法在该应用场景的应用例如如下:终端或服务器获取待处理视频,对待处理视频中各视频帧进行目标检测,得到待处理视频所包括的至少一个目标对象分别在每一视频帧中的对象位置;首先进行正向时序处理,按照待处理视频的正向时序,依次对每一视频帧中、满足第一置信度条件的第一对象位置进行正向轨迹匹配,得到多个正向轨迹;然后进行反向时序处理,按照待处理视频的反向时序,依次对每一视频帧中、满足第二置信度条件的第二对象位置进行反向轨迹匹配,并在第二对象位置与反向轨迹相匹配的情况下,将所匹配的反向轨迹与正向轨迹进行轨迹关联处理,由此得到各个目标对象的完整的运动轨迹。在得到各个目标对象的运动轨迹后,终端或服务器可以进行存储,以供后续据此实现不同的功能。
当然并不局限于此,本申请提供的多目标轨迹检测还可以应用在其他应用场景中,例如车辆检测和识别、动物检测与识别、或者行人检测与识别等。所应用的功能场景例如在线视频、在线直播、或者在线会议等等。
本申请实施例提供的轨迹检测方法可以应用于安防检测、辅助驾驶、或者视频理解等领域中,输出同一目标物体在视频的各个视频帧中的空间位置信息,以辅助后续算法执行不同的功能。
可以理解的是,本申请实施例提供的轨迹检测方法可以应用于安防检测、辅助驾驶系统、或者车流量分析系统等固定单一镜头的场景,也可以应用于电影、电视剧、或者综艺等多镜头的视频场景。在这些场景中,本方法能够实现视频每帧画面中多个目标的检测和关联,检测多个目标的运动情况并输出各个目标在时间轴和画面中的位置。尤其在视频场景的内容理解场景中,由于目标的运动情况复杂、以及镜头切换情况较多,本方法通过结合正向检测和反向检测能够实现对目标更稳定的轨迹检测效果,性能更加凸显。
在一个具体的示例中,结合图9所示的框架流程图,进一步说明本申请实施例的发明构思。如图9所示,本申请实施例提出的轨迹检测方法,整体流程上主要包括如下几个步骤:目标检测、目标识别、正向检测、以及反向检测。该方法通用于所有类别物体的目标轨迹检测,在本示例中以面部为例进行说明。本申请将整体轨迹检测流程分成正向检测和反向检测两个阶段,在反向检测过程中考虑了包含低置信度的检测结果,并用新的匹配策略完成正向轨迹检测结果与反向轨迹检测结果的结合,得到完整的多目标运动轨迹。整体流程描述如下:
第一步:计算机设备利用检测算法对视频中视频帧进行面部检测,得到每一帧中的多个面部边界框和相应的置信度,根据置信度阈值可以将面部的检测结果分为高置信度面部和低置信度面部。
第二步:计算机设备计算每个面部的检测结果相对应的特征向量,以用于后续的匹配计算。计算机设备可以利用预先训练好的面部识别模型,计算所有检测得到的面部图像的特征向量,得到该目标对象对应于每一帧的面部特征图。
第三步:计算机设备按照正向时序,完成正向检测的处理过程。对于每一视频帧,计算机设备完成当前帧的高置信度面部与历史正向轨迹的匹配,使属于同一个目标对象的面部形成正向轨迹。正向检测的步骤完成后,形成第一阶段的面部正向轨迹。
第四步:计算机设备按照反向时序,完成反向检测的处理过程。对于每一视频帧,计算机设备完成当前帧的所有检测面部(包含了低置信度面部)与历史反向轨迹的匹配,并综合正向检测输出的正向轨迹,共同形成第二阶段的面部反向轨迹。
第五步:计算机设备对于每一视频帧、每一目标对象均进行处理,由此输出视频中所有目标对象的面部运动轨迹。
由此,通过利用全量的检测结果,结合正向检测和反向检测的两阶段检测,能够优化对目标复杂运动的持续检测,使得持续检测得到的轨迹更完整。目前的多目标跟踪方法在目标运动发生较大幅度的变化时,如快速转向、运动急停、或者变速运动等情况,如果外观信息不足以鲁棒地完成目标与轨迹的匹配的话,则往往会丢失目标,造成同一目标被分散到零散的轨迹中。本申请实施例提供的轨迹检测方法,能够很好地解决这一问题。如图10A所示,在正向检测过程中,能够将物体A在T-3时刻至T-2时刻的轨迹、T-2时刻至T-1时刻的轨迹分别进行关联,虽然T时刻的正向检测过程中丢失了目标,但在反向检测过程中能够重新关联上属于物体A的两个零散轨迹,即将T+1时刻至T时刻的轨迹、T时刻至T-1时刻的轨迹分别进行关联,由此能够将T-1时刻至T-2时刻的轨迹、T-2时刻至T-3时刻的轨迹分别进行关联。
换言之,在遇到目标大幅度运动导致位置变化波动大的情况时,本方法能够解决轨迹断开的问题,实现对目标更稳定的轨迹检测效果。同时,如图10B所示,与图10A类似地,正向过程中物体A存在T-2时刻至T-1时刻的轨迹,但由于T时刻的位置丢失(例如置信度较低被舍弃),导致T-1时刻至T时刻的轨迹的关联丢失,即无法关联上T-1时刻至T时刻的轨迹,也无法关联上T时刻至T+1时刻的轨迹。而后续T+1时刻至T+2时刻的轨迹又恢复关联。本申请实施例提供的轨迹检测方法在反向预测的过程中,将正向检测过程中丢弃的检测目标(例如T时刻的低置信度的检测目标)参与到目标与轨迹的匹配当中,由此实现T+2时刻至T+1时刻、T+1时刻至T时刻、T时刻至T-1时刻、以及T-1时刻至T-2时刻的一一关联,由此形成物体A从T-2时刻至T+2时刻的完整的运动轨迹。由此,在正向检测时因检测置信度较低被舍弃的目标,在反向检测的过程中能够实现与已有的轨迹之间的匹配,得到的轨迹能更完整地覆盖同一目标的所有运动位置,轨迹检测的效果更加精准。
在一个具体的示例中,本申请实施例提出的轨迹检测方法包括如下步骤:
第一步:计算机设备对待处理视频中各视频帧进行目标检测,得到待处理视频所包括的至少一个目标对象分别在每一视频帧中的对象位置。
第二步:对于每个目标对象,计算机设备将每一视频帧中相应置信度高于第一预设阈值的对象位置作为第一对象位置,并将每一视频帧中相应置信度高于第二预设阈值的对象位置作为第二对象位置。
第三步:计算机设备按照待处理视频的正向时序,确定本次的待处理正向视频帧。计算机设备基于待处理正向视频帧之前的历史正向视频帧,确定多个历史正向轨迹。对于待处理正向视频帧中的每个目标对象,确定相应目标对象分别与各个历史正向轨迹的特征距离,并基于各特征距离建立第一匹配代价矩阵。在第一匹配代价矩阵的约束下,计算机设备确定与各目标对象在待处理正向视频帧中的第一对象位置相匹配的历史正向轨迹。对于待处理正向视频帧中的每个目标对象,在相应目标对象在待处理正向视频帧中的第一对象位置与任一历史正向轨迹均不匹配的情况下,基于未匹配成功的第一对象位置构建新的轨迹;其中,本次构建的新的轨迹用于构成下次处理过程中新增的历史正向轨迹。
第四步:计算机设备对于待处理正向视频帧中的每个目标对象,分别确定相应目标对象在待处理正向视频帧中的第一对象位置、与由各个历史正向轨迹确定的各预测位置之间的位置距离,并基于各位置距离建立第二匹配代价矩阵。计算机设备对于第三步中未匹配成功的目标对象,在第二匹配代价矩阵的约束下,确定与未匹配成功的目标对象在待处理正向视频帧中的第一对象位置相匹配的历史正向轨迹。
第五步:计算机设备基于匹配结果更新各历史正向轨迹,并将待处理视频中的下一正向视频帧作为下次的待处理正向视频帧,并返回至基于待处理正向视频帧之前的历史正向视频帧,确定多个历史正向轨迹的步骤继续执行,直至全部正向视频帧完成处理,得到多个正向轨迹。
第六步:计算机设备按照待处理视频的反向时序,确定本次的待处理反向视频帧。计算机设备基于待处理反向视频帧之前的历史反向视频帧,确定多个历史反向轨迹。
第七步:计算机设备对于待处理反向视频帧中的每个目标对象,确定相应目标对象在待处理反向视频帧中的当前第二对象位置、与由各个历史反向轨迹确定的各预测位置之间的位置距离,并基于各位置距离建立第三匹配代价矩阵;在第三匹配代价矩阵的约束下,确定与各目标对象在待处理反向视频帧中的第二对象位置相匹配的历史反向轨迹。
第八步:计算机设备对于待处理反向视频帧中的每个目标对象,确定匹配成功的目标第二对象位置与相应的目标历史反向轨迹。在对应于目标第二对象位置的目标对象关联有正向轨迹的情况下,计算机设备将所关联的正向轨迹与目标反向轨迹进行轨迹关联处理,得到与相应目标对象对应的运动轨迹。在对应于目标第二对象位置的目标对象与任一正向轨迹均不关联的情况下,基于与目标第二对象位置相匹配的目标历史反向轨迹,构建新的轨迹。
第九步:计算机设备将待处理视频中的下一反向视频帧作为下次的待处理反向视频帧,并返回至基于待处理反向视频帧之前的历史反向视频帧,确定多个历史反向轨迹的步骤继续执行,直至全部反向视频帧完成处理,得到各个目标对象各自的运动轨迹。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的轨迹检测方法的轨迹检测装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个轨迹检测装置实施例中的具体限定可以参见上文中对于轨迹检测方法的限定,在此不再赘述。
在一个实施例中,如图11所示,提供了一种轨迹检测装置1100,包括:检测模块1101、确定模块1102、正向模块1103和反向模块1104,其中:
检测模块1101,用于对待处理视频中各视频帧进行目标检测,得到待处理视频所包括的至少一个目标对象分别在每一视频帧中的对象位置。
确定模块1102,用于确定各目标对象在每一视频帧中满足第一置信度条件的第一对象位置,以及满足第二置信度条件的第二对象位置,第一置信度条件所约束的范围小于第二置信度条件所约束的范围。
正向模块1103,用于按照待处理视频的正向时序,依次对每一视频帧中目标对象的第一对象位置进行正向轨迹匹配,得到多个正向轨迹。
反向模块1104,用于按照待处理视频的反向时序,依次对每一视频帧中目标对象的第二对象位置进行反向轨迹匹配、且结合多个正向轨迹进行轨迹关联处理,得到各个目标对象各自的运动轨迹。
在一些实施例中,确定模块还用于对于每个目标对象,将每一视频帧中相应置信度高于第一预设阈值的对象位置,作为第一对象位置;对于每个目标对象,将每一视频帧中相应置信度高于第二预设阈值的对象位置,作为第二对象位置;其中,第二预设阈值低于第一预设阈值。
在一些实施例中,正向模块还用于按照待处理视频的正向时序,确定本次的待处理正向视频帧;基于待处理正向视频帧之前的历史正向视频帧,确定多个历史正向轨迹;历史正向轨迹中的各历史对象位置按照正向时序进行排列;对于待处理正向视频帧中的每个目标对象,分别将相应目标对象在待处理正向视频帧中的第一对象位置与各个历史正向轨迹进行匹配,并基于匹配结果更新各历史正向轨迹;将待处理视频中的下一正向视频帧作为下次的待处理正向视频帧,并返回至基于待处理正向视频帧之前的历史正向视频帧,确定多个历史正向轨迹的步骤继续执行,直至全部正向视频帧完成处理,得到多个正向轨迹。
在一些实施例中,正向模块还用于对于待处理正向视频帧中的每个目标对象,在相应目标对象在待处理正向视频帧中的第一对象位置与任一历史正向轨迹均不匹配的情况下,基于未匹配成功的第一对象位置构建新的轨迹;其中,本次构建的新的轨迹用于构成下次处理过程中新增的历史正向轨迹。
在一些实施例中,正向模块还用于对于待处理正向视频帧中的每个目标对象,确定相应目标对象分别与各个历史正向轨迹的特征距离,并基于各特征距离建立第一匹配代价矩阵;在第一匹配代价矩阵的约束下,确定与各目标对象在待处理正向视频帧中的第一对象位置相匹配的历史正向轨迹。
在一些实施例中,正向模块还用于对于待处理正向视频帧中的每个目标对象,分别确定相应目标对象在待处理正向视频帧中的第一对象位置、与由各个历史正向轨迹确定的各预测位置之间的位置距离,并基于各位置距离建立第二匹配代价矩阵;确定待处理正向视频帧中未匹配成功的目标对象,并在第二匹配代价矩阵的约束下,确定与未匹配成功的目标对象在待处理正向视频帧中的第一对象位置相匹配的历史正向轨迹。
在一些实施例中,反向模块还用于按照待处理视频的反向时序,确定本次的待处理反向视频帧;基于待处理反向视频帧之前的历史反向视频帧,确定多个历史反向轨迹;历史反向轨迹中的各历史对象位置按照反向时序进行排列;对于待处理反向视频帧中的每个目标对象,分别将相应目标对象在待处理反向视频帧中的第二对象位置与各个历史反向轨迹进行匹配,确定具有匹配关系的目标第二对象位置和目标历史反向轨迹;在对应于目标第二对象位置的目标对象关联有正向轨迹的情况下,将所关联的正向轨迹与目标反向轨迹进行轨迹关联处理,得到与相应目标对象对应的运动轨迹;将待处理视频中的下一反向视频帧作为下次的待处理反向视频帧,并返回至基于待处理反向视频帧之前的历史反向视频帧,确定多个历史反向轨迹的步骤继续执行,直至全部反向视频帧完成处理,得到各个目标对象各自的运动轨迹。
在一些实施例中,反向模块还用于对于待处理反向视频帧中的每个目标对象,确定相应目标对象在待处理反向视频帧中的当前第二对象位置、与由各个历史反向轨迹确定的各预测位置之间的位置距离,并基于各位置距离建立第三匹配代价矩阵;在第三匹配代价矩阵的约束下,确定与各目标对象在待处理反向视频帧中的第二对象位置相匹配的历史反向轨迹;对于待处理反向视频帧中的每个目标对象,确定匹配成功的目标第二对象位置与相应的目标历史反向轨迹。
在一些实施例中,反向模块还用于在对应于目标第二对象位置的目标对象与任一正向轨迹均不关联的情况下,基于与目标第二对象位置相匹配的目标历史反向轨迹,构建新的轨迹;本次构建的新的轨迹用于构成下次处理过程中新增的历史反向轨迹。
在一些实施例中,上述装置还包括聚焦模块,用于确定待处理视频中待聚焦的第一指定对象;获取待处理视频中第一指定对象的目标运动轨迹,并基于目标运动轨迹对第一指定对象进行聚焦处理。
在一些实施例中,上述装置还包括识别模块,用于确定待处理视频中待匹配的第二指定对象,并确定目标指定对象;获取待处理视频中第二指定对象的目标运动轨迹,并基于目标运动轨迹中第二指定对象的多种对象姿态,确定第二指定对象与目标指定对象是否为同一对象。
上述轨迹检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器或终端。下面以该计算机设备为服务器为例进行说明,其内部结构图可以如图12所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储视频数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种轨迹检测方法。
本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的对象信息(包括但不限于视频中的目标对象的图像等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (15)
1.一种轨迹检测方法,其特征在于,所述方法包括:
对待处理视频中各视频帧进行目标检测,得到待处理视频所包括的至少一个目标对象分别在每一视频帧中的对象位置;
确定各目标对象在每一视频帧中满足第一置信度条件的第一对象位置,以及满足第二置信度条件的第二对象位置,所述第一置信度条件所约束的范围小于所述第二置信度条件所约束的范围;
按照所述待处理视频的正向时序,依次对每一视频帧中目标对象的第一对象位置进行正向轨迹匹配,得到多个正向轨迹;
按照所述待处理视频的反向时序,依次对每一视频帧中目标对象的第二对象位置进行反向轨迹匹配、且结合所述多个正向轨迹进行轨迹关联处理,得到各个目标对象各自的运动轨迹。
2.根据权利要求1所述的方法,其特征在于,所述确定各目标对象在每一视频帧中满足第一置信度条件的第一对象位置,以及满足第二置信度条件的第二对象位置,包括:
对于每个目标对象,将每一视频帧中相应置信度高于第一预设阈值的对象位置,作为第一对象位置;
对于每个目标对象,将每一视频帧中相应置信度高于第二预设阈值的对象位置,作为第二对象位置;其中,所述第二预设阈值低于所述第一预设阈值。
3.根据权利要求1所述的方法,其特征在于,所述按照所述待处理视频的正向时序,依次对每一视频帧中目标对象的第一对象位置进行正向轨迹匹配,得到多个正向轨迹,包括:
按照所述待处理视频的正向时序,确定本次的待处理正向视频帧;
基于所述待处理正向视频帧之前的历史正向视频帧,确定多个历史正向轨迹;所述历史正向轨迹中的各历史对象位置按照所述正向时序进行排列;
对于所述待处理正向视频帧中的每个目标对象,分别将相应目标对象在所述待处理正向视频帧中的第一对象位置与各个历史正向轨迹进行匹配,并基于匹配结果更新各所述历史正向轨迹;
将所述待处理视频中的下一正向视频帧作为下次的待处理正向视频帧,并返回至基于所述待处理正向视频帧之前的历史正向视频帧,确定多个历史正向轨迹的步骤继续执行,直至全部正向视频帧完成处理,得到多个正向轨迹。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
对于所述待处理正向视频帧中的每个目标对象,在相应目标对象在所述待处理正向视频帧中的第一对象位置与任一历史正向轨迹均不匹配的情况下,基于未匹配成功的第一对象位置构建新的轨迹;其中,本次构建的所述新的轨迹用于构成下次处理过程中历史正向轨迹。
5.根据权利要求3所述的方法,其特征在于,所述对于所述待处理正向视频帧中的每个目标对象,分别将相应目标对象在所述待处理正向视频帧中的第一对象位置与各个历史正向轨迹进行匹配,包括:
对于所述待处理正向视频帧中的每个目标对象,确定相应目标对象分别与各个历史正向轨迹的特征距离,并基于各特征距离建立第一匹配代价矩阵;
在所述第一匹配代价矩阵的约束下,确定与各目标对象在所述待处理正向视频帧中的第一对象位置相匹配的历史正向轨迹。
6.根据权利要求5所述的方法,其特征在于,所述对于所述待处理正向视频帧中的每个目标对象,分别将相应目标对象在所述待处理正向视频帧中的第一对象位置与各个历史正向轨迹进行匹配,还包括:
对于所述待处理正向视频帧中的每个目标对象,分别确定相应目标对象在所述待处理正向视频帧中的第一对象位置、与由各个历史正向轨迹确定的各预测位置之间的位置距离,并基于各位置距离建立第二匹配代价矩阵;
确定所述待处理正向视频帧中未匹配成功的目标对象,并在所述第二匹配代价矩阵的约束下,确定与所述未匹配成功的目标对象在所述待处理正向视频帧中的第一对象位置相匹配的历史正向轨迹。
7.根据权利要求1所述的方法,其特征在于,所述按照所述待处理视频的反向时序,依次对每一视频帧中目标对象的第二对象位置进行反向轨迹匹配、且结合所述多个正向轨迹进行轨迹关联处理,得到各个目标对象各自的运动轨迹,包括:
按照所述待处理视频的反向时序,确定本次的待处理反向视频帧;
基于所述待处理反向视频帧之前的历史反向视频帧,确定多个历史反向轨迹;所述历史反向轨迹中的各历史对象位置按照所述反向时序进行排列;
对于所述待处理反向视频帧中的每个目标对象,分别将相应目标对象在待处理反向视频帧中的第二对象位置与各个历史反向轨迹进行匹配,确定具有匹配关系的目标第二对象位置和目标历史反向轨迹;
在对应于所述目标第二对象位置的目标对象关联有正向轨迹的情况下,将所关联的正向轨迹与所述目标历史反向轨迹进行轨迹关联处理,得到与相应目标对象对应的运动轨迹;
将所述待处理视频中的下一反向视频帧作为下次的待处理反向视频帧,并返回至基于所述待处理反向视频帧之前的历史反向视频帧,确定多个历史反向轨迹的步骤继续执行,直至全部反向视频帧完成处理,得到各个目标对象各自的运动轨迹。
8.根据权利要求7所述的方法,其特征在于,所述对于所述待处理反向视频帧中的每个目标对象,分别将相应目标对象在待处理反向视频帧中的第二对象位置与各个历史反向轨迹进行匹配,确定具有匹配关系的目标第二对象位置和目标历史反向轨迹,包括:
对于所述待处理反向视频帧中的每个目标对象,确定相应目标对象在所述待处理反向视频帧中的当前第二对象位置、与由各个历史反向轨迹确定的各预测位置之间的位置距离,并基于各位置距离建立第三匹配代价矩阵;
在第三匹配代价矩阵的约束下,确定与各目标对象在所述待处理反向视频帧中的第二对象位置相匹配的历史反向轨迹;
对于所述待处理反向视频帧中的每个目标对象,确定匹配成功的目标第二对象位置与相应的目标历史反向轨迹。
9.根据权利要求7所述的方法,其特征在于,所述将所述待处理视频中的下一反向视频帧作为下次的待处理反向视频帧之前,所述方法还包括:
在对应于所述目标第二对象位置的目标对象与任一正向轨迹均不关联的情况下,基于与所述目标第二对象位置相匹配的目标历史反向轨迹,构建新的轨迹;本次构建的所述新的轨迹用于构成下次处理过程中的历史反向轨迹。
10.根据权利要求1至9中任一项所述的方法,其特征在于,所述方法还包括:
确定所述待处理视频中待聚焦的第一指定对象;
获取所述待处理视频中所述第一指定对象的目标运动轨迹,并基于所述目标运动轨迹对所述第一指定对象进行聚焦处理。
11.根据权利要求1至9中任一项所述的方法,其特征在于,所述方法还包括:
确定所述待处理视频中待匹配的第二指定对象,并确定目标指定对象;
获取所述待处理视频中所述第二指定对象的目标运动轨迹,并基于所述目标运动轨迹中第二指定对象的多种对象姿态,确定所述第二指定对象与所述目标指定对象是否为同一对象。
12.一种轨迹检测装置,其特征在于,所述装置包括:
检测模块,用于对待处理视频中各视频帧进行目标检测,得到待处理视频所包括的至少一个目标对象分别在每一视频帧中的对象位置;
确定模块,用于确定各目标对象在每一视频帧中满足第一置信度条件的第一对象位置,以及满足第二置信度条件的第二对象位置,所述第一置信度条件所约束的范围小于所述第二置信度条件所约束的范围;
正向模块,用于按照所述待处理视频的正向时序,依次对每一视频帧中目标对象的第一对象位置进行正向轨迹匹配,得到多个正向轨迹;
反向模块,用于按照所述待处理视频的反向时序,依次对每一视频帧中目标对象的第二对象位置进行反向轨迹匹配、且结合所述多个正向轨迹进行轨迹关联处理,得到各个目标对象各自的运动轨迹。
13.根据权利要求12所述的装置,其特征在于,所述确定模块还用于对于每个目标对象,将每一视频帧中相应置信度高于第一预设阈值的对象位置,作为第一对象位置;对于每个目标对象,将每一视频帧中相应置信度高于第二预设阈值的对象位置,作为第二对象位置;其中,第二预设阈值低于第一预设阈值。
14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11中任一项所述的方法的步骤。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210829606.0A CN114897973B (zh) | 2022-07-15 | 2022-07-15 | 轨迹检测方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210829606.0A CN114897973B (zh) | 2022-07-15 | 2022-07-15 | 轨迹检测方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114897973A CN114897973A (zh) | 2022-08-12 |
CN114897973B true CN114897973B (zh) | 2022-09-16 |
Family
ID=82729559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210829606.0A Active CN114897973B (zh) | 2022-07-15 | 2022-07-15 | 轨迹检测方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114897973B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115564803B (zh) * | 2022-12-06 | 2023-03-14 | 腾讯科技(深圳)有限公司 | 一种动画处理方法、装置、设备、存储介质及产品 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0942395A2 (en) * | 1998-03-13 | 1999-09-15 | Siemens Corporate Research, Inc. | Method for digital video processing |
CN103871079A (zh) * | 2014-03-18 | 2014-06-18 | 南京金智视讯技术有限公司 | 基于机器学习和光流的车辆跟踪方法 |
CN104408741A (zh) * | 2014-10-27 | 2015-03-11 | 大连理工大学 | 一种时序一致性约束的视频全局运动估计方法 |
JP2016099941A (ja) * | 2014-11-26 | 2016-05-30 | 日本放送協会 | オブジェクト位置推定システム、及びそのプログラム |
CN105809714A (zh) * | 2016-03-07 | 2016-07-27 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 一种基于轨迹置信度的多目标跟踪方法 |
CN105872367A (zh) * | 2016-03-30 | 2016-08-17 | 东斓视觉科技发展(北京)有限公司 | 视频生成方法及视频拍摄装置 |
CN109359552A (zh) * | 2018-09-21 | 2019-02-19 | 中山大学 | 一种高效的跨摄像头行人双向跟踪方法 |
CN110210358A (zh) * | 2019-05-24 | 2019-09-06 | 北京大学 | 一种基于双向时序图的视频描述生成方法和装置 |
CN110705478A (zh) * | 2019-09-30 | 2020-01-17 | 腾讯科技(深圳)有限公司 | 人脸跟踪方法、装置、设备及存储介质 |
CN111210458A (zh) * | 2020-01-08 | 2020-05-29 | 北京天睿空间科技股份有限公司 | 一种基于预检测置信度的运动目标检测前跟踪方法 |
CN112584234A (zh) * | 2020-12-09 | 2021-03-30 | 广州虎牙科技有限公司 | 视频图像的补帧方法及相关装置 |
CN112689132A (zh) * | 2021-03-15 | 2021-04-20 | 成都点泽智能科技有限公司 | 目标对象监控方法和监控设备 |
CN112990247A (zh) * | 2019-12-02 | 2021-06-18 | 埃森哲环球解决方案有限公司 | 具有5g阵列的多模态对象检测系统 |
-
2022
- 2022-07-15 CN CN202210829606.0A patent/CN114897973B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0942395A2 (en) * | 1998-03-13 | 1999-09-15 | Siemens Corporate Research, Inc. | Method for digital video processing |
CN103871079A (zh) * | 2014-03-18 | 2014-06-18 | 南京金智视讯技术有限公司 | 基于机器学习和光流的车辆跟踪方法 |
CN104408741A (zh) * | 2014-10-27 | 2015-03-11 | 大连理工大学 | 一种时序一致性约束的视频全局运动估计方法 |
JP2016099941A (ja) * | 2014-11-26 | 2016-05-30 | 日本放送協会 | オブジェクト位置推定システム、及びそのプログラム |
CN105809714A (zh) * | 2016-03-07 | 2016-07-27 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 一种基于轨迹置信度的多目标跟踪方法 |
CN105872367A (zh) * | 2016-03-30 | 2016-08-17 | 东斓视觉科技发展(北京)有限公司 | 视频生成方法及视频拍摄装置 |
CN109359552A (zh) * | 2018-09-21 | 2019-02-19 | 中山大学 | 一种高效的跨摄像头行人双向跟踪方法 |
CN110210358A (zh) * | 2019-05-24 | 2019-09-06 | 北京大学 | 一种基于双向时序图的视频描述生成方法和装置 |
CN110705478A (zh) * | 2019-09-30 | 2020-01-17 | 腾讯科技(深圳)有限公司 | 人脸跟踪方法、装置、设备及存储介质 |
CN112990247A (zh) * | 2019-12-02 | 2021-06-18 | 埃森哲环球解决方案有限公司 | 具有5g阵列的多模态对象检测系统 |
CN111210458A (zh) * | 2020-01-08 | 2020-05-29 | 北京天睿空间科技股份有限公司 | 一种基于预检测置信度的运动目标检测前跟踪方法 |
CN112584234A (zh) * | 2020-12-09 | 2021-03-30 | 广州虎牙科技有限公司 | 视频图像的补帧方法及相关装置 |
CN112689132A (zh) * | 2021-03-15 | 2021-04-20 | 成都点泽智能科技有限公司 | 目标对象监控方法和监控设备 |
Non-Patent Citations (5)
Title |
---|
Deep Convolutional Correlation Filters for Forward-Backward Visual Trackin;Yong Wang 等;《International Symposium on Visual Computing》;20181110;320-331 * |
Rewind to track: Parallelized apprenticeship learning with backward tracklets;Jiang Liu 等;《Proceedings of the IEEE International Conference on Multimedia and Expo (ICME) 2017》;20170831;433-438 * |
人脸面部表情识别;傅栩雨 等;《计算机与网络》;20150526;70-71 * |
双向多轨迹判定方法在目标跟踪中的应用研究;李孟庭;《计算机应用与软件》;20170731;第34卷(第7期);137-142 * |
基于轨迹片段集的视频多目标跟踪关键技术研究;杨露;《万方数据知识服务平台》;20181218;摘要 * |
Also Published As
Publication number | Publication date |
---|---|
CN114897973A (zh) | 2022-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110378348B (zh) | 视频实例分割方法、设备及计算机可读存储介质 | |
WO2021017291A1 (zh) | 基于Darkflow-DeepSort的多目标追踪检测方法、装置及存储介质 | |
Chen et al. | Learning online smooth predictors for realtime camera planning using recurrent decision trees | |
US10984583B2 (en) | Reconstructing views of real world 3D scenes | |
US10217221B2 (en) | Place recognition algorithm | |
CN107832836B (zh) | 无模型深度增强学习探索方法及装置 | |
Battiato et al. | A robust block-based image/video registration approach for mobile imaging devices | |
CN112016371B (zh) | 人脸关键点检测方法、装置、设备及存储介质 | |
CN112016475B (zh) | 一种人体检测识别方法和装置 | |
JP7089045B2 (ja) | メディア処理方法、その関連装置及びコンピュータプログラム | |
CN114897973B (zh) | 轨迹检测方法、装置、计算机设备和存储介质 | |
CN111931686A (zh) | 一种基于背景知识增强的视频卫星目标跟踪方法 | |
CN115410030A (zh) | 目标检测方法、装置、计算机设备及存储介质 | |
CN113038001A (zh) | 显示方法、装置及电子设备 | |
CN114419102B (zh) | 一种基于帧差时序运动信息的多目标跟踪检测方法 | |
CN115330837A (zh) | 基于图注意力Transformer网络的鲁棒目标跟踪方法及系统 | |
CN116824641B (zh) | 姿态分类方法、装置、设备和计算机存储介质 | |
CN111738092A (zh) | 一种基于深度学习的恢复被遮挡人体姿态序列方法 | |
CN114998814B (zh) | 目标视频生成方法、装置、计算机设备和存储介质 | |
CN107480773B (zh) | 训练卷积神经网络模型的方法、装置及存储介质 | |
Kaputa et al. | YOLBO: you only look back once–a low latency object tracker based on YOLO and optical flow | |
Rimboux et al. | Smart IoT cameras for crowd analysis based on augmentation for automatic pedestrian detection, simulation and annotation | |
CN111988520B (zh) | 一种画面切换方法、装置、电子设备及存储介质 | |
Molahasani et al. | Continual Learning for Out-of-Distribution Pedestrian Detection | |
Spors et al. | Joint audio-video object tracking |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40072605 Country of ref document: HK |