CN116977648A - 一种基于目标检测的菜用大豆表型信息的识别方法和系统 - Google Patents
一种基于目标检测的菜用大豆表型信息的识别方法和系统 Download PDFInfo
- Publication number
- CN116977648A CN116977648A CN202210419151.5A CN202210419151A CN116977648A CN 116977648 A CN116977648 A CN 116977648A CN 202210419151 A CN202210419151 A CN 202210419151A CN 116977648 A CN116977648 A CN 116977648A
- Authority
- CN
- China
- Prior art keywords
- pod
- picture
- yolov5
- data
- 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.)
- Pending
Links
- 244000068988 Glycine max Species 0.000 title claims abstract description 55
- 235000010469 Glycine max Nutrition 0.000 title claims abstract description 55
- 235000013311 vegetables Nutrition 0.000 title claims abstract description 48
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000001514 detection method Methods 0.000 title claims abstract description 31
- 238000012549 training Methods 0.000 claims description 37
- 238000004422 calculation algorithm Methods 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 18
- 238000012360 testing method Methods 0.000 claims description 18
- 238000012795 verification Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 9
- 238000007619 statistical method Methods 0.000 claims description 8
- 238000002372 labelling Methods 0.000 claims description 7
- 241000592183 Eidolon Species 0.000 claims description 5
- 238000010200 validation analysis Methods 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000012216 screening Methods 0.000 claims description 4
- 238000004519 manufacturing process Methods 0.000 claims description 2
- 238000005259 measurement Methods 0.000 abstract description 9
- 238000009395 breeding Methods 0.000 abstract description 7
- 230000001488 breeding effect Effects 0.000 abstract description 7
- 238000013135 deep learning Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000011156 evaluation Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 101001095088 Homo sapiens Melanoma antigen preferentially expressed in tumors Proteins 0.000 description 5
- 102100037020 Melanoma antigen preferentially expressed in tumors Human genes 0.000 description 5
- 230000008901 benefit Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 235000021374 legumes Nutrition 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000010835 comparative analysis Methods 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 241000196324 Embryophyta Species 0.000 description 1
- 206010020772 Hypertension Diseases 0.000 description 1
- 208000008589 Obesity Diseases 0.000 description 1
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 1
- 244000046052 Phaseolus vulgaris Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 206010012601 diabetes mellitus Diseases 0.000 description 1
- 235000005911 diet Nutrition 0.000 description 1
- 230000000378 dietary effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 235000016709 nutrition Nutrition 0.000 description 1
- 235000003715 nutritional status Nutrition 0.000 description 1
- 230000000050 nutritive effect Effects 0.000 description 1
- 235000020824 obesity Nutrition 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000007306 turnover Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/28—Quantising the image, e.g. histogram thresholding for discrimination between background and foreground patterns
-
- 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
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于目标检测的菜用大豆表型信息的识别方法,所述菜用大豆表型信息包括荚粒数和荚长宽,所述方法包括以下步骤:S1构建YOLOv5模型;S2将待识别图片输入构建好的YOLOv5模型中,YOLOv5模型识别待识别图片中的豆荚图像并得到荚粒数数据;使用机器视觉对YOLOv5模型识别到的豆荚图像进行测量得到豆荚长和/或宽数据。本发明的方法能同时采集或识别荚粒数和荚长宽数据,且自动化程度高、速度快、精准度好,能大幅降低人工测量的时间成本和人力成本,提高品种选育的工作效率。
Description
技术领域
本发明涉及图像识别领域,特别涉及一种基于目标检测的菜用大豆表型信息的识别方法和系统。
背景技术
菜用大豆,又称鲜食大豆,俗称毛豆,指在豆荚呈绿色、籽粒尚未达到完全成熟、生理上处于鼓粒盛期采收用作蔬菜食用的大豆,是一种重要的传统豆类蔬菜。菜用大豆营养价值高、味道鲜美,对调节人们膳食结构和改善营养状况具有重要作用,对肥胖病、高血压、糖尿病等有预防和辅助治疗的作用,是公认的营养保健蔬菜。在外观方面,与粮(油)用大豆相比,菜用大豆的豆荚(豆粒)更大,标准荚要求籽粒数目在两个以上。近年来,通过育种专家的不懈努力,菜用大豆的育种水平得到了显著提高,但随着菜用大豆产业的不断发展,仍需要不断培育优质、高产、多抗的菜用大豆新品种。育种过程中,豆荚籽粒数目和豆荚的长、宽等表型直接影响大豆外观商品性和产量,是评价大豆品种优劣的重要指标。因此,在育种过程中需要对大量大豆的表型信息进行采集。
传统的大豆表型信息的获取主要依靠人力对大豆主茎结节数、豆荚和标准荚等表型数据进行调查,费时费力,且人工测量所获得的数据易受到人的主观影响。近年来,在高通量和高精度的要求下,基因测序技术已经为育种专家积累了大量的基因型数据,但是高通量的作物表型数据的获取依旧困难。
发明内容
为了解决现有技术存在的问题,本发明提供一种基于目标检测的菜用大豆表型形状的识别方法,该方法采用深度学习中的目标检测模型和图像处理技术,其中,深度学习可以通过图片提取到作物的特征,从大量的图片数据中学习到高层次的特征,并对其进行分类和提取,拥有较高的准确度和快速的识别能力。
专利CN202110807216.9一种基于分块并行的目标检测方法,基于图像分析模型可将尺度较大或比例较极端的图像进行分块为多个子块进行检测,不需要进行缩放操作,即可防止缩放操作影响检测结果,实现了可对尺度较大或比例较极端的图像进行有效目标检测的目的。专利CN202011585525.8基于目标检测算法的多功能数字表自动读数方法,解决了现有数字表自动读数方法容易受外界环境变化和图像成像质量好坏的影响,缺乏数字识别的稳定性、准确性的问题,目标检测算法的多功能数字表自动读数方法具有识别速度快、识别准确率高,稳定性好的优点。专利CN202110723096.4一种基于CenterNet的轻量级水下目标检测方法,选择ResNet18作为特征提取网络,搭建特征金字塔进行多尺度特征融合,并输出融合后图像大小最大的特征图至检测头中,使用CenterNet算法对训练集中的图像及标注的信息进行深度学习的训练,得到训练后的模型,进行目标检测,获取图像中待检测目标的分类信息和位置信息。由上述可知,基于目标检测的方法或深度学习方法等在图像的检测和识别方面具有广泛应用和显著优势。
本发明的发明人分别将AlexNet、MoblieNet、VggNet、ResNet、Inception-v3、R-CN、SSD和YOLOv5这八种模型分别应用于菜用大豆豆荚信息的识别上,发现YOLOv5除了能采集单图单荚图片上的荚粒数数据和单图多荚图片上的荚粒数数据外,相对于其他模型的召回率和F1分数均更高。因此,本申请选用YOLOv5模型进行菜用大豆荚粒数的识别。此外,为了进一步对荚长宽信息进行采集,发明人将机器视觉的方法添加到了YOLOv5模型识别环节。
本发明一方面提供了一种基于目标检测的菜用大豆表型信息的识别方法,该方法能自动采集荚粒数和荚长宽信息,大大缩短了信息采集时间和人工测量成本。所述方法包括以下步骤:
S1构建YOLOv5模型;
S2将待识别图片输入构建好的YOLOv5模型中,构建好的YOLOv5模型识别待识别图片中的豆荚图像并得到荚粒数数据;使用机器视觉对YOLOv5模型识别到的豆荚图像进行测量得到荚长宽数据。
使用机器视觉对YOLOv5模型识别到的豆荚图像进行测量得到荚长宽数据的具体过程包括:对待识别图片或豆荚图像进行二值化处理,获得豆荚整体轮廓图像,再对豆荚整体轮廓图像进行扫描,获取豆荚长或宽的像素差值,根据所述像素差值以及豆荚整体轮廓图像的像素与豆荚实物的比例计算荚长宽。
在一些方式中,所述S1构建YOLOv5模型包括以下具体过程:
S1.1数据获取:获取原始菜用大豆的豆荚图片;
S1.2数据处理:对步骤S1.1获取的原始菜用大豆的豆荚图片进行筛选、分类和扩充,再对豆荚图片进行标注,制作成自建数据集;将自建数据集随机分为训练集、验证集和测试集;
S1.3模型训练:将训练集和验证集的豆荚图片输入到YOLOv5模型中进行训练和验证,得到训练好的YOLOv5模型;
S1.4模型识别:将测试集的豆荚图片输入训练好的YOLOv5模型中,对训练好的YOLOv5模型进行测试,看其是否能准确识别荚粒数。
步骤S1.1中,可以通过摄像设备拍照获取菜用大豆豆荚图片,也可以选用和收集已有菜用大豆豆荚图片,例如收集不同产地、不同品种、不同荚粒数、不同豆荚个数的豆荚图片等。
步骤S1.2进行数据处理时,可以先对步骤S1.1获取的豆荚图片进行预处理和扩充,包括①将豆荚图片进行分类整理,例如分出图片中有一个豆荚(单图单荚)的图片,再在其中分出荚粒数为1(单粒荚图片)、2(双粒荚图片)、3(三粒荚图片)或4(四粒荚图片)的;分出图片中有多个豆荚的(单图多荚),再在其中分出荚粒数均相同、荚粒数均不相同、荚粒数均为1或2或3或4、荚粒数包含1至4的等。②可以对豆荚图片进行剪切,如将单图多荚的图片剪切以获得单独单荚的图片,或剪切去除图片中的背景部分等;也可以对豆荚图片进行旋转和镜像等。
在一些方式中,对使用精灵标注助手对豆荚图片进行标注,当一张豆荚图片上有多个豆荚时,对多个豆荚分别进行标注,输出pascal-voc的xml文件;将xml文件中的坐标进行转换,使xml文件转换成YOLOv5模型需要的xywh格式的txt文件,每一张豆荚图片对应一个txt文件。这些txt文件构成自建数据集,将自建数据集随机分为训练集、验证集和测试集时,可以按8:1:1的比例,可以按7:2:1的比例,也可以按98:1:1的比例等划分,具体的划分比例可以按自建数据集的大小进行调整,自建数据库大时,验证集合测试集的比例可以小一些。
步骤S1.3模型训练时,先配置YOLOv5模型的数据读取文件,使模型能准确地读取自建的数据集。可以更改模型的GPU(图像处理器)选择,选取设备上显存最大的GPU作为训练的GPU,以提高模型训练的速度。
在一些方式中,YOLOv5模型为yolov5s.pt。图片数据输入YOLOv5模型后,第一步,进行Mosaic数据增强。Mosaic数据增强采用4张图片,随机缩放、随机裁剪、随机排布的方式进行拼接,有利于小目标的检测;第二步,进行自适应锚的计算;第三步,通过backbone结构,其中的Focus层能减少计算量,加快计算速度,SPP层则能提高感受野;第四步,通过Neck将一系列混合和组合图像特征的网络层,并将图像特征传递到预测层;第五步,通过预测结构,对图像特征进行预测,生成边界框和预测类别。
在一些方式中,步骤S1.3模型训练中使用的损失函数如下:
式中,N表示类别总个数,xi为当前类别的预测值,yi为经过激活函数后得到的当前类别的概率,yi *则为当前类别的真实值,Lclass为分类损失。
在一些方式中,构建好的YOLOv5模型识别待识别图片中的豆荚图像时会使豆荚图像处于矩形框内,则所述豆荚轮廓图像处于该矩形框内,豆荚长与所述矩形框的长所在的直线平行;对豆荚轮廓图像进行扫描时,沿所述矩形框的长和宽方向进行扫描。
应当说明的是,相对于AlexNet、MoblieNet-v1、vgg19、ResNet18等机器学习模型,YOLOv5模型能识别一张图片上只有一个豆荚的情况,也能识别一张图片上有多个豆荚的情况,且其抗背景干扰能力强,具有最优的精准度。另外,本发明的构建好的YOLOv5模型在得到各个豆荚荚粒数数据的同时,会给每个豆荚加一个矩形框,即使各个豆荚图片分别处于各矩形框内,使相邻或相互接触的豆荚都能分隔开。进一步,发明人将机器视觉算法添加至构建好的YOLOv5模型中,则该机器视觉算法只需对矩形框内的豆荚进行处理,可减小需处理的图片大小,在获取荚长宽数据的同时有效减少数据处理时间,且能避免将多个相邻或相互接触的豆荚识别为一个豆荚导致数据错误的情况。
本发明的第二方面,提供了一种菜用大豆表型信息的采集系统。
所述系统包括数据识别模块,将需要识别的菜用大豆豆荚图片输入所述系统,所述数据识别模块即可对图片中的豆荚的荚粒数和荚长宽数据进行识别或采集。
在一些方式中,所述识别模块包括YOLOv5模型和机器视觉算法,例如通过上述方法构建好的YOLOv5模型,用于采集荚长宽数据的机器视觉算法等。
在一些方式中,所述系统还包括数据获取模块,所述数据获取模块用于获取大豆豆荚图片,例如所述数据获取模块包括相机,能拍照获取豆荚图片。
在一些方式中,所述系统还包括数据处理模块,所述数据处理模块能对图片进行处理,例如筛选包含豆荚的图片。包含单粒荚的图片、对图片大小进行调整、图片剪裁、图片分类等等。
在一些方式中,所述系统包括网络训练模块,所述网络训练模块包括YOLOv5模型,可以进行上述YOLOv5模型的训练、验证和测试等以获得训练好的YOLOv5模型。
在一些方式中,所述系统包括统计分析模块,所述统计分析模块可以对所述数据识别模块采集的数据进行统计分析,例如统计一张图片上单粒荚或双粒荚或三粒荚的个数、豆荚总数、总的荚粒数、单粒荚荚长度或宽度数据、荚长度或宽度大于某一数值的豆荚个数等等,也可以统计多张图片上的各类型豆荚个数、荚长宽数据等,也可以将两张或多长图片上的豆荚荚粒数及荚长宽数据进行对比分析等。
在一些方式中,所述系统包括输入模块和输出模块,所述输入模块用于输入豆荚图片,所述输出模块用于输出荚粒数和荚长宽数据或上述统计分析模块统计分析的结果等。
农业学专业人员可以在田间拍照获取包含一株或多株某种菜用大豆所有豆荚的图片,通过所述系统,能将一株或多株菜用大豆的豆荚总个数、各荚粒数的豆荚个数、各类型豆荚的长宽值等数据采集完全。此外,通过所述系统获取另一种一株或多株菜用大豆的豆荚荚粒数和荚长宽数据,进行对比分析,即可判断这两种菜用大豆的品种优劣。
本发明的优势在于:
本发明公开了一种基于目标检测的菜用大豆表型信息的采集方法以及一种菜用大豆表型信息的采集系统。本发明将YOLOv5模型和机器视觉结合并应用到菜用大豆的表型信息的采集,能同时识别或采集荚粒数和荚长宽数据,且速度快、精准度高。通过本发明的方法和系统为菜用大豆荚型的表型性状的高通量、智能化和精准化获取提供了一种新技术,能大幅降低人工测量的时间成本和人力成本,提高品种选育的工作效率。
附图说明
附图1为本发明的YOLOv5网络结构图。
附图2为本发明的构建YOLOv5模型示意图。
附图3数据集标注示意图,(a)原始图像;(b)标注后图像。
附图4YOLOv5识别单图多荚预测效果图,(a)原始数据集;(b)YOLOv5识别后图像。
附图5YOLOv5模型训练评价指标变化曲线图,(a)精确率和召回率曲线;(b)训练集和验证集的loss曲线;(c)模型的mAP曲线。
附图6荚长宽检测示意图,(a)原始图像;(b)YOLOv5识别后图像;(c)双粒荚长宽检测原理图。
附图7豆荚长(a)、宽(b)的预测值与实测值的关系图。
附图8通过机器视觉算法直接识别和YOLOv5识别相互接触豆荚的对比图,(a)原始图片;(b)机器视觉算法直接识别获得的豆荚轮廓图;(c)YOLOv5识别后图像。
详细说明
目标检测和YOLOv5(或YOLOv5模型或YOLOv5网络)
深度学习技术的发展极大推动了目标视觉检测的研究。目标检测与图像分类最主要的不同在于目标检测关注图像的局部结构信息,而图像分类关注图像的全局表达。目标检测主要分为两类:两步走和一步走。两步走顾名思义即在目标检测的过程中有关键的两步,第一步先找出图片中待检测物体的锚矩形框(对背景、待检测物体进行二分类),第二步对锚框内待检测物体进行分类。这种方法的准确度会高一点,但比较费时。一步走则是直接对预测框进行回归和分类预测,这种方法的识别速度会快一点。本发明采取一步走中的经典网络YOLO。YOLO系列网络从2015年提出YOLOv1到2020年最新的YOLOv5,它的识别速度、最大平均精度都得到了大幅度地提升。因此选取最新的YOLOv5作为本发明的目标检测网络主体,对数据集和输出层进行更改,用来识别豆荚的荚粒数和具体位置。YOLOv5的网络结构如附图1所示,图片经输入后经过backbone层、Neck层达到Prediction层。
具体实施方式
下面结合附图与实施例对本发明作进一步的说明。以下实施例仅用于说明本发明的技术思想及特点,不能以此限定本发明的保护范围,凡是按本发明提出的技术思想,在技术方案基础上所做出的任何改动,均在本发明的保护范围之内。本发明未涉及的技术均可通过现有技术加以实现。
本申请的发明人研究并对比了几种机器学习模型,包括AlexNet、MoblieNet-v1、vgg19、ResNet18、Inception-v3和YOLOv5模型,将这几种模型分别用于菜用大豆荚粒数的识别,发现YOLOv5模型精确率、召回率和F1分数均较高,且能进行单图单荚和单图多荚豆荚图片中荚粒数的准确识别,效果最优。因此,发明人选择YOLOv5模型进行豆荚荚粒数信息的采集。
在利用YOLOv5模型采集豆荚荚粒数数据时,首先,构建YOLOv5模型(参见附图2);
第一步、数据获取:获取菜用大豆的豆荚图片,例如对彩照的菜用大豆豆荚进行拍摄获取图片数据。第二步、数据处理:对第一步获取的图片进行预处理,如对原图进行裁剪、扩增不均衡的数据集等。第三步、模型训练:将训练集和验证集对输入到YOLOv5模型中进行训练和验证,得到训练好的YOLOv5模型。第四步、模型识别:将测试集输入训练好的YOLOv5模型中,进行测试,进一步确认模型是否能准确识别荚粒数。
构建好YOLOv5模型后,接着,将待识别的豆荚图片输入模型后,即可得到荚粒数数据。
发明人进一步通过机器视觉方法,对豆荚图片进行二值化处理,即可呈现出单个豆荚的整体轮廓。在对该整体轮廓进行左右和上下扫描,可得到豆荚长度和宽度对应的像素差值,将该差值乘以像素与实物的比例,即可得到荚长宽数据。此外,将YOLOv5模型和机器视觉结合,YOLOv5模型在采集荚粒数数据时将各个豆荚均加上了矩形框,机器视觉在采集荚长宽数据时则只需要扫描各矩形框,因此缩小了扫描范围,扫描到的无用像素值也较少,极大缩短了荚长宽数据采集时间。
进一步地,发明人构建了一种菜用大豆表型信息的采集系统。在一些方式中,可以将训练好的YOLOv5模型和机器视觉算法输入到该系统中,再输入待识别的豆荚图片,所述系统即可自动采集荚粒数和荚长宽数据。所述系统可以为计算机系统,该计算机系统包括识别模块,训练好的YOLOv5模型和机器视觉算法位于识别模块中。在一些方式中,所述系统也可包括数据获取模块、数据预处理模块和系统网络训练模块,可以分别进行豆荚图片获取、图片预处理和YOLOv5模型训练等工作,这些模块能自动构建并优化YOLOv5模型。在一些方式中,所述系统也可包括输入模块、统计分析模块和输出模块等,以用于数据或图片输入、统计分析和结果显示等作用。
实施例1荚粒数识别
1、图片数据获取和处理
①选取浙江省农业科学院蔬菜所育成的浙农秋丰4号和新品系浙农21-7的菜用大豆豆荚作为试验材料。每个品种随机选取20株,共计40株。所有材料于2021年8月种植于浙江省农业科学院杨渡科研基地。
②随机选取植株第4~6节间的发育正常的豆荚进行拍照,获取单张单荚图片。由浙江省农科院的专家对单荚图片进行识别和分类,根据识别和分类结果对图片进行标注,制作成数据集,用于分类网络(荚粒数)和荚长宽的识别。分类网络的数据集构成为单粒荚图片106张,双粒荚图片119张,三粒荚图片108张,共计333张,经旋转和翻转的数据增强后共计1998张。荚长宽数据集则选取了50粒饱满的双粒荚图片进行识别。此外,制作了一个单张图片中包含多个单粒荚、双粒荚和三粒荚的数据集,共计图片105张。
③使用标注软件(精灵标注助手)将获得的豆荚表型图片进行标注,获得YOLOv5网络所需的xml标注文件,构建一个由标注文件和图片组成的自建数据集。将自建数据集随机分为训练集、验证集和测试集,三者的比例为8:1:1。图3a为精灵标注助手标注前豆荚图片,图3b为精灵标注助手标注后的图片,其中每个框在标注后会在xml文件中产生一个位置信息和类别信息。
2、模型训练和测试
将自建数据集输入到YOLOv5模型(Yolov5s.pt)中进行训练、验证和测试,以进行豆荚图片的荚粒数识别(包括单图单荚和单图多荚),具体过程为:配置YOLOv5模型的数据读取文件,使模型能准确地读取自建数据集。更改模型的GPU选择,选取设备上显存最大的GPU作为训练的GPU。图片数据输入YOLOv5模型后,第一步,进行Mosaic数据增强,Mosaic数据增强采用4张图片,随机缩放、随机裁剪、随机排布的方式进行拼接,有利于小目标的检测;第二步,进行自适应锚的计算;第三步,通过backbone结构,其中的Focus层能减少计算量,加快计算速度,SPP层则能提高感受野;第四步,通过Neck将一系列混合和组合图像特征的网络层,并将图像特征传递到预测层;第五步,通过预测结构,对图像特征进行预测,生成边界框和预测类别。
YOLOv5模型训练中使用的损失函数如下:
式中,N表示类别总个数,xi为当前类别的预测值,yi为经过激活函数后得到的当前类别的概率,yi *则为当前类别的真实值,Lclass为分类损失。
迁移学习现阶段在农业领域使用较为广泛的一些深度学习模型(AlexNet、MoblieNet、VggNet、ResNet和Inception-v3,用于单图单荚)以及R-CNN,SSD模型(用于单图多荚)进行豆荚图片的荚粒数识别。
对比各模型的训练验证精度,选取性能较高的模型网络用于荚粒数的识别。
3、模型评价与对比分析
①评价指标
为评估所训练的网络的识别性能,本文采用混淆矩阵和F1-score来衡量模型的总体性能。正样本:被模型正确识别的菜用大豆荚型,负样本:被模型错误识别的菜用大豆荚型,真阳性(True Positives,TP):被分为正样本,并且识别正确,真阴性(True Negatives,TN):被分为负样本,而且识别正确了,假阳性(False Positives,FP):被分为正样本,但是识别错误,假阴性(False Negatives,FN):被分为负样本,但是识别错误,A、B为两个集合,K为类别数。验证指标含有准确率(Accuracy)、交并比(IoU)、召回率(Recall)、精确率(Precision)、F1分数(F1-score)、平均精度(AP)、各类别平均精度(mAP)和mAP@.5等。AP的计算方式为以Recall为横轴,Precision为纵轴,绘制PR曲线,PR曲线下的面积定义为AP,mAP@.5即将IoU设为0.5时的mAP值。具体公式如下:
②模型评价与对比分析
(1)本研究迁移了5个被广泛使用的深度学习分类网络(AlexNet、MoblieNet-v1、vgg19、ResNet18和Inception-v3)来进行荚粒数的识别。在分类网络的优化器选择上,统一选取了对分类效果提升最大的Adam优化器[28],并对学习率(learning rate,lr)和迭代次数进行优化。从表1可以看出在进行了30000次迭代后,Inception-v3在验证集上的召回率和F1-score在分类网络中最高,分别达到了96.50%和95.95%,其次是ResNet18的96.13%和95.82%。精确率最低的则是Vgg19的92.58%和93.22%。深度学习模型在训练时会花费大量时间,其中MoblieNet-v1训练用时最短,只花了20.21分钟,vgg19训练用时最长,花费了45.47分钟。
采用与分类网络相同的单图单荚数据集,对其进行标注,修改配置文件的网络输出层类别为onepod,twopod,threepod。使用YOLOv5进行训练,并对训练过程的参数变化进行记录。从表1可以看出YOLOv5的F1-分数为97.56%,比分类网络最高的Inception-v3还要高11.61%,召回率比Inception-v3高13.5%,精确度比Inception-v3高9.84%。
表1不同深度学习分类模型的试验结果
(2)采用额外制作的数据集,对其使用标注,使用修改后的YOLOv5进行训练。训练完成后,输入一张随机摆放单粒荚,双粒荚,三粒荚的图片(图4a),模型会保存一张相同的图片(图4b)。在图片左上角标注出单粒荚,双粒荚,三粒荚的数量并用方框框出每个豆荚的荚数。从表2可以看出,与单图单荚的训练效果相比,单图多荚在各个参数上都有一定的下降,其中召回率下降最多,达到了1.57%,但与深度学习分类网络相比,单图多荚的F1-score依然高于最高的Inception-v3。图5为模型的训练过程的评价指标变化曲线图。与其他的目标检测网络相比,YOLOv5在每项指标上都有一定的优势,其中F1-score比SSD和RCNN分别高7.53%和8.97%。可以看出YOLOv5相对于其他的目标检测网络在精度上有显著优势。
表2YOLOv5单图多荚的试验结果
综上,YOLOv5能识别单图单荚图片和单图多荚图片的荚粒数;相对于AlexNet、MoblieNet-v1、vgg19、ResNet18和Inception-v3,YOLOv5的F1-分数、召回率和精确度均最高,说明YOLOv5在单图单荚图片荚粒数的识别上性能最优;相对于R-CNN和SSD,YOLOv5的精确率、召回率、平均精度和F1分数均最高,说明YOLOv5在单图多荚图片荚粒数的识别上精准度最高。因此,选用YOLOv5进行菜用大豆的荚粒数识别或荚粒数信息采集。
实施例2荚长宽识别
1、图片数据获取和处理同实施例1。
2、基于机器视觉的豆荚长宽数据采集方法
为了实现在一张图片上进行批量的荚长宽检测,本发明将机器视觉的方法添加到实施例1中YOLOv5的识别环节,即YOLOv5的识别层添加了机器视觉算法或程序,对YOLOv5识别出的矩形框内的图像进行荚长宽计算。图6为双粒豆荚检测原理示意图,首先对矩形框内的豆荚进行二值化处理,获取豆荚的整体轮廓,再对豆荚像素值进行左右和上下的扫描,获取左右和上下扫描到的边界黑色像素的位置,进行差值计算,最后根据像素与实物大小的比例,计算豆荚的长宽。
例如,扫描某一豆荚(待测豆荚)轮廓图像获得的的像素差值的长差值=x1、宽差值=y1,豆荚整体轮廓图像像素与豆荚实物长和宽的比例分别为a和b,则待测豆荚长y=x1/a,宽y=y1/b。如取长为2.5cm,宽为2cm的豆荚拍照后获得包含该豆荚的图片,该图片经上述的YOLOv5和机器视觉算法处理后得到该豆荚的整体轮廓图像,该图像的像素为30万,则a=30万/2.5cm=12万/cm,b=30万/2cm=15万/cm。如果x1=24万,y1=18万时,则待测豆荚长y=24万/(12万/cm)=2cm,宽x=18万/(15万/cm)=1.2cm。
3、评价指标
为评估算法对荚长宽识别的精度,取50个饱满的菜用大豆豆荚,用游标卡尺(得力DL91150)计算豆荚的长度和宽度,每个豆荚指标进行三次测量,取平均值。将获得的豆荚长度和宽度与算法预测的长宽进行比较,计算回归系数(R2)、均方根百分比误差(RMSPE)和平均绝对百分比误差(MAPE)来评估算法的准确度,其中R2越接近1证明算法预测精度越靠近测试值,RMSPE、MAPE则是越小证明算法准确度越高。预测值:真实值:yi。具体公式如下:
4、评价结果及分析
将检测得到的长宽数据与实际测量数据记录在表格内,进行RMSPE、MAPE和R2的计算。通过表3和图7可以看出,本方法的R2值在荚长宽预测上分别为96.42%和95.23%,拥有较高的精度,并且荚长的RMSPE和MAPE均低于0.03,荚宽的RMSPE和MAPE均低于0.04。
表3菜用大豆豆荚图像测量与实际测量结果比较
上述结果说明,通过机器视觉的方法能采集到菜用大豆豆荚的荚长宽数据,且通过该方法测定的荚长宽数据与实测值一致,说明该方法测量的准确度高可用于荚长宽数据的采集。
需要说明的是,发明人在进行荚长宽信息采集时,曾尝试不经过YOLOv5识别,直接对图片进行二值化处理,发现:当一张图片上有多个豆荚且豆荚间距离较近或者豆荚相互接触时,进行图片的二值化处理后,机器视觉算法会无法区分相近或相互接触的多个豆荚(如图8a和8b),进一步扫描豆荚轮廓图像时会将多个豆荚的长或宽识别为一个豆荚的长或宽,最终导致测得的荚长宽数据错误。当先将图片经过YOLOv5识别时,构建好的YOLOv5模型能识别图片上的各种荚粒数的豆荚,并使各豆荚处于各个小的矩形框内,即使是距离较近或相互接触的豆荚也能很好的区分开(如图8c),进一步在获取荚长宽数据时,就只需扫描矩形框内的豆荚轮廓,则不存在将多个豆荚识别为一个豆荚的情况,且扫描范围仅为矩形框内,极大减小了扫描范围,扫描到的干扰也较少,提高了荚长宽数据的采集时间和计算准确度。
Claims (10)
1.一种基于目标检测的菜用大豆表型信息的识别方法,其特征在于,所述菜用大豆表型信息包括荚粒数和荚长宽,所述方法包括以下步骤:
S1构建YOLOv5模型;
S2将待识别图片输入构建好的YOLOv5模型中,构建好的YOLOv5模型识别待识别图片中的豆荚图像并得到荚粒数数据;对待识别图片或豆荚图像进行二值化处理,获得豆荚整体轮廓图像,对豆荚整体轮廓图像进行扫描,获取豆荚长和/或宽的像素差值,根据所述像素差值以及豆荚整体轮廓图像的像素与豆荚实物的比例计算豆荚长和/或宽。
2.根据权利要求1所述的方法,其特征在于,所述S1具体步骤包括:
S1.1数据获取:获取原始菜用大豆的豆荚图片;
S1.2数据处理:对步骤S1.1获取的原始菜用大豆的豆荚图片进行筛选、分类和扩充,再对豆荚图片进行标注制作成自建数据集;将自建数据集随机分为训练集、验证集和测试集;
S1.3模型训练:将训练集和验证集的豆荚图片输入到YOLOv5模型中进行训练和验证,得到训练好的YOLOv5模型;
S1.4模型识别:将测试集的豆荚图片输入训练好的YOLOv5模型中,对训练好的YOLOv5模型进行测试。
3.根据权利要求2所述的方法,其特征在于,对豆荚图片进行标注制作成自建数据集的过程包括:使用精灵标注助手对豆荚图片进行标注,当一张豆荚图片上有多个豆荚时,对多个豆荚分别进行标注,输出pascal-voc的xml文件;将xml文件中的坐标进行转换,使xml文件转换成YOLOv5模型需要的xywh格式的txt文件,每一张豆荚图片对应一个txt文件。
4.根据权利要求2所述的采集方法,其特征在于,所述训练集、验证集和测试集的比例为8:1:1。
5.根据权利要求1所述的采集方法,其特征在于,构建好的YOLOv5模型识别待识别图片中的豆荚图像时会使豆荚图像处于矩形框内,则所述豆荚轮廓图像处于该矩形框内,豆荚长与所述矩形框的长所在的直线平行;对豆荚轮廓图像进行扫描时,沿所述矩形框的长和宽方向进行扫描。
6.一种用于菜用大豆表型信息识别的系统,其特征在于,所述系统包括数据识别模块,所述识别模块包括YOLOv5模型和机器视觉算法,所述YOLOv5模型用于识别图片中的豆荚图像并得到荚粒数数据;所述机器视觉算法对YOLOv5模型识别到的豆荚图像进行处理得到豆荚荚长和/或宽数据,具体过程包括:对所述图片或豆荚图像进行二值化处理,获得豆荚整体轮廓图像,对豆荚整体轮廓图像进行扫描,获取豆荚长和/或宽的像素差值,根据所述像素差值以及豆荚整体轮廓图像的像素与豆荚实物的比例计算豆荚长和/或宽。
7.根据权利要求6所述的系统,其特征在于,所述系统包括数据获取模块,所述数据获取模块用于获取图片。
8.根据权利要求6所述的系统,其特征在于,所述系统包括数据处理模块,所述数据处理模块能对图片进行处理,包括图片筛选、图片裁剪、图片大小调整和图片分类。
9.根据权利要求6所述的系统,其特征在于,所述系统包括统计分析模块,所述统计分析模块对所述识别模块获取的荚粒数和荚长宽数据进行统计和分析。
10.根据权利要求6所述的系统,其特征在于,所述系统包括输入模块和输出模块,所述输入模块用于输入图片,所述输出模块用于输出荚粒数和荚长宽数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210419151.5A CN116977648A (zh) | 2022-04-20 | 2022-04-20 | 一种基于目标检测的菜用大豆表型信息的识别方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210419151.5A CN116977648A (zh) | 2022-04-20 | 2022-04-20 | 一种基于目标检测的菜用大豆表型信息的识别方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116977648A true CN116977648A (zh) | 2023-10-31 |
Family
ID=88483615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210419151.5A Pending CN116977648A (zh) | 2022-04-20 | 2022-04-20 | 一种基于目标检测的菜用大豆表型信息的识别方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116977648A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117975172A (zh) * | 2024-03-29 | 2024-05-03 | 安徽农业大学 | 一种整株豆荚识别模型构建与训练方法及系统 |
-
2022
- 2022-04-20 CN CN202210419151.5A patent/CN116977648A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117975172A (zh) * | 2024-03-29 | 2024-05-03 | 安徽农业大学 | 一种整株豆荚识别模型构建与训练方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113392775B (zh) | 一种基于深度神经网络的甘蔗幼苗自动识别与计数方法 | |
CN110781889B (zh) | 一种基于深度学习的蓝莓果实中总糖含量的无损检测方法 | |
CN109544538B (zh) | 小麦赤霉病病害等级分级方法及装置 | |
CN111160396B (zh) | 一种基于多图结构的图卷积网络的高光谱图像分类方法 | |
CN112766155A (zh) | 一种基于深度学习的海水养殖区提取方法 | |
CN111462058B (zh) | 一种水稻有效穗快速检测方法 | |
TW202004776A (zh) | 骨齡評估與身高預測模型之建立方法、骨齡評估與身高預測系統及骨齡評估與身高預測方法 | |
CN110555395A (zh) | 一种油菜冠层氮素含量等级分类评估方法 | |
CN111259925A (zh) | 基于k均值聚类和宽度突变算法的田间麦穗计数方法 | |
CN116229265A (zh) | 一种自动无损提取大豆植株表型的方法 | |
CN115512123A (zh) | 一种海鲜菇多时期关键生长特征提取及时期分类方法 | |
CN115424006A (zh) | 应用于作物表型参数反演的多源多层次数据融合方法 | |
CN115661544A (zh) | 基于N-MobileNetXt的菠菜幼苗水分胁迫等级分类系统及方法 | |
Deulkar et al. | An automated tomato quality grading using clustering based support vector machine | |
CN110929787B (zh) | 一种基于图像的苹果客观定级系统 | |
Hortinela et al. | Classification of Cacao Beans Based on their External Physical Features Using Convolutional Neural Network | |
CN116977648A (zh) | 一种基于目标检测的菜用大豆表型信息的识别方法和系统 | |
CN116385717A (zh) | 叶面病害识别方法、装置、电子设备、存储介质及产品 | |
CN116434066B (zh) | 基于深度学习的大豆豆荚考种方法、系统及装置 | |
CN112633301A (zh) | 一种基于深度度量学习的中医舌图像腐腻特征分类方法 | |
CN117727027A (zh) | 一种豆荚分类方法 | |
CN116883309A (zh) | 一种大豆表型获取方法 | |
CN116258844A (zh) | 一种棉花叶片表型性状快速精准鉴定方法 | |
CN111709427B (zh) | 一种基于稀疏卷积核的果实分割方法 | |
Fang et al. | Application of genetic algorithm (GA) trained artificial neural network to identify tomatoes with physiological diseases |
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 |