自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 【寻找公共祖先(普通二叉树)】BJ某IT厂面试题

给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”题解,利用HashMap+HashSet技术栈解决。

2023-07-15 18:03:35 382

原创 【岛屿最大面积】BJ某IT厂笔试题

该题在LeetCode上能找到原题,大致意思是,给你一个大小为 m x n 的二进制矩阵 grid。岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。岛屿的面积是岛上值为 1 的单元格的数目。计算并返回 grid 中最大的岛屿面积。如果没有岛屿,则返回面积为 0。由于IT厂面试都需要自测输入输出,建议小伙伴们去练习一下自测输入,我这里使用的是Java。该题大致解法就是使用递归。

2023-07-15 15:12:45 642

原创 【计算机视觉】简述对EQ-Net的理解

文章整体结构如上图,可以大体将EQ-Net分为三个部分,第一部分成为嵌入部分(Embedding Staget),该部分主要嵌入输入点云,它的一个优势是它不仅仅可以嵌入基于点的网络还能嵌入基于体素的网络,大大提高了其泛化性。第二部分是查询阶段,该部分的输入有两部分,一部分是支持点,另一部分是查询点,该部分主要是通过查询原始数据集,点云分割的话基本上就是将整个点云数据集输入到网络中。这篇文章主要提出了一个基于查询方法的统一范式,它解决了一些不仅仅是点云分割的问题,还解决了三维点云分类和三维目标检测的问题。

2023-07-13 20:53:33 1117

原创 在windows上可视化redis中间件

windows下安装redis的话可以去B站上查看一下怎么安装,主要是在github上去下载,目前更新的比较快,不过很多视频都是装的5.x的版本,它也是一个傻瓜式的安装,装完之后,在终端测试一下。因为redis可以分布在很多服务器上,但是我们只有一台电脑,所以我们将redis.windows.conf中的127.0.0.1的注释去掉。首先需要下载一下RedisDesktopManager这个可视化工具,在很多CSDN博客上都有博主进行介绍,其实就是一个傻瓜式安装。在终端启动redis。

2023-06-25 18:22:29 605

原创 【点云语义分割】简述对PointNeXt的理解

大场景点云语义分割

2022-11-16 21:04:06 1096 1

原创 【计算机视觉】3D点云分割精度提升思考

点云分割思考

2022-10-03 20:34:56 1250 4

原创 java自制零钱通小程序

java零钱通

2022-07-24 11:21:19 330

原创 RandLA-Net复现SemanticKITTI和S3DIS数据集

RandLA-Net复现KITTI和室内数据集

2022-07-02 20:54:03 3044 35

原创 【点云分割】简述对DMSF(多尺度融合的扩张邻域搜索)的理解

对于点云分割来说,对于特征提取这部分环节非常重要,很多网络都是学习邻域点的相对位置关系,这样可以将点云的空间结构加入网络中。然后大部分网络会利用特征之间的关系进行一个权重的学习,作用是为了更好的学习特征,也可以理解为更好的学习邻域的一种特征关系。感受野在学习点云局部特征中非常重要,尤其是在特征学习前,如果对点云的感受野进行扩大,会保留点云原有的特征,对分割效果应该会更好。DMSF这篇文章的创新点我认为有两个,一个是比较新颖的扩张KNN,另一点是对邻域搜索的特征进行了增强学习,并且进行了多尺度的融合(邻域搜索

2022-04-30 10:08:59 1329 5

原创 【图卷积做点云分割】简述对AGNet的理解

之前看的论文比较多的是大场景点云分割的,它们的做法就是获取邻域特征信息编码,然后利用注意力等加权学习特征,之后聚合局部的特征(自注意力池聚合),完成下采样的工作。其实图卷积也可以很好的完成分割效果,自从PointNet没有提取到邻域局部特征信息后,很多图卷积的网络都使用了一种边缘卷积的方法来学习邻域之间点云的特征关系。但是像DGCNN这种虽然学习了邻域的特征,但是在聚合的时候使用了和PointNet一样的对称函数(max pooling),这种方法虽然简单,而且可以解决点云的排序不变性,但是这样会丢失很多信

2022-04-28 10:45:00 1455 11

原创 RandLA-Net网络在Semantic3D数据集分割复现

最近一直在看些大场景点云分割的文章,它们的方法无非就是对邻域的点云信息进行编码学习特征,然后利用注意力等加权学习特征,最后在利用各种方法去聚合特征。有的网络比较复杂的还在结合上下文信息时去添加注意力模块或者融合不同尺度的的点云特征获取更好的分割效果。今天给大家复现一下RandLA-Net的Semantic3D数据集的训练过程。首先,RandLA-Net中的复现环境是Ubuntu16.04,tf1.11,CUDA9.0版本的。但是我的电脑是Ubuntu18.04的,所以我尝试使用tf1.14去复现。首先根

2022-04-25 10:40:37 5908 54

原创 【点云分割】边界分割对点云分割的监督学习(CBL)

对于大场景点云分割来说,对于邻域局部特征进行学习聚合时,对于类别的边界点云分割效果往往不好,因为学习局部特征时没有一个区别度,常常会将不同类别的点云聚合到一起进行下采样。利用边界分割对点云分割进行一个监督学习,实验证明可以有助于分割结果。网络框架不需要进行多层的注意力学习等。CBL这篇文章就是对边界点云进行了一个监督学习,利用的输入时点云的真实标签,该模块可以以很多点云分割网络(PointTransformer、RandLA等)作为baseline,效果都要优于它们。首先定义了边界点云的真实标签和预测标签

2022-04-24 18:16:03 1109

原创 【计算机视觉】简述对PAConv(对点云分割的动态核卷积)的理解

对于点云分割来说,最重要解决的问题基本上有两个,一个是点云的无序性问题,另一个是点云的不规则和稀疏问题。对于前者的问题,其实2017年的PointNet提出的对称函数(max pooling)就已经解决了,但是目前有很多取代之的方法。后者,很多网络利用学习邻域局部特征,编码相对位置特征解决,KPConv提出了一种可变形的Kernel,但是它的核点是固定的,针对不同的场景可能还需要进行改变,PAConv中的Kernel的灵活性要更高一点,而且PAConv的网络结构具有很大的灵活,可以利用其他先进网络的back

2022-04-21 20:12:29 1954 2

原创 【计算机视觉】简述对CSANet(交叉注意力网络)进行点云分割的理解

针对大场景点云分割算法来说,学习邻域局部特征是非常重要的一步,所以很多网络在编码完相对位置特征之后,都会利用特征去进行一个注意力的学习,更好的学习点云的局部特征,但是它也是指利用特征或者坐标分别去进行注意力的学习,然后利用各种方法区聚合特征,CSANet是利用特征和坐标的交叉注意力去学习特征,然后结合上下文信息的时候是利用一种前向传播的方法,融合不同尺度的点云特征,但是它采样的方法是最远点采样。它整体的结构和大部分点云分割算法类似,都是编码层加解码层的结构,但是它结合山下文信息的时候,它是利用编码层的同

2022-04-19 18:05:46 2215 2

原创 【计算机视觉】简述对LFT-Net(大场景点云分割)的理解

对于RandLA来说,它设计的LFA模块,解决了点云局部特征提取的问题,但是它只是学习了一个十维的位置特征向量,并将其和原始进行拼接,这种方法虽然学习到了邻域的局部特征,但是学习到的特征没经过细致的学习(例如通道间的不同、特征间的差异等等),直接利用自注意力池聚合了特征,所以导致分割的效果没有如今的高(其实已经很高了)。LFT-Net采取的思想和大部分点云分割思想一致,它和之前我讲述的一篇叫DLA-Net的很像,都是利用的Transformer的结构去学习,但是那篇文章利用的是特征之间的减法然后拼接学习的位

2022-04-14 14:29:47 3275 5

原创 【点云分割】简述对PointWeb的理解

最近看了很多大场景点云分割的论文,它们使用的都是RS采样的方法,随机采样导致最关键的一个问题就是采样的点比较多,而且会导致一些地方的点特征丢失的情况,今天给大家介绍一篇2019年CVPR的文章,PointWeb。自从PointNet开发出来,在点云分割上学习点与点之间的关系(邻域局部特征)成为了一个必然的研究方向,...

2022-04-12 18:38:04 1148 1

原创 【计算机视觉】简述对大场景点云语义分割的理解(综述)

大家好,最近看了很多大场景点云分割的论文,就这个博客给大家进行一下总结,方便大家一起学习和理解。大场景点云目前很多算法都是基于RandLA-Net进行更新迭代的,它们的思想转变都是由FPS采样变为RS采样,这样采样的好处是可以降低采样的时间,并且可以处理点数比较多的点云。目前很多点云分割算法都是基于2017年的PointNet进行改进的,它提出的逐点MLP的思想有效的解决了点云的无序性。首先对于CVPR2020年的RandLA-Net,它是比较经典大场景点云分割网络,它提出的LFA结构(LocSE+At

2022-04-08 20:22:06 3712 2

原创 【计算机视觉】简述对BLNet(大场景点云分割中的双向学习网络)的理解

大场景点云分割,很多网络都是基于RandLA改进的网络,但是他们只是简单的提取了点的邻域局部特征,BLNet是根据空间位置关系和特征差关系的双重关系来对输入的特征进行一个学习,起到一个丰富特征的作用,而且它不像DLA一样,繁琐的网络结构,还利用特征注意力加权特征,BLNet的BidConv模块简单学习完特征之后利用自注意力聚合特征,而且它的点是可以不断更新的,也就是解决了点云之间的一个移动问题,点云的不规则问题。它整体的网络框架与KPConv,RandLA都类似,都是4+4的编码层+解码层结构。BLNet的

2022-04-05 18:21:03 3063

原创 【计算机视觉】简述对BAF-LAC(大场景点云分割)的理解

对于RandLA来说,算是近几年大场景点云分割的一个开篇之作,它提出的LFA模块去聚合局部的特征并且结合全局特征去实现分割的效果,它的网络框架也被现在很多算法网络去进行改进更新。目前很多网络都是在RandLA的基础上改进的,例如我博客里面的DLA-Net(添加类似于Point Transformer的自注意力模块去加权特征),LFA-Net(局部特征的注意力加权),DNNE(框架类似于RandLA,搜索邻域时进行了扩张搜索),它们都是在RandLA的基础之上去更新的。今天给大家介绍的是一种添加了局部聚合分类

2022-04-02 20:44:31 2443

原创 【计算机视觉】简述对Dilated Nearest-Neighbor Encoding(针对点云分割的扩张搜索编码)的理解

大场景点云分割算法基本都是去提取邻域特征,添加注意力模块等对其实现更好的分割结果,但是点云经过下采样之后还是会丢失一部分特征信息,所以针对上下文信息进行多级多尺度融合的效果去学习点云分割目前看起来很不错,DNNE这篇文章,是在RandLA-Net的基础之上进行改进的,它在KNN搜索邻域的时候,搜索的是2K的点,意思就是直接对感受野扩大了一倍,搜索2K点,但是学习的时候只是提取K个点,所以它减少了学习复杂度的基础上还扩大了网络的感受野。DNEE的网络框架主要是4个编码层和4个解码层,下采样层主要是RS+DLF

2022-03-30 19:32:37 2733

原创 【计算机视觉】简述对MSAA(多尺度注意力融合)的理解

对于点云分割而言,自PointNet发布以来,很多算法都意识到了这个算法的问题,可能它首先解决了点云的无序性问题,但是它的网络丢失了很多信息,即分割效果差,没有学习邻域的局部特征,虽然目前很多模型都在此基础之上去学习邻域的局部特征,像经典的RandLA(局部特征学习+自注意力池聚合+扩展残差)就是大场景点云分割中比较早去学习邻域局部特征的,所以它在2020年分割效果还是挺好的。后面很多不管是SemanticKI还是一些其他建筑大场景点云分割算法,都是在此基础之上添加模块,提升分割效果,...

2022-03-28 09:31:42 5184

原创 【计算机视觉】简述对LFA-Net的理解

对于RandLA-Net来说,它是先利用LoceSE编码邻域的特征,学习点云的空间结构,然后利用Attentive Pool进行自注意力聚合特征,并且扩大了网络的感受野,添加了扩展残差模块,现在很多网络都是添加扩展残差模块,为了防止参数过拟合。现在很多新的文章都在编码完邻域特征之后对其进行自注意力加权,并且融合学习的邻域的局部特征,像DLA-Net,和今天介绍的这篇LFA-Net,其实这篇文章与DLA-Net非常像,本人感觉不同的只是它学习邻域和构造自注意力权重的方法不一样,它在学习完注意力加权后的特征和进

2022-03-24 20:55:21 719

原创 【计算机视觉】简述对MVP-Net的理解

针对点云的提取特征而言,是非常重要的一环,就像PointNet而言,它虽然提取了点的特征,但是它提取的方法是逐点提取的,也就是说它没有考虑相邻点的特征关系,就是没有去学习邻域内的点云关系,虽然它的速度挺快,但是效果非常差。现在大场景点云的识别都采用了RS+其他学习邻域特征的方法,它们采取搜索邻域的方法基本都是KNN,这种方法是最常见的,像RandLA和DLA都是这种方法,但是这种方法计算比较复杂,换句话说就是搜索时间比较长,MVP-Net这篇文章提出了一种排序搜索的方法,通过这种方法代替KNN,使得在Sem

2022-03-22 18:55:01 649

原创 【计算机视觉】简述对SCF-Net的理解

自2017年PointNet发布以来,它解决了直接以点云为输入的问题,因为点云是一种非常重要的三维数据,但是点云具有稀疏性和不规则性,所以很多研究者是研究的体素或图集为输入,PointNet的缺点就是他没有提取邻域的特征,也就是没有学习点与点的相对位置信息。所以它分割的效果不好,近两年的订刊文章(CVPR)发布了很多大场景点云分割的文章,像点卷积的文章他们采样的方法基本都是FPS+Ball quray的搜索方式,时间比较慢,大场景点云分割还得用RS采样的方法,像RandLA-Net(LocSE+Attent

2022-03-19 19:37:37 4031 3

原创 【计算机视觉】简述对DLA-Net的理解

针对大场景点云来说,如果采用点卷积那样的算法(PointConv,PointCNN,KPConv等)或者PointNet++等,他们都是利用FPS(最远点采样)的方法,虽然这种采样方法可以使用比较少量的点并且极大地保留的点云的结构,但是他们采样的时间非常的慢,就像我之前有篇博客介绍一样,它没有RS采样的速度,所以对大场景点云来说,目前只有随机采样(RS)才够快。今天介绍的这篇文章是DLA-Net,它是针对大场景建筑点云学习的双重局部注意特征,其实它的网络结构和RandLA-Net很像,都是先进行局部特征编码

2022-03-18 19:43:03 5270

原创 【计算机视觉】简述对Point Transformer的理解

最近对看完RandLA-Net之后,对其里面LFA模块的Attentive Pool模块比较感兴趣,这一模块,对LocSE提取到的邻域+全局特征进行一下自注意力加权,聚合特征同时并且将点云中比较重要的特征给重点加权出来,其实很多不管是点卷积的文章还是基于点的文章,都是先进行采样之后邻域搜索,然后利用不同的方法聚合特征(一般都会学习邻域点和中心点之间的特征关系),今天看完了Point Transformer这篇文章,感觉很多网络的结构都是类似的,他们都是先聚合特征(使用不同的方法),并且解决点云的无序性和不规

2022-03-16 20:06:39 3860

原创 【计算机视觉】简述对InterpCNN(内插值卷积)的理解

今天给大家分享一篇ICCV2019年的另一篇关于点卷积的文章,看点卷积的文章的原因是基于体素的网络虽然在处理点云分割时会具有比较良好的效果,但是其计算量比较大,耗费的内存比较多,所以着重研究了基于点的文章,在看完RandLA-Net之后,我对它网络的一个LFA设计的思想很有感触,通过这种方法来聚合点的特征是非常好的决定,今天这篇论文题目是3D点云上的内差值卷积。这篇论文的一个好处是它可以处理不规则输入的点云,而在我们的理解中,点云一般都是不规则、无序的,对于像逐点MLP的网络,它们都是结合利用中心点和领域

2022-03-15 18:56:02 1674

原创 【计算机视觉】简述对DPC的理解(点云分割)

很多点云分割的网络结构,都是通过扩大感受野来防止一些容易丢失的点丢失,通常的做法是扩大下采样的层数来增加,DPC这篇文章是添加了一个扩张的系数d,KNN搜索的时候搜素K·d个点,然后选择第d个点,并且这篇文章的一个大的优势是它做了很多的消融实验来证明哪个方法是最好的。它们做的工作大概分为三部分,第一部分是点卷积部分,该部分与PointConv、PointCNN部分的卷积很类似,利用核函数g对搜索的邻域进行卷积。第二部分是感受野的尺寸大小,很多网络的结构都是利用增加感受野的大小来防止丢失一些重要的信息

2022-03-12 18:05:34 3187 2

原创 【点云分割】简述对点云分割(方法)的理解(初学者)

从去年到现在,我(小白)已经接触点云将近半年的时间了,因为上半年大部分时间在上课,所以对点云的认识不足,在此,我以一个小白的身份,向大家叙述一下自己对点云分割的理解,借助一篇综述的论文,论文网址为:https://arxiv.org/abs/1912.12033首先点云是非常重要的数据类型,但是由于它的不规则性和稀疏性,所以很多学者都研究一些体素或者图像网格作为研究的标准,但是我最近看的文章都是直接以点为输入的,就是这部分的优点就是计算量相对于体素的比较小,但是精度的话可能稍微低一点。对于研究点云分割

2022-03-11 21:47:44 4195 4

原创 Tensorflow+Win10实现DGCNN代码

今天给大家讲解一下如何成功调试DGCNN的代码,之前发的博客是关于PointNet的代码调试,它们两个的网络非常类似,只不过DGCNN结合了局部的特征信息,关系到了点领域之间的关系,但是PointNet只是逐点提取了全局特征,所以分割和分类效果没DGCNN好。网上源码的网址为:https://github.com/WangYueFt/dgcnn一、首先对于电脑的配置的话,因为我目前用的是笔记本电脑,所以使用的是Tensorflow-Gpu1.14版本,cuda为10.1,编译器的话最好用Pycharm,

2022-03-09 19:27:03 1631 2

原创 【计算机视觉】简述对RandLA-Net(大场景点云)的理解

之前讲述的都是基于逐点MLP和点卷积的文章,对于逐点MLP的文章来说(PointNet和PointNet++)都是采用了对称函数(maxpooling)的做法,这样做的目的是为了解决点云的无序性,但是最大的不足就是他们只提取了全局特征(global feature),丢失了很多信息,虽然PointNet++设计了set abstraction层,用于提取周围点特征,但是提取的效果不好,而且计算量比较差,对于点卷积的文章,他们利用Kernel对领域点进行聚合,然后提取特征并且进行分割和分类,这样做的好处就是解

2022-03-07 20:38:55 6650

原创 【计算机视觉】简述对U-Net(医学图像分割)的理解

之前看PointCNN的时候,里面解释说点云进行Conv和DeConv的差别就是后者的输出比输入相比具有的维度更低(通道数更少),分辨率是从早期的Conv层转发的,遵循U-Net。当时就没有看懂这句话的含义,于是就去看了下U-Net这篇文章,这篇文章是利用卷积神经网络对生物医学图像进行分割,算是一种图像分割,其实它与三维点云分割的思想是一样的, 了解完这篇文章,对点云分割可能就会更加了解。我们在深度学习中常见到的卷积神经网络,它的比较典型的用途是做分类,其过程就是对输入图像进行一系列卷积、池化等操作,将图

2022-03-04 16:12:57 1530

原创 【计算机视觉】简述对PointCNN的理解

对于图像分割和点云分割而言,不同的区别是图像是固定的,而点云是无序的,不规则的。PointNet和PointNet++利用maxpooling(对称函数)的方法实现了排序不变性,但这样做的后果就是丢失了一些局部的信息,但是如果像图像一样直接对点云进行卷积时,会导致(相同形状的点云可能具有不同的排序方式)得到的输出不一致。会出现如下图的情况。...

2022-03-02 19:20:11 3582

原创 【计算机视觉】简述对KPConv的理解

之前有篇博客介绍了自己对PointConv的理解,那篇文章虽然在某种程度上实现了高效卷积,并且利用了一种注意力的方法(密度加权),但是其分割的效果并不是特别的理想,miou并不是特别的高,所以这篇文章讲述一下自己对CVPR2019年发表的一篇文章KPConv的理解。一、这篇文章的贡献我觉得是提出了一种新的点卷积设计,就是Kernel卷积的方法,它使用任意点数量的核点使KPConv比固定卷积更加具有灵活性,并且论文中提出了两种KPConv,grid型的KPConv用于简单的任务,可变形的KPConv可用于执

2022-02-28 16:58:09 6893 2

原创 【深度学习】训练CIFAR-10数据集实现分类加测试

网上有很多博主写的训练CIFAR-10的代码,本次只是单纯记录一下自己调试的一个程序,对于初学深度学习的小白可以参考,如有不对,请多多见谅!!!一、CIFAR-10数据集由10个类的60000个32x32彩色图像组成,每个类有6000个图像。有50000个训练图像和10000个测试图像。二、代码中利用的是TF1.14,CUDA10.0,win10系统。首先导入我们需要的库。import kerasfrom keras.models import Sequentialfrom keras.layer

2022-02-27 17:14:30 2011

原创 【计算机视觉】简述对PointConv的理解

点云是非常重要的数据类型,但是像PointNet和PointNet++这两篇文章都是直接以点云的坐标为输入的,换句话说都是直接以点云为输入的,但是它只提取了一个全局的特征,换句话说,很多局部信息都被忽略了,所以这给分割和分类带来的后果就是准确率和IOU并不是那么超前。所以,CVPR2019年发出了PointConv,这篇文章虽然贡献不是那么大,但是也在某种程度上实现了高效卷积。其实在阅读这篇文章时,应该考虑一个问题,就是为什么它这个可以用卷积操作,而PointNet没用,而是直接用MLP提取的特征,其实就

2022-02-25 21:03:12 2890 5

原创 【点云分类和分割】简述PointNet和PointNet++的理解

Hello大家好,最近阅读了PointNet和PointNet++两篇论文,本人觉得这是点云方向入手的比较简单的入门论文,下面阐述一下自己对这两篇论文的理解一、首先点云是非常重要的三维数据结构,但是其有着非常特殊的性质,不规则性和无序性。所以很多研究人员通常都是研究3D体素网格或者图像集合为输入,但是PointNet算是第一个直接以点云为输入的网络结构。二、PointNet这篇文章的主要贡献我认为还是主要解决了其点云排序无序性的问题,实现了置换不变性,论文里面还解决了几何不变性,就是在点云进行旋转,平

2022-02-24 13:47:53 2620

原创 Tensorflow+Win10实现PointNet代码

Hello大家好,这篇文章给大家介绍一下如何在Win10系统下对PointNet代码进行复现,本人用的框架是Tensorflow版本的,还有pytorch版本的请自行实现,如有不对,请多多指正!1.首先对PointNet论文进行阅读之后,通过github下载关于PointNet的开源代码,其中下载网址为https://github.com/charlesq34/pointnet,下载之后将其解压,最好用英文名命名文件夹,防止以后运行时报错。2.下载后,先别着急运行代码,在自己的电脑上把相应的库装齐,然后

2022-02-23 19:20:06 2097 8

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除