基于PointECA 网络的无序工件点云分割算法

2024-01-31 07:04梁艳阳周集华叶达游石峰黄子健孙伟霖王琼瑶曹梓涵何春燕
机床与液压 2024年1期
关键词:特征提取尺度注意力

梁艳阳,周集华,叶达游,石峰,黄子健,孙伟霖,王琼瑶,曹梓涵,何春燕

(五邑大学智能制造学部,广东江门 529020)

0 前言

三维点云数据是一种能够描述最原始物体的数据形式[1],包含基本的位置坐标、颜色信息、法向量以及亮度信息等,能够为计算机视觉任务提供比二维图像更加丰富的信息[2]。在自动化生产线上,无序工件的高质量分割能够更好地提高生产效率。工件的无序摆放以及结构光相机采集点云的角度局限性问题,导致采集点云数据时产生不同程度的遮挡,给基于视觉引导的工件位姿估计和抓取带来较大的挑战[3]。对于深度学习点云处理算法,主要有基于体素、点和注意力机制3 种方式。

基于体素的方法,将无序、不规则的点云数据以大小固定的立方块作为空间像素点来表示,将三维点云体素网格化[4]。经过体素网络后可直接应用在3D卷积上进行特征学习[5],在传统的点云处理方法中,采用基于八叉树的OctNet 方法对三维数据进行处理[6]。ZHOU、TUZEL[7]提出VoxelNet,该网络是基于体素网格,在特征学习层将点云划分为等间隔的3D体素,接着进行随机降采样,并通过新引入的体素特征编码(Voxel Feature Encoding,VFE)层将每个体素内的一组点转换为单一特征表示。

基于点的方法,将点云的原始数据直接应用于网络中,如QI 等[8-9]提出PointNet、PointNet++网络结构,一种端到端的深度神经网络,基于多尺度特征提取。该方法能够较好融合局部和全局特征信息,节省空间内存和计算性能,但忽略了点与点之间的结构信息和位置关系。WU 等[10]提出一种新颖的高效计算权重函数的方法Pointon,把卷积核视为一个作用在局部三维点坐标系上。该方法可应用于点云搭建深度卷积网络,由权重和密度函数组成的非线性函数,解决最远点采样中非均匀采样带来的特征信息丢失的问题。

基于Transformer and self-attention 的方法,GUO等[11]提出PCT 网络,将原始的位置编码与输入嵌入到一个基于坐标的嵌入模块中,通过自注意力机制对嵌入的点云特征权重进行学习。ZHAO 等[12]提出Point Transformer 网络结构,在点云转换层的基础上,构建了高性能的点云转化网络,并完全基于自注意力和逐点操作。

以上方法虽能实现点云的分割任务,但是存在丢失局部特征信息或者产生较大的空间复杂度问题。受PointNet++、二维图像注意力机制SE_block 模块[13]的启发,提出了PointECA 深度学习网络。特征提取模块结合多尺度特征融合方法和自适应性通道维度注意力模块,得到更为丰富的全局特征信息,更好地实现工件部件分割。本文作者所做的工作有以下几点:

(1)提出了PointECA 网络,基于Multi-Scale Grouping(MSG)特征提取层结合自适应性通道维度自注意力进行点云特征提取,该特征学习方法适用于无序、离散且有遮挡的场景。

(2)采用结构光相机对实际场景下的工件点云数据进行采集和数据标注,制作数据集Workpieces,该数据集的格式与ShapeNet 数据格式一致,用于工件部件语义分割。

(3)在Workpieces 数据集下进行了大量的实验,验证了文中方法的有效性。实验结果显示:该算法能够更好地提高点云的特征学习能力,进一步提高部件语义分割性能。

1 PointECA 网络模型构建

网络包含以下几个步骤,首先对数据进行降采样,并采用多尺度局部特征提取与自适应性通道注意力机制融合方法进行特征提取,得到丰富的特征语义信息。接着网络采用跳跃连接方式,对全局特征图进行传播。最后对上采样后的特征图进行预测实现语义分割。算法流程如图1 所示。

图1 算法流程Fig.1 Flowchart of the algorithm

1.1 多尺度特征通道注意力模块

特征提取层分为两个部分进行处理:(1)基于PointNet++的多尺度提取方法,采样分组后进行逐点特征提取;(2)插入自适应通道维度注意力。首先采用最远距离采样法进行降采样,再采用多尺度(半径)球形邻域搜索方法进行采样分组。每个尺度设置不同的采样数量,将其分为n个不同且有交集的点云簇,能够扩大局部点云特征的感受野。

在单个尺度操作时,如将输入的(B,6,1 024)特征图采样分组为(B,6,64,512),由1 024 转为64 个包含512 个点云的点云簇。接着对点云簇采用多层感知机(MLP)共享权重的方式对每个点云簇进行逐点卷积[14],提取点云的特征信息。同时提高了每个点的通道特征维度,将特征图的尺寸由(B,6,64,512)提升至(B,64,64,512)。

将以上所得的特征图作为输入,使用自适应性通道注意力来交互各个通道之间的结构依赖关系,对通道重要的特征信息进行加权计算同时抑制不重要或者有噪点的通道特征。该通道注意力由通道压缩编码和通道学习模块[15]组成,压缩模块由自适应性池化函数实现(如公式(1)所示),对输入的空间特征图(B,64,64,512)进行压缩提取,得到空间表征的聚合信息(B,64,1,1)。

式中:uC、uC(i,j)、uC(K,N)分别表示第C通道的特征图;K×N、uC(i,j)为每一个通道上的每个点以及每一个通道的点云簇。

对于通道学习模块,由一维卷积核来实现通道权重的计算,其中卷积核的大小K由公式(2)进行自适应计算。

式中:C为通道维度;γ、b分别设置为2 和1,用于设置通道数与卷积核大小之间的比例;表示对K取奇数。

最后将输出的特征信息与输入的特征图进行乘积,实现对升维后的特征通道进行加权,并且特征图尺寸保持不变,如公式(3)所示:

其中:UC为该模块输入的特征图。

最后,采用最大池化聚合空间特征信息[16]。以上完成了单个尺度的局部特征提取,在通道维度上具有丰富的关键语义信息以及位置结构关系。对于每一层多尺度注意力特征提取网络,如图2 所示,将点云特征图划分3 个不同尺度进行采样,得到3 个不同感受野的点云簇。经过特征提取后,将3 个尺度特征图进行融合,得到该层的特征信息P1。

图2 多尺度分割网络Fig.2 Multiscale segmentation network

1.2 部件分割

部件分割模块将工件点云分割为手柄和本体两部分,通过逆向插值和跳跃网络(Skip Connection)对特征图进行上采样。在特征传播时,首先通过跳跃网络(如图1 所示),计算对应的特征提取层中输入的空间坐标l3与其降采样的坐标l4的反距离权重。接着通过反距离权重与对应特征图p4加权求和来提升坐标信息维度。归一化每个点的权重,并通过查找最邻近k值方法(k=3)进行加权得到特征图,如公式(4)—(5)所示。插值后的特征图与对应层输入特征图p3进行拼接实现上采样。

其中:f(j)(x)为插值后的特征信息;d(x,xi)2为采样点之间的距离;C为特征通道维度。

最后一层采样层中使用one-hot 编码类别张量(B,4,N),将其与原始输入的点云空间坐标特征l0、p0进行拼接,作为跳跃网络的输入。最终上采样层将点由[B,1 024,1]提升至[B,128,2 048]。最后,采用log_softmax 函数[如公式(6)所示],对每个点的特征进行分类打分,实现部件分割。

2 实验与分析

2.1 数据集制作

使用CloudCompare 软件制作数据集,通过结构光相机采集4 类工件(圆柱、圆锥、齿轮和六棱柱)的点云数据,样本数量分别为796、661、739、872。由于结构光相机与工件存在一定的角度,且工件是无序摆放的,因此在采集点云数据时会造成不同程度的遮挡,导致所得的点云数据会有不同程度的损失,如图3 所示。

图3 实验场景点云图像Fig.3 Cloud images of the experimental field of view:(a)image acquisition by structured light camera;(b)cloud map of the site;(c)point cloud map after pre-processing

此外,对标注好的点云数据进行归一化以及中心化处理,并且打乱各类数据后按照7 ∶3 的比例,将数据集分划分为2 153、915 个样本分别用于训练和测试。

2.2 模型训练

实验基于PyTorch 平台,在Tesla V100 上进行训练。所测试的模型均使用Adam 优化器对网络参数进行优化,初始学习率为0.001,训练的批大小为128。所设置的动量和权重衰减分别为0.9、0.000 1 用于调整学习率,并使用交叉熵损失函数[17]来计算其损失值。此外,对每个点云样本进行降采样,N=2 048。对于分割任务,模型的评估指标有每个类的平均交并比(Mean Intersection over Union,MIoU),如公式(7)所示:

其中:pii为预测值与真实值相同的点。

采用不同算法对工件数据集进行实验测试,其结果如表1 所示,平均MIoU 为4 种工件MIoU 的平均值,其他为每类工件各自的MIoU。最后使用PointECA 算法进行测试,并将每种工件的部分代表性预测结果进行可视化,如图4 所示。

表1 几种不同算法在Workpieces 数据集下的IoU 和网络大小Tab.1 IoU and network size of several different algorithms with Workpieces dataset

图4 4 种工件分别在3 种不同位置和视角下的点云部件真实分割图与PointECA 预测结果Fig.4 True segmentations of point cloud parts with PointECA prediction for each of the four types of workpieces at three different positions and views:(a)conical workpiece;(b)cylindrical workpiece;(c)gear workpiece;(d)hexagonal workpiece

2.3 结果分析

由图4 可得,在复杂场景下,无序工件点云数据有不同程度的缺损。分割的难点主要在于工件衔接处分布不均、离散的点,导致算法可能会误判断少量的点。通过对通道加注意力多尺度融合后,获取丰富局部特征的上、下位置结构信息,进一步提高部件分割能力。由表1 可得,PointECA 算法相对其他几个较好的算法,MIoU 提升了1.67%,虽然其占用的空间内存与PointNet++相比大5 MB,但综合模型计算时间以及准确率,PointECA 网络整体上提高了分割的性能,能够更好地应用在工业环境中。

3 总结

为了解决无序工件点云的部分分割在工业场景中效果不佳的问题,提出一种基于点云的多尺度通道维度注意力框架PointECA,在提升点云通道特征维度的同时,学习通道间的依赖关系,通过多尺度局部特征融合来增强局部和全局表征信息,进一步提高网络的特征提取能力。此外,制作无序的工件点云数据集用于训练和测试。实验结果表明:PointECA 网络能够更好地提取局部离散的点云上、下结构信息,进而提高无序工件的点云部件分割能力,相比较其他的较好点云分割网络提高了1.67%,并且对有缺损的点云仍有较好的分割效果。

猜你喜欢
特征提取尺度注意力
让注意力“飞”回来
财产的五大尺度和五重应对
基于Daubechies(dbN)的飞行器音频特征提取
“扬眼”APP:让注意力“变现”
Bagging RCSP脑电特征提取算法
A Beautiful Way Of Looking At Things
宇宙的尺度
基于MED和循环域解调的多故障特征提取
9
Walsh变换在滚动轴承早期故障特征提取中的应用