新闻中心

当前位置: 首页 > 新闻中心 > 学术简报 > 正文

AIR学术|北大王鹏帅:面向图形学的通用三维神经网络

来源:       发布时间:2024-01-18
主讲人 时间
地点 精彩回顾

1月11日晚,由DISCOVER实验室主办的第二十七期AIR青年科学家论坛如期举行。本期讲座有幸邀请到北京大学助理教授王鹏帅,为AIR的老师与同学们做了题为《Unified Deep Learning Frameworks for Computer Graphics》的精彩讲座。

16367

讲者介绍

F0A8

王鹏帅,现为北京大学助理教授。2013年和2018年分别于清华大学获得本科学位和博士学位。2018年至2022年,就职于微软亚洲研究院,历任研究员、高级研究员。研究方向为计算机图形学、几何处理和三维深度学习,在图形学、视觉学术会议SIGGRAPH(ASIA)、CVPR、ICCV等上发表多篇论文。担任图形学学术会议SIGGRAPH Asia 2024、EuroGraphics 2024、CVM 2023/2024程序委员,图形学期刊Computers & Graphics副主编。于2023年获得AsiaGraphics 青年学者奖。

报告内容

深度学习应用在三维数据处理

形学和计算机视觉中关注的任务有很大交叉,其中包括对三维数据的理解、生成、仿真和渲染。近些年来,深度学习的技术在这些任务上取得很大的突破,引起了大家的极大关注。但王博士指出,深度学习技术应用到三维数据存在一些挑战:

首先,深度神经网络最初是为定义在二维均匀格点上的图像所开发的,而三维数据有非常多种表达,比如体素、三角形网格、点云、一些艺术家设计出的样条曲面等等。对三维数据的表达多种多样,而原始的神经网络并没有针对这些表达而定义。因此,科研人员需要针对不同的三维数据表达进行神经网络的适配。这就导致针对每一种表达、每一种任务都需要设计一个神经网络。王博士指出,这种研究状态存在两个问题:一是神经网络的开发代价较高,二是处理三维数据的神经网络很难规模化。为了解决这些困难,我们希望针对图形学开发一个较为统一的深度学习框架,解决尽可能多的任务。例如,针对三维数据的多种表达,我们将其转换为某种统一表达(例如八叉树),再构建一个较为标准化的神经网络。在神经网络的backbone后面接上轻量级的前段来完成理解、生成、仿真和渲染任务。  

226DF

针对图形学的统一化深度学习框架

王博士介绍了其团队过去几年中在这一方向上的一些研究成果。

首先是基于八叉树的CNN网络(O-CNN,SIGGRAPH 2017)。O-CNN可以完成三维理解任务。具体而言,给定一个三维物体,先构建一个包围盒,若包围盒非空,就将其一分为八,直到达到最大深度为止。以此将三维物体转化为八叉树。转换完成后,我们希望将神经网络的运算和存储限制在非空区域中。八叉树的结构能够帮助我们快速实现一些卷积,把空的区域中的卷积运算跳过,实现巨大的时间和内存的节省。不同于Submanifold Convolution和MinkowskiNet需要构造多种分辨率的哈希表,O-CNN的八叉树本身就具有很好的层级结构。接着,王博士简介了O-CNN在三维生成任务上的用法。但是,这种方法生成的三维物体表面网格具有缝隙。进一步,在对偶八叉树(Dual Octree)上构建图卷积并进行运算后,预测feature,而后就能够重建出更加连续的三维曲面。  

为了解决曲面不连续问题,我们使用了图神经网络,这破坏了神经网络的统一性。Transformer在CV和NLP领域取得的重大突破,及其很好的形状理解能力,激发了人们研究三维点云的Transformer模型。

Transform处理的三维点云

Transformer直接作用于三维点云理解任务存在一些挑战。首先,若元素数量为N,Transformer的复杂度是 图片 ,这导致其难以高效处理大规模点云。其次,我们依然希望找到统一的神经网络架构来处理所有的点云理解问题。此前一些相关工作,例如PCT,Point-BERT, Point-MAE都是用全局Transformer来处理点云,效率很低。为了加速这一过程,CV领域产生过一些很好的尝试。为了加速ViT,把图片划分成一个一个小窗,attention模块并行地执行到每个小窗里。这一想法被推广到3D上,产生了例如Stratified Transformer,SWFormer,SST等工作。但由于点云的稀疏性,窗口内元素个数不均匀,这一想法不能很好地直接推广到三维数据。另一派加速方法是对点云降采样,形成稀疏点,在低分辨率点云上进行Transformer运算。但这一过程信息有损,导致模型性能受限。此外,还有一类工作使用K近邻的方式做attention运算,将attention以滑动窗口的方式作用在每个点上,例如Point Transformer和Point Transformer v2。但这类方法窗口与窗口间有很多重叠,也是不够高效的。

OctFormer处理三维点云

接下来,王博士讲解了OctFormer的两个核心要点。首先,OctFormer打破思维定式,让窗口形状自由变换,保证每个窗口内点数相同且窗口局部性良好,实现高效并行执行。观察发现,八叉树结构刚好可以实现这一窗口的构建。其次,八叉树的数据结构帮助我们打破了第二个思维定式,即点云是杂乱无序的。构建八叉树时,其实是在做点云排序。

4AC19

王博士接着详细解释了构建八叉树的过程,即对点云排序的过程。GPU上构建点云是一个自底向上的过程。给定点云后,将其按Shuffled Keys实现Z字形排序。Z字形排序的好处在于,排序后相邻的四个节点实际也是相邻的。排序完成后,将Z字形分形降采样,就直接构建了父节点。

1517C

构建完八叉树后,我们只关注非空节点。八叉树的非空节点在内存也是中沿着Z字形顺序存储的,按序按窗口大小直接划分,即可得到属于同一窗口的八叉树节点。这一过程在pytorch中相当于排完序后对tensor的reshape操作,只是一种描述的修改,并没有计算代价就得到了划分好的窗口。接下来Octree Attention就在不同颜色的窗口里并行执行。进一步,为了实现窗口间的交互,王博士团队还设计了Dilated Attention。    

10DFE

此外,Attention是无法感知位置的,因而我们需要加入Positional Encoding。本文选用了Conditional Positional Encoding(CPE)的做法。此处,CPE可以实现为一个Octree-based Depth-Wise Convolution。

随后,王博士给我们展示了OctFormer这一统一化网络的框架结构。其中,一个OctFormer Block内部由两个连续的OctFormer构成,Dilation分别为1和4。

1A7B9

最后,王博士展示了OctFormer在点云分割、检测等各个任务上的实验效果。其在速度和性能上都取得了优异表现。

文稿撰写 / 沈思甜

排版编辑 / 王影飘

校对责编 / 黄 妍


上一条:AIR学术|爱丁堡大学Hakan Bilen:利用三维先验学习通用表征 下一条:AIR学术|新加坡国立大学林水德教授:人工智能医疗保健和虚拟世界的穿戴传感器和触觉技术

关闭

业务合作:airoffice@air.tsinghua.edu.cn
招生招聘:airhr@air.tsinghua.edu.cn
联系电话:(010)82151160  

办公地点:北京市海淀区清华科技园启迪科技大厦C座12层

官方微信

京ICP备15006448号  |   版权所有©清华大学智能产业研究院