一种基于改进的YOLO6D算法的位姿估计系统及方法

文档序号:26751321发布日期:2021-09-25 02:34阅读:543来源:国知局
一种基于改进的YOLO6D算法的位姿估计系统及方法
一种基于改进的yolo6d算法的位姿估计系统及方法
技术领域
1.本发明涉及计算机视觉技术领域,特别是涉及一种基于改进的yolo6d算法的位姿估计系统及方法。


背景技术:

2.位姿估计是指利用视觉传感器获取的信息,从中估计目标物体与传感器之间的距离与姿态。它不仅需要对图像中的目标物体进行定位,还需要检测目标物体在三维空间中的旋转自由度。该技术目前主要的应用领域是增强现实领域,随着计算机视觉与地图构建(slam)技术的日益发展,基于视觉的位姿估计方法在增强现实系统开发中的应用越来越广泛。
3.目前,位姿估计方法主要分为基于关键点与模版匹配的方法和基于深度学习的方法。基于关键点与模版匹配的方法对光线较为敏感,且无法处理物体间有遮挡的问题,对检测环境要求较为苛刻。
4.为克服这些位姿估计中存在的问题,应用上主流的是采用基于深度学习的位姿估计方法。基于深度学习的位姿估计一般分为单阶段检测算法和双阶段检测算法两类。双阶段检测虽然检测准确度较高,但受限于检测步骤的多阶段,速度较慢。在增强现实领域对实时性要求较高,因此单阶段检测算法更适用于此领域。单阶段检测算法也被称为基于回归分析的检测算法,其将检测问题视为对目标位置和类别信息的回归分析问题,通过一个神经网络模型可直接输出检测结果。随着单阶段检测算法的发展,目前的单阶段的目标检测算法在保持速度优势的同时,检测精度也达到了双阶段目标检测的水平。
5.yolo6d属于一种基于深度学习的单阶段检测算法,因其具有强大的特征抽象与表达能力,在各种计算机视觉识别任务上表现出色。但在实际应用中,yolo6d检测算法也遇到了很多挑战,比如模型训练所需的数据量不够、数据集标注不完整,识别场景中有复杂背景干扰,因损失函数在取得同一个值时存在多个不同的旋转四元数,在网络训练时带来震荡而使对称目标物体不好识别等问题。


技术实现要素:

6.针对现有技术存在的问题,本发明提供一种基于改进的yolo6d算法的位姿估计系统及方法。
7.本发明的技术方案为:
8.一种基于改进的yolo6d算法的位姿估计系统,所述系统包括:
9.视觉传感器,用于实时采集目标物体的图像,并将图像发送给客户端;
10.客户端,用于实时捕获图像并发送给服务器端,以及接收服务器端发送的目标物体位姿估计结果;
11.服务器端,用于构建yolo6d模型的训练数据集;对yolo6d模型进行改进;利用所述训练数据集对改进的yolo6d模型进行训练,获得位姿估计模型;利用所述姿态估计模型实
时估计图像中目标物体的位姿,并将目标物体位姿估计结果发送给客户端。
12.进一步地,根据所述的基于改进的yolo6d算法的位姿估计系统,所述视觉传感器是单目摄像机。
13.使用所述的基于改进的yolo6d算法的位姿估计系统的基于改进的yolo6d算法的位姿估计方法,包括以下步骤:
14.采集包含目标物体的原始图像;
15.对包含目标物体的原始图像进行处理得到边缘清晰的目标物体图像;
16.构建yolo6d模型的训练数据集;
17.对yolo6d模型进行改进,包括:为对称目标物体和非对称目标物体定义两种不同的损失函数;
18.利用所述训练数据集对改进的yolo6d模型进行训练,获得位姿估计模型;
19.利用所述姿态估计模型实时估计图像中目标物体的位姿。
20.进一步地,根据所述的基于改进的yolo6d算法的位姿估计方法,所述构建yolo6d模型的训练数据集的方法为:对公开的位姿估计数据集进行数据量扩充,获得新的位姿估计数据集;自制虚拟数据集;将新的位姿估计数据集和虚拟数据集进行整合,从整合后的数据集中划分出若干图像作为训练数据集。
21.进一步地,根据所述的基于改进的yolo6d算法的位姿估计方法,所述对公开的位姿估计数据集进行数据量扩充的方法为:根据数据集中提供的掩模提取目标物体的图像像素,做换背景操作,将目标物体的图像像素粘贴到不包含目标物体仅包含复杂背景的其他若干图片上,并对换背景操作之后的若干图片进行数据增强得到新的若干图片,增添到位姿估计数据集中,实现对公开的位姿估计数据集的数据量扩充。
22.进一步地,根据所述的基于改进的yolo6d算法的位姿估计方法,所述公开的位姿估计数据集为linemod数据集。
23.进一步地,根据所述的基于改进的yolo6d算法的位姿估计方法,所述自制虚拟数据集的方法为:通过perception package工具合成包含目标物体且具有复杂背景的若干rgb图片,并为每一幅图片设置对应的标注信息,获得虚拟数据集;所述标注信息包括:目标物体的空间信息和类别信息。
24.进一步地,根据所述的基于改进的yolo6d算法的位姿估计方法,所述对yolo6d模型进行改进,包括:为对称目标物体和非对称目标物体定义两种不同的坐标损失函数。
25.进一步地,根据所述的基于改进的yolo6d算法的位姿估计方法,非对称目标物体的坐标损失函数计算公式如下:
[0026][0027]
其中,n是待估计位姿的图像的像素数量;m是带有标注的图像中包含目标物体的像素;i
i
为待估计位姿的图像的第i个像素;为数据集中的带有标注的图像的第i个像素;α为不小于1的因子;
[0028]
对称目标物体的坐标损失函数计算公式如下:
[0029]
l=minl
coo
(i,r
p
i
gt
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0030]
其中,r
p
是一个位姿到对称位姿的转换;i为待估计位姿的图像;i
gt
为带有标注的
图像。
[0031]
本发明提出的基于yolo6d的位姿估计系统及方法,与现有技术相比较具有如下有益效果:
[0032]
1)扩充了位姿估计模型训练所用到的数据集防止过拟合。基于深度学习的位姿估计模型的训练需要大量完整标注的数据,如何增大数据集是一个需要解决的问题。在本发明方法中一方面是通过perception package工具合成包含目标检测物体且具有复杂背景的rgb图片,自制虚拟数据集,另一方面对公开的linemod数据集中的真实图片通过增加抖动因子,随机选择亮度、色调、饱和度等方法进行图像扩充,最后对虚拟数据集和扩充的真实数据集进行整合增大了数据集数据量,防止过拟合。
[0033]
2)提高了对于对称物体的估计准确率。训练改进的yolo6d模型,网络的最后一层使用softmax函数,以输出目标类别概率,以及角点在平面上的坐标还有整个置信度得分。在训练阶段,为对称物体和非对称物体定义两种不同的损失函数,使用候选对称位姿中误差最小的位姿来计算损失函数,来提高对于对称物体的识别准确率。
[0034]
3)降低了系统对外部设备的性能要求。位姿估计系统分为客户端和服务器端,可部署于同一台设备,也可部署于两台计算机,由服务器端负责运算功能,客户端负责显示和交互功能,减少了对单台计算机性能的需求。同时本系统所采集的图像为rgb图片,不需要深度摄像机,降低了开发成本。
附图说明
[0035]
图1为本发明基于改进的yolo6d算法的位姿估计系统的结构示意图;
[0036]
图2为本发明基于改进的yolo6d算法的位姿估计方法流程图;
[0037]
图3为本发明实施方式的yolo6d模型的网络结构图;
[0038]
图4为相机成像原理示意图。
具体实施方式
[0039]
为了便于理解本技术,下面将参照相关附图对本技术进行更全面的描述。附图中给出了本技术的较佳实施方式。
[0040]
图1是本实施方式的基于改进的yolo6d算法的位姿估计系统的结构示意图,所述基于改进的yolo6d算法的位姿估计系统包括:
[0041]
视觉传感器,用于实时采集目标物体的图像,并将图像发送给客户端;在优选实施例中,所述视觉传感器采用的是单目摄像机;
[0042]
客户端,用于实时捕获图像并发送给服务器端,以及接收服务器端发送的目标物体位姿估计结果;在优选实施例中,在客户端使用unity搭建了交互场景,预置了后续应用需要叠加的虚拟模型,接收到服务器端发送的目标物体位姿估计结果后,在后续应用中客户端会将虚拟模型准确叠加到真实物体上。
[0043]
服务器端,用于构建yolo6d模型的训练数据集;对yolo6d模型进行改进;利用所述训练数据集对改进的yolo6d模型进行训练,获得位姿估计模型;利用所述姿态估计模型实时估计图像中目标物体的位姿。
[0044]
本实施方式的基于yolo6d的位姿估计方法,流程如图2所示,包括以下步骤:
[0045]
步骤1:采集包含目标物体的原始图像;
[0046]
在优选实施例中,使用unity搭建交互场景,预置需要叠加的虚拟模型,且通过unity开启视觉传感器采集目标物体的图像的视频流。在优选实施例中,视觉传感器采用的是单目摄像机。
[0047]
步骤2:对包含目标物体的原始图像进行处理得到边缘清晰的目标物体图像并保存。
[0048]
在优选实施例中,读取视频流并对视频流的画面进行处理得到边缘清晰的目标物体图像并保存。所述对视频流的画面进行处理包括:首先使用双边滤波的方法对图像进行处理。平衡图像的空间邻近度和像素值相似度,同时考虑空域信息和灰度相似性,可以达到保持边缘、降噪平滑的效果,双边滤波的公式如下:
[0049][0050]
其中,g(i,j)代表输出点;s(i,j)是以(i,j)为中心的奇数*奇数(例如5*5)大小的范围;f(k,l)代表输入点;w(i,j,k,l)代表经过两个高斯函数计算出的值;(i,j)、(k,l)分别指两个像素点的坐标。
[0051]
然后使用高斯滤波的方法对双边滤波处理后的图像进行滤波处理,达到抑制噪声和平滑图像的作用。高斯函数公式如式(2)所示,其中σ为标准差,由于高斯滤波器使用高斯函数的模板系数随着距离模板中心的大小成反比,所以使用高斯滤波能减少图像的模糊程度。
[0052][0053]
步骤3:制作虚拟数据集并对公开的位姿估计数据集的数据量进行扩充,将扩充后的位姿估计数据集和虚拟数据集进行整合,构建yolo6d模型的训练数据集。
[0054]
在本实施方式中,公开的位姿估计数据集采用的是linemod数据集。linemod数据集中不仅提供了目标物体的6d姿态信息还提供了物体的分割掩模和物体的三维模型。linemod数据集中图像背景杂乱,物体间有遮挡,物体种类为13种,每种物体图像数量平均,所以linemod数据集也成为目前最常用并且认可度最高的位姿估计数据集。在本实施方式,通过对linemod数据集进行图像增强的方式对linemod数据集的数据量进行扩充。具体地是,根据数据集中提供的掩模提取目标物体的图像像素,做换背景操作,即将目标物体的图像像素粘贴到不包含目标物体仅包含复杂背景的coco数据集中的图片上,同时对换背景操作之后的图片增加抖动因子,随机选择亮度、色调、饱和度,随机改变图像旋转角度及尺寸,得到新的图像,增添到linemod数据集中,以增大linemod数据集数量,实现对公开的位姿估计数据集的数据量扩充。
[0055]
同时,通过perception package工具合成包含目标物体且具有复杂背景的rgb图片,并对每一幅图片进行对应的标注,获得虚拟数据集;所述标注的信息包括:目标物体的空间信息例如角点信息和类别信息。将扩充后的位姿估计数据集和虚拟数据集进行整合,整合后的数据集具有65000张彩色图像,分为13个类别,其中52000张用于训练,每个类4000张;13000张用于验证,每个类1000张。这样就增大了数据集,可有效防止过拟合。
[0056]
步骤4:对yolo6d模型进行改进,并利用步骤4中整合后的数据集对改进的yolo6d
模型进行训练,获得位姿估计模型;使用yolo6d模型这种单阶段方法来同时检测rgb图像中的目标物体并预测它的6d姿态,不需要多阶段或验证多个假设(预测的位置包围框与真实标注之间交并比的假设)。相比于其他的单阶段检测方法,结果足够精确不需要后处理。
[0057]
步骤4.1:使用卷积层以及池化层提取输入图像的特征图。
[0058]
如图3所示,yolo6d模型在结构上抛弃了全连接层,只采用卷积层与池化层提取图像的特征图。其中,池化层采用最大池化,滤波器尺寸是2
×
2,步长设置为2。卷积层激活函数为leakyrelu,浅层卷积块提取图像的纹理和局部细节特征,深层卷积块提取图像的轮廓和抽象的全局特征。在本实施方式中,yolo6d模型最后提取的特征图的大小是15*15。yolo6d模型使用了pass through layer,那么这个层会把前面一层的15*15的特征图和本层的15*15的特征图进行拼接,以加强yolo6d模型对小目标检测的精确度。
[0059]
步骤4.2:利用softmax函数进行目标物体类别的分类和获得目标物体的精确位置。
[0060]
yolo6d模型的网络最后一层使用的是softmax函数,输出目标物体的类别概率,以及角点在平面上的坐标,还有整个置信度得分。最后一个卷积层的卷积核个数为32(9*2+1+13):9对控制点坐标(包括8个角点和1个中心点),1个置信度值,再加上13个类别。
[0061]
本实施方式改进的yolo6d模型的损失函数分别包含坐标损失、置信度损失、分类损失,用l1损失函数表示坐标和置信度损失,用交叉熵表示分类损失。损失函数公式如下所示:
[0062]
l=l
coo
+l
id

conf
l
conf
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0063]
其中l
coo
为坐标损失函数,l
id
为分类损失函数,λ
conf
l
conf
为置信度损失函数。
[0064]
本发明对yolo6d模型的改进主要在于坐标损失的计算方法:对于目标物体是对称物体的情况,一般方法使用的损失函数取得相同值时,可能存在多个不同的旋转四元数,这在网络训练时会带来震荡。在训练阶段,本实施方式为对称物体和非对称物体定义两种不同的损失函数,使用候选对称位姿中误差最小的位姿来计算损失函数。
[0065]
非对称物体坐标损失函数计算公式如下所示:
[0066][0067]
其中,n是待估计位姿的图像的像素数量;m是带有标注的图像中包含目标物体的像素;i
i
为待估计的图像的第i个像素;为带有标注图像的第i个像素,由于属于一个物体的像素比背景更重要,所以属于物体的像素需要乘以一个因子α(≥1)。
[0068]
对于具有对称结构的物体,通过旋转向量,将每个像素的三维坐标转换成对称位姿。引导预测位姿到最接近的对称位姿来处理对称物体,对称物体坐标损失函数公式如下所示:
[0069]
l=minl
coo
(i,r
p
i
gt
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0070]
其中r
p
是一个位姿到对称位姿的转换,i为待预测图像,i
gt
为带有标注的图像。
[0071]
由于在训练的早期阶段的姿态估计是不准确的,计算的置信度值最初是不可靠的,通过设置正则化参数为0来预训练网络参数,等坐标预测较为准确时,再将包含物体的网格的置信度权重值设置为4,不包含物体的网格置信度权重值设为0.1,将批次设置为8,批大小设置为50,以0.001的学习速率开始对改进的yolo6d模型进行训练且每1000次迭代
学习率乘以0.1,训练结束后得到位姿估计模型。
[0072]
步骤5:将步骤2得到的目标物体图像输入所述位姿估计模型,利用所述姿态估计模型实时估计图像中目标物体的位姿。
[0073]
步骤5.1:将步骤2得到的目标物体图像输入到训练好的位姿估计模型,对目标物体进行位置估计,得到目标物体的角点信息。
[0074]
步骤5.2:为了进一步确定目标物体的6d姿态,根据步骤5.1得到的目标物体位置信息,利用ransac算法的非确定性迭代的特性估计目标物体的6d姿态。
[0075]
ransac(随机抽样一致性)算法是一种在计算机视觉中经常用到的算法,类似于最小二乘法,它主要用于各种模型的参数估计。最小二乘法是所有样本数据均参与参数估计,不能有效减少噪声数据的干扰,尤其是在噪声较多或者噪点严重偏离模型情况下,最小二乘法的估计结果会受到严重影响。需引入鲁棒方法来去除外点,以实现对模型参数稳定而精确地估计。随机抽样一致性算法则有效减少了噪声数据的干扰,它是从一组含有外点(outliers)的数据中正确估计数学模型参数的迭代算法。ransac算法通过反复选择数据中的一组随机子集来达成目标。被选取的子集被假设为内点,并用下述方法进行验证:
[0076]
首先随机假设一小组内点为初始值,然后用这些内点拟合一个模型,此模型适应于假设的内点;用该模型去测试所有的其它数据,如果某个点适用于该估计的模型,认为它也是内点,将内点扩充;如果有足够多的点被归类为假设的内点,那么该估计的模型就足够合理,否则,用所有假设的内点去重新估计模型,因为此模型仅仅是在初始的假设的局内点估计的,后续有扩充后需要更新。最终将合理的估计模型中最大内点集对应的参数作为最优解。
[0077]
现有技术基于欧氏距离设计的姿态置信度函数被用来确定内点和外点像素,用来评估预测姿态与真实姿态之间的偏差程度。姿态置信度函数公式如下所示:
[0078][0079]
其中,β表示姿态置信度函数的锐利程度,d
t
(x)表示预测姿态与真实姿态之间的欧氏距离,d
th
表示置信度函数的像素阈值。
[0080]
在本实施方式中,从目标物体的坐标中随机选取小的子集生成假设的内点,对于每个假设,利用pnp算法计算目标物体的位姿。pnp算法就是用来解决如何从2d坐标和3d坐标的匹配对中求解目标在相机坐标系下的位姿参数。物体相对于相机的姿态可以使用旋转矩阵r和平移矩阵t来表示,这样就可以把物体姿态预测问题转化为相机的旋转矩阵和平移矩阵(即相机的外参)预测问题。物体的世界坐标和相机坐标以及图片中的像素坐标之间的关系如图4所示。
[0081]
其中,图像像素坐标系ouv,图像物理坐标系0
xy
xy,相机坐标系o
c
x
c
y
c
z
c
,世界坐标系o
w
x
w
y
w
z
w
。世界坐标系是物体在真实世界中的位姿,点p投影到图像平面上,转变为像素坐标p(u,v),即图像上某点的具体位置需要经过三个变换:世界坐标系到相机坐标系的变换、相机坐标系到图像物理坐标系的变换以及图像物理坐标系到图像像素坐标系的变换。在给定图像时,从物体的世界坐标系到相机坐标系的转换是由平移量t和旋转量r组成,平移量t
由摄像机原点与目标物体中心的欧氏空间距离构成,旋转量r代表了物体相对标准姿态下的旋转量,完整的位姿可以表示为旋转平移矩阵。pnp算法即设在物体的第i个点的三维坐标为p
i
,使用控制点表示它们的坐标时第j个点为c
j
,世界坐标系坐标上标用w表示,如相机坐标系坐标上标用c表示,如将三维物体的任意点表示为控制点的权重和:
[0082][0083]
其中a
ij
表示均值重心坐标,同样的,在相机参考坐标系中:
[0084][0085]
控制点在世界坐标系下的坐标与在相机坐标系下的坐标关系:
[0086][0087]
最后,将所有特征点在相机坐标系下的坐标用求出的控制点进行表示,即可求出r和t。利用带有ransac的pnp算法,通过最大化内点数量迭代计算最终的6d姿态。
[0088]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1