CN110472575B - 一种基于深度学习和计算机视觉的串番茄成熟度检测方法 - Google Patents
一种基于深度学习和计算机视觉的串番茄成熟度检测方法 Download PDFInfo
- Publication number
- CN110472575B CN110472575B CN201910752091.7A CN201910752091A CN110472575B CN 110472575 B CN110472575 B CN 110472575B CN 201910752091 A CN201910752091 A CN 201910752091A CN 110472575 B CN110472575 B CN 110472575B
- Authority
- CN
- China
- Prior art keywords
- target
- detection
- image
- tomato
- stage
- 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
- 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/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/10—Image acquisition
- G06V10/12—Details of acquisition arrangements; Constructional details thereof
- G06V10/14—Optical characteristics of the device performing the acquisition or on the illumination arrangements
- G06V10/141—Control of illumination
-
- 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/22—Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
-
- 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/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- 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/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
- G06V10/267—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
-
- 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/32—Normalisation of the pattern dimensions
-
- 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/56—Extraction of image or video features relating to colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Health & Medical Sciences (AREA)
- Investigating Or Analysing Materials By Optical Means (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及计算机视觉技术和串番茄成熟度检测技术领域,具体涉及一种基于深度学习和计算机视觉的串番茄成熟度检测方法。该方法包括:建立基于深度学习的第一级SSD目标检测模型和第二级AlexNet目标检测模型;获取第一级SSD目标检测网络的最后一层输出的包含所有检测目标的位置及置信度信息的一级区域信息;计算待检测图像中的各检测目标在世界坐标系下的实际长度,并判断实际长度是否符合串番茄合格条件;获取第二级AlexNet目标检测网络的最后一层输出的包含该检测目标的所有单个果实的位置及置信度信息的二级区域信息;计算串番茄果实成熟度。本发明识别检测速度快、泛化能力强、可移植性较强,实现串番茄果实成熟度的实时检测。
Description
技术领域
本发明涉及计算机视觉技术和串番茄成熟度检测技术领域,具体涉及一种基于深度学习和计算机视觉的串番茄成熟度检测方法。
背景技术
串番茄,又名穗番茄,是一种成串收获上市的番茄品种,其突出的优点是果实品质较好、肉质较厚、富含多种维生素、口感特殊、易于种植且种植效益好,因此大棚串番茄成为了广大菜农争相种植的蔬菜品种。当前我国种植的串番茄在收获时基本上依靠人工来完成,其采摘费用约为1.05万元/hm2,占总生产成本的30%以上,而采用自动化采收,对保障串番茄的安全供应和高效生产具有重要意义。在温室环境下,采摘机器人进行串番茄的采摘作业时首先要根据串番茄的成熟度判别果实是否适合采收,进而识别定位果实,最终引导机械手完成果实采收。由于采摘机器人工作在非结构环境,受自然光照、生物多样性等不确定因素的影响,如何识别串番茄并得到成熟度信息成为难点。
近些年来,很多基于传统算法的番茄检测识别算法被相继提出,受限于传统算法自身的局限性,传统算法场景适应性差,对于光照变化明显、背景干扰严重、目标被遮挡的情况检测效果较差,因而为了提高串番茄果实在非结构环境下的识别准确率,提高优质成熟串番茄的自动化采摘效率,传统算法逐渐被鲁棒性更强的深度学习检测算法所取代。基于深度学习的目标检测主要分为两类:一类为基于区域的目标检测与识别算法,一类为基于回归的目标检测与识别算法,其中基于回归的目标检测与识别算法实时性较好、准确率较高。
发明内容
针对目前采摘机器人对于采收串番茄成熟度判别的需求,本发明的目的是提供一种基于深度学习和计算机视觉的串番茄成熟度检测方法,能够满足真实采摘作业时串番茄实时检测的需要,识别检测速度快,适应真实采摘作业时串番茄生长环境的复杂性,泛化能力强,对于光照变化复杂及遮挡、背景干扰等有较强的抗干扰能力,能够根据果实长度和成熟度自动筛选适合采摘的优质串番茄,避免造成误采未达标或未成熟果实的情况发生,可移植性较强,可在多个操作平台植入使用,实现串番茄果实成熟度的实时检测,解决在非结构化环境下采摘目标信息获取鲁棒性的问题。
为了实现上述目的,本发明提供了如下技术方案:
一种基于深度学习和计算机视觉的串番茄成熟度检测方法,该方法包括如下步骤:
步骤1、建立基于深度学习的第一级SSD目标检测模型和第二级AlexNet目标检测模型;
步骤1.1、采集多幅串番茄目标图像,建立串番茄目标图像数据集,将整串串番茄果实作为目标对串番茄目标图像数据集中的各图像进行一级标注,得到含有标注框的图像,标注框内即为整串串番茄果实;其中,一级标注信息包括目标的一级类别和一级区域信息;一级类别表示标注框内是否包含串番茄果实;一级区域信息包括整串串番茄果实的位置;将标注后的串番茄目标图像数据集按照VOC格式生成第一级SSD目标检测样本库;
步骤1.2、建立第一级SSD目标检测网络,用步骤1.1获得的第一级SSD目标检测样本库训练得到第一级SSD目标检测模型;
步骤1.3、按照步骤1.1中的第一级SSD目标检测样本库的标注信息输出标注框内的图像,并对图像进行归一化处理,将归一化后的图像作为第二级目标检测网络的图像数据集,将串番茄的单个果实作为目标对图像数据集中各图像进行二级标注,得到第二级AlexNet目标检测样本库,二级标注信息包括目标的二级类别和二级区域信息,二级类别表示串番茄的单个果实为成熟果实或未成熟果实;二级区域信息包括不同成熟度的串番茄的单个果实的位置;
步骤1.4、建立第二级AlexNet目标检测网络,用步骤1.3获得的第二级AlexNet目标检测样本库训练得到第二级AlexNet目标检测模型;
步骤2、将一幅含有一个或多个检测目标的待检测图像输入到步骤1获得的第一级SSD目标检测模型中,获取第一级SSD目标检测网络的最后一层输出的包含所有检测目标的位置及置信度信息的一级区域信息L1:
L1={li|li=(xmin,xmax,ymin,ymax,height,width,si,cl1),i=1,2…}
其中,检测目标为整串串番茄果实;li为第i个检测目标,xmin为第i个检测目标所在区域的左上角及左下角点的横坐标,xmax为第i个检测目标所在区域的右上角及右下角点的横坐标,ymin为第i个检测目标所在区域的左上角及右上角点的纵坐标,ymax为第i个检测目标所在区域的左下角及右下角点的纵坐标,height为输入的待检测图像高度,width为输入的待检测图像宽度,si为第i个检测目标所在区域内含有目标的置信度,cl1为第i个检测目标所在区域内的类别,取值为1,即表示包含整串串番茄果实;
步骤3、根据图像像素坐标和世界坐标之间的矩阵转换关系,以及包含步骤2中所有检测目标的位置及置信度信息的一级区域信息L1,计算待检测图像中的各检测目标在世界坐标系下的实际长度Y,并判断实际长度Y是否符合串番茄合格条件:180mm<Y<250mm,若符合串番茄合格条件,则生成该检测目标所在区域图像,进行步骤4;若不符合串番茄合格条件,则输出检测失败,结束检测;
所述图像像素坐标和世界坐标之间的矩阵转换关系式如下:
其中,Zc为相机坐标系下点的Z坐标值,u、v分别为像素坐标系下点的横、纵坐标值,Xw、Yw、Zw分别为世界坐标系下点的X、Y、Z坐标值,dx为像素坐标系下x轴方向上的分辨率,dy为像素坐标系下y轴方向上的分辨率,f为相机焦距,fx为fy为R是一个4×4矩阵为世界坐标系变换到相机坐标系的旋转矩阵,T是一个3×1矩阵为从世界坐标系变换到相机坐标系的平移矩阵,(u0,v0)为参考坐标是图像平面中心坐标;代表一个取值为[0 00]的矩阵;
步骤4、将步骤3生成的符合串番茄合格条件的检测目标所在区域图像采用与步骤1.3相同的归一化处理方法进行归一化处理,并将处理结果输入至步骤1获得的第二级AlexNet目标检测模型中,获取第二级AlexNet目标检测网络的最后一层输出的包含该检测目标的所有单个果实的位置及置信度信息的二级区域信息L2:
L2={lij|lij=(xmin,xmax,ymin,ymax,height,width,sij,cl2),i=1,2…;j=1,2…}
其中,lij为第i个检测目标的第j个果实,xmin为第i个检测目标的第j个果实所在区域的左上角及左下角点的横坐标,xmax为第i个检测目标的第j个果实所在区域的右上角及右下角点的横坐标,ymin为第i个检测目标的第j个果实所在区域的左上角及右上角点的纵坐标,ymax为第i个检测目标的第j个果实所在区域的左下角及右下角点的纵坐标,height为输入的检测目标所在区域图像高度,width为输入的检测目标所在区域图像宽度,sij为第i个检测目标的第j个果实所在区域内含有果实的置信度,cl2为第i个检测目标的第j个果实所在区域内的类别,类别分为成熟果实,取值为1,以及未成熟果实,取值为2;
然后统计该检测目标所在区域图像中分类为成熟果实的个数C1和分类为未成熟果实的个数C2;
步骤5、通过如下公式计算串番茄果实成熟度:其中,A为串番茄果实成熟度,C1为第二级AlexNet目标检测网络输出的所有检测目标所在区域中分类为成熟果实的个数,C2为第二级Alex Net目标检测网络输出的所有检测目标所在区域中分类为未成熟果实的个数。
所述步骤1中,第一级SSD目标检测样本库分为训练集和测试集,其中,训练集用来进行训练得到第一级SSD目标检测模型,测试集用来验证模型的可靠程度。
所述步骤1.3中,归一化处理的具体步骤如下:
步骤1.3.1、将第一级SSD目标检测样本库的标注信息输出标注框内的图像与一张与其高度一致、宽度为224像素的黑色图像进行合成,得到左侧为标注框内图像,右侧为黑色图像的一组图像集;
步骤1.3.2、将步骤1.3.1中得到的图像集全部归一化成224×224的图像,并保存作为第二级目标检测网络的图像数据集。
所述步骤3中,计算检测目标在世界坐标系下的实际长度Y的具体步骤如下:
步骤3.1、对待检测图像中的各检测目标所在区域进行RGB颜色空间到HSV空间的转换;
步骤3.2、按照设置范围H:0-180、S:100-255、V:100-255进行阈值分割;
步骤3.3、进行形态学闭处理和腐蚀操作得到较为完整的串番茄图像;
步骤3.4、使用OpenCV库检测步骤3.3获得的完整的串番茄图像最小包围矩形,并返回边界信息,使用图像像素坐标和世界坐标之间的矩阵转换关系式计算当前最小包围矩形的高,即为检测目标在世界坐标系下的实际长度Y。
与现有技术相比,本发明的有益效果在于:
1.本发明提出的串番茄成熟度检测方法使用深度学习对大量目标样本进行训练得到检测模型,相较于传统识别模型具有准确率高、泛化能力强的特点,对于光照变化复杂及遮挡、背景干扰等有较强的抗干扰能力。
2.本发明具有实时性:SSD目标检测网络为基于回归的目标检测算法,本身就具有检测实时性高的特点。而AlexNet由于网络结构简单、功耗小,所以也能够达到实时检测的要求,本发明设计了SSD网络级联AlexNet的深度学习目标检测框架,在成功实现检测要求的同时没有明显增加检测处理耗时,保证了果实识别的实时性。
3.本发明为实现自动化采摘作业提供了更多的信息,为实现精准串番茄采摘提供了可能。
4.本发明易于移植,可在多个操作平台植入使用,对推动农业信息化有积极作用。
附图说明
图1为本发明基于深度学习和计算机视觉的串番茄成熟度检测方法的流程图;
图2为本发明实施例采用的图像获取系统示意图;
图3为本发明第一级SSD目标检测网络示意图;
图4为本发明第二级AlexNet目标检测网络示意图。
具体实施方式
下面结合附图和实施例对本发明进行进一步说明。
如图1所示,本发明的一种基于深度学习和计算机视觉的串番茄成熟度检测方法,包括如下步骤:
步骤1、建立基于深度学习的第一级SSD目标检测模型和第二级AlexNet目标检测模型;具体步骤如下:
步骤1.1、采集多幅串番茄目标图像,建立串番茄目标图像数据集,将整串串番茄果实作为目标对串番茄目标图像数据集中的各图像进行一级标注,得到含有标注框的图像,标注框内即为整串串番茄果实;其中,一级标注信息包括目标的一级类别和一级区域信息;一级类别表示标注框内是否包含串番茄果实;一级区域信息包括整串串番茄果实的位置;
将标注后的串番茄目标图像数据集按照VOC格式生成第一级SSD目标检测样本库;
优选地,所述步骤1中,第一级SSD目标检测样本库分为训练集和测试集,其中,训练集用来进行训练得到第一级SSD目标检测模型,测试集用来验证模型的可靠程度。
步骤1.2、建立第一级SSD目标检测网络,用步骤1.1获得的第一级SSD目标检测样本库训练得到第一级SSD目标检测模型;
步骤1.3、按照步骤1.1中的第一级SSD目标检测样本库的标注信息输出标注框内的图像,并对图像进行归一化处理,将归一化后的图像作为第二级目标检测网络的图像数据集,将串番茄的单个果实作为目标对图像数据集中各图像进行二级标注,得到第二级AlexNet目标检测样本库,二级标注信息包括目标的二级类别和二级区域信息,二级类别表示串番茄的单个果实为成熟果实或未成熟果实;二级区域信息包括不同成熟度的串番茄的单个果实的位置。
所述归一化处理的具体步骤如下:
步骤1.3.1、将第一级SSD目标检测样本库的标注信息输出标注框内的图像与一张与其高度一致、宽度为224像素的黑色图像进行合成,得到左侧为标注框内图像,右侧为黑色图像的一组图像集;
步骤1.3.2、将步骤1.3.1中得到的图像集全部归一化成224×224的图像,并保存作为第二级目标检测网络的图像数据集。
步骤1.4、建立第二级AlexNet目标检测网络,用步骤1.3获得的第二级AlexNet目标检测样本库训练得到第二级AlexNet目标检测模型。
步骤2、将一幅含有一个或多个检测目标的待检测图像输入到步骤1获得的第一级SSD目标检测模型中,获取第一级SSD目标检测网络的最后一层输出的包含所有检测目标的位置及置信度信息的一级区域信息L1:
L1={li|li=(xmin,xmax,ymin,ymax,height,width,si,cl1),i=1,2…}
其中,检测目标为整串串番茄果实;li为第i个检测目标,xmin为第i个检测目标所在区域的左上角及左下角点的横坐标,xmax为第i个检测目标所在区域的右上角及右下角点的横坐标,ymin为第i个检测目标所在区域的左上角及右上角点的纵坐标,ymax为第i个检测目标所在区域的左下角及右下角点的纵坐标,height为输入的待检测图像高度,width为输入的待检测图像宽度,si为第i个检测目标所在区域内含有目标的置信度,cl1为第i个检测目标所在区域内的类别,取值为1(即表示包含整串串番茄果实)。
步骤3、根据图像像素坐标和世界坐标之间的矩阵转换关系,以及包含步骤2中所有检测目标的位置及置信度信息的一级区域信息L1,计算待检测图像中的各检测目标在世界坐标系下的实际长度Y,并判断实际长度Y是否符合串番茄合格条件:180mm<Y<250mm,若符合串番茄合格条件,则生成该检测目标所在区域图像,进行步骤4;若不符合串番茄合格条件,则输出检测失败,结束检测。
所述步骤3中,计算检测目标在世界坐标系下的实际长度Y的具体步骤如下:
步骤3.1、对待检测图像中的各检测目标所在区域进行RGB颜色空间到HSV空间的转换;
步骤3.2、按照设置范围H:0-180、S:100-255、V:100-255进行阈值分割;
步骤3.3、进行形态学闭处理和腐蚀操作得到较为完整的串番茄图像;
步骤3.4、使用OpenCV库检测步骤3.3获得的完整的串番茄图像最小包围矩形,并返回边界信息,使用图像像素坐标和世界坐标之间的矩阵转换关系式计算当前最小包围矩形的高,即为检测目标在世界坐标系下的实际长度Y。
所述图像像素坐标和世界坐标之间的矩阵转换关系式如下:
其中,Zc为相机坐标系下点的Z坐标值,u、v分别为像素坐标系下点的横、纵坐标值,Xw、Yw、Zw分别为世界坐标系下点的X、Y、Z坐标值,dx为像素坐标系下x轴方向上的分辨率,dy为像素坐标系下y轴方向上的分辨率,f为相机焦距,fx为fy为R是一个4×4矩阵为世界坐标系变换到相机坐标系的旋转矩阵,T是一个3×1矩阵为从世界坐标系变换到相机坐标系的平移矩阵,(u0,v0)为参考坐标是图像平面中心坐标;代表一个取值为[0 00]的矩阵。
步骤4、将步骤3生成的符合串番茄合格条件的检测目标所在区域图像采用与步骤1.3相同的归一化处理方法进行归一化处理,并将处理结果输入至步骤1获得的第二级AlexNet目标检测模型中,获取第二级AlexNet目标检测网络的最后一层输出的包含该检测目标的所有单个果实的位置及置信度信息的二级区域信息L2:
L2={lij|lij=(xmin,xmax,ymin,ymax,height,width,sij,cl2),i=1,2…;j=1,2…}
其中,lij为第i个检测目标的第j个果实,xmin为第i个检测目标的第j个果实所在区域的左上角及左下角点的横坐标,xmax为第i个检测目标的第j个果实所在区域的右上角及右下角点的横坐标,ymin为第i个检测目标的第j个果实所在区域的左上角及右上角点的纵坐标,ymax为第i个检测目标的第j个果实所在区域的左下角及右下角点的纵坐标,height为输入的检测目标所在区域图像高度,width为输入的检测目标所在区域图像宽度,sij为第i个检测目标的第j个果实所在区域内含有果实的置信度,cl2为第i个检测目标的第j个果实所在区域内的类别,类别分为成熟果实,取值为1,以及未成熟果实,取值为2;
然后统计该检测目标所在区域图像中分类为成熟果实的个数C1和分类为未成熟果实的个数C2。
步骤5、通过如下公式计算串番茄果实成熟度:其中,A为串番茄果实成熟度,C1为第二级AlexNet目标检测网络输出的所有检测目标所在区域中分类为成熟果实的个数,C2为第二级AlexNet目标检测网络输出的所有检测目标所在区域中分类为未成熟果实的个数。
实施例
(1)建立基于深度学习的第一级SSD目标检测模型和第二级AlexNet目标检测模型;通过如图2所示的串番茄图像获取系统采集多幅串番茄目标图像,建立串番茄目标图像数据集,首先使用相机拍摄大棚环境下的不同姿态、光照下的串番茄果实,相机选用IntelRealsense D435,相机安放在三脚架上,三脚架固定于大棚内的导轨车上,距地面高度约为120cm,调整相机的光轴平行于地面,以获取完整的串番茄果实图像,目标点距离相机在45-60cm之间,采集图像3000幅,单幅图像大小为1024×960像素,PC机作为图像处理设备。对拍摄图片进行筛选作为串番茄目标图像数据集。将整串串番茄果实作为目标对串番茄目标图像数据集中的各图片进行一级标注,一级标注信息的内容为:目标的一级类别和一级区域信息(包括串番茄果实的位置和尺寸);将得到的标注结果按照VOC格式转换成为第一级SSD目标检测样本库。
优选地,利用数据增强技术对初始串番茄目标图像数据集进行数据扩充,得到更加丰富的训练样本。为保证模型能具有很强的泛化能力,考虑到串番茄果实的大棚实际种植环境,使用以下一种或组合的形式来增加输入数据的量:旋转、光照、加噪等。具体内容为:
1.对图像进行旋转:对图像进行水平旋转。
2.对图像进行光照调节:对图像进行整体变亮或变暗操作。
3.对图像进行加噪操作:对图像进行添加高斯噪声的操作。
经过数据增强,可以得到种类更多,情况更为丰富的串番茄果实图形数据,有利于模型的训练,其中标记的识别框会随不同的变换保持着相对位置不变,从样本结果来看相当于得到了更多更丰富的样本数据。
得到第一级SSD目标检测样本库后,将样本库分成训练数据库和测试数据库两部分,训练数据库主要用来训练,测试数据库用来验证第一级SSD目标检测网络的学习效果,并通过反复训练得到较优的第一级SSD目标检测模型。
第一级SSD目标检测网络结构如图3所示,网络采用VGG16作为其基础模型,将VGG16中的FC6和FC7层替换为卷积层Conv6和Conv7层,去掉所有Dropout层和FC8层,添加了Atrous算法(hole算法),将Pool5从2x2-S2变换到3x3-S1。SSD抽取Conv4_3、Conv7、Conv8_2、Conv9_2、Conv10_2、Conv11_2层的feature map,然后分别在这些feature map层上面的每一个点构造6个不同尺度大小的Bounding Box,然后分别进行检测和分类,生成多个Bounding Box。将不同feature map获得的Bounding Box结合起来,经过NMS(非极大值抑制)方法来抑制掉一部分重叠或者不正确的Bounding Box,生成最终的Bounding Box集合(即检测结果)。训练时设计的参数如下:batch size:32、学习率:0.0001(step:0-5000),0.00001(step:5000-20000);优化算法:Adam。
第二级AlexNet目标检测网络结构如图4所示,包括了8个参数层:5个卷积层和3个全连接层。按照第一级SSD目标检测样本库的标注信息输出标注框内的图像并保存;将上述图像按照原图大小不变与一张与原图高度一致、宽度为224[单位]的黑色图像进行合成,得到左侧是标注框内图像,右侧为黑色图像的一组图像集;将上一步骤中得到的图像集全部归一化成224×224的图像,并保存作为第二级AlexNet目标检测网络的图像数据集;上述过程可通过程序代码的设计自主运行,将串番茄的单个果实作为目标对图像数据集中各图像进行二级标注,二级标注信息包括目标的二级类别和二级区域信息,二级类别表示串番茄的单个果实为成熟果实或未成熟果实;二级区域信息包括不同成熟度的串番茄的单个果实的位置。生成的样本具有图像尺寸一致的特点,便于第二级AlexNet目标检测模型的训练。
(2)将一幅含有若干检测目标的待检测图像输入到步骤1获得的第一级SSD目标检测模型中,获取第一级SSD目标检测网络的最后一层输出的包含所有检测目标的位置及置信度信息的一级区域信息L1。
(3)根据以及区域信息L1以及图像像素坐标与世界坐标之间的矩阵转换关系,待检测图像中的各检测目标在世界坐标系下的实际长度Y,并判断实际长度Y是否符合串番茄合格条件:180mm<Y<250mm,若符合串番茄合格条件,则生成该检测目标所在区域图像,进行下一步骤;若不符合则输出检测失败。
(4)由于第二级AlexNet目标检测模型在训练过程中的样本库图像尺寸一致,所以从第一级SSD网络输出的检测目标所在区域图像也要经过同步骤(4)的归一化处理,得到224×224的图像后再输入第二级AlexNet目标检测模型。相比第一级SSD目标检测网络,第二级AlexNet目标检测网络需要检测的目标相对简单所以网络结构也相对简单,检测耗时相对较少,能够很好地实现实时检测的目的。
Claims (4)
1.一种基于深度学习和计算机视觉的串番茄成熟度检测方法,其特征在于:该方法包括如下步骤:
步骤1、建立基于深度学习的第一级SSD目标检测模型和第二级AlexNet目标检测模型;
步骤1.1、采集多幅串番茄目标图像,建立串番茄目标图像数据集,将整串串番茄果实作为目标对串番茄目标图像数据集中的各图像进行一级标注,得到含有标注框的图像,标注框内即为整串串番茄果实;其中,一级标注信息包括目标的一级类别和一级区域信息;一级类别表示标注框内是否包含串番茄果实;一级区域信息包括整串串番茄果实的位置;将标注后的串番茄目标图像数据集按照VOC格式生成第一级SSD目标检测样本库;
步骤1.2、建立第一级SSD目标检测网络,用步骤1.1获得的第一级SSD目标检测样本库训练得到第一级SSD目标检测模型;
步骤1.3、按照步骤1.1中的第一级SSD目标检测样本库的标注信息输出标注框内的图像,并对图像进行归一化处理,将归一化后的图像作为第二级目标检测网络的图像数据集,将串番茄的单个果实作为目标对图像数据集中各图像进行二级标注,得到第二级AlexNet目标检测样本库,二级标注信息包括目标的二级类别和二级区域信息,二级类别表示串番茄的单个果实为成熟果实或未成熟果实;二级区域信息包括不同成熟度的串番茄的单个果实的位置;
步骤1.4、建立第二级AlexNet目标检测网络,用步骤1.3获得的第二级AlexNet目标检测样本库训练得到第二级AlexNet目标检测模型;
步骤2、将一幅含有一个或多个检测目标的待检测图像输入到步骤1获得的第一级SSD目标检测模型中,获取第一级SSD目标检测网络的最后一层输出的包含所有检测目标的位置及置信度信息的一级区域信息L1:
L1={li|li=(xmin,xmax,ymin,ymax,height,width,si,cl1),i=1,2…}
其中,检测目标为整串串番茄果实;li为第i个检测目标,xmin为第i个检测目标所在区域的左上角及左下角点的横坐标,xmax为第i个检测目标所在区域的右上角及右下角点的横坐标,ymin为第i个检测目标所在区域的左上角及右上角点的纵坐标,ymax为第i个检测目标所在区域的左下角及右下角点的纵坐标,height为输入的待检测图像高度,width为输入的待检测图像宽度,si为第i个检测目标所在区域内含有目标的置信度,cl1为第i个检测目标所在区域内的类别,取值为1,即表示包含整串串番茄果实;
步骤3、根据图像像素坐标和世界坐标之间的矩阵转换关系,以及包含步骤2中所有检测目标的位置及置信度信息的一级区域信息L1,计算待检测图像中的各检测目标在世界坐标系下的实际长度Y,并判断实际长度Y是否符合串番茄合格条件:180mm<Y<250mm,若符合串番茄合格条件,则生成该检测目标所在区域图像,进行步骤4;若不符合串番茄合格条件,则输出检测失败,结束检测;
所述图像像素坐标和世界坐标之间的矩阵转换关系式如下:
其中,Zc为相机坐标系下点的Z坐标值,u、v分别为像素坐标系下点的横、纵坐标值,Xw、Yw、Zw分别为世界坐标系下点的X、Y、Z坐标值,dx为像素坐标系下x轴方向上的分辨率,dy为像素坐标系下y轴方向上的分辨率,f为相机焦距,fx为fy为R是一个4×4矩阵为世界坐标系变换到相机坐标系的旋转矩阵,T是一个3×1矩阵为从世界坐标系变换到相机坐标系的平移矩阵,(u0,v0)为参考坐标是图像平面中心坐标;代表一个取值为[0 0 0]的矩阵;
步骤4、将步骤3生成的符合串番茄合格条件的检测目标所在区域图像采用与步骤1.3相同的归一化处理方法进行归一化处理,并将处理结果输入至步骤1获得的第二级AlexNet目标检测模型中,获取第二级AlexNet目标检测网络的最后一层输出的包含该检测目标的所有单个果实的位置及置信度信息的二级区域信息L2:
L2={lij|lij=(xmin,xmax,ymin,ymax,height,width,sij,cl2),i=1,2…;j=1,2…}
其中,lij为第i个检测目标的第j个果实,xmin为第i个检测目标的第j个果实所在区域的左上角及左下角点的横坐标,xmax为第i个检测目标的第j个果实所在区域的右上角及右下角点的横坐标,ymin为第i个检测目标的第j个果实所在区域的左上角及右上角点的纵坐标,ymax为第i个检测目标的第j个果实所在区域的左下角及右下角点的纵坐标,height为输入的检测目标所在区域图像高度,width为输入的检测目标所在区域图像宽度,sij为第i个检测目标的第j个果实所在区域内含有果实的置信度,cl2为第i个检测目标的第j个果实所在区域内的类别,类别分为成熟果实,取值为1,以及未成熟果实,取值为2;
然后统计该检测目标所在区域图像中分类为成熟果实的个数C1和分类为未成熟果实的个数C2;
2.根据权利要求1所述的基于深度学习和计算机视觉的串番茄成熟度检测方法,其特征在于:所述步骤1中,第一级SSD目标检测样本库分为训练集和测试集,其中,训练集用来进行训练得到第一级SSD目标检测模型,测试集用来验证模型的可靠程度。
3.根据权利要求1所述的基于深度学习和计算机视觉的串番茄成熟度检测方法,其特征在于:所述步骤1.3中,归一化处理的具体步骤如下:
步骤1.3.1、将第一级SSD目标检测样本库的标注信息输出标注框内的图像与一张与其高度一致、宽度为224像素的黑色图像进行合成,得到左侧为标注框内图像,右侧为黑色图像的一组图像集;
步骤1.3.2、将步骤1.3.1中得到的图像集全部归一化成224×224的图像,并保存作为第二级目标检测网络的图像数据集。
4.根据权利要求1所述的基于深度学习和计算机视觉的串番茄成熟度检测方法,其特征在于:所述步骤3中,计算检测目标在世界坐标系下的实际长度Y的具体步骤如下:
步骤3.1、对待检测图像中的各检测目标所在区域进行RGB颜色空间到HSV空间的转换;
步骤3.2、按照设置范围H:0-180、S:100-255、V:100-255进行阈值分割;
步骤3.3、进行形态学闭处理和腐蚀操作得到较为完整的串番茄图像;
步骤3.4、使用OpenCV库检测步骤3.3获得的完整的串番茄图像最小包围矩形,并返回边界信息,使用图像像素坐标和世界坐标之间的矩阵转换关系式计算当前最小包围矩形的高,即为检测目标在世界坐标系下的实际长度Y。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910752091.7A CN110472575B (zh) | 2019-08-15 | 2019-08-15 | 一种基于深度学习和计算机视觉的串番茄成熟度检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910752091.7A CN110472575B (zh) | 2019-08-15 | 2019-08-15 | 一种基于深度学习和计算机视觉的串番茄成熟度检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110472575A CN110472575A (zh) | 2019-11-19 |
CN110472575B true CN110472575B (zh) | 2021-08-31 |
Family
ID=68510076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910752091.7A Active CN110472575B (zh) | 2019-08-15 | 2019-08-15 | 一种基于深度学习和计算机视觉的串番茄成熟度检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110472575B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111199192A (zh) * | 2019-12-23 | 2020-05-26 | 中国农业大学 | 一种采用平行线取样的田间红提葡萄整体成熟度检测方法 |
CN111476153A (zh) * | 2020-04-07 | 2020-07-31 | 中科汇智(重庆)信息技术合伙企业(有限合伙) | 一种水果成熟度计算方法 |
CN111986274A (zh) * | 2020-06-28 | 2020-11-24 | 济南浪潮高新科技投资发展有限公司 | 一种西瓜成熟状态检测方法、设备及介质 |
CN114022685B (zh) * | 2020-07-17 | 2022-10-21 | 南京南瑞信息通信科技有限公司 | 一种安全员位置检测方法及系统 |
CN112149561B (zh) * | 2020-09-23 | 2024-04-16 | 杭州睿琪软件有限公司 | 图像处理方法和装置、电子设备和存储介质 |
CN112800929B (zh) * | 2021-01-25 | 2022-05-31 | 安徽农业大学 | 一种基于深度学习的竹笋数量与高生长率在线监测方法 |
CN112990103B (zh) * | 2021-04-16 | 2023-03-24 | 苏州大学 | 一种基于机器视觉的串采二次定位方法 |
CN113894055A (zh) * | 2021-09-06 | 2022-01-07 | 电子科技大学 | 基于机器视觉的五金件表面缺陷检测分类系统及方法 |
CN113989594A (zh) * | 2021-11-03 | 2022-01-28 | 中国农业科学院农业信息研究所 | 基于货架期预测和成熟度判别的番茄采摘装置及其使用方法 |
CN113963239B (zh) * | 2021-12-23 | 2022-03-29 | 北京林业大学 | 一种智能化检测油茶果实成熟度的方法 |
CN114788455B (zh) * | 2022-04-12 | 2023-08-25 | 苏州大学 | 一种基于目标检测的串番茄单粒采摘方法及系统 |
CN118123856A (zh) * | 2024-03-20 | 2024-06-04 | 北京中科原动力科技有限公司 | 一种果蔬采摘机器人控制方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103185609A (zh) * | 2011-12-29 | 2013-07-03 | 机械科学研究总院先进制造技术研究中心 | 一种西红柿分级的图像检测方法 |
CN108647652A (zh) * | 2018-05-14 | 2018-10-12 | 北京工业大学 | 一种基于图像分类和目标检测的棉花发育期自动识别方法 |
CN109635666A (zh) * | 2018-11-16 | 2019-04-16 | 南京航空航天大学 | 一种基于深度学习的图像目标快速检测方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11087130B2 (en) * | 2017-12-29 | 2021-08-10 | RetailNext, Inc. | Simultaneous object localization and attribute classification using multitask deep neural networks |
-
2019
- 2019-08-15 CN CN201910752091.7A patent/CN110472575B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103185609A (zh) * | 2011-12-29 | 2013-07-03 | 机械科学研究总院先进制造技术研究中心 | 一种西红柿分级的图像检测方法 |
CN108647652A (zh) * | 2018-05-14 | 2018-10-12 | 北京工业大学 | 一种基于图像分类和目标检测的棉花发育期自动识别方法 |
CN109635666A (zh) * | 2018-11-16 | 2019-04-16 | 南京航空航天大学 | 一种基于深度学习的图像目标快速检测方法 |
Non-Patent Citations (2)
Title |
---|
A New Deep Learning Method Based on AlexNet Model and SSD Model for Tennis Ball Recognition;Shenshen Gu et al.;《IEEE》;20171112;第159-164页 * |
自然环境下多类水果采摘目标识别的通用改进SSD模型;彭红星 等;《农业工程学报》;20180831;第34卷(第16期);第155-161页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110472575A (zh) | 2019-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110472575B (zh) | 一种基于深度学习和计算机视觉的串番茄成熟度检测方法 | |
CN109711325B (zh) | 一种芒果采摘点识别方法 | |
Jia et al. | Detection and segmentation of overlapped fruits based on optimized mask R-CNN application in apple harvesting robot | |
CN109409365A (zh) | 一种基于深度目标检测的待采摘水果识别和定位方法 | |
CN110569747A (zh) | 一种利用图像金字塔与Faster-RCNN快速统计大田水稻稻穗数的方法 | |
CN114387520A (zh) | 一种用于机器人采摘的密集李子精准检测方法及其系统 | |
CN109684906A (zh) | 基于深度学习的检测红脂大小蠹的方法 | |
CN109684967A (zh) | 一种基于ssd卷积网络的大豆植株茎荚识别方法 | |
CN107704878B (zh) | 一种基于深度学习的高光谱数据库半自动化建立方法 | |
CN113222959B (zh) | 一种基于高光谱图像卷积神经网络的鲜枣虫眼检测方法 | |
CN113361315B (zh) | 基于背景饱和度压缩与差异阈值分割融合的香蕉串识别方法 | |
CN111652326A (zh) | 基于MobileNet v2网络改进的果实成熟度识别方法和识别系统 | |
CN108311411A (zh) | 一种冬虫夏草智能化分拣系统及其使用方法 | |
CN116058195B (zh) | 一种叶菜生长环境光照调控方法、系统及装置 | |
CN111178177A (zh) | 一种基于卷积神经网络的黄瓜病害识别方法 | |
CN112561899A (zh) | 电力巡检图像识别方法 | |
CN111199192A (zh) | 一种采用平行线取样的田间红提葡萄整体成熟度检测方法 | |
CN110503078A (zh) | 一种基于深度学习的远距离人脸识别方法和系统 | |
CN115311316A (zh) | 基于深度学习的立体栽培模式下小型西瓜识别与定位方法 | |
CN115050020A (zh) | 一种基于改进Mask R-CNN草莓叶面积的智能视觉检测方法及系统 | |
CN115862004A (zh) | 一种玉米果穗表面缺陷检测方法及装置 | |
CN117456358A (zh) | 一种基于YOLOv5神经网络的植物病虫害检测方法 | |
CN118097372B (zh) | 一种基于人工智能的作物生长可视化预测方法 | |
CN117095153A (zh) | 一种多模态果实感知系统、装置及存储介质 | |
CN116129096A (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 |