文章目录
2021年看到两篇用Teacher-Student Network在3D目标检测的文章,一篇是AAAI 2021 3DIoUMatch做半监督的,另一篇是CVPR 2021 SE-SSD,效果在KITTI上非常好。
我个人对teacher-student network只有一个粗浅的理解,teacher-student network常用在模型压缩(知识蒸馏)和半监督的任务中。
对于知识蒸馏,teacher模型是一个大模型,student是一个小模型,student去学习teacher的输出,尽量使得student的输出与teacher一样。直观的想法是,用一个小模型去学习一个大模型,固然可以做到模型压缩,但为什么不直接用label去学呢?解释为,数据集给出的label是one-hot的,信息熵小。而大模型给出的则是每个类别的概率分布,可以给出类别之间关联信息。例如一张图片,label就是马,而大模型给出的是0.9是马,0.09是驴,0.01是狗这样。这样,就希望小模型能够学到大模型中储存的数据的内在关联。
对于半监督学习任务,teacher模型做的弱数据增广,student模型做强数据增广,从而提升让teacher模型给出准确的label,student学到更多的泛化性能。具体可见这篇知乎:
https://zhuanlan.zhihu.com/p/99513085?from=groupmessage
无论是什么任务,都比较重要的一个问题是,teacher哪些的prediction的是可靠的,是可以让student网络来学。
3DIoUMatch: Leveraging IoU Prediction for Semi-Supervised 3D Object Detection
本文做半监督学习。
文中写出的contribution如下3条:
- 提出了一个新的半监督的3D目标检测方法
- 最先使用了3D IoU作为定位可信度来做伪label的filtering,并且提出了IoU-guided Lower-Half Suppression用来做重复数据删除
- 在室内室外数据集均取得了很好的效果
teacher和student网络用同样的网络,student进行权重更新,然后用EMA的方式传递给teacher。
本文宣称的一个贡献是做伪label的filtering和Deduplication,那就看看文中是如何做的。
Pseudo-Label Filtering and Deduplication
teacher和student都是基于VoteNet,会预测objectness和class的score。本文又将VoteNet扩展了一个分支,预测3D IoU。
Filtering:对于teacher的预测框,objectness,class,3D IoU的预测值都要达到一定的阈值以上,才保留这个框。
Decuplication:不用NMS去消除冗余的teacher预测框,因为teacher的预测框可能也不准,消除多了,反而消除了这种潜在的概率分布。本文提出,直接丢掉一半的预测的IoU分数低的框。
Selective Supervision using Pseudo-Labels
有了伪label,那做什么监督呢?文中提出,不对objectness和vote loss做监督,只对class和box做监督。objectness是因为,如果teacher漏了框,那在student中,监督就要给成negative,则就会出现问题。
总结
效果感觉也挺好,但实际用处到底大不大,还需要在更大的数据集做验证。创新性,感觉也一般。
SE-SSD: Self-Ensembling Single-Stage Object Detector From Point Cloud
本文就是做3D目标检测。
Motivation
- 通过更多样的数据增广,可以使得student探索更多的数据分布
- 通过soft label(teacher的预测label)和hard label(人工标注的label)对联合优化网络
Consistency Loss
对于teacher和student的输出,先扔掉置信度低于一定阈值的prediction。然后对所有的teacher和student的的预测pairs计算3D IoU,再扔掉IoU低于一定阈值的pairs。这样就可以保留那些,本身预测分数高,而且都出现再teacher和student中的prediction。然后对于student的每个保留下来的prediction,选取其3D IoU最高的box作为监督。对于classification和box regression,因为teacher和student的prediction的预测很接近,为了使得每个维度都能接受同等程度的监督,就都用smooth-L1 loss,不用IoU loss。
Orientation-Aware Distance-IoU Loss
那对于哪些没有匹配上的student的预测,使用hard target做监督。为了使得最终prediction与target的IoU尽可能大,所以选择使用IoU loss,耦合box的所有参数。本文提出了基于DIoU loss的改进版本,加入了角度信息:
但我认为,与其说再DIoU中耦合进了角度信息,不如说提出了一种新的角度信息的loss计算,因为其实角度信息也可以单拆出来,作为
L
o
s
s
o
r
i
Loss_{ori}
Lossori存在。
Shape-Aware Data Augmentation
3D object detection是用部分信息预测整体信息的一个任务,对于车辆,点云不可能扫到所有的面。随着物体的角度,距离,遮挡的变化,点云变化多样。
本文提出了新的data aug方法。将物体分为六个部分,每个部分本别做aug,可以用来增广物体各种情况的外观:
提出新的aug是加在了student上,因为student是要用强增广的。
讨论
我个人认为本文teacher-student的网络结构也带有难例挖掘的特性,就是teacher能给出的prediction,就不要求student网络能够与hard target一摸一样,能够给出与teacher类似的即可,对于teacher不能给出的prediction,要求student学习向hard target靠拢。