从一张2D影像直接建构3D资讯

2020-06-17 117人围观 ,发现53个评论
從一張2D影像直接建構3D資訊


面对一张影像,我们「得到」的比起我们实际「看到」的丰富许多。我们的大脑在理解影像时,会将常识应用在其中,解读影像没有拍到的部分。例如:进入一个从未看过的房间,看到桌子的三只脚,我们能推论出被挡住的第四只脚的形状和颜色。儘管我们没有看遍房间的每一个角落,也仍然可以大致上画出房间的空间形状,或是想像出从另一个角度看房间会是什幺样子。这个空间视觉认知能力对人类来说毫不费劲,但对人工系统来说却相当不容易。直至今日,最先进的视觉辨识系统大多是用大数据训练的人工智慧,训练的过程需要大量手工标记的数据。取得这些数据非常昂贵且费时。因此,现有的数据大都只包含空间中的一小部分而已,人工智慧的认知能力被这些数据侷限。在现实应用中,我们需要能完整认知空间的资讯的人工智慧。

从2D影像获得3D资讯

位于英国伦敦的Google DeepMind 近日发展一种人工智慧,能蒐集数据并训练自己,突破数据不足的限制。这种人工智慧被称为「生成式询问网路(Generative Query Network, GQN)」。实际应用情形如图一。在一个空间中,将一个视角v1(包含座标和方向)和从这个视角看到的影像(i1)输入人工智慧,人工智慧能依此建构出空间的资讯。接着,人工智慧能对没看过的视角做预测,例如:在没看过的视角v2它能预测一张影像i2,这个预测影像和真相非常接近。在图一中其他没看过的视角v3, v4和v5也有一样的表现。只看一张影像就能建构3D空间的资讯,并对其他未曾看过的视角做了几乎正确的预测,效果非常惊人。

从一张2D影像直接建构3D资讯

图一、从一张2D影像建构3D空间资讯[参1]

生成式询问网路

以下介绍这个人工智慧的原理。如图二所示,它的架构分为两个阶段:空间特徵网路F和生成网路G。前者输入一个视角v1(包含座标和方向)和v1上拍的一张影像i1,输出一个特徵向量r1。空间的各种资讯(包含一个房间的大小、有哪些家俱物品、家俱颜色材质等) 被抽象的压缩在这个特徵向量r1之中。如果有多张影像输入,例如图二中的i1和i2两张影像,经过处理后变成r1和r2两个特徵向量。这两个特徵向量分别包含空间的部分资讯,相加之后得到更多资讯。越多影像相加而成的特徵向量r包含越完整的空间资讯。接着,演算法进入第二阶段:生成神经网路G(图二)。除了输入空间特徵向量之外,使用者还需要输入一个询问:「在视角v3上,景色看起来怎幺样呢?」。生成网路会根据特徵向量r和视角v3,生成一张影像,预测从视角v3看整个空间的形貌。

从一张2D影像直接建构3D资讯

图二、生成式询问网路架构[参1]

在训练这个人工智慧时,特徵和生成网路是一起训练的,这样的训练架构有两大好处。第一,不需要手工标记的数据。在大部分方法中,数据需要被人类手工定义每个像素的景深等3D资讯当作正确答案,人工智慧再从这些已标记的数据中学习。相较之下,在生成式询问网路中,3D资讯被隐藏在空间特徵r之中。在学习的过程中,对答案的地方不是这个3D资讯r,而是由3D资讯生成的2D影像i3。透过这样2D到3D再到2D的方法,让人工智慧对手工标记的数据需求降低,训练时能使用的数据更多,表现更可靠。第二,它能处理较複杂的问题。这个架构将「学习特徵」和「学习生成」的部分完全分开。特徵网路专精于学习空间最重要的抽象特徵,例如长方体各个节点的座标。生成网路专精于学习输出影像,例如画出长方形上的材质和阴影。这样专业分工的架构,使得人工智慧学习力更强。

从一张2D影像直接建构3D资讯

图三、从2D影像建构3D资讯。左边是人工智慧看到的图片,右边是人工智慧建构的3D模型。

与3D相机的比较

除了使用人工智慧之外,另一种从2D影像获得3D资讯的方法是使用3D相机。它的原理是对同样的景色用稍微不同的视角拍两张照片。在两张照片中,相同的物品会有稍微不同的位置。差异越小的物品代表距离越近,反之代表越远。台湾的嵌入式相机模组产业是世界知名的,在许多无人车、无人机和亚马逊公司的无人商店AmazonGO使用的3D相机都是台湾製造。相较人工智慧,3D相机计算速度和準确度高上很多,在商业和工业上都达到应用的标準。人工智慧的方法则还是在研究的阶段,除了速度慢、準确度稍低之外,目前只能针对简单的场景和物体做预测。但是不同于只能分析「看得到的物品」的3D相机,人工智慧能预测「没有看到的物体」的形貌,这方面相当具有潜力。

参考资料

不容错过