Skip to content
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

PR曲线-召回率较低 #29

Open
gongjun136 opened this issue Oct 3, 2023 · 20 comments
Open

PR曲线-召回率较低 #29

gongjun136 opened this issue Oct 3, 2023 · 20 comments

Comments

@gongjun136
Copy link

作者你好,我测试了你给的开源livox数据集,并且将关键帧位姿作为真值,运行后得到的精准率-召回率中精准率很高,接近1,但是召回率即使在score(平面重合百分比阈值)给0时也只有20-35之间,请问论文中的召回率时如何评测出来的。

@CLboyrobot
Copy link

作者你好,我测试了你给的开源livox数据集,并且将关键帧位姿作为真值,运行后得到的精准率-召回率中精准率很高,接近1,但是召回率即使在score(平面重合百分比阈值)给0时也只有20-35之间,请问论文中的召回率时如何评测出来的。

尊敬的博主你好,请问你的准照率曲线是怎么做的呀,我也想学习一下相关的代码,可以指点一下哪里有相关代码的学习吗,感激不尽

@gongjun136
Copy link
Author

@CLboyrobot 我是这样做的,首先你得设定真值是什么,根据室内外不同场景设置闭环帧之间位置距离为多少就是真阳性,我当时是用自己的里程计作为真值的,你如果有groundtruth那更好,kitti是有的,有了真阳性闭环对就好办了。精准度=回环检测出位闭环的数量中为真阳性的数量/回环检测出位闭环的数量;召回率=回环检测出位闭环的数量中为真阳性的数量/真阳性闭环总数,调节不同的检测参数得到不同的PR数值,你就可以得到PR曲线了,用python画一下就行了:
image

@lannipada
Copy link

@CLboyrobot 我是这样做的,首先你得设定真值是什么,根据室内外不同场景设置闭环帧之间位置距离为多少就是真阳性,我当时是用自己的里程计作为真值的,你如果有groundtruth那更好,kitti是有的,有了真阳性闭环对就好办了。精准度=回环检测出位闭环的数量中为真阳性的数量/回环检测出位闭环的数量;召回率=回环检测出位闭环的数量中为真阳性的数量/真阳性闭环总数,调节不同的检测参数得到不同的PR数值,你就可以得到PR曲线了,用python画一下就行了: image

您好,请问您召回率真阳性闭环总数是怎么计算的,直接用里程计pose设置阈值算的嘛

@gongjun136
Copy link
Author

@coder-lanni 是的,我录制的数据集首尾是同一个地方,最终的累计误差很小,所以可以直接用它作为真值,大差不差吧。

@lannipada
Copy link

lannipada commented Jan 22, 2024

@coder-lanni 是的,我录制的数据集首尾是同一个地方,最终的累计误差很小,所以可以直接用它作为真值,大差不差吧。

好滴,感谢您的回答,我还好奇在回环的位置上您是隔多少帧算作一个回环呢。比方说回环的位置50帧点云,累计就是5个关键帧,那么您回环是算C52就是10个真阳回环吗

@lannipada
Copy link

@coder-lanni 是的,我录制的数据集首尾是同一个地方,最终的累计误差很小,所以可以直接用它作为真值,大差不差吧。

我测试了下,自己判断阳性回环的阈值对精确度和召回率影响很大。我是简单对pose的位置距离做阈值的,不知道这种精准度和召回率的实验阈值应该怎么设置合理呀

@gongjun136
Copy link
Author

gongjun136 commented Jan 22, 2024 via email

@lannipada
Copy link

STD的参数文件调参,自然会得到不同的PR值,不过论文中说是根据描述符的平面重合百分比来的,参数文件里好像叫icp thread。它的召回率本来就不好,主要他依赖于体素划分来平面,可能移动一小段也检测不到。

---原始邮件--- 发件人: @.> 发送时间: 2024年1月22日(周一) 晚上10:38 收件人: @.>; 抄送: @.@.>; 主题: Re: [hku-mars/STD] PR曲线-召回率较低 (Issue #29) @coder-lanni 是的,我录制的数据集首尾是同一个地方,最终的累计误差很小,所以可以直接用它作为真值,大差不差吧。 我测试了下,自己判断阳性回环的阈值对精确度和召回率影响很大。我是简单对pose的位置距离做阈值的,不知道这种精准度和召回率的实验阈值应该怎么设置合理呀 — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

嗯嗯我明白您的意思,代码我看了,那个icp_threshold确实是调这个的。不过我想请问的是您当初怎么样处理数据来计算数据本身具有的真阳性闭环总数的

@lannipada
Copy link

STD的参数文件调参,自然会得到不同的PR值,不过论文中说是根据描述符的平面重合百分比来的,参数文件里好像叫icp thread。它的召回率本来就不好,主要他依赖于体素划分来平面,可能移动一小段也检测不到。

---原始邮件--- 发件人: @.> 发送时间: 2024年1月22日(周一) 晚上10:38 收件人: @.>; 抄送: @.@.>; 主题: Re: [hku-mars/STD] PR曲线-召回率较低 (Issue #29) @coder-lanni 是的,我录制的数据集首尾是同一个地方,最终的累计误差很小,所以可以直接用它作为真值,大差不差吧。 我测试了下,自己判断阳性回环的阈值对精确度和召回率影响很大。我是简单对pose的位置距离做阈值的,不知道这种精准度和召回率的实验阈值应该怎么设置合理呀 — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

就比如我设置的是相隔一定帧的两帧,如果对应的pose的dis在一个阈值内,判定为阳性回环,这样两两组合会出来很多的回环,导致召回率更低的离谱,所以我想请教下真正的召回率应该怎么样处理
sendpix1

@gongjun136
Copy link
Author

gongjun136 commented Jan 22, 2024 via email

@lannipada
Copy link

lannipada commented Jan 22, 2024 via email

@wjh911221
Copy link

STD的参数文件调参,自然会得到不同的PR值,不过论文中说是根据描述符的平面重合百分比来的,参数文件里好像叫icp thread。它的召回率本来就不好,主要他依赖于体素划分来平面,可能移动一小段也检测不到。

---原始邮件--- 发件人: @.> 发送时间: 2024年1月22日(周一) 晚上10:38 收件人: @.>; 抄送: @.@.>; 主题: Re: [hku-mars/STD] PR曲线-召回率较低 (Issue #29) @coder-lanni 是的,我录制的数据集首尾是同一个地方,最终的累计误差很小,所以可以直接用它作为真值,大差不差吧。 我测试了下,自己判断阳性回环的阈值对精确度和召回率影响很大。我是简单对pose的位置距离做阈值的,不知道这种精准度和召回率的实验阈值应该怎么设置合理呀 — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

您好,请问下,您说的这个阈值是任意参数的阈值都可以,还是说有一个共识大家都采用的某一个参数的阈值?

@lannipada
Copy link

STD的参数文件调参,自然会得到不同的PR值,不过论文中说是根据描述符的平面重合百分比来的,参数文件里好像叫icp thread。它的召回率本来就不好,主要他依赖于体素划分来平面,可能移动一小段也检测不到。

---原始邮件--- 发件人: @.> 发送时间: 2024年1月22日(周一) 晚上10:38 收件人: _@**._>; 抄送: _@.@._>; 主题: Re: [hku-mars/STD] PR曲线-召回率较低 (Issue #29) @coder-lanni 是的,我录制的数据集首尾是同一个地方,最终的累计误差很小,所以可以直接用它作为真值,大差不差吧。 我测试了下,自己判断阳性回环的阈值对精确度和召回率影响很大。我是简单对pose的位置距离做阈值的,不知道这种精准度和召回率的实验阈值应该怎么设置合理呀 — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: _@_.*>

您好,请问下,您说的这个阈值是任意参数的阈值都可以,还是说有一个共识大家都采用的某一个参数的阈值?

自己设置的,这个应该很难共识吧,作者也没这部分的具体计算方法也没放代码里,具体阈值也没公布。不过由于这些阈值都不同,我也好奇大家论文里这里面的计算结果没有一个统一的标准,都是直接根据自己设的来写吗

@wjh911221
Copy link

STD的参数文件调参,自然会得到不同的PR值,不过论文中说是根据描述符的平面重合百分比来的,参数文件里好像叫icp thread。它的召回率本来就不好,主要他依赖于体素划分来平面,可能移动一小段也检测不到。

---原始邮件--- 发件人: @.> 发送时间: 2024年1月22日(周一) 晚上10:38 收件人: _@**._>; 抄送: _@.@._>; 主题: Re: [hku-mars/STD] PR曲线-召回率较低 (Issue #29) @coder-lanni 是的,我录制的数据集首尾是同一个地方,最终的累计误差很小,所以可以直接用它作为真值,大差不差吧。 我测试了下,自己判断阳性回环的阈值对精确度和召回率影响很大。我是简单对pose的位置距离做阈值的,不知道这种精准度和召回率的实验阈值应该怎么设置合理呀 — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: _@_.*>

您好,请问下,您说的这个阈值是任意参数的阈值都可以,还是说有一个共识大家都采用的某一个参数的阈值?

自己设置的,这个应该很难共识吧,作者也没这部分的具体计算方法也没放代码里,具体阈值也没公布。不过由于这些阈值都不同,我也好奇大家论文里这里面的计算结果没有一个统一的标准,都是直接根据自己设的来写吗

那岂不是说,总能找到一个参数,通过调节这个参数的阈值,最终获得一个比其他方法优秀的曲线?

@lannipada
Copy link

STD的参数文件调参,自然会得到不同的PR值,不过论文中说是根据描述符的平面重合百分比来的,参数文件里好像叫icp thread。它的召回率本来就不好,主要他依赖于体素划分来平面,可能移动一小段也检测不到。

---原始邮件--- 发件人: @.> 发送时间: 2024年1月22日(周一) 晚上10:38 收件人: _@**._>; 抄送: _@.@._>; 主题: Re: [hku-mars/STD] PR曲线-召回率较低 (Issue #29) @coder-lanni 是的,我录制的数据集首尾是同一个地方,最终的累计误差很小,所以可以直接用它作为真值,大差不差吧。 我测试了下,自己判断阳性回环的阈值对精确度和召回率影响很大。我是简单对pose的位置距离做阈值的,不知道这种精准度和召回率的实验阈值应该怎么设置合理呀 — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: _@_.*>

您好,请问下,您说的这个阈值是任意参数的阈值都可以,还是说有一个共识大家都采用的某一个参数的阈值?

自己设置的,这个应该很难共识吧,作者也没这部分的具体计算方法也没放代码里,具体阈值也没公布。不过由于这些阈值都不同,我也好奇大家论文里这里面的计算结果没有一个统一的标准,都是直接根据自己设的来写吗

那岂不是说,总能找到一个参数,通过调节这个参数的阈值,最终获得一个比其他方法优秀的曲线?

欸我忘记了,作者论文里有写,不过这些参数也不是说怎么调都一定能调到很好。
image

@Byson-source
Copy link

@gongjun136
Hello, can you share your evaluation code with me? In my case, recall values are too small as shown in this figure
Screenshot from 2024-03-12 16-59-07

@gongjun136
Copy link
Author

@Byson-source My results are also very low. The effect of STD is particularly dependent on the rich planar features, such as underground garages with larger scenes. For outdoor scenes, the effect is not good, but Scan Context is better.
链接:https://pan.baidu.com/s/1s3vNBkDPnU09k296urLnxQ
提取码:f6yi
--来自百度网盘超级会员V6的分享

@ydragon719
Copy link

STD的参数文件调参,自然会得到不同的PR值,不过论文中说是根据描述符的平面重合百分比来的,参数文件里好像叫icp thread。它的召回率本来就不好,主要他依赖于体素划分来平面,可能移动一小段也检测不到。

---原始邮件--- 发件人: @.> 发送时间: 2024年1月22日(周一) 晚上10:38 收件人: _@**._>; 抄送: _@.@._>; 主题: Re: [hku-mars/STD] PR曲线-召回率较低 (Issue #29) @coder-lanni 是的,我录制的数据集首尾是同一个地方,最终的累计误差很小,所以可以直接用它作为真值,大差不差吧。 我测试了下,自己判断阳性回环的阈值对精确度和召回率影响很大。我是简单对pose的位置距离做阈值的,不知道这种精准度和召回率的实验阈值应该怎么设置合理呀 — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: _@_.*>

您好,请问下,您说的这个阈值是任意参数的阈值都可以,还是说有一个共识大家都采用的某一个参数的阈值?

自己设置的,这个应该很难共识吧,作者也没这部分的具体计算方法也没放代码里,具体阈值也没公布。不过由于这些阈值都不同,我也好奇大家论文里这里面的计算结果没有一个统一的标准,都是直接根据自己设的来写吗

那岂不是说,总能找到一个参数,通过调节这个参数的阈值,最终获得一个比其他方法优秀的曲线?

欸我忘记了,作者论文里有写,不过这些参数也不是说怎么调都一定能调到很好。 image

我这日常做实验时也会对gt产生疑惑,因为貌似大家都没有一个同一的标准。比如在城市环境中我最多可能考虑双向四车道大概12-15米的范围,在校园环境中可能就会放到5-8米。另外关键帧大家也可能不一样,一些SLAM方法就是1m或者yaw变化若干度选一个关键帧。是不是大家都是算法写好了反复调算法参数和gt来使最后的PR尽可能的好看?

@jiachenla
Copy link

我的成绩也很低。STD的效果特别依赖于丰富的平面特征,例如具有较大场景的地下车库。对于户外场景,效果不好,但扫描上下文更好。 链接:https://pan.baidu.com/s/1s3vNBkDPnU09k296urLnxQ 提取码:f6yi --来自百度网盘超级会员V6的分享
前辈你好,我在使用你的代码时有些疑问,能否解答一下,184720841这个是我的qq,有偿咨询,十分感谢帮助。

@jiachenla
Copy link

STD的参数文件调参,自然会得到不同的PR值,不过论文中说是根据描述符的平面重合百分比来的,参数文件里好像叫icp thread。它的召回率本来就不好,主要他依赖于体素划分来平面,可能移动一小段也检测不到。 ...... ---原始邮件--- 发件人: @.> 发送时间: 2024年1月22日(周一) 晚上10:38 收件人: _@**._>;抄送: _@.@>;主题: Re: [hku-mars/STD] PR曲线-召回率较低 (Issue #29) @coder-lanni 是的,我录制的数据集首尾是同一个地方,最终的累计误差很小,所以可以直接用它作为真值,大差不差吧。我测试了下,自己判断阳性回环的阈值对精确度和召回率影响很大。我是简单对pose的位置距离做阈值的,不知道这种精准度和召回率的实验阈值应该怎么设置合理呀 — 直接回复此电子邮件,在 GitHub 上查看或取消订阅。您收到此消息是因为您创作了线程。消息 ID:@_.*>

就比如我设置的是相隔一定帧的两帧,如果对应的pose的dis在一个阈值内,判定为阳性回环,这样两两组合会出来很多的回环,导致召回率更低的离谱,所以我想请教下真正的召回率应该怎么样处理 发送像素1
你好,可以给我分享一下你的评估代码吗?我的qq是184720841,有偿。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants