全球AIoT产业·智能制造峰会
您正在使用IE低版浏览器,为了您的雷锋网账号安全和更好的产品体验,强烈建议使用更快更安全的浏览器
此为临时链接,仅用于文章预览,将在时失效
人工智能 正文
发私信给雷锋字幕组
发送

3

针对 3D 计算机视觉的简介

本文作者:雷锋字幕组 2018-08-23 10:22
导语:随着 AR / VR 技术和自动驾驶汽车技术的发展,3D 视觉问题变得越来越重要,它提供了比 2D 更丰富的信息。

雷锋网按:本文为 AI 研习社编译的技术博客,原标题 An introduction towards 3D Computer Vision, Jian Shi。

翻译 | 江舟     校对 | Lamaric     整理 | MY


随着 AR / VR 技术和自动驾驶汽车技术的发展,3D 视觉问题变得越来越重要,它提供了比 2D 更丰富的信息。本文将介绍两种用于 3D 场景分析的基本深度学习模型:VoxNet 和 PointNet。


3D 图像介绍

3D 图像会多包含一个维度,即深度。有两种最广泛使用的 3D 格式:RGB-D 和点云。


RGB-D

针对 3D 计算机视觉的简介

RGB-D 格式图像就像一堆单值图像,每个像素都有四个属性,红色,绿色,蓝色和深度。

在普通的基于像素的图像中,我们可以通过(x,y)坐标定位任何像素,然后就可以分别获得三种颜色属性(R,G,B)。而在 RGB-D 图像中,每个(x,y)坐标将对应于四个属性(深度,R,G,B)。RGB-D 和点云之间的唯一区别在于,在点云中,(x,y)坐标反映了其在现实世界中的实际值,而不是简单的整数值。


点云

针对 3D 计算机视觉的简介

网上的点云样例

点云可以由 RGB-D 图像构建。如果你有已扫描的 RGB-D 的图像,并且还知道扫描相机的内在参数,那么你可以以 RGB-D 图像创建点云,方法是通过使用相机内在参数计算真实世界的点(x,y)。这个过程被称为相机校准。因此,到目前为止,你知道了 RGB-D 图像是网格对齐的图像,而点云是更稀疏的结构。


3D 视觉

就像 2D 问题一样,我们想要检测并识别 3D 扫描图像中的所有对象。但与 2D 图像不同的是,为了充分使用 CNNs 方法的数据,它的最佳输入格式该是什么就成了一个需要解决的问题。


体素化网格

体素化网格是将 3D 对象拟合到网格中的最直观的方法,为了使其看起来像是像素图像,我们在这里将其称为体素。在这种情况下,3D 图像由(x,y,z)坐标描述,它看起来就会像乐高一样。

针对 3D 计算机视觉的简介

VoxNet 架构来自“VoxNet:一个用于实时物体识别的 3D 卷积神经网络”,作者:Daniel Maturana 和 Sebastian Scherer。

VoxNet 是一种基于深度学习的框架,它使用占据网格方法对 3D 点云进行分类,VoxNet 在分类问题上非常有效。

例如,如果我们将点云拟合到 32x32x32 的体素化网格,我们可以构建一个全部填充为零的 32x32x32 的数组。然后缩放点云来计算每个体素内的有多少个点。

在获得体素化网格后,我们接下来执行 3D 卷积计算,这有效地在基于体素的图像上滑动立方体(译者注: 3D 卷积是通过堆叠多个连续的帧组成一个立方体,然后在立方体中运用 3D 卷积核)。

我们将扫描扩展到相同的基础。我们设想如果我们进行大规模扫描,每个物体将只是一个会导致一些问题的体素。而且,由于那些上采样操作,不容易确定每个体素的 RGB 颜色。

对于简单的数据集(具有相似的点数,相似的扫描比例),VoxNet 可能是一个简单而效果好的方法。但如果遇到复杂的数据集,它可能并不是一个好的选择。


虽然基于体素化的方法可以在分类问题上展现很好地工作效率,但它为上采样操作牺牲了大量信息。因此,我们希望能够在点上来训练有更好效果的网络。

第一个问题是点的顺序,我们知道点云对点的顺序是不变的。

针对 3D 计算机视觉的简介

点云文件可以在不更改实际渲染的情况下被更改。

处理此问题(PointNet)有三种策略:

  1. 对点进行排序。

  2. 输入为 RNN 的序列,此序列通过增加各种排列来增大。

  3. 使用对称函数来聚合来自每个点的信息。在此对称函数中,+ 或 * 是对称的二元函数。

在 PointNet 的论文中,文中说第一种方法会产生一定的计算强度,第二种方法则不够健壮。因此,在这里将使用最大池和对称函数。而最大池是这里的主要操作。

整个框架如下文所述,你也可以去 GitHub 参见完整的实现过程。

针对 3D 计算机视觉的简介

PointNet 的架构中,mlp 代表多层感知器。T-Net 是一个微小的变换网络。

通常,它是卷积、完全连接和最大池化层的一种灵活使用方式。我发现一开始可能会很难理解这些,因此我们可以直接看代码去更好地理解。

首先,我将给出一个示例点云,它每行是(x,y,z,r,g,b)。其中每行代表一个点。假设我们在这个例子中有 n 个点。

针对 3D 计算机视觉的简介

注意:PointNet 的实际输入使用标准化 RGB 色域,基点的 x,y 在空间的中心是对齐的。为了不与浮点数之间发生混乱,在这里我没有这样做。


PointNet 中的分类

第一步操作是进行 2d 卷积,其内核大小为(1,6),它用来聚合一个点的相关信息(x,y,z,r,g,b;总共六个)。此处的输出应为(n,1,64)。

针对 3D 计算机视觉的简介

注意:每层都有批量标准化,我将其删除以简化演示过程。此外,原始 PointNet 使用 9 个特征作为输入(x,y,z,r,g,b,normalized_x,normalized_y,normalized_z)。

这里是几个 1x1 卷积运算以逐个像素点的方式检测这些特征。因此,我们将在这之后产生一个(n,1,1024)的数组。

针对 3D 计算机视觉的简介

接下来是最重要的步骤,最大池会选择所有点中最显著的特征。这就是函数对点的顺序不变的原因。由于我们在先前的图层中有 1024 个过滤器,因此该图层将输出 1024 个特征。

针对 3D 计算机视觉的简介

......

想要继续阅读,请移步至我们的AI研习社社区:https://club.leiphone.com/page/TextTranslation/737

更多精彩内容尽在 AI 研习社。

不同领域包括计算机视觉,语音语义,区块链,自动驾驶,数据挖掘,智能控制,编程语言等每日更新。

雷锋网(公众号:雷锋网)雷锋网(公众号:雷锋网)


雷锋网原创文章,未经授权禁止转载。详情见转载须知

针对 3D 计算机视觉的简介

分享:
相关文章

文章点评:

表情

知情人士

入组微信leiphonefansub
当月热门文章
最新文章
请填写申请人资料
姓名
电话
邮箱
微信号
作品链接
个人简介
为了您的账户安全,请验证邮箱
您的邮箱还未验证,完成可获20积分哟!
请验证您的邮箱
立即验证
完善账号信息
您的账号已经绑定,现在您可以设置密码以方便用邮箱登录
立即设置 以后再说