一种基于深度学习的双目视觉位置测量系统及方法

文档序号:26052016发布日期:2021-07-27 15:27阅读:196来源:国知局
一种基于深度学习的双目视觉位置测量系统及方法

本发明涉及一种基于深度学习的双目视觉位置测量系统及方法,属于多目视觉位置测量技术领域。



背景技术:

视觉测量技术是建立在计算机视觉研究基础上的一门技术,研究重点是物体的几何尺寸及物体在空间的位置、姿态等的测量。双目视觉是计算机被动测距方法中重要的距离感知技术,可在多种条件下灵活地测量景物的三维立体信息,在非接触测量中占有越来越重要的位置。双目视觉建立在空间几何结构的基础上,通过计算左右图像的视差,来反映出物体在真实世界的空间位置。双目视觉由于建立在空间几何结构的基础上,结果更加稳定,并且可以直接求解、无需迭代,求解速度快测量精度高。

深度学习是人工智能在计算机视觉中的一种应用,与传统机器学习方法相比具有更强大的特征学习和特征表达能力。深度学习图像识别方法以卷积神经网络为核心,通过不断地训练和自我学习,来构建复杂的特征网络。深度学习通过建立期望识别物体类别数据集,完成对深度学习网络的建立、训练,将得到的训练权值代入识别网络中,便可以实现对多类别多数量物体的识别,具有识别范围广、准确率高等特点。

然而现有的深度学习与双目视觉结合的物体测量方法在深度学习网络结构设计和物体中心坐标求解方法上还存在不足。深度学习网络结构冗余复杂,计算成本大、速度慢;物体中心坐标求解方法存在缺陷,导致物体测量结果不准确,难以实际应用。



技术实现要素:

针对现有识别技术在实际测量物体位置时,无法兼顾测量适用性和准确性的问题,本发明公开的一种基于深度学习的双目视觉位置测量系统及方法要解决的问题是:将深度学习应用于双目视觉的位置测量,通过轻量化深度学习网络,能够兼顾识别与测量适用性和准确性,能够对实际场景下多类别多数量物体进行快速识别与位置准确测量,具有非接触式测量、位置求解精准且实时性高的优点。

本发明的目的是通过下述技术方案实现的。

本发明公开的一种基于深度学习的双目视觉位置测量系统,包括双目视觉图像捕获模块、深度学习物体识别模块、图像分割模块、拟合模块、双目点云模块。

双目视觉图像捕获模块用于捕获、采集左右相机图像数据,利用核线纠正方法对相机畸变进行修正。输出为核线纠正后双目相机左右相机rgb三通道图像和左右相机内参、基线。

深度学习物体识别模块,输入为核线纠正后双目相机左右相机rgb三通道图像,通过制作深度学习图像识别数据集,基于卷积神经网络对图像特征进行提取、聚合,利用全连接层网络对提取图像特征进行回归、解码。输出为左相机图像中识别到的物体的类别标签、识别框位置坐标及其长宽数据。所述类别标签、识别框位置坐标及其长宽数据作为物体识别信息。

图像分割模块,输入为核线纠正后双目相机左相机rgb三通道图像和物体识别信息,通过物体识别信息中的识别框位置坐标及其长宽数据将图像进行分割,降低环境噪声。输出为核线纠正后双目相机左相机rgb三通道图像中各识别物体的rgb三通道图像。

拟合模块,包括椭圆拟合子模块和筛查过滤子模块。椭圆拟合子模块,输入为核线纠正后双目相机左相机rgb三通道图像中各识别物体的rgb三通道图像,通过椭圆拟合算法拟合得到各识别物体边缘轮廓的椭圆拟合内轮廓边缘点数量、椭圆面积和椭圆中心点,输出至筛查过滤子模块。筛查过滤子模块,输入为各识别物体边缘轮廓的拟合椭圆、椭圆拟合内轮廓边缘点数量、椭圆面积和椭圆中心点,通过筛查过滤算法得到筛查过滤后的拟合椭圆,提高拟合椭圆对识别物体边缘轮廓的包络精度,将拟合椭圆中心作为识别物体边缘轮廓的拟合中心,将识别物体边缘的轮廓拟合中心通过识别框位置坐标修正,得到识别物体中心在左相机图像下的像素坐标。输出为识别物体中心在左相机图像下的像素坐标。

双目点云模块,包括视差计算子模块和点云计算子模块。视差计算子模块,输入为核线纠正后双目相机左右相机rgb三通道图像,通过双目视觉立体匹配算法,得到对齐在双目相机左相机上的视差图。点云计算子模块,输入为对齐在双目相机左相机上的视差图和核线纠正后双目相机左右相机内参、基线,通过点云计算算法,得到对齐在核线纠正后双目相机左相机rgb三通道图像上的三维点云。结合识别物体中心在左相机图像下的像素坐标,输出核线纠正后双目相机左相机rgb三通道图像中各识别物体的空间三维坐标。

通过双目视觉图像捕获模块捕获、采集左右相机图像数据;通过深度学习物体识别模块对图像数据进行特征提取、物体识别,得到物体识别信息;通过图像分割模块依据物体识别信息对图像进行分割,降低环境噪声;通过拟合模块拟合得到各识别物体的中心像素坐标;通过双目点云模块得到各识别物体的空间三维坐标,从而实现基于深度学习的双目视觉位置测量。

本发明公开的一种基于深度学习的双目视觉位置测量方法,用于所述的一种基于深度学习的双目视觉位置测量系统,包括如下步骤:

步骤一、使用单平面棋盘格对双目相机进行标定,得到双目相机左右相机内参、畸变系数、双目相机右相机相对左相机的平移矩阵和双目相机右相机相对左相机的旋转矩阵。所述双目相机左右相机内参、畸变系数、双目相机右相机相对左相机的平移矩阵和双目相机右相机相对左相机的旋转矩阵作为双目相机标定参数。

步骤一具体实现步骤如下:

步骤1.1:生成给定大小的单平面棋盘格,每个棋盘格尺寸一致。使用双目相机对准单平面棋盘格,捕获、采集多组单平面棋盘格图像数据,使得单平面棋盘格在双目相机左右相机中均具有清晰成像。

步骤1.2:将步骤1.1中捕获、采集的多组单平面棋盘格图像数据载入,经过标定后导出标定参数,得到双目相机左右相机内参、畸变系数、双目相机右相机相对双目相机左相机的平移矩阵和双目相机右相机相对双目相机左相机的旋转矩阵。所述双目相机左右相机内参、畸变系数、双目相机右相机相对双目相机左相机的平移矩阵和双目相机右相机相对双目相机左相机的旋转矩阵作为双目相机标定参数。

步骤二、将步骤一双目相机标定参数作为已知常量,通过双目视觉图像捕获模块捕获、采集左右相机图像数据,利用核线纠正方法对相机畸变进行修正。输出为核线纠正后双目相机左右相机rgb三通道图像和左右相机内参、基线。

步骤三、将步骤二核线纠正后双目相机左相机rgb三通道图像输入至深度学习物体识别模块,通过制作深度学习图像识别数据集,基于轻量化卷积神经网络对图像特征进行提取聚合,利用全连接层网络对提取图像特征进行回归、解码。输出为左相机图像中识别到的物体的类别标签、识别框位置坐标及其长宽数据。所述类别标签、识别框位置坐标及其长宽数据作为物体识别信息。

步骤三具体实现步骤如下:

步骤3.1:根据图像识别任务的需要选择多类别多数量的图片,对于识别任务中的每一类识别物体选择多数量的对应图片。使用图片标注工具对图片进行标注,标注生成的标注文件中包含对应图片的路径、尺寸、类别和图片中物体的坐标框信息。即每一张图片对应一个标注文件,实现深度学习图像识别数据集的制作。

步骤3.2:基于卷积神经网络搭建特征提取网络对图像特征进行提取,根据图像识别任务对特征提取网络进行修剪,轻量化网络结构。基于卷积神经网络搭建特征融合网络对特征提取网络提取到的不同特征层输出进行特征融合。利用全连接层网络对提取图像特征进行回归、解码。输入为核线纠正后双目相机左相机rgb三通道图像,输出为左相机图像中识别到的物体的类别标签、识别框位置坐标及其长宽数据。所述类别标签、识别框位置坐标及其长宽数据作为物体识别信息。

步骤四、将步骤三得到的物体识别信息和步骤二得到的核线纠正后双目相机左相机rgb三通道图像输入至图像分割模块,通过物体识别信息中的识别框位置坐标及其长宽数据将图像进行分割,降低环境噪声。输出为核线纠正后双目相机左相机rgb三通道图像中各识别物体的rgb三通道图像。

步骤五、将步骤四核线纠正后双目相机左相机rgb三通道图像中各识别物体的rgb三通道图像输入至拟合模块,拟合模块包括椭圆拟合子模块和筛查过滤子模块。经过椭圆拟合子模块和筛查过滤子模块对纠正后双目相机左相机rgb三通道图像中各识别物体的rgb三通道图像进行处理,得到识别物体中心在左相机图像下的像素坐标。输出为核线纠正后双目相机左相机rgb三通道图像中各识别物体的中心像素坐标。

步骤五具体实现步骤如下:

步骤5.1:椭圆拟合子模块,输入为核线纠正后双目相机左相机rgb三通道图像中各识别物体的rgb三通道图像,通过椭圆拟合算法拟合得到各识别物体边缘轮廓的椭圆拟合内轮廓边缘点数量、椭圆面积和椭圆中心点。

步骤5.1具体实现方法如下:

步骤5.1.1:输入核线纠正后双目相机左相机rgb三通道图像中各识别物体的rgb三通道图像并将其转化为灰度图。图像灰度化计算方法如公式(1)所示。red、green、blue分别为rgb三通道图像r通道值、g通道值和b通道值,通过公式(1)即可实现rgb三通道图像的灰度化,提高图像处理效率,输出各识别物体的灰度图。

grey=red*0.299+blue*0.114+green*0.587(1)

步骤5.1.2:将步骤5.1.1各识别物体的灰度图作为输入并进行中值滤波降噪。设中值滤波窗口大小为n×n,其中n为正奇数。中值滤波算法如公式(2)所示。kernel表示在中值滤波窗口内的对应像素灰度值构成的n×n矩阵。median表示将数量为n×n的像素灰度值从大到小排列,并取中位数作为输出output,通过公式(2)即可实现对灰度图像的中值滤波,降低环境噪声,输出中值滤波后各识别物体的灰度图。

output=median[a11…a1na21…a2n…an1…ann]

步骤5.1.3:将步骤5.1.2中值滤波后各识别物体的灰度图作为输入并进行sobel边缘检测。sobel边缘检测算法如公式(3)所示,包含两组3×3的矩阵,分别为横向和纵向卷积因子,将之与图像做平面卷积,即可分别得出横向和纵向的亮度差分近似值。以a代表原始图像,gx、gy分别代表横向和纵向边缘检测的图像灰度梯度值。结合图像的每一个像素的横向和纵向灰度值,来计算该点灰度梯度的大小,如g所示。通过公式(3)即可实现对灰度图像的sobel边缘检测,实现边缘检测,输出各识别物体的sobel边缘检测图。

步骤5.1.4:将步骤5.1.3各识别物体的sobel边缘检测图作为输入并进行二值滤波。二值滤波算法如公式(4)所示,aij表示坐标为(i,j)的像素对应的灰度值,通过设定阈值k,将灰度值大于等于阈值k的设为255,将灰度值小于阈值k的设为0。通过公式(4)即可实现对灰度图像的二值滤波,降低环境噪声,输出二值滤波后各识别物体轮廓的灰度图。

步骤5.1.5:将步骤5.1.4二值滤波后各识别物体轮廓的灰度图作为输入并进行椭圆拟合。通过椭圆拟合算法得到个识别物体轮廓的椭圆拟合,椭圆拟合信息包括椭圆拟合内轮廓边缘点数量、椭圆面积和椭圆中心点。输出各识别物体轮廓的椭圆拟合内轮廓边缘点数量、椭圆面积和椭圆中心点。

步骤5.2:筛查过滤子模块,输入为各识别物体轮廓的椭圆拟合内轮廓边缘点数量、椭圆面积和椭圆中心点,通过筛查过滤算法得到筛查过滤后的拟合椭圆,提高拟合椭圆对识别物体边缘轮廓的包络精度,将拟合椭圆中心作为识别物体边缘轮廓的拟合中心,将识别物体边缘的轮廓拟合中心通过识别框位置坐标修正,得到识别物体中心在左相机图像下的像素坐标。

步骤六、将步骤二核线纠正后双目相机左右相机rgb三通道图像和步骤五识别物体中心在左相机图像下的像素坐标输入至双目点云模块,双目点云模块包括视差计算子模块和点云计算子模块。经过视差计算子模块和点云计算子模块对纠正后双目相机左相机rgb三通道图像中各识别物体的rgb三通道图像进行处理,得到并输出为核线纠正后双目相机左相机rgb三通道图像中各识别物体的空间三维坐标。

步骤六具体实现步骤如下:

步骤6.1:视差计算子模块,输入为核线纠正后双目相机左右相机rgb三通道图像,通过双目视觉立体匹配算法,得到对齐在双目相机左相机上的视差图。

步骤6.1具体实现方法如下:

步骤6.1.1:输入为核线纠正后双目相机左右相机rgb三通道图像并在给定视差范围内计算匹配代价。匹配代价计算方法如公式(5)所示。census变换是使用像素邻域内的局部灰度差异将像素灰度转换为比特串,通过将邻域窗口内的像素灰度值与窗口中心像素的灰度值进行比较,将比较得到的布尔值映射到一个比特串中,最后用比特串的值作为中心像素的census变换值cs。n′和m′分别为不大于n和m的一半的最大整数,为比特位的逐位连接运算。hamming距离即两个比特串的对应位不相同的数量,计算方法为将两个比特串进行亦或运算,再统计亦或运算结果的比特位中不为1的个数。通过公式(5)即可实现对核线纠正后双目相机左右相机rgb三通道图像在给定视差范围内匹配代价计算,输出为各像素在给定视差范围内的匹配代价。

c(u,v,d):=hamming(csl(u,v),csr(u-d,v))

步骤6.1.2:将步骤6.1.1各像素在给定视差范围内的匹配代价作为输入并进行代价聚合。像素p沿着某条路径r的路径代价如公式(6)所示,其中,第一项为像素p在视差为d时的匹配代价值c,属于数据项;第二项是平滑项,累加到路径代价上的值取不做惩罚,做p1惩罚和做p2惩罚三种情况中代价最小的值,p2′是p2的初值,一般设置为远大于p1的数,ibp和ibq分别为像素p和q的灰度值;第三项是为了保证新的路径代价值lr不超过一定数值上限。总路径代价值s计算如公式(7)所示。通过公式(6)和公式(7)即可实现对多聚合路径下的代价聚合计算,输出为各像素在给定视差范围内的多路径下匹配代价聚合值。

步骤6.1.3:将步骤6.1.2各像素在给定视差范围内的多路径下匹配代价聚合值作为输入并进行视差计算。通过赢者通吃算法计算各像素在给定视差范围内的多路径下匹配代价聚合值的最小值,将多路径下最小的匹配代价聚合值对应的视差作为视差计算结果。输出各像素在代价聚合后的视差。

步骤6.1.4:将步骤6.1.3各像素在代价聚合后的视差作为输入并进行视差优化。视差优化内容包括子像素拟合、左右一致性检查、剔除小连通区域和中值滤波。子像素拟合如公式(8)所示,其中dsub为子像素拟合后的视差值,d为像素p的视差值,c0、c1和c2分别为像素p、像素p左邻域像素、像素p右邻域像素的匹配代价聚合值。左右一致性检查如公式(9)所示,其中dbp表示左视图中像素p的视差值,dmq表示右视图中像素q的视差值,像素p、q为同名点。像素p、q的视差值之差的绝对值小于等于1,则左右一致性检查通过,保留视差值;否则,左右一致性检查不通过,将视差值变为无效值dinv。剔除小连通区域通过区域跟踪,把它们跟踪成块,判断块的大小是否小于一定的阈值,如果是则剔除,即把整块都置为无效视差。中值滤波用来剔除视差图中的一些孤立的离群外点,同时起到填补小洞的作用。

步骤6.2:点云计算子模块,输入为对齐在双目相机左相机上的视差图和核线纠正后双目相机左右相机内参、基线,通过点云计算算法,得到对齐在核线纠正后双目相机左相机rgb三通道图像上的三维点云。结合识别物体中心在左相机图像下的像素坐标,输出核线纠正后双目相机左相机rgb三通道图像中各识别物体的空间三维坐标。

步骤6.2具体实现方法如下:

步骤6.2.1:输入为对齐在双目相机左相机上的视差图和核线纠正后双目相机左右相机内参、基线并进行点云计算。点云计算算法如(10)所示,其中b为双目相机基线长度;f为双目相机左相机焦距;d为像素p(x,y)对应的视差;x0l、y0l和x0r分别为左视图像主点x方向坐标、左视图像主点y方向坐标和右视图像主点x方向坐标,可由内参获得。通过公式(10)即可实现双目视觉点云计算,输出为对齐在核线纠正后双目相机左相机rgb三通道图像上的三维点云。

步骤6.2.2:将步骤6.2.1对齐在核线纠正后双目相机左相机rgb三通道图像上的三维点云作为输入,结合识别物体中心在左相机图像下的像素坐标,输出核线纠正后双目相机左相机rgb三通道图像中各识别物体的空间三维坐标。

测量得到各识别物体的空间三维坐标,即对步骤一中采集到的图像数据完成物体识别与位置测量。

本发明的系统及方法的应用属于多目视觉技术领域,基于卷积神经网络搭对图像特征进行提取、融合,根据图像识别任务对特征提取网络进行修剪,轻量化网络结构,利用全连接层网络对提取图像特征进行回归、解码,制作图像分割、拟合算法,将深度学习应用于双目视觉位置测量,能够兼顾测量适用性和准确性,能够对实际场景下多类别多数量物体的位置进行快速准确测量,具有非接触式测量、位置求解精准且实时性高的优点。

有益效果:

1、本发明公开的一种基于深度学习的双目视觉位置测量系统及方法,采用双目相机对物体位置进行测量,相比现有测距方法,具有能够对现实场景下多类别多数量物体进行识别的非接触式测量的优点。

2、本发明公开的一种基于深度学习的双目视觉位置测量系统及方法,基于深度学习实现物体识别,参考yolov4网络搭建深度学习卷积神经网络,相比yolov4网络,在特征提取部分减少了往复卷积特征提取次数,精简特征提取网络;在特征融合部分删去spp结构,根据位置测量任务减小对小物体的敏感性,相比现在卷积神经网络结构,网络参数减少、网络结构轻量,进而提高物体识别实时性。

3、本发明公开的一种基于深度学习的双目视觉位置测量系统及方法,基于椭圆拟合过滤筛查估计物体中心,在物体中心求解时,通过中值滤波、sobel边缘检测、二值滤波方法减小环境误差,通过椭圆拟合过滤筛查方法估计物体中心坐标,相比现有物体中心坐标求解方法,依靠灰度值梯度,解决了物体识别框内物体堆叠、灰度不连续性造成的位置解算误差,进而提高位置求解准确性。

附图说明

图1为本发明提出的基于深度学习的双目视觉物体位置测量系统模块图;

图2为本发明提出的基于深度学习的双目视觉物体位置测量方法流程图;

图3为本发明提出的深度学习卷积神经网络结构示意图;

图4为本发明提出的拟合模块算法处理流程示意图;

图5为本发明提出的双目点云模块流程示意图。

其中:1—核线纠正后双目相机左右相机rgb三通道图像和左右相机内参和基线、1.1—核线纠正后双目相机左右相机rgb三通道图像、1.2—核线纠正后双目相机左右相机内参和基线、2—左相机图像中识别到的物体的类别标签和识别框位置坐标及其长宽数据、3—核线纠正后双目相机左相机rgb三通道图像中各识别物体的rgb三通道图像、4—识别物体中心在左相机图像下的像素坐标、4.1—各识别物体轮廓的椭圆拟合内轮廓边缘点数量和椭圆面积和椭圆中心点、5—核线纠正后双目相机左相机rgb三通道图像中各识别物体的空间三维坐标、5.1—对齐在双目相机左相机上的视差图。

具体实施方式

为了更好的说明本发明的目的和优点,下面结合附图对发明内容做进一步说明。

如图1所示,本实施例公开的一种基于深度学习的双目视觉位置测量系统,包括双目视觉图像捕获模块、深度学习物体识别模块、图像分割模块、拟合模块、双目点云模块。

双目视觉图像捕获模块用于捕获、采集左右相机图像数据,利用核线纠正方法对相机畸变进行修正。输出为核线纠正后双目相机左右相机rgb三通道图像和左右相机内参、基线。

深度学习物体识别模块,输入为核线纠正后双目相机左右相机rgb三通道图像,通过制作深度学习图像识别数据集,基于卷积神经网络对图像特征进行提取、聚合,利用全连接层网络对提取图像特征进行回归、解码。输出为左相机图像中识别到的物体的类别标签、识别框位置坐标及其长宽数据。所述类别标签、识别框位置坐标及其长宽数据作为物体识别信息。

图像分割模块,输入为核线纠正后双目相机左相机rgb三通道图像和物体识别信息,通过物体识别信息中的识别框位置坐标及其长宽数据将图像进行分割,降低环境噪声。输出为核线纠正后双目相机左相机rgb三通道图像中各识别物体的rgb三通道图像。

拟合模块,包括椭圆拟合子模块和筛查过滤子模块。椭圆拟合子模块,输入为核线纠正后双目相机左相机rgb三通道图像中各识别物体的rgb三通道图像,通过椭圆拟合算法拟合得到各识别物体边缘轮廓的椭圆拟合内轮廓边缘点数量、椭圆面积和椭圆中心点,输出至筛查过滤子模块。筛查过滤子模块,输入为各识别物体边缘轮廓的拟合椭圆、椭圆拟合内轮廓边缘点数量、椭圆面积和椭圆中心点,通过筛查过滤算法得到筛查过滤后的拟合椭圆,提高拟合椭圆对识别物体边缘轮廓的包络精度,将拟合椭圆中心作为识别物体边缘轮廓的拟合中心,将识别物体边缘的轮廓拟合中心通过识别框位置坐标修正,得到识别物体中心在左相机图像下的像素坐标。输出为识别物体中心在左相机图像下的像素坐标。

双目点云模块,包括视差计算子模块和点云计算子模块。视差计算子模块,输入为核线纠正后双目相机左右相机rgb三通道图像,通过双目视觉立体匹配算法,得到对齐在双目相机左相机上的视差图。点云计算子模块,输入为对齐在双目相机左相机上的视差图和核线纠正后双目相机左右相机内参、基线,通过点云计算算法,得到对齐在核线纠正后双目相机左相机rgb三通道图像上的三维点云。结合识别物体中心在左相机图像下的像素坐标,输出核线纠正后双目相机左相机rgb三通道图像中各识别物体的空间三维坐标。

如图2所示,本实施例公开的一种基于深度学习的双目视觉位置测量方法,用于所述的一种基于深度学习的双目视觉位置测量系统,包括如下步骤:

步骤一、使用单平面棋盘格对双目相机进行标定,得到双目相机左右相机内参、畸变系数、双目相机右相机相对双目相机左相机的平移矩阵和双目相机右相机相对双目相机左相机的旋转矩阵。所述双目相机左右相机内参、畸变系数、双目相机右相机相对双目相机左相机的平移矩阵和双目相机右相机相对双目相机左相机的旋转矩阵作为双目相机标定参数。

步骤二、将步骤一双目相机标定参数作为已知常量,通过双目视觉图像捕获模块捕获、采集左右相机图像数据,利用核线纠正方法对相机畸变进行修正。输出为核线纠正后双目相机左右相机rgb三通道图像和左右相机内参、基线。

步骤三、将步骤二核线纠正后双目相机左相机rgb三通道图像输入至深度学习物体识别模块,通过制作深度学习图像识别数据集,基于轻量化卷积神经网络对图像特征进行提取聚合,利用全连接层网络对提取图像特征进行回归、解码。输出为左相机图像中识别到的物体的类别标签、识别框位置坐标及其长宽数据。所述类别标签、识别框位置坐标及其长宽数据作为物体识别信息。

步骤四、将步骤三得到的物体识别信息和步骤二得到的核线纠正后双目相机左相机rgb三通道图像输入至图像分割模块,通过物体识别信息中的识别框位置坐标及其长宽数据将图像进行分割,降低环境噪声。输出为核线纠正后双目相机左相机rgb三通道图像中各识别物体的rgb三通道图像。

步骤五、将步骤四核线纠正后双目相机左相机rgb三通道图像中各识别物体的rgb三通道图像输入至拟合模块,拟合模块包括椭圆拟合子模块和筛查过滤子模块。经过椭圆拟合子模块和筛查过滤子模块对纠正后双目相机左相机rgb三通道图像中各识别物体的rgb三通道图像进行处理,得到识别物体中心在左相机图像下的像素坐标。输出为核线纠正后双目相机左相机rgb三通道图像中各识别物体的中心像素坐标。

步骤六、将步骤二核线纠正后双目相机左右相机rgb三通道图像和步骤五识别物体中心在左相机图像下的像素坐标输入至双目点云模块,双目点云模块包括视差计算子模块和点云计算子模块。经过视差计算子模块和点云计算子模块对纠正后双目相机左相机rgb三通道图像中各识别物体的rgb三通道图像进行处理,得到并输出为核线纠正后双目相机左相机rgb三通道图像中各识别物体的空间三维坐标。

至此,测量得到各识别物体的空间三维坐标,即对步骤一中采集到的图像数据完成了物体识别与位置测量。

如图3所示,本实施例提出的深度学习卷积神经网络结构。由特征提取、特征融合与回归解码三部分组成。

特征提取部分的作用是提取图像特征,由cspdarknet53网络构成,cspdarknet53网络则是由一系列残差网络结构(resblock_body)构成。其中,resblock_body使用了cspnet结构,通过cspnet结构,cspdarknet53网络的主干部分进行残差块的堆叠,另一部分经过少量处理直接连接到最后。

特征融合部分的作用是进行特征融合,其使用panet结构。panet结构的作用是对特征的反复提取。

回归解码部分的作用是利用获得的特征进行预测,在特征利用部分,提取多特征层进行目标检测,一共提取三个特征层。在输出部分,输出层的shape分别为(19,19,n)、(38,38,n)、(76,76,n),其中n=3×(4+1+numlabel),numlabel为数据集的类别数目。通过对预测结果解码,将每个网格点加上它对应的x_offset和y_offset,再利用先验框和h、w结合计算出预测框的长和宽,便得到了预测结果。

本实施例公开的深度学习卷积神经网络结构参考yolov4网络搭建,相比yolov4网络,在特征提取部分减少往复卷积特征提取次数,精简特征提取网络;在特征融合部分删去spp结构,根据位置测量任务减小对小物体的敏感性,相比现在卷积神经网络结构,网络参数减少、网络结构轻量,进而提高物体识别实时性。

深度学习卷积神经网络结构的作用如下:

(1)输出识别到的物体类别。通过构建需要的样本集对网络进行训练,将训练好的权重代入到网络中,便可以对输入图像进行识别,识别的物体类别与构建的样本集物体类别一致。

(2)输出识别到的物体检测框。网络在识别物体时,除了输出检测到的物体类别,还会输出将识别物体圈起来的矩形区域,即检测框。输出的检测框数据类型为检测框的中心像素坐标x、y,检测框的宽和高w、h。

如图4所示,本实施例公开的拟合模块算法,包括椭圆拟合子模块和筛查过滤子模块。

椭圆拟合子模块,输入为核线纠正后双目相机左相机rgb三通道图像中各识别物体的rgb三通道图像,通过椭圆拟合算法拟合得到各识别物体边缘轮廓的椭圆拟合内轮廓边缘点数量、椭圆面积和椭圆中心点。包括灰度化算法、中值滤波算法、sobel边缘检测算法、二值滤波算法和椭圆拟合算法。

灰度化算法如公式(11)所示。red、green、blue分别为rgb三通道图像r通道值、g通道值和b通道值,通过公式(11)即可实现rgb三通道图像的灰度化,提高图像处理效率,输出各识别物体的灰度图。

grey=red*0.299+blue*0.114+green*0.587(11)

中值滤波算法如公式(12)所示,设中值滤波窗口大小为n×n,其中n为正奇数,在本发明参数设置中,中值滤波窗口大小n=3。kernel表示在中值滤波窗口内的对应像素灰度值构成的n×n矩阵。median表示将数量为n×n的像素灰度值从大到小排列,并取中位数作为输出output,通过公式(12)即可实现对灰度图像的中值滤波,降低环境噪声,输出中值滤波后各识别物体的灰度图。

output=median[a11…a1na21…a2n…an1…ann]

sobel边缘检测算法如公式(13)所示,包含两组3×3的矩阵,分别为横向和纵向卷积因子,将之与图像做平面卷积,即可分别得出横向和纵向的亮度差分近似值。以a代表原始图像,gx、gy分别代表横向和纵向边缘检测的图像灰度梯度值。结合图像的每一个像素的横向和纵向灰度值,来计算该点灰度梯度的大小,如g所示。通过公式(13)即可实现对灰度图像的sobel边缘检测,实现边缘检测,输出各识别物体的sobel边缘检测图。

二值滤波算法如公式(14)所示,aij表示坐标为(i,j)的像素对应的灰度值,通过设定阈值k,将灰度值大于等于阈值k的设为255,将灰度值小于阈值k的设为0。在本发明参数设置中,阈值k=80。通过公式(14)即可实现对灰度图像的二值滤波,降低环境噪声,输出二值滤波后各识别物体轮廓的灰度图。

椭圆拟合算法基于opencv库搭建。通过opencv库中的findcontours函数对sobel边缘检测追踪,返回sobel边缘检测出的每一个边缘轮廓所点的数量。通过opencv库中的fitellipse函数对每一个边缘轮廓点的数量大于n的进行椭圆拟合,在本发明参数设置中,阈值n=6,返回拟合椭圆的块中心(x,y)、宽和高(a,b)以及旋转角θ。通过拟合椭圆算法,输出各识别物体轮廓的椭圆拟合内轮廓边缘点数量、椭圆面积和椭圆中心点。

筛查过滤子模块,输入为各识别物体轮廓的椭圆拟合内轮廓边缘点数量、椭圆面积和椭圆中心点。筛查过滤算法由2个条件判断组成。通过条件判断1,边缘点数量大于阈值num1的椭圆数量是否大于0,当满足条件判断1时,进入到条件判断2,当不满足条件判断1时,将边缘点数量最大的椭圆中心坐标作为目标中心像素坐标。通过条件判断2,椭圆面积大于阈值num2的椭圆数量是否大于0,当满足条件判断2时,将椭圆中心坐标最靠近检测框中心坐标的作为目标中心像素坐标,当不满足条件判断2时,将面积最大的椭圆中心坐标作为目标中心像素坐标。在本发明参数设置中,阈值num1=20、num2=110。通过筛查过滤算法得到筛查过滤后的拟合椭圆,提高拟合椭圆对识别物体边缘轮廓的包络精度,将拟合椭圆中心作为识别物体边缘轮廓的拟合中心,将识别物体边缘的轮廓拟合中心通过识别框位置坐标修正,得到识别物体中心在左相机图像下的像素坐标

如图5所示,本实施例公开的双目点云模块算法,包括视差计算子模块和点云计算子模块。

视差计算子模块,输入为核线纠正后双目相机左右相机rgb三通道图像,通过双目视觉立体匹配算法,得到对齐在双目相机左相机上的视差图,包括匹配代价算法、代价聚合算法、视差计算算法和视差优化算法。

其中,匹配代价计算方法如公式(15)所示。census变换是使用像素邻域内的局部灰度差异将像素灰度转换为比特串,通过将邻域窗口内的像素灰度值与窗口中心像素的灰度值进行比较,将比较得到的布尔值映射到一个比特串中,最后用比特串的值作为中心像素的census变换值cs。n′和m′分别为不大于n和m的一半的最大整数,为比特位的逐位连接运算。hamming距离即两个比特串的对应位不相同的数量,计算方法为将两个比特串进行亦或运算,再统计亦或运算结果的比特位中不为1的个数。通过公式(15)即可实现对核线纠正后双目相机左右相机rgb三通道图像在给定视差范围内匹配代价计算,输出为各像素在给定视差范围内的匹配代价。

c(u,v,d):=hamming(csl(u,v),csr(u-d,v))

代价聚合算法,像素p沿着某条路径r的路径代价如公式(16)所示,其中,第一项为像素p在视差为d时的匹配代价值c,属于数据项;第二项是平滑项,累加到路径代价上的值取不做惩罚,做p1惩罚和做p2惩罚三种情况中代价最小的值,p2′是p2的初值,一般设置为远大于p1的数,ibp和ibq分别为像素p和q的灰度值;第三项是为了保证新的路径代价值lr不超过一定数值上限。总路径代价值s计算如公式(17)所示。通过公式(16)和公式(17)即可实现对多聚合路径下的代价聚合计算,输出为各像素在给定视差范围内的多路径下匹配代价聚合值。

视差计算算法,通过赢者通吃算法计算各像素在给定视差范围内的多路径下匹配代价聚合值的最小值,将多路径下最小的匹配代价聚合值对应的视差作为视差计算结果。输出各像素在代价聚合后的视差。

视差优化算法内容包括子像素拟合、左右一致性检查、剔除小连通区域和中值滤波。子像素拟合如公式(18)所示,其中dsub为子像素拟合后的视差值,d为像素p的视差值,c0、c1和c2分别为像素p、像素p左邻域像素、像素p右邻域像素的匹配代价聚合值。左右一致性检查如公式(19)所示,其中dbp表示左视图中像素p的视差值,dmq表示右视图中像素q的视差值,像素p、q为同名点。像素p、q的视差值之差的绝对值小于等于1,则左右一致性检查通过,保留视差值;否则,左右一致性检查不通过,将视差值变为无效值dinv。剔除小连通区域通过区域跟踪,把它们跟踪成块,判断块的大小是否小于一定的阈值,如果是则剔除,即把整块都置为无效视差。中值滤波用来剔除视差图中的一些孤立的离群外点,同时起到填补小洞的作用。

点云计算子模块,输入为对齐在双目相机左相机上的视差图和核线纠正后双目相机左右相机内参、基线。点云计算子模块算法如公式(20)所示,其中b为双目相机基线长度;f为双目相机左相机焦距;d为像素p(x,y)对应的视差;x0l、y0l和x0r分别为左视图像主点x方向坐标、左视图像主点y方向坐标和右视图像主点x方向坐标,可由内参获得。通过公式(20)即可实现双目视觉点云计算,输出为对齐在核线纠正后双目相机左相机rgb三通道图像上的三维点云。结合识别物体中心在左相机图像下的像素坐标,输出核线纠正后双目相机左相机rgb三通道图像中各识别物体的空间三维坐标。

综上所述,通过本发明公开的一种基于深度学习的双目视觉位置测量方法步骤一、步骤二、步骤三、步骤四、步骤五、步骤六,应用于本实施例公开的一种基于深度学习的双目视觉位置测量系统,包括双目视觉图像捕获模块、深度学习物体识别模块、图像分割模块、拟合模块、双目点云模块,即可实现对实际场景下多类别多数量物体的位置进行快速准确测量。

本发明未详细阐述的技术内容属于本领域技术人员的公知技术。

以上所述的具体描述,对发明的目的、技术方案和有益效果进行进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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