使用摄像机和电视监视器的三维物体扫描
2019-11-22

使用摄像机和电视监视器的三维物体扫描

一种使用摄像机和电视监视器的三维物体扫描。本发明涉及根据物体的二维图像建立该物体的三维模型的方法及其装置。按照本发明的建立实物物体的计算机图形模型的方法包括下列步骤:选择第一照明图案;在显示设备上显示所述第一照明图案以便照亮实物物体;获取由所述第一照明图案所照亮的所述实物物体的第一图像,其中,所述第一图像包括具有阴影值的图像点;选择第二照明图案;在显示设备上显示所述第一照明图案以便照亮实物物体;获取由所述第二照明图案所照亮的所述实物物体的第二图像,其中,所述第二图像包括具有阴影值的图像点;确定计算机图形模型的一组模型点中的每个模型点的候选表面方位,所述确定基于所述第一和第二图像的图像点的阴影值。

图3示出了根据本发明实施例的建立三维计算机图形模型的方法;

由于表面上点的阴影基于表面的方位,因此可以根据阴影值确定表面的方位。通常,来自单一光源的给定阴影值可以对应于多个可能的表面方位。然而,通过分析来自不同位置的多个光源的图像,表面点的候选方位数量可以通常减少至一个方位。对图像的额外处理以及所得到的提取的表面方位数据(诸如噪音减少和其它滤波、背景抽取、轮廓提取、以及网格(mesh)的产生、复合和简化)然后可以被用于构建物体的三维计算机模型。

本发明涉及根据物体的二维图像建立该物体的三维模型的方法及f装置。许多计算机图形图像(computergraphicimage)的建立是通过利用一个场景下的二维模型,从会S定的视点数学地建模光线的交互。这种过程称之为绘制(rendering),其从给定的视点产生场景的二维图像,并且其类似于拍摄现实世界场景的照片。当场景随着时间流逝逐渐变化时,通过绘制一系列的场景图像,可以建立动画序列。交互式软件应用程序(诸如游戏和其它教育性或娱乐性的应用程序)经常使用绘制软件和硬件以交互帧速率产生计算机图形图像,从而响应用户的输入。_

这种技术的之前实施方案在相对于物体和摄像机的特定位置上需要专门的光源。通常,这些光源的调整必须考虑(accountfor)特定物体的独特的拓扑特征、物理特征和光学特征,以建立精确和完整的物体。

本发明涉及根据物体的二维图像建立该物体的三维模型的方法及f装置。许多计算机图形图像(computergraphicimage)的建立是通过利用一个场景下的二维模型,从会S定的视点数学地建模光线的交互。这种过程称之为绘制(rendering),其从给定的视点产生场景的二维图像,并且其类似于拍摄现实世界场景的照片。当场景随着时间流逝逐渐变化时,通过绘制一系列的场景图像,可以建立动画序列。交互式软件应用程序(诸如游戏和其它教育性或娱乐性的应用程序)经常使用绘制软件和硬件以交互帧速率产生计算机图形图像,从而响应用户的输入。_

相关申请的交叉引用

系统100的实施例设置显示设备115,使得由该显示设备115所产生的图像照亮要被扫描的物体120。物体120可以是由用户所选择的任何实物物体。尽管显示设备115不是旨在在屏幕或者任何其它物体上投射图像或者图案的投影仪,但显示设备115在显示图像时,通常有足够的亮度来附带照亮物体。

图形子系统1030与数据总线1060和计算机系统1000的组件进一步连接。图形子系统1〇3〇包括图形处理单元(GPU)1035和图形存储器1040。图形存储器1040包括用于存储输出图像的每个像素的像素数据的显存(例如,帧缓冲器)。图形存储器1040可以集成在相同的装置内作为GPUl〇35,也可以作为单独的器件连接于GPU1035,和/或在内存1010中实现。可以直接从CPU10005向图形存储器1040提供像素数据。或者,CPU1005提供定义所需输出图像的数据和/或指令给GPU1035,GPU1035据此产生一个或多个输出图像的像素数据。定义所需输出图像的数据和/或指令可以存储在内存1010和/或图形存储器1040中。在一实施例中,GPUl〇35包括根据指令和数据为输出图像产生像素数据的3D绘制能力,其中指令和数据定义几何形状、照明(lighting)、阴影、结构、运动和/或场景的摄像机参数。GPU1035进一步可包括一个或多个能执行阴影化程序(shaderprograms)的可编程执行单元。

相关申请的交叉引用

图5B示意由第二照明图案520照亮的同一实例校准物体。在该实例中,第二照明图案52〇从侧面照亮校准物体。校准物体表面的区域525将具有大致相同的阴影值。由于校准物体的几何形状是已知的,区域525将与一组包括表面法向矢量530a—530h的候选表面方位组530相关联。当用同样的照明图案分析未知物体时,其阴影值相似于区域525的阴影值的任何表面点将被分配以候选表面方位组530的部分或者全部方位。对于第二照明图案,可以为具有其它阴影值的校准物体表面的其它区域进行相似的分析。

在一实施例中,通过初始化每个网格点减少每个网格点的候选表面方位值的数量以包括所有可能表面方位。当根据网格点的照明图案确定候选表面方位组时,该表面方位组与网格点的之前候选表面方位的交集(intersection)被确定。然后,该候选表面方位的相交的子集作为网格点的剩余候选表面方位被存储。来自其它的的照明图案的其它候选表面方位与方法300的后续迭代中的网格点剩下的表面方位形成交集。近似和估计技术(诸如平均处理和最小二乘法近似)可以被运用于解决来自摄像机的测量误差。

如上所述,表面光反射的阴影或者照明模型可以被用于基于来自光源的点的阴影值确定点的候选表面方位。在又一实施例中,具有已知表面方位的校准物体可以被用来改进表面方位分析的精确度。在一实施例中,系统用一个或多个照明图案照亮校准物体。通过摄像机获取在多个表面点上的校准物体的表面阴影。因为准物体具有已知的几何形状,所以每个表面点的方位也是已知的。这样,对于每个照明图案,系统存储使每个阴影值与一个或者多个候选表面方位相关联的数据结构。当以同样的照明图案分析未知物体时,表面点的阴影值可以用来从该数据结构中查找出一组候选表面方位。

处理器2000包括多个处理器单元,每个能够并行执行独立的程序。处理器2000包括PPE处理器单元处理器单元是CISC、RISC或者本领域所熟知的其它处理器架构的通用处理器。在一实例中,处理器单元2005是M位、多线程RISC架构的处理器,例如,PowerPC架构。Pro处理器单元2005可以包括分为一级、二级或者更多级的缓存(cachememory)2007,其暂时存储由PPE处理器单元2005所执行的数据和指令。