Giter Site home page Giter Site logo

prbonn / make_it_dense Goto Github PK

View Code? Open in Web Editor NEW
128.0 4.0 10.0 9.85 MB

Make it Dense: Self-Supervised Geometric Scan Completion of Sparse 3D LiDAR Scans in Large Outdoor Environments

Home Page: https://www.ipb.uni-bonn.de/wp-content/papercite-data/pdf/vizzo2022ral-iros.pdf

Makefile 0.36% Python 99.64%
lidar-mapping robotics self-supervised-learning tsdf scan-completion

make_it_dense's Introduction

Make it Dense: Self-Supervised Geometric Scan Completion of Sparse 3D LiDAR Scans in Large Outdoor Environments

This repository contains the implementation of the following publication:

@article{vizzo2022ral,
  author  = {I. Vizzo and B. Mersch and R. Marcuzzi and L. Wiesmann and J. Behley and C. Stachniss},
  title   = {{Make it Dense: Self-Supervised Geometric Scan Completion of Sparse 3D LiDAR Scans in Large Outdoor Environments}},
  journal = {IEEE Robotics and Automation Letters (RA-L)},
  year    = 2022
}

Overview

motivation

A TSDF-based surface model from a single 16-beam LiDAR scan (left) turned into a denser, completed TSDF-based surface model (right) by the learning-based approach proposed in this paper.

refusion

Overview of our approach. We first generate a TSDF volume of a single scan. We then apply our geometric scan completion network in a strided fashion, such that missing values are added to the single-scan TSDF, giving a more complete TSDF volume. The predicted TSDF values are then used to update the global TSDF representation using a weighting term η to avoid integrating the same observation twice into the map.

Table of Contents

Installation

Instal OpenVDB

You will need to install the library from source, I would also reccomend to use my own fork until I found a solution for #1096, if you have all dependencies installed just:

git clone https://github.com/nachovizzo/openvdb.git -b nacho/fix_background_inactive \
  && cd openvdb \
  && mkdir build && cd build \
  && cmake -DOPENVDB_BUILD_PYTHON_MODULE=ON -DUSE_NUMPY=ON .. \
  && sudo make -j$(nproc) all install 

Install vdb_to_numpy

We need this small library to convert our VDB volumes to numpy arrays, and use the data for training.

git clone https://github.com/PRBonn/vdb_to_numpy \
    && cd vdb_to_numpy \
    && pip install .

Install vdbfusion

We need to install this library from the source, not from the pip package. All the details are in the INSTALL.md, but basically:

git clone https://github.com/PRBonn/vdbfusion.git \
    && cd vdbfusion \
    && pip install .

Install make_it_dense

On the root of this repository do pip install .

Install torch

I do not enforce any particular version of PyTorch, make sure it is not extremely old and that it has CUDA support

Data

We use the KITTI Odometry dataset, download it and place it in the data/ folder. If you don't want to do so, you can also change the path in the config/kitti.yaml file.

Training

To reproduce the results of the paper, you can use sequence 07 from KITTI to train the network

Precache

To speed up training it is recommended to first cache all the vdb-grids, for there is a handy script that will do it for you:

./apps/precache.py -s 07

This will take some time but will save a lot in the future

Inspecting cached models

To make sure everything is OK I would advise you to also inspect the VDB models you generate for training:

./apps/dump_training_data.py -s 07

This will output all the vdbs that will be used for training following this structure:

├── gt
│   ├── gt_tsdf_10
│   ├── gt_tsdf_20
│   └── gt_tsdf_40
└── tsdf

To visually inspect the models, go to one directory and run vdb_view *.vdb, using the arrows you can navigate the OpenVDB visualizer and see all the models.

Train

Training should now be straight-forward:

./apps/train.py --config config/kitti.yaml

Testing

To test the network you can use your trained model or use the default one in models. There are 2 entry points to test the network:

Single Scan Test

To test how the network behaves with just 1 scan (use any point-cloud you wish):

./apps/test_scan.py --cuda  $DATASETS/kitti-odometry/dataset/sequences/00/velodyne/000000.bin 

Test Refusion Pipeline

To test the full pipeline when using a 16-beam LiDAR you can use the following command:

./apps/refusion_pipeline.py --sequence 00 -n 30 --visualize

make_it_dense's People

Contributors

minwoo0611 avatar nachovizzo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

make_it_dense's Issues

Cannot build repo

Hello.

I have all dependencies installed as shown here: https://github.com/nachovizzo/openvdb (namely Boost, TBB and BLOSC). I followed the instructions on your page by running the following commands individually:

git clone https://github.com/nachovizzo/openvdb.git -b nacho/fix_background_inactive \ && cd openvdb \ && mkdir build && cd build \ && cmake -DOPENVDB_BUILD_PYTHON_MODULE=ON -DUSE_NUMPY=ON .. \ && sudo make -j$(nproc) all install

However, I keep getting the following error:

[rwalia@ah-qemachine1-l:~/Documents/openvdb/build] ... $ sudo make -j$(nproc) all install CMake Error: The source directory "/home/rwalia/Documents/openvdb" does not exist. Specify --help for usage, or press the help button on the CMake GUI. make: *** [Makefile:268: cmake_check_build_system] Error 1

You can see that the directory 'home/rwalia/Documents/openvdb' exists since I am running the command from its subdirectory. Have you seen this error / can you suggest how to resolve this?

Also, I noticed that the third command above (&& cmake -DOPENVDB_BUILD_PYTHON_MODULE=ON -DUSE_NUMPY=ON .. \) might be incorrect. Shouldn't it be && cmake -D OPENVDB_BUILD_PYTHON_MODULE=ON -D USE_NUMPY=ON .. \ ?

Thank you in advance for your help.

Can not import pyopenvdb after install

Hello, I'd like to ask maybe a stupid question.

I try to use the openvdb python API in anaconda environment. After running the given command:
git clone https://github.com/nachovizzo/openvdb.git -b nacho/fix_background_inactive
&& cd openvdb
&& mkdir build && cd build
&& cmake -DOPENVDB_BUILD_PYTHON_MODULE=ON -DUSE_NUMPY=ON ..
&& sudo make -j$(nproc) all install

It seems to successfully build and install the openvdb. But i can not import pyopenvdb in python. Could you please help me to find out the reason?

The installing logs is as follows:

[ 86%] Built target openvdb_static
[ 93%] Built target openvdb_shared
[ 95%] Built target vdb_print
[100%] Built target pyopenvdb
Install the project...
-- Install configuration: "Release"
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/lib/cmake/OpenVDB/FindBlosc.cmake
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/lib/cmake/OpenVDB/FindJemalloc.cmake
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/lib/cmake/OpenVDB/FindIlmBase.cmake
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/lib/cmake/OpenVDB/FindLog4cplus.cmake
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/lib/cmake/OpenVDB/FindOpenEXR.cmake
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/lib/cmake/OpenVDB/FindOpenVDB.cmake
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/lib/cmake/OpenVDB/FindTBB.cmake
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/lib/cmake/OpenVDB/OpenVDBGLFW3Setup.cmake
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/lib/cmake/OpenVDB/OpenVDBHoudiniSetup.cmake
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/lib/cmake/OpenVDB/OpenVDBMayaSetup.cmake
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/lib/cmake/OpenVDB/OpenVDBUtils.cmake
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/lib/libopenvdb.a
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/lib/libopenvdb.so.9.0.1
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/lib/libopenvdb.so.9.0
-- Set runtime path of "/home/stud/may/.local/lib/cmake/OpenVDB//usr/local/lib/libopenvdb.so.9.0.1" to "/usr/local/lib"
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/lib/libopenvdb.so
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/Exceptions.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/Grid.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/Metadata.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/MetaMap.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/openvdb.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/Platform.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/PlatformConfig.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/Types.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/TypeList.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/version.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/io/Archive.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/io/Compression.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/io/DelayedLoadMetadata.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/io/File.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/io/GridDescriptor.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/io/io.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/io/Queue.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/io/Stream.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/io/TempFile.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/math/BBox.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/math/ConjGradient.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/math/Coord.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/math/DDA.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/math/FiniteDifference.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/math/Half.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/math/HalfLimits.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/math/LegacyFrustum.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/math/Maps.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/math/Mat.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/math/Mat3.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/math/Mat4.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/math/Math.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/math/Operators.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/math/Proximity.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/math/QuantizedUnitVec.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/math/Quat.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/math/Ray.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/math/Stats.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/math/Stencils.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/math/Transform.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/math/Tuple.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/math/Vec2.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/math/Vec3.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/math/Vec4.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/points/AttributeArray.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/points/AttributeArrayString.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/points/AttributeGroup.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/points/AttributeSet.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/points/IndexFilter.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/points/IndexIterator.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/points/PointAdvect.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/points/PointAttribute.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/points/PointConversion.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/points/PointCount.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/points/PointDataGrid.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/points/PointDelete.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/points/PointGroup.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/points/PointMask.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/points/PointMove.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/points/PointSample.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/points/PointScatter.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/points/PointStatistics.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/points/StreamCompression.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/Activate.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/ChangeBackground.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/Clip.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/Composite.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/Count.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/Dense.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/DenseSparseTools.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/Diagnostics.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/FastSweeping.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/Filter.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/FindActiveValues.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/GridOperators.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/GridTransformer.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/Interpolation.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/LevelSetAdvect.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/LevelSetFilter.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/LevelSetFracture.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/LevelSetMeasure.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/LevelSetMorph.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/LevelSetPlatonic.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/LevelSetRebuild.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/LevelSetSphere.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/LevelSetTracker.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/LevelSetUtil.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/Mask.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/Merge.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/MeshToVolume.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/Morphology.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/MultiResGrid.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/NodeVisitor.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/ParticleAtlas.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/ParticlesToLevelSet.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/PointAdvect.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/PointIndexGrid.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/PointPartitioner.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/PointScatter.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/PointsToMask.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/PoissonSolver.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/PotentialFlow.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/Prune.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/RayIntersector.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/RayTracer.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/SignedFloodFill.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/Statistics.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/TopologyToLevelSet.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/ValueTransformer.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/VectorTransformer.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/VelocityFields.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/VolumeAdvect.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/VolumeToMesh.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tools/VolumeToSpheres.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tree/InternalNode.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tree/Iterator.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tree/LeafBuffer.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tree/LeafManager.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tree/LeafNode.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tree/LeafNodeBool.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tree/LeafNodeMask.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tree/NodeManager.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tree/NodeUnion.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tree/RootNode.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tree/Tree.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tree/TreeIterator.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/tree/ValueAccessor.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/util/CpuTimer.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/util/ExplicitInstantiation.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/util/Formats.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/util/logging.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/util/MapsUtil.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/util/Name.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/util/NodeMasks.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/util/NullInterrupter.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/util/PagedArray.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/util/Util.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/thread/Threading.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/lib/python3.8/site-packages/pyopenvdb.so
-- Set runtime path of "/home/stud/may/.local/lib/cmake/OpenVDB//usr/local/lib/python3.8/site-packages/pyopenvdb.so" to "/usr/local/lib"
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/include/openvdb/python/pyopenvdb.h
-- Installing: /home/stud/may/.local/lib/cmake/OpenVDB/usr/local/bin/vdb_print
-- Set runtime path of "/home/stud/may/.local/lib/cmake/OpenVDB//usr/local/bin/vdb_print" to "/usr/local/lib"

OpenVDB dependencies

I tried to build OpenVDB dependency as you described, however the build fails due to (I assume) Boost version mismatch. I have default 1.71, tried with 1.73 still I am unable to build your custom fork openvdb.

Did you maybe encounter similar issues?

Btw, do you use any additional lidar info e.g. intensity values or is it just the XYZ coordinates?

Thank you.

Conversion of VDB Grids to Tensors

Hello,

Thank you for your amazing work, it is really amazing.

I have a few doubts and I hoped you could help me solved them (sorry if they're kind of dumb, I'm new to vdb)

First, in the script scan_complete.py (specifically in the function run_tsdf) you start to generate the tsdf grid based on a given point cloud scan. What I don't completely understand is what the base_volume and target_coords_xyz_a represent. Could you please elaborate?

Second, in the vdb_utils.py script (specifically in the function vdb_to_torch) you return a dictionary with nodes and origin tensors. What do these tensors represent?

Thank you for your time. Look forward to hearing from you! :)

AttributeError: 'VDBVolume' object has no attribute 'tsdf'

I managed to install the dependencies and tried to run the test on the 00 sequence, but I get the following error.

./apps/test_scan.py --cuda  data/kitti-odometry/dataset/sequences/00/velodyne/000000.bin

INFO - 2022-10-26 11:36:39,987 - instantiator - Created a temporary directory at /tmp/tmpme_5u8tm
INFO - 2022-10-26 11:36:39,987 - instantiator - Writing /tmp/tmpme_5u8tm/_remote_module_non_scriptable.py
Traceback (most recent call last):

  File "./apps/test_scan.py", line 54, in <module>
    typer.run(test)

  File "./apps/test_scan.py", line 36, in test
    out_grid, in_grid = run_completion_pipeline(

  File "/home/farid/projects/make_it_dense/venv/lib/python3.8/site-packages/make_it_dense/evaluation/scan_complete.py", line 58, in run_completion_pipeline
    tsdf_volume, coords_xyz = run_tsdf(scan, voxel_size, voxel_size * voxel_trunc)

  File "/home/farid/projects/make_it_dense/venv/lib/python3.8/site-packages/make_it_dense/evaluation/scan_complete.py", line 18, in run_tsdf
    target_coords_ijk_a, _ = LeafNodeGrid(base_volume.tsdf).numpy()

AttributeError: 'VDBVolume' object has no attribute 'tsdf'

It seems to be related to the vdbfusion library. I installed it from source as instructed, but I seem to be missing something.

Looking forward to your help!

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.