CN104992448B - 机器人防损伤采摘葡萄的自动定位方法 - Google Patents
机器人防损伤采摘葡萄的自动定位方法 Download PDFInfo
- Publication number
- CN104992448B CN104992448B CN201510460276.2A CN201510460276A CN104992448B CN 104992448 B CN104992448 B CN 104992448B CN 201510460276 A CN201510460276 A CN 201510460276A CN 104992448 B CN104992448 B CN 104992448B
- Authority
- CN
- China
- Prior art keywords
- mrow
- msub
- grape
- image
- mfrac
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
- G06T2207/10012—Stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20024—Filtering details
- G06T2207/20032—Median filtering
Landscapes
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种机器人防损伤采摘葡萄的自动定位方法,包括以下步骤:左右摄像机对葡萄进行图像采集,得到的葡萄珠圆心和摘切点的平面坐标,通过计算得到葡萄珠圆心和摘切点的三维空间坐标。求解葡萄珠圆心的三维空间坐标到葡萄簇中心轴Y的距离,在每个步长内,对距离Y轴最远的葡萄珠轮廓进行拟合,得到最大的葡萄簇截面轮廓,将葡萄簇截面轮廓绕Y轴旋转360°,得到葡萄簇三维空间域,在躲避葡萄簇三维空间域的前提下,机器人的机械手由当前位置运动至所述摘切点的三维空间坐标对应位置,进行采摘。该方法可以精确定位摘切点,并且防止机械手在采摘过程中损伤葡萄珠。
Description
技术领域
本发明涉及智能机器人领域,特别是涉及一种机器人防损伤采摘葡萄的自动定位方法。
背景技术
葡萄营养价值非常高,被贮存一段时间后就会发出酒味,所以,通常用来酿酒。在酿造葡萄酒的过程中,最耗费时间和人力的便是葡萄的采摘,因此,研究自动化程度高的采摘葡萄机器人对葡萄酒酿造工业至关重要。
目前,许多研究方法聚焦在葡萄的图像分割、颗粒个数统计和产量预估等方面,而针对定位葡萄切割点和葡萄簇的三维空间域的方法较少。传统方法利用点云反求葡萄簇三维空间域,点云的立体匹配需要花费大量时间。另外,葡萄簇轮廓的不规则和葡萄生长环境的干扰会使葡萄采摘机器人难以精确定位葡萄的摘切点。并且,在采摘过程中,由于葡萄皮薄肉嫩,机器人的机械手很容易与葡萄珠发生碰撞而使其受到机械损伤。因此,研究一种可以使机器人防损伤采摘葡萄的自动定位方法具有重要意义。
发明内容
本发明的目的是提供一种机器人防损伤采摘葡萄的自动定位方法。
因此,本发明的技术方案为:
一种机器人防损伤采摘葡萄的自动定位方法,包括以下步骤:
(1)对机器人的左右摄像机进行标定,然后通过所述左右摄像机采集葡萄的图像,得到RGB彩色图像A和B,分别对所述图像A和B进行校正后,得到图像C和D;
(2)将所述图像C转化为颜色空间图像,提取所述颜色空间图像的分量,得到分量图,对所述分量图进行中值滤波,得到图像E;
(3)对所述图像E进行阈值分割,得到二值图像,对所述二值图像进行形态学腐蚀和膨胀运算,得到形态学去噪后的图像G;
(4)提取所述图像G的最大连通区域,求解所述最大连通区域的重心(xc,yc)、轮廓极值点和轮廓最大左右长度,确定葡萄果梗感兴趣矩形区域,对所述葡萄果梗感兴趣矩形区域进行边缘提取,得到葡萄果梗感兴趣矩形区域边缘的二值图像,对所述葡萄果梗感兴趣矩形区域边缘的二值图像进行霍夫直线检测,得到线段,求解所述最大连通区域的重心到所述线段的距离Dm,其中m=1,2,3……N,确定距离最小的所述线段的中点为摘切点平面坐标(xl,yl);
(5)根据步骤(4)中所述的最大连通区域的重心、轮廓极值点和轮廓最大左右长度,得到葡萄簇轮廓外接矩形区域,对所述葡萄簇轮廓外接矩形区域进行边缘提取,得到葡萄簇轮廓外接矩形区域边缘的二值图像,对所述葡萄簇轮廓外接矩形区域边缘的二值图像进行霍夫圆检测,得到多个葡萄珠圆心平面坐标(xclm,yclm)和半径rm,其中m=1,2,3……N;
(6)对图像C中所述摘切点平面坐标(xl,yl)在图像D中进行立体匹配,得到所述图像D中的摘切点平面坐标(xr,yr)及所述图像C和图像D中摘切点的视差dc,将所述摘切点平面坐标(xl,yl)和(xr,yr)转换为三维空间坐标(Xc,Yc,Zc);对图像C中所述葡萄珠圆心平面坐标(xclm,yclm)在图像D中进行立体匹配,得到所述图像D中的葡萄珠圆心平面坐标(xcrm,ycrm)及所述图像C和图像D中葡萄珠圆心的视差dm,将所述葡萄珠圆心平面坐标(xclm,yclm)和(xcrm,ycrm)转换为三维空间坐标(xm,ym,zm),其中m=1,2,3……N;
(7)根据步骤(5)中所述葡萄珠圆心的三维空间坐标的对应位置,求解全部所述葡萄珠圆心的三维空间坐标(xm,ym,zm)到葡萄簇中心轴Y轴的距离Lm,根据步骤(5)中所述葡萄珠半径rm确定葡萄珠直径,以葡萄珠直径最大值的1.5倍为步长,在每个所述步长内,对距离Y轴最远的葡萄珠轮廓进行拟合,得到最大的葡萄簇截面轮廓,将所述葡萄簇截面轮廓绕Y轴旋转360°,得到葡萄簇三维空间域;
(8)在躲避步骤(7)中所述葡萄簇三维空间域的前提下,机器人的机械手由当前位置运动至所述摘切点的三维空间坐标对应位置,进行采摘。
优选的是,在步骤(2)中如将所述图像C转化为HSI颜色空间图像,则提取所述HSI颜色空间图像的H分量;如将所述图像C转化为YCbCr颜色空间图像,则提取所述YCbCr颜色空间图像的Cr分量。
优选的是,运用大津法对步骤(3)中所述图像E进行阈值分割。
优选的是,通过公式(1)求解步骤(4)中所述的最大连通区域的重心:
式中,(xc,yc)是所述最大连通区域的重心平面坐标,f(x,y)是步骤(3)中所述二值图像中的点(x,y)的像素值。
优选的是,步骤(4)中所述葡萄果梗感兴趣矩形区域的长度为0.6Lmax,高度H为0.5|yc-yt|,中心坐标为(xc,yt-0.5H),其中,Lmax为轮廓最大左右长度,yt是葡萄簇轮廓的最高点的Y轴坐标。
优选的是,在步骤(4)和(5)中,利用Canny算子进行边缘提取。
优选的是,通过公式(2)求解步骤(4)中所述最大连通区域的重心到所述线段的距离Dm:
式中,Pm1(xm1,ym1)和Pm2(xm2,ym2)(m=1,2,3……N)为所述线段的端点的平面坐标。
优选的是,步骤(6)中,用以下方法对图像C中平面坐标在图像D中进行立体匹配:
1)以所述图像C中的点(x,y)为中心定义一个边长为n的正方形窗口,以所述图像D中的点(x-d,y)为中心定义一个边长为n的正方形窗口;
2)通过公式(3)求解相似度值NCC(d)最大值所对应的视差d:
式中,I1(x+i,y+j)指所述图像C中点(x+i,y+j)的灰度值,指所述图像C中以点(x,y)为中心定义的正方形窗口的灰度值的平均值,I2(x+i-d,y+j)指所述图像D中点(x+i-d,y+j)的灰度值,指所述图像D中以点(x-d,y)为中心定义一个边长为n的正方形窗口灰度值平均值;
3)得到图像D中的平面坐标(x-d,y)。
优选的是,在步骤(6)中,利用三角测量原理将平面坐标转换为三维空间坐标,包括以下步骤:
公式(4)中,(X,Y,Z)为所求三维空间坐标,(x,y)为图像C中的平面坐标,d为图像C中的平面坐标(x,y)在步骤(6)中所得视差,f为所述左右摄像机的焦距,B为所述左右摄像机的基线距离。
优选的是,利用公式(5)求解步骤(7)中所述葡萄珠圆心的三维空间坐标(xm,ym,zm)到Y轴的距离Lm,其中,m=1,2,3……N:
本发明基于双目立体视觉系统,首先通过求解葡萄采摘点和葡萄珠圆心点的平面像素坐标,再对这些点进行立体匹配和三维重建,可大大减少立体匹配和三维重建的点数,提高葡萄簇三维空间域的求解速度,快速获取葡萄簇三维空间域,从而能够精确定位摘切点,防止机械手在采摘过程中损伤葡萄珠和葡萄簇,避免损伤葡萄果肉。
附图说明
图1为本发明中机器人防损伤采摘葡萄自动定位的方法流程图;
图2为本发明中采摘求解过程几何原理示意图;
图3为本发明中对葡萄珠轮廓进行拟合示意图。
具体实施方式
下面结合附图和具体实施例对本发明的自动定位方法进行详细说明。
如图1所示,一种机器人防损伤采摘葡萄的自动定位方法,包括以下步骤:
1)用标定板对机器人的左右摄像机进行标定,得到左右摄像机的内外部属性参数(如焦距、畸变参数等)。用左右摄像机(分辨率为800像素×600像素)对葡萄进行图像采集,得到RGB彩色的图像A和B,利用Bouguet算法对图像A和B分别进行校正,得到图像C和D。
2)将图像C转化为颜色空间图像,提取所述颜色空间图像的分量,得到最能突显葡萄的分量图。如机器人采摘的葡萄为夏黑葡萄,则将图像C转化为HSI颜色空间图像,提取所述HSI颜色空间图像的H分量;如机器人采摘的葡萄为红提,则将图像C转化为YCbCr颜色空间图像,提取所述YCbCr颜色空间图像的Cr分量。对所述分量图像进行中值滤波,得到图像E。
3)运用大津法对图像E进行阈值分割,得到二值图像,对二值图像进行形态学腐蚀和膨胀运算,得到形态学去噪后的图像G。
4)提取所述图像G的最大连通区域,求解最大连通区域的重心(xc,yc)、轮廓极值点和轮廓最大左右长度Lmax。其中,通过公式(1)求解最大连通区域的重心的平面坐标:
式中,f(x,y)是最大联通区域内的点(x,y)的像素值。
根据最大连通区域的重心(xc,yc)、轮廓极值点和轮廓最大左右长度Lmax,确定葡萄果梗感兴趣矩形区域。如图2所示,葡萄果梗感兴趣矩形区域的长度L为0.6Lmax,高度H为0.5|yc-yt|,中心坐标为(xc,yt-0.5H),其中,yt是通过求解轮廓点中y值最小(即位置最高)的点得到的葡萄簇轮廓最高点的Y轴坐标。
利用Canny算子对葡萄果梗感兴趣矩形区域进行边缘提取,得到葡萄果梗感兴趣矩形区域边缘的二值图像,对所述葡萄果梗感兴趣矩形区域边缘的二值图像进行霍夫直线检测,检测出区域中所有满足最大投票数的线段,记录所有线段端点的平面坐标Pm1(xm1,ym1)和Pm2(xm2,ym2)(m=1,2,3……N),用公式(2)表示所述线段(m=1,2,3……N):
通过公式(3)求解所有线段到最大连通区域的重心(xc,yc)的距离Dm(m=1,2,3……N):
确定Dm最小的所述线段的中点为摘切点(xl,yl)。
5)根据最大连通区域的重心、轮廓极值点和轮廓最大左右长度,得到葡萄簇轮廓外接矩形区域,利用Canny算子对所述葡萄簇轮廓外接矩形区域进行边缘提取,得到葡萄簇轮廓外接矩形区域边缘的二值图像,对所述葡萄簇轮廓外接矩形区域边缘的二值图像进行霍夫圆检测,得到多个葡萄珠圆心平面坐标(xclm,yclm)和半径rm(m=1,2,3……N)。
6)对图像C中摘切点平面坐标(xl,yl)在图像D中进行立体匹配,以图像C中的点(xl,yl)为中心定义一个边长为n的正方形窗口,以图像D中的点(xl-dc,yl)为中心定义一个边长为n的正方形窗口。检测正方形窗口灰度值的平均值和点的灰度值并代入公式(4),求解相似度值NCC(dc)最大值所对应的视差dc:
式中,I1(xl+i,yl+j)指所述图像C中点(xl+i,yl+j)的灰度值,指所述图像C中以点(xl,yl)为中心定义的正方形窗口灰度值的平均值,I2(xl+i-dc,yl+j)指图像D中点(xl+i-dc,yl+j)的灰度值,指图像D中以点(xl-dc,yl)为中心定义一个边长为n的正方形窗口灰度值的平均值。根据dc=xl-xr,得到(xr,yr)平面坐标,即(xl-dc,yl)。
将平面坐标(xl,yl)和dc代入公式(5),求解葡萄摘切点的三维空间坐标(Xc,Yc,Zc)。
式中,dc=xl-xr,f为左右摄像机的焦距,B为左右摄像机的基线距离。
对图像C中平面坐标(xclm,yclm)在图像D中进行立体匹配,以(xclm,yclm)为中心定义一个边长为n的正方形窗口,以图像D中的点(xclm-dm,yclm)为中心定义一个边长为n的正方形窗口。检测正方形窗口灰度值的平均值和点的灰度值并代入公式(6),通过公式(6)求解相似度值NCC(dm)最大值所对应的视差dm(m=1,2,3……N):
式中,I1(xclm+i,yclm+j)指所述图像C中点(xclm+i,yclm+j)的灰度值,指所述图像C中以点(xclm,yclm)为中心定义的正方形窗口灰度值的平均值,I2(xclm+i-dm,yclm+j)指图像D中的点(xclm+i-dm,yclm+j)的灰度值,指在图像D中以点(xclm-d,yclm)为中心定义的正方形窗口灰度值的平均值。
根据d=xclm-xcrm,得到平面坐标(xcrm,ycrm)(m=1,2,3……N),即为(xclm-dm,yclm)。
将平面坐标(xclm,yclm)和dm(m=1,2,3……N)代入公式(7),求解葡萄珠圆心的三维空间坐标(xm,ym,zm)(m=1,2,3……N)。
式中,dm=xclm-xcrm,f为左右摄像机的焦距,B为左右摄像机的基线距离。
7)将(xm,ym,zm)(m=1,2,3……N)分别代入公式(8),求解所述葡萄珠圆心的三维空间坐标到所述葡萄簇中心轴Y轴的距离Lm(m=1,2,3……N):
根据步骤(5)中所述葡萄珠半径rm确定葡萄珠最大的直径dmax,如图3所示,以dmax的1.5倍为步长,在每个步长内,对距离Y轴最远的葡萄珠轮廓进行拟合,得到最大的葡萄簇截面轮廓。
将所述葡萄簇截面轮廓绕Y轴旋转360°,得到葡萄簇三维空间域,其中,用公式(9)表示所述葡萄簇空间域
式中,(L0,y0)为最上方的葡萄珠圆心在坐标系中的坐标,(LN,yN)为最下方的葡萄珠圆心在坐标系中的坐标,(Lj,yj)(j=1,2…N-1)表示第j个单位步长空间内距离中心轴Y轴最远的葡萄珠圆心在坐标系中的坐标。
8)在躲避所述葡萄三维空间域的前提下,机器人的机械手由当前位置运动至所述摘切点的三维空间坐标对应位置,进行采摘。
Claims (9)
1.一种机器人防损伤采摘葡萄的自动定位方法,其特征在于,包括以下步骤:
(1)对机器人的左右摄像机进行标定,然后通过所述左右摄像机采集葡萄的图像,得到RGB彩色图像A和B,分别对所述图像A和B进行校正后,得到图像C和D;
(2)将所述图像C转化为颜色空间图像,提取所述颜色空间图像的分量,得到分量图,对所述分量图进行中值滤波,得到图像E;
(3)对所述图像E进行阈值分割,得到二值图像,对所述二值图像进行形态学腐蚀和膨胀运算,得到形态学去噪后的图像G;
(4)提取所述图像G的最大连通区域,求解所述最大连通区域的重心(xc,yc)、轮廓极值点和轮廓最大左右长度,确定葡萄果梗感兴趣矩形区域,对所述葡萄果梗感兴趣矩形区域进行边缘提取,得到葡萄果梗感兴趣矩形区域边缘的二值图像,对所述葡萄果梗感兴趣矩形区域边缘的二值图像进行霍夫直线检测,得到线段,求解所述最大连通区域的重心到所述线段的距离Dm,其中m=1,2,3……N,确定距离最小的所述线段的中点为摘切点平面坐标(xl,yl);
(5)根据步骤(4)中所述的最大连通区域的重心、轮廓极值点和轮廓最大左右长度,得到葡萄簇轮廓外接矩形区域,对所述葡萄簇轮廓外接矩形区域进行边缘提取,得到葡萄簇轮廓外接矩形区域边缘的二值图像,对所述葡萄簇轮廓外接矩形区域边缘的二值图像进行霍夫圆检测,得到多个葡萄珠圆心平面坐标(xclm,yclm)和半径rm,其中m=1,2,3……N;
(6)对图像C中所述摘切点平面坐标(xl,yl)在图像D中进行立体匹配,得到所述图像D中的摘切点平面坐标(xr,yr)及所述图像C和图像D中摘切点的视差dc,将所述摘切点平面坐标(xl,yl)和(xr,yr)转换为三维空间坐标(Xc,Yc,Zc);对图像C中所述葡萄珠圆心平面坐标(xclm,yclm)在图像D中进行立体匹配,得到所述图像D中的葡萄珠圆心平面坐标(xcrm,ycrm)及所述图像C和图像D中葡萄珠圆心的视差dm,将所述葡萄珠圆心平面坐标(xclm,yclm)和(xcrm,ycrm)转换为三维空间坐标(xm,ym,zm),其中m=1,2,3……N;
(7)根据步骤(5)中所述葡萄珠圆心的三维空间坐标的对应位置,求解全部所述葡萄珠圆心的三维空间坐标(xm,ym,zm)到葡萄簇中心轴Y轴的距离Lm,根据步骤(5)中所述葡萄珠半径rm确定葡萄珠直径,以葡萄珠直径最大值的1.5倍为步长,在每个所述步长内,对距离Y轴最远的葡萄珠轮廓进行拟合,得到最大的葡萄簇截面轮廓,将所述葡萄簇截面轮廓绕Y轴旋转360°,得到葡萄簇三维空间域;
(8)在躲避步骤(7)中所述葡萄簇三维空间域的前提下,机器人的机械手由当前位置运动至所述摘切点的三维空间坐标对应位置,进行采摘;
步骤(6)中,用以下方法对图像C中平面坐标在图像D中进行立体匹配:
1)以所述图像C中的点(x,y)为中心定义一个边长为n的正方形窗口,以所述图像D中的点(x-d,y)为中心定义一个边长为n的正方形窗口;
2)通过公式(3)求解相似度值NCC(d)最大值所对应的视差d:
<mrow>
<mi>N</mi>
<mi>C</mi>
<mi>C</mi>
<mrow>
<mo>(</mo>
<mi>d</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mn>1</mn>
<msup>
<mrow>
<mo>(</mo>
<mn>2</mn>
<mi>n</mi>
<mo>+</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
</mfrac>
<mfrac>
<mrow>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>j</mi>
<mo>=</mo>
<mo>-</mo>
<mi>n</mi>
</mrow>
<mi>n</mi>
</munderover>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mo>-</mo>
<mi>n</mi>
</mrow>
<mi>n</mi>
</munderover>
<mo>&lsqb;</mo>
<msub>
<mi>I</mi>
<mn>1</mn>
</msub>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>+</mo>
<mi>i</mi>
<mo>,</mo>
<mi>y</mi>
<mo>+</mo>
<mi>j</mi>
<mo>)</mo>
</mrow>
<mo>-</mo>
<msub>
<mover>
<mi>I</mi>
<mo>&OverBar;</mo>
</mover>
<mn>1</mn>
</msub>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>,</mo>
<mi>y</mi>
<mo>)</mo>
</mrow>
<mo>&rsqb;</mo>
<mo>&lsqb;</mo>
<msub>
<mi>I</mi>
<mn>2</mn>
</msub>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>+</mo>
<mi>i</mi>
<mo>-</mo>
<mi>d</mi>
<mo>,</mo>
<mi>y</mi>
<mo>+</mo>
<mi>j</mi>
<mo>)</mo>
</mrow>
<mo>-</mo>
<msub>
<mover>
<mi>I</mi>
<mo>&OverBar;</mo>
</mover>
<mn>2</mn>
</msub>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>-</mo>
<mi>d</mi>
<mo>,</mo>
<mi>y</mi>
<mo>)</mo>
</mrow>
<mo>&rsqb;</mo>
</mrow>
<mrow>
<msqrt>
<mrow>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>j</mi>
<mo>=</mo>
<mo>-</mo>
<mi>n</mi>
</mrow>
<mi>n</mi>
</munderover>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mo>-</mo>
<mi>n</mi>
</mrow>
<mi>n</mi>
</munderover>
<msup>
<mrow>
<mo>&lsqb;</mo>
<msub>
<mi>I</mi>
<mn>1</mn>
</msub>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>+</mo>
<mi>i</mi>
<mo>,</mo>
<mi>y</mi>
<mo>+</mo>
<mi>j</mi>
<mo>)</mo>
</mrow>
<mo>-</mo>
<msub>
<mover>
<mi>I</mi>
<mo>&OverBar;</mo>
</mover>
<mn>1</mn>
</msub>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>,</mo>
<mi>y</mi>
<mo>)</mo>
</mrow>
<mo>&rsqb;</mo>
</mrow>
<mn>2</mn>
</msup>
</mrow>
</msqrt>
<msqrt>
<mrow>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>j</mi>
<mo>=</mo>
<mo>-</mo>
<mi>n</mi>
</mrow>
<mi>n</mi>
</munderover>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mo>-</mo>
<mi>n</mi>
</mrow>
<mi>n</mi>
</munderover>
<msup>
<mrow>
<mo>&lsqb;</mo>
<msub>
<mi>I</mi>
<mn>2</mn>
</msub>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>+</mo>
<mi>i</mi>
<mo>-</mo>
<mi>d</mi>
<mo>,</mo>
<mi>y</mi>
<mo>+</mo>
<mi>j</mi>
<mo>)</mo>
</mrow>
<mo>-</mo>
<msub>
<mover>
<mi>I</mi>
<mo>&OverBar;</mo>
</mover>
<mn>2</mn>
</msub>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>-</mo>
<mi>d</mi>
<mo>,</mo>
<mi>y</mi>
<mo>)</mo>
</mrow>
<mo>&rsqb;</mo>
</mrow>
<mn>2</mn>
</msup>
</mrow>
</msqrt>
</mrow>
</mfrac>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>3</mn>
<mo>)</mo>
</mrow>
</mrow>
式中,I1(x+i,y+j)指所述图像C中点(x+i,y+j)的灰度值,指所述图像C中以点(x,y)为中心定义的正方形窗口的灰度值的平均值,I2(x+i-d,y+j)指所述图像D中点(x+i-d,y+j)的灰度值,指所述图像D中以点(x-d,y)为中心定义一个边长为n的正方形窗口灰度值平均值;
3)得到图像D中的平面坐标(x-d,y)。
2.根据权利要求1所述的自动定位方法,其特征在于,在步骤(2)中如将所述图像C转化为HSI颜色空间图像,则提取所述HSI颜色空间图像的H分量;如将所述图像C转化为YCbCr颜色空间图像,则提取所述YCbCr颜色空间图像的Cr分量。
3.根据权利要求1所述的自动定位方法,其特征在于,运用大津法对步骤(3)中所述图像E进行阈值分割。
4.根据权利要求1所述的自动定位方法,其特征在于,通过公式(1)求解步骤(4)中所述的最大连通区域的重心:
<mrow>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>x</mi>
<mi>c</mi>
</msub>
<mo>=</mo>
<mi>&Sigma;</mi>
<mi>x</mi>
<mi>f</mi>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>,</mo>
<mi>y</mi>
<mo>)</mo>
</mrow>
<mo>/</mo>
<mi>&Sigma;</mi>
<mi>f</mi>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>,</mo>
<mi>y</mi>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>y</mi>
<mi>c</mi>
</msub>
<mo>=</mo>
<mi>&Sigma;</mi>
<mi>y</mi>
<mi>f</mi>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>,</mo>
<mi>y</mi>
<mo>)</mo>
</mrow>
<mo>/</mo>
<mi>&Sigma;</mi>
<mi>f</mi>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>,</mo>
<mi>y</mi>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</mrow>
式中,(xc,yc)是所述最大连通区域的重心平面坐标,f(x,y)是步骤(3)中所述二值图像中的点(x,y)的像素值。
5.根据权利要求1所述的自动定位方法,其特征在于,步骤(4)中所述葡萄果梗感兴趣矩形区域的长度为0.6Lmax,高度H为0.5|yc-yt|,中心坐标为(xc,yt-0.5H),其中,Lmax为轮廓最大左右长度,yt是葡萄簇轮廓的最高点的Y轴坐标。
6.根据权利要求1所述的自动定位方法,其特征在于,在步骤(4)和(5)中,利用Canny算子进行边缘提取。
7.根据权利要求1所述的自动定位方法,其特征在于,通过公式(2)求解步骤(4)中所述最大连通区域的重心到所述线段的距离Dm:
<mrow>
<msub>
<mi>D</mi>
<mi>m</mi>
</msub>
<mo>=</mo>
<mfrac>
<mrow>
<mo>|</mo>
<mfrac>
<mrow>
<msub>
<mi>y</mi>
<mrow>
<mi>m</mi>
<mn>1</mn>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>y</mi>
<mrow>
<mi>m</mi>
<mn>2</mn>
</mrow>
</msub>
</mrow>
<mrow>
<msub>
<mi>x</mi>
<mrow>
<mi>m</mi>
<mn>1</mn>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>x</mi>
<mrow>
<mi>m</mi>
<mn>2</mn>
</mrow>
</msub>
</mrow>
</mfrac>
<msub>
<mi>x</mi>
<mi>c</mi>
</msub>
<mo>+</mo>
<mfrac>
<mrow>
<msub>
<mi>x</mi>
<mrow>
<mi>m</mi>
<mn>1</mn>
</mrow>
</msub>
<msub>
<mi>y</mi>
<mrow>
<mi>m</mi>
<mn>2</mn>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>x</mi>
<mrow>
<mi>m</mi>
<mn>2</mn>
</mrow>
</msub>
<msub>
<mi>y</mi>
<mrow>
<mi>m</mi>
<mn>1</mn>
</mrow>
</msub>
</mrow>
<mrow>
<msub>
<mi>x</mi>
<mrow>
<mi>m</mi>
<mn>1</mn>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>x</mi>
<mrow>
<mi>m</mi>
<mn>2</mn>
</mrow>
</msub>
</mrow>
</mfrac>
<mo>-</mo>
<msub>
<mi>y</mi>
<mi>c</mi>
</msub>
<mo>|</mo>
</mrow>
<msqrt>
<mrow>
<mn>1</mn>
<mo>+</mo>
<msup>
<mrow>
<mo>(</mo>
<mfrac>
<mrow>
<msub>
<mi>y</mi>
<mrow>
<mi>i</mi>
<mn>1</mn>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>y</mi>
<mrow>
<mi>i</mi>
<mn>2</mn>
</mrow>
</msub>
</mrow>
<mrow>
<msub>
<mi>x</mi>
<mrow>
<mi>i</mi>
<mn>1</mn>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>x</mi>
<mrow>
<mi>i</mi>
<mn>2</mn>
</mrow>
</msub>
</mrow>
</mfrac>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
</mrow>
</msqrt>
</mfrac>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>2</mn>
<mo>)</mo>
</mrow>
</mrow>
式中,Pm1(xm1,ym1)和Pm2(xm2,ym2)(m=1,2,3……N)为所述线段的端点的平面坐标。
8.根据权利要求1所述的自动定位方法,其特征在于,在步骤(6)中,利用三角测量原理将平面坐标转换为三维空间坐标,包括以下步骤:
<mrow>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<mi>X</mi>
<mo>=</mo>
<mfrac>
<mrow>
<mi>x</mi>
<mo>&times;</mo>
<mi>B</mi>
</mrow>
<mi>d</mi>
</mfrac>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>Y</mi>
<mo>=</mo>
<mfrac>
<mrow>
<mi>y</mi>
<mo>&times;</mo>
<mi>B</mi>
</mrow>
<mi>d</mi>
</mfrac>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>Z</mi>
<mo>=</mo>
<mfrac>
<mrow>
<mi>f</mi>
<mo>&times;</mo>
<mi>B</mi>
</mrow>
<mi>d</mi>
</mfrac>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>4</mn>
<mo>)</mo>
</mrow>
</mrow>
公式(4)中,(X,Y,Z)为所求三维空间坐标,(x,y)为图像C中的平面坐标,d为图像C中的平面坐标(x,y)在步骤(6)中所得视差,f为所述左右摄像机的焦距,B为所述左右摄像机的基线距离。
9.根据权利要求1所述的自动定位方法,其特征在于,利用公式(5)求解步骤(7)中所述葡萄珠圆心的三维空间坐标(xm,ym,zm)到Y轴的距离Lm其中,m=1,2,3……N:
<mrow>
<msub>
<mi>L</mi>
<mi>m</mi>
</msub>
<mo>=</mo>
<msqrt>
<mrow>
<msup>
<msub>
<mi>x</mi>
<mi>m</mi>
</msub>
<mn>2</mn>
</msup>
<mo>+</mo>
<msup>
<msub>
<mi>z</mi>
<mi>m</mi>
</msub>
<mn>2</mn>
</msup>
</mrow>
</msqrt>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>5</mn>
<mo>)</mo>
</mrow>
<mo>.</mo>
</mrow>
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510460276.2A CN104992448B (zh) | 2015-07-30 | 2015-07-30 | 机器人防损伤采摘葡萄的自动定位方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510460276.2A CN104992448B (zh) | 2015-07-30 | 2015-07-30 | 机器人防损伤采摘葡萄的自动定位方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104992448A CN104992448A (zh) | 2015-10-21 |
CN104992448B true CN104992448B (zh) | 2018-01-26 |
Family
ID=54304256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510460276.2A Active CN104992448B (zh) | 2015-07-30 | 2015-07-30 | 机器人防损伤采摘葡萄的自动定位方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104992448B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108805924A (zh) * | 2018-05-22 | 2018-11-13 | 湘潭大学 | 一种百合花采摘点定位方法及系统 |
CN109632007B (zh) * | 2019-01-17 | 2020-12-04 | 北京理工大学 | 一种边缘点提取方法及齿轮高精度视觉测量系统 |
CN110226413B (zh) * | 2019-06-26 | 2021-05-28 | 佛山科学技术学院 | 一种机器人采摘多串堆叠葡萄的方法 |
CN112197705A (zh) * | 2020-10-16 | 2021-01-08 | 中国农业科学院农业资源与农业区划研究所 | 一种基于视觉和激光测距的果实定位方法 |
CN112470735B (zh) * | 2020-11-11 | 2022-07-22 | 江苏大学 | 基于三维定位的规则形状苗木自动修剪装置与方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103093479A (zh) * | 2013-03-01 | 2013-05-08 | 杭州电子科技大学 | 一种基于双目视觉的目标定位方法 |
CN104050668A (zh) * | 2014-06-17 | 2014-09-17 | 安徽农业大学 | 一种基于双目视觉技术的绿茶嫩芽的目标识别方法 |
CN104637048A (zh) * | 2013-11-13 | 2015-05-20 | 沈阳新松机器人自动化股份有限公司 | 一种单摄像头模拟双目视觉系统及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101637491B1 (ko) * | 2009-12-30 | 2016-07-08 | 삼성전자주식회사 | 3차원 영상 데이터 생성 방법 및 장치 |
-
2015
- 2015-07-30 CN CN201510460276.2A patent/CN104992448B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103093479A (zh) * | 2013-03-01 | 2013-05-08 | 杭州电子科技大学 | 一种基于双目视觉的目标定位方法 |
CN104637048A (zh) * | 2013-11-13 | 2015-05-20 | 沈阳新松机器人自动化股份有限公司 | 一种单摄像头模拟双目视觉系统及方法 |
CN104050668A (zh) * | 2014-06-17 | 2014-09-17 | 安徽农业大学 | 一种基于双目视觉技术的绿茶嫩芽的目标识别方法 |
Non-Patent Citations (5)
Title |
---|
Gradient-based progressive probabilistic hough transform;Galambos C等;《IEEE Vision Image and Signal Processing》;20021231;第148卷(第3期);第158-165页 * |
Grape clusters and foliage detection algorithms for autonomous selective vineyard sprayer;Berenstein R等;《Intelligent Service Robotics》;20101231;第3卷(第4期);第233-243页 * |
Virtual manipulator-based binocular stereo vision positioning system and errors modeling;Xiangjun Zou等;《Machine Vision and Applications》;20121231;第23卷(第1期);第47-60页 * |
基于机器视觉的葡萄自动识别技术;田锐等;《东北林业大学学报》;20081231;第36卷(第11期);第95-97页 * |
自然环境下葡萄采摘机器人采摘点的自动定位;罗陆锋等;《农业工程学报》;20150131;第31卷(第2期);第15-18页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104992448A (zh) | 2015-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | Improved kiwifruit detection using pre-trained VGG16 with RGB and NIR information fusion | |
CN104992448B (zh) | 机器人防损伤采摘葡萄的自动定位方法 | |
Liu et al. | A method of segmenting apples at night based on color and position information | |
CN105718945B (zh) | 基于分水岭和神经网络的苹果采摘机器人夜间图像识别方法 | |
Zhuang et al. | Computer vision-based localisation of picking points for automatic litchi harvesting applications towards natural scenarios | |
CN107895376A (zh) | 基于改进Canny算子和轮廓面积阈值的太阳能电池板识别方法 | |
CN109145872B (zh) | 一种基于CFAR与Fast-RCNN融合的SAR图像舰船目标检测方法 | |
CN110232389B (zh) | 一种基于绿色作物特征提取不变性的立体视觉导航方法 | |
CN107038446B (zh) | 一种主动照明下基于重叠边缘检测的夜间双果重叠番茄识别方法 | |
Lv et al. | A method to obtain the near-large fruit from apple image in orchard for single-arm apple harvesting robot | |
CN104268602A (zh) | 一种基于二进制特征匹配的遮挡工件识别方法及装置 | |
CN110084302B (zh) | 一种基于遥感图像的裂缝检测方法 | |
CN111798470B (zh) | 一种应用于智能农业的农作物图像实体分割方法及系统 | |
CN110399840A (zh) | 一种快速的草坪语义分割及边界检测方法 | |
CN114331986A (zh) | 一种基于无人机视觉的坝体裂纹识别与测量方法 | |
Ouyang et al. | The research of the strawberry disease identification based on image processing and pattern recognition | |
CN114067206A (zh) | 一种基于深度图像的球形果实识别定位方法 | |
CN112861654A (zh) | 一种基于机器视觉的名优茶采摘点位置信息获取方法 | |
CN111738931A (zh) | 光伏阵列无人机航拍图像的阴影去除算法 | |
CN108734731B (zh) | 一种基于机器视觉的类圆颗粒目标计数方法 | |
CN108734054B (zh) | 无遮挡的柑橘果实图像识别方法 | |
CN107239761B (zh) | 基于骨架角点检测的果树拉枝效果评价方法 | |
CN111369497B (zh) | 一种行走式树上果实连续计数方法及装置 | |
CN113319013A (zh) | 一种基于机器视觉的苹果智能分拣的方法 | |
WO2024077979A1 (zh) | 基于改进的SOLOv2的蘑菇簇轮廓分割和重构方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20171222 Address after: 528000 Jiangwan Road, Chancheng District, Guangdong, No. 18, No. Applicant after: Foshan Science &. Technology College Address before: 300222 Dagu South Road, Jinnan District, No. 1310, No. Applicant before: Tianjin University of Technology and Education |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |