1.一种基于主动红外双目视觉的避障系统,其特征在于包括:
双目校正模块;双目校正模块根据离线标定的双目内参和双目外参对双目图像进行去畸变和立体矫正操作,得到校正后的双目图像,传输至视差图计算模块;双目内参具体是指相机投影矩阵K1和K2以及畸变系数D1和D2;双目外参具体是指左右双目的旋转矩阵R和平移向量t;
视差图计算模块,用以计算双目图像的视差图;
以第一目图像中的视差待计算点为基准选定第一图像块;在第二目图像中,计算与第一图像块相似度最大的图像块作为第二图像块;计算第一图像块和第二图像块的视差值得到视差图;之后视差图计算模块将视差图传输至三维点云生成模块;
以左目图像I作为第一目图像,以右目图像r作为第二目图像,并以左目相机的光学坐标系作为参考坐标系,也即相机前视时,X轴朝右、Y轴朝下、Z轴朝前,则具体有:遍历左目图像I中的每一个像素点,针对每一个像素点,计算其x方向的梯度lx和y方向的梯度ly;梯度lx和梯度ly的计算方法如下:Ix=I(x+1,y)‑I(x,y) (1)
Iy=I(x,y+1)‑I(x,y) (2)
计算梯度幅值M(x,y);梯度幅值M(x,y)的计算方法为:当梯度幅值M(x,y)大于设定阈值T1时,此梯度幅值M(x,y)所对应的像素点为视差待计算点pl;
在左目图像I中,以视差待计算点pl为中心,取设定面积S1的第一图像块Bl;设定面积S1为16×16个像素点;
在右目图像r中,以视差待计算点pl为基准点,以设定阈值T2为搜索范围,向左搜索;设定阈值T2为64像素;在搜索的过程中,以路过的每一个像素点为中心,都取设定面积S2的第二图像块Br;设定面积S2=设定面积S1,均为16×16个像素点;
根据SAD度量算法计算第一图像块Bl和第二图像块Br的相似度;其计算公式为:D(Bl,Br)SAD=∑|Bl(x,y)‑Br(x,y)| (4)根据Winner Takes All(WTA)原则,取相似度最大的像素点,作为右目图像r中的对应点pr,计算视差待计算点pl和对应点pr的视差值dp,视差值dp的计算方法是:dp=pl‑pr (5)
视差待计算点pl没有涵盖图像所有像素点,所以其他像素点没有计算视差值,将这些没有计算视差值的像素点设置为零,得到视差图;
三维点云生成模块,通过视差图遍历所述双目图像,得到三维点云;
三维点云障碍物检测模块;所述三维点云障碍物检测模块包括滤波模块和地面检测模块;所述地面检测模块对经过所述滤波模块滤波后的三维点云计算地面点云;将滤波后的三维点云减去地面点云得到障碍物点云;
根据相机的内参焦距f和外参基线B,计算视差图上每个像素点对应的深度,即Z坐标,其计算公式如下:根据Z坐标和相机的内参焦距f,计算每个像素点对应的X坐标和Y坐标,其计算公式如下:式(7)和式(8)中,u表示双目相机的像素坐标系中像素点横坐标,v表示像素坐标系中像素点纵坐标标,cx表示在相机坐标系(也即光心坐标系)中像素点的横坐标,cy表示在相机坐标系(也即光心坐标系)中像素点的纵坐标;
根据每个像素点的三维坐标(X,Y,Z),得到每帧图像对应的三维点云。
2.根据权利要求1所述的基于主动红外双目视觉的避障系统,其特征在于:所述滤波模块包括体素滤波模块和直通滤波模块。
3.根据权利要求1所述的基于主动红外双目视觉的避障系统,其特征在于:所述地面检测模块包括初步地面点云计算模块和最终地面点云计算模块;所述初步地面点云计算模块排除三维点云中法线方向与重力方向之间的夹角超过设定阈值的三维点;所述最终地面点云计算模块将初步地面点云划分为多个点云簇,并根据最大点云簇的性质对所述多个点云簇滤波;所述最大点云簇和多个滤波后点云簇组合为最终地面点云。
4.一种基于主动红外双目视觉的避障方法,应用如权利要求1所述的基于主动红外双目视觉的避障系统,其特征在于包括:视差图计算,计算双目图像的视差图;
所述视差图的计算方法是:以第一目图像中的视差待计算点为基准选定第一图像块;
在第二目图像中,计算与第一图像块相似度最大的图像块作为第二图像块;计算第一图像块和第二图像块的视差值得到视差图;
以左目图像I作为第一目图像,以右目图像r作为第二目图像,并以左目相机的光学坐标系作为参考坐标系,也即相机前视时,X轴朝右、Y轴朝下、Z轴朝前,则具体有:S31.遍历左目图像I中的每一个像素点,针对每一个像素点,计算其x方向的梯度lx和y方向的梯度ly;梯度lx和梯度ly的计算方法如下:Ix=I(x+1,y)‑I(x,y) (1)
Iy=I(x,y+1)‑I(x,y) (2)
S32.计算梯度幅值M(x,y);梯度幅值M(x,y)的计算方法为:当梯度幅值M(x,y)大于设定阈值T1时,此梯度幅值M(x,y)所对应的像素点为视差待计算点pl;
S33.在左目图像I中,以视差待计算点pl为中心,取设定面积S1的第一图像块Bl;设定面积S1为16×16个像素点;
S34.在右目图像r中,以视差待计算点pl为基准点,以设定阈值T2为搜索范围,向左搜索;设定阈值T2为64像素;在搜索的过程中,以路过的每一个像素点为中心,都取设定面积S2的第二图像块Br;设定面积S2=设定面积S1,均为16×16个像素点;
S35.根据SAD度量算法计算第一图像块Bl和第二图像块Br的相似度;其计算公式为:D(Bl,Br)SAD=∑|Bl(x,y)‑Br(x,y)| (4)S36.根据Winner Takes All(WTA)原则,取相似度最大的像素点,作为右目图像r中的对应点pr,计算视差待计算点pl和对应点pr的视差值dp,视差值dp的计算方法是:dp=pl‑pr (5)
在步骤S32中,视差待计算点pl没有涵盖图像所有像素点,所以其他像素点没有计算视差值,将这些没有计算视差值的像素点设置为零,得到视差图;
三维点云生成,通过视差图遍历所述双目图像,得到三维点云;
三维点云障碍物检测;对滤波后的三维点云计算地面点云;将滤波后的三维点云减去地面点云得到障碍物点云。
5.根据权利要求4所述的基于主动红外双目视觉的避障方法,其特征在于包括:还包括双目校正;在视差图计算步骤之前,对双目图像进行去畸变和立体矫正操作。
6.根据权利要求4所述的基于主动红外双目视觉的避障方法,其特征在于,在所述三维点云障碍物检测步骤中,滤波步骤依次包括体素滤波和直通滤波。
7.根据权利要求4所述的基于主动红外双目视觉的避障方法,其特征在于,在所述三维点云障碍物检测步骤中,地面点云的计算方法是:计算初步地面点云;计算三维点云中每个三维点的法线方向,将其与重力方向比较;当所述法线方向与所述重力方向的夹角小于设定阈值时保留该三维点,认为其是地面的一部分,大于设定阈值的则过滤掉,从而得到初步地面点云;
计算最终地面点云;对初步地面点云进行欧拉聚类,将此平面点云划分为多个点云簇;
选择最大的点云簇,计算其质心坐标和最大包围盒;根据质心坐标和最大包围盒对其他点云簇进行滤波,将滤波后的点云和最大点云簇组合起来作为最终地面点云。