CN114387520B - 一种用于机器人采摘的密集李子精准检测方法及其*** - Google Patents
一种用于机器人采摘的密集李子精准检测方法及其*** Download PDFInfo
- Publication number
- CN114387520B CN114387520B CN202210042666.8A CN202210042666A CN114387520B CN 114387520 B CN114387520 B CN 114387520B CN 202210042666 A CN202210042666 A CN 202210042666A CN 114387520 B CN114387520 B CN 114387520B
- Authority
- CN
- China
- Prior art keywords
- image
- data
- training set
- training
- target detection
- 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
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000012549 training Methods 0.000 claims abstract description 136
- 238000001514 detection method Methods 0.000 claims abstract description 102
- 235000013399 edible fruits Nutrition 0.000 claims abstract description 82
- 238000012545 processing Methods 0.000 claims abstract description 39
- 238000002372 labelling Methods 0.000 claims abstract description 23
- 235000021018 plums Nutrition 0.000 claims abstract description 22
- 239000002420 orchard Substances 0.000 claims abstract description 19
- 238000012360 testing method Methods 0.000 claims abstract description 15
- 230000004345 fruit ripening Effects 0.000 claims abstract description 9
- 238000007689 inspection Methods 0.000 claims abstract 2
- 238000012795 verification Methods 0.000 claims description 16
- 230000004927 fusion Effects 0.000 claims description 11
- 230000006872 improvement Effects 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000000605 extraction Methods 0.000 claims description 7
- 230000003321 amplification Effects 0.000 claims description 6
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 6
- 238000011156 evaluation Methods 0.000 claims description 5
- 238000013441 quality evaluation Methods 0.000 claims description 5
- 239000003086 colorant Substances 0.000 claims description 4
- 238000013138 pruning Methods 0.000 claims description 4
- 235000002566 Capsicum Nutrition 0.000 claims description 3
- 239000006002 Pepper Substances 0.000 claims description 3
- 235000016761 Piper aduncum Nutrition 0.000 claims description 3
- 235000017804 Piper guineense Nutrition 0.000 claims description 3
- 244000203593 Piper nigrum Species 0.000 claims description 3
- 235000008184 Piper nigrum Nutrition 0.000 claims description 3
- 230000000903 blocking effect Effects 0.000 claims description 3
- 238000005520 cutting process Methods 0.000 claims description 3
- 230000036544 posture Effects 0.000 claims description 3
- 150000003839 salts Chemical class 0.000 claims description 3
- 238000013136 deep learning model Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000013526 transfer learning Methods 0.000 description 2
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 1
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 235000004936 Bromus mango Nutrition 0.000 description 1
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 244000141359 Malus pumila Species 0.000 description 1
- 240000007228 Mangifera indica Species 0.000 description 1
- 235000014826 Mangifera indica Nutrition 0.000 description 1
- 235000009184 Spondias indica Nutrition 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 238000000137 annealing Methods 0.000 description 1
- 235000021016 apples Nutrition 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000035484 reaction time Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000011179 visual inspection Methods 0.000 description 1
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/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification 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
-
- 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
-
- 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/047—Probabilistic or stochastic 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
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Probability & Statistics with Applications (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种用于机器人采摘的密集李子精准检测方法及其***,包括以下步骤:通过图像采集设备采集果园果实的图像;进行检查处理得到符合要求的目标检测图像;对目标检测图像进行不同成熟度果实的数据标注,获取标注图像;将标注图像按比例划分训练集和测试集,获取训练集中成熟比例果实个数;根据训练集中果实成熟比例判定是否需要数据平衡处理;将平衡训练集数据进行数据增强处理;对目标检测模型进行改进;通过改进目标检测模型对数据增强训练集进行训练和预测,得到检测结果;本发明将深度学***台,为果园的产量估测和采摘机器人的研究提供技术支撑。
Description
技术领域
本发明涉及农业机器人的研究领域,特别涉及一种用于机器人采摘的密集李子精准检测方法及其***。
背景技术
与苹果、柑橘、芒果等果实相比,李子果型小且密集分布,易被果实或枝叶遮挡。李子树多数被种植在山坡上,其果实的生长环境充满复杂性和不确定性的。在目前李子果园中,李子的成熟度识别与采摘任务都是由果农完成。而如今人工成本涨幅很大,人工成本在总成本的占比也在加大。据调查2019年人力成本涨幅高达12-15%。在精准农业中,劳动力短缺和老龄化对于水果产业的发展增添了阻力。综上所述,密集李子采摘机械化、智能化是整个水果产业发展中不可或缺的一环。
在现代精准果园中,由于复杂噪音的干扰,包括风干扰、变化的光照和枝叶遮挡,小目标水果的识别被认为更具挑战性,许多研究人员更喜欢检测大目标水果。虽然相关学者在李子的检测方面做了研究工作,但李子本身簇状生长和不同成熟度混杂的特点,更加大了小目标的检测难度,导致了现有算法在李子检测过程中表现出不佳的性能。到目前为止,尚没有关于在自然环境中检测密集李子的深度学习方法的研究,致使水果采摘机器人在果园中可利用的技术资源是受限的。因此,从实际出发探索出一种高效、准确的李子识别算法是非常有意义的。
发明内容
本发明的主要目的在于克服现有技术的缺点与不足,提供一种用于机器人采摘的密集李子精准检测方法及其***,实现对密集李子目标果实的快速准确地检测,解决实际果园的需求。
本发明的第一目的在于提供一种用于机器人采摘的密集李子精准检测方法;
本发明的第二目的在于提供一种用于机器人采摘的密集李子精准检测***;
本发明的第一目的通过以下的技术方案实现:
一种用于机器人采摘的密集李子精准检测方法,包括以下步骤:
通过图像采集设备采集果园果实的图像;
对采集图像进行检查处理,得到符合要求的目标检测图像;
通过数据标注工具对目标检测图像进行数据标注,获取不同成熟度的标注图像;
将标注图像按比例划分训练集,获取训练集中成熟果实个数和未成熟果实个数;
根据训练集中果实成熟比例判断是否进行数据平衡处理,数据平衡处理后得到平衡训练集;
将平衡训练集数据集进行数据增强处理,得到数据增强训练集;
对目标检测模型进行改进,得到改进目标检测模型;
通过改进目标检测模型对数据增强训练集进行训练和预测,得到检测结果。
进一步地,所述通过图像采集设备采集果园果实的图像,具体为:通过高清晰移动采集设备进行不同方向不同距离地图像采集,获得不同颜色、不同姿态、不同大小、不同背景、不同密集遮挡的RGB图像。
进一步地,所述对采集图像进行检查处理,得到符合要求的目标检测图像,具体为:对采集的图像数据进行质量评估,质量评估包括图像的清晰度、背景复杂度,删除模糊图像、未包含果实图像、背景复杂图像,评估合格的图像保留为目标检测图像。
进一步地,所述通过数据标注工具对目标检测图像进行数据标注,获取不同成熟度的标注图像,具体为:通过图像注释工具对目标检测图像采用划分成熟度的方式进行数据标注,包含成熟果实和未成熟果实两个标注类别;对完全裸露的果实进行外切矩形框的方式标注,对遮挡和粘连的果实标注其图像裸露部分,对图像边界出现部分果实和遮挡程度小于K的果实不作标注处理,这里 K为10%。
进一步地,将标注图像按比例划分训练集,获取训练集中成熟果实个数和未成熟果实个数,具体为:将标注图像按8∶2比例划分训练集和预测集;所述训练集包含验证集,训练集和验证集比例为9∶1;通过计算法获取训练集中果实个数;所述数据标注是根据果园中果实颜色划分不同成熟度,李子果实颜色红色部分占比大于0.5被划分为成熟李子,反之为未成熟李子。
进一步地,训练集与测试集的比例一般为8:2数据标注是根据果园中果实颜色划分不同成熟度的,数据标注是真实的数据,是地面验证数据,用于后期评估改进模型输出的IOU大小,其中IOU是指:测试结果与真实结果标注框的重合程度;训练集与验证集的比例一般为9:1,可以自行在代码中修改,这里用的就是9:1,验证集与训练集一起用在模型训练过程中的;
进一步地,所述根据训练集中果实成熟比例进行数据平衡处理,得到平衡训练集,具体为:若训练集中成熟果实和不成熟果实比例大于等于1,则不进行数据平衡处理,若训练集中成熟果实和不成熟果实比例小于1,则进行数据平衡处理,数据平衡处理如下:
S601、假设有数据集s=[M1,M2,...,Mi][N1,N2,...,Nj]T,其中Mi表示数据集样本的种类,Nj表示每一种样本的数量;
S602、比较该数据集中所有类的样本数量值MiNj,找出所有类中最大值 MiNjmax;
S603、使用MiNjmax依次除以剩余类的样本数量值MiNj,得到除数C;
S604、选择一种数据量扩增方式,根据除数C对剩余类进行数据量扩增,使得所有类别样本数量向最大值方向扩增,得到MiN′j,最终使各类别数量的比值接近于1;
S605、最终输出得到扩增后的数据集T=[M1,M2,...,Mi][N′1,N′2,...,N′jmax]T。
进一步地,所述将平衡训练集数据集进行数据增强处理,得到数据增强训练集,具体为:利用随机组合方式对训练集进行离线数据增强处理,包含高斯模糊、随机旋转、随机裁掉图像部分区域、直方图均衡化、随机亮度调整、椒盐噪声。
进一步地,为了增强数据的多样性,数据增强做的随机组合方式是任意两种方式进行组合,随机组合的目的是模拟在真实果园中数据获取的图像。
进一步地,所述对目标检测模型进行改进,得到改进目标检测模型,具体为:
以YOLOv4为改进目标检测模型的基础,改进目标检测模型;
S801、使用MobilenetV3代替CSPDarknet53作为骨干特征提取网络,并在特征融合阶段使用深度可分离卷积取代标准卷积;
S802、构建多尺度融合的网络结构;
S803、对来自特征金字塔网络特征融合后输出的4个特征层进行剪枝操作;
S804、改进损失函数;使用Focal Loss替代原有YOLOv4损失函数中的BCE Loss,与CIOU loss形成联合损失函数平衡难分类样本和易分类样本对总损失的贡献度,其计算公式为:
其中,y为样本标签数量;pt表示属于李子类别的概率;at为平衡正负样本权重的系数,0<at<1;γ为难易样本的调制参数,(1-pt)γ被用来调节难易样本的权重。
进一步地,所述通过改进目标检测模型对数据增强训练集进行训练和预测,得到检测结果,具体为:
S901、运行train.py开始训练训练集;
S902、模型训练完毕后,运行test.py检测模型的性能;
S903、得到模型的检测结果指标,所述指标包括平均准确度均值、计算某一类别的平均准确度。
一种用于机器人采摘的密集李子精准检测***,其特征在于,包括:
图像采集设备,用于采集果园果实的图像;
图像处理模块,用于对采集图像进行检查处理,得到符合要求的目标检测图像;
数据标注模块,用于对目标检测图像进行数据标注,获取标注图像;
标注划分模块,用于将标注图像按比例划分训练集和测试集,获取训练集中熟果实个数和未成熟果实个数;
平衡处理模块,根据训练集中果实成熟比例进行数据平衡处理,得到平衡训练集;
数据增强模块,将平衡训练集数据集进行数据增强处理,得到数据增强训练集;
模型改进模块,对目标检测模型进行改进,得到改进目标检测模型;
模型训练和预测模块,通过改进目标检测模型对数据增强训练集进行训练和预测,得到检测结果;
检测结果输出模块,用于输出检测结果。
本发明与现有技术相比,具有如下优点和有益效果:
本发明根据李子果实的生长特性,提出了一种用于机器人采摘的密集李子精准检测方法。在数据集制作方面,本发明考虑到了不同类别数据量悬殊和密集数据集的问题,使用了基于类别平衡的数据增强方法;在模型改进方面,以 YOLOv4为研究基础,使用MobilenetV3作为骨干特征提取网络,同时在特征融合阶段使用深度可分离卷积来提升模型的准确度和轻量化。为解决模型对密集目标特征提取不足问题,本发明引入152×152尺寸的特征层以实现细粒度检测;同时使用Focal loss与CIOU loss的联合损失函数平衡难分类样本和易分类样本对总损失的贡献度。最后再通过不同阶段的迁移学习来训练改进的模型。进一步地,该方法可为后续果园的产量估测和李子采摘机器人研究的提供技术支撑
附图说明
图1是本发明所述一种用于机器人采摘的密集李子精准检测方法流程图;
图2是本发明所述实施例1中用于机器人采摘的李子检测模型图;
图3是本发明所述一种用于机器人采摘的密集李子精准检测***结构框图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例1:
一种用于机器人采摘的密集李子精准检测方法,如图1所示,包括以下步骤:
通过图像采集设备采集果园果实的图像;
对采集图像进行检查处理,得到符合要求的目标检测图像;
通过数据标注工具对目标检测图像进行数据标注,获取不同成熟度的标注图像;
将标注图像按比例划分训练集,获取训练集中成熟果实个数和未成熟果实个数;
根据训练集中果实成熟比例判断是否进行数据平衡处理,数据平衡处理后得到平衡训练集;
将平衡训练集数据集进行数据增强处理,得到数据增强训练集;
对目标检测模型进行改进,得到改进目标检测模型;
通过改进目标检测模型对数据增强训练集进行训练和预测,得到检测结果。
具体如下:
第一步,使用4000万像素的智能手机作为采集设备,设置拍摄分辨率为 3840×2160,曝光参数为自动,对焦模式为自动对焦。为了尽可能多地采集自然环境中下李子的果实信息,实验者模拟采摘机器人的操作过程,手持采集设备不断地变换拍摄角度和拍摄距离,以期望能采集到不同颜色、姿态、大小、背景及密集遮挡等情况的RGB图像。
对于采集到的李子图像,其像素为3968×2976,然而过高的像素会导致难以训练和处理。采取双三次缩放算法将图片像素缩放至1920×1440。
第二步,使用目测法对采集的图像数据进行质量评估,删除由于相机抖动造成的模糊图像、未包含目标果实的图像和背景复杂的图像,评估合格的图像保留为目标检测图像,评估不合格的图像删除,即删除掉模糊图像、不包含李子的图像和背景过于复杂的图像。
背景复杂判断:使用log边缘检测算子对图像进行计算,再使用Ostu算法对计算得到的图像进行自动阈值分割,最后统计像素点值为255的像素点数量占总图像的百分比,当大于设定的百分比阈值时,即认为当前图像背景复杂。
对于本采集的李子数据,通过多次实验,设定百分比阈值为20%;当大于 20%时,图像背景复杂,模型训练花费的时间和算力就很大,在对图像进行预测时,检测时间也会增加,对于后期部署在采摘平台上机械臂反应的时间就很长,而这与向往和追求的实时采摘是相悖的;当小于20%时,图像正常。
第三步、使用LabelImg作为图像注释工具,对完全裸露的李子进行外切矩形框的方式标注,对于遮挡或粘连的李子只标注裸露于图像的部分,对在图像边界出现部分李子或遮挡程度小于10%的李子时不作标注处理。保存标注信息的格式为PASCAL VOC。为了识别不同成熟度的李子果实,在标注过程中人工判断成熟度并标记为成熟(plum)与未成熟(raw_plum)两个类别李子。
第四步、按照8:2的比例将数据集划分为训练集(包含验证集)与测试集;使用计数算法获得训练集中成熟果实与未成熟果实的个数。
具体为:将标注图像按比例划分训练集,获取训练集中成熟果实个数和未成熟果实个数,具体为:将标注图像按8∶2比例划分训练集和预测集;所述训练集包含验证集,训练集和验证集比例为9∶1;通过计算法获取训练集中果实个数;所述数据标注是根据果园中果实颜色划分不同成熟度,李子果实颜色红色部分占比大于0.5被划分为成熟李子,反之为未成熟李子。
进一步地,训练集与测试集的比例一般为8:2数据标注是根据果园中果实颜色划分不同成熟度的,数据标注是真实的数据,是地面验证数据,用于后期评估改进模型输出的IOU大小,其中IOU是指:测试结果与真实结果标注框的重合程度;训练集与验证集的比例一般为9:1,即验证集在训练集中占比10%,可以自行在代码中修改,这里用的就是9:1,验证集与训练集一起用在模型训练过程中的;
第五步、根据成熟与否的李子个数比例判定训练集是否需要数据平衡操作。本实施例中成熟李子与未成熟李子数量比例为2.2:1,需要进行数据平衡操作。
数据平衡处理如下:
S601、假设有数据集s=[M1,M2,...,Mi][N1,N2,...,Nj]T,其中Mi表示数据集样本的种类,Nj表示每一种样本的数量;
S602、比较该数据集中所有类的样本数量值MiNj,找出所有类中最大值 MiNjmax;
S603、使用MiNjmax依次除以剩余类的样本数量值MiNj,得到除数C;
S604、选择一种数据量扩增方式,根据除数C对剩余类进行数据量扩增,使得所有类别样本数量向最大值方向扩增,得到MiN′j,最终使各类别数量的比值接近于1;
S605、最终输出得到扩增后的数据集T=[M1,M2,...,Mi][N′1,N′2,...,N′jmax]T。
第六步、本实施例中所用图像数据为1890张李子图像。为防止训练数据量过少造成的过拟合或不收敛现象,需要对训练数据增强以提高检测模型的鲁棒性。在第五步的基础上,训练集中不同成熟度李子数量相近,趋近于1。
所述数据增强处理如下:利用随机组合方式对训练集进行离线数据增强处理,包含高斯模糊、随机旋转、随机裁掉图像部分区域、直方图均衡化、随机亮度调整、椒盐噪声;为了增强数据的多样性,数据增强做的随机组合方式是两种。
第七步、使用改进目标检测模型进行训练。
以YOLOv4为改进目标检测模型的基础,改进目标检测模型,如图2所示;
S801、使用MobilenetV3代替CSPDarknet53作为骨干特征提取网络,并在特征融合阶段使用深度可分离卷积取代标准卷积;改进后的网络结构,其中, Conv表示卷积,DSC表示深度可分离卷积,CBL与CBH表示卷积加批量正则加LekeyReLU或h-swish激活函数的合成模块,Bneck表示块,BneckSE表示带有SE结构的Bneck,Concat表示堆叠,upSampling表示上采样。
S802、构建多尺度融合的网络结构;从主干网络MobileNetV3中输出四个特征层,分别是P1(152×152)、P2(76×76)、P3(38×38)和P4(19×19)。其中, P4特征层的感受野最大,适合大尺寸的目标检测,P3特征层的感受野适合中等尺寸的目标检测,对P2进行上采样,将其与P1特征层融合后可获得较为丰富的浅层信息,从而实现对小目标物体细粒度的检测。在特征传播过程中19×19 尺度特征层仍然经过空间金字塔池化(SPP)结构得到特征层P4。将特征层P4、 P3、P2和P1在FPN结构中通过上采样进行不同金字塔级别的特征图结合,每一个特征层经过卷积和上采样变换,获得与上一个特征层相同的尺度和通道数量,然后经过与上一个特征层堆叠融合可获得信息更加丰富的特征图。
S803、对来自特征金字塔网络特征融合后输出的4个特征层进行剪枝操作;为防止网络过于冗余,对来自FPN特征融合后输出的4个特征层进行剪枝操作。具体操作为将FPN输出的152×152尺度特征层不再进行YOLO Head的预测输出,直接在路径聚合网络(PANet)结构中上采样,因此改进算法也保持三个尺度的预测输出头,即P2'(76×76)、P3'(38×38)、P4'(19×19)。
S804、改进损失函数;由于李子果实体型较小,并且在图像中占据的像素点较少的缘故,当一张图像中同时存在单个、遮挡和密集堆叠的李子果实时,模型会自动关注并训练单个或易识别的简单样本,忽视粘连等难分类的样本。因此寻找合适的损失函数去平衡难分类和易分类样本对总损失的贡献度是很有必要的。而Focal loss函数的作用是在不影响原检测速度的情况下,在训练过程中将一些注意力转移到难分类的样本上;使用FocalLoss替代原有YOLOv4损失函数中的BCE Loss,与CIOU loss形成联合损失函数平衡难分类样本和易分类样本对总损失的贡献度;其计算公式为:
其中,y为样本标签数量;pt表示属于李子类别的概率;at为平衡正负样本权重的系数,0<at<1;γ为难易样本的调制参数,(1-pt)γ被用来调节难易样本的权重。
进一步地,使用改进后的检测模型训练制作好的训练集,并用在测试集上进行预测。具体为:为了加快模型收敛,通过不同阶段的迁移学***均精度AP、均值平均精度mAP、网络参数量、权重大小和检测速度(FPS)来评价训练后的模型,IoU取值推荐使用0.5。
本实施例选择的模型图像尺寸是608×608时,负责密集小目标进行预测的特征层为76×76,每个特征网格对应的感受野尺寸为8×8。当输入图片大小为 1920×1080时,通过YOLO网格压缩对应长边为25,即当目标特征尺寸小于 25×25像素时将无法有效学***台配置为CPU为AMD R5-5600X 3.7GHz,内存为32GB,存储SSD为512GB,显卡为NVIDIA RTX2060S,显存为8GB,操作***为Windows10,CUDA版本为 10.1,Python版本为3.7,PyTorch版本为1.6。
本实施例输入图像分辨率为1920×1440,随机选择10%训练集图像数据作为验证集,使用K-means算法迭代生成anchors坐标框,使用Adam优化器,采用改进的损失函数对模型进行训练。除了使用离线增强方法外,在训练过程中使用Mosaic数据增强,进一步丰富检测物体的背景,强化网络模型对于李子果实特征的认知,增强模型的鲁棒性和泛化性能。学习率初始值设置为10^(-4),使用余弦退火学习率在训练过程中进行优化更新。
采取迁移学习的方式进行训练。将训练分为两个阶段,整个阶段训练100 轮次(Epoch)。对于前半个阶段,加载MobileNetV3系网络的预训练权值,对模型主干特征提取网络使用冻结训练50轮次,将模型的学习率初始值设置为1 ×10^(-3),批大小设置为16。这种操作可以加快收敛速度,并避免预训练权值被破坏。对于后半个阶段,对主干特征提取网络进行解冻,以1×10^(-4)的初始学习率对整个模型进一步训练50轮次,批大小设置为8。通过两个阶段加快整个模型的收敛,缩短了模型的训练时间。
第八步、使用改进后的检测模型训练制作好的训练集,并用在测试集上进行预测。经试验,该改进算法在密集李子上的mAP为88.56%。
实施例2
一种用于机器人采摘的密集李子精准检测***,如图3所示,包括:
图像采集设备,用于采集果园果实的图像;
图像处理模块,用于对采集图像进行检查处理,得到符合要求的目标检测图像;
数据标注模块,用于对目标检测图像进行数据标注,获取标注图像;
标注划分模块,用于将标注图像按比例划分训练集和测试集,获取训练集中熟果实个数和未成熟果实个数;
平衡处理模块,根据训练集中果实成熟比例进行数据平衡处理,得到平衡训练集;
数据增强模块,将平衡训练集数据集进行数据增强处理,得到数据增强训练集;
模型改进模块,对目标检测模型进行改进,得到改进目标检测模型;
模型训练和预测模块,通过改进目标检测模型对数据增强训练集进行训练和预测,得到检测结果;
检测结果输出模块,用于输出检测结果。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (5)
1.一种用于机器人采摘的密集李子精准检测方法,其特征在于,包括以下步骤:
通过图像采集设备采集果园果实的图像;
对采集图像进行检查处理,得到符合要求的目标检测图像;
通过数据标注工具对目标检测图像进行数据标注,获取不同成熟度的标注图像;
将标注图像按比例划分训练集,获取训练集中成熟果实个数和未成熟果实个数;
根据训练集中果实成熟比例判断是否进行数据平衡处理,数据平衡处理后得到平衡训练集;
将平衡训练集数据集进行数据增强处理,得到数据增强训练集;
对目标检测模型进行改进,得到改进目标检测模型;
通过改进目标检测模型对数据增强训练集进行训练和预测,得到检测结果;
所述通过数据标注工具对目标检测图像进行数据标注,获取不同成熟度的标注图像,具体为:通过图像注释工具对目标检测图像采用划分成熟度的方式进行数据标注,包含成熟果实和未成熟果实两个标注类别;对完全裸露的果实进行外切矩形框的方式标注,对遮挡和粘连的果实标注其图像裸露部分,对图像边界出现部分果实和遮挡程度小于K的果实不作标注处理;
将标注图像按比例划分训练集,获取训练集中成熟果实个数和未成熟果实个数,具体为:将标注图像按8∶2比例划分训练集和预测集;所述训练集包含验证集,训练集和验证集比例为9∶1;通过计算法获取训练集中果实个数;所述数据标注是根据果园中果实颜色划分不同成熟度,李子果实颜色红色部分占比大于0.5被划分为成熟李子,反之为未成熟李子;
所述根据训练集中果实成熟比例进行数据平衡处理,得到平衡训练集,具体为:若训练集中成熟果实和不成熟果实比例大于等于1,则不进行数据平衡处理,若训练集中成熟果实和不成熟果实比例小于1,则进行数据平衡处理,数据平衡处理如下:
S601、假设有数据集s=[M1,M2,...,Mi][N1,N2,...,Nj]T,其中Mi表示数据集样本的种类,Nj表示每一种样本的数量;
S602、比较该数据集中所有类的样本数量值MiNj,找出所有类中最大值MiNjmax;
S603、使用MiNjmax依次除以剩余类的样本数量值MiNj,得到除数C;
S604、选择一种数据量扩增方式,根据除数C对剩余类进行数据量扩增,使得所有类别样本数量向最大值方向扩增,得到MiN′j,最终使各类别数量的比值接近于1;
S605、最终输出得到扩增后的数据集T=[M1,M2,...,Mi][N′1,N′2,...,N′jmax]T;
所述将平衡训练集数据集进行数据增强处理,得到数据增强训练集,具体为:利用随机组合方式对训练集进行离线数据增强处理,包含高斯模糊、随机旋转、随机裁掉图像部分区域、直方图均衡化、随机亮度调整、椒盐噪声;
所述对目标检测模型进行改进,得到改进目标检测模型,具体为:
以YOLOv4为改进目标检测模型的基础,改进目标检测模型;
S801、使用MobilenetV3代替CSPDarknet53作为骨干特征提取网络,并在特征融合阶段使用深度可分离卷积取代标准卷积;
S802、构建多尺度融合的网络结构;
S803、对来自特征金字塔网络特征融合后输出的4个特征层进行剪枝操作;
S804、改进损失函数;使用FocalLoss替代原有YOLOv4损失函数中的BCE Loss,与CIOUloss形成联合损失函数平衡难分类样本和易分类样本对总损失的贡献度,其计算公式为:
其中,y为样本标签数量;pt表示属于李子类别的概率;at为平衡正负样本权重的系数,0<at<1;γ为难易样本的调制参数,(1-pt)γ被用来调节难易样本的权重。
2.根据权利要求1所述的一种用于机器人采摘的密集李子精准检测方法,其特征在于,所述通过图像采集设备采集果园果实的图像,具体为:通过高清晰移动采集设备进行不同方向不同距离地图像采集,获得不同颜色、不同姿态、不同大小、不同背景、不同密集遮挡的RGB图像。
3.根据权利要求1所述的一种用于机器人采摘的密集李子精准检测方法,其特征在于,所述对采集图像进行检查处理,得到符合要求的目标检测图像,具体为:对采集的图像数据进行质量评估,质量评估包括图像的清晰度、背景复杂度,删除模糊图像、未包含果实图像、背景复杂图像,评估合格的图像保留为目标检测图像。
4.根据权利要求1所述的一种用于机器人采摘的密集李子精准检测方法,其特征在于,所述通过改进目标检测模型对数据增强训练集进行训练和预测,得到检测结果,具体为:
S901、运行train.py开始训练训练集;
S902、模型训练完毕后,运行test.py检测模型的性能;
S903、得到模型的检测结果指标,所述指标包括平均准确度均值、计算某一类别的平均准确度。
5.一种用于机器人采摘的密集李子精准检测***,用于实现权利要求1-4任一项所述的密集李子精准检测方法,其特征在于,包括:
图像采集设备,用于采集果园果实的图像;
图像处理模块,用于对采集图像进行检查处理,得到符合要求的目标检测图像;
数据标注模块,用于对目标检测图像进行数据标注,获取标注图像;
标注划分模块,用于将标注图像按比例划分训练集和测试集,获取训练集中熟果实个数和未成熟果实个数;
平衡处理模块,根据训练集中果实成熟比例进行数据平衡处理,得到平衡训练集;
数据增强模块,将平衡训练集数据集进行数据增强处理,得到数据增强训练集;
模型改进模块,对目标检测模型进行改进,得到改进目标检测模型;
模型训练和预测模块,通过改进目标检测模型对数据增强训练集进行训练和预测,得到检测结果;
检测结果输出模块,用于输出检测结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210042666.8A CN114387520B (zh) | 2022-01-14 | 2022-01-14 | 一种用于机器人采摘的密集李子精准检测方法及其*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210042666.8A CN114387520B (zh) | 2022-01-14 | 2022-01-14 | 一种用于机器人采摘的密集李子精准检测方法及其*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114387520A CN114387520A (zh) | 2022-04-22 |
CN114387520B true CN114387520B (zh) | 2024-05-14 |
Family
ID=81202591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210042666.8A Active CN114387520B (zh) | 2022-01-14 | 2022-01-14 | 一种用于机器人采摘的密集李子精准检测方法及其*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114387520B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115019226A (zh) * | 2022-05-13 | 2022-09-06 | 云南农业大学 | 一种基于改进型YoloV4模型的茶叶采摘识别方法 |
CN115063478B (zh) * | 2022-05-30 | 2024-07-12 | 华南农业大学 | 基于rgb-d相机和视觉定位的水果定位方法、***、设备及介质 |
CN115147835B (zh) * | 2022-06-07 | 2024-07-02 | 华南农业大学 | 一种基于改进RetinaNet的自然果园场景下的凤梨成熟度检测方法 |
CN115170970B (zh) * | 2022-08-02 | 2024-04-23 | 重庆市设计院有限公司 | 一种用于检测城市街道景观破损的方法 |
CN115797970B (zh) * | 2022-11-29 | 2023-08-18 | 杭州电子科技大学 | 基于YOLOv5模型的密集行人目标检测方法及*** |
CN116310806B (zh) * | 2023-02-28 | 2023-08-29 | 北京理工大学珠海学院 | 一种基于图像识别的智慧农业一体化管理***及方法 |
CN116267226B (zh) * | 2023-05-16 | 2023-07-28 | 四川省农业机械研究设计院 | 一种基于机器视觉智能识别成熟度的桑葚采摘方法与装置 |
CN116616045B (zh) * | 2023-06-07 | 2023-11-24 | 山东农业工程学院 | 一种基于植物生长的采摘方法及采摘*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109711325A (zh) * | 2018-12-25 | 2019-05-03 | 华南农业大学 | 一种芒果采摘点识别方法 |
CN110223349A (zh) * | 2019-05-05 | 2019-09-10 | 华南农业大学 | 一种采摘点定位方法 |
CN112184684A (zh) * | 2020-10-09 | 2021-01-05 | 桂林电子科技大学 | 一种改进的YOLO-v3算法及其在肺结节检测中的应用 |
CN112270252A (zh) * | 2020-10-26 | 2021-01-26 | 西安工程大学 | 一种改进YOLOv2模型的多车辆目标识别方法 |
CN113408321A (zh) * | 2020-03-16 | 2021-09-17 | 中国人民解放军战略支援部队信息工程大学 | 一种轻量级图像、视频数据的实时目标检测方法及装置 |
CN113610035A (zh) * | 2021-08-16 | 2021-11-05 | 华南农业大学 | 一种基于改进编解码网络的水稻分蘖期杂草分割识别方法 |
-
2022
- 2022-01-14 CN CN202210042666.8A patent/CN114387520B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109711325A (zh) * | 2018-12-25 | 2019-05-03 | 华南农业大学 | 一种芒果采摘点识别方法 |
CN110223349A (zh) * | 2019-05-05 | 2019-09-10 | 华南农业大学 | 一种采摘点定位方法 |
CN113408321A (zh) * | 2020-03-16 | 2021-09-17 | 中国人民解放军战略支援部队信息工程大学 | 一种轻量级图像、视频数据的实时目标检测方法及装置 |
CN112184684A (zh) * | 2020-10-09 | 2021-01-05 | 桂林电子科技大学 | 一种改进的YOLO-v3算法及其在肺结节检测中的应用 |
CN112270252A (zh) * | 2020-10-26 | 2021-01-26 | 西安工程大学 | 一种改进YOLOv2模型的多车辆目标识别方法 |
CN113610035A (zh) * | 2021-08-16 | 2021-11-05 | 华南农业大学 | 一种基于改进编解码网络的水稻分蘖期杂草分割识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114387520A (zh) | 2022-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114387520B (zh) | 一种用于机器人采摘的密集李子精准检测方法及其*** | |
Chen et al. | Detecting citrus in orchard environment by using improved YOLOv4 | |
CN113128335B (zh) | 微体古生物化石图像检测、分类及发现方法、***及应用 | |
CN109344738A (zh) | 农作物病虫草害识别方法及装置 | |
CN108734717B (zh) | 基于深度学习的单帧星图背景暗弱目标提取方法 | |
CN114627411A (zh) | 基于计算机视觉下并行检测的农作物生育期识别方法 | |
CN111950391A (zh) | 果树芽体的识别方法及装置 | |
CN113435254A (zh) | 一种基于哨兵二号影像的耕地深度学习提取方法 | |
CN116682106A (zh) | 一种基于深度学习的柑橘木虱智能检测方法及装置 | |
CN113537293A (zh) | 基于无人机和全卷积神经网络的小麦倒伏区域识别方法 | |
CN117152735A (zh) | 一种基于改进yolov5s的番茄成熟度分级方法 | |
Sehree et al. | Olive trees cases classification based on deep convolutional neural network from unmanned aerial vehicle imagery | |
CN115035381A (zh) | 一种SN-YOLOv5的轻量化目标检测网络及农作物采摘检测方法 | |
Zhong et al. | Identification and depth localization of clustered pod pepper based on improved Faster R-CNN | |
Wang et al. | Apple rapid recognition and processing method based on an improved version of YOLOv5 | |
CN115147835B (zh) | 一种基于改进RetinaNet的自然果园场景下的凤梨成熟度检测方法 | |
CN112184627A (zh) | 基于图像处理与神经网络的柑橘保鲜品质检测方法及应用 | |
CN110705698A (zh) | 尺度自适应感知的目标计数深度网络设计方法 | |
CN116563205A (zh) | 基于小目标检测和改进YOLOv5的麦穗计数检测方法 | |
Melnychenko et al. | Apple detection with occlusions using modified YOLOv5-v1 | |
CN115995017A (zh) | 一种果实识别与定位方法、装置及介质 | |
CN113723833B (zh) | 造林实绩质量评价方法、***、终端设备及存储介质 | |
Yang et al. | Immature Yuzu citrus detection based on DSSD network with image tiling approach | |
CN115457542A (zh) | 一种基于改进YOLOv4果园复杂环境下葡萄成熟度的检测方法 | |
CN116052141B (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 |