CN114444622A - 一种基于神经网络模型的水果检测系统和方法 - Google Patents
一种基于神经网络模型的水果检测系统和方法 Download PDFInfo
- Publication number
- CN114444622A CN114444622A CN202210370957.XA CN202210370957A CN114444622A CN 114444622 A CN114444622 A CN 114444622A CN 202210370957 A CN202210370957 A CN 202210370957A CN 114444622 A CN114444622 A CN 114444622A
- Authority
- CN
- China
- Prior art keywords
- fruit
- picture
- neural network
- module
- network model
- 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/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- 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
- 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
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种基于神经网络模型的水果检测系统和方法,属于图像预处理及识别技术领域,解决传统方法对单个水果检测的时间过长且模型臃肿无法应用于实际的问题。该系统包括:训练集和验证集获取模块将历史水果图片集划分为训练集和验证集;神经网络建立模块,神经网络模型包括特征提取模块和代替全连接层的改进的分类模块,改进的分类模块用于对特征提取模块提取的特征图片进行分类;模型训练和验证模块使用训练集进行训练并使用验证集对训练结果进行验证;检测模块将待评级的水果图片输入训练好的神经网络模型以检测出待评级的水果图片中的水果表面评级与坏果情况。通过改进的分类模块减少参数数量和模型大小、保证精度、并满足检测速度的需求。
Description
技术领域
本发明涉及图像预处理及识别技术领域,尤其涉及一种基于神经网络模型的水果检测系统和方法。
背景技术
目前,水果机械化、信息化的采后处理能力严重不足,采后烂果区分率、水果品质分级水平低。为提高水果商品在市场的竞争力,强化大规模信息化采后处理是关键。
目前我国的水果后期处理技术主要是通过人工分拣和分级的方法,不可避免地存在一些问题,比如长时间单调的劳动导致人的疲劳进而使得检测准确率降低、水果表面分级方法不够精确,具有很强的主观性等。随着人工成本的增加,促使了自动化水果分拣系统的出现。
传统的自动化分拣系统大多基于深度神经网络,具有很大的模型,网络层数由几十层甚至加深到了上百层,在训练难度和计算量方面也都有了不小的提升。动辄上百亿的参数量严重限制了模型部署到嵌入式系统或移动端的应用,在模型实现方面会耗费很多资源,成本较高。
发明内容
鉴于上述的分析,本发明实施例旨在提供一种基于神经网络模型的水果检测系统和方法,用以解决传统的神经网络方法无法对检测台上的大量水果进行实时检测,其对单个水果检测的时间过长,且模型过于臃肿(参数量过多,导致部署到工业环境中较为困难)这无法应用于实际中问题。
一方面,本发明实施例提供了一种基于神经网络模型的水果检测系统,包括:训练集和验证集获取模块,用于获取历史水果图片集,并将所述历史水果图片集划分为训练集和验证集;神经网络建立模块,用于建立神经网络模型,所述神经网络模型包括特征提取模块和代替全连接层的改进的分类模块,其中,所述改进的分类模块用于对所述特征提取模块提取的特征图片进行分类;模型训练和验证模块,用于使用所述训练集对所述神经网络模型进行训练并使用所述验证集对训练结果进行验证以获取训练好的神经网络模型;以及检测模块,用于将待评级的水果图片输入所述训练好的神经网络模型以检测出所述待评级的水果图片中的水果表面评级与坏果情况。
上述技术方案的有益效果如下:通过改进的分类模块代替全连接层,利用改进的分类模块对所述特征提取模块提取的特征图片进行分类,能够在保证精度的同时满足检测速度的需求。因此,得益于模型结构的调整,可以极大地提升模型的推理速度,进而做到在大量水果倾倒之后的实时性预测。
基于上述系统的进一步改进,基于神经网络模型的水果检测系统,包括预处理模块,用于在对所述神经网络模型进行训练之前使用全覆盖裁剪方法对所述训练集和所述验证集中的历史水果图片进行预处理;以及在将所述待评级的水果图片输入所述训练好的神经网络模型之前,使用所述全覆盖裁剪方法对所述待评级的水果图片进行预处理。
基于上述系统的进一步改进,所述预处理模块包括第一裁剪模块、第二裁剪模块和填充模块,其中,所述第一裁剪模块,用于对所述历史水果图片和所述待评级的水果图片按照224×224在图片的左下对角和右上对角进行裁剪以获取第一尺寸的历史水果图片和第一尺寸的待评级的水果图片;所述第二裁剪模块,用于对所述历史水果图片和所述待评级的水果图片按照100×100在图片四边的中心进行裁剪以获取第二尺寸的历史水果图片和第二尺寸的待评级的水果图片;以及所述填充模块,用于在所述第二尺寸的历史水果图片和所述第二尺寸的待评级的水果图片周围补充0以将所述第二尺寸的历史水果图片和所述第二尺寸的待评级的水果图片的尺寸扩充为224×224。
基于上述系统的进一步改进,所述特征提取模块包括:第一卷积子模块、轻量化卷积子模块、第二卷积子模块,其中,所述第一卷积子模块,用于对预处理后的所述历史水果图片或预处理后的所述待评级的水果图片中提取所述历史水果图片或所述待评级的水果图片的特征图作为第一输出,其中,所述特征图由特征的向量表示;所述第一轻量化卷积子模块,用于在不改变所述特征图的形状的情况下,对所述第一输出进一步提取特征以获取第二输出;以及所述第二卷积子模块,用于对所述第二输出进一步加深特征图并缩小特征图尺寸以进一步分离特征以获取第三输出特征图。
基于上述系统的进一步改进,所述改进的分类模块包括第二轻量化卷积子模块和平均池化子模块,其中,所述第二轻量化卷积子模块,用于使用N个1×1×128的卷积核对所述第三输出特征图进行卷积处理以输出N×14×14的第四输出特征图,其中,所述第三输出特征图为128×14×14的特征图,N为大于等于13的正整数;以及所述平均池化子模块,用于对所述第四输出特征图进行平均池化操作以输出N×1×1的第五输出特征图。
基于上述系统的进一步改进,通过以下公式对所述神经网络模型的输出进行softmax操作,以获得N个类别的概率:
其中,所述N个类别的概率表示所述待评级的水果图片中的水果表面评级与坏果情况。
基于上述系统的进一步改进,所述模型训练和验证模块,用于使用所述训练集对所述神经网络模型进行正向传播训练以计算出q并通过以下公式计算出交叉熵损失:
其中,所述神经网络模型的输出检测结果为待检测水果的概率为q,实际结果为p;以及根据所述交叉熵损失对所述神经网络模型进行模型参数的反向传播训练。
基于上述系统的进一步改进,所述训练集和验证集获取模块,用于从历史数据库中获取不同等级的水果以及坏果图片集,并以预定比率M%将所述不同等级的水果以及坏果图片集划分为所述训练集和所述验证集,其中,将所述不同等级的水果以及坏果图片集的M%作为所述训练集;以及将所述不同等级的水果以及坏果图片集的1-M%作为所述验证集。
另一方面,本发明实施例提供了一种基于神经网络模型的水果检测方法,包括:获取历史水果图片集,并将所述历史水果图片集划分为训练集和验证集;建立神经网络模型,所述神经网络模型包括特征提取模块和代替全连接层的改进的分类模块,其中,所述改进的分类模块用于对所述特征提取模块提取的特征图片进行分类;使用所述训练集对所述神经网络模型进行训练并使用所述验证集对训练结果进行验证以获取训练好的神经网络模型;以及将待评级的水果图片输入所述训练好的神经网络模型以检测出所述待评级的水果图片中的水果表面评级与坏果情况。
基于上述方法的进一步改进,基于神经网络模型的水果检测方法包括在对所述神经网络模型进行训练之前使用全覆盖裁剪方法对所述训练集和所述验证集中的历史水果图片进行预处理;以及在将所述待评级的水果图片输入所述训练好的神经网络模型之前,使用所述全覆盖裁剪方法对所述待评级的水果图片进行预处理,其中,对所述历史水果图片和所述待评级的水果图片按照224×224在图片的左下对角和右上对角进行裁剪以获取第一尺寸的历史水果图片和第一尺寸的待评级的水果图片;对所述历史水果图片和所述待评级的水果图片按照100×100在图片四边的中心进行裁剪以获取第二尺寸的历史水果图片和第二尺寸的待评级的水果图片;以及在所述第二尺寸的历史水果图片和所述第二尺寸的待评级的水果图片周围补充0以将所述第二尺寸的历史水果图片和所述第二尺寸的待评级的水果图片的尺寸扩充为224×224。
与现有技术相比,本发明至少可实现如下有益效果之一:
1、通过本发明提出的一种基于神经网络模型的水果检测方法,降低了模型复杂度,简化了模型实施方案,降低了训练难度。通过改进的分类模块代替全连接层,舍弃了传统的线性层连接,极大地减少了模型参数数量,减小了模型的大小,使得模型更加轻量化。利用改进的分类模块对特征提取模块提取的特征图片进行分类识别,能够在保证精度的同时满足检测速度的需求。因此,得益于模型结构的调整,可以极大地提升模型的推理速度,进而做到在大量水果倾倒之后的实时性预测;
2、改进的分类模块包括第二轻量化卷积子模块和平均池化子模块,第二轻量化卷积子模块使用N个1×1×128的卷积核对所述第三输出特征图进行卷积处理;平均池化子模块对第二轻量化卷积子模块的输出进行平均池化操作以能够将待评级的水果图片中的水果表面评级与坏果情况进行分类;
3、使用全覆盖裁剪方法对水果图片进行预处理以将水果图片裁剪为两种尺寸的输入图片,能够获取决定水果品质不同的很小地方(例如水果表面的伤口或裂纹)或者很大地方(例如水果表面的颜色),从而既能够关注待检测水果的全局特征(例如颜色),又能够重点关注水果的局部特征(例如表面伤痕、裂缝)。
本发明中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过说明书以及附图中所特别指出的内容中来实现和获得。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件;
图1为根据本发明实施例的基于神经网络模型的水果检测系统的框图;
图2为根据本发明实施例的全覆盖裁剪方法的示意图;
图3为根据本发明实施例的神经网络模型的结构图;
图4为根据本发明实施例的改进的分类模块的具体处理示图;
图5为根据本发明实施例的坏果、未熟果检测的图片;
图6为根据本发明实施例的8类苹果表面品质分级检测的图片;
图7根据本发明实施例的模型训练精度;
图8为根据本发明实施例的基于神经网络模型的水果检测方法的流程图;
图9为根据本发明实施例的基于神经网络模型的水果检测方法的具体流程图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
本发明的一个具体实施例,公开了一种基于神经网络模型的水果检测系统。参考图1,基于神经网络模型的水果检测系统包括:训练集和验证集获取模块102,用于获取历史水果图片集,并将历史水果图片集划分为训练集和验证集;神经网络建立模块104,用于建立神经网络模型,神经网络模型包括特征提取模块和代替全连接层的改进的分类模块,其中,改进的分类模块用于对特征提取模块提取的特征图片进行分类;模型训练和验证模块106,用于使用训练集对神经网络模型进行训练并使用验证集对训练结果进行验证以获取训练好的神经网络模型;以及检测模块108,用于将待评级的水果图片输入训练好的神经网络模型以检测出待评级的水果图片中的水果表面评级与坏果情况。
与现有技术相比,本实施例提供的基于神经网络模型的水果检测系统,通过改进的分类模块代替全连接层,利用改进的分类模块对所述特征提取模块提取的特征图片进行分类识别,能够在保证精度(如图7所示)的同时满足检测速度的需求。因此,得益于模型结构的调整,可以极大地提升模型的推理速度,进而做到在大量水果倾倒之后的实时性预测。
下文中,参考图1至图7,对根据本发明实施例的基于神经网络模型的水果检测系统进行详细描述。参考图1,基于神经网络模型的水果检测系统包括:训练集和验证集获取模块102、预处理模块、神经网络建立模块104、模型训练和验证模块106和检测模块108。
训练集和验证集获取模块102用于获取历史水果图片集,并将历史水果图片集划分为训练集和验证集。具体地,训练集和验证集获取模块102,用于从历史数据库中获取不同等级的水果以及坏果图片集,并以预定比率M%将不同等级的水果以及坏果图片集划分为训练集和验证集。其中,历史数据库存储有多种水果及每种水果的多种等级的图片,以能够对不同种类的水果进行分级或者每种水果进行分级。将不同等级的水果以及坏果图片集的M%作为训练集;以及将不同等级的水果以及坏果图片集的1-M%作为验证集。例如,预定比率M%在50%至70%的范围内,在优选实施例中,预定比率M%为70%。
预处理模块用于在对神经网络模型进行训练之前使用全覆盖裁剪方法对训练集和验证集中的历史水果图片进行预处理;以及在将待评级的水果图片输入训练好的神经网络模型之前,使用全覆盖裁剪方法对待评级的水果图片进行预处理。具体地,预处理模块包括第一裁剪模块、第二裁剪模块和填充模块。参考图2,第一裁剪模块用于对历史水果图片和待评级的水果图片按照224×224在图片的左下对角和右上对角进行裁剪以获取第一尺寸的历史水果图片和第一尺寸的待评级的水果图片。其中,历史水果图片和待评级的水果图片大小为不大于300×300即可,具体大小不进行限制。参考图2,第二裁剪模块用于对历史水果图片和待评级的水果图片按照100×100在图片四边的中心进行裁剪以获取第二尺寸的历史水果图片和第二尺寸的待评级的水果图片。填充模块用于在第二尺寸的历史水果图片和第二尺寸的待评级的水果图片周围补充0以将第二尺寸的历史水果图片和第二尺寸的待评级的水果图片的尺寸扩充为224×224。即,对每一历史水果图片/待评级的水果图片经过预处理得到对应的6个224×224的预处理后图片。
参考图1和图3,神经网络建立模块104用于建立神经网络模型,该神经网络模型包括特征提取模块和代替全连接层的改进的分类模块,其中,改进的分类模块用于对特征提取模块提取的特征图片进行分类。具体地,特征提取模块包括:第一卷积子模块302、轻量化卷积子模块304和第二卷积子模块306。将预处理后的6个图片均将作为第一卷积子模块302的输入(网络是串行结构,所以所有的6个预处理后图片都将输入到串行网络的第一卷积子模块302中,图片经过多个子模块逐步提取特征)第一卷积子模块302用于对预处理后的历史水果图片或预处理后的待评级的水果图片中提取历史水果图片或待评级的水果图片的特征图作为第一输出,其中,特征图由特征的向量表示。第一轻量化卷积子模块304用于在不改变特征图的形状的情况下,对第一输出进一步提取特征以获取第二输出。第二卷积子模块306用于对第二输出进一步加深特征图并缩小特征图尺寸以进一步分离特征以获取第三输出特征图。此外,参考图4,改进的分类模块包括第二轻量化卷积子模块和平均池化子模块。第二轻量化卷积子模块用于使用N个1×1×128的卷积核对第三输出特征图进行卷积处理以输出N×14×14的第四输出特征图,其中,第三输出特征图为128×14×14的特征图,N为大于等于13的正整数。平均池化子模块,用于对第四输出特征图进行平均池化操作以输出N×1×1的第五输出特征图。
通过以下公式对神经网络模型的输出进行softmax操作,以获得N个类别的概率:
其中,N个类别的概率表示待评级的水果图片中的水果表面评级与坏果情况。
模型训练和验证模块106用于使用训练集对神经网络模型进行训练并使用验证集对训练结果进行验证以获取训练好的神经网络模型。具体地,模型训练和验证模块106用于使用训练集对神经网络模型进行正向传播训练以计算出q并通过以下公式计算出交叉熵损失:
其中,神经网络模型的输出检测结果为待检测水果的概率为q,实际结果为p;以及根据交叉熵损失对神经网络模型进行模型参数的反向传播训练。
检测模块108用于将待评级的水果图片输入训练好的神经网络模型以检测出待评级的水果图片中的水果表面评级与坏果情况(参考图5和图6)。
本发明的另一个具体实施例,公开了一种基于神经网络模型的水果检测方法。参考图8,基于神经网络模型的水果检测方法包括:在步骤S802中,获取历史水果图片集,并将历史水果图片集划分为训练集和验证集;在步骤S804中,建立神经网络模型,神经网络模型包括特征提取模块和代替全连接层的改进的分类模块,其中,改进的分类模块用于对特征提取模块提取的特征图片进行分类;在步骤S806中,使用训练集对神经网络模型进行训练并使用验证集对训练结果进行验证以获取训练好的神经网络模型;以及在步骤S808中,将待评级的水果图片输入训练好的神经网络模型以检测出待评级的水果图片中的水果表面评级与坏果情况。
基于神经网络模型的水果检测方法包括在对神经网络模型进行训练之前使用全覆盖裁剪方法对训练集和验证集中的历史水果图片进行预处理;以及在将待评级的水果图片输入训练好的神经网络模型之前,使用全覆盖裁剪方法对待评级的水果图片进行预处理。对历史水果图片和待评级的水果图片按照224×224在图片的左下对角和右上对角进行裁剪以获取第一尺寸的历史水果图片和第一尺寸的待评级的水果图片;对历史水果图片和待评级的水果图片按照100×100在图片四边的中心进行裁剪以获取第二尺寸的历史水果图片和第二尺寸的待评级的水果图片;以及在第二尺寸的历史水果图片和第二尺寸的待评级的水果图片周围补充0以将第二尺寸的历史水果图片和第二尺寸的待评级的水果图片的尺寸扩充为224×224。
下文中,参考图2至图7,以具体实例的方式,对根据本发明实施例的基于神经网络模型的水果检测系统进行详细描述。
该卷机模型主要改进点在于在保证精度的前提下,替代掉了传统卷积模型中的全连接层,使用1×1大小的卷积核进行特征判断,极大地缩减了参数数量,减小了模型的大小。这对于实际模型部署具有很大的帮助:众所周知,随着模型的结构复杂度增加、模型的层数变多变深,模型的准确度越高,其中全连接层作为传统卷积模型的决策层,主要作用是对全面卷积层提取出的特征进行判断,全连接层由于节点之间连接数量大,导致参数数量相比于卷积层有数量级上的增加。提出的这个模型可以替代全连接层进行决策,在判断水果等级方面具有良好的效果。
参考图9,基于神经网络模型的水果检测系统包括以下步骤:
获取不同等级的水果以及坏果图片集,以split_ratio=0.7将图片集划分为训练集T和验证集V,并对训练集和验证集进行预处理。具体地,使用scikit learn函数库中的train_test_split()函数划分训练集T与验证集V,将数据集的70%划分为训练集,将剩下的30%划分为验证集;使用Torch Vision函数库中的transforms类中的函数对训练集T中的图片进行预处理。第一步,将训练集图片周围以padding=4进行0填充,再随机截取224×224大小的图片作为训练集,则训练集图片大小为x∈R 224×224×3,对周围填充后进行截取作为训练集可以保证训练模型在待检测目标显示不完整的情况下做出准确判断;第二步,将训练集中每个图片以50%的概率进行纵向翻转,以保证训练模型在不同角度检测的鲁棒性;第三步,将训练集图片T和验证集图片V进行归一化处理,以加快模型收敛,防止过拟合。
水果品质检测问题具有一定的特殊性:即决定水果品质不同的关键往往在于很小的地方(例如水果表面的伤口或裂纹)或者很大的地方(例如水果表面的颜色),即该问题的不同情况具有一定的极端性,既需要关注待检测水果的全局特征(例如颜色),又要重点关注水果的局部特征(例如表面伤痕、裂缝),现有的方法对于这个问题均没有特殊的关注与处理,基于这种情况,提出一种改进的图像预处理方法:
不同于传统预处理方法中的随机裁剪技术,对待检测目标图片进行“全覆盖裁剪技术”,使得图像在传入网络后,网络可以更多专注于局部特征,并根据局部特征进行判断。该图像预处理方法示意图及具体操作如下:
1、对一张待检测的水果图片(如图2所示)按照两个尺寸进行裁剪:224×224(黑色)和100×100(灰色),其中绿色在图像四边的中心进行裁剪;红色在左下和右上两对角进行裁剪。
2、经过裁剪后,红色框的裁剪图片可以直接输入到网络中,绿色框的裁剪图片经过在四周padding后(即在100×100大小的图片周围补充0,将其图片大小扩充为224×224)再输入进网络中。
由于模型参数数量以及运算时间的局限性,传统的神经网络方法无法对检测台上的大量水果进行实时检测,其对单个水果检测的时间过长,且模型过于臃肿(参数量过多,导致部署到工业环境中较为困难)这无法应用于实际中。
相比于传统的深度网络,本发明提出的网络模型可以在特定场景水果检测方面使用改进的分类头代替全连接层进行特征判断,在保证精度的同时满足了检测速度的需求。在本发明中,得益于模型结构的调整,我们可以极大地提升模型的推理速度,进而做到在大量水果倾倒之后的实时性预测。经测试:在同等硬件条件下,本发明的方法相对于ResNet50,速度提升了30%,相对于Transformer速度提升了70%。在模型体积方面,本发明相对于ResNet50体积减小了70%,相对于Transformer体积减小了90%。
参考图3,每一步网络右边的数字代表数据经过该层处理后输出的维度(例如输入图片大小为3×224×224,经过第一卷积层处理后的输出特征图大小为64×112×112)。
结构共分为4部分组成,其中前三部分是传统的提取特征操作:第一部分Conv用于从图片中提取特征图(feature map);第二部分NIN用于对特征图进行捷径(short cut)操作;第三部分Conv用于进一步加深特征图,并缩小特征图尺寸,已达到进一步分离特征的目的。
第四部分是本发明提出的一种新的分类头技术,可以取代传统的全连接层对图片进行分类,具体操作如下:
使用13个1×1×128大小的卷积核(因为共有13个类,所以需要13个卷积核;因为上一层的数据输出为128层特征图,所以卷积核大小为1×1×128)对输出特征图进行卷积处理,具体处理方式如图3所示。
经过卷积处理上一步卷积操作后,输出是一个13×14×14大小的特征图,我们在每个特征图上进行avgpool操作,即:求每张14×14大小的特征图的均值,用最后求得的均值代表该特征图的值,最后输出为一个13×1×1大小的特征图。
将上述输出特征图进行softmax操作,具体为:
其中x i 为上述输出特征图的结果,得到的结果p i 即为对应的待分类的N(N为大于等于13的正整数)个类别的概率。
使用PyTorch深度学习框架搭建神经网络模型(包括NIN轻量化卷积模型)。PyTorch是基于Torch推出一个开源的Python机器学习库,现已广泛应用于自然语言处理、计算机视觉等领域。PyTorch既可以看作加入了GPU支持的Numpy,同时也可以看成一个拥有自动求导功能的强大的深度神经网络。
NIN(Network In Network)网络提高了局部感受野内的模型可解释性,舍弃了传统的线性层连接,极大地减少了模型参数数量,使得模型更加轻量化。NIN最显著的特点是使用1×1大小的卷积核构造卷积神经网络以融合不同特征层的特征,达到代替全连接层的效果。
从上往下对上图中的模型具体结构的有效性进行说明:
第一卷积子模块(Conv)302:第一个卷积层包括一个7×7大小的卷积核的卷积层、一个Maxpooling层和一个批归一化层(BatchNorm),其中卷积层用于提取图像特征,本层中共使用了64个卷积核对图像特征进行提取,Maxpooling层用于提高空间信息的利用频率,批归一化层(BatchNorm)用于保证模型训练时的数值稳定性。
第一轻量化卷积子模块(NIN)304:第一NIN层用于进一步提取图像特征。使用1×1大小的卷积核。
第二卷积子模块(Conv)306:一个3×3大小的卷积核的卷积层、一个Maxpooling层和一个批归一化层(BatchNorm),其中卷积层用于提取图像特征,本层中共使用了128个卷积核对图像特征进行提取,Maxpooling层用于提高空间信息的利用频率,批归一化层(BatchNorm)用于保证模型训练时的数值稳定性。
改进的分类模块(NIN)308:对上述的特征提取进行分类。使用13个卷积核对特征进行提取,并使用Avgpool层将运算后的13层展开为一个13维向量,每一维向量代表一个类别。
第一步,搭建子模块。子模块采用两层二维卷积模型进行搭建:第一层使用传统的卷积模型,根据图片尺寸定义其输入通道数in_channels、输出通道数out_channels、卷积核尺寸kernel_size、卷积核移动步长strides图片四周填充尺寸padding;第二层使用特殊卷积核的卷积模型,其输入通道数与输出通道数相同,采用1×1大小的卷积核可以在不改变输入特征层个数的同时,对相同位置不同特征层的特征进行融合。
第二步,搭建NIN卷积网络模型,为了在保证模型性能的情况下做到网络模型轻量化,使用2个NIN子模块,并配合最大池化层MaxPool2d、平均池化层AvgPool2d来搭建NIN卷积网络模型。对于输入图片x∈X=R N×H×W×C,其中N为Batch size,H为图片高度,W为图片宽度,C是图片通道数,一个batch X中有N个训练图片x。
将图片3×3输入训练模型中提取特征,模型的第一层输入通道为3,与训练图片通道数相对应,使用7×7大小的卷积核,卷积核步进尺寸为2,图片padding尺寸为0,经过卷积层后,对应的单特征层大小为:
设置训练模型第一层的输出通道为64,则图片经过第一层卷积特征提取后,得到的结果为x∈R N×64×112×112,具体计算为:
其中x为输入图片,k为卷积核,m, n∈[0, 112]为生成图片的尺寸。
接着使用3×3大小的kernel的最大池化层提取显著性特征,kernel步进长度为2,通过消除感受野内的非极大值,降低了下层网络的计算复杂度,同时扩大了下层网络的感受野,达到了特征压缩的效果。我们对个特征层进行批归一化,具体地,对N张训练图片所对应的同一特征层内的特征进行归一化:
其中,x 2为最大池化层的输出,E[x 2]为待归一化数据的均值,Var[x 2]为待归一化数据的方差,e为极小值变量,为了防止分母为0而设置的,无实际含义,一般取值为0.0001。
将输出结果x 3输入到第二个NIN子模块中,第二层NN模块的有64个输入通道,与批归一化的输出通道数相同;NIN卷积层有13个输出通道,与待分级的水果种类相同。采用3×3的卷积核,卷积核步进步长为1,图片padding尺寸为1。卷积层提取出的结果具有13个特征层,代表13类待分类结果与检测图片的特征相关性。
接下来,我们将特征层计算结果输入自适应平均池化层并展开。将13个特征层做平均池化,每个特征层池化后输出一个1×1大小的矩阵,再将13个特征层展开,就获得了一个13×1的输出概率矩阵。每个特征层结果对应待测图片为该类别的概率,取概率最大值对应的种类即为模型判别种类。我们创造性地提出了使用单卷积核网络替代传统的全连接层对卷积提取的特征进行判断,极大减少了模型体积,提高了模型运行速度。经测试:在同等硬件条件下,本发明的方法相对于ResNet50速度提升了30%,相对于Transformer速度提升了70%。在模型体积方面,本发明相对于ResNet50体积减小了70%,相对于Transformer体积减小了90%。
使用训练集T进行训练,使用验证集V验证模型训练结果。具体地,使用水果图像集中的70%图像作为训练数据集T对NIN轻量化卷积模型进行训练,使用水果图像集中的30%图像作为验证数据集V对NIN轻量化卷积模型进行训练结果的验证;对NIN轻量化卷积模型进行正向传播训练,计算出预测结果q,并计算出交叉熵损失:
根据交叉熵损失对NIN轻量化卷积模型进行模型参数的反向传播训练。
获取待评级的水果图片,并将待评级水果图片发送给训练后的NIN轻量化卷积模型,生成识别结果,并根据识别结果获得当前图片中的水果表面评级和坏果情况。具体地,获取待测水果图像;将水果图像发送给训练后的NIN轻量化卷积模型,以使的NIN轻量化卷积模型对水果图像进行识别,得到识别结果。
根据识别结果获得当前图片的水果表面分级情况与坏果情况,其中,训练集中,会根据苹果的不同等级分为不同的类别(这里有11个类别或者大于等于11个类别,其中表面有瑕疵裂纹的坏果、青果也算在类别之中),每个类别都会有对应的训练集图片,所以当我们采用这个训练集训练我们的模型时,训练结果会直接输出对应的11个类别,我们可以根据输出结果属于哪一类得出水果表面的分级情况与坏果情况。
通过本发明的方案,简化了传统深度神经网络判断水果表面分级的模型,使用轻量化的卷积模型,达到节约成本、节省资源、易于部署实现的目地。
由于模型参数数量以及运算时间的局限性,传统的神经网络方法无法对检测台上的大量水果进行实时检测,其对单个水果检测的时间过长,这无法应用于实际中。相比于传统的深度网络,本发明提出的网络模型可以在特定场景(水果检测方面)使用结构简单的浅层网络中提取出特征,同时创造性地提出使用NIN网络代替全连接层进行特征判断,在保证精度的同时满足了检测速度的需求。在本发明中,得益于模型结构的调整,我们可以极大地提升模型的推理速度,进而做到在大量水果倾倒之后的实时性预测。经测试:在同等硬件条件下,本发明的方法相对于ResNet50,速度提升了30%,相对于Transformer速度提升了70%。在模型体积方面,本发明相对于ResNet50体积减小了70%,相对于Transformer体积减小了90%。
本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种基于神经网络模型的水果检测系统,其特征在于,包括:
训练集和验证集获取模块,用于获取历史水果图片集,并将所述历史水果图片集划分为训练集和验证集;
神经网络建立模块,用于建立神经网络模型,所述神经网络模型包括特征提取模块和代替全连接层的改进的分类模块,其中,所述改进的分类模块用于对所述特征提取模块提取的特征图片进行分类;
模型训练和验证模块,用于使用所述训练集对所述神经网络模型进行训练并使用所述验证集对训练结果进行验证以获取训练好的神经网络模型;以及
检测模块,用于将待评级的水果图片输入所述训练好的神经网络模型以检测出所述待评级的水果图片中的水果表面评级与坏果情况。
2.根据权利要求1所述的基于神经网络模型的水果检测系统,其特征在于,包括预处理模块,用于在对所述神经网络模型进行训练之前使用全覆盖裁剪方法对所述训练集和所述验证集中的历史水果图片进行预处理;以及在将所述待评级的水果图片输入所述训练好的神经网络模型之前,使用所述全覆盖裁剪方法对所述待评级的水果图片进行预处理。
3.根据权利要求2所述的基于神经网络模型的水果检测系统,其特征在于,所述预处理模块包括第一裁剪模块、第二裁剪模块和填充模块,其中,
所述第一裁剪模块,用于对所述历史水果图片和所述待评级的水果图片按照224×224在图片的左下对角和右上对角进行裁剪以获取第一尺寸的历史水果图片和第一尺寸的待评级的水果图片;
所述第二裁剪模块,用于对所述历史水果图片和所述待评级的水果图片按照100×100在图片四边的中心进行裁剪以获取第二尺寸的历史水果图片和第二尺寸的待评级的水果图片;以及
所述填充模块,用于在所述第二尺寸的历史水果图片和所述第二尺寸的待评级的水果图片周围补充0以将所述第二尺寸的历史水果图片和所述第二尺寸的待评级的水果图片的尺寸扩充为224×224。
4.根据权利要求2所述的基于神经网络模型的水果检测系统,其特征在于,所述特征提取模块包括:第一卷积子模块、轻量化卷积子模块、第二卷积子模块,其中,
所述第一卷积子模块,用于对预处理后的所述历史水果图片或预处理后的所述待评级的水果图片中提取所述历史水果图片或所述待评级的水果图片的特征图作为第一输出,其中,所述特征图由特征的向量表示;
所述第一轻量化卷积子模块,用于在不改变所述特征图的形状的情况下,对所述第一输出进一步提取特征以获取第二输出;以及
所述第二卷积子模块,用于对所述第二输出进一步加深特征图并缩小特征图尺寸以进一步分离特征以获取第三输出特征图。
5.根据权利要求4所述的基于神经网络模型的水果检测系统,其特征在于,所述改进的分类模块包括第二轻量化卷积子模块和平均池化子模块,其中,
所述第二轻量化卷积子模块,用于使用N个1×1×128的卷积核对所述第三输出特征图进行卷积处理以输出N×14×14的第四输出特征图,其中,所述第三输出特征图为128×14×14的特征图,N为大于等于13的正整数;以及
所述平均池化子模块,用于对所述第四输出特征图进行平均池化操作以输出N×1×1的第五输出特征图。
8.根据权利要求1至7中的任一项所述的基于神经网络模型的水果检测系统,其特征在于,所述训练集和验证集获取模块,用于从历史数据库中获取不同等级的水果以及坏果图片集,并以预定比率M%将所述不同等级的水果以及坏果图片集划分为所述训练集和所述验证集,其中,
将所述不同等级的水果以及坏果图片集的M%作为所述训练集;以及
将所述不同等级的水果以及坏果图片集的1-M%作为所述验证集。
9.一种基于神经网络模型的水果检测方法,其特征在于,包括:
获取历史水果图片集,并将所述历史水果图片集划分为训练集和验证集;
建立神经网络模型,所述神经网络模型包括特征提取模块和代替全连接层的改进的分类模块,其中,所述改进的分类模块用于对所述特征提取模块提取的特征图片进行分类;
使用所述训练集对所述神经网络模型进行训练并使用所述验证集对训练结果进行验证以获取训练好的神经网络模型;以及
将待评级的水果图片输入所述训练好的神经网络模型以检测出所述待评级的水果图片中的水果表面评级与坏果情况。
10.根据权利要求9所述的基于神经网络模型的水果检测方法,其特征在于,包括在对所述神经网络模型进行训练之前使用全覆盖裁剪方法对所述训练集和所述验证集中的历史水果图片进行预处理;以及在将所述待评级的水果图片输入所述训练好的神经网络模型之前,使用所述全覆盖裁剪方法对所述待评级的水果图片进行预处理,其中,
对所述历史水果图片和所述待评级的水果图片按照224×224在图片的左下对角和右上对角进行裁剪以获取第一尺寸的历史水果图片和第一尺寸的待评级的水果图片;
对所述历史水果图片和所述待评级的水果图片按照100×100在图片四边的中心进行裁剪以获取第二尺寸的历史水果图片和第二尺寸的待评级的水果图片;以及
在所述第二尺寸的历史水果图片和所述第二尺寸的待评级的水果图片周围补充0以将所述第二尺寸的历史水果图片和所述第二尺寸的待评级的水果图片的尺寸扩充为224×224。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210370957.XA CN114444622B (zh) | 2022-04-11 | 2022-04-11 | 一种基于神经网络模型的水果检测系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210370957.XA CN114444622B (zh) | 2022-04-11 | 2022-04-11 | 一种基于神经网络模型的水果检测系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114444622A true CN114444622A (zh) | 2022-05-06 |
CN114444622B CN114444622B (zh) | 2022-06-17 |
Family
ID=81360370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210370957.XA Active CN114444622B (zh) | 2022-04-11 | 2022-04-11 | 一种基于神经网络模型的水果检测系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114444622B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102855641A (zh) * | 2012-08-10 | 2013-01-02 | 上海电机学院 | 基于外在品质的水果等级分类系统 |
CN109359681A (zh) * | 2018-10-11 | 2019-02-19 | 西京学院 | 一种基于改进全卷积神经网络的大田作物病虫害识别方法 |
CN109596326A (zh) * | 2018-11-30 | 2019-04-09 | 电子科技大学 | 基于优化结构卷积神经网络的旋转机械故障诊断方法 |
CN109794435A (zh) * | 2019-01-18 | 2019-05-24 | 金陵科技学院 | 基于深度学习的水果质量检测系统及方法 |
CN109934121A (zh) * | 2019-02-21 | 2019-06-25 | 江苏大学 | 一种基于YOLOv3算法的果园行人检测方法 |
CN110288030A (zh) * | 2019-06-27 | 2019-09-27 | 重庆大学 | 基于轻量化网络模型的图像识别方法、装置及设备 |
CN110717576A (zh) * | 2018-07-13 | 2020-01-21 | 株式会社Ntt都科摩 | 图像处理方法、装置和设备 |
CN111008924A (zh) * | 2019-12-02 | 2020-04-14 | 西安交通大学深圳研究院 | 一种图像处理方法、装置、电子设备及存储介质 |
CN111753794A (zh) * | 2020-06-30 | 2020-10-09 | 创新奇智(成都)科技有限公司 | 水果品质分类方法、装置、电子设备及可读存储介质 |
CN112241747A (zh) * | 2019-07-16 | 2021-01-19 | 顺丰科技有限公司 | 物体分拣方法、装置、分拣设备及存储介质 |
CN113030001A (zh) * | 2021-03-19 | 2021-06-25 | 北京农业智能装备技术研究中心 | 一种水果糖度检测方法及系统 |
CN113869211A (zh) * | 2021-09-28 | 2021-12-31 | 杭州福柜科技有限公司 | 图像自动标注和标注质量自动评价方法及系统 |
-
2022
- 2022-04-11 CN CN202210370957.XA patent/CN114444622B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102855641A (zh) * | 2012-08-10 | 2013-01-02 | 上海电机学院 | 基于外在品质的水果等级分类系统 |
CN110717576A (zh) * | 2018-07-13 | 2020-01-21 | 株式会社Ntt都科摩 | 图像处理方法、装置和设备 |
CN109359681A (zh) * | 2018-10-11 | 2019-02-19 | 西京学院 | 一种基于改进全卷积神经网络的大田作物病虫害识别方法 |
CN109596326A (zh) * | 2018-11-30 | 2019-04-09 | 电子科技大学 | 基于优化结构卷积神经网络的旋转机械故障诊断方法 |
CN109794435A (zh) * | 2019-01-18 | 2019-05-24 | 金陵科技学院 | 基于深度学习的水果质量检测系统及方法 |
CN109934121A (zh) * | 2019-02-21 | 2019-06-25 | 江苏大学 | 一种基于YOLOv3算法的果园行人检测方法 |
CN110288030A (zh) * | 2019-06-27 | 2019-09-27 | 重庆大学 | 基于轻量化网络模型的图像识别方法、装置及设备 |
CN112241747A (zh) * | 2019-07-16 | 2021-01-19 | 顺丰科技有限公司 | 物体分拣方法、装置、分拣设备及存储介质 |
CN111008924A (zh) * | 2019-12-02 | 2020-04-14 | 西安交通大学深圳研究院 | 一种图像处理方法、装置、电子设备及存储介质 |
CN111753794A (zh) * | 2020-06-30 | 2020-10-09 | 创新奇智(成都)科技有限公司 | 水果品质分类方法、装置、电子设备及可读存储介质 |
CN113030001A (zh) * | 2021-03-19 | 2021-06-25 | 北京农业智能装备技术研究中心 | 一种水果糖度检测方法及系统 |
CN113869211A (zh) * | 2021-09-28 | 2021-12-31 | 杭州福柜科技有限公司 | 图像自动标注和标注质量自动评价方法及系统 |
Non-Patent Citations (8)
Title |
---|
CHIAGOZIEM C. UKWUOMA等: "Recent Advancements in Fruit Detection and Classification Using Deep Learning Techniques", 《MATHEMATICAL PROBLEMS IN ENGINEERING》 * |
CHIAGOZIEM C. UKWUOMA等: "Recent Advancements in Fruit Detection and Classification Using Deep Learning Techniques", 《MATHEMATICAL PROBLEMS IN ENGINEERING》, 31 January 2022 (2022-01-31), pages 1 - 29 * |
施行: "基于视觉技术的红提串品质无损检测与分级", 《中国优秀硕士学位论文全文数据库_工程科技Ⅰ辑》 * |
施行: "基于视觉技术的红提串品质无损检测与分级", 《中国优秀硕士学位论文全文数据库_工程科技Ⅰ辑》, 15 March 2022 (2022-03-15), pages 024 - 667 * |
田有文等: "深度学习在水果品质检测与分级分类中的应用", 《食品科学》 * |
田有文等: "深度学习在水果品质检测与分级分类中的应用", 《食品科学》, vol. 42, no. 19, 20 November 2020 (2020-11-20), pages 260 - 270 * |
黄绍欣等: "基于深度学习的人脸检测算法研究", 《机电工程技术》 * |
黄绍欣等: "基于深度学习的人脸检测算法研究", 《机电工程技术》, vol. 51, no. 01, 20 January 2022 (2022-01-20), pages 126 - 129 * |
Also Published As
Publication number | Publication date |
---|---|
CN114444622B (zh) | 2022-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110503112B (zh) | 一种增强特征学习的小目标检测及识别方法 | |
CN110046550B (zh) | 基于多层特征学习的行人属性识别系统及方法 | |
CN112200045B (zh) | 基于上下文增强的遥感图像目标检测模型建立方法及应用 | |
CN110059728B (zh) | 基于注意力模型的rgb-d图像视觉显著性检测方法 | |
CN109767422A (zh) | 基于深度学习的管道检测识别方法、存储介质及机器人 | |
CN110322445B (zh) | 基于最大化预测和标签间相关性损失函数的语义分割方法 | |
CN110009622B (zh) | 一种显示面板外观缺陷检测网络及其缺陷检测方法 | |
CN114782391A (zh) | 少样本工业图像缺陷检测模型构建方法、系统及装置 | |
CN112884033B (zh) | 一种基于卷积神经网络的生活垃圾分类检测方法 | |
CN111126278A (zh) | 针对少类别场景的目标检测模型优化与加速的方法 | |
CN115409797A (zh) | 一种基于改进深度学习算法的pcb缺陷图像检测方法 | |
CN109523558A (zh) | 一种人像分割方法及系统 | |
CN116152226A (zh) | 基于可融合的特征金字塔的换向器内侧图像缺陷检测方法 | |
CN116721414A (zh) | 一种医学图像细胞分割与跟踪方法 | |
CN113763364B (zh) | 一种基于卷积神经网络的图像缺陷检测方法 | |
CN115240259A (zh) | 一种基于yolo深度网络的课堂环境下人脸检测方法及其检测系统 | |
CN114782410A (zh) | 一种基于轻量化模型的绝缘子缺陷检测方法及其系统 | |
CN114299036A (zh) | 电子元件的检测方法及装置、存储介质、电子设备 | |
CN112446376A (zh) | 一种工业图像智能分割压缩方法 | |
CN111539434B (zh) | 基于相似度的红外弱小目标检测方法 | |
CN114444622B (zh) | 一种基于神经网络模型的水果检测系统和方法 | |
CN111709936A (zh) | 一种基于多级特征比对的令纸缺陷检测方法 | |
CN115512207A (zh) | 一种基于多路特征融合及高阶损失感知采样的单阶段目标检测方法 | |
CN115641632A (zh) | 一种基于分离三维卷积神经网络的人脸伪造检测方法 | |
CN115880477A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |