0 摘要
在大家的千呼万唤中,MMDetection 支持 CenterNet 了!!
CenterNet 全称为 Objects as Points,因其极其简单优雅的设计、任务扩展性强、高速的推理速度、有竞争力的精度以及无需 NMS 后处理等优点,受到了用户广泛的关注,从官方仓库 xingyizhou/CenterNet 的 5.5k star 可见其受欢迎程度。既然叫做 CenterNet,那么其最大亮点就是提出了一种强任务扩展的框架,可以将大部分任务都归纳为预测中心+基于中心点的偏移属性,例如目标检测是中心点+基于中心点的宽高属性偏移;关键点检测是中心点+基于中心点的人体关键点偏移预测等等。
除了上述所提通用做法,其还是一个速度和精度平衡,anchor-free 算法,由于其简单的设计思想、无需NMS、无需复杂的FPN结构、超参少的特点,在很多对速度有要求或者比赛中都有采用,也比较容易部署,应用非常广泛的。
项目地址:github.com/open-mmlab/mmdetection,欢迎 star~
1 算法核心实现
由于 CenterNet 比较出名,而且大部分源码都是基于 CornerNet,故本文不进行详细分析。对于目标检测而言,其输出主要包括两条分支,一个是中心点 heatmap 回归分支;一个是基于中心点的宽高属性预测分支,为了提高中心点的预测精度,还引入了额外的 offset 回归分支,回归用于量化误差导致的中心点偏移,heatmap 和 offset 回归的做法参考自 CornerNet。
由于 MMDetection 中已经实现了 CornerNet,为了方便代码复用,在 CenterNet 复现中大量复用了相关代码,例如数据增强、后处理等等。
1.1 Backbone
考虑到 Hourglass-104 和 ResNet-101 等大模型的训练时间以及 DLANet 网络的复杂性,我们优先考虑采用 ResNet-18 作为复现的 base 模型(DLANet 由于结构的复杂性以及代码易读性,我们计划单独提一个新的 PR 进行复现,后续会发布),其配置为: