你有没有遇到过这种情况:同一张照片,用不同时期训练出来的识别模型去判断,结果给出的"质量分"完全不一样?今天模型说这张自拍是高质量素材,明天换个模型又说它普普通通。这不是玄学,而是人脸识别质量评估领域一直存在、却很少被认真对待的问题。
这篇发表在IEEE《生物特征、行为与身份科学汇刊》上的论文,就专门来拆解这个让人头疼的现象。
**先搞清楚:什么是人脸图像质量评估**
人脸图像质量评估
*FIQA:Face Image Quality Assessment,判断一张人脸照片是否适合用来做身份识别的技术,和普通图像质量评估不同,它不关心照片好不好看,只关心机器认不认得出来。*
这个领域存在的理由,其实挺反直觉的。你可能以为,一张照片拍得越清晰、越好看,就越容易被识别系统认出来。但研究发现完全不是这么回事:有些照片人眼看上去很清楚,可一旦脸部有遮挡(比如戴了口罩或者刘海挡住了半张脸),识别系统反而会判断失误。反过来,一张光线稍暗但五官完整的照片,识别起来可能更靠谱。
这就是为什么边检口岸的人脸核验系统、护照照片审核这些场景,都需要专门的FIQA算法,而不是直接套用那些给人眼设计的图像质量评估工具。
目前效果最好的一类FIQA方法,走的是"和人脸识别模型深度绑定"的路线。
人脸识别模型
*FR:Face Recognition,通过提取人脸特征并比对,判断两张照片是不是同一个人的系统。常见的ArcFace、MagFace等都属于这一类。*
这类方法在训练人脸识别模型的同时,顺带计算每张训练图片的"可分性",也就是这张脸离自己所属的身份类别近不近、离其他人的类别远不远。离自己类别越近、离别人类别越远,就说明这张照片的特征越清晰、越好用,质量分数也就越高。
这个思路听起来挺合理,但问题恰恰出在这里。
**问题出在哪:一个会"漂移"的评分标准**
想象你是个老师,要给学生打一个"这道题答得有多标准"的分数。但你打分的参照系不是固定的标准答案,而是全班同学当前的平均水平。班里学霸越来越多,这道题的"合格线"也在不断上移。同一个学生同一份答案,开学时打90分,学期末却只能打70分,不是因为他退步了,而是参照系变了。
人脸识别模型训练时发生的正是这种事。
论文里给出了一个具体例子(图2):同一个身份编号6987的十张"高质量"候选图片,在训练的第5个epoch和第30个epoch,排名和分数发生了明显变化。
训练轮次
*Epoch:深度学习模型把全部训练数据完整过一遍,称为一个epoch。模型通常要经过几十个epoch才能训练充分。*
论文指出,随着训练推进,特征空间在不断演化,每一轮产生的"类别聚类结构"都不一样,导致同一张照片在第t轮被判定为高质量,到第t+k轮可能就掉到中等质量了。这种不稳定对那些本来就处在决策边界附近的样本尤其致命,因为这些样本原本就很难分类,评分的晃动会让训练目标变得更加模糊。
更麻烦的是,论文观察到一个"蜜月期"现象:非累积方法的评分在训练到大约第20个epoch时达到最佳状态,之后反而开始变差。原因可能是,后期模型已经把容易分类的样本处理得很好了,训练重心转向那些难啃的样本,这些难样本和竞争类别的距离被拉大,质量分数因此被人为抬高,但这并不代表它们真的是高质量图片。
这就好比一个班主任把更多精力放在补差生身上,补差生的考试分数涨得很快,但这并不意味着他们真的已经掌握了全部知识点,只是最近被特别照顾了而已。
**解决方案:把所有轮次的评分攒起来求平均**
论文提出的方法叫CARPM-FIQA,思路说出来其实很朴素:与其相信某一轮次的评分,不如把训练过程中每一轮的评分都记下来,取累积平均值。
相对点间隔
*RPM / 相对点间隔:论文中用来衡量样本质量的核心指标,等于这张脸和自己所属类别中心的相似度,除以和最接近的"别人家"类别中心的相似度。比值越大,说明这张脸越容易和别人区分开。*
具体计算上,论文借用了CR-FIQA(一篇更早的相关工作)里定义的两个量:一个叫"最近本类相似度",表示这张脸和它真实身份的匹配程度;另一个叫"最近异类相似度",表示这张脸和最容易混淆的那个"别人"有多像。两者相除,就是这一轮的质量分数。
CARPM-FIQA的创新不在于重新发明这个评分公式,而是在于怎么用它。累积平均的公式其实就是咱们初中学过的滑动平均:第n轮的累积质量分,等于第n轮当前评分加上前n-1轮累积值乘以(n-1),再除以n。每多算一轮,新数据就被融进历史平均里,单次的剧烈波动会被持续稀释。
这就好比你想判断一个运动员的真实水平,与其只看他某一场比赛的发挥,不如看他整个赛季所有比赛的平均成绩。某场比赛可能超常或失常发挥,但只要样本足够多,平均值会更接近他的真实实力。如果只盯着单场比赛的数据来签合同,很可能被一场爆发的"状态怪"忽悠,付出远超实际水平的薪水。
论文还专门做了理论证明,来说明为什么累积平均这件事在数学上是靠谱的,而不只是经验之谈。
统计学无偏估计
*无偏估计:一个统计量的期望值恰好等于它想要估计的真实值,不会系统性地偏高或偏低。*
论文首先证明了累积质量分是"无偏"的,也就是说,只要单轮评分本身没有系统性偏差,累积平均之后同样不会有系统性偏差,这是后续所有结论的前提。
然后是方差分析,论文假设相邻轮次之间的评分噪声存在一种随时间衰减的相关性(专业说法叫AR(1)结构),而不是简单假设每轮噪声完全独立。这个假设更贴近真实情况,因为模型参数是逐步迭代更新的,相邻两轮的状态肯定有关联。论文推导出,即便考虑了这种相关性,累积平均的方差依然会随着轮次数n的增加而以大约1/n的速度下降,只是会多出一个取决于相关程度的放大系数。论文在实际数据里测出,小规模训练(34个epoch)下这个放大系数大约是7.7倍,大规模训练(18个epoch)下大约是2.5倍,但无论哪种情况,方差下降的趋势都是确定存在的。
均方误差
*MSE:衡量预测值和真实值之间平均偏差大小的指标,数值越小说明预测越准。*
有了无偏性和方差下降这两个结论,均方误差更低也就顺理成章了,因为对无偏估计量来说,均方误差就等于方差。论文进一步证明,排序错误的概率也会随着累积轮次增多而趋近于零,这意味着"哪张照片质量更高"这个相对排序会越来越稳定可靠。
**用数据说话:累积平均到底好在哪**
光讲理论不够,论文做了大量实验验证。
论文用了一个叫SynFIQA的合成数据集,这个数据集的特殊之处在于它是人工可控的:同一个身份先拍一张清晰的参考照片,再人为降质生成10个不同程度退化的版本,总共550万张图片、5000个身份、11个质量等级。因为质量等级是人为设定好的,可以直接拿来检验一个评分方法到底能不能把不同质量的照片区分开。
科恩d效应量
*Cohen's d:统计学里用来衡量两组数据分布差异大小的指标,数值越大说明两组数据区分得越清楚。*
论文(图1)的结果显示,相邻质量等级之间的Cohen's d,非累积方法平均只有0.2514,累积方法能达到0.3112,提升了大约24%。这说明累积平均不仅稳,而且确实能把不同质量的照片分得更开,不是单纯的"稳定但模糊"。
论文还用EDC曲线来评估实际的识别性能表现。
拒识特征曲线
*EDC:Error-versus-Discard Characteristic,逐步剔除被判定为低质量的照片,观察剩余照片的识别错误率如何变化的曲线,是FIQA领域评估效果的标准工具。*
论文(图3b)展示了随epoch变化的AUC-EDC走势(曲线下面积越小代表效果越好):非累积方法的曲线先降后升,在第20个epoch左右见底之后开始反弹;累积方法的曲线则持续下降,没有出现这种反弹。这组曲线基本坐实了前面提到的"蜜月期"现象确实存在,也证明累积平均能有效避开它。
论文用两种训练规模分别验证了这个方法:小规模配置用ResNet50在CASIA-WebFace数据集(约49万张图、1万多个身份)上训练,称为CARPM-FIQA(S);大规模配置用ResNet100在MS1MV2数据集(约582万张图、8万多个身份)上训练,称为CARPM-FIQA(L)。
残差网络
*ResNet:一种经典的深度卷积神经网络架构,ResNet50和ResNet100分别代表50层和100层的版本,层数越多模型容量通常越大。*
在和十二种业界现有FIQA方法(包括MagFace、CR-FIQA、GraFIQs、CLIB-FIQA、ViT-FIQA等)以及三种通用图像质量评估方法的对比中,论文在八个有挑战性的基准数据集(LFW、AgeDB-30、CFP-FP、CALFW、Adience、CPLFW、XQLFW、IJB-C)、四种人脸识别模型(ArcFace、ElasticFace、MagFace、CurricularFace)上做了系统评测。
结果显示,综合pAUC-EDC和AUC-EDC两个指标,在十七种参与比较的方法里,CARPM-FIQA(L)排名第四,CARPM-FIQA(S)排名第六。论文特别指出,按照跨基准归一化之后的平均分数,CARPM-FIQA(L)在每一种人脸识别模型上都能把差距控制在和最优方法相差2.4%到6%以内,而且在LFW这个基准上,小规模版本CARPM-FIQA(S)在全部四种识别模型、两种误识率阈值下都拿到了最低的pAUC-EDC。
跨模型泛化
*交叉模型评估:训练FIQA算法用的人脸识别模型,和最终用来评测这个质量分数效果好不好的人脸识别模型是不同的模型,这样能检验方法是不是真的学到了通用的"质量"概念,而不是只会讨好某一个特定模型。*
论文所有的对比实验都采用了这种交叉模型设置,用ArcFace训练出的质量评估分数,拿到ElasticFace、MagFace等其他模型上去检验效果,确保结论不是某个模型的"私货"。
**一个诚实的例外:不是所有基准都买账**
论文没有回避不足之处,这点值得专门说一下。
实验发现,在AgeDB-30和CALFW这两个基准上,非累积方法反而表现更好;在XQLFW基准上,一个把骨干网络冻结、只单独训练质量回归头的"冻结"版本表现最佳,累积方法排第二。
论文对这个反常现象做了细致排查。先是检查了AgeDB-30和CALFW的基线识别难度(也就是不做任何质量筛选时的错误率),发现这两个数据集的难度水平其实很正常,不比其他基准更难或更简单,所以不能用"任务太难"来解释。
接着论文把pAUC-EDC随训练轮次的变化曲线单独画了出来,发现非累积方法的"先降后升"现象在CFP-FP、LFW、CPLFW、XQLFW这几个基准上比较明显,但在AgeDB-30上反弹幅度很小,在CALFW上干脆没有反弹,非累积方法的最优表现恰好出现在训练最后一轮。也就是说,累积平均带来的优势主要体现在那些"后期会反弹走弱"的场景里,如果非累积方法本身在后期没有变差,累积平均自然也就没有太明显的优势可言。
至于XQLFW,论文发现这个基准的基线错误率(58%)比其他基准高出3到15倍,属于一个被严重图像退化主导的极端场景,和其他基准测试的姿态、表情变化完全是两种性质的挑战,所以表现特殊也在情理之中。
这种坦诚挺难得的,论文没有把所有基准都包装成"我们全面领先",而是老老实实把例外情况拎出来分析成因,这比空喊"效果最好"要可信得多。
**这个思路还能用在哪**
论文最后提出了一个更宽泛的观察:深度学习系统里,只要训练目标是基于不断演化的特征表示动态计算出来的,就天然存在这种"追着移动靶子打"的不稳定问题,累积平均这种时间维度上的聚合策略,理论上可以推广到任何存在类似困境的场景。
论文同时坦承了方法的局限,比如目前用的是简单算术平均,没有给不同轮次赋予不同权重;累积轮次的最优窗口长度(论文表III里做了初步分析,发现前30%到45%的训练轮次就能让排序相关性达到0.95以上)还需要进一步探索;累积框架目前只在基于角度间隔的损失函数(如ArcFace、CurricularFace)下验证过,能不能推广到其他类型的人脸识别训练目标还是未知数。
Q&A
Q1:CARPM-FIQA是什么?
A:CARPM-FIQA是一种人脸图像质量评估方法,核心思路是把训练过程中每一轮计算出的相对点间隔质量分数累积平均起来,而不是只用某一轮的评分,从而解决单轮评分随训练波动不稳定的问题。
Q2:为什么人脸识别模型训练时质量评分会不稳定?
A:因为特征空间在训练过程中持续演化,每一轮产生的类别聚类结构都不同,同一张照片在不同训练轮次会被判定为不同质量等级,尤其是在决策边界附近的样本,这种波动更明显。
Q3:CARPM-FIQA的效果到底好不好?
A:在十七种对比方法中,大规模版本CARPM-FIQA(L)综合排名第四,小规模版本CARPM-FIQA(S)排名第六,且在LFW基准上全面领先,但在AgeDB-30、CALFW、XQLFW三个基准上表现不如预期,论文对此做了详细分析。







