最近老师给了几篇比较老的论文,主要是关于把DA用到SVM,DPM之类的分类器上的方法,目的是借鉴文章中的思路,方法,技巧等,看看对自己的研究是否有启发。今天主要总结的论文有:
[1]Domain Adaptation of Deformable Part-Based Models,Jiaolong Xu
[2]From Virtual to Real World Visual Perception using Domain Adaptation -The DPM as Example,Jiaolong Xu
两篇论文其实讲的是同一个事,我们直接以第一篇为主,文章指出很多分类器的学习都是在假设source domain和target domain的数据服从相同的概率分布的情况下,然而这种假设根本不成立,甚至是使用不同的sensors device也会产生a dataset shift,所以使用DA的技巧对于分类器来说非常重要。现在比较常用的传统机器学习的分类器有基于HOG-style特征和潜在的SVM学习过程的DPM(deformable part-based model)方法。
1. DPM的介绍
deformable part models,DPM,可以变形的组件模型,是基于组件的检测方法,对于目标的变形具有很强的鲁棒性。DPM可以看做是HOG(Histogrrams of Oriented Gradients)的扩展,大体思路与HOG一致。先计算梯度方向直方图,然后用SVM(Surpport Vector Machine )训练得到物体的梯度模型(Model)。DPM目前是人体检测,行为分类,分割的重要分类器。
1.1 DPM的特征
DPM的特征是在HOG基础上进行的改进。DPM的特征提取过程比HOG没有了block的概念,仍保留了cell的概念,提取时将当前cell与周围的其他3个cell进行相对领域归一化(相当于HOG中block),上图显示的梯度直方图有18个列,计算梯度时可以计算有符号(0-360)和无符号(0-180)的梯度方向,有些目标适合有符号的梯度,有些适合无符号的梯度,而DPM与原HOG不同,采用的是有符号与无符号梯度相结合的方式。
如此,如果直接将特征向量化,那么单单一个8*8 的单元,其特征维数就高达4*(9+18)=108,维数过高。Felzenszwalb提取了大量单元的无符号梯度,每个单元共4*9=36维特征,并进行了主成分分析(PCA),发现使用前11个特征向量基本上可以包含所有的信息,不过为了快速计算,作者由主成分可视化的结果得到了一种近似的PCA降维效果。具体来说,将36维向量看成4*9的矩阵,对每一行,每一列求和得到13维特征,基本上能达到HOG特征36维的检测效果。为了提高那些适合使用有符号梯度目标的检测精度,作者再对18个有符号梯度方向求和得到18维向量,并入其中,最后得到上图中的维特征向量。
1.2 DPM模型
DPM由两部分组成,一个root,若干个component,下图为一个模型的根和部件的可视化效果。
如图(a),根模型比较粗糙,大致呈现了一个直立的正面/背面行人。如图(b)所示,部件模型为矩形框内的部分,共有6个部件,分辨率是根模型的两倍,这样能获得更好的效果。从中,我们可以明显地看到头、手臂等部位。为了降低模型的复杂度,根模型和部件模型都是轴对称的。图 4.5(c)为部件模型的偏离损失,越亮的区域表示偏离损失代价越大,部件模型的理想位置的偏离损失为0。
DPM检测过程实质为传统滑窗的检测方式,通过构建尺度金字塔在各个尺度上进行搜索,通过滑窗与已经得到的模板进行內积,得到该区域的响应得分,响应得分是特征与待匹配模板的相似度程度,越相似则得分越高(颜色越亮)。综合部件模型与特征的匹配程度和部件模型相对理想位置的偏离损失,得到最优的部件模型和相应得分。某一位置(x,y)与根模型/部件模型的响应得分,为该模型与以该位置为锚点(即左上角坐标)的子窗口区域内的特征的内积。
上式是在尺度为 l0 l 0 的层,以 (x0,y0) ( x 0 , y 0 ) 为 锚点的检测分数。 R0,l0(x0,y0) R 0 , l 0 ( x 0 , y 0 ) 为 根模型的检测分数。由于同一个目标有多个组件,而不同组件模型的检测分数需要对齐,所以需要设定偏移系数b。 Di,l0−λ(2(x0,y0)+vi) D i , l 0 − λ ( 2 ( x 0 , y 0 ) + v i ) 为第i个部件模型的响应,由于部件模型的分辨率是根模型的一倍,因此部件模型需要在尺度 l0−λ l 0 − λ 层匹配。因此,锚点的坐标也需要重新映射到尺度层 l0−λ l 0 − λ ,即放大一倍, 2(x0,y0)←(x0,y0) 2 ( x 0 , y 0 ) ← ( x 0 , y 0 ) 。部件模型i相对锚点 2(x0,y0) 2 ( x 0 , y 0 ) 的偏移为 vi v i ,所以在尺度层 l0−λ l 0 − λ ,部件l的理想位置为 Di,l0−λ(2(x0,y0)+vi) D i , l 0 − λ ( 2 ( x 0 , y 0 ) + v i )
其中相应变换公式如下:
其中 (x0,y0) ( x 0 , y 0 ) 为部件模型i在第l层的理想位置,(dx,dy)为相对(x,y)的偏移量
。 Ri,l(x+dx,y+dy) R i , l ( x + d x , y + d y ) 为部件模型在 (x+dx,y+dy) ( x + d x , y + d y ) 处的匹配得分, di⋅ϕd(dx,dy) d i ⋅ ϕ d ( d x , d y ) 为偏移 (dx,dy) ( d x , d y ) 所损失的得分,其中