植物扫描与重建方法

文档序号:6633618阅读:422来源:国知局
植物扫描与重建方法
【专利摘要】本发明公开了一种植物扫描与重建方法,该方法包括:对植物进行整体扫描,获得植物的整体扫描数据;对植物的每个叶子进行单独扫描,获得每个叶子的点云数据;将每个叶子的点云数据重建为曲面模型,通过泊松重建算法得到茎杆的重建结果;将重建后的所有叶子和茎杆与植物的整体扫描数据对齐;将所有叶子对齐后的点云数据融合到一起,得到整棵植物模型。其中,对每个叶子的重建过程是完全自动的,不需要交互,这样就大大减少了用户工作量;对每个叶片单独扫描并重建的策略,即分治策略,可以提高扫描和重建精度。
【专利说明】植物扫描与重建方法

【技术领域】
[0001]本发明涉及三维植物建模【技术领域】,尤其涉及植物扫描与重建方法。

【背景技术】
[0002]三维植物建模是一个重要且应用广泛的研究课题。游戏设计与开发中,场景中植物模型质量的高低,直接影响游戏的真实感和用户体验。在植物学领域,三维植物建模可以用于研究植物的生长和在不同物理环境下的行为。在农业上,三维植物模型有助于病虫害防治和施肥方法的研究。
[0003]由于植物结构复杂,直接让美工来进行与实物相符的精确建模是困难的。通过三维扫描仪扫描植物的三维点云数据,并通过重建算法来获得真实的植物模型相比手工建模更为快捷可行。然而,由于植物叶片的相互遮挡,想获得植物的完整扫描数据是很困难的。并且,由于叶片是二维曲面,叶梗和茎杆是三维柱体,传统的曲面重建算法很难直接适用于这种情况。因此,要解决的问题为两个方面:1、如何获取植物完整的三维点云数据;2、如何快速精确地自动将获得的点云数据重建为曲面模型。
[0004]植物的完整扫描与重建是一个很有挑战性的课题。来自日本的研究人员TakashiIjiri提出了使用CT扫描设备来获取花的三维数据,并交互式地重建出曲面模型。但是CT扫描设备或者高精度激光扫描仪等十分昂贵,用它来扫描和重建植物模型的成本太高,一般用户难以承受。并且他们的重建方法不能很好地处理复杂的叶片相互之间的遮挡,因此需要大量的用户交互,并不便于使用。还有一些研究人员提出了从三维点云场景中提取树木的骨架来重建树木的方法。但是这种方法只用于粗糙地重建树枝和树干,没有很好的机制来处理缺失数据和噪声数据,并不能精确重建出植物叶片。


【发明内容】

[0005]本发明实施例提供一种植物扫描与重建方法,用以减少用户交互,提高扫描和重建精度,该方法包括:
[0006]对植物进行整体扫描,获得植物的整体扫描数据;
[0007]对植物的每个叶子进行单独扫描,获得每个叶子的点云数据;
[0008]将每个叶子的点云数据重建为曲面模型,通过泊松重建算法得到茎杆的重建结果;
[0009]将重建后的所有叶子和茎杆与植物的整体扫描数据对齐;
[0010]将所有叶子对齐后的点云数据融合到一起,得到整棵植物模型;
[0011]其中,将每个叶子的点云数据重建为曲面模型,包括:
[0012]利用L1-中值算法提取叶子的骨架;
[0013]沿着骨架对叶子的点云做垂直切片;
[0014]根据点云切片的纵横比将切片分为叶片和叶柄两部分;
[0015]采用基于曲率的二次距离极小化方法,对每个切片拟合一个NURBS (Non-UniformRat1nal B-Splines,非统一有理B样条)曲线,叶片拟合一个非闭合曲线,叶柄拟合闭合曲线;
[0016]优化求解所有NURBS控制点的最佳位置;
[0017]连接叶子的所有切片形状,得到叶子的形状。
[0018]一个实施例中,采用手持式结构光3D扫描仪,对植物进行整体扫描,以及,对植物的每个叶子进行单独扫描。
[0019]一个实施例中,优化求解所有NURBS控制点的最佳位置,包括:
[0020]通过BFGS算法极小化如下目标函数,得到NURBS控制点的最佳位置:
[0021 ] f (X) = Edata (X) + a Esmooth (χ) + β Ebound (χ) + Y Eround (x);
[0022]其中,χ为要求解的控制点位置;Edata为所有点云中的点到NURBS曲线最近距离的累加;Es_th为不同NUBRS曲线上相同标识ID的控制点连成的曲线的不光滑度;Eb_d为非闭合NURBS端点到叶片点云边界处的最近距离的累加,Eromd为每个闭合NURBS曲线的周长面积比;α、β、Y为常数。
[0023]一个实施例中,将重建后的所有叶子和茎杆与植物的整体扫描数据对齐,包括:
[0024]为每个叶子或茎杆模型定义多对到植物点云的对应点,求出所述多对对应点定义的刚性变换,并以求出的刚性变换对每个叶片或茎杆进行变换;
[0025]利用骨架驱动叶片和茎杆变形,进行非刚性配准;
[0026]将控制对象由骨架变为用WLOP算法均匀采样的控制点,再次进行非刚性配准。
[0027]—个实施例中,利用骨架驱动叶片和茎杆变形,进行非刚性配准,包括:优化求解骨架点旋转和平移变换。
[0028]一个实施例中,优化求解骨架点旋转和平移变换,包括:
[0029]采用BFGS算法极小化目标函数,以求得定义在骨架上的最佳变换,并将所述最佳变换应用到叶片和茎杆模型上,所述目标函数定义为变形后叶片到点云之间的距离+定义在骨架上的一个的拉普拉斯光滑算子。
[0030]一个实施例中,将控制对象由骨架变为用WLOP算法均匀采样的控制点,再次进行非刚性配准,包括:
[0031]将拉普拉斯光滑算子由骨架移到控制点相互连接成的网格上。
[0032]一个实施例中,将所有叶子对齐后的点云数据融合到一起,包括:
[0033]通过检测三角形相交求出两片相交叶子的相交轮廓,然后搜索出使轮廓长度下降最快的位移方向,并通过移动轮廓附近的控制点来驱动叶子变形。
[0034]一个实施例中,将所有叶子对齐后的点云数据融合到一起,包括:
[0035]如果植物有茎,将叶子骨架末端变形到与叶子骨架末端距离最近的茎上的点,并利用骨架的变形驱动叶子的变形来达到茎叶相连;若没有茎,自动检测叶柄的末端距其它叶柄的距离,若距离小于阈值,则利用骨架的变形驱动叶子的变形来达到叶子相连。
[0036]本发明实施例中,对每个叶子单独扫描并重建,可以扫描到植物的每一处,克服了因为叶片相互遮挡扫描不到的难题,可以得到精确且完整的点云数据,从而获得良好的重建精度;其中对每个叶子的重建过程是完全自动的,不需要交互,这样大大减少了用户工作量。
[0037]进一步的,采用手持式结构光3D扫描仪来完成植物扫描,相比使用CT扫描仪或高精度激光扫描仪的方案,将大幅降低成本。

【专利附图】

【附图说明】
[0038]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
[0039]图1为本发明实施例中植物扫描与重建方法的流程图;
[0040]图2为本发明实施例中叶子的重建过程示意图。

【具体实施方式】
[0041]为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
[0042]图1为本发明实施例中植物扫描与重建方法的流程图。如图1所示,本发明实施例中植物扫描与重建方法可以包括:
[0043]步骤101、对植物进行整体扫描,获得植物的整体扫描数据;
[0044]步骤102、对植物的每个叶子进行单独扫描,获得每个叶子的点云数据;
[0045]步骤103、将每个叶子的点云数据重建为曲面模型,通过泊松重建算法得到茎杆的重建结果;
[0046]步骤104、将重建后的所有叶子和茎杆与植物的整体扫描数据对齐;
[0047]步骤105、将所有叶子对齐后的点云数据融合到一起,得到整棵植物模型。
[0048]由图1可以得知,本发明实施例中植物扫描与重建方法包括扫描、重建、配准及融合4个步骤。扫描过程中,首先对植物整体进行扫描,然后可以剪下所有叶子,并对它们进行单独扫描。重建过程,在本发明实施例中使用一种专门为叶子设计的重建算法来重建单独扫描的叶子。配准过程,即将重建的叶子模型对齐到点云上。融合过程,即将对其后的叶子合并为一个植物模型。
[0049]为了能充分暴露被遮挡的部分,本发明实施例中的扫描过程分为两步:首先对整棵植物做一次扫描,然后剪下所有叶片并对它们进行单独扫描。这是一种巧妙的分治策略。因为植物的叶片往往相互遮挡,一次整体扫描时得不到完整的点云数据。没有完整的数据,重建的效果自然也不会好。因此,需要再次对所有叶片进行单独扫描。对每个叶片单独扫描并重建的策略,即分治策略,可以提高扫描和重建精度,获得的精度甚至可以超过通过昂贵CT扫描仪得到的效果。
[0050]针对于传统方案成本高的缺点,可以用手持式结构光3D扫描仪对植物进行扫描。手持式结构光3D扫描仪的成本现在已经降到了千元级,如微软公司的Kinect。因此,采用手持式结构光3D扫描仪,对植物进行整体扫描,以及,对植物的每个叶子进行单独扫描,可以为用户节省大量资金。
[0051]为了减少用户交互,本发明实施例中对每个叶子的重建过程是完全自动的,不需要交互,这样就大大减少了用户工作量。图2为本发明实施例中叶子的重建过程示意图。如图2所示,将每个叶子的点云数据重建为曲面模型,可以包括:
[0052]步骤201、利用L1-中值算法提取叶子的骨架;
[0053]步骤202、沿着骨架对叶子的点云做垂直切片;
[0054]步骤203、根据点云切片的纵横比将切片分为叶片和叶柄两部分;
[0055]步骤204、采用基于曲率的二次距离极小化方法,对每个切片拟合一个非统一有理B样条NURBS曲线,叶片拟合一个非闭合曲线,叶柄拟合闭合曲线;
[0056]步骤205、优化求解所有NURBS控制点的最佳位置;
[0057]步骤206、连接叶子的所有切片形状,得到叶子的形状。
[0058]具体实施时,优化求解所有NURBS控制点的最佳位置,可以包括:
[0059]通过BFGS算法极小化如下目标函数,得到NURBS控制点的最佳位置:
[0060]f (χ) = Edata (χ) + a Esmooth (χ) + β Ebound (χ) + Y Eround (χ);
[0061]其中,χ为要求解的控制点位置;Edata为所有点云中的点到NURBS曲线最近距离的累加;Es_th为不同NUBRS曲线上相同标识ID的控制点连成的曲线的不光滑度;Eb_d为非闭合NURBS端点到叶片点云边界处的最近距离的累加,Eromd为每个闭合NURBS曲线的周长面积比;α、β、y为常数。NURBS曲线定义了叶子的所有切片形状,连接它们就得到了叶子的形状。
[0062]实施例中,也可以采用曲面拟合算法等其它算法进行单个叶子的重建。
[0063]具体实施时,配准的目的是将重建后的所有叶子和茎杆与植物的整体扫描数据对齐,精确地将单独扫描的叶子对齐到了植物的整体点云上。配准可以分为两步,即刚性配准,和非刚性配准:
[0064]为每个叶片或者茎杆模型定义多对(例如三对)从它到植物点云的对应点,求出这多对对应点定义的刚性变换,并以此对每个叶片或者茎杆进行变换,来达到刚性配准的目的。
[0065]利用骨架驱动叶片和茎杆变形,并以此进行第一步非刚性配准。具体的,可以优化求解骨架点旋转和平移变换。可以用BFGS算法极小化目标函数,以求得定义在骨架上的最佳变换,并将其应用到叶片和茎杆模型上,该目标函数定义为变形后叶片到点云之间的距离+定义在骨架上的一个的拉普拉斯光滑算子。
[0066]在骨架驱动的配准完成之后,可以将控制对象由骨架变为用WLOP算法均匀采样的控制点,再次进行非刚性配准。具体的,可以将拉普拉斯光滑算子由骨架移到控制点相互连接成的网格上。用与第一步非刚性配准同样的优化方法可以得到进一步的细节配准。
[0067]实施例中,也可以采用刚性ICP算法和非刚性ICP算法进行配准。
[0068]具体实施时,融合即将配准后得到的点云融合到一起即可以得到整棵植物模型。融合需要解决两个问题:避免叶子相交,茎叶相连。
[0069]通过检测三角形相交来求出两片相交叶子的相交轮廓,然后搜索出使轮廓长度下降最快的位移方向,并通过移动轮廓附近的控制点来驱动叶子变形可以规避相交。
[0070]如果植物有茎,可以将叶子骨架末端变形到距其最近的茎上的点,并利用骨架的变形来驱动叶子的变形来达到茎叶相连的目的。若没有茎,自动检测叶柄的末端距其它叶柄的距离,若距离小于一定阈值,则以同样的方式通过变形使它们相连,即利用骨架的变形驱动叶子的变形来达到叶子相连。
[0071]综上所述,本发明实施例中,对每个叶子单独扫描并重建,可以扫描到植物的每一处,克服了因为叶片相互遮挡扫描不到的难题,可以得到精确且完整的点云数据,从而获得良好的重建精度;其中对每个叶子的重建过程是完全自动的,不需要交互,这样大大减少了用户工作量。经过试验证明,本发明实施例对高度缺失的点云重建效果非常好。
[0072]进一步的,采用手持式结构光3D扫描仪来完成植物扫描,相比使用CT扫描仪或高精度激光扫描仪的方案,将大幅降低成本。
[0073]本发明实施例中的植物扫描与重建方法不仅可以应用于仅有叶子的植物上,也可以应用于其它对象的扫描与重建,例如花朵的扫描与重建、甚至人体的扫描与重建。
[0074]本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0075]本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0076]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0077]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0078]以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种植物扫描与重建方法,其特征在于,包括: 对植物进行整体扫描,获得植物的整体扫描数据; 对植物的每个叶子进行单独扫描,获得每个叶子的点云数据; 将每个叶子的点云数据重建为曲面模型,通过泊松重建算法得到茎杆的重建结果; 将重建后的所有叶子和茎杆与植物的整体扫描数据对齐; 将所有叶子对齐后的点云数据融合到一起,得到整棵植物模型; 其中,将每个叶子的点云数据重建为曲面模型,包括: 利用L1-中值算法提取叶子的骨架; 沿着骨架对叶子的点云做垂直切片; 根据点云切片的纵横比将切片分为叶片和叶柄两部分; 采用基于曲率的二次距离极小化方法,对每个切片拟合一个非统一有理B样条NURBS曲线,叶片拟合一个非闭合曲线,叶柄拟合闭合曲线; 优化求解所有NURBS控制点的最佳位置; 连接叶子的所有切片形状,得到叶子的形状。
2.如权利要求1所述的方法,其特征在于,采用手持式结构光3D扫描仪,对植物进行整体扫描,以及,对植物的每个叶子进行单独扫描。
3.如权利要求1所述的方法,其特征在于,优化求解所有NURBS控制点的最佳位置,包括: 通过BFGS算法极小化如下目标函数,得到NURBS控制点的最佳位置: f (X) = Edata (X) + a Esmooth (X) + β Ebound (X) + Y Eround (x); 其中,X为要求解的控制点位置;Edata为所有点云中的点到NURBS曲线最近距离的累加;Es_th为不同NUBRS曲线上相同标识ID的控制点连成的曲线的不光滑度;Eb_d为非闭合NURBS端点到叶片点云边界处的最近距离的累加,Eromd为每个闭合NURBS曲线的周长面积比;α、β、Y为常数。
4.如权利要求1所述的方法,其特征在于,将重建后的所有叶子和茎杆与植物的整体扫描数据对齐,包括: 为每个叶子或茎杆模型定义多对到植物点云的对应点,求出所述多对对应点定义的刚性变换,并以求出的刚性变换对每个叶片或茎杆进行变换; 利用骨架驱动叶片和茎杆变形,进行非刚性配准; 将控制对象由骨架变为用WLOP算法均匀采样的控制点,再次进行非刚性配准。
5.如权利要求4所述的方法,其特征在于,利用骨架驱动叶片和茎杆变形,进行非刚性配准,包括:优化求解骨架点旋转和平移变换。
6.如权利要求5所述的方法,其特征在于,优化求解骨架点旋转和平移变换,包括: 采用BFGS算法极小化目标函数,以求得定义在骨架上的最佳变换,并将所述最佳变换应用到叶片和茎杆模型上,所述目标函数定义为变形后叶片到点云之间的距离+定义在骨架上的一个的拉普拉斯光滑算子。
7.如权利要求6所述的方法,其特征在于,将控制对象由骨架变为用WLOP算法均匀采样的控制点,再次进行非刚性配准,包括: 将拉普拉斯光滑算子由骨架移到控制点相互连接成的网格上。
8.如权利要求1所述的方法,其特征在于,将所有叶子对齐后的点云数据融合到一起,包括: 通过检测三角形相交求出两片相交叶子的相交轮廓,然后搜索出使轮廓长度下降最快的位移方向,并通过移动轮廓附近的控制点来驱动叶子变形。
9.如权利要求1所述的方法,其特征在于,将所有叶子对齐后的点云数据融合到一起,包括: 如果植物有茎,将叶子骨架末端变形到与叶子骨架末端距离最近的茎上的点,并利用骨架的变形驱动叶子的变形来达到茎叶相连;若没有茎,自动检测叶柄的末端距其它叶柄的距离,若距离小于阈值,则利用骨架的变形驱动叶子的变形来达到叶子相连。
【文档编号】G06T17/00GK104408765SQ201410630906
【公开日】2015年3月11日 申请日期:2014年11月11日 优先权日:2014年11月11日
【发明者】黄惠, 尹康学 申请人:中国科学院深圳先进技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1