R-FCN-3000算法详解
论文背景
论文全称:R-FCN-3000 at 30fps: Decoupling Detection and Classification
论文链接:https://arxiv.org/abs/1712.01802?context=cs.CV
论文日期:2017.12.5
本文提出了一个R-FCN-3000算法,针对多类别数据集的实时检测。每秒可以检测30张图片,可以检测3000类对象。 该算法将检测与分类解耦,为了获得检测分数,将目标分数与分类分数相乘。
该目标检测算法是对与R-FCN算法的优化,因为在R-FCN算法中,需要训练共享的position-sensitive filters,对于多类别的检测,训练卷积核会耗费大量的时间。
对于细粒度的分类器, position-sensitive filters是不必要的,R-FCN-3000在ImageNet数据集上可以达到34.9%mAP的准确率,YOLO-9000能每秒检测30张图片,但是只能达到18%的准确率。
==R-FCN-3000学习的对象可以泛化到新型对象上,并且表现会随着训练对象类别的增多而增强。==支持可以学习一个通用检测器的假说。
算法详情
由于CNN算法结构强大的特征学习能力,深度学习神经网络算法在目标检测领域表现优秀,尤其是在拥有十类样本的标准数据集上取得了很大进展,但是在真实案例中只有微小的进展,因为需要实时检测上千类样本。样本的数量太多, 之前的算法表现不佳。
YOLO-9000是一个基于对类别样本的检测算法,本文提出的R-FCN-3000与YOLO-9000比较,准确性有了18%mAP的提高。
本文提出了一个对于R-FCN算法的优化,全卷积检测器需要计算每一个类别的对象分数,能在有限的预算内表现出优秀的准确性。但是全卷积神经网络要求对于每一个类别的特殊过滤器集,从而阻止了将他们应用于多类的数据集。因为这会导致需要计算大量的过滤器,使得计算非常缓慢。
算法重点
目前的大尺寸检测算法都是以牺牲准确性为代价的,例如YOLO-9000。
目前的全卷积神经网络算法是需要计算每一个类别的分数。虽然对于大多数算法而言,准确率高且计算量小,但是不能共享卷积核,需要单独针对每一个类别训练大量的卷积核。 而针对3000类对象,需要训练大量的positive-special filters,会导致检测非常缓慢。
R-FCN-3000解耦目标检测与分类,定位的计算量不会随着类别的增多而增加。将相似的类别进行级联并且共享参数,
R-FCN-3000算法分为两部分,首先是固定