图像编码在计算机视觉领域中一直是一个严峻的挑战,至少在深度学习火之前。在众多的视觉任务中,比如识别,检测,跟踪等,都需要提取出辨别的特征表示能更好的运用于后续的模型中。一般来说,最浅层的特征是图像的像素灰度。这种原始的灰度具有很少的语义信息,这严重限制了图像表示的描述能力。因此,大量的纹理特征,结构模式和边缘信息,如SIFT,HOG,LBP等得到了发展。这些特征灵活且相对容易构造,以方便的局部形式捕获了真实图像的大部分复杂统计量。此外,它们具有良好的抵抗遮挡,几何变形和光照变化的能力,并表现出良好的匹配性。然而,它们通常无法检测出图像局部块中最有意义的信息的,并且与图像的高层语义几乎没有关系。因此,许多研究基于这些低层的特征描述考虑了图像的较高级特征提取,如基于BoVW的模型和基于稀疏编码的方法。例如,李飞飞等应用潜在Dirichlet分配(LDA)模型来学习图像的高级语义信息。在这里,图像被视为文档;图像中学习的语义上下文对应于文档中的主题,而低层描述对应于文档中的单词。显然,学习的主题在文档分类中更有用。那么,对于更具复杂结构的图像应如何更好的表示呢? 2006年出现的深度学习对于自动表征这些复杂的图象非常有用。深度学习通常包含许多隐藏的层次,其表示能力从像素级(pixel-level)能增长到“人类”级(human-level)。显然,这些最终获得的“人类”级表示对后续的视觉任务非常有用。目前,基于深度学习的方法在各种视觉任务中能获得最佳性能。下面主要对相关方法进行一个简单汇总与总结,给自己的后续研究提供思路。

1. Super-vector

该文Image classi fication using super-vector coding of local image descriptors 发表在ECCV2010上。在Vector Quantization (VQ) Coding 的基础上运用泰勒函数展开定理进行了扩展,得到的编码向量被称为Super-Vector。本文假设我们旨在学习被定义在高维空间的一个平滑非线性函数f(x)f(x),但在通常情况下用一个线性函数去无限的接近它,即f(x)≈WTϕ(x)f(x)\approx W^T\phi(x),其中ϕ(x)\phi(x)将局部描述子xx非线性映射到高维空间。本文解决的问题就是如何得到一个好的非线性映射ϕ(x)\phi(x)。
本文模型基于VQ,假设xx在字典中最接近的视觉单词为第kk个,k=argminj∥∥x−dj∥∥k=\mathop{arg}\min\limits_{j}\left\|x-d_j\right\|,记着v=dkv=d_k那么f(x)f(x)在x=vx=v出进行泰勒展开

f(x)=f(v)+∇f(v)T(x−v)+β2∥x−v∥2

f(x)=f(v)+\nabla f(v)^T(x-v)+\frac{\beta}{2}\left\|x-v\right\|^2
由于 xx接近于vv,则 f(x)≈f(v)+∇f(v)T(x−v)f(x)\approx f(v)+\nabla f(v)^T(x-v)。可知误差来自于 ∥x−v∥2\left\|x-v\right\|^2,我们可以采用字典的监督学习来降低误差。最后

f(x)≈f(v)+∇f(v)T(x−v)=WTϕ(x)

f(x)\approx f(v)+\nabla f(v)^T(x-v)=W^T\phi(x)
其中 ϕ(x)\phi(x)称为Super-Vector,定义为

ϕ(x)=[0,0,⋯,0,1,x−v第k类,0,⋯,0,0]

\phi(x)=[0,0,\nonumber\cdots,0,\underbrace{1,x-v}_{\text{第k类}},0,\nonumber\cdots,0,0]
以上都是基于VQ,很自然我们会联想到Soft-VQ,那么

f(x)≈∑k=1CPk(x)[f(vk)+∇f(vk)T(x−vk)]=WTϕ(x)

f(x)\approx \sum\limits_{k=1}^C P_k(x)[f(v_k)+\nabla f(v_k)^T(x-v_k)]=W^T\phi(x)
在实验中,128-dimensional SIFT特征被提取并通过PCA被降维到80-dimensional。 Pk(x)P_k(x)只选取top-20,其余的设置为0。 最后发现Soft-Super-Vector的分类正确率比VQ高出20\%。

2. Locally Linear KNN Model

该文A novel locally linear knn model for visual recognition 发表在CVPR2015上。在Locally-constraint 稀疏表示模型的基础上做了进一步的改进,模型表示为

minα∥x−Dα∥2+λ∥α∥1+μ∥α−βs∥2

\min\limits_\alpha {\left\| x-D\alpha \right\|}^2+\lambda {\left\| \alpha \right\|}_1 + \mu {\left\| \alpha-\beta s \right\|}^2
其中 ss为样本数据xx与字典 DD各列之间的相似性度量,第ii个元素值为 si=exp{−12σ2∥x−di∥2}s_i=exp\{-\frac{1}{2\sigma^2} {\left\| x-d_i \right\|}^2\}。模型的直观解释为希望得到的稀疏表示跟样本与字典的相似性想吻合,即分配给最近的字典列较大的系数。字典为各个类别的训练数据组合而成。
测试过程中采用传统的最小化重构误差,但在之前需将测试样本的稀疏表示进行cut-off,即每一个类别中的系数 αi\alpha_i只保留top kk largest values。
值得注意的是,这个训练过程是在{xi,yi}Ni=1\{x_i,y_i\}_{i=1}^N数据集上进行。当面对大分辨率的图像数据集时,一般采用spatial pyramid feature或fisher vector等等,再使用MFA(marginal fisher analysis) with PCA 进行将维。

3.Weighted Sparse Coding for Saliency Detection

该文A weighted sparse coding framwork for saliency detection 发表在CVPR2015上。提出了利用稀疏表示模型用于图像的显著性区域检测。构造显著性字典/非显著性字典进行稀疏编码,利用稀疏系数定义显著性值。作者在标准的稀疏表示模型下,引入了权重因子

αi=argminαi∥fi−Dαi∥22+λ∥diag(ωi)∗αi∥1

\alpha_i=arg \min\limits_{\alpha_i}\left\|f_i-D\alpha_i\right\|_2^2+\lambda\left\|diag(\omega_i)*\alpha_i\right\|_1
注意到优化上述目标函数时,当 ωi\omega_i很大时将会压缩 αi\alpha_i的值。换句话,应该使 ωi\omega_i值与 fif_i与字典的相似性成反比。该目标函数使得与字典相似的信号对应的稀疏系数更大,即信号的重构误差更小。那么文中是如何识别出图像中 II的显著性区域呢?很简单

  • 对图像II使用简单的SLIC(simple linear iterative clustering)进行分割得到一系列小的非重叠的区域(region/superpixel),即 R={r1,⋯,rN}R=\{r_1,\nonumber\cdots,r_N\}。文中一般取 N=300N=300。

    • 在每一个区域里提取了两种特征(A good feature should exhibit high contrast between saliency and background):Gabor filter responses 作为纹理描述子,颜色直方图(1024bins)。将这些区域里的局部描述子相加得到该区域特征描述。那么整个图像的特征为这些区域特征的合集,FA∈RC×NF^A\in R^{C\times N}(纹理)与FH∈RC′×NF^H\in R^{C'\times N}(颜色直方图)。
    • 构造初始的显著性字典S0S^0。文中提出首先构造初始化的非显著性字典,即选取紧邻图像的边界区域rr,和focusness response 低于平均值的区域rr一起构造非显著性字典。对图像II中的NN个区域在非显著性字典下进行稀疏编码,在得到对应区域的重构误差(显著性值)。当区域rr的显著性值高于平均值时,则定义该区域为显著性区域。有了这些显著性区域,就可以构造初始的显著性字典S0S^0,作为潜在的显著性区域。
    • 不断迭代,不断精细化该显著性字典。最终得到的显著性字典即为图像II中的显著性区域。

    4.Localize objects with minimal supervision

    经典的目标检测方法是将图像中的目标(bounding box)与背景带入分类器中学习出一个辨别模型(ω\omega)。但在实际应用中,bounding box尤其在大规模数据集中标定是很耗时且不准确,因此产生了很多类似weakly supervised/minimal supervised方法。本文On learning to localize objects with minimal supervision 针对这种弱标记(weakly-labeled,即图像类别已知但目标位置未知)提出了将submodular与LSVM 相结合的新方法来训练模型并检测目标。训练过程大致可以分为3 个步骤:

    • 使用selective search大规模减少图像训练集中探测窗口的个数
    • 利用discriminative submodular cover algorithm进一步得到近似的目标窗口,并作为LSVM的初始值
    • 利用LSVM进行模型的训练

    LSVM是一个鸡与蛋的问题:有了模型参数才能推出隐变量,而有了隐变量才能估计模型参数。该模型可表示为

    L(ω)=12∥ω∥22+C∑i=1nmax(0,1−yifω(xi))

    L(\omega)=\frac{1}{2}\left\|\omega\right\|_2^2+C\sum\limits_{i=1}^n \max(0,1-y_if_\omega(x_i))
    其中fω(x)f_\omega(x)为分类器,fω(x)=maxz∈Z(x)ωϕ(x,z)f_\omega(x)=\max\limits_{z\in Z(x)} \omega\phi(x,z),(隐变量ZZ,对于目标检测来说就是一系列bounding boxes;对于DPM模型来说就说就是root filter和part filters在图像中的位置信息。而在ZZ上的最大化,就是找到一个包含目标的(bounding box)。LSVM模型是一个非凸问题,求解可分为两步
    (1) Relabel positive example: zi=argminz∈Z(xi)ωϕ(xi,z)z_i=arg\min\limits_{z\in Z(x_i)} \omega\phi(x_i,z)
    (2) Optimizing Omega: Optimizing L(ω)L(\omega) over ω\omega using coordinate descent.

    ∇L(ω)={ω−Cnyiϕ(xi,zi)ωifyifω(xi)<1ifyifω(xi)≥1

    \nabla L(\omega)= \begin{cases} \omega - Cny_i\phi(x_i,z_i) & if \quad y_if_\omega(x_i)
    LSVM对初始化非常敏感,所以本文在使用LSVM之前使用了提出的discriminative submodular cover algorithm得到近似的目标窗口。该算法思想很简单,基于一个先验知识:正确的目标boxes在合适的特征空间很相似,且目标窗口只有在正图像集中出现而不会出现在负图像集中。因此作者定义了一个函数F(S)F(S)来度量boxes 集合SS来表征整个正图像集,该函数的直观意义为该集合SS相似的box 在正图像集中的个数。当F(S)F(S)超过某一数值时,则用SS来粗略表示目标窗口。
    本文设计了两组实验证明了初始目标窗口的有效性,以及最终目标检测的准确性。

    5.Multi-Task Multi-View Sparse Tracking}

    该文Multi-attributed dictionary learning for sparse coding 发表在ICCV2013上。在传统的稀疏表示跟踪框架下提出了Multi-View的跟踪模型,即用多个特征去描述目标。作者在文中用到了4种特征,颜色直方图,灰度,HOG,LBP。假设一帧图像中所有候选窗口(400 个)的特征表示为X=[X1,⋯,XK]X=[X^1,\nonumber\cdots,X^K],其中KK 为特征数;同理字典表示M=[M1,⋯,MK]M=[M^1,\nonumber\cdots,M^K],其中每一特征的字典Mk=[Dk,Ik,0]M^k=[D^k,I^k,0] 由目标模板(10), 背景字典(文中用单位矩阵表示)和0矩阵构成,其中添加0矩阵只是为了使得每一特征的字典的原子数目相同,即使得到的稀疏表示系数矩阵具有相同的维度。模型可以表示为

    minW,P,Q∑k=1K∥∥Xk−DkWk∥∥2F+λ1∥P∥12+λ2∥∥QT∥∥12

    \min\limits_{W,P,Q}\sum\limits_{k=1}^K \left\|X^k-D^kW^k\right\|_F^2 + \lambda_1 \left\|P\right\|_{12} + \lambda_2 \left\|Q^T\right\|_{12}
    其中Wk=Pk+QkW^k=P^k+Q^k,P=[P1,⋯,PK]P=[P^1,\nonumber\cdots,P^K],Q=[Q1,⋯,QK]Q=[Q^1,\nonumber\cdots,Q^K]。
    上述模型同样可通过The Accelerated Proximal Gradient (APG) 算法计算稀疏系数矩阵PP和QQ。图中只用了3种特征,其中系数矩阵QQ有一列值较大,则对应的候选窗口则为outlier。由于是混合范数约束,模型可以理解为如果候选目标与目标很相似,则通过系数矩阵PP就可以重构,而如果偏离目标很远则QQ中对应列的值就很大。因此作者提出了通过系数矩阵QQ排除一些outlier,即如果某些列的数值累加超过一阈值就定义为outlier,其对应的整个稀疏矩阵WW设置为0。最后在剩下的候选目标中通过WW和对应的目标模板DD计算重构误差,误差最小的即为得到的目标。
    当然作者也提到了排除outlier的初始阈值设置为1,而在后续跟踪中阈值随着一帧中检测到的outlier的个数成类似正比增长。

    6.Structural Sparse Tracking

    稀疏表示模型运用在目标跟踪中的成果大量涌现,可分为全局稀疏表示跟踪和局部稀疏表示跟踪。该文Structural Sparse Tracking 出现在CVPR2015上,属于两者的结合体,提出的模型综合考虑了全局与局部稀疏约束,候选目标和局部块之间的内在联系,以及局部块的空间结构。
    该文基于一个先验:即在目标周围采样的候选目标具有潜在的相关性,且这些目标窗口内采样的同位置处的局部块之间也具有潜在的联系(intrinsic relationship)。因此该文作者提出了新的稀疏编码框架。假设在一帧图像中,在目标位置处采样了nn 个候选目标(particles) X=[x1,⋯,xn]X=[x_1,\nonumber\cdots,x_n],同时为了使用局部稀疏表示和局部块的空间性,对每一个候选目标采样KK个局部块,空间布局与Spatial pyramid类似。Xk=[xk1,⋯,xkn]X^k=[x_1^k,\nonumber\cdots,x_n^k]表示nn个候选目标中的第kk个局部块,DkD^k以同样的方法在训练数据集中得到的字典。那么,模型可表示为

    minZ12∑k=1K∥∥Xk−DkZk∥∥2F+λ∥Z∥2,1

    \min\limits_Z \frac{1}{2}\sum\limits_{k=1}^K \left\|X^k-D^kZ^k\right\|_F^2+\lambda \left\|Z\right\|_{2,1}
    其中上文提到的相关性用ℓp,q\ell_{p,q}混合范数实现。
    当对一帧图像进行目标跟踪时,首先在上一帧目标附近位置处采样候选目标窗口(400个),对每一个目标窗口内采样局部块(14 个),对所有的局部块数据进行稀疏编码,得到稀疏系数矩阵;再在对应字典上求出重构误差;针对每一个候选目标窗口,将属于此的局部块的重构误差累加;比较各个候选目标窗口的重构误差,达到对目标的检测。
    本文采用中心位置误差与重叠率作为评价指标,并与14种最近方法进行比较,能取得不错的效果。但是作者没在文中说明局部块的特征提取方法。注意:当K=1K=1,即不进行局部块采样时,且采用ℓ11\ell_{11},则为全局稀疏表示跟踪;当进行局部块采样时,且采用ℓ11\ell_{11}时,为局部稀疏表示跟踪;当K=1K=1时且采用混合范数时,为联合稀疏表示跟踪。而本文方法既是对这3种方法的结合。

    7.Tracking via Discriminative Similarity Map

    本文Visual tracking via discriminative sparse similarity map 在传统的稀疏表示跟踪框架下提出了反稀疏表示跟踪,即将候选目标窗口作为稀疏表示模型的字典而将目标模板和背景模板作为待分解的信号。另外为了使相似的候选目标具有相似的稀疏表示,本文引入了拉普拉斯正则项。模型可表示为

    minC∥T−YC∥22+λ∥C∥11+δ∑ij∥∥ci−cj∥∥2Bijs.t.∀ici≽0

    \min\limits_C \left\|T-YC\right\|_2^2+\lambda \left\|C\right\|_{11}+\delta\sum\limits_{ij}\left\|c_i-c_j\right\|^2B_{ij} \qquad s.t.\quad \forall i \quad c_i\succcurlyeq 0
    其中TT为模板集,文中提出在构造初始模板集时,首先人工标定bounding box,在该框内中心的一定半径范围内选取10个窗口作为正模板集;而在一定半径环状范围内采样150个窗口作为负模板集。注意这些窗口归一化到32×32pixels32\times32pixels,再空间采样子局部块提取特征连接而成该窗口的特征表示。YY为候选目标窗口集,BB为二值矩阵,当cic_i在cjc_j的K紧邻中,则Bij=1B_{ij}=1。模型中的拉普拉斯正则项可以表示为∑ij∥∥ci−cj∥∥2Bij=tr(CLCT)\sum\limits_{ij}\left\|c_i-c_j\right\|^2B_{ij}=tr(CLC^T),其中L=D−BL=D-B,D=diag(D1,D2,⋯,DN)D=diag(D_1,D_2, \nonumber\cdots , D_N ),Di=∑jBijD_i=\sum_j B_{ij}。所以最终模型为

    minC∥T−YC∥22+λ1TC1+δtr(CLCT)s.t.∀ici≽0

    \min\limits_C \left\|T-YC\right\|_2^2+\lambda 1^TC1+\delta tr(CLC^T) \qquad s.t.\quad \forall i \quad c_i\succcurlyeq 0
    该模型可通过APG method求解,得出的CC,那么就可以用此稀疏系数矩阵进行最佳目标窗口的选择。
    注意CijC_{ij}表示第ii个候选窗口与第jj个模板的相关系数,则第ii行表示第ii个候选窗口与整个模板集的相关系数,其中前10个为对应的正模板集的相关系数,后面150个为对应负模板集的相关系数。那么最佳的候选目标窗口应该是对应的正、负模板相关系数差别越大越好。为了更加区分候选窗口,a. 对每一个相关系数都乘上一个权重,该权重定义为候选窗口与模板的相似性,越相似值越大;b. 作者提出了新的系数pooling方法,即将对应的正、负模板集的相关系数中最大的K 个相加。最后,通过正、负模板集的相关系数相减,差值越大的窗口即为检测的目标。
    该文也提出了模板集的更新策略达到更加鲁棒的跟踪。当在一帧图像中检测到目标时,将该目标与正模板集做相似性运算,当与某一个模板的相似度小于设定的阈值时,则用此目标替换该对应模板;否则不更新正模板集。而负模板集的更新则采用实时更新的策略。

    8.Tracking via Sparse Collaborative Appearance Model

    本文Robust object tracking via sparsity-based collaborative model 提出了sparse discriminative classifier(SDC) 和sparse generative model(SGM)的集成模型用于目标的跟踪。其中SDC主要用于前景与背景的分离,而SGM主要考虑目标的空间特性。SDC为常规的稀疏表示跟踪模型,在构造目标字典(50) 与背景字典(200),人工框定窗口后归一化到32×3232\times 32pixels,再提取特征。前面提到的特征空间在文章指出是冗余的,所以作者利用投影矩阵对字典和候选窗口特征表示进行降维。对候选窗口特征表示进行稀疏编码,再在各自相应的目标字典和背景字典上计算重构误差εf\varepsilon_f,εb\varepsilon_b。那么该候选窗口rr的目标值定义为

    Hr=11+exp(−(εb−εf)/σ)

    H_r=\frac{1}{1+exp(-(\varepsilon_b - \varepsilon_f)/\sigma)}
    当为真正的目标时,εf\varepsilon_f很小而εb\varepsilon_b很大,则HrH_r很大。SGM在第一帧时对目标内部进行空间采样(196pathes,特征维度36),将这些patches进行聚类组合成目标字典DD(50)。然后对该目标区域内的每个patch特征在字典DD 下进行稀疏编码,最后将这些patch的编码链接起来成为该目标区域的特征表示。在跟踪时,对所有的候选目标区域进行同样的操作得到对应区域的特征表示。同时,作者考虑了对遮挡部分的处理,当对某一区域里的patch进行重构时,如果重构误差大于阈值时,则认为该patch为遮挡部分,将其对应的稀疏表示系数置为0。那么,有了目标的特征表示和所有候选目标区域的特征表示,就可以计算之间的相似性

    Lr=∑jmin(ϕjr,ϕj)

    L_r=\sum_j \min(\phi_r^j,\phi^j)
    当候选目标与目标很相似时,LrL_r很大。作者提到再计算相似性时,当候选目标的特征表示某些patch的系数置为0时,则目标的特征表示相应位置也应该置为0。
    最后,作者定义了候选目标窗口的综合目标值

    Vr=HrLr=∑jmin(ϕjr,ϕj)1+exp(−(εb−εf)/σ)

    V_r=H_rL_r=\frac{\sum_j \min(\phi_r^j,\phi^j)}{1+exp(-(\varepsilon_b - \varepsilon_f)/\sigma)}
    上述定义可以理解为候选目标与目标进行特征加权匹配,其中HrH_r为权重。

    9.Learning Spatial Regions for Classification

    中层表示(mid-level representation)近来被用于增强图像分类的辨别能力,即寻找图像中辨别的部分(parts)并通过卷积得到该部分的响应,将这些部分的响应连接起来作为整幅图像的表示。即使图像中辨别的部分被发现并学习出滤波器,但是对新图像测试时那些不相关的但是结构相似的部分能产生高的响应,从而导致辨别能力的下降。而本文Learning important spatial pooling regions for scene classi fication 解决的问题是去除某些部分的错误响应得到图像更加辨别的中层表示。

    本文思想基于一个先验:对某一类图像中的显著性物体(bounding box) 的中心做空间位置分布统计时,发现这一类图像中的物体空间位置基本紧紧相邻为几个簇;换句话,离簇中心较远的位置的部分对应错误的响应。因此本文提出的模型可以看成是在DPM根滤波器和子滤波器的基础上加入了空间位置信息,表示为

    f(I,P)=F⋅H(I,P)+ϕ(P,Pc,σ)=∑i=0NFi⋅H(I,pi)+∑i=1N∑j=1Kdijϕ(pi,pcij,σij)

    \begin{array}{c} f(I,P)=F\cdot H(I,P) + \phi (P,P^c,\sigma) \\ =\sum\limits_{i=0}^N F_i\cdot H(I,p_i) + \sum\limits_{i=1}^N\sum\limits_{j=1}^K d_{ij}\phi(p_i,p_{ij}^c,\sigma_{ij}) \end{array}
    where

    ϕ(pi,pcij,σij)=exp(−∥∥pi−pcij−p0∥∥2σ)

    \phi(p_i,p_{ij}^c,\sigma_{ij})=exp(-\frac{\left\|p_i-p_{ij}^c-p_0\right\|^2}{\sigma})
    其中NN为图像中parts的个数,KK为图像中簇中心的个数。模型第一项为appearance,FF为滤波器系数,HH为图像中各部分的底层特征表示(HoG);第二项为空间位置信息,离簇中心位置越近的部分对目标函数贡献越大。构造该模型的目的就是要找出使目标函数值(响应值)最大的parts,然后对应每一个part 计算出响应值(即第一项的值,第二项的值),然后将这些parts 的响应值连接起来作为图像的特征表示。注意为了式特征更加鲁棒,对part应作不同尺度的缩放。

    那么,该模型的参数怎么得到呢?使用大量训练数据学习出参数,其中训练数据中显著性物体被bounding box大致的标定出,但不一定标定的准确。训练参数分为3步:PP,β\beta(FiF_i和dijd_{ij}),ω\omega(pcijp_{ij}^c和σij\sigma_{ij}) 的训练。整个训练过程:

    • 初始化β\beta和ω\omega。
    • PP的推导。此过程相当于DPM中的Relabel Positive and Mine Hard Negative Samples。
    • β\beta的学习。假设PP已知,则正负样本已知。模型可以改写为Fβ(I,P)=β⋅ψ(I,P)F_\beta(I,P)=\beta\cdot\psi(I,P),那么损失函数写为SVM的形式LD(β)=12∥β∥2+C∑mMmax(0,1−ym⋅Fβ(Im,Pm))L_D(\beta)=\frac{1}{2}\left\|\beta\right\|^2+C\sum\limits_{m}^M\max(0,1-y^m\cdot F_\beta(I^m,P^m)),其中D={(y1,I1,P1),⋯,(yM,IM,PM)}D=\{(y^1,I^1,P^1),\nonumber\cdots,(y^M,I^M,P^M)\}。
    • ω\omega的学习。ω=argmaxω∑Mm∑Ni∑Kjdjϕ(pmi,pcij,σij)\omega=arg\max\limits_\omega \sum_m^M\sum_i^N\sum_j^K d_j\phi(p_i^m,p_{ij}^c,\sigma_{ij})

    图像的特征表示得到后,同时为了得到更高的正确率,该文特征结合FV,带入SVM分类器进行训练与测试。

    10.Low-Rank Sparse Coding for Tracking & Image Classification

    Low-rank sparse learning for robust visual trackingLow-rank sparse coding for image classi cation 都是基于低秩的稀疏编码用于目标的跟踪或图像的分类。基于低秩的稀疏编码都是基于这样的先验:目标周围区域内采样的目标候选框之间是相似的,则在过完备冗余字典下的稀疏表示是稀疏的且稀疏表示矩阵是低秩的;对于图像分类,作者对大量自然场景图像做了统计,发现所有图像采样块的SIFT描述子组成的矩阵是低秩的,且一副图像中的superpixel内的SIFT描述子组成的矩阵是更低秩的。那么模型可表示为

    minZ∥X−DZ−E∥2F+λ1∥Z∥∗+λ2∥Z∥1,1+λ3∥E∥1,1

    \min\limits_Z \left\|X-DZ-E\right\|_F^2 + \lambda_1\left\|Z\right\|_* + \lambda_2\left\|Z\right\|_{1,1}+ \lambda_3\left\|E\right\|_{1,1}
    模型的求解是通过Inexact Augmented Lagrange Multiplier算法。对于目标跟踪来说XX即为上一帧中框定目标周围的候选目标区域(400),DD由目标模板和背景模板构成(25),加入背景模板是为了防止跟踪目标漂移。同时为了更加鲁棒的跟踪,作者采用了字典的更新机制,当在一帧图像中检测到目标时,将该目标与正模板集做相似性运算,当与某一个模板的相似度小于设定的阈值时,则用此目标替换该对应模板;否则不更新正模板集。而负模板集的更新则采用实时更新的策略。得到的稀疏系数矩阵ZZ的每一列中对应的目标模板的系数累加减去对应的背景模板的系数累加,值最大的那一列即对应最佳的跟踪目标位置。
    对于图像分类来说不考虑噪声EE,XX即为一副图像中的superpixel(通过SLIC 算法得到,个数一般设为150) 内部的SIFT描述子组成的矩阵。而DD为在所有训练数据集上针对采样的SIFT描述子通过k-means算法得到(注意,该字典没有通过模型学习)。通过低秩的稀疏编码后就能到superpixels的高层表示,再引入Spatial Pyramid机制将这些superpixels的高层表示通过max-pooling 得到整幅图像的特征表示。最后实验验证该编码方法能取得很好的分类效果。

    11.Encoding High Dimensional Local Features by Sparse Coding Based Fisher Vectors

    该论文发表于NIPS2014,主要针对的问题是传统的基于GMM的Fisher vector不能很好的处理高维的局部描述子。我们知道在计算机视觉建模中,GMM模型对于传统的128维的SIFT描述子往往需要不过100个高斯分布便能很好的拟合这些局部描述子。但是,针对更加高维的局部描述子,比如通过CNN提取的特征向量,则需要海量的高斯分布来拟合数据;而最终的Fisfer vector会造成维数灾难,不利于后续的处理。下图(a)很好的印证了该问题,dd的定义是所有局部描述子到其最近的高斯均值向量的平均距离,即刻画了高斯分布拟合数据的能力。

    下面简单回顾一下Fisher kernel。假设X={x1,⋯,xn}X=\{x_1,\cdots,x_n\}表示图像中提取的nn个局部描述子,且独立的采样与分布P(xi|λ)P(x_i|\lambda)。那么Fisher 核的定义为K(X,Y)=GXTλF−1GYλK(X,Y)=G_\lambda^{X^T}F^{-1}G_\lambda^{Y},FF为信息矩阵,在实际应用中往往被省略掉。因此,GXTλG_\lambda^{X^T}称为Fisher vector,其定义为

    GXTλ=∇λlnP(X|λ)=∑in∇λlnP(xi|λ)

    G_\lambda^{X^T}=\nabla_\lambda \ln P(X|\lambda)=\sum_i^n \nabla_\lambda \ln P(x_i|\lambda)
    由上式可出,fisher vector的计算分为两步:对每一个局部描述子的分布的对数求梯度;再使用sum-pooling。
    该文中局部描述子的生成过程如下:首先从一个零均值的Laplacian distribution中抽样一个编码向量,即P(μ)=12λexp(∥μ∥/λ)P(\mu)=\frac{1}{2\lambda}exp(\|\mu\|/\lambda);其次,从编码向量组成的均值向量的高斯分布中抽样局部描述子,即x∼N(Bμ,Σ)x \sim N(B\mu,\Sigma)。那么μ\mu为隐变量,BB为参数,则xx的边界分布为

    P(x)=∫μP(x|μ,B)P(μ)

    P(x)=\int_\mu P(x|\mu,B)P(\mu)
    由于积分的存在,最大似然方法对参数BB的估计非常困难。为了简化计算,文中采用了point-wise maximum的策略。

    P(x)≈P(x|μ∗,B)P(μ∗)

    P(x)\approx P (x|\mu^*,B)P(\mu^*)
    其中μ∗=argmaxμP(x|μ,B)P(μ)\mu^*=\mathop{argmax}_\mu P(x|\mu,B)P(\mu)。文中进一步假设Σ\Sigma为对角矩阵且各元素相等,那么P(x)P(x)的对数形式为:

    lnP(x|B)=minμ1σ2∥x−Bμ∥+∥μ∥1

    \ln P(x|B)=\mathop{min}_\mu \frac{1}{\sigma^2}\|x-B\mu\|+\|\mu\|_1
    可以看出模型参数BB的学习为稀疏表示中字典的非监督学习;而隐变量μ\mu的推断为稀疏表示中的稀疏编码。有了B,μB,\mu,最终的fisher vector即为对参数B<script type="math/tex" id="MathJax-Element-7682">B</script>的求导与累加的过程。由上图(b)可以看出文中方法的优越性。

计算机视觉 - 图像编码相关推荐

  1. ​你知道计算机视觉与机器视觉区别何在?

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|新机器视觉 人工智能是一个涵盖几种特定技术的总称.本文我 ...

  2. 专访香港大学罗平:师从汤晓鸥、王晓刚,最早将深度学习应用于计算机视觉的「先行者」

    虽然 ICCV 2019 落幕已近两周,但是这场对于华人研究者而言具备「转折点」意义的国际学术顶会在大家心中掀起的波澜,想必依旧未了. 在今年这场 CV 领域的学术盛宴中,我们一如既往地看到了不少长期 ...

  3. 计算机视觉与图像处理、模式识别、机器学习学科之间的关系

    在我的理解里,要实现计算机视觉必须有图像处理的帮助,而图像处理倚仗与模式识别的有效运用,而模式识别是人工智能领域的一个重要分支,人工智能与机器学习密不可分.纵观一切关系,发现计算机视觉的应用服务于机器 ...

  4. 计算机视觉领域,计算机视觉

    [编辑] 什么是计算机视觉 计算机视觉,也称机器视觉.它是利用一个代替人眼的图像传感器获取物体的图像,将图像转换成数字图像,并利用计算机模拟人的判别准则去理解和识别图像,达到分析图像和作出结论的目的. ...

  5. 【今日CV 计算机视觉论文速览 91期】Mon, 1 Apr 2019

    今日CS.CV 计算机视觉论文速览 Mon, 1 Apr 2019 , ? No.91期 Totally 35 papers ?上期速览 ✈更多精彩请移步主页 Interesting: ?CoSegN ...

  6. c# 计算空格宽度像素_分享计算机视觉之图像处理Python之opencv

    start 计算机视觉 计算机视觉信息的处理技术主要依赖于图像处理方法,经过处理后输出图像的质量得到相当程度的改善,既改善了图像的视觉效果,又便于计算机对图像进行分析.处理和识别. 01 ♡♡♡ &q ...

  7. 计算机视觉笔记及资料整理(含图像分割、目标检测)

    前言 1.简单聊聊: 在我脑海中我能通过这些年听到的技术名词来感受到技术的更新及趋势,这种技术发展有时候我觉得连关注的脚步都赶不上.简单回顾看看,从我能听到的技术名词来感受,最开始耳闻比较多「云计算」 ...

  8. 计算机视觉笔记及资料整理(含图像分割、目标检测小方向学习)

    前言 1.简单聊聊: 在我脑海中我能通过这些年听到的技术名词来感受到技术的更新及趋势,这种技术发展有时候我觉得连关注的脚步都赶不上.简单回顾看看,从我能听到的技术名词来感受,最开始耳闻比较多「云计算」 ...

  9. Generative Adversarial Networks in Computer Vision: A Survey and Taxonomy(计算机视觉中的GANs:综述与分类)

    Abstract: 生成对抗网络(GANs)在过去几年得到了广泛的研究.可以说,他们最重要的影响是在计算机视觉领域,在挑战方面取得了巨大的进步,如可信的图像生成,图像之间的翻译,面部属性操纵和类似领域 ...

最新文章

  1. 一文解析|首个上榜科创板的机器人企业,江苏北人“闯关记”
  2. 【错误记录】AS 编译报错 ( Android Support plugin 版本太高 | 升级 Android Studio 到最新版本 )
  3. [转]HDFS用户指南(中文版)
  4. Kotlin Native新增Objective-C互操作能力以及对WebAssembly的支持
  5. vs xaml 语句完成 自动列出成员_数据传输 | mysqldiff/mysqldbcompare 实现 DTLE 自动化测试...
  6. html5音乐播放时间监测,html5 video如何实现实时监测当前播放时间(代码)
  7. 强命名防止dll被篡改
  8. 乱七八糟的想,乱七八糟的记。
  9. DSP程序结构优化技巧
  10. DynamipsGUI支持的全系列Cisco IOS下载
  11. 图像处理之直方图匹配
  12. 【英语:语法基础】B8.核心语法-并列复合句和主从复合句
  13. 《梁宁·产品思维30讲》
  14. Velodyne VLP16激光雷达的使用(非常详细)
  15. 决策树(ID3、C4.5、CART、随机森林)
  16. R语言气泡图 bubble chart
  17. android 5.0+原生质设计,cardview、Recyclerview、百分比布局PercentRelativeLayout简单使用
  18. linux常见 操作及英文
  19. 中国轿车品牌如何突围之思 考
  20. STM32 OV7725 传感器

热门文章

  1. 十年,AMD“三剑合一”再出击
  2. 【个人随笔】留下第一个脚印
  3. C语言入门,编写程序,输出两个整数中的较大值。
  4. Springboot 下载文件
  5. 人工智能正在学习如何创造自己
  6. 如何在PowerPoint中将自定义模板设置为默认模板
  7. 2018年前端笔试高频题精选(二)
  8. 某技术总监认为处女座码农要重用,并给出3点原因,你认同么?
  9. mac android 录屏软件,mac录屏怎么录内置声音?详细的解决方案
  10. 用Excel制作贪吃蛇