wuxiaolang
wuxiaolang
您好,是的作者提供的 orbcubeslam 直接读取的离线车辆三维位姿,可以参考作者原始 Cube SLAM 中的 object_slam/src/main_obj.cpp 和 detect_3d_cuboid/src/main.cpp 是怎么进行三维物体检测的,我的代码中也就是先计算 detect_cuboid() 函数所需要的参数,加入到了 ORB-SLAM2 的恒速运动模型中,每次更新了位姿就调用 detect_cuboid() 进行三维物体检测。但必须提醒一下,效果并不好,在二维图像上绘制立方框可能效果还不错,但计算的物体三维位姿不准确存在不小的误差。
1. object_slam demo 中针对的物体比较规则,物体上顶点采样会比较准确,所以看起来效果会比较好; 2. 在 kitti 中效果确实不好(在 tum 中物体多且不规则的时候效果其实也不太好),作者在演示视频中 kitti 数据集中是用 matlab 版本三维检测并且经过一些对齐等处理之后效果,可以参考我之前问的作者的这个问题:[About the detected pose of the 3D object](https://github.com/shichaoy/cube_slam/issues/7); 3. 我 readme 里的效果其实也很差的,我也没经过什么处理,只提供了初始帧相机的三个角度,检测结果有很多倾斜,偏航角不准确,变化比较大; 4. 如果要使用的话我觉得首先要针对相对规则的物体,线段能检测得比较多、上顶点要比较好采样得到,此外不是每一次检测都有用,选取评分高的检测结果使用。
您好,四个参数传入的格式在 object_slam/src/main_obj.cpp 文件中给的很清楚了,可以看一下 [#L633](https://github.com/wuxiaolang/Cube_SLAM_wu/blob/2d215aa2ca1827c0a4c82939e51580a76027f983/object_slam/src/main_obj.cpp#L633),重点是对 transToWolrd 的构造,ORBSLAM 得到的 pose 是相对于初始化的第一帧,而 Cube SLAM 需要的是相对于真实的地面坐标系的 pose,在 kitti 数据集中基本可以认为相机是平行于地面,只存在一个高度差,作者设置于 1.7 米,也就是需要将 ORBSLAM 得到的 pose 旋转到真实的地面坐标系,可以参考我之前向作者提的一个问:[About the detected pose of the 3D object](https://github.com/shichaoy/cube_slam/issues/7)
您好,不好意思,运行 cube slam 没有遇到过您这样的问题。 不过之前在 ORB-SLAM2 中闭环检测时有遇到过 Eigen 字节对齐的问题,是在 LoopClosing.h 中加入了 ``` EIGEN_MAKE_ALIGNED_OPERATOR_NEW ```
3D Visual and Language Paper title: EDA: Explicit Text-Decoupling and Dense Alignment for 3D Visual Grounding Paper link: https://arxiv.org/abs/2209.14941 Code link: https://github.com/yanmin-wu/EDA
感谢提醒,readme 已更新,也顺便把代码里的 `yolo_img` 也改成 `yolo_imgs` 了 :smiley:。