很有用但是很魔幻的一章,本章讨论了在深度数据领域中与图像分割,多幅图像的匹配,三维模型重构和对象识别相关的问题
深度数据存储的不再是亮度和颜色信息,而是深度信息
14.1主动深度传感器
基于三角测距技术的主动深度传感器
一个激光器和一对旋转镜可以顺序的扫描某一表面,激光束能够用柱状镜头转换为光平面。
光平面:简化设计,缩短了用于获取一幅深度图像的时间
缺点:1.数据获取速度低,物体遮挡的激光点处的图像数据会丢失。2.镜面反射导致数据丢失和错误数据(普遍缺点)
飞点扫描(time-of-flight,TOF)深度传感器
通过给目标连续发送光脉冲,然后用传感器接收从物体返回的光,通过探测光脉冲的飞行(往返)时间来得到目标物距离。这种技术跟3D激光传感器原理基本类似,只不过3D激光传感器是逐点扫描,而TOF相机则是同时得到整幅图像的深度信息。一般装有一个扫描器,而发射器和接收器是共轴的,通过入、反射光探测来获取目标距离。
优势:1.体积小,误差小 2.TOF可以直接输出深度信息 3.抗干扰强
参考:https://blog.csdn.net/zhazhiqiang/article/details/46312277
深度图(Depth Map)是包含与视点的场景对象的表面的距离有关的信息的图像通道,类似于灰度图像,只是它的每个像素值是传感器距离物体的实际距离
14.2.1分析微分几何学的基本元素
曲面S上一点P,该点的切平面π,过P且与平面π垂直的直线N成为P点的法线,取N的单位向量作为表面S的局部方向。gt为法截线
法曲率:曲面一点沿着不同方向的弯曲程度或者说曲面离开切平面的速度不同,这个弯曲属性可以用这一点的沿着这个方向的法曲率刻画
主曲率和主方向:对曲面S:r = r(u, v)上一给定点P(u0, v0), 法曲率kn是切方向(du:dv)的函数,法曲率的每个临界值为曲面在这一点的主曲率,对应的方向成为曲面在这一点的主方向。
主方向是线性映射dN的特征向量,主曲率是相关的特征值,线性映射的行列式值K称为高斯曲率,它等于主曲率的乘积。
n为曲线的主法线,ø为表面和曲线法线的夹角
14.2.2在深度图像中寻找阶跃和定边
阶跃:实际深度不连续的位置
顶边:深度连续但是方向急剧改变的位置
边缘模型:在不连续处的邻域,曲面形状在不连续处的方向比在其正交方向改变的更快。
阶跃边缘可以用被垂直的分裂线分开的两个倾斜的半平面来建模,两个半平面的法线在x-z平面。
单变量公式:
阶跃模型的两个半平面在原点处被距离h分离,顶边模型两个半平面在原点处连接。c和h是常数,h表示间隙的大小,k1和k2表示两个半平面的斜率。
定位阶跃边缘:使用主曲率之一(等价于高斯曲率)的过零点来定位阶跃边缘
定位顶边:主方向上寻找局部曲率极值
计算主曲率和主方向:
盲目的在物体边缘使用高斯平滑将会引起急剧的形状变化,会破坏感兴趣的曲面细节。使用微型算子(3*3均值掩码)进行卷积来移除噪声并保留关键形状特征。
Hessian矩阵可以通过平滑后的图像与掩码(➡️)卷积得到,得到的导数可以计算出主曲率和主方向。
特征的多个尺度上的匹配:
由粗到精的跟踪特征,主曲率的演变及其导数也被监视,跟踪留下来的比率. 在跨尺度时基本保持常数的抛物线特征将作为阶跃边缘点的输出,而 基本保持不变的主曲率的极值点作为顶边边缘点输出
14.2.3把深度图像分割为平面区域
深度领域中,可以使用表面点集与它们最佳拟合平面之间的距离作为有效的分割标准—区域增长法。
对数据点进行初步分类,从初步分类的点集中找一个合适的生长点,用二次多项式函数来进行区域生长,实现了深度图像数据的分块与曲面拟合。
每一个弧线都有一个成本,大小等于这两个平面片上的点与它们的最佳拟合平面的平均误差。总是选择最好的弧线(成本最小的弧线)合并。
14.3.2、使用最近点迭代方法配准深度图像
——配准两个三维点集
1、寻找最近点树
k-d树
广义随机算法
缓存(缓存以前的计算结果提高再次查询的效率)
比如说在每一次迭代中存储每一个场景点的最近k个近邻点,因为刚体变换的逐步更新一般很小,很可能某一点的最近邻点在一次迭代后就存在于前一次迭代的k个最近邻点中。
2、估计刚体变换
14.3.3、多幅深度图像的融合——构造合适的密度函数
Curless-Levoy方法:把对应的表面片嵌入一个立方体,并对网格的每一个单元,赋予一个中心到相交于它的最近表面点的有向深度的加权和。该平均有向深度就是期望的密度函数。
14.4.1、使用解释树匹配分段平面表示的平面
1、选择可能的匹配
a.建立第一个对应:
模型平面仅能与具有相容面积的场景平面匹配
面积:A 面积:[0.5A,1.1A]
b.建立第二个对应:
匹配平面的法线之间的角度应该大致等于第一对平面法线之间的夹角
c.建立第三个对应:
两个对应可以确定模型与场景的旋转关系,给定第三个模型平面,可以恢复该场景。
估计出平移
2、估计刚体变换
关键参数:d,θ,槽
第一个是限于以p为中心,半径为d的球体范围内,用于构造该图像的支持点的支持距离d。
//该球体必须足够大,以便提供较好的描述能力,又必须足够小,以便在遮挡和杂乱情况下仍能识别,实践中,物体直径的十分之可以是d的一个合适的选择。
//由此,如前所述,自旋图像实际上是在曲面的点的扩展领域内曲面形状的半局部描述。
对于复杂环境的鲁棒性,可以通过把支持点上曲面法线的范围限制在以n为中心、半角为θ的锥形内。
//与选择支持距离相似,选择θ的合适的值也涉及描述能力与对复杂环境的敏感度之间的折中,由经验可知,60度是该数值的比较合适的选择。
定义自旋图像的最后一个参数是槽的大小(像素单位),或者在给定支持距离下槽的大小(单位为米)。(与图14.16相关)
//可以证明槽尺寸的合适大小是模型的网格顶点间的平均距离。
自旋图像的匹配
计算基于表面模型的面向点的自旋图像并将其储存在一个表中
1,随机选择场景中的一系列自旋图像并计算其关联,采用相似度准则S将模型中的最佳匹配进行排序。
2,采用几何一致性约束对关联进行滤波和分组,计算与场景最佳匹配和模型特征对齐的刚性变换。
3,采用ICP算法(迭代最近点算法)对匹配进行验证。