病虫害条件下叶片表观的三维模拟算法_第1页
病虫害条件下叶片表观的三维模拟算法_第2页
病虫害条件下叶片表观的三维模拟算法_第3页
病虫害条件下叶片表观的三维模拟算法_第4页
病虫害条件下叶片表观的三维模拟算法_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

病虫害条件下叶片表观的三维模拟算法

0表观模拟方法近年来,随着农业信息技术的发展,农业信息的科普和技术进步日益增多。其中,三维虚拟动画已成为一种重要的手段。它展示了农业生产中基本原则、术语和技术方法的基础和难点。其中,病虫害是农业生产中非常常见的一种生理现象,所以描述病虫害条件下植物叶片表观变化具有重要意义。关于叶片表观模拟的研究大部分集中在正常状态下的表观质感建模。如基于双向表面扩散函数(bidirectionalsubsurfacescatteringreflectancedistributionfunction,BSSRDF)的方法以及基于双向表面反射函数(bidirectionalreflectancedistributionfunction,BRDF)+双向表面投射函数F(bidirectionaltransmittancedistributionfunction,BTDF)的方法。也有部分研究者研究植物叶片老化的模拟方法[9,10,11,12,13,14]。以上研究均未考虑病害对植物叶片表观的重要影响,然而,在病虫害因素下叶片表观会产生显著的变化,如出现色斑、空洞等现象。为此,本文提出了一种病虫害下的叶片表观模拟方法,可以实时地对病斑在叶片上的发生、扩散进行较真实地模拟。1病原菌在叶片的生长特性将病斑的空间信息分为3个方面:病斑的分布、病斑的运动方式、病斑最终形成的形态。对于以上3点分别做出如下假设:1)病斑的分布:病菌在叶片表面进行生长繁衍是存在竞争的,所以为了寻求最大程度的叶片资源,病菌会均匀地散布在叶片的表面;2)病斑的运动方式:病菌浸染叶片,是由初始的附着位置向四周逐步扩散(即不会出现位置的跳跃现象)。3)病斑的形态:对于同种叶片上的同类病菌,其在叶片留下的病斑形态会呈现一定的相似(如黄瓜上白粉病大致成椭圆形)。在以上假设条件下,提出了基于细胞纹理的白粉病空间信息表达方法,通过纹理,可以对病害在叶片表面的空间动态过程进行模拟。2函数fps的函数Worly于1996年提出了细胞纹理基函数的概念,这种函数的思想是将一系列特征点分散到R3空间中,并且根据特征点与其局部点之间的距离关系构建标量函数,利用这种函数,可以构建类似Voronoi形态的纹理特征,当然,通过改变标量函数的构建方法,可以获得丰富的纹理样式。细胞纹理基函数从一定程度上可以简单地理解为特征点与其第n最近点的距离关系。由于本文希望构建二维空间的细胞纹理,所以只从R2空间上对于细胞基函数的性质进行简要的介绍。如果在R2空间上随机分布一定数量的特征点,对于任意一点x,定义F1(x)为x到其最近特征点的距离,当x发生空间变化时,函数F1(x)的变化是连续平滑的,这种性质并不会由于x会出现与多个特征点距离相等的情况而发生改变。同理,F2(x)表示x与其第2近的特征点之间的距离,Fn(x)为x与第n近的特征点之间的距离。根据Fn可以制作类似图1样式的细胞纹理,在图1a中,可以清晰的看到整个纹理具有多个明显的细胞样的区域,将每个区域看成一个单元,在单元中会有一个颜色最暗的点X,而距离X越远的位置颜色越亮,两者的亮度之差与它们之间的距离成一定的线性关系。当然,通过改变细胞基函数可以构建不同样式的纹理图案,但是特点与图1b类似,都是具有明显的细胞样的单元区域,且区域中会有一个具有极端颜色的中心点(最暗或者最亮),而单元中其他位置的像素颜色值与中心点的距离具有一定的函数关系。细胞纹理的生成方法分为2个阶段,第1阶段是在二维图像内生成一定数目的随机点,对于随机点的分布本文选取泊松分布,这样做的目的是为了使其符合上文对病斑均匀分布的空间信息假设。第2阶段,通过遍历每一个像素值,计算其与特征点之间的距离,并进行颜色计算。该步的伪代码可参考文献,通过修改算法参数可得到不同类别的纹理特征,如图1所示。从图1中可以看到,细胞纹理的样式与上文介绍的空间运动假设具有很多类似的特征:首先,细胞纹理的特征点是利用泊松分布在平面上进行撒点,对于这些特征点可以看作是生长在叶片的初始病菌体位置(均匀地散布在叶片表面);其次,细胞单元区域内由特征点位置向边缘位置的颜色变化是连续的,所以可以将每个细胞单元的颜色分布看作是病菌向四周扩散的运动过程(由特征点所在的位置向单元边缘扩散);最后,细胞单元区域都会形成类似的图案,可以进行病斑等形态的描述。3病害发生强度函数本文利用细胞纹理对病斑空间运动进行模拟。因为细胞纹理自身的性质,所以可以非常简单地利用纹理的颜色值进行运动模拟。将纹理的颜色值看作是病斑的运动次序表示,假设特征点的颜色值为1.0,则在其细胞单元内的其他部分的颜色值都会小于1.0,并且随距离逐步递减。所以,可以根据颜色值构建病害发生强度函数D,该函数表示病情发生强度,值越大病斑扩散的范围越广,其公式如下:式中:b表示扩散速度(可控,无量纲),a表示病情程度,x为细胞纹理的像素值。为了增加病斑空间属性的随机性,在实际中对细胞纹理的值进行一定的扰动。本节采用的病斑纹理映射方式较简单,首先计算叶片模型的有向包围盒,然后将纹理映射到有向包围盒中最大面积的平面,同时为了调控病斑的大小,通过缩放因子对纹理坐标进行调控。4函数的渲染法真菌性病斑会在叶片表面形成霉层,并且厚度不一,通常情况下,初始发病的位置会随着病情的加重逐渐加厚,而边缘的霉层则相对较薄。本文采用Shell渲染算法对霉层的层次结构进行建模。Shell渲染常被用来进行毛发的渲染,其思路比较简单。如图2,Shell是一层层的水平切片的堆积体,每一层都根据细胞纹理进行病斑的绘制,当层数逐渐积累就可以出现具有厚度的层次感了。本节以白粉病为例,对病斑表观模型进行介绍。本文绘制15个层(后续用pass表示层)用于病斑的渲染,以使得最终的病斑结果能够更加精细,在绘制病斑前,通过第一层来绘制出叶片的表观,并根据alpha值进行混合。对于病斑的Shell渲染,需要考虑的问题有以下几点:1透明像素设置病斑所在位置的信息是在细胞纹理上表达的,然而,在病斑扩散的过程中,不是所有细胞纹理中的像素都属于病斑,这些像素是不可见的,为此,需要将这些像素设置为透明。然而,不能采用传统Shell渲染的方法,在固定纹理的alpha通道设置每个像素的alpha值,这样只适合那些位置不变的物体(如毛发等),不能描述病斑扩散这样的过程(透明的像素是一直在变化的)。为此,利用公式(1)中计算的病害发生强度函数D去控制像素的透明情况,当小于D时,认为是透明的像素,本节方法在处理完全透明像素时,直接在片元着色器中利用discard函数将该像素删除。2病斑厚度控制Shell渲染方法将切片按不同高度罗列在一起,为了生成任意模型表面的病斑,本文将切片沿多边形的法向量方向进行递增。在实际中,霉层的厚度是均匀不一的,假设其厚度是随着积累的时间逐渐增加的,所以会呈现中心位置偏厚,而边缘偏薄的特点。可以采用病害发生强度函数D去控制病斑的厚度。当绘制霉层时,采用的pass数越大,则霉层高度越高,所以在渲染到较大pass时,将边缘位置(D较小的部位)删除即可获得中间高边缘薄的效果。实际中通过伪代码的算法进行控制,病斑厚度控制的伪代码:其中:pass_index为当前的pass数,pass_num为总的pass数量,PT为用户的控制参数,当PT越大时,表示厚度差距越大,当PT=0时,表示病斑区域的厚度是相等的;Position为顶点的三维坐标;shell_distance为用户调控参数,表示单层霉层的厚度;Normal为顶点的法向量。图3为PT在0.2、0.3、0.5时,病斑厚度的表观变化。3数字空间下病斑的删除霉层很多时候具有明显的颗粒感,并且并未将整个叶片全部盖住,尤其是在病斑厚度较薄的部位具有缝隙,为此,本文应用perlin噪声对病害发生强度函数D进行扰动,按一定的规则将病斑位置的像素删除,这样便可得到相应的缝隙,伪代码如下:其中:DN为用户的控制参量,值越大表示缝隙越大,当DN=1.0时,所有的病斑像素全部删除,当DN=0.0时,所有病斑像素全部保留,表示不存在缝隙,n表示由perlin产生的噪声数值,discard表示删除像素的操作。图4为DN在0.2,0.5,0.7下的病斑表观。4生理因子的叶片表观模型病斑覆盖部位以及病斑周边部位的叶片由于被白粉遮挡,经常接受不到阳光,会出现发黄的表观变化。为了模拟这种现象,本文采用了基于生理因子的叶片表观模型,模型中叶绿素含量变化范围在0~50mg/cm2,并由D值进行控制,而胡萝卜素含量取固定值20mg/cm2,结构参数取1.8。为了让病斑周边叶片发黄的变化更加明显,本文并没有简单地根据D的值按比率调整叶绿素含量的变化,而是相对于D的值提前将叶绿素含量大幅度的减少,这样做就可使得病斑周边叶片的颜色变化更加明显。图5为白粉病周边叶片颜色的变化情况。5检测的基本原理对霉层散射特性进行简单的抽象,如图6,将病菌看作是球体颗粒(圆点),白粉病的病斑是由病菌逐层积累产生的,在病菌的初始着落区域较厚,而在边缘部分较薄。对较厚位置及较薄位置的光学特性分别进行分析。对于较厚位置,假设不会有光穿过霉层射入叶片表面,入射光接触到霉层之后,有一部分光发生了镜面反射,剩余部分传入霉层表面,与病菌的颗粒发生接触之后,经过多次反射之后形成次表面散射;而对于较薄的部位,入射光接触到霉层之后,除了与菌体接触造成的发射及次表面散射之外,还有一部分光与叶片发生接触,发生镜面反射以及次表面散射,在这里,本文假设与叶片发生的镜面发射光和与菌体发生的镜面反射部分的方向及性质相同,可以将两者合二为一,这样,对于较薄部分的霉层所包含的反射光为:镜面反射、菌体的次表面散射以及叶片的次表面散射。在实际中,渲染的像素点面积与光的次表面散射路径相比较大,所以次表面散射可以用漫反射来替代。白粉病的材质模型采用如下公式:式中:Rr为白粉病表面的BRDF(双向反射分布函数),ρd为漫反射颜色,σs为散射系数,mm-1;d为病斑厚度,mm;θi为入射光线方向;θr为出射光线方向。而对于叶片的漫反射,由于病斑较薄的区域存在空隙,并且在进行Shell渲染时,叶片的表观与病斑的表观进行了混合,所以在绘制病斑时,不再单独地对叶片的漫反射进行加合。5病情预测模型的建立上述方法很容易与现有的病害知识进行整合。以黄瓜白粉病预警知识为例进行说明,黄瓜白粉病的发病程度是以病情指数进行表示的,指数的分级标准如下:0级,健叶,叶面无病斑;1级:病斑面积占整个叶面积小于等于10%;2级:病斑面积占整个叶面积小于等于25%,大于10%;3级:病斑面积占整个叶面积小于等于50%,大于25%;4级:病斑面积占整个叶面积大于50%。在实际生产中,对于病斑对叶片面积的比例大都是靠人眼估算,并不需要严格的计算,为此本节对于病情指数也采取估算的方法。徐宁等构建了黄瓜白粉病的病始病期预测模型以及病情预测模型,其中病始病期预测模型(对从从接种之日起到开始发病时间的预测)的参数为标准累积湿度Jh(将湿度进行累加,无量纲)、标准累积温度Jt(将25℃为基准定为1,其他温度换算在0~1的范围,使温度变换成标准温度(0~1℃),再将所有温度进行累积,单位为℃),标准温度与标准湿度乘积的倒数DB,始病期参数St(即从接种之日起到开始发病时间,单位为d)对于标准温度与标准湿度的具体计算方法可参考文献,这里不再叙述。其病始病期预测模型公式如下:根据以上公式,可以在CPU端计算每天的标准温度值及标准湿度值,这样通过逐日的积累,就可以计算出St值,到达这个时间之后,调整公式(1)中的a值,进而开始进行病菌的侵染模拟。病情预测模型的参数分别为病情指数DL,发病天数Da(病害开始出现经过的时间,单位为d)、标准累积湿度Jh、标准累积温度Jt,品种感病性系数Va(感病品种为1.0,中抗品种为0.8,抗病品种为0.5),其预测模型公式为:对于各个参数的定义及计算方法可参考文献,这里不再叙述。将病情指数与本节方法中的病情调节参数a进行关联,通过调整a值,估算病斑相对于叶片的面积比,从而确定在不同a值下的病情指数:当a为1.0时,面积比为0;当a为0.65时,面积比大致为10%;当a为0.57时,面积比大致为25%;当a为0.42时,面积比大致为50%。在CPU端,将未来Da天的环境因子进行输入,即可计算病情指数DL值,继而得到病情调节参数a值的大小,只需简单地利用a/Da来计算每日的病情调节参数改变量,从而得到对未来Da天内白粉病侵染过程的模拟。对于其他种类的病斑,也可采用类似的方式对农业知识进行整合。6定量化病情模拟上述算法在VC++2005和OpenGL图形引擎编程环境下实现,并在配置为1.96GHZ的CPU,DDR2GB内存以及NVGeforce9500显卡的PC机上进行试验。选择黄瓜白粉病、茄子白粉病以及小麦叶锈病来检验本文方法,图7为3种病害实际拍摄的图像用以对模拟结果进行比对。本文算法可通过病情调节参数a,进而控制病情指数,进行定量化的病情模拟,图8为不同病情指数下白粉病表观模拟(DN=0.44,PT=0.47),与图7a进行对比可知,本文方法在病斑分布、霉层表观等方面均符合实际病斑的特征。为了改变病斑的位置,在实际中加入了二维纹理坐标的平移操作,这样可以通过人工调节进行病斑位置的改变,如图9为在a=0.65下(2级病情指数),通过改变纹理平移坐标,进而调节病斑位置得到的效果,从图中可以看到,在病斑位置发生变化的情况下,叶片发黄的区域也同样发生变化,从而保证在白粉病斑覆盖的区域会由于缺少光合而发黄。图10为不同白粉病病情下,茄子植株的叶片表观模拟结果,效果与图7b进行对比可知,模拟结果从可视化角度比较真实。图11为小麦叶锈病模拟效果,与图7c进行对比可知,本文方法在模拟其他病害时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论