CN117830507A - 一种图像重建方法、系统及设备 - Google Patents
一种图像重建方法、系统及设备 Download PDFInfo
- Publication number
- CN117830507A CN117830507A CN202211194368.7A CN202211194368A CN117830507A CN 117830507 A CN117830507 A CN 117830507A CN 202211194368 A CN202211194368 A CN 202211194368A CN 117830507 A CN117830507 A CN 117830507A
- Authority
- CN
- China
- Prior art keywords
- dimensional
- human body
- target
- initial
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 106
- 238000005070 sampling Methods 0.000 claims abstract description 83
- 230000000007 visual effect Effects 0.000 claims abstract description 58
- 239000011159 matrix material Substances 0.000 claims description 49
- 238000010276 construction Methods 0.000 claims description 48
- 238000000605 extraction Methods 0.000 claims description 45
- 238000013519 translation Methods 0.000 claims description 31
- 238000003860 storage Methods 0.000 claims description 15
- 239000000758 substrate Substances 0.000 claims 3
- 230000008569 process Effects 0.000 description 59
- 230000006870 function Effects 0.000 description 54
- 238000010586 diagram Methods 0.000 description 19
- 238000013135 deep learning Methods 0.000 description 18
- 238000012549 training Methods 0.000 description 18
- 230000000877 morphologic effect Effects 0.000 description 17
- 238000012545 processing Methods 0.000 description 13
- 238000004422 calculation algorithm Methods 0.000 description 12
- 238000013507 mapping Methods 0.000 description 9
- 230000002159 abnormal effect Effects 0.000 description 8
- 239000013598 vector Substances 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 230000004927 fusion Effects 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 210000003484 anatomy Anatomy 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000002372 labelling Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 238000012804 iterative process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000000513 principal component analysis Methods 0.000 description 2
- 208000003028 Stuttering Diseases 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Landscapes
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本申请提供一种图像重建方法、系统及设备,该方法包括:获取K个视角的原始二维图像,确定每个原始二维图像对应的目标二维特征;基于所有目标二维特征生成初始三维特征;从初始三维特征中提取出目标三维特征;基于目标三维特征和初始人体参数生成候选人体参数;判断是否满足重建条件,若否,则基于候选人体参数生成候选人体模型,从初始三维特征中选取候选人体模型中目标采样点对应的特征值,基于目标采样点对应的特征值生成目标三维特征,将候选人体参数替换为初始人体参数,返回执行基于所述目标三维特征和初始人体参数生成候选人体参数;若是,基于候选人体参数生成目标人体对应的三维重建图像。通过本申请技术方案,可以得到精确人体模型。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种图像重建方法、系统及设备。
背景技术
三维重建是对三维物体建立适合计算机表示和处理的数学模型,是在计算机环境下进行处理、操作和分析的基础,也是在计算机中建立表达客观世界的虚拟现实的关键技术。三维重建是根据单视图或者多视图的图像重建三维信息的过程,是利用二维投影恢复物体三维信息(如形状等)的数学过程和计算机技术,包括图像获取、摄像机标定、特征提取、立体匹配、三维重建等过程。在图像获取过程中,使用摄像机获取三维物体的二维图像。在摄像机标定过程中,标定摄像机的内参数和外参数。在特征提取过程中,采用基于方向导数的方法、基于图像亮度对比关系的方法、基于数学形态学的方法等算法,从二维图像中提取出特征点的特征。在立体匹配过程中,根据特征点的特征建立图像对之间的对应关系,结合摄像机的内参数和外参数,以重建出三维图像。但是,在采用上述方式重建出三维图像时,三维图像的重建精度低,三维图像的误差大,无法得到比较精确的三维图像。尤其是,在针对人体重建出三维图像时,无法得到针对人体的精确三维模型,无法输出精确的人体模型。
发明内容
本申请提供一种图像重建方法,所述方法包括:
获取K个视角的原始二维图像,K为正整数,每个原始二维图像均包括目标人体,确定每个原始二维图像对应的目标二维特征;
基于所有目标二维特征生成初始三维特征;
从所述初始三维特征中提取出目标三维特征;
基于所述目标三维特征和初始人体参数生成候选人体参数;
判断是否满足重建条件;若未满足重建条件,则基于候选人体参数生成候选人体模型,从所述初始三维特征中选取候选人体模型中目标采样点对应的特征值,基于目标采样点对应的特征值生成目标三维特征,将候选人体参数替换为初始人体参数,并返回执行基于所述目标三维特征和初始人体参数生成候选人体参数的操作;
若已满足重建条件,基于候选人体参数生成目标人体对应的三维重建图像。
本申请提供一种电子设备,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现本申请上述公开的图像重建方法。
本申请提供一种图像重建系统,所述图像重建系统包括服务器和K个摄像机,K为正整数,不同摄像机对应的视角不同,其中:
针对每个摄像机,用于采集与该摄像机对应的视角对应的原始二维图像,并将该视角对应的原始二维图像发送给所述服务器;
所述服务器,用于从所述K个摄像机获取K个视角的原始二维图像,每个原始二维图像均包括目标人体,确定每个原始二维图像对应的目标二维特征;基于所有目标二维特征生成初始三维特征;从所述初始三维特征中提取出目标三维特征;基于所述目标三维特征和初始人体参数生成候选人体参数;判断是否满足重建条件;若未满足重建条件,则基于候选人体参数生成候选人体模型,从所述初始三维特征中选取候选人体模型中目标采样点对应的特征值,基于目标采样点对应的特征值生成目标三维特征,将候选人体参数替换为初始人体参数,并返回执行基于所述目标三维特征和初始人体参数生成候选人体参数的操作;若已满足重建条件,基于候选人体参数生成目标人体对应的三维重建图像。
由以上技术方案可见,本申请实施例中,基于K个视角的原始二维图像重建出目标人体的三维图像,三维图像的重建精度高,三维图像的误差小,能够得到比较精确的三维图像。尤其是,在针对人体重建出三维图像时,可以得到针对人体的精确三维模型,输出精确的人体模型。在相同硬件条件的情况下,提升三维图像的重建精度,大幅减少显存资源的占用,减少三维图像的重建时间,充分利用K个视角的三维信息,对视角的泛化性更强,具有较强鲁棒性。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
图1是本申请一种实施方式中的图像重建方法的流程示意图;
图2A是本申请一种实施方式中的IUV图的示意图;
图2B是本申请一种实施方式中的TSDF的简化示意图;
图3A-图3D是本申请一种实施方式中的初始网络模型的示意图;
图4是本申请一种实施方式中的获取人体参数标签的示意图;
图5A和图5B是本申请一种实施方式中的SMPL人体模型的示意图;
图6是本申请一种实施方式中的IUV辅助子网络的效果示意图;
图7是本申请一种实施方式中的图像重建装置的结构示意图;
图8是本申请一种实施方式中的电子设备的硬件结构图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例中提出一种图像重建方法,参见图1所示,该方法可以包括:
步骤101、获取K个视角的原始二维图像,K为正整数,每个原始二维图像均包括目标人体,确定每个原始二维图像对应的目标二维特征。
示例性的,针对每个原始二维图像来说,可以提取该原始二维图像的图像特征,将该图像特征记为目标二维特征,关于目标二维特征的提取方式,本实施例中不做限制,只要目标二维特征能够反映原始二维图像的二维信息即可。
比如说,可以采用深度学习网络来提取每个原始二维图像对应的目标二维特征,深度学习网络可以是一个特征提取网络,将原始二维图像输入给特征提取网络,由特征提取网络输出原始二维图像对应的目标二维特征。深度学习网络也可以由两个子网络组成,将原始二维图像输入给第一个子网络,由第一个子网络对原始二维图像进行处理,并将处理结果输入给第二个子网络,由第二个子网络输出原始二维图像对应的目标二维特征。当然,在实际应用中,深度学习网络也可以由三个子网络、或者更多子网络组成,对此不做限制。
在一种可能的实施方式中,可以预先训练目标网络模型,已训练的目标网络模型可以包括目标特征提取子网络和目标解码器子网络。在此基础上,针对每个原始二维图像,可以将该原始二维图像输入给目标特征提取子网络,得到该原始二维图像对应的二维特征图,并将该二维特征图输入给目标解码器子网络,得到该原始二维图像对应的目标二维特征。显然,在将每个原始二维图像输入给目标特征提取子网络之后,就可以得到每个原始二维图像对应的目标二维特征。
步骤102、基于所有目标二维特征生成初始三维特征;其中,针对初始三维特征中的每个三维特征点,确定每个目标二维特征中与该三维特征点对应的二维特征点,基于二维特征点的特征值确定该三维特征点的特征值。
示例性的,在得到每个原始二维图像对应的目标二维特征之后,可以基于所有原始二维图像对应的目标二维特征生成初始三维特征。比如说,假设K为3,即存在3个目标二维特征,分别记为目标二维特征T1、目标二维特征T2和目标二维特征T3,针对初始三维特征中的每个三维特征点(以三维特征点A为例),可以确定目标二维特征T1中与三维特征点A对应的二维特征点B1,确定目标二维特征T2中与三维特征点A对应的二维特征点B2,并确定目标二维特征T3中与三维特征点A对应的二维特征点B3。在此基础上,可以基于二维特征点B1的特征值、二维特征点B2的特征值和二维特征点B3的特征值确定出三维特征点A的特征值。进一步的,在得到初始三维特征中的每个三维特征点的特征值之后,就可以将所有三维特征点的特征值组成初始三维特征。
关于初始三维特征的获取方式,本实施例中不做限制,只要能够基于所有目标二维特征生成初始三维特征即可,即初始三维特征能够反映所有目标二维特征的信息。比如说,可以采用深度学习网络来获取初始三维特征。
在一种可能的实施方式中,可以基于所有目标二维特征生成初始三维特征,在基于所有目标二维特征生成初始三维特征的过程中,针对初始三维特征中的每个三维特征点,基于已标定的内参矩阵和外参矩阵,确定每个目标二维特征中与该三维特征点对应的二维特征点,基于该三维特征点对应的所有二维特征点的特征值确定该三维特征点的特征值。
步骤103、从初始三维特征中提取出目标三维特征。
示例性的,在得到初始三维特征之后,可以从该初始三维特征中提取出目标三维特征,关于目标三维特征的获取方式,本实施例中不做限制。比如说,可以采用深度学习网络将初始三维特征转换成目标三维特征。
在一种可能的实施方式中,可以预先训练目标网络模型,已训练的目标网络模型可以包括目标编码器子网络。在此基础上,可以将初始三维特征输入给目标编码器子网络,得到编码三维特征(将目标编码器子网络输出的特征记为编码三维特征);对编码三维特征进行下采样操作,得到目标三维特征。
步骤104、基于目标三维特征和初始人体参数生成候选人体参数。
示例性的,在得到目标三维特征之后,可以基于目标三维特征和初始人体参数生成候选人体参数,比如说,可以基于目标三维特征对初始人体参数进行优化,得到优化后的候选人体参数,对此优化方式不做限制,只要候选人体参数能够对应目标三维特征的特性即可,即目标三维特征是针对目标人体的三维重建特征,候选人体参数是能够反映目标人体的三维重建特征的参数。比如说,基于目标三维特征,可以采用深度学习网络征对初始人体参数进行优化。
在一种可能的实施方式中,可以预先训练目标网络模型,已训练的目标网络模型可以包括目标人体构建子网络。在此基础上,可以将目标三维特征和初始人体参数输入给目标人体构建子网络,得到与初始人体参数对应的人体参数偏移量;基于人体参数偏移量和初始人体参数生成候选人体参数。
步骤105、判断是否满足重建条件。若否,即未满足重建条件,则可以执行步骤106。若是,即已满足重建条件,则可以执行步骤107。
步骤106、基于候选人体参数生成候选人体模型,从初始三维特征中选取候选人体模型中目标采样点对应的特征值,基于目标采样点对应的特征值生成目标三维特征,将候选人体参数替换为初始人体参数,并返回执行基于目标三维特征和初始人体参数生成候选人体参数的操作,即返回步骤104。
步骤107、基于候选人体参数生成目标人体对应的三维重建图像。
示例性的,重建条件可以是迭代次数,也可以是迭代时长,对此重建条件不做限制,可以根据经验配置,后续以迭代次数为例,如迭代次数为3。其中,步骤106的重复次数可以为迭代次数,即每次生成候选人体模型时,就将迭代次数加1。
比如说,基于初始三维特征,可以对初始三维特征对应的编码三维特征进行下采样操作,得到目标三维特征C0,并获取预先配置的初始人体参数D0,基于目标三维特征C0和初始人体参数D0生成候选人体参数E0(参见步骤104)。
在第一次迭代过程:基于候选人体参数E0生成候选人体模型F0,从初始三维特征中选取候选人体模型F0中目标采样点(候选人体模型F0包括大量采样点,目标采样点可以是所有采样点中的部分采样点)对应的特征值,基于目标采样点对应的特征值生成目标三维特征C1,将候选人体参数E0替换为初始人体参数D1,并基于目标三维特征C1和初始人体参数D1生成候选人体参数E1。
在第二次迭代过程:基于候选人体参数E1生成候选人体模型F1,从初始三维特征中选取候选人体模型F1中目标采样点对应的特征值,基于目标采样点对应的特征值生成目标三维特征C2,将候选人体参数E1替换为初始人体参数D2,并基于目标三维特征C2和初始人体参数D2生成候选人体参数E2。
在第三次迭代过程:基于候选人体参数E2生成候选人体模型F2,从初始三维特征中选取候选人体模型F2中目标采样点对应的特征值,基于目标采样点对应的特征值生成目标三维特征C3,将候选人体参数E2替换为初始人体参数D3,并基于目标三维特征C3和初始人体参数D3生成候选人体参数E3。
在第三次迭代过程结束之后,满足重建条件,可以基于候选人体参数E3生成目标人体对应的三维重建图像,至此,完成图像重建过程。
在一种可能的实施方式中,可以预先训练目标网络模型,即对初始网络模型进行训练,得到已训练的目标网络模型,关于目标网络模型的训练过程,可以采用如下方式:获取K个视角的样本二维图像,每个样本二维图像均包括样本人体;获取K个视角的样本二维图像对应的人体参数标签;将K个视角的样本二维图像输入给初始网络模型,得到样本人体参数;其中,样本人体参数用于生成样本人体对应的三维重建图像;基于样本人体参数和人体参数标签确定第一损失值;基于第一损失值确定目标损失值,基于目标损失值对初始网络模型的网络参数进行调整,基于调整后网络模型确定目标网络模型。
示例性的,初始网络模型可以包括但不限于初始特征提取子网络、初始解码器子网络、初始编码器子网络、初始人体构建子网络中的至少一个,如初始网络模型可以包括初始特征提取子网络、初始人体构建子网络,或者,初始网络模型可以包括初始特征提取子网络、初始解码器子网络、初始编码器子网络、初始人体构建子网络。
示例性的,将K个视角的样本二维图像输入给初始网络模型,得到样本人体参数,可以包括但不限于:将每个样本二维图像输入给初始特征提取子网络,得到每个样本二维图像对应的二维特征图;将每个二维特征图输入给初始解码器子网络,得到每个样本二维图像对应的目标二维特征;基于所有目标二维特征确定初始三维特征;将初始三维特征输入给初始编码器子网络,得到编码三维特征;对编码三维特征进行下采样操作,得到目标三维特征;将目标三维特征和初始人体参数输入给初始人体构建子网络,得到候选人体参数;判断是否满足重建条件;若未满足重建条件,则基于候选人体参数生成候选人体模型,从初始三维特征中选取候选人体模型中目标采样点对应的特征值,基于目标采样点对应的特征值生成目标三维特征,将候选人体参数替换为初始人体参数,并返回执行将目标三维特征和初始人体参数输入给初始人体构建子网络的操作;若已满足重建条件,则将候选人体参数确定为样本人体参数。
示例性的,还可以获取每个样本二维图像对应的IUV标签信息,针对样本二维图像中每个像素,IUV标签信息包括该像素属于背景或者前景的标注、该像素属于的人体部位标识、该像素在该人体部位上的水平坐标和垂直坐标。初始网络模型还可以包括IUV辅助子网络,在得到每个样本二维图像对应的二维特征图后,将每个二维特征图输入给IUV辅助子网络,得到每个样本二维图像对应的IUV预测信息;针对样本二维图像中每个像素,IUV预测信息包括该像素属于背景或者前景的标注、该像素属于的人体部位标识、该像素在该人体部位上的水平坐标和垂直坐标。基于第一损失值确定目标损失值,可以包括但不限于:基于每个样本二维图像对应的IUV预测信息和每个样本二维图像对应的IUV标签信息确定第二损失值,基于第一损失值和第二损失值确定目标损失值。
示例性的,还可以获取K个视角的样本二维图像对应的TSDF标签信息;TSDF标签信息可以包括三维特征体标签,该三维特征体标签中每一个体素,用于描述该体素到三维空间内表面的距离。初始网络模型还可以包括TSDF辅助子网络,在得到目标三维特征之后,将目标三维特征输入给TSDF辅助子网络,得到目标三维特征对应的TSDF预测信息,TSDF预测信息可以包括预测三维特征体。基于第一损失值确定目标损失值,可以包括但不限于:基于TSDF预测信息和TSDF标签信息确定第三损失值;基于第一损失值和第三损失值确定目标损失值;或,基于第一损失值、第二损失值和第三损失值确定目标损失值。
示例性的,获取K个视角的样本二维图像对应的人体参数标签,可以包括但不限于:基于相机参数和K个视角的样本深度图像确定世界坐标系下的三维点云信息,将三维点云信息投影到二维平面得到二维坐标点集合;其中,K个视角的样本深度图像与K个视角的样本二维图像一一对应;基于初始SMPL参数确定SMPL人体模型;基于SMPL人体模型中坐标点与三维点云信息中点云点之间的距离确定第一惩罚值;基于SMPL人体模型中坐标点与二维坐标点集合中坐标点之间的距离确定第二惩罚值;基于第一惩罚值和第二惩罚值确定目标惩罚值;若基于目标惩罚值确定初始SMPL参数已满足收敛条件,则基于初始SMPL参数确定人体参数标签;若基于目标惩罚值确定初始SMPL参数未满足收敛条件,则对初始SMPL参数进行调整,将调整后SMPL参数替换为初始SMPL参数,返回执行基于初始SMPL参数确定SMPL人体模型的操作。
示例性的,初始SMPL参数可以包括初始姿态参数、初始形态参数和初始全局平移量;还可以基于该初始姿态参数确定第三惩罚值;基于该初始姿态参数确定第四惩罚值;基于该初始形态参数确定第五惩罚值;其中,该第三惩罚值是针对异常姿态的惩罚值,该第四惩罚值是针对非自然姿态的惩罚值,该第五惩罚值是针对非自然形态的惩罚值。在此基础上,基于第一惩罚值和第二惩罚值确定目标惩罚值,可以包括但不限于:基于该第一惩罚值、该第二惩罚值、该第三惩罚值、该第四惩罚值以及该第五惩罚值确定目标惩罚值。
由以上技术方案可见,本申请实施例中,基于K个视角的原始二维图像重建出目标人体的三维图像,三维图像的重建精度高,三维图像的误差小,能够得到比较精确的三维图像。尤其是,在针对人体重建出三维图像时,可以得到针对人体的精确三维模型,输出精确的人体模型。在相同硬件条件的情况下,提升三维图像的重建精度,大幅减少显存资源的占用,减少三维图像的重建时间,充分利用K个视角的三维信息,对视角的泛化性更强,具有较强鲁棒性。
以下结合具体应用场景,对本申请实施例的图像重建方法进行说明。
本申请实施例中提出一种基于多视角RGB图像的人体三维重建方法,可以基于多个视角的RGB图像重建出目标人体的三维图像,可以得到针对目标人体的精确三维模型,输出精确的人体模型,提升三维图像的重建精度。
在介绍本申请实施例的技术方案之前,先介绍与本申请有关的技术术语。
SMPL(Skinned Multi Person Linear,带皮肤的多人线性)模型。SMPL模型能够将复杂人体模型的建模简化为若干参数,这些参数用于描述从初始人体模型模板(如平均人T字形站立)转换到当前人体姿态(如什么样的造型)的特征和当前人体形态(如高矮胖瘦)的特征。比如说,SMPL模型使用85个参数来描述对应的人体模型,该人体模型可以使用6890个表面点来记录。
在85个参数中,SMPL模型定义了24个人体骨架点的树结构,根节点为整体人体在虚拟世界坐标系下的旋转,每个骨架点用3维向量表述其相对于父节点的旋转角度,一共72个参数,这72个参数可以称为姿态参数。SMPL模型定义了10个形态参数,即通过主成分分析(Principal Component Analysis)得到的10个能够描述人体绝大部分形态信息的主成分参数。SMPL模型定义3个平移参数,也称为全局平移量,这3个全局平移量用于描述人体在虚拟世界坐标系下相对于原点的位移。综上所述,SMPL模型一共定义了85个参数,这些参数通过已知的一个与表面点构成的权重去影响调节人体的表面点。
逆投影。逆投影为三维点投影到二维图像平面的逆过程,即通过相机标定得到的已知相机内参的逆矩阵,将二维图像上的点投影到相机坐标系下的三维点,再用描述相机在世界坐标系下位置的外参矩阵的逆,将相机坐标系下的三维点转换到世界坐标系下的三维点。其中,逆投影过程通常可以应用在三维重建过程中,能够将多视角的深度图投影整合得到三维场景的点云。
编码器(Encoder)和解码器(Decoder)。编码器和解码器为常用的深度学习网络,编码器能够从面积较大的图输入的低维信息中,提取到面积较小的特征图的高维信息,或者,编码器能够从体积较大的体输入的低维信息中,提取到体积较小的特征图的高维信息,编码器用于得到粗略的全局信息。解码器与编码器相反,用于得到精细化的局部信息,从而获得更准确的预测。
MAF(Mesh Alignment Feedback Loop,网格物体对齐反馈循环)。MAF为深度学习网络,能够在单视角RGB图像上使用弱投影构成三维人体在世界空间内的粗略位置,基于三维人体构建多层级的对于人体模型范围内特征的注意力机制,基于三维人体投影构建多层级的SMPL参数监督,从而大幅提升深度学习网络在SMPL人体姿态形态上的性能,尤其是肢体末端,如手,脚的性能。
IUV图(I表示人体的具体位置,如头部、手部等,UV表示对应的贴图坐标,即贴图上哪一点贴到对应位置)。参见图2A所示,为IUV图的示意图,IUV图记录了每一个像素所在人体部位的ID(标识),以及在该部位的UV图上的二维位置。左侧为25个人体部位,右侧为各部位的UV图上的二维位置。
TSDF(Truncated Signed Distance Function,截断符号距离函数)。TSDF为一个三维立体,每一个体素(对应二维平面中的像素)用于描述该体素到三维空间内表面的距离,零值面为物体表面。参见图2B所示,为TSDF在二维平面上的简化示意图,为了便于理解,零值面可以对应物体轮廓(人脸)。
相机标定。可以预先标定相机参数,相机参数可以包括相机内参和相机外参。本实施例中,涉及K个摄像机,K个摄像机用于采集K个视角的RGB图像(即原始二维图像),因此,需要标定K个摄像机对应的相机参数。
比如说,制作使用普通棋盘格的金属标定板,通过摄像机采用多帧(如9帧)尽可能覆盖整个视角的棋盘格图像,使用标定算法得到摄像机与摄像机之间的相对位置、各摄像机的内参和畸变参数。内参用于描述摄像机的焦距(透镜和焦点之间的距离)、主点信息(成像主轴与图片平面的焦点),畸变参数用于描述摄像机由于镜片曲度等造成的图像形变。通过焦距、主点信息和畸变参数计算得到各个摄像机最终的成像矩阵,即内参矩阵,这个内参矩阵记为相机内参。设定世界坐标系的坐标原点,对于各个摄像机之间的相对位置,可以转换得到世界坐标系下的相机位置,即外参矩阵,这个外参矩阵记为相机外参。
本申请实施例中,可以涉及目标网络模型的训练过程和图像重建过程,在目标网络模型的训练过程中,可以训练得到一个目标网络模型,在图像重建过程中,可以基于目标网络模型实现图像重建,得到目标人体对应的三维重建图像。以下对目标网络模型的训练过程和图像重建过程进行详细说明。
示例性的,针对目标网络模型的训练过程,可以包括以下步骤:
步骤S11、获取初始网络模型。在一种可能的实施方式中,参见图3A所示,初始网络模型可以包括初始特征提取子网络、初始解码器子网络、初始编码器子网络、初始人体构建子网络。在另一种可能的实施方式中,参见图3B所示,初始网络模型可以包括初始特征提取子网络、初始解码器子网络、初始编码器子网络、初始人体构建子网络、IUV辅助子网络。在另一种可能的实施方式中,参见图3C所示,初始网络模型可以包括初始特征提取子网络、初始解码器子网络、初始编码器子网络、初始人体构建子网络、TSDF辅助子网络。在另一种可能的实施方式中,参见图3D所示,初始网络模型可以包括初始特征提取子网络、初始解码器子网络、初始编码器子网络、初始人体构建子网络、IUV辅助子网络、TSDF辅助子网络。当然,上述只是初始网络模型的几个示例,对此不做限制。
示例性的,针对初始网络模型中的各子网络,可以是基于深度学习算法(如基于神经网络)的子网络,也可以是基于其它机器学习算法的子网络,对此不做限制,关于各子网络的功能,可以参见后续实施例,在此不再赘述。
步骤S12、获取K个视角的样本二维图像,每个样本二维图像均可以包括样本人体,K可以为正整数,如K可以为大于1的正整数。
比如说,在某个用户移动到目标场景后,目标场景部署的K个摄像机均可以采集针对该用户的RGB图像,这些RGB图像的采集时刻相同。K个摄像机用于采集目标场景的不同视角下的RGB图像,因此,K个摄像机可以采集到K个视角的RGB图像,如视角1下的RGB图像、视角2下的RGB图像、…,将这些RGB图像称为样本二维图像,将样本二维图像中的用户称为样本人体。
步骤S13、获取K个视角的样本二维图像对应的人体参数标签。
示例性的,针对目标场景下的用户,需要给出该用户的人体参数标签,即K个视角的样本二维图像对应的人体参数标签,通过人体参数标签反映用户的姿态特征和形态特征。比如说,人体参数标签可以为SMPL模型的人体参数,如SMPL模型的85个参数,这85个参数包括72个姿态参数、10个形态参数和3个平移参数(全局平移量),这些参数用于描述目标场景下的用户的当前人体姿态(如什么样的造型)的特征和当前人体形态(如高矮胖瘦)的特征。
在一种可能的实施方式中,为了获取人体参数标签,可以在目标场景部署K个视角的摄像机(RGB相机)和K个视角的深度相机,且已标定K个视角的摄像机对应的相机参数(相机内参和相机外参),并标定K个视角的深度相机对应的相机参数(相机内参和相机外参)。K个视角的摄像机用于采集K个视角的样本二维图像(步骤S12),K个视角的深度相机用于采集K个视角的样本深度图像,K个视角的样本深度图像与K个视角的样本二维图像一一对应。
比如说,K个视角分别为视角1和视角2,视角1的摄像机用于采集视角1的样本二维图像,视角1的深度相机用于采集视角1的样本深度图像,该样本二维图像和该样本深度图像的视角相同,且采集时刻相同,图像内样本人体的姿态和形态也相同。视角2的摄像机用于采集视角2的样本二维图像,视角2的深度相机用于采集视角2的样本深度图像,该样本二维图像和该样本深度图像的视角相同,且采集时刻相同,图像内样本人体的姿态和形态也相同。
参见图4所示,为获取人体参数标签的示意图,在已知K个视角的样本二维图像和K个视角的摄像机对应的相机参数、K个视角的样本深度图像和K个视角的深度相机对应的相机参数的基础上,可以采用多视角融合算法确定人体参数标签。在多视角融合算法中,可以设定第一惩罚值、第二惩罚值、第三惩罚值、第四惩罚值和第五惩罚值,基于这5个惩罚值就可以确定人体参数标签。其中,第一惩罚值是SMPL参数到深度点云的惩罚值,第二惩罚值是SMPL参数到深度图二维重投影的惩罚值,第三惩罚值是针对异常姿态的惩罚值,第四惩罚值是针对非自然姿态的惩罚值,第五惩罚值是针对非自然形态的惩罚值。
比如说,在多视角融合算法中,可以采用如下步骤获取人体参数标签:
步骤S131、基于相机参数(即K个视角的深度相机对应的相机参数)和K个视角的样本深度图像确定世界坐标系下的三维点云信息。
示例性的,在给定K个视角的样本深度图像以及K个视角的深度相机对应的相机参数时,可以将K个视角的样本深度图像投影到点云,然后,采用多视角样本深度图像融合的方式,就可以得到世界坐标系下的三维点云信息。
步骤S132、将三维点云信息投影到二维平面得到二维坐标点集合。
示例性的,在得到世界坐标系下的三维点云信息之后,基于K个视角的深度相机对应的相机参数,可以将三维点云信息转换到相机坐标系,然后投影到二维平面,就可以得到三维点云信息对应的二维坐标点集合。二维坐标点集合可以包括三维点云信息中的每个三维点对应的二维位置,记为二维坐标点。
步骤S133、基于初始SMPL参数确定SMPL人体模型。
示例性的,可以预先配置初始SMPL参数,初始SMPL参数包括初始姿态参数(72个姿态参数)、初始形态参数(10个形态参数)和初始全局平移量(3个平移参数)。在得到初始SMPL参数之后,基于初始SMPL参数确定SMPL人体模型,SMPL人体模型通过初始SMPL参数来描述对应的人体模型,即已知初始SMPL参数的基础上,可以得到SMPL人体模型,对此过程不做限制。
在一种可能的实施方式中,为了使SMPL人体模型更快贴近目标,避免复杂运算过程,可以将单目HPS恢复的初始姿态作为初始姿态参数,可以将大规模数据集中的形态参数的平均值作为初始形态参数,可以将点云空间内的平均值作为初始全局平移量。当然,上述只是示例,对此不做限制。
步骤S134、基于SMPL人体模型中坐标点与三维点云信息中点云点之间的距离确定第一惩罚值,即与初始SMPL参数对应的第一惩罚值。
示例性的,SMPL人体模型可以通过多个表面点来表示,例如,通过6890个表面点来表示,每个表面点对应一个坐标点。针对SMPL人体模型中的每个坐标点来说,可以从三维点云信息中找到与该坐标点对应的点云点,即得到一个点对,该点对可以包括该坐标点和该点云点。关于坐标点与点云点之间的对应关系,可以是通过IUV图和HPS(Human Pose andShape,人体姿态与形态)算法获取的大致位置为先验获得的,对此对应关系不做限制。
在得到多个点对(如6890个点对)之后,每个点对可以对应一个距离,即点对内的坐标点与点云点之间的距离,可以基于所有点对对应的距离确定初始SMPL参数对应的第一惩罚值,第一惩罚值是SMPL参数到深度点云的惩罚值。
在一种可能的实施方式中,可以采用如下公式确定第一惩罚值:
在上述公式中,θ,β,t表示初始SMPL参数,θ表示初始姿态参数,β表示初始形态参数,t表示初始全局平移量,Epc(θ,β,t)表示初始SMPL参数对应的第一惩罚值,表示SMPL参数到深度点云的优化项,第一惩罚值是基于SMPL人体模型中的每个坐标点与其对应的点云点之间的距离构建能量函数,继而得到第一惩罚值。表示SMPL人体模型中坐标点与三维点云信息中点云点之间的对应关系,/>表示初始SMPL参数对应的SMPL人体模型中的坐标点对应的点云点,即三维点云信息中与6890个坐标点对应的点云点。
Ti表示第i个视角到世界坐标系的转换矩阵(基于相机参数确定),表示SMPL人体模型中的坐标点,dist表示SMPL人体模型中坐标点与三维点云信息中点云点之间的距离,ρ表示惩罚项,其作用是对于离群点更加鲁棒。
从上述公式可以看出,可以基于SMPL人体模型中坐标点与三维点云信息中点云点之间的距离确定初始SMPL参数对应的第一惩罚值Epc(θ,β,t)。
步骤S135、基于SMPL人体模型中坐标点与二维坐标点集合中坐标点之间的距离确定第二惩罚值,即与初始SMPL参数对应的第二惩罚值。
示例性的,针对SMPL人体模型中每个坐标点,可以从二维坐标点集合中找到与该坐标点对应的坐标点,即得到一个点对。关于SMPL人体模型中坐标点与二维坐标点集合中坐标点之间的对应关系,在此不再赘述。在得到多个点对(如6890个点对)之后,每个点对可以对应一个距离,可以基于所有点对对应的距离确定初始SMPL参数对应的第二惩罚值,第二惩罚值是SMPL参数到深度图二维重投影的惩罚值。比如说,可以采用如下公式确定第二惩罚值:
在上述公式中,Erpj(θ,β,t)表示初始SMPL参数对应的第二惩罚值,第二惩罚值是将SMPL人体模型投影到二维位置上,与点云点在深度图平面的二维重投影位置进行匹配,构建能量函数,继而得到第二惩罚值。表示SMPL人体模型中坐标点与三维点云信息中点云点之间的对应关系,/>表示初始SMPL参数对应的SMPL人体模型中的坐标点对应的点云点,即三维点云信息中与6890个坐标点对应的点云点。K为相机内参,用于将点云点转换到相机坐标系在投影到二维平面,Ti表示第i个视角到世界坐标系的转换矩阵,也就是说,/>表示将三维点云信息中点云点(6890个坐标点对应的点云点)转换为二维坐标点集合中坐标点(即与SMPL人体模型中的6890个坐标点对应的坐标点)。/>表示表示SMPL人体模型中的坐标点,||*||表示SMPL人体模型中坐标点与二维坐标点集合中坐标点之间的距离,ρ表示惩罚项。
从上述公式可以看出,可以基于SMPL人体模型中坐标点与二维坐标点集合中坐标点之间的距离确定初始SMPL参数对应的第二惩罚值Erpj(θ,β,t)。
步骤S136、初始SMPL参数可以包括初始姿态参数、初始形态参数和初始全局平移量,基于此,可以基于该初始姿态参数确定第三惩罚值,基于该初始姿态参数确定第四惩罚值,并基于该初始形态参数确定第五惩罚值。
示例性的,第三惩罚值是针对异常姿态的惩罚值,针对每种姿态参数,可以根据该姿态参数的异常情况配置先验惩罚值,当姿态参数异常时,先验惩罚值较大,当姿态参数正常时,先验惩罚值较小或者先验惩罚值为0,关于姿态参数与先验惩罚值的映射关系,可以根据经验配置,对此不作限制。其中,姿态参数异常是指,与该姿态参数对应的人体姿态是不易出现的人体姿态。
在此基础上,在获知初始姿态参数之后,可以基于该映射关系查询初始姿态参数对应的先验惩罚值,这个先验惩罚值就是针对异常姿态的第三惩罚值。
示例性的,第四惩罚值是针对非自然姿态(即无法出现的人体姿态)的惩罚值,针对每种姿态参数来说,可以根据该姿态参数对应的人体姿态配置先验惩罚值,当该姿态参数对应无法出现的人体姿态时,先验惩罚值较大,当该姿态参数对应能够出现的人体姿态时,先验惩罚值较小或者先验惩罚值为0,关于姿态参数与先验惩罚值的映射关系,可以根据经验配置,对此不作限制。在此基础上,在获知初始姿态参数之后,可以基于该映射关系查询初始姿态参数对应的先验惩罚值,这个先验惩罚值就是针对非自然姿态的第四惩罚值。
示例性的,第五惩罚值是针对非自然形态(即无法出现的人体形态)的惩罚值,针对每种形态参数来说,可以根据该形态参数对应的人体形态配置先验惩罚值,当该形态参数对应无法出现的人体形态时,先验惩罚值较大,当该形态参数对应能够出现的人体形态时,先验惩罚值较小或者先验惩罚值为0,关于形态参数与先验惩罚值的映射关系,可以根据经验配置,对此不作限制。在此基础上,在获知初始形态参数之后,可以基于该映射关系查询初始形态参数对应的先验惩罚值,这个先验惩罚值就是针对非自然形态的第五惩罚值。
步骤S137、基于第一惩罚值、第二惩罚值、第三惩罚值、第四惩罚值和第五惩罚值确定目标惩罚值,即与初始SMPL参数对应的目标惩罚值。
在一种可能的实施方式中,可以采用如下公式确定目标惩罚值:
E(θ,β,t)=λpcEpc(θ,β,t)+λrpjErpj(θ,β,t)+λθEθ(θ)+λαEα(θ)+λβEα(β)
其中,E(θ,β,t)表示初始SMPL参数(θ,β,t)对应的目标惩罚值,Epc(θ,β,t)表示初始SMPL参数(θ,β,t)对应的第一惩罚值,λpc表示第一惩罚值对应的权重系数值。Erpj(θ,β,t)表示初始SMPL参数(θ,β,t)对应的第二惩罚值,λrpj表示第二惩罚值对应的权重系数值。Eθ(θ)表示初始姿态参数(θ)对应的第三惩罚值,λθ表示第三惩罚值对应的权重系数值。Eα(θ)表示初始姿态参数(θ)对应的第四惩罚值,λα表示第四惩罚值对应的权重系数值。Eα(β)表示初始形态参数(β)对应的第五惩罚值,λβ表示第五惩罚值对应的权重系数值。比如说,第一惩罚值对应的权重系数值、第二惩罚值对应的权重系数值、第三惩罚值对应的权重系数值、第四惩罚值对应的权重系数值和第五惩罚值对应的权重系数值,均可以根据经验配置,对此不作限制,如这5个权重系数值之和可以为1。
步骤S138、基于目标惩罚值确定初始SMPL参数是否已满足收敛条件。
若基于目标惩罚值确定初始SMPL参数已满足收敛条件,则执行步骤S139。
若基于目标惩罚值确定初始SMPL参数未满足收敛条件,则对初始SMPL参数进行调整,并将调整后SMPL参数替换为初始SMPL参数,返回执行步骤S133,基于更新后的初始SMPL参数确定SMPL人体模型。
步骤S139、基于初始SMPL参数确定人体参数标签。
在一种可能的实施方式中,收敛条件可以根据经验配置,如可以是预设惩罚值阈值,也可以是其它收敛条件,对此不作限制。基于此,若目标惩罚值小于预设惩罚值阈值,则确定初始SMPL参数已满足收敛条件,若目标惩罚值不小于预设惩罚值阈值,则确定初始SMPL参数未满足收敛条件。
若初始SMPL参数已满足收敛条件,则基于初始SMPL参数确定人体参数标签,比如说,将初始SMPL参数作为人体参数标签,即得到K个视角的样本二维图像对应的人体参数标签,通过人体参数标签反映姿态特征和形态特征。
若初始SMPL参数未满足收敛条件,则可以对初始SMPL参数进行调整,调整目标是使初始SMPL参数对应的目标惩罚值越来越小,对此调整过程不做限制,只要能够使得目标惩罚值变小即可,在对初始SMPL参数进行调整之后,可以将调整后SMPL参数替换为初始SMPL参数,返回执行步骤S133。
示例性的,若初始SMPL参数已满足收敛条件,则将初始SMPL参数作为人体参数标签,即K个视角的样本二维图像对应的伪真值,人体参数标签对应的SMPL人体模型在图像平面内的可视化图,参见图5A和图5B所示,衡量关键点与真实标注值之间的误差为12mm,即人体参数标签可以作为监督信号使用。
至此,完成步骤S13,得到样本二维图像对应的人体参数标签。
步骤S14、针对K个视角的样本二维图像中的每个样本二维图像,将该样本二维图像输入给初始特征提取子网络,得到该样本二维图像对应的二维特征图。
示例性的,初始特征提取子网络可以是深度学习网络,也可以是其它类型的残差网络,对此不作限制,初始特征提取子网络用于提取二维特征,如初始特征提取子网络可以为ResNet50子网络。初始特征提取子网络的输入数据可以是样本二维图像,如二维RGB图像,假设样本二维图像的尺寸为224*224,初始特征提取子网络的输出数据可以是二维特征图,二维特征图用于表示样本二维图像上抽象的信息,假设二维特征图的尺寸为7*7。
在此基础上,针对每个样本二维图像,可以将该样本二维图像输入给初始特征提取子网络,由初始特征提取子网络对该样本二维图像进行处理,如提取该样本二维图像对应的特征,从而得到该样本二维图像对应的二维特征图。
步骤S15、针对每个样本二维图像对应的二维特征图,将该二维特征图输入给初始解码器子网络,得到该样本二维图像对应的目标二维特征。
示例性的,初始解码器子网络可以是深度学习网络,也可以是其它类型的网络,对此不作限制,如初始解码器子网络可以为二维解码器。初始解码器子网络的输入数据可以是二维特征图,二维特征图的尺寸可以为7*7。初始解码器子网络的输出数据可以是目标二维特征,假设目标二维特征的尺寸为56*56。
在此基础上,针对每个样本二维图像,可以将该样本二维图像对应的二维特征图输入给初始解码器子网络,由初始解码器子网络对该二维特征图进行处理,从而得到该样本二维图像对应的目标二维特征,记为二维特征F(I)。
综上所述,可以得到每个样本二维图像对应的目标二维特征,即得到K个视角的样本二维图像对应的目标二维特征,即得到K个目标二维特征。
步骤S16、基于所有目标二维特征确定初始三维特征。
示例性的,在步骤S16中,输入数据可以是K个视角的样本二维图像对应的K个目标二维特征,输出数据可以是初始三维特征。比如说,可以对K个目标二维特征进行处理,得到初始三维特征。比如说,针对初始三维特征中的每个三维特征点,可以基于已标定的内参矩阵和外参矩阵,确定每个目标二维特征中与该三维特征点对应的二维特征点,这样,就可以基于该三维特征点对应的所有二维特征点的特征值确定出该三维特征点的特征值。然后,在得到初始三维特征中的所有三维特征点的特征值之后,就可以基于所有三维特征点的特征值生成初始三维特征。
在一种可能的实施方式中,可以将二维特征存储到三维空间中,以提取二维特征在三维空间内的位置信息,也就是说,通过将二维特征存储到带有三维信息的立方体中,从而得到特征体,使得二维特征带有三维位置信息,有利于三维人体重建。比如说,可以采用如下步骤将所有目标二维特征转换为初始三维特征:
步骤S161、针对初始三维特征中的每个三维特征点,基于已标定的内参矩阵和外参矩阵,确定每个目标二维特征中与该三维特征点对应的二维特征点。比如说,基于摄像机1的内参矩阵和外参矩阵,确定摄像机1采集的样本二维图像对应的目标二维特征中与该三维特征点对应的二维特征点,基于摄像机2的内参矩阵和外参矩阵,确定摄像机2采集的样本二维图像对应的目标二维特征中与该三维特征点对应的二维特征点,以此类推。
示例性的,初始三维特征(即三维立体)中有体素(体素与二维图像中像素相对,代表初始三维特征中某一位置的值),将体素的坐标记为(X,Y,Z),该体素对应在目标二维特征(即二维图像平面)上的位置(u,v)符合如下转换关系:
在上述公式中,K表示3*3的内参矩阵,P表示3*4的外参矩阵,d表示已标定数值。比如说,可以在目标场景放置标定点,确定标定点对应的二维特征和三维特征,并确定标定点在二维特征中的像素位置和标定点在三维特征中的体素位置,将该像素位置和该体素位置代入上述公式,就可以得到已标定数值d。
参见上述公式,基于摄像机1的内参矩阵和外参矩阵,确定摄像机1的样本二维图像对应的目标二维特征中与三维特征点(X,Y,Z)对应的二维特征点(u,v),基于摄像机2的内参矩阵和外参矩阵,确定摄像机2的样本二维图像对应的目标二维特征中与三维特征点(X,Y,Z)对应的二维特征点(u,v),以此类推。
步骤S162、针对初始三维特征中的每个三维特征点,基于该三维特征点对应的所有二维特征点的特征值确定该三维特征点的特征值。比如说,对所有二维特征点的特征值进行加权运算,得到该三维特征点的特征值。假设三维特征点(X,Y,Z)对应二维特征点B1、二维特征点B2和二维特征点B3,则对二维特征点B1的特征值、二维特征点B2的特征值和二维特征点B3的特征值进行加权运算,得到三维特征点(X,Y,Z)的特征值。在对所有二维特征点的特征值进行加权运算时,不同二维特征点的特征值对应的加权系数可以相同,也可以不同。
在一种可能的实施方式中,目标二维特征中与三维特征点(X,Y,Z)对应的二维特征点,可能不是整像素位置,还可以对目标二维特征中多个整像素位置的特征值进行插值运算,得到二维特征点的特征值。比如说,目标二维特征中与三维特征点(X,Y,Z)对应的二维特征点B1不是整像素位置,无法直接获知二维特征点B1的特征值,可以对目标二维特征中多个整像素位置(即二维特征点B1相邻的整像素位置)的特征值进行插值运算,得到二维特征点B1的特征值。
比如说,可以将目标二维特征F(I)中二维特征点(像素)与初始三维特征中三维特征点(体素)对应,存储到三维空间内的对应位置,通过如下公式表示:
Vi=δbilinear(F(Ii),(u,v)),i∈{I}
在上述公式中,δbilinear为grid_sample函数,该函数的功能是使用双线性插值法,批量将视角i(由于一共存在K个视角,i的取值可以是1-K)的RGB图对应的目标二维特征F(Ii)插入到初始三维特征(即三维特征体)中,初始三维特征的大小可以为64*64*64的立方体,每一个体素代表边长为0.04米的立方体。显然,针对初始三维特征中的每个三维特征点(体素),可以通过双线性插值法,对目标二维特征F(I)中多个整像素位置的特征值进行插值运算,得到该三维特征点对应的二维特征点的特征值Vi,也就是说,将视角i的RGB图对应的二维特征点的特征值Vi插入到初始三维特征中。
可以将每个视角的RGB图对应的二维特征点的特征值Vi插入到初始三维特征中,得到Vi的移动平均数。假设一共存在i+1个视角,则可以采用如下公式确定所有i+1个视角的特征值的平均数 即三维特征点的特征值。
在上述公式中,表示前面i+1个视角的移动平均数,即三维特征点的特征值,表示前面i个视角的移动平均数,计算方式与/>的计算方式类似,Vi+1表示第i+1个视角的RGB图对应的二维特征点的特征值。/>记录i+1个视角中每个体素被投影到的权重之和,Wi+1=1时退化为体素被投影到的次数。/>记录前面i个视角中每个体素被投影到的权重之和,Wi+1表示第i+1个视角的权重。
步骤S163、在得到初始三维特征中的每个三维特征点的特征值之后,将所有三维特征点的特征值组成初始三维特征。至此,完成步骤S16,成功得到初始三维特征,即成功将K个目标二维特征转换为初始三维特征。
步骤S17、将初始三维特征输入给初始编码器子网络,得到编码三维特征,并对编码三维特征进行下采样操作,得到目标三维特征。
示例性的,初始编码器子网络可以是深度学习网络,也可以是其它类型的网络,对此不作限制,如初始编码器子网络可以为三维编码器。初始编码器子网络的输入数据是初始三维特征(即带有三维信息的立方体)。初始编码器子网络的输出数据可以是编码三维特征,假设编码三维特征的尺寸为16*16*16。
在此基础上,在得到初始三维特征之后,可以将初始三维特征(即带有三维信息的立方体)输入给初始编码器子网络,由初始编码器子网络对初始三维特征进行处理,从而得到初始三维特征对应的编码三维特征。
示例性的,在得到编码三维特征之后,由于该编码三维特征的尺寸比较大,如16*16*16的编码三维特征,因此,为了简化算法复杂度,减轻运算量,还可以对该编码三维特征进行下采样操作,从而得到目标三维特征(即三维特征立方体),如将16*16*16的编码三维特征转换为4*4*4的目标三维特征。
步骤S18、将目标三维特征和初始人体参数输入给初始人体构建子网络,得到候选人体参数,即基于目标三维特征对初始人体参数进行优化,得到候选人体参数。比如说,将目标三维特征和初始人体参数输入给初始人体构建子网络,得到人体参数偏移量,基于人体参数偏移量和初始人体参数生成候选人体参数。
步骤S19、判断是否满足重建条件。若否,即未满足重建条件,则可以执行步骤S20。若是,即已满足重建条件,则可以执行步骤S21。
步骤S20、基于候选人体参数生成候选人体模型,从初始三维特征中选取候选人体模型中目标采样点对应的特征值,基于目标采样点对应的特征值生成目标三维特征,将候选人体参数替换为初始人体参数,返回执行步骤S18。
步骤S21、将候选人体参数确定为样本人体参数。至此,得到K个视角的样本二维图像对应的样本人体参数,用于生成样本人体对应的三维重建图像。
示例性的,重建条件可以是迭代次数,也可以是迭代时长,对此重建条件不做限制,可以根据经验配置,后续以迭代次数为例,如迭代次数为3。
示例性的,初始人体构建子网络可以是深度学习网络,也可以是其它类型的网络,对此不作限制,例如,初始人体构建子网络可以为三维MAF网络,三维MAF网络用于回归SMPL人体参数,使用三维MAF网络能够让SMPL人体参数更加精准,从而使得人体重建契合度更高,三维MAF网络的操作均是基于三维信息,使得立体信息更加精确。初始人体构建子网络的输入数据是目标三维特征和初始人体参数,即初始SMPL人体参数,该初始SMPL人体参数包括姿态参数(72个姿态参数)、形态参数(10个形态参数)和全局平移量(3个平移参数)。初始人体构建子网络的输出数据可以是人体参数偏移量。
在此基础上,在得到目标三维特征和初始人体参数之后,就可以将目标三维特征和初始人体参数输入给初始人体构建子网络,由初始人体构建子网络对目标三维特征和初始人体参数进行处理,从而得到人体参数偏移量。
以下结合具体应用场景,对步骤S18-步骤S21的处理过程进行说明。
首先:基于初始三维特征,对初始三维特征对应的编码三维特征进行下采样操作,得到4*4*4的目标三维特征C0,并获取预先配置的初始人体参数D0,初始人体参数D0是根据经验配置的初始SMPL人体参数,对此不作限制。
将目标三维特征C0和初始人体参数D0输入给初始人体构建子网络,由初始人体构建子网络对目标三维特征C0和初始人体参数D0进行处理,对此处理过程不作限制,得到人体参数偏移量,如姿态参数偏移量、形态参数偏移量和全局平移量偏移量等。由于初始人体参数D0可以包括姿态参数、形态参数和全局平移量,因此,在姿态参数的基础上偏移该姿态参数偏移量,得到候选姿态参数,在形态参数的基础上偏移该形态参数偏移量,得到候选形态参数,在全局平移量的基础上偏移该全局平移量偏移量,得到候选全局平移量。
然后,可以将该候选姿态参数、该候选形态参数和该候选全局平移量组合起来,得到初始人体参数D0对应的候选人体参数E0。
第一次迭代过程:基于候选人体参数E0生成候选人体模型F0,候选人体模型F0可以是SMPL人体模型,SMPL人体模型可以通过候选人体参数E0来描述对应的人体模型,在此基础上,在已知候选人体参数E0的基础上,可以得到候选人体模型F0,对此过程不做限制。候选人体模型F0可以通过多个表面点来表示,如可以通过6890个表面点来表示,每个表面点对应一个坐标点,也就是说,候选人体模型F0可以包括6890个采样点,即6890个坐标点。
从候选人体模型F0的所有采样点中选取部分采样点作为目标采样点,如从候选人体模型F0的6890个采样点中选取100个采样点作为目标采样点。针对每个目标采样点,从初始三维特征(参见步骤S16)中选取该目标采样点对应的三维特征点(即体素),将该三维特征点的特征值作为该目标采样点对应的特征值,从而可以得到候选人体模型F0中的100个目标采样点对应的特征值。然后,可以将100个目标采样点对应的特征值组成目标三维特征C1。
将候选人体参数E0替换为初始人体参数D1,将目标三维特征C1和初始人体参数D1输入给初始人体构建子网络,由初始人体构建子网络对目标三维特征C1和初始人体参数D1进行处理,得到人体参数偏移量。基于该人体参数偏移量和初始人体参数D1,得到初始人体参数D1对应的候选人体参数E1。
第二次迭代过程:基于候选人体参数E1生成候选人体模型F1,候选人体模型F1可以包括6890个采样点。从候选人体模型F1的所有采样点中选取部分采样点作为目标采样点,候选人体模型F1的目标采样点与候选人体模型F0的目标采样点完全相同,或部分相同,或完全不同,如从候选人体模型F1的6890个采样点中选取120个采样点作为目标采样点。针对每个目标采样点,从初始三维特征中选取该目标采样点对应的三维特征点,将该三维特征点的特征值作为该目标采样点对应的特征值,从而得到候选人体模型F1中的每个目标采样点对应的特征值。然后,将所有目标采样点对应的特征值组成目标三维特征C2。
将候选人体参数E1替换为初始人体参数D2,将目标三维特征C2和初始人体参数D2输入给初始人体构建子网络,得到人体参数偏移量。基于该人体参数偏移量和初始人体参数D2,得到初始人体参数D2对应的候选人体参数E2。
第三次迭代过程:基于候选人体参数E2生成候选人体模型F2,从候选人体模型F2的所有采样点中选取部分采样点作为目标采样点,针对每个目标采样点来说,从初始三维特征中选取该目标采样点对应的三维特征点,将该三维特征点的特征值作为该目标采样点对应的特征值,从而得到候选人体模型F2中的每个目标采样点对应的特征值。然后,将所有目标采样点对应的特征值组成目标三维特征C3。然后,将候选人体参数E2替换为初始人体参数D3,并将目标三维特征C3和初始人体参数D3输入给初始人体构建子网络,得到人体参数偏移量。基于该人体参数偏移量和初始人体参数D3,得到候选人体参数E3。
在第三次迭代过程结束之后,已满足重建条件,将候选人体参数E3确定为样本人体参数,至此,得到K个视角的样本二维图像对应的样本人体参数。
步骤S22、基于样本人体参数和人体参数标签确定第一损失值。
示例性的,参见上述步骤,得到K个视角的样本二维图像对应的人体参数标签,即标签真值,并得到K个视角的样本二维图像对应的样本人体参数,即初始网络模型输出的预测值,在样本人体参数和人体参数标签的基础上,就可以计算得到第一损失值。比如说,预先配置一个损失函数,该损失函数的输入数据包括样本人体参数和人体参数标签,该损失函数的输出数据是损失值,该损失函数可以根据经验配置,对此损失函数不作限制。在此基础上,可以将样本人体参数和人体参数标签代入该损失函数,从而得到第一损失值。
示例性的,在样本人体参数和人体参数标签之间的差别越小时,表示样本人体参数与人体参数标签之间越相似,即初始网络模型的预测结果越准确,反之,在样本人体参数和人体参数标签之间的差别越大时,表示样本人体参数与人体参数标签之间越不相似,即初始网络模型的预测结果越不准确。
综上可以看出,在配置损失函数时,该损失函数可以与样本人体参数和人体参数标签之间的差值有关,而且,基于该损失函数,在样本人体参数和人体参数标签之间的差值越大时,则损失函数的第一损失值越大,在样本人体参数和人体参数标签之间的差值越小时,则损失函数的第一损失值越小。
在一种可能的实施方式中,初始人体构建子网络为3DMAF网络,3DMAF网络总共分为3层循环,第一层循环对应上述第一次迭代过程,第二层循环对应上述第二次迭代过程,第三层循环对应上述第三次迭代过程。在第一层循环时,在三维特征体空间里进行均匀采样提取特征,即从初始三维特征中选取目标采样点对应的特征值,得到目标三维特征。在第二次循环时,基于前一次循环的候选人体模型,从候选人体模型的所有采样点中选取目标采样点,从初始三维特征中选取目标采样点对应的特征值,得到目标三维特征,以此类推,通过从候选人体模型的所有采样点中选取目标采样点,回归SMPL人体参数。
示例性的,3DMAF网络的处理过程,可以通过如下公式表示:
在上述公式中,Θt表示SMPL人体参数在3DMAF网络循环t时刻的输出,即3DMAF网络循环t时刻输出的候选人体参数,为时刻t的一维特征向量,即目标三维特征(将目标三维特征转换为一维特征向量),可以通过SMPL人体参数得到的人体模型/>经过降采样函数Π得到采样点,结合人体在世界坐标系下的全局平移量φt,经过一个多层感知器将采样后的特征体由三维降到一维向量。比如说,在得到候选人体模型/>之后,可以从候选人体模型/>的所有采样点中选取部分采样点作为目标采样点,从初始三维特征中选取目标采样点对应的特征值,将所有目标采样点对应的特征值组成目标三维特征。然后,结合人体在世界坐标系下的全局平移量φt,经过一个多层感知器将目标三维特征降到一维向量,即一维向量代替目标三维特征输入给3DMAF网络。/>
Rt为t时刻的SMPL参数回归器,用于连接Θt和通过全连接层的循环(i<3),输出SMPL人体参数,通过变换ρ,可以将姿态参数转换成6D向量输出,6D向量能够回归的更快,找到更优解。3DMAF循环中所有时刻t都输出一组SMPL参数预测,即输出一组预测的候选人体参数,也就是说,在第一层循环时输出候选人体参数,在第二层循环时输出候选人体参数,在第三层循环时输出候选人体参数,第三层循环输出的候选人体参数就是样本人体参数。
在一种可能的实施方式中,损失函数的一个示例可以参见如下公式:
在上述公式中,Lbaseline表示第一损失值。表示SMPL人体参数(即人体参数标签)的真值,即基于人体参数标签确定SMPL人体参数。/>表示由人体参数标签转换得到的2D关键点的真值,确定方式参见后续描述。/>表示由人体参数标签转换得到的3D关键点的真值,确定方式参见后续描述。
在上述公式中,在t为0时,Θt+1表示第一层循环时输出的SMPL人体参数(即第一次迭代过程输出的候选人体参数E1)的预测值,表示由候选人体参数E1转换得到的2D关键点的预测值,/>表示由候选人体参数E1转换得到的3D关键点的预测值。在t为1时,Θt+1表示第二层循环时输出的SMPL人体参数(即第二次迭代过程输出的候选人体参数E2)的预测值,/>表示由候选人体参数E2转换得到的2D关键点的预测值,/>表示由候选人体参数E2转换得到的3D关键点的预测值。在t为2时,Θt+1表示第三层循环时输出的SMPL人体参数(即第三次迭代过程输出的候选人体参数E3,候选人体参数E3也就是样本人体参数)的预测值,/>表示由候选人体参数E3转换得到的2D关键点的预测值,/>表示由候选人体参数E3转换得到的3D关键点的预测值。
在上述公式中,⊙代表掩模操作,仅保留真值2D关键点,或,3D关键点到2D投影在图像平面范围内的关键点,用于计算2D关键点、3D关键点的损失。
在上述公式中,LBS为线性混合蒙皮(LinearBlend Skinning),通过SMPL人体参数中的姿态参数和形态参数计算LBS函数,可以得到SMPL人体模型的网格点坐标点集。RJ为一个将N(6890)个坐标点转换成V(17)个骨架点/>的N*V的转换矩阵,通过SMPL人体模型的网格点坐标点集可以得到人体骨架的3D位置,再通过相机内参矩阵K可以得到2D关键点在图像平面内所在位置。综上可以看出,基于候选人体参数可以得到/>和/>
同理,基于人体参数标签可以得到和/>在已知人体参数标签/>各迭代过程输出的候选人体参数Θt+1、2D关键点的真值/>3D关键点的真值/>各迭代过程的2D关键点的预测值/>各迭代过程的3D关键点的预测值/>的基础上,就可以采用上述损失函数确定第一损失值Lbaseline。
步骤S23、基于第一损失值确定目标损失值。
在一种可能的实施方式中,针对图3A所示的初始网络模型,可以基于第一损失值确定目标损失值,比如说,将第一损失值作为目标损失值。针对图3B所示的初始网络模型,可以基于第一损失值和第二损失值确定目标损失值,比如说,对第一损失值和第二损失值进行加权运算,得到目标损失值。针对图3C所示的初始网络模型,可以基于第一损失值和第三损失值确定目标损失值,比如说,对第一损失值和第三损失值进行加权运算,得到目标损失值。针对图3D所示的初始网络模型,可以基于第一损失值、第二损失值和第三损失值确定目标损失值,比如说,对第一损失值、第二损失值和第三损失值进行加权运算,得到目标损失值。针对图3D所示的初始网络模型,可以采用如下公式确定目标损失值:L=λbaselineLbaseline+λauxLaux+λtsdfLtsdf。在上述公式中,L表示目标损失值,Lbaseline表示第一损失值,λbaseline表示第一损失值对应的权重系数值,Laux表示第二损失值,λaux表示第二损失值对应的权重系数值,Ltsdf表示第三损失值,λtsdf表示第三损失值对应的权重系数值。其中,关于第一损失值对应的权重系数值、第二损失值对应的权重系数值和第三损失值对应的权重系数值,均可以根据经验配置,对此不作限制,如三个权重系数值之和可以为1。
以下结合具体应用场景,对第二损失值和第三损失值的获取过程进行说明。
参见图3B和图3D所示,初始网络模型可以包括IUV辅助子网络,第二损失值是针对IUV辅助子网络的损失值。通过IUV辅助子网络能够提升二维人体特征的提取能力,参见图6所示,第一行为不使用IUV辅助子网络的二维特征,可以看到对人体特征的提取不明显,第二行为使用IUV辅助子网络的二维特征,可以看到二维特征明显更注重于人体部分的信号,对人体特征的提取明显。
为了得到第二损失值,在获取到K个视角的样本二维图像(步骤S12)后,针对每个样本二维图像,还可以获取该样本二维图像对应的IUV标签信息,针对该样本二维图像中每个像素,IUV标签信息可以包括该像素属于背景或者前景的标注(Annotation)、该像素属于的人体部位标识(Part)、该像素在该人体部位上的水平坐标(如水平坐标U)和垂直坐标(如垂直坐标V)。比如说,可以由用户人工为样本二维图像中每个像素标定上述4种信息,或者,也可以采用某种算法为样本二维图像中每个像素标定上述4种信息,对此不作限制。
示例性的,针对每个样本二维图像,在得到该样本二维图像对应的二维特征图(步骤S14)之后,还可以将该二维特征图输入给IUV辅助子网络,由IUV辅助子网络对该二维特征图进行处理,得到该样本二维图像对应的IUV预测信息。其中,针对该样本二维图像中每个像素,IUV预测信息可以包括该像素属于背景或者前景的标注(Annotation)、该像素属于的人体部位标识(Part)、该像素在该人体部位上的水平坐标(如水平坐标U)和垂直坐标(如垂直坐标V)。
示例性的,IUV辅助子网络可以是深度学习网络,也可以是其它类型的网络,对此不作限制,如IUV辅助子网络位于初始特征提取子网络(即ResNet50子网络)的末端,IUV辅助子网络可以由4个并行的卷积层组成,将这4个并行的卷积层记为卷积层1、卷积层2、卷积层3和卷积层4。IUV辅助子网络的输入数据可以是样本二维图像对应的二维特征图,二维特征图用于表示样本二维图像上抽象的信息。IUV辅助子网络的卷积层1的输出数据是样本二维图像中每一个像素属于背景还是前景的标注(Annotation);IUV辅助子网络的卷积层2的输出数据是样本二维图像中每一个像素属于哪一个人体类部位(Part),即该像素属于的人体部位标识;IUV辅助子网络的卷积层3的输出数据是样本二维图像中每一个像素在该人体部位上的水平坐标U;IUV辅助子网络的卷积层4的输出数据是样本二维图像中每一个像素在该人体部位上的垂直坐标V。
在此基础上,针对每个样本二维图像,可以将该样本二维图像对应的二维特征图输入给IUV辅助子网络,由IUV辅助子网络对该二维特征图进行处理,得到该样本二维图像对应的IUV预测信息。其中,针对该样本二维图像中每个像素,IUV预测信息可以包括该像素属于背景或者前景的标注、该像素属于的人体部位标识、该像素在该人体部位上的水平坐标U和垂直坐标V。
示例性的,针对每个视角的样本二维图像,可以得到该样本二维图像对应的IUV标签信息,即标签真值,并得到该样本二维图像对应的IUV预测信息,即IUV辅助子网络输出的预测值,在IUV标签信息和IUV预测信息的基础上,可以计算得到第二损失值,即基于每个样本二维图像对应的IUV预测信息和每个样本二维图像对应的IUV标签信息确定第二损失值。比如说,预先配置一个损失函数,该损失函数的输入数据包括IUV标签信息和IUV预测信息,该损失函数的输出数据是损失值,该损失函数可以根据经验配置,对此不作限制。在此基础上,可以将IUV标签信息和IUV预测信息(即K个样本二维图像对应的IUV标签信息和IUV预测信息)代入该损失函数,从而得到第二损失值。
示例性的,在IUV标签信息和IUV预测信息之间的差别越小时,表示IUV预测信息与IUV标签信息之间越相似,即初始网络模型的预测结果越准确,反之,在IUV标签信息和IUV预测信息之间的差别越大时,表示IUV预测信息与IUV标签信息之间越不相似,即初始网络模型的预测结果越不准确。
综上可以看出,在配置损失函数时,该损失函数可以与IUV标签信息和IUV预测信息之间的差值有关,而且,基于该损失函数,在IUV标签信息和IUV预测信息之间的差值越大时,则损失函数的第二损失值越大,在IUV标签信息和IUV预测信息之间的差值越小时,则损失函数的第二损失值越小。
在一种可能的实施方式中,该损失函数可以参见如下公式所示:
在上述公式中,Laux表示第二损失值,P表示IUV预测信息中的人体部位标识(即IUV预测信息中每个像素的人体部位标识,所有像素的人体部位标识可以组成一个矩阵,记为矩阵P),表示IUV标签信息中的人体部位标识(即IUV标签信息中所有像素的人体部位标识组成矩阵/>),/>表示计算矩阵P与矩阵/>之间的交叉熵,λpi表示矩阵P与矩阵/>之间的交叉熵对应的权重系数,可以根据经验配置,如1等。U表示IUV预测信息中的水平坐标(即IUV预测信息中所有像素在人体部位上的水平坐标可以组成矩阵U),/>表示IUV标签信息中水平坐标(即IUV标签信息中所有像素在人体部位上的水平坐标可以组成矩阵/>),V表示IUV预测信息中的垂直坐标(即IUV预测信息中所有像素在人体部位上的垂直坐标可以组成矩阵V),/>表示IUV标签信息中垂直坐标(即IUV标签信息中所有像素在人体部位上的垂直坐标可以组成矩阵/>)。
P⊙U表示对矩阵P与矩阵U进行掩模⊙运算,掩模⊙运算通过是否属于该人体部位P从而过滤像素,如当前部位P=1,则矩阵U中只有属于部位类ID为1的像素才参与L1损失函数的运算。表示对矩阵P与矩阵/>进行掩模⊙运算,掩模⊙运算通过是否属于该人体部位P从而过滤像素,如当前部位P=1,则矩阵/>中只有属于部位类ID为1的像素才参与L1损失函数的运算。P⊙V表示对矩阵P与矩阵V进行掩模⊙运算,使得矩阵V中只有属于部位类ID为1的像素才参与L1损失函数的运算。/>表示对矩阵P与矩阵/>进行掩模⊙运算,使得矩阵/>中只有属于部位类ID为1的像素才参与L1损失函数的运算。SmoothL1表示L1损失函数,即计算L1损失函数值,λuv表示权重系数,如0.5等。
综上所述,针对每个样本二维图像,可以基于该样本二维图像对应的IUV标签信息和IUV预测信息确定该样本二维图像对应的损失值,可以将所有样本二维图像对应的损失值之和作为第二损失值,也可以将所有样本二维图像对应的损失值的平均值作为第二损失值,对此第二损失值不作限制。
参见图3C和图3D所示,初始网络模型可以包括TSDF辅助子网络,第三损失值是针对TSDF辅助子网络的损失值,通过TSDF辅助子网络能够提升三维人体特征的提取能力。示例性的,为了得到第三损失值,在获取到K个视角的样本二维图像(步骤S12)后,还可以获取K个视角的样本二维图像对应的TSDF标签信息,TSDF标签信息可以包括三维特征体标签,该三维特征体标签中每一个体素,用于描述该体素到三维空间内表面的距离。比如说,基于K个视角的样本深度图像和K个视角的样本二维图像,可以生成三维特征体标签,对此生成方式不作限制,只要能够得到三维特征体标签即可,K个视角的样本深度图像与K个视角的样本二维图像一一对应,三维特征体标签作为TSDF标签信息。
示例性的,在得到目标三维特征(可以是目标三维特征C0,可以是第一次迭代过程中的目标三维特征C1,可以是第二次迭代过程中的目标三维特征C2,还可以是第三次迭代过程中的目标三维特征C3)之后,可以将目标三维特征输入给TSDF辅助子网络,由TSDF辅助子网络对目标三维特征进行处理,得到该目标三维特征对应的TSDF预测信息,TSDF预测信息可以包括预测三维特征体,预测三维特征体中每一个体素,用于描述该体素到三维空间内表面的距离。
示例性的,TSDF辅助子网络可以是深度学习网络,也可以是其它类型的网络,对此不作限制,如在3DMAF网络(即初始人体构建子网络)的最后一个解码层构建TSDF辅助子网络,输出在3D特征体范围(边长为64*0.04米的立方体)内人体及场景的三维重建结果。比如说,3DMAF网络的最后一个解码层输出至TSDF辅助子网络,该解码层的3D特征体Vdecoder大小和TSDF辅助子网络的特征体大小一致,该解码层的3D特征体Vdecoder大小和逆投影的2D特征体大小一致,在Vdecoder上使用tanh激活函数可以直接得到TSDF预测信息。
TSDF辅助子网络的输入数据可以是目标三维特征,TSDF辅助子网络的输出数据可以是TSDF预测信息。在此基础上,在得到目标三维特征之和,可以将目标三维特征输入给TSDF辅助子网络,由TSDF辅助子网络对该目标三维特征进行处理,得到TSDF预测信息,TSDF预测信息可以包括预测三维特征体。
示例性的,针对所有样本二维图像,可以得到TSDF标签信息(三维特征体标签),即标签真值,得到TSDF预测信息(预测三维特征体),即TSDF辅助子网络输出的预测值,在TSDF标签信息和TSDF预测信息的基础上,可以计算得到第三损失值,即基于TSDF预测信息和TSDF标签信息确定第三损失值。比如说,预先配置一个损失函数,损失函数的输入数据包括TSDF预测信息和TSDF标签信息,损失函数的输出数据是第三损失值,损失函数可以根据经验配置,对此不作限制。在此基础上,将TSDF预测信息和TSDF标签信息代入损失函数,得到第三损失值。TSDF预测信息和TSDF标签信息之间的差别越小时,表示TSDF预测信息与TSDF标签信息之间越相似,即初始网络模型的预测结果越准确,TSDF预测信息和TSDF标签信息之间的差别越大时,表示TSDF预测信息与TSDF标签信息之间越不相似,即初始网络模型的预测结果越不准确。
综上可以看出,在配置损失函数时,该损失函数可以与TSDF预测信息和TSDF标签信息之间的差值有关,基于该损失函数,在TSDF预测信息和TSDF标签信息之间的差值越大时,则损失函数的第三损失值越大,在TSDF预测信息和TSDF标签信息之间的差值越小时,则损失函数的第三损失值越小。
在一种可能的实施方式中,该损失函数可以参见如下公式所示:
在上述公式中,Ltsdf表示第三损失值,TSDF表示TSDF预测信息,即预测三维特征体,表示TSDF标签信息,即三维特征体标签,L1表示损失函数,即在TSDF预测信息和TSDF标签信息之间构建L1损失函数。
综上所述,可以得到第三损失值,即TSDF辅助子网络对应的损失值。
步骤S24、在得到目标损失值之后,可以基于目标损失值对初始网络模型的网络参数进行调整,基于调整后网络模型确定目标网络模型。
比如说,基于目标损失值,可以采用梯度下降算法等对初始网络模型的网络参数进行调整,对此调整过程不作限制,调整目标是使得目标损失值越来越小,从而得到调整后网络模型。在得到调整后网络模型之后,可以判断调整后网络模型是否已收敛,比如说,若网络模型的调整次数达到预设次数阈值,则确定调整后网络模型已收敛,否则,确定调整后网络模型未收敛。或者,若网络模型的调整时长达到预设时长阈值,则确定调整后网络模型已收敛,否则,确定调整后网络模型未收敛。或者,若目标损失值已经小于预设损失值阈值,则确定调整后网络模型已收敛,否则,确定调整后网络模型未收敛。
在对初始网络模型的网络参数进行调整时,参见图3A所示,对初始特征提取子网络、初始解码器子网络、初始编码器子网络、初始人体构建子网络中的至少一个子网络的网络参数进行调整。参见图3B所示,对初始特征提取子网络、初始解码器子网络、初始编码器子网络、初始人体构建子网络、IUV辅助子网络中的至少一个子网络的网络参数进行调整。参见图3C所示,对初始特征提取子网络、初始解码器子网络、初始编码器子网络、初始人体构建子网络、TSDF辅助子网络中的至少一个子网络的网络参数进行调整。参见图3D所示,对初始特征提取子网络、初始解码器子网络、初始编码器子网络、初始人体构建子网络、IUV辅助子网络、TSDF辅助子网络中的至少一个子网络的网络参数进行调整。
示例性的,若调整后网络模型已收敛,则将调整后网络模型作为已训练的目标网络模型。将目标网络模型中的特征提取子网络记为目标特征提取子网络,将目标网络模型中的解码器子网络记为目标解码器子网络,将目标网络模型中的编码器子网络记为目标编码器子网络,将目标网络模型中的人体构建子网络记为目标人体构建子网络。
示例性的,若调整后网络模型未收敛,则将调整后网络模型作为初始网络模型,返回步骤S14,重复上述步骤,一直到训练得到目标网络模型。
示例性的,针对基于目标网络模型的图像重建过程,可以包括以下步骤:
步骤S31、获取目标网络模型,目标网络模型包括目标特征提取子网络、目标解码器子网络、目标编码器子网络、目标人体构建子网络。
步骤S32、获取K个视角的原始二维图像,每个原始二维图像均可以包括目标人体,K可以为正整数,如K可以为大于1的正整数。
比如说,目标场景部署的K个摄像机均可以采集RGB图像,这些RGB图像的采集时刻相同,K个摄像机用于采集目标场景的不同视角下的RGB图像,将这些RGB图像称为原始二维图像,将原始二维图像中的用户称为目标人体。
步骤S33、针对K个视角的原始二维图像中的每个原始二维图像,将该原始二维图像输入给目标特征提取子网络,得到该原始二维图像对应的二维特征图。
示例性的,步骤S33可以参见步骤S14,在此不再重复赘述。
步骤S34、针对每个原始二维图像对应的二维特征图,将该二维特征图输入给目标解码器子网络,得到该原始二维图像对应的目标二维特征。
示例性的,步骤S34可以参见步骤S15,在此不再重复赘述。
步骤S35、基于所有目标二维特征确定初始三维特征。
比如说,针对初始三维特征中每个三维特征点,基于已标定的内参矩阵和外参矩阵,确定每个目标二维特征中与该三维特征点对应的二维特征点。针对初始三维特征中每个三维特征点,可以基于该三维特征点对应的所有二维特征点的特征值确定出该三维特征点的特征值。比如说,对所有二维特征点的特征值进行加权运算,得到该三维特征点的特征值。在得到初始三维特征中所有三维特征点的特征值之后,就可以基于所有三维特征点的特征值生成初始三维特征,即将所有三维特征点的特征值组成初始三维特征。
示例性的,步骤S35可以参见步骤S16,在此不再重复赘述。
步骤S36、将初始三维特征输入给目标编码器子网络,得到编码三维特征,并对编码三维特征进行下采样操作,得到目标三维特征。
示例性的,步骤S36可以参见步骤S17,在此不再重复赘述。
步骤S37、将目标三维特征和初始人体参数输入给目标人体构建子网络,得到候选人体参数,即基于目标三维特征对初始人体参数进行优化,得到候选人体参数。比如说,将目标三维特征和初始人体参数输入给目标人体构建子网络,得到人体参数偏移量,基于人体参数偏移量和初始人体参数生成候选人体参数。
步骤S38、判断是否满足重建条件。若否,即未满足重建条件,则可以执行步骤S39。若是,即已满足重建条件,则可以执行步骤S40。
步骤S39、基于候选人体参数生成候选人体模型,从初始三维特征中选取候选人体模型中目标采样点对应的特征值,基于目标采样点对应的特征值生成目标三维特征,将候选人体参数替换为初始人体参数,返回执行步骤S37。
步骤S40、基于候选人体参数生成目标人体对应的三维重建图像。
示例性的,重建条件可以是迭代次数,也可以是迭代时长,对此重建条件不做限制,可以根据经验配置,后续以迭代次数为例,如迭代次数为3。
示例性的,目标人体构建子网络的输入数据可以是目标三维特征和初始人体参数,即初始SMPL人体参数,该初始SMPL人体参数包括姿态参数(72个姿态参数)、形态参数(10个形态参数)和全局平移量(3个平移参数)。目标人体构建子网络的输出数据可以是人体参数偏移量。在此基础上,可以将目标三维特征和初始人体参数输入给目标人体构建子网络,由目标人体构建子网络对目标三维特征和初始人体参数进行处理,对此处理过程不作限制,得到人体参数偏移量,如姿态参数偏移量、形态参数偏移量和全局平移量偏移量等。
由于初始人体参数可以包括姿态参数、形态参数和全局平移量,因此,在姿态参数的基础上偏移该姿态参数偏移量,得到候选姿态参数,在形态参数的基础上偏移该形态参数偏移量,得到候选形态参数,在全局平移量的基础上偏移该全局平移量偏移量,得到候选全局平移量。然后,可以将该候选姿态参数、该候选形态参数和该候选全局平移量组合起来,得到候选人体参数。
步骤S37-步骤S40可以参见步骤S18-步骤S21,在此不再重复赘述。
示例性的,在第三次迭代过程结束之后,已满足重建条件,可以基于候选人体参数生成目标人体对应的三维重建图像,至此,完成图像重建过程。
由以上技术方案可见,本申请实施例中,基于K个视角的原始二维图像重建出目标人体的三维图像,三维图像的重建精度高,三维图像的误差小,能够得到比较精确的三维图像。尤其是,在针对人体重建出三维图像时,可以得到针对人体的精确三维模型,输出精确的人体模型。在相同硬件条件的情况下,提升三维图像的重建精度,大幅减少显存资源的占用,减少三维图像的重建时间,充分利用K个视角的三维信息,对视角的泛化性更强,具有较强的鲁棒性。通过获取精确的人体三维模型,在游戏、AR/VR、虚拟试衣等应用上具有广泛的需求。提出端到端的多视角特征融合深度学习网络,来简洁高效的恢复人体的三维姿态和形态,并且支持任意数量的视角。提取二维特征信息后进行多视角融合,而非将预测结果进行融合,结合已知的相机内参和外参,让目标网络模型学到三维空间信息,从而更好的预测人体。由于在二维网络的编码器就开始融合,避免了在视角越来越多情况下的大量重复计算,在相同硬件条件的情况下,提升精度,并大幅减少显存的占用以及削减运行时间。避免对额外人体骨架点以及轮廓点云的需求,直接从多视角RGB图回归SMPL参数,由于除了SMPL本身没有引入额外的人体先验知识,使得除人体之外的三维重建方面的延展性更强。提出基于多个不限定角度视角的RGB图恢复人体姿态和形态技术,能够充分利用三维信息,过程简单,对视角的泛化性强,拥有较强鲁棒性。不需要额外的人体先验知识,如人体轮廓,二维、三维关键点标注等,只使用了参数化模型,可以适用于各种由参数建模的三维物体的回归,延展性通用性强。基于三维MAF网络,对于重建三维物体对应的特征具有注意力的性质,通过多层的监督使得物体从大体形状到具体细节的三维空间特征都有充分的监督和学习,大幅提高了多视角参数化人体恢复算法的性能。在不进行任何优化的情况下可以满足实时使用的需求,例如,对于建模方面快速获得基础人体模板提供解决方案,不需要建模师进行重复枯燥的基础模板建模工作。又例如,对于虚拟试衣的衣服建模库进行自动化,提前获取人体模型从而摘取外部衣物,避免大量人工建模衣服。又例如,对于VR游戏需要玩家人体信息建立人物并且低延迟的需求提供解决方案。可以适用于从两个视角到十个以上视角的图像输入,在两个视角时可以作为双目应用,在十个以上视角时可以作为精确的人体或者其它物体的重建。由于不需要任何人体知识的先验和标注进行监督,因而可适用于任何参数化模型,如车子、人脸等的多视角重建,延展性强。
基于与上述方法同样的申请构思,本申请实施例中提出一种图像重建装置,参见图7所示,为所述图像重建装置的结构示意图,所述装置可以包括:
获取模块71,用于获取K个视角的原始二维图像,K为正整数,每个原始二维图像均包括目标人体,确定每个原始二维图像对应的目标二维特征;
生成模块72,用于基于每个原始二维图像对应的目标二维特征生成初始三维特征,其中,针对所述初始三维特征中的每个三维特征点,确定每个目标二维特征中与该三维特征点对应的二维特征点,基于所述二维特征点的特征值确定该三维特征点的特征值;基于所述初始三维特征生成目标三维特征;基于所述目标三维特征和初始人体参数生成候选人体参数;
处理模块73,用于若未满足重建条件,则基于候选人体参数生成候选人体模型,从所述初始三维特征中选取候选人体模型中目标采样点对应的特征值,基于目标采样点对应的特征值生成目标三维特征,将候选人体参数替换为初始人体参数,返回执行基于所述目标三维特征和初始人体参数生成候选人体参数;若已满足重建条件,则基于候选人体参数生成目标人体对应的三维重建图像。
示例性的,已训练的目标网络模型包括目标特征提取子网络和目标解码器子网络;所述获取模块71确定每个原始二维图像对应的目标二维特征时具体用于:针对每个原始二维图像,将所述原始二维图像输入给所述目标特征提取子网络,得到所述原始二维图像对应的二维特征图,并将所述二维特征图输入给所述目标解码器子网络,得到所述原始二维图像对应的目标二维特征。
示例性的,所述生成模块72基于每个原始二维图像对应的目标二维特征生成初始三维特征时具体用于:针对所述初始三维特征中的每个三维特征点,基于已标定的内参矩阵和外参矩阵,确定每个目标二维特征中与该三维特征点对应的二维特征点,基于该三维特征点对应的所有二维特征点的特征值确定该三维特征点的特征值。
示例性的,已训练的目标网络模型包括目标编码器子网络,所述生成模块72基于所述初始三维特征生成目标三维特征时具体用于:将所述初始三维特征输入给所述目标编码器子网络,得到所述初始三维特征对应的编码三维特征;对所述编码三维特征进行下采样操作,得到所述目标三维特征。
示例性的,已训练的目标网络模型包括目标人体构建子网络;所述生成模块72基于所述目标三维特征和初始人体参数生成候选人体参数时具体用于:将目标三维特征和所述初始人体参数输入给所述目标人体构建子网络,得到人体参数偏移量;基于所述人体参数偏移量和所述初始人体参数生成候选人体参数。
示例性的,所述装置还包括:训练模块,用于获取K个视角的样本二维图像,每个样本二维图像均包括样本人体;获取所述K个视角的样本二维图像对应的人体参数标签;将所述K个视角的样本二维图像输入给初始网络模型,得到样本人体参数;其中,所述样本人体参数用于生成所述样本人体对应的三维重建图像;基于所述样本人体参数和所述人体参数标签确定第一损失值;基于所述第一损失值确定目标损失值,基于所述目标损失值对所述初始网络模型的网络参数进行调整,基于调整后网络模型确定目标网络模型。
示例性的,所述初始网络模型包括初始特征提取子网络、初始解码器子网络、初始编码器子网络、初始人体构建子网络,所述训练模块将所述K个视角的样本二维图像输入给初始网络模型,得到样本人体参数时具体用于:将每个样本二维图像输入给所述初始特征提取子网络,得到每个样本二维图像对应的二维特征图;将每个二维特征图输入给所述初始解码器子网络,得到每个样本二维图像对应的目标二维特征;基于所有目标二维特征确定初始三维特征;将初始三维特征输入给所述初始编码器子网络,得到编码三维特征;对编码三维特征进行下采样操作,得到目标三维特征;将目标三维特征和初始人体参数输入给所述初始人体构建子网络,得到候选人体参数;若未满足重建条件,则基于候选人体参数生成候选人体模型,从初始三维特征中选取候选人体模型中目标采样点对应的特征值,基于目标采样点对应的特征值生成目标三维特征,将候选人体参数替换为初始人体参数,并返回执行将目标三维特征和初始人体参数输入给初始人体构建子网络;若已满足重建条件,则将候选人体参数确定为样本人体参数。
示例性的,所述训练模块,还用于获取每个样本二维图像对应的IUV标签信息,针对样本二维图像中每个像素,所述IUV标签信息包括该像素属于背景或者前景的标注、该像素属于的人体部位标识、该像素在该人体部位上的水平坐标和垂直坐标;所述初始网络模型还包括IUV辅助子网络,所述训练模块,还用于在得到每个样本二维图像对应的二维特征图之后,将每个二维特征图输入给所述IUV辅助子网络,得到每个样本二维图像对应的IUV预测信息;其中,针对样本二维图像中每个像素,所述IUV预测信息包括该像素属于背景或者前景的标注、该像素属于的人体部位标识、该像素在该人体部位上的水平坐标和垂直坐标;所述训练模块基于所述第一损失值确定目标损失值时具体用于:基于每个样本二维图像对应的IUV预测信息和每个样本二维图像对应的IUV标签信息确定第二损失值,基于所述第一损失值和所述第二损失值确定目标损失值。
示例性的,所述训练模块,还用于获取所述K个视角的样本二维图像对应的TSDF标签信息;所述TSDF标签信息包括三维特征体标签,所述三维特征体标签中每一个体素,用于描述该体素到三维空间内表面的距离;所述初始网络模型还包括TSDF辅助子网络,所述训练模块,还用于在得到目标三维特征后,将所述目标三维特征输入给所述TSDF辅助子网络,得到所述目标三维特征对应的TSDF预测信息,所述TSDF预测信息包括预测三维特征体;所述训练模块基于所述第一损失值确定目标损失值时具体用于:基于所述TSDF预测信息和所述TSDF标签信息确定第三损失值;基于所述第一损失值和第三损失值确定目标损失值;或,基于第一损失值、第二损失值和第三损失值确定目标损失值。
示例性的,所述训练模块获取K个视角的样本二维图像对应的人体参数标签时具体用于:基于相机参数和K个视角的样本深度图像确定世界坐标系下的三维点云信息,将所述三维点云信息投影到二维平面得到二维坐标点集合;K个视角的样本深度图像与K个视角的样本二维图像一一对应;基于初始SMPL参数确定SMPL人体模型;基于SMPL人体模型中坐标点与所述三维点云信息中点云点之间的距离确定第一惩罚值;基于SMPL人体模型中坐标点与所述二维坐标点集合中坐标点之间的距离确定第二惩罚值;基于第一惩罚值和第二惩罚值确定目标惩罚值;若基于目标惩罚值确定初始SMPL参数已满足收敛条件,则基于初始SMPL参数确定所述人体参数标签;若基于目标惩罚值确定初始SMPL参数未满足收敛条件,对初始SMPL参数进行调整,将调整后SMPL参数替换为初始SMPL参数,返回执行基于初始SMPL参数确定SMPL人体模型。
示例性的,所述初始SMPL参数包括初始姿态参数、初始形态参数和初始全局平移量;所述训练模块,还用于基于所述初始姿态参数确定第三惩罚值;基于所述初始姿态参数确定第四惩罚值;基于所述初始形态参数确定第五惩罚值;其中,所述第三惩罚值是针对异常姿态的惩罚值,所述第四惩罚值是针对非自然姿态的惩罚值,所述第五惩罚值是针对非自然形态的惩罚值;所述训练模块基于第一惩罚值和第二惩罚值确定目标惩罚值时具体用于:基于第一惩罚值、第二惩罚值、第三惩罚值、第四惩罚值和第五惩罚值确定所述目标惩罚值。
基于与上述方法同样的申请构思,本申请实施例中提出一种电子设备,参见图8所示,所述电子设备包括:处理器81和机器可读存储介质82,所述机器可读存储介质82存储有能够被所述处理器81执行的机器可执行指令;所述处理器81用于执行机器可执行指令,以实现本申请上述示例公开的图像重建方法。
基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被处理器执行时,能够实现本申请上述示例公开的图像重建方法。其中,上述机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
基于与上述方法同样的申请构思,本申请实施例中提出一种图像重建系统,所述图像重建系统包括服务器和K个摄像机,K为正整数,不同摄像机对应的视角不同,其中:针对每个摄像机,用于采集与该摄像机对应的视角对应的原始二维图像,并将该视角对应的原始二维图像发送给所述服务器;所述服务器,用于从所述K个摄像机获取K个视角的原始二维图像,每个原始二维图像均包括目标人体,确定每个原始二维图像对应的目标二维特征;基于所有目标二维特征生成初始三维特征;从所述初始三维特征中提取出目标三维特征;基于所述目标三维特征和初始人体参数生成候选人体参数;判断是否满足重建条件;若未满足重建条件,则基于候选人体参数生成候选人体模型,从所述初始三维特征中选取候选人体模型中目标采样点对应的特征值,基于目标采样点对应的特征值生成目标三维特征,将候选人体参数替换为初始人体参数,并返回执行基于所述目标三维特征和初始人体参数生成候选人体参数的操作;若已满足重建条件,基于候选人体参数生成目标人体对应的三维重建图像。
示例性的,已训练的目标网络模型包括目标特征提取子网络和目标解码器子网络;所述服务器确定每个原始二维图像对应的目标二维特征时具体用于:针对每个原始二维图像,将所述原始二维图像输入给所述目标特征提取子网络,得到所述原始二维图像对应的二维特征图,并将所述二维特征图输入给所述目标解码器子网络,得到所述原始二维图像对应的目标二维特征。
示例性的,所述服务器基于所有目标二维特征生成初始三维特征时具体用于:针对所述初始三维特征中的每个三维特征点,基于已标定的内参矩阵和外参矩阵,确定每个目标二维特征中与该三维特征点对应的二维特征点,并基于该三维特征点对应的所有二维特征点的特征值确定该三维特征点的特征值。
示例性的,已训练的目标网络模型包括目标编码器子网络,所述服务器从所述初始三维特征中提取出目标三维特征时具体用于:将所述初始三维特征输入给所述目标编码器子网络,得到编码三维特征;对所述编码三维特征进行下采样操作,得到所述目标三维特征。
示例性的,已训练的目标网络模型包括目标人体构建子网络;所述服务器基于所述目标三维特征和初始人体参数生成候选人体参数时具体用于:将所述目标三维特征和所述初始人体参数输入给所述目标人体构建子网络,得到与所述初始人体参数对应的人体参数偏移量;基于所述人体参数偏移量和所述初始人体参数生成候选人体参数。
示例性的,所述服务器基于候选人体参数生成目标人体对应的三维重建图像之后,还可以存储三维重建图像或者输出三维重建图像,以便基于三维重建图像进行处理。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (12)
1.一种图像重建方法,其特征在于,所述方法包括:
获取K个视角的原始二维图像,K为正整数,每个原始二维图像均包括目标人体,确定每个原始二维图像对应的目标二维特征;
基于所有目标二维特征生成初始三维特征;
从所述初始三维特征中提取出目标三维特征;
基于所述目标三维特征和初始人体参数生成候选人体参数;
判断是否满足重建条件;若未满足重建条件,则基于候选人体参数生成候选人体模型,从所述初始三维特征中选取候选人体模型中目标采样点对应的特征值,基于目标采样点对应的特征值生成目标三维特征,将候选人体参数替换为初始人体参数,并返回执行基于所述目标三维特征和初始人体参数生成候选人体参数的操作;
若已满足重建条件,基于候选人体参数生成目标人体对应的三维重建图像。
2.根据权利要求1所述的方法,其特征在于,
已训练的目标网络模型包括目标特征提取子网络和目标解码器子网络;
所述确定每个原始二维图像对应的目标二维特征,包括:
针对每个原始二维图像,将所述原始二维图像输入给所述目标特征提取子网络,得到所述原始二维图像对应的二维特征图,并将所述二维特征图输入给所述目标解码器子网络,得到所述原始二维图像对应的目标二维特征。
3.根据权利要求1所述的方法,其特征在于,
所述基于所有目标二维特征生成初始三维特征,包括:
针对所述初始三维特征中的每个三维特征点,基于已标定的内参矩阵和外参矩阵,确定每个目标二维特征中与该三维特征点对应的二维特征点,并基于该三维特征点对应的所有二维特征点的特征值确定该三维特征点的特征值。
4.根据权利要求1所述的方法,其特征在于,已训练的目标网络模型包括目标编码器子网络,所述从所述初始三维特征中提取出目标三维特征,包括:
将所述初始三维特征输入给所述目标编码器子网络,得到编码三维特征;
对所述编码三维特征进行下采样操作,得到所述目标三维特征。
5.根据权利要求1所述的方法,其特征在于,
已训练的目标网络模型包括目标人体构建子网络;
所述基于所述目标三维特征和初始人体参数生成候选人体参数,包括:
将所述目标三维特征和所述初始人体参数输入给所述目标人体构建子网络,得到与所述初始人体参数对应的人体参数偏移量;
基于所述人体参数偏移量和所述初始人体参数生成候选人体参数。
6.根据权利要求2-5任一所述的方法,其特征在于,
获取K个视角的样本二维图像,每个样本二维图像均包括样本人体;
获取所述K个视角的样本二维图像对应的人体参数标签;
将所述K个视角的样本二维图像输入给初始网络模型,得到样本人体参数;其中,所述样本人体参数用于生成所述样本人体对应的三维重建图像;
基于所述样本人体参数和所述人体参数标签确定第一损失值;
基于所述第一损失值确定目标损失值,基于所述目标损失值对所述初始网络模型的网络参数进行调整,基于调整后网络模型确定目标网络模型。
7.根据权利要求6所述的方法,其特征在于,初始网络模型包括初始特征提取子网络、初始解码器子网络、初始编码器子网络、初始人体构建子网络,将所述K个视角的样本二维图像输入给初始网络模型,得到样本人体参数,包括:
将每个样本二维图像输入给初始特征提取子网络,得到每个样本二维图像对应的二维特征图;将每个二维特征图输入给初始解码器子网络,得到每个样本二维图像对应的目标二维特征;基于所有目标二维特征确定初始三维特征;
将初始三维特征输入给初始编码器子网络,得到编码三维特征;对编码三维特征进行下采样操作,得到目标三维特征;将目标三维特征和初始人体参数输入给初始人体构建子网络,得到候选人体参数;
判断是否满足重建条件,若未满足重建条件,则基于候选人体参数生成候选人体模型,从初始三维特征中选取候选人体模型中目标采样点对应的特征值,基于目标采样点对应的特征值生成目标三维特征,将候选人体参数替换为初始人体参数,并返回执行将目标三维特征和初始人体参数输入给初始人体构建子网络的操作;
若已满足重建条件,则将候选人体参数确定为样本人体参数。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
获取每个样本二维图像对应的IUV标签信息,针对样本二维图像中每个像素,所述IUV标签信息包括该像素属于背景或者前景的标注、该像素属于的人体部位标识、该像素在该人体部位上的水平坐标和垂直坐标;
所述初始网络模型还包括IUV辅助子网络,在得到每个样本二维图像对应的二维特征图之后,将每个二维特征图输入给所述IUV辅助子网络,得到每个样本二维图像对应的IUV预测信息;其中,针对样本二维图像中每个像素,所述IUV预测信息包括该像素属于背景或者前景的标注、该像素属于的人体部位标识、该像素在该人体部位上的水平坐标和垂直坐标;
所述基于所述第一损失值确定目标损失值,包括:基于每个样本二维图像对应的IUV预测信息和每个样本二维图像对应的IUV标签信息确定第二损失值,基于所述第一损失值和所述第二损失值确定目标损失值。
9.根据权利要求8所述的方法,其特征在于,
所述方法还包括:获取所述K个视角的样本二维图像对应的TSDF标签信息;其中,所述TSDF标签信息包括三维特征体标签,所述三维特征体标签中每一个体素,用于描述该体素到三维空间内表面的距离;
所述初始网络模型还包括TSDF辅助子网络,在得到目标三维特征之后,将所述目标三维特征输入给所述TSDF辅助子网络,得到所述目标三维特征对应的TSDF预测信息,所述TSDF预测信息包括预测三维特征体;
所述基于所述第一损失值确定目标损失值,包括:
基于所述TSDF预测信息和所述TSDF标签信息确定第三损失值;
基于所述第一损失值和所述第三损失值确定目标损失值;或,基于所述第一损失值、所述第二损失值和所述第三损失值确定目标损失值。
10.根据权利要求6所述的方法,其特征在于,
所述获取所述K个视角的样本二维图像对应的人体参数标签,包括:
基于相机参数和所述K个视角的样本深度图像确定世界坐标系下的三维点云信息,将所述三维点云信息投影到二维平面得到二维坐标点集合;其中,所述K个视角的样本深度图像与所述K个视角的样本二维图像一一对应;
基于初始SMPL参数确定SMPL人体模型;基于SMPL人体模型中坐标点与所述三维点云信息中点云点之间的距离确定第一惩罚值;基于SMPL人体模型中坐标点与所述二维坐标点集合中坐标点之间的距离确定第二惩罚值;其中,所述初始SMPL参数包括初始姿态参数、初始形态参数和初始全局平移量;
基于所述第一惩罚值和所述第二惩罚值确定目标惩罚值;
若基于目标惩罚值确定初始SMPL参数已满足收敛条件,则基于初始SMPL参数确定所述人体参数标签;若基于目标惩罚值确定初始SMPL参数未满足收敛条件,则对初始SMPL参数进行调整,将调整后SMPL参数替换为初始SMPL参数,返回执行基于初始SMPL参数确定SMPL人体模型的操作。
11.一种电子设备,其特征在于,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现权利要求1-10任一所述的方法步骤。
12.一种图像重建系统,其特征在于,所述图像重建系统包括服务器和K个摄像机,K为正整数,不同摄像机对应的视角不同,其中:
针对每个摄像机,用于采集与该摄像机对应的视角对应的原始二维图像,并将该视角对应的原始二维图像发送给所述服务器;
所述服务器,用于从所述K个摄像机获取K个视角的原始二维图像,每个原始二维图像均包括目标人体,确定每个原始二维图像对应的目标二维特征;基于所有目标二维特征生成初始三维特征;从所述初始三维特征中提取出目标三维特征;基于所述目标三维特征和初始人体参数生成候选人体参数;判断是否满足重建条件;若未满足重建条件,则基于候选人体参数生成候选人体模型,从所述初始三维特征中选取候选人体模型中目标采样点对应的特征值,基于目标采样点对应的特征值生成目标三维特征,将候选人体参数替换为初始人体参数,并返回执行基于所述目标三维特征和初始人体参数生成候选人体参数的操作;若已满足重建条件,基于候选人体参数生成目标人体对应的三维重建图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211194368.7A CN117830507A (zh) | 2022-09-28 | 2022-09-28 | 一种图像重建方法、系统及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211194368.7A CN117830507A (zh) | 2022-09-28 | 2022-09-28 | 一种图像重建方法、系统及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117830507A true CN117830507A (zh) | 2024-04-05 |
Family
ID=90523263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211194368.7A Pending CN117830507A (zh) | 2022-09-28 | 2022-09-28 | 一种图像重建方法、系统及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117830507A (zh) |
-
2022
- 2022-09-28 CN CN202211194368.7A patent/CN117830507A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109636831B (zh) | 一种估计三维人体姿态及手部信息的方法 | |
Huang et al. | Deep volumetric video from very sparse multi-view performance capture | |
Kanazawa et al. | End-to-end recovery of human shape and pose | |
CN109791697B (zh) | 使用统计模型从图像数据预测深度 | |
Wang et al. | 360sd-net: 360 stereo depth estimation with learnable cost volume | |
CN107980150B (zh) | 对三维空间建模 | |
CN109840940B (zh) | 动态三维重建方法、装置、设备、介质和系统 | |
CN112215050A (zh) | 非线性3dmm人脸重建和姿态归一化方法、装置、介质及设备 | |
CN113706699B (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN111968165A (zh) | 动态人体三维模型补全方法、装置、设备和介质 | |
Tu et al. | Consistent 3d hand reconstruction in video via self-supervised learning | |
CN113643366B (zh) | 一种多视角三维对象姿态估计方法及装置 | |
CN116071278A (zh) | 无人机航拍图像合成方法、系统、计算机设备及存储介质 | |
CN111524232A (zh) | 三维建模方法、装置和服务器 | |
CN114581571A (zh) | 基于imu和前向变形场的单目人体重建方法及装置 | |
CN114782628A (zh) | 基于深度相机的室内实时三维重建方法 | |
CN117197333A (zh) | 基于多目视觉的空间目标重构与位姿估计方法及系统 | |
CN104463962B (zh) | 基于gps信息视频的三维场景重建方法 | |
CN114170290A (zh) | 图像的处理方法及相关设备 | |
CN111862278A (zh) | 一种动画获得方法、装置、电子设备及存储介质 | |
Zhao et al. | Mvpsnet: Fast generalizable multi-view photometric stereo | |
Zhu et al. | Multimodal neural radiance field | |
CN111738092A (zh) | 一种基于深度学习的恢复被遮挡人体姿态序列方法 | |
KR20230083212A (ko) | 객체 자세 추정 장치 및 방법 | |
CN117830507A (zh) | 一种图像重建方法、系统及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |