首页 > 编程知识 正文

计算机视觉可以做什么(计算机视觉要学什么)

时间:2023-05-03 15:59:33 阅读:102414 作者:1602

雷锋。com:本文是AI研究会整理的技术博客。原标题是介绍塔三维计算机视觉,施简。

翻译|江州校对|拉马克整理| MY

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

3D图像介绍

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

lydhk

Lydhk格式的图像就像一堆单值图像,每个像素有四个属性,红、绿、蓝和深度。

在普通的基于像素的图像中,我们可以通过(x,y)坐标来定位任何像素,然后我们可以分别获得三个颜色属性(r,g,b)。在lydhk图像中,每个(x,y)坐标对应四个属性(深度,r,g,b)。lydhk和点云的唯一区别是,在点云中,(x,y)坐标反映了它在现实世界中的实际值,而不是简单的整数值。

点云

互联网上的样本点云

点云可以由lydhk图像构建。如果您有扫描的lydhk图像,并且知道扫描相机的固有参数,则可以通过使用相机的固有参数计算真实世界的点(x,y)来从lydhk图像创建点云。这个过程叫做相机校准。因此,到目前为止,你知道lydhk图像是网格对齐的图像,而点云是更稀疏的结构。

三维视觉

就像2D问题一样,我们希望检测和识别三维扫描图像中的所有对象。但与2D图像不同的是,为了充分利用CNNS方法的数据,CNNs图像的最佳输入格式是什么成为了一个亟待解决的问题。

体素网格

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

VoxNet架构来自丹尼尔马图拉纳和塞巴斯蒂安舍雷尔的“VoxNet:用于实时对象识别的三维卷积神经网络”。

VoxNet是一个基于深度学习的框架,采用占用网格的方法对三维点云进行分类。VoxNet在分类方面非常有效。

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

在获得体素网格后,我们进行三维卷积计算,这有效地在基于体素的图像上滑动立方体。

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

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

要点

虽然基于体素化的方法在分类上表现出良好的效率,但它为上采样操作牺牲了大量的信息。因此,我们希望能够在不同的点上训练出效果更好的网络。

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

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

有三种策略可以解决这个问题(PointNet):

对要点进行排序。

输入RNN的序列,它通过添加各种排列而增加。

使用对称函数聚合每个点的信息。在这个对称函数中,or *是一个对称二元函数。

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

整个框架描述如下,也可以去GitHub看看完整的实现过程。

Net,mlp代表多层感知器。T-Net是一个微小的转换网络。

一般来说,使用卷积、完全连接和最大池层是一种灵活的方式。我发现一开始可能很难理解这一点,所以我们可以直接看代码来更好地理解它。

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

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

PointNet 中的分类

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

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

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

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

......

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

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

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

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

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。