时间:2015-12-21 00:49:32 所属分类:园艺 浏览量:
0 引言 树形结构对果树的产量和品质有着重要的影响,修剪是取得优质高效树形结构的主要技术手段.例如,通过整形和修剪改变花期和营养生长[1],或用来控制树形及平衡营养生长和生殖生长[2].然而,传统剪枝主要依据经验知识对树冠进行修剪,其操作过程不可逆[3].目
0 引言
树形结构对果树的产量和品质有着重要的影响,修剪是取得优质高效树形结构的主要技术手段.例如,通过整形和修剪改变花期和营养生长[1],或用来控制树形及平衡营养生长和生殖生长[2].然而,传统剪枝主要依据经验知识对树冠进行修剪,其操作过程不可逆[3].目前,果树修剪技术培训和推广工作中,主要存在以下问题:一是传统口头讲解、教学光盘等形式的果树修剪技术培训不能够直观形象、效果欠佳;二是掌握果树修剪技术的科技人员相对短缺[4];三是在农村普及正确的修剪技术有一定难度[4].
随着信息技术的发展,虚拟植物(果树)为生长建模、过程模拟、可视化计算分析等提供信息服务和技术支撑[5].因此,如何通过信息技术手段改进果树修剪技术培训和科技推广成为各国科研人员的研究兴趣.虚拟现实从应用上看是一种综合计算机图形学技术、多媒体技术、人机交互技术、网络技术、立体显示技术及仿真技术等多种科学技术综合发展起来的计算机领域的最新技术,也是力学、数学、光学、机构运动学等各种学科的综合应用[6].如果将其应用到果树修剪中,将为树形分析研究、果树修剪技术培训等应用提供一种全新的技术手段,缩短在真实果树上进行修剪试验的时间,同时极大地降低成本.
近年来,不少国内外研究者围绕果树的虚拟修剪进行了研究.Balandier 等人[7]以单株的幼年核桃树为例,设计了一种 SIMWAL 的功能结构模型,根据枝叶生长、修剪时间、修剪点等参数对模型进行修剪,研究气候变化与枝条修剪对核桃树的影响.潘云鹤等[8]提出了一种交互设计技术的果树树形修整方法,从树根遍历所有枝条是否执行剪除操作,缺点是不能对某根枝条进行交互式修剪和编辑操作.王剑[1]等提出通过创建修剪规则库,利用鼠标控制模型运行的参数将修剪动作映射到相应的规则中,然后根据规则将相应修剪后的模型进行可视化输出.以上研究修剪过程不够自然,树木真实感比较差,不能满足真实的果树修剪也限制了果树虚拟修剪系统的推广应用.
同时,还有一些植物建模软件如 Xfrog、Onyx Tree 等,与真实的剪枝也有较大差距.基于以上不足,本文试图提出一种更加自然、树木真实感更好,并使用"虚拟剪刀"的交互修剪技术,为果品产业提供一个可视化、智能化的修剪管理新途径.
1 关键技术
1. 1 Unity3D 虚拟现实技术
虚拟现实是利用电脑模拟产生一个三维空间的虚拟世界,提供使用者关于视觉、听觉、触觉等感官的模拟,让使用者如同身历其境一般,可以及时、没有限制地观察三度空间内的事物[9].本文涉及的 Unity3D 是专业的虚拟现实开发引擎,可用于创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容.其开发界面如图 1 所示.
首先,Unity3D 是 一 个 层 级 式 的 综 合 开 发 环境[10],开发者可以根据自己的视觉习惯选择不同的编辑类型显示,编辑区有详细的属性编辑器和动态的游戏预览;其次,一个完整的 Unity3D 项目是由若干个场景和场景中的界面组合起来的,每个场景中又包含许多模型,并通过脚本来控制它们的交互行为;最后,Unity3D 拥有强大的物理引擎,能模拟现实世界中的物理现象(如碰撞和重力效果),并且还提供粒子系统(如火焰、雾和瀑布等效果).
本文将三维重建后的果树模型导入 Unity3D,通过场景编辑视图创建虚拟果园.为了加快计算速度及提高交互性,对模型从 3 个方面进行优化:①合并使用同贴图的材质球及其 Mesh;②创建预置,将场景中重复使用的模型定义为预置体(Prefab),并通过动态异步加载的方式加载模型;③使用光照贴图.像素的动态光照将对顶点变换增加开销,使用光照贴图减少开销.
为了提高软件的运行效率,对代码也进行了如下优化:
①尽量避免每帧处理,如 Update 函数改为每 5帧处理 1 次;②主动回收垃圾;③优化数学计算等.
总之,Unity3D 拥有优化的图形渲染管道,应用程序能协调并行工作,把它作为虚拟开发平台,克服了传统方法开发周期长、数据兼容性差及发布平台受限等缺点.
1. 2 建立三维模型库
人们获取物体的三维模型的方式有 3 种[11]:一是通过三维扫描设备来获取;二是通过建模软件构造三维模型;三是通过利用图像来重建三维模型.本文取第 1 种方式,具有过程如下:首先,利用三维扫描仪获取果树几何构造与外观数据,根据农学知识分析数据并提取模型关键特征;其次,基于知识建立数字植物的三维形态模型,实现植物对象数字化可视化表达[12];最后,完成三维重建,将模型保存模型库满足交互应用需求.三维模型库构建流程如图 2 所示.
本文三维重建后,需要导出 FBX 格式文件,在导出之前需要注意以下步骤:
①检查模型法线是否正确;②检查材质和对象是否规范;③检查场景模型的组别和层次是否满足需要;④检查各物体的局部坐标朝向;⑤检查 UV 是否正确.通过这些步骤导出模型,然后再导入到 Unity 中;导入 Unity 后对待修剪的枝条进行单位大小调整及添加物理属性碰撞体组件处理,否则鼠标无法完成拾取操作.
1. 3 果树修剪技术
果树在生长发育过程中,根据每个时期的生长特点和要求,所采用的修剪方式也不一样.本文以柑橘为例,柑橘树一生要经历幼年、成年和衰老等生物学阶段,就修剪而言,不同阶段的技术要点不同[14]:幼树期修剪的目的是整形,主要通过抹芽放梢及疏除花蕾;初结果期修剪是为了保持坐果率,采取适当除果及剪除徒长枝的方式;衰老期修剪以保持树形为主,一般做法是剪掉下垂枝;衰老期修剪要进促进其长势,通过轮换更新和主枝更新的方法修剪.不同时期修剪规则图解如图 3 所示.
1. 4 射线拾取技术
拾取是计算机图形处理系统一个重要功能,是图形绘制、操作者通过输入设备操纵屏幕上的物体、获取物体的空间坐标或图形数值的实现基础[15].本文主要通过射线拾取算法实现鼠标拾取场景中的物体(修剪点),并判断由视点发出经屏幕光标的射线是否与目标物体相交.射线拾取原理图如图 4 所示.
z = 0 处为视椎体近剪裁面,z = 1 处为远剪裁面.其中,P0 为发射指向 P1,也就是 2D 平面的一个点映射至 3D 空间的一条射线.具体实现方法:
1)获取屏幕上的点,并找到其对应的投影窗口上的点.
2)计算拾取射线.其是一条从屏幕上点击的一点出发的射线.
3)将射线乘以观察矩阵和投影矩阵连乘后的联合矩阵的转置逆矩阵,并变换到和模型相同的坐标系当中.
4) 判定物体和射线求交,被穿过的物体就是屏幕上拾取的物体.
1. 5 碰撞检测技术
碰撞检测是视景仿真中的重要研究内容,也是虚拟环境产生沉浸感的重要手段,可以使用户以更自然的方式与仿真系统中的场景对象进行交互[16].碰撞检测主要有空间分解法和包围盒层次法两大类,空间分解法存储量大、不灵活.本软件使用包围盒层次法检测"虚拟剪刀"模型是否柑橘枝条模型的碰撞.其基本思想是用简单的包围盒将复杂的几何形状围住,当对两个物体进行碰撞检时,先对包围盒求交,若相交,则只对包围盒重叠的部分进一步相交测试.当模型几何结构很复杂时,使用这种方法可以提高计算速度,满足虚拟环境中实时性的要求.
如果要进一步提高修剪的沉浸感与趣味性,可与leap motion 体感设备相结合,通过手势识别控制"虚拟剪刀"进行修剪操作.
2 软件实现与实例验证
2. 1 软件简介
本文研究的"果树虚拟修剪软件"是将果树修剪技术、信息技术及虚拟现实技术相结合的果树虚拟修剪仿真软件.以单株果树模型为例,用户可以对模型进行旋转、缩放及移动等操作,并使用"虚拟剪刀"的方式模拟其从幼树期到衰老期的交互修剪.通过这种方式,将果树较长的生长周期在短时间内模拟生长,缩短了在真实树木上修剪试验的时间,降低了成本.通过反复练习,来达到快速掌握科学修剪技术的目的.
2. 2 开发环境及流程
本文通过 Unity 3D 开发平台进行虚拟果园场景编辑并采用 c#、JavaScript 脚本控制虚拟交互修剪操作.硬件环境为 CPUp5200、2. 5Hz、内存 2G、WindowsXP 操作系统.开发流程主要分为 4 个步骤: ① 数据采集.通过广泛收集果树修剪需要的媒体素材包括图片、文字、声音、视频及动画等.②获取果树三维模型.使用三维扫描仪获取果树形态数据,三维重建后导出 FBX 格式文件.③搭建果园场景,将重建后的果树模型导入 Unity,使用 Unity 引擎优化模型、调节"虚拟剪刀"执行修剪动作动画及编写脚本.④测试并发布.对系统进行优化并测试,调试完善后发布 exe 及网络版本.
2. 3 实例验证
实验以柑橘某枝条疏花疏果及果实采摘为例,通过鼠标交互快速、高效地拾取修剪点.此外,还可以对柑橘模型进行旋转、缩放、移动等操作.交互修剪流程图如图 5 所示.(图5略)
1) 疏花疏果模拟:柑橘通过疏花疏果,将过多的花、果疏除,有利于提高果实品质,保证树体健壮[17].疏花疏果能够模拟现实柑橘根据叶果比法进行疏花、疏果等操作.不同的品质叶果比是不同的:温州蜜柑叶果比应保持在(20 ~ 25):1,而茂谷柑叶果比是(50~ 60):1.在柑橘某枝条上模拟疏花疏果,如图 6 ( a)所示.根据设置的修剪点,通过鼠标选择修剪点(枝、叶、花等对象),若选择正确,则出现"虚拟剪刀",如图6(b)所示.然后"虚拟剪刀"检测修剪点并执行修剪动作动画剪掉所选对象,修剪后"虚拟剪刀"及所选对象消失,效果如图 6(c)所示.若选择错误,则弹出操作错误提示界面,点击重新选择可继续点选.与文献[18]实验修剪结果相比(见图 7 和图 6(d)),可知本软件树木真实好,并通过"虚拟剪刀"的形式使得修剪更自然,交互性更好.(图6略)
2)果实采摘模拟 :采果时应遵循"一果两剪"方法:第 1 剪带果柄约 3 ~4mm 剪断,第 2 剪则齐果蔕把果柄剪去,并且应由下而上,由外到内,以免损伤果皮.果实采摘模拟,首先通过二维界面的形式让用户选择"虚拟剪刀"的使用方式,果剪有正手与反手两种方式.在第 1 剪时,使用者应选择正手,如图 8(a)所示.通过鼠标点击正手方式时,则出现"虚拟剪刀",如图 8(b)所示.播放修剪动作动画将带果柄的果实剪掉,剪掉的果实放到容器中,然后再选择反手进行第 2 剪(即剪去果柄),完成果实采摘过程.
实验结果表明,本研究通过 Unity3D 创建果园场景虚拟方法,树木真实感强,符合自然的修剪,即当剪除母枝时,其子枝也被剪除;通过设置多个修剪点及反馈机制,增加了交互性;通过"虚拟剪刀"及其修剪动画的方式,提高了修剪的趣味性.
3 结论与展望
本研究是果树修剪方面的初步探索,也是在数字农业、虚拟农业应用中的尝试.从虚拟修剪效果来看,具有树木真实感好、符合真实人工修剪操作的优点.通过"虚拟剪刀"的形式有利于增加交互的趣味性,提升教学及培训人员的热情,从而快速掌握科学的修剪方法.但是要注意,应该根据不同树种与品种的生物学特性,以及不同树龄、树势和自然条件的特点,合理进行整形与修剪,才能收到预期的效果[19].
所有的一切都是建立在灵活应用科学的整形修剪技术之上的,所以园林树木的整形修剪是栽培和管理创新的重要措施[20].由于修剪后形态发展的复杂性,对修剪后形态生理发展的模拟还有待于进一步研究.
近年来,大量更自然、速度更快、精度更高的虚拟交互技术和设备相继出现,如数据手套、头盔、近红外手势识别,以及 kinect、leap motion 等体感设备.如果能将这些虚拟交互技术产品应用于果树虚拟修剪中,必然会增加虚拟修剪的沉浸感、交互性与趣味性,这也是下一步研究的趋势.
参考文献:
[1] Stephan J,Lauri PE,Dones N,et al. Architec ture of the prunedTree:Impact of constrasted pruning procedures over 2 years onshoot demography and spatial distribution of leaf area in apple[J]. Annals of Botany,2007,99(6):1055 - 1065.
[2] Thomas Cokelaer,Damien Fumey,Yann Guedon,et al. Competi-tion - based Model of Pruning: Application to Apple Trees[C]/ /6th International Workshop on Functional - StructuralPlant Models. Livermore:University of California,2010.
[3] 林荣锟,邹杰,陈崇成,等. 虚拟树木形态结构的交互式编辑技术及其实现[J]. 农业工程学报,2012,28(25):175 -180.
[4] 王剑,周国民. 基于虚拟现实技术的果树修剪培训系统的研究[J]. 浙江农业科学,2009(1):213 -216.
[5] 赵春江,陆声链,郭新宇,等. 数字植物及其技术体系探讨[J]. 中国农业科学,2010,43(10):2023 -2030.
[6] 许微. 虚拟现实技术的国内外研究现状与发展[J]. 现代商贸工业,2009,21(2):279 -280.
[7] Balandier P,Andre Lacointe. SOMWAL: A structural -functional model simulating single walnut tree growth in re-sponse to climate and pruning[J]. Annals of Forest Sci-ence,2000,57(5):571 - 585.
[8] 潘云鹤,毛卫强. 基于交互变形的树木三维建模研究[J].计算机辅助设计与图形学学报,2001,13(11):1035 -1042.
[9] 祝敏娇. 基于 Unity3D 的虚拟漫游技术的研究[J]. 硅谷,2012(20):77 - 77.
[10] Ryan Henson Creighton. Unity 3D Game Development byExample[M]. Birmingham:Packt Publishing Ltd. ,2010.
[11] 张典华,陈一民. 基于 Unity3D 多平台虚拟校园设计与实现[J]. 计算机技术与发展,2013(11):1 -4.
[12] 肖伯祥,郭新宇,陆声链,等. 植物三维形态虚拟仿真技术体系研究[J]. 应用基础与工程科学学报,2012,20(4):539 -551.
[13] 陈晓青,王少伟. 基于 Unity 的虚拟现实技术在教育中的应用[J]. 软件导刊:教育技术,2011(12):76 -78.
[14] 沈兆敏. 柑橘成年结果树修剪技术[J]. 科学种养,2011(9):22.
[15] 刘薇. 基于 OpenGL 的射线拾取的探讨[J]. 科技创新导报,2011(11):88 -90.
[16] 宋强,宋玲芝,康凤举,等. 包围盒碰撞检测算法应用研究[J]. 计算机工程与应用,2009,45(24):238 -240.
[17] 左媛媛,郑党军. 合理疏花疏果,保障苹果树健壮生长[J]. 农业开发与装备,2013(10):119.
[18] 林定,陈崇成,唐丽玉,等. 基于颜色编码的虚拟树木交互式修剪技术及其实现[J]. 计算机辅助设计与图形学学报,2011,23(11):1800 -1807.
[19] 常红玲. 北方果树的修剪与修剪的好处[J]. 防护林科技,2011(3):115 -116.
[20] 倪学军. 园林树木整形修剪存在的问题及对策[J]. 现代农业技术,2013(19):228 -229.
转载请注明来自:http://www.zazhifabiao.com/lunwen/nykx/yy/34906.html