基于图像处理的作物行识别算法研究进展
2022-05-27刁智华闫娇楠赵素娜贺振东
刁智华,闫娇楠,赵素娜,贺振东
(郑州轻工业大学 电气信息工程学院,河南 郑州 450002)
农业机器人视觉导航已经广泛应用于农作物种植、除草、施肥等农业环节[1-2],可以有效减少人工劳动强度,提高作业精度与作业效率[3]。而作物行识别可以为农业机器人的自动导航和行间除草提供依据,是农业智能化的重要组成部分[4],促进智慧农业的发展。
传统作物行识别技术包括图像预处理、特征提取、作物行拟合。经过预处理技术能减少图像中杂草和土壤等因素的干扰,为后面的图像处理节省计算量;通过特征提取使得作物行的定位更准确,提高作物行识别的精确性;获得作物行信息后,对经过一系列处理的作物行进行直线拟合。国内外研究者对以上技术进行了深刻的探讨,并取得了丰硕的成果。
随着智慧农业的发展,对作物行识别精度和速度的要求不断提高,传统的作物行识别算法存在明显的不足。近几年,深度学习(Deep learning,DL)成为农业领域的研究热点,特别是在病虫害检测、农作物及杂草检测与分类、农业障碍物检测等智能农业领域。DL 的优势是能更好地提取农业领域所采集图像和结构化数据的各种特征,并与农业机械有效结合,对农业领域智能化机械设备的研发意义深远。综述了基于图像处理的作物行识别的两大研究热点——基于传统方法的作物行识别和基于DL的作物行识别,并针对现在研究中遇到的问题,对未来的发展做出展望。
1 基于传统方法的作物行识别
1.1 传统识别方法关键技术
1.1.1 图像预处理 大田环境下杂草、阴影、非目标区域等因素会对作物行的识别产生干扰,直接识别较难获得理想效果。通过灰度化可增大目标区域和非目标区域的颜色区分,将RGB 色彩图像转换为HIS[5]、YCrCb[6]、Lab[7]等色彩模型可消除部分阴影干扰;通过合理的设置感兴趣区域(ROI)[8-9]可减少非目标行的干扰,减少计算量。通过二值化将灰度化后图像变成黑白色,使作物和背景区分得更清晰,常用的二值化方法有最大类间方差法(OTSU)[10]、迭代阈值法[11]、固定阈值法[12]、混合阈值法[13]等。通过滤波及形态学算法可以去除掉点状噪声,并通过腐蚀、膨胀对作物行加以修正。
1.1.2 特征提取 在机器学习、模式识别和图像处理中,特征提取的好坏对泛化能力有至关重要的作用。准确提取作物行的特征能避免直线拟合时出现偏行、错误行。特征提取方法一般有方向梯度直方图(HOG)[14]、尺度不变特征变换(SIFT)和ORB 算法[15]。它们各自的特点如表1所示。
表1 特征提取方法特点Tab.1 Features of feature extraction methods
1.1.3 作物行拟合 国内外学者对作物行拟合方法展开了大量研究,主要包括最小二乘法[16-18]、Hough 变换法[19-21]、垂直投影法[22-23]等,特点如表2所示。
表2 作物行拟合方法特点Tab.2 Characteristics of crop row fitting methods
1.1.3.1 最小二乘法 最小二乘法是勒让德在19世纪发现的,是一种数学优化方法。基本原理是通过计算最小化误差的平方和,寻找数据的最佳函数匹配。在进行直线检测时通过对n个点拟合,使距离拟合直线的总体误差最小。在作物行直线检测时选取的n个点通常是作物行具有代表性的特征点,运用聚类算法对特征点聚类,最小二乘法对聚类后的特征点进行直线拟合,获得作物行的位置信息。
宋宇等[24]根据垂直投影图找出玉米根茎峰值点,对峰值点筛选提取玉米根茎定位点,该方法剔除大块的玉米叶片噪声的影响,减少了运算量,采用基于已知点的最小二乘法拟合提取作物行特征点,不仅提高了实时性,而且降低了算法的复杂度。ZHANG 等[25]在作物行检测过程中,先后应用位置聚类算法和最短路径法确定最终的聚类特征点集,最后采用基于最小二乘法的线性回归方法对作物行进行拟合。MONTALVO 等[26]提出一种用于高杂草压力下玉米田图像作物行的检测方法,用双阈值分割杂草和作物,作物行检测采用最小二乘线性回归进行直线调整。曾宏伟等[27]在小麦已收割和未收割区域对比度很低的情况下,通过扫描二值图像的边界点,对获得的边界点进行最小二乘法直线拟合,不易受作物生长密度和麦茬的干扰,能够精确地提取出小麦边线。王侨等[28]基于离群特征点去除后的最小二乘法进行线性拟合,可快速实现不同环境因素干扰下的多条作物行线的同步检测。
最小二乘法识别作物行算法简单,在高杂草压力下的识别效果不佳,通常要借助先验知识来提高识别精度。
1.1.3.2 Hough 变换法 Hough 变换是图像处理领域内从图像中检测直线的方法之一。Hough变换直线检测的基本原理在于利用点与线的对偶性,即图像空间中的直线与参数空间中的点是一一对应的,参数空间中的直线与图像空间中的点也是一一对应的。
基于Hough 变换的作物行识别抗干扰能力强,对图像中直线的残缺部分、噪声以及其他共存的非直线结构不敏感,能容忍特征边界描述中的间隙。王晓杰[29]对特征点图像进行Hough 变换,利用Kmeans 聚类算法检测作物行直线形成的消隐点,基于消隐点,识别出正确的作物行。但该算法无法在复杂条件下检测作物行。为了降低计算的复杂度,刁智华等[30]提出了一种改进的Hough 变换算法,Hough 变换参数θ空间的范围采用45°~135°,减小了计算量,保证了精度。然而,在一些特殊情况下,如杂草过多、天气恶劣时,该算法不能很好地提取作物行信息。针对农业机器人视觉导航中存在的阴影干扰问题,安秋等[31]采用了一种光照无关图的方法,并用优化的Hough 变换提取作物行中心线。ZHANG 等[32]应用改进的序列聚类算法和Hough 变换检测幼苗行线,该算法在仿真环境中是有效的。为了与农业机械有效结合,算法的处理速度要快,高国琴等[33]采用Canny 算子进行边缘检测,提取图像边缘离散点,利用Hough变换对离散点进行拟合。整个图像处理流程,单幅图像处理时耗降低53.26%,系统实时性能好。
Hough变换算法能同时识别图像中的多条作物行,但存在对杂草敏感、计算量大及峰值检测困难等问题。
1.1.3.3 垂直投影法 由于作物行的提取需要一系列的定位点,而定位点需要在指定区域中进行提取,基于垂直投影的作物行提取算法将农田图像分割为若干条形图,然后在图像列方向上进行像素累加,作物在垂直投影图上显示为波峰,作物行间显示为波谷,通过波峰的坐标可以得到作物行的定位点。SOGAARD 等[34]较早阐述垂直投影法,用该方法分割目标区域和非目标区域,确定作物行数和作物行中心线候选点。孟庆宽等[35]基于二维直方图的模糊C聚类算法分割玉米和土壤背景,在分割后的图像中作物行为白色,利用垂直投影法对白色像素进行投影,获取作物行位置和个数信息。袁佐云等[36]提出了基于垂直投影法的作物行定位方法,利用稳健回归法对定位点进行线性拟合得到作物的行中心线。孟庆宽等[37]对二值图像灰度垂直投影,获取作物行特征点,解决了常规识别算法存在的实时性差、准确性低等问题。
1.1.3.4 其他 除了上述的作物行识别方法外,国内外学者还提出了许多方法。姜国权等[38]用中心线检测算法代替垂直投影法获得作物行信息。马振[39]研究了基于轮廓查找与线扫描的作物行检测算法,利用作物定位点所在直线斜率一致的原则,有效解决了缺株情况下的问题。ROMEO 等[40]应用一种基于图像透视投影的方法进行作物行检测,该方法搜索沿直线对齐的分割绿色像素的最大累积量。ZHANG 等[41]使用LoG 算子提取作物行边缘信息,提取效果与真实行的边缘边界一致。FENG 等[42]将植物描述为一组连接的组件,基于角度公差和距离公差建立判断模型,通过两步遍历将基于该模型的同一行中的连接部件合并,得到植物行的轴。TENHUNEN 等[43]对图像块应用傅立叶变换获得行之间的信息,分段地获得尝试性聚类,通过主成分分析得到精确的播种线位置。LI等[44]设计了一个基于FPGA 架构的流水线式作物行检测系统,能满足复杂田间条件下农业机器人的实时性要求。
传统的作物行识别出现时间早,算法较为成熟。国内外学者通过对传统作物行识别算法进行不断的创新和改进,解决了田间杂草压力大、作物行不连续等问题带来的作物行识别效果不好的难题。为更好地应用于农业机器人,学者对作物行的识别速度和精度要求在不断提高。
2 基于DL的作物行识别
2.1 DL简介
DL 最早由HINTON 团队于2006 年提出。HINTON 等[45]提出了在非监督数据上建立多层神经网络的方法,这一方法具体分为2 步:第一,逐层构建单层神经元,每次训练一个单层网络;第二,当所有层训练完后,使用wake-sleep 算法进行调优。2012 年,HINTON 团队采用正则化方法改进了卷积神经网络,并在ImageNet 分类竞赛上,将错误率降低至15.3%[46],这一突破标志着基于DL 繁荣的开始。2015 年,LECUN 等[47]对DL 进行了综述,DL 是具有多层次的表示学习方法,通过组合简单但非线性的模块获得,每个模块将一个层次的表示转换为更高、稍微抽象的层次的表示。有了足够多的这种变换的组合,就可以学习非常复杂的函数。
特征学习是DL 的一大特点,它可以从原始数据中自动提取特征。典型的DL 模型有卷积神经网络(Convolutional neural network,CNN)[48-49]、深度置信网络(Deep belief network,DBN)[50]、堆栈自编码网络(Stacked auto-encoder network,SAE)[51]。CNN 是一种前馈神经网络,能够将大数据量的图片有效地降维成小数据量,而且不影响结果,类似人类的视觉原理,能够保留图片的特征。DBN 是一个概率生成模型,由多层随机隐变量组成,上面的层无向对称连接,下面的层自顶向下有向连接,最底层为可见输入数据向量。SAE是一个2层的神经网络,第1层为编码层,第2 层为解码层。CNN 是农业中最常用的网络模型,如图1所示。
图1 CNN网络结构Fig.1 CNN network structure
从图1可以看出,图像作为输入层,接着是卷积层,卷积层的激活函数使用的是ReLU。在卷积层后面是池化层,卷积层+池化层的组合可以在隐藏层出现很多次,图1 中出现2 次。在实际运用的过程中这个次数是根据模型的需要来定的。可以灵活使用卷积层+卷积层,或者卷积层+卷积层+池化层的组合,这些在构建模型的时候没有限制。但是最常见的CNN 都是若干卷积层+池化层的组合,如图1 中的CNN 结构。在若干卷积层+池化层后面是全连接层。经过这一系列的操作就可以获得图像的特征信息。
2.2 DL在农业中的应用
DL是解决计算机视觉、语音识别和自然语言处理等大数据问题的一种强有力的方法。目前在农业领域中的应用越来越广泛,如植物识别[52]、病虫害检测[53]、农作物目标分类[54]、农业障碍物检测[55]、农产品产量估计[56]等。DL 在农业方面的应用,打开了农业现代化的大门,DL 算法为农民构建有用的工具,使农业管理走向高效性、科学性。
在DL 的快速发展下,农业领域中各种网络架构相继出现,MILELLA 等[57]为了检测葡萄表型,用了AlexNet、VGG16、VGG19和GoogLeNet 4个深度学习框架。SUNGCHAN 等[58]在评估棉花的种植密度中,利用YOLOv3网络架构分离、定位和计数苗期棉花植株。利用DL 较好的识别效果,能更精确地识别出作物行线,使农业机器人在田间行走的过程中减少对农作物的损害。
2.3 DL在作物行识别中的应用
DL 较其他算法展示出明显的优势,能提高检测、识别等准确率;较传统方法虽然训练的时间长,但识别时间短;可以通过运用图像剪裁扩增数据集来训练模型,节省在复杂环境中收集图像信息的工作量。因此,DL在农业领域中越来越受到关注。国内外学者基于DL 对作物行识别进行了大量的研究,效果显著。吕盛坪等[59]研究了DL在我国农业中的应用现状,从预处理、模型框架以及性能对比等角度进行了综述。BAH 等[60]使用CNN 和Hough 变换来检测图像中的作物行,与传统方法进行定量比较,显示了最佳和最稳健的结果。PONNAMBALAM等[61]应用SegNet语义分割,然后进行作物行拟合,所提出的方法可以在实际领域中在线运行。LUCAS等[62]在CNN 方法中实现了2 个分支架构,同时检测植物个体和种植行,在该方法中实现新的功能,能克服未来关于种植模式的不同挑战。ADHIKARI等[63]利用“语义图形”训练CNN,然后训练一个增强的卷积编码器-解码器网络,直接学习作物线的概念,在真实的农场环境中表现出稳健的性能。
3 作物行识别展望
3.1 作物行特征训练选择研究
特征选择的目的是通过相关算法选择合适的特征集构建模型,但在特征选择的过程中会面临许多问题,例如特征训练数据集中特征变量不足,特征训练数据集不能够充分反映整体特点等。在获取大量特征时,需要通过相关算法筛选相关性强的特征信息,能够准确地反映作物行的情况。目前作物行识别算法的种类较多,但精度不高。未来,在对作物行特征训练问题上,需要深化特征训练算法,优化算法的精度,提高模型的识别效果。
3.2 最佳观测角度研究
在实际应用中,智能农机拍摄图像识别作物行,农机在复杂的农田环境中完成行走,复杂的农田环境包括杂草压力、作物行特征不明显、行线弯曲等。这些因素都将影响作物行识别精度。因此,需要结合各种作物行识别方法,开展作物行的最佳观测角度研究。另外,近年来无人机技术发展迅速,它具有机动、灵活的特点,搭载低成本传感器可获取时间、空间分辨率高的图像,尤其适合田块尺度的观测,基于无人机的作物行识别也将是未来研究方向之一。
3.3 扩大作物行数据库规模研究
近年来DL 算法在作物行识别上受到关注,从DL 增强模型泛化能力方法来看,往往采用随机旋转、左右翻转、上下翻转、随机裁剪等方法来增加数据集的规模及样本多样性。但因为数据集本身不具有代表性,所以并不能很好地提高模型的泛化能力。如何用有限的作物行图像识别出精确的作物行,可以尝试采用生成式对抗网络生成作物行图像数据来扩充数据规模,以增强DL 模型在各种复杂条件下识别作物行图像的泛化能力,同时有效缓解DL模型的过拟合问题。
4 结论
从作物行识别算法层面综述了传统作物行识别和DL 作物行识别。传统识别技术发展较为成熟,解决了作物行识别过程中遇到的缺株导致作物行不连续、高杂草压力等问题。在实验室条件下取得了较为满意的效果,但在实际应用过程中传统识别方法实时性差,识别精度达不到预期的要求。随着DL 算法的推广,在农业领域受到高度重视,它不仅能提高作物行识别准确率,还具有很好的泛化性和通用性。CNN 是作物行识别最常用的网络模型。通过深入研究DL 模型,提出改进措施,进一步优化特征训练算法的精度和样本的数据库规模,有待进一步将DL 研究成果融入农机装备和装置,以真正落实理论成果,推动智慧农业的发展。