点云深度学习方法

目录

1.数据特征

1)xyz位置坐标形成的空间结构

2)反射强度

2.数据挑战

1)不规则性

2)非结构性

3)不完整性

3.点云深度学习方法

PART1  -- 间接方法 

1)基于体素

2)基于投影(包括多视图)

PART2  -- 直接方法 

邻域搜索

边卷积(EdgeConv)公式

1)PointNet And PointNet++

2)基于图的方法


这篇博客是对点云深度学习方法的一个简单总结,之后会继续修改,欢迎指正。

参考博客:

基于点云的深度学习方法综述_视觉先锋的博客-优快云博客_点云深度学习方法【图卷积做点云分割】简述对AGNet的理解_YXLiu_XMYang_PCSS的博客-优快云博客_图卷积点云

1.数据特征

1)xyz位置坐标形成的空间结构

2)反射强度

按照强度的灰白颜色渲染:

2.数据挑战

1)不规则性

由于设备和使用方式等的不同,采集到的点云密度不相同,一个点云中的不同区域也不相同。

2)非结构性

点云不同于图像数据,图像数据按照栅格矩阵排列,是结构化的数值。而点云作为空间中离散的点,没有固定的结构用来计算,同时采集点云过程中可能产生一些随机的噪声点,必须通过某种手段去除这些噪点。

3)不完整性

由于物体遮挡,采集到的点云可能不完整。天气也会对点云产生影响,雨雾天气对lidar采集点云数据产生的影响较大。

3.点云深度学习方法

PART1  -- 间接方法 

将非结构化的点云通过某种方式变成结构化的数据,接着就可以使用传统图像领域积累的大量方法进行学习。

1)基于体素

首先对点云建立体素,以体素近似代表点云形成结构化的数据,然后对结构化的三维数据应用3D卷积,3D-GAN等常见的深度学习方法。

2)基于投影(包括多视图)

用投影的办法,将点云转化成栅格图片,由于点云是三维坐标,因此可以从多个视角投影到栅格,进而再使用2D图像上的方法进行学习和融合。

Multi-View Convolutional Neural Network(MVCNN):

PART2  -- 直接方法 

邻域搜索:

K近邻、半径搜索等

边卷积(EdgeConv)公式:

一种聚合节点信息的方法

:参数表示节点i和与节点i相连的节点j,不同方法中的参数有所不同

 :Θ表示c'*c维的矩阵(类似图像卷积的卷积核),参数X的节点特征维度为c,矩阵乘法Θ*X将使特征维度变为c'维,然后经过一个RELU激活的MLP(全连接层)

:聚合函数,可以是sum/avg/min/max 

 经过一次边卷积后,每个节点将融合与之连接点的信息,特征维度将变为a维。该公式可以   广泛表达下述方法。

1)PointNet And PointNet++

PointNet:

PointNet创造性的提出直接针对点云的深度学习方法。

对于PointNet,边卷积表示为 --

由于PointNet没有考虑邻域节点之间的联系,的参数只有Xi。

PointNet特征提取架构(每个节点单独经过共享参数的边卷积):

完整的PointNet架构:

PointNet++:

针对PointNet没有考虑领域节点的联系,改进并诞生了PointNet++。

对于PointNet++,边卷积表示为 --

考虑了领域节点信息的PointNet++,矩阵的concate,其中Xj代表邻域节点j,Xj-Xi代表节点i与邻域节点的相对距离。

PointNet++特征提取架构:

完整的PointNet++架构:

2)基于图的方法

点云可以连接边从而构成图论中的图,因此,基于图的方法有很大的优势,只要对点云连边建立一个图,就可以使用一般的图卷积神经网络方法。

DGCNN (Dynamic Graph CNN)

DGCNN采用K近邻搜索,建立Graph。特别的,搜索是在特征空间上进行的,在进行边卷积后,特征空间将变成公式中的c'维,在每一次边卷积后神经网络将动态搜索邻域建立Graph,使得神经网络拥有了更进一步的自我调整能力,这也是DGCNN名字的由来。

DGCNN的边卷积表示为 --

其中Xi代表节点i,Xj-Xi代表节点i与邻域节点的相对距离,采用了共享参数的MLP,将自己以及邻域的信息相加后再用一个最大池化层选择K条中的一条信息。

 为什么DGCNN使用K近邻搜索?

 因为MLP层共享的缘故,所以需要使图中每个节点的度数相同。

完整的DGCNN架构:

其它思考:

添加注意力机制,如可以将MaxPooling替换成注意力,也就是图卷积中的AG-Net

### 图像与点云数据在深度学习中的融合方法 #### 多模态特征提取 为了实现图像和点云的有效融合,在自动驾驶领域中,研究者们提出了多种多模态特征提取技术。一种常见的做法是在神经网络的不同层次上分别处理来自不同传感器的数据流[^1]。 #### 投影法转换点云至二维表示 针对点云难以直接应用于传统卷积神经网络的问题,有学者建议采用投影的方式将三维空间内的点映射到二维平面上形成栅格化图像。这种方法允许利用成熟的2D CNN架构来分析经过变换后的点云信息[^3]。 #### 鸟瞰图与前视图联合建模 具体应用实例方面,存在通过构建鸟瞰视角下的LIDAR点云以及正面视角摄像机捕捉的画面相结合来进行目标识别的工作。该方案能够充分利用两种感知手段的优势互补特性,从而提高障碍物探测精度[^2]。 ```python import torch.nn as nn class MultiModalFusionNet(nn.Module): def __init__(self, num_classes=80): super(MultiModalFusionNet, self).__init__() # 定义用于处理图像输入的CNN分支 self.image_branch = nn.Sequential( nn.Conv2d(3, 64, kernel_size=(7, 7), stride=(2, 2)), ... ) # 定义用于处理点云输入(已转化为BEV形式)的分支 self.point_cloud_branch = nn.Sequential( nn.Conv2d(1, 64, kernel_size=(3, 3), padding='same'), ... ) # 融合层设计 self.fusion_layer = nn.Linear(in_features=..., out_features=num_classes) def forward(self, image_input, pointcloud_bev_input): img_out = self.image_branch(image_input) pc_out = self.point_cloud_branch(pointcloud_bev_input) combined_output = ... # 实现具体的融合逻辑 final_result = self.fusion_layer(combined_output) return final_result ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值