基于最近点迭代和标志点匹配的活猪三维点云建模方法及装置与流程

文档序号:32443857发布日期:2022-12-06 23:12阅读:134来源:国知局
基于最近点迭代和标志点匹配的活猪三维点云建模方法及装置与流程

1.本发明属于三维建模的技术领域,具体涉及一种基于最近点迭代和标志点匹配的活猪三维点云建模方法及装置。


背景技术:

2.活猪的表型数据是活猪的重要指标(体长,体宽,体高等),及时准确的获取活猪的表型数据,即可马上评价活猪的生长状况和健康状况,并据此检测活猪的饲料吸收率,或者对营养状况不同的活猪分别饲养,以达到饲料的最大利用率和最佳生长控制。传统的活猪表型数据的获取往往都需要与活猪进行直接接触,手动进行测量,整个过程不仅费时而且费力,人工测量的误差较大,需要人畜接触容易造成疫病传播;有时候还需要使用镇静剂等药物辅助,给活猪带来极大的压力,影响诸如进食,交配等日常活动,甚至会造成猪猝死,造成极大的经济损失。因此,对活猪进行点云建模便成为了解决这一难题的一大方向。
3.在传统应用上,物体的点云建模采用icp点云配准,通常需要较多的拍摄角度以进行配准,导致需要较多的深度相机,对于拍摄装置的制作有较高的要求,成本同样也居高不下,以及多深度相机带来的高故障率也难以解决。本发明以此角度,基于icp点云配准技术,加入标志点配准方法,实现仅需四个拍摄视角便可对目标猪体实现精准的点云建模,得到活猪的表型点云模型。


技术实现要素:

4.本发明的主要目的在于克服现有技术的缺点与不足,提供一种基于最近点迭代和标志点匹配的活猪三维点云建模方法及装置,发明基于最近点迭代配准,再融合标志点配准法,进而获得活猪整个三维点云模型,提高了各角度的活猪点云模型跨度,解决了传统最近点配准中跨度小的缺点,有效减少三维深度相机的数量,同时保证建模精度。
5.为了达到上述目的,本发明采用以下技术方案:
6.本发明一方面提供了一种基于最近点迭代和标志点匹配的活猪三维点云建模方法,包括下述步骤:
7.(1)获取活猪左上、左下、右上和右下四个视角的点云数据,对点云数据进行降噪,并将目标猪体与背景切割,去除点云数据中的地面,得到目标猪体左上、左下、右上和右下四个视角的点云数据;
8.(2)将目标猪体左上、右上视角点云数据作为源点云,左下、右下视角点云数据作为目标点云,计算源点云中每个点在目标点云中的最近邻点;
9.(3)将左上视角的点云数据作为源点云,左下视角的点云数据作为目标点云,将两个点云都转换至质心坐标系,基于svd分解计算当前目标点云旋转变换到源点云坐标系下的最优旋转矩阵和最优平移矩阵,将旋转矩阵和平移矩阵作用于目标点云获得旋转平移后的目标点云,替代原本的目标点云;计算目标点云与源点云的旋转误差和平移误差,判断是
否达到停止迭代条件,否则重复步骤(2)到步骤(3),最终得到左上视角点云和右上视角点云在同一坐标系下配准的点云数据;右上视角和右下视角点云数据匹配同理,最终获得左右两个视角的点云数据;
10.(4)基于rgb信息识别活猪周围四个圆形标志点,通过圆心拟合获取左右两个视角中标志点在各自点云中的圆心坐标;
11.(5)基于三点法计算同一组标志点在左右不同视角点云数据中转换到同一坐标系下所需的旋转变换矩阵,利用该旋转变换矩阵,将活猪前后视角的点云数据变换到同一坐标系下进行配准,得到活猪三维点云模型。
12.作为优选的技术方案,步骤(1)中,去除点云地面数据采用的是ransac算法,具体如下:
13.(1-1)以目标猪体所在的区域为中心,对上下左右四个方向扩展k个坐标作为边界以进行切割,得到无背景的点云数据;
14.(1-2)对无背景的点云数据进行中值滤波,去除离散点;
15.(1-3)从无背景的点云数据中随机选取三个点组成一个平面,计算其余点云数据中其余点到该平面的距离,若小于阈值t,则认为处于同一平面;若处于同一平面的点超过n个,则保存该平面,并将该平面的点都记为地面点云,进行去除,得到无地面的点云数据。
16.作为优选的技术方案,步骤(2)中,所述计算源点云中每个点在目标点云中的最近邻点采用的是kd-tree算法,具体为:
17.(2-1)对于kd-tree的比较维度,采取随着kd-tree的深度的递进轮流选择xyz三个轴当作比较维度;
18.(2-2)随机选择目标点云数据中的一个点作为kd-tree根节点,遵循左子节点小于父节点,右子节点大于父节点的规则构造kd-tree;
19.(2-3)在目标点云中设置一个当前全局最佳点和最短距离,初始为kd-tree的根节点和无穷大;
20.(2-4)计算目标点云当前节点到源点云中被搜索点的距离,若小于当前的最短距离则更新当前节点为全局最佳点和最短距离;
21.(2-5)若源点云中的被搜索点的划分尺度小于目标点云中当前节点的划分尺度,则设当前节点的左子节点为新的当前节点,反之则设置当前节点的右子节点作为新的当前节点;若源点云中的被搜索点到目标点云中当前节点的划分尺度距离小于全局最短距离,则将目标点云的当前节点的另一子树的根节点作为新的当前节点;所述划分尺度是指该被搜索点左右子树的距离尺度;
22.(2-6)循环步骤(2-4)和(2-5),直至当前节点为空,得到源点云中每一个点在目标点云中的最近邻点;采用同样的方法计算右上视角和右下视角的最近邻点。
23.作为优选的技术方案,所述步骤(3)具体为:
24.(3-1)继续将左上视角的点云数据作为源点云,左下视角的点云数据作为目标点云,计算源点云和目标点云的质心,将源点云和目标点云转换到质心坐标系;
25.质心:
[0026][0027]
转换坐标系:
[0028]
其中等表示源点云与目标点云的坐标点在各轴上的值,表示源点云与目标点云的质心,表示源点云与目标点云的坐标点,表示变换坐标系后源点云与目标点云的坐标点;
[0029]
(3-2)令对其进行奇异值分解得到h=u∑v
t
,得到当前目标点云变换到源点云坐标系的最优旋转:r
*
=vu
t
和最优平移和最优平移u为左奇异向量,v为右奇异向量,r
*
为当前最优旋转矩阵,t
*
为当前最优平移矩阵;
[0030]
(3-3)设旋转误差为:平移误差为将每一次迭代得到的最优旋转矩阵和最优平移矩阵r
*
,t
*
作用于当前目标点云进行旋转平移,再将旋转平移后的目标点云数据作为原始目标点云数据,重复步骤(2-1)至(3-3)计算得到新的最优旋转矩阵r
*
和变换矩阵t
*
,直到满足设定条件;
[0031]
(3-4)最后得到源点云数据和目标点云数据在同一坐标系下配准成功的点云数据;右上视角点云数据和右下视角点云数据的匹配同理,最终获得左视角点云数据和右视角点云数据分别匹配成功的点云数据。
[0032]
作为优选的技术方案,所述满足设定条件,是指满足下列其中一个条件:
[0033]r*
,t
*
的变化量小于设定值;
[0034]
旋转误差和平移误差小于设定值;
[0035]
重复次数达到设定值。
[0036]
作为优选的技术方案,所述步骤(4)中,识别标志点圆心坐标具体为:
[0037]
(4-1)根据rgb信息,从左右视角的点云数据中筛选出活猪周围各个不同颜色的圆形标志点的点云数据;
[0038]
(4-2)对于各个圆形标志点,计算其圆心的在点云中的三维坐标点;
[0039][0040]
其中,为圆心坐标值,xi,yi,zi为圆形标志点中所有点在点云中的坐标值,n为单个圆形标志点的点数量。
[0041]
作为优选的技术方案,步骤(5)中,将活猪前后视角的点云数据变换到同一坐标系下进行配准,具体为:
[0042]
(5-1)将左视角点云数据作为源点云,将右视角点云数据作为目标点云,计算源点云与目标点云中的标志点圆心正交坐标矢量:
[0043][0044][0045]
其中为源点云的标志点圆心正交坐标矢量,为目标点云的标志点圆心正交坐标矢量,x
p
和xq分别为源点云和目标点的标志点圆心坐标值;
[0046]
(5-2)对正交坐标矢量单位化后得到以标志点圆心为原点的坐标系:
[0047][0048]
其中和分别为源点云和目标点云以标志点圆心为原点的坐标系;
[0049]
(5-3)根据源点云和目标点云以标志点圆心为原点的坐标系,计算目标点云变换至源点云的旋转矩阵和平移矩阵;
[0050]
旋转矩阵:
[0051]
平移矩阵:t=p-qr
[0052]
(5-4)根据得到的旋转矩阵r和平移矩阵t得到坐标变换矩阵:
[0053]
以变换公式pf=q将目标点云通过变换矩阵转换到源点云坐标系上,实现目标点云与源点云的配准,最终得到的活猪三维点云模型,其中f为变换矩阵,p为目标点云坐标,q为源点云坐标。
[0054]
本发明另一方面提供了一种基于最近点迭代和标志点匹配的活猪三维点云建模系统,包括数据采集模块、最近邻点计算模块、最近邻点迭代模块、标志点识别模块和标志点配准模块;
[0055]
所述数据采集模块,用于获取活猪左上、左下、右上和右下四个视角的点云数据,对点云数据进行降噪,并将目标猪体与背景切割,去除点云数据中的地面,得到目标猪体左上、左下、右上和右下四个视角的点云数据;
[0056]
所述最近邻点计算模块,用于将目标猪体左上、右上视角点云数据作为源点云,左下、右下视角点云数据作为目标点云,计算源点云中每个点在目标点云中的最近邻点;
[0057]
所述最近邻点迭代模块,用于将左上视角的点云数据作为源点云,左下视角的点云数据作为目标点云,将两个点云都转换至质心坐标系,基于svd分解计算当前目标点云旋转变换到源点云坐标系下的最优旋转矩阵和最优平移矩阵,将旋转矩阵和平移矩阵作用于目标点云获得旋转平移后的目标点云,替代原本的目标点云;计算目标点云与源点云的旋转误差和平移误差,判断是否达到停止迭代条件,否则重复最近邻点计算模块、最近邻点迭代模块的处理过程,最终得到左上视角点云和右上视角点云在同一坐标系下配准的点云数据;右上视角和右下视角点云数据匹配同理,最终获得左右两个视角的点云数据;
[0058]
所述标志点识别模块,用于基于rgb信息识别活猪周围四个圆形标志点,通过圆心拟合获取左右两个视角中标志点在各自点云中的圆心坐标;
[0059]
所述标志点配准模块,用于基于三点法计算同一组标志点在左右不同视角点云数据中转换到同一坐标系下所需的旋转变换矩阵,利用该旋转变换矩阵,将活猪前后视角的
点云数据变换到同一坐标系下进行配准,得到活猪三维点云模型。
[0060]
本发明又一方面提供了一种电子设备,所述电子设备包括:
[0061]
至少一个处理器;以及,
[0062]
与所述至少一个处理器通信连接的存储器;其中,
[0063]
所述存储器存储有可被所述至少一个处理器执行的计算机程序指令,所述计算机程序指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行所述的基于最近点迭代和标志点匹配的活猪三维点云建模方法。
[0064]
本发明再一方面提供了一种计算机可读存储介质,存储有程序,所述程序被处理器执行时,实现所述的基于最近点迭代和标志点匹配的活猪三维点云建模方法。
[0065]
本发明与现有技术相比,具有如下优点和有益效果:
[0066]
(1)本发明基于最近点迭代配准,再融合标志点配准法,进而获得活猪整个三维点云模型,提高了各角度的活猪点云模型跨度,本发明仅需四个拍摄角度,需要的深度相机数量较少,有效减少三维深度相机的数量,同时保证建模精度。
[0067]
(2)本发明的四个拍摄角度要求较低,装置易于设计,并且是四个角度同时拍摄建模,对于母猪的运动状态不作要求。
附图说明
[0068]
为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0069]
图1为本发明基于最近点迭代和标志点匹配的活猪三维点云建模方法流程图。
[0070]
图2(a)、图2(b)为左上视角和左下视角深度相机拍摄的原始点云图。
[0071]
图2(c)、图2(d)为右上视角和右下视角深度相机拍摄的原始点云图。
[0072]
图3(a)图3(b)为去除地面数据后的左上及左下视角点云图。
[0073]
图3(c)、图3(d)为去除地面数据后的右上及右下视角点云图。
[0074]
图4(a)为左上及左下视角最近点迭代匹配完成后的点云图。
[0075]
图4(b)为右上及右下视角最近点迭代匹配完成后的点云图。
[0076]
图5(a)为对左右视角标志点匹配完成后的点云图(正面)。
[0077]
图5(b)为对左右视角标志点匹配完成后的点云图(背面)。
[0078]
图5(c)为对左右视角标志点匹配完成后的点云图(侧面)。
[0079]
图6为本发明基于最近点迭代和标志点匹配的活猪三维点云建模系统的结构示意图。
[0080]
图7为本发明电子设备的结构示意图。
具体实施方式
[0081]
为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没
有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
[0082]
在本技术中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本技术所描述的实施例可以与其它实施例相结合。
[0083]
如图1所示,本实施例基于最近点迭代和标志点匹配的活猪三维点云建模方法,包括下述步骤:
[0084]
(1)基于kinect深度相机,获取活猪左上、左下、右上、右下四个视角的点云数据,对点云数据进行降噪,并将目标与背景切割,基于ransac算法去除点云数据中的地面,得到四个视角目标猪体的点云数据。
[0085]
进一步的,基于ransac算法去除点云地面数据具体为:
[0086]
(1-1)以初始活猪目标区域为中心,对上下左右四个方向扩展k个坐标作为边界以进行切割,得到无背景的点云数据,如图2(a)-图2(d)。
[0087]
(1-2)对点云数据进行中值滤波,去除离散点。
[0088]
(1-3)从点云数据中随机选取三个点,组成一个平面,计算其余点云数据中其余点到该平面的距离,若小于阈值t,则认为处于同一平面;若处于同一平面的点超过n个,则保存该平面,并将该平面的点都记为地面点云,进行去除,得到无地面的点云数据,如图3(a)-图3(d)。
[0089]
(1-4)若迭代n次后找到的平面中的点数小于n个,则重复步骤(1-3),最终获得无地面的点云数据。
[0090]
(2)将左上视角点云数据作为源点云,左下视角点云数据作为目标点云,基于kd-tree计算源点云中每个点在目标点云中的最近邻点。
[0091]
进一步的,计算源点云中每个点在目标点云中的最近邻点具体为:
[0092]
(2-1)将左上视角的点云数据作为源点云,左下视角作的点云数据作为目标点云,对于kd-tree的比较维度,采取随着kd-tree的深度的递进轮流选择xyz三个轴当作比较维度。
[0093]
(2-2)随机选择目标点云数据中的一个点作为kd-tree根节点,遵循左子节点小于父节点,右子节点大于父节点的规则构造kd-tree。
[0094]
(2-3)在目标点云中设置一个当前全局最佳点和最短距离,初始为kd-tree的根节点和无穷大。
[0095]
(2-4)计算目标点云当前节点(初始为根节点)到源点云中被搜索点的距离,若小于则更新当前节点为全局最佳点和最短距离。
[0096]
(2-5)若源点云中的被搜索点的划分尺度(该点左右子树的距离尺度)小于目标点云中当前节点的划分尺度,则设当前节点的左子节点为新的当前节点,反之则设置当前节点的右子节点作为新的当前节点;若源点云中的被搜索点到目标点云中当前节点的划分尺度距离小于全局最短距离,则将目标点云的当前节点的另一子树的根节点作为新的当前节点。循环步骤(2-4)和(2-5),直至当前节点为空,得到源点云中每一个点在目标点云中的最近邻点。右上视角和右下视角的最近邻点的计算同理。
[0097]
(3)将左上视角的点云数据作为源点云,左下视角的点云数据作为目标点云,将两
个点云都转换至质心坐标系,基于svd分解计算当前目标点云旋转变换到源点云坐标系下的最优旋转矩阵和最优平移矩阵,将旋转矩阵和平移矩阵作用于目标点云获得旋转平移后的目标点云,替代原本的目标点云;计算目标点云与源点云的旋转误差和平移误差,判断是否达到停止迭代条件,否则重复步骤(2)到步骤(3),最终得到左上视角点云和右上视角点云在同一坐标系下配准的点云数据。右上视角和右下视角点云数据匹配同理,最终获得左右两个视角的点云数据,如图4(a)、图4(b)。
[0098]
进一步的,所述步骤(3)具体为:
[0099]
(3-1)继续将左上视角的点云数据作为源点云,左下视角的点云数据作为目标点云,计算源点云和目标点云的质心,将源点云和目标点云转换到质心坐标系。
[0100]
质心:
[0101][0102]
转换坐标系:
[0103]
其中等表示源点云与目标点云的坐标点在各轴上的值,表示源点云与目标点云的质心,表示源点云与目标点云的坐标点,表示变换坐标系后源点云与目标点云的坐标点。
[0104]
(3-2)令对其进行svd分解得到h=u∑v
t
,得到当前目标点云变换到源点云坐标系的最优旋转:r
*
=vu
t
和最优平移r
*
为当前最优旋转矩阵,t
*
为当前最优平移矩阵。
[0105]
(3-3)设旋转误差为:平移误差为将每一次迭代得到的最优旋转矩阵和最优平移矩阵r
*
,t
*
作用于当前目标点云进行旋转平移,再将旋转平移后的目标点云数据作为原始目标点云数据,重复步骤(2-1)至(3-3)计算得到新的最优旋转矩阵r
*
和变换矩阵t
*
,直至满足下列其中一个条件:
[0106]
a、r
*
,t
*
的变化量小于设定值。
[0107]
b、旋转误差和平移误差小于设定值。
[0108]
c、重复次数达到设定值。
[0109]
最后得到源点云数据和目标点云数据在同一坐标系下配准成功的点云数据。右上视角点云数据和右下视角点云数据的匹配同理。最终获得左视角点云数据和右视角点云数据分别匹配成功的点云数据。
[0110]
(4)基于rgb信息识别活猪周围四个圆形标志点,通过圆心拟合获取左右两个视角中标志点在各自点云中的圆心坐标。
[0111]
进一步的,识别标志点圆心坐标具体为:
[0112]
(4-1)根据rgb信息,从左右视角的点云数据中筛选出活猪周围各个不同颜色的圆形标志点的点云数据。
[0113]
(4-2)对于各个圆形标志点,计算其圆心的在点云中的三维坐标点。
[0114][0115]
其中,为圆心坐标值,xi,yi,zi为圆形标志点中所有点在点云中的坐标值,n为单个圆形标志点的点数量。
[0116]
(5)基于三点法计算同一组标志点在左右不同视角点云数据中转换到同一坐标系下所需的旋转变换矩阵,利用该旋转变换矩阵,将活猪前后视角的点云数据变换到同一坐标系下进行配准,得到活猪三维点云模型,如图5(a)、图5(b)、图5(c)。
[0117]
进一步的,基于标志点配准具体为:
[0118]
(5-1)将左视角点云数据作为源点云,将右视角点云数据作为目标点云,计算源点云与目标点云中的标志点圆心正交坐标矢量:云与目标点云中的标志点圆心正交坐标矢量:
[0119][0120]
其中为源点云的标志点圆心正交坐标矢量,为目标点云的标志点圆心正交坐标矢量,x
p
和xq分别为源点云和目标点的标志点圆心坐标值。
[0121]
(5-2)对正交坐标矢量单位化后得到以标志点圆心为原点的坐标系:
[0122][0123]
其中和分别为源点云和目标点云以标志点圆心为原点的坐标系。
[0124]
(5-3)根据源点云和目标点云以标志点圆心为原点的坐标系,计算目标点云变换至源点云的旋转矩阵和平移矩阵。
[0125]
旋转矩阵:
[0126]
平移矩阵:t=p-qr
[0127]
(5-4)根据得到的旋转矩阵r和平移矩阵t得到坐标变换矩阵:
[0128]
以变换公式pf=q将目标点云通过变换矩阵转换到源点云坐标系上,实现目标点云与源点云的配准,最终得到的活猪三维点云模型。其中f为变换矩阵,p为目标点云坐标,q为源点云坐标。
[0129]
需要说明的是,对于前述的各方法实施例,为了简便描述,将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。
[0130]
基于与上述实施例中的基于最近点迭代和标志点匹配的活猪三维点云建模方法相同的思想,本发明还提供了基于最近点迭代和标志点匹配的活猪三维点云建模系统,该
系统可用于执行上述基于最近点迭代和标志点匹配的活猪三维点云建模方法。为了便于说明,基于最近点迭代和标志点匹配的活猪三维点云建模系统实施例的结构示意图中,仅仅示出了与本发明实施例相关的部分,本领域技术人员可以理解,图示结构并不构成对装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0131]
请参阅图6,在本技术的另一个实施例中,提供了一种基于最近点迭代和标志点匹配的活猪三维点云建模系统100,该系统包括数据采集模块101、最近邻点计算模块102、最近邻点迭代模块103、标志点识别模块104和标志点配准模块105;
[0132]
所述数据采集模块101,用于获取活猪左上、左下、右上和右下四个视角的点云数据,对点云数据进行降噪,并将目标猪体与背景切割,去除点云数据中的地面,得到目标猪体左上、左下、右上和右下四个视角的点云数据;
[0133]
所述最近邻点计算模块102,用于将目标猪体左上、右上视角点云数据作为源点云,左下、右下视角点云数据作为目标点云,计算源点云中每个点在目标点云中的最近邻点;
[0134]
所述最近邻点迭代模块103,用于将左上视角的点云数据作为源点云,左下视角的点云数据作为目标点云,将两个点云都转换至质心坐标系,基于svd分解计算当前目标点云旋转变换到源点云坐标系下的最优旋转矩阵和最优平移矩阵,将旋转矩阵和平移矩阵作用于目标点云获得旋转平移后的目标点云,替代原本的目标点云;计算目标点云与源点云的旋转误差和平移误差,判断是否达到停止迭代条件,否则重复最近邻点计算模块、最近邻点迭代模块的处理过程,最终得到左上视角点云和右上视角点云在同一坐标系下配准的点云数据;右上视角和右下视角点云数据匹配同理,最终获得左右两个视角的点云数据。
[0135]
所述标志点识别模块104,用于基于rgb信息识别活猪周围四个圆形标志点,通过圆心拟合获取左右两个视角中标志点在各自点云中的圆心坐标;
[0136]
所述标志点配准模块105,用于基于三点法计算同一组标志点在左右不同视角点云数据中转换到同一坐标系下所需的旋转变换矩阵,利用该旋转变换矩阵,将活猪前后视角的点云数据变换到同一坐标系下进行配准,得到活猪三维点云模型。
[0137]
需要说明的是,本发明的基于最近点迭代和标志点匹配的活猪三维点云建模系统与本发明的基于最近点迭代和标志点匹配的活猪三维点云建模方法一一对应,在上述基于最近点迭代和标志点匹配的活猪三维点云建模方法的实施例阐述的技术特征及其有益效果均适用于基于最近点迭代和标志点匹配的活猪三维点云建模的实施例中,具体内容可参见本发明方法实施例中的叙述,此处不再赘述,特此声明。
[0138]
此外,上述实施例的基于最近点迭代和标志点匹配的活猪三维点云建模系统的实施方式中,各程序模块的逻辑划分仅是举例说明,实际应用中可以根据需要,例如出于相应硬件的配置要求或者软件的实现的便利考虑,将上述功能分配由不同的程序模块完成,即将所述基于最近点迭代和标志点匹配的活猪三维点云建模系统的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分功能。
[0139]
请参阅图7,在一个实施例中,提供了一种实现基于最近点迭代和标志点匹配的活猪三维点云建模方法的电子设备,所述电子设备200可以包括第一处理器201、第一存储器202和总线,还可以包括存储在所述第一存储器202中并可在所述第一处理器201上运行的计算机程序,如活猪三维点云建模程序203。
[0140]
其中,所述第一存储器202至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:sd或dx存储器等)、磁性存储器、磁盘、光盘等。所述第一存储器202在一些实施例中可以是电子设备200的内部存储单元,例如该电子设备200的移动硬盘。所述第一存储器202在另一些实施例中也可以是电子设备200的外部存储设备,例如电子设备200上配备的插接式移动硬盘、智能存储卡(smart media card,smc)、安全数字(securedigital,sd)卡、闪存卡(flash card)等。进一步地,所述第一存储器202还可以既包括电子设备200的内部存储单元也包括外部存储设备。所述第一存储器202不仅可以用于存储安装于电子设备200的应用软件及各类数据,例如活猪三维点云建模程序203的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
[0141]
所述第一处理器201在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(central processing unit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述第一处理器201是所述电子设备的控制核心(control unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述第一存储器202内的程序或者模块,以及调用存储在所述第一存储器202内的数据,以执行电子设备200的各种功能和处理数据。
[0142]
图7仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图7示出的结构并不构成对所述电子设备200的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
[0143]
所述电子设备200中的所述第一存储器202存储的活猪三维点云建模程序203是多个指令的组合,在所述第一处理器201中运行时,可以实现:
[0144]
(1)获取活猪左上、左下、右上和右下四个视角的点云数据,对点云数据进行降噪,并将目标猪体与背景切割,去除点云数据中的地面,得到目标猪体左上、左下、右上和右下四个视角的点云数据;
[0145]
(2)将目标猪体左上、右上视角点云数据作为源点云,左下、右下视角点云数据作为目标点云,计算源点云中每个点在目标点云中的最近邻点;
[0146]
(3)将左上视角的点云数据作为源点云,左下视角的点云数据作为目标点云,将两个点云都转换至质心坐标系,基于svd分解计算当前目标点云旋转变换到源点云坐标系下的最优旋转矩阵和最优平移矩阵,将旋转矩阵和平移矩阵作用于目标点云获得旋转平移后的目标点云,替代原本的目标点云;计算目标点云与源点云的旋转误差和平移误差,判断是否达到停止迭代条件,否则重复步骤(2)到步骤(3),最终得到左上视角点云和右上视角点云在同一坐标系下配准的点云数据;右上视角和右下视角点云数据匹配同理,最终获得左右两个视角的点云数据。
[0147]
(4)基于rgb信息识别活猪周围四个圆形标志点,通过圆心拟合获取左右两个视角中标志点在各自点云中的圆心坐标;
[0148]
(5)基于三点法计算同一组标志点在左右不同视角点云数据中转换到同一坐标系下所需的旋转变换矩阵,利用该旋转变换矩阵,将活猪前后视角的点云数据变换到同一坐标系下进行配准,得到活猪三维点云模型。
[0149]
进一步地,所述电子设备200集成的模块/单元如果以软件功能单元的形式实现并
作为独立的产品销售或使用时,可以存储在一个非易失性计算机可读取存储介质中。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)。
[0150]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0151]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0152]
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1