CN113392775A - 一种基于深度神经网络的甘蔗幼苗自动识别与计数方法 - Google Patents
一种基于深度神经网络的甘蔗幼苗自动识别与计数方法 Download PDFInfo
- Publication number
- CN113392775A CN113392775A CN202110671163.2A CN202110671163A CN113392775A CN 113392775 A CN113392775 A CN 113392775A CN 202110671163 A CN202110671163 A CN 202110671163A CN 113392775 A CN113392775 A CN 113392775A
- Authority
- CN
- China
- Prior art keywords
- image
- neural network
- network
- detection
- sugarcane
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种基于深度神经网络的甘蔗幼苗自动识别与计数方法,包括:数据采集、图像预处理、制作数据集、搭建卷积神经网络结构、模型训练、模型精度评估及选择、对大尺寸航拍检测结果进行拼接与去重,得到对原始航拍图像全图甘蔗苗的检测与计数结果。本发明提出一种基于深度神经网络的甘蔗幼苗自动识别与计数方法,通过深度卷积神经网络对数据的本身特征进行非线性表达,能够从复杂数据中学习到甘蔗幼苗的特征,增强了模型的鲁棒性。
Description
技术领域
本发明属于图像识别技术和农业遥感检测相结合的技术领域,特别是涉及一种基于深度神经网络的甘蔗幼苗自动识别与计数方法。
背景技术
甘蔗的苗数在计算甘蔗出苗率与分蘖率等表型特征中均是必须采集的数据,为了掌握甘蔗幼苗的出苗情况,需要定期对田间蔗苗的分布和数量进行调查。但在实际应用中,目前获取田间作物数据的常规方法很大程度上依然依赖于人工,这在处理田间大规模实地测量时既耗时又繁琐,这些成本的增加也会限制样本的采样规模,数据的稀疏和人工测量的偏差都会影响数据的准确度。人工智能技术的发展与应用为甘蔗育种改良提供了新的思路,尤其是深度学习目标检测技术在作物表型分析中取得了较好的成果,Faster R-CNN作为目标检测中的常用模型之一,已经应用到植物生产的几个方向,常见的应用包括生物量的估计、营养状况诊断、害虫和杂草的检测等。
随着检测技术的快速发展,基于遥感的农情监测能够快速、准确地估算作物的生理指标,已经成为人们研究的焦点。为了快速、无损、准确地追踪田间甘蔗幼苗的出苗情况,需要对田间幼苗进行精准地识别定位,并能够在较短时间内输出计数结果。有了对蔗苗分布和数量等特征的准确了解,育种人员才能有效地管理如精确喷洒、精确除草和监测甘蔗早期生长等过程。航拍图像覆盖范围广,且利用无人机采集冠层数据保证了较高的实时性和效率,是适合在田间对甘蔗幼苗检测的一种方式。通过低空航拍图像检测早期甘蔗的幼苗数可以研究环境因子、土壤特性、栽培方式和不同品种对甘蔗出苗性状的影响并且有助于制定更加合理的施肥等管理方案,然而目前深度学习目标检测技术对低空航拍植物冠层图像检测的报道比较少。
无人机代表了在高分辨率前提下获取图像的一种低成本遥感技术,它能使种植者不断监测作物的生长发育状况,已经有育种研究人员通过无人机的航拍图像来筛选能抵抗生物胁迫和非生物胁迫的性状,并且选择最优化的土壤和水资源管理的方案来加快育种进度。配备传感器的轻型无人机平台可以获得高时空分辨率的图像,加上其执行任务速度快,飞行时间灵活,操作方便,为高通量表型分析提供更加灵活和经济的解决方案,越来越多地应用于田间表型鉴定。Oscar等提出将低分辨率多光谱图像和高分辨率RGB图像融合用来检测水稻出苗后的田间禾本科杂草。Juan Enciso等通过无人机搭载高清RGB相机和多光谱传感器系统用于不同品种番茄的表型性状鉴定,用无人机估算冠层覆盖度和冠层分析仪测得的叶面积指数进行相关性分析,相关系数达到0.72。这些方法在进行作物识别时都需要在无人机上搭载复杂的多光谱传感器,不仅会增加采集图像的成本也会影响航行的时间。并且甘蔗的生长环境更加复杂,采用这些方法不能对每株甘蔗幼苗进行准确识别和定位,也就无法给育种人员提供可靠的评估依据。
卷积神经网络(CNN)是目前应用最广泛的图像识别深度学习方法,目前在农业领域图像数据的各种应用中已经取得很高的性能,涉及植物识别、植物叶片分割与分类、农作物病虫害识别、杂草检测、果实识别、产量估计和农田的作物计数等研究。目前,一些比较前沿的基于深度学习的目标检测算法,如Faster R- CNN,YOLO,SSD等基本都是在传统公开的遥感图像数据集上进行实验的。但由于田间的环境更加复杂,作物的形态结构差异较大,在大田作物航拍图像数据集上使用传统目标检测算法识别的效果不佳。所以,需要单独分析深度学习在作物航拍图像上的目标检测,且目前利用基于深度学习的目标检测在作物航拍图像上取得显著效果的研究并不多。
发明内容
本发明的目的是利用无人机搭载可见光数码相机获取甘蔗幼苗的低空航拍 RGB图像,采用深度学习方法对甘蔗苗航拍图像进行目标检测,同时在地面调查试验区域内幼苗数的真实值。甘蔗幼苗的数量是甘蔗育种中评价甘蔗出苗率、分蘖率的基础数据,在主流深度学习目标检测框架Faster R-CNN的基础上进行改进,搭建基于改进Faster R-CNN的田间幼苗检测与计数系统,实现航拍图像中甘蔗幼苗的识别和计数。
为实现上述目的,本发明提供了如下方案:
一种基于深度神经网络的甘蔗幼苗自动识别与计数方法,包括以下步骤:
S1、数据采集:使用无人机采集甘蔗出苗后的冠层可见光图像,作为输入的原始图像;
S2、图像预处理:对基于图像自适应对比度增强处理后的图像进行图像裁剪;
S3、制作数据集:从采集的所述原始图像中随机挑选出若干图像用于训练和验证,并且训练和验证的图像不存在交集,将所述若干图像经过预处理后进一步筛选出包含一株完整甘蔗幼苗且没有模糊失真的图像块,并将其中2/3~6/7的图像块用于训练,获得训练集,挑选出所述图像中剩余图像块用于评估模型检测精度;
S4、搭建卷积神经网络结构:更换特征提取网络,在更换后的特征提取网络层嵌入注意力模块SN-Block,输出特征图后进行多尺度特征融合,筛选出置信度高的候选框作为目标候选框,输入到后续的模型中进行精确分类和定位;
S5、对改进的神经网络模型进行训练:基于S4中搭建的神经网络结构,构建改进的神经网络模型,将所述训练集输入到所述改进的神经网络模型中训练,利用所述特征提取网络提取图像中目标的特征,生成的特征图被后续候选区域网络RPN与检测网络Fast R-CNN共享;
S6、模型精度评估及选择:将制作的验证集输入保存的改进的神经网络模型进行检测,利用性能评估指标评价不同神经网络模型的检测精度;
S7、对大尺寸航拍检测结果进行拼接与去重,得到对所述原始图像的全图甘蔗苗的检测与计数结果。
优选地,S1中,所述无人机的飞行高度设为10~20m,速度设为2~4m/s。
优选地,S2中,所述图像自适应对比增强的具体步骤包括:
通过自适应对比增强的方法增加所述输入图像中植株与土壤背景的对比度,先通过低通滤波获得图像的低频分量,然后通过所述原始图像减去低频分量得到表征图像边缘和细节的高频分量,最后将所述高频分量乘以一个增益值,重组所述低频分量和高频分量,得到增强后的图像。
优选地,S2中,所述图像裁剪的具体方法为:
将经过图像增强处理后准备用于模型训练和验证的图像裁剪为相同尺寸的子图像块,采用网格的方式裁剪,然后筛选出图像中包含至少一株完整甘蔗苗且未出现画面失真的图片作为制作训练集和验证集。
优选地,所述子图像块的最大边长不超过1024像素。
优选地,S4中,所述搭建卷积神经网络结构的具体步骤为:
S4.1、更换特征提取网络:将原始网络使用的VGG16网络替换为ResNet50 网络,将输入网络的尺寸设置为640×640,输入尺寸要求能被2的6次方整除,子图像尺寸不足640×640的,使用0对子图边缘进行填充以调整为输入尺寸,子图像块尺寸不满足1024的,则使用等比例缩放的方式调整所述输入图像的尺寸到指定的输入尺寸,将所述图像输入特征提取层后,所述ResNet50网络采用不同数量的卷积层组合、批量归一化层、ReLU激活层和最大池化层组成的五个阶段进行特征提取;
S4.2、在特征提取网络层嵌入注意力模块SN-Block,输入的图像经过特征提取层以后先进行特征提取,得到形状为H×W×C的特征图,将其输入所述SN- Block结构,然后依次使用3×3卷积、1×1卷积、3×3卷积,在每一次卷积后使用ReLu函数激活;
S4.3、将FPN结构融合到所述Faster R-CNN中,完成所述神经网络的搭建。
优选地,S5中,所述改进的神经网络模型训练的具体过程包括:
首先将所述训练集输入到所述改进的神经网络模型中训练,并且对所述原始图像的长边和短边进行限制,利用所述特征提取网络提取图像中目标的特征,生成的特征图被后续候选区域网络RPN与检测网络Fast R-CNN共享;
然后将提取的特征图输入金字塔网络FPN,利用所述FPN融合最终层和中间层多个尺度的特征,再将融合后的特征输入RPN网络;所述特征图上的每个点对应输入图像上一个位置,接着在每个所述位置生成若干个不同形状的先验框 (anchor),利用滑窗策略生成大量的anchor,最后通过softmax分类器执行二分类任务,每个所述锚点会被判断是属于前景还是背景,通过边界框回归修正前景 anchor的中心坐标与长宽,得到候选框位置;
使用非极大值抑制算法NMS去除冗余候选框,将得分高的候选框作为感兴趣区域ROI。
优选地,所述使用非极大值抑制算法NMS去除冗余候选框的具体方法为:
第一步:构造一个集合C来存储所有N个边界框,这些边界框按置信度 scores的值排序;构造一个集合O来存储保留的边界框,并将其初始化为空集;
第二步:从所述集合C中选择最高置信度的边界框,表示为B,并将其移动到所述集合O;
第三步:计算Ci的区域面积和B的区域面积之间的IoU重叠度,其中Ci是 C中的候选边界框,i=1,2,…,|C|;按照设置的所述IoU的阈值进行过滤,与 B的区域面积存在IoU重叠且大于阈值λ的边界框Ci视为B的冗余边界框;
第四步:从C中删除所有冗余的边界框;
第五步:重复第二步到第四步,直到集合C为空,得到所述集合O中的边界框。
优选地,所述感兴趣区域ROI经过池化后将所有区域特征图尺寸固定为7×7,然后在所述Fast R-CNN中对候选区域进行检测,综合特征图与候选框信息,通过全连接层与所述softmax分类器计算每个候选框识别为甘蔗苗的概率,判断前景所属类别,同时利用多任务损失边界框回归算法修正目标候选框的位置,生成最终检测框边界的精确坐标。
优选地,S6中,所述模型精度评估及选择的步骤如下:
首先将制作的验证集输入保存的模型进行检测,利用性能评估指标评价不同模型的检测精度,选择平均精度最高的模型作为检测模型。
本发明的有益效果为:
(1)本发明提出一种基于深度神经网络的甘蔗幼苗自动识别与计数方法,通过深度卷积神经网络对数据的本身特征进行非线性表达,能够从复杂数据中学习到甘蔗幼苗的特征,增强了模型的鲁棒性;
(2)在ResNet50作为特征提取器的基础上引入SN-Block模块,将提取的特征图用FPN结构进行融合,将融合后的特征图输入改进的RPN网络。通过对比试验发现改进的Faster-RCNN网络训练得到的甘蔗幼苗检测模型能够有效改善小尺寸蔗苗和被遮挡的蔗苗检测效果差的缺点,提高了大尺寸航拍图像下不同尺寸的甘蔗幼苗的检测精度。实验结果表明,改进的Faster-RCNN模型在验证集上平均检测精度达到93.67%,召回率达到89.78%。并且利用非极大值抑制算法实现大尺寸航拍图像中甘蔗幼苗的识别与计数,通过实验确定IoU阈值设为0.15 时检测精度最高,并且在测试集上检测平均精度达到93.66%,这个结果与验证集上得到的精度很接近,说明用此方法建立的检测模型对大田甘蔗幼苗的识别与计数有较高的泛化能力。另外在实验中IoU为0.15时,模型的计数精度ACC能达到96.83%而平均绝对误差MAE只有4.60株,说明合理地设置IoU阈值可以在一定程度上提高模型在田间对甘蔗幼苗群体的计数精度。用户可以按照本方法提出的步骤,通过制作规模能大的数据集以及用更多测试图像选择IoU阈值这两种途径来提高自己模型的鲁棒性;
(3)采用无人机航拍与深度学习方法相结合的方式对大田蔗苗进行识别并计数,可以辅助育种专家提高出苗率计算的效率,降低了时间与人力成本,为后期甘蔗栽培管理和育种提供重要数据支持。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明方法框架示意图;
图2为本发明图像块边缘有像素重叠的裁剪方式示意图;
图3为本发明ResNet50的网络结构及特征图的可视化示意图;
图4为本发明SN-Block模块的结构示意图;
图5为本发明采用的FPN结构示意图;
图6为本发明训练集标记框宽高比聚类统计结果示意图;
图7为本发明改进的Faster R-CNN网络结构示意图;
图8为本发明坐标转换示意图;
图9为本发明使用不同IoU阈值对20幅测试图像的预测计数及其中每幅图像的地面真值计数,其中(a)为本实施例中用于测试的图像中每一幅图像的8 个计数结果示意图;(b)为本实施例中用于测试的20幅图像中每幅图像七次计数的结果示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明是利用无人机搭载可见光数码相机获取甘蔗幼苗的低空航拍RGB图像,采用深度学习方法对甘蔗苗航拍图像进行目标检测,同时在地面调查试验区域内幼苗数的真实值。甘蔗幼苗的数量是甘蔗育种中评价甘蔗出苗率、分蘖率的基础数据,在主流深度学习目标检测框架Faster R-CNN的基础上进行改进,搭建基于改进Faster R-CNN的田间幼苗检测与计数系统,实现航拍图像中甘蔗幼苗的识别和计数。本方法主要包含训练模型和实际检测两个部分,技术框架如图 1所示。
本发明提供一种基于深度神经网络的甘蔗幼苗自动识别与计数方法,具体包括:
步骤1:数据采集
使用无人机在明朗无风或微风的天气下采集甘蔗出苗后(30天内)的冠层的可见光图像,无人机的飞行高度最好设为10~20m,速度设为2~4m/s,以能通过人眼分辨植株为宜。设置自动飞行航线的航向和旁向重叠率均在75%以上,保证图像可通过拼接生成大田的全景图,作为本方法的输入图像。
步骤2:图像的预处理
(1)图像自适应对比度增强处理
图像的频率能反映图中灰度变化的剧烈程度。图像前景的边缘灰度梯度大,从频域看,这部分是高频分量;而图像灰度平缓变化的部分为低频分量。图像中低频信息形成图像的基本灰度等级,对图像结构的决定作用较小,而高频信息反映了图像的边缘结构,是图像增强重点。在实际采集的数据中,由于光照等的变化可能会使得部分图像对比度较低。另外有些幼苗尺寸较小,如果出现在大量的低频信息中,在标注时视觉较难感受到幼苗的高频信号(边缘)。为了尽量减少人工标注时遗漏的样本数量并提高后期识别的准确性,本方法通过自适应对比度增强的方法增加绿色植株这一前景与土壤等背景的对比度。本方法先通过低通滤波获得图像的低频分量,然后通过原图减去低频分量,得到表征图像边缘和细节的高频分量。最后将高频分量乘以一个增益值,接着重组低频分量和高频分量就得到增强后的图像。该算法的核心部分为高频分量增益系数的计算。
具体的方法为:
图像中坐标为(i,j)的像素点对应的灰度值用f(i,j)表示,用Mf(i,j)表示以像素点(i,j)为中心,大小为(2p+1)*(2q+1)的矩形窗口区域的局部均值,其中 p、q均为整数,该区域对应的局部方差用δ2(i,j)表示。对于图像中每个像素点,先分别计算该点的局部均值和方差。计算公式如下:
将公式(1)中每个点的局部均值构成一张图就是均值滤波的结果,而均值滤波是一种低通滤波,获得的是图像的低频部分,所以均值Mf可以近似认为是背景部分,此时f(i,j)–Mf(i,j)表示图像的高频细节部分,将高频部分乘上增益系数G,就可以对图像进行增强了,具体公式如下:
H(i,j)=Mf(i,j)+G(i,j)[f(i,j)-Mf(i,j)] (3)
上式中,H(i,j)表示增强后的像素值。增益G是一个可以设置的系数参数, 本方法将它设置为与局部标准差δ(i,j)成反比的变化值,即为:
上式中,M是一个常数,M一般可以取图像的全局平均值或全局标准差,本方法选取全局标准差。α是一个参数,一般取小于1大于0的小数,用来控制高频增益增强的程度。在图像的高频区域,由于本身局部标准差较大,说明像素值分布不均匀,对比度较强,而此时增益值较小,这样就不会过度增强原本对比度就很强的区域。在图像平滑的区域局部标准差很小,意味着像素值更均匀,对比度较弱,此时增益值反而较大,这样就使得图像中原本对比度较弱的区域增强效果更显著。但也有可能会放大部分噪声信号,因此需要对增益最大值做一定限制才会取得较好的效果。
通过本数据集进行测试实验,根据效果对其中的参数进行调整,最后确定α=0.2,将增益最大值MaxCG限制为10。
本发明方法在训练、验证和测试阶段使用的图像都需要经过自适应对比度增强处理。
(2)图像裁剪
航拍图像分辨率高内存占用比较多,使得深度学习的计算代价很高,为了节约在人工标注和训练时花的时间成本,本发明方法通过将大尺寸航拍图像裁剪为小尺寸的子图像块用于训练、验证和测试从而提升各阶段的工作效率。具体方法如下:
a)无重叠度裁剪
无重叠度裁剪主要适用于训练集与验证集的图像。因为训练集与验证集主要用来对模型进行训练与验证,不涉及到识别结果的合并,因此可以直接采用网格的方式进行裁剪,也就是,相邻子图像间没有重叠。由于原始尺寸与目标裁剪尺寸没有整数倍的关系,因此,位于最后的裁剪行与列的子图不满足600×600的大小,直接弃用。裁剪的部分图像中没有蔗苗,或没有较为完整的蔗苗,因为无法正确标注,对模型的训练及验证无用,因此通过筛选直接弃用这部分子图。
b)带重叠度裁剪
带重叠度裁剪主要应用于测试集中的图像。因为测试集图像不仅用来测试深度学习算法的蔗苗识别精度,还将用于测试原图像总体计数的有效性。因为裁剪的方式会引起部分蔗株被裁切为两部分甚至更多,在株数统计时带来较大误差。带重叠度的裁剪方式可以帮助后期株数统计时设计更好的去重算法,提高株数统计的准确性。
为了满足其他尺寸的原始图像可以在某一给定水平重叠度 OverLapPercentage_x和某一给定垂直重叠度OverLapPercentage_y下可实现整数倍于600像素的裁剪,需要对原始图像进行轻微的拉伸。并且,水平和垂直重叠度都必须小于50%,否则会造成边缘重复检测;但重叠度过小又容易引起幼苗漏检。为了减少边缘植株的漏检,需尽可能保证水平与垂直方向重叠像素数的乘积大于图像中单株蔗苗边框覆盖面积的最大值。通过经验得知,重叠度的取值范围一般为30%~40%。重叠度设置好之后,可以通过式(5)、(6)分别计算水平重叠像素OverLapPixel_x和垂直重叠像素OverLapPixel_y这两个中间变量;然后通过式(7)、(8)分别计算尺寸为W×H的原始图像在水平及垂直方向可裁剪的子图数量 M、N,“ROUND”表示四舍五入取整;最后通过式(9)和(10)可得拉伸后的、能被整数裁剪的新尺寸为W'×H',图像在水平与垂直方向的拉伸倍数Xstrech和Ystrech可由式(11)和(12)确定。拉伸倍数Xstrech和Ystrech的大小约等于1,因此拉伸造成的轻微形变将不影响蔗苗的识别精度。
OverLapPixel_x=600×OverLapPercentage_x (5)
OverLapPixel_y=600×OverLapPercentage_y (6)
W'=600+(600-OverLapPixel_x)(M-1) (9)
H'=600+(600-OverLapPixel_y)(N-1) (10)
将原始图像裁剪为M×N块子图后,将子图依次命名为{0_0_600_600, 0_1_600_600,···,1_0_600_600,1_1_600_600,···,yi_xi_600_600},这里的xi实际上就等于M-1,yi等于N-1。
本发明方法在本实施例中使用的航拍图像尺寸为5472×3648,在水平和垂直方向上分别使用194和219个像素数的重叠,刚好可以将大图分割成整数块,裁剪的子图尺寸均为600×600。裁剪成该尺寸是因为考虑到计算机运算能力的限制,另一方面可以在不拉伸大图的情况下将其切割成整数块,且重叠的像素占子图边长的30%至40%,这样的重叠度可以减少边缘植株的漏检。实验阶段使用的裁剪方式示意图如图2所示,图中最大的矩形OABC表示输入的原始图像,其中小正方形代表裁剪后的子图。这样,一张5472×3648大小的原始图像就会生成13×9 个相互重叠的子图。将子图像块命名为{0_0_600_600,0_1_600_600,···, 8_0_600_600,8_1_600_600,···,8_12_600_600},这样命名是为了便于对批量子图的检测结果进行合并与去重。
步骤3:制作数据集
本方法需要从采集的图像中先随机挑选出一批图像用于训练和验证,并且训练和验证的图像不存在交集,将这些图像经过预处理后进一步筛选出至少包含一株完整甘蔗幼苗且没有模糊失真的子图,将子图按照约3:1的比例分为训练集、验证集。另外还要从数据集剩下的图像中选择数量足够的经过自适应对比度增强的大尺寸图像用于确定批量检测结果合并与去重算法中IoU的最佳阈值,在实际应用中要考虑模型的泛化能力,因此至少保证这些图像按重叠的裁剪方式得到的图像块数量大于或等于验证集中图像块的数量。
为了证明本方法的实际检测效果,于是利用采集的图像进行了相关验证实验。先随机选出168幅和50幅航拍图像用于模型训练和精度验证。另外从剩下的图像中选择20幅用于验证大尺寸航拍图像检测结果拼接与去重算法中IoU阈值的选择对检测结果的影响。这些图像都会先经过步骤2的预处理再进一步的筛选,最终从168幅用于训练的图像生成的子图像块中筛选得到2392幅图像块作为训练集,从50幅用于验证的图像生成的子图像块中筛选得到398幅图像块被划分为验证集,然后对数据集进行人工标注。如果训练集中样本数量不足,可以采用旋转和翻转等常用的变换方式对数据集进行扩充。
步骤4:卷积神经网络结构的搭建
此步骤以经典目标检测网络Faster R-CNN为基本框架,在此基础上主要对特征提取层和RPN网络层进行改进。具体改进步骤如下:
(1)更换特征提取网络
本方法选择了相对较简单的ResNet50网络替代原始网络使用的VGG16网络,因为ResNet50网络使用残差块的结构,能有效防止因网络层数加深造成的梯度消失问题,加上ResNet50在ResNet系列网络中运算时间比较少,因此最后选择它作为网络的特征提取器。将输入网络的尺寸设置为640×640,子图像块尺寸不满足640的,使用0对子图边缘进行填充以调整为输入尺寸。将图像输入特征提取层后,ResNet50网络采用不同数量的卷积层组合、批量归一化层、ReLU 激活层和最大池化层组成的五个阶段进行特征提取,通过短链接实现的残差块结构用来提供对残差的学习。为了直观解释特征提取层的效果,将ResNet50的五个特征层输出的特征图可视化。ResNet50的网络结构及特征图的可视化效果如图3所示,其中C1~C5表示第1特征层至第5特征层,每个特征层都是通过对上层数据进行下采样处理得到的,由于输入尺寸固定为640×640,则C1~C5的尺寸依次为:[320,320]、[160,160]、[80,80]、[40,40]、[20,20]。
(2)在特征提取网络层嵌入注意力模块SN-Block
针对甘蔗幼苗尺寸不一、叶片间存在遮挡的问题,设计出轻量化的基于通道注意力机制的网络结构—SN-Block,在骨干网络中对较低层特征进行加权,以增强目标特征。SN-Block模块可以嵌入到Faster R-CNN中,增强特征提取层的感受野,提升卷积神经网络的性能。
输入的图像X经过特征提取层以后先进行特征提取,得到形状为H×W×C 的特征图,其中特征图的尺寸用H×W表示,C为通道数。将其输入SN-Block结构,依次使用3×3卷积、1×1卷积、3×3卷积,在每一次卷积后使用ReLU函数激活。该模块通过以下操作对特征通道进行加权处理:首先对特征Fin(H×W×C 的特征图)进行全局平均池化,生成具有全局特征信息的特征图Fglobal(1×1×C 的特征图),使其具有全局的感受野,通道数保持不变。接着通过1×1卷积恢复原来的通道数,并使用sigmoid函数进行归一化。最后得出各通道对应的权重,将各通道与对应的权重相乘,完成对通道的加权处理后便得到特征Fout。本发明方法使用的SN-Block结构如图4所示。X表示输入的图像,Y表示输出的特征图。
SN-Block模块中的具体计算过程为:
Hc(Fin)=σ[M(Fglobal)] (14)
式(14)中:Hc∈RC×C×1;σ为sigmoid函数;M为1×1的卷积操作,M∈RC×C;Fglobal为特征图Fin经过全局平均池化后得到的特征图。
Fglobal=ρ{δ[O(Fin)]} (15)
式(15)中,ρ为全局平均池化操作;δ为ReLu激活函数;O为对输入特征图进行的一系列卷积操作。
(3)多尺度特征融合
田间生长的甘蔗由于生长阶段不一致,导致很多尺寸小的幼苗很容易在检测中漏检,针对此问题,本方法将FPN结构融合到Faster R-CNN中在很大程度上增加检测器对全图信息的认知。本发明为充分利用ResNet50网络提取到的各个阶段的特征,采用图5右边虚线框中所示的FPN结构图进行特征融合。在图5中, Input表示输入的图像,H和W分别表示图像的高度和宽度,数字3表示图像的通道数。
使用FPN层进行多尺度特征融合的基本步骤如下:
1)先将图像送入底层网络中,通过ResNet50和SN-Block结构组合的网络得到五个阶段的特征图。
2)图中的C1~C5层即为特征提取网络得到的特征层,之后用1×1卷积对C4 层进行降维,使得C4的特征通道数与P5的特征通道数匹配;P5经过上采样后,使得P5与C4中特征图尺寸一致,最终二者相加,得到融合层P4,其它层以此类推。
3)然后对于得到的P2~P6层(top-down网络,FPN的核心)进行RPN训练得到候选区域(region proposal),之后与原始Faster R-CNN的操作一样,通过3×3的卷积之后连接分类层和回归层。P2~P5是将来用于预测甘蔗苗的边界框的,而P6 只用于RPN网络中。
(4)改进RPN区域建议网络
将经过FPN结构输出的特征图输入到RPN网络层中,以滑窗的形式根据特征图成一定数量的先验框。原Faster R-CNN设置宽高比为(1:2,1:1,2:1)的三种先验框,这三种比例的先验框能适应COCO数据集中各种不同形状和大小的物体,并且模型在COCO数据集上的实验已经取得不错的效果,但这种比例设置并不适用于识别自然环境下形状不规则的甘蔗幼苗。为了让模型适应研究对象的特点,本方法对甘蔗幼苗训练集中人工标注框宽高比统计,统计结果如图6所示,横坐标表示标注框的宽高比,纵坐标表示相应宽高比对应的标注框数量。根据统计结果选择出现频率最高的4种宽高比例替换原来的3种先验框的宽高比,比如本方法在实验中统计训练集中宽高比的结果按数量依次排序为(1:1,2:1,4:5,1:2),在此基础上,将生成先验框的初始宽高比调整为(1:2,4:5,1:1,2:1)。并将先验框的初始尺寸设置为(16,32,64,128,256),特征图上每个点生成20种先验框,在尺寸为W×H的图片上总共生成W×H×20个先验框。
然后对先验框进行二分类,分类的方法是基于IoU的阈值分类法。将与任一蔗苗的真实边框的IoU大于0.7的先验框分类为前景;将与所有真实边框的IoU 值都小于0.3的先验框分类为背景。IoU计算公式如下:
在式(16)中Parea和Garea分别表示预测的目标框和标注的边框所在的区域, IoU是用于目标检测中确定预测结果的真阳性(TP)和假阳性(FP)。
在此步骤中,本方法要设定非极大值抑制(NMS)阈值参数为0.7,只有当 IoU>0.7时,只有当IoU>0.7时,才认为甘蔗幼苗被检测到(即是真阳性)。为了避免重复检测(当在同一区域预测多个目标框或同一区域存在多株甘蔗幼苗时),每个预测目标框和带标注的边框只考虑一次;也就是说,如果预测边框和标注的边框满足IoU>0.7,则标注的边框不用于下一个预测边框的评估。对于预测的边框来说,如果没有标注的边框与其满足IoU>0.7,则认为预测边框是假阳性的。
步骤5:模型的训练
按照步骤4进行神经网络的搭建,所形成的整体结构如图7所示。完成网络搭建以后,将训练集数据输入网络进行训练。利用ResNet50和SN-Block提取蔗苗的特征;然后将生成的特征图输入FPN,对多尺度特征进行融合;再将特征输入RPN网络,特征图上的每个点对应输入图像上一个位置,接着在每个位置生成一定数量不同形状的先验框;最后通过softmax分类器判断先验框是否是前景,通过边框回归调整前景先验框的坐标。将冗余候选框用NMS算法删除,将得分高的候选框作为感兴趣区域(ROI)。训练中,RPN网络的损失、分类层损失与回归层损失分别如式(17)~(19)所示。
Lc(pi,p'i)=-lg(pip'i+(1-p'i)(1-pi)) (18)
式(17)~(21)中,i表示先验框的序号;pi表示某先验框预测是甘蔗苗的概率; p'i为先验框判断结果;μ负责平衡权重。Qc为分类时一个小批次数据中的蔗苗数; Qr为回归时的蔗苗数;bi表示预测的甘蔗幼苗边框的坐标;b'i表示人工标注的甘蔗幼苗边框坐标;smoothL1表示平滑后的L1损失函数。
经过ROI池化将所有区域特征图尺寸固定为7×7,然后在Fast R-CNN中对候选区域进行检测。经过全连接层后通过softmax分类器判断候选边框所属类别,同时利用多任务损失边界框回归算法调整目标候选框的位置。
训练的基本学习率为0.001,动量为0.9(表示最后一次梯度更新的权重),权重衰减为0.0001,以避免过拟合。在每次训练迭代中使用Momentum动量优化方法优化损失函数的计算以更新网络参数,达到训练次数后将训练模型保存。
步骤6:模型精度评估及选择
上个步骤已经将不同参数的模型保存下来,而在这一步需要评估不同模型的检测精度,选择精度最高的模型用于最后大尺寸航拍图像中甘蔗幼苗的检测。具体方法是:首先将制作的验证集输入保存的模型进行检测,利用性能评估指标评价不同模型的检测精度,在此阶段选择平均精度最高的模型作为检测模型。
选择准确率P、召回率R、平均精度AP和平均召回率AR评价模型的性能。 AP值为准确率对召回率的积分,平均召回率AR则定义为在一定数量的数据集上召回率的平均值。准确率P反映检测的真实蔗苗数占检测结果的百分比;而召回率R反映预测的实际蔗苗数占实际蔗苗总数的百分比。具体计算如式(22)~(25) 所示。
式(22)~(25)中,TP代表检测的真实蔗苗(正样本)数;FN表示真实蔗苗被误检为非蔗苗(负样本)的样本数;FP表示错误将非蔗苗部分识别为蔗苗的样本数;R(q)表示数据集中某一张图像q的召回率,Q是待检测的图像总数。
为了验证训练出的模型与原始Faster R-CNN模型在检测精度上的变化,在包含398张图像的验证集上开展了对比实验,实验结果如表1所示,实验结果说明对网络结构的改进确实有助于提升甘蔗幼苗的检测精度。另外对于尺寸较小的杂草,由于颜色跟甘蔗幼苗很接近,并且特征不是很明显,原始的Faster R-CNN 会将这部分杂草误检为蔗苗,但是改进的Faster R-CNN已经改善了这个问题。
表1
步骤7:大尺寸航拍图像检测结果的合并与去重
这个步骤是利用之前训练得到的性能最优的模型实现对大尺寸航拍图像中所有甘蔗幼苗的检测与计数。将经过自适应对比度增强的航拍图像按照有重叠的裁剪方式裁剪成固定的尺寸,将裁剪的图片进行批量检测;但是,图像块之间的重叠意味着某些边界框可能是冗余的。在去重算法设计之前,需要先将各子图的识别结果进行合并,在原始大图中进行显示。子图检测结果中的识别框的位置和大小通常会使用两种方式表示,一种是使用中心点坐标(x,y)和边界框的宽高(w,h)一起表示,另一种则使用边框左上角顶点(x1,y1)和右下角顶点(x2,y2) 一起表示。本方法采用第二种方式定义识别框的位置。对子图的识别结果进行合并需要按照子图像块的编号顺序及裁剪时的重叠度信息对检测框通过坐标转换的方式进行。子图编号形式为{0_0_600_600,0_1_600_600,···,1_0_600_600, 1_1_600_600,···,yi_xi_600_600}。设子图中某识别框的左上角和右下角顶点坐标分别为(x1,y1)和(x2,y2),根据其所在图像块的编号信息进行坐标转换,将它们同一转换到原始大尺寸航拍图像所代表的坐标系中。识别框新的左上角顶点 (x1*,y1*)和右下角顶点(x2*,y2*),分别使用等式(27)~(30)计算。
x1*=x1+xshiftxi (27)
y1*=y1+yshiftyi (28)
x2*=x2+xshiftxi (29)
y2*=y2+yshiftyi (30)
上面各式中xshift和yshift是需要调整的不同图像块中目标框的横向位移和纵向位移,而xi和yi是子图像块命名编号中对应位置的数值。裁剪后子图的尺寸为 600×600,假设给定的水平重叠度和垂直重叠度分别是OverLapPercentage_x和 OverLapPercentage_y。则600OverLapPercentage_x和600OverLapPercentage_y分别表示水平和垂直方向重叠的像素数,那么xshift和yshift可以用式(31)和(32)计算:
xshift=600-600OverLapPercentage_x (31)
yshift=600-600OverLapPercentage_y (32)
坐标转换的示意图如图8所示,其中最大的矩形OABC表示输入的原始图像,其中裁剪后的子图块用宽高尺寸分别为600的小矩形表示,over_x和over_y 分别表示水平和垂直方向重叠的像素数。用于举例说明的蓝色小矩形的编号为 0_1_600_600。
下面介绍该算法的核心部分,即非极大值抑制(NMS)的原理及实现方法。非极大值抑制是寻找局部最大值的过程,在进行目标检测时,图像上生成的候选框进行特征提取后会传入分类器,分类器一般会给出置信度。然后将有得分的候选框全部排序。选出得分最高的候选框,接着计算其他候选框与其重叠度(IoU),达到重叠度的阈值就进行删除,否则就保留该候选框,重复以上过程。
假设输入的待检测图像包含N个候选边界框,使用分类网络计算每个边界框对应分类的类别概率即置信度scores,1≤i≤N,NMS过程包括以下步骤:
第一步:构造一个集合C来存储所有N个边界框,这些边界框按置信度 scores的值排序;此外,构造一个集合O来存储保留的边界框,并将其初始化为空集。
第二步:从集合C中选择最高置信度的边界框(表示为B),并将其移动到集合O。
第三步:计算Ci的区域面积和B的区域面积之间的IoU重叠度,其中Ci是 C中的候选边界框,i=1,2,…,|C|;按照设置的IoU的阈值进行过滤,与B的区域面积存在IoU重叠且大于一定阈值λ的边界框Ci被视为B的冗余边界框。
第四步:从C中删除所有冗余的边界框。
第五步:重复第二步到第四步,直到集合C为空;集合O中的边界框就是我们需要的。
但是NMS算法应用到批量检测结果合并时的去重有一个问题,一般NMS 在目标检测中使用较多的情况是对同一张图像上出现的重复检测目标框进行去重,因为计算IoU时要保证边框之间有重叠,但是不同图像上生成的检测边框都是以每张图像本身左上角的顶点为原点建立的参考系,所以不同图像上检测的边框坐标不能反映在拼接的大尺寸图像上目标框之间的相对位置关系。
为了将NMS算法用于批量检测结果的合并去重,本方法主要通过先将子图中目标框的坐标转换成大尺寸航拍图像中的坐标然后使用去重算法。这是一种后处理的方法,方法的具体步骤如下:
1)将经过自适应对比度增强的大尺寸图像运用带边缘重叠像素的裁剪方式裁剪成均匀大小,并且将裁剪后的子图像块命名为{0_0_600_600,0_1_600 _600,···,1_0_600_600,1_1_600_600,···,yi_xi_600_600}。
2)设置IoU的阈值λ,将裁剪的子图输入检测模型中。
3)将每个子图中检测到的边界框坐标、边界框的类名以及置信度分数按对应的顺序保存到集合A中。
4)将集合A中目标框的左上角顶点(x1,y1)和右下角顶点坐标(x2,y2)根据其所在图像块的命名信息进行坐标转换,将它们同一转换到原始大尺寸航拍图像所代表的坐标系中。识别框转换后的坐标使用等式(27)~(30)计算。
5)将转换后的识别框坐标和对应的类别名称及置信度分数重新保存到一个新的集合B中,对集合B使用NMS算法,将去重后的目标框坐标与对应的置信度分数保存到另一个集合C中,此时C中任何一个边框的坐标都已经成为基于原始大尺寸航拍图像坐标系下的坐标。
6)最后读取完整的大尺寸航拍图像,将集合C中目标框的坐标及置信度分数在原始大尺寸图像上绘制出来,就可以得到最终的检测结果。统计此时集合C 中的目标框的数量,得到的就是应用去重算法后计算的甘蔗幼苗总数。
步骤2)中参数λ代表IoU的阈值,是一个预先设置的常数,用于确定边界框之间是否存在冗余的边框。为了证明阈值λ会影响大尺寸航拍图像中全体甘蔗幼苗检测的准确性,本方法选取不同的IoU阈值在20张用于测试的图像上进行检测性能的对比实验。在实验中,λ取6个值:0.05、0.1、0.15、0.2、0.25和0.3,并以准确率Precision、召回率Recall和F1分数作为评价指标来评价检测性能,相关计算公式见步骤6中式(22)~(26)。为了计算本方法在大尺寸航拍图像中对图中全体甘蔗幼苗的检测精度,这里的准确率、召回率和F1分数都是用所有测试图像检测结果的真正(TP)、假正(FP)和假负(FN)样本的总数进行计算的,其中Precision为正确检测到的甘蔗幼苗总数除以检测到的所有甘蔗幼苗的总数, Recall为正确检测到甘蔗幼苗总数除以地面实际的甘蔗幼苗总数,正确的检测是指检测结果中的目标框能准确包围单株的甘蔗幼苗。
表2为在保存的性能最优的模型上对测试集检测的数值结果。这些结果进一步证实了本发明方法训练的模型可以准确检测到无人机图像中的甘蔗幼苗。
表2
结果表明,λ值过低或过高都会导致检测性能下降。在极端情况下(λ=0),表示模型删除所有相交结果,只保留不相交的检测结果。这种消除冗余的方法既苛刻又不合理,因为一些相邻的甘蔗幼苗本身就有重叠的部分。当λ接近0时,假负样本的数量增加,这反映在召回率和F1分数的减少上。如果使用较大的λ值,则保留相交的检测结果,从而减少假负样本的产生。以λ=0.1和0.15为例,甘蔗幼苗检测的F1得分超过92%,召回率比λ=0.05时高出约5~7%,这意味着增加λ可以获得更准确的检测结果。然而,增加λ并不总是提高检测性能。以λ=0.2 和0.3为例,当λ继续增加时,假正样本的数量开始增加,造成甘蔗幼苗检测的F1得分和准确率都在下降,当λ=0.3时,召回率的增长并不明显,但准确率已经下降到90%以下。特别是当λ=1时,保留所有检测结果。在这种情况下,NMS 机制失去了减少冗余的能力,从而增加了误报的概率,从而导致低准确率和低F1 分数。基于以上实验的结果,说明合理设置IoU的阈值可以改善大尺寸航拍图像检测结果拼接与去重算法的性能,可以有效提高大田甘蔗幼苗群体识别与计数的精度。
在实际使用时,用户可以通过自己准备的测试图像确定最优的IoU阈值,一般λ在0.05~0.3范围之间取值,然后用测试图像以不同的λ值进行检测,最后选择最高F1分数对应的λ值作为实际检测的经验值,在后续的检测任务里直接用该λ值作为去重算法中预设的IoU阈值。比如在上述实验中,λ=0.15对应的F1 分数最高,那么就将0.15确定为NMS机制中λ的经验值,在后续进行实际的检测任务时直接令检测结果拼接和去重算法的IoU阈值等于0.15。
在评估此方法的计数性能时,使用平均绝对误差(MAE)和计数准确率(ACC) 作为评价指标。计算公式如下:
上面各式中,ai和ci分别是第i张无人机图像中甘蔗幼苗的地面真实值计数和第i张图像的预测计数(检测到的目标框总数),n是测试的无人机图像的数量, MAE和ACC用于量化检测模型的计数精度,并且MAE的值越低,ACC的值越高表示计数性能越好。
验证不同λ的取值对应的计数精度(如图9和表3所示)。图9(a)显示了用于测试的图像中每一幅图像的8个计数结果,包括由训练得到的甘蔗幼苗检测模型以不同λ(λ=0.05,0.1,0.15,0.2,0.25,0.3)获得的6个预测计数、未使用基于NMS 机制去重算法的计数和作为比较基线的地面真实值计数。从图9(a)可以看出,对于几乎所有的图像,该检测模型未使用基于NMS机制去重算法得到的预测结果与地面真实值存在很明显的差距,并且都比真实的幼苗数量高出很多,这是因为输入模型的图像块边缘存在很多重叠区域,重叠区域里又存在大量密集的甘蔗幼苗,由于检测时图像块是批量输入模型检测的,那么过度检测产生的重复边框会对结果产生很大的影响。接着为了更明显且直观地表现不同IoU阈值的取值对于大田甘蔗幼苗实际计数结果的影响,图9(b)只显示用于测试的20幅图像中每幅图像七次计数的结果,包括使用6个不同λ值在模型的检测结果中得到的预测计数以及地面真实值计数。在大多数情况下,使用λ=0.15预测的计数结果比用λ≠0.15预测的计数结果更接近地面真实值的计数,显示出极高的精确度(96.83%) 和更小的MAE(4.60;见表3),这表明该模型对大尺寸航拍图像中甘蔗幼苗的群体数量进行了合理地预测。当λ=0.05和0.3时,计数结果分别出现过低和过高的情况,这与之前分析的相一致。这些结果进一步证实,使用λ=0.15这个经验值得到的结果比λ≠0.15时更好。
表3
上述实验结果表明,利用数量足够的测试图像确定最优的IoU阈值λ确实能在一定程度上提高大尺寸航拍图像中甘蔗幼苗群体的识别和计数精度。
本发明通过深度卷积神经网络对数据的本身特征进行非线性表达,能够从复杂数据中学习到甘蔗幼苗的特征,增强了模型的鲁棒性。
本发明在ResNet50作为特征提取器的基础上引入SN-Block模块,将提取的特征图用FPN结构进行融合,将融合后的特征图输入改进的RPN网络。通过对比试验发现改进的Faster-RCNN网络训练得到的甘蔗幼苗检测模型能够有效改善小尺寸蔗苗和被遮挡的蔗苗检测效果差的缺点,提高了大尺寸航拍图像下不同尺寸的甘蔗幼苗的检测精度。实验结果表明,改进的Faster-RCNN模型在验证集上平均检测精度达到93.67%,召回率达到89.78%。并且利用非极大值抑制算法实现大尺寸航拍图像中甘蔗幼苗的识别与计数,通过实验确定IoU阈值设为0.15 时检测精度最高,并且在测试集上检测平均精度达到93.66%,这个结果与验证集上得到的精度很接近,说明用此方法建立的检测模型对大田甘蔗幼苗的识别与计数有较高的泛化能力。另外在实验中IoU为0.15时,模型的计数精度ACC能达到96.83%而平均绝对误差MAE只有4.60株,说明合理地设置IoU阈值可以在一定程度上提高模型在田间对甘蔗幼苗群体的计数精度。用户可以按照本方法提出的步骤,通过制作规模能大的数据集以及用更多测试图像选择IoU阈值这两种途径来提高自己模型的鲁棒性。
以上所述的实施例仅是对本发明优选方式进行的描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案做出的各种变形和改进,均应落入本发明权利要求书确定的保护范围内。
Claims (10)
1.一种基于深度神经网络的甘蔗幼苗自动识别与计数方法,其特征在于,包括以下步骤:
S1、数据采集:使用无人机采集甘蔗出苗后的冠层可见光图像,作为输入的原始图像;
S2、图像预处理:对基于图像自适应对比度增强处理后的图像进行图像裁剪;
S3、制作数据集:从采集的所述原始图像中随机挑选出若干图像用于训练和验证,并且训练和验证的图像不存在交集,将所述若干图像经过预处理后进一步筛选出包含一株完整甘蔗幼苗且没有模糊失真的图像块,并将其中2/3~6/7的图像块用于训练,获得训练集,挑选出所述图像中剩余图像块用于评估模型检测精度;
S4、搭建卷积神经网络结构:更换特征提取网络,在更换后的特征提取网络层嵌入注意力模块SN-Block,输出特征图后进行多尺度特征融合,筛选出置信度高的候选框作为目标候选框,输入到后续的模型中进行精确分类和定位;
S5、对改进的神经网络模型进行训练:基于S4中搭建的神经网络结构,构建改进的神经网络模型,将所述训练集输入到所述改进的神经网络模型中训练,利用所述特征提取网络提取图像中目标的特征,生成的特征图被后续候选区域网络RPN与检测网络Fast R-CNN共享;
S6、模型精度评估及选择:将制作的验证集输入保存的改进的神经网络模型进行检测,利用性能评估指标评价不同神经网络模型的检测精度;
S7、对大尺寸航拍检测结果进行拼接与去重,得到对所述原始图像的全图甘蔗苗的检测与计数结果。
2.根据权利要求1所述的基于深度神经网络的甘蔗幼苗自动识别与计数方法,其特征在于,S1中,所述无人机的飞行高度设为10~20m,速度设为2~4m/s。
3.根据权利要求1所述的基于深度神经网络的甘蔗幼苗自动识别与计数方法,其特征在于,S2中,所述图像自适应对比增强的具体步骤包括:
通过自适应对比增强的方法增加所述输入图像中植株与土壤背景的对比度,先通过低通滤波获得图像的低频分量,然后通过所述原始图像减去低频分量得到表征图像边缘和细节的高频分量,最后将所述高频分量乘以一个增益值,重组所述低频分量和高频分量,得到增强后的图像。
4.根据权利要求1所述的基于深度神经网络的甘蔗幼苗自动识别与计数方法,其特征在于,S2中,所述图像裁剪的具体方法为:
将经过图像增强处理后准备用于模型训练和验证的图像裁剪为相同尺寸的子图像块,采用网格的方式裁剪,然后筛选出图像中包含至少一株完整甘蔗苗且未出现画面失真的图片作为制作训练集和验证集。
5.根据权利要求4所述的基于深度神经网络的甘蔗幼苗自动识别与计数方法,其特征在于,所述子图像块的最大边长不超过1024像素。
6.根据权利要求1所述的基于深度神经网络的甘蔗幼苗自动识别与计数方法,其特征在于,S4中,所述搭建卷积神经网络结构的具体步骤为:
S4.1、更换特征提取网络:将原始网络使用的VGG16网络替换为ResNet50网络,将输入网络的尺寸设置为640×640,输入尺寸要求能被2的6次方整除,子图像尺寸不足640×640的,使用0对子图边缘进行填充以调整为输入尺寸,子图像块尺寸不满足1024的,则使用等比例缩放的方式调整所述输入图像的尺寸到指定的输入尺寸,将所述图像输入特征提取层后,所述ResNet50网络采用不同数量的卷积层组合、批量归一化层、ReLU激活层和最大池化层组成的五个阶段进行特征提取;
S4.2、在特征提取网络层嵌入注意力模块SN-Block,输入的图像经过特征提取层以后先进行特征提取,得到形状为H×W×C的特征图,将其输入所述SN-Block结构,然后依次使用3×3卷积、1×1卷积、3×3卷积,在每一次卷积后使用ReLu函数激活;
S4.3、将FPN结构融合到所述Faster R-CNN中,完成所述神经网络的搭建。
7.根据权利要求1所述的基于深度神经网络的甘蔗幼苗自动识别与计数方法,其特征在于,S5中,所述改进的神经网络模型训练的具体过程包括:
首先将所述训练集输入到所述改进的神经网络模型中训练,并且对所述原始图像的长边和短边进行限制,利用所述特征提取网络提取图像中目标的特征,生成的特征图被后续候选区域网络RPN与检测网络Fast R-CNN共享;
然后将提取的特征图输入金字塔网络FPN,利用所述FPN融合最终层和中间层多个尺度的特征,再将融合后的特征输入RPN网络;所述特征图上的每个点对应输入图像上一个位置,接着在每个所述位置生成若干个不同形状的先验框(anchor),利用滑窗策略生成大量的anchor,最后通过softmax分类器执行二分类任务,每个所述锚点会被判断是属于前景还是背景,通过边界框回归修正前景anchor的中心坐标与长宽,得到候选框位置;
使用非极大值抑制算法NMS去除冗余候选框,将得分高的候选框作为感兴趣区域ROI。
8.根据权利要求7所述的基于深度神经网络的甘蔗幼苗自动识别与计数方法,其特征在于,所述使用非极大值抑制算法NMS去除冗余候选框的具体方法为:
第一步:构造一个集合C来存储所有N个边界框,这些边界框按置信度scores的值排序;构造一个集合O来存储保留的边界框,并将其初始化为空集;
第二步:从所述集合C中选择最高置信度的边界框,表示为B,并将其移动到所述集合O;
第三步:计算Ci的区域面积和B的区域面积之间的IoU重叠度,其中Ci是C中的候选边界框,i=1,2,…,|C|;按照设置的所述IoU的阈值进行过滤,与B的区域面积存在IoU重叠且大于阈值λ的边界框Ci视为B的冗余边界框;
第四步:从C中删除所有冗余的边界框;
第五步:重复第二步到第四步,直到集合C为空,得到所述集合O中的边界框。
9.根据权利要求7所述的基于深度神经网络的甘蔗幼苗自动识别与计数方法,其特征在于,所述感兴趣区域ROI经过池化后将所有区域特征图尺寸固定为7×7,然后在所述FastR-CNN中对候选区域进行检测,综合特征图与候选框信息,通过全连接层与所述softmax分类器计算每个候选框识别为甘蔗苗的概率,判断前景所属类别,同时利用多任务损失边界框回归算法修正目标候选框的位置,生成最终检测框边界的精确坐标。
10.根据权利要求1所述的基于深度神经网络的甘蔗幼苗自动识别与计数方法,其特征在于,S6中,所述模型精度评估及选择的步骤如下:
首先将制作的验证集输入保存的模型进行检测,利用性能评估指标评价不同模型的检测精度,选择平均精度最高的模型作为检测模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110671163.2A CN113392775B (zh) | 2021-06-17 | 2021-06-17 | 一种基于深度神经网络的甘蔗幼苗自动识别与计数方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110671163.2A CN113392775B (zh) | 2021-06-17 | 2021-06-17 | 一种基于深度神经网络的甘蔗幼苗自动识别与计数方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113392775A true CN113392775A (zh) | 2021-09-14 |
CN113392775B CN113392775B (zh) | 2022-04-29 |
Family
ID=77621604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110671163.2A Active CN113392775B (zh) | 2021-06-17 | 2021-06-17 | 一种基于深度神经网络的甘蔗幼苗自动识别与计数方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113392775B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113706529A (zh) * | 2021-10-28 | 2021-11-26 | 鲁东大学 | 利用卷积神经网络对育苗期鲍鱼计数的方法、系统及装置 |
CN113822198A (zh) * | 2021-09-23 | 2021-12-21 | 华南农业大学 | 基于uav-rgb图像和深度学习的花生生长监测方法、系统及介质 |
CN113989253A (zh) * | 2021-11-04 | 2022-01-28 | 广东皓行科技有限公司 | 农田目标对象信息的获取方法及装置 |
CN114037686A (zh) * | 2021-11-09 | 2022-02-11 | 浙江大学 | 一种基于深度学习的儿童肠套叠自动检测系统 |
CN114742822A (zh) * | 2022-05-20 | 2022-07-12 | 青岛农业大学 | 一种草莓识别计数模型的搭建方法及应用 |
CN114782376A (zh) * | 2022-04-24 | 2022-07-22 | 青岛森科特智能仪器有限公司 | 一种具有学习功能的鱼苗计数设备及其工作方法 |
CN115099297A (zh) * | 2022-04-25 | 2022-09-23 | 安徽农业大学 | 一种基于改进型YOLO v5模型的大豆植株表型数据统计方法 |
CN115294448A (zh) * | 2022-07-18 | 2022-11-04 | 北京爱科农科技有限公司 | 一种农作物育种小区苗数计数方法、装置及系统 |
CN115761510A (zh) * | 2022-12-08 | 2023-03-07 | 中化现代农业有限公司 | 一种果实计数方法 |
CN116630815A (zh) * | 2023-07-25 | 2023-08-22 | 济南玖通志恒信息技术有限公司 | 一种智慧农业病虫害检测方法 |
CN116912720A (zh) * | 2023-09-12 | 2023-10-20 | 北京宝隆泓瑞科技有限公司 | 一种判断无人机影像目标是否发生重复识别的方法 |
CN117152620A (zh) * | 2023-10-30 | 2023-12-01 | 江西立盾光电科技有限公司 | 一种跟随植物状态变化的植物生长控制方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109614985A (zh) * | 2018-11-06 | 2019-04-12 | 华南理工大学 | 一种基于密集连接特征金字塔网络的目标检测方法 |
CN110084124A (zh) * | 2019-03-28 | 2019-08-02 | 北京大学 | 基于特征金字塔网络的特征增强目标检测方法 |
CN111476317A (zh) * | 2020-04-29 | 2020-07-31 | 中国科学院合肥物质科学研究院 | 一种基于强化学习技术的植保图像非密集害虫检测方法 |
CN111539469A (zh) * | 2020-04-20 | 2020-08-14 | 东南大学 | 一种基于视觉自注意力机制的弱监督细粒度图像识别方法 |
CN111738124A (zh) * | 2020-06-15 | 2020-10-02 | 西安电子科技大学 | 基于Gabor变换和注意力的遥感图像云检测方法 |
WO2020253499A1 (zh) * | 2019-06-17 | 2020-12-24 | 平安科技(深圳)有限公司 | 视频物体加速检测方法、装置、服务器及存储介质 |
CN112329559A (zh) * | 2020-10-22 | 2021-02-05 | 空间信息产业发展股份有限公司 | 一种基于深度卷积神经网络的宅基地目标检测方法 |
US20210042579A1 (en) * | 2018-11-30 | 2021-02-11 | Tencent Technology (Shenzhen) Company Limited | Image description information generation method and apparatus, and electronic device |
-
2021
- 2021-06-17 CN CN202110671163.2A patent/CN113392775B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109614985A (zh) * | 2018-11-06 | 2019-04-12 | 华南理工大学 | 一种基于密集连接特征金字塔网络的目标检测方法 |
US20210042579A1 (en) * | 2018-11-30 | 2021-02-11 | Tencent Technology (Shenzhen) Company Limited | Image description information generation method and apparatus, and electronic device |
CN110084124A (zh) * | 2019-03-28 | 2019-08-02 | 北京大学 | 基于特征金字塔网络的特征增强目标检测方法 |
WO2020253499A1 (zh) * | 2019-06-17 | 2020-12-24 | 平安科技(深圳)有限公司 | 视频物体加速检测方法、装置、服务器及存储介质 |
CN111539469A (zh) * | 2020-04-20 | 2020-08-14 | 东南大学 | 一种基于视觉自注意力机制的弱监督细粒度图像识别方法 |
CN111476317A (zh) * | 2020-04-29 | 2020-07-31 | 中国科学院合肥物质科学研究院 | 一种基于强化学习技术的植保图像非密集害虫检测方法 |
CN111738124A (zh) * | 2020-06-15 | 2020-10-02 | 西安电子科技大学 | 基于Gabor变换和注意力的遥感图像云检测方法 |
CN112329559A (zh) * | 2020-10-22 | 2021-02-05 | 空间信息产业发展股份有限公司 | 一种基于深度卷积神经网络的宅基地目标检测方法 |
Non-Patent Citations (3)
Title |
---|
LI XIUHUA 等: ""Sugarcane Nitrogen and Irrigation Level Prediction Based on UAV-Captured Multispectral Images at the Elongation Stage"", 《BIORXIV》 * |
吴华瑞: ""基于深度残差网络的番茄叶片病害识别方法"", 《智慧农业》 * |
李修华 等: ""基于田间环境及气象数据的甘蔗产量预测方法"", 《农业机械学报》 * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113822198A (zh) * | 2021-09-23 | 2021-12-21 | 华南农业大学 | 基于uav-rgb图像和深度学习的花生生长监测方法、系统及介质 |
CN113822198B (zh) * | 2021-09-23 | 2023-10-17 | 华南农业大学 | 基于uav-rgb图像和深度学习的花生生长监测方法、系统及介质 |
CN113706529A (zh) * | 2021-10-28 | 2021-11-26 | 鲁东大学 | 利用卷积神经网络对育苗期鲍鱼计数的方法、系统及装置 |
CN113989253A (zh) * | 2021-11-04 | 2022-01-28 | 广东皓行科技有限公司 | 农田目标对象信息的获取方法及装置 |
CN114037686B (zh) * | 2021-11-09 | 2022-05-17 | 浙江大学 | 一种基于深度学习的儿童肠套叠自动检测系统 |
CN114037686A (zh) * | 2021-11-09 | 2022-02-11 | 浙江大学 | 一种基于深度学习的儿童肠套叠自动检测系统 |
CN114782376A (zh) * | 2022-04-24 | 2022-07-22 | 青岛森科特智能仪器有限公司 | 一种具有学习功能的鱼苗计数设备及其工作方法 |
CN115099297A (zh) * | 2022-04-25 | 2022-09-23 | 安徽农业大学 | 一种基于改进型YOLO v5模型的大豆植株表型数据统计方法 |
CN115099297B (zh) * | 2022-04-25 | 2024-06-18 | 安徽农业大学 | 一种基于改进型YOLO v5模型的大豆植株表型数据统计方法 |
CN114742822A (zh) * | 2022-05-20 | 2022-07-12 | 青岛农业大学 | 一种草莓识别计数模型的搭建方法及应用 |
CN115294448A (zh) * | 2022-07-18 | 2022-11-04 | 北京爱科农科技有限公司 | 一种农作物育种小区苗数计数方法、装置及系统 |
CN115761510A (zh) * | 2022-12-08 | 2023-03-07 | 中化现代农业有限公司 | 一种果实计数方法 |
CN116630815B (zh) * | 2023-07-25 | 2023-09-22 | 济南玖通志恒信息技术有限公司 | 一种智慧农业病虫害检测方法 |
CN116630815A (zh) * | 2023-07-25 | 2023-08-22 | 济南玖通志恒信息技术有限公司 | 一种智慧农业病虫害检测方法 |
CN116912720A (zh) * | 2023-09-12 | 2023-10-20 | 北京宝隆泓瑞科技有限公司 | 一种判断无人机影像目标是否发生重复识别的方法 |
CN116912720B (zh) * | 2023-09-12 | 2023-12-05 | 北京宝隆泓瑞科技有限公司 | 一种判断无人机影像目标是否发生重复识别的方法 |
CN117152620A (zh) * | 2023-10-30 | 2023-12-01 | 江西立盾光电科技有限公司 | 一种跟随植物状态变化的植物生长控制方法及系统 |
CN117152620B (zh) * | 2023-10-30 | 2024-02-13 | 江西立盾光电科技有限公司 | 一种跟随植物状态变化的植物生长控制方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113392775B (zh) | 2022-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113392775B (zh) | 一种基于深度神经网络的甘蔗幼苗自动识别与计数方法 | |
Jia et al. | Detection and segmentation of overlapped fruits based on optimized mask R-CNN application in apple harvesting robot | |
Pang et al. | Improved crop row detection with deep neural network for early-season maize stand count in UAV imagery | |
CN107016405B (zh) | 一种基于分级预测卷积神经网络的害虫图像分类方法 | |
CN104881865B (zh) | 基于无人机图像分析的森林病虫害监测预警方法及其系统 | |
CN106951836B (zh) | 基于先验阈值优化卷积神经网络的作物覆盖度提取方法 | |
CN114120037B (zh) | 一种基于改进yolov5模型的发芽马铃薯图像识别方法 | |
CN107918776B (zh) | 一种基于机器视觉的用地规划方法、系统及电子设备 | |
CN110569747A (zh) | 一种利用图像金字塔与Faster-RCNN快速统计大田水稻稻穗数的方法 | |
CN112749627A (zh) | 一种基于多源遥感影像的烟草动态监测的方法和装置 | |
KR101183105B1 (ko) | 자동 구름 정보 산출방법 | |
CN113160062B (zh) | 一种红外图像目标检测方法、装置、设备及存储介质 | |
CN112069985B (zh) | 基于深度学习的高分辨率大田图像稻穗检测与计数方法 | |
CN110969654A (zh) | 基于收割机的玉米高通量表型测量的方法及装置、收割机 | |
CN110533100A (zh) | 一种基于机器学习进行cme检测和跟踪的方法 | |
CN111291818B (zh) | 一种面向云掩膜的非均匀类别的样本均衡化方法 | |
CN114202643A (zh) | 基于多传感融合的苹果叶部病害识别终端及方法 | |
CN117789037A (zh) | 作物生长期预测方法及装置 | |
CN113469122A (zh) | 基于深度学习作物时空泛化分类方法及系统 | |
Moradi et al. | Potential evaluation of visible-thermal UAV image fusion for individual tree detection based on convolutional neural network | |
Xiao et al. | 3D reconstruction and characterization of cotton bolls in situ based on UVA technology | |
CN114782835B (zh) | 作物倒伏面积比例检测方法及装置 | |
CN116385717A (zh) | 叶面病害识别方法、装置、电子设备、存储介质及产品 | |
CN116416532A (zh) | 一种病株诊断及缺株检测方法、系统、设备及存储介质 | |
KR102576427B1 (ko) | 구름 이미지를 이용한 실시간 강수량 예측 장치, 이를 이용한 강수량 예측 방법 및 이를 제공하기 위한 컴퓨터 프로그램이 기록된 컴퓨터-판독가능매체 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |