CN114724141A - 一种基于机器视觉的大豆豆荚数量统计方法 - Google Patents
一种基于机器视觉的大豆豆荚数量统计方法 Download PDFInfo
- Publication number
- CN114724141A CN114724141A CN202210355852.7A CN202210355852A CN114724141A CN 114724141 A CN114724141 A CN 114724141A CN 202210355852 A CN202210355852 A CN 202210355852A CN 114724141 A CN114724141 A CN 114724141A
- Authority
- CN
- China
- Prior art keywords
- pod
- image
- soybean
- soybean pod
- images
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于机器视觉的大豆豆荚数量统计方法,包括:采集大豆豆荚图像,使用LabelImg对大豆豆荚图像进行标注,采用ResNet‑50作为基础网络搭建CSPResNet‑50网络,并结合特征金字塔FPN结构提取多尺度特征,最终构成新的FasterR‑CNN模型,其中在区域提议网络RPN中加入kmeans聚类算法调整区域提议网络RPN中的anchorboxes数量和尺寸,提取的多尺度特征输入到FastR‑CNN模型中,输出识别后的大豆豆荚图像,最后将识别的豆荚图像输入到计算机程序中统计大豆豆荚的数量。该方法可以提高大豆豆荚计数的速度,更好服务农业研究。
Description
技术领域
本发明涉及图像识别技术领域,更具体的涉及一种基于机器视觉的大豆豆荚数量统计方法。
背景技术
大豆作为重要的粮食作物,由于其植株结构复杂,生长期遮蔽严重等特点,使得很多精细表型都无法获取,缺乏实时、准确和批量的表型支持而使得其规律和遗传机理的研究停滞不前。传统的基于人工的方法由于费时费力又加之错误率高等原因,已逐步被一些内嵌了模型和算法的仪器所替代,自动化表型获取成为了现阶段人们追求的目标。近年来随着人工智能算法的迅速发展,深度学习技术已经在很多领域取得了巨大的成功,尤其是计算机视觉领域。与传统算法相比深度学习能够自动对图像特征进行提取。
在过去几十年中,研究者们在进行豆荚表型调查时,采取人工定时观测或者染色标记。这些方法主要依赖于人工调查,所以会存在很多问题:1、存在人为主观性误差,准确率低。2、仅能对阶段性落荚的总数进行统计,不能关注其时间变化规律。3、无法跟踪成荚的来源,位置和目标。4、田间统计成本高昂,无法进行高通量表型调查。诸多问题的存在使得我们对自动化、实时、高通量地获取豆荚信息的需求尤为迫切。此外,大豆落荚的时序变化规律、大豆成荚途径的回溯和跟踪等问题的研究都将依赖于荚个数的自动识别。高通量、高准确的豆荚识别与计数成为解决这些问题的关键。
目标检测算法是计算机视觉中重要的研究领域之一,不仅可以对图像中感兴趣的物体进行分类,还可以得到物体在图像中的具体位置。目标检测主要分为一阶段检测和两阶段检测,一阶段检测算法将对特征提取网络提取的特征直接进行类别预测与定位回归,两阶段检测首先对提取的特征进行第一阶段候选区域的生成,选出可能包含物体的区域,第二阶段对候选区域中的对象进行分类和回归。常见的一阶段检测算法有SSD、YOLO系列、CornerNet等,两阶段检测算法有R-CNN、Fast R-CNN、Faster R-CNN、Cascade R-CNN等,相较于一阶段检测,两阶段检测具有更高的检测精度、但速度较慢。
发明内容
本发明实施例提供一种基于机器视觉的大豆豆荚数量统计方法,包括:
采集大豆豆荚图像;
使用LabelImg对大豆豆荚图像进行人工标注;
在Faster R-CNN模型中使用kmeans聚类算法对人工标注的边界框的宽、高进行聚类,从而调整RPN模块中anchor boxes的纵横比,获得更加符合豆荚的anchor boxes纵横比预设值;
在CSPResNet-50网络中引入特征金字塔FPN结构,检测包含小目标豆荚的多尺度特征图像,输入Faster R-CNN模型中,获得识别后的大豆豆荚图像;
将识别后的大豆豆荚图像输入到计算机程序中,统计大豆豆荚的数量。
优选地,采集大豆豆荚图像包括:
采集整株大豆豆荚图像和局部豆荚图像。
优选地,还包括对大豆豆荚图片处理,其包括:
采用随机裁剪和随机水平翻转对原图进行图像增强,其中随机裁剪时裁剪大小随机,水平翻转时翻转图像的概率为0.5。
优选地,使用LabelImg对大豆豆荚图像进行标注时,每张图像最多11个豆荚、最少为1个豆荚,平均每张图像包含3.4个豆荚。
优选地,将识别后的大豆豆荚图像输入到计算机程序中统计大豆豆荚的数量包括:
运行预测程序,对输入的图片自动识别并计数,显示出每张图像中大豆豆荚个数。
优选地,CSPResNet-50网络,包括:
采用ResNet-50作为基础网络;
多个ResNet-50以一种逐阶段迭代的方式将前一个ResNet-50的输出特征作为输入特征的一部分提供给后续ResNet-50;
使用最后一个ResNet-50的特征映射进行目标检测。
本发明实施例提供一种基于机器视觉的大豆豆荚数量统计方法,与现有技术相比,其有益效果如下:
在以往的水稻育种产量研究中,计算大豆豆荚数量的时候往往由人工进行操作,该方法虽然能够得到一个较为准确的豆荚数,但是耗费时间长,工作量巨大给研究学者们带来了极大的不便。一种基于机器视觉的大豆荚识别和计数的自动获取方法极大的节约了时间,减少了人工成本,有助于推进大豆产量的研究。而且只需要我们通过身边的智能手机拍摄即可,不需要昂贵的拍摄器材,识别检测方法操作简单,易于上手。
附图说明
图1是本发明利用深度学习中目标检测方法对大豆荚识别和计数的方法流程示意图;
图2是本发明拍摄不同环境下大豆图像;
图3是本发明对大豆图像进行的图像增强处理;
图4是本发明采用的田间豆荚计数模型Faster R-CNN的详细网络结构;
图5是本发明对豆荚面积和边界框所占图像面积百分比的分布图;
图6是本发明利用kmeans算法对训练集中标注的边界框进行无监督聚类,聚类出anchorboxes数量和纵横比;
图7是本发明利用深度学习网络Faster R-CNN对豆荚图像的检测结果;
图8是本发明在调整anchorboxes的数量和纵横比前后的Faster R-CNN对豆荚图像的检测结果;
图9是本发明对大豆荚检测计数结果与真实结果的相关性检验图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1~9,本发明实施例提供一种基于机器视觉的大豆豆荚数量统计方法,该方法包括:
第一实施例
请参阅图1的流程图,及图2至图9,本发明提供的一种基于机器视觉的大豆豆荚识别和计数的方法,按以下步骤进行:一、大豆材料的获取:2019年6月至2019年10月,大豆试验材料种植于东北农业大学试验田基地,试验品种为DN252和HN51两个品种大豆,均为亚有限结荚习性。
二、大豆豆荚图像的获取:所有图像均在白天自然条件下使用iPhone8拍摄。拍摄角度为平视和俯视,对一些主茎、豆荚相互遮挡严重节点,采用俯视进行拍摄。总共采集2693张图像,图像大小为3024×4032像素。
三、数据制作:将图像调整为400×400像素,使用LabelImg进行标注,每张图像最多11个豆荚、最少为1个豆荚,平均每张图像包含3.4个豆荚。数据集格式按照COCO数据集格式制作,7:3划分为训练集与测试集。
四、对图像进行预处理:对图像采取图像增强的方法,通过对原始图像裁剪、旋转、放缩等方法增加输入图像的多样式,使模型面对不同场景下的图像有更好的鲁棒性和泛化能力。本文使用随机裁剪和随机水平翻转两种方式进行图像增强,随机裁剪将对原图进行随机大小裁剪,而随机水平翻转图像的概率为0.5。
五、配置环境:这里我们采用Python作为我们的程序语言,为了更快的进行检测,我们建议安装显卡厂商NVIDIA推出的运算平台CUDA以及配套的cuDNN,这样将大大提高检测效率,当然这不是必要的。其次我们推荐安装Anaconda,里面包含了我们需要的大量包,可以节省之后繁琐的安装时间,另外为了更加便捷的对代码进行操作,我们需要可以编译Python的编译器,这里我们选择PyCharm作为我们的编译器。由于我们使用的是PaddlePaddle框架进行的深度学习,因此在所有预备工作结束之后,我们还需要安装PaddlePaddle,如果CUDA和cuDNN能够正确安装并使用,这里可以安装GPU版本的PaddlePaddle,如果CUDA和cuDNN没有安装,提供了CPU版本的PaddlePaddle以供使用。
六、模型的建立:我们选取Faster R-CNN模型作为我们的目标模型,并采取以下方式进行优化。首先我们对大豆豆荚面积进行分析,存在较为明显尺度变化,而且有一部分标注边界框处于小目标范围。为了解决此问题,我们加入了特征金字塔网络FPN模块,它能从图像中提取多尺度特征,增强语义信息,加强了对小目标,多尺度物体的检测能力。其次采用kmeans方法对训练集中归一化后的标注边界框进行无监督聚类,用来调整anchorboxes数量和尺寸,生成更加符合豆荚形状的anchor boxes。最后比较多个特征提取网络选取CSPResNet-50作为主干。
七、模型的训练:运行训练程序,开始训练,通过不断地训练优化,我们得到了最优的训练结果,将最优权重保存到logs文件夹下。
八、大豆豆荚的识别与计数:运行预测程序,可对输入的图片自动识别并计数,最终显示出每张图像中大豆豆荚的个数,测试集的mAP达到91%,预测数量与实际数量的相关系数达到90.46%。
第二实施例
本发明的基于机器视觉的大豆豆荚识别和计数的方法与具体实施例一中任意实施方式不同的是,采用不同特征提取网络的方法进行训练测试。
第三实施例
本发明的基于机器视觉的大豆豆荚识别和计数的方法与具体实施例一和具体实施例二不同的是,我们采用没调整的anchorboxes的数量和纵横比。
具体实施例1
一、大豆材料的获取:2019年6月至2019年10月,大豆试验材料种植于东北农业大学试验田基地,试验品种为DN252和HN51两个品种大豆,均为亚有限结荚习性。
二、大豆豆荚图像的获取:所有图像均在白天自然条件下使用iPhone8拍摄。拍摄角度为平视和俯视,对一些主茎、豆荚相互遮挡严重节点,采用俯视进行拍摄。总共采集2693张图像,图像大小为3024×4032像素。
三、数据制作:将图像调整为400×400像素,使用LabelImg进行标注,每张图像最多11个豆荚、最少为1个豆荚,平均每张图像包含3.4个豆荚。数据集格式按照COCO数据集格式制作,7:3划分为训练集与测试集。
四、对图像进行预处理:对图像采取图像增强的方法,通过对原始图像裁剪、旋转、放缩等方法增加输入图像的多样式,使模型面对不同场景下的图像有更好的鲁棒性和泛化能力。本文使用随机裁剪和随机水平翻转两种方式进行图像增强,随机裁剪将对原图进行随机大小裁剪,而随机水平翻转图像的概率为0.5。
五、配置环境:这里我们采用Python作为我们的程序语言,为了更快的进行检测,我们建议安装显卡厂商NVIDIA推出的运算平台CUDA以及配套的cuDNN,这样将大大提高检测效率,当然这不是必要的。其次我们推荐安装Anaconda,里面包含了我们需要的大量包,可以节省之后繁琐的安装时间,另外为了更加便捷的对代码进行操作,我们需要可以编译Python的编译器,这里我们选择PyCharm作为我们的编译器。由于我们使用的是PaddlePaddle框架进行的深度学习,因此在所有预备工作结束之后,我们还需要安装PaddlePaddle,如果CUDA和cuDNN能够正确安装并使用,这里可以安装GPU版本的PaddlePaddle,如果CUDA和cuDNN没有安装,提供了CPU版本的PaddlePaddle以供使用。
六、模型的建立:我们选取Faster R-CNN模型作为我们的目标模型,并采取以下方式进行优化。首先我们对大豆豆荚面积进行分析,存在较为明显尺度变化,而且有一部分标注边界框处于小目标范围。为了解决此问题,我们加入了特征金字塔网络FPN模块,它能从图像中提取多尺度特征,增强语义信息,加强了对小目标,多尺度物体的检测能力。其次采用kmeans方法对训练集中归一化后的标注边界框进行无监督聚类,用来调整anchorboxes数量和尺寸,生成更加符合豆荚形状的anchor boxes。最后比较多个特征提取网络选取CSPResNet-50作为主干。
七、模型的训练:运行训练程序,开始训练,通过不断地训练优化,我们得到了最优的训练结果,将最优权重保存到logs文件夹下。
八、大豆豆荚的识别与计数:运行预测程序,可对输入的图片自动识别并计数,最终显示出每张图像中大豆豆荚的个数,测试集的mAP达到91%,预测数量与实际数量的相关系数达到90.46%。
对具体实施例1进行深度学习操作训练得到表1、表2、图5、图6、图7、图8、图9的训练检测结果。通过观察表1,可以得到深度学习网络Faster R-CNN在迭代了47次时已经趋于收敛,此时由CSPResNet-50+FPN作为主干网络的模型准确率大于由其他主干网络构成的模型。表2展示出调整过纵横比以后,模型的整体检测精度提高了0.1%,对小目标的检测能力提高了0.5%。图5是对训练集中标注的边界框所占的像素面积进行分析的结果,结果显示标注的边界框在图像中所占面积的百分比在0-0.25之间,存在较为明显尺度变化,而且很大一部分标注边界框处于小目标范围,对此加入FPN解决此问题。图6不同K值条件下的聚类图和不同anchorboxes数量与Mean IOU关系图,最终选择18个anchorboxes,进而对aspectratios大小相近的进行相加后再求均值,最终选定aspect ratios为[0.75,1.8,3.2]进行试验。图7展示出对不同环境情况下豆荚都有良好的检测效果,比如颜色相近、密集和重叠的豆荚也有良好的检测结果。图8(a)为修改anchorboxes数量与纵横比后训练的模型,图4-8(b)是使用默认值训练的模型。从局部放大图来看,如图红色箭头所指,经调整后的预测边界框更加符合豆荚真实的形状,细节处理上更好。图9(a)展示出模型预测值与真实值的误差频率百分比,预测误差较小(预测误差为0与预测误差为1占比为96%)。图9(b)为真实值与预测值线性相关的气泡图,气泡的大小代表重叠点的数量,真实值与所提出模型的预测值之间的皮尔逊相关系数的平方为0.9046,这表明本发明对不同场景下豆荚都有着良好的计数能力。
表1不同Backbone作为特征提取网络的对比
表2调整anchorboxes纵横比试验结果对比
以上公开的仅为本发明的几个具体实施例,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明的精神和范围,但是,本发明实施例并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围内。
Claims (5)
1.一种基于机器视觉的大豆豆荚数量统计方法,其特征在于,包括:
采集大豆豆荚图像;
使用LabelImg对大豆豆荚图像进行人工标注;
在Faster R-CNN模型中使用kmeans聚类算法对人工标注的边界框的宽、高进行聚类,根据聚类后边界框的宽、高调整RPN模块中anchor boxes的纵横比,获得豆荚的anchorboxes纵横比预设值;
在CSPResNet-50网络中引入特征金字塔FPN结构,检测包含小目标豆荚的多尺度特征图像,将多尺度特征图像输入Faster R-CNN模型中,获得识别后的大豆豆荚图像;
根据识别后的大豆豆荚图像,统计大豆豆荚的数量。
2.如权利要求1所述的一种基于机器视觉的大豆豆荚数量统计方法,其特征在于,所述采集大豆豆荚图像包括:
采集整株大豆豆荚图像和局部豆荚图像。
3.如权利要求1所述的一种基于机器视觉的大豆豆荚数量统计方法,其特征在于,还包括对大豆豆荚图片处理,其包括:
采用随机裁剪和随机水平翻转对原图进行图像增强,其中随机裁剪时裁剪大小随机,水平翻转时翻转图像的概率为0.5。
4.如权利要求1所述的一种基于机器视觉的大豆豆荚数量统计方法,其特征在于,所述使用LabelImg对大豆豆荚图像进行标注时,每张图像最多11个豆荚、最少为1个豆荚,平均每张图像包含3.4个豆荚。
5.如权利要求1所述的一种基于机器视觉的大豆豆荚数量统计方法,其特征在于,所述CSPResNet-50网络,包括:
采用ResNet-50作为基础网络;
多个ResNet-50以一种逐阶段迭代的方式将前一个ResNet-50的输出特征作为输入特征的一部分提供给后续ResNet-50;
使用最后一个ResNet-50的特征映射进行目标检测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210355852.7A CN114724141A (zh) | 2022-04-06 | 2022-04-06 | 一种基于机器视觉的大豆豆荚数量统计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210355852.7A CN114724141A (zh) | 2022-04-06 | 2022-04-06 | 一种基于机器视觉的大豆豆荚数量统计方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114724141A true CN114724141A (zh) | 2022-07-08 |
Family
ID=82241557
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210355852.7A Pending CN114724141A (zh) | 2022-04-06 | 2022-04-06 | 一种基于机器视觉的大豆豆荚数量统计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114724141A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115222717A (zh) * | 2022-07-29 | 2022-10-21 | 四川农业大学 | 一种大豆种荚快速计数方法、装置及存储介质 |
-
2022
- 2022-04-06 CN CN202210355852.7A patent/CN114724141A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115222717A (zh) * | 2022-07-29 | 2022-10-21 | 四川农业大学 | 一种大豆种荚快速计数方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wu et al. | Using channel pruning-based YOLO v4 deep learning algorithm for the real-time and accurate detection of apple flowers in natural environments | |
Li et al. | A high-precision detection method of hydroponic lettuce seedlings status based on improved Faster RCNN | |
Parvathi et al. | Detection of maturity stages of coconuts in complex background using Faster R-CNN model | |
CN110619632B (zh) | 一种基于Mask R-CNN的芒果实例对抗分割方法 | |
Zhu et al. | In-field automatic observation of wheat heading stage using computer vision | |
CN109409365A (zh) | 一种基于深度目标检测的待采摘水果识别和定位方法 | |
CN110569747A (zh) | 一种利用图像金字塔与Faster-RCNN快速统计大田水稻稻穗数的方法 | |
CN113191334B (zh) | 一种基于改进CenterNet的植物冠层密集叶片计数方法 | |
CN110222215A (zh) | 一种基于f-ssd-iv3的作物害虫检测方法 | |
CN111540006A (zh) | 基于深度迁移学习的植物气孔智能检测与识别方法及系统 | |
WO2014054042A1 (en) | Device and method for detecting plantation rows | |
CN115099297B (zh) | 一种基于改进型YOLO v5模型的大豆植株表型数据统计方法 | |
CN115512123A (zh) | 一种海鲜菇多时期关键生长特征提取及时期分类方法 | |
CN114724141A (zh) | 一种基于机器视觉的大豆豆荚数量统计方法 | |
Dolata et al. | Instance segmentation of root crops and simulation-based learning to estimate their physical dimensions for on-line machine vision yield monitoring | |
Du et al. | Spikelets detection of table grape before thinning based on improved YOLOV5s and Kmeans under the complex environment | |
Zhao et al. | Transient multi-indicator detection for seedling sorting in high-speed transplanting based on a lightweight model | |
CN117576195A (zh) | 一种植物叶片形态识别方法 | |
CN116258844A (zh) | 一种棉花叶片表型性状快速精准鉴定方法 | |
CN114612787A (zh) | 一种尺度变化策略支持的城市绿地深度学习提取方法 | |
CN111046861B (zh) | 识别红外影像的方法、构建识别模型的方法及应用 | |
CN116012571A (zh) | 一种融合注意力机制的玉米籽粒破碎率实时检测方法 | |
CN113344008A (zh) | 基于深度学习的茎秆组织解剖学特征参数高通量提取方法 | |
CN109308936B (zh) | 一种粮食作物产地的识别方法、识别装置及终端识别设备 | |
Yang et al. | Multi-Growth Period Tomato Fruit Detection Using Improved Yolov5 |
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 |