如何将2D深度图像分割为数值相近的非重叠矩形区域
2D深度图矩形分割落地方案

针对你要的「分割为数值相近、互不重叠、满足最小长宽限制的矩形区域,效果优于固定网格」的需求,不需要追求全局最优解,直接用迭代二分+合并的流程即可,实现难度低,鲁棒性比RANSAC方案高,完全满足要求。
实现流程
- 初始化:将整张深度图作为初始待处理矩形,建立待处理队列存入该矩形。
- 块校验:每次从队列取出一个矩形,先做两项判断:
- 尺寸校验:如果矩形的长、宽均小于设定的最小阈值(比如示例中的2),直接标记为最终分割块,不再处理。
- 同质性校验:计算矩形内所有深度值的方差(如果是平面场景可以换成平面拟合残差),如果数值低于预设的同质性阈值,说明块内深度值足够接近,标记为最终分割块,不再处理。
- 最优切分:如果当前矩形不满足上述两个终止条件,就找最优分割线将其切为两个子矩形:
分割线选择规则:遍历所有合法的水平、垂直分割线(要求切分后两个子矩形的长宽都不小于最小尺寸阈值),分别计算切分后两个子块的深度方差之和,选方差和最小的分割线完成切分。
切分完成后将两个子矩形加入待处理队列。 - 重复块校验、最优切分步骤,直到待处理队列为空。
- 可选优化(减少过分割):遍历所有相邻的最终块,如果两个块合并后的整体深度方差仍低于同质性阈值,就合并为一个块。
方案优势
- 天然满足约束:整个切分流程从轴对齐矩形出发,所有分割结果都是互不重叠的矩形,不需要额外做几何冲突校验;最小尺寸约束直接嵌在分割线筛选逻辑里,不会出现小于阈值的碎块,和示例中右下角不做拆分的逻辑完全一致。
- 效果优于固定网格:固定网格不考虑深度值分布无脑切分,该方案只在深度值差异大的位置切分,块内数值一致性高很多。
- 实现成本远低于RANSAC:RANSAC拟合平面后需要额外处理矩形拟合、区域重叠、块间缝隙问题,这套逻辑只需要做数组切片、方差计算,几十行代码就能跑通,对高复杂度深度图的适应性也更好。
调参建议
- 同质性阈值:根据深度图噪声大小调整,噪声高就适当调高阈值,避免分割过碎。
- 最小长宽阈值:直接按业务要求设置即可,比如示例中阈值为2,筛选分割线时直接跳过会产生小于2尺寸子块的切分位置。
- 如果场景中平面占比高,可以把同质性校验的方差判断换成平面拟合RANSAC残差判断,分割结果会更贴合实际平面结构。
内容的提问来源于stack exchange,提问作者Susie
相关产品推荐
相关产品推荐

