深蓝学院-图卷积神经网络课程怎么样 值得学吗?

导读:无人驾驶近几年在人们的视野中出现地越来越频繁,并且随着计算机科学、智能控制技术的发展,研究者和企业对无人驾驶的探索更加深刻。特斯拉、Waymo、蔚来、百度,国内外企业大笔投入资金,推动了自动驾驶的发展进程。
自动驾驶是智能交通的必然趋势,行业求职者也越来越多,深蓝学院为各位同学整理了25节公益性质的自动驾驶公开课合集。
深蓝学院邀请了自动驾驶领域国内外知名的一线研究者为大家分享自动驾驶方向的研究思路与进展,同时,为各位同学配套建立了专业的技术交流群。系列公开课涵盖的方向包含感知、定位建图、规划控制、就业指导等四个部分。
以下是课程介绍(由于篇幅有限,本文展示部分课程详情,完整的课程合集请扫码添加工作人员免费领取)

获取全部公开课链接及入群,

请务必备注“自动,优先通过哦
(1). 《无人驾驶中感知的挑战与尝试》
讲师:邹晓   艺元戎启行点云感知方向技术负责人
毕业于华南理工大学,曾就职于百度自动驾驶事业部,目前负责自动驾驶感知模块的算法研发。
在自动驾驶中,感知系统相当于自动驾驶汽车的眼睛,需要理解整个场景,包括检测自动驾驶汽车周围环境中的障碍物,同时需要对这些障碍物进行跟踪获得速度和预测其在未来一定时间内的轨迹。
由于无人驾驶场景的复杂性和多样性,对感知系统提出了非常高的挑战。本次公开课重点介绍下感知基本的模块和典型方法,同时分享一些实际路测场景中遇到的问题和一些思考。
(2). 《自动驾驶感知算法简介》
讲师:王弢   小鹏汽车自动驾驶北美视觉感知负责人,原Drive.ai联合创始人。
毕业于斯坦福大学,目前主攻深度学习在自动驾驶领域的应用。
环境感知是自动驾驶的核心技术之一,由于环境的复杂多变,自动驾驶的感知面临诸多挑战。通常来说,量产的环境感知方案需要满足准确、完备、实时、经济等特性。    
本次公开课将重点讲解视觉感知算法的发展历程以及发展趋势,同时介绍量产的感知算法开发流程。
(3). 《自动驾驶感知前沿技术介绍》
讲师:周寅Waymo研发经理、特拉华大学博士
为了让无人车自己思考,我们要先教会它如何理解周围的世界。伴随着深度学习的崛起和算力的提升,这些年环境感知性能得到了长足的进步。
本次公开课将围绕scalability,重点介绍环境感知中的热点研究方向和前沿技术动态。
通过这节课,学员将对自动驾驶系统架构有一个整体的理解,并且对感知系统的核心问题以及前沿动态有比较深入的认识。
(4). 《自动驾驶纯视觉3D物体检测算法》
本次课程将针对自动驾驶场景,详细介绍以相机为主的纯视觉3D物体检测算法,剖析以特斯拉为代表的使用纯视觉的物体检测方案的优势和劣势。
通过本次课程,你将学习如何用深度学习进行深度估计、3D物体检测,同时了解纯视觉3D物体检测存在的挑战。
(5). 《3D物体检测的发展与未来》
讲师:祁芮中台   Waymo高级研究科学家、斯坦福大学博士、清华大学本科
3D物体检测在增强现实、机器人与自动驾驶中都有着普遍的应用。随着业界需求的增加与深度学习的出现,相关的算法在近几年有了长足的进步。
本次公开课将从技术发展的角度,介绍几种经典的3D物体检测算法以及它们之间的联系,并延伸讨论目前方法的局限性和未来的研究方向。
通过这节课,学员将能对3D物体检测算法有一个全局的认识,并且能了解潜在的研究机会。
(6).《 移动机器人视觉三维感知的现在与将来 》
相比于其他传感器,相机能提供丰富的场景信息,同时在尺寸、重量、功耗及成本上有着巨大的优势,因此被广泛应用于移动机器人领域。
在这个技术分享会上,我将介绍基于视觉的三维环境感知方案,即通过图像序列对环境的三维结构进行估计和重建;将介绍基于多视角几何的方案以及当前基于深度学习的方案。这些方案被成功地应用于无人机的自主飞行中。随着技术的发展,我们也发现一些其他的场景表示方案, 我们将探讨这些方案将会如何影响未来的实时三维场景重建技术。
(7). 《基于点云场景的三维物体检测算法及应用》
讲师:史少帅   香港中文大学多媒体实验室博士生,研究方向为计算机视觉与深度学习,专注于深度学习在三维场景理解上的应用。
(8). 《基于三维点云场景的语义及实例分割》
讲师:杨波   牛津大学计算机系在读博士,研究方向为计算机视觉与深度学习。

讲师:胡庆拥   牛津大学计算机系在读博士,国防科技大学硕士,研究方向为3D视觉、机器人、机器学习。

(9). 《深度学习在点云识别中的应用》
讲师:刘永成   中科院自动化所在读博士,研究兴趣包括3D点云处理、图像分割、多标签图像分类等。

讲师:李瑞辉   香港中文大学计算机系在读博士,主要研究方向为三维点云处理,三维重建等。

(10).《点云上的卷积神经网络及其部分应用 》
讲师:李伏欣   美国俄勒冈州立大学助理教授,2009年获中科院自动化研究所获工学博士学位。
(11).《相对位姿估计的进展和新方法》

讲师:赵季   华中科技大学博士, CMU 博士后,曾在自动驾驶公司担任定位方向的技术负责人。研究兴趣包括3D视觉、多传感器融合、 SLAM 等。在 PAMI 、1JCV、 CVPR 、 ICcV 、 ECCV 、 ICRA 、 IROs 等发表多篇论文。在定位、建图、标定方面有丰富的项目经验。

(12). 《用于无监督双目立体匹配学习的视差注意力机制》

讲师:王龙光   国防科技大学博士生,研究方向为深度学习与低层视觉,专注于图像超分辨与图像复原,在 TPAMl / TIP / CVPR / ECCV 等知名期刊及会议上发表多篇论文。

获取全部公开课链接及入群,

请务必备注“自动,优先通过哦

讲师:高翔   慕尼黑工业大学博士后、清华大学自动化系博士

(2). 《语义信息增强的激光雷达SLAM》
讲师:陈谢沅澧   德国波恩大学博士生,师从Cyrill Stachniss教授,RoboCup机器人世界杯救援机器人组技术委员会成员。

准确可靠的定位与建图是大多数移动机器人以及无人车系统的关键组成部分。激光雷达传感器凭借其高精度以及对光照变化十分鲁棒等优点,目前被广泛应用于SLAM问题中。

近年来,随着深度学习的发展,语义信息在机器人定位与建图中的起到了越来越重要的作用。语义信息包含对环境更高层级的理解,可以为SLAM提供更可靠的数据关联,帮助SLAM在现实复杂地动态环境中更加鲁棒地进行运动估计,从而实现更高精度地定位与建图。同时,语义信息还可以帮助SLAM进行更可靠的地点识别以及闭环检测。
讲师:杨楠   慕尼黑工业大学博士生,师从Daniel Cremers教授,主要研究方向为视觉SLAM及其与深度学习的融合。
在视觉SLAM领域,近年来以深度学习技术为代表的层次化图像特征提取方法,并成功应用于SLAM帧间估计和闭环检测。
深度学习算法是当前计算机视觉领域主流的识别算法,其依赖多层神经网络学习图像的层次化特征表示,与传统识别方法相比,可以实现更高的识别准确率。同时,深度学习还可以将图像与语义进行关联,与SLAM技术结合生成环境的语义地图,构建环境的语义知识库,供机器人进行认知与任务推理,提高机器人服务能力和人机交互的智能性。

视觉SLAM领域中特征点法的代表作,也是首个同时适用于单目、双目和RGB-D相机的开源SLAM方案。代码主要分为三个线程:前端实时定位跟踪、后端优化建图与回环检测。整套代码几乎涉及到了视觉SLAM系统的方方面面:从单目系统初始化、特征提取匹配,到LocalBA、GlobalBA的优化设计,到关键帧的选取、地图的复用,以及诸多巧妙设计的工程技巧等等。代码结构较为清晰,称得上是最适合新手学习的第一套VSLAM代码。

(5). 《因子图的理论基础与在机器人中的应用》
讲师:董靖   佐治亚理工学院计算机博士,主要研究方向包括机器人学、机器人领域相关的感知问题。

近十几年来,作为一种概率图模型,因子图在机器人领域(特别是SLAM问题)中得到广泛的应用。在大规模SLAM问题上,因子图与传统卡尔曼滤波相比,具有速度快、精度高等优点。

在本次讲座中,我们将初步了解因子图模型以及因子图在机器人学中的应用。

(1). 《量产自动驾驶中的规划控制现状》
讲师:肖志光   小鹏汽车创始团队成员
小鹏汽车自动驾驶产品开发高级总监小鹏XPILOT2.0辅助驾驶系统量产主导者
规划控制是自动驾驶核心技术之一,主要解决车在路上如何行驶的问题,需要综合考虑行驶过程中的碰撞安全、交通规则、驾乘舒适性、节能高效等特性。
本次公开课重点介绍自动驾驶中规划控制的主要功能,并分享量产自动驾驶研发中的实际难点及解决思路。

(2). 《视觉导航:从状态估计到运动规划》

(3). 《视觉状态估计及其在无人系统中的应用》

(4). 《视觉导航:从状态估计到运动规划》

(1). 《算法岗的招聘现状与未来——移动机器人与自动驾驶专场 》
(2).《【面经分享】如何成为offer收割机?——移动机器人专场》
(3).《算法工程师求职沙龙--移动机器人&无人驾驶专场》

获取全部公开课链接及入群,

请务必备注“自动,优先通过哦

本次公开课由李伏欣老师主讲,李伏欣老师是美国俄勒冈州立大学助力教授,公开课主要介绍了涵盖3D点云领域的研究,并重点介绍了李老师近期的最新工作内容。

本次分享首先介绍了最近几年的两篇经典论文中3D点云识别的工作,详细介绍PointNet++与PointNet;接着由传统CNN入手,逐渐引入PointConv;最后将结合PointConv介绍了李老师团队最近的工作内容。

课程开始,李伏欣老师介绍了点云CNN的一些背景。

点云上做CNN的工作和点云上其他操作有些不同,点云CNN更偏重于识别的任务,目前市面上已经有了很多深度传感器,可以直接获得周围物体的深度数据,例如Velodyne LiDAR等,随着深 度传感器的普及,日后深度传感器在我们日常生活中将会变得更加普遍。我们都知道深度学习在2D图像识别中有了飞跃性的发展,研究点云CNN的目的就是使深度学习在点云上的应用更加广泛。

常见的三维表示形式有很多种,常见的表示形式为点云、Mesh、Volumetric和RGBD等,Mesh可以更好地表示物体表面信息,Volumetric是将三维空间转换成网格的表示形式,RGBD则在传统RGB图相中增加了一个深度维度的信息,但只能看到一个视角的信息。而为什么我们要研究点云的CNN呢?因为不管是LiDAR、结构光还是TOF等深度传感器,都是直接获得的点云信息,而其他的三维表示都是由点云生成的。

同时我们还可以把RGB的信息贴到点云数据中去,这样在空间表示中不仅仅有物体的三维信息,还有物体的颜色信息。常见的点云往往都是稀疏的,而在土木工程领域中会应用到一种强大的扫描仪,获得数量庞大的点云数据用于还原物体信息,可以表示详细的空间信息。

点云CNN为什么难做?从2D图像中出发,例如,可以用image(i-1,j-1)表示像素image(i,j)的邻域信息来表示图像中具体的位置信息,但是不能保证在点云中相同的相对位置处存在点云数据。于是可以把这个问题转成volumetric convolution来进行点云的CNN,那么有的Voxel有特征点,有的Voxel并没有特征点,有点的Voxel可以找到该点的邻域进行计算。将这种方法应用到点云中,近些年研究学者发现利用矩阵稀疏性可以起到提高计算速度的作用,精度和速度近些年已经取得了相当不错的结果。

提到点云深度学习就一定离不开PointNet和PointNet++两篇经典的点云神经网络处理方法。PointNet中常用的有两种操作:1x1 convolution 和Max-pooling,然而只有这两种操作实际上对3D识别来讲是远远不够的。PointNet提取特征的方式是对所有点云数据提取了一个全局的特征,显然,这和目前流行的CNN逐层提取局部特征的方式不一样。

受到CNN的启发,紧接着同一批作者发表了PointNet++,就更接近了传统的CNN,相较于PointNet,它能够在不同尺度提取局部特征,通过多层网络结构得到深层特征。

首先,在网络处理时对输入点的数据点进行采样,采样后的结果中每一个点所构成其局部的点进行组合,方便后面连接PointNet的局部特征提取,由于Max-pooling的影响,每组特征点最后只输出一个点。

对提取的特征点再根据每个点所构成的局部点进行组合,得到的结果进行sampling连接PointNet。由Sampling、Grouping和PointNet三层组成了类似卷积层的结构,可以应用这种结构进行分类和分割。

PointNet++作者使用的采样算法是farthest point sampling(最远点采样),相对于随机采样,这种采样算法能够更好地覆盖整个采样空间,包括点云数据特征信息和边角信息,这些都是随机采样所无法具备的。

虽然PointNet已经足够优秀,但是PointNet缺少邻域信息,与传统意义上通过周围邻域得到卷积结果十分不同,这也很难直接应用于后面的点云CNN中。

例如这里有一个最简单的边缘检测的任务,在边缘处两边的颜色不同,为了检测出边缘,我们至少需要考虑两个点的颜色信息才能判断出是否存在边缘。而PointNet除了Max Pooling以外,剩下的所有操作都只对单点进行,很难直接应用到Corner Detection等任务中去,因此我们迫切需要真正意义上的点云CNN。

为了引入点云CNN,首先我们来回顾一下传统的CNN。对于2D图片来说,某个位置的输出,不仅与该位置的输入有关,还与此位置周边位置的输入有关,不同位置的输入,具有不同的权重。下图中X(i,j,k)可以看做图像的原始像素,W为卷积核,G为邻域。卷积是一个加权求和的操作,由于位置坐标的像素值是固定值,卷积核上所有作用点以此作用于原始图像像素,并通过线性叠加把所有的作用结果累加,即是图像卷积的输出。

可以通过连续域考虑,此时W就不是权重矩阵而是一个函数,那么由于点云位置是随机的,不同位置的权重应该不同,这样可以把权重函数W抽象成为一个关于三维坐标的函数。由于所有操作都可微,通过深度学习不断学习,由Δi, Δj, Δk作为输入的权重值作为函数的输出结果,这也是最初很重要的一种想法。下图中W和X为连续的函数,(i,j,k)为三维参考坐标,(Δi, Δj, Δk)为该点邻域的相对坐标,由于卷积本质上是一个加权求和的操纵。如果某些位置的采样点比较密集,而某些位置的采样点比较稀疏,最终的计算结果主要受到采样密集的位置的点的影响。考虑到点云是非均匀采样的传感器,为了补偿不均匀采样,需要用点云逆密度对学到的权重进行加权,该模块主要目的是处理点云采样不均的情况。这样我们可以把PointConv描述为:

PointConv的主要工作是在原有通过1层隐藏层替换权重函数W的基础上,在添加了一层隐藏层和KDE。这样网络的基本结构就可以描述为:通过寻找点云的K nearest neighbor获得K×3的坐标,做两层全连接网络,得到K×(Cin×Cout)的W,与复制Cout份的输入特征Fin运算,便可以得到1×Cout维的一个点的输出特征。完整的PointCov网络结构图如下所示:

李老师团队之前提交过一篇论文,但由于不知道之前已有团队做过相同的工作而被拒。在他们的工作中由于每个点都需要计算K×Cin×Cout维的权重值, PointConv 实现起来内存消耗大、效率低,很难形成大型的卷积网络结构。李老师发现通过更改了上图中蓝框里求和的顺序可以保证在结果不变的基础上,极大降低内存。假设MLP最后一层的输入为M,M与计算的逆密学习到的权重加权得到的结果Fin直接相乘,而把最后一层全连接层放到最后。看似只是简单的调整顺序,却可以省去复制Cout次的操作,也不用得到K×(Cin×Cout)很大的Tensor,有效的降低了参数的数据量,避免每次卷积都要产生巨大的权重值的问题。

实验结果证明原结构大概需要8G内存,优化过后大概只需要占用100M,极大的节省了内存占用率,为后面构建大规模网络奠定了基础,这样一个PointConv layer就可以完整的对应到一层普通卷积层,优化过后的网络结构为:

当然,我们还可以来定义PointDeconv,在之前的PointNet++中,Deconvolution主要是通过插值的方法来实现的。例如在下层有了一个k邻域,上层的点直接做插值来实现。而有了Pointconv以后可以在每次插值加入一层Pointconv,这样PointDeconv 由两部分组成:插值和 PointConv。首先,使用一个线性插值算法来得到精细层的特征的初始值,再在精细层上进行一个 PointConv 进行优化特征,从而获得较高精度的特征值。

有了PointConv和PointDeConv,便可以根据传统的卷积神经网络结构搭建一个U-Net网络,用于点云的分类任务。如下图所示,将所有的点先通过PointConv得到非常少的点,再通过一系列PointDeConv点数逐渐增多直至回到初始的点数,再对每个点进行1×1的卷积,便得到了点云的U-Net。

为了验证PointConv可以替代真正的卷积效果,李老师团队将CIFAR-10替换成了点云,在5层和19层的实验中发现,PointConv的准确度高于近期出现的PointCNN和SpiderCNN 的点云深度学习网络,接近甚至高于传统卷积神经网络框架。

同时李老师团队也在ModelNet、ShapeNet和ScanNet上与更多的点云深度学习网络结果进行对比,在ModelNet40和ShapeNet提高的精度不是很高,但是在真实的室内扫描数据集ScanNet却提高了很大的精度。

声明:本文为公开课分享的原创文章,如需转载,请联系育心,并标明文章转载出处。

深度学习与图像处理(一)主要讲的是数据加载问题,二主要是介绍模型的调用与训练问题。本篇将会以ResNet18为例进行说明与演示,开发环境同一中所述

深度学习模型主要是通过nn.Module这个继承类来实现的,所以一般需要依赖torch.nn这个包,具体过程如下所示:


 
 

我要回帖

更多关于 卷积神经网络入门 的文章

 

随机推荐