王 昊,祝玉华,李智慧,甄 彤
1.粮食信息处理与控制教育部重点实验室(河南工业大学),郑州450001
2.河南工业大学 信息科学与工程学院,郑州450001
随着农业生产技术的不断提高和种子市场的不断扩大,种子检测变得越来越重要。农作物种子检测不仅可以保障农作物的良种繁育,提高农作物品种的质量和产量,还可以防止种子携带病毒、病菌和杂草等有害因子传播,从而保证作物的生长健康和安全。
农作物种子检测常用的方法有人工检测、机器视觉技术等。机器视觉是人工智能一个快速发展的分支,利用计算机模拟人的视觉功能获得图像后传送给专用的图像处理系统,实现目标的检测,主要分为传统机器学习及深度学习技术两大类。目前,机器视觉技术在农业中广泛应用于作物病害识别[1]、农产品分级[2]、粮虫识别[3]、粮库去雾去噪[4]等领域。
在农作物种子的检测中,传统的机器学习技术分为图像采集、图像预处理、特征提取、识别检测4 个步骤。而深度学习技术则是利用卷积神经网络自动提取特征并输入模型进行训练,最终根据训练得到的模型完成检测。
传统的机器学习中,对于预处理和特征提取部分主要使用图像处理技术,如滤波、去噪以及图像增强技术对图像进行预处理,再提取农作物种子的轮廓、纹理等特征。最终将提取的特征人工进行特征融合,用于训练网络,完成农作物种子的检测任务。而深度学习技术通过卷积层、激活层、归一化层和池化层的不断叠加,可以自动提取出农作物种子的特征并进行训练。随着深度学习技术的不断发展和应用,目前基于图像处理的农作物种子检测研究已经成为粮食行业研究的热点。
农作物种子的检测方式大多是采用人工手动挑选识别的方式,费时费力,效率低,并带有很多人为主观性。在机器学习未曾兴起的年代,李学富[5]为了克服检测环境光线暗的问题,研制了一种带有辅助光源的粮食不完善粒检测板,其利用前光和背光原理构成,曾极大程度上方便了检测人员的工作。于永华等[6]也利用镜面反射,通过在一个木框内插入一个平面镜来反射玉米背面,从而减少了对农作物种子翻面的步骤,提升了检测效率。
而之后机器学习兴起,由于其准确率和实时性高的优点,已经逐渐代替了人工识别检测。
在图像采集的方式上,主流的分为光谱技术和线性CCD(charge-coupled device)拍摄两种。而光谱技术的使用又大致分为两个阶段,近红外光谱技术和高光谱检测技术。
杨琳等[7]通过近红外光谱技术采集并提取了玉米种子的7个主要光谱特征,利用集成学习技术成功预测了玉米种子含水率,实现玉米种子含水率快速、无损、稳定的检测。近红外光谱技术虽然可以对各种形态的种子样本进行完整成分分析,但是目前缺少对种子样本检测和形态等因素处理的方式,导致会对最终的结果产生一定的误差。而高光谱技术可以最大程度地获取籽粒的形态信息、光谱信息及纹理信息,解决了近红外光谱的误差问题。吴静珠等[8]对玉米种胚朝上和种胚朝下分别进行了高光谱反射图像的采集,并针对现有光谱检测模型单一、识别精度易受采集图像质量影响等缺点,将高光谱检测技术与集成学习相结合,建立了预测精度高、稳健性好的单粒玉米种子水分检测模型。而高光谱设备面临着价格昂贵、操作不易等缺点,因此没有大面积推广到实际应用中。
在未来的农作物种子检测上,为减少训练成本以及广泛使用机器学习技术,出现了另一种较为方便快捷的采集图像方式,就是利用扫描仪或者CMOS(complementary metal oxide semiconductor)工业相机来拍摄种子图像,如图1所示。
图1 图像采集设备Fig.1 Image acquisition equipment
冯晓等[9]利用手机,并手动对玉米籽粒翻面,拍摄了玉米籽粒的两面图像,通过综合籽粒两面的特征,有效避免了误差的可能,最终提升了识别率。但手动摆放种子拍照的方式,无法进行实际应用。权龙哲等[10]设计了一种基于电磁振动的装置来摆放和拍摄玉米粒。将玉米粒群拆分成单个玉米籽粒流之后进入CMOS拍照区域进行图像采集。但是其分粒装置不仅搭建复杂,成本高,且效率过低。Ni等[11]设计了一种具有两级粮食分配器的装置,利用两个正交的电机,使得两个摄像头可以同时对种子内核的两侧进行采样,满足了玉米种子拍摄双面的需求。但在实际应用时,这样的设备搭建方式无法满足多数检测场景的需求。Gao等[12]搭建的图像采集平台,包括工业相机支架、电磁测振仪、托盘、光源、工业相机,将CMOS 相机、光源固定立于底盘上方,成本低,易于搭建,是现如今常用的方法。
故通过工业相机拍摄实现检测的智能化、高效化,同时成本低、精度高的图像采集方式,完美贴合了实际需要,是今后应用的主流。本文会围绕该方法详细叙述农作物种子的检测。
图像预处理目的是为提取农作物种子的特征做准备。按照国家规定的粮油检测标准[13],人工检测前会通过手筛或电动筛选器对检测样本进行初步筛选,进而按照检测对象进行称重以及后续一系列检测。但其耗费大量人力物力,效率低。之后出现了机器视觉技术,才开始将农作物种子图像应用到检测中。
近外光谱技术采集的图像在输入网络前通常会进行特征筛选。利用多元散射校正算法(mark and sweep with compacting,MSC)对光谱图像进行初始处理,然后结合种子内部有机物质的近红外光谱的敏感波段和样本近红外光谱吸收峰挑选优选区间,最终借用主成分分析和因子判别分析算法挑选几个最适合检测目标的光谱特征成分建立判别模型,避免计算量过大以及无关因素的影响。孟繁佳等[14]利用CA(cyanidin accumulation)、SPA(single photon absorption)、CARS(coherent anti-stokes raman scattering)3 种特征波长分别提取了玉米光谱图像最优波长,输入支持向量机(support vector machine,SVM)后,使用网格搜索法结合十折交叉验证法对模型参数进行优化,最终对玉米种子穗腐病达到了90%的识别率。
之后出现的高光谱图像能同时捕捉到被测样品的光谱信息和图像信息,预处理过程中会首先采取阈值分割算法获取样本像素级标签后再对样本全部像素的高维光谱信息进行主成分分析(principal component analysis,PCA)光谱降维,挑选出主成分光谱特征后输入网络进行训练,避免了使用近红外光谱图像进行检测导致的误差。王立国等[15]获取了不同品种玉米种子在400~1000 nm 范围内的高光谱图像和提取了样本全部像素的203 维光谱信息,对其使用PCA 算法提取出了玉米种子的8 维光谱特征信息后,借用卷积神经网络(convolutional neural networks,CNN)进行训练,对玉米种子样本的识别精度最终达到了100%。
利用光谱信息进行农作物种子检测虽然取得了一定成效,但是对光谱信息的处理太过繁琐,专业性较强,并且高光谱设备价格昂贵,因此无法大面积普及使用。故退而使用成本低、方便、快捷的CCD 相机拍摄图像,并在预处理过程中运用图像处理OpenCV(open source computer vision library)库对图像进行分割等各种处理以满足后续的检测。
基于OpenCV 的分割方法通常有基于边缘、阈值、区域、图论、能量泛函、形态学、像素聚类7种方法。
目前对于玉米种子的分割主要是利用基于数学形态学的方法、基于阈值的分割法、基于区域的分割法这三种方法,但更多的是对以上方法的结合使用。如图2,首先利用基于阈值的方法,通过设置阈值完成玉米种子与背景图的分离,然后采用形态学处理的方法进行开并运算,去除玉米种子二值区域内的冗余信息,最终定位到玉米种子的轮廓区域完成玉米种子的分割[16]。也有通过基于阈值的方法获取玉米种子的二值区域后,通过形态学处理和距离变换算法得到种子边缘区域,最终创建掩码图像结合计算得到种子的边缘区域完成分割[17]。但是这两种方法基本的思路都是一样的。
图2 玉米籽粒分割流程Fig.2 Corn kernel segmentation process
深度学习的快速发展,更多的人利用深度学习网络进行图像分割,如U-Net[18]网络,但其依赖于大量的训练样本,如何高效率低成本地实现农作物种子的准确分割识别仍是当下的热点问题。目前,农作物种子检测主流方式以及后续的发展还是通过工业相机来拍摄图像,进而预处理后用于网络训练。
传统机器学习的初期,大多数学者只是利用图像处理技术对农作物种子图像进行简单的处理完成识别。张俊雄等[19]搭建了一个基于种子反射光的图像采集平台,成功去除了种子表面裂纹检测中的头部伪裂纹边缘干扰。通过图像处理技术对玉米籽粒图像进行边缘提取,再利用籽粒的形态学特征实现裂纹的自动提取和测量,最终以两个玉米品种为实验对象,达到90%以上的裂纹识别率,证明了通过图像形态特征进行识别的可能性。张楠楠等[20]也将拍摄的玉米粒图像转换到HSV(hue,saturation,value)空间中,利用V分量的阈值识别出了霉变玉米颗粒,又通过H、V分量的阈值区分了轻度和严重霉变颗粒,最终对正常玉米颗粒、轻度霉变玉米颗粒、严重霉变玉米颗粒的识别正确率分别达到了93.7%、80%、92.9%以上,有效地检测了玉米霉变状况。之后闫彬等[21]将基于模糊集和浮雕算法的图像增强方法与基于小波变换模极大值的边缘检测算法进行结合,成功凸显了玉米种子的裂纹区域。最后将原始图像与处理后的图像相乘,并经过形态学处理去除了种子轮廓区域的噪声后,成功完成了对玉米种子内部裂纹的识别,平均准确率达到了90.6%。为实现裂纹玉米种子的自动化识别提供了新方法,证明了机器视觉技术用于农作物种子裂纹检测的有效性。
之后随着神经网络的普及使用,越来越多的学者开始使用该方法进行农作物种子图像分析。Wang等[22]将玉米粒的形态、颜色与水分含量联系在一起。在12%到32%的不同水分含量下,通过获取4 个玉米品种的184个单独籽粒的彩色图像和重量,筛选提取出了关联玉米种子水分联系程度最大的23个形态特征和24个颜色特征。然后对每个玉米品种,使用4 个特征集(形态、颜色、形态颜色和重量形态颜色)线性回归拟合水分含量,揭示了结合图像特征和重量来快速测量玉米粒水分含量的可能性。采用线性回归的方法进行关系拟合,简单直观,易于理解和实现,但其对数据的要求较高,且一般事物不会保持绝对线性,故会出现较大误差。之后崔亮[23]设计了一种结合计算机视觉、图像处理以及模式识别的农作物种子自动计数系统,并使用改进的模糊聚类算法(fuzzy C-means algorithm,FCM)和SVM 分类器对不同粘连程度的情况采用不同的方法分割,达到了比较好的检测效果。但其缺点是利用SVM人工选取参数会造成一定的误差。
鉴于SVM 等神经网络结构比较简单,导致识别精度易受人工选取特征的影响,故后续的学者开始使用随机森林(random Forest,RF)[24]等较复杂的神经网络进行训练。吴静珠等[8]使用高光谱设备对玉米种胚朝上朝下两种图像进行了采集,并在拍摄时使用多元散射校正法消除了噪声干扰,最终使用改进的RF 集成模型对玉米种子水分含量进行了预测,验证了高光谱检测技术结合集成学习算法的可能性。建立的玉米种子水分检测模型预测精度高,稳健性好,证明了通过高光谱技术快速无损检测单粒玉米种子水分实际应用的可行性。但RF需要构建多个决策树,因此计算量较大。王超鹏[25]使用I-Relief(iterative relief feature elimination)算法对预处理过后的玉米种子霉变RGB图像进行了特征变量的筛选,选取有效特征变量后,结合机器学习算法训练合适的分类器完成了对霉变或破损种子的识别。汪勇[26]在对玉米粒图像进行预处理后,提取了玉米种子的8个特征参数,最终利用人工神经网络的方式对“郑单958”“农大108”“鲁单981”“京科25”“京丰8号”共5个品种玉米种子进行识别,分别达到了92%、90%、92%、94%、94%的识别率。至此机器学习开始大量应用于农作物种子检测上。
综上,证明了传统机器学习在农作物种子识别上的成功应用,在具有高精度的基础上,实现了检测的自动化、智能化,已经逐渐代替了人工检测。但传统机器学习是一种基于特征提取和手工设计特征的机器学习方法,通常采用浅层模型,如支持向量机(support vector machine,SVM)、决策树和随机森林等。但是SVM缺点是依赖于人工特征提取,即需要人工对数据进行分析和特征选择,决策树和随机森林等也存在着计算量大、成本高等问题。而深度学习是一种基于多层神经网络的机器学习方法,可以自动地从原始数据中学习特征,并通过深层次的非线性变换实现高级特征提取,可以自动学习数据中的特征,不需要手工设计特征。故未来农作物种子应用的主流还是深度学习技术。
深度学习依托深度神经网络,自动提取农作物种子的各种特征,并利用特征自动训练分类器。对于农作物种子的检测,主要有图像分类和目标检测两大方向。
图像分类是使用卷积神经网络自动提取图像特征,并通过分类器不断优化参数和权重的训练过程,以完成对图像的分类任务。训练好的模型可以对输入的图片进行分类,给出图片中物体所属的种类以及概率。图像分类网络主要由输入层、特征提取网络、Softmax分类器和输出层组成。在该网络中,特征提取网络通过卷积和池化等操作提取图像中的特征,Softmax 分类器则根据特征向量输出各类别的概率,并最终通过输出层进行分类结果的输出。
在起初卷积神经网络与传统机器学习的过渡阶段,也出现了LSTM 等神经网络。Yang 等[27]针对现有小麦水分检测方法要么耗时,对环境敏感,要么成本较高的缺点,提出了基于深度LSTM网络的多类别小麦水分检测系统DeepWMD。通过收集Wi-Fi 设备的CSI 振幅和相位差数据进行小麦水分含量检测,并使用5 GHz频段的普通Wi-Fi 设备设计了DeepWMD 系统,包括收集CSI 数据的数据预处理、离线训练和在线测试等功能。实验结果验证了DeepWMD 系统以及LSTM 网络用于小麦水分检测的有效性。但是LSTM 网络的缺点是计算成本很高,因为需要处理大量的参数和计算量。此外,LSTM网络的训练时间也很长。
随着深度学习网络CNN 的普及,针对传统的基于计算机视觉和简单特征提取的方法无法保证较高的分类精度以及LSTM 等网络训练成本过高的问题。Javanmardi等[28]提出了一种利用深度卷积神经网络作为通用特征提取器的新方法,并通过人工神经网络(artificial neural network,ANN)进行训练。在与SVM、K近邻算法(K-nearest neighbors,KNN)、增强树算法进行对比实验中,CNN-ANN 分类器的性能最好,并实现了98%的准确度。证明了利用深度学习网络进行特征提取的有效性。Khaki 等[29]也提出了一种基于滑动窗口的核检测和计数方法,应用非极大值抑制算法(non maximum suppression,NMS)去除重叠检测,使用CNN 进行核检测。最后,分类为内核的窗口被传递到另一个CNN 回归模型,以找到内核图像块中心的(x,y)坐标。所提出的方法成功地检测出玉米粒,并且检测误差很小,甚至能够在一批不同角度的玉米穗上检测到玉米粒,成功将CNN应用于玉米粒检测。但深度学习网络的高精度需要大量的高质量图片数据集进行训练以及网络结构的适配,因此农作物种子分类的重点应该放在后续网络结构的改进以及数据集的扩增和增强上。
在同时期,除了使用图片数据集进行训练,也有一些学者使用光谱图像数据进行深度学习训练,成功识别出了农作物种子。Pang等[30]使用支持向量机、极限学习机和一维卷积神经网络(1DCNN)对玉米粒光谱数据集进行建模,比较了多维散射校正和主成分分析的效果。分析发现,相比于SVM、极限学习机(extreme learning machines,ELM)模型,1DCNN 在原始光谱数据上表现最好,准确率达到90.11%,而基于图像的二维卷积神经网络(2DCNN)模型具有较快的收敛速度,在准确率上也达到了99.96%。实验证明,通过区分光谱和图像信息,各种CNN模型可以实现对目标准确的检测和预测,为推进种子萌发研究提供了研究框架。但是该方法前提是需要建立更全面的种子光谱图像和完整的数据库,需要巨大的成本。同时黄敏等[31]利用高光谱图像技术结合MS-3DCNN模型提出了一种小麦种子的品种识别模型,也通过获取不同品种小麦种子在400~1 000 nm范围内的高光谱图像,并基于SPA算法选择获取了小麦种子的22 个波段高光谱数据,最终输入MS-3DCNN 模型训练取得了96.72%的测试集识别准确率,相较于光谱特征SVM 识别模型和融合特征SVM 识别模型分别提高了15.38%和9.50%。但是该方法同样面临的问题是光谱数据难以采集,数据量、运算成本大,故光谱数据分类农作物种子势必将被淘汰。
随着越来越多的学者开始研究分类网络,出现了VGG[32]、ResNet[33]、GoogLeNet[34]、MobileNet[35]、DenseNet[36]、ResNext[37]等高性能网络。为了提高深度学习网络的分类精度,吕梦棋等[38]对ResNet 网络进行改进,加入了跳跃连接,在卷积层之后加上了归一化操作和ReLU激活函数,并在每个模块结束后加入了Dropout,以此构建了新的网络,如图3。同时,通过使用pairwise confusion loss损失函数,为网络训练提供了更加有效的惩罚目标函数,提升了识别率。
图3 改进后的残差单元Fig.3 Improved residual unit
Xu等[39]也提出了一种改进的模型P-ResNet,引入迁移学习的方法,如图4,并与AlexNet、VGGNet、GoogLeNet、MobileNet、DenseNet、ShuffleNet 和EfficientNet 模型进行了比较。结果表明,P-ResNet模型以无损、快速、高效的方式对玉米种子进行分类,获得了最佳精度。这些结果突出了使用少量训练样本进行深度学习时,迁移学习的优势和潜力。
图4 玉米种子迁移学习和分类过程Fig.4 Process of transfer learning and classification of maize seeds
机器学习和计算机视觉的自动分类技术提供了快速和高吞吐量的解决方案。但分类在品种层面仍然是一个复杂的过程,主要挑战是不同类别种子之间的微小差异。Khatri 等[40]在对小麦种子进行分类的过程中,依据小麦面积、周长、密实度、籽粒长度、籽粒宽度、不对称系数、籽粒槽长度7个物理特征进行训练。最后利用集成学习完成了95%的最高准确度。故今后农作物种子识别分类算法应当偏向于多种网络分类结果的融合。
在分类网络独占鳌头的同时,Transformer[41]以及注意力机制[42]的出现打破了这样的局面。Bi 等[43]设计了一种基于注意力机制和多尺度特征融合的玉米种子品种识别模型MFSwin Transformer。该模型将深层特征和浅层特征结合起来,使模型能够提取更丰富的种子特征。同时,为了避免参数过多造成的过拟合,在主干网络中切断了stage 4,降低模型的参数数量和计算复杂度,如图5。最终提出的网络可以准确、高效地对玉米种子进行分类。另外,将Transformer 引入农作物种子检测,为农作物种子分类提供了新的思路。但是该方法还存在一些亟待解决的问题。通过实验发现,该模型在高度相似种子之间的分类能力还有待提高。未来的研究应该继续优化该模型,使其能够在更复杂的数据集中提供更高的精度,形成能够识别多个相似种子的在线实时识别系统。
虽然Transformer 的出现打破了分类网络通过堆积深度和宽度网络以达到高精度的局面。但Transformer网络训练时间长,对不平衡数据处理困难,且不适用于小规模数据,因此对于农作物种子的适配性不强。
目标检测主要是需要对待检测的图片进行目标定位并分类,常见的目标检测模型有Faster R-CNN[44]、RFCN、YOLO[45]、SSD[46]等。与图像分类仅对图像中的物体进行分类不同,目标检测技术基于目标的几何和统计特征对图像进行分割,将目标的分割和识别合二为一,因此具有非常好的准确性和实时性。在实际应用中,如农作物种子检测,拍摄到的图片中可能包含多种物体,如粮虫、杂质等。如果仅使用分类技术来检测农作物种子,精度和实时性很难得到保障。因此,使用目标检测技术可以更准确地检测出农作物种子和位置。
Zhao等[47]利用电磁振动平台实现籽粒批量排列,在深入研究Faster R-CNN 的基础上,针对玉米籽粒质量检测问题,提出了一种可以直接以彩色图像作为输入的玉米籽粒选择模型,并通过对比不同的epoch参数进行训练,达到了较好的识别效果。但Faster R-CNN 是通过RPN 网络生成候选框,然后再对这些候选框进行分类和回归。这种方法虽然可以提高准确性,但是速度较慢且训练成本高,会消耗大量的训练资源,故需要建立更小更轻量的网络模型。
为了解决上述Faster R-CNN 的问题,并针对玉米种子在外观品质检测中需要快速识别与定位的需求,范晓飞等[48]提出了一种基于改进YOLOv4的目标检测模型,将特征提取网络替换为轻量级网络MobileNetV1,并在模型中增加两个SPP(spatial pyramid pooling)结构。该模型的综合评价指标,平均F1和均值平均精度(mean average precision,MAP)分别达到了93.09%和98.02%。该模型具有鲁棒性强、实时性好和轻量化的优点,为实现种子的质量检测和优选分级提供了有力参考。同样,在YOLOv5出现后,Liu等[49]也利用同样的方式将YOLOv5s骨干网络的focus element替换为Denseblock,简化了骨干网络层的模块数量,减少了冗余信息,提高了网络的特征提取能力。
但不一样的是,在SPP Pooling 层之后增加协同注意力(coordinate attention network,CA)[50]机制模块,这是一种即插即用的模块,如图6。王剑哲等[51]也曾针对图像中的噪音问题,用坐标注意力模块,增大显著性区域权重的同时,抑制了背景噪声,提高了检测精度。同样,李斌等[52]也通过加入混合注意力模块,提高了网络特征提取能力,证明了注意力机制在识别小目标物体时发挥的功效。
图6 CA模块Fig.6 Coordinate attention block
最终,通过加入CA 后,减少了一个大目标检测层,引导网络更加关注小目标的位置、通道、维度信息,提高了对农作物种子小目标识别的精度,并在颈部特征融合层使用GhostConv 代替常规卷积层,减少了浮点计算量,加快了模型推理速度。另外,采用CIoU损失函数[53]作为边界回归损失函数,提高了网络特征提取能力,加强了小目标特征信息的训练。
A和B分别代表先验预测帧和真实预测帧。AB的交集是分子,AB的并集是分母。当A和B没有交集时,IoU 的值为0,如式(1)。其无法映射出先验预测框和真实预测框之间的真实距离,梯度为0,无法优化。因此,在YOLOv5 中引入GIoU 损失函数作为边界预测回归损失函数,如式(2)所示:
改进后的网络模型的准确率、召回率和MAP 值分别达到了92.4%、91.7%和98.1%,图像识别的FPS(frames per second)值达到了97 FPS。在提高识别效率的基础上,提升了准确度。改进后的模型更有利于嵌入式设备的部署,为今后将算法集成进检测设备,并实时检测农作物种子提供了技术支持。
后来,为了解决同种种子之间具有相似特征的问题,Shi 等[54]采用了一种有效的数据增强方法来减少过度拟合,并最大限度地提高了模型的性能和准确性,在调整网络的超参数并分析和扩充iPhone 图像拍摄的数据集后,取得了最高性能,如图7。使用改进的YOLOv5x6算法,将数据增强后的数据集与仅使用原始多麦种子数据集进行训练对比,精度提高了39.5%,召回率提高了27.1%,MAP 提高了40.1%。检测结果显示出该模型的高性能、高鲁棒性,证明了数据增强用于目标检测的有效性,并为后续农作物种子目标检测提供了前进方向。未来的研究应该集中在模型轻量化、高精度,以及更重要的能够部署在智能移动设备上,以真正达到普及使用。
图7 数据集训练全过程Fig.7 Whole process of dataset training
农作物种子的检测涉及方方面面,未来的检测技术仍将以深度学习为主。但关键点应该放在如何提升模型检测精度、轻量化,以及如何部署在自动化机器等一些便捷设备上。如何将各种检测模型结合,并将农作物种子检测的各种需求设计成一台综合自动化检测设备,才能够真正落实到实际,实现真正的价值。表1显示了目前机器视觉在农作物种子识别上的应用。
表1 机器视觉在农作物种子识别上的应用Table 1 Application of machine vision in crop seed identification
通过以上内容可以发现,机器视觉在农作物种子计数、水分、内部裂纹、霉变、品种检测上都具有了一定的研究进展,但是在玉米不完善粒上还缺乏深入研究。玉米不完善粒,是指受到损伤但是还具有一定使用价值的玉米颗粒,包括虫蚀粒、病斑粒、破损粒、生芽粒、生霉粒、热损伤粒[13]。在玉米收购和市场流通中,采用容重作为玉米的定级指标,以不完善粒作为品质的限制指标,并作为增减扣依据。粮食收购最低标准应是当年生产且符合三等及以上等级,四级及以下市场化收购。综上所述,玉米不完善粒的检测对玉米品质的评定有重要意义。
目前常见的玉米不完善粒检测方法是人工检测,通过目测和测量玉米粒的质量、容重,来分选玉米不完善粒的种类。如观察到霉状物就定位为霉变粒,观察到玉米粒有胚芽隆起或者凸出种皮就为发芽粒,玉米粒外观良好但存在破损就为破损粒[55]。唐文富[56]通过随机抓一把玉米,目测其饱满度、杂质、饱满的比例,初步判断质量。然后再测量其容重来分选霉变粒、不饱满粒、杂质等成分。但是这种方式费时费力,且受检测人员主观性影响,存在一定的误差。之后开始采取传统机器学习和深度学习的方式检测不完善粒。但与人工检测不同,应用机器视觉技术对玉米不完善粒检测首先会使用算法模型进行分类,然后采用公式计算出不完善粒含量,而不同于人工检测的挑选出直接称量。评价一个多分类算法模型的好坏,通常有下列几个指标。
(1)混淆矩阵(confusion matrix):用于显示每个类别的真实标签和预测标签的对应关系,可以直观地反映模型的分类效果和误判情况。
(2)准确率(Accuracy):指模型正确预测的样本数占总样本数的比例,如式(3):
若一个实例是正类,并且被预测为正类,即为真正类(true positive,TP)。
若一个实例是正类,但是被预测为负类,即为假负类(false negative,FN)。
若一个实例是负类,但是被预测为正类,即为假正类(false positive,FP)。
若一个实例是负类,并且被预测为负类,即为真负类(true negative,TN)。
(3)精确率(Precision):指模型正确预测为正例的样本数占预测为正例的样本数的比例,如式(4):
(4)召回率(Recall):指模型正确预测为正例的样本数占真实为正例的样本数的比例,如式(5):
(5)F1 分数(F1-score):指精确率和召回率的调和平均数,用于综合评价精确率和召回率,如式(6):
(6)ROC曲线(receiver operating characteristic curve):用于显示不同阈值下模型的真正例率(TPR)和假正例率(FPR)的变化情况,其中TPR 是召回率,FPR 计算公式是式(7):
(7)AUC 值(area under curve):指ROC 曲线下的面积,用于衡量模型在不同阈值下区分正负样本的能力,越接近1越好。
为解决采用传统人工检测种子外观品质和种子纯度费时费工、成本高昂的问题,为种子质量的实时检测提供技术支持,机器视觉方法开始应用于不完善粒检测。初期王应彪等[57]采取图像处理技术,选用郑单958、浚单20 和中科11 三种玉米种子,并人工将其分为优质、一般和外观颜色较差三个等级来进行实验。首先将玉米粒图像转换到HSV 空间,在V 空间中对玉米种子的形状特征参数进行计算后,通过设定阈值完成了对长、大、小三类玉米粒的分类,并通过对不同缺陷类型种子的HSV 颜色空间进行分析,将种子分成了优质、一般、劣质三类,但是并没有实现检测的智能化。之后Kiratiratanapruk[58]设计了一种能够容纳大容量种子样本的图像采集机器。该设备不仅能够操作控制减少种子样品上出现光的不确定性水平反射和阴影,从而获得高质量的图像,并且可以完成种子图像拍摄、分割一体化,缩短了检测时间。在图像分类部分,将基于RGB和HSV颜色空间的颜色直方图和基于GLCM(gray-level co-occurrence matrix)和LBP(local binary patterns)的纹理特征结合作为输入,并通过SVM 完成了对玉米种子的分类。将机器学习技术引入到不完善粒检测任务。但是鉴于受选取特征的影响,SVM 精度并不高。故之后学者开始用神经网络的方式进行特征提取。张玉荣等[16]通过工业相机获取了同一品种的七种不同质量的玉米籽粒图像,并利用主成分分析的方法提取了玉米粒的7个主特征,最后建立了7-15-7的三层BP神经网络(backpropagation neural network),对完善粒、虫蚀粒、病斑粒、破损粒、生芽粒、热损伤粒和生霉粒的正确识别率达到了95.00%、90.00%、91.67%、98.33%、93.33%、95.00%和96.67%。在采用神经网络的方式进行检测后,不完善粒的准确率得到了提升,但不可避免地还需要人工挑选特征,直至深度学习的出现,打破了这一困境。
传统的机器学习方法通常需要人工提取特征,往往不够全面,识别准确率有限。因此采用基于深度学习的检测方式解决这一问题。同样,深度学习在玉米不完善粒上的发展也分为分类和目标检测两个大类。
Huang等[59]将卷积神经网络与迁移学习应用到种子的分类中,并与传统机器学习进行比较,实验结果准确率分别达到了95%(GoogLeNet)和79.2%(SURF(speededup robust features)+SVM),证明了深度学习算法在玉米籽粒分类上明显优于机器学习算法。王林柏等[17]也利用分水岭算法对玉米粒群图像进行分割后输入改进后的InceptionV3 模型,并与VGG、ResNet 网络进行对比。实验发现,改进后的InceptionV3模型效果优于其他两个网络,并达到了94.18%的准确率。但是虽然都取得了高准确度,但是两者都存在一个问题,就是在拍摄玉米不完善粒数据集时都是只拍摄了一面,造成检测误差。
Ni 等[11]为了克服现有机器只能拍摄单面玉米种子图像的缺点,设计了一种新的自动检测机。该机器能够同时拍摄玉米粒双面图像,通过在机器中嵌入CNN 网络模型来检测玉米粒类别,实现了玉米籽粒拍摄检测一体化,并达到了98.2%的测试准确率。
同期,一部分学者认为不完善粒的大多数研究都是基于RGB 成像技术,而不是使用四通道多光谱技术谱图像,数据集质量达不到要求会影响检测精度。故李兴旺[60]使用VideometerLab搭建了一个多光谱成像拍摄平台,对玉米种子进行拍摄,然后采用1D-CNN算法和2DCNN 算法对玉米种子数据和多光谱图像进行分析,最终玉米种子分类达到了95%的准确率。但该多光谱成像处理软件是在Matlab中进行研发的,目前还停留在科研阶段,并不能在市场中大规模使用,且存在高光谱设备成本高的问题,实际落地存在困难。之后Wang 等[61]开发了一种基于分水岭算法结合双通路卷积神经网络模型的缺陷检测方法。采用多光谱相机获取RGB和近红外图像(near-infrared,NIR)对模型进行训练,证明该模型能有效识别有缺陷的种子和无缺陷的种子,平均准确率达到了95.63%。但是光谱设备训练成本高的问题却一直没有避免,故后续玉米不完善粒分类研究方向应该还是放在RGB图像上。通过总结上述深度学习对农作物种子的分类研究,可以利用数据增强等方式对检测算法进行改进。
因为玉米不完善粒的检测主要存在于粮库入粮的阶段,所以如何动态地识别出不完善粒的类型、数量、位置十分重要。
付传广[62]使用空洞卷积、转置卷积、挤压和SE模块对Fast R-CNN 模型进行改进,在不额外增加参数和计算量的基础上,提高了对玉米粒的检测率。但是网络模型不够轻量化,无法融入进嵌入式设备中。Li等[63]为实现快速、便携的玉米粒检测,设计了一种基于YOLOv4-Tiny算法的破碎玉米粒检测装置,通过卷积层对输出的13×13的特征图像进行上采样,然后与26×26 的特征图像融合,再叠加卷积,最终输出13×13和26×26尺度的特征图像。采用这些特征图像对不同尺度的玉米粒进行分类和预测,提高了玉米粒作为小目标的检测精度,为快速准确识别和分类破碎玉米粒提供了新的途径。但是这仅仅是分类了破损粒一种玉米粒,而玉米不完善粒的类别有七种,且形态特征比较相似。故Velesaca 等[64]利用Mask R-CNN[65]算法对拍摄的玉米群图像进行分割提取,如图8,然后单独设计了一个专门的轻量化网络CKCNN 进行玉米粒类别分类。该网络由五层组成,分别为三个定义为3×3大小内核的卷积层和两个全连接层,并接收来自分割算法的单个元素作为输入。经实验分析,该方法在图像分割和分类上取得了较好的效果。
图8 Mask R-CNN架构用于玉米内核实例分割(不使用分类模块)Fig.8 Mask R-CNN architecture used for corn kernel instance segmentation(Classification module is not used)
至此,玉米不完善粒在目标检测上的研究方向也同样应该放在改进模型,以提高精度和检测时间上。如徐光达等[66]通过设计多层级特征融合层来整合YOLOv5算法中不同的感受野信息,并通过自适应学习动态调节各输入特征层的权重,合理分配检测任务所需求的特征信息比例,有效改善了对小目标的细节感知能力。另外要保证模型能够嵌入进粮库中的自动化检测设备,做到轻量化。并且实现检测的动态化,为后续设计综合检测设备打下基础。通过以上叙述可以看出玉米不完善粒的检测具有重要的意义,采用深度学习的不完善粒检测方法具有快速、无损、操作方便的优点,是现如今研究的热点。表2显示了目前玉米不完善粒检测的研究进展。
表2 玉米不完善粒检测研究进展Table 2 Research advances on corn imperfect grain detection
用深度学习技术对玉米不完善粒进行检测已经是大势所趋,而现阶段玉米不完善粒检测存在以下问题,实际应用到粮库粮食收入库阶段还需要进一步研究。
(1)模型识别精度低,易受拍摄图片质量影响,鲁棒性差。
(2)玉米不完善粒检测存在双面拍摄问题,如何设计一种简单、方便、易于使用的双面拍摄设备是目前亟须解决的问题。
(3)多数研究停留在检测分类以及静态检测阶段,如何实时在线地对玉米不完善粒进行检测和动态识别需要进一步研究。
(4)按照国标要求[13],玉米不完善粒检测最终需要计算出质量,按照公式计算出不完善率。而现阶段的研究仅仅停留到检测阶段。如何建立图像与玉米粒质量的关系,计算出不完善率,并将误差控制在可接受的范围,是一个重要的问题。
目前,国内外关于提高玉米不完善粒检测精度和鲁棒性上的主要研究有两方面:小样本建模和数据增强。
小样本指的是数据集中样本数量较少的情况。在处理小样本数据时,传统的机器学习算法往往存在过拟合问题,导致模型泛化能力较差。为解决这一问题,近年来出现了一些针对小样本数据建模的方法,包括迁移学习、元学习、主动学习等。
在针对玉米不完善粒的小样本建模方面,目前较为常用的方法是迁移学习。迁移学习是一种利用源领域的知识来辅助目标领域学习的方法,能够在目标领域样本数量较少时提高模型的准确性。具体来说,研究者可以将其他领域的已有数据集中的信息迁移到玉米不完善粒数据集中,从而提高模型性能。
而小样本数据增强是一种通过对已有样本进行变换和扩充,从而增加样本数量和多样性的方法。小样本数据增强可以帮助提高模型的泛化能力,避免过拟合,同时也可以提高模型对不同场景的适应能力。
在针对玉米不完善粒的小样本数据增强方面,目前的研究主要集中在数据增强方法的探索和优化上。研究者可以通过对图像进行旋转、翻转、缩放等操作,扩充数据集,提高模型的性能。此外,还有一些针对玉米不完善粒特点的数据增强方法,如模拟不同磨损程度的玉米籽粒,生成不同颜色和亮度的图像等。
综合来看,针对玉米不完善粒检测的研究,主要有以下几个方向:
(1)利用深度学习和迁移学习的方法,提取玉米不完善粒的特征,构建高效的分类模型。
(2)利用生成对抗网络的方法,生成更多的不完善粒样本,扩充数据集。常用的是GAN(generative adversarial network)和VAE(variational autoencoder)网络,两者都为生成模型。VAE 缺点是具有很多假设性前提约束条件,并且生成的图像往往也比较模糊,对于复杂模型的表现力较差,而图像质量的高低对于数据集有着巨大的影响。GAN和扩散模型在高质量图像生成领域中都有着不错的表现。扩散模型相对生成对抗网络来说具有更加灵活的模型架构和精确的对数似然计算,通过前向扩散把随机噪声逐渐加入样本中,然后通过逆向扩散过程从噪声中生成样本,凭借其在高质量图像生成领域中表现出的优异性能,受到越来越多研究者们的青睐,但是其存在一个巨大的问题是训练成本过高。故研究热点还是在图像生成上选择训练成本低,又能够生成高质量样本的GAN[67]。
(3)利用元学习的方法,利用多个相关任务的数据,学习一个通用的模型,快速适应新的任务。
针对前两点,给出一种基于生成对抗网络和迁移学习的玉米不完善粒检测流程图,如图9。
图9 玉米不完善粒检测流程图Fig.9 Corn imperfect grain detection flow chart
农作物种子检测是农业生产中非常重要的一环,它可以帮助种植者更好地了解种子品质、识别杂质、预测产量等,从而提高农作物生产的质量和效率。近年来,随着计算机视觉和机器学习技术的不断发展,种子检测技术也得到了广泛的应用。本文对当前机器视觉在农作物种子检测中的方法和应用进行了总结,并展望了未来的发展方向。
当前,农作物种子主要是通过机器视觉的方法进行检测。近年来,深度学习技术的发展使得卷积神经网络在种子检测中得到了广泛应用。基于卷积神经网络的方法可以自动学习到种子的细节特征,同时可以适应不同的种子类型和不同的环境条件。例如VGG、ResNet等经典的CNN 模型都被用于种子检测,并取得了不错的效果。此外,一些针对特定任务的网络结构也被提出,如YOLO、Faster R-CNN等,它们可以实现更快速和更准确的检测。
未来,随着深度学习技术的不断发展和应用,农作物种子检测技术也将得到进一步的提高和发展。以下是未来发展的几个方向:
(1)结合多种检测方法。将不同的检测方法相结合,以提高种子检测的准确性和稳定性。
(2)基于无监督学习的方法。无监督学习可以从大量的未标记数据中学习到数据的潜在特征。
(3)基于深度强化学习的方法。深度强化学习可以通过不断地试错来优化种子检测的过程,从而提高检测的效率和准确性。
(4)基于可解释性人工智能的方法。可解释性人工智能可以帮助种植者更好地理解检测结果,并从中获取有用的信息,从而更好地指导农业生产。
(5)云计算和边缘计算辅助检测。可以将种子检测的计算任务分散到不同的计算节点,从而提高计算效率和节约计算资源。同时,边缘计算也可以使种子检测更加实时和便捷。
总之,农作物种子检测技术在未来将继续发展和完善,为农业生产提供更加高效和准确的检测手段。随着技术的发展,种子检测的应用领域也将不断扩大,从而为农业生产的可持续发展做出贡献。