双目测距与激光雷达测距
双目测距与激光雷达测距(含上交激光雷达测距解析)
测距是雷达站获取全局信息的基本方式,而测距的精度则将直接影响到后面雷达站大部分方案的效果和精度,所以一个准确的测距系统是非常重要的。下面是对两种不同的测距方案的介绍,分别是(激光雷达+相机)联合测距和双目测距。
双目测距
上学期我们雷达站采用了双目的测距方案,在实际测试中,这种测距的精度在10m的范围内误差可以控制在50cm左右,当时随着距离的上升,误差率会逐渐增大。
上面的图片是两篇论文给出测试数据,结果是竟是惊人的相似,随着距离的上升,误差也逐渐上升。考虑到我们比赛的场地的尺寸为28m*15m,在30m的距离下,误差可能会直接达到2m左右;而在后半场也即敌方区域下,误差也都会在0.5m以上。从我主观上考虑,也只有前半场的区域的精度能达到要求,后半场就不行了。
在去年赛场上,还存在以下几个问题:
- 相机的5mm定焦镜头在比赛的频繁的移动下,往往一天就要重新对焦一次。
- 相机支架的结构不够稳定,两个相机的相对位置可能发生变化,需要重新标定。
- 相机需要一个俯视的角度才能较好的捕捉全局视野,每次比赛都需要手动调节到预设角度,并且根据角度对三维坐标做一个变换,这个角度纯在的误差,而误差主要来源于我们的手动调节,非常不稳定。
附上双目测距资料:
ps: 在论坛中,上交曾提到过试过ZED相机,但是最终没有采用此方案。ZED相机是一种集成的双目相机,可以直接获得深度图,但其深度支持的范围在0.2-20m之间,并达不到比赛的要求,我猜测这也是最终没有采用此方案的原因。
激光雷达+相机测距
参考上交雷达开源文档, 点我
Livox-Mid70介绍
在21赛季的比赛中,上海交通大学(以下简称上交)采用了激光雷达测距的方法,硬件设备为Livox-Min70,70代表它的圆形FOV角度,即扫描区域的水平和垂直角度。图视效果如下,根据粗略估计,70.4的圆形FOV基本能覆盖3/4到4/5的区域,在基地和前哨站的靠左和靠右位置是盲区。
激光雷达能过获取其视野内的点云信息,也即一堆(x,y,z)三维坐标点。根据官方数据,livox-mid70的误差范围在2cm左右,对于反射率10%的物体的量程可以达到90m,性能指标远远超出比赛要求。
资料推荐: livox官网 livox-wiki
多传感器融合
ps:下面多次提到了PNP,如果不了解PNP的原理和相机标定的一些基本知识可以去百度或者谷歌以下。可以把PNP简单理解为用来求解从相机坐标系变换到我们自定义的世界坐标系的外参(即旋转矩阵和平移向量) ,这里附上一个资料,里面介绍了各种坐标系和相机内外参的关系, 点我 。
雷达采集的点云数据是相对于自身坐标系的一堆三维坐标,但是 仅仅知道一堆三维坐标,而不知道这些坐标代表的是什么物体,这种获信息是无法使用的 ,于是我们就需要多传感器融合,把点云数据对应到图片上。相机采集到的像素图片也是基于自身坐标系的三维坐标变换后得到的二维坐标,为了两者融合起来以获得图像中特定物体的三维信息,就需要将多个传感器的数据统一到一个坐标系下,这个就是外参标定,我们称之为radar-camera联合标定。另外内参标定主要是获取传感器本身的物理信息和一些畸变参数以对位置数据进行最初的矫正, 内参矩阵可以用来将图像像素坐标转换成相对于相机坐标系的三维坐标 。
ICP(迭代最近点算法)
从上交的技术文档中可知,他们试过基于ICP,迭代计算出外参矩阵的方法。
ICP的原理可以简单看下这篇文章 点我 。
相关的文献找到一片外文期刊点我
基于PNP的联合标定方法(重点)
最后上交采用方法和官方开源的标定方法很类似,官方开源方法 点我 。其原理基于PNP算法,通过获取雷达点云数据中标定板的四个角点的信息和相机图像中的四个角点的信息,有了这一组四元关系,加上相机的内参矩阵,就可以利用PNP算法计算出雷达相对于相机的旋转矩阵和平移向量(即外参)。
有了这个外参矩阵和相机内参,我们可以将雷达获取的点云图投影成相对于相机的深度图,即相机坐标系的Z坐标矩阵,将他跟相机捕捉的像素图做对应就可以获得像素图中某个物体的位置信息了。(比如下图的装甲板位置)
最后一步转换
注意这里得到的三维位置信息是相对于相机坐标系的(包括上面的双目测距,最后得到的位置信息都是相对于相机坐标系的),我们需要的位置信息是相对于比赛场地的,因此还需要估计相机在场地的位姿。这里官方提供了一些RO,BO等标签可以用于识别定位,但是上交没有采用这种方案(我们的双目雷达采用了此方案)。上交这里再次采用PNP算法,获取像素图中的四个点,以及四个点在自定义的赛场坐标系(一般以赛场左下角为原点)下的真实位置来解析相机相对于赛场坐标系的位置,得到另外一个外参。利用该矩阵我们可以之前得到的相对于相机坐标系的三维位置信息转换到相对与赛场坐标系下。
为了覆盖全部视野,上交采用了两个相机,分别都联合标定一次,非重叠区域自己使用单个相机获取的位置,重叠区域可以采用两个相机的均值(当然这里上交还是单用了右相机估计出的位置,因为他的估计表现优于左相机)。
总结
- 精度上:远距离的测距(>15m),双目的方案并不能胜任,激光雷达+相机的方案可以达到要求;中近距离的测距两者都能胜任。
- 标定上:双目的标定较为简单(只需要一个张氏标定版),radar-camera联合标定相比起来麻烦一点
- 费用上:双目的费用在5000元左右(包括两个相机+两个镜头),radar-camera的费用在7000-9000元左右(Livox-Mid70+相机+镜头)