嵌入式人脸识别技术

新闻资讯news information

热门关键词

联系我们

公司名称:

成都西亚深图智能科技有限公司

联系电话:028-87560601

公司邮箱:

xyst_deeprec@163.com

公司地址:

四川省成都市高新西区新业路4号

汇都总部园二期1-3-4

深圳办事处::深圳市龙华区民治

街道白石龙华富锦大厦512

电话:代经理 13632664173

公司网址:

www.deepgraph.cn


详解苏宁门店的人脸识别技术

您的当前位置: 首 页 >> 新闻资讯 >> 行业新闻

详解苏宁门店的人脸识别技术

发布日期:2019-08-18 作者: 点击:

一个成熟的人脸识别系统通常由人脸检测、人脸最优照片选取、人脸对齐、特征提取、特征比对几个模块组成。


图1 人脸识别系统核心流程

从应用场景看,人脸识别应用主要分为1:1和1:N。1:1就是判断两张照片是否为同一个人,主要用于鉴权。而1:N的应用,首先得注册N个ID的人脸照片,再判断一张新的人脸照片是否是某个ID或者不在注册ID中。1:1和1:N,其底层技术是相同的,区别在于后者的误识率会随着N的增大而增大,如果设置较高的相似度阈值,则会导致拒识率上升。拒识和误识二者不可兼得,所以评价人脸识别算法时常用的指标是误识率小于某个值时(例如0.1%)的拒识率。

人脸识别最为关键的技术点就是人脸的特征提取,直到2014年deepface首次将深度学习的引入,这项技术才得到了质的突破,使得人脸识别技术真正走到了商业可用阶段。目前的研究主要集中在网络结构的改进和损失函数的改进上。随着研究的深入,目前人脸识别技术上的壁垒正在被打破,而人脸数据库的资源是业内巨头保持领先的另一个重要武器。

苏宁:前端实时算法+资源计算

MTCNN、RSA等基于深度学习的方法在人脸检测的任务中展现出了惊人的效果,对于遮挡、大角度的人脸变化、极端的光照情况都能较好的应对。

不同于学术界使用更复杂的网络来提高人脸检测在困难数据集上的精度,在实际商用场景中,苏宁更关注于人脸检测算法的实时性和对计算资源的消耗。因为检测出的低质量人脸照片对后续的人脸识别工作帮助甚微,而算法的性能优化却可以让人脸识别的应用场景大大增加。以苏宁线下门店部署的高清摄像头为例,在购物高峰时段每分钟有几百人涌入门店,需要在一个画面中检测出20多个人脸并进行跟踪,这对算法提出了很高挑战。

考虑到苏宁人脸应用丰富的场景,光是线下门店就有几千家,为了降低服务成本,我们采用了“端+云”的解决方案。人脸检测、人脸跟踪、人脸最优照片选取的逻辑放在前端进行,而人脸的建模、人脸比对的服务放在中心服务器进行。同时为了进一步降低成本,通过与摄像头硬件厂商的深度合作,可以将人脸检测、人脸跟踪、人脸最优照采集的算法逻辑放在嵌入式设备,节省服务器的同时也提高了系统的稳定性。


图2 人脸识别服务系统架构

对于前端设备的选择,有很多因素要考虑,一个很大的误区是普通安防摄像头就可以满足人脸的采集。安防摄像头通常置于棚顶,一般距离地面都有2.7米以上,在行人经过最佳采集位置时很难采集到正脸,而且镜头分辨率较低,成像噪声大,即使采集到了人脸也无法满足人脸识别应用的需求。

从识别的准确率考虑,通过实验发现要保证人脸识别的准确率,人脸照片中双眼瞳距之间要大于80个像素,这就意味着在选择摄像头时要充分考虑焦距和分辨率两个指标。

对于人脸最优照片采集,这更多的是一个工程化的工作,其对最终的产品表现也有很重要的影响。通常要考虑人脸的朝向、人脸的模糊程度、人脸的面部表情、是否存在遮挡等因素给采集的人脸图像做一个质量打分。

要结合场景应用考虑算法的复杂度,比如在一些场景中,可以完整跟踪一个人的人脸轨迹,并从中选择最优的一张照片;而在一些实时性要求比较高的场景中,则要快速做出相应,一旦发现高质量的人脸照片,立即触发上传逻辑。

即使只上传人脸照片到云端,在如此多的人脸应用场景中,对网络的带宽以及响应的速度还是提出了很高的挑战。为了降低计算、带宽、存储的资源消耗,我们会对进行特征提取的人脸照片尺寸和大小进行优化。

考虑到后续人脸提取的神经网络会对人脸进行归一化,我们认为人脸大小在满足比对要求时控制在150个像素是比较合适的。同时对图片质量的压缩也是非常必要的。经我们测试,75%的jpeg压缩率对人脸识别的性能影响可以忽略,却可以节约几倍的带宽资源。除了常用的jpeg、png图像编码,苏宁还使用WebP图像压缩格式,可以使带宽资源的占用进一步降低20%~30%。

人脸识别背后的算法模型

softmaxLoss

其实人脸识别与imagenet的图像分类比赛并没有本质的区别,苏宁在早期拍照购物中累积的商品识别项目经验很多都可以用在人脸识别的项目中,比如早期的VGG net、Inception、后来的ResNet这些网络结构在图像分类中取得的成功同样可以在人脸识别中复现。


图3softmaxLoss结构

图3是一个典型神经网络输出层softmaxLoss的结构。其lossfunction为


其中xi表示第i个样本属于第yi类的人脸照片所提取的特征,wj表示最后一层全链接层属于第j个类别的权重,b为偏置bias,m和n分别对应batch size和分类的类别数。

不同于imagenet这种close-set的分类任务,人脸识别问题实际上是在一个open-set上进行测评,所以是一个特征提取的问题,需要找到一个合适的特征度量空间,softmaxLoss训练的分类器虽然可以将相似样本成功划分,却不能保证类内的聚拢。为了解决这个问题,学术界提出了一系列方法来聚拢类内距离,增大类间距离,从而学到一个泛化能力更强的特征表示。

人脸聚类

人脸聚类的工作已经有很多,比如Center loss、Contrastive loss、Triplet loss。重点介绍我认为一个突破性的工作sphereface,这个工作提出将weights归一化,同时将bias置0,把问题转化为角度约束,表示更加清晰,变为

,从公式中可以很明确的看到影响模型的三个要素:weights的模长、feature的模长、对θ加margin。


图4 人脸聚类margin几何示意图

weights normalization

weights normalization,即

嵌入式人脸识别.jpg

,其实这种操作之前就有人研究过,不过更多是把其看作weight decay,一种为了避免过拟合的L2正则惩罚,并没有从几何角度更多解读它。其进行反向传播对权重w进行更新时,当其中一类样本过少的时候,会导致其样本对梯度影响不明显,导致该类别的权重学习不充分,权重的L2norm较小[1]。由于softmax loss的决策边界是

,bias置零后为

,两向量正交,如果其中一个权重学习的不充分,L2norm较小时,决策边界也会向该w倾斜,这会降低分类器的性能,如图5所示。


本文网址:http://www.deepgraph.cn/news/447.html

相关标签:嵌入式人脸识别

最近浏览: