maplab系列13:ProjectedImage
阿新 • • 發佈:2018-12-04
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