PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation

在这里插入图片描述
直接提取点云的点特征,提取后使用maxpool得到全局特征,然后将点的特征与全局特征进行连接,然后再进行进一步处理。
其中,T-Net的结构这篇博文有介绍。

VoxelNet: End-to-End Learning for Point Cloud Based 3D Object Detection

  • 这篇文博客写的很不错。
  • 采用随机从体素中采样点以进一步提取体素特征,然后使用maxpool得到体素局部特征,使用局部特征与点特征连接,然后在进行进一步处理,最后再次使用maxpool得到体素特征。得到最终的特征后使用区域建议网络生成分类结果和预测框。
  • 该文章中的正负样本指的是
    • 负样本:预测框和所有的真实框iou都小于0.45
    • 正样本:预测框和某个真实框iou大于0.6

      对于预测框与真实框最大iou值大于等于0.45,小于等于0.6的定义为不关注样本,即不计算任何分类损失。

在这里插入图片描述其中, p i p o s ​ p^{pos}_i​ pipos p i n e g ​​ p^{neg}_i​​ pineg​​分别表示正样本 a i p o s a^{pos}_i aipos和负样本 a i n e g a^{neg}_i aineg的Softmax输出, u i , u i ∗ u_i,u^*_i ui,ui分别表示神经网络的正样本输出的标注框和真实标注框。损失函数的前两项表示对于正样本输出和负样本输出的分类损失(已经进行了正规化), 其中, L c l s L_{cls} Lcls表示交叉熵, α \alpha α β \beta β是两个常数,它们作为权重来平衡正负样本损失对于最后的损失函数的影响。 L r e g L_{reg} Lreg​表示回归损失,这里采用的是Smooth L1函数。

PointPillars: Fast Encoders for Object Detection from Point Clouds

该方法是在点云空间中长体素柱,将点云空间直接降维到二维。简单来说,如果点云的范围是限定为 [ x m i n , y m i n , z m i n , x m a x , y m a x , z m a x ] [x_{min},y_{min},z_{min},x_{max},y_{max},z_{max}] [xmin,ymin,zmin,xmax,ymax,zmax],那么在PointPillars中,使用的体素的高度为 z m a x − z m i n z_{max}-z_{min} zmaxzmin

需要注意的是PointPillars同样通过限制体素中点云的最小个数与体素的最大数目来对最终的体素数目进行限制。

具体网络结构可以参考这博文

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐