Comments (5)
A sample image (at best an orthoview) might help. From the curves I can only say that the training loss oscillates a lot. That indicates quite diverse and complicated training data. The anisotropy factor of 5 is quite high, but this is not necessarily a problem, it only means that the model might not be ideal for these data. Usually I perform only 2D convolutions/pooling until resolution is isotropic and then continue in 3D. For your data this means that you would perform 2D operations at two resolution levels, our models usually only do this for the coarsest resolution.
Only IoU is of relevance in this mode of training. The F1 measures rely on fully annotated objects, therefore I would ignore them. And an IoU of 0.6 is already better than nothing. How do the segmentations look like?
from unet-segmentation.
Thanks for quick replay.
My data looks like this:
and the glomeruli are my aimed objects.
The segmentation output from the your pre-trained model "IoU of 0.6" was till not good.
You are right, that "the model might not be ideal for these data. "
Therefore I want to "U-net->utilities ->create a new model" to build my own model. The problems came... I never got the IoU, and the segmentation was terrible. That's why I need help. According to your experience on 3D U-net, how should I solve the problems.
By the way, for anisotropy, I've also tried to firstly converte to isotropic stack based on CSBDeep (CARE, http://csbdeep.bioimagecomputing.com/), then applied U-net. No any improvments.
Thanks once more!!
from unet-segmentation.
When training 3D segmentation models from scratch, my experience is that you can expect first non-empty segmentations after approximately 10,000 iterations, then they rapidly get better until you get a quite stable model after around 30,000 iterations. It of course depends on data and annotations, but your problem looks solvable and your annotations clearly indicate the expected outcome. Your glomeruli are embedded in tissue. This is something the model needs to learn because it was only trained for isolated cells on dark background.
What's the main problem with the outputs? Insufficient separation, inaccurate boundaries, both?
from unet-segmentation.
Thanks for the nice answer!
The problems with the output are both, insufficient separation and inaccurate boundaries.
To distinguish the aimed embedded glomeruli, in creating my own new 2D Unet model, I increased the Background/Foreground ration. and also adjusted other parameters, with 20,000 iteraions. I got very nice results. Originally I wanted to build my own 3D Unet model. Since I always failed, I decided to finetune on your example pre-trained model.
Actually, I have already tesed it many times using different input stacks. Usually after 3000 iterations, even the curves of F1 and IoU fluctuating, but they were tent to be constant. No trends would be going increase.
I also wonder, how long time did the training spend approximately in the experiments with the "input patch size 236 * 236 * 100" mentioned in the paper, if choose 10,000 iterations? For my case, just use the stack "802 * 802 * 20" do 3D Unet training with 5000 iterations, it needs 7days, based on GPU Nvidia Geforce RTX 2080 TI.
Thanks for your attention, and I am looking forward to your help!
from unet-segmentation.
Hmz, 5000 iterations in 7 days is too few. How often do you evaluate on the validation set? For 3D models I evaluate only every 1000 iterations, because the evaluation is a serious overhead. Without validation you should reach at least 20k iterations a day, so with validation every 500 iterations maybe 18k a day.
from unet-segmentation.
Related Issues (20)
- Exception in thread "Thread-5" java.lang.IllegalArgumentException HOT 1
- Where to obtain test data?
- Tiling makes tens of thousands of images HOT 3
- Use the weights available at https://lmb.informatik.uni-freiburg.de/resources/opensource/unet/ for Tensorflow 2 (Keras) HOT 6
- Invalid Private Key, RSA HOT 4
- CUDA 11 support HOT 3
- How to change binary path if I am using EC2? HOT 2
- output very weird HOT 5
- CUDA 10.1 support HOT 3
- U-net installation HOT 6
- Finetuning does not 'train' ,aborts HOT 6
- Segmentation does not have good separation between multiple instances of cells
- Writing a macro script to run the Finetune model
- caffe_unet not found HOT 1
- Model/weight check failed
- client loop: send disconnect: broken pipe; SFTP Failure 4 HOT 1
- caffe or caffe_unet issues HOT 7
- MacOs installation issue HOT 1
- Exporting the environment
- Installation Roadblock HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from unet-segmentation.