通用检测vs VoxelNext

一、3D稀疏卷积模块

1.1、额外两次采样

使用通用的3D sparse conv包含4个stage每个stage穿插常规稀疏卷积和子流形稀疏卷积,得到的特征分别为F1、F2、F3、F4。

VoxelNextbackbone在原有的基础上再增加两次下采样,分别得到F5,F6,目的是增大感受野

消融实验结果

实验结果来看,直接使用原始的4stage结构检测头后精度下降8.9,多加两次下采样后精度提升9.5。且从可视化效果来看额外的下采样使感受野确实增大了。

代码

1.2、稀疏体素删减

backbone的第2个stage开头会有一个采样,Voxelnext在下采样的时候计算体素的重要性,根据比例删掉不重要的体素。

重要性判断公式:直接计算体素所有通道特征均值然后经过一个sigmoid输出sorce作为重要程度。

消融实验

三次采样使用删减策略,且删减比例为0.5.

代码

DynamicFocalPruningDownsample实现pruning_block.py中。

二、稀疏体素高度压缩

进入检测head前,直接将F4、F5、F6体素压缩合并

计算公式

代码

三、稀疏预测head

与常规的3D目标检测head不同,Voxelnext直接使用稀疏的体素进行预测训练的时候,靠近GT中心点的体素作为正样本,使用focal loss监督可视化统计发现用来预测boxvoxel不一定在box中心点,如下图

统计发现有72.8%的boxquery voxel都不在中心点。

推理时使用sparse max pooling 代替NMS,具体过程是先对稀疏的Voxel预测一个score,再使用稀疏卷积操作max pooling,只保留max pool kernel里得分最高的voxel。

原文地址:https://blog.csdn.net/u014311125/article/details/134591963

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_20632.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注