CN112711985B - 基于改进solo网络的果实识别方法、装置及机器人 - Google Patents
基于改进solo网络的果实识别方法、装置及机器人 Download PDFInfo
- Publication number
- CN112711985B CN112711985B CN202011430598.XA CN202011430598A CN112711985B CN 112711985 B CN112711985 B CN 112711985B CN 202011430598 A CN202011430598 A CN 202011430598A CN 112711985 B CN112711985 B CN 112711985B
- Authority
- CN
- China
- Prior art keywords
- fruit
- network
- solo
- improved
- image
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
-
- A—HUMAN NECESSITIES
- A01—AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
- A01D—HARVESTING; MOWING
- A01D46/00—Picking of fruits, vegetables, hops, or the like; Devices for shaking trees or shrubs
- A01D46/30—Robotic devices for individually picking crops
-
- 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/24—Classification techniques
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/68—Food, e.g. fruit or vegetables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Abstract
本发明提供一种基于改进SOLO网络的果实识别方法、装置及果实采摘机器人,属于果实采摘机器人技术领域,获取果园环境中的果树照片;将果树照片输入到基于改进SOLO网络的识别模型中,确定所述果树照片中是否有果实;其中,所述基于改进SOLO网络的识别模型为使用多组数据通过机器学习训练得出;所述多组数据中的每组数据均包括:有果实的照片和标识该照片有果实的标注信息。本发明基于改进SOLO网络的果实识别方法,解决了采摘机器人的视觉系统果实分割效率较差的问题,其方法简单、实践速度快,能够得到相对精准的分割结果,适用于采摘机器人的实时作业。
Description
技术领域
本发明涉及果实采摘机器人技术领域,具体涉及一种基于改进SOLO网络的果实识别方法、装置及果实采摘机器人。
背景技术
我国水果产量稳居全球第一,但仍以人工采摘为主。随着人口城镇化、老龄化趋势加剧,社会生产中的人工成本日益攀升,研发一种水果采摘机器人代替人工进行采摘,不仅可以提高劳动效率,增加经济效益,也对促进农业机械的智能化发展具有较强的现实意义。
实现目标果实的快速、精准分割,直接影响着采摘机器人可靠性与实时性。目标物的精准分割是视觉系统的关键所在。绿色果实的采摘是不可忽视的一部分,也是果实精准分割的难点。
由于果实生长环境的复杂性,传统的机器视觉方法只能解决单一的分割任务,有一定的局限性,不满足在复杂果园环境下精准分割的要求。近几年深度卷积神经网络在目标分割领域显示出巨大的优越性,深度神经网络可以实现对其目标高维特征的高度提取,省去了传统视觉算法的很多复杂操作。虽然取得了一定的进展,但这些方法还是存在一些问题:需要大量的计算及存储资源,需要权衡考虑功耗和稳定问题;深度卷积神经网络模型一般都较大,分割速度不快,难以迁移部署到嵌入式移动设备用于自然条件下绿色果实的实时分割。
发明内容
本发明的目的在于提供一种能够在复杂果园环境下快速精准的识别果实并对其进行采摘的基于改进SOLO网络的果实识别方法、装置及果实采摘机器人,以解决上述背景技术中存在的至少一项技术问题。
为了实现上述目的,本发明采取了如下技术方案:
一方面,本发明提供一种基于改进SOLO网络的果实识别方法,包括:
获取果园环境中的果树照片;
将果树照片输入到基于改进SOLO网络的识别模型中,确定所述果树照片中是否有果实;
其中,所述基于改进SOLO网络的识别模型为使用多组数据通过机器学习训练得出;所述多组数据中的每组数据均包括:有果实的照片和标识该照片有果实的标注信息。
优选的,基于改进SOLO网络的识别模型的训练包括:
采集果园环境中果实的图像,并对果实的图像进行预处理和标注,作为原始数据集;
构建SOLO基础网络;
根据果实的识别需求,对SOLO基础网络进行优化,将主干网络替换为ResNeSt网络,得到改进的SOLO网络;
利用所述原始数据集在PyTorch框架下对优化后的SOLO基础网络进行训练和测试,得到所述基于改进SOLO网络的识别模型。
优选的,所述原始数据集的获取包括:
使用图像采集装置采集不同光照、不同时间段、不同角度下果实图像;
对采集的图像进行分辨率缩小预处理,并使用LabelMe软件对果实图像中的果实进行标注,得到所述原始数据集,将所述原始数据集分为训练集、验证集和测试集。
优选的,构建SOLO基础网络包括:
搭建SOLO基础网络,构造类别和实例掩码两个分支;
借助类别分支预测语义类别,将果实图像划分为S×S个网格,对于每个网格,SOLO预测C维输出,C表示类别数,输出空间为S×S×C;若网格落入任何真值掩码的中心区域,将该网格视为正样本;
在语义类别预测的同时,实例掩码分支生成相应的果实图像中果实的实例预测掩码;实例预测掩码的输出维数为H1×W1×S2,H1表示图像的高度,W1表示图像的宽度,S2表示果实图像的S×S个网格的实例预测掩码的个数;在语义类别和与语义类别无关的实例掩码之间,建立一对一的对应关系;
构造SOLO总损失函数:L=Lcate+λLmask;其中,λ表示超参数,Lcate表示类别分支的损失函数Focal Loss,Lmask表示实例掩码分支的损失函数。
优选的,实例掩码分支的损失函数为:
其中,索引i=[k/S],j=kmodS,mod表示取模运算,索引顺序是从上到下,从左往右产生;Npos表示正样本的数量;p*表示网格的语义类别,m*表示网格的实例掩码;∏表示指标函数,如果则为1,否则为0;dmask采用的是Dice Loss函数。
优选的,对SOLO基础网络进行优化包括:
以残差网络ResNet样式堆叠分离注意力块Split-Attention,得到ResNeSt网络;采用ResNeSt网络初步提取到果实图像的图像特征后,连接特征金字塔网络FPN,借助FPN定义不同尺度果实的分配策略,按照尺度将对应的果实最优分配到金字塔层级中。
优选的,采用ResNeSt网络初步提取到果实图像的图像特征包括:
将原始的果实图像进行卷积操作,得到原始输入特征图,将输入特征图沿着通道维度先分成K个基数组,再将每个基数组分为R个特征图小组;
在每个基数组内,对每一个特征图小组进行卷积操作后,R个特征图小组进行分离注意力操作;在分离注意力块内,将R个特征图小组按对应元素相加,施加全局平均池化,得到c(C/K)维的特征向量,表示各个通道的权重;经过BN+ReLU的操作以及后续的softmax操作,对表示各个通道的权重的特征向量进行修正,然后与原始的特征小组相乘后对应元素相加得到一个基数组的输出,即提取到果实图像的图像特征。
优选的,利用所述原始数据集在PyTorch框架下对优化后的SOLO基础网络进行训练和测试,得到所述基于改进SOLO网络的识别模型包括:
利用所述训练集在改进的SOLO网络上训练果实识别模型,利用所述验证集优化所述果实识别模型的网络参数,对果实图像进行监督学习;
利用所述测试集对每个识别模型进行测试,并统计每个识别模型的准确率和召回率,进行性能评价,选取指标最高的识别模型作为最优识别模型。
其中,TP表示真实的正样本数量,FP表示虚假的正样本数量,FN表示虚假的负样本数量。
第二方面,本发明提供一种基于改进SOLO网络的果实识别装置,包括:
图像采集模块,用于获取果园环境中的果树照片;
识别模块,用于将果树照片输入到基于改进SOLO网络的识别模型中,确定所述果树照片中是否有果实;其中,所述基于改进SOLO网络的识别模型为使用多组数据通过机器学习训练得出;所述多组数据中的每组数据均包括:有果实的照片和标识该照片有果实的标注信息。
优选的,所述识别模块包括:
优化单元,用于根据果实的识别需求,对构建的SOLO基础网络进行优化,将主干网络替换为ResNeSt网络,得到改进的SOLO网络;
构建单元,用于利用始数据集在PyTorch框架下对优化后的SOLO基础网络进行训练和测试,得到所述基于改进SOLO网络的识别模型;其中,采集果园环境中果实图像,并对果实图像进行预处理和标注,作为原始数据集。
第三方面,本发明提供一种果实采摘机器人,包括如上所述的基于改进SOLO网络的果实识别装置。
第四方面,本发明提供一种果实采摘机器人,基于如上所述的基于改进SOLO网络的果实识别方法实现果实采摘。
第五方面,本发明提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质包括用于执行如上所述的基于改进SOLO网络的果实识别方法的指令。
第六方面,本发明提供一种电子设备,包括如上所述的非暂态计算机可读存储介质;以及能够执行所述非暂态计算机可读存储介质的所述指令的一个或多个处理器。
第七方面,本发明提供一种电子设备,所述设备包括用于执行如上所述的基于改进SOLO网络的果实识别方法的装置。
本发明有益效果:对果树上的果实实时识别快速稳定,分割精度较高,不需要先检测后分割,所以不依赖检测框;不受限于果实的颜色特征和外形,泛化能力强。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所述的基于改进SOLO网络的果实识别方法的流程图。
图2为本发明实施例所述的采集的原始的果实图像。
图3为本发明实施例所述的对采集的原始的果实图像进行标记后的图像。
图4为本发明实施例所述的改进SOLO网络的结构图。
图5为本发明实施例所述的ResNeSt网络结构图。
图6为本发明实施例所述的分离注意力块(Split-Attention)结构图。
图7为本发明实施例所述的对果树照片进行识别后的分割效果图。
具体实施方式
下面详细叙述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。
还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件和/或它们的组。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
为便于理解本发明,下面结合附图以具体实施例对本发明作进一步解释说明,且具体实施例并不构成对本发明实施例的限定。
本领域技术人员应该理解,附图只是实施例的示意图,附图中的部件并不一定是实施本发明所必须的。
实施例1
本发明实施例1提供一种基于改进SOLO网络的果实识别方法,该方法包括如下步骤:
获取果园环境中的果树照片;
将果树照片输入到基于改进SOLO网络的识别模型中,确定所述果树照片中是否有果实;
其中,所述基于改进SOLO网络的识别模型为使用多组数据通过机器学习训练得出;所述多组数据中的每组数据均包括:有果实的照片和标识该照片有果实的标注信息。
在本实施例1中,基于改进SOLO网络的识别模型的训练包括:
采集果园环境中果实的图像,并对果实的图像进行预处理和标注,作为原始数据集;
构建SOLO基础网络;
根据果实的识别需求,对SOLO基础网络进行优化,将主干网络替换为ResNeSt网络,得到改进的SOLO网络;
利用所述原始数据集在PyTorch框架下对优化后的SOLO基础网络进行训练和测试,得到所述基于改进SOLO网络的识别模型。
所述原始数据集的获取包括:
使用图像采集装置采集不同光照、不同时间段、不同角度下果实图像;
对采集的图像进行分辨率缩小预处理,并使用LabelMe软件对果实图像中的果实进行标注,得到所述原始数据集,将所述原始数据集分为训练集、验证集和测试集。
构建SOLO基础网络包括:
搭建SOLO基础网络,构造类别和实例掩码两个分支;
借助类别分支预测语义类别,将果实图像划分为S×S个网格,对于每个网格,SOLO预测C维输出,C表示类别数,输出空间为S×S×C;若网格落入任何真值掩码的中心区域,将该网格视为正样本;
在语义类别预测的同时,实例掩码分支生成相应的果实图像中果实的实例预测掩码;实例预测掩码的输出维数为H1×W1×S2,H1表示图像的高度,W1表示图像的宽度,S2表示果实图像的S×S个网格的实例预测掩码的个数;在语义类别和与语义类别无关的实例掩码之间,建立一对一的对应关系;
构造SOLO总损失函数:L=Lcate+λLmask;其中,λ表示超参数,Lcate表示类别分支的损失函数Focal Loss,Lmask表示实例掩码分支的损失函数。
实例掩码分支的损失函数为:
其中,索引i=[k/S],j=kmodS,mod表示取模运算,索引顺序是从上到下,从左往右产生;Npos表示正样本的数量;p*表示网格的语义类别,m*表示网格的实例掩码;∏表示指标函数,如果则为1,否则为0;dmask采用的是Dice Loss函数。
对SOLO基础网络进行优化包括:
以残差网络ResNet样式堆叠分离注意力块Split-Attention,得到ResNeSt网络;采用ResNeSt网络初步提取到果实图像的图像特征后,连接特征金字塔网络FPN,借助FPN定义不同尺度果实的分配策略,按照尺度将对应的果实最优分配到金字塔层级中。
采用ResNeSt网络初步提取到果实图像的图像特征包括:
首先,将原始果实图像经过一些列卷积操作得到原始输入特征图,将输入特征图沿着通道维度先分成K个基数组,在这个分组的基础上,再将每组细分为R个小组。因此,最初的输入特征图就被划分为G=KR个特征图小组。在基数组内部,对每一个特征图小组进行1×1和3×3的卷积操作后,R个特征图小组进行分离注意力操作。在分离注意力块内,将R个特征图小组按对应元素相加,此后在其上施加全局平均池化,得到c(C/K)维的特征向量,表示各个通道的权重。其后经过BN+ReLU的操作以及后续的softmax操作,对通道权重向量进行修正,然后与原始的特征小组相乘后对应元素相加得到此基数组的输出。最后,将基数组表示形式沿通道维级联:V=Concat{V1,V2,...,Vk}。与标准残差块中一样,如果输入和输出特征图共享相同的形状,则使用快捷方式连接生成Split-Attention的最终输出Y:Y=V+X。对于具有跨步的块,将适当的变换T应用于快捷连接以对齐输出形状:Y=V+T(X),例如,T可以是跨步卷积或带池组合卷积。
利用所述原始数据集在PyTorch框架下对优化后的SOLO基础网络进行训练和测试,得到所述基于改进SOLO网络的识别模型包括:
利用所述训练集在改进的SOLO网络上训练果实识别模型,利用所述验证集优化所述果实识别模型的网络参数,对果实图像进行监督学习;
利用所述测试集对每个识别模型进行测试,并统计每个识别模型的准确率和召回率,进行性能评价,选取指标最高的识别模型作为最优识别模型。
其中,TP表示真实的正样本数量,FP表示虚假的正样本数量,FN表示虚假的负样本数量。
实施例2
本发明实施例2提供一种基于改进SOLO网络的果实识别装置,该装置包括:图像采集模块,用于获取果园环境中的果树照片;
识别模块,用于将果树照片输入到基于改进SOLO网络的识别模型中,确定所述果树照片中是否有果实;其中,所述基于改进SOLO网络的识别模型为使用多组数据通过机器学习训练得出;所述多组数据中的每组数据均包括:有果实的照片和标识该照片有果实的标注信息。
在本实施例2中,所述识别模块包括:
优化单元,用于根据果实的识别需求,对构建的SOLO基础网络进行优化,将主干网络替换为ResNeSt网络,得到改进的SOLO网络;
构建单元,用于利用始数据集在PyTorch框架下对优化后的SOLO基础网络进行训练和测试,得到所述基于改进SOLO网络的识别模型;其中,采集果园环境中果实图像,并对果实图像进行预处理和标注,作为原始数据集。
如图1所示,在本实施例2中基于上述基于改进SOLO网络的果实识别装置实现果实识别的方法,具体步骤如下:
步骤1:采集绿色果实在果园环境下的图像,并进行预处理和标注,作为原始数据集;
步骤2:构建SOLO基础网络;
步骤3:根据绿色果实分割需求,对基础网络进行更改,将主干网络替换为ResNeSt网络;
步骤4:利用所述原始数据集在PyTorch框架下对优化后的模型进行训练和测试,获取最优分割模型,实现对绿色果实的精准分割。
在本实施例2中,所述步骤1的具体过程为:
步骤1.1:使用佳能EOS 80D单反相机采集不同光照、不同时间段、不同角度下的绿色果实图像,图像分辨率为6000×4000;
步骤1.2:对采集的图像进行预处理和标注,构建原始数据集;
步骤1.3:将所述原始数据集分为训练集、验证集和测试集。
在本实施例2中,所述步骤2的具体过程为:
步骤2.1:构建SOLO基础网络,将它分为类别和实例掩码两个分支;
步骤2.2:借助类别分支预测语义类别,将输入绿色果实图像划分为S×S网格,对于每个网格,SOLO预测C维输出,C表示类别数,输出空间为S×S×C。网格(i,j)落入任何真值掩码的中心区域,将其视为正样本;
步骤2.3:在语义类别预测的同时,实例掩码还并行地生成相应的绿色果实的实例掩码。对于一张输入图像,如果将其划分为S×S网格,则总共最多将有S2个预测掩码。在本实施2中,在3D输出张量的第三维(通道)上显示编码这些预测掩码。具体来说,实例掩码输出的维数是H1×W1×S2。第k个通道负责对网格(i,j)上的实例进行分割,其中,k=i×S+j。在语义类别和与类无关的掩码之间,建立一对一的对应关系;
步骤2.4:构造SOLO方法总的损失函数:
L=Lcate+λLmask;其中,λ表示超参数,本实施例2中λ取3;Lcate表示类别分支的损失函数Focal Loss,它的设计是为了通过减少良好分类样本的损失来缓解样本不平衡问题;Lmask表示实例掩码分支的损失函数如下:
其中,索引i=[k/S],j=kmodS,mod表示取模运算,索引顺序是从上到下,从左往右产生;Npos表示正样本的数量;p*表示网格网格的语义类别,m*表示网格的实例掩码;∏表示指标函数,如果则为1,否则为0;dmask采用的是Dice Loss函数,它将像素视为一个整体对象,可以自动在前景和背景像素之间建立正确的平衡。
在本实施例2中,所述步骤3的具体过程为:
步骤3.1:以残差网络(ResNet)样式堆叠分离注意力块(Split-Attention),得到ResNeSt。
首先,将原始果实图像经过一些列卷积操作得到原始输入特征图,将输入特征图沿着通道维度先分成K个基数组,在这个分组的基础上,再将每组细分为R个小组。因此,最初的输入特征图就被划分为G=KR个特征图小组。在基数组内部,对每一个特征图小组进行1×1和3×3的卷积操作后,R个特征图小组进行分离注意力操作。在分离注意力模块内,将R个特征图小组按对应元素相加,此后在其上施加全局平均池化,得到c(C/K)维的特征向量,表示各个通道的权重。其后经过BN+ReLU的操作以及后续的softmax操作,对通道权重向量进行修正,然后与原始的特征小组相乘后对应元素相加得到此基数组的输出。最后,将基数组表示形式沿通道维级联:V=Concat{V1,V2,...,Vk}。与标准残差块中一样,如果输入和输出特征图共享相同的形状,则使用快捷方式连接生成Split-Attention的最终输出Y:Y=V+X。对于具有跨步的块,将适当的变换T应用于快捷连接以对齐输出形状:Y=V+T(X),例如,T可以是跨步卷积或带池组合卷积。
步骤3.2:采用ResNeSt网络初步提取图像特征后,再接特征金字塔网络(featurepyramid networks,FPN),借助FPN并定义不同尺度的分配策略,按照果实的尺度将其最优分配到金字塔层级中,解决果实分割中的多尺度问题。
在本实施例2中,所述步骤4的具体过程为:
步骤4.1:在所述训练集上训练绿色果实分割模型,利用所述验证集不断优化所述绿色果实分割网络参数,对绿色果实图像进行监督学习。
步骤4.2:利用所述测试集对每个分割模型进行测试,并统计每个分割模型的准确率和召回率,进行性能评价,最终选取指标最高的分割模型作为最优分割模型,实现绿色果实的高效分割。
实施例3
本发明实施例3提供一种基于改进SOLO网络的果实识别方法,具体流程如图1所示。
如图1所示,基于改进SOLO网络的果实识别方法具体流程包括:
1.果实图像获取和数据集制作:
1)如图2所示,选取的绿色果实为青苹果和未成熟柿子(绿色),使用佳能EOS 80D单反相机采集不同光照、不同时间段、不同天气、不同角度下的绿色果实图像,图像分辨率为6000×4000,输出格式为JPG,24位彩色图像。
2)对采集的图像进行预处理,将图像分辨率缩小为600×400,使用LabelMe软件标注,构建数据集。如图3所示。
3)将所述原始数据集分为训练集、验证集和测试集。
2.构建SOLO基础网络:如图4所示。
1)搭建SOLO基础网络,构造类别和实例掩码两个分支;
2)在语义类别过程中,对于每个网格,SOLO都会预测C维输出,用来表示语义类别概率,其中C是类别数,这些概率取决于网格单元。将输入绿色果实图像划分为S×S网格,则输出空间将为S×S×C,如图4改进SOLO网络结构图(顶部)所示。值得注意的是,这里假设S×S网格的每个单元必须属于一个单独的实例,因此仅属于一个语义类别。如果网格(i,j)落入任何地面真值掩模的中心区域,则它被视为正样本,否则它是负样本。SOLO模型提取所有分类分支的预测概率值,并利用阙值进行过滤,获取过滤后剩下的分类位置对应的i,j索引。
3)在语义类别预测的同时,实例掩码还并行地生成相应的绿色果实的实例掩码。对于一张输入图像,如果将其划分为S×S网格,则总共最多将有S2个预测掩码。我们在3D输出张量的第三维(通道)上显示编码这些掩码。具体来说,实例掩码输出的维数是H1+W1+S2。第k个通道负责对网格(i,j)上的实例进行分割,其中,k=i×S+j。在语义类别和与类无关的掩码之间,建立一对一的对应关系;在此基础上,可以直接形成每个网格的最终实例分割结果。原始分割结果就是通过收集所有网格结果生成的。然而,每个网格只激活一个实例,多个相邻掩码通道可以预测一个实例。在推理过程中,首先利用阙值对得到掩码进行筛选,然后使用非最大值抑制(NMS)来抑制这些冗余的掩码,得到最终的绿色果实分割结果。
4)构造SOLO方法总的损失函数:L=Lcate+λLmask;其中,λ是超参数,取3;类别分支使用的是Focal Loss,它的设计是为了通过减少良好分类样本的损失来缓解样本不平衡问题;
而掩码分支损失函数为:其中,索引i=[k/S],j=kmodS,mod表示取模运算,索引顺序是从上到下,从左往右产生;Npos表示正样本的数量;p*表示网格网格的语义类别,m*表示网格的实例掩码;∏表示指标函数,如果则为1,否则为0;dmask采用的是Dice Loss函数,它将像素视为一个整体对象,可以自动在前景和背景像素之间建立正确的平衡。
3.根据绿色果实分割需求,对基础网络进行更改,将主干网络替换为ResNeSt网络:
1)如图6所示,以残差网络(ResNet)样式堆叠分离注意力块(Split-Attention),得到ResNeSt网络,如图5所示;
2)首先,将输入特征图沿着通道维度先分成K个基数组,在这个分组的基础上,再将每组细分为R个小组。因此,最初的输入特征图就被划分为G=KR个特征图小组;
3)在基数组内部,对每一个特征图小组进行1×1和3×3的卷积操作后,得到R个特征图小组后进行分离注意力操作。在分离注意力模块内,将R个特征图小组按对应元素相加,此后在其上施加全局平均池化,得到c(C/K)维的特征向量,表示各个通道的权重。其后经过BN+ReLU的操作以及后续的softmax操作,对通道权重向量进行修正,然后与原始的特征小组相乘后对应元素相加得到此基数组的输出,提取到图像特征。
4)最后,将基数组表示形式沿通道维级联:V=Concat{V1,V2,...,Vk}。与标准残差块中一样,如果输入和输出特征图共享相同的形状,则使用快捷方式连接生成Split-Attention的最终输出Y:Y=V+X。对于具有跨步的块,将适当的变换T应用于快捷连接以对齐输出形状:Y=V+T(X),例如,T可以是跨步卷积或带池组合卷积。
5)采用ResNeSt网络初步提取图像特征后,再接特征金字塔网络(featurepyramid networks,FPN),借助FPN并定义不同尺度的分配策略,按照果实的尺度将其最优分配到金字塔层级中,增强网络对不同尺度范围内目标果实的识别效果。
4.利用所述原始数据集在PyTorch框架下对优化后的模型进行训练和测试,获取最优分割模型,实现对绿色果实的精准分割:
1)在所述训练集上训练绿色果实分割模型,利用所述验证集不断优化所述绿色果实分割网络参数,对绿色果实图像进行监督学习;
2)利用所述测试集对每个分割模型进行测试,并统计每个分割模型的准确率和召回率,进行性能评价,最终选取指标最高的分割模型作为最优分割模型,实现绿色果实的高效分割。如图7所示。
实施例4
本发明实施例4提供一种果实采摘机器人,该采摘机器人包括一种基于改进SOLO网络的果实识别装置。该装置实现了基于改进SOLO网络的果实识别方法。所述识别方法包括:
获取果园环境中的果树照片;
将果树照片输入到基于改进SOLO网络的识别模型中,确定所述果树照片中是否有果实;
其中,所述基于改进SOLO网络的识别模型为使用多组数据通过机器学习训练得出;所述多组数据中的每组数据均包括:有果实的照片和标识该照片有果实的标注信息。
实施例5
本发明实施例5提供一种果实采摘机器人,该采摘机器人基于一种基于改进SOLO网络的果实识别方法实现果实采摘。
实施例6
本发明实施例6提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质包括用于执行基于改进SOLO网络的果实识别方法的指令。
实施例7
本发明实施例7提供一种电子设备,该电子设备包括一种非暂态计算机可读存储介质;以及能够执行所述非暂态计算机可读存储介质的所述指令的一个或多个处理器。所述非暂态计算机可读存储介质包括用于执行基于改进SOLO网络的果实识别方法的指令。
实施例8
本发明实施例8提供一种电子设备,所述设备包括用于执行基于改进SOLO网络的果实识别方法的装置。
综上所述,本发明实施例提供的基于改进SOLO网络的果实识别方法、装置及果实采摘机器人。采集绿色果实在果园环境下的图像,并进行预处理和标注,作为原始数据集;构建SOLO基础网络;根据绿色果实分割需求,对基础网络进行更改,将主干网络替换为ResNeSt网络;利用所述原始数据集在PyTorch框架下对优化后的模型进行训练和测试,获取最优分割模型,实现对绿色果实的精准分割。该方法简单、灵活,具有很好的应用前景。基于SOLO的绿色果实高效分割方法,解决采摘机器人的视觉系统果实分割效率较差的问题。其方法简单、实践速度快,能够得到相对精准的分割结果,适用于采摘机器人的实时作业。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
上述虽然结合附图对本公开的具体实施方式进行了描述,但并非对本公开保护范围的限制,所属领域技术人员应该明白,在本发明公开的技术方案的基础上,本领域技术人员在不需要付出创造性劳动即可做出的各种修改或变形,都应涵盖在本发明的保护范围之内。
Claims (9)
1.一种基于改进SOLO网络的果实识别方法,其特征在于,包括:
获取果园环境中的果树照片;
将果树照片输入到基于改进SOLO网络的识别模型中,确定所述果树照片中是否有果实;
其中,所述基于改进SOLO网络的识别模型为使用多组数据通过机器学习训练得出;所述多组数据中的每组数据均包括:有果实的照片和标识该照片有果实的标注信息;
原始数据集的获取包括:
使用图像采集装置采集不同光照、不同时间段、不同角度下果实图像;
对采集的图像进行分辨率缩小预处理,并使用LabelMe软件对果实图像中的果实进行标注,得到所述原始数据集,将所述原始数据集分为训练集、验证集和测试集;
对SOLO基础网络进行优化包括:
以残差网络ResNet样式堆叠分离注意力块Split-Attention,得到ResNeSt网络;采用ResNeSt网络初步提取到果实图像的图像特征后,连接特征金字塔网络FPN,借助FPN定义不同尺度果实的分配策略,按照尺度将对应的果实最优分配到金字塔层级中;
对果树上的果实进行实时识别,不需要先检测后分割,不受限于果实的颜色特征和外形。
2.根据权利要求1所述的基于改进SOLO网络的果实识别方法,其特征在于,基于改进SOLO网络的识别模型的训练包括:
采集果园环境中果实的图像,并对果实的图像进行预处理和标注,作为原始数据集;
构建SOLO基础网络;
根据果实的识别需求,对SOLO基础网络进行优化,将主干网络替换为ResNeSt网络,得到改进的SOLO网络;
利用所述原始数据集在PyTorch框架下对优化后的SOLO基础网络进行训练和测试,得到所述基于改进SOLO网络的识别模型。
3.根据权利要求2所述的基于改进SOLO网络的果实识别方法,其特征在于,构建SOLO基础网络包括:
搭建SOLO基础网络,构造类别和实例掩码两个分支;
借助类别分支预测语义类别,将果实图像划分为S×S个网格,对于每个网格,SOLO预测C维输出,C表示类别数,输出空间为S×S×C;若网格落入任何真值掩码的中心区域,将该网格视为正样本;
在语义类别预测的同时,实例掩码分支生成相应的果实图像中果实的实例预测掩码;实例预测掩码的输出维数为H1×W1×S2,H1表示图像的高度,W1表示图像的宽度,S2表示果实图像的S×S个网格的实例预测掩码的个数;在语义类别和与语义类别无关的实例掩码之间,建立一对一的对应关系;
构造SOLO总损失函数:L=Lcate+λLmask;其中,λ表示超参数,Lcate表示类别分支的损失函数Focal Loss,Lmask表示实例掩码分支的损失函数;
实例掩码分支的损失函数为:
4.根据权利要求1所述的基于改进SOLO网络的果实识别方法,其特征在于,采用ResNeSt网络初步提取到果实图像的图像特征包括:
将原始的果实图像进行卷积操作,得到原始输入特征图,将输入特征图沿着通道维度先分成K个基数组,再将每个基数组分为R个特征图小组;
在每个基数组内,对每一个特征图小组进行卷积操作后,R个特征图小组进行分离注意力操作;在分离注意力块内,将R个特征图小组按对应元素相加后,施加全局平均池化,得到c(C/K)维的特征向量,表示各个通道的权重;经过BN+ReLU的操作以及后续的softmax操作,对表示各个通道的权重的特征向量进行修正,然后与原始的特征小组相乘后对应元素相加得到一个基数组的输出,即提取到果实图像的图像特征。
5.根据权利要求1所述的基于改进SOLO网络的果实识别方法,其特征在于,利用所述原始数据集在PyTorch框架下对优化后的SOLO基础网络进行训练和测试,得到所述基于改进SOLO网络的识别模型包括:
利用所述训练集在改进的SOLO网络上训练果实识别模型,利用所述验证集优化所述果实识别模型的网络参数,对果实图像进行监督学习;
利用所述测试集对每个识别模型进行测试,并统计每个识别模型的准确率和召回率,进行性能评价,选取指标最高的识别模型作为最优识别模型。
6.一种基于改进SOLO网络的果实识别装置,其特征在于,包括:
图像采集模块,用于获取果园环境中的果树照片;
识别模块,用于将果树照片输入到基于改进SOLO网络的识别模型中,确定所述果树照片中是否有果实;其中,所述基于改进SOLO网络的识别模型为使用多组数据通过机器学习训练得出;所述多组数据中的每组数据均包括:有果实的照片和标识该照片有果实的标注信息;
原始数据集的获取包括:
使用图像采集装置采集不同光照、不同时间段、不同角度下果实图像;
对采集的图像进行分辨率缩小预处理,并使用LabelMe软件对果实图像中的果实进行标注,得到所述原始数据集,将所述原始数据集分为训练集、验证集和测试集;
对SOLO基础网络进行优化包括:
以残差网络ResNet样式堆叠分离注意力块Split-Attention,得到ResNeSt网络;采用ResNeSt网络初步提取到果实图像的图像特征后,连接特征金字塔网络FPN,借助FPN定义不同尺度果实的分配策略,按照尺度将对应的果实最优分配到金字塔层级中;
对果树上的果实进行实时识别,不需要先检测后分割,不受限于果实的颜色特征和外形。
7.根据权利要求6所述的基于改进SOLO网络的果实识别装置,其特征在于,所述识别模块包括:
优化单元,用于根据果实的识别需求,对构建的SOLO基础网络进行优化,将主干网络替换为ResNeSt网络,得到改进的SOLO网络;
构建单元,用于利用始数据集在PyTorch框架下对优化后的SOLO基础网络进行训练和测试,得到所述基于改进SOLO网络的识别模型;其中,采集果园环境中果实图像,并对果实图像进行预处理和标注,作为原始数据集。
8.一种果实采摘机器人,其特征在于:包括如权利要求6或7所述的基于改进SOLO网络的果实识别装置。
9.一种果实采摘机器人,其特征在于,基于如权利要求1-5任一项所述的基于改进SOLO网络的果实识别方法实现果实采摘。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011430598.XA CN112711985B (zh) | 2020-12-09 | 2020-12-09 | 基于改进solo网络的果实识别方法、装置及机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011430598.XA CN112711985B (zh) | 2020-12-09 | 2020-12-09 | 基于改进solo网络的果实识别方法、装置及机器人 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112711985A CN112711985A (zh) | 2021-04-27 |
CN112711985B true CN112711985B (zh) | 2023-04-18 |
Family
ID=75542816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011430598.XA Active CN112711985B (zh) | 2020-12-09 | 2020-12-09 | 基于改进solo网络的果实识别方法、装置及机器人 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112711985B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113284093A (zh) * | 2021-04-29 | 2021-08-20 | 安徽省皖北煤电集团有限责任公司 | 一种基于改进D-LinkNet的卫星影像云检测方法 |
CN114627086B (zh) * | 2022-03-18 | 2023-04-28 | 江苏省特种设备安全监督检验研究院 | 一种基于特征金字塔网络的起重机表面损伤检测方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110619632A (zh) * | 2019-09-18 | 2019-12-27 | 华南农业大学 | 一种基于Mask R-CNN的芒果实例对抗分割方法 |
CN111652326A (zh) * | 2020-06-30 | 2020-09-11 | 华南农业大学 | 基于MobileNet v2网络改进的果实成熟度识别方法和识别系统 |
CN111860514A (zh) * | 2020-05-21 | 2020-10-30 | 江苏大学 | 一种基于改进DeepLab的果园场景多类别实时分割方法 |
-
2020
- 2020-12-09 CN CN202011430598.XA patent/CN112711985B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110619632A (zh) * | 2019-09-18 | 2019-12-27 | 华南农业大学 | 一种基于Mask R-CNN的芒果实例对抗分割方法 |
CN111860514A (zh) * | 2020-05-21 | 2020-10-30 | 江苏大学 | 一种基于改进DeepLab的果园场景多类别实时分割方法 |
CN111652326A (zh) * | 2020-06-30 | 2020-09-11 | 华南农业大学 | 基于MobileNet v2网络改进的果实成熟度识别方法和识别系统 |
Non-Patent Citations (3)
Title |
---|
"ResNeSt: Split-Attention Networks";Hang Zhang et al.;《arXiv》;20200419;第1-22页 * |
"SOLO: Segmenting Objects by Locations";Xinlong Wang et al.;《arXiv》;20200719;第1-19页 * |
"基于改进Mask RCNN的复杂环境下苹果检测研究";岳有军等;《中国农机化学报》;20191030;第40卷(第10期);第128-134页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112711985A (zh) | 2021-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107563381B (zh) | 基于全卷积网络的多特征融合的目标检测方法 | |
CN107016405B (zh) | 一种基于分级预测卷积神经网络的害虫图像分类方法 | |
CN112711985B (zh) | 基于改进solo网络的果实识别方法、装置及机器人 | |
CN111612051A (zh) | 一种基于图卷积神经网络的弱监督目标检测方法 | |
CN109871892A (zh) | 一种基于小样本度量学习的机器人视觉认知系统 | |
CN108510058A (zh) | 神经网络中的权重存储方法以及基于该方法的处理器 | |
CN114092487A (zh) | 目标果实实例分割方法及系统 | |
CN111695640B (zh) | 地基云图识别模型训练方法及地基云图识别方法 | |
CN114708231A (zh) | 一种基于轻量化YOLO v5的甘蔗蚜虫目标检测方法 | |
CN109472801A (zh) | 一种用于多尺度的神经形态检测和分割方法 | |
CN110442143A (zh) | 一种基于组合多目标鸽群优化的无人机态势数据聚类方法 | |
CN115359353A (zh) | 一种花卉识别分类方法及装置 | |
CN113435254A (zh) | 一种基于哨兵二号影像的耕地深度学习提取方法 | |
Tang et al. | Pest-YOLO: Deep image mining and multi-feature fusion for real-time agriculture pest detection | |
CN113902901B (zh) | 一种基于轻量化检测的物体分离方法与系统 | |
CN112597919A (zh) | 基于YOLOv3剪枝网络和嵌入式开发板的实时药盒检测方法 | |
Zhang et al. | Recognition and detection of wolfberry in the natural background based on improved YOLOv5 network | |
Ma et al. | Using an improved lightweight YOLOv8 model for real-time detection of multi-stage apple fruit in complex orchard environments | |
CN111047654A (zh) | 一种基于色彩信息的高清高速视频背景建模方法 | |
CN113902904B (zh) | 一种轻量化网络架构系统 | |
Liu et al. | Real-Time object detection in UAV vision based on neural processing units | |
CN113902971A (zh) | 基于多尺度融合轻量化深度学习卷积网络的目标检测方法 | |
CN112163550A (zh) | 基于深度神经网络自动学习的遥感影像场景分类方法 | |
CN110826647A (zh) | 一种电力设备异物外观自动检测方法及系统 | |
CN112488015B (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 |