maplab系列13:ProjectedImage

maplab虽然使用的是binary的描述符。但是比较的时候,其实是把高维的binary(512 bytes)描述符映射到低维的float(10×4 bytes)描述符。这样大大压缩了描述符的存储大小,不知道在比较方面会不会加快,毕竟维度下降了很多。

这个binary到float的映射是通过一个学习出来的变换矩阵实现的,所以每次运行前需要加载这个变换矩阵。

ProjectedImage是在映射描述符的任务中使用的数据交换接口。其中包含了一张二维图片的所有信息,同时还有到landmark的连接关系。也就是track信息。

  •   int64_t timestamp_nanoseconds
    • 因为是一帧的信息,所以可以对应这一帧的时间戳
  •   vi_map::VisualFrameIdentifier keyframe_id
    • 这一帧的一个id
    • vi_map::VisualFrameIdentifier中包含了graph的vertex_id和多相机的frame_id
  •   DatasetId dataset_id
    • 对应mission_id
  •   Eigen::MatrixXf projected_descriptors
    • 每个kp对应的float描述符
  •   Eigen::Matrix2Xd measurements
    • 每个kp对应的uv值
  •   std::vector<PointLandmarkId> landmarks
    • 每个kp对应的landmark,是vi::map的landmarks_id
    • 这里是个vector,说明允许一个kp对应多个landmark

猜你喜欢

转载自blog.csdn.net/ziliwangmoe/article/details/84633559
今日推荐