Giter Club home page Giter Club logo

neural_slam_eval's Introduction

Hello I'm Jingwen Wang



  • ๐ŸŒฑ Iโ€™m currently a Ph.D. student at the CDT in Foundational AI at University College London (UCL).
  • ๐Ÿ”ญ My research interest lies in object-aware semantic SLAM and 3D reconstruction, combining object-level scene understanding and SLAM systems using learning-based approaches. I'm also interested in how to incorporate spatial intelligence, i.e. SLAM, long-term mapping into embodied AI.
  • โšก My personal website: https://jingwenwang95.github.io/
  • ๐Ÿ“ซ How to reach me: [email protected]

Languages & Tools

neural_slam_eval's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

neural_slam_eval's Issues

Evaluation Co-SLAM using Go-Surf culling technique

Dear Dr, Wang,

I wanted to evaluate (mapping-wise, 2D and 3D) the reconstructed mesh of the Replica room0 scene, using Go-Surf culling technique.

I run co-slam first, got the mesh, and next for the culling part, I didn't add the --virtual_cameras part. got my culled mesh. Finally, I wanted to evaluate. The input mesh was the reconstructed one, and the ground truth mesh is the question.

I chose the ground truth mesh to be the gt_unseen.ply from room0 from the downloaded pre-prepared Replica dataset mentioned in this repo, but I got strange results:

accuracy: 284.45757792666143
completion: 16.548763527958283
completion ratio: 14.8375004529953
Found saved renering poses! Loading from disk!!!
Saved renered gt depths NOT FOUND! Will re-render!!!
Saved renered reconstructed depth NOT FOUND! Will re-render!!!
eval_recon.py:339: RuntimeWarning: Mean of empty slice.
print('Depth L1: ', errors.mean() * 100)
/home/desk/anaconda3/envs/coslam/lib/python3.7/site-packages/numpy/core/_methods.py:189: RuntimeWarning: invalid value encountered in double_scalars
ret = ret.dtype.type(ret / rcount)
Depth L1: nan
eval_recon.py:340: RuntimeWarning: Mean of empty slice.
return {"Depth L1": errors.mean() * 100}

However, if I choose the gt_mesh_cull_virt_cams.ply, I would get reasonable results.

But, as far as I know, I should not choose the gt that corresponds to that of using virtual views, if I didn't do culling using the CoSLAM technique. right?

Could you please guide me through this one?

Thank you in advance for your time and effort for replying to my question.

Regards,

Missing scenes for SyntheticRGBD

Hi,
I seems like two scenes are missing for the SyntheticRGBD dataset (kitchen and staircase). Did you skip evaluation for those? Any reason why?

Help Needed with Custom RealSense Dataset and Debugging

First off, huge thanks for all the hard work on this repo! It's been super helpful, and I'm really grateful for what you've put together here.

I'm diving into recording my own RealSense dataset and I'm hoping to get it working with your code. Got a couple of questions I'm scratching my head over, and I'd love your input:

1. About my_room dataset:

  • What's the deal with align_mat.txt and trajectory.log in the dataset? What do they actually do?
  • Would it be possible for you to share the YAML config file you used for your "my_room" RealSense D435i dataset? It'd be super helpful to see how you set it up. Thanks a bunch!
  • If I want to make these files for my own dataset, any tips on how to go about it? Are there any tools or methods you'd recommend?

2. Debugging my Dataset:

  • I'm trying to debug some frames to see how the network is rendering the RGB and depth images. Any pointers on which part of the code I should dive into for this kind of info?

Any advice or pointers you can share would be awesome. Thanks a ton in advance!

error when culled mesh

Thank you for sharing this excellent work, but when I run the command
python cull_mesh.py --config configs/Replica/room0.yaml --input_mesh $INPUT_MESH --remove_occlusion --virtual_cameras --virt_cam_path $VIRT_CAM_PATH --gt_pose

there is an error like

Using Co-SLAM culling strategy...
Added 90 virtual views from eval_data/Replica/room0/virtual_cameras
rendering depth maps...
libEGL warning: DRI2: failed to create dri screen
libEGL warning: Not allowed to force software rendering when API explicitly selects a hardware device.
libEGL warning: DRI2: failed to create dri screen
Traceback (most recent call last):
File "cull_mesh.py", line 317, in
virtual_cameras=args.virtual_cameras, virt_cam_path=args.virt_cam_path)
File "cull_mesh.py", line 225, in cull_one_mesh
rendered_depth_maps = render_depth_maps_doublesided(mesh, c2w_list, K, H, W, near=0.01, far=10.0)
File "cull_mesh.py", line 80, in render_depth_maps_doublesided
depth_maps_1 = render_depth_maps(mesh, poses, K, H, W, near=near, far=far)
File "cull_mesh.py", line 67, in render_depth_maps
renderer = pyrender.OffscreenRenderer(W, H)
File "/home/zju231/anaconda3/envs/eslam/lib/python3.7/site-packages/pyrender/offscreen.py", line 31, in init
self._create()
File "/home/zju231/anaconda3/envs/eslam/lib/python3.7/site-packages/pyrender/offscreen.py", line 149, in _create
self._platform.init_context()
File "/home/zju231/anaconda3/envs/eslam/lib/python3.7/site-packages/pyrender/platforms/egl.py", line 177, in init_context
assert eglInitialize(self._egl_display, major, minor)
File "/home/zju231/anaconda3/envs/eslam/lib/python3.7/site-packages/OpenGL/platform/baseplatform.py", line 402, in call
return self( *args, **named )
File "/home/zju231/anaconda3/envs/eslam/lib/python3.7/site-packages/OpenGL/error.py", line 232, in glCheckError
baseOperation = baseOperation,
OpenGL.error.GLError: GLError(
err = 12289,
baseOperation = eglInitialize,
cArguments = (
<OpenGL._opaque.EGLDisplay_pointer object at 0x7fa197aff8c0>,
c_long(0),
c_long(0),
),
result = 0
)

Maybe its an error about pyrender, how can I solve it

porfiling tool for duplicating table 2 in main paper

Dear Dr. Wang,

could you please recommend a profiling tool to duplicate the results in Table 2 of the main paper?

I tried a few already, but they don't take into consideration the multi-processing part.

Thank you in advance for your time and effort in replying to my questions.
regards,
karim,

Table 1 in the main paper: Tracking, Mapping and FPS

Dr. @JingwenWang95

I understand that, please correct me if I am wrong, in Co-SLAM, tracking has to wait for mapping to complete first.

Therefore, the total time the system takes to map and track a single frame is defined by the tracking time.

Therefore, the FPS will not take into account the mapping time.

Therefore, it makes sense that tracking time should be larger than mapping time since it should include the mapping time. right?

But, I noticed that in Table 1 in the main paper, for the Replica dataset, the tracking time was less than that of the mapping (58 ms to 99 ms), yet the total FPS was counted based on the tracking time only.

Could you please clear this out for me?

Thank you in advance for your time and effort in answering my question.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.