1. 程式人生 > >maplab系列13:ProjectedImage

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