-
Notifications
You must be signed in to change notification settings - Fork 0
/
TLD-reading.txt
86 lines (53 loc) · 4.43 KB
/
TLD-reading.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
2.1 Object tracking
object tracking is the task of estimation of object motion
>>>>>>>>>>>>>>>>>>强调运动估计。
目标的表示方法有很多,点、模型、纹理、光流等。作者使用的是几何形状。
文章用的是运动估计是 consecutive frames 即 所谓的 frame to frame tracking.
****************************************************
运动估计 这点可以改很多
****************************************************
在frame to frame 的跟踪方法中 又可以分很多种 Template tracking
是最直接的一种 。
*************
object is described by a target template( color histogram or just image patch) 那么运动怎么估计出来呢?
就是比较candidate patch 和target template的差值 ,最小的当做target。这样估计出目标运动的方向和速度 以此产生下一帧的 candidate patch。target template 又可以分静态的 动态的。当然动态的更合适,因为 object运动时 颜色信息会改变。
但是总的来说 template 只model a single appearacne of the object.
**************
然后下一阶段>>>>>>>>>>>>>>>>>>>>>>>
to model more appearance variations 使用 generative model
可以表示多种情况下的 外表信息。但是这些都是外表信息 在背景比较乱的情况下 就失效了。
So 又进一步 不仅model object 而且model the environment where the object moves.
那么 如何model environment 呢 有两种方法>>>
******************************************
没看懂。。 so 看原文。
那个context-aware visual tracking 的思想是通过 辅助物体来跟踪。辅助物体当做 context of the target 也可以说是environment
这个是 第一种model environment 的方法
第二种是 把environment 看成是 negative class
但是怎么做的没看明白 那就看原文 其实就是分类器 是检测器的思想。训练个检测器
********************************************
2.2 Object detection
什么是 model fitting?
文章提到 一种知道 物体的geometry 就可以快速detection 速度是100fps 但是不太可取 因为训练所需要的 太多。
第二种就是在 滑动窗口中 检测。但是窗口太多,一种方法是 使用一个分类器 判断一个窗口是不是 背景 这个很快 但是这个detector 或者 classifier 的训练需要大量的计算。
再有一种就是model the object as a collection of templates 其实就是级联分类器的思想 adaboost 作者使用的也是这样一种方法。
2.3 Machine learning
这是 semi-supervised learning 训练detector 需要的是 第一帧的labeled example 和以后 的unlabeled data 对这个semi-supervised 通常使用 EM self learning 或 co training
self learning 就是 start by training an initial classifier from a labeled training set ,the classifier is then evaluated on the unlabeled data ,然后选择最优可能的 responses 再重新训练 classifier
3 T L D
The tracker is likely to fail and never recover if the object moves out of the camera view .
**************************************************************
我觉得tracker 的工作是这样的给它一个位置和速度。首先提前这个位置里的feature。它在时间上 估计下个 时间点 target出现的大致区域 然后精确判断 这个区域里target的位置 更新feature
**************************************************************
作者认为tracker 会经常fail。我觉得是因为 这个区域的选择过程是静态的。如果这样考虑 tracker给出的区域是会逐渐放大的,比如先给你一个 高可信度的 小区域 如果没有找到目标 再放大这个区域 知道整个图片。这样fail 的话 就说明 被完全遮挡 或者 move out 。
还有一种 fail 的情况 就是跟错了 目标 比如两个人 走的很近 跟踪器有可能 忽然就跟到 另一个人 身上 这样就 不会recover。不过这是因为detector的判别性不够强。如果appearance model做好的话 即使tracker 出错 也只会增加 找到目标的时间 因为会扩大 搜索区域。
如果appearance model 不好的话 就直接去 detect full image 就会出错 尤其是一些 跳跃 超出了一些 物理的约束。
假如 scene 中只有一个 目标 。目标被遮挡 或者move out 这时候 tracker 肯定就fail 因为即使搜索全图 也找不到。 其实这也不是真正的fail 。可以把这个归为一个事件,disappear。
这时候detector 搜索全图 说的过去。 但是更好的是从 消失的地方开始 detect。
其实我觉得 learning 主要是为了 不断的修正 detector 因为detector 是需要很多训练的 但是 semi-supervised 情况下 训练不够充分。
但是在 detector 不成熟的情况下 tld 跑出来 就会跳来跳去
4 P N learning
这部分 就是细说 learning 部分。
所谓的 learning 就是实时的产生正负样本 来训练detector 产生负样本的方法是 在正样本周围 选一些区域 假设这些区域是 负样本 。但是在人比较多的情况下 这个假设是不对的。所以对多目标来说 learning 是几乎失效的。如果有场景信息的话 倒是可以换一种产生 负样本的方法。
P N expert 能识别false negatives 和false positives 但是这个识别能力是 如果获得的呢? 而且它是 独立于 分类器的 即detector
有个问题是 在多目标情况下 跟踪一个人的时候 那别人 是看成负样本的话 其实也不太好 因为所有人是一个类 当用这个负样本去 retrain detector 的时候 会使detector shift。应该有一个 层次的问题,先判断类别 再用这个类别分类器 生成针对某一个目标的分类器。
Expert 的产生: