-
Notifications
You must be signed in to change notification settings - Fork 10
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
Create Dockerfile #80
Comments
Hi I was looking at the repo and could see that the Dockerfile is already present. Do you also have the corresponding docker image pushed to dockerhub that I can pull? |
Hi aditya2592, sorry for the late response, saw your comment only just now. The docker image actually builds but there are some issues. It's a two-stage build to use only the compiled libraries of OpenCV in the second stage. This makes the image significantly smaller because OpenCV's unnecessary build files are omitted (2.7GB vs 500MB). But in this two stage build when I try to run the program it doesn't find the OpenCV libraries, although they are definitely there (checkout my question on stackoverflow). The second issue is that if you omit the two-stage build an accept that the image is 2.7GB, the program doesn't run because it can't connect to the X-display server. So if you have any suggestions on these two issues I'd be happy to implement them ;) By the way, if I can help you install the program the "normal" way, let me know. Cheers, |
I was able to get the code running using Docker with the following steps:
References : System :
I believe similar steps would also work for a Docker image that contains the 6D-PAT code. But when I tried using that, I was getting errors related to OpenCV as you have pointed out. So I continued to use the environment only image. After running the steps above, I get the 6D-PAT window as follows. But as you can see I am not able to visualize the renderings of the Models. Do you know what could be the possible reason for this? I am not getting any errors in the terminal as you can see. |
Nice that you got it to run using the Dockerfile - you're right, it's just the environment. I should rename it probably to make this more clear. I'd still like to find out how to provide a fully built Dockerfile which allows users to run the project out of the box. I'll try to make a release, too, but a Dockerfile would be nice anyway. Regarding your rendering problem, it's difficult to tell from the distance what the issue could be. Could you somehow send me one of your models so I can have a look? I'm busy doing my PhD but will try to squeeze it in at some point. I think it might be related to how I set the camera. I'm retrieving the largest coordinates of all vertices and set the camera distance accordingly. I had some issues using other models than the ones from T-Less, so maybe this is not just your problem. Two more notes: You also seem to have textured models, I apologize for that my program is currently not able to load textures. I'm planning to implement this (see #44) but am not sure when I'll get round to this. And I'm always happy to accept pull requests if you want to help improve the program :) |
Thanks for your reply @florianblume. Here is a link to the models I was trying to load. If you get a chance to try them, you can pickup the file called "textured.ply" from the link or "textured.obj". These models are part of the YCB objects standard and the YCB Video dataset. Also, I don't particularly need to load the textures, so if the program skips loading those then its fine. Regarding the rendering, could it be due to a mismatch of units? The unit used in the model file is "m". |
I can't see the models either, so it's definitely not the way you ran the tool. The coordinates in the models seem to be really small (e.g. 0.006) so maybe that's the issue although I actually made the program flexible and adapt to the object's size. I'll try to have a deeper look into it some time this week. |
I was thinking, maybe you could try to find out what the differences are between the T-Less and the YCB dataset. If for example there's a size difference and you get the YCB dataset models to show when you resize them, this would help me narrow down the error. I'm not sure when I'll have time to investigate this in-depth, unfortunately. |
Thanks for the quick check @florianblume. I will check the differences between the models. |
Hey @aditya2592, did you make any progress on the models? I tried some simple Qt3D code and was able to display them. Might be that the camera settings are wrong as they are now in 6D-PAT. There's an issue here that I opened regarding this problem. I'm closing this issue now because I was able to create a full docker image. You can find it here: https://hub.docker.com/repository/docker/florianblume/6dpat. But I feel like it's a bit more laggy that's why I created a second repository https://hub.docker.com/repository/docker/florianblume/6dpat-environment which I'll push an image to shortly which you can use like you described in your comment. I also used your manual how to build and launch the program this way in a readme. I hope that's ok for you :) |
Hi @florianblume. Thank you for looking into the issue earlier. I was able to use the environment image and run the code on a different machine. However, I was trying to annotate another dataset and I am facing a similar issue as with the YCB models. Though I am using a different very simple model this time that has no texture. Its present here. Would it be possible to check why the rendering is not happening with this model? |
Could you verify that with the new release the issue is gone? I switched back to Qt3D and the models should show now. |
Make it easier for users to run the program by creating a Dockerfile.
The text was updated successfully, but these errors were encountered: