通用检测器 vs VoxelNext
一、3D稀疏卷积模块
1.1、额外的两次下采样
使用通用的3D sparse conv,包含4个stage,每个stage穿插常规稀疏卷积和子流形稀疏卷积,得到的特征分别为F1、F2、F3、F4。
VoxelNext的backbone在原有的基础上再增加两次下采样,分别得到F5,F6,目的是增大感受野
消融实验结果
从实验结果来看,直接使用原始的4stage结构接检测头后精度下降8.9,多加两次下采样后精度提升9.5。且从可视化效果来看额外的下采样使感受野确实增大了。
代码
1.2、稀疏体素删减
在backbone的第2个stage开头会有一个下采样,Voxelnext在下采样的时候计算体素的重要性,根据比例删掉不重要的体素。
重要性判断公式:直接计算体素所有通道特征的均值,然后经过一个sigmoid,输出的sorce作为重要程度。
消融实验:
代码
DynamicFocalPruningDownsample实现在pruning_block.py中。
二、稀疏体素高度压缩
代码
三、稀疏预测head
与常规的3D目标检测head不同,Voxelnext直接使用稀疏的体素进行预测,训练的时候,靠近GT中心点的体素作为正样本,使用focal loss监督,可视化和统计发现,用来预测box的voxel不一定在box中心点,如下图
统计发现有72.8%的box的query 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进行投诉反馈,一经查实,立即删除!