关键词: 深度学习;PCA;多元线性回归;多模态;土壤颜色;农作物的选择
0 引言
土壤是种植过程中极其重要的因素之一,对农作物或农副产品的生产具有至关重要的作用。其成分和类型具有一定的地域性,不同的地区土壤类别不同,不同的农作物要求的土壤也不同。因此,它对植物的营养供应、植物根系的发育和生长、农作物品质影响甚至农业生产的可持续影响都是不同的。为了保证土壤质量可持续,传统的土壤检测技术操作复杂,成本高,难以适应现代农业的发展趋势[1]。近年来,智慧农业不断兴起,神经网络在农业领域也在不断应用和实施,可以解决土壤出现的一系列通病。
深度学习技术是一种具有巨大潜力的现代图像处理技术[2]。在各个领域,神经网络作为深度学习的代表,作为人工智能算法的一种实用工具,对神经网络模型进行训练,提取大数据中隐藏的数据来解决实际问题。本文通过卷积神经网络(CNN),构成一种特定的深度学习类别,针对土壤颜色进行土壤识别分类。由于不同的土壤颜色,所包含的土壤成分不同,土壤适种的农作物也不一样。因此,借助CNN模型,可近似地通过颜色来识别土壤成分,与此同时,也能通过CNN模型分辨土壤是否可用,例如土壤板结[3]、土壤盐碱化[4]、水土流失[5]等问题。
1 数据来源
本文使用青藏高原科学数据中心、联合国粮农组织(FAO)和维也纳国际应用系统研究所(IIASA)所构建的世界土壤数据库(HWSD)的中国土壤数据集(v1.1)(2009)[6]的土壤数据信息。从数据库中,我们根据土壤沙含量、淤泥含量、黏土含量、土壤容重、参考堆积密度、有机碳含量、酸碱度、碳酸盐(CaCO3)、硫酸盐(CaSO4)和电导率对某地区土壤进行数据分析,并与该地区土壤图像信息进行多模态融合。同时,采用智能手机、无人机等设备对各个地区的土壤进行拍摄,采集相应土壤图像信息。
根据土壤的颜色,我们分别拍摄约总共5 000张图片,分别包括黑色土地、黄色土地、红色土地、紫色土地和荒漠土地,并通过这五种土壤类型进行图像分类,以便于通过深度学习算法进行训练。
2 土壤图像处理
为了便于图像数据的分析,本文将得到的各地区土壤图片进行整理划分,分别划分到五种土壤类型中。本文将土壤根据颜色和类型依次设置标签,分别为黑色土地、紫色土地、黄色土地、红色土地和荒漠土地共5 000张图片,并将图像大小转化为224像素。同时,将图像的像素值统一在0~1之间,对每一张土壤图片进行Z-score标准化操作,通过计算其图片的均值和标准差进行线性变换。由于设备和复杂环境受限,数据集种类单一,本文通过几何变换、伽马变换和高斯滤波来去模糊、降噪来丰富土壤数据集。
2.1 几何变换
本文通过裁剪或反转的方式来增加土壤图像数据。在裁剪中,对部分图片裁剪约30%~40%。那么作为位图,裁剪后,会使得图像像素值集中在一定的范围内,使得图片整体很亮,像素值会增高,如图1所示。
如图2所示,对于无人机拍摄的遥感图像,可以通过规格网格、滑动窗口和随机窗口三种方法进行处理和采集,把图像的某一区域放大并作为土壤样本的训练集和测试集。
2.2 伽马变换
根据伽马变换s = c ⋅ rγ 调整土壤图像的灰度,以此来加强数据规模。其中,s 为输出图像的像素值,r为输入图像的像素值,c 为伽马变换的常数值,一般用于像素值在图像进行标准化后输出其灰度的范围,具体情况依据实际应用为准。γ 为伽马值,本文取γ =0.5,γ = 1.0,γ = 1.5,γ = 2.0四个伽马值进行对比,加强数据,如图3所示。
2.3 高斯滤波
本文通过高斯滤波来消除图片噪声点,由于某地区可能出现背景噪声,主要包括从地球、太阳、大地和云雾等辐射源照射,通过遥感设备获取的土壤图像,可能会出现白噪声。因此,采用高斯滤波来去除噪声,也因此在网络训练数据时,增强土壤数据,保证模型训练的准确性更高,也能够处理更加复杂的问题,更能适应非线性条件下的神经网络模型,如式(1)所示。
其中,Ai 为第i 个高斯分布的脉冲振幅,μi 为第i个分布的中心位置,ωi为第i个分布的半宽。
3 模型设计
基于深度学习框架,采用主成分分析(PrincipalComponent Analysis, PCA)和多元线性回归进行土壤的多模态数据分析,构建如图4所示的一种多模态土壤信息模型(Multimodal Soil Information Model, MSI)。
首先,先对通过深度学习将土壤图像输入模型中进行训练,通过卷积核进行上下文特征提取,经过池化层,对卷积核处理的结果进行降维,最后通过训练好的神经网络对该土壤图像推理为哪种颜色。例如Persson等人[7],评估了使用图像分析从土壤颜色估计表层土壤湿度。使用了四种天然土壤和均匀的细沙并且研究了土壤颜色关于土壤湿度的变化。
其次,将该地区的土壤可使用传感器对土壤数据进行测量,使用PCA得到土壤的主成分后,再将其作为输入多元线性回归模型得到土壤主成分数据。针对土壤的元素状况对植物生长中的作用,采用PCA方法分析了16种元素的浓度数据,将土壤中的复杂数据进一步简化,从而达到数据降维的作用。
最后,通过获取的土壤主成分训练多元线性回归模型,得到其土壤某成分的目标值,再结合农作物的习性选择播种,例如茶叶喜酸、大米在黑土地质量更佳等。
4 实验仿真
由于土壤图像数据量较大,以及土壤所在环境下的一些客观因素影响,不能通过人工手段去判断土壤质地。本文在数据预处理中说明的数据来源以及数据的归一化,并且将图像数据的训练集和测试集分别划分为8∶2,然后通过分别设置为0.001、0.000 1、0.000 01 的学习率,采用AlexNet、ResNet-18 以及VGG16进行比较和训练。
4.1 AlexNet 模型
AlexNet是由Alex Krizhevsky在2012年提出的一种深度学习卷积神经网络模型[8],主要应用于图像分类。本文将模型训练轮数设置为110、批量数为32,通过实验得到该模型在学习率分别为0.001、0.000 1和0.000 01时的准确率与损失值,其效果如图5所示。
当学习率为0.001时,AlexNet网络准确率与损失值如图5(a,d)所示,训练集最高准确率为46.89%,测试集准确率为43.3%。一开始,模型的损失值急剧下降。但后期训练至15轮之后,模型准确率一直稳定于约21.3%,损失函数一直呈水平状态。说明该模型在此参数下,模型准确率不高,损失值收敛于1.6左右,显然模型的效果不佳,模型欠拟合。
将学习率设置为0.000 1时,AlexNet网络准确率与损失值如图5(b,c)所示,不难发现,此时的网络模型训练最高准确率为100%,测试集准确率为99.8%,模型的精度提高。同时,模型损失值也相比学习率0.001时稳定。但损失值在后期收敛效果较差,可能出现模型不稳定的情况。因此,再投入土壤检测实际应用中,可能无法达到如此高的精度。又可能出现一系列的故障,加大技术人员工作量。
将学习率设置为0.000 01时,重新训练该模型后,如图5(c,f)可见模型训练最高准确率为100%,但是在进行测试集中模型准确率仅达到21%。间接从图5(c)看出模型前20轮前,准确率具有较大的波动,不稳定,则可能出现的模型过拟合的现象,因此该模型效果不稳定。
综上所述,模型虽然出现了前几轮损失值急剧下降的现象,但该现象并不会使得模型精度发生改变,因此,这是一种合理现象。但在3个学习率测试情况下,AlexNet模型可能不适合土壤图像检测。
4.2 ResNet-18模型
引入了残差块的ResNet-18模型[9],使得在训练模型时加快模型训练精度与模型训练速度。训练轮数设置为110轮,批量数为32。
当学习率设置为0.001时,ResNet-18网络准确率与损失值如图6(a)(d)所示,训练集最高准确率为98.84%,测试集准确率为98.11%。然而ResNet-18模型在训练过程中,模型的训练准确率与真实值的准确率的误差较小,相比于AlexNet模型,其模型的训练损失值与真实损失值误差较大,可能模型不在轮数限制的情况下,模型准确率可能会一直呈现水平形态,也可能在实际应用中模型的效果不是很好。而ResNet-18模型训练集的损失值波动较大,比较不稳定。另外训练集与测试集的损失值误差逐渐增大,其模型若在110轮之后可能模型会出现过拟合的现象。
当学习率设置为0.000 1时,ResNet-18网络准确率与损失值如图6(b)(c)所示,训练集最高准确率为100%,测试集准确率为98.96%。其情况与学习率0.001的ResNet-18模型相比,模型的稳定性有了一定的提高,其准确率误差远比0.001模型小,模型训练稳定。在损失值上也有了一定的收敛。
当学习率为0.000 01时,ResNet-18网络准确率与损失值如图6(c)(f)所示,训练集最高准确率为100%,测试集准确率为98.96%。该模型损失函数在刚开始训练的时候就具有明显的误差,真实值损失函数与测试集损失函数较大,模型训练的准确率与测试准确率与学习率0.000 1和0.001相比误差较大,模型具有明显过拟合现象,无法应用。
综上所述,当轮数为110,学习率为0.000 1时,模型具有较强的稳定性和鲁棒性,并且相比AlexNet模型而言,ResNet-18模型性能更强,模型识别率越高。
4.3 VGG-16模型
本研究训练模型的VGG-16模型,在学习率0.001 时,出现欠拟合现象,模型准确率为19.48%。根据Aya 所研究的VGG-16 模型对土壤检测效果得出VGG-16的准确率为82%。损失值达到0.66。又根据Chetan等人[10]的研究发现VGG-16在不同优化器下的模型准确率达到96%、97.3% 和98.94%。表明了VGG-16在特征提取上表现出其优异的性能。
本文对土壤含水量、黏土含量、沙含量、酸碱度、碳酸盐和硫酸盐等分别进行归一化后再进行主成分分析降维简化数据。根据累计贡献率80%得知,最终得到7个主成分,以此保留土壤成分的特征,作为自变量表示土壤成分特征,如表2所示。
根据前7个主成分的特征向量,可以得到如图7 所示的主成分表达式。
如图8 所示,对于95% 置信区间椭圆范围内的点,降维后的数据均为有效值,而超出椭圆区间范围的数值并予以剔除。
通过求出的PCA数值,根据电导率、CaCO3、顶土交换钠百分比、pH值、有机质含量以及CaS04进行预测,借助多元线性回归模型进行了土壤成分预测,训练出如图9所示的权重和偏置值。
其中:y1 为电导率,y2 为CaCO3含量,y3 为顶土交换钠百分比,y4 为土壤酸碱度pH值,y5 为有机质含量,y6 为CaSO4含量。再根据表3的结果与多元线性回归求出的结果进行比对,若该结果与土壤某几种属性的适种范围内,就可以种植对应的农作物。
5 结论
本文构建了多模态土壤信息模型,通过ResNet-18、VGG-16和AlexNet网络建立土壤颜色识别与土壤检测模型。分别训练3个模型进行比较后,ResNet-18 模型更好。在训练模型过程中,最优模型准确率达到100%,损失值保持在0.004 左右。拥有残差块ResNet-18模型,既解决了土壤训练时VGG-16训练时间太长的问题,同时引入ResNet-18残差块也有助于防止梯度消失的现象出现,相比应用于土壤检测的工作中,ResNet-18具有非常大的潜力。