-
Notifications
You must be signed in to change notification settings - Fork 29
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 run single view detection on ScanNet? #72
Comments
Thank you for your reply! Can I train an ImvoxelNet using single view on ScanNet? Thanks! |
Setting |
Many thanks for your quick response! If I use single view on Scannet training, during ScanNet dataset preprocess, do I need step 3 here? "3. In this directory, extract RGB image with poses by running python extract_posed_images.py. This step is optional. Skip it if you don't plan to use multi-view RGB images. Add --max-images-per-scene -1 to disable limiting number of images per scene. ScanNet scenes contain up to 5000+ frames per each. After extraction, all the .jpg images require 2 Tb disk space. The recommended 300 images per scene require less then 100 Gb. For example multi-view 3d detector ImVoxelNet samples 50 and 100 images per training and test scene." |
Yes, you need it. |
Thanks again! Then which single view among the 300 pictures in the same scene will the model use to train and test? |
Just a random one for each train or test iteration. |
For reproducible, is it possible to fix the frame for each scene? Thanks! |
You can add some workaround here. |
I appreciate your help! I will try and update you here. Thanks! |
Previously I use the MMdetection3d repo to run imvoxelnet experiment, but they do not support ScanNet. So I use this repo. But I found the same conda environment (I built for mmdetection3d) could not be directly used to run the code in this repo. Another question is how to change the MMdetection3D code of imvoxelnet (currently supporting sunrgbd) to run the Scannet dataset? |
This repo is ~3 years old, so mmdetection3d had several major releases since that time, having almost nothing common with version 0.8.0 we are using here. The only way to run this repo is to follow the version of all packages in our Dockerfile. |
Thanks! ERROR [ 5/16] RUN pip install mmdet==2.10.0 11.6s
ERROR: failed to solve: process "/bin/sh -c pip install mmdet==2.10.0" did not complete successfully: exit code: 1 Could you please help to provide a potential solution? Thanks! |
Can you try with |
Thanks for your reply! Will try and update here. Another question: if we do monocular detection on Scannet (you also show single view test result), but we only have ground truth object labels for the whole scene, how to know which objects in the scene are visible in the given single view? Thanks! |
After adding RUN conda install cython, the docker can be installed, thanks! But I face a new error when I run the Traceback (most recent call last): |
Yes, that it is not trivial and probably requires also extracting not only RGB but a depth image to check the occlusions. That's why we recommend to train single-view detection only on SUN RGB-D.
That is not probably the bug of our code. Did you check that pytorch can for example create a single tensor in this docker image on your hardware? |
Thank you for your reply! Do you have recommendations on other datasets (except SUN RGBD) that can run indoor single-view detection? Also, I am writing a code to run single view/multi view detection on ScanNet in MMdetection3D's repo (currently, MMdetection3D only supports single view on SUN RGBD, and does not support multiview on ScanNet), could you please help to refine it? Or do you have recommended strategy to modify the current code to run in the MMdetection official code? Thanks! |
Yes, it can create the tensor with pytorch. But when we use the GPU, it still shows different errors: Because there is an error said can not find version of "mmcv-full==1.2.7+torch1.6.0+cu101 -f https://openmmlab.oss-accelerate.aliyuncs.com/mmcv/dist/index.html" Do you think this is the reason that cause the error? We tried both 3090 and 1080Ti, all does not work. Here is the error in 1080Ti RuntimeError: unable to write to file </torch_729_3230123415> Here is the error in 3090: Traceback (most recent call last): |
3090 should not work with cuda 10. For 1080 just increase the shared memory of your docker image e.g. to 16Gb. |
Thanks for your reply, after increase the shared memory on 1080, there are new errors: Traceback (most recent call last): How to solve this error:? Should I reinstall mmcv? Thanks! |
If I change the data format of ScanNet into the format of SUNRGBD to conduct monocular object detection, I find the camera position in SUNRGBD is always [0,0,0], which is the origin of the point cloud. While the Scannet camera position may not be [0,0,0], should I transform the point cloud in Scannet to make the camera always in the [0,0,0] position? Theoretically, what is the format of Imvoxelnet prediction? Given an input image, will it predict the position in camera coordinates, and then transform the predicted 3D bbox back to the world coordinate based on the extrinsic to use the GT calculates loss? Thanks! |
Can you please follow #55 for camera position info on SUN RGB-D? |
Hi, thank you for your excellent work! If I want to un single view detection on ScanNet, are there any suggestions on code modification? Thanks!
The text was updated successfully, but these errors were encountered: