①:使用到的损失函数是NLLLoss,英文的全名叫做:Negative Log Likelihood Loss,翻译过来的意思就是:Log似然代价函数。这个损失函数的具体讲解可以去看一下吴恩达的视频。在pytorch中对于这个损失函数的具体讲解在torch.nn.NLLLoss(),官方提供了两种定义方式第一种是: ...
T-Net-1输出为3×3的变换矩阵,用于对输入(xyz)进行变换。T-Net-2输出为64×64的矩阵,用于对特征空间对 齐,但是需要注意的是,由于特征空间维度比较高,因此直接生成的alignment matrix会维度特别大,不好优化, 因此这里需要加个loss约束一下,也就是上面的Lreg.使得特征空间的变换矩阵A尽可能接近正交矩阵.通过增加...
4)分割部分:局部和全局信息组合结构(concate,语义分割)5)分类loss:交叉熵,分割loss:分类+分割+L2(...
Pointnet的解决方法是学习一个变换矩阵 T T T,即 T − N e t T-Net T−Net结构。由于loss的约束,使得 T T T矩阵训练会学习到最有利于最终分类的变换,如把点云旋转到正面。论文的架构中,分别在输入数据后和第一层特征中使用了 T T T矩阵,大小为3x3和64x64。其中第二个T矩阵由于参数过多,考虑添加...
即特征提取层只是把每个点连接起来而已。经过两个空间变换网络和两个mlp之后,对每一个点提取1024维特征,经过maxpool变成1x1024的全局特征。再经过一个mlp(代码中运用全连接)得到k个score。分类网络最后接的loss是softmax。 网络特点 针对无序输入的对称函数...
get_model定义了网络结构,get_loss定义了损耗。 网络结构 按照网络流程,将整个网络分为以下几个阶段。 网络输入:[B,N,3,1]。 1. Input Transform Net与原始输入相乘 2.特征提取 这部分使用的都是2d-conv。 首先用[1,3]的卷积核将点云的宽卷成1,使用64个卷积核,得到输出维度[B,N,1,64]。再接一个[...
模型的loss和2D的目标检测一样是包含分类以及回归的多任务loss。同时,作者提出了一种被称为corner loss的损失函数来对目标的中心、朝向和大小进行联合优化,避免由于某一方面的不准确而主导loss。 4目标检测效果 因为目前我们主要考虑点云的目标检测问题,在此忽略PointNet和PointNet++论文中提出的分类和语义分割的效果,只...
5)分类loss:交叉熵,分割loss:分类+分割+L2(transform,原图的正交变换) 1.3 T-Net网络结构 将输入的点云数据作为nx3x1单通道图像,接三次卷积和一次池化后,再reshape为1024个节点,然后接两层全连接,网络除最后一层外都使用了ReLU激活函数和批标准化。
Pointnet的解决方法是学习一个变换矩阵T,即T-Net结构。由于loss的约束,使得T矩阵训练会学习到最有利于最终分类的变换,如把点云旋转到正面。论文的架构中,分别在输入数据后和第一层特征中使用了T矩阵,大小为3x3和64x64。其中第二个T矩阵由于参数过多,考虑添加正则项,使其接近于正交矩阵,减少点云的信息丢失。
优化技术主要包含损失函数(loss function),优化器(optimizer),学习率计划器(learning rate schedulers),和超参数(hyperparmeters)。随着机器学习理论的发展,现代化的神经网络可以被理论上更好的优化器(如AdamW)和更好的损失函数(CrossEntropy with label smoothing)训练。Cosine learning rate decay也在近年被大量使用,...