[Focal Loss] Retinanet

2023-12-23 00:32
文章标签 loss focal retinanet

本文主要是介绍[Focal Loss] Retinanet,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、解决的问题

        一阶段检测网络的性能瓶颈:dense detector场景下,前景-背景训练样本极度不平衡

2、Focal loss

        

    1)通过增加项,让网络更关注难的、容易误分的样本;减少大量easy negative的权重,使得他们对loss的贡献更小

    2)γ越大,容易样本的weight越小(γ = 0时,focal loss和CE loss相同);本文设置γ = 2

        

    3)α是稀有类别的权重,γ↑,α↓;本文设置α = 0.25

    4)形式不唯一,其他表达也可以获得相似的结果

    5)和sigmoid相结合可以有更好的数值稳定性

    6)α-balanced CE loss只平衡了正/负样本的重要性,而不是简单/困难样本

        

3、Retinanet

    1)结构

        a)backbone:FPN(只用ResNet的AP很低) P_3 - P_7P_6P_7通过stride=2的conv 3 x 3得到,而不是FPN的max pool

        b)分类subnetwork

            - 预测每个空间位置的A个anchor的K类概率(最后一个conv层有KA个卷积核)

            - 不同pyramid level共享参数

            - sigmoid activation

            - 与回归subnetwork不共享参数

            - 最后一个conv层初始化时,,从而使网络一开始预测的概率值为π,而不是0;否则一开始负样本占主导,概率倾向于0,正样本的loss值会非常大(对于正样本,loss是-log0)。本文π = 0.01,结果对该值的设置不敏感

        c)回归subnetwork

            - 预测每个空间位置的A个anchor和最近的GT框的offset(最后一个conv层有4A个卷积核)

            - class-agnostic,但equally effective

            - 与分类subnetwork不共享参数

            - inference时,用0.05阈值过滤anchor,取top-1k解码bbox回归结果

    2)anchor  

        - 正样本:IoU >= 0.5;负样本:IoU < 0.4

        - 每个anchor至多匹配到一个GT框

        - 对所有anchor计算loss,用正anchor数目normalize

这篇关于[Focal Loss] Retinanet的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/526070

相关文章

Face Recognition简记1-A Performance Comparison of Loss Functions for Deep Face Recognition

创新点 1.各种loss的比较 总结 很久没见到这么专业的比较了,好高兴。 好像印证了一句话,没有免费的午餐。。。。 ArcFace 和 Angular Margin Softmax是性能比较突出的

【读论文】MUTUAL-CHANNEL LOSS

论文题目:《The Devil is in the Channels: Mutual-Channel Loss for Fine-Grained Image Classification》 链接:https://arxiv.org/abs/2002.04264 来源:IEEE TIP2020 细粒度分类的主要思想是找出各个子类间的可区分特征,因此文章指出要尽早在通道上进行钻研,而不是从合并

[论文笔记]Circle Loss: A Unified Perspective of Pair Similarity Optimization

引言 为了理解CoSENT的loss,今天来读一下Circle Loss: A Unified Perspective of Pair Similarity Optimization。 为了简单,下文中以翻译的口吻记录,比如替换"作者"为"我们"。 这篇论文从对深度特征学习的成对相似度优化角度出发,旨在最大化同类之间的相似度 s p s_p s

SPP/SPPF/Focal Module

一、在图像的分类任务重,卷积神经网络(CNN)一般含有5层: 输入层卷积层激活层池化层全连接层 ·  全连接层通常要求输入为一维向量。在CNN中,卷积层和池化层的输出特征图会被展平(flatten)为一维向量,然后作为全连接层的输入。因此,全连接层对输入的尺寸有严格要求。 ·  第一个全连接层的输入维度必须与前一层展平后的特征向量的长度一致,这就要求前面的卷积和池化层的输出特征图尺寸必须经过

Focal Loss实现

一、序言         Focal Loss是分类常用到的损失函数,面试中也经常容易考,所以这里记录一下。 二、公式和代码         公式:         Focal Loss = -alpha*(1-pt)**gamma*log(pt)         其中alpha用来调节类别间的平衡,gamma用来平衡难例和简单例的平衡。         代码: import tor

pytorch Loss Functions

1. pytorch中loss函数使用方法示例 import torchimport torch.nn as nnimport torch.nn.functional as Ffrom torch.autograd import Variable# 定义网络时需要继承nn.Module并实现它的forward方法,将网络中具有可学习参数的层放在构造函数__init__中# 不具有可学习参

PyTorch训练中 Loss为负数,且不断减小

在To.Tensor()中会将图像归一化,但是对于一些数据不会归一化,看看标签和数据是否在一个范围内 Pytorch1.01中ToTensor解释 Convert a PIL Image or numpy.ndarray to tensor. Converts a PIL Image or numpy.ndarray (H x W x C) in the range [0, 255] to a

MAE、MSE、Huber loss详解

https://mp.weixin.qq.com/s/Xbi5iOh3xoBIK5kVmqbKYA

多任务学习MTL模型:多目标Loss优化策略

前言 之前的文章中多任务学习MTL模型:MMoE、PLE,介绍了针对多任务学习的几种模型,着重网络结构方面的优化,减缓task之间相关性低导致梯度冲突,模型效果差,以及task之间的“跷跷板”问题。 但其实多任务学习还存在另外一些棘手的问题: 1、不同task的loss量级不同,可能会出现loss较大的task主导的现象(loss较大的task,梯度也会较大,导致模型的优化方向很大程度上由该

Triplet-Loss原理及其实现、应用

本文个人博客地址: 点击查看欢迎下面留言交流 一、 Triplet loss 1、介绍 Triplet loss最初是在 FaceNet: A Unified Embedding for Face Recognition and Clustering 论文中提出的,可以学到较好的人脸的embedding为什么不适用 softmax函数呢,softmax最终的类别数是确定的,而Triplet