• Stars
    star
    108
  • Rank 321,259 (Top 7 %)
  • Language
    C++
  • License
    Other
  • Created over 7 years ago
  • Updated over 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Real-time 3D Scene Layout from a Single Image Using Convolutional Neural Networks

Pop Single Image

This code contains algorithm to pop up a 3D plane model from images. Given a RGB and ground segmentation image, the algorithm detects edges and selecs the ground-wall boundary edges then pops up 3D point cloud.

NOTE It is updated and extended to multi-view pop-up plane slam. See the pop_up_wall package there.

Authors: Shichao Yang

Related Paper:

  • Real-time 3D Scene Layout from a Single Image Using Convolutional Neural Networks, ICRA 2016, S. Yang, D. Maturana, S. Scherer PDF
  • Pop-up SLAM: Semantic Monocular Plane SLAM for Low-texture Environments, IROS 2016, S. Yang, Y. Song, M. Kaess, S. Scherer PDF

If you use the code in your research work, please cite the above paper. Please do not hesitate to contact the authors if you have any further questions.

Installation

Prerequisites

This code contains several ros packages. We test it in ROS indigo/kinetic, Ubuntu 14.04/16.04, Opencv 2/3. Create or use existing a ros workspace.

mkdir -p ~/popup_ws/src
cd ~/popup_ws/src
catkin_init_workspace
git clone [email protected]:shichaoy/pop_up_image.git
cd pop_up_image

Install dependency packages of python

sh install_dependenices.sh

Compile

cd ~/popup_ws
catkin_make

Running

source devel/setup.bash
roslaunch pop_up_wall pop_main_sample.launch

You will see point cloud in Rviz. Change the image id in the launch file to test more examples stored under pop_up_wall/data.

Notes

  1. If it shows "NameError: 'pop_up fun...params' is not defined". That is due to python dependency modules are not installed properly. Make sure "from skimage.measure import find_contours,approximate_polygon" can work alone in python. Also 'souce setup.bash' when python/pop_up_python changes/recompiles. There is some pop-up image python function I cannot find C++ replacement therefore we have to use python... The main part is in C++.