欢迎光临小豌豆知识网!
当前位置:首页 > 物理技术 > 摄像光波> 表现体素上真实光照的计算全息图生成方法和装置独创技术54809字

表现体素上真实光照的计算全息图生成方法和装置

2021-02-01 05:17:59

表现体素上真实光照的计算全息图生成方法和装置

  技术领域

  本发明涉及全息图领域,尤其涉及一种表现体素上真实光照的计算全息图生成方法和装置。

  背景技术

  近年来,体数据作为能够记录三维空间原始信息的数据,被广泛应用于气象、工业、医疗等多种领域。通过直接体绘制技术,人们可以更好的理解体数据中的各种信息。但是,直接体绘制技术是把三维信息绘制在二维屏幕上观察,随着三维显示技术的发展,现有的二维显示无法满足人们同时感知深度信息的观看需求。

  全息显示能够真实还原三维场景,提供物理和心理上的双重景深。全息领域的计算全息术,可以记录和再现现实中不存在的物体,尤其是动态物体,发展前景广阔。然而,现有的基于直接体绘制的计算全息显示方法中,对于光照的考虑并不足够。吸收-发射模型是体绘制中常用的物理模型,这一模型把体素看作能够吸收和发射光线的粒子,而没有考虑到外部光源对体素的作用。但是现实中是可以存在多个光源的,通过考虑外部光源对体素的作用,可以表现体数据在真实环境下的明暗效果。本发明针对全息图计算中的体素真实感属性缺乏的问题,考虑外部光源的作用,在合成结果中附加环境反射、漫反射和镜面反射等光照作用,以增强重建像的真实感。

  因此,如何避免现有的计算全息显示技术中没有考虑外部光源的作用而造成生成的全息图中体素真实感属性缺乏的情况,仍然是本领域技术人员亟待解决的问题。

  发明内容

  本发明实施例提供一种表现体素上真实光照的计算全息图生成方法和装置,用以解决现有的计算全息显示技术中因为没有考虑外部光源的作用而造成生成的全息图中体素真实感属性缺乏的问题。

  第一方面,本发明实施例提供一种表现体素上真实光照的计算全息图生成方法,包括:

  确定初始化光源的环境光光强、初始化光源的漫反射光光强、初始化光源的镜面反射光光强和初始化光源的光源位置;

  读入待全息物体的体数据,设置用于将所述体数据标量值转换为四元量的传递函数;

  模拟在全息面上设置的虚拟摄像机向所述体数据形成的模型投射光线,检测出与所述模型相交的光线作为相交光线;

  对于所述相交光线中的第s条光线,在其行进路线上进行采样并基于所述环境光光强、所述漫反射光光强、所述镜面反射光光强、所述光源位置和第s条光线上任一采样点的位置确定所述任一采样点上的环境光反射光强、漫反射光光强和镜面反射光光强;其中,s=1,2,3,…,n,n为相交光线的总条数;

  基于第s条光线上任一采样点的环境光反射光强、漫反射光光强、镜面反射光光强、所述任一采样点的颜色值和所述任一采样点的不透明度,确定所述任一采样点的合成光照后的颜色值和不透明度;

  基于所述相交光线的n条光线上的各个采样点的合成光照后的颜色值和不透明度,生成待全息物体的全息图。

  优选地,该方法中,所述模拟在全息面上设置的虚拟摄像机向所述体数据形成的模型投射光线,具体包括:

  模拟从全息面设置的虚拟摄像机向所述体数据形成的模型投射光线;

  其中,所述全息面放置于所述模型的正前方,所述光线形成的光线簇的锥角不超过用于在所述全息面进行全息成像的空间光调制器的最大衍射角。

  优选地,该方法中,所述对于所述相交光线中的第s条光线,在其行进路线上进行采样并基于所述环境光光强、所述漫反射光光强、所述镜面反射光光强、所述光源位置和第s条光线上任一采样点的位置确定所述任一采样点上的环境光反射光强、漫反射光光强和镜面反射光光强;其中,s=1,2,3,…,n,n为相交光线的总条数,具体包括:

  对于所述相交光线中的第s条光线,在其行进路线上进行采样,采样起始点为该光线入射击中所述模型的点,采样终止点为该光线射出击中所述模型的点;其中,s=1,2,3,…,n,n为相交光线的总条数;

  基于第s条光线上任一采样点的位置和所述光源位置,确定所述任一采样点指向光源的单位向量,基于所述任一采样点的位置和所述虚拟摄像机的位置,确定所述任一采样点指向视点的单位向量;基于所述任一采样点的三维坐标和灰度值、所述任一采样点周围相邻六体素的三维坐标和灰度值,确定所述任一采样点的单位法向量;

  基于所述任一采样点指向光源的单位向量和所述任一采样点指向视点的单位向量,确定所述任一采样点的半角向量;

  基于所述环境光光强,确定所述任一采样点上的环境光反射光强;

  基于所述漫反射光强、所述任一采样点的单位法向量和所述任一采样点指向光源的单位向量,确定所述任一采样点上的漫反射光光强;

  基于所述镜面反射光光强、所述任一采样点的单位法向量和所述任一采样点的半角向量,确定所述任一采样点上的镜面反射光光强。

  优选地,该方法中,所述基于第s条光线上任一采样点的位置和所述光源位置,确定所述任一采样点指向光源的单位向量,基于所述任一采样点的位置和所述虚拟摄像机的位置,确定所述任一采样点指向视点的单位向量;基于所述任一采样点的三维坐标和灰度值、所述任一采样点周围相邻六体素的三维坐标和灰度值,确定所述任一采样点的单位法向量,具体包括:

  通过如下公式确定第s条光线上的第i个采样点指向光源的单位向量

  

  其中,(xs,ys,zs)为所述光源的三维坐标,为第s条光线上第i个采样点的三维坐标,i=1,2,3,…,Ns,Ns为第s条光线上采样点的总数;

  通过如下公式确定第s条光线上的第i个采样点指向视点的单位向量

  

  其中,(xc,yc,zc)为所述虚拟摄像机的三维坐标,为第s条光线上第i个采样点的三维坐标,i=1,2,3,…,Ns,Ns为第s条光线上采样点的总数;

  通过如下公式确定第s条光线上的第i个采样点的单位法向量

  

  

  其中,Δs为预设微小偏移量,第s条光线上第i个采样点的三维坐标对应的体素的函数值为表示三维坐标对应的体素的灰度值;

  对应地,所述基于所述任一采样点指向光源的单位向量和所述任一采样点指向视点的单位向量,确定所述任一采样点的半角向量,具体包括:

  通过如下公式确定第s条光线上的第i个采样点的半角向量

  

  其中,为第s条光线上的第i个采样点指向光源的单位向量,为第s条光线上的第i个采样点指向视点的单位向量;

  所述基于所述环境光光强,确定所述任一采样点上的环境光反射光强,基于所述漫反射光强、所述任一采样点的单位法向量和所述任一采样点指向光源的单位向量,确定所述任一采样点上的漫反射光光强,基于所述镜面反射光光强、所述任一采样点的单位法向量和所述任一采样点的半角向量,确定所述任一采样点上的镜面反射光光强,具体包括:

  通过如下公式确定第s条光线上的第i个采样点的环境光反射光强

  

  其中,ka是环境光反射系数,Ia是光源的环境光光强;

  通过如下公式确定第s条光线上的第i个采样点的漫反射光光强

  

  其中,是第s条光线上的第i个采样点的单位法向量,是第s条光线上的第i个采样点指向光源的单位向量,kd是漫反射系数,Id是光源的漫反射光光强;

  通过如下公式确定第s条光线上的第i个采样点的镜面反射光光强

  

  其中,为第s条光线上的第i个采样点的半角向量,为第s条光线上的第i个采样点的单位法向量,ks是镜面反射系数,Is是光源的镜面反射光光强,ns是高光参数。

  优选地,该方法中,所述基于第s条光线上任一采样点的环境光反射光强、漫反射光光强、镜面反射光光强、所述任一采样点的颜色值和所述任一采样点的不透明度,确定所述任一采样点的合成光照后的颜色值和不透明度,具体包括:

  通过如下公式确定第s条光线上的第i个采样点的综合光照

  

  其中,是第s条光线上的第i个采样点的镜面反射光光强,是第s条光线上的第i个采样点的漫反射光光强,是第s条光线上的第i个采样点的环境光反射光强;

  通过如下公式确定第s条光线上的第i个采样点的合成光照后的颜色值和不透明度

  

  其中,是第s条光线上的第i个采样点的综合光照,Ci,s是第s条光线上的第i个采样点的原始颜色值,Ai,s是第s条光线上的第i个采样点的原始不透明度,Ci,s和Ai,s均通过将待全息物体的体数据通过预设传递函数转换为四元量得到。

  优选地,该方法中,所述基于所述相交光线的n条光线上的各个采样点的合成光照后的颜色值和不透明度,生成待全息物体的全息图,具体包括:

  对于所述相交光线中的第s条光线,从其上第一个采样点开始依次根据各采样点的合成光照后的颜色值和不透明度确定各采样点的累加颜色值和累加不透明度,直到第Ts个采样点超出所述模型或者其累加不透明度超过预设阈值,则停止采样;其中,s=1,2,3,…,n,n为相交光线的的总条数,Ts为正整数;

  基于所述第s条光线中第一个累加不透明度大于0的采样点的位置信息确定第s条光线的合成物点在全息面上的相位值;

  基于所述第s条光线的第Ns-1个采样点的累加颜色值确定第s条光线的合成物点在全息面上的振幅值;

  基于所述相交光线的n条光线各自的合成物点在全息面上的相位值和振幅值,生成待全息物体的全息图。

  优选地,该方法中,所述基于所述第s条光线中第一个累加不透明度大于0的采样点的位置信息确定第s条光线的合成物点在全息面上的相位值,具体包括:

  确定所述第s条光线中第一个累加不透明度大于0的采样点的三维坐标为(xs,ys,zs),则第s条光线的合成物点在全息面上的相位值θs通过如下公式获取:

  

  其中,k是光波数量,rs是坐标为(xs,ys,zs)的模型中的合成物点到所述全息面上坐标为(u,v,0)点的距离;

  对应地,所述基于所述相交光线的n条光线各自的合成物点在全息面上的相位值和振幅值,生成待全息物体的全息图,具体包括:

  通过如下公式生成待全息物体在全息面上的复振幅分布E:

  

  其中,As为第s条光线的合成物点在全息面上的振幅值,θs为第s条光线的合成物点在全息面上的相位值,s=1,2,3,…,n,n为相交光线的的总条数。

  第二方面,本发明实施例提供一种表现体素上真实光照的计算全息图生成装置,包括:

  初始化单元,用于确定初始化光源的环境光光强、初始化光源的漫反射光光强、初始化光源的镜面反射光光强和初始化光源的光源位置;

  输入单元,用于读入待全息物体的体数据,设置用于将所述体数据标量值转换为四元量的传递函数;

  模拟单元,用于模拟在全息面上设置的虚拟摄像机向所述体数据形成的模型投射光线,检测出与所述模型相交的光线作为相交光线;

  采样单元,用于对于所述相交光线中的第s条光线,在其行进路线上进行采样并基于所述环境光光强、所述漫反射光光强、所述镜面反射光光强、所述光源位置和第s条光线上任一采样点的位置确定所述任一采样点上的环境光反射光强、漫反射光光强和镜面反射光光强;其中,s=1,2,3,…,n,n为相交光线的总条数;

  光照单元,用于基于第s条光线上任一采样点的环境光反射光强、漫反射光光强、镜面反射光光强、所述任一采样点的颜色值和所述任一采样点的不透明度,确定所述任一采样点的合成光照后的颜色值和不透明度;

  生成单元,用于基于所述相交光线的n条光线上的各个采样点的合成光照后的颜色值和不透明度,生成待全息物体的全息图。

  第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所提供的表现体素上真实光照的计算全息图生成方法的步骤。

  第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所提供的表现体素上真实光照的计算全息图生成方法的步骤。

  本发明实施例提供的方法和装置,通过确定初始化光源的环境光光强、漫反射光光强、镜面反射光光强和光源位置,再将读入待全息物体的体数据设置用于将所述体数据标量值转换为四元量的传递函数,使用反向光线投射算法,获取每条相交光线上各个采样点的合成光照后的颜色值和不透明度,最后基于所有相交光线的上的各个采样点的合成光照后的颜色值和不透明度,生成待全息物体的全息图。如此,通过将光源的位置以及光源的环境光光强、漫反射光光强、镜面反射光光强合成到每个采样点的原始颜色值和不透明度中,可以增加最终形成的全息图的光照真实感。因此,本发明实施例提供的方法和装置,实现了在全息图生成中附加环境反射、漫反射和镜面反射光照作用,以增强重建像的真实感。

  附图说明

  为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

  图1为本发明实施例提供的表现体素上真实光照的计算全息图生成方法的流程示意图;

  图2为本发明实施例提供的体素、光源和视点的关系原理说明图;

  图3为本发明实施例提供的表现体素上真实光照的计算全息图生成装置的结构示意图;

  图4为本发明实施例提供的电子设备的实体结构示意图。

  具体实施方式

  为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

  对于本发明实施例中出现的技术名词,先作如下解释:

  体数据:在三维空间中通过物理传感器采样或仿真得到的三维数据。如医学领域的计算机断层扫描(CT)和磁共振成像(MRI)数据、地质勘探中的地震波数据。本发明实施例中涉及的体数据均为用等间隔的三维离散采样点进行数学建模得到的。

  体素:三维体数据中最小的单位。一个体素表示体数据中三维空间某部分的值,概念上类似二维图像平面的最小单位像素。

  发射-吸收模型:一种体数据的光学模型,该模型认为体数据中的体素本身发射光线,并且可以吸收光线,但在射线的方向上,体素之间不存在散射。

  直接体绘制:直接体绘制技术是可视化研究领域的一个重要分支。是由离散的三维数据场直接产生对应二维图像的一种绘制技术,能显示出对象体丰富的内部细节。和等值面方法不同,这一过程中并不需要产生中间几何图元。

  现有的全息显示技术中普遍存在因为没有考虑外部光源的作用而造成生成的全息图中体素真实感属性缺乏的问题。对此,本发明实施例提供了一种基于体数据的计算全息图生成方法。图1为本发明实施例提供的表现体素上真实光照的计算全息图生成方法的流程示意图,如图1所示,该方法包括:

  步骤110,确定初始化光源的环境光光强、初始化光源的漫反射光光强、初始化光源的镜面反射光光强和初始化光源的光源位置。

  具体地,确定初始化光源的光源位置,以及该光源的环境光光强、漫反射光光强和镜面反射光光强。其中,初始化光源可以设置为多个,但本发明实施例中为了简化计算全息图的计算复杂度,采用的初始化光源仅为一个。

  步骤120,读入待全息物体的体数据,设置用于将所述体数据标量值转换为四元量的传递函数。

  具体地,根据不同体数据的初始存储格式,以正确的形式读入体数据。然后,设置当前用于将所述体数据标量值转换为四元量的传递函数。此处需要说明的是,传递函数的设置是可以变化的,它根据需要展示待全息物体的不同感兴趣部位的变化而变化。图2为本发明实施例提供的传递函数映射曲线图,如图2所示,体数据的标量值通过传递函数映射为四元量(R、G、B三种颜色值和不透明度),这一过程用如下公式表示:

  Ii(Ci,Ai)=Ii(Ri,Gi,Bi,Ai)=TF(v(si))

  其中,TF表示预设传递函数,v(si)是体素si的标量值,Ii是映射后的四元量,包含红绿蓝颜色分量Ri,Gi,Bi和不透明度Ai,Ci表示由红绿蓝颜色分量Ri,Gi,Bi组成的颜色值,i=1,2,3,…,T;T是需要转换的体素的总个数。

  步骤130,模拟在全息面上设置的虚拟摄像机向所述体数据形成的模型投射光线,检测出与所述模型相交的光线作为相交光线。

  具体地,在传统的计算全息中,物体离散为点光源,从物平面方向向全息平面方向传播波前,由于要遍历所有离散物点,计算量巨大且耗时。与上述方式不同,本发明实施例采取反向记录的方式,模拟从全息面上设置的虚拟摄像机向体数据形成的待全息物体的模型并行发射多条光线。然后再判断这些光线是否与体数据形成的待全息物体的模型相交,如果没有击中该模型,则提前结束该条光线,如果击中了该模型,则将该光线提取出作为相交光线。如此检测出与所述模型相交的所有光线。

  步骤140,对于所述相交光线中的第s条光线,在其行进路线上进行采样并基于所述环境光光强、所述漫反射光光强、所述镜面反射光光强、所述光源位置和第s条光线上任一采样点的位置确定所述任一采样点上的环境光反射光强、漫反射光光强和镜面反射光光强;其中,s=1,2,3,…,n,n为相交光线的总条数。

  具体地,对所有相交光线中的每一条光线作如下处理:从该光线击中该模型开始对光线在行进过程中执行采样,所述采样可以是基于预设步长的等距离采样,也可以是自适应地非等距离采样,然后再基于环境光光强、漫反射光光强、镜面反射光光强、光源位置和每一条光线上任一采样点的位置确定所述每一条光线上任一采样点上的环境光反射光强、漫反射光光强和镜面反射光光强。

  步骤150,基于第s条光线上任一采样点的环境光反射光强、漫反射光光强、镜面反射光光强、所述任一采样点的颜色值和所述任一采样点的不透明度,确定所述任一采样点的合成光照后的颜色值和不透明度。

  具体地,对于第s条光线上的任一采样点,将其环境光反射光强、漫反射光光强和镜面反射光光强进行相加求和,得到所述任一采样点的综合光照。然后将所述综合光照加在所述任一采样点的原始颜色值上,得到所述任一采样点合成光照后的颜色值,所述任一采样点合成光照后的不透明度与所述任一采样点的原始不透明度一致,其中,所述任一采样点的原始颜色值和原始不透明度通过将待全息物体的体数据通过预设传递函数转换为四元量得到。

  步骤160,基于所述相交光线的n条光线上的各个采样点的合成光照后的颜色值和不透明度,生成待全息物体的全息图。

  具体地,基于所有相交光线上的各个采样点的合成光照后的颜色值和不透明度生成待全息物体的全息图的方法有多种,其中,例如,可以通过计算同一相交光线上的各个采样点的累加颜色值和累加不透明度,然后计算每条光线对应的合成物点的颜色值,然后将该颜色值转换为对应光线的合成物点在全息面上的振幅信息,然后取每条相交光线上第一个累加不透明度大于0的采样点的位置信息作为合成物点的位置,然后将该位置的三维坐标转换为对应光线的合成物点在全息面上的相位信息,最后,基于所有相交光线的各自的合成物点在全息面上的相位值和振幅值,得到全部合成物点在全息面上的复振幅分布,继而生成全息图;还可以得到每个采样点的合成光照后的颜色值和不透明度后,把每个采样点当作点源,向全息面传播物光波,传播过程中考虑经过的半透明体素产生的光强的衰减现象,该过程可以用该采样点的光强累乘从该点指向视点方向经过的体素的透明度值进行模拟(透明度值=1-不透明度值)。以该采样点的位置参与传播到全息面上的相位计算,取到达体数据边界时的衰减后光强作为该采样点的振幅值,然后在全息面上叠加所有相交光线上的全部采样点体素的复振幅分布,继而生成全息图。因此,存在多种方法来实现基于所述相交光线的n条光线上的各个采样点的合成光照后的颜色值和不透明度,生成待全息物体的全息图,而本发明实施例采用哪种方法,此处不作具体限定。

  本发明实施例提供的方法,通过确定初始化光源的环境光光强、漫反射光光强、镜面反射光光强和光源位置,再读入待全息物体的体数据,设置用于将所述体数据标量值转换为四元量的传递函数,使用反向光线投射算法,获取每条相交光线上各个采样点的合成光照后的颜色值和不透明度,最后基于所有相交光线的上的各个采样点的合成光照后的颜色值和不透明度,生成待全息物体的全息图。如此,通过将光源的位置以及光源的环境光光强、漫反射光光强、镜面反射光光强合成到每个采样点的原始颜色值和不透明度中,可以增加最终形成的全息图的光照真实感。因此,本发明实施例提供的方法,实现了在全息图生成中附加环境反射、漫反射和镜面反射光照作用,以增强重建像的真实感。

  基于上述实施例,该方法中,所述模拟在全息面上设置的虚拟摄像机向所述体数据形成的模型投射光线,具体包括:

  模拟从全息面设置的虚拟摄像机向所述体数据形成的模型投射光线;

  其中,所述全息面放置于所述模型的正前方,所述光线形成的光线簇的锥角不超过用于在所述全息面进行全息成像的空间光调制器的最大衍射角。

  具体地,在模拟从放置于体数据形成的模型正前方的全息面上设置的虚拟摄像机向该模型投射光线时,所述光线形成的光线簇的锥角要满足一定要求,即所述光线形成的光线簇的锥角不超过用于在所述全息面进行全息成像的空间光调制器的最大衍射角,所述最大衍射角θ通过如下公式计算:

  θ=arcsin(λ/Δp)

  其中,Δp为所述全息面进行全息成像的空间光调制器的像素间距,λ是光波长。此处需要说明的是上述光波长对应的光为激光器发射的光,通常为绿光或者红光。

  基于上述任一实施例,该方法中,所述对于所述相交光线中的第s条光线,在其行进路线上进行采样并基于所述环境光光强、所述漫反射光光强、所述镜面反射光光强、所述光源位置和第s条光线上任一采样点的位置确定所述任一采样点上的环境光反射光强、漫反射光光强和镜面反射光光强;其中,s=1,2,3,…,n,n为相交光线的总条数,具体包括:

  对于所述相交光线中的第s条光线,在其行进路线上进行采样,采样起始点为该光线入射击中所述模型的点,采样终止点为该光线射出击中所述模型的点;其中,s=1,2,3,…,n,n为相交光线的总条数;

  基于第s条光线上任一采样点的位置和所述光源位置,确定所述任一采样点指向光源的单位向量,基于所述任一采样点的位置和所述虚拟摄像机的位置,确定所述任一采样点指向视点的单位向量;基于所述任一采样点的三维坐标和灰度值、所述任一采样点周围相邻六体素的三维坐标和灰度值,确定所述任一采样点的单位法向量;

  基于所述任一采样点指向光源的单位向量和所述任一采样点指向视点的单位向量,确定所述任一采样点的半角向量;

  基于所述环境光光强,确定所述任一采样点上的环境光反射光强;

  基于所述漫反射光强、所述任一采样点的单位法向量和所述任一采样点指向光源的单位向量,确定所述任一采样点上的漫反射光光强;

  基于所述镜面反射光光强、所述任一采样点的单位法向量和所述任一采样点的半角向量,确定所述任一采样点上的镜面反射光光强。

  具体地,图2为本发明实施例提供的体素、光源和视点的关系原理说明图。如图2所示,对于任一相交光线上的任一采样点,其被光源和虚拟摄像机反向投射的光线影响。对于任一采样点,图2中的法向量N、半角向量H、指向视点的向量V和指向光源的向量L可以通过所述任一采样点的位置、所述虚拟摄像机的位置、周围相邻六体素的三维坐标和灰度值计算得到;然后,再基于法向量N、半角向量H、指向视点的向量V、指向光源的向量L、环境光光强、漫反射光强和镜面反射光光强可以计算得到所述任一采样点的环境光反射光强、漫反射光光强和镜面反射光光强。

  基于上述任一实施例,该方法中,所述基于第s条光线上任一采样点的位置和所述光源位置,确定所述任一采样点指向光源的单位向量,基于所述任一采样点的位置和所述虚拟摄像机的位置,确定所述任一采样点指向视点的单位向量;基于所述任一采样点的三维坐标和灰度值、所述任一采样点周围相邻六体素的三维坐标和灰度值,确定所述任一采样点的单位法向量,具体包括:

  通过如下公式确定第s条光线上的第i个采样点指向光源的单位向量

  

  其中,(xs,ys,zs)为所述光源的三维坐标,为第s条光线上第i个采样点的三维坐标,i=1,2,3,…,Ns,Ns为第s条光线上采样点的总数;

  通过如下公式确定第s条光线上的第i个采样点指向视点的单位向量

  

  其中,(xc,yc,zc)为所述虚拟摄像机的三维坐标,为第s条光线上第i个采样点的三维坐标,i=1,2,3,…,Ns,Ns为第s条光线上采样点的总数;

  通过如下公式确定第s条光线上的第i个采样点的单位法向量

  

  

  其中,Δs为预设微小偏移量,第s条光线上第i个采样点的三维坐标对应的体素的函数值为表示三维坐标对应的体素的灰度值;

  对应地,所述基于所述任一采样点指向光源的单位向量和所述任一采样点指向视点的单位向量,确定所述任一采样点的半角向量,具体包括:

  通过如下公式确定第s条光线上的第i个采样点的半角向量

  

  其中,为第s条光线上的第i个采样点指向光源的单位向量,为第s条光线上的第i个采样点指向视点的单位向量;

  所述基于所述环境光光强,确定所述任一采样点上的环境光反射光强,基于所述漫反射光强、所述任一采样点的单位法向量和所述任一采样点指向光源的单位向量,确定所述任一采样点上的漫反射光光强,基于所述镜面反射光光强、所述任一采样点的单位法向量和所述任一采样点的半角向量,确定所述任一采样点上的镜面反射光光强,具体包括:

  通过如下公式确定第s条光线上的第i个采样点的环境光反射光强

  

  其中,ka是环境光反射系数,Ia是光源的环境光光强;

  通过如下公式确定第s条光线上的第i个采样点的漫反射光光强

  

  其中,是第s条光线上的第i个采样点的单位法向量,是第s条光线上的第i个采样点指向光源的单位向量,kd是漫反射系数,Id是光源的漫反射光光强;

  通过如下公式确定第s条光线上的第i个采样点的镜面反射光光强

  

  其中,为第s条光线上的第i个采样点的半角向量,为第s条光线上的第i个采样点的单位法向量,ks是镜面反射系数,Is是光源的镜面反射光光强,ns是高光参数。

  具体地,确定第s条光线上的第i个采样点的单位法向量时,采样点处的体素的函数值用表示,此处使用的函数值代表灰度值。将当前体素的梯度作为其法向量,计算梯度的方式是中心差分法,即当前体素的梯度与其周围六个体素的值有关,计算公式如下:

  

  

  其中,Δs为预设微小偏移量,通常这个微小偏移量设置为1。

  基于上述任一实施例,该方法中,所述基于第s条光线上任一采样点的环境光反射光强、漫反射光光强、镜面反射光光强、所述任一采样点的颜色值和所述任一采样点的不透明度,确定所述任一采样点的合成光照后的颜色值和不透明度,具体包括:

  通过如下公式确定第s条光线上的第i个采样点的综合光照

  

  其中,是第s条光线上的第i个采样点的镜面反射光光强,是第s条光线上的第i个采样点的漫反射光光强,是第s条光线上的第i个采样点的环境光反射光强;

  通过如下公式确定第s条光线上的第i个采样点的合成光照后的颜色值和不透明度

  

  其中,是第s条光线上的第i个采样点的综合光照,Ci,s是第s条光线上的第i个采样点的原始颜色值,Ai,s是第s条光线上的第i个采样点的原始不透明度,Ci,s和Ai,s均通过将待全息物体的体数据通过预设传递函数转换为四元量得到。

  具体地,对于第s条光线上的任一采样点,将其环境光反射光强、漫反射光光强和镜面反射光光强进行相加求和,得到所述任一采样点的综合光照。然后将所述综合光照加在所述任一采样点的原始颜色值上,得到所述任一采样点合成光照后的颜色值,所述任一采样点合成光照后的不透明度与所述任一采样点的原始不透明度一致,其中,所述任一采样点的原始颜色值和原始不透明度通过将待全息物体的体数据通过预设传递函数转换为四元量得到。

  基于上述任一实施例,该方法中,所述基于所述相交光线的n条光线上的各个采样点的合成光照后的颜色值和不透明度,生成待全息物体的全息图,具体包括:

  对于所述相交光线中的第s条光线,从其上第一个采样点开始依次根据各采样点的合成光照后的颜色值和不透明度确定各采样点的累加颜色值和累加不透明度,直到第Ts个采样点超出所述模型或者其累加不透明度超过预设阈值,则停止采样;其中,s=1,2,3,…,n,n为相交光线的的总条数,Ts为正整数;

  基于所述第s条光线中第一个累加不透明度大于0的采样点的位置信息确定第s条光线的合成物点在全息面上的相位值;

  基于所述第s条光线的第Ts-1个采样点的累加颜色值确定第s条光线的合成物点在全息面上的振幅值;

  基于所述相交光线的n条光线各自的合成物点在全息面上的相位值和振幅值,生成待全息物体的全息图。

  具体地,对于所述相交光线中的第s条光线,以所述光线击中所述模型的点作为采样起始点依次在该光线上进行采样,所述采样可以是以预设步长的等间隔采样,可以是自适应的非等间隔采样,将所述采样起始点的合成光照后的颜色值作为第一个采样点的累加颜色值,将所述采样起始点的合成光照后的不透明度作为第一个采样点的累加不透明度。基于前一采样点的累加颜色值、前一采样点的累加不透明度和当前采样点合成光照后的颜色值确定当前采样点的累加颜色值;基于前一采样点的累加不透明度和当前采样点合成光照后的不透明度确定当前采样点的累加不透明度,上述过程的公式如下:

  通过如下公式确定第l个采样点的累加颜色值C'l:

  C'l=C'l-1+(1-A'l-1)Cl

  其中,l为整数且1<l≤Ni,C'l-1为第l-1个采样点的累加颜色值,A'l-1为第l-1个采样点的累加不透明度,Cl为第l个采样点合成光照后的颜色值;

  通过如下公式确定第l个采样点的累加不透明度A'l:

  A'l=A'l-1+(1-A'l-1)Al

  其中,l为整数且1<l≤Ni,A'l-1为第l-1个采样点的累加不透明度,Al为第l个采样点合成光照后的不透明度;

  对于第s条光线,在该光线前进的采样和累加过程中,当累加不透明度开始大于0时,这一点之后的采样值才开始对累加结果起到影响作用,因此,可以认为第一个让累加不透明度大于0的采样点为第一个有效信息点,而该点的位置信息作为累加结果的深度信息,且可以基于该点的位置信息确定第s条光线的合成物点在全息面上的相位值。然后,将第s条光线的第Ts-1个采样点的累加颜色值转换成灰度值,将该灰度值作为第s条光线的合成物点在全息面上的振幅值。

  基于上述任一实施例,该方法中,所述基于所述第s条光线中第一个累加不透明度大于0的采样点的位置信息确定第s条光线的合成物点在全息面上的相位值,具体包括:

  确定所述第s条光线中第一个累加不透明度大于0的采样点的三维坐标为(xs,ys,zs),则第s条光线的合成物点在全息面上的相位值θs通过如下公式获取:

  

  其中,k是光波数量,rs是坐标为(xs,ys,zs)的模型中的合成物点到所述全息面上坐标为(u,v,0)点的距离;

  对应地,所述基于所述相交光线的n条光线各自的合成物点在全息面上的相位值和振幅值,生成待全息物体的全息图,具体包括:

  通过如下公式生成待全息物体在全息面上的复振幅分布E:

  

  其中,As为第s条光线的合成物点在全息面上的振幅值,θs为第s条光线的合成物点在全息面上的相位值,s=1,2,3,…,n,n为相交光线的的总条数。

  具体地,上述生成待全息物体在全息面上的复振幅分布E的公式可以进一步表示为:

  

  

  其中,As为第s条光线的合成物点在全息面上的振幅值,k是光波数量,rs是坐标为(xs,ys,zs)的模型中的合成物点到所述全息面上坐标为(u,v,0)点的距离,(xs,ys,zs)为第s条光线中第一个累加不透明度大于0的采样点的三维坐标,s=1,2,3,…,n,n为相交光线的总条数。

  如此确定得到的待全息物体在全息面上的复振幅分布E通过编码,获得符合空间光调制器分辨率的计算全息图。其中,编码方式根据显示设备决定,可以使用幅度编码、相位编码等多种方式。由于本发明实施例中使用的显示设备是相位型反射式空间光调制器,因此,采用的编码方式是相位编码。

  第二方面,本发明实施例提供一种表现体素上真实光照的计算全息图生成装置,图3为本发明实施例提供的表现体素上真实光照的计算全息图生成装置的结构示意图。如图3所示,该装置包括初始化单元310、输入单元320、模拟单元330、采样单元340、光照单元350和生成单元360,其中,

  所述初始化单元310,用于确定初始化光源的环境光光强、初始化光源的漫反射光光强、初始化光源的镜面反射光光强和初始化光源的光源位置;

  所述输入单元320,用于读入待全息物体的体数据,设置用于将所述体数据标量值转换为四元量的传递函数;

  所述模拟单元330,用于模拟在全息面上设置的虚拟摄像机向所述体数据形成的模型投射光线,检测出与所述模型相交的光线作为相交光线;

  所述采样单元340,用于对于所述相交光线中的第s条光线,在其行进路线上进行采样并基于所述环境光光强、所述漫反射光光强、所述镜面反射光光强、所述光源位置和第s条光线上任一采样点的位置确定所述任一采样点上的环境光反射光强、漫反射光光强和镜面反射光光强;其中,s=1,2,3,…,n,n为相交光线的总条数;

  所述光照单元350,用于基于第s条光线上任一采样点的环境光反射光强、漫反射光光强、镜面反射光光强、所述任一采样点的颜色值和所述任一采样点的不透明度,确定所述任一采样点的合成光照后的颜色值和不透明度;

  所述生成单元360,用于基于所述相交光线的n条光线上的各个采样点的合成光照后的颜色值和不透明度,生成待全息物体的全息图。

  本发明实施例提供的装置,通过确定初始化光源的环境光光强、漫反射光光强、镜面反射光光强和光源位置,再读入待全息物体的体数据并设置用于将所述体数据标量值转换为四元量的传递函数,使用反向光线投射算法,获取每条相交光线上各个采样点的合成光照后的颜色值和不透明度,最后基于所有相交光线的上的各个采样点的合成光照后的颜色值和不透明度,生成待全息物体的全息图。如此,通过将光源的位置以及光源的环境光光强、漫反射光光强、镜面反射光光强合成到每个采样点的原始颜色值和不透明度中,可以增加最终形成的全息图的光照真实感。因此,本发明实施例提供的装置,实现了在全息图生成中附加环境反射、漫反射和镜面反射光照作用,以增强重建像的真实感。

  基于上述任一实施例,该装置中,所述模拟在全息面上设置的虚拟摄像机向所述体数据形成的模型投射光线,具体包括:

  模拟从全息面设置的虚拟摄像机向所述体数据形成的模型投射光线;

  其中,所述全息面放置于所述模型的正前方,所述光线形成的光线簇的锥角不超过用于在所述全息面进行全息成像的空间光调制器的最大衍射角。

  基于上述任一实施例,该装置中,所述采样单元,具体用于,

  对于所述相交光线中的第s条光线,在其行进路线上进行采样,采样起始点为该光线入射击中所述模型的点,采样终止点为该光线射出击中所述模型的点;其中,s=1,2,3,…,n,n为相交光线的总条数;

  基于第s条光线上任一采样点的位置和所述光源位置,确定所述任一采样点指向光源的单位向量,基于所述任一采样点的位置和所述虚拟摄像机的位置,确定所述任一采样点指向视点的单位向量;基于所述任一采样点的三维坐标和灰度值、所述任一采样点周围相邻六体素的三维坐标和灰度值,确定所述任一采样点的单位法向量;

  基于所述任一采样点指向光源的单位向量和所述任一采样点指向视点的单位向量,确定所述任一采样点的半角向量;

  基于所述环境光光强,确定所述任一采样点上的环境光反射光强;

  基于所述漫反射光强、所述任一采样点的单位法向量和所述任一采样点指向光源的单位向量,确定所述任一采样点上的漫反射光光强;

  基于所述镜面反射光光强、所述任一采样点的单位法向量和所述任一采样点的半角向量,确定所述任一采样点上的镜面反射光光强。

  基于上述任一实施例,该装置中,所述基于第s条光线上任一采样点的位置和所述光源位置,确定所述任一采样点指向光源的单位向量,基于所述任一采样点的位置和所述虚拟摄像机的位置,确定所述任一采样点指向视点的单位向量;基于所述任一采样点的三维坐标和灰度值、所述任一采样点周围相邻六体素的三维坐标和灰度值,确定所述任一采样点的单位法向量,具体包括:

  通过如下公式确定第s条光线上的第i个采样点指向光源的单位向量

  

  其中,(xs,ys,zs)为所述光源的三维坐标,为第s条光线上第i个采样点的三维坐标,i=1,2,3,…,Ns,Ns为第s条光线上采样点的总数;

  通过如下公式确定第s条光线上的第i个采样点指向视点的单位向量

  

  其中,(xc,yc,zc)为所述虚拟摄像机的三维坐标,为第s条光线上第i个采样点的三维坐标,i=1,2,3,…,Ns,Ns为第s条光线上采样点的总数;

  通过如下公式确定第s条光线上的第i个采样点的单位法向量

  

  

  其中,Δs为预设微小偏移量,第s条光线上第i个采样点的三维坐标对应的体素的函数值为表示三维坐标对应的体素的灰度值;

  对应地,所述基于所述任一采样点指向光源的单位向量和所述任一采样点指向视点的单位向量,确定所述任一采样点的半角向量,具体包括:

  通过如下公式确定第s条光线上的第i个采样点的半角向量

  

  其中,为第s条光线上的第i个采样点指向光源的单位向量,为第s条光线上的第i个采样点指向视点的单位向量;

  所述基于所述环境光光强,确定所述任一采样点上的环境光反射光强,基于所述漫反射光强、所述任一采样点的单位法向量和所述任一采样点指向光源的单位向量,确定所述任一采样点上的漫反射光光强,基于所述镜面反射光光强、所述任一采样点的单位法向量和所述任一采样点的半角向量,确定所述任一采样点上的镜面反射光光强,具体包括:

  通过如下公式确定第s条光线上的第i个采样点的环境光反射光强

  

  其中,ka是环境光反射系数,Ia是光源的环境光光强;

  通过如下公式确定第s条光线上的第i个采样点的漫反射光光强

  

  其中,是第s条光线上的第i个采样点的单位法向量,是第s条光线上的第i个采样点指向光源的单位向量,kd是漫反射系数,Id是光源的漫反射光光强;

  通过如下公式确定第s条光线上的第i个采样点的镜面反射光光强

  

  其中,为第s条光线上的第i个采样点的半角向量,为第s条光线上的第i个采样点的单位法向量,ks是镜面反射系数,Is是光源的镜面反射光光强,ns是高光参数。

  基于上述任一实施例,该装置中,所述基于第s条光线上任一采样点的环境光反射光强、漫反射光光强、镜面反射光光强、所述任一采样点的颜色值和所述任一采样点的不透明度,确定所述任一采样点的合成光照后的颜色值和不透明度,具体包括:

  通过如下公式确定第s条光线上的第i个采样点的综合光照

  

  其中,是第s条光线上的第i个采样点的镜面反射光光强,是第s条光线上的第i个采样点的漫反射光光强,是第s条光线上的第i个采样点的环境光反射光强;

  通过如下公式确定第s条光线上的第i个采样点的合成光照后的颜色值和不透明度

  

  其中,是第s条光线上的第i个采样点的综合光照,Ci,s是第s条光线上的第i个采样点的原始颜色值,Ai,s是第s条光线上的第i个采样点的原始不透明度,Ci,s和Ai,s均通过将待全息物体的体数据通过预设传递函数转换为四元量得到。

  基于上述任一实施例,该装置中,所述基于所述相交光线的n条光线上的各个采样点的合成光照后的颜色值和不透明度,生成待全息物体的全息图,具体包括:

  对于所述相交光线中的第s条光线,从其上第一个采样点开始依次根据各采样点的合成光照后的颜色值和不透明度确定各采样点的累加颜色值和累加不透明度,直到第Ts个采样点超出所述模型或者其累加不透明度超过预设阈值,则停止采样;其中,s=1,2,3,…,n,n为相交光线的的总条数,Ts为正整数;

  基于所述第s条光线中第一个累加不透明度大于0的采样点的位置信息确定第s条光线的合成物点在全息面上的相位值;

  基于所述第s条光线的第Ts-1个采样点的累加颜色值确定第s条光线的合成物点在全息面上的振幅值;

  基于所述相交光线的n条光线各自的合成物点在全息面上的相位值和振幅值,生成待全息物体的全息图。

  基于上述任一实施例,该装置中,所述基于所述第s条光线中第一个累加不透明度大于0的采样点的位置信息确定第s条光线的合成物点在全息面上的相位值,具体包括:

  确定所述第s条光线中第一个累加不透明度大于0的采样点的三维坐标为(xs,ys,zs),则第s条光线的合成物点在全息面上的相位值θs通过如下公式获取:

  

  其中,k是光波数量,rs是坐标为(xs,ys,zs)的模型中的合成物点到所述全息面上坐标为(u,v,0)点的距离;

  对应地,所述基于所述相交光线的n条光线各自的合成物点在全息面上的相位值和振幅值,生成待全息物体的全息图,具体包括:

  通过如下公式生成待全息物体在全息面上的复振幅分布E:

  

  其中,As为第s条光线的合成物点在全息面上的振幅值,θs为第s条光线的合成物点在全息面上的相位值,s=1,2,3,…,n,n为相交光线的的总条数。

  图4为本发明实施例提供的电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)401、通信接口(Communications Interface)402、存储器(memory)403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信。处理器401可以调用存储在存储器403上并可在处理器401上运行的计算机程序,以执行上述各实施例提供的表现体素上真实光照的计算全息图生成方法,例如包括:确定初始化光源的环境光光强、初始化光源的漫反射光光强、初始化光源的镜面反射光光强和初始化光源的光源位置;读入待全息物体的体数据,设置用于将所述体数据标量值转换为四元量的传递函数;模拟在全息面上设置的虚拟摄像机向所述体数据形成的模型投射光线,检测出与所述模型相交的光线作为相交光线;对于所述相交光线中的第s条光线,在其行进路线上进行采样并基于所述环境光光强、所述漫反射光光强、所述镜面反射光光强、所述光源位置和第s条光线上任一采样点的位置确定所述任一采样点上的环境光反射光强、漫反射光光强和镜面反射光光强;其中,s=1,2,3,…,n,n为相交光线的总条数;基于第s条光线上任一采样点的环境光反射光强、漫反射光光强、镜面反射光光强、所述任一采样点的颜色值和所述任一采样点的不透明度,确定所述任一采样点的合成光照后的颜色值和不透明度;基于所述相交光线的n条光线上的各个采样点的合成光照后的颜色值和不透明度,生成待全息物体的全息图。

  此外,上述的存储器403中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

  本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的表现体素上真实光照的计算全息图生成方法,例如包括:确定初始化光源的环境光光强、初始化光源的漫反射光光强、初始化光源的镜面反射光光强和初始化光源的光源位置;读入待全息物体的体数据,设置用于将所述体数据标量值转换为四元量的传递函数;模拟在全息面上设置的虚拟摄像机向所述体数据形成的模型投射光线,检测出与所述模型相交的光线作为相交光线;对于所述相交光线中的第s条光线,在其行进路线上进行采样并基于所述环境光光强、所述漫反射光光强、所述镜面反射光光强、所述光源位置和第s条光线上任一采样点的位置确定所述任一采样点上的环境光反射光强、漫反射光光强和镜面反射光光强;其中,s=1,2,3,…,n,n为相交光线的总条数;基于第s条光线上任一采样点的环境光反射光强、漫反射光光强、镜面反射光光强、所述任一采样点的颜色值和所述任一采样点的不透明度,确定所述任一采样点的合成光照后的颜色值和不透明度;基于所述相交光线的n条光线上的各个采样点的合成光照后的颜色值和不透明度,生成待全息物体的全息图。

  以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

  通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

  最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

《表现体素上真实光照的计算全息图生成方法和装置.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)