本发明属于识别跟踪技术领域,特别涉及一种基于深度学习算法的果实识别跟踪方法和系统。
背景技术:
随着计算机技术和信息采集与处理技术的发展,机器人逐渐进入农业生产领域,近年来,用于实现果实自动化收获的采摘机器人越来越受到重视。采摘机器人通过从果实生长环境中识别出目标果实,再对目标果实跟踪获得其空间位置,最后使用采摘执行部件采摘目标果实,完成果实自动化收获作业,由于采摘执行部件依靠果实识别跟踪技术提供的目标果实空间位置进行采摘,因此,果实识别跟踪技术对于保证采摘机器人的作业精度和成功率具有重要作用。
现有果实识别跟踪技术包括采用双目视觉方法对目标果实进行识别跟踪,还有通过卷积神经网络和支持向量机对果实进行识别定位,但是现有技术存在的识别跟踪过程仍存在以下缺陷:现有目标识别准确率低,目标定位精度差,跟踪的目标容易丢失。
技术实现要素:
为了解决现有技术中存在的问题,本发明提供了一种基于深度学习算法的果实识别跟踪方法和系统,该方法和系统能够对果实目标实现精准的识别和定位,并且跟踪更加准确,不容易丢失。
本发明具体技术方案如下:
本发明提供一种基于深度学习算法的果实识别跟踪方法,该方法包括如下步骤:
s1:获取预跟踪部分的图像;
s2:利用深度学习算法识别图像中的目标,获取目标在图像中的位置;
s3:对目标所在的位置进行跟踪。
进一步的改进,步骤s2包括:
s21:利用深度识别网络算法识别目标特征,并计算各目标特征的置信度;
s22:将各目标特征的置信度与置信度阈值进行比对,当存在大于置信度阈值的目标特征时,进行步骤s23;
s23:判断大于置信度阈值的目标特征对应的个数n,如果n=1,进行步骤s24,如果n>1,进行步骤s25;
s24:获取目标特征在图像中的位置,并进行步骤s3;
s25:按照置信度的降序进行排序,将最高置信度所对应的目标特征进行步骤s24。
优选地,所述深度识别网络算法优选为yolo算法。
进一步的改进,步骤s3包括:
s31:利用深度跟踪网络算法对目标所在的位置进行跟踪;
s32:判断深度跟踪网络算法跟踪的目标是否丢失,如果丢失,产生目标丢失的标志位,并进行步骤s33;
s33:每间隔预设帧数后,进行步骤s2。
优选地,所述深度跟踪网络算法优选为kcf算法。
进一步的改进,步骤s3还包括:
s34:当步骤s32判断目标未丢失,判断深度跟踪网络算法跟踪的时间t,并与时间阈值t1进行判断,当t<t1时,进行步骤s35,当t≥t1,进行步骤s2;
s35:向机器人发出采摘指令。
进一步的改进,所述预设帧数为100帧。
进一步的改进,对目标所在的位置进行跟踪还包括:
s36:当步骤s32判断出目标丢失时,同时向机器人发送停止移动的指令,直至进行步骤s35为止。
进一步的改进,步骤s1包括:
s11:获取预跟踪部分的图像;
s12:初步判断图像内是否有预识别目标图像预识别目标,如果有,预识别目标图像进行步骤s2。
进一步的改进,步骤s12包括:
s121:采集图像内各像素值,以像素阈值ha为分割阈值,将图像分割成预识别目标图像和背景图像;
s122:分别计算预识别目标图像和背景图像内所有像素的像素标准偏差,
s123:计算预识别目标图像和背景图像的方差σ2,
s124:将sdm与阈值sd1进行比较,并将sdn与阈值sd2进行比较,当同时满足sdm<sd1、sdn<sd2且σ2最大时,进行步骤s125,否则进行步骤s126;
s125:判断σ2与σa2的大小,当σ2≥σa2,判断图像内有预识别目标,当σ2<σa2,判断图像内没有预识别目标;
s126:重新确定像素阈值ha,直至满足sdm<sd1、sdn<sd2且σ2最大,然后进行步骤s125。
本发明另一方面提供一种基于深度学习算法的果实识别跟踪系统,该系统包括:
获取模块,用于获取预跟踪部分的图像;
识别模块,用于利用深度学习算法识别图像中的目标,获取目标在图像中的位置;
跟踪模块,用于对目标所在的位置进行跟踪。
本发明提供一种基于深度学习算法的果实识别跟踪方法和系统,该方法和系统将深度识别网络算法和深度跟踪网络算法结合实现对图像中果实的识别和跟踪,保证了识别的准确度和跟踪的正确性,而且跟踪的目标不容易丢失,同时降低计算资源需求,为采摘作业提供了准确的采摘定位,提高采摘作业的效率。
附图说明
图1为实施例1一种基于深度学习算法的果实识别跟踪方法的流程图;
图2为实施例1步骤s2的流程图;
图3为实施例1步骤s3的流程图;
图4为实施例3步骤s3的流程图;
图5为实施例4一种基于深度学习算法的果实识别跟踪方法的流程图;
图6为实施例5步骤s12的流程图;
图7为实施例6一种基于深度学习算法的果实识别跟踪系统的结构框图。
具体实施方式
实施例1
本发明实施例1提供一种基于深度学习算法的果实识别跟踪方法,如图1所示,该方法包括:
s1:获取预跟踪部分的图像;
s2:利用深度学习算法识别图像中的目标,获取目标在图像中的位置;
s3:对目标所在的位置进行跟踪。
需要具体说明的,如图2所示,步骤s2具体包括:
s21:利用深度识别网络算法识别目标特征,并计算各目标特征的置信度;
s22:将各目标特征的置信度与置信度阈值进行比对,当存在大于置信度阈值的目标特征时,进行步骤s23;
s23:判断大于置信度阈值的目标特征对应的个数n,如果n=1,进行步骤s24,如果n>1,进行步骤s25;
s24:获取目标特征在图像中的位置,并进行步骤s3;
s25:按照置信度的降序进行排序,将最高置信度所对应的目标特征进行步骤s24。
进一步需要说明的是,如图3所示,步骤s3包括:
s31:利用深度跟踪网络算法对目标所在的位置进行跟踪;
s32:判断深度跟踪网络算法跟踪的目标是否丢失,如果丢失,产生目标丢失的标志位,并进行步骤s33;
s33:每间隔预设帧数后,进行步骤s2。
本发明提供一种基于深度学习算法的果实识别跟踪方法,该方法将深度识别网络算法和深度跟踪网络算法结合,提高了识别和跟踪的准确度,进而提高了采摘作业的效率,降低了采摘时间。
实施例2
本发明实施例2提供一种基于深度学习算法的果实识别跟踪方法,该方法与实施例1的基本相同,不同的是,所述预设帧数为100帧,通过设置预设帧数为100帧,可以保证对下一帧图像进行及时的识别与跟踪,保证识别跟踪的效率,如果帧数过少会存在识别和跟踪过程交错导致识别跟踪产生错误,如果帧数过多,会存在识别和跟踪的不连续,降低工作效率。
实施例3
本发明实施例3提供一种基于深度学习算法的果实识别跟踪方法,该方法与实施例2的基本相同,不同的是,如图4所示,步骤s3还包括:
s34:当步骤s32判断目标未丢失,判断深度跟踪网络算法跟踪的时间t,并与时间阈值t1进行判断,当t<t1时,进行步骤s35,当t≥t1,进行步骤s2;
s35:向机器人发出采摘指令;
s36:当步骤s32判断出目标丢失时,同时向机器人发送停止移动的指令,直至进行步骤s35为止。
本发明提供的识别跟踪方法中进一步对跟踪时间进行判断,当跟踪时间到达预设阈值时,重新进行步骤s2。进而提高整个跟踪效率;当对目标跟踪丢失时,控制端会发送停止机器人运动的指令,因为在深度识别网络算法进行识别时,需要一定时间,如果机器人移动了,深度识别网络算法识别的位置是移动之前的位置,因此就会产生误差,降低了采摘的准确度。
实施例4
本发明实施例4提供一种基于深度学习算法的果实识别跟踪方法,如图5所示,所述方法包括:
s1:获取预跟踪部分的图像,具体包括:
s11:获取预跟踪部分的图像;
s12:初步判断图像内是否有预识别目标图像,如果有,进行步骤s2;
s2:利用深度学习算法识别图像中的目标,获取目标在图像中的位置;
s3:对目标所在的位置进行跟踪。
本发明在对果实进行识别和跟踪的过程中,为了提高识别和跟踪的准确度,更精确地确定预识别目标图像的位置,进一步对预识别目标图像实现二次识别,进而保证识别的可靠性和准确地。
实施例5
本发明实施例5提供一种基于深度学习算法的果实识别跟踪方法,该方法与实施例4的基本相同,不同的是,如图6所示,步骤s12具体包括:
s121:采集图像内各像素值,以像素阈值ha为分割阈值,将图像分割成预识别目标图像和背景图像;
s122:分别计算预识别目标图像和背景图像内所有像素的像素标准偏差,
s123:计算预识别目标图像和背景图像的方差σ2,
s124:将sdm与阈值sd1进行比较,并将sdn与阈值sd2进行比较,当同时满足sdm<sd1、sdn<sd2且σ2最大时,进行步骤s125,否则进行步骤s126;
s125:判断σ2与σa2的大小,当σ2≥σa2,判断图像内有预识别目标,当σ2<σa2,判断图像内没有预识别目标;
s126:重新确定像素阈值ha,直至满足sdm<sd1、sdn<sd2且σ2最大,然后进行步骤s125。。
通过对步骤s12进行限定,可以初步排除没有果实的图像,然后在通过步骤2的进一步设备,提高整个识别跟踪方法的准确度并且降低果实的识别时间,提高识别效率。
实施例6
本发明实施例6提供一种基于深度学习算法的果实识别跟踪系统,如图7所示,该系统包括:
获取模块1,用于获取预跟踪部分的图像;
识别模块2,用于利用深度学习算法识别图像中的目标,获取目标在图像中的位置;
跟踪模块3,用于对目标所在的位置进行跟踪。
本发明提供一种基于深度学习算法的果实识别跟踪系统保证了识别的准确度和跟踪的正确性,而且跟踪的目标不容易丢失,为采摘作业提供了准确的采摘定位,提高采摘作业的效率。
本发明不局限于上述最佳实施方式,任何人在本发明的启示下都可得出其他各种形式的产品,但不论在其形状或结构上作任何变化,凡是具有与本申请相同或相近似的技术方案,均落在本发明的保护范围之内。