去年时候看过的一些三维人脸识别方面的论文,文章不都是高质量的,部分也看不懂甚至有理解错误。发现有一个人关注了这个专栏,就直接把当时看论文的草稿复制过来了,也许对人有一点帮助吧。文末放出了按序号排列的所有论文打包的百度云链接。
一.经典方法
(1)全局方法
【1】T. Russ, C. Boehnen, T. Peters,
3D face recognition using 3D alignment for PCA, in: IEEE Conference on Computer Vision and Pattern Recognition (CVPR),2006, pp. 1391–1398.
思路:采用PCA变换找到一组基可以表达每个人脸,然后利用每个人脸独有的基的系数进行匹配。由于PCA变换要求每个人脸的尺度和坐标个数相同,文章主要贡献在于将输入人脸与一个参考人脸首先进行尺度统一,然后进行ICP配准,最后采用法线搜索来建立参考人脸和输入人脸的对应。
【2】X. Lu, A. Jain,
Deformation modeling for robust 3D face matching, IEEE Trans.Pattern Anal. Mach. Intell. 30 (8) (2008) 1346–1357.
思路:将control group中的各种类型表情变化信息迁移到gallery集中的每个中性人脸上来,增加了gallery中样本的数量(解决表情变化挑战);probe集测试人脸在和gallery集人脸拟合收敛之后(用了ICP计算R和T,可解决姿态问题),根据ICP计算得到的最小平方距离进行匹配。文章的主要贡献在于使用显著点来构建人脸表情动作的单元,然后将这些单元的变化信息通过TPS函数建立映射从而迁移到另一个人脸上面。
【3】Y. Wang, J. Liu, X. Tang,
Robust 3D face recognition by local shape difference boosting, IEEE Trans. Pattern Anal. Mach. Intell. 32 (10) (2010) 1858–1870.
思路:文章提供了一整套三维人脸方法CSDC(Collective Shape Difference Classifier)的流程:脸切割通过二维图片辅助完成;人脸对齐是主要贡献,该方法和PCA一样是自独立的不需将人脸与库中每个人脸进行配准,是通过笔尖点、鼻梁方向和对称面法线方向三个变量,逐步进行平移,旋转和变换完成的(该过程中对称面的检测方法很简单和直观,可以参考);特征提取是在建立的Signed Shape Difference Map (两幅深度图对应位置相减)上提取Haar-like、Gabor、LBP三种特征;特征匹配是用上述提取的特征训练一个弱分类器,最后通过boosting组合成一个强分类器,然后用到人脸的验证和分类上面。
【4】P. Liu, Y. Wang, D. Huang, Z. Zhang, L. Chen,
Learning the spherical harmonic features for 3D face recognition, IEEE Trans. Image Process. 22 (3) (2013)914–925.
思路:把spherical harmonic features特征用到三维人脸识别中来,由于人脸属于部分匹配不能照搬物体匹配,文章首先将三维人脸点云转换成spherical depth map(通过将输入人脸与一个球进行拟合然后在变换到球坐标下),文章说该表达只涉及到坐标系的一一映射因此不存在信息的损失,并且具有尺度不变性;接着在SDM上提取SHF特征,最后在特征匹配之前还采用了三种常见的特征选择算法Relief-F、Minimal-Redundancy-Maximal-Relevance和Random Forests用于挑选最优特征。
【5】H. Mohammadzade, D. Hatzinakos,
Iterative closest normal point for 3D face recognition, IEEE Trans. Pattern Anal. Mach. Intell. 35 (2) (2013) 381–397.
思路:由于PCA是无监督方法并且忽视了类内差异,文章采用DA的方法来解决,因此首先需要建立人脸之间的对应。文章通过采用两幅人脸之间欧式距离和表面法向量夹角来计算对应点(不需要标记特征点和纹理图像的辅助),然后仅在对应点的法向量上采用DA分析最后用到人脸识别上来。该文章也提供了一整套的人脸识别流程,其中笔尖点检测部分有一定创新,不过是在深度图上进行的:先使用一部分仅包含鼻子区域的样本采PCA构建一个特征鼻空间,然后将鼻子潜在区域(最小深度值的点)投影到该空间中来,如果二者的最小均方误差小于某个阈值则认为是鼻子区域,否则采用下一个潜在区域(第二小深度值的点)。这里为了解决计算效率和误差过大的问题,还采用了低分辨率的特征脸进行了辅助。
##################################################################
(2)局部方法-关键点
【6】A.S. Mian, M. Bennamoun, R. Owens,
Keypoint detection and local feature matching for textured 3D face recognition, Int. J. Comput. Vis. 79 (1) (2008)1–12
思路:第一篇将sift扩展到三维人脸上的文章,通过对采样点附近邻域构建一个PCA特征空间,如果该区域的两个主角的xy坐标差异高于某个阈值即认为该点是关键点,接着再通过一个平面去拟合该区域得到固定尺寸的区域,最后在该区域提取特征(文章好像没写提取了什么特征?)。
【7】D. Smeets, J. Keustermans, D. Vandermeulen, P. Suetens,
meshSIFT: local surface features for 3D face recognition under expression variations and partialdata, Comput. Vis. Image Understanding 117 (2) (2013) 158–169
思路:这篇文章算是sift在网格数据上非常完美的扩展,思想和步骤完全一样不多说。
【8】H. Li, D. Huang, P. Lemaire, J.-M. Morvan, L. Chen,
Expression robust 3D face recognition via mesh-based histograms of multiple order surface differential quantities, in: IEEE International Conference on Image Processing, 2011,pp. 3053–3056.
思路:关键点部分和mesh-sift一样,只不过使用的是最大曲率和最小曲率而不是平均曲率。但是在特征提取步骤采用了三种不同的特征HoG(梯度),HoS(形状指数)和HoGS(形状指数的梯度),并且关键点周围的邻域选择也不太一样。
##################################################################
(3)局部方法-曲线
【9】C. Samir, A. Srivastava, M. Daoudi,
Three-dimensional face recognition using shapes of facial curves, IEEE Trans. Pattern Anal. Mach. Intell. 28 (11) (2006)1858–1863
思路:文章将人脸视作一个连续曲面,提取该曲面上深度函数的水平集作为人脸的曲线描述,然后借助于测地路径的概念(沿着该路径可以用最小能量将一条曲线弯曲成另一条曲线)来比较两个人脸曲线之间的距离作为匹配依据。
【10】S. Berretti, A. Del Bimbo, P. Pala,
3D face recognition using isogeodesic stripes,IEEE Trans. Pattern Anal. Mach. Intell. 32 (12) (2010) 2162–2177.
思路:文章将人脸划分成等宽度的、近似以笔尖点为中心对称的等测地线条纹(iso-geodesic stripes),这种条纹是与笔尖点具有相同测地距离的点的集合,并且不同条纹有着相同的固定间隔。接着计算条纹对之间的3DWW(3D weighted walkthrough)作为人脸的表示,其中3DWW是对2DWW的扩展,记录了两个点集之间的相对空间位移信息。最后分别利用条纹和3DWW构建图的顶点和边得到人脸的图表示,将两幅人脸图之间的方向索引(directional indexes)作为相似性度量标准进行匹配。
注:上面两个文章是闭曲线,而下面这个文献是开曲线。
【11】H. Drira, B.B. Amor, A. Srivastava, M. Daoudi, R. Slama,
3D face recognitionunder expressions, occlusions, and pose variations, IEEE Trans. Pattern Anal.Mach. Intell. 35 (9) (2013) 2270–2283.
思路:文章将人脸诗作一组从笔尖点向外辐射的径向线(radial curves),该线是用一个与人脸竖直曲面有着固定角度的平面与人脸曲面相交得到的切片。接着将弹性曲面分析(elastic shape analysis)引入分析径向线,通过在形状空间(shape space)用最优化的方法获得两幅人脸之间的最佳匹配(尤其适用于针对表情变化存在的伸缩变换)并计算相似度进行最后的匹配。值得注意的是该片文章对于遮挡和缺失的人脸都进行了特别处理,前者利用recursive-ICP进行了检测和移除,后者利用PCA进行了补全,从而使径向线也适用于遮挡和缺失的情况下。
##################################################################
(4)局部方法-3DLBP
【12】H. Li, D. Huang, J.-M. Morvan, L. Chen, Y. Wang,
Expression-robust 3D face recognition via weighted sparse representation of multi-scale and multi-component local normal patterns, Neurocomputing 133 (2014) 179–193.
思路:就是在法线的三个分量上提取LBP,采用了分块和多尺度策略,并且构建了一个加权稀疏表达分类器(W-SRC)进行最后的匹配。作者论证了求解一个probe人脸的分块加权稀疏表达系数(这个系数是衡量不同分块的权重)等价于用整体特征向量(加权系数乘以对应块特征简单组合在一起)求解一个SRC,接着通过采用OMP算法(orthogonal matching pursuit,用来求解l0最小化问题的)即可求得加权系数(注意这个加权系数是同时包含分块系数和gallery每个人脸系数,所以其实很大的),最后根据重构差异来确定代检测人脸的身份。
【13】N. Werghi, C. Tortorici, S. Berretti, A. Del Bimbo,
Boosting 3D LBP-based facerecognition by fusing shape and texture descriptors on the mesh, IEEE Trans.Inf. Forensics Secur. 11 (5) (2016) 964–979.
思路:Mesh-LBP,网格面片上的LBP。
##################################################################
(5)局部方法-geometric features
采用低级几何特征,因为它们计算简单(只涉及距离或者角度计算)同时对于尺度和刚性变换具有不变性。
【14】Y. Lei, M. Bennamoun, A.A. El-Sallam,
An efficient 3D face recognition approach based on the fusion of novel local low-level features, Pattern Recognit.46 (1) (2013) 24–37
思路: 采用二值掩码(binary mask)将人脸分成刚性、半刚性和非刚性三个区域,接着取笔尖点为固定点和另外两个随机点构成一个空间三角形,在这个三角形上面提取了四种不同的低级几何特征:笔尖点与随机点两条连线的夹角,三角形外接圆的半径,两个随机点连线的距离,两个随机点连线与z轴的夹角,然后把它们被统计成直方图从而解决匹配对应和维度一致的问题,最后采用SVM完成最后的识别实验。
##################################################################
(6)局部方法-point signatures
【15】C.S. Chua, F. Han, Y.K. Ho,
3d human face recognition using point signature,in: IEEE International Conference on Automatic Face and Gesture Recognition,2000, pp. 233–238.
思路:文章把本来用于三维刚性物体匹配的point signature用到了三维人脸识别中来,这种特征是通过一个拟合点的邻域交线的曲面得到的一种signed distance profile,包含距离和角度两个信息。但是人脸不是全部刚性的,因此文章设计了一种匹配算法并且取具有小的匹配误差的区域作为人脸刚性区域,然后在该区域上提取上述特征进行最后的匹配。
##################################################################
(7)局部方法-tensor features:
【16】A.S. Mian, M. Bennamoun, R.A. Owens,
Matching tensors for pose invariant automatic 3D face recognition, in: IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2005. 120–120.
思路:首先对人脸网格进行简化,接着根据距离和角度约束定义点对,再根据这些符合约束的点对定义了一个3D坐标系,在这个坐标系中定义了一个15*15*15的格子,人脸会落在该格子区域,据此将人脸定义成为一个三阶张量(third order tensors,其实就是直方图);gallery的这些人脸张量是通过一个4D哈希表索引的,然后对于probe的人脸张量首先根据该哈希表进行投票获得高于某个阈值的待定人脸,然后结合相似度和ICP配准误差到一起进行最后的识别实验。
【17】F.R. Al-Osaimi, M. Bennamoun, A. Mian,
Integration of local and global geometrical cues for 3D face recognition, Pattern Recognit. 41 (3) (2008)1030–1040
思路:采用了距离、面积等简单的特征去计算很多个0秩张量域(rank-0 tenor fields),这些张量域是从高阶张量域计算得来的,有的编码了局部几何信息,有的编码了全局几何信息。然后通过一个2D直方图去综合这些信息,对局部和全局张量域分别采用PCA最后连在一起作为最后的特征向量。
二.最新方法(2016-2018)
(1)涉及深度学习
【18】J. Zhang, Z. Hou, Z. Wu, Y. Chen, and W. Li:
Research of 3d face recognition algorithm based on deep learning stacked denoising autoencoder theory. In ICCSN, pages 663–667. IEEE, 2016.
思路:从Candide-3 参数人脸模型挑选了30个非平坦区域的特征点去描述人脸,然后采用一个栈去噪自动编码器(stack denoising autoencoder),先进行无监督预训练,再进行监督微调,最后根据网络的输出概率进行分类。
【19】Kim D, Hernandez M, Choi J, et al.:
Deep 3D face identification[C] . IJCB 2017: 133-142.
思路:插值得到的深度图去训练VGGFace进而三维人脸识别,做了表情、姿态和遮挡的增强。其中,表情增强是通过将原始人脸与3DMM模型进行非刚性对齐然后改变表情系数得到不同的表情变化,然后通过简单的减法操作将表情变化的位移量迁移到原始人脸中来。注意此方法的目的只在于数据扩增而不是真实感。
【20】João Baptista Cardia Neto, Aparecido Nilceu Marana:
Utilizing Deep Learning and 3DLBP for 3D Face Recognition. CIARP 2017: 135-142
思路:先提取深度图上的LBP,采用的是一种变体,和原始LBP的主要区别在于增加了额外的两个二值单元去编码深度值变化的差异,然后利用产生的LBP编码图像去训练一个CNN当作分类器。
【21】Josef Kittler, Paul Koppen, Philipp Kopp, Patrik Huber, Matthias Rätsch:
Conformal Mapping of a 3D Face Representation onto a 2D Image for CNN Based Face Recognition. ICB 2018: 124-131
思路:先是用3DMM拟合图像得到三维人脸,然后采用加了边界约束的拉普拉斯特征映射算法将重建的三维人脸又映射成了二维矩形图像,映射的信息包括坐标和纹理(文章提示说也可以用法线和曲率),文章称得到的这两种图像为形状图像和纹理图像,最后训练了Alexnet和DCNN两种网络用于提取特征,采用余弦相似度进行匹配。
【22】Syed Zulqarnain Gilani, Ajmal S. Mian:
Towards Large-Scale 3D Face Recognition. DICTA 2016: 1-8
+
S.Z. Gilani, A. Mian, P. Eastwood,
Deep, dense and accurate 3D face correspondence for generating population specific deformable models, Pattern Recognit.69 (2017) 238–250
+
Syed Zulqarnain Gilani, Ajmal Mian:
Learning From Millions of 3D Scans for Large-Scale 3D Face Recognition. CVPR 2018: 1896-1905
思路:首先对三维人脸建立稠密准确的密集对应联系,据此组合不同身份和不同表情的人脸进行数据集的身份和表情扩增;也采用了HPR算法对旋转人脸的自遮挡进行了模拟,据此进行了数据集的姿态扩增。通过以上方法构建了一个百万级的三维人脸数据集,然后利用GridFit算法插值得到深度,俯角和仰角的三通道图像,从头训练了一个神经网络,在目前所有的公开三维人脸数据集中获得了非常好的成绩。注意论文已经公布了他们训练好的网络的权重。
【23】Yang Tan, Hongxin Lin, Zelin Xiao, Shengyong Ding, Hongyang Chao:
Face Recognition from Sequential Sparse 3D data via Deep Registration. CoRR abs/1810.09658 (2018)
思路:文章提出了类似 PointNet的DRNet(输入是xyz的二维映射)用于估计两个平移参数和四个旋转参数从而进行配准,其中平移是用L2损失函数,而旋转采用的是基于quaternion 表达式的损失函数,网络直接输出这六个参数。文章将六帧稀疏的点云用上述网络进行配准和融合得到融合数据,然后插值得到一个深度图去训练基于am-softmax损失的resnet18网络用于提取特征,结果表明融合的数据可以达到与直接使用数据集中高质量人脸的差不多的识别效果。文章的方法是针对结构光产生的多帧稀疏点云数据的,但是由于没有充足的这种稀疏点云数据,所以是在对数据集人脸进行采样从而得到足够的数据的,正因如此所以才能在三个人脸数据集上进行测试和比较。
【24】Ahmed ElSayed, Elif Kongar, Ausif Mahmood, Tarek M. Sobh, Terrance E. Boult:
Neural Generative Models for 3D Faces with Application in 3D Texture Free Face Recognition. CoRR abs/1811.04358 (2018)
思路:文章首先设计了一个两层网络,输入是xy坐标,损失是重建的z的最小均方误差,采用Levenberg–Marquardt反向传播训练,取训练得到的权重系数作为三维人脸的新的表示(一维的;并且可进行数据增强,但是文章没有可视化),然后再用这些一维权重向量训练一个Siamese Network用来做验证任务。
【25】Huibin Li, Jian Sun, Liming Chen:
Location-sensitive sparse representation of deep normal patterns for expression-robust 3D face recognition. IJCB 2017: 234-242
思路:采用法线的三个分量组成的图像训练一个VGG网络,取最后一个卷积层的所有特征图得到文中所说的深度法线模式(deep normal patterns);采用位置敏感的稀疏表达分类器(Location Sensitive Sparse Representation-based Classifier;和文献12其实一样,只是这里是针对不同的卷积核而不是区域)进行最后的匹配实验,
##################################################################
(2)传统方法-3DLBP
【26】Sima Soltanpour, Q. M. Jonathan Wu:
High-order local normal derivative pattern (LNDP) for 3D face recognition. ICIP 2017: 2811-2815
思路:LNDP是二阶有向的运算子,编码了局部区域导数方向的变化,是在法线的三个坐标分量上提取局部法线导数模式(LNDP,注意LBP是一种无向的一阶导数运算子),先规定了四种一阶不同方向导数(0,45,90,135)的计算、然后对这些一阶导数的计算结果进行标准LBP的编码、最后进行分块和直方图级联在一起作为人脸的描述,识别就是比较两幅直方图的相似度。
##################################################################
(3)传统方法-曲线
【27】Xun Yu, Yongsheng Gao, Jun Zhou:
Sparse 3D directional vertices vs continuous 3D curves: Efficient 3D surface matching and its application for single model face recognition. Pattern Recognition 65: 296-306 (2017)
思路:对人脸曲面的谷线和脊线进行了快速角点检测得到了三维方向顶点(3d directional vertex),包含三个坐标和两个单位向量(指向它的两个邻域顶点,如果是起点和端点需要赋值为空),然后定义了translation,spin,swing 和deformation四种运算用来计算两个方向顶点之间的差异,最后采用hausdorff距离和ICP两种方法将两个方向顶点之间的距离扩展到方向顶点集之间的距离,取最后的差异作为相似度进行匹配。
【28】Mehryar Emambakhsh, Adrian N. Evans:
Nasal Patches and Curves for Expression-Robust 3D Face Recognition. IEEE Trans. Pattern Anal. Mach. Intell. 39(5): 995-1007 (2017)
思路: 仅采用鼻子区域进行人脸识别,首先需要一个由粗到精的鼻子区域关键点的检测,然后在该区域上对法线进行Gabor-wavelet滤波,然后再把该区域上划分为球形块和曲线,最后取球形块和曲线上的法线直方图作为特征,并且在最后的识别之前还进行了基于遗传算法的特征选择去挑选对于表情鲁棒的球形块和曲线(注:实验结果中球形块均好于曲线)。
【29】Ye Li, Yinghui Wang, Jing Liu, Wen Hao:
Expression-insensitive 3D face recognition by the fusion of multiple subject-specific curves. Neurocomputing 275: 1295-1307 (2018)
思路:文章使用了人脸面部的多条曲线包括凸脊线,中心轮廓曲线和水平轮廓曲线,凸脊线是将检测的脊点按照一个叫做极值参数的连接得到,而中心轮廓和水平轮廓是借助笔尖点和中心对称面得到的,最后将多条曲线进行特征级融合,注意其中的脊线比重更大还定义了一种自适应权重。
【30】Xun Yu, Yongsheng Gao, Jun Zhou:
3D face recognition under partial occlusions using radial strings. ICIP 2016: 3016-3020
思路:将人脸曲面视作为为一系列取自笔尖点处的径向曲线曲线集合,并且将曲线投影到二维平面上,然后采用Douglas-Peucker角点检测算法进行采样得到径向线段(线段长度,方向和中点xy坐标);然后通过线段长度和角度差异定义了两条径向线段的代价函数,最后使用动态规划计算了两个人脸曲线(包含多个线段)的相似度矩阵,据此得到两个人脸之间的相似度作为度量的标准。
##################################################################
(4)传统方法-关键点
【31】Yan Liang, Yun Zhang, Xianxian Zeng:
Pose-invariant 3D face recognition using half face. Sig. Proc.: Image Comm. 57: 84-90 (2017)
注:仅使用半张人脸进行识别。
【32】Yinjie Lei, Yulan Guo, Munawar Hayat, Mohammed Bennamoun, Xinzhi Zhou:
A Two-Phase Weighted Collaborative Representation for 3D partial face recognition with single sample. Pattern Recognition 52: 218-237 (2016)
思路:统计关键点周围的多个空间三角区域的角度和距离信息,适用于因遮挡导致人脸部位缺失的情况下的人脸识别任务。
【33】Yulan Guo, Yinjie Lei, Li Liu, Yan Wang, Mohammed Bennamoun, Ferdous Ahmed Sohel:
EI3D: Expression-invariant 3D face recognition based on feature and shape matching. Pattern Recognition Letters 83: 403-412 (2016)
思路:预处理和关键点检测步骤都与Mesh-Sift类似,特征步骤文章提出了Rotational Projection Statistics,匹配步骤文章提出了Nearest Neighbor Distance Ratio。总之是严格按照标准Sift流程进行操作的。
##################################################################
(5)传统方法-协方差矩阵
【34】H. Tabia, H. Laga, D. Picard, P.-H. Gosselin,
Covariance descriptors for 3D shape matching and retrieval, in: IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2014, pp. 4185–4192
+
Walid Hariri, Hedi Tabia, Nadir Farah, Abdallah Benouareth, David Declercq:
3D face recognition using covariance based descriptors. Pattern Recognition Letters 78: 1-7 (2016)
思路:首先需要在人脸上定义块,选取gallery一个人脸均匀采样一些特征点,以这些特征点为中心按照某个半径取得的邻域即定义了块,而对于probe中的人脸,是通过将它们与gallery人脸进行ICP对齐,然后取最近点作为probe的特征点进而可以定义probe人脸的块;接着在这些块上,对每个点计算三种低级几何特征:三个坐标,最大&最小主曲率和距离原点的距离,但是不直接使用这些特征,而是进一步计算特征的协方差矩阵(上面提到的直方图也是另一种思路,并且这样做的原因也差不多) ;由于协方差矩阵是位于对称正定张量的流形上的,因此计算两个协方差矩阵的差异需要采用合适的度量计算测地距离,文章测试了很多距离其中Log-Euclidean和Log-determinant较好,并且在最后的匹配还采用了两种不同的策略,一种是直接计算对应区域的协方差差异最后取平均,另一种则是采用Hungarian算法把匹配当成是一个分配任务最后取计算损失作为相似性度量。
##################################################################
所有论文打包的百度云链接如下
链接:https://pan.baidu.com/s/1fdUHczZIsBgW_NUKcTDk7Q
提取码:fcaw