当前位置: 首页 > news >正文

在g2o图优化框架中,顶点(Vertex)和边(Edge)的定义与功能的区别

在g2o图优化框架中,顶点(Vertex)和边(Edge)是构建优化问题的核心组件,两者的定义与功能存在以下关键区别:


1. 作用与本质差异

  • 顶点(Vertex)
    代表待优化的变量,例如:

    • 位姿(如VertexSE3Expmap表示3D位姿,包含平移和旋转)
    • 空间点坐标(如VertexPointXYZ表示3D点)
    • 参数(如VertexSBAPointXYZ用于SBA优化)
      在SLAM中,顶点通常是机器人位姿或地图点。
  • 边(Edge)
    表示误差项,通过连接顶点定义约束关系,例如:

    • 一元边(BaseUnaryEdge):连接单个顶点(如先验约束)
    • 二元边(BaseBinaryEdge):连接两个顶点(如里程计约束)
    • 多元边(BaseMultiEdge):连接多个顶点(复杂约束)
      在BA优化中,边常表示重投影误差或传感器测量误差。

2. 定义时的代码结构差异

顶点定义
// 模板参数:<优化变量维度, 数据类型>
class CustomVertex : public g2o::BaseVertex<3, Eigen::Vector3d> {
public:// 重置顶点初始值void setToOriginImpl() override { _estimate << 0, 0, 0; }// 顶点更新函数(增量Δx叠加)void oplusImpl(const double* update) override {_estimate += Eigen::Vector3d(update[0], update[1], update[2]);}// 读写函数(若无需磁盘操作可空实现)bool read(std::istream& in) override { return true; }bool write(std::ostream& out) const override { return true; }
};

关键点:

  • 必须重写setToOriginImpl()oplusImpl(),定义初始化和增量更新逻辑。
  • 模板参数中维度对应优化变量自由度(如3维位姿为6)。
边定义
// 模板参数:<误差维度, 测量值类型, 顶点类型...>
class CustomEdge : public g2o::BaseBinaryEdge<2, Vector2d, VertexSE3, VertexPoint> {
public:// 误差计算(核心)void computeError() override {const VertexSE3* pose = static_cast<VertexSE3*>(_vertices[0]);const VertexPoint* point = static_cast<VertexPoint*>(_vertices[1]);_error = measurement_ - project(pose->estimate(), point->estimate());}// 雅可比矩阵计算(可手动或自动求导)

相关文章:

  • SAP-ABAP:ABAP内存:SAP开发中的数据暂存利器解析
  • V Rising 夜族崛起 [DLC 解锁] [Steam] [Windows SteamOS]
  • C语言学习路线
  • TypeScript中的函数类型定义与类型约束
  • web服务与Nginx
  • MySQL 主从复制
  • 二叉树的所有路径(回溯算法基础)
  • 蓝牙耳机开发--TWS蓝牙耳机双向通信充电盒设计
  • 滑动窗口模板
  • 《系统分析师-第三阶段—总结(六)》
  • Android Studio学习记录1
  • 软件测试全流程与主流测试方法详解:从理论到实战
  • Rabbitmq下载和安装(Windows系统,百度网盘)
  • 云服务器被黑客攻击应急响应与加固指南(上)
  • Swiper 在 Vue 中的使用指南
  • 用Python做有趣的AI项目5:AI 画画机器人(图像风格迁移)
  • Atcoder Help 有关Atcoder 的介绍-1 涨分规则
  • docker安装Canal1.1.5,MySQL5.7踩坑
  • 企业架构之旅(2):解锁TOGAF ADM
  • OpenCV-Python (官方)中文教程(部分一)_Day16
  • 外交部:美方应在平等、尊重和互惠的基础上同中方开展对话
  • 美财长称关税战升级的责任在中方,外交部:关税战、贸易战没有赢家
  • 企业取消“大小周”引热议,半月谈:不能将显性加班变为隐性加班
  • 长三角议事厅·周报|长三角游戏出海,关键在“生态输出”
  • 国家发改委:是否进口美国饲料粮、油料不会影响我国粮食供应
  • “富卫保险冠军赛马日”创双纪录,打造赛马旅游盛宴,印证香港联通国际优势