摘要:主要是做直接从3d lidar map到image 之间建立关系的视觉定位任务(使用DNN),可以认为是一个2d到3d的地点识别
III. PROPOSED APPROACH
假设lidar map(M)中有很多submap(mi),任务是学习:,其中mi是和query image I相关的submap,j是和query image I不相关的submap,d是一种距离度量。f()和g()就是要学习的函数将image 空间和电云空间的feature映射到一个空间中这样才可以进行度量。
A. 2D Network Architecture
将image 空间的feature映射到EV(EV就是最后的和电云进行比较的空间)是一种2d的卷积网络,因此可以使用vgg或者resnet框架,然后使用netvlad或者mlp进行特征聚合生成global特征。
B. 3D Network Architecture
在电云3d上的框架使用了多种网络:
1.首先是pointnet提取特征(不需要固定数量的point)
2.然后使用edgeconv,由于需要固定数量的point,因此这里需要下采样(pointnet之后使用pool层就行了)(这也是一个dnn网络,具体网络结构没看)
3.SECOND(这也是一个dnn网络,具体网络结构没看)
最后同2d一样仍然使用netvlad层对特征进行聚合到EV空间
C. Teacher/Student Training
为了使网络学习更加鲁棒,因此使用了teacher和 student的方式训练网络,也可以理解为预训练????
首先训练2d网络:,a表示query图片,p表示和a相近的图片(positive),n表示和a不相关的图片(negative),然后在2d层面训练triplet loss:
然后固定住上述学习到的2d 网络参数,直接需要,I还是表示图片,m表示和图片相关的submap的点云。
上述2d网络和3d网络是自己分别单独训练得到
D. Combined Training(c完事之后融合一起训练网络,使之相互作用)
Same-Modality metric learning:(3d-3d和2d-2d一样)
Cross-Modality metric learning:(交叉项)
所以联合最终的loss:
数据构造:
没隔5米取一个图片,然后方圆50米得到对应的submap(点云)。
结果recall还不错,时间先不管,如此训练+网络结构想想应该也没问题
个人理解:
优势:融合了image retrieval 和 3d pointnet网络,应该可以学习到结构信息,特别是训练的时候先分开单独训练base网络框架,然后融合在一起使用复杂的交叉验证loss,理论上应该比较稳定。
缺点:网络庞大,这样的话是不是存在过拟合的嫌疑???泛化能力存疑?只是做了类似地点识别的任务???一个query匹配出来对应的所有的3d点之后呢??运行2d-3d match -> pnp求解????最终的pose???