著录项信息
专利名称 | 三维模型的建立方法和装置 |
申请号 | CN201310083981.6 | 申请日期 | 2013-03-15 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2014-09-17 | 公开/公告号 | CN104050712A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06T17/00 | IPC分类号 | G;0;6;T;1;7;/;0;0查看分类表>
|
申请人 | 索尼公司 | 申请人地址 | 日本东京都
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 索尼公司 | 当前权利人 | 索尼公司 |
发明人 | 佟强;李亮 |
代理机构 | 北京德恒律治知识产权代理有限公司 | 代理人 | 章社杲;孙征 |
摘要
本发明公开了一种三维模型的建立方法和装置,其中,该方法包括:对于接收到的每个图像帧,根据该图像帧中目标对象的深度信息确定该图像帧中目标对象的姿态;将该图像帧中目标对象所对应的空间点云的位置还原至目标对象处于基准姿态时的位置;根据还原后的空间点云对基准帧中目标对象的处于基准姿态时的基准点云进行更新;根据更新后的基准点云建立三维模型。本发明通过对图像帧中的目标姿态进行估计并对空间点云位置进行还原,能够有效估计目标的姿态,降低建模的难度;另外,本发明能够使得用于建模的空间点云中点的密度不断增加,进而提高建模的准确度,并且能够有助于降低建模的成本。
1.一种三维模型的建立方法,其特征在于,包括:
对于接收到的每个图像帧,根据该图像帧中目标对象的深度信息确定该图像帧中目标对象的姿态;
将该图像帧中目标对象所对应的空间点云的位置还原至所述目标对象处于基准姿态时的位置;
根据还原后的所述空间点云对基准帧中所述目标对象的处于基准姿态时的基准点云进行更新;
根据更新后的所述基准点云建立三维模型;
其中,所述建立方法进一步包括:
对基准点云中的每个点预先设定置信度;
对于基准点云中的每个点,根据该点与后续接收到的图像帧中目标对象的点云中还原后的相应点之间的位置差异,调整该点的置信度的数值。
2.根据权利要求1所述的建立方法,其特征在于,进一步包括:
对于接收的每个图像帧,在还原该图像帧中目标对象所对应的空间点云的位置之前,判断该图像帧中目标对象的尺寸与所述基准帧中目标对象的尺寸是否相同;
在判断结果为尺寸不同的情况下,根据该图像帧中目标对象与所述基准帧中目标对象的尺寸差异,对所述目标对象的尺寸进行缩放。
3.根据权利要求1所述的建立方法,其特征在于,在根据更新后的所述基准点云建立三维模型时,根据更新后的所述基准点云中点的置信度建立三维模型。
4.根据权利要求3所述的建立方法,其特征在于,根据还原后的所述空间点云对基准帧中所述目标对象的处于基准姿态时的基准点云进行更新进一步包括:
将置信度的数值低于预定值的点删除。
5.根据权利要求1所述的建立方法,其特征在于,对于接收到的每个图像帧,根据还原后的空间点云对基准帧中所述目标对象处于基准姿态时的基准点云进行更新包括:
将该图像帧中目标对象的空间点云与所述目标对象的基准点云进行组合,得到更新后的所述基准点云。
6.根据权利要求1所述的建立方法,其特征在于,进一步包括:
在接收到首个图像帧时,在该首个图像帧中检测目标对象,确定该首个图像帧中所述目标对象所在的位置;
对于晚于所述首个图像帧接收到的每个后续图像帧,跟踪所述目标对象,确定所述目标对象在每个后续图像帧中的位置,其中,对于无法通过跟踪确定所述目标对象所在位置的后续图像帧,在该后续图像帧中重新检测所述目标对象。
7.根据权利要求1至6中任一项所述的建立方法,其特征在于,所述每个图像帧由视频采集设备采集,所述视频采集设备包括深度视频采集设备、和/或彩色视频采集设备。
8.根据权利要求1至6中任一项所述的建立方法,其特征在于,所述目标对象包括人的头部或脸部。
9.根据权利要求1至6中任一项所述的建立方法,其特征在于,所述基准姿态为目标对象处于正面的姿态。
10.一种三维模型的建立装置,其特征在于,包括:
确定模块,用于对接收到的每个图像帧,根据该图像帧中目标对象的深度信息确定该图像帧中目标对象的姿态;
还原模块,用于将该图像帧中目标对象所对应的空间点云的位置还原至所述目标对象处于基准姿态时的位置;
更新模块,用于根据还原后的所述空间点云对基准帧中所述目标对象的处于基准姿态时的基准点云进行更新;
建立模块,用于根据更新后的所述基准点云建立三维模型;
设置模块,用于对基准点云中的每个点预先设定置信度;
调整模块,用于对基准点云中的每个点,根据该点与后续接收到的图像帧中目标对象的点云中还原后的相应点之间的位置差异,调整该点的置信度的数值。
11.根据权利要求10所述的建立装置,其特征在于,进一步包括:
判断模块,用于对接收的每个图像帧,在还原该图像帧中目标对象所对应的空间点云的位置之前,判断该图像帧中目标对象的尺寸与所述基准帧中目标对象的尺寸是否相同;
缩放模块,用于在所述判断模块的判断结果为尺寸不同的情况下,根据该图像帧中目标对象与所述基准帧中目标对象的尺寸差异,对所述目标对象的尺寸进行缩放。
12.根据权利要求10所述的建立装置,其特征在于,在根据更新后的所述基准点云建立三维模型时,所述建立模块用于根据更新后的所述基准点云中点的置信度建立三维模型。
13.根据权利要求12所述的建立装置,其特征在于,所述更新模块进一步用于将置信度的数值低于预定值的点删除。
14.根据权利要求10所述的建立装置,其特征在于,所述更新模块用于将该图像帧中目标对象的空间点云与所述目标对象的基准点云进行组合,得到更新后的所述基准点云。
15.根据权利要求10所述的建立装置,其特征在于,进一步包括检测模块和跟踪模块,其中,
所述检测模块用于在接收到首个图像帧时,在该首个图像帧中检测所述目标对象,确定该首个图像帧中所述目标对象所在的位置;
所述跟踪模块用于在晚于所述首个图像帧接收到的每个后续图像帧中跟踪所述目标对象,确定所述目标对象在每个后续图像帧中的位置;
其中,对于无法通过跟踪确定所述目标对象所在位置的后续图像帧,所述检测模块还用于在该后续图像帧中重新检测所述目标对象,确定所述目标对象的位置。
16.根据权利要求10至15中任一项所述的建立装置,其特征在于,所述每个图像帧由视频采集设备采集,所述视频采集设备包括深度视频采集设备、和/或彩色视频采集设备。
17.根据权利要求10至15中任一项所述的建立装置,其特征在于,所述目标对象包括人的头部或脸部。
18.根据权利要求10至15中任一项所述的建立装置,其特征在于,所述基准姿态为目标对象处于正面的姿态。
三维模型的建立方法和装置\n技术领域\n[0001] 本发明涉及图像处理领域,并且特别地,涉及一种三维模型的建立方法和装置。\n背景技术\n[0002] 传统的三维模型重建系统主要包含三种技术路线,其主要区别在于所使用的数据采集设备。第一种方式是基于采集二维图像数据,利用三角面片或参数曲面来拟合二维图像上的图像特征,这种方法所需的输入数据比较简单且易于获取,但在表达精度和运算速度上的能力均有限;第二种方式是基于三维扫描设备,这种方法能够生成准确的三维模型,但用于采集输入数据的硬件设备的价格非常昂贵,很难推广;第三种是基于空间点云,这种方法可以通过多种手段获取输入数据,且其生成的模型精度能够随着输入数据的增加而提高,本发明采用的技术路线正是这种方案。\n[0003] 在基于空间点云的头部三维模型重建方案中,其难点在于如何准确定位头部位置并估计其姿态角度。现有的脸部检测技术可以在单个视频帧中检测到正面脸或角度不太大的侧面脸,但当头部的旋转角度较大甚至为背面时,现有的检测方法会失败。对于检测到的脸部正面,通常会采用模板匹配或几何估计的方法来估计其姿态角度,这种方法受限于模板或几何假设,难以保证其精度。另外,已有的基于空间点云的三维建模精确度将直接受到视频/图像采集设备精度的影响,如果视频/图像采集设备的精度较低,则采集到的空间点云中的点分布将较为稀疏,使得最终建立的三维模型与实际目标的形态存在较大误差。\n[0004] 针对相关技术中基于空间点云的三维建模方案难以估计对象姿态、以及精度较差的问题,目前尚未提出有效的解决方案。\n发明内容\n[0005] 针对相关技术中基于空间点云的三维建模方案难以估计对象姿态、以及精度较差的问题,本发明提出一种三维模型的建立方法和装置,能够对目标对象的姿态进行有效估计,并且能够降低图像采集设备的性能对建模准确度的影响。\n[0006] 本发明的技术方案是这样实现的:\n[0007] 根据本发明的一个方面,提供了一种三维模型的建立方法。\n[0008] 根据本发明的三维模型的建立方法包括:\n[0009] 对于接收到的每个图像帧,根据该图像帧中目标对象的深度信息确定该图像帧中目标对象的姿态;\n[0010] 将该图像帧中目标对象所对应的空间点云的位置还原至目标对象处于基准姿态时的位置;\n[0011] 根据还原后的空间点云对基准帧中目标对象的处于基准姿态时的基准点云进行更新;\n[0012] 根据更新后的基准点云建立三维模型。\n[0013] 根据本发明的另一方面,提供了一种三维模型的建立装置。\n[0014] 根据本发明的三维模型的建立装置包括:\n[0015] 确定模块,用于对接收到的每个图像帧,根据该图像帧中目标对象的深度信息确定该图像帧中目标对象的姿态;\n[0016] 还原模块,用于将该图像帧中目标对象所对应的空间点云的位置还原至目标对象处于基准姿态时的位置;\n[0017] 更新模块,用于根据还原后的空间点云对基准帧中目标对象的处于基准姿态时的基准点云进行更新;\n[0018] 建立模块,用于根据更新后的基准点云建立三维模型。\n[0019] 本发明通过对图像帧中的目标姿态进行估计并对空间点云位置进行还原,能够有效估计目标的姿态,降低建模的难度;另外,本发明通过利用后续图像帧中的空间点云对基准帧中的空间点云进行更新,能够使得用于建模的空间点云中点的密度不断增加,即使用于采用图像的设备性能不高,也能够通过对多个图像帧点云的组合得到更加密集的点云,进而提高建模的准确度,并且能够有助于降低建模的成本。\n附图说明\n[0020] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。\n[0021] 图1是本发明实施例的三维模型的建立方法的流程图;\n[0022] 图2是本发明实施例的三维模型的建立方法的具体实现过程的流程图;\n[0023] 图3是本发明实施例的三维模型的建立装置的框图;\n[0024] 图4是实现本发明技术方案的计算机的示例性结构框图。\n具体实施方式\n[0025] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。\n[0026] 根据本发明的实施例,提供了一种三维模型的建立方法。\n[0027] 如图1所示,根据本发明实施例的三维模型的建立方法包括:\n[0028] 步骤S101,对于接收到的每个图像帧,根据该图像帧中目标对象的深度信息确定该图像帧中目标对象的姿态;其中,本文中所说的姿态可以包括目标对象相对于图像设备所在位置(例如,拍摄位置)的旋转角度和/或位置;例如,在目标对象为人脸部的情况下,该姿态可以包括该人脸的角度、和/或人脸的位置(这里的位置可以包括人脸的高度位置和/或水平位置)。\n[0029] 步骤S103,将该图像帧中目标对象所对应的空间点云的位置还原至目标对象处于基准姿态(其中,基准姿态是指目标对象处于基准位置,且相对于拍摄点的旋转角度为基准角度时的姿态)时的位置。具体而言,因为图像帧采样的间隔较短,所以在接收到的单个图像帧(其中包含深度信息)中,目标对象所在的区域与基准帧(当前三维模型)的点云区域基本上都会有交叠(即,在基准帧中和当前图像帧中都采包括目标对象的某个部位,而在该当前图像中该部位所对应的点同样存在于基准帧中,只是因为该当前帧中的目标对象相比于基准帧中的该目标对象存在姿态变化(包括旋转和/或位移),导致该部位所对应的这些点的位置出现变化,不同于基准帧中相应点的位置),根据当前图像帧中该目标对象所在区域的深度信息,就能够确定该图像帧中的目标对象相对于基准位置的旋转角度与平移距离,这样,就能够对当前帧中目标对象所在区域的点云进行旋转和移位,使得目标对象在该当前图像帧中所对应的大量空间离散点,变换至当目标对象处于基准帧中目标对象处于基准姿态时各点的相应空间位置;\n[0030] 步骤S105,根据还原后的空间点云对基准帧中目标对象的处于基准姿态时的基准点云进行更新;\n[0031] 步骤S107,根据更新后的基准点云建立三维模型(建立三维模型既包括建立新的三维模型,也包括利用当前更新后的基准点云对原三维模型进行更新)。\n[0032] 借助于本发明的上述技术方案,能够通过后续接收到的图像帧中的空间点云对基准帧的空间点云进行不断更新,即使视频采集设备的性能较差,只能够采集到稀疏的点云,但是通过这种不断进行图像采集并更新基准点云的方案,能够让原本较为稀疏的点变得更加密集,从而有效提高了建模的准确度,解决了很多情况下因为设备精度不足导致建模准确性下降的问题,避免采用昂贵的图像采集设备;并且,本发明通过对点云的位置进行还原,能够克服难以设置图像采集设备的问题,即使图像采集设备不能够根据目标对象的姿态而改变位置,也能够将其还原为基准姿态,从而对基准姿态的图像帧进行更新,降低了建模的难度。\n[0033] 并且,对于接收的每个图像帧,在还原该图像帧中目标对象所对应的空间点云的位置之前,可以先判断该图像帧中目标对象的尺寸与基准帧中目标对象的尺寸是否相同;\n在判断结果为尺寸不同的情况下,根据该图像帧中目标对象与基准帧中目标对象的尺寸差异,对目标对象的尺寸进行缩放。\n[0034] 通过先进行尺寸判断再进行点云位置还原,能够有效避免因为目标对象远离或靠近图像采集设备而导致当前图像帧的点云与原有图像帧的点云存在差异的问题,在修正尺寸差异之后进行还原能够进一步提高更新后点云的准确性,进而改善建模的准确性。\n[0035] 此外,该方法可以进一步包括:\n[0036] 对基准点云中的每个点预先设定置信度;\n[0037] 对于基准点云中的每个点,根据该点与后续接收到的图像帧中目标对象的点云中还原后的相应点之间的位置差异,调整该点的置信度的数值。\n[0038] 并且,在根据更新后的基准点云建立三维模型时,根据更新后的基准点云中点的置信度建立三维模型。\n[0039] 其中,可选地,在根据还原后的空间点云对基准帧中目标对象的处于基准姿态时的基准点云进行更新时,可以将置信度的数值低于预定值的点删除。\n[0040] 另外,对于接收到的每个图像帧,在根据还原后的空间点云对基准帧中目标对象处于基准姿态时的基准点云进行更新时,可以将该图像帧中目标对象的空间点云与目标对象的基准点云进行组合,得到更新后的基准点云。另外,在每次对基准点云更新完成后,也可以考虑对基准模型对应的三维模型进行更新。\n[0041] 下面将对置信度的调整和点云更新的过程进行举例描述。\n[0042] 例如,假设基准帧中某个点P的置信度数值为5(该值可以是预设的初始值,也可以是根据之前多个图像帧调整后的结果值),在获得之后的第一帧A之后,会将帧A的空间点云与基准帧的空间点云进行组合,得到新的基准点云,此时,更新后的基准点云不仅包括基准帧中的点P,还包括帧A中的点PA,如果帧A中该点PA的位置与基准帧中该点P的距离大于预定距离,则认为目标对象出现了较为明显的变化,此时可以将基准帧中该点P的置信度数值减小,例如,变为4。在获得之后的第二帧B后,会将第二帧的空间点云与之前更新后的基准点云进行组合,此时,组合后的空间点云包括点P、点PA、以及帧B中相应的点PB。如果点PB与点P的距离仍旧大于预定距离,而与帧A中点PA的距离小于预定距离,则会进一步降低基准帧中点P的置信度数值(例如,从4减小为3),而帧A中点的置信度数值会增加。\n[0043] 以此类推,当点P的置信度降低到预定值以下,则会在更新基准帧的空间点云(基准点云)时将点P从基准点云中删除;或者,也可以不将置信度低于预定值以下的点删除,而在建立模型时不考虑这些点。\n[0044] 借助于上述方案,目标对象的姿态或外形由某个常态短暂地变为一个暂态,之后又恢复为常态,由于常态下采集的目标对象的空间点云的点距离彼此相近,与暂态下空间点云的点距离差异较大,随着时间的累积,暂态下位置变化的点将会被删除,在建模时仍旧会参照常态下的点。另外,类似地,如果目标对象从某一暂态变为常态,通过考虑每个点置信度,也能够随着帧数的累积,将暂态时对应的点删除,基于常态下的目标对象进行建模。\n[0045] 例如,当人的表情和/或姿态出现短暂变化时,采用上述方案能够有效避免因为这种变化降低建模准确性的问题。\n[0046] 在其他实施例中,置信度的数值可以设置为其他值,例如,可以设置为小于1的非整数,相应地调整该数值的步长也可以进行修改,而不局限于以上所描述的具体实例。\n[0047] 此外,在对基准帧进行更新时,可以在每次获取到一个图像帧时,立即对基准帧更新一次,即,实现在线更新。\n[0048] 此外,在相关技术中,虽然也有方法采用令头部固定在相同位置,而移动深度数据采集设备的方式,获取头部各点在世界坐标系中的坐标,这种方法需要在头部周围移动采集设备,非常不便于将设备安置在固定位置,且在采集数据过程中要求头部信息保持不变,也很不便于使用。\n[0049] 对于该问题,本发明提出:对于接收到的首个图像帧,在其中检测目标对象,确定该首个图像帧中所述目标对象所在的位置;对于之后接收到的每个后续图像帧,利用区域跟踪技术在当前图像帧中对前一帧的目标对象进行跟踪,从而确定该图像帧中目标对象所在的位置。当这种跟踪失效时(即,在某个后续图像帧中,无法通过跟踪确定所述目标对象所在位置),则重新采用目标检测,从而在图像帧中检测目标对象并确定目标对象的位置。\n在本发明的另一种可选实施例中,还可以对每个图像帧都进行目标检测,来确定目标对象所在的位置。\n[0050] 其中,在对目标对象进行跟踪时,可以采用多种技术确定目标图像的位置,例如,可以采用卡尔曼滤波(Kalman滤波)、和连续自适应的MeanShift算法(Continuously Adaptive Mean-SHIFT,简称为CamShift)进行目标对象的跟踪,并且上述两种方法可以单独使用,也可以组合使用。另外,本发明同样可以使用其他的跟踪技术,从而解决对象跟踪的问题,对于其他能够用于对象跟踪的技术,本文不再一一列举。\n[0051] 这样,可以无需采用复杂而难以实现的方式来设置图像采集设备(例如,让图像采集设备环绕目标对象运动),而只需将图像采集设备设置在固定位置就能够采集到运动的目标对象并针对目标对象进行建模,降低了设置设备的难度,方便图像的采集以及建模。\n[0052] 可选地,每个图像帧由视频采集设备采集,视频采集设备包括深度视频采集设备、和/或彩色视频采集设备。在实际应用中,在采集图像帧时,可以采用一个或多个深度视频采集设备,也可以采用多个彩色视频采集设备,另外,还可以将彩色视频采集设备和深度视频采集设备进行组合使用,只要能够获得目标对象的深度信息即可。\n[0053] 此外,对于人脸建模的场景,在一优选实施例中,上述目标对象可以为人的头部或脸部,而上述基准姿态可以为目标对象处于正面的姿态。在其他实施例中,上述目标对象也可能是其他固态实体(例如,茶壶、汽车等),例如人体全身,而上述基准姿态可以为该目标对象特征最明显的姿态(相应的目标检测结果精度最高),例如正面的人体全身。实际上,相对于某一指定图像采集位置(拍摄点),在目标对象处于某个姿态时采集到的图像能够区别于目标对象处于其他姿态时采集的图像(例如,借助于目标对象处于不同姿态时,其特征部位所在位置的不同可以区别目标对象的姿态),那么,就可以将这种姿态作为基准姿态。\n[0054] 在人脸建模时,往往是针对正面的人脸进行建模,进而实现人脸的识别,因此,通常会将正面的人脸作为基准姿态。而实际上,对于人的侧面脸采集的图像同样能够区别于人脸处于其他姿态下采集的图像,所以本发明的方案同样可以将人的侧面连作为基准姿态,进行脸部建模。\n[0055] 类似地,对于其他固态对象,例如,在对汽车进行三维建模时,同样可以将汽车正面面对图像采集设备时作为基准姿态,从而针对汽车的正面进行建模,也可以将汽车侧面面对图像采集设备、或以其他旋转角度面对图像采集设备时的姿态作为基准姿态。\n[0056] 另外,本发明的技术方案能够针对一个对象的任何部位进行建模,只要在图像帧中选择了需要建模的部位作为上述目标对象,本发明的技术方案就能够对这一部位进行跟踪,并且确定该部位在每个图像帧中的位置,并更新该部位的基准帧,使得该部位的空间点云更加密集,有效提高建模的准确性。\n[0057] 例如,如果用户选择了一个图像帧中出现的人的肩部作为目标对象,可以将该图像帧作为基准帧,将该基准帧中肩部的姿态(肩部所呈角度)作为基准姿态,此时,在后续获取的每个图像帧中,将对手部进行跟踪,确定手部所在的位置\n[0058] 此外,本发明的技术方案不仅仅能够进行目标对象处于基准姿态的建模,还能够建立目标对象的360度模型。以对人脸进行建模为例,本发明的方案可以采集正面的人脸并针对正脸进行建模,而如果基准姿态为人的侧脸,则可以采集人的侧脸并针对侧脸进行建模,类似地,本发明还可以针对头的后部或其他角度进行建模,并且通过对各种姿态下点云的采集,能够建立目标对象的360度模型。\n[0059] 此外,即使预先规定正面朝向拍摄点的人脸为基准姿态,由于在采集图像帧时,人脸会进行旋转,当采集到人的侧脸时,人头部侧面的部分点和后面的部分点同样会存在于图像帧中,此时本发明的技术方案会将该图像帧中人头部的点云进行旋转(如果人脸的位置出现变化,还会进行位移)(即,将这些点改变为处于基准姿态下时的位置),再将这些点与基准帧中处于基准姿态下的人脸的空间点云进行组合(参见步骤S105),从而对基准帧中人脸部的空间点云进行更新。在进行上述操作的同时,当前图像帧中人头部侧面的点和后面的点同样会随着脸部点进行相应的旋转和位移,在用当前帧的空间点云对基准帧的空间点云进行更新之后,基准帧中不仅包括正面人脸的点,还将包括人头部侧面的点和后面的点。这样,随着目标对象的不断运动和旋转,就能够采集到人头部各个部位的点,这样,就能够对人的整个头部进行建模,并且随着图像帧数量的增加,基准帧中的点云不断被更新,而人头部其他位置的点也会与人脸部的点一样变得更加密集,头部建模也会随着在线更新的过程变得更加准确。\n[0060] 类似地,对于其他固态实体,同样能够借助本发明的技术方案进行360度空间立体建模。\n[0061] 下面将以根据人的头部进行建模为例,对本发明的技术方案进行描述。\n[0062] 在实现本发明的技术方案时,需要接收包含人体头部的图像序列;\n[0063] 对人体头部进行跟踪以获取头部正面,侧面及背面的深度信息;\n[0064] 基于头部的深度信息计算头部点的空间位置并建立头部三维模型。\n[0065] 其中,可以获取正面人脸所在区域初始位置以便对头部区域进行定位,以便确定人脸部所在的位置。\n[0066] 并且,基于已经获取的图像帧,可以根据头部点的空间位置和当前头部三维模型,估计头部的姿态方向(正面、侧面、背面);根据头部的姿态方向,恢复头部三维模型的相应区域。\n[0067] 并且,在进行建模时,可以通过在视频序列中对人体头部进行跟踪,对头部模型进行在线更新。\n[0068] 图2示出了对人的头部进行建模的流程。\n[0069] 如图2所示,具体包括以下步骤:\n[0070] S201,摄像头信息获取与帧图像对齐。\n[0071] 获取系统中的彩色摄像头与深度摄像头的相机内参数,将深度图像对齐到彩色图像上,并获取深度摄像头的焦距记为f,其中,可以将对齐后的彩色图像与深度图像分别记为I和D。需要注意的是,如果仅采用彩色摄像头或深度摄像头,则不需要进行此步骤。\n[0072] S202,检测人脸区域初始位置。\n[0073] 根据获取的彩色图像与/或深度图像,检测人脸区域的初始位置,作为头部三维模型重建的初始化数据,这种检测可以只基于彩色图像,或只基于深度图像,或同时基于彩色图像和深度图像。\n[0074] 假设彩色图像I和深度图像D,检测到人脸区域FACEi,i是检测到人脸的索引号,选择最大的人脸区域记为F,即在彩色图像中的区域为IF,在深度图像中的区域为DF。\n[0075] S203,人脸区域跟踪检测。\n[0076] 对检测到的人脸区域在视频流中进行跟踪,可以采用人脸检测与目标跟踪的方法,这种检测与跟踪可以只基于彩色图像,或只基于深度图像,或同时基于彩色图像和深度图像。跟踪到的人脸区域在彩色图像与深度图像中的区域表示为F。\n[0077] S204,计算头部点的空间位置。\n[0078] 根据深度图像上各点的深度值,通过透视变换计算各个图像像素在空间中的位置坐标,其坐标系原点位于深度图像的中心。令深度图像上的一个点P的图像坐标为(X,Y),其深度值为D,则其在空间中的位置p的位置坐标(x,y,z)的计算方法如下:\n[0079] x=(X-w/2)*D/f;\n[0080] y=(h/2-Y)*D/f;\n[0081] z=D;\n[0082] 其中,w为摄像头拍摄的图像宽度,h为图像高度。\n[0083] 由于深度摄像头本身的精度限制,对于具有测量深度值且计算出空间位置的点,同时在其上保存一个置信度conf,用于表示该点位于该空间位置的可靠程度。在本实施例中,可以令conf=0.1。\n[0084] S205,估计头部在三维空间中的姿态方向。\n[0085] 根据当前视频帧中各个头部点的空间位置,采用迭代最近点方法估计一个最佳的变换矩阵,该变换矩阵包括沿X、Y、Z三个坐标轴的旋转角度和平移距离,使得当前视频帧中的头部点的空间位置经过该变换后,可以与已经恢复出的头部模型最好地贴合。\n[0086] 迭代最近点方法无法用于估计模型的缩放比例。在本实施例中,首先估计头部的缩放比例s(例如,可以采用Active Shape Model进行估计),并计算沿三个坐标轴的旋转角度和平移距离,作为迭代的初始值。根据s对视频帧中各个头部点的空间位置进行缩放,然后再使用迭代最近点方法估计变换矩阵T。\n[0087] S206,三维模型重建。\n[0088] 在本实施例中,使用八叉树结构来表示一个三维模型。根据估计出的头部在三维空间中的姿态方向,对当前视频帧中各个头部点的空间位置p进行变换T,从而得到其对应的变换后的空间位置pT,该空间点的置信度与p的置信度相同,其中,pT=T*(s*p)。\n[0089] 该头部三维模型只保存头部的外部模型,每个视频帧只能采集到至多半个头部的图像。对于计算出的变换后的空间点pT(xT,yT,zT),其对应于模型上的一点p0(x0,y0,z0),其中x0=xT,y0=yT,修正p0的空间坐标。在整个头部三维模型中,具有相同的x和y坐标的点共有两个(头部前部p0f和头部后部p0b),它们的z坐标不同。在本实施例中,构造头部三维模型时,使用整个头部的中心点作为坐标系原点,即z=0,因此p0f和p0b的z坐标的正负符号相反。根据zT的正负号,选择相应的p0f或者p0b作为与pT对应的p0。\n[0090] 根据点pT(xT,yT,zT)与置信度confT,和其所对应的模型上的点p0(x0,y0,z0)与置信度conf,来计算更新后的空间位置pM(xM,yM,zM),其计算方法如下:\n[0091] xM=x0;\n[0092] yM=y0;\n[0093] zM=(zT*confT+z0*conf)/(confT+conf);\n[0094] 新的置信度的计算方法如下:\n[0095] confM=(1.0-||pM-p0||/p0)*conf+||pM-p0||/p0*confT;\n[0096] 启动上述过程后,用户无需固定在设备前或按照规定的动作运动头部,只需自由活动,系统将自动跟踪并在线重建用户的头部三维模型。\n[0097] 随着用户出现在设备内的时间增长,所得到的三维模型也更加精确。\n[0098] 若用户的头部形态发生改变,如更换了发型,该系统可以自动在线修正三维模型,使其符合用户当前的头部形态。\n[0099] 综上所述,针对相关技术中存在的问题,本发明提供了一种基于空间深度信息的头部三维模型动态重建方案。这种方法和系统首先在输入视频中检测到正面脸,然后自动在三维空间中跟踪该头部区域,计算各头部点的空间位置,并估计头部的姿态角度,再根据该姿态角度来恢复头部相应区域的三维模型。本发明在无需依赖昂贵数据采集设备的前提下,有效地提高了头部三维模型的重建精度,且可以将采集设备安装在固定位置,便于数据采集,而所提供的动态重建方法,能够支持头部三维模型的在线更新;并且,本发明的技术方案对于任何在一个或多个姿态下能显现出其外表特征的对象都可以适用,只要在目标对象旋转或运动过程中,能够根据这些特征所在的位置将当前图像帧中对象的姿态还原至目标对象处于基准姿态时的位置即可;另外,不论是针对人脸还是其他目标对象,本发明的技术方案都能够进行360度空间建模。\n[0100] 并且,本发明提供的技术方案能够在头部姿态、表情、外形变化的情况下,准确地建立头部三维模型,并且通过跟踪空间中的头部区域,实现三维模型的在线更新,并结合头部姿态估计,增强了对头部变化的鲁棒性,从而实现对姿态、表情、外形变化的支持。类似地,对于其他目标对象,同样可以进行三维建模,并且能够达到类似的效果,并且,在对于其他目标对象进行建模时,即使其外貌出现了细节变化,本发明的技术方案同样能够支持这些变化,保证建模的准确性。\n[0101] 根据本发明的实施例,还提供了一种三维模型的建立装置。\n[0102] 如图3所示,根据本发明实施例的三维模型的建立装置包括:\n[0103] 确定模块31,用于对接收到的每个图像帧,根据该图像帧中目标对象的深度信息确定该图像帧中目标对象的姿态;\n[0104] 还原模块32,用于将该图像帧中目标对象所对应的空间点云的位置还原至目标对象处于基准姿态时的位置;\n[0105] 更新模块33,用于根据还原后的空间点云对基准帧中目标对象的处于基准姿态时的基准点云进行更新;\n[0106] 建立模块34,用于根据更新后的基准点云建立三维模型。\n[0107] 根据本发明的装置还可以进一步包括:\n[0108] 判断模块(未示出),用于对接收的每个图像帧,在还原该图像帧中目标对象所对应的空间点云的位置之前,判断该图像帧中目标对象的尺寸与基准帧中目标对象的尺寸是否相同;\n[0109] 缩放模块(未示出),用于在判断模块的判断结果为尺寸不同的情况下,根据该图像帧中目标对象与基准帧中目标对象的尺寸差异,对目标对象的尺寸进行缩放。\n[0110] 此外,为了避免目标对象的暂态对建模结果造成不良影响,该装置可以进一步包括:\n[0111] 设置模块(未示出),用于对基准点云中的每个点预先设定置信度;\n[0112] 调整模块(未示出),用于对基准点云中的每个点,根据该点与后续接收到的图像帧中目标对象的点云中还原后的相应点之间的位置差异,调整该点的置信度的数值。\n[0113] 在根据更新后的基准点云建立三维模型时,可以根据更新后的基准点云中点的置信度建立三维模型。\n[0114] 此外,更新模块33进一步用于将置信度的数值低于预定值的点删除。\n[0115] 另外,更新模块33可以用于将该图像帧中目标对象的空间点云与目标对象的基准点云进行组合,得到更新后的基准点云。\n[0116] 此外,上述确定模块31还用于对接收到的每个图像帧,确定该图像帧中目标对象所在的位置;\n[0117] 另外,本发明的上述装置进一步包括检测模块(未示出)和跟踪模块(未示出),其中,检测模块用于在接收到首个图像帧时,在该首个图像帧中检测目标对象,确定该首个图像帧中目标对象所在的位置;跟踪模块用于在晚于首个图像帧接收到的每个后续图像帧中跟踪目标对象,确定目标对象在每个后续图像帧中的位置,以避免采用更加复杂的方式设置图像采集设备;其中,对于无法通过跟踪确定目标对象所在位置的后续图像帧,检测模块还用于在该后续图像帧中重新检测目标对象,确定目标对象的位置。\n[0118] 在另一实施例中,本发明的上述装置可以包括检测模块而不包括跟踪模块,从而检测模块能够对每个图像帧进行目标对象的检测,确定每个目标对象的位置。\n[0119] 此外,每个图像帧由视频采集设备采集,视频采集设备包括深度视频采集设备、和/或彩色视频采集设备。\n[0120] 可选地,目标对象包括人的头部或脸部。另外,目标对象的基准姿态为目标对象处于正面的姿态。\n[0121] 综上所述,借助于本发明的技术方案,通过对图像帧中的目标姿态进行估计并对空间点云位置进行还原,能够有效估计目标的姿态,降低建模的难度;另外,本发明通过利用后续图像帧中的空间点云对基准帧中的空间点云进行更新,能够使得用于建模的空间点云中点的密度不断增加,即使用于采用图像的设备性能不高,也能够通过对多个图像帧点云的组合得到更加密集的点云,进而提高建模的准确度,并且能够有助于降低建模的成本;\n另外,借助于本发明对空间点云的不断更新,能够采集到目标对象在360度范围内的多个点,从而有助于实现目标对象的360度空间建模,并且随着目标对象的旋转不断更新空间点云,目标对象各个部位的点都会变得更加密集,进而提高建模的准确性。\n[0122] 以上结合具体实施例描述了本发明的基本原理,但是,需要指出的是,对本领域的普通技术人员而言,能够理解本发明的方法和装置的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本发明的说明的情况下运用它们的基本编程技能就能实现的。\n[0123] 因此,本发明的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本发明的目的也可以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本发明,并且存储有这样的程序产品的存储介质也构成本发明。显然,所述存储介质可以是任何公知的存储介质或者将来所开发出来的任何存储介质。\n[0124] 在通过软件和/或固件实现本发明的实施例的情况下,从存储介质或网络向具有专用硬件结构的计算机,例如图4所示的通用计算机400安装构成该软件的程序,该计算机在安装有各种程序时,能够执行各种功能等等。\n[0125] 在图4中,中央处理模块(CPU)401根据只读存储器(ROM)402中存储的程序或从存储部分408加载到随机存取存储器(RAM)403的程序执行各种处理。在RAM 403中,也根据需要存储当CPU401执行各种处理等等时所需的数据。CPU 401、ROM 402和RAM 403经由总线\n404彼此连接。输入/输出接口405也连接到总线404。\n[0126] 下述部件连接到输入/输出接口405:输入部分406,包括键盘、鼠标等等;输出部分\n407,包括显示器,比如阴极射线管(CRT)、液晶显示器(LCD)等等,和扬声器等等;存储部分\n408,包括硬盘等等;和通信部分409,包括网络接口卡比如LAN卡、调制解调器等等。通信部分409经由网络比如因特网执行通信处理。\n[0127] 根据需要,驱动器410也连接到输入/输出接口405。可拆卸介质411比如磁盘、光盘、磁光盘、半导体存储器等等根据需要被安装在驱动器410上,使得从中读出的计算机程序根据需要被安装到存储部分408中。\n[0128] 在通过软件实现上述系列处理的情况下,从网络比如因特网或存储介质比如可拆卸介质411安装构成软件的程序。\n[0129] 本领域的技术人员应当理解,这种存储介质不局限于图4所示的其中存储有程序、与装置相分离地分发以向用户提供程序的可拆卸介质411。可拆卸介质411的例子包含磁盘(包含软盘(注册商标))、光盘(包含光盘只读存储器(CD-ROM)和数字通用盘(DVD))、磁光盘(包含迷你盘(MD)(注册商标))和半导体存储器。或者,存储介质可以是ROM402、存储部分\n408中包含的硬盘等等,其中存有程序,并且与包含它们的装置一起被分发给用户。\n[0130] 还需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。\n[0131] 虽然已经详细说明了本发明及其优点,但是应当理解在不脱离由所附的权利要求所限定的本发明的精神和范围的情况下可以进行各种改变、替代和变换。而且,本申请的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者装置中还存在另外的相同要素。
法律信息
- 2018-06-05
- 2016-02-10
实质审查的生效
IPC(主分类): G06T 17/00
专利申请号: 201310083981.6
申请日: 2013.03.15
- 2014-09-17
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |