载入中...
搜索中...
未找到
Backend类 参考

后端优化类 更多...

#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
 
Backendoperator= (const Backend &other)=delete
 

静态 Public 成员函数

static Ptr getInstance ()
 

Public 属性

EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef std::shared_ptr< BackendPtr
 

Private 成员函数

 Backend ()=default
 

Private 属性

Map::Ptr m_map
 地图
 
Camera::Ptr m_camera
 相机,保存内参
 
Viewer::Ptr m_viewer
 全局展示对象
 
bool m_isStop = false
 后端停止标识
 

详细描述

后端优化类

构造及析构函数说明

◆ Backend() [1/2]

Backend::Backend ( const Backend other)
delete

◆ Backend() [2/2]

Backend::Backend ( )
privatedefault

成员函数说明

◆ addVertexAndEdge()

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类型

◆ detectOutlier()

double Backend::detectOutlier ( g2o::SparseOptimizer &  graph,
std::unordered_map< Feature::Ptr, PosePointEdge * > &  edges 
)

检测后端优化过程中的外点

参数
[in]

:SparseOptimizer对象

参数
[in]

构造的优化边

注解
注意,由于后端优化过程比较长,因此不会采用类似前端的外点剔除方法

◆ getInstance()

static Ptr Backend::getInstance ( )
inlinestatic

◆ getPointsAndFrames()

void Backend::getPointsAndFrames ( std::vector< Frame::Ptr > &  frames,
std::vector< MapPoint::Ptr > &  points 
)

从m_map中获取激活关键帧和激活地图点

参数
[in,out]

保存关键帧的指针

参数
[in,out]

保存地图点的指针

◆ operator=()

Backend & Backend::operator= ( const Backend other)
delete

◆ optimize()

NAMESPACE_BEGIN void Backend::optimize ( std::unique_lock< std::mutex > &  lck)

进行优化,外点剔除,优化结果回带和清理地图信息

参数
[in]

在激活地图点和激活关键帧拷贝完成后释放互斥量

◆ run()

void Backend::run ( )

后端启动的线程函数

◆ setCamera()

void Backend::setCamera ( const Camera::Ptr camera)
inline

◆ setMap()

void Backend::setMap ( const Map::Ptr map)
inline

◆ setOptValue()

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

◆ setViewer()

void Backend::setViewer ( const Viewer::Ptr viewer)
inline

类成员变量说明

◆ m_camera

Camera::Ptr Backend::m_camera
private

相机,保存内参

◆ m_isStop

bool Backend::m_isStop = false
private

后端停止标识

◆ m_map

Map::Ptr Backend::m_map
private

地图

◆ m_viewer

Viewer::Ptr Backend::m_viewer
private

全局展示对象

◆ Ptr

EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef std::shared_ptr<Backend> Backend::Ptr

该类的文档由以下文件生成: