e-lab / ENet-training

351 stars 88 forks source link

Training on SUN RGB-D dataset #37

Closed Nestarneal closed 7 years ago

Nestarneal commented 7 years ago

Hi,

I want to train ENet model on SUN RGB-D dataset, but I found that the ground truth of each image is not consistent.

I following the source code to load the label of each image with m = require 'matio' label = m.load(/path/to/folders/'seg.mat').seglabel Then, drawing an output image with the label, and making different index label has different color.

But, for example, beds are labelled with different color/index in following images 0000001 0000001_color_gt 0000002 0000002_color_gt

And other objects have different index in different images. Also, SUN RGB-D dataset has 38 classes (including unlabelled class), so the index interval should be [0, 37] or [1, 38]. But some seg.mat file has the index number larger than 37 and 38, for example, 45, 46 appeared.

I'm wonder what's going wrong about the ground truths?

Many thanks.

Nestarneal commented 7 years ago

Hey, I found the answer. Closing the issue.

xiaofanglegoc commented 7 years ago

@Nestarneal could you please give more details on how you produce the results on SUNRGBD ? I try to train the ENet on the SUNRGBD also. But I have encountered following bugs: 1, some images do not exist in the file sunImgPath.tsv (So I skip those images); 2, values in some images go to 143, while they are supposed in [0 38]. Thank you very much

Nestarneal commented 7 years ago

@xiaofanglegoc , I have no idea about your first problem because I didn't encounter it. And for the second problem, you can try m = require 'matio' m.use_lua_strings = true gt = m.load('/path/to/seg.mat') local_label = gt.seglabel local_table = gt.names The indexes in local_label in based on local_table, so you need to convert the indexes into global indexes before training.

xiaofanglegoc commented 7 years ago

Thank you very much, I have solved my problem

On 22 Dec 2016, at 08:15, Nestarneal notifications@github.com wrote:

@xiaofanglegoc https://github.com/xiaofanglegoc , I have no idea about your first problem because I didn't encounter it. And for the second problem, you can try m = require 'matio' m.use_lua_strings = true gt = m.load('/path/to/seg.mat') local_label = gt.seglabel local_table = gt.names The indexes in local_label in based on local_table, so you need to convert the indexes into global indexes before training.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/e-lab/ENet-training/issues/37#issuecomment-268734896, or mute the thread https://github.com/notifications/unsubscribe-auth/AGWgnmpqgQ37E6mEPVyj2lQk_wvBjTSVks5rKiOdgaJpZM4LIjSj.

rantengsky commented 5 years ago

how to convert the indexes into global indexes?

guy4261 commented 4 years ago

@Nestarneal

In the SUNRGBDtoolbox.zip, under Metadata, there's a file containing all the segmentations. The values are in [0, 37] (aka both are included) - so there is one extra class for "no-class". But is it 0 or 37? Did you find this out?

Thanks!