基于LTR的人脸质量评估

文献来源Face Image Quality Assessment Based on Learning to Rank

显然,人脸识别系统的性能会受到输入的人脸图片质量(光照,姿态,表情,分辨率等)的影响。这一问题在将人脸识别系统应用到实际场景中更为严重,因为实际场景往往是无约束的,捕获的人物也是“不配合”的。虽然很多人脸识别系统有一定的抗干扰能力,研究者仍然认为人脸识别系统在高质量的人脸图片上能表现出更好的性能。

image.png

对于不同的人脸识别系统而言,好的图片有着不同的定义。例如,对一个擅长处理遮挡问题的系统,上图中(g)质量比(f)更好,因为(g)分辨率比(f)更好;对一个普通系统,(e)比(f)更好,因为(e)人脸姿态更正。

人脸质量估计

assumption

假定有两个数据集A、B,作者认为数据集A的图片质量均好于B,数据集A在某一特定识别系统中性能优于数据集B,而对于各自数据集中的图片,其质量得分相差不大,即有如下约束。
$$
\begin{align}
w^Tx_i>w^Tx_j,&&\forall x_i \in A,\forall x_j \in B\
w^Tx_i\approx w^Tx_j,&&\forall x_i \in A,\forall x_j \in A\
w^Tx_i\approx w^Tx_j,&&\forall x_i \in B,\forall x_j \in B\
\end{align}
$$
上述表达式与Relative Attributes[^1]相同,因而可以用下述凸最优化表达式代替。
$$
\begin{align}
min \;\;&\frac{1}{2}||w||^2+\lambda_1 \sum \xi_{ij}^2+\lambda_2 \sum \eta_{ij}^2+\lambda_3 \sum \gamma_{ij}^2\
\text{s.t.}\;\;&w^Tx_i-w^Tx_j\geqslant 1-\xi_{ij},\;\forall x_i \in A,\forall x_j \in B\
&|w^Tx_i-w^Tx_j|\leqslant \eta_{ij},\;\;\;\;\;\forall x_i \in A,\forall x_j \in A\
&|w^Tx_i-w^Tx_j|\leqslant \gamma_{ij},\;\;\;\;\;\forall x_i \in B,\forall x_j \in B\
&\xi_{ij}\geqslant0,\;\eta_{ij}\geqslant0,\;\gamma_{ij}\geqslant0
\end{align}
$$
上述原始问题可采用Newton method[^2]求解得到。

experiment

image.png

具体实验流程包括三个环节。

1.预处理–利用人脸检测器检测人脸,并通过仿射变换对人脸进行对其操作

2.抽取人脸特征–包括Gabor, LBP, CNN, Gist, HoG

3.训练权重系数–将不同特征得分进行融合,具体操作为独立训练每种特征权重系数,最后融合所有得分,再进行第二阶段训练。

image.png

附录

该部分主要介绍Newton法求解原始问题。

SVM

对线性SVM,以L2正则化为例,目标函数对应如下:
$$
\min_{\boldsymbol{w},b} \frac{1}{2}||\boldsymbol{w}||^2+C\sum_{i=1}^{n}\max (0,1-y_i(\boldsymbol{w}^T\boldsymbol{x_i}+b))
$$
牛顿法迭代即采用$\boldsymbol{w}\leftarrow \boldsymbol{w}-\boldsymbol{\mathcal{H}}^{-1}\boldsymbol{g}$,其中$\boldsymbol{\mathcal{H}}$与$\boldsymbol{g}$分别是目标函数的海塞矩阵与梯度。

设$\boldsymbol{sv}$是支持向量集合$\boldsymbol{sv}={i,y_i(\boldsymbol{w}^T\boldsymbol{x_i}+b)<1}$,进而
$$
\begin{align}
&\boldsymbol{g}:=\boldsymbol{w}+2C\sum_{i\in\boldsymbol{sv}}(\boldsymbol{w}^T\boldsymbol{x_i}+b-y_i)\boldsymbol{x_i}\
&\boldsymbol{\mathcal{H}}:=I+2C\sum_{i\in \boldsymbol{sv}}\boldsymbol{x_i}\boldsymbol{x_i}^T
\end{align}
$$
当矩阵维度很大时,计算矩阵$\boldsymbol{\mathcal{H}}^{-1}$将会非常耗时,因而采用linear conjugate gradient是一个很好的选择。该算法的关键之处在于无须显式计算$\boldsymbol{\mathcal{H}}$,只需计算$\boldsymbol{\mathcal{H}}\boldsymbol{s}=\boldsymbol{s}+2C\boldsymbol{X}^T\boldsymbol{D}\boldsymbol{Xs}$对于部分向量$\boldsymbol{s}$即可,其中$\boldsymbol{D}$是对角矩阵,满足$\boldsymbol{D}_{ii}=1,if\;i\in \boldsymbol{sv},0\;otherwise$。

具体算法伪代码如下

image.png

RankSVM

基于pairwise下,该部分目标函数定于如下
$$
\begin{align}
min \;\;&\frac{1}{2}||w||^2+\lambda_1 \sum \xi_{ij}^2+\lambda_2 \sum \eta_{ij}^2\
\text{s.t.}\;\;&w^Tx_i-w^Tx_j\geqslant 1-\xi_{ij},\;\forall x_i \in A,\forall x_j \in B\
&|w^Tx_i-w^Tx_j|\leqslant \eta_{ij},\;\;\;\;\;\forall x_i,x_j \in A\;or\;\forall x_i,x_j\in B\
&\xi_{ij}\geqslant0,\;\eta_{ij}\geqslant0
\end{align}
$$
对于上式,若将$x_i-x_j$替换成$x_i$将转换为普通SVM,但在制作数据集时将会造成较大运算量。因而,对于i,j属于不同数据集时,我们只是构造一个稀疏矩阵$A_{p\times n}={A_{ki}=1,A_{kj}=-1,if \;\;\text{is higher rank than}\;x_j}$,其中p表示构成比较对的pairwise数量,n表示样本量。于是,采用$AX$替换$X$即可解决构造新数据集问题。

同样,对于i,j来自同一数据集,我们也构造一个稀疏矩阵$B$将匹配对用$+1,-1$标记。进而,正则项$\lambda_1 \sum \xi_{ij}^2+\lambda_2 \sum \eta_{ij}^2$可以用如下表达式替换
$$
\begin{align}
&\lambda_1 \sum \xi_{ij}^2+\lambda_2 \sum \eta_{ij}^2=\sum[ (\boldsymbol{\lambda}\times \boldsymbol{Out_{对应元素平方}})_{\text{矩阵对应元素相乘}}]\
&\boldsymbol{\lambda}=
\begin{pmatrix}
{\boldsymbol{\lambda_1}}\
\boldsymbol{\lambda_2}
\end{pmatrix}\
&\boldsymbol{Out}=
\begin{pmatrix}
1\
0
\end{pmatrix}
-
\begin{pmatrix}
\boldsymbol{A}\boldsymbol{X}\boldsymbol{w}\
\boldsymbol{B}\boldsymbol{X}\boldsymbol{w}
\end{pmatrix},then\;\;\boldsymbol{Out_{1:A}}\leftarrow \max(0,\boldsymbol{Out_{1:A}})\
\end{align}
$$

[^1]: Relative Attributes
[^2]: Efficient Algorithms for Ranking with SVMs

本文标题:基于LTR的人脸质量评估

文章作者:Lumo Wang

发布时间:2018年04月14日 - 10:04

最后更新:2019年04月17日 - 20:04

原始链接:https://luameows.github.io/2018/04/14/论文笔记-基于LTR的人脸质量评估/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

请我喝杯咖啡,我会继续熬夜的~