论文题目:HVNet: Hybrid Voxel Network for LiDAR Based 3D Object Detection
Deeproute出品,公司出品的文章,还是挺扎实的,trick比较多,可以学习的地方不少。我还是按我自己的思考把这篇文章记录一下。
文章达到了很高的ap,然而拿他和其他的3d目标检测网络进行对比还是有些欺负人了,毕竟这篇文章设计多个detection head。
论文主体框架如下:
文章主要是对于不同分辨率的voxel进行特征融合,对于大小目标能有一个更强的检测效果。文章主要分为两个部分的工作:point-wise的特征的提取及multi-scale的特征融合用作detector。
- point-wise的特征的提取
主要做法是划分若干个尺寸的voxel,每个尺寸的voxel图中首先对于不同格子中的点云进行编码,pointnet提取特征,attention knowledge提取。
attention knowledge提取文中给出了公式:
可以看出实际上每个点划分为两个部分concat而成的一个vector。一个部分是所有在voxel内的点的平均,另一个部分是中心化坐标的该点。
每个点由pointnet编码输出与attention knowledge相同维度的特征。
随后对于得到的特征与attention knowledge进行相乘,voxel维度max操作随后与每个点进行concat拼接。这就是AVFE操作,输出的是point-wise的编码后的特征。对于不同voxel输出的point进行拼接,我们便得到进行完point feature提取后的点的特征。
AVFEO则是上面所说的max操作后的feature,直接作为每个voxel的特征输出。
- multi-scale的特征融合用作detector
这里作者提出了一种新的FPN——FFPN,主要起来就是所有的不管是不是同样scale的特征揉捏到一块,然后conv到每个不同的scale来检测不同尺寸的东西。
也没啥好说的
我的思考
与pvrcnn的对比:
1.单个点特征的提取采用了多个scale的voxel的点来进行拼接,有点类似于pvrcnn中的操作,对于不同特征图的特征进行一个拼接,当然少了原始feature的部分,然而他们之间又有些不同:首先hvnet的点的操作引入了attention的操作,而pvrcnn主要是进行3d卷积来增加点特征的感受野。attention操作主要是针对于该voxel内的点的特征,而3d卷积则是卷积核里的所有的点。因此实际上3d卷积得到的感受野要更大一些。同时pvrcnn中海油pkw,使得属于前景的点权重更大一些,而hvnet中的操作主要是对于不同scale的点进行的拼接。
2.对于不同scale的image,作者引入的ffpn层是一个挺不错的层结构,每个image点上的值实际上是max操作得到的,而这个值又有点类似pvrcnn选择出来的representive point。最后输出不同的feature map预测不同尺寸的物体也可以看做是一个更加深的ssd结构。
3.二者实质上还是有所不同,一个是二阶段的网络,一个是单阶段的网络。那么考虑将hvnet改为二阶段可不可行呢?
我觉得可以从这几个方面来进行该:加权重层,计算loss求哪一层来检测哪个物体 加入原始点的信息