镜面反射导致静态点误删问题-MID360
问题描述
通过mid360采集数据时发现,镜面或者是玻璃的反射会导致雷达采集到一些错误的点云,这种情况在有玻璃的场景下很常见,这就导致了在墙体的背后出现了错误的点云,墙体被错误的当成动态点了,如下图所示:
个人思考的解决方案:
- 把void region只锁定在hit region的一定范围内,例如void region必须在hit region的0.5米以内。因为我认为动态目标都是连续的,加上距离限制并不影响其剔除效果。
请求:
- 上述的想法是否正确?
- 我调试了代码,猜测需要改动的代码在Misses getMisses(CodeUnorderedMap<Grid> const& free_grids, CodeUnorderedMap<Grid> const& hit_grids, depth_t const depth, std::size_t const num_threads)这个函数,内部代码太复杂了,能否提供一下指导。
期待您的回复,谢谢!!
数据地址: 通过网盘分享的文件:pcd.zip 链接: https://pan.baidu.com/s/1Aa_lZuvHbNVrZ3n1eQuWlg?pwd=wvxu 提取码: wvxu
void region只在hit region的0.5m以内 我觉得不太合理,因为void region的判断主要是根据ray-casting,只在hit region附近的想法会导致 在中间部分的动态完全无法判断和去除.... 大概我后续有空找个void region的图 给你解释一下
对于你这个数据来说,你的目标是去掉镜面反射的点 但是需要保留墙体的点吗?
对哈,是我之前想的太简单了,这样操作后虽然能够保证目标不被误删,但是动态过滤效果降低较为严重。若动态目标逐渐远离雷达,应该能够去除,但动态目标逐渐向雷达靠近,应该就不能去除了。
由于镜面,雷达给了错误的数据,这个不好解决。
我的应用场景主要是室内房间建图,因此墙体有空洞的话,影响太大了。
This issue is stale because it has been open for 30 days with no activity. It will be closed if no further activity occurs. Let us know if you still need help!
This issue is being closed because it has been stale for 14 days with no activity. If you still need help, please feel free to leave comments.