果实定位的机器视觉技术研究现状*
2024-02-14马兆敏郭家祥
马兆敏 ,郭家祥
(广西科技大学自动化学院,广西 柳州 545000)
0 引言
果实的机器视觉定位技术在果实的自动化采摘中有重要的价值和意义。果实采摘在生产种植中占用了40%~50%的劳动力且尚未实现自动采摘商业应用[1],而我国农业却面临着人口老龄化和劳动生产率低的双重压力。大量的实践证明,果实的机器视觉定位技术可以快速、准确地识别果实的位置和大小,从而提高果实采摘的效率和准确性,减少人工成本,降低劳动强度。特别是对一些需要高空采摘作业的果实,可以显著地保障生产安全。
目前,纵观我国果实视觉定位的研究现状,对番茄[2]、柑橘[3]等经济价值较高的果实的研究较多。果实定位的难点问题主要是重叠[4]、晃动[5-6]、绿熟、易损坏[7]、实时性[8]、外界光照环境的影响等,果实的形态十分复杂,不但形状各异、大小不同,甚至有的需要对一整串进行定位;单目、双目、深度相机[9]都是目前主要的定位手段,且深度学习也开始被运用到果实的检测和深度估计等方面。基于此,本文综述了果实三维定位问题在目标检测、相机标定、定位方法等方面的研究现状。
1 果实目标检测
果实目标检测方面的研究,早期主要是根据果实颜色与周围环境有显著差异的特点,通过基于颜色特征的图像分割算法分离果实与周围环境。为了更加准确地分割图像,主要有“限定像素值范围”和“颜色分量组合”这两种常用的方法。
限定像素值范围是一种简单而有效的方法。果实图像像素在不同颜色空间有不同的分布,将图像转换到其他颜色空间分割可能会取得更理想的效果。通常会将图像转换到如RGB、HSV[10]、HSI、Lab、YUV[11]、YIQ、LCD 等颜色空间,通过限定不同颜色通道的阈值范围,将果实从背景中分割出来或采用如K-means等不同的分割算法进行分割[12]。
颜色分量组合分割在果实检测中有广泛的应用,通过对颜色空间的颜色分量进行组合运算,增强果实与背景的颜色差异,凸显出果实,从而有利于果实的分割。虽然组合颜色特征通常能够取得较好的图像分割效果,但果实定位农田工作环境的复杂性,使得如何构建有效的颜色特征组合成为一个重要且困难的问题。
对于存在遮挡和重叠的果实,使用颜色特征分割确定果实质心往往效果欠佳,通常使用如凹凸等形状特征进行检测[13-14]。且由于某些果实易破损,不能直接抓取,需要定位果梗等位置,因此需要使用其他特征进行目标检测[15]。因此在随后的研究中,对果实分割后的轮廓进行圆拟合,确定果实在图像中的区域。通常会使用Hough、RANSAC、最小二乘法[16]等算法对圆进行拟合。同时,对于绿果或其他颜色与环境差异较小的果实,往往通过曲率[17]、纹理等特征综合起来识别果实。
若仅依靠深度图像完成识别和定位,由于没有使用到彩色图像的信息,受颜色特征影响较小[18]。因此可以有效地解决果实与背景颜色差异不显著、外界阴暗或强曝光等问题。所以有的研究对整个图像进行三维重建,获得整个拍摄区域的三维坐标,再从三维场景中识别出果实[19]。或是通过对深度图像进行阈值分割,提取出果实区域求质心定位[20]。同时,点云数据可以很好地表示三维信息,因此常被用于果实等农产品的识别与定位[21]。
近年来,随着深度学习的迅猛发展,以YOLO[22-23]、RCNN、SSD 为代表的目标检测模型和以Mask-RCNN[24]、U-Net 为代表的语义分割与实例分割模型等深度学习模型逐渐被用于果实的目标检测。研究了不同光照下深度学习模型的性能[25]。模型只是在COCO、PASCAL VOC、ImageNet 等大规模数据集上进行了预训练,使用时由于检测对象的特殊性,需要建立相应的较小的数据集对模型进行微调。有许多研究者对深度学习模型进行了改进,或针对特定的研究对象建立了相应的数据集用于训练神经网络[26],如小目标难检测的龙眼[27]。但深度学习模型往往较为巨大,对硬件设备的算力有较高要求,部署成本高昂,因此在确保检测精度的同时对模型进行轻量化改进也是一个重要研究方向[28]。
2 相机标定
由于相机镜头多为球面,拍摄出来的图片普遍存在畸变。如果需要从相机中获得真实世界的位置信息,就必须对相机进行标定,校正图像畸变。从参数解算角度可将相机标定分为基于最优化算法的标定[29]、基于遗传算法的标定[30]、基于变换矩阵的标定[31]、基于神经网络的标定等。目前果实视觉定位的研究普遍采用了张正友标定法。
目前常用的标定方法是张正友教授在1998 年提出的张正友标定法,该方法精度不如Tasi 算法[32],但求解简单、精度高且鲁棒性强、实用性高,适合日常标定应用及精度需求一般的生产。张正友标定法在已知棋盘格标定板形状尺寸信息的前提下,提取参照物影像角点作为控制点,构建像素与空间坐标对应关系方程组,再利用优化算法计算参数。需要注意的是,为了保持旋转不变,在使用棋盘格时,棋盘格行列数必须一奇一偶。随着技术的进步,后期还发展出了实心圆[33]、同心圆环[34]、ArUco[35]、ChArUco[36-37]等。标定板材料通常有两种,即苏打玻璃、陶瓷材质。目前MATLAB、OpenCV、Kalibr、HALCON、Small Vision System(SVS)[38]都提供了张正友标定法的标定功能。
3 果实定位方法
目前所采用的果实定位方法都采用了三角测量原理。定位算法可分为两大类,主动式和被动式。主动式定位算法需要通过传感器对果实发射信号,通过返回的信号对果实进行定位。具有代表性的方法有:深度相机、激光等定位技术。被动式定位算法不需要发射信号,而是根据二维图像信息对果实进行定位。具有代表性的方法有:双目视觉定位、双目视觉、深度学习等定位技术。
主动式的深度相机主要有两种:结构光相机[39]和TOF 相机。结构光相机依靠投影仪将编码的结构光投射到被拍摄物体上,然后由摄像机进行拍摄,获取结构光的变化,将其转换为深度信息,进而获取物体轮廓;TOF 相机通过向目标连续发送光脉冲,然后依据传感器接收到返回光的时间或相位差来计算与目标的距离。这两种相机可以较容易实现果实定位,算法复杂度较低,使用这两种相机定位的方案往往侧重于研究果实的检测问题,如通过Mask-RCNN 分割出果实区域,再用结构光相机进行三维重建[40]。
利用激光设备辅助视觉对果实进行定位也是一个重要的研究方向[41],甚至有观点认为该方法优于单纯的视觉定位方法[42]。其原理与TOF 相机类似,基于相机拍摄的图像检测果实,将激光点或激光线投射到果实上,然后用传感器捕获其反射。实际使用中往往将激光测距仪与相机结合。如从单目相机获取的图像中提取苹果质心,采用舵机云台控制激光测距传感器将激光点打在苹果质心上,测量苹果到激光传感器的距离。将两个方向上的夹角和苹果的距离组成的球坐标转换为果实三维坐标[43]。使用激光扫描仪平移定时扫描棉花,根据扫描仪和运动信息获得棉花的三维坐标[44]。在许多的研究中,为了确定果实的实际位置往往是通过激光测距仪进行定位的[45]。
单目视觉定位的主要方法有两种:基于单帧图像的定位方法和基于两帧或多帧图像的定位方法。单帧图像定位可分为有人工标志和无人工标志两类[46]。前者是通过图像中特征及特征线的空间信息与图像的映射关系定位[9],后者是利用目标的平行、正交等几何特性定位。基于两帧或多帧图像的定位方法有运动恢复结构(SFM)和多视图立体视觉(MVS)这两种典型的方法。仅用单目RGB 相机从不同位置对果实进行拍摄,通过相机运动来确定果实的空间和几何关系。从相机的运动情况中得到不同时刻的相机之间的旋转和平移参数。为了使得旋转和平移参数更加准确,会使得相机尽量只在一个自由度上平移[47]。使用惯性传感器检测运动信息,从而实现单目视觉定位也是一种可行的方法[48]。单目视觉定位的不足是不适合定位受扰动状态的果实,实时性不高,对于精确定位存在较大的误差。
双目视觉定位基于视差原理,难点是图像的立体匹配,寻找左右图像中与实际场景同一三维点相对应的像素点。立体匹配方法可分为基于特征点的方法[49]和基于区域的方法[50-51],质心匹配是一个常用且有效的方法,因为许多果实的形状与球形较相似,双目相机拍摄出来的左右视图中同一个果实的质心在三维世界中十分接近,是非常有效的匹配点,同时其计算量小,被广泛运用在果实定位中[52-53]。除了平行双目相机方案外,还存在用两个相机呈夹角布置的方案,当两个相机都拍到果实时,采摘漏斗正对柑橘果实,但是该方案不计算实际三维坐标,应用受限[54]。
近年来,随着深度神经网络的迅速发展,基于深度学习的单目深度估计得到了广泛的研究,并取得了良好的精度。根据不同的训练方式,有代表性的训练方法可分为有监督的、无监督的和半监督的。各种神经网络例如卷积神经网络(CNNs)[55]已经证明了它们对解决单目深度估计问题的有效性。但对像素进行标注的有监督学习是昂贵且困难的[56],而无监督方法的性能与有监督方法还有很大差距,因此自监督等方法被应用到了果实的深度估计中,以实现三维定位[57]。
4 结论
果实自动采摘技术有利于解决目前果实采摘过程占用大量劳动力的问题,视觉定位是其中的关键技术。目前的果实定位工作主要面临着以下几方面的问题:
一是野外作业环境复杂,对果实的目标检测是个巨大的挑战。虽然深度学习技术在野外对果实的识别效果泛化性优于传统基于颜色和形状的方法,但是其落地部署还有很多问题尚待研究。二是在建立图像坐标系到世界坐标系的映射模型时,映射结果的误差也会影响定位精度。深度相机在室外的工作效果往往不甚理想,而双目视觉特征匹配难度高,因此常常使用质心匹配代替。虽然目前使用三维重建从深度信息中分辨果实目标和定位,有不受外界光照、果实性质影响的优势,但定位识别准确性有限且对算力要求高。