可左右滑动选省市

一种基于3D人脸重建的公众人物识别系统和方法

更新时间:2024-10-01
一种基于3D人脸重建的公众人物识别系统和方法 专利申请类型:发明专利;
源自:上海高价值专利检索信息库;

专利名称:一种基于3D人脸重建的公众人物识别系统和方法

专利类型:发明专利

专利申请号:CN202011338169.X

专利申请(专利权)人:天翼数字生活科技有限公司
权利人地址:上海市静安区万荣路1256、1258号1423室

专利发明(设计)人:张继东,曹靖诚,史国杰,李云鹤

专利摘要:本发明提供了一种基于3D人脸重建的公众人物识别系统和方法。该方法包括:获取待识别的图片;对获取的图片进行人脸检测;响应于检测到人脸,将人脸从图片中剪裁下来并进行3D重建;以及通过将经3D重建的人脸与预存人物的人脸3D模型进行比较以进行人物识别,所述比较进一步包括:将经3D重建的人脸与预存人物的人脸3D模型输入经训练的基于3D人脸重建的人物识别模型,该人物识别模型是通过以下步骤训练的:采集人物照片;对采集到的人物照片进行人脸裁剪;对裁剪的人脸进行3D重建;从经3D重建的人脸集中自动选择样本集,所述样本集包括正例样本和负例样本;以及将所选择的样本集作为训练数据来训练人物识别模型。

主权利要求:
1.一种基于3D人脸重建的人物识别模型的训练方法,包括:采集人物照片;
对采集到的人物照片进行人脸裁剪;
对裁剪的人脸进行3D重建;
从经3D重建的人脸集中自动选择样本集,所述样本集包括正例样本和负例样本;以及将所选择的样本集作为训练数据来训练人物识别模型,其中从经3D重建的人脸集中自动选择样本集进一步包括:以非监督方式对经3D重建的人脸集应用聚类算法得到多个聚类;以及针对每一个聚类:确定一个参照样本;
在同一聚类中选择最近似的样本作为正例样本;以及在其他聚类中选择最近似的样本作为负例样本。
2.如权利要求1所述的方法,其特征在于,对采集到的人物照片进行人脸裁剪进一步包括:使用多任务卷积神经网络MTCNN来对采集到的照片进行人脸检测并将检测到的人脸从图片中裁剪下来。
3.如权利要求1所述的方法,其特征在于,对裁剪的人脸进行3D重建进一步包括:使用SFM算法来对裁剪后的人脸进行3D重建,并输出点云形式的人脸3D模型。
4.如权利要求1所述的方法,其特征在于,所述人物识别模型基于Siamese网络,并且将所选择的样本集作为训练数据来训练人物识别模型进一步包括:将多组对应的正例样本和负例样本分别输入所述Siamese网络的每一分支;
在两个分支的网络特征进入全连接层之后,使用损失函数contrastiveloss进行损失计算;以及使用梯度优化进行反向传播,以训练出所述人物识别模型。
5.一种基于3D人脸重建的人物识别装置,包括:人物照片采集模块,所述人物照片采集模块被配置成采集人物照片;
人脸裁剪模块,所述人脸裁剪模块被配置成对采集到的人物照片进行人脸裁剪;
3D重建模块,所述3D重建模块被配置成对裁剪的人脸进行3D重建;
样本集选择模块,所述样本集选择模块被配置成从经3D重建的人脸集中自动选择样本集,所述样本集包括正例样本和负例样本;以及人物识别模型,所述人物识别模型使用所选择的样本集作为训练数据来训练,其中从经3D重建的人脸集中自动选择样本集进一步包括:以非监督方式对经3D重建的人脸集应用聚类算法得到多个聚类;以及针对每一个聚类:确定一个参照样本;
在同一聚类中选择最近似的样本作为正例样本;以及在其他聚类中选择最近似的样本作为负例样本。
6.如权利要求5所述的人物识别装置,其特征在于,所述人物识别模型基于Siamese网络,并且使用所选择的样本集作为训练数据来训练所述人物识别模型进一步包括:将多组对应的正例样本和负例样本分别输入所述Siamese网络的每一分支;
在两个分支的网络特征进入全连接层之后,使用损失函数contrastiveloss进行损失计算;以及使用梯度优化进行反向传播,以训练出所述人物识别模型。
7.一种基于3D重建技术的人物识别方法,包括:获取待识别的图片;
对获取的图片进行人脸检测;
响应于检测到人脸,将人脸从图片中剪裁下来并进行3D重建;以及通过经由如权利要求1‑4中任一项所述的方法训练得到的人物识别模型来对经3D重建的人脸与预存人物的人脸3D模型进行比较以进行人物识别。
8.如权利要求7所述的方法,其特征在于,所述待识别的图片来自于IPTV视频。 说明书 : 一种基于3D人脸重建的公众人物识别系统和方法技术领域[0001] 本发明涉及图像处理领域,更具体地,涉及基于3D人脸重建的公众人物识别系统和方法。背景技术[0002] 基于人工智能的人脸检索是一个相对比较成熟的技术,并且已使用在视频公众人物识别场景下有一定的应用,但目前的人脸识别都是基于有监督的AI技术,需要人工对数据进行打标签。[0003] 题为“基于深度学习的人脸检索系统及方法”的中国专利申请(201710032351.4A)提出了一种基于深度学习的人脸检索方法及系统,包含以下步骤:检索模型的训练:使用caffe深度学习框架训练模型,采用梯度下降的方式优化模型参数,得出检索模型;人脸特征的提取:先将训练集中所有人的图片喂到神经网络中,进行前馈过程,保存第一个全连接层和第二个全连接层的输出;人脸注册:充分提取注册者在不同光照,不同姿态下的特征向量和哈希编码;人脸检索:提取出待检索人脸图像的哈希编码和特征向量,然后将其与训练集中的图片进行比对,采用哈希编码粗检索和特征向量细检索相结合的检索方式,经过粗检索和细检索后得到最相似的人脸图像,并输出对应的相似度值。[0004] 题为“一种人脸检索方法和系统”(201710036083.3A)的中国专利申请提出了一种搭建人脸检索的网络构架,对其行优化;根据反向传播的方式调节网络构架中的参数;将各训练样本图片输入调节后的网络构架中生成测试用例;根据sign函数对所述测试用例进行量化计算得到测试用例的二值编码,并通过二值编码计算训练样本图片对之间的汉明距离;根据汉明距离对各训练样本的近似度进行排序,从而完成对人脸检索的网络构架的训练;将待检索人脸图片输入完成训练的人脸检索的网络构架中进行检索,得到近似度排序的待检索人脸图片;[0005] 上述现有技术方案都是基于有监督深度学习技术,训练阶段手动准备人脸训练集,输入到神经网络模型里进行特征提取,与预期结果进行损失函数计算,然后根据结果进行反向梯度传播更新模型;在推理阶段,输入图片到训练好的神经网络模型里进行提取特征,然后和库里的特征进行比对。然而,基于有监督学习的技术有几个问题,首先大量耗费人力,大部分视频里人物众多,如果样本数据太少,会造成泛化能力较弱,检索出现错误,查准率有问题;其次,视频里人物的角度是多方位的,光线也是多样的,这样会造成漏检,查全方面出现问题。[0006] 另一方面,3D重建技术近年来发展迅速,在医疗、教育、消费市场都得以应用,基于单图片的3D重建和基于互联网海量数据的3D重建也都取得了重大成果。题为“一种在规格化三维人脸库中进行人脸检索的方法”的中国专利申请(201410490567.1A)提出了一种在规格化三维人脸库中进行人脸检索的方法,其能够有效模拟人类观察事物与信息处理方式、构建更为高效简单的人脸检索方法与系统。该方法包括步骤:(1)模型归一化:将三维人脸数据经过平滑、去噪、剪切、坐标矫正、对齐的预处理后,得到三维人脸样本作为规格化的三维人脸,依托其所对应的圆柱体包络面定义如下的模型坐标系:该圆柱体的中心轴作为Z轴,穿过鼻尖点并与Z轴垂直的方向作为Y轴,X轴由Y轴与Z轴叉乘得到;(2)以视觉显著性为度量原则进行样本显著区域定义及特征提取;(3)以单特征辨识度为依据进行特征加权叠加,实现多特征融合的人脸间特征的相似性度量,实现人脸检索。然而,该方案偏重于在现有的规格化三维人脸库中的检索,并不能解决基于自动选择,方向上不一致。发明内容[0007] 提供本发明内容以便以简化形式介绍将在以下具体实施方式中进一步的描述一些概念。本发明内容并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。[0008] 为了减少有监督学习人工标注训练集和测试集的大量人力,同时提高IPTV视频场景下查准查全问题,本发明首次使用基于3D重建技术的无监督学习方法,进行IPTV视频场景下公众人物检索训练样本集的采集和选择。[0009] 根据本发明的一个方面,提供了一种基于3D人脸重建的人物识别模型的训练方法,该方法包括:[0010] 采集人物照片;[0011] 对采集到的人物照片进行人脸裁剪;[0012] 对裁剪的人脸进行3D重建;[0013] 从经3D重建的人脸集中自动选择样本集,所述样本集包括正例样本和负例样本;以及[0014] 将所选择的样本集作为训练数据来训练人物识别模型。[0015] 根据本发明的进一步实施例,对采集到的人物照片进行人脸裁剪进一步包括:[0016] 使用多任务卷积神经网络MTCNN来对采集到的照片进行人脸检测并将检测到的人脸从图片中裁剪下来。[0017] 根据本发明的进一步实施例,对裁剪的人脸进行3D重建进一步包括:[0018] 使用SFM算法来对裁剪后的人脸进行3D重建,并输出点云形式的人脸3D模型。[0019] 根据本发明的进一步实施例,从经3D重建的人脸集中自动选择样本集进一步包括:[0020] 以非监督方式对经3D重建的人脸集应用聚类算法得到多个聚类;以及[0021] 针对每一个聚类:[0022] 确定一个参照样本;[0023] 在同一聚类中选择最近似的样本作为正例样本;以及[0024] 在其他聚类中选择最近似的样本作为负例样本。[0025] 根据本发明的进一步实施例,所述人物识别模型基于Siamese网络,并且将所选择的样本集作为训练数据来训练人物识别模型进一步包括:[0026] 将多组对应的正例样本和负例样本分别输入所述Siamese网络的每一分支;[0027] 在两个分支的网络特征进入全连接层之后,使用损失函数contrastiveloss进行损失计算;以及[0028] 使用梯度优化进行反向传播,以训练出所述人脸识别模型。[0029] 根据本发明的另一方面,提供了一种基于3D人脸重建的人物识别系统,该人物识别系统包括:[0030] 人物照片采集模块,所述人物照片采集模块被配置成采集人物照片;[0031] 人脸裁剪模块,所述人脸裁剪模块被配置成对采集到的人物照片进行人脸裁剪;[0032] 3D重建模块,所述3D重建模块被配置成对裁剪的人脸进行3D重建;[0033] 样本集选择模块,所述样本集选择模块被配置出从经3D重建的人脸集中自动选择样本集,所述样本集包括正例样本和负例样本;以及[0034] 人物识别模型,所述人物识别模型使用所选择的样本集作为训练数据来训练。[0035] 根据本发明的进一步实施例,从经3D重建的人脸集中自动选择样本集进一步包括:[0036] 以非监督方式对经3D重建的人脸集应用聚类算法得到多个聚类;以及[0037] 针对每一个聚类:[0038] 确定一个参照样本;[0039] 在同一聚类中选择最近似的样本作为正例样本;以及[0040] 在其他聚类中选择最近似的样本作为负例样本。[0041] 根据本发明的进一步实施例,所述人物识别模型基于Siamese网络,并且使用所选择的样本集作为训练数据来训练所述人物识别模型进一步包括:[0042] 将多组对应的正例样本和负例样本分别输入所述Siamese网络的每一分支;[0043] 在两个分支的网络特征进入全连接层之后,使用损失函数contrastiveloss进行损失计算;以及[0044] 使用梯度优化进行反向传播,以训练出所述人脸识别模型。[0045] 根据本发明的又一方面,提供了一种基于3D重建技术的人物识别方法,该方法包括:[0046] 获取待识别的图片;[0047] 对获取的图片进行人脸检测;[0048] 响应于检测到人脸,将人脸从图片中剪裁下来并进行3D重建;以及[0049] 通过将经3D重建的人脸与预存人物的人脸3D模型进行比较以进行人物识别。[0050] 根据本发明的进一步实施例,将经3D重建的人脸与预存人物的人脸3D模型进行比较进一步包括:将经3D重建的人脸与预存人物的人脸3D模型输入经训练的基于3D人脸重建的人物识别模型,该人物识别模型是通过以下步骤训练的:采集人物照片;对采集到的人物照片进行人脸裁剪;对裁剪的人脸进行3D重建;从经3D重建的人脸集中自动选择样本集,所述样本集包括正例样本和负例样本;以及将所选择的样本集作为训练数据来训练人物识别模型。[0051] 根据本发明的进一步实施例,所述待识别的图片来自于IPTV视频或家庭云相册。[0052] 与现有技术中的方案相比,本发明所提供的至少具有以下优点:[0053] (1)首次使用无监督学习,可以节省大量人力,很轻易获取样本集;[0054] (2)首次使用3D重建技术用于人脸的检测,模型从海量数据里进行训练,准确率高,鲁棒性更强;[0055] (3)本方案可广泛使用于IPTV视频场景下公众人物识别,也可以用在家庭云的人脸分类,也可以用在其他视频图片的检索场景。[0056] 通过阅读下面的详细描述并参考相关联的附图,这些及其他特点和优点将变得显而易见。应该理解,前面的概括说明和下面的详细描述只是说明性的,不会对所要求保护的各方面形成限制。附图说明[0057] 为了能详细地理解本发明的上述特征所用的方式,可以参照各实施例来对以上简要概述的内容进行更具体的描述,其中一些方面在附图中示出。然而应该注意,附图仅示出了本发明的某些典型方面,故不应被认为限定其范围,因为该描述可以允许有其它等同有效的方面。[0058] 图1是根据本发明的一个实施例的人物识别系统的示意结构图。[0059] 图2是根据本发明的一个实施例的训练基于3D重建技术的人物识别模型的方法的示意流程图。[0060] 图3示出了用SFM算法来进行3D重建的示意过程。[0061] 图4示出了根据本发明的一个实施例的人物识别模型的示例架构。[0062] 图5示出了典型VGG19网络的示意模型图。[0063] 图6是根据本发明的一个实施例的基于3D重建技术的人物识别方法的流程图。具体实施方式[0064] 下面结合附图详细描述本发明,本发明的特点将在以下的具体描述中得到进一步的显现。[0065] 图1是根据本发明的一个实施例的人物识别系统100的示意结构图。如图1中所示,系统100可包括人物照片采集模块102、人脸裁剪模块104、3D重建模块106、样本集选择模块108、以及人物识别模型110。[0066] 人物照片采集模块102可被配置成从互联网下载人物照片,或者从电影、电视、综艺节目等视频里剪辑人物照片。可以理解,此处的“人物”可以是任何人,包括但不限于演员、明星等公众人物。[0067] 人脸裁剪模块104可被配置成使用诸如MTCNN(Multi‑taskconvolutionalneuralnetwork,多任务卷积神经网络)模型之类的各种合适的人脸裁剪模型/工具来对采集到的照片进行人脸检测并裁剪。在一个示例中,这一人脸裁剪环节不需要使用MTCNN模型中的人脸对齐功能,因为后续要做3D重建,人脸的角度不能发生变化。[0068] 3D重建模块106可被配置成基于诸如SFM(Structure‑from‑Motion)之类的3D重建技术对裁剪后的人脸进行3D重建,最终输出点云形式的人脸3D模型。[0069] 样本集选择模块108可被配置成根据3D重建的结果,对要进入人物识别模型110的训练集和测试集进行选择。在一个示例中,选择的样本集包括正例和负例样本。[0070] 人物识别模型110可使用样本集选择模块108所选择的样本集来训练。例如,在一个示例中,人物识别模型110可以是Siamese网络。样本集中的正例和负例可作为输入,传统的CNN网络可作为基础架构(比如VGG、Res等),contrastive作为损失函数,由此构建Siamese网络。该模型的训练过程将结合图2作进一步详细描述。经训练的人脸识别模型可通过给出两张图片中人脸的相似性推断结果。[0071] 图2是根据本发明的一个实施例的训练基于3D重建技术的人物识别模型的方法200的示意流程图。[0072] 方法200开始于步骤202,采集人物照片。在一个示例中,可以通过爬虫从互联网爬取大量公众人物照片,也可以从电影、电视剧、综艺节目等视频中剪辑人物照片。优选地,人物的照片可尽可能包括大量角度各异、光线各异、远近各异的样本。[0073] 在步骤204,对采集到的人物照片进行人脸裁剪。作为一个示例,人脸裁剪可使用诸如MTCNN模型之类的人脸裁剪工具来进行。MTCNN是一种经典的深度学习人脸检测网络,将人脸区域检测与人脸关键点检测放在了一起,其可以端到端地执行回归操作,并且可以精确定位到人脸的位置。MTCNN模型主要采用了三个级联的网络,采用候选框加分类器的思想,进行快速高效的人脸检测。这三个级联的网络分别是快速生成候选窗口的P‑Net、进行高精度候选窗口过滤选择的R‑Net和生成最终边界框与人脸关键点的O‑Net。通过使用MTCNN可对采集到的照片进行人脸检测,随后对检测到的人脸执行裁剪操作,将人脸裁剪下来并保存,形成人脸集或人脸库。[0074] 在步骤206,对裁剪的人脸进行3D重建。作为一个示例,可对人脸集或人脸库里的人脸执行SFM操作。SFM(Structure‑from‑Motion)是一种常见的三维重建方法,它通过一组照片来确定目标的空间和几何关系,最终输出三维点云。图3示出了用SFM算法来进行3D重建的示意过程。首先,进行特征点提取,这一步骤一般可使用Sift(scale‑invariant‑featuretransform)或者Surf等特征提取算法。随后,进行特征点匹配,这一步骤可使用KNN(K‑NearestNeighbor)算法来进行分类匹配。在随后的基础矩阵估计步骤中,可使用5点法或者8点法,进行多次迭代以找到比较好的匹配点。随后进行本质矩阵分解,得到图片的旋转平移矩阵。最后,通过三角法来进行三维点云计算,最终输出人脸的三维点云。[0075] 在步骤208,选择样本集。为了防止样本的不均衡,造成过拟合,针对人物的参照样本可选择一个或多个正例样本以及一个或多个负例样本。例如,可为每张参照样本选择1个正例样本和5个负例样本。作为一个示例,参照样本可以是基于对3D重建人脸的聚类来自动确定的。更具体地,在前一步骤中对人脸集或人脸库里的人脸进行了3D重建而得到经3D重建的人脸集,对经3D重建的人脸集可应用机器学习方式来进行聚类。优选地,可通过非监督方式的方式来进行聚类,从而可以得到对应于多个人物的多个聚类,每个聚类中可具有一个或多个3D重建人脸。在聚类的基础上,可为每一聚类确定一个样本作为参照样本,例如可以从该聚类下的一组样本中随机选择一个作为参照样本。随后,正例样本和负例样本可同样基于3D重建模型自动寻找,例如可在统一聚类下选择最近似(例如3D观察点重合最多)的样本作为正例样本,同时选择可用特征最为近似、而又不属于同一聚类的样本作为负例样本。被选择作为正例和负例的样本可被相应地进行标记或添加标签,例如与参照样本相似的正例样本的标签(假设记为标签y)的值可被标记为1,与参照样本不相似的负例样本的标签的值可被标记为0。[0076] 在步骤210,将所选择的样本集作为训练数据输入到人物识别模型进行训练。作为示例,本发明的人物识别模型基于Siamese网络(又称孪生网络)。图4示出了根据本发明的一个实施例的人物识别模型的示例架构。如图4中所示,Siamese网络由两个分支组成,每个分支对输入的样本进行相同的处理,以分别得到各自的处理结果,称为样本特征。若这两个样本是相似的,则其样本特征的欧氏距离应该十分接近,反之,则推断这两个样本不相似。根据本发明的一个实施例,Siamese网络可选用VGG19或者Res50、Res101作为基础架构。图5示出了一种典型的VGG19网络的示意模型图。一般的VGG19网络可包括卷积层、最大池化层,最后接多个全连接层以及Softmax分类器。根据本发明的一个示例,如之前提到的,两个Siamese分支共用一个参数,共同训练。回到图4,与典型的VGG19网络不同,本发明可只采用一个简单的全连接层。在该示例中,一组正例样本和负例样本被分别提供给Siamese的一个分支。当两个分支的网络特征各自进入全连接层后,使用损失函数contrastiveloss进行损失计算,其中损失函数contrastiveloss的示例表达式如下:[0077][0078] 其中d=||an‑bn||2,代表两个样本特征an和bn的欧氏距离,y为两个样本是否匹配的标签,y=1代表两个样本相似或者匹配,y=0则代表不匹配,margin为设定的阈值。然后,使用梯度优化进行反向传播,最终训练出人脸识别模型供推理使用。[0079] 图6是根据本发明的一个实施例的基于3D重建技术的人物识别方法的流程图。[0080] 方法开始于步骤602,获取待识别的图片。如之前提到的,图片可以是静态图片,也可以剪辑自电影、电视、综艺节目等视频内容。[0081] 随后,在步骤604,对获取的图片进行人脸检测。作为一个示例,人脸检测可使用MTCNN技术来进行。[0082] 在步骤606,响应于检测到人脸,将人脸从图片中剪裁下来并进行3D重建。如之前所描述的,经过3D重建后可得到点云形式的人脸3D模型。[0083] 在步骤608,通过将经3D重建的人脸与预存人物的人脸3D模型进行比较来进行人物识别。以针对公众人物的识别为例,可预先对公众人物的图片进行3D重建,并存储在人物库中。根据本发明的一个实施例,每一位公众人物可拥有多幅供比对的参照图片及相应的3D人脸模型。优选地,可为每一位公众人物选择多幅角度各异、光线各异、远近各异的样本来构建3D重建模型。随后,可将当前检测到的人脸的3D重建模型与人物库中的每一位人物的预设人脸3D模型分别配对输入到经训练的人脸识别模型中,例如上文中结合图1和图2描述的基于3D人脸重建和Siamese网络的识别模型。若模型给出两张图片为相似图片的输出结果,则将该图片中的人物标识为该匹配的公众人物。可以理解,本方法不仅可用于在IPTV视频场景下实现公众人物的检索和识别,还能够应用于诸如家庭云相册场景中用于识别各相片中出现的家庭成员等任何其他合适的场景中。[0084] 以上所已经描述的内容包括所要求保护主题的各方面的示例。当然,出于描绘所要求保护主题的目的而描述每一个可以想到的组件或方法的组合是不可能的,但本领域内的普通技术人员应该认识到,所要求保护主题的许多进一步的组合和排列都是可能的。从而,所公开的主题旨在涵盖落入所附权利要求书的精神和范围内的所有这样的变更、修改和变化。

专利地区:上海

专利申请日期:2020-11-25

专利公开日期:2024-07-26

专利公告号:CN113705288B


以上信息来自国家知识产权局,如信息有误请联系我方更正!
电话咨询
读内容
搜本页
回顶部