Discriminative Part Detectors

 

“Learning Dictionary of Discriminative Part Detectors for Image Categorization and Cosegmentation”,

Int J Comput Vis (2016),Jian Sun, Jean Ponce。

 

 

题目中:

块检测器 (Part Detectors) 是一种中级图像模型 (mid-level image model),

区分性 (Discriminative) 采用 SVM 来实现,最终结果是各个类别的图像,都有其独有的一些块检测器以表示该类别。

 

1. 得到初始块

  • 在 HOG 特征上,采用 K-means 方法从随机采样得到的块中聚类出 $ K $ 个中心。
  • 对于每类图像,应用上面的方法,得到每个类别各自的 $ K $ 个初始块检测器 (Part Detectors):$ \Gamma_k = \{ \beta_k, \tau_k=0 \}_{k=1}^K $
    • 其中的模板 $ \beta_k $ 就是上面的聚类中心,阈值 $ \tau_t=k $ 初始化为零。

2. 对每一类图像,以所有其他类为负例,采用 SVM 模型,优化其参数 $ \{ \Gamma_k \}_{k=1}^K $

$ Loss = \frac{1}{N} \sum_{n=1}^{N} [ 1 - y_n(\sum_{k=1}^{K}[ \beta_k^T \phi(I, z_k) - \tau_k ]_+ + b ) ]_+^2 + \lambda \sum_{k=1}^{K} \| \beta_k \| $

$ \quad\quad\ = \frac{1}{N} \sum_{n=1}^{N} [ 1 - y_n(g(I_n, \Gamma) + b ) ]_+^2 + \lambda \sum_{k=1}^{K} \| \beta_k \| $

  • 其中,外层的 $ \sum $ 指的是作用于包括正负例在内的每一个样本图像 $ I_n $ 上,内层的 $ \sum $ 指的是作用于该类所有的 $ K $ 个块检测器上。
  • 第二个等式变换中,是令 $ g(I_n, \Gamma) = \sum_{k=1}^{K}[ \beta_k^T \phi(I, z_k) - \tau_k ]_+ $
    • 意为,第 $ n $ 个样本图像 $ I_n $ 与该类所有的 $ K $ 个块检测器的相似度之和,也就意味着该样本 $ I_n $ 与该类别的相似度;
    • 且,样本 $ I_n $ 与第 $ k $ 个块检测器的相似度,只取该样本图像上所有位置中与该块检测器最相似的那个点 $ z_k $ 处的块的特征 $ \phi(I, z_k) $,
    • 也就是,$ z_k = argmax_{z \in I} \beta_k^T \phi(I, z) $,这是该优化问题中的潜在变量,同时,相似度用特征向量与模板特征向量的内积表示;
    • 从 SVM 的几何角度讲,$ g(I_n, \Gamma) $ 还表示由 $ K( size(\beta) + 1) $ 个参数构成法向量的一系列超平面,这个法向量和偏移 $ b $ 决定了一个超平面,
    • 而 $ K( size(\beta) + 1) $ 个参数,也就是块检测器 $ \Gamma_k = \{ \beta_k, \tau_k=0 \}_{k=1}^K $。
  • 采用梯度下降法可以解这个优化问题 $ argmin_{\Gamma, b} Loss(\Gamma, b) $
    • 以偏移参数 $ b $ 为例,其迭代公式为 $ b^{t+1} = b^t - \gamma \frac{1}{N} \sum_{n=1}^{N} \frac{ \partial Loss_n }{\partial b_t} $,其中的 $ Loss_n $ 为第 $ n $ 个样本产生的损失;
    • 以及,$ \frac{\partial Loss_n}{\partial b} = \begin{equation} \begin{cases} - \eta_n y_n,\ if\ y_n(g(I_n, \Gamma)+b)<1;\\ 0,\ else. \end{cases} \end{equation} $,其中,$ \eta_n = 2(1-y_n(g(g(I_n, \Gamma)+b) $ 表示损失的大小,而条件表示有损失;
    • $ \frac{\partial Loss_n}{\partial \beta_k} = \begin{equation} \begin{cases} - \eta_n y_n \phi(I_n, z_{n, k}),\ if\ y_n(g(I_n, \Gamma)+b)<1\ and\ \beta_k^T \phi(I_n, z_{n, k} > \tau_k;\\ 0,\ else. \end{cases} \end{equation} $,新增的条件表示在样本 $ I_n $ 中检测出了第 $ k $ 个块,
    • 而 $ \phi(I_n, z_{n, k}) $ 表示样本中的块,也是块检测器依据是正例还是负例,要更新的方向或者反方向。
  • 事实上,由于损失函数是半凸的,即对于负例是凸函数,对于正例不是,因此,要使用一种次梯度方法进行优化。

 3. 具体实现细节,以及如何用于分类

  • 浅层特征采用 HOG 提取,同时,采用不同像素尺寸以及空间金字塔方法,实现尺寸无关性,最终得到长度为 $ SMK $ 的向量来编码一个图像
    • 其中 $ S $ 表示不同像素,$ M $ 表示空间金字塔产生的特征长度,$ K $ 表示所有类别的块的个数和。

 

留待解决的问题与参考:

组稀疏正则,为什么能实现对有区分性的块检测器的选择以及对不具有区分性的块检测器的丢弃?

次梯度方法,如何解该优化问题?

 

posted @ 2018-12-17 20:35  joel-q  阅读(234)  评论(0编辑  收藏  举报