wenbowen123 / iros20-6d-pose-tracking

[IROS 2020] se(3)-TrackNet: Data-driven 6D Pose Tracking by Calibrating Image Residuals in Synthetic Domains
Other
385 stars 66 forks source link

Point cloud format for eval #31

Closed DRM-Free closed 3 years ago

DRM-Free commented 3 years ago

Hello, I recently trained se(3)-tracknet on a custom dataset and when I tried the evaluation script, I got this error:

Traceback (most recent call last):
  File "predict.py", line 419, in <module>
    predictSequenceMyData()
  File "predict.py", line 321, in predictSequenceMyData
    rot_normalizer=30 * np.pi / 180)
  File "predict.py", line 162, in __init__
    self.renderer = VispyRenderer(ply_file, self.K, H=height, W=width)
  File "/home/anael/se3-tracknet-repo/vispy_renderer.py", line 127, in __init__
    face_indices = np.stack(face_indices, axis=0)
  File "<__array_function__ internals>", line 6, in stack
  File "/opt/anaconda/envs/tracknet/lib/python3.7/site-packages/numpy/core/shape_base.py", line 427, in stack
    raise ValueError('all input arrays must have the same shape')
ValueError: all input arrays must have the same shape

I simply generated my .ply cloud point file using blender and it seems my point cloud doesn't have the right structure, but I am unsure how I could fix it. Most elements in face_indices have length 4 but some have length 3 and others have length 5. Is there a modification I could apply to my mesh or point cloud so that all face_indices elements have same length ?

DRM-Free commented 3 years ago

I can reply to my own issue as I found some help already. I just needed to use the triangulate tool in blender (ctrl +t) before I export the ply. I hope it helps if someone encounters this problem later.