首页 / 专利库 / 人工智能 / 机器人视觉 / 一种基于深度学习的苹果采摘机器人果实目标检测方法

一种基于深度学习的苹果采摘机器人果实目标检测方法

阅读:227发布:2020-12-29

专利汇可以提供一种基于深度学习的苹果采摘机器人果实目标检测方法专利检索,专利查询,专利分析的服务。并且一种基于 深度学习 的苹果采摘 机器人 果实目标检测方法,包括如下步骤:使用移动式智能机器人搭载的相机拍摄足够多的苹果树及其果实图像,训练不同尺度的分类器,通过滑动窗口对待捡图像进行滑动检测,确定疑是存在果实窗口,并将该窗口输入 卷积神经网络 进行果实检测。,下面是一种基于深度学习的苹果采摘机器人果实目标检测方法专利的具体信息内容。

1.一种基于深度学习的苹果采摘机器人果实目标检测方法,包括如下步骤:
步骤1.样本数据采集:在苹果收获季节前往苹果种植园,使用移动式智能机器人搭载的相机,选取尽可能多的度,分别拍摄顺光、逆光条件下的果树果实图片;将图片中的苹果果实部分裁剪为统一大小的正样本,不含苹果果实的部分裁剪为统一大小的负样本,正样本数与负样本数均至少为5000;
步骤2.提取融合特征:使用matlab中image函数提取RGB或LUV色彩分量,通过梯度方向直方图提取检测目标的边缘梯度信息,提取方式如下:
将图像I划分成若干个状结构BLOCK,然后对每一个划分的BLOCK按照“田字格”规则均分成四个子块CELL,并统计每个CELL所属区域内像素点的梯度在不同方向上的分布得到了CELL的特征,最后将分别属于四个CELL的特征组合在一起形成了BLOCK的特征向量;设(x,y)为任意一个CELL中的像素点坐标,则其平方向的梯度为Gx(x,y),垂直方向的梯度为Gy(x,y),梯度幅值为G(x,y),以及梯度的方向为θ(x,y),分别由公式(1)、(2)、(3)、(4)计算得出:
Gx(x,y)=I(x+1,y)-I(x-1,y)  (1)
Gy(x,y)=I(x,y+1)-I(x,y-1)  (2)
在CELL中的所有像素点都按照上述公式计算完毕之后,该CELL就可以用一个基于方向的直方图来表示;该直方图的横坐标表示的是梯度方向,纵坐标表示的是对应幅值的累加和;
随机选择一种通道,再使用一个大小随机、最小为25像素的矩形区域使用积分图进行像素值求和;每一张图像可以得到约5000个通道特征,这些特征构成一个特征集合,用于训练弱分类器的特征将随机从这些特征集合中选取;
步骤3.分类器训练:使用步骤2中的特征集合训练adaboost分类器,其算法过程如下:
(S1)初始化样本权重,w=1/N,设置最大误检率fmax,最小检测率dmin;
(S2)计算弱分类器的错误率,选取合适的阈值,使得误差最小;
(S3)根据上述结果,更新样本权重;权重更新如公式(5)所示,其中i为样本编号,wi为样本对应的原权重,ci为上一次分类结果,yi为原始类别标签:
w=wi*exp(-yi*ci)  (5)
(S4)将迭代产生的t个弱分类器线性组合成一个状态分类器,如公式(6)所示,H(x)为组合分类器的输出;
其中hk(x)为弱分类器的输出, α表示h(x)在最终分类器中的重要程
度,error表示错误率;
(S5)对每个正样本计算H(x),统计其分类结果,计算分类器的检测率;若该检测率低于预先设定的目标检测率,则降低该分类器的阈值,提高检测率;
步骤4.滑动窗口检测:用滑动窗口在整幅图像上以一定的步长滑动,直到遍历完整幅图像,遍历过程中将窗口放入步骤3中训练完成的分类器中进行分类,若判定该窗口为苹果果实,则将该窗口标定出来作为疑是存在果实窗口,否则继续滑动;某个尺度的滑动窗口滑动完毕后,下一个尺度的滑动窗口将继续上一步的步骤,直到所有尺度的分类器滑动完成;
步骤5.卷积神经网络检测:构建卷积神经网络模型,将步骤4确定的疑是存在果实窗口输出至该模型进行果实检测;
其中卷积神经网络模型相关描述如下:
卷积神经网络模型依次由输入层、卷积层、池化层、卷积层、池化层、输出层组成;疑是果实存在窗口图像作为输入层,卷积层C层为特征提取层,池化层S层位于卷积层后,是一个二次提取的计算层;第二个S层,即完成了对原始数据的特征提取后,把S层的特征数据进行向量化,然后连接到分类器,经输出层输出类别结果;
卷积层用卷积核(一个特征矩阵)在图像矩阵上游走,在对应位置元素相乘,再把相乘的结果相加,最后相加的结果形成新的图像矩阵,游走完成后即完成了对原始图像的卷积变换,形成此卷积核下的特征提取;
在通过卷积获得了特征之后,对特征矩阵分区域进行平均值池化,降低特征维度;
输出层输出实际类别,与样本的类别标签对比,反向调整权值,直至实际输出与类别标签尽可能接近,调整迭代次数直至误差函数收敛;
卷积神经网络的训练过程包含前向传播与反向传播两个过程;
前向传播将上一层的输出加权求和后,经由激活函数输出结果,该结果又作为下一层的输入,继续加权求和,由激活函数输出,如此反复,直到网络模型最后的输出层;l层为当(l)
前层,当前层的输出结果为a ,W表示权值,b表示偏置,下一层则为l+1层,l层的输出结果a(l)作为l+1层的输入结果,z(l+1)为l层输出结果的加权和,经由激活函数计算得到l+1层输出结果a(l+1),激活函数f(z)=1/(1+e-z)为sigmod函数;计算公式如公式(7)、公式(8)所示:
z(l+1)=W(l)a(l)+b(l)  (7)
(l+1) (l+1)
a =f(z )  (8)
接下来,通过反向传播调整网络模型的权值W和偏置b;反向传播的核心是使代价函数J(W,b)最小化,从而使得误差更小;具体计算过程如下:
(T1)公式(9)为代价函数计算公式:
其中hW,b(x)为前向传播最终输出的实际结果,y为对应的样本标签,即期望输出;
(T2)对于第nl层(输出层)的每个输出单元i,根据公式(10)计算其残差
(T3)对l层(中间层)的第i个节点的残差δ(l)计算公式为式(11):
(l) (l) T (l+1) (l)
δ =((W )δ )·f'(z )  (11)
(T4)分别计算J(W,b)的偏导数▽W(l)J(W,b;x,y)和▽b(l)J(W,b;x,y),计算公式为式(12):
▽W(l)J(W,b;x,y)=δ(l+1)(a(l))T,
(l+1)
▽b(l)J(W,b;x,y)=δ   (12)
(T5)更新权值参数W(l)和偏置参数b(l)如式(13):
接着重复以上迭代步骤,不断更新权值与偏置,减小J(W,b)的值,进而得出完整的卷积神经网络;
步骤6.实际检测:使用移动式智能机器人搭载的相机前往果园拍摄苹果果树画面,经由步骤2至步骤5中训练完成的卷积神经网络模型检测后,机器人视觉系统定检测到的果实目标,再经由控制系统控制机械手臂,采摘果实。

说明书全文

一种基于深度学习的苹果采摘机器人果实目标检测方法

技术领域

[0001] 本发明涉及一种利用深度学习目标检测算法实现苹果采摘机器人果实目标检测的方法,具体涉及一种利用深度学习算法对采摘机器人视觉图像进行识别与检测,并标定果实区域的方法,属于机器视觉领域。

背景技术

[0002] 中国是苹果生产大国,苹果生产过程中采摘的工作量最大,大约占全部劳动量的40%左右,采摘质量的优劣会对果的存储、处理、加工及销售等多方面均会有影响。由于采摘作业要求较高,因此大部分采摘工作是手工完成,但手工采摘的成本较高、耗时长难以适应规模化种植的需要。因此为了提高生产效益、将农民从繁重的采摘作业中解放出来,果实机械收获是一个急需解决的问题。苹果果实采摘机器人一个关键环节是果实目标的正确识别与定位,视觉系统的好坏对整个机器人的性能具有相当重要的影响。因此采摘机器人视觉系统的研究,对于解决我国农村劳动短缺问题,提高农民的生产力,促进社会主义新农村的建设均具有最要的意义。
[0003] 多年来国内外大量的科技工作者致力于收获机器人视觉系统的研究工作,但由于机器人的工作环境复杂多变,作业对象(果实、树叶、树枝)生长状态复杂多样,导致捕获的图像存在大量噪声及干扰信息,这些为机器视觉系统检测和接近果实变得异常困难。因此,在光线多变的复杂环境中如何使用有效的分割、识别、定位方法是一个亟待解决的问题。

发明内容

[0004] 本发明要克服现有技术的上述缺点,提供一种基于深度学习的苹果采摘机器人果实目标检测方法。
[0005] 本发明使用移动式智能机器人搭载的相机拍摄足够多的苹果树及其果实图像,训练不同尺度的分类器,通过滑动窗口对待捡图像进行滑动检测,确定疑是存在果实窗口,并将该窗口输入卷积神经网络进行果实检测。
[0006] 本发明的一种基于深度学习的苹果采摘机器人果实目标检测方法,具体步骤如下:
[0007] 1.选取试点果园,使用移动式智能机器人搭载的相机,分别拍摄顺光、逆光条件下,成熟苹果果实图片。
[0008] 2.提取RGB或LUV色彩及梯度方向直方图的融合特征作为特征池,采用多个不同标准尺度的AdaBoost分类器。
[0009] 3.使用不同尺度的分类器,通过滑动窗口对待捡图像进行滑动检测,确定疑是存在果实窗口。
[0010] 4.构建卷积神经网络模型,将上一步确定的疑是存在果实窗口图像归一化,输入该模型进行果实检测。
[0011] 本发明的优点是:避免了在检测过程中构建图像金字塔,极大提高了果实检测速度。检测结果具有较高的鲁棒性与泛化性。附图说明
[0012] 图1是本发明的疑是存在果实窗口检测流程图
[0013] 图2是本发明的卷积神经网络结构图。
[0014] 图3是本发明的实验模型训练流程图。
[0015] 图4是本发明的实际检测流程图。
[0016] 图5是本发明的检测结果示例图,其中图5a是单个无遮挡果实的原图,图5b是单个无遮挡果实的检测结果;图5c是有枝叶遮挡果实的原图,图5d是有枝叶遮挡果实的的检测结果;图5e是多个有重叠果实的原图,图5f是多个有重叠果实的原图。
[0017] 图6是本发明方法的流程图。

具体实施方式

[0018] 下面结合附图对本发明作进一步描述。
[0019] 本发明的一种基于深度学习的苹果采摘机器人果实目标检测方法,具体包括如下步骤:
[0020] 步骤1(样本数据采集):在苹果收获季节前往苹果种植园,使用移动式智能机器人搭载的相机,选取尽可能多的度,分别拍摄顺光、逆光条件下的果树果实图片。将图片中的苹果果实部分裁剪为统一大小的正样本,不含苹果果实的部分裁剪为统一大小的负样本,正样本数与负样本数均至少为5000。
[0021] 步骤2(提取融合特征):使用matlab中image函数提取RGB或LUV色彩分量,通过梯度方向直方图提取检测目标的边缘梯度信息,提取方式如下:
[0022] 将图像I划分成若干个状结构(记为BLOCK),然后对每一个划分的BLOCK按照“田字格”规则均分成四个子块(记为CELL),并统计每个CELL所属区域内像素点的梯度在不同方向上的分布得到了CELL的特征,最后将分别属于四个CELL的特征组合在一起形成了BLOCK的特征向量。设(x,y)为任意一个CELL中的像素点坐标,则其水平方向的梯度为Gx(x,y),垂直方向的梯度为Gy(x,y),梯度幅值为G(x,y),以及梯度的方向为θ(x,y),分别由公式(1)、(2)、(3)、(4)计算得出:
[0023] Gx(x,y)=I(x+1,y)-I(x-1,y)  (1)
[0024] Gy(x,y)=I(x,y+1)-I(x,y-1)  (2)
[0025]
[0026]
[0027] 在CELL中的所有像素点都按照上述公式计算完毕之后,该CELL就可以用一个基于方向的直方图来表示。该直方图的横坐标表示的是梯度方向,纵坐标表示的是对应幅值的累加和。
[0028] 随机选择一种通道,再使用一个大小随机(最小为25像素)的矩形区域使用积分图进行像素值求和。每一张图像可以得到约5000个通道特征,这些特征构成一个特征集合,用于训练弱分类器的特征将随机从这些特征集合中选取。
[0029] 步骤3(分类器训练):使用步骤2中的特征集合训练Adaboost分类器,其算法过程如下:
[0030] (1)初始化样本权重,w=1/N,设置最大误检率fmax,最小检测率dmin;
[0031] (2)计算弱分类器的错误率,选取合适的阈值,使得误差最小;
[0032] (3)根据上述结果,更新样本权重。权重更新公式(5)所示,其中i为样本编号,wi为样本对应的原权重,ci为上一次分类结果,yi为原始类别标签。
[0033] w=wi*exp(-yi*ci)  (5)
[0034] (4)将迭代产生的t个弱分类器线性组合成一个状态分类器,如公式(6)所示,H(x)为组合分类器的输出。
[0035]
[0036] 其中hk(x)为弱分类器的输出, α表示h(x)在最终分类器中的重要程度,error表示错误率。
[0037] (5)对每个正样本计算H(x),统计其分类结果,计算分类器的检测率。若该检测率低于预先设定的目标检测率,则降低该分类器的阈值,提高检测率。
[0038] 步骤4(滑动窗口检测):用滑动窗口在整幅图像上以一定的步长滑动,直到遍历完整幅图像,遍历过程中将窗口放入步骤3中训练完成的分类器中进行分类,若判定该窗口为苹果果实,则将该窗口标定出来作为疑是存在果实窗口,否则继续滑动。某个尺度的滑动窗口滑动完毕后,下一个尺度的滑动窗口将继续上一步的步骤,直到所有尺度的分类器滑动完成。(疑是存在果实窗口检测流程如图1所示)
[0039] 步骤5(卷积神经网络检测):构建卷积神经网络模型,将步骤4确定的疑是存在果实窗口输出至该模型进行果实检测。
[0040] 其中卷积神经网络模型相关描述如下:
[0041] 本网络模型依次由输入层、卷积层、池化层、卷积层、池化层、输出层组成(如图2所示)。疑是果实存在窗口图像作为输入层,卷积层(C层)为特征提取层,池化层(S层)位于卷积层后,是一个二次提取的计算层,第二个S层,即完成了对原始数据的特征提取后,把S层的特征数据进行向量化,然后连接到分类器,经输出层输出类别结果。
[0042] 卷积层用卷积核(一个特征矩阵)在图像矩阵上游走,在对应位置元素相乘,再把相乘的结果相加,最后相加的结果形成新的图像矩阵,游走完成后即完成了对原始图像的卷积变换,形成此卷积核下的特征提取。(本网络模型的卷积核大小为5*5)。
[0043] 在通过卷积获得了特征之后,对特征矩阵分区域进行平均值池化,降低特征维度。
[0044] 输出层输出实际类别,与样本的类别标签对比,反向调整权值,直至实际输出与类别标签尽可能接近,调整迭代次数直至误差函数收敛。
[0045] 卷积神经网络的训练过程包含前向传播与反向传播两个过程(如图3所示)。
[0046] 前向传播将上一层的输出加权求和后,经由激活函数输出结果,该结果又作为下一层的输入,继续加权求和,由激活函数输出,如此反复,直到网络模型最后的输出层。l为当前层,当前层的输出结果为a(l),W表示权值,b表示偏置,下一层则为l+1层,l层的输出结果a(l)作为l+1层的输入结果,z(l+1)为l层输出结果的加权和,经由激活函数计算得到l+1层输出结果a(l+1),激活函数f(z)=1/(1+e-z)为sigmod函数。计算公式如公式(7)、公式(8)所示:
[0047] z(l+1)=W(l)a(l)+b(l)  (7)
[0048] a(l+1)=f(z(l+1))  (8)
[0049] 接下来,通过反向传播调整网络模型的权值W和偏置b。反向传播的核心是使代价函数J(W,b)最小化,从而使得误差更小。具体计算过程如下:
[0050] (1)公式(9)为代价函数计算公式:
[0051]
[0052] 其中hW,b(x)为前向传播最终输出的实际结果,y为对应的样本标签,即期望输出。
[0053] (2)对于第nl层(输出层)的每个输出单元i我们根据公式(10)计算其残差[0054]
[0055] (3)对l层(中间层)的第i个节点的残差δ(l)计算公式为式(11):
[0056] δ(l)=((W(l))Tδ(l+1))·f'(z(l))  (11)
[0057] (4)分别计算J(W,b)的偏导数 和 计算公式为式(12):
[0058]
[0059] (5)更新权值参数W(l)和偏置参数b(l)如式(13):
[0060]
[0061] 接着重复以上迭代步骤,不断更新权值与偏置,减小J(W,b)的值,进而得出完整的卷积神经网络。
[0062] 步骤6(实际检测):使用移动式智能机器人搭载的相机前往果园拍摄苹果果树画面,经由步骤2至步骤5中训练完成的卷积神经网络模型检测后,机器人视觉系统定检测到的果实目标(实际检测过程如图4所示,检测结果示例如图5所示),再经由控制系统控制机械手臂,采摘果实。
[0063] 如上所示,根据本发明,可以提供一种基于深度学习的苹果采摘机器人果实目标检测方法。
[0064] 本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈