基于开源项目的苹果采摘系统设计及视觉算法改进

2019-08-10 03:46刘岳开高宏力张洁
江苏农业科学 2019年4期
关键词:机器视觉

刘岳开 高宏力 张洁

摘要:以机器人操作系统(robot operating system,ROS)为框架,以开源项目树莓派微型硬件作为图像处理模块,Arduino作为机械臂运动控制模块;基于自适应参数输入的霍夫圆检测算法,实现一种USB摄像头的双目视觉苹果采摘系统,保证算法实时性高的前提下識别率较高。以轮廓完整、小色块去除为优化策略,最大、最小圆面积自动估算,实现对霍夫圆检测输入参数的自适应控制。对于采摘顺序规划,通过竞争策略,每次筛选出最优果实,从而实现多目标的采摘顺序确定。结果表明,基于本策略的自适应霍夫圆检测试验算法对遮挡状况下的小规模成簇果实具有较高识别率。此外,借助众灵科技有限公司的开源ROS五自由度机械臂通过简易抓取试验完成了算法可实施性验证。

关键词:开源系统设计;机器视觉;颜色空间;自适应霍夫圆检测

中图分类号: S225.93  文献标志码: A  文章编号:1002-1302(2019)04-0187-05

在采摘算法上,对目标果实识别的准确性和效率是决定采摘质量的关键。经典的采摘算法包括图像预处理(去除噪声、提高对比度)、图像分割获取果实部分图像、轮廓精准识别获取三维坐标信息。Lab颜色空间下的K-means聚类算法的图像分割[1-2]和基于最大类间方差的动态阈值OTSU法[3-5]是典型的基于区域的分割算法。未对输入图像做出适应性修正的算法在复杂光照及背景采摘环境下,提取苹果轮廓易出现不完整、目标区域产生空洞的情况。而现有算法中对预处理过程中的参数优化较弱[6-11]。K-means和GA-RBF-LMS神经网络识别相结合的算法[1],虽然提高了识别率,但神经网络算法训练数据量本大,数据处理实时性较弱。目前多数算法研究者的研究过程[6-11]往往只专注于图像识别过程,林冰心等对采摘顺序规划进行了研究[12],而算法与机械臂控制结合的开发试验鲜有研究。

在软硬件平台上,ROS和树莓派、Arduino是目前发展较为成熟的开源软硬件项目平台。国外研究者已有基于ROS系统构建服务机器人方案的研究[13-16],但国内关于此方面的研究较少,ROS跨平台以及其类似模块化编程的优越性正在逐步显现。本研究专注于如何利用OSHW项目高效地设计机器视觉系统,以ROS操作系统为框架,构建了一种基于Arduino和Raspberry Pi等OSHW项目的苹果采摘机器视觉系统。ROS环境下的视觉算法实现,借助于OSHW项目以及ROS代码的强复用性,二次开发过程得到简化。Raspberry Pi微型计算机相比于传统的嵌入式或者基于工业PC台式机电脑的视觉系统,计算性能得到保证的同时便携性显著提高。

本研究基于一种自适应参数修正的霍夫圆检测算法,保证识别算法实时性高的前提下轮廓拟合精度较高,通过引入竞争机制后能够单次采摘具有最优图像信息的果实,实现顺序采摘过程,最后基于OSHW软硬件平台构建并完成了抓取试验测试。

1 视觉系统总体设计

基于视觉的苹果采摘系统是一种通过图像处理手段对标定后相机图像进行处理,提取目标果实三维坐标信息的系统。本系统是以ROS系统为框架开发的一套双目视觉系统,并在实体机械臂上完成算法采摘可实施性验证。系统主要包括图像采集设备、图像处理模块、相关通信线缆等。图像采集、图像处理硬件选型根据视觉算法需要,以安装Ubuntu 14.04系统的树莓派3为载体,2台西安维氏的工业相机组成双目立体视觉系统,相机通过USB 2.0接口与树莓派连接。调用基于ROS的张氏标定法完成镜头畸变校正,并解决相机安装偏差的极线校正过程。系统内部通信基于ROS的信息传输机制,信号从主题发布节点传向订阅主题的节点。另外,树莓派3通过USB 2.0接口或RS232接口与机器人运动控制芯片(如Arduino等)通信(图1)。

2 采摘识别算法优化

对现有的霍夫梯度圆检测过程的参数输入以及果实识别采摘顺序规划过程做了相关算法改良设计(图2)。

2.1 颜色空间转换及图像分割

将原始图片从颜色分量关联性强的RGB颜色空间转化到关联性低的HSV颜色空间,方便颜色提取过程。HSV空间中H代表色调,决定色彩的基本种类。计算公式由立方体模型到六棱锥模型的变换公式导出。公式中相关符号R、G、B分别代表RGB空间中的红色、绿色、蓝色分量。max(R,G,B)表示RGB三通道矩阵最大值,min(R,G,B)表示RGB三通道矩阵最小值。公式(1)、(2)、(3)、(4)为HSV空间各分量的计算公式。

2.2 图像预处理

图像预处理是实现高精度尺寸、距离测量以及图像识别过程的基础。为更好地保留果实信息,在转化为HSV颜色空间后,再进行直方图均衡化增强图像对比度。通过自适应阈值法对图像做二值化处理,消除其他噪声,保留果实图像信息。

当色调H的计算结果小于0时,采用公式(2)计算。

为更好地区分采摘图像中的背景色彩和果实色彩,测试了果实与背景颜色H分量构成。图3展示了果实图像目标与背景中色调分量的直方图,即各颜色的比重,得出背景色彩多为蓝色、棕色,如天空、树枝,目标果实主要为红色和部分黄色分量,从而以直方图色度信息为判据提取对应取值的颜色分量。图4所示分别为K均值、HSV空间红黄分量提取以及本研究算法图像分割结果对比,本研究算法能够更加完整地识别果实颜色分量,在图像分割质量上具有一定优越性。

2.3 果实图像的霍夫梯度圆检测

霍夫圆检测是目前应用较为广泛的一种圆检测方法[17-21]。圆检测由于其特征较少,传统的多边形检测方法难以检测,目前提出的圆检测方法包括环路积分微分法,基于最小二乘的圆拟合法,而霍夫圆检测算法是目前应用最为广泛的算法。霍夫圆检测的基本原理可简述为利用点与线的对偶性,将图像空间的线条变为参数空间的点,即将过点[a(i),b(i)]的圆簇表示为[a(i),b(i),r(i)]参数形式;图像空间中的过点(a,b)的圆在参数空间中表示为一个圆锥面。最后问题转化为求解参数空间的峰值问题。引入消除粒子群优化(eliminating particle swarm optimization,EPSO)方法[17]的霍夫圆检测算法优化了计算速度,以及基于轮廓点处梯度方向交点投票机制算法[18]也较显著加速了Hough圆检测算法的效率及抗干扰能力。然而在苹果采摘环境下,受环境噪声(树枝、树叶遮挡)以及自身梯度方向的计算误差的影响,目标果实的拟合结果仍然易出现输出拟合圆过多且不准确的状况。通过提前估算果实图像区域大小以及个数等特征作为参数输入,则能较好地解决Hough圆检测算法对输入参数敏感的问题。基于梯度的快速霍夫圆检测,利用梯度信息,对圆检测过程中随机点的选取作初步筛选。

(1)OTSU大津法通过公式(5)选择在最佳状态空间点(w0,w1,u0,u1)处对应的阈值,然后根据阈值对图像进行二值化处理。公式(5)中w0为背景像素占总像素数的比值,w1为前景像素的占比值,u0为背景像素点的灰度平均值,u1为前景像素点的灰度平均值,S为最大类间方差。

2.4 霍夫圆检测的自适应参数输入

Hough圆检测的输入参数包括最大圆半径、最小圆半径r、R,圆心距最小值d。本研究使用Python的Scipy库的ndimage中的measurements模块实现了果实图像的形态学度量,完成图像中果实的面积大小及数量的估算,从而对霍夫梯度检测的输入参数进行控制。该方法能够有效提高Hough圆检测算法输入参数的准确性,从而提高识别精度。具体算法的验证代码已经上传到GitHub软件项目托管平台。算法流程如下所示。

比较图5所示算法效果可以看出,自适应参数的Hough圆检测能够在图像输入前有效去除影响噪声,以及消除果实粘接等产生的目标形状畸变等问题。

2.5 ROS环境下双目视觉深度计算

程序采用ROS的标准节点格式,左、右相机通过节点的图像处理程序将果实的二维坐标计算结果发布到/tf主题,机械臂状态节点订阅该消息,并将左、右相机处理的二维结果通

过公式转化为三维坐标信息,通过相关ROS自带的相关逆运动学求解包得到机械臂各个关节的转角参数,实现机械臂的简单控制过程。

2.6 竞争策略与顺序采摘

王冰心等实现了一种基于生物选择性注意机制及赢者取全的仿生学算法[12],而本研究基于竞争机制淘汰筛选得到最佳待采摘果实的方法,实现了果实簇的顺序采摘过程。图6为K均值算法、基于霍夫梯度检测、基于开源项目算法检测的结果比较。其算法步骤如下。

Step1:计算双目镜头的Hough圆检测拟合结果,得到二维圆心坐标,双目算法求取三维视野距离Dz。

Step2:求轮廓完整度判据。以图像目标实际面积与对应拟合圆面积比值Kz为判断依据。

Step3:以视野距离、轮廓完整度为指标,筛选确定出最佳可摘果实。

Step4:返回Step1,对采摘后图像继续判断最佳果实,循环执行,直到采摘完毕。

由图6所示试验结果可知,自适应参数的霍夫圆检测方法准确率在无遮挡、树枝树叶遮挡2种情况下相比于一般的果实识别算法具有优越性,相比于神经网络模型下的算法略低,如基于DSP和μC/OS-Ⅱ的采摘机器人视觉系统设计[9]达到97%的识别率,但省去了训练时间且不存在泛化性问题。

3 基于ROS系统的双目视觉测试与结果分析

ROS支持的Python和C+ +语言由于OpenCV以及其他开源视觉算法库的引入,使得多种基本的算法处理实现得到简化,研究更为便捷。图像预处理是实现高精度尺寸、距离测量以及图像识别过程的基础。通过图像对比度增强、降噪等软手段减小噪声信息的影响。预处理的效果直接影响到后续的尺寸、距离、识别过程的精度。对K均值、HSV空间红黄分量提取以及本研究算法图像分割结果进行了试验与对比,结果表明,本研究提出的算法能够更加完整地识别并完成目标果实图像的分割,从而提升后续的识别精度。在目标提取上,基于一种改良参数的自适应霍夫圆检测算法获取果实的二维坐标,可避免图像分割后的轮廓不完整以及空洞,影响果实精确位置判断。基于梯度的快速霍夫圆检测,利用梯度信息,对圆检测过程中随机点作初步筛选,从而减小计算量,提升计算速度。

引入竞争机制实现果实采摘的顺序规划,从而完成对成簇状果实群的顺序采摘。ROS系统的引入方便了机器人运动学以及动力学控制过程。无论是对于底层的关节速度、力反馈控制,还是对于进一步的机械臂轨迹规划、运动规划,ROS系统提供了Move_base、MoveIt、Gmaping等运动控制包,帮助实现机器人的运动控制过程。图7是ubuntu系统中,ROS环境下双目视觉rqt_graph包生成的计算图。图8是本研究设计的双目视觉系统与众灵科技有限公司的开源Arduino机器人组成的双目视觉采摘试验测试的计算图(由rqt_graph包生成)。图9是基于树莓派的ROS视觉采摘系统现场测试过程。

树莓派3代B作为图像处理模块以及机械臂定位信号发送端。显示器通过树莓派的HDMI接口接入并实时显示ROS图像处理过程,可以通過树莓派的相关外围设备鼠标、键盘调用ROS的Rqt_graph包查看ROS节点计算图;摄像头设备通过树莓派的USB端口输入采集到的原始图像。Arduino接收树莓派的定位信号并作为机械臂的底层控制部分完成最终机械臂的运动控制过程。图9所示的模拟测试过程为摄像头采集到原始图像后,经过树莓派图像处理获取最终的三维坐标信息并发送给Arduino,机械臂在Arduino控制下完成对苹果的抓取动作。

4 结论

经试验测试验证, 本研究算法的识别率在一般识别算法中准确率较高。本研究使用众灵科技公司开发的开源ROS机械臂对双目视觉采摘系统做场地测试,验证了该算法的可实施性。经测试统计,在无遮挡和树枝、树叶遮挡2种情况下该算法识别率均较高,在果实重叠情况下效果仍需提高。

ROS类似于模块化的基于独立节点通信机制的信息传输方式让基于ROS的视觉系统设计研究者可以快速熟悉并快速用于二次开发。代码的分类管理能有效提高开发效率。GitHub能以版本控制方式进行更好的管理并方便软件的Bug修复、意见征集以及基于源码的二次开发过程。

ROS wiki网页上提供的众多接口以及开源算法,为视觉机器人的开发提供了便利。由于项目时间匆促,后期可以与其他视觉识别定位的横向智能学习算法做对比,从而对采摘算法做进一步优化。

参考文献:

[1]贾伟宽,赵德安,刘晓洋,等. 机器人采摘苹果果实的K-means和GA-RBF-LMS神经网络识别[J]. 农业工程学报,2015,31(18):175-183.

[2]Malinen M I,Mariescu-Istodor R,Franti P. K-means{*}:clustering by gradual data transformation[J]. Pattern Recognition,2014,47(10):3376-3386.

[3]郭翰林,林 建,张 翔. 基于HSV空间再生稻植株与土壤背景图像分割[J]. 农机化研究,2017(7):169-174.

[4]李碧青,朱 强,郑仕勇,等. 杂草自动识别除草机器人设计——基于嵌入式Web和ZigBee网关[J]. 农机化研究,2017(1):217-226.

[5]李运志,Zhang Q,陈弘毅,等. 基于机器视觉的半干枣病害和裂纹识别研究[J]. 农机化研究,2016(8):120-125.

[6]赵德安,沈 甜,陈 玉,等. 苹果采摘机器人快速跟踪识别重叠果实[J]. 农业工程学报,2015,31(2):22-28.

[7]熊俊涛,邹湘军,彭红星,等. 荔枝采摘机械手视觉定位系统设计[J]. 农业机械学报,2012(增刊1):250-255.

[8]王 政,张微微,张 宾,等. 基于聚类算法对象提取的快速定位采摘机器人设计[J]. 农机化研究,2016(7):45-49.

[9]申一歌,靳 果. 基于DSP和μC/OS-Ⅱ的采摘机器人视觉系统设计[J]. 农机化研究,2017(6):223-227.

[10]顾苏杭,马正华,吕继东. 基于显著性轮廓的苹果目标识别方法[J]. 计算机应用研究,2017,34(8):2551-2556.

[11]杨信廷,孙文娟,李 明,等. 基于K均值聚类和开闭交替滤波的黄瓜叶片水滴荧光图像分割[J]. 农业工程学报,2016,32(17):136-143.

[12]王冰心,王孙安,于德弘. 基于选择性注意机制的果实簇识别与采摘顺序规划[J]. 农业机械学报,2016,47(11):1-7.

[13]Wang Z Y,Gong L,Chen Q L,et al. Rapid developing the simulation and control systems for a multifunctional autonomous agricultural robot with ROS[C]//Intelligent robotics and applications. Springer,2016:26-39.

[14]Seib V,Memmesheimer R,Paulus D. A ROS-Based system for an autonomous service robot[M]//Robot operating system (ROS). Springer,2016:215-252.

[15]Araújo A,Portugal D,Couceiro M S,et al. Integrating arduino-based educational mobile robots in ROS[J]. Journal of Intelligent & Robotic Systems,2015,77(2):281-298.

[16]Hu T J,Zhang B X,T ang D Q,et al. ROS-based ground stereo vision detection:implementation and experiments[J]. Robotics and Biomimetics,2016(3):1-9.

[17]Cheng H D,Guo Y H,Zhang Y T. A novel Hough transform based on eliminating particle swarm optimization and its applications[J]. Pattern Recognition,2009,42(9):1959-1969.

[18]Galambos C,Kittler J,Matas J. Gradient based progressive probabilistic Hough transform[J]. Image and Signal Processing,2001,148(3):158-165.

[19]楊博文,孙永荣,黄 斌,等. 加油锥套远距图像的Hough-LS快速检测[J]. 光电工程,2015,42(4):44-48,55.

[20]毛顺兵. Hough变换和轮廓匹配相结合的瞳孔精确检测算法[J]. 计算机应用,2016,36(5):1415-1420.

[21]叶 峰,陈灿杰,赖乙宗,等. 基于有序Hough变换的快速圆检测算法[J]. 光学精密工程,2014,22(4):1105-1111.许 健,蔡宗寿,张国帅,等. 基于离散元的倾斜圆盘勺式大豆排种器取种勺优化研究[J]. 江苏农业科学,2019,47(4):192-196.

猜你喜欢
机器视觉
大场景三维激光扫描仪在研究生实践教学培养中的应用