CN110264495B - 一种目标跟踪方法及装置 - Google Patents
一种目标跟踪方法及装置 Download PDFInfo
- Publication number
- CN110264495B CN110264495B CN201811572062.4A CN201811572062A CN110264495B CN 110264495 B CN110264495 B CN 110264495B CN 201811572062 A CN201811572062 A CN 201811572062A CN 110264495 B CN110264495 B CN 110264495B
- Authority
- CN
- China
- Prior art keywords
- sample
- drift
- picture
- tracking
- target
- 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
- 238000000034 method Methods 0.000 title claims abstract description 152
- 230000004044 response Effects 0.000 claims abstract description 185
- 238000012549 training Methods 0.000 claims abstract description 89
- 230000006870 function Effects 0.000 claims description 62
- 238000005070 sampling Methods 0.000 claims description 60
- 238000012360 testing method Methods 0.000 claims description 23
- 238000012937 correction Methods 0.000 claims description 19
- 238000003860 storage Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 description 42
- 238000001514 detection method Methods 0.000 description 36
- 238000010586 diagram Methods 0.000 description 21
- 238000004891 communication Methods 0.000 description 19
- 230000000007 visual effect Effects 0.000 description 19
- 238000012544 monitoring process Methods 0.000 description 13
- 230000008859 change Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 8
- 230000016776 visual perception Effects 0.000 description 8
- 230000004927 fusion Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000000605 extraction Methods 0.000 description 5
- 230000004438 eyesight Effects 0.000 description 5
- 230000033001 locomotion Effects 0.000 description 5
- 230000008447 perception Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005286 illumination Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 2
- 230000033228 biological regulation Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 102100034112 Alkyldihydroxyacetonephosphate synthase, peroxisomal Human genes 0.000 description 1
- 101000799143 Homo sapiens Alkyldihydroxyacetonephosphate synthase, peroxisomal Proteins 0.000 description 1
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 241000282376 Panthera tigris Species 0.000 description 1
- 238000012952 Resampling Methods 0.000 description 1
- 206010039203 Road traffic accident Diseases 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000000848 angular dependent Auger electron spectroscopy Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000011179 visual inspection Methods 0.000 description 1
Classifications
-
- 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
- G06T7/251—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
-
- 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
- G06T7/248—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
-
- 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
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/75—Determining position or orientation of objects or cameras using feature-based methods involving models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20076—Probabilistic image processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30232—Surveillance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本申请提供了一种目标跟踪方法,包括:接收当前帧图片,所述当前帧图片中包含目标对象;根据漂移判断模型判断跟踪器对所述当前帧图片中的目标对象的跟踪是否产生漂移;所述漂移判断模型是根据样本响应最大值进行建模得到的;其中,所述漂移判断模型为概率密度模型,所述样本是指:用于进行漂移判断模型训练的训练样本,所述训练样本从训练图片中采集得到,所述训练图片中包含所述目标对象;所述样本响应值是指:所述训练样本是所述训练图片中的目标对象的可能性概率值;输出跟踪漂移结果,所述跟踪漂移结果包括:对目标对象的跟踪产生漂移,或,对目标对象的跟踪未产生漂移。
Description
技术领域
本申请涉及信息处理领域,并且更具体地,涉及一种目标跟踪方法及装置。
背景技术
目标跟踪是计算机视觉的基础问题,在实际生活中有着广泛的应用,如无人驾驶、人机交互,交通管理,智能视频监控、AR/VR等。目标跟踪能够对感兴趣的目标位置连续抓取,是很多人工智能任务绕不过的问题。具体的,目标跟踪(或视觉目标跟踪)是指视频序列在给定首帧中目标位置的前提下,在接下来的帧中都找到该目标的位置。然而由于遮挡、运动模糊、光照变化、目标表观变化、背景疑似目标、尺度变化等因素的影响,跟踪过程中容易出现漂移现象,即跟踪器跟踪失败。因此解决好跟踪器漂移问题意义重大、价值重大。
目前,学术上的目标跟踪方法繁多、性能参差不齐、应用场景各不相同。按照原理的不同可以分为前景检测、特征描述、贝叶斯跟踪、核跟踪、在线学习跟踪五大类跟踪算法。但是这些算法对最新输入的图片最多只能给出目标的位置,并不能保证输出目标位置的准确性,即跟踪器不能自查跟踪到的位置是否正确。而一旦出现跟踪器漂移,那么跟踪器将输出错误的位置。为了使跟踪器效果更加稳定可靠,现有技术在跟踪器中增加检测模块,将跟踪算法与检测算法相结合来解决跟踪过程中由于形变、部分遮挡等引起的跟踪器漂移问题,然而由于检测算法很慢,而跟踪很快,其对于实时性的应用效果很差,如果跟踪目标再多几个,在实际的应用中这类跟踪器会由于计算量太大而无法工作。
发明内容
本申请提供一种目标跟踪的方法、装置及系统,能够快速发现跟踪器漂移,提高目标跟踪的准确性。
第一方面,提供了一种目标跟踪方法,包括:
接收当前帧图片,所述当前帧图片中包含目标对象;
根据漂移判断模型判断跟踪器对所述当前帧图片中的目标对象的跟踪是否产生漂移;所述漂移判断模型是根据样本响应最大值进行建模得到的;其中,所述漂移判断模型为概率密度模型,所述样本是指:用于进行漂移判断模型训练的训练样本,所述训练样本从训练图片中采集得到,所述训练图片中包含所述目标对象;所述样本响应值是指:所述训练样本是所述训练图片中的目标对象的可能性概率值;
输出跟踪漂移结果,所述跟踪漂移结果包括:对目标对象的跟踪产生漂移,或,对目标对象的跟踪未产生漂移。
因此,本申请实施例通过根据漂移判断模型判断跟踪器对所述当前帧图片中的目标对象的跟踪是否产生漂移,有利于提高目标跟踪的准确性。其中,本申请实施例中的漂移判断模型是根据最大样本响应值(即样本响应最大值)进行建模得到的,正是因为根据最大样本响应值进行建模得到的漂移判断模型,才能使得该漂移判断模型能够快速准确的进行漂移判断或者说漂移检测。本申请实施例中的漂移判断模型与现有的检测模块不同的是,现有检测模块通常比较复杂,且检测算法很慢,无法满足快速跟踪的需求,而本申请实施例中的漂移判断模型可以迅速响应输出跟踪结果。
结合第一方面,在第一方面的第一种可能的实现方式中,在所述根据漂移判断模型判断跟踪器对所述当前帧图片中的目标对象的跟踪是否产生漂移之前,所述方法还包括:
接收第一图片,在所述第一图片中给定目标坐标位置,所述第一图片为首帧图片;
接收第二图片,所述第二图片和所述第一图片在时间轴上具有连续性;根据所述第一图片中的目标坐标位置确定所述第二图片中的对应位置,并在所述第二图片中的对应位置的周边进行采样,得到N个测试样本,N为大于1的正整数;
对所述N个测试样本中的每个样本进行特征提取,得到与所述N个测试样本一一对应的N个特征表示{X1,X2…Xn…XN},其中n表示N个测试样本中的第n个样本;
将所述N个特征表示{X1,X2…Xn…XN}输入分类器,得到与所述N个特征表示{X1,X2…Xn…XN}一一对应的N个响应值{Y1,Y2…Yn…YN},其中Yn=wXn,所述w表示所述分类器的核值;所述Yn用于表示所述第n个样本是所述第二图片中的目标对象的可能性概率值;
根据所述N个响应值{Y1,Y2…Yn…YN}中的最大响应值Ymax进行建模,得到所述漂移判断模型。
如上所述,根据很多帧训练图片的很多个最大样本响应值进行建模,得到所述漂移判断模型。该模型能够迅速检测出当前跟踪是否产生漂移,为跟踪器的自检和后续的漂移校正都作出重要贡献,从而使得跟踪器的跟踪准确性大大提升。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述根据漂移判断模型判断跟踪器对所述当前帧图片中的目标对象的跟踪是否产生漂移,包括:
判断所述当前帧图片中的最大样本响应值是否落在所述漂移判断模型构建的大概率区间外,若是则判断为产生漂移,若否则判断为未产生漂移;其中,所述当前帧图片中的最大样本响应值是指:在所述当前帧图片中采样的多个样本对应的多个样本响应值中最大的样本响应值。
结合第一方面和第一方面的第一种及第二种可能的实现方式中的任意一种实现方式,在第一方面的第三种可能的实现方式中,当所述跟踪漂移结果为:对目标对象的跟踪产生漂移,所述方法还包括:
根据所述目标对象在上一帧图片中的位置得到当前帧图片中的对应位置,在所述对应位置的附近建立多个搜索窗;
对所述多个搜索窗中的每个搜索窗进行样本采集,得到每个搜索窗对应的样本集合,并计算所述样本集合中每个样本的样本响应值;
根据每个搜索窗中的top-k个样本响应值,确定所述目标对象最有可能出现的目标搜索窗;其中top-k个样本响应值为:样本响应值的大小按由大到小排列靠前的k个样本响应值;
根据所述目标搜索窗对所述当前帧图片进行采样,得到多个采样样本;
分别计算所述多个采样样本的样本响应值,得到多个采样样本响应值,并将所述多个采样样本响应值中最大的样本响应值所对应的采样样本确定为所述当前帧图片中的目标对象。
如上所述,本申请实施例通过漂移判断模型及时检测出跟踪器对目标跟踪过程中产生的漂移,并通过由粗到精的过程对该漂移进行及时的校正,从而保证了跟踪器的准确性,为跟踪器的下游设备提供快速准确的输入信息,能够使其下游设备作出更为准确的判断。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述根据每个搜索窗中的top-k个样本响应值,确定所述目标对象最有可能出现的目标搜索窗,包括:
将每个搜索窗中的top-k个样本响应值输入统计函数,得到top-k个样本响应值的统计函数值,通过比较所述top-k个样本响应值的统计函数值确定所述目标对象最有可能出现的目标搜索窗。
结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述将每个搜索窗中的top-k个样本响应值输入统计函数,得到top-k个样本响应值的统计函数值,通过比较所述top-k个样本响应值的统计函数值确定所述目标对象最有可能出现的目标搜索窗,包括:
其中Fm(.)为对zi应的响应图F(.)中的响应值从大到小排序的第m大的值,是统计函数,统计函数可以为求和、求积、求中值、求均值、求方差(统计函数为求方差时,其值越小越好)等。
结合第一方面和第一方面的第一种及第二种可能的实现方式中的任意一种实现方式,在第一方面的第六种可能的实现方式中,当所述跟踪漂移结果为:对目标对象的跟踪未产生漂移,所述方法还包括:根据所述跟踪漂移结果对所述漂移判断模型进行更新。
具体的,所述根据所述跟踪漂移结果对所述漂移判断模型进行更新之前,所述方法还包括:输出所述目标对象在所述当前帧图片中的位置;
对应的,所述根据所述跟踪漂移结果对所述漂移判断模型进行更新,包括:
根据所述目标对象在所述当前帧图片中的位置,更新所述漂移判断模型。第二方面,提供了一种目标跟踪装置,用于执行第一方面或第一方面任一种可能的实现方式。具体地,该目标跟踪装置可以包括用于执行第一方面或第一方面任一种可能的实现方式中的方法的模块。
第三方面,提供一种跟踪器,所示跟踪器包括处理器和存储器,其中,
所述存储器中存储有计算机可读程序;
所述处理器通过运行所述存储器中的程序,以用于实现上述第一方面或第一方面任一种可能实现方式中的方法。
第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序使得设备执行上述第一方面或第一方面任一种可能实现方式中的方法。
第五方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序(也可以称为代码,或指令),当所述计算机程序被运行时,使得计算机执行上述第一方面或第一方面中任一种可能实现方式中的方法。
第六方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行第一方面中的方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面中的方法。
本申请实施例通过漂移判断模型对跟踪器的漂移情况进行实时检测,其中,该漂移判断模型是由最大样本响应值建模得到的。通过该漂移判断模型能够快速发现跟踪器的漂移情况,为跟踪器的校正提供了准确的输入信息,有利于更为准确的跟踪结果的获取。因此,无论是在无人驾驶的场景下还是在视频监控的场景下,更为准确的跟踪结果都有助于帮助其后续进程的工作,从而最终提高用户体验。
附图说明
图1是本申请实施例提供的目标跟踪方法和装置所适用的系统架构的示意图;
图2是本申请实施例提供的目标跟踪过程的实物示意图;
图3是本申请实施例提供的目标跟踪过程中出现跟踪漂移的实物示意图;
图4是本申请实施例提供的目标跟踪方法的采样示意图;
图5是本申请实施例提供的目标跟踪方法的正负采样示意图;
图6是本申请实施例提供的目标跟踪方法的漂移判断示意图;
图7是本申请实施例提供的目标跟踪方法的无人驾驶应用场景示意图;
图8是本申请实施例提供的目标跟踪方法的无人驾驶应用场景的系统示意图;
图9是本申请实施例提供的目标跟踪方法的视频监控应用场景的系统示意图;
图10是本申请实施例提供的目标跟踪方法的流程示意图;
图11是本申请实施例提供的目标跟踪装置的示意性框图;
图12是本申请实施例提供的跟踪器的结构性示意图;
图13是本申请实施例提供的模型训练装置的示意性框图;
图14是本申请实施例提供的模型训练装置的结构性示意图。
具体实施方式
目标跟踪是计算机视觉研究领域的热点之一,并得到广泛应用。相机的跟踪对焦、无人机的自动目标跟踪等都需要用到了目标跟踪技术。另外还有特定物体的跟踪,比如人体跟踪,交通监控系统中的车辆跟踪,人脸跟踪和智能交互系统中的手势跟踪等。
简单来说,目标跟踪就是在连续的视频序列中,建立所要跟踪物体的目标位置关系,得到目标物体完整的运动轨迹。给定图像第一帧的目标坐标位置,计算在下一帧图像中目标的确切位置。在运动的过程中,目标可能会呈现一些图像上的变化,比如姿态或形状的变化、尺度的变化、背景遮挡或光线亮度的变化等。这样的变化常常导致跟踪发生漂移,即对目标位置的定位发生错误。本申请旨在在目标的跟踪过程中及时检测到漂移,该检测结果可以用于对漂移进行校正,由此提高目标跟踪的精度。
图1是本申请实施例提供的目标跟踪方法和装置所适用的通信系统10的示意图。如图1所示,该通信系统10可以包括服务端设备11。服务端设备11可以用于对接收到的数据(即,当前帧图片,例如,待跟踪的视频序列中的一帧图片)进行目标跟踪。一种可能的设计是,服务端设备11中可以部署有模型训练模块,所述服务端设备11也可以是服务器集群或者云服务器。该模型训练模块用于训练漂移判断模型,以备当服务端设备11接收到待进行目标跟踪的图片后,通过该训练好的漂移判断模型对该图片中的目标进行跟踪。具体的,在该模型训练模块中可以部署有分类器,用于获取在训练模型的过程中图片中特征的响应值,该分类器中的核值w可以根据跟踪的结果进行更新。在本申请实施例中,该服务端设备11可用于确定对漂移判断模型进行训练及持续更新,该服务端设备11还可用于根据该训练得到的漂移判断模型来判断当前图片帧中的目标跟踪是否产生漂移,即输出的目标位置是否为目标在当前帧图片中的真实位置。下文中会结合具体的实施例详细说明该服务端设备11的具体功能。
可选地,该通信系统10还包括数据接收设备12,用于接收待处理的数据,并将该待处理的数据传输至服务端设备11。具体地,数据接收设备12可以通过人工输入或网络查找等方式获取待处理的数据。
可选地,该通信系统10还包括客户端设备13,用于利用来自服务端设备11的处理结果,进行下一步的目标跟踪处理,例如,当判断发现跟踪产生漂移的时候,可以根据该客户端设备13对该漂移进行校正,当然,在本申请中,校正的过程也可以由服务端设备11来执行,值得说明的是,除了校正过程,在本申请中,服务端设备11也可以将训练好的漂移判断模型输出给客户端设备13,而由客户端设备13根据该漂移判断模型去对目标跟踪是否产生漂移进行判断,即,在本申请中,判断是否产生漂移以及产生漂移之后对漂移进行校正的程序可以都在服务端设备11中实现,也可以都在客户端设备13中实现,也可以分别由服务端设备11和客户端设备13实现,此处并不作为限定。
应理解,以上列举的服务端设备、数据接收设备以及客户端设备的功能仅为示例,不应对本申请构成任何限定,数据接收设备以及客户端设备的功能也可以由服务端设备来实现,本申请对此不作限定。
另外,还应理解,本申请对于服务端设备、数据接收设备以及客户端设备的部署并未特别限定。例如,服务端设备、数据接收设备以及客户端设备可以部署于不同的物理设备中,由不同的物理设备分别实现服务端设备、数据接收设备以及客户端设备相应的功能,部署于不同物理设备中的服务端设备、数据接收设备以及客户端设备之间可以通过网络连接。或者,服务端设备、数据接收设备以及客户端设备可以部署于同一物理设备中,通过该物理设备实现服务端设备、数据接收设备以及客户端设备三者的功能。或者,数据接收设备以及客户端设备也可以集成于相同或不同的终端设备内,分别与终端设备合一部署在一台物理设备上,由物理设备实现各自的功能。
应理解,图1中示出的通信系统仅为示例性说明,而不应对本申请构成任何限定。本申请对于服务端设备和客户端设备的数量以及部署方式并未特别限定。例如,服务端设备可以为一个,也可以为多个,即,多个服务端设备可以构成服务器集群。
在本申请实施例中,服务端设备可以是服务器,其构成可以包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似。由于服务端设备需要提供高可靠的服务,因此,在处理能力、稳定性、可靠性、安全性、可扩展性以及可管理性等方面可能要求更高。
应理解,客户端设备也可以称为终端设备,或用户设备(user equipment,UE)、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。本申请的实施例中的客户端设备可以是手机(mobilephone)、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(Virtual Reality,VR)终端设备、增强现实(Augmented Reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。本申请中将前述客户端设备及可设置于前述客户端设备的芯片统称为客户端设备。
还应理解,当服务端设备、数据接收设备以及客户端设备部署于不同的物理设备中时,服务端设备、数据接收设备和客户端设备之间可以通过例如,以太网(例如,通过光纤等通信线缆实现)等网络,直接地通信。或者,该服务端设备、数据接收设备和客户端设备之间也可以通过由一个或多个网络设备构成的转发网络,间接地通信;或者,该服务端设备、数据接收设备和客户端设备可以通过无线接入网通信。
并且,上述无线接入网可以采用各种通信系统,例如:全球移动通信(GlobalSystem of Mobile communication,GSM)系统、码分多址(Code Division MultipleAccess,CDMA)系统、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)系统、通用分组无线业务(General Packet Radio Service,GPRS)、长期演进(Long TimeEvolution,LTE)系统、先进的长期演进(LTE-Advanced,LTE-A)系统、LTE频分双工(Frequency Division Duplex,FDD)系统、LTE时分双工(Time Division Duplex,TDD)、通用移动通信系统(Universal Mobile Telecommunication System,UMTS)、全球互联微波接入(Worldwide Interoperability for Microwave Access,WiMAX)通信系统、下一代通信系统(例如,第五代(fifth-generation,5G)通信系统)、多种接入系统的融合系统,或演进系统等。其中,5G系统也可以称为新一代无线接入技术(new radio access technology,NR)系统。
还应理解,图1所示的通信系统只是本申请实施例的一种可能的应用场景,不应对本申请构成任何限定。例如,该通信系统还可以包括其他设备。
经过上文的简单介绍,这里将结合附图进一步对目标跟踪的概念及相关的研究进行展开说明。具体的,目标跟踪是指:在连续的视频序列中,在给定首帧中目标坐标位置的前提下,在接下来的帧中都找到该目标的位置。如图2所示,给定首帧图片(左上图)以及目标的初始位置(该图中的矩形框所示),在接下来的几帧图片(右上,左下,右下)中跟踪器给出目标的位置(各个图中的矩形框所示)。
然而,由于遮挡、运动模糊、光照变化、目标表观变化、背景疑似目标、尺度变化等因素的影响,跟踪过程中容易出现跟踪漂移现象,即跟踪器跟踪失败,如图3所示(左上)图中的跟踪目标是玩具老虎,其中,图中左边的框是测试集人工标定的目标真实位置,右边的框是跟踪器跟踪到的目标位置,在跟踪过程中目标受到了外界的遮挡,导致跟踪器发生漂移。图(右上)、(左下)、(右下)中分别是由于运动模糊、光照剧烈、背景疑似目标而引起的跟踪器漂移。
目标跟踪是计算机视觉研究领域的热点之一,并得到广泛应用。相机的跟踪对焦、无人机的自动目标跟踪等都需要用到目标跟踪技术。另外还有特定物体的跟踪,比如人体跟踪,交通监控系统中的车辆跟踪,人脸跟踪和智能交互系统中的手势跟踪等。
目标跟踪的应用需求如此广泛,然而跟踪器在跟踪过程中产生跟踪漂移的情况又如此普遍。有鉴于此,本申请提供一种目标跟踪方法,能够快速发现跟踪漂移,从而在保证跟踪实时性的同时兼顾跟踪器的跟踪准确性,更进一步的,当发现跟踪器漂移,本申请提供的目标跟踪方法还能及时校正跟踪器漂移,从而使跟踪器长时间有效运行,并大大提高目标跟踪的准确性。
需要说明的是,通过科学家们过去几十年以来的努力,目标跟踪的研究从Meanshift、粒子滤波(Particle Filter)和卡尔曼滤波(Kalman Filter)等经典跟踪方法,到基于检测(Track By Detection)或相关滤波(Correlation Filter)的方法,取得了长足的发展,而在线学习方法的出现更是将目标跟踪推上了新的台阶。
为便于理解,首先简单介绍在线学习跟踪器的跟踪过程。
1、输入图片:
例如,利用一般的摄像机以固定频率采集图片(如30FPS),并向下一环节传输该采集到的图片。需要指出的是,在本申请所示的目标跟踪方法中,采集到的图片之间的连续性是跟踪能进行下去的前提条件。
2、采样:
由于摄像头采集的图片具有连续性,因此连续两帧图片中目标的位置不会相差很大。如上文所述,在连续的视频序列(此处表述为连续的图片帧)中,首先给定首帧图片中目标坐标位置,当输入新的图片时,跟踪器会在该新图片中确定可能的目标位置,该可能的目标位置对应首帧图片中的目标坐标位置,在该可能的目标位置的周边的一定范围内(如预设搜索窗)进行采样,从而得到一批测试样本。举例说明,以首帧图片的中心点作为坐标系的原点,往右为X轴正向,往左为X轴负向,往上为Y轴正向,往下为Y轴负向,假设目标对象在首帧图片中的目标坐标位置为(2,3)为简洁起见,此处只举例一个坐标点,实际的目标坐标位置可能有多个坐标点,那么,在上面所述的新图片中,这个可能的目标位置的坐标也为(2,3),由于同一个视频帧中的图像帧的尺寸都是相同的,因此设相同的坐标系,取对应位置的坐标是完全可以实现了,后文不再对此进行赘述。
如图4所示,粗线为人体轮廓图,圆形表示人脸。图中刚好包含人脸的最小的框(目标位置框)是首帧图片中的目标坐标位置,以人脸为中心的图中图中最大框是在首帧图片中的目标坐标位置周围形成的一个搜索窗(需要说明的是,当前帧图片的搜索窗的中心一般是上一帧图片的目标坐标位置的中心,搜索窗的大小与目标大小成正比,不同的搜索窗定义的形状可以不一样,可以是矩形,也可以是圆形,还可以是别的形状),然后在搜索窗内上下左右滑动上帧确定的所述目标位置框,从而形成一批样本,如图4中另外两个框就是我们根据这样的采样方式得到的两个样本。
这里需要说明的是,关于采样的方式,可以有多种,比如:也可以进行多尺度采样方式进行采样,所述多尺度采样方式,即:将上一帧确定的目标位置框按一定比例(包括多种比例)进行缩放后再进行采样,从而使跟踪器输出目标能够实现尺度自适应,本申请对采样方法不做限定。
3、特征提取:
对上述采样得到的一批样本中的每个进行特征提取。常用的特征包括方向梯度直方图(Histogram of Oriented Gradient,HOG)、局部二值模(Local Binary Pattern,LPB)特征以及多特征融合,经过特征提取,则每个样本可以用其特征表示为X=[x1,x2,,,xn],其中x1,x2……表示X的不同特征。
4、样本响应:
在得到每个样本的特征表示之后,我们将跟踪问题转换为回归问题,具体为:
y=wx;
这里的x如上文所述,为由样本的特征所表示的样本,w是分类器的核值,y是样本回归值,也称为响应值,该响应值的取值范围在【0~1】之间。y值越大,则其对应的样本成为该帧图片中的目标的可能性也越大。
需要说明的,分类器是经过上一帧正负采样后训练得到的,由于首帧图片我们会给定目标坐标位置,进行正负样本采样后会得到相应的w值,该w值经过分类器的训练进行更新,例如:首帧图片输入时,我们以首帧图片的目标坐标位置为基础进行正负样本的采样,根据其正负样本得到相应的w,此处表示为w1,在首帧的下一帧跟踪中,当跟踪完成后,根据这一帧跟踪得到的目标坐标位置重新采样正负样本,并基于该重新采样得到的正负样本更新w1得到w2,再进行下一帧跟踪,如此往复。
5、最大响应值:
通过上一个步骤,我们可以得到每一帧图片中采样样本对应的一系列回归值y。每一帧图片中的一系列回归值y中最大的回归值yMax所对应的样本为:跟踪器在该帧图片中所跟踪到的目标坐标位置。因此,跟踪器对每一帧图片的跟踪过程可以理解为寻找最大响应值对应的样本的过程,因为每一帧图片都会有一个最大样本响应值,本申请实施例意在根据这些最大样本响应值进行建模,并用这个所建的模型来判定跟踪器是否产生漂移。具体建模方式以及如何利用该模型进行跟踪漂移的判定,将在后文详细展开。
6、输出最大响应值对应的目标坐标位置,更新分类器与目标模板:
在上一个步骤中,针对每一帧图片,找到它的最大响应值对应的样本,并以该样本为这帧图片的目标坐标位置。我们拿其中一帧图片来举例,这里我们可以管它叫做第一图片,当找到第一图片的最大响应值对应的样本后,根据这个样本坐标位置我们确定了第一图片的目标坐标位置,然后,在第一图片的目标坐标位置的周围采集一定数目的正样本,并在远离第一图片的目标坐标位置的地方采集一定数目的负样本,并根据采集到的正样本和负样本对分类器进行更新,从而得到更新后的w值。需要说明的是,在上述距离中,无论是正样本还是负样本均在该第一图片内获取,而目标坐标位置的周围,或者远离目标坐标位置,这都是相对的,本申请并不限制“周围”和“远离”具体的坐标范围,但是可以理解的是,通常正样本与目标坐标位置对应的框重叠较大,Overlap在0.5以上,负样本与目标坐标位置对应的框重叠较小,Overlap在0到0.2之间。具体我们可以看到图5,在图5中正好框住人脸即以人脸为正中心的那个框是这一帧图片的目标坐标位置对应的框(目标位置框),与该框重叠较大的几个框是正样本,与该框重叠相对较小的几个框是负样本。另外,这里说目标位置对应的框只是按图5的举例来说的,如上文所述的,在实际应用中,这个框可以是正方形的框,矩形的框,圆形的框,或者其他形状的框,本申请对此并不做限定。
我们继续以第一图片进行举例,在对分类器更新的同时,通过第一图片的最大响应值对应的样本,对目标模板进行更新,这里说的目标模板是指目标对象在图片中的模板,我们根据每一次跟踪得到最大样本响应值对应的样本对该目标模板进行持续的更新,使得目标模板不停的被完善,从而使得跟踪器也更加鲁棒。
做完这些我们就完成了对第一图片的跟踪,也得到了根据第一图片跟踪结果得到的更新后的分类器和更新后目标模板,在这个更新后的分类器和更新后的目标模板的基础上再对下一帧图片进行跟踪,对下一帧图片的处理和第一图片的处理方式相同,并由此沿着视频序列中的连续图片帧依次进行跟踪处理,持续的更新分类器和目标模板。
以上是本申请实施例提供的在线学习跟踪器的简单流程介绍,由于该方案持续的对分类器和目标模板进行更新,使得其鲁棒性较好,对目标在跟踪过程中产生的非刚性形变有一定的抵抗能力,进一步的,由于本申请根据各帧的最大响应值进行建模,并用这个所建的模型及时探测跟踪器是否产生漂移,本申请提供的跟踪方法能够使跟踪器具有较高的准确性,在本申请的另一个实施例中,当探测到跟踪器产生漂移后,可以采用一种由粗到精的方法精确定位出目标最有可能出现的位置,从而有效校正跟踪器漂移,从而使跟踪器可以长时间有效运行,并大大提高目标跟踪的准确性。
关于上文所述的“根据各帧的最大响应值进行建模,并用这个所建的模型及时探测跟踪器是否产生漂移”,请参阅图6。
在图6中,针对连续的一系列图片,图中的第一帧图片中的方框表示t1时刻跟踪到的目标坐标位置,经过一段时间(由图中…表示),图中的第二帧图片中的方框表示t2时刻跟踪到的目标坐标位置,其中第一帧图片(即t1时刻)中的样本最大响应值为yt1,第二帧图片(即t2时刻)中的样本最大响应值为yt2。对从t1时刻到t2时刻之间一系列连续时刻对应的yt1……yt2等最大响应值进行建模。并由所建模型可以得到如图6所示的抛物线图(所述抛物线图可以是正态分布图)。
在其后的跟踪过程中,例如图6中的t3时刻对应的图片帧,在得到该帧图片的最大响应值yt3后,用所建模型对yt3进行匹配,当yt3落在所建模型的抛物线图的大概率区间外时,认为此时的响应值yt3不属于该模型,则认为跟踪器在t3时刻发生了漂移,进一步的,可以对该漂移进行校正。其中,图中的竖线a和竖线b与曲线及坐标轴围起来的区域为所述大概率区间。需要说明的是,此处的大概率区间可以根据对跟踪器的精度的要求进行预设,以图6的模型为例,精度要求越高的跟踪器,竖线a,b对应的横坐标取值越靠近曲线的中轴线。
需要说明的是,此处的正态分布图是以模型为单高斯模型为例得到的,当建模的初始模型是别的模型时,其呈现的方式不一定是抛物线图,也可能是其他对应的图,本申请实施例对此不作限定。
为了更完整的了解本案的应用场景,下面将对本申请可能发生的应用场景进行描述,以帮助对本方案应用的理解。
应用场景1:无人驾驶(以及辅助驾驶)
无人驾驶(以及辅助驾驶)是目前非常火热的课题。随着经济的发展,全球汽车数量不断增加,车祸的发生率也随之大幅度上升,给人们的生命财产造成巨大的威胁。人为因素是造成交通事故的主要因素,如何降低人为失误,是提高驾驶安全系数的重要课题。因此,高级驾驶辅助系统(ADAS,Advanced Driving Assistant System)和自动驾驶系统(ADS,Autonomous Driving System)受到全球各大公司的关注。如谷歌、特斯拉、Uber、百度等企业均投入大量的资金进行相关技术的研发和部署。由于摄像机相对于激光等硬件设备来说价格比较便宜,因此构建以视觉感知为主的感知系统是很多公司的研发方向。
如图7所示,是无人驾驶车上前向摄像机拍摄到的路面场景。视觉感知的主要目的是在图片中检测出前方关键障碍物(方框中的人、车)在图片中以及在车身坐标系下的位置。
如图8是以视觉为主感知系统的无人驾驶系统的几个主要组成部分:
1、视频读取
无人驾驶车会在车顶安装多个摄像头,多方位拍摄行使路面。然后送入视觉检测模块,一般摄像机会以30Hz的速度采集图片。
2、目标检测
视觉检测部分对输入的图片进行关键障碍物检测、车道线检测、红绿灯检测,给出对应的目标在图片中的位置。关键障碍物为已定义的车辆、行人等。目前深度学习在行人检测等方向取得很好的效果。因此一般采用卷积神经网络进行目标检测,但是由于硬件条件有限,目前目标检测神经网络在确保效果满足要求的前提下无法实时性需求。因此需要增加目标跟踪来确保视觉感知的实时性。
3、目标跟踪
目标跟踪可以弥补目标检测速度的不足,而且可以平滑检测结果。因此目标跟踪是视觉感知模块非常重要的一部分。常用的跟踪器有CT(compressive tracke,压缩感知跟踪器)、STC(Spatio-Temporal Context,时空上下文跟踪器)、KCF(Kernelizedcorrelation filte,核相关滤波跟踪器)、Struck、CSK、等。跟踪器的速度一般可以达到30~60FPS。有的甚至高达200~300FPS。但是在真实跟踪场景中,很多跟踪器无法自检跟踪的准确性,一旦跟踪器发生漂移,那么会输出错误的位置。在无人驾驶中,输出错误的位置意味着在没车的地方输出有车,直接影响规控做出合理的决策。因此,及时发现并校正跟踪器漂移异常重要。本申请所提方法旨在用于改进无人驾驶视觉感知部分,及时探测到跟踪器在跟踪过程中发生的跟踪漂移,从而实时释放已经不在视野内的目标,保证输出结果的准确性。
4、视觉测距
对图像上检测到的目标进行测距,即:对每个视觉检测到的图像中的目标,通过视觉测距原理,得到其在真实场景中距离本车的距离。视觉检测只能检测目标在图像坐标系中的位置,然而必须通过视觉测距才能反馈给规控在真实三维场景中多远的地方有人、车。目前的视觉测距原理很多都是基于触地点的,其受视觉检测框抖动的影响非常大,而上文3中的目标跟踪可以平滑视觉检测结果,从而使视觉测距更加精确。
5、多传感器融合
摄像机只是其中一个传感器,视觉感知能够很好的给出关键障碍物的存在性信息。但是无法给出精确的障碍物速度信息。Ibeo等其他传感器,能够较好的得到障碍物的速度信息。多种传感器相互融合能够准确给出行使路面上关键障碍物的综合信息(位置、类别、速度、行驶方向),多传感器融合也是无人驾驶中一个重要的部分。
6、规控
此部件的功能是:通过多传感器融合输出的障碍物综合信息,做出合理的路径规划与自车行驶状态控制。
此部分决策自车怎么走,是无人驾驶车的控制中心。
视觉目标跟踪应用在无人驾驶(辅助驾驶)的感知模块,能够弥补检测器速度不实时、输出平滑的目标位置以提高测距精度、为障碍物提供ID以便测速等,因此视频目标跟踪是无人驾驶(辅助驾驶)以视觉为主的感知模块不可或缺的一部分。本专利所提方法应用于无人驾驶模块视觉感知部分,能够及时探测跟踪器漂移。使视觉感知输出结果更加准确。
应用场景2:智能视频监控
随着各行各业如银行、电力、交通、安检以及军事设施等领域对安全防范和现场记录报警系统的需求与日俱增,对监控产品质量的要求也越来越高。视频监控在生产生活各方面得到了非常广泛的应用。智能视频监控系统己经广泛地存在于银行、商场、车站和交通路口等公共场所。
如图9所示是智能视频监控的几个主要组成部分。
1、视频读取
相关场景安装摄像头感知监控范围场景,拍摄的图片送入目标检测模块,一般摄像机会以30Hz的速度采集图片。
2、目标检测
此部分主要检测运动目标,即:在序列图像中检测出变化区域并将运动目标从背景图像中提取出来。目标分类、跟踪和行为理解等后处理过程仅仅考虑图像中对应于运动目标的像素区域。运动目标的正确检测与分割对于后期处理非常重要。
3、目标分类
此部分是分离出感兴趣的目标。例如在银行门口,那么车辆并非首要的感兴趣目标,人才是首要的感兴趣目标。此部分针对场景关注对象的不同而分离出重点关注目标。
4、目标跟踪
目标跟踪可以弥补目标检测速度的不足、以及在连续帧中将同一个目标串联起来,便于进一步分析。此部分能够保证系统实时运行。本申请所提方法应用于此部分,及时探测及校正跟踪器漂移,使感知结果准确的输送到下一处理模块。
5、视频理解(或身份识别、异常检测等)
感知模块通过对视频的连续处理,将检测到的感兴趣目标连续帧信息送入此模块。该模块对这些信息进一步分析,检测出危险状态。
6、报警干预
第5步检测到危险信号以后,系统发出警告。通知相关人员到现场处理,防止危险状况进一步恶化。
视觉目标跟踪是智能视频监控系统实时运行的重要保证。本专利所提方法用于智能视频监控的目标跟踪部分,及时发现并探测到目标跟踪过程中产生的漂移,并可以进一步向下一模块发送准确的感兴趣目标信息,保证智能视频监控系统的正常运行。
上述场景举例仅为众多应用场景中较为典型的两个应用场景,由上述场景举例可以知道,本申请所提供的方法和装置可以应用在无人车、包含视觉的车载多传感器融合感知设备、智能监控装置以及智能手机等所有有可能用到视觉目标跟踪的产品上,具体可以通过将本申请提供的方法部署在车载视觉感知设备的计算节点上,通过软件改造提升视觉部分跟踪器的性能从而提高整体的视觉输出性能,需要说明的,此仅作为举例帮助读者对本申请的产品形态有所了解,并不作为限制本申请的产品实现。
下面将结合附图10,对本申请中的目标跟踪方法100进行描述。
S101,接收当前帧图片,所述当前帧图片中包含目标对象。
这里所述的当前帧图片是视频序列中的一帧图片,而不是孤立的一张图片,其获取一般可以利用摄像机以固定频率进行采集。
S103,根据漂移判断模型判断跟踪器对所述当前帧图片中的目标对象的跟踪是否产生漂移;所述漂移判断模型是根据样本响应最大值进行建模得到的;其中,所述漂移判断模型为概率密度模型,所述样本是指:用于进行漂移判断模型训练的训练样本,所述训练样本从训练图片中采集得到,所述训练图片中包含所述目标对象;所述样本响应值是指:所述训练样本是所述训练图片中的目标对象的可能性概率值。
值得说明的是,概率密度模型具体可以以概率密度函数的形式呈现,概率密度函数用于直观地描述连续性随机变量(离散型的随机变量下该函数称为分布律),表示瞬时幅值落在某指定范围内的概率,因此是幅值的函数。连续样本空间情形下的概率称为概率密度,当试验次数无限增加,直方图趋近于光滑曲线,曲线下包围的面积表示概率,该曲线即这次试验样本的概率密度函数。
在数学中,连续型随机变量的概率密度函数(在不至于混淆时可以简称为密度函数)是一个描述这个随机变量的输出值,在某个确定的取值点附近的可能性的函数。而随机变量的取值落在某个区域之内的概率则为概率密度函数在这个区域上的积分。
在本申请实施例中,根据漂移判断模型判断跟踪器对所述当前帧图片中的目标对象的跟踪是否产生漂移,具体就是判断每一个样本最大响应值是否落在由该概率密度函数构建的某个区间内,这里的区间范围可以根据具体的精度需求进行设定,此处不做限定。后文涉及概率密度模型的内容,也可以参考此处的解释,为避免冗余,不再赘述。
跟踪器会输出目标在当前帧图片中的位置,本申请中,对于跟踪器输出的当前帧图片的目标位置,利用漂移判断模型判断该位置是否准确,即该位置是否是目标在当前帧图片中的真实位置,也就是判断跟踪是否产生漂移的具体含义。需要说明的是,本申请的目标跟踪方法可以是集成在传统的跟踪器中,使其除了传统的跟踪功能,还具备本申请中关于漂移检测甚至后面提到的漂移校正的功能;当然,本申请的目标跟踪方法也可以是一个新的模块,搭载在传统的跟踪器上,或者该新的模块也可以与传统跟踪器分开独立工作,本申请不对此进行限定。
关于S103中提到的“所述漂移判断模型是根据样本响应最大值进行建模得到的”,需要对其进行说明的是,这里说的漂移判断模型具体是用来对跟踪的结果进行漂移判断,也可以说是漂移检测,即由该模型来判断或检测跟踪结果的准确性。该漂移判断模型可以由服务器预先训练好备用,当然,当终端具备进行模型训练的能力时,也可以由终端预先训练好备用,训练的过程主要包括在训练图片中采集训练样本,通常这个采样过程会在这个训练图片中的目标坐标位置周边一定范围内进行,我们可以为这个范围预设搜索窗,搜索窗的中心通常是上一帧图片中目标位置的中心,搜索窗大小与目标大小成正比,不同的搜索窗定义的形状不一样,它可能是矩形,可能是圆形,也可能是其它的可以实现其功能的任何形状。然后采样框可以在该搜索窗内上下左右滑动即可形成一批样本,这里所说的采样框与上一帧图片中的目标位置框的大小与形状相同。实践中,除了可以用上述的方式进行采样,还可以采用多尺度的采样方式,即将上一帧图片中的目标位置框按一定比例(包含多种比例)进行缩放后得到采样框,再根据该多尺度的采样框进行采样。实践中还有其他采样方式,本申请不对此一一展开论述。采样得到一批样本后,对这些样本中的每个样本进行特征提取,常用的特征包括方向梯度直方图(Histogram of Oriented Gradient,HOG)、局部二值模(Local Binary Pattern,LPB)特征以及多特征融合等,经过特征提取后,每个样本都有其特征表示,再通过分类器对每个样本的特征表示进行计算,得到每个特征表示的响应值,也就是说每个样本都对应多个响应值,其中最大的那个响应值是该样本的最大响应值,该最大样本响应值对应的那个样本的位置是该训练图片中目标最有可能出现的位置。每一个训练样本都有一个样本最大响应值,很多样本就会有很多个样本最大响应值,而本申请中的漂移判断模型就是根据这些样本最大响应值进行建模得到的。
S105,输出跟踪漂移结果,所述跟踪漂移结果包括:对目标对象的跟踪产生漂移,或,对目标对象的跟踪未产生漂移。
在本申请实施例中,根据漂移判断模型判断跟踪器对所述当前帧图片中的目标对象的跟踪是否产生漂移;其中,所述漂移判断模型是根据样本响应最大值进行建模得到的;因此可以快速的检测到跟踪器的漂移情况,为及时的漂移校正处理提供快速准确的输入。
在本申请实施例的基础上,进一步可选的,在所述根据漂移判断模型判断跟踪器对所述当前帧图片中的目标对象的跟踪是否产生漂移之前,所述方法还包括S102的模型训练方法,具体包括:
S1021,接收第一图片,在所述第一图片中给定目标坐标位置,所述第一图片为首帧图片。
S1022,接收第二图片,所述第二图片和所述第一图片在时间轴上具有连续性;根据所述第一图片中的目标坐标位置确定所述第二图片中的对应位置,并在所述第二图片中的对应位置的周边进行采样,得到N个测试样本,N为大于1的正整数。
S1023,对所述N个测试样本中的每个样本进行特征提取,得到与所述N个测试样本一一对应的N个特征表示{X1,X2…Xn…XN},其中n表示N个测试样本中的第n个样本。
其中,X1用于表示第一个测试样本的特征表示,具体的X1中可以包含有多个特征,例如,方向梯度直方图(Histogram of Oriented Gradient,HOG)、局部二值模(LocalBinary Pattern,LPB)特征等……本申请已经在上文特征提取环节进行详细描述了,此处不再赘述。
S1024,将所述N个特征表示{X1,X2…Xn…XN}输入分类器,得到与所述N个特征表示{X1,X2…Xn…XN}一一对应的N个响应值{Y1,Y2…Yn…YN},其中Yn=wXn,所述w表示所述分类器的核值;所述Yn用于表示所述第n个样本是所述第二图片中的目标对象的可能性概率值。
在跟踪器领域下,此处的跟踪问题常常被转换为回归问题,即Y=wX,其中Y是样本X的样本回归值,也就是上面所述的样本响应值,该样本响应值Y的取值在0到1之间,Y的值越大说明其对应的X成为这一帧图片中的目标的可能性也越大。其中,w是分类器的核值,它是由上一帧图片正负采样后训练得到的。具体的,在首帧图片时即会给定首帧图片中的目标位置,根据该目标位置进行正负采样后会得到w,在第二帧图片时开始跟踪,当第二帧图片跟踪完成后,若跟踪没有产生漂移,则根据该第二帧图片的跟踪结果重新进行正负样本的采样,并基于此更新w,再根据该更新后的w进行下一帧图片的目标跟踪,如此往复。
S1025,根据所述N个响应值{Y1,Y2…Yn…YN}中的最大响应值Ymax进行建模,得到所述漂移判断模型。
每个样本对应一个样本响应值,一张训练图片中有多个样本,也就有多个样本响应值,这些样本响应值中最大的那一个就是我们感兴趣的那个最大响应值,也是上文提到的最大样本响应值。根据很多帧训练图片的很多个最大样本响应值进行建模,得到所述漂移判断模型。该模型能够迅速检测出当前跟踪是否产生漂移,为跟踪器的自检和后续的漂移校正都作出重要贡献,从而使得跟踪器的跟踪准确性大大提升,落到跟踪器的具体应用场景中,例如上文所举例的无人驾驶,可以迅速判断跟踪的准确性,从而给规控提供有效的输入信息,使其为无人驾驶的车辆输出更为可靠的控制信号。
具体的,这里所述的“建模”,可以按以下方式进行:即对预先选择的模型进行初始化,例如,当预先选择的模型为单高斯模型时,记录前面跟踪过程中已经跟踪完成的1~n(n可设为10~15)帧的最大样本响应值,用极大似然法估计高斯模型参数,完成模型初始化。再根据该初始化了的模型去对后面的跟踪进行漂移检测,并由检测结果对该模型进行持续的更新和完善。
具体的,上述S103中所述的根据漂移判断模型判断跟踪器对所述当前帧图片中的目标对象的跟踪是否产生漂移,包括:
判断所述当前帧图片中的最大样本响应值是否落在所述漂移判断模型构建的大概率区间外,若是则判断为产生漂移,若否则判断为未产生漂移;其中,所述当前帧图片中的最大样本响应值是指:在所述当前帧图片中采样的多个样本对应的多个样本响应值中最大的样本响应值。
由于漂移判断模型为概率密度模型,概率密度模型通常以概率密度函数的方式呈现,因此,所述漂移判断模型构建的大概率区间具体是指:由所述概率密度函数构建的大概率区间,具体的,该大概率区间为预设的概率区间,即当对判断精度要求较高的情况下,可以将该区间范围设定的更窄一些,没有落在该区间的样本最大响应值即被判断为:其样本为产生漂移的样本;而当对判断精度要求不那么高的情况下,可以将该区间范围设置的相对宽一些。
具体的,如图6所示,针对连续的一系列图片,图6上半部分的三张图中,第一帧图片中的方框表示t1时刻跟踪到的目标坐标位置,经过一段时间(由图中…表示),图中的第二帧图片中的方框表示t2时刻跟踪到的目标坐标位置,其中第一帧图片(即t1时刻)的最大响应值为yt1,第二帧图片(即t2时刻)的最大响应值为yt2。对从t1时刻到t2时刻之间一系列连续时刻对应的yt1……yt2等最大响应值进行建模。并由所建模型可以得到抛物线图,具体如图6所示。
在其后的跟踪过程中,例如图6中的t3时刻对应的图片帧,在得到该帧图片的最大响应值yt3后,用所建模型对yt3进行匹配,当yt3落在所建模型的抛物线图的大概率区间外时,认为此时的响应值yt3不属于该模型,则认为跟踪器在t3时刻发生了漂移,进一步的,可以对该漂移进行校正。需要说明的是,此处的大概率区间可以根据对跟踪器的精度的要求进行预设,精度要求越高的跟踪器,抛物线中沿x轴取的值越靠近抛物线中轴线。
在检测到跟踪产生漂移之后,即:当所述跟踪漂移结果为:对目标对象的跟踪产生漂移,本申请实施例还包括S107的漂移校正方法,该漂移校正方法包括由粗到精的搜索过程,具体包括:
S1071,根据所述目标对象在上一帧图片中的位置得到当前帧图片中的对应位置,在所述对应位置的附近建立多个搜索窗。
S1072,对所述多个搜索窗中的每个搜索窗进行样本采集,得到每个搜索窗对应的样本集合,并计算所述样本集合中每个样本的样本响应值。
S1073,根据每个搜索窗中的top-k个样本响应值,确定所述目标对象最有可能出现的目标搜索窗;其中top-k个样本响应值为:样本响应值的大小按由大到小排列靠前的k个样本响应值。
S1076,确定所述目标搜索窗中最大的样本响应值所对应的采样样本为所述当前帧图片中的目标对象。
可选的,在所述S1076之前,所述方法还可以包括:
S1074,根据所述目标搜索窗对所述当前帧图片进行采样,得到多个采样样本。
S1075,分别计算所述多个采样样本的样本响应值,得到多个采样样本响应值。对应的,所述S1076具体可以包括:将所述多个采样样本响应值中最大的样本响应值所对应的采样样本确定为所述当前帧图片中的目标对象。即该最大的样本响应值所对应的采样样本的位置就是校正到的目标位置。
其中,所述S1073中的所述根据每个搜索窗中的top-k个样本响应值,确定所述目标对象最有可能出现的目标搜索窗,包括:
将每个搜索窗中的top-k个样本响应值输入统计函数,得到top-k个样本响应值的统计函数值,通过比较所述top-k个样本响应值的统计函数值确定所述目标对象最有可能出现的目标搜索窗。
具体的,所述将每个搜索窗中的top-k个样本响应值输入统计函数,得到top-k个样本响应值的统计函数值,通过比较所述top-k个样本响应值的统计函数值确定所述目标对象最有可能出现的目标搜索窗,包括:
其中Fm(.)为对zi应的响应图F(.)中的响应值从大到小排序的第m大的值,是统计函数,统计函数可以为求和、求积、求中值、求均值、求方差(统计函数为求方差时,其值越小越好)等。
上述找目标搜索窗的过程可以认为是粗搜索的过程,经过粗搜索确定的目标搜索窗是目标最有可能出现的位置,然后在此基础上再进行精搜索,即S1074和S1075的过程,在该目标搜索窗中再进行采样,并确定最大样本响应值对应的样本,该样本所在位置就是目标在当前帧图片中的位置,由此完成了漂移的校正,即将错误的目标位置校正为正确的目标位置。这里所述的采样以及确定最大样本响应值的过程和上文相关特征处采用的方式原理是一样的,此处不再赘述。
至此,本申请实施例通过漂移判断模型及时检测出跟踪器对目标跟踪过程中产生的漂移,并通过由粗到精的过程对该漂移进行及时的校正,从而保证了跟踪器的准确性,为跟踪器的下游设备提供快速准确的输入信息,能够使其下游设备作出更为准确的判断。
在本申请的另一个实施例中,进一步的,当所述跟踪漂移结果为:对目标对象的跟踪未产生漂移,所述方法还包括S108的模型更新方法,具体包括:根据所述跟踪漂移结果对所述漂移判断模型进行更新。
进一步的,所述根据所述跟踪漂移结果对所述漂移判断模型进行更新之前,本申请实施例还可以包括:
S1081,输出所述目标对象在所述当前帧图片中的位置。
对应的,所述根据所述跟踪漂移结果对所述漂移判断模型进行更新,包括:
S1082,根据所述目标对象在所述当前帧图片中的位置,更新所述漂移判断模型。
如S1081所述的输出目标对象在所述当前帧图片中的位置之后,可以利用该位置信息对应的相应函数对当前的漂移判断模型进行更新,使其判断漂移的准确性更高。
具体的,例如所选的初始模型为高斯模型时,更新公式可以为:
μt=(1-ρ)μt-1+ρyt;
其中是当前帧更新后的模型参数,/>是前一帧时的模型参数,ρ是更新权值,一般可以为0.01。本申请中权值ρ逐步下降,设置为1/N,其中N为当前跟踪总帧数,yt是第t帧图片的最大样本响应值。
值得说明的是,在本申请实施例中,对模型进行更新的更新频率是可以调节的,比如说,这个频率可以是每当跟踪漂移结果为未产生漂移,便根据该跟踪漂移结果对模型进行更新;也可以累计多几帧的跟踪漂移结果之后再根据累积的跟踪漂移结果对模型进行更新。这样处理的考虑是,当更新频率更频繁的时候,模型在经历频繁更新的过程中其鲁棒性会越来越优越,但是频繁的更新有可能耗费较多的计算资源,因此,当考虑到节约计算资源的维度时,我们可以调整更新频率,使其多次累积后进行一次更新,即本申请实施例可以根据具体的需求在模型鲁棒性和计算资源消耗之间做平衡。
本申请实施例中根据未产生漂移的输出结果对漂移判断模型进行更新,使得该漂移判断模型具有自适应,漂移的检测能力不断的得到完善,使得其漂移判断(或漂移检测)结果越来越准确。
需要说明的是,本申请实施例是对跟踪器的改进,本申请实施例所述的目标跟踪方法可以以软件产品的形式集成在现有的跟踪器中,也可以作为一个独立的模块为现有跟踪器提供漂移检测和/或漂移校正的功能。本申请实施例对所有类型的跟踪器均适用。可以根据任务的不同选择合适的基础跟踪器,如KCF(Kernelized correlation filte,核相关滤波跟踪器)、CT(compressive tracke,压缩感知跟踪器)、STC(Spatio-TemporalContext,时空上下文跟踪器)等。然后再选择一个基础模型用来建模跟踪器的历史最大样本响应值,常用的基础模型有单高斯,多高斯等。接着,如上文所述的根据跟踪得到的最大样本响应值对该基础模型进行建模,即估计其参数,从而完成该基础模型的初始化工作。在后续的跟踪过程中,若跟踪结果显示跟踪未产生漂移,则根据这个结果对该初始化的基础模型进行更新(具体的,当我们说对模型进行更新,其本质是对模型参数进行更新),如此往复……当跟踪结果显示跟踪产生漂移,则继续采用本申请实施例所述的漂移校正方法对该漂移进行校正。
以上,结合相关附图详细说明了本申请实施例提供的方法。以下,将结合附图详细说明本申请实施例提供的装置。
图11是本申请实施例提供的目标跟踪装置的示意性框图。如图11所示,该装置1200包括:接收模块1210、判断模块1220和输出模块1230。
接收模块1210,用于接收当前帧图片,所述当前帧图片中包含目标对象。
判断模块1220,用于根据漂移判断模型判断跟踪器对所述当前帧图片中的目标对象的跟踪是否产生漂移;所述漂移判断模型是根据样本响应最大值进行建模得到的;其中,所述漂移判断模型为概率密度模型,所述样本是指:用于进行漂移判断模型训练的训练样本,所述训练样本从训练图片中采集得到,所述训练图片中包含所述目标对象;所述样本响应值是指:所述训练样本是所述训练图片中的目标对象的可能性概率值。
输出模块1230,用于输出跟踪漂移结果,所述跟踪漂移结果包括:对目标对象的跟踪产生漂移,或,对目标对象的跟踪未产生漂移。
应理解,目标跟踪装置1200可以对应于本申请实施例的目标跟踪方法100,该目标跟踪装置1200可以用于执行图10中的目标跟踪方法。并且,该目标跟踪装置1200中的各模块和上述其他操作和/或功能分别为了实现图10中目标跟踪方法的相应流程,具体地,接收模块1210用于执行方法100中的步骤101,判断模块1220用于执行方法100中的步骤103,输出模块1230用于执行方法100中的步骤105,各模块执行上述相应步骤的具体过程及相应的技术效果已经在方法100中已经详细说明,为了简洁,在此不再赘述。
可选的,所述装置还包括:模型训练模块,所述模型训练模块用于,在所述接收模块接收当前帧图片之前:
接收第一图片,在所述第一图片中给定目标坐标位置,所述第一图片为首帧图片;
接收第二图片,所述第二图片和所述第一图片在时间轴上具有连续性;根据所述第一图片中的目标坐标位置确定所述第二图片中的对应位置,并在所述第二图片中的对应位置的周边进行采样,得到N个测试样本,N为大于1的正整数;
对所述N个测试样本中的每个样本进行特征提取,得到与所述N个测试样本一一对应的N个特征表示{X1,X2…Xn…XN},其中n表示N个测试样本中的第n个样本;
将所述N个特征表示{X1,X2…Xn…XN}输入分类器,得到与所述N个特征表示{X1,X2…Xn…XN}一一对应的N个响应值{Y1,Y2…Yn…YN},其中Yn=wXn,所述w表示所述分类器的核值;所述Yn用于表示所述第n个样本是所述第二图片中的目标对象的可能性概率值;
根据所述N个响应值{Y1,Y2…Yn…YN}中的最大响应值Ymax进行建模,得到所述漂移判断模型。
可选的,所述判断模块1220,具体用于:
判断所述当前帧图片中的最大样本响应值是否落在所述漂移判断模型构建的大概率区间外,若是则判断为产生漂移,若否则判断为未产生漂移;其中,所述当前帧图片中的最大样本响应值是指:在所述当前帧图片中采样的多个样本对应的多个样本响应值中最大的样本响应值。
由于漂移判断模型为概率密度模型,概率密度模型通常以概率密度函数的方式呈现,因此,所述漂移判断模型构建的大概率区间具体是指:由所述概率密度函数构建的大概率区间,具体的,该大概率区间为预设的概率区间,即当对判断精度要求较高的情况下,可以将该区间范围设定的更窄一些,没有落在该区间的样本最大响应值即被判断为其样本为产生漂移的样本,而当对判断精度要求不那么高的情况下,可以将该区间范围设置的相对宽一些。
可选的,所述装置还包括校正模块,当所述跟踪漂移结果为:对目标对象的跟踪产生漂移,所述校正模块用于:
根据所述目标对象在上一帧图片中的位置得到当前帧图片中的对应位置,在所述对应位置的附近建立多个搜索窗;
对所述多个搜索窗中的每个搜索窗进行样本采集,得到每个搜索窗对应的样本集合,并计算所述样本集合中每个样本的样本响应值;
根据每个搜索窗中的top-k个样本响应值,确定所述目标对象最有可能出现的目标搜索窗;其中top-k个样本响应值为:样本响应值的大小按由大到小排列靠前的k个样本响应值;
根据所述目标搜索窗对所述当前帧图片进行采样,得到多个采样样本;
分别计算所述多个采样样本的样本响应值,得到多个采样样本响应值,并将所述多个采样样本响应值中最大的样本响应值所对应的采样样本确定为所述当前帧图片中的目标对象。
具体的,关于所述根据每个搜索窗中的top-k个样本响应值,确定所述目标对象最有可能出现的目标搜索窗,所述校正模块具体用于:
将每个搜索窗中的top-k个样本响应值输入统计函数,得到top-k个样本响应值的统计函数值,通过比较所述top-k个样本响应值的统计函数值确定所述目标对象最有可能出现的目标搜索窗。
具体的,所述将每个搜索窗中的top-k个样本响应值输入统计函数,得到top-k个样本响应值的统计函数值,通过比较所述top-k个样本响应值的统计函数值确定所述目标对象最有可能出现的目标搜索窗,包括:
其中Fm(.)为对zi应的响应图F(.)中的响应值从大到小排序的第m大的值,是统计函数,统计函数可以为求和、求积、求中值、求均值、求方差(统计函数为求方差时,其值越小越好)等。
可选的,所述装置还包括更新模块,当所述跟踪漂移结果为:对目标对象的跟踪未产生漂移,所述更新模块用于:根据所述跟踪漂移结果对所述漂移判断模型进行更新。
进一步的,所述根据所述跟踪漂移结果对所述漂移判断模型进行更新之前,本申请实施例还可以包括:
输出所述目标对象在所述当前帧图片中的位置;
对应的,所述根据所述跟踪漂移结果对所述漂移判断模型进行更新,包括:
根据所述目标对象在所述当前帧图片中的位置,更新所述漂移判断模型。
图12是本申请实施例提供的跟踪器的结构性示意图,如图12所示,该装置1300包括:处理器1310、存储器1320和通信接口1330。其中,存储器1320中存储有指令,处理器1310用于执行存储器1320中的指令,当该指令被执行时,该处理器1310用于执行上述方法实施例提供的方法,处理器1310还用于控制通信接口1330与外界进行通信。
具体地,目标跟踪装置1300可以对应于本申请实施例的目标跟踪方法,该目标跟踪装置1300可以包括用于执行图11中目标跟踪方法100的目标跟踪装置执行的方法的模块。并且,该目标跟踪装置1300中的各模块和上述其他操作和/或功能分别为了实现图11中目标跟踪方法100的相应流程。各模块执行上述相应步骤的具体过程及相应的技术效果已经在方法100中已经详细说明,为了简洁,在此不再赘述。
图13是本申请实施例提供的模型训练装置1400的示意性框图。该模型训练装置1400用于对漂移判断模型进行训练。如图13所示,该装置1400包括:接收单元1410和训练单元1420。
应理解,模型训练装置1400可以对应于本申请实施例的训练漂移判断模型的方法步骤102,该模型训练装置1400可以包括用于执行漂移判断模型训练的方法步骤102。并且,该模型训练装置1400中的各模块和上述其他操作和/或功能分别为了实现模型训练方法步骤102的相应流程。具体地,接收单元1410用于执行方法S102中的步骤S1021和S1022,训练单元1420用于执行方法S102中的步骤S1023至S1025,各模块执行上述相应步骤的具体过程及相应的技术效果已经在方法100中的S102步骤中已经详细说明,为了简洁,在此不再赘述。
需要说明的是,该模型训练装置1400和上文所述的模型训练模块在本申请中具有相同的功能,区别在于,模型训练模块可以是目标跟踪装置中的功能模块,其可以集成在目标跟踪装置中完成其相应的功能,也可以搭载在目标跟踪装置上,与该装置电连接以进行模型训练并输出漂移判断模型给目标跟踪装置。模型训练装置1400可以是独立于所述目标跟踪装置的一个装置,有自己的处理器和存储器等,具体如下所述。
图14是本申请实施例提供的模型训练装置的结构性示意图。如图14所示,该装置1500包括:处理器1510、存储器1520和通信接口1530。其中,存储器1520中存储有指令,处理器1510用于执行存储器1520中的指令,当该指令被执行时,该处理器1510用于执行上述方法实施例提供的方法,处理器1510还用于控制通信接口1530与外界进行通信。
具体地,模型训练装置1500可以对应于本申请实施例的模型训练方法S102,该模型训练装置1500可以包括用于执行目标跟踪方法100中的模型训练方法S102的模块。并且,该模型训练装置1500中的各模块和上述其他操作和/或功能分别为了实现模型训练方法S102的相应流程。各模块执行上述相应步骤的具体过程及相应的技术效果已经在方法S102中已经详细说明,为了简洁,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括计算机程序,当其在计算机上运行时,使得该计算机执行上述方法实施例提供的方法。
本申请实施例还提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得该计算机执行上述方法实施例提供的方法。
应理解,本申请实施例中,该处理器可以为中央处理单元(central processingunit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random accessmemory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上单元集成在一个模块中。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (14)
1.一种目标跟踪方法,其特征在于,包括:
接收当前帧图片,所述当前帧图片中包含目标对象;
根据漂移判断模型判断跟踪器对所述当前帧图片中的目标对象的跟踪是否产生漂移;所述漂移判断模型是根据样本的响应值的最大值进行建模得到的;其中,所述漂移判断模型为概率密度模型,所述样本是指:用于进行漂移判断模型训练的训练样本,所述训练样本从训练图片中采集得到,所述训练图片中包含所述目标对象;所述样本的响应值是指:所述训练样本是所述训练图片中的目标对象的可能性概率值;
输出跟踪漂移结果,所述跟踪漂移结果包括:对所述目标对象的跟踪产生漂移,或,对所述目标对象的跟踪未产生漂移;
当所述跟踪漂移结果为:对目标对象的跟踪产生漂移,所述方法还包括:
根据所述目标对象在上一帧图片中的位置得到当前帧图片中的对应位置,在所述对应位置的附近建立多个搜索窗;
对所述多个搜索窗中的每个搜索窗进行样本采集,得到每个搜索窗对应的样本集合,并计算所述样本集合中每个样本的样本响应值;
根据每个搜索窗中的top-k个样本响应值,确定所述目标对象最有可能出现的目标搜索窗;其中top-k个样本响应值为:样本响应值的大小按由大到小排列靠前的k个样本响应值;
确定所述目标搜索窗中最大的样本响应值所对应的采样样本为所述当前帧图片中的目标对象。
2.根据权利要求1所述的方法,其特征在于,在所述根据漂移判断模型判断跟踪器对所述当前帧图片中的目标对象的跟踪是否产生漂移之前,所述方法还包括:
接收第一图片,在所述第一图片中给定目标坐标位置,其中,所述第一图片为首帧图片;
接收第二图片,所述第二图片和所述第一图片在时间轴上具有连续性;根据所述第一图片中的目标坐标位置确定所述第二图片中的对应位置,并在所述第二图片中的对应位置的周边进行采样,得到N个测试样本,N为大于1的正整数;
对所述N个测试样本中的每个样本进行特征提取,得到与所述N个测试样本一一对应的N个特征表示{X1,X2…Xn…XN},其中n表示N个测试样本中的第n个样本;
将所述N个特征表示{X1,X2…Xn…XN}输入分类器,得到与所述N个特征表示{X1,X2…Xn…XN}一一对应的N个响应值{Y1,Y2…Yn…YN},其中Yn=wXn,所述w表示所述分类器的核值;所述Yn用于表示所述第n个样本是所述第二图片中的目标对象的可能性概率值;
根据所述N个响应值{Y1,Y2…Yn…YN}中的最大响应值Ymax进行建模,得到所述漂移判断模型。
3.根据权利要求1或2所述的方法,其特征在于,所述根据漂移判断模型判断跟踪器对所述当前帧图片中的目标对象的跟踪是否产生漂移,包括:
判断所述当前帧图片中的最大样本响应值是否落在所述漂移判断模型构建的大概率区间外,若是则判断为产生漂移,若否则判断为未产生漂移;其中,所述当前帧图片中的最大样本响应值是指:在所述当前帧图片中采样的多个样本对应的多个样本响应值中最大的样本响应值。
4.根据权利要求1所述的方法,其特征在于,在所述确定所述目标搜索窗中最大的样本响应值所对应的采样样本为所述当前帧图片中的目标对象之前,所述方法还包括:
根据所述目标搜索窗对所述当前帧图片进行采样,得到多个采样样本;
分别计算所述多个采样样本的样本响应值,得到多个采样样本响应值。
5.根据权利要求1所述的方法,其特征在于,所述根据每个搜索窗中的top-k个样本响应值,确定所述目标对象最有可能出现的目标搜索窗,包括:
将每个搜索窗中的top-k个样本响应值输入统计函数,得到top-k个样本响应值的统计函数值,通过比较所述top-k个样本响应值的统计函数值确定所述目标对象最有可能出现的目标搜索窗。
6.根据权利要求1或2所述的方法,其特征在于,当所述跟踪漂移结果为:对目标对象的跟踪未产生漂移,所述方法还包括:根据所述跟踪漂移结果对所述漂移判断模型进行更新。
7.一种目标跟踪装置,其特征在于,所述装置包括:
接收模块,用于接收当前帧图片,所述当前帧图片中包含目标对象;
判断模块,用于根据漂移判断模型判断跟踪器对所述当前帧图片中的目标对象的跟踪是否产生漂移;所述漂移判断模型是根据样本的响应值的最大值进行建模得到的;其中,所述漂移判断模型为概率密度模型,所述样本是指:用于进行漂移判断模型训练的训练样本,所述训练样本从训练图片中采集得到,所述训练图片中包含所述目标对象;所述样本的响应值是指:所述训练样本是所述训练图片中的目标对象的可能性概率值;
输出模块,用于输出跟踪漂移结果,所述跟踪漂移结果包括:对目标对象的跟踪产生漂移,或,对目标对象的跟踪未产生漂移;
所述装置还包括校正模块,当所述跟踪漂移结果为:对目标对象的跟踪产生漂移,所述校正模块用于:
根据所述目标对象在上一帧图片中的位置得到当前帧图片中的对应位置,在所述对应位置的附近建立多个搜索窗;
对所述多个搜索窗中的每个搜索窗进行样本采集,得到每个搜索窗对应的样本集合,并计算所述样本集合中每个样本的样本响应值;
根据每个搜索窗中的top-k个样本响应值,确定所述目标对象最有可能出现的目标搜索窗;其中top-k个样本响应值为:样本响应值的大小按由大到小排列靠前的k个样本响应值;
确定所述目标搜索窗中最大的样本响应值所对应的采样样本为所述当前帧图片中的目标对象。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:模型训练模块,所述模型训练模块用于,在所述接收模块接收当前帧图片之前:
接收第一图片,在所述第一图片中给定目标坐标位置,其中,所述第一图片为首帧图片;
接收第二图片,所述第二图片和所述第一图片在时间轴上具有连续性;根据所述第一图片中的目标坐标位置确定所述第二图片中的对应位置,并在所述第二图片中的对应位置的周边进行采样,得到N个测试样本,N为大于1的正整数;
对所述N个测试样本中的每个样本进行特征提取,得到与所述N个测试样本一一对应的N个特征表示{X1,X2…Xn…XN},其中n表示N个测试样本中的第n个样本;
将所述N个特征表示{X1,X2…Xn…XN}输入分类器,得到与所述N个特征表示{X1,X2…Xn…XN}一一对应的N个响应值{Y1,Y2…Yn…YN},其中Yn=wXn,所述w表示所述分类器的核值;所述Yn用于表示所述第n个样本是所述第二图片中的目标对象的可能性概率值;
根据所述N个响应值{Y1,Y2…Yn…YN}中的最大响应值Ymax进行建模,得到所述漂移判断模型。
9.根据权利要求7或8所述的装置,其特征在于,所述判断模块,具体用于:
判断所述当前帧图片中的最大样本响应值是否落在所述漂移判断模型构建的大概率区间外,若是则判断为产生漂移,若否则判断为未产生漂移;其中,所述当前帧图片中的最大样本响应值是指:在所述当前帧图片中采样的多个样本对应的多个样本响应值中最大的样本响应值。
10.根据权利要求7所述的装置,其特征在于,所述校正模块用于:在所述确定所述目标搜索窗中最大的样本响应值所对应的采样样本为所述当前帧图片中的目标对象之前,
根据所述目标搜索窗对所述当前帧图片进行采样,得到多个采样样本;
分别计算所述多个采样样本的样本响应值,得到多个采样样本响应值。
11.根据权利要求7所述的装置,其特征在于,关于所述根据每个搜索窗中的top-k个样本响应值,确定所述目标对象最有可能出现的目标搜索窗,所述校正模块具体用于:
将每个搜索窗中的top-k个样本响应值输入统计函数,得到top-k个样本响应值的统计函数值,通过比较所述top-k个样本响应值的统计函数值确定所述目标对象最有可能出现的目标搜索窗。
12.根据权利要求7或8所述的装置,其特征在于,所述装置还包括更新模块,当所述跟踪漂移结果为:对目标对象的跟踪未产生漂移,所述更新模块用于:
根据所述跟踪漂移结果对所述漂移判断模型进行更新。
13.一种跟踪器,其特征在于,所述跟踪器包括处理器和存储器,其中,
所述存储器中存储有计算机可读程序;
所述处理器通过运行所述存储器中的程序,以用于实现上述权利要求1至5任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序使得设备执行权利要求1至5中任一项所述的目标跟踪方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP18894813.7A EP3723046B1 (en) | 2017-12-29 | 2018-12-29 | Target tracking method and device |
PCT/CN2018/125157 WO2019129255A1 (zh) | 2017-12-29 | 2018-12-29 | 一种目标跟踪方法及装置 |
US16/913,795 US11276185B2 (en) | 2017-12-29 | 2020-06-26 | Target tracking method and apparatus |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711479274 | 2017-12-29 | ||
CN2017114792743 | 2017-12-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110264495A CN110264495A (zh) | 2019-09-20 |
CN110264495B true CN110264495B (zh) | 2024-02-02 |
Family
ID=67911677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811572062.4A Active CN110264495B (zh) | 2017-12-29 | 2018-12-21 | 一种目标跟踪方法及装置 |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP3723046B1 (zh) |
CN (1) | CN110264495B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111367317A (zh) * | 2020-03-27 | 2020-07-03 | 中国人民解放军国防科技大学 | 基于贝叶斯学习的无人机集群在线任务规划方法 |
CN111554007B (zh) * | 2020-04-20 | 2022-02-01 | 陈元勇 | 一种智能人员识别控制柜 |
CN111854963A (zh) * | 2020-06-11 | 2020-10-30 | 浙江大华技术股份有限公司 | 温度检测的方法、装置、设备和计算机设备 |
CN114004861B (zh) * | 2020-07-28 | 2023-04-07 | 华为技术有限公司 | 目标跟踪方法及相关系统、存储介质、智能驾驶车辆 |
CN112633105A (zh) * | 2020-12-15 | 2021-04-09 | 重庆电子工程职业学院 | 一种目标跟踪、统计系统及方法 |
CN112894810A (zh) * | 2021-01-19 | 2021-06-04 | 四川阿泰因机器人智能装备有限公司 | 一种基于kcf算法的移动机器人目标防丢失跟随方法 |
CN113052875A (zh) * | 2021-03-30 | 2021-06-29 | 电子科技大学 | 一种基于状态感知模板更新的目标跟踪算法 |
CN115359341B (zh) * | 2022-08-19 | 2023-11-17 | 无锡物联网创新中心有限公司 | 一种模型更新方法、装置、设备及介质 |
CN117234219B (zh) * | 2023-11-14 | 2024-02-02 | 中国船舶集团有限公司第七一九研究所 | 一种海上集群感知任务轨迹设计方法及计算机可读介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104346811A (zh) * | 2014-09-30 | 2015-02-11 | 深圳市华尊科技有限公司 | 基于视频图像的目标实时追踪方法及其装置 |
CN104850865A (zh) * | 2015-06-05 | 2015-08-19 | 三峡大学 | 一种多特征迁移学习的实时压缩跟踪方法 |
CN106326924A (zh) * | 2016-08-23 | 2017-01-11 | 武汉大学 | 一种基于局部分类的目标跟踪方法及系统 |
CN106875428A (zh) * | 2017-01-19 | 2017-06-20 | 博康智能信息技术有限公司 | 一种多目标跟踪方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103177269B (zh) * | 2011-12-23 | 2017-12-15 | 北京三星通信技术研究有限公司 | 用于估计对象姿态的设备和方法 |
US9600901B2 (en) * | 2014-12-22 | 2017-03-21 | International Business Machines Corporation | Video tracker having digital signal processor |
-
2018
- 2018-12-21 CN CN201811572062.4A patent/CN110264495B/zh active Active
- 2018-12-29 EP EP18894813.7A patent/EP3723046B1/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104346811A (zh) * | 2014-09-30 | 2015-02-11 | 深圳市华尊科技有限公司 | 基于视频图像的目标实时追踪方法及其装置 |
CN104850865A (zh) * | 2015-06-05 | 2015-08-19 | 三峡大学 | 一种多特征迁移学习的实时压缩跟踪方法 |
CN106326924A (zh) * | 2016-08-23 | 2017-01-11 | 武汉大学 | 一种基于局部分类的目标跟踪方法及系统 |
CN106875428A (zh) * | 2017-01-19 | 2017-06-20 | 博康智能信息技术有限公司 | 一种多目标跟踪方法及装置 |
Non-Patent Citations (1)
Title |
---|
Dual Deep Network for Visual Tracking;Zhizhen Chi等;《IEEE Transactions on Image Processing》;20170430;第26卷(第4期);第2005-2010页 * |
Also Published As
Publication number | Publication date |
---|---|
EP3723046A4 (en) | 2021-01-27 |
EP3723046A1 (en) | 2020-10-14 |
CN110264495A (zh) | 2019-09-20 |
EP3723046B1 (en) | 2023-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110264495B (zh) | 一种目标跟踪方法及装置 | |
US11276185B2 (en) | Target tracking method and apparatus | |
US10452931B2 (en) | Processing method for distinguishing a three dimensional object from a two dimensional object using a vehicular system | |
US9811732B2 (en) | Systems and methods for object tracking | |
US10671068B1 (en) | Shared sensor data across sensor processing pipelines | |
JP2021523443A (ja) | Lidarデータと画像データの関連付け | |
US11010622B2 (en) | Infrastructure-free NLoS obstacle detection for autonomous cars | |
US11436839B2 (en) | Systems and methods of detecting moving obstacles | |
Li et al. | Fast pedestrian detection and dynamic tracking for intelligent vehicles within V2V cooperative environment | |
Bu et al. | Pedestrian planar LiDAR pose (PPLP) network for oriented pedestrian detection based on planar LiDAR and monocular images | |
US11281916B2 (en) | Method of tracking objects in a scene | |
CN105225248A (zh) | 识别物体的运动方向的方法和设备 | |
Qing et al. | A novel particle filter implementation for a multiple-vehicle detection and tracking system using tail light segmentation | |
JP2013069045A (ja) | 画像認識装置、画像認識方法および画像認識プログラム | |
Dinh et al. | Development of a tracking-based system for automated traffic data collection for roundabouts | |
US20230334675A1 (en) | Object tracking integration method and integrating apparatus | |
Saleem et al. | Accuracy of free-space detection: monocular versus binocular vision | |
Choi et al. | State Machine and Downhill Simplex Approach for Vision‐Based Nighttime Vehicle Detection | |
CN117523914A (zh) | 碰撞预警方法、装置、设备、可读存储介质及程序产品 | |
CN111145392B (zh) | 一种用于智慧安防的移动式综合布控一体机及系统 | |
Wang et al. | Fusion perception of vision and millimeter wave radar for autonomous driving | |
Wang et al. | A system of automated training sample generation for visual-based car detection | |
Hu et al. | Automatic detection and evaluation of 3D pavement defects using 2D and 3D information at the high speed | |
KR101958270B1 (ko) | 영상분리 영상추적을 이용한 지능형 영상분석 시스템 | |
KR102618680B1 (ko) | 영상과 라이다를 이용한 실시간 3차원 물체 인식 및 추적하는 시스템 |
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 |