当前位置: 首页 > 科技观察

使用几何来提高深度学习模型的性能是计算机视觉研究的未来

时间:2023-03-19 13:23:18 科技观察

深度学习已经改变了计算机视觉。如今,绝大多数问题的最佳解决方案都基于端到端的深度学习模型,特别是因为卷积神经网络往往开箱即用。但这些模型主要是透明性较差的大黑盒。尽管如此,我们在深度学习领域取得了显着的成果,即研究人员可以使用一些数据和使用基本深度学习API编写的20多行代码来获得许多易于获得的结果。虽然这些结果是开创性的,但我认为它们往往过于理想化,缺乏原则性的理解。在这篇博文中,我将说明人们经常将深度学习模型直接应用于计算机视觉问题,但实际上我们可以做得更好。我的一些第一年博士成果就是例子。PoseNet是我使用深度学习开发的一种算法,用于研究照片的姿势。这个问题在计算机视觉领域已经研究了几十年,并且有大量优秀的相关理论。但是作为一名博士生,我天真地应用了一个深度学习模型来端到端地研究这个问题,并且在完全忽略问题理论的情况下取得了不错的结果。在本文的结尾,我描述了一些最近的研究,这些研究采用更理论化的、基于几何的方法来解决问题,从而显着提高了性能。我们正在穷尽这些唾手可得的成果,或者可以用简单的高级深度学习API解决的绝大多数问题。具体来说,我认为使用深度学习的计算机视觉的许多未来进步将源于对几何的洞察。我所说的几何是什么意思?在计算机视觉中,几何以深度、体积、形状、姿势、视差、运动和光流等测量单位来描述世界的结构和形状。我认为几何在视觉模型中起着重要的作用,主要是因为它定义了世界的结构,我们可以理解这种结构(例如从许多著名的教科书中)。因此,许多复杂的关系(例如深度和运动)不需要使用深度学习从头开始研究。通过构建利用这些知识的架构,我们可以将它们应用到现实中并简化学习问题。本文末尾的一些示例将展示如何使用几何来提高深度学习架构的性能。替代范例使用语义表示。语义表示使用语言来描述世界中的关系,例如我们将对象描述为“猫”或“狗”。但我认为几何有两个吸引人的语义特征:几何可以直接观察。我们可以通过视觉直接看到世界的几何外观。在最基本的层面上,我们可以通过帧与帧之间的对应像素直接看到视频的运动和深度;其他有趣的例子是根据立体视差的阴影或深度看到形状。相比之下,语义表示通常是人类语言所独有的,其标签对应于一组有限的名词,因此无法直接观察到。几何基于连续的量,例如我们可以以米为单位测量深度或以像素为单位测量视差。相反,语义表示主要是离散量或二进制标签。为什么这些属性很重要?原因之一是它们适用于无监督学习。结构图是我用手机摄像头做的英国剑桥市中心附近的几何运动重建图。无监督学习无监督学习是AI研究的一个令人兴奋的领域,它从未标记的数据中学习表示和结构。这是令人兴奋的,因为获得大量标记的训练数据既困难又昂贵。无监督学习提供了一个更具可扩展性的框架。我们可以使用上述两个属性对无监督学习进行几何建模:可观察性和连续表示。例如,去年我最喜欢的一篇论文展示了如何使用几何学通过无监督训练来研究深度。这个例子成功地说明了如何将几何理论与上述性质结合起来形成一个无监督学习模型。其他研究论文也展示了使用几何学进行无监督运动学习的类似想法。我最喜欢的论文之一是语义还不够吗?语义在计算机视觉中经常受到很多关注,因为很多被高引用的突破性论文都在图像分类或语义分割方面。仅仅依靠语义来设计世界的表示的问题在于语义是由人类定义的。人工智能系统必须理解语义才能与人类互动。然而,由于语义是由人类定义的,这些表示可能不是最佳的。直接通过观察世界中的几何形状来学习可能更自然。不难理解,婴儿是通过初等几何学来学习看世界的。根据美国眼科学会的说法,在生命的前9个月,人类学会协调眼睛以聚焦和感知深度、颜色和几何形状;直到第12个月,他们才明白如何识别物体和语义。这说明了几何学对人类视觉基础的重要性。我们在将这些见解融入计算机视觉模型方面做得很好。世界的机器语义理解(又名SegNet)。每种颜色代表不同的语义分类,如道路、行人、标志等。GeometryExamplesfromMyRecentResearch我想用两个具体的例子来结束这篇文章,解释如何在深度学习中使用几何:1.学习使用PoseNet进行重定位在这篇文章的介绍中,我给出的PoseNet例子是单眼的解决所谓的机器人绑架问题的6-DOF重定位算法。在ICCV2015的初稿中,我们通过学习从输入图像到6DOF照片中姿势的端到端映射来解决这个问题,这将问题纯粹视为一个黑盒子。在今年的CVPR中,我们通过考虑问题的几何属性更新了这种方法。我们没有将相机姿态和方向值视为单独的回归目标,而是使用几何重投影误差一起学习。它考虑了世界的几何形状,并且结果得到了显着改善。2.用立体视觉预测深度第二个例子是立体视觉,即用双目视觉估计深度。我有幸解决了这个问题——研究世界上最先进的无人机,并与Skydio一起度过了一个美好的夏天。立体算法通常用于估计一对整齐的立体图像之间物体水平位置的差异,称为视差,它与相应像素位置处的场景深度成反比。所以本质上可以归结为一个匹配问题——找到左右图像中物体的对应关系,nikeyi计算深度。立体声中性能最高的算法大多使用深度学习,但仅限于构建匹配特征。生成深度估计所需的匹配和正则化步骤在很大程度上仍然是手动的。我们展示了GC-Net架构,但这次重点关注问题的底层几何结构。众所周知,在立体声中,我们可以通过在一维视差线上形成成本量来估计差异。本文的新颖之处在于,它展示了如何以可微分的方式将成本数量的几何公式??化为回归模型。这篇文章还有更多细节。这是GC-Net架构的概述,它使用清晰的几何表示来预测立体深度。结论我认为本文的关键信息是:了解计算机视觉问题的经典方法是值得的(特别是如果你有机器学习或数据科学背景)。如果可以构建架构以利用问题的几何属性,则使用深度学习来研究复杂表示会更容易、更有效。