Giter Site home page Giter Site logo

shirgur / umis Goto Github PK

View Code? Open in Web Editor NEW
72.0 4.0 15.0 28 KB

Official PyTorch implementation of "Unsupervised Microvascular Image Segmentation Using an Active Contours Mimicking Neural Network"

License: Apache License 2.0

Python 75.84% C++ 2.05% Cuda 22.11%

umis's Introduction

UMIS

Official PyTorch implementation of "Unsupervised Microvascular Image Segmentation Using an Active Contours Mimicking Neural Network" (link)

Prerequisites

  • Python 3.6
  • Pytorch +1.4
  • Numpy
  • Scipy
  • OpenCV
  • Path
  • tqdm
  • h5py
  • tifffile
  • libtiff

Morphological Pooling Layer

In order to build the Morphological Pooling layer on your own machine, run the following line

python src/setup.py install

Train

You can now train using the Euler-Lagrange (original paper), or the PDE (level-set) loss with additional regularization for stability.

python train_unsup.py --loss <EL/LS>

Citation

@inproceedings{gur2019unsupervised,
  title={Unsupervised Microvascular Image Segmentation Using an Active Contours Mimicking Neural Network},
  author={Gur, Shir and Wolf, Lior and Golgher, Lior and Blinder, Pablo},
  booktitle={Proceedings of the IEEE International Conference on Computer Vision},
  pages={10722--10731},
  year={2019}
}

umis's People

Contributors

shirgur 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

Watchers

 avatar  avatar  avatar  avatar

umis's Issues

CUDA_HOME environment variable is not set

Dear @shirgur ,

Thanks for sharing the great work.

When I installed the morphologicalpool by python morphologicalpool/setup.py install, following error occurred:

Traceback (most recent call last):
  File "morphologicalpool/setup.py", line 9, in <module>
    'morphpool_cuda_kernel.cu',
  File "/home/mia/anaconda3/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 479, in CUDAExtension
    library_dirs += library_paths(cuda=True)
  File "/home/mia/anaconda3/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 558, in library_paths
    if (not os.path.exists(_join_cuda_home(lib_dir)) and
  File "/home/mia/anaconda3/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1216, in _join_cuda_home
    raise EnvironmentError('CUDA_HOME environment variable is not set. '
OSError: CUDA_HOME environment variable is not set. Please set it to your CUDA install root.

My environment is ubuntu 18.04 + cuda 10.0.
I have installed the cuda and cudnn before installing the pytorch.

I can't find any useful solutions by google.

Could you share your insight about how to solve this problem?

Looking forward to your reply.
Best regards,
Jun

setup error

hi~great work.
When I try to compile, this occurs
屏幕快照 2020-01-13 下午11 08 00
How can I fix it?
And also could you tell me your cuda and pytorch version?
It will be very helpful.

Cannot get segmentation results

Dear Shigur,
Thank you for your good work.

I used the dataset VesselNN and followed the parameters setting of your code.
But I cannot get the results of segmentation.

I just got the results as following.

1645455190(1)

Inference results are not saved.

Dear @shirgur

It seems the inference results are not saved into local hard drives in train_unsup.py.

UMIS/train_unsup.py

Lines 226 to 235 in 1baf4b1

output = output / idx_sum
output = torch.Tensor(output).unsqueeze(0).cuda()
input_gt = torch.Tensor(input_gt).unsqueeze(0)
# Normalize
output = norm_range(output)
# Plot
input = torch.Tensor(input).unsqueeze(0).unsqueeze(0)
summary.visualize_image_val(writer, input, output, epoch)

Best,
Jun

License?

Hi

Very interesting work. Are you officially releasing under any specific license, or is this public domain?

Thanks
Phil

High level question: why AC loss can do better than Morph-ACWE?

Dear @shirgur ,

Again, I really enjoy reading this paper.

However, I still do not figure out: why AC loss can do better than Morph-ACWE?,

both the proposed Morph Layer with AC loss and Morph-ACWE are unsupervised methods, and Morph Layer with AC loss is a reformulation of Morph-ACWE.

The plain Morph-ACWE doesn't work well for vessel segmentation.
image

But the Morph-ACWE's reformulation (Morph Layer with AC loss) can work so well.

image

Could you share your insight on the reason?

Looking forward to your reply.

Best regards,
Jun

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.