titile | FCOS: Fully Convolutional One-Stage Object Detection |
---|---|
url | https://arxiv.org/pdf/1904.01355.pdf |
动机 | anchor free 方法 |
内容 |
FCOS: 1、fully convolutional one-stage object detector。 2、像素级预测(与分割类似)。 3、anchor free,避免anchor框相关的复杂计算(IOU),降低计算内存占用。避免和anchor框相关的对检测性能非常敏感的超参数。 4、NMS后,FCOS比基于anchor的one-stage object detector出色,更加简单。 anchor方法缺点: 1、检测性能对anchor的尺寸、宽高比、数量十分敏感。RetinaNet中,调整超参数在COCO数据集上影响4%的AP。超参数需要细致调整。 2、anchor框的尺寸和宽高比固定,模型难以处理尺度变化大的目标,如很小的目标。预定义的anchor框妨碍模型的泛化能力,新检测任务需要不同尺寸和宽高比。 3、为了保证召回,anchor模型会密集放置anchor框(输入图像短边长度为800的FPN网络超过180k个anchor),大多数anchor训练时被认为负例,过多的负例使正负样本不平衡。 4、大量anchor框增加计算量和内存占用,尤其在iou阶段。 现有one-stage缺点: 1、YOLOv1:预测目标中心附近点上的bounding box,不使用anchor。接近中心的点会被使用,提高检测质量。但是召回率低。FCOS利用a ground truth bounding box所有点预测bounding box,差的bounding box会被”center-ness“分支抑制。可以达到和anchor based相近的召回率。 2、CornerNet:anchor free,通过检测bounding box的一对角点并且groups them得到检测框。group the pairs of corners belonging to the same instance过程十分复杂,需要额外学习一种距离度量。 3、UnitBox,基于DenseBox。这类模型难以处理重叠框,召回率低。 检测模型优势: 1、检测与其他FCNs任务(如语义分割)统一,便于复用。 2、降低参数量,避免anchor复杂的iou计算和匹配,降低两倍内存占用。 3、模型少量调整可立刻用于解决其他视觉任务。 4、one-stage sota性能,也可用做RPN网络,two-stage取得更好结果。 ![]() ![]() Fully Convolutional One-Stage Object Detector: 1、已知ground truth bounding boxes。 ![]() ![]() ![]() Network Outputs: 1、输出80D向量p作为分类标签(coco),4D向量t=(l,t,r,b)作为边界框坐标。 2、训练C个二值分类器,不是一个多类别分类器。 3、特征图后加4个卷积层分别是分类和回归分支。回归目标总是正的,用exp(x)对回归分支上(0,+inf)的所有实数做映射。 4、FCOS网络输出变量数比每个位置9个anchor的anchor based检测器要少9倍。 Loss Function: ![]() 1、choose the location with px,y > 0.05 as positive samples Multi-level Prediction with FPN for FCOS: 1、ambiguous sample是导致FCN based模型性能较差的一个原因,FPN一定程度解决这个问题。 2、五层特征图{P3,P4,P5,P6,P7}由主干CNN的特征图C3、C4、C5经过一个1x1卷积横向连接得到,P6、P7分别由P5、P6经过stride=2的卷积得到。分别对应stride 8,16,32,64,128。 3、不同于anchor based不同特征层分配不同尺寸anchor,FCOS直接限制bounding box回归范围。首先计算所有特征图上每个位置的回归目标l∗,t∗,r∗,b∗l ∗。如果某一像素位置满足max(l∗,t∗,r∗,b∗)>mi或max(l∗,t∗,r∗,b∗)<mi−1,会被设为负例,不会进行bounding box回归。mi是第i层特征图最大的回归距离。m2,m3,m4,m5,m6,m7为0,64,128,256,512,+inf。 4、不同尺寸目标分配不同特征层,大部分重叠发生在尺寸差异比较大的目标之间,所以多层级预测可以缓解二义性问题,提高FCN based检测器的性能,使之接近anchor based。 5、不同特征层共享head网络,可以 detector parameter-efficient,improving the detection performance。但是不同的特征层对应不同的回归尺寸范围(P3是[0,64],P4是[64,128]),因此没有理由使用完全相同的head网络作用在不同的特征层上。所以使用si 可学习的exp(six) 自动调节特征层Pi的指数函数,而不是standard exp(x),提升检测性能。 Center-ness for FCOS: 1、多层级预测,FCOS性能仍和anchor based有一定差距。是由于网络预测了很多低质量的、远离目标中心的bounding box。 2、提出一种简单高效策略抑制低质量bounding box,不引入额外的超参数。增加一个和分类分支并列的单层网络分支预测一个位置的“Center-ness”。给定某一位置的回归目标l∗,t∗,r∗,b∗l∗,Center-ness定义: ![]() 4、采用两个IOU阈值Tlow,Thige,center-ness可以看做一种soft threshold。训练中被学习,不需要调参。 ![]() |
实验 |
Training Details.: resnet50,SGD训练90K次,初始学习率0.01,batchsize=16,学习率在60K和80K次减小10倍,衰减系数1e-4,动量0.9。ImageNet预训练模型,RetinaNet中初始化方法初始化其他参数,输入图像短边固定在800,长边小于等于1333。 Ablation Study: Multi-level Prediction with FPN 1、Best Possible Recalls。 2、Ambiguous Samples。 3、Detection Performance。 ![]() ![]() ![]() ![]() ![]() ![]() |
思考 | overlap size相似的box 可能会漏检,因为相对小的gt box会被配对,但是相对大的box没有被回归到,因为size相似只会出现在同一个FPN层,不会在其他层再次出现,产生漏检 |
网友评论