gitouni / CalibNet_pytorch

Pytorch implementation of CalibNet
MIT License
29 stars 8 forks source link

result #14

Open zhusai1234 opened 1 month ago

zhusai1234 commented 1 month ago

Excuse me, blogger, why the final result doesn't seem to be satisfactory, and why I can't use the prediction to make the point cloud and the image match better.

thompsoncjh commented 1 month ago

hello,i meet the same question ,maybe we can discuss about the result? in my result ,the point cloud can not be saw in image

gitouni commented 1 month ago

Excuse me, blogger, why the final result doesn't seem to be satisfactory, and why I can't use the prediction to make the point cloud and the image match better.

@zhusai1234 I also can not reproduce the results in the original paper. Unfortunately, I'm not familiar with Tensorflow and my GPU is also not compatible with CUDA 8, so I did not implement the original code provided by the author. If you have some results, you can upload here and we can discuss.

hello,i meet the same question ,maybe we can discuss about the result? in my result ,the point cloud can not be saw in image

@thompsoncjh I think it is impossible to met this problem, which means the extrinsics are too bad to allow any points to be projected onto the image. You can check if the extrinsics are correct and use demo.py to visualize the result.

thompsoncjh commented 1 month ago

one more question,the extrinsics is like this? Rotation (deg) X:3.0023,Y:2.9971,Z:3.0498 Translation (m): X:0.0700,Y:0.0673,Z:0.0862 And the result of the test is to obtain the extrinsics? in my opnion, the extrinsics is need to predict through the training of network. Is there anything wrong with my understanding? thank you very much!!

thompsoncjh commented 1 month ago

你好,我是一名研0的学生,研究方向也是有关三维计算机视觉方面的,是一名新手。最近在复现calibnet这篇论文,在github上看见了你的贴子,也成功复现了。但是有关最后的测试结果我有些疑问。在原文中,只提及了一些误差的大小,但有关激光雷达和相机的外参大小预测的结果是什么并没有提及,我利用了cam2_oneiter_best.pth进行训练,把测试过程中中间的外参做了提取(本身也有kitti数据集中的calib中的Tr差别很大,这是正常的吗?),但利用这个外参进行点云投影至图像上的时候,发现效果很差,完全看不到点云。 最终的这个结果应该也是和真实值的误差大小吧?

那么通过深度学习预测的最终激光雷达和相机的外参又改如何查看呢,是应该在测试的过程中像下面一样print出来吗?

祝您工作顺利,生活愉快,如有打扰,非常抱歉,期待您的回复

------------------ 原始邮件 ------------------ 发件人: "gitouni/CalibNet_pytorch" @.>; 发送时间: 2024年6月11日(星期二) 晚上10:57 @.>; @.**@.>; 主题: Re: [gitouni/CalibNet_pytorch] result (Issue #14)

Excuse me, blogger, why the final result doesn't seem to be satisfactory, and why I can't use the prediction to make the point cloud and the image match better.

@zhusai1234 I also can not reproduce the results in the original paper. Unfortunately, I'm not familiar with Tensorflow and my GPU is also not compatible with CUDA 8, so I did not implement the original code provided by the author. If you have some results, you can upload here and we can discuss.

hello,i meet the same question ,maybe we can discuss about the result? in my result ,the point cloud can not be saw in image

@thompsoncjh I think it is impossible to met this problem, which means the extrinsics are too bad to allow any points to be projected onto the image.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

gitouni commented 1 month ago

你好,我是一名研0的学生,研究方向也是有关三维计算机视觉方面的,是一名新手。最近在复现calibnet这篇论文,在github上看见了你的贴子,也成功复现了。但是有关最后的测试结果我有些疑问。在原文中,只提及了一些误差的大小,但有关激光雷达和相机的外参大小预测的结果是什么并没有提及,我利用了cam2_oneiter_best.pth进行训练,把测试过程中中间的外参做了提取(本身也有kitti数据集中的calib中的Tr差别很大,这是正常的吗?),但利用这个外参进行点云投影至图像上的时候,发现效果很差,完全看不到点云。 最终的这个结果应该也是和真实值的误差大小吧? 那么通过深度学习预测的最终激光雷达和相机的外参又改如何查看呢,是应该在测试的过程中像下面一样print出来吗? 祝您工作顺利,生活愉快,如有打扰,非常抱歉,期待您的回复 ------------------ 原始邮件 ------------------ 发件人: "gitouni/CalibNet_pytorch" @.>; 发送时间: 2024年6月11日(星期二) 晚上10:57 @.>; @.**@.>; 主题: Re: [gitouni/CalibNet_pytorch] result (Issue #14) Excuse me, blogger, why the final result doesn't seem to be satisfactory, and why I can't use the prediction to make the point cloud and the image match better. @zhusai1234 I also can not reproduce the results in the original paper. Unfortunately, I'm not familiar with Tensorflow and my GPU is also not compatible with CUDA 8, so I did not implement the original code provided by the author. If you have some results, you can upload here and we can discuss. hello,i meet the same question ,maybe we can discuss about the result? in my result ,the point cloud can not be saw in image @thompsoncjh I think it is impossible to met this problem, which means the extrinsics are too bad to allow any points to be projected onto the image. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

CalibNet预测的外参是uncalibrated pointcloud与image的外参,不是初始点云和image的外参,因此这个外参和KITTI提供的真值并不是一个外参。uncalibrated pointcloud是先乘真实外参再乘一个扰动矩阵得到的,因此CalibNet预测的其实是那个扰动矩阵的逆矩阵。在计算metric时类似,例如: https://github.com/gitouni/CalibNet_pytorch/blob/a362a779a5951b24ded0d7196083a1249b587898/test.py#L67 计算的是CalibNet预测的扰动和真实的扰动的Euler Angle和translation的误差。 如若对该扰动不熟悉,可以查看:dataset.py

thompsoncjh commented 1 month ago

你好,上封邮件非常抱歉没有向您说明我的身份,我是南京航空航天大学研0学生柴家辉,对于calibnet复现也看了有一段时间了。您的回复让我恍然大悟,正如您所说,calibnet预测的是扰动矩阵的逆矩阵,这个扰动矩阵我认为可能是自动驾驶在车辆的行驶过程中由于颠簸什么导致的。那么评价最终的测试最终结果,应该就是通过计算预测的扰动矩阵和真实设置的扰动矩阵的逆矩阵之前的误差大小吧,也就是rot_dx,tsl_dx = loss_utils.gt2euler(dg.squeeze(0).cpu().detach().numpy())吧。 如果rot_dx和tsl_dx越接近于0,说明测试的效果越好吧。这也是为什么要做五千多组测试再取平均值的原因吧。 另外有关扰动矩阵以及纠正扰动矩阵的可视化方面,github代码上是没有做吗,我自己接下来打算做做这个。 最后,calibnet作为利用深度学习的方法确实没有做到预测原始点云和图像的标定,那您对于利用深度学习预测原始点云和图像的外参标定有什么建议吗 非常抱歉这么晚打扰您休息,祝您睡个好觉,工作顺利,家人身体健康,万事如意!

------------------ 原始邮件 ------------------ 发件人: "gitouni/CalibNet_pytorch" @.>; 发送时间: 2024年6月12日(星期三) 下午3:49 @.>; @.**@.>; 主题: Re: [gitouni/CalibNet_pytorch] result (Issue #14)

你好,我是一名研0的学生,研究方向也是有关三维计算机视觉方面的,是一名新手。最近在复现calibnet这篇论文,在github上看见了你的贴子,也成功复现了。但是有关最后的测试结果我有些疑问。在原文中,只提及了一些误差的大小,但有关激光雷达和相机的外参大小预测的结果是什么并没有提及,我利用了cam2_oneiter_best.pth进行训练,把测试过程中中间的外参做了提取(本身也有kitti数据集中的calib中的Tr差别很大,这是正常的吗?),但利用这个外参进行点云投影至图像上的时候,发现效果很差,完全看不到点云。 最终的这个结果应该也是和真实值的误差大小吧? 那么通过深度学习预测的最终激光雷达和相机的外参又改如何查看呢,是应该在测试的过程中像下面一样print出来吗? 祝您工作顺利,生活愉快,如有打扰,非常抱歉,期待您的回复 … ------------------ 原始邮件 ------------------ 发件人: "gitouni/CalibNet_pytorch" @.>; 发送时间: 2024年6月11日(星期二) 晚上10:57 @.>; @.@.>; 主题: Re: [gitouni/CalibNet_pytorch] result (Issue #14) Excuse me, blogger, why the final result doesn't seem to be satisfactory, and why I can't use the prediction to make the point cloud and the image match better. @zhusai1234 I also can not reproduce the results in the original paper. Unfortunately, I'm not familiar with Tensorflow and my GPU is also not compatible with CUDA 8, so I did not implement the original code provided by the author. If you have some results, you can upload here and we can discuss. hello,i meet the same question ,maybe we can discuss about the result? in my result ,the point cloud can not be saw in image @thompsoncjh I think it is impossible to met this problem, which means the extrinsics are too bad to allow any points to be projected onto the image. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

CalibNet预测的外参是uncalibrated pointcloud与image的外参,不是初始点云和image的外参,因此这个外参和KITTI提供的真值并不是一个外参。uncalibrated pointcloud是先乘真实外参再乘一个扰动矩阵得到的,因此CalibNet预测的其实是那个扰动矩阵的逆矩阵。在计算metric时类似,例如: https://github.com/gitouni/CalibNet_pytorch/blob/a362a779a5951b24ded0d7196083a1249b587898/test.py#L67 计算的是CalibNet预测的扰动和真实的扰动的Euler Angle和translation的误差。 如若对该扰动不熟悉,可以查看:dataset.py

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

gitouni commented 1 month ago

你好,上封邮件非常抱歉没有向您说明我的身份,我是南京航空航天大学研0学生柴家辉,对于calibnet复现也看了有一段时间了。您的回复让我恍然大悟,正如您所说,calibnet预测的是扰动矩阵的逆矩阵,这个扰动矩阵我认为可能是自动驾驶在车辆的行驶过程中由于颠簸什么导致的。那么评价最终的测试最终结果,应该就是通过计算预测的扰动矩阵和真实设置的扰动矩阵的逆矩阵之前的误差大小吧,也就是rot_dx,tsl_dx = loss_utils.gt2euler(dg.squeeze(0).cpu().detach().numpy())吧。 如果rot_dx和tsl_dx越接近于0,说明测试的效果越好吧。这也是为什么要做五千多组测试再取平均值的原因吧。 另外有关扰动矩阵以及纠正扰动矩阵的可视化方面,github代码上是没有做吗,我自己接下来打算做做这个。 最后,calibnet作为利用深度学习的方法确实没有做到预测原始点云和图像的标定,那您对于利用深度学习预测原始点云和图像的外参标定有什么建议吗 非常抱歉这么晚打扰您休息,祝您睡个好觉,工作顺利,家人身体健康,万事如意! ------------------ 原始邮件 ------------------ 发件人: "gitouni/CalibNet_pytorch" @.>; 发送时间: 2024年6月12日(星期三) 下午3:49 @.>; @.**@.>; 主题: Re: [gitouni/CalibNet_pytorch] result (Issue #14) 你好,我是一名研0的学生,研究方向也是有关三维计算机视觉方面的,是一名新手。最近在复现calibnet这篇论文,在github上看见了你的贴子,也成功复现了。但是有关最后的测试结果我有些疑问。在原文中,只提及了一些误差的大小,但有关激光雷达和相机的外参大小预测的结果是什么并没有提及,我利用了cam2_oneiter_best.pth进行训练,把测试过程中中间的外参做了提取(本身也有kitti数据集中的calib中的Tr差别很大,这是正常的吗?),但利用这个外参进行点云投影至图像上的时候,发现效果很差,完全看不到点云。 最终的这个结果应该也是和真实值的误差大小吧? 那么通过深度学习预测的最终激光雷达和相机的外参又改如何查看呢,是应该在测试的过程中像下面一样print出来吗? 祝您工作顺利,生活愉快,如有打扰,非常抱歉,期待您的回复 … ------------------ 原始邮件 ------------------ 发件人: "gitouni/CalibNet_pytorch" @.>; 发送时间: 2024年6月11日(星期二) 晚上10:57 @.>; @.@.>; 主题: Re: [gitouni/CalibNet_pytorch] result (Issue #14) Excuse me, blogger, why the final result doesn't seem to be satisfactory, and why I can't use the prediction to make the point cloud and the image match better. @zhusai1234 I also can not reproduce the results in the original paper. Unfortunately, I'm not familiar with Tensorflow and my GPU is also not compatible with CUDA 8, so I did not implement the original code provided by the author. If you have some results, you can upload here and we can discuss. hello,i meet the same question ,maybe we can discuss about the result? in my result ,the point cloud can not be saw in image @thompsoncjh I think it is impossible to met this problem, which means the extrinsics are too bad to allow any points to be projected onto the image. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.> CalibNet预测的外参是uncalibrated pointcloud与image的外参,不是初始点云和image的外参,因此这个外参和KITTI提供的真值并不是一个外参。uncalibrated pointcloud是先乘真实外参再乘一个扰动矩阵得到的,因此CalibNet预测的其实是那个扰动矩阵的逆矩阵。在计算metric时类似,例如: https://github.com/gitouni/CalibNet_pytorch/blob/a362a779a5951b24ded0d7196083a1249b587898/test.py#L67 计算的是CalibNet预测的扰动和真实的扰动的Euler Angle和translation的误差。 如若对该扰动不熟悉,可以查看:dataset.py — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.>

  1. 纠正扰动矩阵的可视化程序很好实现,只要将https://github.com/gitouni/CalibNet_pytorch/blob/a362a779a5951b24ded0d7196083a1249b587898/demo.py#L10 中的extran替换成纠正后的矩阵即可。
  2. 没有什么特殊的建议,可以先看看camera-lidar标定领域的相关文献,复现一些代码比较健全的工作。
zhusai1234 commented 1 month ago

Excuse me, blogger, why the final result doesn't seem to be satisfactory, and why I can't use the prediction to make the point cloud and the image match better.

@zhusai1234 I also can not reproduce the results in the original paper. Unfortunately, I'm not familiar with Tensorflow and my GPU is also not compatible with CUDA 8, so I did not implement the original code provided by the author. If you have some results, you can upload here and we can discuss.

hello,i meet the same question ,maybe we can discuss about the result? in my result ,the point cloud can not be saw in image

@thompsoncjh I think it is impossible to met this problem, which means the extrinsics are too bad to allow any points to be projected onto the image. You can check if the extrinsics are correct and use demo.py to visualize the result.

好的,感谢您的回复,我也不熟悉tensorflow,所以选择复现您的代码,我想知道的是在您的代码中的最后结果角度误差达到了2点几,3点几的,为何和原论文中0点几差别很大,想知道是什么原因导致,并且在demo中,我发现在乘完预测扰动后的结果比只加真实扰动的结果还要偏移,这是不是就说明了我的预测结果很差?还是我哪里理解错误了,请指正!

zhusai1234 commented 1 month ago

你好,我是一名研0的学生,研究方向也是有关三维计算机视觉方面的,是一名新手。最近在复现calibnet这篇论文,在github上看见了你的贴子,也成功复现了。但是有关最后的测试结果我有些疑问。在原文中,只提及了一些误差的大小,但有关激光雷达和相机的外参大小预测的结果是什么并没有提及,我利用了cam2_oneiter_best.pth进行训练,把测试过程中中间的外参做了提取(本身也有kitti数据集中的calib中的Tr差别很大,这是正常的吗?),但利用这个外参进行点云投影至图像上的时候,发现效果很差,完全看不到点云。 最终的这个结果应该也是和真实值的误差大小吧? 那么通过深度学习预测的最终激光雷达和相机的外参又改如何查看呢,是应该在测试的过程中像下面一样print出来吗? 祝您工作顺利,生活愉快,如有打扰,非常抱歉,期待您的回复 ------------------ 原始邮件 ------------------ 发件人: "gitouni/CalibNetpytorch" @.>; 发送时间: 2024年6月11日(星期二) 晚上10:57 _@_.>; @._@_._>; 主题: Re: [gitouni/CalibNetpytorch] result (Issue #14) Excuse me, blogger, why the final result doesn't seem to be satisfactory, and why I can't use the prediction to make the point cloud and the image match better. @zhusai1234 I also can not reproduce the results in the original paper. Unfortunately, I'm not familiar with Tensorflow and my GPU is also not compatible with CUDA 8, so I did not implement the original code provided by the author. If you have some results, you can upload here and we can discuss. hello,i meet the same question ,maybe we can discuss about the result? in my result ,the point cloud can not be saw in image @thompsoncjh I think it is impossible to met this problem, which means the extrinsics are too bad to allow any points to be projected onto the image. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @_.***>

CalibNet预测的外参是uncalibrated pointcloud与image的外参,不是初始点云和image的外参,因此这个外参和KITTI提供的真值并不是一个外参。uncalibrated pointcloud是先乘真实外参再乘一个扰动矩阵得到的,因此CalibNet预测的其实是那个扰动矩阵的逆矩阵。在计算metric时类似,例如:

https://github.com/gitouni/CalibNet_pytorch/blob/a362a779a5951b24ded0d7196083a1249b587898/test.py#L67

计算的是CalibNet预测的扰动和真实的扰动的Euler Angle和translation的误差。 如若对该扰动不熟悉,可以查看:dataset.py

请问下既然预测的是扰动矩阵的逆矩阵,那为何后面算的是预测的扰动矩阵的逆矩阵和真实的扰动矩阵之间的误差呢

thompsoncjh commented 1 month ago

既然预测的是扰动矩阵的逆矩阵,那为何后面算的是预测的扰动矩阵的逆矩阵和真实的扰动矩阵之间的误差呢? 我是这么理解的,他最后计算的dg其实是等于igt和Tcl的相乘,如果预测正确的话,理论上应该接近于一个单位矩阵。但实际上,预测出来会有一些偏差,也就是loss,代码中再将这个矩阵形式用欧拉角和平移向量表示。这个dg与原本的真实外参相乘,应该就是预测的外参。他计算这个dg应该就是用来评价,预测出来的扰动矩阵的逆矩阵能否很好的把扰动矩阵给修正为单位矩阵,从而将受扰动矩阵影响的外参修正为原本的正确的外参。 至于最后的角度误差达到了2点几,3点几的,为何和原论文中0点几差别很大,我也确实有过这样的情况出现。此外,在demo中,在乘完预测扰动矩阵的逆矩阵后的结果比只加扰动矩阵的结果还要差,我之前取了几组数据进行实验,有一些会好一点,但是有一些也会更差。我觉得更差的很大程度上应该是预测扰动矩阵的逆矩阵预测的不够准确吧,模型可能没有论文中的那么完美吧

------------------ 原始邮件 ------------------ 发件人: "gitouni/CalibNet_pytorch" @.>; 发送时间: 2024年6月17日(星期一) 中午11:02 @.>; @.**@.>; 主题: Re: [gitouni/CalibNet_pytorch] result (Issue #14)

你好,我是一名研0的学生,研究方向也是有关三维计算机视觉方面的,是一名新手。最近在复现calibnet这篇论文,在github上看见了你的贴子,也成功复现了。但是有关最后的测试结果我有些疑问。在原文中,只提及了一些误差的大小,但有关激光雷达和相机的外参大小预测的结果是什么并没有提及,我利用了cam2_oneiter_best.pth进行训练,把测试过程中中间的外参做了提取(本身也有kitti数据集中的calib中的Tr差别很大,这是正常的吗?),但利用这个外参进行点云投影至图像上的时候,发现效果很差,完全看不到点云。 最终的这个结果应该也是和真实值的误差大小吧? 那么通过深度学习预测的最终激光雷达和相机的外参又改如何查看呢,是应该在测试的过程中像下面一样print出来吗? 祝您工作顺利,生活愉快,如有打扰,非常抱歉,期待您的回复 … ------------------ 原始邮件 ------------------ 发件人: "gitouni/CalibNetpytorch" @.>; 发送时间: 2024年6月11日(星期二) 晚上10:57 @._>; **@.**@._>; 主题: Re: [gitouni/CalibNetpytorch] result (Issue #14) Excuse me, blogger, why the final result doesn't seem to be satisfactory, and why I can't use the prediction to make the point cloud and the image match better. @zhusai1234 I also can not reproduce the results in the original paper. Unfortunately, I'm not familiar with Tensorflow and my GPU is also not compatible with CUDA 8, so I did not implement the original code provided by the author. If you have some results, you can upload here and we can discuss. hello,i meet the same question ,maybe we can discuss about the result? in my result ,the point cloud can not be saw in image @thompsoncjh I think it is impossible to met this problem, which means the extrinsics are too bad to allow any points to be projected onto the image. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @_.>

CalibNet预测的外参是uncalibrated pointcloud与image的外参,不是初始点云和image的外参,因此这个外参和KITTI提供的真值并不是一个外参。uncalibrated pointcloud是先乘真实外参再乘一个扰动矩阵得到的,因此CalibNet预测的其实是那个扰动矩阵的逆矩阵。在计算metric时类似,例如:

https://github.com/gitouni/CalibNet_pytorch/blob/a362a779a5951b24ded0d7196083a1249b587898/test.py#L67

计算的是CalibNet预测的扰动和真实的扰动的Euler Angle和translation的误差。 如若对该扰动不熟悉,可以查看:dataset.py

请问下既然预测的是扰动矩阵的逆矩阵,那为何后面算的是预测的扰动矩阵的逆矩阵和真实的扰动矩阵之间的误差呢

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

zhusai1234 commented 1 month ago

既然预测的是扰动矩阵的逆矩阵,那为何后面算的是预测的扰动矩阵的逆矩阵和真实的扰动矩阵之间的误差呢? 我是这么理解的,他最后计算的dg其实是等于igt和Tcl的相乘,如果预测正确的话,理论上应该接近于一个单位矩阵。但实际上,预测出来会有一些偏差,也就是loss,代码中再将这个矩阵形式用欧拉角和平移向量表示。这个dg与原本的真实外参相乘,应该就是预测的外参。他计算这个dg应该就是用来评价,预测出来的扰动矩阵的逆矩阵能否很好的把扰动矩阵给修正为单位矩阵,从而将受扰动矩阵影响的外参修正为原本的正确的外参。 至于最后的角度误差达到了2点几,3点几的,为何和原论文中0点几差别很大,我也确实有过这样的情况出现。此外,在demo中,在乘完预测扰动矩阵的逆矩阵后的结果比只加扰动矩阵的结果还要差,我之前取了几组数据进行实验,有一些会好一点,但是有一些也会更差。我觉得更差的很大程度上应该是预测扰动矩阵的逆矩阵预测的不够准确吧,模型可能没有论文中的那么完美吧 ------------------ 原始邮件 ------------------ 发件人: "gitouni/CalibNet_pytorch" @.>; 发送时间: 2024年6月17日(星期一) 中午11:02 @.>; @.**@.>; 主题: Re: [gitouni/CalibNet_pytorch] result (Issue #14) 你好,我是一名研0的学生,研究方向也是有关三维计算机视觉方面的,是一名新手。最近在复现calibnet这篇论文,在github上看见了你的贴子,也成功复现了。但是有关最后的测试结果我有些疑问。在原文中,只提及了一些误差的大小,但有关激光雷达和相机的外参大小预测的结果是什么并没有提及,我利用了cam2_oneiter_best.pth进行训练,把测试过程中中间的外参做了提取(本身也有kitti数据集中的calib中的Tr差别很大,这是正常的吗?),但利用这个外参进行点云投影至图像上的时候,发现效果很差,完全看不到点云。 最终的这个结果应该也是和真实值的误差大小吧? 那么通过深度学习预测的最终激光雷达和相机的外参又改如何查看呢,是应该在测试的过程中像下面一样print出来吗? 祝您工作顺利,生活愉快,如有打扰,非常抱歉,期待您的回复 … ------------------ 原始邮件 ------------------ 发件人: "gitouni/CalibNetpytorch" @.>; 发送时间: 2024年6月11日(星期二) 晚上10:57 @._>; **@.@._>; 主题: Re: [gitouni/CalibNetpytorch] result (Issue #14) Excuse me, blogger, why the final result doesn't seem to be satisfactory, and why I can't use the prediction to make the point cloud and the image match better. @zhusai1234 I also can not reproduce the results in the original paper. Unfortunately, I'm not familiar with Tensorflow and my GPU is also not compatible with CUDA 8, so I did not implement the original code provided by the author. If you have some results, you can upload here and we can discuss. hello,i meet the same question ,maybe we can discuss about the result? in my result ,the point cloud can not be saw in image @thompsoncjh I think it is impossible to met this problem, which means the extrinsics are too bad to allow any points to be projected onto the image. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @_.> CalibNet预测的外参是uncalibrated pointcloud与image的外参,不是初始点云和image的外参,因此这个外参和KITTI提供的真值并不是一个外参。uncalibrated pointcloud是先乘真实外参再乘一个扰动矩阵得到的,因此CalibNet预测的其实是那个扰动矩阵的逆矩阵。在计算metric时类似,例如: https://github.com/gitouni/CalibNet_pytorch/blob/a362a779a5951b24ded0d7196083a1249b587898/test.py#L67 计算的是CalibNet预测的扰动和真实的扰动的Euler Angle和translation的误差。 如若对该扰动不熟悉,可以查看:dataset.py 请问下既然预测的是扰动矩阵的逆矩阵,那为何后面算的是预测的扰动矩阵的逆矩阵和真实的扰动矩阵之间的误差呢 — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: **@.***>

感谢你的回答,上面的了解了,那么其实还要个疑问就是为什么只有旋转角度差别比较大,平移的就还好。

thompsoncjh commented 1 month ago

那么其实还要个疑问就是为什么只有旋转角度差别比较大,平移的就还好?

有一个问题我想问一下,就是你test的过程中采用的预训练好的checkpoint是readme里面下载的吗,你说的只有旋转角度差别很大、平移误差不大,是从test的log中看出来的吗

你最终的结果是不是和readme的results很接近啊?

------------------ 原始邮件 ------------------ 发件人: "gitouni/CalibNet_pytorch" @.>; 发送时间: 2024年6月17日(星期一) 中午11:38 @.>; @.**@.>; 主题: Re: [gitouni/CalibNet_pytorch] result (Issue #14)

既然预测的是扰动矩阵的逆矩阵,那为何后面算的是预测的扰动矩阵的逆矩阵和真实的扰动矩阵之间的误差呢? 我是这么理解的,他最后计算的dg其实是等于igt和Tcl的相乘,如果预测正确的话,理论上应该接近于一个单位矩阵。但实际上,预测出来会有一些偏差,也就是loss,代码中再将这个矩阵形式用欧拉角和平移向量表示。这个dg与原本的真实外参相乘,应该就是预测的外参。他计算这个dg应该就是用来评价,预测出来的扰动矩阵的逆矩阵能否很好的把扰动矩阵给修正为单位矩阵,从而将受扰动矩阵影响的外参修正为原本的正确的外参。 至于最后的角度误差达到了2点几,3点几的,为何和原论文中0点几差别很大,我也确实有过这样的情况出现。此外,在demo中,在乘完预测扰动矩阵的逆矩阵后的结果比只加扰动矩阵的结果还要差,我之前取了几组数据进行实验,有一些会好一点,但是有一些也会更差。我觉得更差的很大程度上应该是预测扰动矩阵的逆矩阵预测的不够准确吧,模型可能没有论文中的那么完美吧 … ------------------ 原始邮件 ------------------ 发件人: "gitouni/CalibNet_pytorch" @.>; 发送时间: 2024年6月17日(星期一) 中午11:02 @.>; @.@.>; 主题: Re: [gitouni/CalibNet_pytorch] result (Issue #14) 你好,我是一名研0的学生,研究方向也是有关三维计算机视觉方面的,是一名新手。最近在复现calibnet这篇论文,在github上看见了你的贴子,也成功复现了。但是有关最后的测试结果我有些疑问。在原文中,只提及了一些误差的大小,但有关激光雷达和相机的外参大小预测的结果是什么并没有提及,我利用了cam2_oneiter_best.pth进行训练,把测试过程中中间的外参做了提取(本身也有kitti数据集中的calib中的Tr差别很大,这是正常的吗?),但利用这个外参进行点云投影至图像上的时候,发现效果很差,完全看不到点云。 最终的这个结果应该也是和真实值的误差大小吧? 那么通过深度学习预测的最终激光雷达和相机的外参又改如何查看呢,是应该在测试的过程中像下面一样print出来吗? 祝您工作顺利,生活愉快,如有打扰,非常抱歉,期待您的回复 … ------------------ 原始邮件 ------------------ 发件人: "gitouni/CalibNetpytorch" @.>; 发送时间: 2024年6月11日(星期二) 晚上10:57 @**.>; @.@.>; 主题: Re: [gitouni/CalibNet_pytorch] result (Issue #14) Excuse me, blogger, why the final result doesn't seem to be satisfactory, and why I can't use the prediction to make the point cloud and the image match better. @zhusai1234 I also can not reproduce the results in the original paper. Unfortunately, I'm not familiar with Tensorflow and my GPU is also not compatible with CUDA 8, so I did not implement the original code provided by the author. If you have some results, you can upload here and we can discuss. hello,i meet the same question ,maybe we can discuss about the result? in my result ,the point cloud can not be saw in image @thompsoncjh I think it is impossible to met this problem, which means the extrinsics are too bad to allow any points to be projected onto the image. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.> CalibNet预测的外参是uncalibrated pointcloud与image的外参,不是初始点云和image的外参,因此这个外参和KITTI提供的真值并不是一个外参。uncalibrated pointcloud是先乘真实外参再乘一个扰动矩阵得到的,因此CalibNet预测的其实是那个扰动矩阵的逆矩阵。在计算metric时类似,例如: https://github.com/gitouni/CalibNet_pytorch/blob/a362a779a5951b24ded0d7196083a1249b587898/test.py#L67 计算的是CalibNet预测的扰动和真实的扰动的Euler Angle和translation的误差。 如若对该扰动不熟悉,可以查看:dataset.py 请问下既然预测的是扰动矩阵的逆矩阵,那为何后面算的是预测的扰动矩阵的逆矩阵和真实的扰动矩阵之间的误差呢 — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.*>

感谢你的回答,上面的了解了,那么其实还要个疑问就是为什么只有旋转角度差别比较大,平移的就还好。

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

zhusai1234 commented 1 month ago

是的,很接近,我重新训练后(改了一点其他的参数啥的),再test结果也差不多

gitouni commented 1 month ago

@zhusai1234 平移其实不好,因为平移每个轴有5cm以上的差距其实是很不小的了。平移一直是深度学习方法里面较难解决的问题,除非通过一些语义先验来优化。在很多场景中,外参y方向的平移对于损失的影响非常小,因为激光雷达存在扫描界限,扫出的大部分物体上界限不完整,无法判断。

zhusai1234 commented 1 month ago

@zhusai1234 平移其实不好,因为平移每个轴有5cm以上的差距其实是很不小的了。平移一直是深度学习方法里面较难解决的问题,除非通过一些语义先验来优化。在很多场景中,外参y方向的平移对于损失的影响非常小,因为激光雷达存在扫描界限,扫出的大部分物体上界限不完整,无法判断。

所以您觉得这种问题的出现主要是网络的问题还是方法的问题

gitouni commented 1 month ago

@zhusai1234 平移其实不好,因为平移每个轴有5cm以上的差距其实是很不小的了。平移一直是深度学习方法里面较难解决的问题,除非通过一些语义先验来优化。在很多场景中,外参y方向的平移对于损失的影响非常小,因为激光雷达存在扫描界限,扫出的大部分物体上界限不完整,无法判断。

所以您觉得这种问题的出现主要是网络的问题还是方法的问题

我不太明白这二者的区别在哪,但应该属于方法问题,不是技术性bug。

zhusai1234 commented 1 month ago

就是您觉得这个改个网络的事情就能把结果变好嘛

gitouni commented 1 month ago

就是您觉得这个改个网络的事情就能把结果变好嘛

个人的观点,我觉得光改网络结构是不太可能提升精度的,这本质上是一个Direct Model。如果感兴趣的话,也可以看看我做的标定工作。

thompsoncjh commented 1 month ago

您这里说的,在demo中,发现在乘完预测扰动后的结果比只加真实扰动的结果还要偏移,会不会是左乘或是右乘的问题,您又是如何计算的呢? 我是这么进行可视化的: 将extran=calib.T_cam2_velo设为未加扰动矩阵时的外参 将extran=calib.T_cam2_veloigt设为加扰动矩阵后的外参 将extran=calib.T_cam2_velodg设为去除扰动后的外参(标定结果理想的话接近于ground truth,即未加扰动矩阵的外参) 不知道我这样的做法、拙见是否正确,希望您们可以给我一个答复,祝大家工作顺利、身体健康!

------------------ 原始邮件 ------------------ 发件人: "gitouni/CalibNet_pytorch" @.>; 发送时间: 2024年6月17日(星期一) 上午10:56 @.>; @.**@.>; 主题: Re: [gitouni/CalibNet_pytorch] result (Issue #14)

Excuse me, blogger, why the final result doesn't seem to be satisfactory, and why I can't use the prediction to make the point cloud and the image match better.

@zhusai1234 I also can not reproduce the results in the original paper. Unfortunately, I'm not familiar with Tensorflow and my GPU is also not compatible with CUDA 8, so I did not implement the original code provided by the author. If you have some results, you can upload here and we can discuss.

hello,i meet the same question ,maybe we can discuss about the result? in my result ,the point cloud can not be saw in image

@thompsoncjh I think it is impossible to met this problem, which means the extrinsics are too bad to allow any points to be projected onto the image. You can check if the extrinsics are correct and use demo.py to visualize the result.

好的,感谢您的回复,我也不熟悉tensorflow,所以选择复现您的代码,我想知道的是在您的代码中的最后结果角度误差达到了2点几,3点几的,为何和原论文中0点几差别很大,想知道是什么原因导致,并且在demo中,我发现在乘完预测扰动后的结果比只加真实扰动的结果还要偏移,这是不是就说明了我的预测结果很差?还是我哪里理解错误了,请指正!

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

zhusai1234 commented 1 month ago

我是左乘,TCL igt T *pcd

zhusai1234 commented 1 month ago

我想问作者,我发现你训练中的loss和测试中的衡量指标好像不太相同,会不会是这个的原因

thompsoncjh commented 1 month ago

你可以尝试一下把转置给去了,因为预测的值其实就是扰动矩阵的转置,那么预测的值和扰动的值在进行乘法计算的过程中可能就不需要再加转置了。

发自我的iPhone

------------------ Original ------------------ From: zhusai1234 @.> Date: Thu,Jun 20,2024 11:31 AM To: gitouni/CalibNet_pytorch @.> Cc: thompsoncjh @.>, Mention @.> Subject: Re: [gitouni/CalibNet_pytorch] result (Issue #14)

我是左乘,TCLigtT*pcd

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

zhusai1234 commented 1 month ago

没有转置哈,我这个T是你的calib.T_cam2_velo

gitouni commented 1 month ago

我想问作者,我发现你训练中的loss和测试中的衡量指标好像不太相同,会不会是这个的原因

测试的时候是metric不是loss,计算metric的时候计算photo loss和geometry loss没有什么意义,目标是优化外参

thompsoncjh commented 1 month ago

你好作者,关于test的代码有两部分我没有怎么看明白,希望您能答疑解惑一下。 首先是,for j in range(args.inner_iter)这个循环的作用是什么,因为我之前把j打印出来,发现这个循环好像只有一次 其次是,uncalibed_depth_img 和 uncalibed_pcd的再产生意义是什么,和之前从batch中读取的uncalibed_depth_img、uncalibed_pcd会有所冲突或者是替代吗? 最后还有一点想要得到您的确认,就是测试中跑了五千多趟的目的是为了得到最后的mean error,但是我如果想要实现可视化效果,想要看看对于扰动矩阵的去除效果(想要看看对于加入扰动矩阵的未标定标定的标定效果),是否仅需要从这五千多趟中打印出某几趟的igt, Tcl, dg,再乘以ground truth的外参,得到最后标定的外参呢?

------------------ 原始邮件 ------------------ 发件人: "gitouni/CalibNet_pytorch" @.>; 发送时间: 2024年6月21日(星期五) 上午7:19 @.>; @.**@.>; 主题: Re: [gitouni/CalibNet_pytorch] result (Issue #14)

我想问作者,我发现你训练中的loss和测试中的衡量指标好像不太相同,会不会是这个的原因

测试的时候是metric不是loss,计算metric的时候计算photo loss和geometry loss没有什么意义,目标是优化外参

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

gitouni commented 1 month ago

你好作者,关于test的代码有两部分我没有怎么看明白,希望您能答疑解惑一下。 首先是,for j in range(args.inner_iter)这个循环的作用是什么,因为我之前把j打印出来,发现这个循环好像只有一次 其次是,uncalibed_depth_img 和 uncalibed_pcd的再产生意义是什么,和之前从batch中读取的uncalibed_depth_img、uncalibed_pcd会有所冲突或者是替代吗? 最后还有一点想要得到您的确认,就是测试中跑了五千多趟的目的是为了得到最后的mean error,但是我如果想要实现可视化效果,想要看看对于扰动矩阵的去除效果(想要看看对于加入扰动矩阵的未标定标定的标定效果),是否仅需要从这五千多趟中打印出某几趟的igt, Tcl, dg,再乘以ground truth的外参,得到最后标定的外参呢? ------------------ 原始邮件 ------------------ 发件人: "gitouni/CalibNet_pytorch" @.>; 发送时间: 2024年6月21日(星期五) 上午7:19 @.>; @.**@.>; 主题: Re: [gitouni/CalibNet_pytorch] result (Issue #14) 我想问作者,我发现你训练中的loss和测试中的衡量指标好像不太相同,会不会是这个的原因 测试的时候是metric不是loss,计算metric的时候计算photo loss和geometry loss没有什么意义,目标是优化外参 — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

gitouni commented 4 weeks ago

你可以尝试一下把转置给去了,因为预测的值其实就是扰动矩阵的转置,那么预测的值和扰动的值在进行乘法计算的过程中可能就不需要再加转置了。 发自我的iPhone ------------------ Original ------------------ From: zhusai1234 @.> Date: Thu,Jun 20,2024 11:31 AM To: gitouni/CalibNet_pytorch @.> Cc: thompsoncjh @.>, Mention @.> Subject: Re: [gitouni/CalibNet_pytorch] result (Issue #14) 我是左乘,TCLigtT*pcd — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

这个严格来说是对SE(3)求逆不是转置,预测的是扰动矩阵的逆,所以使用这个外参可以直接把uncalibed_pcd投影到图像上。

thompsoncjh commented 4 weeks ago

是的,我这么尝试后发现确实是可以的,但是test利用calibnet网络对受扰动的矩阵进行去扰动,并将预测的结果Tcl与uncalibed_pcd直接相乘,便可得到投影图。其中一个投影图如下(在我看来效果较好),

当然也有像这种效果较差的

但是我有一点不明白的,为何在test中要跑那么多次,这个test_seq.csv的作用是什么。在我的测试过程中,test_seq.csv包含有五千多行数据,在我的理解中,是否是对原有点云进行五千多次扰动,再分别对每一次扰动进行去扰动,得到预测的外参呢。如果是这样,那应该是train应该做的事情吧?这样可以再根据投影的误差大小再对calibnet网络的参数进行调整。

------------------ 原始邮件 ------------------ 发件人: "gitouni/CalibNet_pytorch" @.>; 发送时间: 2024年6月23日(星期天) 下午3:43 @.>; @.**@.>; 主题: Re: [gitouni/CalibNet_pytorch] result (Issue #14)

你可以尝试一下把转置给去了,因为预测的值其实就是扰动矩阵的转置,那么预测的值和扰动的值在进行乘法计算的过程中可能就不需要再加转置了。 发自我的iPhone … ------------------ Original ------------------ From: zhusai1234 @.> Date: Thu,Jun 20,2024 11:31 AM To: gitouni/CalibNet_pytorch @.> Cc: thompsoncjh @.>, Mention @.> Subject: Re: [gitouni/CalibNet_pytorch] result (Issue #14) 我是左乘,TCLigtTpcd — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.**>

这个严格来说是对SE(3)求逆不是转置,预测的是扰动矩阵的逆,所以使用这个外参可以直接把uncalibed_pcd投影到图像上。

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

gitouni commented 3 weeks ago

是的,我这么尝试后发现确实是可以的,但是test利用calibnet网络对受扰动的矩阵进行去扰动,并将预测的结果Tcl与uncalibed_pcd直接相乘,便可得到投影图。其中一个投影图如下(在我看来效果较好), 当然也有像这种效果较差的 但是我有一点不明白的,为何在test中要跑那么多次,这个test_seq.csv的作用是什么。在我的测试过程中,test_seq.csv包含有五千多行数据,在我的理解中,是否是对原有点云进行五千多次扰动,再分别对每一次扰动进行去扰动,得到预测的外参呢。如果是这样,那应该是train应该做的事情吧?这样可以再根据投影的误差大小再对calibnet网络的参数进行调整。 ------------------ 原始邮件 ------------------ 发件人: "gitouni/CalibNet_pytorch" @.>; 发送时间: 2024年6月23日(星期天) 下午3:43 @.>; @.**@.>; 主题: Re: [gitouni/CalibNet_pytorch] result (Issue #14) 你可以尝试一下把转置给去了,因为预测的值其实就是扰动矩阵的转置,那么预测的值和扰动的值在进行乘法计算的过程中可能就不需要再加转置了。 发自我的iPhone … ------------------ Original ------------------ From: zhusai1234 @.> Date: Thu,Jun 20,2024 11:31 AM To: gitouni/CalibNet_pytorch @.> Cc: thompsoncjh @.>, Mention @.> Subject: Re: [gitouni/CalibNet_pytorch] result (Issue #14) 我是左乘,TCLigtTpcd — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.> 这个严格来说是对SE(3)求逆不是转置,预测的是扰动矩阵的逆,所以使用这个外参可以直接把uncalibed_pcd投影到图像上。 — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: **@.***>

thompsoncjh commented 3 weeks ago

pic-0 不好意思,之前一直用qq邮箱回复邮件的,这个是我用预测的外参Tcl直接乘上uncalibed_pcd得到的投影图,但是和ground truth的投影图差距比较大,具体的计算代码如下,看了一段时间,感觉问题一直发现不了 image image

thompsoncjh commented 3 weeks ago

你好,作者。我想问下,如果loss日志中的结果是这样, image

但是,可视化的结果是这样 image 是合理的、正确的吗?

还有想问一下,如果batch_size设为1、args.inner_iter设为1,那么是否depth_generator的代码就没有意义了,就应该注释掉(test_loader每输入一组数据,uncalibed_pcd和uncalibed_depth_img就会得到一次更新,而一组数据由于args.inner_iter为1,也就只会利用模型产生一次的预估结果twist_rot, twist_tsl。) uncalibed_depth_img, uncalibed_pcd = depth_generator(iter_Tcl,uncalibed_pcd)这段代码产生的结果还未经利用就会被test_loader输入的下一组数据所替代。 image

gitouni commented 3 weeks ago

pic-0 不好意思,之前一直用qq邮箱回复邮件的,这个是我用预测的外参Tcl直接乘上uncalibed_pcd得到的投影图,但是和ground truth的投影图差距比较大,具体的计算代码如下,看了一段时间,感觉问题一直发现不了 image image

看上去这个效果还是不太好。为了验证代码是否正确,可以把CalibNet预测的外参换成dataloader batch中的igt。看下GT的时候投影是否是正常的。

thompsoncjh commented 2 weeks ago

非常感谢作者您之前的点拨,我又回头对可视化操作进行了修改,结果终于开始尽如人意了。针对作者您之前提到的unsolved problems:迭代次数设为1要好于2、3、4等等,我也进行了一定的研究。发现若是直接采用readme中的cam2_oneiter_best.pth确实会存在这样的问题,于是我阅读了原文,重新进行了训练,训练中涉及到的一些参数我也尽可能也原文接近,最终训练得到的checkpoint效果出乎意料的比readme中更好,结果发现当迭代次数设为2、3、4、5时结果都比较接近,但会好于设为1. 迭代次数=1: image 迭代次数=5: image 最终可视化结果如下: image 左上角是ground truth投影的结果,左下角是扰动的结果,右下角是去扰动的结果。 目前可视化结果大部分较为理想,唯一不足的一点就是和原文在最终的误差结果上面,还存在零点几的误差,我个人觉得可能是由于训练过程中设置的一些超参数还未调至最优导致的

zhusai1234 commented 2 weeks ago

您这个checkpoint是测试时的吗,为何我重新训练的结果和作者的readme结果差不多,可以告知您更改了哪些参数嘛,麻烦了

gitouni commented 2 weeks ago

您这个checkpoint是测试时的吗,为何我重新训练的结果和作者的readme结果差不多,可以告知您更改了哪些参数嘛,麻烦了

你重新训练是用的我的代码吗?如果你复现了作者的结果,可以把参数分享在这里。

gitouni commented 2 weeks ago

非常感谢作者您之前的点拨,我又回头对可视化操作进行了修改,结果终于开始尽如人意了。针对作者您之前提到的unsolved problems:迭代次数设为1要好于2、3、4等等,我也进行了一定的研究。发现若是直接采用readme中的cam2_oneiter_best.pth确实会存在这样的问题,于是我阅读了原文,重新进行了训练,训练中涉及到的一些参数我也尽可能也原文接近,最终训练得到的checkpoint效果出乎意料的比readme中更好,结果发现当迭代次数设为2、3、4、5时结果都比较接近,但会好于设为1. 迭代次数=1: image 迭代次数=5: image 最终可视化结果如下: image 左上角是ground truth投影的结果,左下角是扰动的结果,右下角是去扰动的结果。 目前可视化结果大部分较为理想,唯一不足的一点就是和原文在最终的误差结果上面,还存在零点几的误差,我个人觉得可能是由于训练过程中设置的一些超参数还未调至最优导致的

这个图片太模糊了,看不清楚,但是看平移还是iter=1的时候更小额。多余的迭代并没有进一步减小平移误差。

thompsoncjh commented 2 weeks ago

非常感谢作者您之前的点拨,我又回头对可视化操作进行了修改,结果终于开始尽如人意了。针对作者您之前提到的unsolved problems:迭代次数设为1要好于2、3、4等等,我也进行了一定的研究。发现若是直接采用readme中的cam2_oneiter_best.pth确实会存在这样的问题,于是我阅读了原文,重新进行了训练,训练中涉及到的一些参数我也尽可能也原文接近,最终训练得到的checkpoint效果出乎意料的比readme中更好,结果发现当迭代次数设为2、3、4、5时结果都比较接近,但会好于设为1. 迭代次数=1: image 迭代次数=5: image 最终可视化结果如下: image 左上角是ground truth投影的结果,左下角是扰动的结果,右下角是去扰动的结果。 目前可视化结果大部分较为理想,唯一不足的一点就是和原文在最终的误差结果上面,还存在零点几的误差,我个人觉得可能是由于训练过程中设置的一些超参数还未调至最优导致的

这个图片太模糊了,看不清楚,但是看平移还是iter=1的时候更小额。多余的迭代并没有进一步减小平移误差。

的确,从平移来看,误差并没有明显减小,更多的是体现在旋转方面,有了较为明显的减小

gitouni commented 2 weeks ago

显减小,更多的是体现在旋转方面,有了较为明显的减小

是的,但其实平移问题才是标定里面比较难的。

zhusai1234 commented 2 weeks ago

非常感谢作者您之前的点拨,我又回头对可视化操作进行了修改,结果终于开始尽如人意了。针对作者您之前提到的unsolved problems:迭代次数设为1要好于2、3、4等等,我也进行了一定的研究。发现若是直接采用readme中的cam2_oneiter_best.pth确实会存在这样的问题,于是我阅读了原文,重新进行了训练,训练中涉及到的一些参数我也尽可能也原文接近,最终训练得到的checkpoint效果出乎意料的比readme中更好,结果发现当迭代次数设为2、3、4、5时结果都比较接近,但会好于设为1. 迭代次数=1: image 迭代次数=5: image 最终可视化结果如下: image 左上角是ground truth投影的结果,左下角是扰动的结果,右下角是去扰动的结果。 目前可视化结果大部分较为理想,唯一不足的一点就是和原文在最终的误差结果上面,还存在零点几的误差,我个人觉得可能是由于训练过程中设置的一些超参数还未调至最优导致的

兄弟,能提供一下你训练的详细信息嘛,因为我也根据原论文重新训练了很多次,但是结果还是依旧不尽人意,希望你能分享一下,万分感谢!

gitouni commented 1 week ago

非常感谢作者您之前的点拨,我又回头对可视化操作进行了修改,结果终于开始尽如人意了。针对作者您之前提到的unsolved problems:迭代次数设为1要好于2、3、4等等,我也进行了一定的研究。发现若是直接采用readme中的cam2_oneiter_best.pth确实会存在这样的问题,于是我阅读了原文,重新进行了训练,训练中涉及到的一些参数我也尽可能也原文接近,最终训练得到的checkpoint效果出乎意料的比readme中更好,结果发现当迭代次数设为2、3、4、5时结果都比较接近,但会好于设为1. 迭代次数=1: image 迭代次数=5: image 最终可视化结果如下: image 左上角是ground truth投影的结果,左下角是扰动的结果,右下角是去扰动的结果。 目前可视化结果大部分较为理想,唯一不足的一点就是和原文在最终的误差结果上面,还存在零点几的误差,我个人觉得可能是由于训练过程中设置的一些超参数还未调至最优导致的

兄弟,能提供一下你训练的详细信息嘛,因为我也根据原论文重新训练了很多次,但是结果还是依旧不尽人意,希望你能分享一下,万分感谢!

我训练的详细信息都在config.yml里面提供了,除此之外没有什么额外的参数了。

thompsoncjh commented 6 days ago

非常感谢作者您之前的点拨,我又回头对可视化操作进行了修改,结果终于开始尽如人意了。针对作者您之前提到的unsolved problems:迭代次数设为1要好于2、3、4等等,我也进行了一定的研究。发现若是直接采用readme中的cam2_oneiter_best.pth确实会存在这样的问题,于是我阅读了原文,重新进行了训练,训练中涉及到的一些参数我也尽可能也原文接近,最终训练得到的checkpoint效果出乎意料的比readme中更好,结果发现当迭代次数设为2、3、4、5时结果都比较接近,但会好于设为1. 迭代次数=1: image 迭代次数=5: image 最终可视化结果如下: image 左上角是ground truth投影的结果,左下角是扰动的结果,右下角是去扰动的结果。 目前可视化结果大部分较为理想,唯一不足的一点就是和原文在最终的误差结果上面,还存在零点几的误差,我个人觉得可能是由于训练过程中设置的一些超参数还未调至最优导致的

兄弟,能提供一下你训练的详细信息嘛,因为我也根据原论文重新训练了很多次,但是结果还是依旧不尽人意,希望你能分享一下,万分感谢!

正如作者所说的,一些训练的信息config.yml都有,还有的话就是option的一些选项,至于这些选项参数的调整,我真的觉得就是参考原论文,其他在训练过程中也没有什么了。此外,我也的确遇到了和作者一样的问题,就是迭代次数的问题。 在原文中,说到可以通过多次迭代,来尽可能地去除扰动。 image 而我的网络往往第1、2次迭代效果较为接近,在某些方面有提升(如x轴的旋转),在某些方面也有下降(如y轴的旋转)。我认为应该是由于训练参数的问题,导致训练出来的网络不是最理想的,也可能是网络搭建出现了一些偏差,不知道作者你是怎么觉得的? 此外,在旋转上,网络效果确实不错,可能把20度以内的误差都纠正到1度以内。但是平移却不容乐观,20cm的平移误差,最后纠正平均误差往往高达五六厘米。不知道作者你有何高见?