Code Monkey home page Code Monkey logo

chasingclouds's Introduction

Chasing clouds: Differentiable volumetric rasterisation of point clouds as a highly efficient and accurate loss for large-scale deformable 3D registration

Code, models and dataset for ICCV 2023 (oral) paper on differentiable volumetric rasterisation of point clouds for 3D registration

Trained models can be found in the subdirectory models, inference, binaries for Adam optimisation and evaluation code for the geometric networks is already available. Open source code for instance optimisation has been released (scripts for training models will follow in October 2023).

See open open job opportunities PostDoc and/or PhD at http://mpheinrich.de/opportunities.html

Check out an interactive live-demo or apply DiVRoC on your own data at https://huggingface.co/spaces/mattiaspaul/chasingclouds

Datasets

The newly created LCSD500 dataset (paired vessel point clouds) is available for download at https://cloud.imi.uni-luebeck.de/s/mtPmXoeNrnntNBg (170MB), automatic correspondences are placed in LCSD500_keypoints_corrfield.zip. More information on how to obtain the PVT_COPD dataset used for training and evaluation of our models can be found in pvtcopd_vtk/README.md

Quick Start

git clone https://github.com/mattiaspaul/ChasingClouds.git
virutalenv venv
source venv/bin/activate
pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu121
pip3 install -r requirements.txt
cd point_pwc/pointnet2/lib; python setup.py install; cd ../../..
mkdir predict

Follow instructions to download required files from public datasets https://github.com/mattiaspaul/ChasingClouds/blob/main/pvtcopd_vtk/README.md

Next you can run the PointPWC model using python evaluate_copd_netonly.py -O predict. Note that the standalone DiVRoC regularisation (which improves TRE slightly) will be added soon. Instance optimisation is available as binary by calling python dist/divroc_adam.py -O predict, which improves the PPWC predictions to about 2.37 mm TRE (state-of-the-art for PVT1010)! Source code for the DiVRoC method is also available now.

Features

  • Dataset (LCSD500 and instructions for PVT1010)
  • Environment and guide to compile PPWC library
  • Base model(s) (pth) and code for inference
  • TRE evaluation (without visualisation)
  • Binaries for inference with Adam instance optimisation
  • Source code for DiVRoC
  • Source code for distance/regularisation incl. training
  • More models and DiVRoC ablations
  • Visualisation and training code

Paper

by Mattias P. Heinrich, Alexander Bigalke, Christoph Großbröhmer (Uni Lübeck) and Lasse Hansen (EchoScout GmbH)

Learning-based registration for large-scale 3D point clouds has been shown to improve robustness and accuracy compared to classical methods and can be trained without supervision for locally rigid problems. However, for tasks with highly deformable structures, such as alignment of pulmonary vascular trees for medical diagnostics, previous approaches of self-supervision with regularisation and point distance losses have failed to succeed, leading to the need for complex synthetic augmentation strategies to obtain reliably strong supervision. In this work, we introduce a novel Differentiable Volumetric Rasterisation of point Clouds (DiVRoC) that overcomes those limitations and offers a highly efficient and accurate loss for large-scale deformable 3D registration. DiVRoC drastically reduces the computational complexity for measuring point cloud distances for high-resolution data with over 100k 3D points and can also be employed to extrapolate and regularise sparse motion fields, as loss in a self-training setting and as objective function in instance optimisation. DiVRoC can be successfully embedded into geometric registration networks, including PointPWC-Net and other graph CNNs. Our approach yields new state-of-the-art accuracy on the challenging PVT dataset in three different settings without training with manual ground truth: 1) unsupervised metric-based learning 2) self-supervised learning with pseudo labels generated by self-training and 3) optimisation based alignment without learning.

Concept

Visual and numerical results on PVT1010 COPD dataset

Results

chasingclouds's People

Contributors

mattiaspaul 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.