前文提到的YOLOv3、YOLOv4、YOLOv5都是基于Anchor的算法(anchor-based),这类算法有如下缺点:
因此出现了anchor-free这类不依赖于预定义锚框的算法,使得模型更灵活,并且在处理各种目标形状和大小时更具鲁棒性,在一些场景下取得了与传统锚框方法相媲美甚至更好的性能。
CenterNet 就是经典的 anchor-free 目标检测算法(CVPR 2019)
提示:以下是本篇文章正文内容,下面案例可供参考
ps:
- Hourglass Network(时钟网络)是一种用于姿态估计和目标检测的神经网络结构,最初由Alejandro Newell等人于2016年提出。它的名字来自于其整体网络结构的形状,看起来像一个沙漏或时钟的形状。
- Hourglass Network 的主要特点是通过堆叠多个相互连接的 Hourglass 模块,实现对不同尺度特征的提取和整合。Hourglass 模块本身是一个自我包含的网络结构,具有先下采样(down-sampling)然后上采样(up-sampling)的结构,以捕捉底层和高层特征。
ps:
- HeatMap:经过卷积模块,预测特征图中每个像素是否是目标的中心点
- OffSet:经过卷积模块,以特征图中每个像素为中心点,回归目标边界框中心点的偏移量
- Size:经过卷积模块,以特征图中每个像素为中心点,回归目标边界框的大小(宽度、高度)
ps:
- 首先,对HeatMap的通道做Argmax和max处理,得出分类的index和最高得分。根据得分置信度过滤掉低于阈值的物体中心(此时的过滤完的结果已经带有分类信息和物体中心位置的坐标了)。
- 将Offset的偏移量加到HeatMap中的物体中心坐标上,进行修正。
- 根据上面HeatMap的过滤结果,对置信度高于阈值的WidthHeight进行转换,xyhw -> x1y1x2y2,就得到预测框了。
最后将预测框结果进行归一化,方便后面预测框转换计算。
CenterNet是anchor-free中的一个里程碑之作。除了目标检测之外,CenterNet还能应用到其他视觉任务中,如人体关键点,姿态预测等。
模型简单而精巧的设计,使得CenterNet在运行速度和精度的平衡上取得了很好的结果。