一种基于非完整性蘑菇图像的三维空间视觉定位方法、系统及装置与流程

文档序号:29692514发布日期:2022-04-16 12:09阅读:194来源:国知局
一种基于非完整性蘑菇图像的三维空间视觉定位方法、系统及装置与流程

1.本发明涉及三维空间视觉定位领域,尤其是基于非完整性蘑菇图像中定位的运用,即一种基于非完整性蘑菇图像的三维空间视觉定位方法、系统及装置。


背景技术:

2.近年来,蘑菇的采摘作业方式由最开始的人工采摘转向了机器人采摘的作业方式,已知较为成熟的采摘蘑菇作业方式是基于单目相机的机器人作业方式,但是基于单目相机的机器人作业方式对蘑菇定位时由于遮挡等问题定位精度仍然存在一定的偏差,而且对于图像采集不完全的蘑菇通常直接放弃定位。这样整个采摘过程的效率就大大降低了,其精度也不高,在采摘过程中可能存在漏采、错采的情况。对于采集的不完全图像,如何对蘑菇进行三维空间视觉定位,提高定位精度,是急需解决的问题。


技术实现要素:

3.技术目的:为解决现有技术存在的问题,本发明提供了一种对于非完整性采集蘑菇图像的三维空间视觉定位方法、系统及装置,从定位精度和对于非完整性采集蘑菇图像的定位处理上,弥补了基于单目相机的机器人作业方式的不足。
4.技术方案:本发明1.一种基于非完整性蘑菇图像的三维空间视觉定位方法,其特征在于,包括以下步骤:
5.步骤1:固定拍摄高度h,进行相机标定,得到标定参数,所述相机包括左目相机和右目相机,标定参数包括内参矩阵n、外参旋转矩阵w与平移矩阵b;
6.步骤2:对待检测的蘑菇进行图像采集,并对所述左目相机采集的图像进行图像预处理操作;
7.步骤3:将预处理后的图像传入神经网络模型,识别出图像中的蘑菇并生成边界框,以确定蘑菇在图像中的位置;
8.步骤4:根据步骤3所生成的边界框,判断图像中各个蘑菇的完整性r,计算所测蘑菇的中心点,从而得到所测蘑菇的像素坐标,计算出蘑菇的世界坐标;
9.步骤5:采集左目相机到蘑菇的距离,计算所测蘑菇的高度,求得所测蘑菇的三维坐标;
10.步骤6:对所述右目相机采集的图像执行同样的步骤2至步骤5操作,并将右目相机采集的图像与左目相机采集的图像进行一一对应,得到与左目相机所采集的图像中蘑菇的中心点坐标ow的对应点ok,将ok用来微调ow的坐标可得到最终的三维坐标of:
11.2.根据权利要求1所述的基于非完整性蘑菇图像的三维空间视觉定位方法,其特征在于,所述步骤2中预处理操作为:采用缩放、旋转,再进行图像增强,并获得用于网络训练的图像数据集合。
12.3.根据权利要求1所述的基于非完整性蘑菇图像的三维空间视觉定位方法,其特征在于,所述步骤3中使用的神经网络模型为yolov3网络模型,其对预处理后的图像进行识别和定位,生成图像中各个蘑菇的边界框。
13.4.根据权利要求1所述的基于非完整性蘑菇图像的三维空间视觉定位方法,其特征在于,所述步骤4中计算所测蘑菇中心点的具体步骤如下:
14.步骤4.1:根据边界框的宽ew与边界框的高eh,计算采集图像中蘑菇的完整性
15.步骤4.2:记左目相机采集的图像中完整性r低于0.25或高于4的蘑菇图像为伪目标,并将伪目标移除;
16.步骤4.3:分别将图像中的蘑菇和土壤作为图像的前景对象与背景对象,使用聚类算法k-means将图像中的像素点分类为两个簇,将采集图像中的蘑菇图像从土壤图像中分离出来;
17.步骤4.4:对分离出来的蘑菇图像进行像素级的轮廓检测,并使用先验圆拟合蘑菇图像的轮廓,获得完整的蘑菇图像的轮廓;
18.步骤4.5:当采集图像中蘑菇的完整性r为1或处于(0.5,2)区间时,在蘑菇图像区域q
ij
内进行搜索中心点o
l
,o
l
=argmax{q
ij
};其中,i为搜索的行数,j为搜索的列数;否则,转步骤4.4;
19.步骤4.6:当采集图像中蘑菇完整性r处于(0.25,0.5)u(2,4)区间时计算对应的中心点。
20.5.根据权利要求4所述的基于非完整性蘑菇图像的三维空间视觉定位方法,其特征在于,所述步骤4.4中根据计算所得轮廓边缘确定蘑菇图像的轮廓包括如下步骤:
21.步骤4.4.1:将前景区域与边缘检测滤波器进行运算,提取采集图像中蘑菇的像素级轮廓边缘;
22.步骤4.4.2:根据所得轮廓边缘的每个像素作为锚点,并假设这些锚点是蘑菇的先验圆中的点,使得每个锚点对应一个先验圆;
23.步骤4.4.3:计算先验圆的像素数,选取各个先验圆中共有蘑菇图像区域最大的先验圆作为蘑菇图像的轮廓。
24.6.根据权利要求5所述的基于非完整性蘑菇图像的三维空间视觉定位方法,其特征在于,所述步骤4.6中完整性处于(0.25,0.5)u(2,4)区间具有非完整性蘑菇图像中心点的计算方法包括如下步骤:
25.步骤4.6.1:若蘑菇图像的完整性处于(0.25,0.5)u(2,4)区间中,则将左目相机采集的图像采用纯白色对宽和高各填充一定的像素值p,p的范围为(25,100),以填充后的图片左上角为原点建立像素坐标系;
26.步骤4.6.2:在获取的蘑菇图像的轮廓边缘上任取四个锚点坐标a(a
x
,ay)、b(b
x
,by)、c(c
x
,cy)、d(d
x
,dy)分别可得a(a
x
,ay)、b(b
x
,by)与c(c
x
,cy)、d(d
x
,dy)的垂直平分线l1与l2计算可得两线交点o
l
(o
lx
,o
ly
),即蘑菇图像中心点的像素坐标,其中:
27.[0028][0029][0030][0031]
其中,x1为l1所经过点的横坐标,,y1为l1所经过点的纵坐标,x2为l2所经过点的横坐标,,y2为l2所经过点的纵坐标;
[0032]
步骤4.6.3:根据测得相机与蘑菇间的垂直距离h,进而计算可得蘑菇的高度o
wz

[0033]owz
=h-h
[0034]
其中,h是固定的拍摄高度;
[0035]
步骤4.6.4:通过计算可将所得中心点的像素坐标o
l
,转化为世界三维坐标ow:
[0036]ow
=w-1
n-1
tzo
l
+w-1b[0037]
其中,tz为相机坐标系下光心到蘑菇的距离:o
wz
为蘑菇的高度。
[0038]
本发明还公开一种基于非完整性蘑菇图像的三维空间视觉定位系统,包括图像采集模块、测距模块、主控模块;
[0039]
所述图像采集模块用于采集待检测蘑菇的图像信息;包括左目相机和右目相机,所述左目相机和右目相机对同一蘑菇对象共同采集图像数据,并一一对应进行微调;
[0040]
所述测距模块用于测量所述图像采集模块与待检测蘑菇的距离;
[0041]
所述主控模块包括图像预处理单元、目标检测单元、完整性检测单元、坐标生成单元:
[0042]
所述图像预处理单元用于对采集的图像进行预处理;
[0043]
所述目标检测单元用于对预处理后图像中的蘑菇进行识别和定位;
[0044]
所述完整性检测单元用于检测采集图像中蘑菇的完整性;
[0045]
所述坐标生成单元用于生成所测蘑菇的三维坐标。
[0046]
优选地,所述主控模块的图像预处理单元、目标检测单元、完整性检测单元、坐标生成单元的具体操作为:
[0047]
所述图像预处理单元用于对采集图像采用缩放、旋转,再进行图像增强,并获得用于网络训练的图像数据集合;
[0048]
所述目标检测单元用于对预处理后图像中的蘑菇对象进行识别和定位,将图像传入神经网络模型,识别出图像中的蘑菇并生成边界框,以确定蘑菇在图像中的位置;
[0049]
所述完整性检测单元用于检测判断所采集图像中蘑菇的完整性,当完整性r低于0.25或高于4的蘑菇图像作为伪目标移除;对于完整性r处于(0.5,2)区间以及完整性为1的蘑菇图像在蘑菇轮廓内搜索中心点;当所测图像中蘑菇完整性r处于(0.25,0.5)u(2,4)区间,计算非完整性蘑菇图像的中心点;所述坐标生成单元用于将所测蘑菇中心点的像素坐标进行转换,并根据测距模块所测的图像采集模块到蘑菇的垂直距离,计算出蘑菇的高度,获得所测蘑菇的三维坐标。
[0050]
优选地,所述测距模块包括激光测距传感器,用于测量图像采集模块所到蘑菇的
垂直距离以此计算出所测蘑菇的高度。
[0051]
本发明还公开一种基于非完整性蘑菇图像的三维空间视觉定位装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述的基于非完整性蘑菇图像的三维空间视觉定位方法的步骤。
[0052]
有益效果:
[0053]
1、本发明的技术方案解决图像采集不完整的蘑菇的定位问题与由于遮挡所造成的所测蘑菇中心点的偏移问题。本发明通过一种基于非完整性蘑菇图像的三维空间视觉定位方法、系统及装置可以实现对图像采集不完整的蘑菇进行定位以及进一步提高对蘑菇的定位精度。
[0054]
2、本发明虽然由于拍摄导致图像不完整或者蘑菇间的遮挡、蘑菇沾上土壤的图像在使用聚类算法时不能得到蘑菇完整的轮廓,但是本发明使用先验圆去拟合蘑菇图像的轮廓,可以使蘑菇获得完整的轮廓,然后我们在轮廓上面取点来计算蘑菇中心点的位置,最后将其转换为三维坐标,利用三维坐标进行定位,其定位精度得到大大提高。
附图说明
[0055]
图1为本发明基于非完整性蘑菇图像的三维空间视觉定位方法流程示意图;
[0056]
图2为本发明基于非完整性蘑菇图像的三维空间视觉定位系统的结构组成框图;
[0057]
图3为本发明实施例提供的边缘检测滤波器的示意图;
[0058]
图4为本发明实施例提供的计算具有非完整性蘑菇图像中心点的原理示意图。
具体实施方式
[0059]
以下结合附图对本发明实施例做进一步详细阐述,但应当理解本发明的保护范围并不受具体实施方式的限制。
[0060]
下面参考图1详细描述本发明提出的一种基于非完整性蘑菇图像的三维空间视觉定位方法。以双孢菇为例进行论述,本发明公开的一种基于非完整性蘑菇图像的三维空间视觉定位系统结构框图参见附图2,该定位系统主要包括:
[0061]
图像采集模块、测距模块、主控模块;
[0062]
图像采集模块用于采集待检测蘑菇的图像信息;包括左目相机1-1和右目相机1-2,左目相机1-1和右目相机1-2对同一蘑菇对象共同采集图像数据,并一一对应进行微调;
[0063]
测距模块用于测量图像采集模块与待检测蘑菇的距离;测距模块包括激光测距传感器2-1,用于测量图像采集模块距所到蘑菇的垂直距离以此计算出所测蘑菇的高度。
[0064]
主控模块包括图像预处理单元3-1、目标检测单元3-2、完整性检测单元3-3、坐标生成单元3-4:
[0065]
图像预处理单元3-1用于对采集的图像进行预处理;包括对采集图像采用缩放、旋转,再进行图像增强,并获得用于网络训练的图像数据集合。
[0066]
目标检测单元3-2用于对预处理后图像中的蘑菇进行识别和定位;将图像传入神经网络模型,识别出图像中的蘑菇并生成边界框,以确定蘑菇在图像中的位。
[0067]
完整性检测单元3-3用于检测采集图像中蘑菇的完整性;当完整性r低于0.25或高
于4的蘑菇图像作为伪目标移除;对于完整性r处于(0.5,2)区间以及完整性为1的蘑菇图像在蘑菇轮廓内搜索中心点;当所测图像中蘑菇完整性r处于(0.25,0.5)u(2,4)区间,计算非完整性蘑菇图像的中心点。
[0068]
坐标生成单元3-4用于生成所测蘑菇的三维坐标,用于将所测蘑菇中心点的像素坐标进行转换,并根据测距模块所测的图像采集模块到蘑菇的垂直距离,计算出蘑菇的高度,获得所测蘑菇的三维坐标。
[0069]
如图1所示,本实施例公开的方法包括如下步骤:
[0070]
步骤1、首先,固定图像采集模块的拍摄高度h,并打印一张棋盘格将其作为标定物,对图像采集模块进行相机标定,计算相机的内参矩阵n与外参旋转矩阵w与平移矩阵b。
[0071]
步骤2、采用图像采集模块对待检测的双孢菇进行图像采集,并对图像采集模块中左目相机采集的图像交由主控模块的图像处理单元进行缩放、旋转,再进行图像增强以完成图像的预处理。
[0072]
步骤3、将预处理后的图像传入神经网络模型,本实施例以yol0v3为例对预处理后的图像进行识别和定位,以此识别出图像中的双孢菇并生成边界框来确定双孢菇在图像中的位置。
[0073]
步骤4、根据所生成的边界框,判断图像中各个双孢菇的完整性r,计算所测双孢菇的中心点,从而得到所测双孢菇的像素坐标,进而可计算出双孢菇的世界坐标。
[0074]
步骤4.1:根据边界框的宽ew与边界框的高eh,计算采集图像中双孢菇的完整性r:
[0075]
步骤4.2:记左目相机采集图像中完整性r低于0.25或高于4的双孢菇图像为伪目标,并将伪目标移除。
[0076]
步骤4.3:分别将图像中的双孢菇和土壤作为图像的前景对象与背景对象,使用聚类算法以k-means为例将图像中的像素点分类为两个簇,以此把采集图像中的双孢菇图像从土壤图像中分离出来。
[0077]
步骤4.4:对分离出来的双孢菇图像进行像素级的轮廓检测,并使用先验圆去拟合双孢菇图像的轮廓,以此获得完整的双孢菇图像的轮廓,减小由于双孢菇间的遮挡以及土壤对双孢菇的遮挡所带来的影响。
[0078]
步骤4.4.1:将前景区域与如图3所示的边缘检测滤波器进行运算,来提取采集图像中双孢菇的像素级轮廓边缘。
[0079]
步骤4.4.2:根据所得轮廓边缘的每个像素作为锚点,并假设这些锚点是双孢菇的先验圆中的点,使得每个锚点对应一个先验圆。
[0080]
步骤4.4.3:计算先验圆的像素数,选取各个先验圆中共有双孢菇图像区域最大的先验圆作为双孢菇图像的轮廓。
[0081]
步骤4.5:当采集图像中双孢菇的完整性为1或处于(0.5,2)区间时,在双孢菇图像区域q
ij
内进行搜索中心点o
l
=argmax{q
ij
},其中,i为搜索的行数,j为搜索的列数。否则,转步骤4.4。
[0082]
步骤4.6:当采集图像中双孢菇完整性处于(0.25,0.5)u(2,4)区间时计算对应的中心点。
[0083]
其中,步骤4.6中完整性处于(0.25,0.5)u(2,4)区间具有非完整性蘑菇图像中心点的计算方法包括如下步骤:
[0084]
步骤4.6.1:若双孢菇图像的完整性处于(0.25,0.5)u(2,4)区间中,则如图4所示将左目相机采集的图像采用纯白色对宽和高各填充一定的像素值p,p的范围为(25,100),以填充像素为25为例进行说明,并以填充后的图片左上角为原点建立像素坐标系。
[0085]
步骤4.6.2:如图4所示在轮廓边缘任取四个锚点坐标a(a
x
,ay)、b(b
x
,by)、c(c
x
,cy)、d(d
x
,dy)分别可得a(a
x
,ay)、b(b
x
,by)与c(c
x
,cy)、d(d
x
,dy)的垂直平分线l1与l2计算可得两线交点o
l
(o
lx
,o
ly
),即双孢菇图像中心点的像素坐标。
[0086]
其中,
[0087][0088][0089][0090][0091]
其中,x1为l1所经过点的横坐标,,y1为l1所经过点的纵坐标,x2为l2所经过点的横坐标,y2为l2所经过点的纵坐标。
[0092]
步骤4.6.3:根据测距模块可以测得图像采集模块与双孢菇间的垂直距离h,进而计算可得双孢菇的高度o
wz

[0093]owz
=h-h
[0094]
其中,h是固定的拍摄高度;
[0095]
步骤4.6.4:通过计算可将所得中心点的像素坐标o
l
,转化为世界三维坐标ow:
[0096]ow
=w-1
n-1
tzo
l
+w-1b[0097]
其中,tz为相机坐标系下光心到双孢菇的距离:
[0098][0099]
步骤5、根据测距模块的激光测距传感器测量图像采集模块中左目相机到双孢菇的距离,计算出所测双孢菇的高度,进而求得所测双孢菇的三维坐标。
[0100]
步骤6、对图像采集模块中右目相机采集的图像执行同样的步骤2至步骤5,并将采集图像与左目相机所采集的图像进行一一对应,可得与左目相机所采集图像中双孢菇的中心点坐标ow的对应点ok,将ok用来微调ow的坐标可得到最终的三维坐标of:
[0101]
上述实施方式只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所做的等效变换或修饰,都应涵盖在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1