CN114067298A - 一种基于Faster R-CNN的棉花顶尖识别方法 - Google Patents

一种基于Faster R-CNN的棉花顶尖识别方法 Download PDF

Info

Publication number
CN114067298A
CN114067298A CN202111368171.6A CN202111368171A CN114067298A CN 114067298 A CN114067298 A CN 114067298A CN 202111368171 A CN202111368171 A CN 202111368171A CN 114067298 A CN114067298 A CN 114067298A
Authority
CN
China
Prior art keywords
cnn
faster
roi
layer
cotton
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
Application number
CN202111368171.6A
Other languages
English (en)
Inventor
姚思雨
王磊
张宏文
李海洋
魏喜梅
杜欣田
尹成海
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shihezi University
Original Assignee
Shihezi University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shihezi University filed Critical Shihezi University
Priority to CN202111368171.6A priority Critical patent/CN114067298A/zh
Publication of CN114067298A publication Critical patent/CN114067298A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24137Distances to cluster centroïds
    • G06F18/2414Smoothing the distance, e.g. radial basis function networks [RBFN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Probability & Statistics with Applications (AREA)
  • Image Analysis (AREA)

Abstract

本发明属于深度学习及图像处理领域,公开了一种基于Faster R‑CNN的棉花顶尖识别方法,该方法包括步骤:采集不同条件下的棉花顶端图像;对采集到的棉花顶端图像进行图像增强并形成样本集;将样本集划分测试集和训练集;构建基于Faster R‑CNN的棉花顶尖识别神经网络模型;将训练集输入到初始Faster R‑CNN模型中进行训练,学习棉花顶尖目标特征;将测试集输入到训练好的Faster R‑CNN模型进行测试并调整至模型收敛,得到基于Faster R‑CNN的棉花顶尖识别检测模型。本发明可以准确识别出棉花顶尖位置信息,为下一步棉花机械打顶做准备。

Description

一种基于Faster R-CNN的棉花顶尖识别方法
技术领域
本发明属于深度学习及图像处理领域,具体涉及一种基于Faster R-CNN的棉花顶尖识别方法。
背景技术
棉花是我国重要的经济作物,是关系国计民生的重要物资,如何实现棉花生产的全过程机械化,提高棉花生产的机械化水平,大大节约成本,减少劳动力,是棉花未来的生产方向。棉花是劳动密集型栽培作物,种植管理复杂,棉花生长过程中需要打顶,切断棉花的顶尖以增加棉花产量,目前棉花打顶主要靠人工完成,劳动强度大,效率低。在当前劳动力短缺、人工成本高的情况下,快速、准确、高效地实现棉花自动打顶具有重要的现实意义和广阔的发展前景,因此高速准确地识别棉花顶尖是自动打顶的前提和基础。
神经网络天生具备拟合任意复杂函数的特点,因此神经网络能力很强,可以做非常复杂的非线性映射;深度神经网络的参数很多,因此要得到的假设空间维度非常高,有很强大的表征能力;现代的深度神经网络大多可以用来提取图像,语音,文本的抽象特征,而且提取出来的特征要比人为设定的特定具有更强的泛化性能,可以应用到多个领域,可以学习浅层语义信息,同样可以学习深层语义信息,因此这样便可以自动获取特征,为后面各个不同的任务提供特征;神经网络通过设计不同的结构,可以改变网络提取特征的方法,同样也可以对拟合目标函数达到不同的效果,高速准确地识别棉花顶尖。
发明内容
针对棉花顶尖精确识别问题,本发明利用深度学习及图像处理技术,基于FasterR-CNN对棉花顶尖图像进行精确识别,为后续的棉花打顶机械研究提供准备。
本发明为实现上述目的,所采用的技术方案如下。
一种基于Faster R-CNN的棉花顶尖识别方法,包括以下步骤:
步骤1,采集不同条件下的棉花顶端图像;
步骤2,对采集到的棉花顶端图像进行图像增强并形成样本集;
步骤3,将样本集划分测试集和训练集;
步骤4,构建基于Faster R-CNN的棉花顶尖识别神经网络模型;
步骤5,将训练集输入到初始Faster R-CNN模型中进行训练,学习棉花顶尖目标特征;
步骤6,将测试集输入到训练好的Faster R-CNN模型进行测试并调整至模型收敛,得到基于Faster R-CNN的棉花顶尖识别检测模型。
具体的,在步骤1中:采集棉花顶端在打顶期的不同时间光照、天气、角度等图像,确保样本多样性。
具体的,在步骤2中:为提高网络识别效果,需要对采集到的棉花顶端图像进行图像增强,将图像数据进行归一化、翻转变化、亮度变化、饱和度变化等生成新的数据集,提高识别精度并防止网络过拟合。
具体的,在步骤3中:将图像增强后的棉花顶端图像分为五等分,前三等分为训练集,后二等分为测试集。
具体的,在步骤4中:Faster R-CNN的结构主要分为三大部分,第一部分是共享的卷积层(backbone),第二部分是候选区域生成网络(RPN),第三部分是对候选区域进行分类的网络(classifier);
Faster R-CNN将整个图像和一组对象方案作为输入,网络首先通过几个卷积(conv)和最大池化层处理整个图像,以生成conv特征图;然后,对于每个建议对象,感兴趣区域(RoI)池化层从特征图中提取固定长度的特征向量,每个特征向量被输入到一系列全连接(FC)层中,这些层最终分支为两个同级输出层:一个层对K个对象类加上“背景”类生成softmax概率估计,另一个层为K个对象类中的每一个输出四个实数,每组4个值对其中一个K类的细化边界框位置进行编码;
RoI池化层使用最大池将任何有效感兴趣区域内的特征转换为具有固定空间范围H×W的小特征图,其中H和W是独立于任何特定RoI层的超参数,RoI是进入conv特征图的矩形窗口,每个RoI由一个四元组(r、c、h、w)定义,该元组指定其左上角(r、c)及其高度和宽度(h、w);RoI最大池化层的工作原理是将h×w RoI窗口划分为大小近似为h/H×w/W的子窗口的H×W网格,然后将每个子窗口中的值最大化地汇集到相应的输出网格单元中,池化独立应用于每个特征图通道,如标准最大池;RoI层只是SPPnets中使用的空间金字塔池化层的特例,其中只有一个金字塔层,使用池化子窗口计算。
具体的,在步骤5中:使用三个预先训练好的ImageNet网络进行实验,每个网络都有五个最大池化层和五到十三个conv层,当一个预先训练好的网络初始化一个Faster R-CNN网络时,会经历三次转换,首先,最后一个最大池化层被RoI池化层替换,RoI池化层通过将H和W设置为与网络的第一个全连接层兼容来配置;其次,网络的最后一个全连接层和softmax被前面的两个层(K1类别上的全连接层和softmax以及特定类别的边界框回归器)替换;第三,修改网络以获取两个数据输入:图像列表和这些图像中的ROI列表;
Faster R-CNN使用反向传播训练所有网络权重,SPPnet无法更新空间金字塔池化层下的权重的根本原因是:当每个训练样本(即RoI)来自不同的图像时,通过SPP层的反向传播效率非常低,这正是R-CNN和SPPnet网络的训练方式,因此效率低下,每个RoI可能有一个非常大的感受野,通常覆盖整个输入图像;由于前传必须处理整个感受野,训练输入很大,通常是整个图像,提出一种更有效的训练方法,利用训练过程中的特征共享;在FasterRCNN训练中,随机梯度下降(SGD)小批量是分层采样的,首先对N幅图像进行采样,然后对每幅图像的R/N ROI进行采样,来自同一图像的ROI在向前和向后过程中共享计算和内存,使N变小可以减少小批量计算;例如,当使用N=2和R=128时,建议的训练方案比从128幅不同图像(即R-CNN和SPPnet策略)中采样一个RoI大约快64倍,但是可能会导致训练收敛缓慢,因为来自同一图像的ROI是相关的;使用比R-CNN更少的SGD迭代次数,在N=2和R=128时获得了良好的结果;除了分层采样外,Fast R-CNN还使用了一个精简的训练过程和一个微调阶段,联合优化softmax分类器和边界盒回归器,而不是在三个单独的阶段训练softmax分类器、支持向量机和回归器;该过程的组成部分:损失、小批量采样策略、通过RoI池化层的反向传播以及SGD超参数;
探索了两种实现尺度不变目标检测的方法:通过蛮力学习、使用图像金字塔;在蛮力方法中,在训练和测试期间,每个图像都以预定义的像素大小进行处理,网络必须直接从训练数据中学习尺度不变的目标检测,多尺度方法通过图像金字塔为网络提供近似的尺度不变性,在测试时,使用图像金字塔对每个对象进行近似缩放规格化,在多尺度训练期间,在每次图像采样时随机采样一个金字塔尺度作为数据扩充的一种形式。
具体的,在步骤6中:当调整Faster R-CNN模型时,检测就相当于运行一个前向传递,网络将图像(或图像金字塔,编码为图像列表)和R对象建议列表作为输入进行评分,在测试时间,R通常在2000左右,当使用图像金字塔时,每个RoI都被分配到比例,以便比例RoI最接近区域中的2242像素,对于每个测试RoI r,前向传递输出一个类后验概率分布p和一组相对于r的预测边界框偏移量(K个类中的每个类获得其自己的细化边界框预测);使用估计概率Pr为每个对象类k的r分配检测置信度,使用R-CNN中的算法和设置,对每个类独立执行非最大值抑制;
对于整个图像分类与conv层相比,计算全连接层所花费的时间较少;对于检测而言,要处理的ROI数量很大,近一半的前向传递时间用于计算全连层;通过使用截断的SVD压缩大型全连接层,可以很容易地加快运算速度;在该技术中,由u×v权重矩阵W参数化的层近似分解为:
Figure 398208DEST_PATH_IMAGE001
使用SVD,在该分解中,U是由W的第一个t左奇异向量组成的u×t矩阵,
Figure 511657DEST_PATH_IMAGE002
是由W的顶部t奇异值组成的t×t对角矩阵,V是由W的第一个t右奇异向量组成的v×t矩阵;截断SVD将参数计数从uv减少到t(u+v),如果t比min(u,v)小得多,可能是显著的;为了压缩网络,将对应于W的单个全连接层替换为两个全连接层,它们之间没有非线性,第一层使用权重矩阵
Figure 249937DEST_PATH_IMAGE002
(无偏差),第二层使用U(原始偏差与W相关),当ROI数量较大时,这种简单的压缩方法提供了很好的加速效果。
本发明由于采用了上述的技术方案,其与现有技术相比,所取得的技术进步在于。
(1)本发明基于Faster R-CNN的检测算法,对棉花顶尖目标的检测识别率高,识别速度快,能够在复杂的环境下对棉花顶尖特征学习,增强了棉花顶尖识别模型的鲁棒性。
(2)本发明采集的图像按照标准数据集格式进行划分,可以重复利用该样本集,避免了多次采集图像的成本,并且训练方便,重复利用。
(3)本发明使用Faster R-CNN的训练模型对棉花顶尖图像进行检测识别速度快,满足了机器手臂的高速性和实时性,本模型对每张图像的棉花顶尖目标检测平均耗时为百毫秒级,并且对棉花顶尖识别的精度可达到95%以上,所以完全可以满足实际运用要求。
本发明属于深度学习及图像处理领域,基于Faster R-CNN对棉花顶尖图像进行精确识别,为后续的棉花打顶机械研究提供准备。
附图说明
图1为本发明实施例的方法流程图。
图2为本发明实施例的Faster R-CNN的神经网络模型结构图。
图3为本发明实施例的构建Faster R-CNN的执行流程图。
图4为本发明实施例的Faster R-CNN的主干特征提取网络结构图。
图5为本发明实施例的ResNet101的Conv Block网络结构图。
图6为本发明实施例的ResNet101的Identity Block网络结构图。
图7为本发明实施例的Faster R-CNN在主干特征提取网络所用网络层以输入的图像为600×600为例的shape变化图。
图8为本发明实施例的对Proposal建议框加以利用的过程与shape变化图。
具体实施方式
为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。
实施例 一种基于Faster R-CNN的棉花顶尖识别方法,如图1所示,包括以下步骤。
步骤1,采集不同条件下的棉花顶端图像。
采集棉花顶端在打顶期的不同时间光照、天气、角度等图像,确保样本多样性。
步骤2,对采集到的棉花顶端图像进行图像增强并形成样本集。
为提高网络识别效果,需要对采集到的棉花顶端图像进行图像增强,将图像数据进行归一化、翻转变化、亮度变化、饱和度变化等生成新的数据集,提高识别精度并防止网络过拟合。
步骤3,将样本集划分测试集和训练集。
将图像增强后的棉花顶端图像分为五等分,前三等分为训练集,后二等分为测试集。
步骤4,构建基于Faster R-CNN的棉花顶尖识别神经网络模型。
如图2所示为Faster R-CNN的神经网络模型结构图,Faster R-CNN的结构主要分为三大部分,第一部分是共享的卷积层(backbone),第二部分是候选区域生成网络(RPN),第三部分是对候选区域进行分类的网络(classifier)。
Faster R-CNN将整个图像和一组对象方案作为输入,网络首先通过几个卷积(conv)和最大池化层处理整个图像,以生成conv特征图;然后,对于每个建议对象,感兴趣区域(RoI)池化层从特征图中提取固定长度的特征向量,每个特征向量被输入到一系列全连接(FC)层中,这些层最终分支为两个同级输出层:一个层对K个对象类加上“背景”类生成softmax概率估计,另一个层为K个对象类中的每一个输出四个实数,每组4个值对其中一个K类的细化边界框位置进行编码。
RoI池化层使用最大池将任何有效感兴趣区域内的特征转换为具有固定空间范围H×W的小特征图,其中H和W是独立于任何特定RoI层的超参数,RoI是进入conv特征图的矩形窗口,每个RoI由一个四元组(r、c、h、w)定义,该元组指定其左上角(r、c)及其高度和宽度(h、w);RoI最大池化层的工作原理是将h×w RoI窗口划分为大小近似为h/H×w/W的子窗口的H×W网格,然后将每个子窗口中的值最大化地汇集到相应的输出网格单元中,池化独立应用于每个特征图通道,如标准最大池;RoI层只是SPPnets中使用的空间金字塔池化层的特例,其中只有一个金字塔层,使用池化子窗口计算。
整体的执行流程如图3所示,构建Faster R-CNN网络步骤如下:
(1)主干网络:如图4为Faster R-CNN的主干特征提取网络结构图,Faster-Rcnn对输入进来的图片尺寸没有固定,但是一般会把输入进来的图片短边固定成600,如输入一张1200x1800的图片,会把图片不失真的resize到600x900上;ResNet50有两个基本的块,分别名为Conv Block和Identity Block,其结构如图5、6所示,都是残差网络结构,其中ConvBlock输入和输出的维度是不一样的,所以不能连续串联,它的作用是改变网络的维度;Identity Block输入维度和输出维度相同,可以串联,用于加深网络的,Faster-RCNN的主干特征提取网络部分只包含了长宽压缩了四次的内容,第五次压缩后的内容在ROI中使用,Faster-RCNN在主干特征提取网络所用的网络层以输入的图像为600x600为例,shape变化如图7所示,最后一层的输出就是公用特征层,使用resnet50()函数来获得resnet50的公用特征层,其中features部分为公用特征层,classifier部分为第二阶段用到的分类器;
(2)获得Proposal建议框:获得的公用特征层在图像中就是Feature Map,有两个应用,一个是和ROIPooling结合使用、另一个是进行一次3×3的卷积后,进行一个18通道的1×1卷积,还有一个36通道的1×1卷积;在Faster R-CNN中,num_priors先验框的数量是9,所以两个1×1卷积的结果实际上是:9×4的卷积用于预测公用特征层上每一个网格点上每一个先验框的变化情况,9×2的卷积用于预测公用特征层上每一个网格点上每一个预测框内部是否包含了棉花顶尖,序号为1的内容为包含棉花顶尖的概率;当输入图像的shape是600×600×3的时候,公用特征层的shape就是38×38×1024,相当于把输入进来的图像分割成38×38的网格,然后每个网格存在9个先验框,这些先验框有不同的大小,9×4的卷积的结果会对这些先验框进行调整,获得一个新的框,9×2的卷积会判断上述获得的新框是否包含棉花顶尖;
(3)Proposal建议框的解码:通过第二步获得了38×38×9个先验框的预测结果,预测结果包含两部分:9×4的卷积用于预测公用特征层上每一个网格点上每一个先验框的变化情况,9×2的卷积用于预测公用特征层上每一个网格点上每一个预测框内部是否包含了棉花顶尖,相当于将整个图像分成38×38个网格,然后从每个网格中心建立9个先验框,一共38×38×9个,12996个先验框;当输入图像shape不同时,先验框的数量也会发生改变;先验框虽然可以代表一定的框的位置信息与框的大小信息,但是其是有限的,无法表示任意情况,因此还需要调整;9×4中的9表示了这个网格点所包含的先验框数量,其中的4表示了框的中心与长宽的调整情况;
(4)对Proposal建议框加以利用(Roi Pooling Conv):建议框是对图像哪一个区域有棉花顶尖存在进行初步筛选;通过主干特征提取网络,可以获得一个公用特征层,当输入图片为600×600×3时,它的shape是38×38×1024,然后建议框会对这个公用特征层进行截取;公用特征层里面的38×38对应着图像里的38×38个区域,38×38中的每一个点相当于这个区域内部所有特征的浓缩;建议框会对这38×38个区域进行截取,也就是认为这些区域里存在目标,然后将截取的结果进行resize,resize到14×14×1024的大小;然后再对每个建议框再进行Resnet原有的第五次压缩,压缩完后进行一个平均池化,再进行一个Flatten,最后分别进行一个num_classes的全连接和(num_classes)×4全连接;num_classes的全连接用于对最后获得的框进行分类,(num_classes)×4全连接用于对相应的建议框进行调整;通过这些操作,可以获得所有建议框的调整情况,和这个建议框调整后框内棉花顶尖的类别;事实上,在上一步获得的建议框就是ROI的先验框,对Proposal建议框加以利用的过程与shape变化如图8所示,建议框调整后的结果就是最终的预测结果,因此可以在图上进行绘画了;
(5)在原图上进行绘制,在第四步的结尾,对建议框进行再一次进行解码后,可以获得预测框在原图上的位置,而且这些预测框都是经过筛选的,这些筛选后的框可以直接绘制在图片上,就可以获得结果了。
步骤5,将训练集输入到初始Faster R-CNN模型中进行训练,学习棉花顶尖目标特征。
使用三个预先训练好的ImageNet网络进行实验,每个网络都有五个最大池化层和五到十三个conv层,当一个预先训练好的网络初始化一个Faster R-CNN网络时,会经历三次转换,首先,最后一个最大池化层被RoI池化层替换,RoI池化层通过将H和W设置为与网络的第一个全连接层兼容来配置;其次,网络的最后一个全连接层和softmax被前面的两个层(K1类别上的全连接层和softmax以及特定类别的边界框回归器)替换;第三,修改网络以获取两个数据输入:图像列表和这些图像中的ROI列表。
Faster R-CNN使用反向传播训练所有网络权重,SPPnet无法更新空间金字塔池化层下的权重的根本原因是:当每个训练样本(即RoI)来自不同的图像时,通过SPP层的反向传播效率非常低,这正是R-CNN和SPPnet网络的训练方式,因此效率低下,每个RoI可能有一个非常大的感受野,通常覆盖整个输入图像;由于前传必须处理整个感受野,训练输入很大,通常是整个图像,提出一种更有效的训练方法,利用训练过程中的特征共享;在FasterRCNN训练中,随机梯度下降(SGD)小批量是分层采样的,首先对N幅图像进行采样,然后对每幅图像的R/N ROI进行采样,来自同一图像的ROI在向前和向后过程中共享计算和内存,使N变小可以减少小批量计算;例如,当使用N=2和R=128时,建议的训练方案比从128幅不同图像(即R-CNN和SPPnet策略)中采样一个RoI大约快64倍,但是可能会导致训练收敛缓慢,因为来自同一图像的ROI是相关的;使用比R-CNN更少的SGD迭代次数,在N=2和R=128时获得了良好的结果;除了分层采样外,Fast R-CNN还使用了一个精简的训练过程和一个微调阶段,联合优化softmax分类器和边界盒回归器,而不是在三个单独的阶段训练softmax分类器、支持向量机和回归器;该过程的组成部分:损失、小批量采样策略、通过RoI池化层的反向传播以及SGD超参数。
探索了两种实现尺度不变目标检测的方法:通过蛮力学习、使用图像金字塔;在蛮力方法中,在训练和测试期间,每个图像都以预定义的像素大小进行处理,网络必须直接从训练数据中学习尺度不变的目标检测,多尺度方法通过图像金字塔为网络提供近似的尺度不变性,在测试时,使用图像金字塔对每个对象进行近似缩放规格化,在多尺度训练期间,在每次图像采样时随机采样一个金字塔尺度作为数据扩充的一种形式。
Faster R-CNN模型训练步骤如下:
(1)建议框网络的训练:公用特征层如果要获得建议框的预测结果,需要再进行一次3×3的卷积后,进行一个2通道的1×1卷积,还有一个36通道的1×1卷积;在Faster-RCNN中,num_priors先验框的数量是9,所以两个1×1卷积的结果实际上也就是:9×4的卷积用于预测公用特征层上每一个网格点上每一个先验框的变化情况,9×2的卷积用于预测公用特征层上每一个网格点上每一个预测框内部是否包含了棉花顶尖;直接利用Faster R-CNN建议框网络预测到的结果,并不是建议框在图像上的真实位置,需要解码才能得到真实位置;而在训练的时候,需要计算loss函数,这个loss函数是相对于Faster R-CNN建议框网络的预测结果的,需要把图像输入到当前的Faster R-CNN建议框的网络中,得到建议框的结果,同时还需要进行编码,这个编码是把真实框的位置信息格式转化为Faster R-CNN建议框预测结果的格式信息;需要找到每一张用于训练的图像的每一个真实框对应的先验框,并求出如果想要得到这样一个真实框,建议框预测结果应该是怎么样的;从建议框预测结果获得真实框的过程被称作解码,而从真实框获得建议框预测结果的过程就是编码的过程,因此只需要将解码过程逆过来就是编码过程了;focal会忽略一些重合度相对较高但是不是非常高的先验框,一般将重合度在0.3-0.7之间的先验框进行忽略;
(2)Roi网络的训练:通过上一步已经可以对建议框网络进行训练了,建议框网络会提供一些位置的建议,在ROI网络部分,其会将建议框根据进行一定的截取,并获得对应的预测结果,事实上就是将上一步建议框当作了ROI网络的先验框;因此,需要计算所有建议框和真实框的重合程度,并进行筛选,如果某个真实框和建议框的重合程度大于0.5,则认为该建议框为正样本,如果重合程度小于0.5,则认为该建议框为负样本;可以对真实框进行编码,这个编码是相对于建议框的,当存在这些建议框的时候,ROI预测网络需要有什么样的预测结果才能将这些建议框调整成真实框;每次训练都放入128个建议框进行训练,同时注意正负样本的平衡。
步骤6,将测试集输入到训练好的Faster R-CNN模型进行测试并调整至模型收敛,得到基于Faster R-CNN的棉花顶尖识别检测模型。
当调整Faster R-CNN模型时,检测就相当于运行一个前向传递,网络将图像(或图像金字塔,编码为图像列表)和R对象建议列表作为输入进行评分,在测试时间,R通常在2000左右,当使用图像金字塔时,每个RoI都被分配到比例,以便比例RoI最接近区域中的2242像素,对于每个测试RoI r,前向传递输出一个类后验概率分布p和一组相对于r的预测边界框偏移量(K个类中的每个类获得其自己的细化边界框预测);使用估计概率Pr为每个对象类k的r分配检测置信度,使用R-CNN中的算法和设置,对每个类独立执行非最大值抑制。
对于整个图像分类与conv层相比,计算全连接层所花费的时间较少;对于检测而言,要处理的ROI数量很大,近一半的前向传递时间用于计算全连层;通过使用截断的SVD压缩大型全连接层,可以很容易地加快运算速度;在该技术中,由u×v权重矩阵W参数化的层近似分解为:
Figure 474245DEST_PATH_IMAGE001
使用SVD,在该分解中,U是由W的第一个t左奇异向量组成的u×t矩阵,
Figure 863638DEST_PATH_IMAGE002
是由W的顶部t奇异值组成的t×t对角矩阵,V是由W的第一个t右奇异向量组成的v×t矩阵;截断SVD将参数计数从uv减少到t(u+v),如果t比min(u,v)小得多,可能是显著的;为了压缩网络,将对应于W的单个全连接层替换为两个全连接层,它们之间没有非线性,第一层使用权重矩阵
Figure 147989DEST_PATH_IMAGE002
(无偏差),第二层使用U(原始偏差与W相关),当ROI数量较大时,这种简单的压缩方法提供了很好的加速效果。

Claims (7)

1.一种基于Faster R-CNN的棉花顶尖识别方法,其特征在于,包括以下步骤:
步骤1,采集不同条件下的棉花顶端图像;
步骤2,对采集到的棉花顶端图像进行图像增强并形成样本集;
步骤3,将样本集划分测试集和训练集;
步骤4,构建基于Faster R-CNN的棉花顶尖识别神经网络模型;
步骤5,将训练集输入到初始Faster R-CNN模型中进行训练,学习棉花顶尖目标特征;
步骤6,将测试集输入到训练好的Faster R-CNN模型进行测试并调整至模型收敛,得到基于Faster R-CNN的棉花顶尖识别检测模型。
2.如权利要求1所述的一种基于Faster R-CNN的棉花顶尖识别方法,其特征在于,在步骤1中:采集棉花顶端在打顶期的不同时间光照、天气、角度等图像,确保样本多样性。
3.如权利要求1所述的一种基于Faster R-CNN的棉花顶尖识别方法,其特征在于,在步骤2中:为提高网络识别效果,需要对采集到的棉花顶端图像进行图像增强,将图像数据进行归一化、翻转变化、亮度变化、饱和度变化等生成新的数据集,提高识别精度并防止网络过拟合。
4.如权利要求1所述的一种基于Faster R-CNN的棉花顶尖识别方法,其特征在于,在步骤3中:将图像增强后的棉花顶端图像分为五等分,前三等分为训练集,后二等分为测试集。
5.如权利要求1所述的一种基于Faster R-CNN的棉花顶尖识别方法,其特征在于,在步骤4中:Faster R-CNN的结构主要分为三大部分,第一部分是共享的卷积层(backbone),第二部分是候选区域生成网络(RPN),第三部分是对候选区域进行分类的网络(classifier);
Faster R-CNN将整个图像和一组对象方案作为输入,网络首先通过几个卷积(conv)和最大池化层处理整个图像,以生成conv特征图;然后,对于每个建议对象,感兴趣区域(RoI)池化层从特征图中提取固定长度的特征向量,每个特征向量被输入到一系列全连接(FC)层中,这些层最终分支为两个同级输出层:一个层对K个对象类加上“背景”类生成softmax概率估计,另一个层为K个对象类中的每一个输出四个实数,每组4个值对其中一个K类的细化边界框位置进行编码;
RoI池化层使用最大池将任何有效感兴趣区域内的特征转换为具有固定空间范围H×W的小特征图,其中H和W是独立于任何特定RoI层的超参数,RoI是进入conv特征图的矩形窗口,每个RoI由一个四元组(r、c、h、w)定义,该元组指定其左上角(r、c)及其高度和宽度(h、w);RoI最大池化层的工作原理是将h×w RoI窗口划分为大小近似为h/H×w/W的子窗口的H×W网格,然后将每个子窗口中的值最大化地汇集到相应的输出网格单元中,池化独立应用于每个特征图通道,如标准最大池;RoI层只是SPPnets中使用的空间金字塔池化层的特例,其中只有一个金字塔层,使用池化子窗口计算。
6.如权利要求1所述的一种基于Faster R-CNN的棉花顶尖识别方法,其特征在于,在步骤5中:使用三个预先训练好的ImageNet网络进行实验,每个网络都有五个最大池化层和五到十三个conv层,当一个预先训练好的网络初始化一个Faster R-CNN网络时,会经历三次转换,首先,最后一个最大池化层被RoI池化层替换,RoI池化层通过将H和W设置为与网络的第一个全连接层兼容来配置;其次,网络的最后一个全连接层和softmax被前面的两个层(K1类别上的全连接层和softmax以及特定类别的边界框回归器)替换;第三,修改网络以获取两个数据输入:图像列表和这些图像中的ROI列表;
Faster R-CNN使用反向传播训练所有网络权重,SPPnet无法更新空间金字塔池化层下的权重的根本原因是:当每个训练样本(即RoI)来自不同的图像时,通过SPP层的反向传播效率非常低,这正是R-CNN和SPPnet网络的训练方式,因此效率低下,每个RoI可能有一个非常大的感受野,通常覆盖整个输入图像;由于前传必须处理整个感受野,训练输入很大,通常是整个图像,提出一种更有效的训练方法,利用训练过程中的特征共享;在Faster RCNN训练中,随机梯度下降(SGD)小批量是分层采样的,首先对N幅图像进行采样,然后对每幅图像的R/N ROI进行采样,来自同一图像的ROI在向前和向后过程中共享计算和内存,使N变小可以减少小批量计算;例如,当使用N=2和R=128时,建议的训练方案比从128幅不同图像(即R-CNN和SPPnet策略)中采样一个RoI大约快64倍,但是可能会导致训练收敛缓慢,因为来自同一图像的ROI是相关的;使用比R-CNN更少的SGD迭代次数,在N=2和R=128时获得了良好的结果;除了分层采样外,Fast R-CNN还使用了一个精简的训练过程和一个微调阶段,联合优化softmax分类器和边界盒回归器,而不是在三个单独的阶段训练softmax分类器、支持向量机和回归器;该过程的组成部分:损失、小批量采样策略、通过RoI池化层的反向传播以及SGD超参数;
探索了两种实现尺度不变目标检测的方法:通过蛮力学习、使用图像金字塔;在蛮力方法中,在训练和测试期间,每个图像都以预定义的像素大小进行处理,网络必须直接从训练数据中学习尺度不变的目标检测,多尺度方法通过图像金字塔为网络提供近似的尺度不变性,在测试时,使用图像金字塔对每个对象进行近似缩放规格化,在多尺度训练期间,在每次图像采样时随机采样一个金字塔尺度作为数据扩充的一种形式。
7.如权利要求1所述的一种基于Faster R-CNN的棉花顶尖识别方法,其特征在于,在步骤6中:当调整Faster R-CNN模型时,检测就相当于运行一个前向传递,网络将图像(或图像金字塔,编码为图像列表)和R对象建议列表作为输入进行评分,在测试时间,R通常在2000左右,当使用图像金字塔时,每个RoI都被分配到比例,以便比例RoI最接近区域中的2242像素,对于每个测试RoI r,前向传递输出一个类后验概率分布p和一组相对于r的预测边界框偏移量(K个类中的每个类获得其自己的细化边界框预测);使用估计概率Pr为每个对象类k的r分配检测置信度,使用R-CNN中的算法和设置,对每个类独立执行非最大值抑制;
对于整个图像分类与conv层相比,计算全连接层所花费的时间较少;对于检测而言,要处理的ROI数量很大,近一半的前向传递时间用于计算全连层;通过使用截断的SVD压缩大型全连接层,可以很容易地加快运算速度;在该技术中,由u×v权重矩阵W参数化的层近似分解为:
Figure 776086DEST_PATH_IMAGE001
使用SVD,在该分解中,U是由W的第一个t左奇异向量组成的u×t矩阵,
Figure 479600DEST_PATH_IMAGE002
是由W的顶部t奇异值组成的t×t对角矩阵,V是由W的第一个t右奇异向量组成的v×t矩阵;截断SVD将参数计数从uv减少到t(u+v),如果t比min(u,v)小得多,可能是显著的;为了压缩网络,将对应于W的单个全连接层替换为两个全连接层,它们之间没有非线性,第一层使用权重矩阵
Figure 900217DEST_PATH_IMAGE002
(无偏差),第二层使用U(原始偏差与W相关),当ROI数量较大时,这种简单的压缩方法提供了很好的加速效果。
CN202111368171.6A 2021-11-18 2021-11-18 一种基于Faster R-CNN的棉花顶尖识别方法 Pending CN114067298A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111368171.6A CN114067298A (zh) 2021-11-18 2021-11-18 一种基于Faster R-CNN的棉花顶尖识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111368171.6A CN114067298A (zh) 2021-11-18 2021-11-18 一种基于Faster R-CNN的棉花顶尖识别方法

Publications (1)

Publication Number Publication Date
CN114067298A true CN114067298A (zh) 2022-02-18

Family

ID=80279218

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111368171.6A Pending CN114067298A (zh) 2021-11-18 2021-11-18 一种基于Faster R-CNN的棉花顶尖识别方法

Country Status (1)

Country Link
CN (1) CN114067298A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114916336A (zh) * 2022-05-06 2022-08-19 山东理工大学 一种基于棉花顶叶成熟期分类识别的化学打顶方法
CN115147423A (zh) * 2022-09-06 2022-10-04 江苏欧罗曼家纺有限公司 基于改进的链码法的棉花顶检测方法
CN116109840A (zh) * 2023-04-10 2023-05-12 山东农业大学 一种基于机器视觉的樱桃孢子识别方法
CN117859549A (zh) * 2024-03-11 2024-04-12 中化现代农业有限公司 棉花变量打顶方法、装置、电子设备和存储介质

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114916336A (zh) * 2022-05-06 2022-08-19 山东理工大学 一种基于棉花顶叶成熟期分类识别的化学打顶方法
CN114916336B (zh) * 2022-05-06 2024-03-15 山东理工大学 一种基于棉花顶叶成熟期分类识别的化学打顶方法
CN115147423A (zh) * 2022-09-06 2022-10-04 江苏欧罗曼家纺有限公司 基于改进的链码法的棉花顶检测方法
CN116109840A (zh) * 2023-04-10 2023-05-12 山东农业大学 一种基于机器视觉的樱桃孢子识别方法
CN116109840B (zh) * 2023-04-10 2023-08-29 山东农业大学 一种基于机器视觉的樱桃孢子识别方法
CN117859549A (zh) * 2024-03-11 2024-04-12 中化现代农业有限公司 棉花变量打顶方法、装置、电子设备和存储介质

Similar Documents

Publication Publication Date Title
CN114067298A (zh) 一种基于Faster R-CNN的棉花顶尖识别方法
CN114022432B (zh) 基于改进的yolov5的绝缘子缺陷检测方法
US20190228268A1 (en) Method and system for cell image segmentation using multi-stage convolutional neural networks
CN108229550B (zh) 一种基于多粒度级联森林网络的云图分类方法
CN112348036A (zh) 基于轻量化残差学习和反卷积级联的自适应目标检测方法
CN112163628A (zh) 一种适用于嵌入式设备的改进目标实时识别网络结构的方法
CN109376787B (zh) 流形学习网络及基于其的计算机视觉图像集分类方法
CN110322445A (zh) 一种基于最大化预测和标签间相关性损失函数的语义分割方法
CN114049621A (zh) 一种基于Mask R-CNN的棉花顶尖识别检测方法
CN113628211B (zh) 参数预测推荐方法、设备及计算机可读存储介质
CN112329784A (zh) 一种基于时空感知及多峰响应的相关滤波跟踪方法
CN112950780A (zh) 一种基于遥感影像的网络地图智能生成方法及系统
CN112418032A (zh) 一种人体行为识别方法、装置、电子设备及存储介质
CN112597919A (zh) 基于YOLOv3剪枝网络和嵌入式开发板的实时药盒检测方法
CN112488963A (zh) 一种用于农作物病害数据的增强方法
CN113139977A (zh) 一种基于YOLO和U-Net的口腔曲断影像智齿分割方法
CN117058552A (zh) 一种基于改进YOLOv7与RKNPU2的轻量化害虫检测方法
CN117744745B (zh) 一种基于YOLOv5网络模型的图像优化方法及优化系统
CN112561054B (zh) 一种基于批量特征热图的神经网络滤波器剪枝方法
CN114359167A (zh) 一种复杂场景下基于轻量化YOLOv4的绝缘子缺陷检测方法
CN112132207A (zh) 基于多分支特征映射目标检测神经网络构建方法
CN115100509B (zh) 基于多分支块级注意力增强网络的图像识别方法及系统
CN116740808A (zh) 基于深度学习目标检测和图像分类的动物行为识别方法
CN116309213A (zh) 一种基于生成对抗网络的高实时多源图像融合方法
CN113554010B (zh) 一种电网线路故障识别模型训练方法

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