斯坦福大学吴佳俊:通过自然监督编码理解视觉世界

news2024/11/15 5:42:00

导读

在智源大会的生成模型论坛上,斯坦福大学助理教授吴佳俊带来了精彩的演讲 “通过自然监督编码理解视觉世界”(Understanding the Visual World Through Naturally Supervised Code)。此次演讲从二维图像拓展到三维世界,从人类和自然的先验知识中汲取灵感并应用至生成神经网络。

ea50a9253bd450d8e4cc2087e21cfbbe.jpeg

吴佳俊

斯坦福大学计算机科学系助理教授,隶属于斯坦福人工智能实验室(SAIL)和斯坦福视觉与学习实验室(SVL)。他的研究方向是机器感知、推理和与物理世界的交互,从人类认知中汲取灵感。在加入斯坦福之前,吴佳俊曾在Google Research纽约分部担任访问教职研究员,与Noah Snavely合作。他在MIT获得博士学位,导师为Bill Freeman和Josh Tenenbaum,并在清华大学获得学士学位,师从Zhuowen Tu教授。

我们利用自然界中存在的丰富的结构、符号和程序,是为了在视觉世界中更好地感知,更好地理解。因此,有很多丰富的视觉效果,或者场景,你会意识到这不仅仅是像素,尽管这些模型总是以像素为基础,但它们实际上是比像素更丰富的结构。我们是否有可能利用像素之外的某种结构信息,用于智能场景理解和编辑。

af6ddf356af4b940a12244c704c4cabe.png

这是一个视频,我们首先可以在给定建筑的情况下进行交互式分割,可以在3D中计算一个消失点。但用户希望通过另一个互动,如果想让它更高,建筑会是什么样子?用户可以通过拖动操作,使建筑更宽并使建筑更高。

446c391475894c99fc387ac2754389b6.png

但在实践中并没有那么简单,因为操作者必须真正了解多个抽象级别的场景。在最底层,必须理解场景有纹理。这些建筑是三维的,每个立面都有其表面法线,它面向一个特定的方向。因此,如果想让建筑更高,那么建筑的面应该仍然面向同一个方向。另一个重要方面就是重复,地板也在重复,窗户也应该不断重复。

我们受到了早期工作的启发。从一个非常简单的图像开始,首先使用学习和随机搜索的组合来识别场景中的基本元素,在这些情况下,基本元素只有线条和矩形。现在让我们矢量化它,把高维空间变成一个低维空间。可以使用基于学习的方法在低维空间中寻找解释这些结构的编码。一旦有了这个编码,就可以完成一些小任务,比如图像外推。

58dbb2f3279f7aef82bd9b5771425169.png

如果在这种模式上继续推断,你可能已经注意到了一个明显的限制:世界不是完全由线条和矩形组成的。如果我们想扩展到自然图像,比如假如你有一碗牛奶加一些麦片,我们会意识到这个场景显然有一些结构。排列起来的麦片是同一类型的物体,就像同一个物种,同一个类别,它们只是同一物体类别的不同实例。

faa6bda18bd13fc940d229a68872a732.png

我们的算法基于这种想法,这使得它可以在没有事先训练的情况下进行训练。然后从单张测试图片上,就能识别出这些重复物体的中心。

我们可以把这看作是把一张自然图像矢量化了。当试图在一个低维的空间中表示了这幅图像。那在这里,如何参数化表示图像中的基本元素呢?实际上可以用一个新的网络来参数化表示它,这就用到了生成神经网络。例如在图像补全的过程中,结构化的编码告诉了我们如何找到图像中相关部分作为参考。而具体如何使用这些参考补丁来填补这个缺失的区域,就可以使用生成神经网络。神经网络将所有这些参考补丁巧妙地混合在一起,输出的图像看起来逼真,也直观,确实符合我们的直觉。此外,自然界中没有完美的图像,我们的编码表示会告诉你图像中基本元素和它们应该在的位置之间的轻微偏差。你可以放大这些不规则性,这对工业生产中的缺陷检测可能非常有用。

21512be91037dd9994bf23ed42ba328e.jpeg

回到这个牛奶和麦片的例子。可以找到这些物体的中心,可以做图像补全,把丢失的麦片放回去。可以做图像外推,添加另一列麦片,可以做有规律的重复,也可以放大不规则的部分。

55db307581f1c1f5ccf31306fefd544f.png

我们目前考虑的自然图片都只包含一个平面。显然,自然图片并非全部如此,例如,走廊并不是所有东西都在一个平面上:有天花板,有地板,有两面墙。现在的问题是,我们是否有可能将这种结构表示从单个平面推广到多个平面?

5e28dee6603c4cd66aec56f89ad5e32f.png

迄今为止,我们试图以这种自底向上的方式,从原始像素开始,试图识别某种自底向上的低层次视觉元素,然后一直到高层次的结构化程序编码。但这样的方式有其局限性。例如,在这张图像中,对低层次的视觉元素(包含消失点和二维线框)的估计很困难,这样会让我们对平面的可能划分产生很多不同的解释。特别是它们都满足视觉元素(消失点和线框)的约束。作为人类,我们有很多先验知识,但机器的情况并非如此,尤其是如果机器只从单张图像中进行推断的话。

所以可以看到,当我们从越来越复杂的画面中观察,这些线索变得越来越有限。由于存在更多的不确定性,假设空间更大。那么我们该如何解决这个问题呢?我们必须再次思考,为什么结构会首先存在,为什么这些物体或平面是规则的,为什么会存在这种对称性?为什么会出现这种重复?从根本上说,这是因为我们有这种人类偏好,作为人类,我们明确但有时非常隐式地引入了我们的偏好。

d08d41ec4a766e27331a7a6e59264780.png

如上图所示,对于这个特定的走廊,可能是因为我们喜欢这种规律性,所以喜欢建造这种结构。我们具备这种先验知识,整个构造必须对称,行必须以固定的间隔重复。正是由于这种基本的人类偏好,结构才得以存在。这意味着,如果能够很好地识别或解决这个低层次的问题,那么高层次的问题也会变得更容易解决。所以这不仅仅是一个自底向上的视觉感知问题。自顶向下的程序编码的推断问题和自底向上的感知问题之间存在着互相作用。

1a36e903d8fe78eec3e798f884d5bc88.png

我们已经讨论了视觉数据的结构化编码,从草图到自然图像,然后从一个平面到多个平面。我们可以把目前的结果看作是在2.5维图象上的。那下一步我们想转向三维物体。三维物体的形状通常具有抽象和程序化的结构。这又是因为,当人类试图制造这些物品时,只是希望它们是规律的,重复的,务实的,稳定的,想让它们便宜、高效。

这些想法,暗示了所有这些形状,它们必须具有这种结构。从某种意义上说,我们试图使用学习方法来从形状中推断出它们的程序化表示。在计算机图形学中,有很多使用过程式模型来处理形状的工作。受它们的启发,我们正在使用神经网络进行推理。我们同时使用神经网络作为程序执行器,这样就可以进行大部分自我监督的训练。

bb6e6e4f3d0c06b63134b5b4306bd54e.png

我们早期的工作假设了三维形状的基本元素是简单的几何形状,如圆柱体和长方体。然而,就像二维图像一样,三维世界也不仅仅是由圆柱体和长方体组成的。而复杂的几何结构不是简单的几何图元所能捕捉到的。最近在去年的NeurIPS会议上,我们发表了一篇新工作。它将这些高度结构化的、符号化的形状程序表示与神经基元相结合,用隐式表示来描述三维形状的基本元素。

a478b8bf396bb6698d0a9f249e8bb394.png

我们一直在讨论如何获得这些视觉程序编码。但更根本的问题是,为什么这个结构会首先存在?它们可能源于制造过程中的人类偏好。例如,这个美丽的花瓶,这张图像是由一些潜在的本征图像共同作用所产生的。它们包括图像的几何形状,物体表面的纹理、材质、和它们反射光线的方式。这些是组合在一起并产生彩色RGB图像的本征图像。在计算机图形学中,这个过程叫做渲染。这就是为什么计算机视觉的很大一部分是人们说的逆图形学,逆渲染,试着颠倒这个过程,得到图像中的本征图像。

85d54747a1cfd602d0e21bf134eba7cf.png

这些程序般的结构或人类的偏好存在于这些本征图像中。在这个特定的花瓶的情况下,它的表面法线有很强的规律性,因为当我们制作它时,想要达到旋转对称的效果。所以我们有一种强烈的偏好,那就是让形状变得有规律。材料也是如此,物体是同质的,到处都是由相同的材料制成的。因此,法线的表征和物体的材料应该具有显式的规律性。这个物体到处都有类似的纹理。

虽然我不知道如何显式描述这种规律,但有这种隐式的规律性。而光照成分和环境光基本没有规律性。在这样的情况下,我们的问题就是如何利用不对称性或我们已经知道的结构,利用在这些本征图像中存在不同程度的归纳偏差,来从输入图像中推断它们。一旦有了这些,就可以进行各种各样的应用了。例如,将花瓶从一张图片变成3D视图,对材质建模,对其反射光的方式建模,重新点亮这些物体。

cf9541224b85df5121c0000b1ce7890f.png

让我们讨论如何能够实施这些不同的约束。在几何学中有这些形状的明确的规律。我们知道它是旋转对称的,所以可以用高度参数化的形式来表示形状,高度是标量,半径是包含不同高度的半径的向量。这就是我们如何利用几何形状上的显式规律性的方法。

一旦有了形状,我们可以将对象平铺,这样就可以得到表面的法线和纹理。进行标准的本征图像分解,可以再将其重新渲染,计算光照、重建纹理,然后将其放置回原位,重建原始图像。

3eaa411bdabd9dc65ccad323f6472f78.png

在这里,我们可以使用相同的参数对物体材质进行参数化。假设该物体上的每个点都具有相同的材质参数,它们以同样的方式反射光线。这就是如何利用物体材质的显式规律性。

对于物体纹理的隐式规律性,我们可以用一个辨别器来进行约束。我们希望推断的纹理处处类似,使得辨别器无法分辨纹理图像中的区域是否来自输入的图像中包含高光的区域。

654209f256e8b4a31fceca7faf23f5b2.png

我们的方法可以从单张图像中虚拟化物体,可以从不同的视图看到它。这里有来自不同数据集的更多结果,有点复杂,背景更多;但可以看到,我们也可以做得同样好。即使是绘画,也可以把图片变成3D,从不同的视角和合成中看到它。

5a6bf4614f7ef1c2d1106746664dcb18.png

最后,让我们来考虑如何推广这个方法,让它不仅可以应用于花瓶这样的旋转对称的物体,也可以应用于更一般的物体,如下图花束中的玫瑰。同样,我们必须首先思考为什么玫瑰花里存在这些结构。之前说到,人类有一种强烈的偏好,那就是让事物变得有规律而重复。而这里的玫瑰不是由人类制造的,而是由大自然制造的。自然界也有这种非常令人震惊的归纳偏置,即同一物种的所有示例看起来都很相似,因为它们是同一物种。所有这些玫瑰看起来有点相似,有规律,因为它们属于同一个物种,只是同一物种的不同实例。我们给它们起了同一个名字,即玫瑰,也是有原因的。它们真正共享的不是花瓶那样的旋转对称的形状,真正共享的是属于它们的物体的本征特征。

每个物体(类别)都共享自己的本征特征的分布。这里的本征特征包括几何形状,包括纹理,包括构成的材料,如何反射光线,还包括它们的物理特性。如果我们能真正学到了物体本征特征的生成分布,就摆脱了一切都必须是旋转对称的假设。自然监督的编码来自哪里?因为这些对象都有相同的内在本征特征的分布,自然将它们提供给我们,然后通过三维至二维的投影产生了图片。我们的目标是,通过我们的算法学习到的本征特征的分布产生的照片,应该看起来像真实世界中的自然照片。通过执行这种更通用的约束或编码,可以再次从单个图像中学习。我们所需要的只是一束玫瑰花的照片,也许有二十、三十朵玫瑰,但仅仅从一张图像中就可以了解到它们内在本征特征的分布,其中包括几何形状、纹理和材料。

929f1d977ff648808abdd3e36f1dc265.png

从根本上说,这个编码只有两个过程或两个原因。一个是人类有这些强烈的偏好,当我们在设计制造时,设定了自己的喜好。第一种编码规则来自人类。

第二种编码来自自然。基于进化论,一个物种的不同示例共享这些基本相似的内在特性、几何形状、反射率。这些是我们会考虑纳入的基本的自然监督代码。

这两种原因是普遍的,适用于所有场景。未来,我们可以考虑如何将其扩展到具有复杂背景的更复杂场景,考虑光照、物体和背景之间的复杂交互。

b13782df2ce346b822db53bf21d558e2.png

其他未来的方向包括我们如何从被动感知到与场景互动,以及与认知科学结合。还有就是和自然语言联系起来,因为语言或我们谈论事物的方式是另一个重要的自然监督来源。

- 点击“查看原文” ,观看完整大会视频回放 -

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/709413.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux高并发网络编程开发(xml json)16_xml和Json相关api及文件解析制作

pdf详细版 01 学习目标 xml xml基础语法和规范C程序中如何使用xml开源库借助开源库,在C程序中生成xml文件已知一个xml文件,如何借助开源库解析xml文件数据 Json json的基础语法和规范C程序中如何使用json开源库 - cjson使用cjson生成json文件已知一个json文件,使用cjson库解析…

列存储、行存储

一、定义 1.1定义 Sybase在2004年左右就推出了列存储的Sybase IQ数据库系统,主要用于在线分析、数据挖掘等查询密集型应用。列存储,缩写为DSM,相对于NSM(N-ary storage model),其主要区别在于: DSM将所有记录中相同字段的数据聚…

【AUTOSAR】BMS开发实际项目讲解(二十三)----电池管理系统高压互锁保护

高压互锁保护 关联的系统需求 TSR-BMS-6101、TSR-BMS-6102、TSR-BMS-6103、TSR-BMS-6104、TSR-BMS-6105、TSR-BMS-6106、TSR-BMS-6107、TSR-BMS-6108、TSR-BMS-6109、TSR-BMS-6110、TSR-BMS-6111; TSR-BMS-6201; TSR-BMS-6301; TSR-BMS-S101、TSR-BMS-S102、TSR-BMS-S103、TS…

AutoSAR系列讲解(入门篇)4.3-BSW的Communication功能

一、架构与术语解释 BSW中以后每一节我都会放上一张模块图,所以就先上图: 由于汽车上一般都使用CAN总线,图中的bus大家可以就当成CAN来看待,如果使用的是LIN或者其他的,也相应的换成其总线看待就行。后续在实践篇中将会…

你需要了解的 50 个 ChatGPT 统计数据和事实

Rest assured that with the ChatGPT statistics you’re about to read, you’ll confirm that the popular chatbot from OpenAI is just the beginning of something bigger. Since its launch in November 2022, ChatGPT has broken unexpected records. For example, it r…

数据结构之串

1.串的基本概念 • 一个串是由n(n≥0)个字符组成的有限序列,记为s“s0s1 ⋯ sn-1”,其 中,s是串名,双引号括起来的字符序列s0s1 ⋯ sn-1是串值。 • 一个字符在串中的位置称为该字符在串中的序号&#xff…

微搭低代码实现表单打印功能

目录 1 引入第三方库2 搭建页面3 实现打印4 实现效果总结 在我们的日常开发场景中,表单打印是一个比较常见的场景,微搭本身不带打印功能,我们需要借助一个第三方的库来实现打印。 1 引入第三方库 在微搭中如果需要引入第三方库的&#xff0…

阿里云免费云服务器领取教程

阿里云推出了免费试用中心,提供超百款免费试用云产品,个人用户与企业用户均可免费试用,云服务器最长免费体验3个月! 一、活动地址 阿里云免费试用中心 二、活动对象 满足以下全部条件的阿里云用户: 1、阿里云注册会…

JS模块化规范及进化史

模块化规范及进化史 按照功能和需求分成各个模块,最后再把所有模块合并在一起。当然现在基于webpack vue/react,模块化开发很重要。某个功能板块单独写成一个模块,然后把模块合在一起,最后把整个页面的功能实现。方便团队管理 小插…

stunnel-加密通道-squid-IP缓存服务器-openssl自签名证书

文章目录 1.安装squid2.管理squid服务3.安装Stunnel服务器端4.安装Stunnel客户端5.在目标使用位置开启代理 1.安装squid yum install squid 2.管理squid服务 systemctl start squid systemctl stop squid systemctl status squid 查看端口 netstat -lntpo | grep 8**** 修改配…

集成增益采样电路误差计算--适用INA214

一、 一般集成电路结构如下: 二、 典型的计算步骤如下: 主要误差来源:采样电阻R-shunt,集成增益运放,ADC误差。 采样电阻误差 误差项包括常温下电阻的精度X1%,电阻的温漂值X2% 误差百分比为:…

《C++ Primer》--学习11

关联容器中的元素是按关键字来保存和访问的 两个主要的关联容器类型是 map 和 set。map 中的一个关键字-值(key - value)对:关键字起到索引作用,值则表示与索引相关联的数据。set 中每个元素只包含一个关键字; 以下八…

Java-数据结构(一)

这里写目录标题 前言一、为什么需要数据结构?1、低效的操作2、占用过多的内存空间3、困难的数据操作 二、枚举(Enumeration)1、定义2、关键字3、适用场景 三、 位集合(BitSet)1、定义2、方法3、适用场景 四、向量&…

文件操作 -- C语言

在之前学习的时候,我们可以发现当程序运行完,我们之前保存的数据就会消失,再次运行时还得重新输入,为了使我们保存的数据在下次运行时还能使用,我们这篇文章来学习一下怎么使用文件操作,将我们的数据保存在…

SQL14 操作符混合运用

select device_id,gender,age,university,gpa from user_profile where university山东大学 and gpa>3.5 or university复旦大学 and gpa>3.8;

Linux 抓包工具——tcpdump

1 简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口…

由浅入深探究mysql索引结构原理、性能分析与优化

目录 第一部分:基础知识 第二部分:MYISAM和INNODB索引结构 1、 简单介绍B-tree B tree树 2、 MyisAM索引结构 3、 Annode索引结构 4、 MyisAM索引与InnoDB索引相比较 第三部分:MYSQL优化 1、表数据类型选择 2、sql语句优化 3、系统配置与维护…

Java对称与非对称加密解密(AES与RSA)

尽可能预想所有残酷的可能性、因为现实永远让你无法预警,而且又吝于给人慈悲。——富坚义博 今天我们讨论一下秘钥这个东西 一、对称加密技术与非对称加密技术简述 加密技术可以分为对称与非对称两种。 对称加密、解密即加密与解密用的是同一把秘钥,常用的对称加密技术有DES,A…

MySQL - 连表查询 Join On 详解

1. 连表查询详解 市面上有 7 种连表查询, 总共归为三大类 : 左查询 LEFT JOIN -- 以左表为基准右查询 RIGHT JOIN -- 以右表为基准交叉查询 INNER JOIN -- 查询两表都有的数据 操作描述inner join如果表中至少有一个匹配, 就返回行left join会从左表中返回所有的值…

IDEA 设置文件头的注释信息author,date,description

打开setting设置窗口 file and code Templates 2、编辑Class模版 /*** Author:${USER}* Date:${YEAR}-${MONTH}-${DAY}* Description:TODO* */ 创建一个新JAVA类,测试一下,OK