Deeeplearning模型-ObjectDetection-SSD
条评论SSD是一种One Stage的检测模型,相比于R-CNN系列模型上要简单许多。其精度与Faster R-CNN相匹敌,而速度达到59FPS,速度上超过Faster R-CNN。
论文:SSD: Single Shot MultiBox Detector
论文想解决什么问题
SSD针对的是一个当时很现实的矛盾:两阶段检测器精度高,但速度慢;已有一阶段方法虽然快,但精度还不够强。
这篇论文的目标,就是尽量保留单阶段检测的速度优势,同时把精度拉到能和Faster R-CNN竞争的水平。
核心创新
- 使用default boxes,在每个位置预设多种尺度和宽高比的候选框。
- 在不同分辨率的特征图上同时做预测,自然处理多尺度目标。
- 彻底去掉proposal生成阶段,把所有检测计算都放进单个网络里完成。
结构理解
SSD可以理解成“在多层特征图上同时密集地预测目标”。浅层特征图更适合看小目标,深层特征图更适合看大目标,因此它通过多尺度特征输出,把不同尺度目标分摊到不同层上处理。
这也是SSD相比更早单阶段方法的重要进步。
实验结果怎么看
论文报告了 300×300 输入下VOC2007上72.1% mAP、58 FPS,以及 500×500 输入下75.1% mAP 的结果。这个结果说明,单阶段检测器不一定只能换速度不要精度,设计合理的话也可以达到很强的综合表现。
简单理解与局限
我对SSD的理解是,它是现代单阶段检测器真正成熟起来的重要一步。
它的局限主要在于对小目标仍然不够友好,后续很多方法都在特征金字塔、样本分配和损失函数上继续优化,但SSD奠定了“多尺度特征图直接预测”的基础思路。