Coder Social home page Coder Social logo

mahajanayush / stereo-dense-reconstruction Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ut-amrl/stereo_dense_reconstruction

0.0 1.0 0.0 116 KB

Dense 3D reconstruction from stereo (using LIBELAS)

Home Page: http://sourishghosh.com/2017/dense-reconstruction-from-stereo-libelas/

License: MIT License

CMake 1.32% Python 0.12% C++ 94.64% C 3.93%

stereo-dense-reconstruction's Introduction

Dense 3D Reconstruction from Stereo

This is a ROS package for real-time 3D reconstruction from stereo images. Currently this version uses LIBELAS for generating dense disparity maps as a baseline. The method for generation of disparity maps can be changed based on user preferences.

This package serves as a visualization tool for dense disparity maps and point clouds. Additionally, a tool for transforming point clouds to a different reference frame is also included.

Usually, the point clouds are formed in the reference frame of the left camera. For ground robots, often the point clouds need to be transformed to a different frame e.g., a reference frame with the origin at the centre of rotation of the robot projected on to the ground plane. These transformations are hard to calculate mathematically - this tool can be used to find the transformations visually.

Dependencies

Stereo Calibration

A calibrated pair of cameras is required for stereo rectification and calibration files should be stored in a .yml file. This repository contains all the tools and instructions to calibrate stereo cameras.

The rotation and translation matrices for the point cloud transformation should be named as XR and XT in the calibration file. XR should be a 3 x 3 matrix and XT should be a 3 x 1 matrix. Please see a sample calibration file in the calibration_files/ folder.

Stereo Rectification

Run this node to rectify stereo images

$ rosrun stereo_dense_reconstruction stereo_rectify [/camera/left/topic] [/camera/right/topic] [path/to/calib/file.yml]

This node produces rectified stereo images on the following topics:

  • /camera_left_rect/image_color
  • /camera_right_rect/image_color

Dense 3D Reconstruction

$ rosrun stereo_dense_reconstruction dense_reconstruction [path/to/calib/file.yml]

This node outputs the dense disparity map as a grayscale image on the topic /camera_left_rect/disparity_map and the corresponding point cloud on the topic /camera_left_rect/point_cloud.

Point Cloud Transformation

The point cloud can be viewed on rviz by running

$ rosrun rviz rviz

To transform the point cloud to a different reference frame, the XR and XT matrices (rotation and translation) in the calibration file need to be changed. This can be done real-time by the running

$ rosrun rqt_reconfigure rqt_reconfigure

Modify the euler angles and the translation vector to get the desired transformation.

stereo-dense-reconstruction's People

Contributors

sourishg avatar

Watchers

James Cloos avatar

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.