Skip to content

csiro/WoundNeRF

Repository files navigation

WoundNeRF: Multi-View Consistent Wound Segmentation With Neural Fields (ISBI 2026)

About

This is the official repository of "Multi-View Consistent Wound Segmentation With Neural Fields" accepted to ISBI 2026. This is a fork of SDFStudio official repository at commit 370902a. It includes modifications to the neus-facto module to learn a 3D semantic field for wound reconstruction and documentation.

Quickstart

1. Installation: Setup the environment

Please refer to the SDFStudio repository for all the details.

Prerequisites

Note that in our version we modify the project installation file to use Python 3.10 and CUDA version 12.1. Please pull the original pyproject.toml file if required.

Create environment

conda create --name sdfstudio -y python=3.10
conda activate sdfstudio
python -m pip install --upgrade pip

Dependencies

Install pytorch with CUDA (this repo has been tested with CUDA 12.1) and tiny-cuda-nn

pip install torch==2.4.1 torchvision==0.19.1 --index-url https://download.pytorch.org/whl/cu121
pip install git+https://github.com/NVlabs/tiny-cuda-nn/#subdirectory=bindings/torch

Installation

pip install --upgrade pip setuptools
pip install -e .
pip install colorcet imgviz simpleitk surface-distance
# install tab completion
ns-install-cli

2. Data Structure

We edited the instant-ngp-data dataparser to read the following structure:

DATA/
├── transforms.json
├── mr_intrinsics.json
├── training/
│   ├── <rgb_images>
│   ├── woundbed/
│   │   └── <woundbed_masks>
│   └── tissues/
│       └── <tissues_masks>
└── test/
    ├── <rgb_images>
    ├── woundbed/
    │   └── <woundbed_masks>
    └── tissues/
        └── <tissues_masks>

The file transforms.json contains instant-ngp-like cameras info. mr_intrinsics.json may not be necessary. In our case we have GT annotation in the distorted images (before running Meshroom).

3. Train

The following will train a NeuS-facto model with semantics in a staged training:

# Train woundnerf
ns-train neus-facto --vis tensorboard --experiment-name WoundNeRF/<EXP_NAME> --output-dir output \
    --pipeline.model.sdf-field.inside-outside False --pipeline.model.sdf-field.use-grid-feature True \
    --pipeline.model.sdf-field.encoding-type hash --pipeline.model.sdf-field.num-layers 2 --pipeline.model.sdf-field.beta-init 0.3 \
    --pipeline.model.sdf-field.bias 0.5 \
    --pipeline.model.sdf-field.use_semantics True --pipeline.model.semantics-loss-mult 0.01 --pipeline.model.sdf-field.sem_dropout_value 0.5 \
    --optimizers.fields.optimizer.lr 0.01 --pipeline.model.eikonal-loss-mult 0.2 --trainer.save-only-latest-checkpoint False \
    --trainer.steps-per-save 10000 --trainer.max-num-iterations 30000 --trainer.steps-per-eval-image 5000 --trainer.steps-per-eval-all-images 300000 \
    --pipeline.datamanager.train-num-rays-per-batch 4096 --pipeline.model.eval-num-rays-per-chunk 4096 \
    instant-ngp-data --data <DATA> --include_semantics True

4. Render Images

python scripts/render_images.py --load-config output/WoundNeRF/<EXP_NAME>/config.yml \
    --output-path output/WoundNeRF/<EXP_NAME>

4. Extract Mesh

ns-extract-mesh --load-config output/WoundNeRF/<EXP_NAME>/config.yml \
    --output_path output/WoundNeRF/<EXP_NAME>/mesh_1024_vm.ply \
    --create_visibility_mask True

5. Render 3D Segmentation

python scripts/texture.py --load-config output/WoundNeRF/<EXP_NAME>/config.yml \
    --output-dir output/WoundNeRF/<EXP_NAME> \
    --input-mesh-filename output/WoundNeRF/<EXP_NAME>/mesh_1024_vm.ply \
    --save_rgb True

Licensing

This project is a derivative of SDFStudio (Apache 2.0). The original code remains under the Apache 2.0 license. However, all modifications and new modules added in this repository are licensed under the CSIRO Non-Commercial License. Commercial use of these modifications requires explicit permission.

Citation

If you use this repository or find it useful for your research, please consider citing:

@@misc{chierchia2026woundnerf,
      title={Multi-View Consistent Wound Segmentation With Neural Fields}, 
      author={Remi Chierchia and Léo Lebrat and David Ahmedt-Aristizabal and Yulia Arzhaeva and Olivier Salvado and Clinton Fookes and Rodrigo Santa Cruz},
      year={2026},
      eprint={2601.16487},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2601.16487}
}
@misc{Yu2022SDFStudio,
    author    = {Yu, Zehao and Chen, Anpei and Antic, Bozidar and Peng, Songyou and Bhattacharyya, Apratim 
                 and Niemeyer, Michael and Tang, Siyu and Sattler, Torsten and Geiger, Andreas},
    title     = {SDFStudio: A Unified Framework for Surface Reconstruction},
    year      = {2022},
    url       = {https://github.com/autonomousvision/sdfstudio},
}

About

This is the official repository of "Multi-View Consistent Wound Segmentation With Neural Fields" accepted to ISBI 2026.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors