一种基于机器视觉与BP神经网络的水果自动分拣方法与流程

文档序号:13719118阅读:2825来源:国知局

本发明涉及自动分拣技术领域,特别涉及一种基于机器视觉与bp神经网络的水果自动分拣方法。



背景技术:

长期以来,由于我国乡村劳动力资源丰富,水果的产后处理主要采用人工方式,而人工分拣存在明显的缺点:需要大量的劳动力,劳动强度大,经济效益不好。同时这种主观评定受到个人的视力、颜色鉴别能力、情绪等因素的影响较大。

随着计算机技术与图像处理技术的快速发展,机器视觉在工农业的应用越来越普遍。国内外众多学者对利用机器视觉提高果蔬分级速度和质量等进行了多方面的研究,无论在理论还是在应用上都取得了较大进展。而我国对水果自动分级技术研究则较晚,国内从20世纪90年代开始利用计算机视觉技术进行水果的分级研究。本发明利用机器视觉与bp神经网络对不同的水果进行分拣,可大大提高水果分拣的效率。并利用机器人完成对水果的抓取,可完成水果的自动装箱。



技术实现要素:

为了克服上述现有技术的不足,本发明的目的在于提供一种基于机器视觉与bp神经网络的水果自动分拣方法,利用数字图像处理和神经网络的方法,对不同类型的水果进行自动识别、定位及分类,对传统靠人工进行分拣的方法进行改进,最后利用工业机器人完成对水果的分拣。

为了实现上述目的,本发明采用的技术方案是:

step1、安装工业相机,将相机安装在机器人工作区域的正上方,调整相机的焦距使整个工作区域处在相机的视野范围内,通过相机将工作区域照片采集到计算机;

step2、进行相机标定主要通过相机对不同方位的标定板进行拍照,使用标定算子完成标定,得到摄像机的参数,即图像坐标上每个像素在世界坐标系下对应的实际距离m;

step3、对采集到的图片进行高斯滤波,去除图像中的干扰;

step4、对图片进行图像增强和锐化处理,使水果的特征更加明显;

step5、采用阈值分割的方法得到包含水果的图像区域,去除图像中的背景;

step6、进行轮廓提取,对水果进行定位;

使用sobel算子对阈值分割后的图像进行处理,可以返回x和y方向的像素灰度值gx与gy,用下面的公式计算当前像素点的灰度值和梯度方向;

搜索边缘梯度方向的局部极大值,抑制非极大值元素,可以细化边缘,跟踪边缘方向的左右像素,如果当前像素的灰度值小于左、右像素灰度值,则抑制当前像素灰度;

经过上一步处理后可能会有少量的非边缘像素被包含到结果中,所以要通过选取阈值进行取舍,通过假设两个阈值其中一个为高阈值th另外一个为低阈值tl,则有对于任意边缘像素低于tl的则丢弃,对于任意边缘像素高于th的则保留,任意边缘像素值在tl与th之间的,如果能通过边缘连接到一个像素大于th而且边缘所有像素大于最小阈值tl的则保留,否则丢弃。最终可以得到清晰的水果边缘图像,然后保存边缘。

通过水果图像的边缘来计算水果的中心点坐标,根据相机标定的结果得到水果的机器人坐标;

step7、提取不同种类水果的特征,对每一种水果提取水果的颜色、大小、周长以及弯曲程度四个特征,对每种水果的不同大小、不同角度和不同光照的图像采集300张,并分别提取以上四种特征,选取260张图片作为神经网络训练样本,选取剩下的四十张为测试样本;

step8、建立bp神经网络和训练;

首先建立三层bp神经网络,包含输入层、隐层和输出层。输入层包含四个特征输入节点,隐层包含20个节点;

用step7得到的训练样本对神经网络进行训练,采用梯度下降的方法对各个权值进行调整;

最终用step7得到的四十张图片对网络进行测试,验证网络;

step9、利用训练好的网络对水果进行实时的分拣,对相机采集的水果图片进行实时分类和定位,最终给出水果种类和位置信息;

step10、通过socket通信将水果的种类与位置信息发送给工业机器人;

step11、机器人根据接收到的水果种类和坐标数据,移动末端执行器抓取水果并放置在包装箱内,完成对水果的自动分拣。

本发明的有益效果:

本发明涉及的一种基于机器视觉与bp神经网络的水果自动分拣方法,可以实现对水果的自动识别与定位,从而实现水果的自动分拣功能。与传统的靠人工分拣系统相比,机器人自动分拣可极大的提高生产效率。若将本发明应用于工业现场的水果分拣系统中,将大大提高水果分拣的效率,为基于机器人的水果自动分拣提出新的解决方案。

附图说明

图1为本发明水果自动分拣的流程图。

具体实施方式

下面结合附图对本发明作进一步详细说明。

如图1所示:一种基于机器视觉与bp神经网络的水果自动分拣方法,包括以下步骤;

step1、安装工业相机,将相机安装在机器人工作区域的正上方,调整相机的焦距使整个工作区域处在相机的视野范围内,通过相机将工作区域照片采集到计算机;

step2、进行相机标定主要通过相机对不同方位的标定板进行拍照,使用标定算子完成标定,得到摄像机的参数,即图像坐标上每个像素在世界坐标系下对应的实际距离m;

step3、对采集到的图片进行高斯滤波,去除图像中的干扰;

step4、对图片进行图像增强和锐化处理,使水果的特征更加明显;

step5、采用阈值分割的方法得到包含水果的图像区域,去除图像中的背景;

step6、进行轮廓提取,对水果进行定位;

使用sobel算子对阈值分割后的图像进行处理,可以返回x和y方向的像素灰度值gx与gy,用下面的公式计算当前像素点的灰度值和梯度方向;

搜索边缘梯度方向的局部极大值,抑制非极大值元素,可以细化边缘,跟踪边缘方向的左右像素,如果当前像素的灰度值小于左、右像素灰度值,则抑制当前像素灰度;

经过上一步处理后可能会有少量的非边缘像素被包含到结果中,所以要通过选取阈值进行取舍,通过假设两个阈值其中一个为高阈值th另外一个为低阈值tl,则有对于任意边缘像素低于tl的则丢弃,对于任意边缘像素高于th的则保留,任意边缘像素值在tl与th之间的,如果能通过边缘连接到一个像素大于th而且边缘所有像素大于最小阈值tl的则保留,否则丢弃。最终可以得到清晰的水果边缘图像,然后保存边缘。

通过水果图像的边缘来计算水果的中心点坐标,根据相机标定的结果得到水果的机器人坐标;

step7、提取不同种类水果的特征,对每一种水果提取水果的颜色、大小、周长以及弯曲程度四个特征,对每种水果的不同大小、不同角度和不同光照的图像采集300张,并分别提取以上四种特征,选取260张图片作为神经网络训练样本,选取剩下的四十张为测试样本;

step8、建立bp神经网络和训练;

首先建立三层bp神经网络,包含输入层、隐层和输出层。输入层包含四个特征输入节点,隐层包含20个节点;

用step7得到的训练样本对神经网络进行训练,采用梯度下降的方法对各个权值进行调整;

最终用step7得到的四十张图片对网络进行测试,验证网络;

step9、利用训练好的网络对水果进行实时的分拣,对相机采集的水果图片进行实时分类和定位,最终给出水果种类和位置信息;

step10、通过socket通信将水果的种类与位置信息发送给工业机器人;

step11、机器人根据接收到的水果种类和坐标数据,移动末端执行器抓取水果并放置在包装箱内,完成对水果的自动分拣。

首先,安装工业相机,对工作区域的水果图像进行实时的采集。然后进行数字图像处理算法的设计,包括相机标定、图像预处理及不同类型水果特征提取。

其次,确定bp神经网络的结构,用特征数据训练网络的权值。

最后,把得到水果的位置和种类发送给工业机器人,由工业机器人完成分拣。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1