本发明涉及人工智能技术领域,具体是一种基于改进三维r-cnn算法的多目标检测方法。
背景技术:
近年来,卷积神经网络(cnn)的研究和应用不断深化和成熟。与传统的手工设计特征相比,cnn的自学习特征可以大大克服复杂光照、部分遮挡、角度旋转等问题的影响,无论是计算机视觉还是机器视觉领域,都占据了主流地位。传统的基于机器学习的特征检测方法是通过梯度直方图(hog)、尺度不变特征变换(sift)或surf提取特征,提取的特征被输入到支持向量机(svm)、贝叶斯分类器、adaboost分类器或其他用于特征检测的分类器中。这些方法基本上利用人工设计和制造特征作为图像表示的工具,这就要求研究人员具有相当扎实的专业知识和丰富的经验。因此,设计过程比较主观,缺乏理论指导,导致最终特征不均匀,难以适应天气和光照条件的变化,泛化能力差。
在卷积神经网络神经网络中,rossgirshick的regioncnn(rcnn)遵循传统目标检测的思路,同样分以下四个步骤即采用提取框法、框内提取特征法、图像分类法、非极大值抑制法进行目标检测。相较于传统目标检测的方法,rcnn网络的技术优点是dpmhsc从34.3%直接提升到了66%(map)和引入rp cnn。其缺点为训练步骤过于繁琐,训练、测试速度过于缓慢且占用空间大等。fastr-cnn是rossgirshick对r-cnn改进的网络,其优点是dpmhsc由66.9%提升到70%并且缩短了生成每张图像时间。r-cnn的基本思想是运用boxproposal的特征映射作为其特征向量,对特征向量进行分类和box精调。其缺点如下:1、依旧用regionproposal提取rpn(耗时2-3s,特征提取耗时0.32s);2、无法实现实时应用,在某种程度上没有真正实现端到端训练测试;3、利用了gpu,但是区域建议方法是在cpu上实现的。
shaoqingren,kaiminghe,rossgirshick,jiansun等人在《fasterr-cnn:towardsreal-timeobjectdetectionwithregionproposalnetworks》一文中提出了fasterr-cnn。fasterr-cnn的流程为regionproposal提取rpn、cnn提取图片特征、利用softmax函数进行分类、多任务损失函数边框回归。在某种程度上优化了fastr-cnn,提高了检测精度和速度、实现端到端的目标检测框架、加快了建议框的生成速度。但仍有无法达到实时检测目标;获取regionproposal,对单个proposal分类计算量较大等缺点。
随着工业4.0时代的深入影响,深度摄像头逐渐普及和广泛应用,原有的二维图像数据检测领域逐渐向加入深度信息的三维图像数据检测领域过渡。原有的方法是将空间立体图转化为二维平面图进行识别和检测,其缺点是原有物体的位置信息或者深度信息就会丢失。因此,在对象中引入深度信息能够提高二维图像的检测精度和成功率。目前,深度学习算法在二维彩色图像检测领域中的应用不断创新,深度摄像头在深度学习领域不断推广,需要将彩色图像升级为具有深度信息的综合图像。
技术实现要素:
本发明的目的在于提供一种基于改进三维r-cnn算法的多目标检测方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
一种基于改进三维r-cnn算法的多目标检测方法,包含以下步骤:
a、建立3d-cnn网络模型;
b、改进r-cnn算法;采用卷积神经网络对所检测图片的rgb和d信息进行融合;卷积神经网络采用卷积层、池化层与集合层三者交替连接的方式,并且在最后一个集合层之前采用连续卷积的方法;
c、对改进算法的仿真与分析。
作为本发明的进一步方案:所述3d-cnn网络模型是在普通cnn网络基础上增加了时间维度来处理连续图像信息,并在降采样层和卷积层上考虑了时间维度信息。
作为本发明的进一步方案:所述3d-cnn网络的基本输入是连续的图像帧,模型计算公式为
作为本发明的进一步方案:在3d-cnn网络模型中,将原有的cnn网络模型中的平均降采样公式进行修改,得到3d-cnn环境下的平均降采样公式:
作为本发明的进一步方案:为实现rgb-d图像的联合检测,采用卷积神经网络(cnn)对所检测图片的rgb和d信息进行融合。
作为本发明的进一步方案:所述步骤c使用的深度摄像头采集目标的rgb和d信息,通过tensorflow搭建平台训练相关深度学习网络,通过anaconda3创建可视化界面,实时监控采集到的目标信息,观测训练效果曲线。
作为本发明的进一步方案:所述深度摄像头为realsence结构光深度摄像头d435。
与现有技术相比,本发明的有益效果是:本发明有效地结合了rgb图像和深度图像的互补信息,提高了检测精度,成功率高,为联合检测rgb-d图像提供了新的途径。
附图说明
图1为本发明的算法流程图。
图2为本发明的r-cnn算法早期融合结构图。
图3为r-cnn算法晚期融合结构图。
图4为总体训练次数为600次的class_loss与confs_loss图。
图5为总体训练次数为200次的class_loss与confs_loss图。
图6为不同训练次数下total_loss曲线图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-6,本发明实施例中,一种基于改进三维r-cnn算法的多目标检测方法,包含以下步骤:
a、3d-cnn网络模型建立;
3d-cnn网络模型在传统的cnn网络基础上增加了时间维度来处理连续图像信息,并在降采样层和卷积层上考虑了时间维度信息。3d-cnn网络的基本输入是连续的图像帧,模型计算公式为
式中,
在3d-cnn网络模型中,将原有的cnn网络模型中的平均降采样公式进行修改,得到3d-cnn环境下的平均降采样公式
b、改进r-cnn算法:
为实现rgb-d图像的联合检测,本专利采用卷积神经网络(cnn)对所检测图片的rgb和d信息进行融合。目前,基于cnn网络的图像信息融合模式主要有早期融合和晚期融合,其结构如图2和3所示。图3中rpn代表卷积网络中的区域生成网络(regionproposalnetwork);
本专利所用的卷积网络采用卷积层、池化层与集合层三者交替连接的方式,并且在最后一个集合层之前采用连续卷积的方法。为了方便描述,将下面所有方法中图像信息的融合层设置为l(a)层;
cnn网络的早期融合过程采用卷积核对四通道的rgb和d图像信息进行全局卷积,卷积后的信息以设定的权值x相加。假设输出的rgb原始图像是xr,原始图像的深度信息是xd,得到融合层的神经元表达式,如下式所示:
第一卷积层融合了所接收的所有rgb-d信息,融合权重分别为α和1-α。然后对融合后的rgb-d信息进行网络映射,所得映射信息趋向于融合初始的原图像信息。
在cnn网络后期融合的过程中,本专利的方法建立两个具有相似结构和权重的卷积神经网络是,再将rgb图像信息和d图像信息分别输入到该网络中。经过卷积层、池化层和全链接层操作之后,信息被传输到输出层,输出层融合rgb-d图片信息。在输出层的rgb图像和d图像融合前,分别对两种图像进行两个独立的卷积神经网络运算。其中,在rgb神经网络运算中所有连接层的最后一层中所得到的神经元为
公式中,
对于融合系数的确定,本专利采用最优权重算法。该方法利用单通道卷积神经网络分别对rgb图像和深度图像进行训练,获得检测精度,进而得到融合系数。因为同一目标不同场景下融合系数不相同,不同目标同一场景下的融合系数也不相同,所以根据该算法所得到的融合系数需要结合实际情况对融合系数进行微调,最终确定最优权重和系数。具体方案如下
公式中,mrgb和md分别是对应的rgb图像和深度图像的检测像素精度。其中a与1-a的初始值相同均为0.5,并以每次0.01的精度进行递进,然后进行多次卷积网络的卷积运算,通过中心位置误差、精度和成功率三个评价指标来确定该目标的最佳融合范围,取该范围中的最佳值作为该目标的最佳融合系数。接着提取出目标图片的独立特征,根据卷积层中确认的最优权值对rgb网络和d网络进行融合。随后继续使用卷积法提取融合特征,最后通过全链路层输出。
c、对改进算法的仿真与分析:
本次仿真实验本专利使用的深度摄像头为realsence结构光深度摄像头d435,采集目标的深度信息和彩色信息(rgb信息和d信息),通过tensorflow搭建平台训练相关深度学习网络,通过anaconda3创建可视化界面,实时监控采集到的目标信息,观测训练效果曲线等,并且在anaconda3中安装一个内置的python3版本解析器创造编程语言开发环境。通过将节点分配给多个gpu,可以方便地实现并行计算,提高了计算效率。实验数据库选自上海科技大学镜像服务器(https://blog.csdn.net/weixin_43851212/article/details/89790058)评价指标使用损失函数作为评价指标,具体包括class_loss、confs_loss和total_loss三项指标。
选择均方误差函数作为网络的损失函数
在公式中,n和b对应网络权重和网络集向量,mid(n,a)是当前参数向量下的损失函数值,y(n,a)(x)是当前参数向量。
采用随机梯度下降法求出损失函数衰减最大的方向。学习率设置为0.01,激活函数选择sigmoid函数。表达式如下:
在公式中,x是sigmoid激活函数的输入。
对rgb-d图像集进行训练,并在训练卷积层的第三层后选择rgb-d信息的融合层。通过进行交叉验证实验方法,即从每个图像中随机选择100对rgb和深度图像。数据集作为测试数据集,其余图像用作训练数据集,重复实验选取实验结果的平均值。上图为某次仿真实验中,损失函数随训练次数的曲线图。图4为总体训练次数为600次的class_loss与confs_loss图,图5为总体训练次数为200次的class_loss与confs_loss图。从图中可知,随着训练次数的增加class_loss与confs_loss逐渐降低并趋于稳定。图6为不同训练次数下total_loss曲线图,总体来看在200个训练次数内,总体损失函数随着训练步数的急剧减少,自200个训练次数后,曲线趋于平缓,损失函数误差较小,在大约250个训练次数处,损失函数达到最小值。为了使实验更加精确,我们在此次实验的基础上再进行了200个训练次数小范围的训练,通过对比图(3)与图(4),我们可以得出在200个训练步骤内没有出现比250此左右的训练更低的total_loss训练次数。因此,本次仿真实验的训练次数为250次。使用训练所得到的数据模型,进行图片检测实验。
从实验图中我们可以看出,本实验在检测行人和车辆时有较高的正确率,并且能够应对被检测目标的重叠问题,但目前网络运行速度较慢尚不能达到实时检测的效果。表1展示了一些检测目标的正确率和融合权重,从表格中可以看到,rgb图像与depth图像的融合系数随检测目标不同而发生变化,且比例接近于1比1。
从检测结果可以看出,基于rgb-d图像的联合检测无论采用何种融合方式,都能显著提高检测精度。与早期融合和晚期融合相比,全连接层融合具有更好的检测精度和成功率。而且,由于双流卷积网络之间的全时共享,与后期融合模式相比,缩短了检测时间。在卷积层融合中充分考虑了rgb图像与深度图像的独立性和相关性,进一步提高了联合检测的效率。与以前的最佳融合方法相比,识别精度和成功率有了显著提高。
利用构造的卷积网络结构对rgb图像和d图像进行训练,分别获得rgb图像和d图像中不同目标的检测精度,然后计算出rgb图像和深度图像的融合权重系数,再将所得到的融合权重将两个相似的神经网络进行融合,融合后以中心位置误差、精度和成功率为检测指标,对所得到的融合系数进行检测,确定最适融合权重系数范围,对所得的融合权重系数进行微调,通过
数据归纳法缩小融合权重系数范围,经过多次的仿真实验,找到该范围内的融合系数最优解,将其作为该目标的rgb图像网络和d图像网络的融合权重系数。通过仿真实验可知基于后融合的rgb-d联合检测在一定程度上避免了干扰,正确检测了目标的位置。然而,当目标距离干涉目标较近且颜色相近时,由于rgb-d联合检测对深度信息的融合不够充分,仍然存在误检测。而本专利所提出的rgb-d信息的卷积层融合网络结构可以较好地避免该问题。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
1.一种基于改进三维r-cnn算法的多目标检测方法,其特征在于,包含以下步骤:
a、建立3d-cnn网络模型;
b、改进r-cnn算法;采用卷积神经网络对所检测图片的rgb和d信息进行融合;卷积神经网络采用卷积层、池化层与集合层三者交替连接的方式,并且在最后一个集合层之前采用连续卷积的方法;
c、对改进算法的仿真与分析。
2.根据权利要求1所述的一种基于改进三维r-cnn算法的多目标检测方法,其特征在于,所述3d-cnn网络模型是在普通cnn网络基础上增加了时间维度来处理连续图像信息,并在降采样层和卷积层上考虑了时间维度信息。
3.根据权利要求2所述的一种基于改进三维r-cnn算法的多目标检测方法,其特征在于,所述3d-cnn网络的基本输入是连续的图像帧,模型计算公式为
4.根据权利要求3所述的一种基于改进三维r-cnn算法的多目标检测方法,其特征在于,在3d-cnn网络模型中,将原有的cnn网络模型中的平均降采样公式进行修改,得到3d-cnn环境下的平均降采样公式:
5.根据权利要求4所述的一种基于改进三维r-cnn算法的多目标检测方法,其特征在于,为实现rgb-d图像的联合检测,采用卷积神经网络(cnn)对所检测图片的rgb和d信息进行融合。
6.根据权利要求4所述的一种基于改进三维r-cnn算法的多目标检测方法,其特征在于,所述步骤c使用的深度摄像头采集目标的rgb和d信息,通过tensorflow搭建平台训练相关深度学习网络,通过anaconda3创建可视化界面,实时监控采集到的目标信息,观测训练效果曲线。
7.根据权利要求6所述的一种基于改进三维r-cnn算法的多目标检测方法,其特征在于,所述深度摄像头为realsence结构光深度摄像头d435。
技术总结