VoxelNext
通用检测器 vs VoxelNext
![](https://i-blog.csdnimg.cn/blog_migrate/d633d1a7788af5ceeb9799f6a58b2e3e.png)
一、3D稀疏卷积模块
1.1、额外的两次下采样
使用通用的3D sparse conv,包含4个stage,每个stage穿插常规稀疏卷积和子流形稀疏卷积,得到的特征分别为F1、F2、F3、F4。
![](https://i-blog.csdnimg.cn/blog_migrate/5791071aeaa3c0047fb432aa0e4aa563.png)
![](https://i-blog.csdnimg.cn/blog_migrate/de9fd75f8f1b0e281c7a9c1046625f6e.png)
消融实验结果
![](https://i-blog.csdnimg.cn/blog_migrate/ce2367f594883ac249179c6d6e62ffa7.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9bbb54ded98032a0017ce2b28bbe73b2.png)
代码
![](https://i-blog.csdnimg.cn/blog_migrate/e8ba05d265c4964b7ef99c6a3c697cc3.png)
1.2、稀疏体素删减
在backbone的第2个stage开头会有一个下采样,Voxelnext在下采样的时候计算体素的重要性,根据比例删掉不重要的体素。
![](https://i-blog.csdnimg.cn/blog_migrate/a6fa5db3cd0ede2d1ec62c199695c052.png)
![](https://i-blog.csdnimg.cn/blog_migrate/31f5a8204132324b7d6c4f98258d0b18.png)
消融实验:
![](https://i-blog.csdnimg.cn/blog_migrate/703e06a3567c7c0d143de3a93f916f44.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e5a5fba61a7105bb580a87f7d04f3e26.png)
代码
![](https://i-blog.csdnimg.cn/blog_migrate/e5a082179675d9d65b8e667823b90024.png)
二、稀疏体素高度压缩
进入检测head前,直接将F4、F5、F6体素压缩合并。
![](https://i-blog.csdnimg.cn/blog_migrate/95cf5bd06d1443826b482b99e9f4ac5c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/31c9e5d6646d651f4d96e7b2691ab078.png)
![](https://i-blog.csdnimg.cn/blog_migrate/04f90c34b7dc0b786bb22b02a27256fe.png)
代码
![](https://i-blog.csdnimg.cn/blog_migrate/c547d1941dac755b549c8d85276236e8.png)
三、稀疏预测head
与常规的3D目标检测head不同,Voxelnext直接使用稀疏的体素进行预测,训练的时候,靠近GT中心点的体素作为正样本,使用focal loss监督,可视化和统计发现,用来预测box的voxel不一定在box中心点,如下图
![](https://i-blog.csdnimg.cn/blog_migrate/f5afcfdc4d8e7bf8ffd0461881b654d6.png)
![](https://i-blog.csdnimg.cn/blog_migrate/362b15adb2fe6e62a6739cb2ebfae55d.png)
推理时使用sparse max pooling 代替NMS,具体过程是先对稀疏的Voxel预测一个score,再使用稀疏卷积的操作做max pooling,只保留max pool kernel里得分最高的voxel。
![](https://i-blog.csdnimg.cn/blog_migrate/509b0a849d9c3c4f07f1bf1ef3661bb6.png)
![](https://i-blog.csdnimg.cn/blog_migrate/2bc5b5bc9e606bc1c0e5a72a3c250798.png)