一种多阈值动态统计的深海目标在线检测识别方法与流程

文档序号:16882555发布日期:2019-02-15 22:18阅读:241来源:国知局
一种多阈值动态统计的深海目标在线检测识别方法与流程

本发明属于机器视觉领域,具体涉及一种多阈值动态统计的深海目标在线检测识别方法。



背景技术:

水下机器人是在水下复杂工作环境下运行的无人自主平台,而深海是人类探知较少的区域,利用水下机器人对深海区域进行目标的检测识别是获取深海环境信息的大势所趋。当前目标检测识别仍存在着挑战,总体来说,挑战性主要体现在以下两个方面:鲁棒性和计算复杂性。在深海区域的复杂环境下,传统目标检测识别方法无论在鲁棒性和计算复杂度上的表现都被基于卷积神经网络(convolutionalneuralnetwork)的目标检测方法超越。卷积神经网络是一个专门针对图像识别问题设计的神经网络。它模仿人类识别图像的多层过程:瞳孔摄入像素;大脑皮层某些细胞初步处理,发现形状边缘、方向;抽象判定形状,如圆形、方形;进一步抽象判定,如判断物体是气球。由于深海区域的目标实时检测识别存在目标被遮挡的、采集到图片信息丢失及环境扰动导致的问题,因此需要对深海情境下水下机器人进行目标检测识别进行改进研究,为后续的目标跟踪和避障抓取作业打下基础。在己有的文献中,许多学者通过光流场法、帧差法、背景差法等方法对目标进行检测识别。

光流法光流是空间运动物体被观测面上的像素点运动产生的瞬时速度场,包含了物体表面结构和动态行为的重要信息。认为被测物体存在相对运动时,被观察物体表面带光学特征如亮度/灰度信息部位的运动能提供物体的运动和结构信息,即摄像机与场景中物体存在相对运动时,物体带光学特征部分的移动投影到视网膜平面即成像平面上就形成了光流场。光流法的缺点主要体现在,计算量大,耗时长,在对实时性要求苛刻的情况下并不适用:由于变化的光线会被错误地识别为光流,因此该方法对光线敏感,在深海区域光线很弱,从而会影响到识别效果。

帧间差分法是通过对视频图像序列中相邻两帧作差分运算来获得运动目标轮廓的方法,它可以很好地适用于存在多个运动目标和摄像机移动的情况。当监控场景中出现异常物体运动时,帧与帧之间会出现较为明显的差别,两帧相减,得到两帧图像亮度差的绝对值,判断它是否大于阈值来分析视频或图像序列的运动特性。其缺点是:不能提取出对象的完整区域,只能提取出边界;同时依赖于选择的帧间时间间隔。对快速运动的物体,需要选择较小的时间间隔,如果选择不合适,当物体在前后两帧中没有重叠时,会被检测为两个分开的物体:而对慢速运动的物体,应该选择较大的时间差,如果时间选择不适当,当物体在前后两帧中几乎完全重叠时,则检测不到物体。在深海区域的目标检测识别中,由于光源只有机器人携带的照明设备,无法保证帧间检测的都是目标,会存在相邻帧间光照相差较大的情况。

背景差分法是采用图像序列中的当前帧和背景参考模型比较来检测运动物体的一种方法,其性能依赖于所使用的背景建模技术。在实际应用中,静止背景是不易直接获得的,同时,由于背景图像的动态变化,需要通过视频序列的帧间信息来估计和恢复背景,即背景重建,所以要选择性的更新背景。但是由于深海区域场景的复杂性、不可预知性、以及各种环境干扰和噪声的存在,如场景突然变化、实际背景图像中有些目标的波动、机器人运动姿态的改变、运动物体进出场景对原场景的影响等,使得背景的建模和模拟变得比较困难。

综上所述,现有方法都存在一些问题,对环境的自适应性很低、鲁棒性较低。



技术实现要素:

本发明的目的在于提供一种多阈值动态统计的深海目标在线检测识别方法,用于在深海区域作业的水下机器人对环境信息的获取和目标的检测分类及统计。

本发明的目的是这样实现的:

一种多阈值动态统计的深海目标在线检测识别方法,包含以下步骤:

(1)首先收集数据,从水下机器人采集深海区域的视频资料中选择合适的视频资料,通过视频图片处理工具ffmpeg得到符合要求的图片,格式为jpeg,其中图片总数量为20000张,图片大小为320*320;

(2)根据采集到的深海区域的图片,统计图片信息,主要包括深海区域需要检测识别目标的种类数目n及每种目标在图片中所占像素的比例;

(3)利用标注工具labelimg对收集到的20000张图片进行标注,得到xml文件和代表标签的txt文件,根据程序随机选择训练、验证及检测的图片和四个txt文件,生成满足基于区域建议卷积神经网输入的pascalvoc数据集格式;

(4)改变制作的pascalvoc数据集中训练、验证和检测的图片的数量比例;

(5)根据统计水下机器人采集到的深海区域的图像信息即深海区域要检测识别目标的种类及数数目及每种目标在图片中所占像素的比例,改进程序中anchor锚点的数目和大小,根据统计的每种目标占据图片上像素的大小,设置矩形的大小和每种目标所占像素大小匹配;根据深海目标的形状及长宽比设置矩形的长宽比为:[1:1,1;2,1;3,2:1,3:1],使其与要检测识别深海目标匹配;

(6)在得到loss曲线的模块中加入局部最小值检测程序,在训练模型的过程中,在损失函数模块中添加最小稳定数值检测程序,在节省gpu计算和存储空间的情况下,在稳定的最小值即第二个阈值处停止训练,得到的模型为最佳模型,保存模型;

(7)将改进的多阈值动态开窗方式进行目标数量检测添加到检测识别模块中,根据感兴趣目标在图像中所占像素的比例和数目n,设计n个检测带,检测带的高度根据经验设置为所对应检测目标种类所占像素高度的1/2,对每个阈值高度的检测带检测到不同的目标数量进行计数统计;

(8)用改进后的基于区域建议的卷积神经网络对标记后的数据集训练,得到当前训练、验证、检测比例下的最优模型;

(9)重复步骤(4)~(8),对改变训练、验证及检测比例得到的准确度进行比较,得到准确率最高的训练模型;

(10)将准确率最高的训练模型导入水下机器人携带的视觉模块中,根据携带的摄像头实时对获取画面中目标的种类进行检测和识别,并统计每种目标的数量,并且输出置信度和每种目标的数量,为水下机器人的轨迹规划、避障和感兴趣目标的抓取做准备。

本发明的有益效果在于:

由于深海区域没有光照,只利用水下机器人携带的照明设备就会导致采集到的图片信息较为模糊和信息丢失,在此种工作条件下,本发明采用改进的基于区域建议的卷积神经网络深海目标在线检测识别方法比传统目标检测识别方法更加快速和准确,对复杂环境的适应性更强;通过积累水下机器人采集的深海数据,增大训练集的样本数,从而得到检测和识别效果更好的模型;利用得到的模型对采集到的图像进行实时在线处理,从而对水下机器人周围的环境信息和感兴趣目标进行快速准确的获取;本发明还适用于在深海区域工作的水下机器人的避障航,航迹规划及运动目标的跟踪和抓取,提高模型对环境的变化的鲁棒性,对其实际应用具有很大的意义;本发明提供的深海目标在线检测识别方法结构清晰,逻辑性较强,易于编写计算机程序实现。

附图说明

图1为本发明方法流程图;

图2为卷积神经网络神经元结构图;

图3为新设置锚点产生的矩形框;

图4为loss曲线走向图;

图5为多阈值动态开窗检测带。

具体实施方式

下面结合附图对本发明进一步详细描述。

结合图1,一种多阈值动态统计的深海目标在线检测识别方法,主要包含下列步骤:

(1)首先收集数据,利用水下机器人采集深海区域的视频资料。选择适合的视频资料,将选择适合的视频资料通过视频图片处理工具ffmpeg得到满足要求的图片,格式为jpeg,其中图片总数量为20000张,图片大小约为320*320;

(2)根据采集到的深海区域的图片,统计得到的图片信息,主要包括深海区域要检测识别目标的种类数目n及每种目标在图片中所占像素的比例;

(3)利用标注工具labelimg对收集到20000张图片进行标注得到xml文件和代表标签的txt文件,根据程序随机选择训练、验证及检测的图片和四个txt文件,生成满足基于区域建议卷积神经网输入pascalvoc数据集格式;

(4)改变训练、验证及检测图片的比例,imagesets文件主要有四个.txt文件,分别是train.txt、test.txt、trainval.txt、val.txt,改变制作的数据集中训练、验证和检测的图片的数量比例,会对训练模型的准确度有影响,从而得到不同的训练结果,选择检测和识别准确度最高的比例选练出来的模型来添加到水下机器人的视觉模块中进行实时的目标的检测识别;

(5)根据统计水下机器人采集到的深海区域的图像信息,根据深海区域要检测识别目标的种类及数数目及每种目标在图片中所占像素的比例改进程序中anchor锚点的数目和大小,根据统计的每种目标占据图片上像素的大小,设置矩形的大小和每种目标所占像素大小匹配;根据深海目标的形状及长宽比设置矩形的长宽比为:[1:1,1;2,1;3,2:1,3:1],使其与要检测识别深海目标匹配,适应深海目标检测识别的任务;

(6)在得到loss曲线的模块中加入局部最小值检测程序,在训练模型时候既可以得到最小的训练次数也可以得到最好的训练效果;在训练模型的过程中,在损失函数模块中添加最小稳定数值检测程序;在节省gpu计算和存储空间的情况下,在稳定的最小值即第二个阈值红点处停止训练得到的模型为最佳模型,停止训练,保存模型;

(7)将改进的多阈值动态开窗方式进行目标数量检测添加到检测识别模块,根据感兴趣目标在图像中所占像素的比例和数目n,设计n个检测带,检测带的高度根据经验设置为所对应检测目标种类所占像素高度的1/2,每个阈值高度的检测带检测到不同的目标数量进行计数统计;

(8)根据准确率最高的训练模型导入水下机器人携带的视觉模块中,根据携带的摄像头实时对获取画面中目标的种类进行检测和识别,并且输出置信度和每种目标的数量,为水下机器人的轨迹规划、避障和感兴趣目标的抓取做准备。

本发明提供的是一种多阈值动态统计的深海目标在线检测识别方法,用于在深海区域作业的水下机器人对环境信息的获取和目标的检测分类及统计。每个神经网络单元抽象出来的数学模型如下,也叫感知器,它接收多个输入x1,x2,x3...,产生一个输出,这就好比是神经末梢感受各种外部环境的变化如外部刺激,然后产生电信号,以便于转导到神经元,如图2所示,卷积神经网络可以映射任意复杂的非线性关系,具有很强的鲁棒性、记忆能力、自学习等能力,在分类、预测、模式识别等方面有着广泛的应用。卷积神经网络vgg16是牛津大学计算机视觉组和googledeepmind公司一起研发的深度卷积神经网络,该网络主要是泛化性能很好,容易迁移到其他的图像识别项目上,利用下载vggnet训练好的参数进行很好的初始化权重操作。

所采用的一种多阈值动态统计的深海目标在线检测识别方法主要由四部分组成:

1.卷积层作为一种卷积神经网络目标检测的方法,基于区域建议的卷积神经网络首先使用一组基础卷积+relu激活函数+池化层提取图片的特征图。该特征图被共享用于后续的rpn层和全连接层;

2.区域建议网络简称rpn,rpn层是基于区域建议卷积神经网络最大的亮点,rpn网络用于生成建议区域,该层通过softmax判断锚点属于前景或者背景,再利用矩形修修正锚点产生的矩形获得精确的建议区域;

3.感兴趣区域池化该层收集输入的特征图和建议,综合这些信息提取建议特征图,送入后续的全连接层判定目标类别;

4.分类层利用建议特征图计算建议的类别,同时再次标准框修正获得检验框的最终精确地位置。

在神经网络的产生anchors锚点过程中,对传统区域建议卷积神经网络的rpn网络中的锚点的大小和尺寸的设置进行了改进,传统的锚点是一组由区域建议网络生成的矩形,一共有9个矩形共有3种形状,长宽比为大约为:[1:1,1:2,2:1]三种,实际上通过锚点就引入了检测中常用到的多尺度方法。本方法参考深海区域目标的种类和每种目标占据图片上像素的大小来设置锚点生成矩形的大小和种类以及长宽比。根据得到的深水区域中目标种类较多,且长宽比有在1/3和3左右的目标,保留三种矩形形状;根据统计的每种目标占据图片上像素的大小,设置矩形的大小和每种目标所占像素大小匹配;根据深海目标的形状及长宽比设置矩形的长宽比为:[1:1,1;2,1;3,2:1,3:1]。如图3所示,修改后的锚点能比传统锚点生成的矩形更加适合深海目标的检测和识别。

在训练模型的过程中,在损失函数模块中添加最小稳定数值检测程序。一般情况下,损失函数会在训练过程中随着训练次数的增加会先迅速降低,如图4所示,过了第一个阈值即图中标记第一个点,然后某个范围内上下震荡,超过第二个阈值即图中标记第二个点会出现增大的情况,所以在节省gpu计算和存储空间的情况下,在稳定的最小值即第二个阈值处停止训练得到的模型为最佳模型。首先计算损失函数曲线的导数,取相邻训练500次的导数的方差,当某个相邻500次的导数方差远小于之前500次导数方差的值,认为此500次中的第250训练次数到达了第一个阈值。过了第一个阈值后,计算每500次损失函数的平均值,当相邻两个500次的平均值相差为10%以内,则认为训练的效果最佳,停止训练,保存模型,这样即可以节省训练模型的时间也可以得到最好的模型。

在根据采集到的视频转换为图片制作数据集的过程中,annotations文件夹下存放的是每一个图片的标注信息,文件都是.xml格式。jpegimages文件夹下存放着所有的训练集图片,格式都是.jpg。imagesets文件主要有四个.txt文件,分别是train.txt、test.txt、trainval.txt、val.txt。改变制作的数据集中训练、验证和检测的图片的数量比例,传统上trainval大概是整个数据集的50%,test也大概是整个数据集的50%,train大概是trainval的50%,val大概是trainval的50%,根据程序改变四者比例,会对训练模型的准确度有影响,从而得到不同的训练结果,选择检测和识别准确度最高的比例选练出来的模型来添加到水下机器人的视觉模块中进行实时的目标的检测识别。

水下机器人在实时采集的图像信息中统计每种目标种类的数目,采用一种改进的多阈值动态开窗方式进行目标数量检测,根据感兴趣目标在图像中所占像素的比例和数目n,设计n个检测带,如图5所示,检测带的高度根据经验设置为所对应检测目标种类所占像素高度的1/2,可以减少目标数量的漏检和重复计数问题。设置的检测带位置靠近于图像底部,检测带的宽度设置为整个图像的宽度,高度根据深海目标的大小设置为多阈值高度,分别设置为h1,h2,h3…hn,n表示深海区域需要检测识别目标的种类,每个阈值高度的检测带检测到不同的目标数量进行计数统计。

本发明是一种多阈值动态统计的深海目标在线检测识别方法,利用水下机器人平台对深海目标在线检测识别,具体地说是充分考虑了深海区域环境信息,主要包含了所要检测识别目标的种类,各种目标在采集图片中所占像素的大小。根据这些信息对卷积神经网络中锚点产生矩形种类及数目进行修正,使其更加适应工作环境中要检测识别的目标的信息。在训练模型的过程中,在损失函数模块中添加最小稳定数值检测程序,在稳定的最小值处停止训练得到的模型为最佳模型,节省了训练模型的时间和所需内存。在根据采集到的视频转换为图片制作数据集的过程中,改变制作的数据集中训练、验证和检测的图片的数量比例,得到不同的训练结果,选择检测和识别准确度最高的比例选练出来的模型来添加到水下机器人的视觉模块中进行实时的目标的检测识别。本发明采用一种改进的多阈值动态开窗方式进行目标数量检测,每个阈值高度的检测带检测到不同的目标数量进行计数统计。水下机器人能够依据摄像机获得的图像信息,能对杂乱信息的有良好的综合处理能力和目标检测识别及计数能力,能够解决目标短期被遮挡、光线较弱和环境扰动造成深海区域目标检测识别带来的问题,为路径规划和避障及目标抓取提供技术支持。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1