Gen6D icon indicating copy to clipboard operation
Gen6D copied to clipboard

GenMOP

Open 1gjjuser1 opened this issue 1 year ago • 18 comments

Dear Author: Hello, first of all, thank you for your work, I want to ask you a question, I want to use my own data set for python eval.py program, in order to get specific evaluation indicators, such as add-0.1d prj-5, but in the demo Given the GenMOP format and LINEMOD format, my question is how to create my own dataset, and I look forward to your answer.

1gjjuser1 avatar Mar 20 '23 12:03 1gjjuser1

In order to evaluate, you need to manually align the reference sequence with the query sequence, for which I manually label keypoints for triangulation and conpute a transformation from the triangulated points.

All datasets are managed by 'BaseDatabase'. You may implement a new class from it.

liuyuan-pal avatar Mar 21 '23 02:03 liuyuan-pal

For example, the two folders chair-ref and chair-test, I have a confusion - which files must be prepared, what are the two files images_fn_cache.pkl and align.pkl stored, they must be prepared ? I sincerely look forward to your reply, thank you

1gjjuser1 avatar Mar 21 '23 03:03 1gjjuser1

images_fn_cache.pkl is automatically generated. you need to compute align.pkl, which stores the alignment tranformation. Because poses of query sequence and ref sequence are recovered by two sfm separately.

liuyuan-pal avatar Mar 21 '23 03:03 liuyuan-pal

Thank you for your timely reply, sorry to bother you again, I am still a little confused, can you explain in detail how this align.pkl file is generated. thanks for your great work

1gjjuser1 avatar Mar 21 '23 06:03 1gjjuser1

I use the following steps to get the alignments.

  1. run sfm on all reference images.
  2. run sfm on all query images. This requires the object to be static in a textured scene.
  3. select two reference images, label 4 corresponding 2D points on each image. triangulation with the poses from the sfm to get 4 3D points (set A).
  4. select two query images, label the same 4 corresponding 2D points on each image. triangulation with the poses from the sfm to get 4 3D points (set B).
  5. compute the similarity transformation from set A and set B. (align.pkl)
  6. use the similarity transformation to align the poses of the reference images and the poses of query images.

liuyuan-pal avatar Mar 21 '23 07:03 liuyuan-pal

Sorry to bother you again, I have the following two questions

  1. What tool is used to mark the key points in the third and fourth steps
  2. Triangulation with the poses from the sfm to get 4 3D points (set A). What does this mean?

1gjjuser1 avatar Mar 21 '23 16:03 1gjjuser1

I use the following steps to get the alignments.

  1. run sfm on all reference images.
  2. run sfm on all query images. This requires the object to be static in a textured scene.
  3. select two reference images, label 4 corresponding 2D points on each image. triangulation with the poses from the sfm to get 4 3D points (set A).
  4. select two query images, label the same 4 corresponding 2D points on each image. triangulation with the poses from the sfm to get 4 3D points (set B).
  5. compute the similarity transformation from set A and set B. (align.pkl)
  6. use the similarity transformation to align the poses of the reference images and the poses of query images. @liuyuan-pal 作者你好,现在我已经得到了我自己的align.pkl文件,对于我自己的数据集,是否需要将我自己的物体信息注册到database.py中的genmop_meta_info中,如果需要的话,gravity和forward这两个属性该如何设置呢,谢谢

1gjjuser1 avatar Mar 26 '23 06:03 1gjjuser1

你好,那个gravity其实就是custom object.md里面的Z方向,forward就是X方向,你如果不给也是可以的,只是3d bbox的朝向会看起来有点奇怪。我建议还是给一下

liuyuan-pal avatar Mar 27 '23 14:03 liuyuan-pal

作者你好,我制作了我自己的genmop数据集,并且使用python eval.py命令,进行了准确性评估,我很幸运的是:程序成功的运行了,以下是检测结果: image

image

但是最后生成的performance.log结果为: genmop/bottle gen6d_pretrain add-0.1d 0.0000 prj-5 0.0000 为什么两个指标的结果都是0呢,期待您的回复

1gjjuser1 avatar Apr 01 '23 13:04 1gjjuser1

@1gjjuser1 Hi, please, can you share with us how you did it? thank you in advance.

AmokraneIlhem avatar Apr 02 '23 13:04 AmokraneIlhem

https://github.com/liuyuan-pal/Gen6D/issues/65#issuecomment-1493332342

@1gjjuser1 Hi, please, can you share with us how you did it? thank you in advance. @AmokraneIlhem Hi, I followed the tips given by the author step by step, you can refer to the advice given by the author。 1.run sfm on all reference images. 2.run sfm on all query images. This requires the object to be static in a textured scene. 3.select two reference images, label 4 corresponding 2D points on each image. triangulation with the poses from the sfm to get 4 3D points (set A). 4.select two query images, label the same 4 corresponding 2D points on each image. triangulation with the poses from the sfm to get 4 3D points (set B). 5.compute the similarity transformation from set A and set B. (align.pkl) 6.use the similarity transformation to align the poses of the reference images and the poses of query images.

1gjjuser1 avatar Apr 03 '23 14:04 1gjjuser1

#65 (comment)

@1gjjuser1 Hi, please, can you share with us how you did it? thank you in advance. @AmokraneIlhem Hi, I followed the tips given by the author step by step, you can refer to the advice given by the author。 1.run sfm on all reference images. 2.run sfm on all query images. This requires the object to be static in a textured scene. 3.select two reference images, label 4 corresponding 2D points on each image. triangulation with the poses from the sfm to get 4 3D points (set A). 4.select two query images, label the same 4 corresponding 2D points on each image. triangulation with the poses from the sfm to get 4 3D points (set B). 5.compute the similarity transformation from set A and set B. (align.pkl) 6.use the similarity transformation to align the poses of the reference images and the poses of query images.

Did you solve the problem with the indicator results: add-0.1d 0.0000 prj-5 0.0000 ?

AmokraneIlhem avatar Apr 04 '23 11:04 AmokraneIlhem

#65 (comment)

@1gjjuser1 Hi, please, can you share with us how you did it? thank you in advance. @AmokraneIlhem Hi, I followed the tips given by the author step by step, you can refer to the advice given by the author。 1.run sfm on all reference images. 2.run sfm on all query images. This requires the object to be static in a textured scene. 3.select two reference images, label 4 corresponding 2D points on each image. triangulation with the poses from the sfm to get 4 3D points (set A). 4.select two query images, label the same 4 corresponding 2D points on each image. triangulation with the poses from the sfm to get 4 3D points (set B). 5.compute the similarity transformation from set A and set B. (align.pkl) 6.use the similarity transformation to align the poses of the reference images and the poses of query images.

Did you solve the problem with the indicator results: add-0.1d 0.0000 prj-5 0.0000 ?

@AmokraneIlhem No, I haven't solved it yet, do you have the same problem as me?

1gjjuser1 avatar Apr 04 '23 12:04 1gjjuser1

#65 (comment)

@1gjjuser1 Hi, please, can you share with us how you did it? thank you in advance. @AmokraneIlhem Hi, I followed the tips given by the author step by step, you can refer to the advice given by the author。 1.run sfm on all reference images. 2.run sfm on all query images. This requires the object to be static in a textured scene. 3.select two reference images, label 4 corresponding 2D points on each image. triangulation with the poses from the sfm to get 4 3D points (set A). 4.select two query images, label the same 4 corresponding 2D points on each image. triangulation with the poses from the sfm to get 4 3D points (set B). 5.compute the similarity transformation from set A and set B. (align.pkl) 6.use the similarity transformation to align the poses of the reference images and the poses of query images.

Did you solve the problem with the indicator results: add-0.1d 0.0000 prj-5 0.0000 ?

yes, I have the same problem !

AmokraneIlhem avatar Apr 04 '23 12:04 AmokraneIlhem

作者你好,我制作了我自己的genmop数据集,并且使用python eval.py命令,进行了准确性评估,我很幸运的是:程序成功的运行了,以下是检测结果: image

image

但是最后生成的performance.log结果为: genmop/bottle gen6d_pretrain add-0.1d 0.0000 prj-5 0.0000 为什么两个指标的结果都是0呢,期待您的回复

看上去这个绿色的框就不太正确,应该是你标记的gt pose不太对。

你可以参考一下compute_align_poses.py,我刚刚release了一个example。

liuyuan-pal avatar Apr 09 '23 04:04 liuyuan-pal

作者你好,我制作了我自己的genmop数据集,并且使用python eval.py命令,进行了准确性评估,我很幸运的是:程序成功的运行了,以下是检测结果: image image 但是最后生成的performance.log结果为: genmop/bottle gen6d_pretrain add-0.1d 0.0000 prj-5 0.0000 为什么两个指标的结果都是0呢,期待您的回复

看上去这个绿色的框就不太正确,应该是你标记的gt pose不太对。

你可以参考一下compute_align_poses.py,我刚刚release了一个example。

Thanks for your prompt reply, I will try it with the example you gave

1gjjuser1 avatar Apr 12 '23 04:04 1gjjuser1

Hi @1gjjuser1, did you obtain correct results?

AmokraneIlhem avatar Apr 25 '23 14:04 AmokraneIlhem

@AmokraneIlhem

Hi @1gjjuser1, did you obtain correct results?

Sorry,I haven‘t😢

1gjjuser1 avatar May 10 '23 02:05 1gjjuser1