Git Product home page Git Product logo

gv_tools's Introduction

Ground-vision toolkit

A toolkit for ground feature processing, inverse perspective mapping (IPM) and so on, which is applied in our preprint Ground-VIO.

News

  • [2023/07/11] - Initial release of code and dataset.

Introduction

This toolkit fully utilizes the camera-ground geometry for accurate ground feature tracking. In the preprint, we verify that the estimation of vehicle states, the calibration of camera-ground geometry and stable feature tracking could be leveraged in a monocular visual-inertial estimator.

Dataset

This repo also provides the urban road visual-inertial dataset used in Ground-VIO.

The dataset contains both Carla simulated data sequences (S-A, S-B) and real-world data squences (R-A, R-B, R-C, R-D, R-E and R-F). The detail information is listed below. For real-world data sequences, the GT poses are obtained from the forward-and-backward smoothed solution of PPK/tactical-grade IMU integration.

Simulation Data (Carla)

Sequence Date Length Sensors Features Image
S-A - 110 s IMU/Camera/Semantic Urban road
S-B - 135 s IMU/Camera/Semantic Urban road

Real-World Data

Sequence Date Length Sensors Features Image
R-A 2022/10/12 180 s IMU/Camera Urban road
R-B 2022/10/12 180 s IMU/Camera Urban road
R-C 2022/10/12 180 s IMU/Camera Urban road
R-D 2022/10/12 180 s IMU/Camera Urban road
R-E 2022/10/12 270 s IMU/Camera Highway
R-F 2022/10/12 270 s IMU/Camera Highway

Dataset is available at OneDrive.

Dependencies

The dependencies include Eigen and OpenCV. We use the camodocal project to handle camera models, while we modify it to a minimal version which doesn't need Ceres.

Getting Started

The project could be built either with or without ROS.

Building with ROS

Follow the steps to build the project in a ROS workspace

mkdir catkin_ws
mkdir catkin_ws/src
cd catkin_ws/src
git clone https://github.com/GREAT-WHU/gv_tools
cd ..
catkin_make

To run the ground tracker node, following

source devel/setup.bash
roslaunch gv_tools track_carla_example.launch

and a rviz viewer would be simultaneously launched.

Then, play the data bag in another terminal

rosbag play s_a.bag

Building without ROS

To build the project just as a plain CMake project

git clone https://github.com/GREAT-WHU/gv_tools
cd gv_tools
mkdir build && cd build
cmake ..
make -j8

Run the example track_dataset following

./build/track_dataset ./config/realworld/tracker.yaml DATASET_DIR/data_r_a/cam0/ DATASET_DIR/data_r_a/stamp.txt DATASET_DIR/data_r_a/gt_pose.txt 

Acknowledgements

The toolkit is developed by GREAT (GNSS+ REsearch, Application and Teaching) Group, School of Geodesy and Geomatics, Wuhan University.

image

Thanks to VINS-Fusion for excellent open-source codes. Thanks to msckf-vio for inspring grid-based feature extraction method.

Credit / Licensing

@article{zhou2023groundvio,
  title={Ground-VIO: Monocular Visual-Inertial Odometry with Online Calibration of Camera-Ground Geometric Parameters},
  author={Yuxuan Zhou, Xingxing Li, Shengyu Li, Xuanbin Wang, Zhiheng Shen},
  journal={arXiv preprint arXiv:arXiv:2306.08341},
  year={2023}
}

The codebase and documentation is licensed under the GNU General Public License v3 (GPL-3).

gv_tools's People

Contributors

zhoutangtang avatar

Stargazers

 avatar mefly_know avatar  avatar XFact avatar Liheng avatar Mr. Xu avatar  avatar 李郑骁 avatar  avatar  avatar  avatar flygod avatar  avatar YJZ_Lucky_Boy avatar  avatar  avatar  avatar Rossi Hwang avatar NEU-Junshun avatar  avatar  avatar  avatar MirrorYuChen avatar  avatar  avatar  avatar 庄庭达 avatar Mitchell Cohen avatar Hekui Guo avatar Zhou Wugen avatar davci avatar neu-yuezhang avatar Nical avatar Matthew avatar TaeYoung Kim avatar ZhangShengyang avatar  avatar  avatar  avatar  avatar WeiyanCai avatar  avatar Jun avatar aqiuxx avatar llcc avatar Houzhan Zhang avatar Yuhao Liu avatar Jianing avatar DS.Xu avatar Sandalots avatar 爱可可-爱生活 avatar Defe avatar Yue Pan  avatar Davidchen avatar  avatar Jiahao Chen avatar Fatih BAŞATEMUR avatar zzh avatar Lucas Zhang avatar QiuKu avatar Huan Yin avatar Catalina avatar  avatar Xiaoliang Jiao avatar  avatar  avatar  avatar Giseop Kim avatar Zihong Yan avatar  avatar kenny avatar  avatar Rankevin avatar  avatar  avatar weiningwei avatar  avatar  avatar  avatar zhangbiao avatar dianyun_particle avatar Si Shubin-HEU avatar  avatar  avatar einspyon avatar

Watchers

 avatar  avatar Charlie avatar Giseop Kim avatar zhangbiao avatar  avatar  avatar  avatar Gaehwan Jo avatar  avatar  avatar

gv_tools's Issues

cc1plus build error

Hi there, thanks for open-sourcing this, I'm looking forward to trying it out.

When I try build for melodic/bionic or noetic/focal, I get the error:

cc1plus: error: to generate dependencies you must specify either -M or -MM

This happens both with catkin_make and catkin build.

Are you able to help me debug this? When you build for ROS, which ROS and linux version are you using?

an important bug

We find that we have made a mistake when preparing the open-source code. The image is undistorted twice in trackImage()😂. Sorry for this very stupid bug!!
bugfix

code release for vio system

Hi, thanks for your nice work! I am very interested in your vio system. May I ask do you have any plan to release the code of the whole vio system? which contains both front-end and back-end.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.