Define 8 classes but only 3 are assigned (independently n. iter)
See original GitHub issueGreetings! I’ve been guided mainly by @shivam-kotwalia 's (https://github.com/shivam-kotwalia/KittiSeg/) fork for multi-class segmentation, which has been reported as a sucessful implementation for multi-class seg. Using my datasets with 8 classes, I still stuck in this problem.
Part of my hype is defined as such:
"model": {
"input_file": "PATH/inputs/kitti_seg_input.py",
"architecture_file" : "../encoder/fcn8_vgg.py",
"objective_file" : "../decoder/fcn.py",
"optimizer_file" : "../optimizer/generic_optimizer.py",
"evaluator_file" : "../evals/kitti_eval.py"
},
"colors": {
"background_color" : [0, 0, 0],
"sky_color" : [0, 255, 255],
"roof_color" : [0, 0, 255],
"wall_color" : [255, 255, 0],
"window_color" : [255, 0, 0],
"door_color" : [255, 128, 0],
"shop_color" : [0, 255, 0],
"balcony_color" : [255, 0, 255]
},
"arch": {
"fcn_in": "pool5",
"num_classes" : 8,
"image_size" : 50,
"weight": [1, 2, 2, 2, 2, 2, 2, 2],
"num_channels" : 3,
"whitening": false
},
Any considerable modification were done in other files. After to get a good segmentation, I intend to improve the weights training with another datasets (which is in different image dimensions). I was wondering which kind of disturbance it could led.
So, please, if anyone have a hint I would appreciate!
Cheers, Rodolfo.
Issue Analytics
- State:
- Created 6 years ago
- Comments:18
Top Results From Across the Web
Classful vs Classless vs CIDR vs FLSM vs VLSM
But what of CIDR? CIDR stands for Classless Inter-Domain Routing. The terms Classless and CIDR effectively define identical concepts.
Read more >Lecture 5/6 Queueing - Massachusetts Institute of Technology
Eytan Modiano. Slide 8. Example. • Suppose a train arrives at a station according to a Poisson process with average inter-arrival time of...
Read more >Classless Inter-Domain Routing - Wikipedia
Classless Inter-Domain Routing is a method for allocating IP addresses and for IP routing. ... under CIDR address space is allocated to Internet...
Read more >W3C XML Schema Definition Language (XSD) 1.1 Part 1
The purpose of an XSD schema is to define and describe a class of XML documents by using schema components to constrain and...
Read more >8. Compound statements — Python 3.11.1 documentation
Function and class definitions are also syntactically compound statements. ... Only the latter form of a suite can contain nested compound statements; ...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found

Hi @ywangeq! Thank you for replying!
I will try to describe all my changes. First, I simply delete every file that were not useful to the multi-class purpose, rearranged the logging messages, delete unnecessary comments, so on. Still, my work-space is not done for a commit.
I also follow what @shivam-kotwalia has done for multi-class segmentation. In his version, the evaluate method in eval/kitti_eval.py was commented. Plus, the eval_image method was still to binary segmentation. Then, I introduced the @bendidi version for this evaluation. Keeping the image saving commented:
The hyper-parameters used to the respective user was simply adapted for the number of classes that I needed (8 instead of 21). Optimizer, architecture, and directories values were kept:
Another change, was in kitt_seg_input.py, in inputs/. Basically, only the _make_data_gen method:
Finally, the demo.py became segment.py. An adaptation to segment a bigger number of images:
However, after to test different number of iterations, I’ve notice that the network segment only 5 classes (with background), instead of the 8 needed. First guess, was that the number of iterations was not enough. Then, I settled 100000 iterations. Again, only 5 classes. As you can see, 4 classes are perfectly assigned, but the other still missing:
Then, I realize that (by mistake) I could be deleted something that I could not. I reverted everything by cloning @shivam-kotwalia fork again. I simply got the same segmentation.
The dataset I’m using is not completely open. In order to have it, you will need to fill out a form: https://varcity.ethz.ch/3dchallenge/ . Thank you!