天天看点

cascade learning 级联学习 learning SURF Cascade for Fast band Accurate Object DetectionVJ 的提升级联方法框架boosting cascade framework用于目标探测的SURF 级联方法

cascade learning 级联学习,前深度学习方法

而神经网络中提到的级联,就是指神经网络层的堆叠。

关于这个话题有个小博客,AdaBoost和Cascade,http://www.jianshu.com/p/bfa54561960e

还有这个《基于cascade的object detection》

论文: learning SURF Cascade for Fast band Accurate Object Detection

这篇论文是相比于Viola-Jones(VJ)的提升级联学习training boosting cascade有所增强。主要是训练效率上,首先是探测窗detection window使用了局部的SURF,所提取的特征池大大减小,更容易提取特征,SURF本身也比HOG这些特征提取要快。其次,使用逻辑回归作为弱分类器,能得到概率的输出结果。第三是使用了AUC(area under ROC curve)作为判别条件,而不是选用真假值比例 false-positive-rate 和命中比例 hit-rate 这两个冲突的判别条件。

VJ 的提升级联方法框架boosting cascade framework

三个关键点: integral image技巧来提升Haar特征提取效率(就是密集计算,将多幅图像组合到一起,进行矩阵运行),提升算法boosting algorithm,attentional cascade结构用于fast negative rejection。

缺点:首先,haar得到的特征池非常大,比如典型的20*20的模板得到成千上万的特征,导致弱分类器比较难学习。尽管启发性的选择方法heuristic feature selection or filtering [4,24,27],也不尽如人意。其次,Haar表征能力有限,姿态、光照都导致不一样的结果。然后有一些变种,也是提升有限,而且导致特征空间变得更大。这方面其他的就是更复杂的特征Hog(histogram of orientented gradient [5,42])region-co-variance特征。这篇论文里的SURF特征和HOG密切相关,但SURF更快更简单。第三,attentional cascade方法是基于两个冲突的判别条件 FPR 和 hit-rate,然后级联算法要达到想要的效果,要用20个stage阶段,而有的过程已经收敛了。

这篇论文的想法受[22]启发,使用AUC[8]为单一的判别条件,使得FPR在各阶段具有适应性,从而更快的收敛。总体上,利用了part-based model[10],在早期阶段,part-based model训练弱分类器,然后合并到一块[25]。后期在级联框架下训练mixtures of deformable part models。

用于目标探测的SURF 级联方法

feature description

滑动窗方法[42],该方法举例,40*40的模板,包含有4个种类的块patch,从12*12变到40*40,然后以步长为4滑动窗口,而且还要使用不同长宽比aspect ratio的块,2*2,4*1,以及1*4的比例。

SURF descriptor

它具有旋转缩放不变性[2],这篇论文不使用关键点检测keypoint detector。SURF定义于梯度空间,水平梯度dx由滤波器[-1,0,1]定义,dy由[-1,0,1]T定义。然后SURF是分别计算dx和|dx|等8个元素。

然而计算8个比较慢(因为太多),这篇文章使用了SURF的变形,称为T2。T2 descriptor is defined as∑ ( |dx∣ − dx ,|dx∣ + dx ,|dy∣ − dy ,|dy∣ + dy )2。然后又加了一个4bin 4个元素又变成了8bin,额外新增的是使用了对角的空间算子diag(−1,0,1) 以及antidiag(1,0,−1) 。

特征的归一化:

To make the descriptor invariant to patch size, the feature vector needs normalization。论文[5]中提出了一系列的归一化方法。这篇论文使用了L2归一化,L2 normalization followed by clipping and renormalization (L2 Hys) works the best。

加速方法,Multi-channel integral images

integral image tricks可以加速特征提取[37],使用了array-of-structure trick将8组数据组合pack到一起,再运算,提高了运算的密度,在这篇论文中,基本结构的计算提升了8倍。

特征对比feature comparison

新提出的T2特征描述器T2descriptor 和原来的SURF精度一样,但有1.5倍的速度提升。

弱分类器:

VJ框架下,弱分类器是决策树,然后相同框架下有一些后引入的线性分类器,Fisher linear discriminant,linear asymmetric classifier [4,39],linear SVM [5]。这篇文章选用了一个能输出概率的弱分类器-线性回归。

learning boosting classifier

训练过程分成了许多阶段,每个阶段都是提升学习过程,提升算法有许多变种,作者认为Gentle AdaBoost 弱提升方法最好[12]。

cascade learning 级联学习 learning SURF Cascade for Fast band Accurate Object DetectionVJ 的提升级联方法框架boosting cascade framework用于目标探测的SURF 级联方法

总体方法

一共有K个弱分类器,经过T的阶段的提升,任一个和剩下的分类器都能得到一个损失函数,称为AUC score。然后选择AUC得分最高的一组。然后重复这个过程,直到AUC score收敛,或达到迭代的次数。This procedure is repeated until the AUC score is converged, or the designed number of iterations is reached.

然后上面的过程是选择和包含弱分类器的前向的过程,为了去除多余的弱分类器,或浮动的搜索,需要后向过程[28]。

不论前向还是后向过程,都是弱分类器的组合问题,前向是增,后向是减,而所用到的判别因子都是一样的。

继续阅读