一种三维点云模型的计算全息图生成方法

文档序号:9350763阅读:1444来源:国知局
一种三维点云模型的计算全息图生成方法
【技术领域】
[0001] 本发明涉及计算全息领域,特别是涉及一种三维点云模型的计算全息图生成方 法。
【背景技术】
[0002] 近年来,三维(3d)显示变得越来越更受欢迎。相比于其他立体显示技术,全息显 示技术不仅能提供水平和垂直视差,而且也让给人深度感,是一种真正的三维显示技术。 与传统的光学全息相比,计算全息不仅能显示真实的物体,而且也能显示软件仿真的虚拟 物体。然而,计算全息图也存在着缺点,其中一个主要缺点就是计算量大,导致计算全息图 的生成速度慢,很难实现实时动态再现。
[0003] 为了实现计算全息图的实时动态显示,目前主要有两种方法。第一种方法是使用 高性能硬件来提高运算速度,如GPU。第二种方法就是使用新的快速算法进行加速。基于 点源法是计算生成点云模型的全息图的传统方法,点源法把三维物体视为点光源的集合, 分别计算每个物点的全息图,最后全部叠加起来生成三维物体的计算全息图。
[0004] 1993年Mark等人提出了一个有效地加速计算全息图的查找表法(Look-up Table,LUT),该查找表方法事先计算好所有点光源的波前并且储存起来,当要计算一个三 维物体的全息图时,只需从存储的数据中获取各物点相应的波前,然后叠加即可得到三维 物体的全息图。然而,该方法需要占用巨大的内存空间来存储预先计算的点光源波前。2009 年Kim等人提出了一种新的查找表法(N-LUT),以减少所需要占用的内存空间。2014年北 京理工大学提出了一种查找表格压缩方法,把z方向的调制因子提取出来,进一步减少了 所需占用的内存空间。但是改进的查找表方法对于计算含有大量点的三维物体或者高分辨 率的全息图来说,其所需占用的内存仍然是巨大的。2012年Shimobaba等人提出了一种波 前记录平面(WRP)的方法来加快计算全息图生成,该方法是通过在三维物体与全息图之间 插入一个虚拟平面,但是此方法受限于三维物体的深度。
[0005] 对于复杂三维点云模型的计算全息图采用点源法的生成方法存在计算量巨大的 问题,若采用查找表的方法,则需要占用大量内存空间,对硬件有更高的要求,不利于推广。

【发明内容】

[0006] 本发明所要解决的技术问题是提供一种三维点云模型的计算全息图生成方法,能 够解决基于点源法生成计算全息图计算量大、计算速度慢的问题,而且能避免查表法对硬 件占用大量内存空间的问题。
[0007] 为解决上述技术问题,本发明采用以下技术方案实现:
[0008] -种三维点云模型的计算全息图生成方法,包括以下步骤:
[0009] (1)读取三维点云模型的各物点的三维坐标原始数据,将各所述物点进行编号;
[0010] ⑵将每一个物点的Z坐标附加一个预定的全息图记录距离;
[0011] (3)以各所述物点的Z坐标为主循环条件,每次循环都建立一个二维空白面片;
[0012] (4)遍历所有物点的三维坐标原始数据,把Z坐标与当前循环的物点的Z坐标相等 的物点--找出,并对应映射到当前循环时建立的二维空白面片上,生成一张含有点云模 型信息的二维面片;
[0013] (5)将得到的所述二维面片米用基于FFT(FastFourierTransformation,快速傅 里叶变换)的方法计算所述二维面片对应在全息平面上的光场;
[0014] (6)重复步骤(3)~(5),把每次循环计算得到的全息平面上的光场进行叠加得到 所述三维点云模型的计算全息图。
[0015] 优选地,所述步骤(3)中的主循环条件中的主循环变量以物点中最小的Z坐标值 为起始值,以物点中最大的Z坐标值为终值。
[0016] 优选地,所述步骤(4)具体为:以三维点云模型的物点数为次循环条件,次循环变 量起始值为1,终值为总物点数,遍历所有物点的三维坐标原始数据,把Z坐标与当前循环 的主循环变量相等的点一一找出,并对应映射到当前循环时建立的二维空白面片上,生成 一张点云模型的二维面片。
[0017] 优选地,所述三维坐标原始数据由扫描物体产生或者由计算机建模产生。
[0018] 优选地,所述三维点云模型的计算全息图可以是菲涅尔衍射的卷积形式,或者是 菲涅尔衍射的傅里叶变换形式。
[0019] 本发明的有益效果是:相比于点源法的逐一计算所有组成物体的点,本发明极大 的减少了计算量,提高了计算全息图的生成速度;本发明以先找出属于相同二维面片内的 所有物点为目标,拥有减少计算重复数据的优点,同时也避免了查找表所带来的额外存储 空间,本发明不受物体尺寸的限制,可直接利用现有三维点云模型的三维坐标数据计算生 成其计算全息图,也可方便移植到GPU编程中进行进一步加速。
【附图说明】
[0020] 图1是本发明一实施例中的三维点云模型的计算全息图生成方法的流程图;
[0021] 图2是本发明一实施例的方法示意图;
[0022] 图3a和3b分别是采用本发明一实施例的方法与采用点源法得到的全息图再现对 比图。
【具体实施方式】
[0023] 下面对照附图并结合优选的实施方式对本发明作进一步说明。
[0024] 采用基于点源法计算生成全息图时,视物体由很多个点光源物点组成,每个物点 独立发射球面波,分别计算每个物点传播到全息图平面上的光场,最后叠加所有物点的光 场,生成全息图。
[0025] 传统点源法计算全息平面上的光场可表示为:
[0027] 式⑴中,(Xi,y;)为全息图平面的坐标,Uj,y_j,zj为第j个点光源的坐标,Xij =X1-Xyyi]=y厂乃,k为波数,N为组成物体的点光源数目,A〕为每个点光源的振幅。根据式 (1),当全息图的分辨率为MXM时,点源法的计算复杂度为0(NM2)。当计算一个物点的全息 图时,点源法的计算速度很快,但当计算一个含有稠密物点或复杂物体的全息图时,也即N很大时,点源法需要的计算时间会变得非常大。
[0028] 采用基于FFT的方法计算生成全息图时,视物体由一组平行于全息面的平面堆积 而成,利用FFT算法计算每个物平面传播到全息图平面上的光场。最后叠加所有物平面的 光场,生成全息图。
[0029] 基于FFT的方法计算全息平面上的光场可表示为:
[0031] 式⑵中,(xh,yh)为全息平面,(X],y])为某一物平面,k为波数,N为组成物体 的平面数目。根据式(2),当全息图的分辨率为MXM时,基于FFT算法的计算复杂度为 0(NM2IogM)。当组成物体的平面数比组成物体的点数少得多时,基于FFT的方法会比点
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1