一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

榴莲鼓包范围的确定方法、装置、电子设备及存储介质与流程

2022-06-25 08:37:04 来源:中国专利 TAG:


1.本发明属于榴莲鼓包判断技术领域,具体涉及一种榴莲鼓包范围的确定方法、装置、电子设备及存储介质。


背景技术:

2.榴莲,又名韶子、麝香猫果,属木棉科热带落叶乔木;榴莲果肉营养丰富,有“水果之王”的美称,其营养价值极高,经常食用可以强身健体,健脾补气,补肾壮阳,温暖身体,属滋补有益的水果,同时,榴莲性热,可以活血散寒,缓解经痛,特别适合受痛经困扰的女性食用,且榴莲还能改善腹部寒凉,促进体温上升,是寒性体质者的理想补品;因此,榴莲越来越受到人们的喜爱,已成为最受欢迎的水果之一。
3.榴莲在发育过程中由于果肉形成会导致表面的鼓包逐步凸起,而随着成熟度的提升,果肉水分流失会导致鼓包上的榴莲刺变软,颜色变黄,敲击鼓包声音时亦有不同音调,因此,榴莲鼓包含有大量榴莲的质量信息,对于榴莲果肉的大小、榴莲的成熟度以及榴莲是否损伤等方面具有重要的观察意义。
4.目前,榴莲鼓包范围通常使用人工通过肉眼观测突起进行确定,其存在以下不足,大多依据主观经验进行判断,不仅无法得出准确的鼓包范围,还无法形成榴莲鼓包数据,不能为后续榴莲的数据化分析提供数据基础,从而导致无法实现榴莲质量分析的工业化;因此,提供一种榴莲鼓包范围的确定方法,以实现榴莲鼓包范围的数据化,成为榴莲质量检测工业化应用所要亟待解决的问题。


技术实现要素:

5.本发明的目的是提供一种榴莲鼓包范围的确定方法、装置、电子设备及存储介质,以解决现有采用人工确定榴莲鼓包范围所存在的不能得出准确的鼓包范围,无法形成榴莲鼓包数据,不能为后续榴莲的数据化分析提供数据基础,从而导致无法实现榴莲质量分析工业化的问题。
6.为了实现上述目的,本发明采用以下技术方案:
7.第一方面,本发明提供了一种榴莲鼓包范围的确定方法,包括:
8.获取待识别榴莲的二维图像和第一三维图像,其中,所述二维图像和所述第一三维图像中均包括至少一个鼓包标记物,且所述至少一个鼓包标记物中的每个鼓包标记物用于表征所述待识别榴莲上对应鼓包的中心点;
9.基于所述第一三维图像,得到所述待识别榴莲的点云数据;
10.根据所述二维图像,得出所述每个鼓包标记物在所述二维图像中的像素坐标;
11.基于每个鼓包标记物的像素坐标和所述点云数据,得出每个鼓包标记物的空间坐标;
12.根据所述每个鼓包标记物的空间坐标,确定出所述待识别榴莲上每个鼓包标记物对应鼓包的鼓包范围。
13.基于上述公开的内容,本发明通过引入鼓包标记物,来标记榴莲上各个鼓包的中心点,并获取带有鼓包标记物的榴莲的二维图像和三维图像,其中,二维图像用于确定各个鼓包标记物的像素坐标,其相当于确定了每个鼓包的中心点的二维坐标;而三维图像则用于获取榴莲的点云数据(每个点云数据包含有三维坐标),因此,在中心点的二维坐标确定时,基于该二维坐标,即可确定出每个鼓包中心点的三维坐标,也就是在三维图像中的空间坐标;最后,以各个中心点的空间坐标为中心,进行区域扩展,即可得到鼓包范围;其中,扩展可根据后续数据分析类型来决定,如利用鼓包进行果肉检验,则扩展5立方厘米,而若是后续进行机械臂抓取,则扩展1立方厘米等。
14.通过上述设计,本发明可通过机器视觉确定出榴莲上各个鼓包的中心点的三维坐标,从而可基于中心点的三维坐标来得出鼓包范围,由此,本发明实现了榴莲鼓包的数据化,可以为榴莲后续进行机械臂抓取、3d图像识别、点云重建、定位检测、敲击声音和果肉体积模拟识别等功能提供数据基础,实现了榴莲质量分析工业化的数据基础的建立。
15.在一个可能的设计中,基于每个鼓包标记物的像素坐标和所述点云数据,得出每个鼓包标记物的空间坐标,包括:
16.对于所述至少一个鼓包标记物中的任一鼓包标记物,在所述点云数据中,提取出目标点云数据,其中,所述目标点云数据中的每个目标点云数据的三维坐标中的横纵坐标与任一鼓包标记物的像素坐标中的横纵坐标相同;
17.在所述目标点云数据对应的三维坐标中,筛选出z轴坐标值最大的三维坐标,作为所述任一鼓包标记物的空间坐标。
18.基于上述公开的内容,本发明公开了各个鼓包标记物空间坐标的获取过程,即对于任一鼓包标记物,可通过二维图像,确定其在二维图像中的二维坐标,也就是横纵坐标,在横纵坐标确定后,以该横纵坐标值为约束,即可在点云数据中查找出多个横纵坐标值相同,而z轴坐标值不同的点云数据,最后,在查找出的点云数据对应的三维坐标中,筛选出z轴值最大的一个三维坐标,即可作为该任一鼓包标记物的空间坐标。
19.在一个可能的设计中,在确定出所述待识别榴莲上每个鼓包标记物对应鼓包的鼓包范围后,所述方法还包括:
20.获取所述待识别榴莲的第二三维图像,其中,所述第二三维图像仅包括所述待识别榴莲;
21.对所述第二三维图像进行鼓包识别,得出所述待识别榴莲上每个鼓包的机器识别范围;
22.判断每个鼓包的鼓包范围与对应的机器识别范围是否相同;
23.若是,则输出每个鼓包的鼓包范围;否则,则输出鼓包范围错误提示信息,以使工作人员根据所述鼓包范围错误提示信息,重新对所述待识别榴莲进行鼓包标记,以得到新的二维图像以及新的第一三维图像。
24.基于上述公开的内容,本发明在得出各个鼓包的鼓包范围后,为保证识别的准确率,还设置有校验步骤,即获取未带有鼓包标记物的榴莲的三维图像,然后进行机器识别,得出榴莲上各个鼓包的机器识别范围,最后,二者进行相比,若相同,则说明前述基于空间坐标得出的鼓包范围正确,否则,则不正确,需要重新标记,并重新确定鼓包标记物的空间坐标;由此通过前述设计,可进一步的提高鼓包范围确定的准确性。
25.在一个可能的设计中,对所述第二三维图像进行鼓包识别,得出所述待识别榴莲上每个鼓包的机器识别范围,包括:
26.对所述第二三维图像进行曲面平滑处理,得到平滑榴莲三维图像;
27.将所述平滑榴莲三维图像输入至鼓包识别模型中,得到所述待识别榴莲上每个鼓包的机器识别范围;或
28.将所述平滑榴莲三维图像,划分为多个图像区域;
29.对于所述多个图像区域中的每个图像区域,对所述每个图像区域进行特征点识别,得到每个图像区域的特征点个数,其中,所述特征点用于表征对应图像区域内的鼓包点;
30.基于每个图像区域的特征点个数,得到所述待识别榴莲上每个鼓包的机器识别范围。
31.基于上述公开的内容,本发明公开了机器识别鼓包范围的具体方法,其一是:直接利用训练后的深度神经网络进行鼓包范围的识别;其二是:将平滑榴莲三维图像划分为多个图像区域,并通过识别每个图像区域中鼓包点的个数,从而来得出每个图像区域的鼓包点总个数,最后,基于鼓包点总个数,即可得出榴莲上每个鼓包的机器识别范围。
32.在一个可能的设计中,对所述每个图像区域进行特征点识别,得到每个图像区域的特征点个数,包括:
33.a.对于每个图像区域中的任一点,获取所述任一点的特征直线,其中,所述特征直线为所述任一点,与所述任一点的最相邻点之间的连线;
34.b.获取每个图像区域中,所述任一点的目标点,并利用所述目标点组成目标面,其中,所述目标点为包围所述任一点的所有点;
35.c.计算所述特征直线与所述目标面的夹角,得到特征夹角;
36.d.判断所述特征夹角是否大于预设阈值;
37.e.若是,则将所述任一点作为特征点;
38.重复前述步骤a~e,并在将每个图像区域中的所有点遍历完成后,得到每个图像区域的特征点个数;
39.相应的,基于每个图像区域的特征点个数,得到所述待识别榴莲上每个鼓包的机器识别范围,包括:
40.根据每个图像区域的特征点个数,计算每个图像区域的特征点概率分布值;
41.按照特征点概率分布值从大到小的顺序,对每个图像区域进行排序,将排序前n位的图像区域作为所述待识别榴莲上每个鼓包的机器识别范围,其中,n为正整数。
42.基于上述公开的内容,本发明公开了特征点的识别过程,具体的,对于每个图像区域,将该区域内的任一点,与该任一点的最相邻点进行连线,得到该任一点的特征直线;然后再获取包围该任一点的所有点,作为目标点,并利用目标点组成目标面,最后,通过计算特征直线与目标面之间的夹角,来判断该任一点是否为特征点,若大于,则说明该任一点为特征点,否则,则不是,同理,使用上述步骤,将每个图像区域内的所有点遍历完毕后,即可统计出每个图像区域中特征点的个数;相应的,计算每个图像区域中特征点的个数与每个图像区域中所有点的总个数之间的比值,即可得到每个图像区域的特征点概率分布值;最后,按照分布值从大到小的顺序,进行排序,并将排序前n位的图像区域作为鼓包范围,也就
是机器识别范围。
43.在一个可能的设计中,对所述第二三维图像进行曲面平滑处理,得到平滑榴莲三维图像,包括:
44.将所述第二三维图像进行区域划分,划分为多个榴莲莲身区域;
45.基于所述二维图像和所述第二三维图像,得出所述多个榴莲莲身区域中每个榴莲莲身区域内榴莲刺的平均高度;
46.根据每个榴莲莲身区域内榴莲刺的平均高度,调整所述每个榴莲莲身区域中所有榴莲刺的高度,以在调整完成后,得到所述平滑榴莲三维图像。
47.基于上述公开的内容,本发明公开了曲面平滑处理的具体过程,即是将第二三维图像划分为多个榴莲莲身区域,然后再计算各个榴莲莲身区域内榴莲刺的平均高度,最后,以平均高度为基准,调整各个区域内的榴莲刺的高度,即可完成平滑处理,得到平滑榴莲三维图像。
48.在一个可能的设计中,基于所述二维图像和所述第二三维图像,得出所述多个榴莲莲身区域中每个榴莲莲身区域内榴莲刺的平均高度,包括:
49.基于所述二维图像,得出每个榴莲莲身区域内第一刺尖的像素坐标以及若干第二刺尖的像素坐标,其中,所述每个榴莲莲身区域内的第一刺尖为每个榴莲莲身区域内任一榴莲刺的刺尖,且每个第二刺尖均为与所述任一榴莲刺的刺尖相邻的刺尖;
50.基于所述二维图像,得到每个榴莲莲身区域内第一刺尖对应的第一刺根线,以及每个第二刺尖对应的第二刺根线,其中,所述第一刺根线为所述第一刺尖对应的所有刺根的连线,每个第二刺根线为每个第二刺尖对应的所有刺根的连线;
51.根据所述第二三维图像、所述第一刺尖的像素坐标以及所述第二刺尖的像素坐标,得出每个榴莲莲身区域内第一刺尖的刺尖空间坐标和每个第二刺尖的刺尖空间坐标;
52.计算每个榴莲莲身区域内第一刺根线与每个第二刺根线之间的交点坐标,以及所述第二刺根线中两两刺根线之间的交点坐标,以组成每个榴莲莲身区域的榴莲刺高度计算坐标集;
53.基于每个榴莲莲身区域的榴莲刺高度计算坐标集、所述第一刺尖的刺尖空间坐标以及每个第二刺尖的刺尖空间坐标,得到每个榴莲莲身区域内榴莲刺的平均高度。
54.第二方面,本发明提供了一种榴莲鼓包范围的确定装置,包括:
55.图像获取单元,用于获取待识别榴莲的二维图像和第一三维图像,其中,所述二维图像和所述第一三维图像中均包括至少一个鼓包标记物,且所述至少一个鼓包标记物中的每个鼓包标记物用于表征所述待识别榴莲上对应鼓包的中心点;
56.点云数据获取单元,基于所述第一三维图像,得到所述待识别榴莲的点云数据;
57.像素坐标确定单元,用于根据所述二维图像,得出所述每个鼓包标记物在所述二维图像中的像素坐标;
58.空间坐标确定单元,用于基于每个鼓包标记物的像素坐标和所述点云数据,得出每个鼓包标记物的空间坐标;
59.鼓包范围确定单元,用于根据所述每个鼓包标记物的空间坐标,确定出所述待识别榴莲上每个鼓包标记物对应鼓包的鼓包范围。
60.第三方面,本发明提供了另一种榴莲鼓包范围的确定装置,以装置为电子设备为
例,包括依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如第一方面或第一方面中任意一种可能设计的所述榴莲鼓包范围的确定方法。
61.第四方面,本发明提供了一种存储介质,所述存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面或第一方面中任意一种可能设计的所述榴莲鼓包范围的确定方法。
62.第五方面,本发明提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如第一方面或第一方面中任意一种可能设计的所述榴莲鼓包范围的确定方法。
附图说明
63.图1为本发明提供的榴莲鼓包范围的确定方法的步骤流程示意图;
64.图2为本发明提供的带有鼓包标记物的榴莲图像示意图;
65.图3为本发明提供的榴莲鼓包范围的校验步骤流程示意图;
66.图4为本发明提供的榴莲鼓包范围的确定装置的结构示意图;
67.图5为本发明提供的电子设备的结构示意图;
68.图6为本发明提供的榴莲刺高度的计算原理示意图。
具体实施方式
69.下面结合附图及具体实施例来对本发明作进一步阐述。在此需要说明的是,对于这些实施例方式的说明虽然是用于帮助理解本发明,但并不构成对本发明的限定。本文公开的特定结构和功能细节仅用于描述本发明的示例实施例。然而,可用很多备选的形式来体现本发明,并且不应当理解为本发明限制在本文阐述的实施例中。
70.应当理解,尽管本文可能使用术语第一、第二等等来描述各种单元,但是这些单元不应当受到这些术语的限制。这些术语仅用于区分一个单元和另一个单元。例如可以将第一单元称作第二单元,并且类似地可以将第二单元称作第一单元,同时不脱离本发明的示例实施例的范围。
71.应当理解,对于本文中可能出现的术语“和/或”,其仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,单独存在b,同时存在a和b三种情况;对于本文中可能出现的术语“/和”,其是描述另一种关联对象关系,表示可以存在两种关系,例如,a/和b,可以表示:单独存在a,单独存在a和b两种情况;另外,对于本文中可能出现的字符“/”,一般表示前后关联对象是一种“或”关系。
72.实施例
73.参见图1所示,本实施例第一方面所提供的榴莲鼓包范围的确定方法,适用于榴莲鼓包范围的快速确定,其中,前述确定方法可以但不限于在识别终端侧或云平台侧运行,而识别终端可以但不限于是个人电脑(personal computer,pc)、平板电脑、智能手机和/或个人数字助理(personal digital assistant,pda)等,可以理解的,前述执行主体并不构成对本技术实施例的限定,相应的,本方法的运行步骤如下述步骤s1~s5所示。
74.s1.获取待识别榴莲的二维图像和第一三维图像,其中,所述二维图像和所述第一
三维图像中均包括至少一个鼓包标记物,且所述至少一个鼓包标记物中的每个鼓包标记物用于表征所述待识别榴莲上对应鼓包的中心点;具体应用时,可先通过人工来对待识别榴莲进程鼓包标记,即在榴莲的各个鼓包上,将鼓包标记物插在各个鼓包的中心上,参见图2所示,图2中的标记10,则是表示鼓包标记物。
75.可选的,鼓包标记物可以但不限于为1-2cm直径的圆环,其颜色与待识别榴莲本体的颜色差别较大,具体的,鼓包标记物的rgb值分别介于:170-255(r值)、0-50(g值)和0-50(b值)之间,当然,也可满足r值-g值》60;另外,鼓包标记物不限定于圆环结构,还可为矩形、多边形、椭圆形等,只要能够起到标识作用均可,在此不作具体限定。
76.在使用人工对榴莲鼓包进行标记后,即可对标记后的榴莲进行拍照,从而上传至识别终端进行鼓包范围的确定,如步骤s1所示,即分别使用2d相机和3d相机进行拍摄,从而得到待识别榴莲的二维图像以及第一三维图像,以便基于二维图像和第一三维图像进行鼓包范围的机器识别;具体的,识别过程如下述步骤s2~s5所示。
77.s2.基于所述第一三维图像,得到所述待识别榴莲的点云数据;具体的,第一三维图像相当于为待识别榴莲的点云模型,其图像中的每个点为采样点,所有采样点则组成点云数据,其中,每个点云数据均包括对应采样点的三维坐标,因此,即可借助点云数据以及二维图像来确定出鼓包标记物的空间坐标,如下述步骤s3和步骤s4所示。
78.具体应用时,是先基于二维图像,确定出每个鼓包标记物在二维图像中的坐标点,然后在基于二维图像中的坐标点,在第一三维图像中,得到每个鼓包标记物的空间坐标点。
79.s3.根据所述二维图像,得出所述每个鼓包标记物在所述二维图像中的像素坐标;具体应用时,是根据每个鼓包标记物的rgb值来得出对应的像素坐标,由于前述就已说明,每个鼓包标记物的颜色与榴莲颜色差别较大,因此,呈现在二维图形中,则是rgb值不同,因此,基于rgb值即可得出二维图像中各个鼓包标记物对应的像素点,在得到各个鼓包标记物对应的像素点后,即可将对应像素点的坐标,作为鼓包标记物的像素坐标。
80.在得到各个鼓包标记物的像素坐标后,即可结合待识别榴莲的点云数据,来确定各个鼓包标记物的空间坐标,如下述步骤s4所示。
81.s4.基于每个鼓包标记物的像素坐标和所述点云数据,得出每个鼓包标记物的空间坐标;具体应用时,可以每个鼓包标记物的像素坐标为约束,来确定对应的空间坐标,实质为:每个鼓包标记物的横纵坐标确定后,可以该横纵坐标值为约束,在点云数据中查找出多个横纵坐标值相同,而z轴坐标值不同的点云数据,从而在查找出的点云数据的三维坐标中,选择出z轴值最大的作为空间坐标,其中,确定过程如下述步骤s41和步骤s42所示。
82.s41.对于所述至少一个鼓包标记物中的任一鼓包标记物,在所述点云数据中,提取出目标点云数据,其中,所述目标点云数据中的每个目标点云数据的三维坐标中的横纵坐标与任一鼓包标记物的像素坐标中的横纵坐标相同。
83.s42.在所述目标点云数据对应的三维坐标中,筛选出z轴坐标值最大的三维坐标,作为所述任一鼓包标记物的空间坐标。
84.下述以一个实例来阐述前述步骤s41和步骤s42:
85.假设任一鼓包标记物对应的像素坐标为(x1,y1),那么在所有点云数据对应的三维坐标中,筛选出x=x1,y=y1的点云数据,作为目标点云数据,即每个目标点云数据的横坐标等于x1,纵坐标等于y1,不同的只是z轴的坐标值不同;最后,在目标点云数据对应的三
维坐标中,筛选出z轴坐标值最大的三维坐标,即可作为该任一鼓包标记物的空间坐标;当然,其余鼓包标记物的空间坐标的确定方法与前述举例一致,于此不再赘述。
86.在本实施例中,点云数据的三维坐标是基于笛卡尔坐标系得到的,其中z轴为竖直方向。
87.在得到各个鼓包标记物的空间坐标后,即可基于空间坐标,得到每个鼓包标记物对应鼓包鼓包范围,如下述步骤s5所示。
88.s5.根据所述每个鼓包标记物的空间坐标,确定出所述待识别榴莲上每个鼓包标记物对应鼓包的鼓包范围;具体应用时,则是以各个鼓包标记物的空间坐标为中心,进行区域扩展,从而得到鼓包范围;其中,扩展可根据后续对榴莲进行数据分析的类型来决定,如利用鼓包进行果肉检验,则扩展5立方厘米,而若是后续进行机械臂抓取,则扩展1立方厘米等,因此,该区域扩展的范围,可预先设置在识别终端中。
89.由此通过前述设计,本发明即可通过机器识别确定出榴莲上各个鼓包的中心点的三维坐标,从而可基于中心点的三维坐标来得出鼓包范围,由此,本发明实现了榴莲鼓包的数据化,可以为榴莲后续进行机械臂抓取、3d图像识别、点云重建、定位检测、敲击声音和果肉体积模拟识别等功能提供数据基础,从而实现了榴莲质量分析工业化数据基础的建立。
90.在一个可能的设计中,本实施例第二方面在实施例第一方面的基础上,设置有鼓包范围校验步骤,从而进一步的提高榴莲鼓包范围识别的准确性。
91.参见图3所示,具体应用时,校验过程可以但不限于包括如下步骤s6~s9。
92.s6.获取所述待识别榴莲的第二三维图像,其中,所述第二三维图像仅包括所述待识别榴莲;具体应用时,则是不使用鼓包标记物对榴莲进行鼓包标记,直接使用3d相机拍摄待识别榴莲,从而得到第二三维图像。
93.在得到第二三维图像后,即可进行鼓包识别,从而得出待识别榴莲上每个鼓包的鼓包范围,如下述步骤s7所示。
94.s7.对所述第二三维图像进行鼓包识别,得出所述待识别榴莲上每个鼓包的机器识别范围;具体应用时,可使用两种方法进鼓包识别,其一是:直接利用训练后的深度神经网络进行鼓包范围的识别;其二是:对第二三维图像进行曲面平滑处理,得到平滑榴莲三维图像,然后将平滑榴莲三维图像划分为多个图像区域,接着通过识别每个图像区域中鼓包点的个数,从而来得出每个图像区域的鼓包点总个数,最后,基于鼓包点总个数,即可得出榴莲上每个鼓包的机器识别范围;其中,识别过程如下述步骤s71~s75所示。
95.s71.对所述第二三维图像进行曲面平滑处理,得到平滑榴莲三维图像;具体应用时,曲面平滑处理实质是将第二三维图像划分为多个榴莲莲身区域,并将每个榴莲莲身区域上的榴莲刺的高度进行平均化,平均化后,即可得到平滑榴莲三维图像,其中,平均化过程可以但不限于包括如下步骤s71a~s71c。
96.s71a.将所述第二三维图像进行区域划分,划分为多个榴莲莲身区域;具体应用时,可以但不限于按5cm3的范围进行区域划分,从而得到多个榴莲莲身区域,当然,划分的区域大小,可根据实际使用的具体设定,在此不限定于前述举例。
97.在得到多个榴莲莲身区域后,即可求取每个榴莲莲身区域中榴莲刺的平均高度,以便基于平均高度进行榴莲刺高度的调整,如下述步骤s71b和步骤s71c所示。
98.s71b.基于所述二维图像和所述第二三维图像,得出所述多个榴莲莲身区域中每
个榴莲莲身区域内榴莲刺的平均高度;具体应用时,每个榴莲莲身区域内榴莲刺的平均高度的计算过程如下步骤所示:
99.s71b1.基于所述二维图像,得出每个榴莲莲身区域内第一刺尖的像素坐标以及若干第二刺尖的像素坐标,其中,所述每个榴莲莲身区域内的第一刺尖为每个榴莲莲身区域内任一榴莲刺的刺尖,且每个第二刺尖均为与所述任一榴莲刺的刺尖相邻的刺尖;具体应用时,可在二维图像中识别出待识别榴莲中的刺尖像素点,然后将二维图像与第二三维图像进行映射(可以但不限于使用z-buffer消隐法实现),即找出第二三维图像中每个榴莲莲身区域在二维图像中所属的区域,最后,在各个榴莲莲身区域所属的二维图像区域中,选择任一榴莲刺的刺尖,从而得到第一刺尖的像素坐标以及第二刺尖的像素坐标。
100.可选的,可利用训练后的神经网络,来识别出二维图像中的刺尖和刺根像素点的坐标,具体的,可以获取多张榴莲的二维图像为训练数据,然后以二维图像为输入,,每张二维图像中刺尖和刺根像素点的坐标为输出,训练神经网络(如cnn,convolutional neural networks,卷积神经网络),从而得到训练后的神经网络,以便对待识别榴莲的二维图像进行刺根与刺尖像素点的识别。
101.同时,第二刺尖的确定可以但不限于:获取包围第一刺尖的所有刺尖,作为预选刺尖(当然,预选刺尖实质也是像素点),然后基于预选刺尖的像素坐标以及第一刺尖的像素坐标,计算得到各个预选刺尖到第一刺尖的距离,并按照距离从小到大的顺序进行排序,选取排序前p位的预选刺尖作为第二刺尖,其中,p可以但不限于为2~6。
102.s71b2.基于所述二维图像,得到每个榴莲莲身区域内第一刺尖对应的第一刺根线,以及每个第二刺尖对应的第二刺根线,其中,所述第一刺根线为所述第一刺尖对应的所有刺根的连线,每个第二刺根线为每个第二刺尖对应的所有刺根的连线;具体应用时,由于前述阐述了可基于二维图像识别出刺根像素点,同时,二维图像为rgb图像,因此,可直接根据二维图像来得出每个刺尖对应的刺根像素点,然后将每个刺尖对应的所有刺根像素点连接起来,则得到每个刺尖对应的刺根线。
103.s71b3.根据所述第二三维图像、所述第一刺尖的像素坐标以及所述第二刺尖的像素坐标,得出每个榴莲莲身区域内第一刺尖的刺尖空间坐标和每个第二刺尖的刺尖空间坐标;具体应用时,可以第一刺尖和第二刺尖的像素坐标为约束,在第二三维图像中,确定该像素坐标对应的三维坐标,其与前述鼓包标记物的空间坐标确定方法相同,可参见前述步骤s41和步骤s42,于此不再赘述。
104.在得到第一刺尖的刺尖空间坐标、第二刺尖的刺尖空间坐标、第一刺尖的第一刺根线以及第二刺尖的第二刺根线后,即可进行平均高度的计算,如下述步骤s71b4和步骤s71b5所示。
105.s71b4.计算每个榴莲莲身区域内第一刺根线与每个第二刺根线之间的交点坐标,以及所述第二刺根线中两两刺根线之间的交点坐标,以组成每个榴莲莲身区域的榴莲刺高度计算坐标集;具体应用时,由于前述就已阐述,基于二维图像,可识别出刺根像素点,并得到对应的像素坐标,因此基于刺根的像素坐标,可得到第一刺根线以及每个第二刺根线的线方程,由于刺根线为直线或曲线,因此每个刺根线的线方程为直线方程或曲线方程;最后,基于第一刺根线和第二刺根线的线方程,即可得出二者的交点坐标;当然,得出的交点坐标可添加标签,以基于标签来区分交点坐标是那俩条刺根线的交点;如第一刺根线为l0,
第二刺根线包括l1、l2和l3,其中,l0与l1的交点的标签为m(00),l0与l2的交点的标签为m(02),l1与l2的交点的标签为m(01),当然,标签形式不限定于前述举例。
106.s71b5.基于每个榴莲莲身区域的榴莲刺高度计算坐标集、所述第一刺尖的刺尖空间坐标以及每个第二刺尖的刺尖空间坐标,得到每个榴莲莲身区域内榴莲刺的平均高度。
107.具体应用时,第一刺根线与任一第二刺根线存在一个交点或多个交点,当存在多个交点时,可计算每个交点与第一刺尖之间的距离或每个交点与第二刺尖之间的距离,当选择计算每个交点与第一刺尖之间的距离时,选择距离最短的一个交点,作为最终交点,用于组成榴莲刺高度计算坐标集,其中,选择交点到第一刺尖之间的距离,则是用于计算第一刺尖对应榴莲刺的高度;同理,若选择计算每个交点与第二刺尖之间的距离时,也是采用同样的方法选择出最终交点,并该最终交点用于计算第二刺尖对应榴莲刺的高度。
108.同理,对于两第二刺尖之间的交点,存在多个时,也有两种选择,假设两个第二刺尖分别为c1、c2和c3,对应的第二刺根线分别为l1、l2和l3,那么l1和l2之间的交点存在多个时,可计算交点到c1的距离,也可计算交点到c2的距离,其中,计算到c1的距离,则用于计算第二刺尖c1对应榴莲刺的高度,而计算到c2的距离,则用于计算第二刺尖c2对应榴莲刺的高度。
109.由此,平均高度的计算过程具体为:、计算第一刺尖以及各个第二刺尖对应榴莲刺的高度后,求各个高度的平均值,即可得到平均高度。
110.下述以一个实例来阐述前述平均高度计算过程:
111.假设任一榴莲莲身区域内的第一刺尖为a0,第二刺尖为c1和c2,其中,第一刺尖c0对应的第一刺根线为l0,第二刺尖c1对应的第二刺根线为l1,第二刺尖c2对应的第二刺根线为l2。
112.l0与l1的交点有2个,分别计算两个交点到a0的距离,将距离a0最短的交点作为最终交点,且最终交点为m(00),因此,计算的是第一刺尖a0对应榴莲刺的高度,且m(00)与a0以及c1,可构成三角形m(00)a0c1,如图6所示,其中,m(00)、a0和c1的坐标已知,因此,三角形m(00)a0c1中三条边的长度也可得到,同时,角m(00)a0c1的正弦值也可得到,假设m(00)与a0之间的距离为u0,角m(00)a0c1为θ1,那么第一刺尖a0对应榴莲刺的高度为:uo*sinθ1。
113.同理,l0与l2的交点有3个,分别计算3个交点到c2的距离,将距离c2最短的交点作为最终交点,且最终交点为m(02),因此,计算的则是第二刺尖c2对应榴莲刺的高度,且m(02)与a0以及c2,可构成三角形m(02)a0c2,其中,m(02)、a0和c2的坐标已知,因此,三角形m(02)a0c2中三条边的长度也可得到,同时,角m(02)a0c2的正弦值也可得到,假设m(02)与a0之间的距离为u2,角m(02)a0c2为θ3,那么第二刺尖c2对应榴莲刺的高度为:u2*sinθ3。
114.同理,l1与l2的交点有4个,分别计算4个交点到c1的距离,将距离最短c1的交点作为最终交点,且最终交点为m(01),因此,计算的则是第二刺尖c1对应榴莲刺的高度,其中,m(01)与c1以及c2,可构成三角形m(01)c1c2,其中,m(01)、c1和c2的坐标已知,因此,三角形m(01)c1c2中三条边的长度也可得到,同时,角m(01)c1c2的正弦值也可得到,假设m(01)与c1之间的距离为u1,角m(01)c1c2为θ2,那么第二刺尖c1对应榴莲刺的高度为:u1*sinθ2。
115.最后,任一榴莲莲身区域内榴莲刺的平均高度为:[(uo*sinθ1) (u2*sinθ3) (u1*sinθ2)]
÷
3;当然,其余榴莲莲身区内榴莲刺的平均高度的计算方法与前述距离原理相同,于此不再赘述。
[0116]
在得到每个榴莲莲身区域内榴莲刺的平均高度后,即可将每个榴莲莲身区域内所有榴莲刺的高度调整为对应区域的平均高度,调整完成后,即可得到平滑榴莲三维图像,如下述步骤s71c所示。
[0117]
s71c.根据每个榴莲莲身区域内榴莲刺的平均高度,调整所述每个榴莲莲身区域中所有榴莲刺的高度,以在调整完成后,得到所述平滑榴莲三维图像。
[0118]
在得到平滑榴莲三维图像后,即可使用前述第一种方法或第二种方法进行鼓包范围识别,其中,利用训练后的深度神经网络进行鼓包识别的过程,则如下述步骤s72所示。
[0119]
在具体应用时,在阐述使用训练后的深度神经网络进行鼓包范围的识别前,先阐述深度神经网络的训练过程,如以下步骤所示:
[0120]
第一步:获取训练数据集,其中,训练数据集中包括多张平滑榴莲三维训练图像。
[0121]
第二步:以训练数据集为输入,训练数据集中每张平滑榴莲三维训练图像上各个鼓包的鼓包范围为输出,训练cnn卷积神经网络,得到鼓包识别模型。
[0122]
当然,前述深度神经网络不限于cnn,还可为svm(支持向量机)模型等,可根据使用的具体设定,于此不作限定。
[0123]
在得到鼓包识别模型后,即可将平滑榴莲三维图像输入至该鼓包识别模型中,从而得出待识别榴莲上每个鼓包的机器识别范围,如下述步骤s72所示。
[0124]
s72.将所述平滑榴莲三维图像输入至鼓包识别模型中,得到所述待识别榴莲上每个鼓包的机器识别范围;由此,即可基于机器视觉,得出每个鼓包的机器识别范围,从而便于后续进行鼓包校验。
[0125]
可选的,在本实施例中,第二种鼓包范围的识别方法则如下述步骤s73~s75所示。
[0126]
s73.将所述平滑榴莲三维图像,划分为多个图像区域;具体应用时,可以但不限于每隔1cm做为划分边界,划分为划分成3*3cm3~5*5cm3的多个图像区域,当然,划分区域的大小,可根据实际使用而定。
[0127]
在将平滑榴莲三维图像划分为多个图像区域后,即可进行鼓包点的识别,以便基于鼓包点的个数,来得出待识别榴莲上每个鼓包的机器识别范围,如下述步骤s74和步骤s75所示。
[0128]
s74.对于所述多个图像区域中的每个图像区域,对所述每个图像区域进行特征点识别,得到每个图像区域的特征点个数,其中,所述特征点用于表征对应图像区域内的鼓包点;具体应用时,鼓包点的识别可以但不限于采用如下步骤a~f实现。
[0129]
a.对于每个图像区域中的任一点,获取所述任一点的特征直线,其中,所述特征直线为所述任一点,与所述任一点的最相邻点之间的连线;具体应用时,由于第二三维图像也包含有点云数据,因此,是已知各个点的三维坐标,由此,即可基于三维坐标,来计算出与任一点距离最近的点,从而将该点作为最相邻点,二者之间的连线则为任一点的特征直线。
[0130]
在得到特征直线后,还需获取包围任一点的所有点组成的面,从而得出特征直线与该面之间的夹角,如下述步骤b和c所示。
[0131]
b.获取每个图像区域中,所述任一点的目标点,并利用所述目标点组成目标面,其中,所述目标点为包围所述任一点的所有点;具体应用时,点云数据中的各个点均是处于包围状态,即一个点被相邻的多个点所包围,因此,即可基于第二三维图像中的点云数据,来得出包含任一点的所有点,作为目标点,从而利用目标点来组成目标面。
[0132]
c.计算所述特征直线与所述目标面的夹角,得到特征夹角;具体应用时,可根据目标点的三维坐标来求出目标面的平面方程,然后使用线面夹角公式求出特征直线与目标面之间的夹角,作为特征夹角。
[0133]
在得到特征直线与目标面的特征夹角后,即可基于夹角值来判断该任一点是否为鼓包点(也就是特征点),如下述步骤d所示。
[0134]
d.判断所述特征夹角是否大于预设阈值,
[0135]
e.若是,则将所述任一点作为特征点;具体应用时,预设阈值可以但不限于设置为5
°
~45
°
之间,其可根据水果类型不同而具体设定。
[0136]
在判断出每个图像区域后的任一点是否为鼓包点后,即可重复前述步骤骤a~e,将每个图像区域中所有点遍历完成后,即可得出每个图像区域中的鼓包点个数,如下述步骤f所示。
[0137]
f.重复前述步骤a~e,并在将每个图像区域中的所有点遍历完成后,得到每个图像区域的特征点个数。
[0138]
由此经过前述步骤a~f,即可识别出每个图像区域中的鼓包点(即特征点)的总个数,最后,基于总个数,即可每个图像区域中特征点的总个数,即可实现鼓包范围的确定,如下述步骤s75所示。
[0139]
s75.基于每个图像区域的特征点个数,得到所述待识别榴莲上每个鼓包的机器识别范围;具体应用时,是根据计算每个图像区域中特征点个数占所有点总个数的比值,来得出每个鼓包的机器识别范围,如下述步骤s751和步骤s752所示。
[0140]
s751.根据每个图像区域的特征点个数,计算每个图像区域的特征点概率分布值;具体应用时,每个图像区域的特征点概率分布值等于:每个图像区域中特征点个数与该区域内所有点的总个数之间的比值;如,图像区域p1中共有m个点,其中,特征点个数为s,那么图像区域p1的特征点概率分布值=s/m,同理,其余图像区域的特征点概率分布值计算过程与前述举例相同,于此不再赘述。
[0141]
在得出每个图像区域的特征点概率分布值后,即可基于特征点概率分布值的大小,对图像区域进行排序,从而选择出排序前n位的图像区域,作为所述待识别榴莲上每个鼓包的机器识别范围,如下述步骤s752所示。
[0142]
s752.按照特征点概率分布值从大到小的顺序,对每个图像区域进行排序,将排序前n位的图像区域作为所述待识别榴莲上每个鼓包的机器识别范围,其中,n为正整数;具体应用时,n取3,即排序前三位的图像区域,作为鼓包区域,也就是表示待识别榴莲具有三个鼓包,且鼓包范围为前述三个图像区域。
[0143]
在得出待识别榴莲上每个鼓包的机器识别范围后,即可与前述步骤s5得出的鼓包范围进行对比,判断二者是否相同,若相同,则说明前述步骤s5识别正确,否则,则说明识别错误,需要重新识别,如下述步骤s8和步骤s9所示。
[0144]
s8.判断每个鼓包的鼓包范围与对应的机器识别范围是否相同。
[0145]
s9.若是,则输出每个鼓包的鼓包范围;否则,则输出鼓包范围错误提示信息,以使工作人员根据所述鼓包范围错误提示信息,重新对所述待识别榴莲进行鼓包标记,以得到新的二维图像以及新的第一三维图像。
[0146]
具体应用时,则判断前述步骤s4中的鼓包标记物对应的空间坐标是否属于机器识
别范围中,也就是判断鼓包标记物对应的空间坐标是否属于排序前n位的图像区域内,若属于,则说明二者相同,否则,则不相同;例如,鼓包范围为:a1、a2和a3,机器识别范围为b1、b2和b3,其中,则判断a1对应的鼓包标记物的空间坐标,是否属于b1、b2或b3对应的图像区域,若属于b1对应的图像区域,则说明a1与b1相同,识别正确,此时,应输出a1;而若a1对应的鼓包标记物的空间坐标,不属于前述b1、b2和b3三者中任意一个对应的图像区域,那么则说明步骤s1~s5所得到的鼓包范围识别错误,因此,则需要输出鼓包范围错误提示信息,从而使工人重新使用鼓包标记物对待识别榴莲进行标记,从而重新采集待识别榴莲的二维图像以及第一三维图像,得到新的二维图像以及新的第一三维图像,并输入至识别终端中国,重复前述步骤s1~s5,以得出新的识别结果;当然,其余鼓包的鼓包范围的校验与前述举例一致,于此不再赘述。
[0147]
由此通过前述设计,可进一步的提高鼓包范围的识别准确率,从而为后续榴莲的质量分析提供更为精确的数据基础,保证榴莲的质量分析的准确率。
[0148]
如图4所示,本实施例第三方面提供了一种实现实施例第一方面或第二方面中所述的榴莲鼓包范围的确定方法的硬件装置,包括:
[0149]
图像获取单元,用于获取待识别榴莲的二维图像和第一三维图像,其中,所述二维图像和所述第一三维图像中均包括至少一个鼓包标记物,且所述至少一个鼓包标记物中的每个鼓包标记物用于表征所述待识别榴莲上对应鼓包的中心点。
[0150]
点云数据获取单元,基于所述第一三维图像,得到所述待识别榴莲的点云数据。
[0151]
像素坐标确定单元,用于根据所述二维图像,得出所述每个鼓包标记物在所述二维图像中的像素坐标。
[0152]
空间坐标确定单元,用于基于每个鼓包标记物的像素坐标和所述点云数据,得出每个鼓包标记物的空间坐标。
[0153]
鼓包范围确定单元,用于根据所述每个鼓包标记物的空间坐标,确定出所述待识别榴莲上每个鼓包标记物对应鼓包的鼓包范围。
[0154]
本实施例提供的硬件装置的工作过程、工作细节和技术效果,可以参见实施例第一方面或第二方面,于此不再赘述。
[0155]
如图5所示,本实施例第四方面提供了另一种榴莲鼓包范围的确定装置,以装置为电子设备为例,包括:依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如实施例第一方面或第二方面所述的榴莲鼓包范围的确定方法。
[0156]
具体举例的,所述存储器可以但不限于包括随机存取存储器(random access memory,ram)、只读存储器(read only memory,rom)、闪存(flash memory)、先进先出存储器(first input first output,fifo)和/或先进后出存储器(first in last out,filo)等等;具体地,处理器可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现,同时,处理器也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。
[0157]
在一些实施例中,处理器可以在集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制,例如,所述处理器可以不限于采用型号为stm32f105系列的微处理器、精简指令集计算机(reduced instruction set computer,risc)微处理器、x86等架构处理器或集成嵌入式神经网络处理器(neural-network processing units,npu)的处理器;所述收发器可以但不限于为无线保真(wifi)无线收发器、蓝牙无线收发器、通用分组无线服务技术(general packet radio service,gprs)无线收发器、紫蜂协议(基于ieee802.15.4标准的低功耗局域网协议,zigbee)无线收发器、3g收发器、4g收发器和/或5g收发器等。此外,所述装置还可以但不限于包括有电源模块、显示屏和其它必要的部件。
[0158]
本实施例提供的电子设备的工作过程、工作细节和技术效果,可以参见实施例第一方面或第二方面,于此不再赘述。
[0159]
本实施例第五方面提供了一种存储包含有实施例第一方面或第二方面所述的榴莲鼓包范围的确定方法的指令的存储介质,即所述存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面或第二方面所述的榴莲鼓包范围的确定方法。
[0160]
其中,所述存储介质是指存储数据的载体,可以但不限于包括软盘、光盘、硬盘、闪存、优盘和/或记忆棒(memory stick)等,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
[0161]
本实施例提供的存储介质的工作过程、工作细节和技术效果,可以参见实施例第一方面或第二方面,于此不再赘述。
[0162]
本实施例第六方面提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如实施例第一方面或第二方面所述的榴莲鼓包范围的确定方法,其中,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
[0163]
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献