CN115249240A - 一种面向单株大豆密集豆荚的自动计数检测方法 - Google Patents
一种面向单株大豆密集豆荚的自动计数检测方法 Download PDFInfo
- Publication number
- CN115249240A CN115249240A CN202210838266.8A CN202210838266A CN115249240A CN 115249240 A CN115249240 A CN 115249240A CN 202210838266 A CN202210838266 A CN 202210838266A CN 115249240 A CN115249240 A CN 115249240A
- Authority
- CN
- China
- Prior art keywords
- pod
- pods
- prediction
- feature
- frame
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- 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/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30181—Earth observation
- G06T2207/30188—Vegetation; Agriculture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30242—Counting objects in image
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Quality & Reliability (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种面向单株大豆密集豆荚的自动检测方法,采用一种融合可变形递归特征金字塔网络与边界框优化网络的深度学习目标检测算法实现单株豆荚检测方。首先,针对姿态多变的被遮挡豆荚,采用可变形递归金字塔网络DRFP(Deformable Recursive Feature Pyramid)在骨干网络中使用可变形卷积自适应的捕捉豆荚区域以提取特征,并构造递归金字塔结构进行特征融合;其次采用边界框优化网络,基于可变焦点检测网络(VFNet)框架在位置框回归的网络分支融合斥力损失函数(Repulsion Loss),改进了检测框位置回归损失函数,缓解豆荚密集区域预测框之间的相互影响。最后,模型测试阶段采用一种新的柔性距离交并比非极大值抑制算法(SDIoU‑NMS),提高预测框的生成与筛选质量。
Description
技术领域
本发明属于植物表型测量领域,是基于目标检测算法的植物器官自动计数方法,属于深度学习的目标检测算法与单株大豆豆荚数量性状表型测量的交叉领域。本发明提出一种针对簇状生长的单株大豆豆荚之间、豆荚与茎杆之间存在较为严重的密集遮挡场景下,豆荚自动计数检测的综合方法。
背景技术
大豆含有丰富的蛋白质和脂肪,是重要的粮油作物之一。随着我国大豆需求量的不断增长,提升大豆产量势在必行,选育优质的大豆品种是提升产量的有效解决途径。单株荚数(每棵植株所含豆荚数量)是大豆品种质量与产量评估的重要指标之一,获取单株豆荚数对精确育种意义重大。目前,荚数获取主要依赖于人工观察和测量。然而,受限于大豆的多分支结构和密集簇状生长的生物特点,人工计数往往费时费力,效率低下且存在主观误差。因此,亟需快速、高通量、精确的大豆单株豆荚自动计数方法。
近年来,得益于图像采集设备和人工智能算法的快速发展,基于RGB图像实现高通量、高精度大豆表型测量成为可能,已成功在成熟期大豆大豆豆荚的种类识别、单株大豆豆荚识别检测以及荚长荚宽测量等领域取得突破。对于大豆豆荚计数任务,现有方法在拍照成像前往往需要人工拆解植株,自动化程度有限,需要研制能够直接对非拆解状态的整株大豆大豆豆荚实实现自动计数的算法。
单株豆荚计数任务属于植物器官计数领域,利用深度学习目标检测算法是常见思路,进一步预测场景中特定目标的类别与位置以后实现计数。然而,由于自然场景的复杂性,直接迁移通用的深度学习目标检测算法时,计数模型精度常受限于特征学习、预测框位置回归以及预测框筛选等环节。具体而言,大田自然环境下的收获器官(如麦穗、稻穗或者水果果实等),目标常受叶片或枝干的遮挡,这使得学习的目标特征常存在信息丢失或噪声混入。为此,研究者提出将注意力机制引入特征学习与特征融合网络,提高目标特征图的质量,使得网络模型能更好地表征遮挡目标。此外,待计数目标(如稻穗、麦穗)往往较为密集,预测目标位置的候选区域常存在较大重叠,增加了后处理环节的筛选难度,导致模型精度下降。为此,研究者提出用GIoU等替换IoU,作为位置框损失函数,在反映预测检测框与真实检测框的相似性的同时,正确区分两个目标之间的不同距离。成熟期单株大豆受到来自茎秆或周围其他豆荚的局部遮挡,豆荚呈现多变的形态和姿态。现有研究主要在特征学习与融合时引入注意力机制来增强网络对遮挡特征的表示能力,但固定尺度的感受野在特征学习时常无法覆盖姿态不定的豆荚,特征中不可避免的混入噪音。此外,大豆成簇状密集生长且数量分布不均匀,在预测框生成与筛选时,现有工作更多的是通过引入额外约束度量预测框与真实框间的重叠关系,忽略了重叠度极高的不同预测框间的相互干扰性。
发明内容
本发明为了实现对RGB图像中单株大豆豆荚的自动检测,使用深度学习目标检测的方式,设计了一种融合可变形递归特征金字塔网络与边界框优化网络的密集豆荚检测方法。首先,针对姿态多变的被遮挡豆荚,设计了一个可变形递归金字塔网络DRFP(Deformable Recursive Feature Pyramid),在骨干网络中使用可变形卷积自适应的捕捉豆荚区域以提取特征,并构造递归金字塔结构进行特征融合,提升了特征的学习质量。其次,在可变焦点检测网络(VFNet)框架的基础上,在位置框回归的网络分支融合了斥力损失函数改进了检测框位置回归损失函数,缓解豆荚密集区域预测框之间的相互影响。最后,模型测试阶段采用一种新的SDIoU-NMS非极大值抑制算法,提高预测框的生成与筛选质量。
技术方案:
1)采集成熟期单株大豆豆荚图像数据并标注;
2)构建单株豆荚自动计数检测模型的训练验证数据集;
3)通过计算豆荚平均尺寸和网络感受野尺寸,构建可变形递归特征金字塔网络,获取能够表征豆荚不同生长方向、不同尺寸大小的融合性分层特征图;
4)将步骤3)所得特征图输入计数检测框优化网络,基于VFNet的分类预测分支区分豆荚与茎秆、背景,基于融合斥力损失函数的位置框回归分支预测豆荚位置信息;
5)将步骤2)所得的训练数据集作为输入,设置超参数后训练基于可变形递归特征金字塔与计数检测框优化的豆荚检测模型,进行交叉验证后,根据评价指标综合评估模型性能,选择最优作为最终的单株豆荚自动计数检测模型;
6)将待检测单张图片输入给单株豆荚自动计数检测模型,利用SDIoU-NMS非极大值抑制处理算法去除重复检测后,遍历检测结果得到图片中的豆荚数量。
具体的,步骤1)中,包括:
步骤1.1原始图像采集
采集训练单株大豆密集豆荚计数检测模型时所需要的单株豆荚图像。对收割后的成熟期整株大豆进行拍照。采集图像时选择光线条件良好、尽量平整的室外场地,铺设黑色绒面(吸光、不反光)背景布,大小约为1.5米*1.5米(可根据供试豆株的高度适当增加或者减小)。拍摄设备可以选择单反相机或者智能手机的前置摄像头;拍摄时通过架设三脚架固定拍摄设备与材料之间的距离与角度,使得拍摄设备距离地面约1米,调整拍摄视角与水平地面呈约75度。拍摄前,摘除明显遮挡豆荚的叶片。拍摄时,将材料放在背景布,调整大豆植株使之处于相机视野中间位置,并调整相机整体曝光度,保证豆株、豆荚都清晰可见;可适当通过翻转豆株改变面对镜头的朝向、分开互相缠绕的分支等人为调整材料的成像效果,尽量减少豆荚、茎秆之间的重叠,但不可破坏材料的基本生长形态;由于拍摄时相机抖动产生模糊不可避免,在拍摄时每个材料拍摄二至三张图片,在后期挑选较为清晰的一张作为该株的代表性图像。可以根据实际需求,增加拍摄机位。
步骤1.2原始数据标注
对于步骤1.1所得图片,利用开源标注工具Labelme进行人工标注,将样本中的豆荚通过最小外接矩形标出,记录最小外接矩形的左上、右下顶点坐标,标注最小外接矩形框的类别标签。
具体的,步骤2)中,针对采集的原始单株大豆图片,随机划分成数量相等的10份,保证训练集、验证集在图像样本空间上没有交集;
具体的,步骤3)中,主要计算步骤1)获取图像中豆荚的平均尺寸大小和网络感受野,设计在豆荚之间、豆荚与茎杆之间相互遮挡时,特征提取与融合方法,使卷积神经网络能够充分学习豆荚特征,生成高质量的特征图。包括:
步骤3.1计算豆荚平均尺寸
随机选取N张图像中M个豆荚并测量分别其的长和宽,记为Hi和Wi,i表示选取的第i个豆荚,计算M个豆荚长和宽的平均值作为原始图像中豆荚的长和宽,记Hpod和Wpod,计算方法如下公式(1)所示:
步骤3.2计算网络感受野
卷积神经网络中感受野的计算公式如公式(2):
SRF(t)=(SRF(t-1)-1)Ns(t)+Sf(t) (2)
式(3)中,SRF(t)表示第t层卷积层感受野尺寸,Ns(t)表示第t层卷积的步长,Sf(t)表示第t层卷积滤波器尺寸。
步骤3.3基于可变形卷积的特征提取
采用ResNet-50作为骨干网络,将其中的卷积操作替换为可变形卷积核对豆荚特征进行提取,在不同层特征图后添加一个额外的卷积操作,为特征图中的每个像素点分别预测水平和怪直方向的偏移.对于大小为3×3的可变形卷积核和图像X′,此时特征图Y上像素点p0计算方法如公式(3):
其中{Δpn∈n=1,2,…,N}为预测的偏移量,包含水平与竖直两个方向上的偏移,X′(p0+pn+Δpn)由双线性插值计算得到。
步骤3.4构造递归特征金字塔实现特征融合
在特征融合环节为了充分挖掘特征提取环节得到的有限豆荚特征,为不同特征金字塔增加跨层的反馈链接,前一个递归金字塔输出的特征图后接一个1×1卷积操作,两者进行堆叠操作后作为下一次递归金字塔的对应层特征层,递归特征金字塔特征层之间的传递与计算如公式(4)所示:
具体的,步骤4)中,将步骤2)中得到的不同层的特征图分别输入计数检测框优化网络,其中,使用可变焦点网络(VFNet)检测头的目标分类和定位分支实现豆荚的预测框生成,该网络采用公式(5)的损失函数:
L=Lcls+Lreg (5)
包括:
步骤4.1利用VFNet生成豆荚预测框对于步骤3)生成的多层特征图,分别经过5个3×3卷积后进入分类得分预测分支和位置框回归分支。分类得分支路中计算预测边界框P与其真实框G之间的IoU,并与原始分类得分C相乘,所得结果作为目标对象的类标签值,称之为交并比(IoU)感知的分类评分(IACS),即IACS=C*IoU(P,G),其中C∈{0,1},当目标为豆荚时为1,否则为0。位置框回归分支的最终预测目标是(l,t,r,b),即中心点到预测框的左、上、右和下的距离,训练过程中对于中间预测结果(l’,t’,r’,b’),位置框回归分支中存在分支对预测结果进行优化,通过迭代学习得到(l’,t’,r’,b’)四维向量各自的偏移量(Δl,Δt,Δr,Δb),最终将预测结果与偏移量结果对应相乘,作为最终的预测结果,即(l,t,r,b)=(l’,t’,r’,b’)*(Δl,Δt,Δr,Δb)。
步骤4.2利用VariFocal Loss计算目标类别损失Lcls
使用VariFocal Loss作为分类损失,在预测目标类别概率的同时评估生成的候选区域的定位精度。VariFocal Loss函数的数学公式如下:
其中,p是预测的IACS得分,q是目标IoU得分。对于正样本,q是预测包围框和真实框之间的IoU;对于负样本,q的值为0。
步骤4.3利用斥力损失函数计算预测框位置回归损失Lreg
基于斥力损失函数(Repulsion Loss)的预测框位置回归损失Lreg可以约束每一个预测框在靠近其对应的真实标注框的同时,远离周围的其他标注框。预测框位置回归损失计算公式如(7)所示,
Lreg=GIoU Loss+α*LRepGT+β*LRepBox (7)
Lreg由3部分组成。第1部分GIoU Loss将最小化包含预测框B与真实框A的最小矩形面积与两者交集区域面积的比值作为目标,使得预测框向目标框靠近,GIoU Loss的计算公式如(8)(9)所示:
GIoU Loss=1-GIoU (8)
第2部分LRepGT将最小化预测框B和周围的目标框GRep的重叠程度作为目标,使两者尽可能远离,计算如公式(10);第3部分LRepBox将最小化预测框Bi和周围的预测框Bj的重叠程度最为目标,使两者尽可能远离,计算公式如公式(11)。使用相关系数α=0.5和β=0.5来平衡LRepGT和LRepBox两部分损失。
具体的,步骤5)中,包括:
步骤5.1配置模型训练软硬件环境
模型的训练需要在配备独立显卡的Windows 10操作系统的计算机上执行,使用Nvidia GPU进行加速。豆荚检测模型基于开源框架mmdetection和pytorch进行部署,配置安装Python3.7环境,配置与独立显卡型号相匹配版本的Cuda计算架构与CUDNN加速库。
步骤5.2配置模型训练超参数
模型训练时使用自适应训练样本选择策略(Adaptive Training SampleSelection,ATSS)保证正负样本平衡,超参数设置topk=9。骨干网络使用Imagenet预训练权重达到预训练和自训练联合的效果,设置批样本(batch size)数量为4,训练200个世代(epoch),通过余弦退火衰减算法实现学习率调整,即线性上升和余弦函数下降,并采用BN(batch normalization)正则化进行网络层权值更新。
步骤5.3评估并选择最优模型
对于步骤2)所得的10等分数据集,轮流将其中9份做训练1份做验证,10次的结果的均值作为对模型精度的估计进行10折交叉验证。选用正确率Pt、查全率Pc以及调和均值F1指标(F1-score)作为模型性能的评价指标,选择F1指标最优的模型作为最终的单株豆荚自动计数检测模型,各指标计算方法如下:
其中Ncor为模型检测正确的豆荚数,Nerr为模型检测错误的豆荚数,Nreal为测试图像中实际含有豆荚数,Ndect为检测结果为稻穗的目标数量。
具体的,步骤6)中,将待检测单张图片输入给步骤5)所得的单株大豆密集豆荚的自动计数检测模型,利用柔性距离交并比非极大值抑制算法(SDIoU-NMS)去除重复检测,得到图片中的豆荚数量。
SDIoU-NMS的工作流程如下:首先对同一目标中所有预测框的分类得分si进行排序,然后选择得分最高的预测框M与该类别中的其他预测框Bi比较,人为设定的距离交并比阈值超参数thresh为0.5,将大于阈值的框的置信度与两者的距离交并比(DIoU)相关的系数相乘,达到降低置信度的目的,上述流程操作转化成公式如(13)(14)所示。最后再将调整过分类得分si’的预测框排序,选择每个目标最大值的框作为最终目标框。为避免开平方操作,RDIoU的计算方法为预测框和真实框中心点间欧式距离与最小闭包区域的对角线距离之比的平方,如公式(15)所示。
DIoU=IoU-RDIoU (14)
本发明的作用
本发明提出了一种针对单株大豆密集豆荚的自动检测方法,该方法通过加强特征提取与融合的方式,加强对姿态各异豆荚目标的特征学习,同时改进了位置框回归损失函数,使得豆荚的位置生成更加精确。并利用了一种新型的目标检测后处理方法,正确筛选模型检测结果,显著提高对密集场景下豆荚的检测精度。在高通量表型实际应用的过程中,本方法成像简单,人工干预程度低,能够实现快速检测单株大豆豆荚的任务,为遗传育种专家对单株荚数性状的测量提供了有效的新手段。
附图说明
图1本发明的流程示意图
图2基于可变形卷积的特征提取示意图
图3基于递归特征金字塔的特征融合示意图
图4检测实际效果图
具体实施方式
下面以单株豆荚为例对本发明作进一步说明,但本发明的保护范围不限于此,对其它收获类植物器官的计数亦具有同样作用:
实施例1:
示例选择安徽省当涂南京农业大学皖江试验基地的旱涝胁迫试验田内的多品种成熟期大豆,拍摄设备为佳能EOS 70D单反相机,使用本发明方法进行单株豆荚自动检测,结合附图1,具体说明本实施方式:
步骤1采集成熟期单株大豆豆荚图像数据并标注
步骤1.1原始图像采集
选择光线条件良好、尽量平整的室外场地,铺设黑色绒面(吸光、不反光)背景布,大小约为1.5米*1.5米。通过架设三脚架固定拍摄设备与材料之间的距离与角度,使得拍摄设备距离地面约1米,调整拍摄视角与水平地面呈约75度。拍摄前,摘除明显遮挡豆荚的叶片。拍摄时,将豆株放在背景布,调整大豆植株使之处于相机视野中间位置,并调整相机整体曝光度,保证豆株、豆荚都清晰可见;可适当通过翻转豆株改变面对镜头的朝向、分开互相缠绕的分支等人为调整材料的成像效果,尽量减少豆荚、茎秆之间的重叠,但不可破坏材料的基本生长形态;由于拍摄时相机抖动产生模糊不可避免,在拍摄时每个材料拍摄三张图片,在后期挑选较为清晰的一张作为该株的代表性图像。筛选后共采集230张分辨率为3456像素×5184像素的原始图像。单张图片中豆荚数量从10-70不等,豆荚呈黄褐色,每个稻穗目标的尺寸在15-40不等,豆荚的形态尺寸相对差异较大。
步骤1.2原始数据标注
对于步骤1.1所得图片,利用开源标注工具Labelme进行人工标注,将样本中的豆荚通过最小外接矩形标出,记录最小外接矩形的左上、右下顶点坐标,标注最小外接矩形框的类别标签。
步骤2构建单株豆荚自动计数检测的数据集
针对采集的原始单株大豆图片230张,随机划分成数量相等的10份,每份23张,保证训练集、验证集在图像样本空间上没有交集;
步骤3通过计算豆荚平均尺寸和网络感受野尺寸,构建可变形递归特征金字塔网络,获取能够表征豆荚不同生长方向、不同尺寸大小的融合性、分层特征图;
步骤3.1计算豆荚平均尺寸
随机选取N张图像中M个豆荚并测量分别其的长和宽,记为Hi和Wi,i表示选取的第i个豆荚,计算M个豆荚长和宽的平均值作为原始图像中豆荚的长和宽,记Hpod和Wpod,计算方法如下公式所示:
具体地,对于步骤2中采集的230张单株大豆图像,随机选取50张进行统计,共1774个豆荚,则公式中的N=50,i∈[1,1774],按公式计算可得单个豆荚的平均尺寸(长×宽)为100像素×53像素,即Hpod=100,Wpod=53
步骤3.2计算网络感受野
卷积神经网络中感受野的计算公式如下:
SRF(t)=(SRF(t-1)-1)Ns(t)+Sf(t)
其中,SRF(t)表示第t层卷积层感受野尺寸,Ns(t)表示第t层卷积的步长,Sf(t)表示第t层卷积滤波器尺寸。
根据公式可得骨干网络ResNet-50C2、C3、C4、C5卷积层的感受野尺寸分别为35×35、91×91、267×267、427×427
步骤3.3基于可变形卷积的特征提取
采用ResNet-50作为骨干网络,将其中的卷积操作替换为可变形卷积核对豆荚特征进行提取,在不同层特征图后添加一个额外的卷积操作,为特征图中的每个像素点分别预测水平和竖直方向的偏移.对于大小为3×3的可变形卷积核和图像X′,此时特征图Y上像素点p0计算方法如下:
其中{Δpn∈n=1,2,…,N}为预测的偏移量,包含水平与竖直两个方向上的偏移,X′(p0+pn+Δpn)由双线性插值计算得到。
本实施例中,对ResNet-50骨干网络融合可变形卷积时,将其conv2、conv3,conv4、conv5的3x3的卷积层都换成了可变形卷积,使得网络在各个尺度的特征提取环节都可以提高对噪声的抗干扰能力。
步骤3.4构造递归特征金字塔实现特征融合
在特征融合环节为了充分挖掘特征提取环节得到的有限豆荚特征,为不同特征金字塔增加跨层的反馈链接,前一个递归金字塔输出的特征图后接一个1×1卷积操作,两者进行堆叠操作后作为下一次递归金字塔的对应层特征层,递归特征金字塔特征层之间的传递与计算如下所示:
以特征学习网络最浅层特征图的原始感受野与平均豆荚尺寸尽可能相近为原则,将骨干网络输出的特征层数i设为3,4,5;为了平衡特征质量和模型训练速度,在本实施例中,将最大递归次数T设为2。
步骤4将步骤3)所得特征图输入基于斥力损失函数的豆荚检测网络,用于预测豆荚的分类与位置信息
将步骤2)中得到的不同层的特征图分别输入计数检测框优化网络,其中,使用可变焦点网络(VFNet)检测头的目标分类和定位分支实现豆荚的预测框生成,该网络采用如下所示的损失函数:
L=Lcls+Lreg
步骤4.1利用VFNet生成豆荚预测框
对于步骤3)生成的多层特征图,分别经过5个3×3卷积后进入分类得分预测分支和位置框回归分支。分类得分支路中计算预测边界框与其真实框之间的IoU,并与原始分类得分相乘,所得结果作为目标对象的类标签值,称之为交并比(IoU)感知的分类评分(IACS),位置框回归分支的目标是(l,t,r,b),即中心点到预测框的左、上、右和下的距离。
步骤4.2利用VariFocal Loss计算目标类别损失Lcls
使用VariFocal Loss作为分类损失,在预测目标类别概率的同时评估生成的候选区域的定位精度。VariFocal Loss函数的数学公式如下:
其中,p是预测的IACS得分,q是目标IoU得分。对于正样本,q是预测包围框和真实框之间的IoU;对于负样本,q的值为0。
步骤4.3利用斥力损失函数计算预测框位置回归损失Lreg
基于斥力损失函数(Repulsion Loss)的预测框位置回归损失Lreg可以约束每一个预测框在靠近其对应的真实标注框的同时,远离周围的其他标注框。预测框位置回归损失计算公式如下所示,
Lreg=GIoU Loss+α*LRepGT+β*LRepBox
Lreg由3部分组成。第1部分GIoU Loss将最小化包含预测框B与真实框A的最小矩形面积与两者交集区域面积的比值作为目标,使得预测框向目标框靠近,GIoU Loss的计算公式如下所示:
GIoU Loss=1-GIoU (8)
第2部分LRepGT将最小化预测框B和周围的目标框GRep的重叠程度作为目标,使两者尽可能远离;第3部分LRepBox将最小化预测框Bi和周围的预测框Bj的重叠程度最为目标,使两者尽可能远离。使用相关系数α=0.5和β=0.5来平衡LRepGT和LRepBox两部分损失。
步骤5将步骤2)所得的训练数据集作为输入,设置超参数后训练基于可变形递归特征金字塔与边界框优化的豆荚检测模型,进行交叉验证后,根据评价指标综合评估模型性能,选择最优作为最终的单株豆荚自动计数检测模型
步骤5.1配置模型训练软硬件环境
本实施例模型的训练与测试在配备AMD 5900X CPU、32GB RAM、Nvidia GeForceRTX 3090 GPU和Windows 10操作系统的计算机上执行,使用Nvidia GeForce RTX 3090GPU进行加速。本研究中豆荚检测模型基于开源框架mmdetection和pytorch进行部署,配置安装Python3.7环境、Cuda 11.1计算架构与CUDNN 8.1.1加速库。
步骤5.2配置模型训练超参数
模型训练时使用自适应训练样本选择策略(Adaptive Training SampleSelection,ATSS)保证正负样本平衡,超参数设置topk=9。骨干网络使用Imagenet预训练权重达到预训练和自训练联合的效果,设置批样本(batch size)数量为4,训练200个世代(epoch),通过余弦退火衰减算法实现学习率调整,即线性上升和余弦函数下降,并采用BN(batch normalization)正则化进行网络层权值更新。
步骤5.3评估并选择最优模型
对于步骤2)所得的10等分数据集,轮流将其中9份做训练1份做验证,10次的结果的均值作为对模型精度的估计进行10折交叉验证。选用正确率Pt、查全率Pc以及调和均值F1指标(F1-score)作为模型性能的评价指标,选择F1指标最优的模型作为最终的单株豆荚自动计数检测模型,各指标计算方法如下:
其中Ncor为模型检测正确的豆荚数,Nerr为模型检测错误的豆荚数,Nreal为测试图像中实际含有豆荚数,Ndect为检测结果为稻穗的目标数量。
步骤7将待检测单张图片输入给步骤5)所得的单株豆荚自动计数检测模型,利用柔性距离交并比非极大值抑制算法(SDIoU-NMS)去除重复检测后,遍历检测结果得到图片中的豆荚数量。
其中,SDIoU-NMS的计算公式如下所示。
DIoU=IoU-RDIoU
首先对同一目标中所有预测框的分类得分si进行排序,然后选择得分最高的预测框M与该类别中的其他预测框Bi比较,人为设定的距离交并比阈值超参数thresh为0.5,将大于阈值的框的置信度与两者的距离交并比(DIoU)相关的系数相乘,达到降低置信度的目的。为避免开平方操作,RDIoU的计算方法为预测框和真实框中心点间欧式距离与最小闭包区域的对角线距离之比的平方,如下公式所示。
针对构建的单株豆荚数据集,某一次试着交叉验证的模型检测结果如下:
提出的单株大豆的密集豆荚自动计数检测方法对于豆荚检测的平均正确率、平均查全率和F1指标分别为89.12%、85.29%和87.16%。基于可变形卷积的递归金字塔结构能显著提高网络对遮挡豆荚的特征学习能力;融合了斥力损失的损失函数有利于提高预测框的回归精度;SDIoU-NMS算法在后处理阶段能准确筛选检测框,提高准确率与召回率。
Claims (7)
1.一种面向单株大豆密集豆荚的自动计数检测方法,其特征在于其主要包括以下步骤:
1)采集成熟期单株大豆豆荚图像数据并标注;
2)构建单株豆荚自动计数检测模型的训练验证数据集;
3)通过计算豆荚平均尺寸和网络感受野尺寸,构建可变形递归特征金字塔网络,获取能够表征豆荚不同生长方向、不同尺寸大小的融合性分层特征图;
4)将步骤3)所得特征图输入计数检测框优化网络,基于VFNet的分类预测分支区分豆荚与茎秆、背景,基于融合斥力损失函数的位置框回归分支预测豆荚位置信息;
5)将步骤2)所得的训练数据集作为输入,设置超参数后训练基于可变形递归特征金字塔与计数检测框优化的豆荚检测模型,进行交叉验证后,根据评价指标综合评估模型性能,选择最优作为最终的单株豆荚自动计数检测模型;
6)将待检测单张图片输入给单株豆荚自动计数检测模型,利用SDIoU-NMS非极大值抑制处理算法去除重复检测后,遍历检测结果得到图片中的豆荚数量。
2.根据权利要求1所述的单株大豆密集豆荚的自动计数检测方法,其特征在于步骤1)中,包括:
步骤1.1原始图像采集
采集训练单株大豆密集豆荚计数检测模型时所需要的单株豆荚图像。对收割后的成熟期整株大豆进行拍照。采集图像时选择光线条件良好、尽量平整的室外场地,铺设黑色绒面(吸光、不反光)背景布,大小约为1.5米*1.5米(可根据供试豆株的高度适当增加或者减小)。拍摄设备可以选择单反相机或者智能手机的前置摄像头;拍摄时通过架设三脚架固定拍摄设备与材料之间的距离与角度,使得拍摄设备距离地面约1米,调整拍摄视角与水平地面呈约75度。拍摄前,摘除明显遮挡豆荚的叶片。拍摄时,将材料放在背景布,调整大豆植株使之处于相机视野中间位置,并调整相机整体曝光度,保证豆株、豆荚都清晰可见;可适当通过翻转豆株改变面对镜头的朝向、分开互相缠绕的分支等人为调整材料的成像效果,尽量减少豆荚、茎秆之间的重叠,但不可破坏材料的基本生长形态;由于拍摄时相机抖动产生模糊不可避免,在拍摄时每个材料拍摄二至三张图片,在后期挑选较为清晰的一张作为该株的代表性图像。可以根据实际需求,增加拍摄机位。
步骤1.2原始数据标注
对于步骤1.1所得图片,利用开源标注工具Labelme进行人工标注,将样本中的豆荚通过最小外接矩形标出,记录最小外接矩形的左上、右下顶点坐标,标注最小外接矩形框的类别标签。
3.根据权利要求1所述的单株豆荚自动计数检测方法,其特征在于步骤2)中,针对采集的原始单株大豆图片,随机划分成数量相等的10份,保证训练集、验证集在图像样本空间上没有交集。
4.根据权利要求1所述的单株大豆密集豆荚自动计数检测方法,其特征在于步骤3)中,主要计算步骤1)获取图像中豆荚的平均尺寸大小和网络感受野,设计在豆荚之间、豆荚与茎杆之间相互遮挡时,特征提取与融合方法,使卷积神经网络能够充分学习豆荚特征,生成高质量的特征图。
步骤3.1计算豆荚平均尺寸
随机选取N张图像中M个豆荚并测量分别其的长和宽,记为Hi和Wi,i表示选取的第i个豆荚,计算M个豆荚长和宽的平均值作为原始图像中豆荚的长和宽,记Hpod和Wpod,计算方法如下公式(1)所示:
步骤3.2计算网络感受野
卷积神经网络中感受野的计算公式如公式(2):
SRF(t)=(SRF(t-1)-1)Ns(t)+Sf(t) (2)
式(3)中,SRF(t)表示第t层卷积层感受野尺寸,Ns(t)表示第t层卷积的步长,Sf(t)表示第t层卷积滤波器尺寸。
步骤3.3基于可变形卷积的特征提取
采用ResNet-50作为骨干网络,将其中的卷积操作替换为可变形卷积核对豆荚特征进行提取,在不同层特征图后添加一个额外的卷积操作,为特征图中的每个像素点分别预测水平和竖直方向的偏移.对于大小为3×3的可变形卷积核和图像X′,此时特征图Y上像素点p0计算方法如公式(3):
其中{Δpn∈n=1,2,…,N}为预测的偏移量,包含水平与竖直两个方向上的偏移,X′(p0+pn+Δpn)由双线性插值计算得到。
步骤3.4构造递归特征金字塔实现特征融合
在特征融合环节为了充分挖掘特征提取环节得到的有限豆荚特征,为不同特征金字塔增加跨层的反馈链接,前一个递归金字塔输出的特征图后接一个1×1卷积操作,两者进行堆叠操作后作为下一次递归金字塔的对应层特征层,递归特征金字塔特征层之间的传递与计算如公式(4)所示:
5.根据权利要求1所述的单株大豆密集豆荚的自动计数检测方法,其特征在于步骤4)中,将步骤2)中得到的不同层的特征图分别输入计数检测框优化网络,其中,使用可变焦点网络(VFNet)检测头的目标分类和定位分支实现豆荚的预测框生成,该网络采用公式(5)的损失函数:
L=Lcls+Lreg (5)
步骤4.1利用VFNet生成豆荚预测框对于步骤3)生成的多层特征图,分别经过5个3×3卷积后进入分类得分预测分支和位置框回归分支。分类得分支路中计算预测边界框P与其真实框G之间的IoU,并与原始分类得分C相乘,所得结果作为目标对象的类标签值,称之为交并比(IoU)感知的分类评分(IACS),即IACS=C*IoU(P,G),其中C∈{0,1},当目标为豆荚时为1,否则为0。位置框回归分支的最终预测目标是(l,t,r,b),即中心点到预测框的左、上、右和下的距离,训练过程中对于中间预测结果(l’,t’,r’,b’),位置框回归分支中存在分支对预测结果进行优化,通过迭代学习得到(l’,t’,r’,b’)四维向量各自的偏移量(Δl,Δt,Δr,Δb),最终将预测结果与偏移量结果对应相乘,作为最终的预测结果,即(l,t,r,b)=(l’,t’,r’,b’)*(Δl,Δt,Δr,Δb)。
步骤4.2利用VariFocal Loss计算目标类别损失Lcls
使用VariFocal Loss作为分类损失,在预测目标类别概率的同时评估生成的候选区域的定位精度。VariFocal Loss函数的数学公式如下:
其中,p是预测的IACS得分,q是目标IoU得分。对于正样本,q是预测包围框和真实框之间的IoU;对于负样本,q的值为0。
步骤4.3利用斥力损失函数计算预测框位置回归损失Lreg
基于斥力损失函数(Repulsion Loss)的预测框位置回归损失Lreg可以约束每一个预测框在靠近其对应的真实标注框的同时,远离周围的其他标注框。预测框位置回归损失计算公式如(7)所示,
Lreg=GIoU Loss+α*LRepGT+β*LRepBox (7)
Lreg由3部分组成。第1部分GIoU Loss将最小化包含预测框B与真实框A的最小矩形面积与两者交集区域面积的比值作为目标,使得预测框向目标框靠近,GIoU Loss的计算公式如(8)(9)所示:
GIoU Loss=1-GIoU (8)
第2部分LRepGT将最小化预测框B和周围的目标框GRep的重叠程度作为目标,使两者尽可能远离,计算如公式(10);第3部分LRepBox将最小化预测框Bi和周围的预测框Bj的重叠程度最为目标,使两者尽可能远离,计算公式如公式(11)。使用相关系数α=0.5和β=0.5来平衡LRepGT和LRepBox两部分损失。
6.根据权利要求1所述的单株大豆密集豆荚的自动计数检测方法,其特征在于步骤5)中,包括:
步骤5.1配置模型训练软硬件环境
模型的训练需要在配备独立显卡的Windows 10操作系统的计算机上执行,使用NvidiaGPU进行加速。豆荚检测模型基于开源框架mmdetection和pytorch进行部署,配置安装Python3.7环境,配置与独立显卡型号相匹配版本的Cuda计算架构与CUDNN加速库。
步骤5.2配置模型训练超参数
模型训练时使用自适应训练样本选择策略(Adaptive Training Sample Selection,ATSS)保证正负样本平衡,超参数设置topk=9。骨干网络使用Imagenet预训练权重达到预训练和自训练联合的效果,设置批样本(batch size)数量为4,训练200个世代(epoch),通过余弦退火衰减算法实现学习率调整,即线性上升和余弦函数下降,并采用BN(batchnormalization)正则化进行网络层权值更新。
步骤5.3评估并选择最优模型
对于步骤2)所得的10等分数据集,轮流将其中9份做训练1份做验证,10次的结果的均值作为对模型精度的估计进行10折交叉验证。选用正确率Pt、查全率Pc以及调和均值F1指标(F1-score)作为模型性能的评价指标,选择F1指标最优的模型作为最终的单株豆荚自动计数检测模型,各指标计算方法如下:
其中Ncor为模型检测正确的豆荚数,Nerr为模型检测错误的豆荚数,Nreal为测试图像中实际含有豆荚数,Ndect为检测结果为稻穗的目标数量。
7.根据权利要求1所述的方法,其特征在于步骤6)中,将待检测单张图片输入给步骤5)所得的单株大豆密集豆荚的自动计数检测模型,利用柔性距离交并比非极大值抑制算法(SDIoU-NMS)去除重复检测,得到图片中的豆荚数量。
SDIoU-NMS的工作流程如下:首先对同一目标中所有预测框的分类得分si进行排序,然后选择得分最高的预测框M与该类别中的其他预测框Bi比较,人为设定的距离交并比阈值超参数thresh为0.5,将大于阈值的框的置信度与两者的距离交并比(DIoU)相关的系数相乘,达到降低置信度的目的,上述流程操作转化成公式如(13)(14)所示。最后再将调整过分类得分si’的预测框排序,选择每个目标最大值的框作为最终目标框。为避免开平方操作,RDIoU的计算方法为预测框和真实框中心点间欧式距离与最小闭包区域的对角线距离之比的平方,如公式(15)所示。
DIoU=IoU-RDIoU (14)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210838266.8A CN115249240A (zh) | 2022-07-15 | 2022-07-15 | 一种面向单株大豆密集豆荚的自动计数检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210838266.8A CN115249240A (zh) | 2022-07-15 | 2022-07-15 | 一种面向单株大豆密集豆荚的自动计数检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115249240A true CN115249240A (zh) | 2022-10-28 |
Family
ID=83699614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210838266.8A Pending CN115249240A (zh) | 2022-07-15 | 2022-07-15 | 一种面向单株大豆密集豆荚的自动计数检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115249240A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115690107A (zh) * | 2023-01-03 | 2023-02-03 | 浙江托普云农科技股份有限公司 | 基于图像处理的豆荚果粒高通量计数方法、系统及装置 |
CN116229191A (zh) * | 2023-03-13 | 2023-06-06 | 东莞理工学院 | 一种基于归一化角点距离和目标前景信息的目标检测方法 |
-
2022
- 2022-07-15 CN CN202210838266.8A patent/CN115249240A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115690107A (zh) * | 2023-01-03 | 2023-02-03 | 浙江托普云农科技股份有限公司 | 基于图像处理的豆荚果粒高通量计数方法、系统及装置 |
CN116229191A (zh) * | 2023-03-13 | 2023-06-06 | 东莞理工学院 | 一种基于归一化角点距离和目标前景信息的目标检测方法 |
CN116229191B (zh) * | 2023-03-13 | 2023-08-29 | 东莞理工学院 | 一种基于归一化角点距离和目标前景信息的目标检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110619632B (zh) | 一种基于Mask R-CNN的芒果实例对抗分割方法 | |
Li et al. | A high-precision detection method of hydroponic lettuce seedlings status based on improved Faster RCNN | |
CN115249240A (zh) | 一种面向单株大豆密集豆荚的自动计数检测方法 | |
CN110569747A (zh) | 一种利用图像金字塔与Faster-RCNN快速统计大田水稻稻穗数的方法 | |
CN114120037B (zh) | 一种基于改进yolov5模型的发芽马铃薯图像识别方法 | |
CN110472575B (zh) | 一种基于深度学习和计算机视觉的串番茄成熟度检测方法 | |
CN114387520B (zh) | 一种用于机器人采摘的密集李子精准检测方法及其系统 | |
Wang | Identification of crop diseases and insect pests based on deep learning | |
CN113392775A (zh) | 一种基于深度神经网络的甘蔗幼苗自动识别与计数方法 | |
CN109740483A (zh) | 一种基于深层神经网络的水稻生长期检测方法 | |
CN110826556A (zh) | 改进深度学习的广谱农作物杂草识别与定位方法 | |
Gaillard et al. | Voxel carving‐based 3D reconstruction of sorghum identifies genetic determinants of light interception efficiency | |
CN111507967A (zh) | 一种自然果园场景下的芒果高精度检测方法 | |
CN115050020A (zh) | 一种基于改进Mask R-CNN草莓叶面积的智能视觉检测方法及系统 | |
CN110689022B (zh) | 基于叶片匹配的各株作物图像提取方法 | |
CN114965501A (zh) | 基于冠层参数处理的花生病害检测与产量预测方法 | |
Gunarathna et al. | Experimental determination of CNN hyper-parameters for tomato disease detection using leaf images | |
CN116188317A (zh) | 一种基于斜拍图像获取植物工厂内生菜生长信息的方法 | |
CN116721344A (zh) | 基于航拍设备的植被检测方法、装置和设备 | |
CN110298824A (zh) | 基于彩色图像和卷积神经网络技术的鱿鱼自动分类方法 | |
CN115690778A (zh) | 基于深度神经网络的成熟期水果的检测与跟踪计数的方法 | |
CN112287787B (zh) | 一种基于梯度直方图特征的作物倒伏分级方法 | |
CN115661544A (zh) | 基于N-MobileNetXt的菠菜幼苗水分胁迫等级分类系统及方法 | |
CN115690614A (zh) | 一种提高堤防管涌数据采集精度的试验方法 | |
CN111832508B (zh) | 基于die_ga的低照度目标检测方法 |
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 |