ICRA 2021 文章链接
提出了轻量级语义定位地图的构建方法,让低配置车辆通过云使用高配置车辆构建的地图
1 速读
试图解决大多数车辆的传感器质量难以满足自动驾驶的定位需求。这不是一个新问题。
Traditional Visual SLAM:VO, VIO,SLAM; Road-based Localization:构建高精度地图(用于构建和定位有用的信息),有的更注重构建道路地图
①一个轻量级定位框架 ②高配车建图 云端保存 用户端应用(有点像高德地图) ③实际验证其效果
建图与定位分开,通过云连接实现高精度建图和低成本定位的要求
两个实验: ①验证上海浦东新区22号地图的大小km路段建设原地图16.7MB,压缩后为0.786MB。(个人认为这个容量应该在实际使用中说明,16.7在实际定位中对性能有很大影响吗?.786实际使用时有多小?读者没有概念) ②实车配相机 雷达 GPS,GPS视觉和激光误差作为真值比较(x,y,yaw (heading) directions),比激光更有效。(为什么是这三个维度?
自己的车辆进行数据采集和实验
作者在conclution中: ①只在地面上使用语义,应添加更多语义
以下是精读部分
2 系统框架
分为三部分: ①on-vehicle mapping:携带相机、雷达、GPS车辆。车前相机采集数据,通过语义网络提取语义特征, 将相机位置投影到世界坐标系构建语义地图。车辆构建local语义地图上传到云端等merge; ②on-cloud mapping:从多辆收集车辆中获得多辆收集车辆local语义地图,把它拿走merge成一个global并通过语义地图contour extraction压缩,最后将压缩语义地图发送给用户端; ③the end-user localization:配备低成本设备(相机)GPS、IMU、车辆解压地图,轮速计),将前置摄像头的信息与获得的地图进行匹配,用于定位;
3 各个部分
3.1 ON-VEHICLE MAPPING
直接利用CNN网络提取前置摄像头拍摄图片中的语义特征(图a-图b); a.图像坐标系下提取的特征首先通过IPM(Inverse Perspective Mapping)转换为vehicle center坐标系(转换中的内参是离线校准的): 1 λ [ x v y v 1 ] = [ R c t c ] c o l : 1 , 2 , 4 ? 1 π c ? 1 ( [ u v 1 ] ) \frac{1}{\lambda}\begin{bmatrix} x^v \\ y^v \\ 1 \end{bmatrix} = \begin{bmatrix}R_c & t_c\end{bmatrix}_{col:1,2,4}^{-1}\pi_c^{-1}( \begin{bmatrix}u \\ v \\ 1\end{bmatrix}) λ1??xvyv1⎦⎤=[Rctc]col:1,2,4−1πc−1(⎣⎡uv1⎦⎤)转换后只选择车前感兴趣区域((ROI)Region Of Interest)内的部分,因为太远太偏误差大(图b-图c) b.根据车辆位姿将语义信息转换到世界坐标系: [ u i p m v i p m 1 ] = K i p m [ x v y v 1 ] \begin{bmatrix}u_{ipm} \\ v_{ipm} \\ 1\end{bmatrix} = K_{ipm}\begin{bmatrix}x^v \\ y^v \\ 1\end{bmatrix} ⎣⎡uipmvipm1⎦⎤=Kipm⎣⎡xvyv1⎦⎤🌂 由于网络可能出现误分类,于是将map分为多个小方块(0.1m* 0.1m* 0.1m), 记录被分入当前方块的点的class数目,选择最多的class作为方块的class,最终建的的初始语义图如下: ④位姿计算 GPS信号强的时候使用GPS定位,弱的时候使用odometry定位,位姿优化图如下: 两种边:蓝色的GPS约束只存在与GPS信号强的时候,只影响一个点,绿色的Odometry一直存在并连接两个位姿点。 图优化求解: m i n S 0 . . . S n { ∑ i ∈ [ 1 , n ] ∣ ∣ r o ( s i − 1 ) , s i , m ^ i − 1 , i o ∣ ∣ σ 2 + ∑ i ∈ G ∣ ∣ r g ( s i , m ^ i g ) ∣ ∣ σ 2 } \underset{S_0...S_n}{min}\ \left\{\sum_{i\in[1, n]}||r_o(s_{i-1}), s_{i}, \hat{m}_{i-1, i}^o||_{\sigma}^2 + \sum_{i\in \mathcal{G}}||r_g(s_i, \hat{m}_i^g)||_{\sigma}^2\right\} S0...Snmin ⎩⎨⎧i∈[1,n]∑∣∣ro(si−1),si,m^i−1,io∣∣σ2+i∈G∑∣∣rg(si,m^ig)∣∣σ2⎭⎬⎫左边项表示绿色边,右边项表示蓝色边。
3.2 ON-CLOUD MAPPING
①Map Merging / Updating 对上传的多张local 语义地图做3.1中的🌂操作,合并成全局地图; ②Map Compression 使用轮廓线代替点云,先将语义地图转换成俯瞰视角,然后提取轮廓线,如下图所示:
3.3 USER-END LOCALIZATION
①Map Decompression 从云端得到的地图只有轮廓,用户端从俯瞰视角将轮廓内填满对应语义,即得到完整语义地图 有了初始位置后,将当前车辆BEV图像的语义特征和地图进行匹配,使用ICP方法定位,即求解: r ∗ , t ∗ = a r , t r g m i n ∑ k ∈ S ∣ ∣ R ( r ) [ x k v y k v 0 ] + t − [ x k w y k w z k w ] ∣ ∣ 2 r^*, t^* = \underset{r, t}argmin \sum_{k\in \mathcal{S}}||R(r)\begin{bmatrix}x_k^v \\ y_k^v \\ 0\end{bmatrix} + t - \begin{bmatrix}x_k^w \\ y_k^w\\z_k^w\end{bmatrix}||^2 r∗,t∗=r,targmink∈S∑∣∣R(r)⎣⎡xkvykv0⎦⎤+t−⎣⎡xkwykwzkw⎦⎤∣∣2定位同时结合了EFK,以提高鲁棒性和位姿计算的平滑度
问题
1.为什么这里的内参少了一个公式?