一种牲畜表面点云智能分割方法及其系统

文档序号:27679705发布日期:2021-11-30 23:05阅读:79来源:国知局
一种牲畜表面点云智能分割方法及其系统

1.本发明涉及三维点云处理技术领域,更具体的,涉及一种牲畜表面点云智能分割方法及其系统。


背景技术:

2.在饲养牲畜如牛、羊、猪、马等管理工作过程中,牲畜的一些生长参数,如体尺、体重、体况评分等都是牲畜健康状况的重要监测指标。牲畜的各项体尺数据在一定程度上可以直观评价生产性能的高低及品种优劣;实时监测牲畜的体重可反映日增重、食物转化率等主要指标;牲畜的体况评分为专家选取优良品种提供重要参考。目前,对于上述几项指标,养殖场仍采用人工测量与监测的方式,直接接触牲畜进行测量,不仅会导致牲畜产生应激反应,存在一定的安全隐患,而且费时费力。
3.随着科学技术的发展和应用,机器视觉等技术在实现牲畜的实时无损监测中得到了广泛应用,很多牲畜参数的测量研究需要先将牲畜点云三维重建,然后根据重建后的牲畜点云进行分割,再进行测量参数。因此如何对三维点云进行分割,补全缺失数据,可以得到更好、更精准的测量结果。


技术实现要素:

4.本发明为了解决以上现有技术中存在的不足,提供了一种牲畜表面点云智能分割方法及其系统。
5.为实现上述本发明目的,采用的技术方案如下:
6.一种牲畜表面点云智能分割方法,所述方法包括以下步骤:
7.s1:获取牲畜表面原始整体点云;
8.s2:对原始整体点云进行体素化,得到精简后的牲畜体表点云,使得牲畜体表点云实现精简的同时保持局部几何特征;
9.s3:将牲畜体表点云通过多层感知器进行高维空间映射,同时采用最大池化层进行特征整合,实现对牲畜体表点云的头、颈、胸、腹、臀、四肢、尾巴的粗分割;
10.s4:将粗分割结果还原到原始整体点云上,得到原始点云上的粗分割结果;
11.s5:最后对头、胸、腹、臀几种关键局部原始点云数据集进行细分割,实现分解点云。
12.优先地,给定牲畜三维点集x1,原始整体点云体素化的计算步骤如下:
13.s201:设定局部切空间最大夹角阈值α和子节点最小点云数量阈值k;
14.s202:利用非均匀八叉树算法递归地将空间上的所有节点都分解成8个同样大小的子节点(方格),新划分的子节点包括k个以上的子节点称为非空子节点,否则为空子节点,只对非空节点进行细分,得到下一级的子节点;
15.s203:对于八叉树底层子节点中各点构成的切空间计算过程如下所示:
16.对于子节点m,设其共有n个点,x
m
={x1,

,x
n
}
t
,则
17.计算其中心点
[0018][0019]
对进行svd分解,
[0020][0021]
其中,u∈r
n
×
n,
v∈r3×3是列正交矩阵,σ∈r
n
×3是对角元素大于等于零,其余元素都为零的对角矩阵,对角线上的元素为矩阵的奇异值,并且依次递减;v矩阵的前d个列向量v
d
作为中心点x
cm
的切空间的标准正交基,节点中各点构成的切空间可由v
d
来近似表示,d=2;
[0022]
s204:计算各点与切空间的夹角的β
i

[0023][0024]
其中,v
d
为s203中svd分解的结果。
[0025]
s205:计算夹角β均值:
[0026][0027]
若β>α则继续按照八叉树细分;
[0028]
s206:完成八叉树建立后,将树的所有叶子计算其中心作为点云精简结果,得到一棵八叉树otr。
[0029]
进一步地,在步骤s2之后,步骤s3之前,先对牲畜点云数据的头、颈、胸、腹、臀、四肢、尾巴几个部位进行手工标记,然后将pointnet++网络作为牲畜点云分割模型进行训练,实现牲畜各部位的自动分割,得到各个部位的点云。
[0030]
进一步地,步骤s4,具体地,由于步骤2中实现非均匀八叉树简化得到的八叉树otr,其节点包含若干原始点云的点,因此以八叉树otr为索引;然后根据粗分割结果,找出每一类粗分类精简点云对应的原始点云,得到原始点云分割图。
[0031]
一种牲畜表面点云智能分割系统,包括
[0032]
光感深度相机,用于获取牲畜表面原始整体点云;
[0033]
非均匀八叉树模块,用于对原始整体点云进行体素化,得到精简后的牲畜体表点云;
[0034]
包括多层感知器、最大池化层的pointnet++网络模块,所述多层感知器对牲畜体表点云进行高维空间映射,并采用最大池化层进行特征整合,实现对牲畜体表点云的头、颈、胸、腹、臀、四肢、尾巴的粗分割;所述的pointnet++网络还对头、胸、腹、臀几种关键局部原始点云数据集进行细分割;
[0035]
查询索引模块,用于将粗分割结果通过查询非均匀八叉树还原到原始整体点云上,得到原始点云上的粗分割结果。
[0036]
一种计算机系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述的处理器执行所述的计算机程序时,实现上述的方法的步骤。
[0037]
一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述的计算机程
序被处理器执行时,实现上述的方法的步骤。
[0038]
本发明的有益效果如下:
[0039]
本发明利用非均匀八叉树对原始牲畜整体点云进行体素化,利用pointnet++网络实现粗分割,然后再将粗分割结果通过查询非均匀八叉树还原到原始整体点云上,得到原始点云上的粗分割结果,最后再利用pointnet++网络进行细分割,实现对牲畜三维点云的精准分割,有效的减小分割误差,提高后续测量的精度。本发明得到的细分割结果可广泛用于牲畜胴体分割、体积估算、局部估重、分群、选种等方面。
附图说明
[0040]
图1是实施例1所述的牲畜表面点云智能分割方法的步骤流程图。
[0041]
图2是实施例1利用八叉树得到体素化后的点云图。
[0042]
图3是实施例1粗分割得到的点云图。
[0043]
图4是实施例1将分割结果还原到原始点云。
[0044]
图5是实施例1对局部点云进行细分割的点云图。
具体实施方式
[0045]
下面结合附图和具体实施方式对本发明做详细描述。
[0046]
实施例1
[0047]
本实施例提供的牲畜表面点云智能分割方法可以推广到牛、猪、马、羊等大中型牲畜表面点云的智能分割。
[0048]
如图1所述,一种牲畜表面点云智能分割方法,所述方法包括以下步骤:
[0049]
s1:基于光感深度相机获取牲畜表面原始整体点云;
[0050]
s2:基于局部切空间平均夹角的非均匀八叉树对原始整体点云进行体素化,得到精简后的牲畜体表点云,使得牲畜体表点云实现精简的同时保持局部几何特征;
[0051]
s3:利用pointnet++网络将牲畜体表点云通过多层感知器进行高维空间映射,同时采用最大池化层进行特征整合,实现对牲畜体表点云的头、颈、胸、腹、臀、四肢、尾巴的粗分割;
[0052]
s4:将粗分割结果通过查询非均匀八叉树还原到原始整体点云上,得到原始点云上的粗分割结果;
[0053]
s5:最后利用pointnet++网络对头、胸、腹、臀几种关键局部原始点云数据集进行细分割,实现分解点云。
[0054]
在一个具体的实施例中,利用八叉树算法递归地将空间上的所有节点都分解成8个同样大小的子节点,新划分子节点网格包含k个以上点数量称为非空节点,否则为空节点,只有非空节点才继续细分。对于分割后的网格求切空间,计算切空间与各点的平均夹角,对夹角大于α的网格继续递归分解,直到所有网格与切空间平均夹角都小于α。求取所有网格的中值点,保留中值点,去除其他点,完成对点云进行简化,得到一棵八叉树otr。该简化过程一方面起到中值滤波的作用,另一方面使得得到的牛只点云数据保持了牛只体表三维特征;其具体的计算如下:
[0055]
利用深度相机获取牲畜体表三维点云数据集x1,原始整体点云体素化的计算步骤
如下:
[0056]
s201:设定局部切空间最大夹角阈值α和子节点最小点云数量阈值k;
[0057]
s202:利用非均匀八叉树算法递归地将空间上的所有节点都分解成8个同样大小的子节点网格,新划分的子节点网格包括k个以上的子节点称为非空节点,否则为空节点,实现建立八叉树;只对非空节点进行细分;
[0058]
s203:对于八叉树底层子节点中各点构成的切空间计算过程如下所示:
[0059]
对于子节点m,设其共有n个点,x
m
={x1,

,x
n
}
t
,则
[0060]
计算其中心点
[0061][0062]
对进行svd分解,
[0063][0064]
其中,u∈r
n
×
n,
v∈r3×3是列正交矩阵,σ∈r
n
×3是对角元素大于等于零,其余元素都为零的对角矩阵,对角线上的元素为矩阵的奇异值,并且依次递减;v矩阵的前d个列向量v
d
作为中心点x
cm
的切空间的标准正交基,节点中各点构成的切空间可由v
d
来近似表示,d=2;
[0065]
s204:计算各点与切空间的夹角的β
i

[0066][0067]
其中,v
d
为s203中svd分解的结果。
[0068]
s205:计算夹角β均值:
[0069][0070]
若β>α则继续按照八叉树细分;
[0071]
s206:完成八叉树建立后,将树的所有叶子计算其中心作为点云精简结果,得到一棵八叉树otr。以牛只的三维点云为例,通过八叉树对原始整体点云体素化精简的结果如图2所示。
[0072]
进一步地,在步骤s2之后,步骤s3之前,先pointnet++网络作为牲畜点云分割模型进行训练,具体将牲畜点云数据作为样本集,对牲畜点云数据的头、颈、胸、腹、臀、四肢、尾巴几个部位进行手工标记,将样本集分为训练样本集和测试样本集,
[0073]
先将训练样本集输入pointnet++网络进行粗分割,得到粗分割结果,更新pointnet++网络,并计算粗分割结果的误差,如果误差小于设定的阈值,将测试样本集输入pointnet++网络,如果测试的误差小于设定的阈值,则停止训练,此时pointnet++网络能实现牲畜各部位的自动分割,从而得到各个部位的点云。本实施例将牛只的三维点云,通过pointnet++网络进行粗分割的结果如图3所示。
[0074]
在一个具体的实施例中,步骤s4,具体地,由于步骤2中实现非均匀八叉树简化得到的八叉树otr,其节点包含若干原始点云的点,因此以八叉树otr为索引;然后根据粗分割结果,找出每一类粗分类精简点云对应的原始点云,得到原始点云分割图,如图4所示。
[0075]
图5所示,是分别对牛胸、臀部的局部点云基于pointnet++网络实现关键位置的细分割。
[0076]
实施例2
[0077]
一种牲畜表面点云智能分割系统,包括
[0078]
光感深度相机,用于获取牲畜表面原始整体点云;
[0079]
非均匀八叉树模块,用于对原始整体点云进行体素化,得到精简后的牲畜体表点云;
[0080]
包括多层感知器、最大池化层的pointnet++网络模块,所述多层感知器对牲畜体表点云进行高维空间映射,并采用最大池化层进行特征整合,实现对牲畜体表点云的头、颈、胸、腹、臀、四肢、尾巴的粗分割;所述的pointnet++网络还对头、胸、腹、臀几种关键局部原始点云数据集进行细分割;
[0081]
查询索引模块,用于将粗分割结果通过查询非均匀八叉树还原到原始整体点云上,得到原始点云上的粗分割结果。
[0082]
给定牲畜三维点集x1,原始整体点云体素化的计算步骤如下:
[0083]
s201:设定局部切空间最大夹角阈值α和子节点最小点云数量阈值k;
[0084]
s202:利用非均匀八叉树算法递归地将空间上的所有节点都分解成8个同样大小的子节点,新划分的子节点包括k个以上的子节点称为非空节点,否则为空节点,只对非空节点进行细分;
[0085]
s203:对于八叉树底层子节点中各点构成的局部切空间计算过程如下所示:
[0086]
对于子节点m,设其共有n个点,x
m
={x1,

,x
n
}
t
,则
[0087]
计算其中心点
[0088][0089]
对进行svd分解,
[0090][0091]
其中,u∈r
n
×
n
、v∈r3×3是列正交矩阵;σ∈r
n
×3是对角元素大于等于零,其余元素都为零的对角矩阵,对角线上的元素为矩阵的奇异值,并且依次递减;
[0092]
v矩阵的前d个列向量v
d
作为中心点x
cm
的切空间的标准正交基,节点中各点构成的切空间可由v
d
来近似表示,取d=2;
[0093]
s204:计算各点x
i
与切平面t的夹角的β
i

[0094][0095]
其中,v
d
为s203中svd分解的结果;
[0096]
s205:计算夹角β均值:
[0097][0098]
若β>α则继续按照八叉树细分;
[0099]
s206:完成八叉树建立后,将树的所有叶子计算其中心作为点云精简结果,得到一棵八叉树otr。
[0100]
在步骤s2之后,步骤s3之前,先对牲畜点云数据的头、颈、胸、腹、臀、四肢、尾巴几个部位进行手工标记,然后将pointnet++网络作为牲畜点云分割模型进行训练,实现牲畜各部位的自动分割,得到各个部位的点云。
[0101]
步骤s4,具体地,由于步骤2中实现非均匀八叉树简化得到的八叉树otr,其节点包含若干原始点云的点,因此以八叉树otr为索引;然后根据粗分割结果,找出每一类粗分类精简点云对应的原始点云,得到原始点云分割图。
[0102]
实施例3
[0103]
一种计算机系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述的处理器执行所述的计算机程序时,实现的方法步骤如下:
[0104]
s1:基于光感深度相机获取牲畜表面原始整体点云;
[0105]
s2:基于局部切空间平均夹角的非均匀八叉树对原始整体点云进行体素化,得到精简后的牲畜体表点云,使得牲畜体表点云实现精简的同时保持局部几何特征;
[0106]
s3:利用pointnet++网络将牲畜体表点云通过多层感知器进行高维空间映射,同时采用最大池化层进行特征整合,实现对牲畜体表点云的头、颈、胸、腹、臀、四肢、尾巴的粗分割;
[0107]
s4:将粗分割结果通过查询非均匀八叉树还原到原始整体点云上,得到原始点云上的粗分割结果;
[0108]
s5:最后利用pointnet++网络对头、胸、腹、臀几种关键局部原始点云数据集进行细分割,实现分解点云。
[0109]
实施例4
[0110]
一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述的计算机程序被处理器执行时,实现的方法步骤如下:
[0111]
s1:基于光感深度相机获取牲畜表面原始整体点云;
[0112]
s2:基于局部切空间平均夹角的非均匀八叉树对原始整体点云进行体素化,得到精简后的牲畜体表点云,使得牲畜体表点云实现精简的同时保持局部几何特征;
[0113]
s3:利用pointnet++网络将牲畜体表点云通过多层感知器进行高维空间映射,同时采用最大池化层进行特征整合,实现对牲畜体表点云的头、颈、胸、腹、臀、四肢、尾巴的粗分割;
[0114]
s4:将粗分割结果通过查询非均匀八叉树还原到原始整体点云上,得到原始点云上的粗分割结果;
[0115]
s5:最后利用pointnet++网络对头、胸、腹、臀几种关键局部原始点云数据集进行细分割,实现分解点云。
[0116]
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1