些年得益于网络架构、训练策略以及人脸数据的发展,人脸识别技术取得了巨大的提升,越来越多地被推广到安防领域,延伸出考勤机、门禁机等多种产品,产品系列达20多种类型,可以全面覆盖煤矿、楼宇、银行、军队、社会福利保障、电子商务及安全防务等领域,人脸识别的全面应用时代已经到来。
然而,现有方法主要关注自然环境下的人脸识别,其训练数据大都从网络上收集而来,一般只包含中等量级的人数(约10万人),但每类平均样本数很多(多于20个)。然而,实际应用中的人脸识别系统通常只能获取2张图像,一张证件照,一张现场照。同时,系统需要面对的人脸个体数量可达到上百万甚至是千万级。因此,实际中人脸数据库通常具有海量类别,但每类只有2个样本,一般被称之为大规模双样本问题。
现有方法在训练这种数据时会遇到巨大的挑战,例如类内变化不足使得训练难以收敛以及海量样本数对计算设备的极端要求。为此,中国科学院自动化研究所针对真实场景下的人证核验问题,提出了基于深度学习的大规模双样本学习方法,解决了双样本数据带来的类内变化不足问题和海量样本数计算压力大的问题。
目前,深度学习在人脸识别界具有统治地位,基于分类的训练方法是主流,其将每个人当作独立的类别,并使用softmax进行分类训练。近两年SphereFace,CosFace以及InsightFace进一步引入了边界裕量(margin)来提高识别网络的可扩展性,在公开测试集上取得了领先性能。然而,softmax的计算消耗与类别数直接相关。在实际应用中,百万类甚至千万类的分类会对训练平台产生极大压力,普通训练平台(如8卡TITANX)甚至无法训练,给主流方法的应用带来了困难。
自动化所朱翔昱、雷震等研究人员提出的大规模双样本学习方法包括两个方面,一是提出了一种分类-验证-分类(CVC)的训练策略来逐步提高实际场景中的性能,二是针对大规模分类问题提出了DP-softmax使得深度学习在超大规模类别的分类上具有可扩展性。
在分类-验证-分类(CVC)训练策略中,研究人员将整个训练过程分为三个阶段。第一个阶段为Pre-learning(ClassificaTIon),首先在网图人脸数据库上训练一个深度神经网络模型,以得到一个较好的初始人脸识别性能。第二阶段为Transfer Learning (VerificaTIon),使用基于度量学习的人脸验证方法如triplet loss在大规模双样本数据上进行微调,将人脸知识从自然环境迁移到人证场景下。第三阶段为Fine-grained Learning (ClassificaTIon),构建了一个特殊的分类层DP-softmax对百万级类别进行分类,最终达到人证场景下的最优性能。
DP-softmax极大降低了大规模分类的计算需求,首先通过CVC策略中第二阶段的模型对训练数据抽取特征并构建每个类别的类别模板(prototype),生成所有类别的类别模板库。在训练过程中,针对当前mini-batch中的样本选择与他们最相似的少量类别模板构建临时分类层来完成本次分类训练。整个过程可以在不影响训练效果的前提下,极大降低大规模分类的计算需求。研究人员对提出的方法进行了充分的实验,表明在IvS场景下,该方法相比现有方法有了明显提升。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)