Person Re-Identification by Support Vector Ranking
Introduction
problem:
- relie on appearance alone
- inter-camera variations: lighting orientation object pose
Existing work:
- feature sets as template -> matching using template(direct distance measure)
- Feature sets: color/texture/structure layout
- Distance measure: histogram based Bhattacharyya distance/ K-nearest Neighbour/ L1-Norm/dis measure of relative proportions of col
- Problem: overlap
- Adaboost => sift features | overlaps => feature across indivisual space
Overview:
- ranking: Boosting / SVM
- Boosting (similar drawbacks as Adaboost)
- RankSVM learning in a higher dimensional feature space
- scalability problem => slow
- primal-based RankSVM (PRSVM)
- samples grows -> negative samples grows non-linearly -> memory consumption unmanageable
- Propose Ensemble RankSVM => boosting on PRSVM
Ranking People for Re-Idef
relevance rank: \(\lambda = {r_1,r_2,...,r_\rho}\), where \(r_\rho \succ r_{\rho-1} \succ ... \succ r_1\)
dataset: \(X = \{ (x_i,y_i) \}^m_{i=1}\), relavant feature vector \(d^+_i\), irrelevant \(d^-_i\), \(m^- = m - m^+ -1\) , \(m^+ << m^-\)
Goal: ranking function \(\delta\) => \(\delta(x_i,x^+_{i,j})>\delta(x_i,x^-_{i,j})\)
Support Vector machine
Score: \(\delta(x_i,x_{i,j}) = w^T |x_i-x_{i,j}|\)
Absolute difference vector: \(|x_i-x_{i,j}|\)
Pairwise relevant difference vector: \(P = {\hat{x}^+_s,\hat{x}^-_s}\)
objective function(min): \(\frac{1}{2}||w||^2 + C \sum^{|P|}_{s=1}\xi_s\) , s.t. \(w^T(\hat{x}^+_s-\hat{x}^-_s) \geq 1 - \xi_s, \xi_s >0\)
Chappelle and KeerthiL=: \(w= arg\min_{w}\frac{1}{2}||w||^2 + C \sum_{s=1}^{|P|}\ell(0,1 - w^T(x^+_s - x^-_s))^2\)
- Newton Optimisation
- Sparse matrix
Ensemble RankSVM
Strong ranker \(w_{opt}\) <= weak ranker \(w_{opt} = \sum^N_i \alpha_i \cdotp w_i\)
Weak rankers learning:
- divide into non overlapping group \(Z_i\)(contains equal number)
- add duplicate(not completely separate) to avoid too weak => \(\tilde{Z_i} = Z_i \bigcup O_i\), \(O_i\) is picked randonly from \(Z-Z_i\), and \(|Z_i|=|O_i|\)
- Train using PRSVM
- Learning \(\alpha_i\)
- select best weak ranker: \(k_t=arg\min_{i} \sum^{|P|}_{s=1}D^s_t \cdotp I_{w^T_i(\hat{x}^+_s-\hat{x}^-_s)} \geq 0\)
- \(D\) => weight of pairwise difference vectors at t step \(\sum D = 1\), \(I\) => boolean function
- \(D^s_{t+1}=F^{-1}D^s_t \cdotp \exp^{\alpha_t \cdotp (w^T_{k_t}(\hat{x}^-_s - \hat{x}^+_s))}\)
- \(F\) normalizer => \(\sum D = 1\), initial \(D^s_1=\frac{1}{|P|}\)
- \(\alpha_t = 0.5 \cdotp log \frac{1+r}{1-r}\), \(r=\sum^{|P|}_{s=1}D^s_t(w^T_{k_t}(\hat{x}^+_s - \hat{x}^-_s))\)
- normalize \(w_i\) => \(w^T_i(\hat{x}^+_s-\hat{x}^-_s) \in [-1,+1]\)