-
Notifications
You must be signed in to change notification settings - Fork 109
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Running on own dataset #15
Comments
@athus1990 |
Hi @athus1990, |
@fastlater @dvornikita Thanks a lot for the comments. Yea I prepared my data to match the VOC datatsets(xml annotations and image labels for segmentation).It is just that somewhere in the middle things fail and I need to debug using breakpoints in pycharm. It gets pretty complicated as even the data loader is using TF and parallel reading modules and unless you run the graph you wont know what went wrong. I was just wondering if you could add a simple readme for the steps to be taken for new dataset. Or at least have an alternative simple data loader/reader like you said. I shall work on it and post my experiences or changes I made for it to work with cityscapes too. |
@fastlater @dvornikita I have started training on cityscapes successfully. However I had a question regarding the classes. As you can see in cityscapes dataset not all segmentation classes have detection. In your code I have used the same classnames so they match the same segmentation ids.Therefore for segmentation classids 0 to 10 there are no bounding boxes at all from xml files.Do you think this will affect the performance of the other classes that have detections? Also only changed the VOCDataloader to support cityscapes data(classnames,imglocations and so on).Do you think I missed something else that I need to change in the Resnet50 Net to support this class imbalance. |
@hondaathma Well, I haven't train the model with new classes yet.
If you wanna try with changes in the code, you will have to wait for @dvornikita reply. |
@fastlater A quick update, "Create a code to check pixels through the segmented ground truth and automatically add the box." |
Hi @hondaathma, I think it makes perfect sense to not detect the sky, fences, vegetation and so on. As for traffic signs, you can obtain boxes from instance segmentation masks. In the mode where you have fine annotation and ignoring crowd annotations for this class, I guess you will be able to train the model better. Ideally, you would like to not consider anchor boxes that match to crowd annotations at all in the final loss, to not confuse the network by penalizing these detections. Unfortunately, this functionality is not implemented in our pipeline. |
Hey @dvornikita when you said crowd annotations you mean boxes that fall on sky,fences,vegetation and so on right(and not on car pedestrian and so on right)? One more question. when you choose anchor boxes sizes how do you do it? for example if we find the mean bounding box size of pedestrians in the image can we use that as information to change the anchor size? If so where should I change or add more anchor sizes in the code? |
@hondaathma I meant something different. Sometimes a bunch of cars or street signs could be segmented as one instance of its class with mark "crowd" or so. It typically happens when the instances are too small to label each separately and are close to each other so they could be grouped and labeled as one thing. The initial tiling is not conditioned on anything (neither on the classes) so you would bias by doing so. If it is your plan, do it as follows: |
I want to test the blitznet on the cityscapes, however, i get the 'InvalidArgumentError (see above for traceback): assertion failed: [ |
@kecaiwu I believe something is wrong with the evaluation mean ap caluclation. In the code the meanAP for detection is calculated over all the classes. but mean in cityscapes has to be only from class 11 to class 20( as class1 to class 10 are all background,road etc..). so i had to change this function evaluation.py
Try debugging it step by step to see where exactly it is failing. |
Thank your for help, now is ok @hondaathma |
Hi @hondaathma |
Closing due to lack of recent activity. |
Hi,
I am planning to run this on cityscapes dataset to check the results(Detection got from instance).However It seems extremely complicated to train a simple network. Just changing the image paths is not sufficient.
Are you planning to add any read me on how to train on other datasets?
If not could you let me know what all I files I would need to change to simply train ?
The text was updated successfully, but these errors were encountered: