详解kinectfusion之二深度图转三维点云和法向量计算

上篇中简单介绍了kinectfusion的算法流程。本文将流程中的第一步,即如何把深度相机采集到的深度图,转换成点云数据和计算法向量,作详细介绍。

深度图转三维坐标

讲深度图与点云之间的关系,就不得不提相机模型——小孔成像模型。

396b4afa3b614af7969c9f5da3bb014c.png

将该模型简化与等效后,如下图所示。

 55e99bee0b0d4d928df286e611f06930.png

 矩阵表达出来就是,

假定像素坐标为\begin{bmatrix} u \\ v \\ 1 \end{bmatrix},与之对应的相机坐标系中的坐标为\begin{bmatrix} x \\ y \\ 1 \end{bmatrix}

深度图中的索引对应的就是像素坐标,根据相机的成像原理,我们可以得出像素坐标与相机坐标之间的关系是

\begin{bmatrix} u \\ v \\ 1 \end{bmatrix}=\begin{bmatrix} f^{_{x}} & 0 & u^{_{0}} \\ 0&f^{_{y}}&v^{_{0}} \\ 0&0&1 \end{bmatrix}*\begin{bmatrix} x \\ y \\ 1 \end{bmatrix}

根据上面这个式子,我们可以轻易计算出\begin{bmatrix} x \\ y \\ 1 \end{bmatrix},也就是

x = \frac{u-u^{_{0}} }{f^{_{x}}}

y = \frac{v-v^{_{0}} }{f^{_{y}}}

那么三维坐标根据深度值z^{_{w}}便可轻易解出,

\begin{bmatrix} x^{_{w}} \\ y^{_{w}} \\ z^{_{w}} \end{bmatrix}=z^{_{w}}*\begin{bmatrix} x \\ y \\ 1 \end{bmatrix}= z^{_{w}}*\begin{bmatrix} \frac{u-u^{_{0}} }{f^{_{x}}} \\ \frac{v-v^{_{0}} }{f^{_{y}}} \\ 1 \end{bmatrix}

法向量计算

经上一段中获取的三维数据,为有序的数据,数据是按照像素坐标排列的。不考虑噪声的话,像素坐标相邻的数据,在空间中也是相邻的。

有序点云的法向量计算有个超级便捷的方式。就像下图1、2、3、4个点云数据,\vec{12}\vec{13}为同一平面上两个不平行的向量,这两个向量叉乘,可以得到这两个向量所确定的平面的法向量。

因此,法向量\vec{n}=\vec{12}\otimes \vec{13}

12
34

参考文献:

1.计算机视觉之相机成像几何模型(原理)与相机标定内参和外参(代码)_计算机视觉成像-CSDN博客

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
三维点云目标检测是自动驾驶等领域中的重要应用,其目的是在点云数据中检测并定位车辆、行人等物体。传统的三维点云目标检测方通常需要大量标注好的点云数据进行训练,但这种方非常耗时且昂贵。因此,基于弱监督学习的三维点云目标检测方应运而生。 基于弱监督学习的三维点云目标检测方通过利用仅有的部分标注信息来训练模型,从而实现高效、准确的目标检测。该方通常包括两个主要步骤:1)利用未标注点云数据进行预训练;2)利用部分标注数据进行微调。 在预训练阶段,可以使用无标注的点云数据进行训练,比如使用自动驾驶车辆搭载的传感器获取的点云数据。预训练模型可以通过自监督学习方进行训练,例如使用点云的自身几何特征进行学习,或者使用点云数据之间的关系进行学习。 在微调阶段,可以使用部分标注的点云数据来微调预训练模型。这些标注信息可以是点云中物体的边界框、语义信息等。此时,可以使用半监督学习方来训练模型,例如使用伪标签方或利用标签传播算对未标注数据进行标注。 基于弱监督学习的三维点云目标检测方具有训练数据成本低、高效等优点,但仍然存在一些挑战,例如如何设计有效的自监督学习方、如何利用最少的标注信息来实现高效的模型微调等问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

芹菜_cherie

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值