Apr 13, 2009

Cascade + boosting

用 slicing window 的方法分类是,大部分的窗口是 negative 的,因此想形成一个 cascade,尽量在 cascade 的早期把 many negative window 排除掉, 让几乎所有的 positive 和部分 negative 通过到下一个 stage。这样可以减少计算量。
这种要求即 cascade 的每一个 stage 有非常高的 detection rate (TP/all positive instances), 和可以接受的 false positive rate (FP/all negative instances). 这可以通过调节该 stage 的 threshold 来实现。

Threshold 很大 -> detection rate = 0, false positive rate = 0;
Threshold 减小 -> detection rate 变大, false positive rate 变大;

例如规定每一个 stage,detection rate 不低于 0.9975,开始的时候,为了达到这个目标,false positive rate 也会很大,通过加入 weak classifier,false positive rate 会降低,同时保证detection rate 不低于 0.9975,当 false positive rate 满足不高于某一个数值 (如 70%) 时,则该 stage 符合要求。

此时要重新审核 negative instances,构成一个新的 dataset, 以供下面 stage 训练。由于每一 stage 都是一个 binary 分类器,在进行分类时,positive 通过到下一 stage,negative 抛弃。因此目前 cascaded classifier 来对负样本进行分类,将 FP 加入新的 negative.
这一点我还不是很明白,这样 negative instances 一直减少,不会造成 unbalanced dataset 吗?

0 comments: