本发明属于自动驾驶领域,尤其是涉及一种自动驾驶双目数据感知算法。
背景技术:
自动驾驶感知系统是自动驾驶技术重要的组成部分。自动驾驶的的感知系统输出结果需要在车体坐标系下三维空间,目前感知系统获得三维空间的数据主要来自lidar,radar和camera。lidar设备的价格昂贵,市面上缺乏符合车规级的设备。radar只能获得非常稀疏的点集,这么点集无法描述障碍物的大小,形状以及语义。camera可获得稠密的三维点云数据,camera获得三维点云的方法主要包括结构光、tof(timeoflightfly)、双目,基于运动估计的单目3d重建和基于深度学习的3d重建。结构光摄像头通过解码发射器发出的模板来重建3d,但是随着距离的增大和户外强光的干扰,结构光摄像头就无法获得准确的深度,对比自动驾驶需要观察到80米以外,结构光摄像头无法适用。tof虽然感知深度比结构光摄像头要远一些,但是也只能测量在几米左右,也无法适应于自动驾驶场景。基于运动估计的单目3d重建,需要相机不断的运动和假设场景没有运行,这与自动驾驶的场景相矛盾,无法适用到自动驾驶,目前应用到自动驾驶领域的camera三维重建只要是双目和基于深度学习预测的三维重建,双目算法的立体匹配需要里面图像中的所有像素点,导致双目算法极其的耗费计算资源,市场上的双目摄像头利用fpga加速双目匹配算法,但是市场上的双目摄像头为了做成一个整套设备,无法将baseline做的太大,这将导致这类双目设备的测量距离有限。
技术实现要素:
有鉴于此,本发明旨在提出一种自动驾驶双目数据感知算法,深度学习有目的的预测障碍物的视差信息,根据视差信息进行3d重建,既可以通过滤出冗余的深度计算提高计算速度,有可以通过视差进行3d重建保证的点云的精度。
为达到上述目的,本发明的技术方案是这样实现的:
一种自动驾驶双目数据感知算法,包括:
s1、通过双目摄像头采集画面;
s2、将图片通过cnn编码器进行编码操作,将两幅图像编码后的featuremap连接到一起;
s3、对编码后的图像进行解码操作,模型的解码器只用来获得左右两张图片同一障碍的bbox对,每一对bbox包括了同一个障碍物分别在左右图像的bbox;
s4、利用成对的bbox只对bbox内的像素做特征提取和匹配以获得像素的视差。
进一步的,在步骤s2中,将两张图片分别输入到模型,将两种图片分别输出到cnn编码器中,其中左右两张图片使用的是相同的编码器,然后将两幅图像编码后的featuremap连接到一起。
进一步的,在步骤s2中,先预处理输出图,将两张图片先连接到一起,生成一个6xhxw的张量作为输入,对该张量进行编码,可以获得经过featuremap连接后的特征图。
进一步的,步骤s3中,对编码后的图像进行解码操作获得:
heatmap:表示相同障碍物bbox对堆叠在一起形成较大的mergebbox中心点热图;
regmap:表示原始图像mergebbox与下采样后转换成整数后偏移距离;
whmap:表示左右bbox四条边与热图中心的距离;
中心点表示mergebbox的中点,该点生成的groundtruth为以该点为中心生成一个二维的高斯函数,用
包括l_l,l_r,l_t,l_b,r_l,r_r,r_t和r_b,分别表示左侧图片障碍物的bbox左边边框到中心点的距离,右边框到中心点的距离,上边框到中心点的距离,下边边框到中心点的距离和右侧图片障碍物的bbox的左边框到中心点的距离,右边框到中心点的距离,上边框到中心点的距离以及下边框到中心点的距离;
引用loss函数,loss函数的定义:y∈[0,1],当y位于centerpoint,y等于1,否则y等于0,
其中heat_map分支的loss为:
其中α和β是loss函数的超参数;
图像输入到模型,经过推理后,输出的featuremap的尺寸通常是小与输出图像的尺寸,这个过程类似于对图像进行了下采样,这样在生成groundtruth的时候,需要根据原始图像大小下采样p倍,在下采样过程,障碍物中心点cxy的x和y坐标除以下采样倍数p,获得了障碍物在下采样后的位置:
其中
用reg_map表示
令:
s=(l_l,l_r,l_t,l_b,r_l,r_r,r_t,r_b)
带有上尖号的表示模型预测的结果,令:
其中whmap分支的loss为:
最终的loss函数:
loss=γk·lk γreg·lreg γs·ls
在推理过程,从模型中获得成对的障碍物bbox,左右侧图像的bbox从freturemap中计算:
因为输入的图像是经过了极线几何的,可使得左右的bbox的top和bottom取相同的值,令:
左右的bbox修正为:
其中down_rate模型推理过程的下采样倍数;
依据bbox分别从左右两张图像中截取图像,为了提供立体匹配可以找到视差效果,对左侧的图像整体向左平移k个像素;分别得到左右有障碍物的像素区域roileft和roiright;
然后分别对每个对roi左立体匹配,获得了相应的视差图disp_origin,由于立体匹配算法只对部分图像处理,大大的降低了算法的复杂度;
由于立体匹配得到的视差图disp_origin是在roi图像上的,需将该视差图恢复到原始输入图像下;
disp_fix=disp_origin-k-leftbbox rightbbox
其中:
由视差图disp_fix和相机内参和左右相机的baseline可计算出视差图各个像素在相机坐标系下的三维坐标。
相对于现有技术,本发明所述的一种自动驾驶双目数据感知算法具有以下优势:
本发明所述的一种自动驾驶双目数据感知算法,根据视差信息进行3d重建,既可以通过滤出冗余的深度计算提高计算速度,又可以通过视差进行3d重建保证的点云的精度。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例所述的双目摄像头(左)采集的图像示意图;
图2为本发明实施例所述的双目摄像头(右)采集的图像示意图;
图3为本发明实施例所述的双目摄像头采集的图像连接后的可视效果图示意图;
图4为本发明实施例所述的模型的解码流程示意图;
图5为本发明实施例所述的可视效果图的标注示意图;
图6为本发明实施例所述的可视化bbox示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语在本发明中的具体含义。
下面将参考附图并结合实施例来详细说明本发明。
如图1至图5所示,通过双目摄像头采集:通过左右摄像头采集画面,经过矫正和极线几何的图片如图1和图2所示。
模型的输入可以使用下述的两种方法:
方法1:将两张图片分别输入到模型,将两种图片分别输出到cnn编码器中,其中左右两张图片使用的是相同的编码器,然后将两幅图像编码后的featuremap连接到一起。
方法2:先预处理输出图,将两张图片先连接到一起,生成一个6xhxw(可视化效果图如图(3))的张量作为输入,对该张量进行编码,可以获得经过featuremap连接后的特征图。
通过上述方法实现了对两幅图像的编码操作,接下来需要进行解码操作,模型的解码器只用来获得左右两张图片同一障碍的bbox对。每一对bbox包括了同一个障碍物分别在左右图像的bbox。然后利用成对的bbox只对bbox内的像素做特征提取和匹配以获得像素的视差,其中bbox为外包围盒。
模型的解码部分(如图4所示)输出包括:
1、表示相同障碍物bbox(外包围盒)对堆叠在一起形成较大的mergebbox(合并的外包围盒)中心点的热图heatmap,其中每个类别输出一张热图,在cnn网络中表示一个featuremap的一个通道;
2、表示原始图像mergebbox与下采样后转换成整数后偏移距离regmap;
3、表示左右bbox四条边与热图中心的距离whmap。
如图5所示:中心点表示mergebbox的中点,有该点生成的groundtruth为以该点为中心生成一个二维的高斯函数,用
图5中的l_l,l_r,l_t,l_b,r_l,r_r,r_t和r_b分别表示左侧图片障碍物的bbox左边边框到中心点(即为图5中的centerpoint)的距离,右边框到中心点的距离,上边框到中心点的距离,下边边框到中心点的距离和右侧图片障碍物的bbox的左边框到中心点的距离,右边框到中心点的距离,上边框到中心点的距离以及下边框到中心点的距离。
接下来引用loss函数,loss函数的定义:y∈[0,1],当y位于centerpoint,y等于1,否则y等于0,
其中heat_map分支的loss为:
其中α和β是loss函数的超参数。
图像输入到模型,经过推理后,输出的featuremap的尺寸通常是小与输出图像的尺寸,这个过程类似于对图像进行了下采样,这样在生成groundtruth的时候,需要根据原始图像大小下采样p倍。在下采样过程,障碍物中心点cxy的x和y坐标除以下采样倍数p,获得了障碍物在下采样后的位置:
其中
用reg_map表示
令:
s=(l_l,l_r,l_t,l_b,r_l,r_r,r_t,r_b)
带有上尖号的表示模型预测的结果,令:
其中whmap分支的loss为:
最终的loss函数:
loss=γk·lk γreg·lreg γs·ls
在推理过程,从模型中获得成对的障碍物bbox,左右侧图像的bbox从freturemap中计算:
可视化bbox如图6所示
因为输入的图像是经过了极线几何的,可使得左右的bbox的top和bottom取相同的值,令:
左右的bbox修正为:
其中down_rate模型推理过程的下采样倍数。
依据bbox分别从左右两张图像中截取图像,为了提供立体匹配可以找到视差效果,对左侧的图像整体向左平移k个像素。分别得到左右有障碍物的像素区域roileft和roiright。
然后分别对每个对roi左立体匹配,获得了相应的视差图disp_origin,由于立体匹配算法只对部分图像处理,大大的降低了算法的复杂度。
由于立体匹配得到的视差图disp_origin是在roi图像上的,需将该视差图恢复到原始输入图像下。
disp_fix=disp_origin-k-leftbbox rightbbox
其中:
由视差图disp_fix和相机内参和左右相机的baseline可计算出视差图各个像素在相机坐标系下的三维坐标。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
1.一种自动驾驶双目数据感知算法,其特征在于,包括:
s1、通过双目摄像头采集画面;
s2、将图片通过cnn编码器进行编码操作,将两幅图像编码后的featuremap连接到一起;
s3、对编码后的图像进行解码操作,模型的解码器只用来获得左右两张图片同一障碍的bbox对,每一对bbox包括了同一个障碍物分别在左右图像的bbox;
s4、利用成对的bbox只对bbox内的像素做特征提取和匹配以获得像素的视差。
2.根据权利要求1所述的一种自动驾驶双目数据感知算法,其特征在于:在步骤s2中,将两张图片分别输入到模型,将两种图片分别输出到cnn编码器中,其中左右两张图片使用的是相同的编码器,然后将两幅图像编码后的featuremap连接到一起。
3.根据权利要求1所述的一种自动驾驶双目数据感知算法,其特征在于:在步骤s2中,先预处理输出图,将两张图片先连接到一起,生成一个6xhxw的张量作为输入,对该张量进行编码,可以获得经过featuremap连接后的特征图。
4.根据权利要求1所述的一种自动驾驶双目数据感知算法,其特征在于:步骤s3中,对编码后的图像进行解码操作获得:
heatmap:表示相同障碍物bbox对堆叠在一起形成较大的mergebbox中心点热图;
regmap:表示原始图像mergebbox与下采样后转换成整数后偏移距离;
whmap:表示左右bbox四条边与热图中心的距离;
中心点表示mergebbox的中点,该点生成的groundtruth为以该点为中心生成一个二维的高斯函数,用
包括l_l,l_r,l_t,l_b,r_l,r_r,r_t和r_b,分别表示左侧图片障碍物的bbox左边边框到中心点的距离,右边框到中心点的距离,上边框到中心点的距离,下边边框到中心点的距离和右侧图片障碍物的bbox的左边框到中心点的距离,右边框到中心点的距离,上边框到中心点的距离以及下边框到中心点的距离;
引用loss函数,loss函数的定义:y∈[0,1],当y位于centerpoint,y等于1,否则y等于0,
其中heat_map分支的loss为:
其中α和β是loss函数的超参数;
图像输入到模型,经过推理后,输出的featuremap的尺寸通常是小与输出图像的尺寸,这个过程类似于对图像进行了下采样,这样在生成groundtruth的时候,需要根据原始图像大小下采样p倍,在下采样过程,障碍物中心点cxy的x和y坐标除以下采样倍数p,获得了障碍物在下采样后的位置:
其中
用reg_map表示
令:
s=(l_l,l_r,l_t,l_b,r_l,r_r,r_t,r_b)
带有上尖号的表示模型预测的结果,令:
其中whmap分支的loss为:
最终的loss函数:
loss=γk·lk γreg·lreg γs·ls
在推理过程,从模型中获得成对的障碍物bbox,左右侧图像的bbox从freturemap中计算:
因为输入的图像是经过了极线几何的,可使得左右的bbox的top和bottom取相同的值,令:
左右的bbox修正为:
其中down_rate模型推理过程的下采样倍数;
依据bbox分别从左右两张图像中截取图像,为了提供立体匹配可以找到视差效果,对左侧的图像整体向左平移k个像素;分别得到左右有障碍物的像素区域roileft和roiright;
然后分别对每个对roi左立体匹配,获得了相应的视差图disp_origin,由于立体匹配算法只对部分图像处理,大大的降低了算法的复杂度;
由于立体匹配得到的视差图disp_origin是在roi图像上的,需将该视差图恢复到原始输入图像下;
disp_fix=disp_origin-k-leftbbox rightbbox
其中:
由视差图disp_fix和相机内参和左右相机的baseline可计算出视差图各个像素在相机坐标系下的三维坐标。
技术总结