码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • lidar_camera_calib代码解读-优化部分


    碎碎念

    最近在调研一下non-target 方式的相机Lidar联合标定,其中包括HK mars实验室开源的项目GitHub - hku-mars/livox_camera_calib: This repository is used for automatic calibration between high resolution LiDAR and camera in targetless scenes.

    这个项目在刚开始并没有得到我的足够重视,潜意识里觉得这种基于线特征的匹配不是太靠谱,但是,在仔细阅读代码后,还是觉得很多细节的处理让人收益匪浅。

    先谈谈目前对于这个项目的感受吧

    优点:

    • 特征的提取不复杂(没有利用语义这些)但是看起来有效
    • 优化的迭代方式有效(损失函数的有效建立 + 迭代过程的细节处理)
    • 最后结果看起来不错

    缺点:

    • 不太适用于低线数的机械雷达
    • 点云线特征的提取有点慢,相比于图像。
    • 对于环境的要求还是比较高的(相比于一些端对端的calib网络)
    • 和ros的结合有点鸡肋,项目内容似乎并不依赖ros的通信机制

    Whatever,相比于一些利用枚举法求解最优值的项目,这个项目的方法还是不知道高明到哪里去了。

    rough calibration

    粗匹配中,会通过枚举的方式会得到很多角度的组合,对于每一个组合,会计算一个metric。然后,选择metric表现最好的欧拉角。

    所以,对应的metric是什么呢?

    1. float cost = (calibra.plane_line_cloud_->size() - pnp_list.size()) *
    2. 1.0 / calibra.plane_line_cloud_->size();

    上面的cost就表示了mertric的组成。其中plane_line_cloud表示了点云中所有的线特征的点。pnp_list包含了lidar和图像所有匹配上的点数。所以,匹配的点数越多,cost越小。

    粗匹配的目标就是找到匹配点数最多的外参。以此开始进行优化。

    refine calibration

    接下来的精匹配,在pnp中,它会不断缩短buildVPnp的匹配距离。每一次缩短匹配距离后,可以匹配上的点会减少。基于缩短的距离,重新选择匹配的点,进行优化。比较有趣的是,它会选择连续进行两次ceres优化。

    目前的代码策略是一直按照距离进行迭代更新,没有其他终止条件。

    总结

    从细节上,对于粗匹配时,损失函数的定义其实不难想到,但是,也没那么容易吧!

    在精匹配时,通过距离为阈值,不管更新参与优化的观测,还是一个非常不错的尝试。值得借鉴和学习。

  • 相关阅读:
    【王道数据结构】第三章 栈和队列
    视频制作不求人:批量添加滚动字幕的详细教程
    【Java实战】工作中如何规范定义Java常量
    VMware Explore 大会解读:VMware 要做多云时代核心技术玩家
    Mybatis知识【Mapper代理开发&核心配置】第三章
    vuex的辅助函数
    JAVA--AI编程助手【代码智能补全工具】盘点,让AI提高你的编程效率
    未来各职业的人,都会涌入Python和AI大潮中,老教授深度解析
    大数据_数据中台建设的成熟度评估模型
    三分钟摸清楚什么叫前后端分离
  • 原文地址:https://blog.csdn.net/m0_47096428/article/details/126570936
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号