赵 迪,杨 阳,陈立伟
(1. 河南开放大学,河南 郑州 453000;2. 郑州铁路职业技术学院,河南 郑州 453000;3. 郑州大学,河南 郑州 453000)
怀地黄是驰名国内外的河南地方特色栽培植物之一,具有优良品质和独特药用价值。长期以来,农民需要多年大田种植经验积累才能掌握怀地黄生产技术。怀地黄生长周期较长,生产技术复杂[1-2],成本高,经济效益较差,以致种植农户越来越少,技术经验失传。如何提高种植户的生产技能,以实现怀地黄的降本增产来维持其产业链的持续发展,成为亟待解决的生产难题。近年来,虚拟现实等新一代信息技术蓬勃发展,为虚拟植物生产建模、过程模拟等提供了技术支撑。
有研究人员通过植物结构功能反馈机制,开发了GreenLab 模型[3],模拟植物的生长过程。KEATING 等[4]研发的APSIM 模型框架可以模拟农业系统中的生物技术过程;陈洪等[5]采用Unity3D 技术搭建了交互式虚拟农业仿真平台,为作物品种试验研究提供了一种新的思路;秦洪等[6]通过虚拟现实和仿真理念,提出了通过设计物理模型和仿真方法,实现在虚拟场景中体验农业生产过程的目的;兰翼等[7]利用VRML 技术设计了一个交互式农田虚拟现实场景平台,使用户在虚拟空间中得到与现实大田中同样的体验。之前的研究更多关注的是粮食作物种植生产技术的信息化组织和传播[8-13],而对怀地黄等地方特色作物生产的信息化建设关注较少,目前还未见把三维虚拟仿真技术应用于怀地黄生产的研究。因此,以虚拟现实、大数据、人工智能等技术为依托,采集整理怀地黄前期栽培种植、中期田间管理和后期采收加工全过程的关键技术,设计了怀地黄生产三维可视化仿真系统,以提高农户种植生产技能,实现怀地黄种植降本增产,提高其经济效益和社会效益。
怀地黄生产仿真系统的架构分为3 层,分别为数据层、支撑层和应用层(图1),各层之间相对独立,每一层都为其上层提供服务,以完成整体系统环境的构建。
图1 怀地黄生产仿真系统架构Fig.1 Rehmannia glutinosa production simulation system architecture
数据层:负责数据的存储与访问,为系统整体运行提供基础数据源,涉及栽培流程、技术要求等各类数据,是对怀地黄生产虚拟化及可视化所需数据的分类汇集。
支撑层:负责具体业务逻辑处理,整个系统的运行、维护和管理,是系统的核心框架。包括安全管理、服务容器等6个子系统。
应用层:为用户提供可复制的服务,实现怀地黄生产技能和操作方法指导等。
1.2.1 栽培过程功能设计 怀地黄栽培过程主要包括选地、整地、播种时期选择、种栽处理、播种、田间管理和病虫害防治等。
如图2所示,栽培过程功能模块中,各个子模块如选地、整地、地黄播种时期等相互之间有时间上和空间上的逻辑关系,因此做成串联设计。但为增强实用性,也添加了并联设计,以便用户在某个栽培阶段跳跃性选择自己需要的功能模块寻求指导方案。
图2 怀地黄栽培过程功能模块设计Fig.2 Functional module design of Rehmannia glutinosa cultivation process
在子功能模块中,如第1个功能选地,是非操作功能,会给出选地土壤要求、前茬作物、轮作期限等参数和要点。而操作功能如整地,则会给出相应指导操作规范,如施肥、耕地、打梗作畦等,这些操作最大化模拟田间地头的实际环境,并提供360°环绕、可局部放缩的全景示范和交互操作。1.2.2 采收功能设计 采收功能可分为人工采收和机器采收,前者需要人工判断采收时间、植株状态和采收工作时的注意要点。机器采收则分为机械去秧、机械采挖和人工捡拾3步,每一步有相应的判断参数和操作要点。模块设计如图3所示。
图3 怀地黄采收功能模块设计Fig.3 Functional module design of Rehmannia glutinosa harvesting
1.2.3 加工功能设计 怀地黄加工功能可分为产地传统加工方法和现代烘箱加工方法2 个子功能。分别有各自的加工流程和标准,在流程每一步都指出相应的操作参数、要点和技术规范(图4)。
图4 怀地黄加工功能模块设计Fig.4 Functional module design of Rehmannia glutinosa processing
数据库设计部分是系统开发工作的基础和重点。在设计系统时考虑到有2 种数据:怀地黄生产相关数据和用户使用该系统所产生的相关数据。两者均含有结构数据和非结构数据的部分。如怀地黄生产相关数据包含怀地黄生产过程中各种参数、指标如温湿度、肥药比、加工温控操作参数等结构化数据,同时包含有不可简单描述的专家指导意见、农户反馈情况、长势描述以及收集的怀地黄生产方法图像、视频等非结构化数据。各个实体及其属性可做结构化设计,如怀地黄实体,含有生命周期、温湿度、肥药参数等属性。而实体间的关系如农户对怀地黄的种植/管理/加工关系数据是用户在使用系统时产生的非结构化数据。
根据前述系统功能模块的设计,结合应用的设计需求,对数据库整体结构做如下设计(图5)。怀地黄生产过程主要有“栽培-采收-加工”3 个阶段,不同阶段会关联不同的数据。在开发系统时,不同开发阶段需要使用不同的数据。为此,设计了栽培数据库、采收数据库和加工数据库,并且创建了一个“怀地黄资料知识库”,作为系统开发和模型搭建的基础参数库。这些数据库中的数据是从图书馆图书资料、农技推广站种植专家、怀地黄种植专业网站以及种植区有经验的农民等处以文档、拍照、视频录制等方式收集获得,经种植专家整理后作为生产规范以及系统开发的基础参数资料。在对怀地黄不同生长时期建模时,可根据这些数据来设计株高、叶片数、块茎形态等。系统数据库中的数据多种多样,包含结构化和非结构化的数据类型。以栽培数据库中的整地数据为例,数据包含农民在田间施肥时的配比、打埂时的坡度、作畦时的宽度等。又如采收数据库,包含各种机械操作说明等,可据此进行1∶1、360°全方位、三维仿真的可视化建模,并可实现全部场景的自由放缩。
图5 怀地黄生产仿真系统数据库设计Fig.5 Database design of Rehmannia glutinosa production simulation system
本系统开发环境包括:安装有Windows 10 操作系统的计算机若干台,用于协作开发平台的硬件设备,可支持触摸技术的显示设备如安卓手机和平板用作测试设备。其他的设备主要包括数据采集设备,如图片和视频拍摄相机、手机,温湿度、土壤等的参数测量传感器等。选用开发语言为C#,开发平台为Visul Studio,采用.NET 结合MySQL 技术,用3dsMAX 和Unity3D 等三维图像软件设计制作人、物的模型和动作。
2.2.1 三维建模技术 怀地黄三维可视化仿真系统的原始三维模型基于图像检索技术进行建模,通过构建卷积神经网络和Open pose 模型进行训练,最终得到待识别图像中对应的怀地黄三维模型。借鉴文献[14-16]方法,对怀地黄三维模型进行优化。过程是将怀地黄三维模型y进行投影,得到二维投影模型P(y),P为投影相机函数,再构建三维投影模型与三维匹配模型之间的绝对值损失函数:
求解损失函数的近似解,即:
其中,m是样本数。由此实现对怀地黄三维模型的优化调整,最终输出优化后的三维模型。怀地黄三维匹配模型y包括最近似的k个三维模型B={b1,b2,...,bn},对应的模型均值为µ,进一步得到怀地黄的二维投影姿态:
其中,α为基础系数,由模型均值µ计算得到。通过科学优化三维模型,降低模型中的参数复杂度,提高模型反应速度。
2.2.2 面向服务的架构(SOA)技术 在传统的服务系统架构中,服务模块与其服务对象之间、各个服务模块之间以及各个服务对象之间的关系相互依赖,其依赖度关系表示为:
其中,d为依赖度,N为服务模块及对象的个数。服务模块是相对固定的,服务对象是不确定的。随着对象数量N的增加,系统的规模和复杂性呈n2次幂迅速增加,这使得维护和管理之间的关系非常困难。SOA 技术通过定义独立于软硬件平台、操作系统和开发语言的统一服务接口,实现系统中不同功能单元的联系和数据交互[17-20]。本系统通过Web Service方式,设计服务提供者(图6中服务器)、服务请求者(图6 中客户端)和服务注册中心3 种工作角色,它们之间的交互和操作构成SOA 的实现架构如图6所示。
图6 系统SOA架构实现方式Fig.6 SOA architecture implementation of the system
2.2.3 请求自动处理技术 怀地黄三维可视化仿真系统的请求来源包括手机端、PC 端、Web 端、API端、协议第三方、系统内部访问和其他不确定流量来源,设置上述7 种请求来源的待处理优先级依次降低,则请求来源的降级优先级位图可如下设置,如表1所示。
表1 请求来源的降级优先级位图Tab.1 Degraded priority bitmap of the request source
请求自动处理技术首先是初始化请求来源的降级优先级位图,并设置所述请求来源的掩码。其次,获取当前时刻等待队列的长度,所述等待队列用于存储尚未被处理的请求,若所述等待队列的长度大于等于预设上限阈值,则对所述降级优先级位图执行预设降级操作,然后接收请求并确定所述请求的来源,根据当前时刻的降级优先级位图和所述来源的掩码判断所述来源是否已进行降级处理,最后根据判断结果对所述请求进行保留处理或丢弃处理。
通过区分来源以及对来源的优先级进行排列,在系统流量高峰来临时,通过自动判断降级非核心流量,释放服务器的资源,保证核心来源的流量访问系统的可用性。通过优先级位图以及监控系统的实时流量进行组合判断,从而达到自动降级和自动恢复的能力。当流量达到上限阈值时,可以实现持续自动降级,保证系统的服务能力;当流量低至下限阈值时,逐个恢复非核心流量,降低运维成本。通过掩码与优先级位图中对应标记位进行与运算和或运算,判断出目前后台系统状态进行升级或降级,判断过程只占用一个CPU 指令周期的时间,小于1 ms。识别系统降级的掩码只用4 个字节的int类型即可,无需配置文件。通过掩码移位操作,在一个CPU指令的情况下完成新状态的切换。
2.3.1 设计流程 系统设计过程中,首先要到怀地黄原产地及种植户家中采集素材,详细了解田间环境、技术参数对怀地黄栽培采收加工的影响,操作工具的工作原理、使用方法、操作步骤等,然后使用3dsMAX 进行模型构建,并将建好的模型导入Zbrush 制作纹理、创建表面模型、进行贴图处理和灯光烘焙等,再将该文件导入到Unity3D 中进行资源整合,通过C#脚本设计交互步骤,最后生成应用程序,进行跨平台发布,图7为系统设计流程图。
图7 怀地黄生产仿真系统设计流程Fig.7 Design and develop process of Rehmannia glutinosa production simulation system
2.3.2 模块实现 在模块实现时结合软件开发流程和技术要求,将以上所述系统及其功能通过流程模块、技术要求模块和数据分析模块3 个部分来实现(图8)。
图8 怀地黄生产仿真系统功能模块Fig.8 Functional modules of Rehmannia glutinosa production simulation system
流程模块:流程模块是怀地黄生产仿真系统的主体部分,流程模块基于DragonBones 进行图像骨骼绑定,对2D 动画资源进行编辑,通过Vray 对3D模型进行渲染,利用LayaAir 引擎对2D 动画资源、3D 模型进行压缩合并。用户交互操作通过Actionscript 3 脚本语言控制,保证交互的实时性。用户可根据流程模块中的指引和提示,完成怀地黄全生命周期的交互操作,熟悉从选地、整地、播种、田间管理、病虫害防治、采收、加工的整个流程。用户可以通过手势交互,使用怀地黄栽培所需的各种工具,如铁锹、耙子、开沟器、采收机等,根据系统提供的操作指导,完成具体操作,并可反复操作以加深用户对操作方法和加工技术的掌握。通过虚拟现实技术对怀地黄真实生长环境、天气情况、温湿度情况等进行场景再现,缩短时间跨度。
技术要求模块:该模块以.Net Core 跨平台框架、MySQL 数据库、前端Vue 框架为基础,使用前后端分离的方式开发,将选地整地、品种准备、播种、田间管理、采收、加工与贮藏等技术要求的数据进行集成汇总(部分数据见表2)。用户在生产时需要查找怀地黄生产不同时期对周围环境、工作平台、工具使用、操作方法等的推荐规范参数,如肥料配比推荐参数、农药使用方法和水药配比参数等。系统将这些参数和方法结合不同视角的立体感官体验呈现给农户,使农户简单直观获得生产时所需的指导方法和数据。
表2 怀地黄栽培加工技术要求Tab.2 Technical requirements for cultivation and processing of Rehmannia glutinosa
数据统计分析模块:该模块采用B/S 架构[21-22],通过定时扫描各类数据库,获取用户实时数据并上传至服务器。服务端实时采集客户端发送的数据,并对数据进行分类保存和监控,建立接口以对外提供查询功能。实时采集用户在线时长、操作方法、观看进度以及掌握情况等数据,通过语义分析、多维度参数解析,实现数据归纳、整理、分析等功能。
通过各功能模块,实现对怀地黄全生命周期流程的交互操作、对技术要求的生动呈现和对用户数据的统计分析,系统运行部分界面如图9所示。图9中,a 是进入系统后的主要菜单,在此界面可以看到系统的4 个部分,即怀地黄生产经历的4 个阶段:一、怀地黄介绍;二、地黄栽培过程;三、怀地黄采收;四、生怀地黄加工。用户了解这4 个部分内容后,可以由此界面跳过部分内容直接进入下一个需要了解的板块;b 是进入上述4 个板块之后的菜单界面。在菜单界面详细列出了怀地黄生产4个过程中的具体内容,如地黄栽培过程的菜单:选地、整地、地黄播种时期、地黄种栽处理、播种、田间管理、病虫害防治。每一个菜单下包含了进一步细分的内容。c 是“地黄栽培过程”菜单下的“整地”菜单中“打埂作畦”内容,在界面中指出了农具操作参数、方法和注意点。d 是“生怀地黄加工”菜单下的“烘焙干燥法”中烘焙24 h 前后地黄的颜色、形态的变化对比,以及三维人像的烘焙操作示范。
图9 怀地黄生产仿真系统部分界面Fig.9 Interfaces of Rehmannia glutinosa production simulation system
为了展示系统推荐方法和传统经验方法的差别,在怀地黄植株生长前期开花前阶段设计了灌溉方法差异对比试验,以直观立体呈现种植效果的差异。结果表明,使用现代科学指导的方法进行灌溉达到的种植效果更理想。设计方案和效果如表3和图10所示。
图10 不同灌溉方式下种苗长势对比Fig.10 Comparison of seedling growth under different irrigation methods
表3 灌溉方法差异对比模拟试验方案设计Tab.3 Design of simulation experiment scheme for comparison of irrigation method differences
系统开发完成后进行流畅度测试。通过实际交互操作,记录三维画面的帧率,选取15 个流程步骤,共采集20 组数据(表4),性能测试结果为,帧率平均值为64.4 帧/s,样本标准偏差为1.49 帧/s,帧率较流畅。
表4 系统三维画面帧率Tab.4 3D picture frame rate of the system
对系统数据库的多表联合查询测试并返回前200 条数据,如图11 所示。1 000 并发用户持续3 min的平均响应时间为0.019 s,标准偏差为0.088 s,事务成功率为100%,稳定性较好。
图11 系统用户并发数据库查询结果Fig.11 System user concurrent database query result
该系统自2020 年推广到河南省焦作怀地黄种植区县以来,指导当地近2 000 户种植农户用于实际生产。农户在系统的指导下,栽种时参考系统提出的技术要点。也可在出现不清楚的田间管理情况时查找相应步骤从系统中获得推荐治理方法。采收时可依据系统指导选择人工采收或者机械采收,并查看相应方法与要点。加工时可选择产地传统加工方法或者现代烘焙加工法,产地传统加工方法繁琐,对地黄品质的判断和温度及时间的掌控更复杂,更需要系统指导每一步所应采取的操作方法。系统将每一步骤中操作之后的地黄品质立体呈现给农户,并附有判断参数说明。系统应用以来收到了农户的积极反馈。为验证怀地黄生产仿真系统的实际效用,2021 年4—10 月,在武陟县大虹桥乡选取592 户怀地黄种植户进行验证分析,其中选取300 户一般种植户(传统经验生产)、292 户使用该系统的种植户进行对比试验。如表5 所示,通过对比可知,怀地黄生产仿真系统的使用可以节约肥料7.36%,节约用水23.38%,提高产量13.74%,表明本系统对于怀地黄种植降本增产的经济效益较明显。
表5 系统应用效果对比试验方案设计及结果Tab.5 Experimental scheme design and result of system application effect contrast
本研究从生产实际需求出发,提出并设计研发了基于虚拟现实的怀地黄生产三维可视化仿真系统。将怀地黄的种植及其田间管理和采收加工等生产劳作过程及相关的操作虚拟化、可视化,用来指导实际大田生产活动。系统开发过程中参考了多位地方农业科技推广站专家和学者提出的科学、高产的栽培管理技术[12-13,23-26]。用户在系统的指导下,可脱离以前只靠经验生产的方法,而采用现代高产技术进行怀地黄的栽培、采收和加工等生产活动。对比试验显示,系统的指导作用可使农户提高农艺技能,从而节约用水用肥成本的同时提高产量13.74%。表明该系统达到了提升用户生产技能和降本增产的目的,有助于推动怀地黄产业链的可持续发展。
系统虽经过多个版本的更新改进,目前仍存在一些问题,如运行时占用内存较多,没有考虑到农村地区可穿戴智能设备普及率较低等问题。今后的优化将考虑更贴近农村地区实际生产环境,以及降低系统对运行设备的配置要求等,以期更好地服务于广大怀地黄种植农户的生产活动。同时该系统的相应技术也可应用于其他农作物的仿真系统中,以求其科学种植、降本增收。