CVPR 2023 | 南大王利民团队提出LinK:用线性核实现3D激光雷达感知任务中的large kernel...

点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

点击进入—>【Transformer】微信交流群

【CVPR 2023】LinK:用线性核实现3D激光雷达感知任务中的large kernel

本文介绍我们媒体计算研究组(MCG)在3D激光雷达感知领域提出的新型网络设计。针对点云数据的稀疏性,使用线性核(LinK)来扩大模型的有效感受野,提升3D检测、分割等任务的性能。

9c21e9491b30d25c1a9fb7cf5949c240.png

LinK: Linear Kernel for LiDAR-based 3D Perception

论文链接:https://arxiv.org/abs/2303.16094

代码链接:https://github.com/MCG-NJU/LinK

研究动机

在2D计算机视觉任务中,更大的感受野使得模型在语义分割、目标检测等下游任务上的性能获得显著的提升。此前,一些方法(RepLKNet[1]等)探究了2D图像处理领域中使用更大的卷积核来获得更大范围的感知能力。

由于3D数据模态的稀疏性,将大卷积核的设计引入3D存在两方面的障碍。一是效率问题:3D任务中,开销随尺寸立方增长,若将卷积核大小从3×3×3简单地扩张到7×7×7,模型大小会是原来的10倍,扩展到21×21×21则会变为343倍。另一方面是优化问题:由于点云在空间中分布较为稀疏,如果卷积核的每个位置都被赋予一定的权重,那么3D数据的稀疏性会导致大量空闲位置的权重在网络迭代中并没有参与更新,导致参数更新缓慢。此前有人尝试使用局部块内元素共享参数的方式来缓解这两个问题,提出了大小为7×7×7的空间共享权重卷积核(LargeKernel3D[2])。该设计成功地在3D语义分割和目标检测任务上提升了小卷积核的性能,但感受野的扩张幅度仍然有限。

为了解决这些问题,我们提出线性核LinK,以类卷积的方式实现更大的感知范围。该方法有两处核心设计:一是用线性核生成器替换静态的卷积权重,仅为非空区域的点云提供权重。同时,该模块是逐层共享的,避免了稀疏分布的权重在某次迭代中没有被优化的情况,改善了优化问题。二是在不同滑动窗口的重叠区域复用预先计算的聚合结果,使整体计算复杂度进一步降低,甚至最终计算量为常量,与实际感受范围无关。换句话说,我们可以基于LinK以一致的开销实现任意大小的线性核。

我们的方法

  • 核生成器

前文中讨论了大卷积核下稀疏卷积的两大缺陷:开销大以及优化困难。我们首先采用神经网络模块 来在线生成权重,取代静态卷积核 ,使得网络参数量与不随卷积核尺寸增长而增长,与之前方法对比如下:

86fa7d479bffba5e4df8cbb91a04d7f4.png

线性核生成器解决了参数量增长的问题,然后,并没有解决计算量的问题。于是我们考虑,能否将不同卷积窗口的重叠区域的特征聚合结果进行复用,这样有可能降低计算量。

为此,我们以一个toy case为例。假设两个相邻窗口中的元素集合分别为

其中每个元素表示一个体素。这两个窗口的重叠区域为

我们分别将 中的元素特征聚合到 和 ,聚合过程为

可以发现,每个重叠区域中的元素对 和 采用不同的local offset来获得权重。因此,基于local offset的方式难以复用重叠区域的聚合结果,如下图所示:

2acc57ce84d6187de87c4944af7602bd.png

  • 基于global coordinate的预聚合

为了解决这个问题,考虑到每个位置的global coordinate是唯一的,我们提出,将local offset拆分为global coordinate的组合。对于区域 ,我们使用如下公式计算这三个元素的预聚合结果:

也是kernel generator。然后,若要得到 在区域 上的聚合特征,我们用如下方式生成基于local offset的结果:

这样,不管有多少个元素要来复用区域 上的聚合特征,都不需要再重新计算 。

那么问题来了,上式成立的前提是

为了使其成立,我们参考APP-Net[3],使用线性映射 来实现 和 。我们将这过程称为线性核生成器,也即LinK方法名字的由来(Linear Kernel Generator)。这两个函数可以用三角函数、指数函数等不同的形式进行激活,正文中主要采用了余弦函数的方式。此时两个窗口A、B的聚合过程如下图所示:

6596649665b135c8b886a5dc15f96281.png

  • 基于LinK的类卷积核设计

基于上述设计,我们将整体点云划分为不重叠的块,每个块的大小为 ,对每个块进行特征预聚合。为每个块查询其周围 个近邻块,生成一个感受范围为 的大块的预聚合特征 。对 使用上述合成local offset的操作,即可为每个聚合中心算得最终的特征。这部分的具体公式可见论文原文。在实验中,设 ,即可得到 21×21×21 的感知范围。整体过程如下图所示:

162e1fee3a93c77e7fd4845de66592cb.png

网络结构

LinK模块结构

LinK模块由两个分支组成:一个分支为使用线性投影+三角核函数实现的大核分支,另一分支为 3×3×3 的稀疏卷积小核旁路,结构图如下所示。

e417ecfc0abed7cff39d22de0ced921d.png

下游任务应用

应用到下游任务(检测和分割)中时,我们分别选取CenterPoint和MinkUnet作为基础架构,并使用基于LinK的backbone替代了原本基于稀疏卷积实现的backbone,保留了原始的检测头和分割头不变,具体结构如下图所示。

79c7cf9eb6b517cca36212691ca59ffd.png

实验

我们在nuScenes上评估了目标检测的结果,在SemanticKITTI上评估了语义分割的结果。结果分别如下所示:

nuScenes

55e29c6357efdbbca91e111233f15960.png

截止论文发表,我们的方法在nuScenes数据集上取得了SOTA(73.4 NDS)。得益于超大的感受野,与baseline CenterPoint相比,我们的方法在大尺寸的物体(例如bus、con-veh等)上提升显著。

SemanticKITTI

9b41f1c59b21407011c39beb3a1ae896.png

在SemanticKITTI上,我们的方法相较baseline MinkUNet获得了2.7 mIoU的提升。更多可视化分析见原始论文。

总结

在本文中,我们提出了一个线性核生成器LinK,能够以不变的计算量任意扩大模型感受野,大幅提升现有模型在下游任务(检测、分割)上的性能。我们通过实验证明了LinK对下游任务性能提升的有效性与通用性。LinK在nuScenes(LiDAR only)上达到了SOTA性能,希望可以让大家对大感受野的新方法以及其在3D感知任务上的应用有更多关注。

引用

[1] Ding, Xiaohan, et al. "Scaling up your kernels to 31x31: Revisiting large kernel design in cnns."Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2022.

[2] Chen, Yukang, et al. "Scaling up kernels in 3d cnns."arXiv preprint arXiv:2206.10555(2022).

[3] Lu, Tao, et al. "APP-Net: Auxiliary-point-based Push and Pull Operations for Efficient Point Cloud Classification."arXiv preprint arXiv:2205.00847(2022).

点击进入—>【Transformer】微信交流群

最新CVPR 2023论文和代码下载

 

后台回复:CVPR2023,即可下载CVPR 2023论文和代码开源的论文合集

后台回复:Transformer综述,即可下载最新的3篇Transformer综述PDF

Transformer交流群成立
扫描下方二维码,或者添加微信:CVer333,即可添加CVer小助手微信,便可申请加入CVer-扩散模型或者Transformer 微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer等。
一定要备注:研究方向+地点+学校/公司+昵称(如Transformer+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群▲扫码或加微信号: CVer333,进交流群
CVer计算机视觉(知识星球)来了!想要了解最新最快最好的CV/DL/AI论文速递、优质实战项目、AI行业前沿、从入门到精通学习教程等资料,欢迎扫描下方二维码,加入CVer计算机视觉,已汇集数千人!▲扫码进星球
▲点击上方卡片,关注CVer公众号

整理不易,请点赞和在看72b13c64423529e1701bf0c6d5583b25.gif

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

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

相关文章

Arm推出新一代高性能CPU内核Cortex-X4以及GPU Immortalis-720 GPU

每年差不多这个时候,智能手机芯片背后的大脑 Arm 都会推出高通、联发科等公司用于下一代SoC的构建模块。在 2023 年 Arm 技术日期间,Arm 推出了一系列涵盖高性能和低功耗用例的新 CPU 内核,以及其第五代 GPU,并提供光线追踪图形支…

Autohotkey按键映射

文章目录 功能前缀鼠标按键键盘按键虚拟键码和扫描码实操 功能前缀 尽管在初步使用中已经对常见热键做了说明&#xff0c;但为了本文的完整性&#xff0c;这里还是重新表述一下 #!^<^>!winAltCtrlShiftAlt Gr 其中&#xff0c;<, >为修饰符&#xff0c;用于区分…

4.1 文件操作(File类)

ava中&#xff0c;对文件操作的常用类是java.io.File。这个类提供了许多方法来操作文件和目录。本章节我们将学习关于File类的重要方法以及如何使用它们来操作文件。 4.1.1 创建File对象 创建一个File对象不会在磁盘上创建一个新文件。File对象只是一个在Java代码中表示文件或…

【微信小程序】小程序自定义随机分享图片

&#x1f349;&#x1f349;&#x1f349;大家好&#xff0c;我是痴心阿文&#xff0c;你们的学友哥 。 本章内容&#xff1a;微信小程序分享功能&#xff0c;支持自定义分享随机图片。看完需要花费5分钟&#xff0c;效果图如下&#xff1a; &#x1f349;&#x1f349;&#x…

小程序设置按钮分享功能

一般小程序分享可以通过右上角的分享功能进行分享&#xff0c;如果想要在页面内进行按钮设置。可以这样子设置&#xff1a; 效果图&#xff1a; WXML中&#xff1a; 定义button按钮来触发分享事件&#xff0c;在button标签上写上 open-typeshare’属性 <button open-type…

uniapp中的分享功能实现(APP,小程序,公众号)

uniapp中的分享功能实现(APP,小程序&#xff0c;公众号) 1.APP端的分享 app端的分享可以直接使用uniapp封装的方法uni.share&#xff0c;uni-app的App引擎已经封装了微信、QQ、微博的分享SDK&#xff0c;开发者可以直接调用相关功能。可以分享到微信、QQ、微博&#xff0c;每个…

微信小程序分享功能开发及调试方法

首先说一下使用方法如下&#xff0c;Button组件设置open-type"share"即可触发onShareAppMessage完成分享功能 <button class"toudi" open-type"share" catchtap"toujianli" data-qyuid{{[item.uid,item.id,3,item.provinceid,item…

微信小程序 分享功能

1、分享 可以分享小程序的任何一个页面给好友或群聊。注意是分享给好友或群聊&#xff0c;并没有分享到朋友圈。一方面微信在尝试流量分发方式&#xff0c;但同时又不愿意开放最大的流量入口。 开发文档&#xff1a;https://mp.weixin.qq.com/debug/wxadoc/dev/api/share.html?…

小程序一键分享html5,H5手机网站封装微信小程序并实现分享功能的教程

通过本文教程可以实现将H5手机网站直接封装成微信小程序&#xff0c;并且支持分享功能。但不支持微信支付功能。 说明&#xff1a;手机站域名必须开启https模式 第一步&#xff1a; 微信开发者工具中创建小程序&#xff0c;填写你自己的小程序AppID 第二步&#xff1a;修改app.…

uni-app 微信小程序 分享功能 传参 接收 与 调试

uni-app 微信小程序 功能 传参 接收 与 调试 当使用微信小程序进行分享好友功能时&#xff0c;怎样能够联调&#xff0c;查看是否接收到参数&#xff0c;并在被分享人点进来的时候逻辑处理是否正确。 1、分享功能实现 分享给朋友 有两种方式&#xff1a; 第一种就是 微信右上…

Python:Python编程:从入门到实践__超清版:Python标准库

Python标准库 1. OrderedDict2. threading三级目录 Python标准库是一组模块&#xff0c;按照的Python都包含了它&#xff0c;我们只需要在程序开头包含一条简单的 import 语句&#xff0c;就可以使用标准库中的任何函数和类。 下面我介绍几个重点 标准库 os : 提供一些与操作系…

JointJS+ v3.7 Crack

JointJS v3.7 改进了对 SVG 上下文中的外部对象的支持。 2023 年 5 月 30 日 - 16:00 新版本 特征 改进了对外部对象 (HTML) 的支持- 外部对象已成为 Web 开发的标准&#xff0c;JointJS 现在已经在 SVG 上下文中引入了对外部对象的全面且功能齐全的支持。这意味着您现在可以在…

ElasticSearch安装部署

ElasticSearch安装部署 简介 全文搜索属于最常见的需求&#xff0c;开源的 Elasticsearch &#xff08;以下简称 es&#xff09;是目前全文搜索引擎的首选。 它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它。 Elasticsearch简称es&…

新版微头像V2.1.8版全套iApp源码

正文: 微头像 v2.1.8版全套iapp源码 1、海量头像精选&#xff0c;千万张找到最适合你的! 2、每日推荐热门头像&#xff0c;涵盖动漫、明星、二次元、可爱、等热门头像。让你瞬间焕发聊天活力! 3、提供多种分类&#xff0c;类别清晰明确&#xff0c;快速找到自己的爱好。让你…

怎样关闭qq位置定位服务器,手机qq怎么关闭定位

设置方法&#xff1a;首先打开手机QQ&#xff0c;点击“动态”——“附近”&#xff0c;点击“附近的人”右侧的漏斗图标&#xff0c;点击“清除位置信息并退出”即可完成操作。 QQ使用技巧&#xff1a;1、手机QQ可以关闭看点功能&#xff0c;首先打开手机QQ客户端&#xff0c;…

【Pytorch】DCGAN实战(三):二次元动漫头像生成

文章目录 1.实现效果2.环境配置2.1Python2.2Pytorch、CUDA2.3Python IDE 3.具体实现3.1数据预处理&#xff08;data.py&#xff09;&#xff08;1&#xff09;导入包&#xff08;2&#xff09;定义数据类 3.2模型Generator&#xff0c;Discriminator&#xff0c;权重初始化&…

【Pytorch学习】复现DCGAN训练生成动漫头像

先看一下结果&#xff1a; 1&#xff0c;环境安装指令 conda create -n pytorch python3.7 activate pytorch conda install pytorch torchvision torchaudio cudatoolkit11.3 -c pytorch pip install matplotlib pip install IPython pip install opencv-python 2&#xff0…

利用python+百度智能云为人物头像动漫化(附API代码及SDK代码)

文章目录 前言1.2、打开第一个搜索结果1.3、点击立即使用1.4、创建应用1.5、获取APPID等参数 二、API与SDK的使用1.API代码2.SDK使用2.1.首先下载python 的SDK&#xff1a;2.2.用编译软件打开aip-python-sdk-4.15.1文件夹并在aip目录下创建py文件2.3.SDK代码 总结 前言 利用py…

java基于ssm的卡通动漫网站

本系统设计为卡通动漫网站系统管理&#xff0c;主要功能是前台展示网站新闻信息&#xff0c;具有分类展示功能及在线留言和对文章的在线评论等功能&#xff0c;网站用户的注册&#xff0c;系统简介等。管理员后台的管理&#xff0c;管理员登录后台后可对现有管理员进行增加删除…

Python使用AI photo2cartoon制作属于你的漫画头像

Python使用AI photo2cartoon制作属于你的漫画头像 1. 效果图2. 原理3. 源码参考 git clone https://github.com/minivision-ai/photo2cartoon.git cd ./photo2cartoon python test.py --photo_path images/photo_test.jpg --save_path images/cartoon_result.png1. 效果图 官方…