3Tricks of CSL-YOLO
CSL-YOLO架构
3.1 Anchors约束
YOLO系列使用K-means和IoU距离函数对ground truth的高度和宽度进行聚类,然后将中心点作为anchor box。这些锚点由k个聚类生成,并根据其规模分配到FPN的输出层。当将输出层从3层扩展到5层时,k也从9层增加到15层。
如果使用上述方法,那么由于MS-COCO中有许多小目标,这些anchor大多是小规模的。high-level的输出层将被迫使用小规模的anchor。然而,众所周知,high-level的特征图不利于小目标的检测。因此,作者在K-means前加入上式这样的尺度限制,使得生成的anchor分布更符合各个输出层的尺度。作者在下表中进行了实验,可以看到原来的3个输出层扩展到5个输出层后出现了恶化。在添加了约束方法后,它对AP有了相当大的改进。
3.2 Non-Exponential预测
YOLO级数实际上预测了x, y, w, h的偏移量,如下:
其中和为模型预测的目标高度和宽度的偏移量,和为anchor的高度和宽度。虽然对数函数可以限制模型的预测范围,但指数函数的敏感性使宽度和高度相当不稳定。因此去掉了log函数,让模型直接预测偏移量。则上式可以修改为:
从下表可以明显看出,即使在不同的图像尺寸下,非指数预测也可以提高1~2%的AP。如图1所示,然后集成所有组件构建CSL-YOLO。在推理过程中,采用soft-nms技术对重叠框进行惩罚。
CSL-YOLO在416×416的输入尺度下,所提出的CSL-YOLO使用3.2M参数和1470 MFLOPs获得42.8%的AP50,而Tiny-YOLOv4使用6.1M参数和3450 MFLOPs获得40.2%的AP50。可以说,CSL-YOLO比先进的Tiny-YOLOv4占用更少的时间(FLOPs)和空间(参数),并能实现令人印象深刻的AP性能。此外,在224×224的输入尺度下,与最轻的YOLO-LITE相比,CSL-YOLO仍然在更低的FLOPs下获得更高的AP性能。
4参考
[1].CSL-YOLO: A New Lightweight Object Detection System for Edge Computing