Skip to content

zhyx490991014/auto_calib_v2.0

 
 

Repository files navigation

改动

对lidar2camera/auto_calib_v2.0进行了修改。

因为在jetson上执行太慢,只有单个cpu在跑,所以用OMP优化了一下各个for循环,让CPU能跑满。除了点云分割,因为是迭代的所以没优化。

因为使用的点云是多个文件合并起来的,可能有重复的点,所以下采样了一下。但体素滤波在点云太大时报overflow,改用octree,然后对每个叶子节点求质心。

BruteForceSearch和RandomSearch里支持外参左乘deltaT,因为感觉应该对变换到相机坐标系下准备投影的点云进行搜索?不确定...实际应该没有影响。

Calibrate()里增加了对位移的BruteForceSearch。


测试

最后结果外参中的t不太准,和真值差了十几、二十厘米,角度差得不大。

投影也有点小瑕疵,但大体对上了。

最后得分score和真值差得很小,0.00几分,但就是导致搜索偏离了真值。确实投影对位移不如旋转敏感?

在Carla下进行测试的,所以激光点的intensity不准,只与距离有关。但试过score中去掉intensity的权重,结果也不理想。


SensorsCalibration toolbox

SensorsCalibration is a simple calibration toolbox and open source project, mainly used for sensor calibration in autonomous driving.

Introduction

Sensor calibration is the foundation block of any autonomous system and its constituent sensors and must be performed correctly before sensor fusion may be implemented. Precise calibrations are vital for further processing steps, such as sensor fusion and implementation of algorithms for obstacle detection, localization and mapping, and control. Further, sensor fusion is one of the essential tasks in autonomous driving applications that fuses information obtained from multiple sensors to reduce the uncertainties compared to when sensors are used individually. To solve the problem of sensor calibration for autonomous vehicles, we provide a sensors calibration toolbox. The calibration toolbox can be used to calibrate sensors such as IMU, LiDAR, Camera, and Radar.

Environment(Quick Start)

# pull docker image
sudo docker pull scllovewkf/opencalib:v1
# After the image is pulled down, start the docker image.  /home/sz3/ailab/ =  code root path on your host
docker run -it -v /home/sz3/ailab/:/share scllovewkf/opencalib:v1 /bin/bash
# or
sudo ./run_docker.sh

Sensors calibration

This calibration toolbox provides some calibration tools based on road scenes. The specific contents are as follows. If you want to use one of the calibration tools in the list below, you can click the use link to enter the instruction page.

calibration param calibration type calibration method mannual calibration auto calibration usage documentation
camera intrinsice intrinsic target-based camera intrinsic
imu heading extrinsic target-less imu heaidng
lidar2imu extrinsic target-less lidar2imu
lidar2camera extrinsic target-less lidar2camera
lidar2lidar extrinsic target-less lidar2lidar
surround-camera extrinsic target-based & target-less surround-camera
radar2camera extrinsic target-less radar2camera
radar2lidar extrinsic target-less radar2lidar

Factory calibration

At the same time, the calibration toolbox also provides some factory calibration tools.

calibration board type calibration sensor calibration board pattern remove opencv auto calibration usage documentation
chessboard Camera chessboard factory calib
circle board Camera circle_board factory calib
vertical board Camera vertical board factory calib
apriltag board Camera apriltag board factory calib
aruco marker board Camera aruco marker board factory calib
round hole board Camera and LiDAR round hole board factory calib

SensorX2car

SensorX2car is a calibration toolbox for the online calibration of sensor-to-car coordinate systems in road scenes for autonomous driving.

calibration param calibration type calibration method mannual calibration auto calibration usage documentation
camera2car extrinsic target-less SensorX2car
lidar2car extrinsic target-less SensorX2car
pose_sensor2car extrinsic target-less SensorX2car
radar2car extrinsic target-less SensorX2car

Related paper

Related paper available on arxiv: OpenCalib: A Multi-sensor Calibration Toolbox for Autonomous Driving

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Citation

If you find this project useful in your research, please consider cite:

@article{opencalib,
    title={OpenCalib: A Multi-sensor Calibration Toolbox for Autonomous Driving},
    author={Yan, Guohang and Liu, Zhuochun and Wang, Chengjie and Shi, Chunlei and Wei, Pengjin and Cai, Xinyu and Ma, Tao and Liu, Zhizheng and Zhong, Zebin and Liu, Yuqian and Zhao, Ming and Ma, Zheng and Li, Yikang},
    journal={arXiv preprint arXiv:2205.14087},
    year={2022},
}

License

SensorsCalibration is released under the Apache 2.0 license.

Contact

If you have questions about this repo, please contact Yan Guohang (yanguohang@pjlab.org.cn).

About

对PJLab-ADG/SensorsCalibration的lidar2camera/auto_calib_v2.0进行了修改。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C++ 85.9%
  • Fortran 7.2%
  • CMake 2.8%
  • C 2.4%
  • Cuda 0.8%
  • Python 0.5%
  • Other 0.4%