后端优化类 更多...
#include <backend.h>
Public 成员函数 | |
| void | getPointsAndFrames (std::vector< Frame::Ptr > &frames, std::vector< MapPoint::Ptr > &points) |
| 从m_map中获取激活关键帧和激活地图点 | |
| void | addVertexAndEdge (std::unordered_map< std::size_t, PoseVertex * > &poseVertexes, std::unordered_map< std::size_t, PointVertex * > &pointVertexes, std::unordered_map< Feature::Ptr, PosePointEdge * > &edges, std::vector< Frame::Ptr > &frames, std::vector< MapPoint::Ptr > &points, g2o::SparseOptimizer &graph) |
| 添加顶点和边信息 | |
| void | run () |
| 后端启动的线程函数 | |
| void | setMap (const Map::Ptr &map) |
| void | setCamera (const Camera::Ptr &camera) |
| void | setViewer (const Viewer::Ptr &viewer) |
| void | optimize (std::unique_lock< std::mutex > &lck) |
| 进行优化,外点剔除,优化结果回带和清理地图信息 | |
| void | setOptValue (std::unordered_map< std::size_t, PoseVertex * > poseVertexes, std::unordered_map< std::size_t, PointVertex * > pointVertexes) |
| 保证地图的线程安全条件下,更新地图信息 | |
| double | detectOutlier (g2o::SparseOptimizer &graph, std::unordered_map< Feature::Ptr, PosePointEdge * > &edges) |
| 检测后端优化过程中的外点 | |
| Backend (const Backend &other)=delete | |
| Backend & | operator= (const Backend &other)=delete |
静态 Public 成员函数 | |
| static Ptr | getInstance () |
Public 属性 | |
| EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef std::shared_ptr< Backend > | Ptr |
Private 成员函数 | |
| Backend ()=default | |
Private 属性 | |
| Map::Ptr | m_map |
| 地图 | |
| Camera::Ptr | m_camera |
| 相机,保存内参 | |
| Viewer::Ptr | m_viewer |
| 全局展示对象 | |
| bool | m_isStop = false |
| 后端停止标识 | |
后端优化类
|
delete |
|
privatedefault |
| void Backend::addVertexAndEdge | ( | std::unordered_map< std::size_t, PoseVertex * > & | poseVertexes, |
| std::unordered_map< std::size_t, PointVertex * > & | pointVertexes, | ||
| std::unordered_map< Feature::Ptr, PosePointEdge * > & | edges, | ||
| std::vector< Frame::Ptr > & | frames, | ||
| std::vector< MapPoint::Ptr > & | points, | ||
| g2o::SparseOptimizer & | graph | ||
| ) |
添加顶点和边信息
| [in,out] |
向其中添加位姿顶点指针
| [in,out] |
向其中添加地图顶点指针
| [in,out] |
向其中添加优化边指针
| [in] |
地图中的激活关键帧
| [in] |
地图中的激活地图点
| [in,out] |
:SparseOptimizer类型
| double Backend::detectOutlier | ( | g2o::SparseOptimizer & | graph, |
| std::unordered_map< Feature::Ptr, PosePointEdge * > & | edges | ||
| ) |
检测后端优化过程中的外点
| [in] |
:SparseOptimizer对象
| [in] |
构造的优化边
|
inlinestatic |
| void Backend::getPointsAndFrames | ( | std::vector< Frame::Ptr > & | frames, |
| std::vector< MapPoint::Ptr > & | points | ||
| ) |
从m_map中获取激活关键帧和激活地图点
| [in,out] |
保存关键帧的指针
| [in,out] |
保存地图点的指针
| NAMESPACE_BEGIN void Backend::optimize | ( | std::unique_lock< std::mutex > & | lck | ) |
进行优化,外点剔除,优化结果回带和清理地图信息
| [in] |
在激活地图点和激活关键帧拷贝完成后释放互斥量
| void Backend::run | ( | ) |
后端启动的线程函数
|
inline |
|
inline |
| void Backend::setOptValue | ( | std::unordered_map< std::size_t, PoseVertex * > | poseVertexes, |
| std::unordered_map< std::size_t, PointVertex * > | pointVertexes | ||
| ) |
保证地图的线程安全条件下,更新地图信息
| [in] |
位姿顶点的unordered_map
| [in] |
地图点的unordered_map
|
inline |
|
private |
相机,保存内参
|
private |
后端停止标识
|
private |
地图
|
private |
全局展示对象
| EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef std::shared_ptr<Backend> Backend::Ptr |