Coder Social home page Coder Social logo

dsp-uga / kampf Goto Github PK

View Code? Open in Web Editor NEW
1.0 5.0 1.0 1.93 MB

Semantic Segmentation on Cilia Images Using Tiramisu Network in PyTorch.

License: GNU Lesser General Public License v3.0

Python 6.92% Jupyter Notebook 92.74% Shell 0.34%
pytorch tiramisu tiramisu103 densenet cilia ciliary-motion ciliary-beat-frequency computer-vision segmentation semantic-segmentation

kampf's People

Contributors

mauliknshah avatar whusym avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

mauliknshah

kampf's Issues

Preprocessing masks

As Quinn noted in the project write-up, what we need to do is only the cilia. So I think it's better to check

  1. whether the mask is only about cilia. (looking at mask PNG probably won't help because they all seem black.) (The another seems to be no. Because according to Quinn's write-up, there are 3 different labels).
  2. if not, then segment out the cilia part and store them as new masks. (should be straightforward.)

Anybody wants to take stabs?

Image Filtering

So here are what Quinn mentioned in the project write-up.

image
image
image
As I read it, there are a few things we can do here. The first thing is to figure out what beat frequency exactly is. Also the median filter. Also the optical flow space...

Any ideas?

Result Blending (i.e. post-processing)

If we have multiple good results, let's find the best of them by taking a vote from them (i.e. blend the results).

Here are my script to do it (preliminary just for 2):

# Blend the results
res_glob = glob('.results/*.png')
res_glob_imgs = array([imread(f) for f in res_glob])
res_glob_2 = glob('.results_2/*.png')
res_glob_imgs_2 = array([imread(f) for f in res_glob_2])
concat_imgs = [res_glob_imgs[i] + res_glob_imgs_2[i] for i in range(len(res_glob_imgs))]

If we want to see the results:

for i in concat_imgs[0]:
    print (i)

Also, we should make sure it's the dtype uint8

Mean and standard deviation of training images

What do you all think? Should we calculate the mean and standard deviation of training images so we can normalize the images before training? If so, shall we calculate different mean and std for each video, or calculate mean and std for all dataset?

Resize vs RandomCrop

So as we have read in Quinn Group's paper, to solve the problem of different dimensionalities of input images and masks, they did random crop and then vertical and horizontal flip.

But right now I still can't get this done. What can be easily done is to do a resize of input images and masks (say, put them all to (512, 512)). I'm not sure whether it's good or not

Batch issue in training, validation and testing

Since there are different sizes of the images, maybe one way to work around that is to change the batch size to one (so it’s guaranteed that PyTorch won’t complain about the inconsistency of the sizes for that batch). Need to test it to find out whether this works! Otherwise I have to the ugly resizing thing.....🙄

Preprocessing images

image
Used a tiny image set to start but I found out they are all in different sizes. So I should probably resize them to the same.

Also normalize every image.

Probably get this done no later than tomorrow.

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.