-
Notifications
You must be signed in to change notification settings - Fork 62
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
How to create my own dataloader #26
Comments
Hi, DeepLSD is originally meant to be trained without ground truth lines, so we do not have any code to do what you want. However, it could be feasible with a bit of work, by converting your lines into a distance and angle fields (e.g. using the distanceTransform of OpenCV, or doing it programmatically), and then supervising the network with these two fields. |
Hi, are you using the pretrained DeepLSD, or are you retraining it on your own data? Because the pretrained model will certainly fail on this kind of data, but if you retrain it with these artifacts in the data, it might be able to ignore them. For example you could generate the line ground truth from your 3d scans (by fitting lines to aligned points), then reproject them to 2d to get a ground truth. |
I retraining by using my data, but I don't know if it's better to change some parameters (like more counts on homography_adaptation) or freeze the backbone and train the head |
I think you can keep the same parameters and retrain the whole backbone+head, this should be fine. |
Did you try other backbones ? |
We also tried a few other networks: FCN for instance segmentation, the backbone of DeepLabv3, and a simple vgg. In the end, the UNet was the best in our case. |
Hi ! Okay, did you try Resnet as a backbone ? why is there so difference between the backbone ? I have learned that the deeper the backbone, the better it is. |
We initially cast the task as a semantic segmentation task, which is why we tested semantic segmentation backbones. The deeper is not always necessarily the better. In DeepLSD, the task of the network is quite low-level, so a shallower network is better and we did not try ResNet. But feel free to try it for your own task. In your case, a deeper network could potentially help to fix the artifacts that you have in your data. |
Hello Guys !
Thank you for your work,
I have a question, how to create my own DataLoader based only with lines in a JSON (x1,x2,y1,y2) for example. What DeepLSD need to be trainable ?
Thank you in advance
The text was updated successfully, but these errors were encountered: