文摘

传统上,种子缺陷的分类主要依靠颜色的特点,形状,纹理。这种方法需要反复大量的特性信息的提取,这不是有效的用于检测。近年来,深度学习在图像识别领域都表现不错。我们介绍了卷积神经网络(cnn)和学习转移到种子的质量分类和比较传统的机器学习算法。实验表明,深度学习算法明显优于机器学习算法的准确性达95% (GoogLeNet)和79.2%(冲浪+ SVM)。我们使用三个分类器GoogLeNet证明网络精度随着网络的深度增加而增加。我们使用可视化技术来获得网络的每一层的功能映射在cnn和使用热图代表推理结果的概率分布。作为端到端网络,cnn可以很容易地申请自动种子生产。

1。介绍

玉米是global-wise最重要的作物之一。约有三分之一的世界人口消耗玉米的主要食物来源。由于城市化、耕地减少,这是一个突出的问题尤其是在中国。种子的质量已成为一个日益严重的问题。种子的表型缺陷判断质量的标准之一。种子检测缺陷的传统方法通常依赖于手工检查、低效的和主观的。因此,客观、自动种子筛选方法是必需的。

研究人员应用机器视觉技术实现种子质量检测(1- - - - - -4]。功能,如颜色、纹理、大小和形状,可以从图像中提取种子,种子的缺陷可以通过各种分类器识别基于计算机视觉。这个过程可以很容易地自动化,从而提供一个更有效的方法比被人类劳动检查种子排序。

近年来,深度学习一直在快速发展。例如,一些搜索引擎,推荐系统、图像识别、语音识别采用了深度学习技术,取得好的结果(5]。GPU的性能和并行计算的力量继续改善,可以实时处理图形数据。取得了优秀的成果与卷积神经网络(cnn)图像识别。cnn比普通机器学习算法有明显的优势:深卷积神经网络更加独立的显示结构在图像处理和体重数据共享、抽样,本地可用于接受域网络(6]。数据处理方法保证了cnn的效率高。使用cnn的过程中,我们只需要确定某些参数,如学习速率、体重减轻、批量大小,优化算法。同时,算法的准确性与我们获得的数据量增加。然而,cnn也有其缺点:(1)中有成千上万的参数模型,它是一个长期的过程调优参数。(2)有很多大量的冗余信息的特征图;我们不能人为地干预过滤出有用的信息。研究人员还cnn应用于种子识别的任务。Heo等人利用cnn过滤器杂草种子从高质量的种子7]。cnn Veeramani用来区分单倍体和多倍体玉米种子(8),文德兰花使用转移学习分类木材品种(9雅完人,cnn用来估计大豆种子的数量(10]。

本研究的目的是利用cnn和转移学习识别玉米种子的外观缺陷。我们使用cnn与传统机器学习算法;网络深度和cnn的准确性之间的关系也进行了研究。

2。材料和方法

2.1。数据收集

我们使用一个“1/2.5”CMOS相机(MindVision MD-U500)和28毫米镜头(MindVision ML15)。2592年的最大分辨率 1944年和10的FPS。每个颜色通道8位的深度,和白色LED环形光源(MindVision MD-HX24)使用。使用黑色背景使玉米种子和背景区分出来。

种子图像库被我们收购定制的图像采集设备(图1)。在这项研究中,使用了4000个玉米种子,分为训练集和测试集,20%的种子是随机选择的测试集。表1显示的数量划分数据集。训练集和测试集是由两组的玉米种子,分别。一组种子在外观缺陷自由,和另一组与缺陷,包括模具,蠕虫,损害赔偿,变色(见图2)。

2.2。图像分割

在实际的测试过程中,测试只有一个种子是不现实的,所以我们多个种子同时成像。问题是,可能会有种子相互联系,大大影响了分类的单个种子。许多研究人员已经开源项目进行目标探测。这些框架都是基于CNN和启用识别多个目标同时在一个单一的形象。表现最好的框架更快R-CNN [11],SSD [12有人知道由罗[],13]。在农业部门(快R-CNN显示非常好的业绩14]。然而,由于大量的计算在培训过程中,需要高性能的GPU参与操作。因此,我们使用种子分离的图像处理算法。

我们使用最先进的图像处理技术和OpenCV [15]部分种子的图像。首先,最初的彩色图像转化为灰度图像,和组内的最大方差法(首先)[16)是用于获得近似等值的二进制映像的种子。形态学操作在后台被用于去除噪声,洞种子区域。

下一步是扩张的形象,这样的形象,真正的种子是扩大图像的一个子集。我们使用距离变换找到每个种子的中心区域,然后减去扩张映像从中部地区获得一个不确定的种子。最后,我们使用分水岭算法得到每个种子边缘的确切位置,和不同的颜色被用来表示每个种子,便于观察。在图所示的过程3(一个)

最后一步就是从原始图像中提取每个种子。我们计算每个种子的位置坐标。为了防止干扰邻近种子图像在分割过程中,我们只保持一个玉米种子在种植前的原始图像(图3 (b));最终结果如图3 (c)

2.3。数据增加

因为有有限的数据训练集,训练开始前增加照片的数量将增加cnn的准确性(17],考虑不确定因素,如种子的位置角和位置在识别过程中,我们随机翻转,移动,旋转图像,在训练和应用转换后的图像与原始图像来提高模型的鲁棒性。种子的总数是20000。

2.4。机器学习算法

传统的计算机视觉方法需要提取特征,如形状、颜色、纹理,从培训过程的原始图像3),通常过于复杂,所以我们采用加速健壮的特性(冲浪)算法(18)和使用各种各样的分类器进行比较研究。

种子可以随机的位置和方向在分类过程中,和冲浪算法被用来提取特征从每个种子的形象。该算法具有尺度和旋转不变性的特点,使用积分图计算卷积,然后使用黑森响应测量一个点是否一个特征点,并创建一个描述符来描述特征。

我们使用逻辑回归,支持向量机(SVM),再(资讯),和整体学习分类提取的特点:(1)逻辑回归是一个简单的分类器模型的平均响应的函数的线性组合预测。(2)介质高斯SVM是一个支持向量机使区别比高斯SVM罚款少,使用高斯内核,内核规模设置为预测因子的数量的平方根。(3)粗资讯是一个近邻分类器,使粗类之间的区别。(4)袋装树是一个bootstrap-aggregated合奏的决策树。为每个方法中,我们使用交叉验证在训练。这些分类器使用分类学习者实现应用程序(19在MATLAB 2018,整合多个分类器的优势,消除设置任何复杂参数的必要性。

2.5。卷积神经网络

有两种方法来训练一个CNN:从头训练使用随机数作为起始值或使用传输学习。在许多实际的任务,不可能从一开始就训练一个网络,因为它需要大量的计算时间来获得大量的训练数据和使用少量的数据训练网络从一开始就将导致过度学习网络。这个问题可以很容易地解决了使用转移学习(20.),由于最优初始化网络由ImageNet pretraining模型(训练数据集(21),只有光调优在训练过程中是必需的。

有两种方法可以使用转移学习。一个是注视某些层的重量参数,只有其他层的参数可以改变在训练。另一种方法是让所有的初始重量参数可变的培训过程;这种方法叫做微调。第一种方法被用于这项研究。

我们使用浅网络VGG19 [22)为基础网络。首先,整个网络的权重参数初始化,锁定22层,顶部和一个三层的自定义层(全球平均池层和两层密度)的末尾添加了网络。网络结构如表所示2。输出的形状表示

整个网络由25层,其中包括:一个输入层,卷积层,激活层、汇聚层,和完全连接层。输入层接受RGB图像的大小 每个卷积块包含一个卷积层和一个激活层。卷积内核都是 的大小,没有填充。ReLU [23)函数用于激活层,和最大池采用池层。全球平均池层是用来防止整个网络过度拟合。最后一层是一个双向softmax致密层。总网络参数是20551746。只有最后三层527362参数需要调整训练。交叉熵损失函数和亚当(24)优化算法在模型中使用。学习速率的初始值设置为0.001。

Szegedy等人研究的深度的影响网络训练精度(25]。我们还设计了一个研究来提高模型的性能通过使用network-GoogLeNet更深。学习也应用于GoogLeNet转移的研究。选择这个网络的原因是有两个辅助分类器比较网络深度和识别率的关系。在网络使用的初始结构。是由卷积核的初始结构 , , ,分别。目的是提取丰富的特性与大卷积内核在执行卷积操作在同一大小的接受域26]。采用一个 卷积内核实际上是一个卷积操作每个像素地图的功能。相当于一个完全连接层的影响。事实上,它充当了降维,计算复杂度明显降低。最终结构,四个卷积操作聚合,和不同的特征图拼接在一起丰富特征映射(Hebbian原则),和另一个函数是稀疏矩阵分解成一个稠密矩阵。冗余信息地图没有加工过的原始功能,加速计算。

除了初始结构,我们还增加了辍学层和随机丢弃40%的神经元网络,防止过度拟合。《盗梦空间》后添加了两个辅助分类器(4)和《盗梦空间》(4 d)为了达到更好的结果。在培训过程中,损失了一定比例的总损失,但这些并不适用于推论的过程。我们使用这个结构来评估网络结构的深度的影响网络的性能。

3所示。结果

高斯核函数的支持向量机算法的准确率最高79.2%,而表现最好的(表3)。

我们使用Keras [27)与后端TensorFlow VGG19的模型。图4显示的准确性训练,测试损失,训练精度和测试精度测试VGG19设置。测试精度最终稳定在88%左右。与机器学习算法相比,有显著的改善。我们选择100玉米种子作为验证集的验证算法,表所示表和混乱4

由于没有集成GoogLeNet pretraining Keras模型,我们使用咖啡深度学习框架。图5显示了培训,测试损失、训练精度和测试精度的三个分类器(蓝线和红线代表两个辅助分类器,分别和绿线代表的主要分类器)。每500次迭代精度级别被报道。可以看到,精度达到90%以上在前面的迭代。表5显示8000次迭代后三个分类的准确性。主要分类器(深层)的准确性为96.3%,和辅助分类器的准确性(浅层)网络是95.7%。我们相同的100颗种子用于算法验证。如表所示6验证组的准确性为94%,略低于测试集。

3.1。地图和热量地图可视化功能

cnn是一个端到端的体系结构。识别结果可以自动通过喂养只有图片识别网络。中间过程通常是一个黑盒,不解释。我们使用了可视化技术(28,29日)提取特征映射网络的每一层。为了便于观察,我们选择种子(图有明显损害6(一))。卷积的首层,例如,图6 (b)作为一个输出,有64特征图。它可以看到层保留了原始图像的颜色和纹理特征信息。此外,我们可以观察到的特征提取网络成为更抽象层的深度增加。

我们也可视化热图,这说明这张照片的一部分取决于网络的决策分类。热点图是一个二维矩阵,代表了CNN的得分为每个输入图像的位置。作为一个例子,图7表明,该蠕虫部分分类结果的影响最大。

4所示。讨论

在实际的分类过程中,由于随机放置,种子的方向是不确定的,所以冲浪(尺度和旋转不变性)算法用于提取的特征种子和没有需要使用其他算法正确的旋转种子。

与传统的机器学习算法,学习不需要复杂的特征提取。我们只需要考虑使用适当的网络结构和相应的优化算法。和改变在培训过程中学习速率等参数可以使算法达到最优状态。在最初的实验中,我们试图训练数据从头开始使用一些轻量级的网络(AlexNet),但这些网络经历了严重的过度拟合。

性能优良的原因转移学习是最好的用于模型参数初始值的子集。这是没有必要开始模型训练和完全随机编号为所有参数。我们使用浅网络(VGG19)转移学习:培训损失明显下降,但初测试损失减少,后期趋于不变。训练集接近95%的准确性和测试精度模型的稳定在88%,这表明,网络已达到它的最佳状态。尽管它有一个更好的性能比支持向量机精度水平在实践中仍不理想。识别所需的原因是由于VGG19种子的多个缺陷,一些种子和没有缺陷的区别不明显。因此,分类误差大,有必要提取更深层次的功能。因此,我们采用了一个更复杂的网络GoogLeNet,一个优秀的基于初始结构的提取特征的能力。最浅的分类器的准确性为95.7%,和整个网络的准确性为96.5%。结果表明,深度的网络发挥了重要作用。 Although we achieved decent results with a deep network structure, there was overfitting during the iterative process (the training loss was decreasing and the testing loss was rising), which indicated that the amount of data available was still relatively small for complex networks like GoogLeNet.

5。结论

在本文中,我们使用cnn和转移学习实现缺陷分类的玉米种子。实验证明CNN的可用性在种子缺陷分类任务中,CNN是明显好于机器学习算法在玉米种子缺陷评估和模型的精度随着网络的深度的增加增加。种子的外观缺陷的指标判断种子的质量。

在这项研究中,我们只应用了CNN RGB图像,也可以应用于多光谱和高光谱图像。多光谱图像的应用不仅有能力认识到种子的表型特征也不同的品种,提高模型的泛化能力和实用性。

数据可用性

使用的数据来支持本研究的发现可以从相应的作者。

的利益冲突

作者宣称没有利益冲突。

作者的贡献

盛黄和大风扇同样这项工作。

确认

这项工作是支持的研究项目在河北农业大学引进人才。