本发明涉及计算机视觉和计算机图形学领域,尤其涉及一种多相机构建人体点云的方法及装置。
背景技术:
3d建模通俗来讲就是通过三维制作软件,通过虚拟三维空间构建出具有三维数据的模型,被广泛的应用到工业设计,服装行业,医疗等领域。在对人体进行3d建模过程中,人体参数的采集方式及便利性,将直接决定各类应用的普遍适用性,进而影响到相应产业或产品的大规模推广应用。
现阶段随着深度相机的逐步推广使用,以及对构建的模型的精度的要求,通过深度相机进行采集将逐步普及。
技术实现要素:
本发明实施例的目的在于提供一种多相机构建人体点云的方法及装置,旨在提供一种高精度,高质量的人体点云构建方案,实现快速采集人体数据信息,高精度的构建人体点云数据的效果。
第一方面,本发明实施例是这样实现的,一种多相机构建人体点云的方法,所述方法包括:
对多台相机进行标定;
通过多台相机采集深度图数据;
对采集到的深度图数据进行点云预处理;
对预处理后的点云数据进行配准,生成完整的人体点云。
在一个可能的设计中,所述对多台相机进行标定包括:
采用动态全局标定方法对多台相机进行标定;
采用静态校准方法对多台相机进行校准标定。
在一个可能的设计中,所述方法在通过多台相机采集深度图数据之后,还包括:
对采集到的深度图数据进行平均处理,取平均处理后的深度图数据作为最终的深度图数据。
在一个可能的设计中,所述对采集到的深度图数据进行点云预处理包括:
根据深度图中深度值的范围剔除背景噪点;
对深度图进行腐蚀处理,剔除身体边缘的噪声飞点;
采用随机采样一致性方法剔除地面噪声;
采取统计滤波与半径去噪的方法去除离群点。
在一个可能的设计中,所述对预处理后的点云数据进行配准包括:
将不同相机下预处理后的点云数据进行初始坐标变换,转换到同一坐标系中;
将不同相机下的点云进行两两配准,并采用elch的方法进行误差均摊,最终形成闭环的融合点云。
在一个可能的设计中,所述方法在生成完整的人体点云之后,还包括:
采用移动最小二乘的方法对点云进行平滑处理,得到人体表层的点云数据。
第二方面,本发明实施例的另一目的在于提供一种多相机构建人体点云的装置,所述装置包括:
标定单元,用于对多台相机进行标定;
采集单元,用于通过多台相机采集深度图数据;
预处理单元,用于对采集到的深度图数据进行点云预处理;
配准单元,用于对预处理后的点云数据进行配准,生成完整的人体点云。
在一个可能的设计中,所述标定单元包括:
动态标定单元,用于采用动态全局标定方法对多台相机进行标定;
静态标定单元,用于采用静态校准方法对多台相机进行校准标定。
在一个可能的设计中,所述装置还包括:
深度图处理单元,用于对采集到的深度图数据进行平均处理,取平均处理后的深度图数据作为最终的深度图数据。
在一个可能的设计中,所述预处理单元包括:
去噪单元,用于根据深度图中深度值的范围剔除背景噪点;
去边缘单元,用于对深度图进行腐蚀处理,剔除身体边缘的噪声飞点;
去地面单元,用于采用随机采样一致性方法剔除地面噪声;
去离群点单元,用于采取统计滤波与半径去噪的方法去除离群点。
在一个可能的设计中,所述配准单元包括:
坐标变换单元,用于将不同相机下预处理后的点云数据进行初始坐标变换,转换到同一坐标系中;
配准融合单元,用于将不同相机下的点云进行两两配准,并采用elch的方法进行误差均摊,最终形成闭环的融合点云。
在一个可能的设计中,所述装置还包括:
平滑处理单元,用于采用移动最小二乘的方法对点云进行平滑处理,得到人体表层的点云数据。
第三方面,本发明实施例是这样实现的,提供一种计算机可读存储介质,所述介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行上述第一方面所述的构建人体点云的方法。
第四方面,本发明实施例是这样实现的,提供一种包含指令的计算机程序产品,其特征在于,当所述指令在计算机上运行时,使得计算机执行上述第一方面所述的构建人体点云的方法。
本发明实施例通过对多台相机进行标定,之后根据标定的相机采集深度图数据,再对深度图数据进行点云预处理,之后对预处理的点云数据进行配准,得到完整的人体点云,通过先采用动态全局标定进行标定处理,之后再通过静态校准方法进行校准标定,该标定方式可以大幅度提高对多台相机进行标定的标定效率以及标定的精度,在后续对点云处理的过程中充分利用多相机的优势,通过两两之间相互配准校准的方式进行配准,得到一个高精度的人体点云。
附图说明
图1是本发明第一实施例提供的一种多相机构建人体点云的方法的实现流程图;以及
图2是本发明第二实施例提供的一种多相机构建人体点云的装置的结构图。
具体实施方式
为了使本领域的技术人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
以下结合具体实施例对本发明的具体实现进行详细描述:
实施例一:
图1示出了本发明第一实施例提供的一种多相机构建人体点云的方法的实现流程,详述如下:
在步骤s101中,对多台相机进行标定。
在具体实施过程中,首先需要对多台摄像机进行标定处理,其中对相机标定的方式优选的采用先进行动态的全局标定方法对多台相机进行标定,然后再在此基础之上通过静态校准标定的方法对多台相机进行校准标定。因相机本身存在一定的可视角度,相机只能采集到有限角度下的信息,通过多台相机采集人体的立体信息也是通过多台相机在不同的视角下进行数据采集,之后再进行拼接,即在进行采集的过程中可视物不论是人体还是其他物品最优的位置是要在相机的公共可视区域内,但是因为人体或其他物品必然是占据一定的空间体积的,为了能够对多台相机进行较为充分的标定,即需要尽量对相机可采集的范围进行充分的标定校验,而通过动态全局标定的方法对多台相机进行标定即可以满足全局标定的需求,为了提高标定的速度以及精准度,动态标定时使用多个固定的小球在全局范围内进行运动,以运动的小球作为标定的动态参考来实现动态的全局标定。在进行了动态全局标定以后,再进行静态校准标定,静态校准标定可以选用棋盘格或者立方体形态的多面棋盘格,将立方体放置在公共区域对已经完成动态全局标定的相机进行校准标定,采用动态全局标定时,获取球心进行标定会存在一定的误差,而通过立方体的棋盘格角点,可以有效的进行校准,角点校准可以得到精准的三维坐标信息,进行有效的对多台相机进行标定。
在步骤s102中,通过多台相机采集深度图数据。
在具体实施过程中,在对多台相机进行标定后,就可以通过多台相机来采集人体的深度图数据,因为深度相机本身自带的有微芯片对采集的数据进行处理,通过检测深度相机对同一物品采集到的深度图数据的分析发现,深度相机采集设备会出现数据不稳定的情况,即不同帧的数据在具体数值上存在一定的偏移,为了得到稳定一致且相对更为精准的深度图数据,需要对深度图数据进行必要的处理,以避免由于深度相机本身采集数据时的特性而造成的数据偏移问题,此时可以采用的方式为对深度相机采集到的数据进行平均处理,增强采集到的数据的稳定性,以避免数据出现偏移造成最终数据不稳定的情况,通过对每台深度相机进行处理,最终再通过每台深度相机采集各自角度下的深度图数据。
在步骤s103中,对采集到的深度图数据进行点云预处理。
在具体实施过程中,通过深度相机采集到深度图数据以后,对深度图数据进行点云的预处理,具体预处理的过程可以是,首先根据深度图中深度值的范围剔除背景噪点,因最终需要的是人体的点云数据,其他无关的数据就需要在这个过程中都要先予剔除,首先就将背景噪点进行去除,之后对深度图进行腐蚀处理,再剔除人身体边缘部分的噪声飞点,再采用随机采样一致性的方法剔除地面的噪声,最后根据数据值的密度特点进行滤波处理,设置合理的阈值,采取统计滤波与半径去噪的方法去除离群点,得到预处理后的点云数据。
在步骤s104中,对预处理后的点云数据进行配准,生成完整的人体点云。
在具体实施过程中,对深度图数据进行点云的预处理以后,因为深度图相机分别在不同的角度取不同角度下的深度图数据,而预处理后的点云数据也只是在各个角度下不完整的点云数据,此时需要将各个角度下的点云数据进行配准,配准前首先需要将点云数据统一在一个立体坐标系下进行处理,此时首先将不同相机下预处理后的点云数据进行初始坐标变换,转换到同一坐标系中,然后将不同相机下的点云进行两两配准,在具体的实施过程中根据需要精度的要求可以配置若干相机,例如在纵向方向放置2至5个相机,在横向方向放置3至6个相机,而不用位置的相机在两两之间会采集到相同的点云数据,通过该相同区域的点云可以在融合过程中进行相互校验补充,在两两之间进行配准的过程中还可以采用elch(explicitloopclosingheuristic)的算法来进行误差均摊,最终将各个分散的点云数据融合成一个闭环的融合点云。
在将点云融合成一个完整的闭合点云后,点云数据本身由于所存在的点数据会出现分层的现象,此时可以进一步的通过移动最小二乘的方法进行平滑处理,得到皮肤或者贴身服饰表层的点云数据。
本发明实施例通过上述方式,一种多相机构建人体点云的方法,先对多台相机进行标定,然后使用多台标定后的相机采集深度图数据,进而对深度图数据进行处理以及配置等操作,将多相机采集到的点云数据融合成一个完整的闭环的人体点云数据,在对多相机进行标定时,先采用动态全局标定进行标定处理,之后再通过静态校准方法进行校准标定,该标定方式可以大幅度提高对多台相机进行标定的标定效率以及标定的精度,在后续对点云处理的过程中充分利用多相机的优势,通过两两之间相互配准校准的方式进行配准,得到一个高精度的人体点云,该高精度的点云几乎可以达到与人体完全一致的精度尺寸,同时又是人体自身的形态体征,后续可以应用在各种虚拟仿真和数据的相关处理中,例如工业设计,服装,医疗等方面。
实施例二:
图2示出了本发明第二实施例提供的一种多相机构建人体点云的装置的结构图,为了便于说明,仅示出了与本发明实施例相关的部分。
标定单元201,用于对多台相机进行标定。
在具体实施过程中,标定单元包括:动态标定单元,用于采用动态全局标定方法对多台相机进行标定;静态标定单元,用于采用静态校准方法对多台相机进行校准标定。首先需要对多台摄像机进行标定处理,其中对相机标定的方式优选的采用先进行动态的全局标定方法对多台相机进行标定,然后再在此基础之上通过静态校准标定的方法对多台相机进行校准标定。因相机本身存在一定的可视角度,相机只能采集到有限角度下的信息,通过多台相机采集人体的立体信息也是通过多台相机在不同的视角下进行数据采集,之后再进行拼接,即在进行采集的过程中可视物不论是人体还是其他物品最优的位置是要在相机的公共可视区域内,但是因为人体或其他物品必然是占据一定的空间体积的,为了能够对多台相机进行较为充分的标定,即需要尽量对相机可采集的范围进行充分的标定校验,而通过动态全局标定的方法对多台相机进行标定即可以满足全局标定的需求,为了提高标定的速度以及精准度,动态标定时使用多个固定的小球在全局范围内进行运动,以运动的小球作为标定的动态参考来实现动态的全局标定。在进行了动态全局标定以后,再进行静态校准标定,静态校准标定可以选用棋盘格或者立方体形态的多面棋盘格,将立方体放置在公共区域对已经完成动态全局标定的相机进行校准标定,采用动态全局标定时,获取球心进行标定会存在一定的误差,而通过立方体的棋盘格角点,可以有效的进行校准,角点校准可以得到精准的三维坐标信息,进行有效的对多台相机进行标定。
采集单元202,用于通过多台相机采集深度图数据
在具体实施过程中,在对多台相机进行标定后,就可以通过多台相机来采集人体的深度图数据,因为深度相机本身自带的有微芯片对采集的数据进行处理,通过检测深度相机对同一物品采集到的深度图数据的分析发现,深度相机采集设备会出现数据不稳定的情况,即不同帧的数据在具体数值上存在一定的偏移,为了得到稳定一致且相对更为精准的深度图数据,需要对深度图数据进行必要的处理,以避免由于深度相机本身采集数据时的特性而造成的数据偏移问题,深度图处理单元,用于对采集到的深度图数据进行平均处理,取平均处理后的深度图数据作为最终的深度图数据,此时可以采用的方式为对深度相机采集到的数据进行平均处理,增强采集到的数据的稳定性,以避免数据出现偏移造成最终数据不稳定的情况,通过对每台深度相机进行处理,最终再通过每台深度相机采集各自角度下的深度图数据。
预处理单元203,用于对采集到的深度图数据进行点云预处理。
在具体实施过程中,预处理单元包括:去噪单元,用于根据深度图中深度值的范围剔除背景噪点;去边缘单元,用于对深度图进行腐蚀处理,剔除身体边缘的噪声飞点;去地面单元,用于采用随机采样一致性方法剔除地面噪声;去离群点单元,用于采取统计滤波与半径去噪的方法去除离群点。通过深度相机采集到深度图数据以后,对深度图数据进行点云的预处理,具体预处理的过程可以是,首先根据深度图中深度值的范围剔除背景噪点,因最终需要的是人体的点云数据,其他无关的数据就需要在这个过程中都要先予剔除,首先就将背景噪点进行去除,之后对深度图进行腐蚀处理,再剔除人身体边缘部分的噪声飞点,再采用随机采样一致性的方法剔除地面的噪声,最后根据数据值的密度特点进行滤波处理,设置合理的阈值,采取统计滤波与半径去噪的方法去除离群点,得到预处理后的点云数据。
配准单元204,用于对预处理后的点云数据进行配准,生成完整的人体点云。
在具体实施过程中,配准单元包括:坐标变换单元,用于将不同相机下预处理后的点云数据进行初始坐标变换,转换到同一坐标系中;配准融合单元,用于将不同相机下的点云进行两两配准,并采用elch的方法进行误差均摊,最终形成闭环的融合点云。对深度图数据进行点云的预处理以后,因为深度图相机分别在不同的角度取不同角度下的深度图数据,而预处理后的点云数据也只是在各个角度下不完整的点云数据,此时需要将各个角度下的点云数据进行配准,配准前首先需要将点云数据统一在一个立体坐标系下进行处理,此时首先将不同相机下预处理后的点云数据进行初始坐标变换,转换到同一坐标系中,然后将不同相机下的点云进行两两配准,在具体的实施过程中根据需要精度的要求可以配置若干相机,例如在纵向方向放置2至5个相机,在横向方向放置3至6个相机,而不用位置的相机在两两之间会采集到相同的点云数据,通过该相同区域的点云可以在融合过程中进行相互校验补充,在两两之间进行配准的过程中还可以采用elch(explicitloopclosingheuristic)的算法来进行误差均摊,最终将各个分散的点云数据融合成一个闭环的融合点云。
在将点云融合成一个完整的闭合点云后,平滑处理单元,用于采用移动最小二乘的方法对点云进行平滑处理,得到人体表层的点云数据。点云数据本身由于所存在的点数据会出现分层的现象,此时可以进一步的通过移动最小二乘的方法进行平滑处理,得到皮肤或者贴身服饰表层的点云数据。
本发明实施例通过上述装置,一种多相机构建人体点云的装置,先对多台相机进行标定,然后使用多台标定后的相机采集深度图数据,进而对深度图数据进行处理以及配置等操作,将多相机采集到的点云数据融合成一个完整的闭环的人体点云数据,在对多相机进行标定时,先采用动态全局标定进行标定处理,之后再通过静态校准方法进行校准标定,该标定方式可以大幅度提高对多台相机进行标定的标定效率以及标定的精度,在后续对点云处理的过程中充分利用多相机的优势,通过两两之间相互配准校准的方式进行配准,得到一个高精度的人体点云,该高精度的点云几乎可以达到与人体完全一致的精度尺寸,同时又是人体自身的形态体征,后续可以应用在各种虚拟仿真和数据的相关处理中,例如工业设计,服装,医疗等方面。
在上述发明实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如,固态硬盘solidstatedisk(ssd))等。
以上实施例仅用以对本发明实施例的技术方案进行详细介绍,但以上实施例的说明只是用于帮助理解本发明实施例的方法及其核心思想,不应该理解为对本申请的限制。本领域技术人员在本发明实施例揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明实施例的保护范围之内。