文章目录
立 体 算 法 流 程 介 绍
>全局立体匹配算法
全局立体匹配算法主要是采用了全局的优化理论方法估计视差,建立全局能量函数,通过最小化全局能量函数得到最优视差值。通过二维相邻像素视差之间的约束(如平滑性约束)而得到更好的匹配效果,但是对内存的占用量大,速度慢不适合实时运行。主要的算法有图割(graph cuts)、置信传播(belief propagation)、动态规划等算法。
>局部立体匹配算法
主要是采用局部优化方法进行视差值估计,局部立体匹配算法有SAD,SSD等算法,与全局立体匹配算法一样,也是通过能量最小化方法进行视差估计,但是在能量函数中,只有数据向,而没有平滑项。该算法由于每个像素计算互不干扰可以并行计算,所以可以实时。但由于所基于的局部窗口视差相同的假设在很多情况下并不成立导致匹配效果较差。
>半全局立体匹配算法SGM
综合上述局部和全局算法的优缺点,半全局算法依旧采用全局框架,但是在计算能量函数最小化的步骤时使用高效率的一维路径聚合方法来代替全局算法中的二维最小化算法,使用一维最优来近似二维最优,得到的视差图在效果上和全局算法没有太大的差别,但是算法效率却有非常大的提升。
SGM 算 法 原 理 详 解
>深度图初始化
深度图初始化主要有两种方法:1.Delaunay三角剖分;2.稀疏点投影到对应帧,得到稀疏深度图,然后三角化,将三角化内平面插值得到完整的深度图。
1.Delaunay三角剖分
首先,为什么用Delaunay三角剖分,因为对于给定点云的地形或其他对象建模,Delaunay三角剖分提供了一组很好的三角形,可以用作模型中的多边形。特别是,Delaunay三角剖分避免了狭窄的三角形(因为从面积上相比,它们有较大的外接圆。)下图是非Delaunay三角剖分与Delaunay三角剖分的对比:

接下来介绍Delaunay三角化的三个重要特性:空圆特性、最大化最小角、对偶性。空圆特性是指点集P的Delaunay三角剖分满足P内任意一个点都不在P内任意一个三角面片的外接圆内。其中任意三个点的外接圆不包含第4个点即任意三个点的外接圆是空的;Delaunay三角剖分中的所有三角形都满足空圆特性;若四边形中的一个三角形不满足空圆特性,则将对角线互换之后构成的新的三角形一定满足空圆特性。空圆特性表现形式如下图所示:

最大化最小角指的是Delaunay三角剖分最大化三角面片内三角形的最小角,Delaunay三角剖分中所有三角形的内角中最小角大于任何其他剖分的最小角,具体表现形式如下图所示:
对偶性指的是Delaunay 三角剖分与Voronoi Diagram是互为对偶的关系,关系如下图所示:

几种Delaunay生成算法时间复杂度的比较如下表所示:

以Bowyer-Waston算法为例简单介绍一下Delaunay三角剖分的原理。Bowyer-Waston算法是一种增量算法,它的工作原理是向所需点子集的有效Delaunay三角剖分添加点,一次添加一个点。每次插入后,其外接圆包含新点的所有三角形都会被删除,留下一个星形多边形孔,然后使用新点重新对其进行三角剖分。通过利用三角剖分的连通性来有效定位要删除的三角形,该算法可以采用时间复杂度为O(N logN)的操作来对N个点进行三角剖分,尽管存在特殊的退化情况,在这种情况下,这会上升到O(N2)。下图是它的图形化解释:

最低0.47元/天 解锁文章
5826

被折叠的 条评论
为什么被折叠?



