1.一种基于激光视觉系统的采摘机器人果实识别方法,其特征在于,包括以下步骤: S1:使用构建的激光视觉系统获取果树局部距离信息,利用距离值与灰度值的约定关系生成标记场景远近特征的三维图像;
S2:平滑所述三维图像,具体包括:
按初始滑动窗口的大小,采用三倍标准差原理对滑动窗口中的灰度值拟合面进行光滑度判断:
其中,vij为像素(i,j)的邻域,g(x,y)为所述三维图像中的灰度值,若满足光滑条件
3σ-test=1,则缩小滑动窗口尺寸,重复上述方法进行判断,直到滑动窗口尺寸达到预设的最小尺寸或过程中不满足光滑条件,则停止判断过程;对于滑动窗口中能拟合出光滑曲面的像素点采用高斯滤波的方法进行平滑,对于滑动窗口中不能拟合出光滑曲面的像素点采用均值滤波的方法进行平滑;
S3:采用链码跟踪技术及随机圆检测法计算所述三维图像中果实的形心坐标与半径; 具体包括:获得所述三维图像中目标轮廓的链码序列,计算链码和与链码差,根据链码和与链码差的变化规律搜索果实轮廓点的坐标范围;
任取三维图像中果实轮廓上三个点确定一个圆,获得圆心与半径;
以所述圆心和半径确定的圆为果实的轮廓,并以所述圆心为果实的形心; 或者,具体包括:
获得所述三维图像中目标轮廓的链码序列,计算链码和与链码差,根据链码和与链码差的变化规律搜索果实轮廓点的坐标范围;
任取三维图像中果实轮廓上若干点,三点为一组确定一个圆,确定若干圆; 根据预设的偏移量统计果实轮廓上像素点到圆心的距离在半径加或减偏移量范围内的个数;
选择个数最多的圆作为最终拟合果实轮廓的圆,其圆心为果实的形心,半径为类圆果实的半径。
2.如权利要求1所述的基于激光视觉系统的采摘机器人果实识别方法,其特征在于,所述步骤S1中距离值与灰度值的约定关系为:
其中,dmax、dmin、d(x,y)和g(x,y)分别是测量的距扫描点的最大距离值、最小距离值、点(x、y)的距离值和灰度值,与扫描点距离最近点的灰度值为0,距离最远点的灰度值为255,位于两者之间点的灰度值按上式转换形成标记场景远近特征的三维图像。
3.如权利要求2所述的基于激光视觉系统的采摘机器人果实识别方法,其特征在于,所述步骤S1中还包括:将预先设定的果实距扫描点的理想距离值dexp替换式(1)中的dmax,以对转换形成的标记场景远近特征的三维图像进行约束优化。
4.如权利要求1所述的基于激光视觉系统的采摘机器人果实识别方法,其特征在于,所述步骤S1中激光视觉系统获取果树局部距 离信息时的扫描角度为60°~140°。
5.如权利要求1所述的基于激光视觉系统的采摘机器人果实识别方法,其特征在于,步骤S2和步骤S3之间还包括步骤S2.3:采用基于平滑频率曲线的自动阈值检测方法,对平滑后的三维图像进行二值化处理,并通过小面积去除法对二值化后的三维图像进一步去噪。
6.如权利要求5所述的基于激光视觉系统的采摘机器人果实识别方法,其特征在于,所述步骤S2.3具体包括:
统计平滑后的灰度图像中各灰度值出现的次数,得到频率分布曲线;
然后采用移动平均滤波器平滑所述频率分布曲线,搜索灰度值小于一定阈值区内所述频率分布曲线最大峰对应的位置gsmax;
以该位置为起点,搜索最大峰两侧所述频率分布曲线的最低点位置,采用以下公式获得果实区域的上下限阈值,其中,Num′(g)为采用移动平均滤波器平滑所述频率分布曲线后各灰度值出现次数,以下公式中的两个式子均小于等于0时得到果实区域的上下限阈值,
图像中灰度值位于所述上下限阈值之间的像素点,其灰度值变为55,其它像素点的灰度值变为0。
7.如权利要求1所述的基于激光视觉系统的采摘机器人果实识别方法,其特征在于,所述步骤S3中在确定若干圆后,根据预设的偏移量统计之前还包括:根据预先设定的果实半径范围对计算得到的半径进行筛选,舍弃处于所述果实半径范围之外的半径对应的圆。
基于激光视觉系统的采摘机器人果实识别方法\n技术领域\n[0001] 本发明涉及图像识别及处理技术领域,特别涉及一种基于激光视觉系统的采摘机器人果实识别方法。\n背景技术\n[0002] 农业机器人是21世纪研究进展最快的机器人。它是一种以农产品为操作对象,兼有模拟人类智能感知和行动功能、可重复编程的柔性自动化或者半自动化设备,主要应用在移栽、嫁接、喷药、采摘、果实分级等领域。采摘是水果生产中重要的环节之一,对其的研究将在解决劳动力不足、降低工人劳动强度、提高工人劳动舒适性、减轻农业化肥和农药对人体的危害、 提高采摘果蔬的质量、降低采摘成本、提高劳动生产率、保证果蔬的适时采收、提高产品的国际竞争力等方面具有很大潜力。农业机器人作业对象是有机生物体,且不同地域有不同的自然气候、地形、 地貌以及不同的种植制度,所以其应用的难度非常之大。尤其针对如此错综复杂的外部环境和形状各异的作业对象,即使是在同一种农业作业,其作业对象也是千差万别,这样一来,采用带机器视觉技术的农业采摘机器人将不失为一个非常理想的选择。目前,发达国家相关的研究已经取得了较大的进展,但是,我国在这方面的研究尚处于起步阶段。\n[0003] 在果实采摘机器人进行采摘操作的过程中,首先是获取视野内的果树信息,将果实从果树背景中识别出来并且确定果实的空间位置,这一步是实现机器人采摘的关键环节。采摘机器人只有在获得正确的目标信息后,才能有效地实施采摘操作,这也是保证采摘效率和质量的前提。机器视觉系统是采摘机器人最大的外部环境信息源,不但关系到机器人快速、准确识别果实的能力,也直接决定了采摘机器人的可靠性。从已有的文献看,采摘机器人的视觉系统多以CCD或CMOS为图像感应器的相机或摄像机为关键组件,对其拍摄的图像进行图像分析与处理时,非线性的光照变化、复杂的环境背景使目标的识别率和定位精度受到了一定限制,与之相比,采用激光视觉系统扫描生成的三维图像对光线变化有强抗干扰性,且易于了解作业对象的大小、形状、所处的外界环境及与其它作业对象之间的位置关系。这为采摘机器人的目标识别提供了一种新的探索模式。\n发明内容\n[0004] (一)要解决的技术问题\n[0005] 本发明要解决的技术问题是:如何实现机器人对农产品果实的准确识别。\n[0006] (二)技术方案\n[0007] 为解决上述技术问题,本发明提供了一种基于激光视觉系统的采摘机器人果实识别方法,包括以下步骤:\n[0008] S1:使用构建的激光视觉系统获取果树局部距离信息,利用距离值与灰度值的约定关系生成标记场景远近特征的三维图像;\n[0009] S2:平滑所述三维图像;\n[0010] S3:采用链码跟踪技术及随机圆检测法计算所述三维图像中果实的形心坐标与半径。\n[0011] 其中,所述步骤S1中距离值与灰度值的约定关系为:\n[0012] \n[0013] 其中,dmax、dmin、d(x,y)和g(x,y)分别是测量的距扫描点的最大距离值、最小距离值、点(x、y)的距离值和灰度值,与扫描点距离最近点的灰度值为0,距离最远点的灰度值为255,位于两者之间点的灰度值按上式转换形成标记场景远近特征的三维图像。\n[0014] 其中,所述步骤S1中还包括:将预先设定的果实距扫描点的理想距离值dexp替换式(1)中的dmax以对转换形成的标记场景远近特征的三维图像进行约束优化。\n[0015] 其中,所述步骤S1中激光视觉系统获取果树局部距离信息时的扫描角度为\n60°~140°。\n[0016] 其中,所述步骤S2具体包括:\n[0017] 按初始滑动窗口的大小,采用三倍标准差原理对滑动窗口中的灰度值拟合面进行光滑度判断:\n[0018] \n[0019] \n[0020] \n[0021] \n[0022] 其中,g(x,y)为所述三维图像中的灰度值,若满足光滑条件3σ-test=1,则缩小滑动窗口尺寸,重复上述方法进行判断,直到滑动窗口尺寸达到预设的最小尺寸或过程中不满足光滑条件,则停止判断过程;对于滑动窗口中能拟合出光滑曲面的像素点采用高斯滤波的方法进行平滑,对于滑动窗口中不能拟合出光滑曲面的像素点采用均值滤波的方法进行平滑。\n[0023] 其中,步骤S2和步骤S3之间还包括步骤S2.3:采用基于平滑频率曲线的自动阈值检测方法,对平滑后的三维图像进行二值化处理,并通过小面积去除法对二值化后的三维图像进一步去噪。\n[0024] 其中,所述步骤S2.3具体包括:\n[0025] 统计平滑后的灰度图像中各灰度值出现的次数,得到频率分布曲线;\n[0026] 然后采用移动平均滤波器平滑所述频率分布曲线,搜索灰度值小于一定阈值区内所述频率分布曲线最大峰对应的位置gs max;\n[0027] 以该位置为起点,搜索最大峰两侧所述频率分布曲线的最低点位置,采用以下公式获得果实区域的上下限阈值,其中,Num′(g)为采用移动平均滤波器平滑所述频率分布曲线后各灰度值出现次数,以下公式中的两个式子均小于等于0时得到果实区域的上下限阈值,\n[0028] \n[0029] 图像中灰度值位于所述上下限阈值之间的像素点,其灰度值变为255,其它像素点的灰度值变为0。\n[0030] 其中,所述步骤S3具体包括:\n[0031] 获得所述三维图像中目标轮廓的链码序列,计算链码和与链码差,根据链码和与链码差的变化规律搜索果实轮廓点的坐标范围;\n[0032] 任取三维图像中果实轮廓上三个点确定一个圆,获得圆心与半径;\n[0033] 以所述圆心和半径确定的圆为果实的轮廓,并以所述圆心为果实的形心。\n[0034] 其中,所述步骤S3具体包括:\n[0035] 获得所述三维图像中目标轮廓的链码序列,计算链码和与链码差,根据链码和与链码差的变化规律搜索果实轮廓点的坐标范围;\n[0036] 任取三维图像中果实轮廓上若干点,三点为一组确定一个圆,确定若干圆;\n[0037] 根据预设的偏移量统计果实轮廓上像素点到圆心的距离在半径加或减偏移量范围内的个数;\n[0038] 选择个数最多的圆作为最终拟合果实轮廓的圆,其圆心为果实的形心,半径为类圆果实的半径。\n[0039] 其中,所述步骤S3中在确定若干圆后,根据预设的偏移量统计之前还包括:根据预先设定的果实半径范围对计算得到的半径进行筛选,舍弃处于所述果实半径范围之外的半径对应的圆。\n[0040] (三)有益效果\n[0041] 本发明的基于激光视觉系统的采摘机器人果实识别方法采用激光视觉系统进行果树轮廓信息的获取,其生成的三维图像对光线变化有强抗干扰性,且易于了解目标的大小、形状、所处的外界环境,与其它目标之间的位置关系;采用自适应滤波法,不仅可达到最佳的平滑效果,还能保存重要的边缘信息;采用链码信息,以表征目标边界的变化特征。参考其变化规律,更精确地提取果实的轮廓像素点;采用随机圆检测法,快速、高鲁棒性地实现对果实形心与半径的准确识别。\n附图说明\n[0042] 图1是本发明的基于激光视觉系统的采摘机器人果实识别方法中采用的激光视觉系统的示意图;\n[0043] 图2是本发明实施例的一种基于激光视觉系统的采摘机器人果实识别方法流程图;\n[0044] 图3是相机拍摄的果树图像;\n[0045] 图4是激光视觉系统中激光测距仪扫描得到的果树图像;\n[0046] 图5是通过场景知识简化背景的三维图像;\n[0047] 图6是自适应滤波后的三维图像;\n[0048] 图7是灰度级频率分布三维图像;\n[0049] 图8是二值化后的三维图像;\n[0050] 图9是小面积去除图像后的三维图像;\n[0051] 图10是链码信息曲线图;\n[0052] 图11是果实识别的效果图。\n具体实施方式\n[0053] 下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。\n[0054] 本实施例的基于激光视觉系统的采摘机器人果实识别方法中使用的激光视觉系统如图1所示,主要硬件包括:激光测距仪、步进电机驱动的直线传动机构、单元控制器和上位机等。其中激光测距仪基于飞行时间测量原理通过内部的旋转镜改变入射光的角度来检测存在于二维扇形面内物体的距离信息。将激光测距仪逆时针旋转90°固定在直线传动机构的滑台上,并沿垂直于扫描扇面的方向移动,可得到扫描范围中物体的轮廓信息。根据果实识别的数据采集需要,对测距仪的扫描角度分辨率和工作模式进行设置。通过RS232将扫描获得的数据帧传输到上位机。视觉系统的软件组成包括:VC++6.0开发的数据采集与处理软件,用于向步进电机控制器发送启停命令、设置数据采样周期、接收来自激光测距仪的实时测量数据,并将数据保存为txt文件;Matlab图像处理软件,用于三维图像生成、预处理和果实的识别。\n[0055] 本实施例中的基于激光视觉系统的采摘机器人果实识别方法,适用于采摘机器人对自然场景中类圆果实的自动识别与定位。\n[0056] 本实施例中的基于激光视觉系统的采摘机器人果实识别方法的流程如图2所示,所述包括以下步骤:\n[0057] 步骤S201,使用构建的激光视觉系统获取果树局部距离信息,利用距离值与灰度值的约定关系生成标记场景远近特征的三维图像。果树局部距离信息是指激光扫描点到扫描范围内果树各部分的距离,具体过程为如下:\n[0058] 根据果实识别的数据采集需要,对激光视觉系统各部件的工作参数进行设置。激光测距仪的扫描角度分辨率设为0.25°,选用mm工作模式;直线运动单元的行程设为\n350mm,行进速度设为100mm/s,选用连续运动模式。为了避免生成的三维图像中目标发生变形,需保证激光扫描的水平分辨率Xh与垂直分辨率Xv近似相等。可根据目标与测距仪的距离Dol,测距仪的角度分辨率θr和滑台的水平移动速度V,估计合适的数据采样周期T,见公式(2):\n[0059] \n[0060] 通过激光视觉系统测量得到的点云数据,可看作是一个离散二次曲面,其表达式如式(3)\nT\n[0061] F(x,y)=[x,y,d(x,y)] (3)\n[0062] 式中,F(x,y)为二次曲面;x、y为二次曲面的两个方向参数;d(x,y)代表距离值。\n为了更好地显示点云数据间的拓扑关系,按照约定的转换规则:即离扫描位置最近点的灰度值为0,离扫描位置最远点的灰度值为255,位于两者之间点的灰度值按式(1)转换,将所有获得的点云数据转化为标记场景远近特征的三维图像。图3和图4分别为相机拍摄与激光扫描的果树局部效果图。\n[0063] 自然条件下生长的果树形态各异,机械臂在实施采摘动作时为了避免与枝干发生碰撞,多从表层果实开始抓起。由图4灰度值的变化特点可知,果实与部分枝叶处于前景位置。为了简化图像的复杂背景,引入场景知识进行约束以提高后面的处理速度,使分析过程更具鲁棒性。场景知识包括扫描中心到果实的理想距离dexp(80-100cm),包含果实的扫描角度θf(60°~140°),图中果实的半径rf(15~25pixel)。图4已满足θf的条件,将dexp替代式(1)中的dmax可得到图5。\n[0064] 步骤S202,视觉系统获取的测距数据中包含各种噪声,使生成的三维图像质量降低,为了兼顾平滑噪声与保留细节两方面,使用一种自适应滤波器进行图像平滑。设定初始滑动窗口的大小为7×7,采用三倍标准差原理对窗口中的灰度值拟合面进行光滑度判断。\n公式如(4)、(5)、(6)、(7)。\n[0065] \n[0066] \n[0067] \n[0068] \n[0069] 式中vij为像素(i,j)的邻域,即滑动窗口,(a,b,c)为定义的拟合vij区域的平面参数,σ为经验方差值,可根据多次试验的平滑效果对比获得。3σ-test是一个标志符,当为1时,表示拟合面光滑,反之亦然。\n[0070] 若满足光滑条件,即3σ-test=1,则缩小窗口尺寸,重复上述方法进行判断,直到窗口尺寸达到预设的最小尺寸3×3或过程中不满足光滑条件(3σ-test=0),则停止判断过程;对于窗口中能拟合出光滑平面的像素点采用高斯滤波的方法进行平滑,对于窗口中不能拟合出光滑平面的像素点采用均值滤波的方法进行平滑。滤波后的图像见图6。\n[0071] 优选地,为了凸显感兴趣的目标轮廓并减少计算的数据量,还包括对图6进行了二值化处理。通常情况下,当目标和背景之间的灰度分布具有明显差别时,表现在直方图上大致就是两个峰值,选取明显的波谷位置即可得到满意的阈值。而绘制的直方图存在多个不明显的波谷,使用常规方法较难得到合理的图像分割阈值。本发明提出一种基于平滑频率曲线的自动阈值检测方法,达到了理想的分割效果。步骤如下:\n[0072] 设图像大小为M×N,g为图像上点(x,y)处的灰度值。\n[0073] ①统计图中各灰度值出现次数Num(g),g=0,1,2,…255;绘制频率分布曲线如图7。\n[0074] ②采用移动平均滤波器(span=5)平滑曲线见图7;各灰度值出现次数变为Num′(g)。\n[0075] ③搜索g≤100灰度区内曲线Num′(g)最大峰对应的位置gx max(一方面扫描位置决定了果实区域的灰度值偏小;另一方面果实区域的面积大于零散枝叶的面积,对应的频率值最大)。\n[0076] ④以gs max为起点,搜索最大峰两侧分布曲线的最低点位置,见图7,若满足式(8)小于或等于0,停止搜索并获得果实区域的上限au和下限bd,即双阈值;否则,继续检测。这里au=58,bd=20。\n[0077] \n[0078] ⑤利用④中得到的双阈值依据式(9)进行图像分割,得到二值化图像见图8。\n[0079] \n[0080] 其中g′(x,y)表示二值图像中点(x,y)的灰度值。由于部分枝叶区域灰度值与果实接近,被保留到二值图像中,与包含果实的连通区相比,面积较小,可作为噪声去除。首先对分割后的二值图像进行区域标记,并计算各个区域面积,然后去除小于最大面积的区域,结果如图9所示。\n[0081] 步骤S203,采用链码跟踪技术及随机圆检测法计算所述三维图像中果实的形心坐标与半径。考虑到果实有着特殊的边界特征-呈圆弧状,可以通过该特征对候选的果实区域进一步过滤。采用八方向链码轮廓跟踪技术获取二值化图像中目标的边界链码序列,用以计算链码和与链码差,相关的曲线图见图10。其中链码和用以表征边界斜率的变化特点,链码差用以表征边界曲率的变化特点;根据图中类圆果实的两者变化规律(各链码序列的链码差在一定范围内波动,且保持一定长度;链码和拟合为直线,其斜率满足一定条件)搜索果实轮廓点的坐标范围。任取果实轮廓上三个点确定一个圆,计算圆心与半径,可以将该圆心和半径确定的圆作为果实的轮廓,圆心为果实的形心。\n[0082] 进一步地,为了得到更准确的果实轮廓,任取三维图像中果实轮廓上若干点,三点为一组确定一个圆,确定若干圆;根据预设的偏移量统计果实轮廓上像素点到圆心的距离在半径加或减偏移量范围内的个数;选择个数最多的圆作为最终拟合果实轮廓的圆,其圆心为果实的形心,半径为类圆果实的半径。\n[0083] 更进一步地,在确定若干圆后利用场景知识中的半径约束条件,对候选圆进行判断;若不满足约束条件,即计算得到的半径满足条件rf(在15~25pixel范围内),则舍去该圆;若满足约束条件,设定范围偏移量,统计果实轮廓上像素点到圆心的距离在半径加或减偏移量范围内的个数;选择个数最多的圆作为最终拟合果实轮廓的圆;其圆心为果实的形心,半径为类圆果实的半径。识别效果图见图11。经过以上的图像处理过程,可实现对果实最佳的识别效果。\n[0084] 本实施例的基于激光视觉系统的采摘机器人果实识别方法可以广泛用于对苹果、梨、橙子等圆形(类圆形)果实进行识别。\n[0085] 本实施例与现有的果实识别方法相比具有如下优点和效果:\n[0086] (1)本发明采用激光视觉系统进行果树轮廓信息的获取,其生成的三维图像对光线变化有强抗干扰性,且易于了解目标的大小、形状、所处的外界环境,与其它目标之间的位置关系\n[0087] (2)本发明提出一种基于场景知识简化背景的方法。利用该方法可将复杂背景简单化,便于后期的目标识别。\n[0088] (3)本发明采用一种自适应滤波法,不仅可达到最佳的平滑效果,还能保存重要的边缘信息。\n[0089] (4)本发明提出一种基于平滑频率曲线的自动阈值检测方法。用以对灰度直方图中含有多个波谷的图像选择最佳的阈值,实现图像的二值化。\n[0090] (5)本发明采用链码信息,以表征目标边界的变化特征。参考其变化规律,更精确地提取果实的轮廓像素点。\n[0091] (6)本发明采用随机圆检测法,快速、高鲁棒性地实现对果实形心与半径的检测。\n[0092] 以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
法律信息
- 2019-07-05
未缴年费专利权终止
IPC(主分类): G06K 9/00
专利号: ZL 201210112448.3
申请日: 2012.04.16
授权公告日: 2014.04.02
- 2014-04-02
- 2012-11-14
实质审查的生效
IPC(主分类): G06K 9/00
专利申请号: 201210112448.3
申请日: 2012.04.16
- 2012-09-19
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |