超市越来越需要为产品提供正确的重量、尺寸、形状和质量等信息。为了满足这些需求,自动收割系统必须检查诸如马铃薯、胡萝卜和西兰花等产品的特征,并标示出它们存在的任何缺陷和疾病。

 

目前,很多收割方法还都是手工形式。然而,如果一次性地收割大量大小不一的农产品、并分拣出适合销售的产品,可能会导致大量浪费,因为超市只要求特定重量的产品。

 

为了克服这个问题,可以在种植现场对农产品进行分拣,使农产品在收割前就被分级,从而提高产量。使用机器视觉的自动化收割系统可以执行这项任务。然而,在拖拉机前方装有相机的二维视觉系统,仍然会受到环境照明条件的限制。

 

 

1:使用3D激光扫描仪、机器人、图像处理和深度学习软件,Capture Automation公司正在开发西兰花头自动化采摘系统。

 

开发用来检测、识别并测量尺寸的算法,是一项复杂的工作。通常,当一个产品必须位于一幅图像中时,会使用边缘检测方法。在不同的环境照明条件下,阴影效果会导致2D方法失败。然而,通过3D成像,产品的边缘被定义在一个体积中呈现,因此不再需要均匀照明,并且可以通过形状和尺寸识别诸如莴苣或西兰花头之类的蔬菜。

 

由于2D系统也被校准到特定的平面,高度可变的产品使得用于这些任务的2D图像处理系统更加复杂。但是,使用预先校准的3D成像系统,可以分析农产品的角度和倾斜度,以便在采摘农产品之前,可以为机器人提供正确的角坐标,从而不会损坏农产品。

 

 

2:在Gocator中以高度图的形式生成的数据,被生成为灰度图像(左),其中像素数据越亮,西兰花头离相机越近,反之亦然。

 

目前,Capture Automation公司正在开发这种3D自动化采摘系统。利用3D激光扫描仪、机器人、图像处理和深度学习软件,该公司正在开发用于自动化采摘西兰花头的系统。

 

3D激光扫描仪的优势之一是:它们可以连续使用,捕获可用于快速处理的图像。使用安装在拖拉机上的编码器,可以将位置坐标发送给机器人,当西兰花头在机器人头部下移动时对其跟踪,然后采摘它们。为了从移动系统中获取准确的信息,必须使用精确的编码器。在系统的第一个原型中,旋转式编码器轮位于拖拉机的前部。

 

不幸的是,在多雨的天气中,这种旋转编码器轮可能滑动,使系统的校准失效。为了克服这个问题,Capture Automation公司专门开发了一种尖峰编码器,以提供更准确的位置信息。

 

然后,收割机可以根据重量和尺寸选择不同类型的西兰花头,并将每个不同类型的西兰花头放入到不同的容器中。该系统还可以报告哪些西兰花头可能被留在地里继续生长,哪些西兰花头适合稍后采摘。尽管西兰花的生长需要好几个月的时间,但是它们的成熟采摘期却仅有约三天的时间,超过这个时间段采摘就会太过成熟,因此收集这些数据非常重要。

 

为了在机器人收割机中执行3D扫描,将LMI Technologies公司的Gocator扫描仪安装在拖拉机的前部,并与主机PC连接。使用Gocator扫描器的优势之一是:可以使用多个扫描仪来覆盖更大的视野。

 

与需要校准以确保正确测量的定制激光/相机三角测量系统不同,Gocator扫描仪经过预校准,使得系统立即能以毫米精度提供测量。利用编码器中的数据提供拖拉机的行进速度信息,单位为毫米/秒,并利用捕获的图像数据判断西兰花头的大小,并向机器人提供正确的位置和深度信息,以跟踪每个西兰花头并在正确的时间进行采摘。

 

使用诸如GeniCam传输层之类的标准软件图像流非常有用,因为它可以灵活地选择哪个软件执行图像分析。捕获到图像后,利用Teledyne DALSA公司的Sherlock软件执行2D3D图像处理。为了检测西兰花头,使用一种自定义的算法作为Sherlock软件的一个插件。

 

Gocator中以高度图的形式生成的数据,被生成为灰度图像,其中像素数据越亮,说明西兰花头离相机越近,反之亦然。使用2D算法减少一些缩放问题,使西兰花头具有相似的尺寸。因此,为了分类,不需要再考虑非常大或非常小的西兰花头(在这种情况下,会因为检测到叶子或杂草而增加误差率)。

 

使用这样的采摘系统,需要快速的图像处理时间,因为需要快速分类。例如,在一台拖拉机上,如果操作人员没有以完美的直线行驶,相机将在一定的位置识别西兰花头,但是当机器人头部到达西兰花头时,采摘臂可能会偏离合适的采摘位置。

 

使用2D图像处理算法,可以识别西兰花头,然后可以使用3D算法识别西兰花头的中心。为了识别这些西兰花头,使用Polimago模式匹配工具(Stemmer Imaging公司Common Vision BloxCVB)软件的一部)来实施深度学习技术。

 

通常,处理像西兰花这样的有机农产品是很困难的。利用计算机视觉,必须将许多不同的变量训练到系统中,例如,具有不同形状和结构的非常大或非常小的西兰花头。

 

由于每个西兰花头看起来略有不同,所以需要对系统进行培训,以保证系统不仅能识别圆形西兰花头,同时还能识别形状稍微有些差异的西兰花头。这种图像识别中最大的挑战之一是将西兰花头与叶子分开,因为叶子经常会混合到西兰花头中。因此,必须使用许多不同的图像来训练系统,这个过程涉及在田地上驾驶基于拖拉机的系统,以在西兰花头生长的过程中识别不同类型的西兰花头。

 

一旦系统识别出了西兰花头,就需要根据大小对其进行分级。这并非易事,因为西兰花头部可能有一部分被叶子覆盖,因此需要将叶子与西兰花头分离开来。使用3D图像,可以通过纹理结构将叶子与西兰花头分开。结果,图像中仅包含西兰花头的数据,因此可以据此测量西兰花头的直径。

 

PC上使用图形用户界面(GUI),操作员可以选择采摘何种尺寸的西兰花头。在西兰花头被正确识别后,他们的位置信息将从拖拉机的车载PC发送到装有定制采摘头的机器人。那些没有被采摘的西兰花头,也被识别并记录,以供后续分析使用。