掌桥专利:专业的专利平台
掌桥专利
首页

植物模型生成方法、装置、计算机设备和存储介质

文献发布时间:2023-06-19 09:26:02


植物模型生成方法、装置、计算机设备和存储介质

技术领域

本申请涉及计算机技术领域,特别是涉及一种植物模型生成方法、装置、计算机设备和存储介质。

背景技术

三维植物建模是计算机图形学里一个重要且应用广泛的研究课题。例如在游戏开发中,游戏场景中植物模型质量的高低会影响游戏的真实感。在植物学领域,植物模型可以用于研究植物的生长和在不同环境下的行为,有助于病虫害防治和农作物施肥等研究。

在传统方式中,一般是通过扫描设备扫描植物的深度信息,直接根据深度信息重建生成植物模型。但是,由于叶片之间的遮挡关系,无法准确得到植物叶片的形状或分布信息,从而导致生成的植物模型的准确性和完整性较低。

发明内容

基于此,有必要针对上述技术问题,提供一种能够有效提高植物模型生成的准确性和完整性的植物模型生成方法、装置、计算机设备和存储介质。

一种植物模型生成方法,所述方法包括:

获取目标植物对应的植物图像以及第一点云数据;

通过叶片分割模型对所述植物图像进行分割处理,得到叶片分割结果,根据所述叶片分割结果确定待剪切的目标叶片;

对所述目标植物的所述目标叶片进行剪切处理,获取剪切后的目标植物对应的第二点云数据;

根据所述第一点云数据和所述第二点云数据确定所述目标叶片对应的叶片模型,根据所述叶片模型生成所述目标植物对应的目标植物模型。

在其中一个实施例中,所述根据所述叶片分割结果确定待剪切的目标叶片包括:

根据所述叶片分割结果确定所述目标植物的多张叶片各自对应的置信度;

根据所述置信度从所述目标植物的多张叶片中筛选候选叶片;

从所述候选叶片中选取满足选取条件的候选叶片作为目标叶片,所述选取条件包括置信度大于置信度阈值或者置信度的排序在预设排序之前的至少一个。

在其中一个实施例中,所述植物图像以及所述第一点云数据是以第一角度作为观测视角获取的,所述方法还包括:

当从所述目标植物的多张叶片中未筛选出候选叶片时,调整所述目标植物对应的观测视角,得到第二角度;

重复获取所述目标植物在所述第二角度下的植物图像以及第一点云数据。

在其中一个实施例中,所述通过叶片分割模型对所述植物图像进行分割处理,得到叶片分割结果包括:

生成叶片分割请求,所述叶片分割请求携带所述植物图像;

向服务器发送所述叶片分割请求,以使得所述服务器响应于所述叶片分割请求,确定所述目标植物对应的植物类型,调用预训练的与所述植物类型对应的叶片分割模型,将所述植物图像输入至所述叶片分割模型,得到所述叶片分割模型对所述植物图像进行分割处理后输出的叶片分割结果;

接收所述服务器发送的所述叶片分割结果。

在其中一个实施例中,所述根据所述第一点云数据和所述第二点云数据确定所述目标叶片对应的叶片模型之后,所述方法还包括:

确定所述叶片模型对应的所述目标叶片在所述目标植物中的叶片位置;

重复获取剪切后的目标植物对应的植物图像以及第一点云数据,直到确定所述目标植物的多张叶片各自对应的叶片模型;

所述根据所述叶片模型生成所述目标植物对应的目标植物模型包括:根据所述叶片位置组合所述多张叶片各自对应的叶片模型,得到目标植物模型。

在其中一个实施例中,所述根据所述第一点云数据和所述第二点云数据确定所述目标叶片对应的叶片模型包括:

将所述第一点云数据与所述第二点云数据进行比对,得到差异点云数据;

确定所述目标植物对应的植物类型,获取所述植物类型所对应的标准叶片模型;

根据所述差异点云数据对所述标准叶片模型进行修正,得到所述目标叶片对应的目标叶片模型。

在其中一个实施例中,所述叶片分割模型根据训练数据进行预训练得到,所述训练数据的生成步骤包括:

确定虚拟植物对应的虚拟植物模型;

根据多个观测视角和所述虚拟植物模型渲染得到多张对应的训练图像;

根据所述观测视角确定所述虚拟植物模型对应的待剪切的虚拟叶片,根据所述虚拟叶片确定所述训练图像对应的标注信息,得到包括所述训练图像和所述标注信息的训练数据。

一种植物模型生成装置,所述装置包括:

图像获取模块,用于获取目标植物对应的植物图像以及第一点云数据;

叶片分割模块,用于通过叶片分割模型对所述植物图像进行分割处理,得到叶片分割结果,根据所述叶片分割结果确定待剪切的目标叶片;对所述目标植物的所述目标叶片进行剪切处理,获取剪切后的目标植物对应的第二点云数据;

模型生成模块,用于根据所述第一点云数据和所述第二点云数据确定所述目标叶片对应的叶片模型,根据所述叶片模型生成所述目标植物对应的目标植物模型。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述植物模型生成方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述植物模型生成方法的步骤。

上述植物模型生成方法、装置、计算机设备和存储介质,获取目标植物对应的植物图像以及第一点云数据后,通过叶片分割模型对植物图像进行分割处理,得到叶片分割结果,根据叶片分割结果确定待剪切的目标叶片,对目标植物的目标叶片进行剪切处理,获取剪切后的目标植物对应的第二点云数据,根据第一点云数据和第二点云数据确定目标叶片对应的叶片模型,根据叶片模型生成目标植物对应的目标植物模型。通过确定待剪切的目标叶片,对目标叶片进行剪切处理,由此能够获取更加准确、完整的目标植物的第二点云数据,根据第一点云数据和第二点云数据确定的叶片模型生成目标植物模型,有效的提高了生成的植物模型的准确性和完整性。

附图说明

图1为一个实施例中植物模型生成方法的应用环境图;

图2为一个实施例中植物模型生成方法的流程示意图;

图3(a)为一个实施例中第一点云数据的示意图;

图3(b)为一个实施例中第二点云数据的示意图;

图3(c)为一个实施例中差异点云数据的示意图;

图4为一个实施例中植物模型生成的流程示意图;

图5为一个实施例中训练数据的生成步骤的流程示意图;

图6(a)为一个实施例中绿萝对应的模拟示意图;

图6(b)为一个实施例鸭脚木对应的模拟示意图;

图6(c)为一个实施例中红烛的模拟示意图;

图7为一个实施例中植物模型生成装置的结构框图;

图8为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的植物模型生成方法,可以应用于如图1所示的应用环境中。其中,终端104可以通过网络与数据采集设备102和服务器106进行通信。终端104获取数据采集设备102采集的目标植物对应的植物图像以及第一点云数据。终端104向服务器106发送叶片分割请求,叶片分割请求携带植物图像,以使得服务器106通过叶片分割模型对植物图像进行分割处理,得到叶片分割结果,并向终端104发送叶片分割结果。终端104接收服务器106发送的叶片分割结果,根据叶片分割结果确定待剪切的目标叶片,对目标植物的目标叶片进行剪切处理,获取数据采集设备102采集的剪切后的目标植物对应的第二点云数据。终端104根据第一点云数据和第二点云数据确定目标叶片对应的叶片模型,根据叶片模型生成目标植物对应的目标植物模型。其中,数据采集设备102可以包括但不限于图像采集设备以及点云数据采集设备。终端104可以包括但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器106可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图2所示,提供了一种植物模型生成方法,以该方法应用于图1中的终端104为例进行说明,包括以下步骤:

步骤202,获取目标植物对应的植物图像以及第一点云数据。

目标植物是用于作为植物模型生成的标准的植物对象,为了生成与目标植物相对应的更加准确和完整的植物模型。目标植物可以包括但不限于多种类型的室内植物中的至少一种。室内植物是相较于室外植物而言的,室外植物一般包括树木等,植物模型侧重于树木的树干、枝干等结构。而室内植物对应的植物模型主要侧重于植物的叶片形状以及叶片之间的位置关系等。例如,目标植物可以包括但不限于绿萝、鸭脚木或者红烛等中的至少一种。

终端可以获取目标植物对应的植物图像以及第一点云数据。具体的,终端可以与数据采集设备基于预先建立的连接进行通信,获取数据采集设备实时采集的目标植物对应的植物图像或者第一点云数据。终端和数据采集设备可以采用有线或者无线的方式建立连接。终端还可以从本地或者服务器等获取预先采集的植物图像或者第一点云数据。

其中,植物图像具体可以是目标植物对应的RGB图像,第一点云数据是指进行剪切处理之前的目标植物对应的点云数据。可以理解的,“第一”或者“第二”等是用于区分不同的点云数据,并不用于限定点云数据之间的顺序。点云数据是扫描植物以点的形式记录,植物表面多个点所对应点数据的集合。点数据具体可以包括点对应的三维坐标、激光反射强度以及颜色信息等中的至少一种。其中,三维坐标可以是点在笛卡尔坐标系中的坐标,具体包括点在笛卡尔坐标系中的横轴坐标(x轴)、纵轴坐标(y轴)以及竖轴坐标(z轴)。

步骤204,通过叶片分割模型对植物图像进行分割处理,得到叶片分割结果,根据叶片分割结果确定待剪切的目标叶片。

叶片分割模型是基于实例分割网络建立的,通过预训练得到的实例分割模型。叶片分割模型可以是多种卷积神经网络模型中的一种。例如,叶片分割模型具体可以是基于CNN(Convolutional Neural Networks,卷积神经网络)、R-CNN(Region-CNN,区域卷积神经网络)、LeNet、Fast R-CNN或者Mask R-CNN等中的一种建立的神经网络模型。训练得到叶片分割模型之后,可以预先配置在终端中,以便于终端调用叶片分割模型进行分割处理。

终端在获取到目标植物对应的植物图像之后,可以调用预先配置的叶片分割模型,将植物图像输入至叶片分割模型中,通过叶片分割模型对植物图像进行分割处理,得到叶片分割模型输出的叶片分割结果。具体的,叶片分割模型具体可以是卷积神经网络模型,叶片分割模型可以包括但不限于输入层、卷积层、池化层、全连接层以及输出层等,通过叶片分割模型对植物图像进行卷积、池化等处理,由此对目标植物对应的植物图像进行语义分割,得到植物图像对应的叶片分割结果,叶片分割结果包括植物图像中的每个像素对应的语义结果,以及分割出的多个叶片各自对应的置信度。语义结果可以表示该像素是否属于叶片,以及属于叶片的不同像素是否属于同一张叶片。

终端可以根据叶片分割模型输出的叶片分割结果确定待剪切的目标叶片,目标叶片是指需要被剪切的目标植物的外部叶片。由于目标植物的多张叶片存在相互遮挡的关系,外部叶片的遮挡容易导致内部叶片的数据采集不够准确。因此,通过确定目标植物外部的待剪切的目标叶片,对目标叶片进行剪切处理,能够更加准确的获取目标叶片对应点云数据,并且更加准确的获取目标叶片遮挡部分的植物内部数据。

步骤206,对目标植物的目标叶片进行剪切处理,获取剪切后的目标植物对应的第二点云数据。

在根据叶片分割结果确定待剪切的目标叶片之后,可以对目标植物的目标叶片进行剪切处理,得到剪切掉目标叶片之后的目标植物。终端可以通过显示界面展示待剪切的目标叶片,由用户人为的手动对目标植物的目标叶片进行剪切处理,终端也可以通过控制例如机械臂等剪切设备,自动对目标植物的目标叶片进行剪切处理,得到剪切后的目标植物。通过对确定的目标叶片进行剪切处理,虽然在实际应用过程中剪切处理会毁坏目标植物,但是能够更加清楚、准确的观察和获取目标植物在被目标叶片遮挡下的内部叶片结构,从而有利于更加准确、完整的生成目标植物对应的目标植物模型。

在得到剪切后的目标植物之后,终端可以通过与数据采集设备建立的连接,指示数据采集设备采集剪切后的目标植物对应的第二点云数据,从而获取剪切后的目标植物对应的第二点云数据。数据采集设备具体可以是激光传感器等,通过扫描剪切掉目标叶片之后的目标植物,接收剪切后的目标植物反射回的激光信号,得到剪切后的目标植物对应的第二点云数据。

步骤208,根据第一点云数据和第二点云数据确定目标叶片对应的叶片模型,根据叶片模型生成目标植物对应的目标植物模型。

终端可以根据第一点云数据和第二点云数据,确定被剪切的目标叶片对应的叶片模型,根据叶片模型生成目标植物对应的目标植物模型。目标植物模型是包括网格或者纹理的目标植物的多边形表示。具体的,由于第一点云数据是目标植物在剪切目标叶片之前采集的点云数据,第二点云数据时目标植物在剪切目标叶片之后采集的点云数据,第二点云数据与第一点云数据的差异在于目标叶片的缺失。因此,终端可以将第一点云数据与第二点云数据进行比对,得到第一点云数据与第二点云数据之间的差异点云数据。可以理解的,差异点云数据为目标叶片对应的点云数据。终端可以根据差异点云数据确定目标叶片对应的叶片模型,根据目标叶片对应的叶片模型,生成目标植物对应的目标植物模型。差异点云数据是三维的点云数据,根据差异点云数据可以确定三维的叶片模型,以此实现了对目标植物的三维建模。

在本实施例中,获取目标植物对应的植物图像以及第一点云数据后,通过叶片分割模型对植物图像进行分割处理,得到叶片分割结果,根据叶片分割结果确定待剪切的目标叶片,对目标植物的目标叶片进行剪切处理,获取剪切后的目标植物对应的第二点云数据,根据第一点云数据和第二点云数据确定目标叶片对应的叶片模型,根据叶片模型生成目标植物对应的目标植物模型。通过确定待剪切的目标叶片,对目标叶片进行剪切处理,由此能够获取更加准确、完整的目标植物的第二点云数据,根据第一点云数据和第二点云数据确定的叶片模型生成目标植物模型,有效的提高了生成的植物模型的准确性和完整性。

在一个实施例中,上述根据叶片分割结果确定待剪切的目标叶片的步骤包括:根据叶片分割结果确定目标植物的多张叶片各自对应的置信度;根据置信度从目标植物的多张叶片中筛选候选叶片;从候选叶片中选取满足选取条件的候选叶片作为目标叶片,选取条件包括置信度大于置信度阈值或者置信度的排序在预设排序之前的至少一个。

终端可以根据叶片分割模型输出的叶片分割结果确定待剪切的目标叶片。具体的,终端获取到叶片分割模型输出的叶片分割结果之后,可以根据叶片分割结果确定目标植物的多张叶片各自对应的置信度。叶片分割结果可以包括植物图像对应的每个像素的语义分割结果,以及各自对应的置信度。置信度可以用于表示对应像素属于需要被剪切的外部叶片的可能性,置信度可以采用百分数、分数或者小数等形式表示。

终端可以根据多张叶片各自对应的置信度,从目标植物的多张叶片中筛选候选叶片。候选叶片是指目标植物的多张叶片中可以被选取作为目标叶片的至少一张叶片。由于待剪切的目标叶片需要是目标植物的外部叶片,且正面面向数据采集设备,才能更加准确的确定目标叶片对应的叶片模型。因此,终端可以根据预设阈值和置信度,对分割出的多张叶片进行粗筛选,筛选出多张叶片中的候选叶片,以此提高确定的目标叶片的准确性。

终端可以从筛选出的候选叶片中,选取满足选取条件的候选叶片作为目标叶片。其中,选取条件可以是根据实际应用需求预先设置的,选取条件包括但不限于置信度大于置信度阈值,或者置信度的排序在预设排序之前的至少一个。置信度阈值大于或者等于用于筛选候选叶片的预设阈值。置信度阈值可以是根据实际应用需求预先设置的固定阈值,也可以是根据候选叶片对应的置信度确定的阈值。终端可以根据选取条件,从候选叶片中选取满足选取条件的候选叶片,将选取出的候选叶片确定为待剪切的目标叶片。

例如,可以确定选取条件为选取候选叶片中置信度最大的候选叶片,终端可以通过置信度阈值从候选叶片中筛选置信度最大的候选叶片作为目标叶片,终端也可以根据候选叶片对应的置信度进行排序,选取置信度的从大到小排序中的第一个置信度对应的候选叶片作为目标叶片。

在本实施例中,通过确定多张叶片各自对应的置信度,根据置信度从目标植物的多张叶片中筛选候选叶片,从筛选出的候选叶片中选取满足选取条件的候选叶片作为目标叶片,有效的提高了确定的目标叶片的准确性,有助于提高叶片模型和目标植物模型生成的准确性。

在一个实施例中,植物图像以及第一点云数据是以第一角度作为观测视角获取的,上述方法还包括:当从目标植物的多张叶片中未筛选出候选叶片时,调整目标植物对应的观测视角,得到第二角度;重复获取目标植物在第二角度下的植物图像以及第一点云数据。

其中,观测视角是指采集目标植物的植物图像以及第一点云数据的角度,根据不同的观测视角可以采集到目标植物对应的不同角度的植物图像以及第一点云数据。终端可以获取以第一角度作为观测视角采集的植物图像以及第一点云数据,通过叶片分割模型对植物图像进行分割处理,得到叶片分割结果,根据叶片分割结果确定植物图像中多张叶片各自对应的置信度,根据置信度从多张叶片中筛选候选叶片。例如,从多张叶片中筛选出置信度大于或者等于预设阈值的对应叶片作为候选叶片。

当从目标植物的多张叶片中未筛选出候选叶片时,例如当多张叶片对应的置信度均小于预设阈值时,可以调整目标植物对应的观测视角,得到第二角度。观测角度可以是根据预先设置的调整策略自动调整的,例如每次调整均水平向左调整10度,也可以是根据实际应用需求自动确定或者人为调整的,例如用户可以根据实际情况手动调整观测视角,得到调整后的第二角度。终端可以重复获取目标植物在第二角度下的植物图像以及第一点云数据,根据第二角度下的植物图像进行分割处理,从第二角度下的植物图像的多张叶片中筛选候选叶片。

在本实施例中,当从目标植物的多张叶片中未筛选出候选叶片时,通过调整目标植物对应的观测视角,得到第二角度,重复获取目标植物在第二角度下的植物图像以及第一点云数据,由此从第二角度下的植物图像中的多张叶片中筛选候选叶片,便于从第二角度下的植物图像中选取目标植物外部正面的叶片作为目标叶片,有效的提高了筛选的候选叶片的准确性。

在一个实施例中,上述通过叶片分割模型对植物图像进行分割处理,得到叶片分割结果的步骤包括:生成叶片分割请求,叶片分割请求携带植物图像;向服务器发送叶片分割请求,以使得服务器响应于叶片分割请求,确定目标植物对应的植物类型,调用预训练的与植物类型对应的叶片分割模型,将植物图像输入至叶片分割模型,得到叶片分割模型对植物图像进行分割处理后输出的叶片分割结果;接收服务器发送的叶片分割结果。

叶片分割模型经过预训练后,可以配置在终端本地。而为了节省终端的运行资源等,叶片分割模型也可以配置在服务器中,终端可以指示服务器通过叶片分割模型对植物图像进行分割处理,以此节省了终端的运行资源,达到服务器与终端之间的低耦合特点。

具体的,终端可以与服务器基于建立的连接进行通信,服务器可以创建并提供有IP地址(Internet Protocol Address,互联网协议地址)和API(Application ProgrammingInterface,应用程序接口)。终端可以在获取到植物图像之后,生成叶片分割请求,生成的叶片分割请求携带植物图像。叶片分割请求用于指示对植物图像进行分割处理。终端可以通过服务器提供的IP地址和API,向服务器发送叶片分割请求。

服务器可以响应于接收到的叶片分割请求,解析叶片分割请求,得到叶片分割请求携带的植物图像。服务器可以确定目标植物对应的植物类型,调用预训练的与植物类型对应的叶片分割模型。由于不同类型的植物叶片特征通常是不同的,因此针对不同类型的植物可以训练有对应的叶片分割模型。服务器可以将植物图像输入至叶片分割模型,通过叶片分割模型对植物图像进行分割处理,得到叶片分割模型输出的叶片分割结果。叶片分割模型输出的叶片分割结果可以是二进制图像。服务器可以将叶片分割模型输出的叶片分割结果发送至终端,终端接收到服务器返回的叶片分割结果。

在本实施例中,通过将叶片分割模型配置在服务器中,终端通过生成叶片分割请求,向服务器发送叶片分割请求,以使得服务器确定目标植物对应的植物类型,调用预训练的与植物类型相对应的叶片分割模型,通过叶片分割模型对植物图像进行分割处理,接收服务器发送的叶片分割结果。通过将叶片分割模型部署在服务器,由此有效的节省了终端的运行资源,服务器和终端之间只有数据耦合,没有外部耦合等其他耦合关系,从而实现了服务器与终端之间的低耦合。

在一个实施例中,上述根据第一点云数据和第二点云数据确定目标叶片对应的叶片模型的步骤包括:将第一点云数据与第二点云数据进行比对,得到差异点云数据;确定目标植物对应的植物类型,获取植物类型所对应的标准叶片模型;根据差异点云数据对标准叶片模型进行修正,得到目标叶片对应的目标叶片模型。

第一点云数据是在目标叶片剪切之前目标植物对应的点云数据,第二点云数据是在目标叶片剪切之后目标植物对应的点云数据。终端获取到剪切后的目标植物对应的第二点云数据后,可以将第一点云数据和第二点云数据进行比对,得到第一点云数据与第二点云数据之间的差异点云数据。例如,终端可以采用八叉树或者k-D树等方式比对第一点云数据和第二点云数据,得到差异点云数据。差异点云数据与剪切的目标叶片相对应。

如图3所示,图3(a)为一个实施例中第一点云数据的示意图,图3(b)为一个实施例中第二点云数据的示意图,图3(c)为一个实施例中差异点云数据的示意图。在图3(a)和图3(b)中用方框框中的部分为剪切的目标叶片所处的区域。终端可以获取剪切前的目标植物对应的第一点云数据,以及剪切后的目标植物对应的第二点云数据,通过比对第一点云数据和第二点云数据,可以确定剪切的目标叶片对应的差异点云数据,如图3(c)所示。

终端可以确定目标植物对应的植物类型,获取与植物类型相对应的标准叶片模型。标准叶片模型与植物类型相对应。由于不同类型的植物的叶片特征通常是不同的,因此对于不同的植物类型,可以对应有不同的标准叶片模型。标准叶片模型可以是根据观察和经验人为设置的。

标准叶片模型只能够表示对应植物类型的叶片特征,但对于不同的目标叶片,各自对应的叶片特征是不同的。因此,终端可以根据目标叶片对应的差异点云数据,对标准叶片模型进行修正,得到目标叶片对应的目标叶片模型。例如,终端可以采用ICP(IterativeClosest Point,迭代最近点)算法将差异点云数据与标准叶片模型进行叶片配准,得到目标叶片对应的目标叶片模型。

在本实施例中,通过将第一点云数据与第二点云数据进行比对,得到差异点云数据,获取与目标植物的植物类型相对应的标准叶片模型,根据差异点云数据对标准叶片模型进行修正,得到目标叶片对应的目标叶片模型,有效的提高了目标叶片模型的准确性,进而提高了目标植物模型的准确性,同时,相较于传统方式不需要用户人为选取待剪切的目标叶片,有效的提高了植物模型生成的效率和扩展性。

在一个实施例中,在上述根据第一点云数据和第二点云数据确定目标叶片对应的叶片模型之后,上述方法还包括:确定叶片模型对应的目标叶片在目标植物中的叶片位置;重复获取剪切后的目标植物对应的植物图像以及第一点云数据,直到确定目标植物的多张叶片各自对应的叶片模型;上述根据叶片模型生成目标植物对应的目标植物模型的步骤包括根据叶片位置组合多张叶片各自对应的叶片模型,得到目标植物模型。

由于目标植物对应的叶片数量通常较多,终端可以重复确定目标植物对应的待剪切的目标叶片,对目标叶片进行剪切处理后,确定目标叶片对应的叶片模型,从而根据多张叶片各自对应的叶片模型生成目标植物对应的目标植物模型,从而提高目标植物模型生成的准确性和完整性。

在根据第一点云数据和第二点云数据确定目标叶片对应的叶片模型之后,终端可以确定叶片模型对应的目标叶片在目标植物中的叶片位置。具体的,终端可以比对第一点云数据和第二点云数据,得到第一点云数据与第二点云数据之间的差异点云数据。差异点云数据与目标叶片相对应,差异点云数据包括目标叶片对应的坐标,终端可以根据差异点云数据确定目标叶片对应的叶片位置。

终端可以重复获取剪切后的目标植物对应的植物图像以及第一点云数据,根据剪切后的目标植物对应的植物图像确定下一个待剪切的目标叶片,并确定下一个待剪切的目标叶片对应的叶片位置和叶片模型,直到确定目标植物的多张叶片各自对应的叶片模型和叶片位置。在其中一个实施例中,终端可以通过重复确定待剪切的目标叶片,并对目标叶片进行剪切处理,确定目标植物的所有叶片各自对应的叶片位置和叶片模型。终端可以根据叶片各自对应的叶片位置,组合多张叶片各自对应的叶片模型,得到目标植物对应的目标植物模型。

如图4所示,图4为一个实施例中植物模型生成的流程示意图。确定目标植物后,可以通过数据采集设备采集目标植物对应的植物图像和第一点云数据,并判断是否通过植物图像检测到目标叶片。若否,则调整目标植物对应的观测视角,重复获取植物图像和第一点云数据。若是,则对目标叶片进行剪切处理,获取剪切后的目标植物对应的第二点云数据,根据第一点云数据和第二点云数据确定目标叶片对应的叶片位置和叶片模型。判断目标植物的叶片是否剪切完毕,若否,则重复获取剪切后的目标植物对应的植物图像和第一点云数据。若是,则根据叶片位置组合多张叶片各自对应的叶片模型,得到目标植物对应的目标植物模型。

在本实施例中,通过确定目标叶片在目标植物中的叶片位置,重复获取剪切后的目标植物对应的植物图像以及第一点云数据,直到确定目标植物的多张叶片各自对应的叶片模型,根据叶片位置组合多张叶片各自对应的叶片模型,得到目标植物模型。通过重复确定多张叶片各自对应的叶片模型和叶片位置,有效的提高了根据叶片位置和叶片模型组合得到的目标植物模型的准确性和完整性。

在一个实施例中,如图5所示,叶片分割模型根据训练数据进行预训练得到,训练数据的生成步骤包括:

步骤502,确定虚拟植物对应的虚拟植物模型。

叶片分割模型根据训练数据对实例分割网络进行预训练得到,训练实例分割网络得到叶片分割模型通常需要大量的训练数据。在传统方式中,通常是人为采集训练图像并手动进行标注,需要耗费大量的时间和精力,训练数据的生成效率较低。而在本实施例中,终端可以通过虚拟植物模型渲染得到用于进行模型训练的训练数据,从而有效的提高了训练数据的生成效率。

具体的,终端可以确定虚拟植物对应的虚拟植物模型,虚拟植物对应的植物类型可以是与目标植物对应的植物类型相对应的。虚拟植物模型可以是用户根据实际应用需求人为设置的,例如,为了使得虚拟植物与真实植物尽可能接近,需要考虑虚拟植物模型的叶片相似和叶片分布相似。对于虚拟植物模型对应的虚拟叶片模型,可以采用贝塞尔曲线定义的参数化叶片模型,通过调整参数化叶片模型的参数,使得叶片模型与真实叶片相似。在其中一个实施例中,还可以在预设范围内随机扰动参数,从而得到属于同一植物类型但形状不完全相同的叶片模型。根据真实植物的叶片分布情况组合参数化叶片模型,从而得到虚拟植物对应的虚拟植物模型。

步骤504,根据多个观测视角和虚拟植物模型渲染得到多张对应的训练图像。

终端可以根据多个观测视角渲染虚拟植物模型,得到虚拟植物模型在多个观测视角下各自对应的多张训练图像。同一观测视角也可以对应一张、两张或者两张以上训练图像。训练图像具体可以是RGB图像。在其中一个实施例中,训练图像可以包括植物训练图像,也可以包括植物训练图像和背景图像。

步骤506,根据观测视角确定虚拟植物模型对应的待剪切的虚拟叶片,根据虚拟叶片确定训练图像对应的标注信息,得到包括训练图像和标注信息的训练数据。

终端可以根据观测视角和虚拟植物模型,确定对应训练图像对应的标注信息,从而得到包括训练图像和对应标准信息的训练数据。具体的,终端可以根据观测视角确定虚拟植物模型对应的待剪切的虚拟叶片。待剪切的虚拟叶片是虚拟植物外部的未被遮挡且尽可能正面朝向观测点的虚拟叶片。

终端可以通过虚拟植物模型的叶片朝向和观测视角,从多张虚拟叶片中选取正面朝向观测点的虚拟叶片。具体的,终端可以计算虚拟叶片的叶片朝向与观测视角对应的方向之间的夹角,根据夹角选取正面朝向观测点的虚拟叶片,叶片朝向可以根据多个顶点的法向量确定。虚拟叶片的叶片朝向具体可以表示为:

其中,L表示虚拟叶片模型,

终端可以确定叶片朝向与观测方向之间的夹角,当叶片朝向与观测方向之间的夹角小于预设阈值时,确定虚拟叶片正面朝向观测点。终端可以根据虚拟植物模型对应的深度缓存信息确定虚拟叶片之间的遮挡关系,根据叶片朝向与观测方向之间的夹角和深度缓存信息选取待剪切的虚拟叶片。终端可以根据投影原理,确定待剪切的虚拟叶片在渲染出的训练图像中的像素位置,以此确定训练图像对应的标准信息,得到包括训练图像和标注信息的训练数据。

在本实施例中,通过确定虚拟植物对应的虚拟植物模型,根据多个观测视角和虚拟植物模型渲染得到多张对应的训练图像,根据观测视角确定虚拟植物模型对应的待剪切的虚拟叶片,根据虚拟叶片确定训练图像对应的标注信息,得到包括训练图像和标注信息的训练数据,相较于传统人工采集和标注的方式,减少了采集和标注训练数据所耗费的时间,有效的提高了训练数据的生成效率。

在一个实施例中,为了验证本申请提供的植物模型生成方法的准确性,同时节省真实植物产生的验证成本,可以采用虚拟植物进行模拟,通过生成虚拟植物对应的植物模型进行验证。具体的,在对植物图像进行分割处理后,为了提高确定待剪切的虚拟叶片的效率,可以建立虚拟植物的虚拟叶片对应的叶片索引,例如叶片索引具体可以是数组。终端可以将叶片索引线性映射到RGB空间中,生成由不同颜色表示不同虚拟叶片的叶片索引图像,从而便于更加直观、清楚的确定分割结果。

将叶片索引线性映射到RGB空间具体可以表示为:

其中,C表示RGB颜色,i表示对应的颜色通道。idx表示虚拟叶片对应的叶片索引,N表示每个颜色通道可以表示的叶片数量。G表示叶片索引之间的颜色间隔值。

终端通过叶片分割模型对植物图像进行分割处理后,根据叶片分割结果确定待剪切的虚拟叶片对应的像素位置,根据叶片索引图像中对应的像素位置的颜色可以快速确定叶片索引,从而得到待剪切的虚拟叶片,有效的提高了确定待剪切的虚拟叶片的效率和可视性。

本实施例中采用上述方法实施例中的方式,分别对绿萝、鸭脚木和花烛三种类型的植物进行了模拟和检测。如图6所示,图6(a)为一个实施例中绿萝对应的模拟示意图,图6(b)为一个实施例鸭脚木对应的模拟示意图,图6(c)为一个实施例中红烛的模拟示意图。终端可以通过对模拟的虚拟植物进行建模,生成虚拟植物对应的植物模型,以此检测上述植物模型生成方法的准确性。虚拟植物模型的评估结果具体如下表所示:

其中,S表示虚拟植物对应的叶片总数,n表示结果较好的叶片数。M

应该理解的是,虽然图2和5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和5中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图7所示,提供了一种植物模型生成装置700,包括:图像获取模块702、叶片分割模块704和模型生成模块706,其中:

图像获取模块702,用于获取目标植物对应的植物图像以及第一点云数据。

叶片分割模块704,用于通过叶片分割模型对植物图像进行分割处理,得到叶片分割结果,根据叶片分割结果确定待剪切的目标叶片;对目标植物的目标叶片进行剪切处理,获取剪切后的目标植物对应的第二点云数据。

模型生成模块706,用于根据第一点云数据和第二点云数据确定目标叶片对应的叶片模型,根据叶片模型生成目标植物对应的目标植物模型。

在一个实施例中,上述叶片分割模块704还用于根据叶片分割结果确定目标植物的多张叶片各自对应的置信度;根据置信度从目标植物的多张叶片中筛选候选叶片;从候选叶片中选取满足选取条件的候选叶片作为目标叶片,选取条件包括置信度大于置信度阈值或者置信度的排序在预设排序之前的至少一个。

在一个实施例中,植物图像以及第一点云数据是以第一角度作为观测视角获取的,上述叶片分割模块704还用于当从目标植物的多张叶片中未筛选出候选叶片时,调整目标植物对应的观测视角,得到第二角度;重复获取目标植物在第二角度下的植物图像以及第一点云数据。

在一个实施例中,上述叶片分割模块704还用于生成叶片分割请求,叶片分割请求携带植物图像;向服务器发送叶片分割请求,以使得服务器响应于叶片分割请求,确定目标植物对应的植物类型,调用预训练的与植物类型对应的叶片分割模型,将植物图像输入至叶片分割模型,得到叶片分割模型对植物图像进行分割处理后输出的叶片分割结果;接收服务器发送的叶片分割结果。

在一个实施例中,上述模型生成模块706还用于确定叶片模型对应的目标叶片在目标植物中的叶片位置;重复获取剪切后的目标植物对应的植物图像以及第一点云数据,直到确定目标植物的多张叶片各自对应的叶片模型;根据叶片位置组合多张叶片各自对应的叶片模型,得到目标植物模型。

在一个实施例中,上述模型生成模块706还用于将第一点云数据与第二点云数据进行比对,得到差异点云数据;确定目标植物对应的植物类型,获取植物类型所对应的标准叶片模型;根据差异点云数据对标准叶片模型进行修正,得到目标叶片对应的目标叶片模型。

在一个实施例中,叶片分割模型根据训练数据进行预训练得到,上述植物模型生成装置700还包括训练数据生成模块,用于确定虚拟植物对应的虚拟植物模型;根据多个观测视角和虚拟植物模型渲染得到多张对应的训练图像;根据观测视角确定虚拟植物模型对应的待剪切的虚拟叶片,根据虚拟叶片确定训练图像对应的标注信息,得到包括训练图像和标注信息的训练数据。

关于植物模型生成装置的具体限定可以参见上文中对于植物模型生成方法的限定,在此不再赘述。上述植物模型生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种植物模型生成方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述植物模型生成方法实施例中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述植物模型生成方法实施例中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

相关技术
  • 植物模型生成方法、装置、计算机设备和存储介质
  • 模型生成方法、异常流量检测方法、装置、电子设备、计算机可读存储介质
技术分类

06120112162719