前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >刨根问底稠密点云重建的三大基石

刨根问底稠密点云重建的三大基石

作者头像
用户9831583
发布2022-06-16 16:23:32
9960
发布2022-06-16 16:23:32
举报
文章被收录于专栏:码出名企路

稠密点云重建的三大基石:极线条搜索、光度一致性约束、可视性约束

极线搜索

在一幅图像中确定一点,在另一幅相邻图像中,也存在与之对应的像素点,而且该点就在另一幅图像的极线中。

对极约束,如下所示:

x1和x2为两像素点,F为基础矩阵,表示相机的旋转和平移。l1和l2表示左极线和右极线。在极线上,进行搜索相对应的像素点,找到与之对应的像素点。再通过三角化,来确定这个像素点的深度。

光度一致性假设

同一空间的点在不同视角的投影应当具有相同的光度,重建的核心在于恢复空间中具有光度一致性的点。

朗伯反射假设:物体表明是朗伯面,从不同的视角去看物体表面,颜色是一样的。

比如:纹理比较均匀的表面,如墙面等,没有强烈光照和阴影的表面,都是朗伯面。

但是,玻璃表面和水面,不是朗伯面。因为它在一个方向上反射的光非常强,在其他方向反射的光非常弱,或者趋近于0。

玻璃建筑或者水面,不能使用光度一致性加速,进行稠密点云重建。也不能进行稀疏点云重建,因为没法进行特征检测。

比如在地形重建的过程中,有一条河,稀疏重建和稠密重建都重建不出来,因为不是朗伯面。

C1图像中的一个点,在另一幅C2图像中做极线搜索,计算C2极线中一点与C1中的点的像素的颜色相似性,判断是不是同一个点。

但是,只考虑一个像素的话,特征是不够强的,因为像素的值变化可能比较剧烈,即使是极线上对应的同一个点,在不同图像上,颜色多少有些差异。不是极线上对应的同一个点,颜色可能会相似。所以,仅用像素的值进行判断,鲁棒性会非常差。

通常,如C1中,以像素Pi1为中心,取一个patch(3*3或5*5),这个patch就是三维中一个非常微小的平面,把这个patch投影到其他视角上,计算patch内一些采样点的颜色,用来做相似性的计算。这样会提高鲁棒性。

以像素为中心取一个patch,是考虑像素的局部特征。这是基于图像方法做点云稠密重建的,普遍方法。

可视性约束

在重建深度时,相邻的点满足可视性约束。

重建出点的深度不能遮挡其他的点

比如物体表面的点为A',而优化计算出的点为A,这个A点就是不可靠的点。

因为从第i个视角,图像中的A'点看不到,但是实际中可以看到A'点。

说明重建的A点是错误的。

重建出点的深度不能位于物体内部

比如重建出的C点,位于物体内部。位于物体内部的话,在每个视角都是不可见的。

如果重建出的C点在每个视角里的NCC值都非常小,那么这个重建出的C点就是错误的。

正常的重建出的点位于物体的表面

正常的重建出的点,一定位于物体的表面,表面上的点可以被相机观察到。

另外它在每个视角里的NCC值都比价高。

比如重建出的B'点,其对应图像中的B点。

这种情况下满足可视性约束:既不遮挡其他的点,也不被其他的点遮挡。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-10-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码出名企路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 极线搜索
  • 光度一致性假设
  • 可视性约束
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档