您的位置:首页 > 移动开发 > Objective-C

cascade learning 级联学习 learning SURF Cascade for Fast band Accurate Object Detection

2017-12-05 10:27 453 查看
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]。



总体方法

一共有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]。

不论前向还是后向过程,都是弱分类器的组合问题,前向是增,后向是减,而所用到的判别因子都是一样的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐