![71caf7cb63561b764e88d88d3930c8fb.png](https://i-blog.csdnimg.cn/blog_migrate/0869391c6500be3df8c4ad42b47e6b4f.jpeg)
本文介绍百度无人车的视觉定位技术,做视觉定位技术上首先要搞清楚一个问题,驾驶员开车过程中怎么判断车辆位置。
(驾驶员驾车过程中用来判断车辆位置的信息有哪些?
Gps,车道线,路肩,护栏,交通标志牌,路灯…
除gps外,其他元素都靠人眼辨识,而无人车也有一个与一个与人眼高度一致的传感器:摄像头,我们称图像中的车道线,路灯等人为定义物体为语义特征(semantic features))
我们在前面介绍了,我们有一个初始gps定位,然后我们有车道线,我们能看到路间有护栏,再加上人本身是一个智能体,人知道怎么去开。摄像头和人很相似的一点,摄像头和人眼睛很相似,眼睛和激光雷达相差很大,我们看到的东西是这样的,我们定位的时候会选择一些sematic的 feature去定位。
(视觉定位是通过图像中具有语义信息的稳定特征,并与地图匹配来获得车辆的位置和朝向)
在视觉定位里,也是输出xyz和yaw,也就是位置和朝向,视觉定位的特点,摄像头技术很成熟,而且它非常小,成本非常低,所以很多开发者就可以用摄像头去做无人驾驶,而没有必要去买很贵的激光雷达。道路元素包括车道线以及路灯元素,他的稳定性非常高
(总结视觉定位的特点:
摄像头技术成熟,结构化地图尺寸很小,有利于降低系统生产成本;车道线,路灯等道路元素稳定性高,不易变动,地图生命周期较长;配置灵活,感觉识别算法性能,可以使用不用的特征组合,易于拓展)
你把这些测出来,他的可重检率非常高,就说你这次路过它检测出来了,下次他也能检测出来,它不像自然特征,比如说sift特征或者别的特征,这些重检率非常低,它还有个特点配置很灵活,意思是你可以随便放在车头,车尾很好做,可以放在车里面,车外面它要求没那么高,下面我们给出一个视觉定位算法的一个流程图:
![8575995bab07c235a26df826a0402a87.png](https://i-blog.csdnimg.cn/blog_migrate/399a33324323e431fdf1d734ae2e289f.jpeg)
我们先做图像特征的检测,图像检测会做车道线以杆状物的检测,然后从3d地图里,提取当时地图里面有那些元素,比如车道线的分布,我们通过gps给出一个初始的位置,告诉你去录那块地图,它会做一次特征的匹配,用imu去做它的pos的预测,给出一个还不错的pose,做完预测后,匹配完,我们把结果输出,定位数据相对于地图的位置和朝向就知道了。把它在输出给融合定位,这就是视觉定位的流程。
它主要包含三部分,一个是3d特征地图的离线生成,一个是图像特征的检测,最后是数据整合的输出。
(一.3d特征地图离线