Comments (6)
Hi @ifangcheng,
Sorry for misleading you. In cityscapes dataset I directly ignore the background ( pixel value is 255 ), so the num_classes is 19 ( from 0 to 18 ). Hence, the class number shouldn't include the background, since we can set the ignore label to ignore it, that is, we ignore every pixel that has value of 255. You can take a look at get_mask
function ( line 96-102
in train.py
).
from icnet-tensorflow.
@hellochick thanks! got it!
from icnet-tensorflow.
Is it really the same for ade20k and the like datasets where 0 is the void label? It seems to me that if labels are eg [0: void, 1:road, 2:grass, 3:forest, 4:sky], I need to set NUM_CLASSES=5 and just ignore when it predicts 0. at least this is the only way I get same evaluation mIoU when switching void from 255 to 0.
from icnet-tensorflow.
@Tamme, when I evaluate for ade20k, I subtract the labels by 1, and ignore label -1. You can try this. Since the classes we predict is from 0-149 and the label is from 0-150 where 0 means background.
from icnet-tensorflow.
@hellochick thats what I thought was sensible, but this at ~ line 140 in evaluate.py seems contradicting:
if args.dataset == 'ade20k':
pred = tf.add(pred, tf.constant(1, dtype=tf.int64))
mIoU, update_op = tf.contrib.metrics.streaming_mean_iou(pred, gt, num_classes=param['num_classes']+1)
elif args.dataset == 'cityscapes':
mIoU, update_op = tf.contrib.metrics.streaming_mean_iou(pred, gt, num_classes=param['num_classes'])
Or is it the wrong place I'm looking at :)
from icnet-tensorflow.
@Tamme Oh, it will lead to the same result. In this code, I add our predictions by 1, so as to shift our prediction from [0-149] to [1-150]. And then ignore the class 0 in ground truth which means background. Is this make sense to you?
from icnet-tensorflow.
Related Issues (20)
- Errors in restoring the session evalucation.py and network.py
- ValueError: Shape must be rank 4 but is rank 3 for 'data_sub2' (op: 'ResizeBilinear') with input shapes: [720,720,3], [2]. HOT 3
- Why is it suddenly 'killed' run train.py? HOT 1
- How predict the result to use my training model ckpt.meta?
- Dimension not equal HOT 1
- ValueError:Variable conv does not exist
- ValueError when using own dataset HOT 2
- Training own dataset
- Inference time is too high(about 3.5x as supposed to be ~0.04s)
- multi GPU training?
- tensorflow's version HOT 1
- How to use the pre-trained modle of ade20k provided by author,I use the code in demo.ipynb,but it can't open the file,the cityscapes works well.
- Training over-fitting after every epochs
- same classification result with every pixel HOT 1
- can get correct result
- bad results of voc2012
- The update stops and the loss does not drop HOT 4
- Assign requires shapes of both tensors to match. lhs shape= [13] rhs shape= [150]
- 上一个项目
- 关于ade20k的分割结果,颜色和标签有对应关系吗?
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 icnet-tensorflow.