苗 腾,许童羽※,邓寒冰,周云成,徐 静,于 越
(1. 沈阳农业大学信息与电气工程学院,沈阳 110866;2. 辽宁省农业信息化工程技术研究中心,沈阳 110866)
近几年,随着都市型现代农业的飞速发展,以计算机图形图像、三维动画以及游戏为主要技术展示形式,以生命、生态、生产为主体文化内涵的农林题材三维可视化虚拟媒体内容在农业科学研究、技术推广宣传、科普文化教育、园区休闲服务等领域得到广泛应用。植物是农林题材三维可视化媒体中最重要的载体,而对植物表观的设计和重现则是重中之重。
植物器官多属半透明材质,近十多年,围绕半透明材质可视化的研究取得了长足进步,尤其是在表观模拟[1-5]、测量[6-8]、复杂光环境下的实时编辑[9-11]等方面研究成果颇丰。在数字植物及计算机领域,部分学者专门围绕植物表观材质建模与可视化模拟开展了具有针对性的研究工作,从表观模型参数的类型角度区分,可将当前方法简单地分为基于生理模型和基于物理模型两类。基于生理模型的方法[12-16]多构建植物表观材质与内在生理指标或外部环境间的数学模型,驱动叶片颜色的可视化模拟,该类方法在表观可视化效果、模型效率等方面表现较差,因此很难应用于实际三维数字媒体内容的制作中。基于物理模型的方法通过抽象叶片结构,简化叶片与光的作用方式,并构建物理模型来进行表观颜色的模拟[17-24],这类方法可以从视觉上获得较真实的模拟结果,也是工业生产中主流的植物表观设计和模拟技术。该类技术需要高质量植物器官表观纹理资源作为数据支撑(如漫反射纹理、透射纹理、法向量贴图等),用以描述植物的光学材质属性。
目前,对于植物表观纹理资源的制作仍多采用人工编辑。计算机美术设计人员利用PhotoShop 等软件以单张植物器官图像为依据,手工绘制出空间变化的漫反射、透射、高光、粗糙度等表观模型参数,并结合法向量贴图来增加植物表面的细节,整个过程耗费专业人员大量的时间和精力,降低了农业题材三维数字资源的制作效率。
针对上述问题,本文研发单图像的植物器官表观纹理生成系统,利用单张植物器官图像生成空间变化的漫反射强度、透射强度、高光强度、粗糙度、法向量贴图、环境遮蔽6 种表观纹理,以期提高植物器官表观纹理的制作效率,为农林题材的三维可视化虚拟媒体研发提供资源制作工具。
作物器官表观反映其与光的作用方式,如图1 所示,入射光L 射到表面p 点之后,部分光线会直接在p 点处反射形成高光反射(未进入叶片内部,在叶片表面即被反射出的光线);剩余部分则折射进入器官内部,在组织之间形成多次散射和吸收,一部分在p 点周围区域以漫反射形式离开器官表面(漫反射在各方向具有均匀强度)。如果器官为半透明介质(如叶片),则会由部分光线在器官另一侧以透射形式射出,对于植物器官,透射在各个方向也呈现均匀特征。
图1 光与作物器官的作用方式示意图 Fig.1 Interaction between light and plant organ
上述光学特性可通过数学模型进行描述,其中模型参数称为表观参数。描述物体表面光学特性的数学模型很多,但基本都涵盖如下几个表观参数:描述漫反射特性的漫反射强度参数,描述高光反射的高光强度参数和粗糙度参数,描述透射特性的透射强度参数。表观纹理是记录物体表面各点表观参数的图像,对应上述表观参数可分为漫反射强度纹理、高光强度纹理、粗糙度纹理以及透射强度纹理。同时,本文将描述物体表面凹凸细节的法向量贴图和环境遮蔽贴图也归为表观纹理。
假设植物器官纹理图像的高光特征可忽略不计,图像中的光照为白色,则植物器官的RGB 纹理图像I 能够分解为光照图S 与漫反射强度图D 的乘积。对于每个像素x 的任意颜色通道c,本征图像分解可以用下式表示
式中x 表示二维纹理图像中任意像素点;符号c(c∈(R,G,B))表示RGB 纹理图像的单个颜色通道。
本文假设器官纹理具有简单性和光滑性特征,即植物器官表面不会出现五彩斑斓的多种颜色,且图像的局部区域内,物体表面的光学特性相似。基于上述假设,可将任一像素点xi的漫反射率表示为其邻域点的漫反射率加权和
其中 N(xi)表示 xi的邻域像素集合;ωij为权重系数(0.0<ωij<1.0),ωij=1/N,其中N 为邻域N(xi)的像素个数,即每个邻域像素的权重相同,称为均值权重。
上述ωij计算简单,速度快,但对于表面颜色较多的器官纹理,会造成不同颜色边界处的漫反射过模糊,因此可采用文献[25]的方法计算ωij
式(3)中的ωij可描述点xi的漫反射率Dc(xi)与xj点的漫反射率Dc(xj)之间的差异,差异越大,则ωij越小。Î 为图像I 的归一化图像,因此Î(xi) 是I(xi)的归一化向量;“·”为向量点积运算符,因此公式(2)中的 arcos(Î (xi)·Î (xj))为单位向量Î (xi)与Î (xj)间的角度,用该角度值表示图像I 中像素xi和像素xj的颜色角度;δT(xi)表示像素xi与其邻域内所有像素颜色角度的方差;将图像I 从RGB颜色空间转化至YUV 颜色空间,公式2 中Y 表示I 在YUV 空间中的Y 通道(亮度通道);δY(xi)表示表示像素xi与其邻域内所有像素亮度强度的方差;从ωij的构成中可以看出,xi与xj两者的颜色角度和亮度差异决定了ωij的大小,当2 个像素间的颜色和亮度比较大时,ωij值会较小。因此,式(2)表示的具体物理意义为,像素xi的漫反射率可由其邻域内所有像素的漫反射率加权和表示,但是如果一个邻域与xi的像素颜色和亮度差异大,说明两者漫反射率的差异也大,那么求加权和时,该像素应该采用更小的加权系数,反之亦然。
基于上述分析,可以定义约束函数(4)来约束漫反射强度图像
约束函数E(Dc,S)的第一项是对公式(2)的约束,其物理意义为:求出的漫反射图Dc,它的每个像素都可通过邻域像素加权和表示,即满足公式(2);约束函数的第二项是对公式(1)的约束,它的物理意义为:求出的漫反射图Dc和光照图S 需要满足公式(1),即两者乘积要与原图像Ic相等。求整个约束函数的最小值,希望求得的Dc和S 能尽可能地满足上面两个约束。采用传统的梯度下降法对公式(4)进行求解,即可得到漫反射强度纹理D 以及光照图S。梯度下降法为一个迭代的求解过程,因此学习率参数和迭代次数会对结果产生影响,本文将学习率设为0.9;迭代次数设为50。
权重系数ωij计算方法的选择,以及邻域N(xi)的大小会影响漫反射纹理和光照图的分解结果。邻域范围越大,漫反射约束的局部区域越大,得到的漫反射纹理越平滑(对比图2b、2c,图2d、2e)。ωij采用式(3)计算时,得到的漫反射结果边缘特征更加明显,光照图则更平滑(对比图2b、2d,图2c、2e),但是计算ωij时需要耗费一定时间。随着图像尺寸、邻域N(xi)的增大,计算时间会呈几何倍增加。ωij使用均值权重时,权重系数与图像尺寸、邻域大小无关,ωij对于每个像素都是固定值,但是相比采用(3)式,得到的漫反射纹理相对模糊,但光照图边缘特征更明显(对比图2b、2d,图2c、2e)。对于表面反射率差异较小的物体,图像像素的明暗差异主要由光照造成,因此使用均值权重时,可以在较小邻域参数下得到与(3)式时较大邻域参数下相似的结果,因此在对这类器官纹理处理时,使用均值权重更好。本系统默认情况下使用均值权重。
图2 植物器官本征图像分解结果 Fig.2 Intrinsic image decomposing result of plant organ images
植物叶片属于半透明材质,当光线照射叶片一侧表面时,会在另一侧发生透射现象,因此对植物叶片的表观模拟需要透射纹理。本文基于PROSPECT 模型推导出一个简单的经验公式,可根据植物叶片的漫反射纹理自动生成透射纹理。PROSPECT 模型[26]是一种常用的叶片尺度辐射传输模型,可以根据叶绿素、胡萝卜素等生理参数生成反射率和透射率光谱。由于本文主要关注可见光区域的光谱,因此在模型推导时未考虑模型中对可见光波段影响较小的干物质含量和水分含量参数。将叶绿素参数在0 至60 区间内均匀采样50 个数值,胡萝卜参数从0 至20 均匀采样50 个数值,结构参数从1.4 至2.5均匀采样50 个数值,并分别计算在3 个不同参数值下的反射率和透射率光谱,共计12 500 个漫反射率和12 500个透射率光谱数据。由于表观纹理为RGB 颜色空间的数字图像,因此需将光谱数据转为RGB 空间的颜色数据,本文采用的转换过程如下:
首先在D65 照明光源和2o视场条件下将反射率和透射率光谱转为CIE1931-XYZ 系统的颜色三刺激值X、Y、Z,计算公式如下
式中,λ表示具体的光谱波段数,nm。λ在400nm至700nm波段间,按5nm间隔进行采样,即λ的取值范围设定在400到730之间可被5 整除的所有整数;Δλ为λ的采样间隔,因此在本文中取5;S(λ)表示 CIE D65 标准照明光源在λ波段上的相对光谱功率分布;为λ波段的CIE1931 标准色度观察者光谱三刺激值;S(λ)、在不同波段λ下的数值由国际照明委员会(CIE)测量和制定,可在CIE15-2004标准[27]中查得;χ(λ)为需要进行转化的光谱数据,在本文中为PROSPECT 模型计算得到的反射率光谱和透射率光谱。之后将X、Y、Z 进行归一化,再转化为RGB颜色空间的̃颜色,过程如下
根据公式(5)和公式(6)可以将PROSPECT 模型计算得到的漫反射率和透射率光谱数据转换为RGB 空间的颜色向量。之后利用加权最小二乘回归拟合RGB 空间的漫反射颜色与透射率颜色的数学关系。T 表示透射纹理,构建统计学模型计算T 在像素x 处的各颜色通道强度为
其中TR、TG、TB分别表示透射纹理T 的R、G、B 分量,DR、Dg为漫反射纹理D 的R、G 分量。
图3 为利用公式(7)生成的透射纹理和三维可视化结果,从图3a、3b 的对比中可以看出,漫反射的不同会使透射纹理产生差异,透射三维可视化结果也会不同(如图3c、3d),但从视觉上都能较真实地模拟叶片的透射(如图3e)。虽然纹理中背景区域被转化为偏黄色,但是在纹理映射时,可避免将黄色背景映射到三维模型上,因此不会影响三维可视化结果。
高光参数纹理主要包括高光强度纹理和粗糙度纹理,两者描述了叶片反射的方向特征,理论上不能通过单张图像自动计算出高光参数,因此本文侧重于研发一种加快制作高光和粗糙度纹理的技术手段。
图3 叶片透射纹理 Fig.3 Leaf transmission texture
在实际的动画制作中发现,美术工作者习惯于根据器官图像中结构的相似性刻画高光细节,因此本文假设同种材质的器官表面结构高光特征相似,而同类材质的漫反射系数差异较小,基于上述假设,开发了一个简易的交互接口,用户可以在纹理图像中选择若干样本像素点,并为每个样本点赋予高光强度参数ρs和粗糙度参数α,系统根据非样本点与样本点之间的漫反射距离,自动计算两个高光参数。采用文献[28]的方法进行计算,假设用户选择了M 个材质样本点,其中第i 个样本点的漫反射率、高光强度和粗糙度参数分别用符号表示,任意非样本点像素x 的漫反射率、高光强度参数和粗糙度参数分别用符号ρd(x)、ρs(x)和α(x)表示,则x 的高光参数ρs(x)和α(x)可利用下式进行计算
式中Bi(x)表示非样本点像素x 属于第i 类材质样本的概率。
高光强度纹理和粗糙度纹理主要受样本点的选择影响。输入的样本点高光强度和粗糙度参数不同,则两个纹理的结果会完全不同。用户选择样本点的个数会影响2张纹理的空间差异程度,样本点越多,纹理空间差异性越大,得到的结果会更精细。
图4 为通过交互生成的叶片高光强度纹理和粗糙度纹理,其中4a 和4b 由25 个样本点插值得到,4c 和4d由7 个样本点插值得到。
法向量贴图可以通过光照计算模拟出物体表面的凸凹几何细节,是一种增强表面真实感模拟效果的高效手段,也是植物真实感可视化中常用的表观纹理。本文利用本征分解时得到的光照图S 生成植物器官的法向量贴图。首先采用阴影恢复形状技术(shape from shading),从光照图中计算得到植物器官表面的高度图H(H 为单通道灰度图),之后通过高度图H 生成法向量贴图Q。阴影恢复形状方法种类繁多,本文选择线性近似法[29]进行高度图恢复,其优势在于计 算速度快,符合本文加速纹理制作工序效率的目标。
图4 叶片高光表观纹理 Fig.4 Leaf specular reflectance appearance texture
本文将物体表面的法向量分布看作低频总体表面几何结构和局部高频细节几何结构的融合,因此最终的法向量贴图L 是低频法向量贴图Q1与高频法向量贴图Q2的加权和。其中Q2可直接通过高度图H 计算得到,H 在像素x(u,v)处的灰度值表示为h(u,v),Q、Q1、Q2在像素x(u,v)处的像素为三维法向量,分别用符号(u,v)、表示。坐标(u,v)处的高频法向量可直接基于高度图H 利用式(9)计算得到
最终法向量贴图Q 在坐标(u,v)处的值为
式中μ 为用户输入参数。上式中0.5 倍的缩放以及(0.5, 0.5, 0.5)大小的偏移,是为了将法向量每个维度均归一化至0.0 到1.0 之间,方便存储成RGB 图像。
从式(11)可以看出,最终的法向量贴图由一张高频贴图和低频贴图通过线性插值合成,其中系数μ 由用户输入。该值越大,低频法向量贴图占的比例越大,因此描述的表面细节越平滑;该值越小,高频法向量贴图占的比例越大,描述的表面局部细节凹凸程度越大。图5 给出了以图 2d 中光照图为输入,不同μ 参数下的法向量贴图结果。
图5 不同输入参数μ 下的叶片法向量贴图 Fig.5 Leaf normal maps with different input parameter μ
在三维可视化渲染中,美工经常用环境遮蔽图(Ambient Occlusion Map, AOM)模拟环境光造成的物体边角局部阴影,以增加绘制物体的层次感。观察到,在光照图中,物体凹凸较明显的区域会形成阴影,这些区域可以作为环境遮蔽阴影。因此,本系统直接通过倍增操作将光照图S 转换为环境遮蔽图A
其中m(m>1.0)为倍增系数,为用户输入参数。经过线性变换之后,再对A 进行高斯模糊得到环境遮蔽图,当前,设定高斯模板大小为5×5,高斯半径设为1.1。
本文生成的环境遮蔽图比较简单,只是对光照图进行倍增,倍增系数m 越大,AO 图的整体亮度越高,出现的过饱和像素越多。图6 给出了以图2d 中光照图为输入,不同m 值下的环境遮蔽效果图。
为了便于用户评价表观纹理的制作质量,系统提供了表观纹理实时可视化模拟模块,为用户提供所见即所得的三维可视化结果,用户对上述任意表观纹理的更新,均会实时地在三维可视化结果中得到体现。系统中使用各向同性的ward 模型作为光学模型进行可视化计算,该模型公式如下
图6 不同倍增系数m 值下的叶片环境遮蔽图 Fig.6 Ambient occlusion maps of leaf with different scale coefficient m
其中Li(θi)为θi方向光的辐射亮度(RGB 三通道),τ为p 点处法向量n 与光源方向之间的夹角,A(p)为p点处的遮蔽阴影系数,该值从环境遮蔽图中索引得到。max 函数表示返回输入参数的最大值。图7 为不同光源方向下(不同τ 值)的黄瓜叶片可视化效果,使用的漫反射纹理为图2d,透射纹理为图3b,高光强度纹理为4a,粗糙度纹理为4b,法向量贴图为图5c,环境遮蔽图为6b。
图7 不同光源方向(τ 值)下的叶片表观可视化效果 Fig.7 Appearance visualization effects of leaf under different light source directions (with different τ values)
算法在配置为3.0GHZ CPU、DDR8G 内存的PC 机上进行了测试。本文系统在处理一张512×512 分辨率的植物器官图像时,利用式(3)权重进行漫反射纹理和光照图分解时运行时间小于5 s,使用均值权重时运行时间小于1.5 s,透射纹理生成过程小于0.4 s,法向量贴图重建时间小于0.8s,通过高光参数样本点生成高光强度纹理和粗糙度纹理时间小于0.9s,AO 图生成时间小于0.3 s,整个系统在各阶段的快速计算可以为用户提供及时的处理反馈。图8 为植物花瓣的表观纹理生成结果。图9为香蕉果实的表观纹理生成结果,由于香蕉果实不透光,因此不需要生成透射纹理。从可视化结果中可以看出,本文系统生成的表观纹理可以较好地对植物器官的表面凹凸细节、具有空间差异性的反射和透射特征进行刻画。
目前,在实际动画产品制作工作中,美工也会使用商业软件制作表观纹理,其中较典型的软件为CrazyBump,该软件也可通过单张图像生成多种类型纹理,本研究从3 个方面将本文系统与该软件进行对比:
1)表观纹理类型
本系统能够生成6 种表观纹理,CrazyBump 软件可生成5 种,其中漫反射纹理、法向量贴图、高光纹理和环境遮蔽纹理,两个系统均可制作。除此之外,本文系统还可以生成粗糙度纹理和透射纹理,后者更是植物三维可视化中非常常用的表观素材。但本文系统不具备CrazyBump 的位移贴图生成功能。
2)交互操作模式
2 个系统均通过单张图像生成多个表观纹理,并在软件中为用户提供了可调节的参数。CrazyBump 为用户提供的调节参数有30 多个,提高了纹理编辑的灵活性,但也增加了操作的难度;而本系统则更侧重用户操作的自动化和简洁化,因此将用户调节的参数压缩到3 个,但是也可以得到样式丰富的表观纹理。
3)计算效率
2 个系统的纹理生成速度均非常快,方便用户调节纹理样式。CrazyBump 能够对用户参数的调节进行实时响应;本系统只有在进行漫反射纹理和光照图分解时的响应时间稍长,但在其他纹理制作时,也可以对参数调节进行实时响应。生成6 类512×512 分辨率的表观纹理时,系统对单个表观纹理的平均计算时间在0.8 s 到1.5 s 之间,生成6 种表观纹理的总时间小于8 s。
图8 本文系统生成的作物花瓣表观纹理和可视化效果 Fig.8 Appearance textures and 3D visualization results of the plant flower generated by the proposed method
图9 本文系统生成的香蕉果实表观纹理和可视化效果 Fig.9 Appearance textures and 3D visualization results of banana fruit generated by the proposed method
本文研发了一种基于单图像的作物器官表观生成系统,该系统仅需调节3 个参数即可生成6 种不同样式的表观纹理,包括漫反射强度纹理、高光反射强度纹理、粗糙度纹理、法向量贴图、透射强度纹理和环境遮蔽纹理,这些纹理可直接应用于三维可视化算法中。系统在处理512×512 分辨率的器官图像时,生成6 种表观纹理的总时间小于8 s。相比当前常用的商用纹理制作软件,本文系统能够生成的表观纹理样式更加全面和符合数字植物的制作需求,同时操作更加自动化、便捷化,可以实现对作物器官表观纹理资源的快速、准确设计与制作,为农业题材的三维数字资源开发提供技术工具。